diff --git a/server/public/admin/assets/403-BCGBomSP.js b/server/public/admin/assets/403-CJj3mWci.js similarity index 75% rename from server/public/admin/assets/403-BCGBomSP.js rename to server/public/admin/assets/403-CJj3mWci.js index f0149f67..4237cc74 100644 --- a/server/public/admin/assets/403-BCGBomSP.js +++ b/server/public/admin/assets/403-CJj3mWci.js @@ -1 +1 @@ -import t from"./error-Bgj-pwO8.js";import{o,q as r,r as a,v as n,D as c,s}from"./.pnpm-9dA1PEvN.js";import"./index-CJvXnF8Y.js";const p="/admin/assets/no_perms-jDxcYpYC.png",i={class:"error404"},x=o({__name:"403",setup(m){return(_,e)=>(r(),a("div",i,[n(t,{code:"403",title:"您的账号权限不足,请联系管理员添加权限!","show-btn":!1},{content:c(()=>[...e[0]||(e[0]=[s("div",{class:"flex justify-center"},[s("img",{class:"w-[150px] h-[150px]",src:p,alt:""})],-1)])]),_:1})]))}});export{x as default}; +import t from"./error-Pzo5SbGa.js";import{o,q as r,r as a,v as n,D as c,s}from"./.pnpm-9dA1PEvN.js";import"./index-BWzN7QIb.js";const p="/admin/assets/no_perms-jDxcYpYC.png",i={class:"error404"},x=o({__name:"403",setup(m){return(_,e)=>(r(),a("div",i,[n(t,{code:"403",title:"您的账号权限不足,请联系管理员添加权限!","show-btn":!1},{content:c(()=>[...e[0]||(e[0]=[s("div",{class:"flex justify-center"},[s("img",{class:"w-[150px] h-[150px]",src:p,alt:""})],-1)])]),_:1})]))}});export{x as default}; diff --git a/server/public/admin/assets/404-Bi9C-pO1.js b/server/public/admin/assets/404-BVNyZfjw.js similarity index 58% rename from server/public/admin/assets/404-Bi9C-pO1.js rename to server/public/admin/assets/404-BVNyZfjw.js index 9dac3e38..de79ae83 100644 --- a/server/public/admin/assets/404-Bi9C-pO1.js +++ b/server/public/admin/assets/404-BVNyZfjw.js @@ -1 +1 @@ -import e from"./error-Bgj-pwO8.js";import{o,q as r,r as t,v as s}from"./.pnpm-9dA1PEvN.js";import"./index-CJvXnF8Y.js";const a={class:"error404"},d=o({__name:"404",setup(c){return(n,_)=>(r(),t("div",a,[s(e,{code:"404",title:"哎呀,出错了!您访问的页面不存在…"})]))}});export{d as default}; +import e from"./error-Pzo5SbGa.js";import{o,q as r,r as t,v as s}from"./.pnpm-9dA1PEvN.js";import"./index-BWzN7QIb.js";const a={class:"error404"},d=o({__name:"404",setup(c){return(n,_)=>(r(),t("div",a,[s(e,{code:"404",title:"哎呀,出错了!您访问的页面不存在…"})]))}});export{d as default}; diff --git a/server/public/admin/assets/AppointmentRecordPanel-DxULo4tR.js b/server/public/admin/assets/AppointmentRecordPanel-DxBIlcME.js similarity index 96% rename from server/public/admin/assets/AppointmentRecordPanel-DxULo4tR.js rename to server/public/admin/assets/AppointmentRecordPanel-DxBIlcME.js index 746f3c48..b8f071e9 100644 --- a/server/public/admin/assets/AppointmentRecordPanel-DxULo4tR.js +++ b/server/public/admin/assets/AppointmentRecordPanel-DxBIlcME.js @@ -1 +1 @@ -import{o as C,R as D,q as d,r as I,ac as N,O as u,bj as B,D as o,v as l,bk as E,br as L,L as i,T as r,s as p,bi as R,M as w}from"./.pnpm-9dA1PEvN.js";import{a as V}from"./doctor-Bmtf1eZE.js";import{m as A,_ as M}from"./index-CJvXnF8Y.js";const P={class:"appointment-record-panel"},$={class:"cell-stack"},j={class:"font-medium"},q={class:"text-gray-500 text-sm"},O={class:"cell-stack"},F={class:"text-gray-500 text-sm"},G=C({__name:"AppointmentRecordPanel",props:{diagnosisId:{}},setup(v,{expose:y}){const f=v,m=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 n=t.channel_source??t.channels??"";if(n===""||n===null||n===void 0)return"—";const a=String(n),s=h.value[a]||a,c=String(t.channel_source_detail??"").trim();return c!==""?`${s}(${c})`:s}function T(t){return[...t].sort((n,a)=>{const s=String(n.appointment_date||""),c=String(a.appointment_date||"");if(s!==c)return c.localeCompare(s);const _=String(n.appointment_time||""),e=String(a.appointment_time||"");return _!==e?e.localeCompare(_):Number(a.id||0)-Number(n.id||0)})}const z=async()=>{try{const t=await A({type:"channels"}),n=((t==null?void 0:t.channels)||[]).filter(s=>s.status!==0),a={};for(const s of n)s.value!=null&&(a[String(s.value)]=s.name||String(s.value));h.value=a}catch{h.value={}}},b=async()=>{if(f.diagnosisId){m.value=!0;try{await z();const t=await V({patient_id:f.diagnosisId,diag_scope_relax:1,page_no:1,page_size:500}),n=(t==null?void 0:t.lists)||[];g.value=T(n)}catch(t){console.error(t),g.value=[]}finally{m.value=!1}}};return D(()=>f.diagnosisId,()=>{b()},{immediate:!0}),y({refresh:b}),(t,n)=>{const a=E,s=L,c=B,_=R;return d(),I("div",P,[N((d(),u(c,{data:g.value,border:"",stripe:"","empty-text":"暂无挂号记录"},{default:o(()=>[l(a,{label:"ID",prop:"id",width:"72",align:"center"}),l(a,{label:"状态",width:"100",align:"center"},{default:o(({row:e})=>[l(s,{type:e.status===1?"success":e.status===2?"info":e.status===3?"primary":"danger",size:"small",effect:"light"},{default:o(()=>[i(r(e.status_desc||"—"),1)]),_:2},1032,["type"])]),_:1}),l(a,{label:"患者(挂号人)","min-width":"150"},{default:o(({row:e})=>[p("div",$,[p("span",j,r(e.patient_name||"—"),1),p("span",q,r(e.patient_phone||""),1)])]),_:1}),l(a,{label:"挂号医生",prop:"doctor_name",width:"110","show-overflow-tooltip":""}),l(a,{label:"挂号助理",width:"110","show-overflow-tooltip":""},{default:o(({row:e})=>[i(r(e.assistant_name||"—"),1)]),_:1}),l(a,{label:"预约时间","min-width":"130"},{default:o(({row:e})=>[p("div",O,[p("span",null,r(e.appointment_date||"—"),1),p("span",F,r(x(e.appointment_time)),1)])]),_:1}),l(a,{label:"时段",width:"80",align:"center"},{default:o(({row:e})=>[i(r(k(e.period)),1)]),_:1}),l(a,{label:"类型",width:"100","show-overflow-tooltip":""},{default:o(({row:e})=>[i(r(e.appointment_type_desc||"—"),1)]),_:1}),l(a,{label:"渠道",width:"110","show-overflow-tooltip":""},{default:o(({row:e})=>[i(r(S(e)),1)]),_:1}),l(a,{label:"确认诊单",width:"92",align:"center"},{default:o(({row:e})=>[e.diagnosis_confirmed?(d(),u(s,{key:0,type:"success",size:"small",effect:"plain"},{default:o(()=>[...n[0]||(n[0]=[i("已确认",-1)])]),_:1})):(d(),u(s,{key:1,type:"warning",size:"small",effect:"plain"},{default:o(()=>[...n[1]||(n[1]=[i("未确认",-1)])]),_:1}))]),_:1}),l(a,{label:"开方",width:"80",align:"center"},{default:o(({row:e})=>[e.has_prescription?(d(),u(s,{key:0,type:"success",size:"small",effect:"plain"},{default:o(()=>[...n[2]||(n[2]=[i("已开方",-1)])]),_:1})):(d(),u(s,{key:1,type:"info",size:"small",effect:"plain"},{default:o(()=>[...n[3]||(n[3]=[i("未开方",-1)])]),_:1}))]),_:1}),l(a,{label:"备注",prop:"remark","min-width":"100","show-overflow-tooltip":""}),l(a,{label:"创建时间",width:"165",prop:"create_time"})]),_:1},8,["data"])),[[_,m.value]])])}}}),Q=M(G,[["__scopeId","data-v-7005d187"]]);export{Q as default}; +import{o as C,R as D,q as d,r as I,ac as N,O as u,bj as B,D as o,v as l,bk as E,br as L,L as i,T as r,s as p,bi as R,M as w}from"./.pnpm-9dA1PEvN.js";import{a as V}from"./doctor-Chj6BcVp.js";import{m as A,_ as M}from"./index-BWzN7QIb.js";const P={class:"appointment-record-panel"},$={class:"cell-stack"},j={class:"font-medium"},q={class:"text-gray-500 text-sm"},O={class:"cell-stack"},F={class:"text-gray-500 text-sm"},G=C({__name:"AppointmentRecordPanel",props:{diagnosisId:{}},setup(v,{expose:y}){const f=v,m=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 n=t.channel_source??t.channels??"";if(n===""||n===null||n===void 0)return"—";const a=String(n),s=h.value[a]||a,c=String(t.channel_source_detail??"").trim();return c!==""?`${s}(${c})`:s}function T(t){return[...t].sort((n,a)=>{const s=String(n.appointment_date||""),c=String(a.appointment_date||"");if(s!==c)return c.localeCompare(s);const _=String(n.appointment_time||""),e=String(a.appointment_time||"");return _!==e?e.localeCompare(_):Number(a.id||0)-Number(n.id||0)})}const z=async()=>{try{const t=await A({type:"channels"}),n=((t==null?void 0:t.channels)||[]).filter(s=>s.status!==0),a={};for(const s of n)s.value!=null&&(a[String(s.value)]=s.name||String(s.value));h.value=a}catch{h.value={}}},b=async()=>{if(f.diagnosisId){m.value=!0;try{await z();const t=await V({patient_id:f.diagnosisId,diag_scope_relax:1,page_no:1,page_size:500}),n=(t==null?void 0:t.lists)||[];g.value=T(n)}catch(t){console.error(t),g.value=[]}finally{m.value=!1}}};return D(()=>f.diagnosisId,()=>{b()},{immediate:!0}),y({refresh:b}),(t,n)=>{const a=E,s=L,c=B,_=R;return d(),I("div",P,[N((d(),u(c,{data:g.value,border:"",stripe:"","empty-text":"暂无挂号记录"},{default:o(()=>[l(a,{label:"ID",prop:"id",width:"72",align:"center"}),l(a,{label:"状态",width:"100",align:"center"},{default:o(({row:e})=>[l(s,{type:e.status===1?"success":e.status===2?"info":e.status===3?"primary":"danger",size:"small",effect:"light"},{default:o(()=>[i(r(e.status_desc||"—"),1)]),_:2},1032,["type"])]),_:1}),l(a,{label:"患者(挂号人)","min-width":"150"},{default:o(({row:e})=>[p("div",$,[p("span",j,r(e.patient_name||"—"),1),p("span",q,r(e.patient_phone||""),1)])]),_:1}),l(a,{label:"挂号医生",prop:"doctor_name",width:"110","show-overflow-tooltip":""}),l(a,{label:"挂号助理",width:"110","show-overflow-tooltip":""},{default:o(({row:e})=>[i(r(e.assistant_name||"—"),1)]),_:1}),l(a,{label:"预约时间","min-width":"130"},{default:o(({row:e})=>[p("div",O,[p("span",null,r(e.appointment_date||"—"),1),p("span",F,r(x(e.appointment_time)),1)])]),_:1}),l(a,{label:"时段",width:"80",align:"center"},{default:o(({row:e})=>[i(r(k(e.period)),1)]),_:1}),l(a,{label:"类型",width:"100","show-overflow-tooltip":""},{default:o(({row:e})=>[i(r(e.appointment_type_desc||"—"),1)]),_:1}),l(a,{label:"渠道",width:"110","show-overflow-tooltip":""},{default:o(({row:e})=>[i(r(S(e)),1)]),_:1}),l(a,{label:"确认诊单",width:"92",align:"center"},{default:o(({row:e})=>[e.diagnosis_confirmed?(d(),u(s,{key:0,type:"success",size:"small",effect:"plain"},{default:o(()=>[...n[0]||(n[0]=[i("已确认",-1)])]),_:1})):(d(),u(s,{key:1,type:"warning",size:"small",effect:"plain"},{default:o(()=>[...n[1]||(n[1]=[i("未确认",-1)])]),_:1}))]),_:1}),l(a,{label:"开方",width:"80",align:"center"},{default:o(({row:e})=>[e.has_prescription?(d(),u(s,{key:0,type:"success",size:"small",effect:"plain"},{default:o(()=>[...n[2]||(n[2]=[i("已开方",-1)])]),_:1})):(d(),u(s,{key:1,type:"info",size:"small",effect:"plain"},{default:o(()=>[...n[3]||(n[3]=[i("未开方",-1)])]),_:1}))]),_:1}),l(a,{label:"备注",prop:"remark","min-width":"100","show-overflow-tooltip":""}),l(a,{label:"创建时间",width:"165",prop:"create_time"})]),_:1},8,["data"])),[[_,m.value]])])}}}),Q=M(G,[["__scopeId","data-v-7005d187"]]);export{Q as default}; diff --git a/server/public/admin/assets/AssignLogPanel-7M3l9W5C.js b/server/public/admin/assets/AssignLogPanel-CF42MNq_.js similarity index 97% rename from server/public/admin/assets/AssignLogPanel-7M3l9W5C.js rename to server/public/admin/assets/AssignLogPanel-CF42MNq_.js index 665c7988..db112c12 100644 --- a/server/public/admin/assets/AssignLogPanel-7M3l9W5C.js +++ b/server/public/admin/assets/AssignLogPanel-CF42MNq_.js @@ -1 +1 @@ -import{o as T,R as C,q as _,r as b,ac as D,O as h,bj as $,D as r,v as n,bk as L,L as c,T as d,br as k,s as E,a1 as A,w as P,u as B,ch as F,bi as M,M as w}from"./.pnpm-9dA1PEvN.js";import{a9 as V}from"./tcm-DOD9_1Um.js";import{_ as q}from"./index-CJvXnF8Y.js";const K={class:"assign-log-panel"},j={key:1,class:"text-gray-400"},z=T({__name:"AssignLogPanel",props:{diagnosisId:{}},setup(v,{expose:y}){const u=v,m=w(!1),p=w([]);function N(a){const e=a.related_po_creator_name;if(e!=null&&String(e).trim()!=="")return String(e);const t=Number(a.related_po_creator_id);return Number.isFinite(t)&&t>0?`ID:${t}`:"—"}function x(a){const e=a.related_po_create_time_text;if(e!=null&&String(e).trim()!=="")return String(e);const t=Number(a.related_po_create_time);if(!Number.isFinite(t)||t<=0)return"—";const s=new Date(t*1e3);if(Number.isNaN(s.getTime()))return"—";const o=l=>String(l).padStart(2,"0");return`${s.getFullYear()}-${o(s.getMonth()+1)}-${o(s.getDate())} ${o(s.getHours())}:${o(s.getMinutes())}:${o(s.getSeconds())}`}function f(a,e){const t=e==="from"?"from_assistant_name":"to_assistant_name",s=e==="from"?"from_assistant_id":"to_assistant_id",o=a[t];if(o!=null&&String(o).trim()!==""&&String(o)!=="—")return String(o);const l=Number(a[s]);return Number.isFinite(l)&&l>0?`ID:${l}`:"—"}const g=async()=>{if(u.diagnosisId){m.value=!0;try{const a=await V({id:u.diagnosisId}),e=Array.isArray(a)?a:[];p.value=e}catch(a){console.error(a),p.value=[]}finally{m.value=!1}}};return C(()=>u.diagnosisId,()=>{g()},{immediate:!0}),y({refresh:g}),(a,e)=>{const t=L,s=k,o=P,l=A,S=$,I=M;return _(),b("div",K,[D((_(),h(S,{data:p.value,border:"",stripe:"","empty-text":"暂无指派记录"},{default:r(()=>[n(t,{label:"操作时间",width:"175",prop:"create_time_text"}),n(t,{label:"原医助","min-width":"120"},{default:r(({row:i})=>[c(d(f(i,"from")),1)]),_:1}),n(t,{label:"新医助","min-width":"120"},{default:r(({row:i})=>[c(d(f(i,"to")),1)]),_:1}),n(t,{label:"继承",width:"72",align:"center"},{default:r(({row:i})=>[Number(i.is_inherit)===1?(_(),h(s,{key:0,type:"success",size:"small"},{default:r(()=>[...e[0]||(e[0]=[c("是",-1)])]),_:1})):(_(),b("span",j,"否"))]),_:1}),n(t,{label:"快照·业务单创建人","min-width":"130","show-overflow-tooltip":""},{default:r(({row:i})=>[c(d(N(i)),1)]),_:1}),n(t,{label:"快照·业务单创建时间",width:"190"},{header:r(()=>[e[1]||(e[1]=E("span",null,"快照·业务单创建时间",-1)),n(l,{placement:"top",content:"related_po_create_time:触发本次操作的处方业务订单 create_time;与原文助一致时表示医助创建订单时间"},{default:r(()=>[n(o,{class:"assign-log-col-hint"},{default:r(()=>[n(B(F))]),_:1})]),_:1})]),default:r(({row:i})=>[c(d(x(i)),1)]),_:1}),n(t,{label:"操作人",width:"110",prop:"operator_name"}),n(t,{label:"操作账号",width:"120",prop:"operator_account","show-overflow-tooltip":""}),n(t,{label:"IP",width:"130",prop:"ip","show-overflow-tooltip":""})]),_:1},8,["data"])),[[I,m.value]])])}}}),Y=q(z,[["__scopeId","data-v-0a09e3d2"]]);export{Y as default}; +import{o as T,R as C,q as _,r as b,ac as D,O as h,bj as $,D as r,v as n,bk as L,L as c,T as d,br as k,s as E,a1 as A,w as P,u as B,ch as F,bi as M,M as w}from"./.pnpm-9dA1PEvN.js";import{a9 as V}from"./tcm-Fi_swgCr.js";import{_ as q}from"./index-BWzN7QIb.js";const K={class:"assign-log-panel"},j={key:1,class:"text-gray-400"},z=T({__name:"AssignLogPanel",props:{diagnosisId:{}},setup(v,{expose:y}){const u=v,m=w(!1),p=w([]);function N(a){const e=a.related_po_creator_name;if(e!=null&&String(e).trim()!=="")return String(e);const t=Number(a.related_po_creator_id);return Number.isFinite(t)&&t>0?`ID:${t}`:"—"}function x(a){const e=a.related_po_create_time_text;if(e!=null&&String(e).trim()!=="")return String(e);const t=Number(a.related_po_create_time);if(!Number.isFinite(t)||t<=0)return"—";const s=new Date(t*1e3);if(Number.isNaN(s.getTime()))return"—";const o=l=>String(l).padStart(2,"0");return`${s.getFullYear()}-${o(s.getMonth()+1)}-${o(s.getDate())} ${o(s.getHours())}:${o(s.getMinutes())}:${o(s.getSeconds())}`}function f(a,e){const t=e==="from"?"from_assistant_name":"to_assistant_name",s=e==="from"?"from_assistant_id":"to_assistant_id",o=a[t];if(o!=null&&String(o).trim()!==""&&String(o)!=="—")return String(o);const l=Number(a[s]);return Number.isFinite(l)&&l>0?`ID:${l}`:"—"}const g=async()=>{if(u.diagnosisId){m.value=!0;try{const a=await V({id:u.diagnosisId}),e=Array.isArray(a)?a:[];p.value=e}catch(a){console.error(a),p.value=[]}finally{m.value=!1}}};return C(()=>u.diagnosisId,()=>{g()},{immediate:!0}),y({refresh:g}),(a,e)=>{const t=L,s=k,o=P,l=A,S=$,I=M;return _(),b("div",K,[D((_(),h(S,{data:p.value,border:"",stripe:"","empty-text":"暂无指派记录"},{default:r(()=>[n(t,{label:"操作时间",width:"175",prop:"create_time_text"}),n(t,{label:"原医助","min-width":"120"},{default:r(({row:i})=>[c(d(f(i,"from")),1)]),_:1}),n(t,{label:"新医助","min-width":"120"},{default:r(({row:i})=>[c(d(f(i,"to")),1)]),_:1}),n(t,{label:"继承",width:"72",align:"center"},{default:r(({row:i})=>[Number(i.is_inherit)===1?(_(),h(s,{key:0,type:"success",size:"small"},{default:r(()=>[...e[0]||(e[0]=[c("是",-1)])]),_:1})):(_(),b("span",j,"否"))]),_:1}),n(t,{label:"快照·业务单创建人","min-width":"130","show-overflow-tooltip":""},{default:r(({row:i})=>[c(d(N(i)),1)]),_:1}),n(t,{label:"快照·业务单创建时间",width:"190"},{header:r(()=>[e[1]||(e[1]=E("span",null,"快照·业务单创建时间",-1)),n(l,{placement:"top",content:"related_po_create_time:触发本次操作的处方业务订单 create_time;与原文助一致时表示医助创建订单时间"},{default:r(()=>[n(o,{class:"assign-log-col-hint"},{default:r(()=>[n(B(F))]),_:1})]),_:1})]),default:r(({row:i})=>[c(d(x(i)),1)]),_:1}),n(t,{label:"操作人",width:"110",prop:"operator_name"}),n(t,{label:"操作账号",width:"120",prop:"operator_account","show-overflow-tooltip":""}),n(t,{label:"IP",width:"130",prop:"ip","show-overflow-tooltip":""})]),_:1},8,["data"])),[[I,m.value]])])}}}),Y=q(z,[["__scopeId","data-v-0a09e3d2"]]);export{Y as default}; diff --git a/server/public/admin/assets/AssistantWatchCallDialog-G7c26KAa.js b/server/public/admin/assets/AssistantWatchCallDialog-CRByNVWz.js similarity index 96% rename from server/public/admin/assets/AssistantWatchCallDialog-G7c26KAa.js rename to server/public/admin/assets/AssistantWatchCallDialog-CRByNVWz.js index 9c60c7e7..1e157bda 100644 --- a/server/public/admin/assets/AssistantWatchCallDialog-G7c26KAa.js +++ b/server/public/admin/assets/AssistantWatchCallDialog-CRByNVWz.js @@ -1 +1 @@ -import{o as B,R as D,q as E,O,D as I,r as _,T as S,P as x,ac as W,s as h,ad as P,v as U,K as $,L as j,bt as H,p as K,M as v,cX as d}from"./.pnpm-9dA1PEvN.js";import{aa as Y}from"./tcm-DOD9_1Um.js";import{_ as q}from"./index-CJvXnF8Y.js";const X={key:0,class:"watch-state"},z={key:1,class:"watch-state watch-error"},F=B({__name:"AssistantWatchCallDialog",props:{modelValue:{type:Boolean},diagnosisId:{}},emits:["update:modelValue","closed"],setup(R,{emit:A}){const u=R,g=A,y=K({get:()=>u.modelValue,set:t=>g("update:modelValue",t)}),r=v(null),l=v(!1),i=v(""),p=v("旁观视频通话"),n=new Map;let a=null,f=0;function w(t,e){return`${t}\0${String(e)}`}function N(t){return t.startsWith("patient_")?"患者":t.startsWith("doctor_")?"医护":t}async function T(t){if(!a||!r.value||t.streamType!==d.TYPE.STREAM_TYPE_MAIN)return;const e=w(t.userId,t.streamType);if(n.has(e))return;const o=document.createElement("div");o.className="watch-tile";const s=document.createElement("div");s.className="watch-tile-cap",s.textContent=N(t.userId);const c=document.createElement("div");c.className="watch-tile-view",o.appendChild(s),o.appendChild(c),r.value.appendChild(o),n.set(e,{wrap:o,userId:t.userId,streamType:t.streamType});try{await a.startRemoteVideo({userId:t.userId,streamType:t.streamType,view:c})}catch(b){console.warn("[AssistantWatchCall] startRemoteVideo",b)}}async function V(t){if(!a)return;const e=w(t.userId,t.streamType),o=n.get(e);if(o){try{await a.stopRemoteVideo({userId:t.userId,streamType:t.streamType})}catch{}o.wrap.remove(),n.delete(e)}}function C(){a&&(a.on(d.EVENT.REMOTE_VIDEO_AVAILABLE,T),a.on(d.EVENT.REMOTE_VIDEO_UNAVAILABLE,V))}function k(){a&&(a.off(d.EVENT.REMOTE_VIDEO_AVAILABLE,T),a.off(d.EVENT.REMOTE_VIDEO_UNAVAILABLE,V))}async function m(){if(k(),a){for(const[,t]of n){try{await a.stopRemoteVideo({userId:t.userId,streamType:t.streamType})}catch{}t.wrap.remove()}n.clear(),r.value&&(r.value.innerHTML="");try{await a.exitRoom()}catch{}try{a.destroy()}catch{}a=null}else n.clear(),r.value&&(r.value.innerHTML="")}async function L(){const t=++f;if(await m(),!u.diagnosisId){i.value="诊单无效";return}l.value=!0,i.value="",p.value="旁观视频通话";try{const e=await Y({diagnosis_id:u.diagnosisId});if(t!==f)return;e.patientName&&(p.value=`旁观视频通话 · ${e.patientName}`),a=d.create(),C();const o={sdkAppId:e.sdkAppId,userId:e.userId,userSig:e.userSig,autoReceiveAudio:!0,autoReceiveVideo:!0,...e.roomId!=null&&e.roomId>0?{roomId:e.roomId}:{strRoomId:e.strRoomId}};if(!(e.roomId!=null&&e.roomId>0)&&!e.strRoomId)throw new Error("缺少房间号");if(await a.enterRoom(o),t!==f){await m();return}l.value=!1}catch(e){l.value=!1;let o="进入房间失败";if(typeof e=="string")o=e;else if(e&&typeof e=="object"){const s=e;s.msg?o=String(s.msg):s.message&&(o=String(s.message))}i.value=o,await m()}}function M(){m(),l.value=!1,i.value="",p.value="旁观视频通话",g("closed")}return D(()=>[u.modelValue,u.diagnosisId],([t,e])=>{if(!t){f++,m();return}e>0&&L()}),(t,e)=>{const o=$,s=H;return E(),O(s,{modelValue:y.value,"onUpdate:modelValue":e[1]||(e[1]=c=>y.value=c),title:p.value,width:"760px","destroy-on-close":"","append-to-body":"","close-on-click-modal":!1,class:"assistant-watch-call-dialog",onClosed:M},{footer:I(()=>[e[3]||(e[3]=h("span",{class:"watch-hint"},"仅观看,不会开启摄像头与麦克风",-1)),U(o,{type:"primary",onClick:e[0]||(e[0]=c=>y.value=!1)},{default:I(()=>[...e[2]||(e[2]=[j("离开",-1)])]),_:1})]),default:I(()=>[l.value?(E(),_("div",X,"正在连接房间…")):i.value?(E(),_("div",z,S(i.value),1)):x("",!0),W(h("div",{ref_key:"gridRef",ref:r,class:"watch-grid"},null,512),[[P,!l.value&&!i.value]])]),_:1},8,["modelValue","title"])}}}),Z=q(F,[["__scopeId","data-v-8c719418"]]);export{Z as default}; +import{o as B,R as D,q as E,O,D as I,r as _,T as S,P as x,ac as W,s as h,ad as P,v as U,K as $,L as j,bt as H,p as K,M as v,cX as d}from"./.pnpm-9dA1PEvN.js";import{aa as Y}from"./tcm-Fi_swgCr.js";import{_ as q}from"./index-BWzN7QIb.js";const X={key:0,class:"watch-state"},z={key:1,class:"watch-state watch-error"},F=B({__name:"AssistantWatchCallDialog",props:{modelValue:{type:Boolean},diagnosisId:{}},emits:["update:modelValue","closed"],setup(R,{emit:A}){const u=R,g=A,y=K({get:()=>u.modelValue,set:t=>g("update:modelValue",t)}),r=v(null),l=v(!1),i=v(""),p=v("旁观视频通话"),n=new Map;let a=null,f=0;function w(t,e){return`${t}\0${String(e)}`}function N(t){return t.startsWith("patient_")?"患者":t.startsWith("doctor_")?"医护":t}async function T(t){if(!a||!r.value||t.streamType!==d.TYPE.STREAM_TYPE_MAIN)return;const e=w(t.userId,t.streamType);if(n.has(e))return;const o=document.createElement("div");o.className="watch-tile";const s=document.createElement("div");s.className="watch-tile-cap",s.textContent=N(t.userId);const c=document.createElement("div");c.className="watch-tile-view",o.appendChild(s),o.appendChild(c),r.value.appendChild(o),n.set(e,{wrap:o,userId:t.userId,streamType:t.streamType});try{await a.startRemoteVideo({userId:t.userId,streamType:t.streamType,view:c})}catch(b){console.warn("[AssistantWatchCall] startRemoteVideo",b)}}async function V(t){if(!a)return;const e=w(t.userId,t.streamType),o=n.get(e);if(o){try{await a.stopRemoteVideo({userId:t.userId,streamType:t.streamType})}catch{}o.wrap.remove(),n.delete(e)}}function C(){a&&(a.on(d.EVENT.REMOTE_VIDEO_AVAILABLE,T),a.on(d.EVENT.REMOTE_VIDEO_UNAVAILABLE,V))}function k(){a&&(a.off(d.EVENT.REMOTE_VIDEO_AVAILABLE,T),a.off(d.EVENT.REMOTE_VIDEO_UNAVAILABLE,V))}async function m(){if(k(),a){for(const[,t]of n){try{await a.stopRemoteVideo({userId:t.userId,streamType:t.streamType})}catch{}t.wrap.remove()}n.clear(),r.value&&(r.value.innerHTML="");try{await a.exitRoom()}catch{}try{a.destroy()}catch{}a=null}else n.clear(),r.value&&(r.value.innerHTML="")}async function L(){const t=++f;if(await m(),!u.diagnosisId){i.value="诊单无效";return}l.value=!0,i.value="",p.value="旁观视频通话";try{const e=await Y({diagnosis_id:u.diagnosisId});if(t!==f)return;e.patientName&&(p.value=`旁观视频通话 · ${e.patientName}`),a=d.create(),C();const o={sdkAppId:e.sdkAppId,userId:e.userId,userSig:e.userSig,autoReceiveAudio:!0,autoReceiveVideo:!0,...e.roomId!=null&&e.roomId>0?{roomId:e.roomId}:{strRoomId:e.strRoomId}};if(!(e.roomId!=null&&e.roomId>0)&&!e.strRoomId)throw new Error("缺少房间号");if(await a.enterRoom(o),t!==f){await m();return}l.value=!1}catch(e){l.value=!1;let o="进入房间失败";if(typeof e=="string")o=e;else if(e&&typeof e=="object"){const s=e;s.msg?o=String(s.msg):s.message&&(o=String(s.message))}i.value=o,await m()}}function M(){m(),l.value=!1,i.value="",p.value="旁观视频通话",g("closed")}return D(()=>[u.modelValue,u.diagnosisId],([t,e])=>{if(!t){f++,m();return}e>0&&L()}),(t,e)=>{const o=$,s=H;return E(),O(s,{modelValue:y.value,"onUpdate:modelValue":e[1]||(e[1]=c=>y.value=c),title:p.value,width:"760px","destroy-on-close":"","append-to-body":"","close-on-click-modal":!1,class:"assistant-watch-call-dialog",onClosed:M},{footer:I(()=>[e[3]||(e[3]=h("span",{class:"watch-hint"},"仅观看,不会开启摄像头与麦克风",-1)),U(o,{type:"primary",onClick:e[0]||(e[0]=c=>y.value=!1)},{default:I(()=>[...e[2]||(e[2]=[j("离开",-1)])]),_:1})]),default:I(()=>[l.value?(E(),_("div",X,"正在连接房间…")):i.value?(E(),_("div",z,S(i.value),1)):x("",!0),W(h("div",{ref_key:"gridRef",ref:r,class:"watch-grid"},null,512),[[P,!l.value&&!i.value]])]),_:1},8,["modelValue","title"])}}}),Z=q(F,[["__scopeId","data-v-8c719418"]]);export{Z as default}; diff --git a/server/public/admin/assets/BloodRecordList-CS7i-vAN.js b/server/public/admin/assets/BloodRecordList-vYKeEjkv.js similarity index 98% rename from server/public/admin/assets/BloodRecordList-CS7i-vAN.js rename to server/public/admin/assets/BloodRecordList-vYKeEjkv.js index 99d4beca..353cdd00 100644 --- a/server/public/admin/assets/BloodRecordList-CS7i-vAN.js +++ b/server/public/admin/assets/BloodRecordList-vYKeEjkv.js @@ -1 +1 @@ -import{o as ee,M as m,ap as le,aq as ae,R as P,q as V,r as F,s as u,O as H,D as n,L as _,K as te,P as O,v as l,bn as oe,C as Y,u as s,bm as se,bp as ne,bg as de,bk as re,T as k,bj as ie,b9 as ue,b6 as pe,c5 as me,J as _e,b7 as ce,bt as fe,p as ge,n as be,cY as ye}from"./.pnpm-9dA1PEvN.js";import{ab as ve,ac as Ve,ad as he,U as ke,V as we}from"./tcm-DOD9_1Um.js";import{i as w,_ as Ie}from"./index-CJvXnF8Y.js";const xe={class:"blood-record-list"},Ce={class:"mb-4"},Ee={class:"mb-4"},Te={key:0},De={key:1},Ue=5,Re=ee({__name:"BloodRecordList",props:{diagnosisId:{type:Number,default:0},patientId:{type:Number,default:0},readOnly:{type:Boolean,default:!1}},setup(D){const d=D,A=m([]),c=m(!1),U=m(!1),$=ge(()=>o.value.id?"编辑记录":"添加记录"),f=m(7),g=m(null),p=m({dates:[],fasting:[],postprandial_2h:[],other:[]}),R=m();let b=null,N=0;const o=m({id:"",diagnosis_id:d.diagnosisId,patient_id:d.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(t){if(t==null||t==="")return"-";const e=Number(String(t).trim());return!Number.isFinite(e)||e===0?"-":String(e.toFixed(2).replace(/\.?0+$/,""))}const h=async()=>{if(!(!d.diagnosisId&&!d.patientId))try{const t={diagnosis_id:d.diagnosisId,patient_id:d.patientId};f.value===0&&g.value?(t.start_date=Math.floor(g.value[0].getTime()/1e3),t.end_date=Math.floor(g.value[1].getTime()/1e3)):t.days=f.value;const e=await ve(t);p.value=e,L()}catch(t){console.error("获取趋势图数据失败:",t)}},q=()=>{f.value!==0&&(g.value=null),h()},L=()=>{be(()=>{setTimeout(()=>{if(!R.value)return;const t=R.value;if(t.clientWidth===0||t.clientHeight===0){NL(),100));return}N=0,b&&b.dispose(),b=ye(t);const e=(M,i)=>{const C=new Map;return M.forEach(r=>{C.set(r.date,r.value)}),i.map(r=>C.get(r)||null)},y=e(p.value.fasting,p.value.dates),v=e(p.value.postprandial_2h,p.value.dates),S=e(p.value.other,p.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:p.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(!(!d.diagnosisId&&!d.patientId))try{const t=await Ve({diagnosis_id:d.diagnosisId,patient_id:d.patientId});A.value=t}catch(t){console.error("获取记录失败:",t)}},G=()=>{o.value={id:"",diagnosis_id:d.diagnosisId,patient_id:d.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},W=t=>{o.value={...t,fasting_blood_sugar:parseFloat(t.fasting_blood_sugar)||0,postprandial_blood_sugar:parseFloat(t.postprandial_blood_sugar)||0,other_blood_sugar:parseFloat(t.other_blood_sugar)||0,systolic_pressure:parseInt(t.systolic_pressure)||0,diastolic_pressure:parseInt(t.diastolic_pressure)||0},c.value=!0},j=t=>{o.value.other_blood_sugar=t.replace(/[^\d.]/g,"")},z=async t=>{await w.confirm("确定要删除这条记录吗?");try{await he({id:t.id}),w.msgSuccess("删除成功"),I()}catch(e){console.error("删除失败:",e)}},J=async()=>{if(!o.value.record_date){w.msgWarning("请选择记录日期");return}U.value=!0;try{o.value.id?(await ke(o.value),w.msgSuccess("编辑成功")):(await we(o.value),w.msgSuccess("添加成功")),c.value=!1,I(),h()}catch(t){console.error("提交失败:",t)}finally{U.value=!1}};return le(()=>{setTimeout(()=>{I(),h()},500)}),ae(()=>{b&&b.dispose()}),P(()=>[d.diagnosisId,d.patientId],()=>{I(),h()}),P(()=>d.diagnosisId,t=>{t&&setTimeout(()=>{L()},500)}),(t,e)=>{const y=te,v=oe,S=se,x=ne,M=de,i=re,C=ie,r=pe,K=me,E=_e,T=ce,X=ue,Q=fe;return V(),F("div",xe,[u("div",Ce,[D.readOnly?O("",!0):(V(),H(y,{key:0,type:"primary",onClick:G},{default:n(()=>[...e[14]||(e[14]=[_("添加记录",-1)])]),_:1})),l(S,{modelValue:s(f),"onUpdate:modelValue":e[0]||(e[0]=a=>Y(f)?f.value=a:null),onChange:q,class:"ml-2",style:{width:"150px"}},{default:n(()=>[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(),H(x,{key:1,modelValue:s(g),"onUpdate:modelValue":e[1]||(e[1]=a=>Y(g)?g.value=a:null),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",onChange:h,class:"ml-2",style:{width:"300px"}},null,8,["modelValue"])):O("",!0)]),u("div",Ee,[l(M,null,{header:n(()=>[...e[15]||(e[15]=[u("div",{class:"card-header"},[u("span",null,"血糖趋势图")],-1)])]),default:n(()=>[u("div",{ref_key:"chartRef",ref:R,style:{width:"100%",height:"400px"}},null,512)]),_:1})]),l(C,{data:s(A),border:"",style:{width:"100%"}},{default:n(()=>[l(i,{prop:"record_date",label:"记录日期",width:"120"}),l(i,{prop:"record_time",label:"记录时间",width:"100"}),l(i,{label:"空腹血糖(mmol/L)",width:"120"},{default:n(({row:a})=>[_(k(B(a.fasting_blood_sugar)),1)]),_:1}),l(i,{label:"餐后2小时血糖(mmol/L)",width:"150"},{default:n(({row:a})=>[_(k(B(a.postprandial_blood_sugar)),1)]),_:1}),l(i,{label:"其他血糖(mmol/L)",width:"120"},{default:n(({row:a})=>[_(k(B(a.other_blood_sugar)),1)]),_:1}),l(i,{label:"血压(mmHg)",width:"150"},{default:n(({row:a})=>[a.systolic_pressure&&a.diastolic_pressure?(V(),F("span",Te,k(a.systolic_pressure)+"/"+k(a.diastolic_pressure),1)):(V(),F("span",De,"-"))]),_: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":""}),D.readOnly?O("",!0):(V(),H(i,{key:0,label:"操作",width:"150",fixed:"right"},{default:n(({row:a})=>[l(y,{link:"",type:"primary",onClick:Z=>W(a)},{default:n(()=>[...e[16]||(e[16]=[_("编辑",-1)])]),_:1},8,["onClick"]),l(y,{link:"",type:"danger",onClick:Z=>z(a)},{default:n(()=>[...e[17]||(e[17]=[_("删除",-1)])]),_:1},8,["onClick"])]),_:1}))]),_:1},8,["data"]),l(Q,{modelValue:s(c),"onUpdate:modelValue":e[13]||(e[13]=a=>Y(c)?c.value=a:null),title:s($),width:"600px"},{footer:n(()=>[l(y,{onClick:e[12]||(e[12]=a=>c.value=!1)},{default:n(()=>[...e[23]||(e[23]=[_("取消",-1)])]),_:1}),l(y,{type:"primary",onClick:J,loading:s(U)},{default:n(()=>[...e[24]||(e[24]=[_("确定",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(X,{model:s(o),"label-width":"120px"},{default:n(()=>[l(r,{label:"记录日期",required:""},{default:n(()=>[l(x,{modelValue:s(o).record_date,"onUpdate:modelValue":e[2]||(e[2]=a=>s(o).record_date=a),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),l(r,{label:"记录时间"},{default:n(()=>[l(K,{modelValue:s(o).record_time,"onUpdate:modelValue":e[3]||(e[3]=a=>s(o).record_time=a),placeholder:"选择时间",format:"HH:mm","value-format":"HH:mm",class:"w-full"},null,8,["modelValue"])]),_:1}),l(r,{label:"空腹血糖"},{default:n(()=>[l(E,{modelValue:s(o).fasting_blood_sugar,"onUpdate:modelValue":e[4]||(e[4]=a=>s(o).fasting_blood_sugar=a),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(r,{label:"餐后2小时血糖"},{default:n(()=>[l(E,{modelValue:s(o).postprandial_blood_sugar,"onUpdate:modelValue":e[5]||(e[5]=a=>s(o).postprandial_blood_sugar=a),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(r,{label:"其他血糖"},{default:n(()=>[l(T,{modelValue:s(o).other_blood_sugar,"onUpdate:modelValue":e[6]||(e[6]=a=>s(o).other_blood_sugar=a),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(r,{label:"收缩压(高压)"},{default:n(()=>[l(E,{modelValue:s(o).systolic_pressure,"onUpdate:modelValue":e[7]||(e[7]=a=>s(o).systolic_pressure=a),min:0,max:300,placeholder:"请输入收缩压"},null,8,["modelValue"]),e[21]||(e[21]=u("span",{class:"ml-2"},"mmHg",-1))]),_:1}),l(r,{label:"舒张压(低压)"},{default:n(()=>[l(E,{modelValue:s(o).diastolic_pressure,"onUpdate:modelValue":e[8]||(e[8]=a=>s(o).diastolic_pressure=a),min:0,max:200,placeholder:"请输入舒张压"},null,8,["modelValue"]),e[22]||(e[22]=u("span",{class:"ml-2"},"mmHg",-1))]),_:1}),l(r,{label:"西药"},{default:n(()=>[l(T,{modelValue:s(o).western_medicine,"onUpdate:modelValue":e[9]||(e[9]=a=>s(o).western_medicine=a),placeholder:"请输入西药"},null,8,["modelValue"])]),_:1}),l(r,{label:"胰岛素"},{default:n(()=>[l(T,{modelValue:s(o).insulin,"onUpdate:modelValue":e[10]||(e[10]=a=>s(o).insulin=a),placeholder:"请输入胰岛素"},null,8,["modelValue"])]),_:1}),l(r,{label:"备注"},{default:n(()=>[l(T,{modelValue:s(o).remark,"onUpdate:modelValue":e[11]||(e[11]=a=>s(o).remark=a),type:"textarea",rows:3,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),Se=Ie(Re,[["__scopeId","data-v-002163f9"]]);export{Se as default}; +import{o as ee,M as m,ap as le,aq as ae,R as P,q as V,r as F,s as u,O as H,D as n,L as _,K as te,P as O,v as l,bn as oe,C as Y,u as s,bm as se,bp as ne,bg as de,bk as re,T as k,bj as ie,b9 as ue,b6 as pe,c5 as me,J as _e,b7 as ce,bt as fe,p as ge,n as be,cY as ye}from"./.pnpm-9dA1PEvN.js";import{ab as ve,ac as Ve,ad as he,U as ke,V as we}from"./tcm-Fi_swgCr.js";import{i as w,_ as Ie}from"./index-BWzN7QIb.js";const xe={class:"blood-record-list"},Ce={class:"mb-4"},Ee={class:"mb-4"},Te={key:0},De={key:1},Ue=5,Re=ee({__name:"BloodRecordList",props:{diagnosisId:{type:Number,default:0},patientId:{type:Number,default:0},readOnly:{type:Boolean,default:!1}},setup(D){const d=D,A=m([]),c=m(!1),U=m(!1),$=ge(()=>o.value.id?"编辑记录":"添加记录"),f=m(7),g=m(null),p=m({dates:[],fasting:[],postprandial_2h:[],other:[]}),R=m();let b=null,N=0;const o=m({id:"",diagnosis_id:d.diagnosisId,patient_id:d.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(t){if(t==null||t==="")return"-";const e=Number(String(t).trim());return!Number.isFinite(e)||e===0?"-":String(e.toFixed(2).replace(/\.?0+$/,""))}const h=async()=>{if(!(!d.diagnosisId&&!d.patientId))try{const t={diagnosis_id:d.diagnosisId,patient_id:d.patientId};f.value===0&&g.value?(t.start_date=Math.floor(g.value[0].getTime()/1e3),t.end_date=Math.floor(g.value[1].getTime()/1e3)):t.days=f.value;const e=await ve(t);p.value=e,L()}catch(t){console.error("获取趋势图数据失败:",t)}},q=()=>{f.value!==0&&(g.value=null),h()},L=()=>{be(()=>{setTimeout(()=>{if(!R.value)return;const t=R.value;if(t.clientWidth===0||t.clientHeight===0){NL(),100));return}N=0,b&&b.dispose(),b=ye(t);const e=(M,i)=>{const C=new Map;return M.forEach(r=>{C.set(r.date,r.value)}),i.map(r=>C.get(r)||null)},y=e(p.value.fasting,p.value.dates),v=e(p.value.postprandial_2h,p.value.dates),S=e(p.value.other,p.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:p.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(!(!d.diagnosisId&&!d.patientId))try{const t=await Ve({diagnosis_id:d.diagnosisId,patient_id:d.patientId});A.value=t}catch(t){console.error("获取记录失败:",t)}},G=()=>{o.value={id:"",diagnosis_id:d.diagnosisId,patient_id:d.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},W=t=>{o.value={...t,fasting_blood_sugar:parseFloat(t.fasting_blood_sugar)||0,postprandial_blood_sugar:parseFloat(t.postprandial_blood_sugar)||0,other_blood_sugar:parseFloat(t.other_blood_sugar)||0,systolic_pressure:parseInt(t.systolic_pressure)||0,diastolic_pressure:parseInt(t.diastolic_pressure)||0},c.value=!0},j=t=>{o.value.other_blood_sugar=t.replace(/[^\d.]/g,"")},z=async t=>{await w.confirm("确定要删除这条记录吗?");try{await he({id:t.id}),w.msgSuccess("删除成功"),I()}catch(e){console.error("删除失败:",e)}},J=async()=>{if(!o.value.record_date){w.msgWarning("请选择记录日期");return}U.value=!0;try{o.value.id?(await ke(o.value),w.msgSuccess("编辑成功")):(await we(o.value),w.msgSuccess("添加成功")),c.value=!1,I(),h()}catch(t){console.error("提交失败:",t)}finally{U.value=!1}};return le(()=>{setTimeout(()=>{I(),h()},500)}),ae(()=>{b&&b.dispose()}),P(()=>[d.diagnosisId,d.patientId],()=>{I(),h()}),P(()=>d.diagnosisId,t=>{t&&setTimeout(()=>{L()},500)}),(t,e)=>{const y=te,v=oe,S=se,x=ne,M=de,i=re,C=ie,r=pe,K=me,E=_e,T=ce,X=ue,Q=fe;return V(),F("div",xe,[u("div",Ce,[D.readOnly?O("",!0):(V(),H(y,{key:0,type:"primary",onClick:G},{default:n(()=>[...e[14]||(e[14]=[_("添加记录",-1)])]),_:1})),l(S,{modelValue:s(f),"onUpdate:modelValue":e[0]||(e[0]=a=>Y(f)?f.value=a:null),onChange:q,class:"ml-2",style:{width:"150px"}},{default:n(()=>[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(),H(x,{key:1,modelValue:s(g),"onUpdate:modelValue":e[1]||(e[1]=a=>Y(g)?g.value=a:null),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",onChange:h,class:"ml-2",style:{width:"300px"}},null,8,["modelValue"])):O("",!0)]),u("div",Ee,[l(M,null,{header:n(()=>[...e[15]||(e[15]=[u("div",{class:"card-header"},[u("span",null,"血糖趋势图")],-1)])]),default:n(()=>[u("div",{ref_key:"chartRef",ref:R,style:{width:"100%",height:"400px"}},null,512)]),_:1})]),l(C,{data:s(A),border:"",style:{width:"100%"}},{default:n(()=>[l(i,{prop:"record_date",label:"记录日期",width:"120"}),l(i,{prop:"record_time",label:"记录时间",width:"100"}),l(i,{label:"空腹血糖(mmol/L)",width:"120"},{default:n(({row:a})=>[_(k(B(a.fasting_blood_sugar)),1)]),_:1}),l(i,{label:"餐后2小时血糖(mmol/L)",width:"150"},{default:n(({row:a})=>[_(k(B(a.postprandial_blood_sugar)),1)]),_:1}),l(i,{label:"其他血糖(mmol/L)",width:"120"},{default:n(({row:a})=>[_(k(B(a.other_blood_sugar)),1)]),_:1}),l(i,{label:"血压(mmHg)",width:"150"},{default:n(({row:a})=>[a.systolic_pressure&&a.diastolic_pressure?(V(),F("span",Te,k(a.systolic_pressure)+"/"+k(a.diastolic_pressure),1)):(V(),F("span",De,"-"))]),_: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":""}),D.readOnly?O("",!0):(V(),H(i,{key:0,label:"操作",width:"150",fixed:"right"},{default:n(({row:a})=>[l(y,{link:"",type:"primary",onClick:Z=>W(a)},{default:n(()=>[...e[16]||(e[16]=[_("编辑",-1)])]),_:1},8,["onClick"]),l(y,{link:"",type:"danger",onClick:Z=>z(a)},{default:n(()=>[...e[17]||(e[17]=[_("删除",-1)])]),_:1},8,["onClick"])]),_:1}))]),_:1},8,["data"]),l(Q,{modelValue:s(c),"onUpdate:modelValue":e[13]||(e[13]=a=>Y(c)?c.value=a:null),title:s($),width:"600px"},{footer:n(()=>[l(y,{onClick:e[12]||(e[12]=a=>c.value=!1)},{default:n(()=>[...e[23]||(e[23]=[_("取消",-1)])]),_:1}),l(y,{type:"primary",onClick:J,loading:s(U)},{default:n(()=>[...e[24]||(e[24]=[_("确定",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(X,{model:s(o),"label-width":"120px"},{default:n(()=>[l(r,{label:"记录日期",required:""},{default:n(()=>[l(x,{modelValue:s(o).record_date,"onUpdate:modelValue":e[2]||(e[2]=a=>s(o).record_date=a),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),l(r,{label:"记录时间"},{default:n(()=>[l(K,{modelValue:s(o).record_time,"onUpdate:modelValue":e[3]||(e[3]=a=>s(o).record_time=a),placeholder:"选择时间",format:"HH:mm","value-format":"HH:mm",class:"w-full"},null,8,["modelValue"])]),_:1}),l(r,{label:"空腹血糖"},{default:n(()=>[l(E,{modelValue:s(o).fasting_blood_sugar,"onUpdate:modelValue":e[4]||(e[4]=a=>s(o).fasting_blood_sugar=a),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(r,{label:"餐后2小时血糖"},{default:n(()=>[l(E,{modelValue:s(o).postprandial_blood_sugar,"onUpdate:modelValue":e[5]||(e[5]=a=>s(o).postprandial_blood_sugar=a),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(r,{label:"其他血糖"},{default:n(()=>[l(T,{modelValue:s(o).other_blood_sugar,"onUpdate:modelValue":e[6]||(e[6]=a=>s(o).other_blood_sugar=a),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(r,{label:"收缩压(高压)"},{default:n(()=>[l(E,{modelValue:s(o).systolic_pressure,"onUpdate:modelValue":e[7]||(e[7]=a=>s(o).systolic_pressure=a),min:0,max:300,placeholder:"请输入收缩压"},null,8,["modelValue"]),e[21]||(e[21]=u("span",{class:"ml-2"},"mmHg",-1))]),_:1}),l(r,{label:"舒张压(低压)"},{default:n(()=>[l(E,{modelValue:s(o).diastolic_pressure,"onUpdate:modelValue":e[8]||(e[8]=a=>s(o).diastolic_pressure=a),min:0,max:200,placeholder:"请输入舒张压"},null,8,["modelValue"]),e[22]||(e[22]=u("span",{class:"ml-2"},"mmHg",-1))]),_:1}),l(r,{label:"西药"},{default:n(()=>[l(T,{modelValue:s(o).western_medicine,"onUpdate:modelValue":e[9]||(e[9]=a=>s(o).western_medicine=a),placeholder:"请输入西药"},null,8,["modelValue"])]),_:1}),l(r,{label:"胰岛素"},{default:n(()=>[l(T,{modelValue:s(o).insulin,"onUpdate:modelValue":e[10]||(e[10]=a=>s(o).insulin=a),placeholder:"请输入胰岛素"},null,8,["modelValue"])]),_:1}),l(r,{label:"备注"},{default:n(()=>[l(T,{modelValue:s(o).remark,"onUpdate:modelValue":e[11]||(e[11]=a=>s(o).remark=a),type:"textarea",rows:3,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),Se=Ie(Re,[["__scopeId","data-v-002163f9"]]);export{Se as default}; diff --git a/server/public/admin/assets/CallRecordPanel-B5TNiiYq.js b/server/public/admin/assets/CallRecordPanel-CJ3iGibG.js similarity index 93% rename from server/public/admin/assets/CallRecordPanel-B5TNiiYq.js rename to server/public/admin/assets/CallRecordPanel-CJ3iGibG.js index b0df5024..6ac457c4 100644 --- a/server/public/admin/assets/CallRecordPanel-B5TNiiYq.js +++ b/server/public/admin/assets/CallRecordPanel-CJ3iGibG.js @@ -1 +1 @@ -import{o as N,cZ as O,R as P,q as d,r as f,v as o,D as i,K as V,L as n,P as h,ac as D,O as w,bj as L,bk as z,T as u,s as y,bi as M,M as v}from"./.pnpm-9dA1PEvN.js";import j from"./RecordingPlaybackBlock-C4Gpp-2c.js";import{U as x}from"./index-DMkcmA29.js";import{i as c,_ as q}from"./index-CJvXnF8Y.js";import{ae as K,af as k,ag as Z}from"./tcm-DOD9_1Um.js";import"./RecordingVideoPlayer-BFQjIPtM.js";import"./file-BJDA0rIT.js";const A={class:"call-record-panel"},F={key:0,class:"call-record-toolbar"},G={class:"call-record-empty"},H={class:"call-record-empty__desc"},J={key:0,class:"text-primary"},Q={key:1,class:"text-gray-400"},W=N({__name:"CallRecordPanel",props:{diagnosisId:{},readOnly:{type:Boolean,default:!1}},setup(_,{expose:R}){const r=_,p=v(!1),g=v([]),U=O("toolbarUploadRef"),m=async()=>{if(r.diagnosisId){p.value=!0;try{g.value=await K({diagnosis_id:r.diagnosisId})||[]}catch(e){console.error(e),g.value=[]}finally{p.value=!1}}};P(()=>r.diagnosisId,()=>{m()},{immediate:!0}),R({refresh:m});function C(e){return{1:"进行中",2:"已结束",3:"未接听",4:"已取消"}[e]??"—"}async function S(e){const t=b(e);if(!t){c.msgError("上传成功但未返回视频地址");return}try{const a=await Z({diagnosis_id:r.diagnosisId});await k({diagnosis_id:r.diagnosisId,call_record_id:Number((a==null?void 0:a.id)||0),file_url:t}),c.msgSuccess("视频回放上传成功"),await m()}catch(a){c.msgError((a==null?void 0:a.message)||"写入回放失败")}}async function E(e,t){const a=b(t);if(!a){c.msgError("上传成功但未返回视频地址");return}try{await k({diagnosis_id:r.diagnosisId,call_record_id:Number(e.id||0),file_url:a}),c.msgSuccess("视频回放上传成功"),await m()}catch(l){c.msgError((l==null?void 0:l.message)||"写入回放失败")}}function b(e){var t,a;return String(((t=e==null?void 0:e.data)==null?void 0:t.uri)||((a=e==null?void 0:e.data)==null?void 0:a.url)||"").trim()}return(e,t)=>{const a=V,l=z,I=L,B=M;return d(),f("div",A,[_.readOnly?h("",!0):(d(),f("div",F,[o(x,{ref_key:"toolbarUploadRef",ref:U,type:"video",direct:"",multiple:!1,limit:1,"show-progress":!0,onSuccess:S},{default:i(()=>[o(a,{type:"primary"},{default:i(()=>[...t[0]||(t[0]=[n("上传视频",-1)])]),_:1})]),_:1},512)])),D((d(),w(I,{data:g.value,border:"",stripe:""},{empty:i(()=>[y("div",G,[t[1]||(t[1]=y("div",{class:"call-record-empty__title"},"暂无通话记录",-1)),y("div",H,u(_.readOnly?"暂无录制回放数据。":"现在可以直接点击上方“上传视频”。系统会自动生成一条默认通话记录来承载回放。"),1)])]),default:i(()=>[o(l,{label:"录制回放","min-width":"320"},{default:i(({row:s})=>[o(j,{"record-id":s.id,urls:s.recording_urls_list},null,8,["record-id","urls"])]),_:1}),o(l,{label:"开始时间",width:"170",prop:"start_time_text"}),o(l,{label:"结束时间",width:"170",prop:"end_time_text"}),o(l,{label:"通话类型",width:"100"},{default:i(({row:s})=>[n(u(s.call_type===1?"语音":"视频"),1)]),_:1}),o(l,{label:"房间号",width:"180"},{default:i(({row:s})=>[s.room_id?(d(),f("span",J,u(s.room_id),1)):(d(),f("span",Q,"—"))]),_:1}),o(l,{label:"时长",width:"110",prop:"duration_text"}),o(l,{label:"状态",width:"90"},{default:i(({row:s})=>[n(u(C(s.status)),1)]),_:1}),o(l,{label:"录制",width:"100"},{default:i(({row:s})=>[n(u(s.recording_status_text||"—"),1)]),_:1}),_.readOnly?h("",!0):(d(),w(l,{key:0,label:"上传回放",width:"180"},{default:i(({row:s})=>[o(x,{type:"video",direct:"",multiple:!1,limit:1,"show-progress":!0,onSuccess:T=>E(s,T)},{default:i(()=>[o(a,{type:"primary",plain:"",size:"small"},{default:i(()=>[...t[2]||(t[2]=[n("上传视频",-1)])]),_:1})]),_:1},8,["onSuccess"])]),_:1}))]),_:1},8,["data"])),[[B,p.value]])])}}}),sa=q(W,[["__scopeId","data-v-41737096"]]);export{sa as default}; +import{o as N,cZ as O,R as P,q as d,r as f,v as o,D as i,K as V,L as n,P as h,ac as D,O as w,bj as L,bk as z,T as u,s as y,bi as M,M as v}from"./.pnpm-9dA1PEvN.js";import j from"./RecordingPlaybackBlock-CN4w1UI-.js";import{U as x}from"./index-DFkJDhf6.js";import{i as c,_ as q}from"./index-BWzN7QIb.js";import{ae as K,af as k,ag as Z}from"./tcm-Fi_swgCr.js";import"./RecordingVideoPlayer-DIfduEP7.js";import"./file-BL6iPgPC.js";const A={class:"call-record-panel"},F={key:0,class:"call-record-toolbar"},G={class:"call-record-empty"},H={class:"call-record-empty__desc"},J={key:0,class:"text-primary"},Q={key:1,class:"text-gray-400"},W=N({__name:"CallRecordPanel",props:{diagnosisId:{},readOnly:{type:Boolean,default:!1}},setup(_,{expose:R}){const r=_,p=v(!1),g=v([]),U=O("toolbarUploadRef"),m=async()=>{if(r.diagnosisId){p.value=!0;try{g.value=await K({diagnosis_id:r.diagnosisId})||[]}catch(e){console.error(e),g.value=[]}finally{p.value=!1}}};P(()=>r.diagnosisId,()=>{m()},{immediate:!0}),R({refresh:m});function C(e){return{1:"进行中",2:"已结束",3:"未接听",4:"已取消"}[e]??"—"}async function S(e){const t=b(e);if(!t){c.msgError("上传成功但未返回视频地址");return}try{const a=await Z({diagnosis_id:r.diagnosisId});await k({diagnosis_id:r.diagnosisId,call_record_id:Number((a==null?void 0:a.id)||0),file_url:t}),c.msgSuccess("视频回放上传成功"),await m()}catch(a){c.msgError((a==null?void 0:a.message)||"写入回放失败")}}async function E(e,t){const a=b(t);if(!a){c.msgError("上传成功但未返回视频地址");return}try{await k({diagnosis_id:r.diagnosisId,call_record_id:Number(e.id||0),file_url:a}),c.msgSuccess("视频回放上传成功"),await m()}catch(l){c.msgError((l==null?void 0:l.message)||"写入回放失败")}}function b(e){var t,a;return String(((t=e==null?void 0:e.data)==null?void 0:t.uri)||((a=e==null?void 0:e.data)==null?void 0:a.url)||"").trim()}return(e,t)=>{const a=V,l=z,I=L,B=M;return d(),f("div",A,[_.readOnly?h("",!0):(d(),f("div",F,[o(x,{ref_key:"toolbarUploadRef",ref:U,type:"video",direct:"",multiple:!1,limit:1,"show-progress":!0,onSuccess:S},{default:i(()=>[o(a,{type:"primary"},{default:i(()=>[...t[0]||(t[0]=[n("上传视频",-1)])]),_:1})]),_:1},512)])),D((d(),w(I,{data:g.value,border:"",stripe:""},{empty:i(()=>[y("div",G,[t[1]||(t[1]=y("div",{class:"call-record-empty__title"},"暂无通话记录",-1)),y("div",H,u(_.readOnly?"暂无录制回放数据。":"现在可以直接点击上方“上传视频”。系统会自动生成一条默认通话记录来承载回放。"),1)])]),default:i(()=>[o(l,{label:"录制回放","min-width":"320"},{default:i(({row:s})=>[o(j,{"record-id":s.id,urls:s.recording_urls_list},null,8,["record-id","urls"])]),_:1}),o(l,{label:"开始时间",width:"170",prop:"start_time_text"}),o(l,{label:"结束时间",width:"170",prop:"end_time_text"}),o(l,{label:"通话类型",width:"100"},{default:i(({row:s})=>[n(u(s.call_type===1?"语音":"视频"),1)]),_:1}),o(l,{label:"房间号",width:"180"},{default:i(({row:s})=>[s.room_id?(d(),f("span",J,u(s.room_id),1)):(d(),f("span",Q,"—"))]),_:1}),o(l,{label:"时长",width:"110",prop:"duration_text"}),o(l,{label:"状态",width:"90"},{default:i(({row:s})=>[n(u(C(s.status)),1)]),_:1}),o(l,{label:"录制",width:"100"},{default:i(({row:s})=>[n(u(s.recording_status_text||"—"),1)]),_:1}),_.readOnly?h("",!0):(d(),w(l,{key:0,label:"上传回放",width:"180"},{default:i(({row:s})=>[o(x,{type:"video",direct:"",multiple:!1,limit:1,"show-progress":!0,onSuccess:T=>E(s,T)},{default:i(()=>[o(a,{type:"primary",plain:"",size:"small"},{default:i(()=>[...t[2]||(t[2]=[n("上传视频",-1)])]),_:1})]),_:1},8,["onSuccess"])]),_:1}))]),_:1},8,["data"])),[[B,p.value]])])}}}),sa=q(W,[["__scopeId","data-v-41737096"]]);export{sa as default}; diff --git a/server/public/admin/assets/CaseRecordList-BdOS8uCk.js b/server/public/admin/assets/CaseRecordList-DlCqPijV.js similarity index 95% rename from server/public/admin/assets/CaseRecordList-BdOS8uCk.js rename to server/public/admin/assets/CaseRecordList-DlCqPijV.js index 4f65fb25..472344fe 100644 --- a/server/public/admin/assets/CaseRecordList-BdOS8uCk.js +++ b/server/public/admin/assets/CaseRecordList-DlCqPijV.js @@ -1 +1 @@ -import{o as T,ap as V,R as I,q as o,r as l,v as s,K as N,D as i,L as c,P as k,ac as z,bi as M,u as p,O as g,bk as O,T as _,F as P,br as j,s as F,bj as R,bB as A,M as w}from"./.pnpm-9dA1PEvN.js";import{ah as q}from"./tcm-DOD9_1Um.js";import{_ as H}from"./index-CJvXnF8Y.js";const K={class:"case-record-list"},Y={key:0,class:"mb-3 flex justify-end"},G={key:0},J={key:1,class:"text-gray-400"},Q={class:"void-detail text-xs text-gray-500 mt-1"},U=T({__name:"CaseRecordList",props:{diagnosisId:{type:Number,default:0},readOnly:{type:Boolean,default:!1}},emits:["view","openPrescription"],setup(y,{expose:x,emit:C}){const m=y,b=C,r=w([]),d=w(!1),u=async()=>{if(m.diagnosisId){d.value=!0;try{const t=await q({diagnosis_id:m.diagnosisId});r.value=Array.isArray(t)?t:[]}catch(t){console.error("获取病历记录失败:",t),r.value=[]}finally{d.value=!1}}},S=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")}`},B=t=>{b("view",t)},$=()=>{b("openPrescription")};return V(()=>{u()}),I(()=>m.diagnosisId,()=>{u()}),x({refresh:u}),(t,e)=>{const h=N,n=O,v=j,E=R,D=A,L=M;return o(),l("div",K,[y.readOnly?k("",!0):(o(),l("div",Y,[s(h,{type:"primary",size:"small",onClick:$},{default:i(()=>[...e[0]||(e[0]=[c("开方",-1)])]),_:1})])),z((o(),g(E,{data:p(r),border:""},{default:i(()=>[s(n,{prop:"prescription_date",label:"就诊日期",width:"120"}),s(n,{prop:"visit_no",label:"门诊号",width:"120"}),s(n,{prop:"clinical_diagnosis",label:"临床诊断","min-width":"160","show-overflow-tooltip":""}),s(n,{label:"处方摘要","min-width":"180"},{default:i(({row:a})=>[a.herbs&&a.herbs.length?(o(),l("span",G,_(a.herbs.slice(0,3).map(f=>`${f.name}${f.dosage}克`).join("、"))+_(a.herbs.length>3?"...":""),1)):(o(),l("span",J,"—"))]),_:1}),s(n,{prop:"doctor_name",label:"医师",width:"90","show-overflow-tooltip":""}),s(n,{label:"状态",width:"140",align:"center"},{default:i(({row:a})=>[a.void_status===1?(o(),l(P,{key:0},[s(v,{type:"danger",size:"small"},{default:i(()=>[...e[1]||(e[1]=[c("已作废",-1)])]),_:1}),F("div",Q,_(a.void_by_name||"—")+" "+_(S(a.void_time)),1)],64)):(o(),g(v,{key:1,type:"success",size:"small"},{default:i(()=>[...e[2]||(e[2]=[c("正常",-1)])]),_:1}))]),_:1}),s(n,{label:"操作",width:"120",fixed:"right"},{default:i(({row:a})=>[s(h,{link:"",type:"primary",size:"small",onClick:f=>B(a)},{default:i(()=>[...e[3]||(e[3]=[c(" 查看 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[L,p(d)]]),!p(d)&&p(r).length===0?(o(),g(D,{key:1,description:"暂无病历记录,开方后会自动显示",class:"mt-4"})):k("",!0)])}}}),ee=H(U,[["__scopeId","data-v-da9a20f3"]]);export{ee as default}; +import{o as T,ap as V,R as I,q as o,r as l,v as s,K as N,D as i,L as c,P as k,ac as z,bi as M,u as p,O as g,bk as O,T as _,F as P,br as j,s as F,bj as R,bB as A,M as w}from"./.pnpm-9dA1PEvN.js";import{ah as q}from"./tcm-Fi_swgCr.js";import{_ as H}from"./index-BWzN7QIb.js";const K={class:"case-record-list"},Y={key:0,class:"mb-3 flex justify-end"},G={key:0},J={key:1,class:"text-gray-400"},Q={class:"void-detail text-xs text-gray-500 mt-1"},U=T({__name:"CaseRecordList",props:{diagnosisId:{type:Number,default:0},readOnly:{type:Boolean,default:!1}},emits:["view","openPrescription"],setup(y,{expose:x,emit:C}){const m=y,b=C,r=w([]),d=w(!1),u=async()=>{if(m.diagnosisId){d.value=!0;try{const t=await q({diagnosis_id:m.diagnosisId});r.value=Array.isArray(t)?t:[]}catch(t){console.error("获取病历记录失败:",t),r.value=[]}finally{d.value=!1}}},S=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")}`},B=t=>{b("view",t)},$=()=>{b("openPrescription")};return V(()=>{u()}),I(()=>m.diagnosisId,()=>{u()}),x({refresh:u}),(t,e)=>{const h=N,n=O,v=j,E=R,D=A,L=M;return o(),l("div",K,[y.readOnly?k("",!0):(o(),l("div",Y,[s(h,{type:"primary",size:"small",onClick:$},{default:i(()=>[...e[0]||(e[0]=[c("开方",-1)])]),_:1})])),z((o(),g(E,{data:p(r),border:""},{default:i(()=>[s(n,{prop:"prescription_date",label:"就诊日期",width:"120"}),s(n,{prop:"visit_no",label:"门诊号",width:"120"}),s(n,{prop:"clinical_diagnosis",label:"临床诊断","min-width":"160","show-overflow-tooltip":""}),s(n,{label:"处方摘要","min-width":"180"},{default:i(({row:a})=>[a.herbs&&a.herbs.length?(o(),l("span",G,_(a.herbs.slice(0,3).map(f=>`${f.name}${f.dosage}克`).join("、"))+_(a.herbs.length>3?"...":""),1)):(o(),l("span",J,"—"))]),_:1}),s(n,{prop:"doctor_name",label:"医师",width:"90","show-overflow-tooltip":""}),s(n,{label:"状态",width:"140",align:"center"},{default:i(({row:a})=>[a.void_status===1?(o(),l(P,{key:0},[s(v,{type:"danger",size:"small"},{default:i(()=>[...e[1]||(e[1]=[c("已作废",-1)])]),_:1}),F("div",Q,_(a.void_by_name||"—")+" "+_(S(a.void_time)),1)],64)):(o(),g(v,{key:1,type:"success",size:"small"},{default:i(()=>[...e[2]||(e[2]=[c("正常",-1)])]),_:1}))]),_:1}),s(n,{label:"操作",width:"120",fixed:"right"},{default:i(({row:a})=>[s(h,{link:"",type:"primary",size:"small",onClick:f=>B(a)},{default:i(()=>[...e[3]||(e[3]=[c(" 查看 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[L,p(d)]]),!p(d)&&p(r).length===0?(o(),g(D,{key:1,description:"暂无病历记录,开方后会自动显示",class:"mt-4"})):k("",!0)])}}}),ee=H(U,[["__scopeId","data-v-da9a20f3"]]);export{ee as default}; diff --git a/server/public/admin/assets/DailyMatrix-_4SdP1CQ.js b/server/public/admin/assets/DailyMatrix-BOqZMkKS.js similarity index 98% rename from server/public/admin/assets/DailyMatrix-_4SdP1CQ.js rename to server/public/admin/assets/DailyMatrix-BOqZMkKS.js index 7d1b0b14..713b3cf5 100644 --- a/server/public/admin/assets/DailyMatrix-_4SdP1CQ.js +++ b/server/public/admin/assets/DailyMatrix-BOqZMkKS.js @@ -1,2 +1,2 @@ -import{o as dl,M as _,R as ml,n as ce,ap as fl,aq as vl,ac as pl,q as p,r as b,s as g,v as a,bc as _l,D as s,bb as gl,L as c,O as C,P as U,K as cl,bj as bl,bk as yl,F as P,G as be,ae as kl,a1 as Vl,T as ie,u as xl,cJ as wl,bt as Dl,b9 as Rl,b6 as Sl,bp as Cl,c5 as Ul,J as Tl,b7 as El,bD as Hl,bm as Ml,bn as Yl,bi as Wl,p as d,bB as hl}from"./.pnpm-9dA1PEvN.js";import{_ as Bl}from"./picker-DWQ_BAep.js";import Nl from"./DiagnosisTodoList-wLDuYeQL.js";import{h as $l}from"./perm-BLNmf25V.js";import{S as Al,T as Ll,U as Fl,V as ql,W as Il,X as Pl,Y as zl,Z as Ol,_ as Gl}from"./tcm-DOD9_1Um.js";import{c as Jl,f as jl,d as Kl,e as Ql,b as Xl}from"./blood-thresholds-CJ1fqMjh.js";import{i as T,_ as Zl}from"./index-CJvXnF8Y.js";import"./index-BBemoNXE.js";import"./index-CY1mb9yY.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-CAGpCz28.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.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"},sa={key:0,class:"daily-matrix__legend"},ia=["onClick"],ua={class:"daily-matrix__tracking-tooltip"},ra={class:"daily-matrix__tracking-preview"},da={key:0,class:"daily-matrix__cell-up"},ma={class:"daily-matrix__chart"},fa={key:0,class:"daily-matrix__todo"},va={class:"daily-matrix__tracking-existing"},pa=120,_a=dl({__name:"DailyMatrix",props:{diagnosisId:{},patientId:{},age:{default:void 0},readOnly:{type:Boolean,default:!1},patientName:{default:""}},setup(he,{expose:Be}){const Ne=["tcm.diagnosis/dailyRecord"],D=he,R=d(()=>Number(D.diagnosisId||0)),z=d(()=>Number(D.patientId||0)),ue=d(()=>!!D.readOnly),$e=d(()=>D.patientName||""),ye=d(()=>$l(Ne)),E=d(()=>ye.value&&!ue.value),Ae=d(()=>ye.value),re=_(!1),H=_("7"),$=_(null),A=_([]),O=_([]),G=_([]),J=_([]),Y=_(!1),W=_(!1),h=_(!1),B=_(!1),de=_(!1),me=_(!1),fe=_(!1),ve=_(!1),u=_(Q()),m=_(X()),f=_(Z()),y=_({note_date:"",existing_content:"",content:""}),Le=d(()=>u.value.id?"编辑血糖血压记录":"新增血糖血压记录"),Fe=d(()=>m.value.id?"编辑饮食记录":"新增饮食记录"),qe=d(()=>f.value.id?"编辑运动记录":"新增运动记录"),j=d(()=>L(new Date)),N=d(()=>!ue.value&&y.value.note_date===j.value),Ie=d(()=>N.value?"新增/追加跟踪备注":"查看跟踪备注"),ke=_(null),Ve=_(0),Pe=[{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:"跟踪备注"}],ze=d(()=>[...Pe]),Oe=d(()=>{const t=q.value.length;if(t<=0||t>7)return 100;const e=Math.max(Ve.value-pa-2,0),l=e>0?Math.floor(e/t):100;return Math.max(100,l)});let K=0;function L(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 F(){var t;Ve.value=((t=ke.value)==null?void 0:t.clientWidth)||0}function Q(t=""){return{id:"",diagnosis_id:R.value,patient_id:z.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 X(t=""){return{id:"",diagnosis_id:R.value,patient_id:z.value,record_date:t,breakfast_foods:"",breakfast_images:[],lunch_foods:"",lunch_images:[],dinner_foods:"",dinner_images:[],note:""}}function Z(t=""){return{id:"",diagnosis_id:R.value,patient_id:z.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[v,i]=$.value||["",""];return{start:v||"",end:i||""}}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:L(n),end:L(l)}}const De=d(()=>we(H.value)),q=d(()=>{const{start:t,end:e}=De.value;if(!t||!e)return[];const l=[],n=xe(e),v=xe(t).getTime();for(;n.getTime()>=v;)l.push(L(n)),n.setDate(n.getDate()-1);return l}),Re=d(()=>A.value.some(t=>Number(t.source)===1)),pe=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),v=["fasting_blood_sugar","postprandial_blood_sugar","other_blood_sugar","systolic_pressure","diastolic_pressure","western_medicine","insulin","remark"];for(const i of v)(n[i]===void 0||n[i]===null||n[i]==="")&&e[i]!==void 0&&e[i]!==null&&e[i]!==""&&(n[i]=e[i]);Number(e.source)===1&&(n.has_patient_self=!0)}return t}),Se=d(()=>{const t=new Map;for(const e of O.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 J.value){const l=String(e.note_date||"");!l||t.has(l)||t.set(l,e)}return t}),Ue=d(()=>[...q.value].reverse()),le=d(()=>Ue.value.reduce((t,e)=>{const l=pe.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:[]})),Je=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=pe.value.get(e),n=Se.value.get(e),v=Ce.value.get(e),i=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:Xl(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:Kl(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)?jl(l):"",isHigh:Jl(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:v!=null&&v.duration?`${v.duration}min`:"",isHigh:!1,hasRecord:!!(v!=null&&v.id)};case"tracking":return{value:i!=null&&i.content?He(i.content):"",isHigh:!1,hasRecord:!!(i!=null&&i.content)};default:return{value:"",isHigh:!1,hasRecord:!1}}}async function V(){if(!R.value){A.value=[],O.value=[],G.value=[],J.value=[];return}const{start:t,end:e}=De.value;if(H.value==="custom"&&(!t||!e))return;const l=++K;re.value=!0;try{const n=await Al({id:R.value,start_date:t,end_date:e}),v=await Ll({diagnosis_id:R.value});if(l!==K)return;A.value=Array.isArray(n==null?void 0:n.blood_records)?n.blood_records:[],O.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:[],J.value=Array.isArray(v)?v.filter(i=>q.value.includes(String((i==null?void 0:i.note_date)||""))):[]}catch{l===K&&(A.value=[],O.value=[],G.value=[],J.value=[])}finally{l===K&&(re.value=!1)}}function Ke(){if(H.value==="custom"&&!$.value){const t=we("7");$.value=[t.start,t.end]}V(),ce(F)}function Qe(){H.value==="custom"&&V()}function ae(t){if(!E.value)return;const e=q.value[0]||L(new Date);if(t==="blood"){u.value=Q(e),Y.value=!0;return}if(t==="diet"){m.value=X(e),W.value=!0;return}if(t==="tracking"){const l=j.value,n=ee.value.get(l);y.value={note_date:l,existing_content:String((n==null?void 0:n.content)||""),content:""},B.value=!0;return}f.value=Z(e),h.value=!0}function Xe(t,e){if(!E.value)return;if(["fasting","postprandial","other","bp","western","insulin"].includes(t)){const n=pe.value.get(e);u.value=n?{...Q(e),...n}:Q(e),Y.value=!0;return}if(["breakfast","lunch","dinner"].includes(t)){const n=Se.value.get(e);m.value=n?{...X(e),...n}:X(e),W.value=!0;return}if(t==="tracking"){const n=ee.value.get(e);if(!n&&e!==j.value)return;y.value={note_date:e,existing_content:String((n==null?void 0:n.content)||""),content:""},B.value=!0;return}const l=Ce.value.get(e);f.value=l?{...Z(e),...l}:Z(e),h.value=!0}async function Ze(){if(!u.value.record_date){T.msgWarning("请选择记录日期");return}de.value=!0;try{u.value.id?await Fl(u.value):await ql(u.value),Y.value=!1,await V()}finally{de.value=!1}}async function el(){if(!m.value.record_date){T.msgWarning("请选择记录日期");return}me.value=!0;try{m.value.id?await Il(m.value):await Pl(m.value),W.value=!1,await V()}finally{me.value=!1}}async function ll(){if(!f.value.record_date){T.msgWarning("请选择记录日期");return}if(!f.value.exercise_type){T.msgWarning("请选择运动类型");return}if(!f.value.duration){T.msgWarning("请输入运动时长");return}fe.value=!0;try{f.value.id?await zl(f.value):await Ol(f.value),h.value=!1,await V()}finally{fe.value=!1}}async function al(){if(!y.value.note_date){T.msgWarning("请选择记录日期");return}if(!N.value){T.msgWarning("仅支持给今天追加跟踪备注");return}const t=y.value.content.trim();if(!t){T.msgWarning("请输入跟踪备注");return}ve.value=!0;try{await Gl({diagnosis_id:R.value,tracking_content:t}),B.value=!1,await V()}finally{ve.value=!1}}function He(t){return _e(t)[0]||""}function _e(t){return t.split(` +import{o as dl,M as _,R as ml,n as ce,ap as fl,aq as vl,ac as pl,q as p,r as b,s as g,v as a,bc as _l,D as s,bb as gl,L as c,O as C,P as U,K as cl,bj as bl,bk as yl,F as P,G as be,ae as kl,a1 as Vl,T as ie,u as xl,cJ as wl,bt as Dl,b9 as Rl,b6 as Sl,bp as Cl,c5 as Ul,J as Tl,b7 as El,bD as Hl,bm as Ml,bn as Yl,bi as Wl,p as d,bB as hl}from"./.pnpm-9dA1PEvN.js";import{_ as Bl}from"./picker-DfI3CPnQ.js";import Nl from"./DiagnosisTodoList-CAIMA53u.js";import{h as $l}from"./perm-BzF8JgcJ.js";import{S as Al,T as Ll,U as Fl,V as ql,W as Il,X as Pl,Y as zl,Z as Ol,_ as Gl}from"./tcm-Fi_swgCr.js";import{c as Jl,f as jl,d as Kl,e as Ql,b as Xl}from"./blood-thresholds-CJ1fqMjh.js";import{i as T,_ as Zl}from"./index-BWzN7QIb.js";import"./index-dYaCh-CN.js";import"./index-xDQ_OZln.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-fA0EWEUO.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.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"},sa={key:0,class:"daily-matrix__legend"},ia=["onClick"],ua={class:"daily-matrix__tracking-tooltip"},ra={class:"daily-matrix__tracking-preview"},da={key:0,class:"daily-matrix__cell-up"},ma={class:"daily-matrix__chart"},fa={key:0,class:"daily-matrix__todo"},va={class:"daily-matrix__tracking-existing"},pa=120,_a=dl({__name:"DailyMatrix",props:{diagnosisId:{},patientId:{},age:{default:void 0},readOnly:{type:Boolean,default:!1},patientName:{default:""}},setup(he,{expose:Be}){const Ne=["tcm.diagnosis/dailyRecord"],D=he,R=d(()=>Number(D.diagnosisId||0)),z=d(()=>Number(D.patientId||0)),ue=d(()=>!!D.readOnly),$e=d(()=>D.patientName||""),ye=d(()=>$l(Ne)),E=d(()=>ye.value&&!ue.value),Ae=d(()=>ye.value),re=_(!1),H=_("7"),$=_(null),A=_([]),O=_([]),G=_([]),J=_([]),Y=_(!1),W=_(!1),h=_(!1),B=_(!1),de=_(!1),me=_(!1),fe=_(!1),ve=_(!1),u=_(Q()),m=_(X()),f=_(Z()),y=_({note_date:"",existing_content:"",content:""}),Le=d(()=>u.value.id?"编辑血糖血压记录":"新增血糖血压记录"),Fe=d(()=>m.value.id?"编辑饮食记录":"新增饮食记录"),qe=d(()=>f.value.id?"编辑运动记录":"新增运动记录"),j=d(()=>L(new Date)),N=d(()=>!ue.value&&y.value.note_date===j.value),Ie=d(()=>N.value?"新增/追加跟踪备注":"查看跟踪备注"),ke=_(null),Ve=_(0),Pe=[{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:"跟踪备注"}],ze=d(()=>[...Pe]),Oe=d(()=>{const t=q.value.length;if(t<=0||t>7)return 100;const e=Math.max(Ve.value-pa-2,0),l=e>0?Math.floor(e/t):100;return Math.max(100,l)});let K=0;function L(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 F(){var t;Ve.value=((t=ke.value)==null?void 0:t.clientWidth)||0}function Q(t=""){return{id:"",diagnosis_id:R.value,patient_id:z.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 X(t=""){return{id:"",diagnosis_id:R.value,patient_id:z.value,record_date:t,breakfast_foods:"",breakfast_images:[],lunch_foods:"",lunch_images:[],dinner_foods:"",dinner_images:[],note:""}}function Z(t=""){return{id:"",diagnosis_id:R.value,patient_id:z.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[v,i]=$.value||["",""];return{start:v||"",end:i||""}}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:L(n),end:L(l)}}const De=d(()=>we(H.value)),q=d(()=>{const{start:t,end:e}=De.value;if(!t||!e)return[];const l=[],n=xe(e),v=xe(t).getTime();for(;n.getTime()>=v;)l.push(L(n)),n.setDate(n.getDate()-1);return l}),Re=d(()=>A.value.some(t=>Number(t.source)===1)),pe=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),v=["fasting_blood_sugar","postprandial_blood_sugar","other_blood_sugar","systolic_pressure","diastolic_pressure","western_medicine","insulin","remark"];for(const i of v)(n[i]===void 0||n[i]===null||n[i]==="")&&e[i]!==void 0&&e[i]!==null&&e[i]!==""&&(n[i]=e[i]);Number(e.source)===1&&(n.has_patient_self=!0)}return t}),Se=d(()=>{const t=new Map;for(const e of O.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 J.value){const l=String(e.note_date||"");!l||t.has(l)||t.set(l,e)}return t}),Ue=d(()=>[...q.value].reverse()),le=d(()=>Ue.value.reduce((t,e)=>{const l=pe.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:[]})),Je=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=pe.value.get(e),n=Se.value.get(e),v=Ce.value.get(e),i=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:Xl(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:Kl(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)?jl(l):"",isHigh:Jl(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:v!=null&&v.duration?`${v.duration}min`:"",isHigh:!1,hasRecord:!!(v!=null&&v.id)};case"tracking":return{value:i!=null&&i.content?He(i.content):"",isHigh:!1,hasRecord:!!(i!=null&&i.content)};default:return{value:"",isHigh:!1,hasRecord:!1}}}async function V(){if(!R.value){A.value=[],O.value=[],G.value=[],J.value=[];return}const{start:t,end:e}=De.value;if(H.value==="custom"&&(!t||!e))return;const l=++K;re.value=!0;try{const n=await Al({id:R.value,start_date:t,end_date:e}),v=await Ll({diagnosis_id:R.value});if(l!==K)return;A.value=Array.isArray(n==null?void 0:n.blood_records)?n.blood_records:[],O.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:[],J.value=Array.isArray(v)?v.filter(i=>q.value.includes(String((i==null?void 0:i.note_date)||""))):[]}catch{l===K&&(A.value=[],O.value=[],G.value=[],J.value=[])}finally{l===K&&(re.value=!1)}}function Ke(){if(H.value==="custom"&&!$.value){const t=we("7");$.value=[t.start,t.end]}V(),ce(F)}function Qe(){H.value==="custom"&&V()}function ae(t){if(!E.value)return;const e=q.value[0]||L(new Date);if(t==="blood"){u.value=Q(e),Y.value=!0;return}if(t==="diet"){m.value=X(e),W.value=!0;return}if(t==="tracking"){const l=j.value,n=ee.value.get(l);y.value={note_date:l,existing_content:String((n==null?void 0:n.content)||""),content:""},B.value=!0;return}f.value=Z(e),h.value=!0}function Xe(t,e){if(!E.value)return;if(["fasting","postprandial","other","bp","western","insulin"].includes(t)){const n=pe.value.get(e);u.value=n?{...Q(e),...n}:Q(e),Y.value=!0;return}if(["breakfast","lunch","dinner"].includes(t)){const n=Se.value.get(e);m.value=n?{...X(e),...n}:X(e),W.value=!0;return}if(t==="tracking"){const n=ee.value.get(e);if(!n&&e!==j.value)return;y.value={note_date:e,existing_content:String((n==null?void 0:n.content)||""),content:""},B.value=!0;return}const l=Ce.value.get(e);f.value=l?{...Z(e),...l}:Z(e),h.value=!0}async function Ze(){if(!u.value.record_date){T.msgWarning("请选择记录日期");return}de.value=!0;try{u.value.id?await Fl(u.value):await ql(u.value),Y.value=!1,await V()}finally{de.value=!1}}async function el(){if(!m.value.record_date){T.msgWarning("请选择记录日期");return}me.value=!0;try{m.value.id?await Il(m.value):await Pl(m.value),W.value=!1,await V()}finally{me.value=!1}}async function ll(){if(!f.value.record_date){T.msgWarning("请选择记录日期");return}if(!f.value.exercise_type){T.msgWarning("请选择运动类型");return}if(!f.value.duration){T.msgWarning("请输入运动时长");return}fe.value=!0;try{f.value.id?await zl(f.value):await Ol(f.value),h.value=!1,await V()}finally{fe.value=!1}}async function al(){if(!y.value.note_date){T.msgWarning("请选择记录日期");return}if(!N.value){T.msgWarning("仅支持给今天追加跟踪备注");return}const t=y.value.content.trim();if(!t){T.msgWarning("请输入跟踪备注");return}ve.value=!0;try{await Gl({diagnosis_id:R.value,tracking_content:t}),B.value=!1,await V()}finally{ve.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 ml(()=>D.diagnosisId,t=>{t&&V(),ce(F)}),fl(()=>{D.diagnosisId&&V(),ce(F),window.addEventListener("resize",F)}),vl(()=>{window.removeEventListener("resize",F)}),Be({refresh:V}),(t,e)=>{const l=gl,n=_l,v=Cl,i=cl,M=yl,Me=Vl,nl=bl,sl=hl,r=Sl,il=Ul,I=Tl,x=El,oe=Rl,ne=Dl,ge=Hl,se=Bl,w=Yl,Ye=Ml,ul=Wl;return pl((p(),b("div",ea,[g("div",la,[g("div",aa,[a(n,{modelValue:H.value,"onUpdate:modelValue":e[0]||(e[0]=o=>H.value=o),onChange:Ke},{default:s(()=>[a(l,{value:"7"},{default:s(()=>[...e[40]||(e[40]=[c("最近7天",-1)])]),_:1}),a(l,{value:"30"},{default:s(()=>[...e[41]||(e[41]=[c("最近30天",-1)])]),_:1}),a(l,{value:"custom"},{default:s(()=>[...e[42]||(e[42]=[c("自定义",-1)])]),_:1})]),_:1},8,["modelValue"]),H.value==="custom"?(p(),C(v,{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:Qe},null,8,["modelValue"])):U("",!0)]),E.value?(p(),b("div",ta,[Re.value?(p(),b("span",oa,[...e[43]||(e[43]=[g("span",{class:"daily-matrix__cell-patient"},"自录",-1),g("span",{class:"daily-matrix__legend-text"},"= 患者在小程序自录",-1)])])):U("",!0),a(i,{type:"primary",onClick:e[2]||(e[2]=o=>ae("blood"))},{default:s(()=>[...e[44]||(e[44]=[c("+血糖",-1)])]),_:1}),a(i,{onClick:e[3]||(e[3]=o=>ae("diet"))},{default:s(()=>[...e[45]||(e[45]=[c("+饮食",-1)])]),_:1}),a(i,{onClick:e[4]||(e[4]=o=>ae("exercise"))},{default:s(()=>[...e[46]||(e[46]=[c("+运动",-1)])]),_:1}),a(i,{onClick:e[5]||(e[5]=o=>ae("tracking"))},{default:s(()=>[...e[47]||(e[47]=[c("+备注",-1)])]),_:1}),a(i,{onClick:V},{default:s(()=>[...e[48]||(e[48]=[c("刷新",-1)])]),_:1})])):(p(),b("div",na,[Re.value?(p(),b("span",sa,[...e[49]||(e[49]=[g("span",{class:"daily-matrix__cell-patient"},"自录",-1),g("span",{class:"daily-matrix__legend-text"},"= 患者在小程序自录",-1)])])):U("",!0),a(i,{onClick:V},{default:s(()=>[...e[50]||(e[50]=[c("刷新",-1)])]),_:1})]))]),g("div",{ref_key:"tableWrapRef",ref:ke,class:"daily-matrix__table-wrap"},[a(nl,{data:ze.value,border:"",stripe:"","row-key":"key",class:"daily-matrix__table","empty-text":"暂无记录"},{default:s(()=>[a(M,{prop:"label",label:"指标",fixed:"left",width:"120"}),(p(!0),b(P,null,be(q.value,o=>(p(),C(M,{key:o,label:Te(o),"min-width":Oe.value,align:"center"},{default:s(({row:k})=>[g("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:We=>Xe(k.key,o)},[k.key==="tracking"&&te(o)?(p(),C(Me,{key:0,placement:"top",effect:"light","show-after":150},{content:s(()=>[g("div",ua,[(p(!0),b(P,null,be(_e(te(o)),(We,rl)=>(p(),b("div",{key:`${o}-${rl}`,class:"daily-matrix__tracking-tooltip-line"},ie(We),1))),128))])]),default:s(()=>[g("div",ra,ie(tl(te(o))),1)]),_:2},1024)):S(k.key,o).value?(p(),b(P,{key:1},[g("span",null,ie(S(k.key,o).value),1),S(k.key,o).isHigh?(p(),b("span",da,"↑")):U("",!0),S(k.key,o).isPatientSelf?(p(),C(Me,{key:1,content:"患者在小程序自录的数据",placement:"top","show-after":120},{default:s(()=>[...e[51]||(e[51]=[g("span",{class:"daily-matrix__cell-patient"},"自录",-1)])]),_:1})):U("",!0)],64)):(p(),b(P,{key:2},[c("—")],64))],10,ia)]),_:2},1032,["label","min-width"]))),128))]),_:1},8,["data"])],512),g("div",ma,[e[52]||(e[52]=g("div",{class:"daily-matrix__section-title"},"血糖趋势",-1)),Je.value?(p(),C(xl(wl),{key:0,class:"daily-matrix__chart-canvas",option:je.value,autoresize:""},null,8,["option"])):(p(),C(sl,{key:1,description:"当前时间范围暂无血糖数据","image-size":84}))]),Ae.value?(p(),b("div",fa,[e[53]||(e[53]=g("div",{class:"daily-matrix__section-title"},"待办事项",-1)),a(Nl,{"diagnosis-id":R.value,"patient-id":z.value,"patient-name":$e.value,"read-only":ue.value},null,8,["diagnosis-id","patient-id","patient-name","read-only"])])):U("",!0),a(ne,{modelValue:Y.value,"onUpdate:modelValue":e[17]||(e[17]=o=>Y.value=o),title:Le.value,width:"600px","close-on-click-modal":!1},{footer:s(()=>[a(i,{onClick:e[16]||(e[16]=o=>Y.value=!1)},{default:s(()=>[...e[59]||(e[59]=[c("取消",-1)])]),_:1}),a(i,{type:"primary",loading:de.value,disabled:!E.value,onClick:Ze},{default:s(()=>[...e[60]||(e[60]=[c("确定",-1)])]),_:1},8,["loading","disabled"])]),default:s(()=>[a(oe,{model:u.value,"label-width":"120px"},{default:s(()=>[a(r,{label:"记录日期",required:""},{default:s(()=>[a(v,{modelValue:u.value.record_date,"onUpdate:modelValue":e[6]||(e[6]=o=>u.value.record_date=o),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),a(r,{label:"记录时间"},{default:s(()=>[a(il,{modelValue:u.value.record_time,"onUpdate:modelValue":e[7]||(e[7]=o=>u.value.record_time=o),placeholder:"选择时间",format:"HH:mm","value-format":"HH:mm",class:"w-full"},null,8,["modelValue"])]),_:1}),a(r,{label:"空腹血糖"},{default:s(()=>[a(I,{modelValue:u.value.fasting_blood_sugar,"onUpdate:modelValue":e[8]||(e[8]=o=>u.value.fasting_blood_sugar=o),precision:2,step:.1,min:0,max:50},null,8,["modelValue"]),e[54]||(e[54]=g("span",{class:"ml-2"},"mmol/L",-1))]),_:1}),a(r,{label:"餐后2小时血糖"},{default:s(()=>[a(I,{modelValue:u.value.postprandial_blood_sugar,"onUpdate:modelValue":e[9]||(e[9]=o=>u.value.postprandial_blood_sugar=o),precision:2,step:.1,min:0,max:50},null,8,["modelValue"]),e[55]||(e[55]=g("span",{class:"ml-2"},"mmol/L",-1))]),_:1}),a(r,{label:"其他血糖"},{default:s(()=>[a(x,{modelValue:u.value.other_blood_sugar,"onUpdate:modelValue":e[10]||(e[10]=o=>u.value.other_blood_sugar=o),type:"number",style:{width:"200px"}},null,8,["modelValue"]),e[56]||(e[56]=g("span",{class:"ml-2"},"mmol/L",-1))]),_:1}),a(r,{label:"收缩压(高压)"},{default:s(()=>[a(I,{modelValue:u.value.systolic_pressure,"onUpdate:modelValue":e[11]||(e[11]=o=>u.value.systolic_pressure=o),min:0,max:300},null,8,["modelValue"]),e[57]||(e[57]=g("span",{class:"ml-2"},"mmHg",-1))]),_:1}),a(r,{label:"舒张压(低压)"},{default:s(()=>[a(I,{modelValue:u.value.diastolic_pressure,"onUpdate:modelValue":e[12]||(e[12]=o=>u.value.diastolic_pressure=o),min:0,max:200},null,8,["modelValue"]),e[58]||(e[58]=g("span",{class:"ml-2"},"mmHg",-1))]),_:1}),a(r,{label:"西药"},{default:s(()=>[a(x,{modelValue:u.value.western_medicine,"onUpdate:modelValue":e[13]||(e[13]=o=>u.value.western_medicine=o)},null,8,["modelValue"])]),_:1}),a(r,{label:"胰岛素"},{default:s(()=>[a(x,{modelValue:u.value.insulin,"onUpdate:modelValue":e[14]||(e[14]=o=>u.value.insulin=o)},null,8,["modelValue"])]),_:1}),a(r,{label:"备注"},{default:s(()=>[a(x,{modelValue:u.value.remark,"onUpdate:modelValue":e[15]||(e[15]=o=>u.value.remark=o),type:"textarea",rows:3},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),a(ne,{modelValue:W.value,"onUpdate:modelValue":e[27]||(e[27]=o=>W.value=o),title:Fe.value,width:"800px","close-on-click-modal":!1},{footer:s(()=>[a(i,{onClick:e[26]||(e[26]=o=>W.value=!1)},{default:s(()=>[...e[64]||(e[64]=[c("取消",-1)])]),_:1}),a(i,{type:"primary",loading:me.value,disabled:!E.value,onClick:el},{default:s(()=>[...e[65]||(e[65]=[c("确定",-1)])]),_:1},8,["loading","disabled"])]),default:s(()=>[a(oe,{model:m.value,"label-width":"100px"},{default:s(()=>[a(r,{label:"记录日期",required:""},{default:s(()=>[a(v,{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:s(()=>[...e[61]||(e[61]=[c("早餐",-1)])]),_:1}),a(r,{label:"食物描述"},{default:s(()=>[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(r,{label:"图片"},{default:s(()=>[a(se,{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:s(()=>[...e[62]||(e[62]=[c("午餐",-1)])]),_:1}),a(r,{label:"食物描述"},{default:s(()=>[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(r,{label:"图片"},{default:s(()=>[a(se,{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:s(()=>[...e[63]||(e[63]=[c("晚餐",-1)])]),_:1}),a(r,{label:"食物描述"},{default:s(()=>[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(r,{label:"图片"},{default:s(()=>[a(se,{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(r,{label:"备注"},{default:s(()=>[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:qe.value,width:"600px","close-on-click-modal":!1},{footer:s(()=>[a(i,{onClick:e[34]||(e[34]=o=>h.value=!1)},{default:s(()=>[...e[66]||(e[66]=[c("取消",-1)])]),_:1}),a(i,{type:"primary",loading:fe.value,disabled:!E.value,onClick:ll},{default:s(()=>[...e[67]||(e[67]=[c("确定",-1)])]),_:1},8,["loading","disabled"])]),default:s(()=>[a(oe,{model:f.value,"label-width":"120px"},{default:s(()=>[a(r,{label:"记录日期",required:""},{default:s(()=>[a(v,{modelValue:f.value.record_date,"onUpdate:modelValue":e[28]||(e[28]=o=>f.value.record_date=o),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),a(r,{label:"运动类型",required:""},{default:s(()=>[a(Ye,{modelValue:f.value.exercise_type,"onUpdate:modelValue":e[29]||(e[29]=o=>f.value.exercise_type=o),placeholder:"请选择运动类型",class:"w-full"},{default:s(()=>[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(r,{label:"运动时长(分钟)",required:""},{default:s(()=>[a(I,{modelValue:f.value.duration,"onUpdate:modelValue":e[30]||(e[30]=o=>f.value.duration=o),min:0,max:300},null,8,["modelValue"])]),_:1}),a(r,{label:"运动强度",required:""},{default:s(()=>[a(Ye,{modelValue:f.value.intensity,"onUpdate:modelValue":e[31]||(e[31]=o=>f.value.intensity=o),placeholder:"请选择运动强度",class:"w-full"},{default:s(()=>[a(w,{label:"低强度",value:1}),a(w,{label:"中强度",value:2}),a(w,{label:"高强度",value:3})]),_:1},8,["modelValue"])]),_:1}),a(r,{label:"运动图片"},{default:s(()=>[a(se,{modelValue:f.value.images,"onUpdate:modelValue":e[32]||(e[32]=o=>f.value.images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),a(r,{label:"备注"},{default:s(()=>[a(x,{modelValue:f.value.note,"onUpdate:modelValue":e[33]||(e[33]=o=>f.value.note=o),type:"textarea",rows:3},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),a(ne,{modelValue:B.value,"onUpdate:modelValue":e[39]||(e[39]=o=>B.value=o),title:Ie.value,width:"600px","close-on-click-modal":!1},{footer:s(()=>[a(i,{onClick:e[38]||(e[38]=o=>B.value=!1)},{default:s(()=>[...e[68]||(e[68]=[c("取消",-1)])]),_:1}),N.value?(p(),C(i,{key:0,type:"primary",loading:ve.value,onClick:al},{default:s(()=>[...e[69]||(e[69]=[c("确定",-1)])]),_:1},8,["loading"])):U("",!0)]),default:s(()=>[a(oe,{model:y.value,"label-width":"100px"},{default:s(()=>[a(r,{label:"记录日期",required:""},{default:s(()=>[a(v,{modelValue:y.value.note_date,"onUpdate:modelValue":e[36]||(e[36]=o=>y.value.note_date=o),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full",disabled:!0},null,8,["modelValue"])]),_:1}),y.value.existing_content?(p(),C(r,{key:0,label:"已有备注"},{default:s(()=>[g("div",va,[(p(!0),b(P,null,be(_e(y.value.existing_content),(o,k)=>(p(),b("div",{key:`${y.value.note_date}-${k}`,class:"daily-matrix__tracking-line"},ie(o),1))),128))])]),_:1})):U("",!0),a(r,{label:N.value?"追加备注":"备注内容",required:""},{default:s(()=>[a(x,{modelValue:y.value.content,"onUpdate:modelValue":e[37]||(e[37]=o=>y.value.content=o),type:"textarea",rows:5,maxlength:"1000","show-word-limit":"",disabled:!N.value,placeholder:N.value?"请输入跟踪备注":"历史跟踪备注仅支持查看"},null,8,["modelValue","disabled","placeholder"])]),_:1},8,["label"])]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])),[[ul,re.value]])}}}),Ha=Zl(_a,[["__scopeId","data-v-a5368e74"]]);export{Ha as default}; diff --git a/server/public/admin/assets/DiagnosisTodoList-wLDuYeQL.js b/server/public/admin/assets/DiagnosisTodoList-CAIMA53u.js similarity index 97% rename from server/public/admin/assets/DiagnosisTodoList-wLDuYeQL.js rename to server/public/admin/assets/DiagnosisTodoList-CAIMA53u.js index 486380a7..e8fcef8e 100644 --- a/server/public/admin/assets/DiagnosisTodoList-wLDuYeQL.js +++ b/server/public/admin/assets/DiagnosisTodoList-CAIMA53u.js @@ -1 +1 @@ -import{o as Q,R as X,be as Z,q as c,r as y,s as T,ac as h,O as E,D as o,L as n,v as t,bc as ee,C as A,u as i,bb as te,K as ae,bk as oe,br as se,T as w,bi as le,bt as ne,b9 as ie,b6 as de,bp as re,b7 as ue,p as me,ba as N,M as k,bj as ce,n as pe}from"./.pnpm-9dA1PEvN.js";import{_ as fe}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{$ as _e,a0 as ge,a1 as be}from"./tcm-DOD9_1Um.js";import{h as ve}from"./perm-BLNmf25V.js";import{i as x,_ as ye}from"./index-CJvXnF8Y.js";const we={class:"diagnosis-todo-list"},ke={class:"toolbar"},xe={key:0,class:"text-danger"},Ve={key:1},De={key:1,class:"text-muted"},Ce={class:"pagination-wrap"},Te=Q({__name:"DiagnosisTodoList",props:{diagnosisId:{},patientId:{},patientName:{},readOnly:{type:Boolean}},setup(R,{expose:B}){const V=["tcm.diagnosis/dailyRecord"],d=R,b=me(()=>ve(V)),l=N({page:1,size:15,count:0,loading:!1,lists:[]}),p=k(""),u=async()=>{if(!d.diagnosisId||Number(d.diagnosisId)<=0||!b.value){l.lists=[],l.count=0;return}l.loading=!0;try{const s={page_no:l.page,page_size:l.size,diagnosis_id:Number(d.diagnosisId)};p.value!==""&&p.value!==void 0&&(s.status=Number(p.value));const e=await _e(s);l.count=Number((e==null?void 0:e.count)??0),l.lists=Array.isArray(e==null?void 0:e.lists)?e.lists:[]}catch{l.lists=[],l.count=0}finally{l.loading=!1}};X(()=>d.diagnosisId,()=>{l.page=1,u()},{immediate:!0});const F=()=>{l.page=1,u()},L=s=>{switch(Number(s)){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),v=k(),r=N({remindAt:"",content:""}),M={remindAt:[{required:!0,message:"请选择提醒时间",trigger:"change"}],content:[{required:!0,message:"请输入提醒内容",trigger:"blur"},{max:500,message:"内容最多 500 字",trigger:"blur"}]},S=s=>{const e=new Date;return e.setHours(0,0,0,0),s.getTime(){if(!d.diagnosisId||!b.value){x.msgWarning("诊单未保存,无法添加待办");return}r.remindAt="",r.content="",f.value=!0,pe(()=>{var s;return(s=v.value)==null?void 0:s.clearValidate()})},O=async()=>{if(!v.value||!await v.value.validate().catch(()=>!1))return;const e=Number(r.remindAt);if(!Number.isFinite(e)||e<=Date.now()+30*1e3){x.msgWarning("提醒时间必须晚于当前时间至少 30 秒");return}D.value=!0;try{await ge({diagnosis_id:Number(d.diagnosisId),content:r.content.trim(),remind_time:Math.floor(e/1e3)}),f.value=!1,u()}catch{}finally{D.value=!1}},P=async s=>{if(!(!b.value||d.readOnly)){try{await x.confirm(`确认取消「${s.remind_time_text} · ${U(s.content,30)}」吗?`)}catch{return}try{await be({id:Number(s.id)}),x.msgSuccess("已取消"),u()}catch{}}},U=(s,e)=>s?s.length>e?s.slice(0,e)+"...":s:"";return B({refresh:u}),(s,e)=>{const _=ae,g=te,Y=ee,m=oe,z=se,q=ce,H=fe,W=re,C=de,j=ue,G=ie,K=ne,I=Z("perms"),J=le;return c(),y("div",we,[T("div",ke,[h((c(),E(_,{type:"primary",disabled:!d.diagnosisId||!b.value,onClick:$},{default:o(()=>[...e[6]||(e[6]=[n(" + 新增待办 ",-1)])]),_:1},8,["disabled"])),[[I,V]]),t(Y,{modelValue:i(p),"onUpdate:modelValue":e[0]||(e[0]=a=>A(p)?p.value=a:null),class:"ml-3",onChange:F},{default:o(()=>[t(g,{value:""},{default:o(()=>[...e[7]||(e[7]=[n("全部",-1)])]),_:1}),t(g,{value:0},{default:o(()=>[...e[8]||(e[8]=[n("待执行",-1)])]),_:1}),t(g,{value:1},{default:o(()=>[...e[9]||(e[9]=[n("已发送",-1)])]),_:1}),t(g,{value:3},{default:o(()=>[...e[10]||(e[10]=[n("失败",-1)])]),_:1}),t(g,{value:2},{default:o(()=>[...e[11]||(e[11]=[n("已取消",-1)])]),_:1})]),_:1},8,["modelValue"]),t(_,{class:"ml-3",onClick:u},{default:o(()=>[...e[12]||(e[12]=[n("刷新",-1)])]),_:1})]),h((c(),E(q,{data:i(l).lists,border:"",class:"todo-table","empty-text":"暂无待办","row-key":"id"},{default:o(()=>[t(m,{label:"提醒时间",prop:"remind_time_text",width:"160"}),t(m,{label:"内容",prop:"content","min-width":"240","show-overflow-tooltip":""}),t(m,{label:"状态",width:"110",align:"center"},{default:o(({row:a})=>[t(z,{type:L(a.status),effect:"light",size:"small"},{default:o(()=>[n(w(a.status_text),1)]),_:2},1032,["type"])]),_:1}),t(m,{label:"创建人",prop:"creator_name",width:"120"},{default:o(({row:a})=>[n(w(a.creator_name||"-"),1)]),_:1}),t(m,{label:"推送时间",prop:"notified_at_text",width:"160"},{default:o(({row:a})=>[n(w(a.notified_at_text||"-"),1)]),_:1}),t(m,{label:"失败原因",prop:"error","min-width":"200","show-overflow-tooltip":""},{default:o(({row:a})=>[a.status===3?(c(),y("span",xe,w(a.error||"未知错误"),1)):(c(),y("span",Ve,"-"))]),_:1}),t(m,{label:"操作",width:"120",fixed:"right",align:"center"},{default:o(({row:a})=>[!d.readOnly&&a.status===0&&a.can_cancel?h((c(),E(_,{key:0,link:"",type:"danger",onClick:he=>P(a)},{default:o(()=>[...e[13]||(e[13]=[n(" 取消 ",-1)])]),_:1},8,["onClick"])),[[I,V]]):(c(),y("span",De,"-"))]),_:1})]),_:1},8,["data"])),[[J,i(l).loading]]),T("div",Ce,[t(H,{modelValue:i(l),"onUpdate:modelValue":e[1]||(e[1]=a=>A(l)?l.value=a:null),onChange:u},null,8,["modelValue"])]),t(K,{modelValue:i(f),"onUpdate:modelValue":e[5]||(e[5]=a=>A(f)?f.value=a:null),title:"新增待办",width:"520px","close-on-click-modal":!1},{footer:o(()=>[t(_,{onClick:e[4]||(e[4]=a=>f.value=!1)},{default:o(()=>[...e[15]||(e[15]=[n("取消",-1)])]),_:1}),t(_,{type:"primary",loading:i(D),onClick:O},{default:o(()=>[...e[16]||(e[16]=[n(" 提交 ",-1)])]),_:1},8,["loading"])]),default:o(()=>[t(G,{ref_key:"addFormRef",ref:v,model:i(r),rules:M,"label-width":"100px"},{default:o(()=>[t(C,{label:"提醒时间",prop:"remindAt"},{default:o(()=>[t(W,{modelValue:i(r).remindAt,"onUpdate:modelValue":e[2]||(e[2]=a=>i(r).remindAt=a),type:"datetime",placeholder:"选择提醒时间",format:"YYYY-MM-DD HH:mm","value-format":"x","disabled-date":S,class:"w-full"},null,8,["modelValue"])]),_:1}),t(C,{label:"提醒内容",prop:"content"},{default:o(()=>[t(j,{modelValue:i(r).content,"onUpdate:modelValue":e[3]||(e[3]=a=>i(r).content=a),type:"textarea",rows:4,maxlength:500,"show-word-limit":"",placeholder:"例:3 天后回访患者复测餐后血糖"},null,8,["modelValue"])]),_:1}),t(C,{label:"提醒人"},{default:o(()=>[...e[14]||(e[14]=[T("span",{class:"text-muted"},"企微推送给当前登录账号(创建人本人)",-1)])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}}),Be=ye(Te,[["__scopeId","data-v-e71c3261"]]);export{Be as default}; +import{o as Q,R as X,be as Z,q as c,r as y,s as T,ac as h,O as E,D as o,L as n,v as t,bc as ee,C as A,u as i,bb as te,K as ae,bk as oe,br as se,T as w,bi as le,bt as ne,b9 as ie,b6 as de,bp as re,b7 as ue,p as me,ba as N,M as k,bj as ce,n as pe}from"./.pnpm-9dA1PEvN.js";import{_ as fe}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{$ as _e,a0 as ge,a1 as be}from"./tcm-Fi_swgCr.js";import{h as ve}from"./perm-BzF8JgcJ.js";import{i as x,_ as ye}from"./index-BWzN7QIb.js";const we={class:"diagnosis-todo-list"},ke={class:"toolbar"},xe={key:0,class:"text-danger"},Ve={key:1},De={key:1,class:"text-muted"},Ce={class:"pagination-wrap"},Te=Q({__name:"DiagnosisTodoList",props:{diagnosisId:{},patientId:{},patientName:{},readOnly:{type:Boolean}},setup(R,{expose:B}){const V=["tcm.diagnosis/dailyRecord"],d=R,b=me(()=>ve(V)),l=N({page:1,size:15,count:0,loading:!1,lists:[]}),p=k(""),u=async()=>{if(!d.diagnosisId||Number(d.diagnosisId)<=0||!b.value){l.lists=[],l.count=0;return}l.loading=!0;try{const s={page_no:l.page,page_size:l.size,diagnosis_id:Number(d.diagnosisId)};p.value!==""&&p.value!==void 0&&(s.status=Number(p.value));const e=await _e(s);l.count=Number((e==null?void 0:e.count)??0),l.lists=Array.isArray(e==null?void 0:e.lists)?e.lists:[]}catch{l.lists=[],l.count=0}finally{l.loading=!1}};X(()=>d.diagnosisId,()=>{l.page=1,u()},{immediate:!0});const F=()=>{l.page=1,u()},L=s=>{switch(Number(s)){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),v=k(),r=N({remindAt:"",content:""}),M={remindAt:[{required:!0,message:"请选择提醒时间",trigger:"change"}],content:[{required:!0,message:"请输入提醒内容",trigger:"blur"},{max:500,message:"内容最多 500 字",trigger:"blur"}]},S=s=>{const e=new Date;return e.setHours(0,0,0,0),s.getTime(){if(!d.diagnosisId||!b.value){x.msgWarning("诊单未保存,无法添加待办");return}r.remindAt="",r.content="",f.value=!0,pe(()=>{var s;return(s=v.value)==null?void 0:s.clearValidate()})},O=async()=>{if(!v.value||!await v.value.validate().catch(()=>!1))return;const e=Number(r.remindAt);if(!Number.isFinite(e)||e<=Date.now()+30*1e3){x.msgWarning("提醒时间必须晚于当前时间至少 30 秒");return}D.value=!0;try{await ge({diagnosis_id:Number(d.diagnosisId),content:r.content.trim(),remind_time:Math.floor(e/1e3)}),f.value=!1,u()}catch{}finally{D.value=!1}},P=async s=>{if(!(!b.value||d.readOnly)){try{await x.confirm(`确认取消「${s.remind_time_text} · ${U(s.content,30)}」吗?`)}catch{return}try{await be({id:Number(s.id)}),x.msgSuccess("已取消"),u()}catch{}}},U=(s,e)=>s?s.length>e?s.slice(0,e)+"...":s:"";return B({refresh:u}),(s,e)=>{const _=ae,g=te,Y=ee,m=oe,z=se,q=ce,H=fe,W=re,C=de,j=ue,G=ie,K=ne,I=Z("perms"),J=le;return c(),y("div",we,[T("div",ke,[h((c(),E(_,{type:"primary",disabled:!d.diagnosisId||!b.value,onClick:$},{default:o(()=>[...e[6]||(e[6]=[n(" + 新增待办 ",-1)])]),_:1},8,["disabled"])),[[I,V]]),t(Y,{modelValue:i(p),"onUpdate:modelValue":e[0]||(e[0]=a=>A(p)?p.value=a:null),class:"ml-3",onChange:F},{default:o(()=>[t(g,{value:""},{default:o(()=>[...e[7]||(e[7]=[n("全部",-1)])]),_:1}),t(g,{value:0},{default:o(()=>[...e[8]||(e[8]=[n("待执行",-1)])]),_:1}),t(g,{value:1},{default:o(()=>[...e[9]||(e[9]=[n("已发送",-1)])]),_:1}),t(g,{value:3},{default:o(()=>[...e[10]||(e[10]=[n("失败",-1)])]),_:1}),t(g,{value:2},{default:o(()=>[...e[11]||(e[11]=[n("已取消",-1)])]),_:1})]),_:1},8,["modelValue"]),t(_,{class:"ml-3",onClick:u},{default:o(()=>[...e[12]||(e[12]=[n("刷新",-1)])]),_:1})]),h((c(),E(q,{data:i(l).lists,border:"",class:"todo-table","empty-text":"暂无待办","row-key":"id"},{default:o(()=>[t(m,{label:"提醒时间",prop:"remind_time_text",width:"160"}),t(m,{label:"内容",prop:"content","min-width":"240","show-overflow-tooltip":""}),t(m,{label:"状态",width:"110",align:"center"},{default:o(({row:a})=>[t(z,{type:L(a.status),effect:"light",size:"small"},{default:o(()=>[n(w(a.status_text),1)]),_:2},1032,["type"])]),_:1}),t(m,{label:"创建人",prop:"creator_name",width:"120"},{default:o(({row:a})=>[n(w(a.creator_name||"-"),1)]),_:1}),t(m,{label:"推送时间",prop:"notified_at_text",width:"160"},{default:o(({row:a})=>[n(w(a.notified_at_text||"-"),1)]),_:1}),t(m,{label:"失败原因",prop:"error","min-width":"200","show-overflow-tooltip":""},{default:o(({row:a})=>[a.status===3?(c(),y("span",xe,w(a.error||"未知错误"),1)):(c(),y("span",Ve,"-"))]),_:1}),t(m,{label:"操作",width:"120",fixed:"right",align:"center"},{default:o(({row:a})=>[!d.readOnly&&a.status===0&&a.can_cancel?h((c(),E(_,{key:0,link:"",type:"danger",onClick:he=>P(a)},{default:o(()=>[...e[13]||(e[13]=[n(" 取消 ",-1)])]),_:1},8,["onClick"])),[[I,V]]):(c(),y("span",De,"-"))]),_:1})]),_:1},8,["data"])),[[J,i(l).loading]]),T("div",Ce,[t(H,{modelValue:i(l),"onUpdate:modelValue":e[1]||(e[1]=a=>A(l)?l.value=a:null),onChange:u},null,8,["modelValue"])]),t(K,{modelValue:i(f),"onUpdate:modelValue":e[5]||(e[5]=a=>A(f)?f.value=a:null),title:"新增待办",width:"520px","close-on-click-modal":!1},{footer:o(()=>[t(_,{onClick:e[4]||(e[4]=a=>f.value=!1)},{default:o(()=>[...e[15]||(e[15]=[n("取消",-1)])]),_:1}),t(_,{type:"primary",loading:i(D),onClick:O},{default:o(()=>[...e[16]||(e[16]=[n(" 提交 ",-1)])]),_:1},8,["loading"])]),default:o(()=>[t(G,{ref_key:"addFormRef",ref:v,model:i(r),rules:M,"label-width":"100px"},{default:o(()=>[t(C,{label:"提醒时间",prop:"remindAt"},{default:o(()=>[t(W,{modelValue:i(r).remindAt,"onUpdate:modelValue":e[2]||(e[2]=a=>i(r).remindAt=a),type:"datetime",placeholder:"选择提醒时间",format:"YYYY-MM-DD HH:mm","value-format":"x","disabled-date":S,class:"w-full"},null,8,["modelValue"])]),_:1}),t(C,{label:"提醒内容",prop:"content"},{default:o(()=>[t(j,{modelValue:i(r).content,"onUpdate:modelValue":e[3]||(e[3]=a=>i(r).content=a),type:"textarea",rows:4,maxlength:500,"show-word-limit":"",placeholder:"例:3 天后回访患者复测餐后血糖"},null,8,["modelValue"])]),_:1}),t(C,{label:"提醒人"},{default:o(()=>[...e[14]||(e[14]=[T("span",{class:"text-muted"},"企微推送给当前登录账号(创建人本人)",-1)])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}}),Be=ye(Te,[["__scopeId","data-v-e71c3261"]]);export{Be as default}; diff --git a/server/public/admin/assets/DietRecordList-C45g4Z9I.js b/server/public/admin/assets/DietRecordList-vLafiEoe.js similarity index 93% rename from server/public/admin/assets/DietRecordList-C45g4Z9I.js rename to server/public/admin/assets/DietRecordList-vLafiEoe.js index 5cd482f5..74f9c579 100644 --- a/server/public/admin/assets/DietRecordList-C45g4Z9I.js +++ b/server/public/admin/assets/DietRecordList-vLafiEoe.js @@ -1 +1 @@ -import{o as M,M as y,ap as O,R as Y,q as s,r as u,v as t,D as a,L as m,K as F,P as x,bk as P,T as I,O as $,u as d,bj as j,b9 as q,b6 as A,bp as W,bD as K,b7 as X,C as z,bt as G,p as H}from"./.pnpm-9dA1PEvN.js";import{_ as J}from"./picker-DWQ_BAep.js";import{ai as Q,aj as Z,W as ee,X as te}from"./tcm-DOD9_1Um.js";import{i as c,_ as oe}from"./index-CJvXnF8Y.js";import"./index-BBemoNXE.js";import"./index-CY1mb9yY.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-CAGpCz28.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const le={class:"diet-record-list"},ae={key:0,class:"mb-4"},de={key:0},ne={key:1},ie={key:0},se={key:1},re={key:0},ue={key:1},me=M({__name:"DietRecordList",props:{diagnosisId:{type:Number,default:0},patientId:{type:Number,default:0},readOnly:{type:Boolean,default:!1}},setup(k){const n=k,D=y([]),p=y(!1),V=y(!1),C=H(()=>l.value.id?"编辑记录":"添加记录"),l=y({id:"",diagnosis_id:n.diagnosisId,patient_id:n.patientId,record_date:"",breakfast_foods:"",breakfast_images:[],lunch_foods:"",lunch_images:[],dinner_foods:"",dinner_images:[],note:""}),b=async()=>{if(!(!n.diagnosisId&&!n.patientId))try{const i=await Q({diagnosis_id:n.diagnosisId,patient_id:n.patientId});D.value=i}catch(i){console.error("获取记录失败:",i)}},E=()=>{l.value={id:"",diagnosis_id:n.diagnosisId,patient_id:n.patientId,record_date:"",breakfast_foods:"",breakfast_images:[],lunch_foods:"",lunch_images:[],dinner_foods:"",dinner_images:[],note:""},p.value=!0},R=i=>{l.value={...i},p.value=!0},U=async i=>{await c.confirm("确定要删除这条记录吗?");try{await Z({id:i.id}),c.msgSuccess("删除成功"),b()}catch(e){console.error("删除失败:",e)}},h=async()=>{if(!l.value.record_date){c.msgWarning("请选择记录日期");return}V.value=!0;try{l.value.id?(await ee(l.value),c.msgSuccess("编辑成功")):(await te(l.value),c.msgSuccess("添加成功")),p.value=!1,b()}catch(i){console.error("提交失败:",i)}finally{V.value=!1}};return O(()=>{b()}),Y(()=>[n.diagnosisId,n.patientId],()=>{b()}),(i,e)=>{const f=F,_=P,B=j,N=W,r=A,v=K,g=X,w=J,S=q,T=G;return s(),u("div",le,[k.readOnly?x("",!0):(s(),u("div",ae,[t(f,{type:"primary",onClick:E},{default:a(()=>[...e[10]||(e[10]=[m("添加记录",-1)])]),_:1})])),t(B,{data:d(D),border:""},{default:a(()=>[t(_,{prop:"record_date",label:"记录日期",width:"120"}),t(_,{label:"早餐","min-width":"200"},{default:a(({row:o})=>[o.breakfast_foods?(s(),u("div",de,I(o.breakfast_foods),1)):(s(),u("span",ne,"-"))]),_:1}),t(_,{label:"午餐","min-width":"200"},{default:a(({row:o})=>[o.lunch_foods?(s(),u("div",ie,I(o.lunch_foods),1)):(s(),u("span",se,"-"))]),_:1}),t(_,{label:"晚餐","min-width":"200"},{default:a(({row:o})=>[o.dinner_foods?(s(),u("div",re,I(o.dinner_foods),1)):(s(),u("span",ue,"-"))]),_:1}),t(_,{prop:"note",label:"备注","show-overflow-tooltip":""}),k.readOnly?x("",!0):(s(),$(_,{key:0,label:"操作",width:"150",fixed:"right"},{default:a(({row:o})=>[t(f,{link:"",type:"primary",onClick:L=>R(o)},{default:a(()=>[...e[11]||(e[11]=[m("编辑",-1)])]),_:1},8,["onClick"]),t(f,{link:"",type:"danger",onClick:L=>U(o)},{default:a(()=>[...e[12]||(e[12]=[m("删除",-1)])]),_:1},8,["onClick"])]),_:1}))]),_:1},8,["data"]),t(T,{modelValue:d(p),"onUpdate:modelValue":e[9]||(e[9]=o=>z(p)?p.value=o:null),title:d(C),width:"800px"},{footer:a(()=>[t(f,{onClick:e[8]||(e[8]=o=>p.value=!1)},{default:a(()=>[...e[16]||(e[16]=[m("取消",-1)])]),_:1}),t(f,{type:"primary",onClick:h,loading:d(V)},{default:a(()=>[...e[17]||(e[17]=[m("确定",-1)])]),_:1},8,["loading"])]),default:a(()=>[t(S,{model:d(l),"label-width":"100px"},{default:a(()=>[t(r,{label:"记录日期",required:""},{default:a(()=>[t(N,{modelValue:d(l).record_date,"onUpdate:modelValue":e[0]||(e[0]=o=>d(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]=[m("早餐",-1)])]),_:1}),t(r,{label:"食物描述"},{default:a(()=>[t(g,{modelValue:d(l).breakfast_foods,"onUpdate:modelValue":e[1]||(e[1]=o=>d(l).breakfast_foods=o),type:"textarea",rows:2,placeholder:"请输入早餐食物"},null,8,["modelValue"])]),_:1}),t(r,{label:"图片"},{default:a(()=>[t(w,{modelValue:d(l).breakfast_images,"onUpdate:modelValue":e[2]||(e[2]=o=>d(l).breakfast_images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),t(v,{"content-position":"left"},{default:a(()=>[...e[14]||(e[14]=[m("午餐",-1)])]),_:1}),t(r,{label:"食物描述"},{default:a(()=>[t(g,{modelValue:d(l).lunch_foods,"onUpdate:modelValue":e[3]||(e[3]=o=>d(l).lunch_foods=o),type:"textarea",rows:2,placeholder:"请输入午餐食物"},null,8,["modelValue"])]),_:1}),t(r,{label:"图片"},{default:a(()=>[t(w,{modelValue:d(l).lunch_images,"onUpdate:modelValue":e[4]||(e[4]=o=>d(l).lunch_images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),t(v,{"content-position":"left"},{default:a(()=>[...e[15]||(e[15]=[m("晚餐",-1)])]),_:1}),t(r,{label:"食物描述"},{default:a(()=>[t(g,{modelValue:d(l).dinner_foods,"onUpdate:modelValue":e[5]||(e[5]=o=>d(l).dinner_foods=o),type:"textarea",rows:2,placeholder:"请输入晚餐食物"},null,8,["modelValue"])]),_:1}),t(r,{label:"图片"},{default:a(()=>[t(w,{modelValue:d(l).dinner_images,"onUpdate:modelValue":e[6]||(e[6]=o=>d(l).dinner_images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),t(r,{label:"备注"},{default:a(()=>[t(g,{modelValue:d(l).note,"onUpdate:modelValue":e[7]||(e[7]=o=>d(l).note=o),type:"textarea",rows:3,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),De=oe(me,[["__scopeId","data-v-2ef076d1"]]);export{De as default}; +import{o as M,M as y,ap as O,R as Y,q as s,r as u,v as t,D as a,L as m,K as F,P as x,bk as P,T as I,O as $,u as d,bj as j,b9 as q,b6 as A,bp as W,bD as K,b7 as X,C as z,bt as G,p as H}from"./.pnpm-9dA1PEvN.js";import{_ as J}from"./picker-DfI3CPnQ.js";import{ai as Q,aj as Z,W as ee,X as te}from"./tcm-Fi_swgCr.js";import{i as c,_ as oe}from"./index-BWzN7QIb.js";import"./index-dYaCh-CN.js";import"./index-xDQ_OZln.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-fA0EWEUO.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const le={class:"diet-record-list"},ae={key:0,class:"mb-4"},de={key:0},ne={key:1},ie={key:0},se={key:1},re={key:0},ue={key:1},me=M({__name:"DietRecordList",props:{diagnosisId:{type:Number,default:0},patientId:{type:Number,default:0},readOnly:{type:Boolean,default:!1}},setup(k){const n=k,D=y([]),p=y(!1),V=y(!1),C=H(()=>l.value.id?"编辑记录":"添加记录"),l=y({id:"",diagnosis_id:n.diagnosisId,patient_id:n.patientId,record_date:"",breakfast_foods:"",breakfast_images:[],lunch_foods:"",lunch_images:[],dinner_foods:"",dinner_images:[],note:""}),b=async()=>{if(!(!n.diagnosisId&&!n.patientId))try{const i=await Q({diagnosis_id:n.diagnosisId,patient_id:n.patientId});D.value=i}catch(i){console.error("获取记录失败:",i)}},E=()=>{l.value={id:"",diagnosis_id:n.diagnosisId,patient_id:n.patientId,record_date:"",breakfast_foods:"",breakfast_images:[],lunch_foods:"",lunch_images:[],dinner_foods:"",dinner_images:[],note:""},p.value=!0},R=i=>{l.value={...i},p.value=!0},U=async i=>{await c.confirm("确定要删除这条记录吗?");try{await Z({id:i.id}),c.msgSuccess("删除成功"),b()}catch(e){console.error("删除失败:",e)}},h=async()=>{if(!l.value.record_date){c.msgWarning("请选择记录日期");return}V.value=!0;try{l.value.id?(await ee(l.value),c.msgSuccess("编辑成功")):(await te(l.value),c.msgSuccess("添加成功")),p.value=!1,b()}catch(i){console.error("提交失败:",i)}finally{V.value=!1}};return O(()=>{b()}),Y(()=>[n.diagnosisId,n.patientId],()=>{b()}),(i,e)=>{const f=F,_=P,B=j,N=W,r=A,v=K,g=X,w=J,S=q,T=G;return s(),u("div",le,[k.readOnly?x("",!0):(s(),u("div",ae,[t(f,{type:"primary",onClick:E},{default:a(()=>[...e[10]||(e[10]=[m("添加记录",-1)])]),_:1})])),t(B,{data:d(D),border:""},{default:a(()=>[t(_,{prop:"record_date",label:"记录日期",width:"120"}),t(_,{label:"早餐","min-width":"200"},{default:a(({row:o})=>[o.breakfast_foods?(s(),u("div",de,I(o.breakfast_foods),1)):(s(),u("span",ne,"-"))]),_:1}),t(_,{label:"午餐","min-width":"200"},{default:a(({row:o})=>[o.lunch_foods?(s(),u("div",ie,I(o.lunch_foods),1)):(s(),u("span",se,"-"))]),_:1}),t(_,{label:"晚餐","min-width":"200"},{default:a(({row:o})=>[o.dinner_foods?(s(),u("div",re,I(o.dinner_foods),1)):(s(),u("span",ue,"-"))]),_:1}),t(_,{prop:"note",label:"备注","show-overflow-tooltip":""}),k.readOnly?x("",!0):(s(),$(_,{key:0,label:"操作",width:"150",fixed:"right"},{default:a(({row:o})=>[t(f,{link:"",type:"primary",onClick:L=>R(o)},{default:a(()=>[...e[11]||(e[11]=[m("编辑",-1)])]),_:1},8,["onClick"]),t(f,{link:"",type:"danger",onClick:L=>U(o)},{default:a(()=>[...e[12]||(e[12]=[m("删除",-1)])]),_:1},8,["onClick"])]),_:1}))]),_:1},8,["data"]),t(T,{modelValue:d(p),"onUpdate:modelValue":e[9]||(e[9]=o=>z(p)?p.value=o:null),title:d(C),width:"800px"},{footer:a(()=>[t(f,{onClick:e[8]||(e[8]=o=>p.value=!1)},{default:a(()=>[...e[16]||(e[16]=[m("取消",-1)])]),_:1}),t(f,{type:"primary",onClick:h,loading:d(V)},{default:a(()=>[...e[17]||(e[17]=[m("确定",-1)])]),_:1},8,["loading"])]),default:a(()=>[t(S,{model:d(l),"label-width":"100px"},{default:a(()=>[t(r,{label:"记录日期",required:""},{default:a(()=>[t(N,{modelValue:d(l).record_date,"onUpdate:modelValue":e[0]||(e[0]=o=>d(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]=[m("早餐",-1)])]),_:1}),t(r,{label:"食物描述"},{default:a(()=>[t(g,{modelValue:d(l).breakfast_foods,"onUpdate:modelValue":e[1]||(e[1]=o=>d(l).breakfast_foods=o),type:"textarea",rows:2,placeholder:"请输入早餐食物"},null,8,["modelValue"])]),_:1}),t(r,{label:"图片"},{default:a(()=>[t(w,{modelValue:d(l).breakfast_images,"onUpdate:modelValue":e[2]||(e[2]=o=>d(l).breakfast_images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),t(v,{"content-position":"left"},{default:a(()=>[...e[14]||(e[14]=[m("午餐",-1)])]),_:1}),t(r,{label:"食物描述"},{default:a(()=>[t(g,{modelValue:d(l).lunch_foods,"onUpdate:modelValue":e[3]||(e[3]=o=>d(l).lunch_foods=o),type:"textarea",rows:2,placeholder:"请输入午餐食物"},null,8,["modelValue"])]),_:1}),t(r,{label:"图片"},{default:a(()=>[t(w,{modelValue:d(l).lunch_images,"onUpdate:modelValue":e[4]||(e[4]=o=>d(l).lunch_images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),t(v,{"content-position":"left"},{default:a(()=>[...e[15]||(e[15]=[m("晚餐",-1)])]),_:1}),t(r,{label:"食物描述"},{default:a(()=>[t(g,{modelValue:d(l).dinner_foods,"onUpdate:modelValue":e[5]||(e[5]=o=>d(l).dinner_foods=o),type:"textarea",rows:2,placeholder:"请输入晚餐食物"},null,8,["modelValue"])]),_:1}),t(r,{label:"图片"},{default:a(()=>[t(w,{modelValue:d(l).dinner_images,"onUpdate:modelValue":e[6]||(e[6]=o=>d(l).dinner_images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),t(r,{label:"备注"},{default:a(()=>[t(g,{modelValue:d(l).note,"onUpdate:modelValue":e[7]||(e[7]=o=>d(l).note=o),type:"textarea",rows:3,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),De=oe(me,[["__scopeId","data-v-2ef076d1"]]);export{De as default}; diff --git a/server/public/admin/assets/ExerciseRecordList-BurUaTVD.js b/server/public/admin/assets/ExerciseRecordList-4qghvJQ6.js similarity index 94% rename from server/public/admin/assets/ExerciseRecordList-BurUaTVD.js rename to server/public/admin/assets/ExerciseRecordList-4qghvJQ6.js index 5a1ba456..ab85fa77 100644 --- a/server/public/admin/assets/ExerciseRecordList-BurUaTVD.js +++ b/server/public/admin/assets/ExerciseRecordList-4qghvJQ6.js @@ -1 +1 @@ -import{o as P,M as b,ap as W,R as $,q as g,r as k,v as e,D as o,L as p,K as A,P as w,bk as h,T as E,O as j,u as n,bj as J,b9 as K,b6 as Z,bp as z,bm as G,bn as H,J as Q,b7 as X,C as ee,bt as le,p as te}from"./.pnpm-9dA1PEvN.js";import{_ as ae}from"./picker-DWQ_BAep.js";import{ak as oe,al as ne,Y as ie,Z as de}from"./tcm-DOD9_1Um.js";import{i as m,_ as se}from"./index-CJvXnF8Y.js";import"./index-BBemoNXE.js";import"./index-CY1mb9yY.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-CAGpCz28.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const re={class:"exercise-record-list"},ue={key:0,class:"mb-4"},pe=P({__name:"ExerciseRecordList",props:{diagnosisId:{type:Number,default:0},patientId:{type:Number,default:0},readOnly:{type:Boolean,default:!1}},setup(y){const d=y,V=b([]),r=b(!1),v=b(!1),I=te(()=>t.value.id?"编辑记录":"添加记录"),t=b({id:"",diagnosis_id:d.diagnosisId,patient_id:d.patientId,record_date:"",exercise_type:"",duration:0,intensity:1,images:[],note:""}),C=[{label:"低强度",value:1},{label:"中强度",value:2},{label:"高强度",value:3}],R=i=>{const l=C.find(u=>u.value===i);return l?l.label:"未知"},f=async()=>{if(!(!d.diagnosisId&&!d.patientId))try{const i=await oe({diagnosis_id:d.diagnosisId,patient_id:d.patientId});V.value=i}catch(i){console.error("获取记录失败:",i)}},D=()=>{t.value={id:"",diagnosis_id:d.diagnosisId,patient_id:d.patientId,record_date:"",exercise_type:"",duration:0,intensity:1,images:[],note:""},r.value=!0},U=i=>{t.value={...i},r.value=!0},B=async i=>{await m.confirm("确定要删除这条记录吗?");try{await ne({id:i.id}),m.msgSuccess("删除成功"),f()}catch(l){console.error("删除失败:",l)}},N=async()=>{if(!t.value.record_date){m.msgWarning("请选择记录日期");return}if(!t.value.exercise_type){m.msgWarning("请选择运动类型");return}if(!t.value.duration){m.msgWarning("请输入运动时长");return}v.value=!0;try{t.value.id?(await ie(t.value),m.msgSuccess("编辑成功")):(await de(t.value),m.msgSuccess("添加成功")),r.value=!1,f()}catch(i){console.error("提交失败:",i)}finally{v.value=!1}};return W(()=>{f()}),$(()=>[d.diagnosisId,d.patientId],()=>{f()}),(i,l)=>{const u=A,c=h,O=J,S=z,_=Z,s=H,x=G,T=Q,q=ae,Y=X,L=K,M=le;return g(),k("div",re,[y.readOnly?w("",!0):(g(),k("div",ue,[e(u,{type:"primary",onClick:D},{default:o(()=>[...l[8]||(l[8]=[p("添加记录",-1)])]),_:1})])),e(O,{data:n(V),border:"",style:{width:"100%"}},{default:o(()=>[e(c,{prop:"record_date",label:"记录日期",width:"120"}),e(c,{prop:"exercise_type",label:"运动类型",width:"150"}),e(c,{prop:"duration",label:"运动时长",width:"100"},{default:o(({row:a})=>[p(E(a.duration)+" 分钟 ",1)]),_:1}),e(c,{label:"运动强度",width:"100"},{default:o(({row:a})=>[p(E(R(a.intensity)),1)]),_:1}),e(c,{prop:"note",label:"备注","show-overflow-tooltip":""}),y.readOnly?w("",!0):(g(),j(c,{key:0,label:"操作",width:"150",fixed:"right"},{default:o(({row:a})=>[e(u,{link:"",type:"primary",onClick:F=>U(a)},{default:o(()=>[...l[9]||(l[9]=[p("编辑",-1)])]),_:1},8,["onClick"]),e(u,{link:"",type:"danger",onClick:F=>B(a)},{default:o(()=>[...l[10]||(l[10]=[p("删除",-1)])]),_:1},8,["onClick"])]),_:1}))]),_:1},8,["data"]),e(M,{modelValue:n(r),"onUpdate:modelValue":l[7]||(l[7]=a=>ee(r)?r.value=a:null),title:n(I),width:"600px"},{footer:o(()=>[e(u,{onClick:l[6]||(l[6]=a=>r.value=!1)},{default:o(()=>[...l[11]||(l[11]=[p("取消",-1)])]),_:1}),e(u,{type:"primary",onClick:N,loading:n(v)},{default:o(()=>[...l[12]||(l[12]=[p("确定",-1)])]),_:1},8,["loading"])]),default:o(()=>[e(L,{model:n(t),"label-width":"120px"},{default:o(()=>[e(_,{label:"记录日期",required:""},{default:o(()=>[e(S,{modelValue:n(t).record_date,"onUpdate:modelValue":l[0]||(l[0]=a=>n(t).record_date=a),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),e(_,{label:"运动类型",required:""},{default:o(()=>[e(x,{modelValue:n(t).exercise_type,"onUpdate:modelValue":l[1]||(l[1]=a=>n(t).exercise_type=a),placeholder:"请选择运动类型",class:"w-full"},{default:o(()=>[e(s,{label:"散步",value:"散步"}),e(s,{label:"慢跑",value:"慢跑"}),e(s,{label:"游泳",value:"游泳"}),e(s,{label:"瑜伽",value:"瑜伽"}),e(s,{label:"骑自行车",value:"骑自行车"}),e(s,{label:"打太极拳",value:"打太极拳"}),e(s,{label:"其他",value:"其他"})]),_:1},8,["modelValue"])]),_:1}),e(_,{label:"运动时长(分钟)",required:""},{default:o(()=>[e(T,{modelValue:n(t).duration,"onUpdate:modelValue":l[2]||(l[2]=a=>n(t).duration=a),min:0,max:300,placeholder:"请输入运动时长"},null,8,["modelValue"])]),_:1}),e(_,{label:"运动强度",required:""},{default:o(()=>[e(x,{modelValue:n(t).intensity,"onUpdate:modelValue":l[3]||(l[3]=a=>n(t).intensity=a),placeholder:"请选择运动强度",class:"w-full"},{default:o(()=>[e(s,{label:"低强度",value:1}),e(s,{label:"中强度",value:2}),e(s,{label:"高强度",value:3})]),_:1},8,["modelValue"])]),_:1}),e(_,{label:"运动图片"},{default:o(()=>[e(q,{modelValue:n(t).images,"onUpdate:modelValue":l[4]||(l[4]=a=>n(t).images=a),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),e(_,{label:"备注"},{default:o(()=>[e(Y,{modelValue:n(t).note,"onUpdate:modelValue":l[5]||(l[5]=a=>n(t).note=a),type:"textarea",rows:3,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),Ee=se(pe,[["__scopeId","data-v-6a7f7e37"]]);export{Ee as default}; +import{o as P,M as b,ap as W,R as $,q as g,r as k,v as e,D as o,L as p,K as A,P as w,bk as h,T as E,O as j,u as n,bj as J,b9 as K,b6 as Z,bp as z,bm as G,bn as H,J as Q,b7 as X,C as ee,bt as le,p as te}from"./.pnpm-9dA1PEvN.js";import{_ as ae}from"./picker-DfI3CPnQ.js";import{ak as oe,al as ne,Y as ie,Z as de}from"./tcm-Fi_swgCr.js";import{i as m,_ as se}from"./index-BWzN7QIb.js";import"./index-dYaCh-CN.js";import"./index-xDQ_OZln.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-fA0EWEUO.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const re={class:"exercise-record-list"},ue={key:0,class:"mb-4"},pe=P({__name:"ExerciseRecordList",props:{diagnosisId:{type:Number,default:0},patientId:{type:Number,default:0},readOnly:{type:Boolean,default:!1}},setup(y){const d=y,V=b([]),r=b(!1),v=b(!1),I=te(()=>t.value.id?"编辑记录":"添加记录"),t=b({id:"",diagnosis_id:d.diagnosisId,patient_id:d.patientId,record_date:"",exercise_type:"",duration:0,intensity:1,images:[],note:""}),C=[{label:"低强度",value:1},{label:"中强度",value:2},{label:"高强度",value:3}],R=i=>{const l=C.find(u=>u.value===i);return l?l.label:"未知"},f=async()=>{if(!(!d.diagnosisId&&!d.patientId))try{const i=await oe({diagnosis_id:d.diagnosisId,patient_id:d.patientId});V.value=i}catch(i){console.error("获取记录失败:",i)}},D=()=>{t.value={id:"",diagnosis_id:d.diagnosisId,patient_id:d.patientId,record_date:"",exercise_type:"",duration:0,intensity:1,images:[],note:""},r.value=!0},U=i=>{t.value={...i},r.value=!0},B=async i=>{await m.confirm("确定要删除这条记录吗?");try{await ne({id:i.id}),m.msgSuccess("删除成功"),f()}catch(l){console.error("删除失败:",l)}},N=async()=>{if(!t.value.record_date){m.msgWarning("请选择记录日期");return}if(!t.value.exercise_type){m.msgWarning("请选择运动类型");return}if(!t.value.duration){m.msgWarning("请输入运动时长");return}v.value=!0;try{t.value.id?(await ie(t.value),m.msgSuccess("编辑成功")):(await de(t.value),m.msgSuccess("添加成功")),r.value=!1,f()}catch(i){console.error("提交失败:",i)}finally{v.value=!1}};return W(()=>{f()}),$(()=>[d.diagnosisId,d.patientId],()=>{f()}),(i,l)=>{const u=A,c=h,O=J,S=z,_=Z,s=H,x=G,T=Q,q=ae,Y=X,L=K,M=le;return g(),k("div",re,[y.readOnly?w("",!0):(g(),k("div",ue,[e(u,{type:"primary",onClick:D},{default:o(()=>[...l[8]||(l[8]=[p("添加记录",-1)])]),_:1})])),e(O,{data:n(V),border:"",style:{width:"100%"}},{default:o(()=>[e(c,{prop:"record_date",label:"记录日期",width:"120"}),e(c,{prop:"exercise_type",label:"运动类型",width:"150"}),e(c,{prop:"duration",label:"运动时长",width:"100"},{default:o(({row:a})=>[p(E(a.duration)+" 分钟 ",1)]),_:1}),e(c,{label:"运动强度",width:"100"},{default:o(({row:a})=>[p(E(R(a.intensity)),1)]),_:1}),e(c,{prop:"note",label:"备注","show-overflow-tooltip":""}),y.readOnly?w("",!0):(g(),j(c,{key:0,label:"操作",width:"150",fixed:"right"},{default:o(({row:a})=>[e(u,{link:"",type:"primary",onClick:F=>U(a)},{default:o(()=>[...l[9]||(l[9]=[p("编辑",-1)])]),_:1},8,["onClick"]),e(u,{link:"",type:"danger",onClick:F=>B(a)},{default:o(()=>[...l[10]||(l[10]=[p("删除",-1)])]),_:1},8,["onClick"])]),_:1}))]),_:1},8,["data"]),e(M,{modelValue:n(r),"onUpdate:modelValue":l[7]||(l[7]=a=>ee(r)?r.value=a:null),title:n(I),width:"600px"},{footer:o(()=>[e(u,{onClick:l[6]||(l[6]=a=>r.value=!1)},{default:o(()=>[...l[11]||(l[11]=[p("取消",-1)])]),_:1}),e(u,{type:"primary",onClick:N,loading:n(v)},{default:o(()=>[...l[12]||(l[12]=[p("确定",-1)])]),_:1},8,["loading"])]),default:o(()=>[e(L,{model:n(t),"label-width":"120px"},{default:o(()=>[e(_,{label:"记录日期",required:""},{default:o(()=>[e(S,{modelValue:n(t).record_date,"onUpdate:modelValue":l[0]||(l[0]=a=>n(t).record_date=a),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),e(_,{label:"运动类型",required:""},{default:o(()=>[e(x,{modelValue:n(t).exercise_type,"onUpdate:modelValue":l[1]||(l[1]=a=>n(t).exercise_type=a),placeholder:"请选择运动类型",class:"w-full"},{default:o(()=>[e(s,{label:"散步",value:"散步"}),e(s,{label:"慢跑",value:"慢跑"}),e(s,{label:"游泳",value:"游泳"}),e(s,{label:"瑜伽",value:"瑜伽"}),e(s,{label:"骑自行车",value:"骑自行车"}),e(s,{label:"打太极拳",value:"打太极拳"}),e(s,{label:"其他",value:"其他"})]),_:1},8,["modelValue"])]),_:1}),e(_,{label:"运动时长(分钟)",required:""},{default:o(()=>[e(T,{modelValue:n(t).duration,"onUpdate:modelValue":l[2]||(l[2]=a=>n(t).duration=a),min:0,max:300,placeholder:"请输入运动时长"},null,8,["modelValue"])]),_:1}),e(_,{label:"运动强度",required:""},{default:o(()=>[e(x,{modelValue:n(t).intensity,"onUpdate:modelValue":l[3]||(l[3]=a=>n(t).intensity=a),placeholder:"请选择运动强度",class:"w-full"},{default:o(()=>[e(s,{label:"低强度",value:1}),e(s,{label:"中强度",value:2}),e(s,{label:"高强度",value:3})]),_:1},8,["modelValue"])]),_:1}),e(_,{label:"运动图片"},{default:o(()=>[e(q,{modelValue:n(t).images,"onUpdate:modelValue":l[4]||(l[4]=a=>n(t).images=a),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),e(_,{label:"备注"},{default:o(()=>[e(Y,{modelValue:n(t).note,"onUpdate:modelValue":l[5]||(l[5]=a=>n(t).note=a),type:"textarea",rows:3,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),Ee=se(pe,[["__scopeId","data-v-6a7f7e37"]]);export{Ee as default}; diff --git a/server/public/admin/assets/GancaoSubmissionReconcileButton-CSFPQPhZ.js b/server/public/admin/assets/GancaoSubmissionReconcileButton-CSFPQPhZ.js new file mode 100644 index 00000000..b711c005 --- /dev/null +++ b/server/public/admin/assets/GancaoSubmissionReconcileButton-CSFPQPhZ.js @@ -0,0 +1 @@ +import{_ as o}from"./GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-DoPnp_YZ.js";import"./.pnpm-9dA1PEvN.js";import"./tcm-Fi_swgCr.js";import"./index-BWzN7QIb.js";export{o as default}; diff --git a/server/public/admin/assets/GancaoSubmissionReconcileButton-IzOq2n8j.js b/server/public/admin/assets/GancaoSubmissionReconcileButton-IzOq2n8j.js deleted file mode 100644 index af8fad7f..00000000 --- a/server/public/admin/assets/GancaoSubmissionReconcileButton-IzOq2n8j.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-Bb23SaaB.js";import"./.pnpm-9dA1PEvN.js";import"./tcm-DOD9_1Um.js";import"./index-CJvXnF8Y.js";export{o as default}; diff --git a/server/public/admin/assets/GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-Bb23SaaB.js b/server/public/admin/assets/GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-DoPnp_YZ.js similarity index 96% rename from server/public/admin/assets/GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-Bb23SaaB.js rename to server/public/admin/assets/GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-DoPnp_YZ.js index a84cd6d9..80cefeee 100644 --- a/server/public/admin/assets/GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-Bb23SaaB.js +++ b/server/public/admin/assets/GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-DoPnp_YZ.js @@ -1 +1 @@ -import{o as U,be as F,q as f,r as k,F as M,ac as D,O as E,D as t,L as u,K as G,v as r,bt as B,bh as q,b9 as P,aw as A,b6 as L,bc as T,bf as K,b7 as z,P as g,p as W,M as v,ba as $}from"./.pnpm-9dA1PEvN.js";import{p as j}from"./tcm-DOD9_1Um.js";import{i as C}from"./index-CJvXnF8Y.js";const X=U({__name:"GancaoSubmissionReconcileButton",props:{order:{}},emits:["resolved"],setup(N,{emit:w}){const d=N,y=w,V=W(()=>{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=v(!1),_=v(!1),o=$({resolution:"CONFIRM_SUCCESS",remote_order_no:"",note:""});function O(){o.resolution="CONFIRM_SUCCESS",o.remote_order_no="",o.note="",s.value=!0}async function b(){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()){C.msgError("请填写甘草药方单号");return}if(!o.note.trim()){C.msgError("请填写甘草后台核对依据");return}_.value=!0;try{await j({id:i,resolution:o.resolution,remote_order_no:o.resolution==="CONFIRM_SUCCESS"?o.remote_order_no.trim():"",note:o.note.trim()}),C.msgSuccess("甘草提交核对已记录"),s.value=!1,y("resolved")}catch{}finally{_.value=!1}}}return(i,e)=>{const n=G,c=q,m=K,p=T,a=L,S=z,R=P,x=B,I=F("perms");return V.value?(f(),k(M,{key:0},[D((f(),E(n,{type:"danger",size:"small",plain:"",onClick:O},{default:t(()=>[...e[5]||(e[5]=[u("核对甘草提交",-1)])]),_:1})),[[I,["tcm.prescriptionOrder/confirmGancaoSubmission"]]]),r(x,{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:b},{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(R,{"label-width":"100px",onSubmit:A(b,["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"?(f(),E(a,{key:0,label:"甘草单号",required:""},{default:t(()=>[r(S,{modelValue:o.remote_order_no,"onUpdate:modelValue":e[1]||(e[1]=l=>o.remote_order_no=l),maxlength:"64",clearable:""},null,8,["modelValue"])]),_:1})):g("",!0),r(a,{label:"核对依据",required:""},{default:t(()=>[r(S,{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)):g("",!0)}}});export{X as _}; +import{o as U,be as F,q as f,r as k,F as M,ac as D,O as E,D as t,L as u,K as G,v as r,bt as B,bh as q,b9 as P,aw as A,b6 as L,bc as T,bf as K,b7 as z,P as g,p as W,M as v,ba as $}from"./.pnpm-9dA1PEvN.js";import{p as j}from"./tcm-Fi_swgCr.js";import{i as C}from"./index-BWzN7QIb.js";const X=U({__name:"GancaoSubmissionReconcileButton",props:{order:{}},emits:["resolved"],setup(N,{emit:w}){const d=N,y=w,V=W(()=>{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=v(!1),_=v(!1),o=$({resolution:"CONFIRM_SUCCESS",remote_order_no:"",note:""});function O(){o.resolution="CONFIRM_SUCCESS",o.remote_order_no="",o.note="",s.value=!0}async function b(){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()){C.msgError("请填写甘草药方单号");return}if(!o.note.trim()){C.msgError("请填写甘草后台核对依据");return}_.value=!0;try{await j({id:i,resolution:o.resolution,remote_order_no:o.resolution==="CONFIRM_SUCCESS"?o.remote_order_no.trim():"",note:o.note.trim()}),C.msgSuccess("甘草提交核对已记录"),s.value=!1,y("resolved")}catch{}finally{_.value=!1}}}return(i,e)=>{const n=G,c=q,m=K,p=T,a=L,S=z,R=P,x=B,I=F("perms");return V.value?(f(),k(M,{key:0},[D((f(),E(n,{type:"danger",size:"small",plain:"",onClick:O},{default:t(()=>[...e[5]||(e[5]=[u("核对甘草提交",-1)])]),_:1})),[[I,["tcm.prescriptionOrder/confirmGancaoSubmission"]]]),r(x,{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:b},{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(R,{"label-width":"100px",onSubmit:A(b,["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"?(f(),E(a,{key:0,label:"甘草单号",required:""},{default:t(()=>[r(S,{modelValue:o.remote_order_no,"onUpdate:modelValue":e[1]||(e[1]=l=>o.remote_order_no=l),maxlength:"64",clearable:""},null,8,["modelValue"])]),_:1})):g("",!0),r(a,{label:"核对依据",required:""},{default:t(()=>[r(S,{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)):g("",!0)}}});export{X as _}; diff --git a/server/public/admin/assets/ImChatRecordPanel-Dupe02qF.js b/server/public/admin/assets/ImChatRecordPanel-BMjxk7mx.js similarity index 97% rename from server/public/admin/assets/ImChatRecordPanel-Dupe02qF.js rename to server/public/admin/assets/ImChatRecordPanel-BMjxk7mx.js index 0ce32bea..5b0eda65 100644 --- a/server/public/admin/assets/ImChatRecordPanel-Dupe02qF.js +++ b/server/public/admin/assets/ImChatRecordPanel-BMjxk7mx.js @@ -1 +1 @@ -import{o as F,R as q,q as t,r as n,v as i,D as c,s as o,L as _,bh as G,w as H,u as x,c_ as $,K as j,by as J,ac as K,F as E,G as O,O as f,bB as W,P as v,bi as Q,M as m,p as U,ae as X,T as r,br as Z,aa as ee,bq as ae,a8 as se,E as C}from"./.pnpm-9dA1PEvN.js";import{d as te}from"./dayjs-BsOAYQJw.js";import{am as ne,an as oe}from"./tcm-DOD9_1Um.js";import{p as re}from"./im-business-message-parse-DmDISFGN.js";import{_ as le}from"./index-CJvXnF8Y.js";const ie={class:"im-chat-record-panel"},ce={class:"toolbar mb-3"},de={class:"chat-wrap"},_e={key:0,class:"chat-list"},ue={class:"meta"},fe={class:"name"},me={class:"time"},pe={class:"bubble"},ye={key:0,class:"friendly-text"},ge={class:"friendly-main"},ve={key:0,class:"friendly-sub"},he={key:1,class:"text-content"},we={key:2,class:"text-content"},be={key:3,class:"muted"},ke=F({__name:"ImChatRecordPanel",props:{diagnosisId:{}},setup(B,{expose:M}){const u=B,d=m(!1),p=m(!1),y=se([]),L=m(""),g=m(""),D={text:"",image:"图片",file:"文件",sound:"语音",video:"视频",location:"位置",custom:"自定义",face:"表情",other:""},h=U(()=>y.value.map(e=>{const s=P(e);let l="";return s!=null&&s.tag?l=s.tag:l=D[e.msg_type]||(e.msg_type!=="other"?e.msg_type:""),{raw:e,friendly:s,tag:l}}));function N(e){if(e==null||!e)return"—";const s=e>1e12?Math.floor(e/1e3):e;return te.unix(s).format("YYYY-MM-DD HH:mm:ss")}function P(e){const s=(e.text||"").trim();if(!s)return null;const l=s.startsWith("{")&&(/\bbusinessID\b/.test(s)||/\bcmd\b/.test(s));return e.msg_type==="custom"||l?re(s):null}function R(e){return e.is_from_doctor?e.from_staff_name?`医生(${e.from_staff_name})`:"医生/员工":g.value?`患者(${g.value})`:"患者"}async function w(){if(u.diagnosisId){d.value=!0;try{const e=await ne({diagnosis_id:u.diagnosisId,only_archived:1});y.value=(e==null?void 0:e.lists)||[],L.value=(e==null?void 0:e.patient_im_id)||"",g.value=(e==null?void 0:e.patient_name)||""}catch(e){console.error(e),y.value=[]}finally{d.value=!1}}}function b(){w()}async function S(){if(u.diagnosisId){p.value=!0;try{await oe({diagnosis_id:u.diagnosisId}),C.success('已发起后台同步,几秒后请点击"重新加载已归档"查看新消息')}catch(e){console.error(e),C.error("发起同步失败")}finally{p.value=!1}}}return q(()=>u.diagnosisId,()=>{w()},{immediate:!0}),M({refresh:b}),(e,s)=>{const l=G,k=H,I=j,T=Z,Y=ee,V=ae,z=W,A=Q;return t(),n("div",ie,[i(l,{type:"info","show-icon":"",closable:!1,class:"mb-4",title:"说明"},{default:c(()=>[...s[0]||(s[0]=[o("p",{class:"panel-tip"},[_(" 展示单聊记录:已合并患者 与 "),o("strong",null,"所有医生 / 医助账号"),_("分别产生的会话,按时间排序。 数据由后台定时任务从腾讯云 IM 漫游消息同步至本地归档;点击下方按钮可立即触发后台同步。 ")],-1)])]),_:1}),o("div",ce,[i(I,{type:"primary",link:"",loading:p.value,onClick:S},{default:c(()=>[i(k,{class:"mr-1"},{default:c(()=>[i(x($))]),_:1}),s[1]||(s[1]=_(" 同步最新(后台异步) ",-1))]),_:1},8,["loading"]),i(I,{type:"primary",link:"",loading:d.value,onClick:b},{default:c(()=>[i(k,{class:"mr-1"},{default:c(()=>[i(x(J))]),_:1}),s[2]||(s[2]=_(" 重新加载已归档 ",-1))]),_:1},8,["loading"])]),K((t(),n("div",de,[!d.value&&h.value.length?(t(),n("div",_e,[(t(!0),n(E,null,O(h.value,a=>(t(),n("div",{key:a.raw.msg_id,class:X(["chat-row",a.raw.is_from_doctor?"from-doctor":"from-patient"])},[o("div",ue,[o("span",fe,r(R(a.raw)),1),o("span",me,r(N(a.raw.time)),1),a.tag?(t(),f(T,{key:0,size:"small",type:"info",class:"ml-2"},{default:c(()=>[_(r(a.tag),1)]),_:2},1024)):v("",!0)]),o("div",pe,[a.raw.msg_type==="image"&&a.raw.image_url?(t(),f(Y,{key:0,src:a.raw.image_url,"preview-src-list":[a.raw.image_url],fit:"contain",class:"chat-img"},null,8,["src","preview-src-list"])):(a.raw.msg_type==="file"||a.raw.msg_type==="sound"||a.raw.msg_type==="video")&&a.raw.file_url?(t(),f(V,{key:1,href:a.raw.file_url,target:"_blank",type:"primary"},{default:c(()=>[_(r(a.raw.file_name||"打开文件"),1)]),_:2},1032,["href"])):(t(),n(E,{key:2},[a.friendly?(t(),n("div",ye,[o("div",ge,r(a.friendly.main),1),a.friendly.sub?(t(),n("div",ve,r(a.friendly.sub),1)):v("",!0)])):a.raw.msg_type==="text"&&a.raw.text?(t(),n("div",he,r(a.raw.text),1)):a.raw.text?(t(),n("div",we,r(a.raw.text),1)):(t(),n("span",be,"(无法展示该消息类型)"))],64))])],2))),128))])):d.value?v("",!0):(t(),f(z,{key:1,description:"暂无 IM 聊天记录"}))])),[[A,d.value]])])}}}),Me=le(ke,[["__scopeId","data-v-e57593a0"]]);export{Me as default}; +import{o as F,R as q,q as t,r as n,v as i,D as c,s as o,L as _,bh as G,w as H,u as x,c_ as $,K as j,by as J,ac as K,F as E,G as O,O as f,bB as W,P as v,bi as Q,M as m,p as U,ae as X,T as r,br as Z,aa as ee,bq as ae,a8 as se,E as C}from"./.pnpm-9dA1PEvN.js";import{d as te}from"./dayjs-BsOAYQJw.js";import{am as ne,an as oe}from"./tcm-Fi_swgCr.js";import{p as re}from"./im-business-message-parse-DmDISFGN.js";import{_ as le}from"./index-BWzN7QIb.js";const ie={class:"im-chat-record-panel"},ce={class:"toolbar mb-3"},de={class:"chat-wrap"},_e={key:0,class:"chat-list"},ue={class:"meta"},fe={class:"name"},me={class:"time"},pe={class:"bubble"},ye={key:0,class:"friendly-text"},ge={class:"friendly-main"},ve={key:0,class:"friendly-sub"},he={key:1,class:"text-content"},we={key:2,class:"text-content"},be={key:3,class:"muted"},ke=F({__name:"ImChatRecordPanel",props:{diagnosisId:{}},setup(B,{expose:M}){const u=B,d=m(!1),p=m(!1),y=se([]),L=m(""),g=m(""),D={text:"",image:"图片",file:"文件",sound:"语音",video:"视频",location:"位置",custom:"自定义",face:"表情",other:""},h=U(()=>y.value.map(e=>{const s=P(e);let l="";return s!=null&&s.tag?l=s.tag:l=D[e.msg_type]||(e.msg_type!=="other"?e.msg_type:""),{raw:e,friendly:s,tag:l}}));function N(e){if(e==null||!e)return"—";const s=e>1e12?Math.floor(e/1e3):e;return te.unix(s).format("YYYY-MM-DD HH:mm:ss")}function P(e){const s=(e.text||"").trim();if(!s)return null;const l=s.startsWith("{")&&(/\bbusinessID\b/.test(s)||/\bcmd\b/.test(s));return e.msg_type==="custom"||l?re(s):null}function R(e){return e.is_from_doctor?e.from_staff_name?`医生(${e.from_staff_name})`:"医生/员工":g.value?`患者(${g.value})`:"患者"}async function w(){if(u.diagnosisId){d.value=!0;try{const e=await ne({diagnosis_id:u.diagnosisId,only_archived:1});y.value=(e==null?void 0:e.lists)||[],L.value=(e==null?void 0:e.patient_im_id)||"",g.value=(e==null?void 0:e.patient_name)||""}catch(e){console.error(e),y.value=[]}finally{d.value=!1}}}function b(){w()}async function S(){if(u.diagnosisId){p.value=!0;try{await oe({diagnosis_id:u.diagnosisId}),C.success('已发起后台同步,几秒后请点击"重新加载已归档"查看新消息')}catch(e){console.error(e),C.error("发起同步失败")}finally{p.value=!1}}}return q(()=>u.diagnosisId,()=>{w()},{immediate:!0}),M({refresh:b}),(e,s)=>{const l=G,k=H,I=j,T=Z,Y=ee,V=ae,z=W,A=Q;return t(),n("div",ie,[i(l,{type:"info","show-icon":"",closable:!1,class:"mb-4",title:"说明"},{default:c(()=>[...s[0]||(s[0]=[o("p",{class:"panel-tip"},[_(" 展示单聊记录:已合并患者 与 "),o("strong",null,"所有医生 / 医助账号"),_("分别产生的会话,按时间排序。 数据由后台定时任务从腾讯云 IM 漫游消息同步至本地归档;点击下方按钮可立即触发后台同步。 ")],-1)])]),_:1}),o("div",ce,[i(I,{type:"primary",link:"",loading:p.value,onClick:S},{default:c(()=>[i(k,{class:"mr-1"},{default:c(()=>[i(x($))]),_:1}),s[1]||(s[1]=_(" 同步最新(后台异步) ",-1))]),_:1},8,["loading"]),i(I,{type:"primary",link:"",loading:d.value,onClick:b},{default:c(()=>[i(k,{class:"mr-1"},{default:c(()=>[i(x(J))]),_:1}),s[2]||(s[2]=_(" 重新加载已归档 ",-1))]),_:1},8,["loading"])]),K((t(),n("div",de,[!d.value&&h.value.length?(t(),n("div",_e,[(t(!0),n(E,null,O(h.value,a=>(t(),n("div",{key:a.raw.msg_id,class:X(["chat-row",a.raw.is_from_doctor?"from-doctor":"from-patient"])},[o("div",ue,[o("span",fe,r(R(a.raw)),1),o("span",me,r(N(a.raw.time)),1),a.tag?(t(),f(T,{key:0,size:"small",type:"info",class:"ml-2"},{default:c(()=>[_(r(a.tag),1)]),_:2},1024)):v("",!0)]),o("div",pe,[a.raw.msg_type==="image"&&a.raw.image_url?(t(),f(Y,{key:0,src:a.raw.image_url,"preview-src-list":[a.raw.image_url],fit:"contain",class:"chat-img"},null,8,["src","preview-src-list"])):(a.raw.msg_type==="file"||a.raw.msg_type==="sound"||a.raw.msg_type==="video")&&a.raw.file_url?(t(),f(V,{key:1,href:a.raw.file_url,target:"_blank",type:"primary"},{default:c(()=>[_(r(a.raw.file_name||"打开文件"),1)]),_:2},1032,["href"])):(t(),n(E,{key:2},[a.friendly?(t(),n("div",ye,[o("div",ge,r(a.friendly.main),1),a.friendly.sub?(t(),n("div",ve,r(a.friendly.sub),1)):v("",!0)])):a.raw.msg_type==="text"&&a.raw.text?(t(),n("div",he,r(a.raw.text),1)):a.raw.text?(t(),n("div",we,r(a.raw.text),1)):(t(),n("span",be,"(无法展示该消息类型)"))],64))])],2))),128))])):d.value?v("",!0):(t(),f(z,{key:1,description:"暂无 IM 聊天记录"}))])),[[A,d.value]])])}}}),Me=le(ke,[["__scopeId","data-v-e57593a0"]]);export{Me as default}; diff --git a/server/public/admin/assets/MessageBubble-YtVegHr6.js b/server/public/admin/assets/MessageBubble-HqOiFrAJ.js similarity index 98% rename from server/public/admin/assets/MessageBubble-YtVegHr6.js rename to server/public/admin/assets/MessageBubble-HqOiFrAJ.js index 4ea6ff5e..ad36a971 100644 --- a/server/public/admin/assets/MessageBubble-YtVegHr6.js +++ b/server/public/admin/assets/MessageBubble-HqOiFrAJ.js @@ -1 +1 @@ -import{o as S,q as a,r as l,ae as x,v as r,D as m,L as d,T as i,a0 as D,s as n,O as g,br as G,P as B,aa as K,u as v,bE as L,w as q,bF as A,bG as H,bH as O,F as P,K as U,p as u}from"./.pnpm-9dA1PEvN.js";import{t as j,_ as J}from"./index-CJvXnF8Y.js";const Q={class:"msg-body"},R={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"],se={key:4,class:"content-pending"},te=["src"],ae={key:6,class:"content-pending"},ne={key:7,class:"content-file"},le={class:"file-meta"},ie=["title"],oe={class:"file-info"},ce={key:8,class:"content-fallback"},re={class:"fallback-title"},me={class:"fallback-desc"},ue=S({__name:"MessageBubble",props:{message:{}},setup(s){const o=s,w=u(()=>o.message.from_is_staff),c=u(()=>(o.message.media||[]).find(t=>t.status===1)??null),_=u(()=>{const e=o.message.from_profile;return e&&e.name||o.message.from_user}),z=u(()=>{const e=o.message.from_profile;return(e==null?void 0:e.avatar)||""}),F=u(()=>(_.value||"").slice(-2)||"?"),E=u(()=>{const e=o.message.msgtype;return e==="image"||e==="video"||e==="voice"?"bubble-media":e==="file"?"bubble-file":"bubble-text"}),C=u(()=>{switch(o.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`[${o.message.msgtype}]`}});function M(e){return e?j(e*1e3,"mm-dd hh:MM"):""}function N(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,t)=>{var b,y,p,h;const T=D,k=G,V=K,f=q,I=U;return a(),l("div",{class:x(["msg-bubble",{"is-staff":w.value}])},[r(T,{class:"msg-avatar",size:36,src:z.value},{default:m(()=>[d(i(F.value),1)]),_:1},8,["src"]),n("div",Q,[n("div",R,[n("span",W,i(_.value),1),n("span",X,i(M(s.message.send_time)),1),s.message.action==="recall"?(a(),g(k,{key:0,size:"small",type:"info"},{default:m(()=>[...t[1]||(t[1]=[d(" 已撤回 ",-1)])]),_:1})):B("",!0)]),n("div",{class:x(["msg-content",E.value])},[s.message.msgtype==="text"||s.message.msgtype==="markdown"?(a(),l("div",Y,i(s.message.content),1)):s.message.msgtype==="image"&&((b=c.value)!=null&&b.file_url)?(a(),g(V,{key:1,src:c.value.file_url,"preview-src-list":[c.value.file_url],fit:"contain",class:"content-image","hide-on-click-modal":""},null,8,["src","preview-src-list"])):s.message.msgtype==="image"?(a(),l("div",Z,[r(f,null,{default:m(()=>[r(v(L))]),_:1}),t[2]||(t[2]=n("span",null,"图片下载中…",-1))])):s.message.msgtype==="video"&&((y=c.value)!=null&&y.file_url)?(a(),l("video",{key:3,src:c.value.file_url,controls:"",class:"content-video"},null,8,ee)):s.message.msgtype==="video"?(a(),l("div",se,[r(f,null,{default:m(()=>[r(v(A))]),_:1}),t[3]||(t[3]=n("span",null,"视频下载中…",-1))])):s.message.msgtype==="voice"&&((p=c.value)!=null&&p.file_url)?(a(),l("audio",{key:5,src:c.value.file_url,controls:"",class:"content-audio"},null,8,te)):s.message.msgtype==="voice"?(a(),l("div",ae,[r(f,null,{default:m(()=>[r(v(H))]),_:1}),n("span",null,"语音下载中…("+i(s.message.play_length)+"s)",1)])):s.message.msgtype==="file"?(a(),l("div",ne,[r(f,{size:24},{default:m(()=>[r(v(O))]),_:1}),n("div",le,[n("div",{class:"file-name",title:s.message.file_name},i(s.message.file_name||"未命名文件"),9,ie),n("div",oe,[d(i(N(s.message.file_size))+" ",1),s.message.file_ext?(a(),l(P,{key:0},[d("· "+i(s.message.file_ext),1)],64)):B("",!0)])]),(h=c.value)!=null&&h.file_url?(a(),g(I,{key:0,size:"small",type:"primary",link:"",onClick:t[0]||(t[0]=de=>$(c.value.file_url))},{default:m(()=>[...t[4]||(t[4]=[d(" 下载 ",-1)])]),_:1})):(a(),g(k,{key:1,size:"small",type:"info"},{default:m(()=>[...t[5]||(t[5]=[d("下载中…",-1)])]),_:1}))])):(a(),l("div",ce,[n("div",re,i(C.value),1),n("div",me,i(s.message.content),1)]))],2)])],2)}}}),ve=J(ue,[["__scopeId","data-v-80799394"]]);export{ve as default}; +import{o as S,q as a,r as l,ae as x,v as r,D as m,L as d,T as i,a0 as D,s as n,O as g,br as G,P as B,aa as K,u as v,bE as L,w as q,bF as A,bG as H,bH as O,F as P,K as U,p as u}from"./.pnpm-9dA1PEvN.js";import{t as j,_ as J}from"./index-BWzN7QIb.js";const Q={class:"msg-body"},R={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"],se={key:4,class:"content-pending"},te=["src"],ae={key:6,class:"content-pending"},ne={key:7,class:"content-file"},le={class:"file-meta"},ie=["title"],oe={class:"file-info"},ce={key:8,class:"content-fallback"},re={class:"fallback-title"},me={class:"fallback-desc"},ue=S({__name:"MessageBubble",props:{message:{}},setup(s){const o=s,w=u(()=>o.message.from_is_staff),c=u(()=>(o.message.media||[]).find(t=>t.status===1)??null),_=u(()=>{const e=o.message.from_profile;return e&&e.name||o.message.from_user}),z=u(()=>{const e=o.message.from_profile;return(e==null?void 0:e.avatar)||""}),F=u(()=>(_.value||"").slice(-2)||"?"),E=u(()=>{const e=o.message.msgtype;return e==="image"||e==="video"||e==="voice"?"bubble-media":e==="file"?"bubble-file":"bubble-text"}),C=u(()=>{switch(o.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`[${o.message.msgtype}]`}});function M(e){return e?j(e*1e3,"mm-dd hh:MM"):""}function N(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,t)=>{var b,y,p,h;const T=D,k=G,V=K,f=q,I=U;return a(),l("div",{class:x(["msg-bubble",{"is-staff":w.value}])},[r(T,{class:"msg-avatar",size:36,src:z.value},{default:m(()=>[d(i(F.value),1)]),_:1},8,["src"]),n("div",Q,[n("div",R,[n("span",W,i(_.value),1),n("span",X,i(M(s.message.send_time)),1),s.message.action==="recall"?(a(),g(k,{key:0,size:"small",type:"info"},{default:m(()=>[...t[1]||(t[1]=[d(" 已撤回 ",-1)])]),_:1})):B("",!0)]),n("div",{class:x(["msg-content",E.value])},[s.message.msgtype==="text"||s.message.msgtype==="markdown"?(a(),l("div",Y,i(s.message.content),1)):s.message.msgtype==="image"&&((b=c.value)!=null&&b.file_url)?(a(),g(V,{key:1,src:c.value.file_url,"preview-src-list":[c.value.file_url],fit:"contain",class:"content-image","hide-on-click-modal":""},null,8,["src","preview-src-list"])):s.message.msgtype==="image"?(a(),l("div",Z,[r(f,null,{default:m(()=>[r(v(L))]),_:1}),t[2]||(t[2]=n("span",null,"图片下载中…",-1))])):s.message.msgtype==="video"&&((y=c.value)!=null&&y.file_url)?(a(),l("video",{key:3,src:c.value.file_url,controls:"",class:"content-video"},null,8,ee)):s.message.msgtype==="video"?(a(),l("div",se,[r(f,null,{default:m(()=>[r(v(A))]),_:1}),t[3]||(t[3]=n("span",null,"视频下载中…",-1))])):s.message.msgtype==="voice"&&((p=c.value)!=null&&p.file_url)?(a(),l("audio",{key:5,src:c.value.file_url,controls:"",class:"content-audio"},null,8,te)):s.message.msgtype==="voice"?(a(),l("div",ae,[r(f,null,{default:m(()=>[r(v(H))]),_:1}),n("span",null,"语音下载中…("+i(s.message.play_length)+"s)",1)])):s.message.msgtype==="file"?(a(),l("div",ne,[r(f,{size:24},{default:m(()=>[r(v(O))]),_:1}),n("div",le,[n("div",{class:"file-name",title:s.message.file_name},i(s.message.file_name||"未命名文件"),9,ie),n("div",oe,[d(i(N(s.message.file_size))+" ",1),s.message.file_ext?(a(),l(P,{key:0},[d("· "+i(s.message.file_ext),1)],64)):B("",!0)])]),(h=c.value)!=null&&h.file_url?(a(),g(I,{key:0,size:"small",type:"primary",link:"",onClick:t[0]||(t[0]=de=>$(c.value.file_url))},{default:m(()=>[...t[4]||(t[4]=[d(" 下载 ",-1)])]),_:1})):(a(),g(k,{key:1,size:"small",type:"info"},{default:m(()=>[...t[5]||(t[5]=[d("下载中…",-1)])]),_:1}))])):(a(),l("div",ce,[n("div",re,i(C.value),1),n("div",me,i(s.message.content),1)]))],2)])],2)}}}),ve=J(ue,[["__scopeId","data-v-80799394"]]);export{ve as default}; diff --git a/server/public/admin/assets/NoteTimeline-BiPgEoRT.js b/server/public/admin/assets/NoteTimeline-DxUNQs4y.js similarity index 94% rename from server/public/admin/assets/NoteTimeline-BiPgEoRT.js rename to server/public/admin/assets/NoteTimeline-DxUNQs4y.js index cacc059a..208e7ce0 100644 --- a/server/public/admin/assets/NoteTimeline-BiPgEoRT.js +++ b/server/public/admin/assets/NoteTimeline-DxUNQs4y.js @@ -1,2 +1,2 @@ -import{o as ie,R as oe,q as n,r as o,O as k,K as le,D as r,L as P,P as m,v as l,s as d,F as w,G as E,bB as ae,b7 as re,bt as de,p as ue,M as g,T as U,aa as me,u as V,cO as z,aw as M,w as ce,bH as pe,e as ge}from"./.pnpm-9dA1PEvN.js";import{_ as fe}from"./picker-DWQ_BAep.js";import{e as ve,c as _e,i as f,_ as ye}from"./index-CJvXnF8Y.js";import{a as T,d as he}from"./patient-CwTOvUDt.js";import{h as ke}from"./perm-BLNmf25V.js";import"./index-BBemoNXE.js";import"./index-CY1mb9yY.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-CAGpCz28.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const we={class:"note-timeline-wrap"},Ie={key:0,class:"timeline-actions"},Ce={class:"upload-trigger"},be={class:"upload-trigger"},xe={key:1,class:"note-timeline"},Ee={class:"timeline-date"},Ve={class:"timeline-body"},Ne={key:0,class:"timeline-content"},Se={key:1,class:"timeline-images"},De={key:2,class:"timeline-images"},Be={key:0,class:"thumb-wrap"},Ae={key:1,class:"file-wrap"},Pe=["href","title"],Ue={class:"file-name"},W=8e3,ze=ie({__name:"NoteTimeline",props:{notes:{},diagnosisId:{},readonly:{type:Boolean}},emits:["refresh"],setup(u,{emit:j}){const c=u,I=j,X=ue(()=>ke(["doctor.appointment/addDoctorNote"])),v=g(!1),C=g(""),N=g(!1),q=ve(),_=t=>q.getImageUrl(t),S=g([]),D=g([]),y=g(0),h=g(0),H=["jpg","jpeg","png","gif","bmp","webp","svg"],B=t=>{var i;const e=((i=t.split(".").pop())==null?void 0:i.toLowerCase().split("?")[0])||"";return H.includes(e)},$=t=>{var i;const e=t.split("/");return decodeURIComponent(((i=e[e.length-1])==null?void 0:i.split("?")[0])||"文件")},K=t=>t.filter(B).map(_),Z=(t,e)=>{const i=t.filter(B),b=t[e];return i.indexOf(b)},J=t=>t?t.split(` +import{o as ie,R as oe,q as n,r as o,O as k,K as le,D as r,L as P,P as m,v as l,s as d,F as w,G as E,bB as ae,b7 as re,bt as de,p as ue,M as g,T as U,aa as me,u as V,cO as z,aw as M,w as ce,bH as pe,e as ge}from"./.pnpm-9dA1PEvN.js";import{_ as fe}from"./picker-DfI3CPnQ.js";import{e as ve,c as _e,i as f,_ as ye}from"./index-BWzN7QIb.js";import{a as T,d as he}from"./patient-Btpwd7dp.js";import{h as ke}from"./perm-BzF8JgcJ.js";import"./index-dYaCh-CN.js";import"./index-xDQ_OZln.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-fA0EWEUO.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const we={class:"note-timeline-wrap"},Ie={key:0,class:"timeline-actions"},Ce={class:"upload-trigger"},be={class:"upload-trigger"},xe={key:1,class:"note-timeline"},Ee={class:"timeline-date"},Ve={class:"timeline-body"},Ne={key:0,class:"timeline-content"},Se={key:1,class:"timeline-images"},De={key:2,class:"timeline-images"},Be={key:0,class:"thumb-wrap"},Ae={key:1,class:"file-wrap"},Pe=["href","title"],Ue={class:"file-name"},W=8e3,ze=ie({__name:"NoteTimeline",props:{notes:{},diagnosisId:{},readonly:{type:Boolean}},emits:["refresh"],setup(u,{emit:j}){const c=u,I=j,X=ue(()=>ke(["doctor.appointment/addDoctorNote"])),v=g(!1),C=g(""),N=g(!1),q=ve(),_=t=>q.getImageUrl(t),S=g([]),D=g([]),y=g(0),h=g(0),H=["jpg","jpeg","png","gif","bmp","webp","svg"],B=t=>{var i;const e=((i=t.split(".").pop())==null?void 0:i.toLowerCase().split("?")[0])||"";return H.includes(e)},$=t=>{var i;const e=t.split("/");return decodeURIComponent(((i=e[e.length-1])==null?void 0:i.split("?")[0])||"文件")},K=t=>t.filter(B).map(_),Z=(t,e)=>{const i=t.filter(B),b=t[e];return i.indexOf(b)},J=t=>t?t.split(` `).filter(Boolean):[],Q=t=>{if(!c.diagnosisId)return;const e=Array.isArray(t)?t:[t];if(e.length<=y.value){y.value=e.length;return}const i=e.slice(y.value);y.value=e.length,i.length>0&&T({diagnosis_id:c.diagnosisId,tongue_images:i}).then(()=>{f.msgSuccess("舌苔照片已添加"),I("refresh")})},Y=t=>{if(!c.diagnosisId)return;const e=Array.isArray(t)?t:[t];if(e.length<=h.value){h.value=e.length;return}const i=e.slice(h.value);h.value=e.length,i.length>0&&T({diagnosis_id:c.diagnosisId,report_files:i}).then(()=>{f.msgSuccess("检查报告已添加"),I("refresh")})};oe(()=>c.notes,()=>{S.value=[],D.value=[],y.value=0,h.value=0});const ee=async()=>{if(!c.diagnosisId){f.msgWarning("当前无诊单,无法添加备注");return}const t=C.value.trim();if(!t){f.msgWarning("请输入备注内容");return}N.value=!0;try{await T({diagnosis_id:c.diagnosisId,content:t}),f.msgSuccess("备注保存成功"),C.value="",v.value=!1,I("refresh")}catch(e){f.msgError((e==null?void 0:e.message)||"保存失败")}finally{N.value=!1}},A=async(t,e,i)=>{try{await ge.confirm("确认删除?","提示",{type:"warning"})}catch{return}await he({note_id:t,image_type:e,image_path:i}),f.msgSuccess("已删除"),I("refresh")};return(t,e)=>{const i=le,b=_e,F=fe,L=me,x=ce,te=ae,se=re,ne=de;return n(),o("div",we,[!u.readonly&&u.diagnosisId?(n(),o("div",Ie,[X.value?(n(),k(i,{key:0,type:"primary",plain:"",size:"small",onClick:e[0]||(e[0]=s=>v.value=!0)},{default:r(()=>[...e[6]||(e[6]=[P(" 添加备注 ",-1)])]),_:1})):m("",!0),l(F,{modelValue:S.value,"onUpdate:modelValue":e[1]||(e[1]=s=>S.value=s),limit:99,type:"image","exclude-domain":!0,onChange:Q},{upload:r(()=>[d("div",Ce,[l(b,{size:20,name:"el-icon-Plus"}),e[7]||(e[7]=d("span",null,"舌苔照片",-1))])]),_:1},8,["modelValue"]),l(F,{modelValue:D.value,"onUpdate:modelValue":e[2]||(e[2]=s=>D.value=s),limit:99,type:"file","exclude-domain":!0,onChange:Y},{upload:r(()=>[d("div",be,[l(b,{size:20,name:"el-icon-Plus"}),e[8]||(e[8]=d("span",null,"检查报告",-1))])]),_:1},8,["modelValue"])])):m("",!0),u.notes.length?(n(),o("div",xe,[(n(!0),o(w,null,E(u.notes,s=>{var R,O;return n(),o("div",{key:s.id,class:"timeline-node"},[e[11]||(e[11]=d("div",{class:"timeline-dot"},null,-1)),d("div",Ee,U(s.note_date),1),d("div",Ve,[s.content?(n(),o("div",Ne,[(n(!0),o(w,null,E(J(s.content),(a,p)=>(n(),o("div",{key:p,class:"content-line"},U(a),1))),128))])):m("",!0),(R=s.tongue_images)!=null&&R.length?(n(),o("div",Se,[e[9]||(e[9]=d("span",{class:"images-label"},"舌苔照片",-1)),(n(!0),o(w,null,E(s.tongue_images,(a,p)=>(n(),o("div",{key:p,class:"thumb-wrap"},[l(L,{src:_(a),"preview-src-list":s.tongue_images.map(_),"initial-index":p,"z-index":W,fit:"cover",class:"timeline-thumb","preview-teleported":""},null,8,["src","preview-src-list","initial-index"]),u.readonly?m("",!0):(n(),k(x,{key:0,class:"thumb-delete",onClick:M(G=>A(s.id,"tongue_images",a),["stop"])},{default:r(()=>[l(V(z))]),_:1},8,["onClick"]))]))),128))])):m("",!0),(O=s.report_files)!=null&&O.length?(n(),o("div",De,[e[10]||(e[10]=d("span",{class:"images-label"},"检查报告",-1)),(n(!0),o(w,null,E(s.report_files,(a,p)=>(n(),o(w,{key:p},[B(a)?(n(),o("div",Be,[l(L,{src:_(a),"preview-src-list":K(s.report_files),"initial-index":Z(s.report_files,p),"z-index":W,fit:"cover",class:"timeline-thumb","preview-teleported":""},null,8,["src","preview-src-list","initial-index"]),u.readonly?m("",!0):(n(),k(x,{key:0,class:"thumb-delete",onClick:M(G=>A(s.id,"report_files",a),["stop"])},{default:r(()=>[l(V(z))]),_:1},8,["onClick"]))])):(n(),o("div",Ae,[d("a",{href:_(a),target:"_blank",class:"file-link",title:$(a)},[l(x,{size:20},{default:r(()=>[l(V(pe))]),_:1}),d("span",Ue,U($(a)),1)],8,Pe),u.readonly?m("",!0):(n(),k(x,{key:0,class:"file-delete",onClick:M(G=>A(s.id,"report_files",a),["stop"])},{default:r(()=>[l(V(z))]),_:1},8,["onClick"]))]))],64))),128))])):m("",!0)])])}),128))])):m("",!0),!u.notes.length&&u.readonly?(n(),k(te,{key:2,description:"暂无备注","image-size":48})):m("",!0),l(ne,{modelValue:v.value,"onUpdate:modelValue":e[5]||(e[5]=s=>v.value=s),title:"添加备注",width:"480px","append-to-body":""},{footer:r(()=>[l(i,{onClick:e[4]||(e[4]=s=>v.value=!1)},{default:r(()=>[...e[12]||(e[12]=[P("取消",-1)])]),_:1}),l(i,{type:"primary",loading:N.value,onClick:ee},{default:r(()=>[...e[13]||(e[13]=[P("保存",-1)])]),_:1},8,["loading"])]),default:r(()=>[l(se,{modelValue:C.value,"onUpdate:modelValue":e[3]||(e[3]=s=>C.value=s),type:"textarea",rows:4,placeholder:"输入今日备注...",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1},8,["modelValue"])])}}}),Ke=ye(ze,[["__scopeId","data-v-e548427d"]]);export{Ke as default}; diff --git a/server/public/admin/assets/PatientCaseCard-B8iDWmDb.js b/server/public/admin/assets/PatientCaseCard-CN_U6rzw.js similarity index 98% rename from server/public/admin/assets/PatientCaseCard-B8iDWmDb.js rename to server/public/admin/assets/PatientCaseCard-CN_U6rzw.js index c002a55f..205ef9e7 100644 --- a/server/public/admin/assets/PatientCaseCard-B8iDWmDb.js +++ b/server/public/admin/assets/PatientCaseCard-CN_U6rzw.js @@ -1 +1 @@ -import{i as G,a as J,b as Q}from"./blood-thresholds-CJ1fqMjh.js";import{m as R,j as U,b as W}from"./diag-display-DCz_VAqj.js";import{f as E}from"./diabetes-discovery-display-B_wmGXQJ.js";import{o as X,q as F,r as M,s,L as Y,T as g,v as l,u as i,P as Z,p,y as d}from"./.pnpm-9dA1PEvN.js";import{_ as P}from"./index-CJvXnF8Y.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"},vl={class:"grid-block"},ol={class:"kv-grid three"},gl={class:"grid-block"},cl={class:"kv-grid three"},rl={class:"grid-block"},bl={class:"kv-grid three"},hl={key:0,class:"grid-block"},ml={class:"kv-grid one"},yl={class:"grid-block"},fl={class:"rx-note"},kl=X({__name:"PatientCaseCard",props:{apt:{default:()=>({})},diag:{default:()=>({})}},setup(e){const c=e,z=p(()=>((c.diag||{}).consultation_type==="follow_up","复诊")),u=W(()=>c.diag||{}),a=n=>{const t=n.value,v=t==null||t===""||Array.isArray(t)&&t.length===0;return d("div",{class:["kv-item",n.multiline?"multiline":"",v?"empty":""],style:n.span?`grid-column: span ${n.span}`:""},[d("span",{class:"kv-label"},n.label),d("span",{class:"kv-value"},v?"—":String(t))])},o=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 v,r,b,h,m,y,f,k,_,x,w,C,D,V,H,B,I,N,S,T,$,A,L,j,K,O,q;return F(),M("div",ll,[s("div",al,[t[0]||(t[0]=Y(" 患者病例 ",-1)),s("span",el,g(z.value)+" · 诊断日期 "+g(((v=e.diag)==null?void 0:v.diagnosis_date)||((r=e.apt)==null?void 0:r.appointment_date)||"—"),1)]),s("div",il,[t[1]||(t[1]=s("div",{class:"grid-title"},"基本信息",-1)),s("div",tl,[l(a,{label:"诊单ID",value:(b=e.diag)==null?void 0:b.patient_id},null,8,["value"]),l(a,{label:"姓名",value:(h=e.diag)==null?void 0:h.patient_name},null,8,["value"]),l(a,{label:"身份证号",value:(m=e.diag)==null?void 0:m.id_card},null,8,["value"]),l(a,{label:"手机号",value:i(R)(((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:((k=e.diag)==null?void 0:k.age)!=null?e.diag.age+"岁":""},null,8,["value"]),l(a,{label:"婚姻状态",value:i(u)("marital_status")},null,8,["value"]),l(a,{label:"地区",value:(_=e.diag)==null?void 0:_.region},null,8,["value"])])]),s("div",sl,[t[2]||(t[2]=s("div",{class:"grid-title"},"生命体征",-1)),s("div",ul,[l(a,{label:"身高",value:(x=e.diag)!=null&&x.height?e.diag.height+" cm":""},null,8,["value"]),l(a,{label:"体重",value:(w=e.diag)!=null&&w.weight?e.diag.weight+" kg":""},null,8,["value"]),l(o,{label:"高压",value:(C=e.diag)==null?void 0:C.systolic_pressure,unit:" mmHg",high:i(G)((D=e.diag)==null?void 0:D.systolic_pressure)},null,8,["value","high"]),l(o,{label:"低压",value:(V=e.diag)==null?void 0:V.diastolic_pressure,unit:" mmHg",high:i(J)((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(o,{label:"空腹血糖",value:(B=e.diag)==null?void 0:B.fasting_blood_sugar,unit:" mmol/L",high:i(Q)((I=e.diag)==null?void 0:I.fasting_blood_sugar,(N=e.diag)==null?void 0:N.age)},null,8,["value","high"]),l(a,{label:"在用药物",value:(S=e.diag)==null?void 0:S.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:(T=e.diag)==null?void 0:T.diagnosis_date},null,8,["value"]),l(a,{label:"发现糖尿病病史",value:i(E)?i(E)(($=e.diag)==null?void 0:$.diabetes_discovery_year):(A=e.diag)==null?void 0:A.diabetes_discovery_year},null,8,["value"]),l(a,{label:"当地就诊医院",value:(L=e.diag)==null?void 0:L.local_hospital_name},null,8,["value"]),l(a,{label:"当地医院诊断结果",value:i(U)((j=e.diag)==null?void 0:j.local_hospital_diagnosis)},null,8,["value"])])]),s("div",vl,[t[4]||(t[4]=s("div",{class:"grid-title"},"现病史",-1)),s("div",ol,[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:(K=e.diag)==null?void 0:K.symptoms,span:"3",multiline:""},null,8,["value"])])]),s("div",gl,[t[5]||(t[5]=s("div",{class:"grid-title"},"既往史",-1)),s("div",cl,[l(a,{label:"既往病史",value:i(u)("past_history"),span:"3"},null,8,["value"])])]),s("div",rl,[t[6]||(t[6]=s("div",{class:"grid-title"},"其他病史",-1)),s("div",bl,[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"])])]),(O=e.diag)!=null&&O.remark?(F(),M("div",hl,[t[7]||(t[7]=s("div",{class:"grid-title"},"病史补充",-1)),s("div",ml,[l(a,{label:"",value:e.diag.remark,multiline:""},null,8,["value"])])])):Z("",!0),s("div",yl,[t[8]||(t[8]=s("div",{class:"grid-title"},"处方意见",-1)),s("div",fl,g((q=e.apt)!=null&&q.has_prescription?"已开方。":"当前未开方。"),1)])])}}}),Vl=P(kl,[["__scopeId","data-v-a6ad7c86"]]);export{Vl as default}; +import{i as G,a as J,b as Q}from"./blood-thresholds-CJ1fqMjh.js";import{m as R,j as U,b as W}from"./diag-display-DCz_VAqj.js";import{f as E}from"./diabetes-discovery-display-B_wmGXQJ.js";import{o as X,q as F,r as M,s,L as Y,T as g,v as l,u as i,P as Z,p,y as d}from"./.pnpm-9dA1PEvN.js";import{_ as P}from"./index-BWzN7QIb.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"},vl={class:"grid-block"},ol={class:"kv-grid three"},gl={class:"grid-block"},cl={class:"kv-grid three"},rl={class:"grid-block"},bl={class:"kv-grid three"},hl={key:0,class:"grid-block"},ml={class:"kv-grid one"},yl={class:"grid-block"},fl={class:"rx-note"},kl=X({__name:"PatientCaseCard",props:{apt:{default:()=>({})},diag:{default:()=>({})}},setup(e){const c=e,z=p(()=>((c.diag||{}).consultation_type==="follow_up","复诊")),u=W(()=>c.diag||{}),a=n=>{const t=n.value,v=t==null||t===""||Array.isArray(t)&&t.length===0;return d("div",{class:["kv-item",n.multiline?"multiline":"",v?"empty":""],style:n.span?`grid-column: span ${n.span}`:""},[d("span",{class:"kv-label"},n.label),d("span",{class:"kv-value"},v?"—":String(t))])},o=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 v,r,b,h,m,y,f,k,_,x,w,C,D,V,H,B,I,N,S,T,$,A,L,j,K,O,q;return F(),M("div",ll,[s("div",al,[t[0]||(t[0]=Y(" 患者病例 ",-1)),s("span",el,g(z.value)+" · 诊断日期 "+g(((v=e.diag)==null?void 0:v.diagnosis_date)||((r=e.apt)==null?void 0:r.appointment_date)||"—"),1)]),s("div",il,[t[1]||(t[1]=s("div",{class:"grid-title"},"基本信息",-1)),s("div",tl,[l(a,{label:"诊单ID",value:(b=e.diag)==null?void 0:b.patient_id},null,8,["value"]),l(a,{label:"姓名",value:(h=e.diag)==null?void 0:h.patient_name},null,8,["value"]),l(a,{label:"身份证号",value:(m=e.diag)==null?void 0:m.id_card},null,8,["value"]),l(a,{label:"手机号",value:i(R)(((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:((k=e.diag)==null?void 0:k.age)!=null?e.diag.age+"岁":""},null,8,["value"]),l(a,{label:"婚姻状态",value:i(u)("marital_status")},null,8,["value"]),l(a,{label:"地区",value:(_=e.diag)==null?void 0:_.region},null,8,["value"])])]),s("div",sl,[t[2]||(t[2]=s("div",{class:"grid-title"},"生命体征",-1)),s("div",ul,[l(a,{label:"身高",value:(x=e.diag)!=null&&x.height?e.diag.height+" cm":""},null,8,["value"]),l(a,{label:"体重",value:(w=e.diag)!=null&&w.weight?e.diag.weight+" kg":""},null,8,["value"]),l(o,{label:"高压",value:(C=e.diag)==null?void 0:C.systolic_pressure,unit:" mmHg",high:i(G)((D=e.diag)==null?void 0:D.systolic_pressure)},null,8,["value","high"]),l(o,{label:"低压",value:(V=e.diag)==null?void 0:V.diastolic_pressure,unit:" mmHg",high:i(J)((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(o,{label:"空腹血糖",value:(B=e.diag)==null?void 0:B.fasting_blood_sugar,unit:" mmol/L",high:i(Q)((I=e.diag)==null?void 0:I.fasting_blood_sugar,(N=e.diag)==null?void 0:N.age)},null,8,["value","high"]),l(a,{label:"在用药物",value:(S=e.diag)==null?void 0:S.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:(T=e.diag)==null?void 0:T.diagnosis_date},null,8,["value"]),l(a,{label:"发现糖尿病病史",value:i(E)?i(E)(($=e.diag)==null?void 0:$.diabetes_discovery_year):(A=e.diag)==null?void 0:A.diabetes_discovery_year},null,8,["value"]),l(a,{label:"当地就诊医院",value:(L=e.diag)==null?void 0:L.local_hospital_name},null,8,["value"]),l(a,{label:"当地医院诊断结果",value:i(U)((j=e.diag)==null?void 0:j.local_hospital_diagnosis)},null,8,["value"])])]),s("div",vl,[t[4]||(t[4]=s("div",{class:"grid-title"},"现病史",-1)),s("div",ol,[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:(K=e.diag)==null?void 0:K.symptoms,span:"3",multiline:""},null,8,["value"])])]),s("div",gl,[t[5]||(t[5]=s("div",{class:"grid-title"},"既往史",-1)),s("div",cl,[l(a,{label:"既往病史",value:i(u)("past_history"),span:"3"},null,8,["value"])])]),s("div",rl,[t[6]||(t[6]=s("div",{class:"grid-title"},"其他病史",-1)),s("div",bl,[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"])])]),(O=e.diag)!=null&&O.remark?(F(),M("div",hl,[t[7]||(t[7]=s("div",{class:"grid-title"},"病史补充",-1)),s("div",ml,[l(a,{label:"",value:e.diag.remark,multiline:""},null,8,["value"])])])):Z("",!0),s("div",yl,[t[8]||(t[8]=s("div",{class:"grid-title"},"处方意见",-1)),s("div",fl,g((q=e.apt)!=null&&q.has_prescription?"已开方。":"当前未开方。"),1)])])}}}),Vl=P(kl,[["__scopeId","data-v-a6ad7c86"]]);export{Vl as default}; diff --git a/server/public/admin/assets/PatientInfoCard-CQnDZGNo.js b/server/public/admin/assets/PatientInfoCard-_2CDuTA6.js similarity index 96% rename from server/public/admin/assets/PatientInfoCard-CQnDZGNo.js rename to server/public/admin/assets/PatientInfoCard-_2CDuTA6.js index 10f8b640..bacd5f2f 100644 --- a/server/public/admin/assets/PatientInfoCard-CQnDZGNo.js +++ b/server/public/admin/assets/PatientInfoCard-_2CDuTA6.js @@ -1 +1 @@ -import{m as I,f as p,a as w}from"./diag-display-DCz_VAqj.js";import{o as y,q as x,r as B,s as e,T as a,u as i,P as N}from"./.pnpm-9dA1PEvN.js";import{_ as V}from"./index-CJvXnF8Y.js";const b={class:"card patient-card"},q={class:"patient-hero"},D={class:"patient-name"},E={class:"patient-meta"},G={key:0},S=y({__name:"PatientInfoCard",props:{apt:{default:()=>({})},diag:{default:()=>({})}},setup(t){return(T,n)=>{var d,s,o,c,m,l,r,g,u,f,h,v,k,P,C;return x(),B("div",b,[n[0]||(n[0]=e("div",{class:"card-title"},"患者信息",-1)),e("div",q,[e("div",D,a(((d=t.apt)==null?void 0:d.patient_name)||"—"),1),e("div",E,[e("div",null,a(i(I)((s=t.apt)==null?void 0:s.patient_phone))+" · "+a(i(p)((o=t.diag)==null?void 0:o.gender))+" · "+a(((c=t.diag)==null?void 0:c.age)!=null?t.diag.age+"岁":"—"),1),e("div",null,a((m=t.diag)!=null&&m.height?t.diag.height+"cm":"—")+" / "+a((l=t.diag)!=null&&l.weight?t.diag.weight+"kg":"—")+" · "+a(((r=t.diag)==null?void 0:r.region)||"—"),1),e("div",null," 预约:"+a((g=t.apt)==null?void 0:g.appointment_date)+" "+a((u=t.apt)==null?void 0:u.appointment_time)+" · "+a(i(w)((f=t.apt)==null?void 0:f.period)),1),e("div",null,"医生:"+a(((h=t.apt)==null?void 0:h.doctor_name)||"—")+" 客服:"+a(((v=t.apt)==null?void 0:v.assistant_name)||"—"),1),e("div",null," 状态:"+a(((k=t.apt)==null?void 0:k.status_desc)||"—")+" · "+a((P=t.apt)!=null&&P.has_prescription?"已开方":"未开方"),1),(C=t.apt)!=null&&C.remark?(x(),B("div",G,"备注:"+a(t.apt.remark),1)):N("",!0)])])])}}}),F=V(S,[["__scopeId","data-v-37de0c0b"]]);export{F as default}; +import{m as I,f as p,a as w}from"./diag-display-DCz_VAqj.js";import{o as y,q as x,r as B,s as e,T as a,u as i,P as N}from"./.pnpm-9dA1PEvN.js";import{_ as V}from"./index-BWzN7QIb.js";const b={class:"card patient-card"},q={class:"patient-hero"},D={class:"patient-name"},E={class:"patient-meta"},G={key:0},S=y({__name:"PatientInfoCard",props:{apt:{default:()=>({})},diag:{default:()=>({})}},setup(t){return(T,n)=>{var d,s,o,c,m,l,r,g,u,f,h,v,k,P,C;return x(),B("div",b,[n[0]||(n[0]=e("div",{class:"card-title"},"患者信息",-1)),e("div",q,[e("div",D,a(((d=t.apt)==null?void 0:d.patient_name)||"—"),1),e("div",E,[e("div",null,a(i(I)((s=t.apt)==null?void 0:s.patient_phone))+" · "+a(i(p)((o=t.diag)==null?void 0:o.gender))+" · "+a(((c=t.diag)==null?void 0:c.age)!=null?t.diag.age+"岁":"—"),1),e("div",null,a((m=t.diag)!=null&&m.height?t.diag.height+"cm":"—")+" / "+a((l=t.diag)!=null&&l.weight?t.diag.weight+"kg":"—")+" · "+a(((r=t.diag)==null?void 0:r.region)||"—"),1),e("div",null," 预约:"+a((g=t.apt)==null?void 0:g.appointment_date)+" "+a((u=t.apt)==null?void 0:u.appointment_time)+" · "+a(i(w)((f=t.apt)==null?void 0:f.period)),1),e("div",null,"医生:"+a(((h=t.apt)==null?void 0:h.doctor_name)||"—")+" 客服:"+a(((v=t.apt)==null?void 0:v.assistant_name)||"—"),1),e("div",null," 状态:"+a(((k=t.apt)==null?void 0:k.status_desc)||"—")+" · "+a((P=t.apt)!=null&&P.has_prescription?"已开方":"未开方"),1),(C=t.apt)!=null&&C.remark?(x(),B("div",G,"备注:"+a(t.apt.remark),1)):N("",!0)])])])}}}),F=V(S,[["__scopeId","data-v-37de0c0b"]]);export{F as default}; diff --git a/server/public/admin/assets/PatientOrderList-CbJRHf8i.js b/server/public/admin/assets/PatientOrderList-CKjXSixL.js similarity index 96% rename from server/public/admin/assets/PatientOrderList-CbJRHf8i.js rename to server/public/admin/assets/PatientOrderList-CKjXSixL.js index 21b3ea43..c9066538 100644 --- a/server/public/admin/assets/PatientOrderList-CbJRHf8i.js +++ b/server/public/admin/assets/PatientOrderList-CKjXSixL.js @@ -1 +1 @@ -import{o as G,R as H,be as Q,q as l,r as v,v as a,bB as X,F as Y,s as b,D as i,w as Z,u as d,ch as tt,a1 as et,ac as h,J as st,T as m,O as g,K as at,L as f,P as it,bj as ot,bk as lt,br as nt,bi as rt,C as dt,p as S,M as y,ba as ft}from"./.pnpm-9dA1PEvN.js";import{_ as ut}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{u as ct}from"./usePaging-Boz1Q6w3.js";import{t as mt,a4 as pt,ao as _t}from"./tcm-DOD9_1Um.js";import vt from"./PrescriptionOrderDetailDrawer-66DcVm3d.js";import{i as V,_ as bt}from"./index-CJvXnF8Y.js";import{B as gt,a as yt,f as wt}from"./prescription-order-utils-B0fYlULc.js";const xt={class:"patient-order-list"},ht={key:0,class:"po-empty-tip"},St={key:0,class:"po-revisit-offset-bar mb-3"},kt={class:"po-revisit-offset-bar__main"},Nt={class:"text-xs text-gray-500 ml-2"},It={key:0},Dt={key:1,class:"text-gray-400"},Ot={class:"text-red-500 font-semibold"},Et={class:"flex justify-end mt-3"},Ct=G({__name:"PatientOrderList",props:{diagnosisId:{},patientId:{}},setup(E,{expose:F}){const r=E,k=S(()=>{const e=Number(r.patientId);return Number.isFinite(e)&&e>0?e:0}),N=S(()=>k.value>0),p=ft({}),{pager:u,getLists:I,resetPage:L}=ct({fetchFun:mt,params:p,size:10}),c=y(0),w=y(0),x=y(!1),C=y(!1),P=S(()=>Number(c.value)!==Number(w.value)),B=S(()=>{const e=Number(c.value),o=(Number.isFinite(e)?e:0)+1,_=["","一","二","三","四","五","六","七","八","九","十"];return o>=1&&o<=10?_[o]+"诊":`第${o}诊`}),q=()=>{Object.keys(p).forEach(e=>delete p[e]),r.diagnosisId>0&&(p.context_diagnosis_id=r.diagnosisId),N.value&&(p.patient_id=k.value),p.scene="diagnosis_edit"};async function z(){if(!(r.diagnosisId<=0)){C.value=!0;try{const e=await pt({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;c.value=_,w.value=_}catch{c.value=0,w.value=0}finally{C.value=!1}}}async function j(){if(r.diagnosisId<=0)return;const e=Number(c.value);if(!Number.isFinite(e)||e<0||e>20){V.msgWarning("起始偏移须在 0~20 之间");return}x.value=!0;try{await _t({id:r.diagnosisId,revisit_slot_start_offset:e}),w.value=e,V.msgSuccess("保存成功"),I()}catch{}finally{x.value=!1}}const R=y();function $(e){var t;(t=R.value)==null||t.open(e)}const A=e=>{const t=Number(e);return Number.isFinite(t)?t.toFixed(2):"0.00"};return H(()=>[r.diagnosisId,k.value],()=>{if(!N.value){u.lists=[],u.count=0;return}q(),z(),L()},{immediate:!0}),F({refresh:()=>I()}),(e,t)=>{const o=X,_=Z,U=et,J=st,T=at,n=lt,D=nt,K=ot,M=ut,O=Q("perms"),W=rt;return l(),v("div",xt,[N.value?(l(),v(Y,{key:1},[E.diagnosisId>0?(l(),v("div",St,[b("div",kt,[t[3]||(t[3]=b("span",{class:"text-sm text-gray-600"},"复诊统计起始偏移",-1)),a(U,{placement:"top"},{content:i(()=>[...t[2]||(t[2]=[b("div",{class:"max-w-xs leading-relaxed"}," 在实单诊次序号上叠加偏移量。设为 0(默认):第 1 笔实单计为一诊;设为 1:第 1 笔实单计为二诊;设为 2:第 1 笔实单计为三诊——若有 5 笔实单且偏移 2,则统计上相当于计至七诊(5+2)。 ",-1)])]),default:i(()=>[a(_,{class:"text-gray-400 align-middle ml-1"},{default:i(()=>[a(d(tt))]),_:1})]),_:1}),h(a(J,{modelValue:c.value,"onUpdate:modelValue":t[0]||(t[0]=s=>c.value=s),min:0,max:20,step:1,"controls-position":"right",class:"w-[120px] ml-3",disabled:x.value},null,8,["modelValue","disabled"]),[[O,["tcm.diagnosis/setRevisitSlotStartOffset"]]]),b("span",Nt," 第 1 笔实单计为"+m(B.value),1)]),h((l(),g(T,{type:"primary",size:"small",loading:x.value,disabled:!P.value,onClick:j},{default:i(()=>[...t[4]||(t[4]=[f(" 保存 ",-1)])]),_:1},8,["loading","disabled"])),[[O,["tcm.diagnosis/setRevisitSlotStartOffset"]]])])):it("",!0),h((l(),g(K,{data:d(u).lists,border:"",stripe:"","empty-text":"暂无业务订单"},{default:i(()=>[a(n,{label:"订单编号",prop:"order_no","min-width":"200","show-overflow-tooltip":""}),a(n,{label:"全局诊次",width:"96",align:"center"},{default:i(({row:s})=>[s.global_visit_seq?(l(),v("span",It,m(s.global_visit_seq)+"诊",1)):(l(),v("span",Dt,"—"))]),_:1}),a(n,{label:"计入统计",width:"96",align:"center"},{default:i(({row:s})=>[s.counts_for_revisit_rate?(l(),g(D,{key:0,type:"success",size:"small",effect:"plain"},{default:i(()=>[...t[5]||(t[5]=[f("是",-1)])]),_:1})):(l(),g(D,{key:1,type:"info",size:"small",effect:"plain"},{default:i(()=>[...t[6]||(t[6]=[f("否",-1)])]),_:1}))]),_:1}),a(n,{label:"金额",width:"120",align:"right"},{default:i(({row:s})=>[b("span",Ot,"¥"+m(A(s.amount)),1)]),_:1}),a(n,{label:"医生",prop:"doctor_name",width:"110","show-overflow-tooltip":""},{default:i(({row:s})=>[f(m(s.doctor_name||"—"),1)]),_:1}),a(n,{label:"医助",prop:"assistant_name",width:"110","show-overflow-tooltip":""},{default:i(({row:s})=>[f(m(s.assistant_name||"—"),1)]),_:1}),a(n,{label:"履约状态",width:"110"},{default:i(({row:s})=>[a(D,{type:d(gt)(s.fulfillment_status),size:"small",effect:"light"},{default:i(()=>[f(m(d(yt)(s.fulfillment_status)),1)]),_:2},1032,["type"])]),_:1}),a(n,{label:"创建时间","min-width":"170"},{default:i(({row:s})=>[f(m(d(wt)(s.create_time)),1)]),_:1}),a(n,{label:"操作",width:"100",fixed:"right"},{default:i(({row:s})=>[h((l(),g(T,{type:"primary",link:"",onClick:Rt=>$(s.id)},{default:i(()=>[...t[7]||(t[7]=[f("查看详情",-1)])]),_:1},8,["onClick"])),[[O,["tcm.prescriptionOrder/detail"]]])]),_:1})]),_:1},8,["data"])),[[W,d(u).loading]]),b("div",Et,[a(M,{modelValue:d(u),"onUpdate:modelValue":t[1]||(t[1]=s=>dt(u)?u.value=s:null),onChange:d(I)},null,8,["modelValue","onChange"])])],64)):(l(),v("div",ht,[a(o,{description:"当前诊单未携带患者ID,无法列出业务订单"})])),a(vt,{ref_key:"detailDrawerRef",ref:R,readonly:"","append-to-body":""},null,512)])}}}),zt=bt(Ct,[["__scopeId","data-v-dab792c2"]]);export{zt as default}; +import{o as G,R as H,be as Q,q as l,r as v,v as a,bB as X,F as Y,s as b,D as i,w as Z,u as d,ch as tt,a1 as et,ac as h,J as st,T as m,O as g,K as at,L as f,P as it,bj as ot,bk as lt,br as nt,bi as rt,C as dt,p as S,M as y,ba as ft}from"./.pnpm-9dA1PEvN.js";import{_ as ut}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{u as ct}from"./usePaging-Boz1Q6w3.js";import{t as mt,a4 as pt,ao as _t}from"./tcm-Fi_swgCr.js";import vt from"./PrescriptionOrderDetailDrawer-CEi7ZXfx.js";import{i as V,_ as bt}from"./index-BWzN7QIb.js";import{B as gt,a as yt,f as wt}from"./prescription-order-utils-B0fYlULc.js";const xt={class:"patient-order-list"},ht={key:0,class:"po-empty-tip"},St={key:0,class:"po-revisit-offset-bar mb-3"},kt={class:"po-revisit-offset-bar__main"},Nt={class:"text-xs text-gray-500 ml-2"},It={key:0},Dt={key:1,class:"text-gray-400"},Ot={class:"text-red-500 font-semibold"},Et={class:"flex justify-end mt-3"},Ct=G({__name:"PatientOrderList",props:{diagnosisId:{},patientId:{}},setup(E,{expose:F}){const r=E,k=S(()=>{const e=Number(r.patientId);return Number.isFinite(e)&&e>0?e:0}),N=S(()=>k.value>0),p=ft({}),{pager:u,getLists:I,resetPage:L}=ct({fetchFun:mt,params:p,size:10}),c=y(0),w=y(0),x=y(!1),C=y(!1),P=S(()=>Number(c.value)!==Number(w.value)),B=S(()=>{const e=Number(c.value),o=(Number.isFinite(e)?e:0)+1,_=["","一","二","三","四","五","六","七","八","九","十"];return o>=1&&o<=10?_[o]+"诊":`第${o}诊`}),q=()=>{Object.keys(p).forEach(e=>delete p[e]),r.diagnosisId>0&&(p.context_diagnosis_id=r.diagnosisId),N.value&&(p.patient_id=k.value),p.scene="diagnosis_edit"};async function z(){if(!(r.diagnosisId<=0)){C.value=!0;try{const e=await pt({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;c.value=_,w.value=_}catch{c.value=0,w.value=0}finally{C.value=!1}}}async function j(){if(r.diagnosisId<=0)return;const e=Number(c.value);if(!Number.isFinite(e)||e<0||e>20){V.msgWarning("起始偏移须在 0~20 之间");return}x.value=!0;try{await _t({id:r.diagnosisId,revisit_slot_start_offset:e}),w.value=e,V.msgSuccess("保存成功"),I()}catch{}finally{x.value=!1}}const R=y();function $(e){var t;(t=R.value)==null||t.open(e)}const A=e=>{const t=Number(e);return Number.isFinite(t)?t.toFixed(2):"0.00"};return H(()=>[r.diagnosisId,k.value],()=>{if(!N.value){u.lists=[],u.count=0;return}q(),z(),L()},{immediate:!0}),F({refresh:()=>I()}),(e,t)=>{const o=X,_=Z,U=et,J=st,T=at,n=lt,D=nt,K=ot,M=ut,O=Q("perms"),W=rt;return l(),v("div",xt,[N.value?(l(),v(Y,{key:1},[E.diagnosisId>0?(l(),v("div",St,[b("div",kt,[t[3]||(t[3]=b("span",{class:"text-sm text-gray-600"},"复诊统计起始偏移",-1)),a(U,{placement:"top"},{content:i(()=>[...t[2]||(t[2]=[b("div",{class:"max-w-xs leading-relaxed"}," 在实单诊次序号上叠加偏移量。设为 0(默认):第 1 笔实单计为一诊;设为 1:第 1 笔实单计为二诊;设为 2:第 1 笔实单计为三诊——若有 5 笔实单且偏移 2,则统计上相当于计至七诊(5+2)。 ",-1)])]),default:i(()=>[a(_,{class:"text-gray-400 align-middle ml-1"},{default:i(()=>[a(d(tt))]),_:1})]),_:1}),h(a(J,{modelValue:c.value,"onUpdate:modelValue":t[0]||(t[0]=s=>c.value=s),min:0,max:20,step:1,"controls-position":"right",class:"w-[120px] ml-3",disabled:x.value},null,8,["modelValue","disabled"]),[[O,["tcm.diagnosis/setRevisitSlotStartOffset"]]]),b("span",Nt," 第 1 笔实单计为"+m(B.value),1)]),h((l(),g(T,{type:"primary",size:"small",loading:x.value,disabled:!P.value,onClick:j},{default:i(()=>[...t[4]||(t[4]=[f(" 保存 ",-1)])]),_:1},8,["loading","disabled"])),[[O,["tcm.diagnosis/setRevisitSlotStartOffset"]]])])):it("",!0),h((l(),g(K,{data:d(u).lists,border:"",stripe:"","empty-text":"暂无业务订单"},{default:i(()=>[a(n,{label:"订单编号",prop:"order_no","min-width":"200","show-overflow-tooltip":""}),a(n,{label:"全局诊次",width:"96",align:"center"},{default:i(({row:s})=>[s.global_visit_seq?(l(),v("span",It,m(s.global_visit_seq)+"诊",1)):(l(),v("span",Dt,"—"))]),_:1}),a(n,{label:"计入统计",width:"96",align:"center"},{default:i(({row:s})=>[s.counts_for_revisit_rate?(l(),g(D,{key:0,type:"success",size:"small",effect:"plain"},{default:i(()=>[...t[5]||(t[5]=[f("是",-1)])]),_:1})):(l(),g(D,{key:1,type:"info",size:"small",effect:"plain"},{default:i(()=>[...t[6]||(t[6]=[f("否",-1)])]),_:1}))]),_:1}),a(n,{label:"金额",width:"120",align:"right"},{default:i(({row:s})=>[b("span",Ot,"¥"+m(A(s.amount)),1)]),_:1}),a(n,{label:"医生",prop:"doctor_name",width:"110","show-overflow-tooltip":""},{default:i(({row:s})=>[f(m(s.doctor_name||"—"),1)]),_:1}),a(n,{label:"医助",prop:"assistant_name",width:"110","show-overflow-tooltip":""},{default:i(({row:s})=>[f(m(s.assistant_name||"—"),1)]),_:1}),a(n,{label:"履约状态",width:"110"},{default:i(({row:s})=>[a(D,{type:d(gt)(s.fulfillment_status),size:"small",effect:"light"},{default:i(()=>[f(m(d(yt)(s.fulfillment_status)),1)]),_:2},1032,["type"])]),_:1}),a(n,{label:"创建时间","min-width":"170"},{default:i(({row:s})=>[f(m(d(wt)(s.create_time)),1)]),_:1}),a(n,{label:"操作",width:"100",fixed:"right"},{default:i(({row:s})=>[h((l(),g(T,{type:"primary",link:"",onClick:Rt=>$(s.id)},{default:i(()=>[...t[7]||(t[7]=[f("查看详情",-1)])]),_:1},8,["onClick"])),[[O,["tcm.prescriptionOrder/detail"]]])]),_:1})]),_:1},8,["data"])),[[W,d(u).loading]]),b("div",Et,[a(M,{modelValue:d(u),"onUpdate:modelValue":t[1]||(t[1]=s=>dt(u)?u.value=s:null),onChange:d(I)},null,8,["modelValue","onChange"])])],64)):(l(),v("div",ht,[a(o,{description:"当前诊单未携带患者ID,无法列出业务订单"})])),a(vt,{ref_key:"detailDrawerRef",ref:R,readonly:"","append-to-body":""},null,512)])}}}),zt=bt(Ct,[["__scopeId","data-v-dab792c2"]]);export{zt as default}; diff --git a/server/public/admin/assets/PrescriptionOrderDetailDrawer-66DcVm3d.js b/server/public/admin/assets/PrescriptionOrderDetailDrawer-CEi7ZXfx.js similarity index 99% rename from server/public/admin/assets/PrescriptionOrderDetailDrawer-66DcVm3d.js rename to server/public/admin/assets/PrescriptionOrderDetailDrawer-CEi7ZXfx.js index 298e9a45..a4546b6a 100644 --- a/server/public/admin/assets/PrescriptionOrderDetailDrawer-66DcVm3d.js +++ b/server/public/admin/assets/PrescriptionOrderDetailDrawer-CEi7ZXfx.js @@ -1 +1 @@ -import{o as _t,ap as Rt,be as Bt,q as s,O as c,B as Ft,D as a,bZ as $t,r as p,bh as Mt,s as n,L as d,T as i,P as m,F as V,G as X,br as Ht,v as l,b_ as Jt,b$ as Kt,u as b,bg as Wt,ac as M,K as Gt,ae as H,c0 as Qt,c1 as Zt,bj as Xt,bk as Yt,bB as ea,bA as ta,U as aa,S as sa,b7 as la,b8 as ra,bm as ia,bn as na,w as oa,by as ua,c2 as da,bq as pa,b5 as ma,c3 as ca,c4 as _a,bt as ya,b9 as va,b6 as fa,J as ga,ah as tt,p as x,M as T,ba as at,n as ba}from"./.pnpm-9dA1PEvN.js";import{a as xa,b as ka,c as wa,d as ha,e as st,f as Sa,h as Na}from"./tcm-DOD9_1Um.js";import{u as Va,m as Ta,i as J,_ as La}from"./index-CJvXnF8Y.js";import{f as Oe,a as lt,c as za,b as rt,d as Pa,e as Aa,g as Ue,p as it,o as nt,h as ot,i as ut,j as Oa,l as Ua,k as Ea,m as dt,n as Ca,q as Da,T as Ia,P as pt,r as ja,s as qa,t as mt,u as Ra,v as ct,w as Ba,x as Fa,y as $a}from"./prescription-order-utils-B0fYlULc.js";const Ma={class:"po-detail-drawer-head flex items-center justify-between"},Ha={class:"flex items-center"},Ja={key:0,class:"flex items-center gap-2 mr-6"},Ka={key:1,class:"po-detail-body px-6 pb-6 h-full overflow-y-auto"},Wa={class:"text-sm leading-relaxed"},Ga={class:"font-mono font-semibold text-red-700"},Qa={class:"font-mono font-semibold text-red-700"},Za={class:"text-sm leading-relaxed space-y-1.5"},Xa={key:0,class:"flex flex-wrap gap-1.5 items-center"},Ya={key:1,class:"list-disc pl-5 space-y-1 text-red-50"},es={key:2,class:"bg-gray-50/80 border border-gray-100 rounded-lg p-5 mb-5 shadow-sm"},ts={key:0,class:"text-red-500 font-medium"},as={key:1},ss={key:2,class:"text-green-600"},ls={key:3,class:"text-gray-400"},rs={key:0,class:"text-red-500 font-medium"},is={key:1},ns={key:2,class:"text-green-600"},os={key:3,class:"text-gray-400"},us={key:0,class:"text-amber-600 font-medium"},ds={key:1,class:"text-primary font-medium"},ps={key:2},ms={key:3,class:"text-green-600"},cs={key:4,class:"text-red-500 font-medium"},_s={class:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-5 gap-4 mb-5"},ys={class:"flex items-center justify-between mb-1"},vs={class:"stat-value text-red-500 font-bold text-xl"},fs={class:"stat-value text-green-600 font-bold text-xl"},gs={class:"stat-value text-primary font-bold text-xl"},bs={class:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4"},xs={key:0,class:"audit-stamp stamp-pass"},ks={key:1,class:"audit-stamp stamp-reject"},ws={class:"flex items-center justify-between"},hs={class:"flex items-center gap-3"},Ss={key:0,class:"text-xs text-gray-500"},Ns={class:"text-primary font-medium"},Vs={class:"text-xs text-gray-400"},Ts={class:"text-red-500 font-medium"},Ls={class:"flex flex-col gap-1 text-sm leading-relaxed"},zs={key:0,class:"text-gray-500 mr-1"},Ps={key:1,class:"ml-2 text-gray-500"},As={key:0},Os={key:1,class:"ml-2 text-gray-500"},Us={class:"flex items-center gap-1"},Es={class:"flex flex-col gap-1.5 text-sm leading-relaxed"},Cs={key:0},Ds={key:0,class:"mt-4"},Is={class:"flex flex-col gap-4 h-full"},js={class:"text-red-500"},qs={key:0,class:"audit-stamp stamp-pass"},Rs={key:1,class:"audit-stamp stamp-reject"},Bs={class:"flex items-center justify-between"},Fs={class:"flex items-center gap-3"},$s={key:0,class:"text-xs text-gray-500"},Ms={class:"text-primary font-medium"},Hs={class:"text-red-500"},Js={class:"font-mono"},Ks={key:0,class:"text-[13px] space-y-1"},Ws={class:"font-medium text-gray-900"},Gs={key:0,class:"text-gray-500 ml-2 font-mono text-xs"},Qs={key:0,class:"text-gray-600 text-xs leading-relaxed"},Zs={key:1,class:"text-gray-400"},Xs={key:0,class:"space-y-1.5"},Ys={class:"text-gray-800 break-all"},el={key:1,class:"text-gray-400"},tl={class:"flex flex-wrap items-center gap-x-4 gap-y-1 text-[13px]"},al={class:"font-mono text-primary"},sl={class:"text-gray-500"},ll={key:0},rl={key:1,class:"text-gray-500"},il={key:0,class:"text-xs text-gray-500 mt-1"},nl={key:1,class:"text-gray-400"},ol={class:"po-audit-remark"},ul={class:"po-audit-remark"},dl={class:"flex items-center gap-2 flex-wrap"},pl={class:"text-xs text-gray-400 font-mono"},ml={key:0,class:"po-logistics-tip text-gray-400 text-xs mb-3 font-normal"},cl={class:"flex flex-wrap items-center gap-3 mb-4"},_l={key:1,class:"ml-2 flex items-center gap-4 border-l pl-4 border-gray-200"},yl={key:2,class:"py-6 text-center text-sm text-gray-500"},vl={key:3,class:"logistics-content bg-gray-50/50 p-4 rounded-md"},fl={key:0,class:"text-sm mb-4 font-medium flex items-center gap-2"},gl={class:"text-gray-800"},bl={key:1,class:"text-xs text-gray-400 ml-1"},xl={key:2,class:"text-xs text-gray-400"},kl={class:"flex items-center justify-between gap-2"},wl={class:"flex items-center gap-2 mb-1"},hl={class:"font-medium text-[13px]"},Sl={key:0,class:"text-xs text-gray-400 mt-1"},Nl={key:0,class:"text-xs text-gray-400 mt-1"},Vl={key:0,class:"text-xs font-medium text-gray-500 mb-3"},Tl={class:"flex items-center gap-1 w-full"},Ll={class:"flex items-center gap-1 w-full"},zl={class:"flex items-center gap-1 w-full"},Pl=_t({name:"PrescriptionOrderDetailDrawer"}),Al=_t({...Pl,props:{readonly:{type:Boolean,default:!1},gancaoPreviewLoading:{type:Boolean,default:!1},appendToBody:{type:Boolean,default:!1}},emits:["update-amount","patch-rx-patient","view-prescription","test-gancao-preview","view-patient","detail-changed"],setup(k,{expose:yt,emit:vt}){const ft=k,D=vt,Y=Va(),ye=x(()=>{const t=Y.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(Ia)?e.some(o=>pt.includes(o)):!0}),I=T(!1),ve=T(!1),r=T(null),K=T([]),W=T([]),_=x(()=>{var e;const t=(e=r.value)==null?void 0:e.prescription;return t&&typeof t=="object"?t:null}),Ee=x(()=>{var t;return ja((t=_.value)==null?void 0:t.dietary_taboo)}),fe=x(()=>{const t=r.value;if(!t)return[];const e=t.linked_pay_orders;return Array.isArray(e)?e:[]}),Ce=x(()=>{const t=r.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}),ie=x(()=>{if(!r.value)return 0;const t=Number(r.value.fulfillment_status),e=Number(r.value.prescription_audit_status),o=Number(r.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}),ne=x(()=>{var e;const t=Number((e=r.value)==null?void 0:e.prescription_audit_status);return t===1?"success":t===2?"error":ie.value===1?"process":"wait"}),oe=x(()=>{var e;const t=Number((e=r.value)==null?void 0:e.payment_slip_audit_status);return t===1?"success":t===2?"error":ie.value===2?"process":"wait"}),G=x(()=>{var e;const t=Number((e=r.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||ie.value===3?"process":"wait"}),ee=x(()=>{var o,y;const t=(o=_.value)==null?void 0:o.phone,e=(y=r.value)==null?void 0:y.recipient_phone;return qa(e,t)}),gt=x(()=>{var e;return mt((e=_.value)==null?void 0:e.phone)||"—"}),bt=x(()=>{var e;return mt((e=r.value)==null?void 0:e.recipient_phone)||"—"}),De=x(()=>{var e,o;const t=String(((e=r.value)==null?void 0:e.order_creator_dept_path)??((o=r.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):[]}),Ie=x(()=>{const t=r.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=r.value)==null?void 0:e.linked_appointment;return t&&typeof t=="object"?t:null}),je=x(()=>{var e;const t=String(((e=A.value)==null?void 0:e.resolved_from)||"");return t==="prescription"?"处方绑定挂号":t==="diagnosis"?"诊单关联挂号":""}),qe=x(()=>{const t=A.value;if(!t)return"";const e=String(t.channel_source_desc??"").trim();return e||String(t.channel_source??"").trim()}),Re=x(()=>{var t;return Ra((t=_.value)==null?void 0:t.herbs)}),j=x(()=>ct(_.value)),P=x(()=>{const t=_.value;if(!t||!ct(t))return null;const e=t.aux_usage;return e==null||e===""||Array.isArray(e)&&e.length===0?null:Ba(e,t.prescription_type||"浓缩水丸")}),xt=x(()=>{var t;return((t=r.value)==null?void 0:t.prescription_detail_herbs_visible)!==!1}),Be=x(()=>{var t,e;return!ft.readonly&&((t=r.value)==null?void 0:t.internal_cost)!=null&&((e=r.value)==null?void 0:e.internal_cost)!==""}),kt=x(()=>{const t=r.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(" "):"—"}),ge=T([]);async function Fe(){if(!(ge.value.length>0))try{const t=await Ta({type:"server_order"}),e=Ca(t==null?void 0:t.server_order);e.length>0&&(ge.value=e)}catch{}}const wt=x(()=>{var t;return Fa((t=r.value)==null?void 0:t.service_package,ge.value)});Rt(()=>{Fe()});function ht(){const t=Y.perms||[];return t.includes("*")||t.includes("tcm.prescriptionOrder/logs")}async function $e(t){if(!ht()){K.value=[];return}try{const e=await Sa({id:t});K.value=(e==null?void 0:e.data)??e??[]}catch{K.value=[]}}function St(t){const e=Y.perms||[];return e.includes("*")||e.includes(t)}function Nt(){return St("tcm.prescriptionOrder/addLog")}const be=x(()=>{const t=Y.userInfo;return!t||Number(t.root)===1?!0:(Array.isArray(t.role_ids)?t.role_ids.map(o=>Number(o)):[]).some(o=>pt.includes(o))}),xe=x(()=>{const t=Y.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))}),te=T(!1),ke=T(!1),ue=T(),g=at({summary:"",prescription_audit_status:"",payment_slip_audit_status:"",prescription_audit_remark:"",payment_slip_audit_remark:""}),Vt={summary:[{required:!0,message:"请填写日志内容",trigger:"blur"}]},ae=T(!1),we=T(!1),he=T(),w=at({times_per_day:3,usage_days:7,aux_times_per_day:3,aux_usage_days:7,medication_days:void 0}),Tt=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 j.value&&(t.aux_times_per_day=[{required:!0,message:"请填写辅方每天次数",trigger:"change"}],t.aux_usage_days=[{required:!0,message:"请填写辅方开立天数",trigger:"change"}]),t});function Lt(){const t=_.value,e=r.value;if(!t||!(e!=null&&e.id)||!e.prescription_id){J.msgWarning("无处方数据");return}const o=P.value;w.times_per_day=Number(t.times_per_day)>0?Number(t.times_per_day):3,w.usage_days=Number(t.usage_days)>0?Number(t.usage_days):7,w.aux_times_per_day=o&&Number(o.times_per_day)>0?Number(o.times_per_day):3,w.aux_usage_days=o&&Number(o.usage_days)>0?Number(o.usage_days):7;const y=Number(e.medication_days);w.medication_days=y>0?y:Number(t.usage_days)>0?Number(t.usage_days):7,ae.value=!0,ba(()=>{var v;return(v=he.value)==null?void 0:v.clearValidate()})}function zt(){w.times_per_day=3,w.usage_days=7,w.aux_times_per_day=3,w.aux_usage_days=7,w.medication_days=void 0}async function Pt(){var o;const t=he.value;if(!t)return;try{await t.validate()}catch{return}const e=(o=r.value)==null?void 0:o.id;if(e){we.value=!0;try{const y={id:e,times_per_day:Number(w.times_per_day),usage_days:Number(w.usage_days),medication_days:Number(w.medication_days)};j.value&&(y.aux_times_per_day=Number(w.aux_times_per_day),y.aux_usage_days=Number(w.aux_usage_days)),await xa(y),J.msgSuccess("保存成功"),ae.value=!1,await pe(),D("detail-changed")}catch{}finally{we.value=!1}}}function Me(){var t;g.summary="",g.prescription_audit_status="",g.payment_slip_audit_status="",g.prescription_audit_remark="",g.payment_slip_audit_remark="",(t=ue.value)==null||t.clearValidate()}function At(){var e;if(!((e=r.value)!=null&&e.id))return;Me();const t=r.value;g.prescription_audit_remark=String(t.prescription_audit_remark||""),g.payment_slip_audit_remark=String(t.payment_slip_audit_remark||""),te.value=!0}async function Ot(){var t;if(!(!ue.value||!((t=r.value)!=null&&t.id))){await ue.value.validate(),ke.value=!0;try{const e={id:r.value.id,summary:g.summary.trim()};be.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),xe.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 ka(e),J.msgSuccess("日志已添加"),te.value=!1,await pe(),D("detail-changed")}catch{}finally{ke.value=!1}}}async function He(t,e,o){var y;if(!t){W.value=[];return}try{const v=await Na({diagnosis_id:t,prescription_order_id:e}),z=(v==null?void 0:v.lists)??((y=v==null?void 0:v.data)==null?void 0:y.lists)??[],C=Array.isArray(z)?z.filter(h=>!o.includes(h.id)):[];W.value=C}catch{W.value=[]}}const Q=T("auto"),de=T(!1),Se=T(!1),N=T(null),se=T("");let Ne=0;function Je(){Ne+=1,N.value=null}function Ve(t){var e,o;return t.requestSeq!==Ne||Number((e=r.value)==null?void 0:e.id)!==t.orderId?!1:String(((o=r.value)==null?void 0:o.tracking_number)||"").trim()===t.trackingNumber}const Te=x(()=>{var o;const t=String(((o=r.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}`}}),Ke=x(()=>{const t=N.value;return!t||!Array.isArray(t.traces)?[]:t.traces}),q=x(()=>$a(N.value));async function le(){var v,z;const t=Number((v=r.value)==null?void 0:v.id),e=String(((z=r.value)==null?void 0:z.tracking_number)||"").trim();if(!t||!e)return;const y={requestSeq:++Ne,orderId:t,trackingNumber:e};de.value=!0;try{const C=String(se.value||"").replace(/\D/g,""),h={id:t,express_company:Q.value};C.length>=4&&(h.phone_tail=C);const O=await wa(h);if(!Ve(y))return;N.value=Da(O,e,t)}catch{if(!Ve(y))return;N.value=null}finally{Ve(y)&&(de.value=!1)}}async function Ut(){var o,y;const t=Number((o=r.value)==null?void 0:o.id),e=String(((y=r.value)==null?void 0:y.tracking_number)||"").trim();if(!t||!e){J.msgWarning("当前订单未填写快递单号");return}Se.value=!0;try{const v=await ha({id:t});J.msgSuccess((v==null?void 0:v.message)||"京东物流轨迹已更新"),await le()}catch(v){J.msgError((v==null?void 0:v.message)||"京东物流更新失败")}finally{Se.value=!1}}async function Et(t){Fe(),r.value=null,W.value=[],Je(),Q.value="auto",se.value="",K.value=[],I.value=!0,ve.value=!0;try{const e=await st({id:t}),o=(e==null?void 0:e.data)??e??null;if(r.value=o,o){Q.value=String(o.express_company||"auto")||"auto";const y=String(o.recipient_phone||"").replace(/\D/g,"");se.value=y.length>=4?y:"",String(o.tracking_number||"").trim()&&le(),$e(t);const v=o.diagnosis_id,z=o.pay_order_ids||[];v&&He(v,t,z)}}catch(e){J.msgError((e==null?void 0:e.message)||"加载失败"),I.value=!1}finally{ve.value=!1}}async function pe(){var e,o;const t=Number((e=r.value)==null?void 0:e.id);if(t)try{const y=await st({id:t}),v=(y==null?void 0:y.data)??y??null;if(!v)return;const z=String(((o=r.value)==null?void 0:o.tracking_number)||"").trim();r.value=v;const C=String(v.tracking_number||"").trim();C&&C!==z&&(Je(),Q.value=String(v.express_company||"auto")||"auto",le()),$e(t);const h=v.diagnosis_id;h&&He(h,t,v.pay_order_ids||[])}catch{}}async function Ct(t){var o;const e=Number(t);!I.value||!(e>0)||Number((o=r.value)==null?void 0:o.id)!==e||await pe()}function Dt(){I.value=!1}return yt({open:Et,refresh:pe,refreshIfCurrent:Ct,close:Dt,detail:r,visible:I}),(t,e)=>{const o=Ht,y=$t,v=Mt,z=Kt,C=Jt,h=Gt,O=Wt,f=Zt,We=Qt,S=Yt,Le=Xt,Z=ea,It=sa,jt=aa,me=la,U=na,ze=ia,Pe=oa,Ae=pa,Ge=_a,Qe=ca,E=fa,Ze=va,Xe=ya,re=ga,qt=Ft,R=Bt("perms");return s(),c(qt,{modelValue:I.value,"onUpdate:modelValue":e[21]||(e[21]=B=>I.value=B),class:"po-detail-drawer",size:"80%","destroy-on-close":"","close-on-click-modal":!1,"append-to-body":k.appendToBody},{header:a(()=>{var B,u,L;return[n("div",Ma,[n("div",Ha,[e[22]||(e[22]=n("span",{class:"po-detail-drawer-title text-gray-800 font-semibold text-lg"},"业务订单详情",-1)),(B=r.value)!=null&&B.order_no?(s(),c(o,{key:0,type:"primary",effect:"plain",round:"",class:"ml-3"},{default:a(()=>[d(i(r.value.order_no),1)]),_:1})):m("",!0),(u=r.value)!=null&&u.gancao_reciperl_order_no?(s(),c(o,{key:1,type:"success",effect:"plain",round:"",class:"ml-2"},{default:a(()=>[d("甘草 "+i(r.value.gancao_reciperl_order_no),1)]),_:1})):m("",!0),(L=r.value)!=null&&L.ej_pharmacy_order_no?(s(),c(o,{key:2,type:"warning",effect:"plain",round:"",class:"ml-2"},{default:a(()=>[d("洛阳 "+i(r.value.ej_pharmacy_order_no),1)]),_:1})):m("",!0),r.value?tt(t.$slots,"header-extra",{key:3,detail:r.value},void 0,!0):m("",!0)]),r.value?(s(),p("div",Ja,[tt(t.$slots,"header-actions",{detail:r.value},void 0,!0)])):m("",!0)])]}),default:a(()=>{var B;return[ve.value?(s(),c(y,{key:0,rows:12,animated:"",class:"px-6 py-4"})):r.value?(s(),p("div",Ka,[!k.readonly&&ee.value?(s(),c(v,{key:0,type:"error",closable:!1,"show-icon":"",class:"mb-4 !items-start",title:"业务订单收货手机与处方登记手机不一致"},{default:a(()=>[n("div",Wa,[n("div",null,[e[23]||(e[23]=d(" 处方手机: ",-1)),n("span",Ga,i(gt.value),1)]),n("div",null,[e[24]||(e[24]=d(" 订单收货手机: ",-1)),n("span",Qa,i(bt.value),1)]),e[25]||(e[25]=n("div",{class:"text-gray-600 mt-1"},"请核对是否代收货或录入错误,避免物流与回访联系错人。",-1))])]),_:1})):m("",!0),!k.readonly&&q.value.show&&String(((B=r.value)==null?void 0:B.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",Za,[q.value.keywords.length?(s(),p("div",Xa,[e[26]||(e[26]=n("span",{class:"text-red-100 text-xs"},"命中关键词:",-1)),(s(!0),p(V,null,X(q.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))])):m("",!0),q.value.lines.length?(s(),p("ul",Ya,[(s(!0),p(V,null,X(q.value.lines,(u,L)=>(s(),p("li",{key:L},i(u),1))),128))])):m("",!0),e[27]||(e[27]=n("div",{class:"text-xs text-red-100/90 pt-1 border-t border-white/15"}," 请核实是否需改址重发、拦截退件或协调患者签收,并在备注中记录处理结果。 ",-1))])]),_:1})):m("",!0),k.readonly?m("",!0):(s(),p("div",es,[l(C,{active:ie.value,"align-center":"","finish-status":"success"},{default:a(()=>[l(z,{title:"业务订单创建",description:b(Oe)(r.value.create_time)},null,8,["description"]),l(z,{title:"处方单双审",status:ne.value},{description:a(()=>[ne.value==="error"?(s(),p("span",ts,"处方被驳回")):ne.value==="wait"?(s(),p("span",as,"等待审核")):ne.value==="success"?(s(),p("span",ss,"双审通过")):(s(),p("span",ls,"进行中"))]),_:1},8,["status"]),l(z,{title:"支付单审核",status:oe.value},{description:a(()=>[oe.value==="error"?(s(),p("span",rs,"支付审核驳回")):oe.value==="wait"?(s(),p("span",is,"等待审核")):oe.value==="success"?(s(),p("span",ns,"审核通过")):(s(),p("span",os,"进行中"))]),_:1},8,["status"]),l(z,{title:"发货与履约",status:G.value},{description:a(()=>{var u,L,F;return[G.value==="process"&&Number((u=r.value)==null?void 0:u.fulfillment_status)===7?(s(),p("span",us,"进行中")):G.value==="process"?(s(),p("span",ds,"等待发货/补充单号")):G.value==="wait"?(s(),p("span",ps,"待转入履约")):G.value==="success"?(s(),p("span",ms,i(b(lt)((L=r.value)==null?void 0:L.fulfillment_status)),1)):G.value==="error"?(s(),p("span",cs,i(b(lt)((F=r.value)==null?void 0:F.fulfillment_status)),1)):m("",!0)]}),_:1},8,["status"]),l(z,{title:"订单完成"})]),_:1},8,["active"])])),n("div",_s,[l(O,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:a(()=>[n("div",ys,[e[29]||(e[29]=n("div",{class:"stat-title text-gray-500 text-xs"},"总金额",-1)),!k.readonly&&b(za)(r.value)?M((s(),c(h,{key:0,type:"primary",size:"small",link:"",onClick:e[0]||(e[0]=u=>D("update-amount"))},{default:a(()=>[...e[28]||(e[28]=[d(" 修改 ",-1)])]),_:1})),[[R,["tcm.prescriptionOrder/updateAmount"]]]):m("",!0)]),n("div",vs,"¥"+i(r.value.amount),1)]),_:1}),l(O,{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",fs,"¥"+i(r.value.linked_pay_paid_total||0),1)]),_:1}),l(O,{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:H(["stat-value font-bold text-xl",Number(r.value.refund_amount)>0?"text-rose-500":"text-gray-400"])}," ¥"+i(b(rt)(r.value.refund_amount||0)),3)]),_:1}),l(O,{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:H(["stat-value font-bold text-xl",Ce.value>0?"text-amber-600":"text-gray-500"])}," ¥"+i(b(rt)(Ce.value)),3)]),_:1}),l(O,{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",gs,i(fe.value.length)+" 笔",1)]),_:1})]),n("div",bs,[l(O,{shadow:"never",class:"po-panel po-panel-rx border-gray-100 h-full relative overflow-hidden"},{header:a(()=>[n("div",ws,[n("div",hs,[e[40]||(e[40]=n("span",{class:"font-medium text-[15px]"},"处方详情",-1)),r.value.doctor_name?(s(),p("span",Ss,[e[36]||(e[36]=d(" 开方人:",-1)),n("span",Ns,i(r.value.doctor_name),1)])):m("",!0),!k.readonly&&r.value.prescription_id&&_.value&&!String(r.value.prescription_detail_error||"").trim()?M((s(),c(h,{key:1,type:"default",size:"small",link:"",onClick:e[1]||(e[1]=u=>D("patch-rx-patient"))},{default:a(()=>[...e[37]||(e[37]=[d(" 改患者信息 ",-1)])]),_:1})),[[R,["tcm.prescriptionOrder/patchPrescriptionPatient"]]]):m("",!0),!k.readonly&&r.value.prescription_id&&ye.value?(s(),c(h,{key:2,type:"primary",size:"small",link:"",onClick:e[2]||(e[2]=u=>D("view-prescription"))},{default:a(()=>[...e[38]||(e[38]=[d(" 详细 ",-1)])]),_:1})):m("",!0),!k.readonly&&r.value.id&&ye.value?(s(),c(h,{key:3,type:"warning",size:"small",link:"",loading:k.gancaoPreviewLoading,icon:b(ta),onClick:e[3]||(e[3]=u=>D("test-gancao-preview"))},{default:a(()=>[...e[39]||(e[39]=[d(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):m("",!0)]),n("span",Vs,"ID: "+i(r.value.prescription_id||"—"),1)])]),default:a(()=>[r.value.prescription_audit_status===1?(s(),p("div",xs,[...e[34]||(e[34]=[n("div",{class:"stamp-inner"},"审核通过",-1)])])):m("",!0),r.value.prescription_audit_status===2?(s(),p("div",ks,[...e[35]||(e[35]=[n("div",{class:"stamp-inner"},"已驳回",-1)])])):m("",!0),!k.readonly&&String(r.value.prescription_detail_error||"").trim()?(s(),c(v,{key:2,title:r.value.prescription_detail_error,type:"warning",closable:!1,"show-icon":"",class:"mb-3"},null,8,["title"])):_.value?(s(),p(V,{key:3},[l(We,{column:2,border:"",size:"small",class:"po-desc bg-white"},{default:a(()=>[l(f,{label:"处方编号",span:2},{default:a(()=>[d(i(_.value.sn||"—"),1)]),_:1}),l(f,{label:"患者"},{default:a(()=>[d(i(_.value.patient_name||"—"),1)]),_:1}),l(f,{label:"性别 / 年龄"},{default:a(()=>[d(i(_.value.gender_desc||"—")+" · "+i(_.value.age??"—")+"岁 ",1)]),_:1}),l(f,{label:"手机"},{default:a(()=>[n("span",{class:H(ee.value?"rx-phone-mismatch text-red-600 font-bold":"")},i(_.value.phone||"—"),3),ee.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})):m("",!0)]),_:1}),l(f,{label:"处方日期"},{default:a(()=>[d(i(_.value.prescription_date||"—"),1)]),_:1}),l(f,{label:"医师"},{default:a(()=>[d(i(_.value.doctor_name||"—"),1)]),_:1}),l(f,{label:"类型"},{default:a(()=>[d(i(_.value.prescription_type||"—"),1)]),_:1}),l(f,{label:"临床诊断",span:2},{default:a(()=>[d(i(_.value.clinical_diagnosis||"—"),1)]),_:1}),ye.value?(s(),c(f,{key:0,label:"剂数 / 用法",span:2},{default:a(()=>[d(i(r.value.dose_count??_.value.dose_count??"—")+" "+i(r.value.dose_unit||"剂")+" · "+i(_.value.usage_instruction||_.value.usage_method||"—"),1)]),_:1})):m("",!0),l(f,{label:"处方金额"},{default:a(()=>[n("span",Ts,"¥"+i(_.value.amount??"—"),1)]),_:1}),l(f,{label:"消费者审核"},{default:a(()=>[l(o,{type:b(Pa)(_.value.audit_status),size:"small"},{default:a(()=>[d(i(b(Aa)(_.value.audit_status)),1)]),_:1},8,["type"])]),_:1}),l(f,{label:"用量"},{default:a(()=>[n("div",Ls,[n("div",null,[j.value?(s(),p("span",zs,"主方:")):m("",!0),_.value.dosage_amount?(s(),p(V,{key:1},[d(i(_.value.dosage_amount)+i(_.value.dosage_unit||"g")+" ",1),_.value.prescription_type==="浓缩水丸"?(s(),p(V,{key:0},[d(" · "+i(Number(_.value.dosage_bag_count)>0?Number(_.value.dosage_bag_count):1)+"袋 ",1)],64)):m("",!0),_.value.prescription_type==="饮片"&&_.value.need_decoction!==null?(s(),p("span",Ps," ("+i(_.value.need_decoction?"代煎":"不代煎")+") ",1)):m("",!0)],64)):(s(),p(V,{key:2},[d("—")],64))]),j.value&&P.value?(s(),p("div",As,[e[42]||(e[42]=n("span",{class:"text-gray-500 mr-1"},"辅方:",-1)),P.value.dosage_amount!=null&&P.value.dosage_amount!==0?(s(),p(V,{key:0},[d(i(P.value.dosage_amount)+i(_.value.dosage_unit||"g")+" ",1),_.value.prescription_type==="浓缩水丸"?(s(),p(V,{key:0},[d(" · "+i(Number(P.value.dosage_bag_count)>0?Number(P.value.dosage_bag_count):1)+"袋 ",1)],64)):m("",!0),_.value.prescription_type==="饮片"?(s(),p("span",Os," ("+i(P.value.need_decoction?"代煎":"不代煎")+") ",1)):m("",!0)],64)):(s(),p(V,{key:1},[d("—")],64))])):m("",!0)])]),_:1}),l(f,null,{label:a(()=>[n("div",Us,[e[44]||(e[44]=n("span",null,"服用方式",-1)),!k.readonly&&r.value.prescription_id&&_.value&&!String(r.value.prescription_detail_error||"").trim()?M((s(),c(h,{key:0,type:"primary",size:"small",link:"",onClick:Lt},{default:a(()=>[...e[43]||(e[43]=[d(" 修改 ",-1)])]),_:1})),[[R,["tcm.prescriptionOrder/patchPrescriptionUsage"]]]):m("",!0)])]),default:a(()=>[n("div",Es,[j.value?(s(),p(V,{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)]),P.value?(s(),p("div",Cs,[e[46]||(e[46]=n("span",{class:"text-gray-500 mr-1"},"辅方:",-1)),d(" 每天 "+i(P.value.times_per_day?P.value.times_per_day+" 次":"— 次")+" · 处方开立 "+i(P.value.usage_days!=null&&Number(P.value.usage_days)>0?P.value.usage_days+" 天":"— 天"),1)])):m("",!0)],64)):(s(),p(V,{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(r.value.medication_days!=null&&String(r.value.medication_days).trim()!==""?r.value.medication_days+" 天":"—"),1)])])]),_:1}),Ee.value?(s(),c(f,{key:1,label:"忌口",span:2},{default:a(()=>[d(i(Ee.value),1)]),_:1})):m("",!0),l(f,{label:"状态",span:2},{default:a(()=>[l(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}),!k.readonly&&xt.value?(s(),p("div",Ds,[e[50]||(e[50]=n("div",{class:"text-xs font-medium text-gray-500 mb-2 px-1"},"药材明细",-1)),Re.value.length?(s(),c(Le,{key:0,data:Re.value,size:"small",border:"",stripe:"","max-height":"260"},{default:a(()=>[l(S,{type:"index",label:"#",width:"48",align:"center"}),l(S,{prop:"name",label:"药名","min-width":"120","show-overflow-tooltip":""}),l(S,{prop:"dosage",label:"用量(g)",width:"96",align:"right"})]),_:1},8,["data"])):(s(),c(Z,{key:1,description:"无处方药材明细","image-size":64}))])):m("",!0)],64)):(s(),c(Z,{key:4,description:"无处方数据","image-size":72}))]),_:1}),n("div",Is,[l(O,{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(Le,{key:0,data:W.value,size:"small",border:"",stripe:"",class:"po-pay-table","max-height":"280"},{default:a(()=>[l(S,{prop:"id",label:"ID",width:"70"}),l(S,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),l(S,{label:"类型",width:"90"},{default:a(({row:u})=>[d(i(u.order_type_desc||b(Ue)(u.order_type)),1)]),_:1}),l(S,{label:"金额",width:"86",align:"right"},{default:a(({row:u})=>[n("span",js,"¥"+i(u.amount),1)]),_:1}),l(S,{label:"状态",width:"100",align:"center"},{default:a(({row:u})=>[l(o,{type:b(it)(u.status),size:"small"},{default:a(()=>[d(i(u.status_desc||b(nt)(u.status)),1)]),_:2},1032,["type"]),!k.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})):m("",!0)]),_:1}),k.readonly?m("",!0):(s(),c(S,{key:0,label:"方式","min-width":"120","show-overflow-tooltip":""},{default:a(({row:u})=>[d(i(b(ot)(u)),1)]),_:1})),l(S,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),l(S,{label:"创建时间","min-width":"136"},{default:a(({row:u})=>[d(i(b(ut)(u.create_time)),1)]),_:1})]),_:1},8,["data"])):(s(),c(Z,{key:1,description:"无未关联的收款单","image-size":60}))]),_:1}),l(O,{shadow:"never",class:"po-panel po-panel-pay border-gray-100 relative overflow-hidden"},{header:a(()=>[n("div",Bs,[n("div",Fs,[e[56]||(e[56]=n("span",{class:"font-medium text-[15px]"},"关联收款记录",-1)),r.value.creator_name?(s(),p("span",$s,[e[55]||(e[55]=d(" 创建人:",-1)),n("span",Ms,i(r.value.creator_name),1)])):m("",!0)])])]),default:a(()=>[r.value.payment_slip_audit_status===1?(s(),p("div",qs,[...e[53]||(e[53]=[n("div",{class:"stamp-inner"},"审核通过",-1)])])):m("",!0),r.value.payment_slip_audit_status===2?(s(),p("div",Rs,[...e[54]||(e[54]=[n("div",{class:"stamp-inner"},"已驳回",-1)])])):m("",!0),fe.value.length?(s(),c(Le,{key:2,data:fe.value,size:"small",border:"",stripe:"",class:"po-pay-table","max-height":"280"},{default:a(()=>[l(S,{prop:"id",label:"ID",width:"70"}),l(S,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),l(S,{label:"类型",width:"90"},{default:a(({row:u})=>[d(i(u.order_type_desc||b(Ue)(u.order_type)),1)]),_:1}),l(S,{label:"金额",width:"86",align:"right"},{default:a(({row:u})=>[n("span",Hs,"¥"+i(u.amount),1)]),_:1}),l(S,{label:"状态",width:"100",align:"center"},{default:a(({row:u})=>[l(o,{type:b(it)(u.status),size:"small"},{default:a(()=>[d(i(u.status_desc||b(nt)(u.status)),1)]),_:2},1032,["type"]),!k.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})):m("",!0)]),_:1}),k.readonly?m("",!0):(s(),c(S,{key:0,label:"方式","min-width":"120","show-overflow-tooltip":""},{default:a(({row:u})=>[d(i(b(ot)(u)),1)]),_:1})),l(S,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),l(S,{label:"创建时间","min-width":"136"},{default:a(({row:u})=>[d(i(b(ut)(u.create_time)),1)]),_:1})]),_:1},8,["data"])):(s(),c(Z,{key:3,description:"未关联收款单","image-size":60}))]),_:1})])]),l(O,{shadow:"never",class:"po-panel po-panel-biz border-gray-100 mb-4"},{header:a(()=>[...e[58]||(e[58]=[n("span",{class:"font-medium text-[15px]"},"履约与收货信息",-1)])]),default:a(()=>[l(We,{column:3,border:"",size:"small",class:"po-desc"},{default:a(()=>[l(f,{label:"诊单ID",span:3},{default:a(()=>[n("span",Js,i(r.value.diagnosis_id),1),!k.readonly&&Number(r.value.diagnosis_id)>0?(s(),c(h,{key:0,type:"primary",link:"",size:"small",class:"ml-2 align-baseline",onClick:e[4]||(e[4]=u=>D("view-patient"))},{default:a(()=>[...e[59]||(e[59]=[d(" 查看患者信息 ",-1)])]),_:1})):m("",!0)]),_:1}),l(f,{label:"创建时间",span:1},{default:a(()=>[d(i(b(Oe)(r.value.create_time)),1)]),_:1}),l(f,{label:"业务订单创建人",span:2},{default:a(()=>[Number(r.value.creator_id)>0||r.value.creator_name?(s(),p("div",Ks,[n("div",null,[n("span",Ws,i(r.value.creator_name||"—"),1),!k.readonly&&Number(r.value.creator_id)>0?(s(),p("span",Gs,"ID "+i(r.value.creator_id),1)):m("",!0)]),Ie.value?(s(),p("div",Qs,i(Ie.value),1)):m("",!0)])):(s(),p("span",Zs,"—"))]),_:1}),l(f,{label:"创建人所属部门",span:3},{default:a(()=>[De.value.length?(s(),p("div",Xs,[(s(!0),p(V,null,X(De.value,(u,L)=>(s(),p("div",{key:L,class:"min-w-0"},[u.length?(s(),c(jt,{key:0,class:"po-diagnosis-creator-dept-breadcrumb text-[13px] leading-relaxed",separator:"/"},{default:a(()=>[(s(!0),p(V,null,X(u,(F,ce)=>(s(),c(It,{key:ce},{default:a(()=>[n("span",Ys,i(F),1)]),_:2},1024))),128))]),_:2},1024)):m("",!0)]))),128))])):(s(),p("span",el,"—"))]),_:1}),l(f,{label:"收货人"},{default:a(()=>[d(i(r.value.recipient_name),1)]),_:1}),k.readonly?m("",!0):(s(),c(f,{key:0,label:"挂号关联",span:3},{default:a(()=>[A.value?(s(),p(V,{key:0},[n("div",tl,[n("span",null,[e[60]||(e[60]=d("流转编号(挂号) ",-1)),n("span",al,"#"+i(A.value.id),1)]),n("span",sl,"时间:"+i(A.value.appointment_date)+" "+i(A.value.period)+" "+i(A.value.appointment_time),1),l(o,{size:"small",type:"info"},{default:a(()=>[d(i(A.value.appointment_type_desc),1)]),_:1}),l(o,{size:"small"},{default:a(()=>[d(i(A.value.status_desc),1)]),_:1}),A.value.doctor_name?(s(),p("span",ll,"接诊:"+i(A.value.doctor_name),1)):m("",!0),qe.value?(s(),p("span",rl,"渠道:"+i(qe.value),1)):m("",!0),je.value?(s(),c(o,{key:2,size:"small",effect:"plain"},{default:a(()=>[d(i(je.value),1)]),_:1})):m("",!0)]),String(A.value.remark||"").trim()?(s(),p("p",il," 备注:"+i(A.value.remark),1)):m("",!0)],64)):(s(),p("span",nl,"暂无挂号预约记录(未绑定或诊单下无预约)"))]),_:1})),l(f,{label:"收货手机"},{default:a(()=>[n("span",{class:H(ee.value?"text-red-600 font-bold font-mono":"font-mono")},i(r.value.recipient_phone||"—"),3),ee.value?(s(),c(o,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:a(()=>[...e[61]||(e[61]=[d(" 与处方手机不一致 ",-1)])]),_:1})):m("",!0)]),_:1}),l(f,{label:"收货地址",span:2},{default:a(()=>[d(i(kt.value),1)]),_:1}),l(f,{label:"复诊"},{default:a(()=>[d(i(r.value.is_follow_up?"是":"否"),1)]),_:1}),l(f,{label:"用药疗程"},{default:a(()=>[d(i(r.value.medication_days?r.value.medication_days+" 天":"—"),1)]),_:1}),l(f,{label:"上次医护"},{default:a(()=>[d(i(r.value.prev_staff||"—"),1)]),_:1}),l(f,{label:"服务渠道"},{default:a(()=>[d(i(r.value.service_channel||"—"),1)]),_:1}),l(f,{label:"服务套餐"},{default:a(()=>[d(i(wt.value),1)]),_:1}),l(f,{label:"费用类别"},{default:a(()=>[d(i(b(Ue)(r.value.fee_type)),1)]),_:1}),Be.value?(s(),c(f,{key:1,label:"内部成本"},{default:a(()=>[d(" ¥"+i(r.value.internal_cost),1)]),_:1})):m("",!0),l(f,{label:"快递单号",span:Be.value?1:2},{default:a(()=>[d(i(r.value.tracking_number||"—"),1)]),_:1},8,["span"]),l(f,{label:"快递公司"},{default:a(()=>[d(i(b(Oa)(r.value.express_company)),1)]),_:1}),M((s(),c(f,{label:"药房备注",span:3},{default:a(()=>[d(i(r.value.remark_extra||"—"),1)]),_:1})),[[R,["tcm.prescriptionOrder/editRemarkExtra"]]]),l(f,{label:"医助备注",span:3},{default:a(()=>[d(i(r.value.remark_assistant||"—"),1)]),_:1}),l(f,{label:"处方审核意见",span:3},{default:a(()=>[n("span",ol,i(r.value.prescription_audit_remark||"—"),1)]),_:1}),l(f,{label:"支付审核意见",span:3},{default:a(()=>[n("span",ul,i(r.value.payment_slip_audit_remark||"—"),1)]),_:1})]),_:1})]),_:1}),String(r.value.tracking_number||"").trim()?(s(),c(O,{key:3,shadow:"never",class:H(["po-panel po-panel-logistics",!k.readonly&&q.value.show?"!border-2 !border-red-500 shadow-md shadow-red-500/10":"border-gray-100"])},{header:a(()=>[n("div",dl,[e[63]||(e[63]=n("span",{class:"font-medium text-[15px]"},"物流轨迹",-1)),n("span",pl,i(r.value.tracking_number),1),!k.readonly&&q.value.show?(s(),c(o,{key:0,type:"danger",effect:"dark",size:"small"},{default:a(()=>[...e[62]||(e[62]=[d(" 拒收/退回 · 待处理 ",-1)])]),_:1})):m("",!0)])]),default:a(()=>{var u,L,F,ce,Ye,et;return[k.readonly?m("",!0):(s(),p("p",ml," 优先读库,无记录时走快递100。顺丰会校验单号+电话(快递100要求完整手机号更易通过);默认预填订单收货手机,若仍提示验证码错误请改成与顺丰面单一致的号码。 ")),n("div",cl,[l(me,{modelValue:se.value,"onUpdate:modelValue":e[5]||(e[5]=$=>se.value=$),clearable:"",maxlength:"20",placeholder:"收件手机(建议11位,与面单一致)",class:"w-[180px]",onKeyup:ra(le,["enter"])},null,8,["modelValue"]),l(ze,{modelValue:Q.value,"onUpdate:modelValue":e[6]||(e[6]=$=>Q.value=$),placeholder:"承运商",style:{width:"140px"}},{default:a(()=>[l(U,{label:"自动识别",value:"auto"}),l(U,{label:"顺丰速运",value:"sf"}),l(U,{label:"京东快递",value:"jd"}),l(U,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),M((s(),c(h,{type:"primary",plain:"",size:"default",loading:de.value,onClick:le},{icon:a(()=>[l(Pe,null,{default:a(()=>[l(b(ua))]),_:1})]),default:a(()=>[e[64]||(e[64]=d(" 刷新轨迹 ",-1))]),_:1},8,["loading"])),[[R,["tcm.prescriptionOrder/logisticsTrace"]]]),k.readonly?m("",!0):M((s(),c(h,{key:0,type:"warning",plain:"",size:"default",loading:Se.value,onClick:Ut},{icon:a(()=>[l(Pe,null,{default:a(()=>[l(b(da))]),_:1})]),default:a(()=>[e[65]||(e[65]=d(" 京东接口更新 ",-1))]),_:1},8,["loading"])),[[R,["tcm.prescriptionOrder/logisticsTrace"]]]),k.readonly?m("",!0):(s(),p("div",_l,[l(Ae,{href:Te.value.sf,target:"_blank",type:"primary",underline:!1,class:"text-[13px]"},{default:a(()=>[...e[66]||(e[66]=[d("顺丰官网",-1)])]),_:1},8,["href"]),l(Ae,{href:Te.value.jd,target:"_blank",type:"primary",underline:!1,class:"text-[13px]"},{default:a(()=>[...e[67]||(e[67]=[d("京东物流",-1)])]),_:1},8,["href"]),l(Ae,{href:Te.value.jt,target:"_blank",type:"primary",underline:!1,class:"text-[13px]"},{default:a(()=>[...e[68]||(e[68]=[d("极兔",-1)])]),_:1},8,["href"])]))]),!k.readonly&&String(((u=N.value)==null?void 0:u.hint)||"").trim()?(s(),c(v,{key:1,title:String(((L=N.value)==null?void 0:L.hint)||""),type:"info",closable:!1,class:"mb-4","show-icon":""},null,8,["title"])):m("",!0),de.value&&!N.value?(s(),p("div",yl,[l(Pe,{class:"is-loading mr-1"},{default:a(()=>[l(b(ma))]),_:1}),e[69]||(e[69]=d("正在加载物流轨迹... ",-1))])):N.value?(s(),p("div",vl,[(F=N.value)!=null&&F.state_text?(s(),p("div",fl,[n("span",gl,"状态:"+i(N.value.state_text),1),(ce=N.value)!=null&&ce.carrier_label?(s(),c(o,{key:0,size:"small",type:"info"},{default:a(()=>[d(i(N.value.carrier_label),1)]),_:1})):m("",!0),!k.readonly&&((Ye=N.value)!=null&&Ye.source)?(s(),p("span",bl," ["+i(N.value.source==="database"?"数据库缓存":"API拉取")+"] ",1)):m("",!0),!k.readonly&&((et=N.value)!=null&&et.last_query_time)?(s(),p("span",xl," 更新时间:"+i(N.value.last_query_time),1)):m("",!0)])):m("",!0),Ke.value.length?(s(),c(Qe,{key:1,class:"mt-2 pl-2"},{default:a(()=>[(s(!0),p(V,null,X(Ke.value,($,_e)=>(s(),c(Ge,{key:_e,type:_e===0?"primary":"info",hollow:_e!==0,timestamp:$.time,placement:"top"},{default:a(()=>[n("span",{class:H([_e===0?"text-gray-800 font-medium":"text-gray-500",!k.readonly&&b(Ua)($.context)?"!text-red-700 font-semibold bg-red-50 px-1.5 py-0.5 rounded":""])},i($.context),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(s(),c(Z,{key:2,description:"暂无轨迹节点记录","image-size":64}))])):m("",!0)]}),_:1},8,["class"])):m("",!0),M((s(),c(O,{shadow:"never",class:"po-panel border-gray-100 mt-4"},{header:a(()=>[n("div",kl,[e[71]||(e[71]=n("span",{class:"font-medium text-[15px]"},"操作日志",-1)),Nt()?(s(),c(h,{key:0,type:"primary",link:"",size:"small",onClick:At},{default:a(()=>[...e[70]||(e[70]=[d(" 新增日志 ",-1)])]),_:1})):m("",!0)])]),default:a(()=>[K.value.length?(s(),c(Qe,{key:0,class:"mt-2 pl-2"},{default:a(()=>[(s(!0),p(V,null,X(K.value,(u,L)=>(s(),c(Ge,{key:u.id,type:L===0?"primary":"info",hollow:L!==0,timestamp:b(Oe)(u.create_time),placement:"top"},{default:a(()=>[n("div",wl,[n("span",hl,i(u.admin_name),1),l(o,{size:"small",type:"info"},{default:a(()=>[d(i(b(Ea)(u.action)),1)]),_:2},1024)]),n("span",{class:H(L===0?"text-gray-800 font-medium":"text-gray-500")},i(u.summary),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(s(),c(Z,{key:1,description:"暂无操作日志","image-size":64}))]),_:1})),[[R,["tcm.prescriptionOrder/logs"]]]),l(Xe,{modelValue:te.value,"onUpdate:modelValue":e[13]||(e[13]=u=>te.value=u),title:"新增操作日志",width:"520px","close-on-click-modal":!1,"destroy-on-close":"","append-to-body":"",onClosed:Me},{footer:a(()=>[l(h,{onClick:e[12]||(e[12]=u=>te.value=!1)},{default:a(()=>[...e[72]||(e[72]=[d("取消",-1)])]),_:1}),l(h,{type:"primary",loading:ke.value,onClick:Ot},{default:a(()=>[...e[73]||(e[73]=[d("保存",-1)])]),_:1},8,["loading"])]),default:a(()=>[l(Ze,{ref_key:"addLogFormRef",ref:ue,model:g,rules:Vt,"label-width":"108px"},{default:a(()=>[l(E,{label:"日志内容",prop:"summary"},{default:a(()=>[l(me,{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}),be.value?(s(),c(E,{key:0,label:"处方审核"},{default:a(()=>[l(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(()=>[l(U,{label:"待审核",value:0}),l(U,{label:"已通过",value:1}),l(U,{label:"已驳回",value:2})]),_:1},8,["modelValue"]),r.value?(s(),p("div",Sl," 当前:"+i(b(dt)(r.value.prescription_audit_status)),1)):m("",!0)]),_:1})):m("",!0),be.value&&g.prescription_audit_status!==""&&g.prescription_audit_status!==null&&g.prescription_audit_status!==void 0?(s(),c(E,{key:1,label:"处方审核意见"},{default:a(()=>[l(me,{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})):m("",!0),xe.value?(s(),c(E,{key:2,label:"支付单审核"},{default:a(()=>[l(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(()=>[l(U,{label:"待审核",value:0}),l(U,{label:"已通过",value:1}),l(U,{label:"已驳回",value:2})]),_:1},8,["modelValue"]),r.value?(s(),p("div",Nl," 当前:"+i(b(dt)(r.value.payment_slip_audit_status)),1)):m("",!0)]),_:1})):m("",!0),xe.value&&g.payment_slip_audit_status!==""&&g.payment_slip_audit_status!==null&&g.payment_slip_audit_status!==void 0?(s(),c(E,{key:3,label:"支付审核意见"},{default:a(()=>[l(me,{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})):m("",!0)]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(Xe,{modelValue:ae.value,"onUpdate:modelValue":e[20]||(e[20]=u=>ae.value=u),title:"修改服用参数",width:"480px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:zt},{footer:a(()=>[l(h,{onClick:e[19]||(e[19]=u=>ae.value=!1)},{default:a(()=>[...e[79]||(e[79]=[d("取消",-1)])]),_:1}),l(h,{type:"primary",loading:we.value,onClick:Pt},{default:a(()=>[...e[80]||(e[80]=[d("保存",-1)])]),_:1},8,["loading"])]),default:a(()=>[l(Ze,{ref_key:"patchUsageFormRef",ref:he,model:w,rules:Tt.value,"label-width":"108px"},{default:a(()=>[j.value?(s(),p("div",Vl,"主方")):m("",!0),l(E,{label:"每天次数",prop:"times_per_day"},{default:a(()=>[l(re,{modelValue:w.times_per_day,"onUpdate:modelValue":e[14]||(e[14]=u=>w.times_per_day=u),min:1,max:6,step:1,"controls-position":"right",class:"w-full"},null,8,["modelValue"])]),_:1}),l(E,{label:"处方开立",prop:"usage_days"},{default:a(()=>[n("div",Tl,[l(re,{modelValue:w.usage_days,"onUpdate:modelValue":e[15]||(e[15]=u=>w.usage_days=u),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[74]||(e[74]=n("span",{class:"text-gray-500 shrink-0"},"天",-1))])]),_:1}),j.value?(s(),p(V,{key:1},[e[76]||(e[76]=n("div",{class:"text-xs font-medium text-gray-500 mb-3 mt-2 pt-2 border-t border-gray-100"},"辅方",-1)),l(E,{label:"每天次数",prop:"aux_times_per_day"},{default:a(()=>[l(re,{modelValue:w.aux_times_per_day,"onUpdate:modelValue":e[16]||(e[16]=u=>w.aux_times_per_day=u),min:1,max:6,step:1,"controls-position":"right",class:"w-full"},null,8,["modelValue"])]),_:1}),l(E,{label:"处方开立",prop:"aux_usage_days"},{default:a(()=>[n("div",Ll,[l(re,{modelValue:w.aux_usage_days,"onUpdate:modelValue":e[17]||(e[17]=u=>w.aux_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})],64)):m("",!0),e[78]||(e[78]=n("div",{class:"text-xs font-medium text-gray-500 mb-3 mt-2 pt-2 border-t border-gray-100"},"订单设置",-1)),l(E,{label:"服用天数",prop:"medication_days"},{default:a(()=>[n("div",zl,[l(re,{modelValue:w.medication_days,"onUpdate:modelValue":e[18]||(e[18]=u=>w.medication_days=u),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[77]||(e[77]=n("span",{class:"text-gray-500 shrink-0"},"天",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue"])])):m("",!0)]}),_:3},8,["modelValue","append-to-body"])}}}),Dl=La(Al,[["__scopeId","data-v-5851cb40"]]);export{Dl as default}; +import{o as _t,ap as Rt,be as Bt,q as s,O as c,B as Ft,D as a,bZ as $t,r as p,bh as Mt,s as n,L as d,T as i,P as m,F as V,G as X,br as Ht,v as l,b_ as Jt,b$ as Kt,u as b,bg as Wt,ac as M,K as Gt,ae as H,c0 as Qt,c1 as Zt,bj as Xt,bk as Yt,bB as ea,bA as ta,U as aa,S as sa,b7 as la,b8 as ra,bm as ia,bn as na,w as oa,by as ua,c2 as da,bq as pa,b5 as ma,c3 as ca,c4 as _a,bt as ya,b9 as va,b6 as fa,J as ga,ah as tt,p as x,M as T,ba as at,n as ba}from"./.pnpm-9dA1PEvN.js";import{a as xa,b as ka,c as wa,d as ha,e as st,f as Sa,h as Na}from"./tcm-Fi_swgCr.js";import{u as Va,m as Ta,i as J,_ as La}from"./index-BWzN7QIb.js";import{f as Oe,a as lt,c as za,b as rt,d as Pa,e as Aa,g as Ue,p as it,o as nt,h as ot,i as ut,j as Oa,l as Ua,k as Ea,m as dt,n as Ca,q as Da,T as Ia,P as pt,r as ja,s as qa,t as mt,u as Ra,v as ct,w as Ba,x as Fa,y as $a}from"./prescription-order-utils-B0fYlULc.js";const Ma={class:"po-detail-drawer-head flex items-center justify-between"},Ha={class:"flex items-center"},Ja={key:0,class:"flex items-center gap-2 mr-6"},Ka={key:1,class:"po-detail-body px-6 pb-6 h-full overflow-y-auto"},Wa={class:"text-sm leading-relaxed"},Ga={class:"font-mono font-semibold text-red-700"},Qa={class:"font-mono font-semibold text-red-700"},Za={class:"text-sm leading-relaxed space-y-1.5"},Xa={key:0,class:"flex flex-wrap gap-1.5 items-center"},Ya={key:1,class:"list-disc pl-5 space-y-1 text-red-50"},es={key:2,class:"bg-gray-50/80 border border-gray-100 rounded-lg p-5 mb-5 shadow-sm"},ts={key:0,class:"text-red-500 font-medium"},as={key:1},ss={key:2,class:"text-green-600"},ls={key:3,class:"text-gray-400"},rs={key:0,class:"text-red-500 font-medium"},is={key:1},ns={key:2,class:"text-green-600"},os={key:3,class:"text-gray-400"},us={key:0,class:"text-amber-600 font-medium"},ds={key:1,class:"text-primary font-medium"},ps={key:2},ms={key:3,class:"text-green-600"},cs={key:4,class:"text-red-500 font-medium"},_s={class:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-5 gap-4 mb-5"},ys={class:"flex items-center justify-between mb-1"},vs={class:"stat-value text-red-500 font-bold text-xl"},fs={class:"stat-value text-green-600 font-bold text-xl"},gs={class:"stat-value text-primary font-bold text-xl"},bs={class:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4"},xs={key:0,class:"audit-stamp stamp-pass"},ks={key:1,class:"audit-stamp stamp-reject"},ws={class:"flex items-center justify-between"},hs={class:"flex items-center gap-3"},Ss={key:0,class:"text-xs text-gray-500"},Ns={class:"text-primary font-medium"},Vs={class:"text-xs text-gray-400"},Ts={class:"text-red-500 font-medium"},Ls={class:"flex flex-col gap-1 text-sm leading-relaxed"},zs={key:0,class:"text-gray-500 mr-1"},Ps={key:1,class:"ml-2 text-gray-500"},As={key:0},Os={key:1,class:"ml-2 text-gray-500"},Us={class:"flex items-center gap-1"},Es={class:"flex flex-col gap-1.5 text-sm leading-relaxed"},Cs={key:0},Ds={key:0,class:"mt-4"},Is={class:"flex flex-col gap-4 h-full"},js={class:"text-red-500"},qs={key:0,class:"audit-stamp stamp-pass"},Rs={key:1,class:"audit-stamp stamp-reject"},Bs={class:"flex items-center justify-between"},Fs={class:"flex items-center gap-3"},$s={key:0,class:"text-xs text-gray-500"},Ms={class:"text-primary font-medium"},Hs={class:"text-red-500"},Js={class:"font-mono"},Ks={key:0,class:"text-[13px] space-y-1"},Ws={class:"font-medium text-gray-900"},Gs={key:0,class:"text-gray-500 ml-2 font-mono text-xs"},Qs={key:0,class:"text-gray-600 text-xs leading-relaxed"},Zs={key:1,class:"text-gray-400"},Xs={key:0,class:"space-y-1.5"},Ys={class:"text-gray-800 break-all"},el={key:1,class:"text-gray-400"},tl={class:"flex flex-wrap items-center gap-x-4 gap-y-1 text-[13px]"},al={class:"font-mono text-primary"},sl={class:"text-gray-500"},ll={key:0},rl={key:1,class:"text-gray-500"},il={key:0,class:"text-xs text-gray-500 mt-1"},nl={key:1,class:"text-gray-400"},ol={class:"po-audit-remark"},ul={class:"po-audit-remark"},dl={class:"flex items-center gap-2 flex-wrap"},pl={class:"text-xs text-gray-400 font-mono"},ml={key:0,class:"po-logistics-tip text-gray-400 text-xs mb-3 font-normal"},cl={class:"flex flex-wrap items-center gap-3 mb-4"},_l={key:1,class:"ml-2 flex items-center gap-4 border-l pl-4 border-gray-200"},yl={key:2,class:"py-6 text-center text-sm text-gray-500"},vl={key:3,class:"logistics-content bg-gray-50/50 p-4 rounded-md"},fl={key:0,class:"text-sm mb-4 font-medium flex items-center gap-2"},gl={class:"text-gray-800"},bl={key:1,class:"text-xs text-gray-400 ml-1"},xl={key:2,class:"text-xs text-gray-400"},kl={class:"flex items-center justify-between gap-2"},wl={class:"flex items-center gap-2 mb-1"},hl={class:"font-medium text-[13px]"},Sl={key:0,class:"text-xs text-gray-400 mt-1"},Nl={key:0,class:"text-xs text-gray-400 mt-1"},Vl={key:0,class:"text-xs font-medium text-gray-500 mb-3"},Tl={class:"flex items-center gap-1 w-full"},Ll={class:"flex items-center gap-1 w-full"},zl={class:"flex items-center gap-1 w-full"},Pl=_t({name:"PrescriptionOrderDetailDrawer"}),Al=_t({...Pl,props:{readonly:{type:Boolean,default:!1},gancaoPreviewLoading:{type:Boolean,default:!1},appendToBody:{type:Boolean,default:!1}},emits:["update-amount","patch-rx-patient","view-prescription","test-gancao-preview","view-patient","detail-changed"],setup(k,{expose:yt,emit:vt}){const ft=k,D=vt,Y=Va(),ye=x(()=>{const t=Y.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(Ia)?e.some(o=>pt.includes(o)):!0}),I=T(!1),ve=T(!1),r=T(null),K=T([]),W=T([]),_=x(()=>{var e;const t=(e=r.value)==null?void 0:e.prescription;return t&&typeof t=="object"?t:null}),Ee=x(()=>{var t;return ja((t=_.value)==null?void 0:t.dietary_taboo)}),fe=x(()=>{const t=r.value;if(!t)return[];const e=t.linked_pay_orders;return Array.isArray(e)?e:[]}),Ce=x(()=>{const t=r.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}),ie=x(()=>{if(!r.value)return 0;const t=Number(r.value.fulfillment_status),e=Number(r.value.prescription_audit_status),o=Number(r.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}),ne=x(()=>{var e;const t=Number((e=r.value)==null?void 0:e.prescription_audit_status);return t===1?"success":t===2?"error":ie.value===1?"process":"wait"}),oe=x(()=>{var e;const t=Number((e=r.value)==null?void 0:e.payment_slip_audit_status);return t===1?"success":t===2?"error":ie.value===2?"process":"wait"}),G=x(()=>{var e;const t=Number((e=r.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||ie.value===3?"process":"wait"}),ee=x(()=>{var o,y;const t=(o=_.value)==null?void 0:o.phone,e=(y=r.value)==null?void 0:y.recipient_phone;return qa(e,t)}),gt=x(()=>{var e;return mt((e=_.value)==null?void 0:e.phone)||"—"}),bt=x(()=>{var e;return mt((e=r.value)==null?void 0:e.recipient_phone)||"—"}),De=x(()=>{var e,o;const t=String(((e=r.value)==null?void 0:e.order_creator_dept_path)??((o=r.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):[]}),Ie=x(()=>{const t=r.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=r.value)==null?void 0:e.linked_appointment;return t&&typeof t=="object"?t:null}),je=x(()=>{var e;const t=String(((e=A.value)==null?void 0:e.resolved_from)||"");return t==="prescription"?"处方绑定挂号":t==="diagnosis"?"诊单关联挂号":""}),qe=x(()=>{const t=A.value;if(!t)return"";const e=String(t.channel_source_desc??"").trim();return e||String(t.channel_source??"").trim()}),Re=x(()=>{var t;return Ra((t=_.value)==null?void 0:t.herbs)}),j=x(()=>ct(_.value)),P=x(()=>{const t=_.value;if(!t||!ct(t))return null;const e=t.aux_usage;return e==null||e===""||Array.isArray(e)&&e.length===0?null:Ba(e,t.prescription_type||"浓缩水丸")}),xt=x(()=>{var t;return((t=r.value)==null?void 0:t.prescription_detail_herbs_visible)!==!1}),Be=x(()=>{var t,e;return!ft.readonly&&((t=r.value)==null?void 0:t.internal_cost)!=null&&((e=r.value)==null?void 0:e.internal_cost)!==""}),kt=x(()=>{const t=r.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(" "):"—"}),ge=T([]);async function Fe(){if(!(ge.value.length>0))try{const t=await Ta({type:"server_order"}),e=Ca(t==null?void 0:t.server_order);e.length>0&&(ge.value=e)}catch{}}const wt=x(()=>{var t;return Fa((t=r.value)==null?void 0:t.service_package,ge.value)});Rt(()=>{Fe()});function ht(){const t=Y.perms||[];return t.includes("*")||t.includes("tcm.prescriptionOrder/logs")}async function $e(t){if(!ht()){K.value=[];return}try{const e=await Sa({id:t});K.value=(e==null?void 0:e.data)??e??[]}catch{K.value=[]}}function St(t){const e=Y.perms||[];return e.includes("*")||e.includes(t)}function Nt(){return St("tcm.prescriptionOrder/addLog")}const be=x(()=>{const t=Y.userInfo;return!t||Number(t.root)===1?!0:(Array.isArray(t.role_ids)?t.role_ids.map(o=>Number(o)):[]).some(o=>pt.includes(o))}),xe=x(()=>{const t=Y.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))}),te=T(!1),ke=T(!1),ue=T(),g=at({summary:"",prescription_audit_status:"",payment_slip_audit_status:"",prescription_audit_remark:"",payment_slip_audit_remark:""}),Vt={summary:[{required:!0,message:"请填写日志内容",trigger:"blur"}]},ae=T(!1),we=T(!1),he=T(),w=at({times_per_day:3,usage_days:7,aux_times_per_day:3,aux_usage_days:7,medication_days:void 0}),Tt=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 j.value&&(t.aux_times_per_day=[{required:!0,message:"请填写辅方每天次数",trigger:"change"}],t.aux_usage_days=[{required:!0,message:"请填写辅方开立天数",trigger:"change"}]),t});function Lt(){const t=_.value,e=r.value;if(!t||!(e!=null&&e.id)||!e.prescription_id){J.msgWarning("无处方数据");return}const o=P.value;w.times_per_day=Number(t.times_per_day)>0?Number(t.times_per_day):3,w.usage_days=Number(t.usage_days)>0?Number(t.usage_days):7,w.aux_times_per_day=o&&Number(o.times_per_day)>0?Number(o.times_per_day):3,w.aux_usage_days=o&&Number(o.usage_days)>0?Number(o.usage_days):7;const y=Number(e.medication_days);w.medication_days=y>0?y:Number(t.usage_days)>0?Number(t.usage_days):7,ae.value=!0,ba(()=>{var v;return(v=he.value)==null?void 0:v.clearValidate()})}function zt(){w.times_per_day=3,w.usage_days=7,w.aux_times_per_day=3,w.aux_usage_days=7,w.medication_days=void 0}async function Pt(){var o;const t=he.value;if(!t)return;try{await t.validate()}catch{return}const e=(o=r.value)==null?void 0:o.id;if(e){we.value=!0;try{const y={id:e,times_per_day:Number(w.times_per_day),usage_days:Number(w.usage_days),medication_days:Number(w.medication_days)};j.value&&(y.aux_times_per_day=Number(w.aux_times_per_day),y.aux_usage_days=Number(w.aux_usage_days)),await xa(y),J.msgSuccess("保存成功"),ae.value=!1,await pe(),D("detail-changed")}catch{}finally{we.value=!1}}}function Me(){var t;g.summary="",g.prescription_audit_status="",g.payment_slip_audit_status="",g.prescription_audit_remark="",g.payment_slip_audit_remark="",(t=ue.value)==null||t.clearValidate()}function At(){var e;if(!((e=r.value)!=null&&e.id))return;Me();const t=r.value;g.prescription_audit_remark=String(t.prescription_audit_remark||""),g.payment_slip_audit_remark=String(t.payment_slip_audit_remark||""),te.value=!0}async function Ot(){var t;if(!(!ue.value||!((t=r.value)!=null&&t.id))){await ue.value.validate(),ke.value=!0;try{const e={id:r.value.id,summary:g.summary.trim()};be.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),xe.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 ka(e),J.msgSuccess("日志已添加"),te.value=!1,await pe(),D("detail-changed")}catch{}finally{ke.value=!1}}}async function He(t,e,o){var y;if(!t){W.value=[];return}try{const v=await Na({diagnosis_id:t,prescription_order_id:e}),z=(v==null?void 0:v.lists)??((y=v==null?void 0:v.data)==null?void 0:y.lists)??[],C=Array.isArray(z)?z.filter(h=>!o.includes(h.id)):[];W.value=C}catch{W.value=[]}}const Q=T("auto"),de=T(!1),Se=T(!1),N=T(null),se=T("");let Ne=0;function Je(){Ne+=1,N.value=null}function Ve(t){var e,o;return t.requestSeq!==Ne||Number((e=r.value)==null?void 0:e.id)!==t.orderId?!1:String(((o=r.value)==null?void 0:o.tracking_number)||"").trim()===t.trackingNumber}const Te=x(()=>{var o;const t=String(((o=r.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}`}}),Ke=x(()=>{const t=N.value;return!t||!Array.isArray(t.traces)?[]:t.traces}),q=x(()=>$a(N.value));async function le(){var v,z;const t=Number((v=r.value)==null?void 0:v.id),e=String(((z=r.value)==null?void 0:z.tracking_number)||"").trim();if(!t||!e)return;const y={requestSeq:++Ne,orderId:t,trackingNumber:e};de.value=!0;try{const C=String(se.value||"").replace(/\D/g,""),h={id:t,express_company:Q.value};C.length>=4&&(h.phone_tail=C);const O=await wa(h);if(!Ve(y))return;N.value=Da(O,e,t)}catch{if(!Ve(y))return;N.value=null}finally{Ve(y)&&(de.value=!1)}}async function Ut(){var o,y;const t=Number((o=r.value)==null?void 0:o.id),e=String(((y=r.value)==null?void 0:y.tracking_number)||"").trim();if(!t||!e){J.msgWarning("当前订单未填写快递单号");return}Se.value=!0;try{const v=await ha({id:t});J.msgSuccess((v==null?void 0:v.message)||"京东物流轨迹已更新"),await le()}catch(v){J.msgError((v==null?void 0:v.message)||"京东物流更新失败")}finally{Se.value=!1}}async function Et(t){Fe(),r.value=null,W.value=[],Je(),Q.value="auto",se.value="",K.value=[],I.value=!0,ve.value=!0;try{const e=await st({id:t}),o=(e==null?void 0:e.data)??e??null;if(r.value=o,o){Q.value=String(o.express_company||"auto")||"auto";const y=String(o.recipient_phone||"").replace(/\D/g,"");se.value=y.length>=4?y:"",String(o.tracking_number||"").trim()&&le(),$e(t);const v=o.diagnosis_id,z=o.pay_order_ids||[];v&&He(v,t,z)}}catch(e){J.msgError((e==null?void 0:e.message)||"加载失败"),I.value=!1}finally{ve.value=!1}}async function pe(){var e,o;const t=Number((e=r.value)==null?void 0:e.id);if(t)try{const y=await st({id:t}),v=(y==null?void 0:y.data)??y??null;if(!v)return;const z=String(((o=r.value)==null?void 0:o.tracking_number)||"").trim();r.value=v;const C=String(v.tracking_number||"").trim();C&&C!==z&&(Je(),Q.value=String(v.express_company||"auto")||"auto",le()),$e(t);const h=v.diagnosis_id;h&&He(h,t,v.pay_order_ids||[])}catch{}}async function Ct(t){var o;const e=Number(t);!I.value||!(e>0)||Number((o=r.value)==null?void 0:o.id)!==e||await pe()}function Dt(){I.value=!1}return yt({open:Et,refresh:pe,refreshIfCurrent:Ct,close:Dt,detail:r,visible:I}),(t,e)=>{const o=Ht,y=$t,v=Mt,z=Kt,C=Jt,h=Gt,O=Wt,f=Zt,We=Qt,S=Yt,Le=Xt,Z=ea,It=sa,jt=aa,me=la,U=na,ze=ia,Pe=oa,Ae=pa,Ge=_a,Qe=ca,E=fa,Ze=va,Xe=ya,re=ga,qt=Ft,R=Bt("perms");return s(),c(qt,{modelValue:I.value,"onUpdate:modelValue":e[21]||(e[21]=B=>I.value=B),class:"po-detail-drawer",size:"80%","destroy-on-close":"","close-on-click-modal":!1,"append-to-body":k.appendToBody},{header:a(()=>{var B,u,L;return[n("div",Ma,[n("div",Ha,[e[22]||(e[22]=n("span",{class:"po-detail-drawer-title text-gray-800 font-semibold text-lg"},"业务订单详情",-1)),(B=r.value)!=null&&B.order_no?(s(),c(o,{key:0,type:"primary",effect:"plain",round:"",class:"ml-3"},{default:a(()=>[d(i(r.value.order_no),1)]),_:1})):m("",!0),(u=r.value)!=null&&u.gancao_reciperl_order_no?(s(),c(o,{key:1,type:"success",effect:"plain",round:"",class:"ml-2"},{default:a(()=>[d("甘草 "+i(r.value.gancao_reciperl_order_no),1)]),_:1})):m("",!0),(L=r.value)!=null&&L.ej_pharmacy_order_no?(s(),c(o,{key:2,type:"warning",effect:"plain",round:"",class:"ml-2"},{default:a(()=>[d("洛阳 "+i(r.value.ej_pharmacy_order_no),1)]),_:1})):m("",!0),r.value?tt(t.$slots,"header-extra",{key:3,detail:r.value},void 0,!0):m("",!0)]),r.value?(s(),p("div",Ja,[tt(t.$slots,"header-actions",{detail:r.value},void 0,!0)])):m("",!0)])]}),default:a(()=>{var B;return[ve.value?(s(),c(y,{key:0,rows:12,animated:"",class:"px-6 py-4"})):r.value?(s(),p("div",Ka,[!k.readonly&&ee.value?(s(),c(v,{key:0,type:"error",closable:!1,"show-icon":"",class:"mb-4 !items-start",title:"业务订单收货手机与处方登记手机不一致"},{default:a(()=>[n("div",Wa,[n("div",null,[e[23]||(e[23]=d(" 处方手机: ",-1)),n("span",Ga,i(gt.value),1)]),n("div",null,[e[24]||(e[24]=d(" 订单收货手机: ",-1)),n("span",Qa,i(bt.value),1)]),e[25]||(e[25]=n("div",{class:"text-gray-600 mt-1"},"请核对是否代收货或录入错误,避免物流与回访联系错人。",-1))])]),_:1})):m("",!0),!k.readonly&&q.value.show&&String(((B=r.value)==null?void 0:B.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",Za,[q.value.keywords.length?(s(),p("div",Xa,[e[26]||(e[26]=n("span",{class:"text-red-100 text-xs"},"命中关键词:",-1)),(s(!0),p(V,null,X(q.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))])):m("",!0),q.value.lines.length?(s(),p("ul",Ya,[(s(!0),p(V,null,X(q.value.lines,(u,L)=>(s(),p("li",{key:L},i(u),1))),128))])):m("",!0),e[27]||(e[27]=n("div",{class:"text-xs text-red-100/90 pt-1 border-t border-white/15"}," 请核实是否需改址重发、拦截退件或协调患者签收,并在备注中记录处理结果。 ",-1))])]),_:1})):m("",!0),k.readonly?m("",!0):(s(),p("div",es,[l(C,{active:ie.value,"align-center":"","finish-status":"success"},{default:a(()=>[l(z,{title:"业务订单创建",description:b(Oe)(r.value.create_time)},null,8,["description"]),l(z,{title:"处方单双审",status:ne.value},{description:a(()=>[ne.value==="error"?(s(),p("span",ts,"处方被驳回")):ne.value==="wait"?(s(),p("span",as,"等待审核")):ne.value==="success"?(s(),p("span",ss,"双审通过")):(s(),p("span",ls,"进行中"))]),_:1},8,["status"]),l(z,{title:"支付单审核",status:oe.value},{description:a(()=>[oe.value==="error"?(s(),p("span",rs,"支付审核驳回")):oe.value==="wait"?(s(),p("span",is,"等待审核")):oe.value==="success"?(s(),p("span",ns,"审核通过")):(s(),p("span",os,"进行中"))]),_:1},8,["status"]),l(z,{title:"发货与履约",status:G.value},{description:a(()=>{var u,L,F;return[G.value==="process"&&Number((u=r.value)==null?void 0:u.fulfillment_status)===7?(s(),p("span",us,"进行中")):G.value==="process"?(s(),p("span",ds,"等待发货/补充单号")):G.value==="wait"?(s(),p("span",ps,"待转入履约")):G.value==="success"?(s(),p("span",ms,i(b(lt)((L=r.value)==null?void 0:L.fulfillment_status)),1)):G.value==="error"?(s(),p("span",cs,i(b(lt)((F=r.value)==null?void 0:F.fulfillment_status)),1)):m("",!0)]}),_:1},8,["status"]),l(z,{title:"订单完成"})]),_:1},8,["active"])])),n("div",_s,[l(O,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:a(()=>[n("div",ys,[e[29]||(e[29]=n("div",{class:"stat-title text-gray-500 text-xs"},"总金额",-1)),!k.readonly&&b(za)(r.value)?M((s(),c(h,{key:0,type:"primary",size:"small",link:"",onClick:e[0]||(e[0]=u=>D("update-amount"))},{default:a(()=>[...e[28]||(e[28]=[d(" 修改 ",-1)])]),_:1})),[[R,["tcm.prescriptionOrder/updateAmount"]]]):m("",!0)]),n("div",vs,"¥"+i(r.value.amount),1)]),_:1}),l(O,{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",fs,"¥"+i(r.value.linked_pay_paid_total||0),1)]),_:1}),l(O,{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:H(["stat-value font-bold text-xl",Number(r.value.refund_amount)>0?"text-rose-500":"text-gray-400"])}," ¥"+i(b(rt)(r.value.refund_amount||0)),3)]),_:1}),l(O,{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:H(["stat-value font-bold text-xl",Ce.value>0?"text-amber-600":"text-gray-500"])}," ¥"+i(b(rt)(Ce.value)),3)]),_:1}),l(O,{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",gs,i(fe.value.length)+" 笔",1)]),_:1})]),n("div",bs,[l(O,{shadow:"never",class:"po-panel po-panel-rx border-gray-100 h-full relative overflow-hidden"},{header:a(()=>[n("div",ws,[n("div",hs,[e[40]||(e[40]=n("span",{class:"font-medium text-[15px]"},"处方详情",-1)),r.value.doctor_name?(s(),p("span",Ss,[e[36]||(e[36]=d(" 开方人:",-1)),n("span",Ns,i(r.value.doctor_name),1)])):m("",!0),!k.readonly&&r.value.prescription_id&&_.value&&!String(r.value.prescription_detail_error||"").trim()?M((s(),c(h,{key:1,type:"default",size:"small",link:"",onClick:e[1]||(e[1]=u=>D("patch-rx-patient"))},{default:a(()=>[...e[37]||(e[37]=[d(" 改患者信息 ",-1)])]),_:1})),[[R,["tcm.prescriptionOrder/patchPrescriptionPatient"]]]):m("",!0),!k.readonly&&r.value.prescription_id&&ye.value?(s(),c(h,{key:2,type:"primary",size:"small",link:"",onClick:e[2]||(e[2]=u=>D("view-prescription"))},{default:a(()=>[...e[38]||(e[38]=[d(" 详细 ",-1)])]),_:1})):m("",!0),!k.readonly&&r.value.id&&ye.value?(s(),c(h,{key:3,type:"warning",size:"small",link:"",loading:k.gancaoPreviewLoading,icon:b(ta),onClick:e[3]||(e[3]=u=>D("test-gancao-preview"))},{default:a(()=>[...e[39]||(e[39]=[d(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):m("",!0)]),n("span",Vs,"ID: "+i(r.value.prescription_id||"—"),1)])]),default:a(()=>[r.value.prescription_audit_status===1?(s(),p("div",xs,[...e[34]||(e[34]=[n("div",{class:"stamp-inner"},"审核通过",-1)])])):m("",!0),r.value.prescription_audit_status===2?(s(),p("div",ks,[...e[35]||(e[35]=[n("div",{class:"stamp-inner"},"已驳回",-1)])])):m("",!0),!k.readonly&&String(r.value.prescription_detail_error||"").trim()?(s(),c(v,{key:2,title:r.value.prescription_detail_error,type:"warning",closable:!1,"show-icon":"",class:"mb-3"},null,8,["title"])):_.value?(s(),p(V,{key:3},[l(We,{column:2,border:"",size:"small",class:"po-desc bg-white"},{default:a(()=>[l(f,{label:"处方编号",span:2},{default:a(()=>[d(i(_.value.sn||"—"),1)]),_:1}),l(f,{label:"患者"},{default:a(()=>[d(i(_.value.patient_name||"—"),1)]),_:1}),l(f,{label:"性别 / 年龄"},{default:a(()=>[d(i(_.value.gender_desc||"—")+" · "+i(_.value.age??"—")+"岁 ",1)]),_:1}),l(f,{label:"手机"},{default:a(()=>[n("span",{class:H(ee.value?"rx-phone-mismatch text-red-600 font-bold":"")},i(_.value.phone||"—"),3),ee.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})):m("",!0)]),_:1}),l(f,{label:"处方日期"},{default:a(()=>[d(i(_.value.prescription_date||"—"),1)]),_:1}),l(f,{label:"医师"},{default:a(()=>[d(i(_.value.doctor_name||"—"),1)]),_:1}),l(f,{label:"类型"},{default:a(()=>[d(i(_.value.prescription_type||"—"),1)]),_:1}),l(f,{label:"临床诊断",span:2},{default:a(()=>[d(i(_.value.clinical_diagnosis||"—"),1)]),_:1}),ye.value?(s(),c(f,{key:0,label:"剂数 / 用法",span:2},{default:a(()=>[d(i(r.value.dose_count??_.value.dose_count??"—")+" "+i(r.value.dose_unit||"剂")+" · "+i(_.value.usage_instruction||_.value.usage_method||"—"),1)]),_:1})):m("",!0),l(f,{label:"处方金额"},{default:a(()=>[n("span",Ts,"¥"+i(_.value.amount??"—"),1)]),_:1}),l(f,{label:"消费者审核"},{default:a(()=>[l(o,{type:b(Pa)(_.value.audit_status),size:"small"},{default:a(()=>[d(i(b(Aa)(_.value.audit_status)),1)]),_:1},8,["type"])]),_:1}),l(f,{label:"用量"},{default:a(()=>[n("div",Ls,[n("div",null,[j.value?(s(),p("span",zs,"主方:")):m("",!0),_.value.dosage_amount?(s(),p(V,{key:1},[d(i(_.value.dosage_amount)+i(_.value.dosage_unit||"g")+" ",1),_.value.prescription_type==="浓缩水丸"?(s(),p(V,{key:0},[d(" · "+i(Number(_.value.dosage_bag_count)>0?Number(_.value.dosage_bag_count):1)+"袋 ",1)],64)):m("",!0),_.value.prescription_type==="饮片"&&_.value.need_decoction!==null?(s(),p("span",Ps," ("+i(_.value.need_decoction?"代煎":"不代煎")+") ",1)):m("",!0)],64)):(s(),p(V,{key:2},[d("—")],64))]),j.value&&P.value?(s(),p("div",As,[e[42]||(e[42]=n("span",{class:"text-gray-500 mr-1"},"辅方:",-1)),P.value.dosage_amount!=null&&P.value.dosage_amount!==0?(s(),p(V,{key:0},[d(i(P.value.dosage_amount)+i(_.value.dosage_unit||"g")+" ",1),_.value.prescription_type==="浓缩水丸"?(s(),p(V,{key:0},[d(" · "+i(Number(P.value.dosage_bag_count)>0?Number(P.value.dosage_bag_count):1)+"袋 ",1)],64)):m("",!0),_.value.prescription_type==="饮片"?(s(),p("span",Os," ("+i(P.value.need_decoction?"代煎":"不代煎")+") ",1)):m("",!0)],64)):(s(),p(V,{key:1},[d("—")],64))])):m("",!0)])]),_:1}),l(f,null,{label:a(()=>[n("div",Us,[e[44]||(e[44]=n("span",null,"服用方式",-1)),!k.readonly&&r.value.prescription_id&&_.value&&!String(r.value.prescription_detail_error||"").trim()?M((s(),c(h,{key:0,type:"primary",size:"small",link:"",onClick:Lt},{default:a(()=>[...e[43]||(e[43]=[d(" 修改 ",-1)])]),_:1})),[[R,["tcm.prescriptionOrder/patchPrescriptionUsage"]]]):m("",!0)])]),default:a(()=>[n("div",Es,[j.value?(s(),p(V,{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)]),P.value?(s(),p("div",Cs,[e[46]||(e[46]=n("span",{class:"text-gray-500 mr-1"},"辅方:",-1)),d(" 每天 "+i(P.value.times_per_day?P.value.times_per_day+" 次":"— 次")+" · 处方开立 "+i(P.value.usage_days!=null&&Number(P.value.usage_days)>0?P.value.usage_days+" 天":"— 天"),1)])):m("",!0)],64)):(s(),p(V,{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(r.value.medication_days!=null&&String(r.value.medication_days).trim()!==""?r.value.medication_days+" 天":"—"),1)])])]),_:1}),Ee.value?(s(),c(f,{key:1,label:"忌口",span:2},{default:a(()=>[d(i(Ee.value),1)]),_:1})):m("",!0),l(f,{label:"状态",span:2},{default:a(()=>[l(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}),!k.readonly&&xt.value?(s(),p("div",Ds,[e[50]||(e[50]=n("div",{class:"text-xs font-medium text-gray-500 mb-2 px-1"},"药材明细",-1)),Re.value.length?(s(),c(Le,{key:0,data:Re.value,size:"small",border:"",stripe:"","max-height":"260"},{default:a(()=>[l(S,{type:"index",label:"#",width:"48",align:"center"}),l(S,{prop:"name",label:"药名","min-width":"120","show-overflow-tooltip":""}),l(S,{prop:"dosage",label:"用量(g)",width:"96",align:"right"})]),_:1},8,["data"])):(s(),c(Z,{key:1,description:"无处方药材明细","image-size":64}))])):m("",!0)],64)):(s(),c(Z,{key:4,description:"无处方数据","image-size":72}))]),_:1}),n("div",Is,[l(O,{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(Le,{key:0,data:W.value,size:"small",border:"",stripe:"",class:"po-pay-table","max-height":"280"},{default:a(()=>[l(S,{prop:"id",label:"ID",width:"70"}),l(S,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),l(S,{label:"类型",width:"90"},{default:a(({row:u})=>[d(i(u.order_type_desc||b(Ue)(u.order_type)),1)]),_:1}),l(S,{label:"金额",width:"86",align:"right"},{default:a(({row:u})=>[n("span",js,"¥"+i(u.amount),1)]),_:1}),l(S,{label:"状态",width:"100",align:"center"},{default:a(({row:u})=>[l(o,{type:b(it)(u.status),size:"small"},{default:a(()=>[d(i(u.status_desc||b(nt)(u.status)),1)]),_:2},1032,["type"]),!k.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})):m("",!0)]),_:1}),k.readonly?m("",!0):(s(),c(S,{key:0,label:"方式","min-width":"120","show-overflow-tooltip":""},{default:a(({row:u})=>[d(i(b(ot)(u)),1)]),_:1})),l(S,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),l(S,{label:"创建时间","min-width":"136"},{default:a(({row:u})=>[d(i(b(ut)(u.create_time)),1)]),_:1})]),_:1},8,["data"])):(s(),c(Z,{key:1,description:"无未关联的收款单","image-size":60}))]),_:1}),l(O,{shadow:"never",class:"po-panel po-panel-pay border-gray-100 relative overflow-hidden"},{header:a(()=>[n("div",Bs,[n("div",Fs,[e[56]||(e[56]=n("span",{class:"font-medium text-[15px]"},"关联收款记录",-1)),r.value.creator_name?(s(),p("span",$s,[e[55]||(e[55]=d(" 创建人:",-1)),n("span",Ms,i(r.value.creator_name),1)])):m("",!0)])])]),default:a(()=>[r.value.payment_slip_audit_status===1?(s(),p("div",qs,[...e[53]||(e[53]=[n("div",{class:"stamp-inner"},"审核通过",-1)])])):m("",!0),r.value.payment_slip_audit_status===2?(s(),p("div",Rs,[...e[54]||(e[54]=[n("div",{class:"stamp-inner"},"已驳回",-1)])])):m("",!0),fe.value.length?(s(),c(Le,{key:2,data:fe.value,size:"small",border:"",stripe:"",class:"po-pay-table","max-height":"280"},{default:a(()=>[l(S,{prop:"id",label:"ID",width:"70"}),l(S,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),l(S,{label:"类型",width:"90"},{default:a(({row:u})=>[d(i(u.order_type_desc||b(Ue)(u.order_type)),1)]),_:1}),l(S,{label:"金额",width:"86",align:"right"},{default:a(({row:u})=>[n("span",Hs,"¥"+i(u.amount),1)]),_:1}),l(S,{label:"状态",width:"100",align:"center"},{default:a(({row:u})=>[l(o,{type:b(it)(u.status),size:"small"},{default:a(()=>[d(i(u.status_desc||b(nt)(u.status)),1)]),_:2},1032,["type"]),!k.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})):m("",!0)]),_:1}),k.readonly?m("",!0):(s(),c(S,{key:0,label:"方式","min-width":"120","show-overflow-tooltip":""},{default:a(({row:u})=>[d(i(b(ot)(u)),1)]),_:1})),l(S,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),l(S,{label:"创建时间","min-width":"136"},{default:a(({row:u})=>[d(i(b(ut)(u.create_time)),1)]),_:1})]),_:1},8,["data"])):(s(),c(Z,{key:3,description:"未关联收款单","image-size":60}))]),_:1})])]),l(O,{shadow:"never",class:"po-panel po-panel-biz border-gray-100 mb-4"},{header:a(()=>[...e[58]||(e[58]=[n("span",{class:"font-medium text-[15px]"},"履约与收货信息",-1)])]),default:a(()=>[l(We,{column:3,border:"",size:"small",class:"po-desc"},{default:a(()=>[l(f,{label:"诊单ID",span:3},{default:a(()=>[n("span",Js,i(r.value.diagnosis_id),1),!k.readonly&&Number(r.value.diagnosis_id)>0?(s(),c(h,{key:0,type:"primary",link:"",size:"small",class:"ml-2 align-baseline",onClick:e[4]||(e[4]=u=>D("view-patient"))},{default:a(()=>[...e[59]||(e[59]=[d(" 查看患者信息 ",-1)])]),_:1})):m("",!0)]),_:1}),l(f,{label:"创建时间",span:1},{default:a(()=>[d(i(b(Oe)(r.value.create_time)),1)]),_:1}),l(f,{label:"业务订单创建人",span:2},{default:a(()=>[Number(r.value.creator_id)>0||r.value.creator_name?(s(),p("div",Ks,[n("div",null,[n("span",Ws,i(r.value.creator_name||"—"),1),!k.readonly&&Number(r.value.creator_id)>0?(s(),p("span",Gs,"ID "+i(r.value.creator_id),1)):m("",!0)]),Ie.value?(s(),p("div",Qs,i(Ie.value),1)):m("",!0)])):(s(),p("span",Zs,"—"))]),_:1}),l(f,{label:"创建人所属部门",span:3},{default:a(()=>[De.value.length?(s(),p("div",Xs,[(s(!0),p(V,null,X(De.value,(u,L)=>(s(),p("div",{key:L,class:"min-w-0"},[u.length?(s(),c(jt,{key:0,class:"po-diagnosis-creator-dept-breadcrumb text-[13px] leading-relaxed",separator:"/"},{default:a(()=>[(s(!0),p(V,null,X(u,(F,ce)=>(s(),c(It,{key:ce},{default:a(()=>[n("span",Ys,i(F),1)]),_:2},1024))),128))]),_:2},1024)):m("",!0)]))),128))])):(s(),p("span",el,"—"))]),_:1}),l(f,{label:"收货人"},{default:a(()=>[d(i(r.value.recipient_name),1)]),_:1}),k.readonly?m("",!0):(s(),c(f,{key:0,label:"挂号关联",span:3},{default:a(()=>[A.value?(s(),p(V,{key:0},[n("div",tl,[n("span",null,[e[60]||(e[60]=d("流转编号(挂号) ",-1)),n("span",al,"#"+i(A.value.id),1)]),n("span",sl,"时间:"+i(A.value.appointment_date)+" "+i(A.value.period)+" "+i(A.value.appointment_time),1),l(o,{size:"small",type:"info"},{default:a(()=>[d(i(A.value.appointment_type_desc),1)]),_:1}),l(o,{size:"small"},{default:a(()=>[d(i(A.value.status_desc),1)]),_:1}),A.value.doctor_name?(s(),p("span",ll,"接诊:"+i(A.value.doctor_name),1)):m("",!0),qe.value?(s(),p("span",rl,"渠道:"+i(qe.value),1)):m("",!0),je.value?(s(),c(o,{key:2,size:"small",effect:"plain"},{default:a(()=>[d(i(je.value),1)]),_:1})):m("",!0)]),String(A.value.remark||"").trim()?(s(),p("p",il," 备注:"+i(A.value.remark),1)):m("",!0)],64)):(s(),p("span",nl,"暂无挂号预约记录(未绑定或诊单下无预约)"))]),_:1})),l(f,{label:"收货手机"},{default:a(()=>[n("span",{class:H(ee.value?"text-red-600 font-bold font-mono":"font-mono")},i(r.value.recipient_phone||"—"),3),ee.value?(s(),c(o,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:a(()=>[...e[61]||(e[61]=[d(" 与处方手机不一致 ",-1)])]),_:1})):m("",!0)]),_:1}),l(f,{label:"收货地址",span:2},{default:a(()=>[d(i(kt.value),1)]),_:1}),l(f,{label:"复诊"},{default:a(()=>[d(i(r.value.is_follow_up?"是":"否"),1)]),_:1}),l(f,{label:"用药疗程"},{default:a(()=>[d(i(r.value.medication_days?r.value.medication_days+" 天":"—"),1)]),_:1}),l(f,{label:"上次医护"},{default:a(()=>[d(i(r.value.prev_staff||"—"),1)]),_:1}),l(f,{label:"服务渠道"},{default:a(()=>[d(i(r.value.service_channel||"—"),1)]),_:1}),l(f,{label:"服务套餐"},{default:a(()=>[d(i(wt.value),1)]),_:1}),l(f,{label:"费用类别"},{default:a(()=>[d(i(b(Ue)(r.value.fee_type)),1)]),_:1}),Be.value?(s(),c(f,{key:1,label:"内部成本"},{default:a(()=>[d(" ¥"+i(r.value.internal_cost),1)]),_:1})):m("",!0),l(f,{label:"快递单号",span:Be.value?1:2},{default:a(()=>[d(i(r.value.tracking_number||"—"),1)]),_:1},8,["span"]),l(f,{label:"快递公司"},{default:a(()=>[d(i(b(Oa)(r.value.express_company)),1)]),_:1}),M((s(),c(f,{label:"药房备注",span:3},{default:a(()=>[d(i(r.value.remark_extra||"—"),1)]),_:1})),[[R,["tcm.prescriptionOrder/editRemarkExtra"]]]),l(f,{label:"医助备注",span:3},{default:a(()=>[d(i(r.value.remark_assistant||"—"),1)]),_:1}),l(f,{label:"处方审核意见",span:3},{default:a(()=>[n("span",ol,i(r.value.prescription_audit_remark||"—"),1)]),_:1}),l(f,{label:"支付审核意见",span:3},{default:a(()=>[n("span",ul,i(r.value.payment_slip_audit_remark||"—"),1)]),_:1})]),_:1})]),_:1}),String(r.value.tracking_number||"").trim()?(s(),c(O,{key:3,shadow:"never",class:H(["po-panel po-panel-logistics",!k.readonly&&q.value.show?"!border-2 !border-red-500 shadow-md shadow-red-500/10":"border-gray-100"])},{header:a(()=>[n("div",dl,[e[63]||(e[63]=n("span",{class:"font-medium text-[15px]"},"物流轨迹",-1)),n("span",pl,i(r.value.tracking_number),1),!k.readonly&&q.value.show?(s(),c(o,{key:0,type:"danger",effect:"dark",size:"small"},{default:a(()=>[...e[62]||(e[62]=[d(" 拒收/退回 · 待处理 ",-1)])]),_:1})):m("",!0)])]),default:a(()=>{var u,L,F,ce,Ye,et;return[k.readonly?m("",!0):(s(),p("p",ml," 优先读库,无记录时走快递100。顺丰会校验单号+电话(快递100要求完整手机号更易通过);默认预填订单收货手机,若仍提示验证码错误请改成与顺丰面单一致的号码。 ")),n("div",cl,[l(me,{modelValue:se.value,"onUpdate:modelValue":e[5]||(e[5]=$=>se.value=$),clearable:"",maxlength:"20",placeholder:"收件手机(建议11位,与面单一致)",class:"w-[180px]",onKeyup:ra(le,["enter"])},null,8,["modelValue"]),l(ze,{modelValue:Q.value,"onUpdate:modelValue":e[6]||(e[6]=$=>Q.value=$),placeholder:"承运商",style:{width:"140px"}},{default:a(()=>[l(U,{label:"自动识别",value:"auto"}),l(U,{label:"顺丰速运",value:"sf"}),l(U,{label:"京东快递",value:"jd"}),l(U,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),M((s(),c(h,{type:"primary",plain:"",size:"default",loading:de.value,onClick:le},{icon:a(()=>[l(Pe,null,{default:a(()=>[l(b(ua))]),_:1})]),default:a(()=>[e[64]||(e[64]=d(" 刷新轨迹 ",-1))]),_:1},8,["loading"])),[[R,["tcm.prescriptionOrder/logisticsTrace"]]]),k.readonly?m("",!0):M((s(),c(h,{key:0,type:"warning",plain:"",size:"default",loading:Se.value,onClick:Ut},{icon:a(()=>[l(Pe,null,{default:a(()=>[l(b(da))]),_:1})]),default:a(()=>[e[65]||(e[65]=d(" 京东接口更新 ",-1))]),_:1},8,["loading"])),[[R,["tcm.prescriptionOrder/logisticsTrace"]]]),k.readonly?m("",!0):(s(),p("div",_l,[l(Ae,{href:Te.value.sf,target:"_blank",type:"primary",underline:!1,class:"text-[13px]"},{default:a(()=>[...e[66]||(e[66]=[d("顺丰官网",-1)])]),_:1},8,["href"]),l(Ae,{href:Te.value.jd,target:"_blank",type:"primary",underline:!1,class:"text-[13px]"},{default:a(()=>[...e[67]||(e[67]=[d("京东物流",-1)])]),_:1},8,["href"]),l(Ae,{href:Te.value.jt,target:"_blank",type:"primary",underline:!1,class:"text-[13px]"},{default:a(()=>[...e[68]||(e[68]=[d("极兔",-1)])]),_:1},8,["href"])]))]),!k.readonly&&String(((u=N.value)==null?void 0:u.hint)||"").trim()?(s(),c(v,{key:1,title:String(((L=N.value)==null?void 0:L.hint)||""),type:"info",closable:!1,class:"mb-4","show-icon":""},null,8,["title"])):m("",!0),de.value&&!N.value?(s(),p("div",yl,[l(Pe,{class:"is-loading mr-1"},{default:a(()=>[l(b(ma))]),_:1}),e[69]||(e[69]=d("正在加载物流轨迹... ",-1))])):N.value?(s(),p("div",vl,[(F=N.value)!=null&&F.state_text?(s(),p("div",fl,[n("span",gl,"状态:"+i(N.value.state_text),1),(ce=N.value)!=null&&ce.carrier_label?(s(),c(o,{key:0,size:"small",type:"info"},{default:a(()=>[d(i(N.value.carrier_label),1)]),_:1})):m("",!0),!k.readonly&&((Ye=N.value)!=null&&Ye.source)?(s(),p("span",bl," ["+i(N.value.source==="database"?"数据库缓存":"API拉取")+"] ",1)):m("",!0),!k.readonly&&((et=N.value)!=null&&et.last_query_time)?(s(),p("span",xl," 更新时间:"+i(N.value.last_query_time),1)):m("",!0)])):m("",!0),Ke.value.length?(s(),c(Qe,{key:1,class:"mt-2 pl-2"},{default:a(()=>[(s(!0),p(V,null,X(Ke.value,($,_e)=>(s(),c(Ge,{key:_e,type:_e===0?"primary":"info",hollow:_e!==0,timestamp:$.time,placement:"top"},{default:a(()=>[n("span",{class:H([_e===0?"text-gray-800 font-medium":"text-gray-500",!k.readonly&&b(Ua)($.context)?"!text-red-700 font-semibold bg-red-50 px-1.5 py-0.5 rounded":""])},i($.context),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(s(),c(Z,{key:2,description:"暂无轨迹节点记录","image-size":64}))])):m("",!0)]}),_:1},8,["class"])):m("",!0),M((s(),c(O,{shadow:"never",class:"po-panel border-gray-100 mt-4"},{header:a(()=>[n("div",kl,[e[71]||(e[71]=n("span",{class:"font-medium text-[15px]"},"操作日志",-1)),Nt()?(s(),c(h,{key:0,type:"primary",link:"",size:"small",onClick:At},{default:a(()=>[...e[70]||(e[70]=[d(" 新增日志 ",-1)])]),_:1})):m("",!0)])]),default:a(()=>[K.value.length?(s(),c(Qe,{key:0,class:"mt-2 pl-2"},{default:a(()=>[(s(!0),p(V,null,X(K.value,(u,L)=>(s(),c(Ge,{key:u.id,type:L===0?"primary":"info",hollow:L!==0,timestamp:b(Oe)(u.create_time),placement:"top"},{default:a(()=>[n("div",wl,[n("span",hl,i(u.admin_name),1),l(o,{size:"small",type:"info"},{default:a(()=>[d(i(b(Ea)(u.action)),1)]),_:2},1024)]),n("span",{class:H(L===0?"text-gray-800 font-medium":"text-gray-500")},i(u.summary),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(s(),c(Z,{key:1,description:"暂无操作日志","image-size":64}))]),_:1})),[[R,["tcm.prescriptionOrder/logs"]]]),l(Xe,{modelValue:te.value,"onUpdate:modelValue":e[13]||(e[13]=u=>te.value=u),title:"新增操作日志",width:"520px","close-on-click-modal":!1,"destroy-on-close":"","append-to-body":"",onClosed:Me},{footer:a(()=>[l(h,{onClick:e[12]||(e[12]=u=>te.value=!1)},{default:a(()=>[...e[72]||(e[72]=[d("取消",-1)])]),_:1}),l(h,{type:"primary",loading:ke.value,onClick:Ot},{default:a(()=>[...e[73]||(e[73]=[d("保存",-1)])]),_:1},8,["loading"])]),default:a(()=>[l(Ze,{ref_key:"addLogFormRef",ref:ue,model:g,rules:Vt,"label-width":"108px"},{default:a(()=>[l(E,{label:"日志内容",prop:"summary"},{default:a(()=>[l(me,{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}),be.value?(s(),c(E,{key:0,label:"处方审核"},{default:a(()=>[l(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(()=>[l(U,{label:"待审核",value:0}),l(U,{label:"已通过",value:1}),l(U,{label:"已驳回",value:2})]),_:1},8,["modelValue"]),r.value?(s(),p("div",Sl," 当前:"+i(b(dt)(r.value.prescription_audit_status)),1)):m("",!0)]),_:1})):m("",!0),be.value&&g.prescription_audit_status!==""&&g.prescription_audit_status!==null&&g.prescription_audit_status!==void 0?(s(),c(E,{key:1,label:"处方审核意见"},{default:a(()=>[l(me,{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})):m("",!0),xe.value?(s(),c(E,{key:2,label:"支付单审核"},{default:a(()=>[l(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(()=>[l(U,{label:"待审核",value:0}),l(U,{label:"已通过",value:1}),l(U,{label:"已驳回",value:2})]),_:1},8,["modelValue"]),r.value?(s(),p("div",Nl," 当前:"+i(b(dt)(r.value.payment_slip_audit_status)),1)):m("",!0)]),_:1})):m("",!0),xe.value&&g.payment_slip_audit_status!==""&&g.payment_slip_audit_status!==null&&g.payment_slip_audit_status!==void 0?(s(),c(E,{key:3,label:"支付审核意见"},{default:a(()=>[l(me,{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})):m("",!0)]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(Xe,{modelValue:ae.value,"onUpdate:modelValue":e[20]||(e[20]=u=>ae.value=u),title:"修改服用参数",width:"480px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:zt},{footer:a(()=>[l(h,{onClick:e[19]||(e[19]=u=>ae.value=!1)},{default:a(()=>[...e[79]||(e[79]=[d("取消",-1)])]),_:1}),l(h,{type:"primary",loading:we.value,onClick:Pt},{default:a(()=>[...e[80]||(e[80]=[d("保存",-1)])]),_:1},8,["loading"])]),default:a(()=>[l(Ze,{ref_key:"patchUsageFormRef",ref:he,model:w,rules:Tt.value,"label-width":"108px"},{default:a(()=>[j.value?(s(),p("div",Vl,"主方")):m("",!0),l(E,{label:"每天次数",prop:"times_per_day"},{default:a(()=>[l(re,{modelValue:w.times_per_day,"onUpdate:modelValue":e[14]||(e[14]=u=>w.times_per_day=u),min:1,max:6,step:1,"controls-position":"right",class:"w-full"},null,8,["modelValue"])]),_:1}),l(E,{label:"处方开立",prop:"usage_days"},{default:a(()=>[n("div",Tl,[l(re,{modelValue:w.usage_days,"onUpdate:modelValue":e[15]||(e[15]=u=>w.usage_days=u),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[74]||(e[74]=n("span",{class:"text-gray-500 shrink-0"},"天",-1))])]),_:1}),j.value?(s(),p(V,{key:1},[e[76]||(e[76]=n("div",{class:"text-xs font-medium text-gray-500 mb-3 mt-2 pt-2 border-t border-gray-100"},"辅方",-1)),l(E,{label:"每天次数",prop:"aux_times_per_day"},{default:a(()=>[l(re,{modelValue:w.aux_times_per_day,"onUpdate:modelValue":e[16]||(e[16]=u=>w.aux_times_per_day=u),min:1,max:6,step:1,"controls-position":"right",class:"w-full"},null,8,["modelValue"])]),_:1}),l(E,{label:"处方开立",prop:"aux_usage_days"},{default:a(()=>[n("div",Ll,[l(re,{modelValue:w.aux_usage_days,"onUpdate:modelValue":e[17]||(e[17]=u=>w.aux_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})],64)):m("",!0),e[78]||(e[78]=n("div",{class:"text-xs font-medium text-gray-500 mb-3 mt-2 pt-2 border-t border-gray-100"},"订单设置",-1)),l(E,{label:"服用天数",prop:"medication_days"},{default:a(()=>[n("div",zl,[l(re,{modelValue:w.medication_days,"onUpdate:modelValue":e[18]||(e[18]=u=>w.medication_days=u),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[77]||(e[77]=n("span",{class:"text-gray-500 shrink-0"},"天",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue"])])):m("",!0)]}),_:3},8,["modelValue","append-to-body"])}}}),Dl=La(Al,[["__scopeId","data-v-5851cb40"]]);export{Dl as default}; diff --git a/server/public/admin/assets/RecordingPlaybackBlock-C4Gpp-2c.js b/server/public/admin/assets/RecordingPlaybackBlock-CN4w1UI-.js similarity index 94% rename from server/public/admin/assets/RecordingPlaybackBlock-C4Gpp-2c.js rename to server/public/admin/assets/RecordingPlaybackBlock-CN4w1UI-.js index 3ca36540..4b428ed8 100644 --- a/server/public/admin/assets/RecordingPlaybackBlock-C4Gpp-2c.js +++ b/server/public/admin/assets/RecordingPlaybackBlock-CN4w1UI-.js @@ -1 +1 @@ -import{o as L,q as a,r as c,s as m,F as v,O as d,bq as q,D as _,L as k,P as y,G as B,p as f,T as w}from"./.pnpm-9dA1PEvN.js";import H from"./RecordingVideoPlayer-BFQjIPtM.js";import{e as I,_ as P}from"./index-CJvXnF8Y.js";const R={key:0,class:"recording-list"},C={class:"recording-item"},V={key:1,class:"recording-alternates"},N={class:"recording-alternates__links"},D={key:1,class:"text-gray-400"},E=L({__name:"RecordingPlaybackBlock",props:{recordId:{},urls:{}},setup(l){const $=l,h=I(),u=f(()=>{const e=$.urls||[],t=new Set,r=[];for(const o of e){const s=String(o??"").trim();!s||t.has(s)||(t.add(s),r.push(s))}return r}),i=f(()=>{const e=u.value;if(!e.length)return null;const t=e.find(n=>/\.mp4(\?|#|$)/i.test(n));if(t)return t;const r=e.find(n=>/\.m3u8(\?|#|$)/i.test(n)&&/vod-qcloud\.com/i.test(n));if(r)return r;const o=e.find(n=>/\.m3u8(\?|#|$)/i.test(n)&&/\.cos\.[^/]+\.myqcloud\.com/i.test(n));if(o)return o;const s=e.find(n=>/\.m3u8(\?|#|$)/i.test(n));return s||e[0]}),p=f(()=>{const e=u.value,t=i.value;return t?e.filter(r=>r!==t):e.slice(1)});function b(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 S(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=q;return u.value.length?(a(),c("div",R,[m("div",C,[i.value?(a(),c(v,{key:0},[b(i.value)?(a(),d(H,{key:`${l.recordId}-${i.value}`,src:i.value},null,8,["src"])):(a(),d(r,{key:1,href:g(i.value),target:"_blank",type:"primary"},{default:_(()=>[...t[0]||(t[0]=[k(" 打开回放 ",-1)])]),_:1},8,["href"]))],64)):y("",!0),p.value.length?(a(),c("div",V,[t[1]||(t[1]=m("span",{class:"recording-alternates__label"},"备用地址",-1)),m("div",N,[(a(!0),c(v,null,B(p.value,(o,s)=>(a(),d(r,{key:`${l.recordId}-alt-${s}-${o.slice(-32)}`,href:g(o),target:"_blank",type:"primary",class:"recording-alternates__link"},{default:_(()=>[k(w(S(o,s)),1)]),_:2},1032,["href"]))),128))])])):y("",!0)])])):(a(),c("span",D,"暂无"))}}}),x=P(E,[["__scopeId","data-v-597ae096"]]);export{x as default}; +import{o as L,q as a,r as c,s as m,F as v,O as d,bq as q,D as _,L as k,P as y,G as B,p as f,T as w}from"./.pnpm-9dA1PEvN.js";import H from"./RecordingVideoPlayer-DIfduEP7.js";import{e as I,_ as P}from"./index-BWzN7QIb.js";const R={key:0,class:"recording-list"},C={class:"recording-item"},V={key:1,class:"recording-alternates"},N={class:"recording-alternates__links"},D={key:1,class:"text-gray-400"},E=L({__name:"RecordingPlaybackBlock",props:{recordId:{},urls:{}},setup(l){const $=l,h=I(),u=f(()=>{const e=$.urls||[],t=new Set,r=[];for(const o of e){const s=String(o??"").trim();!s||t.has(s)||(t.add(s),r.push(s))}return r}),i=f(()=>{const e=u.value;if(!e.length)return null;const t=e.find(n=>/\.mp4(\?|#|$)/i.test(n));if(t)return t;const r=e.find(n=>/\.m3u8(\?|#|$)/i.test(n)&&/vod-qcloud\.com/i.test(n));if(r)return r;const o=e.find(n=>/\.m3u8(\?|#|$)/i.test(n)&&/\.cos\.[^/]+\.myqcloud\.com/i.test(n));if(o)return o;const s=e.find(n=>/\.m3u8(\?|#|$)/i.test(n));return s||e[0]}),p=f(()=>{const e=u.value,t=i.value;return t?e.filter(r=>r!==t):e.slice(1)});function b(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 S(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=q;return u.value.length?(a(),c("div",R,[m("div",C,[i.value?(a(),c(v,{key:0},[b(i.value)?(a(),d(H,{key:`${l.recordId}-${i.value}`,src:i.value},null,8,["src"])):(a(),d(r,{key:1,href:g(i.value),target:"_blank",type:"primary"},{default:_(()=>[...t[0]||(t[0]=[k(" 打开回放 ",-1)])]),_:1},8,["href"]))],64)):y("",!0),p.value.length?(a(),c("div",V,[t[1]||(t[1]=m("span",{class:"recording-alternates__label"},"备用地址",-1)),m("div",N,[(a(!0),c(v,null,B(p.value,(o,s)=>(a(),d(r,{key:`${l.recordId}-alt-${s}-${o.slice(-32)}`,href:g(o),target:"_blank",type:"primary",class:"recording-alternates__link"},{default:_(()=>[k(w(S(o,s)),1)]),_:2},1032,["href"]))),128))])])):y("",!0)])])):(a(),c("span",D,"暂无"))}}}),x=P(E,[["__scopeId","data-v-597ae096"]]);export{x as default}; diff --git a/server/public/admin/assets/RecordingVideoPlayer-BFQjIPtM.js b/server/public/admin/assets/RecordingVideoPlayer-DIfduEP7.js similarity index 98% rename from server/public/admin/assets/RecordingVideoPlayer-BFQjIPtM.js rename to server/public/admin/assets/RecordingVideoPlayer-DIfduEP7.js index 1c55ae65..2e76ae90 100644 --- a/server/public/admin/assets/RecordingVideoPlayer-BFQjIPtM.js +++ b/server/public/admin/assets/RecordingVideoPlayer-DIfduEP7.js @@ -1,2 +1,2 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/.pnpm-9dA1PEvN.js","assets/.pnpm-LiWq8Xu0.css"])))=>i.map(i=>d[i]); -import{o as K,ap as z,n as S,R as H,aq as G,q as v,r as p,s as f,ac as O,ad as W,b8 as $,aw as j,F as w,v as k,D as I,u as J,b5 as Q,w as X,P,L as Y,bq as Z,M as _,p as E,al as ee}from"./.pnpm-9dA1PEvN.js";import{e as ae,_ as ne}from"./index-CJvXnF8Y.js";const te={class:"recording-playback__shell"},re=["preload"],oe=["onKeydown"],le=K({__name:"RecordingVideoPlayer",props:{src:{}},setup(B){const V=B,A=ae(),b=_(null),m=_(null),c=_(!1),s=_(!1),t=_(!1);let d=null,r=null,l=0,u=null;function i(){u!==null&&(clearTimeout(u),u=null)}const y=E(()=>{const e=String(V.src||"").trim();return e?U(A.getImageUrl(e)):""}),D=E(()=>{if(!s.value)return"none";const e=y.value;return e&&!L(e)?"metadata":"none"}),q=E(()=>!s.value||t.value);function U(e){if(!e||!/^https?:\/\//i.test(e))return e;try{const a=new URL(e),n=a.hostname.toLowerCase();if(n.includes("myqcloud.com")||n.includes("vod-qcloud.com")||n.includes("vod-qcloud"))return a.pathname.includes("+")&&(a.pathname=a.pathname.replace(/\+/g,"%2B")),a.href}catch{}return e}function L(e){return/\.m3u8(\?|#|$)/i.test(e)}function C(){var n;t.value=!1,i();const e=m.value,a=(n=e==null?void 0:e.error)==null?void 0:n.code;a===MediaError.MEDIA_ERR_ABORTED||a===1||(c.value=!0)}function h(){d&&(d.destroy(),d=null);const e=m.value;e&&(e.pause(),e.removeAttribute("src"),e.load())}function R(e,a){let n=!1;const o=()=>{n||a!==l||(n=!0,i(),t.value=!1)};e.addEventListener("loadedmetadata",()=>o(),{once:!0}),e.addEventListener("loadeddata",()=>o(),{once:!0}),e.addEventListener("canplay",()=>o(),{once:!0}),e.addEventListener("playing",()=>o(),{once:!0}),e.addEventListener("progress",()=>{try{e.buffered.length>0&&e.buffered.end(0)>0&&o("progress-buffered")}catch{}},{passive:!0})}async function g(){if(!s.value)return;await S();const e=m.value,a=y.value;if(!e)return;if(!a){t.value=!1,i();return}const n=++l;if(t.value=!0,i(),h(),c.value=!1,L(a)){try{const o=await ee(()=>import("./.pnpm-9dA1PEvN.js").then(M=>M.dx),__vite__mapDeps([0,1])),T=o.default;if(T.isSupported()){d=new T({enableWorker:!0,lowLatencyMode:!1,maxBufferLength:20,maxMaxBufferLength:120}),d.on(o.Events.MANIFEST_PARSED,()=>{n===l&&(t.value=!1,i())}),d.on(o.Events.ERROR,(M,F)=>{if(F.fatal){if(n!==l)return;t.value=!1,i(),c.value=!0,h()}}),d.loadSource(a),d.attachMedia(e),u=setTimeout(()=>{u=null,n===l&&t.value&&(t.value=!1)},45e3);return}if(e.canPlayType("application/vnd.apple.mpegurl")){R(e,n),e.src=a,u=setTimeout(()=>{u=null,n===l&&t.value&&(t.value=!1)},45e3);return}}catch{if(n!==l)return;t.value=!1,i(),c.value=!0;return}if(n!==l)return;t.value=!1,i(),c.value=!0;return}R(e,n),e.src=a,u=setTimeout(()=>{u=null,n===l&&t.value&&(t.value=!1)},25e3)}function N(){const e=b.value;if(!e||typeof IntersectionObserver>"u"){s.value=!0,g();return}r=new IntersectionObserver(a=>{for(const n of a)if(n.isIntersecting){r==null||r.disconnect(),r=null,s.value=!0,g();break}},{root:null,rootMargin:"240px 0px",threshold:0}),r.observe(e)}function x(){r==null||r.disconnect(),r=null,s.value||(s.value=!0),g()}return z(()=>{S(()=>{N()})}),H(y,()=>{s.value&&g()}),G(()=>{r==null||r.disconnect(),r=null,i(),l++,h()}),(e,a)=>{const n=X,o=Z;return v(),p("div",{ref_key:"wrapRef",ref:b,class:"recording-playback"},[f("div",te,[O(f("video",{ref_key:"videoRef",ref:m,class:"recording-video",controls:"",playsinline:"","webkit-playsinline":"",preload:D.value,onError:C},null,40,re),[[W,!c.value]]),!c.value&&q.value?(v(),p("div",{key:0,class:"recording-playback__overlay",role:"button",tabindex:"0",onClick:x,onKeydown:$(j(x,["prevent"]),["enter"])},[s.value?(v(),p(w,{key:1},[k(n,{class:"recording-playback__spin"},{default:I(()=>[k(J(Q))]),_:1}),a[2]||(a[2]=f("span",null,"正在加载…",-1))],64)):(v(),p(w,{key:0},[a[0]||(a[0]=f("span",{class:"recording-playback__overlay-title"},"预览待加载",-1)),a[1]||(a[1]=f("span",{class:"recording-playback__overlay-desc"},"滚动至此处将自动加载(减轻并发卡顿),也可点击立即加载",-1))],64))],40,oe)):P("",!0)]),c.value?(v(),p(w,{key:0},[k(o,{href:y.value||"#",target:"_blank",type:"primary"},{default:I(()=>[...a[3]||(a[3]=[Y("在新窗口打开",-1)])]),_:1},8,["href"]),a[4]||(a[4]=f("div",{class:"recording-playback__hint"}," 内嵌播放失败(编码不支持、跨域或私有存储等)时可尝试在新窗口打开。 ",-1))],64)):P("",!0)],512)}}}),ie=ne(le,[["__scopeId","data-v-2b85f631"]]);export{ie as default}; +import{o as K,ap as z,n as S,R as H,aq as G,q as v,r as p,s as f,ac as O,ad as W,b8 as $,aw as j,F as w,v as k,D as I,u as J,b5 as Q,w as X,P,L as Y,bq as Z,M as _,p as E,al as ee}from"./.pnpm-9dA1PEvN.js";import{e as ae,_ as ne}from"./index-BWzN7QIb.js";const te={class:"recording-playback__shell"},re=["preload"],oe=["onKeydown"],le=K({__name:"RecordingVideoPlayer",props:{src:{}},setup(B){const V=B,A=ae(),b=_(null),m=_(null),c=_(!1),s=_(!1),t=_(!1);let d=null,r=null,l=0,u=null;function i(){u!==null&&(clearTimeout(u),u=null)}const y=E(()=>{const e=String(V.src||"").trim();return e?U(A.getImageUrl(e)):""}),D=E(()=>{if(!s.value)return"none";const e=y.value;return e&&!L(e)?"metadata":"none"}),q=E(()=>!s.value||t.value);function U(e){if(!e||!/^https?:\/\//i.test(e))return e;try{const a=new URL(e),n=a.hostname.toLowerCase();if(n.includes("myqcloud.com")||n.includes("vod-qcloud.com")||n.includes("vod-qcloud"))return a.pathname.includes("+")&&(a.pathname=a.pathname.replace(/\+/g,"%2B")),a.href}catch{}return e}function L(e){return/\.m3u8(\?|#|$)/i.test(e)}function C(){var n;t.value=!1,i();const e=m.value,a=(n=e==null?void 0:e.error)==null?void 0:n.code;a===MediaError.MEDIA_ERR_ABORTED||a===1||(c.value=!0)}function h(){d&&(d.destroy(),d=null);const e=m.value;e&&(e.pause(),e.removeAttribute("src"),e.load())}function R(e,a){let n=!1;const o=()=>{n||a!==l||(n=!0,i(),t.value=!1)};e.addEventListener("loadedmetadata",()=>o(),{once:!0}),e.addEventListener("loadeddata",()=>o(),{once:!0}),e.addEventListener("canplay",()=>o(),{once:!0}),e.addEventListener("playing",()=>o(),{once:!0}),e.addEventListener("progress",()=>{try{e.buffered.length>0&&e.buffered.end(0)>0&&o("progress-buffered")}catch{}},{passive:!0})}async function g(){if(!s.value)return;await S();const e=m.value,a=y.value;if(!e)return;if(!a){t.value=!1,i();return}const n=++l;if(t.value=!0,i(),h(),c.value=!1,L(a)){try{const o=await ee(()=>import("./.pnpm-9dA1PEvN.js").then(M=>M.dx),__vite__mapDeps([0,1])),T=o.default;if(T.isSupported()){d=new T({enableWorker:!0,lowLatencyMode:!1,maxBufferLength:20,maxMaxBufferLength:120}),d.on(o.Events.MANIFEST_PARSED,()=>{n===l&&(t.value=!1,i())}),d.on(o.Events.ERROR,(M,F)=>{if(F.fatal){if(n!==l)return;t.value=!1,i(),c.value=!0,h()}}),d.loadSource(a),d.attachMedia(e),u=setTimeout(()=>{u=null,n===l&&t.value&&(t.value=!1)},45e3);return}if(e.canPlayType("application/vnd.apple.mpegurl")){R(e,n),e.src=a,u=setTimeout(()=>{u=null,n===l&&t.value&&(t.value=!1)},45e3);return}}catch{if(n!==l)return;t.value=!1,i(),c.value=!0;return}if(n!==l)return;t.value=!1,i(),c.value=!0;return}R(e,n),e.src=a,u=setTimeout(()=>{u=null,n===l&&t.value&&(t.value=!1)},25e3)}function N(){const e=b.value;if(!e||typeof IntersectionObserver>"u"){s.value=!0,g();return}r=new IntersectionObserver(a=>{for(const n of a)if(n.isIntersecting){r==null||r.disconnect(),r=null,s.value=!0,g();break}},{root:null,rootMargin:"240px 0px",threshold:0}),r.observe(e)}function x(){r==null||r.disconnect(),r=null,s.value||(s.value=!0),g()}return z(()=>{S(()=>{N()})}),H(y,()=>{s.value&&g()}),G(()=>{r==null||r.disconnect(),r=null,i(),l++,h()}),(e,a)=>{const n=X,o=Z;return v(),p("div",{ref_key:"wrapRef",ref:b,class:"recording-playback"},[f("div",te,[O(f("video",{ref_key:"videoRef",ref:m,class:"recording-video",controls:"",playsinline:"","webkit-playsinline":"",preload:D.value,onError:C},null,40,re),[[W,!c.value]]),!c.value&&q.value?(v(),p("div",{key:0,class:"recording-playback__overlay",role:"button",tabindex:"0",onClick:x,onKeydown:$(j(x,["prevent"]),["enter"])},[s.value?(v(),p(w,{key:1},[k(n,{class:"recording-playback__spin"},{default:I(()=>[k(J(Q))]),_:1}),a[2]||(a[2]=f("span",null,"正在加载…",-1))],64)):(v(),p(w,{key:0},[a[0]||(a[0]=f("span",{class:"recording-playback__overlay-title"},"预览待加载",-1)),a[1]||(a[1]=f("span",{class:"recording-playback__overlay-desc"},"滚动至此处将自动加载(减轻并发卡顿),也可点击立即加载",-1))],64))],40,oe)):P("",!0)]),c.value?(v(),p(w,{key:0},[k(o,{href:y.value||"#",target:"_blank",type:"primary"},{default:I(()=>[...a[3]||(a[3]=[Y("在新窗口打开",-1)])]),_:1},8,["href"]),a[4]||(a[4]=f("div",{class:"recording-playback__hint"}," 内嵌播放失败(编码不支持、跨域或私有存储等)时可尝试在新窗口打开。 ",-1))],64)):P("",!0)],512)}}}),ie=ne(le,[["__scopeId","data-v-2b85f631"]]);export{ie as default}; diff --git a/server/public/admin/assets/SendPanel-xA24TJjN.js b/server/public/admin/assets/SendPanel-C5FnjnCC.js similarity index 99% rename from server/public/admin/assets/SendPanel-xA24TJjN.js rename to server/public/admin/assets/SendPanel-C5FnjnCC.js index 47331764..7e7ad634 100644 --- a/server/public/admin/assets/SendPanel-xA24TJjN.js +++ b/server/public/admin/assets/SendPanel-C5FnjnCC.js @@ -1 +1 @@ -import{o as te,q as c,r as w,F as I,G as ae,ae as ne,O as T,aa as ie,v as l,w as se,D as t,u as b,bH as j,s as x,T as F,bI as K,bJ as N,P as $,K as oe,av as ue,b7 as re,b8 as de,aw as me,a1 as pe,bE as fe,bF as ve,L as C,bt as ce,b9 as ge,b6 as _e,M as V,p as ye}from"./.pnpm-9dA1PEvN.js";import{r as y,i as _,_ as ke}from"./index-CJvXnF8Y.js";import{u as G}from"./file-BJDA0rIT.js";function $e(r){return y.get({url:"/qywx.message/session_list",params:r})}function Be(r){return y.get({url:"/qywx.message/archive_list",params:r})}function De(r){return y.post({url:"/qywx.message/mark_read",params:{session_id:r}})}function We(r){return y.post({url:"/qywx.message/send",params:r})}function Ae(r){return y.get({url:"/qywx.message/send_task_list",params:r})}function Oe(r,h=""){return y.get({url:"/qywx.message/send_task_detail",params:{task_id:r,cursor:h}})}function Pe(r=""){return y.get({url:"/qywx.message/staff_list",params:{keyword:r}})}function je(){return y.get({url:"/qywx.message/archive_status"})}function Ke(r=5,h=!1){return y.post({url:"/qywx.message/pull_archive",params:{max_batches:r,download:h}})}async function H(r,h){const M=new FormData;return M.append("file",r),M.append("type",h),y.post({url:"/qywx.message/upload_to_qywx",data:M,headers:{"Content-Type":"multipart/form-data"}})}const we={class:"send-panel"},be={key:0,class:"attachment-list"},xe=["src"],Ve={class:"attachment-filename"},he={class:"attachment-filename"},qe={class:"attachment-filename"},Ce={class:"send-toolbar"},Me={class:"toolbar-left"},Se={class:"toolbar-right"},Ue={class:"link-picurl-row"},Ee={key:0,class:"mini-preview"},Le=te({__name:"SendPanel",props:{canSendMessage:{type:Boolean}},emits:["send"],setup(r,{emit:h}){const M=r,J=h,S=V(""),d=V([]),L=V(!1),f=V(null),z=V("image"),U=V(!1),v=V({title:"",url:"",picurl:"",desc:""}),E=V(!1),m=V({title:"",appid:"",page:"",pic_media_id:"",preview:""}),B=ye(()=>{if(!M.canSendMessage||L.value)return!1;const o=S.value.trim().length>0,e=d.value.some(s=>!s.uploading);return o||e});function R(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 Q(){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 n=z.value;if(n==="link-cover"){try{const u=await G(s,s.name);v.value.picurl=u.uri||u.url,_.msgSuccess("封面上传成功")}catch(u){_.msgError((u==null?void 0:u.message)||"封面上传失败")}return}if(n==="mini-cover"){try{const u=await H(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 i=n==="file"?"":URL.createObjectURL(s),p={msgtype:n,uploading:!0,preview:i,file_name:s.name};d.value.push(p);const q=d.value.length-1;try{const k=(await H(s,n)).media_id;n==="image"?p.image={media_id:k}:n==="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(q,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:n}=v.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:n}}),U.value=!1,v.value={title:"",url:"",picurl:"",desc:""}}function le(){const{title:o,appid:e,page:s,pic_media_id:n}=m.value;if(!o.trim()||!e.trim()||!s.trim()||!n){_.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:n}}),E.value=!1,m.value={title:"",appid:"",page:"",pic_media_id:"",preview:""}}async function D(){if(!B.value)return;const o=d.value.filter(n=>!n.uploading).map(n=>{const i={msgtype:n.msgtype};return n.image&&(i.image=n.image),n.video&&(i.video=n.video),n.file&&(i.file=n.file),n.link&&(i.link=n.link),n.miniprogram&&(i.miniprogram=n.miniprogram),i}),e={},s=S.value.trim();s&&(e.text={content:s}),o.length&&(e.attachments=o),L.value=!0;try{await J("send",e),S.value="",d.value.forEach(n=>{var i;(i=n.preview)!=null&&i.startsWith("blob:")&&URL.revokeObjectURL(n.preview)}),d.value=[]}finally{L.value=!1}}return(o,e)=>{const s=ie,n=se,i=oe,p=re,q=pe,g=_e,u=ge,k=ce;return c(),w("div",we,[d.value.length?(c(),w("div",be,[(c(!0),w(I,null,ae(d.value,(a,W)=>{var A,O,P;return c(),w("div",{key:W,class:ne(["attachment-item","attachment-"+a.msgtype])},[a.msgtype==="image"?(c(),T(s,{key:0,src:a.preview||"",fit:"cover",class:"attachment-preview"},null,8,["src"])):a.msgtype==="video"?(c(),w("video",{key:1,src:a.preview||"",class:"attachment-preview",muted:""},null,8,xe)):a.msgtype==="file"?(c(),w(I,{key:2},[l(n,{size:20},{default:t(()=>[l(b(j))]),_:1}),x("span",Ve,F(a.file_name),1)],64)):a.msgtype==="link"?(c(),w(I,{key:3},[l(n,{size:20},{default:t(()=>[l(b(K))]),_:1}),x("span",he,F(((A=a.link)==null?void 0:A.title)||((O=a.link)==null?void 0:O.url)),1)],64)):a.msgtype==="miniprogram"?(c(),w(I,{key:4},[l(n,{size:20},{default:t(()=>[l(b(N))]),_:1}),x("span",qe,F((P=a.miniprogram)==null?void 0:P.title),1)],64)):$("",!0),a.uploading?(c(),T(i,{key:5,type:"primary",link:"",loading:"",size:"small"})):(c(),T(i,{key:6,class:"attachment-remove",type:"danger",link:"",onClick:Ie=>Z(W)},{default:t(()=>[l(n,null,{default:t(()=>[l(b(ue))]),_:1})]),_:1},8,["onClick"]))],2)}),128))])):$("",!0),l(p,{modelValue:S.value,"onUpdate:modelValue":e[0]||(e[0]=a=>S.value=a),type:"textarea",rows:3,placeholder:"在此输入消息,Ctrl+Enter 发送。该消息以代发员工身份发给客户,员工手机端确认后送达。",resize:"none",onKeydown:de(me(D,["ctrl"]),["enter"])},null,8,["modelValue","onKeydown"]),x("div",Ce,[x("div",Me,[l(q,{content:"图片",placement:"top"},{default:t(()=>[l(i,{link:"",onClick:e[1]||(e[1]=a=>R("image"))},{default:t(()=>[l(n,{size:18},{default:t(()=>[l(b(fe))]),_:1})]),_:1})]),_:1}),l(q,{content:"视频",placement:"top"},{default:t(()=>[l(i,{link:"",onClick:e[2]||(e[2]=a=>R("video"))},{default:t(()=>[l(n,{size:18},{default:t(()=>[l(b(ve))]),_:1})]),_:1})]),_:1}),l(q,{content:"文件",placement:"top"},{default:t(()=>[l(i,{link:"",onClick:e[3]||(e[3]=a=>R("file"))},{default:t(()=>[l(n,{size:18},{default:t(()=>[l(b(j))]),_:1})]),_:1})]),_:1}),l(q,{content:"链接",placement:"top"},{default:t(()=>[l(i,{link:"",onClick:e[4]||(e[4]=a=>U.value=!0)},{default:t(()=>[l(n,{size:18},{default:t(()=>[l(b(K))]),_:1})]),_:1})]),_:1}),l(q,{content:"小程序",placement:"top"},{default:t(()=>[l(i,{link:"",onClick:e[5]||(e[5]=a=>E.value=!0)},{default:t(()=>[l(n,{size:18},{default:t(()=>[l(b(N))]),_:1})]),_:1})]),_:1})]),x("div",Se,[e[18]||(e[18]=x("span",{class:"send-hint"}," 员工手机端确认后送达客户 · Ctrl+Enter 快速发送 ",-1)),l(i,{type:"primary",disabled:!B.value,loading:L.value,onClick:D},{default:t(()=>[...e[17]||(e[17]=[C(" 发送 ",-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(i,{onClick:e[10]||(e[10]=a=>U.value=!1)},{default:t(()=>[...e[20]||(e[20]=[C("取消",-1)])]),_:1}),l(i,{type:"primary",onClick:ee},{default:t(()=>[...e[21]||(e[21]=[C("确定",-1)])]),_:1})]),default:t(()=>[l(u,{"label-width":"80px",model:v.value},{default:t(()=>[l(g,{label:"标题"},{default:t(()=>[l(p,{modelValue:v.value.title,"onUpdate:modelValue":e[6]||(e[6]=a=>v.value.title=a),maxlength:"128"},null,8,["modelValue"])]),_:1}),l(g,{label:"链接地址"},{default:t(()=>[l(p,{modelValue:v.value.url,"onUpdate:modelValue":e[7]||(e[7]=a=>v.value.url=a),placeholder:"https://..."},null,8,["modelValue"])]),_:1}),l(g,{label:"封面图"},{default:t(()=>[x("div",Ue,[l(p,{modelValue:v.value.picurl,"onUpdate:modelValue":e[8]||(e[8]=a=>v.value.picurl=a),placeholder:"https://..."},null,8,["modelValue"]),l(i,{onClick:Q},{default:t(()=>[...e[19]||(e[19]=[C("本地上传",-1)])]),_:1})])]),_:1}),l(g,{label:"描述"},{default:t(()=>[l(p,{modelValue:v.value.desc,"onUpdate:modelValue":e[9]||(e[9]=a=>v.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(i,{onClick:e[15]||(e[15]=a=>E.value=!1)},{default:t(()=>[...e[22]||(e[22]=[C("取消",-1)])]),_:1}),l(i,{type:"primary",disabled:!m.value.pic_media_id||!m.value.appid,onClick:le},{default:t(()=>[...e[23]||(e[23]=[C(" 确定 ",-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(i,{onClick:X},{default:t(()=>[C(F(m.value.pic_media_id?"已选择 · 重新选择":"上传封面(必填)"),1)]),_:1}),m.value.preview?(c(),w("div",Ee,[l(s,{src:m.value.preview,fit:"cover"},null,8,["src"])])):$("",!0)]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}}),ze=ke(Le,[["__scopeId","data-v-5fcb6856"]]),Ne=Object.freeze(Object.defineProperty({__proto__:null,default:ze},Symbol.toStringTag,{value:"Module"}));export{ze as S,je as a,Ke as b,Pe as c,De as d,Be as e,We as f,Ae as g,Oe as h,Ne as i,$e as q}; +import{o as te,q as c,r as w,F as I,G as ae,ae as ne,O as T,aa as ie,v as l,w as se,D as t,u as b,bH as j,s as x,T as F,bI as K,bJ as N,P as $,K as oe,av as ue,b7 as re,b8 as de,aw as me,a1 as pe,bE as fe,bF as ve,L as C,bt as ce,b9 as ge,b6 as _e,M as V,p as ye}from"./.pnpm-9dA1PEvN.js";import{r as y,i as _,_ as ke}from"./index-BWzN7QIb.js";import{u as G}from"./file-BL6iPgPC.js";function $e(r){return y.get({url:"/qywx.message/session_list",params:r})}function Be(r){return y.get({url:"/qywx.message/archive_list",params:r})}function De(r){return y.post({url:"/qywx.message/mark_read",params:{session_id:r}})}function We(r){return y.post({url:"/qywx.message/send",params:r})}function Ae(r){return y.get({url:"/qywx.message/send_task_list",params:r})}function Oe(r,h=""){return y.get({url:"/qywx.message/send_task_detail",params:{task_id:r,cursor:h}})}function Pe(r=""){return y.get({url:"/qywx.message/staff_list",params:{keyword:r}})}function je(){return y.get({url:"/qywx.message/archive_status"})}function Ke(r=5,h=!1){return y.post({url:"/qywx.message/pull_archive",params:{max_batches:r,download:h}})}async function H(r,h){const M=new FormData;return M.append("file",r),M.append("type",h),y.post({url:"/qywx.message/upload_to_qywx",data:M,headers:{"Content-Type":"multipart/form-data"}})}const we={class:"send-panel"},be={key:0,class:"attachment-list"},xe=["src"],Ve={class:"attachment-filename"},he={class:"attachment-filename"},qe={class:"attachment-filename"},Ce={class:"send-toolbar"},Me={class:"toolbar-left"},Se={class:"toolbar-right"},Ue={class:"link-picurl-row"},Ee={key:0,class:"mini-preview"},Le=te({__name:"SendPanel",props:{canSendMessage:{type:Boolean}},emits:["send"],setup(r,{emit:h}){const M=r,J=h,S=V(""),d=V([]),L=V(!1),f=V(null),z=V("image"),U=V(!1),v=V({title:"",url:"",picurl:"",desc:""}),E=V(!1),m=V({title:"",appid:"",page:"",pic_media_id:"",preview:""}),B=ye(()=>{if(!M.canSendMessage||L.value)return!1;const o=S.value.trim().length>0,e=d.value.some(s=>!s.uploading);return o||e});function R(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 Q(){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 n=z.value;if(n==="link-cover"){try{const u=await G(s,s.name);v.value.picurl=u.uri||u.url,_.msgSuccess("封面上传成功")}catch(u){_.msgError((u==null?void 0:u.message)||"封面上传失败")}return}if(n==="mini-cover"){try{const u=await H(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 i=n==="file"?"":URL.createObjectURL(s),p={msgtype:n,uploading:!0,preview:i,file_name:s.name};d.value.push(p);const q=d.value.length-1;try{const k=(await H(s,n)).media_id;n==="image"?p.image={media_id:k}:n==="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(q,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:n}=v.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:n}}),U.value=!1,v.value={title:"",url:"",picurl:"",desc:""}}function le(){const{title:o,appid:e,page:s,pic_media_id:n}=m.value;if(!o.trim()||!e.trim()||!s.trim()||!n){_.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:n}}),E.value=!1,m.value={title:"",appid:"",page:"",pic_media_id:"",preview:""}}async function D(){if(!B.value)return;const o=d.value.filter(n=>!n.uploading).map(n=>{const i={msgtype:n.msgtype};return n.image&&(i.image=n.image),n.video&&(i.video=n.video),n.file&&(i.file=n.file),n.link&&(i.link=n.link),n.miniprogram&&(i.miniprogram=n.miniprogram),i}),e={},s=S.value.trim();s&&(e.text={content:s}),o.length&&(e.attachments=o),L.value=!0;try{await J("send",e),S.value="",d.value.forEach(n=>{var i;(i=n.preview)!=null&&i.startsWith("blob:")&&URL.revokeObjectURL(n.preview)}),d.value=[]}finally{L.value=!1}}return(o,e)=>{const s=ie,n=se,i=oe,p=re,q=pe,g=_e,u=ge,k=ce;return c(),w("div",we,[d.value.length?(c(),w("div",be,[(c(!0),w(I,null,ae(d.value,(a,W)=>{var A,O,P;return c(),w("div",{key:W,class:ne(["attachment-item","attachment-"+a.msgtype])},[a.msgtype==="image"?(c(),T(s,{key:0,src:a.preview||"",fit:"cover",class:"attachment-preview"},null,8,["src"])):a.msgtype==="video"?(c(),w("video",{key:1,src:a.preview||"",class:"attachment-preview",muted:""},null,8,xe)):a.msgtype==="file"?(c(),w(I,{key:2},[l(n,{size:20},{default:t(()=>[l(b(j))]),_:1}),x("span",Ve,F(a.file_name),1)],64)):a.msgtype==="link"?(c(),w(I,{key:3},[l(n,{size:20},{default:t(()=>[l(b(K))]),_:1}),x("span",he,F(((A=a.link)==null?void 0:A.title)||((O=a.link)==null?void 0:O.url)),1)],64)):a.msgtype==="miniprogram"?(c(),w(I,{key:4},[l(n,{size:20},{default:t(()=>[l(b(N))]),_:1}),x("span",qe,F((P=a.miniprogram)==null?void 0:P.title),1)],64)):$("",!0),a.uploading?(c(),T(i,{key:5,type:"primary",link:"",loading:"",size:"small"})):(c(),T(i,{key:6,class:"attachment-remove",type:"danger",link:"",onClick:Ie=>Z(W)},{default:t(()=>[l(n,null,{default:t(()=>[l(b(ue))]),_:1})]),_:1},8,["onClick"]))],2)}),128))])):$("",!0),l(p,{modelValue:S.value,"onUpdate:modelValue":e[0]||(e[0]=a=>S.value=a),type:"textarea",rows:3,placeholder:"在此输入消息,Ctrl+Enter 发送。该消息以代发员工身份发给客户,员工手机端确认后送达。",resize:"none",onKeydown:de(me(D,["ctrl"]),["enter"])},null,8,["modelValue","onKeydown"]),x("div",Ce,[x("div",Me,[l(q,{content:"图片",placement:"top"},{default:t(()=>[l(i,{link:"",onClick:e[1]||(e[1]=a=>R("image"))},{default:t(()=>[l(n,{size:18},{default:t(()=>[l(b(fe))]),_:1})]),_:1})]),_:1}),l(q,{content:"视频",placement:"top"},{default:t(()=>[l(i,{link:"",onClick:e[2]||(e[2]=a=>R("video"))},{default:t(()=>[l(n,{size:18},{default:t(()=>[l(b(ve))]),_:1})]),_:1})]),_:1}),l(q,{content:"文件",placement:"top"},{default:t(()=>[l(i,{link:"",onClick:e[3]||(e[3]=a=>R("file"))},{default:t(()=>[l(n,{size:18},{default:t(()=>[l(b(j))]),_:1})]),_:1})]),_:1}),l(q,{content:"链接",placement:"top"},{default:t(()=>[l(i,{link:"",onClick:e[4]||(e[4]=a=>U.value=!0)},{default:t(()=>[l(n,{size:18},{default:t(()=>[l(b(K))]),_:1})]),_:1})]),_:1}),l(q,{content:"小程序",placement:"top"},{default:t(()=>[l(i,{link:"",onClick:e[5]||(e[5]=a=>E.value=!0)},{default:t(()=>[l(n,{size:18},{default:t(()=>[l(b(N))]),_:1})]),_:1})]),_:1})]),x("div",Se,[e[18]||(e[18]=x("span",{class:"send-hint"}," 员工手机端确认后送达客户 · Ctrl+Enter 快速发送 ",-1)),l(i,{type:"primary",disabled:!B.value,loading:L.value,onClick:D},{default:t(()=>[...e[17]||(e[17]=[C(" 发送 ",-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(i,{onClick:e[10]||(e[10]=a=>U.value=!1)},{default:t(()=>[...e[20]||(e[20]=[C("取消",-1)])]),_:1}),l(i,{type:"primary",onClick:ee},{default:t(()=>[...e[21]||(e[21]=[C("确定",-1)])]),_:1})]),default:t(()=>[l(u,{"label-width":"80px",model:v.value},{default:t(()=>[l(g,{label:"标题"},{default:t(()=>[l(p,{modelValue:v.value.title,"onUpdate:modelValue":e[6]||(e[6]=a=>v.value.title=a),maxlength:"128"},null,8,["modelValue"])]),_:1}),l(g,{label:"链接地址"},{default:t(()=>[l(p,{modelValue:v.value.url,"onUpdate:modelValue":e[7]||(e[7]=a=>v.value.url=a),placeholder:"https://..."},null,8,["modelValue"])]),_:1}),l(g,{label:"封面图"},{default:t(()=>[x("div",Ue,[l(p,{modelValue:v.value.picurl,"onUpdate:modelValue":e[8]||(e[8]=a=>v.value.picurl=a),placeholder:"https://..."},null,8,["modelValue"]),l(i,{onClick:Q},{default:t(()=>[...e[19]||(e[19]=[C("本地上传",-1)])]),_:1})])]),_:1}),l(g,{label:"描述"},{default:t(()=>[l(p,{modelValue:v.value.desc,"onUpdate:modelValue":e[9]||(e[9]=a=>v.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(i,{onClick:e[15]||(e[15]=a=>E.value=!1)},{default:t(()=>[...e[22]||(e[22]=[C("取消",-1)])]),_:1}),l(i,{type:"primary",disabled:!m.value.pic_media_id||!m.value.appid,onClick:le},{default:t(()=>[...e[23]||(e[23]=[C(" 确定 ",-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(i,{onClick:X},{default:t(()=>[C(F(m.value.pic_media_id?"已选择 · 重新选择":"上传封面(必填)"),1)]),_:1}),m.value.preview?(c(),w("div",Ee,[l(s,{src:m.value.preview,fit:"cover"},null,8,["src"])])):$("",!0)]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}}),ze=ke(Le,[["__scopeId","data-v-5fcb6856"]]),Ne=Object.freeze(Object.defineProperty({__proto__:null,default:ze},Symbol.toStringTag,{value:"Module"}));export{ze as S,je as a,Ke as b,Pe as c,De as d,Be as e,We as f,Ae as g,Oe as h,Ne as i,$e as q}; diff --git a/server/public/admin/assets/TrackingMatrix-BYMd1nee.js b/server/public/admin/assets/TrackingMatrix-BLX7Ezuc.js similarity index 99% rename from server/public/admin/assets/TrackingMatrix-BYMd1nee.js rename to server/public/admin/assets/TrackingMatrix-BLX7Ezuc.js index c46b08ca..fd45a86c 100644 --- a/server/public/admin/assets/TrackingMatrix-BYMd1nee.js +++ b/server/public/admin/assets/TrackingMatrix-BLX7Ezuc.js @@ -1 +1 @@ -import{o as O,R as U,ap as j,ac as G,bi as W,q as n,r as i,s as r,v as p,D as d,bb as J,L as f,bc as K,O as M,bp as Q,P as m,bB as X,bk as Z,ae as R,T as c,a1 as ee,bj as te,M as y,p as B}from"./.pnpm-9dA1PEvN.js";import{f as se,c as ae,d as ne,e as le,b as ie}from"./blood-thresholds-CJ1fqMjh.js";import{S as oe}from"./tcm-DOD9_1Um.js";import{_ as re}from"./index-CJvXnF8Y.js";const de={class:"tracking-matrix"},ce={class:"toolbar"},ue={key:0,class:"cell-blood"},pe={class:"value"},_e={key:0,class:"cell-up"},ge={class:"value"},fe={key:0,class:"cell-up"},me={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"},be={key:0},xe={key:1,class:"cell-empty"},De={key:0},He={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"},Re={key:0,class:"meta"},Ve={key:1,class:"meta"},Ee={key:1,class:"cell-empty"},Ie=O({__name:"TrackingMatrix",props:{diagnosisId:{},age:{default:null}},setup(Y,{expose:q}){const g=Y,h=y("30"),k=y(null),T=y(!1),b=y([]),x=y([]),D=y([]);let C=0;const E=s=>`${s.getFullYear()}-${String(s.getMonth()+1).padStart(2,"0")}-${String(s.getDate()).padStart(2,"0")}`,I=s=>{if(s==="custom"){const[_,o]=k.value||["",""];return{start:_||"",end:o||""}}const e=s==="7"?7:30,t=new Date;t.setHours(0,0,0,0);const l=new Date(t);return l.setDate(l.getDate()-(e-1)),{start:E(l),end:E(t)}},N=s=>s.getTime()>Date.now(),H=async()=>{if(!g.diagnosisId||g.diagnosisId<=0){b.value=[],x.value=[],D.value=[];return}const s=I(h.value);if(h.value==="custom"&&(!s.start||!s.end))return;const e=++C;T.value=!0;try{const t=await oe({id:g.diagnosisId,start_date:s.start,end_date:s.end});if(e!==C)return;b.value=(t==null?void 0:t.blood_records)||[],x.value=(t==null?void 0:t.diet_records)||[],D.value=(t==null?void 0:t.exercise_records)||[]}catch{e===C&&(b.value=[],x.value=[],D.value=[])}finally{e===C&&(T.value=!1)}},P=()=>{if(h.value==="custom"&&!k.value){const s=I("30");k.value=[s.start,s.end]}H()},$=()=>{h.value==="custom"&&H()};U(()=>g.diagnosisId,s=>{s&&s>0&&H()}),j(()=>{g.diagnosisId&&g.diagnosisId>0&&H()});const w=B(()=>{const s=new Map;for(const e of b.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 l=s.get(t),_=["fasting_blood_sugar","postprandial_blood_sugar","other_blood_sugar","systolic_pressure","diastolic_pressure","western_medicine","insulin"];for(const o of _)(l[o]===void 0||l[o]===null||l[o]==="")&&e[o]!==void 0&&e[o]!==null&&e[o]!==""&&(l[o]=e[o])}return s}),z=B(()=>{const s=new Map;for(const e of x.value){const t=String(e.record_date||"");t&&(s.has(t)||s.set(t,e))}return s}),A=B(()=>{const s=new Map;for(const e of D.value){const t=String(e.record_date||"");t&&(s.has(t)||s.set(t,e))}return s}),L=B(()=>{const s=new Set;for(const t of b.value)t.record_date&&s.add(String(t.record_date));for(const t of x.value)t.record_date&&s.add(String(t.record_date));for(const t of D.value)t.record_date&&s.add(String(t.record_date));const e=Array.from(s).filter(t=>t.length===10);return e.sort((t,l)=>tl?-1:0),e}),F=B(()=>L.value.map(s=>{const e=w.value.get(s),t=z.value.get(s),l=A.value.get(s),_=(e==null?void 0:e.fasting_blood_sugar)??null,o=(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,V=_!==null&&_!==""||o!==null&&o!==""||u!==null&&u!=="",a=v||S?se({systolic_pressure:v,diastolic_pressure:S}):"";return{date:s,dateLabel:`${s}`,bloodAny:V,fasting:_??"—",postprandial:o??"—",other:u??"—",fastingHigh:ie(_,g.age),postprandialHigh:le(o,g.age),otherHigh:ne(u,g.age),bp:a,bpHigh:ae({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:l?{duration:l.duration||0,intensityText:l.intensity_text||"",remark:l.remark||""}:null}}));return q({refresh:H}),(s,e)=>{const t=J,l=K,_=Q,o=X,u=Z,v=ee,S=te,V=W;return G((n(),i("div",de,[r("div",ce,[p(l,{modelValue:h.value,"onUpdate:modelValue":e[0]||(e[0]=a=>h.value=a),onChange:P},{default:d(()=>[p(t,{value:"7"},{default:d(()=>[...e[2]||(e[2]=[f("最近 7 天",-1)])]),_:1}),p(t,{value:"30"},{default:d(()=>[...e[3]||(e[3]=[f("最近 30 天",-1)])]),_:1}),p(t,{value:"custom"},{default:d(()=>[...e[4]||(e[4]=[f("自定义",-1)])]),_:1})]),_:1},8,["modelValue"]),h.value==="custom"?(n(),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":N,onChange:$},null,8,["modelValue"])):m("",!0),e[5]||(e[5]=r("span",{class:"hint"}," 超阈值红字↑(年龄分段:<50:空7/餐9,≥50:空8/餐10) ",-1))]),!T.value&&L.value.length===0?(n(),M(o,{key:0,description:"所选区间内无任何打卡记录","image-size":80})):(n(),M(S,{key:1,data:F.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:R({"cell-high":a.fastingHigh})},[e[6]||(e[6]=f(" 空 ",-1)),r("span",pe,c(a.fasting??"—"),1),a.fastingHigh?(n(),i("span",_e,"↑")):m("",!0)],2),r("span",{class:R({"cell-high":a.postprandialHigh})},[e[7]||(e[7]=f(" 餐 ",-1)),r("span",ge,c(a.postprandial??"—"),1),a.postprandialHigh?(n(),i("span",fe,"↑")):m("",!0)],2),r("span",{class:R({"cell-high":a.otherHigh})},[e[8]||(e[8]=f(" 其他 ",-1)),r("span",me,c(a.other??"—"),1),a.otherHigh?(n(),i("span",he,"↑")):m("",!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:R({"cell-high":a.bpHigh})},[f(c(a.bp)+" ",1),a.bpHigh?(n(),i("span",ye,"↑")):m("",!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",be,c(a.westernMedicine),1)):(n(),i("span",xe,"—"))]),_:1}),p(u,{label:"胰岛素","min-width":"120","show-overflow-tooltip":""},{default:d(({row:a})=>[a.insulin?(n(),i("span",De,c(a.insulin),1)):(n(),i("span",He,"—"))]),_: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)):m("",!0)])]),default:d(()=>[r("span",Ce,[e[10]||(e[10]=f(" 已打卡 ",-1)),a.exercise.duration?(n(),i("span",Re,"· "+c(a.exercise.duration)+"min",1)):m("",!0),a.exercise.intensityText?(n(),i("span",Ve,"· "+c(a.exercise.intensityText),1)):m("",!0)])]),_:2},1024)):(n(),i("span",Ee,"—"))]),_:1})]),_:1},8,["data"]))])),[[V,T.value]])}}}),Pe=re(Ie,[["__scopeId","data-v-4eea47f3"]]);export{Pe as default}; +import{o as O,R as U,ap as j,ac as G,bi as W,q as n,r as i,s as r,v as p,D as d,bb as J,L as f,bc as K,O as M,bp as Q,P as m,bB as X,bk as Z,ae as R,T as c,a1 as ee,bj as te,M as y,p as B}from"./.pnpm-9dA1PEvN.js";import{f as se,c as ae,d as ne,e as le,b as ie}from"./blood-thresholds-CJ1fqMjh.js";import{S as oe}from"./tcm-Fi_swgCr.js";import{_ as re}from"./index-BWzN7QIb.js";const de={class:"tracking-matrix"},ce={class:"toolbar"},ue={key:0,class:"cell-blood"},pe={class:"value"},_e={key:0,class:"cell-up"},ge={class:"value"},fe={key:0,class:"cell-up"},me={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"},be={key:0},xe={key:1,class:"cell-empty"},De={key:0},He={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"},Re={key:0,class:"meta"},Ve={key:1,class:"meta"},Ee={key:1,class:"cell-empty"},Ie=O({__name:"TrackingMatrix",props:{diagnosisId:{},age:{default:null}},setup(Y,{expose:q}){const g=Y,h=y("30"),k=y(null),T=y(!1),b=y([]),x=y([]),D=y([]);let C=0;const E=s=>`${s.getFullYear()}-${String(s.getMonth()+1).padStart(2,"0")}-${String(s.getDate()).padStart(2,"0")}`,I=s=>{if(s==="custom"){const[_,o]=k.value||["",""];return{start:_||"",end:o||""}}const e=s==="7"?7:30,t=new Date;t.setHours(0,0,0,0);const l=new Date(t);return l.setDate(l.getDate()-(e-1)),{start:E(l),end:E(t)}},N=s=>s.getTime()>Date.now(),H=async()=>{if(!g.diagnosisId||g.diagnosisId<=0){b.value=[],x.value=[],D.value=[];return}const s=I(h.value);if(h.value==="custom"&&(!s.start||!s.end))return;const e=++C;T.value=!0;try{const t=await oe({id:g.diagnosisId,start_date:s.start,end_date:s.end});if(e!==C)return;b.value=(t==null?void 0:t.blood_records)||[],x.value=(t==null?void 0:t.diet_records)||[],D.value=(t==null?void 0:t.exercise_records)||[]}catch{e===C&&(b.value=[],x.value=[],D.value=[])}finally{e===C&&(T.value=!1)}},P=()=>{if(h.value==="custom"&&!k.value){const s=I("30");k.value=[s.start,s.end]}H()},$=()=>{h.value==="custom"&&H()};U(()=>g.diagnosisId,s=>{s&&s>0&&H()}),j(()=>{g.diagnosisId&&g.diagnosisId>0&&H()});const w=B(()=>{const s=new Map;for(const e of b.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 l=s.get(t),_=["fasting_blood_sugar","postprandial_blood_sugar","other_blood_sugar","systolic_pressure","diastolic_pressure","western_medicine","insulin"];for(const o of _)(l[o]===void 0||l[o]===null||l[o]==="")&&e[o]!==void 0&&e[o]!==null&&e[o]!==""&&(l[o]=e[o])}return s}),z=B(()=>{const s=new Map;for(const e of x.value){const t=String(e.record_date||"");t&&(s.has(t)||s.set(t,e))}return s}),A=B(()=>{const s=new Map;for(const e of D.value){const t=String(e.record_date||"");t&&(s.has(t)||s.set(t,e))}return s}),L=B(()=>{const s=new Set;for(const t of b.value)t.record_date&&s.add(String(t.record_date));for(const t of x.value)t.record_date&&s.add(String(t.record_date));for(const t of D.value)t.record_date&&s.add(String(t.record_date));const e=Array.from(s).filter(t=>t.length===10);return e.sort((t,l)=>tl?-1:0),e}),F=B(()=>L.value.map(s=>{const e=w.value.get(s),t=z.value.get(s),l=A.value.get(s),_=(e==null?void 0:e.fasting_blood_sugar)??null,o=(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,V=_!==null&&_!==""||o!==null&&o!==""||u!==null&&u!=="",a=v||S?se({systolic_pressure:v,diastolic_pressure:S}):"";return{date:s,dateLabel:`${s}`,bloodAny:V,fasting:_??"—",postprandial:o??"—",other:u??"—",fastingHigh:ie(_,g.age),postprandialHigh:le(o,g.age),otherHigh:ne(u,g.age),bp:a,bpHigh:ae({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:l?{duration:l.duration||0,intensityText:l.intensity_text||"",remark:l.remark||""}:null}}));return q({refresh:H}),(s,e)=>{const t=J,l=K,_=Q,o=X,u=Z,v=ee,S=te,V=W;return G((n(),i("div",de,[r("div",ce,[p(l,{modelValue:h.value,"onUpdate:modelValue":e[0]||(e[0]=a=>h.value=a),onChange:P},{default:d(()=>[p(t,{value:"7"},{default:d(()=>[...e[2]||(e[2]=[f("最近 7 天",-1)])]),_:1}),p(t,{value:"30"},{default:d(()=>[...e[3]||(e[3]=[f("最近 30 天",-1)])]),_:1}),p(t,{value:"custom"},{default:d(()=>[...e[4]||(e[4]=[f("自定义",-1)])]),_:1})]),_:1},8,["modelValue"]),h.value==="custom"?(n(),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":N,onChange:$},null,8,["modelValue"])):m("",!0),e[5]||(e[5]=r("span",{class:"hint"}," 超阈值红字↑(年龄分段:<50:空7/餐9,≥50:空8/餐10) ",-1))]),!T.value&&L.value.length===0?(n(),M(o,{key:0,description:"所选区间内无任何打卡记录","image-size":80})):(n(),M(S,{key:1,data:F.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:R({"cell-high":a.fastingHigh})},[e[6]||(e[6]=f(" 空 ",-1)),r("span",pe,c(a.fasting??"—"),1),a.fastingHigh?(n(),i("span",_e,"↑")):m("",!0)],2),r("span",{class:R({"cell-high":a.postprandialHigh})},[e[7]||(e[7]=f(" 餐 ",-1)),r("span",ge,c(a.postprandial??"—"),1),a.postprandialHigh?(n(),i("span",fe,"↑")):m("",!0)],2),r("span",{class:R({"cell-high":a.otherHigh})},[e[8]||(e[8]=f(" 其他 ",-1)),r("span",me,c(a.other??"—"),1),a.otherHigh?(n(),i("span",he,"↑")):m("",!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:R({"cell-high":a.bpHigh})},[f(c(a.bp)+" ",1),a.bpHigh?(n(),i("span",ye,"↑")):m("",!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",be,c(a.westernMedicine),1)):(n(),i("span",xe,"—"))]),_:1}),p(u,{label:"胰岛素","min-width":"120","show-overflow-tooltip":""},{default:d(({row:a})=>[a.insulin?(n(),i("span",De,c(a.insulin),1)):(n(),i("span",He,"—"))]),_: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)):m("",!0)])]),default:d(()=>[r("span",Ce,[e[10]||(e[10]=f(" 已打卡 ",-1)),a.exercise.duration?(n(),i("span",Re,"· "+c(a.exercise.duration)+"min",1)):m("",!0),a.exercise.intensityText?(n(),i("span",Ve,"· "+c(a.exercise.intensityText),1)):m("",!0)])]),_:2},1024)):(n(),i("span",Ee,"—"))]),_:1})]),_:1},8,["data"]))])),[[V,T.value]])}}}),Pe=re(Ie,[["__scopeId","data-v-4eea47f3"]]);export{Pe as default}; diff --git a/server/public/admin/assets/TrackingNoteTimeline-BcBJXenJ.js b/server/public/admin/assets/TrackingNoteTimeline-DwagN7gG.js similarity index 93% rename from server/public/admin/assets/TrackingNoteTimeline-BcBJXenJ.js rename to server/public/admin/assets/TrackingNoteTimeline-DwagN7gG.js index 86d2e148..7a314546 100644 --- a/server/public/admin/assets/TrackingNoteTimeline-BcBJXenJ.js +++ b/server/public/admin/assets/TrackingNoteTimeline-DwagN7gG.js @@ -1,2 +1,2 @@ -import{o as T,q as e,r as t,v as m,b7 as V,s as d,D as w,L as I,K as E,P as r,F as u,G as v,T as g,O as C,bB as z,M as p}from"./.pnpm-9dA1PEvN.js";import{_ as L}from"./tcm-DOD9_1Um.js";import{i as M,_ as S}from"./index-CJvXnF8Y.js";/* empty css */const D={class:"tracking-timeline-wrap"},F={key:0,class:"timeline-input"},H={class:"input-actions"},q={key:1,class:"tracking-timeline"},A={class:"timeline-date"},G={class:"timeline-body"},K={key:0,class:"timeline-content"},O=T({__name:"TrackingNoteTimeline",props:{notes:{},diagnosisId:{},readonly:{type:Boolean}},emits:["refresh"],setup(n,{emit:_}){const c=n,f=_,o=p(""),l=p(!1),y=s=>s?s.split(` +import{o as T,q as e,r as t,v as m,b7 as V,s as d,D as w,L as I,K as E,P as r,F as u,G as v,T as g,O as C,bB as z,M as p}from"./.pnpm-9dA1PEvN.js";import{_ as L}from"./tcm-Fi_swgCr.js";import{i as M,_ as S}from"./index-BWzN7QIb.js";/* empty css */const D={class:"tracking-timeline-wrap"},F={key:0,class:"timeline-input"},H={class:"input-actions"},q={key:1,class:"tracking-timeline"},A={class:"timeline-date"},G={class:"timeline-body"},K={key:0,class:"timeline-content"},O=T({__name:"TrackingNoteTimeline",props:{notes:{},diagnosisId:{},readonly:{type:Boolean}},emits:["refresh"],setup(n,{emit:_}){const c=n,f=_,o=p(""),l=p(!1),y=s=>s?s.split(` `).filter(Boolean):[],k=async()=>{if(!c.diagnosisId)return;const s=o.value.trim();if(s){l.value=!0;try{await L({diagnosis_id:c.diagnosisId,tracking_content:s}),M.msgSuccess("已添加"),o.value="",f("refresh")}finally{l.value=!1}}};return(s,i)=>{const h=V,b=E,B=z;return e(),t("div",D,[!n.readonly&&n.diagnosisId?(e(),t("div",F,[m(h,{modelValue:o.value,"onUpdate:modelValue":i[0]||(i[0]=a=>o.value=a),type:"textarea",rows:2,placeholder:"输入跟踪备注,回车换行;保存后将以「[HH:MM] 内容」追加到当天记录",maxlength:"1000","show-word-limit":"",resize:"none",disabled:l.value},null,8,["modelValue","disabled"]),d("div",H,[m(b,{type:"primary",size:"small",loading:l.value,disabled:!o.value.trim(),onClick:k},{default:w(()=>[...i[1]||(i[1]=[I(" 添加 ",-1)])]),_:1},8,["loading","disabled"])])])):r("",!0),n.notes.length?(e(),t("div",q,[(e(!0),t(u,null,v(n.notes,a=>(e(),t("div",{key:a.id,class:"timeline-node"},[i[2]||(i[2]=d("div",{class:"timeline-dot"},null,-1)),d("div",A,g(a.note_date),1),d("div",G,[a.content?(e(),t("div",K,[(e(!0),t(u,null,v(y(a.content),(x,N)=>(e(),t("div",{key:N,class:"content-line"},g(x),1))),128))])):r("",!0)])]))),128))])):r("",!0),!n.notes.length&&n.readonly?(e(),C(B,{key:2,description:"暂无跟踪备注","image-size":48})):r("",!0)])}}}),Q=S(O,[["__scopeId","data-v-bee1e9dd"]]);export{Q as default}; diff --git a/server/public/admin/assets/account-adjust-CRl0i9yJ.js b/server/public/admin/assets/account-adjust-CRl0i9yJ.js new file mode 100644 index 00000000..ca817b91 --- /dev/null +++ b/server/public/admin/assets/account-adjust-CRl0i9yJ.js @@ -0,0 +1 @@ +import{_ as o}from"./account-adjust.vue_vue_type_script_setup_true_lang-C6pxUe8h.js";import"./.pnpm-9dA1PEvN.js";import"./index-dYaCh-CN.js";import"./index-BWzN7QIb.js";export{o as default}; diff --git a/server/public/admin/assets/account-adjust-f9mloC9u.js b/server/public/admin/assets/account-adjust-f9mloC9u.js deleted file mode 100644 index 07d3427a..00000000 --- a/server/public/admin/assets/account-adjust-f9mloC9u.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./account-adjust.vue_vue_type_script_setup_true_lang-89uQhCqa.js";import"./.pnpm-9dA1PEvN.js";import"./index-BBemoNXE.js";import"./index-CJvXnF8Y.js";export{o as default}; diff --git a/server/public/admin/assets/account-adjust.vue_vue_type_script_setup_true_lang-89uQhCqa.js b/server/public/admin/assets/account-adjust.vue_vue_type_script_setup_true_lang-C6pxUe8h.js similarity index 94% rename from server/public/admin/assets/account-adjust.vue_vue_type_script_setup_true_lang-89uQhCqa.js rename to server/public/admin/assets/account-adjust.vue_vue_type_script_setup_true_lang-C6pxUe8h.js index 71417252..d5179650 100644 --- a/server/public/admin/assets/account-adjust.vue_vue_type_script_setup_true_lang-89uQhCqa.js +++ b/server/public/admin/assets/account-adjust.vue_vue_type_script_setup_true_lang-C6pxUe8h.js @@ -1 +1 @@ -import{o as h,R as v,q,O as B,D as l,s as D,v as t,b9 as F,u as n,b6 as I,L as u,T as w,bc as j,bf as S,b7 as T,a8 as y,ba as U,p as G}from"./.pnpm-9dA1PEvN.js";import{_ as L}from"./index-BBemoNXE.js";import{i as V}from"./index-CJvXnF8Y.js";const M={class:"pr-8"},H=h({__name:"account-adjust",props:{show:{type:Boolean,required:!0},value:{type:[Number,String],required:!0}},emits:["update:show","confirm"],setup(d,{emit:k}){const s=y(),i=d,f=k,o=U({action:1,num:"",remark:""}),m=y(),c=G(()=>Number(i.value)+Number(o.num)*(o.action==1?1:-1)),R={num:[{required:!0,message:"请输入调整的金额"}]},g=e=>{if(e.includes("-"))return V.msgError("请输入正整数");o.num=e},x=async()=>{var e;await((e=s.value)==null?void 0:e.validate()),f("confirm",o)},E=()=>{var e;f("update:show",!1),(e=s.value)==null||e.resetFields()};return v(()=>i.show,e=>{var a,r;e?(a=m.value)==null||a.open():(r=m.value)==null||r.close()}),v(c,e=>{e<0&&(V.msgError("调整后余额需大于0"),o.num="")}),(e,a)=>{const r=I,_=S,C=j,b=T,N=F;return q(),B(L,{ref_key:"popupRef",ref:m,title:"余额调整",width:"500px",onConfirm:x,async:!0,onClose:E},{default:l(()=>[D("div",M,[t(N,{ref_key:"formRef",ref:s,model:n(o),"label-width":"120px",rules:R},{default:l(()=>[t(r,{label:"当前余额"},{default:l(()=>[u("¥ "+w(d.value),1)]),_:1}),t(r,{label:"余额增减",required:"",prop:"action"},{default:l(()=>[t(C,{modelValue:n(o).action,"onUpdate:modelValue":a[0]||(a[0]=p=>n(o).action=p)},{default:l(()=>[t(_,{value:1},{default:l(()=>[...a[2]||(a[2]=[u("增加余额",-1)])]),_:1}),t(_,{value:2},{default:l(()=>[...a[3]||(a[3]=[u("扣减余额",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(r,{label:"调整余额",prop:"num"},{default:l(()=>[t(b,{"model-value":n(o).num,placeholder:"请输入调整的金额",type:"number",onInput:g},null,8,["model-value"])]),_:1}),t(r,{label:"调整后余额"},{default:l(()=>[u(" ¥ "+w(n(c)),1)]),_:1}),t(r,{label:"备注",prop:"remark"},{default:l(()=>[t(b,{modelValue:n(o).remark,"onUpdate:modelValue":a[1]||(a[1]=p=>n(o).remark=p),type:"textarea",rows:4},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])]),_:1},512)}}});export{H as _}; +import{o as h,R as v,q,O as B,D as l,s as D,v as t,b9 as F,u as n,b6 as I,L as u,T as w,bc as j,bf as S,b7 as T,a8 as y,ba as U,p as G}from"./.pnpm-9dA1PEvN.js";import{_ as L}from"./index-dYaCh-CN.js";import{i as V}from"./index-BWzN7QIb.js";const M={class:"pr-8"},H=h({__name:"account-adjust",props:{show:{type:Boolean,required:!0},value:{type:[Number,String],required:!0}},emits:["update:show","confirm"],setup(d,{emit:k}){const s=y(),i=d,f=k,o=U({action:1,num:"",remark:""}),m=y(),c=G(()=>Number(i.value)+Number(o.num)*(o.action==1?1:-1)),R={num:[{required:!0,message:"请输入调整的金额"}]},g=e=>{if(e.includes("-"))return V.msgError("请输入正整数");o.num=e},x=async()=>{var e;await((e=s.value)==null?void 0:e.validate()),f("confirm",o)},E=()=>{var e;f("update:show",!1),(e=s.value)==null||e.resetFields()};return v(()=>i.show,e=>{var a,r;e?(a=m.value)==null||a.open():(r=m.value)==null||r.close()}),v(c,e=>{e<0&&(V.msgError("调整后余额需大于0"),o.num="")}),(e,a)=>{const r=I,_=S,C=j,b=T,N=F;return q(),B(L,{ref_key:"popupRef",ref:m,title:"余额调整",width:"500px",onConfirm:x,async:!0,onClose:E},{default:l(()=>[D("div",M,[t(N,{ref_key:"formRef",ref:s,model:n(o),"label-width":"120px",rules:R},{default:l(()=>[t(r,{label:"当前余额"},{default:l(()=>[u("¥ "+w(d.value),1)]),_:1}),t(r,{label:"余额增减",required:"",prop:"action"},{default:l(()=>[t(C,{modelValue:n(o).action,"onUpdate:modelValue":a[0]||(a[0]=p=>n(o).action=p)},{default:l(()=>[t(_,{value:1},{default:l(()=>[...a[2]||(a[2]=[u("增加余额",-1)])]),_:1}),t(_,{value:2},{default:l(()=>[...a[3]||(a[3]=[u("扣减余额",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(r,{label:"调整余额",prop:"num"},{default:l(()=>[t(b,{"model-value":n(o).num,placeholder:"请输入调整的金额",type:"number",onInput:g},null,8,["model-value"])]),_:1}),t(r,{label:"调整后余额"},{default:l(()=>[u(" ¥ "+w(n(c)),1)]),_:1}),t(r,{label:"备注",prop:"remark"},{default:l(()=>[t(b,{modelValue:n(o).remark,"onUpdate:modelValue":a[1]||(a[1]=p=>n(o).remark=p),type:"textarea",rows:4},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])]),_:1},512)}}});export{H as _}; diff --git a/server/public/admin/assets/account_cost-CCSWPN6L.js b/server/public/admin/assets/account_cost-CJ_OnAOW.js similarity index 94% rename from server/public/admin/assets/account_cost-CCSWPN6L.js rename to server/public/admin/assets/account_cost-CJ_OnAOW.js index 9395b26d..f65cb671 100644 --- a/server/public/admin/assets/account_cost-CCSWPN6L.js +++ b/server/public/admin/assets/account_cost-CJ_OnAOW.js @@ -1 +1 @@ -import{o as P,W as ie,ap as re,be as pe,q as i,r as D,v as t,D as s,s as r,T as g,u as o,bg as ce,b9 as ue,C as S,b6 as me,bK as _e,b7 as fe,b8 as ve,K as ge,L as u,O as m,P as A,ac as h,bj as ye,bk as be,a1 as we,bi as he,a8 as Ce,M as F,p as ke,ba as xe,n as O}from"./.pnpm-9dA1PEvN.js";import{_ as Ve}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as Te,k as Ee,i as De,_ as Se}from"./index-CJvXnF8Y.js";import{p as Re,a as Le}from"./self_input_stats-ck9Y43id.js";import{d as Ae}from"./department-DYCfZwei.js";import{u as Fe}from"./usePaging-Boz1Q6w3.js";import{_ as Oe}from"./cost-edit.vue_vue_type_script_setup_true_lang-D7Y5S2X0.js";import{_ as Pe}from"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-B8TP8hmm.js";import{u as $e}from"./useMediaSourceOptions-DDYs3mB7.js";import{L as Me,u as Ue}from"./useListTimeFilter-DzEU80f7.js";import"./index-BBemoNXE.js";const Be={class:"personal-account-cost-page"},Ie={class:"flex flex-wrap"},Ke={class:"w-1/2 md:w-1/3"},Ne={class:"text-4xl"},je={class:"w-1/2 md:w-1/3"},qe={class:"text-4xl"},ze={class:"dept-cell"},Qe={key:1},We={key:2,class:"text-gray-400"},Ge={class:"flex justify-end mt-4"},He=P({name:"personalAccountCost"}),Je=P({...He,setup(Xe){const $=ie(),y=Ce(),b=F(!1),C=F([]),{mediaSourceOptions:R,mediaSourceLoading:L,loadMediaSourceOptions:M,refreshMediaSourceOptions:k}=$e(),U={value:"id",label:"name",children:"children"},x=ke(()=>Ee("stats.self_input/overview")||""),B=()=>{x.value&&$.push(x.value)},l=xe({media_source:"",dept_id:void 0,remark:""}),{time_type:V,dateRange:T,resolve:I,handleTimeTypeChange:K,handleCustomDateChange:N,resetTimeFilter:j}=Ue("today"),{pager:d,getLists:_}=Fe({fetchFun:async n=>{const[e,c]=I();return Re({...n,start_date:e,end_date:c})},params:l}),f=()=>{d.page=1,_()},q=()=>K(f),z=()=>N(f),Q=()=>{j(),l.media_source="",l.dept_id=void 0,l.remark="",d.page=1,d.size=15,_()},W=n=>{n&&k()},G=async()=>{await k(),_()},H=async()=>{var n;await k(),b.value=!0,await O(),(n=y.value)==null||n.open("add")},J=async n=>{var e,c;b.value=!0,await O(),(e=y.value)==null||e.open("edit"),(c=y.value)==null||c.setFormData(n)},X=async n=>{await De.confirm("确定删除该账户消耗记录?"),await Le({id:n}),_()},Y=async()=>{try{const n=await Ae({apply_data_scope:1});Array.isArray(n)&&(C.value=n)}catch{C.value=[]}};return re(async()=>{Y(),M(),await _()}),(n,e)=>{const c=ce,Z=_e,w=me,ee=fe,v=ge,te=ue,ae=Te,p=be,oe=we,se=ye,ne=Ve,E=pe("perms"),le=he;return i(),D("div",Be,[t(c,{class:"!border-none mb-4",shadow:"never"},{default:s(()=>[r("div",Ie,[r("div",Ke,[e[7]||(e[7]=r("div",{class:"leading-10"},"当前筛选天数",-1)),r("div",Ne,g(o(d).extend.days_count??0),1)]),r("div",je,[e[8]||(e[8]=r("div",{class:"leading-10"},"累计账户消耗 (元)",-1)),r("div",qe,"¥"+g(o(d).extend.total_amount??"0.00"),1)])])]),_:1}),t(c,{class:"!border-none",shadow:"never"},{default:s(()=>[t(te,{inline:!0,model:o(l),class:"stats-filter-form"},{default:s(()=>[t(Me,{"time-type":o(V),"onUpdate:timeType":e[0]||(e[0]=a=>S(V)?V.value=a:null),"date-range":o(T),"onUpdate:dateRange":e[1]||(e[1]=a=>S(T)?T.value=a:null),onTimeTypeChange:q,onCustomChange:z},null,8,["time-type","date-range"]),t(w,{label:"部门"},{default:s(()=>[t(Z,{modelValue:o(l).dept_id,"onUpdate:modelValue":e[2]||(e[2]=a=>o(l).dept_id=a),data:o(C),"node-key":"id",props:U,"default-expand-all":!0,"check-strictly":"",placeholder:"全部部门",clearable:"",filterable:"",class:"w-[220px]",onChange:f},null,8,["modelValue","data"])]),_:1}),t(w,{label:"自媒体来源"},{default:s(()=>[t(Pe,{modelValue:o(l).media_source,"onUpdate:modelValue":e[3]||(e[3]=a=>o(l).media_source=a),options:o(R),loading:o(L),placeholder:"全部来源","allow-create":!1,"select-class":"w-[220px]",onChange:f,onVisibleChange:W},null,8,["modelValue","options","loading"])]),_:1}),t(w,{class:"w-[280px]",label:"备注/录入人"},{default:s(()=>[t(ee,{modelValue:o(l).remark,"onUpdate:modelValue":e[4]||(e[4]=a=>o(l).remark=a),placeholder:"备注 / 创建人",clearable:"",onKeyup:ve(f,["enter"])},null,8,["modelValue"])]),_:1}),t(w,null,{default:s(()=>[t(v,{type:"primary",loading:o(d).loading,onClick:f},{default:s(()=>[...e[9]||(e[9]=[u("查询",-1)])]),_:1},8,["loading"]),t(v,{onClick:Q},{default:s(()=>[...e[10]||(e[10]=[u("重置",-1)])]),_:1}),o(x)?(i(),m(v,{key:0,class:"ml-2",onClick:B},{default:s(()=>[...e[11]||(e[11]=[u("返回统计",-1)])]),_:1})):A("",!0)]),_:1})]),_:1},8,["model"])]),_:1}),t(c,{class:"!border-none mt-4",shadow:"never"},{default:s(()=>[r("div",null,[h((i(),m(v,{type:"primary",onClick:H},{icon:s(()=>[t(ae,{name:"el-icon-Plus"})]),default:s(()=>[e[12]||(e[12]=u(" 新增 ",-1))]),_:1})),[[E,["stats.personal_account_cost/add"]]])]),h((i(),m(se,{class:"mt-4",size:"large",data:o(d).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:a})=>[u("¥"+g(a.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:a})=>[a.dept_path?(i(),m(oe,{key:0,content:a.dept_path,placement:"top",effect:"dark"},{default:s(()=>[r("span",ze,g(a.dept_name||"未分配"),1)]),_:2},1032,["content"])):a.dept_name?(i(),D("span",Qe,g(a.dept_name),1)):(i(),D("span",We,"未分配"))]),_: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:a})=>[h((i(),m(v,{type:"primary",link:"",onClick:de=>J(a)},{default:s(()=>[...e[13]||(e[13]=[u(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[E,["stats.personal_account_cost/edit"]]]),h((i(),m(v,{type:"danger",link:"",onClick:de=>X(a.id)},{default:s(()=>[...e[14]||(e[14]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])),[[E,["stats.personal_account_cost/delete"]]])]),_:1})]),_:1},8,["data"])),[[le,o(d).loading]]),r("div",Ge,[t(ne,{modelValue:o(d),"onUpdate:modelValue":e[5]||(e[5]=a=>S(d)?d.value=a:null),onChange:o(_)},null,8,["modelValue","onChange"])])]),_:1}),o(b)?(i(),m(Oe,{key:0,ref_key:"editRef",ref:y,"media-source-options":o(R),"media-source-loading":o(L),onSuccess:G,onClose:e[6]||(e[6]=a=>b.value=!1)},null,8,["media-source-options","media-source-loading"])):A("",!0)])}}}),rt=Se(Je,[["__scopeId","data-v-7efb8396"]]);export{rt as default}; +import{o as P,W as ie,ap as re,be as pe,q as i,r as D,v as t,D as s,s as r,T as g,u as o,bg as ce,b9 as ue,C as S,b6 as me,bK as _e,b7 as fe,b8 as ve,K as ge,L as u,O as m,P as A,ac as h,bj as ye,bk as be,a1 as we,bi as he,a8 as Ce,M as F,p as ke,ba as xe,n as O}from"./.pnpm-9dA1PEvN.js";import{_ as Ve}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as Te,k as Ee,i as De,_ as Se}from"./index-BWzN7QIb.js";import{p as Re,a as Le}from"./self_input_stats-BIckcV_I.js";import{d as Ae}from"./department-BABv4GiI.js";import{u as Fe}from"./usePaging-Boz1Q6w3.js";import{_ as Oe}from"./cost-edit.vue_vue_type_script_setup_true_lang-CUKGpnjd.js";import{_ as Pe}from"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-B8TP8hmm.js";import{u as $e}from"./useMediaSourceOptions-DK-_3N6E.js";import{L as Me,u as Ue}from"./useListTimeFilter-EgCds3rQ.js";import"./index-dYaCh-CN.js";const Be={class:"personal-account-cost-page"},Ie={class:"flex flex-wrap"},Ke={class:"w-1/2 md:w-1/3"},Ne={class:"text-4xl"},je={class:"w-1/2 md:w-1/3"},qe={class:"text-4xl"},ze={class:"dept-cell"},Qe={key:1},We={key:2,class:"text-gray-400"},Ge={class:"flex justify-end mt-4"},He=P({name:"personalAccountCost"}),Je=P({...He,setup(Xe){const $=ie(),y=Ce(),b=F(!1),C=F([]),{mediaSourceOptions:R,mediaSourceLoading:L,loadMediaSourceOptions:M,refreshMediaSourceOptions:k}=$e(),U={value:"id",label:"name",children:"children"},x=ke(()=>Ee("stats.self_input/overview")||""),B=()=>{x.value&&$.push(x.value)},l=xe({media_source:"",dept_id:void 0,remark:""}),{time_type:V,dateRange:T,resolve:I,handleTimeTypeChange:K,handleCustomDateChange:N,resetTimeFilter:j}=Ue("today"),{pager:d,getLists:_}=Fe({fetchFun:async n=>{const[e,c]=I();return Re({...n,start_date:e,end_date:c})},params:l}),f=()=>{d.page=1,_()},q=()=>K(f),z=()=>N(f),Q=()=>{j(),l.media_source="",l.dept_id=void 0,l.remark="",d.page=1,d.size=15,_()},W=n=>{n&&k()},G=async()=>{await k(),_()},H=async()=>{var n;await k(),b.value=!0,await O(),(n=y.value)==null||n.open("add")},J=async n=>{var e,c;b.value=!0,await O(),(e=y.value)==null||e.open("edit"),(c=y.value)==null||c.setFormData(n)},X=async n=>{await De.confirm("确定删除该账户消耗记录?"),await Le({id:n}),_()},Y=async()=>{try{const n=await Ae({apply_data_scope:1});Array.isArray(n)&&(C.value=n)}catch{C.value=[]}};return re(async()=>{Y(),M(),await _()}),(n,e)=>{const c=ce,Z=_e,w=me,ee=fe,v=ge,te=ue,ae=Te,p=be,oe=we,se=ye,ne=Ve,E=pe("perms"),le=he;return i(),D("div",Be,[t(c,{class:"!border-none mb-4",shadow:"never"},{default:s(()=>[r("div",Ie,[r("div",Ke,[e[7]||(e[7]=r("div",{class:"leading-10"},"当前筛选天数",-1)),r("div",Ne,g(o(d).extend.days_count??0),1)]),r("div",je,[e[8]||(e[8]=r("div",{class:"leading-10"},"累计账户消耗 (元)",-1)),r("div",qe,"¥"+g(o(d).extend.total_amount??"0.00"),1)])])]),_:1}),t(c,{class:"!border-none",shadow:"never"},{default:s(()=>[t(te,{inline:!0,model:o(l),class:"stats-filter-form"},{default:s(()=>[t(Me,{"time-type":o(V),"onUpdate:timeType":e[0]||(e[0]=a=>S(V)?V.value=a:null),"date-range":o(T),"onUpdate:dateRange":e[1]||(e[1]=a=>S(T)?T.value=a:null),onTimeTypeChange:q,onCustomChange:z},null,8,["time-type","date-range"]),t(w,{label:"部门"},{default:s(()=>[t(Z,{modelValue:o(l).dept_id,"onUpdate:modelValue":e[2]||(e[2]=a=>o(l).dept_id=a),data:o(C),"node-key":"id",props:U,"default-expand-all":!0,"check-strictly":"",placeholder:"全部部门",clearable:"",filterable:"",class:"w-[220px]",onChange:f},null,8,["modelValue","data"])]),_:1}),t(w,{label:"自媒体来源"},{default:s(()=>[t(Pe,{modelValue:o(l).media_source,"onUpdate:modelValue":e[3]||(e[3]=a=>o(l).media_source=a),options:o(R),loading:o(L),placeholder:"全部来源","allow-create":!1,"select-class":"w-[220px]",onChange:f,onVisibleChange:W},null,8,["modelValue","options","loading"])]),_:1}),t(w,{class:"w-[280px]",label:"备注/录入人"},{default:s(()=>[t(ee,{modelValue:o(l).remark,"onUpdate:modelValue":e[4]||(e[4]=a=>o(l).remark=a),placeholder:"备注 / 创建人",clearable:"",onKeyup:ve(f,["enter"])},null,8,["modelValue"])]),_:1}),t(w,null,{default:s(()=>[t(v,{type:"primary",loading:o(d).loading,onClick:f},{default:s(()=>[...e[9]||(e[9]=[u("查询",-1)])]),_:1},8,["loading"]),t(v,{onClick:Q},{default:s(()=>[...e[10]||(e[10]=[u("重置",-1)])]),_:1}),o(x)?(i(),m(v,{key:0,class:"ml-2",onClick:B},{default:s(()=>[...e[11]||(e[11]=[u("返回统计",-1)])]),_:1})):A("",!0)]),_:1})]),_:1},8,["model"])]),_:1}),t(c,{class:"!border-none mt-4",shadow:"never"},{default:s(()=>[r("div",null,[h((i(),m(v,{type:"primary",onClick:H},{icon:s(()=>[t(ae,{name:"el-icon-Plus"})]),default:s(()=>[e[12]||(e[12]=u(" 新增 ",-1))]),_:1})),[[E,["stats.personal_account_cost/add"]]])]),h((i(),m(se,{class:"mt-4",size:"large",data:o(d).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:a})=>[u("¥"+g(a.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:a})=>[a.dept_path?(i(),m(oe,{key:0,content:a.dept_path,placement:"top",effect:"dark"},{default:s(()=>[r("span",ze,g(a.dept_name||"未分配"),1)]),_:2},1032,["content"])):a.dept_name?(i(),D("span",Qe,g(a.dept_name),1)):(i(),D("span",We,"未分配"))]),_: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:a})=>[h((i(),m(v,{type:"primary",link:"",onClick:de=>J(a)},{default:s(()=>[...e[13]||(e[13]=[u(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[E,["stats.personal_account_cost/edit"]]]),h((i(),m(v,{type:"danger",link:"",onClick:de=>X(a.id)},{default:s(()=>[...e[14]||(e[14]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])),[[E,["stats.personal_account_cost/delete"]]])]),_:1})]),_:1},8,["data"])),[[le,o(d).loading]]),r("div",Ge,[t(ne,{modelValue:o(d),"onUpdate:modelValue":e[5]||(e[5]=a=>S(d)?d.value=a:null),onChange:o(_)},null,8,["modelValue","onChange"])])]),_:1}),o(b)?(i(),m(Oe,{key:0,ref_key:"editRef",ref:y,"media-source-options":o(R),"media-source-loading":o(L),onSuccess:G,onClose:e[6]||(e[6]=a=>b.value=!1)},null,8,["media-source-options","media-source-loading"])):A("",!0)])}}}),rt=Se(Je,[["__scopeId","data-v-7efb8396"]]);export{rt as default}; diff --git a/server/public/admin/assets/add-w_iCQj3X.js b/server/public/admin/assets/add-BB0rPF8j.js similarity index 99% rename from server/public/admin/assets/add-w_iCQj3X.js rename to server/public/admin/assets/add-BB0rPF8j.js index 99c3e2cd..8b2158d5 100644 --- a/server/public/admin/assets/add-w_iCQj3X.js +++ b/server/public/admin/assets/add-BB0rPF8j.js @@ -1 +1 @@ -import{o as pe,W as me,Q as _e,ap as fe,bx as be,q as u,r as f,s as _,v as a,D as o,w as ye,u as t,ct as ge,L as s,K as Ve,T as w,b6 as ve,b7 as ce,bc as ke,bf as we,J as Ue,bp as xe,bm as Ee,bn as Oe,F as g,G as V,O as v,cz as qe,cW as De,bb as Be,b9 as Ce,M as p,p as Se,E as le}from"./.pnpm-9dA1PEvN.js";import{a4 as ae,a5 as Ie,a6 as Re,a7 as Pe,a8 as Le}from"./tcm-DOD9_1Um.js";import{m as c,i as te,_ as Me}from"./index-CJvXnF8Y.js";const Ne={class:"diagnosis-page"},Fe={class:"page-header"},Te={class:"page-title"},Ye={class:"page-content"},$e={class:"form-section"},Ge={class:"form-section"},He={class:"form-section"},We={class:"form-section"},Xe={class:"form-section"},ze={class:"form-section"},Ae={class:"form-section"},Je={class:"form-section"},Ke={class:"page-footer"},Qe=pe({__name:"add",setup(he){const P=me(),oe=_e(),L=p(),S=p("add"),I=p(!1),de=Se(()=>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"}]},M=p([]),N=p([]),F=p([]),T=p([]),Y=p([]),$=p([]),G=p([]),H=p([]),W=p([]),X=p([]),z=p([]),A=p([]),J=p([]),K=p([]),Q=p([]),h=p([]),j=p([]),Z=p([]),ue=async()=>{try{const[r,e,i,x,m,n,b,U,O,B,E,q,y,k,D,C,l,R]=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"})]);M.value=(r==null?void 0:r.diagnosis_type)||[],N.value=(e==null?void 0:e.syndrome_type)||[],F.value=(i==null?void 0:i.diabetes_type)||[],T.value=(x==null?void 0:x.past_history)||[],Y.value=(m==null?void 0:m.appetite)||[],$.value=(n==null?void 0:n.water_intake)||[],G.value=(b==null?void 0:b.diet_condition)||[],H.value=(U==null?void 0:U.weight_change)||[],W.value=(O==null?void 0:O.body_feeling)||[],X.value=(B==null?void 0:B.sleep_condition)||[],z.value=(E==null?void 0:E.eye_condition)||[],A.value=(q==null?void 0:q.head_feeling)||[],J.value=(y==null?void 0:y.sweat_condition)||[],K.value=(k==null?void 0:k.skin_condition)||[],Q.value=(D==null?void 0:D.urine_condition)||[],h.value=(C==null?void 0:C.stool_condition)||[],j.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 Ie({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 Re({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=L.value)==null?void 0:r.validate()),I.value=!0;try{if(S.value==="add"){const e=await Pe(d.value);if(te.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)}P.replace({query:{id:e.id}})}}else await Le(d.value),te.msgSuccess("编辑成功")}catch(e){console.error("提交失败:",e)}finally{I.value=!1}},ee=()=>{P.back()};return fe(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=oe.query.id;if(r){S.value="edit";const e=await ae({id:Number(r)});d.value=e}}),be(()=>{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=ye,x=Ve,m=ce,n=ve,b=we,U=ke,O=Ue,B=xe,E=Oe,q=Ee,y=De,k=qe,D=Be,C=Ce;return u(),f("div",Ne,[_("div",Fe,[a(x,{link:"",onClick:ee,class:"back-btn"},{default:o(()=>[a(i,null,{default:o(()=>[a(t(ge))]),_:1}),e[49]||(e[49]=s(" 返回 ",-1))]),_:1}),_("h1",Te,w(t(de)),1)]),_("div",Ye,[a(C,{ref_key:"formRef",ref:L,model:t(d),rules:ne,"label-width":"auto",class:"diagnosis-form"},{default:o(()=>[_("div",$e,[e[52]||(e[52]=_("div",{class:"section-title"},"基本信息",-1)),a(n,{label:"患者ID"},{default:o(()=>[a(m,{modelValue:t(d).patient_id,"onUpdate:modelValue":e[0]||(e[0]=l=>t(d).patient_id=l),disabled:"",placeholder:"系统自动生成"},null,8,["modelValue"])]),_:1}),a(n,{label:"患者姓名",prop:"patient_name"},{default:o(()=>[a(m,{modelValue:t(d).patient_name,"onUpdate:modelValue":e[1]||(e[1]=l=>t(d).patient_name=l),placeholder:"请输入患者姓名"},null,8,["modelValue"])]),_:1}),a(n,{label:"身份证号",prop:"id_card"},{default:o(()=>[a(m,{modelValue:t(d).id_card,"onUpdate:modelValue":e[2]||(e[2]=l=>t(d).id_card=l),placeholder:"请输入身份证号",maxlength:"18",onBlur:re},null,8,["modelValue"])]),_:1}),a(n,{label:"手机号",prop:"phone"},{default:o(()=>[a(m,{modelValue:t(d).phone,"onUpdate:modelValue":e[3]||(e[3]=l=>t(d).phone=l),placeholder:"请输入手机号",maxlength:"11",onBlur:se},null,8,["modelValue"])]),_:1}),a(n,{label:"性别",prop:"gender"},{default:o(()=>[a(U,{modelValue:t(d).gender,"onUpdate:modelValue":e[4]||(e[4]=l=>t(d).gender=l)},{default:o(()=>[a(b,{label:1},{default:o(()=>[...e[50]||(e[50]=[s("男",-1)])]),_:1}),a(b,{label:0},{default:o(()=>[...e[51]||(e[51]=[s("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"年龄",prop:"age"},{default:o(()=>[a(O,{modelValue:t(d).age,"onUpdate:modelValue":e[5]||(e[5]=l=>t(d).age=l),min:0,max:150,placeholder:"请输入年龄",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"诊断日期",prop:"diagnosis_date"},{default:o(()=>[a(B,{modelValue:t(d).diagnosis_date,"onUpdate:modelValue":e[6]||(e[6]=l=>t(d).diagnosis_date=l),type:"date",placeholder:"请选择诊断日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1})]),_("div",Ge,[e[53]||(e[53]=_("div",{class:"section-title"},"生命体征",-1)),a(n,{label:"婚姻状态",prop:"marital_status"},{default:o(()=>[a(q,{modelValue:t(d).marital_status,"onUpdate:modelValue":e[7]||(e[7]=l=>t(d).marital_status=l),placeholder:"请选择婚姻状态",class:"w-full"},{default:o(()=>[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:o(()=>[a(O,{modelValue:t(d).height,"onUpdate:modelValue":e[8]||(e[8]=l=>t(d).height=l),min:0,max:300,placeholder:"请输入身高",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"体重(kg)",prop:"weight"},{default:o(()=>[a(O,{modelValue:t(d).weight,"onUpdate:modelValue":e[9]||(e[9]=l=>t(d).weight=l),min:0,max:500,step:.1,placeholder:"请输入体重",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"地区",prop:"region"},{default:o(()=>[a(m,{modelValue:t(d).region,"onUpdate:modelValue":e[10]||(e[10]=l=>t(d).region=l),placeholder:"请输入地区"},null,8,["modelValue"])]),_:1}),a(n,{label:"收缩压(mmHg)",prop:"systolic_pressure"},{default:o(()=>[a(O,{modelValue:t(d).systolic_pressure,"onUpdate:modelValue":e[11]||(e[11]=l=>t(d).systolic_pressure=l),min:0,max:250,placeholder:"请输入收缩压",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"舒张压(mmHg)",prop:"diastolic_pressure"},{default:o(()=>[a(O,{modelValue:t(d).diastolic_pressure,"onUpdate:modelValue":e[12]||(e[12]=l=>t(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:o(()=>[a(m,{modelValue:t(d).fasting_blood_sugar,"onUpdate:modelValue":e[13]||(e[13]=l=>t(d).fasting_blood_sugar=l),placeholder:"请输入空腹血糖,如:8.5 或 8-9",maxlength:"20",class:"w-full"},null,8,["modelValue"])]),_:1})]),_("div",He,[e[56]||(e[56]=_("div",{class:"section-title"},"诊断信息",-1)),a(n,{label:"诊断类型",prop:"diagnosis_type"},{default:o(()=>[a(q,{modelValue:t(d).diagnosis_type,"onUpdate:modelValue":e[14]||(e[14]=l=>t(d).diagnosis_type=l),placeholder:"请选择诊断类型",class:"w-full"},{default:o(()=>[(u(!0),f(g,null,V(t(M),l=>(u(),v(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:o(()=>[a(q,{modelValue:t(d).syndrome_type,"onUpdate:modelValue":e[15]||(e[15]=l=>t(d).syndrome_type=l),placeholder:"请选择证型",class:"w-full"},{default:o(()=>[(u(!0),f(g,null,V(t(N),l=>(u(),v(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:o(()=>[a(q,{modelValue:t(d).diabetes_type,"onUpdate:modelValue":e[16]||(e[16]=l=>t(d).diabetes_type=l),placeholder:"请选择糖尿病期数",class:"w-full"},{default:o(()=>[(u(!0),f(g,null,V(t(F),l=>(u(),v(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:o(()=>[a(U,{modelValue:t(d).status,"onUpdate:modelValue":e[17]||(e[17]=l=>t(d).status=l)},{default:o(()=>[a(b,{label:1},{default:o(()=>[...e[54]||(e[54]=[s("启用",-1)])]),_:1}),a(b,{label:0},{default:o(()=>[...e[55]||(e[55]=[s("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"在用药物",prop:"current_medications"},{default:o(()=>[a(m,{modelValue:t(d).current_medications,"onUpdate:modelValue":e[18]||(e[18]=l=>t(d).current_medications=l),type:"textarea",rows:3,placeholder:"请填写患者当前正在使用的药物(如降压药、降糖药等),多种请换行或顿号分隔",maxlength:"2000","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_("div",We,[e[60]||(e[60]=_("div",{class:"section-title"},"主诉",-1)),a(n,{label:"发现糖尿病就患病史",prop:"diabetes_discovery_year"},{default:o(()=>[a(m,{modelValue:t(d).diabetes_discovery_year,"onUpdate:modelValue":e[19]||(e[19]=l=>t(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:o(()=>[a(k,{modelValue:t(d).local_hospital_diagnosis,"onUpdate:modelValue":e[20]||(e[20]=l=>t(d).local_hospital_diagnosis=l),class:"checkbox-group"},{default:o(()=>[a(y,{label:"糖尿病"},{default:o(()=>[...e[57]||(e[57]=[s("糖尿病",-1)])]),_:1}),a(y,{label:"高血压"},{default:o(()=>[...e[58]||(e[58]=[s("高血压",-1)])]),_:1}),a(y,{label:"糖尿病高血压"},{default:o(()=>[...e[59]||(e[59]=[s("糖尿病高血压",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"当地就诊医院名称",prop:"local_hospital_name"},{default:o(()=>[a(m,{modelValue:t(d).local_hospital_name,"onUpdate:modelValue":e[21]||(e[21]=l=>t(d).local_hospital_name=l),placeholder:"请输入当地就诊医院名称(不能填写当地、本地、互联网等关键词)"},null,8,["modelValue"])]),_:1})]),_("div",Xe,[e[61]||(e[61]=_("div",{class:"section-title"},"现病史",-1)),a(n,{label:"口腔感觉"},{default:o(()=>[a(U,{modelValue:t(d).appetite,"onUpdate:modelValue":e[22]||(e[22]=l=>t(d).appetite=l),class:"radio-group"},{default:o(()=>[(u(!0),f(g,null,V(t(Y),l=>(u(),v(D,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"每日饮水量"},{default:o(()=>[a(U,{modelValue:t(d).water_intake,"onUpdate:modelValue":e[23]||(e[23]=l=>t(d).water_intake=l),class:"radio-group"},{default:o(()=>[(u(!0),f(g,null,V(t($),l=>(u(),v(D,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"近一个月体重变化"},{default:o(()=>[a(U,{modelValue:t(d).weight_change,"onUpdate:modelValue":e[24]||(e[24]=l=>t(d).weight_change=l),class:"radio-group"},{default:o(()=>[(u(!0),f(g,null,V(t(H),l=>(u(),v(D,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"脂肪肝程度"},{default:o(()=>[a(U,{modelValue:t(d).fatty_liver_degree,"onUpdate:modelValue":e[25]||(e[25]=l=>t(d).fatty_liver_degree=l),class:"radio-group"},{default:o(()=>[(u(!0),f(g,null,V(t(Z),l=>(u(),v(D,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"饮食情况"},{default:o(()=>[a(k,{modelValue:t(d).diet_condition,"onUpdate:modelValue":e[26]||(e[26]=l=>t(d).diet_condition=l),class:"checkbox-group"},{default:o(()=>[(u(!0),f(g,null,V(t(G),l=>(u(),v(y,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"肢体感觉"},{default:o(()=>[a(k,{modelValue:t(d).body_feeling,"onUpdate:modelValue":e[27]||(e[27]=l=>t(d).body_feeling=l),class:"checkbox-group"},{default:o(()=>[(u(!0),f(g,null,V(t(W),l=>(u(),v(y,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"睡眠情况"},{default:o(()=>[a(k,{modelValue:t(d).sleep_condition,"onUpdate:modelValue":e[28]||(e[28]=l=>t(d).sleep_condition=l),class:"checkbox-group"},{default:o(()=>[(u(!0),f(g,null,V(t(X),l=>(u(),v(y,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"眼睛情况"},{default:o(()=>[a(k,{modelValue:t(d).eye_condition,"onUpdate:modelValue":e[29]||(e[29]=l=>t(d).eye_condition=l),class:"checkbox-group"},{default:o(()=>[(u(!0),f(g,null,V(t(z),l=>(u(),v(y,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"头部感觉"},{default:o(()=>[a(k,{modelValue:t(d).head_feeling,"onUpdate:modelValue":e[30]||(e[30]=l=>t(d).head_feeling=l),class:"checkbox-group"},{default:o(()=>[(u(!0),f(g,null,V(t(A),l=>(u(),v(y,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"出汗情况"},{default:o(()=>[a(k,{modelValue:t(d).sweat_condition,"onUpdate:modelValue":e[31]||(e[31]=l=>t(d).sweat_condition=l),class:"checkbox-group"},{default:o(()=>[(u(!0),f(g,null,V(t(J),l=>(u(),v(y,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"皮肤情况"},{default:o(()=>[a(k,{modelValue:t(d).skin_condition,"onUpdate:modelValue":e[32]||(e[32]=l=>t(d).skin_condition=l),class:"checkbox-group"},{default:o(()=>[(u(!0),f(g,null,V(t(K),l=>(u(),v(y,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"小便情况"},{default:o(()=>[a(k,{modelValue:t(d).urine_condition,"onUpdate:modelValue":e[33]||(e[33]=l=>t(d).urine_condition=l),class:"checkbox-group"},{default:o(()=>[(u(!0),f(g,null,V(t(Q),l=>(u(),v(y,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"大便情况"},{default:o(()=>[a(k,{modelValue:t(d).stool_condition,"onUpdate:modelValue":e[34]||(e[34]=l=>t(d).stool_condition=l),class:"checkbox-group"},{default:o(()=>[(u(!0),f(g,null,V(t(h),l=>(u(),v(y,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"腰肾情况"},{default:o(()=>[a(k,{modelValue:t(d).kidney_condition,"onUpdate:modelValue":e[35]||(e[35]=l=>t(d).kidney_condition=l),class:"checkbox-group"},{default:o(()=>[(u(!0),f(g,null,V(t(j),l=>(u(),v(y,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"病情补充",prop:"symptoms"},{default:o(()=>[a(m,{modelValue:t(d).symptoms,"onUpdate:modelValue":e[36]||(e[36]=l=>t(d).symptoms=l),type:"textarea",rows:3,placeholder:"请输入症状"},null,8,["modelValue"])]),_:1})]),_("div",ze,[e[62]||(e[62]=_("div",{class:"section-title"},"既往史",-1)),a(n,{label:""},{default:o(()=>[a(k,{modelValue:t(d).past_history,"onUpdate:modelValue":e[37]||(e[37]=l=>t(d).past_history=l),class:"checkbox-group"},{default:o(()=>[(u(!0),f(g,null,V(t(T),l=>(u(),v(y,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_("div",Ae,[e[73]||(e[73]=_("div",{class:"section-title"},"其他病史",-1)),a(n,{label:"外伤史"},{default:o(()=>[a(U,{modelValue:t(d).trauma_history,"onUpdate:modelValue":e[38]||(e[38]=l=>t(d).trauma_history=l)},{default:o(()=>[a(b,{label:1},{default:o(()=>[...e[63]||(e[63]=[s("有",-1)])]),_:1}),a(b,{label:0},{default:o(()=>[...e[64]||(e[64]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"手术史"},{default:o(()=>[a(U,{modelValue:t(d).surgery_history,"onUpdate:modelValue":e[39]||(e[39]=l=>t(d).surgery_history=l)},{default:o(()=>[a(b,{label:1},{default:o(()=>[...e[65]||(e[65]=[s("有",-1)])]),_:1}),a(b,{label:0},{default:o(()=>[...e[66]||(e[66]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"过敏史"},{default:o(()=>[a(U,{modelValue:t(d).allergy_history,"onUpdate:modelValue":e[40]||(e[40]=l=>t(d).allergy_history=l)},{default:o(()=>[a(b,{label:1},{default:o(()=>[...e[67]||(e[67]=[s("有",-1)])]),_:1}),a(b,{label:0},{default:o(()=>[...e[68]||(e[68]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"家族病史"},{default:o(()=>[a(U,{modelValue:t(d).family_history,"onUpdate:modelValue":e[41]||(e[41]=l=>t(d).family_history=l)},{default:o(()=>[a(b,{label:1},{default:o(()=>[...e[69]||(e[69]=[s("有",-1)])]),_:1}),a(b,{label:0},{default:o(()=>[...e[70]||(e[70]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"妊娠哺乳史"},{default:o(()=>[a(U,{modelValue:t(d).pregnancy_history,"onUpdate:modelValue":e[42]||(e[42]=l=>t(d).pregnancy_history=l)},{default:o(()=>[a(b,{label:1},{default:o(()=>[...e[71]||(e[71]=[s("有",-1)])]),_:1}),a(b,{label:0},{default:o(()=>[...e[72]||(e[72]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_("div",Je,[e[74]||(e[74]=_("div",{class:"section-title"},"诊断详情",-1)),a(n,{label:"舌苔",prop:"tongue_coating"},{default:o(()=>[a(m,{modelValue:t(d).tongue_coating,"onUpdate:modelValue":e[43]||(e[43]=l=>t(d).tongue_coating=l),placeholder:"请输入舌苔情况"},null,8,["modelValue"])]),_:1}),a(n,{label:"脉象",prop:"pulse"},{default:o(()=>[a(m,{modelValue:t(d).pulse,"onUpdate:modelValue":e[44]||(e[44]=l=>t(d).pulse=l),placeholder:"请输入脉象"},null,8,["modelValue"])]),_:1}),a(n,{label:"治则",prop:"treatment_principle"},{default:o(()=>[a(m,{modelValue:t(d).treatment_principle,"onUpdate:modelValue":e[45]||(e[45]=l=>t(d).treatment_principle=l),type:"textarea",rows:3,placeholder:"请输入治则"},null,8,["modelValue"])]),_:1}),a(n,{label:"处方",prop:"prescription"},{default:o(()=>[a(m,{modelValue:t(d).prescription,"onUpdate:modelValue":e[46]||(e[46]=l=>t(d).prescription=l),type:"textarea",rows:3,placeholder:"请输入处方"},null,8,["modelValue"])]),_:1}),a(n,{label:"医嘱",prop:"doctor_advice"},{default:o(()=>[a(m,{modelValue:t(d).doctor_advice,"onUpdate:modelValue":e[47]||(e[47]=l=>t(d).doctor_advice=l),type:"textarea",rows:3,placeholder:"请输入医嘱"},null,8,["modelValue"])]),_:1}),a(n,{label:"备注",prop:"remark"},{default:o(()=>[a(m,{modelValue:t(d).remark,"onUpdate:modelValue":e[48]||(e[48]=l=>t(d).remark=l),type:"textarea",rows:2,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})])]),_:1},8,["model"])]),_("div",Ke,[a(x,{onClick:ee,class:"btn-cancel"},{default:o(()=>[...e[75]||(e[75]=[s("取消",-1)])]),_:1}),a(x,{type:"primary",onClick:ie,loading:t(I),class:"btn-submit"},{default:o(()=>[...e[76]||(e[76]=[s(" 保存 ",-1)])]),_:1},8,["loading"])])])}}}),tl=Me(Qe,[["__scopeId","data-v-9a9240a1"]]);export{tl as default}; +import{o as pe,W as me,Q as _e,ap as fe,bx as be,q as u,r as f,s as _,v as a,D as o,w as ye,u as t,ct as ge,L as s,K as Ve,T as w,b6 as ve,b7 as ce,bc as ke,bf as we,J as Ue,bp as xe,bm as Ee,bn as Oe,F as g,G as V,O as v,cz as qe,cW as De,bb as Be,b9 as Ce,M as p,p as Se,E as le}from"./.pnpm-9dA1PEvN.js";import{a4 as ae,a5 as Ie,a6 as Re,a7 as Pe,a8 as Le}from"./tcm-Fi_swgCr.js";import{m as c,i as te,_ as Me}from"./index-BWzN7QIb.js";const Ne={class:"diagnosis-page"},Fe={class:"page-header"},Te={class:"page-title"},Ye={class:"page-content"},$e={class:"form-section"},Ge={class:"form-section"},He={class:"form-section"},We={class:"form-section"},Xe={class:"form-section"},ze={class:"form-section"},Ae={class:"form-section"},Je={class:"form-section"},Ke={class:"page-footer"},Qe=pe({__name:"add",setup(he){const P=me(),oe=_e(),L=p(),S=p("add"),I=p(!1),de=Se(()=>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"}]},M=p([]),N=p([]),F=p([]),T=p([]),Y=p([]),$=p([]),G=p([]),H=p([]),W=p([]),X=p([]),z=p([]),A=p([]),J=p([]),K=p([]),Q=p([]),h=p([]),j=p([]),Z=p([]),ue=async()=>{try{const[r,e,i,x,m,n,b,U,O,B,E,q,y,k,D,C,l,R]=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"})]);M.value=(r==null?void 0:r.diagnosis_type)||[],N.value=(e==null?void 0:e.syndrome_type)||[],F.value=(i==null?void 0:i.diabetes_type)||[],T.value=(x==null?void 0:x.past_history)||[],Y.value=(m==null?void 0:m.appetite)||[],$.value=(n==null?void 0:n.water_intake)||[],G.value=(b==null?void 0:b.diet_condition)||[],H.value=(U==null?void 0:U.weight_change)||[],W.value=(O==null?void 0:O.body_feeling)||[],X.value=(B==null?void 0:B.sleep_condition)||[],z.value=(E==null?void 0:E.eye_condition)||[],A.value=(q==null?void 0:q.head_feeling)||[],J.value=(y==null?void 0:y.sweat_condition)||[],K.value=(k==null?void 0:k.skin_condition)||[],Q.value=(D==null?void 0:D.urine_condition)||[],h.value=(C==null?void 0:C.stool_condition)||[],j.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 Ie({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 Re({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=L.value)==null?void 0:r.validate()),I.value=!0;try{if(S.value==="add"){const e=await Pe(d.value);if(te.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)}P.replace({query:{id:e.id}})}}else await Le(d.value),te.msgSuccess("编辑成功")}catch(e){console.error("提交失败:",e)}finally{I.value=!1}},ee=()=>{P.back()};return fe(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=oe.query.id;if(r){S.value="edit";const e=await ae({id:Number(r)});d.value=e}}),be(()=>{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=ye,x=Ve,m=ce,n=ve,b=we,U=ke,O=Ue,B=xe,E=Oe,q=Ee,y=De,k=qe,D=Be,C=Ce;return u(),f("div",Ne,[_("div",Fe,[a(x,{link:"",onClick:ee,class:"back-btn"},{default:o(()=>[a(i,null,{default:o(()=>[a(t(ge))]),_:1}),e[49]||(e[49]=s(" 返回 ",-1))]),_:1}),_("h1",Te,w(t(de)),1)]),_("div",Ye,[a(C,{ref_key:"formRef",ref:L,model:t(d),rules:ne,"label-width":"auto",class:"diagnosis-form"},{default:o(()=>[_("div",$e,[e[52]||(e[52]=_("div",{class:"section-title"},"基本信息",-1)),a(n,{label:"患者ID"},{default:o(()=>[a(m,{modelValue:t(d).patient_id,"onUpdate:modelValue":e[0]||(e[0]=l=>t(d).patient_id=l),disabled:"",placeholder:"系统自动生成"},null,8,["modelValue"])]),_:1}),a(n,{label:"患者姓名",prop:"patient_name"},{default:o(()=>[a(m,{modelValue:t(d).patient_name,"onUpdate:modelValue":e[1]||(e[1]=l=>t(d).patient_name=l),placeholder:"请输入患者姓名"},null,8,["modelValue"])]),_:1}),a(n,{label:"身份证号",prop:"id_card"},{default:o(()=>[a(m,{modelValue:t(d).id_card,"onUpdate:modelValue":e[2]||(e[2]=l=>t(d).id_card=l),placeholder:"请输入身份证号",maxlength:"18",onBlur:re},null,8,["modelValue"])]),_:1}),a(n,{label:"手机号",prop:"phone"},{default:o(()=>[a(m,{modelValue:t(d).phone,"onUpdate:modelValue":e[3]||(e[3]=l=>t(d).phone=l),placeholder:"请输入手机号",maxlength:"11",onBlur:se},null,8,["modelValue"])]),_:1}),a(n,{label:"性别",prop:"gender"},{default:o(()=>[a(U,{modelValue:t(d).gender,"onUpdate:modelValue":e[4]||(e[4]=l=>t(d).gender=l)},{default:o(()=>[a(b,{label:1},{default:o(()=>[...e[50]||(e[50]=[s("男",-1)])]),_:1}),a(b,{label:0},{default:o(()=>[...e[51]||(e[51]=[s("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"年龄",prop:"age"},{default:o(()=>[a(O,{modelValue:t(d).age,"onUpdate:modelValue":e[5]||(e[5]=l=>t(d).age=l),min:0,max:150,placeholder:"请输入年龄",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"诊断日期",prop:"diagnosis_date"},{default:o(()=>[a(B,{modelValue:t(d).diagnosis_date,"onUpdate:modelValue":e[6]||(e[6]=l=>t(d).diagnosis_date=l),type:"date",placeholder:"请选择诊断日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1})]),_("div",Ge,[e[53]||(e[53]=_("div",{class:"section-title"},"生命体征",-1)),a(n,{label:"婚姻状态",prop:"marital_status"},{default:o(()=>[a(q,{modelValue:t(d).marital_status,"onUpdate:modelValue":e[7]||(e[7]=l=>t(d).marital_status=l),placeholder:"请选择婚姻状态",class:"w-full"},{default:o(()=>[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:o(()=>[a(O,{modelValue:t(d).height,"onUpdate:modelValue":e[8]||(e[8]=l=>t(d).height=l),min:0,max:300,placeholder:"请输入身高",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"体重(kg)",prop:"weight"},{default:o(()=>[a(O,{modelValue:t(d).weight,"onUpdate:modelValue":e[9]||(e[9]=l=>t(d).weight=l),min:0,max:500,step:.1,placeholder:"请输入体重",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"地区",prop:"region"},{default:o(()=>[a(m,{modelValue:t(d).region,"onUpdate:modelValue":e[10]||(e[10]=l=>t(d).region=l),placeholder:"请输入地区"},null,8,["modelValue"])]),_:1}),a(n,{label:"收缩压(mmHg)",prop:"systolic_pressure"},{default:o(()=>[a(O,{modelValue:t(d).systolic_pressure,"onUpdate:modelValue":e[11]||(e[11]=l=>t(d).systolic_pressure=l),min:0,max:250,placeholder:"请输入收缩压",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"舒张压(mmHg)",prop:"diastolic_pressure"},{default:o(()=>[a(O,{modelValue:t(d).diastolic_pressure,"onUpdate:modelValue":e[12]||(e[12]=l=>t(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:o(()=>[a(m,{modelValue:t(d).fasting_blood_sugar,"onUpdate:modelValue":e[13]||(e[13]=l=>t(d).fasting_blood_sugar=l),placeholder:"请输入空腹血糖,如:8.5 或 8-9",maxlength:"20",class:"w-full"},null,8,["modelValue"])]),_:1})]),_("div",He,[e[56]||(e[56]=_("div",{class:"section-title"},"诊断信息",-1)),a(n,{label:"诊断类型",prop:"diagnosis_type"},{default:o(()=>[a(q,{modelValue:t(d).diagnosis_type,"onUpdate:modelValue":e[14]||(e[14]=l=>t(d).diagnosis_type=l),placeholder:"请选择诊断类型",class:"w-full"},{default:o(()=>[(u(!0),f(g,null,V(t(M),l=>(u(),v(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:o(()=>[a(q,{modelValue:t(d).syndrome_type,"onUpdate:modelValue":e[15]||(e[15]=l=>t(d).syndrome_type=l),placeholder:"请选择证型",class:"w-full"},{default:o(()=>[(u(!0),f(g,null,V(t(N),l=>(u(),v(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:o(()=>[a(q,{modelValue:t(d).diabetes_type,"onUpdate:modelValue":e[16]||(e[16]=l=>t(d).diabetes_type=l),placeholder:"请选择糖尿病期数",class:"w-full"},{default:o(()=>[(u(!0),f(g,null,V(t(F),l=>(u(),v(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:o(()=>[a(U,{modelValue:t(d).status,"onUpdate:modelValue":e[17]||(e[17]=l=>t(d).status=l)},{default:o(()=>[a(b,{label:1},{default:o(()=>[...e[54]||(e[54]=[s("启用",-1)])]),_:1}),a(b,{label:0},{default:o(()=>[...e[55]||(e[55]=[s("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"在用药物",prop:"current_medications"},{default:o(()=>[a(m,{modelValue:t(d).current_medications,"onUpdate:modelValue":e[18]||(e[18]=l=>t(d).current_medications=l),type:"textarea",rows:3,placeholder:"请填写患者当前正在使用的药物(如降压药、降糖药等),多种请换行或顿号分隔",maxlength:"2000","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_("div",We,[e[60]||(e[60]=_("div",{class:"section-title"},"主诉",-1)),a(n,{label:"发现糖尿病就患病史",prop:"diabetes_discovery_year"},{default:o(()=>[a(m,{modelValue:t(d).diabetes_discovery_year,"onUpdate:modelValue":e[19]||(e[19]=l=>t(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:o(()=>[a(k,{modelValue:t(d).local_hospital_diagnosis,"onUpdate:modelValue":e[20]||(e[20]=l=>t(d).local_hospital_diagnosis=l),class:"checkbox-group"},{default:o(()=>[a(y,{label:"糖尿病"},{default:o(()=>[...e[57]||(e[57]=[s("糖尿病",-1)])]),_:1}),a(y,{label:"高血压"},{default:o(()=>[...e[58]||(e[58]=[s("高血压",-1)])]),_:1}),a(y,{label:"糖尿病高血压"},{default:o(()=>[...e[59]||(e[59]=[s("糖尿病高血压",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"当地就诊医院名称",prop:"local_hospital_name"},{default:o(()=>[a(m,{modelValue:t(d).local_hospital_name,"onUpdate:modelValue":e[21]||(e[21]=l=>t(d).local_hospital_name=l),placeholder:"请输入当地就诊医院名称(不能填写当地、本地、互联网等关键词)"},null,8,["modelValue"])]),_:1})]),_("div",Xe,[e[61]||(e[61]=_("div",{class:"section-title"},"现病史",-1)),a(n,{label:"口腔感觉"},{default:o(()=>[a(U,{modelValue:t(d).appetite,"onUpdate:modelValue":e[22]||(e[22]=l=>t(d).appetite=l),class:"radio-group"},{default:o(()=>[(u(!0),f(g,null,V(t(Y),l=>(u(),v(D,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"每日饮水量"},{default:o(()=>[a(U,{modelValue:t(d).water_intake,"onUpdate:modelValue":e[23]||(e[23]=l=>t(d).water_intake=l),class:"radio-group"},{default:o(()=>[(u(!0),f(g,null,V(t($),l=>(u(),v(D,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"近一个月体重变化"},{default:o(()=>[a(U,{modelValue:t(d).weight_change,"onUpdate:modelValue":e[24]||(e[24]=l=>t(d).weight_change=l),class:"radio-group"},{default:o(()=>[(u(!0),f(g,null,V(t(H),l=>(u(),v(D,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"脂肪肝程度"},{default:o(()=>[a(U,{modelValue:t(d).fatty_liver_degree,"onUpdate:modelValue":e[25]||(e[25]=l=>t(d).fatty_liver_degree=l),class:"radio-group"},{default:o(()=>[(u(!0),f(g,null,V(t(Z),l=>(u(),v(D,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"饮食情况"},{default:o(()=>[a(k,{modelValue:t(d).diet_condition,"onUpdate:modelValue":e[26]||(e[26]=l=>t(d).diet_condition=l),class:"checkbox-group"},{default:o(()=>[(u(!0),f(g,null,V(t(G),l=>(u(),v(y,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"肢体感觉"},{default:o(()=>[a(k,{modelValue:t(d).body_feeling,"onUpdate:modelValue":e[27]||(e[27]=l=>t(d).body_feeling=l),class:"checkbox-group"},{default:o(()=>[(u(!0),f(g,null,V(t(W),l=>(u(),v(y,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"睡眠情况"},{default:o(()=>[a(k,{modelValue:t(d).sleep_condition,"onUpdate:modelValue":e[28]||(e[28]=l=>t(d).sleep_condition=l),class:"checkbox-group"},{default:o(()=>[(u(!0),f(g,null,V(t(X),l=>(u(),v(y,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"眼睛情况"},{default:o(()=>[a(k,{modelValue:t(d).eye_condition,"onUpdate:modelValue":e[29]||(e[29]=l=>t(d).eye_condition=l),class:"checkbox-group"},{default:o(()=>[(u(!0),f(g,null,V(t(z),l=>(u(),v(y,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"头部感觉"},{default:o(()=>[a(k,{modelValue:t(d).head_feeling,"onUpdate:modelValue":e[30]||(e[30]=l=>t(d).head_feeling=l),class:"checkbox-group"},{default:o(()=>[(u(!0),f(g,null,V(t(A),l=>(u(),v(y,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"出汗情况"},{default:o(()=>[a(k,{modelValue:t(d).sweat_condition,"onUpdate:modelValue":e[31]||(e[31]=l=>t(d).sweat_condition=l),class:"checkbox-group"},{default:o(()=>[(u(!0),f(g,null,V(t(J),l=>(u(),v(y,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"皮肤情况"},{default:o(()=>[a(k,{modelValue:t(d).skin_condition,"onUpdate:modelValue":e[32]||(e[32]=l=>t(d).skin_condition=l),class:"checkbox-group"},{default:o(()=>[(u(!0),f(g,null,V(t(K),l=>(u(),v(y,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"小便情况"},{default:o(()=>[a(k,{modelValue:t(d).urine_condition,"onUpdate:modelValue":e[33]||(e[33]=l=>t(d).urine_condition=l),class:"checkbox-group"},{default:o(()=>[(u(!0),f(g,null,V(t(Q),l=>(u(),v(y,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"大便情况"},{default:o(()=>[a(k,{modelValue:t(d).stool_condition,"onUpdate:modelValue":e[34]||(e[34]=l=>t(d).stool_condition=l),class:"checkbox-group"},{default:o(()=>[(u(!0),f(g,null,V(t(h),l=>(u(),v(y,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"腰肾情况"},{default:o(()=>[a(k,{modelValue:t(d).kidney_condition,"onUpdate:modelValue":e[35]||(e[35]=l=>t(d).kidney_condition=l),class:"checkbox-group"},{default:o(()=>[(u(!0),f(g,null,V(t(j),l=>(u(),v(y,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"病情补充",prop:"symptoms"},{default:o(()=>[a(m,{modelValue:t(d).symptoms,"onUpdate:modelValue":e[36]||(e[36]=l=>t(d).symptoms=l),type:"textarea",rows:3,placeholder:"请输入症状"},null,8,["modelValue"])]),_:1})]),_("div",ze,[e[62]||(e[62]=_("div",{class:"section-title"},"既往史",-1)),a(n,{label:""},{default:o(()=>[a(k,{modelValue:t(d).past_history,"onUpdate:modelValue":e[37]||(e[37]=l=>t(d).past_history=l),class:"checkbox-group"},{default:o(()=>[(u(!0),f(g,null,V(t(T),l=>(u(),v(y,{key:l.value,label:l.value},{default:o(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_("div",Ae,[e[73]||(e[73]=_("div",{class:"section-title"},"其他病史",-1)),a(n,{label:"外伤史"},{default:o(()=>[a(U,{modelValue:t(d).trauma_history,"onUpdate:modelValue":e[38]||(e[38]=l=>t(d).trauma_history=l)},{default:o(()=>[a(b,{label:1},{default:o(()=>[...e[63]||(e[63]=[s("有",-1)])]),_:1}),a(b,{label:0},{default:o(()=>[...e[64]||(e[64]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"手术史"},{default:o(()=>[a(U,{modelValue:t(d).surgery_history,"onUpdate:modelValue":e[39]||(e[39]=l=>t(d).surgery_history=l)},{default:o(()=>[a(b,{label:1},{default:o(()=>[...e[65]||(e[65]=[s("有",-1)])]),_:1}),a(b,{label:0},{default:o(()=>[...e[66]||(e[66]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"过敏史"},{default:o(()=>[a(U,{modelValue:t(d).allergy_history,"onUpdate:modelValue":e[40]||(e[40]=l=>t(d).allergy_history=l)},{default:o(()=>[a(b,{label:1},{default:o(()=>[...e[67]||(e[67]=[s("有",-1)])]),_:1}),a(b,{label:0},{default:o(()=>[...e[68]||(e[68]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"家族病史"},{default:o(()=>[a(U,{modelValue:t(d).family_history,"onUpdate:modelValue":e[41]||(e[41]=l=>t(d).family_history=l)},{default:o(()=>[a(b,{label:1},{default:o(()=>[...e[69]||(e[69]=[s("有",-1)])]),_:1}),a(b,{label:0},{default:o(()=>[...e[70]||(e[70]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"妊娠哺乳史"},{default:o(()=>[a(U,{modelValue:t(d).pregnancy_history,"onUpdate:modelValue":e[42]||(e[42]=l=>t(d).pregnancy_history=l)},{default:o(()=>[a(b,{label:1},{default:o(()=>[...e[71]||(e[71]=[s("有",-1)])]),_:1}),a(b,{label:0},{default:o(()=>[...e[72]||(e[72]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_("div",Je,[e[74]||(e[74]=_("div",{class:"section-title"},"诊断详情",-1)),a(n,{label:"舌苔",prop:"tongue_coating"},{default:o(()=>[a(m,{modelValue:t(d).tongue_coating,"onUpdate:modelValue":e[43]||(e[43]=l=>t(d).tongue_coating=l),placeholder:"请输入舌苔情况"},null,8,["modelValue"])]),_:1}),a(n,{label:"脉象",prop:"pulse"},{default:o(()=>[a(m,{modelValue:t(d).pulse,"onUpdate:modelValue":e[44]||(e[44]=l=>t(d).pulse=l),placeholder:"请输入脉象"},null,8,["modelValue"])]),_:1}),a(n,{label:"治则",prop:"treatment_principle"},{default:o(()=>[a(m,{modelValue:t(d).treatment_principle,"onUpdate:modelValue":e[45]||(e[45]=l=>t(d).treatment_principle=l),type:"textarea",rows:3,placeholder:"请输入治则"},null,8,["modelValue"])]),_:1}),a(n,{label:"处方",prop:"prescription"},{default:o(()=>[a(m,{modelValue:t(d).prescription,"onUpdate:modelValue":e[46]||(e[46]=l=>t(d).prescription=l),type:"textarea",rows:3,placeholder:"请输入处方"},null,8,["modelValue"])]),_:1}),a(n,{label:"医嘱",prop:"doctor_advice"},{default:o(()=>[a(m,{modelValue:t(d).doctor_advice,"onUpdate:modelValue":e[47]||(e[47]=l=>t(d).doctor_advice=l),type:"textarea",rows:3,placeholder:"请输入医嘱"},null,8,["modelValue"])]),_:1}),a(n,{label:"备注",prop:"remark"},{default:o(()=>[a(m,{modelValue:t(d).remark,"onUpdate:modelValue":e[48]||(e[48]=l=>t(d).remark=l),type:"textarea",rows:2,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})])]),_:1},8,["model"])]),_("div",Ke,[a(x,{onClick:ee,class:"btn-cancel"},{default:o(()=>[...e[75]||(e[75]=[s("取消",-1)])]),_:1}),a(x,{type:"primary",onClick:ie,loading:t(I),class:"btn-submit"},{default:o(()=>[...e[76]||(e[76]=[s(" 保存 ",-1)])]),_:1},8,["loading"])])])}}}),tl=Me(Qe,[["__scopeId","data-v-9a9240a1"]]);export{tl as default}; diff --git a/server/public/admin/assets/add-nav-BlCml7H6.js b/server/public/admin/assets/add-nav-BlCml7H6.js deleted file mode 100644 index 745a6951..00000000 --- a/server/public/admin/assets/add-nav-BlCml7H6.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./add-nav.vue_vue_type_script_setup_true_lang-BlVjKvgp.js";import"./.pnpm-9dA1PEvN.js";import"./index-CAGpCz28.js";import"./index-CJvXnF8Y.js";import"./picker-zZfe7WrS.js";import"./index-BBemoNXE.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-BioaiRdh.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DWQ_BAep.js";import"./index-CY1mb9yY.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";export{o as default}; diff --git a/server/public/admin/assets/add-nav-zBt-luT9.js b/server/public/admin/assets/add-nav-zBt-luT9.js new file mode 100644 index 00000000..f4a41176 --- /dev/null +++ b/server/public/admin/assets/add-nav-zBt-luT9.js @@ -0,0 +1 @@ +import{_ as o}from"./add-nav.vue_vue_type_script_setup_true_lang-BRlmru-_.js";import"./.pnpm-9dA1PEvN.js";import"./index-fA0EWEUO.js";import"./index-BWzN7QIb.js";import"./picker-CUH4oSOm.js";import"./index-dYaCh-CN.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-CGwMRNkL.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DfI3CPnQ.js";import"./index-xDQ_OZln.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";export{o as default}; diff --git a/server/public/admin/assets/add-nav.vue_vue_type_script_setup_true_lang-BlVjKvgp.js b/server/public/admin/assets/add-nav.vue_vue_type_script_setup_true_lang-BRlmru-_.js similarity index 92% rename from server/public/admin/assets/add-nav.vue_vue_type_script_setup_true_lang-BlVjKvgp.js rename to server/public/admin/assets/add-nav.vue_vue_type_script_setup_true_lang-BRlmru-_.js index 6b4ac7ea..f72b5ae7 100644 --- a/server/public/admin/assets/add-nav.vue_vue_type_script_setup_true_lang-BlVjKvgp.js +++ b/server/public/admin/assets/add-nav.vue_vue_type_script_setup_true_lang-BRlmru-_.js @@ -1 +1 @@ -import{o as E,q as p,r as C,s as l,v as a,u as c,bQ as B,C as N,D as d,O as $,b7 as z,b6 as D,I,K as A,L,p as R}from"./.pnpm-9dA1PEvN.js";import{_ as q}from"./index-CAGpCz28.js";import{_ as F}from"./picker-zZfe7WrS.js";import{_ as K}from"./picker-DWQ_BAep.js";import{c as O,i as r}from"./index-CJvXnF8Y.js";const P={class:"bg-fill-light flex items-center w-full p-4 mb-4"},Q={class:"upload-btn w-[60px] h-[60px]"},S={class:"ml-3 flex-1"},T={class:"flex items-center"},j={class:"flex items-center mt-[18px]"},G={class:"flex-1 flex items-center"},H={class:"drag-move cursor-move ml-auto"},Z=E({__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=R({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 u=O,g=K,b=z,h=F,k=I,w=D,y=q,U=A;return p(),C("div",null,[l("div",null,[a(c(B),{class:"draggable",modelValue:c(m),"onUpdate:modelValue":e[0]||(e[0]=o=>N(m)?m.value=o:null),animation:"300",handle:".drag-move","item-key":"index"},{item:d(({element:o,index:i})=>[(p(),$(y,{class:"w-[467px]",key:i,onClose:n=>v(i)},{default:d(()=>[l("div",P,[a(g,{modelValue:o.image,"onUpdate:modelValue":n=>o.image=n,"upload-class":"bg-body",size:"60px","exclude-domain":""},{upload:d(()=>[l("div",Q,[a(u,{name:"el-icon-Plus",size:20})])]),_:1},8,["modelValue","onUpdate:modelValue"]),l("div",S,[l("div",T,[e[1]||(e[1]=l("span",{class:"text-tx-regular flex-none mr-3"},"名称",-1)),a(b,{modelValue:o.name,"onUpdate:modelValue":n=>o.name=n,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),l("div",j,[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",G,[a(k,{modelValue:o.is_show,"onUpdate:modelValue":n=>o.is_show=n,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),l("div",H,[a(u,{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]=[L("添加",-1)])]),_:1})])])}}});export{Z as _}; +import{o as E,q as p,r as C,s as l,v as a,u as c,bQ as B,C as N,D as d,O as $,b7 as z,b6 as D,I,K as A,L,p as R}from"./.pnpm-9dA1PEvN.js";import{_ as q}from"./index-fA0EWEUO.js";import{_ as F}from"./picker-CUH4oSOm.js";import{_ as K}from"./picker-DfI3CPnQ.js";import{c as O,i as r}from"./index-BWzN7QIb.js";const P={class:"bg-fill-light flex items-center w-full p-4 mb-4"},Q={class:"upload-btn w-[60px] h-[60px]"},S={class:"ml-3 flex-1"},T={class:"flex items-center"},j={class:"flex items-center mt-[18px]"},G={class:"flex-1 flex items-center"},H={class:"drag-move cursor-move ml-auto"},Z=E({__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=R({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 u=O,g=K,b=z,h=F,k=I,w=D,y=q,U=A;return p(),C("div",null,[l("div",null,[a(c(B),{class:"draggable",modelValue:c(m),"onUpdate:modelValue":e[0]||(e[0]=o=>N(m)?m.value=o:null),animation:"300",handle:".drag-move","item-key":"index"},{item:d(({element:o,index:i})=>[(p(),$(y,{class:"w-[467px]",key:i,onClose:n=>v(i)},{default:d(()=>[l("div",P,[a(g,{modelValue:o.image,"onUpdate:modelValue":n=>o.image=n,"upload-class":"bg-body",size:"60px","exclude-domain":""},{upload:d(()=>[l("div",Q,[a(u,{name:"el-icon-Plus",size:20})])]),_:1},8,["modelValue","onUpdate:modelValue"]),l("div",S,[l("div",T,[e[1]||(e[1]=l("span",{class:"text-tx-regular flex-none mr-3"},"名称",-1)),a(b,{modelValue:o.name,"onUpdate:modelValue":n=>o.name=n,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),l("div",j,[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",G,[a(k,{modelValue:o.is_show,"onUpdate:modelValue":n=>o.is_show=n,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),l("div",H,[a(u,{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]=[L("添加",-1)])]),_:1})])])}}});export{Z as _}; diff --git a/server/public/admin/assets/admin-Bb0DLbGs.js b/server/public/admin/assets/admin-CMuAzCyP.js similarity index 84% rename from server/public/admin/assets/admin-Bb0DLbGs.js rename to server/public/admin/assets/admin-CMuAzCyP.js index 2ab49e18..f19fbe5f 100644 --- a/server/public/admin/assets/admin-Bb0DLbGs.js +++ b/server/public/admin/assets/admin-CMuAzCyP.js @@ -1 +1 @@ -import{r as n}from"./index-CJvXnF8Y.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-BWzN7QIb.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-CqsTw3IO.js b/server/public/admin/assets/appointment-Bc2rxQW1.js similarity index 98% rename from server/public/admin/assets/appointment-CqsTw3IO.js rename to server/public/admin/assets/appointment-Bc2rxQW1.js index 201948c2..0a00e01a 100644 --- a/server/public/admin/assets/appointment-CqsTw3IO.js +++ b/server/public/admin/assets/appointment-Bc2rxQW1.js @@ -1 +1 @@ -import{o as De,q as d,O as b,D as s,ac as ke,r as D,bh as Te,P as R,v as i,b9 as Se,b6 as Ve,s as y,T as w,bc as we,bf as Ye,L as k,bm as Ee,F as x,G as N,bn as Ce,b7 as Me,bB as xe,K as Ne,u as Be,by as Ie,ae as O,bi as Ae,B as Le,M as p,ba as G,p as T,n as Re}from"./.pnpm-9dA1PEvN.js";import{d as v,i as Ue}from"./dayjs-BsOAYQJw.js";import{g as We}from"./tcm-DOD9_1Um.js";import{m as $e,i as c,_ as ze}from"./index-CJvXnF8Y.js";import{a as P,r as qe,g as Fe,o as He}from"./doctor-Bmtf1eZE.js";const Oe={class:"text-gray-500"},Ge={class:"doctor-list"},Pe={key:2,class:"appointment-time-container"},Qe={class:"date-selector"},je={key:0,class:"time-slots-container"},Ke={class:"time-slots-header"},Je={class:"time-slots-grid"},Xe=["onClick"],Ze={class:"slot-time"},et={class:"drawer-footer"},tt=De({__name:"appointment",emits:["success"],setup(at,{expose:Q,emit:j}){v.extend(Ue);const Y=p(!1),S=p(!1),B=p(!1),I=p(!1),U=p([]),f=p([]),C=p(""),u=p(0),m=p([]),E=p([]),V=p(!1),_=G({id:0,name:"",gender:"",age:0}),a=G({appointmentMethod:"time",appointmentType:"video",patientId:0,date:"",appointmentTime:"",remark:"",channel_source:"",channel_source_detail:""}),K=new Set(["自媒体4H","自媒体3Q","自媒体3H","自媒体2H","自媒体2Q"]);function W(e){return K.has(String(e??"").trim())}const J=T(()=>{const e=a.channel_source;if(e===""||e==null)return"";const t=E.value.find(l=>String(l.value)===String(e));return t?String(t.name??"").trim():""}),A=T(()=>W(J.value)),X=e=>{const t=E.value.find(o=>String(o.value)===String(e)),l=t?String(t.name??"").trim():"";W(l)||(a.channel_source_detail="")},Z=T(()=>{if(!u.value||m.value.length===0)return[];const e=[],t=["日","一","二","三","四","五","六"],l=v().startOf("day");for(const o of m.value){const r=v(o);if(r.isBefore(l))continue;const g=`${r.format("MM月DD日")} (${t[r.day()]})`;e.push({date:o,label:g})}return e}),ee=T(()=>{if(!a.date||f.value.length===0)return[];const e=v().format("YYYY-MM-DD");if(!(a.date===e))return f.value;const l=v();return f.value.map(o=>{const r=v(`${a.date} ${o.time}`);return r.isBefore(l)||r.isSame(l,"minute")?{...o,available:!1}:o})}),te=()=>v().format("YYYY-MM-DD"),L=T(()=>a.date===te()),ae=T(()=>V.value?L.value?"该患者今日已有挂号(已预约或已过号),不能重复预约今天,请改选其他日期。":"该患者今日已有挂号记录;可为患者预约其他日期的时段。":""),$=T(()=>V.value&&L.value),le=T(()=>!$.value&&u.value&&a.date&&a.appointmentTime&&!!a.channel_source&&(!A.value||a.channel_source_detail.trim()!=="")),ne=j,oe=async e=>{Y.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=[],m.value=[],C.value="",V.value=!1,await re(),await ue(),await ie(),await se()},se=async()=>{V.value=!1;const e=_.id;if(!e)return;const t=v().format("YYYY-MM-DD");try{const l=await P({patient_id:e,start_date:t,end_date:t,page_no:1,page_size:50}),r=((l==null?void 0:l.lists)||[]).find(g=>{const h=Number(g.status);return h===1||h===4});V.value=!!r}catch(l){console.error("检查今日挂号状态失败:",l)}},ie=async()=>{try{const e=await P({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?C.value=`${t.appointment_date} ${t.appointment_time}`:t.appointment_date&&(C.value=t.appointment_date)}}catch(e){console.error("加载就诊记录失败:",e)}},re=async()=>{try{const e=await $e({type:"channels"}),t=((e==null?void 0:e.channels)||[]).filter(l=>l.status!==0);t.sort((l,o)=>{const r=Number((o==null?void 0:o.sort)??0)-Number((l==null?void 0:l.sort)??0);return r!==0?r:Number((o==null?void 0:o.id)??0)-Number((l==null?void 0:l.id)??0)}),E.value=t.map(l=>({...l,value:(l==null?void 0:l.value)!=null&&l.value!==""?String(l.value):""}))}catch(e){console.error("加载渠道来源失败:",e),E.value=[]}},ue=async()=>{try{S.value=!0;const e=await We();U.value=e||[]}catch(e){console.error("加载医生列表失败:",e),c.msgError("加载医生列表失败")}finally{S.value=!1}},de=()=>{u.value=0,a.date="",a.appointmentTime="",f.value=[]},ce=async()=>{a.appointmentTime="",a.date="",f.value=[],m.value=[],u.value&&await me()},me=async()=>{if(u.value)try{S.value=!0;const e=v().format("YYYY-MM-DD"),t=v().add(6,"day").format("YYYY-MM-DD"),l=await qe({doctor_id:u.value,start_date:e,end_date:t,status:1});if(l!=null&&l.lists&&l.lists.length>0){if(m.value=[...new Set(l.lists.map(o=>o.date))],m.value.sort(),await Re(),m.value.length>0){const o=v().format("YYYY-MM-DD");let r=m.value.includes(o)?o:m.value[0];V.value&&r===o&&(r=m.value.find(h=>h>o)??m.value.find(h=>h!==o)??r),z(r)}}else m.value=[],c.msgWarning("该医生暂无排班")}catch(e){console.error("加载医生排班失败:",e),c.msgError("加载医生排班失败"),m.value=[]}finally{S.value=!1}},z=e=>{a.date=e,a.appointmentTime="",u.value&&q()},q=async()=>{if(!(!u.value||!a.date))try{S.value=!0;const e=await Fe({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),c.msgError("加载时间段失败"),f.value=[]}finally{S.value=!1}},pe=e=>{if(!e.available){c.msgWarning("该时间段不可预约");return}a.appointmentTime=e.time},ve=async()=>{if(!(!u.value||!a.date))try{I.value=!0;const e=a.appointmentTime;if(a.appointmentTime="",await q(),e){const t=f.value.find(l=>l.time===e);t&&t.available&&(a.appointmentTime=e)}c.msgSuccess("刷新成功")}catch(e){console.error("刷新失败:",e),c.msgError("刷新失败,请重试")}finally{I.value=!1}},fe=async()=>{if(!u.value){c.msgWarning("请选择医生");return}if(!a.date){c.msgWarning("请选择日期");return}if(!a.appointmentTime){c.msgWarning("请选择预约时间");return}if(!a.channel_source){c.msgWarning("请选择渠道来源");return}if(A.value&&!a.channel_source_detail.trim()){c.msgWarning("请填写自媒体渠道补充信息");return}if($.value){c.msgWarning("该患者今日已有挂号(已预约或已过号),不能重复预约今天,请改选其他日期。");return}try{B.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),await He(e),c.msgSuccess("预约成功"),Y.value=!1,ne("success")}catch(e){console.error("预约失败:",e),c.msgError("预约失败")}finally{B.value=!1}};return Q({open:oe}),(e,t)=>{const l=Te,o=Ve,r=Ye,g=we,h=Ce,_e=Ee,F=Me,H=xe,M=Ne,ge=Se,ye=Le,he=Ae;return d(),b(ye,{modelValue:Y.value,"onUpdate:modelValue":t[8]||(t[8]=n=>Y.value=n),title:"预约问诊",direction:"rtl",size:"60%","close-on-click-modal":!1,"z-index":2e3},{footer:s(()=>[y("div",et,[i(M,{onClick:t[7]||(t[7]=n=>Y.value=!1)},{default:s(()=>[...t[13]||(t[13]=[k("取消",-1)])]),_:1}),i(M,{type:"primary",onClick:fe,loading:B.value,disabled:!le.value},{default:s(()=>[...t[14]||(t[14]=[k(" 确定 ",-1)])]),_:1},8,["loading","disabled"])])]),default:s(()=>[ke((d(),D("div",null,[V.value?(d(),b(l,{key:0,type:L.value?"warning":"info",closable:!1,"show-icon":"",class:"today-block-alert",title:ae.value},null,8,["type","title"])):R("",!0),i(ge,{model:a,"label-width":"100px",class:"appointment-form"},{default:s(()=>[i(o,{label:"上次就诊:"},{default:s(()=>[y("span",Oe,w(C.value||"无就诊记录"),1)]),_:1}),i(o,{label:"预约方式:"},{default:s(()=>[i(g,{modelValue:a.appointmentMethod,"onUpdate:modelValue":t[0]||(t[0]=n=>a.appointmentMethod=n),onChange:de},{default:s(()=>[i(r,{value:"time"},{default:s(()=>[...t[9]||(t[9]=[k("选择时段预约有专医生",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),i(o,{label:"预约类型:"},{default:s(()=>[i(g,{modelValue:a.appointmentType,"onUpdate:modelValue":t[1]||(t[1]=n=>a.appointmentType=n)},{default:s(()=>[i(r,{value:"video"},{default:s(()=>[...t[10]||(t[10]=[k("视频问诊",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),i(o,{label:"选择患者:"},{default:s(()=>[i(g,{modelValue:a.patientId,"onUpdate:modelValue":t[2]||(t[2]=n=>a.patientId=n)},{default:s(()=>[i(r,{value:_.id},{default:s(()=>[k(w(_.name),1)]),_:1},8,["value"])]),_:1},8,["modelValue"])]),_:1}),i(o,{label:"渠道来源:",required:""},{default:s(()=>[i(_e,{modelValue:a.channel_source,"onUpdate:modelValue":t[3]||(t[3]=n=>a.channel_source=n),placeholder:"请选择渠道来源",class:"channel-source-select",onChange:X},{default:s(()=>[(d(!0),D(x,null,N(E.value,n=>(d(),b(h,{key:String(n.value),label:n.name,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),A.value?(d(),b(o,{key:0,label:"自媒体补充:",required:""},{default:s(()=>[i(F,{modelValue:a.channel_source_detail,"onUpdate:modelValue":t[4]||(t[4]=n=>a.channel_source_detail=n),clearable:"",maxlength:"128","show-word-limit":"",placeholder:"请输入自媒体相关补充内容",class:"channel-source-select"},null,8,["modelValue"])]),_:1})):R("",!0),i(o,{label:"预约医生:"},{default:s(()=>[y("div",Ge,[i(g,{modelValue:u.value,"onUpdate:modelValue":t[5]||(t[5]=n=>u.value=n),onChange:ce},{default:s(()=>[(d(!0),D(x,null,N(U.value,n=>(d(),b(r,{key:n.id,value:n.id,class:"doctor-radio"},{default:s(()=>[k(w(n.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])]),_:1}),i(o,{label:"预约时间:"},{default:s(()=>[u.value?u.value&&m.value.length===0?(d(),b(H,{key:1,description:"该医生暂无排班","image-size":80})):(d(),D("div",Pe,[y("div",Qe,[(d(!0),D(x,null,N(Z.value,n=>(d(),b(M,{key:n.date,type:a.date===n.date?"primary":"",onClick:be=>z(n.date),class:"date-button"},{default:s(()=>[k(w(n.label),1)]),_:2},1032,["type","onClick"]))),128))]),a.date?(d(),D("div",je,[y("div",Ke,[t[12]||(t[12]=y("span",{class:"header-title"},"可预约时段",-1)),i(M,{text:"",type:"primary",size:"small",loading:I.value,onClick:ve},{icon:s(()=>[i(Be(Ie))]),default:s(()=>[t[11]||(t[11]=k(" 刷新 ",-1))]),_:1},8,["loading"])]),y("div",Je,[(d(!0),D(x,null,N(ee.value,n=>(d(),D("div",{key:n.time,class:O(["time-slot-item",{available:n.available,unavailable:!n.available,selected:a.appointmentTime===n.time}]),onClick:be=>pe(n)},[y("div",Ze,w(n.time),1),y("div",{class:O(["slot-status",{"status-available":n.available}])},w(n.available?"可约":"已约"),3)],10,Xe))),128))])])):R("",!0)])):(d(),b(H,{key:0,description:"请先选择医生","image-size":80}))]),_:1}),i(o,{label:"备注:"},{default:s(()=>[i(F,{modelValue:a.remark,"onUpdate:modelValue":t[6]||(t[6]=n=>a.remark=n),type:"textarea",rows:2,placeholder:"请输入备注信息"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])),[[he,S.value]])]),_:1},8,["modelValue"])}}}),rt=ze(tt,[["__scopeId","data-v-8ad36a51"]]);export{rt as default}; +import{o as De,q as d,O as b,D as s,ac as ke,r as D,bh as Te,P as R,v as i,b9 as Se,b6 as Ve,s as y,T as w,bc as we,bf as Ye,L as k,bm as Ee,F as x,G as N,bn as Ce,b7 as Me,bB as xe,K as Ne,u as Be,by as Ie,ae as O,bi as Ae,B as Le,M as p,ba as G,p as T,n as Re}from"./.pnpm-9dA1PEvN.js";import{d as v,i as Ue}from"./dayjs-BsOAYQJw.js";import{g as We}from"./tcm-Fi_swgCr.js";import{m as $e,i as c,_ as ze}from"./index-BWzN7QIb.js";import{a as P,r as qe,g as Fe,o as He}from"./doctor-Chj6BcVp.js";const Oe={class:"text-gray-500"},Ge={class:"doctor-list"},Pe={key:2,class:"appointment-time-container"},Qe={class:"date-selector"},je={key:0,class:"time-slots-container"},Ke={class:"time-slots-header"},Je={class:"time-slots-grid"},Xe=["onClick"],Ze={class:"slot-time"},et={class:"drawer-footer"},tt=De({__name:"appointment",emits:["success"],setup(at,{expose:Q,emit:j}){v.extend(Ue);const Y=p(!1),S=p(!1),B=p(!1),I=p(!1),U=p([]),f=p([]),C=p(""),u=p(0),m=p([]),E=p([]),V=p(!1),_=G({id:0,name:"",gender:"",age:0}),a=G({appointmentMethod:"time",appointmentType:"video",patientId:0,date:"",appointmentTime:"",remark:"",channel_source:"",channel_source_detail:""}),K=new Set(["自媒体4H","自媒体3Q","自媒体3H","自媒体2H","自媒体2Q"]);function W(e){return K.has(String(e??"").trim())}const J=T(()=>{const e=a.channel_source;if(e===""||e==null)return"";const t=E.value.find(l=>String(l.value)===String(e));return t?String(t.name??"").trim():""}),A=T(()=>W(J.value)),X=e=>{const t=E.value.find(o=>String(o.value)===String(e)),l=t?String(t.name??"").trim():"";W(l)||(a.channel_source_detail="")},Z=T(()=>{if(!u.value||m.value.length===0)return[];const e=[],t=["日","一","二","三","四","五","六"],l=v().startOf("day");for(const o of m.value){const r=v(o);if(r.isBefore(l))continue;const g=`${r.format("MM月DD日")} (${t[r.day()]})`;e.push({date:o,label:g})}return e}),ee=T(()=>{if(!a.date||f.value.length===0)return[];const e=v().format("YYYY-MM-DD");if(!(a.date===e))return f.value;const l=v();return f.value.map(o=>{const r=v(`${a.date} ${o.time}`);return r.isBefore(l)||r.isSame(l,"minute")?{...o,available:!1}:o})}),te=()=>v().format("YYYY-MM-DD"),L=T(()=>a.date===te()),ae=T(()=>V.value?L.value?"该患者今日已有挂号(已预约或已过号),不能重复预约今天,请改选其他日期。":"该患者今日已有挂号记录;可为患者预约其他日期的时段。":""),$=T(()=>V.value&&L.value),le=T(()=>!$.value&&u.value&&a.date&&a.appointmentTime&&!!a.channel_source&&(!A.value||a.channel_source_detail.trim()!=="")),ne=j,oe=async e=>{Y.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=[],m.value=[],C.value="",V.value=!1,await re(),await ue(),await ie(),await se()},se=async()=>{V.value=!1;const e=_.id;if(!e)return;const t=v().format("YYYY-MM-DD");try{const l=await P({patient_id:e,start_date:t,end_date:t,page_no:1,page_size:50}),r=((l==null?void 0:l.lists)||[]).find(g=>{const h=Number(g.status);return h===1||h===4});V.value=!!r}catch(l){console.error("检查今日挂号状态失败:",l)}},ie=async()=>{try{const e=await P({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?C.value=`${t.appointment_date} ${t.appointment_time}`:t.appointment_date&&(C.value=t.appointment_date)}}catch(e){console.error("加载就诊记录失败:",e)}},re=async()=>{try{const e=await $e({type:"channels"}),t=((e==null?void 0:e.channels)||[]).filter(l=>l.status!==0);t.sort((l,o)=>{const r=Number((o==null?void 0:o.sort)??0)-Number((l==null?void 0:l.sort)??0);return r!==0?r:Number((o==null?void 0:o.id)??0)-Number((l==null?void 0:l.id)??0)}),E.value=t.map(l=>({...l,value:(l==null?void 0:l.value)!=null&&l.value!==""?String(l.value):""}))}catch(e){console.error("加载渠道来源失败:",e),E.value=[]}},ue=async()=>{try{S.value=!0;const e=await We();U.value=e||[]}catch(e){console.error("加载医生列表失败:",e),c.msgError("加载医生列表失败")}finally{S.value=!1}},de=()=>{u.value=0,a.date="",a.appointmentTime="",f.value=[]},ce=async()=>{a.appointmentTime="",a.date="",f.value=[],m.value=[],u.value&&await me()},me=async()=>{if(u.value)try{S.value=!0;const e=v().format("YYYY-MM-DD"),t=v().add(6,"day").format("YYYY-MM-DD"),l=await qe({doctor_id:u.value,start_date:e,end_date:t,status:1});if(l!=null&&l.lists&&l.lists.length>0){if(m.value=[...new Set(l.lists.map(o=>o.date))],m.value.sort(),await Re(),m.value.length>0){const o=v().format("YYYY-MM-DD");let r=m.value.includes(o)?o:m.value[0];V.value&&r===o&&(r=m.value.find(h=>h>o)??m.value.find(h=>h!==o)??r),z(r)}}else m.value=[],c.msgWarning("该医生暂无排班")}catch(e){console.error("加载医生排班失败:",e),c.msgError("加载医生排班失败"),m.value=[]}finally{S.value=!1}},z=e=>{a.date=e,a.appointmentTime="",u.value&&q()},q=async()=>{if(!(!u.value||!a.date))try{S.value=!0;const e=await Fe({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),c.msgError("加载时间段失败"),f.value=[]}finally{S.value=!1}},pe=e=>{if(!e.available){c.msgWarning("该时间段不可预约");return}a.appointmentTime=e.time},ve=async()=>{if(!(!u.value||!a.date))try{I.value=!0;const e=a.appointmentTime;if(a.appointmentTime="",await q(),e){const t=f.value.find(l=>l.time===e);t&&t.available&&(a.appointmentTime=e)}c.msgSuccess("刷新成功")}catch(e){console.error("刷新失败:",e),c.msgError("刷新失败,请重试")}finally{I.value=!1}},fe=async()=>{if(!u.value){c.msgWarning("请选择医生");return}if(!a.date){c.msgWarning("请选择日期");return}if(!a.appointmentTime){c.msgWarning("请选择预约时间");return}if(!a.channel_source){c.msgWarning("请选择渠道来源");return}if(A.value&&!a.channel_source_detail.trim()){c.msgWarning("请填写自媒体渠道补充信息");return}if($.value){c.msgWarning("该患者今日已有挂号(已预约或已过号),不能重复预约今天,请改选其他日期。");return}try{B.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),await He(e),c.msgSuccess("预约成功"),Y.value=!1,ne("success")}catch(e){console.error("预约失败:",e),c.msgError("预约失败")}finally{B.value=!1}};return Q({open:oe}),(e,t)=>{const l=Te,o=Ve,r=Ye,g=we,h=Ce,_e=Ee,F=Me,H=xe,M=Ne,ge=Se,ye=Le,he=Ae;return d(),b(ye,{modelValue:Y.value,"onUpdate:modelValue":t[8]||(t[8]=n=>Y.value=n),title:"预约问诊",direction:"rtl",size:"60%","close-on-click-modal":!1,"z-index":2e3},{footer:s(()=>[y("div",et,[i(M,{onClick:t[7]||(t[7]=n=>Y.value=!1)},{default:s(()=>[...t[13]||(t[13]=[k("取消",-1)])]),_:1}),i(M,{type:"primary",onClick:fe,loading:B.value,disabled:!le.value},{default:s(()=>[...t[14]||(t[14]=[k(" 确定 ",-1)])]),_:1},8,["loading","disabled"])])]),default:s(()=>[ke((d(),D("div",null,[V.value?(d(),b(l,{key:0,type:L.value?"warning":"info",closable:!1,"show-icon":"",class:"today-block-alert",title:ae.value},null,8,["type","title"])):R("",!0),i(ge,{model:a,"label-width":"100px",class:"appointment-form"},{default:s(()=>[i(o,{label:"上次就诊:"},{default:s(()=>[y("span",Oe,w(C.value||"无就诊记录"),1)]),_:1}),i(o,{label:"预约方式:"},{default:s(()=>[i(g,{modelValue:a.appointmentMethod,"onUpdate:modelValue":t[0]||(t[0]=n=>a.appointmentMethod=n),onChange:de},{default:s(()=>[i(r,{value:"time"},{default:s(()=>[...t[9]||(t[9]=[k("选择时段预约有专医生",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),i(o,{label:"预约类型:"},{default:s(()=>[i(g,{modelValue:a.appointmentType,"onUpdate:modelValue":t[1]||(t[1]=n=>a.appointmentType=n)},{default:s(()=>[i(r,{value:"video"},{default:s(()=>[...t[10]||(t[10]=[k("视频问诊",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),i(o,{label:"选择患者:"},{default:s(()=>[i(g,{modelValue:a.patientId,"onUpdate:modelValue":t[2]||(t[2]=n=>a.patientId=n)},{default:s(()=>[i(r,{value:_.id},{default:s(()=>[k(w(_.name),1)]),_:1},8,["value"])]),_:1},8,["modelValue"])]),_:1}),i(o,{label:"渠道来源:",required:""},{default:s(()=>[i(_e,{modelValue:a.channel_source,"onUpdate:modelValue":t[3]||(t[3]=n=>a.channel_source=n),placeholder:"请选择渠道来源",class:"channel-source-select",onChange:X},{default:s(()=>[(d(!0),D(x,null,N(E.value,n=>(d(),b(h,{key:String(n.value),label:n.name,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),A.value?(d(),b(o,{key:0,label:"自媒体补充:",required:""},{default:s(()=>[i(F,{modelValue:a.channel_source_detail,"onUpdate:modelValue":t[4]||(t[4]=n=>a.channel_source_detail=n),clearable:"",maxlength:"128","show-word-limit":"",placeholder:"请输入自媒体相关补充内容",class:"channel-source-select"},null,8,["modelValue"])]),_:1})):R("",!0),i(o,{label:"预约医生:"},{default:s(()=>[y("div",Ge,[i(g,{modelValue:u.value,"onUpdate:modelValue":t[5]||(t[5]=n=>u.value=n),onChange:ce},{default:s(()=>[(d(!0),D(x,null,N(U.value,n=>(d(),b(r,{key:n.id,value:n.id,class:"doctor-radio"},{default:s(()=>[k(w(n.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])]),_:1}),i(o,{label:"预约时间:"},{default:s(()=>[u.value?u.value&&m.value.length===0?(d(),b(H,{key:1,description:"该医生暂无排班","image-size":80})):(d(),D("div",Pe,[y("div",Qe,[(d(!0),D(x,null,N(Z.value,n=>(d(),b(M,{key:n.date,type:a.date===n.date?"primary":"",onClick:be=>z(n.date),class:"date-button"},{default:s(()=>[k(w(n.label),1)]),_:2},1032,["type","onClick"]))),128))]),a.date?(d(),D("div",je,[y("div",Ke,[t[12]||(t[12]=y("span",{class:"header-title"},"可预约时段",-1)),i(M,{text:"",type:"primary",size:"small",loading:I.value,onClick:ve},{icon:s(()=>[i(Be(Ie))]),default:s(()=>[t[11]||(t[11]=k(" 刷新 ",-1))]),_:1},8,["loading"])]),y("div",Je,[(d(!0),D(x,null,N(ee.value,n=>(d(),D("div",{key:n.time,class:O(["time-slot-item",{available:n.available,unavailable:!n.available,selected:a.appointmentTime===n.time}]),onClick:be=>pe(n)},[y("div",Ze,w(n.time),1),y("div",{class:O(["slot-status",{"status-available":n.available}])},w(n.available?"可约":"已约"),3)],10,Xe))),128))])])):R("",!0)])):(d(),b(H,{key:0,description:"请先选择医生","image-size":80}))]),_:1}),i(o,{label:"备注:"},{default:s(()=>[i(F,{modelValue:a.remark,"onUpdate:modelValue":t[6]||(t[6]=n=>a.remark=n),type:"textarea",rows:2,placeholder:"请输入备注信息"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])),[[he,S.value]])]),_:1},8,["modelValue"])}}}),rt=ze(tt,[["__scopeId","data-v-8ad36a51"]]);export{rt as default}; diff --git a/server/public/admin/assets/article-BioaiRdh.js b/server/public/admin/assets/article-CGwMRNkL.js similarity index 93% rename from server/public/admin/assets/article-BioaiRdh.js rename to server/public/admin/assets/article-CGwMRNkL.js index a756574f..d48eb14d 100644 --- a/server/public/admin/assets/article-BioaiRdh.js +++ b/server/public/admin/assets/article-CGwMRNkL.js @@ -1 +1 @@ -import{r as e}from"./index-CJvXnF8Y.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-BWzN7QIb.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-BLv6KQ2V.js b/server/public/admin/assets/asset-TVrE7-t3.js similarity index 90% rename from server/public/admin/assets/asset-BLv6KQ2V.js rename to server/public/admin/assets/asset-TVrE7-t3.js index ccab915a..31ea5e63 100644 --- a/server/public/admin/assets/asset-BLv6KQ2V.js +++ b/server/public/admin/assets/asset-TVrE7-t3.js @@ -1 +1 @@ -import{r as e}from"./index-CJvXnF8Y.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-BWzN7QIb.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-5AX-Kkv7.js b/server/public/admin/assets/attr-5AX-Kkv7.js deleted file mode 100644 index 720784d8..00000000 --- a/server/public/admin/assets/attr-5AX-Kkv7.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-BpC62eFr.js";import"./.pnpm-9dA1PEvN.js";import"./add-nav.vue_vue_type_script_setup_true_lang-BlVjKvgp.js";import"./index-CAGpCz28.js";import"./index-CJvXnF8Y.js";import"./picker-zZfe7WrS.js";import"./index-BBemoNXE.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-BioaiRdh.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DWQ_BAep.js";import"./index-CY1mb9yY.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";export{o as default}; diff --git a/server/public/admin/assets/attr-jjRMoteR.js b/server/public/admin/assets/attr-BOsG9dH5.js similarity index 74% rename from server/public/admin/assets/attr-jjRMoteR.js rename to server/public/admin/assets/attr-BOsG9dH5.js index b916f1b9..a60b8e22 100644 --- a/server/public/admin/assets/attr-jjRMoteR.js +++ b/server/public/admin/assets/attr-BOsG9dH5.js @@ -1 +1 @@ -import{o as b,q as c,r as V,s as v,v as t,D as a,Y as x,X as E,u as l,b9 as g,F as k,p as w}from"./.pnpm-9dA1PEvN.js";import{_ as p}from"./menu-set.vue_vue_type_script_setup_true_lang-DYVX6ffe.js";import"./index-CAGpCz28.js";import"./index-CJvXnF8Y.js";import"./picker-zZfe7WrS.js";import"./index-BBemoNXE.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-BioaiRdh.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DWQ_BAep.js";import"./index-CY1mb9yY.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";const $=b({__name:"attr",props:{modelValue:{type:Object,default:()=>({nav:[],menu:{}})}},emits:["update:modelValue"],setup(s,{emit:u}){const d=s,i=u,o=w({get(){return d.modelValue},set(n){i("update:modelValue",n)}});return(n,e)=>{const r=E,f=x,_=g;return c(),V(k,null,[e[2]||(e[2]=v("div",{class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2"}," pc导航设置 ",-1)),t(_,{class:"mt-4","label-width":"70px"},{default:a(()=>[t(f,{"model-value":"nav"},{default:a(()=>[t(r,{label:"主导航设置",name:"nav"},{default:a(()=>[t(p,{modelValue:l(o).nav,"onUpdate:modelValue":e[0]||(e[0]=m=>l(o).nav=m)},null,8,["modelValue"])]),_:1}),t(r,{label:"菜单设置",name:"menu"},{default:a(()=>[t(p,{modelValue:l(o).menu,"onUpdate:modelValue":e[1]||(e[1]=m=>l(o).menu=m)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],64)}}});export{$ as default}; +import{o as b,q as c,r as V,s as v,v as t,D as a,Y as x,X as E,u as l,b9 as g,F as k,p as w}from"./.pnpm-9dA1PEvN.js";import{_ as p}from"./menu-set.vue_vue_type_script_setup_true_lang-BCI1sZUg.js";import"./index-fA0EWEUO.js";import"./index-BWzN7QIb.js";import"./picker-CUH4oSOm.js";import"./index-dYaCh-CN.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-CGwMRNkL.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DfI3CPnQ.js";import"./index-xDQ_OZln.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";const $=b({__name:"attr",props:{modelValue:{type:Object,default:()=>({nav:[],menu:{}})}},emits:["update:modelValue"],setup(s,{emit:u}){const d=s,i=u,o=w({get(){return d.modelValue},set(n){i("update:modelValue",n)}});return(n,e)=>{const r=E,f=x,_=g;return c(),V(k,null,[e[2]||(e[2]=v("div",{class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2"}," pc导航设置 ",-1)),t(_,{class:"mt-4","label-width":"70px"},{default:a(()=>[t(f,{"model-value":"nav"},{default:a(()=>[t(r,{label:"主导航设置",name:"nav"},{default:a(()=>[t(p,{modelValue:l(o).nav,"onUpdate:modelValue":e[0]||(e[0]=m=>l(o).nav=m)},null,8,["modelValue"])]),_:1}),t(r,{label:"菜单设置",name:"menu"},{default:a(()=>[t(p,{modelValue:l(o).menu,"onUpdate:modelValue":e[1]||(e[1]=m=>l(o).menu=m)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],64)}}});export{$ as default}; diff --git a/server/public/admin/assets/attr-BTZ7nD04.js b/server/public/admin/assets/attr-BTZ7nD04.js new file mode 100644 index 00000000..4a06f604 --- /dev/null +++ b/server/public/admin/assets/attr-BTZ7nD04.js @@ -0,0 +1 @@ +import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-BBZIj_I6.js";import"./.pnpm-9dA1PEvN.js";import"./index-fA0EWEUO.js";import"./index-BWzN7QIb.js";import"./picker-CUH4oSOm.js";import"./index-dYaCh-CN.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-CGwMRNkL.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DfI3CPnQ.js";import"./index-xDQ_OZln.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";export{o as default}; diff --git a/server/public/admin/assets/attr-BiQHjg_9.js b/server/public/admin/assets/attr-BiQHjg_9.js deleted file mode 100644 index 53815e43..00000000 --- a/server/public/admin/assets/attr-BiQHjg_9.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-CrWMGfUm.js";import"./.pnpm-9dA1PEvN.js";import"./index-CAGpCz28.js";import"./index-CJvXnF8Y.js";import"./picker-zZfe7WrS.js";import"./index-BBemoNXE.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-BioaiRdh.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DWQ_BAep.js";import"./index-CY1mb9yY.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";export{o as default}; diff --git a/server/public/admin/assets/attr-C1ts7JDx.js b/server/public/admin/assets/attr-C1ts7JDx.js new file mode 100644 index 00000000..b4f23938 --- /dev/null +++ b/server/public/admin/assets/attr-C1ts7JDx.js @@ -0,0 +1 @@ +import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-DoU7_LM1.js";import"./.pnpm-9dA1PEvN.js";import"./index.vue_vue_type_script_setup_true_lang-DNrIEWkc.js";import"./picker-DfI3CPnQ.js";import"./index-dYaCh-CN.js";import"./index-BWzN7QIb.js";import"./index-xDQ_OZln.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-fA0EWEUO.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";export{o as default}; diff --git a/server/public/admin/assets/attr-C7569dRb.js b/server/public/admin/assets/attr-C7569dRb.js deleted file mode 100644 index 4ee16ec6..00000000 --- a/server/public/admin/assets/attr-C7569dRb.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-B7D0ls_t.js";import"./.pnpm-9dA1PEvN.js";import"./index-CAGpCz28.js";import"./index-CJvXnF8Y.js";import"./picker-zZfe7WrS.js";import"./index-BBemoNXE.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-BioaiRdh.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DWQ_BAep.js";import"./index-CY1mb9yY.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";export{o as default}; diff --git a/server/public/admin/assets/attr-CRjKYwsi.js b/server/public/admin/assets/attr-CRjKYwsi.js new file mode 100644 index 00000000..54289939 --- /dev/null +++ b/server/public/admin/assets/attr-CRjKYwsi.js @@ -0,0 +1 @@ +import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-Dp-D5e3f.js";import"./.pnpm-9dA1PEvN.js";import"./picker-DfI3CPnQ.js";import"./index-dYaCh-CN.js";import"./index-BWzN7QIb.js";import"./index-xDQ_OZln.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-fA0EWEUO.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";export{o as default}; diff --git a/server/public/admin/assets/attr-Dd14GHzC.js b/server/public/admin/assets/attr-Cdokcs2q.js similarity index 92% rename from server/public/admin/assets/attr-Dd14GHzC.js rename to server/public/admin/assets/attr-Cdokcs2q.js index e6fb37d8..863c2e19 100644 --- a/server/public/admin/assets/attr-Dd14GHzC.js +++ b/server/public/admin/assets/attr-Cdokcs2q.js @@ -1 +1 @@ -import{o as R,q as s,O as i,D as t,v as l,bg as S,s as o,bc as q,u as p,bf as A,L as _,P as x,r as b,bQ as G,F as K,b6 as L,b7 as P,I as Q,K as T,b9 as H,p as J,cm as E}from"./.pnpm-9dA1PEvN.js";import{_ as M}from"./index-CAGpCz28.js";import{c as W,i as h,_ as X}from"./index-CJvXnF8Y.js";import{_ as Y}from"./picker-zZfe7WrS.js";import{_ as Z}from"./picker-DWQ_BAep.js";import"./index-BBemoNXE.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-BioaiRdh.js";import"./usePaging-Boz1Q6w3.js";import"./index-CY1mb9yY.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";const ee={class:"flex items-end"},te={key:0,class:"text-xs text-tx-secondary ml-2"},le={key:1,class:"text-xs text-tx-secondary ml-2"},oe={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"},ue={key:0,class:"mt-4"},y=5,ie=R({__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,c=J({get:()=>f.content,set:m=>{g("update:content",m)}}),B=()=>{var m;if(((m=f.content.data)==null?void 0:m.length){var u;if(((u=f.content.data)==null?void 0:u.length)<=1)return h.msgError("最少保留一张图片");const e=E(f.content);e.data.splice(m,1),g("update:content",e)};return(m,e)=>{const u=A,k=q,V=S,v=Z,F=Y,I=P,w=L,N=Q,$=W,j=M,z=T,O=H;return s(),i(O,{"label-width":"70px"},{default:t(()=>[l(V,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[e[5]||(e[5]=o("div",{class:"flex items-end mb-4"},[o("div",{class:"text-base dark:text-[#ffffff] text-[#101010] font-medium"},"展示样式")],-1)),l(k,{modelValue:p(c).style,"onUpdate:modelValue":e[0]||(e[0]=r=>p(c).style=r)},{default:t(()=>[l(u,{value:1},{default:t(()=>[...e[3]||(e[3]=[_("常规",-1)])]),_:1}),l(u,{value:2},{default:t(()=>[...e[4]||(e[4]=[_("大屏",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),d.content.style==1?(s(),i(V,{key:0,shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[e[8]||(e[8]=o("div",{class:"flex items-end mb-4"},[o("div",{class:"text-base text-[#101010] dark:text-[#ffffff] font-medium"},"背景联动")],-1)),l(k,{modelValue:p(c).bg_style,"onUpdate:modelValue":e[1]||(e[1]=r=>p(c).bg_style=r)},{default:t(()=>[l(u,{value:1},{default:t(()=>[...e[6]||(e[6]=[_("开启",-1)])]),_:1}),l(u,{value:0},{default:t(()=>[...e[7]||(e[7]=[_("关闭",-1)])]),_:1})]),_:1},8,["modelValue"]),e[9]||(e[9]=o("div",{class:"p-[15px] rounded-[8px] bg-[#f3f8ff] text-[#136bdf] mt-2"}," 开启背景联动后,需为轮播图设置背景图,轮播图切换时,背景图也跟随切换,此时该页面自身的“页面背景“设置将失效。 ",-1))]),_:1})):x("",!0),l(V,{shadow:"never",class:"!border-none flex-1 mt-2"},{default:t(()=>{var r;return[o("div",ee,[e[10]||(e[10]=o("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",le," 最多添加5张,建议图片尺寸:750px*1100px "))]),o("div",oe,[l(p(G),{class:"draggable",modelValue:p(c).data,"onUpdate:modelValue":e[2]||(e[2]=a=>p(c).data=a),animation:"300",handle:".drag-move","item-key":"index"},{item:t(({element:a,index:U})=>[(s(),i(j,{key:U,onClose:n=>D(U),class:"w-full"},{default:t(()=>[o("div",ae,[o("div",ne,[d.content.style==1?(s(),b(K,{key:0},[l(v,{size:"122px",modelValue:a.image,"onUpdate:modelValue":n=>a.image=n,"upload-class":"bg-body","exclude-domain":""},{upload:t(()=>[...e[11]||(e[11]=[o("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(),i(v,{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]=[o("div",{class:"w-[122px] h-[122px] banner-upload-btn"}," 背景图 ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])):x("",!0)],64)):(s(),i(v,{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"]))]),o("div",se,[l(w,{class:"mt-[18px]",label:"图片链接"},{default:t(()=>[d.type=="mobile"?(s(),i(F,{key:0,modelValue:a.link,"onUpdate:modelValue":n=>a.link=n},null,8,["modelValue","onUpdate:modelValue"])):x("",!0),d.type=="pc"?(s(),i(I,{key:1,placeholder:"请输入链接",modelValue:a.link.path,"onUpdate:modelValue":n=>a.link.path=n},null,8,["modelValue","onUpdate:modelValue"])):x("",!0)]),_:2},1024),l(w,{label:"是否显示",class:"mt-[18px] !mb-0"},{default:t(()=>[o("div",de,[l(N,{modelValue:a.is_show,"onUpdate:modelValue":n=>a.is_show=n,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),o("div",me,[l($,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"])]),((r=d.content.data)==null?void 0:r.length)[...e[13]||(e[13]=[_("添加图片",-1)])]),_:1})])):x("",!0)]}),_:1})]),_:1})}}}),Ue=X(ie,[["__scopeId","data-v-3e6394fe"]]);export{Ue as default}; +import{o as R,q as s,O as i,D as t,v as l,bg as S,s as o,bc as q,u as p,bf as A,L as _,P as x,r as b,bQ as G,F as K,b6 as L,b7 as P,I as Q,K as T,b9 as H,p as J,cm as E}from"./.pnpm-9dA1PEvN.js";import{_ as M}from"./index-fA0EWEUO.js";import{c as W,i as h,_ as X}from"./index-BWzN7QIb.js";import{_ as Y}from"./picker-CUH4oSOm.js";import{_ as Z}from"./picker-DfI3CPnQ.js";import"./index-dYaCh-CN.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-CGwMRNkL.js";import"./usePaging-Boz1Q6w3.js";import"./index-xDQ_OZln.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";const ee={class:"flex items-end"},te={key:0,class:"text-xs text-tx-secondary ml-2"},le={key:1,class:"text-xs text-tx-secondary ml-2"},oe={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"},ue={key:0,class:"mt-4"},y=5,ie=R({__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,c=J({get:()=>f.content,set:m=>{g("update:content",m)}}),B=()=>{var m;if(((m=f.content.data)==null?void 0:m.length){var u;if(((u=f.content.data)==null?void 0:u.length)<=1)return h.msgError("最少保留一张图片");const e=E(f.content);e.data.splice(m,1),g("update:content",e)};return(m,e)=>{const u=A,k=q,V=S,v=Z,F=Y,I=P,w=L,N=Q,$=W,j=M,z=T,O=H;return s(),i(O,{"label-width":"70px"},{default:t(()=>[l(V,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[e[5]||(e[5]=o("div",{class:"flex items-end mb-4"},[o("div",{class:"text-base dark:text-[#ffffff] text-[#101010] font-medium"},"展示样式")],-1)),l(k,{modelValue:p(c).style,"onUpdate:modelValue":e[0]||(e[0]=r=>p(c).style=r)},{default:t(()=>[l(u,{value:1},{default:t(()=>[...e[3]||(e[3]=[_("常规",-1)])]),_:1}),l(u,{value:2},{default:t(()=>[...e[4]||(e[4]=[_("大屏",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),d.content.style==1?(s(),i(V,{key:0,shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[e[8]||(e[8]=o("div",{class:"flex items-end mb-4"},[o("div",{class:"text-base text-[#101010] dark:text-[#ffffff] font-medium"},"背景联动")],-1)),l(k,{modelValue:p(c).bg_style,"onUpdate:modelValue":e[1]||(e[1]=r=>p(c).bg_style=r)},{default:t(()=>[l(u,{value:1},{default:t(()=>[...e[6]||(e[6]=[_("开启",-1)])]),_:1}),l(u,{value:0},{default:t(()=>[...e[7]||(e[7]=[_("关闭",-1)])]),_:1})]),_:1},8,["modelValue"]),e[9]||(e[9]=o("div",{class:"p-[15px] rounded-[8px] bg-[#f3f8ff] text-[#136bdf] mt-2"}," 开启背景联动后,需为轮播图设置背景图,轮播图切换时,背景图也跟随切换,此时该页面自身的“页面背景“设置将失效。 ",-1))]),_:1})):x("",!0),l(V,{shadow:"never",class:"!border-none flex-1 mt-2"},{default:t(()=>{var r;return[o("div",ee,[e[10]||(e[10]=o("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",le," 最多添加5张,建议图片尺寸:750px*1100px "))]),o("div",oe,[l(p(G),{class:"draggable",modelValue:p(c).data,"onUpdate:modelValue":e[2]||(e[2]=a=>p(c).data=a),animation:"300",handle:".drag-move","item-key":"index"},{item:t(({element:a,index:U})=>[(s(),i(j,{key:U,onClose:n=>D(U),class:"w-full"},{default:t(()=>[o("div",ae,[o("div",ne,[d.content.style==1?(s(),b(K,{key:0},[l(v,{size:"122px",modelValue:a.image,"onUpdate:modelValue":n=>a.image=n,"upload-class":"bg-body","exclude-domain":""},{upload:t(()=>[...e[11]||(e[11]=[o("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(),i(v,{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]=[o("div",{class:"w-[122px] h-[122px] banner-upload-btn"}," 背景图 ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])):x("",!0)],64)):(s(),i(v,{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"]))]),o("div",se,[l(w,{class:"mt-[18px]",label:"图片链接"},{default:t(()=>[d.type=="mobile"?(s(),i(F,{key:0,modelValue:a.link,"onUpdate:modelValue":n=>a.link=n},null,8,["modelValue","onUpdate:modelValue"])):x("",!0),d.type=="pc"?(s(),i(I,{key:1,placeholder:"请输入链接",modelValue:a.link.path,"onUpdate:modelValue":n=>a.link.path=n},null,8,["modelValue","onUpdate:modelValue"])):x("",!0)]),_:2},1024),l(w,{label:"是否显示",class:"mt-[18px] !mb-0"},{default:t(()=>[o("div",de,[l(N,{modelValue:a.is_show,"onUpdate:modelValue":n=>a.is_show=n,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),o("div",me,[l($,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"])]),((r=d.content.data)==null?void 0:r.length)[...e[13]||(e[13]=[_("添加图片",-1)])]),_:1})])):x("",!0)]}),_:1})]),_:1})}}}),Ue=X(ie,[["__scopeId","data-v-3e6394fe"]]);export{Ue as default}; diff --git a/server/public/admin/assets/attr-Cosxc1jv.js b/server/public/admin/assets/attr-Cosxc1jv.js deleted file mode 100644 index 5fbc4558..00000000 --- a/server/public/admin/assets/attr-Cosxc1jv.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-Blibzxk0.js";import"./.pnpm-9dA1PEvN.js";import"./add-nav.vue_vue_type_script_setup_true_lang-BlVjKvgp.js";import"./index-CAGpCz28.js";import"./index-CJvXnF8Y.js";import"./picker-zZfe7WrS.js";import"./index-BBemoNXE.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-BioaiRdh.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DWQ_BAep.js";import"./index-CY1mb9yY.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";export{o as default}; diff --git a/server/public/admin/assets/attr-DA0TXcU9.js b/server/public/admin/assets/attr-DA0TXcU9.js new file mode 100644 index 00000000..b616f09d --- /dev/null +++ b/server/public/admin/assets/attr-DA0TXcU9.js @@ -0,0 +1 @@ +import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-sgS4D2G0.js";import"./.pnpm-9dA1PEvN.js";import"./add-nav.vue_vue_type_script_setup_true_lang-BRlmru-_.js";import"./index-fA0EWEUO.js";import"./index-BWzN7QIb.js";import"./picker-CUH4oSOm.js";import"./index-dYaCh-CN.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-CGwMRNkL.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DfI3CPnQ.js";import"./index-xDQ_OZln.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";export{o as default}; diff --git a/server/public/admin/assets/attr-DK2_P6_e.js b/server/public/admin/assets/attr-DK2_P6_e.js new file mode 100644 index 00000000..68d8e7f0 --- /dev/null +++ b/server/public/admin/assets/attr-DK2_P6_e.js @@ -0,0 +1 @@ +import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-BKeU9pV7.js";import"./.pnpm-9dA1PEvN.js";import"./add-nav.vue_vue_type_script_setup_true_lang-BRlmru-_.js";import"./index-fA0EWEUO.js";import"./index-BWzN7QIb.js";import"./picker-CUH4oSOm.js";import"./index-dYaCh-CN.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-CGwMRNkL.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DfI3CPnQ.js";import"./index-xDQ_OZln.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";export{o as default}; diff --git a/server/public/admin/assets/attr-DcYaGTU3.js b/server/public/admin/assets/attr-DcYaGTU3.js deleted file mode 100644 index 5e377e0c..00000000 --- a/server/public/admin/assets/attr-DcYaGTU3.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-DBDa4pLA.js";import"./.pnpm-9dA1PEvN.js";import"./index-CAGpCz28.js";import"./index-CJvXnF8Y.js";import"./picker-zZfe7WrS.js";import"./index-BBemoNXE.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-BioaiRdh.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DWQ_BAep.js";import"./index-CY1mb9yY.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./index.vue_vue_type_script_setup_true_lang-DNrIEWkc.js";export{o as default}; diff --git a/server/public/admin/assets/attr-ka3-L-Q0.js b/server/public/admin/assets/attr-ka3-L-Q0.js deleted file mode 100644 index 25897dd3..00000000 --- a/server/public/admin/assets/attr-ka3-L-Q0.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-CJeNiwLV.js";import"./.pnpm-9dA1PEvN.js";import"./picker-DWQ_BAep.js";import"./index-BBemoNXE.js";import"./index-CJvXnF8Y.js";import"./index-CY1mb9yY.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-CAGpCz28.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";export{o as default}; diff --git a/server/public/admin/assets/attr-pwvlegd0.js b/server/public/admin/assets/attr-pwvlegd0.js new file mode 100644 index 00000000..474fccdd --- /dev/null +++ b/server/public/admin/assets/attr-pwvlegd0.js @@ -0,0 +1 @@ +import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-TdHwRkcj.js";import"./.pnpm-9dA1PEvN.js";import"./index-fA0EWEUO.js";import"./index-BWzN7QIb.js";import"./picker-CUH4oSOm.js";import"./index-dYaCh-CN.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-CGwMRNkL.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DfI3CPnQ.js";import"./index-xDQ_OZln.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";export{o as default}; diff --git a/server/public/admin/assets/attr-setting-5aG8-EQp.js b/server/public/admin/assets/attr-setting-5aG8-EQp.js new file mode 100644 index 00000000..ca67ad07 --- /dev/null +++ b/server/public/admin/assets/attr-setting-5aG8-EQp.js @@ -0,0 +1 @@ +import{_ as o}from"./attr-setting.vue_vue_type_script_setup_true_lang-BY03Sp45.js";import"./.pnpm-9dA1PEvN.js";import"./index-QcrBqU8R.js";import"./attr-Cdokcs2q.js";import"./index-fA0EWEUO.js";import"./index-BWzN7QIb.js";import"./picker-CUH4oSOm.js";import"./index-dYaCh-CN.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-CGwMRNkL.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DfI3CPnQ.js";import"./index-xDQ_OZln.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./content.vue_vue_type_script_setup_true_lang-rFCJ-5da.js";import"./decoration-img-D7jfQZHh.js";import"./attr.vue_vue_type_script_setup_true_lang-Dp-D5e3f.js";import"./content-DPbffuTN.js";import"./attr.vue_vue_type_script_setup_true_lang-TdHwRkcj.js";import"./content.vue_vue_type_script_setup_true_lang-uo5gNfRj.js";import"./attr.vue_vue_type_script_setup_true_lang-BKeU9pV7.js";import"./add-nav.vue_vue_type_script_setup_true_lang-BRlmru-_.js";import"./content-MvOmvsN5.js";import"./attr.vue_vue_type_script_setup_true_lang-sgS4D2G0.js";import"./content.vue_vue_type_script_setup_true_lang-BJQyKf9U.js";import"./attr.vue_vue_type_script_setup_true_lang-BwzlMjDK.js";import"./content-CoRLP3ZG.js";import"./decoration-CvemIMkE.js";import"./attr.vue_vue_type_script_setup_true_lang-DoU7_LM1.js";import"./index.vue_vue_type_script_setup_true_lang-DNrIEWkc.js";import"./content-B1h0mUKe.js";import"./content.vue_vue_type_script_setup_true_lang-DyhL_D8z.js";import"./attr.vue_vue_type_script_setup_true_lang-Cf_ppg4c.js";import"./content-FlAi4LQU.js";import"./attr.vue_vue_type_script_setup_true_lang-BBZIj_I6.js";import"./content.vue_vue_type_script_setup_true_lang-epBYaUkx.js";import"./attr.vue_vue_type_script_setup_true_lang-CPgMFDSF.js";import"./content-Cwp3TvMF.js";export{o as default}; diff --git a/server/public/admin/assets/attr-setting-LN-GrAiF.js b/server/public/admin/assets/attr-setting-LN-GrAiF.js deleted file mode 100644 index a2213955..00000000 --- a/server/public/admin/assets/attr-setting-LN-GrAiF.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./attr-setting.vue_vue_type_script_setup_true_lang-BuFYl1eM.js";import"./.pnpm-9dA1PEvN.js";import"./index-Y_sgRENm.js";import"./attr-Dd14GHzC.js";import"./index-CAGpCz28.js";import"./index-CJvXnF8Y.js";import"./picker-zZfe7WrS.js";import"./index-BBemoNXE.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-BioaiRdh.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DWQ_BAep.js";import"./index-CY1mb9yY.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./content.vue_vue_type_script_setup_true_lang-aS7Unfcn.js";import"./decoration-img-BjTNsUc3.js";import"./attr.vue_vue_type_script_setup_true_lang-CJeNiwLV.js";import"./content-CCa1I_Vf.js";import"./attr.vue_vue_type_script_setup_true_lang-CrWMGfUm.js";import"./content.vue_vue_type_script_setup_true_lang-9FJV-g10.js";import"./attr.vue_vue_type_script_setup_true_lang-BpC62eFr.js";import"./add-nav.vue_vue_type_script_setup_true_lang-BlVjKvgp.js";import"./content-B8nUs9Lh.js";import"./attr.vue_vue_type_script_setup_true_lang-Blibzxk0.js";import"./content.vue_vue_type_script_setup_true_lang-D39DKNeD.js";import"./attr.vue_vue_type_script_setup_true_lang-BwzlMjDK.js";import"./content-BJh8f8yZ.js";import"./decoration-CcdLOa7h.js";import"./attr.vue_vue_type_script_setup_true_lang-B0T4O1-3.js";import"./index.vue_vue_type_script_setup_true_lang-DNrIEWkc.js";import"./content-B6ombiky.js";import"./content.vue_vue_type_script_setup_true_lang-Bb4PsYrv.js";import"./attr.vue_vue_type_script_setup_true_lang-Cf_ppg4c.js";import"./content-Dvj16Wpi.js";import"./attr.vue_vue_type_script_setup_true_lang-B7D0ls_t.js";import"./content.vue_vue_type_script_setup_true_lang-CHj8JtNb.js";import"./attr.vue_vue_type_script_setup_true_lang-CPgMFDSF.js";import"./content-CG3sk7hP.js";export{o as default}; diff --git a/server/public/admin/assets/attr-setting.vue_vue_type_script_setup_true_lang-BuFYl1eM.js b/server/public/admin/assets/attr-setting.vue_vue_type_script_setup_true_lang-BY03Sp45.js similarity index 94% rename from server/public/admin/assets/attr-setting.vue_vue_type_script_setup_true_lang-BuFYl1eM.js rename to server/public/admin/assets/attr-setting.vue_vue_type_script_setup_true_lang-BY03Sp45.js index fd48f5c1..3cde410e 100644 --- a/server/public/admin/assets/attr-setting.vue_vue_type_script_setup_true_lang-BuFYl1eM.js +++ b/server/public/admin/assets/attr-setting.vue_vue_type_script_setup_true_lang-BY03Sp45.js @@ -1 +1 @@ -import{o as g,q as a,r as b,v as c,bg as y,D as r,s as x,T as _,a2 as h,O as i,a3 as w,a4 as v,u as C}from"./.pnpm-9dA1PEvN.js";import{e as k}from"./index-Y_sgRENm.js";const B={class:"pages-setting"},D={class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2 text-xl font-medium"},O=g({__name:"attr-setting",props:{widget:{type:Object,default:()=>({})},type:{type:String,default:"mobile"}},emits:["update:content"],setup(e,{emit:d}){const m=d,p=n=>{m("update:content",n)};return(n,E)=>{const f=y,u=h;return a(),b("div",B,[c(f,{shadow:"never",class:"!border-none flex"},{default:r(()=>{var t;return[x("div",D,_((t=e.widget)==null?void 0:t.title),1)]}),_:1}),c(u,{class:"w-full",style:{height:"calc(100% - 60px)"}},{default:r(()=>{var t,s,o,l;return[(a(),i(w,null,[(a(),i(v((s=C(k)[(t=e.widget)==null?void 0:t.name])==null?void 0:s.attr),{content:(o=e.widget)==null?void 0:o.content,styles:(l=e.widget)==null?void 0:l.styles,type:e.type,"onUpdate:content":p},null,40,["content","styles","type"]))],1024))]}),_:1})])}}});export{O as _}; +import{o as g,q as a,r as b,v as c,bg as y,D as r,s as x,T as _,a2 as h,O as i,a3 as w,a4 as v,u as C}from"./.pnpm-9dA1PEvN.js";import{e as k}from"./index-QcrBqU8R.js";const B={class:"pages-setting"},D={class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2 text-xl font-medium"},O=g({__name:"attr-setting",props:{widget:{type:Object,default:()=>({})},type:{type:String,default:"mobile"}},emits:["update:content"],setup(e,{emit:d}){const m=d,p=n=>{m("update:content",n)};return(n,E)=>{const f=y,u=h;return a(),b("div",B,[c(f,{shadow:"never",class:"!border-none flex"},{default:r(()=>{var t;return[x("div",D,_((t=e.widget)==null?void 0:t.title),1)]}),_:1}),c(u,{class:"w-full",style:{height:"calc(100% - 60px)"}},{default:r(()=>{var t,s,o,l;return[(a(),i(w,null,[(a(),i(v((s=C(k)[(t=e.widget)==null?void 0:t.name])==null?void 0:s.attr),{content:(o=e.widget)==null?void 0:o.content,styles:(l=e.widget)==null?void 0:l.styles,type:e.type,"onUpdate:content":p},null,40,["content","styles","type"]))],1024))]}),_:1})])}}});export{O as _}; diff --git a/server/public/admin/assets/attr-sy3DEh-_.js b/server/public/admin/assets/attr-sy3DEh-_.js deleted file mode 100644 index 30add3fc..00000000 --- a/server/public/admin/assets/attr-sy3DEh-_.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-B0T4O1-3.js";import"./.pnpm-9dA1PEvN.js";import"./index.vue_vue_type_script_setup_true_lang-DNrIEWkc.js";import"./picker-DWQ_BAep.js";import"./index-BBemoNXE.js";import"./index-CJvXnF8Y.js";import"./index-CY1mb9yY.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-CAGpCz28.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";export{o as default}; diff --git a/server/public/admin/assets/attr-uDQyHJm6.js b/server/public/admin/assets/attr-uDQyHJm6.js new file mode 100644 index 00000000..a54389d8 --- /dev/null +++ b/server/public/admin/assets/attr-uDQyHJm6.js @@ -0,0 +1 @@ +import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-CxnwuLiq.js";import"./.pnpm-9dA1PEvN.js";import"./index-fA0EWEUO.js";import"./index-BWzN7QIb.js";import"./picker-CUH4oSOm.js";import"./index-dYaCh-CN.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-CGwMRNkL.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DfI3CPnQ.js";import"./index-xDQ_OZln.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./index.vue_vue_type_script_setup_true_lang-DNrIEWkc.js";export{o as default}; diff --git a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-B7D0ls_t.js b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BBZIj_I6.js similarity index 93% rename from server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-B7D0ls_t.js rename to server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BBZIj_I6.js index f5261461..598a0d3a 100644 --- a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-B7D0ls_t.js +++ b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BBZIj_I6.js @@ -1 +1 @@ -import{o as I,q as i,r as g,v as t,D as l,bg as O,s,u,bQ as j,O as F,b6 as q,b7 as z,I as A,K,L,P,b9 as Q,p as R,cm as b}from"./.pnpm-9dA1PEvN.js";import{_ as S}from"./index-CAGpCz28.js";import{c as T,i as v}from"./index-CJvXnF8Y.js";import{_ as G}from"./picker-zZfe7WrS.js";import{_ as H}from"./picker-DWQ_BAep.js";const J={class:"bg-fill-light flex items-center w-full p-4 mt-4"},M={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"},p=5,le=I({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(r,{emit:h}){const m=h,c=r,f=R({get:()=>c.content,set:a=>{m("update:content",a)}}),k=()=>{var a;if(((a=c.content.data)==null?void 0:a.length){var d;if(((d=c.content.data)==null?void 0:d.length)<=1)return v.msgError("最少保留一张图片");const e=b(c.content);e.data.splice(a,1),m("update:content",e)};return(a,e)=>{const d=H,y=z,_=q,E=G,U=A,C=T,B=S,D=K,N=O,$=Q;return i(),g("div",null,[t($,{"label-width":"70px"},{default:l(()=>[t(N,{shadow:"never",class:"!border-none flex mt-2"},{default:l(()=>{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(u(j),{class:"draggable",modelValue:u(f).data,"onUpdate:modelValue":e[0]||(e[0]=o=>u(f).data=o),animation:"300",handle:".drag-move","item-key":"index"},{item:l(({element:o,index:V})=>[(i(),F(B,{key:V,onClose:n=>w(V),class:"w-[467px]"},{default:l(()=>[s("div",J,[t(d,{modelValue:o.image,"onUpdate:modelValue":n=>o.image=n,"upload-class":"bg-body","exclude-domain":""},null,8,["modelValue","onUpdate:modelValue"]),s("div",M,[t(_,{label:"图片名称"},{default:l(()=>[t(y,{modelValue:o.name,"onUpdate:modelValue":n=>o.name=n,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),t(_,{class:"mt-[18px]",label:"图片链接"},{default:l(()=>[t(E,{modelValue:o.link,"onUpdate:modelValue":n=>o.link=n},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),t(_,{label:"是否显示",class:"mt-[18px]"},{default:l(()=>[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=r.content.data)==null?void 0:x.length)[...e[1]||(e[1]=[L("添加图片",-1)])]),_:1})])):P("",!0)]}),_:1})]),_:1})])}}});export{le as _}; +import{o as I,q as i,r as g,v as t,D as l,bg as O,s,u,bQ as j,O as F,b6 as q,b7 as z,I as A,K,L,P,b9 as Q,p as R,cm as b}from"./.pnpm-9dA1PEvN.js";import{_ as S}from"./index-fA0EWEUO.js";import{c as T,i as v}from"./index-BWzN7QIb.js";import{_ as G}from"./picker-CUH4oSOm.js";import{_ as H}from"./picker-DfI3CPnQ.js";const J={class:"bg-fill-light flex items-center w-full p-4 mt-4"},M={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"},p=5,le=I({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(r,{emit:h}){const m=h,c=r,f=R({get:()=>c.content,set:a=>{m("update:content",a)}}),k=()=>{var a;if(((a=c.content.data)==null?void 0:a.length){var d;if(((d=c.content.data)==null?void 0:d.length)<=1)return v.msgError("最少保留一张图片");const e=b(c.content);e.data.splice(a,1),m("update:content",e)};return(a,e)=>{const d=H,y=z,_=q,E=G,U=A,C=T,B=S,D=K,N=O,$=Q;return i(),g("div",null,[t($,{"label-width":"70px"},{default:l(()=>[t(N,{shadow:"never",class:"!border-none flex mt-2"},{default:l(()=>{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(u(j),{class:"draggable",modelValue:u(f).data,"onUpdate:modelValue":e[0]||(e[0]=o=>u(f).data=o),animation:"300",handle:".drag-move","item-key":"index"},{item:l(({element:o,index:V})=>[(i(),F(B,{key:V,onClose:n=>w(V),class:"w-[467px]"},{default:l(()=>[s("div",J,[t(d,{modelValue:o.image,"onUpdate:modelValue":n=>o.image=n,"upload-class":"bg-body","exclude-domain":""},null,8,["modelValue","onUpdate:modelValue"]),s("div",M,[t(_,{label:"图片名称"},{default:l(()=>[t(y,{modelValue:o.name,"onUpdate:modelValue":n=>o.name=n,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),t(_,{class:"mt-[18px]",label:"图片链接"},{default:l(()=>[t(E,{modelValue:o.link,"onUpdate:modelValue":n=>o.link=n},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),t(_,{label:"是否显示",class:"mt-[18px]"},{default:l(()=>[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=r.content.data)==null?void 0:x.length)[...e[1]||(e[1]=[L("添加图片",-1)])]),_:1})])):P("",!0)]}),_:1})]),_:1})])}}});export{le as _}; diff --git a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BpC62eFr.js b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BKeU9pV7.js similarity index 96% rename from server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BpC62eFr.js rename to server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BKeU9pV7.js index 011338c4..b08e3023 100644 --- a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BpC62eFr.js +++ b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BKeU9pV7.js @@ -1 +1 @@ -import{o as V,q as E,r as w,v as t,D as o,bg as y,b6 as g,b7 as B,u as s,s as a,bc as C,bf as N,L as u,b9 as U,p as j}from"./.pnpm-9dA1PEvN.js";import{_ as k}from"./add-nav.vue_vue_type_script_setup_true_lang-BlVjKvgp.js";const D={class:"flex-1"},O=V({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(p,{emit:i}){const f=i,_=p,l=j({get:()=>_.content,set:m=>{f("update:content",m)}});return(m,e)=>{const x=B,c=g,d=y,r=N,b=C,v=U;return E(),w("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(b,{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",D,[t(k,{modelValue:s(l).data,"onUpdate:modelValue":e[2]||(e[2]=n=>s(l).data=n)},null,8,["modelValue"])])]),_:1})]),_:1})])}}});export{O as _}; +import{o as V,q as E,r as w,v as t,D as o,bg as y,b6 as g,b7 as B,u as s,s as a,bc as C,bf as N,L as u,b9 as U,p as j}from"./.pnpm-9dA1PEvN.js";import{_ as k}from"./add-nav.vue_vue_type_script_setup_true_lang-BRlmru-_.js";const D={class:"flex-1"},O=V({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(p,{emit:i}){const f=i,_=p,l=j({get:()=>_.content,set:m=>{f("update:content",m)}});return(m,e)=>{const x=B,c=g,d=y,r=N,b=C,v=U;return E(),w("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(b,{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",D,[t(k,{modelValue:s(l).data,"onUpdate:modelValue":e[2]||(e[2]=n=>s(l).data=n)},null,8,["modelValue"])])]),_:1})]),_:1})])}}});export{O as _}; diff --git a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-DBDa4pLA.js b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-CxnwuLiq.js similarity index 96% rename from server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-DBDa4pLA.js rename to server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-CxnwuLiq.js index 2175f4d6..744ada26 100644 --- a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-DBDa4pLA.js +++ b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-CxnwuLiq.js @@ -1 +1 @@ -import{o as j,q as V,r as v,v as e,D as t,s,L as h,bg as q,b6 as A,u as m,bQ as K,ae as M,b7 as O,I as Q,K as R,T as w,P as G,b9 as H,F as J,p as y}from"./.pnpm-9dA1PEvN.js";import{_ as W}from"./index-CAGpCz28.js";import{_ as X}from"./picker-zZfe7WrS.js";import{_ as Y}from"./picker-DWQ_BAep.js";import{c as Z,i as b}from"./index-CJvXnF8Y.js";import{_ as ee}from"./index.vue_vue_type_script_setup_true_lang-DNrIEWkc.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]"},se={class:"upload-btn w-[60px] h-[60px]"},ae={class:"flex-1 flex items-center"},ne={class:"drag-move cursor-move ml-auto"},de={key:0,class:"mt-4"},c=5,p=2,_e=j({__name:"attr",props:{modelValue:{type:Object,default:()=>({list:[],style:{}})}},emits:["update:modelValue"],setup(k,{emit:U}){const C=k,E=U,n=y({get(){return C.modelValue},set(a){E("update:modelValue",a)}}),$=y(()=>{var a;return((a=n.value.list)==null?void 0:a.filter(l=>l.is_show=="1"))||[]}),z=()=>{var a;((a=n.value.list)==null?void 0:a.length){var l;if(((l=n.value.list)==null?void 0:l.length)<=p)return b.msgError(`最少保留${p}个`);n.value.list.splice(a,1)},D=a=>a.relatedContext.index!=0,F=a=>{if($.value.length{const _=q,x=ee,i=A,f=Z,g=Y,N=O,I=X,P=Q,S=W,T=R,L=H;return V(),v(J,null,[e(_,{shadow:"never",class:"!border-none flex"},{default:t(()=>[...l[3]||(l[3]=[s("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(" 底部导航设置 "),s("span",{class:"form-tips ml-[10px] !mt-0"}," 至少添加2个导航,最多添加5个导航 ")],-1)])]),_:1}),e(L,{"label-width":"70px"},{default:t(()=>[e(_,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[l[4]||(l[4]=s("div",{class:"flex items-end mb-4"},[s("div",{class:"text-base text-[#101010] font-medium"},"展示样式")],-1)),e(i,{label:"默认颜色"},{default:t(()=>[e(x,{class:"max-w-[400px]",modelValue:m(n).style.default_color,"onUpdate:modelValue":l[0]||(l[0]=u=>m(n).style.default_color=u),"default-color":"#999999"},null,8,["modelValue"])]),_:1}),e(i,{label:"选中颜色",style:{"margin-bottom":"0"}},{default:t(()=>[e(x,{class:"max-w-[400px]",modelValue:m(n).style.selected_color,"onUpdate:modelValue":l[1]||(l[1]=u=>m(n).style.selected_color=u),"default-color":"#4173ff"},null,8,["modelValue"])]),_:1})]),_:1}),e(_,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>{var u;return[l[7]||(l[7]=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"},"建议图片尺寸:100px*100px")],-1)),s("div",le,[e(m(K),{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:r})=>[e(S,{onClose:d=>B(r),class:M(["max-w-[400px]",{draggable:r!=0}]),"show-close":r!==0},{default:t(()=>[s("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(()=>[s("div",te,[e(f,{name:"el-icon-Plus",size:16}),l[5]||(l[5]=s("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(()=>[s("div",se,[e(f,{name:"el-icon-Plus",size:16}),l[6]||(l[6]=s("span",{class:"text-xs leading-5"}," 选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"导航名称"},{default:t(()=>[e(N,{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:r===0,modelValue:o.link,"onUpdate:modelValue":d=>o.link=d},null,8,["disabled","modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"是否显示"},{default:t(()=>[s("div",ae,[e(P,{disabled:r==0,modelValue:o.is_show,"onUpdate:modelValue":d=>o.is_show=d,"active-value":1,"inactive-value":0,onChange:d=>F(o)},null,8,["disabled","modelValue","onUpdate:modelValue","onChange"]),s("div",ne,[e(f,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])]),_:2},1032,["onClose","show-close","class"])]),_:1},8,["modelValue"])]),((u=m(n).list)==null?void 0:u.length){var o;return[h(" 添加导航 "+w((o=m(n).list)==null?void 0:o.length)+" / "+w(c),1)]}),_:1})])):G("",!0)]}),_:1})]),_:1})],64)}}});export{_e as _}; +import{o as j,q as V,r as v,v as e,D as t,s,L as h,bg as q,b6 as A,u as m,bQ as K,ae as M,b7 as O,I as Q,K as R,T as w,P as G,b9 as H,F as J,p as y}from"./.pnpm-9dA1PEvN.js";import{_ as W}from"./index-fA0EWEUO.js";import{_ as X}from"./picker-CUH4oSOm.js";import{_ as Y}from"./picker-DfI3CPnQ.js";import{c as Z,i as b}from"./index-BWzN7QIb.js";import{_ as ee}from"./index.vue_vue_type_script_setup_true_lang-DNrIEWkc.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]"},se={class:"upload-btn w-[60px] h-[60px]"},ae={class:"flex-1 flex items-center"},ne={class:"drag-move cursor-move ml-auto"},de={key:0,class:"mt-4"},c=5,p=2,_e=j({__name:"attr",props:{modelValue:{type:Object,default:()=>({list:[],style:{}})}},emits:["update:modelValue"],setup(k,{emit:U}){const C=k,E=U,n=y({get(){return C.modelValue},set(a){E("update:modelValue",a)}}),$=y(()=>{var a;return((a=n.value.list)==null?void 0:a.filter(l=>l.is_show=="1"))||[]}),z=()=>{var a;((a=n.value.list)==null?void 0:a.length){var l;if(((l=n.value.list)==null?void 0:l.length)<=p)return b.msgError(`最少保留${p}个`);n.value.list.splice(a,1)},D=a=>a.relatedContext.index!=0,F=a=>{if($.value.length{const _=q,x=ee,i=A,f=Z,g=Y,N=O,I=X,P=Q,S=W,T=R,L=H;return V(),v(J,null,[e(_,{shadow:"never",class:"!border-none flex"},{default:t(()=>[...l[3]||(l[3]=[s("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(" 底部导航设置 "),s("span",{class:"form-tips ml-[10px] !mt-0"}," 至少添加2个导航,最多添加5个导航 ")],-1)])]),_:1}),e(L,{"label-width":"70px"},{default:t(()=>[e(_,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[l[4]||(l[4]=s("div",{class:"flex items-end mb-4"},[s("div",{class:"text-base text-[#101010] font-medium"},"展示样式")],-1)),e(i,{label:"默认颜色"},{default:t(()=>[e(x,{class:"max-w-[400px]",modelValue:m(n).style.default_color,"onUpdate:modelValue":l[0]||(l[0]=u=>m(n).style.default_color=u),"default-color":"#999999"},null,8,["modelValue"])]),_:1}),e(i,{label:"选中颜色",style:{"margin-bottom":"0"}},{default:t(()=>[e(x,{class:"max-w-[400px]",modelValue:m(n).style.selected_color,"onUpdate:modelValue":l[1]||(l[1]=u=>m(n).style.selected_color=u),"default-color":"#4173ff"},null,8,["modelValue"])]),_:1})]),_:1}),e(_,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>{var u;return[l[7]||(l[7]=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"},"建议图片尺寸:100px*100px")],-1)),s("div",le,[e(m(K),{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:r})=>[e(S,{onClose:d=>B(r),class:M(["max-w-[400px]",{draggable:r!=0}]),"show-close":r!==0},{default:t(()=>[s("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(()=>[s("div",te,[e(f,{name:"el-icon-Plus",size:16}),l[5]||(l[5]=s("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(()=>[s("div",se,[e(f,{name:"el-icon-Plus",size:16}),l[6]||(l[6]=s("span",{class:"text-xs leading-5"}," 选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"导航名称"},{default:t(()=>[e(N,{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:r===0,modelValue:o.link,"onUpdate:modelValue":d=>o.link=d},null,8,["disabled","modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"是否显示"},{default:t(()=>[s("div",ae,[e(P,{disabled:r==0,modelValue:o.is_show,"onUpdate:modelValue":d=>o.is_show=d,"active-value":1,"inactive-value":0,onChange:d=>F(o)},null,8,["disabled","modelValue","onUpdate:modelValue","onChange"]),s("div",ne,[e(f,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])]),_:2},1032,["onClose","show-close","class"])]),_:1},8,["modelValue"])]),((u=m(n).list)==null?void 0:u.length){var o;return[h(" 添加导航 "+w((o=m(n).list)==null?void 0:o.length)+" / "+w(c),1)]}),_:1})])):G("",!0)]}),_:1})]),_:1})],64)}}});export{_e as _}; diff --git a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-B0T4O1-3.js b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-DoU7_LM1.js similarity index 97% rename from server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-B0T4O1-3.js rename to server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-DoU7_LM1.js index 8f91ea5a..ef738816 100644 --- a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-B0T4O1-3.js +++ b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-DoU7_LM1.js @@ -1 +1 @@ -import{o as E,q as s,O as r,D as t,v as l,bg as F,b6 as C,bc as N,u as a,bf as z,L as p,b7 as B,P as i,s as b,b9 as O,p as j}from"./.pnpm-9dA1PEvN.js";import{_ as D}from"./index.vue_vue_type_script_setup_true_lang-DNrIEWkc.js";import{_ as I}from"./picker-DWQ_BAep.js";const G=E({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(d,{emit:g}){const y=g,x=d,o=j({get:()=>x.content,set:f=>{y("update:content",f)}});return(f,e)=>{const m=z,_=N,u=C,v=B,V=I,k=D,U=F,w=O;return s(),r(w,{ref:"form","label-width":"80px",size:"large"},{default:t(()=>[l(U,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[l(u,{label:"页面标题"},{default:t(()=>[l(_,{modelValue:a(o).title_type,"onUpdate:modelValue":e[0]||(e[0]=n=>a(o).title_type=n)},{default:t(()=>[l(m,{value:"1"},{default:t(()=>[...e[7]||(e[7]=[p("文字",-1)])]),_:1}),l(m,{value:"2"},{default:t(()=>[...e[8]||(e[8]=[p("图片",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),d.content.title_type==1?(s(),r(u,{key:0},{default:t(()=>[l(v,{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),d.content.title_type==2?(s(),r(u,{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]=b("div",{class:"form-tips"},"建议图片尺寸:300px*40px",-1))]),_:1})):i("",!0),d.content.title_type==1?(s(),r(u,{key:2,label:"文字颜色"},{default:t(()=>[l(_,{modelValue:a(o).text_color,"onUpdate:modelValue":e[3]||(e[3]=n=>a(o).text_color=n)},{default:t(()=>[l(m,{value:"1"},{default:t(()=>[...e[10]||(e[10]=[p("白色",-1)])]),_:1}),l(m,{value:"2"},{default:t(()=>[...e[11]||(e[11]=[p("黑色",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})):i("",!0),l(u,{label:"页面背景"},{default:t(()=>[l(_,{modelValue:a(o).bg_type,"onUpdate:modelValue":e[4]||(e[4]=n=>a(o).bg_type=n)},{default:t(()=>[l(m,{value:"1"},{default:t(()=>[...e[12]||(e[12]=[p("背景颜色",-1)])]),_:1}),l(m,{value:"2"},{default:t(()=>[...e[13]||(e[13]=[p("背景图片",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),d.content.bg_type==1?(s(),r(u,{key:3},{default:t(()=>[l(k,{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),d.content.bg_type==2?(s(),r(u,{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]=b("div",{class:"form-tips"},"建议图片尺寸:750px*高度不限",-1))]),_:1})):i("",!0)]),_:1})]),_:1},512)}}});export{G as _}; +import{o as E,q as s,O as r,D as t,v as l,bg as F,b6 as C,bc as N,u as a,bf as z,L as p,b7 as B,P as i,s as b,b9 as O,p as j}from"./.pnpm-9dA1PEvN.js";import{_ as D}from"./index.vue_vue_type_script_setup_true_lang-DNrIEWkc.js";import{_ as I}from"./picker-DfI3CPnQ.js";const G=E({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(d,{emit:g}){const y=g,x=d,o=j({get:()=>x.content,set:f=>{y("update:content",f)}});return(f,e)=>{const m=z,_=N,u=C,v=B,V=I,k=D,U=F,w=O;return s(),r(w,{ref:"form","label-width":"80px",size:"large"},{default:t(()=>[l(U,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[l(u,{label:"页面标题"},{default:t(()=>[l(_,{modelValue:a(o).title_type,"onUpdate:modelValue":e[0]||(e[0]=n=>a(o).title_type=n)},{default:t(()=>[l(m,{value:"1"},{default:t(()=>[...e[7]||(e[7]=[p("文字",-1)])]),_:1}),l(m,{value:"2"},{default:t(()=>[...e[8]||(e[8]=[p("图片",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),d.content.title_type==1?(s(),r(u,{key:0},{default:t(()=>[l(v,{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),d.content.title_type==2?(s(),r(u,{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]=b("div",{class:"form-tips"},"建议图片尺寸:300px*40px",-1))]),_:1})):i("",!0),d.content.title_type==1?(s(),r(u,{key:2,label:"文字颜色"},{default:t(()=>[l(_,{modelValue:a(o).text_color,"onUpdate:modelValue":e[3]||(e[3]=n=>a(o).text_color=n)},{default:t(()=>[l(m,{value:"1"},{default:t(()=>[...e[10]||(e[10]=[p("白色",-1)])]),_:1}),l(m,{value:"2"},{default:t(()=>[...e[11]||(e[11]=[p("黑色",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})):i("",!0),l(u,{label:"页面背景"},{default:t(()=>[l(_,{modelValue:a(o).bg_type,"onUpdate:modelValue":e[4]||(e[4]=n=>a(o).bg_type=n)},{default:t(()=>[l(m,{value:"1"},{default:t(()=>[...e[12]||(e[12]=[p("背景颜色",-1)])]),_:1}),l(m,{value:"2"},{default:t(()=>[...e[13]||(e[13]=[p("背景图片",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),d.content.bg_type==1?(s(),r(u,{key:3},{default:t(()=>[l(k,{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),d.content.bg_type==2?(s(),r(u,{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]=b("div",{class:"form-tips"},"建议图片尺寸:750px*高度不限",-1))]),_:1})):i("",!0)]),_:1})]),_:1},512)}}});export{G as _}; diff --git a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-CJeNiwLV.js b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-Dp-D5e3f.js similarity index 96% rename from server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-CJeNiwLV.js rename to server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-Dp-D5e3f.js index 4db973bb..ad7dfee2 100644 --- a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-CJeNiwLV.js +++ b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-Dp-D5e3f.js @@ -1 +1 @@ -import{o as V,q as b,r as w,v as e,D as n,bg as x,b6 as g,b7 as k,u as o,s as E,b9 as U,p as v}from"./.pnpm-9dA1PEvN.js";import{_ as q}from"./picker-DWQ_BAep.js";const C=V({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(u,{emit:p}){const r=p,i=u,l=v({get:()=>i.content,set:d=>{r("update:content",d)}});return(d,t)=>{const s=k,m=g,_=q,c=x,f=U;return b(),w("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(()=>[E("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{C as _}; +import{o as V,q as b,r as w,v as e,D as n,bg as x,b6 as g,b7 as k,u as o,s as E,b9 as U,p as v}from"./.pnpm-9dA1PEvN.js";import{_ as q}from"./picker-DfI3CPnQ.js";const C=V({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(u,{emit:p}){const r=p,i=u,l=v({get:()=>i.content,set:d=>{r("update:content",d)}});return(d,t)=>{const s=k,m=g,_=q,c=x,f=U;return b(),w("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(()=>[E("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{C as _}; diff --git a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-CrWMGfUm.js b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-TdHwRkcj.js similarity index 91% rename from server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-CrWMGfUm.js rename to server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-TdHwRkcj.js index 4f2b0e54..50c8491e 100644 --- a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-CrWMGfUm.js +++ b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-TdHwRkcj.js @@ -1 +1 @@ -import{o as j,q as d,r as b,v as o,D as s,bg as F,s as n,u as p,bQ as S,O as _,b6 as q,P as r,b7 as z,I as A,K,L,b9 as P,p as Q,cm as v}from"./.pnpm-9dA1PEvN.js";import{_ as R}from"./index-CAGpCz28.js";import{c as T,i as k}from"./index-CJvXnF8Y.js";import{_ as G}from"./picker-zZfe7WrS.js";import{_ as H}from"./picker-DWQ_BAep.js";const J={class:"flex-1"},M={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,ae=j({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},type:{type:String,default:"mobile"}},emits:["update:content"],setup(m,{emit:y}){const u=y,c=m,g=Q({get:()=>c.content,set:a=>{u("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),u("update:content",e)};return(a,e)=>{const i=H,U=G,C=z,h=q,B=A,D=T,N=R,$=K,I=F,O=P;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",J,[o(p(S),{class:"draggable",modelValue:p(g).data,"onUpdate:modelValue":e[0]||(e[0]=t=>p(g).data=t),animation:"300",handle:".drag-move"},{item:s(({element:t,index:V})=>[(d(),_(N,{key:V,onClose:l=>E(V),class:"w-full"},{default:s(()=>[n("div",M,[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,{key:0,modelValue:t.link,"onUpdate:modelValue":l=>t.link=l},null,8,["modelValue","onUpdate:modelValue"])):r("",!0),m.type=="pc"?(d(),_(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{ae as _}; +import{o as j,q as d,r as b,v as o,D as s,bg as F,s as n,u as p,bQ as S,O as _,b6 as q,P as r,b7 as z,I as A,K,L,b9 as P,p as Q,cm as v}from"./.pnpm-9dA1PEvN.js";import{_ as R}from"./index-fA0EWEUO.js";import{c as T,i as k}from"./index-BWzN7QIb.js";import{_ as G}from"./picker-CUH4oSOm.js";import{_ as H}from"./picker-DfI3CPnQ.js";const J={class:"flex-1"},M={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,ae=j({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},type:{type:String,default:"mobile"}},emits:["update:content"],setup(m,{emit:y}){const u=y,c=m,g=Q({get:()=>c.content,set:a=>{u("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),u("update:content",e)};return(a,e)=>{const i=H,U=G,C=z,h=q,B=A,D=T,N=R,$=K,I=F,O=P;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",J,[o(p(S),{class:"draggable",modelValue:p(g).data,"onUpdate:modelValue":e[0]||(e[0]=t=>p(g).data=t),animation:"300",handle:".drag-move"},{item:s(({element:t,index:V})=>[(d(),_(N,{key:V,onClose:l=>E(V),class:"w-full"},{default:s(()=>[n("div",M,[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,{key:0,modelValue:t.link,"onUpdate:modelValue":l=>t.link=l},null,8,["modelValue","onUpdate:modelValue"])):r("",!0),m.type=="pc"?(d(),_(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{ae as _}; diff --git a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-Blibzxk0.js b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-sgS4D2G0.js similarity index 96% rename from server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-Blibzxk0.js rename to server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-sgS4D2G0.js index f98c34d8..c46179d5 100644 --- a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-Blibzxk0.js +++ b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-sgS4D2G0.js @@ -1 +1 @@ -import{o as k,q as d,r as u,v as l,D as o,bg as F,s,bc as U,u as n,bf as B,L as x,b6 as C,bm as N,F as b,G as c,bn as O,b9 as j,p as D}from"./.pnpm-9dA1PEvN.js";import{_ as G}from"./add-nav.vue_vue_type_script_setup_true_lang-BlVjKvgp.js";const L={class:"flex-1 mt-4"},I=k({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(v,{emit:V}){const y=V,w=v,a=D({get:()=>w.content,set:m=>{y("update:content",m)}});return(m,e)=>{const r=B,E=U,p=O,_=N,i=C,f=F,g=j;return d(),u("div",null,[l(g,{"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(i,{label:"每行数量",class:"mt-4"},{default:o(()=>[l(_,{modelValue:n(a).per_line,"onUpdate:modelValue":e[1]||(e[1]=t=>n(a).per_line=t),style:{width:"300px"}},{default:o(()=>[(d(),u(b,null,c(5,t=>l(p,{key:t,label:t+"个",value:t},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),l(i,{label:"显示行数"},{default:o(()=>[l(_,{modelValue:n(a).show_line,"onUpdate:modelValue":e[2]||(e[2]=t=>n(a).show_line=t),style:{width:"300px"}},{default:o(()=>[(d(),u(b,null,c(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",L,[l(G,{modelValue:n(a).data,"onUpdate:modelValue":e[3]||(e[3]=t=>n(a).data=t)},null,8,["modelValue"])])]),_:1})]),_:1})])}}});export{I as _}; +import{o as k,q as d,r as u,v as l,D as o,bg as F,s,bc as U,u as n,bf as B,L as x,b6 as C,bm as N,F as b,G as c,bn as O,b9 as j,p as D}from"./.pnpm-9dA1PEvN.js";import{_ as G}from"./add-nav.vue_vue_type_script_setup_true_lang-BRlmru-_.js";const L={class:"flex-1 mt-4"},I=k({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(v,{emit:V}){const y=V,w=v,a=D({get:()=>w.content,set:m=>{y("update:content",m)}});return(m,e)=>{const r=B,E=U,p=O,_=N,i=C,f=F,g=j;return d(),u("div",null,[l(g,{"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(i,{label:"每行数量",class:"mt-4"},{default:o(()=>[l(_,{modelValue:n(a).per_line,"onUpdate:modelValue":e[1]||(e[1]=t=>n(a).per_line=t),style:{width:"300px"}},{default:o(()=>[(d(),u(b,null,c(5,t=>l(p,{key:t,label:t+"个",value:t},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),l(i,{label:"显示行数"},{default:o(()=>[l(_,{modelValue:n(a).show_line,"onUpdate:modelValue":e[2]||(e[2]=t=>n(a).show_line=t),style:{width:"300px"}},{default:o(()=>[(d(),u(b,null,c(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",L,[l(G,{modelValue:n(a).data,"onUpdate:modelValue":e[3]||(e[3]=t=>n(a).data=t)},null,8,["modelValue"])])]),_:1})]),_:1})])}}});export{I as _}; diff --git a/server/public/admin/assets/auth-CBovZNtp.js b/server/public/admin/assets/auth-CBovZNtp.js deleted file mode 100644 index 4db40db4..00000000 --- a/server/public/admin/assets/auth-CBovZNtp.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./auth.vue_vue_type_script_setup_true_lang-pCTIVpFq.js";import"./.pnpm-9dA1PEvN.js";import"./menu-DVBnPCFw.js";import"./index-CJvXnF8Y.js";import"./role-D6rynjFP.js";import"./index-BBemoNXE.js";export{o as default}; diff --git a/server/public/admin/assets/auth-Dyv7GgHJ.js b/server/public/admin/assets/auth-Dyv7GgHJ.js new file mode 100644 index 00000000..bc64b8f2 --- /dev/null +++ b/server/public/admin/assets/auth-Dyv7GgHJ.js @@ -0,0 +1 @@ +import{_ as o}from"./auth.vue_vue_type_script_setup_true_lang-IU5vJ7WE.js";import"./.pnpm-9dA1PEvN.js";import"./menu-DRrdTmPN.js";import"./index-BWzN7QIb.js";import"./role-CrpOZd5J.js";import"./index-dYaCh-CN.js";export{o as default}; diff --git a/server/public/admin/assets/auth.vue_vue_type_script_setup_true_lang-pCTIVpFq.js b/server/public/admin/assets/auth.vue_vue_type_script_setup_true_lang-IU5vJ7WE.js similarity index 92% rename from server/public/admin/assets/auth.vue_vue_type_script_setup_true_lang-pCTIVpFq.js rename to server/public/admin/assets/auth.vue_vue_type_script_setup_true_lang-IU5vJ7WE.js index 6b58aeb9..9078430d 100644 --- a/server/public/admin/assets/auth.vue_vue_type_script_setup_true_lang-pCTIVpFq.js +++ b/server/public/admin/assets/auth.vue_vue_type_script_setup_true_lang-IU5vJ7WE.js @@ -1 +1 @@ -import{o as O,q as k,r as U,v as s,D as d,ac as H,O as I,b9 as j,u as c,a2 as z,b6 as G,s as y,bd as J,C as P,bU as Q,bi as W,a8 as f,M as r,ba as X,n as b}from"./.pnpm-9dA1PEvN.js";import{m as Y}from"./menu-DVBnPCFw.js";import{a as Z}from"./role-D6rynjFP.js";import{_ as $}from"./index-BBemoNXE.js";import{x as ee}from"./index-CJvXnF8Y.js";const te={class:"edit-popup"},re=O({__name:"auth",emits:["success","close"],setup(ae,{expose:x,emit:C}){const _=C,l=f(),h=f(),u=f(),g=r(!1),i=r(!0),m=r(!1),v=r([]),p=r([]),o=X({id:"",name:"",desc:"",sort:0,data_scope:1,menu_id:[]}),E={name:[{required:!0,message:"请输入名称",trigger:["blur"]}]},w=()=>{m.value=!0,Y().then(e=>{p.value=e,v.value=ee(e),b(()=>{A()}),m.value=!1})},R=()=>{var a,n;const e=(a=l.value)==null?void 0:a.getCheckedKeys(),t=(n=l.value)==null?void 0:n.getHalfCheckedKeys();return e==null||e.unshift.apply(e,t),e},A=()=>{o.menu_id.forEach(e=>{b(()=>{var t;(t=l.value)==null||t.setChecked(e,!0,!1)})})},D=e=>{const t=p.value;for(let a=0;a{var t,a;e?(t=l.value)==null||t.setCheckedKeys(v.value.map(n=>n.id)):(a=l.value)==null||a.setCheckedKeys([])},V=async()=>{var e,t;await((e=h.value)==null?void 0:e.validate()),o.menu_id=R(),await Z(o),(t=u.value)==null||t.close(),_("success")},B=()=>{_("close")},S=()=>{var e;(e=u.value)==null||e.open()},T=async e=>{for(const t in o)e[t]!=null&&e[t]!=null&&(o[t]=e[t])};return w(),x({open:S,setFormData:T}),(e,t)=>{const a=J,n=Q,F=G,q=z,L=j,M=W;return k(),U("div",te,[s($,{ref_key:"popupRef",ref:u,title:"分配权限",async:!0,width:"550px",onConfirm:V,onClose:B},{default:d(()=>[H((k(),I(L,{class:"ls-form",ref_key:"formRef",ref:h,rules:E,model:c(o),"label-width":"60px"},{default:d(()=>[s(q,{class:"h-[400px] sm:h-[600px]"},{default:d(()=>[s(F,{label:"权限",prop:"menu_id"},{default:d(()=>[y("div",null,[s(a,{label:"展开/折叠",onChange:D}),s(a,{label:"全选/不全选",onChange:K}),s(a,{modelValue:c(i),"onUpdate:modelValue":t[0]||(t[0]=N=>P(i)?i.value=N:null),label:"父子联动"},null,8,["modelValue"]),y("div",null,[s(n,{ref_key:"treeRef",ref:l,data:c(p),props:{label:"name",children:"children"},"check-strictly":!c(i),"node-key":"id","default-expand-all":c(g),"show-checkbox":""},null,8,["data","check-strictly","default-expand-all"])])])]),_:1})]),_:1})]),_:1},8,["model"])),[[M,c(m)]])]),_:1},512)])}}});export{re as _}; +import{o as O,q as k,r as U,v as s,D as d,ac as H,O as I,b9 as j,u as c,a2 as z,b6 as G,s as y,bd as J,C as P,bU as Q,bi as W,a8 as f,M as r,ba as X,n as b}from"./.pnpm-9dA1PEvN.js";import{m as Y}from"./menu-DRrdTmPN.js";import{a as Z}from"./role-CrpOZd5J.js";import{_ as $}from"./index-dYaCh-CN.js";import{x as ee}from"./index-BWzN7QIb.js";const te={class:"edit-popup"},re=O({__name:"auth",emits:["success","close"],setup(ae,{expose:x,emit:C}){const _=C,l=f(),h=f(),u=f(),g=r(!1),i=r(!0),m=r(!1),v=r([]),p=r([]),o=X({id:"",name:"",desc:"",sort:0,data_scope:1,menu_id:[]}),E={name:[{required:!0,message:"请输入名称",trigger:["blur"]}]},w=()=>{m.value=!0,Y().then(e=>{p.value=e,v.value=ee(e),b(()=>{A()}),m.value=!1})},R=()=>{var a,n;const e=(a=l.value)==null?void 0:a.getCheckedKeys(),t=(n=l.value)==null?void 0:n.getHalfCheckedKeys();return e==null||e.unshift.apply(e,t),e},A=()=>{o.menu_id.forEach(e=>{b(()=>{var t;(t=l.value)==null||t.setChecked(e,!0,!1)})})},D=e=>{const t=p.value;for(let a=0;a{var t,a;e?(t=l.value)==null||t.setCheckedKeys(v.value.map(n=>n.id)):(a=l.value)==null||a.setCheckedKeys([])},V=async()=>{var e,t;await((e=h.value)==null?void 0:e.validate()),o.menu_id=R(),await Z(o),(t=u.value)==null||t.close(),_("success")},B=()=>{_("close")},S=()=>{var e;(e=u.value)==null||e.open()},T=async e=>{for(const t in o)e[t]!=null&&e[t]!=null&&(o[t]=e[t])};return w(),x({open:S,setFormData:T}),(e,t)=>{const a=J,n=Q,F=G,q=z,L=j,M=W;return k(),U("div",te,[s($,{ref_key:"popupRef",ref:u,title:"分配权限",async:!0,width:"550px",onConfirm:V,onClose:B},{default:d(()=>[H((k(),I(L,{class:"ls-form",ref_key:"formRef",ref:h,rules:E,model:c(o),"label-width":"60px"},{default:d(()=>[s(q,{class:"h-[400px] sm:h-[600px]"},{default:d(()=>[s(F,{label:"权限",prop:"menu_id"},{default:d(()=>[y("div",null,[s(a,{label:"展开/折叠",onChange:D}),s(a,{label:"全选/不全选",onChange:K}),s(a,{modelValue:c(i),"onUpdate:modelValue":t[0]||(t[0]=N=>P(i)?i.value=N:null),label:"父子联动"},null,8,["modelValue"]),y("div",null,[s(n,{ref_key:"treeRef",ref:l,data:c(p),props:{label:"name",children:"children"},"check-strictly":!c(i),"node-key":"id","default-expand-all":c(g),"show-checkbox":""},null,8,["data","check-strictly","default-expand-all"])])])]),_:1})]),_:1})]),_:1},8,["model"])),[[M,c(m)]])]),_:1},512)])}}});export{re as _}; diff --git a/server/public/admin/assets/balance_details-C22FVzks.js b/server/public/admin/assets/balance_details-BABlTfrn.js similarity index 94% rename from server/public/admin/assets/balance_details-C22FVzks.js rename to server/public/admin/assets/balance_details-BABlTfrn.js index 73af2192..7ee79472 100644 --- a/server/public/admin/assets/balance_details-C22FVzks.js +++ b/server/public/admin/assets/balance_details-BABlTfrn.js @@ -1 +1 @@ -import{o as y,q as m,r as h,v as e,D as l,bh as K,b9 as P,u as a,b6 as N,b7 as O,b8 as j,bm as q,bn as z,F as I,G as R,O as w,K as S,L as _,bg as $,ac as A,bj as G,bk as H,s as p,T as v,ae as J,bi as M,C as Q,ba as W}from"./.pnpm-9dA1PEvN.js";import{_ as X}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{h as Y}from"./index-CJvXnF8Y.js";import{_ as Z}from"./index.vue_vue_type_script_setup_true_lang-C38LpCy9.js";import{g as ee,h as te}from"./finance-BJtj-zFw.js";import{u as ae}from"./useDictOptions-bKMXOe8R.js";import{u as ne}from"./usePaging-Boz1Q6w3.js";const le={class:"flex items-center"},oe={class:"flex justify-end mt-4"},se=y({name:"balanceDetail"}),be=y({...se,setup(ie){const o=W({user_info:"",change_type:"",start_time:"",end_time:""}),{pager:i,getLists:d,resetPage:c,resetParams:C}=ne({fetchFun:ee,params:o}),{optionsData:x}=ae({change_type:{api:te}});return d(),(re,n)=>{const V=K,E=O,r=N,u=z,T=q,k=Z,f=S,D=P,b=$,s=H,U=Y,B=G,F=X,L=M;return m(),h("div",null,[e(b,{class:"!border-none",shadow:"never"},{default:l(()=>[e(V,{type:"warning",title:"温馨提示:用户账户变动记录",closable:!1,"show-icon":""}),e(D,{ref:"formRef",class:"mb-[-16px] mt-[16px]",model:a(o),inline:!0},{default:l(()=>[e(r,{class:"w-[280px]",label:"用户信息"},{default:l(()=>[e(E,{modelValue:a(o).user_info,"onUpdate:modelValue":n[0]||(n[0]=t=>a(o).user_info=t),placeholder:"请输入用户账号/昵称/手机号",clearable:"",onKeyup:j(a(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(r,{class:"w-[280px]",label:"变动类型"},{default:l(()=>[e(T,{modelValue:a(o).change_type,"onUpdate:modelValue":n[1]||(n[1]=t=>a(o).change_type=t)},{default:l(()=>[e(u,{label:"全部",value:""}),(m(!0),h(I,null,R(a(x).change_type,(t,g)=>(m(),w(u,{key:g,label:t,value:g},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(r,{label:"记录时间"},{default:l(()=>[e(k,{startTime:a(o).start_time,"onUpdate:startTime":n[2]||(n[2]=t=>a(o).start_time=t),endTime:a(o).end_time,"onUpdate:endTime":n[3]||(n[3]=t=>a(o).end_time=t)},null,8,["startTime","endTime"])]),_:1}),e(r,null,{default:l(()=>[e(f,{type:"primary",onClick:a(c)},{default:l(()=>[...n[5]||(n[5]=[_("查询",-1)])]),_:1},8,["onClick"]),e(f,{onClick:a(C)},{default:l(()=>[...n[6]||(n[6]=[_("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),e(b,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[A((m(),w(B,{size:"large",data:a(i).lists},{default:l(()=>[e(s,{label:"用户账号",prop:"account","min-width":"100"}),e(s,{label:"用户昵称","min-width":"160"},{default:l(({row:t})=>[p("div",le,[e(U,{class:"flex-none mr-2",src:t.avatar,width:40,height:40,"preview-teleported":"",fit:"contain"},null,8,["src"]),_(" "+v(t.nickname),1)])]),_:1}),e(s,{label:"手机号码",prop:"mobile","min-width":"100"}),e(s,{label:"变动金额",prop:"change_amount","min-width":"100"},{default:l(({row:t})=>[p("span",{class:J({"text-error":t.action==2})},v(t.change_amount),3)]),_:1}),e(s,{label:"剩余金额",prop:"left_amount","min-width":"100"}),e(s,{label:"变动类型",prop:"change_type_desc","min-width":"120"}),e(s,{label:"来源单号",prop:"source_sn","min-width":"100"}),e(s,{label:"记录时间",prop:"create_time","min-width":"120"})]),_:1},8,["data"])),[[L,a(i).loading]]),p("div",oe,[e(F,{modelValue:a(i),"onUpdate:modelValue":n[4]||(n[4]=t=>Q(i)?i.value=t:null),onChange:a(d)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{be as default}; +import{o as y,q as m,r as h,v as e,D as l,bh as K,b9 as P,u as a,b6 as N,b7 as O,b8 as j,bm as q,bn as z,F as I,G as R,O as w,K as S,L as _,bg as $,ac as A,bj as G,bk as H,s as p,T as v,ae as J,bi as M,C as Q,ba as W}from"./.pnpm-9dA1PEvN.js";import{_ as X}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{h as Y}from"./index-BWzN7QIb.js";import{_ as Z}from"./index.vue_vue_type_script_setup_true_lang-C38LpCy9.js";import{g as ee,h as te}from"./finance-DNeCzSo4.js";import{u as ae}from"./useDictOptions-BeE4yyHx.js";import{u as ne}from"./usePaging-Boz1Q6w3.js";const le={class:"flex items-center"},oe={class:"flex justify-end mt-4"},se=y({name:"balanceDetail"}),be=y({...se,setup(ie){const o=W({user_info:"",change_type:"",start_time:"",end_time:""}),{pager:i,getLists:d,resetPage:c,resetParams:C}=ne({fetchFun:ee,params:o}),{optionsData:x}=ae({change_type:{api:te}});return d(),(re,n)=>{const V=K,E=O,r=N,u=z,T=q,k=Z,f=S,D=P,b=$,s=H,U=Y,B=G,F=X,L=M;return m(),h("div",null,[e(b,{class:"!border-none",shadow:"never"},{default:l(()=>[e(V,{type:"warning",title:"温馨提示:用户账户变动记录",closable:!1,"show-icon":""}),e(D,{ref:"formRef",class:"mb-[-16px] mt-[16px]",model:a(o),inline:!0},{default:l(()=>[e(r,{class:"w-[280px]",label:"用户信息"},{default:l(()=>[e(E,{modelValue:a(o).user_info,"onUpdate:modelValue":n[0]||(n[0]=t=>a(o).user_info=t),placeholder:"请输入用户账号/昵称/手机号",clearable:"",onKeyup:j(a(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(r,{class:"w-[280px]",label:"变动类型"},{default:l(()=>[e(T,{modelValue:a(o).change_type,"onUpdate:modelValue":n[1]||(n[1]=t=>a(o).change_type=t)},{default:l(()=>[e(u,{label:"全部",value:""}),(m(!0),h(I,null,R(a(x).change_type,(t,g)=>(m(),w(u,{key:g,label:t,value:g},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(r,{label:"记录时间"},{default:l(()=>[e(k,{startTime:a(o).start_time,"onUpdate:startTime":n[2]||(n[2]=t=>a(o).start_time=t),endTime:a(o).end_time,"onUpdate:endTime":n[3]||(n[3]=t=>a(o).end_time=t)},null,8,["startTime","endTime"])]),_:1}),e(r,null,{default:l(()=>[e(f,{type:"primary",onClick:a(c)},{default:l(()=>[...n[5]||(n[5]=[_("查询",-1)])]),_:1},8,["onClick"]),e(f,{onClick:a(C)},{default:l(()=>[...n[6]||(n[6]=[_("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),e(b,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[A((m(),w(B,{size:"large",data:a(i).lists},{default:l(()=>[e(s,{label:"用户账号",prop:"account","min-width":"100"}),e(s,{label:"用户昵称","min-width":"160"},{default:l(({row:t})=>[p("div",le,[e(U,{class:"flex-none mr-2",src:t.avatar,width:40,height:40,"preview-teleported":"",fit:"contain"},null,8,["src"]),_(" "+v(t.nickname),1)])]),_:1}),e(s,{label:"手机号码",prop:"mobile","min-width":"100"}),e(s,{label:"变动金额",prop:"change_amount","min-width":"100"},{default:l(({row:t})=>[p("span",{class:J({"text-error":t.action==2})},v(t.change_amount),3)]),_:1}),e(s,{label:"剩余金额",prop:"left_amount","min-width":"100"}),e(s,{label:"变动类型",prop:"change_type_desc","min-width":"120"}),e(s,{label:"来源单号",prop:"source_sn","min-width":"100"}),e(s,{label:"记录时间",prop:"create_time","min-width":"120"})]),_:1},8,["data"])),[[L,a(i).loading]]),p("div",oe,[e(F,{modelValue:a(i),"onUpdate:modelValue":n[4]||(n[4]=t=>Q(i)?i.value=t:null),onChange:a(d)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{be as default}; diff --git a/server/public/admin/assets/bind-work-wechat-CrcPeng0.js b/server/public/admin/assets/bind-work-wechat-WANKsgjY.js similarity index 97% rename from server/public/admin/assets/bind-work-wechat-CrcPeng0.js rename to server/public/admin/assets/bind-work-wechat-WANKsgjY.js index 816fb132..9b8887a1 100644 --- a/server/public/admin/assets/bind-work-wechat-CrcPeng0.js +++ b/server/public/admin/assets/bind-work-wechat-WANKsgjY.js @@ -1 +1 @@ -import{o as T,W as $,ap as j,E as p,aq as z,q as d,r as l,s as r,v as c,D as y,u as S,b5 as I,w as A,F as D,L as M,K as F,M as k,n as C}from"./.pnpm-9dA1PEvN.js";import{_ as K}from"./footer.vue_vue_type_script_setup_true_lang-B19wnkFb.js";import{u as Q,g as V,P as L,a as X,b as G,_ as H}from"./index-CJvXnF8Y.js";import{a as J}from"./wecomOauthPostMessage-C_e6VGrO.js";const Y={class:"bind-wx flex flex-col"},Z={class:"flex-1 flex items-center justify-center"},ee={class:"bind-wx-card bg-body rounded-md px-10 py-10 w-[480px]"},te={key:0,class:"text-center py-10"},oe={key:0,class:"text-center py-10"},ne={key:1,id:"wxwork_bind_qrcode_container",class:"wxwork-qrcode mx-auto"},ae={class:"mt-8 flex justify-center gap-4"},w="bind_wxwork",g="like_admin_wx_bind_oauth",se=T({__name:"bind-work-wechat",setup(re){const u=$(),f=Q(),x=k(!1),_=k(!1),m=k({corp_id:"",agent_id:""}),U=()=>/wxwork/i.test(navigator.userAgent),v=()=>window.location.origin+window.location.pathname+"?bind_wxwork=1";function W(){const o=new URLSearchParams(window.location.search),e=window.location.hash||"",t=e.includes("?")?e.split("?").slice(1).join("?"):"";return t&&new URLSearchParams(t).forEach((n,i)=>{o.has(i)||o.set(i,n)}),o}const E=()=>{f.logout()},q=async()=>{try{await f.getUserInfo()}catch{}if(f.isPaw===0){u.replace("/change-password");return}u.replace(L.INDEX)},b=async o=>{_.value=!0;try{await G({code:o}),window.history.replaceState({},"",window.location.pathname),await q()}catch(e){console.error(e),p.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"绑定失败"),_.value=!1}};let s=null;const B=async()=>{if(!m.value.corp_id)return;x.value=!0,window.WwLogin||await new Promise((e,t)=>{const n=document.createElement("script");n.src="https://wwcdn.weixin.qq.com/node/wework/wwopen/js/wwLogin-1.2.7.js",n.onload=()=>e(),n.onerror=()=>t(new Error("加载企业微信 JS 失败")),document.head.appendChild(n)}),await C(),x.value=!1,await C();const o=encodeURIComponent(v());new window.WwLogin({id:"wxwork_bind_qrcode_container",appid:m.value.corp_id,agentid:m.value.agent_id,redirect_uri:o,lang:"zh",state:w,href:"",self_redirect:!1})};return j(async()=>{let o="";try{o=(new URLSearchParams(window.location.search).get("code")||"").trim()}catch{o=""}if(!V()){p.error("请先登录"),u.push(L.LOGIN);return}const e=W(),t=o||(e.get("code")||"").trim(),n=e.get("state"),i=n!=null?String(n).trim():"",P=i===w||i==="admin_bind_wx"||i.toLowerCase()===w.toLowerCase(),R=e.get("bind_wxwork")==="1",N=!!t&&i===""&&u.currentRoute.value.path==="/bind-work-wechat";if(t&&(P||R||N)){if(sessionStorage.getItem(g)===t)return;sessionStorage.setItem(g,t);try{await b(t)}finally{sessionStorage.removeItem(g)}return}try{const a=await X();if(!(a!=null&&a.enabled)||!a.corp_id){p.error("企业微信未配置,请联系管理员");return}if(m.value={corp_id:a.corp_id,agent_id:a.agent_id},U()){_.value=!0;const h=encodeURIComponent(v()),O=`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${a.corp_id}&redirect_uri=${h}&response_type=code&scope=snsapi_privateinfo&agentid=${a.agent_id}&state=${w}#wechat_redirect`;window.location.href=O;return}s==null||s(),s=J({pathIncludes:"bind-work-wechat",lockKey:g,wxBindState:w,onCode:h=>b(h)}),await B()}catch(a){console.error(a),p.error("获取企业微信配置失败")}}),z(()=>{s==null||s(),s=null}),(o,e)=>{const t=A,n=F;return d(),l("div",Y,[r("div",Z,[r("div",ee,[e[4]||(e[4]=r("div",{class:"text-center text-2xl font-medium mb-2"},"绑定企业微信",-1)),e[5]||(e[5]=r("div",{class:"text-center text-gray-500 text-sm mb-8"}," 根据安全策略,需绑定企业微信账号后方可使用管理后台 ",-1)),_.value?(d(),l("div",te,[c(t,{class:"is-loading mb-4",size:40,color:"var(--el-color-primary)"},{default:y(()=>[c(S(I))]),_:1}),e[0]||(e[0]=r("div",{class:"text-gray-500"},"企业微信授权中...",-1))])):(d(),l(D,{key:1},[x.value?(d(),l("div",oe,[c(t,{class:"is-loading",size:32,color:"var(--el-color-primary)"},{default:y(()=>[c(S(I))]),_:1}),e[1]||(e[1]=r("div",{class:"mt-2 text-gray-400 text-sm"},"加载扫码...",-1))])):(d(),l("div",ne)),e[2]||(e[2]=r("div",{class:"text-center text-sm text-gray-400 mt-4"}," 请使用企业微信扫描二维码完成绑定 ",-1))],64)),r("div",ae,[c(n,{onClick:E},{default:y(()=>[...e[3]||(e[3]=[M("退出登录",-1)])]),_:1})])])]),c(K)])}}}),ue=H(se,[["__scopeId","data-v-d4a61522"]]);export{ue as default}; +import{o as T,W as $,ap as j,E as p,aq as z,q as d,r as l,s as r,v as c,D as y,u as S,b5 as I,w as A,F as D,L as M,K as F,M as k,n as C}from"./.pnpm-9dA1PEvN.js";import{_ as K}from"./footer.vue_vue_type_script_setup_true_lang-D4zoiAR0.js";import{u as Q,g as V,P as L,a as X,b as G,_ as H}from"./index-BWzN7QIb.js";import{a as J}from"./wecomOauthPostMessage-C_e6VGrO.js";const Y={class:"bind-wx flex flex-col"},Z={class:"flex-1 flex items-center justify-center"},ee={class:"bind-wx-card bg-body rounded-md px-10 py-10 w-[480px]"},te={key:0,class:"text-center py-10"},oe={key:0,class:"text-center py-10"},ne={key:1,id:"wxwork_bind_qrcode_container",class:"wxwork-qrcode mx-auto"},ae={class:"mt-8 flex justify-center gap-4"},w="bind_wxwork",g="like_admin_wx_bind_oauth",se=T({__name:"bind-work-wechat",setup(re){const u=$(),f=Q(),x=k(!1),_=k(!1),m=k({corp_id:"",agent_id:""}),U=()=>/wxwork/i.test(navigator.userAgent),v=()=>window.location.origin+window.location.pathname+"?bind_wxwork=1";function W(){const o=new URLSearchParams(window.location.search),e=window.location.hash||"",t=e.includes("?")?e.split("?").slice(1).join("?"):"";return t&&new URLSearchParams(t).forEach((n,i)=>{o.has(i)||o.set(i,n)}),o}const E=()=>{f.logout()},q=async()=>{try{await f.getUserInfo()}catch{}if(f.isPaw===0){u.replace("/change-password");return}u.replace(L.INDEX)},b=async o=>{_.value=!0;try{await G({code:o}),window.history.replaceState({},"",window.location.pathname),await q()}catch(e){console.error(e),p.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"绑定失败"),_.value=!1}};let s=null;const B=async()=>{if(!m.value.corp_id)return;x.value=!0,window.WwLogin||await new Promise((e,t)=>{const n=document.createElement("script");n.src="https://wwcdn.weixin.qq.com/node/wework/wwopen/js/wwLogin-1.2.7.js",n.onload=()=>e(),n.onerror=()=>t(new Error("加载企业微信 JS 失败")),document.head.appendChild(n)}),await C(),x.value=!1,await C();const o=encodeURIComponent(v());new window.WwLogin({id:"wxwork_bind_qrcode_container",appid:m.value.corp_id,agentid:m.value.agent_id,redirect_uri:o,lang:"zh",state:w,href:"",self_redirect:!1})};return j(async()=>{let o="";try{o=(new URLSearchParams(window.location.search).get("code")||"").trim()}catch{o=""}if(!V()){p.error("请先登录"),u.push(L.LOGIN);return}const e=W(),t=o||(e.get("code")||"").trim(),n=e.get("state"),i=n!=null?String(n).trim():"",P=i===w||i==="admin_bind_wx"||i.toLowerCase()===w.toLowerCase(),R=e.get("bind_wxwork")==="1",N=!!t&&i===""&&u.currentRoute.value.path==="/bind-work-wechat";if(t&&(P||R||N)){if(sessionStorage.getItem(g)===t)return;sessionStorage.setItem(g,t);try{await b(t)}finally{sessionStorage.removeItem(g)}return}try{const a=await X();if(!(a!=null&&a.enabled)||!a.corp_id){p.error("企业微信未配置,请联系管理员");return}if(m.value={corp_id:a.corp_id,agent_id:a.agent_id},U()){_.value=!0;const h=encodeURIComponent(v()),O=`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${a.corp_id}&redirect_uri=${h}&response_type=code&scope=snsapi_privateinfo&agentid=${a.agent_id}&state=${w}#wechat_redirect`;window.location.href=O;return}s==null||s(),s=J({pathIncludes:"bind-work-wechat",lockKey:g,wxBindState:w,onCode:h=>b(h)}),await B()}catch(a){console.error(a),p.error("获取企业微信配置失败")}}),z(()=>{s==null||s(),s=null}),(o,e)=>{const t=A,n=F;return d(),l("div",Y,[r("div",Z,[r("div",ee,[e[4]||(e[4]=r("div",{class:"text-center text-2xl font-medium mb-2"},"绑定企业微信",-1)),e[5]||(e[5]=r("div",{class:"text-center text-gray-500 text-sm mb-8"}," 根据安全策略,需绑定企业微信账号后方可使用管理后台 ",-1)),_.value?(d(),l("div",te,[c(t,{class:"is-loading mb-4",size:40,color:"var(--el-color-primary)"},{default:y(()=>[c(S(I))]),_:1}),e[0]||(e[0]=r("div",{class:"text-gray-500"},"企业微信授权中...",-1))])):(d(),l(D,{key:1},[x.value?(d(),l("div",oe,[c(t,{class:"is-loading",size:32,color:"var(--el-color-primary)"},{default:y(()=>[c(S(I))]),_:1}),e[1]||(e[1]=r("div",{class:"mt-2 text-gray-400 text-sm"},"加载扫码...",-1))])):(d(),l("div",ne)),e[2]||(e[2]=r("div",{class:"text-center text-sm text-gray-400 mt-4"}," 请使用企业微信扫描二维码完成绑定 ",-1))],64)),r("div",ae,[c(n,{onClick:E},{default:y(()=>[...e[3]||(e[3]=[M("退出登录",-1)])]),_:1})])])]),c(K)])}}}),ue=H(se,[["__scopeId","data-v-d4a61522"]]);export{ue as default}; diff --git a/server/public/admin/assets/cache-BgKFjVuL.js b/server/public/admin/assets/cache-W-KMyH8o.js similarity index 94% rename from server/public/admin/assets/cache-BgKFjVuL.js rename to server/public/admin/assets/cache-W-KMyH8o.js index 6568bb03..25cb7208 100644 --- a/server/public/admin/assets/cache-BgKFjVuL.js +++ b/server/public/admin/assets/cache-W-KMyH8o.js @@ -1 +1 @@ -import{o as l,q as i,r as m,v as e,D as a,bh as p,bg as f,bj as b,u,bk as h,K as w,L as C,M as k}from"./.pnpm-9dA1PEvN.js";import{i as E,B as x}from"./index-CJvXnF8Y.js";const y={class:"cache"},g=l({name:"cache"}),N=l({...g,setup(v){const s=k([{content:"系统缓存",desc:"系统运行过程中产生的各类缓存数据"}]),c=async()=>{await E.confirm("确认清除系统缓存?"),await x(),window.location.reload()};return(B,o)=>{const r=p,n=f,t=h,_=w,d=b;return i(),m("div",y,[e(n,{class:"!border-none",shadow:"never"},{default:a(()=>[e(r,{type:"warning",title:"温馨提示:管理系统运行过程中产生的缓存",closable:!1,"show-icon":""})]),_:1}),e(n,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[e(d,{data:u(s),size:"large"},{default:a(()=>[e(t,{label:"管理内容",prop:"content","min-width":"130"}),e(t,{label:"内容说明",prop:"desc","min-width":"180"}),e(t,{label:"操作",width:"130",fixed:"right"},{default:a(()=>[e(_,{type:"primary",link:"",onClick:c},{default:a(()=>[...o[0]||(o[0]=[C("清除系统缓存",-1)])]),_:1})]),_:1})]),_:1},8,["data"])]),_:1})])}}});export{N as default}; +import{o as l,q as i,r as m,v as e,D as a,bh as p,bg as f,bj as b,u,bk as h,K as w,L as C,M as k}from"./.pnpm-9dA1PEvN.js";import{i as E,B as x}from"./index-BWzN7QIb.js";const y={class:"cache"},g=l({name:"cache"}),N=l({...g,setup(v){const s=k([{content:"系统缓存",desc:"系统运行过程中产生的各类缓存数据"}]),c=async()=>{await E.confirm("确认清除系统缓存?"),await x(),window.location.reload()};return(B,o)=>{const r=p,n=f,t=h,_=w,d=b;return i(),m("div",y,[e(n,{class:"!border-none",shadow:"never"},{default:a(()=>[e(r,{type:"warning",title:"温馨提示:管理系统运行过程中产生的缓存",closable:!1,"show-icon":""})]),_:1}),e(n,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[e(d,{data:u(s),size:"large"},{default:a(()=>[e(t,{label:"管理内容",prop:"content","min-width":"130"}),e(t,{label:"内容说明",prop:"desc","min-width":"180"}),e(t,{label:"操作",width:"130",fixed:"right"},{default:a(()=>[e(_,{type:"primary",link:"",onClick:c},{default:a(()=>[...o[0]||(o[0]=[C("清除系统缓存",-1)])]),_:1})]),_:1})]),_:1},8,["data"])]),_:1})])}}});export{N as default}; diff --git a/server/public/admin/assets/change-password-DF4wi40m.js b/server/public/admin/assets/change-password-BF7VLRzT.js similarity index 95% rename from server/public/admin/assets/change-password-DF4wi40m.js rename to server/public/admin/assets/change-password-BF7VLRzT.js index f5cbda7e..731bca7b 100644 --- a/server/public/admin/assets/change-password-DF4wi40m.js +++ b/server/public/admin/assets/change-password-BF7VLRzT.js @@ -1 +1 @@ -import{o as k,W as v,ap as E,E as l,q as h,r as V,s as n,v as e,D as r,b6 as P,b7 as C,b8 as L,b9 as F,L as z,u as f,K as B,a8 as I,ba as N}from"./.pnpm-9dA1PEvN.js";import{u as R,g as S,P as q,c as K,d as U,_ as D}from"./index-CJvXnF8Y.js";import{u as M}from"./useLockFn-Cmb0mmh_.js";import{_ as T}from"./footer.vue_vue_type_script_setup_true_lang-B19wnkFb.js";const $={class:"change-password flex flex-col"},j={class:"flex-1 flex items-center justify-center"},G={class:"change-password-card bg-body rounded-md px-10 py-10 w-[480px]"},O=k({__name:"change-password",setup(W){const i=I(),_=v(),m=R();E(()=>{S()||(l.error("请先登录"),_.push(q.LOGIN))});const o=N({password:"",password_confirm:""}),w={password:[{required:!0,message:"请输入新密码",trigger:"blur"},{min:6,message:"密码长度不能少于6位",trigger:"blur"}],password_confirm:[{required:!0,validator:(t,s,a)=>{s===""?a(new Error("请再次输入密码")):s!==o.password?a(new Error("两次输入的密码不一致")):a()},trigger:"blur"}]},p=async()=>{var t;await((t=i.value)==null?void 0:t.validate());try{await U({password:o.password,password_confirm:o.password_confirm}),l.success("密码修改成功,请重新登录"),m.isPaw=1,await m.logout()}catch(s){l.error((s==null?void 0:s.msg)||(s==null?void 0:s.message)||"密码修改失败")}},{isLock:g,lockFn:x}=M(p);return(t,s)=>{const a=K,c=C,u=P,b=F,y=B;return h(),V("div",$,[n("div",j,[n("div",G,[s[3]||(s[3]=n("div",{class:"text-center text-2xl font-medium mb-2"},"首次登录",-1)),s[4]||(s[4]=n("div",{class:"text-center text-gray-500 text-sm mb-8"},"为了您的账号安全,请修改初始密码",-1)),e(b,{ref_key:"formRef",ref:i,model:o,size:"large",rules:w},{default:r(()=>[e(u,{prop:"password"},{default:r(()=>[e(c,{modelValue:o.password,"onUpdate:modelValue":s[0]||(s[0]=d=>o.password=d),type:"password","show-password":"",placeholder:"请输入新密码"},{prepend:r(()=>[e(a,{name:"el-icon-Lock",size:"16"})]),_:1},8,["modelValue"])]),_:1}),e(u,{prop:"password_confirm"},{default:r(()=>[e(c,{modelValue:o.password_confirm,"onUpdate:modelValue":s[1]||(s[1]=d=>o.password_confirm=d),type:"password","show-password":"",placeholder:"请再次输入新密码",onKeyup:L(p,["enter"])},{prepend:r(()=>[e(a,{name:"el-icon-Lock",size:"16"})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"]),e(y,{type:"primary",size:"large",loading:f(g),onClick:f(x),class:"w-full"},{default:r(()=>[...s[2]||(s[2]=[z(" 确认修改 ",-1)])]),_:1},8,["loading","onClick"])])]),e(T)])}}}),Y=D(O,[["__scopeId","data-v-b5c4e69d"]]);export{Y as default}; +import{o as k,W as v,ap as E,E as l,q as h,r as V,s as n,v as e,D as r,b6 as P,b7 as C,b8 as L,b9 as F,L as z,u as f,K as B,a8 as I,ba as N}from"./.pnpm-9dA1PEvN.js";import{u as R,g as S,P as q,c as K,d as U,_ as D}from"./index-BWzN7QIb.js";import{u as M}from"./useLockFn-Cmb0mmh_.js";import{_ as T}from"./footer.vue_vue_type_script_setup_true_lang-D4zoiAR0.js";const $={class:"change-password flex flex-col"},j={class:"flex-1 flex items-center justify-center"},G={class:"change-password-card bg-body rounded-md px-10 py-10 w-[480px]"},O=k({__name:"change-password",setup(W){const i=I(),_=v(),m=R();E(()=>{S()||(l.error("请先登录"),_.push(q.LOGIN))});const o=N({password:"",password_confirm:""}),w={password:[{required:!0,message:"请输入新密码",trigger:"blur"},{min:6,message:"密码长度不能少于6位",trigger:"blur"}],password_confirm:[{required:!0,validator:(t,s,a)=>{s===""?a(new Error("请再次输入密码")):s!==o.password?a(new Error("两次输入的密码不一致")):a()},trigger:"blur"}]},p=async()=>{var t;await((t=i.value)==null?void 0:t.validate());try{await U({password:o.password,password_confirm:o.password_confirm}),l.success("密码修改成功,请重新登录"),m.isPaw=1,await m.logout()}catch(s){l.error((s==null?void 0:s.msg)||(s==null?void 0:s.message)||"密码修改失败")}},{isLock:g,lockFn:x}=M(p);return(t,s)=>{const a=K,c=C,u=P,b=F,y=B;return h(),V("div",$,[n("div",j,[n("div",G,[s[3]||(s[3]=n("div",{class:"text-center text-2xl font-medium mb-2"},"首次登录",-1)),s[4]||(s[4]=n("div",{class:"text-center text-gray-500 text-sm mb-8"},"为了您的账号安全,请修改初始密码",-1)),e(b,{ref_key:"formRef",ref:i,model:o,size:"large",rules:w},{default:r(()=>[e(u,{prop:"password"},{default:r(()=>[e(c,{modelValue:o.password,"onUpdate:modelValue":s[0]||(s[0]=d=>o.password=d),type:"password","show-password":"",placeholder:"请输入新密码"},{prepend:r(()=>[e(a,{name:"el-icon-Lock",size:"16"})]),_:1},8,["modelValue"])]),_:1}),e(u,{prop:"password_confirm"},{default:r(()=>[e(c,{modelValue:o.password_confirm,"onUpdate:modelValue":s[1]||(s[1]=d=>o.password_confirm=d),type:"password","show-password":"",placeholder:"请再次输入新密码",onKeyup:L(p,["enter"])},{prepend:r(()=>[e(a,{name:"el-icon-Lock",size:"16"})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"]),e(y,{type:"primary",size:"large",loading:f(g),onClick:f(x),class:"w-full"},{default:r(()=>[...s[2]||(s[2]=[z(" 确认修改 ",-1)])]),_:1},8,["loading","onClick"])])]),e(T)])}}}),Y=D(O,[["__scopeId","data-v-b5c4e69d"]]);export{Y as default}; diff --git a/server/public/admin/assets/code-m_-AEIO9.js b/server/public/admin/assets/code-J7VgRFVf.js similarity index 92% rename from server/public/admin/assets/code-m_-AEIO9.js rename to server/public/admin/assets/code-J7VgRFVf.js index bf8e56b8..5c7b8c37 100644 --- a/server/public/admin/assets/code-m_-AEIO9.js +++ b/server/public/admin/assets/code-J7VgRFVf.js @@ -1 +1 @@ -import{r as t}from"./index-CJvXnF8Y.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-BWzN7QIb.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-OJsd3tsQ.js b/server/public/admin/assets/code-preview-OJsd3tsQ.js deleted file mode 100644 index 3908ca43..00000000 --- a/server/public/admin/assets/code-preview-OJsd3tsQ.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./code-preview.vue_vue_type_script_setup_true_lang--NwO_Soq.js";import"./.pnpm-9dA1PEvN.js";import"./index-CJvXnF8Y.js";export{o as default}; diff --git a/server/public/admin/assets/code-preview-T9hRlJu3.js b/server/public/admin/assets/code-preview-T9hRlJu3.js new file mode 100644 index 00000000..d26eedf6 --- /dev/null +++ b/server/public/admin/assets/code-preview-T9hRlJu3.js @@ -0,0 +1 @@ +import{_ as o}from"./code-preview.vue_vue_type_script_setup_true_lang-DdrIw7I0.js";import"./.pnpm-9dA1PEvN.js";import"./index-BWzN7QIb.js";export{o as default}; diff --git a/server/public/admin/assets/code-preview.vue_vue_type_script_setup_true_lang--NwO_Soq.js b/server/public/admin/assets/code-preview.vue_vue_type_script_setup_true_lang-DdrIw7I0.js similarity index 95% rename from server/public/admin/assets/code-preview.vue_vue_type_script_setup_true_lang--NwO_Soq.js rename to server/public/admin/assets/code-preview.vue_vue_type_script_setup_true_lang-DdrIw7I0.js index 4f91141a..ef7f1047 100644 --- a/server/public/admin/assets/code-preview.vue_vue_type_script_setup_true_lang--NwO_Soq.js +++ b/server/public/admin/assets/code-preview.vue_vue_type_script_setup_true_lang-DdrIw7I0.js @@ -1 +1 @@ -import{o as B,x as T,q as c,r as u,v as t,D as a,Y as D,C as i,u as m,F as N,G as $,O as j,X as F,s as p,a2 as L,K as S,L as U,bt as q,M as G,p as K,aC as M}from"./.pnpm-9dA1PEvN.js";import{c as O,i as _}from"./index-CJvXnF8Y.js";const P={class:"code-preview"},R={class:"flex",style:{height:"50vh"}},A=B({__name:"code-preview",props:{modelValue:{type:Boolean},code:{}},emits:["update:modelValue"],setup(d,{emit:f}){const b=d,V=f,{toClipboard:v}=M(),n=G("index0"),g=async l=>{try{await v(l),_.msgSuccess("复制成功")}catch{_.msgError("复制失败")}},s=K({get(){return b.modelValue},set(l){V("update:modelValue",l)}});return(l,e)=>{const h=T("highlightjs"),C=L,x=O,y=S,k=F,E=D,w=q;return c(),u("div",P,[t(w,{modelValue:m(s),"onUpdate:modelValue":e[1]||(e[1]=o=>i(s)?s.value=o:null),width:"900px",title:"代码预览"},{default:a(()=>[t(E,{modelValue:m(n),"onUpdate:modelValue":e[0]||(e[0]=o=>i(n)?n.value=o:null)},{default:a(()=>[(c(!0),u(N,null,$(d.code,(o,r)=>(c(),j(k,{label:o.name,name:`index${r}`,key:r},{default:a(()=>[p("div",R,[t(C,{class:"flex-1"},{default:a(()=>[t(h,{autodetect:"",code:o.content},null,8,["code"])]),_:2},1024),p("div",null,[t(y,{onClick:X=>g(o.content),type:"primary",link:""},{icon:a(()=>[t(x,{name:"el-icon-CopyDocument"})]),default:a(()=>[e[2]||(e[2]=U(" 复制 ",-1))]),_:1},8,["onClick"])])])]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])])}}});export{A as _}; +import{o as B,x as T,q as c,r as u,v as t,D as a,Y as D,C as i,u as m,F as N,G as $,O as j,X as F,s as p,a2 as L,K as S,L as U,bt as q,M as G,p as K,aC as M}from"./.pnpm-9dA1PEvN.js";import{c as O,i as _}from"./index-BWzN7QIb.js";const P={class:"code-preview"},R={class:"flex",style:{height:"50vh"}},A=B({__name:"code-preview",props:{modelValue:{type:Boolean},code:{}},emits:["update:modelValue"],setup(d,{emit:f}){const b=d,V=f,{toClipboard:v}=M(),n=G("index0"),g=async l=>{try{await v(l),_.msgSuccess("复制成功")}catch{_.msgError("复制失败")}},s=K({get(){return b.modelValue},set(l){V("update:modelValue",l)}});return(l,e)=>{const h=T("highlightjs"),C=L,x=O,y=S,k=F,E=D,w=q;return c(),u("div",P,[t(w,{modelValue:m(s),"onUpdate:modelValue":e[1]||(e[1]=o=>i(s)?s.value=o:null),width:"900px",title:"代码预览"},{default:a(()=>[t(E,{modelValue:m(n),"onUpdate:modelValue":e[0]||(e[0]=o=>i(n)?n.value=o:null)},{default:a(()=>[(c(!0),u(N,null,$(d.code,(o,r)=>(c(),j(k,{label:o.name,name:`index${r}`,key:r},{default:a(()=>[p("div",R,[t(C,{class:"flex-1"},{default:a(()=>[t(h,{autodetect:"",code:o.content},null,8,["code"])]),_:2},1024),p("div",null,[t(y,{onClick:X=>g(o.content),type:"primary",link:""},{icon:a(()=>[t(x,{name:"el-icon-CopyDocument"})]),default:a(()=>[e[2]||(e[2]=U(" 复制 ",-1))]),_:1},8,["onClick"])])])]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])])}}});export{A as _}; diff --git a/server/public/admin/assets/commission-settlement-cYKYC1dO.js b/server/public/admin/assets/commission-settlement-Bo2Gm2jN.js similarity index 99% rename from server/public/admin/assets/commission-settlement-cYKYC1dO.js rename to server/public/admin/assets/commission-settlement-Bo2Gm2jN.js index d2104e0f..2c0c4dd0 100644 --- a/server/public/admin/assets/commission-settlement-cYKYC1dO.js +++ b/server/public/admin/assets/commission-settlement-Bo2Gm2jN.js @@ -1 +1 @@ -import{o as gt,M as p,R as ht,ap as bt,q as u,r as m,s as r,cA as wt,T as _,P as v,v as n,D as o,bp as yt,bd as kt,L as s,bm as xt,bn as Ct,F as S,G as Ue,O as b,cB as St,ac as H,bK as Vt,bi as Ot,K as Dt,w as Et,u as B,bA as zt,cx as Nt,bg as Mt,bh as $t,br as Tt,b7 as Rt,Y as Lt,X as Ft,cC as Bt,bj as Ut,bk as It,bq as Pt,cD as Yt,cE as qt,aw as Ie,ae as Pe,bc as At,bb as Gt,bs as jt,bt as Ht,p as T,ba as Wt,E as w,e as Ye}from"./.pnpm-9dA1PEvN.js";import{c as qe,a as Qt,b as Xt,d as Jt,e as Kt,f as Zt,g as el}from"./stats-Cp2ee5KL.js";import{_ as tl}from"./index-CJvXnF8Y.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"},Dl={key:4,class:"cs-reconcile__meta"},El={class:"cs-reconcile__toolbar"},zl={key:0,class:"cs-reconcile__carry"},Nl={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"},Ll={class:"cs-dialog__bar"},Fl={class:"cs-patient-cell"},Bl={class:"cs-patient-cell__name"},Ul={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"},Al={class:"cs-dialog__pager"},Gl={class:"cs-dialog__bar cs-dialog__bar--split"},jl={class:"cs-dialog__hint"},Hl={class:"cs-patient-cell"},Wl={class:"cs-patient-cell__name"},Ql={key:0,class:"cs-patient-cell__meta cs-muted"},Xl={key:0},Jl={key:1,class:"cs-muted"},Kl={key:0,class:"cs-muted"},Zl={key:1,class:"cs-muted"},ea={class:"cs-dialog__pager"},ta=gt({__name:"commission-settlement",setup(la){const Ae={value:"id",label:"name",children:"children"};function Ge(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,z)=>{const C=y.name.includes("中心")?-1:1,N=z.name.includes("中心")?-1:1;return C!==N?C-N:y.id-z.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 W(t){return String(t).padStart(2,"0")}function xe(t){return`${t.getFullYear()}-${W(t.getMonth()+1)}-${W(t.getDate())} ${W(t.getHours())}:${W(t.getMinutes())}:${W(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()),U=p(re(h.value)),ae=p(!1),R=p(!1),ne=p([]),ie=p(!1),je=T(()=>Ge(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=Wt({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}),D=p(null),X=p(""),_e=p(!1),ce=p(!1),pe=p(!1),L=T(()=>{var t;return Number((t=D.value)==null?void 0:t.status)===1}),me=p(!1),fe=p(!1),P=p("all"),ve=p([]),ge=p(0),De=p(1),Ee=p(20),J=p(!1),Y=p(null),$=p("all"),q=p([]),A=p(0),K=p(1),ze=p(20),he=p(!1),He=T(()=>{const t=Y.value;return t?t.mode==="dept"?`已完成业绩订单 · ${t.dept_name}`:t.title:"已完成业绩订单"}),Z=T(()=>c.order_start_time&&c.order_end_time?`${c.order_start_time}~${c.order_end_time}`:c.order_month||"—"),We=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 Ne(t){if(!t||t<=0)return!1;const e=We.value.get(t);return!!(e&&e.length>0)}function Xe(t){if(!(!t||!t.dept_id||t.dept_id<=0)){if(Ne(t.dept_id)){O.value=[t.dept_id],E();return}Ke(t.dept_id,t.dept_name)}}function Je(){const t=ee.value;if(!t){O.value=[],E();return}const e=Number(t.pid),i=e>0?be.value.get(e):null;!i||Number(i.pid)<=0?O.value=[]:O.value=[e],E()}function Ke(t,e){if(!h.value){w.warning("请选择结算月");return}Y.value={mode:"dept",dept_id:t,dept_name:e},$.value="all",K.value=1,q.value=[],A.value=0,J.value=!0,te(1)}function Ze(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",K.value=1,q.value=[],A.value=0,J.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",K.value=1,q.value=[],A.value=0,J.value=!0,te(1)}async function te(t){if(!(!h.value||!Y.value)){he.value=!0,K.value=t;try{const e=Y.value,i={settlement_month:h.value,page:t,page_size:ze.value};e.mode==="dept"?(Object.assign(i,F()),i.table_row_dept_id=e.dept_id):(Object.assign(i,F()),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 qe(i);q.value=(a==null?void 0:a.list)||[],A.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=[],A.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 Qt();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 Xt();Ce.value=(t==null?void 0:t.groups)||[]}catch{}finally{de.value=!1}}async function E(){var i;const t=h.value;if(!t){w.warning("请选择结算月");return}const e=U.value;if(!e||!e[0]||!e[1]){w.warning("请设置订单创建时间范围");return}R.value=!0;try{const a=await Jt(F());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,D.value=(a==null?void 0:a.confirm)??null,X.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={},D.value=null}finally{R.value=!1}}function F(){const e={settlement_month:h.value,fulfillment_status:3},i=U.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,De.value=t;try{const e={...F(),page:t,page_size:Ee.value};P.value&&P.value!=="all"&&(e.bucket=P.value);const i=await qe(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(L.value){w.warning("已确定业绩不可修改备注;请先撤回确定");return}_e.value=!0;try{await Kt({...F(),reconcile_note:X.value}),w.success("已保存核对备注"),await E()}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 Ye.confirm("确定后将为「顺延下期」订单写入结转记录,下一结算月在相同渠道与部门筛选下自动并入统计。确定后仍可「撤回确定」以清除结转并重新核对(与财务对齐后再操作)。","确定本期业绩",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"})}catch{return}ce.value=!0;try{const t=await Zt({...F(),reconcile_note:X.value});w.success(`已确定本期业绩;结转 ${Number((t==null?void 0:t.deferred_carry_count)??0)} 单至 ${String((t==null?void 0:t.next_settlement_month)??"下期")}`),await E()}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 Ye.confirm("将撤回本次「确定业绩」状态,并删除已写入的顺延结转记录(下期将不再汇入这些单)。确定后继续?","撤回确定业绩",{confirmButtonText:"撤回",cancelButtonText:"取消",type:"warning"})}catch{return}pe.value=!0;try{await el(F()),w.success("已撤回确定;可重新保存备注并再次确定本期业绩"),await E()}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(),U.value=re(h.value),ae.value=!1,O.value=[],Q.value="",E()}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],z=a>0?f[a-1]:null;if(z&&z[e]===y)return{rowspan:0,colspan:0};let C=1;for(let N=a+1;N{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 ht(h,t=>{t&&(U.value=re(t))}),bt(async()=>{await Promise.all([tt(),lt()]),await E()}),(t,e)=>{const i=yt,a=kt,x=Ct,f=St,g=xt,y=Vt,z=Et,C=Dt,N=Mt,ct=$t,V=Tt,pt=Rt,mt=Pt,d=It,le=Ut,ye=Ft,ft=Lt,G=Gt,Re=At,Le=jt,Fe=Ht,j=Ot;return u(),m("div",ll,[r("header",al,[r("div",nl,[e[16]||(e[16]=wt('
财务结算 · 业绩台账

提成结算业绩

订单池默认与处方订单列表同源:创建时间 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,_(Z.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(N,{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:U.value,"onUpdate:modelValue":e[1]||(e[1]=l=>U.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:E},{default:o(()=>[n(x,{label:"全部",value:""}),(u(!0),m(S,null,Ue(Ce.value,l=>(u(),b(f,{key:l.group_name,label:l.group_name},{default:o(()=>[(u(!0),m(S,null,Ue(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)),H((u(),m("div",hl,[n(y,{modelValue:O.value,"onUpdate:modelValue":e[4]||(e[4]=l=>O.value=l),data:je.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:Ae},null,8,["modelValue","data"])])),[[j,ie.value]])]),r("div",bl,[n(C,{type:"primary",class:"filter-btn filter-btn--query",loading:R.value,onClick:E},{default:o(()=>[n(z,{class:"filter-btn__icon"},{default:o(()=>[n(B(zt))]),_: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(z,{class:"filter-btn__icon"},{default:o(()=>[n(B(Nt))]),_: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,_(Z.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(N,{class:"cs-panel cs-reconcile-card",shadow:"never"},{default:o(()=>{var l,M,Be;return[r("div",Cl,[r("div",Sl,[r("div",Vl,[L.value?(u(),b(V,{key:0,type:"success",effect:"dark"},{default:o(()=>[...e[34]||(e[34]=[s("已确定业绩",-1)])]),_:1})):((l=D.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})),L.value&&((M=D.value)!=null&&M.confirmed_at_text)?(u(),m("span",Ol,_(D.value.confirmed_admin_name||"—")+" · "+_(D.value.confirmed_at_text),1)):((Be=D.value)==null?void 0:Be.status)===2&&D.value.revoked_at_text?(u(),m("span",Dl," 撤回:"+_(D.value.revoked_admin_name||"—")+" · "+_(D.value.revoked_at_text),1)):v("",!0)]),r("div",El,[n(C,{type:"primary",plain:"",onClick:at},{default:o(()=>[...e[37]||(e[37]=[s("业绩明细核对",-1)])]),_:1}),n(C,{disabled:L.value||_e.value,onClick:ot},{default:o(()=>[...e[38]||(e[38]=[s(" 保存核对备注 ",-1)])]),_:1},8,["disabled"]),n(C,{type:"warning",disabled:L.value||ce.value,onClick:st},{default:o(()=>[...e[39]||(e[39]=[s(" 确定本期业绩 ",-1)])]),_:1},8,["disabled"]),L.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:X.value,"onUpdate:modelValue":e[5]||(e[5]=vt=>X.value=vt),type:"textarea",rows:2,maxlength:"500","show-word-limit":"",placeholder:"核对备注(可与财务线下对齐后填写;确定业绩前可反复保存)",disabled:L.value,class:"cs-reconcile__note"},null,8,["modelValue","disabled"]),Number(I.value.carry_in_order_count)>0?(u(),m("p",zl,[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(N,{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",Nl,[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:Je},{default:o(()=>[n(z,null,{default:o(()=>[n(B(Bt))]),_: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))]),H((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=>Xe(l)},{default:o(()=>[r("span",Tl,_(l.dept_name),1),n(z,{class:"cs-dept-link__icon"},{default:o(()=>[Ne(l.dept_id)?(u(),b(B(Yt),{key:0})):(u(),b(B(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"])),[[j,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)),H((u(),b(le,{data:oe.value,border:"",stripe:"",size:"small",class:"cs-table cs-table--grouped","show-summary":"","summary-method":Me,"span-method":B(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:Pe(["cs-channel-tag cs-channel-tag--clickable",Te(l.appt_channel_name)]),effect:"plain",onClick:Ie(M=>Ze(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"])),[[j,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)),H((u(),b(le,{data:se.value,border:"",stripe:"",size:"small",class:"cs-table cs-table--grouped","show-summary":"","summary-method":Me,"span-method":B(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:Pe(["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"])),[[j,R.value]])]),_:1})]),_:1},8,["modelValue"])]),_:1}),n(Fe,{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",Ll,[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(G,{label:"all"},{default:o(()=>[...e[47]||(e[47]=[s("全部",-1)])]),_:1}),n(G,{label:"current"},{default:o(()=>[...e[48]||(e[48]=[s("本期提成",-1)])]),_:1}),n(G,{label:"deferred"},{default:o(()=>[...e[49]||(e[49]=[s("顺延下期",-1)])]),_:1})]),_:1},8,["modelValue"])]),H((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",Fl,[r("span",Bl,_(l.patient_name||"—"),1),l.patient_phone||l.patient_gender_text?(u(),m("span",Ul,[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"])),[[j,fe.value]]),r("div",Al,[n(Le,{layout:"total, prev, pager, next",total:ge.value,"page-size":Ee.value,"current-page":De.value,onCurrentChange:we},null,8,["total","page-size","current-page"])])]),_:1},8,["modelValue"]),n(Fe,{modelValue:J.value,"onUpdate:modelValue":e[12]||(e[12]=l=>J.value=l),title:He.value,width:"1280px","destroy-on-close":"",class:"cs-dialog"},{default:o(()=>[r("div",Gl,[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(G,{label:"all"},{default:o(()=>[...e[53]||(e[53]=[s("全部已完成",-1)])]),_:1}),n(G,{label:"current"},{default:o(()=>[...e[54]||(e[54]=[s("本期提成",-1)])]),_:1}),n(G,{label:"deferred"},{default:o(()=>[...e[55]||(e[55]=[s("顺延下期",-1)])]),_:1})]),_:1},8,["modelValue"]),r("span",jl,[e[58]||(e[58]=s(" 结算月:",-1)),r("strong",null,_(c.settlement_month||h.value),1),Z.value&&Z.value!=="—"?(u(),m(S,{key:0},[e[56]||(e[56]=s(" · 订单创建:",-1)),r("strong",null,_(Z.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)])]),H((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",Hl,[r("span",Wl,_(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",Xl,"是")):(u(),m("span",Jl,"—"))]),_:1}),n(d,{label:"顺延说明","min-width":"200","show-overflow-tooltip":""},{default:o(({row:l})=>[l.bucket==="deferred"&&l.bucket_defer_text?(u(),m("span",Kl,_(l.bucket_defer_text),1)):(u(),m("span",Zl,"—"))]),_: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"])),[[j,he.value]]),r("div",ea,[n(Le,{layout:"total, prev, pager, next",total:A.value,"page-size":ze.value,"current-page":K.value,onCurrentChange:te},null,8,["total","page-size","current-page"])])]),_:1},8,["modelValue","title"])])}}}),sa=tl(ta,[["__scopeId","data-v-14e5732a"]]);export{sa as default}; +import{o as gt,M as p,R as ht,ap as bt,q as u,r as m,s as r,cA as wt,T as _,P as v,v as n,D as o,bp as yt,bd as kt,L as s,bm as xt,bn as Ct,F as S,G as Ue,O as b,cB as St,ac as H,bK as Vt,bi as Ot,K as Dt,w as Et,u as B,bA as zt,cx as Nt,bg as Mt,bh as $t,br as Tt,b7 as Rt,Y as Lt,X as Ft,cC as Bt,bj as Ut,bk as It,bq as Pt,cD as Yt,cE as qt,aw as Ie,ae as Pe,bc as At,bb as Gt,bs as jt,bt as Ht,p as T,ba as Wt,E as w,e as Ye}from"./.pnpm-9dA1PEvN.js";import{c as qe,a as Qt,b as Xt,d as Jt,e as Kt,f as Zt,g as el}from"./stats-CYdFBybj.js";import{_ as tl}from"./index-BWzN7QIb.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"},Dl={key:4,class:"cs-reconcile__meta"},El={class:"cs-reconcile__toolbar"},zl={key:0,class:"cs-reconcile__carry"},Nl={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"},Ll={class:"cs-dialog__bar"},Fl={class:"cs-patient-cell"},Bl={class:"cs-patient-cell__name"},Ul={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"},Al={class:"cs-dialog__pager"},Gl={class:"cs-dialog__bar cs-dialog__bar--split"},jl={class:"cs-dialog__hint"},Hl={class:"cs-patient-cell"},Wl={class:"cs-patient-cell__name"},Ql={key:0,class:"cs-patient-cell__meta cs-muted"},Xl={key:0},Jl={key:1,class:"cs-muted"},Kl={key:0,class:"cs-muted"},Zl={key:1,class:"cs-muted"},ea={class:"cs-dialog__pager"},ta=gt({__name:"commission-settlement",setup(la){const Ae={value:"id",label:"name",children:"children"};function Ge(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,z)=>{const C=y.name.includes("中心")?-1:1,N=z.name.includes("中心")?-1:1;return C!==N?C-N:y.id-z.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 W(t){return String(t).padStart(2,"0")}function xe(t){return`${t.getFullYear()}-${W(t.getMonth()+1)}-${W(t.getDate())} ${W(t.getHours())}:${W(t.getMinutes())}:${W(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()),U=p(re(h.value)),ae=p(!1),R=p(!1),ne=p([]),ie=p(!1),je=T(()=>Ge(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=Wt({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}),D=p(null),X=p(""),_e=p(!1),ce=p(!1),pe=p(!1),L=T(()=>{var t;return Number((t=D.value)==null?void 0:t.status)===1}),me=p(!1),fe=p(!1),P=p("all"),ve=p([]),ge=p(0),De=p(1),Ee=p(20),J=p(!1),Y=p(null),$=p("all"),q=p([]),A=p(0),K=p(1),ze=p(20),he=p(!1),He=T(()=>{const t=Y.value;return t?t.mode==="dept"?`已完成业绩订单 · ${t.dept_name}`:t.title:"已完成业绩订单"}),Z=T(()=>c.order_start_time&&c.order_end_time?`${c.order_start_time}~${c.order_end_time}`:c.order_month||"—"),We=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 Ne(t){if(!t||t<=0)return!1;const e=We.value.get(t);return!!(e&&e.length>0)}function Xe(t){if(!(!t||!t.dept_id||t.dept_id<=0)){if(Ne(t.dept_id)){O.value=[t.dept_id],E();return}Ke(t.dept_id,t.dept_name)}}function Je(){const t=ee.value;if(!t){O.value=[],E();return}const e=Number(t.pid),i=e>0?be.value.get(e):null;!i||Number(i.pid)<=0?O.value=[]:O.value=[e],E()}function Ke(t,e){if(!h.value){w.warning("请选择结算月");return}Y.value={mode:"dept",dept_id:t,dept_name:e},$.value="all",K.value=1,q.value=[],A.value=0,J.value=!0,te(1)}function Ze(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",K.value=1,q.value=[],A.value=0,J.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",K.value=1,q.value=[],A.value=0,J.value=!0,te(1)}async function te(t){if(!(!h.value||!Y.value)){he.value=!0,K.value=t;try{const e=Y.value,i={settlement_month:h.value,page:t,page_size:ze.value};e.mode==="dept"?(Object.assign(i,F()),i.table_row_dept_id=e.dept_id):(Object.assign(i,F()),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 qe(i);q.value=(a==null?void 0:a.list)||[],A.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=[],A.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 Qt();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 Xt();Ce.value=(t==null?void 0:t.groups)||[]}catch{}finally{de.value=!1}}async function E(){var i;const t=h.value;if(!t){w.warning("请选择结算月");return}const e=U.value;if(!e||!e[0]||!e[1]){w.warning("请设置订单创建时间范围");return}R.value=!0;try{const a=await Jt(F());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,D.value=(a==null?void 0:a.confirm)??null,X.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={},D.value=null}finally{R.value=!1}}function F(){const e={settlement_month:h.value,fulfillment_status:3},i=U.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,De.value=t;try{const e={...F(),page:t,page_size:Ee.value};P.value&&P.value!=="all"&&(e.bucket=P.value);const i=await qe(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(L.value){w.warning("已确定业绩不可修改备注;请先撤回确定");return}_e.value=!0;try{await Kt({...F(),reconcile_note:X.value}),w.success("已保存核对备注"),await E()}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 Ye.confirm("确定后将为「顺延下期」订单写入结转记录,下一结算月在相同渠道与部门筛选下自动并入统计。确定后仍可「撤回确定」以清除结转并重新核对(与财务对齐后再操作)。","确定本期业绩",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"})}catch{return}ce.value=!0;try{const t=await Zt({...F(),reconcile_note:X.value});w.success(`已确定本期业绩;结转 ${Number((t==null?void 0:t.deferred_carry_count)??0)} 单至 ${String((t==null?void 0:t.next_settlement_month)??"下期")}`),await E()}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 Ye.confirm("将撤回本次「确定业绩」状态,并删除已写入的顺延结转记录(下期将不再汇入这些单)。确定后继续?","撤回确定业绩",{confirmButtonText:"撤回",cancelButtonText:"取消",type:"warning"})}catch{return}pe.value=!0;try{await el(F()),w.success("已撤回确定;可重新保存备注并再次确定本期业绩"),await E()}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(),U.value=re(h.value),ae.value=!1,O.value=[],Q.value="",E()}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],z=a>0?f[a-1]:null;if(z&&z[e]===y)return{rowspan:0,colspan:0};let C=1;for(let N=a+1;N{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 ht(h,t=>{t&&(U.value=re(t))}),bt(async()=>{await Promise.all([tt(),lt()]),await E()}),(t,e)=>{const i=yt,a=kt,x=Ct,f=St,g=xt,y=Vt,z=Et,C=Dt,N=Mt,ct=$t,V=Tt,pt=Rt,mt=Pt,d=It,le=Ut,ye=Ft,ft=Lt,G=Gt,Re=At,Le=jt,Fe=Ht,j=Ot;return u(),m("div",ll,[r("header",al,[r("div",nl,[e[16]||(e[16]=wt('
财务结算 · 业绩台账

提成结算业绩

订单池默认与处方订单列表同源:创建时间 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,_(Z.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(N,{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:U.value,"onUpdate:modelValue":e[1]||(e[1]=l=>U.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:E},{default:o(()=>[n(x,{label:"全部",value:""}),(u(!0),m(S,null,Ue(Ce.value,l=>(u(),b(f,{key:l.group_name,label:l.group_name},{default:o(()=>[(u(!0),m(S,null,Ue(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)),H((u(),m("div",hl,[n(y,{modelValue:O.value,"onUpdate:modelValue":e[4]||(e[4]=l=>O.value=l),data:je.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:Ae},null,8,["modelValue","data"])])),[[j,ie.value]])]),r("div",bl,[n(C,{type:"primary",class:"filter-btn filter-btn--query",loading:R.value,onClick:E},{default:o(()=>[n(z,{class:"filter-btn__icon"},{default:o(()=>[n(B(zt))]),_: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(z,{class:"filter-btn__icon"},{default:o(()=>[n(B(Nt))]),_: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,_(Z.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(N,{class:"cs-panel cs-reconcile-card",shadow:"never"},{default:o(()=>{var l,M,Be;return[r("div",Cl,[r("div",Sl,[r("div",Vl,[L.value?(u(),b(V,{key:0,type:"success",effect:"dark"},{default:o(()=>[...e[34]||(e[34]=[s("已确定业绩",-1)])]),_:1})):((l=D.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})),L.value&&((M=D.value)!=null&&M.confirmed_at_text)?(u(),m("span",Ol,_(D.value.confirmed_admin_name||"—")+" · "+_(D.value.confirmed_at_text),1)):((Be=D.value)==null?void 0:Be.status)===2&&D.value.revoked_at_text?(u(),m("span",Dl," 撤回:"+_(D.value.revoked_admin_name||"—")+" · "+_(D.value.revoked_at_text),1)):v("",!0)]),r("div",El,[n(C,{type:"primary",plain:"",onClick:at},{default:o(()=>[...e[37]||(e[37]=[s("业绩明细核对",-1)])]),_:1}),n(C,{disabled:L.value||_e.value,onClick:ot},{default:o(()=>[...e[38]||(e[38]=[s(" 保存核对备注 ",-1)])]),_:1},8,["disabled"]),n(C,{type:"warning",disabled:L.value||ce.value,onClick:st},{default:o(()=>[...e[39]||(e[39]=[s(" 确定本期业绩 ",-1)])]),_:1},8,["disabled"]),L.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:X.value,"onUpdate:modelValue":e[5]||(e[5]=vt=>X.value=vt),type:"textarea",rows:2,maxlength:"500","show-word-limit":"",placeholder:"核对备注(可与财务线下对齐后填写;确定业绩前可反复保存)",disabled:L.value,class:"cs-reconcile__note"},null,8,["modelValue","disabled"]),Number(I.value.carry_in_order_count)>0?(u(),m("p",zl,[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(N,{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",Nl,[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:Je},{default:o(()=>[n(z,null,{default:o(()=>[n(B(Bt))]),_: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))]),H((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=>Xe(l)},{default:o(()=>[r("span",Tl,_(l.dept_name),1),n(z,{class:"cs-dept-link__icon"},{default:o(()=>[Ne(l.dept_id)?(u(),b(B(Yt),{key:0})):(u(),b(B(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"])),[[j,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)),H((u(),b(le,{data:oe.value,border:"",stripe:"",size:"small",class:"cs-table cs-table--grouped","show-summary":"","summary-method":Me,"span-method":B(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:Pe(["cs-channel-tag cs-channel-tag--clickable",Te(l.appt_channel_name)]),effect:"plain",onClick:Ie(M=>Ze(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"])),[[j,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)),H((u(),b(le,{data:se.value,border:"",stripe:"",size:"small",class:"cs-table cs-table--grouped","show-summary":"","summary-method":Me,"span-method":B(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:Pe(["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"])),[[j,R.value]])]),_:1})]),_:1},8,["modelValue"])]),_:1}),n(Fe,{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",Ll,[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(G,{label:"all"},{default:o(()=>[...e[47]||(e[47]=[s("全部",-1)])]),_:1}),n(G,{label:"current"},{default:o(()=>[...e[48]||(e[48]=[s("本期提成",-1)])]),_:1}),n(G,{label:"deferred"},{default:o(()=>[...e[49]||(e[49]=[s("顺延下期",-1)])]),_:1})]),_:1},8,["modelValue"])]),H((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",Fl,[r("span",Bl,_(l.patient_name||"—"),1),l.patient_phone||l.patient_gender_text?(u(),m("span",Ul,[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"])),[[j,fe.value]]),r("div",Al,[n(Le,{layout:"total, prev, pager, next",total:ge.value,"page-size":Ee.value,"current-page":De.value,onCurrentChange:we},null,8,["total","page-size","current-page"])])]),_:1},8,["modelValue"]),n(Fe,{modelValue:J.value,"onUpdate:modelValue":e[12]||(e[12]=l=>J.value=l),title:He.value,width:"1280px","destroy-on-close":"",class:"cs-dialog"},{default:o(()=>[r("div",Gl,[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(G,{label:"all"},{default:o(()=>[...e[53]||(e[53]=[s("全部已完成",-1)])]),_:1}),n(G,{label:"current"},{default:o(()=>[...e[54]||(e[54]=[s("本期提成",-1)])]),_:1}),n(G,{label:"deferred"},{default:o(()=>[...e[55]||(e[55]=[s("顺延下期",-1)])]),_:1})]),_:1},8,["modelValue"]),r("span",jl,[e[58]||(e[58]=s(" 结算月:",-1)),r("strong",null,_(c.settlement_month||h.value),1),Z.value&&Z.value!=="—"?(u(),m(S,{key:0},[e[56]||(e[56]=s(" · 订单创建:",-1)),r("strong",null,_(Z.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)])]),H((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",Hl,[r("span",Wl,_(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",Xl,"是")):(u(),m("span",Jl,"—"))]),_:1}),n(d,{label:"顺延说明","min-width":"200","show-overflow-tooltip":""},{default:o(({row:l})=>[l.bucket==="deferred"&&l.bucket_defer_text?(u(),m("span",Kl,_(l.bucket_defer_text),1)):(u(),m("span",Zl,"—"))]),_: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"])),[[j,he.value]]),r("div",ea,[n(Le,{layout:"total, prev, pager, next",total:A.value,"page-size":ze.value,"current-page":K.value,onCurrentChange:te},null,8,["total","page-size","current-page"])])]),_:1},8,["modelValue","title"])])}}}),sa=tl(ta,[["__scopeId","data-v-14e5732a"]]);export{sa as default}; diff --git a/server/public/admin/assets/config-CeaJ6XEv.js b/server/public/admin/assets/config-CJqugFWY.js similarity index 94% rename from server/public/admin/assets/config-CeaJ6XEv.js rename to server/public/admin/assets/config-CJqugFWY.js index 53684656..7ab5b567 100644 --- a/server/public/admin/assets/config-CeaJ6XEv.js +++ b/server/public/admin/assets/config-CJqugFWY.js @@ -1 +1 @@ -import{_ as C}from"./index-bkWlwzQZ.js";import{o as x,be as g,q as m,r as R,v as l,D as d,bh as j,bg as B,s as o,b6 as T,b7 as O,u as t,ac as f,O as v,K,L as r,bc as L,bf as N,b9 as F,ba as J,a8 as z}from"./.pnpm-9dA1PEvN.js";import{_ as G}from"./picker-DWQ_BAep.js";import{g as M,s as Z}from"./wx_oa-DPme7qiY.js";import{e as H}from"./index-CJvXnF8Y.js";import"./index-BBemoNXE.js";import"./index-CY1mb9yY.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-CAGpCz28.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const P={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"},le={class:"w-80"},oe={class:"flex-1 min-w-0"},se={class:"w-80"},te={class:"flex-1 min-w-0"},de={class:"flex-1 min-w-0"},ne={class:"sm:flex"},ae={class:"mr-4 sm:w-80 flex"},ie={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"}),Ie=x({...fe,setup(ve){const y=H(),s=J({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"]}]},c=async()=>{const p=await M();for(const e in s)s[e]=p[e]},U=async()=>{var p;await((p=w.value)==null?void 0:p.validate()),await Z(s),c()};return c(),(p,e)=>{const A=j,u=B,i=O,a=T,E=G,_=K,V=N,D=L,S=F,I=C,b=g("copy"),q=g("perms");return m(),R("div",null,[l(u,{class:"!border-none",shadow:"never"},{default:d(()=>[l(A,{type:"warning",title:"温馨提示:填写微信公众号开发配置,请前往微信公众平台申请服务号并完成认证",closable:!1,"show-icon":""})]),_:1}),l(S,{ref_key:"formRef",ref:w,model:t(s),rules:k,"label-width":t(y).isMobile?"80px":"160px"},{default:d(()=>[l(u,{class:"!border-none mt-4",shadow:"never"},{default:d(()=>[e[13]||(e[13]=o("div",{class:"font-medium mb-7"},"微信公众号",-1)),l(a,{label:"公众号名称",prop:"name"},{default:d(()=>[o("div",P,[l(i,{modelValue:t(s).name,"onUpdate:modelValue":e[0]||(e[0]=n=>t(s).name=n),placeholder:"请输入公众号名称"},null,8,["modelValue"])])]),_:1}),l(a,{label:"原始ID",prop:"original_id"},{default:d(()=>[o("div",Q,[l(i,{modelValue:t(s).original_id,"onUpdate:modelValue":e[1]||(e[1]=n=>t(s).original_id=n),placeholder:"请输入原始ID"},null,8,["modelValue"])])]),_:1}),l(a,{label:"公众号二维码",prop:"qr_code"},{default:d(()=>[o("div",null,[o("div",null,[l(E,{modelValue:t(s).qr_code,"onUpdate:modelValue":e[2]||(e[2]=n=>t(s).qr_code=n),limit:1},null,8,["modelValue"])]),e[12]||(e[12]=o("div",{class:"form-tips"},"建议尺寸:宽400px*高400px。jpg,jpeg,png格式",-1))])]),_:1})]),_:1}),l(u,{class:"!border-none mt-4",shadow:"never"},{default:d(()=>[e[15]||(e[15]=o("div",{class:"font-medium mb-7"},"公众号开发者信息",-1)),l(a,{label:"AppID",prop:"app_id"},{default:d(()=>[o("div",W,[l(i,{modelValue:t(s).app_id,"onUpdate:modelValue":e[3]||(e[3]=n=>t(s).app_id=n),placeholder:"请输入AppID"},null,8,["modelValue"])])]),_:1}),l(a,{label:"AppSecret",prop:"app_secret"},{default:d(()=>[o("div",X,[l(i,{modelValue:t(s).app_secret,"onUpdate:modelValue":e[4]||(e[4]=n=>t(s).app_secret=n),placeholder:"请输入AppSecret"},null,8,["modelValue"])])]),_:1}),l(a,null,{default:d(()=>[...e[14]||(e[14]=[o("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->开发者ID,设置AppID和AppSecret ",-1)])]),_:1})]),_:1}),l(u,{class:"!border-none mt-4",shadow:"never"},{default:d(()=>[e[23]||(e[23]=o("div",{class:"font-medium mb-7"},"服务器配置",-1)),l(a,{label:"URL"},{default:d(()=>[o("div",Y,[o("div",$,[o("div",h,[l(i,{modelValue:t(s).url,"onUpdate:modelValue":e[5]||(e[5]=n=>t(s).url=n),disabled:""},null,8,["modelValue"])]),f((m(),v(_,null,{default:d(()=>[...e[16]||(e[16]=[r("复制",-1)])]),_:1})),[[b,t(s).url]])]),e[17]||(e[17]=o("div",{class:"form-tips"}," 登录微信公众平台,点击开发>基本配置>服务器配置,填写服务器地址(URL) ",-1))])]),_:1}),l(a,{label:"Token",prop:"Token"},{default:d(()=>[o("div",ee,[o("div",le,[l(i,{modelValue:t(s).token,"onUpdate:modelValue":e[6]||(e[6]=n=>t(s).token=n),placeholder:"请输入Token"},null,8,["modelValue"])]),e[18]||(e[18]=o("div",{class:"form-tips"}," 登录微信公众平台,点击开发>基本配置>服务器配置,设置令牌Token。不填默认为“likeshop” ",-1))])]),_:1}),l(a,{label:"EncodingAESKey",prop:"encoding_aes_key"},{default:d(()=>[o("div",oe,[o("div",se,[l(i,{modelValue:t(s).encoding_aes_key,"onUpdate:modelValue":e[7]||(e[7]=n=>t(s).encoding_aes_key=n),placeholder:"请输入EncodingAESKey"},null,8,["modelValue"])]),e[19]||(e[19]=o("div",{class:"form-tips"}," 消息加密密钥由43位字符组成,字符范围为A-Z,a-z,0-9 ",-1))])]),_:1}),l(a,{label:"消息加密方式",required:"",prop:"encryption_type"},{default:d(()=>[o("div",te,[l(D,{class:"flex-col !items-start min-w-0",modelValue:t(s).encryption_type,"onUpdate:modelValue":e[8]||(e[8]=n=>t(s).encryption_type=n)},{default:d(()=>[l(V,{value:1},{default:d(()=>[...e[20]||(e[20]=[r(" 明文模式 (不使用消息体加解密功能,安全系数较低) ",-1)])]),_:1}),l(V,{value:2},{default:d(()=>[...e[21]||(e[21]=[r(" 兼容模式 (明文、密文将共存,方便开发者调试和维护) ",-1)])]),_:1}),l(V,{value:3},{default:d(()=>[...e[22]||(e[22]=[r(" 安全模式(推荐) (消息包为纯密文,需要开发者加密和解密,安全系数高) ",-1)])]),_:1})]),_:1},8,["modelValue"])])]),_:1})]),_:1}),l(u,{class:"!border-none mt-4",shadow:"never"},{default:d(()=>[e[30]||(e[30]=o("div",{class:"font-medium mb-7"},"功能设置",-1)),l(a,{label:"业务域名"},{default:d(()=>[o("div",de,[o("div",ne,[o("div",ae,[l(i,{modelValue:t(s).business_domain,"onUpdate:modelValue":e[9]||(e[9]=n=>t(s).business_domain=n),disabled:""},null,8,["modelValue"])]),f((m(),v(_,null,{default:d(()=>[...e[24]||(e[24]=[r("复制",-1)])]),_:1})),[[b,t(s).business_domain]])]),e[25]||(e[25]=o("div",{class:"form-tips"}," 登录微信公众平台,点击设置>公众号设置>功能设置,填写业务域名 ",-1))])]),_:1}),l(a,{label:"JS接口安全域名"},{default:d(()=>[o("div",ie,[o("div",re,[o("div",me,[l(i,{modelValue:t(s).js_secure_domain,"onUpdate:modelValue":e[10]||(e[10]=n=>t(s).js_secure_domain=n),disabled:""},null,8,["modelValue"])]),f((m(),v(_,null,{default:d(()=>[...e[26]||(e[26]=[r("复制",-1)])]),_:1})),[[b,t(s).js_secure_domain]])]),e[27]||(e[27]=o("div",{class:"form-tips"}," 登录微信公众平台,点击设置>公众号设置>功能设置,填写JS接口安全域名 ",-1))])]),_:1}),l(a,{label:"网页授权域名"},{default:d(()=>[o("div",pe,[o("div",ue,[o("div",_e,[l(i,{modelValue:t(s).web_auth_domain,"onUpdate:modelValue":e[11]||(e[11]=n=>t(s).web_auth_domain=n),disabled:""},null,8,["modelValue"])]),f((m(),v(_,null,{default:d(()=>[...e[28]||(e[28]=[r("复制",-1)])]),_:1})),[[b,t(s).web_auth_domain]])]),e[29]||(e[29]=o("div",{class:"form-tips"}," 登录微信公众平台,点击设置>公众号设置>功能设置,填写网页授权域名 ",-1))])]),_:1})]),_:1})]),_:1},8,["model","label-width"]),f((m(),v(I,null,{default:d(()=>[l(_,{type:"primary",onClick:U},{default:d(()=>[...e[31]||(e[31]=[r("保存",-1)])]),_:1})]),_:1})),[[q,["channel.official_account_setting/setConfig"]]])])}}});export{Ie as default}; +import{_ as C}from"./index-DZiQLFzx.js";import{o as x,be as g,q as m,r as R,v as l,D as d,bh as j,bg as B,s as o,b6 as T,b7 as O,u as t,ac as f,O as v,K,L as r,bc as L,bf as N,b9 as F,ba as J,a8 as z}from"./.pnpm-9dA1PEvN.js";import{_ as G}from"./picker-DfI3CPnQ.js";import{g as M,s as Z}from"./wx_oa-HhzP-R8g.js";import{e as H}from"./index-BWzN7QIb.js";import"./index-dYaCh-CN.js";import"./index-xDQ_OZln.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-fA0EWEUO.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const P={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"},le={class:"w-80"},oe={class:"flex-1 min-w-0"},se={class:"w-80"},te={class:"flex-1 min-w-0"},de={class:"flex-1 min-w-0"},ne={class:"sm:flex"},ae={class:"mr-4 sm:w-80 flex"},ie={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"}),Ie=x({...fe,setup(ve){const y=H(),s=J({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"]}]},c=async()=>{const p=await M();for(const e in s)s[e]=p[e]},U=async()=>{var p;await((p=w.value)==null?void 0:p.validate()),await Z(s),c()};return c(),(p,e)=>{const A=j,u=B,i=O,a=T,E=G,_=K,V=N,D=L,S=F,I=C,b=g("copy"),q=g("perms");return m(),R("div",null,[l(u,{class:"!border-none",shadow:"never"},{default:d(()=>[l(A,{type:"warning",title:"温馨提示:填写微信公众号开发配置,请前往微信公众平台申请服务号并完成认证",closable:!1,"show-icon":""})]),_:1}),l(S,{ref_key:"formRef",ref:w,model:t(s),rules:k,"label-width":t(y).isMobile?"80px":"160px"},{default:d(()=>[l(u,{class:"!border-none mt-4",shadow:"never"},{default:d(()=>[e[13]||(e[13]=o("div",{class:"font-medium mb-7"},"微信公众号",-1)),l(a,{label:"公众号名称",prop:"name"},{default:d(()=>[o("div",P,[l(i,{modelValue:t(s).name,"onUpdate:modelValue":e[0]||(e[0]=n=>t(s).name=n),placeholder:"请输入公众号名称"},null,8,["modelValue"])])]),_:1}),l(a,{label:"原始ID",prop:"original_id"},{default:d(()=>[o("div",Q,[l(i,{modelValue:t(s).original_id,"onUpdate:modelValue":e[1]||(e[1]=n=>t(s).original_id=n),placeholder:"请输入原始ID"},null,8,["modelValue"])])]),_:1}),l(a,{label:"公众号二维码",prop:"qr_code"},{default:d(()=>[o("div",null,[o("div",null,[l(E,{modelValue:t(s).qr_code,"onUpdate:modelValue":e[2]||(e[2]=n=>t(s).qr_code=n),limit:1},null,8,["modelValue"])]),e[12]||(e[12]=o("div",{class:"form-tips"},"建议尺寸:宽400px*高400px。jpg,jpeg,png格式",-1))])]),_:1})]),_:1}),l(u,{class:"!border-none mt-4",shadow:"never"},{default:d(()=>[e[15]||(e[15]=o("div",{class:"font-medium mb-7"},"公众号开发者信息",-1)),l(a,{label:"AppID",prop:"app_id"},{default:d(()=>[o("div",W,[l(i,{modelValue:t(s).app_id,"onUpdate:modelValue":e[3]||(e[3]=n=>t(s).app_id=n),placeholder:"请输入AppID"},null,8,["modelValue"])])]),_:1}),l(a,{label:"AppSecret",prop:"app_secret"},{default:d(()=>[o("div",X,[l(i,{modelValue:t(s).app_secret,"onUpdate:modelValue":e[4]||(e[4]=n=>t(s).app_secret=n),placeholder:"请输入AppSecret"},null,8,["modelValue"])])]),_:1}),l(a,null,{default:d(()=>[...e[14]||(e[14]=[o("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->开发者ID,设置AppID和AppSecret ",-1)])]),_:1})]),_:1}),l(u,{class:"!border-none mt-4",shadow:"never"},{default:d(()=>[e[23]||(e[23]=o("div",{class:"font-medium mb-7"},"服务器配置",-1)),l(a,{label:"URL"},{default:d(()=>[o("div",Y,[o("div",$,[o("div",h,[l(i,{modelValue:t(s).url,"onUpdate:modelValue":e[5]||(e[5]=n=>t(s).url=n),disabled:""},null,8,["modelValue"])]),f((m(),v(_,null,{default:d(()=>[...e[16]||(e[16]=[r("复制",-1)])]),_:1})),[[b,t(s).url]])]),e[17]||(e[17]=o("div",{class:"form-tips"}," 登录微信公众平台,点击开发>基本配置>服务器配置,填写服务器地址(URL) ",-1))])]),_:1}),l(a,{label:"Token",prop:"Token"},{default:d(()=>[o("div",ee,[o("div",le,[l(i,{modelValue:t(s).token,"onUpdate:modelValue":e[6]||(e[6]=n=>t(s).token=n),placeholder:"请输入Token"},null,8,["modelValue"])]),e[18]||(e[18]=o("div",{class:"form-tips"}," 登录微信公众平台,点击开发>基本配置>服务器配置,设置令牌Token。不填默认为“likeshop” ",-1))])]),_:1}),l(a,{label:"EncodingAESKey",prop:"encoding_aes_key"},{default:d(()=>[o("div",oe,[o("div",se,[l(i,{modelValue:t(s).encoding_aes_key,"onUpdate:modelValue":e[7]||(e[7]=n=>t(s).encoding_aes_key=n),placeholder:"请输入EncodingAESKey"},null,8,["modelValue"])]),e[19]||(e[19]=o("div",{class:"form-tips"}," 消息加密密钥由43位字符组成,字符范围为A-Z,a-z,0-9 ",-1))])]),_:1}),l(a,{label:"消息加密方式",required:"",prop:"encryption_type"},{default:d(()=>[o("div",te,[l(D,{class:"flex-col !items-start min-w-0",modelValue:t(s).encryption_type,"onUpdate:modelValue":e[8]||(e[8]=n=>t(s).encryption_type=n)},{default:d(()=>[l(V,{value:1},{default:d(()=>[...e[20]||(e[20]=[r(" 明文模式 (不使用消息体加解密功能,安全系数较低) ",-1)])]),_:1}),l(V,{value:2},{default:d(()=>[...e[21]||(e[21]=[r(" 兼容模式 (明文、密文将共存,方便开发者调试和维护) ",-1)])]),_:1}),l(V,{value:3},{default:d(()=>[...e[22]||(e[22]=[r(" 安全模式(推荐) (消息包为纯密文,需要开发者加密和解密,安全系数高) ",-1)])]),_:1})]),_:1},8,["modelValue"])])]),_:1})]),_:1}),l(u,{class:"!border-none mt-4",shadow:"never"},{default:d(()=>[e[30]||(e[30]=o("div",{class:"font-medium mb-7"},"功能设置",-1)),l(a,{label:"业务域名"},{default:d(()=>[o("div",de,[o("div",ne,[o("div",ae,[l(i,{modelValue:t(s).business_domain,"onUpdate:modelValue":e[9]||(e[9]=n=>t(s).business_domain=n),disabled:""},null,8,["modelValue"])]),f((m(),v(_,null,{default:d(()=>[...e[24]||(e[24]=[r("复制",-1)])]),_:1})),[[b,t(s).business_domain]])]),e[25]||(e[25]=o("div",{class:"form-tips"}," 登录微信公众平台,点击设置>公众号设置>功能设置,填写业务域名 ",-1))])]),_:1}),l(a,{label:"JS接口安全域名"},{default:d(()=>[o("div",ie,[o("div",re,[o("div",me,[l(i,{modelValue:t(s).js_secure_domain,"onUpdate:modelValue":e[10]||(e[10]=n=>t(s).js_secure_domain=n),disabled:""},null,8,["modelValue"])]),f((m(),v(_,null,{default:d(()=>[...e[26]||(e[26]=[r("复制",-1)])]),_:1})),[[b,t(s).js_secure_domain]])]),e[27]||(e[27]=o("div",{class:"form-tips"}," 登录微信公众平台,点击设置>公众号设置>功能设置,填写JS接口安全域名 ",-1))])]),_:1}),l(a,{label:"网页授权域名"},{default:d(()=>[o("div",pe,[o("div",ue,[o("div",_e,[l(i,{modelValue:t(s).web_auth_domain,"onUpdate:modelValue":e[11]||(e[11]=n=>t(s).web_auth_domain=n),disabled:""},null,8,["modelValue"])]),f((m(),v(_,null,{default:d(()=>[...e[28]||(e[28]=[r("复制",-1)])]),_:1})),[[b,t(s).web_auth_domain]])]),e[29]||(e[29]=o("div",{class:"form-tips"}," 登录微信公众平台,点击设置>公众号设置>功能设置,填写网页授权域名 ",-1))])]),_:1})]),_:1})]),_:1},8,["model","label-width"]),f((m(),v(I,null,{default:d(()=>[l(_,{type:"primary",onClick:U},{default:d(()=>[...e[31]||(e[31]=[r("保存",-1)])]),_:1})]),_:1})),[[q,["channel.official_account_setting/setConfig"]]])])}}});export{Ie as default}; diff --git a/server/public/admin/assets/consumer-DCRovtRJ.js b/server/public/admin/assets/consumer-DkNGexOj.js similarity index 81% rename from server/public/admin/assets/consumer-DCRovtRJ.js rename to server/public/admin/assets/consumer-DkNGexOj.js index e8a90de2..a0348cdf 100644 --- a/server/public/admin/assets/consumer-DCRovtRJ.js +++ b/server/public/admin/assets/consumer-DkNGexOj.js @@ -1 +1 @@ -import{r}from"./index-CJvXnF8Y.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-BWzN7QIb.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-CsrH3mzs.js b/server/public/admin/assets/content-36mRiREA.js similarity index 90% rename from server/public/admin/assets/content-CsrH3mzs.js rename to server/public/admin/assets/content-36mRiREA.js index 579afd0e..c064512a 100644 --- a/server/public/admin/assets/content-CsrH3mzs.js +++ b/server/public/admin/assets/content-36mRiREA.js @@ -1 +1 @@ -import{o as m,q as t,r as o,v as l,D as r,s as e,F as c,G as d,ae as v,T as p,P as f,a2 as h}from"./.pnpm-9dA1PEvN.js";import u from"./decoration-img-BjTNsUc3.js";import{_ as x}from"./index-CJvXnF8Y.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]"},B={class:"menu"},D={class:"ml-[6px] line-clamp-1"},E=m({__name:"content",props:{nav:{type:Array,default:()=>[]},menu:{type:Array,default:()=>[]}},setup(i){return(N,n)=>{const _=h;return t(),o("div",y,[l(_,null,{default:r(()=>[e("div",k,[e("div",b,[e("div",g,[(t(!0),o(c,null,d(i.nav,(s,a)=>(t(),o(c,{key:a},[s.is_show=="1"?(t(),o("div",{key:0,to:s.link.path,class:v(["nav-item",{active:a==0}])},[l(u,{width:"18px",height:"18px",src:a==0?s.selected:s.unselected,fit:"cover"},{error:r(()=>[...n[0]||(n[0]=[e("span",null,null,-1)])]),_:1},8,["src"]),e("div",C,p(s.name),1)],10,w)):f("",!0)],64))),128))])]),e("div",null,[e("div",B,[(t(!0),o(c,null,d(i.menu,(s,a)=>(t(),o("div",{class:"menu-item",key:a},[l(u,{width:"16px",height:"16px",src:s.unselected,fit:"cover"},{error:r(()=>[...n[1]||(n[1]=[e("span",null,null,-1)])]),_:1},8,["src"]),e("span",D,p(s.name),1)]))),128))])])])]),_:1})])}}}),F=x(E,[["__scopeId","data-v-751ecec2"]]);export{F as default}; +import{o as m,q as t,r as o,v as l,D as r,s as e,F as c,G as d,ae as v,T as p,P as f,a2 as h}from"./.pnpm-9dA1PEvN.js";import u from"./decoration-img-D7jfQZHh.js";import{_ as x}from"./index-BWzN7QIb.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]"},B={class:"menu"},D={class:"ml-[6px] line-clamp-1"},E=m({__name:"content",props:{nav:{type:Array,default:()=>[]},menu:{type:Array,default:()=>[]}},setup(i){return(N,n)=>{const _=h;return t(),o("div",y,[l(_,null,{default:r(()=>[e("div",k,[e("div",b,[e("div",g,[(t(!0),o(c,null,d(i.nav,(s,a)=>(t(),o(c,{key:a},[s.is_show=="1"?(t(),o("div",{key:0,to:s.link.path,class:v(["nav-item",{active:a==0}])},[l(u,{width:"18px",height:"18px",src:a==0?s.selected:s.unselected,fit:"cover"},{error:r(()=>[...n[0]||(n[0]=[e("span",null,null,-1)])]),_:1},8,["src"]),e("div",C,p(s.name),1)],10,w)):f("",!0)],64))),128))])]),e("div",null,[e("div",B,[(t(!0),o(c,null,d(i.menu,(s,a)=>(t(),o("div",{class:"menu-item",key:a},[l(u,{width:"16px",height:"16px",src:s.unselected,fit:"cover"},{error:r(()=>[...n[1]||(n[1]=[e("span",null,null,-1)])]),_:1},8,["src"]),e("span",D,p(s.name),1)]))),128))])])])]),_:1})])}}}),F=x(E,[["__scopeId","data-v-751ecec2"]]);export{F as default}; diff --git a/server/public/admin/assets/content-B6ombiky.js b/server/public/admin/assets/content-B1h0mUKe.js similarity index 69% rename from server/public/admin/assets/content-B6ombiky.js rename to server/public/admin/assets/content-B1h0mUKe.js index b7fc8b71..32a77642 100644 --- a/server/public/admin/assets/content-B6ombiky.js +++ b/server/public/admin/assets/content-B1h0mUKe.js @@ -1 +1 @@ -import{_ as e}from"./index-CJvXnF8Y.js";import{q as t,r as c}from"./.pnpm-9dA1PEvN.js";const o={},r={class:"page-mate"};function n(s,a){return t(),c("div",r)}const m=e(o,[["render",n]]);export{m as default}; +import{_ as e}from"./index-BWzN7QIb.js";import{q as t,r as c}from"./.pnpm-9dA1PEvN.js";const o={},r={class:"page-mate"};function n(s,a){return t(),c("div",r)}const m=e(o,[["render",n]]);export{m as default}; diff --git a/server/public/admin/assets/content-BEL3LUmD.js b/server/public/admin/assets/content-BEL3LUmD.js new file mode 100644 index 00000000..1a77b63e --- /dev/null +++ b/server/public/admin/assets/content-BEL3LUmD.js @@ -0,0 +1 @@ +import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-rFCJ-5da.js";import"./decoration-img-D7jfQZHh.js";import"./.pnpm-9dA1PEvN.js";import"./index-BWzN7QIb.js";export{o as default}; diff --git a/server/public/admin/assets/content-BU4IoEkF.js b/server/public/admin/assets/content-BU4IoEkF.js new file mode 100644 index 00000000..46cd6cd2 --- /dev/null +++ b/server/public/admin/assets/content-BU4IoEkF.js @@ -0,0 +1 @@ +import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-BJQyKf9U.js";import"./decoration-img-D7jfQZHh.js";import"./.pnpm-9dA1PEvN.js";import"./index-BWzN7QIb.js";export{o as default}; diff --git a/server/public/admin/assets/content-Bx4ohNYd.js b/server/public/admin/assets/content-Bx4ohNYd.js deleted file mode 100644 index e45b14f6..00000000 --- a/server/public/admin/assets/content-Bx4ohNYd.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-CHj8JtNb.js";import"./decoration-img-BjTNsUc3.js";import"./.pnpm-9dA1PEvN.js";import"./index-CJvXnF8Y.js";export{o as default}; diff --git a/server/public/admin/assets/content-CONmh2Qu.js b/server/public/admin/assets/content-CONmh2Qu.js deleted file mode 100644 index 5d694c3e..00000000 --- a/server/public/admin/assets/content-CONmh2Qu.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-9FJV-g10.js";import"./decoration-img-BjTNsUc3.js";import"./.pnpm-9dA1PEvN.js";import"./index-CJvXnF8Y.js";export{o as default}; diff --git a/server/public/admin/assets/content-CUuThDez.js b/server/public/admin/assets/content-CUuThDez.js new file mode 100644 index 00000000..a050bedd --- /dev/null +++ b/server/public/admin/assets/content-CUuThDez.js @@ -0,0 +1 @@ +import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-uo5gNfRj.js";import"./decoration-img-D7jfQZHh.js";import"./.pnpm-9dA1PEvN.js";import"./index-BWzN7QIb.js";export{o as default}; diff --git a/server/public/admin/assets/content-BJh8f8yZ.js b/server/public/admin/assets/content-CoRLP3ZG.js similarity index 90% rename from server/public/admin/assets/content-BJh8f8yZ.js rename to server/public/admin/assets/content-CoRLP3ZG.js index 38a0d8bd..84ba79b1 100644 --- a/server/public/admin/assets/content-BJh8f8yZ.js +++ b/server/public/admin/assets/content-CoRLP3ZG.js @@ -1 +1 @@ -import{c as r,_ as d}from"./index-CJvXnF8Y.js";import{g as _}from"./decoration-CcdLOa7h.js";import{o as p,q as s,r as c,s as e,F as x,G as m,P as f,T as o,v as u,u as v,M as w}from"./.pnpm-9dA1PEvN.js";const y={class:"news"},g={key:0,class:"mr-[10px]"},h=["src"],b={class:"flex flex-col justify-between flex-1"},j={class:"text-[15px] font-medium line-clamp-2"},k={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=p({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(C){const n=w([]);return(async()=>{const a=await _({limit:10});n.value=a})(),(a,i)=>{const l=r;return s(),c("div",y,[i[0]||(i[0]=e("div",{class:"flex items-center news-title mx-[10px] my-[15px] text-[17px] font-medium"}," 最新资讯 ",-1)),(s(!0),c(x,null,m(v(n),t=>(s(),c("div",{key:t.id,class:"news-card flex bg-white px-[10px] py-[16px] text-[#333] border-[#f2f2f2] border-b"},[t.image?(s(),c("div",g,[e("img",{src:t.image,class:"w-[120px] h-[90px] object-contain"},null,8,h)])):f("",!0),e("div",b,[e("div",j,o(t.title),1),e("div",k,o(t.desc),1),e("div",D,[e("div",null,o(t.create_time),1),e("div",V,[u(l,{name:"el-icon-View"}),e("div",B,o(t.click),1)])])])]))),128))])}}}),A=d(N,[["__scopeId","data-v-ee8cfed9"]]);export{A as default}; +import{c as r,_ as d}from"./index-BWzN7QIb.js";import{g as _}from"./decoration-CvemIMkE.js";import{o as p,q as s,r as c,s as e,F as x,G as m,P as f,T as o,v as u,u as v,M as w}from"./.pnpm-9dA1PEvN.js";const y={class:"news"},g={key:0,class:"mr-[10px]"},h=["src"],b={class:"flex flex-col justify-between flex-1"},j={class:"text-[15px] font-medium line-clamp-2"},k={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=p({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(C){const n=w([]);return(async()=>{const a=await _({limit:10});n.value=a})(),(a,i)=>{const l=r;return s(),c("div",y,[i[0]||(i[0]=e("div",{class:"flex items-center news-title mx-[10px] my-[15px] text-[17px] font-medium"}," 最新资讯 ",-1)),(s(!0),c(x,null,m(v(n),t=>(s(),c("div",{key:t.id,class:"news-card flex bg-white px-[10px] py-[16px] text-[#333] border-[#f2f2f2] border-b"},[t.image?(s(),c("div",g,[e("img",{src:t.image,class:"w-[120px] h-[90px] object-contain"},null,8,h)])):f("",!0),e("div",b,[e("div",j,o(t.title),1),e("div",k,o(t.desc),1),e("div",D,[e("div",null,o(t.create_time),1),e("div",V,[u(l,{name:"el-icon-View"}),e("div",B,o(t.click),1)])])])]))),128))])}}}),A=d(N,[["__scopeId","data-v-ee8cfed9"]]);export{A as default}; diff --git a/server/public/admin/assets/content-CG3sk7hP.js b/server/public/admin/assets/content-Cwp3TvMF.js similarity index 86% rename from server/public/admin/assets/content-CG3sk7hP.js rename to server/public/admin/assets/content-Cwp3TvMF.js index 388353c5..7a06117a 100644 --- a/server/public/admin/assets/content-CG3sk7hP.js +++ b/server/public/admin/assets/content-Cwp3TvMF.js @@ -1 +1 @@ -import{_ as s}from"./index-CJvXnF8Y.js";import{q as a,r as c,s as e}from"./.pnpm-9dA1PEvN.js";const o="/admin/assets/default_avatar-C6VB7PGm.png",r={},n={class:"user-info flex items-center px-[25px]"};function p(_,t){return a(),c("div",n,[...t[0]||(t[0]=[e("img",{src:o,class:"w-[60px] h-[60px]",alt:""},null,-1),e("div",{class:"text-white text-[18px] ml-[10px]"},"未登录",-1)])])}const l=s(r,[["render",p],["__scopeId","data-v-cdcc3d15"]]);export{l as default}; +import{_ as s}from"./index-BWzN7QIb.js";import{q as a,r as c,s as e}from"./.pnpm-9dA1PEvN.js";const o="/admin/assets/default_avatar-C6VB7PGm.png",r={},n={class:"user-info flex items-center px-[25px]"};function p(_,t){return a(),c("div",n,[...t[0]||(t[0]=[e("img",{src:o,class:"w-[60px] h-[60px]",alt:""},null,-1),e("div",{class:"text-white text-[18px] ml-[10px]"},"未登录",-1)])])}const l=s(r,[["render",p],["__scopeId","data-v-cdcc3d15"]]);export{l as default}; diff --git a/server/public/admin/assets/content-D1Kmuqll.js b/server/public/admin/assets/content-D1Kmuqll.js deleted file mode 100644 index c0bfdf45..00000000 --- a/server/public/admin/assets/content-D1Kmuqll.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-Bb4PsYrv.js";import"./.pnpm-9dA1PEvN.js";import"./index-CAGpCz28.js";import"./index-CJvXnF8Y.js";import"./picker-zZfe7WrS.js";import"./index-BBemoNXE.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-BioaiRdh.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DWQ_BAep.js";import"./index-CY1mb9yY.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";export{o as default}; diff --git a/server/public/admin/assets/content-CCa1I_Vf.js b/server/public/admin/assets/content-DPbffuTN.js similarity index 90% rename from server/public/admin/assets/content-CCa1I_Vf.js rename to server/public/admin/assets/content-DPbffuTN.js index fbe0663d..cfa83dd3 100644 --- a/server/public/admin/assets/content-CCa1I_Vf.js +++ b/server/public/admin/assets/content-DPbffuTN.js @@ -1 +1 @@ -import a from"./decoration-img-BjTNsUc3.js";import{o as i,q as n,r as s,s as t,T as c,v as m,P as r,L as l,F as x}from"./.pnpm-9dA1PEvN.js";import{_ as d}from"./index-CJvXnF8Y.js";const f={class:"customer-service bg-white flex flex-col justify-center items-center mx-[18px] mt-[15px] rounded-[10px] px-[10px] pb-[50px]"},u={class:"w-full border-solid border-0 border-b border-[#f5f5f5] p-[15px] text-center text-[#101010] text-base font-medium"},p={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=i({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(e){return(g,o)=>(n(),s(x,null,[o[0]||(o[0]=t("view",{class:"bg-white p-[15px] flex text-[#101010] font-medium text-lg"}," 联系我们 ",-1)),t("view",f,[t("view",u,c(e.content.title),1),t("view",p,[m(a,{width:"100px",height:"100px",src:e.content.qrcode,alt:""},null,8,["src"])]),e.content.remark?(n(),s("view",b,c(e.content.remark),1)):r("",!0),e.content.mobile?(n(),s("view",h,[t("a",{class:"ml-[5px] phone text-primary underline",href:"tel:"+e.content.mobile},c(e.content.mobile),9,w)])):r("",!0),e.content.time?(n(),s("view",v," 服务时间:"+c(e.content.time),1)):r("",!0)]),o[1]||(o[1]=l(" Î ",-1))],64))}}),V=d(y,[["__scopeId","data-v-7a551d8a"]]);export{V as default}; +import a from"./decoration-img-D7jfQZHh.js";import{o as i,q as n,r as s,s as t,T as c,v as m,P as r,L as l,F as x}from"./.pnpm-9dA1PEvN.js";import{_ as d}from"./index-BWzN7QIb.js";const f={class:"customer-service bg-white flex flex-col justify-center items-center mx-[18px] mt-[15px] rounded-[10px] px-[10px] pb-[50px]"},u={class:"w-full border-solid border-0 border-b border-[#f5f5f5] p-[15px] text-center text-[#101010] text-base font-medium"},p={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=i({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(e){return(g,o)=>(n(),s(x,null,[o[0]||(o[0]=t("view",{class:"bg-white p-[15px] flex text-[#101010] font-medium text-lg"}," 联系我们 ",-1)),t("view",f,[t("view",u,c(e.content.title),1),t("view",p,[m(a,{width:"100px",height:"100px",src:e.content.qrcode,alt:""},null,8,["src"])]),e.content.remark?(n(),s("view",b,c(e.content.remark),1)):r("",!0),e.content.mobile?(n(),s("view",h,[t("a",{class:"ml-[5px] phone text-primary underline",href:"tel:"+e.content.mobile},c(e.content.mobile),9,w)])):r("",!0),e.content.time?(n(),s("view",v," 服务时间:"+c(e.content.time),1)):r("",!0)]),o[1]||(o[1]=l(" Î ",-1))],64))}}),V=d(y,[["__scopeId","data-v-7a551d8a"]]);export{V as default}; diff --git a/server/public/admin/assets/content-DftCBRD1.js b/server/public/admin/assets/content-DftCBRD1.js new file mode 100644 index 00000000..f4df6cbb --- /dev/null +++ b/server/public/admin/assets/content-DftCBRD1.js @@ -0,0 +1 @@ +import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-epBYaUkx.js";import"./decoration-img-D7jfQZHh.js";import"./.pnpm-9dA1PEvN.js";import"./index-BWzN7QIb.js";export{o as default}; diff --git a/server/public/admin/assets/content-Dvj16Wpi.js b/server/public/admin/assets/content-FlAi4LQU.js similarity index 85% rename from server/public/admin/assets/content-Dvj16Wpi.js rename to server/public/admin/assets/content-FlAi4LQU.js index 09b1b18e..f02da102 100644 --- a/server/public/admin/assets/content-Dvj16Wpi.js +++ b/server/public/admin/assets/content-FlAi4LQU.js @@ -1 +1 @@ -import{_ as o,c as t}from"./index-CJvXnF8Y.js";import{q as n,r as a,s,v as r}from"./.pnpm-9dA1PEvN.js";const _={},i={class:"search"},d={class:"search-con flex items-center px-[15px]"};function m(p,e){const c=t;return n(),a("div",i,[s("div",d,[r(c,{name:"el-icon-Search",size:17}),e[0]||(e[0]=s("span",{class:"ml-[5px]"},"请输入关键词搜索",-1))])])}const x=o(_,[["render",m],["__scopeId","data-v-6fb29c10"]]);export{x as default}; +import{_ as o,c as t}from"./index-BWzN7QIb.js";import{q as n,r as a,s,v as r}from"./.pnpm-9dA1PEvN.js";const _={},i={class:"search"},d={class:"search-con flex items-center px-[15px]"};function m(p,e){const c=t;return n(),a("div",i,[s("div",d,[r(c,{name:"el-icon-Search",size:17}),e[0]||(e[0]=s("span",{class:"ml-[5px]"},"请输入关键词搜索",-1))])])}const x=o(_,[["render",m],["__scopeId","data-v-6fb29c10"]]);export{x as default}; diff --git a/server/public/admin/assets/content-B8nUs9Lh.js b/server/public/admin/assets/content-MvOmvsN5.js similarity index 90% rename from server/public/admin/assets/content-B8nUs9Lh.js rename to server/public/admin/assets/content-MvOmvsN5.js index 40521ae7..453d9ca9 100644 --- a/server/public/admin/assets/content-B8nUs9Lh.js +++ b/server/public/admin/assets/content-MvOmvsN5.js @@ -1 +1 @@ -import{c as v,_ as y}from"./index-CJvXnF8Y.js";import m from"./decoration-img-BjTNsUc3.js";import{o as g,q as e,r as t,s as c,T as r,P as l,F as x,G as u,v as i,u as _,p as b}from"./.pnpm-9dA1PEvN.js";const k={class:"my-service"},w={key:0,class:"title px-[15px] py-[10px]"},B={key:1,class:"flex flex-wrap pt-[20px] pb-[10px]"},N={class:"mt-[7px]"},V={key:2},j={class:"ml-[10px] flex-1"},C=g({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(s){const f=s,d=b(()=>{var o;return((o=f.content.data)==null?void 0:o.filter(p=>p.is_show=="1"))||[]});return(o,p)=>{const h=v;return e(),t("div",k,[s.content.title?(e(),t("div",w,[c("div",null,r(s.content.title),1)])):l("",!0),s.content.style==1?(e(),t("div",B,[(e(!0),t(x,null,u(_(d),(n,a)=>(e(),t("div",{key:a,class:"flex flex-col items-center w-1/4 mb-[15px]"},[i(m,{width:"26px",height:"26px",src:n.image,alt:""},null,8,["src"]),c("div",N,r(n.name),1)]))),128))])):l("",!0),s.content.style==2?(e(),t("div",V,[(e(!0),t(x,null,u(_(d),(n,a)=>(e(),t("div",{key:a,class:"flex items-center border-b border-[#e5e5e5] h-[50px] px-[12px]"},[i(m,{width:"24px",height:"24px",src:n.image,alt:""},null,8,["src"]),c("div",j,r(n.name),1),c("div",null,[i(h,{name:"el-icon-ArrowRight"})])]))),128))])):l("",!0)])}}}),L=y(C,[["__scopeId","data-v-e6ec8456"]]);export{L as default}; +import{c as v,_ as y}from"./index-BWzN7QIb.js";import m from"./decoration-img-D7jfQZHh.js";import{o as g,q as e,r as t,s as c,T as r,P as l,F as x,G as u,v as i,u as _,p as b}from"./.pnpm-9dA1PEvN.js";const k={class:"my-service"},w={key:0,class:"title px-[15px] py-[10px]"},B={key:1,class:"flex flex-wrap pt-[20px] pb-[10px]"},N={class:"mt-[7px]"},V={key:2},j={class:"ml-[10px] flex-1"},C=g({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(s){const f=s,d=b(()=>{var o;return((o=f.content.data)==null?void 0:o.filter(p=>p.is_show=="1"))||[]});return(o,p)=>{const h=v;return e(),t("div",k,[s.content.title?(e(),t("div",w,[c("div",null,r(s.content.title),1)])):l("",!0),s.content.style==1?(e(),t("div",B,[(e(!0),t(x,null,u(_(d),(n,a)=>(e(),t("div",{key:a,class:"flex flex-col items-center w-1/4 mb-[15px]"},[i(m,{width:"26px",height:"26px",src:n.image,alt:""},null,8,["src"]),c("div",N,r(n.name),1)]))),128))])):l("",!0),s.content.style==2?(e(),t("div",V,[(e(!0),t(x,null,u(_(d),(n,a)=>(e(),t("div",{key:a,class:"flex items-center border-b border-[#e5e5e5] h-[50px] px-[12px]"},[i(m,{width:"24px",height:"24px",src:n.image,alt:""},null,8,["src"]),c("div",j,r(n.name),1),c("div",null,[i(h,{name:"el-icon-ArrowRight"})])]))),128))])):l("",!0)])}}}),L=y(C,[["__scopeId","data-v-e6ec8456"]]);export{L as default}; diff --git a/server/public/admin/assets/content-Qx8rKmO7.js b/server/public/admin/assets/content-Qx8rKmO7.js deleted file mode 100644 index 32106622..00000000 --- a/server/public/admin/assets/content-Qx8rKmO7.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-aS7Unfcn.js";import"./decoration-img-BjTNsUc3.js";import"./.pnpm-9dA1PEvN.js";import"./index-CJvXnF8Y.js";export{o as default}; diff --git a/server/public/admin/assets/content-hoi1w0qv.js b/server/public/admin/assets/content-hoi1w0qv.js deleted file mode 100644 index 355817cd..00000000 --- a/server/public/admin/assets/content-hoi1w0qv.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-D39DKNeD.js";import"./decoration-img-BjTNsUc3.js";import"./.pnpm-9dA1PEvN.js";import"./index-CJvXnF8Y.js";export{o as default}; diff --git a/server/public/admin/assets/content-vBXU_rtS.js b/server/public/admin/assets/content-lN5Ca0O2.js similarity index 84% rename from server/public/admin/assets/content-vBXU_rtS.js rename to server/public/admin/assets/content-lN5Ca0O2.js index 364cbb90..499c080d 100644 --- a/server/public/admin/assets/content-vBXU_rtS.js +++ b/server/public/admin/assets/content-lN5Ca0O2.js @@ -1 +1 @@ -import i from"./decoration-img-BjTNsUc3.js";import{o as d,q as t,r as s,F as p,G as f,t as m,v as u,s as _,T as x,u as y,p as h}from"./.pnpm-9dA1PEvN.js";import{_ as b}from"./index-CJvXnF8Y.js";const v={class:"tabbar flex"},g={class:"leading-3 text-[12px] mt-[4px]"},k=d({__name:"content",props:{style:{type:Object,default:()=>({})},list:{type:Array,default:()=>[]}},setup(a){const c=a,n=h(()=>{var e;return((e=c.list)==null?void 0:e.filter(r=>r.is_show==1))||[]});return(e,r)=>(t(),s("div",v,[(t(!0),s(p,null,f(y(n),(o,l)=>(t(),s("div",{key:l,class:"tabbar-item flex flex-col justify-center items-center flex-1",style:m({color:a.style.default_color})},[u(i,{width:"22px",height:"22px",src:o.unselected,fit:"cover"},null,8,["src"]),_("div",g,x(o.name),1)],4))),128))]))}}),D=b(k,[["__scopeId","data-v-33d760f8"]]);export{D as default}; +import i from"./decoration-img-D7jfQZHh.js";import{o as d,q as t,r as s,F as p,G as f,t as m,v as u,s as _,T as x,u as y,p as h}from"./.pnpm-9dA1PEvN.js";import{_ as b}from"./index-BWzN7QIb.js";const v={class:"tabbar flex"},g={class:"leading-3 text-[12px] mt-[4px]"},k=d({__name:"content",props:{style:{type:Object,default:()=>({})},list:{type:Array,default:()=>[]}},setup(a){const c=a,n=h(()=>{var e;return((e=c.list)==null?void 0:e.filter(r=>r.is_show==1))||[]});return(e,r)=>(t(),s("div",v,[(t(!0),s(p,null,f(y(n),(o,l)=>(t(),s("div",{key:l,class:"tabbar-item flex flex-col justify-center items-center flex-1",style:m({color:a.style.default_color})},[u(i,{width:"22px",height:"22px",src:o.unselected,fit:"cover"},null,8,["src"]),_("div",g,x(o.name),1)],4))),128))]))}}),D=b(k,[["__scopeId","data-v-33d760f8"]]);export{D as default}; diff --git a/server/public/admin/assets/content-pLQJHviw.js b/server/public/admin/assets/content-pLQJHviw.js new file mode 100644 index 00000000..7b769a51 --- /dev/null +++ b/server/public/admin/assets/content-pLQJHviw.js @@ -0,0 +1 @@ +import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-DyhL_D8z.js";import"./.pnpm-9dA1PEvN.js";import"./index-fA0EWEUO.js";import"./index-BWzN7QIb.js";import"./picker-CUH4oSOm.js";import"./index-dYaCh-CN.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-CGwMRNkL.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DfI3CPnQ.js";import"./index-xDQ_OZln.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";export{o as default}; diff --git a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-D39DKNeD.js b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-BJQyKf9U.js similarity index 92% rename from server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-D39DKNeD.js rename to server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-BJQyKf9U.js index 275a5e5c..843ccd41 100644 --- a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-D39DKNeD.js +++ b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-BJQyKf9U.js @@ -1 +1 @@ -import p from"./decoration-img-BjTNsUc3.js";import{o as d,q as n,r as a,s as r,F as m,G as u,v as _,T as f,u as g,t as h,p as x}from"./.pnpm-9dA1PEvN.js";const y={class:"nav bg-white pt-[15px] pb-[8px]"},w={class:"mt-[7px]"},k=d({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(o){const t=o,c=x(()=>{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(l,s)=>(n(),a("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)`})},[(n(!0),a(m,null,u(g(c),(e,i)=>(n(),a("div",{key:i,class:"flex flex-col items-center"},[_(p,{width:"41px",height:"41px",src:e.image,alt:""},null,8,["src"]),r("div",w,f(e.name),1)]))),128))],4)]))}});export{k as _}; +import p from"./decoration-img-D7jfQZHh.js";import{o as d,q as n,r as a,s as r,F as m,G as u,v as _,T as f,u as g,t as h,p as x}from"./.pnpm-9dA1PEvN.js";const y={class:"nav bg-white pt-[15px] pb-[8px]"},w={class:"mt-[7px]"},k=d({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(o){const t=o,c=x(()=>{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(l,s)=>(n(),a("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)`})},[(n(!0),a(m,null,u(g(c),(e,i)=>(n(),a("div",{key:i,class:"flex flex-col items-center"},[_(p,{width:"41px",height:"41px",src:e.image,alt:""},null,8,["src"]),r("div",w,f(e.name),1)]))),128))],4)]))}});export{k as _}; diff --git a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-Bb4PsYrv.js b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-DyhL_D8z.js similarity index 88% rename from server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-Bb4PsYrv.js rename to server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-DyhL_D8z.js index 186cfa95..ddd161ec 100644 --- a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-Bb4PsYrv.js +++ b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-DyhL_D8z.js @@ -1 +1 @@ -import{o as j,q as r,O as u,D as n,v as o,bh as D,a2 as N,s as l,r as f,F as O,G as R,K as S,L as $,a8 as A,cm as g}from"./.pnpm-9dA1PEvN.js";import{_ as F}from"./index-CAGpCz28.js";import{_ as L}from"./picker-zZfe7WrS.js";import{_ as q}from"./picker-DWQ_BAep.js";import{_ as G}from"./index-BBemoNXE.js";import{i as h}from"./index-CJvXnF8Y.js";const K={class:"flex flex-wrap p-4"},T={class:"bg-fill-light w-full p-4"},z={class:"flex items-center"},H={class:"mt-4 ml-4"},X=j({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},height:{type:String,default:"170px"}},emits:["update:content"],setup(m,{expose:x,emit:k}){const _=k,i=A(),a=m,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=g(a.content);t.data.push({image:"",name:"",link:{}}),_("update:content",t)}else h.msgError("最多添加10张图片")},V=e=>{var s;if(((s=a.content.data)==null?void 0:s.length)<=1)return h.msgError("最少保留一个轮播图");const t=g(a.content);t.data.splice(e,1),_("update:content",t)};return x({open:y}),(e,t)=>{const s=D,v=q,C=L,E=F,B=S,U=N;return r(),u(G,{ref_key:"popupRef",ref:i,title:"轮播图设置",async:!0,width:"980px",onConfirm:b},{default:n(()=>[o(s,{title:"最多可添加10张,建议图片尺寸750px*440px",type:"warning"}),o(U,{height:"400px",class:"mt-4"},{default:n(()=>[l("div",K,[(r(!0),f(O,null,R(m.content.data,(c,d)=>(r(),f("div",{key:d,class:"w-[400px] mr-4 mb-4"},[(r(),u(E,{key:d,onClose:p=>V(d),class:"w-full"},{default:n(()=>[l("div",T,[l("div",z,[o(v,{width:"122px",height:"122px",modelValue:c.image,"onUpdate:modelValue":p=>c.image=p,"upload-class":"bg-body","exclude-domain":""},{upload:n(()=>[...t[0]||(t[0]=[l("div",{class:"w-[122px] h-[122px] flex justify-center items-center"}," 轮播图 ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"]),o(C,{modelValue:c.link,"onUpdate:modelValue":p=>c.link=p},null,8,["modelValue","onUpdate:modelValue"])])])]),_:2},1032,["onClose"]))]))),128))]),l("div",H,[o(B,{link:"",type:"primary",onClick:w},{default:n(()=>[...t[1]||(t[1]=[$("+ 添加轮播图",-1)])]),_:1})])]),_:1})]),_:1},512)}}});export{X as _}; +import{o as j,q as r,O as u,D as n,v as o,bh as D,a2 as N,s as l,r as f,F as O,G as R,K as S,L as $,a8 as A,cm as g}from"./.pnpm-9dA1PEvN.js";import{_ as F}from"./index-fA0EWEUO.js";import{_ as L}from"./picker-CUH4oSOm.js";import{_ as q}from"./picker-DfI3CPnQ.js";import{_ as G}from"./index-dYaCh-CN.js";import{i as h}from"./index-BWzN7QIb.js";const K={class:"flex flex-wrap p-4"},T={class:"bg-fill-light w-full p-4"},z={class:"flex items-center"},H={class:"mt-4 ml-4"},X=j({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},height:{type:String,default:"170px"}},emits:["update:content"],setup(m,{expose:x,emit:k}){const _=k,i=A(),a=m,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=g(a.content);t.data.push({image:"",name:"",link:{}}),_("update:content",t)}else h.msgError("最多添加10张图片")},V=e=>{var s;if(((s=a.content.data)==null?void 0:s.length)<=1)return h.msgError("最少保留一个轮播图");const t=g(a.content);t.data.splice(e,1),_("update:content",t)};return x({open:y}),(e,t)=>{const s=D,v=q,C=L,E=F,B=S,U=N;return r(),u(G,{ref_key:"popupRef",ref:i,title:"轮播图设置",async:!0,width:"980px",onConfirm:b},{default:n(()=>[o(s,{title:"最多可添加10张,建议图片尺寸750px*440px",type:"warning"}),o(U,{height:"400px",class:"mt-4"},{default:n(()=>[l("div",K,[(r(!0),f(O,null,R(m.content.data,(c,d)=>(r(),f("div",{key:d,class:"w-[400px] mr-4 mb-4"},[(r(),u(E,{key:d,onClose:p=>V(d),class:"w-full"},{default:n(()=>[l("div",T,[l("div",z,[o(v,{width:"122px",height:"122px",modelValue:c.image,"onUpdate:modelValue":p=>c.image=p,"upload-class":"bg-body","exclude-domain":""},{upload:n(()=>[...t[0]||(t[0]=[l("div",{class:"w-[122px] h-[122px] flex justify-center items-center"}," 轮播图 ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"]),o(C,{modelValue:c.link,"onUpdate:modelValue":p=>c.link=p},null,8,["modelValue","onUpdate:modelValue"])])])]),_:2},1032,["onClose"]))]))),128))]),l("div",H,[o(B,{link:"",type:"primary",onClick:w},{default:n(()=>[...t[1]||(t[1]=[$("+ 添加轮播图",-1)])]),_:1})])]),_:1})]),_:1},512)}}});export{X as _}; diff --git a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-CHj8JtNb.js b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-epBYaUkx.js similarity index 89% rename from server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-CHj8JtNb.js rename to server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-epBYaUkx.js index 010b63a0..43e4d574 100644 --- a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-CHj8JtNb.js +++ b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-epBYaUkx.js @@ -1 +1 @@ -import c from"./decoration-img-BjTNsUc3.js";import{o as i,q as p,r as m,s as u,v as l,u as d,p as a}from"./.pnpm-9dA1PEvN.js";const _={class:"banner mx-[10px] mt-[10px]"},f={class:"banner-image"},v=i({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(n){const o=n,e=a(()=>{var t;return((t=o.content.data)==null?void 0:t.filter(s=>s.is_show=="1"))||[]}),r=a(()=>Array.isArray(e.value)&&e.value[0]?e.value[0].image:"");return(t,s)=>(p(),m("div",_,[u("div",f,[l(c,{width:"100%",height:"100px",src:d(r),fit:"contain"},null,8,["src"])])]))}});export{v as _}; +import c from"./decoration-img-D7jfQZHh.js";import{o as i,q as p,r as m,s as u,v as l,u as d,p as a}from"./.pnpm-9dA1PEvN.js";const _={class:"banner mx-[10px] mt-[10px]"},f={class:"banner-image"},v=i({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(n){const o=n,e=a(()=>{var t;return((t=o.content.data)==null?void 0:t.filter(s=>s.is_show=="1"))||[]}),r=a(()=>Array.isArray(e.value)&&e.value[0]?e.value[0].image:"");return(t,s)=>(p(),m("div",_,[u("div",f,[l(c,{width:"100%",height:"100px",src:d(r),fit:"contain"},null,8,["src"])])]))}});export{v as _}; diff --git a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-aS7Unfcn.js b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-rFCJ-5da.js similarity index 90% rename from server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-aS7Unfcn.js rename to server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-rFCJ-5da.js index d6f03ff0..430c3424 100644 --- a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-aS7Unfcn.js +++ b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-rFCJ-5da.js @@ -1 +1 @@ -import c from"./decoration-img-BjTNsUc3.js";import{o as i,q as l,r as u,s as h,v as m,u as f,t as d,p as s}from"./.pnpm-9dA1PEvN.js";const p={class:"banner-image w-full h-full"},v=i({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},height:{type:String,default:"170px"}},setup(e){const r=e,t=s(()=>{var a;return((a=r.content.data)==null?void 0:a.filter(n=>n.is_show=="1"))||[]}),o=s(()=>Array.isArray(t.value)&&t.value[0]?t.value[0].image:"");return(a,n)=>(l(),u("div",{class:"banner",style:d(e.styles)},[h("div",p,[m(c,{width:"100%",height:e.content.style==1?e.height:"550px",src:f(o),fit:"contain"},null,8,["height","src"])])],4))}});export{v as _}; +import c from"./decoration-img-D7jfQZHh.js";import{o as i,q as l,r as u,s as h,v as m,u as f,t as d,p as s}from"./.pnpm-9dA1PEvN.js";const p={class:"banner-image w-full h-full"},v=i({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},height:{type:String,default:"170px"}},setup(e){const r=e,t=s(()=>{var a;return((a=r.content.data)==null?void 0:a.filter(n=>n.is_show=="1"))||[]}),o=s(()=>Array.isArray(t.value)&&t.value[0]?t.value[0].image:"");return(a,n)=>(l(),u("div",{class:"banner",style:d(e.styles)},[h("div",p,[m(c,{width:"100%",height:e.content.style==1?e.height:"550px",src:f(o),fit:"contain"},null,8,["height","src"])])],4))}});export{v as _}; diff --git a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-9FJV-g10.js b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-uo5gNfRj.js similarity index 90% rename from server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-9FJV-g10.js rename to server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-uo5gNfRj.js index 237a859b..dc49f9db 100644 --- a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-9FJV-g10.js +++ b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-uo5gNfRj.js @@ -1 +1 @@ -import c from"./decoration-img-BjTNsUc3.js";import{o as i,q as l,r as u,s as h,v as m,u as f,t as d,p as n}from"./.pnpm-9dA1PEvN.js";const g={class:"banner-image w-full h-full"},v=i({__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(),u("div",{class:"banner",style:d(e.styles)},[h("div",g,[m(c,{width:"100%",height:e.styles.height||e.height,src:f(o),fit:"contain"},null,8,["height","src"])])],4))}});export{v as _}; +import c from"./decoration-img-D7jfQZHh.js";import{o as i,q as l,r as u,s as h,v as m,u as f,t as d,p as n}from"./.pnpm-9dA1PEvN.js";const g={class:"banner-image w-full h-full"},v=i({__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(),u("div",{class:"banner",style:d(e.styles)},[h("div",g,[m(c,{width:"100%",height:e.styles.height||e.height,src:f(o),fit:"contain"},null,8,["height","src"])])],4))}});export{v as _}; diff --git a/server/public/admin/assets/cost-edit-Cj1w-OAW.js b/server/public/admin/assets/cost-edit-Cj1w-OAW.js deleted file mode 100644 index b467177e..00000000 --- a/server/public/admin/assets/cost-edit-Cj1w-OAW.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./cost-edit.vue_vue_type_script_setup_true_lang-D7Y5S2X0.js";import"./.pnpm-9dA1PEvN.js";import"./self_input_stats-ck9Y43id.js";import"./index-CJvXnF8Y.js";import"./index-BBemoNXE.js";import"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-B8TP8hmm.js";export{o as default}; diff --git a/server/public/admin/assets/cost-edit-CkZ1nXSc.js b/server/public/admin/assets/cost-edit-CkZ1nXSc.js new file mode 100644 index 00000000..90d798ac --- /dev/null +++ b/server/public/admin/assets/cost-edit-CkZ1nXSc.js @@ -0,0 +1 @@ +import{_ as o}from"./cost-edit.vue_vue_type_script_setup_true_lang-CUKGpnjd.js";import"./.pnpm-9dA1PEvN.js";import"./self_input_stats-BIckcV_I.js";import"./index-BWzN7QIb.js";import"./index-dYaCh-CN.js";import"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-B8TP8hmm.js";export{o as default}; diff --git a/server/public/admin/assets/cost-edit.vue_vue_type_script_setup_true_lang-D7Y5S2X0.js b/server/public/admin/assets/cost-edit.vue_vue_type_script_setup_true_lang-CUKGpnjd.js similarity index 95% rename from server/public/admin/assets/cost-edit.vue_vue_type_script_setup_true_lang-D7Y5S2X0.js rename to server/public/admin/assets/cost-edit.vue_vue_type_script_setup_true_lang-CUKGpnjd.js index cbf9c6aa..b101c4c5 100644 --- a/server/public/admin/assets/cost-edit.vue_vue_type_script_setup_true_lang-D7Y5S2X0.js +++ b/server/public/admin/assets/cost-edit.vue_vue_type_script_setup_true_lang-CUKGpnjd.js @@ -1 +1 @@ -import{o as E,q as D,r as S,v as l,D as r,b9 as q,u as a,b6 as F,bp as U,J as Y,b7 as A,a8 as p,M as B,p as I,ba as M}from"./.pnpm-9dA1PEvN.js";import{b as N,c as L}from"./self_input_stats-ck9Y43id.js";import{_ as O}from"./index-BBemoNXE.js";import{_ as z}from"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-B8TP8hmm.js";const J={class:"edit-popup"},G=E({__name:"cost-edit",props:{mediaSourceOptions:{default:()=>[]},mediaSourceLoading:{type:Boolean,default:!1}},emits:["success","close"],setup(u,{expose:_,emit:f}){const i=f,c=p(),m=p(),n=B("add"),b=I(()=>n.value==="edit"?"编辑账户消耗":"新增账户消耗"),e=M({id:"",cost_date:"",media_source:"",amount:0,remark:""}),g={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()),n.value==="edit"?await N(e):await L(e),(o=m.value)==null||o.close(),i("success")},V=(t="add")=>{var o;n.value=t,w(),(o=m.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 R=U,d=F,h=Y,y=A,C=q;return D(),S("div",J,[l(O,{ref_key:"popupRef",ref:m,title:a(b),async:!0,width:"520px",onConfirm:k,onClose:x},{default:r(()=>[l(C,{ref_key:"formRef",ref:c,model:a(e),"label-width":"110px",rules:g},{default:r(()=>[l(d,{label:"日期",prop:"cost_date"},{default:r(()=>[l(R,{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(n)==="edit",class:"w-full"},null,8,["modelValue","disabled"])]),_:1}),l(d,{label:"自媒体来源",prop:"media_source"},{default:r(()=>[l(z,{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(n)==="edit","select-class":"w-full"},null,8,["modelValue","options","loading","disabled"])]),_:1}),l(d,{label:"账户消耗",prop:"amount"},{default:r(()=>[l(h,{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(d,{label:"备注",prop:"remark"},{default:r(()=>[l(y,{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{G as _}; +import{o as E,q as D,r as S,v as l,D as r,b9 as q,u as a,b6 as F,bp as U,J as Y,b7 as A,a8 as p,M as B,p as I,ba as M}from"./.pnpm-9dA1PEvN.js";import{b as N,c as L}from"./self_input_stats-BIckcV_I.js";import{_ as O}from"./index-dYaCh-CN.js";import{_ as z}from"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-B8TP8hmm.js";const J={class:"edit-popup"},G=E({__name:"cost-edit",props:{mediaSourceOptions:{default:()=>[]},mediaSourceLoading:{type:Boolean,default:!1}},emits:["success","close"],setup(u,{expose:_,emit:f}){const i=f,c=p(),m=p(),n=B("add"),b=I(()=>n.value==="edit"?"编辑账户消耗":"新增账户消耗"),e=M({id:"",cost_date:"",media_source:"",amount:0,remark:""}),g={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()),n.value==="edit"?await N(e):await L(e),(o=m.value)==null||o.close(),i("success")},V=(t="add")=>{var o;n.value=t,w(),(o=m.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 R=U,d=F,h=Y,y=A,C=q;return D(),S("div",J,[l(O,{ref_key:"popupRef",ref:m,title:a(b),async:!0,width:"520px",onConfirm:k,onClose:x},{default:r(()=>[l(C,{ref_key:"formRef",ref:c,model:a(e),"label-width":"110px",rules:g},{default:r(()=>[l(d,{label:"日期",prop:"cost_date"},{default:r(()=>[l(R,{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(n)==="edit",class:"w-full"},null,8,["modelValue","disabled"])]),_:1}),l(d,{label:"自媒体来源",prop:"media_source"},{default:r(()=>[l(z,{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(n)==="edit","select-class":"w-full"},null,8,["modelValue","options","loading","disabled"])]),_:1}),l(d,{label:"账户消耗",prop:"amount"},{default:r(()=>[l(h,{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(d,{label:"备注",prop:"remark"},{default:r(()=>[l(y,{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{G as _}; diff --git a/server/public/admin/assets/data-table-B-HxgyrW.js b/server/public/admin/assets/data-table-B-HxgyrW.js deleted file mode 100644 index 748e75de..00000000 --- a/server/public/admin/assets/data-table-B-HxgyrW.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./data-table.vue_vue_type_script_setup_true_lang-ayRhvp9k.js";import"./.pnpm-9dA1PEvN.js";import"./code-m_-AEIO9.js";import"./index-CJvXnF8Y.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-BBemoNXE.js";import"./usePaging-Boz1Q6w3.js";export{o as default}; diff --git a/server/public/admin/assets/data-table-BASn--YT.js b/server/public/admin/assets/data-table-BASn--YT.js new file mode 100644 index 00000000..afa637c5 --- /dev/null +++ b/server/public/admin/assets/data-table-BASn--YT.js @@ -0,0 +1 @@ +import{_ as o}from"./data-table.vue_vue_type_script_setup_true_lang-p4Jwo82s.js";import"./.pnpm-9dA1PEvN.js";import"./code-J7VgRFVf.js";import"./index-BWzN7QIb.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-dYaCh-CN.js";import"./usePaging-Boz1Q6w3.js";export{o as default}; diff --git a/server/public/admin/assets/data-table.vue_vue_type_script_setup_true_lang-ayRhvp9k.js b/server/public/admin/assets/data-table.vue_vue_type_script_setup_true_lang-p4Jwo82s.js similarity index 92% rename from server/public/admin/assets/data-table.vue_vue_type_script_setup_true_lang-ayRhvp9k.js rename to server/public/admin/assets/data-table.vue_vue_type_script_setup_true_lang-p4Jwo82s.js index 1fdf0db7..ddc186de 100644 --- a/server/public/admin/assets/data-table.vue_vue_type_script_setup_true_lang-ayRhvp9k.js +++ b/server/public/admin/assets/data-table.vue_vue_type_script_setup_true_lang-p4Jwo82s.js @@ -1 +1 @@ -import{o as R,R as T,q as b,r as g,v as e,D as o,b9 as B,u as a,b6 as D,b7 as F,b8 as h,K as L,L as v,ac as N,bj as P,bk as S,bi as U,s as j,C as z,ah as I,a8 as M,ba as $,M as q}from"./.pnpm-9dA1PEvN.js";import{f as A,h as G}from"./code-m_-AEIO9.js";import{_ as H}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{_ as J}from"./index-BBemoNXE.js";import{u as O}from"./usePaging-Boz1Q6w3.js";import{i as Q}from"./index-CJvXnF8Y.js";const W={class:"data-table"},X={class:"m-4"},Y={class:"flex justify-end mt-4"},se=R({__name:"data-table",emits:["success"],setup(Z,{emit:C}){const w=C,u=M(),n=$({name:"",comment:""}),{pager:s,getLists:_,resetParams:y,resetPage:c}=O({fetchFun:A,params:n,size:10}),d=q([]),V=l=>{d.value=l.map(({name:t,comment:i})=>({name:t,comment:i}))},k=async()=>{var l;if(!d.value.length)return Q.msgError("请选择数据表");await G({table:d.value}),(l=u.value)==null||l.close(),w("success")};return T(()=>{var l;return(l=u.value)==null?void 0:l.visible},l=>{l&&_()}),(l,t)=>{const i=F,p=D,f=L,E=B,r=S,x=P,K=U;return b(),g("div",W,[e(J,{ref_key:"popupRef",ref:u,clickModalClose:!1,title:"选择表",width:"900px",async:!0,onConfirm:k},{trigger:o(()=>[I(l.$slots,"default")]),default:o(()=>[e(E,{class:"ls-form",model:a(n),inline:""},{default:o(()=>[e(p,{class:"w-[280px]",label:"表名称"},{default:o(()=>[e(i,{modelValue:a(n).name,"onUpdate:modelValue":t[0]||(t[0]=m=>a(n).name=m),clearable:"",onKeyup:h(a(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,{class:"w-[280px]",label:"表描述"},{default:o(()=>[e(i,{modelValue:a(n).comment,"onUpdate:modelValue":t[1]||(t[1]=m=>a(n).comment=m),clearable:"",onKeyup:h(a(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,null,{default:o(()=>[e(f,{type:"primary",onClick:a(c)},{default:o(()=>[...t[3]||(t[3]=[v("查询",-1)])]),_:1},8,["onClick"]),e(f,{onClick:a(y)},{default:o(()=>[...t[4]||(t[4]=[v("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"]),N((b(),g("div",X,[e(x,{height:"400",size:"large",data:a(s).lists,onSelectionChange:V},{default:o(()=>[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"])])),[[K,a(s).loading]]),j("div",Y,[e(H,{modelValue:a(s),"onUpdate:modelValue":t[2]||(t[2]=m=>z(s)?s.value=m:null),onChange:a(_)},null,8,["modelValue","onChange"])])]),_:3},512)])}}});export{se as _}; +import{o as R,R as T,q as b,r as g,v as e,D as o,b9 as B,u as a,b6 as D,b7 as F,b8 as h,K as L,L as v,ac as N,bj as P,bk as S,bi as U,s as j,C as z,ah as I,a8 as M,ba as $,M as q}from"./.pnpm-9dA1PEvN.js";import{f as A,h as G}from"./code-J7VgRFVf.js";import{_ as H}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{_ as J}from"./index-dYaCh-CN.js";import{u as O}from"./usePaging-Boz1Q6w3.js";import{i as Q}from"./index-BWzN7QIb.js";const W={class:"data-table"},X={class:"m-4"},Y={class:"flex justify-end mt-4"},se=R({__name:"data-table",emits:["success"],setup(Z,{emit:C}){const w=C,u=M(),n=$({name:"",comment:""}),{pager:s,getLists:_,resetParams:y,resetPage:c}=O({fetchFun:A,params:n,size:10}),d=q([]),V=l=>{d.value=l.map(({name:t,comment:i})=>({name:t,comment:i}))},k=async()=>{var l;if(!d.value.length)return Q.msgError("请选择数据表");await G({table:d.value}),(l=u.value)==null||l.close(),w("success")};return T(()=>{var l;return(l=u.value)==null?void 0:l.visible},l=>{l&&_()}),(l,t)=>{const i=F,p=D,f=L,E=B,r=S,x=P,K=U;return b(),g("div",W,[e(J,{ref_key:"popupRef",ref:u,clickModalClose:!1,title:"选择表",width:"900px",async:!0,onConfirm:k},{trigger:o(()=>[I(l.$slots,"default")]),default:o(()=>[e(E,{class:"ls-form",model:a(n),inline:""},{default:o(()=>[e(p,{class:"w-[280px]",label:"表名称"},{default:o(()=>[e(i,{modelValue:a(n).name,"onUpdate:modelValue":t[0]||(t[0]=m=>a(n).name=m),clearable:"",onKeyup:h(a(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,{class:"w-[280px]",label:"表描述"},{default:o(()=>[e(i,{modelValue:a(n).comment,"onUpdate:modelValue":t[1]||(t[1]=m=>a(n).comment=m),clearable:"",onKeyup:h(a(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,null,{default:o(()=>[e(f,{type:"primary",onClick:a(c)},{default:o(()=>[...t[3]||(t[3]=[v("查询",-1)])]),_:1},8,["onClick"]),e(f,{onClick:a(y)},{default:o(()=>[...t[4]||(t[4]=[v("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"]),N((b(),g("div",X,[e(x,{height:"400",size:"large",data:a(s).lists,onSelectionChange:V},{default:o(()=>[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"])])),[[K,a(s).loading]]),j("div",Y,[e(H,{modelValue:a(s),"onUpdate:modelValue":t[2]||(t[2]=m=>z(s)?s.value=m:null),onChange:a(_)},null,8,["modelValue","onChange"])])]),_:3},512)])}}});export{se as _}; diff --git a/server/public/admin/assets/decoration-CcdLOa7h.js b/server/public/admin/assets/decoration-CvemIMkE.js similarity index 87% rename from server/public/admin/assets/decoration-CcdLOa7h.js rename to server/public/admin/assets/decoration-CvemIMkE.js index e84faa08..900121de 100644 --- a/server/public/admin/assets/decoration-CcdLOa7h.js +++ b/server/public/admin/assets/decoration-CvemIMkE.js @@ -1 +1 @@ -import{r as t}from"./index-CJvXnF8Y.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-BWzN7QIb.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-BjTNsUc3.js b/server/public/admin/assets/decoration-img-D7jfQZHh.js similarity index 92% rename from server/public/admin/assets/decoration-img-BjTNsUc3.js rename to server/public/admin/assets/decoration-img-D7jfQZHh.js index ed3fb25c..10a0e681 100644 --- a/server/public/admin/assets/decoration-img-BjTNsUc3.js +++ b/server/public/admin/assets/decoration-img-D7jfQZHh.js @@ -1 +1 @@ -import{o as p,a9 as u,q as l,O as _,D as a,s as o,v as g,a7 as f,u as h,aa as y,p as b}from"./.pnpm-9dA1PEvN.js";import{e as v,c as N,n as t,_ as w}from"./index-CJvXnF8Y.js";const I={class:"image-slot"},S=p({__name:"decoration-img",props:{width:{type:[String,Number],default:"auto"},height:{type:[String,Number],default:"auto"},radius:{type:[String,Number],default:0},...u},setup(r){const e=r,{getImageUrl:n}=v(),i=b(()=>({width:t(e.width),height:t(e.height),borderRadius:t(e.radius)}));return(c,s)=>{const d=N,m=y;return l(),_(m,f({style:i.value},e,{src:h(n)(c.src)}),{placeholder:a(()=>[...s[0]||(s[0]=[o("div",{class:"image-slot"},null,-1)])]),error:a(()=>[o("div",I,[g(d,{name:"el-icon-Picture",size:30})])]),_:1},16,["style","src"])}}}),P=w(S,[["__scopeId","data-v-2e762fcb"]]);export{P as default}; +import{o as p,a9 as u,q as l,O as _,D as a,s as o,v as g,a7 as f,u as h,aa as y,p as b}from"./.pnpm-9dA1PEvN.js";import{e as v,c as N,n as t,_ as w}from"./index-BWzN7QIb.js";const I={class:"image-slot"},S=p({__name:"decoration-img",props:{width:{type:[String,Number],default:"auto"},height:{type:[String,Number],default:"auto"},radius:{type:[String,Number],default:0},...u},setup(r){const e=r,{getImageUrl:n}=v(),i=b(()=>({width:t(e.width),height:t(e.height),borderRadius:t(e.radius)}));return(c,s)=>{const d=N,m=y;return l(),_(m,f({style:i.value},e,{src:h(n)(c.src)}),{placeholder:a(()=>[...s[0]||(s[0]=[o("div",{class:"image-slot"},null,-1)])]),error:a(()=>[o("div",I,[g(d,{name:"el-icon-Picture",size:30})])]),_:1},16,["style","src"])}}}),P=w(S,[["__scopeId","data-v-2e762fcb"]]);export{P as default}; diff --git a/server/public/admin/assets/default_reply-D7Z4Jzb-.js b/server/public/admin/assets/default_reply-k0yU_hHD.js similarity index 91% rename from server/public/admin/assets/default_reply-D7Z4Jzb-.js rename to server/public/admin/assets/default_reply-k0yU_hHD.js index 4584b4cf..26e06b18 100644 --- a/server/public/admin/assets/default_reply-D7Z4Jzb-.js +++ b/server/public/admin/assets/default_reply-k0yU_hHD.js @@ -1 +1 @@ -import{o as T,q as f,r as B,v as t,D as l,bh as L,bg as N,s as g,K as O,L as p,ac as P,O as y,bj as U,u as o,bk as j,T as A,I as q,bi as z,C as F,P as I,a8 as K,M,p as G,n as b}from"./.pnpm-9dA1PEvN.js";import{_ as H}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as J,i as h}from"./index-CJvXnF8Y.js";import{d as Q,o as W,e as X}from"./wx_oa-DPme7qiY.js";import{u as Y}from"./usePaging-Boz1Q6w3.js";import{_ as Z}from"./edit.vue_vue_type_script_setup_true_lang-Crcur3sR.js";import"./index-BBemoNXE.js";const ee={class:"flex justify-end mt-4"},re=T({__name:"default_reply",setup(te){const r=K(),c=M(!1),w=G(()=>n=>{switch(n){case 1:return"文本"}}),{pager:d,getLists:s}=Y({fetchFun:Q,params:{reply_type:3}}),C=async()=>{var n;c.value=!0,await b(),(n=r.value)==null||n.open("add",3)},k=async n=>{var e,u;c.value=!0,await b(),(e=r.value)==null||e.open("edit",3),(u=r.value)==null||u.getDetail(n)},V=async n=>{await h.confirm("确定要删除?"),await W({id:n}),h.msgSuccess("删除成功"),s()},E=async n=>{try{await X({id:n}),s()}catch{s()}};return s(),(n,e)=>{const u=L,v=N,$=J,_=O,i=j,x=q,R=U,S=H,D=z;return f(),B("div",null,[t(v,{class:"!border-none",shadow:"never"},{default:l(()=>[t(u,{type:"warning",title:"温馨提示:1.粉丝在公众号发送内容时,系统无法匹配情况下发送启用的默认文本回复;2.同时只能启用一个默认回复。",closable:!1,"show-icon":""})]),_:1}),t(v,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[g("div",null,[t(_,{class:"mb-4",type:"primary",onClick:e[0]||(e[0]=a=>C())},{icon:l(()=>[t($,{name:"el-icon-Plus"})]),default:l(()=>[e[3]||(e[3]=p(" 新增 ",-1))]),_:1})]),P((f(),y(R,{size:"large",data:o(d).lists},{default:l(()=>[t(i,{label:"规则名称",prop:"name","min-width":"120"}),t(i,{label:"回复类型","min-width":"120"},{default:l(({row:a})=>[p(A(o(w)(a.content_type)),1)]),_:1}),t(i,{label:"回复内容",prop:"content","min-width":"120"}),t(i,{label:"状态","min-width":"120"},{default:l(({row:a})=>[t(x,{modelValue:a.status,"onUpdate:modelValue":m=>a.status=m,"active-value":1,"inactive-value":0,onChange:m=>E(a.id)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),t(i,{label:"排序",prop:"sort","min-width":"120"}),t(i,{label:"操作",width:"120",fixed:"right"},{default:l(({row:a})=>[t(_,{type:"primary",link:"",onClick:m=>k(a)},{default:l(()=>[...e[4]||(e[4]=[p(" 编辑 ",-1)])]),_:1},8,["onClick"]),t(_,{type:"danger",link:"",onClick:m=>V(a.id)},{default:l(()=>[...e[5]||(e[5]=[p(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[D,o(d).loading]]),g("div",ee,[t(S,{modelValue:o(d),"onUpdate:modelValue":e[1]||(e[1]=a=>F(d)?d.value=a:null),onChange:o(s)},null,8,["modelValue","onChange"])])]),_:1}),o(c)?(f(),y(Z,{key:0,ref_key:"editRef",ref:r,onSuccess:o(s),onClose:e[2]||(e[2]=a=>c.value=!1)},null,8,["onSuccess"])):I("",!0)])}}});export{re as default}; +import{o as T,q as f,r as B,v as t,D as l,bh as L,bg as N,s as g,K as O,L as p,ac as P,O as y,bj as U,u as o,bk as j,T as A,I as q,bi as z,C as F,P as I,a8 as K,M,p as G,n as b}from"./.pnpm-9dA1PEvN.js";import{_ as H}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as J,i as h}from"./index-BWzN7QIb.js";import{d as Q,o as W,e as X}from"./wx_oa-HhzP-R8g.js";import{u as Y}from"./usePaging-Boz1Q6w3.js";import{_ as Z}from"./edit.vue_vue_type_script_setup_true_lang-bW869IPL.js";import"./index-dYaCh-CN.js";const ee={class:"flex justify-end mt-4"},re=T({__name:"default_reply",setup(te){const r=K(),c=M(!1),w=G(()=>n=>{switch(n){case 1:return"文本"}}),{pager:d,getLists:s}=Y({fetchFun:Q,params:{reply_type:3}}),C=async()=>{var n;c.value=!0,await b(),(n=r.value)==null||n.open("add",3)},k=async n=>{var e,u;c.value=!0,await b(),(e=r.value)==null||e.open("edit",3),(u=r.value)==null||u.getDetail(n)},V=async n=>{await h.confirm("确定要删除?"),await W({id:n}),h.msgSuccess("删除成功"),s()},E=async n=>{try{await X({id:n}),s()}catch{s()}};return s(),(n,e)=>{const u=L,v=N,$=J,_=O,i=j,x=q,R=U,S=H,D=z;return f(),B("div",null,[t(v,{class:"!border-none",shadow:"never"},{default:l(()=>[t(u,{type:"warning",title:"温馨提示:1.粉丝在公众号发送内容时,系统无法匹配情况下发送启用的默认文本回复;2.同时只能启用一个默认回复。",closable:!1,"show-icon":""})]),_:1}),t(v,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[g("div",null,[t(_,{class:"mb-4",type:"primary",onClick:e[0]||(e[0]=a=>C())},{icon:l(()=>[t($,{name:"el-icon-Plus"})]),default:l(()=>[e[3]||(e[3]=p(" 新增 ",-1))]),_:1})]),P((f(),y(R,{size:"large",data:o(d).lists},{default:l(()=>[t(i,{label:"规则名称",prop:"name","min-width":"120"}),t(i,{label:"回复类型","min-width":"120"},{default:l(({row:a})=>[p(A(o(w)(a.content_type)),1)]),_:1}),t(i,{label:"回复内容",prop:"content","min-width":"120"}),t(i,{label:"状态","min-width":"120"},{default:l(({row:a})=>[t(x,{modelValue:a.status,"onUpdate:modelValue":m=>a.status=m,"active-value":1,"inactive-value":0,onChange:m=>E(a.id)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),t(i,{label:"排序",prop:"sort","min-width":"120"}),t(i,{label:"操作",width:"120",fixed:"right"},{default:l(({row:a})=>[t(_,{type:"primary",link:"",onClick:m=>k(a)},{default:l(()=>[...e[4]||(e[4]=[p(" 编辑 ",-1)])]),_:1},8,["onClick"]),t(_,{type:"danger",link:"",onClick:m=>V(a.id)},{default:l(()=>[...e[5]||(e[5]=[p(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[D,o(d).loading]]),g("div",ee,[t(S,{modelValue:o(d),"onUpdate:modelValue":e[1]||(e[1]=a=>F(d)?d.value=a:null),onChange:o(s)},null,8,["modelValue","onChange"])])]),_:1}),o(c)?(f(),y(Z,{key:0,ref_key:"editRef",ref:r,onSuccess:o(s),onClose:e[2]||(e[2]=a=>c.value=!1)},null,8,["onSuccess"])):I("",!0)])}}});export{re as default}; diff --git a/server/public/admin/assets/department-DYCfZwei.js b/server/public/admin/assets/department-BABv4GiI.js similarity index 86% rename from server/public/admin/assets/department-DYCfZwei.js rename to server/public/admin/assets/department-BABv4GiI.js index 231750ae..db04440b 100644 --- a/server/public/admin/assets/department-DYCfZwei.js +++ b/server/public/admin/assets/department-BABv4GiI.js @@ -1 +1 @@ -import{r as e}from"./index-CJvXnF8Y.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-BWzN7QIb.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-BXsHNxxX.js b/server/public/admin/assets/dept-tongji-Cav2AKLY.js similarity index 97% rename from server/public/admin/assets/dept-tongji-BXsHNxxX.js rename to server/public/admin/assets/dept-tongji-Cav2AKLY.js index 58985ceb..2156b416 100644 --- a/server/public/admin/assets/dept-tongji-BXsHNxxX.js +++ b/server/public/admin/assets/dept-tongji-Cav2AKLY.js @@ -1 +1 @@ -import{o as S,ap as Y,q as r,r as y,v as t,D as a,b9 as j,b6 as P,bm as U,F as q,G,O as k,bn as I,bc as O,bb as K,L as n,bp as W,P as A,K as H,s as p,bg as J,ac as Q,bi as X,bj as Z,bk as $,br as ee,T as m,bB as te,M as g,ba as ae,E as le}from"./.pnpm-9dA1PEvN.js";import{d as se,e as oe}from"./doctor-Bmtf1eZE.js";import{_ as ne}from"./index-CJvXnF8Y.js";const de={class:"dept-statistics-page"},ie={key:0},re={class:"status-overview"},ce={class:"status-tags"},_e={key:1,class:"empty-data"},pe=S({__name:"dept-tongji",setup(me){const u=g(!1),V=g([]),b=g([]),i=g([]),o=ae({dept_id:"",time_type:"today",start_date:"",end_date:""}),D=async()=>{try{const s=await se(),e=h=>{let c=[];return h.forEach(d=>{c.push({id:d.id,name:d.name}),d.children&&d.children.length>0&&(c=c.concat(e(d.children)))}),c};V.value=e(s)||[]}catch(s){console.error("获取部门列表失败:",s)}},v=async()=>{u.value=!0;try{const s={time_type:o.time_type};o.dept_id&&(s.dept_id=o.dept_id),o.time_type==="custom"&&i.value&&i.value.length===2&&(s.start_date=i.value[0],s.end_date=i.value[1]);const e=await oe(s);b.value=e.lists||[]}catch(s){console.error("获取统计数据错误:",s),le.error(s.msg||"获取统计数据失败")}finally{u.value=!1}},T=()=>{o.time_type!=="custom"&&(i.value=[])},x=()=>{o.dept_id="",o.time_type="today",i.value=[],v()},B=s=>s>=80?"success":s>=60?"primary":"warning";return Y(()=>{D(),v()}),(s,e)=>{const h=I,c=U,d=P,f=K,L=O,z=W,w=H,M=j,C=J,E=$,_=ee,R=Z,F=te,N=X;return r(),y("div",de,[t(C,{class:"mb-4",shadow:"hover"},{header:a(()=>[...e[3]||(e[3]=[p("div",{class:"card-header"},[p("span",{class:"card-title"},"筛选条件")],-1)])]),default:a(()=>[t(M,{inline:!0,model:o,class:"filter-form"},{default:a(()=>[t(d,{label:"部门"},{default:a(()=>[t(c,{modelValue:o.dept_id,"onUpdate:modelValue":e[0]||(e[0]=l=>o.dept_id=l),placeholder:"全部部门",clearable:"",filterable:"",style:{width:"200px"}},{default:a(()=>[(r(!0),y(q,null,G(V.value,l=>(r(),k(h,{key:l.id,label:l.name,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(d,{label:"时间范围"},{default:a(()=>[t(L,{modelValue:o.time_type,"onUpdate:modelValue":e[1]||(e[1]=l=>o.time_type=l),onChange:T},{default:a(()=>[t(f,{label:"today"},{default:a(()=>[...e[4]||(e[4]=[n("今天",-1)])]),_:1}),t(f,{label:"week"},{default:a(()=>[...e[5]||(e[5]=[n("最近7天",-1)])]),_:1}),t(f,{label:"month"},{default:a(()=>[...e[6]||(e[6]=[n("最近30天",-1)])]),_:1}),t(f,{label:"custom"},{default:a(()=>[...e[7]||(e[7]=[n("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o.time_type==="custom"?(r(),k(d,{key:0},{default:a(()=>[t(z,{modelValue:i.value,"onUpdate:modelValue":e[2]||(e[2]=l=>i.value=l),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",style:{width:"260px"}},null,8,["modelValue"])]),_:1})):A("",!0),t(d,null,{default:a(()=>[t(w,{type:"primary",onClick:v,loading:u.value},{default:a(()=>[...e[8]||(e[8]=[n("查询",-1)])]),_:1},8,["loading"]),t(w,{onClick:x},{default:a(()=>[...e[9]||(e[9]=[n("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),Q((r(),k(C,{class:"mb-4",shadow:"hover"},{header:a(()=>[...e[10]||(e[10]=[p("div",{class:"card-header"},[p("span",{class:"card-title"},"部门统计数据")],-1)])]),default:a(()=>[b.value.length>0?(r(),y("div",ie,[t(R,{data:b.value,style:{width:"100%"},"header-cell-style":{background:"#f5f7fa",color:"#606266",fontWeight:"600"}},{default:a(()=>[t(E,{prop:"dept_name",label:"部门名称",width:"120"}),t(E,{label:"状态明细","min-width":"700"},{default:a(({row:l})=>[p("div",re,[p("div",ce,[t(_,{type:"info",size:"small",class:"compact-tag"},{default:a(()=>[n(" 已挂号: "+m(l.registered_count),1)]),_:2},1024),t(_,{type:"success",size:"small",class:"compact-tag"},{default:a(()=>[n(" 已完成: "+m(l.completed_count),1)]),_:2},1024),t(_,{type:"danger",size:"small",class:"compact-tag"},{default:a(()=>[n(" 已取消: "+m(l.canceled_count),1)]),_:2},1024),t(_,{type:"warning",size:"small",class:"compact-tag"},{default:a(()=>[n(" 已过号: "+m(l.expired_count),1)]),_:2},1024),t(_,{type:"primary",size:"small",class:"compact-tag"},{default:a(()=>[n(" 总数量: "+m(l.total_count),1)]),_:2},1024),t(_,{type:B(l.completion_rate),size:"small",class:"compact-tag"},{default:a(()=>[n(" 完成率: "+m(l.completion_rate)+"% ",1)]),_:2},1032,["type"])])])]),_:1}),t(E,{prop:"time_range",label:"统计时间","min-width":"200"})]),_:1},8,["data"])])):(r(),y("div",_e,[t(F,{description:"暂无统计数据"})]))]),_:1})),[[N,u.value]])])}}}),ge=ne(pe,[["__scopeId","data-v-0b7e0115"]]);export{ge as default}; +import{o as S,ap as Y,q as r,r as y,v as t,D as a,b9 as j,b6 as P,bm as U,F as q,G,O as k,bn as I,bc as O,bb as K,L as n,bp as W,P as A,K as H,s as p,bg as J,ac as Q,bi as X,bj as Z,bk as $,br as ee,T as m,bB as te,M as g,ba as ae,E as le}from"./.pnpm-9dA1PEvN.js";import{d as se,e as oe}from"./doctor-Chj6BcVp.js";import{_ as ne}from"./index-BWzN7QIb.js";const de={class:"dept-statistics-page"},ie={key:0},re={class:"status-overview"},ce={class:"status-tags"},_e={key:1,class:"empty-data"},pe=S({__name:"dept-tongji",setup(me){const u=g(!1),V=g([]),b=g([]),i=g([]),o=ae({dept_id:"",time_type:"today",start_date:"",end_date:""}),D=async()=>{try{const s=await se(),e=h=>{let c=[];return h.forEach(d=>{c.push({id:d.id,name:d.name}),d.children&&d.children.length>0&&(c=c.concat(e(d.children)))}),c};V.value=e(s)||[]}catch(s){console.error("获取部门列表失败:",s)}},v=async()=>{u.value=!0;try{const s={time_type:o.time_type};o.dept_id&&(s.dept_id=o.dept_id),o.time_type==="custom"&&i.value&&i.value.length===2&&(s.start_date=i.value[0],s.end_date=i.value[1]);const e=await oe(s);b.value=e.lists||[]}catch(s){console.error("获取统计数据错误:",s),le.error(s.msg||"获取统计数据失败")}finally{u.value=!1}},T=()=>{o.time_type!=="custom"&&(i.value=[])},x=()=>{o.dept_id="",o.time_type="today",i.value=[],v()},B=s=>s>=80?"success":s>=60?"primary":"warning";return Y(()=>{D(),v()}),(s,e)=>{const h=I,c=U,d=P,f=K,L=O,z=W,w=H,M=j,C=J,E=$,_=ee,R=Z,F=te,N=X;return r(),y("div",de,[t(C,{class:"mb-4",shadow:"hover"},{header:a(()=>[...e[3]||(e[3]=[p("div",{class:"card-header"},[p("span",{class:"card-title"},"筛选条件")],-1)])]),default:a(()=>[t(M,{inline:!0,model:o,class:"filter-form"},{default:a(()=>[t(d,{label:"部门"},{default:a(()=>[t(c,{modelValue:o.dept_id,"onUpdate:modelValue":e[0]||(e[0]=l=>o.dept_id=l),placeholder:"全部部门",clearable:"",filterable:"",style:{width:"200px"}},{default:a(()=>[(r(!0),y(q,null,G(V.value,l=>(r(),k(h,{key:l.id,label:l.name,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(d,{label:"时间范围"},{default:a(()=>[t(L,{modelValue:o.time_type,"onUpdate:modelValue":e[1]||(e[1]=l=>o.time_type=l),onChange:T},{default:a(()=>[t(f,{label:"today"},{default:a(()=>[...e[4]||(e[4]=[n("今天",-1)])]),_:1}),t(f,{label:"week"},{default:a(()=>[...e[5]||(e[5]=[n("最近7天",-1)])]),_:1}),t(f,{label:"month"},{default:a(()=>[...e[6]||(e[6]=[n("最近30天",-1)])]),_:1}),t(f,{label:"custom"},{default:a(()=>[...e[7]||(e[7]=[n("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o.time_type==="custom"?(r(),k(d,{key:0},{default:a(()=>[t(z,{modelValue:i.value,"onUpdate:modelValue":e[2]||(e[2]=l=>i.value=l),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",style:{width:"260px"}},null,8,["modelValue"])]),_:1})):A("",!0),t(d,null,{default:a(()=>[t(w,{type:"primary",onClick:v,loading:u.value},{default:a(()=>[...e[8]||(e[8]=[n("查询",-1)])]),_:1},8,["loading"]),t(w,{onClick:x},{default:a(()=>[...e[9]||(e[9]=[n("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),Q((r(),k(C,{class:"mb-4",shadow:"hover"},{header:a(()=>[...e[10]||(e[10]=[p("div",{class:"card-header"},[p("span",{class:"card-title"},"部门统计数据")],-1)])]),default:a(()=>[b.value.length>0?(r(),y("div",ie,[t(R,{data:b.value,style:{width:"100%"},"header-cell-style":{background:"#f5f7fa",color:"#606266",fontWeight:"600"}},{default:a(()=>[t(E,{prop:"dept_name",label:"部门名称",width:"120"}),t(E,{label:"状态明细","min-width":"700"},{default:a(({row:l})=>[p("div",re,[p("div",ce,[t(_,{type:"info",size:"small",class:"compact-tag"},{default:a(()=>[n(" 已挂号: "+m(l.registered_count),1)]),_:2},1024),t(_,{type:"success",size:"small",class:"compact-tag"},{default:a(()=>[n(" 已完成: "+m(l.completed_count),1)]),_:2},1024),t(_,{type:"danger",size:"small",class:"compact-tag"},{default:a(()=>[n(" 已取消: "+m(l.canceled_count),1)]),_:2},1024),t(_,{type:"warning",size:"small",class:"compact-tag"},{default:a(()=>[n(" 已过号: "+m(l.expired_count),1)]),_:2},1024),t(_,{type:"primary",size:"small",class:"compact-tag"},{default:a(()=>[n(" 总数量: "+m(l.total_count),1)]),_:2},1024),t(_,{type:B(l.completion_rate),size:"small",class:"compact-tag"},{default:a(()=>[n(" 完成率: "+m(l.completion_rate)+"% ",1)]),_:2},1032,["type"])])])]),_:1}),t(E,{prop:"time_range",label:"统计时间","min-width":"200"})]),_:1},8,["data"])])):(r(),y("div",_e,[t(F,{description:"暂无统计数据"})]))]),_:1})),[[N,u.value]])])}}}),ge=ne(pe,[["__scopeId","data-v-0b7e0115"]]);export{ge as default}; diff --git a/server/public/admin/assets/detail-Bwhdf4I8.js b/server/public/admin/assets/detail-DWgmpDyq.js similarity index 93% rename from server/public/admin/assets/detail-Bwhdf4I8.js rename to server/public/admin/assets/detail-DWgmpDyq.js index f1ccafc8..0191d22d 100644 --- a/server/public/admin/assets/detail-Bwhdf4I8.js +++ b/server/public/admin/assets/detail-DWgmpDyq.js @@ -1 +1 @@ -import{o as C,Q as P,be as R,q as d,r as A,v as t,D as a,bl as N,bg as V,b9 as F,u as s,s as c,a0 as M,L as r,T as i,ac as p,O as b,K as O,b6 as S,ba as g,a8 as T}from"./.pnpm-9dA1PEvN.js";import{_ as U}from"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import{c as z,q as H}from"./index-CJvXnF8Y.js";import{g as I,u as K,a as L}from"./consumer-DCRovtRJ.js";import{_ as Q}from"./account-adjust.vue_vue_type_script_setup_true_lang-89uQhCqa.js";import"./index-BBemoNXE.js";const G={class:"bg-page flex py-5 mb-10 items-center"},J={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"}),oe=C({...Y,setup(Z){const w=P(),l=g({avatar:"",channel:"",create_time:"",login_time:"",mobile:"",nickname:"",real_name:0,sex:0,sn:"",account:"",user_money:""}),u=g({show:!1,value:""}),j=T(),E=async()=>{const o=await I({id:w.query.id});Object.keys(l).forEach(e=>{l[e]=o[e]})},v=async(o,e)=>{H(o)||(await K({id:w.query.id,field:e,value:o}),E())},D=o=>{u.show=!0,u.value=o},h=async o=>{await L({user_id:w.query.id,...o}),u.show=!1,E()};return E(),(o,e)=>{const B=N,k=V,$=M,_=O,m=S,y=z,x=U,q=F,f=R("perms");return d(),A("div",null,[t(k,{class:"!border-none",shadow:"never"},{default:a(()=>[t(B,{content:"用户详情",onBack:e[0]||(e[0]=n=>o.$router.back())})]),_:1}),t(k,{class:"mt-4 !border-none",header:"基本资料",shadow:"never"},{default:a(()=>[t(q,{ref_key:"formRef",ref:j,class:"ls-form",model:s(l),"label-width":"120px"},{default:a(()=>[c("div",G,[c("div",J,[e[7]||(e[7]=c("div",{class:"mb-2 text-tx-regular"},"用户头像",-1)),t($,{src:s(l).avatar,size:58},null,8,["src"])]),c("div",W,[e[9]||(e[9]=c("div",{class:"text-tx-regular"},"账户余额",-1)),c("div",X,[r(" ¥"+i(s(l).user_money)+" ",1),p((d(),b(_,{type:"primary",link:"",onClick:e[1]||(e[1]=n=>D(s(l).user_money))},{default:a(()=>[...e[8]||(e[8]=[r(" 调整 ",-1)])]),_:1})),[[f,["user.user/adjustMoney"]]])])])]),t(m,{label:"用户昵称:"},{default:a(()=>[r(i(s(l).nickname),1)]),_:1}),t(m,{label:"账号:"},{default:a(()=>[r(i(s(l).account)+" ",1),p((d(),b(x,{class:"ml-[10px]",onConfirm:e[2]||(e[2]=n=>v(n,"account")),limit:32},{default:a(()=>[t(_,{type:"primary",link:""},{default:a(()=>[t(y,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[f,["user.user/edit"]]])]),_:1}),t(m,{label:"真实姓名:"},{default:a(()=>[r(i(s(l).real_name||"-")+" ",1),p((d(),b(x,{class:"ml-[10px]",onConfirm:e[3]||(e[3]=n=>v(n,"real_name")),limit:32},{default:a(()=>[t(_,{type:"primary",link:""},{default:a(()=>[t(y,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[f,["user.user/edit"]]])]),_:1}),t(m,{label:"性别:"},{default:a(()=>[r(i(s(l).sex)+" ",1),p((d(),b(x,{class:"ml-[10px]",type:"select",options:[{label:"未知",value:0},{label:"男",value:1},{label:"女",value:2}],onConfirm:e[4]||(e[4]=n=>v(n,"sex"))},{default:a(()=>[t(_,{type:"primary",link:""},{default:a(()=>[t(y,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[f,["user.user/edit"]]])]),_:1}),t(m,{label:"联系电话:"},{default:a(()=>[r(i(s(l).mobile||"-")+" ",1),p((d(),b(x,{class:"ml-[10px]",type:"number",onConfirm:e[5]||(e[5]=n=>v(n,"mobile"))},{default:a(()=>[t(_,{type:"primary",link:""},{default:a(()=>[t(y,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[f,["user.user/edit"]]])]),_:1}),t(m,{label:"注册来源:"},{default:a(()=>[r(i(s(l).channel),1)]),_:1}),t(m,{label:"注册时间:"},{default:a(()=>[r(i(s(l).create_time),1)]),_:1}),t(m,{label:"最近登录时间:"},{default:a(()=>[r(i(s(l).login_time),1)]),_:1})]),_:1},8,["model"])]),_:1}),t(Q,{show:s(u).show,"onUpdate:show":e[6]||(e[6]=n=>s(u).show=n),value:s(u).value,onConfirm:h},null,8,["show","value"])])}}});export{oe as default}; +import{o as C,Q as P,be as R,q as d,r as A,v as t,D as a,bl as N,bg as V,b9 as F,u as s,s as c,a0 as M,L as r,T as i,ac as p,O as b,K as O,b6 as S,ba as g,a8 as T}from"./.pnpm-9dA1PEvN.js";import{_ as U}from"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import{c as z,q as H}from"./index-BWzN7QIb.js";import{g as I,u as K,a as L}from"./consumer-DkNGexOj.js";import{_ as Q}from"./account-adjust.vue_vue_type_script_setup_true_lang-C6pxUe8h.js";import"./index-dYaCh-CN.js";const G={class:"bg-page flex py-5 mb-10 items-center"},J={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"}),oe=C({...Y,setup(Z){const w=P(),l=g({avatar:"",channel:"",create_time:"",login_time:"",mobile:"",nickname:"",real_name:0,sex:0,sn:"",account:"",user_money:""}),u=g({show:!1,value:""}),j=T(),E=async()=>{const o=await I({id:w.query.id});Object.keys(l).forEach(e=>{l[e]=o[e]})},v=async(o,e)=>{H(o)||(await K({id:w.query.id,field:e,value:o}),E())},D=o=>{u.show=!0,u.value=o},h=async o=>{await L({user_id:w.query.id,...o}),u.show=!1,E()};return E(),(o,e)=>{const B=N,k=V,$=M,_=O,m=S,y=z,x=U,q=F,f=R("perms");return d(),A("div",null,[t(k,{class:"!border-none",shadow:"never"},{default:a(()=>[t(B,{content:"用户详情",onBack:e[0]||(e[0]=n=>o.$router.back())})]),_:1}),t(k,{class:"mt-4 !border-none",header:"基本资料",shadow:"never"},{default:a(()=>[t(q,{ref_key:"formRef",ref:j,class:"ls-form",model:s(l),"label-width":"120px"},{default:a(()=>[c("div",G,[c("div",J,[e[7]||(e[7]=c("div",{class:"mb-2 text-tx-regular"},"用户头像",-1)),t($,{src:s(l).avatar,size:58},null,8,["src"])]),c("div",W,[e[9]||(e[9]=c("div",{class:"text-tx-regular"},"账户余额",-1)),c("div",X,[r(" ¥"+i(s(l).user_money)+" ",1),p((d(),b(_,{type:"primary",link:"",onClick:e[1]||(e[1]=n=>D(s(l).user_money))},{default:a(()=>[...e[8]||(e[8]=[r(" 调整 ",-1)])]),_:1})),[[f,["user.user/adjustMoney"]]])])])]),t(m,{label:"用户昵称:"},{default:a(()=>[r(i(s(l).nickname),1)]),_:1}),t(m,{label:"账号:"},{default:a(()=>[r(i(s(l).account)+" ",1),p((d(),b(x,{class:"ml-[10px]",onConfirm:e[2]||(e[2]=n=>v(n,"account")),limit:32},{default:a(()=>[t(_,{type:"primary",link:""},{default:a(()=>[t(y,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[f,["user.user/edit"]]])]),_:1}),t(m,{label:"真实姓名:"},{default:a(()=>[r(i(s(l).real_name||"-")+" ",1),p((d(),b(x,{class:"ml-[10px]",onConfirm:e[3]||(e[3]=n=>v(n,"real_name")),limit:32},{default:a(()=>[t(_,{type:"primary",link:""},{default:a(()=>[t(y,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[f,["user.user/edit"]]])]),_:1}),t(m,{label:"性别:"},{default:a(()=>[r(i(s(l).sex)+" ",1),p((d(),b(x,{class:"ml-[10px]",type:"select",options:[{label:"未知",value:0},{label:"男",value:1},{label:"女",value:2}],onConfirm:e[4]||(e[4]=n=>v(n,"sex"))},{default:a(()=>[t(_,{type:"primary",link:""},{default:a(()=>[t(y,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[f,["user.user/edit"]]])]),_:1}),t(m,{label:"联系电话:"},{default:a(()=>[r(i(s(l).mobile||"-")+" ",1),p((d(),b(x,{class:"ml-[10px]",type:"number",onConfirm:e[5]||(e[5]=n=>v(n,"mobile"))},{default:a(()=>[t(_,{type:"primary",link:""},{default:a(()=>[t(y,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[f,["user.user/edit"]]])]),_:1}),t(m,{label:"注册来源:"},{default:a(()=>[r(i(s(l).channel),1)]),_:1}),t(m,{label:"注册时间:"},{default:a(()=>[r(i(s(l).create_time),1)]),_:1}),t(m,{label:"最近登录时间:"},{default:a(()=>[r(i(s(l).login_time),1)]),_:1})]),_:1},8,["model"])]),_:1}),t(Q,{show:s(u).show,"onUpdate:show":e[6]||(e[6]=n=>s(u).show=n),value:s(u).value,onConfirm:h},null,8,["show","value"])])}}});export{oe as default}; diff --git a/server/public/admin/assets/detail-BRMb37XJ.js b/server/public/admin/assets/detail-DwhNQqa0.js similarity index 95% rename from server/public/admin/assets/detail-BRMb37XJ.js rename to server/public/admin/assets/detail-DwhNQqa0.js index 18aaf690..7cdce241 100644 --- a/server/public/admin/assets/detail-BRMb37XJ.js +++ b/server/public/admin/assets/detail-DwhNQqa0.js @@ -1 +1 @@ -import{_ as N}from"./index-BBemoNXE.js";import{o as V,q as r,r as p,v as l,D as a,c0 as C,c1 as I,L as n,T as o,u as t,F as m,G as y,O as u,br as L,P as O,aa as T,s as g,M as h,p as F}from"./.pnpm-9dA1PEvN.js";import{a4 as R}from"./tcm-DOD9_1Um.js";import{m as q}from"./index-CJvXnF8Y.js";const z={class:"detail-popup"},G={key:0},H={key:0,class:"flex gap-2"},M={key:1},P={key:0,class:"flex flex-wrap gap-2"},S={key:1},j={style:{"white-space":"pre-wrap"}},A={style:{"white-space":"pre-wrap"}},J={style:{"white-space":"pre-wrap"}},Z=V({__name:"detail",setup(K,{expose:x}){const b=h(),e=h({}),v=h([]),D=async()=>{try{const i=await q({type:"past_history"});v.value=(i==null?void 0:i.past_history)||[]}catch(i){console.error("获取字典数据失败:",i)}},w=F(()=>!e.value.past_history||!e.value.past_history.length?[]:e.value.past_history.map(i=>{const _=v.value.find(s=>s.value===i);return _?_.name:i}));return x({open:async i=>{b.value.open(),await D(),e.value=await R({id:i})}}),(i,_)=>{const s=I,d=L,k=T,E=C,B=N;return r(),p("div",z,[l(B,{ref_key:"popupRef",ref:b,title:"诊单详情",width:"800px","show-confirm":!1,"z-index":1500},{default:a(()=>[l(E,{column:2,border:""},{default:a(()=>[l(s,{label:"患者ID"},{default:a(()=>[n(o(t(e).patient_id),1)]),_:1}),l(s,{label:"患者姓名"},{default:a(()=>[n(o(t(e).patient_name),1)]),_:1}),l(s,{label:"性别"},{default:a(()=>[n(o(t(e).gender_desc),1)]),_:1}),l(s,{label:"年龄"},{default:a(()=>[n(o(t(e).age)+"岁 ",1)]),_:1}),l(s,{label:"诊断日期"},{default:a(()=>[n(o(t(e).diagnosis_date_text),1)]),_:1}),l(s,{label:"诊断类型"},{default:a(()=>[n(o(t(e).diagnosis_type),1)]),_:1}),l(s,{label:"证型",span:2},{default:a(()=>[n(o(t(e).syndrome_type),1)]),_:1}),l(s,{label:"既往史",span:2},{default:a(()=>[(r(!0),p(m,null,y(t(w),c=>(r(),u(d,{key:c,class:"mr-2",type:"info"},{default:a(()=>[n(o(c),1)]),_:2},1024))),128)),t(w).length?O("",!0):(r(),p("span",G,"无"))]),_:1}),l(s,{label:"外伤史"},{default:a(()=>[n(o(t(e).trauma_history?"有":"无"),1)]),_:1}),l(s,{label:"手术史"},{default:a(()=>[n(o(t(e).surgery_history?"有":"无"),1)]),_:1}),l(s,{label:"过敏史"},{default:a(()=>[n(o(t(e).allergy_history?"有":"无"),1)]),_:1}),l(s,{label:"家族病史"},{default:a(()=>[n(o(t(e).family_history?"有":"无"),1)]),_:1}),l(s,{label:"妊娠哺乳史",span:2},{default:a(()=>[n(o(t(e).pregnancy_history?"有":"无"),1)]),_:1}),l(s,{label:"舌苔照片",span:2},{default:a(()=>[t(e).tongue_images&&t(e).tongue_images.length?(r(),p("div",H,[(r(!0),p(m,null,y(t(e).tongue_images,(c,f)=>(r(),u(k,{key:f,src:c,"preview-src-list":t(e).tongue_images,style:{width:"100px",height:"100px"},fit:"cover"},null,8,["src","preview-src-list"]))),128))])):(r(),p("span",M,"暂无"))]),_:1}),l(s,{label:"检查报告",span:2},{default:a(()=>[t(e).report_files&&t(e).report_files.length?(r(),p("div",P,[(r(!0),p(m,null,y(t(e).report_files,(c,f)=>(r(),u(k,{key:f,src:c,"preview-src-list":t(e).report_files,style:{width:"100px",height:"100px"},fit:"cover"},null,8,["src","preview-src-list"]))),128))])):(r(),p("span",S,"暂无"))]),_:1}),l(s,{label:"症状",span:2},{default:a(()=>[n(o(t(e).symptoms||"无"),1)]),_:1}),l(s,{label:"舌苔"},{default:a(()=>[n(o(t(e).tongue_coating||"无"),1)]),_:1}),l(s,{label:"脉象"},{default:a(()=>[n(o(t(e).pulse||"无"),1)]),_:1}),l(s,{label:"治则",span:2},{default:a(()=>[n(o(t(e).treatment_principle||"无"),1)]),_:1}),l(s,{label:"在用药物",span:2},{default:a(()=>[g("div",j,o(t(e).current_medications||"无"),1)]),_:1}),l(s,{label:"处方",span:2},{default:a(()=>[g("div",A,o(t(e).prescription||"无"),1)]),_:1}),l(s,{label:"医嘱",span:2},{default:a(()=>[g("div",J,o(t(e).doctor_advice||"无"),1)]),_:1}),l(s,{label:"备注",span:2},{default:a(()=>[n(o(t(e).remark||"无"),1)]),_:1}),l(s,{label:"状态"},{default:a(()=>[t(e).status==1?(r(),u(d,{key:0,type:"success"},{default:a(()=>[..._[0]||(_[0]=[n("启用",-1)])]),_:1})):(r(),u(d,{key:1,type:"danger"},{default:a(()=>[..._[1]||(_[1]=[n("禁用",-1)])]),_:1}))]),_:1}),l(s,{label:"创建时间"},{default:a(()=>[n(o(t(e).create_time),1)]),_:1})]),_:1})]),_:1},512)])}}});export{Z as default}; +import{_ as N}from"./index-dYaCh-CN.js";import{o as V,q as r,r as p,v as l,D as a,c0 as C,c1 as I,L as n,T as o,u as t,F as m,G as y,O as u,br as L,P as O,aa as T,s as g,M as h,p as F}from"./.pnpm-9dA1PEvN.js";import{a4 as R}from"./tcm-Fi_swgCr.js";import{m as q}from"./index-BWzN7QIb.js";const z={class:"detail-popup"},G={key:0},H={key:0,class:"flex gap-2"},M={key:1},P={key:0,class:"flex flex-wrap gap-2"},S={key:1},j={style:{"white-space":"pre-wrap"}},A={style:{"white-space":"pre-wrap"}},J={style:{"white-space":"pre-wrap"}},Z=V({__name:"detail",setup(K,{expose:x}){const b=h(),e=h({}),v=h([]),D=async()=>{try{const i=await q({type:"past_history"});v.value=(i==null?void 0:i.past_history)||[]}catch(i){console.error("获取字典数据失败:",i)}},w=F(()=>!e.value.past_history||!e.value.past_history.length?[]:e.value.past_history.map(i=>{const _=v.value.find(s=>s.value===i);return _?_.name:i}));return x({open:async i=>{b.value.open(),await D(),e.value=await R({id:i})}}),(i,_)=>{const s=I,d=L,k=T,E=C,B=N;return r(),p("div",z,[l(B,{ref_key:"popupRef",ref:b,title:"诊单详情",width:"800px","show-confirm":!1,"z-index":1500},{default:a(()=>[l(E,{column:2,border:""},{default:a(()=>[l(s,{label:"患者ID"},{default:a(()=>[n(o(t(e).patient_id),1)]),_:1}),l(s,{label:"患者姓名"},{default:a(()=>[n(o(t(e).patient_name),1)]),_:1}),l(s,{label:"性别"},{default:a(()=>[n(o(t(e).gender_desc),1)]),_:1}),l(s,{label:"年龄"},{default:a(()=>[n(o(t(e).age)+"岁 ",1)]),_:1}),l(s,{label:"诊断日期"},{default:a(()=>[n(o(t(e).diagnosis_date_text),1)]),_:1}),l(s,{label:"诊断类型"},{default:a(()=>[n(o(t(e).diagnosis_type),1)]),_:1}),l(s,{label:"证型",span:2},{default:a(()=>[n(o(t(e).syndrome_type),1)]),_:1}),l(s,{label:"既往史",span:2},{default:a(()=>[(r(!0),p(m,null,y(t(w),c=>(r(),u(d,{key:c,class:"mr-2",type:"info"},{default:a(()=>[n(o(c),1)]),_:2},1024))),128)),t(w).length?O("",!0):(r(),p("span",G,"无"))]),_:1}),l(s,{label:"外伤史"},{default:a(()=>[n(o(t(e).trauma_history?"有":"无"),1)]),_:1}),l(s,{label:"手术史"},{default:a(()=>[n(o(t(e).surgery_history?"有":"无"),1)]),_:1}),l(s,{label:"过敏史"},{default:a(()=>[n(o(t(e).allergy_history?"有":"无"),1)]),_:1}),l(s,{label:"家族病史"},{default:a(()=>[n(o(t(e).family_history?"有":"无"),1)]),_:1}),l(s,{label:"妊娠哺乳史",span:2},{default:a(()=>[n(o(t(e).pregnancy_history?"有":"无"),1)]),_:1}),l(s,{label:"舌苔照片",span:2},{default:a(()=>[t(e).tongue_images&&t(e).tongue_images.length?(r(),p("div",H,[(r(!0),p(m,null,y(t(e).tongue_images,(c,f)=>(r(),u(k,{key:f,src:c,"preview-src-list":t(e).tongue_images,style:{width:"100px",height:"100px"},fit:"cover"},null,8,["src","preview-src-list"]))),128))])):(r(),p("span",M,"暂无"))]),_:1}),l(s,{label:"检查报告",span:2},{default:a(()=>[t(e).report_files&&t(e).report_files.length?(r(),p("div",P,[(r(!0),p(m,null,y(t(e).report_files,(c,f)=>(r(),u(k,{key:f,src:c,"preview-src-list":t(e).report_files,style:{width:"100px",height:"100px"},fit:"cover"},null,8,["src","preview-src-list"]))),128))])):(r(),p("span",S,"暂无"))]),_:1}),l(s,{label:"症状",span:2},{default:a(()=>[n(o(t(e).symptoms||"无"),1)]),_:1}),l(s,{label:"舌苔"},{default:a(()=>[n(o(t(e).tongue_coating||"无"),1)]),_:1}),l(s,{label:"脉象"},{default:a(()=>[n(o(t(e).pulse||"无"),1)]),_:1}),l(s,{label:"治则",span:2},{default:a(()=>[n(o(t(e).treatment_principle||"无"),1)]),_:1}),l(s,{label:"在用药物",span:2},{default:a(()=>[g("div",j,o(t(e).current_medications||"无"),1)]),_:1}),l(s,{label:"处方",span:2},{default:a(()=>[g("div",A,o(t(e).prescription||"无"),1)]),_:1}),l(s,{label:"医嘱",span:2},{default:a(()=>[g("div",J,o(t(e).doctor_advice||"无"),1)]),_:1}),l(s,{label:"备注",span:2},{default:a(()=>[n(o(t(e).remark||"无"),1)]),_:1}),l(s,{label:"状态"},{default:a(()=>[t(e).status==1?(r(),u(d,{key:0,type:"success"},{default:a(()=>[..._[0]||(_[0]=[n("启用",-1)])]),_:1})):(r(),u(d,{key:1,type:"danger"},{default:a(()=>[..._[1]||(_[1]=[n("禁用",-1)])]),_:1}))]),_:1}),l(s,{label:"创建时间"},{default:a(()=>[n(o(t(e).create_time),1)]),_:1})]),_:1})]),_:1},512)])}}});export{Z as default}; diff --git a/server/public/admin/assets/dict-TRsJ1i1z.js b/server/public/admin/assets/dict-BzuAKP6Q.js similarity index 92% rename from server/public/admin/assets/dict-TRsJ1i1z.js rename to server/public/admin/assets/dict-BzuAKP6Q.js index 685dcfa1..8aea639a 100644 --- a/server/public/admin/assets/dict-TRsJ1i1z.js +++ b/server/public/admin/assets/dict-BzuAKP6Q.js @@ -1 +1 @@ -import{r as i}from"./index-CJvXnF8Y.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-BWzN7QIb.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-Bmtf1eZE.js b/server/public/admin/assets/doctor-Chj6BcVp.js similarity index 95% rename from server/public/admin/assets/doctor-Bmtf1eZE.js rename to server/public/admin/assets/doctor-Chj6BcVp.js index e95dddd7..77c7d081 100644 --- a/server/public/admin/assets/doctor-Bmtf1eZE.js +++ b/server/public/admin/assets/doctor-Chj6BcVp.js @@ -1 +1 @@ -import{r as e}from"./index-CJvXnF8Y.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-BWzN7QIb.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-1uDGoxnY.js b/server/public/admin/assets/edit-1uDGoxnY.js deleted file mode 100644 index 9cc906a9..00000000 --- a/server/public/admin/assets/edit-1uDGoxnY.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-wFDh1qw6.js";import"./.pnpm-9dA1PEvN.js";import"./index-CJvXnF8Y.js";import"./index-BBemoNXE.js";export{o as default}; diff --git a/server/public/admin/assets/edit-B0pCcAB5.js b/server/public/admin/assets/edit-B0pCcAB5.js new file mode 100644 index 00000000..11d59c8e --- /dev/null +++ b/server/public/admin/assets/edit-B0pCcAB5.js @@ -0,0 +1 @@ +import{_ as o}from"./edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-DEKsw0jB.js";import"./.pnpm-9dA1PEvN.js";import"./article-CGwMRNkL.js";import"./index-BWzN7QIb.js";import"./index-dYaCh-CN.js";export{o as default}; diff --git a/server/public/admin/assets/edit-B4tPAUlO.js b/server/public/admin/assets/edit-B4tPAUlO.js deleted file mode 100644 index 962904b2..00000000 --- a/server/public/admin/assets/edit-B4tPAUlO.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-Crcur3sR.js";import"./.pnpm-9dA1PEvN.js";import"./wx_oa-DPme7qiY.js";import"./index-CJvXnF8Y.js";import"./index-BBemoNXE.js";export{o as default}; diff --git a/server/public/admin/assets/edit-B8J1GujE.js b/server/public/admin/assets/edit-B8J1GujE.js deleted file mode 100644 index 503734a4..00000000 --- a/server/public/admin/assets/edit-B8J1GujE.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-r0jtyh61.js";import"./.pnpm-9dA1PEvN.js";import"./picker-DWQ_BAep.js";import"./index-BBemoNXE.js";import"./index-CJvXnF8Y.js";import"./index-CY1mb9yY.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-CAGpCz28.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";import"./department-DYCfZwei.js";import"./post-BhGC5UYd.js";import"./admin-Bb0DLbGs.js";import"./role-D6rynjFP.js";import"./useDictOptions-bKMXOe8R.js";export{o as default}; diff --git a/server/public/admin/assets/edit-BFnpLTpR.js b/server/public/admin/assets/edit-BFnpLTpR.js deleted file mode 100644 index 7ab231c2..00000000 --- a/server/public/admin/assets/edit-BFnpLTpR.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-Bs2WT8Gt.js";import"./.pnpm-9dA1PEvN.js";import"./picker.vue_vue_type_script_setup_true_lang-B8p-3sQo.js";import"./index-CJvXnF8Y.js";import"./menu-DVBnPCFw.js";import"./index-BBemoNXE.js";export{o as default}; diff --git a/server/public/admin/assets/edit-BJvVly4t.js b/server/public/admin/assets/edit-BJvVly4t.js deleted file mode 100644 index ac9fe064..00000000 --- a/server/public/admin/assets/edit-BJvVly4t.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-DSqWTTUi.js";import"./.pnpm-9dA1PEvN.js";import"./post-BhGC5UYd.js";import"./index-CJvXnF8Y.js";import"./index-BBemoNXE.js";export{o as default}; diff --git a/server/public/admin/assets/edit-DQHETHkM.js b/server/public/admin/assets/edit-BKrJWTX7.js similarity index 94% rename from server/public/admin/assets/edit-DQHETHkM.js rename to server/public/admin/assets/edit-BKrJWTX7.js index 6e760ee4..cc80e2e9 100644 --- a/server/public/admin/assets/edit-DQHETHkM.js +++ b/server/public/admin/assets/edit-BKrJWTX7.js @@ -1 +1 @@ -import{o as X,q as b,r as v,v as t,D as r,b9 as Y,u as l,bD as Z,L as p,O as w,b6 as h,s as i,T as B,P as ee,b7 as le,bc as oe,bf as te,J as ae,bK as re,bm as de,F as N,G as O,bn as ne,I as se,K as ie,C as ue,B as pe,a8 as me,M as c,p as fe,ba as S}from"./.pnpm-9dA1PEvN.js";import{_ as be}from"./picker-DWQ_BAep.js";import{b as _e,d as ce,e as ge}from"./admin-Bb0DLbGs.js";import{d as Ve}from"./department-DYCfZwei.js";import{j as ve}from"./post-BhGC5UYd.js";import{i as we,m as ye,_ as xe}from"./index-CJvXnF8Y.js";import{u as Ee}from"./useDictOptions-bKMXOe8R.js";import"./index-BBemoNXE.js";import"./index-CY1mb9yY.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-CAGpCz28.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const Ue={class:"edit-drawer"},De={class:"text-primary font-medium"},je={class:"w-full"},ke={class:"ml-2 text-gray-500"},qe={class:"flex justify-end"},Ce=X({__name:"edit",emits:["success","close"],setup(Re,{expose:A,emit:F}){function I(n){if(n.status!==1)return!0;const e=n.children;return Array.isArray(e)&&e.length>0}const y=F,x=me(),f=c(!1),m=c("add"),g=c(!1),E=c([]),T=async()=>{const n=await ye({type:"department"});E.value=(n==null?void 0:n.department)||[]},G=fe(()=>m.value=="edit"?"编辑医助":"新增医助"),o=S({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}=Ee({jobs:{api:ve},dept:{api:Ve,params:{apply_data_scope:1}}}),V=(n,e,s)=>{o.password&&(e||s(new Error("请再次输入密码")),e!==o.password&&s(new Error("两次输入密码不一致!"))),s()},_=S({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:(n,e,s)=>{e&&!/^1[3-9]\d{9}$/.test(e)?s(new Error("请输入正确的手机号")):s()},trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:["blur"]}],password_confirm:[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:V,trigger:"blur"}]}),K=async()=>{var n;try{await((n=x.value)==null?void 0:n.validate()),g.value=!0,m.value=="edit"?await _e(o):await ce(o),we.msgSuccess(m.value=="edit"?"编辑成功":"新增成功"),f.value=!1,y("success")}catch(e){console.error("提交失败:",e)}finally{g.value=!1}},L=(n="add")=>{m.value=n,f.value=!0,T(),n==="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}),_.password=[{required:!0,message:"请输入密码",trigger:["blur"]}],_.password_confirm=[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:V,trigger:"blur"}])},P=async n=>{_.password=[],_.password_confirm=[{validator:V,trigger:"blur"}];const e=await ge({id:n.id});for(const s in o)e[s]!=null&&e[s]!=null&&(o[s]=e[s]);o.role_id.includes(2)||o.role_id.push(2)},D=()=>{f.value=!1,y("close")};return A({open:L,setFormData:P}),(n,e)=>{const s=Z,d=h,u=le,z=be,j=te,J=oe,M=ae,$=re,k=ne,q=de,C=se,H=Y,R=ie,Q=pe;return b(),v("div",Ue,[t(Q,{modelValue:l(f),"onUpdate:modelValue":e[18]||(e[18]=a=>ue(f)?f.value=a:null),title:l(G),direction:"rtl",size:"780px","before-close":D},{footer:r(()=>[i("div",qe,[t(R,{onClick:D},{default:r(()=>[...e[30]||(e[30]=[p("取消",-1)])]),_:1}),t(R,{type:"primary",onClick:K,loading:l(g)},{default:r(()=>[...e[31]||(e[31]=[p("确定",-1)])]),_:1},8,["loading"])])]),default:r(()=>[t(H,{ref_key:"formRef",ref:x,model:l(o),"label-width":"100px",rules:l(_)},{default:r(()=>[t(s,{"content-position":"left"},{default:r(()=>[...e[19]||(e[19]=[p("基本信息",-1)])]),_:1}),l(m)==="edit"&&l(o).diagnosis_count!=null?(b(),w(d,{key:0,label:"创建诊单数"},{default:r(()=>[i("span",De,B(l(o).diagnosis_count),1),e[20]||(e[20]=i("span",{class:"text-tx-secondary text-sm ml-2"},"条",-1))]),_:1})):ee("",!0),t(d,{label:"账号",prop:"account"},{default:r(()=>[t(u,{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(()=>[i("div",null,[i("div",null,[t(z,{modelValue:l(o).avatar,"onUpdate:modelValue":e[1]||(e[1]=a=>l(o).avatar=a),limit:1},null,8,["modelValue"])]),e[21]||(e[21]=i("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1}),t(d,{label:"姓名",prop:"name"},{default:r(()=>[t(u,{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(J,{modelValue:l(o).gender,"onUpdate:modelValue":e[3]||(e[3]=a=>l(o).gender=a)},{default:r(()=>[t(j,{label:1},{default:r(()=>[...e[22]||(e[22]=[p("男",-1)])]),_:1}),t(j,{label:2},{default:r(()=>[...e[23]||(e[23]=[p("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(d,{label:"年龄",prop:"age"},{default:r(()=>[t(M,{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(u,{modelValue:l(o).phone,"onUpdate:modelValue":e[5]||(e[5]=a=>l(o).phone=a),placeholder:"请输入手机号",clearable:""},null,8,["modelValue"])]),_:1}),t(s,{"content-position":"left"},{default:r(()=>[...e[24]||(e[24]=[p("组织信息",-1)])]),_:1}),t(d,{label:"归属部门",prop:"dept_id"},{default:r(()=>[i("div",je,[t($,{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:I},"check-strictly":"","default-expand-all":!0,placeholder:"请选择末级归属部门"},null,8,["modelValue","data","props"]),e[25]||(e[25]=i("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(()=>[(b(!0),v(N,null,O(l(U).jobs,(a,W)=>(b(),w(k,{key:W,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(s,{"content-position":"left"},{default:r(()=>[...e[26]||(e[26]=[p("专业信息",-1)])]),_:1}),t(d,{label:"职称",prop:"title"},{default:r(()=>[t(u,{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(()=>[(b(!0),v(N,null,O(l(E),a=>(b(),w(k,{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(u,{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(s,{"content-position":"left"},{default:r(()=>[...e[27]||(e[27]=[p("履历信息",-1)])]),_:1}),t(d,{label:"教育背景",prop:"education"},{default:r(()=>[t(u,{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(u,{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(u,{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(s,{"content-position":"left"},{default:r(()=>[...e[28]||(e[28]=[p("账号设置",-1)])]),_:1}),t(d,{label:"密码",prop:"password"},{default:r(()=>[t(u,{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(u,{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"]),i("span",ke,B(l(o).disable===0?"启用":"禁用"),1)]),_:1}),t(d,{label:"多处登录"},{default:r(()=>[i("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]=i("div",{class:"form-tips"},"允许多人同时在线登录",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}}),He=xe(Ce,[["__scopeId","data-v-03c86fa5"]]);export{He as default}; +import{o as X,q as b,r as v,v as t,D as r,b9 as Y,u as l,bD as Z,L as p,O as w,b6 as h,s as i,T as B,P as ee,b7 as le,bc as oe,bf as te,J as ae,bK as re,bm as de,F as N,G as O,bn as ne,I as se,K as ie,C as ue,B as pe,a8 as me,M as c,p as fe,ba as S}from"./.pnpm-9dA1PEvN.js";import{_ as be}from"./picker-DfI3CPnQ.js";import{b as _e,d as ce,e as ge}from"./admin-CMuAzCyP.js";import{d as Ve}from"./department-BABv4GiI.js";import{j as ve}from"./post-BafSyy6d.js";import{i as we,m as ye,_ as xe}from"./index-BWzN7QIb.js";import{u as Ee}from"./useDictOptions-BeE4yyHx.js";import"./index-dYaCh-CN.js";import"./index-xDQ_OZln.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-fA0EWEUO.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const Ue={class:"edit-drawer"},De={class:"text-primary font-medium"},je={class:"w-full"},ke={class:"ml-2 text-gray-500"},qe={class:"flex justify-end"},Ce=X({__name:"edit",emits:["success","close"],setup(Re,{expose:A,emit:F}){function I(n){if(n.status!==1)return!0;const e=n.children;return Array.isArray(e)&&e.length>0}const y=F,x=me(),f=c(!1),m=c("add"),g=c(!1),E=c([]),T=async()=>{const n=await ye({type:"department"});E.value=(n==null?void 0:n.department)||[]},G=fe(()=>m.value=="edit"?"编辑医助":"新增医助"),o=S({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}=Ee({jobs:{api:ve},dept:{api:Ve,params:{apply_data_scope:1}}}),V=(n,e,s)=>{o.password&&(e||s(new Error("请再次输入密码")),e!==o.password&&s(new Error("两次输入密码不一致!"))),s()},_=S({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:(n,e,s)=>{e&&!/^1[3-9]\d{9}$/.test(e)?s(new Error("请输入正确的手机号")):s()},trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:["blur"]}],password_confirm:[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:V,trigger:"blur"}]}),K=async()=>{var n;try{await((n=x.value)==null?void 0:n.validate()),g.value=!0,m.value=="edit"?await _e(o):await ce(o),we.msgSuccess(m.value=="edit"?"编辑成功":"新增成功"),f.value=!1,y("success")}catch(e){console.error("提交失败:",e)}finally{g.value=!1}},L=(n="add")=>{m.value=n,f.value=!0,T(),n==="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}),_.password=[{required:!0,message:"请输入密码",trigger:["blur"]}],_.password_confirm=[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:V,trigger:"blur"}])},P=async n=>{_.password=[],_.password_confirm=[{validator:V,trigger:"blur"}];const e=await ge({id:n.id});for(const s in o)e[s]!=null&&e[s]!=null&&(o[s]=e[s]);o.role_id.includes(2)||o.role_id.push(2)},D=()=>{f.value=!1,y("close")};return A({open:L,setFormData:P}),(n,e)=>{const s=Z,d=h,u=le,z=be,j=te,J=oe,M=ae,$=re,k=ne,q=de,C=se,H=Y,R=ie,Q=pe;return b(),v("div",Ue,[t(Q,{modelValue:l(f),"onUpdate:modelValue":e[18]||(e[18]=a=>ue(f)?f.value=a:null),title:l(G),direction:"rtl",size:"780px","before-close":D},{footer:r(()=>[i("div",qe,[t(R,{onClick:D},{default:r(()=>[...e[30]||(e[30]=[p("取消",-1)])]),_:1}),t(R,{type:"primary",onClick:K,loading:l(g)},{default:r(()=>[...e[31]||(e[31]=[p("确定",-1)])]),_:1},8,["loading"])])]),default:r(()=>[t(H,{ref_key:"formRef",ref:x,model:l(o),"label-width":"100px",rules:l(_)},{default:r(()=>[t(s,{"content-position":"left"},{default:r(()=>[...e[19]||(e[19]=[p("基本信息",-1)])]),_:1}),l(m)==="edit"&&l(o).diagnosis_count!=null?(b(),w(d,{key:0,label:"创建诊单数"},{default:r(()=>[i("span",De,B(l(o).diagnosis_count),1),e[20]||(e[20]=i("span",{class:"text-tx-secondary text-sm ml-2"},"条",-1))]),_:1})):ee("",!0),t(d,{label:"账号",prop:"account"},{default:r(()=>[t(u,{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(()=>[i("div",null,[i("div",null,[t(z,{modelValue:l(o).avatar,"onUpdate:modelValue":e[1]||(e[1]=a=>l(o).avatar=a),limit:1},null,8,["modelValue"])]),e[21]||(e[21]=i("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1}),t(d,{label:"姓名",prop:"name"},{default:r(()=>[t(u,{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(J,{modelValue:l(o).gender,"onUpdate:modelValue":e[3]||(e[3]=a=>l(o).gender=a)},{default:r(()=>[t(j,{label:1},{default:r(()=>[...e[22]||(e[22]=[p("男",-1)])]),_:1}),t(j,{label:2},{default:r(()=>[...e[23]||(e[23]=[p("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(d,{label:"年龄",prop:"age"},{default:r(()=>[t(M,{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(u,{modelValue:l(o).phone,"onUpdate:modelValue":e[5]||(e[5]=a=>l(o).phone=a),placeholder:"请输入手机号",clearable:""},null,8,["modelValue"])]),_:1}),t(s,{"content-position":"left"},{default:r(()=>[...e[24]||(e[24]=[p("组织信息",-1)])]),_:1}),t(d,{label:"归属部门",prop:"dept_id"},{default:r(()=>[i("div",je,[t($,{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:I},"check-strictly":"","default-expand-all":!0,placeholder:"请选择末级归属部门"},null,8,["modelValue","data","props"]),e[25]||(e[25]=i("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(()=>[(b(!0),v(N,null,O(l(U).jobs,(a,W)=>(b(),w(k,{key:W,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(s,{"content-position":"left"},{default:r(()=>[...e[26]||(e[26]=[p("专业信息",-1)])]),_:1}),t(d,{label:"职称",prop:"title"},{default:r(()=>[t(u,{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(()=>[(b(!0),v(N,null,O(l(E),a=>(b(),w(k,{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(u,{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(s,{"content-position":"left"},{default:r(()=>[...e[27]||(e[27]=[p("履历信息",-1)])]),_:1}),t(d,{label:"教育背景",prop:"education"},{default:r(()=>[t(u,{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(u,{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(u,{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(s,{"content-position":"left"},{default:r(()=>[...e[28]||(e[28]=[p("账号设置",-1)])]),_:1}),t(d,{label:"密码",prop:"password"},{default:r(()=>[t(u,{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(u,{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"]),i("span",ke,B(l(o).disable===0?"启用":"禁用"),1)]),_:1}),t(d,{label:"多处登录"},{default:r(()=>[i("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]=i("div",{class:"form-tips"},"允许多人同时在线登录",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}}),He=xe(Ce,[["__scopeId","data-v-03c86fa5"]]);export{He as default}; diff --git a/server/public/admin/assets/edit-BzfrKGb7.js b/server/public/admin/assets/edit-BMGKdcjh.js similarity index 96% rename from server/public/admin/assets/edit-BzfrKGb7.js rename to server/public/admin/assets/edit-BMGKdcjh.js index 11c189c8..3924673f 100644 --- a/server/public/admin/assets/edit-BzfrKGb7.js +++ b/server/public/admin/assets/edit-BMGKdcjh.js @@ -1 +1 @@ -import{o as w,Q as N,W as T,q as m,r as p,v as t,D as s,bl as L,bg as S,ac as U,bi as j,u as a,O as G,s as r,b6 as M,L as d,T as _,bc as O,bf as $,b7 as z,F as H,G as K,b9 as P,K as Q,M as W,ba as A,a8 as J,l as X}from"./.pnpm-9dA1PEvN.js";import{_ as Y}from"./index-bkWlwzQZ.js";import{n as Z,s as h}from"./message-BBZN4J7d.js";import{j as ee,i as te}from"./index-CJvXnF8Y.js";const se={class:"w-80"},oe={class:"flex-1"},ae={class:"w-full max-w-[320px]"},ne={class:"form-tips"},le=w({name:"noticeEdit"}),ue=w({...le,setup(ie){const f=N(),y=T(),u=W(!1),o=A({id:"",scene_name:"",type:"",scene_desc:"",sms_notice:{status:0,template_id:"",content:"",tips:[]},oa_notice:{},mnp_notice:{},system_notice:{}}),E={"sms_notice.template_id":[{required:!0,message:"请输入模板ID",trigger:"blur"}],"sms_notice.content":[{required:!0,message:"请输入短信内容",trigger:"blur"}]},{removeTab:V}=ee(),b=J(),k=async()=>{u.value=!0;const l=await Z({id:f.query.id});Object.keys(l).forEach(e=>{o[e]=l[e]}),u.value=!1},x=async()=>{var e;await((e=b.value)==null?void 0:e.validate());const l={id:o.id,template:X.pick(o,["sms_notice","oa_notice","mnp_notice","system_notice"])};await h(l),te.msgSuccess("操作成功"),V(),y.back()};return f.query.id&&k(),(l,e)=>{const D=L,c=S,i=M,v=$,R=O,g=z,q=P,B=Q,C=Y,I=j;return m(),p("div",null,[t(c,{class:"!border-none",shadow:"never"},{default:s(()=>[t(D,{content:"编辑通知设置",onBack:e[0]||(e[0]=n=>l.$router.back())})]),_:1}),U((m(),G(q,{ref_key:"formRef",ref:b,model:a(o),"label-width":"120px",rules:E},{default:s(()=>[t(c,{class:"!border-none mt-4",shadow:"never"},{default:s(()=>[e[4]||(e[4]=r("div",{class:"font-medium mb-7"},"通知名称",-1)),t(i,{label:"通知名称"},{default:s(()=>[d(_(a(o).scene_name),1)]),_:1}),t(i,{label:"通知类型"},{default:s(()=>[d(_(a(o).type),1)]),_:1}),t(i,{label:"通知业务"},{default:s(()=>[d(_(a(o).scene_desc),1)]),_:1})]),_:1}),t(c,{class:"!border-none mt-4",shadow:"never"},{default:s(()=>[e[7]||(e[7]=r("div",{class:"font-medium mb-7"},"短信通知",-1)),t(i,{label:"开启状态",prop:"sms_notice.status",required:""},{default:s(()=>[t(R,{modelValue:a(o).sms_notice.status,"onUpdate:modelValue":e[1]||(e[1]=n=>a(o).sms_notice.status=n)},{default:s(()=>[t(v,{value:"0"},{default:s(()=>[...e[5]||(e[5]=[d("关闭",-1)])]),_:1}),t(v,{value:"1"},{default:s(()=>[...e[6]||(e[6]=[d("开启",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(i,{label:"模板ID",prop:"sms_notice.template_id"},{default:s(()=>[r("div",se,[t(g,{modelValue:a(o).sms_notice.template_id,"onUpdate:modelValue":e[2]||(e[2]=n=>a(o).sms_notice.template_id=n),placeholder:"请输入模板ID"},null,8,["modelValue"])])]),_:1}),t(i,{label:"短信内容",prop:"sms_notice.content"},{default:s(()=>[r("div",oe,[r("div",ae,[t(g,{type:"textarea",autosize:{minRows:6,maxRows:6},modelValue:a(o).sms_notice.content,"onUpdate:modelValue":e[3]||(e[3]=n=>a(o).sms_notice.content=n)},null,8,["modelValue"])]),r("div",ne,[(m(!0),p(H,null,K(a(o).sms_notice.tips,(n,F)=>(m(),p("div",{key:F},_(n),1))),128))])])]),_:1})]),_:1})]),_:1},8,["model"])),[[I,a(u)]]),t(C,null,{default:s(()=>[t(B,{type:"primary",onClick:x},{default:s(()=>[...e[8]||(e[8]=[d("保存",-1)])]),_:1})]),_:1})])}}});export{ue as default}; +import{o as w,Q as N,W as T,q as m,r as p,v as t,D as s,bl as L,bg as S,ac as U,bi as j,u as a,O as G,s as r,b6 as M,L as d,T as _,bc as O,bf as $,b7 as z,F as H,G as K,b9 as P,K as Q,M as W,ba as A,a8 as J,l as X}from"./.pnpm-9dA1PEvN.js";import{_ as Y}from"./index-DZiQLFzx.js";import{n as Z,s as h}from"./message-DUkl0jbI.js";import{j as ee,i as te}from"./index-BWzN7QIb.js";const se={class:"w-80"},oe={class:"flex-1"},ae={class:"w-full max-w-[320px]"},ne={class:"form-tips"},le=w({name:"noticeEdit"}),ue=w({...le,setup(ie){const f=N(),y=T(),u=W(!1),o=A({id:"",scene_name:"",type:"",scene_desc:"",sms_notice:{status:0,template_id:"",content:"",tips:[]},oa_notice:{},mnp_notice:{},system_notice:{}}),E={"sms_notice.template_id":[{required:!0,message:"请输入模板ID",trigger:"blur"}],"sms_notice.content":[{required:!0,message:"请输入短信内容",trigger:"blur"}]},{removeTab:V}=ee(),b=J(),k=async()=>{u.value=!0;const l=await Z({id:f.query.id});Object.keys(l).forEach(e=>{o[e]=l[e]}),u.value=!1},x=async()=>{var e;await((e=b.value)==null?void 0:e.validate());const l={id:o.id,template:X.pick(o,["sms_notice","oa_notice","mnp_notice","system_notice"])};await h(l),te.msgSuccess("操作成功"),V(),y.back()};return f.query.id&&k(),(l,e)=>{const D=L,c=S,i=M,v=$,R=O,g=z,q=P,B=Q,C=Y,I=j;return m(),p("div",null,[t(c,{class:"!border-none",shadow:"never"},{default:s(()=>[t(D,{content:"编辑通知设置",onBack:e[0]||(e[0]=n=>l.$router.back())})]),_:1}),U((m(),G(q,{ref_key:"formRef",ref:b,model:a(o),"label-width":"120px",rules:E},{default:s(()=>[t(c,{class:"!border-none mt-4",shadow:"never"},{default:s(()=>[e[4]||(e[4]=r("div",{class:"font-medium mb-7"},"通知名称",-1)),t(i,{label:"通知名称"},{default:s(()=>[d(_(a(o).scene_name),1)]),_:1}),t(i,{label:"通知类型"},{default:s(()=>[d(_(a(o).type),1)]),_:1}),t(i,{label:"通知业务"},{default:s(()=>[d(_(a(o).scene_desc),1)]),_:1})]),_:1}),t(c,{class:"!border-none mt-4",shadow:"never"},{default:s(()=>[e[7]||(e[7]=r("div",{class:"font-medium mb-7"},"短信通知",-1)),t(i,{label:"开启状态",prop:"sms_notice.status",required:""},{default:s(()=>[t(R,{modelValue:a(o).sms_notice.status,"onUpdate:modelValue":e[1]||(e[1]=n=>a(o).sms_notice.status=n)},{default:s(()=>[t(v,{value:"0"},{default:s(()=>[...e[5]||(e[5]=[d("关闭",-1)])]),_:1}),t(v,{value:"1"},{default:s(()=>[...e[6]||(e[6]=[d("开启",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(i,{label:"模板ID",prop:"sms_notice.template_id"},{default:s(()=>[r("div",se,[t(g,{modelValue:a(o).sms_notice.template_id,"onUpdate:modelValue":e[2]||(e[2]=n=>a(o).sms_notice.template_id=n),placeholder:"请输入模板ID"},null,8,["modelValue"])])]),_:1}),t(i,{label:"短信内容",prop:"sms_notice.content"},{default:s(()=>[r("div",oe,[r("div",ae,[t(g,{type:"textarea",autosize:{minRows:6,maxRows:6},modelValue:a(o).sms_notice.content,"onUpdate:modelValue":e[3]||(e[3]=n=>a(o).sms_notice.content=n)},null,8,["modelValue"])]),r("div",ne,[(m(!0),p(H,null,K(a(o).sms_notice.tips,(n,F)=>(m(),p("div",{key:F},_(n),1))),128))])])]),_:1})]),_:1})]),_:1},8,["model"])),[[I,a(u)]]),t(C,null,{default:s(()=>[t(B,{type:"primary",onClick:x},{default:s(()=>[...e[8]||(e[8]=[d("保存",-1)])]),_:1})]),_:1})])}}});export{ue as default}; diff --git a/server/public/admin/assets/edit-BPcc_PpU.js b/server/public/admin/assets/edit-BPcc_PpU.js new file mode 100644 index 00000000..33e774c2 --- /dev/null +++ b/server/public/admin/assets/edit-BPcc_PpU.js @@ -0,0 +1 @@ +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-BqqAYtn1.js";import"./.pnpm-9dA1PEvN.js";import"./dict-BzuAKP6Q.js";import"./index-BWzN7QIb.js";import"./index-dYaCh-CN.js";export{o as default}; diff --git a/server/public/admin/assets/edit-BRA_pTxi.js b/server/public/admin/assets/edit-BRA_pTxi.js deleted file mode 100644 index 350b991c..00000000 --- a/server/public/admin/assets/edit-BRA_pTxi.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-BsX_sZsd.js";import"./.pnpm-9dA1PEvN.js";import"./dict-TRsJ1i1z.js";import"./index-CJvXnF8Y.js";import"./index-BBemoNXE.js";export{o as default}; diff --git a/server/public/admin/assets/edit-BS5uW41X.js b/server/public/admin/assets/edit-BS5uW41X.js new file mode 100644 index 00000000..730cb2b1 --- /dev/null +++ b/server/public/admin/assets/edit-BS5uW41X.js @@ -0,0 +1 @@ +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-DcSBZ-AE.js";import"./.pnpm-9dA1PEvN.js";import"./dict-BzuAKP6Q.js";import"./index-BWzN7QIb.js";import"./index-dYaCh-CN.js";export{o as default}; diff --git a/server/public/admin/assets/edit-Bv-f8SAB.js b/server/public/admin/assets/edit-Bv-f8SAB.js new file mode 100644 index 00000000..136777a1 --- /dev/null +++ b/server/public/admin/assets/edit-Bv-f8SAB.js @@ -0,0 +1 @@ +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-bW869IPL.js";import"./.pnpm-9dA1PEvN.js";import"./wx_oa-HhzP-R8g.js";import"./index-BWzN7QIb.js";import"./index-dYaCh-CN.js";export{o as default}; diff --git a/server/public/admin/assets/edit-C3VqtZAm.js b/server/public/admin/assets/edit-C3VqtZAm.js new file mode 100644 index 00000000..98bc5d06 --- /dev/null +++ b/server/public/admin/assets/edit-C3VqtZAm.js @@ -0,0 +1 @@ +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-D7r08doy.js";import"./.pnpm-9dA1PEvN.js";import"./picker.vue_vue_type_script_setup_true_lang-B7uSVSee.js";import"./index-BWzN7QIb.js";import"./menu-DRrdTmPN.js";import"./index-dYaCh-CN.js";export{o as default}; diff --git a/server/public/admin/assets/edit-C7Q-_A2e.js b/server/public/admin/assets/edit-C7Q-_A2e.js new file mode 100644 index 00000000..170b0d93 --- /dev/null +++ b/server/public/admin/assets/edit-C7Q-_A2e.js @@ -0,0 +1 @@ +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-xNJSlEHz.js";import"./.pnpm-9dA1PEvN.js";import"./index-BWzN7QIb.js";import"./index-dYaCh-CN.js";export{o as default}; diff --git a/server/public/admin/assets/edit-BPOPwxzv.js b/server/public/admin/assets/edit-CftBpLBt.js similarity index 94% rename from server/public/admin/assets/edit-BPOPwxzv.js rename to server/public/admin/assets/edit-CftBpLBt.js index c5ee9b5b..293f64c0 100644 --- a/server/public/admin/assets/edit-BPOPwxzv.js +++ b/server/public/admin/assets/edit-CftBpLBt.js @@ -1 +1 @@ -import{_ as D}from"./index-bkWlwzQZ.js";import{o as v,Q as F,W as I,ap as j,q as M,r as N,v as a,D as t,bl as $,bg as G,b9 as H,u as l,b6 as L,s as u,b7 as S,bc as z,bf as A,L as f,I as K,bj as O,bk as P,K as Q,ba as w,a8 as W,M as J}from"./.pnpm-9dA1PEvN.js";import{j as X,F as Y,G as Z,H as ee,I as ae}from"./index-CJvXnF8Y.js";const oe={class:"article-edit"},le={class:"w-80"},te={class:"w-80"},se={class:"w-80"},ne={class:"w-80"},re={class:"w-80"},de=v({name:"scheduledTaskEdit"}),ce=v({...de,setup(ue){const m=F(),V=I(),o=w({id:"",name:"",command:"",expression:"",params:"",remark:"",status:1,type:1}),{removeTab:x}=X(),i=W(),E=w({name:[{required:!0,message:"请输入名称"}],command:[{required:!0,message:"请输入thankphp命令,如vresion"}],expression:[{required:!0,message:"请输入crontab规则,例:5 9 * * *"}]}),y=async()=>{const n=await Y({id:m.query.id});Object.keys(o).forEach(e=>{o[e]=n[e]})},p=J([]),c=async()=>{var e;await((e=i.value)==null?void 0:e.validateField(["expression"]));const n=await Z({expression:o.expression});p.value=n},k=async()=>{var n;await((n=i.value)==null?void 0:n.validate()),m.query.id?await ee(o):await ae(o),x(),V.back()};return j(async()=>{m.query.id&&(await y(),await c())}),(n,e)=>{const g=$,_=G,d=S,r=L,h=A,R=z,q=K,b=P,U=O,B=H,T=Q,C=D;return M(),N("div",oe,[a(_,{class:"!border-none",shadow:"never"},{default:t(()=>[a(g,{content:n.$route.meta.title,onBack:e[0]||(e[0]=s=>n.$router.back())},null,8,["content"])]),_:1}),a(_,{class:"mt-4 !border-none",shadow:"never"},{default:t(()=>[a(B,{ref_key:"formRef",ref:i,class:"ls-form",model:l(o),"label-width":"85px",rules:l(E)},{default:t(()=>[a(r,{label:"名称",prop:"name"},{default:t(()=>[u("div",le,[a(d,{modelValue:l(o).name,"onUpdate:modelValue":e[1]||(e[1]=s=>l(o).name=s),placeholder:"请输入名称",maxlength:"30",clearable:""},null,8,["modelValue"])])]),_:1}),a(r,{label:"类型",prop:"type"},{default:t(()=>[a(R,{modelValue:l(o).type,"onUpdate:modelValue":e[2]||(e[2]=s=>l(o).type=s)},{default:t(()=>[a(h,{value:1},{default:t(()=>[...e[8]||(e[8]=[f("定时任务",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(r,{label:"命令",prop:"command"},{default:t(()=>[u("div",te,[a(d,{modelValue:l(o).command,"onUpdate:modelValue":e[3]||(e[3]=s=>l(o).command=s),placeholder:"请输入thinkphp命令,如vresion",clearable:""},null,8,["modelValue"])])]),_:1}),a(r,{label:"参数",prop:"params"},{default:t(()=>[u("div",se,[a(d,{modelValue:l(o).params,"onUpdate:modelValue":e[4]||(e[4]=s=>l(o).params=s),placeholder:"请输入参数,例:--id 8 --name 测试",clearable:""},null,8,["modelValue"])])]),_:1}),a(r,{label:"状态"},{default:t(()=>[a(q,{modelValue:l(o).status,"onUpdate:modelValue":e[5]||(e[5]=s=>l(o).status=s),"active-value":1,"inactive-value":2},null,8,["modelValue"])]),_:1}),a(r,{label:"规则",prop:"expression"},{default:t(()=>[u("div",ne,[a(d,{onBlur:c,modelValue:l(o).expression,"onUpdate:modelValue":e[6]||(e[6]=s=>l(o).expression=s),placeholder:"请输入crontab规则,例:5 9 * * *"},null,8,["modelValue"])])]),_:1}),a(r,null,{default:t(()=>[a(U,{data:l(p),style:{"max-width":"320px"}},{default:t(()=>[a(b,{prop:"time",label:"序号","min-width":"80"}),a(b,{prop:"date",label:"执行时间","min-width":"240"})]),_:1},8,["data"])]),_:1}),a(r,{label:"备注",prop:"remark"},{default:t(()=>[u("div",re,[a(d,{modelValue:l(o).remark,"onUpdate:modelValue":e[7]||(e[7]=s=>l(o).remark=s),type:"textarea",autosize:{minRows:3,maxRows:6},maxlength:200,"show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1})]),_:1},8,["model","rules"])]),_:1}),a(C,null,{default:t(()=>[a(T,{type:"primary",onClick:k},{default:t(()=>[...e[9]||(e[9]=[f("保存",-1)])]),_:1})]),_:1})])}}});export{ce as default}; +import{_ as D}from"./index-DZiQLFzx.js";import{o as v,Q as F,W as I,ap as j,q as M,r as N,v as a,D as t,bl as $,bg as G,b9 as H,u as l,b6 as L,s as u,b7 as S,bc as z,bf as A,L as f,I as K,bj as O,bk as P,K as Q,ba as w,a8 as W,M as J}from"./.pnpm-9dA1PEvN.js";import{j as X,F as Y,G as Z,H as ee,I as ae}from"./index-BWzN7QIb.js";const oe={class:"article-edit"},le={class:"w-80"},te={class:"w-80"},se={class:"w-80"},ne={class:"w-80"},re={class:"w-80"},de=v({name:"scheduledTaskEdit"}),ce=v({...de,setup(ue){const m=F(),V=I(),o=w({id:"",name:"",command:"",expression:"",params:"",remark:"",status:1,type:1}),{removeTab:x}=X(),i=W(),E=w({name:[{required:!0,message:"请输入名称"}],command:[{required:!0,message:"请输入thankphp命令,如vresion"}],expression:[{required:!0,message:"请输入crontab规则,例:5 9 * * *"}]}),y=async()=>{const n=await Y({id:m.query.id});Object.keys(o).forEach(e=>{o[e]=n[e]})},p=J([]),c=async()=>{var e;await((e=i.value)==null?void 0:e.validateField(["expression"]));const n=await Z({expression:o.expression});p.value=n},k=async()=>{var n;await((n=i.value)==null?void 0:n.validate()),m.query.id?await ee(o):await ae(o),x(),V.back()};return j(async()=>{m.query.id&&(await y(),await c())}),(n,e)=>{const g=$,_=G,d=S,r=L,h=A,R=z,q=K,b=P,U=O,B=H,T=Q,C=D;return M(),N("div",oe,[a(_,{class:"!border-none",shadow:"never"},{default:t(()=>[a(g,{content:n.$route.meta.title,onBack:e[0]||(e[0]=s=>n.$router.back())},null,8,["content"])]),_:1}),a(_,{class:"mt-4 !border-none",shadow:"never"},{default:t(()=>[a(B,{ref_key:"formRef",ref:i,class:"ls-form",model:l(o),"label-width":"85px",rules:l(E)},{default:t(()=>[a(r,{label:"名称",prop:"name"},{default:t(()=>[u("div",le,[a(d,{modelValue:l(o).name,"onUpdate:modelValue":e[1]||(e[1]=s=>l(o).name=s),placeholder:"请输入名称",maxlength:"30",clearable:""},null,8,["modelValue"])])]),_:1}),a(r,{label:"类型",prop:"type"},{default:t(()=>[a(R,{modelValue:l(o).type,"onUpdate:modelValue":e[2]||(e[2]=s=>l(o).type=s)},{default:t(()=>[a(h,{value:1},{default:t(()=>[...e[8]||(e[8]=[f("定时任务",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(r,{label:"命令",prop:"command"},{default:t(()=>[u("div",te,[a(d,{modelValue:l(o).command,"onUpdate:modelValue":e[3]||(e[3]=s=>l(o).command=s),placeholder:"请输入thinkphp命令,如vresion",clearable:""},null,8,["modelValue"])])]),_:1}),a(r,{label:"参数",prop:"params"},{default:t(()=>[u("div",se,[a(d,{modelValue:l(o).params,"onUpdate:modelValue":e[4]||(e[4]=s=>l(o).params=s),placeholder:"请输入参数,例:--id 8 --name 测试",clearable:""},null,8,["modelValue"])])]),_:1}),a(r,{label:"状态"},{default:t(()=>[a(q,{modelValue:l(o).status,"onUpdate:modelValue":e[5]||(e[5]=s=>l(o).status=s),"active-value":1,"inactive-value":2},null,8,["modelValue"])]),_:1}),a(r,{label:"规则",prop:"expression"},{default:t(()=>[u("div",ne,[a(d,{onBlur:c,modelValue:l(o).expression,"onUpdate:modelValue":e[6]||(e[6]=s=>l(o).expression=s),placeholder:"请输入crontab规则,例:5 9 * * *"},null,8,["modelValue"])])]),_:1}),a(r,null,{default:t(()=>[a(U,{data:l(p),style:{"max-width":"320px"}},{default:t(()=>[a(b,{prop:"time",label:"序号","min-width":"80"}),a(b,{prop:"date",label:"执行时间","min-width":"240"})]),_:1},8,["data"])]),_:1}),a(r,{label:"备注",prop:"remark"},{default:t(()=>[u("div",re,[a(d,{modelValue:l(o).remark,"onUpdate:modelValue":e[7]||(e[7]=s=>l(o).remark=s),type:"textarea",autosize:{minRows:3,maxRows:6},maxlength:200,"show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1})]),_:1},8,["model","rules"])]),_:1}),a(C,null,{default:t(()=>[a(T,{type:"primary",onClick:k},{default:t(()=>[...e[9]||(e[9]=[f("保存",-1)])]),_:1})]),_:1})])}}});export{ce as default}; diff --git a/server/public/admin/assets/edit-CtGeHveI.js b/server/public/admin/assets/edit-CtGeHveI.js deleted file mode 100644 index 25ac6dfe..00000000 --- a/server/public/admin/assets/edit-CtGeHveI.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-EtRC1QEA.js";import"./.pnpm-9dA1PEvN.js";import"./role-D6rynjFP.js";import"./index-CJvXnF8Y.js";import"./index-BBemoNXE.js";export{o as default}; diff --git a/server/public/admin/assets/edit-CwgFvop_.js b/server/public/admin/assets/edit-CwgFvop_.js new file mode 100644 index 00000000..4b2bb5c3 --- /dev/null +++ b/server/public/admin/assets/edit-CwgFvop_.js @@ -0,0 +1 @@ +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-BshekMIG.js";import"./.pnpm-9dA1PEvN.js";import"./department-BABv4GiI.js";import"./index-BWzN7QIb.js";import"./index-dYaCh-CN.js";import"./useDictOptions-BeE4yyHx.js";export{o as default}; diff --git a/server/public/admin/assets/edit-D2AJIsn_.js b/server/public/admin/assets/edit-D2AJIsn_.js deleted file mode 100644 index f3d5c07d..00000000 --- a/server/public/admin/assets/edit-D2AJIsn_.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-C354oJT2.js";import"./.pnpm-9dA1PEvN.js";import"./message-BBZN4J7d.js";import"./index-CJvXnF8Y.js";import"./index-BBemoNXE.js";export{o as default}; diff --git a/server/public/admin/assets/edit-DAmB478j.js b/server/public/admin/assets/edit-DAmB478j.js new file mode 100644 index 00000000..bbf2d745 --- /dev/null +++ b/server/public/admin/assets/edit-DAmB478j.js @@ -0,0 +1 @@ +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-CQEjq9h5.js";import"./.pnpm-9dA1PEvN.js";import"./picker-DfI3CPnQ.js";import"./index-dYaCh-CN.js";import"./index-BWzN7QIb.js";import"./index-xDQ_OZln.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-fA0EWEUO.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";import"./department-BABv4GiI.js";import"./post-BafSyy6d.js";import"./admin-CMuAzCyP.js";import"./role-CrpOZd5J.js";import"./useDictOptions-BeE4yyHx.js";export{o as default}; diff --git a/server/public/admin/assets/edit-DH565yB2.js b/server/public/admin/assets/edit-DDrtLTXp.js similarity index 96% rename from server/public/admin/assets/edit-DH565yB2.js rename to server/public/admin/assets/edit-DDrtLTXp.js index 53af4e4d..1e3e33f1 100644 --- a/server/public/admin/assets/edit-DH565yB2.js +++ b/server/public/admin/assets/edit-DDrtLTXp.js @@ -1 +1 @@ -import{o as T,q as r,r as p,v as n,D as s,b9 as z,u as l,b6 as A,bp as J,bm as K,F as h,G as g,O as k,cB as L,bn as j,s as V,T as H,bK as Q,J as W,b7 as X,a8 as v,M as Z,p as $,ba as ee}from"./.pnpm-9dA1PEvN.js";import{a as ae,b as te,c as oe}from"./finance-BJtj-zFw.js";import{_ as le}from"./index-BBemoNXE.js";import{_ as ne}from"./index-CJvXnF8Y.js";const se={class:"edit-popup"},de={class:"channel-opt-row"},re={class:"opt-name"},ce=T({__name:"edit",props:{mediaChannelGroups:{},deptOptions:{},defaultMediaChannelCode:{}},emits:["success","close"],setup(m,{expose:w,emit:C}){const y=m,_=C,f=v(),i=v(),c=Z("add"),E=$(()=>c.value==="edit"?"编辑账户消耗":"新增账户消耗"),x={value:"id",label:"name",children:"children"},e=ee({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 t,a;await((t=f.value)==null?void 0:t.validate()),c.value==="edit"?await ae(e):await te(e),(a=i.value)==null||a.close(),_("success")},q=(t="add")=>{var a;c.value=t,R(),(a=i.value)==null||a.open()},b=t=>{e.id=t.id??"",e.cost_date=t.cost_date??"",e.media_channel_code=t.media_channel_code??"",e.dept_id=t.dept_id?Number(t.dept_id):"",e.amount=Number(t.amount??0),e.remark=t.remark??""},B=async t=>{const a=await oe({id:t.id});b(a)},M=()=>{_("close")};return w({open:q,setFormData:b,getDetail:B}),(t,a)=>{const N=J,d=A,O=j,U=L,G=K,I=Q,S=W,Y=X,P=z;return r(),p("div",se,[n(le,{ref_key:"popupRef",ref:i,title:l(E),async:!0,width:"560px",onConfirm:F,onClose:M},{default:s(()=>[n(P,{ref_key:"formRef",ref:f,model:l(e),"label-width":"100px",rules:D},{default:s(()=>[n(d,{label:"日期",prop:"cost_date"},{default:s(()=>[n(N,{modelValue:l(e).cost_date,"onUpdate:modelValue":a[0]||(a[0]=o=>l(e).cost_date=o),type:"date","value-format":"YYYY-MM-DD",placeholder:"请选择日期",disabled:l(c)==="edit"},null,8,["modelValue","disabled"])]),_:1}),n(d,{label:"自媒体渠道",prop:"media_channel_code"},{default:s(()=>[n(G,{modelValue:l(e).media_channel_code,"onUpdate:modelValue":a[1]||(a[1]=o=>l(e).media_channel_code=o),placeholder:"请选择自媒体渠道",class:"account-cost-channel-select w-full",filterable:""},{default:s(()=>[(r(!0),p(h,null,g(m.mediaChannelGroups,o=>(r(),k(U,{key:o.group_name,label:o.group_name},{default:s(()=>[(r(!0),p(h,null,g(o.channels,u=>(r(),k(O,{key:u.channel_code,label:u.channel_name,value:u.channel_code},{default:s(()=>[V("div",de,[V("span",re,H(u.channel_name),1)])]),_:2},1032,["label","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),n(d,{label:"部门",prop:"dept_id"},{default:s(()=>[n(I,{modelValue:l(e).dept_id,"onUpdate:modelValue":a[2]||(a[2]=o=>l(e).dept_id=o),data:m.deptOptions,"node-key":"id",props:x,"default-expand-all":!0,"check-strictly":"",placeholder:"请选择绑定部门",clearable:"",filterable:"",class:"w-full"},null,8,["modelValue","data"])]),_:1}),n(d,{label:"账户消耗",prop:"amount"},{default:s(()=>[n(S,{modelValue:l(e).amount,"onUpdate:modelValue":a[3]||(a[3]=o=>l(e).amount=o),min:0,step:.01,precision:2,class:"w-full"},null,8,["modelValue"])]),_:1}),n(d,{label:"备注",prop:"remark"},{default:s(()=>[n(Y,{modelValue:l(e).remark,"onUpdate:modelValue":a[4]||(a[4]=o=>l(e).remark=o),type:"textarea",autosize:{minRows:4,maxRows:6},maxlength:"255","show-word-limit":"",placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}}),_e=ne(ce,[["__scopeId","data-v-4080ff8b"]]);export{_e as default}; +import{o as T,q as r,r as p,v as n,D as s,b9 as z,u as l,b6 as A,bp as J,bm as K,F as h,G as g,O as k,cB as L,bn as j,s as V,T as H,bK as Q,J as W,b7 as X,a8 as v,M as Z,p as $,ba as ee}from"./.pnpm-9dA1PEvN.js";import{a as ae,b as te,c as oe}from"./finance-DNeCzSo4.js";import{_ as le}from"./index-dYaCh-CN.js";import{_ as ne}from"./index-BWzN7QIb.js";const se={class:"edit-popup"},de={class:"channel-opt-row"},re={class:"opt-name"},ce=T({__name:"edit",props:{mediaChannelGroups:{},deptOptions:{},defaultMediaChannelCode:{}},emits:["success","close"],setup(m,{expose:w,emit:C}){const y=m,_=C,f=v(),i=v(),c=Z("add"),E=$(()=>c.value==="edit"?"编辑账户消耗":"新增账户消耗"),x={value:"id",label:"name",children:"children"},e=ee({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 t,a;await((t=f.value)==null?void 0:t.validate()),c.value==="edit"?await ae(e):await te(e),(a=i.value)==null||a.close(),_("success")},q=(t="add")=>{var a;c.value=t,R(),(a=i.value)==null||a.open()},b=t=>{e.id=t.id??"",e.cost_date=t.cost_date??"",e.media_channel_code=t.media_channel_code??"",e.dept_id=t.dept_id?Number(t.dept_id):"",e.amount=Number(t.amount??0),e.remark=t.remark??""},B=async t=>{const a=await oe({id:t.id});b(a)},M=()=>{_("close")};return w({open:q,setFormData:b,getDetail:B}),(t,a)=>{const N=J,d=A,O=j,U=L,G=K,I=Q,S=W,Y=X,P=z;return r(),p("div",se,[n(le,{ref_key:"popupRef",ref:i,title:l(E),async:!0,width:"560px",onConfirm:F,onClose:M},{default:s(()=>[n(P,{ref_key:"formRef",ref:f,model:l(e),"label-width":"100px",rules:D},{default:s(()=>[n(d,{label:"日期",prop:"cost_date"},{default:s(()=>[n(N,{modelValue:l(e).cost_date,"onUpdate:modelValue":a[0]||(a[0]=o=>l(e).cost_date=o),type:"date","value-format":"YYYY-MM-DD",placeholder:"请选择日期",disabled:l(c)==="edit"},null,8,["modelValue","disabled"])]),_:1}),n(d,{label:"自媒体渠道",prop:"media_channel_code"},{default:s(()=>[n(G,{modelValue:l(e).media_channel_code,"onUpdate:modelValue":a[1]||(a[1]=o=>l(e).media_channel_code=o),placeholder:"请选择自媒体渠道",class:"account-cost-channel-select w-full",filterable:""},{default:s(()=>[(r(!0),p(h,null,g(m.mediaChannelGroups,o=>(r(),k(U,{key:o.group_name,label:o.group_name},{default:s(()=>[(r(!0),p(h,null,g(o.channels,u=>(r(),k(O,{key:u.channel_code,label:u.channel_name,value:u.channel_code},{default:s(()=>[V("div",de,[V("span",re,H(u.channel_name),1)])]),_:2},1032,["label","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),n(d,{label:"部门",prop:"dept_id"},{default:s(()=>[n(I,{modelValue:l(e).dept_id,"onUpdate:modelValue":a[2]||(a[2]=o=>l(e).dept_id=o),data:m.deptOptions,"node-key":"id",props:x,"default-expand-all":!0,"check-strictly":"",placeholder:"请选择绑定部门",clearable:"",filterable:"",class:"w-full"},null,8,["modelValue","data"])]),_:1}),n(d,{label:"账户消耗",prop:"amount"},{default:s(()=>[n(S,{modelValue:l(e).amount,"onUpdate:modelValue":a[3]||(a[3]=o=>l(e).amount=o),min:0,step:.01,precision:2,class:"w-full"},null,8,["modelValue"])]),_:1}),n(d,{label:"备注",prop:"remark"},{default:s(()=>[n(Y,{modelValue:l(e).remark,"onUpdate:modelValue":a[4]||(a[4]=o=>l(e).remark=o),type:"textarea",autosize:{minRows:4,maxRows:6},maxlength:"255","show-word-limit":"",placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}}),_e=ne(ce,[["__scopeId","data-v-4080ff8b"]]);export{_e as default}; diff --git a/server/public/admin/assets/edit-ZjGLDII9.js b/server/public/admin/assets/edit-DQr-ajsm.js similarity index 95% rename from server/public/admin/assets/edit-ZjGLDII9.js rename to server/public/admin/assets/edit-DQr-ajsm.js index 4fd2e27f..b4dd0d2a 100644 --- a/server/public/admin/assets/edit-ZjGLDII9.js +++ b/server/public/admin/assets/edit-DQr-ajsm.js @@ -1 +1 @@ -import{o as X,q as g,r as y,v as o,D as n,b9 as Y,u as a,bD as Z,L as p,b6 as h,b7 as ee,s as i,bc as le,bf as ae,J as oe,bK as te,bm as ne,F as O,G as S,O as A,bn as de,I as re,T as c,K as se,C as ie,B as ue,a8 as pe,M as V,p as me,ba as F}from"./.pnpm-9dA1PEvN.js";import{_ as fe}from"./picker-DWQ_BAep.js";import{b as _e,d as be,e as ge}from"./admin-Bb0DLbGs.js";import{d as ce}from"./department-DYCfZwei.js";import{j as Ve}from"./post-BhGC5UYd.js";import{i as ve,m as we,_ as ye}from"./index-CJvXnF8Y.js";import{u as xe}from"./useDictOptions-bKMXOe8R.js";import"./index-BBemoNXE.js";import"./index-CY1mb9yY.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-CAGpCz28.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const Ue={class:"edit-drawer"},Ee={class:"w-full"},De={class:"ml-2 text-gray-500"},je={class:"ml-2 text-gray-500"},qe={class:"ml-2 text-gray-500"},ke={class:"ml-2 text-gray-500"},Ce={class:"flex justify-end"},Re=X({__name:"edit",emits:["success","close"],setup(Be,{expose:I,emit:N}){function T(r){if(r.status!==1)return!0;const e=r.children;return Array.isArray(e)&&e.length>0}const x=N,U=pe(),m=V(!1),f=V("add"),v=V(!1),E=V([]),G=async()=>{const r=await we({type:"department"});E.value=(r==null?void 0:r.department)||[]},K=me(()=>f.value=="edit"?"编辑医生":"新增医生"),l=F({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:D}=xe({jobs:{api:Ve},dept:{api:ce,params:{apply_data_scope:1}}}),w=(r,e,s)=>{l.password&&(e||s(new Error("请再次输入密码")),e!==l.password&&s(new Error("两次输入密码不一致!"))),s()},_=F({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:(r,e,s)=>{e&&!/^1[3-9]\d{9}$/.test(e)?s(new Error("请输入正确的手机号")):s()},trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:["blur"]}],password_confirm:[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:w,trigger:"blur"}]}),L=async()=>{var r;try{await((r=U.value)==null?void 0:r.validate()),v.value=!0,f.value=="edit"?await _e(l):await be(l),ve.msgSuccess(f.value=="edit"?"编辑成功":"新增成功"),m.value=!1,x("success")}catch(e){console.error("提交失败:",e)}finally{v.value=!1}},z=(r="add")=>{f.value=r,m.value=!0,G(),r==="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"}])},J=async r=>{_.password=[],_.password_confirm=[{validator:w,trigger:"blur"}];const e=await ge({id:r.id});for(const s in l)e[s]!=null&&e[s]!=null&&(l[s]=e[s]);l.role_id.includes(1)||l.role_id.push(1)},j=()=>{m.value=!1,x("close")};return I({open:z,setFormData:J}),(r,e)=>{const s=Z,u=ee,d=h,q=fe,k=ae,M=le,P=oe,$=te,C=de,R=ne,b=re,H=Y,B=se,Q=ue;return g(),y("div",Ue,[o(Q,{modelValue:a(m),"onUpdate:modelValue":e[23]||(e[23]=t=>ie(m)?m.value=t:null),title:a(K),direction:"rtl",size:"780px","before-close":j},{footer:n(()=>[i("div",Ce,[o(B,{onClick:j},{default:n(()=>[...e[35]||(e[35]=[p("取消",-1)])]),_:1}),o(B,{type:"primary",onClick:L,loading:a(v)},{default:n(()=>[...e[36]||(e[36]=[p("确定",-1)])]),_:1},8,["loading"])])]),default:n(()=>[o(H,{ref_key:"formRef",ref:U,model:a(l),"label-width":"100px",rules:a(_)},{default:n(()=>[o(s,{"content-position":"left"},{default:n(()=>[...e[24]||(e[24]=[p("基本信息",-1)])]),_:1}),o(d,{label:"账号",prop:"account"},{default:n(()=>[o(u,{modelValue:a(l).account,"onUpdate:modelValue":e[0]||(e[0]=t=>a(l).account=t),placeholder:"请输入账号",clearable:""},null,8,["modelValue"])]),_:1}),o(d,{label:"头像"},{default:n(()=>[i("div",null,[i("div",null,[o(q,{modelValue:a(l).avatar,"onUpdate:modelValue":e[1]||(e[1]=t=>a(l).avatar=t),limit:1},null,8,["modelValue"])]),e[25]||(e[25]=i("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1}),o(d,{label:"姓名",prop:"name"},{default:n(()=>[o(u,{modelValue:a(l).name,"onUpdate:modelValue":e[2]||(e[2]=t=>a(l).name=t),placeholder:"请输入姓名",clearable:""},null,8,["modelValue"])]),_:1}),o(d,{label:"性别",prop:"gender"},{default:n(()=>[o(M,{modelValue:a(l).gender,"onUpdate:modelValue":e[3]||(e[3]=t=>a(l).gender=t)},{default:n(()=>[o(k,{label:1},{default:n(()=>[...e[26]||(e[26]=[p("男",-1)])]),_:1}),o(k,{label:2},{default:n(()=>[...e[27]||(e[27]=[p("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(d,{label:"年龄",prop:"age"},{default:n(()=>[o(P,{modelValue:a(l).age,"onUpdate:modelValue":e[4]||(e[4]=t=>a(l).age=t),min:18,max:100,placeholder:"请输入年龄"},null,8,["modelValue"])]),_:1}),o(d,{label:"手机号",prop:"phone"},{default:n(()=>[o(u,{modelValue:a(l).phone,"onUpdate:modelValue":e[5]||(e[5]=t=>a(l).phone=t),placeholder:"请输入手机号",clearable:""},null,8,["modelValue"])]),_:1}),o(s,{"content-position":"left"},{default:n(()=>[...e[28]||(e[28]=[p("组织信息",-1)])]),_:1}),o(d,{label:"归属部门",prop:"dept_id"},{default:n(()=>[i("div",Ee,[o($,{class:"flex-1 w-full",modelValue:a(l).dept_id,"onUpdate:modelValue":e[6]||(e[6]=t=>a(l).dept_id=t),data:a(D).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]=i("div",{class:"form-tips"},"仅可选末级部门(含下级的父部门不可选),与数据权限范围一致。",-1))])]),_:1}),o(d,{label:"岗位",prop:"jobs_id"},{default:n(()=>[o(R,{class:"flex-1",modelValue:a(l).jobs_id,"onUpdate:modelValue":e[7]||(e[7]=t=>a(l).jobs_id=t),clearable:"",multiple:"",placeholder:"请选择岗位"},{default:n(()=>[(g(!0),y(O,null,S(a(D).jobs,(t,W)=>(g(),A(C,{key:W,label:t.name,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{"content-position":"left"},{default:n(()=>[...e[30]||(e[30]=[p("专业信息",-1)])]),_:1}),o(d,{label:"职称",prop:"title"},{default:n(()=>[o(u,{modelValue:a(l).title,"onUpdate:modelValue":e[8]||(e[8]=t=>a(l).title=t),placeholder:"如:主任医师、副主任医师",clearable:""},null,8,["modelValue"])]),_:1}),o(d,{label:"执业证书编号",prop:"license_no"},{default:n(()=>[o(u,{modelValue:a(l).license_no,"onUpdate:modelValue":e[9]||(e[9]=t=>a(l).license_no=t),placeholder:"请输入执业证书编号",clearable:""},null,8,["modelValue"])]),_:1}),o(d,{label:"资质图片"},{default:n(()=>[i("div",null,[i("div",null,[o(q,{modelValue:a(l).qualification_images,"onUpdate:modelValue":e[10]||(e[10]=t=>a(l).qualification_images=t),limit:9},null,8,["modelValue"])]),e[31]||(e[31]=i("div",{class:"form-tips"},"上传医生资质证书、荣誉证书等图片,最多9张,建议尺寸:800*600px",-1))])]),_:1}),o(d,{label:"图文问诊"},{default:n(()=>[o(b,{modelValue:a(l).enable_image_consult,"onUpdate:modelValue":e[11]||(e[11]=t=>a(l).enable_image_consult=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),i("span",De,c(a(l).enable_image_consult===1?"已开启":"已关闭"),1)]),_:1}),o(d,{label:"视频问诊"},{default:n(()=>[o(b,{modelValue:a(l).enable_video_consult,"onUpdate:modelValue":e[12]||(e[12]=t=>a(l).enable_video_consult=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),i("span",je,c(a(l).enable_video_consult===1?"已开启":"已关闭"),1)]),_:1}),o(d,{label:"是否开启收费"},{default:n(()=>[o(b,{modelValue:a(l).enable_charge,"onUpdate:modelValue":e[13]||(e[13]=t=>a(l).enable_charge=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),i("span",qe,c(a(l).enable_charge===1?"已开启":"已关闭"),1)]),_:1}),o(d,{label:"所属科室",prop:"department"},{default:n(()=>[o(R,{modelValue:a(l).department,"onUpdate:modelValue":e[14]||(e[14]=t=>a(l).department=t),placeholder:"请选择所属科室",clearable:"",class:"flex-1"},{default:n(()=>[(g(!0),y(O,null,S(a(E),t=>(g(),A(C,{key:t.value,label:t.name,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(d,{label:"擅长领域",prop:"specialty"},{default:n(()=>[o(u,{modelValue:a(l).specialty,"onUpdate:modelValue":e[15]||(e[15]=t=>a(l).specialty=t),type:"textarea",rows:3,placeholder:"请输入擅长领域"},null,8,["modelValue"])]),_:1}),o(s,{"content-position":"left"},{default:n(()=>[...e[32]||(e[32]=[p("履历信息",-1)])]),_:1}),o(d,{label:"教育背景",prop:"education"},{default:n(()=>[o(u,{modelValue:a(l).education,"onUpdate:modelValue":e[16]||(e[16]=t=>a(l).education=t),type:"textarea",rows:3,placeholder:"请输入教育背景,如:北京中医药大学 中医学博士"},null,8,["modelValue"])]),_:1}),o(d,{label:"工作经历",prop:"experience"},{default:n(()=>[o(u,{modelValue:a(l).experience,"onUpdate:modelValue":e[17]||(e[17]=t=>a(l).experience=t),type:"textarea",rows:4,placeholder:"请输入工作经历"},null,8,["modelValue"])]),_:1}),o(d,{label:"荣誉资质",prop:"honors"},{default:n(()=>[o(u,{modelValue:a(l).honors,"onUpdate:modelValue":e[18]||(e[18]=t=>a(l).honors=t),type:"textarea",rows:3,placeholder:"请输入荣誉资质"},null,8,["modelValue"])]),_:1}),o(s,{"content-position":"left"},{default:n(()=>[...e[33]||(e[33]=[p("账号设置",-1)])]),_:1}),o(d,{label:"密码",prop:"password"},{default:n(()=>[o(u,{modelValue:a(l).password,"onUpdate:modelValue":e[19]||(e[19]=t=>a(l).password=t),"show-password":"",clearable:"",placeholder:a(f)==="edit"?"不修改请留空":"请输入密码"},null,8,["modelValue","placeholder"])]),_:1}),o(d,{label:"确认密码",prop:"password_confirm"},{default:n(()=>[o(u,{modelValue:a(l).password_confirm,"onUpdate:modelValue":e[20]||(e[20]=t=>a(l).password_confirm=t),"show-password":"",clearable:"",placeholder:a(f)==="edit"?"不修改请留空":"请输入确认密码"},null,8,["modelValue","placeholder"])]),_:1}),o(d,{label:"状态"},{default:n(()=>[o(b,{modelValue:a(l).disable,"onUpdate:modelValue":e[21]||(e[21]=t=>a(l).disable=t),"active-value":0,"inactive-value":1},null,8,["modelValue"]),i("span",ke,c(a(l).disable===0?"启用":"禁用"),1)]),_:1}),o(d,{label:"多处登录"},{default:n(()=>[i("div",null,[o(b,{modelValue:a(l).multipoint_login,"onUpdate:modelValue":e[22]||(e[22]=t=>a(l).multipoint_login=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),e[34]||(e[34]=i("div",{class:"form-tips"},"允许多人同时在线登录",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}}),Qe=ye(Re,[["__scopeId","data-v-cf984238"]]);export{Qe as default}; +import{o as X,q as g,r as y,v as o,D as n,b9 as Y,u as a,bD as Z,L as p,b6 as h,b7 as ee,s as i,bc as le,bf as ae,J as oe,bK as te,bm as ne,F as O,G as S,O as A,bn as de,I as re,T as c,K as se,C as ie,B as ue,a8 as pe,M as V,p as me,ba as F}from"./.pnpm-9dA1PEvN.js";import{_ as fe}from"./picker-DfI3CPnQ.js";import{b as _e,d as be,e as ge}from"./admin-CMuAzCyP.js";import{d as ce}from"./department-BABv4GiI.js";import{j as Ve}from"./post-BafSyy6d.js";import{i as ve,m as we,_ as ye}from"./index-BWzN7QIb.js";import{u as xe}from"./useDictOptions-BeE4yyHx.js";import"./index-dYaCh-CN.js";import"./index-xDQ_OZln.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-fA0EWEUO.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const Ue={class:"edit-drawer"},Ee={class:"w-full"},De={class:"ml-2 text-gray-500"},je={class:"ml-2 text-gray-500"},qe={class:"ml-2 text-gray-500"},ke={class:"ml-2 text-gray-500"},Ce={class:"flex justify-end"},Re=X({__name:"edit",emits:["success","close"],setup(Be,{expose:I,emit:N}){function T(r){if(r.status!==1)return!0;const e=r.children;return Array.isArray(e)&&e.length>0}const x=N,U=pe(),m=V(!1),f=V("add"),v=V(!1),E=V([]),G=async()=>{const r=await we({type:"department"});E.value=(r==null?void 0:r.department)||[]},K=me(()=>f.value=="edit"?"编辑医生":"新增医生"),l=F({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:D}=xe({jobs:{api:Ve},dept:{api:ce,params:{apply_data_scope:1}}}),w=(r,e,s)=>{l.password&&(e||s(new Error("请再次输入密码")),e!==l.password&&s(new Error("两次输入密码不一致!"))),s()},_=F({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:(r,e,s)=>{e&&!/^1[3-9]\d{9}$/.test(e)?s(new Error("请输入正确的手机号")):s()},trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:["blur"]}],password_confirm:[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:w,trigger:"blur"}]}),L=async()=>{var r;try{await((r=U.value)==null?void 0:r.validate()),v.value=!0,f.value=="edit"?await _e(l):await be(l),ve.msgSuccess(f.value=="edit"?"编辑成功":"新增成功"),m.value=!1,x("success")}catch(e){console.error("提交失败:",e)}finally{v.value=!1}},z=(r="add")=>{f.value=r,m.value=!0,G(),r==="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"}])},J=async r=>{_.password=[],_.password_confirm=[{validator:w,trigger:"blur"}];const e=await ge({id:r.id});for(const s in l)e[s]!=null&&e[s]!=null&&(l[s]=e[s]);l.role_id.includes(1)||l.role_id.push(1)},j=()=>{m.value=!1,x("close")};return I({open:z,setFormData:J}),(r,e)=>{const s=Z,u=ee,d=h,q=fe,k=ae,M=le,P=oe,$=te,C=de,R=ne,b=re,H=Y,B=se,Q=ue;return g(),y("div",Ue,[o(Q,{modelValue:a(m),"onUpdate:modelValue":e[23]||(e[23]=t=>ie(m)?m.value=t:null),title:a(K),direction:"rtl",size:"780px","before-close":j},{footer:n(()=>[i("div",Ce,[o(B,{onClick:j},{default:n(()=>[...e[35]||(e[35]=[p("取消",-1)])]),_:1}),o(B,{type:"primary",onClick:L,loading:a(v)},{default:n(()=>[...e[36]||(e[36]=[p("确定",-1)])]),_:1},8,["loading"])])]),default:n(()=>[o(H,{ref_key:"formRef",ref:U,model:a(l),"label-width":"100px",rules:a(_)},{default:n(()=>[o(s,{"content-position":"left"},{default:n(()=>[...e[24]||(e[24]=[p("基本信息",-1)])]),_:1}),o(d,{label:"账号",prop:"account"},{default:n(()=>[o(u,{modelValue:a(l).account,"onUpdate:modelValue":e[0]||(e[0]=t=>a(l).account=t),placeholder:"请输入账号",clearable:""},null,8,["modelValue"])]),_:1}),o(d,{label:"头像"},{default:n(()=>[i("div",null,[i("div",null,[o(q,{modelValue:a(l).avatar,"onUpdate:modelValue":e[1]||(e[1]=t=>a(l).avatar=t),limit:1},null,8,["modelValue"])]),e[25]||(e[25]=i("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1}),o(d,{label:"姓名",prop:"name"},{default:n(()=>[o(u,{modelValue:a(l).name,"onUpdate:modelValue":e[2]||(e[2]=t=>a(l).name=t),placeholder:"请输入姓名",clearable:""},null,8,["modelValue"])]),_:1}),o(d,{label:"性别",prop:"gender"},{default:n(()=>[o(M,{modelValue:a(l).gender,"onUpdate:modelValue":e[3]||(e[3]=t=>a(l).gender=t)},{default:n(()=>[o(k,{label:1},{default:n(()=>[...e[26]||(e[26]=[p("男",-1)])]),_:1}),o(k,{label:2},{default:n(()=>[...e[27]||(e[27]=[p("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(d,{label:"年龄",prop:"age"},{default:n(()=>[o(P,{modelValue:a(l).age,"onUpdate:modelValue":e[4]||(e[4]=t=>a(l).age=t),min:18,max:100,placeholder:"请输入年龄"},null,8,["modelValue"])]),_:1}),o(d,{label:"手机号",prop:"phone"},{default:n(()=>[o(u,{modelValue:a(l).phone,"onUpdate:modelValue":e[5]||(e[5]=t=>a(l).phone=t),placeholder:"请输入手机号",clearable:""},null,8,["modelValue"])]),_:1}),o(s,{"content-position":"left"},{default:n(()=>[...e[28]||(e[28]=[p("组织信息",-1)])]),_:1}),o(d,{label:"归属部门",prop:"dept_id"},{default:n(()=>[i("div",Ee,[o($,{class:"flex-1 w-full",modelValue:a(l).dept_id,"onUpdate:modelValue":e[6]||(e[6]=t=>a(l).dept_id=t),data:a(D).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]=i("div",{class:"form-tips"},"仅可选末级部门(含下级的父部门不可选),与数据权限范围一致。",-1))])]),_:1}),o(d,{label:"岗位",prop:"jobs_id"},{default:n(()=>[o(R,{class:"flex-1",modelValue:a(l).jobs_id,"onUpdate:modelValue":e[7]||(e[7]=t=>a(l).jobs_id=t),clearable:"",multiple:"",placeholder:"请选择岗位"},{default:n(()=>[(g(!0),y(O,null,S(a(D).jobs,(t,W)=>(g(),A(C,{key:W,label:t.name,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{"content-position":"left"},{default:n(()=>[...e[30]||(e[30]=[p("专业信息",-1)])]),_:1}),o(d,{label:"职称",prop:"title"},{default:n(()=>[o(u,{modelValue:a(l).title,"onUpdate:modelValue":e[8]||(e[8]=t=>a(l).title=t),placeholder:"如:主任医师、副主任医师",clearable:""},null,8,["modelValue"])]),_:1}),o(d,{label:"执业证书编号",prop:"license_no"},{default:n(()=>[o(u,{modelValue:a(l).license_no,"onUpdate:modelValue":e[9]||(e[9]=t=>a(l).license_no=t),placeholder:"请输入执业证书编号",clearable:""},null,8,["modelValue"])]),_:1}),o(d,{label:"资质图片"},{default:n(()=>[i("div",null,[i("div",null,[o(q,{modelValue:a(l).qualification_images,"onUpdate:modelValue":e[10]||(e[10]=t=>a(l).qualification_images=t),limit:9},null,8,["modelValue"])]),e[31]||(e[31]=i("div",{class:"form-tips"},"上传医生资质证书、荣誉证书等图片,最多9张,建议尺寸:800*600px",-1))])]),_:1}),o(d,{label:"图文问诊"},{default:n(()=>[o(b,{modelValue:a(l).enable_image_consult,"onUpdate:modelValue":e[11]||(e[11]=t=>a(l).enable_image_consult=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),i("span",De,c(a(l).enable_image_consult===1?"已开启":"已关闭"),1)]),_:1}),o(d,{label:"视频问诊"},{default:n(()=>[o(b,{modelValue:a(l).enable_video_consult,"onUpdate:modelValue":e[12]||(e[12]=t=>a(l).enable_video_consult=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),i("span",je,c(a(l).enable_video_consult===1?"已开启":"已关闭"),1)]),_:1}),o(d,{label:"是否开启收费"},{default:n(()=>[o(b,{modelValue:a(l).enable_charge,"onUpdate:modelValue":e[13]||(e[13]=t=>a(l).enable_charge=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),i("span",qe,c(a(l).enable_charge===1?"已开启":"已关闭"),1)]),_:1}),o(d,{label:"所属科室",prop:"department"},{default:n(()=>[o(R,{modelValue:a(l).department,"onUpdate:modelValue":e[14]||(e[14]=t=>a(l).department=t),placeholder:"请选择所属科室",clearable:"",class:"flex-1"},{default:n(()=>[(g(!0),y(O,null,S(a(E),t=>(g(),A(C,{key:t.value,label:t.name,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(d,{label:"擅长领域",prop:"specialty"},{default:n(()=>[o(u,{modelValue:a(l).specialty,"onUpdate:modelValue":e[15]||(e[15]=t=>a(l).specialty=t),type:"textarea",rows:3,placeholder:"请输入擅长领域"},null,8,["modelValue"])]),_:1}),o(s,{"content-position":"left"},{default:n(()=>[...e[32]||(e[32]=[p("履历信息",-1)])]),_:1}),o(d,{label:"教育背景",prop:"education"},{default:n(()=>[o(u,{modelValue:a(l).education,"onUpdate:modelValue":e[16]||(e[16]=t=>a(l).education=t),type:"textarea",rows:3,placeholder:"请输入教育背景,如:北京中医药大学 中医学博士"},null,8,["modelValue"])]),_:1}),o(d,{label:"工作经历",prop:"experience"},{default:n(()=>[o(u,{modelValue:a(l).experience,"onUpdate:modelValue":e[17]||(e[17]=t=>a(l).experience=t),type:"textarea",rows:4,placeholder:"请输入工作经历"},null,8,["modelValue"])]),_:1}),o(d,{label:"荣誉资质",prop:"honors"},{default:n(()=>[o(u,{modelValue:a(l).honors,"onUpdate:modelValue":e[18]||(e[18]=t=>a(l).honors=t),type:"textarea",rows:3,placeholder:"请输入荣誉资质"},null,8,["modelValue"])]),_:1}),o(s,{"content-position":"left"},{default:n(()=>[...e[33]||(e[33]=[p("账号设置",-1)])]),_:1}),o(d,{label:"密码",prop:"password"},{default:n(()=>[o(u,{modelValue:a(l).password,"onUpdate:modelValue":e[19]||(e[19]=t=>a(l).password=t),"show-password":"",clearable:"",placeholder:a(f)==="edit"?"不修改请留空":"请输入密码"},null,8,["modelValue","placeholder"])]),_:1}),o(d,{label:"确认密码",prop:"password_confirm"},{default:n(()=>[o(u,{modelValue:a(l).password_confirm,"onUpdate:modelValue":e[20]||(e[20]=t=>a(l).password_confirm=t),"show-password":"",clearable:"",placeholder:a(f)==="edit"?"不修改请留空":"请输入确认密码"},null,8,["modelValue","placeholder"])]),_:1}),o(d,{label:"状态"},{default:n(()=>[o(b,{modelValue:a(l).disable,"onUpdate:modelValue":e[21]||(e[21]=t=>a(l).disable=t),"active-value":0,"inactive-value":1},null,8,["modelValue"]),i("span",ke,c(a(l).disable===0?"启用":"禁用"),1)]),_:1}),o(d,{label:"多处登录"},{default:n(()=>[i("div",null,[o(b,{modelValue:a(l).multipoint_login,"onUpdate:modelValue":e[22]||(e[22]=t=>a(l).multipoint_login=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),e[34]||(e[34]=i("div",{class:"form-tips"},"允许多人同时在线登录",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}}),Qe=ye(Re,[["__scopeId","data-v-cf984238"]]);export{Qe as default}; diff --git a/server/public/admin/assets/edit-DeLfDaUB.js b/server/public/admin/assets/edit-DeLfDaUB.js deleted file mode 100644 index 0a0bb642..00000000 --- a/server/public/admin/assets/edit-DeLfDaUB.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-DQptrasI.js";import"./.pnpm-9dA1PEvN.js";import"./article-BioaiRdh.js";import"./index-CJvXnF8Y.js";import"./index-BBemoNXE.js";export{o as default}; diff --git a/server/public/admin/assets/edit-C0oegBKN.js b/server/public/admin/assets/edit-DjLHv_Io.js similarity index 95% rename from server/public/admin/assets/edit-C0oegBKN.js rename to server/public/admin/assets/edit-DjLHv_Io.js index f8ca571c..74bd0fb3 100644 --- a/server/public/admin/assets/edit-C0oegBKN.js +++ b/server/public/admin/assets/edit-DjLHv_Io.js @@ -1 +1 @@ -import{o as H,q as y,O as z,B as G,u as l,C as J,D as i,ac as O,r as V,v as o,b9 as $,b6 as j,bf as Q,L as u,T as W,b7 as X,s as n,F as b,bc as Y,P as k,J as Z,K as h,bi as ee,M as m,p as le,e as oe}from"./.pnpm-9dA1PEvN.js";import{_ as te}from"./picker-DWQ_BAep.js";import{g as ae,s as ie}from"./pay-Bhq0dtL5.js";import{u as ne}from"./useLockFn-Cmb0mmh_.js";import{u as se}from"./getExposeType-DmsdEFKC.js";import{_ as de}from"./index-CJvXnF8Y.js";import"./index-BBemoNXE.js";import"./index-CY1mb9yY.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-CAGpCz28.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const re={class:"h-full flex flex-col","element-loading-text":"加载中...","element-loading-background":"var(--el-bg-color)"},pe={class:"flex-1"},ue={class:"flex-1"},me={class:"flex-1"},fe=H({__name:"edit",emits:["refresh"],setup(_e,{expose:x,emit:w}){const f=m(!1),v=se(),U=m(),C=m("profile"),I=m(!1),c=m(!0),_=le(()=>{switch(t.value.pay_way){case 1:return"余额支付";case 2:return"微信支付";case 3:return"支付宝支付";default:return""}}),t=m({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=(d,e,p)=>{c.value=!0,C.value=p||"profile",I.value=e||!1,q(d),U.value=d,f.value=!0},q=async d=>{const e=await ae({id:d});e.config||(e.config=t.value.config),c.value=!1,t.value=e},B=d=>{oe.confirm("修改还未保存,确认退出编辑吗?").then(()=>{d()}).catch(()=>{})},F=()=>{var d;(d=v.value)==null||d.resetFields()},R=async()=>{var d;await((d=v.value)==null?void 0:d.validate()),await ie(t.value),f.value=!1,D("refresh")},{isLock:N,lockFn:A}=ne(R);return x({openHandle:P}),(d,e)=>{const p=Q,s=j,r=X,L=te,g=Y,S=Z,K=h,M=G,T=ee;return y(),z(M,{modelValue:l(f),"onUpdate:modelValue":e[14]||(e[14]=a=>J(f)?f.value=a:null),"destroy-on-close":"",title:`${l(_)}配置`,direction:"rtl",size:"50%",onClose:F,"before-close":B},{default:i(()=>[O((y(),V("div",re,[o(l($),{ref_key:"formRef",ref:v,model:l(t),"label-width":"9rem",rules:E},{default:i(()=>[o(s,{label:"支付方式"},{default:i(()=>[o(p,{value:l(_),"model-value":l(_)},{default:i(()=>[u(W(l(_)),1)]),_:1},8,["value","model-value"])]),_:1}),o(s,{label:"显示名称",prop:"name"},{default:i(()=>[o(r,{modelValue:l(t).name,"onUpdate:modelValue":e[0]||(e[0]=a=>l(t).name=a),placeholder:"请输入显示名称",style:{"max-width":"250px"}},null,8,["modelValue"])]),_:1}),o(s,{label:"图标",prop:"image"},{default:i(()=>[n("div",null,[o(L,{limit:1,disabled:!1,modelValue:l(t).icon,"onUpdate:modelValue":e[1]||(e[1]=a=>l(t).icon=a)},null,8,["modelValue"]),e[15]||(e[15]=n("div",{class:"form-tips"},"建议尺寸:200*200px",-1))])]),_:1}),l(t).pay_way==2?(y(),V(b,{key:0},[o(s,{prop:"config.interface_version",label:"微信支付接口版本"},{default:i(()=>[n("div",null,[o(g,{modelValue:l(t).config.interface_version,"onUpdate:modelValue":e[2]||(e[2]=a=>l(t).config.interface_version=a)},{default:i(()=>[o(p,{value:"v3"},{default:i(()=>[...e[16]||(e[16]=[u("V3",-1)])]),_:1})]),_:1},8,["modelValue"]),e[17]||(e[17]=n("div",{class:"form-tips"},"暂时只支持V3版本",-1))])]),_:1}),o(s,{label:"商户类型",prop:"config.merchant_type"},{default:i(()=>[n("div",null,[o(g,{modelValue:l(t).config.merchant_type,"onUpdate:modelValue":e[3]||(e[3]=a=>l(t).config.merchant_type=a)},{default:i(()=>[o(p,{value:"ordinary_merchant"},{default:i(()=>[...e[18]||(e[18]=[u("普通商户",-1)])]),_:1})]),_:1},8,["modelValue"]),e[19]||(e[19]=n("div",{class:"form-tips"}," 暂时只支持普通商户类型,服务商户类型模式暂不支持 ",-1))])]),_:1}),o(s,{label:"微信支付商户号",prop:"config.mch_id"},{default:i(()=>[n("div",null,[o(r,{modelValue:l(t).config.mch_id,"onUpdate:modelValue":e[4]||(e[4]=a=>l(t).config.mch_id=a),placeholder:"请输入微信支付商户号",style:{"max-width":"250px"}},null,8,["modelValue"]),e[20]||(e[20]=n("div",{class:"form-tips"},"微信支付商户号(MCHID)",-1))])]),_:1}),o(s,{label:"商户API密钥",prop:"config.pay_sign_key"},{default:i(()=>[n("div",null,[o(r,{modelValue:l(t).config.pay_sign_key,"onUpdate:modelValue":e[5]||(e[5]=a=>l(t).config.pay_sign_key=a),placeholder:"请输入微信支付商户API密钥",style:{"max-width":"250px"}},null,8,["modelValue"]),e[21]||(e[21]=n("div",{class:"form-tips"},"微信支付商户API密钥(paySignKey)",-1))])]),_:1}),o(s,{label:"微信支付证书",prop:"config.apiclient_cert"},{default:i(()=>[n("div",null,[o(r,{type:"textarea",rows:3,modelValue:l(t).config.apiclient_cert,"onUpdate:modelValue":e[6]||(e[6]=a=>l(t).config.apiclient_cert=a),placeholder:"请输入微信支付证书",style:{"max-width":"400px"}},null,8,["modelValue"]),e[22]||(e[22]=n("div",{class:"form-tips"}," 微信支付证书(apiclient_cert.pem),前往微信商家平台生成并黏贴至此处 ",-1))])]),_:1}),o(s,{label:"微信支付证书密钥",prop:"config.apiclient_key"},{default:i(()=>[n("div",null,[o(r,{type:"textarea",rows:3,modelValue:l(t).config.apiclient_key,"onUpdate:modelValue":e[7]||(e[7]=a=>l(t).config.apiclient_key=a),placeholder:"请输入微信支付证书密钥",style:{"max-width":"400px"}},null,8,["modelValue"]),e[23]||(e[23]=n("div",{class:"form-tips"}," 微信支付证书密钥(apiclient_key.pem),前往微信商家平台生成并黏贴至此处 ",-1))])]),_:1}),o(s,{label:"支付授权目录"},{default:i(()=>[...e[24]||(e[24]=[n("div",null,[n("div",null,[n("span",{class:"mr-[20px]"},"https://前台手机域名地址/")])],-1)])]),_:1})],64)):k("",!0),l(t).pay_way==3?(y(),V(b,{key:1},[o(s,{label:"模式",prop:"config.mode"},{default:i(()=>[n("div",null,[o(g,{modelValue:l(t).config.mode,"onUpdate:modelValue":e[8]||(e[8]=a=>l(t).config.mode=a)},{default:i(()=>[o(p,{value:"normal_mode"},{default:i(()=>[...e[25]||(e[25]=[u("普通模式",-1)])]),_:1})]),_:1},8,["modelValue"]),e[26]||(e[26]=n("div",{class:"form-tips"},"暂时仅支持支付宝普通模式",-1))])]),_:1}),o(s,{label:"商户类型",prop:"config.merchant_type"},{default:i(()=>[n("div",null,[o(g,{modelValue:l(t).config.merchant_type,"onUpdate:modelValue":e[9]||(e[9]=a=>l(t).config.merchant_type=a)},{default:i(()=>[o(p,{value:"ordinary_merchant"},{default:i(()=>[...e[27]||(e[27]=[u("普通商户",-1)])]),_:1})]),_:1},8,["modelValue"]),e[28]||(e[28]=n("div",{class:"form-tips"}," 暂时只支持普通商户类型,服务商户类型模式暂不支持 ",-1))])]),_:1}),o(s,{label:"应用ID",prop:"config.app_id"},{default:i(()=>[n("div",pe,[o(r,{modelValue:l(t).config.app_id,"onUpdate:modelValue":e[10]||(e[10]=a=>l(t).config.app_id=a),placeholder:"请输入支付宝应用ID",style:{"max-width":"250px"}},null,8,["modelValue"]),e[29]||(e[29]=n("div",{class:"form-tips"},"支付宝应用APP_ID",-1))])]),_:1}),o(s,{label:"应用私钥",prop:"config.private_key"},{default:i(()=>[n("div",ue,[o(r,{type:"textarea",rows:3,modelValue:l(t).config.private_key,"onUpdate:modelValue":e[11]||(e[11]=a=>l(t).config.private_key=a),placeholder:"请输入支付宝应用私钥",style:{"max-width":"400px"}},null,8,["modelValue"]),e[30]||(e[30]=n("div",{class:"form-tips"},"支付宝应用私钥(private_key)",-1))])]),_:1}),o(s,{label:"支付宝公钥",prop:"config.ali_public_key"},{default:i(()=>[n("div",me,[o(r,{type:"textarea",rows:3,modelValue:l(t).config.ali_public_key,"onUpdate:modelValue":e[12]||(e[12]=a=>l(t).config.ali_public_key=a),placeholder:"请输入支付宝公钥",style:{"max-width":"400px"}},null,8,["modelValue"]),e[31]||(e[31]=n("div",{class:"form-tips"},"支付宝公钥(alipayCertPublicKey)",-1))])]),_:1})],64)):k("",!0),o(s,{label:"排序",prop:"sort"},{default:i(()=>[n("div",null,[o(S,{modelValue:l(t).sort,"onUpdate:modelValue":e[13]||(e[13]=a=>l(t).sort=a),min:0,max:9999},null,8,["modelValue"]),e[32]||(e[32]=n("div",{class:"form-tips"},"默认为0, 数值越大越排前",-1))])]),_:1}),o(s,null,{default:i(()=>[o(K,{type:"primary",loading:l(N),onClick:l(A)},{default:i(()=>[...e[33]||(e[33]=[u("保存",-1)])]),_:1},8,["loading","onClick"])]),_:1})]),_:1},8,["model"])])),[[T,l(c)]])]),_:1},8,["modelValue","title"])}}}),Pe=de(fe,[["__scopeId","data-v-65ce6610"]]);export{Pe as default}; +import{o as H,q as y,O as z,B as G,u as l,C as J,D as i,ac as O,r as V,v as o,b9 as $,b6 as j,bf as Q,L as u,T as W,b7 as X,s as n,F as b,bc as Y,P as k,J as Z,K as h,bi as ee,M as m,p as le,e as oe}from"./.pnpm-9dA1PEvN.js";import{_ as te}from"./picker-DfI3CPnQ.js";import{g as ae,s as ie}from"./pay-Cfg11EXw.js";import{u as ne}from"./useLockFn-Cmb0mmh_.js";import{u as se}from"./getExposeType-DmsdEFKC.js";import{_ as de}from"./index-BWzN7QIb.js";import"./index-dYaCh-CN.js";import"./index-xDQ_OZln.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-fA0EWEUO.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const re={class:"h-full flex flex-col","element-loading-text":"加载中...","element-loading-background":"var(--el-bg-color)"},pe={class:"flex-1"},ue={class:"flex-1"},me={class:"flex-1"},fe=H({__name:"edit",emits:["refresh"],setup(_e,{expose:x,emit:w}){const f=m(!1),v=se(),U=m(),C=m("profile"),I=m(!1),c=m(!0),_=le(()=>{switch(t.value.pay_way){case 1:return"余额支付";case 2:return"微信支付";case 3:return"支付宝支付";default:return""}}),t=m({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=(d,e,p)=>{c.value=!0,C.value=p||"profile",I.value=e||!1,q(d),U.value=d,f.value=!0},q=async d=>{const e=await ae({id:d});e.config||(e.config=t.value.config),c.value=!1,t.value=e},B=d=>{oe.confirm("修改还未保存,确认退出编辑吗?").then(()=>{d()}).catch(()=>{})},F=()=>{var d;(d=v.value)==null||d.resetFields()},R=async()=>{var d;await((d=v.value)==null?void 0:d.validate()),await ie(t.value),f.value=!1,D("refresh")},{isLock:N,lockFn:A}=ne(R);return x({openHandle:P}),(d,e)=>{const p=Q,s=j,r=X,L=te,g=Y,S=Z,K=h,M=G,T=ee;return y(),z(M,{modelValue:l(f),"onUpdate:modelValue":e[14]||(e[14]=a=>J(f)?f.value=a:null),"destroy-on-close":"",title:`${l(_)}配置`,direction:"rtl",size:"50%",onClose:F,"before-close":B},{default:i(()=>[O((y(),V("div",re,[o(l($),{ref_key:"formRef",ref:v,model:l(t),"label-width":"9rem",rules:E},{default:i(()=>[o(s,{label:"支付方式"},{default:i(()=>[o(p,{value:l(_),"model-value":l(_)},{default:i(()=>[u(W(l(_)),1)]),_:1},8,["value","model-value"])]),_:1}),o(s,{label:"显示名称",prop:"name"},{default:i(()=>[o(r,{modelValue:l(t).name,"onUpdate:modelValue":e[0]||(e[0]=a=>l(t).name=a),placeholder:"请输入显示名称",style:{"max-width":"250px"}},null,8,["modelValue"])]),_:1}),o(s,{label:"图标",prop:"image"},{default:i(()=>[n("div",null,[o(L,{limit:1,disabled:!1,modelValue:l(t).icon,"onUpdate:modelValue":e[1]||(e[1]=a=>l(t).icon=a)},null,8,["modelValue"]),e[15]||(e[15]=n("div",{class:"form-tips"},"建议尺寸:200*200px",-1))])]),_:1}),l(t).pay_way==2?(y(),V(b,{key:0},[o(s,{prop:"config.interface_version",label:"微信支付接口版本"},{default:i(()=>[n("div",null,[o(g,{modelValue:l(t).config.interface_version,"onUpdate:modelValue":e[2]||(e[2]=a=>l(t).config.interface_version=a)},{default:i(()=>[o(p,{value:"v3"},{default:i(()=>[...e[16]||(e[16]=[u("V3",-1)])]),_:1})]),_:1},8,["modelValue"]),e[17]||(e[17]=n("div",{class:"form-tips"},"暂时只支持V3版本",-1))])]),_:1}),o(s,{label:"商户类型",prop:"config.merchant_type"},{default:i(()=>[n("div",null,[o(g,{modelValue:l(t).config.merchant_type,"onUpdate:modelValue":e[3]||(e[3]=a=>l(t).config.merchant_type=a)},{default:i(()=>[o(p,{value:"ordinary_merchant"},{default:i(()=>[...e[18]||(e[18]=[u("普通商户",-1)])]),_:1})]),_:1},8,["modelValue"]),e[19]||(e[19]=n("div",{class:"form-tips"}," 暂时只支持普通商户类型,服务商户类型模式暂不支持 ",-1))])]),_:1}),o(s,{label:"微信支付商户号",prop:"config.mch_id"},{default:i(()=>[n("div",null,[o(r,{modelValue:l(t).config.mch_id,"onUpdate:modelValue":e[4]||(e[4]=a=>l(t).config.mch_id=a),placeholder:"请输入微信支付商户号",style:{"max-width":"250px"}},null,8,["modelValue"]),e[20]||(e[20]=n("div",{class:"form-tips"},"微信支付商户号(MCHID)",-1))])]),_:1}),o(s,{label:"商户API密钥",prop:"config.pay_sign_key"},{default:i(()=>[n("div",null,[o(r,{modelValue:l(t).config.pay_sign_key,"onUpdate:modelValue":e[5]||(e[5]=a=>l(t).config.pay_sign_key=a),placeholder:"请输入微信支付商户API密钥",style:{"max-width":"250px"}},null,8,["modelValue"]),e[21]||(e[21]=n("div",{class:"form-tips"},"微信支付商户API密钥(paySignKey)",-1))])]),_:1}),o(s,{label:"微信支付证书",prop:"config.apiclient_cert"},{default:i(()=>[n("div",null,[o(r,{type:"textarea",rows:3,modelValue:l(t).config.apiclient_cert,"onUpdate:modelValue":e[6]||(e[6]=a=>l(t).config.apiclient_cert=a),placeholder:"请输入微信支付证书",style:{"max-width":"400px"}},null,8,["modelValue"]),e[22]||(e[22]=n("div",{class:"form-tips"}," 微信支付证书(apiclient_cert.pem),前往微信商家平台生成并黏贴至此处 ",-1))])]),_:1}),o(s,{label:"微信支付证书密钥",prop:"config.apiclient_key"},{default:i(()=>[n("div",null,[o(r,{type:"textarea",rows:3,modelValue:l(t).config.apiclient_key,"onUpdate:modelValue":e[7]||(e[7]=a=>l(t).config.apiclient_key=a),placeholder:"请输入微信支付证书密钥",style:{"max-width":"400px"}},null,8,["modelValue"]),e[23]||(e[23]=n("div",{class:"form-tips"}," 微信支付证书密钥(apiclient_key.pem),前往微信商家平台生成并黏贴至此处 ",-1))])]),_:1}),o(s,{label:"支付授权目录"},{default:i(()=>[...e[24]||(e[24]=[n("div",null,[n("div",null,[n("span",{class:"mr-[20px]"},"https://前台手机域名地址/")])],-1)])]),_:1})],64)):k("",!0),l(t).pay_way==3?(y(),V(b,{key:1},[o(s,{label:"模式",prop:"config.mode"},{default:i(()=>[n("div",null,[o(g,{modelValue:l(t).config.mode,"onUpdate:modelValue":e[8]||(e[8]=a=>l(t).config.mode=a)},{default:i(()=>[o(p,{value:"normal_mode"},{default:i(()=>[...e[25]||(e[25]=[u("普通模式",-1)])]),_:1})]),_:1},8,["modelValue"]),e[26]||(e[26]=n("div",{class:"form-tips"},"暂时仅支持支付宝普通模式",-1))])]),_:1}),o(s,{label:"商户类型",prop:"config.merchant_type"},{default:i(()=>[n("div",null,[o(g,{modelValue:l(t).config.merchant_type,"onUpdate:modelValue":e[9]||(e[9]=a=>l(t).config.merchant_type=a)},{default:i(()=>[o(p,{value:"ordinary_merchant"},{default:i(()=>[...e[27]||(e[27]=[u("普通商户",-1)])]),_:1})]),_:1},8,["modelValue"]),e[28]||(e[28]=n("div",{class:"form-tips"}," 暂时只支持普通商户类型,服务商户类型模式暂不支持 ",-1))])]),_:1}),o(s,{label:"应用ID",prop:"config.app_id"},{default:i(()=>[n("div",pe,[o(r,{modelValue:l(t).config.app_id,"onUpdate:modelValue":e[10]||(e[10]=a=>l(t).config.app_id=a),placeholder:"请输入支付宝应用ID",style:{"max-width":"250px"}},null,8,["modelValue"]),e[29]||(e[29]=n("div",{class:"form-tips"},"支付宝应用APP_ID",-1))])]),_:1}),o(s,{label:"应用私钥",prop:"config.private_key"},{default:i(()=>[n("div",ue,[o(r,{type:"textarea",rows:3,modelValue:l(t).config.private_key,"onUpdate:modelValue":e[11]||(e[11]=a=>l(t).config.private_key=a),placeholder:"请输入支付宝应用私钥",style:{"max-width":"400px"}},null,8,["modelValue"]),e[30]||(e[30]=n("div",{class:"form-tips"},"支付宝应用私钥(private_key)",-1))])]),_:1}),o(s,{label:"支付宝公钥",prop:"config.ali_public_key"},{default:i(()=>[n("div",me,[o(r,{type:"textarea",rows:3,modelValue:l(t).config.ali_public_key,"onUpdate:modelValue":e[12]||(e[12]=a=>l(t).config.ali_public_key=a),placeholder:"请输入支付宝公钥",style:{"max-width":"400px"}},null,8,["modelValue"]),e[31]||(e[31]=n("div",{class:"form-tips"},"支付宝公钥(alipayCertPublicKey)",-1))])]),_:1})],64)):k("",!0),o(s,{label:"排序",prop:"sort"},{default:i(()=>[n("div",null,[o(S,{modelValue:l(t).sort,"onUpdate:modelValue":e[13]||(e[13]=a=>l(t).sort=a),min:0,max:9999},null,8,["modelValue"]),e[32]||(e[32]=n("div",{class:"form-tips"},"默认为0, 数值越大越排前",-1))])]),_:1}),o(s,null,{default:i(()=>[o(K,{type:"primary",loading:l(N),onClick:l(A)},{default:i(()=>[...e[33]||(e[33]=[u("保存",-1)])]),_:1},8,["loading","onClick"])]),_:1})]),_:1},8,["model"])])),[[T,l(c)]])]),_:1},8,["modelValue","title"])}}}),Pe=de(fe,[["__scopeId","data-v-65ce6610"]]);export{Pe as default}; diff --git a/server/public/admin/assets/edit-DSANIFY1.js b/server/public/admin/assets/edit-DxLWCQnV.js similarity index 96% rename from server/public/admin/assets/edit-DSANIFY1.js rename to server/public/admin/assets/edit-DxLWCQnV.js index 6e249685..847df6bc 100644 --- a/server/public/admin/assets/edit-DSANIFY1.js +++ b/server/public/admin/assets/edit-DxLWCQnV.js @@ -1 +1 @@ -import{o as pl,R as ze,M as p,q as i,r as f,v as o,D as t,Y as _l,C as Be,u as l,X as ml,b9 as fl,s as G,bD as cl,L as u,O as r,bh as vl,F as b,T as y,P,b6 as gl,b7 as bl,c7 as yl,c8 as Vl,bc as kl,bf as hl,J as wl,bm as xl,bn as Ul,G as U,I as El,bp as Pl,cz as Ol,cW as Rl,bb as Nl,bB as Dl,K as Il,br as Cl,B as zl,p as J,E as se}from"./.pnpm-9dA1PEvN.js";import{T as Bl,a5 as Fe,a7 as Fl,a4 as Te,a8 as Tl,a6 as Ll}from"./tcm-DOD9_1Um.js";import{e as Sl,u as $l,m as h,_ as Ml}from"./index-CJvXnF8Y.js";import{h as I}from"./perm-BLNmf25V.js";import ql from"./DailyMatrix-_4SdP1CQ.js";import Yl from"./CaseRecordList-BdOS8uCk.js";import Al from"./CallRecordPanel-B5TNiiYq.js";import Gl from"./ImChatRecordPanel-Dupe02qF.js";import Jl from"./AssignLogPanel-7M3l9W5C.js";import Xl from"./AppointmentRecordPanel-DxULo4tR.js";import Hl from"./NoteTimeline-BiPgEoRT.js";/* empty css */import Kl from"./PatientOrderList-CbJRHf8i.js";import Wl from"./index-D33qlDjf.js";import{g as jl}from"./patient-CwTOvUDt.js";import"./picker-DWQ_BAep.js";import"./index-BBemoNXE.js";import"./index-CY1mb9yY.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-CAGpCz28.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";import"./DiagnosisTodoList-wLDuYeQL.js";import"./blood-thresholds-CJ1fqMjh.js";import"./RecordingPlaybackBlock-C4Gpp-2c.js";import"./RecordingVideoPlayer-BFQjIPtM.js";import"./dayjs-BsOAYQJw.js";import"./im-business-message-parse-DmDISFGN.js";import"./doctor-Bmtf1eZE.js";import"./PrescriptionOrderDetailDrawer-66DcVm3d.js";import"./prescription-order-utils-B0fYlULc.js";import"./index-BANIMLkY.js";import"./medicine-CQDW2OUZ.js";import"./diabetes-discovery-display-B_wmGXQJ.js";const Ql={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"},da={key:0,class:"tcm-dd-header__sep"},ia=["disabled"],na=["disabled"],sa={key:0,class:"text-xs text-gray-400 mt-1"},ua={key:0,class:"text-xs text-gray-400 mt-1"},ra={key:0,class:"p-4"},pa={key:0,class:"bingli-tab-content"},_a={class:"tcm-dd-footer"},ma=pl({__name:"edit",emits:["success"],setup(fa,{expose:Le,emit:Se}){const $e=Se;Sl();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"])),ue=J(()=>I(["tcm.diagnosis/dailyRecord"])),te=p(!1),oe=p(!0),X=p(null),z=J(()=>O.value?!1:R.value==="add"?!0:oe.value),qe=J(()=>R.value!=="edit"?!1:z.value?!C.value:!0),S=p(!1),Ye=J(()=>R.value!=="edit"||!w.value?!1:z.value?!C.value:!0),Ae=J(()=>z.value?R.value==="add"||!w.value?!0:C.value:!1),$=p(!1),V=p("basic"),Ge=J(()=>O.value?"诊单详情":R.value==="add"?"新增诊单":"编辑诊单"),de=p([]),re=async()=>{if(a.value.id)try{de.value=await jl({diagnosis_id:Number(a.value.id)})||[]}catch{de.value=[]}},pe=p([]),Je=async()=>{if(a.value.id)try{pe.value=await Bl({diagnosis_id:Number(a.value.id)})||[]}catch{pe.value=[]}};ze(()=>V.value,async n=>{n==="doctorNote"&&a.value.id&&await re(),n==="trackingNote"&&a.value.id&&await Je()}),ze([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"&&!ue.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:""}),Xe=[{value:"",label:"未设置"},{value:"admin",label:"后台建档"},{value:"mnp",label:"小程序完整建档"},{value:"mnp_daily",label:"小程序手机号快捷建档"}],N=p(""),w=p(""),ie=p(!1),ne=p(!1),W=n=>!n||n.length<11?n:n.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),He=()=>{N.value&&(S.value=!S.value)},Ke=()=>{w.value&&($.value=!$.value)},j=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),We=()=>{if(ie.value=!0,!!N.value){if(C.value){a.value.phone=N.value;return}R.value==="add"&&(a.value.phone=N.value)}},je=async()=>{if(ie.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 Fe({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 Fe({phone:a.value.phone,id:a.value.id||""});n.exists&&se.warning(n.message)}catch(n){console.error("检查手机号失败:",n)}a.value.phone=W(a.value.phone)}},Qe=()=>{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)),m=parseInt(e.substring(10,12)),Y=parseInt(e.substring(12,14)),v=new Date;let s=v.getFullYear()-c;(v.getMonth()+1{const m=w.value||e;if(!m){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(m)){c(new Error("身份证号格式不正确"));return}c()},trigger:"blur"}],phone:[{required:!0,validator:(n,e,c)=>{const m=N.value||e;if(!m){c(new Error("请输入手机号"));return}if(!/^1[3-9]\d{9}$/.test(m)){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"}]},_e=p([]),ll=p([]),al=p([]),me=p([]),fe=p([]),ce=p([]),ve=p([]),ge=p([]),be=p([]),ye=p([]),Ve=p([]),ke=p([]),he=p([]),we=p([]),xe=p([]),Ue=p([]),Ee=p([]),Pe=p([]),Oe=async()=>{try{const[n,e,c,m,Y,v,s,_,g,M,D,B,F,A,H,K,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"})]);_e.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)||[],me.value=(m==null?void 0:m.past_history)||[],fe.value=(Y==null?void 0:Y.appetite)||[],ce.value=(v==null?void 0:v.water_intake)||[],ve.value=(s==null?void 0:s.diet_condition)||[],ge.value=(_==null?void 0:_.weight_change)||[],be.value=(g==null?void 0:g.body_feeling)||[],ye.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=(A==null?void 0:A.skin_condition)||[],xe.value=(H==null?void 0:H.urine_condition)||[],Ue.value=(K==null?void 0:K.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 Te({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,X.value=e.latest_prescription_order??null,e.phone=C.value?e.phone||"":W(e.phone||""),e.id_card=C.value?e.id_card||"":j(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,X.value=null},tl=async(n,e)=>{var c;if(O.value=!1,R.value=n,L.value=!0,V.value="basic",S.value=!1,$.value=!1,Ne(),await Oe(),n==="edit"&&e)await Re(e);else if(n==="add"){const m=$l();a.value.assistant_id=((c=m.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",S.value=!1,$.value=!1,Ne(),await Oe(),await Re(n))},dl=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 Fl(e);if(c&&c.id){R.value="edit",S.value=!1,$.value=!1,a.value.id=c.id;try{const m=await Te({id:c.id});a.value.patient_id=m.patient_id,N.value=m.phone||"",w.value=m.id_card||"",a.value.phone=C.value?m.phone||"":W(m.phone||""),a.value.id_card=C.value?m.id_card||"":j(m.id_card||"")}catch(m){console.error("获取详情失败:",m)}}}else await Tl(e);$e("success")}catch(e){console.error("提交失败:",e)}finally{ae.value=!1}}},il=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="",ie.value=!1,ne.value=!1,S.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=Cl,m=cl,Y=vl,v=bl,s=gl,_=Vl,g=yl,M=hl,D=kl,B=wl,F=Ul,A=xl,H=El,K=Pl,k=Rl,x=Ol,E=Nl,sl=fl,T=ml,q=Dl,ul=_l,Ie=Il,rl=zl;return i(),f("div",Ql,[o(rl,{modelValue:l(L),"onUpdate:modelValue":e[46]||(e[46]=d=>Be(L)?L.value=d: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,y(l(Ge)),1),l(O)?(i(),r(c,{key:0,type:"info",effect:"plain",round:"",size:"small",class:"tcm-dd-header__badge"},{default:t(()=>[...e[47]||(e[47]=[u(" 只读 ",-1)])]),_:1})):l(R)==="add"?(i(),r(c,{key:1,type:"success",effect:"plain",round:"",size:"small",class:"tcm-dd-header__badge"},{default:t(()=>[...e[48]||(e[48]=[u(" 新建 ",-1)])]),_:1})):(i(),r(c,{key:2,type:"warning",effect:"plain",round:"",size:"small",class:"tcm-dd-header__badge"},{default:t(()=>[...e[49]||(e[49]=[u(" 编辑 ",-1)])]),_:1}))]),l(a).patient_name||l(a).id?(i(),f("p",aa,[l(a).patient_name?(i(),f("span",ta,y(l(a).patient_name),1)):P("",!0),l(a).id?(i(),f("span",oa,[l(a).patient_name?(i(),f("span",da,"·")):P("",!0),u(" 诊单 "+y(l(a).patient_id||l(a).id),1)])):P("",!0)])):P("",!0)])]),footer:t(()=>[G("div",_a,[o(Ie,{class:"tcm-dd-footer__btn",onClick:De},{default:t(()=>[u(y(l(O)?"关闭":"取消"),1)]),_:1}),!l(O)&&l(V)==="basic"?(i(),r(Ie,{key:0,class:"tcm-dd-footer__btn",type:"primary",onClick:dl,loading:l(ae)},{default:t(()=>[...e[78]||(e[78]=[u(" 保存病历 ",-1)])]),_:1},8,["loading"])):P("",!0)])]),default:t(()=>[o(ul,{modelValue:l(V),"onUpdate:modelValue":e[44]||(e[44]=d=>Be(V)?V.value=d:null),class:"diagnosis-tabs tcm-diagnosis-tabs"},{default:t(()=>[o(T,{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(m,{"content-position":"left"},{default:t(()=>[...e[50]||(e[50]=[u("基本信息",-1)])]),_:1}),l(R)==="edit"&&l(te)&&!l(z)?(i(),r(Y,{key:0,type:"warning",closable:!1,"show-icon":"",class:"mb-3"},{default:t(()=>[l(X)?(i(),f(b,{key:0},[u(" 最近业务订单 #"+y(l(X).id)+" 状态为「"+y(l(X).fulfillment_status_text)+"」,患者基本信息不可修改 ",1)],64)):(i(),f(b,{key:1},[u(" 存在未完成的业务订单,患者基本信息不可修改 ")],64))]),_:1})):P("",!0),o(s,{label:"诊单ID"},{default:t(()=>[o(v,{modelValue:l(a).patient_id,"onUpdate:modelValue":e[0]||(e[0]=d=>l(a).patient_id=d),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(_,{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]=d=>l(a).patient_name=d),placeholder:"请输入姓名",disabled:!l(z)},null,8,["modelValue","disabled"])]),_:1})]),_:1}),o(_,{span:12},{default:t(()=>[o(s,{label:"身份证号",prop:"id_card"},{default:t(()=>[l(Ye)?(i(),f(b,{key:0},[o(v,{"model-value":l($)?l(w)||"":j(l(w)||""),readonly:"",placeholder:"点击可查看完整身份证号",maxlength:"18",class:"cursor-pointer phone-mask-toggle",onClick:Ke},null,8,["model-value"]),l(w)&&!l($)?(i(),f("p",sa," 当前为脱敏显示,点击输入框可查看完整号码 ")):P("",!0)],64)):(i(),r(v,{key:1,modelValue:l(a).id_card,"onUpdate:modelValue":e[2]||(e[2]=d=>l(a).id_card=d),placeholder:"请输入身份证号",maxlength:"18",disabled:!l(Ae),onFocus:Qe,onBlur:Ze},null,8,["modelValue","disabled"]))]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(_,{span:12},{default:t(()=>[o(s,{label:"手机号",prop:"phone"},{default:t(()=>[l(qe)?(i(),f(b,{key:0},[o(v,{"model-value":l(S)?l(N)||"":W(l(N)||""),readonly:"",placeholder:"点击可查看完整手机号",maxlength:"11",class:"cursor-pointer phone-mask-toggle",onClick:He},null,8,["model-value"]),l(N)&&!l(S)?(i(),f("p",ua," 当前为脱敏显示,点击输入框可查看完整号码 ")):P("",!0)],64)):(i(),r(v,{key:1,modelValue:l(a).phone,"onUpdate:modelValue":e[3]||(e[3]=d=>l(a).phone=d),placeholder:"请输入手机号",maxlength:"11",disabled:!l(z),onFocus:We,onBlur:je},null,8,["modelValue","disabled"]))]),_:1})]),_:1}),o(_,{span:12},{default:t(()=>[o(s,{label:"性别",prop:"gender"},{default:t(()=>[o(D,{modelValue:l(a).gender,"onUpdate:modelValue":e[4]||(e[4]=d=>l(a).gender=d),disabled:!l(z)},{default:t(()=>[o(M,{label:1},{default:t(()=>[...e[51]||(e[51]=[u("男",-1)])]),_:1}),o(M,{label:0},{default:t(()=>[...e[52]||(e[52]=[u("女",-1)])]),_:1})]),_:1},8,["modelValue","disabled"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(_,{span:12},{default:t(()=>[o(s,{label:"年龄",prop:"age"},{default:t(()=>[o(B,{modelValue:l(a).age,"onUpdate:modelValue":e[5]||(e[5]=d=>l(a).age=d),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(m,{"content-position":"left"},{default:t(()=>[...e[53]||(e[53]=[u("生命体征",-1)])]),_:1}),o(g,{gutter:20},{default:t(()=>[o(_,{span:8},{default:t(()=>[o(s,{label:"婚姻状态",prop:"marital_status"},{default:t(()=>[o(A,{modelValue:l(a).marital_status,"onUpdate:modelValue":e[6]||(e[6]=d=>l(a).marital_status=d),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(_,{span:8},{default:t(()=>[o(s,{label:"就诊人身高(cm)",prop:"height"},{default:t(()=>[o(B,{modelValue:l(a).height,"onUpdate:modelValue":e[7]||(e[7]=d=>l(a).height=d),min:0,max:300,placeholder:"请输入身高",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(_,{span:8},{default:t(()=>[o(s,{label:"体重(kg)",prop:"weight"},{default:t(()=>[o(B,{modelValue:l(a).weight,"onUpdate:modelValue":e[8]||(e[8]=d=>l(a).weight=d),min:0,max:500,step:.1,placeholder:"请输入体重",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(_,{span:8},{default:t(()=>[o(s,{label:"地区",prop:"region"},{default:t(()=>[o(v,{modelValue:l(a).region,"onUpdate:modelValue":e[9]||(e[9]=d=>l(a).region=d),placeholder:"请输入地区"},null,8,["modelValue"])]),_:1})]),_:1}),o(_,{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]=d=>l(a).systolic_pressure=d),min:0,max:250,placeholder:"请输入高压",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(_,{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]=d=>l(a).diastolic_pressure=d),min:0,max:150,placeholder:"请输入低压",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(_,{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]=d=>l(a).fasting_blood_sugar=d),placeholder:"请输入空腹血糖,如:8.5 或 8-9",maxlength:"20",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(_,{span:12},{default:t(()=>[o(s,{label:"诊断类型",prop:"diagnosis_type"},{default:t(()=>[o(A,{modelValue:l(a).diagnosis_type,"onUpdate:modelValue":e[13]||(e[13]=d=>l(a).diagnosis_type=d),placeholder:"请选择诊断类型",class:"w-full","popper-options":{strategy:"fixed"},"popper-class":"high-z-index"},{default:t(()=>[(i(!0),f(b,null,U(l(_e),d=>(i(),r(F,{key:d.value,label:d.name,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(_,{span:12},{default:t(()=>[o(s,{label:"状态",prop:"status"},{default:t(()=>[o(D,{modelValue:l(a).status,"onUpdate:modelValue":e[14]||(e[14]=d=>l(a).status=d)},{default:t(()=>[o(M,{label:1},{default:t(()=>[...e[54]||(e[54]=[u("启用",-1)])]),_:1}),o(M,{label:0},{default:t(()=>[...e[55]||(e[55]=[u("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(_,{span:12},{default:t(()=>[o(s,{label:"渠道来源",prop:"create_source"},{default:t(()=>[o(A,{modelValue:l(a).create_source,"onUpdate:modelValue":e[15]||(e[15]=d=>l(a).create_source=d),placeholder:"请选择渠道来源",class:"w-full","popper-options":{strategy:"fixed"},"popper-class":"high-z-index"},{default:t(()=>[(i(),f(b,null,U(Xe,d=>o(F,{key:d.value,label:d.label,value:d.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(_,{span:12},{default:t(()=>[o(s,{label:"统计端就诊卡",prop:"show_card"},{default:t(()=>[o(H,{modelValue:l(a).show_card,"onUpdate:modelValue":e[16]||(e[16]=d=>l(a).show_card=d),"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(_,{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]=d=>l(a).current_medications=d),type:"textarea",rows:3,placeholder:"请填写患者当前正在使用的药物(如降压药、降糖药等),多种请换行或顿号分隔",maxlength:"2000","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(m,{"content-position":"left"},{default:t(()=>[...e[57]||(e[57]=[u("主诉",-1)])]),_:1}),o(g,{gutter:20},{default:t(()=>[o(_,{span:12},{default:t(()=>[o(s,{label:"当地医院诊断日期",prop:"diagnosis_date"},{default:t(()=>[o(K,{modelValue:l(a).diagnosis_date,"onUpdate:modelValue":e[18]||(e[18]=d=>l(a).diagnosis_date=d),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(_,{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]=d=>l(a).diabetes_discovery_year=d),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]=d=>l(a).local_hospital_diagnosis=d)},{default:t(()=>[o(k,{label:"糖尿病"},{default:t(()=>[...e[58]||(e[58]=[u("糖尿病",-1)])]),_:1}),o(k,{label:"消渴病"},{default:t(()=>[...e[59]||(e[59]=[u("消渴病",-1)])]),_:1}),o(k,{label:"糖尿病前期"},{default:t(()=>[...e[60]||(e[60]=[u("糖尿病前期",-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]=d=>l(a).local_hospital_name=d),placeholder:"请输入当地就诊医院名称(不能填写当地、本地、互联网等关键词)"},null,8,["modelValue"])]),_:1}),o(m,{"content-position":"left"},{default:t(()=>[...e[61]||(e[61]=[u("现病史",-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]=d=>l(a).appetite=d)},{default:t(()=>[(i(!0),f(b,null,U(l(fe),d=>(i(),r(k,{key:d.value,label:d.value},{default:t(()=>[u(y(d.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(_,{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]=d=>l(a).water_intake=d)},{default:t(()=>[o(E,{label:""},{default:t(()=>[...e[62]||(e[62]=[u("无",-1)])]),_:1}),(i(!0),f(b,null,U(l(ce),d=>(i(),r(E,{key:d.value,label:d.value},{default:t(()=>[u(y(d.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(_,{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]=d=>l(a).weight_change=d)},{default:t(()=>[o(E,{label:""},{default:t(()=>[...e[63]||(e[63]=[u("无",-1)])]),_:1}),(i(!0),f(b,null,U(l(ge),d=>(i(),r(E,{key:d.value,label:d.value},{default:t(()=>[u(y(d.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(_,{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]=d=>l(a).fatty_liver_degree=d)},{default:t(()=>[o(E,{label:""},{default:t(()=>[...e[64]||(e[64]=[u("无",-1)])]),_:1}),(i(!0),f(b,null,U(l(Pe),d=>(i(),r(E,{key:d.value,label:d.value},{default:t(()=>[u(y(d.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]=d=>l(a).diet_condition=d)},{default:t(()=>[(i(!0),f(b,null,U(l(ve),d=>(i(),r(k,{key:d.value,label:d.value},{default:t(()=>[u(y(d.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]=d=>l(a).body_feeling=d)},{default:t(()=>[(i(!0),f(b,null,U(l(be),d=>(i(),r(k,{key:d.value,label:d.value},{default:t(()=>[u(y(d.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]=d=>l(a).sleep_condition=d)},{default:t(()=>[(i(!0),f(b,null,U(l(ye),d=>(i(),r(k,{key:d.value,label:d.value},{default:t(()=>[u(y(d.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]=d=>l(a).eye_condition=d)},{default:t(()=>[(i(!0),f(b,null,U(l(Ve),d=>(i(),r(k,{key:d.value,label:d.value},{default:t(()=>[u(y(d.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]=d=>l(a).head_feeling=d)},{default:t(()=>[(i(!0),f(b,null,U(l(ke),d=>(i(),r(k,{key:d.value,label:d.value},{default:t(()=>[u(y(d.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]=d=>l(a).sweat_condition=d)},{default:t(()=>[(i(!0),f(b,null,U(l(he),d=>(i(),r(k,{key:d.value,label:d.value},{default:t(()=>[u(y(d.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]=d=>l(a).skin_condition=d)},{default:t(()=>[(i(!0),f(b,null,U(l(we),d=>(i(),r(k,{key:d.value,label:d.value},{default:t(()=>[u(y(d.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]=d=>l(a).urine_condition=d)},{default:t(()=>[(i(!0),f(b,null,U(l(xe),d=>(i(),r(k,{key:d.value,label:d.value},{default:t(()=>[u(y(d.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]=d=>l(a).stool_condition=d)},{default:t(()=>[(i(!0),f(b,null,U(l(Ue),d=>(i(),r(k,{key:d.value,label:d.value},{default:t(()=>[u(y(d.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]=d=>l(a).kidney_condition=d)},{default:t(()=>[(i(!0),f(b,null,U(l(Ee),d=>(i(),r(k,{key:d.value,label:d.value},{default:t(()=>[u(y(d.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]=d=>l(a).symptoms=d),type:"textarea",rows:3,placeholder:"请输入症状"},null,8,["modelValue"])]),_:1}),o(m,{"content-position":"left"},{default:t(()=>[...e[65]||(e[65]=[u("既往史",-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]=d=>l(a).past_history=d)},{default:t(()=>[(i(!0),f(b,null,U(l(me),d=>(i(),r(k,{key:d.value,label:d.value},{default:t(()=>[u(y(d.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(m,{"content-position":"left"},{default:t(()=>[...e[66]||(e[66]=[u("其他病史",-1)])]),_:1}),o(g,{gutter:20},{default:t(()=>[o(_,{span:8},{default:t(()=>[o(s,{label:"外伤史"},{default:t(()=>[o(D,{modelValue:l(a).trauma_history,"onUpdate:modelValue":e[38]||(e[38]=d=>l(a).trauma_history=d)},{default:t(()=>[o(E,{label:1},{default:t(()=>[...e[67]||(e[67]=[u("有",-1)])]),_:1}),o(E,{label:0},{default:t(()=>[...e[68]||(e[68]=[u("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(_,{span:8},{default:t(()=>[o(s,{label:"手术史"},{default:t(()=>[o(D,{modelValue:l(a).surgery_history,"onUpdate:modelValue":e[39]||(e[39]=d=>l(a).surgery_history=d)},{default:t(()=>[o(E,{label:1},{default:t(()=>[...e[69]||(e[69]=[u("有",-1)])]),_:1}),o(E,{label:0},{default:t(()=>[...e[70]||(e[70]=[u("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(_,{span:8},{default:t(()=>[o(s,{label:"过敏史"},{default:t(()=>[o(D,{modelValue:l(a).allergy_history,"onUpdate:modelValue":e[40]||(e[40]=d=>l(a).allergy_history=d)},{default:t(()=>[o(E,{label:1},{default:t(()=>[...e[71]||(e[71]=[u("有",-1)])]),_:1}),o(E,{label:0},{default:t(()=>[...e[72]||(e[72]=[u("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(_,{span:12},{default:t(()=>[o(s,{label:"家族病史"},{default:t(()=>[o(D,{modelValue:l(a).family_history,"onUpdate:modelValue":e[41]||(e[41]=d=>l(a).family_history=d)},{default:t(()=>[o(E,{label:1},{default:t(()=>[...e[73]||(e[73]=[u("有",-1)])]),_:1}),o(E,{label:0},{default:t(()=>[...e[74]||(e[74]=[u("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(_,{span:12},{default:t(()=>[o(s,{label:"妊娠哺乳史"},{default:t(()=>[o(D,{modelValue:l(a).pregnancy_history,"onUpdate:modelValue":e[42]||(e[42]=d=>l(a).pregnancy_history=d)},{default:t(()=>[o(E,{label:1},{default:t(()=>[...e[75]||(e[75]=[u("有",-1)])]),_:1}),o(E,{label:0},{default:t(()=>[...e[76]||(e[76]=[u("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(m,{"content-position":"left"},{default:t(()=>[...e[77]||(e[77]=[u("诊断信息",-1)])]),_:1}),o(s,{label:"病史补充",prop:"remark"},{default:t(()=>[o(v,{modelValue:l(a).remark,"onUpdate:modelValue":e[43]||(e[43]=d=>l(a).remark=d),type:"textarea",rows:2,placeholder:"请输入病史补充"},null,8,["modelValue"])]),_:1})],8,ia)]),_:1},8,["model"])]),_:1}),o(T,{label:"医生备注",name:"doctorNote",disabled:!l(a).id,lazy:""},{default:t(()=>[l(a).id?(i(),f("div",ra,[o(Hl,{notes:l(de),"diagnosis-id":Number(l(a).id),readonly:l(O),onRefresh:re},null,8,["notes","diagnosis-id","readonly"])])):(i(),r(q,{key:1,description:"请先保存诊单后查看"}))]),_:1},8,["disabled"]),l(ue)?(i(),r(T,{key:0,label:"日常记录",name:"daily",disabled:!l(a).id,lazy:""},{default:t(()=>[l(a).id?(i(),r(ql,{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"])):(i(),r(q,{key:1,description:"请先保存诊单后查看"}))]),_:1},8,["disabled"])):P("",!0),l(I)(["tcm.diagnosis/chufang"])?(i(),r(T,{key:1,label:"处方",name:"bingli",disabled:!l(a).id},{default:t(()=>[l(a).id?(i(),f("div",pa,[o(Yl,{ref_key:"caseRecordListRef",ref:Z,"diagnosis-id":Number(l(a).id),"read-only":l(O),onView:il,onOpenPrescription:nl},null,8,["diagnosis-id","read-only"])])):(i(),r(q,{key:1,description:"请先保存诊单,开方后病历将在此显示"}))]),_:1},8,["disabled"])):P("",!0),l(I)(["tcm.diagnosis/patientOrders"])?(i(),r(T,{key:2,label:"业务订单",name:"patientOrders",disabled:!l(a).id,lazy:""},{default:t(()=>[l(a).id?(i(),r(Kl,{key:0,"diagnosis-id":Number(l(a).id),"patient-id":Number(l(a).patient_id)||0},null,8,["diagnosis-id","patient-id"])):(i(),r(q,{key:1,description:"请先保存诊单后查看业务订单"}))]),_:1},8,["disabled"])):P("",!0),l(I)(["tcm.diagnosis/huifang"])?(i(),r(T,{key:3,label:"视频录制回放记录",name:"visit",disabled:!l(a).id,lazy:""},{default:t(()=>[l(a).id?(i(),r(Al,{key:0,ref_key:"callRecordPanelRef",ref:Me,"diagnosis-id":Number(l(a).id)},null,8,["diagnosis-id"])):(i(),r(q,{key:1,description:"请先保存诊单后再查看视频录制回放记录"}))]),_:1},8,["disabled"])):P("",!0),l(I)(["tcm.diagnosis/chat"])?(i(),r(T,{key:4,label:"聊天记录",name:"chat",disabled:!l(a).id,lazy:""},{default:t(()=>[l(V)==="chat"&&l(a).id?(i(),r(Gl,{key:0,"diagnosis-id":Number(l(a).id)},null,8,["diagnosis-id"])):l(a).id?P("",!0):(i(),r(q,{key:1,description:"请先保存诊单后再查看聊天记录"}))]),_:1},8,["disabled"])):P("",!0),l(I)(["tcm.diagnosis/assign"])||l(I)(["tcm.diagnosis/detail"])?(i(),r(T,{key:5,label:"指派医助记录",name:"assignLog",disabled:!l(a).id,lazy:""},{default:t(()=>[l(a).id?(i(),r(Jl,{key:0,"diagnosis-id":Number(l(a).id)},null,8,["diagnosis-id"])):(i(),r(q,{key:1,description:"请先保存诊单后再查看指派记录"}))]),_:1},8,["disabled"])):P("",!0),l(I)(["doctor.appointment/lists"])?(i(),r(T,{key:6,label:"挂号记录",name:"appointmentRecords",disabled:!l(a).id,lazy:""},{default:t(()=>[l(a).id?(i(),r(Xl,{key:0,"diagnosis-id":Number(l(a).id)},null,8,["diagnosis-id"])):(i(),r(q,{key:1,description:"请先保存诊单后再查看挂号记录"}))]),_:1},8,["disabled"])):P("",!0)]),_:1},8,["modelValue"]),o(Wl,{ref_key:"prescriptionRef",ref:ee,onSuccess:e[45]||(e[45]=d=>{var Q,Ce;return(Ce=(Q=l(Z))==null?void 0:Q.refresh)==null?void 0:Ce.call(Q)})},null,512)]),_:1},8,["modelValue","z-index"])])}}}),Za=Ml(ma,[["__scopeId","data-v-6973f1e3"]]);export{Za as default}; +import{o as pl,R as ze,M as p,q as i,r as f,v as o,D as t,Y as _l,C as Be,u as l,X as ml,b9 as fl,s as G,bD as cl,L as u,O as r,bh as vl,F as b,T as y,P,b6 as gl,b7 as bl,c7 as yl,c8 as Vl,bc as kl,bf as hl,J as wl,bm as xl,bn as Ul,G as U,I as El,bp as Pl,cz as Ol,cW as Rl,bb as Nl,bB as Dl,K as Il,br as Cl,B as zl,p as J,E as se}from"./.pnpm-9dA1PEvN.js";import{T as Bl,a5 as Fe,a7 as Fl,a4 as Te,a8 as Tl,a6 as Ll}from"./tcm-Fi_swgCr.js";import{e as Sl,u as $l,m as h,_ as Ml}from"./index-BWzN7QIb.js";import{h as I}from"./perm-BzF8JgcJ.js";import ql from"./DailyMatrix-BOqZMkKS.js";import Yl from"./CaseRecordList-DlCqPijV.js";import Al from"./CallRecordPanel-CJ3iGibG.js";import Gl from"./ImChatRecordPanel-BMjxk7mx.js";import Jl from"./AssignLogPanel-CF42MNq_.js";import Xl from"./AppointmentRecordPanel-DxBIlcME.js";import Hl from"./NoteTimeline-DxUNQs4y.js";/* empty css */import Kl from"./PatientOrderList-CKjXSixL.js";import Wl from"./index-B5cu05RL.js";import{g as jl}from"./patient-Btpwd7dp.js";import"./picker-DfI3CPnQ.js";import"./index-dYaCh-CN.js";import"./index-xDQ_OZln.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-fA0EWEUO.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";import"./DiagnosisTodoList-CAIMA53u.js";import"./blood-thresholds-CJ1fqMjh.js";import"./RecordingPlaybackBlock-CN4w1UI-.js";import"./RecordingVideoPlayer-DIfduEP7.js";import"./dayjs-BsOAYQJw.js";import"./im-business-message-parse-DmDISFGN.js";import"./doctor-Chj6BcVp.js";import"./PrescriptionOrderDetailDrawer-CEi7ZXfx.js";import"./prescription-order-utils-B0fYlULc.js";import"./index-CNLsF7Nt.js";import"./medicine-DezWRkkS.js";import"./diabetes-discovery-display-B_wmGXQJ.js";const Ql={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"},da={key:0,class:"tcm-dd-header__sep"},ia=["disabled"],na=["disabled"],sa={key:0,class:"text-xs text-gray-400 mt-1"},ua={key:0,class:"text-xs text-gray-400 mt-1"},ra={key:0,class:"p-4"},pa={key:0,class:"bingli-tab-content"},_a={class:"tcm-dd-footer"},ma=pl({__name:"edit",emits:["success"],setup(fa,{expose:Le,emit:Se}){const $e=Se;Sl();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"])),ue=J(()=>I(["tcm.diagnosis/dailyRecord"])),te=p(!1),oe=p(!0),X=p(null),z=J(()=>O.value?!1:R.value==="add"?!0:oe.value),qe=J(()=>R.value!=="edit"?!1:z.value?!C.value:!0),S=p(!1),Ye=J(()=>R.value!=="edit"||!w.value?!1:z.value?!C.value:!0),Ae=J(()=>z.value?R.value==="add"||!w.value?!0:C.value:!1),$=p(!1),V=p("basic"),Ge=J(()=>O.value?"诊单详情":R.value==="add"?"新增诊单":"编辑诊单"),de=p([]),re=async()=>{if(a.value.id)try{de.value=await jl({diagnosis_id:Number(a.value.id)})||[]}catch{de.value=[]}},pe=p([]),Je=async()=>{if(a.value.id)try{pe.value=await Bl({diagnosis_id:Number(a.value.id)})||[]}catch{pe.value=[]}};ze(()=>V.value,async n=>{n==="doctorNote"&&a.value.id&&await re(),n==="trackingNote"&&a.value.id&&await Je()}),ze([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"&&!ue.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:""}),Xe=[{value:"",label:"未设置"},{value:"admin",label:"后台建档"},{value:"mnp",label:"小程序完整建档"},{value:"mnp_daily",label:"小程序手机号快捷建档"}],N=p(""),w=p(""),ie=p(!1),ne=p(!1),W=n=>!n||n.length<11?n:n.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),He=()=>{N.value&&(S.value=!S.value)},Ke=()=>{w.value&&($.value=!$.value)},j=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),We=()=>{if(ie.value=!0,!!N.value){if(C.value){a.value.phone=N.value;return}R.value==="add"&&(a.value.phone=N.value)}},je=async()=>{if(ie.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 Fe({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 Fe({phone:a.value.phone,id:a.value.id||""});n.exists&&se.warning(n.message)}catch(n){console.error("检查手机号失败:",n)}a.value.phone=W(a.value.phone)}},Qe=()=>{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)),m=parseInt(e.substring(10,12)),Y=parseInt(e.substring(12,14)),v=new Date;let s=v.getFullYear()-c;(v.getMonth()+1{const m=w.value||e;if(!m){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(m)){c(new Error("身份证号格式不正确"));return}c()},trigger:"blur"}],phone:[{required:!0,validator:(n,e,c)=>{const m=N.value||e;if(!m){c(new Error("请输入手机号"));return}if(!/^1[3-9]\d{9}$/.test(m)){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"}]},_e=p([]),ll=p([]),al=p([]),me=p([]),fe=p([]),ce=p([]),ve=p([]),ge=p([]),be=p([]),ye=p([]),Ve=p([]),ke=p([]),he=p([]),we=p([]),xe=p([]),Ue=p([]),Ee=p([]),Pe=p([]),Oe=async()=>{try{const[n,e,c,m,Y,v,s,_,g,M,D,B,F,A,H,K,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"})]);_e.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)||[],me.value=(m==null?void 0:m.past_history)||[],fe.value=(Y==null?void 0:Y.appetite)||[],ce.value=(v==null?void 0:v.water_intake)||[],ve.value=(s==null?void 0:s.diet_condition)||[],ge.value=(_==null?void 0:_.weight_change)||[],be.value=(g==null?void 0:g.body_feeling)||[],ye.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=(A==null?void 0:A.skin_condition)||[],xe.value=(H==null?void 0:H.urine_condition)||[],Ue.value=(K==null?void 0:K.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 Te({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,X.value=e.latest_prescription_order??null,e.phone=C.value?e.phone||"":W(e.phone||""),e.id_card=C.value?e.id_card||"":j(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,X.value=null},tl=async(n,e)=>{var c;if(O.value=!1,R.value=n,L.value=!0,V.value="basic",S.value=!1,$.value=!1,Ne(),await Oe(),n==="edit"&&e)await Re(e);else if(n==="add"){const m=$l();a.value.assistant_id=((c=m.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",S.value=!1,$.value=!1,Ne(),await Oe(),await Re(n))},dl=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 Fl(e);if(c&&c.id){R.value="edit",S.value=!1,$.value=!1,a.value.id=c.id;try{const m=await Te({id:c.id});a.value.patient_id=m.patient_id,N.value=m.phone||"",w.value=m.id_card||"",a.value.phone=C.value?m.phone||"":W(m.phone||""),a.value.id_card=C.value?m.id_card||"":j(m.id_card||"")}catch(m){console.error("获取详情失败:",m)}}}else await Tl(e);$e("success")}catch(e){console.error("提交失败:",e)}finally{ae.value=!1}}},il=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="",ie.value=!1,ne.value=!1,S.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=Cl,m=cl,Y=vl,v=bl,s=gl,_=Vl,g=yl,M=hl,D=kl,B=wl,F=Ul,A=xl,H=El,K=Pl,k=Rl,x=Ol,E=Nl,sl=fl,T=ml,q=Dl,ul=_l,Ie=Il,rl=zl;return i(),f("div",Ql,[o(rl,{modelValue:l(L),"onUpdate:modelValue":e[46]||(e[46]=d=>Be(L)?L.value=d: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,y(l(Ge)),1),l(O)?(i(),r(c,{key:0,type:"info",effect:"plain",round:"",size:"small",class:"tcm-dd-header__badge"},{default:t(()=>[...e[47]||(e[47]=[u(" 只读 ",-1)])]),_:1})):l(R)==="add"?(i(),r(c,{key:1,type:"success",effect:"plain",round:"",size:"small",class:"tcm-dd-header__badge"},{default:t(()=>[...e[48]||(e[48]=[u(" 新建 ",-1)])]),_:1})):(i(),r(c,{key:2,type:"warning",effect:"plain",round:"",size:"small",class:"tcm-dd-header__badge"},{default:t(()=>[...e[49]||(e[49]=[u(" 编辑 ",-1)])]),_:1}))]),l(a).patient_name||l(a).id?(i(),f("p",aa,[l(a).patient_name?(i(),f("span",ta,y(l(a).patient_name),1)):P("",!0),l(a).id?(i(),f("span",oa,[l(a).patient_name?(i(),f("span",da,"·")):P("",!0),u(" 诊单 "+y(l(a).patient_id||l(a).id),1)])):P("",!0)])):P("",!0)])]),footer:t(()=>[G("div",_a,[o(Ie,{class:"tcm-dd-footer__btn",onClick:De},{default:t(()=>[u(y(l(O)?"关闭":"取消"),1)]),_:1}),!l(O)&&l(V)==="basic"?(i(),r(Ie,{key:0,class:"tcm-dd-footer__btn",type:"primary",onClick:dl,loading:l(ae)},{default:t(()=>[...e[78]||(e[78]=[u(" 保存病历 ",-1)])]),_:1},8,["loading"])):P("",!0)])]),default:t(()=>[o(ul,{modelValue:l(V),"onUpdate:modelValue":e[44]||(e[44]=d=>Be(V)?V.value=d:null),class:"diagnosis-tabs tcm-diagnosis-tabs"},{default:t(()=>[o(T,{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(m,{"content-position":"left"},{default:t(()=>[...e[50]||(e[50]=[u("基本信息",-1)])]),_:1}),l(R)==="edit"&&l(te)&&!l(z)?(i(),r(Y,{key:0,type:"warning",closable:!1,"show-icon":"",class:"mb-3"},{default:t(()=>[l(X)?(i(),f(b,{key:0},[u(" 最近业务订单 #"+y(l(X).id)+" 状态为「"+y(l(X).fulfillment_status_text)+"」,患者基本信息不可修改 ",1)],64)):(i(),f(b,{key:1},[u(" 存在未完成的业务订单,患者基本信息不可修改 ")],64))]),_:1})):P("",!0),o(s,{label:"诊单ID"},{default:t(()=>[o(v,{modelValue:l(a).patient_id,"onUpdate:modelValue":e[0]||(e[0]=d=>l(a).patient_id=d),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(_,{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]=d=>l(a).patient_name=d),placeholder:"请输入姓名",disabled:!l(z)},null,8,["modelValue","disabled"])]),_:1})]),_:1}),o(_,{span:12},{default:t(()=>[o(s,{label:"身份证号",prop:"id_card"},{default:t(()=>[l(Ye)?(i(),f(b,{key:0},[o(v,{"model-value":l($)?l(w)||"":j(l(w)||""),readonly:"",placeholder:"点击可查看完整身份证号",maxlength:"18",class:"cursor-pointer phone-mask-toggle",onClick:Ke},null,8,["model-value"]),l(w)&&!l($)?(i(),f("p",sa," 当前为脱敏显示,点击输入框可查看完整号码 ")):P("",!0)],64)):(i(),r(v,{key:1,modelValue:l(a).id_card,"onUpdate:modelValue":e[2]||(e[2]=d=>l(a).id_card=d),placeholder:"请输入身份证号",maxlength:"18",disabled:!l(Ae),onFocus:Qe,onBlur:Ze},null,8,["modelValue","disabled"]))]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(_,{span:12},{default:t(()=>[o(s,{label:"手机号",prop:"phone"},{default:t(()=>[l(qe)?(i(),f(b,{key:0},[o(v,{"model-value":l(S)?l(N)||"":W(l(N)||""),readonly:"",placeholder:"点击可查看完整手机号",maxlength:"11",class:"cursor-pointer phone-mask-toggle",onClick:He},null,8,["model-value"]),l(N)&&!l(S)?(i(),f("p",ua," 当前为脱敏显示,点击输入框可查看完整号码 ")):P("",!0)],64)):(i(),r(v,{key:1,modelValue:l(a).phone,"onUpdate:modelValue":e[3]||(e[3]=d=>l(a).phone=d),placeholder:"请输入手机号",maxlength:"11",disabled:!l(z),onFocus:We,onBlur:je},null,8,["modelValue","disabled"]))]),_:1})]),_:1}),o(_,{span:12},{default:t(()=>[o(s,{label:"性别",prop:"gender"},{default:t(()=>[o(D,{modelValue:l(a).gender,"onUpdate:modelValue":e[4]||(e[4]=d=>l(a).gender=d),disabled:!l(z)},{default:t(()=>[o(M,{label:1},{default:t(()=>[...e[51]||(e[51]=[u("男",-1)])]),_:1}),o(M,{label:0},{default:t(()=>[...e[52]||(e[52]=[u("女",-1)])]),_:1})]),_:1},8,["modelValue","disabled"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(_,{span:12},{default:t(()=>[o(s,{label:"年龄",prop:"age"},{default:t(()=>[o(B,{modelValue:l(a).age,"onUpdate:modelValue":e[5]||(e[5]=d=>l(a).age=d),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(m,{"content-position":"left"},{default:t(()=>[...e[53]||(e[53]=[u("生命体征",-1)])]),_:1}),o(g,{gutter:20},{default:t(()=>[o(_,{span:8},{default:t(()=>[o(s,{label:"婚姻状态",prop:"marital_status"},{default:t(()=>[o(A,{modelValue:l(a).marital_status,"onUpdate:modelValue":e[6]||(e[6]=d=>l(a).marital_status=d),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(_,{span:8},{default:t(()=>[o(s,{label:"就诊人身高(cm)",prop:"height"},{default:t(()=>[o(B,{modelValue:l(a).height,"onUpdate:modelValue":e[7]||(e[7]=d=>l(a).height=d),min:0,max:300,placeholder:"请输入身高",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(_,{span:8},{default:t(()=>[o(s,{label:"体重(kg)",prop:"weight"},{default:t(()=>[o(B,{modelValue:l(a).weight,"onUpdate:modelValue":e[8]||(e[8]=d=>l(a).weight=d),min:0,max:500,step:.1,placeholder:"请输入体重",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(_,{span:8},{default:t(()=>[o(s,{label:"地区",prop:"region"},{default:t(()=>[o(v,{modelValue:l(a).region,"onUpdate:modelValue":e[9]||(e[9]=d=>l(a).region=d),placeholder:"请输入地区"},null,8,["modelValue"])]),_:1})]),_:1}),o(_,{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]=d=>l(a).systolic_pressure=d),min:0,max:250,placeholder:"请输入高压",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(_,{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]=d=>l(a).diastolic_pressure=d),min:0,max:150,placeholder:"请输入低压",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(_,{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]=d=>l(a).fasting_blood_sugar=d),placeholder:"请输入空腹血糖,如:8.5 或 8-9",maxlength:"20",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(_,{span:12},{default:t(()=>[o(s,{label:"诊断类型",prop:"diagnosis_type"},{default:t(()=>[o(A,{modelValue:l(a).diagnosis_type,"onUpdate:modelValue":e[13]||(e[13]=d=>l(a).diagnosis_type=d),placeholder:"请选择诊断类型",class:"w-full","popper-options":{strategy:"fixed"},"popper-class":"high-z-index"},{default:t(()=>[(i(!0),f(b,null,U(l(_e),d=>(i(),r(F,{key:d.value,label:d.name,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(_,{span:12},{default:t(()=>[o(s,{label:"状态",prop:"status"},{default:t(()=>[o(D,{modelValue:l(a).status,"onUpdate:modelValue":e[14]||(e[14]=d=>l(a).status=d)},{default:t(()=>[o(M,{label:1},{default:t(()=>[...e[54]||(e[54]=[u("启用",-1)])]),_:1}),o(M,{label:0},{default:t(()=>[...e[55]||(e[55]=[u("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(_,{span:12},{default:t(()=>[o(s,{label:"渠道来源",prop:"create_source"},{default:t(()=>[o(A,{modelValue:l(a).create_source,"onUpdate:modelValue":e[15]||(e[15]=d=>l(a).create_source=d),placeholder:"请选择渠道来源",class:"w-full","popper-options":{strategy:"fixed"},"popper-class":"high-z-index"},{default:t(()=>[(i(),f(b,null,U(Xe,d=>o(F,{key:d.value,label:d.label,value:d.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(_,{span:12},{default:t(()=>[o(s,{label:"统计端就诊卡",prop:"show_card"},{default:t(()=>[o(H,{modelValue:l(a).show_card,"onUpdate:modelValue":e[16]||(e[16]=d=>l(a).show_card=d),"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(_,{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]=d=>l(a).current_medications=d),type:"textarea",rows:3,placeholder:"请填写患者当前正在使用的药物(如降压药、降糖药等),多种请换行或顿号分隔",maxlength:"2000","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(m,{"content-position":"left"},{default:t(()=>[...e[57]||(e[57]=[u("主诉",-1)])]),_:1}),o(g,{gutter:20},{default:t(()=>[o(_,{span:12},{default:t(()=>[o(s,{label:"当地医院诊断日期",prop:"diagnosis_date"},{default:t(()=>[o(K,{modelValue:l(a).diagnosis_date,"onUpdate:modelValue":e[18]||(e[18]=d=>l(a).diagnosis_date=d),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(_,{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]=d=>l(a).diabetes_discovery_year=d),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]=d=>l(a).local_hospital_diagnosis=d)},{default:t(()=>[o(k,{label:"糖尿病"},{default:t(()=>[...e[58]||(e[58]=[u("糖尿病",-1)])]),_:1}),o(k,{label:"消渴病"},{default:t(()=>[...e[59]||(e[59]=[u("消渴病",-1)])]),_:1}),o(k,{label:"糖尿病前期"},{default:t(()=>[...e[60]||(e[60]=[u("糖尿病前期",-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]=d=>l(a).local_hospital_name=d),placeholder:"请输入当地就诊医院名称(不能填写当地、本地、互联网等关键词)"},null,8,["modelValue"])]),_:1}),o(m,{"content-position":"left"},{default:t(()=>[...e[61]||(e[61]=[u("现病史",-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]=d=>l(a).appetite=d)},{default:t(()=>[(i(!0),f(b,null,U(l(fe),d=>(i(),r(k,{key:d.value,label:d.value},{default:t(()=>[u(y(d.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(_,{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]=d=>l(a).water_intake=d)},{default:t(()=>[o(E,{label:""},{default:t(()=>[...e[62]||(e[62]=[u("无",-1)])]),_:1}),(i(!0),f(b,null,U(l(ce),d=>(i(),r(E,{key:d.value,label:d.value},{default:t(()=>[u(y(d.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(_,{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]=d=>l(a).weight_change=d)},{default:t(()=>[o(E,{label:""},{default:t(()=>[...e[63]||(e[63]=[u("无",-1)])]),_:1}),(i(!0),f(b,null,U(l(ge),d=>(i(),r(E,{key:d.value,label:d.value},{default:t(()=>[u(y(d.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(_,{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]=d=>l(a).fatty_liver_degree=d)},{default:t(()=>[o(E,{label:""},{default:t(()=>[...e[64]||(e[64]=[u("无",-1)])]),_:1}),(i(!0),f(b,null,U(l(Pe),d=>(i(),r(E,{key:d.value,label:d.value},{default:t(()=>[u(y(d.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]=d=>l(a).diet_condition=d)},{default:t(()=>[(i(!0),f(b,null,U(l(ve),d=>(i(),r(k,{key:d.value,label:d.value},{default:t(()=>[u(y(d.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]=d=>l(a).body_feeling=d)},{default:t(()=>[(i(!0),f(b,null,U(l(be),d=>(i(),r(k,{key:d.value,label:d.value},{default:t(()=>[u(y(d.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]=d=>l(a).sleep_condition=d)},{default:t(()=>[(i(!0),f(b,null,U(l(ye),d=>(i(),r(k,{key:d.value,label:d.value},{default:t(()=>[u(y(d.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]=d=>l(a).eye_condition=d)},{default:t(()=>[(i(!0),f(b,null,U(l(Ve),d=>(i(),r(k,{key:d.value,label:d.value},{default:t(()=>[u(y(d.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]=d=>l(a).head_feeling=d)},{default:t(()=>[(i(!0),f(b,null,U(l(ke),d=>(i(),r(k,{key:d.value,label:d.value},{default:t(()=>[u(y(d.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]=d=>l(a).sweat_condition=d)},{default:t(()=>[(i(!0),f(b,null,U(l(he),d=>(i(),r(k,{key:d.value,label:d.value},{default:t(()=>[u(y(d.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]=d=>l(a).skin_condition=d)},{default:t(()=>[(i(!0),f(b,null,U(l(we),d=>(i(),r(k,{key:d.value,label:d.value},{default:t(()=>[u(y(d.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]=d=>l(a).urine_condition=d)},{default:t(()=>[(i(!0),f(b,null,U(l(xe),d=>(i(),r(k,{key:d.value,label:d.value},{default:t(()=>[u(y(d.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]=d=>l(a).stool_condition=d)},{default:t(()=>[(i(!0),f(b,null,U(l(Ue),d=>(i(),r(k,{key:d.value,label:d.value},{default:t(()=>[u(y(d.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]=d=>l(a).kidney_condition=d)},{default:t(()=>[(i(!0),f(b,null,U(l(Ee),d=>(i(),r(k,{key:d.value,label:d.value},{default:t(()=>[u(y(d.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]=d=>l(a).symptoms=d),type:"textarea",rows:3,placeholder:"请输入症状"},null,8,["modelValue"])]),_:1}),o(m,{"content-position":"left"},{default:t(()=>[...e[65]||(e[65]=[u("既往史",-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]=d=>l(a).past_history=d)},{default:t(()=>[(i(!0),f(b,null,U(l(me),d=>(i(),r(k,{key:d.value,label:d.value},{default:t(()=>[u(y(d.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(m,{"content-position":"left"},{default:t(()=>[...e[66]||(e[66]=[u("其他病史",-1)])]),_:1}),o(g,{gutter:20},{default:t(()=>[o(_,{span:8},{default:t(()=>[o(s,{label:"外伤史"},{default:t(()=>[o(D,{modelValue:l(a).trauma_history,"onUpdate:modelValue":e[38]||(e[38]=d=>l(a).trauma_history=d)},{default:t(()=>[o(E,{label:1},{default:t(()=>[...e[67]||(e[67]=[u("有",-1)])]),_:1}),o(E,{label:0},{default:t(()=>[...e[68]||(e[68]=[u("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(_,{span:8},{default:t(()=>[o(s,{label:"手术史"},{default:t(()=>[o(D,{modelValue:l(a).surgery_history,"onUpdate:modelValue":e[39]||(e[39]=d=>l(a).surgery_history=d)},{default:t(()=>[o(E,{label:1},{default:t(()=>[...e[69]||(e[69]=[u("有",-1)])]),_:1}),o(E,{label:0},{default:t(()=>[...e[70]||(e[70]=[u("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(_,{span:8},{default:t(()=>[o(s,{label:"过敏史"},{default:t(()=>[o(D,{modelValue:l(a).allergy_history,"onUpdate:modelValue":e[40]||(e[40]=d=>l(a).allergy_history=d)},{default:t(()=>[o(E,{label:1},{default:t(()=>[...e[71]||(e[71]=[u("有",-1)])]),_:1}),o(E,{label:0},{default:t(()=>[...e[72]||(e[72]=[u("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(_,{span:12},{default:t(()=>[o(s,{label:"家族病史"},{default:t(()=>[o(D,{modelValue:l(a).family_history,"onUpdate:modelValue":e[41]||(e[41]=d=>l(a).family_history=d)},{default:t(()=>[o(E,{label:1},{default:t(()=>[...e[73]||(e[73]=[u("有",-1)])]),_:1}),o(E,{label:0},{default:t(()=>[...e[74]||(e[74]=[u("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(_,{span:12},{default:t(()=>[o(s,{label:"妊娠哺乳史"},{default:t(()=>[o(D,{modelValue:l(a).pregnancy_history,"onUpdate:modelValue":e[42]||(e[42]=d=>l(a).pregnancy_history=d)},{default:t(()=>[o(E,{label:1},{default:t(()=>[...e[75]||(e[75]=[u("有",-1)])]),_:1}),o(E,{label:0},{default:t(()=>[...e[76]||(e[76]=[u("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(m,{"content-position":"left"},{default:t(()=>[...e[77]||(e[77]=[u("诊断信息",-1)])]),_:1}),o(s,{label:"病史补充",prop:"remark"},{default:t(()=>[o(v,{modelValue:l(a).remark,"onUpdate:modelValue":e[43]||(e[43]=d=>l(a).remark=d),type:"textarea",rows:2,placeholder:"请输入病史补充"},null,8,["modelValue"])]),_:1})],8,ia)]),_:1},8,["model"])]),_:1}),o(T,{label:"医生备注",name:"doctorNote",disabled:!l(a).id,lazy:""},{default:t(()=>[l(a).id?(i(),f("div",ra,[o(Hl,{notes:l(de),"diagnosis-id":Number(l(a).id),readonly:l(O),onRefresh:re},null,8,["notes","diagnosis-id","readonly"])])):(i(),r(q,{key:1,description:"请先保存诊单后查看"}))]),_:1},8,["disabled"]),l(ue)?(i(),r(T,{key:0,label:"日常记录",name:"daily",disabled:!l(a).id,lazy:""},{default:t(()=>[l(a).id?(i(),r(ql,{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"])):(i(),r(q,{key:1,description:"请先保存诊单后查看"}))]),_:1},8,["disabled"])):P("",!0),l(I)(["tcm.diagnosis/chufang"])?(i(),r(T,{key:1,label:"处方",name:"bingli",disabled:!l(a).id},{default:t(()=>[l(a).id?(i(),f("div",pa,[o(Yl,{ref_key:"caseRecordListRef",ref:Z,"diagnosis-id":Number(l(a).id),"read-only":l(O),onView:il,onOpenPrescription:nl},null,8,["diagnosis-id","read-only"])])):(i(),r(q,{key:1,description:"请先保存诊单,开方后病历将在此显示"}))]),_:1},8,["disabled"])):P("",!0),l(I)(["tcm.diagnosis/patientOrders"])?(i(),r(T,{key:2,label:"业务订单",name:"patientOrders",disabled:!l(a).id,lazy:""},{default:t(()=>[l(a).id?(i(),r(Kl,{key:0,"diagnosis-id":Number(l(a).id),"patient-id":Number(l(a).patient_id)||0},null,8,["diagnosis-id","patient-id"])):(i(),r(q,{key:1,description:"请先保存诊单后查看业务订单"}))]),_:1},8,["disabled"])):P("",!0),l(I)(["tcm.diagnosis/huifang"])?(i(),r(T,{key:3,label:"视频录制回放记录",name:"visit",disabled:!l(a).id,lazy:""},{default:t(()=>[l(a).id?(i(),r(Al,{key:0,ref_key:"callRecordPanelRef",ref:Me,"diagnosis-id":Number(l(a).id)},null,8,["diagnosis-id"])):(i(),r(q,{key:1,description:"请先保存诊单后再查看视频录制回放记录"}))]),_:1},8,["disabled"])):P("",!0),l(I)(["tcm.diagnosis/chat"])?(i(),r(T,{key:4,label:"聊天记录",name:"chat",disabled:!l(a).id,lazy:""},{default:t(()=>[l(V)==="chat"&&l(a).id?(i(),r(Gl,{key:0,"diagnosis-id":Number(l(a).id)},null,8,["diagnosis-id"])):l(a).id?P("",!0):(i(),r(q,{key:1,description:"请先保存诊单后再查看聊天记录"}))]),_:1},8,["disabled"])):P("",!0),l(I)(["tcm.diagnosis/assign"])||l(I)(["tcm.diagnosis/detail"])?(i(),r(T,{key:5,label:"指派医助记录",name:"assignLog",disabled:!l(a).id,lazy:""},{default:t(()=>[l(a).id?(i(),r(Jl,{key:0,"diagnosis-id":Number(l(a).id)},null,8,["diagnosis-id"])):(i(),r(q,{key:1,description:"请先保存诊单后再查看指派记录"}))]),_:1},8,["disabled"])):P("",!0),l(I)(["doctor.appointment/lists"])?(i(),r(T,{key:6,label:"挂号记录",name:"appointmentRecords",disabled:!l(a).id,lazy:""},{default:t(()=>[l(a).id?(i(),r(Xl,{key:0,"diagnosis-id":Number(l(a).id)},null,8,["diagnosis-id"])):(i(),r(q,{key:1,description:"请先保存诊单后再查看挂号记录"}))]),_:1},8,["disabled"])):P("",!0)]),_:1},8,["modelValue"]),o(Wl,{ref_key:"prescriptionRef",ref:ee,onSuccess:e[45]||(e[45]=d=>{var Q,Ce;return(Ce=(Q=l(Z))==null?void 0:Q.refresh)==null?void 0:Ce.call(Q)})},null,512)]),_:1},8,["modelValue","z-index"])])}}}),Za=Ml(ma,[["__scopeId","data-v-6973f1e3"]]);export{Za as default}; diff --git a/server/public/admin/assets/edit-Bw5ZqZ2k.js b/server/public/admin/assets/edit-DyGS43PK.js similarity index 89% rename from server/public/admin/assets/edit-Bw5ZqZ2k.js rename to server/public/admin/assets/edit-DyGS43PK.js index fe09b6e2..2dba9fe9 100644 --- a/server/public/admin/assets/edit-Bw5ZqZ2k.js +++ b/server/public/admin/assets/edit-DyGS43PK.js @@ -1 +1 @@ -import{_ as $}from"./index-bkWlwzQZ.js";import{o as w,Q as j,W as z,q as m,r as V,v as l,D as s,bl as I,bg as L,b9 as T,u as a,s as n,b6 as A,b7 as G,bm as S,F as H,G as J,O as K,bn as M,J as P,bc as Q,bf as W,L as p,K as X,ba as v,a8 as Y}from"./.pnpm-9dA1PEvN.js";import{_ as Z}from"./index.vue_vue_type_style_index_0_lang-iDb8ZvRz.js";import{_ as ee}from"./picker-DWQ_BAep.js";import{g as le,h as te,i as oe,j as ae}from"./article-BioaiRdh.js";import{u as se}from"./useDictOptions-bKMXOe8R.js";import{j as ne}from"./index-CJvXnF8Y.js";import"./index-BBemoNXE.js";import"./index-CY1mb9yY.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-CAGpCz28.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const re={class:"article-edit"},ie={class:"xl:flex"},de={class:"w-80"},ue={class:"w-80"},me={class:"w-80"},pe={class:"w-80"},_e={class:"xl:ml-20"},ce=w({name:"articleListsEdit"}),Ce=w({...ce,setup(fe){const u=j(),g=z(),t=v({id:"",title:"",image:"",cid:"",desc:"",author:"",content:"",click_virtual:0,sort:0,is_show:1,abstract:""}),{removeTab:x}=ne(),_=Y(),E=v({title:[{required:!0,message:"请输入文章标题",trigger:"blur"}],cid:[{required:!0,message:"请选择文章栏目",trigger:"blur"}]}),k=async()=>{const i=await le({id:u.query.id});Object.keys(t).forEach(e=>{t[e]=i[e]})},{optionsData:R}=se({article_cate:{api:ae}}),y=async()=>{var i;await((i=_.value)==null?void 0:i.validate()),u.query.id?await te(t):await oe(t),x(),g.back()};return u.query.id&&k(),(i,e)=>{const U=I,c=L,d=G,r=A,q=M,h=S,B=ee,f=P,b=W,D=Q,C=Z,F=T,N=X,O=$;return m(),V("div",re,[l(c,{class:"!border-none",shadow:"never"},{default:s(()=>[l(U,{content:i.$route.meta.title,onBack:e[0]||(e[0]=o=>i.$router.back())},null,8,["content"])]),_:1}),l(c,{class:"mt-4 !border-none",shadow:"never"},{default:s(()=>[l(F,{ref_key:"formRef",ref:_,class:"ls-form",model:a(t),"label-width":"85px",rules:a(E)},{default:s(()=>[n("div",ie,[n("div",null,[l(r,{label:"文章标题",prop:"title"},{default:s(()=>[n("div",de,[l(d,{modelValue:a(t).title,"onUpdate:modelValue":e[1]||(e[1]=o=>a(t).title=o),placeholder:"请输入文章标题",type:"textarea",autosize:{minRows:3,maxRows:3},maxlength:"64","show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1}),l(r,{label:"文章栏目",prop:"cid"},{default:s(()=>[l(h,{class:"w-80",modelValue:a(t).cid,"onUpdate:modelValue":e[2]||(e[2]=o=>a(t).cid=o),placeholder:"请选择文章栏目",clearable:""},{default:s(()=>[(m(!0),V(H,null,J(a(R).article_cate,o=>(m(),K(q,{key:o.id,label:o.name,value:o.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"文章简介",prop:"desc"},{default:s(()=>[n("div",ue,[l(d,{modelValue:a(t).desc,"onUpdate:modelValue":e[3]||(e[3]=o=>a(t).desc=o),placeholder:"请输入文章简介",type:"textarea",autosize:{minRows:3,maxRows:6},maxlength:200,"show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1}),l(r,{label:"摘要",prop:"abstract"},{default:s(()=>[n("div",me,[l(d,{type:"textarea",autosize:{minRows:6,maxRows:6},modelValue:a(t).abstract,"onUpdate:modelValue":e[4]||(e[4]=o=>a(t).abstract=o),maxlength:"200","show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1}),l(r,{label:"文章封面",prop:"image"},{default:s(()=>[n("div",null,[n("div",null,[l(B,{modelValue:a(t).image,"onUpdate:modelValue":e[5]||(e[5]=o=>a(t).image=o),limit:1},null,8,["modelValue"])]),e[11]||(e[11]=n("div",{class:"form-tips"},"建议尺寸:240*180px",-1))])]),_:1}),l(r,{label:"作者",prop:"author"},{default:s(()=>[n("div",pe,[l(d,{modelValue:a(t).author,"onUpdate:modelValue":e[6]||(e[6]=o=>a(t).author=o),placeholder:"请输入作者名称"},null,8,["modelValue"])])]),_:1}),l(r,{label:"排序",prop:"sort"},{default:s(()=>[n("div",null,[l(f,{modelValue:a(t).sort,"onUpdate:modelValue":e[7]||(e[7]=o=>a(t).sort=o),min:0,max:9999},null,8,["modelValue"]),e[12]||(e[12]=n("div",{class:"form-tips"},"默认为0, 数值越大越排前",-1))])]),_:1}),l(r,{label:"初始浏览量",prop:"click_virtual"},{default:s(()=>[n("div",null,[l(f,{modelValue:a(t).click_virtual,"onUpdate:modelValue":e[8]||(e[8]=o=>a(t).click_virtual=o),min:0},null,8,["modelValue"])])]),_:1}),l(r,{label:"文章状态",required:"",prop:"is_show"},{default:s(()=>[l(D,{modelValue:a(t).is_show,"onUpdate:modelValue":e[9]||(e[9]=o=>a(t).is_show=o)},{default:s(()=>[l(b,{value:1},{default:s(()=>[...e[13]||(e[13]=[p("显示",-1)])]),_:1}),l(b,{value:0},{default:s(()=>[...e[14]||(e[14]=[p("隐藏",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),n("div",_e,[l(r,{label:"文章内容",prop:"content"},{default:s(()=>[l(C,{modelValue:a(t).content,"onUpdate:modelValue":e[10]||(e[10]=o=>a(t).content=o),height:667,width:375},null,8,["modelValue"])]),_:1})])])]),_:1},8,["model","rules"])]),_:1}),l(O,null,{default:s(()=>[l(N,{type:"primary",onClick:y},{default:s(()=>[...e[15]||(e[15]=[p("保存",-1)])]),_:1})]),_:1})])}}});export{Ce as default}; +import{_ as $}from"./index-DZiQLFzx.js";import{o as w,Q as j,W as z,q as m,r as V,v as l,D as s,bl as I,bg as L,b9 as T,u as a,s as n,b6 as A,b7 as G,bm as S,F as H,G as J,O as K,bn as M,J as P,bc as Q,bf as W,L as p,K as X,ba as v,a8 as Y}from"./.pnpm-9dA1PEvN.js";import{_ as Z}from"./index.vue_vue_type_style_index_0_lang-DqDA-KJo.js";import{_ as ee}from"./picker-DfI3CPnQ.js";import{g as le,h as te,i as oe,j as ae}from"./article-CGwMRNkL.js";import{u as se}from"./useDictOptions-BeE4yyHx.js";import{j as ne}from"./index-BWzN7QIb.js";import"./index-dYaCh-CN.js";import"./index-xDQ_OZln.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-fA0EWEUO.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const re={class:"article-edit"},ie={class:"xl:flex"},de={class:"w-80"},ue={class:"w-80"},me={class:"w-80"},pe={class:"w-80"},_e={class:"xl:ml-20"},ce=w({name:"articleListsEdit"}),Ce=w({...ce,setup(fe){const u=j(),g=z(),t=v({id:"",title:"",image:"",cid:"",desc:"",author:"",content:"",click_virtual:0,sort:0,is_show:1,abstract:""}),{removeTab:x}=ne(),_=Y(),E=v({title:[{required:!0,message:"请输入文章标题",trigger:"blur"}],cid:[{required:!0,message:"请选择文章栏目",trigger:"blur"}]}),k=async()=>{const i=await le({id:u.query.id});Object.keys(t).forEach(e=>{t[e]=i[e]})},{optionsData:R}=se({article_cate:{api:ae}}),y=async()=>{var i;await((i=_.value)==null?void 0:i.validate()),u.query.id?await te(t):await oe(t),x(),g.back()};return u.query.id&&k(),(i,e)=>{const U=I,c=L,d=G,r=A,q=M,h=S,B=ee,f=P,b=W,D=Q,C=Z,F=T,N=X,O=$;return m(),V("div",re,[l(c,{class:"!border-none",shadow:"never"},{default:s(()=>[l(U,{content:i.$route.meta.title,onBack:e[0]||(e[0]=o=>i.$router.back())},null,8,["content"])]),_:1}),l(c,{class:"mt-4 !border-none",shadow:"never"},{default:s(()=>[l(F,{ref_key:"formRef",ref:_,class:"ls-form",model:a(t),"label-width":"85px",rules:a(E)},{default:s(()=>[n("div",ie,[n("div",null,[l(r,{label:"文章标题",prop:"title"},{default:s(()=>[n("div",de,[l(d,{modelValue:a(t).title,"onUpdate:modelValue":e[1]||(e[1]=o=>a(t).title=o),placeholder:"请输入文章标题",type:"textarea",autosize:{minRows:3,maxRows:3},maxlength:"64","show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1}),l(r,{label:"文章栏目",prop:"cid"},{default:s(()=>[l(h,{class:"w-80",modelValue:a(t).cid,"onUpdate:modelValue":e[2]||(e[2]=o=>a(t).cid=o),placeholder:"请选择文章栏目",clearable:""},{default:s(()=>[(m(!0),V(H,null,J(a(R).article_cate,o=>(m(),K(q,{key:o.id,label:o.name,value:o.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"文章简介",prop:"desc"},{default:s(()=>[n("div",ue,[l(d,{modelValue:a(t).desc,"onUpdate:modelValue":e[3]||(e[3]=o=>a(t).desc=o),placeholder:"请输入文章简介",type:"textarea",autosize:{minRows:3,maxRows:6},maxlength:200,"show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1}),l(r,{label:"摘要",prop:"abstract"},{default:s(()=>[n("div",me,[l(d,{type:"textarea",autosize:{minRows:6,maxRows:6},modelValue:a(t).abstract,"onUpdate:modelValue":e[4]||(e[4]=o=>a(t).abstract=o),maxlength:"200","show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1}),l(r,{label:"文章封面",prop:"image"},{default:s(()=>[n("div",null,[n("div",null,[l(B,{modelValue:a(t).image,"onUpdate:modelValue":e[5]||(e[5]=o=>a(t).image=o),limit:1},null,8,["modelValue"])]),e[11]||(e[11]=n("div",{class:"form-tips"},"建议尺寸:240*180px",-1))])]),_:1}),l(r,{label:"作者",prop:"author"},{default:s(()=>[n("div",pe,[l(d,{modelValue:a(t).author,"onUpdate:modelValue":e[6]||(e[6]=o=>a(t).author=o),placeholder:"请输入作者名称"},null,8,["modelValue"])])]),_:1}),l(r,{label:"排序",prop:"sort"},{default:s(()=>[n("div",null,[l(f,{modelValue:a(t).sort,"onUpdate:modelValue":e[7]||(e[7]=o=>a(t).sort=o),min:0,max:9999},null,8,["modelValue"]),e[12]||(e[12]=n("div",{class:"form-tips"},"默认为0, 数值越大越排前",-1))])]),_:1}),l(r,{label:"初始浏览量",prop:"click_virtual"},{default:s(()=>[n("div",null,[l(f,{modelValue:a(t).click_virtual,"onUpdate:modelValue":e[8]||(e[8]=o=>a(t).click_virtual=o),min:0},null,8,["modelValue"])])]),_:1}),l(r,{label:"文章状态",required:"",prop:"is_show"},{default:s(()=>[l(D,{modelValue:a(t).is_show,"onUpdate:modelValue":e[9]||(e[9]=o=>a(t).is_show=o)},{default:s(()=>[l(b,{value:1},{default:s(()=>[...e[13]||(e[13]=[p("显示",-1)])]),_:1}),l(b,{value:0},{default:s(()=>[...e[14]||(e[14]=[p("隐藏",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),n("div",_e,[l(r,{label:"文章内容",prop:"content"},{default:s(()=>[l(C,{modelValue:a(t).content,"onUpdate:modelValue":e[10]||(e[10]=o=>a(t).content=o),height:667,width:375},null,8,["modelValue"])]),_:1})])])]),_:1},8,["model","rules"])]),_:1}),l(O,null,{default:s(()=>[l(N,{type:"primary",onClick:y},{default:s(()=>[...e[15]||(e[15]=[p("保存",-1)])]),_:1})]),_:1})])}}});export{Ce as default}; diff --git a/server/public/admin/assets/edit-a0ZbHcvu.js b/server/public/admin/assets/edit-a0ZbHcvu.js deleted file mode 100644 index fa9b0dc2..00000000 --- a/server/public/admin/assets/edit-a0ZbHcvu.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-J6kOsdxQ.js";import"./.pnpm-9dA1PEvN.js";import"./dict-TRsJ1i1z.js";import"./index-CJvXnF8Y.js";import"./index-BBemoNXE.js";export{o as default}; diff --git a/server/public/admin/assets/edit-a198HFxd.js b/server/public/admin/assets/edit-a198HFxd.js new file mode 100644 index 00000000..c3401b15 --- /dev/null +++ b/server/public/admin/assets/edit-a198HFxd.js @@ -0,0 +1 @@ +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-Dqv5nVx5.js";import"./.pnpm-9dA1PEvN.js";import"./post-BafSyy6d.js";import"./index-BWzN7QIb.js";import"./index-dYaCh-CN.js";export{o as default}; diff --git a/server/public/admin/assets/edit-dcFWCx5G.js b/server/public/admin/assets/edit-dcFWCx5G.js new file mode 100644 index 00000000..48ee0bf0 --- /dev/null +++ b/server/public/admin/assets/edit-dcFWCx5G.js @@ -0,0 +1 @@ +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-BVcv3cX4.js";import"./.pnpm-9dA1PEvN.js";import"./message-DUkl0jbI.js";import"./index-BWzN7QIb.js";import"./index-dYaCh-CN.js";export{o as default}; diff --git a/server/public/admin/assets/edit-h5CgTUSj.js b/server/public/admin/assets/edit-h5CgTUSj.js new file mode 100644 index 00000000..7c44c03e --- /dev/null +++ b/server/public/admin/assets/edit-h5CgTUSj.js @@ -0,0 +1 @@ +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-SKYPoZs-.js";import"./.pnpm-9dA1PEvN.js";import"./role-CrpOZd5J.js";import"./index-BWzN7QIb.js";import"./index-dYaCh-CN.js";export{o as default}; diff --git a/server/public/admin/assets/edit-BuQ8O-ne.js b/server/public/admin/assets/edit-u2FkPXUK.js similarity index 97% rename from server/public/admin/assets/edit-BuQ8O-ne.js rename to server/public/admin/assets/edit-u2FkPXUK.js index a58453d5..501ad142 100644 --- a/server/public/admin/assets/edit-BuQ8O-ne.js +++ b/server/public/admin/assets/edit-u2FkPXUK.js @@ -1 +1 @@ -import{_ as ye}from"./index-bkWlwzQZ.js";import{o as z,q as p,r as v,F as q,G as D,T as J,u as n,p as Z,Q as ge,W as ke,v as l,D as t,bl as Ue,bg as we,b9 as Ee,Y as qe,C,X as xe,b6 as Ce,s as u,b7 as De,bj as Re,bk as Ae,bd as $e,bm as Ie,bn as Te,O as w,bc as Ne,bf as Be,L as b,P as Q,bK as Pe,K as Oe,M as E,ba as h,a8 as ee,n as Se,l as le,bN as ae,R as Fe}from"./.pnpm-9dA1PEvN.js";import{c as Le,i as te,_ as je}from"./index-CJvXnF8Y.js";import{m as Ke}from"./menu-DVBnPCFw.js";import{d as Qe}from"./dict-TRsJ1i1z.js";import{t as ze,g as Ge}from"./code-m_-AEIO9.js";import{u as We}from"./useDictOptions-bKMXOe8R.js";import{_ as He}from"./relations-add.vue_vue_type_script_setup_true_lang-7-u9xnWz.js";import"./index-BBemoNXE.js";const Me=z({__name:"index",props:{options:{default:()=>[]},value:{},config:{default:()=>({label:"name",value:"value"})}},setup(O){const c=O,S=Z(()=>c.value!==null&&typeof c.value<"u"?Array.isArray(c.value)?c.value:String(c.value).split(","):[]),R=Z(()=>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},J(g!=0?"、":"")+J(o[O.config.label]),1))),128))]))}}),Xe={class:"code-edit"},Ye={class:"w-80"},Je={class:"w-80"},Ze={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=z({name:"tableEdit"}),il=z({...rl,setup(O){const c=ge(),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 G=ee(),j=ee(),W=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:"请选择删除字段"}]}),H=async(d,e,k)=>{var V,_;x.value=!0,await Se(),e&&k!==void 0&&((V=j.value)==null||V.setFormData(e),L=k),(_=j.value)==null||_.open(d)},me=d=>{const e=le.cloneDeep(ae(d));o.relations.push(e)},re=async d=>{const e=le.cloneDeep(ae(d));console.log(L),o.relations.splice(L,1,e)},ie=d=>{o.relations.splice(d,1)},pe=async()=>{const d=await ze({id:c.query.id});Object.keys(o).forEach(e=>{o[e]=d[e]}),Fe(()=>o.generate_type,e=>{e==1&&te.confirm("生成到模块方式如遇同名文件会覆盖旧文件,确定要选择此方式吗?").catch(()=>{o.generate_type=0})})},{optionsData:M}=We({dict_type:{api:Qe},menu:{api:Ke,transformData(d){const e={id:0,name:"顶级",children:[]};return e.children=d,[e]}}}),_e=async()=>{var d,e;try{await((d=G.value)==null?void 0:d.validate()),await Ge(o),S.back()}catch(k){for(const V in k)Object.keys(W).includes(V)&&te.msgError((e=k[V][0])==null?void 0:e.message)}};return pe(),(d,e)=>{const k=Ue,V=we,_=De,r=Ce,N=xe,i=Ae,f=$e,m=Te,U=Ie,X=Re,y=Be,B=Ne,be=Pe,fe=Le,P=Oe,Y=Me,ve=qe,ce=Ee,Ve=ye;return p(),v("div",Xe,[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:G,class:"ls-form",model:n(o),"label-width":"100px",rules:n(W)},{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",Ye,[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",Je,[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",Ze,[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(X,{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(f,{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(f,{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(f,{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(f,{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(f,{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(f,{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(f,{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(f,{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(f,{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(f,{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(M).dict_type,(s,K)=>(p(),w(m,{key:K,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]=[b("单表(curd)",-1)])]),_:1}),l(y,{value:1},{default:t(()=>[...e[32]||(e[32]=[b("树表(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]=[b("物理删除",-1)])]),_:1}),l(y,{value:1},{default:t(()=>[...e[34]||(e[34]=[b("软删除",-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})):Q("",!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)):Q("",!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]=[b("压缩包下载",-1)])]),_:1}),l(y,{value:1},{default:t(()=>[...e[39]||(e[39]=[b("生成到模块",-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(be,{class:"w-80",modelValue:n(o).menu.pid,"onUpdate:modelValue":e[20]||(e[20]=a=>n(o).menu.pid=a),data:n(M).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]=[b("自动构建",-1)])]),_:1}),l(y,{value:0},{default:t(()=>[...e[43]||(e[43]=[b("手动添加",-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(P,{type:"primary",onClick:e[23]||(e[23]=a=>H("add"))},{icon:t(()=>[l(fe,{name:"el-icon-Plus"})]),default:t(()=>[e[45]||(e[45]=b(" 新增关联 ",-1))]),_:1}),u("div",ml,[l(X,{data:n(o).relations,size:"small"},{default:t(()=>[l(i,{prop:"type",label:"关联类型"},{default:t(({row:a})=>[l(Y,{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(Y,{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(P,{link:"",type:"primary",onClick:K=>H("edit",a,s)},{default:t(()=>[...e[46]||(e[46]=[b(" 编辑 ",-1)])]),_:1},8,["onClick"]),l(P,{link:"",type:"danger",onClick:K=>ie(s)},{default:t(()=>[...e[47]||(e[47]=[b(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"]),n(x)?(p(),w(He,{key:0,column:n(o).table_column,types:F,ref_key:"editRef",ref:j,onAdd:me,onEdit:re,onClose:e[24]||(e[24]=a=>x.value=!1)},null,8,["column"])):Q("",!0)])]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["model","rules"])]),_:1}),l(Ve,null,{default:t(()=>[l(P,{type:"primary",onClick:_e},{default:t(()=>[...e[48]||(e[48]=[b("保存",-1)])]),_:1})]),_:1})])}}}),kl=je(il,[["__scopeId","data-v-4163419d"]]);export{kl as default}; +import{_ as ye}from"./index-DZiQLFzx.js";import{o as z,q as p,r as v,F as q,G as D,T as J,u as n,p as Z,Q as ge,W as ke,v as l,D as t,bl as Ue,bg as we,b9 as Ee,Y as qe,C,X as xe,b6 as Ce,s as u,b7 as De,bj as Re,bk as Ae,bd as $e,bm as Ie,bn as Te,O as w,bc as Ne,bf as Be,L as b,P as Q,bK as Pe,K as Oe,M as E,ba as h,a8 as ee,n as Se,l as le,bN as ae,R as Fe}from"./.pnpm-9dA1PEvN.js";import{c as Le,i as te,_ as je}from"./index-BWzN7QIb.js";import{m as Ke}from"./menu-DRrdTmPN.js";import{d as Qe}from"./dict-BzuAKP6Q.js";import{t as ze,g as Ge}from"./code-J7VgRFVf.js";import{u as We}from"./useDictOptions-BeE4yyHx.js";import{_ as He}from"./relations-add.vue_vue_type_script_setup_true_lang-C03NjiRq.js";import"./index-dYaCh-CN.js";const Me=z({__name:"index",props:{options:{default:()=>[]},value:{},config:{default:()=>({label:"name",value:"value"})}},setup(O){const c=O,S=Z(()=>c.value!==null&&typeof c.value<"u"?Array.isArray(c.value)?c.value:String(c.value).split(","):[]),R=Z(()=>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},J(g!=0?"、":"")+J(o[O.config.label]),1))),128))]))}}),Xe={class:"code-edit"},Ye={class:"w-80"},Je={class:"w-80"},Ze={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=z({name:"tableEdit"}),il=z({...rl,setup(O){const c=ge(),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 G=ee(),j=ee(),W=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:"请选择删除字段"}]}),H=async(d,e,k)=>{var V,_;x.value=!0,await Se(),e&&k!==void 0&&((V=j.value)==null||V.setFormData(e),L=k),(_=j.value)==null||_.open(d)},me=d=>{const e=le.cloneDeep(ae(d));o.relations.push(e)},re=async d=>{const e=le.cloneDeep(ae(d));console.log(L),o.relations.splice(L,1,e)},ie=d=>{o.relations.splice(d,1)},pe=async()=>{const d=await ze({id:c.query.id});Object.keys(o).forEach(e=>{o[e]=d[e]}),Fe(()=>o.generate_type,e=>{e==1&&te.confirm("生成到模块方式如遇同名文件会覆盖旧文件,确定要选择此方式吗?").catch(()=>{o.generate_type=0})})},{optionsData:M}=We({dict_type:{api:Qe},menu:{api:Ke,transformData(d){const e={id:0,name:"顶级",children:[]};return e.children=d,[e]}}}),_e=async()=>{var d,e;try{await((d=G.value)==null?void 0:d.validate()),await Ge(o),S.back()}catch(k){for(const V in k)Object.keys(W).includes(V)&&te.msgError((e=k[V][0])==null?void 0:e.message)}};return pe(),(d,e)=>{const k=Ue,V=we,_=De,r=Ce,N=xe,i=Ae,f=$e,m=Te,U=Ie,X=Re,y=Be,B=Ne,be=Pe,fe=Le,P=Oe,Y=Me,ve=qe,ce=Ee,Ve=ye;return p(),v("div",Xe,[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:G,class:"ls-form",model:n(o),"label-width":"100px",rules:n(W)},{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",Ye,[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",Je,[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",Ze,[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(X,{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(f,{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(f,{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(f,{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(f,{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(f,{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(f,{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(f,{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(f,{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(f,{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(f,{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(M).dict_type,(s,K)=>(p(),w(m,{key:K,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]=[b("单表(curd)",-1)])]),_:1}),l(y,{value:1},{default:t(()=>[...e[32]||(e[32]=[b("树表(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]=[b("物理删除",-1)])]),_:1}),l(y,{value:1},{default:t(()=>[...e[34]||(e[34]=[b("软删除",-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})):Q("",!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)):Q("",!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]=[b("压缩包下载",-1)])]),_:1}),l(y,{value:1},{default:t(()=>[...e[39]||(e[39]=[b("生成到模块",-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(be,{class:"w-80",modelValue:n(o).menu.pid,"onUpdate:modelValue":e[20]||(e[20]=a=>n(o).menu.pid=a),data:n(M).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]=[b("自动构建",-1)])]),_:1}),l(y,{value:0},{default:t(()=>[...e[43]||(e[43]=[b("手动添加",-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(P,{type:"primary",onClick:e[23]||(e[23]=a=>H("add"))},{icon:t(()=>[l(fe,{name:"el-icon-Plus"})]),default:t(()=>[e[45]||(e[45]=b(" 新增关联 ",-1))]),_:1}),u("div",ml,[l(X,{data:n(o).relations,size:"small"},{default:t(()=>[l(i,{prop:"type",label:"关联类型"},{default:t(({row:a})=>[l(Y,{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(Y,{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(P,{link:"",type:"primary",onClick:K=>H("edit",a,s)},{default:t(()=>[...e[46]||(e[46]=[b(" 编辑 ",-1)])]),_:1},8,["onClick"]),l(P,{link:"",type:"danger",onClick:K=>ie(s)},{default:t(()=>[...e[47]||(e[47]=[b(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"]),n(x)?(p(),w(He,{key:0,column:n(o).table_column,types:F,ref_key:"editRef",ref:j,onAdd:me,onEdit:re,onClose:e[24]||(e[24]=a=>x.value=!1)},null,8,["column"])):Q("",!0)])]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["model","rules"])]),_:1}),l(Ve,null,{default:t(()=>[l(P,{type:"primary",onClick:_e},{default:t(()=>[...e[48]||(e[48]=[b("保存",-1)])]),_:1})]),_:1})])}}}),kl=je(il,[["__scopeId","data-v-4163419d"]]);export{kl as default}; diff --git a/server/public/admin/assets/edit-yVViBR3I.js b/server/public/admin/assets/edit-yVViBR3I.js deleted file mode 100644 index bd6d0180..00000000 --- a/server/public/admin/assets/edit-yVViBR3I.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-CvguIgHT.js";import"./.pnpm-9dA1PEvN.js";import"./department-DYCfZwei.js";import"./index-CJvXnF8Y.js";import"./index-BBemoNXE.js";import"./useDictOptions-bKMXOe8R.js";export{o as default}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-C354oJT2.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BVcv3cX4.js similarity index 97% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-C354oJT2.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BVcv3cX4.js index dbbf54fa..cf71085d 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-C354oJT2.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BVcv3cX4.js @@ -1 +1 @@ -import{o as S,q as n,r as I,v as a,D as o,b9 as T,u as l,b6 as w,s as x,T as q,b7 as A,O as _,P as m,bc as K,bf as U,L as c,a8 as y,ba as Y}from"./.pnpm-9dA1PEvN.js";import{b as B,c as N}from"./message-BBZN4J7d.js";import{_ as F}from"./index-BBemoNXE.js";const G={class:"edit-popup"},H=S({__name:"edit",emits:["success"],setup(L,{expose:g,emit:E}){const V=E,d=y(),i=y(),t=Y({name:"",type:"",sign:"",app_key:"",app_id:"",secret_key:"",secret_id:"",status:0}),b={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"}]},k=async()=>{var s,e;await((s=d.value)==null?void 0:s.validate()),await B(t),(e=i.value)==null||e.close(),V("success")},R=async()=>{const s=await N({type:t.type});for(const e in s)t[e]=s[e]},C=s=>{var e;t.type=s,(e=i.value)==null||e.open(),R()},P=()=>{var s;(s=d.value)==null||s.resetFields()};return g({open:C}),(s,e)=>{const p=w,u=A,f=U,v=K,D=T;return n(),I("div",G,[a(F,{ref_key:"popupRef",ref:i,title:"设置短信",async:!0,width:"550px",onConfirm:k,onClose:P},{default:o(()=>[a(D,{ref_key:"formRef",ref:d,model:l(t),"label-width":"120px",rules:b},{default:o(()=>[a(p,{label:"短信渠道"},{default:o(()=>[x("div",null,q(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(),_(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})):m("",!0),l(t).type=="tencent"?(n(),_(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})):m("",!0),l(t).type=="tencent"?(n(),_(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})):m("",!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(v,{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{H as _}; +import{o as S,q as n,r as I,v as a,D as o,b9 as T,u as l,b6 as w,s as x,T as q,b7 as A,O as _,P as m,bc as K,bf as U,L as c,a8 as y,ba as Y}from"./.pnpm-9dA1PEvN.js";import{b as B,c as N}from"./message-DUkl0jbI.js";import{_ as F}from"./index-dYaCh-CN.js";const G={class:"edit-popup"},H=S({__name:"edit",emits:["success"],setup(L,{expose:g,emit:E}){const V=E,d=y(),i=y(),t=Y({name:"",type:"",sign:"",app_key:"",app_id:"",secret_key:"",secret_id:"",status:0}),b={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"}]},k=async()=>{var s,e;await((s=d.value)==null?void 0:s.validate()),await B(t),(e=i.value)==null||e.close(),V("success")},R=async()=>{const s=await N({type:t.type});for(const e in s)t[e]=s[e]},C=s=>{var e;t.type=s,(e=i.value)==null||e.open(),R()},P=()=>{var s;(s=d.value)==null||s.resetFields()};return g({open:C}),(s,e)=>{const p=w,u=A,f=U,v=K,D=T;return n(),I("div",G,[a(F,{ref_key:"popupRef",ref:i,title:"设置短信",async:!0,width:"550px",onConfirm:k,onClose:P},{default:o(()=>[a(D,{ref_key:"formRef",ref:d,model:l(t),"label-width":"120px",rules:b},{default:o(()=>[a(p,{label:"短信渠道"},{default:o(()=>[x("div",null,q(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(),_(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})):m("",!0),l(t).type=="tencent"?(n(),_(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})):m("",!0),l(t).type=="tencent"?(n(),_(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})):m("",!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(v,{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{H as _}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BsX_sZsd.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BqqAYtn1.js similarity index 97% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BsX_sZsd.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BqqAYtn1.js index 883e968f..9c2d3cea 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BsX_sZsd.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BqqAYtn1.js @@ -1 +1 @@ -import{o as D,q as C,r as U,v as a,D as t,b9 as q,u as o,b6 as F,b7 as N,s as _,J as B,bc as I,bf as T,L as c,a8 as v,p as z,ba as A,M as G}from"./.pnpm-9dA1PEvN.js";import{a as J,b as L}from"./dict-TRsJ1i1z.js";import{_ as M}from"./index-BBemoNXE.js";const S={class:"edit-popup"},W=D({__name:"edit",emits:["success","close"],setup(j,{expose:b,emit:V}){const p=V,i=v(),d=v(),m=G("add"),w=z(()=>m.value=="edit"?"编辑字典数据":"新增字典数据"),l=A({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"]}]},g=async()=>{var s,e;await((s=i.value)==null?void 0:s.validate()),m.value=="edit"?await J(l):await L(l),(e=d.value)==null||e.close(),p("success")},k=()=>{p("close")};return b({open:(s="add")=>{var e;m.value=s,(e=d.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,r=F,y=B,f=T,R=I,E=q;return C(),U("div",S,[a(M,{ref_key:"popupRef",ref:d,title:o(w),async:!0,width:"550px",onConfirm:g,onClose:k},{default:t(()=>[a(E,{class:"ls-form",ref_key:"formRef",ref:i,rules:x,model:o(l),"label-width":"84px"},{default:t(()=>[a(r,{label:"字典类型"},{default:t(()=>[a(n,{"model-value":o(l).type_value,placeholder:"请输入字典类型",disabled:""},null,8,["model-value"])]),_:1}),a(r,{label:"数据名称",prop:"name"},{default:t(()=>[a(n,{modelValue:o(l).name,"onUpdate:modelValue":e[0]||(e[0]=u=>o(l).name=u),placeholder:"请输入数据名称",clearable:""},null,8,["modelValue"])]),_:1}),a(r,{label:"数据值",prop:"value"},{default:t(()=>[a(n,{modelValue:o(l).value,"onUpdate:modelValue":e[1]||(e[1]=u=>o(l).value=u),placeholder:"请输入数据值",clearable:""},null,8,["modelValue"])]),_:1}),a(r,{label:"排序",prop:"sort"},{default:t(()=>[_("div",null,[a(y,{modelValue:o(l).sort,"onUpdate:modelValue":e[2]||(e[2]=u=>o(l).sort=u),min:0,max:9999},null,8,["modelValue"]),e[5]||(e[5]=_("div",{class:"form-tips"},"数值越大越排前",-1))])]),_:1}),a(r,{label:"状态",required:"",prop:"status"},{default:t(()=>[a(R,{modelValue:o(l).status,"onUpdate:modelValue":e[3]||(e[3]=u=>o(l).status=u)},{default:t(()=>[a(f,{value:1},{default:t(()=>[...e[6]||(e[6]=[c("正常",-1)])]),_:1}),a(f,{value:0},{default:t(()=>[...e[7]||(e[7]=[c("停用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(r,{label:"备注",prop:"remark"},{default:t(()=>[a(n,{modelValue:o(l).remark,"onUpdate:modelValue":e[4]||(e[4]=u=>o(l).remark=u),type:"textarea",autosize:{minRows:4,maxRows:6},clearable:"",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{W as _}; +import{o as D,q as C,r as U,v as a,D as t,b9 as q,u as o,b6 as F,b7 as N,s as _,J as B,bc as I,bf as T,L as c,a8 as v,p as z,ba as A,M as G}from"./.pnpm-9dA1PEvN.js";import{a as J,b as L}from"./dict-BzuAKP6Q.js";import{_ as M}from"./index-dYaCh-CN.js";const S={class:"edit-popup"},W=D({__name:"edit",emits:["success","close"],setup(j,{expose:b,emit:V}){const p=V,i=v(),d=v(),m=G("add"),w=z(()=>m.value=="edit"?"编辑字典数据":"新增字典数据"),l=A({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"]}]},g=async()=>{var s,e;await((s=i.value)==null?void 0:s.validate()),m.value=="edit"?await J(l):await L(l),(e=d.value)==null||e.close(),p("success")},k=()=>{p("close")};return b({open:(s="add")=>{var e;m.value=s,(e=d.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,r=F,y=B,f=T,R=I,E=q;return C(),U("div",S,[a(M,{ref_key:"popupRef",ref:d,title:o(w),async:!0,width:"550px",onConfirm:g,onClose:k},{default:t(()=>[a(E,{class:"ls-form",ref_key:"formRef",ref:i,rules:x,model:o(l),"label-width":"84px"},{default:t(()=>[a(r,{label:"字典类型"},{default:t(()=>[a(n,{"model-value":o(l).type_value,placeholder:"请输入字典类型",disabled:""},null,8,["model-value"])]),_:1}),a(r,{label:"数据名称",prop:"name"},{default:t(()=>[a(n,{modelValue:o(l).name,"onUpdate:modelValue":e[0]||(e[0]=u=>o(l).name=u),placeholder:"请输入数据名称",clearable:""},null,8,["modelValue"])]),_:1}),a(r,{label:"数据值",prop:"value"},{default:t(()=>[a(n,{modelValue:o(l).value,"onUpdate:modelValue":e[1]||(e[1]=u=>o(l).value=u),placeholder:"请输入数据值",clearable:""},null,8,["modelValue"])]),_:1}),a(r,{label:"排序",prop:"sort"},{default:t(()=>[_("div",null,[a(y,{modelValue:o(l).sort,"onUpdate:modelValue":e[2]||(e[2]=u=>o(l).sort=u),min:0,max:9999},null,8,["modelValue"]),e[5]||(e[5]=_("div",{class:"form-tips"},"数值越大越排前",-1))])]),_:1}),a(r,{label:"状态",required:"",prop:"status"},{default:t(()=>[a(R,{modelValue:o(l).status,"onUpdate:modelValue":e[3]||(e[3]=u=>o(l).status=u)},{default:t(()=>[a(f,{value:1},{default:t(()=>[...e[6]||(e[6]=[c("正常",-1)])]),_:1}),a(f,{value:0},{default:t(()=>[...e[7]||(e[7]=[c("停用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(r,{label:"备注",prop:"remark"},{default:t(()=>[a(n,{modelValue:o(l).remark,"onUpdate:modelValue":e[4]||(e[4]=u=>o(l).remark=u),type:"textarea",autosize:{minRows:4,maxRows:6},clearable:"",maxlength:"200","show-word-limit":""},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-CvguIgHT.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BshekMIG.js similarity index 93% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-CvguIgHT.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BshekMIG.js index 420e2a66..cf799691 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-CvguIgHT.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BshekMIG.js @@ -1 +1 @@ -import{o as B,q as _,r as I,v as o,D as d,b9 as N,u as t,O as q,b6 as F,bK as M,P as S,b7 as A,s as b,J as O,I as T,a8 as V,p as J,ba as K,M as P}from"./.pnpm-9dA1PEvN.js";import{d as $,a as j,b as z,c as G}from"./department-DYCfZwei.js";import{_ as H}from"./index-BBemoNXE.js";import{u as L}from"./useDictOptions-bKMXOe8R.js";const Q={class:"edit-popup"},te=B({__name:"edit",emits:["success","close"],setup(W,{expose:v,emit:g}){const m=g,c=V(),u=V(),p=P("add"),w=J(()=>p.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,r)=>{if(e){const n=/^[1][3,4,5,6,7,8,9][0-9]{9}$/;if(console.log(n.test(e)),n.test(e))r();else return r(new Error("请输入正确的手机号"))}else return r()},trigger:["blur"]}]},{optionsData:k}=L({dept:{api:$}}),y=async()=>{var a,e;await((a=c.value)==null?void 0:a.validate()),p.value=="edit"?await j(l):await z(l),(e=u.value)==null||e.close(),m("success")},E=(a="add")=>{var e;p.value=a,(e=u.value)==null||e.open()},f=a=>{for(const e in l)a[e]!=null&&a[e]!=null&&(l[e]=a[e])},D=async a=>{const e=await G({id:a.id});f(e)},h=()=>{m("close")};return v({open:E,setFormData:f,getDetail:D}),(a,e)=>{const r=M,n=F,i=A,C=O,R=T,U=N;return _(),I("div",Q,[o(H,{ref_key:"popupRef",ref:u,title:t(w),async:!0,width:"550px",onConfirm:y,onClose:h},{default:d(()=>[o(U,{ref_key:"formRef",ref:c,model:t(l),"label-width":"84px",rules:x},{default:d(()=>[t(l).pid!==0?(_(),q(n,{key:0,label:"上级部门",prop:"pid"},{default:d(()=>[o(r,{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})):S("",!0),o(n,{label:"部门名称",prop:"name"},{default:d(()=>[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:d(()=>[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:d(()=>[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:d(()=>[b("div",null,[o(C,{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]=b("div",{class:"form-tips"},"默认为0, 数值越大越排前",-1))])]),_:1}),o(n,{label:"部门状态"},{default:d(()=>[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{te as _}; +import{o as B,q as _,r as I,v as o,D as d,b9 as N,u as t,O as q,b6 as F,bK as M,P as S,b7 as A,s as b,J as O,I as T,a8 as V,p as J,ba as K,M as P}from"./.pnpm-9dA1PEvN.js";import{d as $,a as j,b as z,c as G}from"./department-BABv4GiI.js";import{_ as H}from"./index-dYaCh-CN.js";import{u as L}from"./useDictOptions-BeE4yyHx.js";const Q={class:"edit-popup"},te=B({__name:"edit",emits:["success","close"],setup(W,{expose:v,emit:g}){const m=g,c=V(),u=V(),p=P("add"),w=J(()=>p.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,r)=>{if(e){const n=/^[1][3,4,5,6,7,8,9][0-9]{9}$/;if(console.log(n.test(e)),n.test(e))r();else return r(new Error("请输入正确的手机号"))}else return r()},trigger:["blur"]}]},{optionsData:k}=L({dept:{api:$}}),y=async()=>{var a,e;await((a=c.value)==null?void 0:a.validate()),p.value=="edit"?await j(l):await z(l),(e=u.value)==null||e.close(),m("success")},E=(a="add")=>{var e;p.value=a,(e=u.value)==null||e.open()},f=a=>{for(const e in l)a[e]!=null&&a[e]!=null&&(l[e]=a[e])},D=async a=>{const e=await G({id:a.id});f(e)},h=()=>{m("close")};return v({open:E,setFormData:f,getDetail:D}),(a,e)=>{const r=M,n=F,i=A,C=O,R=T,U=N;return _(),I("div",Q,[o(H,{ref_key:"popupRef",ref:u,title:t(w),async:!0,width:"550px",onConfirm:y,onClose:h},{default:d(()=>[o(U,{ref_key:"formRef",ref:c,model:t(l),"label-width":"84px",rules:x},{default:d(()=>[t(l).pid!==0?(_(),q(n,{key:0,label:"上级部门",prop:"pid"},{default:d(()=>[o(r,{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})):S("",!0),o(n,{label:"部门名称",prop:"name"},{default:d(()=>[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:d(()=>[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:d(()=>[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:d(()=>[b("div",null,[o(C,{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]=b("div",{class:"form-tips"},"默认为0, 数值越大越排前",-1))])]),_:1}),o(n,{label:"部门状态"},{default:d(()=>[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{te as _}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-r0jtyh61.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-CQEjq9h5.js similarity index 93% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-r0jtyh61.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-CQEjq9h5.js index 2f8a0ce8..2ec22404 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-r0jtyh61.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-CQEjq9h5.js @@ -1 +1 @@ -import{o as G,q as i,r as V,v as t,D as d,b9 as K,u as o,b6 as L,b7 as M,s as u,bK as P,bm as z,F as j,G as U,O as p,bn as H,P as k,I as J,a8 as C,p as Q,ba as q,M as W}from"./.pnpm-9dA1PEvN.js";import{_ as X}from"./picker-DWQ_BAep.js";import{d as Y}from"./department-DYCfZwei.js";import{j as Z}from"./post-BhGC5UYd.js";import{b as $,d as h,e as ee}from"./admin-Bb0DLbGs.js";import{r as le}from"./role-D6rynjFP.js";import{_ as oe}from"./index-BBemoNXE.js";import{u as ae}from"./useDictOptions-bKMXOe8R.js";const te={class:"edit-popup"},ce=G({__name:"edit",emits:["success","close"],setup(re,{expose:D,emit:R}){const v=R,w=C(),m=C(),f=W("add"),F=Q(()=>f.value=="edit"?"编辑管理员":"新增管理员"),l=q({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()},_=q({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}=ae({role:{api:le},jobs:{api:Z},dept:{api:Y}}),I=async()=>{var n,e;await((n=w.value)==null?void 0:n.validate()),f.value=="edit"?await $(l):await h(l),(e=m.value)==null||e.close(),v("success")},A=(n="add")=>{var e;f.value=n,(e=m.value)==null||e.open()},B=async n=>{_.password=[],_.password_confirm=[{validator:g,trigger:"blur"}];const e=await ee({id:n.id});for(const r in l)e[r]!=null&&e[r]!=null&&(l[r]=e[r])},S=()=>{v("close")};return D({open:A,setFormData:B}),(n,e)=>{const r=M,s=L,N=X,O=P,y=H,E=z,x=J,T=K;return i(),V("div",te,[t(oe,{ref_key:"popupRef",ref:m,title:o(F),async:!0,width:"550px",onConfirm:I,onClose:S},{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(N,{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,U(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,U(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})):k("",!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})):k("",!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{ce as _}; +import{o as G,q as i,r as V,v as t,D as d,b9 as K,u as o,b6 as L,b7 as M,s as u,bK as P,bm as z,F as j,G as U,O as p,bn as H,P as k,I as J,a8 as C,p as Q,ba as q,M as W}from"./.pnpm-9dA1PEvN.js";import{_ as X}from"./picker-DfI3CPnQ.js";import{d as Y}from"./department-BABv4GiI.js";import{j as Z}from"./post-BafSyy6d.js";import{b as $,d as h,e as ee}from"./admin-CMuAzCyP.js";import{r as le}from"./role-CrpOZd5J.js";import{_ as oe}from"./index-dYaCh-CN.js";import{u as ae}from"./useDictOptions-BeE4yyHx.js";const te={class:"edit-popup"},ce=G({__name:"edit",emits:["success","close"],setup(re,{expose:D,emit:R}){const v=R,w=C(),m=C(),f=W("add"),F=Q(()=>f.value=="edit"?"编辑管理员":"新增管理员"),l=q({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()},_=q({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}=ae({role:{api:le},jobs:{api:Z},dept:{api:Y}}),I=async()=>{var n,e;await((n=w.value)==null?void 0:n.validate()),f.value=="edit"?await $(l):await h(l),(e=m.value)==null||e.close(),v("success")},A=(n="add")=>{var e;f.value=n,(e=m.value)==null||e.open()},B=async n=>{_.password=[],_.password_confirm=[{validator:g,trigger:"blur"}];const e=await ee({id:n.id});for(const r in l)e[r]!=null&&e[r]!=null&&(l[r]=e[r])},S=()=>{v("close")};return D({open:A,setFormData:B}),(n,e)=>{const r=M,s=L,N=X,O=P,y=H,E=z,x=J,T=K;return i(),V("div",te,[t(oe,{ref_key:"popupRef",ref:m,title:o(F),async:!0,width:"550px",onConfirm:I,onClose:S},{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(N,{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,U(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,U(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})):k("",!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})):k("",!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{ce as _}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Bs2WT8Gt.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-D7r08doy.js similarity index 97% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Bs2WT8Gt.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-D7r08doy.js index d658b9e0..a59d4480 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Bs2WT8Gt.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-D7r08doy.js @@ -1 +1 @@ -import{o as P,M as U,ba as S,q as i,r as J,v as t,D as a,b9 as Q,u as l,b6 as $,bc as j,bf as z,L as m,bK as H,b7 as W,O as f,P as v,s as d,cQ as X,J as Y,a8 as w,p as Z}from"./.pnpm-9dA1PEvN.js";import{_ as h}from"./picker.vue_vue_type_script_setup_true_lang-B8p-3sQo.js";import{a as ee,b as le,c as oe,d as te}from"./menu-DVBnPCFw.js";import{_ as ae}from"./index-BBemoNXE.js";import{v as se,M as n,w as de,x as ue}from"./index-CJvXnF8Y.js";const ne={class:"edit-popup"},re={class:"flex-1"},pe={class:"flex-1"},ie={class:"flex-1"},me={class:"flex-1"},fe={class:"flex-1"},ce=P({__name:"edit",emits:["success","close"],setup(ve,{expose:x,emit:N}){const c=N,g=w(),_=w(),y=U("add"),O=Z(()=>y.value=="edit"?"编辑菜单":"新增菜单"),T=U(se()),C=(u,e)=>{const r=u?T.value.filter(V=>V.toLowerCase().includes(u.toLowerCase())):T.value;e(r.map(V=>({value:V})))},o=S({id:"",pid:0,type:n.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 ee({page_type:0}),e={id:0,name:"顶级",children:[]};e.children=de(ue(u.lists).filter(r=>r.type!=n.BUTTON)),k.value.push(e)},M=async()=>{var u,e;await((u=g.value)==null?void 0:u.validate()),y.value=="edit"?await le(o):await oe(o),(e=_.value)==null||e.close(),c("success")},q=(u="add")=>{var e;y.value=u,(e=_.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 te({id:u.id});E(e)},L=()=>{c("close")};return B(),x({open:q,setFormData:E,getDetail:R}),(u,e)=>{const r=z,V=j,p=$,D=H,b=W,G=h,I=X,F=Y,K=Q;return i(),J("div",ne,[t(ae,{ref_key:"popupRef",ref:_,title:l(O),async:!0,width:"550px",onConfirm:M,onClose:L},{default:a(()=>[t(K,{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(r,{value:l(n).CATALOGUE},{default:a(()=>[...e[13]||(e[13]=[m("目录",-1)])]),_:1},8,["value"]),t(r,{value:l(n).MENU},{default:a(()=>[...e[14]||(e[14]=[m("菜单",-1)])]),_:1},8,["value"]),t(r,{value:l(n).BUTTON},{default:a(()=>[...e[15]||(e[15]=[m("按钮",-1)])]),_:1},8,["value"])]),_:1},8,["modelValue"])]),_:1}),t(p,{label:"父级菜单",prop:"pid"},{default:a(()=>[t(D,{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(b,{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(n).BUTTON?(i(),f(p,{key:0,label:"菜单图标",prop:"icon"},{default:a(()=>[t(G,{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(n).BUTTON?(i(),f(p,{key:1,label:"路由路径",prop:"paths"},{default:a(()=>[d("div",re,[t(b,{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(n).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":C,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(n).MENU?(i(),f(p,{key:3,label:"选中菜单",prop:"selected"},{default:a(()=>[d("div",ie,[t(b,{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(n).CATALOGUE?(i(),f(p,{key:4,label:"权限字符",prop:"perms"},{default:a(()=>[d("div",me,[t(b,{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(n).MENU?(i(),f(p,{key:5,label:"路由参数",prop:"params"},{default:a(()=>[d("div",null,[d("div",fe,[t(b,{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(n).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(r,{value:1},{default:a(()=>[...e[21]||(e[21]=[m("缓存",-1)])]),_:1}),t(r,{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(n).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(r,{value:1},{default:a(()=>[...e[24]||(e[24]=[m("显示",-1)])]),_:1}),t(r,{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(n).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(r,{value:0},{default:a(()=>[...e[27]||(e[27]=[m("正常",-1)])]),_:1}),t(r,{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{ce as _}; +import{o as P,M as U,ba as S,q as i,r as J,v as t,D as a,b9 as Q,u as l,b6 as $,bc as j,bf as z,L as m,bK as H,b7 as W,O as f,P as v,s as d,cQ as X,J as Y,a8 as w,p as Z}from"./.pnpm-9dA1PEvN.js";import{_ as h}from"./picker.vue_vue_type_script_setup_true_lang-B7uSVSee.js";import{a as ee,b as le,c as oe,d as te}from"./menu-DRrdTmPN.js";import{_ as ae}from"./index-dYaCh-CN.js";import{v as se,M as n,w as de,x as ue}from"./index-BWzN7QIb.js";const ne={class:"edit-popup"},re={class:"flex-1"},pe={class:"flex-1"},ie={class:"flex-1"},me={class:"flex-1"},fe={class:"flex-1"},ce=P({__name:"edit",emits:["success","close"],setup(ve,{expose:x,emit:N}){const c=N,g=w(),_=w(),y=U("add"),O=Z(()=>y.value=="edit"?"编辑菜单":"新增菜单"),T=U(se()),C=(u,e)=>{const r=u?T.value.filter(V=>V.toLowerCase().includes(u.toLowerCase())):T.value;e(r.map(V=>({value:V})))},o=S({id:"",pid:0,type:n.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 ee({page_type:0}),e={id:0,name:"顶级",children:[]};e.children=de(ue(u.lists).filter(r=>r.type!=n.BUTTON)),k.value.push(e)},M=async()=>{var u,e;await((u=g.value)==null?void 0:u.validate()),y.value=="edit"?await le(o):await oe(o),(e=_.value)==null||e.close(),c("success")},q=(u="add")=>{var e;y.value=u,(e=_.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 te({id:u.id});E(e)},L=()=>{c("close")};return B(),x({open:q,setFormData:E,getDetail:R}),(u,e)=>{const r=z,V=j,p=$,D=H,b=W,G=h,I=X,F=Y,K=Q;return i(),J("div",ne,[t(ae,{ref_key:"popupRef",ref:_,title:l(O),async:!0,width:"550px",onConfirm:M,onClose:L},{default:a(()=>[t(K,{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(r,{value:l(n).CATALOGUE},{default:a(()=>[...e[13]||(e[13]=[m("目录",-1)])]),_:1},8,["value"]),t(r,{value:l(n).MENU},{default:a(()=>[...e[14]||(e[14]=[m("菜单",-1)])]),_:1},8,["value"]),t(r,{value:l(n).BUTTON},{default:a(()=>[...e[15]||(e[15]=[m("按钮",-1)])]),_:1},8,["value"])]),_:1},8,["modelValue"])]),_:1}),t(p,{label:"父级菜单",prop:"pid"},{default:a(()=>[t(D,{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(b,{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(n).BUTTON?(i(),f(p,{key:0,label:"菜单图标",prop:"icon"},{default:a(()=>[t(G,{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(n).BUTTON?(i(),f(p,{key:1,label:"路由路径",prop:"paths"},{default:a(()=>[d("div",re,[t(b,{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(n).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":C,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(n).MENU?(i(),f(p,{key:3,label:"选中菜单",prop:"selected"},{default:a(()=>[d("div",ie,[t(b,{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(n).CATALOGUE?(i(),f(p,{key:4,label:"权限字符",prop:"perms"},{default:a(()=>[d("div",me,[t(b,{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(n).MENU?(i(),f(p,{key:5,label:"路由参数",prop:"params"},{default:a(()=>[d("div",null,[d("div",fe,[t(b,{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(n).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(r,{value:1},{default:a(()=>[...e[21]||(e[21]=[m("缓存",-1)])]),_:1}),t(r,{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(n).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(r,{value:1},{default:a(()=>[...e[24]||(e[24]=[m("显示",-1)])]),_:1}),t(r,{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(n).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(r,{value:0},{default:a(()=>[...e[27]||(e[27]=[m("正常",-1)])]),_:1}),t(r,{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{ce as _}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-J6kOsdxQ.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DcSBZ-AE.js similarity index 94% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-J6kOsdxQ.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DcSBZ-AE.js index 7ac71f27..0c541977 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-J6kOsdxQ.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DcSBZ-AE.js @@ -1 +1 @@ -import{o as R,q as E,r as C,v as t,D as s,b9 as q,u as a,b6 as D,b7 as F,bc as T,bf as U,L as _,a8 as c,p as B,ba as I,M as N}from"./.pnpm-9dA1PEvN.js";import{g as h,h as z}from"./dict-TRsJ1i1z.js";import{_ as A}from"./index-BBemoNXE.js";const G={class:"edit-popup"},K=R({__name:"edit",emits:["success","close"],setup(L,{expose:b,emit:V}){const p=V,i=c(),u=c(),m=N("add"),v=B(()=>m.value=="edit"?"编辑字典类型":"新增字典类型"),o=I({id:"",name:"",type:"",status:1,remark:""}),y={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()),m.value=="edit"?await h(o):await z(o),(e=u.value)==null||e.close(),p("success")},g=()=>{p("close")};return b({open:(l="add")=>{var e;m.value=l,(e=u.value)==null||e.open()},setFormData:l=>{for(const e in o)l[e]!=null&&l[e]!=null&&(o[e]=l[e])}}),(l,e)=>{const d=F,n=D,f=U,x=T,k=q;return E(),C("div",G,[t(A,{ref_key:"popupRef",ref:u,title:a(v),async:!0,width:"550px",onConfirm:w,onClose:g},{default:s(()=>[t(k,{class:"ls-form",ref_key:"formRef",ref:i,rules:y,model:a(o),"label-width":"84px"},{default:s(()=>[t(n,{label:"字典名称",prop:"name"},{default:s(()=>[t(d,{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(d,{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(x,{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(d,{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{K as _}; +import{o as R,q as E,r as C,v as t,D as s,b9 as q,u as a,b6 as D,b7 as F,bc as T,bf as U,L as _,a8 as c,p as B,ba as I,M as N}from"./.pnpm-9dA1PEvN.js";import{g as h,h as z}from"./dict-BzuAKP6Q.js";import{_ as A}from"./index-dYaCh-CN.js";const G={class:"edit-popup"},K=R({__name:"edit",emits:["success","close"],setup(L,{expose:b,emit:V}){const p=V,i=c(),u=c(),m=N("add"),v=B(()=>m.value=="edit"?"编辑字典类型":"新增字典类型"),o=I({id:"",name:"",type:"",status:1,remark:""}),y={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()),m.value=="edit"?await h(o):await z(o),(e=u.value)==null||e.close(),p("success")},g=()=>{p("close")};return b({open:(l="add")=>{var e;m.value=l,(e=u.value)==null||e.open()},setFormData:l=>{for(const e in o)l[e]!=null&&l[e]!=null&&(o[e]=l[e])}}),(l,e)=>{const d=F,n=D,f=U,x=T,k=q;return E(),C("div",G,[t(A,{ref_key:"popupRef",ref:u,title:a(v),async:!0,width:"550px",onConfirm:w,onClose:g},{default:s(()=>[t(k,{class:"ls-form",ref_key:"formRef",ref:i,rules:y,model:a(o),"label-width":"84px"},{default:s(()=>[t(n,{label:"字典名称",prop:"name"},{default:s(()=>[t(d,{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(d,{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(x,{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(d,{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{K as _}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DSqWTTUi.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Dqv5nVx5.js similarity index 94% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DSqWTTUi.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Dqv5nVx5.js index 2487af49..71cd1ee9 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DSqWTTUi.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Dqv5nVx5.js @@ -1 +1 @@ -import{o as D,q as U,r as h,v as l,D as n,b9 as q,u as t,b6 as I,b7 as j,s as f,J as B,I as F,a8 as _,p as N,ba as S,M as z}from"./.pnpm-9dA1PEvN.js";import{a as A,b as J,c as M}from"./post-BhGC5UYd.js";import{_ as T}from"./index-BBemoNXE.js";const G={class:"edit-popup"},P=D({__name:"edit",emits:["success","close"],setup(H,{expose:b,emit:v}){const i=v,p=_(),u=_(),m=z("add"),V=N(()=>m.value=="edit"?"编辑岗位":"新增岗位"),o=S({id:"",name:"",code:"",sort:0,remark:"",status:1}),w={code:[{required:!0,message:"请输入岗位编码",trigger:["blur"]}],name:[{required:!0,message:"请输入岗位名称",trigger:["blur"]}]},x=async()=>{var a,e;await((a=p.value)==null?void 0:a.validate()),m.value=="edit"?await A(o):await J(o),(e=u.value)==null||e.close(),i("success")},g=(a="add")=>{var e;m.value=a,(e=u.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 M({id:a.id});c(e)},R=()=>{i("close")};return b({open:g,setFormData:c,getDetail:k}),(a,e)=>{const d=j,r=I,y=B,E=F,C=q;return U(),h("div",G,[l(T,{ref_key:"popupRef",ref:u,title:t(V),async:!0,width:"550px",onConfirm:x,onClose:R},{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(y,{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{P as _}; +import{o as D,q as U,r as h,v as l,D as n,b9 as q,u as t,b6 as I,b7 as j,s as f,J as B,I as F,a8 as _,p as N,ba as S,M as z}from"./.pnpm-9dA1PEvN.js";import{a as A,b as J,c as M}from"./post-BafSyy6d.js";import{_ as T}from"./index-dYaCh-CN.js";const G={class:"edit-popup"},P=D({__name:"edit",emits:["success","close"],setup(H,{expose:b,emit:v}){const i=v,p=_(),u=_(),m=z("add"),V=N(()=>m.value=="edit"?"编辑岗位":"新增岗位"),o=S({id:"",name:"",code:"",sort:0,remark:"",status:1}),w={code:[{required:!0,message:"请输入岗位编码",trigger:["blur"]}],name:[{required:!0,message:"请输入岗位名称",trigger:["blur"]}]},x=async()=>{var a,e;await((a=p.value)==null?void 0:a.validate()),m.value=="edit"?await A(o):await J(o),(e=u.value)==null||e.close(),i("success")},g=(a="add")=>{var e;m.value=a,(e=u.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 M({id:a.id});c(e)},R=()=>{i("close")};return b({open:g,setFormData:c,getDetail:k}),(a,e)=>{const d=j,r=I,y=B,E=F,C=q;return U(),h("div",G,[l(T,{ref_key:"popupRef",ref:u,title:t(V),async:!0,width:"550px",onConfirm:x,onClose:R},{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(y,{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{P as _}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-EtRC1QEA.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-SKYPoZs-.js similarity index 94% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-EtRC1QEA.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-SKYPoZs-.js index 47a1e408..644f5aec 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-EtRC1QEA.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-SKYPoZs-.js @@ -1 +1 @@ -import{o as g,q as h,r as k,v as o,D as n,b9 as C,u as a,b6 as D,b7 as F,J as U,bm as I,bn as q,a8 as _,p as B,ba as N,M as S}from"./.pnpm-9dA1PEvN.js";import{a as z,b as A}from"./role-D6rynjFP.js";import{_ as J}from"./index-BBemoNXE.js";const M={class:"edit-popup"},L=g({__name:"edit",emits:["success","close"],setup(O,{expose:f,emit:b}){const d=b,c=_(),u=_(),r=S("add"),v=B(()=>r.value=="edit"?"编辑角色":"新增角色"),l=N({id:"",name:"",desc:"",sort:0,data_scope:1,menu_id:[]}),V={name:[{required:!0,message:"请输入名称",trigger:["blur"]}]},w=async()=>{var t,e;await((t=c.value)==null?void 0:t.validate()),r.value=="edit"?await z(l):await A(l),(e=u.value)==null||e.close(),d("success")},x=()=>{d("close")};return f({open:(t="add")=>{var e;r.value=t,(e=u.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 i=F,m=D,E=U,p=q,y=I,R=C;return h(),k("div",M,[o(J,{ref_key:"popupRef",ref:u,title:a(v),async:!0,width:"550px",onConfirm:w,onClose:x},{default:n(()=>[o(R,{class:"ls-form",ref_key:"formRef",ref:c,rules:V,model:a(l),"label-width":"60px"},{default:n(()=>[o(m,{label:"名称",prop:"name"},{default:n(()=>[o(i,{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(i,{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(E,{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(y,{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{L as _}; +import{o as g,q as h,r as k,v as o,D as n,b9 as C,u as a,b6 as D,b7 as F,J as U,bm as I,bn as q,a8 as _,p as B,ba as N,M as S}from"./.pnpm-9dA1PEvN.js";import{a as z,b as A}from"./role-CrpOZd5J.js";import{_ as J}from"./index-dYaCh-CN.js";const M={class:"edit-popup"},L=g({__name:"edit",emits:["success","close"],setup(O,{expose:f,emit:b}){const d=b,c=_(),u=_(),r=S("add"),v=B(()=>r.value=="edit"?"编辑角色":"新增角色"),l=N({id:"",name:"",desc:"",sort:0,data_scope:1,menu_id:[]}),V={name:[{required:!0,message:"请输入名称",trigger:["blur"]}]},w=async()=>{var t,e;await((t=c.value)==null?void 0:t.validate()),r.value=="edit"?await z(l):await A(l),(e=u.value)==null||e.close(),d("success")},x=()=>{d("close")};return f({open:(t="add")=>{var e;r.value=t,(e=u.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 i=F,m=D,E=U,p=q,y=I,R=C;return h(),k("div",M,[o(J,{ref_key:"popupRef",ref:u,title:a(v),async:!0,width:"550px",onConfirm:w,onClose:x},{default:n(()=>[o(R,{class:"ls-form",ref_key:"formRef",ref:c,rules:V,model:a(l),"label-width":"60px"},{default:n(()=>[o(m,{label:"名称",prop:"name"},{default:n(()=>[o(i,{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(i,{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(E,{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(y,{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{L as _}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Crcur3sR.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-bW869IPL.js similarity index 97% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Crcur3sR.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-bW869IPL.js index 208f4b10..6591d153 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Crcur3sR.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-bW869IPL.js @@ -1 +1 @@ -import{o as F,q as i,r as O,v as o,D as a,b9 as S,u as l,b6 as T,s as n,b7 as z,O as c,P as v,bc as A,bf as G,L as m,J,I as L,a8 as w,p as M,ba as P,M as j}from"./.pnpm-9dA1PEvN.js";import{f as H,h as K,i as Q}from"./wx_oa-DPme7qiY.js";import{_ as W}from"./index-BBemoNXE.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"},de=F({__name:"edit",emits:["success","close"],setup(oe,{expose:x,emit:k}){const V=k,g=w(),_=w(),f=j("add"),R=M(()=>f.value=="edit"?"编辑":"新增"),t=P({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 d,e;await((d=g.value)==null?void 0:d.validate()),f.value=="edit"?await H(t):await K(t),(e=_.value)==null||e.close(),V("success")},q=(d="add",e=0)=>{var u;f.value=d,t.reply_type=e,(u=_.value)==null||u.open()},b=d=>{for(const e in t)d[e]!=null&&d[e]!=null&&(t[e]=d[e])},C=async d=>{const e=await Q({id:d.id});b(e)},D=()=>{V("close")};return x({open:q,setFormData:b,getDetail:C}),(d,e)=>{const u=z,r=T,p=G,y=A,N=J,B=L,I=S;return i(),O("div",X,[o(W,{ref_key:"popupRef",ref:_,title:l(R),async:!0,width:"500px",onConfirm:U,onClose:D},{default:a(()=>[o(I,{ref_key:"formRef",ref:g,model:l(t),"label-width":"84px",rules:E,class:"pr-10"},{default:a(()=>[o(r,{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?(i(),c(r,{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?(i(),c(r,{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(p,{value:1},{default:a(()=>[...e[10]||(e[10]=[m("全匹配",-1)])]),_:1}),o(p,{value:2},{default:a(()=>[...e[11]||(e[11]=[m("模糊匹配",-1)])]),_:1})]),_:1},8,["modelValue"]),e[12]||(e[12]=n("div",{class:"form-tips"},"模糊匹配时,关键词部分匹配用户输入的内容即可",-1))])]),_:1})):v("",!0),o(r,{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(p,{value:1},{default:a(()=>[...e[13]||(e[13]=[m("文本",-1)])]),_:1})]),_:1},8,["modelValue"]),e[14]||(e[14]=n("div",{class:"form-tips"},"暂时只支持文本类型",-1))])]),_:1}),o(r,{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(r,{label:"排序"},{default:a(()=>[n("div",te,[o(N,{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?(i(),c(r,{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(p,{value:1},{default:a(()=>[...e[15]||(e[15]=[m("回复匹配首词条",-1)])]),_:1})]),_:1},8,["modelValue"]),e[16]||(e[16]=n("div",{class:"form-tips"}," 设置关键词匹配多条时回复的数量,暂时支持回复一条内容 ",-1))])]),_:1})):v("",!0),o(r,{label:"启用状态"},{default:a(()=>[o(B,{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{de as _}; +import{o as F,q as i,r as O,v as o,D as a,b9 as S,u as l,b6 as T,s as n,b7 as z,O as c,P as v,bc as A,bf as G,L as m,J,I as L,a8 as w,p as M,ba as P,M as j}from"./.pnpm-9dA1PEvN.js";import{f as H,h as K,i as Q}from"./wx_oa-HhzP-R8g.js";import{_ as W}from"./index-dYaCh-CN.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"},de=F({__name:"edit",emits:["success","close"],setup(oe,{expose:x,emit:k}){const V=k,g=w(),_=w(),f=j("add"),R=M(()=>f.value=="edit"?"编辑":"新增"),t=P({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 d,e;await((d=g.value)==null?void 0:d.validate()),f.value=="edit"?await H(t):await K(t),(e=_.value)==null||e.close(),V("success")},q=(d="add",e=0)=>{var u;f.value=d,t.reply_type=e,(u=_.value)==null||u.open()},b=d=>{for(const e in t)d[e]!=null&&d[e]!=null&&(t[e]=d[e])},C=async d=>{const e=await Q({id:d.id});b(e)},D=()=>{V("close")};return x({open:q,setFormData:b,getDetail:C}),(d,e)=>{const u=z,r=T,p=G,y=A,N=J,B=L,I=S;return i(),O("div",X,[o(W,{ref_key:"popupRef",ref:_,title:l(R),async:!0,width:"500px",onConfirm:U,onClose:D},{default:a(()=>[o(I,{ref_key:"formRef",ref:g,model:l(t),"label-width":"84px",rules:E,class:"pr-10"},{default:a(()=>[o(r,{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?(i(),c(r,{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?(i(),c(r,{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(p,{value:1},{default:a(()=>[...e[10]||(e[10]=[m("全匹配",-1)])]),_:1}),o(p,{value:2},{default:a(()=>[...e[11]||(e[11]=[m("模糊匹配",-1)])]),_:1})]),_:1},8,["modelValue"]),e[12]||(e[12]=n("div",{class:"form-tips"},"模糊匹配时,关键词部分匹配用户输入的内容即可",-1))])]),_:1})):v("",!0),o(r,{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(p,{value:1},{default:a(()=>[...e[13]||(e[13]=[m("文本",-1)])]),_:1})]),_:1},8,["modelValue"]),e[14]||(e[14]=n("div",{class:"form-tips"},"暂时只支持文本类型",-1))])]),_:1}),o(r,{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(r,{label:"排序"},{default:a(()=>[n("div",te,[o(N,{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?(i(),c(r,{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(p,{value:1},{default:a(()=>[...e[15]||(e[15]=[m("回复匹配首词条",-1)])]),_:1})]),_:1},8,["modelValue"]),e[16]||(e[16]=n("div",{class:"form-tips"}," 设置关键词匹配多条时回复的数量,暂时支持回复一条内容 ",-1))])]),_:1})):v("",!0),o(r,{label:"启用状态"},{default:a(()=>[o(B,{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{de as _}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-wFDh1qw6.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-xNJSlEHz.js similarity index 98% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-wFDh1qw6.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-xNJSlEHz.js index 56417918..b8b10e50 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-wFDh1qw6.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-xNJSlEHz.js @@ -1 +1 @@ -import{o as Y,q as _,r as k,v as l,D as r,b9 as A,u as o,b6 as B,s as u,bf as I,L as g,T as y,b7 as T,O as h,P as E,bc as F,a8 as V,ba as G,p as L}from"./.pnpm-9dA1PEvN.js";import{r as f}from"./index-CJvXnF8Y.js";import{_ as P}from"./index-BBemoNXE.js";function ee(){return f.get({url:"/setting.storage/lists"})}function j(d){return f.post({url:"/setting.storage/setup",params:d})}function z(d){return f.get({url:"/setting.storage/detail",params:d})}const H={class:"edit-popup"},J={class:"form-tips"},M={key:0},Q={class:"flex-1"},W={class:"flex-1"},te=Y({__name:"edit",emits:["success"],setup(d,{expose:v,emit:C}){const R=C,p=V(),m=V(),t=G({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"}]},b=L(()=>q.find(s=>s.type==t.engine)),O=async()=>{var s,e;await((s=p.value)==null?void 0:s.validate()),await j(t),(e=m.value)==null||e.close(),R("success")},K=async()=>{const s=await z({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()},D=()=>{var s;(s=p.value)==null||s.resetFields()};return v({open:w}),(s,e)=>{const c=I,n=B,i=T,N=F,U=A;return _(),k("div",H,[l(P,{ref_key:"popupRef",ref:m,title:"设置存储",async:!0,width:"550px",onConfirm:O,onClose:D},{default:r(()=>[l(U,{ref_key:"formRef",ref:p,model:o(t),"label-width":"120px",rules:x},{default:r(()=>[l(n,{label:"存储方式",prop:"engine"},{default:r(()=>{var a;return[u("div",null,[l(c,{checked:""},{default:r(()=>{var S;return[g(y((S=o(b))==null?void 0:S.name),1)]}),_:1}),u("div",J,y((a=o(b))==null?void 0:a.tips),1)])]}),_:1}),o(t).engine!=="local"?(_(),k("div",M,[l(n,{label:" 存储空间名称",prop:"bucket"},{default:r(()=>[u("div",Q,[l(i,{modelValue:o(t).bucket,"onUpdate:modelValue":e[0]||(e[0]=a=>o(t).bucket=a),placeholder:"请输入存储空间名称(Bucket)",clearable:""},null,8,["modelValue"])])]),_:1}),l(n,{label:"ACCESS_KEY",prop:"access_key"},{default:r(()=>[l(i,{modelValue:o(t).access_key,"onUpdate:modelValue":e[1]||(e[1]=a=>o(t).access_key=a),placeholder:"请输入ACCESS_KEY(AK)",clearable:""},null,8,["modelValue"])]),_:1}),l(n,{label:"SECRET_KEY",prop:"secret_key"},{default:r(()=>[l(i,{modelValue:o(t).secret_key,"onUpdate:modelValue":e[2]||(e[2]=a=>o(t).secret_key=a),placeholder:"请输入SECRET_KEY(SK)",clearable:""},null,8,["modelValue"])]),_:1}),l(n,{label:"空间域名",prop:"domain"},{default:r(()=>[u("div",W,[u("div",null,[l(i,{modelValue:o(t).domain,"onUpdate:modelValue":e[3]||(e[3]=a=>o(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}),o(t).engine=="qcloud"?(_(),h(n,{key:0,label:"REGION",prop:"region"},{default:r(()=>[l(i,{modelValue:o(t).region,"onUpdate:modelValue":e[4]||(e[4]=a=>o(t).region=a),placeholder:"请输入region",clearable:""},null,8,["modelValue"])]),_:1})):E("",!0)])):E("",!0),l(n,{label:"状态",prop:"status"},{default:r(()=>[l(N,{modelValue:o(t).status,"onUpdate:modelValue":e[5]||(e[5]=a=>o(t).status=a)},{default:r(()=>[l(c,{value:0},{default:r(()=>[...e[7]||(e[7]=[g("关闭",-1)])]),_:1}),l(c,{value:1},{default:r(()=>[...e[8]||(e[8]=[g("开启",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},512)])}}});export{te as _,ee as s}; +import{o as Y,q as _,r as k,v as l,D as r,b9 as A,u as o,b6 as B,s as u,bf as I,L as g,T as y,b7 as T,O as h,P as E,bc as F,a8 as V,ba as G,p as L}from"./.pnpm-9dA1PEvN.js";import{r as f}from"./index-BWzN7QIb.js";import{_ as P}from"./index-dYaCh-CN.js";function ee(){return f.get({url:"/setting.storage/lists"})}function j(d){return f.post({url:"/setting.storage/setup",params:d})}function z(d){return f.get({url:"/setting.storage/detail",params:d})}const H={class:"edit-popup"},J={class:"form-tips"},M={key:0},Q={class:"flex-1"},W={class:"flex-1"},te=Y({__name:"edit",emits:["success"],setup(d,{expose:v,emit:C}){const R=C,p=V(),m=V(),t=G({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"}]},b=L(()=>q.find(s=>s.type==t.engine)),O=async()=>{var s,e;await((s=p.value)==null?void 0:s.validate()),await j(t),(e=m.value)==null||e.close(),R("success")},K=async()=>{const s=await z({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()},D=()=>{var s;(s=p.value)==null||s.resetFields()};return v({open:w}),(s,e)=>{const c=I,n=B,i=T,N=F,U=A;return _(),k("div",H,[l(P,{ref_key:"popupRef",ref:m,title:"设置存储",async:!0,width:"550px",onConfirm:O,onClose:D},{default:r(()=>[l(U,{ref_key:"formRef",ref:p,model:o(t),"label-width":"120px",rules:x},{default:r(()=>[l(n,{label:"存储方式",prop:"engine"},{default:r(()=>{var a;return[u("div",null,[l(c,{checked:""},{default:r(()=>{var S;return[g(y((S=o(b))==null?void 0:S.name),1)]}),_:1}),u("div",J,y((a=o(b))==null?void 0:a.tips),1)])]}),_:1}),o(t).engine!=="local"?(_(),k("div",M,[l(n,{label:" 存储空间名称",prop:"bucket"},{default:r(()=>[u("div",Q,[l(i,{modelValue:o(t).bucket,"onUpdate:modelValue":e[0]||(e[0]=a=>o(t).bucket=a),placeholder:"请输入存储空间名称(Bucket)",clearable:""},null,8,["modelValue"])])]),_:1}),l(n,{label:"ACCESS_KEY",prop:"access_key"},{default:r(()=>[l(i,{modelValue:o(t).access_key,"onUpdate:modelValue":e[1]||(e[1]=a=>o(t).access_key=a),placeholder:"请输入ACCESS_KEY(AK)",clearable:""},null,8,["modelValue"])]),_:1}),l(n,{label:"SECRET_KEY",prop:"secret_key"},{default:r(()=>[l(i,{modelValue:o(t).secret_key,"onUpdate:modelValue":e[2]||(e[2]=a=>o(t).secret_key=a),placeholder:"请输入SECRET_KEY(SK)",clearable:""},null,8,["modelValue"])]),_:1}),l(n,{label:"空间域名",prop:"domain"},{default:r(()=>[u("div",W,[u("div",null,[l(i,{modelValue:o(t).domain,"onUpdate:modelValue":e[3]||(e[3]=a=>o(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}),o(t).engine=="qcloud"?(_(),h(n,{key:0,label:"REGION",prop:"region"},{default:r(()=>[l(i,{modelValue:o(t).region,"onUpdate:modelValue":e[4]||(e[4]=a=>o(t).region=a),placeholder:"请输入region",clearable:""},null,8,["modelValue"])]),_:1})):E("",!0)])):E("",!0),l(n,{label:"状态",prop:"status"},{default:r(()=>[l(N,{modelValue:o(t).status,"onUpdate:modelValue":e[5]||(e[5]=a=>o(t).status=a)},{default:r(()=>[l(c,{value:0},{default:r(()=>[...e[7]||(e[7]=[g("关闭",-1)])]),_:1}),l(c,{value:1},{default:r(()=>[...e[8]||(e[8]=[g("开启",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},512)])}}});export{te as _,ee as s}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-DQptrasI.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-DEKsw0jB.js similarity index 96% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-DQptrasI.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-DEKsw0jB.js index b523410d..a665c99e 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-DQptrasI.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-DEKsw0jB.js @@ -1 +1 @@ -import{o as f,q as D,r as I,v as a,D as n,b9 as B,u as l,b6 as F,b7 as N,s as c,J as U,I as q,a8 as _,p as S,ba as A,M as J}from"./.pnpm-9dA1PEvN.js";import{d as M,e as T,f as j}from"./article-BioaiRdh.js";import{_ as z}from"./index-BBemoNXE.js";const G={class:"edit-popup"},H=f({name:"articleColumnEdit"}),Q=f({...H,emits:["success","close"],setup(K,{expose:v,emit:w}){const u=w,d=_(),i=_(),r=J("add"),b=S(()=>r.value=="edit"?"编辑栏目":"新增栏目"),o=A({id:"",name:"",sort:0,is_show:1}),V={name:[{required:!0,message:"请输入栏目名称",trigger:["blur"]}]},C=async()=>{var t,e;await((t=d.value)==null?void 0:t.validate()),r.value=="edit"?await M(o):await T(o),(e=i.value)==null||e.close(),u("success")},E=(t="add")=>{var e;r.value=t,(e=i.value)==null||e.open()},p=t=>{for(const e in o)t[e]!=null&&t[e]!=null&&(o[e]=t[e])},h=async t=>{const e=await j({id:t.id});p(e)},x=()=>{u("close")};return v({open:E,setFormData:p,getDetail:h}),(t,e)=>{const y=N,m=F,R=U,g=q,k=B;return D(),I("div",G,[a(z,{ref_key:"popupRef",ref:i,title:l(b),async:!0,width:"550px",onConfirm:C,onClose:x},{default:n(()=>[a(k,{ref_key:"formRef",ref:d,model:l(o),"label-width":"84px",rules:V},{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(R,{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(g,{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{Q as _}; +import{o as f,q as D,r as I,v as a,D as n,b9 as B,u as l,b6 as F,b7 as N,s as c,J as U,I as q,a8 as _,p as S,ba as A,M as J}from"./.pnpm-9dA1PEvN.js";import{d as M,e as T,f as j}from"./article-CGwMRNkL.js";import{_ as z}from"./index-dYaCh-CN.js";const G={class:"edit-popup"},H=f({name:"articleColumnEdit"}),Q=f({...H,emits:["success","close"],setup(K,{expose:v,emit:w}){const u=w,d=_(),i=_(),r=J("add"),b=S(()=>r.value=="edit"?"编辑栏目":"新增栏目"),o=A({id:"",name:"",sort:0,is_show:1}),V={name:[{required:!0,message:"请输入栏目名称",trigger:["blur"]}]},C=async()=>{var t,e;await((t=d.value)==null?void 0:t.validate()),r.value=="edit"?await M(o):await T(o),(e=i.value)==null||e.close(),u("success")},E=(t="add")=>{var e;r.value=t,(e=i.value)==null||e.open()},p=t=>{for(const e in o)t[e]!=null&&t[e]!=null&&(o[e]=t[e])},h=async t=>{const e=await j({id:t.id});p(e)},x=()=>{u("close")};return v({open:E,setFormData:p,getDetail:h}),(t,e)=>{const y=N,m=F,R=U,g=q,k=B;return D(),I("div",G,[a(z,{ref_key:"popupRef",ref:i,title:l(b),async:!0,width:"550px",onConfirm:C,onClose:x},{default:n(()=>[a(k,{ref_key:"formRef",ref:d,model:l(o),"label-width":"84px",rules:V},{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(R,{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(g,{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{Q as _}; diff --git a/server/public/admin/assets/environment-ByYTLPyy.js b/server/public/admin/assets/environment-DCNrfcil.js similarity index 96% rename from server/public/admin/assets/environment-ByYTLPyy.js rename to server/public/admin/assets/environment-DCNrfcil.js index fd57e9b4..d9f3c290 100644 --- a/server/public/admin/assets/environment-ByYTLPyy.js +++ b/server/public/admin/assets/environment-DCNrfcil.js @@ -1 +1 @@ -import{c as b,D as f}from"./index-CJvXnF8Y.js";import{o as i,ap as k,q as n,r as h,v as e,D as t,s as l,bj as x,u as p,bk as y,bg as w,O as c,ba as B}from"./.pnpm-9dA1PEvN.js";const C={class:"system-environment"},g={class:"mt-4"},E={class:"mt-4"},q={class:"mt-4"},S=i({name:"environment"}),P=i({...S,setup(D){const s=B({server:[],env:[],auth:[]}),v=()=>{f().then(r=>{s.server=r.server,s.env=r.env,s.auth=r.auth})};return k(()=>{v()}),(r,o)=>{const a=y,_=x,m=w,d=b;return n(),h("div",C,[e(m,{class:"!border-none",shadow:"never"},{default:t(()=>[o[0]||(o[0]=l("div",null,"服务器信息",-1)),l("div",g,[e(_,{data:p(s).server},{default:t(()=>[e(a,{prop:"param",label:"参数"}),e(a,{prop:"value",label:"值"})]),_:1},8,["data"])])]),_:1}),e(m,{shadow:"never",class:"!border-none mt-4"},{default:t(()=>[o[1]||(o[1]=l("div",null,"PHP环境要求",-1)),l("div",E,[e(_,{data:p(s).env},{default:t(()=>[e(a,{prop:"option",label:"选项"}),e(a,{prop:"require",label:"要求"}),e(a,{label:"状态"},{default:t(u=>[u.row.status?(n(),c(d,{key:0,name:"el-icon-Select",class:"text-success"})):(n(),c(d,{key:1,name:"el-icon-CloseBold",class:"text-danger"}))]),_:1}),e(a,{prop:"remark",label:"说明及帮助"})]),_:1},8,["data"])])]),_:1}),e(m,{shadow:"never",class:"!border-none mt-4"},{default:t(()=>[o[2]||(o[2]=l("div",null,"目录权限",-1)),l("div",q,[e(_,{data:p(s).auth},{default:t(()=>[e(a,{prop:"dir",label:"选项"}),e(a,{prop:"require",label:"要求"}),e(a,{label:"状态"},{default:t(u=>[u.row.status?(n(),c(d,{key:0,name:"el-icon-Select",class:"text-success"})):(n(),c(d,{key:1,name:"el-icon-CloseBold",class:"text-danger"}))]),_:1}),e(a,{prop:"remark",label:"说明及帮助"})]),_:1},8,["data"])])]),_:1})])}}});export{P as default}; +import{c as b,D as f}from"./index-BWzN7QIb.js";import{o as i,ap as k,q as n,r as h,v as e,D as t,s as l,bj as x,u as p,bk as y,bg as w,O as c,ba as B}from"./.pnpm-9dA1PEvN.js";const C={class:"system-environment"},g={class:"mt-4"},E={class:"mt-4"},q={class:"mt-4"},S=i({name:"environment"}),P=i({...S,setup(D){const s=B({server:[],env:[],auth:[]}),v=()=>{f().then(r=>{s.server=r.server,s.env=r.env,s.auth=r.auth})};return k(()=>{v()}),(r,o)=>{const a=y,_=x,m=w,d=b;return n(),h("div",C,[e(m,{class:"!border-none",shadow:"never"},{default:t(()=>[o[0]||(o[0]=l("div",null,"服务器信息",-1)),l("div",g,[e(_,{data:p(s).server},{default:t(()=>[e(a,{prop:"param",label:"参数"}),e(a,{prop:"value",label:"值"})]),_:1},8,["data"])])]),_:1}),e(m,{shadow:"never",class:"!border-none mt-4"},{default:t(()=>[o[1]||(o[1]=l("div",null,"PHP环境要求",-1)),l("div",E,[e(_,{data:p(s).env},{default:t(()=>[e(a,{prop:"option",label:"选项"}),e(a,{prop:"require",label:"要求"}),e(a,{label:"状态"},{default:t(u=>[u.row.status?(n(),c(d,{key:0,name:"el-icon-Select",class:"text-success"})):(n(),c(d,{key:1,name:"el-icon-CloseBold",class:"text-danger"}))]),_:1}),e(a,{prop:"remark",label:"说明及帮助"})]),_:1},8,["data"])])]),_:1}),e(m,{shadow:"never",class:"!border-none mt-4"},{default:t(()=>[o[2]||(o[2]=l("div",null,"目录权限",-1)),l("div",q,[e(_,{data:p(s).auth},{default:t(()=>[e(a,{prop:"dir",label:"选项"}),e(a,{prop:"require",label:"要求"}),e(a,{label:"状态"},{default:t(u=>[u.row.status?(n(),c(d,{key:0,name:"el-icon-Select",class:"text-success"})):(n(),c(d,{key:1,name:"el-icon-CloseBold",class:"text-danger"}))]),_:1}),e(a,{prop:"remark",label:"说明及帮助"})]),_:1},8,["data"])])]),_:1})])}}});export{P as default}; diff --git a/server/public/admin/assets/error-Bgj-pwO8.js b/server/public/admin/assets/error-Pzo5SbGa.js similarity index 92% rename from server/public/admin/assets/error-Bgj-pwO8.js rename to server/public/admin/assets/error-Pzo5SbGa.js index 947882a6..ae37a58d 100644 --- a/server/public/admin/assets/error-Bgj-pwO8.js +++ b/server/public/admin/assets/error-Pzo5SbGa.js @@ -1 +1 @@ -import{o as u,W as m,aq as v,q as l,r as _,s,ah as f,T as r,O as p,D as B,L as h,u as x,P as g,M as y,K as k}from"./.pnpm-9dA1PEvN.js";import{_ as w}from"./index-CJvXnF8Y.js";const C={class:"error"},I={class:"error-code"},S={class:"text-lg text-tx-secondary mt-7 mb-7"},b=u({__name:"error",props:{code:String,title:String,showBtn:{type:Boolean,default:!0}},setup(e){const c=e;let t=null;const o=y(5),a=m();return c.showBtn&&(t=setInterval(()=>{o.value===0?(clearInterval(t),a.go(-1)):o.value--},1e3)),v(()=>{t&&clearInterval(t)}),(d,n)=>{const i=k;return l(),_("div",C,[s("div",null,[f(d.$slots,"content",{},()=>[s("div",I,r(e.code),1)],!0),s("div",S,r(e.title),1),e.showBtn?(l(),p(i,{key:0,type:"primary",onClick:n[0]||(n[0]=E=>x(a).go(-1))},{default:B(()=>[h(r(o.value)+" 秒后返回上一页 ",1)]),_:1})):g("",!0)])])}}}),q=w(b,[["__scopeId","data-v-58b95848"]]);export{q as default}; +import{o as u,W as m,aq as v,q as l,r as _,s,ah as f,T as r,O as p,D as B,L as h,u as x,P as g,M as y,K as k}from"./.pnpm-9dA1PEvN.js";import{_ as w}from"./index-BWzN7QIb.js";const C={class:"error"},I={class:"error-code"},S={class:"text-lg text-tx-secondary mt-7 mb-7"},b=u({__name:"error",props:{code:String,title:String,showBtn:{type:Boolean,default:!0}},setup(e){const c=e;let t=null;const o=y(5),a=m();return c.showBtn&&(t=setInterval(()=>{o.value===0?(clearInterval(t),a.go(-1)):o.value--},1e3)),v(()=>{t&&clearInterval(t)}),(d,n)=>{const i=k;return l(),_("div",C,[s("div",null,[f(d.$slots,"content",{},()=>[s("div",I,r(e.code),1)],!0),s("div",S,r(e.title),1),e.showBtn?(l(),p(i,{key:0,type:"primary",onClick:n[0]||(n[0]=E=>x(a).go(-1))},{default:B(()=>[h(r(o.value)+" 秒后返回上一页 ",1)]),_:1})):g("",!0)])])}}}),q=w(b,[["__scopeId","data-v-58b95848"]]);export{q as default}; diff --git a/server/public/admin/assets/fans-apIaPYUL.js b/server/public/admin/assets/fans-BTjxVOhr.js similarity index 89% rename from server/public/admin/assets/fans-apIaPYUL.js rename to server/public/admin/assets/fans-BTjxVOhr.js index d2c95912..1d3ba19f 100644 --- a/server/public/admin/assets/fans-apIaPYUL.js +++ b/server/public/admin/assets/fans-BTjxVOhr.js @@ -1 +1 @@ -import{r as n}from"./index-CJvXnF8Y.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-BWzN7QIb.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-BJDA0rIT.js b/server/public/admin/assets/file-BL6iPgPC.js similarity index 95% rename from server/public/admin/assets/file-BJDA0rIT.js rename to server/public/admin/assets/file-BL6iPgPC.js index e33ae8bb..74d63f7b 100644 --- a/server/public/admin/assets/file-BJDA0rIT.js +++ b/server/public/admin/assets/file-BL6iPgPC.js @@ -1 +1 @@ -import{e as f,p as a,g as c,R as p,r as t}from"./index-CJvXnF8Y.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,p as a,g as c,R as p,r as t}from"./index-BWzN7QIb.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-out4eeUQ.js b/server/public/admin/assets/file-mAs5e8lw.js similarity index 90% rename from server/public/admin/assets/file-out4eeUQ.js rename to server/public/admin/assets/file-mAs5e8lw.js index 9210d35f..8c1da7cd 100644 --- a/server/public/admin/assets/file-out4eeUQ.js +++ b/server/public/admin/assets/file-mAs5e8lw.js @@ -1 +1 @@ -import{o as v,q as r,r as p,v as a,D as n,s as e,u as s,bg as f,K as x,L as V,b7 as _,ba as w}from"./.pnpm-9dA1PEvN.js";import{_ as b}from"./picker-DWQ_BAep.js";import"./index-BBemoNXE.js";import"./index-CJvXnF8Y.js";import"./index-CY1mb9yY.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-CAGpCz28.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const U={class:"flex flex-wrap"},B={class:"flex m-4"},E={class:"flex m-4"},k={class:"flex flex-1 m-4"},C={class:"flex-1"},N={class:"flex flex-wrap"},g={class:"flex m-4"},c={class:"flex m-4"},q={class:"flex m-4"},y={class:"flex m-4 items-center"},z={class:"flex m-4 items-center"},P=v({__name:"file",setup(D){const o=w({value1:"",value2:[],value3:"",value4:"",value5:"",value6:""});return(I,l)=>{const d=b,u=f,i=x,m=_;return r(),p("div",null,[a(u,{header:"基础使用",shadow:"never",class:"!border-none"},{default:n(()=>[e("div",U,[e("div",B,[l[6]||(l[6]=e("div",{class:"mr-4"},"选择图片:",-1)),a(d,{modelValue:s(o).value1,"onUpdate:modelValue":l[0]||(l[0]=t=>s(o).value1=t)},null,8,["modelValue"])]),e("div",E,[l[7]||(l[7]=e("div",{class:"mr-4"},"选择视频:",-1)),a(d,{type:"video",modelValue:s(o).value3,"onUpdate:modelValue":l[1]||(l[1]=t=>s(o).value3=t)},null,8,["modelValue"])]),e("div",k,[l[8]||(l[8]=e("div",{class:"mr-4"},"多张图片:",-1)),e("div",C,[a(d,{limit:4,modelValue:s(o).value2,"onUpdate:modelValue":l[2]||(l[2]=t=>s(o).value2=t)},null,8,["modelValue"])])])])]),_:1}),a(u,{header:"进阶用法",shadow:"never",class:"!border-none mt-4"},{default:n(()=>[e("div",N,[e("div",g,[l[9]||(l[9]=e("div",{class:"mr-4"},"自定义选择器大小:",-1)),a(d,{size:"60px",modelValue:s(o).value4,"onUpdate:modelValue":l[3]||(l[3]=t=>s(o).value4=t)},null,8,["modelValue"])]),e("div",c,[l[11]||(l[11]=e("div",{class:"mr-4"},"使用插槽:",-1)),a(d,{modelValue:s(o).value5,"onUpdate:modelValue":l[4]||(l[4]=t=>s(o).value5=t)},{upload:n(()=>[a(i,null,{default:n(()=>[...l[10]||(l[10]=[V("选择文件",-1)])]),_:1})]),_:1},8,["modelValue"])]),e("div",q,[l[12]||(l[12]=e("div",{class:"mr-4"},"选出地址不带域名:",-1)),a(d,{"exclude-domain":!0,modelValue:s(o).value6,"onUpdate:modelValue":l[5]||(l[5]=t=>s(o).value6=t)},null,8,["modelValue"])])]),e("div",null,[e("div",y,[l[13]||(l[13]=e("div",{class:"w-20 flex-none"},"带域名:",-1)),a(m,{class:"w-[500px]","model-value":s(o).value5},null,8,["model-value"])]),e("div",z,[l[14]||(l[14]=e("div",{class:"w-20 flex-none"},"不带域名:",-1)),a(m,{class:"w-[500px]","model-value":s(o).value6},null,8,["model-value"])])])]),_:1})])}}});export{P as default}; +import{o as v,q as r,r as p,v as a,D as n,s as e,u as s,bg as f,K as x,L as V,b7 as _,ba as w}from"./.pnpm-9dA1PEvN.js";import{_ as b}from"./picker-DfI3CPnQ.js";import"./index-dYaCh-CN.js";import"./index-BWzN7QIb.js";import"./index-xDQ_OZln.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-fA0EWEUO.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const U={class:"flex flex-wrap"},B={class:"flex m-4"},E={class:"flex m-4"},k={class:"flex flex-1 m-4"},C={class:"flex-1"},N={class:"flex flex-wrap"},g={class:"flex m-4"},c={class:"flex m-4"},q={class:"flex m-4"},y={class:"flex m-4 items-center"},z={class:"flex m-4 items-center"},P=v({__name:"file",setup(D){const o=w({value1:"",value2:[],value3:"",value4:"",value5:"",value6:""});return(I,l)=>{const d=b,u=f,i=x,m=_;return r(),p("div",null,[a(u,{header:"基础使用",shadow:"never",class:"!border-none"},{default:n(()=>[e("div",U,[e("div",B,[l[6]||(l[6]=e("div",{class:"mr-4"},"选择图片:",-1)),a(d,{modelValue:s(o).value1,"onUpdate:modelValue":l[0]||(l[0]=t=>s(o).value1=t)},null,8,["modelValue"])]),e("div",E,[l[7]||(l[7]=e("div",{class:"mr-4"},"选择视频:",-1)),a(d,{type:"video",modelValue:s(o).value3,"onUpdate:modelValue":l[1]||(l[1]=t=>s(o).value3=t)},null,8,["modelValue"])]),e("div",k,[l[8]||(l[8]=e("div",{class:"mr-4"},"多张图片:",-1)),e("div",C,[a(d,{limit:4,modelValue:s(o).value2,"onUpdate:modelValue":l[2]||(l[2]=t=>s(o).value2=t)},null,8,["modelValue"])])])])]),_:1}),a(u,{header:"进阶用法",shadow:"never",class:"!border-none mt-4"},{default:n(()=>[e("div",N,[e("div",g,[l[9]||(l[9]=e("div",{class:"mr-4"},"自定义选择器大小:",-1)),a(d,{size:"60px",modelValue:s(o).value4,"onUpdate:modelValue":l[3]||(l[3]=t=>s(o).value4=t)},null,8,["modelValue"])]),e("div",c,[l[11]||(l[11]=e("div",{class:"mr-4"},"使用插槽:",-1)),a(d,{modelValue:s(o).value5,"onUpdate:modelValue":l[4]||(l[4]=t=>s(o).value5=t)},{upload:n(()=>[a(i,null,{default:n(()=>[...l[10]||(l[10]=[V("选择文件",-1)])]),_:1})]),_:1},8,["modelValue"])]),e("div",q,[l[12]||(l[12]=e("div",{class:"mr-4"},"选出地址不带域名:",-1)),a(d,{"exclude-domain":!0,modelValue:s(o).value6,"onUpdate:modelValue":l[5]||(l[5]=t=>s(o).value6=t)},null,8,["modelValue"])])]),e("div",null,[e("div",y,[l[13]||(l[13]=e("div",{class:"w-20 flex-none"},"带域名:",-1)),a(m,{class:"w-[500px]","model-value":s(o).value5},null,8,["model-value"])]),e("div",z,[l[14]||(l[14]=e("div",{class:"w-20 flex-none"},"不带域名:",-1)),a(m,{class:"w-[500px]","model-value":s(o).value6},null,8,["model-value"])])])]),_:1})])}}});export{P as default}; diff --git a/server/public/admin/assets/filing-BrfjjJs2.js b/server/public/admin/assets/filing-BgOiZ90h.js similarity index 88% rename from server/public/admin/assets/filing-BrfjjJs2.js rename to server/public/admin/assets/filing-BgOiZ90h.js index b5b7889c..3615c26a 100644 --- a/server/public/admin/assets/filing-BrfjjJs2.js +++ b/server/public/admin/assets/filing-BgOiZ90h.js @@ -1 +1 @@ -import{_ as F}from"./index-bkWlwzQZ.js";import{o as b,be as x,q as i,r as m,v as e,D as t,s as l,b9 as U,F as N,G as I,u as f,O as v,b6 as L,b7 as $,K as q,L as g,bg as A,ac as G,M as K}from"./.pnpm-9dA1PEvN.js";import{c as M,i as O}from"./index-CJvXnF8Y.js";import{_ as P}from"./index-CAGpCz28.js";import{g as S,s as T}from"./website-CigJCWyv.js";const j={class:"website-filing"},z={class:"py-4 bg-fill-lighter"},H={class:"w-80"},J={class:"w-80"},Q=b({name:"webFilling"}),oe=b({...Q,setup(R){const n=K([{key:"",value:""}]),c=async()=>{const s=await S();s.length&&(n.value=s)},w=()=>{n.value.push({key:"",value:""})},h=s=>{if(n.value.length<=1)return O.msgError("至少保留一个");n.value.splice(s,1)},y=async()=>{await T({config:n.value}),c()};return c(),(s,o)=>{const _=$,d=L,k=P,V=M,u=q,C=U,E=A,D=F,B=x("perms");return i(),m("div",j,[e(E,{shadow:"never",class:"!border-none"},{default:t(()=>[o[2]||(o[2]=l("div",{class:"mb-5"},"站点底部版权备案信息设置",-1)),e(C,{ref:"form",class:"ls-form","label-width":"100px"},{default:t(()=>[(i(!0),m(N,null,I(f(n),(a,p)=>(i(),v(k,{class:"mb-4",key:p,"show-close":f(n).length>1,onClose:r=>h(p)},{default:t(()=>[l("div",z,[e(d,{label:"显示名称",prop:"icp_link"},{default:t(()=>[l("div",H,[l("div",null,[e(_,{modelValue:a.key,"onUpdate:modelValue":r=>a.key=r,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])])])]),_:2},1024),e(d,{label:"跳转链接",prop:"icp_link"},{default:t(()=>[l("div",J,[l("div",null,[e(_,{modelValue:a.value,"onUpdate:modelValue":r=>a.value=r,placeholder:"请输入链接,例如:http://www.beian.gov.cn"},null,8,["modelValue","onUpdate:modelValue"])]),o[0]||(o[0]=l("div",{class:"form-tips"},"跳转链接不设置,则不跳转",-1))])]),_:2},1024)])]),_:2},1032,["show-close","onClose"]))),128)),l("div",null,[e(u,{type:"primary",onClick:w},{default:t(()=>[e(V,{name:"el-icon-Plus"}),o[1]||(o[1]=g(" 添加 ",-1))]),_:1})])]),_:1},512)]),_:1}),G((i(),v(D,null,{default:t(()=>[e(u,{type:"primary",onClick:y},{default:t(()=>[...o[3]||(o[3]=[g("保存",-1)])]),_:1})]),_:1})),[[B,["setting.web.web_setting/setCopyright"]]])])}}});export{oe as default}; +import{_ as F}from"./index-DZiQLFzx.js";import{o as b,be as x,q as i,r as m,v as e,D as t,s as l,b9 as U,F as N,G as I,u as f,O as v,b6 as L,b7 as $,K as q,L as g,bg as A,ac as G,M as K}from"./.pnpm-9dA1PEvN.js";import{c as M,i as O}from"./index-BWzN7QIb.js";import{_ as P}from"./index-fA0EWEUO.js";import{g as S,s as T}from"./website-D68_BOrK.js";const j={class:"website-filing"},z={class:"py-4 bg-fill-lighter"},H={class:"w-80"},J={class:"w-80"},Q=b({name:"webFilling"}),oe=b({...Q,setup(R){const n=K([{key:"",value:""}]),c=async()=>{const s=await S();s.length&&(n.value=s)},w=()=>{n.value.push({key:"",value:""})},h=s=>{if(n.value.length<=1)return O.msgError("至少保留一个");n.value.splice(s,1)},y=async()=>{await T({config:n.value}),c()};return c(),(s,o)=>{const _=$,d=L,k=P,V=M,u=q,C=U,E=A,D=F,B=x("perms");return i(),m("div",j,[e(E,{shadow:"never",class:"!border-none"},{default:t(()=>[o[2]||(o[2]=l("div",{class:"mb-5"},"站点底部版权备案信息设置",-1)),e(C,{ref:"form",class:"ls-form","label-width":"100px"},{default:t(()=>[(i(!0),m(N,null,I(f(n),(a,p)=>(i(),v(k,{class:"mb-4",key:p,"show-close":f(n).length>1,onClose:r=>h(p)},{default:t(()=>[l("div",z,[e(d,{label:"显示名称",prop:"icp_link"},{default:t(()=>[l("div",H,[l("div",null,[e(_,{modelValue:a.key,"onUpdate:modelValue":r=>a.key=r,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])])])]),_:2},1024),e(d,{label:"跳转链接",prop:"icp_link"},{default:t(()=>[l("div",J,[l("div",null,[e(_,{modelValue:a.value,"onUpdate:modelValue":r=>a.value=r,placeholder:"请输入链接,例如:http://www.beian.gov.cn"},null,8,["modelValue","onUpdate:modelValue"])]),o[0]||(o[0]=l("div",{class:"form-tips"},"跳转链接不设置,则不跳转",-1))])]),_:2},1024)])]),_:2},1032,["show-close","onClose"]))),128)),l("div",null,[e(u,{type:"primary",onClick:w},{default:t(()=>[e(V,{name:"el-icon-Plus"}),o[1]||(o[1]=g(" 添加 ",-1))]),_:1})])]),_:1},512)]),_:1}),G((i(),v(D,null,{default:t(()=>[e(u,{type:"primary",onClick:y},{default:t(()=>[...o[3]||(o[3]=[g("保存",-1)])]),_:1})]),_:1})),[[B,["setting.web.web_setting/setCopyright"]]])])}}});export{oe as default}; diff --git a/server/public/admin/assets/finance-BJtj-zFw.js b/server/public/admin/assets/finance-DNeCzSo4.js similarity index 95% rename from server/public/admin/assets/finance-BJtj-zFw.js rename to server/public/admin/assets/finance-DNeCzSo4.js index 4d1396a1..b88d19ec 100644 --- a/server/public/admin/assets/finance-BJtj-zFw.js +++ b/server/public/admin/assets/finance-DNeCzSo4.js @@ -1 +1 @@ -import{r as t}from"./index-CJvXnF8Y.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-BWzN7QIb.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/follow_reply-DqophWq3.js b/server/public/admin/assets/follow_reply-BmrHcKki.js similarity index 91% rename from server/public/admin/assets/follow_reply-DqophWq3.js rename to server/public/admin/assets/follow_reply-BmrHcKki.js index b6e779db..9829b411 100644 --- a/server/public/admin/assets/follow_reply-DqophWq3.js +++ b/server/public/admin/assets/follow_reply-BmrHcKki.js @@ -1 +1 @@ -import{o as S,q as f,r as T,v as t,D as l,bh as B,bg as L,s as g,K as N,L as p,ac as O,O as y,bj as P,u as o,bk as U,T as j,I as A,bi as q,C as z,P as F,a8 as I,M as K,p as M,n as b}from"./.pnpm-9dA1PEvN.js";import{_ as G}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as H,i as J}from"./index-CJvXnF8Y.js";import{d as Q,o as W,e as X}from"./wx_oa-DPme7qiY.js";import{u as Y}from"./usePaging-Boz1Q6w3.js";import{_ as Z}from"./edit.vue_vue_type_script_setup_true_lang-Crcur3sR.js";import"./index-BBemoNXE.js";const ee={class:"flex justify-end mt-4"},de=S({__name:"follow_reply",setup(te){const d=I(),c=K(!1),w=M(()=>n=>{switch(n){case 1:return"文本"}}),{pager:r,getLists:s}=Y({fetchFun:Q,params:{reply_type:1}}),h=async()=>{var n;c.value=!0,await b(),(n=d.value)==null||n.open("add",1)},C=async n=>{var e,u;c.value=!0,await b(),(e=d.value)==null||e.open("edit",1),(u=d.value)==null||u.getDetail(n)},k=async n=>{await J.confirm("确定要删除?"),await W({id:n}),s()},V=async n=>{try{await X({id:n}),s()}catch{s()}};return s(),(n,e)=>{const u=B,v=L,E=H,_=N,i=U,$=A,x=P,R=G,D=q;return f(),T("div",null,[t(v,{class:"!border-none",shadow:"never"},{default:l(()=>[t(u,{type:"warning",title:"温馨提示:1.粉丝关注公众号时,会自动发送启用的关注回复;2.同时只能启用一个关注回复。",closable:!1,"show-icon":""})]),_:1}),t(v,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[g("div",null,[t(_,{class:"mb-4",type:"primary",onClick:e[0]||(e[0]=a=>h())},{icon:l(()=>[t(E,{name:"el-icon-Plus"})]),default:l(()=>[e[3]||(e[3]=p(" 新增 ",-1))]),_:1})]),O((f(),y(x,{size:"large",data:o(r).lists},{default:l(()=>[t(i,{label:"规则名称",prop:"name","min-width":"120"}),t(i,{label:"回复类型","min-width":"120"},{default:l(({row:a})=>[p(j(o(w)(a.content_type)),1)]),_:1}),t(i,{label:"回复内容",prop:"content","min-width":"120"}),t(i,{label:"状态","min-width":"120"},{default:l(({row:a})=>[t($,{modelValue:a.status,"onUpdate:modelValue":m=>a.status=m,"active-value":1,"inactive-value":0,onChange:m=>V(a.id)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),t(i,{label:"排序",prop:"sort","min-width":"120"}),t(i,{label:"操作",width:"120",fixed:"right"},{default:l(({row:a})=>[t(_,{type:"primary",link:"",onClick:m=>C(a)},{default:l(()=>[...e[4]||(e[4]=[p(" 编辑 ",-1)])]),_:1},8,["onClick"]),t(_,{type:"danger",link:"",onClick:m=>k(a.id)},{default:l(()=>[...e[5]||(e[5]=[p(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[D,o(r).loading]]),g("div",ee,[t(R,{modelValue:o(r),"onUpdate:modelValue":e[1]||(e[1]=a=>z(r)?r.value=a:null),onChange:o(s)},null,8,["modelValue","onChange"])])]),_:1}),o(c)?(f(),y(Z,{key:0,ref_key:"editRef",ref:d,onSuccess:o(s),onClose:e[2]||(e[2]=a=>c.value=!1)},null,8,["onSuccess"])):F("",!0)])}}});export{de as default}; +import{o as S,q as f,r as T,v as t,D as l,bh as B,bg as L,s as g,K as N,L as p,ac as O,O as y,bj as P,u as o,bk as U,T as j,I as A,bi as q,C as z,P as F,a8 as I,M as K,p as M,n as b}from"./.pnpm-9dA1PEvN.js";import{_ as G}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as H,i as J}from"./index-BWzN7QIb.js";import{d as Q,o as W,e as X}from"./wx_oa-HhzP-R8g.js";import{u as Y}from"./usePaging-Boz1Q6w3.js";import{_ as Z}from"./edit.vue_vue_type_script_setup_true_lang-bW869IPL.js";import"./index-dYaCh-CN.js";const ee={class:"flex justify-end mt-4"},de=S({__name:"follow_reply",setup(te){const d=I(),c=K(!1),w=M(()=>n=>{switch(n){case 1:return"文本"}}),{pager:r,getLists:s}=Y({fetchFun:Q,params:{reply_type:1}}),h=async()=>{var n;c.value=!0,await b(),(n=d.value)==null||n.open("add",1)},C=async n=>{var e,u;c.value=!0,await b(),(e=d.value)==null||e.open("edit",1),(u=d.value)==null||u.getDetail(n)},k=async n=>{await J.confirm("确定要删除?"),await W({id:n}),s()},V=async n=>{try{await X({id:n}),s()}catch{s()}};return s(),(n,e)=>{const u=B,v=L,E=H,_=N,i=U,$=A,x=P,R=G,D=q;return f(),T("div",null,[t(v,{class:"!border-none",shadow:"never"},{default:l(()=>[t(u,{type:"warning",title:"温馨提示:1.粉丝关注公众号时,会自动发送启用的关注回复;2.同时只能启用一个关注回复。",closable:!1,"show-icon":""})]),_:1}),t(v,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[g("div",null,[t(_,{class:"mb-4",type:"primary",onClick:e[0]||(e[0]=a=>h())},{icon:l(()=>[t(E,{name:"el-icon-Plus"})]),default:l(()=>[e[3]||(e[3]=p(" 新增 ",-1))]),_:1})]),O((f(),y(x,{size:"large",data:o(r).lists},{default:l(()=>[t(i,{label:"规则名称",prop:"name","min-width":"120"}),t(i,{label:"回复类型","min-width":"120"},{default:l(({row:a})=>[p(j(o(w)(a.content_type)),1)]),_:1}),t(i,{label:"回复内容",prop:"content","min-width":"120"}),t(i,{label:"状态","min-width":"120"},{default:l(({row:a})=>[t($,{modelValue:a.status,"onUpdate:modelValue":m=>a.status=m,"active-value":1,"inactive-value":0,onChange:m=>V(a.id)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),t(i,{label:"排序",prop:"sort","min-width":"120"}),t(i,{label:"操作",width:"120",fixed:"right"},{default:l(({row:a})=>[t(_,{type:"primary",link:"",onClick:m=>C(a)},{default:l(()=>[...e[4]||(e[4]=[p(" 编辑 ",-1)])]),_:1},8,["onClick"]),t(_,{type:"danger",link:"",onClick:m=>k(a.id)},{default:l(()=>[...e[5]||(e[5]=[p(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[D,o(r).loading]]),g("div",ee,[t(R,{modelValue:o(r),"onUpdate:modelValue":e[1]||(e[1]=a=>z(r)?r.value=a:null),onChange:o(s)},null,8,["modelValue","onChange"])])]),_:1}),o(c)?(f(),y(Z,{key:0,ref_key:"editRef",ref:d,onSuccess:o(s),onClose:e[2]||(e[2]=a=>c.value=!1)},null,8,["onSuccess"])):F("",!0)])}}});export{de as default}; diff --git a/server/public/admin/assets/footer.vue_vue_type_script_setup_true_lang-B19wnkFb.js b/server/public/admin/assets/footer.vue_vue_type_script_setup_true_lang-D4zoiAR0.js similarity index 87% rename from server/public/admin/assets/footer.vue_vue_type_script_setup_true_lang-B19wnkFb.js rename to server/public/admin/assets/footer.vue_vue_type_script_setup_true_lang-D4zoiAR0.js index b62e8812..49f53f5e 100644 --- a/server/public/admin/assets/footer.vue_vue_type_script_setup_true_lang-B19wnkFb.js +++ b/server/public/admin/assets/footer.vue_vue_type_script_setup_true_lang-D4zoiAR0.js @@ -1 +1 @@ -import{e as a}from"./index-CJvXnF8Y.js";import{o as n,q as t,r as o,s as c,F as p,G as _,u as i,p as u,T as l}from"./.pnpm-9dA1PEvN.js";const f={class:"layout-footer"},m={class:"text-center p-2 text-xs text-tx-secondary max-w-[900px] mx-auto"},x=["href"],v=n({__name:"footer",setup(d){const s=a(),r=u(()=>s.config.copyright_config||[]);return(h,y)=>(t(),o("footer",f,[c("div",m,[(t(!0),o(p,null,_(i(r),e=>(t(),o("a",{class:"mx-1 hover:underline",href:e.value,target:"_blank",key:e.key},l(e.key),9,x))),128))])]))}});export{v as _}; +import{e as a}from"./index-BWzN7QIb.js";import{o as n,q as t,r as o,s as c,F as p,G as _,u as i,p as u,T as l}from"./.pnpm-9dA1PEvN.js";const f={class:"layout-footer"},m={class:"text-center p-2 text-xs text-tx-secondary max-w-[900px] mx-auto"},x=["href"],v=n({__name:"footer",setup(d){const s=a(),r=u(()=>s.config.copyright_config||[]);return(h,y)=>(t(),o("footer",f,[c("div",m,[(t(!0),o(p,null,_(i(r),e=>(t(),o("a",{class:"mx-1 hover:underline",href:e.value,target:"_blank",key:e.key},l(e.key),9,x))),128))])]))}});export{v as _}; diff --git a/server/public/admin/assets/guahao-NSaN8-wM.js b/server/public/admin/assets/guahao-BbsG0p0L.js similarity index 98% rename from server/public/admin/assets/guahao-NSaN8-wM.js rename to server/public/admin/assets/guahao-BbsG0p0L.js index d17571f0..41245f7b 100644 --- a/server/public/admin/assets/guahao-NSaN8-wM.js +++ b/server/public/admin/assets/guahao-BbsG0p0L.js @@ -1 +1 @@ -import{o as J,ap as Se,bo as ke,be as Ce,q as d,r as S,v as l,D as o,b9 as xe,aw as Ee,u as a,b6 as Ue,b7 as De,b8 as W,bm as Ne,F as D,G as N,O as b,bn as qe,K as Te,L as c,bg as Be,s as v,ac as L,T as f,P as F,bj as Fe,bk as He,br as Pe,bi as Re,C as M,bp as Ae,c5 as Ie,bc as Le,bb as Me,bt as $e,ba as $,M as k,p as H}from"./.pnpm-9dA1PEvN.js";import{_ as Ke}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{_ as Oe}from"./index.vue_vue_type_script_setup_true_lang-C38LpCy9.js";import{i as g,m as Ge}from"./index-CJvXnF8Y.js";import{a as Ye,b as je,c as Qe}from"./doctor-Bmtf1eZE.js";import{i as ze}from"./tcm-DOD9_1Um.js";import{u as We}from"./usePaging-Boz1Q6w3.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"},st={key:0,class:"text-xs text-gray-400 truncate"},it={class:"flex justify-end mt-4"},rt={class:"text-sm text-gray-600 mb-4"},ut=J({name:"consumerPrescriptionGuahao"}),ht=J({...ut,setup(dt){const m=$({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:q}=We({fetchFun:Ye,params:m}),T=k([]),K=k(null),h=k([]);function Z(s){h.value=s}const ee=new Set(["自媒体4H","自媒体3Q","自媒体3H","自媒体2H","自媒体2Q"]);function B(s){return ee.has(String(s??"").trim())}const y=k([]),te=H(()=>{const s=n.channel_source;if(s===""||s==null)return"";const e=y.value.find(i=>String(i.value)===String(s));return e?String(e.name??"").trim():""}),O=H(()=>B(te.value)),le=H(()=>{const s=p.channel_source;if(s===""||s==null)return"";const e=y.value.find(i=>String(i.value)===String(s));return e?String(e.name??"").trim():""}),G=H(()=>B(le.value));function ae(s){const e=y.value.find(u=>String(u.value)===String(s)),i=e?String(e.name??"").trim():"";B(i)||(p.channel_source_detail="")}const C=k(!1),P=k(!1),p=$({channel_source:"",channel_source_detail:""});function ne(){if(h.value.length===0){g.msgWarning("请先勾选挂号记录");return}p.channel_source="",p.channel_source_detail="",C.value=!0}function oe(){p.channel_source="",p.channel_source_detail=""}async function se(){var s,e;if(h.value.length===0){g.msgWarning("请先勾选挂号记录");return}if(!p.channel_source){g.msgError("请选择渠道来源");return}if(G.value&&!p.channel_source_detail.trim()){g.msgError("请填写自媒体补充说明");return}P.value=!0;try{const i=h.value.map(u=>Number(u.id));await je({ids:i,channel_source:p.channel_source,channel_source_detail:p.channel_source_detail.trim()}),g.msgSuccess("批量修改成功"),C.value=!1,(e=(s=K.value)==null?void 0:s.clearSelection)==null||e.call(s),h.value=[],U()}finally{P.value=!1}}function ie(s){const e=y.value.find(u=>String(u.value)===String(s)),i=e?String(e.name??"").trim():"";B(i)||(n.channel_source_detail="")}const x=k(!1),R=k(!1),n=$({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(s){const e=String(s||"");return e.length>=11?e.slice(0,3)+"****"+e.slice(-4):e||"—"}function Y(s){const e=String(s||"");return e.length>=5?e.slice(0,5):e||"—"}function ue(){Object.assign(m,X),q()}function de(s){const e=String(s.period??s.type??"morning");return e==="afternoon"||e==="all"?e:"morning"}async function me(){try{const s=await ze();T.value=(s==null?void 0:s.lists)??s??[]}catch{T.value=[]}}async function pe(){try{const s=await Ge({type:"channels"}),e=((s==null?void 0:s.channels)||[]).filter(i=>i.status!==0);e.sort((i,u)=>{const r=Number((u==null?void 0:u.sort)??0)-Number((i==null?void 0:i.sort)??0);return r!==0?r:Number((u==null?void 0:u.id)??0)-Number((i==null?void 0:i.id)??0)}),y.value=e}catch{y.value=[]}}function ce(s){n.id=Number(s.id),n.appointment_date=String(s.appointment_date||""),n.appointment_time=Y(String(s.appointment_time||"")),n.period=de(s),n.appointment_type=String(s.appointment_type||"video"),n.status=Number(s.status),n.remark=String(s.remark||"");const e=s.appointment_assistant_id;n.assistant_id=e!=null&&e!==""?Number(e):void 0,n.channel_source=String(s.channel_source??s.channels??""),n.channel_source_detail=String(s.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){g.msgError("请选择预约日期");return}if(!n.appointment_time){g.msgError("请选择预约时间");return}if(!n.channel_source){g.msgError("请选择渠道来源");return}if(O.value&&!n.channel_source_detail.trim()){g.msgError("请填写自媒体补充说明");return}R.value=!0;try{const s={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 Qe(s),g.msgSuccess("保存成功"),x.value=!1,U()}finally{R.value=!1}}return Se(()=>{me(),pe()}),ke(()=>{U()}),U(),(s,e)=>{const i=Ue,u=De,r=qe,V=Ne,w=Te,A=xe,j=Be,_=He,be=Pe,ve=Fe,ge=Ke,he=Ae,ye=Ie,I=Me,Ve=Le,Q=$e,z=Ce("perms"),we=Re;return d(),S("div",Je,[l(j,{class:"!border-none",shadow:"never"},{default:o(()=>[l(A,{class:"mb-[-16px]",model:a(m),inline:!0,onSubmit:e[7]||(e[7]=Ee(()=>{},["prevent"]))},{default:o(()=>[l(i,{label:"预约日期"},{default:o(()=>[l(Oe,{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(i,{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:W(a(q),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(i,{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:W(a(q),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(i,{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(D,null,N(a(T),t=>(d(),b(r,{key:t.id,label:t.name+(t.account?` (${t.account})`:""),value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(i,{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(i,{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(D,null,N(a(y),t=>(d(),b(r,{key:String(t.value),label:t.name,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(i,null,{default:o(()=>[l(w,{type:"primary",onClick:a(q)},{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(j,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[v("div",Xe,[L((d(),b(w,{type:"primary",disabled:a(h).length===0,onClick:ne},{default:o(()=>[...e[26]||(e[26]=[c(" 批量修改渠道 ",-1)])]),_:1},8,["disabled"])),[[z,["doctor.appointment/edit"]]]),a(h).length>0?(d(),S("span",Ze," 已选 "+f(a(h).length)+" 条 ",1)):F("",!0)]),L((d(),b(ve,{ref_key:"tableRef",ref:K,"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})=>[v("div",et,[v("div",tt,f(t.patient_name||"—"),1),v("div",lt,f(re(t.patient_phone)),1),v("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})=>[v("div",null,f(t.appointment_date),1),v("div",nt,f(Y(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})=>[v("div",ot,f(t.channel_source_desc||"—"),1),t.channel_source_detail?(d(),S("div",st,f(t.channel_source_detail),1)):F("",!0)]),_:1}),l(_,{label:"状态",width:"96",align:"center"},{default:o(({row:t})=>[l(be,{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})=>[L((d(),b(w,{type:"primary",link:"",onClick:mt=>ce(t)},{default:o(()=>[...e[27]||(e[27]=[c(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[z,["doctor.appointment/edit"]]])]),_:1})]),_:1},8,["data"])),[[we,a(E).loading]]),v("div",it,[l(ge,{modelValue:a(E),"onUpdate:modelValue":e[8]||(e[8]=t=>M(E)?E.value=t:null),onChange:a(U)},null,8,["modelValue","onChange"])])]),_:1}),l(Q,{modelValue:a(x),"onUpdate:modelValue":e[19]||(e[19]=t=>M(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(R),onClick:fe},{default:o(()=>[...e[32]||(e[32]=[c("保存",-1)])]),_:1},8,["loading"])]),default:o(()=>[l(A,{model:a(n),"label-width":"96px"},{default:o(()=>[l(i,{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(i,{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(i,{label:"时段",required:""},{default:o(()=>[l(Ve,{modelValue:a(n).period,"onUpdate:modelValue":e[11]||(e[11]=t=>a(n).period=t)},{default:o(()=>[l(I,{label:"morning"},{default:o(()=>[...e[28]||(e[28]=[c("上午",-1)])]),_:1}),l(I,{label:"afternoon"},{default:o(()=>[...e[29]||(e[29]=[c("下午",-1)])]),_:1}),l(I,{label:"all"},{default:o(()=>[...e[30]||(e[30]=[c("全天",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(i,{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(i,{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:ie},{default:o(()=>[(d(!0),S(D,null,N(a(y),t=>(d(),b(r,{key:String(t.value),label:t.name,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(O)?(d(),b(i,{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})):F("",!0),l(i,{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(i,{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(D,null,N(a(T),t=>(d(),b(r,{key:t.id,label:t.name+(t.account?` (${t.account})`:""),value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(i,{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(Q,{modelValue:a(C),"onUpdate:modelValue":e[23]||(e[23]=t=>M(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(P),onClick:se},{default:o(()=>[...e[34]||(e[34]=[c("确定",-1)])]),_:1},8,["loading"])]),default:o(()=>[v("p",rt,"将对已选 "+f(a(h).length)+" 条挂号写入同一渠道来源(仅改渠道,不改其它字段)。",1),l(A,{model:a(p),"label-width":"96px"},{default:o(()=>[l(i,{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(D,null,N(a(y),t=>(d(),b(r,{key:String(t.value),label:t.name,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(G)?(d(),b(i,{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})):F("",!0)]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}});export{ht as default}; +import{o as J,ap as Se,bo as ke,be as Ce,q as d,r as S,v as l,D as o,b9 as xe,aw as Ee,u as a,b6 as Ue,b7 as De,b8 as W,bm as Ne,F as D,G as N,O as b,bn as qe,K as Te,L as c,bg as Be,s as v,ac as L,T as f,P as F,bj as Fe,bk as He,br as Pe,bi as Re,C as M,bp as Ae,c5 as Ie,bc as Le,bb as Me,bt as $e,ba as $,M as k,p as H}from"./.pnpm-9dA1PEvN.js";import{_ as Ke}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{_ as Oe}from"./index.vue_vue_type_script_setup_true_lang-C38LpCy9.js";import{i as g,m as Ge}from"./index-BWzN7QIb.js";import{a as Ye,b as je,c as Qe}from"./doctor-Chj6BcVp.js";import{i as ze}from"./tcm-Fi_swgCr.js";import{u as We}from"./usePaging-Boz1Q6w3.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"},st={key:0,class:"text-xs text-gray-400 truncate"},it={class:"flex justify-end mt-4"},rt={class:"text-sm text-gray-600 mb-4"},ut=J({name:"consumerPrescriptionGuahao"}),ht=J({...ut,setup(dt){const m=$({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:q}=We({fetchFun:Ye,params:m}),T=k([]),K=k(null),h=k([]);function Z(s){h.value=s}const ee=new Set(["自媒体4H","自媒体3Q","自媒体3H","自媒体2H","自媒体2Q"]);function B(s){return ee.has(String(s??"").trim())}const y=k([]),te=H(()=>{const s=n.channel_source;if(s===""||s==null)return"";const e=y.value.find(i=>String(i.value)===String(s));return e?String(e.name??"").trim():""}),O=H(()=>B(te.value)),le=H(()=>{const s=p.channel_source;if(s===""||s==null)return"";const e=y.value.find(i=>String(i.value)===String(s));return e?String(e.name??"").trim():""}),G=H(()=>B(le.value));function ae(s){const e=y.value.find(u=>String(u.value)===String(s)),i=e?String(e.name??"").trim():"";B(i)||(p.channel_source_detail="")}const C=k(!1),P=k(!1),p=$({channel_source:"",channel_source_detail:""});function ne(){if(h.value.length===0){g.msgWarning("请先勾选挂号记录");return}p.channel_source="",p.channel_source_detail="",C.value=!0}function oe(){p.channel_source="",p.channel_source_detail=""}async function se(){var s,e;if(h.value.length===0){g.msgWarning("请先勾选挂号记录");return}if(!p.channel_source){g.msgError("请选择渠道来源");return}if(G.value&&!p.channel_source_detail.trim()){g.msgError("请填写自媒体补充说明");return}P.value=!0;try{const i=h.value.map(u=>Number(u.id));await je({ids:i,channel_source:p.channel_source,channel_source_detail:p.channel_source_detail.trim()}),g.msgSuccess("批量修改成功"),C.value=!1,(e=(s=K.value)==null?void 0:s.clearSelection)==null||e.call(s),h.value=[],U()}finally{P.value=!1}}function ie(s){const e=y.value.find(u=>String(u.value)===String(s)),i=e?String(e.name??"").trim():"";B(i)||(n.channel_source_detail="")}const x=k(!1),R=k(!1),n=$({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(s){const e=String(s||"");return e.length>=11?e.slice(0,3)+"****"+e.slice(-4):e||"—"}function Y(s){const e=String(s||"");return e.length>=5?e.slice(0,5):e||"—"}function ue(){Object.assign(m,X),q()}function de(s){const e=String(s.period??s.type??"morning");return e==="afternoon"||e==="all"?e:"morning"}async function me(){try{const s=await ze();T.value=(s==null?void 0:s.lists)??s??[]}catch{T.value=[]}}async function pe(){try{const s=await Ge({type:"channels"}),e=((s==null?void 0:s.channels)||[]).filter(i=>i.status!==0);e.sort((i,u)=>{const r=Number((u==null?void 0:u.sort)??0)-Number((i==null?void 0:i.sort)??0);return r!==0?r:Number((u==null?void 0:u.id)??0)-Number((i==null?void 0:i.id)??0)}),y.value=e}catch{y.value=[]}}function ce(s){n.id=Number(s.id),n.appointment_date=String(s.appointment_date||""),n.appointment_time=Y(String(s.appointment_time||"")),n.period=de(s),n.appointment_type=String(s.appointment_type||"video"),n.status=Number(s.status),n.remark=String(s.remark||"");const e=s.appointment_assistant_id;n.assistant_id=e!=null&&e!==""?Number(e):void 0,n.channel_source=String(s.channel_source??s.channels??""),n.channel_source_detail=String(s.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){g.msgError("请选择预约日期");return}if(!n.appointment_time){g.msgError("请选择预约时间");return}if(!n.channel_source){g.msgError("请选择渠道来源");return}if(O.value&&!n.channel_source_detail.trim()){g.msgError("请填写自媒体补充说明");return}R.value=!0;try{const s={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 Qe(s),g.msgSuccess("保存成功"),x.value=!1,U()}finally{R.value=!1}}return Se(()=>{me(),pe()}),ke(()=>{U()}),U(),(s,e)=>{const i=Ue,u=De,r=qe,V=Ne,w=Te,A=xe,j=Be,_=He,be=Pe,ve=Fe,ge=Ke,he=Ae,ye=Ie,I=Me,Ve=Le,Q=$e,z=Ce("perms"),we=Re;return d(),S("div",Je,[l(j,{class:"!border-none",shadow:"never"},{default:o(()=>[l(A,{class:"mb-[-16px]",model:a(m),inline:!0,onSubmit:e[7]||(e[7]=Ee(()=>{},["prevent"]))},{default:o(()=>[l(i,{label:"预约日期"},{default:o(()=>[l(Oe,{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(i,{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:W(a(q),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(i,{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:W(a(q),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(i,{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(D,null,N(a(T),t=>(d(),b(r,{key:t.id,label:t.name+(t.account?` (${t.account})`:""),value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(i,{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(i,{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(D,null,N(a(y),t=>(d(),b(r,{key:String(t.value),label:t.name,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(i,null,{default:o(()=>[l(w,{type:"primary",onClick:a(q)},{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(j,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[v("div",Xe,[L((d(),b(w,{type:"primary",disabled:a(h).length===0,onClick:ne},{default:o(()=>[...e[26]||(e[26]=[c(" 批量修改渠道 ",-1)])]),_:1},8,["disabled"])),[[z,["doctor.appointment/edit"]]]),a(h).length>0?(d(),S("span",Ze," 已选 "+f(a(h).length)+" 条 ",1)):F("",!0)]),L((d(),b(ve,{ref_key:"tableRef",ref:K,"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})=>[v("div",et,[v("div",tt,f(t.patient_name||"—"),1),v("div",lt,f(re(t.patient_phone)),1),v("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})=>[v("div",null,f(t.appointment_date),1),v("div",nt,f(Y(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})=>[v("div",ot,f(t.channel_source_desc||"—"),1),t.channel_source_detail?(d(),S("div",st,f(t.channel_source_detail),1)):F("",!0)]),_:1}),l(_,{label:"状态",width:"96",align:"center"},{default:o(({row:t})=>[l(be,{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})=>[L((d(),b(w,{type:"primary",link:"",onClick:mt=>ce(t)},{default:o(()=>[...e[27]||(e[27]=[c(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[z,["doctor.appointment/edit"]]])]),_:1})]),_:1},8,["data"])),[[we,a(E).loading]]),v("div",it,[l(ge,{modelValue:a(E),"onUpdate:modelValue":e[8]||(e[8]=t=>M(E)?E.value=t:null),onChange:a(U)},null,8,["modelValue","onChange"])])]),_:1}),l(Q,{modelValue:a(x),"onUpdate:modelValue":e[19]||(e[19]=t=>M(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(R),onClick:fe},{default:o(()=>[...e[32]||(e[32]=[c("保存",-1)])]),_:1},8,["loading"])]),default:o(()=>[l(A,{model:a(n),"label-width":"96px"},{default:o(()=>[l(i,{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(i,{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(i,{label:"时段",required:""},{default:o(()=>[l(Ve,{modelValue:a(n).period,"onUpdate:modelValue":e[11]||(e[11]=t=>a(n).period=t)},{default:o(()=>[l(I,{label:"morning"},{default:o(()=>[...e[28]||(e[28]=[c("上午",-1)])]),_:1}),l(I,{label:"afternoon"},{default:o(()=>[...e[29]||(e[29]=[c("下午",-1)])]),_:1}),l(I,{label:"all"},{default:o(()=>[...e[30]||(e[30]=[c("全天",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(i,{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(i,{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:ie},{default:o(()=>[(d(!0),S(D,null,N(a(y),t=>(d(),b(r,{key:String(t.value),label:t.name,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(O)?(d(),b(i,{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})):F("",!0),l(i,{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(i,{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(D,null,N(a(T),t=>(d(),b(r,{key:t.id,label:t.name+(t.account?` (${t.account})`:""),value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(i,{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(Q,{modelValue:a(C),"onUpdate:modelValue":e[23]||(e[23]=t=>M(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(P),onClick:se},{default:o(()=>[...e[34]||(e[34]=[c("确定",-1)])]),_:1},8,["loading"])]),default:o(()=>[v("p",rt,"将对已选 "+f(a(h).length)+" 条挂号写入同一渠道来源(仅改渠道,不改其它字段)。",1),l(A,{model:a(p),"label-width":"96px"},{default:o(()=>[l(i,{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(D,null,N(a(y),t=>(d(),b(r,{key:String(t.value),label:t.name,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(G)?(d(),b(i,{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})):F("",!0)]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}});export{ht as default}; diff --git a/server/public/admin/assets/h5-C5BPJF77.js b/server/public/admin/assets/h5-Bh53O7oF.js similarity index 94% rename from server/public/admin/assets/h5-C5BPJF77.js rename to server/public/admin/assets/h5-Bh53O7oF.js index a5e03e86..9c14bfa8 100644 --- a/server/public/admin/assets/h5-C5BPJF77.js +++ b/server/public/admin/assets/h5-Bh53O7oF.js @@ -1 +1 @@ -import{_ as q}from"./index-bkWlwzQZ.js";import{o as V,be as v,q as _,r as H,v as o,D as t,bh as R,bg as U,b9 as F,u as l,b6 as I,s as d,bc as S,bf as T,L as s,O as p,b7 as A,P as G,T as K,ac as w,K as L,ba as O}from"./.pnpm-9dA1PEvN.js";import{r as C}from"./index-CJvXnF8Y.js";function P(i){return C.post({url:"/channel.web_page_setting/setConfig",params:i})}function j(){return C.get({url:"/channel.web_page_setting/getConfig"})}const z={class:"w-80"},J={class:"flex-1 min-w-0 break-words"},M=V({name:"h5Config"}),Y=V({...M,setup(i){const a=O({status:0,page_status:0,page_url:"",url:""}),m=async()=>{const f=await j();for(const e in a)a[e]=f[e]},y=async()=>{await P(a),m()};return m(),(f,e)=>{const E=R,g=U,r=T,c=S,u=I,k=A,b=L,x=F,D=q,B=v("copy"),N=v("perms");return _(),H("div",null,[o(g,{class:"!border-none",shadow:"never"},{default:t(()=>[o(E,{type:"warning",title:"温馨提示:H5设置",closable:!1,"show-icon":""})]),_:1}),o(g,{class:"!border-none mt-4",shadow:"never"},{default:t(()=>[o(x,{ref:"formRef",model:l(a),"label-width":"120px"},{default:t(()=>[o(u,{label:"渠道状态",required:"",prop:"status"},{default:t(()=>[d("div",null,[o(c,{modelValue:l(a).status,"onUpdate:modelValue":e[0]||(e[0]=n=>l(a).status=n)},{default:t(()=>[o(r,{value:1},{default:t(()=>[...e[3]||(e[3]=[s("开启",-1)])]),_:1}),o(r,{value:0},{default:t(()=>[...e[4]||(e[4]=[s("关闭",-1)])]),_:1})]),_:1},8,["modelValue"]),e[5]||(e[5]=d("div",{class:"form-tips"},"状态为关闭时,将不对外提供服务,请谨慎操作",-1))])]),_:1}),o(u,{label:"关闭后访问页面",prop:"page_status"},{default:t(()=>[o(c,{modelValue:l(a).page_status,"onUpdate:modelValue":e[1]||(e[1]=n=>l(a).page_status=n)},{default:t(()=>[o(r,{value:0},{default:t(()=>[...e[6]||(e[6]=[s("空页面",-1)])]),_:1}),o(r,{value:1},{default:t(()=>[...e[7]||(e[7]=[s("自定义链接",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(a).page_status==1?(_(),p(u,{key:0,label:"",prop:"page_url"},{default:t(()=>[d("div",z,[o(k,{modelValue:l(a).page_url,"onUpdate:modelValue":e[2]||(e[2]=n=>l(a).page_url=n),placeholder:"请输入完整的url"},null,8,["modelValue"])])]),_:1})):G("",!0),o(u,{label:"访问链接"},{default:t(()=>[d("div",J,[s(K(l(a).url)+" ",1),w((_(),p(b,null,{default:t(()=>[...e[8]||(e[8]=[s("复制",-1)])]),_:1})),[[B,l(a).url]])])]),_:1})]),_:1},8,["model"])]),_:1}),w((_(),p(D,null,{default:t(()=>[o(b,{type:"primary",onClick:y},{default:t(()=>[...e[9]||(e[9]=[s("保存",-1)])]),_:1})]),_:1})),[[N,["channel.web_page_setting/setConfig"]]])])}}});export{Y as default}; +import{_ as q}from"./index-DZiQLFzx.js";import{o as V,be as v,q as _,r as H,v as o,D as t,bh as R,bg as U,b9 as F,u as l,b6 as I,s as d,bc as S,bf as T,L as s,O as p,b7 as A,P as G,T as K,ac as w,K as L,ba as O}from"./.pnpm-9dA1PEvN.js";import{r as C}from"./index-BWzN7QIb.js";function P(i){return C.post({url:"/channel.web_page_setting/setConfig",params:i})}function j(){return C.get({url:"/channel.web_page_setting/getConfig"})}const z={class:"w-80"},J={class:"flex-1 min-w-0 break-words"},M=V({name:"h5Config"}),Y=V({...M,setup(i){const a=O({status:0,page_status:0,page_url:"",url:""}),m=async()=>{const f=await j();for(const e in a)a[e]=f[e]},y=async()=>{await P(a),m()};return m(),(f,e)=>{const E=R,g=U,r=T,c=S,u=I,k=A,b=L,x=F,D=q,B=v("copy"),N=v("perms");return _(),H("div",null,[o(g,{class:"!border-none",shadow:"never"},{default:t(()=>[o(E,{type:"warning",title:"温馨提示:H5设置",closable:!1,"show-icon":""})]),_:1}),o(g,{class:"!border-none mt-4",shadow:"never"},{default:t(()=>[o(x,{ref:"formRef",model:l(a),"label-width":"120px"},{default:t(()=>[o(u,{label:"渠道状态",required:"",prop:"status"},{default:t(()=>[d("div",null,[o(c,{modelValue:l(a).status,"onUpdate:modelValue":e[0]||(e[0]=n=>l(a).status=n)},{default:t(()=>[o(r,{value:1},{default:t(()=>[...e[3]||(e[3]=[s("开启",-1)])]),_:1}),o(r,{value:0},{default:t(()=>[...e[4]||(e[4]=[s("关闭",-1)])]),_:1})]),_:1},8,["modelValue"]),e[5]||(e[5]=d("div",{class:"form-tips"},"状态为关闭时,将不对外提供服务,请谨慎操作",-1))])]),_:1}),o(u,{label:"关闭后访问页面",prop:"page_status"},{default:t(()=>[o(c,{modelValue:l(a).page_status,"onUpdate:modelValue":e[1]||(e[1]=n=>l(a).page_status=n)},{default:t(()=>[o(r,{value:0},{default:t(()=>[...e[6]||(e[6]=[s("空页面",-1)])]),_:1}),o(r,{value:1},{default:t(()=>[...e[7]||(e[7]=[s("自定义链接",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(a).page_status==1?(_(),p(u,{key:0,label:"",prop:"page_url"},{default:t(()=>[d("div",z,[o(k,{modelValue:l(a).page_url,"onUpdate:modelValue":e[2]||(e[2]=n=>l(a).page_url=n),placeholder:"请输入完整的url"},null,8,["modelValue"])])]),_:1})):G("",!0),o(u,{label:"访问链接"},{default:t(()=>[d("div",J,[s(K(l(a).url)+" ",1),w((_(),p(b,null,{default:t(()=>[...e[8]||(e[8]=[s("复制",-1)])]),_:1})),[[B,l(a).url]])])]),_:1})]),_:1},8,["model"])]),_:1}),w((_(),p(D,null,{default:t(()=>[o(b,{type:"primary",onClick:y},{default:t(()=>[...e[9]||(e[9]=[s("保存",-1)])]),_:1})]),_:1})),[[N,["channel.web_page_setting/setConfig"]]])])}}});export{Y as default}; diff --git a/server/public/admin/assets/h5-bbr9okoW.js b/server/public/admin/assets/h5-DIbQgMy5.js similarity index 99% rename from server/public/admin/assets/h5-bbr9okoW.js rename to server/public/admin/assets/h5-DIbQgMy5.js index c2322403..5be0a59f 100644 --- a/server/public/admin/assets/h5-bbr9okoW.js +++ b/server/public/admin/assets/h5-DIbQgMy5.js @@ -1 +1 @@ -import{o as ie,q as r,r as u,s as n,v as l,b8 as De,C as T,u as a,b7 as Fe,D as s,bn as Ue,bm as $e,L as i,K as Ye,ac as ae,bi as Le,bB as Me,P as g,F as se,G as oe,cv as Se,w as Te,b9 as qe,b6 as Be,J as He,bc as Ne,bf as Ie,I as Ae,B as Ke,br as Pe,T as p,bb as Ge,bp as je,M as d,p as Je}from"./.pnpm-9dA1PEvN.js";import{f as Oe,a as Xe,b as Qe,c as We,d as Ze,e as et,g as tt,h as lt}from"./fans-apIaPYUL.js";import{i as ne,_ as at}from"./index-CJvXnF8Y.js";import{d as st}from"./dayjs-BsOAYQJw.js";const ot={class:"fans-h5"},nt={class:"h5-header"},it={class:"h5-search"},dt={class:"h5-filter-row"},rt={class:"h5-list"},ut={key:0,class:"h5-empty"},mt={class:"h5-card-header"},vt={class:"h5-card-name"},pt={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"},bt={key:0,class:"info-line"},kt={class:"value remark"},ht={class:"h5-card-footer"},xt={class:"footer-left"},Ct={class:"visit-info"},wt={class:"visit-count"},Et={key:0,class:"creator-info"},Rt={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"},Lt={key:0,class:"h5-empty"},Mt={class:"visit-card-header"},St={class:"visit-card-tags"},Tt={class:"visit-time"},qt={class:"visit-card-actions"},Bt={class:"visit-card-content"},Ht={key:0,class:"visit-card-result"},Nt={class:"visit-card-meta"},It={key:0,class:"next-visit"},At={key:1,class:"operator"},Kt=ie({name:"fansH5"}),Pt=ie({...Kt,setup(Gt){const y=d(""),C=d({name:"",phone:"",gender:"",status:""}),b=d([]),R=d(!1),z=d(!1),q=d(1),de=15,G=d(0),j=Je(()=>b.value.length{o?z.value=!0:R.value=!0;try{const e={page_no:q.value,page_size:de,...C.value};y.value&&(/^\d+$/.test(y.value)?e.phone=y.value:e.name=y.value);const f=await Oe(e);o?b.value=[...b.value,...f.lists||[]]:b.value=f.lists||[],G.value=f.count||0}catch(e){console.error(e)}finally{R.value=!1,z.value=!1}},V=()=>{q.value=1,B()},re=()=>{y.value="",C.value={name:"",phone:"",gender:"",status:""},V()},ue=()=>{z.value||(q.value++,B(!0))},k=d(!1),D=d("add"),H=d(),N=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"}]},ve=()=>{D.value="add",k.value=!0},pe=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},k.value=!0},_e=()=>{var o;m.value={id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""},(o=H.value)==null||o.resetFields()},ce=async()=>{var o;await((o=H.value)==null?void 0:o.validate()),N.value=!0;try{D.value==="add"?await Xe(m.value):await Qe(m.value),k.value=!1,V()}catch{}finally{N.value=!1}},fe=async o=>{await ne.confirm(`确定删除粉丝「${o.name}」吗?`);try{await lt({id:o.id}),V()}catch{}},F=d(!1),U=d(null),h=d([]),$=d(!1),J=d(0),w=d(1),ge={1:"",2:"success",3:"info",4:"warning",5:"danger"},ye=o=>{U.value=o,F.value=!0,w.value=1,h.value=[],Y()},Y=async()=>{$.value=!0;try{const o=await tt({fan_id:U.value.id,page_no:w.value,page_size:15});w.value===1?h.value=o.lists||[]:h.value=[...h.value,...o.lists||[]],J.value=o.count||0}catch(o){console.error(o)}finally{$.value=!1}},Ve=()=>{w.value++,Y()},x=d(!1),L=d("add"),I=d(),A=d(!1),v=d({id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""}),be={visit_type:[{required:!0,message:"请选择回访类型",trigger:"change"}],visit_time:[{required:!0,message:"请选择回访时间",trigger:"change"}],content:[{required:!0,message:"请输入回访内容",trigger:"blur"}]},ke=()=>{L.value="add",v.value={id:0,fan_id:U.value.id,visit_type:1,visit_time:st().format("YYYY-MM-DD HH:mm:ss"),content:"",result:"",next_visit_time:""},x.value=!0},he=o=>{L.value="edit",v.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;v.value={id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""},(o=I.value)==null||o.resetFields()},Ce=async()=>{var o;await((o=I.value)==null?void 0:o.validate()),A.value=!0;try{L.value==="add"?await We(v.value):await Ze(v.value),x.value=!1,w.value=1,Y()}catch{}finally{A.value=!1}},we=async o=>{await ne.confirm("确定删除该回访记录吗?");try{await et({id:o}),w.value=1,Y()}catch{}};return B(),(o,e)=>{var le;const f=Fe,M=Ue,O=$e,_=Ye,X=Me,K=Pe,Ee=Te,c=Be,Re=He,Q=Ie,W=Ne,ze=Ae,Z=qe,P=Ke,E=Ge,ee=je,te=Le;return r(),u("div",ot,[n("div",nt,[n("div",it,[l(f,{modelValue:a(y),"onUpdate:modelValue":e[0]||(e[0]=t=>T(y)?y.value=t:null),placeholder:"搜索姓名 / 手机号",clearable:"","prefix-icon":"Search",onKeyup:De(V,["enter"]),onClear:V},null,8,["modelValue"])]),n("div",dt,[l(O,{modelValue:a(C).gender,"onUpdate:modelValue":e[1]||(e[1]=t=>a(C).gender=t),placeholder:"性别",clearable:"",size:"small",onChange:V},{default:s(()=>[l(M,{label:"男",value:1}),l(M,{label:"女",value:2})]),_:1},8,["modelValue"]),l(O,{modelValue:a(C).status,"onUpdate:modelValue":e[2]||(e[2]=t=>a(C).status=t),placeholder:"状态",clearable:"",size:"small",onChange:V},{default:s(()=>[l(M,{label:"启用",value:1}),l(M,{label:"禁用",value:0})]),_:1},8,["modelValue"]),l(_,{type:"primary",size:"small",onClick:V},{default:s(()=>[...e[20]||(e[20]=[i("查询",-1)])]),_:1}),l(_,{size:"small",onClick:re},{default:s(()=>[...e[21]||(e[21]=[i("重置",-1)])]),_:1})])]),ae((r(),u("div",rt,[a(b).length===0&&!a(R)?(r(),u("div",ut,[l(X,{description:"暂无粉丝数据"})])):g("",!0),(r(!0),u(se,null,oe(a(b),t=>(r(),u("div",{key:t.id,class:"h5-card"},[n("div",mt,[n("div",vt,[n("span",pt,p(t.name),1),l(K,{size:"small",type:t.gender===1?"":t.gender===2?"danger":"info",effect:"plain"},{default:s(()=>[i(p(t.gender_desc),1)]),_:2},1032,["type"]),t.age?(r(),u("span",_t,p(t.age)+"岁",1)):g("",!0)]),l(K,{size:"small",type:t.status==1?"success":"danger"},{default:s(()=>[i(p(t.status==1?"启用":"禁用"),1)]),_:2},1032,["type"])]),n("div",ct,[n("div",ft,[e[22]||(e[22]=n("span",{class:"label"},"手机",-1)),n("span",gt,p(t.phone||"-"),1)]),n("div",yt,[e[23]||(e[23]=n("span",{class:"label"},"身份证",-1)),n("span",Vt,p(t.id_card||"-"),1)]),t.remark?(r(),u("div",bt,[e[24]||(e[24]=n("span",{class:"label"},"备注",-1)),n("span",kt,p(t.remark),1)])):g("",!0)]),n("div",ht,[n("div",xt,[n("div",Ct,[e[25]||(e[25]=i(" 回访 ",-1)),n("span",wt,p(t.visit_count||0),1),e[26]||(e[26]=i(" 次 ",-1))]),t.creator_name?(r(),u("div",Et," 登记人:"+p(t.creator_name),1)):g("",!0)]),n("div",Rt,[l(_,{type:"primary",text:"",size:"small",onClick:S=>pe(t)},{default:s(()=>[...e[27]||(e[27]=[i("编辑",-1)])]),_:1},8,["onClick"]),l(_,{type:"success",text:"",size:"small",onClick:S=>ye(t)},{default:s(()=>[...e[28]||(e[28]=[i("回访",-1)])]),_:1},8,["onClick"]),l(_,{type:"danger",text:"",size:"small",onClick:S=>fe(t)},{default:s(()=>[...e[29]||(e[29]=[i("删除",-1)])]),_:1},8,["onClick"])])])]))),128)),a(j)?(r(),u("div",{key:1,class:"h5-load-more",onClick:ue},[a(z)?(r(),u("span",Dt,"加载中...")):(r(),u("span",zt,"加载更多"))])):g("",!0),!a(j)&&a(b).length>0?(r(),u("div",Ft,"没有更多了")):g("",!0)])),[[te,a(R)]]),n("div",{class:"h5-fab",onClick:ve},[l(Ee,{size:24},{default:s(()=>[l(a(Se))]),_:1})]),l(P,{modelValue:a(k),"onUpdate:modelValue":e[11]||(e[11]=t=>T(k)?k.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=>k.value=!1)},{default:s(()=>[...e[32]||(e[32]=[i("取消",-1)])]),_:1}),l(_,{class:"flex-1",type:"primary",loading:a(N),onClick:ce},{default:s(()=>[...e[33]||(e[33]=[i("确定",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(Z,{ref_key:"fanFormRef",ref:H,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}),n("div",Ut,[l(c,{label:"年龄",prop:"age",class:"flex-1"},{default:s(()=>[l(Re,{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(Q,{label:1},{default:s(()=>[...e[30]||(e[30]=[i("男",-1)])]),_:1}),l(Q,{label:2},{default:s(()=>[...e[31]||(e[31]=[i("女",-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(P,{modelValue:a(F),"onUpdate:modelValue":e[12]||(e[12]=t=>T(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(()=>[n("div",$t,[l(_,{type:"primary",size:"small",onClick:ke},{default:s(()=>[...e[34]||(e[34]=[i("+ 新增回访",-1)])]),_:1})]),ae((r(),u("div",Yt,[a(h).length===0&&!a($)?(r(),u("div",Lt,[l(X,{description:"暂无回访记录","image-size":80})])):g("",!0),(r(!0),u(se,null,oe(a(h),t=>(r(),u("div",{key:t.id,class:"h5-visit-card"},[n("div",Mt,[n("div",St,[l(K,{size:"small",type:ge[t.visit_type]},{default:s(()=>[i(p(t.visit_type_desc),1)]),_:2},1032,["type"]),n("span",Tt,p(t.visit_time_text),1)]),n("div",qt,[l(_,{type:"primary",text:"",size:"small",onClick:S=>he(t)},{default:s(()=>[...e[35]||(e[35]=[i("编辑",-1)])]),_:1},8,["onClick"]),l(_,{type:"danger",text:"",size:"small",onClick:S=>we(t.id)},{default:s(()=>[...e[36]||(e[36]=[i("删除",-1)])]),_:1},8,["onClick"])])]),n("div",Bt,p(t.content),1),t.result?(r(),u("div",Ht,[e[37]||(e[37]=n("span",{class:"label"},"结果:",-1)),i(p(t.result),1)])):g("",!0),n("div",Nt,[t.next_visit_time_text?(r(),u("span",It,"下次回访:"+p(t.next_visit_time_text),1)):g("",!0),t.operator_name?(r(),u("span",At,p(t.operator_name),1)):g("",!0)])]))),128)),a(J)>a(h).length?(r(),u("div",{key:1,class:"h5-load-more",onClick:Ve}," 加载更多 ")):g("",!0)])),[[te,a($)]])]),_:1},8,["modelValue","title"]),l(P,{modelValue:a(x),"onUpdate:modelValue":e[19]||(e[19]=t=>T(x)?x.value=t:null),title:a(L)==="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]=[i("取消",-1)])]),_:1}),l(_,{class:"flex-1",type:"primary",loading:a(A),onClick:Ce},{default:s(()=>[...e[44]||(e[44]=[i("确定",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(Z,{ref_key:"visitFormRef",ref:I,model:a(v),rules:be,"label-position":"top",class:"h5-form"},{default:s(()=>[l(c,{label:"回访类型",prop:"visit_type"},{default:s(()=>[l(W,{modelValue:a(v).visit_type,"onUpdate:modelValue":e[13]||(e[13]=t=>a(v).visit_type=t),class:"h5-radio-group"},{default:s(()=>[l(E,{label:1},{default:s(()=>[...e[38]||(e[38]=[i("电话",-1)])]),_:1}),l(E,{label:2},{default:s(()=>[...e[39]||(e[39]=[i("微信",-1)])]),_:1}),l(E,{label:3},{default:s(()=>[...e[40]||(e[40]=[i("短信",-1)])]),_:1}),l(E,{label:4},{default:s(()=>[...e[41]||(e[41]=[i("上门",-1)])]),_:1}),l(E,{label:5},{default:s(()=>[...e[42]||(e[42]=[i("其他",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(c,{label:"回访时间",prop:"visit_time"},{default:s(()=>[l(ee,{modelValue:a(v).visit_time,"onUpdate:modelValue":e[14]||(e[14]=t=>a(v).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(v).content,"onUpdate:modelValue":e[15]||(e[15]=t=>a(v).content=t),type:"textarea",rows:4,placeholder:"请输入回访内容"},null,8,["modelValue"])]),_:1}),l(c,{label:"回访结果"},{default:s(()=>[l(f,{modelValue:a(v).result,"onUpdate:modelValue":e[16]||(e[16]=t=>a(v).result=t),type:"textarea",rows:3,placeholder:"请输入回访结果"},null,8,["modelValue"])]),_:1}),l(c,{label:"下次回访时间"},{default:s(()=>[l(ee,{modelValue:a(v).next_visit_time,"onUpdate:modelValue":e[17]||(e[17]=t=>a(v).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"])])}}}),Qt=at(Pt,[["__scopeId","data-v-33a81814"]]);export{Qt as default}; +import{o as ie,q as r,r as u,s as n,v as l,b8 as De,C as T,u as a,b7 as Fe,D as s,bn as Ue,bm as $e,L as i,K as Ye,ac as ae,bi as Le,bB as Me,P as g,F as se,G as oe,cv as Se,w as Te,b9 as qe,b6 as Be,J as He,bc as Ne,bf as Ie,I as Ae,B as Ke,br as Pe,T as p,bb as Ge,bp as je,M as d,p as Je}from"./.pnpm-9dA1PEvN.js";import{f as Oe,a as Xe,b as Qe,c as We,d as Ze,e as et,g as tt,h as lt}from"./fans-BTjxVOhr.js";import{i as ne,_ as at}from"./index-BWzN7QIb.js";import{d as st}from"./dayjs-BsOAYQJw.js";const ot={class:"fans-h5"},nt={class:"h5-header"},it={class:"h5-search"},dt={class:"h5-filter-row"},rt={class:"h5-list"},ut={key:0,class:"h5-empty"},mt={class:"h5-card-header"},vt={class:"h5-card-name"},pt={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"},bt={key:0,class:"info-line"},kt={class:"value remark"},ht={class:"h5-card-footer"},xt={class:"footer-left"},Ct={class:"visit-info"},wt={class:"visit-count"},Et={key:0,class:"creator-info"},Rt={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"},Lt={key:0,class:"h5-empty"},Mt={class:"visit-card-header"},St={class:"visit-card-tags"},Tt={class:"visit-time"},qt={class:"visit-card-actions"},Bt={class:"visit-card-content"},Ht={key:0,class:"visit-card-result"},Nt={class:"visit-card-meta"},It={key:0,class:"next-visit"},At={key:1,class:"operator"},Kt=ie({name:"fansH5"}),Pt=ie({...Kt,setup(Gt){const y=d(""),C=d({name:"",phone:"",gender:"",status:""}),b=d([]),R=d(!1),z=d(!1),q=d(1),de=15,G=d(0),j=Je(()=>b.value.length{o?z.value=!0:R.value=!0;try{const e={page_no:q.value,page_size:de,...C.value};y.value&&(/^\d+$/.test(y.value)?e.phone=y.value:e.name=y.value);const f=await Oe(e);o?b.value=[...b.value,...f.lists||[]]:b.value=f.lists||[],G.value=f.count||0}catch(e){console.error(e)}finally{R.value=!1,z.value=!1}},V=()=>{q.value=1,B()},re=()=>{y.value="",C.value={name:"",phone:"",gender:"",status:""},V()},ue=()=>{z.value||(q.value++,B(!0))},k=d(!1),D=d("add"),H=d(),N=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"}]},ve=()=>{D.value="add",k.value=!0},pe=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},k.value=!0},_e=()=>{var o;m.value={id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""},(o=H.value)==null||o.resetFields()},ce=async()=>{var o;await((o=H.value)==null?void 0:o.validate()),N.value=!0;try{D.value==="add"?await Xe(m.value):await Qe(m.value),k.value=!1,V()}catch{}finally{N.value=!1}},fe=async o=>{await ne.confirm(`确定删除粉丝「${o.name}」吗?`);try{await lt({id:o.id}),V()}catch{}},F=d(!1),U=d(null),h=d([]),$=d(!1),J=d(0),w=d(1),ge={1:"",2:"success",3:"info",4:"warning",5:"danger"},ye=o=>{U.value=o,F.value=!0,w.value=1,h.value=[],Y()},Y=async()=>{$.value=!0;try{const o=await tt({fan_id:U.value.id,page_no:w.value,page_size:15});w.value===1?h.value=o.lists||[]:h.value=[...h.value,...o.lists||[]],J.value=o.count||0}catch(o){console.error(o)}finally{$.value=!1}},Ve=()=>{w.value++,Y()},x=d(!1),L=d("add"),I=d(),A=d(!1),v=d({id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""}),be={visit_type:[{required:!0,message:"请选择回访类型",trigger:"change"}],visit_time:[{required:!0,message:"请选择回访时间",trigger:"change"}],content:[{required:!0,message:"请输入回访内容",trigger:"blur"}]},ke=()=>{L.value="add",v.value={id:0,fan_id:U.value.id,visit_type:1,visit_time:st().format("YYYY-MM-DD HH:mm:ss"),content:"",result:"",next_visit_time:""},x.value=!0},he=o=>{L.value="edit",v.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;v.value={id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""},(o=I.value)==null||o.resetFields()},Ce=async()=>{var o;await((o=I.value)==null?void 0:o.validate()),A.value=!0;try{L.value==="add"?await We(v.value):await Ze(v.value),x.value=!1,w.value=1,Y()}catch{}finally{A.value=!1}},we=async o=>{await ne.confirm("确定删除该回访记录吗?");try{await et({id:o}),w.value=1,Y()}catch{}};return B(),(o,e)=>{var le;const f=Fe,M=Ue,O=$e,_=Ye,X=Me,K=Pe,Ee=Te,c=Be,Re=He,Q=Ie,W=Ne,ze=Ae,Z=qe,P=Ke,E=Ge,ee=je,te=Le;return r(),u("div",ot,[n("div",nt,[n("div",it,[l(f,{modelValue:a(y),"onUpdate:modelValue":e[0]||(e[0]=t=>T(y)?y.value=t:null),placeholder:"搜索姓名 / 手机号",clearable:"","prefix-icon":"Search",onKeyup:De(V,["enter"]),onClear:V},null,8,["modelValue"])]),n("div",dt,[l(O,{modelValue:a(C).gender,"onUpdate:modelValue":e[1]||(e[1]=t=>a(C).gender=t),placeholder:"性别",clearable:"",size:"small",onChange:V},{default:s(()=>[l(M,{label:"男",value:1}),l(M,{label:"女",value:2})]),_:1},8,["modelValue"]),l(O,{modelValue:a(C).status,"onUpdate:modelValue":e[2]||(e[2]=t=>a(C).status=t),placeholder:"状态",clearable:"",size:"small",onChange:V},{default:s(()=>[l(M,{label:"启用",value:1}),l(M,{label:"禁用",value:0})]),_:1},8,["modelValue"]),l(_,{type:"primary",size:"small",onClick:V},{default:s(()=>[...e[20]||(e[20]=[i("查询",-1)])]),_:1}),l(_,{size:"small",onClick:re},{default:s(()=>[...e[21]||(e[21]=[i("重置",-1)])]),_:1})])]),ae((r(),u("div",rt,[a(b).length===0&&!a(R)?(r(),u("div",ut,[l(X,{description:"暂无粉丝数据"})])):g("",!0),(r(!0),u(se,null,oe(a(b),t=>(r(),u("div",{key:t.id,class:"h5-card"},[n("div",mt,[n("div",vt,[n("span",pt,p(t.name),1),l(K,{size:"small",type:t.gender===1?"":t.gender===2?"danger":"info",effect:"plain"},{default:s(()=>[i(p(t.gender_desc),1)]),_:2},1032,["type"]),t.age?(r(),u("span",_t,p(t.age)+"岁",1)):g("",!0)]),l(K,{size:"small",type:t.status==1?"success":"danger"},{default:s(()=>[i(p(t.status==1?"启用":"禁用"),1)]),_:2},1032,["type"])]),n("div",ct,[n("div",ft,[e[22]||(e[22]=n("span",{class:"label"},"手机",-1)),n("span",gt,p(t.phone||"-"),1)]),n("div",yt,[e[23]||(e[23]=n("span",{class:"label"},"身份证",-1)),n("span",Vt,p(t.id_card||"-"),1)]),t.remark?(r(),u("div",bt,[e[24]||(e[24]=n("span",{class:"label"},"备注",-1)),n("span",kt,p(t.remark),1)])):g("",!0)]),n("div",ht,[n("div",xt,[n("div",Ct,[e[25]||(e[25]=i(" 回访 ",-1)),n("span",wt,p(t.visit_count||0),1),e[26]||(e[26]=i(" 次 ",-1))]),t.creator_name?(r(),u("div",Et," 登记人:"+p(t.creator_name),1)):g("",!0)]),n("div",Rt,[l(_,{type:"primary",text:"",size:"small",onClick:S=>pe(t)},{default:s(()=>[...e[27]||(e[27]=[i("编辑",-1)])]),_:1},8,["onClick"]),l(_,{type:"success",text:"",size:"small",onClick:S=>ye(t)},{default:s(()=>[...e[28]||(e[28]=[i("回访",-1)])]),_:1},8,["onClick"]),l(_,{type:"danger",text:"",size:"small",onClick:S=>fe(t)},{default:s(()=>[...e[29]||(e[29]=[i("删除",-1)])]),_:1},8,["onClick"])])])]))),128)),a(j)?(r(),u("div",{key:1,class:"h5-load-more",onClick:ue},[a(z)?(r(),u("span",Dt,"加载中...")):(r(),u("span",zt,"加载更多"))])):g("",!0),!a(j)&&a(b).length>0?(r(),u("div",Ft,"没有更多了")):g("",!0)])),[[te,a(R)]]),n("div",{class:"h5-fab",onClick:ve},[l(Ee,{size:24},{default:s(()=>[l(a(Se))]),_:1})]),l(P,{modelValue:a(k),"onUpdate:modelValue":e[11]||(e[11]=t=>T(k)?k.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=>k.value=!1)},{default:s(()=>[...e[32]||(e[32]=[i("取消",-1)])]),_:1}),l(_,{class:"flex-1",type:"primary",loading:a(N),onClick:ce},{default:s(()=>[...e[33]||(e[33]=[i("确定",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(Z,{ref_key:"fanFormRef",ref:H,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}),n("div",Ut,[l(c,{label:"年龄",prop:"age",class:"flex-1"},{default:s(()=>[l(Re,{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(Q,{label:1},{default:s(()=>[...e[30]||(e[30]=[i("男",-1)])]),_:1}),l(Q,{label:2},{default:s(()=>[...e[31]||(e[31]=[i("女",-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(P,{modelValue:a(F),"onUpdate:modelValue":e[12]||(e[12]=t=>T(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(()=>[n("div",$t,[l(_,{type:"primary",size:"small",onClick:ke},{default:s(()=>[...e[34]||(e[34]=[i("+ 新增回访",-1)])]),_:1})]),ae((r(),u("div",Yt,[a(h).length===0&&!a($)?(r(),u("div",Lt,[l(X,{description:"暂无回访记录","image-size":80})])):g("",!0),(r(!0),u(se,null,oe(a(h),t=>(r(),u("div",{key:t.id,class:"h5-visit-card"},[n("div",Mt,[n("div",St,[l(K,{size:"small",type:ge[t.visit_type]},{default:s(()=>[i(p(t.visit_type_desc),1)]),_:2},1032,["type"]),n("span",Tt,p(t.visit_time_text),1)]),n("div",qt,[l(_,{type:"primary",text:"",size:"small",onClick:S=>he(t)},{default:s(()=>[...e[35]||(e[35]=[i("编辑",-1)])]),_:1},8,["onClick"]),l(_,{type:"danger",text:"",size:"small",onClick:S=>we(t.id)},{default:s(()=>[...e[36]||(e[36]=[i("删除",-1)])]),_:1},8,["onClick"])])]),n("div",Bt,p(t.content),1),t.result?(r(),u("div",Ht,[e[37]||(e[37]=n("span",{class:"label"},"结果:",-1)),i(p(t.result),1)])):g("",!0),n("div",Nt,[t.next_visit_time_text?(r(),u("span",It,"下次回访:"+p(t.next_visit_time_text),1)):g("",!0),t.operator_name?(r(),u("span",At,p(t.operator_name),1)):g("",!0)])]))),128)),a(J)>a(h).length?(r(),u("div",{key:1,class:"h5-load-more",onClick:Ve}," 加载更多 ")):g("",!0)])),[[te,a($)]])]),_:1},8,["modelValue","title"]),l(P,{modelValue:a(x),"onUpdate:modelValue":e[19]||(e[19]=t=>T(x)?x.value=t:null),title:a(L)==="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]=[i("取消",-1)])]),_:1}),l(_,{class:"flex-1",type:"primary",loading:a(A),onClick:Ce},{default:s(()=>[...e[44]||(e[44]=[i("确定",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(Z,{ref_key:"visitFormRef",ref:I,model:a(v),rules:be,"label-position":"top",class:"h5-form"},{default:s(()=>[l(c,{label:"回访类型",prop:"visit_type"},{default:s(()=>[l(W,{modelValue:a(v).visit_type,"onUpdate:modelValue":e[13]||(e[13]=t=>a(v).visit_type=t),class:"h5-radio-group"},{default:s(()=>[l(E,{label:1},{default:s(()=>[...e[38]||(e[38]=[i("电话",-1)])]),_:1}),l(E,{label:2},{default:s(()=>[...e[39]||(e[39]=[i("微信",-1)])]),_:1}),l(E,{label:3},{default:s(()=>[...e[40]||(e[40]=[i("短信",-1)])]),_:1}),l(E,{label:4},{default:s(()=>[...e[41]||(e[41]=[i("上门",-1)])]),_:1}),l(E,{label:5},{default:s(()=>[...e[42]||(e[42]=[i("其他",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(c,{label:"回访时间",prop:"visit_time"},{default:s(()=>[l(ee,{modelValue:a(v).visit_time,"onUpdate:modelValue":e[14]||(e[14]=t=>a(v).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(v).content,"onUpdate:modelValue":e[15]||(e[15]=t=>a(v).content=t),type:"textarea",rows:4,placeholder:"请输入回访内容"},null,8,["modelValue"])]),_:1}),l(c,{label:"回访结果"},{default:s(()=>[l(f,{modelValue:a(v).result,"onUpdate:modelValue":e[16]||(e[16]=t=>a(v).result=t),type:"textarea",rows:3,placeholder:"请输入回访结果"},null,8,["modelValue"])]),_:1}),l(c,{label:"下次回访时间"},{default:s(()=>[l(ee,{modelValue:a(v).next_visit_time,"onUpdate:modelValue":e[17]||(e[17]=t=>a(v).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"])])}}}),Qt=at(Pt,[["__scopeId","data-v-33a81814"]]);export{Qt as default}; diff --git a/server/public/admin/assets/icon-CSL8-k1_.js b/server/public/admin/assets/icon-CHuMI6Nw.js similarity index 94% rename from server/public/admin/assets/icon-CSL8-k1_.js rename to server/public/admin/assets/icon-CHuMI6Nw.js index e3b03a7b..39788e83 100644 --- a/server/public/admin/assets/icon-CSL8-k1_.js +++ b/server/public/admin/assets/icon-CHuMI6Nw.js @@ -1 +1 @@ -import{o as z,be as x,q as n,r as t,v as e,D as l,s as o,bg as b,u as i,F as u,G as f,ac as v,O as h,K as w,ba as y}from"./.pnpm-9dA1PEvN.js";import{_ as g}from"./picker.vue_vue_type_script_setup_true_lang-B8p-3sQo.js";import{c as s,y as k,z as B}from"./index-CJvXnF8Y.js";const V={class:"flex items-center"},E={class:"flex items-center"},N={class:"flex items-center"},C={class:"flex items-center"},D={class:"flex flex-wrap"},F={class:"flex items-center"},S={class:"flex flex-wrap"},G=z({__name:"icon",setup(I){const r=y({value:""});return(L,m)=>{const c=b,p=g,d=w,_=x("copy");return n(),t("div",null,[e(c,{header:"element-plus图标",shadow:"never",class:"!border-none"},{default:l(()=>[o("div",V,[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(c,{header:"本地图标",shadow:"never",class:"!border-none mt-4"},{default:l(()=>[o("div",E,[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(c,{header:"图标选择器",shadow:"never",class:"!border-none mt-4"},{default:l(()=>[o("div",N,[e(p,{modelValue:i(r).value,"onUpdate:modelValue":m[0]||(m[0]=a=>i(r).value=a)},null,8,["modelValue"])])]),_:1}),e(c,{header:"element-plus图标库大全(点击复制图标名称)",shadow:"never",class:"!border-none mt-4"},{default:l(()=>[o("div",C,[o("div",D,[(n(!0),t(u,null,f(i(k)(),a=>(n(),t("div",{key:a,class:"m-1"},[v((n(),h(d,null,{default:l(()=>[e(s,{name:a,size:20},null,8,["name"])]),_:2},1024)),[[_,a]])]))),128))])])]),_:1}),e(c,{header:"本地图标库大全(点击复制图标名称)",shadow:"never",class:"!border-none mt-4"},{default:l(()=>[o("div",F,[o("div",S,[(n(!0),t(u,null,f(i(B)(),a=>(n(),t("div",{key:a,class:"m-1"},[v((n(),h(d,null,{default:l(()=>[e(s,{name:a,size:20},null,8,["name"])]),_:2},1024)),[[_,a]])]))),128))])])]),_:1})])}}});export{G as default}; +import{o as z,be as x,q as n,r as t,v as e,D as l,s as o,bg as b,u as i,F as u,G as f,ac as v,O as h,K as w,ba as y}from"./.pnpm-9dA1PEvN.js";import{_ as g}from"./picker.vue_vue_type_script_setup_true_lang-B7uSVSee.js";import{c as s,y as k,z as B}from"./index-BWzN7QIb.js";const V={class:"flex items-center"},E={class:"flex items-center"},N={class:"flex items-center"},C={class:"flex items-center"},D={class:"flex flex-wrap"},F={class:"flex items-center"},S={class:"flex flex-wrap"},G=z({__name:"icon",setup(I){const r=y({value:""});return(L,m)=>{const c=b,p=g,d=w,_=x("copy");return n(),t("div",null,[e(c,{header:"element-plus图标",shadow:"never",class:"!border-none"},{default:l(()=>[o("div",V,[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(c,{header:"本地图标",shadow:"never",class:"!border-none mt-4"},{default:l(()=>[o("div",E,[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(c,{header:"图标选择器",shadow:"never",class:"!border-none mt-4"},{default:l(()=>[o("div",N,[e(p,{modelValue:i(r).value,"onUpdate:modelValue":m[0]||(m[0]=a=>i(r).value=a)},null,8,["modelValue"])])]),_:1}),e(c,{header:"element-plus图标库大全(点击复制图标名称)",shadow:"never",class:"!border-none mt-4"},{default:l(()=>[o("div",C,[o("div",D,[(n(!0),t(u,null,f(i(k)(),a=>(n(),t("div",{key:a,class:"m-1"},[v((n(),h(d,null,{default:l(()=>[e(s,{name:a,size:20},null,8,["name"])]),_:2},1024)),[[_,a]])]))),128))])])]),_:1}),e(c,{header:"本地图标库大全(点击复制图标名称)",shadow:"never",class:"!border-none mt-4"},{default:l(()=>[o("div",F,[o("div",S,[(n(!0),t(u,null,f(i(B)(),a=>(n(),t("div",{key:a,class:"m-1"},[v((n(),h(d,null,{default:l(()=>[e(s,{name:a,size:20},null,8,["name"])]),_:2},1024)),[[_,a]])]))),128))])])]),_:1})])}}});export{G as default}; diff --git a/server/public/admin/assets/index-CX5_22cq.js b/server/public/admin/assets/index-0akm_RRS.js similarity index 96% rename from server/public/admin/assets/index-CX5_22cq.js rename to server/public/admin/assets/index-0akm_RRS.js index b0eef182..2bbc329a 100644 --- a/server/public/admin/assets/index-CX5_22cq.js +++ b/server/public/admin/assets/index-0akm_RRS.js @@ -1 +1 @@ -import{_ as F}from"./index-bkWlwzQZ.js";import{o as I,be as L,q as t,r as l,s as n,ac as j,O as u,D as a,L as s,K as q,F as C,G,P as p,bj as K,v as m,bk as M,aa as O,u as f,bf as R,br as $,I as z,T as J,bg as Q,M as P,l as V}from"./.pnpm-9dA1PEvN.js";import{b as X,c as Y}from"./pay-Bhq0dtL5.js";import"./index-CJvXnF8Y.js";const Z={key:0,class:"text-lg mb-[24px]"},ee={key:1,class:"text-lg mb-[24px]"},te={key:2,class:"text-lg mb-[24px]"},ae={key:3,class:"text-lg mb-[24px]"},le={key:4,class:"text-lg mb-[24px]"},se={key:1},oe={key:1},me=I({__name:"index",setup(ne){const i=P({}),r=P(!1);let v={};const b=async()=>{i.value=await X(),v=V.cloneDeep(i.value)},w=()=>{r.value=!0},E=(x,e)=>{i.value[e].forEach(_=>{_.is_default=0}),i.value[e][x].is_default=1},h=()=>{i.value=V.cloneDeep(v),r.value=!1},D=async()=>{await Y(i.value),r.value=!1,b()};return b(),(x,e)=>{const _=q,W=O,y=M,B=R,T=$,N=z,S=K,U=Q,H=F,A=L("perms");return t(),l("div",null,[n("div",null,[j((t(),u(_,{type:"primary",onClick:w},{default:a(()=>[...e[0]||(e[0]=[s(" 设置支付方式 ",-1)])]),_:1})),[[A,["setting.pay.pay_way/setPayWay"]]])]),(t(!0),l(C,null,G(f(i),(g,d)=>(t(),u(U,{shadow:"never",class:"mt-4 !border-none",key:d},{default:a(()=>[n("div",null,[d==1?(t(),l("div",Z,[...e[1]||(e[1]=[s(" 微信小程序 ",-1),n("span",{class:"form-tips ml-[10px]"},"在微信小程序中付款的场景",-1)])])):p("",!0),d==2?(t(),l("div",ee,[...e[2]||(e[2]=[s(" 微信公众号 ",-1),n("span",{class:"form-tips ml-[10px]"}," 在微信公众号H5页面中付款的场景,公众号类型一般为服务号 ",-1)])])):p("",!0),d==3?(t(),l("div",te,[...e[3]||(e[3]=[s(" H5支付 ",-1),n("span",{class:"form-tips ml-[10px]"},"在浏览器H5页面中付款的场景",-1)])])):p("",!0),d==4?(t(),l("div",ae,[...e[4]||(e[4]=[s(" PC支付 ",-1),n("span",{class:"form-tips ml-[10px]"},"在浏览器PC页面中付款的场景",-1)])])):p("",!0),d==5?(t(),l("div",le,[...e[5]||(e[5]=[s(" APP支付 ",-1),n("span",{class:"form-tips ml-[10px]"},"在APP付款的场景",-1)])])):p("",!0),g.length?(t(),u(S,{key:5,data:g,style:{width:"100%"}},{default:a(()=>[m(y,{label:"图标","min-width":"150"},{default:a(({row:o})=>[m(W,{src:o.icon,alt:"图标",style:{width:"34px",height:"34px"}},null,8,["src"])]),_:1}),m(y,{prop:"pay_way_name",label:"支付方式","min-width":"150"}),m(y,{label:"默认支付","min-width":"150"},{default:a(({row:o,$index:c})=>[n("div",null,[f(r)?(t(),u(B,{key:0,modelValue:o.is_default,"onUpdate:modelValue":k=>o.is_default=k,label:1,onChange:k=>E(c,d)},{default:a(()=>[...e[6]||(e[6]=[s(" 设为默认 ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue","onChange"])):(t(),l(C,{key:1},[o.is_default==1?(t(),u(T,{key:0},{default:a(()=>[...e[7]||(e[7]=[s("默认",-1)])]),_:1})):(t(),l("span",se,"-"))],64))])]),_:2},1024),m(y,{label:"开启状态","min-width":"150"},{default:a(({row:o})=>[f(r)?(t(),u(N,{key:0,modelValue:o.status,"onUpdate:modelValue":c=>o.status=c,"active-value":1,"inactive-value":0},null,8,["modelValue","onUpdate:modelValue"])):(t(),l("span",oe,J(o.status==1?"开启":"关闭"),1))]),_:1})]),_:2},1032,["data"])):p("",!0)])]),_:2},1024))),128)),f(r)?(t(),u(H,{key:0},{default:a(()=>[m(_,{onClick:h},{default:a(()=>[...e[8]||(e[8]=[s("取消",-1)])]),_:1}),m(_,{type:"primary",onClick:D},{default:a(()=>[...e[9]||(e[9]=[s("保存",-1)])]),_:1})]),_:1})):p("",!0)])}}});export{me as default}; +import{_ as F}from"./index-DZiQLFzx.js";import{o as I,be as L,q as t,r as l,s as n,ac as j,O as u,D as a,L as s,K as q,F as C,G,P as p,bj as K,v as m,bk as M,aa as O,u as f,bf as R,br as $,I as z,T as J,bg as Q,M as P,l as V}from"./.pnpm-9dA1PEvN.js";import{b as X,c as Y}from"./pay-Cfg11EXw.js";import"./index-BWzN7QIb.js";const Z={key:0,class:"text-lg mb-[24px]"},ee={key:1,class:"text-lg mb-[24px]"},te={key:2,class:"text-lg mb-[24px]"},ae={key:3,class:"text-lg mb-[24px]"},le={key:4,class:"text-lg mb-[24px]"},se={key:1},oe={key:1},me=I({__name:"index",setup(ne){const i=P({}),r=P(!1);let v={};const b=async()=>{i.value=await X(),v=V.cloneDeep(i.value)},w=()=>{r.value=!0},E=(x,e)=>{i.value[e].forEach(_=>{_.is_default=0}),i.value[e][x].is_default=1},h=()=>{i.value=V.cloneDeep(v),r.value=!1},D=async()=>{await Y(i.value),r.value=!1,b()};return b(),(x,e)=>{const _=q,W=O,y=M,B=R,T=$,N=z,S=K,U=Q,H=F,A=L("perms");return t(),l("div",null,[n("div",null,[j((t(),u(_,{type:"primary",onClick:w},{default:a(()=>[...e[0]||(e[0]=[s(" 设置支付方式 ",-1)])]),_:1})),[[A,["setting.pay.pay_way/setPayWay"]]])]),(t(!0),l(C,null,G(f(i),(g,d)=>(t(),u(U,{shadow:"never",class:"mt-4 !border-none",key:d},{default:a(()=>[n("div",null,[d==1?(t(),l("div",Z,[...e[1]||(e[1]=[s(" 微信小程序 ",-1),n("span",{class:"form-tips ml-[10px]"},"在微信小程序中付款的场景",-1)])])):p("",!0),d==2?(t(),l("div",ee,[...e[2]||(e[2]=[s(" 微信公众号 ",-1),n("span",{class:"form-tips ml-[10px]"}," 在微信公众号H5页面中付款的场景,公众号类型一般为服务号 ",-1)])])):p("",!0),d==3?(t(),l("div",te,[...e[3]||(e[3]=[s(" H5支付 ",-1),n("span",{class:"form-tips ml-[10px]"},"在浏览器H5页面中付款的场景",-1)])])):p("",!0),d==4?(t(),l("div",ae,[...e[4]||(e[4]=[s(" PC支付 ",-1),n("span",{class:"form-tips ml-[10px]"},"在浏览器PC页面中付款的场景",-1)])])):p("",!0),d==5?(t(),l("div",le,[...e[5]||(e[5]=[s(" APP支付 ",-1),n("span",{class:"form-tips ml-[10px]"},"在APP付款的场景",-1)])])):p("",!0),g.length?(t(),u(S,{key:5,data:g,style:{width:"100%"}},{default:a(()=>[m(y,{label:"图标","min-width":"150"},{default:a(({row:o})=>[m(W,{src:o.icon,alt:"图标",style:{width:"34px",height:"34px"}},null,8,["src"])]),_:1}),m(y,{prop:"pay_way_name",label:"支付方式","min-width":"150"}),m(y,{label:"默认支付","min-width":"150"},{default:a(({row:o,$index:c})=>[n("div",null,[f(r)?(t(),u(B,{key:0,modelValue:o.is_default,"onUpdate:modelValue":k=>o.is_default=k,label:1,onChange:k=>E(c,d)},{default:a(()=>[...e[6]||(e[6]=[s(" 设为默认 ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue","onChange"])):(t(),l(C,{key:1},[o.is_default==1?(t(),u(T,{key:0},{default:a(()=>[...e[7]||(e[7]=[s("默认",-1)])]),_:1})):(t(),l("span",se,"-"))],64))])]),_:2},1024),m(y,{label:"开启状态","min-width":"150"},{default:a(({row:o})=>[f(r)?(t(),u(N,{key:0,modelValue:o.status,"onUpdate:modelValue":c=>o.status=c,"active-value":1,"inactive-value":0},null,8,["modelValue","onUpdate:modelValue"])):(t(),l("span",oe,J(o.status==1?"开启":"关闭"),1))]),_:1})]),_:2},1032,["data"])):p("",!0)])]),_:2},1024))),128)),f(r)?(t(),u(H,{key:0},{default:a(()=>[m(_,{onClick:h},{default:a(()=>[...e[8]||(e[8]=[s("取消",-1)])]),_:1}),m(_,{type:"primary",onClick:D},{default:a(()=>[...e[9]||(e[9]=[s("保存",-1)])]),_:1})]),_:1})):p("",!0)])}}});export{me as default}; diff --git a/server/public/admin/assets/index-DIDg2WXy.js b/server/public/admin/assets/index-2yH9q9da.js similarity index 96% rename from server/public/admin/assets/index-DIDg2WXy.js rename to server/public/admin/assets/index-2yH9q9da.js index cf0eb96f..4f53e1e4 100644 --- a/server/public/admin/assets/index-DIDg2WXy.js +++ b/server/public/admin/assets/index-2yH9q9da.js @@ -1 +1 @@ -import{o as U,ap as se,be as de,q as i,r as g,v as n,D as o,s as c,T as _,u as t,bg as ie,b9 as re,C as F,b6 as ce,bm as me,bn as ue,F as R,G as B,O as p,cB as _e,bK as pe,b7 as fe,b8 as he,K as be,L as u,ac as x,bj as ge,bk as ve,br as ye,bi as Ce,P as ke,a8 as we,M as xe,ba as Ee,p as E,n as P}from"./.pnpm-9dA1PEvN.js";import{_ as Ve}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as Te,i as Le,_ as De}from"./index-CJvXnF8Y.js";import{e as Fe,f as Se}from"./finance-BJtj-zFw.js";import{u as Ae}from"./usePaging-Boz1Q6w3.js";import{L as Re,u as Be}from"./useListTimeFilter-DzEU80f7.js";import Pe from"./edit-DH565yB2.js";import"./index-BBemoNXE.js";const Ue={class:"account-cost-list"},Oe={class:"flex flex-wrap"},$e={class:"w-1/2 md:w-1/3"},Ge={class:"text-4xl"},Ke={class:"w-1/2 md:w-1/3"},Ne={class:"text-4xl"},ze={class:"channel-opt-row"},Ie={class:"opt-name"},Me={key:0},je={key:1},qe={class:"flex justify-end mt-4"},Qe=U({name:"accountCostList"}),He=U({...Qe,setup(Je){const v=we(),y=xe(!1),r=Ee({media_channel_code:"",dept_id:"",remark:""}),{time_type:V,dateRange:T,resolve:O,handleTimeTypeChange:$,handleCustomDateChange:G,resetTimeFilter:K}=Be("today"),{pager:s,getLists:f}=Ae({fetchFun:async l=>{const[e,d]=O();return Fe({...l,start_date:e,end_date:d})},params:r}),C=()=>{s.page=1,f()},N=()=>$(C),z=()=>G(C),I=E(()=>{const l=s.extend.media_channel_options;return Array.isArray(l)?l.map(e=>({code:String(e.code||""),name:String(e.name||"")})):[]}),L=E(()=>{const l=s.extend.media_channel_groups;if(Array.isArray(l)&&l.length>0)return l;const e=I.value;return e.length?[{group_name:"渠道",channels:e.map(d=>({channel_code:d.code,channel_name:d.name}))}]:[]}),S=E(()=>{const l=s.extend.dept_options;return Array.isArray(l)?l:[]}),M=E(()=>String(s.extend.default_media_channel_code||"")),A=l=>{if(!l)return"";for(const e of L.value)if(e.channels.find(k=>k.channel_code===l))return e.group_name;return""},j={value:"id",label:"name",children:"children"},q=async()=>{var l;y.value=!0,await P(),(l=v.value)==null||l.open("add")},Q=async l=>{var e,d;y.value=!0,await P(),(e=v.value)==null||e.open("edit"),(d=v.value)==null||d.getDetail(l)},H=async l=>{await Le.confirm("确定要删除这条账户消耗记录吗?"),await Se({id:l}),f()},J=()=>{K(),r.media_channel_code="",r.dept_id="",r.remark="",s.page=1,s.size=15,f()};return se(()=>{f()}),(l,e)=>{const d=ie,k=ue,W=_e,X=me,w=ce,Y=pe,Z=fe,b=be,ee=re,ne=Te,m=ve,ae=ye,te=ge,le=Ve,D=de("perms"),oe=Ce;return i(),g("div",Ue,[n(d,{class:"!border-none mb-4",shadow:"never"},{default:o(()=>[c("div",Oe,[c("div",$e,[e[7]||(e[7]=c("div",{class:"leading-10"},"当前筛选天数",-1)),c("div",Ge,_(t(s).extend.days_count??0),1)]),c("div",Ke,[e[8]||(e[8]=c("div",{class:"leading-10"},"累计账户消耗 (元)",-1)),c("div",Ne,"¥"+_(t(s).extend.total_amount??"0.00"),1)])])]),_:1}),n(d,{class:"!border-none",shadow:"never"},{default:o(()=>[n(ee,{inline:!0,model:t(r),class:"stats-filter-form"},{default:o(()=>[n(Re,{"time-type":t(V),"onUpdate:timeType":e[0]||(e[0]=a=>F(V)?V.value=a:null),"date-range":t(T),"onUpdate:dateRange":e[1]||(e[1]=a=>F(T)?T.value=a:null),onTimeTypeChange:N,onCustomChange:z},null,8,["time-type","date-range"]),n(w,{label:"自媒体渠道"},{default:o(()=>[n(X,{modelValue:t(r).media_channel_code,"onUpdate:modelValue":e[2]||(e[2]=a=>t(r).media_channel_code=a),placeholder:"筛选全部渠道",clearable:"",filterable:"",class:"account-cost-channel-select w-[220px]"},{default:o(()=>[n(k,{label:"全部",value:""}),(i(!0),g(R,null,B(t(L),a=>(i(),p(W,{key:a.group_name,label:a.group_name},{default:o(()=>[(i(!0),g(R,null,B(a.channels,h=>(i(),p(k,{key:h.channel_code,label:h.channel_name,value:h.channel_code},{default:o(()=>[c("div",ze,[c("span",Ie,_(h.channel_name),1)])]),_:2},1032,["label","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),n(w,{label:"部门"},{default:o(()=>[n(Y,{modelValue:t(r).dept_id,"onUpdate:modelValue":e[3]||(e[3]=a=>t(r).dept_id=a),data:t(S),"node-key":"id",props:j,"default-expand-all":!0,"check-strictly":"",placeholder:"筛选全部部门",clearable:"",filterable:"",class:"w-[220px]"},null,8,["modelValue","data"])]),_:1}),n(w,{class:"w-[280px]",label:"备注/维护人"},{default:o(()=>[n(Z,{modelValue:t(r).remark,"onUpdate:modelValue":e[4]||(e[4]=a=>t(r).remark=a),placeholder:"备注 / 创建人 / 修改人",clearable:"",onKeyup:he(C,["enter"])},null,8,["modelValue"])]),_:1}),n(w,null,{default:o(()=>[n(b,{type:"primary",loading:t(s).loading,onClick:C},{default:o(()=>[...e[9]||(e[9]=[u("查询",-1)])]),_:1},8,["loading"]),n(b,{onClick:J},{default:o(()=>[...e[10]||(e[10]=[u("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),n(d,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[c("div",null,[x((i(),p(b,{type:"primary",onClick:q},{icon:o(()=>[n(ne,{name:"el-icon-Plus"})]),default:o(()=>[e[11]||(e[11]=u(" 新增 ",-1))]),_:1})),[[D,["finance.account_cost/add"]]])]),x((i(),p(te,{class:"mt-4",size:"large",data:t(s).lists},{default:o(()=>[n(m,{label:"日期",prop:"cost_date","min-width":"120"}),n(m,{label:"自媒体渠道","min-width":"160"},{default:o(({row:a})=>[A(a.media_channel_code)?(i(),g("span",Me,[n(ae,{size:"small",class:"mr-1"},{default:o(()=>[u(_(A(a.media_channel_code)),1)]),_:2},1024),u(" "+_(a.media_channel_name),1)])):(i(),g("span",je,_(a.media_channel_name),1))]),_:1}),n(m,{label:"部门",prop:"dept_name","min-width":"140"}),n(m,{label:"账户消耗","min-width":"120"},{default:o(({row:a})=>[u("¥"+_(a.amount),1)]),_:1}),n(m,{label:"备注",prop:"remark","min-width":"260","show-overflow-tooltip":""}),n(m,{label:"创建人",prop:"creator_name","min-width":"100"}),n(m,{label:"最后修改人",prop:"updater_name","min-width":"100"}),n(m,{label:"更新时间",prop:"update_time","min-width":"180"}),n(m,{label:"操作",width:"160",fixed:"right"},{default:o(({row:a})=>[x((i(),p(b,{type:"primary",link:"",onClick:h=>Q(a)},{default:o(()=>[...e[12]||(e[12]=[u(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[D,["finance.account_cost/edit"]]]),x((i(),p(b,{type:"danger",link:"",onClick:h=>H(a.id)},{default:o(()=>[...e[13]||(e[13]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])),[[D,["finance.account_cost/delete"]]])]),_:1})]),_:1},8,["data"])),[[oe,t(s).loading]]),c("div",qe,[n(le,{modelValue:t(s),"onUpdate:modelValue":e[5]||(e[5]=a=>F(s)?s.value=a:null),onChange:t(f)},null,8,["modelValue","onChange"])])]),_:1}),t(y)?(i(),p(Pe,{key:0,ref_key:"editRef",ref:v,"media-channel-groups":t(L),"dept-options":t(S),"default-media-channel-code":t(M),onSuccess:t(f),onClose:e[6]||(e[6]=a=>y.value=!1)},null,8,["media-channel-groups","dept-options","default-media-channel-code","onSuccess"])):ke("",!0)])}}}),ln=De(He,[["__scopeId","data-v-3155fab1"]]);export{ln as default}; +import{o as U,ap as se,be as de,q as i,r as g,v as n,D as o,s as c,T as _,u as t,bg as ie,b9 as re,C as F,b6 as ce,bm as me,bn as ue,F as R,G as B,O as p,cB as _e,bK as pe,b7 as fe,b8 as he,K as be,L as u,ac as x,bj as ge,bk as ve,br as ye,bi as Ce,P as ke,a8 as we,M as xe,ba as Ee,p as E,n as P}from"./.pnpm-9dA1PEvN.js";import{_ as Ve}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as Te,i as Le,_ as De}from"./index-BWzN7QIb.js";import{e as Fe,f as Se}from"./finance-DNeCzSo4.js";import{u as Ae}from"./usePaging-Boz1Q6w3.js";import{L as Re,u as Be}from"./useListTimeFilter-EgCds3rQ.js";import Pe from"./edit-DDrtLTXp.js";import"./index-dYaCh-CN.js";const Ue={class:"account-cost-list"},Oe={class:"flex flex-wrap"},$e={class:"w-1/2 md:w-1/3"},Ge={class:"text-4xl"},Ke={class:"w-1/2 md:w-1/3"},Ne={class:"text-4xl"},ze={class:"channel-opt-row"},Ie={class:"opt-name"},Me={key:0},je={key:1},qe={class:"flex justify-end mt-4"},Qe=U({name:"accountCostList"}),He=U({...Qe,setup(Je){const v=we(),y=xe(!1),r=Ee({media_channel_code:"",dept_id:"",remark:""}),{time_type:V,dateRange:T,resolve:O,handleTimeTypeChange:$,handleCustomDateChange:G,resetTimeFilter:K}=Be("today"),{pager:s,getLists:f}=Ae({fetchFun:async l=>{const[e,d]=O();return Fe({...l,start_date:e,end_date:d})},params:r}),C=()=>{s.page=1,f()},N=()=>$(C),z=()=>G(C),I=E(()=>{const l=s.extend.media_channel_options;return Array.isArray(l)?l.map(e=>({code:String(e.code||""),name:String(e.name||"")})):[]}),L=E(()=>{const l=s.extend.media_channel_groups;if(Array.isArray(l)&&l.length>0)return l;const e=I.value;return e.length?[{group_name:"渠道",channels:e.map(d=>({channel_code:d.code,channel_name:d.name}))}]:[]}),S=E(()=>{const l=s.extend.dept_options;return Array.isArray(l)?l:[]}),M=E(()=>String(s.extend.default_media_channel_code||"")),A=l=>{if(!l)return"";for(const e of L.value)if(e.channels.find(k=>k.channel_code===l))return e.group_name;return""},j={value:"id",label:"name",children:"children"},q=async()=>{var l;y.value=!0,await P(),(l=v.value)==null||l.open("add")},Q=async l=>{var e,d;y.value=!0,await P(),(e=v.value)==null||e.open("edit"),(d=v.value)==null||d.getDetail(l)},H=async l=>{await Le.confirm("确定要删除这条账户消耗记录吗?"),await Se({id:l}),f()},J=()=>{K(),r.media_channel_code="",r.dept_id="",r.remark="",s.page=1,s.size=15,f()};return se(()=>{f()}),(l,e)=>{const d=ie,k=ue,W=_e,X=me,w=ce,Y=pe,Z=fe,b=be,ee=re,ne=Te,m=ve,ae=ye,te=ge,le=Ve,D=de("perms"),oe=Ce;return i(),g("div",Ue,[n(d,{class:"!border-none mb-4",shadow:"never"},{default:o(()=>[c("div",Oe,[c("div",$e,[e[7]||(e[7]=c("div",{class:"leading-10"},"当前筛选天数",-1)),c("div",Ge,_(t(s).extend.days_count??0),1)]),c("div",Ke,[e[8]||(e[8]=c("div",{class:"leading-10"},"累计账户消耗 (元)",-1)),c("div",Ne,"¥"+_(t(s).extend.total_amount??"0.00"),1)])])]),_:1}),n(d,{class:"!border-none",shadow:"never"},{default:o(()=>[n(ee,{inline:!0,model:t(r),class:"stats-filter-form"},{default:o(()=>[n(Re,{"time-type":t(V),"onUpdate:timeType":e[0]||(e[0]=a=>F(V)?V.value=a:null),"date-range":t(T),"onUpdate:dateRange":e[1]||(e[1]=a=>F(T)?T.value=a:null),onTimeTypeChange:N,onCustomChange:z},null,8,["time-type","date-range"]),n(w,{label:"自媒体渠道"},{default:o(()=>[n(X,{modelValue:t(r).media_channel_code,"onUpdate:modelValue":e[2]||(e[2]=a=>t(r).media_channel_code=a),placeholder:"筛选全部渠道",clearable:"",filterable:"",class:"account-cost-channel-select w-[220px]"},{default:o(()=>[n(k,{label:"全部",value:""}),(i(!0),g(R,null,B(t(L),a=>(i(),p(W,{key:a.group_name,label:a.group_name},{default:o(()=>[(i(!0),g(R,null,B(a.channels,h=>(i(),p(k,{key:h.channel_code,label:h.channel_name,value:h.channel_code},{default:o(()=>[c("div",ze,[c("span",Ie,_(h.channel_name),1)])]),_:2},1032,["label","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),n(w,{label:"部门"},{default:o(()=>[n(Y,{modelValue:t(r).dept_id,"onUpdate:modelValue":e[3]||(e[3]=a=>t(r).dept_id=a),data:t(S),"node-key":"id",props:j,"default-expand-all":!0,"check-strictly":"",placeholder:"筛选全部部门",clearable:"",filterable:"",class:"w-[220px]"},null,8,["modelValue","data"])]),_:1}),n(w,{class:"w-[280px]",label:"备注/维护人"},{default:o(()=>[n(Z,{modelValue:t(r).remark,"onUpdate:modelValue":e[4]||(e[4]=a=>t(r).remark=a),placeholder:"备注 / 创建人 / 修改人",clearable:"",onKeyup:he(C,["enter"])},null,8,["modelValue"])]),_:1}),n(w,null,{default:o(()=>[n(b,{type:"primary",loading:t(s).loading,onClick:C},{default:o(()=>[...e[9]||(e[9]=[u("查询",-1)])]),_:1},8,["loading"]),n(b,{onClick:J},{default:o(()=>[...e[10]||(e[10]=[u("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),n(d,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[c("div",null,[x((i(),p(b,{type:"primary",onClick:q},{icon:o(()=>[n(ne,{name:"el-icon-Plus"})]),default:o(()=>[e[11]||(e[11]=u(" 新增 ",-1))]),_:1})),[[D,["finance.account_cost/add"]]])]),x((i(),p(te,{class:"mt-4",size:"large",data:t(s).lists},{default:o(()=>[n(m,{label:"日期",prop:"cost_date","min-width":"120"}),n(m,{label:"自媒体渠道","min-width":"160"},{default:o(({row:a})=>[A(a.media_channel_code)?(i(),g("span",Me,[n(ae,{size:"small",class:"mr-1"},{default:o(()=>[u(_(A(a.media_channel_code)),1)]),_:2},1024),u(" "+_(a.media_channel_name),1)])):(i(),g("span",je,_(a.media_channel_name),1))]),_:1}),n(m,{label:"部门",prop:"dept_name","min-width":"140"}),n(m,{label:"账户消耗","min-width":"120"},{default:o(({row:a})=>[u("¥"+_(a.amount),1)]),_:1}),n(m,{label:"备注",prop:"remark","min-width":"260","show-overflow-tooltip":""}),n(m,{label:"创建人",prop:"creator_name","min-width":"100"}),n(m,{label:"最后修改人",prop:"updater_name","min-width":"100"}),n(m,{label:"更新时间",prop:"update_time","min-width":"180"}),n(m,{label:"操作",width:"160",fixed:"right"},{default:o(({row:a})=>[x((i(),p(b,{type:"primary",link:"",onClick:h=>Q(a)},{default:o(()=>[...e[12]||(e[12]=[u(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[D,["finance.account_cost/edit"]]]),x((i(),p(b,{type:"danger",link:"",onClick:h=>H(a.id)},{default:o(()=>[...e[13]||(e[13]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])),[[D,["finance.account_cost/delete"]]])]),_:1})]),_:1},8,["data"])),[[oe,t(s).loading]]),c("div",qe,[n(le,{modelValue:t(s),"onUpdate:modelValue":e[5]||(e[5]=a=>F(s)?s.value=a:null),onChange:t(f)},null,8,["modelValue","onChange"])])]),_:1}),t(y)?(i(),p(Pe,{key:0,ref_key:"editRef",ref:v,"media-channel-groups":t(L),"dept-options":t(S),"default-media-channel-code":t(M),onSuccess:t(f),onClose:e[6]||(e[6]=a=>y.value=!1)},null,8,["media-channel-groups","dept-options","default-media-channel-code","onSuccess"])):ke("",!0)])}}}),ln=De(He,[["__scopeId","data-v-3155fab1"]]);export{ln as default}; diff --git a/server/public/admin/assets/index-ZDv6ICXT.js b/server/public/admin/assets/index-B0qTqYrO.js similarity index 97% rename from server/public/admin/assets/index-ZDv6ICXT.js rename to server/public/admin/assets/index-B0qTqYrO.js index 2bbd7333..ec055b91 100644 --- a/server/public/admin/assets/index-ZDv6ICXT.js +++ b/server/public/admin/assets/index-B0qTqYrO.js @@ -1 +1 @@ -import{o as v,x as T,be as B,q as s,r as D,v as t,D as a,ac as m,O as l,u as i,K as L,L as r,bj as N,bk as P,br as $,P as b,s as g,bi as j,C as q,bg as K}from"./.pnpm-9dA1PEvN.js";import{_ as R}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{J as F,k,c as J,i as O,K as U}from"./index-CJvXnF8Y.js";import{u as z}from"./usePaging-Boz1Q6w3.js";const A={class:"flex"},G={class:"flex justify-end mt-4"},H=v({name:"scheduledTask"}),Y=v({...H,setup(I){const{pager:d,getLists:c}=z({fetchFun:F,params:{}}),w=async f=>{await O.confirm("确定要删除?"),await U({id:f}),c()};return c(),(f,e)=>{const h=J,p=L,y=T("router-link"),n=P,u=$,x=N,C=R,V=K,_=B("perms"),E=j;return s(),D("div",null,[t(V,{shadow:"never",class:"!border-none"},{default:a(()=>[m((s(),l(y,{to:i(k)("crontab.crontab/add:edit")},{default:a(()=>[t(p,{type:"primary",class:"mb-[16px]"},{icon:a(()=>[t(h,{name:"el-icon-Plus"})]),default:a(()=>[e[1]||(e[1]=r(" 新增 ",-1))]),_:1})]),_:1},8,["to"])),[[_,["crontab.crontab/add","crontab.crontab/add:edit"]]]),m((s(),l(x,{ref:"paneTable",class:"m-t-24",data:i(d).lists,style:{width:"100%"}},{default:a(()=>[t(n,{prop:"name",label:"名称","min-width":"120"}),t(n,{prop:"type_desc",label:"类型","min-width":"100"}),t(n,{prop:"command",label:"命令","min-width":"100"}),t(n,{prop:"params",label:"参数","min-width":"80"}),t(n,{prop:"expression",label:"规则","min-width":"100"}),t(n,{prop:"status",label:"状态","min-width":"100"},{default:a(({row:o})=>[o.status==1?(s(),l(u,{key:0,type:"success"},{default:a(()=>[...e[2]||(e[2]=[r("运行中",-1)])]),_:1})):b("",!0),o.status==2?(s(),l(u,{key:1,type:"info"},{default:a(()=>[...e[3]||(e[3]=[r("已停止",-1)])]),_:1})):b("",!0),o.status==3?(s(),l(u,{key:2,type:"danger"},{default:a(()=>[...e[4]||(e[4]=[r("错误",-1)])]),_:1})):b("",!0)]),_:1}),t(n,{prop:"error",label:"错误原因","min-width":"120"}),t(n,{prop:"last_time",label:"最后执行时间",width:"180"}),t(n,{prop:"time",label:"时长","min-width":"100"}),t(n,{prop:"max_time",label:"最大时长","min-width":"100"}),t(n,{label:"操作",width:"120",fixed:"right"},{default:a(({row:o})=>[g("div",A,[t(p,{type:"primary",link:""},{default:a(()=>[m((s(),l(y,{to:{path:i(k)("crontab.crontab/add:edit"),query:{id:o.id}}},{default:a(()=>[t(p,{type:"primary",link:""},{default:a(()=>[...e[5]||(e[5]=[r(" 编辑 ",-1)])]),_:1})]),_:1},8,["to"])),[[_,["crontab.crontab/edit","crontab.crontab/add:edit"]]])]),_:2},1024),m((s(),l(p,{type:"danger",link:"",onClick:M=>w(o.id)},{default:a(()=>[...e[6]||(e[6]=[r(" 删除 ",-1)])]),_:1},8,["onClick"])),[[_,["crontab.crontab/delete"]]])])]),_:1})]),_:1},8,["data"])),[[E,i(d).loading]]),g("div",G,[t(C,{modelValue:i(d),"onUpdate:modelValue":e[0]||(e[0]=o=>q(d)?d.value=o:null),onChange:i(c)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{Y as default}; +import{o as v,x as T,be as B,q as s,r as D,v as t,D as a,ac as m,O as l,u as i,K as L,L as r,bj as N,bk as P,br as $,P as b,s as g,bi as j,C as q,bg as K}from"./.pnpm-9dA1PEvN.js";import{_ as R}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{J as F,k,c as J,i as O,K as U}from"./index-BWzN7QIb.js";import{u as z}from"./usePaging-Boz1Q6w3.js";const A={class:"flex"},G={class:"flex justify-end mt-4"},H=v({name:"scheduledTask"}),Y=v({...H,setup(I){const{pager:d,getLists:c}=z({fetchFun:F,params:{}}),w=async f=>{await O.confirm("确定要删除?"),await U({id:f}),c()};return c(),(f,e)=>{const h=J,p=L,y=T("router-link"),n=P,u=$,x=N,C=R,V=K,_=B("perms"),E=j;return s(),D("div",null,[t(V,{shadow:"never",class:"!border-none"},{default:a(()=>[m((s(),l(y,{to:i(k)("crontab.crontab/add:edit")},{default:a(()=>[t(p,{type:"primary",class:"mb-[16px]"},{icon:a(()=>[t(h,{name:"el-icon-Plus"})]),default:a(()=>[e[1]||(e[1]=r(" 新增 ",-1))]),_:1})]),_:1},8,["to"])),[[_,["crontab.crontab/add","crontab.crontab/add:edit"]]]),m((s(),l(x,{ref:"paneTable",class:"m-t-24",data:i(d).lists,style:{width:"100%"}},{default:a(()=>[t(n,{prop:"name",label:"名称","min-width":"120"}),t(n,{prop:"type_desc",label:"类型","min-width":"100"}),t(n,{prop:"command",label:"命令","min-width":"100"}),t(n,{prop:"params",label:"参数","min-width":"80"}),t(n,{prop:"expression",label:"规则","min-width":"100"}),t(n,{prop:"status",label:"状态","min-width":"100"},{default:a(({row:o})=>[o.status==1?(s(),l(u,{key:0,type:"success"},{default:a(()=>[...e[2]||(e[2]=[r("运行中",-1)])]),_:1})):b("",!0),o.status==2?(s(),l(u,{key:1,type:"info"},{default:a(()=>[...e[3]||(e[3]=[r("已停止",-1)])]),_:1})):b("",!0),o.status==3?(s(),l(u,{key:2,type:"danger"},{default:a(()=>[...e[4]||(e[4]=[r("错误",-1)])]),_:1})):b("",!0)]),_:1}),t(n,{prop:"error",label:"错误原因","min-width":"120"}),t(n,{prop:"last_time",label:"最后执行时间",width:"180"}),t(n,{prop:"time",label:"时长","min-width":"100"}),t(n,{prop:"max_time",label:"最大时长","min-width":"100"}),t(n,{label:"操作",width:"120",fixed:"right"},{default:a(({row:o})=>[g("div",A,[t(p,{type:"primary",link:""},{default:a(()=>[m((s(),l(y,{to:{path:i(k)("crontab.crontab/add:edit"),query:{id:o.id}}},{default:a(()=>[t(p,{type:"primary",link:""},{default:a(()=>[...e[5]||(e[5]=[r(" 编辑 ",-1)])]),_:1})]),_:1},8,["to"])),[[_,["crontab.crontab/edit","crontab.crontab/add:edit"]]])]),_:2},1024),m((s(),l(p,{type:"danger",link:"",onClick:M=>w(o.id)},{default:a(()=>[...e[6]||(e[6]=[r(" 删除 ",-1)])]),_:1},8,["onClick"])),[[_,["crontab.crontab/delete"]]])])]),_:1})]),_:1},8,["data"])),[[E,i(d).loading]]),g("div",G,[t(C,{modelValue:i(d),"onUpdate:modelValue":e[0]||(e[0]=o=>q(d)?d.value=o:null),onChange:i(c)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{Y as default}; diff --git a/server/public/admin/assets/index-D33qlDjf.js b/server/public/admin/assets/index-B5cu05RL.js similarity index 99% rename from server/public/admin/assets/index-D33qlDjf.js rename to server/public/admin/assets/index-B5cu05RL.js index 75909568..48337b40 100644 --- a/server/public/admin/assets/index-D33qlDjf.js +++ b/server/public/admin/assets/index-B5cu05RL.js @@ -1,4 +1,4 @@ -import{o as $s,R as $t,q as p,r as f,F as R,v as n,B as Cs,u as s,C as O,bM as Rs,D as r,s as l,K as Ts,L as m,b9 as Ds,c7 as Ps,c8 as Is,b6 as Es,T as _,b7 as Os,br as As,P as x,c$ as zs,cG as Ls,c9 as Hs,J as Fs,G as z,ae as ze,O as $,bm as Ms,bn as Ws,bc as js,bf as Gs,I as Bs,aw as ie,Y as qs,X as Ks,w as Ys,bz as Js,bH as Xs,a1 as Qs,bt as Zs,b8 as ea,bA as ta,ac as sa,bi as aa,bk as la,bj as na,bs as oa,M as k,p as w,ba as Ct,cd as ia,cc as Rt}from"./.pnpm-9dA1PEvN.js";import{M as Tt}from"./index-BANIMLkY.js";import{u as ra,e as da,i as V,m as T,_ as ua}from"./index-CJvXnF8Y.js";import{f as ca}from"./diabetes-discovery-display-B_wmGXQJ.js";import{a3 as _a,k as ye,a4 as Dt,o as pa,q as ma,ap as ga}from"./tcm-DOD9_1Um.js";import{m as ba}from"./medicine-CQDW2OUZ.js";const fa={key:0,class:"prescription-edit"},va={class:"info-section"},ya={class:"info-section"},xa={class:"info-section info-section--rp"},ka={class:"rp-toolbar",role:"region","aria-label":"中药处方"},ha={class:"rp-toolbar__lead"},Va={class:"rp-toolbar__text"},wa={class:"rp-toolbar__meta"},Sa={key:0,class:"rp-toolbar__lock-tip"},Na={class:"rp-toolbar__actions",role:"toolbar","aria-label":"处方药材快捷操作"},Ua={class:"mb-3"},$a={class:"herb-formula-block"},Ca={class:"herb-formula-block__head"},Ra={class:"herbs-editor-grid"},Ta={class:"herb-editor-card__title"},Da={key:0,class:"herb-editor-card__dup-hint text-amber-600 text-xs mb-1"},Pa={class:"herb-editor-card__row"},Ia={class:"herb-formula-block mt-4"},Ea={class:"herb-formula-block__head"},Oa={class:"herbs-editor-grid"},Aa={key:0,class:"herb-editor-card__dup-hint text-amber-600 text-xs mb-1"},za={class:"herb-editor-card__row"},La={key:0,class:"text-sm text-gray-400 py-2"},Ha={class:"info-section"},Fa={key:3,class:"ml-2"},Ma={class:"signature-pad-wrap"},Wa={class:"signature-actions"},ja={key:1,class:"rx-wrap"},Ga={class:"rx-toolbar"},Ba={key:0,class:"rx-status rx-status-danger"},qa={key:1,class:"rx-status rx-status-danger"},Ka={key:0,class:"mt-1"},Ya={class:"prescription-preview-content"},Ja={class:"rx-title"},Xa={class:"rx-notice"},Qa={class:"rx-notice-text"},Za={class:"rx-notice-meta"},el={class:"rx-info"},tl={class:"rx-info-row"},sl={class:"rx-info-cell"},al={class:"rx-val"},ll={class:"rx-info-cell"},nl={class:"rx-val"},ol={class:"rx-info-cell"},il={class:"rx-val"},rl={class:"rx-info-cell"},dl={class:"rx-val"},ul={class:"rx-info-row rx-info-row-full"},cl={class:"rx-info-cell"},_l={class:"rx-val"},pl={key:0,class:"rx-info-row rx-info-row-full"},ml={key:0,class:"rx-info-cell"},gl={class:"rx-val"},bl={key:1,class:"rx-info-cell"},fl={class:"rx-val"},vl={class:"rx-info-row rx-info-row-full"},yl={class:"rx-info-cell"},xl={class:"rx-val"},kl={class:"rx-rp"},hl={class:"rx-watermark"},Vl={class:"rx-rp-head"},wl={class:"rx-rp-cols-head"},Sl={class:"rx-rp-col-head"},Nl={class:"rx-rp-col-head"},Ul={class:"rx-herbs"},$l={class:"rx-herb-name"},Cl={class:"rx-herb-total"},Rl={class:"rx-herb-name"},Tl={class:"rx-herb-total"},Dl={class:"rx-herb-name"},Pl={class:"rx-herb-total"},Il={class:"rx-herb-name"},El={class:"rx-herb-total"},Ol={class:"rx-text"},Al={key:0},zl={key:1},Ll={key:2},Hl={key:1},Fl={key:2},Ml={key:3},Wl={key:4,class:"rx-text-warn"},jl={key:5,class:"rx-text-warn"},Gl={class:"rx-bottom"},Bl={class:"rx-bot-cell rx-bot-stack rx-bot-doctor"},ql={class:"rx-bot-doctor-body"},Kl=["src"],Yl={key:1,class:"rx-bot-doctor-name"},Jl={key:0,class:"rx-bot-cell rx-bot-meta"},Xl={class:"rx-bot-meta-val"},Ql={class:"rx-bot-cell rx-bot-meta"},Zl={class:"rx-bot-meta-val"},en={key:1,class:"rx-bot-cell rx-bot-meta"},tn={class:"rx-bot-meta-val"},sn={key:0,class:"rx-bot-row rx-hospital-row"},an={class:"case-record-a3-inner"},ln={class:"case-record-a3-title"},nn={class:"case-record-a3-body"},on={class:"cr-section"},rn={class:"cr-grid"},dn={class:"cr-item"},un={class:"cr-item"},cn={class:"cr-item"},_n={class:"cr-item"},pn={class:"cr-item"},mn={class:"cr-item"},gn={class:"cr-item"},bn={class:"cr-item"},fn={class:"cr-item"},vn={class:"cr-item"},yn={class:"cr-section"},xn={class:"cr-grid"},kn={class:"cr-item"},hn={class:"cr-item"},Vn={class:"cr-section"},wn={class:"cr-grid"},Sn={class:"cr-item"},Nn={class:"cr-item"},Un={class:"cr-item"},$n={class:"cr-item"},Cn={class:"cr-item"},Rn={class:"cr-item cr-full"},Tn={class:"cr-item cr-full"},Dn={class:"cr-section"},Pn={class:"cr-grid"},In={class:"cr-item cr-full"},En={class:"cr-item cr-full"},On={class:"cr-item cr-full"},An={class:"cr-item cr-full"},zn={class:"cr-item cr-full"},Ln={class:"cr-item cr-full"},Hn={class:"cr-item cr-full"},Fn={class:"cr-item cr-full"},Mn={class:"cr-item cr-full"},Wn={class:"cr-item cr-full"},jn={class:"cr-item cr-full"},Gn={class:"cr-item cr-full"},Bn={class:"cr-item cr-full"},qn={class:"cr-item cr-full"},Kn={class:"cr-item cr-full"},Yn={class:"cr-section"},Jn={class:"cr-item cr-full"},Xn={class:"cr-section"},Qn={class:"cr-grid"},Zn={class:"cr-item"},eo={class:"cr-item"},to={class:"cr-item"},so={class:"cr-item"},ao={class:"cr-item"},lo={class:"cr-section"},no={key:0,class:"cr-grid"},oo={class:"cr-item cr-full"},io={class:"cr-images"},ro=["src"],uo={class:"cr-grid"},co={class:"cr-item cr-full"},_o={key:2,class:"rx-audit"},po={key:0},mo={key:0,class:"ml-2 text-gray-400"},go={key:1,class:"mt-1"},bo={class:"flex justify-end gap-2 mt-4"},fo={class:"inline-block"},vo={class:"flex justify-end gap-2"},yo={class:"mb-4 flex gap-3"},xo={class:"mb-3 flex flex-wrap items-center gap-x-4 gap-y-2"},ko={key:0},ho={key:1,class:"text-gray-400"},Vo={class:"flex justify-end mt-4"},wo={class:"mt-3 flex flex-wrap items-center gap-x-4 gap-y-2"},re=560,de=168,So="成都双流甄养堂互联网医院 处方笺",No=$s({__name:"index",emits:["success"],setup(Uo,{expose:Pt,emit:It}){function L(t){return t==="辅方"?"辅方":"主方"}function Le(t){const e={name:String((t==null?void 0:t.name)??"").trim(),dosage:Number(t==null?void 0:t.dosage)||0,formula_type:L(t==null?void 0:t.formula_type)},o=Number((t==null?void 0:t.medicine_id)??(t==null?void 0:t.id)??0);return Number.isInteger(o)&&o>0&&(e.medicine_id=o),((t==null?void 0:t.locked)===!0||(t==null?void 0:t.locked)===1)&&(e.locked=!0),e}function se(t="浓缩水丸"){return t==="饮片"?{dosage_amount:50,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}:t==="浓缩水丸"?{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 He(t,e){const o=se(e);if(!t||typeof t!="object")return{...o};const i=t;return{dosage_amount:i.dosage_amount!==null&&i.dosage_amount!==void 0&&i.dosage_amount!==""?Number(i.dosage_amount):o.dosage_amount,dosage_bag_count:i.dosage_bag_count!=null?Number(i.dosage_bag_count)||1:o.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:o.bags_per_dose,times_per_day:i.times_per_day!=null?Number(i.times_per_day)||3:o.times_per_day,usage_days:i.usage_days!=null?Number(i.usage_days)||7:o.usage_days}}function Fe(t,e,o){const i=t.prescription_type||"浓缩水丸",g=Number(t.times_per_day)>0?Number(t.times_per_day):3,y=t.dosage_amount!=null?Number(t.dosage_amount):10,b=t.dosage_unit||(i==="饮片"?"ml":"g"),v=t.usage_way||e||"温水送服",S=t.usage_time||o||"",c=[];if(c.push(`每天${g}次`),i==="浓缩水丸"){const N=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;c.push(`一次${N}袋`),c.push(`每袋${y}${b}`)}else c.push(`一次${y}${b}`);return c.push(v),S&&c.push(S),c.join(", ")}const Me=It,F=k(!1),Et=k(),xe=k(!1),ke=k(!1),We=k(),je=k(),M=k(),ue=k(null),d=k(null),C=k("internal"),he=k(!1),ce=w(()=>{const t=d.value;return t?Number(t.audit_status)===1&&Number(t.void_status)!==1:!1}),Ge=w(()=>{const t=d.value;return t?Number(t.has_prescription_order)===1:!1}),Ot=w(()=>ce.value?"查看处方":"中医处方单"),_e=w(()=>{var e;const t=(e=d.value)==null?void 0:e.herbs;return Array.isArray(t)?t.filter(o=>L(o==null?void 0:o.formula_type)==="主方"):[]}),K=w(()=>{var e;const t=(e=d.value)==null?void 0:e.herbs;return Array.isArray(t)?t.filter(o=>L(o==null?void 0:o.formula_type)==="辅方"):[]}),Ve=w(()=>{const t=d.value;if(!t||!K.value.length)return"";const e=He(t.aux_usage,t.prescription_type||"浓缩水丸");return Fe({prescription_type:t.prescription_type,dosage_amount:e.dosage_amount,dosage_unit:t.dosage_unit,dosage_bag_count:e.dosage_bag_count,times_per_day:e.times_per_day,usage_way:t.usage_way,usage_time:t.usage_time},t.usage_way,t.usage_time)}),we=w(()=>{var e;const t=(e=d.value)==null?void 0:e.herbs;return Array.isArray(t)?t:[]}),pe=t=>String(t).padStart(2,"0"),At=w(()=>{const t=d.value;if(!t)return"—";const e=t.create_time??t.update_time??null;if(e){const o=String(e).length===10?Number(e)*1e3:Number(e),i=new Date(o);if(!isNaN(i.getTime()))return`${i.getFullYear()}-${pe(i.getMonth()+1)}-${pe(i.getDate())} ${pe(i.getHours())}:${pe(i.getMinutes())}`}return t.prescription_date||"—"}),zt=w(()=>{const t=d.value;if(!t)return"—";const e=String(t.sn??"").trim();if(e)return e;const o=String(t.visit_no??"").trim();return o||(t.id?`G${t.id}`:"—")}),Be=w(()=>{var e;const t=Number((e=d.value)==null?void 0:e.dose_count);return Number.isFinite(t)&&t>0?t:1}),Lt=w(()=>{const t=we.value.reduce((e,o)=>e+(Number(o==null?void 0:o.dosage)||0),0);return W(t)}),qe=t=>{const e=Number(t)||0;return W(e*Be.value)},Ht=w(()=>{const t=d.value;if(!t)return"—";const e=t.prescription_type||"浓缩水丸";return e==="饮片"?"饮片":/丸|散|膏|片/.test(e)?`浓缩丸-${e}`:e}),Ke=w(()=>{const t=d.value;return t?t.usage_text?t.usage_text:Fe(t):"—"}),Ye=w(()=>{const t=d.value;return t&&t.medical_advice||""}),Je=w(()=>{const t=d.value;if(!t)return"";const e=[];return e.push(`共${we.value.length}味药`),t.usage_notes&&e.push(String(t.usage_notes)),t.remark&&e.push(String(t.remark)),e.join(" ")}),Xe=w(()=>{const t=d.value;return t&&(t.pharmacy_remark||t.pharmacy_note)||""}),Ft=w(()=>{const t=d.value;if(!t)return"—";const e=t.medication_days??t.usage_days;if(e!=null&&String(e).trim()!=="")return`${e} 天`;const o=t.dose_count;return o!=null&&String(o).trim()!==""&&Number(o)>0?`${o} 天`:"—"}),Qe=w(()=>{const t=d.value;if(!t||(t.prescription_type||"浓缩水丸")!=="浓缩水丸")return null;const e=Number(t.medication_days??t.usage_days??t.dose_count),o=Number(t.times_per_day),i=Number(t.dosage_amount),g=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;return!Number.isFinite(e)||!Number.isFinite(o)||!Number.isFinite(i)||e<=0||o<=0||i<=0?null:e*o*i*g}),Ze=w(()=>{const t=d.value;if(!t||(t.prescription_type||"浓缩水丸")!=="浓缩水丸"||!K.value.length)return null;const e=He(t.aux_usage,t.prescription_type||"浓缩水丸"),o=Number(t.medication_days??e.usage_days),i=Number(e.times_per_day),g=Number(e.dosage_amount),y=Number(e.dosage_bag_count)>0?Number(e.dosage_bag_count):1;return!Number.isFinite(o)||!Number.isFinite(i)||!Number.isFinite(g)||o<=0||i<=0||g<=0?null:o*i*g*y}),Mt=w(()=>{const t=Qe.value,e=Ze.value,o=typeof t=="number"&&isFinite(t)&&t>0?t:0,i=typeof e=="number"&&isFinite(e)&&e>0?e:0,g=o+i;if(g>0)return W(g);const y=d.value;if(!y)return"";const b=y.out_pellet||y.total_weight;if(b&&Number(b)>0)return W(Number(b));const v=we.value;if(!v.length)return"";const S=v.reduce((c,N)=>c+(Number(N==null?void 0:N.dosage)||0),0);return W(S*Be.value)}),et=w(()=>{const t=Mt.value;if(!t)return"";const e=Qe.value,o=Ze.value;return typeof e=="number"&&isFinite(e)&&e>0&&typeof o=="number"&&isFinite(o)&&o>0?`${t}克(主方 ${W(e)}克 + 辅方 ${W(o)}克)`:`${t}克`});function W(t){return isFinite(t)?Number.isInteger(t)?String(t):t.toFixed(2).replace(/\.?0+$/,""):"0"}function Wt(t){var e;return t===1||t==="1"?"男":t===0||t==="0"?"女":((e=d.value)==null?void 0:e.gender_desc)||"—"}function jt(t){return t==null||t===""?"—":`${t}岁`}function Gt(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")}`}const tt=w(()=>a.herbs.map((t,e)=>({herb:t,index:e})).filter(({herb:t})=>L(t.formula_type)==="主方")),ae=w(()=>a.herbs.map((t,e)=>({herb:t,index:e})).filter(({herb:t})=>L(t.formula_type)==="辅方")),Bt=w(()=>tt.value.length),qt=w(()=>ae.value.length),I=w(()=>a.herbs.some(t=>t.locked===!0)),Se=w(()=>{var e;const t=Number((e=Te.userInfo)==null?void 0:e.id);return t>0?t:0}),j=k(!1),Ne=k(!1),Ue=k([]),le=k(""),ne=k(""),Y=k("replace"),J=k(!1),X=k(1),me=k(15),$e=k(0),Q=k(!1),Z=k(""),ge=k("replace"),Ce=k(!1),Kt=/^(用法|用量|医嘱|忌口|水煎服|空腹|饭后|温水|内服|外用|备注|顿服|分服|ml|毫升|[×xX]\s*\d)/;function Yt(t){let e=t.replace(/\r\n/g,` +import{o as $s,R as $t,q as p,r as f,F as R,v as n,B as Cs,u as s,C as O,bM as Rs,D as r,s as l,K as Ts,L as m,b9 as Ds,c7 as Ps,c8 as Is,b6 as Es,T as _,b7 as Os,br as As,P as x,c$ as zs,cG as Ls,c9 as Hs,J as Fs,G as z,ae as ze,O as $,bm as Ms,bn as Ws,bc as js,bf as Gs,I as Bs,aw as ie,Y as qs,X as Ks,w as Ys,bz as Js,bH as Xs,a1 as Qs,bt as Zs,b8 as ea,bA as ta,ac as sa,bi as aa,bk as la,bj as na,bs as oa,M as k,p as w,ba as Ct,cd as ia,cc as Rt}from"./.pnpm-9dA1PEvN.js";import{M as Tt}from"./index-CNLsF7Nt.js";import{u as ra,e as da,i as V,m as T,_ as ua}from"./index-BWzN7QIb.js";import{f as ca}from"./diabetes-discovery-display-B_wmGXQJ.js";import{a3 as _a,k as ye,a4 as Dt,o as pa,q as ma,ap as ga}from"./tcm-Fi_swgCr.js";import{m as ba}from"./medicine-DezWRkkS.js";const fa={key:0,class:"prescription-edit"},va={class:"info-section"},ya={class:"info-section"},xa={class:"info-section info-section--rp"},ka={class:"rp-toolbar",role:"region","aria-label":"中药处方"},ha={class:"rp-toolbar__lead"},Va={class:"rp-toolbar__text"},wa={class:"rp-toolbar__meta"},Sa={key:0,class:"rp-toolbar__lock-tip"},Na={class:"rp-toolbar__actions",role:"toolbar","aria-label":"处方药材快捷操作"},Ua={class:"mb-3"},$a={class:"herb-formula-block"},Ca={class:"herb-formula-block__head"},Ra={class:"herbs-editor-grid"},Ta={class:"herb-editor-card__title"},Da={key:0,class:"herb-editor-card__dup-hint text-amber-600 text-xs mb-1"},Pa={class:"herb-editor-card__row"},Ia={class:"herb-formula-block mt-4"},Ea={class:"herb-formula-block__head"},Oa={class:"herbs-editor-grid"},Aa={key:0,class:"herb-editor-card__dup-hint text-amber-600 text-xs mb-1"},za={class:"herb-editor-card__row"},La={key:0,class:"text-sm text-gray-400 py-2"},Ha={class:"info-section"},Fa={key:3,class:"ml-2"},Ma={class:"signature-pad-wrap"},Wa={class:"signature-actions"},ja={key:1,class:"rx-wrap"},Ga={class:"rx-toolbar"},Ba={key:0,class:"rx-status rx-status-danger"},qa={key:1,class:"rx-status rx-status-danger"},Ka={key:0,class:"mt-1"},Ya={class:"prescription-preview-content"},Ja={class:"rx-title"},Xa={class:"rx-notice"},Qa={class:"rx-notice-text"},Za={class:"rx-notice-meta"},el={class:"rx-info"},tl={class:"rx-info-row"},sl={class:"rx-info-cell"},al={class:"rx-val"},ll={class:"rx-info-cell"},nl={class:"rx-val"},ol={class:"rx-info-cell"},il={class:"rx-val"},rl={class:"rx-info-cell"},dl={class:"rx-val"},ul={class:"rx-info-row rx-info-row-full"},cl={class:"rx-info-cell"},_l={class:"rx-val"},pl={key:0,class:"rx-info-row rx-info-row-full"},ml={key:0,class:"rx-info-cell"},gl={class:"rx-val"},bl={key:1,class:"rx-info-cell"},fl={class:"rx-val"},vl={class:"rx-info-row rx-info-row-full"},yl={class:"rx-info-cell"},xl={class:"rx-val"},kl={class:"rx-rp"},hl={class:"rx-watermark"},Vl={class:"rx-rp-head"},wl={class:"rx-rp-cols-head"},Sl={class:"rx-rp-col-head"},Nl={class:"rx-rp-col-head"},Ul={class:"rx-herbs"},$l={class:"rx-herb-name"},Cl={class:"rx-herb-total"},Rl={class:"rx-herb-name"},Tl={class:"rx-herb-total"},Dl={class:"rx-herb-name"},Pl={class:"rx-herb-total"},Il={class:"rx-herb-name"},El={class:"rx-herb-total"},Ol={class:"rx-text"},Al={key:0},zl={key:1},Ll={key:2},Hl={key:1},Fl={key:2},Ml={key:3},Wl={key:4,class:"rx-text-warn"},jl={key:5,class:"rx-text-warn"},Gl={class:"rx-bottom"},Bl={class:"rx-bot-cell rx-bot-stack rx-bot-doctor"},ql={class:"rx-bot-doctor-body"},Kl=["src"],Yl={key:1,class:"rx-bot-doctor-name"},Jl={key:0,class:"rx-bot-cell rx-bot-meta"},Xl={class:"rx-bot-meta-val"},Ql={class:"rx-bot-cell rx-bot-meta"},Zl={class:"rx-bot-meta-val"},en={key:1,class:"rx-bot-cell rx-bot-meta"},tn={class:"rx-bot-meta-val"},sn={key:0,class:"rx-bot-row rx-hospital-row"},an={class:"case-record-a3-inner"},ln={class:"case-record-a3-title"},nn={class:"case-record-a3-body"},on={class:"cr-section"},rn={class:"cr-grid"},dn={class:"cr-item"},un={class:"cr-item"},cn={class:"cr-item"},_n={class:"cr-item"},pn={class:"cr-item"},mn={class:"cr-item"},gn={class:"cr-item"},bn={class:"cr-item"},fn={class:"cr-item"},vn={class:"cr-item"},yn={class:"cr-section"},xn={class:"cr-grid"},kn={class:"cr-item"},hn={class:"cr-item"},Vn={class:"cr-section"},wn={class:"cr-grid"},Sn={class:"cr-item"},Nn={class:"cr-item"},Un={class:"cr-item"},$n={class:"cr-item"},Cn={class:"cr-item"},Rn={class:"cr-item cr-full"},Tn={class:"cr-item cr-full"},Dn={class:"cr-section"},Pn={class:"cr-grid"},In={class:"cr-item cr-full"},En={class:"cr-item cr-full"},On={class:"cr-item cr-full"},An={class:"cr-item cr-full"},zn={class:"cr-item cr-full"},Ln={class:"cr-item cr-full"},Hn={class:"cr-item cr-full"},Fn={class:"cr-item cr-full"},Mn={class:"cr-item cr-full"},Wn={class:"cr-item cr-full"},jn={class:"cr-item cr-full"},Gn={class:"cr-item cr-full"},Bn={class:"cr-item cr-full"},qn={class:"cr-item cr-full"},Kn={class:"cr-item cr-full"},Yn={class:"cr-section"},Jn={class:"cr-item cr-full"},Xn={class:"cr-section"},Qn={class:"cr-grid"},Zn={class:"cr-item"},eo={class:"cr-item"},to={class:"cr-item"},so={class:"cr-item"},ao={class:"cr-item"},lo={class:"cr-section"},no={key:0,class:"cr-grid"},oo={class:"cr-item cr-full"},io={class:"cr-images"},ro=["src"],uo={class:"cr-grid"},co={class:"cr-item cr-full"},_o={key:2,class:"rx-audit"},po={key:0},mo={key:0,class:"ml-2 text-gray-400"},go={key:1,class:"mt-1"},bo={class:"flex justify-end gap-2 mt-4"},fo={class:"inline-block"},vo={class:"flex justify-end gap-2"},yo={class:"mb-4 flex gap-3"},xo={class:"mb-3 flex flex-wrap items-center gap-x-4 gap-y-2"},ko={key:0},ho={key:1,class:"text-gray-400"},Vo={class:"flex justify-end mt-4"},wo={class:"mt-3 flex flex-wrap items-center gap-x-4 gap-y-2"},re=560,de=168,So="成都双流甄养堂互联网医院 处方笺",No=$s({__name:"index",emits:["success"],setup(Uo,{expose:Pt,emit:It}){function L(t){return t==="辅方"?"辅方":"主方"}function Le(t){const e={name:String((t==null?void 0:t.name)??"").trim(),dosage:Number(t==null?void 0:t.dosage)||0,formula_type:L(t==null?void 0:t.formula_type)},o=Number((t==null?void 0:t.medicine_id)??(t==null?void 0:t.id)??0);return Number.isInteger(o)&&o>0&&(e.medicine_id=o),((t==null?void 0:t.locked)===!0||(t==null?void 0:t.locked)===1)&&(e.locked=!0),e}function se(t="浓缩水丸"){return t==="饮片"?{dosage_amount:50,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}:t==="浓缩水丸"?{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 He(t,e){const o=se(e);if(!t||typeof t!="object")return{...o};const i=t;return{dosage_amount:i.dosage_amount!==null&&i.dosage_amount!==void 0&&i.dosage_amount!==""?Number(i.dosage_amount):o.dosage_amount,dosage_bag_count:i.dosage_bag_count!=null?Number(i.dosage_bag_count)||1:o.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:o.bags_per_dose,times_per_day:i.times_per_day!=null?Number(i.times_per_day)||3:o.times_per_day,usage_days:i.usage_days!=null?Number(i.usage_days)||7:o.usage_days}}function Fe(t,e,o){const i=t.prescription_type||"浓缩水丸",g=Number(t.times_per_day)>0?Number(t.times_per_day):3,y=t.dosage_amount!=null?Number(t.dosage_amount):10,b=t.dosage_unit||(i==="饮片"?"ml":"g"),v=t.usage_way||e||"温水送服",S=t.usage_time||o||"",c=[];if(c.push(`每天${g}次`),i==="浓缩水丸"){const N=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;c.push(`一次${N}袋`),c.push(`每袋${y}${b}`)}else c.push(`一次${y}${b}`);return c.push(v),S&&c.push(S),c.join(", ")}const Me=It,F=k(!1),Et=k(),xe=k(!1),ke=k(!1),We=k(),je=k(),M=k(),ue=k(null),d=k(null),C=k("internal"),he=k(!1),ce=w(()=>{const t=d.value;return t?Number(t.audit_status)===1&&Number(t.void_status)!==1:!1}),Ge=w(()=>{const t=d.value;return t?Number(t.has_prescription_order)===1:!1}),Ot=w(()=>ce.value?"查看处方":"中医处方单"),_e=w(()=>{var e;const t=(e=d.value)==null?void 0:e.herbs;return Array.isArray(t)?t.filter(o=>L(o==null?void 0:o.formula_type)==="主方"):[]}),K=w(()=>{var e;const t=(e=d.value)==null?void 0:e.herbs;return Array.isArray(t)?t.filter(o=>L(o==null?void 0:o.formula_type)==="辅方"):[]}),Ve=w(()=>{const t=d.value;if(!t||!K.value.length)return"";const e=He(t.aux_usage,t.prescription_type||"浓缩水丸");return Fe({prescription_type:t.prescription_type,dosage_amount:e.dosage_amount,dosage_unit:t.dosage_unit,dosage_bag_count:e.dosage_bag_count,times_per_day:e.times_per_day,usage_way:t.usage_way,usage_time:t.usage_time},t.usage_way,t.usage_time)}),we=w(()=>{var e;const t=(e=d.value)==null?void 0:e.herbs;return Array.isArray(t)?t:[]}),pe=t=>String(t).padStart(2,"0"),At=w(()=>{const t=d.value;if(!t)return"—";const e=t.create_time??t.update_time??null;if(e){const o=String(e).length===10?Number(e)*1e3:Number(e),i=new Date(o);if(!isNaN(i.getTime()))return`${i.getFullYear()}-${pe(i.getMonth()+1)}-${pe(i.getDate())} ${pe(i.getHours())}:${pe(i.getMinutes())}`}return t.prescription_date||"—"}),zt=w(()=>{const t=d.value;if(!t)return"—";const e=String(t.sn??"").trim();if(e)return e;const o=String(t.visit_no??"").trim();return o||(t.id?`G${t.id}`:"—")}),Be=w(()=>{var e;const t=Number((e=d.value)==null?void 0:e.dose_count);return Number.isFinite(t)&&t>0?t:1}),Lt=w(()=>{const t=we.value.reduce((e,o)=>e+(Number(o==null?void 0:o.dosage)||0),0);return W(t)}),qe=t=>{const e=Number(t)||0;return W(e*Be.value)},Ht=w(()=>{const t=d.value;if(!t)return"—";const e=t.prescription_type||"浓缩水丸";return e==="饮片"?"饮片":/丸|散|膏|片/.test(e)?`浓缩丸-${e}`:e}),Ke=w(()=>{const t=d.value;return t?t.usage_text?t.usage_text:Fe(t):"—"}),Ye=w(()=>{const t=d.value;return t&&t.medical_advice||""}),Je=w(()=>{const t=d.value;if(!t)return"";const e=[];return e.push(`共${we.value.length}味药`),t.usage_notes&&e.push(String(t.usage_notes)),t.remark&&e.push(String(t.remark)),e.join(" ")}),Xe=w(()=>{const t=d.value;return t&&(t.pharmacy_remark||t.pharmacy_note)||""}),Ft=w(()=>{const t=d.value;if(!t)return"—";const e=t.medication_days??t.usage_days;if(e!=null&&String(e).trim()!=="")return`${e} 天`;const o=t.dose_count;return o!=null&&String(o).trim()!==""&&Number(o)>0?`${o} 天`:"—"}),Qe=w(()=>{const t=d.value;if(!t||(t.prescription_type||"浓缩水丸")!=="浓缩水丸")return null;const e=Number(t.medication_days??t.usage_days??t.dose_count),o=Number(t.times_per_day),i=Number(t.dosage_amount),g=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;return!Number.isFinite(e)||!Number.isFinite(o)||!Number.isFinite(i)||e<=0||o<=0||i<=0?null:e*o*i*g}),Ze=w(()=>{const t=d.value;if(!t||(t.prescription_type||"浓缩水丸")!=="浓缩水丸"||!K.value.length)return null;const e=He(t.aux_usage,t.prescription_type||"浓缩水丸"),o=Number(t.medication_days??e.usage_days),i=Number(e.times_per_day),g=Number(e.dosage_amount),y=Number(e.dosage_bag_count)>0?Number(e.dosage_bag_count):1;return!Number.isFinite(o)||!Number.isFinite(i)||!Number.isFinite(g)||o<=0||i<=0||g<=0?null:o*i*g*y}),Mt=w(()=>{const t=Qe.value,e=Ze.value,o=typeof t=="number"&&isFinite(t)&&t>0?t:0,i=typeof e=="number"&&isFinite(e)&&e>0?e:0,g=o+i;if(g>0)return W(g);const y=d.value;if(!y)return"";const b=y.out_pellet||y.total_weight;if(b&&Number(b)>0)return W(Number(b));const v=we.value;if(!v.length)return"";const S=v.reduce((c,N)=>c+(Number(N==null?void 0:N.dosage)||0),0);return W(S*Be.value)}),et=w(()=>{const t=Mt.value;if(!t)return"";const e=Qe.value,o=Ze.value;return typeof e=="number"&&isFinite(e)&&e>0&&typeof o=="number"&&isFinite(o)&&o>0?`${t}克(主方 ${W(e)}克 + 辅方 ${W(o)}克)`:`${t}克`});function W(t){return isFinite(t)?Number.isInteger(t)?String(t):t.toFixed(2).replace(/\.?0+$/,""):"0"}function Wt(t){var e;return t===1||t==="1"?"男":t===0||t==="0"?"女":((e=d.value)==null?void 0:e.gender_desc)||"—"}function jt(t){return t==null||t===""?"—":`${t}岁`}function Gt(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")}`}const tt=w(()=>a.herbs.map((t,e)=>({herb:t,index:e})).filter(({herb:t})=>L(t.formula_type)==="主方")),ae=w(()=>a.herbs.map((t,e)=>({herb:t,index:e})).filter(({herb:t})=>L(t.formula_type)==="辅方")),Bt=w(()=>tt.value.length),qt=w(()=>ae.value.length),I=w(()=>a.herbs.some(t=>t.locked===!0)),Se=w(()=>{var e;const t=Number((e=Te.userInfo)==null?void 0:e.id);return t>0?t:0}),j=k(!1),Ne=k(!1),Ue=k([]),le=k(""),ne=k(""),Y=k("replace"),J=k(!1),X=k(1),me=k(15),$e=k(0),Q=k(!1),Z=k(""),ge=k("replace"),Ce=k(!1),Kt=/^(用法|用量|医嘱|忌口|水煎服|空腹|饭后|温水|内服|外用|备注|顿服|分服|ml|毫升|[×xX]\s*\d)/;function Yt(t){let e=t.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 Jt(t){return t.replace(/^\s*Rp[::**\s]*/i,"").replace(/^\s*处方[::\s]*/,"").replace(/^\s*中药处方[::\s]*/,"").trimStart()}function Re(t){return t.replace(/([^)]*)$/u,"").replace(/\([^)]*\)$/u,"").trim()}function st(t){const e=t.trim();if(!e||Kt.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 y=parseFloat(o[2]);if(!Number.isFinite(y)||y<=0)return null;const b=o[1].split(/[、,,\s]+/).map(v=>v.trim()).filter(Boolean);return b.length?b.map(v=>({name:Re(v),dosage:y})):null}const i=e.match(/^(.+?)\s*(\d+(?:\.\d+)?)\s*(?:克|g|G|钱)?$/i);if(i){const y=Re(i[1].trim()),b=parseFloat(i[2]);return!y||!Number.isFinite(b)||b<=0?null:[{name:y,dosage:b}]}const g=Re(e);return g.length>=2&&g.length<=16?[{name:g,dosage:6}]:null}function Xt(t){const e=Jt(Yt(t)),o=[];for(const i of e.split(/\n+/)){const g=i.trim();if(g)for(const y of g.split(/[、,,;;]/)){const b=y.trim();if(b)if(/\s/.test(b)&&!st(b)){const v=b.split(/\s+(?=[\u4e00-\u9fff]{2,})/);for(const S of v){const c=S.trim();c&&o.push(c)}}else o.push(b)}}return o}function Qt(t){const e=[];for(const o of Xt(t)){const i=st(o);i&&e.push(...i)}return e}async function Zt(t){const e=t.trim();if(!e)return null;try{const g=((await ba({name:e,page_no:1,page_size:200,status:1})).lists||[]).filter(y=>(y.name??"").trim()===e);return g.length===1?{medicine_id:Number(g[0].id),name:g[0].name.trim()}:null}catch{return null}}function es(){Q.value=!0}async function ts(){const t=Qt(Z.value);if(!t.length){V.msgWarning("未能从文本中解析出药材,请检查格式(药名 + 剂量,或用顿号/换行分隔)");return}Ce.value=!0;try{const e=[],o=[];for(const b of t){const v=await Zt(b.name);if(!v){o.push(b.name.trim());continue}e.push({...v,dosage:b.dosage,formula_type:"主方"})}const i=[...new Set(o.filter(Boolean))];if(e.length===0){V.msgWarning(i.length?`药品库中无以下完全同名药材,未录入:${i.join("、")}`:"未能匹配到药品库中的药材");return}if(ge.value==="replace"){const b=a.herbs.filter(v=>L(v.formula_type)==="辅方");a.herbs=[...b,...e]}else a.herbs.push(...e);const g=Ae(),y=i.length>0?`;药品库未收录已跳过:${i.join("、")}`:"";g.length?V.msgWarning(`已导入 ${e.length} 味药材${y}。存在重复药名:${g.join("、")},请合并剂量或删除多余行`):i.length?V.msgSuccess(`已导入 ${e.length} 味药材${y},请核对剂量`):V.msgSuccess(`已导入 ${e.length} 味药材,请核对药名与剂量`),Q.value=!1,Z.value=""}finally{Ce.value=!1}}const at=Ct({stationName:"成都双流甄养堂互联网医院",showDisclaimer:!0,disclaimer:""}),a=Ct({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:se("浓缩水丸")}),Te=ra(),ss=da(),as=t=>{const e=typeof t=="string"?t:(t==null?void 0:t.url)??(t==null?void 0:t.uri)??(t==null?void 0:t.path)??"";return e?String(e).startsWith("http")?e:ss.getImageUrl(e):""},De=k([]),Pe=k([]),lt=k([]),nt=k([]),ot=k([]),it=k([]),rt=k([]),dt=k([]),ut=k([]),ct=k([]),_t=k([]),pt=k([]),mt=k([]),gt=k([]),bt=k([]),ft=k([]),vt=k([]),yt=k([]),H=(t,e)=>{if(!e)return"";const o=t.find(i=>i.value===e);return o?o.name:e},xt=async()=>{try{const[t,e,o,i,g,y,b,v,S,c,N,D,E,G,B,ee,oe,te]=await Promise.all([T({type:"diagnosis_type"}),T({type:"syndrome_type"}),T({type:"diabetes_type"}),T({type:"past_history"}),T({type:"appetite"}),T({type:"water_intake"}),T({type:"diet_condition"}),T({type:"weight_change"}),T({type:"body_feeling"}),T({type:"sleep_condition"}),T({type:"eye_condition"}),T({type:"head_feeling"}),T({type:"sweat_condition"}),T({type:"skin_condition"}),T({type:"urine_condition"}),T({type:"stool_condition"}),T({type:"kidney_condition"}),T({type:"fatty_liver_degree"})]);De.value=(t==null?void 0:t.diagnosis_type)||[],Pe.value=(e==null?void 0:e.syndrome_type)||[],lt.value=(o==null?void 0:o.diabetes_type)||[],nt.value=(i==null?void 0:i.past_history)||[],ot.value=(g==null?void 0:g.appetite)||[],it.value=(y==null?void 0:y.water_intake)||[],rt.value=(b==null?void 0:b.diet_condition)||[],dt.value=(v==null?void 0:v.weight_change)||[],ut.value=(S==null?void 0:S.body_feeling)||[],ct.value=(c==null?void 0:c.sleep_condition)||[],_t.value=(N==null?void 0:N.eye_condition)||[],pt.value=(D==null?void 0:D.head_feeling)||[],mt.value=(E==null?void 0:E.sweat_condition)||[],gt.value=(G==null?void 0:G.skin_condition)||[],bt.value=(B==null?void 0:B.urine_condition)||[],ft.value=(ee==null?void 0:ee.stool_condition)||[],vt.value=(oe==null?void 0:oe.kidney_condition)||[],yt.value=(te==null?void 0:te.fatty_liver_degree)||[]}catch{}},P=(t,e)=>{if(!e||Array.isArray(e)&&e.length===0)return"—";const i=(Array.isArray(e)?e:typeof e=="string"?e.split(","):[]).map(g=>{const y=t.find(b=>b.value===g);return y?y.name:g}).filter(Boolean);return i.length?i.join("、"):"—"},ls=t=>!t||Array.isArray(t)&&t.length===0?"—":(Array.isArray(t)?t:typeof t=="string"?t.split(","):[]).filter(Boolean).join("、")||"—",ns=t=>{var g;if((g=t==null?void 0:t.symptoms)!=null&&g.trim())return t.symptoms.trim();const e=H(De.value,t==null?void 0:t.diagnosis_type),o=H(Pe.value,t==null?void 0:t.syndrome_type),i=[e,o].filter(Boolean);return i.length?i.join(" "):""},os=async(t,e)=>{var o;if(J.value){console.warn("处方正在打开中,请勿重复点击");return}J.value=!0;try{e!=null&&e.stationName&&(at.stationName=e.stationName);const i=t.diagnosis||t,g=t.diagnosis_id??(i==null?void 0:i.id)??t.id;if(!g){V.msgWarning("缺少诊单信息");return}await xt();const y=Number(t.id??t.appointment_id??0);if(y)try{const v=await _a({appointment_id:y});if(console.log("-----------",v),v!=null&&v.id){const S=await ye({id:v.id});d.value=S,F.value=!0;return}}catch{}let b=t.case_record&&Object.keys(t.case_record).length>0?t.case_record:null;if(!b&&g)try{const v=await Dt({id:Number(g)});b=v&&typeof v=="object"?v:null}catch(v){console.warn("获取诊单详情失败:",v)}a.diagnosis_id=Number(g),a.appointment_id=y,a.prescription_name="",a.prescription_type="浓缩水丸",a.dosage_unit="g",a.dosage_amount=10,a.dosage_bag_count=1,a.patient_name=t.patient_name||i.patient_name||"",a.gender=t.patient_gender??i.gender??0,a.gender_desc=a.gender===1?"男":"女",a.age=t.patient_age??i.age??0,a.phone=t.patient_phone||i.phone||"",a.visit_no=t.id?`1K${String(t.id).padStart(8,"0")}`:"",a.prescription_date=new Date().toISOString().slice(0,10),a.pulse=i.pulse||"",a.tongue=i.tongue_coating||i.tongue||"",a.tongue_image="",a.pulse_condition="",a.clinical_diagnosis=ns(i),a.case_record=b,a.herbs=[],a.dose_count=1,a.dose_unit="剂",a.usage_days=7,a.usage_instruction="",a.usage_time="饭后",a.usage_way="温水送服",a.dietary_taboo=[],a.usage_notes="",a.amount=0,a.doctor_name=((o=Te.userInfo)==null?void 0:o.name)||"",a.doctor_signature="",a.is_shared=0,a.need_decoction=!1,a.bags_per_dose=1,a.times_per_day=2,Object.assign(a.aux_usage,se("浓缩水丸")),d.value=null,F.value=!0,setTimeout(()=>Ee(),100)}finally{setTimeout(()=>{J.value=!1},500)}},is=async(t,e)=>{if(J.value){console.warn("处方正在打开中,请勿重复点击");return}J.value=!0,C.value=(e==null?void 0:e.slipType)??"internal",he.value=(e==null?void 0:e.hideCaseRecord)??!1;try{const o=await ye({id:t});d.value=o,o!=null&&o.case_record&&Object.keys(o.case_record).length>0&&await xt(),F.value=!0}catch{V.msgError("加载处方失败")}finally{setTimeout(()=>{J.value=!1},500)}},Ie=()=>{F.value=!1,d.value=null,C.value="internal",he.value=!1},kt=t=>{const e=M.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 i=(t.clientX-o.left)/o.width*re,g=(t.clientY-o.top)/o.height*de;return{x:Math.max(0,Math.min(re,i)),y:Math.max(0,Math.min(de,g))}},rs=()=>{const t=M.value;t&&(a.doctor_signature=t.toDataURL("image/png"))},ds=t=>{if(t.pointerType==="mouse"&&t.button!==0)return;const e=M.value,o=e==null?void 0:e.getContext("2d");if(!e||!o)return;e.setPointerCapture(t.pointerId),ue.value=t.pointerId;const{x:i,y:g}=kt(t);o.beginPath(),o.moveTo(i,g)},us=t=>{var g;if(ue.value!==t.pointerId)return;const e=(g=M.value)==null?void 0:g.getContext("2d");if(!e)return;const{x:o,y:i}=kt(t);e.lineTo(o,i),e.stroke(),e.beginPath(),e.moveTo(o,i)},ht=t=>{if(ue.value!==t.pointerId)return;ue.value=null;const e=M.value;if(e)try{e.releasePointerCapture(t.pointerId)}catch{}rs()},cs=()=>{Ee(),a.doctor_signature=""},Ee=()=>{const t=M.value;if(!t)return;const e=Math.min(typeof window<"u"&&window.devicePixelRatio||1,2.5);t.style.width=`${re}px`,t.style.height=`${de}px`,t.width=Math.round(re*e),t.height=Math.round(de*e);const o=t.getContext("2d");o&&(o.setTransform(1,0,0,1,0,0),o.scale(e,e),o.fillStyle="#fff",o.fillRect(0,0,re,de),o.strokeStyle="#333",o.lineWidth=2.5,o.lineCap="round",o.lineJoin="round")};function Oe(t){return(t??"").trim()}function be(t){var g,y;const e=a.herbs,o=Oe((g=e[t])==null?void 0:g.name);if(!o)return!1;let i=0;for(let b=0;b1}function Ae(){const t=new Map;for(const e of a.herbs){const o=Oe(e==null?void 0:e.name);o&&t.set(o,(t.get(o)??0)+1)}return[...t.entries()].filter(([,e])=>e>1).map(([e])=>e)}const Vt=(t="主方")=>{if(I.value){V.msgWarning("该处方含「禁用修改」模板,药材已锁定,请重新从处方库导入覆盖");return}a.herbs.push({name:"",dosage:6,formula_type:t})},wt=t=>{if(I.value){V.msgWarning("该处方含「禁用修改」模板,药材已锁定,不可删除");return}a.herbs.splice(t,1)},fe=async()=>{const t=Se.value;if(!t){V.msgWarning("无法确定开方医师,无法加载处方库"),Ue.value=[],$e.value=0;return}Ne.value=!0;try{const e=await pa({page_no:X.value,page_size:me.value,prescription_name:le.value,formula_type:ne.value,prescribing_creator_id:t});Ue.value=e.lists||[],$e.value=e.count||0}catch(e){console.error("加载处方库失败:",e),V.msgError("加载处方库失败")}finally{Ne.value=!1}},ve=()=>{X.value=1,fe()},_s=()=>{if(!Se.value){V.msgWarning("无法确定开方医师,无法从处方库导入");return}j.value=!0},ps=t=>{St(t)},St=t=>{if(!t.herbs||t.herbs.length===0){V.msgWarning("该处方没有药材信息");return}const e=L(t.formula_type),o=Number(t==null?void 0:t.disable_edit)===1,i=JSON.parse(JSON.stringify(t.herbs)).map(y=>{const b=Le(y);return b.formula_type=e,o?b.locked=!0:delete b.locked,b});if(Y.value==="replace"){const y=a.herbs.filter(b=>L(b.formula_type)!==e);a.herbs=[...y,...i]}else a.herbs.push(...i);const g=Y.value==="append"?"(已追加)":"";Ae().length?V.msgWarning(`已导入处方「${t.prescription_name}」${g},共${i.length}味药材。存在重复药名,请合并剂量或删除多余行`):V.msgSuccess(`已导入处方「${t.prescription_name}」${g},共${i.length}味药材`),j.value=!1};$t(j,t=>{if(t){if(!Se.value){V.msgWarning("无法确定开方医师,无法从处方库导入"),j.value=!1;return}le.value="",ne.value="",Y.value="replace",X.value=1,fe()}}),$t(()=>a.prescription_type,t=>{t==="浓缩水丸"?(a.dosage_unit="g",a.dosage_amount=10,a.dosage_bag_count=1,a.need_decoction=!1,a.bags_per_dose=1):t==="饮片"?(a.dosage_unit="ml",a.dosage_amount=50,a.dosage_bag_count=1,a.bags_per_dose=1):(a.dosage_unit="g",a.dosage_amount=void 0,a.dosage_bag_count=1,a.need_decoction=!1,a.bags_per_dose=1),Object.assign(a.aux_usage,se(t))});const ms=async()=>{var e,o,i;if(!((e=a.clinical_diagnosis)!=null&&e.trim())){V.msgWarning("请输入临床诊断");return}if(a.herbs.length===0){V.msgWarning("请至少添加一味中药");return}const t=Ae();if(t.length){V.msgWarning(`存在重复药名:${t.join("、")},请合并剂量或删除多余行后再保存`);return}for(const g of a.herbs){if(!((o=g.name)!=null&&o.trim())){V.msgWarning("请填写中药名称");return}if(!g.dosage||g.dosage<=0){V.msgWarning(`请填写「${g.name}」的剂量`);return}}if(!((i=a.doctor_signature)!=null&&i.trim())){V.msgWarning("请使用电子签名板手写医师签名");return}xe.value=!0;try{const g=await ma({diagnosis_id:a.diagnosis_id,appointment_id:a.appointment_id,prescription_name:a.prescription_name,prescription_type:a.prescription_type,patient_name:a.patient_name,gender:a.gender,age:a.age,phone:a.phone,visit_no:a.visit_no,prescription_date:a.prescription_date,pulse:a.pulse,tongue:a.tongue,tongue_image:a.tongue_image,pulse_condition:a.pulse_condition,clinical_diagnosis:a.clinical_diagnosis,case_record:a.case_record,herbs:a.herbs.map(b=>Le(b)),aux_usage:ae.value.length>0?{...a.aux_usage}:null,dose_count:a.dose_count,dose_unit:a.dose_unit,dosage_amount:a.dosage_amount,dosage_unit:a.dosage_unit,dosage_bag_count:a.dosage_bag_count,need_decoction:a.need_decoction,bags_per_dose:a.bags_per_dose,usage_days:a.usage_days,times_per_day:a.times_per_day,usage_instruction:a.usage_instruction,usage_time:a.usage_time,usage_way:a.usage_way,dietary_taboo:a.dietary_taboo,usage_notes:a.usage_notes,amount:a.amount,doctor_name:a.doctor_name,doctor_signature:a.doctor_signature,is_shared:a.is_shared}),y=g==null?void 0:g.id;if(y){const b=await ye({id:y});d.value=b,Me("success")}else V.msgError("保存失败")}catch(g){V.msgError((g==null?void 0:g.msg)||"保存失败")}finally{xe.value=!1}},gs=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")}:${String(e.getSeconds()).padStart(2,"0")}`},bs=async()=>{var e,o;const t=(e=d.value)==null?void 0:e.id;if(t){if(Number((o=d.value)==null?void 0:o.has_prescription_order)===1){V.msgWarning("该处方已存在业务订单,无法作废");return}try{await V.confirm("确定要作废该处方吗?作废后不可恢复。"),ke.value=!0,await ga({id:t}),V.msgSuccess("作废成功");const i=await ye({id:t});d.value=i,Me("success")}catch(i){i!=="cancel"&&(i==null?void 0:i.message)!=="cancel"&&V.msgError((i==null?void 0:i.msg)||"作废失败")}finally{ke.value=!1}}},fs=async t=>{if(!t)return null;try{const e=await Dt({id:t});return e&&typeof e=="object"?e:null}catch(e){return console.warn("获取诊单详情失败:",e),null}},vs=async()=>{var e;const t=d.value;t&&(a.diagnosis_id=t.diagnosis_id??a.diagnosis_id,a.appointment_id=t.appointment_id??a.appointment_id,a.prescription_name="",a.prescription_type=t.prescription_type||"浓缩水丸",a.prescription_type==="浓缩水丸"?(a.dosage_unit="g",a.dosage_amount=10,a.dosage_bag_count=1):a.prescription_type==="饮片"?(a.dosage_unit="ml",a.dosage_amount=50,a.dosage_bag_count=1):(a.dosage_unit="g",a.dosage_amount=void 0,a.dosage_bag_count=1),a.patient_name=t.patient_name||"",a.gender=t.gender??0,a.gender_desc=t.gender===1?"男":"女",a.age=t.age??0,a.phone=t.phone||"",a.visit_no=t.visit_no||"",a.prescription_date=new Date().toISOString().slice(0,10),a.pulse=t.pulse||"",a.tongue=t.tongue||"",a.tongue_image="",a.pulse_condition="",a.clinical_diagnosis=t.clinical_diagnosis||"",a.dose_count=1,a.dose_unit=t.dose_unit||"剂",a.usage_days=7,a.usage_instruction="",a.usage_time="饭后",a.usage_way="温水送服",a.dietary_taboo=[],a.usage_notes="",a.amount=0,a.doctor_name=((e=Te.userInfo)==null?void 0:e.name)||t.doctor_name||"",a.doctor_signature="",a.is_shared=0,a.herbs=[],Object.assign(a.aux_usage,se(a.prescription_type||"浓缩水丸")),a.case_record=t.case_record&&Object.keys(t.case_record).length>0?t.case_record:await fs(Number(a.diagnosis_id)),setTimeout(()=>Ee(),100)),d.value=null},Nt=async()=>{const t=We.value;if(!t)throw new Error("未找到处方内容");return Rt(t,{scale:2,useCORS:!0,logging:!1,backgroundColor:"#ffffff"})},ys=async t=>{const e=t.querySelectorAll('img[src^="http"]'),o=Array.from(e).map(async i=>{try{const g=await fetch(i.src,{mode:"cors"});if(!g.ok)return;const y=await g.blob(),b=await new Promise((v,S)=>{const c=new FileReader;c.onload=()=>v(c.result),c.onerror=S,c.readAsDataURL(y)});i.src=b}catch{}});await Promise.allSettled(o)},xs=async()=>{const t=je.value;return t?(t.scrollIntoView({behavior:"instant",block:"nearest"}),await ys(t),await new Promise(e=>setTimeout(e,200)),Rt(t,{scale:2,useCORS:!0,logging:!1,backgroundColor:"#ffffff"})):null},ks=async()=>{var t;try{const e=await Nt(),o=document.createElement("a");o.download=`处方_${((t=d.value)==null?void 0:t.patient_name)||"未命名"}_${Date.now()}.png`,o.href=e.toDataURL("image/png"),o.click(),V.msgSuccess("图片已下载")}catch{V.msgError("下载图片失败")}},hs=async()=>{var t;try{const e=await Nt(),o=e.toDataURL("image/png"),i=new ia({orientation:"portrait",unit:"mm",format:"a5"}),g=i.internal.pageSize.getWidth(),y=i.internal.pageSize.getHeight(),b=Math.min(g/e.width,y/e.height),v=e.width*b,S=e.height*b;i.addImage(o,"PNG",0,0,v,S);const c=await xs();if(c){i.addPage("a3","p");const E=Math.min(297/c.width,420/c.height),G=c.width*E,B=c.height*E;i.addImage(c.toDataURL("image/png"),"PNG",0,0,G,B)}i.save(`处方_${((t=d.value)==null?void 0:t.patient_name)||"未命名"}_${Date.now()}.pdf`),V.msgSuccess("PDF已下载")}catch{V.msgError("下载PDF失败")}};return Pt({open:os,openById:is}),(t,e)=>{const o=Es,i=Is,g=Os,y=Ps,b=As,v=Ts,S=Fs,c=Ws,N=Ms,D=Gs,E=js,G=Bs,B=Ds,ee=Ks,oe=qs,te=Ys,Vs=Qs,ws=Cs,q=la,Ss=na,Ns=oa,Ut=Zs,Us=aa;return p(),f(R,null,[n(ws,{modelValue:s(F),"onUpdate:modelValue":e[32]||(e[32]=h=>O(F)?F.value=h:null),title:s(Ot),size:"1200px","close-on-click-modal":!1,onClose:Ie},Rs({default:r(()=>{var h,A;return[s(d)?(p(),f("div",ja,[n(oe,{modelValue:s(C),"onUpdate:modelValue":e[31]||(e[31]=u=>O(C)?C.value=u:null),class:"rx-slip-tabs"},{default:r(()=>[n(ee,{label:"药房联",name:"internal"}),n(ee,{label:"处方联",name:"user"})]),_:1},8,["modelValue"]),l("div",Ga,[s(d).void_status===1?(p(),$(b,{key:0,type:"danger",size:"small"},{default:r(()=>[...e[71]||(e[71]=[m("已作废",-1)])]),_:1})):s(ce)?(p(),$(b,{key:1,type:"success",size:"small"},{default:r(()=>[...e[72]||(e[72]=[m("已通过",-1)])]),_:1})):Number(s(d).audit_status)===0?(p(),$(b,{key:2,type:"warning",size:"small"},{default:r(()=>[...e[73]||(e[73]=[m("待审核",-1)])]),_:1})):Number(s(d).audit_status)===2?(p(),$(b,{key:3,type:"danger",size:"small"},{default:r(()=>[...e[74]||(e[74]=[m("已驳回",-1)])]),_:1})):x("",!0),e[75]||(e[75]=l("div",{class:"flex-1"},null,-1))]),s(d).void_status===1?(p(),f("div",Ba," 作废人:"+_(s(d).void_by_name||"—")+",作废时间:"+_(gs(s(d).void_time)),1)):Number(s(d).audit_status)===2?(p(),f("div",qa,[e[76]||(e[76]=l("div",{class:"font-medium"},"处方审核:已驳回",-1)),s(d).audit_remark?(p(),f("div",Ka,"驳回意见:"+_(s(d).audit_remark),1)):x("",!0)])):x("",!0),l("div",Ya,[s(d)?(p(),f("div",{key:0,ref_key:"prescriptionPrintRef",ref:We,class:"rx-paper"},[l("div",Ja,_(s(C)==="internal"?"药房联":So),1),l("div",Xa,[l("span",Qa,_(s(C)==="user"?"服药前请核对姓名、电话、医生等信息以及医嘱等要点":"服药前请核对姓名、电话、医生等信息以及服法、医嘱等要点"),1),l("span",Za,[l("span",null,"日期:"+_(s(At)),1),l("span",null,"编号:"+_(s(zt)),1)])]),l("div",el,[l("div",tl,[l("div",sl,[e[77]||(e[77]=l("span",{class:"rx-key"},"姓名",-1)),l("span",al,_(s(d).patient_name||"—"),1)]),l("div",ll,[e[78]||(e[78]=l("span",{class:"rx-key"},"性别",-1)),l("span",nl,_(Wt(s(d).gender)),1)]),l("div",ol,[e[79]||(e[79]=l("span",{class:"rx-key"},"年龄",-1)),l("span",il,_(jt(s(d).age)),1)]),l("div",rl,[e[80]||(e[80]=l("span",{class:"rx-key"},"电话",-1)),l("span",dl,_(s(d).phone||"—"),1)])]),l("div",ul,[l("div",cl,[e[81]||(e[81]=l("span",{class:"rx-key"},"门诊号",-1)),l("span",_l,_(s(d).visit_no||"—"),1)])]),s(d).pulse||s(d).tongue?(p(),f("div",pl,[s(d).pulse?(p(),f("div",ml,[e[82]||(e[82]=l("span",{class:"rx-key"},"面象",-1)),l("span",gl,_(s(d).pulse),1)])):x("",!0),s(d).tongue?(p(),f("div",bl,[e[83]||(e[83]=l("span",{class:"rx-key"},"舌象",-1)),l("span",fl,_(s(d).tongue),1)])):x("",!0)])):x("",!0),l("div",vl,[l("div",yl,[e[84]||(e[84]=l("span",{class:"rx-key"},"临床诊断",-1)),l("span",xl,_(s(d).clinical_diagnosis||"—"),1)])])]),l("div",kl,[l("div",hl,_(s(C)==="internal"?"药房联":"处方联"),1),l("div",Vl,[e[87]||(e[87]=l("div",{class:"rx-rp-label"},"Rp.",-1)),l("div",wl,[l("div",Sl,[e[85]||(e[85]=l("span",null,"用药 (单剂)",-1)),l("span",null,_(s(C)==="user"?"用量":"总量"),1)]),l("div",Nl,[e[86]||(e[86]=l("span",null,"用药 (单剂)",-1)),l("span",null,_(s(C)==="user"?"用量":"总量"),1)])])]),l("div",Ul,[s(C)==="internal"?(p(),f(R,{key:0},[s(_e).length?(p(),f(R,{key:0},[e[88]||(e[88]=l("div",{class:"rx-herb-section-label"},"主方",-1)),(p(!0),f(R,null,z(s(_e),(u,U)=>(p(),f("div",{key:"main-"+U,class:"rx-herb-cell"},[l("span",$l,_(u.name)+" ("+_(u.dosage)+"克)",1),l("span",Cl,_(qe(u.dosage))+"克",1)]))),128))],64)):x("",!0),s(K).length?(p(),f(R,{key:1},[e[89]||(e[89]=l("div",{class:"rx-herb-section-label rx-herb-section-label--aux"},"辅方",-1)),(p(!0),f(R,null,z(s(K),(u,U)=>(p(),f("div",{key:"aux-"+U,class:"rx-herb-cell"},[l("span",Rl,_(u.name)+" ("+_(u.dosage)+"克)",1),l("span",Tl,_(qe(u.dosage))+"克",1)]))),128))],64)):x("",!0)],64)):(p(),f(R,{key:1},[s(_e).length?(p(),f(R,{key:0},[e[90]||(e[90]=l("div",{class:"rx-herb-section-label"},"主方",-1)),(p(!0),f(R,null,z(s(_e),(u,U)=>(p(),f("div",{key:"user-main-"+U,class:"rx-herb-cell"},[l("span",Dl,_(u.name),1),l("span",Pl,_(u.dosage)+"克",1)]))),128))],64)):x("",!0),s(K).length?(p(),f(R,{key:1},[e[91]||(e[91]=l("div",{class:"rx-herb-section-label rx-herb-section-label--aux"},"辅方",-1)),(p(!0),f(R,null,z(s(K),(u,U)=>(p(),f("div",{key:"user-aux-"+U,class:"rx-herb-cell"},[l("span",Il,_(u.name),1),l("span",El,_(u.dosage)+"克",1)]))),128))],64)):x("",!0)],64))])]),l("div",Ol,[s(C)==="internal"?(p(),f(R,{key:0},[s(Ve)?(p(),f("p",Al,"主方服法:"+_(s(Ke)),1)):(p(),f("p",zl,"服法:"+_(s(Ke)),1)),s(Ve)?(p(),f("p",Ll,"辅方服法:"+_(s(Ve)),1)):x("",!0)],64)):x("",!0),s(Ye)?(p(),f("p",Hl,"医嘱:"+_(s(Ye)),1)):x("",!0),s(C)==="internal"&&s(Je)?(p(),f("p",Fl,"备注:"+_(s(Je)),1)):x("",!0),s(d).dietary_taboo&&s(d).dietary_taboo.length?(p(),f("p",Ml," 忌口:"+_(Array.isArray(s(d).dietary_taboo)?s(d).dietary_taboo.join("、"):s(d).dietary_taboo),1)):x("",!0),s(Xe)?(p(),f("p",Wl,"药房备注:"+_(s(Xe)),1)):x("",!0),s(C)==="internal"&&s(et)&&s(d).prescription_type!=="饮片"?(p(),f("p",jl," 出丸:"+_(s(et)),1)):x("",!0)]),l("div",Gl,[l("div",{class:ze(["rx-bot-row rx-bot-row-1",{"rx-bot-row-1--user":s(C)==="user"}])},[l("div",Bl,[e[92]||(e[92]=l("div",{class:"rx-bot-label"},"医师",-1)),l("div",ql,[s(d).doctor_signature?(p(),f("img",{key:0,src:s(d).doctor_signature,alt:"医师签名",class:"rx-bot-sign-img"},null,8,Kl)):x("",!0),s(d).doctor_signature?x("",!0):(p(),f("div",Yl,_(s(d).doctor_name||"—"),1))])]),s(C)==="internal"?(p(),f("div",Jl,[e[93]||(e[93]=l("span",{class:"rx-bot-meta-key"},"类型:",-1)),l("span",Xl,_(s(Ht)),1)])):x("",!0),l("div",Ql,[e[94]||(e[94]=l("span",{class:"rx-bot-meta-key"},"天数:",-1)),l("span",Zl,_(s(Ft)),1)]),s(C)==="internal"?(p(),f("div",en,[e[95]||(e[95]=l("span",{class:"rx-bot-meta-key"},"剂量:",-1)),l("span",tn,_(s(Lt))+"克",1)])):x("",!0)],2),s(C)==="user"?(p(),f("div",sn,[...e[96]||(e[96]=[l("div",{class:"rx-hospital-line"},"成都双流甄养堂互联网医院有限公司 联系方式:4001667339",-1),l("div",{class:"rx-hospital-line"},"地址:四川省成都市双流区黄甲街道黄龙大道二段280号",-1)])])):x("",!0)])],512)):x("",!0),s(d).case_record&&!s(he)?(p(),f("div",{key:1,ref_key:"caseRecordPrintRef",ref:je,class:"case-record-a3"},[l("div",an,[l("h2",ln,_(s(at).stationName)+" 详细病历",1),l("div",nn,[l("div",on,[e[107]||(e[107]=l("div",{class:"cr-section-title"},"基本信息",-1)),l("div",rn,[l("div",dn,[e[97]||(e[97]=l("span",{class:"cr-label"},"诊单ID",-1)),m(_(s(d).case_record.patient_id||"—"),1)]),l("div",un,[e[98]||(e[98]=l("span",{class:"cr-label"},"姓名",-1)),m(_(s(d).case_record.patient_name||"—"),1)]),l("div",cn,[e[99]||(e[99]=l("span",{class:"cr-label"},"身份证号",-1)),m(_(s(d).case_record.id_card||"—"),1)]),l("div",_n,[e[100]||(e[100]=l("span",{class:"cr-label"},"手机号",-1)),m(_(s(d).case_record.phone||"—"),1)]),l("div",pn,[e[101]||(e[101]=l("span",{class:"cr-label"},"性别",-1)),m(_(s(d).gender_desc),1)]),l("div",mn,[e[102]||(e[102]=l("span",{class:"cr-label"},"年龄",-1)),m(_(s(d).case_record.age??"—")+"岁",1)]),l("div",gn,[e[103]||(e[103]=l("span",{class:"cr-label"},"婚姻状态",-1)),m(_(["未婚","已婚","离异"][s(d).case_record.marital_status]??"—"),1)]),l("div",bn,[e[104]||(e[104]=l("span",{class:"cr-label"},"身高",-1)),m(_(s(d).case_record.height??"—")+"cm",1)]),l("div",fn,[e[105]||(e[105]=l("span",{class:"cr-label"},"体重",-1)),m(_(s(d).case_record.weight??"—")+"kg",1)]),l("div",vn,[e[106]||(e[106]=l("span",{class:"cr-label"},"地区",-1)),m(_(s(d).case_record.region||"—"),1)])])]),l("div",yn,[e[110]||(e[110]=l("div",{class:"cr-section-title"},"生命体征",-1)),l("div",xn,[l("div",kn,[e[108]||(e[108]=l("span",{class:"cr-label"},"血压",-1)),m(_(s(d).case_record.systolic_pressure!=null&&s(d).case_record.diastolic_pressure!=null?s(d).case_record.systolic_pressure+"/"+s(d).case_record.diastolic_pressure+" mmHg":"—"),1)]),l("div",hn,[e[109]||(e[109]=l("span",{class:"cr-label"},"空腹血糖",-1)),m(_(s(d).case_record.fasting_blood_sugar!=null?s(d).case_record.fasting_blood_sugar+" mmol/L":"—"),1)])])]),l("div",Vn,[e[118]||(e[118]=l("div",{class:"cr-section-title"},"主诉",-1)),l("div",wn,[l("div",Sn,[e[111]||(e[111]=l("span",{class:"cr-label"},"诊断日期",-1)),m(_(s(d).case_record.diagnosis_date||"—"),1)]),l("div",Nn,[e[112]||(e[112]=l("span",{class:"cr-label"},"诊断类型",-1)),m(_(H(s(De),s(d).case_record.diagnosis_type)||"—"),1)]),l("div",Un,[e[113]||(e[113]=l("span",{class:"cr-label"},"证型",-1)),m(_(H(s(Pe),s(d).case_record.syndrome_type)||"—"),1)]),l("div",$n,[e[114]||(e[114]=l("span",{class:"cr-label"},"糖尿病期数",-1)),m(_(H(s(lt),s(d).case_record.diabetes_type)||"—"),1)]),l("div",Cn,[e[115]||(e[115]=l("span",{class:"cr-label"},"发现糖尿病患病史",-1)),m(_(s(ca)((h=s(d).case_record)==null?void 0:h.diabetes_discovery_year)),1)]),l("div",Rn,[e[116]||(e[116]=l("span",{class:"cr-label"},"当地医院诊断",-1)),m(_(ls(s(d).case_record.local_hospital_diagnosis)),1)]),l("div",Tn,[e[117]||(e[117]=l("span",{class:"cr-label"},"当地就诊医院",-1)),m(_(s(d).case_record.local_hospital_name||"—"),1)])])]),l("div",Dn,[e[134]||(e[134]=l("div",{class:"cr-section-title"},"现病史",-1)),l("div",Pn,[l("div",In,[e[119]||(e[119]=l("span",{class:"cr-label"},"口腔感觉",-1)),m(_(P(s(ot),s(d).case_record.appetite)),1)]),l("div",En,[e[120]||(e[120]=l("span",{class:"cr-label"},"每日饮水量",-1)),m(_(H(s(it),s(d).case_record.water_intake)||"—"),1)]),l("div",On,[e[121]||(e[121]=l("span",{class:"cr-label"},"体重变化",-1)),m(_(H(s(dt),s(d).case_record.weight_change)||"—"),1)]),l("div",An,[e[122]||(e[122]=l("span",{class:"cr-label"},"脂肪肝程度",-1)),m(_(H(s(yt),s(d).case_record.fatty_liver_degree)||"—"),1)]),l("div",zn,[e[123]||(e[123]=l("span",{class:"cr-label"},"饮食情况",-1)),m(_(P(s(rt),s(d).case_record.diet_condition)),1)]),l("div",Ln,[e[124]||(e[124]=l("span",{class:"cr-label"},"肢体感觉",-1)),m(_(P(s(ut),s(d).case_record.body_feeling)),1)]),l("div",Hn,[e[125]||(e[125]=l("span",{class:"cr-label"},"睡眠情况",-1)),m(_(P(s(ct),s(d).case_record.sleep_condition)),1)]),l("div",Fn,[e[126]||(e[126]=l("span",{class:"cr-label"},"眼睛情况",-1)),m(_(P(s(_t),s(d).case_record.eye_condition)),1)]),l("div",Mn,[e[127]||(e[127]=l("span",{class:"cr-label"},"头部感觉",-1)),m(_(P(s(pt),s(d).case_record.head_feeling)),1)]),l("div",Wn,[e[128]||(e[128]=l("span",{class:"cr-label"},"出汗情况",-1)),m(_(P(s(mt),s(d).case_record.sweat_condition)),1)]),l("div",jn,[e[129]||(e[129]=l("span",{class:"cr-label"},"皮肤情况",-1)),m(_(P(s(gt),s(d).case_record.skin_condition)),1)]),l("div",Gn,[e[130]||(e[130]=l("span",{class:"cr-label"},"小便情况",-1)),m(_(P(s(bt),s(d).case_record.urine_condition)),1)]),l("div",Bn,[e[131]||(e[131]=l("span",{class:"cr-label"},"大便情况",-1)),m(_(P(s(ft),s(d).case_record.stool_condition)),1)]),l("div",qn,[e[132]||(e[132]=l("span",{class:"cr-label"},"腰肾情况",-1)),m(_(P(s(vt),s(d).case_record.kidney_condition)),1)]),l("div",Kn,[e[133]||(e[133]=l("span",{class:"cr-label"},"其他补充",-1)),m(_(s(d).case_record.symptoms||"—"),1)])])]),l("div",Yn,[e[136]||(e[136]=l("div",{class:"cr-section-title"},"既往史",-1)),l("div",Jn,[e[135]||(e[135]=l("span",{class:"cr-label"},null,-1)),m(_(P(s(nt),s(d).case_record.past_history)),1)])]),l("div",Xn,[e[142]||(e[142]=l("div",{class:"cr-section-title"},"其他病史",-1)),l("div",Qn,[l("div",Zn,[e[137]||(e[137]=l("span",{class:"cr-label"},"外伤史",-1)),m(_(s(d).case_record.trauma_history===1?"有":"无"),1)]),l("div",eo,[e[138]||(e[138]=l("span",{class:"cr-label"},"手术史",-1)),m(_(s(d).case_record.surgery_history===1?"有":"无"),1)]),l("div",to,[e[139]||(e[139]=l("span",{class:"cr-label"},"过敏史",-1)),m(_(s(d).case_record.allergy_history===1?"有":"无"),1)]),l("div",so,[e[140]||(e[140]=l("span",{class:"cr-label"},"家族病史",-1)),m(_(s(d).case_record.family_history===1?"有":"无"),1)]),l("div",ao,[e[141]||(e[141]=l("span",{class:"cr-label"},"妊娠哺乳史",-1)),m(_(s(d).case_record.pregnancy_history===1?"有":"无"),1)])])]),l("div",lo,[e[145]||(e[145]=l("div",{class:"cr-section-title"},"诊断信息",-1)),(A=s(d).case_record.tongue_images)!=null&&A.length?(p(),f("div",no,[l("div",oo,[e[143]||(e[143]=l("span",{class:"cr-label"},"舌苔照片",-1)),l("div",io,[(p(!0),f(R,null,z(s(d).case_record.tongue_images,(u,U)=>(p(),f("img",{key:U,src:as(u),class:"cr-img",crossorigin:"anonymous"},null,8,ro))),128))])])])):x("",!0),l("div",uo,[l("div",co,[e[144]||(e[144]=l("span",{class:"cr-label"},"舌象",-1)),m(_(s(d).case_record.tongue_coating||"—"),1)])])])])])],512)):x("",!0)]),s(d)&&(s(d).audit_by_name||s(d).audit_remark)?(p(),f("div",_o,[s(d).audit_by_name?(p(),f("div",po,[m(" 审核人:"+_(s(d).audit_by_name)+" ",1),s(d).audit_time?(p(),f("span",mo,_(Gt(s(d).audit_time)),1)):x("",!0)])):x("",!0),s(d).audit_remark?(p(),f("div",go,"审核意见:"+_(s(d).audit_remark),1)):x("",!0)])):x("",!0),l("div",bo,[n(v,{onClick:ks},{default:r(()=>[n(te,null,{default:r(()=>[n(s(Js))]),_:1}),e[146]||(e[146]=m(" 下载图片 ",-1))]),_:1}),n(v,{type:"primary",onClick:hs},{default:r(()=>[n(te,null,{default:r(()=>[n(s(Xs))]),_:1}),e[147]||(e[147]=m(" 下载PDF ",-1))]),_:1}),s(d).void_status!==1&&!s(ce)?(p(),$(Vs,{key:0,disabled:!s(Ge),content:"该处方已存在业务订单,无法作废,请前往已开处方里修改",placement:"top"},{default:r(()=>[l("span",fo,[n(v,{type:"danger",plain:"",disabled:s(Ge),loading:s(ke),onClick:bs},{default:r(()=>[...e[148]||(e[148]=[m(" 作废处方 ",-1)])]),_:1},8,["disabled","loading"])])]),_:1},8,["disabled"])):x("",!0),s(ce)?x("",!0):(p(),$(v,{key:1,onClick:vs},{default:r(()=>[...e[149]||(e[149]=[m("新建处方",-1)])]),_:1})),n(v,{onClick:Ie},{default:r(()=>[...e[150]||(e[150]=[m("关闭",-1)])]),_:1})])])):(p(),f("div",fa,[n(B,{ref_key:"formRef",ref:Et,model:s(a),"label-width":"100px",class:"prescription-form"},{default:r(()=>[l("div",va,[e[44]||(e[44]=l("div",{class:"section-title"},"患者信息",-1)),n(y,{gutter:16},{default:r(()=>[n(i,{span:8},{default:r(()=>[n(o,{label:"姓名"},{default:r(()=>[l("span",null,_(s(a).patient_name),1)]),_:1})]),_:1}),n(i,{span:8},{default:r(()=>[n(o,{label:"性别"},{default:r(()=>[l("span",null,_(s(a).gender_desc),1)]),_:1})]),_:1}),n(i,{span:8},{default:r(()=>[n(o,{label:"年龄"},{default:r(()=>[l("span",null,_(s(a).age),1)]),_:1})]),_:1}),n(i,{span:12},{default:r(()=>[n(o,{label:"电话"},{default:r(()=>[l("span",null,_(s(a).phone),1)]),_:1})]),_:1}),n(i,{span:12},{default:r(()=>[n(o,{label:"门诊号"},{default:r(()=>[n(g,{modelValue:s(a).visit_no,"onUpdate:modelValue":e[0]||(e[0]=u=>s(a).visit_no=u),placeholder:"门诊号"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),l("div",ya,[e[45]||(e[45]=l("div",{class:"section-title"},"诊断信息",-1)),n(y,{gutter:16},{default:r(()=>[n(i,{span:12},{default:r(()=>[n(o,{label:"面象",prop:"pulse"},{default:r(()=>[n(g,{modelValue:s(a).pulse,"onUpdate:modelValue":e[1]||(e[1]=u=>s(a).pulse=u),placeholder:"面象"},null,8,["modelValue"])]),_:1})]),_:1}),n(i,{span:12},{default:r(()=>[n(o,{label:"舌象",prop:"tongue"},{default:r(()=>[n(g,{modelValue:s(a).tongue,"onUpdate:modelValue":e[2]||(e[2]=u=>s(a).tongue=u),placeholder:"舌象"},null,8,["modelValue"])]),_:1})]),_:1}),n(i,{span:24},{default:r(()=>[n(o,{label:"临床诊断",prop:"clinical_diagnosis"},{default:r(()=>[n(g,{modelValue:s(a).clinical_diagnosis,"onUpdate:modelValue":e[3]||(e[3]=u=>s(a).clinical_diagnosis=u),type:"textarea",rows:2,placeholder:"请输入临床诊断"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),l("div",xa,[l("div",ka,[l("div",ha,[e[50]||(e[50]=l("span",{class:"rp-toolbar__marker","aria-hidden":"true"},null,-1)),l("div",Va,[e[49]||(e[49]=l("h3",{class:"rp-toolbar__heading"},[m(" 中药处方 "),l("span",{class:"rp-toolbar__abbr"},"(RP)")],-1)),l("p",wa,[e[46]||(e[46]=m(" 共 ",-1)),l("strong",null,_(s(a).herbs.length),1),m(" 味(主方 "+_(s(Bt))+" / 辅方 "+_(s(qt))+")· 可手动添加、从处方库或粘贴药方批量录入 ",1)]),s(I)?(p(),f("p",Sa,[n(b,{type:"danger",size:"small",effect:"plain"},{default:r(()=>[...e[47]||(e[47]=[m("禁用修改",-1)])]),_:1}),e[48]||(e[48]=m(" 含「禁用修改」处方库模板,药材已锁定,不可增删改,如需调整请重新「从处方库导入」覆盖 ",-1))])):x("",!0)])]),l("div",Na,[n(v,{type:"primary",size:"small",icon:s(zs),disabled:s(I),onClick:e[4]||(e[4]=u=>Vt("主方"))},{default:r(()=>[...e[51]||(e[51]=[m(" 添加主方 ",-1)])]),_:1},8,["icon","disabled"]),n(v,{type:"primary",plain:"",size:"small",disabled:s(I),onClick:e[5]||(e[5]=u=>Vt("辅方"))},{default:r(()=>[...e[52]||(e[52]=[m(" 添加辅方 ",-1)])]),_:1},8,["disabled"]),n(v,{type:"primary",plain:"",size:"small",icon:s(Ls),onClick:_s},{default:r(()=>[...e[53]||(e[53]=[m(" 从处方库导入 ",-1)])]),_:1},8,["icon"]),n(v,{type:"primary",plain:"",size:"small",icon:s(Hs),onClick:es},{default:r(()=>[...e[54]||(e[54]=[m(" 导入药方 ",-1)])]),_:1},8,["icon"])])]),l("div",Ua,[n(o,{label:"处方价格",prop:"amount",class:"!mb-0"},{default:r(()=>[n(S,{modelValue:s(a).amount,"onUpdate:modelValue":e[6]||(e[6]=u=>s(a).amount=u),min:0,precision:2,placeholder:"请输入处方总价(元)",class:"!w-40"},null,8,["modelValue"]),e[55]||(e[55]=l("span",{class:"ml-2 text-gray-500"},"元",-1))]),_:1})]),l("div",$a,[l("div",Ca,[n(b,{type:"primary",size:"small"},{default:r(()=>[...e[56]||(e[56]=[m("主方",-1)])]),_:1})]),l("div",Ra,[(p(!0),f(R,null,z(s(tt),u=>(p(),f("div",{key:"main-"+u.index,class:ze(["herb-editor-card",{"herb-editor-card--dup":be(u.index)}])},[l("div",Ta,"主方 "+_(u.index+1),1),n(Tt,{modelValue:s(a).herbs[u.index].name,"onUpdate:modelValue":U=>s(a).herbs[u.index].name=U,"medicine-id":s(a).herbs[u.index].medicine_id,"onUpdate:medicineId":U=>s(a).herbs[u.index].medicine_id=U,disabled:s(I),class:"herb-editor-card__select"},null,8,["modelValue","onUpdate:modelValue","medicine-id","onUpdate:medicineId","disabled"]),be(u.index)?(p(),f("div",Da," 该药名与其他行重复,请合并剂量或删除多余行 ")):x("",!0),l("div",Pa,[n(S,{modelValue:s(a).herbs[u.index].dosage,"onUpdate:modelValue":U=>s(a).herbs[u.index].dosage=U,min:.1,step:1,precision:1,disabled:s(I),placeholder:"剂量(克)",class:"herb-editor-card__dose"},null,8,["modelValue","onUpdate:modelValue","disabled"]),e[58]||(e[58]=l("span",{class:"text-gray-500 shrink-0"},"克",-1)),s(I)?x("",!0):(p(),$(v,{key:0,type:"danger",size:"small",link:"",onClick:U=>wt(u.index)},{default:r(()=>[...e[57]||(e[57]=[m(" 删除 ",-1)])]),_:1},8,["onClick"]))])],2))),128))])]),l("div",Ia,[l("div",Ea,[n(b,{type:"warning",size:"small"},{default:r(()=>[...e[59]||(e[59]=[m("辅方",-1)])]),_:1})]),l("div",Oa,[(p(!0),f(R,null,z(s(ae),u=>(p(),f("div",{key:"aux-"+u.index,class:ze(["herb-editor-card",{"herb-editor-card--dup":be(u.index)}])},[e[62]||(e[62]=l("div",{class:"herb-editor-card__title"},"辅方",-1)),n(Tt,{modelValue:s(a).herbs[u.index].name,"onUpdate:modelValue":U=>s(a).herbs[u.index].name=U,"medicine-id":s(a).herbs[u.index].medicine_id,"onUpdate:medicineId":U=>s(a).herbs[u.index].medicine_id=U,disabled:s(I),class:"herb-editor-card__select"},null,8,["modelValue","onUpdate:modelValue","medicine-id","onUpdate:medicineId","disabled"]),be(u.index)?(p(),f("div",Aa," 该药名与其他行重复,请合并剂量或删除多余行 ")):x("",!0),l("div",za,[n(S,{modelValue:s(a).herbs[u.index].dosage,"onUpdate:modelValue":U=>s(a).herbs[u.index].dosage=U,min:.1,step:1,precision:1,disabled:s(I),placeholder:"剂量(克)",class:"herb-editor-card__dose"},null,8,["modelValue","onUpdate:modelValue","disabled"]),e[61]||(e[61]=l("span",{class:"text-gray-500 shrink-0"},"克",-1)),s(I)?x("",!0):(p(),$(v,{key:0,type:"danger",size:"small",link:"",onClick:U=>wt(u.index)},{default:r(()=>[...e[60]||(e[60]=[m(" 删除 ",-1)])]),_:1},8,["onClick"]))])],2))),128)),s(ae).length?x("",!0):(p(),f("p",La,"暂无辅方药材"))])])]),l("div",Ha,[n(y,{gutter:16},{default:r(()=>[n(i,{span:8},{default:r(()=>[n(o,{label:"处方类型",prop:"prescription_type"},{default:r(()=>[n(N,{modelValue:s(a).prescription_type,"onUpdate:modelValue":e[7]||(e[7]=u=>s(a).prescription_type=u),placeholder:"请选择处方类型",class:"!w-full"},{default:r(()=>[n(c,{label:"浓缩水丸",value:"浓缩水丸"}),n(c,{label:"饮片",value:"饮片"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),n(i,{span:24},{default:r(()=>[...e[63]||(e[63]=[l("div",{class:"usage-formula-title usage-formula-title--main"},"主方用法",-1)])]),_:1}),n(i,{span:8},{default:r(()=>[n(o,{label:"用量",prop:"dosage_amount"},{default:r(()=>[s(a).prescription_type==="浓缩水丸"?(p(),$(N,{key:0,modelValue:s(a).dosage_amount,"onUpdate:modelValue":e[8]||(e[8]=u=>s(a).dosage_amount=u),placeholder:"请选择用量",class:"!w-full"},{default:r(()=>[n(c,{label:"1g",value:1}),n(c,{label:"2g",value:2}),n(c,{label:"3g",value:3}),n(c,{label:"4g",value:4}),n(c,{label:"5g",value:5}),n(c,{label:"6g",value:6}),n(c,{label:"7g",value:7}),n(c,{label:"8g",value:8}),n(c,{label:"9g",value:9}),n(c,{label:"10g",value:10})]),_:1},8,["modelValue"])):s(a).prescription_type==="饮片"?(p(),$(N,{key:1,modelValue:s(a).dosage_amount,"onUpdate:modelValue":e[9]||(e[9]=u=>s(a).dosage_amount=u),placeholder:"请选择用量",class:"!w-full"},{default:r(()=>[n(c,{label:"50ml",value:50}),n(c,{label:"100ml",value:100}),n(c,{label:"120ml",value:120}),n(c,{label:"150ml",value:150}),n(c,{label:"180ml",value:180}),n(c,{label:"200ml",value:200}),n(c,{label:"250ml",value:250})]),_:1},8,["modelValue"])):(p(),$(S,{key:2,modelValue:s(a).dosage_amount,"onUpdate:modelValue":e[10]||(e[10]=u=>s(a).dosage_amount=u),min:0,precision:2,class:"!w-full"},null,8,["modelValue"])),s(a).prescription_type!=="浓缩水丸"&&s(a).prescription_type!=="饮片"?(p(),f("span",Fa,_(s(a).dosage_unit),1)):x("",!0)]),_:1})]),_:1}),s(a).prescription_type==="浓缩水丸"?(p(),$(i,{key:0,span:8},{default:r(()=>[n(o,{label:" ",prop:"dosage_bag_count","label-width":"12px"},{default:r(()=>[n(N,{modelValue:s(a).dosage_bag_count,"onUpdate:modelValue":e[11]||(e[11]=u=>s(a).dosage_bag_count=u),placeholder:"请选择袋数",class:"!w-[120px]"},{default:r(()=>[n(c,{label:"1袋",value:1}),n(c,{label:"2袋",value:2}),n(c,{label:"3袋",value:3}),n(c,{label:"4袋",value:4}),n(c,{label:"5袋",value:5})]),_:1},8,["modelValue"])]),_:1})]),_:1})):x("",!0),s(a).prescription_type==="饮片"?(p(),$(i,{key:1,span:8},{default:r(()=>[n(o,{label:"每贴出包数",prop:"bags_per_dose"},{default:r(()=>[n(N,{modelValue:s(a).bags_per_dose,"onUpdate:modelValue":e[12]||(e[12]=u=>s(a).bags_per_dose=u),placeholder:"请选择",class:"!w-full"},{default:r(()=>[n(c,{label:"1包",value:1}),n(c,{label:"2包",value:2}),n(c,{label:"3包",value:3}),n(c,{label:"4包",value:4}),n(c,{label:"5包",value:5}),n(c,{label:"6包",value:6}),n(c,{label:"7包",value:7}),n(c,{label:"8包",value:8}),n(c,{label:"9包",value:9})]),_:1},8,["modelValue"])]),_:1})]),_:1})):x("",!0),s(a).prescription_type==="饮片"?(p(),$(i,{key:2,span:8},{default:r(()=>[n(o,{label:"是否代煎",prop:"need_decoction"},{default:r(()=>[n(E,{modelValue:s(a).need_decoction,"onUpdate:modelValue":e[13]||(e[13]=u=>s(a).need_decoction=u)},{default:r(()=>[n(D,{label:!0},{default:r(()=>[...e[64]||(e[64]=[m("代煎",-1)])]),_:1}),n(D,{label:!1},{default:r(()=>[...e[65]||(e[65]=[m("不代煎",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})):x("",!0),n(i,{span:8},{default:r(()=>[n(o,{label:"服用天数",prop:"usage_days"},{default:r(()=>[n(S,{modelValue:s(a).usage_days,"onUpdate:modelValue":e[14]||(e[14]=u=>s(a).usage_days=u),min:1,max:365,class:"!w-full"},null,8,["modelValue"])]),_:1})]),_:1}),n(i,{span:8},{default:r(()=>[n(o,{label:"每天几次",prop:"times_per_day"},{default:r(()=>[n(S,{modelValue:s(a).times_per_day,"onUpdate:modelValue":e[15]||(e[15]=u=>s(a).times_per_day=u),min:1,max:6,class:"!w-full",placeholder:"每天服用次数"},null,8,["modelValue"])]),_:1})]),_:1}),s(ae).length>0?(p(),f(R,{key:3},[n(i,{span:24},{default:r(()=>[...e[66]||(e[66]=[l("div",{class:"usage-formula-title usage-formula-title--aux"},"辅方用法",-1)])]),_:1}),n(i,{span:8},{default:r(()=>[n(o,{label:"用量"},{default:r(()=>[s(a).prescription_type==="浓缩水丸"?(p(),$(N,{key:0,modelValue:s(a).aux_usage.dosage_amount,"onUpdate:modelValue":e[16]||(e[16]=u=>s(a).aux_usage.dosage_amount=u),placeholder:"请选择用量",class:"!w-full"},{default:r(()=>[(p(),f(R,null,z(10,u=>n(c,{key:u,label:u+"g",value:u},null,8,["label","value"])),64))]),_:1},8,["modelValue"])):s(a).prescription_type==="饮片"?(p(),$(N,{key:1,modelValue:s(a).aux_usage.dosage_amount,"onUpdate:modelValue":e[17]||(e[17]=u=>s(a).aux_usage.dosage_amount=u),placeholder:"请选择用量",class:"!w-full"},{default:r(()=>[n(c,{label:"50ml",value:50}),n(c,{label:"100ml",value:100}),n(c,{label:"120ml",value:120}),n(c,{label:"150ml",value:150}),n(c,{label:"180ml",value:180}),n(c,{label:"200ml",value:200}),n(c,{label:"250ml",value:250})]),_:1},8,["modelValue"])):(p(),$(S,{key:2,modelValue:s(a).aux_usage.dosage_amount,"onUpdate:modelValue":e[18]||(e[18]=u=>s(a).aux_usage.dosage_amount=u),min:0,precision:2,class:"!w-full"},null,8,["modelValue"]))]),_:1})]),_:1}),s(a).prescription_type==="浓缩水丸"?(p(),$(i,{key:0,span:8},{default:r(()=>[n(o,{label:" ","label-width":"12px"},{default:r(()=>[n(N,{modelValue:s(a).aux_usage.dosage_bag_count,"onUpdate:modelValue":e[19]||(e[19]=u=>s(a).aux_usage.dosage_bag_count=u),placeholder:"请选择袋数",class:"!w-[120px]"},{default:r(()=>[n(c,{label:"1袋",value:1}),n(c,{label:"2袋",value:2}),n(c,{label:"3袋",value:3}),n(c,{label:"4袋",value:4}),n(c,{label:"5袋",value:5})]),_:1},8,["modelValue"])]),_:1})]),_:1})):x("",!0),s(a).prescription_type==="饮片"?(p(),$(i,{key:1,span:8},{default:r(()=>[n(o,{label:"是否代煎"},{default:r(()=>[n(E,{modelValue:s(a).aux_usage.need_decoction,"onUpdate:modelValue":e[20]||(e[20]=u=>s(a).aux_usage.need_decoction=u)},{default:r(()=>[n(D,{label:!0},{default:r(()=>[...e[67]||(e[67]=[m("代煎",-1)])]),_:1}),n(D,{label:!1},{default:r(()=>[...e[68]||(e[68]=[m("不代煎",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})):x("",!0),s(a).prescription_type==="饮片"?(p(),$(i,{key:2,span:8},{default:r(()=>[n(o,{label:"每贴出包数"},{default:r(()=>[n(N,{modelValue:s(a).aux_usage.bags_per_dose,"onUpdate:modelValue":e[21]||(e[21]=u=>s(a).aux_usage.bags_per_dose=u),placeholder:"请选择",class:"!w-full"},{default:r(()=>[(p(),f(R,null,z(9,u=>n(c,{key:u,label:u+"包",value:u},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1})):x("",!0),n(i,{span:8},{default:r(()=>[n(o,{label:"每天几次"},{default:r(()=>[n(S,{modelValue:s(a).aux_usage.times_per_day,"onUpdate:modelValue":e[22]||(e[22]=u=>s(a).aux_usage.times_per_day=u),min:1,max:6,class:"!w-full",placeholder:"每天服用次数"},null,8,["modelValue"])]),_:1})]),_:1}),n(i,{span:8},{default:r(()=>[n(o,{label:"服用天数"},{default:r(()=>[n(S,{modelValue:s(a).aux_usage.usage_days,"onUpdate:modelValue":e[23]||(e[23]=u=>s(a).aux_usage.usage_days=u),min:1,max:365,class:"!w-full"},null,8,["modelValue"])]),_:1})]),_:1})],64)):x("",!0),n(i,{span:24},{default:r(()=>[n(o,{label:"用法",prop:"usage_instruction"},{default:r(()=>[n(g,{modelValue:s(a).usage_instruction,"onUpdate:modelValue":e[24]||(e[24]=u=>s(a).usage_instruction=u),placeholder:"",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1}),n(i,{span:12},{default:r(()=>[n(o,{label:"服用时间",prop:"usage_time"},{default:r(()=>[n(N,{modelValue:s(a).usage_time,"onUpdate:modelValue":e[25]||(e[25]=u=>s(a).usage_time=u),placeholder:"请选择服用时间",class:"!w-full"},{default:r(()=>[n(c,{label:"饭前",value:"饭前"}),n(c,{label:"饭后",value:"饭后"}),n(c,{label:"饭中",value:"饭中"}),n(c,{label:"空腹",value:"空腹"}),n(c,{label:"睡前",value:"睡前"}),n(c,{label:"晨起",value:"晨起"}),n(c,{label:"随时",value:"随时"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),n(i,{span:12},{default:r(()=>[n(o,{label:"服用方式",prop:"usage_way"},{default:r(()=>[n(N,{modelValue:s(a).usage_way,"onUpdate:modelValue":e[26]||(e[26]=u=>s(a).usage_way=u),placeholder:"请选择服用方式",class:"!w-full"},{default:r(()=>[n(c,{label:"温水送服",value:"温水送服"}),n(c,{label:"开水冲服",value:"开水冲服"}),n(c,{label:"黄酒送服",value:"黄酒送服"}),n(c,{label:"淡盐水送服",value:"淡盐水送服"}),n(c,{label:"米汤送服",value:"米汤送服"}),n(c,{label:"嚼服",value:"嚼服"}),n(c,{label:"含化",value:"含化"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),n(i,{span:24},{default:r(()=>[n(o,{label:"忌口",prop:"dietary_taboo"},{default:r(()=>[n(N,{modelValue:s(a).dietary_taboo,"onUpdate:modelValue":e[27]||(e[27]=u=>s(a).dietary_taboo=u),multiple:"",placeholder:"请选择忌口内容(可多选)",class:"!w-full"},{default:r(()=>[n(c,{label:"辛辣食物",value:"辛辣食物"}),n(c,{label:"生冷食物",value:"生冷食物"}),n(c,{label:"油腻食物",value:"油腻食物"}),n(c,{label:"海鲜",value:"海鲜"}),n(c,{label:"牛羊肉",value:"牛羊肉"}),n(c,{label:"鸡蛋",value:"鸡蛋"}),n(c,{label:"豆制品",value:"豆制品"}),n(c,{label:"酒类",value:"酒类"}),n(c,{label:"浓茶",value:"浓茶"}),n(c,{label:"咖啡",value:"咖啡"}),n(c,{label:"烟草",value:"烟草"}),n(c,{label:"萝卜",value:"萝卜"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),n(i,{span:24},{default:r(()=>[n(o,{label:"其他说明",prop:"usage_notes"},{default:r(()=>[n(g,{modelValue:s(a).usage_notes,"onUpdate:modelValue":e[28]||(e[28]=u=>s(a).usage_notes=u),type:"textarea",rows:2,placeholder:"其他服用注意事项",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1}),n(i,{span:12},{default:r(()=>[n(o,{label:"医师",prop:"doctor_name"},{default:r(()=>[n(g,{modelValue:s(a).doctor_name,"onUpdate:modelValue":e[29]||(e[29]=u=>s(a).doctor_name=u),placeholder:"医师姓名"},null,8,["modelValue"])]),_:1})]),_:1}),n(i,{span:12},{default:r(()=>[n(o,{label:"是否共享",prop:"is_shared"},{default:r(()=>[n(G,{modelValue:s(a).is_shared,"onUpdate:modelValue":e[30]||(e[30]=u=>s(a).is_shared=u),"active-value":1,"inactive-value":0,"active-text":"所有人可见","inactive-text":"仅自己可见"},null,8,["modelValue"])]),_:1})]),_:1}),n(i,{span:24},{default:r(()=>[n(o,{label:"医师签名",prop:"doctor_signature",required:""},{default:r(()=>[l("div",Ma,[l("canvas",{ref_key:"signatureCanvasRef",ref:M,class:"signature-canvas",onPointerdown:ie(ds,["prevent"]),onPointermove:ie(us,["prevent"]),onPointerup:ie(ht,["prevent"]),onPointercancel:ie(ht,["prevent"])},null,544),l("div",Wa,[n(v,{size:"small",onClick:cs},{default:r(()=>[...e[69]||(e[69]=[m("清空签名",-1)])]),_:1})])]),e[70]||(e[70]=l("div",{class:"text-xs text-amber-600 mt-1"},"* 必填,请在框内手写医师签名",-1))]),_:1})]),_:1})]),_:1})])]),_:1},8,["model"])]))]}),_:2},[s(d)?void 0:{name:"footer",fn:r(()=>[l("div",vo,[n(v,{onClick:Ie},{default:r(()=>[...e[151]||(e[151]=[m("取消",-1)])]),_:1}),n(v,{type:"primary",onClick:ms,loading:s(xe)},{default:r(()=>[...e[152]||(e[152]=[m("保存处方",-1)])]),_:1},8,["loading"])])]),key:"0"}]),1032,["modelValue","title"]),n(Ut,{modelValue:s(j),"onUpdate:modelValue":e[38]||(e[38]=h=>O(j)?j.value=h:null),title:"从处方库导入",width:"800px","close-on-click-modal":!1},{default:r(()=>[l("div",yo,[n(g,{modelValue:s(le),"onUpdate:modelValue":e[33]||(e[33]=h=>O(le)?le.value=h:null),class:"flex-1",placeholder:"请输入处方名称搜索",clearable:"",onKeyup:ea(ve,["enter"]),onClear:ve},{append:r(()=>[n(v,{icon:s(ta),onClick:ve},null,8,["icon"])]),_:1},8,["modelValue"]),n(N,{modelValue:s(ne),"onUpdate:modelValue":e[34]||(e[34]=h=>O(ne)?ne.value=h:null),placeholder:"处方类型",clearable:"",class:"w-[140px]",onChange:ve},{default:r(()=>[n(c,{label:"全部",value:""}),n(c,{label:"主方",value:"主方"}),n(c,{label:"辅方",value:"辅方"})]),_:1},8,["modelValue"])]),l("div",xo,[e[155]||(e[155]=l("span",{class:"text-sm text-gray-600 shrink-0"},"导入方式",-1)),n(E,{modelValue:s(Y),"onUpdate:modelValue":e[35]||(e[35]=h=>O(Y)?Y.value=h:null)},{default:r(()=>[n(D,{label:"replace"},{default:r(()=>[...e[153]||(e[153]=[m("覆盖同类型药材",-1)])]),_:1}),n(D,{label:"append"},{default:r(()=>[...e[154]||(e[154]=[m("追加到末尾",-1)])]),_:1})]),_:1},8,["modelValue"])]),sa((p(),$(Ss,{data:s(Ue),height:"400",onRowClick:ps,style:{cursor:"pointer"}},{default:r(()=>[n(q,{label:"处方名称",prop:"prescription_name","min-width":"150","show-overflow-tooltip":""}),n(q,{label:"处方类型",width:"90"},{default:r(({row:h})=>[n(b,{type:h.formula_type==="辅方"?"warning":"primary",size:"small"},{default:r(()=>[m(_(h.formula_type||"主方"),1)]),_:2},1032,["type"])]),_:1}),n(q,{label:"药材数量",width:"100"},{default:r(({row:h})=>{var A;return[m(_(((A=h.herbs)==null?void 0:A.length)||0)+"味 ",1)]}),_:1}),n(q,{label:"药材明细","min-width":"300","show-overflow-tooltip":""},{default:r(({row:h})=>[h.herbs&&h.herbs.length>0?(p(),f("span",ko,_(h.herbs.map(A=>`${A.name} ${A.dosage}g`).join("、")),1)):(p(),f("span",ho,"暂无药材"))]),_:1}),n(q,{label:"是否公开",width:"110"},{default:r(({row:h})=>[n(b,{type:h.is_public?"success":"info",size:"small"},{default:r(()=>[m(_(h.is_public?"所有人可见":"仅自己可见"),1)]),_:2},1032,["type"])]),_:1}),n(q,{label:"创建人",prop:"creator_name",width:"100"}),n(q,{label:"操作",width:"100",fixed:"right"},{default:r(({row:h})=>[n(v,{type:"primary",link:"",onClick:ie(A=>St(h),["stop"])},{default:r(()=>[...e[156]||(e[156]=[m(" 导入 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[Us,s(Ne)]]),l("div",Vo,[n(Ns,{"current-page":s(X),"onUpdate:currentPage":e[36]||(e[36]=h=>O(X)?X.value=h:null),"page-size":s(me),"onUpdate:pageSize":e[37]||(e[37]=h=>O(me)?me.value=h:null),total:s($e),"page-sizes":[10,15,20,50],layout:"total, sizes, prev, pager, next",onCurrentChange:fe,onSizeChange:fe},null,8,["current-page","page-size","total"])])]),_:1},8,["modelValue"]),n(Ut,{modelValue:s(Q),"onUpdate:modelValue":e[42]||(e[42]=h=>O(Q)?Q.value=h:null),title:"导入药方(识别药材)",width:"560px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:e[43]||(e[43]=h=>Z.value="")},{footer:r(()=>[n(v,{onClick:e[41]||(e[41]=h=>Q.value=!1)},{default:r(()=>[...e[161]||(e[161]=[m("取消",-1)])]),_:1}),n(v,{type:"primary",loading:s(Ce),onClick:ts},{default:r(()=>[...e[162]||(e[162]=[m(" 识别并导入 ",-1)])]),_:1},8,["loading"])]),default:r(()=>[e[163]||(e[163]=l("p",{class:"text-gray-500 text-sm mb-2 leading-relaxed"}," 粘贴整张药方文本,系统按「药名 + 剂量」解析;药名须与药品库中名称完全一致才会录入,否则跳过。支持顿号/逗号/换行分隔;单行可用空格分味(如「黄芪15g 白术10g」);「黄芪、党参各10克」等同剂量写法亦可识别。 ",-1)),n(g,{modelValue:s(Z),"onUpdate:modelValue":e[39]||(e[39]=h=>O(Z)?Z.value=h:null),type:"textarea",rows:10,placeholder:`示例: 黄芪15 党参12 茯苓10 diff --git a/server/public/admin/assets/index-C7JFp3Yq.js b/server/public/admin/assets/index-B87ARyE6.js similarity index 96% rename from server/public/admin/assets/index-C7JFp3Yq.js rename to server/public/admin/assets/index-B87ARyE6.js index 69d0b95a..189cea7a 100644 --- a/server/public/admin/assets/index-C7JFp3Yq.js +++ b/server/public/admin/assets/index-B87ARyE6.js @@ -1 +1 @@ -import{_ as N}from"./index-bkWlwzQZ.js";import{r as V,c as R,_ as q}from"./index-CJvXnF8Y.js";import{o as k,be as z,q as d,r as u,v as t,D as o,b9 as G,u as i,b6 as L,s as a,bc as $,bf as j,L as c,bg as A,K,bj as O,bk as H,b7 as J,ac as x,O as y,F as M,G as P,T as Q,ba as W,p as X}from"./.pnpm-9dA1PEvN.js";function Y(){return V.get({url:"/setting.hot_search/getConfig"})}function Z(p){return V.post({url:"/setting.hot_search/setConfig",params:p})}const ee={class:"hot-search"},te={class:"lg:flex"},oe={class:"flex-1 min-w-0"},se={class:"hot-search-phone mt-4 lg:mt-0 lg:ml-4 flex-none"},ae={class:"hot-search-phone-content"},ne={class:"search-com"},le={class:"search-con flex items-center px-[15px]"},re={class:"hot-search-text"},de=k({name:"search"}),ie=k({...de,setup(p){const l=W({status:1,data:[]}),w=X(()=>l.data.filter(s=>s.name).sort((s,e)=>e.sort-s.sort)),f=async()=>{try{const s=await Y();for(const e in l)l[e]=s[e]}catch(s){console.log("获取=>",s)}},C=()=>{l.data.push({name:"",sort:0})},E=s=>{l.data.splice(s,1)},D=async()=>{try{await Z(l),f()}catch(s){console.log("保存=>",s)}};return f(),(s,e)=>{const h=j,B=$,S=L,U=G,b=A,m=K,g=J,_=H,F=O,T=R,I=N,v=z("perms");return d(),u("div",ee,[t(b,{class:"!border-none",shadow:"never"},{default:o(()=>[t(U,{ref:"formRef",model:i(l),"label-width":"100px"},{default:o(()=>[t(S,{label:"功能状态",style:{"margin-bottom":"0"}},{default:o(()=>[a("div",null,[t(B,{modelValue:i(l).status,"onUpdate:modelValue":e[0]||(e[0]=n=>i(l).status=n)},{default:o(()=>[t(h,{value:1},{default:o(()=>[...e[1]||(e[1]=[c("开启",-1)])]),_:1}),t(h,{value:0},{default:o(()=>[...e[2]||(e[2]=[c("关闭",-1)])]),_:1})]),_:1},8,["modelValue"]),e[3]||(e[3]=a("div",{class:"form-tips"},"默认开启,关闭则前端不显示该功能",-1))])]),_:1})]),_:1},8,["model"])]),_:1}),t(b,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[a("div",te,[a("div",oe,[t(m,{type:"primary",class:"mb-4",onClick:C},{default:o(()=>[...e[4]||(e[4]=[c("添加",-1)])]),_:1}),t(F,{size:"large",data:i(l).data},{default:o(()=>[t(_,{label:"关键词",prop:"describe","min-width":"160"},{default:o(({row:n})=>[t(g,{modelValue:n.name,"onUpdate:modelValue":r=>n.name=r,clearable:"",placeholder:"请输入关键字","show-word-limit":"",maxlength:"30"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),t(_,{label:"排序",prop:"describe","min-width":"160"},{default:o(({row:n})=>[t(g,{modelValue:n.sort,"onUpdate:modelValue":r=>n.sort=r,type:"number"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),t(_,{label:"操作","min-width":"80",fixed:"right"},{default:o(({$index:n})=>[x((d(),y(m,{type:"danger",link:"",onClick:r=>E(n)},{default:o(()=>[...e[5]||(e[5]=[c(" 删除 ",-1)])]),_:1},8,["onClick"])),[[v,["setting:storage:edit"]]])]),_:1})]),_:1},8,["data"])]),a("div",se,[e[8]||(e[8]=a("div",{class:"mb-4 text-center"},"- 热搜预览图 -",-1)),a("div",ae,[a("div",ne,[a("div",le,[t(T,{name:"el-icon-Search",size:17}),e[6]||(e[6]=a("span",{class:"ml-[5px]"},"请输入关键词搜索",-1))])]),e[7]||(e[7]=a("div",{class:"hot-search-title"},"热门搜索",-1)),a("div",re,[(d(!0),u(M,null,P(i(w),(n,r)=>(d(),u("span",{key:r},Q(n.name),1))),128))])])])])]),_:1}),x((d(),y(I,null,{default:o(()=>[t(m,{type:"primary",onClick:D},{default:o(()=>[...e[9]||(e[9]=[c("保存",-1)])]),_:1})]),_:1})),[[v,["setting.hot_search/setConfig"]]])])}}}),ue=q(ie,[["__scopeId","data-v-2569ecde"]]);export{ue as default}; +import{_ as N}from"./index-DZiQLFzx.js";import{r as V,c as R,_ as q}from"./index-BWzN7QIb.js";import{o as k,be as z,q as d,r as u,v as t,D as o,b9 as G,u as i,b6 as L,s as a,bc as $,bf as j,L as c,bg as A,K,bj as O,bk as H,b7 as J,ac as x,O as y,F as M,G as P,T as Q,ba as W,p as X}from"./.pnpm-9dA1PEvN.js";function Y(){return V.get({url:"/setting.hot_search/getConfig"})}function Z(p){return V.post({url:"/setting.hot_search/setConfig",params:p})}const ee={class:"hot-search"},te={class:"lg:flex"},oe={class:"flex-1 min-w-0"},se={class:"hot-search-phone mt-4 lg:mt-0 lg:ml-4 flex-none"},ae={class:"hot-search-phone-content"},ne={class:"search-com"},le={class:"search-con flex items-center px-[15px]"},re={class:"hot-search-text"},de=k({name:"search"}),ie=k({...de,setup(p){const l=W({status:1,data:[]}),w=X(()=>l.data.filter(s=>s.name).sort((s,e)=>e.sort-s.sort)),f=async()=>{try{const s=await Y();for(const e in l)l[e]=s[e]}catch(s){console.log("获取=>",s)}},C=()=>{l.data.push({name:"",sort:0})},E=s=>{l.data.splice(s,1)},D=async()=>{try{await Z(l),f()}catch(s){console.log("保存=>",s)}};return f(),(s,e)=>{const h=j,B=$,S=L,U=G,b=A,m=K,g=J,_=H,F=O,T=R,I=N,v=z("perms");return d(),u("div",ee,[t(b,{class:"!border-none",shadow:"never"},{default:o(()=>[t(U,{ref:"formRef",model:i(l),"label-width":"100px"},{default:o(()=>[t(S,{label:"功能状态",style:{"margin-bottom":"0"}},{default:o(()=>[a("div",null,[t(B,{modelValue:i(l).status,"onUpdate:modelValue":e[0]||(e[0]=n=>i(l).status=n)},{default:o(()=>[t(h,{value:1},{default:o(()=>[...e[1]||(e[1]=[c("开启",-1)])]),_:1}),t(h,{value:0},{default:o(()=>[...e[2]||(e[2]=[c("关闭",-1)])]),_:1})]),_:1},8,["modelValue"]),e[3]||(e[3]=a("div",{class:"form-tips"},"默认开启,关闭则前端不显示该功能",-1))])]),_:1})]),_:1},8,["model"])]),_:1}),t(b,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[a("div",te,[a("div",oe,[t(m,{type:"primary",class:"mb-4",onClick:C},{default:o(()=>[...e[4]||(e[4]=[c("添加",-1)])]),_:1}),t(F,{size:"large",data:i(l).data},{default:o(()=>[t(_,{label:"关键词",prop:"describe","min-width":"160"},{default:o(({row:n})=>[t(g,{modelValue:n.name,"onUpdate:modelValue":r=>n.name=r,clearable:"",placeholder:"请输入关键字","show-word-limit":"",maxlength:"30"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),t(_,{label:"排序",prop:"describe","min-width":"160"},{default:o(({row:n})=>[t(g,{modelValue:n.sort,"onUpdate:modelValue":r=>n.sort=r,type:"number"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),t(_,{label:"操作","min-width":"80",fixed:"right"},{default:o(({$index:n})=>[x((d(),y(m,{type:"danger",link:"",onClick:r=>E(n)},{default:o(()=>[...e[5]||(e[5]=[c(" 删除 ",-1)])]),_:1},8,["onClick"])),[[v,["setting:storage:edit"]]])]),_:1})]),_:1},8,["data"])]),a("div",se,[e[8]||(e[8]=a("div",{class:"mb-4 text-center"},"- 热搜预览图 -",-1)),a("div",ae,[a("div",ne,[a("div",le,[t(T,{name:"el-icon-Search",size:17}),e[6]||(e[6]=a("span",{class:"ml-[5px]"},"请输入关键词搜索",-1))])]),e[7]||(e[7]=a("div",{class:"hot-search-title"},"热门搜索",-1)),a("div",re,[(d(!0),u(M,null,P(i(w),(n,r)=>(d(),u("span",{key:r},Q(n.name),1))),128))])])])])]),_:1}),x((d(),y(I,null,{default:o(()=>[t(m,{type:"primary",onClick:D},{default:o(()=>[...e[9]||(e[9]=[c("保存",-1)])]),_:1})]),_:1})),[[v,["setting.hot_search/setConfig"]]])])}}}),ue=q(ie,[["__scopeId","data-v-2569ecde"]]);export{ue as default}; diff --git a/server/public/admin/assets/index-B9yJIrZi.js b/server/public/admin/assets/index-B8Qc_UQF.js similarity index 99% rename from server/public/admin/assets/index-B9yJIrZi.js rename to server/public/admin/assets/index-B8Qc_UQF.js index e046ab3b..60308419 100644 --- a/server/public/admin/assets/index-B9yJIrZi.js +++ b/server/public/admin/assets/index-B8Qc_UQF.js @@ -1 +1 @@ -var en=Object.defineProperty;var nn=(s,n,a)=>n in s?en(s,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[n]=a;var L=(s,n,a)=>nn(s,typeof n!="symbol"?n+"":n,a);import{o as we,dd as on,q as R,r as H,T as F,P as B,s as A,O as q,u as E,de as an,a7 as sn,p as G,df as rn,ap as ln,aq as cn,R as un,ac as Pt,ad as Vt,aw as dt,v as S,D as b,w as dn,av as ue,K as fn,a1 as mn,dg as hn,dh as gn,b5 as pn,bh as vn,di as yn,dj as _n,dk as wn,dl as Sn,dm as Cn,dn as Tn,dp as En,dq as An,L as In,dr as kn,ds as bn,dt as Rn,d4 as Mn,t as de,ae as Ln,ar as Dn,M as y,du as xn,d3 as x,n as Ht,dv as Un,d5 as $,d6 as z,d7 as N,dw as Pn}from"./.pnpm-9dA1PEvN.js";import{u as Vn,l as Hn}from"./file-BJDA0rIT.js";import{a as Nn}from"./patient-CwTOvUDt.js";import{R as Nt,af as On,aB as Kn,aC as $n,aD as zn}from"./tcm-DOD9_1Um.js";import{_ as Se,u as Bn,i as M}from"./index-CJvXnF8Y.js";import{p as jn}from"./im-business-message-parse-DmDISFGN.js";import{T as Z}from"./@tencentcloud/chat-Clb_yWS-.js";import{X as fe}from"./@tencentcloud/chat-uikit-engine-CE484eWV.js";import{c as ft}from"./@tencentcloud/call-engine-js-BSW3L4hf.js";import"./dayjs-BsOAYQJw.js";import"./tim-upload-plugin-CQ0SshXS.js";import"./tim-profanity-filter-plugin-M-EFi4_K.js";import"./rtc-detect-DLSGS3ox.js";function Wn(){const s=["video/webm;codecs=vp9,opus","video/webm;codecs=vp8,opus","video/webm;codecs=vp9","video/webm;codecs=vp8","video/webm"];for(const n of s)if(MediaRecorder.isTypeSupported(n))return n;return""}function qn(){const s=window;return s.AudioContext||s.webkitAudioContext||null}function me(s,n,a,i,r,u){const f=n.videoWidth||n.clientWidth||1,d=n.videoHeight||n.clientHeight||1,g=Math.max(r/f,u/d),c=f*g,m=d*g,_=a+(r-c)/2,D=i+(u-m)/2;try{s.drawImage(n,_,D,c,m)}catch{}}function Fn(s,n,a,i){s.fillStyle="#0b0b0b",s.fillRect(0,0,a,i);const r=n.filter(c=>c.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA);if(r.length===0)return;if(r.length===1){me(s,r[0],0,0,a,i);return}const u=Math.ceil(Math.sqrt(r.length)),f=Math.ceil(r.length/u),d=a/u,g=i/f;r.forEach((c,m)=>{const _=m%u,D=Math.floor(m/u);me(s,c,_*d,D*g,d,g)})}function Gn(s){const n=new Set,a=[];for(const i of s){const r=i.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(s){var i;const n=new Set,a=[];for(const r of s){if(r.readyState{const g=[];for(const c of d)n.has(c)||(n.add(c),g.push(c));return g},i=[...s.querySelectorAll("video")];if(i.length>0)return a(i);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 g=d.srcObject;return g instanceof MediaStream?g.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(i=>{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,i(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,i(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])),i=this.audioCtx.createGain();i.gain.value=1.25,a.connect(i),i.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(i=>i.stop());return}if(this.micStream){a.getTracks().forEach(i=>i.stop());return}this.micStream=a;for(const i of a.getAudioTracks())this.connectTrackToMixer(i)}).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"),i=[...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 i)r.has(d)||(r.add(d),u.push(d));for(const d of u){const g=d.srcObject;if(g instanceof MediaStream)for(const c of g.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=qn();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 g=()=>{var m,_;if(!this.ctx||!this.canvas||!this.container)return;this.wireIncomingAudio();const c=Ot(this.container);Fn(this.ctx,c,this.canvas.width,this.canvas.height),(_=(m=this.canvasVideoTrack)==null?void 0:m.requestFrame)==null||_.call(m),this.rafId=requestAnimationFrame(g)};this.rafId=requestAnimationFrame(g);try{this.mediaRecorder.start(250)}catch{return this.reset(),!1}return!0}buildStreamWithoutMixer(n,a){const i=new Set,r=[],u=f=>{for(const d of f)i.has(d.id)||(i.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(s){const n=s.srcObject;return n instanceof MediaStream?n.getVideoTracks().some(a=>a.readyState==="live"):!1}function et(s){const n=s.getBoundingClientRect();return Math.max(0,n.width)*Math.max(0,n.height)}function ge(s){const n=s.videoWidth||s.clientWidth,a=s.videoHeight||s.clientHeight;return n*a}function Qn(s){const n=new Map,a=new Map;for(const i of s){const r=i.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(i),g=a.get(f)??0;d>=g&&(n.set(f,i),a.set(f,d))}return n.size===0?s:Array.from(n.values())}function Zn(s){if(s.length<2)return s;let n=0;for(const i of s)n=Math.max(n,et(i));return n<=1||Math.min(...s.map(i=>et(i)))/n>=.25?s:s.filter(i=>et(i)>=n*.25)}function to(s){let n=s;for(let a=0;a<12&&n;a++){const i=getComputedStyle(n).transform;if(i&&i!=="none"&&(/matrix\(\s*-1\s*,/.test(i)||/scaleX\(\s*-1/.test(i)))return!0;n=n.parentElement}return!1}function eo(s){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 i=s;for(let r=0;r<20&&i;r++){const u=`${i.className||""} ${i.id||""} ${i.getAttribute("data-type")||""}`;if(a.test(u))return!1;if(n.test(u))return!0;i=i.parentElement}return!1}async function no(s,n){const a=(n==null?void 0:n.preferRemote)!==!1,i=[s,...(n==null?void 0:n.extraRoots)||[]].filter(p=>!!p),r=new Set;for(const p of i)for(const w of p.querySelectorAll("video"))w instanceof HTMLVideoElement&&r.add(w);if(r.size===0){const p=document.querySelector(".chat-dialog-call-kit-wrapper");if(p)for(const w of p.querySelectorAll("video"))w instanceof HTMLVideoElement&&r.add(w)}r.size===0&&document.body.querySelectorAll("video").forEach(p=>{p instanceof HTMLVideoElement&&he(p)&&r.add(p)});let u=Array.from(r).filter(p=>p.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&he(p));if(u.length===0&&(u=Array.from(r).filter(p=>p.readyState>=2)),u.length===0)return null;u=Qn(u);let f=null,d=0,g=0;if(a){const p=u.map(C=>({v:C,layout:et(C),pixel:ge(C),localClass:eo(C),mirror:to(C)}));let w=p.filter(C=>!C.localClass&&!C.mirror);w.length===0&&(w=p.filter(C=>!C.localClass)),w.length===0&&(w=p.filter(C=>!C.mirror)),w.length===0&&(w=p);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>g)&&(d=C.layout,g=C.pixel,f=C.v)}else for(const p of u){const w=et(p),O=ge(p);(w>d||w===d&&O>g)&&(d=w,g=O,f=p)}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 D=_.getContext("2d");if(!D)return null;try{D.drawImage(f,0,0,c,m)}catch{return null}return new Promise(p=>{_.toBlob(w=>p(w),"image/jpeg",.92)})}function oo(s){const n=[];let a=s,i=0;for(;a!=null&&i<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}i++}return n.join(" ").toLowerCase()}const pe=-1001;function tt(s){if(s&&typeof s=="object"){const a=s,i=a.code??a.error_code;if(i===pe||i===String(pe))return!0}const n=oo(s);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(s,n="通话操作失败"){return tt(s)?Ce():s instanceof Error?s.message||n:typeof s=="string"&&s||n}const so={key:0,class:"chat-uikit-custom-msg"},io={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=we({inheritAttrs:!1,__name:"ChatMessageItem",props:{message:{}},setup(s){const n=s,a=on();function i(c){if(!c||typeof c!="object")return null;const m=c,_=m.data;if(typeof _=="string")return _;if(_&&typeof _=="object")return JSON.stringify(_);const D=m.extension;return typeof D=="string"&&D.trim().startsWith("{")?D:null}const r=G(()=>{var m;const c=(m=n.message)==null?void 0:m.type;return!!(c===rn.CUSTOM||typeof c=="string"&&/custom/i.test(c))}),u=G(()=>{var m;if(!r.value)return null;const c=(m=i(n.message.payload))==null?void 0:m.trim();return c?jn(c):null}),f=G(()=>r.value&&!!u.value),d=G(()=>{const c=n.message.payload,m=c==null?void 0:c.description;return typeof m=="string"&&m.trim()?m.trim():""}),g=G(()=>{var m;const c=(m=i(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",so,[u.value.tag?(R(),H("span",io,F(u.value.tag),1)):B("",!0),A("div",ro,F(u.value.main),1),u.value.sub?(R(),H("div",lo,F(u.value.sub),1)):B("",!0)])):r.value&&d.value?(R(),H("div",co,[A("div",uo,F(d.value),1)])):r.value?(R(),H("div",fo,[m[0]||(m[0]=A("div",{class:"chat-uikit-custom-msg__main"},"系统消息",-1)),g.value?(R(),H("div",mo,F(g.value),1)):B("",!0)])):(R(),q(E(an),sn({key:3},E(a),{message:s.message}),null,16,["message"]))}}),go=Se(ho,[["__scopeId","data-v-09aaa469"]]);function po(s){if(s==null)return null;if(typeof s=="object"&&!Array.isArray(s))return s;if(typeof s!="string")return null;const n=s.trim();if(!n.startsWith("{"))return null;try{return JSON.parse(n)}catch{return null}}function ve(s){const n=s.toLowerCase();return["hangup","cancel","reject","timeout","linebusy","end"].includes(n)}function vo(s){const n=s.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=po(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 i=JSON.stringify(a);return!!(i.includes("call_engine_srv")&&/hangup|call_end|CALL_END|reject|cancel/i.test(i))}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,Do=we({__name:"index",setup(s,{expose:n}){const a=y(""),i=y(!1),r=y(!1),u=y(!1),f=y(""),d=y(""),g=y(null),c=y(null),m=y("正在初始化..."),_=y(""),D=y(""),p=y(!1),w=y(!1),{login:O}=Pn(),{setActiveConversation:C,createC2CConversation:Te,activeConversation:Ee}=xn(),Ae=Bn(),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,gt=Promise.resolve(),kt=null;function J(){Y&&(clearTimeout(Y),Y=null)}function bt(e){At.value=!!(e!=null&&e.isLochostVod)}function pt(){return at||(at=(async()=>{if(J(),ot.value=!1,!At.value)return;P.beginStopNow();const e=kt??c.value;try{await gt}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 On({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=x).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(!(g.value==null||c.value==null)){await Ht();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=x).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=x,o=t.hangup;typeof o=="function"&&(e.__zytHangupPreStop__=!0,t.hangup=function(...h){return P.beginStopNow(),o.apply(x,h)})}function zt(){var v,T;const e=window;if(e.__zytTrtcPreStop__)return;const t=(T=(v=x).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 st=[],it=null,Bt=0;async function yt(){const e=kt??c.value;if(e==null){console.warn("[chat-dialog] endCall 跳过:无诊单 ID(快照与当前均为空)");return}try{await Kn({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,it)}catch(t){console.warn("[chat-dialog] 绑定 IM 挂断监听失败",t)}}function Mt(){var e,t;if(it){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,it)}catch{}it=null}}function De(){var e,t;try{const o=(t=(e=x).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),st.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),st.push({event:k,fn:h})}catch(o){console.warn("[chat-dialog] 绑定引擎房间事件失败",o)}}function xe(){var e,t;try{const o=(t=(e=x).getTUICallEngineInstance)==null?void 0:t.call(e);if(!(o!=null&&o.off)){st=[];return}for(const{event:l,fn:h}of st)o.off(l,h);o.__zytRoomEvents=!1}catch{}st=[]}function Ue(){const e=window;if(e.__zytTUICallRoomHooks__)return;e.__zytTUICallRoomHooks__=!0;const t=x,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 gt}catch{}if(g.value==null||c.value==null)return;const t=`${c.value}:${e}`;if(t===nt.value){Q();return}nt.value=t;try{const o=await $n({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(g.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 Ht();const t=Rt();if(t){await rt(t);return}be()}async function Pe(){if(!(g.value==null||c.value==null))try{await zn({diagnosis_id:c.value,patient_id:g.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 pt()))(),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=xt.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||!p.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=x).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||!p.value||tt(h)&<()},l.on("error",j)}catch(l){console.warn("绑定 TUICallEngine error 监听失败:",l)}}function Ke(){var e,t;try{const o=(t=(e=x).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 qt=e=>{!r.value||!p.value||tt(e.reason)&<()};ln(()=>{He(),window.addEventListener("unhandledrejection",qt)}),cn(()=>{J(),P.reset(),K==null||K(),xe(),Mt(),Ne(),Ke(),window.removeEventListener("unhandledrejection",qt)});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)}};un(()=>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 Nt({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,i.value=!1,wt.value=100,St.value=80,Qt(),d.value=e.patientName,g.value=e.patientId,c.value=e.diagnosisId||null,f.value="",u.value=!1,p.value=!1,w.value=!1,m.value="正在获取签名...";try{const t=await Nt({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 x.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)&<()}}p.value=!!window.__TUICallKitInited__,p.value&&(x.setCallback({beforeCalling:()=>{zt(),J(),P.reset(),ot.value=!1,It++,kt=c.value,Qt(),w.value=!0,gt=Pe()},afterCalling:()=>{P.beginStopNow(),(async()=>(await yt(),w.value=!1,await pt()))()}}),Ue(),Re(),Me(),zt(),De(),Ve(),Oe()),console.log("Chat UIKit 登录成功,患者用户ID:",_.value),m.value="加载聊天界面...",setTimeout(async()=>{var h;u.value=!0,await Ht(),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);D.value=v.conversationID,console.log("已创建/获取会话:",D.value),C(D.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(!p.value){M.msgWarning("通话服务初始化中,请稍后再试");return}if(!_.value){M.msgWarning("未找到患者通话ID,无法发起群视频");return}try{if(!a.value){console.warn("assistant_id 为空,尝试重新获取");const t=await Nt({patient_id:g.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 x.calls({userIDList:e,type:Un.VIDEO_CALL})}catch(e){console.error("发起群视频失败:",e),tt(e)?lt():M.msgError(ao(e,"发起群视频失败"))}},We=y(),wt=y(100),St=y(80),Dt=y(!1),Ft=y(0),Gt=y(0),Xt=y(0),Yt=y(0),Jt=y(),xt=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),qe=G(()=>({left:`${Ct.value}px`,top:`${Tt.value}px`})),Fe=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(g.value==null){M.msgWarning("缺少患者信息,无法同步舌苔照片");return}const e=Jt.value,t=xt.value,o=e||t;if(!o)return;const l=await no(o,{extraRoots:[t].filter(Boolean)});if(!l){M.msgWarning("截屏失败,请确认视频画面已加载");return}const h=await Vn(l,`callshot-${Date.now()}.jpg`),v=h.url||h.uri;if(!v){M.msgError("上传未返回图片路径");return}if(c.value==null){M.msgWarning("请先保存诊单后再从视频同步舌苔照片");return}await Nn({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(p.value)try{P.beginStopNow(),await pt(),await x.hangup()}catch(e){console.warn("关闭视频窗口时挂断失败:",e)}w.value=!1},Ye=G(()=>({left:`${wt.value}px`,top:`${St.value}px`})),Je=e=>{const t=e.target;t.closest(".chat-close-btn")||t.closest(".chat-header-actions")||(Dt.value=!0,Ft.value=e.clientX,Gt.value=e.clientY,Xt.value=wt.value,Yt.value=St.value,document.addEventListener("mousemove",se),document.addEventListener("mouseup",ie))},se=e=>{Dt.value&&(wt.value=Math.max(0,Xt.value+e.clientX-Ft.value),St.value=Math.max(0,Yt.value+e.clientY-Gt.value))},ie=()=>{Dt.value=!1,document.removeEventListener("mousemove",se),document.removeEventListener("mouseup",ie)},Qe=async()=>{if(Mt(),p.value){const e=$.getData(z.CALL,N.CALL_STATUS);if(e===ht||e===W)try{P.beginStopNow(),await pt(),await x.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=dn,l=fn,h=mn,v=vn;return R(),q(Dn,{to:"body"},[Pt(A("div",{ref_key:"chatWindowRef",ref:We,class:Ln(["chat-floating-window",{"chat-floating-window--minimized":i.value}]),style:de(Ye.value)},[A("div",{class:"chat-window-header",onMousedown:Je},[A("span",{class:"chat-window-title",title:d.value},"与 "+F(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}),i.value?(R(),q(h,{key:1,content:"展开聊天窗口",placement:"top"},{default:b(()=>[S(l,{type:"primary",link:"",class:"chat-expand-btn",onClick:t[1]||(t[1]=T=>i.value=!1)},{default:b(()=>[S(o,null,{default:b(()=>[S(E(gn))]),_:1}),t[6]||(t[6]=A("span",{class:"chat-header-btn-text"},"展开",-1))]),_:1})]),_:1})):(R(),q(h,{key:0,content:"缩小为标题条,不关闭会话",placement:"top"},{default:b(()=>[S(l,{type:"primary",link:"",class:"chat-minimize-btn",onClick:t[0]||(t[0]=T=>i.value=!0)},{default:b(()=>[S(o,null,{default:b(()=>[S(E(hn))]),_:1}),t[5]||(t[5]=A("span",{class:"chat-header-btn-text"},"缩小",-1))]),_:1})]),_:1}))],32)],32),Pt(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(kn),{language:"zh-CN",theme:"light"},{default:b(()=>[A("div",To,[S(E(yn),{class:"chat-area"},{default:b(()=>[S(E(_n),{conversationID:D.value,Message:go},null,8,["conversationID"]),S(E(wn),null,{headerToolbar:b(()=>[A("div",Eo,[S(E(Sn)),S(E(Cn)),S(E(Tn)),p.value?(R(),q(E(En),{key:0})):B("",!0),p.value?(R(),q(E(An),{key:1})):B("",!0),p.value?(R(),q(l,{key:2,size:"small",type:"primary",onClick:je},{default:b(()=>[...t[7]||(t[7]=[In(" 群视频 ",-1)])]),_:1})):B("",!0)])]),_:1})]),_:1})])]),_:1})])):(R(),H("div",wo,[S(o,{class:"is-loading"},{default:b(()=>[S(E(pn))]),_:1}),A("span",null,F(m.value),1)]))],512),[[Vt,!i.value]]),p.value?Pt((R(),H("div",{key:0,ref_key:"callKitWrapperRef",ref:Jt,class:"chat-dialog-call-kit-wrapper",style:de(qe.value)},[A("div",{class:"call-kit-drag-handle",onMousedown:Fe},[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(bn))]),_: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(Rn))]),_:1})])],32),A("div",{ref_key:"callKitContentRef",ref:xt,class:"call-kit-content"},[S(E(Mn),{allowedMinimized:!0,allowedFullScreen:!0,class:"chat-dialog-call-kit"})],512)],4)),[[Vt,w.value]]):B("",!0)],6),[[Vt,r.value]])])}}}),Go=Se(Do,[["__scopeId","data-v-05281771"]]);export{Go as default}; +var en=Object.defineProperty;var nn=(s,n,a)=>n in s?en(s,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[n]=a;var L=(s,n,a)=>nn(s,typeof n!="symbol"?n+"":n,a);import{o as we,dd as on,q as R,r as H,T as F,P as B,s as A,O as q,u as E,de as an,a7 as sn,p as G,df as rn,ap as ln,aq as cn,R as un,ac as Pt,ad as Vt,aw as dt,v as S,D as b,w as dn,av as ue,K as fn,a1 as mn,dg as hn,dh as gn,b5 as pn,bh as vn,di as yn,dj as _n,dk as wn,dl as Sn,dm as Cn,dn as Tn,dp as En,dq as An,L as In,dr as kn,ds as bn,dt as Rn,d4 as Mn,t as de,ae as Ln,ar as Dn,M as y,du as xn,d3 as x,n as Ht,dv as Un,d5 as $,d6 as z,d7 as N,dw as Pn}from"./.pnpm-9dA1PEvN.js";import{u as Vn,l as Hn}from"./file-BL6iPgPC.js";import{a as Nn}from"./patient-Btpwd7dp.js";import{R as Nt,af as On,aB as Kn,aC as $n,aD as zn}from"./tcm-Fi_swgCr.js";import{_ as Se,u as Bn,i as M}from"./index-BWzN7QIb.js";import{p as jn}from"./im-business-message-parse-DmDISFGN.js";import{T as Z}from"./@tencentcloud/chat-Clb_yWS-.js";import{X as fe}from"./@tencentcloud/chat-uikit-engine-CE484eWV.js";import{c as ft}from"./@tencentcloud/call-engine-js-BSW3L4hf.js";import"./dayjs-BsOAYQJw.js";import"./tim-upload-plugin-CQ0SshXS.js";import"./tim-profanity-filter-plugin-M-EFi4_K.js";import"./rtc-detect-DLSGS3ox.js";function Wn(){const s=["video/webm;codecs=vp9,opus","video/webm;codecs=vp8,opus","video/webm;codecs=vp9","video/webm;codecs=vp8","video/webm"];for(const n of s)if(MediaRecorder.isTypeSupported(n))return n;return""}function qn(){const s=window;return s.AudioContext||s.webkitAudioContext||null}function me(s,n,a,i,r,u){const f=n.videoWidth||n.clientWidth||1,d=n.videoHeight||n.clientHeight||1,g=Math.max(r/f,u/d),c=f*g,m=d*g,_=a+(r-c)/2,D=i+(u-m)/2;try{s.drawImage(n,_,D,c,m)}catch{}}function Fn(s,n,a,i){s.fillStyle="#0b0b0b",s.fillRect(0,0,a,i);const r=n.filter(c=>c.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA);if(r.length===0)return;if(r.length===1){me(s,r[0],0,0,a,i);return}const u=Math.ceil(Math.sqrt(r.length)),f=Math.ceil(r.length/u),d=a/u,g=i/f;r.forEach((c,m)=>{const _=m%u,D=Math.floor(m/u);me(s,c,_*d,D*g,d,g)})}function Gn(s){const n=new Set,a=[];for(const i of s){const r=i.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(s){var i;const n=new Set,a=[];for(const r of s){if(r.readyState{const g=[];for(const c of d)n.has(c)||(n.add(c),g.push(c));return g},i=[...s.querySelectorAll("video")];if(i.length>0)return a(i);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 g=d.srcObject;return g instanceof MediaStream?g.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(i=>{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,i(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,i(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])),i=this.audioCtx.createGain();i.gain.value=1.25,a.connect(i),i.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(i=>i.stop());return}if(this.micStream){a.getTracks().forEach(i=>i.stop());return}this.micStream=a;for(const i of a.getAudioTracks())this.connectTrackToMixer(i)}).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"),i=[...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 i)r.has(d)||(r.add(d),u.push(d));for(const d of u){const g=d.srcObject;if(g instanceof MediaStream)for(const c of g.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=qn();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 g=()=>{var m,_;if(!this.ctx||!this.canvas||!this.container)return;this.wireIncomingAudio();const c=Ot(this.container);Fn(this.ctx,c,this.canvas.width,this.canvas.height),(_=(m=this.canvasVideoTrack)==null?void 0:m.requestFrame)==null||_.call(m),this.rafId=requestAnimationFrame(g)};this.rafId=requestAnimationFrame(g);try{this.mediaRecorder.start(250)}catch{return this.reset(),!1}return!0}buildStreamWithoutMixer(n,a){const i=new Set,r=[],u=f=>{for(const d of f)i.has(d.id)||(i.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(s){const n=s.srcObject;return n instanceof MediaStream?n.getVideoTracks().some(a=>a.readyState==="live"):!1}function et(s){const n=s.getBoundingClientRect();return Math.max(0,n.width)*Math.max(0,n.height)}function ge(s){const n=s.videoWidth||s.clientWidth,a=s.videoHeight||s.clientHeight;return n*a}function Qn(s){const n=new Map,a=new Map;for(const i of s){const r=i.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(i),g=a.get(f)??0;d>=g&&(n.set(f,i),a.set(f,d))}return n.size===0?s:Array.from(n.values())}function Zn(s){if(s.length<2)return s;let n=0;for(const i of s)n=Math.max(n,et(i));return n<=1||Math.min(...s.map(i=>et(i)))/n>=.25?s:s.filter(i=>et(i)>=n*.25)}function to(s){let n=s;for(let a=0;a<12&&n;a++){const i=getComputedStyle(n).transform;if(i&&i!=="none"&&(/matrix\(\s*-1\s*,/.test(i)||/scaleX\(\s*-1/.test(i)))return!0;n=n.parentElement}return!1}function eo(s){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 i=s;for(let r=0;r<20&&i;r++){const u=`${i.className||""} ${i.id||""} ${i.getAttribute("data-type")||""}`;if(a.test(u))return!1;if(n.test(u))return!0;i=i.parentElement}return!1}async function no(s,n){const a=(n==null?void 0:n.preferRemote)!==!1,i=[s,...(n==null?void 0:n.extraRoots)||[]].filter(p=>!!p),r=new Set;for(const p of i)for(const w of p.querySelectorAll("video"))w instanceof HTMLVideoElement&&r.add(w);if(r.size===0){const p=document.querySelector(".chat-dialog-call-kit-wrapper");if(p)for(const w of p.querySelectorAll("video"))w instanceof HTMLVideoElement&&r.add(w)}r.size===0&&document.body.querySelectorAll("video").forEach(p=>{p instanceof HTMLVideoElement&&he(p)&&r.add(p)});let u=Array.from(r).filter(p=>p.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&he(p));if(u.length===0&&(u=Array.from(r).filter(p=>p.readyState>=2)),u.length===0)return null;u=Qn(u);let f=null,d=0,g=0;if(a){const p=u.map(C=>({v:C,layout:et(C),pixel:ge(C),localClass:eo(C),mirror:to(C)}));let w=p.filter(C=>!C.localClass&&!C.mirror);w.length===0&&(w=p.filter(C=>!C.localClass)),w.length===0&&(w=p.filter(C=>!C.mirror)),w.length===0&&(w=p);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>g)&&(d=C.layout,g=C.pixel,f=C.v)}else for(const p of u){const w=et(p),O=ge(p);(w>d||w===d&&O>g)&&(d=w,g=O,f=p)}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 D=_.getContext("2d");if(!D)return null;try{D.drawImage(f,0,0,c,m)}catch{return null}return new Promise(p=>{_.toBlob(w=>p(w),"image/jpeg",.92)})}function oo(s){const n=[];let a=s,i=0;for(;a!=null&&i<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}i++}return n.join(" ").toLowerCase()}const pe=-1001;function tt(s){if(s&&typeof s=="object"){const a=s,i=a.code??a.error_code;if(i===pe||i===String(pe))return!0}const n=oo(s);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(s,n="通话操作失败"){return tt(s)?Ce():s instanceof Error?s.message||n:typeof s=="string"&&s||n}const so={key:0,class:"chat-uikit-custom-msg"},io={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=we({inheritAttrs:!1,__name:"ChatMessageItem",props:{message:{}},setup(s){const n=s,a=on();function i(c){if(!c||typeof c!="object")return null;const m=c,_=m.data;if(typeof _=="string")return _;if(_&&typeof _=="object")return JSON.stringify(_);const D=m.extension;return typeof D=="string"&&D.trim().startsWith("{")?D:null}const r=G(()=>{var m;const c=(m=n.message)==null?void 0:m.type;return!!(c===rn.CUSTOM||typeof c=="string"&&/custom/i.test(c))}),u=G(()=>{var m;if(!r.value)return null;const c=(m=i(n.message.payload))==null?void 0:m.trim();return c?jn(c):null}),f=G(()=>r.value&&!!u.value),d=G(()=>{const c=n.message.payload,m=c==null?void 0:c.description;return typeof m=="string"&&m.trim()?m.trim():""}),g=G(()=>{var m;const c=(m=i(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",so,[u.value.tag?(R(),H("span",io,F(u.value.tag),1)):B("",!0),A("div",ro,F(u.value.main),1),u.value.sub?(R(),H("div",lo,F(u.value.sub),1)):B("",!0)])):r.value&&d.value?(R(),H("div",co,[A("div",uo,F(d.value),1)])):r.value?(R(),H("div",fo,[m[0]||(m[0]=A("div",{class:"chat-uikit-custom-msg__main"},"系统消息",-1)),g.value?(R(),H("div",mo,F(g.value),1)):B("",!0)])):(R(),q(E(an),sn({key:3},E(a),{message:s.message}),null,16,["message"]))}}),go=Se(ho,[["__scopeId","data-v-09aaa469"]]);function po(s){if(s==null)return null;if(typeof s=="object"&&!Array.isArray(s))return s;if(typeof s!="string")return null;const n=s.trim();if(!n.startsWith("{"))return null;try{return JSON.parse(n)}catch{return null}}function ve(s){const n=s.toLowerCase();return["hangup","cancel","reject","timeout","linebusy","end"].includes(n)}function vo(s){const n=s.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=po(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 i=JSON.stringify(a);return!!(i.includes("call_engine_srv")&&/hangup|call_end|CALL_END|reject|cancel/i.test(i))}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,Do=we({__name:"index",setup(s,{expose:n}){const a=y(""),i=y(!1),r=y(!1),u=y(!1),f=y(""),d=y(""),g=y(null),c=y(null),m=y("正在初始化..."),_=y(""),D=y(""),p=y(!1),w=y(!1),{login:O}=Pn(),{setActiveConversation:C,createC2CConversation:Te,activeConversation:Ee}=xn(),Ae=Bn(),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,gt=Promise.resolve(),kt=null;function J(){Y&&(clearTimeout(Y),Y=null)}function bt(e){At.value=!!(e!=null&&e.isLochostVod)}function pt(){return at||(at=(async()=>{if(J(),ot.value=!1,!At.value)return;P.beginStopNow();const e=kt??c.value;try{await gt}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 On({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=x).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(!(g.value==null||c.value==null)){await Ht();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=x).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=x,o=t.hangup;typeof o=="function"&&(e.__zytHangupPreStop__=!0,t.hangup=function(...h){return P.beginStopNow(),o.apply(x,h)})}function zt(){var v,T;const e=window;if(e.__zytTrtcPreStop__)return;const t=(T=(v=x).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 st=[],it=null,Bt=0;async function yt(){const e=kt??c.value;if(e==null){console.warn("[chat-dialog] endCall 跳过:无诊单 ID(快照与当前均为空)");return}try{await Kn({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,it)}catch(t){console.warn("[chat-dialog] 绑定 IM 挂断监听失败",t)}}function Mt(){var e,t;if(it){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,it)}catch{}it=null}}function De(){var e,t;try{const o=(t=(e=x).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),st.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),st.push({event:k,fn:h})}catch(o){console.warn("[chat-dialog] 绑定引擎房间事件失败",o)}}function xe(){var e,t;try{const o=(t=(e=x).getTUICallEngineInstance)==null?void 0:t.call(e);if(!(o!=null&&o.off)){st=[];return}for(const{event:l,fn:h}of st)o.off(l,h);o.__zytRoomEvents=!1}catch{}st=[]}function Ue(){const e=window;if(e.__zytTUICallRoomHooks__)return;e.__zytTUICallRoomHooks__=!0;const t=x,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 gt}catch{}if(g.value==null||c.value==null)return;const t=`${c.value}:${e}`;if(t===nt.value){Q();return}nt.value=t;try{const o=await $n({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(g.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 Ht();const t=Rt();if(t){await rt(t);return}be()}async function Pe(){if(!(g.value==null||c.value==null))try{await zn({diagnosis_id:c.value,patient_id:g.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 pt()))(),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=xt.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||!p.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=x).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||!p.value||tt(h)&<()},l.on("error",j)}catch(l){console.warn("绑定 TUICallEngine error 监听失败:",l)}}function Ke(){var e,t;try{const o=(t=(e=x).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 qt=e=>{!r.value||!p.value||tt(e.reason)&<()};ln(()=>{He(),window.addEventListener("unhandledrejection",qt)}),cn(()=>{J(),P.reset(),K==null||K(),xe(),Mt(),Ne(),Ke(),window.removeEventListener("unhandledrejection",qt)});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)}};un(()=>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 Nt({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,i.value=!1,wt.value=100,St.value=80,Qt(),d.value=e.patientName,g.value=e.patientId,c.value=e.diagnosisId||null,f.value="",u.value=!1,p.value=!1,w.value=!1,m.value="正在获取签名...";try{const t=await Nt({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 x.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)&<()}}p.value=!!window.__TUICallKitInited__,p.value&&(x.setCallback({beforeCalling:()=>{zt(),J(),P.reset(),ot.value=!1,It++,kt=c.value,Qt(),w.value=!0,gt=Pe()},afterCalling:()=>{P.beginStopNow(),(async()=>(await yt(),w.value=!1,await pt()))()}}),Ue(),Re(),Me(),zt(),De(),Ve(),Oe()),console.log("Chat UIKit 登录成功,患者用户ID:",_.value),m.value="加载聊天界面...",setTimeout(async()=>{var h;u.value=!0,await Ht(),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);D.value=v.conversationID,console.log("已创建/获取会话:",D.value),C(D.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(!p.value){M.msgWarning("通话服务初始化中,请稍后再试");return}if(!_.value){M.msgWarning("未找到患者通话ID,无法发起群视频");return}try{if(!a.value){console.warn("assistant_id 为空,尝试重新获取");const t=await Nt({patient_id:g.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 x.calls({userIDList:e,type:Un.VIDEO_CALL})}catch(e){console.error("发起群视频失败:",e),tt(e)?lt():M.msgError(ao(e,"发起群视频失败"))}},We=y(),wt=y(100),St=y(80),Dt=y(!1),Ft=y(0),Gt=y(0),Xt=y(0),Yt=y(0),Jt=y(),xt=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),qe=G(()=>({left:`${Ct.value}px`,top:`${Tt.value}px`})),Fe=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(g.value==null){M.msgWarning("缺少患者信息,无法同步舌苔照片");return}const e=Jt.value,t=xt.value,o=e||t;if(!o)return;const l=await no(o,{extraRoots:[t].filter(Boolean)});if(!l){M.msgWarning("截屏失败,请确认视频画面已加载");return}const h=await Vn(l,`callshot-${Date.now()}.jpg`),v=h.url||h.uri;if(!v){M.msgError("上传未返回图片路径");return}if(c.value==null){M.msgWarning("请先保存诊单后再从视频同步舌苔照片");return}await Nn({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(p.value)try{P.beginStopNow(),await pt(),await x.hangup()}catch(e){console.warn("关闭视频窗口时挂断失败:",e)}w.value=!1},Ye=G(()=>({left:`${wt.value}px`,top:`${St.value}px`})),Je=e=>{const t=e.target;t.closest(".chat-close-btn")||t.closest(".chat-header-actions")||(Dt.value=!0,Ft.value=e.clientX,Gt.value=e.clientY,Xt.value=wt.value,Yt.value=St.value,document.addEventListener("mousemove",se),document.addEventListener("mouseup",ie))},se=e=>{Dt.value&&(wt.value=Math.max(0,Xt.value+e.clientX-Ft.value),St.value=Math.max(0,Yt.value+e.clientY-Gt.value))},ie=()=>{Dt.value=!1,document.removeEventListener("mousemove",se),document.removeEventListener("mouseup",ie)},Qe=async()=>{if(Mt(),p.value){const e=$.getData(z.CALL,N.CALL_STATUS);if(e===ht||e===W)try{P.beginStopNow(),await pt(),await x.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=dn,l=fn,h=mn,v=vn;return R(),q(Dn,{to:"body"},[Pt(A("div",{ref_key:"chatWindowRef",ref:We,class:Ln(["chat-floating-window",{"chat-floating-window--minimized":i.value}]),style:de(Ye.value)},[A("div",{class:"chat-window-header",onMousedown:Je},[A("span",{class:"chat-window-title",title:d.value},"与 "+F(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}),i.value?(R(),q(h,{key:1,content:"展开聊天窗口",placement:"top"},{default:b(()=>[S(l,{type:"primary",link:"",class:"chat-expand-btn",onClick:t[1]||(t[1]=T=>i.value=!1)},{default:b(()=>[S(o,null,{default:b(()=>[S(E(gn))]),_:1}),t[6]||(t[6]=A("span",{class:"chat-header-btn-text"},"展开",-1))]),_:1})]),_:1})):(R(),q(h,{key:0,content:"缩小为标题条,不关闭会话",placement:"top"},{default:b(()=>[S(l,{type:"primary",link:"",class:"chat-minimize-btn",onClick:t[0]||(t[0]=T=>i.value=!0)},{default:b(()=>[S(o,null,{default:b(()=>[S(E(hn))]),_:1}),t[5]||(t[5]=A("span",{class:"chat-header-btn-text"},"缩小",-1))]),_:1})]),_:1}))],32)],32),Pt(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(kn),{language:"zh-CN",theme:"light"},{default:b(()=>[A("div",To,[S(E(yn),{class:"chat-area"},{default:b(()=>[S(E(_n),{conversationID:D.value,Message:go},null,8,["conversationID"]),S(E(wn),null,{headerToolbar:b(()=>[A("div",Eo,[S(E(Sn)),S(E(Cn)),S(E(Tn)),p.value?(R(),q(E(En),{key:0})):B("",!0),p.value?(R(),q(E(An),{key:1})):B("",!0),p.value?(R(),q(l,{key:2,size:"small",type:"primary",onClick:je},{default:b(()=>[...t[7]||(t[7]=[In(" 群视频 ",-1)])]),_:1})):B("",!0)])]),_:1})]),_:1})])]),_:1})])):(R(),H("div",wo,[S(o,{class:"is-loading"},{default:b(()=>[S(E(pn))]),_:1}),A("span",null,F(m.value),1)]))],512),[[Vt,!i.value]]),p.value?Pt((R(),H("div",{key:0,ref_key:"callKitWrapperRef",ref:Jt,class:"chat-dialog-call-kit-wrapper",style:de(qe.value)},[A("div",{class:"call-kit-drag-handle",onMousedown:Fe},[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(bn))]),_: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(Rn))]),_:1})])],32),A("div",{ref_key:"callKitContentRef",ref:xt,class:"call-kit-content"},[S(E(Mn),{allowedMinimized:!0,allowedFullScreen:!0,class:"chat-dialog-call-kit"})],512)],4)),[[Vt,w.value]]):B("",!0)],6),[[Vt,r.value]])])}}}),Go=Se(Do,[["__scopeId","data-v-05281771"]]);export{Go as default}; diff --git a/server/public/admin/assets/index-B8ylXmJ_.css b/server/public/admin/assets/index-B8ylXmJ_.css deleted file mode 100644 index f8e2b903..00000000 --- a/server/public/admin/assets/index-B8ylXmJ_.css +++ /dev/null @@ -1 +0,0 @@ -@charset "UTF-8";.prescription-list[data-v-563a78de]{padding:12px 16px 20px}.filter-toolbar[data-v-563a78de]{border-radius:8px;border:1px solid var(--el-border-color-lighter);background:var(--el-fill-color-blank)}.pl-toolbar[data-v-563a78de]{display:flex;flex-direction:column;gap:8px}.pl-toolbar__line[data-v-563a78de]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.pl-toolbar__line--second[data-v-563a78de]{padding-top:2px;border-top:1px dashed var(--el-border-color-lighter);justify-content:flex-start}.pl-toolbar__k[data-v-563a78de]{flex-shrink:0;font-size:12px;font-weight:500;color:var(--el-text-color-secondary);line-height:1}.pl-toolbar__sep[data-v-563a78de]{width:1px;height:18px;background:var(--el-border-color);opacity:.7;margin:0 2px}.pl-toolbar__rg[data-v-563a78de]{flex-wrap:wrap}.pl-toolbar__rg[data-v-563a78de] .el-radio-button__inner{padding:5px 10px;font-size:12px}.pl-toolbar__rg--audit[data-v-563a78de] .pl-audit-pending-btn .el-radio-button__inner{font-weight:600;padding:6px 14px;font-size:13px}.pl-toolbar__rg--audit[data-v-563a78de] .pl-audit-pending-btn:not(.is-active) .el-radio-button__inner{color:var(--el-color-primary);border-color:var(--el-color-primary-light-5);background:var(--el-color-primary-light-9)}.pl-toolbar__rg--audit[data-v-563a78de] .pl-audit-pending-btn.is-active .el-radio-button__inner{background:var(--el-color-primary)!important;border-color:var(--el-color-primary)!important;color:#fff!important;box-shadow:none}.pl-toolbar__range[data-v-563a78de]{flex:1 1 240px;min-width:220px;max-width:380px}.pl-toolbar__range[data-v-563a78de] .el-date-editor{width:100%}.pl-toolbar__range[data-v-563a78de] .el-date-editor.el-input__wrapper{min-height:30px;padding:2px 8px}.pl-toolbar__form[data-v-563a78de]{display:inline-flex;flex-wrap:wrap;align-items:center;gap:0 4px;flex:1;min-width:0}.pl-toolbar__form[data-v-563a78de] .el-form-item{margin-bottom:0;margin-right:12px}.pl-toolbar__form[data-v-563a78de] .el-form-item__label{font-size:12px;padding-right:6px}.pl-toolbar__input[data-v-563a78de]{width:132px}.pl-toolbar__select[data-v-563a78de]{width:108px}.pl-toolbar__select--doctors[data-v-563a78de]{width:min(320px,100%);min-width:200px}.pl-toolbar__actions[data-v-563a78de]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto}.table-card[data-v-563a78de]{border-radius:8px;border:1px solid var(--el-border-color-lighter)}.pl-table-head[data-v-563a78de]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.pl-table-head__title[data-v-563a78de]{font-size:16px;font-weight:600;color:var(--el-text-color-primary);letter-spacing:.02em}.cf-prescription-drawer[data-v-563a78de] .el-drawer__body{padding-top:8px;overflow-y:auto}.rx-wrap[data-v-563a78de]{min-height:160px;background:#f5f6f8;padding:12px;margin:-20px}.rx-toolbar[data-v-563a78de]{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--el-border-color-lighter);border-radius:6px;padding:8px 12px;margin-bottom:10px}.rx-toolbar .flex-1[data-v-563a78de]{flex:1}.rx-status[data-v-563a78de]{margin-bottom:10px;padding:8px 12px;border-radius:4px;font-size:13px;line-height:1.6}.rx-status-danger[data-v-563a78de]{background:#fef0f0;color:#b91c1c;border:1px solid #fecaca}.rx-paper[data-v-563a78de]{width:210mm;min-height:297mm;margin:0 auto;background:#fff;box-sizing:border-box;padding:8mm 10mm;color:#1f1f1f;font-size:13px;line-height:1.5;font-family:Microsoft YaHei,PingFang SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;box-shadow:0 0 0 1px #d6d6d6,0 6px 24px #0000000f;overflow:visible}.rx-notice[data-v-563a78de]{display:flex;align-items:center;justify-content:space-between;background:#f3f4f6;border:1px solid #e5e7eb;padding:6px 10px;border-radius:2px;font-size:12px;color:#1f1f1f;margin-bottom:6px}.rx-notice .rx-notice-text[data-v-563a78de]{flex:1}.rx-notice .rx-notice-meta[data-v-563a78de]{display:inline-flex;gap:24px;white-space:nowrap}.rx-info[data-v-563a78de]{border:1px solid #c8c8c8;border-bottom:none}.rx-info-row[data-v-563a78de]{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #c8c8c8}.rx-info-row-full[data-v-563a78de]{grid-template-columns:1fr}.rx-info-cell[data-v-563a78de]{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:13px;border-right:1px solid #c8c8c8;min-height:32px}.rx-info-cell[data-v-563a78de]:last-child{border-right:none}.rx-info-cell .rx-key[data-v-563a78de]{color:#1f1f1f;flex-shrink:0}.rx-info-cell .rx-val[data-v-563a78de]{flex:1;min-width:0;word-break:break-all}.rx-rp[data-v-563a78de]{position:relative;border-left:1px solid #c8c8c8;border-right:1px solid #c8c8c8;padding:8px 10px 16px;overflow:hidden;box-sizing:border-box;width:100%}.rx-watermark[data-v-563a78de]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:88px;font-weight:700;color:#0000000f;transform:rotate(-22deg);letter-spacing:.18em;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:0}.rx-rp-head[data-v-563a78de]{display:grid;grid-template-columns:36px 1fr;align-items:end;-moz-column-gap:8px;column-gap:8px;padding-bottom:4px;border-bottom:1px solid #d4d4d4;margin-bottom:6px;position:relative;z-index:1;width:100%;box-sizing:border-box}.rx-rp-label[data-v-563a78de]{font-size:16px;font-weight:700;color:#1f1f1f;line-height:1}.rx-rp-cols-head[data-v-563a78de]{display:grid;grid-template-columns:1fr 1fr;-moz-column-gap:24px;column-gap:24px;width:100%;box-sizing:border-box;min-width:0}.rx-rp-col-head[data-v-563a78de]{display:grid;grid-template-columns:1fr 64px;-moz-column-gap:8px;column-gap:8px;font-size:13px;color:#1f1f1f;min-width:0}.rx-rp-col-head>span[data-v-563a78de]:last-child{text-align:right}.rx-herbs[data-v-563a78de]{padding-left:44px;display:grid;grid-template-columns:1fr 1fr;-moz-column-gap:24px;column-gap:24px;row-gap:6px;position:relative;z-index:1;width:100%;box-sizing:border-box}.rx-herb-section-label[data-v-563a78de]{grid-column:1/-1;font-size:12px;font-weight:600;color:#409eff;line-height:1.4}.rx-herb-section-label--aux[data-v-563a78de]{color:#e6a23c;margin-top:4px}.herb-formula-block__head[data-v-563a78de]{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.usage-formula-title[data-v-563a78de]{font-size:13px;font-weight:600;margin:8px 0 4px;color:#409eff}.usage-formula-title--aux[data-v-563a78de]{color:#e6a23c;margin-top:12px}.rx-herb-cell[data-v-563a78de]{display:grid;grid-template-columns:1fr 64px;-moz-column-gap:8px;column-gap:8px;font-size:13px;line-height:1.85;min-width:0}.rx-herb-name[data-v-563a78de]{color:#1f1f1f;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rx-herb-total[data-v-563a78de]{color:#1f1f1f;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.rx-text[data-v-563a78de]{border:1px solid #c8c8c8;border-top:none;padding:10px 12px;font-size:13px;line-height:1.85}.rx-text p[data-v-563a78de]{margin:0}.rx-text .rx-text-warn[data-v-563a78de]{color:#d72424;font-weight:600}.rx-bottom[data-v-563a78de]{border:1px solid #c8c8c8;border-top:none}.rx-bot-row[data-v-563a78de]{display:grid;border-bottom:1px solid #c8c8c8}.rx-bot-row[data-v-563a78de]:last-child{border-bottom:none}.rx-bot-row-1[data-v-563a78de]{grid-template-columns:1.4fr .6fr .6fr .6fr .6fr 1.7fr .95fr 1.25fr;min-height:70px}.rx-bot-row-2[data-v-563a78de]{grid-template-columns:repeat(6,1fr)}.rx-bot-cell[data-v-563a78de]{border-right:1px solid #c8c8c8;padding:6px 10px;font-size:12px;color:#1f1f1f;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;min-height:32px;box-sizing:border-box}.rx-bot-cell[data-v-563a78de]:last-child{border-right:none}.rx-bot-stack[data-v-563a78de]{flex-direction:column;align-items:flex-start;justify-content:flex-start}.rx-bot-label[data-v-563a78de]{font-size:13px;color:#1f1f1f;margin-bottom:4px}.rx-bot-doctor .rx-bot-doctor-body[data-v-563a78de]{flex:1;display:flex;align-items:center;gap:6px;min-height:36px}.rx-bot-doctor .rx-bot-doctor-name[data-v-563a78de]{font-size:13px;color:#1f1f1f}.rx-bot-doctor .rx-bot-sign-img[data-v-563a78de]{max-height:40px;max-width:110px;-o-object-fit:contain;object-fit:contain}.rx-bot-meta[data-v-563a78de]{flex-wrap:nowrap}.rx-bot-meta .rx-bot-meta-key[data-v-563a78de]{color:#1f1f1f;margin-right:6px;white-space:nowrap;flex-shrink:0;line-height:1.4}.rx-bot-meta .rx-bot-meta-val[data-v-563a78de]{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;line-height:1.4}.rx-fee[data-v-563a78de]{font-size:13px;line-height:1.4;padding:8px 10px}.rx-fee .rx-fee-key[data-v-563a78de]{color:#1f1f1f;margin-right:6px;white-space:nowrap}.rx-fee .rx-fee-val[data-v-563a78de]{font-variant-numeric:tabular-nums;white-space:nowrap}.rx-fee-total[data-v-563a78de]{font-weight:700;background:#fafafa}.rx-fee-total .rx-fee-val[data-v-563a78de]{font-weight:700}.rx-audit[data-v-563a78de]{margin-top:12px;padding:8px 12px;background:#fafafa;border:1px dashed #d4d4d4;color:#6b7280;font-size:12px;line-height:1.6;border-radius:4px}.create-order-dialog[data-v-563a78de] .el-dialog__header{padding:20px 24px 12px;margin-right:0}.create-order-dialog[data-v-563a78de] .el-dialog__title{font-size:18px;font-weight:600;letter-spacing:.02em}.create-order-dialog[data-v-563a78de] .el-dialog__body{padding:8px 24px 20px;max-height:calc(100vh - 200px);overflow:hidden}.create-order-dialog[data-v-563a78de] .el-dialog__footer{padding:16px 24px 20px;border-top:1px solid var(--el-border-color-lighter);background:var(--el-fill-color-blank)}.create-order-dialog__inner[data-v-563a78de]{display:flex;flex-direction:column;gap:0}.create-order-rx-card[data-v-563a78de]{border-radius:10px;border:1px solid var(--el-color-primary-light-5);background:linear-gradient(135deg,var(--el-color-primary-light-9) 0%,var(--el-fill-color-blank) 100%);padding:16px 18px;margin-bottom:20px;box-shadow:0 1px 2px #0000000a}.create-order-rx-card__head[data-v-563a78de]{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin-bottom:10px}.create-order-rx-card__badge[data-v-563a78de]{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;color:#fff;background:var(--el-color-primary);letter-spacing:.04em}.create-order-rx-card__meta[data-v-563a78de]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:14px;color:var(--el-text-color-regular)}.create-order-rx-card__id[data-v-563a78de]{font-weight:600;color:var(--el-text-color-primary)}.create-order-rx-card__sn[data-v-563a78de]{padding:2px 8px;border-radius:4px;background:var(--el-fill-color);font-size:13px;color:var(--el-text-color-secondary)}.create-order-rx-card__patient[data-v-563a78de]{font-weight:500;color:var(--el-text-color-primary)}.create-order-rx-card__herbs[data-v-563a78de]{font-size:13px;line-height:1.55;color:var(--el-text-color-secondary);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;cursor:default;padding-top:2px}.create-order-steps[data-v-563a78de]{margin-bottom:8px;padding:8px 12px 4px}.create-order-steps[data-v-563a78de] .el-step__title{font-size:14px;font-weight:500;line-height:1.4}.create-order-steps[data-v-563a78de] .el-step__description{font-size:12px;margin-top:4px;line-height:1.35;padding-right:6px}.create-order-steps[data-v-563a78de] .el-step__head{padding-right:8px}.create-order-steps[data-v-563a78de] .el-step.is-horizontal .el-step__line{top:14px}.create-order-step-lead[data-v-563a78de]{margin:0 0 20px;padding:12px 16px;font-size:13px;line-height:1.6;color:var(--el-text-color-secondary);background:var(--el-fill-color-light);border-radius:8px;border-left:3px solid var(--el-color-primary-light-5)}.create-order-step-panel[data-v-563a78de]{max-height:min(56vh,480px);overflow-y:auto;overflow-x:hidden;padding:4px 8px 12px 4px;margin-right:-4px}.create-order-step-panel__row-after-bar[data-v-563a78de]{margin-top:20px}.create-order-unit-suffix[data-v-563a78de]{flex-shrink:0;font-size:13px;color:var(--el-text-color-secondary);padding-left:4px}.create-order-footer[data-v-563a78de]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;width:100%}.create-order-footer__hint[data-v-563a78de]{flex:1;min-width:200px;display:flex;flex-direction:column;gap:6px;font-size:13px;line-height:1.5;color:var(--el-text-color-secondary)}.create-order-footer__step[data-v-563a78de]{color:var(--el-text-color-placeholder)}.create-order-footer__warn[data-v-563a78de]{color:var(--el-color-warning);font-weight:500}.create-order-footer__actions[data-v-563a78de]{flex-shrink:0;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.create-order-deposit-bar[data-v-563a78de]{display:flex;align-items:stretch;border-radius:10px;border:1px solid var(--el-border-color-lighter);overflow:hidden;font-size:13px;box-shadow:0 1px 2px #0000000a}.create-order-deposit-bar__cell[data-v-563a78de]{flex:1;padding:16px 20px;display:flex;flex-direction:column;gap:6px;background:var(--el-fill-color-light)}.create-order-deposit-bar__cell strong[data-v-563a78de]{font-size:20px;font-weight:600;color:var(--el-text-color-primary);letter-spacing:.02em}.create-order-deposit-bar__label[data-v-563a78de]{font-size:13px;color:var(--el-text-color-secondary)}.create-order-deposit-bar__sub[data-v-563a78de]{font-size:12px;color:var(--el-text-color-placeholder)}.create-order-deposit-bar__sep[data-v-563a78de]{width:1px;background:var(--el-border-color-lighter);flex-shrink:0}.create-order-deposit-bar.is-ok .create-order-deposit-bar__cell:last-child strong[data-v-563a78de]{color:var(--el-color-success)}.create-order-deposit-bar.is-warn .create-order-deposit-bar__cell:last-child strong[data-v-563a78de]{color:var(--el-color-danger)}.create-order-pay-hint[data-v-563a78de]{font-size:12px;line-height:1.55;margin-top:8px;color:var(--el-text-color-secondary)}.create-order-form[data-v-563a78de] .el-form-item{margin-bottom:20px}.create-order-form[data-v-563a78de] .el-form-item__label{font-size:14px;padding-right:12px}.create-order-form[data-v-563a78de] .el-input__inner,.create-order-form[data-v-563a78de] .el-textarea__inner{font-size:14px}.create-order-form-item--inline-num[data-v-563a78de] .el-form-item__content{line-height:normal}.signature-pad-wrap[data-v-563a78de]{width:100%;max-width:600px;border:1px solid #dcdfe6;border-radius:4px;overflow:hidden;background:#fff}.signature-pad-wrap .signature-canvas[data-v-563a78de]{display:block;cursor:crosshair;touch-action:none}.signature-pad-wrap .signature-actions[data-v-563a78de]{padding:8px;border-top:1px solid #ebeef5}@media print{body *{visibility:hidden!important}.rx-paper,.rx-paper *{visibility:visible!important}.rx-paper{position:fixed!important;left:0!important;top:0!important;width:210mm!important;height:297mm!important;margin:0!important;padding:8mm 10mm!important;box-shadow:none!important;page-break-after:always}@page{size:A4;margin:0}} diff --git a/server/public/admin/assets/index-n3zVmmhX.js b/server/public/admin/assets/index-BDZ5-mdF.js similarity index 81% rename from server/public/admin/assets/index-n3zVmmhX.js rename to server/public/admin/assets/index-BDZ5-mdF.js index ad094de5..df8de075 100644 --- a/server/public/admin/assets/index-n3zVmmhX.js +++ b/server/public/admin/assets/index-BDZ5-mdF.js @@ -1 +1 @@ -import{o as k,be as E,q as i,r as x,v as e,D as o,bh as R,bg as N,s as B,bj as V,u as d,bk as D,aa as L,ac as T,O as f,K as P,L as $,P as j,M as _,a8 as q}from"./.pnpm-9dA1PEvN.js";import{a as A}from"./pay-Bhq0dtL5.js";import{u as H}from"./getExposeType-DmsdEFKC.js";import u from"./edit-C0oegBKN.js";import"./index-CJvXnF8Y.js";import"./picker-DWQ_BAep.js";import"./index-BBemoNXE.js";import"./index-CY1mb9yY.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-CAGpCz28.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";import"./useLockFn-Cmb0mmh_.js";const oe=k({__name:"index",setup(I){const r=H(),m=_([]),b=q(),c=_(!1),l=async()=>{const{lists:n}=await A();m.value=n},w=async n=>{var t;(t=r.value)==null||t.openHandle(n.id,!1)};return l(),(n,t)=>{const h=R,p=N,a=D,y=L,g=P,v=V,C=E("perms");return i(),x("div",null,[e(p,{class:"!border-none",shadow:"never"},{default:o(()=>[e(h,{type:"warning",title:"温馨提示:设置系统支持的支付方式",closable:!1,"show-icon":""})]),_:1}),e(p,{shadow:"never",class:"mt-4 !border-none"},{default:o(()=>[B("div",null,[e(v,{data:d(m)},{default:o(()=>[e(a,{prop:"pay_way_name",label:"支付方式","min-width":"150"}),e(a,{prop:"name",label:"显示名称","min-width":"150"}),e(a,{label:"图标","min-width":"150"},{default:o(({row:s})=>[e(y,{src:s.icon,alt:"图标",style:{width:"34px",height:"34px"}},null,8,["src"])]),_:1}),e(a,{prop:"sort",label:"排序","min-width":"150"}),e(a,{label:"操作","min-width":"80",fixed:"right"},{default:o(({row:s})=>[T((i(),f(g,{link:"",type:"primary",onClick:K=>w(s)},{default:o(()=>[...t[1]||(t[1]=[$(" 配置 ",-1)])]),_:1},8,["onClick"])),[[C,["setting.pay.pay_config/setConfig"]]])]),_:1})]),_:1},8,["data"])])]),_:1}),d(c)?(i(),f(u,{key:0,ref_key:"editRef",ref:b,onSuccess:l,onClose:t[0]||(t[0]=s=>c.value=!1)},null,512)):j("",!0),e(u,{ref_key:"editNewRef",ref:r,onRefresh:l},null,512)])}}});export{oe as default}; +import{o as k,be as E,q as i,r as x,v as e,D as o,bh as R,bg as N,s as B,bj as V,u as d,bk as D,aa as L,ac as T,O as f,K as P,L as $,P as j,M as _,a8 as q}from"./.pnpm-9dA1PEvN.js";import{a as A}from"./pay-Cfg11EXw.js";import{u as H}from"./getExposeType-DmsdEFKC.js";import u from"./edit-DjLHv_Io.js";import"./index-BWzN7QIb.js";import"./picker-DfI3CPnQ.js";import"./index-dYaCh-CN.js";import"./index-xDQ_OZln.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-fA0EWEUO.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";import"./useLockFn-Cmb0mmh_.js";const oe=k({__name:"index",setup(I){const r=H(),m=_([]),b=q(),c=_(!1),l=async()=>{const{lists:n}=await A();m.value=n},w=async n=>{var t;(t=r.value)==null||t.openHandle(n.id,!1)};return l(),(n,t)=>{const h=R,p=N,a=D,y=L,g=P,v=V,C=E("perms");return i(),x("div",null,[e(p,{class:"!border-none",shadow:"never"},{default:o(()=>[e(h,{type:"warning",title:"温馨提示:设置系统支持的支付方式",closable:!1,"show-icon":""})]),_:1}),e(p,{shadow:"never",class:"mt-4 !border-none"},{default:o(()=>[B("div",null,[e(v,{data:d(m)},{default:o(()=>[e(a,{prop:"pay_way_name",label:"支付方式","min-width":"150"}),e(a,{prop:"name",label:"显示名称","min-width":"150"}),e(a,{label:"图标","min-width":"150"},{default:o(({row:s})=>[e(y,{src:s.icon,alt:"图标",style:{width:"34px",height:"34px"}},null,8,["src"])]),_:1}),e(a,{prop:"sort",label:"排序","min-width":"150"}),e(a,{label:"操作","min-width":"80",fixed:"right"},{default:o(({row:s})=>[T((i(),f(g,{link:"",type:"primary",onClick:K=>w(s)},{default:o(()=>[...t[1]||(t[1]=[$(" 配置 ",-1)])]),_:1},8,["onClick"])),[[C,["setting.pay.pay_config/setConfig"]]])]),_:1})]),_:1},8,["data"])])]),_:1}),d(c)?(i(),f(u,{key:0,ref_key:"editRef",ref:b,onSuccess:l,onClose:t[0]||(t[0]=s=>c.value=!1)},null,512)):j("",!0),e(u,{ref_key:"editNewRef",ref:r,onRefresh:l},null,512)])}}});export{oe as default}; diff --git a/server/public/admin/assets/index-DxLtfAId.js b/server/public/admin/assets/index-BII6FZnL.js similarity index 99% rename from server/public/admin/assets/index-DxLtfAId.js rename to server/public/admin/assets/index-BII6FZnL.js index 53b7de93..f2dd062c 100644 --- a/server/public/admin/assets/index-DxLtfAId.js +++ b/server/public/admin/assets/index-BII6FZnL.js @@ -1 +1 @@ -import{_ as Fe}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{o as te,ap as Me,q as r,r as S,v as o,D as n,b9 as Ie,b6 as Be,cS as Ue,O as u,bK as $e,bm as He,F as z,G as D,bn as Ye,bc as je,bb as Ke,L as b,bp as qe,P as A,K as Ge,u as k,bg as Je,s as i,T as v,ae as Z,c8 as Qe,cJ as R,bB as Xe,c7 as Ze,bj as et,bk as tt,w as at,cl as nt,br as lt,C as ot,M as x,ba as ee,p as d,E as st}from"./.pnpm-9dA1PEvN.js";import{u as rt}from"./stats-Cp2ee5KL.js";import{u as it}from"./usePaging-Boz1Q6w3.js";import{_ as dt}from"./index-CJvXnF8Y.js";const ut={class:"conversion-stats-page"},ct={class:"stats-kpi-grid"},pt={class:"stats-kpi-label"},mt={class:"card-header"},yt={class:"card-hint"},_t={class:"card-header"},bt={class:"card-header"},vt={class:"card-header"},ht={class:"card-header-main"},ft={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([]),F=x([]),M=x([]),I=x([]),B=x([]),U=x([]),$=x(!1),c=ee({dimension:"dept",date_range:[],summary:{},charts:{ranking:{names:[],amounts:[],order_counts:[],fan_counts:[],rois:[],appointment_counts:[],interview_counts:[]},amount_share:[],fan_share:[],order_share:[]}}),l=ee({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 s;e.include_filters=$.value?0:1,l.time_type==="custom"&&(e.start_date=C.value[0]||"",e.end_date=C.value[1]||"");const t=await rt(e);return Object.assign(c,(t==null?void 0:t.extend)||{}),ge((s=t==null?void 0:t.extend)==null?void 0:s.filters),t},{pager:p,getLists:H}=it({fetchFun:ae,params:l,firstLoading:!0}),ne=[{label:"部门",value:"dept"},{label:"医助",value:"assistant"},{label:"医生",value:"doctor"}],le={value:"id",label:"name",children:"children"},oe={children:"children"},w=d(()=>l.dimension==="assistant"?"医助":l.dimension==="doctor"?"医生":"部门"),se=d(()=>l.dimension==="assistant"?I.value:l.dimension==="doctor"?B.value:M.value),V=d({get:()=>l.dimension==="assistant"?l.assistant_id:l.dimension==="doctor"?l.doctor_id:l.dept_id,set:e=>{if(l.dimension==="assistant"){l.assistant_id=e;return}if(l.dimension==="doctor"){l.doctor_id=e;return}l.dept_id=e}}),re=[{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}],h=d(()=>l.dimension==="doctor"),ce=d(()=>h.value?ie:re),pe=d(()=>h.value?ue:de),Y=d(()=>{var e;return(e=c.date_range)!=null&&e.length?`${c.date_range[0]} 至 ${c.date_range[1]}`:"未选择"}),me=d(()=>c.charts.ranking.names.length>0),ye=d(()=>c.charts.amount_share.length>0),_e=d(()=>{var e,t;return h.value?(((e=c.charts.order_share)==null?void 0:e.length)||0)>0:(((t=c.charts.fan_share)==null?void 0:t.length)||0)>0}),j=d(()=>h.value?"开药金额占比":"诊单金额占比"),K=d(()=>h.value?"接诊单数占比":"加粉占比"),be=d(()=>h.value?"暂无接诊数据":"暂无加粉数据"),f=d(()=>{var m;const e=((m=c.charts)==null?void 0:m.ranking)||{},t=Array.isArray(e.names)?e.names:[],s=y=>t.map((_,T)=>Number((y==null?void 0:y[T])??0));return{names:t,amounts:s(Array.isArray(e.amounts)?e.amounts:[]),appointmentCounts:s(Array.isArray(e.appointment_counts)?e.appointment_counts:[]),interviewCounts:s(Array.isArray(e.interview_counts)?e.interview_counts:[]),orderCounts:s(Array.isArray(e.order_counts)?e.order_counts:[]),fanCounts:s(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:f.value.names,axisLabel:{interval:0,rotate:f.value.names.length>6?25:0}},yAxis:[{type:"value",name:"金额 / 数量"}]};return h.value?{...e,legend:{data:["开药金额","挂号数","面诊数","接诊单数"]},series:[{name:"开药金额",type:"bar",barMaxWidth:36,data:f.value.amounts,itemStyle:{color:"#4a78ff"}},{name:"挂号数",type:"line",smooth:!0,showSymbol:!0,symbolSize:8,lineStyle:{width:3},data:f.value.appointmentCounts,itemStyle:{color:"#15b8a6"}},{name:"面诊数",type:"line",smooth:!0,showSymbol:!0,symbolSize:8,lineStyle:{width:3},data:f.value.interviewCounts,itemStyle:{color:"#ff9f43"}},{name:"接诊单数",type:"line",smooth:!0,showSymbol:!0,symbolSize:8,lineStyle:{width:3},data:f.value.orderCounts,itemStyle:{color:"#7c3aed"}}]}:{...e,legend:{data:["诊单金额","接诊诊单","加粉数"]},series:[{name:"诊单金额",type:"bar",barMaxWidth:36,data:f.value.amounts,itemStyle:{color:"#4a78ff"}},{name:"接诊诊单",type:"line",smooth:!0,showSymbol:!0,symbolSize:8,lineStyle:{width:3},data:f.value.orderCounts,itemStyle:{color:"#15b8a6"}},{name:"加粉数",type:"line",smooth:!0,showSymbol:!0,symbolSize:8,lineStyle:{width:3},data:f.value.fanCounts,itemStyle:{color:"#ff9f43"}}]}}),he=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:c.charts.amount_share}]})),fe=d(()=>({tooltip:{trigger:"item"},legend:{bottom:0,type:"scroll",pageIconColor:"#409eff",pageTextStyle:{color:"#909399"}},series:[{name:K.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:h.value?c.charts.order_share:c.charts.fan_share}]})),q=e=>{let t=[];return e.forEach(s=>{t.push({id:Number(s.id),name:s.name}),Array.isArray(s.children)&&s.children.length>0&&(t=t.concat(q(s.children)))}),t},ge=e=>{if(!e)return;$.value=!0;const t=Array.isArray(e.departments)?e.departments:[],s=Array.isArray(e.assistants)?e.assistants:[],m=Array.isArray(e.doctors)?e.doctors:[],y=Array.isArray(e.media_channels)?e.media_channels:[];F.value=t,M.value=q(t),I.value=s.map(_=>({id:Number(_.id),name:_.name})),B.value=m.map(_=>({id:Number(_.id),name:_.name})),U.value=y.map(_=>({code:String(_.code||""),name:String(_.name||"")}))},g=async()=>{try{await H()}catch(e){console.error("获取统计概览失败:",e),st.error((e==null?void 0:e.msg)||"获取统计数据失败")}},ke=()=>{l.dept_id=void 0,l.assistant_id=void 0,l.doctor_id=void 0,p.page=1,g()},G=()=>{p.page=1,g()},Ce=()=>{p.page=1,g()},Se=()=>{l.time_type!=="custom"&&(C.value=[],p.page=1,g())},xe=()=>{C.value.length===2&&(p.page=1,g())},we=()=>{p.page=1,g()},Ee=()=>{l.dimension="dept",l.dept_id=void 0,l.assistant_id=void 0,l.doctor_id=void 0,l.media_channel_code="",l.time_type="today",C.value=[],p.page=1,p.size=15,g()},Oe=e=>{const t=Number((e==null?void 0:e.completed_order_count)||0),s=Number((e==null?void 0:e.interview_count)||0);return s<=0?0:t/s*100},J=(e,t,s="count",m=!1)=>{if(m)return"—";const y=h.value&&e==="receive_rate"?Oe(t):(t==null?void 0:t[e])??0;return s==="money"?`¥${Number(y||0).toFixed(2)}`:s==="percent"?`${Number(y||0).toFixed(2)}%`:s==="ratio"?Number(y||0).toFixed(2):String(y??0)},Ae=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 Me(async()=>{await g()}),(e,t)=>{const s=Ue,m=Be,y=$e,_=Ye,T=He,E=Ke,Pe=je,ze=qe,Q=Ge,De=Ie,O=Je,W=Xe,P=Qe,N=Ze,We=at,L=lt,X=tt,Ne=et,Le=Fe;return r(),S("div",ut,[o(O,{class:"!border-none",shadow:"never"},{default:n(()=>[o(De,{inline:!0,model:l,class:"stats-filter-form"},{default:n(()=>[o(m,{label:"统计维度"},{default:n(()=>[o(s,{modelValue:l.dimension,"onUpdate:modelValue":t[0]||(t[0]=a=>l.dimension=a),options:ne,onChange:ke},null,8,["modelValue"])]),_:1}),o(m,{label:w.value},{default:n(()=>[l.dimension==="dept"?(r(),u(y,{key:0,modelValue:V.value,"onUpdate:modelValue":t[1]||(t[1]=a=>V.value=a),data:F.value,placeholder:`全部${w.value}`,clearable:"",filterable:"","node-key":"id","check-strictly":"","default-expand-all":!0,props:le,style:{width:"220px"},onChange:G},null,8,["modelValue","data","placeholder"])):(r(),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:G},{default:n(()=>[(r(!0),S(z,null,D(se.value,a=>(r(),u(_,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"]))]),_:1},8,["label"]),o(m,{label:"自媒体渠道"},{default:n(()=>[o(T,{modelValue:l.media_channel_code,"onUpdate:modelValue":t[3]||(t[3]=a=>l.media_channel_code=a),placeholder:"全部渠道",clearable:"",filterable:"",style:{width:"220px"},onChange:Ce},{default:n(()=>[(r(!0),S(z,null,D(U.value,a=>(r(),u(_,{key:a.code,label:a.name,value:a.code},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(m,{label:"时间范围"},{default:n(()=>[o(Pe,{modelValue:l.time_type,"onUpdate:modelValue":t[4]||(t[4]=a=>l.time_type=a),onChange:Se},{default:n(()=>[o(E,{label:"today"},{default:n(()=>[...t[7]||(t[7]=[b("今天",-1)])]),_:1}),o(E,{label:"yesterday"},{default:n(()=>[...t[8]||(t[8]=[b("昨天",-1)])]),_:1}),o(E,{label:"week"},{default:n(()=>[...t[9]||(t[9]=[b("最近7天",-1)])]),_:1}),o(E,{label:"month"},{default:n(()=>[...t[10]||(t[10]=[b("最近30天",-1)])]),_:1}),o(E,{label:"custom"},{default:n(()=>[...t[11]||(t[11]=[b("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l.time_type==="custom"?(r(),u(m,{key:0},{default:n(()=>[o(ze,{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})):A("",!0),o(m,null,{default:n(()=>[o(Q,{type:"primary",loading:k(p).loading,onClick:we},{default:n(()=>[...t[12]||(t[12]=[b("查询",-1)])]),_:1},8,["loading"]),o(Q,{onClick:Ee},{default:n(()=>[...t[13]||(t[13]=[b("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),i("div",ct,[(r(!0),S(z,null,D(ce.value,a=>(r(),S("div",{key:a.key,class:"stats-kpi-card"},[i("div",pt,v(a.label),1),i("div",{class:Z(["stats-kpi-value",{"is-money":a.type==="money"}])},v(J(a.key,c.summary,a.type,a.placeholder)),3)]))),128))]),o(N,{gutter:20,class:"mt-4"},{default:n(()=>[o(P,{span:24},{default:n(()=>[o(O,{class:"!border-none",shadow:"never"},{header:n(()=>[i("div",mt,[t[14]||(t[14]=i("span",null,"转化排行",-1)),i("span",yt,v(Y.value)+" · TOP 10",1)])]),default:n(()=>[me.value?(r(),u(k(R),{key:0,class:"stats-chart stats-chart-wide",option:ve.value,autoresize:""},null,8,["option"])):(r(),u(W,{key:1,description:"暂无图表数据"}))]),_:1})]),_:1})]),_:1}),o(N,{gutter:20,class:"mt-4"},{default:n(()=>[o(P,{xs:24,lg:12},{default:n(()=>[o(O,{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?(r(),u(k(R),{key:0,class:"stats-chart",option:he.value,autoresize:""},null,8,["option"])):(r(),u(W,{key:1,description:"暂无金额数据"}))]),_:1})]),_:1}),o(P,{xs:24,lg:12},{default:n(()=>[o(O,{class:"!border-none",shadow:"never"},{header:n(()=>[i("div",bt,[i("span",null,v(K.value),1),t[16]||(t[16]=i("span",{class:"card-hint"},"TOP 10",-1))])]),default:n(()=>[_e.value?(r(),u(k(R),{key:0,class:"stats-chart",option:fe.value,autoresize:""},null,8,["option"])):(r(),u(W,{key:1,description:be.value},null,8,["description"]))]),_:1})]),_:1})]),_:1}),o(N,{gutter:20,class:"mt-4"},{default:n(()=>[o(P,{span:24},{default:n(()=>[o(O,{class:"!border-none stats-detail-card",shadow:"never"},{header:n(()=>[i("div",vt,[i("div",ht,[t[17]||(t[17]=i("span",{class:"card-title"},"明细列表",-1)),i("span",ft,v(w.value)+"维度 · "+v(Y.value),1)])])]),default:n(()=>[o(Ne,{data:k(p).lists,"row-key":Ae,"tree-props":l.dimension==="dept"?oe:void 0,"default-expand-all":!1,indent:20,"row-class-name":Te,size:"default",style:{width:"100%"},"max-height":"640",border:""},{default:n(()=>[o(X,{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)?(r(),S("span",{key:0,class:Z(["member-icon",{"is-leader":a.is_leader,"is-unbound":a.type==="unbound"}])},[o(We,null,{default:n(()=>[o(k(nt))]),_:1})],2)):A("",!0),i("span",kt,v(a.name),1),a.type==="member"&&a.is_leader?(r(),u(L,{key:1,size:"small",type:"warning",effect:"light",round:"",class:"role-tag"},{default:n(()=>[...t[18]||(t[18]=[b(" 组长 ",-1)])]),_:1})):A("",!0),a.type==="member"&&a.role?(r(),u(L,{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"])):A("",!0),a.type==="unbound"?(r(),u(L,{key:3,size:"small",type:"danger",effect:"plain",round:"",class:"role-tag"},{default:n(()=>[...t[19]||(t[19]=[b(" 未绑定 ",-1)])]),_:1})):A("",!0)],8,gt)]),_:1},8,["label"]),(r(!0),S(z,null,D(pe.value,a=>(r(),u(X,{key:a.key,label:a.label,"min-width":a.minWidth||110,width:a.width,align:a.align||"center"},{default:n(({row:Re})=>[b(v(J(a.key,Re,a.type,a.placeholder)),1)]),_:2},1032,["label","min-width","width","align"]))),128))]),_:1},8,["data","tree-props"]),i("div",Ct,[o(Le,{modelValue:k(p),"onUpdate:modelValue":t[6]||(t[6]=a=>ot(p)?p.value=a:null),onChange:k(H)},null,8,["modelValue","onChange"])])]),_:1})]),_:1})]),_:1})])}}}),Pt=dt(xt,[["__scopeId","data-v-c303d6f3"]]);export{Pt as default}; +import{_ as Fe}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{o as te,ap as Me,q as r,r as S,v as o,D as n,b9 as Ie,b6 as Be,cS as Ue,O as u,bK as $e,bm as He,F as z,G as D,bn as Ye,bc as je,bb as Ke,L as b,bp as qe,P as A,K as Ge,u as k,bg as Je,s as i,T as v,ae as Z,c8 as Qe,cJ as R,bB as Xe,c7 as Ze,bj as et,bk as tt,w as at,cl as nt,br as lt,C as ot,M as x,ba as ee,p as d,E as st}from"./.pnpm-9dA1PEvN.js";import{u as rt}from"./stats-CYdFBybj.js";import{u as it}from"./usePaging-Boz1Q6w3.js";import{_ as dt}from"./index-BWzN7QIb.js";const ut={class:"conversion-stats-page"},ct={class:"stats-kpi-grid"},pt={class:"stats-kpi-label"},mt={class:"card-header"},yt={class:"card-hint"},_t={class:"card-header"},bt={class:"card-header"},vt={class:"card-header"},ht={class:"card-header-main"},ft={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([]),F=x([]),M=x([]),I=x([]),B=x([]),U=x([]),$=x(!1),c=ee({dimension:"dept",date_range:[],summary:{},charts:{ranking:{names:[],amounts:[],order_counts:[],fan_counts:[],rois:[],appointment_counts:[],interview_counts:[]},amount_share:[],fan_share:[],order_share:[]}}),l=ee({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 s;e.include_filters=$.value?0:1,l.time_type==="custom"&&(e.start_date=C.value[0]||"",e.end_date=C.value[1]||"");const t=await rt(e);return Object.assign(c,(t==null?void 0:t.extend)||{}),ge((s=t==null?void 0:t.extend)==null?void 0:s.filters),t},{pager:p,getLists:H}=it({fetchFun:ae,params:l,firstLoading:!0}),ne=[{label:"部门",value:"dept"},{label:"医助",value:"assistant"},{label:"医生",value:"doctor"}],le={value:"id",label:"name",children:"children"},oe={children:"children"},w=d(()=>l.dimension==="assistant"?"医助":l.dimension==="doctor"?"医生":"部门"),se=d(()=>l.dimension==="assistant"?I.value:l.dimension==="doctor"?B.value:M.value),V=d({get:()=>l.dimension==="assistant"?l.assistant_id:l.dimension==="doctor"?l.doctor_id:l.dept_id,set:e=>{if(l.dimension==="assistant"){l.assistant_id=e;return}if(l.dimension==="doctor"){l.doctor_id=e;return}l.dept_id=e}}),re=[{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}],h=d(()=>l.dimension==="doctor"),ce=d(()=>h.value?ie:re),pe=d(()=>h.value?ue:de),Y=d(()=>{var e;return(e=c.date_range)!=null&&e.length?`${c.date_range[0]} 至 ${c.date_range[1]}`:"未选择"}),me=d(()=>c.charts.ranking.names.length>0),ye=d(()=>c.charts.amount_share.length>0),_e=d(()=>{var e,t;return h.value?(((e=c.charts.order_share)==null?void 0:e.length)||0)>0:(((t=c.charts.fan_share)==null?void 0:t.length)||0)>0}),j=d(()=>h.value?"开药金额占比":"诊单金额占比"),K=d(()=>h.value?"接诊单数占比":"加粉占比"),be=d(()=>h.value?"暂无接诊数据":"暂无加粉数据"),f=d(()=>{var m;const e=((m=c.charts)==null?void 0:m.ranking)||{},t=Array.isArray(e.names)?e.names:[],s=y=>t.map((_,T)=>Number((y==null?void 0:y[T])??0));return{names:t,amounts:s(Array.isArray(e.amounts)?e.amounts:[]),appointmentCounts:s(Array.isArray(e.appointment_counts)?e.appointment_counts:[]),interviewCounts:s(Array.isArray(e.interview_counts)?e.interview_counts:[]),orderCounts:s(Array.isArray(e.order_counts)?e.order_counts:[]),fanCounts:s(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:f.value.names,axisLabel:{interval:0,rotate:f.value.names.length>6?25:0}},yAxis:[{type:"value",name:"金额 / 数量"}]};return h.value?{...e,legend:{data:["开药金额","挂号数","面诊数","接诊单数"]},series:[{name:"开药金额",type:"bar",barMaxWidth:36,data:f.value.amounts,itemStyle:{color:"#4a78ff"}},{name:"挂号数",type:"line",smooth:!0,showSymbol:!0,symbolSize:8,lineStyle:{width:3},data:f.value.appointmentCounts,itemStyle:{color:"#15b8a6"}},{name:"面诊数",type:"line",smooth:!0,showSymbol:!0,symbolSize:8,lineStyle:{width:3},data:f.value.interviewCounts,itemStyle:{color:"#ff9f43"}},{name:"接诊单数",type:"line",smooth:!0,showSymbol:!0,symbolSize:8,lineStyle:{width:3},data:f.value.orderCounts,itemStyle:{color:"#7c3aed"}}]}:{...e,legend:{data:["诊单金额","接诊诊单","加粉数"]},series:[{name:"诊单金额",type:"bar",barMaxWidth:36,data:f.value.amounts,itemStyle:{color:"#4a78ff"}},{name:"接诊诊单",type:"line",smooth:!0,showSymbol:!0,symbolSize:8,lineStyle:{width:3},data:f.value.orderCounts,itemStyle:{color:"#15b8a6"}},{name:"加粉数",type:"line",smooth:!0,showSymbol:!0,symbolSize:8,lineStyle:{width:3},data:f.value.fanCounts,itemStyle:{color:"#ff9f43"}}]}}),he=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:c.charts.amount_share}]})),fe=d(()=>({tooltip:{trigger:"item"},legend:{bottom:0,type:"scroll",pageIconColor:"#409eff",pageTextStyle:{color:"#909399"}},series:[{name:K.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:h.value?c.charts.order_share:c.charts.fan_share}]})),q=e=>{let t=[];return e.forEach(s=>{t.push({id:Number(s.id),name:s.name}),Array.isArray(s.children)&&s.children.length>0&&(t=t.concat(q(s.children)))}),t},ge=e=>{if(!e)return;$.value=!0;const t=Array.isArray(e.departments)?e.departments:[],s=Array.isArray(e.assistants)?e.assistants:[],m=Array.isArray(e.doctors)?e.doctors:[],y=Array.isArray(e.media_channels)?e.media_channels:[];F.value=t,M.value=q(t),I.value=s.map(_=>({id:Number(_.id),name:_.name})),B.value=m.map(_=>({id:Number(_.id),name:_.name})),U.value=y.map(_=>({code:String(_.code||""),name:String(_.name||"")}))},g=async()=>{try{await H()}catch(e){console.error("获取统计概览失败:",e),st.error((e==null?void 0:e.msg)||"获取统计数据失败")}},ke=()=>{l.dept_id=void 0,l.assistant_id=void 0,l.doctor_id=void 0,p.page=1,g()},G=()=>{p.page=1,g()},Ce=()=>{p.page=1,g()},Se=()=>{l.time_type!=="custom"&&(C.value=[],p.page=1,g())},xe=()=>{C.value.length===2&&(p.page=1,g())},we=()=>{p.page=1,g()},Ee=()=>{l.dimension="dept",l.dept_id=void 0,l.assistant_id=void 0,l.doctor_id=void 0,l.media_channel_code="",l.time_type="today",C.value=[],p.page=1,p.size=15,g()},Oe=e=>{const t=Number((e==null?void 0:e.completed_order_count)||0),s=Number((e==null?void 0:e.interview_count)||0);return s<=0?0:t/s*100},J=(e,t,s="count",m=!1)=>{if(m)return"—";const y=h.value&&e==="receive_rate"?Oe(t):(t==null?void 0:t[e])??0;return s==="money"?`¥${Number(y||0).toFixed(2)}`:s==="percent"?`${Number(y||0).toFixed(2)}%`:s==="ratio"?Number(y||0).toFixed(2):String(y??0)},Ae=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 Me(async()=>{await g()}),(e,t)=>{const s=Ue,m=Be,y=$e,_=Ye,T=He,E=Ke,Pe=je,ze=qe,Q=Ge,De=Ie,O=Je,W=Xe,P=Qe,N=Ze,We=at,L=lt,X=tt,Ne=et,Le=Fe;return r(),S("div",ut,[o(O,{class:"!border-none",shadow:"never"},{default:n(()=>[o(De,{inline:!0,model:l,class:"stats-filter-form"},{default:n(()=>[o(m,{label:"统计维度"},{default:n(()=>[o(s,{modelValue:l.dimension,"onUpdate:modelValue":t[0]||(t[0]=a=>l.dimension=a),options:ne,onChange:ke},null,8,["modelValue"])]),_:1}),o(m,{label:w.value},{default:n(()=>[l.dimension==="dept"?(r(),u(y,{key:0,modelValue:V.value,"onUpdate:modelValue":t[1]||(t[1]=a=>V.value=a),data:F.value,placeholder:`全部${w.value}`,clearable:"",filterable:"","node-key":"id","check-strictly":"","default-expand-all":!0,props:le,style:{width:"220px"},onChange:G},null,8,["modelValue","data","placeholder"])):(r(),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:G},{default:n(()=>[(r(!0),S(z,null,D(se.value,a=>(r(),u(_,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"]))]),_:1},8,["label"]),o(m,{label:"自媒体渠道"},{default:n(()=>[o(T,{modelValue:l.media_channel_code,"onUpdate:modelValue":t[3]||(t[3]=a=>l.media_channel_code=a),placeholder:"全部渠道",clearable:"",filterable:"",style:{width:"220px"},onChange:Ce},{default:n(()=>[(r(!0),S(z,null,D(U.value,a=>(r(),u(_,{key:a.code,label:a.name,value:a.code},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(m,{label:"时间范围"},{default:n(()=>[o(Pe,{modelValue:l.time_type,"onUpdate:modelValue":t[4]||(t[4]=a=>l.time_type=a),onChange:Se},{default:n(()=>[o(E,{label:"today"},{default:n(()=>[...t[7]||(t[7]=[b("今天",-1)])]),_:1}),o(E,{label:"yesterday"},{default:n(()=>[...t[8]||(t[8]=[b("昨天",-1)])]),_:1}),o(E,{label:"week"},{default:n(()=>[...t[9]||(t[9]=[b("最近7天",-1)])]),_:1}),o(E,{label:"month"},{default:n(()=>[...t[10]||(t[10]=[b("最近30天",-1)])]),_:1}),o(E,{label:"custom"},{default:n(()=>[...t[11]||(t[11]=[b("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l.time_type==="custom"?(r(),u(m,{key:0},{default:n(()=>[o(ze,{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})):A("",!0),o(m,null,{default:n(()=>[o(Q,{type:"primary",loading:k(p).loading,onClick:we},{default:n(()=>[...t[12]||(t[12]=[b("查询",-1)])]),_:1},8,["loading"]),o(Q,{onClick:Ee},{default:n(()=>[...t[13]||(t[13]=[b("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),i("div",ct,[(r(!0),S(z,null,D(ce.value,a=>(r(),S("div",{key:a.key,class:"stats-kpi-card"},[i("div",pt,v(a.label),1),i("div",{class:Z(["stats-kpi-value",{"is-money":a.type==="money"}])},v(J(a.key,c.summary,a.type,a.placeholder)),3)]))),128))]),o(N,{gutter:20,class:"mt-4"},{default:n(()=>[o(P,{span:24},{default:n(()=>[o(O,{class:"!border-none",shadow:"never"},{header:n(()=>[i("div",mt,[t[14]||(t[14]=i("span",null,"转化排行",-1)),i("span",yt,v(Y.value)+" · TOP 10",1)])]),default:n(()=>[me.value?(r(),u(k(R),{key:0,class:"stats-chart stats-chart-wide",option:ve.value,autoresize:""},null,8,["option"])):(r(),u(W,{key:1,description:"暂无图表数据"}))]),_:1})]),_:1})]),_:1}),o(N,{gutter:20,class:"mt-4"},{default:n(()=>[o(P,{xs:24,lg:12},{default:n(()=>[o(O,{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?(r(),u(k(R),{key:0,class:"stats-chart",option:he.value,autoresize:""},null,8,["option"])):(r(),u(W,{key:1,description:"暂无金额数据"}))]),_:1})]),_:1}),o(P,{xs:24,lg:12},{default:n(()=>[o(O,{class:"!border-none",shadow:"never"},{header:n(()=>[i("div",bt,[i("span",null,v(K.value),1),t[16]||(t[16]=i("span",{class:"card-hint"},"TOP 10",-1))])]),default:n(()=>[_e.value?(r(),u(k(R),{key:0,class:"stats-chart",option:fe.value,autoresize:""},null,8,["option"])):(r(),u(W,{key:1,description:be.value},null,8,["description"]))]),_:1})]),_:1})]),_:1}),o(N,{gutter:20,class:"mt-4"},{default:n(()=>[o(P,{span:24},{default:n(()=>[o(O,{class:"!border-none stats-detail-card",shadow:"never"},{header:n(()=>[i("div",vt,[i("div",ht,[t[17]||(t[17]=i("span",{class:"card-title"},"明细列表",-1)),i("span",ft,v(w.value)+"维度 · "+v(Y.value),1)])])]),default:n(()=>[o(Ne,{data:k(p).lists,"row-key":Ae,"tree-props":l.dimension==="dept"?oe:void 0,"default-expand-all":!1,indent:20,"row-class-name":Te,size:"default",style:{width:"100%"},"max-height":"640",border:""},{default:n(()=>[o(X,{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)?(r(),S("span",{key:0,class:Z(["member-icon",{"is-leader":a.is_leader,"is-unbound":a.type==="unbound"}])},[o(We,null,{default:n(()=>[o(k(nt))]),_:1})],2)):A("",!0),i("span",kt,v(a.name),1),a.type==="member"&&a.is_leader?(r(),u(L,{key:1,size:"small",type:"warning",effect:"light",round:"",class:"role-tag"},{default:n(()=>[...t[18]||(t[18]=[b(" 组长 ",-1)])]),_:1})):A("",!0),a.type==="member"&&a.role?(r(),u(L,{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"])):A("",!0),a.type==="unbound"?(r(),u(L,{key:3,size:"small",type:"danger",effect:"plain",round:"",class:"role-tag"},{default:n(()=>[...t[19]||(t[19]=[b(" 未绑定 ",-1)])]),_:1})):A("",!0)],8,gt)]),_:1},8,["label"]),(r(!0),S(z,null,D(pe.value,a=>(r(),u(X,{key:a.key,label:a.label,"min-width":a.minWidth||110,width:a.width,align:a.align||"center"},{default:n(({row:Re})=>[b(v(J(a.key,Re,a.type,a.placeholder)),1)]),_:2},1032,["label","min-width","width","align"]))),128))]),_:1},8,["data","tree-props"]),i("div",Ct,[o(Le,{modelValue:k(p),"onUpdate:modelValue":t[6]||(t[6]=a=>ot(p)?p.value=a:null),onChange:k(H)},null,8,["modelValue","onChange"])])]),_:1})]),_:1})]),_:1})])}}}),Pt=dt(xt,[["__scopeId","data-v-c303d6f3"]]);export{Pt as default}; diff --git a/server/public/admin/assets/index-C7aL5i0J.js b/server/public/admin/assets/index-BMHQaxci.js similarity index 95% rename from server/public/admin/assets/index-C7aL5i0J.js rename to server/public/admin/assets/index-BMHQaxci.js index 70ec4338..1497e389 100644 --- a/server/public/admin/assets/index-C7aL5i0J.js +++ b/server/public/admin/assets/index-BMHQaxci.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DSANIFY1.js","assets/.pnpm-9dA1PEvN.js","assets/.pnpm-LiWq8Xu0.css","assets/tcm-DOD9_1Um.js","assets/index-CJvXnF8Y.js","assets/index-or10At3s.css","assets/perm-BLNmf25V.js","assets/DailyMatrix-_4SdP1CQ.js","assets/picker-DWQ_BAep.js","assets/index-BBemoNXE.js","assets/index-dh40Du6y.css","assets/index-CY1mb9yY.js","assets/index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js","assets/index-CAGpCz28.js","assets/index-BYMg0OFw.css","assets/index-DMkcmA29.js","assets/file-BJDA0rIT.js","assets/index.vue_vue_type_script_setup_true_lang-Blf417m7.js","assets/usePaging-Boz1Q6w3.js","assets/index-D6uL8V1j.css","assets/picker-CLzhBfnG.css","assets/DiagnosisTodoList-wLDuYeQL.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix--Ay5C05Q.css","assets/CaseRecordList-BdOS8uCk.js","assets/CaseRecordList-DEgrl9PS.css","assets/CallRecordPanel-B5TNiiYq.js","assets/RecordingPlaybackBlock-C4Gpp-2c.js","assets/RecordingVideoPlayer-BFQjIPtM.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-p7h_1hh9.css","assets/ImChatRecordPanel-Dupe02qF.js","assets/dayjs-BsOAYQJw.js","assets/im-business-message-parse-DmDISFGN.js","assets/ImChatRecordPanel-BRnJl8ir.css","assets/AssignLogPanel-7M3l9W5C.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DxULo4tR.js","assets/doctor-Bmtf1eZE.js","assets/AppointmentRecordPanel-BWS3OyF0.css","assets/NoteTimeline-BiPgEoRT.js","assets/patient-CwTOvUDt.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-CbJRHf8i.js","assets/PrescriptionOrderDetailDrawer-66DcVm3d.js","assets/prescription-order-utils-B0fYlULc.js","assets/PrescriptionOrderDetailDrawer-DL92yzHH.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-D33qlDjf.js","assets/index-BANIMLkY.js","assets/medicine-CQDW2OUZ.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-DxQanmqx.css","assets/edit-Cgsl1tY9.css","assets/TrackingNoteTimeline-C-2kS81H.css","assets/detail-BRMb37XJ.js","assets/appointment-CqsTw3IO.js","assets/appointment-DHf6UVnR.css","assets/AssistantWatchCallDialog-G7c26KAa.js","assets/AssistantWatchCallDialog-BYViF8Fb.css"])))=>i.map(i=>d[i]); -import{o as It,R as Va,Q as Aa,W as Ea,ap as Sa,aq as $a,be as Ra,q as o,r as _,v as l,D as i,s as d,F as E,G as R,ae as M,u as a,L as p,T as m,P as b,ac as $,O as v,bp as Ta,b7 as La,b8 as Vt,K as Ia,w as Na,ck as At,bm as Pa,bn as za,ad as Wa,bg as wa,bj as Ya,bk as Fa,br as Ma,aw as tt,a1 as Ua,$ as Oa,Z as qa,_ as Ba,cl as Qa,d0 as Ga,bE as Et,cO as Ha,cU as Ka,bH as ja,d1 as Ja,bi as Xa,C as H,bB as Za,c3 as es,c4 as ts,B as ns,b5 as as,bt as ss,b9 as is,b6 as ls,bd as os,J as ds,c0 as rs,c1 as us,bD as _s,aa as ps,cb as fe,al as ve,ba as nt,M as c,p as ee}from"./.pnpm-9dA1PEvN.js";import{_ as ms}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{aq as U,i as cs,Q as gs,ar as Ne,as as fs,at as vs,a2 as St,au as $t,av as ys,aw as hs,ax as ks,ay as bs}from"./tcm-DOD9_1Um.js";import{i as Cs}from"./order-CNletQ6l.js";import{m as Rt}from"./doctor-Bmtf1eZE.js";import{u as xs}from"./usePaging-Boz1Q6w3.js";import{u as Ds,m as at,i as f,_ as Vs}from"./index-CJvXnF8Y.js";import{g as Tt}from"./weapp-CBfJD55Y.js";import{h as O}from"./perm-BLNmf25V.js";import{d as Pe}from"./dayjs-BsOAYQJw.js";import{_ as Lt}from"./index.vue_vue_type_script_setup_true_lang-C38LpCy9.js";const As={class:"tcm-diagnosis"},Es={class:"filter-main"},Ss={class:"date-chips"},$s=["onClick"],Rs={key:0},Ts={key:0},Ls={key:0},Is={class:"pending-assign-wrap"},Ns={key:0},Ps={class:"search-row"},zs={class:"filter-chips"},Ws=["onClick"],ws=["onClick"],Ys={class:"filter-more"},Fs={class:"list-header"},Ms={class:"list-actions"},Us={key:0,class:"list-selected"},Os={class:"table-wrap px-4"},qs={class:"patient-cell"},Bs={class:"patient-info"},Qs={class:"patient-name"},Gs={class:"patient-cell"},Hs={class:"patient-info"},Ks={class:"patient-name"},js={class:"apt-badge"},Js={class:"apt-doctor"},Xs={class:"apt-time"},Zs={key:0,class:"apt-actions"},ei={class:"apt-badge"},ti={class:"apt-doctor"},ni={class:"apt-time"},ai={key:2,class:"apt-latest-channel"},si={key:1,class:"apt-none"},ii={key:0,class:"status-confirmed"},li={key:1,class:"status-unconfirmed"},oi={key:0,class:"followup-cell"},di={class:"followup-time"},ri={class:"followup-doctor"},ui={key:1,class:"followup-none"},_i={class:"assistant-cell"},pi={key:0,class:"status-prescribed"},mi={key:1,class:"status-unprescribed"},ci={key:1,class:"unserved-days unserved-muted"},gi={class:"video-watch-col"},fi={class:"video-watch-trigger"},vi={key:1,class:"video-watch-muted"},yi={key:1,class:"video-watch-muted"},hi={class:"pagination-wrap"},ki={class:"min-h-[100px]"},bi={key:0,class:"text-sm text-gray-600 mb-4 pb-3 border-b border-gray-100"},Ci={class:"font-medium text-gray-800"},xi={class:"flex flex-wrap items-center gap-2"},Di={class:"text-sm font-medium text-gray-800"},Vi={class:"text-xs text-gray-600 mt-1.5 leading-relaxed"},Ai={class:"flex flex-col items-center justify-center py-4"},Ei={key:0,class:"text-center"},Si={key:1,class:"text-center"},$i=["src"],Ri={class:"mt-4 text-sm text-gray-600"},Ti={class:"mt-2"},Li={key:2,class:"text-center text-gray-500"},Ii={class:"text-gray-500"},Ni={class:"text-gray-500"},Pi={class:"font-medium"},zi={class:"font-medium"},Wi={key:0,class:"mb-4"},wi={key:0},Yi={key:0,class:"mt-2"},Fi={key:1,class:"mt-2"},Mi={class:"mb-4"},Ui={class:"flex gap-2"},Oi={key:0,class:"text-center text-gray-400 py-10"},qi={key:1,class:"record-list"},Bi={class:"record-header"},Qi={class:"flex items-center gap-2"},Gi={class:"font-medium text-sm"},Hi={class:"flex items-center gap-2"},Ki={class:"text-xs text-gray-400"},ji={class:"record-content"},Ji={key:0,class:"mt-1"},Xi={key:2,class:"text-center mt-4"},Zi=It({name:"tcmDiagnosis"}),el=It({...Zi,setup(tl){const Nt=fe(()=>ve(()=>import("./edit-DSANIFY1.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]))),Pt=fe(()=>ve(()=>import("./detail-BRMb37XJ.js"),__vite__mapDeps([58,9,1,2,4,5,10,3]))),zt=fe(()=>ve(()=>import("./index-D33qlDjf.js"),__vite__mapDeps([50,1,2,51,52,4,5,53,54,3,55]))),Wt=fe(()=>ve(()=>import("./appointment-CqsTw3IO.js"),__vite__mapDeps([59,1,2,34,3,4,5,40,60]))),wt=fe(()=>ve(()=>import("./AssistantWatchCallDialog-G7c26KAa.js"),__vite__mapDeps([61,1,2,3,4,5,62]))),Yt=t=>{if(!t)return"-";const e=String(t).length===10?Number(t)*1e3:Number(t);return Pe(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=nt({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=c("all"),ue=c(!1),Ft=[{label:"全部",value:""},{label:"已挂号",value:"1"},{label:"未挂号",value:"0"}],Mt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],Ut=t=>{s.has_appointment=t,s.pending_booking="",s.completed_appointment="",t==="0"&&pe(),V.page=1,x(),S()},Ot=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 r=String(t.pending_assign_keyword??"").trim(),g=String(t.keyword??"").trim();return r!==""||g!==""}function lt(t){if(!qt(t))return t;const e=String(t.pending_assign_keyword??"").trim(),r=String(t.keyword??"").trim(),g=e!==""?e:r;return{page_no:t.page_no,page_size:t.page_size,pending_assign:1,pending_assign_keyword:g}}function Bt(){const t=String(s.pending_assign_order_month??"").trim();return t!==""?t:s.pending_assign==="1"?"":Pe().format("YYYY-MM")}function Qt(){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,...Qt(),appointment_date:"",pending_booking:"",completed_appointment:"",pending_assign:"",pending_assign_order_month:"",pending_assign_keyword:"",sort_unserved_days:"",...t}}function Gt(){return lt(q({pending_assign:1,has_appointment:"",pending_assign_order_month:Bt(),pending_assign_keyword:s.pending_assign_keyword}))}const Ht=t=>U(lt(t));function Kt(){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=()=>{Kt(),V.page=1,x(),S()},jt=ee(()=>[{label:"昨天挂号",value:Ue.value},{label:"前天挂号",value:Oe.value},{label:"当天挂号",value:he.value},{label:"明天挂号",value:Fe.value},{label:"后天挂号",value:Me.value},{label:"全部",value:""}]),ze=c({}),We=c(void 0),we=c(void 0),Ye=c(void 0),Jt=async t=>{s.pending_assign="",s.pending_assign_order_month="",s.pending_assign_keyword="",s.pending_booking="",s.completed_appointment="",s.has_appointment="",pe(),s.appointment_date=t,V.page=1,await x(),S()},Xt=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",pe(),V.page=1,await x(),S()},Zt=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="",pe(),V.page=1,await x(),S()},en=async()=>{s.pending_assign="1",s.pending_booking="",s.completed_appointment="",s.has_appointment="",s.appointment_date="",pe(),s.pending_assign_order_month||(s.pending_assign_order_month=Pe().format("YYYY-MM")),V.page=1,await x(),S()},tn=async t=>{s.pending_assign_order_month=t||"",s.pending_assign==="1"&&(V.page=1,await x(),S())},S=async()=>{try{const[t,e,r,g,u,y,D,W,re]=await Promise.all([U(q({appointment_date:Ue.value,has_appointment:""})),U(q({appointment_date:Oe.value,has_appointment:""})),U(q({appointment_date:he.value,has_appointment:""})),U(q({appointment_date:Fe.value,has_appointment:""})),U(q({appointment_date:Me.value,has_appointment:""})),U(q()),U(q({has_appointment:0})),U(q({completed_appointment:1,has_appointment:""})),U(Gt())]);ze.value={[Ue.value]:(t==null?void 0:t.count)??0,[Oe.value]:(e==null?void 0:e.count)??0,[he.value]:(r==null?void 0:r.count)??0,[Fe.value]:(g==null?void 0:g.count)??0,[Me.value]:(u==null?void 0:u.count)??0,"":(y==null?void 0:y.count)??0},We.value=(D==null?void 0:D.count)??0,we.value=(W==null?void 0:W.count)??0,Ye.value=(re==null?void 0:re.count)??0}catch(t){console.error("获取日期数量失败",t)}};function nn(){const t=()=>S();typeof requestIdleCallback=="function"?requestIdleCallback(t,{timeout:2500}):setTimeout(t,120)}const an=2e4;let ye=null;function sn(){typeof document<"u"&&document.hidden||(x({silent:!0}).catch(()=>{}),S())}const P=t=>String(t).padStart(2,"0"),he=ee(()=>{const t=new Date;return`${t.getFullYear()}-${P(t.getMonth()+1)}-${P(t.getDate())}`}),Fe=ee(()=>{const t=new Date;return t.setDate(t.getDate()+1),`${t.getFullYear()}-${P(t.getMonth()+1)}-${P(t.getDate())}`}),Me=ee(()=>{const t=new Date;return t.setDate(t.getDate()+2),`${t.getFullYear()}-${P(t.getMonth()+1)}-${P(t.getDate())}`}),Ue=ee(()=>{const t=new Date;return t.setDate(t.getDate()-1),`${t.getFullYear()}-${P(t.getMonth()+1)}-${P(t.getDate())}`}),Oe=ee(()=>{const t=new Date;return t.setDate(t.getDate()-2),`${t.getFullYear()}-${P(t.getMonth()+1)}-${P(t.getDate())}`}),ot=c([]),dt=c([]),_e=c([]),rt=c([]),ln=async()=>{try{const[t,e,r,g]=await Promise.all([at({type:"diagnosis_type"}),at({type:"syndrome_type"}),at({type:"channels"}),cs()]);ot.value=(t==null?void 0:t.diagnosis_type)||[],dt.value=(e==null?void 0:e.syndrome_type)||[],rt.value=((r==null?void 0:r.channels)||[]).filter(u=>u.status!==0).sort((u,y)=>{const D=Number((y==null?void 0:y.sort)??0)-Number((u==null?void 0:u.sort)??0);return D!==0?D:Number((y==null?void 0:y.id)??0)-Number((u==null?void 0:u.id)??0)}).map(u=>({name:String((u==null?void 0:u.name)??(u==null?void 0:u.value)??""),value:(u==null?void 0:u.value)!=null&&u.value!==""?String(u.value):""})),_e.value=g||[]}catch(t){console.error("获取字典数据失败:",t)}},pe=()=>{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),_t=()=>{ut()&&(s.appointment_date="",s.pending_booking="",s.completed_appointment="",s.has_appointment==="0"&&(s.has_appointment="")),B()},on=()=>{B()},dn=({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()},pt=t=>{const e=String((t==null?void 0:t.latest_appointment_channel_source_desc)||"").trim(),r=String((t==null?void 0:t.latest_appointment_channel_source)||"").trim(),g=String((t==null?void 0:t.latest_appointment_channel_source_detail)||"").trim(),u=e||r;return u?g?`${u}(${g})`:u:""},rn=t=>{if(!t&&t!==0)return"-";const e=typeof t=="string"?parseInt(t):t;if(_e.value.length===0)return"...";const r=_e.value.find(g=>(typeof g.id=="string"?parseInt(g.id):g.id)===e);return r?r.name:"-"},{pager:V,getLists:x}=xs({fetchFun:Ht,params:s}),un=()=>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()},mt=t=>{const e=t.DiagnosisViewRecord||[];return e.length>0&&e.some(r=>r.is_confirmed==1)},pn=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"},mn=({row:t})=>mt(t)?t.has_appointment?"":"row-no-appointment":"row-unconfirmed",se=c(),cn=c(),ct=c(),gt=c(),ke=c(null),be=Ds();Va([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=c(!1),ft=c(0),gn=t=>{var r;const e=t.assistant_id??t.assistant;return e==null||e===""?!1:Number(e)===Number((r=be.userInfo)==null?void 0:r.id)},fn=t=>{ft.value=Number(t.id)||0,Ce.value=!0},vn=t=>gn(t)&&O(["tcm.diagnosis/watchCall"]),xe=t=>{var e;return((e=t.video_call_hint)==null?void 0:e.state)||"none"},yn=t=>{const e=t.video_call_hint,r="点击进入实时房间(仅观看,不推流、不上麦)";return e!=null&&e.start_time?`${r}。开始时间:${Yt(e.start_time)}`:r},hn=t=>{const e=xe(t);return e==="live"||e==="pending_room"},kn=t=>xe(t)==="pending_room"?"医生尚未接通或未同步房间号,接通后再点此进入":yn(t),bn=t=>{if(xe(t)!=="live"){f.msgWarning("医生尚未接通或未同步房间号,请稍后再试");return}fn(t)},Cn=t=>{const e=t.video_call_hint;return e!=null&&e.label?e.label:"暂无可旁观通话"},xn=t=>{const e=xe(t);if(e==="none")return"—";if(e==="live")return"通话中";if(e==="pending_room")return"接通中";const r=t.video_call_hint;return(r==null?void 0:r.label)||"—"},ie=c(!1),De=c(),qe=c(!1),h=nt({patient_id:"",patient_name:"",phone:"",order_type:"",amount:0,remark:"",has_appointment:!1,appointment_time_text:""}),Dn={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},Vn=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},An=()=>{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()},En=async()=>{var t;try{await((t=De.value)==null?void 0:t.validate()),qe.value=!0;const e=await Cs({patient_id:h.patient_id,order_type:h.order_type,amount:h.amount,remark:h.remark});ie.value=!1,x();const r=e==null?void 0:e.order_no;if(r){Q.value=!0,K.value=!0,j.value="",J.value={patient_name:h.patient_name,has_appointment:h.has_appointment,appointment_time_text:h.appointment_time_text};try{const g=await gs({order_no:r});g!=null&&g.qrcode_url?j.value=g.qrcode_url:f.msgError("二维码生成失败")}catch(g){f.msgError((g==null?void 0:g.msg)||"生成二维码失败")}finally{K.value=!1}}}catch(e){console.error("创建订单失败:",e)}finally{qe.value=!1}},Q=c(!1),K=c(!1),j=c(""),J=c(null),Sn=ee(()=>{const t=J.value;return t?t.has_appointment?t.appointment_time_text||"—":"未挂号":"—"}),Be=c("小程序二维码"),Qe=c("confirm"),T=c([]),le=c([]),te=c(!1),Ge=c(!1),me=c("batch"),ce=c(null),A=c({assistant_id:null,is_inherit:!1});function $n(){le.value=[],A.value.assistant_id=null,A.value.is_inherit=!1}const Rn=t=>{T.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(!T.value.length)return!1;const t=new Set(T.value);return V.lists.some(e=>t.has(e.id)&&Ve(e))}),Ln=t=>{me.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},In=()=>{if(T.value.length===0){f.msgWarning("请先选择要指派的诊单");return}me.value="batch",ce.value=null,A.value.assistant_id=null,A.value.is_inherit=!1,le.value=[...T.value],te.value=!0},Nn=async()=>{if(!A.value.assistant_id){f.msgWarning("请选择医助");return}Ge.value=!0;try{if(me.value==="single")await Ne({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 Ne({id:e,assistant_id:A.value.assistant_id,is_inherit:A.value.is_inherit?1:0});T.value=[],le.value=[]}te.value=!1,x()}catch(t){console.error("指派失败:",t)}finally{Ge.value=!1}},Pn=async t=>{if(!(t!=null&&t.id)||!Ve(t)){f.msgWarning("该诊单未指派医助");return}await f.confirm("确定取消该诊单的医助指派吗?"),await Ne({id:t.id,assistant_id:0}),x()},zn=async()=>{if(!T.value.length){f.msgWarning("请先选择诊单");return}const t=new Set(T.value),e=V.lists.filter(r=>t.has(r.id)&&Ve(r));if(!e.length){f.msgWarning("所选诊单中没有已指派医助的记录");return}await f.confirm(`确定取消 ${e.length} 条诊单的医助指派吗?`),await Promise.all(e.map(r=>Ne({id:r.id,assistant_id:0}))),T.value=[],x()},Wn=()=>{se.value.open("add")},wn=t=>{se.value.open("edit",t)};function Yn(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 Fn=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})},Mn=()=>{var t,e;x(),(e=(t=se.value)==null?void 0:t.refreshCaseList)==null||e.call(t)},Un=async t=>{await f.confirm("确定要删除该诊单吗?"),await ks({id:t}),x()},On=(t,e)=>{switch(t){case"assign":Ln(e);break;case"cancelAssign":Pn(e);break;case"videoQr":if(!ge(e)){f.msgWarning("仅「已预约」状态可生成视频二维码");return}ht(e);break;case"confirmQr":kt(e);break;case"cancelApt":Kn(e);break;case"guahaoLogs":Zn(e);break;case"order":Vn(e);break;case"delete":Un(e.id);break}},qn=t=>{const e=Number(t.appointment_status);return e===3?"已完成":e===4?"已过号":"已挂号"},Bn=t=>{const e=Number(t);return e===3?"已完成":e===4?"已过号":"已挂号"},Ae=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}]:[]},Qn=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}},Gn=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}},ge=t=>t.has_appointment&&Number(t.appointment_status)===1,vt=t=>{const e=Number(t.appointment_status);return!!(t.has_appointment&&t.appointment_id&&(e===1||e===4))},He=t=>{const e=Number(t==null?void 0:t.status);return!!(t!=null&&t.id&&(e===1||e===4))},Hn=t=>vt(t)?Ae(t).length<=1:!1,Kn=async t=>{var u;if(!vt(t)){const y=Number(t.appointment_status);t.has_appointment&&y===3?f.msgWarning("已完成就诊,无法取消挂号"):f.msgWarning("该诊单未挂号或挂号信息异常");return}const e=Ae(t),r=e.length===1?e[0]:null,g=r!=null&&r.id&&He(r)?r.id:t.appointment_id;try{await f.confirm(`确定要取消患者「${t.patient_name}」的挂号吗?`),await Rt({id:g}),f.msgSuccess("取消挂号成功"),x(),S(),ne.value&&((u=G.value)==null?void 0:u.id)===t.id&&await Se(t.id)}catch(y){y!=="cancel"&&f.msgError((y==null?void 0:y.msg)||"取消挂号失败")}},jn=async(t,e)=>{var u;if(!He(e)){Number(e==null?void 0:e.status)===3?f.msgWarning("已完成就诊,无法取消挂号"):f.msgWarning("该挂号无法取消");return}const r=e.doctor_name||"—",g=e.time_text||"—";try{await f.confirm(`确定取消「${r}」${g} 的挂号吗?(患者:${t.patient_name||"—"})`),await Rt({id:e.id}),f.msgSuccess("取消挂号成功"),x(),S(),ne.value&&((u=G.value)==null?void 0:u.id)===t.id&&await Se(t.id)}catch(y){y!=="cancel"&&f.msgError((y==null?void 0:y.msg)||"取消挂号失败")}},ne=c(!1),Ee=c(!1),oe=c([]),G=c(null);function Jn(){oe.value=[],G.value=null}function Xn(t){const e=String((t==null?void 0:t.admin_name)||"").trim(),r=Number(t==null?void 0:t.admin_id);return e||(r>0?`管理员 #${r}`:"—")}async function Se(t){Ee.value=!0;try{const e=await fs({id:t});oe.value=Array.isArray(e==null?void 0:e.data)?e.data:Array.isArray(e)?e:[]}catch{oe.value=[]}finally{Ee.value=!1}}async function Zn(t){if(!(t!=null&&t.id)){f.msgWarning("诊单信息不完整");return}G.value=t,ne.value=!0,await Se(Number(t.id))}async function ea(){var t;await x({silent:!0}),S(),ne.value&&((t=G.value)!=null&&t.id)&&await Se(Number(G.value.id))}const ta=t=>{var e;if(!t.patient_id){f.msgWarning("患者信息不完整");return}(e=gt.value)==null||e.open(t)},de=c(!1),Ke=c(!1),yt=c(),z=nt({id:0,patient_name:"",id_card:""}),na={id_card:[{required:!0,validator:(t,e,r)=>{if(!e){r(new Error("请输入身份证号"));return}const g=/^[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),u=/^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/.test(e);g||u?r():r(new Error("请输入15或18位有效身份证号"))},trigger:"blur"}]},aa=t=>{z.id=t.id,z.patient_name=t.patient_name||"-",z.id_card=t.id_card||"",de.value=!0},sa=async()=>{var t;await((t=yt.value)==null?void 0:t.validate()),Ke.value=!0;try{await vs({id:z.id,id_card:z.id_card}),f.msgSuccess("补全成功,年龄已自动更新"),de.value=!1,x()}catch(e){f.msgError((e==null?void 0:e.msg)||"补全失败")}finally{Ke.value=!1}},ht=async t=>{var e;if(!ge(t)){f.msgWarning("仅「已预约」状态可生成视频二维码");return}if(!t.patient_id){f.msgWarning("患者信息不完整");return}Qe.value="video",J.value=t,Q.value=!0,K.value=!0,j.value="",Be.value="视频二维码";try{const r=await Tt();if(!(r!=null&&r.app_id)){f.msgError("小程序未配置,请先配置小程序信息"),Q.value=!1;return}const g=await St({doctor_id:t.appointment_doctor_id,diagnosis_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=be.userInfo)==null?void 0:e.id)||"",mini_program_path:"pages/login/login"});g!=null&&g.qrcode_url?j.value=g.qrcode_url:f.msgError("二维码生成失败")}catch(r){f.msgError((r==null?void 0:r.msg)||"生成二维码失败,请重试")}finally{K.value=!1}},kt=async t=>{if(!ge(t)){f.msgWarning("仅「已预约」状态可使用诊单二维码");return}if(!t.patient_id){f.msgWarning("患者信息不完整");return}Qe.value="confirm",J.value=t,Q.value=!0,K.value=!0,j.value="",Be.value="诊单二维码";try{const e=await Tt();if(!(e!=null&&e.app_id)){f.msgError("小程序未配置,请先配置小程序信息"),Q.value=!1;return}const r=be.userInfo,g=await St({diagnosis_id:t.id,doctor_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:(r==null?void 0:r.id)||""});g!=null&&g.qrcode_url?j.value=g.qrcode_url:f.msgError("二维码生成失败")}catch(e){console.error("生成小程序二维码失败:",e),f.msgError((e==null?void 0:e.msg)||"生成二维码失败,请重试")}finally{K.value=!1}},ia=()=>{J.value&&(Qe.value==="video"?ht(J.value):kt(J.value))},$e=c(!1),I=c(null),X=c([]),Re=c(0),je=c(!1),N=c(null),ae=c(""),Je=c(!1),Xe=c(1),la=t=>{if(!t)return"-";const e=String(t).length===10?t*1e3:t;return Pe(e).format("YYYY-MM-DD HH:mm")},oa=async t=>{I.value=t,$e.value=!0,X.value=[],Re.value=0,N.value=null,ae.value="",Xe.value=1,je.value=!0;try{const[e,r]=await Promise.all([$t({diagnosis_id:t.id,patient_id:t.patient_id,page_no:1,page_size:20}),bs({patient_id:t.patient_id||t.id}).catch(()=>null)]);X.value=(e==null?void 0:e.lists)||[],Re.value=(e==null?void 0:e.count)||0,N.value=r}catch(e){console.error("加载企业微信记录失败:",e)}finally{je.value=!1}},da=async()=>{if(I.value){Xe.value++;try{const t=await $t({diagnosis_id:I.value.id,patient_id:I.value.patient_id,page_no:Xe.value,page_size:20});X.value.push(...(t==null?void 0:t.lists)||[])}catch(t){console.error("加载更多记录失败:",t)}}},ra=async()=>{var t;if(!ae.value.trim()){f.msgWarning("请输入内容");return}Je.value=!0;try{await ys({diagnosis_id:I.value.id,patient_id:I.value.patient_id,content:ae.value.trim(),msg_type:"note",staff_name:((t=be.userInfo)==null?void 0:t.name)||"",external_name:I.value.patient_name||""}),ae.value="",oa(I.value)}catch(e){f.msgError((e==null?void 0:e.msg)||"添加失败")}finally{Je.value=!1}},ua=async t=>{await f.confirm("确定删除该记录吗?");try{await hs({id:t}),X.value=X.value.filter(e=>e.id!==t),Re.value--}catch(e){f.msgError((e==null?void 0:e.msg)||"删除失败")}},_a=Aa(),pa=Ea(),bt=t=>{if(!O(["tcm.diagnosis/readonlyDetail"]))return;const e=Number(t==null?void 0:t.id);!e||e<=0||pa.push({path:"/tcm/diagnosis-readonly",query:{id:String(e)}})};return Sa(()=>{s.appointment_date=he.value,ln(),x(),nn(),ye=setInterval(sn,an);const t=_a.query.id;if(t!=null&&t!==""){const e=Number(t);Number.isNaN(e)||(ke.value=e)}}),$a(()=>{ye!=null&&(clearInterval(ye),ye=null)}),(t,e)=>{var Dt;const r=Ta,g=La,u=Ia,y=Na,D=za,W=Pa,re=wa,L=Fa,w=Ma,Ct=Ua,Z=Ba,ma=qa,ca=Oa,ga=Ya,fa=ms,va=Za,ya=ts,ha=es,xt=ns,Te=ss,Y=ls,ka=os,Ze=is,ba=ds,Le=us,Ca=rs,xa=_s,Da=ps,F=Ra("perms"),et=Xa;return o(),_("div",As,[l(re,{class:"filter-card !border-none",shadow:"never"},{default:i(()=>[d("div",Es,[d("div",Ss,[(o(!0),_(E,null,R(jt.value,n=>(o(),_("span",{key:n.value,class:M(["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=>Jt(n.value)},[p(m(n.label)+" ",1),a(ze)[n.value]!==void 0?(o(),_("em",Rs,m(a(ze)[n.value]),1)):b("",!0)],10,$s))),128)),d("span",{class:M(["chip","chip-pending-booking",{active:a(s).pending_booking==="1"}]),onClick:Xt},[e[34]||(e[34]=p(" 待预约 ",-1)),a(We)!==void 0?(o(),_("em",Ts,m(a(We)),1)):b("",!0)],2),d("span",{class:M(["chip","chip-completed-visit",{active:a(s).completed_appointment==="1"}]),onClick:Zt},[e[35]||(e[35]=p(" 已完成 ",-1)),a(we)!==void 0?(o(),_("em",Ls,m(a(we)),1)):b("",!0)],2),$((o(),_("span",Is,[d("span",{class:M(["chip","chip-pending",{active:a(s).pending_assign==="1"}]),onClick:en},[e[36]||(e[36]=p(" 待分配医助 ",-1)),a(Ye)!==void 0?(o(),_("em",Ns,m(a(Ye)),1)):b("",!0)],2),a(s).pending_assign==="1"?(o(),v(r,{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:tn},null,8,["modelValue"])):b("",!0),a(s).pending_assign==="1"?(o(),v(g,{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:Vt(B,["enter"]),onClear:B},null,8,["modelValue"])):b("",!0)])),[[F,["tcm.diagnosis/assign"]]])]),d("div",Ps,[l(g,{modelValue:a(s).keyword,"onUpdate:modelValue":e[2]||(e[2]=n=>a(s).keyword=n),placeholder:"患者姓名 / 手机号",clearable:"",class:"search-input",onKeyup:Vt(B,["enter"])},null,8,["modelValue"]),l(u,{type:"primary",onClick:B},{default:i(()=>[...e[37]||(e[37]=[p("查询",-1)])]),_:1})])]),d("div",zs,[e[38]||(e[38]=d("span",{class:"chip-label"},"挂号:",-1)),(o(),_(E,null,R(Ft,n=>d("span",{key:n.value,class:M(["chip","chip-sm",{active:a(s).has_appointment===n.value}]),onClick:k=>Ut(n.value)},m(n.label),11,Ws)),64)),e[39]||(e[39]=d("span",{class:"chip-divider"},null,-1)),e[40]||(e[40]=d("span",{class:"chip-label"},"确认:",-1)),(o(),_(E,null,R(Mt,n=>d("span",{key:n.value,class:M(["chip","chip-sm",{active:a(s).diagnosis_confirmed===n.value}]),onClick:k=>Ot(n.value)},m(n.label),11,ws)),64)),l(u,{link:"",type:"primary",size:"small",class:"more-btn",onClick:e[3]||(e[3]=n=>ue.value=!a(ue))},{default:i(()=>[p(m(a(ue)?"收起":"更多筛选")+" ",1),l(y,{class:M({"rotate-180":a(ue)})},{default:i(()=>[l(a(At))]),_:1},8,["class"])]),_:1})]),$(d("div",Ys,[l(W,{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),_(E,null,R(a(ot),n=>(o(),v(D,{key:n.value,label:n.name,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(W,{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),_(E,null,R(a(dt),n=>(o(),v(D,{key:n.value,label:n.name,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(W,{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),_(E,null,R(a(_e),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:_t},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:on},null,8,["startTime","endTime"]),l(W,{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:_t},{default:i(()=>[(o(!0),_(E,null,R(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(u,{size:"small",onClick:_n},{default:i(()=>[...e[41]||(e[41]=[p("重置",-1)])]),_:1})],512),[[Wa,a(ue)]])]),_:1}),l(re,{class:"!border-none mt-3 list-card",shadow:"never"},{default:i(()=>[d("div",Fs,[d("div",Ms,[$((o(),v(u,{type:"primary",onClick:Wn},{default:i(()=>[...e[42]||(e[42]=[p("新增诊单",-1)])]),_:1})),[[F,["tcm.diagnosis/add"]]]),$((o(),v(u,{type:"success",onClick:In,disabled:a(T).length===0},{default:i(()=>[...e[43]||(e[43]=[p(" 批量指派医助 ",-1)])]),_:1},8,["disabled"])),[[F,["tcm.diagnosis/assign"]]]),$((o(),v(u,{type:"warning",plain:"",onClick:zn,disabled:!Tn.value},{default:i(()=>[...e[44]||(e[44]=[p(" 批量取消指派 ",-1)])]),_:1},8,["disabled"])),[[F,["tcm.diagnosis/assign"]]])]),a(T).length>0?(o(),_("div",Us,"已选 "+m(a(T).length)+" 条",1)):b("",!0)]),d("div",Os,[$((o(),v(ga,{data:a(V).lists,"row-key":"id",size:"default",onSelectionChange:Rn,onRowDblclick:bt,onSortChange:dn,"row-class-name":mn,class:"diagnosis-table",stripe:""},{default:i(()=>[l(L,{type:"selection",width:"48",align:"center"}),l(L,{label:"ID","min-width":"70"},{default:i(({row:n})=>[d("div",qs,[d("div",Bs,[d("div",Qs,[p(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]=[p("NEW",-1)])]),_:1})):b("",!0)])])])]),_:1}),l(L,{label:"患者","min-width":"60"},{default:i(({row:n})=>[d("div",Gs,[d("div",Hs,[d("div",Ks,m(n.patient_name),1)])])]),_:1}),l(L,{label:" 性别 / 年龄",width:"100",align:"left"},{default:i(({row:n})=>[d("div",null,m(n.gender_desc||"-")+" · "+m(n.age??"-")+"岁",1)]),_:1}),l(L,{label:"挂号","min-width":"175"},{default:i(({row:n})=>[d("div",{class:M(["appointment-cell",Gn(n)])},[n.has_appointment?(o(),_(E,{key:0},[Ae(n).length?(o(!0),_(E,{key:0},R(Ae(n),k=>(o(),_("div",{key:k.id||`${k.doctor_id}-${k.time_text}`,class:M(["apt-item",Qn(k)])},[d("div",js,m(Bn(k.status)),1),d("div",Js,m(k.doctor_name||"-"),1),d("div",Xs,m(k.time_text||"-"),1),He(k)?(o(),_("div",Zs,[$((o(),v(u,{type:"danger",link:"",size:"small",onClick:tt(C=>jn(n,k),["stop"])},{default:i(()=>[...e[46]||(e[46]=[p(" 取消挂号 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/guahao"]]])])):b("",!0)],2))),128)):(o(),_(E,{key:1},[d("div",ei,m(qn(n)),1),d("div",ti,m(n.appointment_doctor_name||"-"),1),d("div",ni,m(n.appointment_time_text||"-"),1)],64)),pt(n)?(o(),_("div",ai," 最近渠道:"+m(pt(n)),1)):b("",!0)],64)):(o(),_("span",si,"未挂号"))],2)]),_:1}),l(L,{label:"确认",width:"88",align:"center"},{default:i(({row:n})=>[mt(n)?(o(),_("span",ii,"已确认")):(o(),_("span",li,"未确认"))]),_:1}),l(L,{label:"复诊","min-width":"120"},{default:i(({row:n})=>[n.has_prescription?(o(),_("div",oi,[d("div",di,m(n.followup_time_text||"—"),1),d("div",ri,m(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]=[p(" 处方已作废 ",-1)])]),_:1})):b("",!0)])):(o(),_("span",ui,"无"))]),_:1}),l(L,{label:"助理",width:"100","show-overflow-tooltip":""},{default:i(({row:n})=>[d("span",_i,m(rn(n.assistant_id||n.assistant)),1)]),_:1}),l(L,{label:"开方",width:"72",align:"center"},{default:i(({row:n})=>[n.has_prescription?(o(),_("span",pi,"已开方")):(o(),_("span",mi,"未开方"))]),_:1}),l(L,{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(Ct,{key:0,content:`最近一次健康打卡:${n.last_blood_record_at}`,placement:"top"},{default:i(()=>[d("span",{class:M(["unserved-days",pn(n.unserved_days)])},m(n.unserved_days??"—"),3)]),_:2},1032,["content"])):(o(),_("span",ci,"—"))]),_:1}),l(L,{label:"视频旁观",width:"120",fixed:"right",align:"center"},{default:i(({row:n})=>[d("div",gi,[vn(n)?(o(),_(E,{key:0},[hn(n)?(o(),v(Ct,{key:0,content:kn(n),placement:"top"},{default:i(()=>[d("span",fi,[l(u,{type:"primary",link:"",size:"small",onClick:k=>bn(n)},{default:i(()=>[...e[48]||(e[48]=[p(" 进入旁观 ",-1)])]),_:1},8,["onClick"])])]),_:2},1032,["content"])):(o(),_("span",vi,m(Cn(n)),1))],64)):(o(),_("span",yi,m(xn(n)),1))])]),_:1}),l(L,{label:"操作",width:"340",fixed:"right",align:"left"},{default:i(({row:n})=>[d("div",{class:"action-cell",onClick:e[12]||(e[12]=tt(()=>{},["stop"])),onDblclick:e[13]||(e[13]=tt(()=>{},["stop"]))},[$((o(),v(u,{type:"primary",link:"",size:"small",onClick:k=>bt(n)},{default:i(()=>[...e[49]||(e[49]=[p(" 查看 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/readonlyDetail"]]]),$((o(),v(u,{type:"primary",link:"",size:"small",onClick:k=>wn(n.id)},{default:i(()=>[...e[50]||(e[50]=[p("诊单",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/edit"]]]),$((o(),v(u,{type:"primary",link:"",size:"small",onClick:k=>Fn(n)},{default:i(()=>[p(m(Yn(n)),1)]),_:2},1032,["onClick"])),[[F,["tcm.diagnosis/kaifang"]]]),$((o(),v(u,{type:"success",link:"",size:"small",onClick:k=>ta(n)},{default:i(()=>[...e[51]||(e[51]=[p("预约",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/guahao"]]]),$((o(),v(u,{type:"warning",link:"",size:"small",onClick:k=>aa(n)},{default:i(()=>[...e[52]||(e[52]=[p("补全身份证",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/edit"]]]),l(ca,{trigger:"click",onCommand:k=>On(k,n),placement:"bottom-end"},{dropdown:i(()=>[l(ma,null,{default:i(()=>[a(O)(["tcm.diagnosis/assign"])?(o(),v(Z,{key:0,command:"assign"},{default:i(()=>[l(y,null,{default:i(()=>[l(a(Qa))]),_:1}),e[54]||(e[54]=p("指派",-1))]),_:1})):b("",!0),a(O)(["tcm.diagnosis/assign"])&&Ve(n)?(o(),v(Z,{key:1,command:"cancelAssign"},{default:i(()=>[l(y,null,{default:i(()=>[l(a(Ga))]),_:1}),e[55]||(e[55]=p("取消指派 ",-1))]),_:1})):b("",!0),ge(n)&&a(O)(["tcm.diagnosis/videoQr"])?(o(),v(Z,{key:2,command:"videoQr"},{default:i(()=>[l(y,null,{default:i(()=>[l(a(Et))]),_:1}),e[56]||(e[56]=p("视频二维码",-1))]),_:1})):b("",!0),a(O)(["tcm.diagnosis/guahao"])&&ge(n)?(o(),v(Z,{key:3,command:"confirmQr"},{default:i(()=>[l(y,null,{default:i(()=>[l(a(Et))]),_:1}),e[57]||(e[57]=p("二维码",-1))]),_:1})):b("",!0),Hn(n)&&a(O)(["tcm.diagnosis/guahao"])?(o(),v(Z,{key:4,command:"cancelApt"},{default:i(()=>[l(y,null,{default:i(()=>[l(a(Ha))]),_:1}),e[58]||(e[58]=p("取消挂号 ",-1))]),_:1})):b("",!0),a(O)(["tcm.diagnosis/guahaoLogList"])?(o(),v(Z,{key:5,command:"guahaoLogs"},{default:i(()=>[l(y,null,{default:i(()=>[l(a(Ka))]),_:1}),e[59]||(e[59]=p("挂号日志",-1))]),_:1})):b("",!0),a(O)(["tcm.diagnosis/order"])?(o(),v(Z,{key:6,command:"order"},{default:i(()=>[l(y,null,{default:i(()=>[l(a(ja))]),_:1}),e[60]||(e[60]=p("创建订单",-1))]),_:1})):b("",!0),a(O)(["tcm.diagnosis/delete"])?(o(),v(Z,{key:7,command:"delete",divided:""},{default:i(()=>[l(y,null,{default:i(()=>[l(a(Ja))]),_:1}),e[61]||(e[61]=d("span",{class:"text-danger"},"删除",-1))]),_:1})):b("",!0)]),_:2},1024)]),default:i(()=>[l(u,{type:"info",link:"",size:"small"},{default:i(()=>[e[53]||(e[53]=p("更多",-1)),l(y,{class:"el-icon--right"},{default:i(()=>[l(a(At))]),_:1})]),_:1})]),_:2},1032,["onCommand"])],32)]),_:1})]),_:1},8,["data"])),[[et,a(V).loading]]),d("div",hi,[l(fa,{modelValue:a(V),"onUpdate:modelValue":e[14]||(e[14]=n=>H(V)?V.value=n:null),onChange:a(x)},null,8,["modelValue","onChange"])])])]),_:1}),l(a(Nt),{ref_key:"editRef",ref:se,onSuccess:un},null,512),l(a(Pt),{ref_key:"detailRef",ref:cn},null,512),l(a(zt),{ref_key:"prescriptionRef",ref:ct,onSuccess:Mn},null,512),l(a(Wt),{ref_key:"appointmentRef",ref:gt,onSuccess:ea},null,512),l(a(wt),{modelValue:a(Ce),"onUpdate:modelValue":e[15]||(e[15]=n=>H(Ce)?Ce.value=n:null),"diagnosis-id":a(ft),onClosed:a(x)},null,8,["modelValue","diagnosis-id","onClosed"]),l(xt,{modelValue:a(ne),"onUpdate:modelValue":e[16]||(e[16]=n=>H(ne)?ne.value=n:null),title:"挂号操作日志",size:"460px","destroy-on-close":"",onClosed:Jn},{default:i(()=>[$((o(),_("div",ki,[a(G)?(o(),_("div",bi,[d("span",Ci,m(a(G).patient_name),1),e[62]||(e[62]=d("span",{class:"mx-2 text-gray-300"},"|",-1)),d("span",null,"诊单 #"+m(a(G).id),1)])):b("",!0),!a(Ee)&&a(oe).length===0?(o(),v(va,{key:1,description:"暂无挂号/取消挂号操作记录"})):a(oe).length>0?(o(),v(ha,{key:2},{default:i(()=>[(o(!0),_(E,null,R(a(oe),(n,k)=>(o(),v(ya,{key:n.id??k,timestamp:n.create_time_text||"—",placement:"top"},{default:i(()=>[d("div",xi,[l(w,{size:"small",type:"info"},{default:i(()=>[p(m(n.action_desc),1)]),_:2},1024),d("span",Di,m(Xn(n)),1)]),d("div",Vi,m(n.summary),1)]),_:2},1032,["timestamp"]))),128))]),_:1})):b("",!0)])),[[et,a(Ee)]])]),_:1},8,["modelValue"]),l(Te,{modelValue:a(Q),"onUpdate:modelValue":e[18]||(e[18]=n=>H(Q)?Q.value=n:null),title:a(Be),width:"400px","close-on-click-modal":!1},{footer:i(()=>[l(u,{onClick:e[17]||(e[17]=n=>Q.value=!1)},{default:i(()=>[...e[65]||(e[65]=[p("关闭",-1)])]),_:1}),a(K)?b("",!0):(o(),v(u,{key:0,type:"primary",onClick:ia},{default:i(()=>[...e[66]||(e[66]=[p(" 重新生成 ",-1)])]),_:1}))]),default:i(()=>{var n;return[d("div",Ai,[a(K)?(o(),_("div",Ei,[l(y,{class:"is-loading",size:40},{default:i(()=>[l(a(as))]),_:1}),e[63]||(e[63]=d("div",{class:"mt-4 text-gray-500"},"生成中...",-1))])):a(j)?(o(),_("div",Si,[d("img",{src:a(j),alt:"小程序二维码",class:"w-64 h-64 border border-gray-200 rounded"},null,8,$i),d("div",Ri,[d("div",null,"患者:"+m((n=a(J))==null?void 0:n.patient_name),1),d("div",Ti,"挂号时间:"+m(Sn.value),1),e[64]||(e[64]=d("div",{class:"mt-2"},"请使用企业微信扫描二维码,然后转发给患者",-1))])])):(o(),_("div",Li," 生成失败,请重试 "))])]}),_:1},8,["modelValue","title"]),l(Te,{modelValue:a(te),"onUpdate:modelValue":e[22]||(e[22]=n=>H(te)?te.value=n:null),title:a(me)==="batch"?"批量指派医助":"指派医助",width:"500px",onClosed:$n},{footer:i(()=>[l(u,{onClick:e[21]||(e[21]=n=>te.value=!1)},{default:i(()=>[...e[69]||(e[69]=[p("取消",-1)])]),_:1}),l(u,{type:"primary",onClick:Nn,loading:a(Ge)},{default:i(()=>[...e[70]||(e[70]=[p(" 确定指派 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[l(Ze,{model:a(A),"label-width":"100px"},{default:i(()=>[l(Y,{label:"选择医助",required:""},{default:i(()=>[l(W,{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),_(E,null,R(a(_e),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(ka,{modelValue:a(A).is_inherit,"onUpdate:modelValue":e[20]||(e[20]=n=>a(A).is_inherit=n)},{default:i(()=>[...e[67]||(e[67]=[p("继承",-1)])]),_:1},8,["modelValue"]),e[68]||(e[68]=d("span",{class:"text-gray-400 text-xs ml-2"},"勾选后写入指派记录",-1))]),_:1}),a(me)==="batch"?(o(),v(Y,{key:0,label:"已选择"},{default:i(()=>[d("div",Ii,m(a(le).length)+" 条诊单记录",1)]),_:1})):(o(),v(Y,{key:1,label:"诊单信息"},{default:i(()=>{var n,k;return[d("div",Ni,[d("div",null,"患者:"+m((n=a(ce))==null?void 0:n.patient_name),1),d("div",null,"诊断日期:"+m((k=a(ce))==null?void 0:k.diagnosis_date_text),1)])]}),_:1}))]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),l(Te,{modelValue:a(ie),"onUpdate:modelValue":e[27]||(e[27]=n=>H(ie)?ie.value=n:null),title:"创建订单",width:"600px",onClose:An},{footer:i(()=>[l(u,{onClick:e[26]||(e[26]=n=>ie.value=!1)},{default:i(()=>[...e[71]||(e[71]=[p("取消",-1)])]),_:1}),l(u,{type:"primary",onClick:En,loading:a(qe)},{default:i(()=>[...e[72]||(e[72]=[p("创建订单",-1)])]),_:1},8,["loading"])]),default:i(()=>[l(Ze,{ref_key:"orderFormRef",ref:De,model:a(h),rules:Dn,"label-width":"100px"},{default:i(()=>[l(Y,{label:"患者"},{default:i(()=>[d("span",Pi,m(a(h).patient_name)+" ("+m(st(a(h).phone))+")",1)]),_:1}),l(Y,{label:"订单类型",prop:"order_type"},{default:i(()=>[l(W,{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(ba,{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(g,{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(Te,{modelValue:a(de),"onUpdate:modelValue":e[30]||(e[30]=n=>H(de)?de.value=n:null),title:"补全身份证号",width:"400px","close-on-click-modal":!1,onClose:e[31]||(e[31]=n=>a(z).id_card="")},{footer:i(()=>[l(u,{onClick:e[29]||(e[29]=n=>de.value=!1)},{default:i(()=>[...e[73]||(e[73]=[p("取消",-1)])]),_:1}),l(u,{type:"primary",onClick:sa,loading:a(Ke)},{default:i(()=>[...e[74]||(e[74]=[p("提交(自动更新年龄)",-1)])]),_:1},8,["loading"])]),default:i(()=>[l(Ze,{ref_key:"fillIdCardFormRef",ref:yt,model:a(z),rules:na,"label-width":"80px"},{default:i(()=>[l(Y,{label:"患者"},{default:i(()=>[d("span",zi,m(a(z).patient_name),1)]),_:1}),l(Y,{label:"身份证号",prop:"id_card"},{default:i(()=>[l(g,{modelValue:a(z).id_card,"onUpdate:modelValue":e[28]||(e[28]=n=>a(z).id_card=n),placeholder:"请输入15或18位身份证号",maxlength:"18","show-word-limit":"",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(xt,{modelValue:a($e),"onUpdate:modelValue":e[33]||(e[33]=n=>H($e)?$e.value=n:null),title:`企业微信记录 - ${((Dt=a(I))==null?void 0:Dt.patient_name)||""}`,size:"600px","destroy-on-close":!0},{default:i(()=>{var n,k;return[a(N)?(o(),_("div",Wi,[l(Ca,{column:2,border:"",size:"small"},{default:i(()=>[l(Le,{label:"患者姓名"},{default:i(()=>{var C;return[p(m((C=a(I))==null?void 0:C.patient_name),1)]}),_:1}),l(Le,{label:"手机号"},{default:i(()=>[p(m(st(a(N).phone)||"-"),1)]),_:1}),l(Le,{label:"企微联系人ID"},{default:i(()=>[a(N).external_userid?(o(),_("span",wi,m(a(N).external_userid),1)):(o(),v(w,{key:1,type:"info",size:"small"},{default:i(()=>[...e[75]||(e[75]=[p("未关联",-1)])]),_:1}))]),_:1}),l(Le,{label:"会话存档"},{default:i(()=>[a(N).msgaudit_enabled?(o(),v(w,{key:0,type:"success",size:"small"},{default:i(()=>[...e[76]||(e[76]=[p("已开通",-1)])]),_:1})):(o(),v(w,{key:1,type:"info",size:"small"},{default:i(()=>[...e[77]||(e[77]=[p("未配置",-1)])]),_:1}))]),_:1})]),_:1}),(n=a(N).permit_users)!=null&&n.length?(o(),_("div",Yi,[e[78]||(e[78]=d("span",{class:"text-sm text-gray-500 mr-2"},"存档成员:",-1)),(o(!0),_(E,null,R(a(N).permit_users,C=>(o(),v(w,{key:C,size:"small",class:"mr-1"},{default:i(()=>[p(m(C),1)]),_:2},1024))),128))])):b("",!0),(k=a(N).msgaudit_agree)!=null&&k.length?(o(),_("div",Fi,[e[79]||(e[79]=d("span",{class:"text-sm text-gray-500 mr-2"},"存档同意:",-1)),(o(!0),_(E,null,R(a(N).msgaudit_agree,(C,Ie)=>(o(),v(w,{key:Ie,type:C.agree_status==="Agree"?"success":"warning",size:"small",class:"mr-1"},{default:i(()=>[p(m(C.userid)+": "+m(C.agree_status==="Agree"?"已同意":C.agree_status),1)]),_:2},1032,["type"]))),128))])):b("",!0)])):b("",!0),l(xa),d("div",Mi,[d("div",Ui,[l(g,{modelValue:a(ae),"onUpdate:modelValue":e[32]||(e[32]=C=>H(ae)?ae.value=C:null),type:"textarea",rows:2,placeholder:"添加沟通记录...",class:"flex-1"},null,8,["modelValue"]),l(u,{type:"primary",onClick:ra,loading:a(Je),class:"self-end"},{default:i(()=>[...e[80]||(e[80]=[p(" 添加 ",-1)])]),_:1},8,["loading"])])]),$((o(),_("div",null,[a(X).length===0?(o(),_("div",Oi," 暂无聊天记录 ")):(o(),_("div",qi,[(o(!0),_(E,null,R(a(X),C=>{var Ie;return o(),_("div",{key:C.id,class:"record-item"},[d("div",Bi,[d("div",Qi,[l(w,{type:C.direction===0?"primary":"success",size:"small"},{default:i(()=>[p(m(C.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),d("span",Gi,m(C.direction===0?C.staff_name:C.external_name||((Ie=a(I))==null?void 0:Ie.patient_name)),1),C.msg_type==="note"?(o(),v(w,{key:0,type:"warning",size:"small"},{default:i(()=>[...e[81]||(e[81]=[p("备注",-1)])]),_:1})):b("",!0)]),d("div",Hi,[d("span",Ki,m(la(C.chat_time)),1),l(u,{type:"danger",link:"",size:"small",onClick:al=>ua(C.id)},{default:i(()=>[...e[82]||(e[82]=[p(" 删除 ",-1)])]),_:1},8,["onClick"])])]),d("div",ji,m(C.content),1),C.media_url?(o(),_("div",Ji,[l(Da,{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(X).length?(o(),_("div",Xi,[l(u,{link:"",type:"primary",onClick:da},{default:i(()=>[...e[83]||(e[83]=[p("加载更多",-1)])]),_:1})])):b("",!0)])),[[et,a(je)]])]}),_:1},8,["modelValue","title"])])}}}),gl=Vs(el,[["__scopeId","data-v-2f7d7931"]]);export{gl as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DxLWCQnV.js","assets/.pnpm-9dA1PEvN.js","assets/.pnpm-LiWq8Xu0.css","assets/tcm-Fi_swgCr.js","assets/index-BWzN7QIb.js","assets/index-or10At3s.css","assets/perm-BzF8JgcJ.js","assets/DailyMatrix-BOqZMkKS.js","assets/picker-DfI3CPnQ.js","assets/index-dYaCh-CN.js","assets/index-dh40Du6y.css","assets/index-xDQ_OZln.js","assets/index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js","assets/index-fA0EWEUO.js","assets/index-BYMg0OFw.css","assets/index-DFkJDhf6.js","assets/file-BL6iPgPC.js","assets/index.vue_vue_type_script_setup_true_lang-Blf417m7.js","assets/usePaging-Boz1Q6w3.js","assets/index-D6uL8V1j.css","assets/picker-CLzhBfnG.css","assets/DiagnosisTodoList-CAIMA53u.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix--Ay5C05Q.css","assets/CaseRecordList-DlCqPijV.js","assets/CaseRecordList-DEgrl9PS.css","assets/CallRecordPanel-CJ3iGibG.js","assets/RecordingPlaybackBlock-CN4w1UI-.js","assets/RecordingVideoPlayer-DIfduEP7.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-p7h_1hh9.css","assets/ImChatRecordPanel-BMjxk7mx.js","assets/dayjs-BsOAYQJw.js","assets/im-business-message-parse-DmDISFGN.js","assets/ImChatRecordPanel-BRnJl8ir.css","assets/AssignLogPanel-CF42MNq_.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DxBIlcME.js","assets/doctor-Chj6BcVp.js","assets/AppointmentRecordPanel-BWS3OyF0.css","assets/NoteTimeline-DxUNQs4y.js","assets/patient-Btpwd7dp.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-CKjXSixL.js","assets/PrescriptionOrderDetailDrawer-CEi7ZXfx.js","assets/prescription-order-utils-B0fYlULc.js","assets/PrescriptionOrderDetailDrawer-DL92yzHH.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-B5cu05RL.js","assets/index-CNLsF7Nt.js","assets/medicine-DezWRkkS.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-DxQanmqx.css","assets/edit-Cgsl1tY9.css","assets/TrackingNoteTimeline-C-2kS81H.css","assets/detail-DwhNQqa0.js","assets/appointment-Bc2rxQW1.js","assets/appointment-DHf6UVnR.css","assets/AssistantWatchCallDialog-CRByNVWz.js","assets/AssistantWatchCallDialog-BYViF8Fb.css"])))=>i.map(i=>d[i]); +import{o as It,R as Va,Q as Aa,W as Ea,ap as Sa,aq as $a,be as Ra,q as o,r as _,v as l,D as i,s as d,F as E,G as R,ae as M,u as a,L as p,T as m,P as b,ac as $,O as v,bp as Ta,b7 as La,b8 as Vt,K as Ia,w as Na,ck as At,bm as Pa,bn as za,ad as Wa,bg as wa,bj as Ya,bk as Fa,br as Ma,aw as tt,a1 as Ua,$ as Oa,Z as qa,_ as Ba,cl as Qa,d0 as Ga,bE as Et,cO as Ha,cU as Ka,bH as ja,d1 as Ja,bi as Xa,C as H,bB as Za,c3 as es,c4 as ts,B as ns,b5 as as,bt as ss,b9 as is,b6 as ls,bd as os,J as ds,c0 as rs,c1 as us,bD as _s,aa as ps,cb as fe,al as ve,ba as nt,M as c,p as ee}from"./.pnpm-9dA1PEvN.js";import{_ as ms}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{aq as U,i as cs,Q as gs,ar as Ne,as as fs,at as vs,a2 as St,au as $t,av as ys,aw as hs,ax as ks,ay as bs}from"./tcm-Fi_swgCr.js";import{i as Cs}from"./order-B6cEisB-.js";import{m as Rt}from"./doctor-Chj6BcVp.js";import{u as xs}from"./usePaging-Boz1Q6w3.js";import{u as Ds,m as at,i as f,_ as Vs}from"./index-BWzN7QIb.js";import{g as Tt}from"./weapp-TlfRpIke.js";import{h as O}from"./perm-BzF8JgcJ.js";import{d as Pe}from"./dayjs-BsOAYQJw.js";import{_ as Lt}from"./index.vue_vue_type_script_setup_true_lang-C38LpCy9.js";const As={class:"tcm-diagnosis"},Es={class:"filter-main"},Ss={class:"date-chips"},$s=["onClick"],Rs={key:0},Ts={key:0},Ls={key:0},Is={class:"pending-assign-wrap"},Ns={key:0},Ps={class:"search-row"},zs={class:"filter-chips"},Ws=["onClick"],ws=["onClick"],Ys={class:"filter-more"},Fs={class:"list-header"},Ms={class:"list-actions"},Us={key:0,class:"list-selected"},Os={class:"table-wrap px-4"},qs={class:"patient-cell"},Bs={class:"patient-info"},Qs={class:"patient-name"},Gs={class:"patient-cell"},Hs={class:"patient-info"},Ks={class:"patient-name"},js={class:"apt-badge"},Js={class:"apt-doctor"},Xs={class:"apt-time"},Zs={key:0,class:"apt-actions"},ei={class:"apt-badge"},ti={class:"apt-doctor"},ni={class:"apt-time"},ai={key:2,class:"apt-latest-channel"},si={key:1,class:"apt-none"},ii={key:0,class:"status-confirmed"},li={key:1,class:"status-unconfirmed"},oi={key:0,class:"followup-cell"},di={class:"followup-time"},ri={class:"followup-doctor"},ui={key:1,class:"followup-none"},_i={class:"assistant-cell"},pi={key:0,class:"status-prescribed"},mi={key:1,class:"status-unprescribed"},ci={key:1,class:"unserved-days unserved-muted"},gi={class:"video-watch-col"},fi={class:"video-watch-trigger"},vi={key:1,class:"video-watch-muted"},yi={key:1,class:"video-watch-muted"},hi={class:"pagination-wrap"},ki={class:"min-h-[100px]"},bi={key:0,class:"text-sm text-gray-600 mb-4 pb-3 border-b border-gray-100"},Ci={class:"font-medium text-gray-800"},xi={class:"flex flex-wrap items-center gap-2"},Di={class:"text-sm font-medium text-gray-800"},Vi={class:"text-xs text-gray-600 mt-1.5 leading-relaxed"},Ai={class:"flex flex-col items-center justify-center py-4"},Ei={key:0,class:"text-center"},Si={key:1,class:"text-center"},$i=["src"],Ri={class:"mt-4 text-sm text-gray-600"},Ti={class:"mt-2"},Li={key:2,class:"text-center text-gray-500"},Ii={class:"text-gray-500"},Ni={class:"text-gray-500"},Pi={class:"font-medium"},zi={class:"font-medium"},Wi={key:0,class:"mb-4"},wi={key:0},Yi={key:0,class:"mt-2"},Fi={key:1,class:"mt-2"},Mi={class:"mb-4"},Ui={class:"flex gap-2"},Oi={key:0,class:"text-center text-gray-400 py-10"},qi={key:1,class:"record-list"},Bi={class:"record-header"},Qi={class:"flex items-center gap-2"},Gi={class:"font-medium text-sm"},Hi={class:"flex items-center gap-2"},Ki={class:"text-xs text-gray-400"},ji={class:"record-content"},Ji={key:0,class:"mt-1"},Xi={key:2,class:"text-center mt-4"},Zi=It({name:"tcmDiagnosis"}),el=It({...Zi,setup(tl){const Nt=fe(()=>ve(()=>import("./edit-DxLWCQnV.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]))),Pt=fe(()=>ve(()=>import("./detail-DwhNQqa0.js"),__vite__mapDeps([58,9,1,2,4,5,10,3]))),zt=fe(()=>ve(()=>import("./index-B5cu05RL.js"),__vite__mapDeps([50,1,2,51,52,4,5,53,54,3,55]))),Wt=fe(()=>ve(()=>import("./appointment-Bc2rxQW1.js"),__vite__mapDeps([59,1,2,34,3,4,5,40,60]))),wt=fe(()=>ve(()=>import("./AssistantWatchCallDialog-CRByNVWz.js"),__vite__mapDeps([61,1,2,3,4,5,62]))),Yt=t=>{if(!t)return"-";const e=String(t).length===10?Number(t)*1e3:Number(t);return Pe(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=nt({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=c("all"),ue=c(!1),Ft=[{label:"全部",value:""},{label:"已挂号",value:"1"},{label:"未挂号",value:"0"}],Mt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],Ut=t=>{s.has_appointment=t,s.pending_booking="",s.completed_appointment="",t==="0"&&pe(),V.page=1,x(),S()},Ot=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 r=String(t.pending_assign_keyword??"").trim(),g=String(t.keyword??"").trim();return r!==""||g!==""}function lt(t){if(!qt(t))return t;const e=String(t.pending_assign_keyword??"").trim(),r=String(t.keyword??"").trim(),g=e!==""?e:r;return{page_no:t.page_no,page_size:t.page_size,pending_assign:1,pending_assign_keyword:g}}function Bt(){const t=String(s.pending_assign_order_month??"").trim();return t!==""?t:s.pending_assign==="1"?"":Pe().format("YYYY-MM")}function Qt(){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,...Qt(),appointment_date:"",pending_booking:"",completed_appointment:"",pending_assign:"",pending_assign_order_month:"",pending_assign_keyword:"",sort_unserved_days:"",...t}}function Gt(){return lt(q({pending_assign:1,has_appointment:"",pending_assign_order_month:Bt(),pending_assign_keyword:s.pending_assign_keyword}))}const Ht=t=>U(lt(t));function Kt(){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=()=>{Kt(),V.page=1,x(),S()},jt=ee(()=>[{label:"昨天挂号",value:Ue.value},{label:"前天挂号",value:Oe.value},{label:"当天挂号",value:he.value},{label:"明天挂号",value:Fe.value},{label:"后天挂号",value:Me.value},{label:"全部",value:""}]),ze=c({}),We=c(void 0),we=c(void 0),Ye=c(void 0),Jt=async t=>{s.pending_assign="",s.pending_assign_order_month="",s.pending_assign_keyword="",s.pending_booking="",s.completed_appointment="",s.has_appointment="",pe(),s.appointment_date=t,V.page=1,await x(),S()},Xt=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",pe(),V.page=1,await x(),S()},Zt=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="",pe(),V.page=1,await x(),S()},en=async()=>{s.pending_assign="1",s.pending_booking="",s.completed_appointment="",s.has_appointment="",s.appointment_date="",pe(),s.pending_assign_order_month||(s.pending_assign_order_month=Pe().format("YYYY-MM")),V.page=1,await x(),S()},tn=async t=>{s.pending_assign_order_month=t||"",s.pending_assign==="1"&&(V.page=1,await x(),S())},S=async()=>{try{const[t,e,r,g,u,y,D,W,re]=await Promise.all([U(q({appointment_date:Ue.value,has_appointment:""})),U(q({appointment_date:Oe.value,has_appointment:""})),U(q({appointment_date:he.value,has_appointment:""})),U(q({appointment_date:Fe.value,has_appointment:""})),U(q({appointment_date:Me.value,has_appointment:""})),U(q()),U(q({has_appointment:0})),U(q({completed_appointment:1,has_appointment:""})),U(Gt())]);ze.value={[Ue.value]:(t==null?void 0:t.count)??0,[Oe.value]:(e==null?void 0:e.count)??0,[he.value]:(r==null?void 0:r.count)??0,[Fe.value]:(g==null?void 0:g.count)??0,[Me.value]:(u==null?void 0:u.count)??0,"":(y==null?void 0:y.count)??0},We.value=(D==null?void 0:D.count)??0,we.value=(W==null?void 0:W.count)??0,Ye.value=(re==null?void 0:re.count)??0}catch(t){console.error("获取日期数量失败",t)}};function nn(){const t=()=>S();typeof requestIdleCallback=="function"?requestIdleCallback(t,{timeout:2500}):setTimeout(t,120)}const an=2e4;let ye=null;function sn(){typeof document<"u"&&document.hidden||(x({silent:!0}).catch(()=>{}),S())}const P=t=>String(t).padStart(2,"0"),he=ee(()=>{const t=new Date;return`${t.getFullYear()}-${P(t.getMonth()+1)}-${P(t.getDate())}`}),Fe=ee(()=>{const t=new Date;return t.setDate(t.getDate()+1),`${t.getFullYear()}-${P(t.getMonth()+1)}-${P(t.getDate())}`}),Me=ee(()=>{const t=new Date;return t.setDate(t.getDate()+2),`${t.getFullYear()}-${P(t.getMonth()+1)}-${P(t.getDate())}`}),Ue=ee(()=>{const t=new Date;return t.setDate(t.getDate()-1),`${t.getFullYear()}-${P(t.getMonth()+1)}-${P(t.getDate())}`}),Oe=ee(()=>{const t=new Date;return t.setDate(t.getDate()-2),`${t.getFullYear()}-${P(t.getMonth()+1)}-${P(t.getDate())}`}),ot=c([]),dt=c([]),_e=c([]),rt=c([]),ln=async()=>{try{const[t,e,r,g]=await Promise.all([at({type:"diagnosis_type"}),at({type:"syndrome_type"}),at({type:"channels"}),cs()]);ot.value=(t==null?void 0:t.diagnosis_type)||[],dt.value=(e==null?void 0:e.syndrome_type)||[],rt.value=((r==null?void 0:r.channels)||[]).filter(u=>u.status!==0).sort((u,y)=>{const D=Number((y==null?void 0:y.sort)??0)-Number((u==null?void 0:u.sort)??0);return D!==0?D:Number((y==null?void 0:y.id)??0)-Number((u==null?void 0:u.id)??0)}).map(u=>({name:String((u==null?void 0:u.name)??(u==null?void 0:u.value)??""),value:(u==null?void 0:u.value)!=null&&u.value!==""?String(u.value):""})),_e.value=g||[]}catch(t){console.error("获取字典数据失败:",t)}},pe=()=>{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),_t=()=>{ut()&&(s.appointment_date="",s.pending_booking="",s.completed_appointment="",s.has_appointment==="0"&&(s.has_appointment="")),B()},on=()=>{B()},dn=({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()},pt=t=>{const e=String((t==null?void 0:t.latest_appointment_channel_source_desc)||"").trim(),r=String((t==null?void 0:t.latest_appointment_channel_source)||"").trim(),g=String((t==null?void 0:t.latest_appointment_channel_source_detail)||"").trim(),u=e||r;return u?g?`${u}(${g})`:u:""},rn=t=>{if(!t&&t!==0)return"-";const e=typeof t=="string"?parseInt(t):t;if(_e.value.length===0)return"...";const r=_e.value.find(g=>(typeof g.id=="string"?parseInt(g.id):g.id)===e);return r?r.name:"-"},{pager:V,getLists:x}=xs({fetchFun:Ht,params:s}),un=()=>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()},mt=t=>{const e=t.DiagnosisViewRecord||[];return e.length>0&&e.some(r=>r.is_confirmed==1)},pn=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"},mn=({row:t})=>mt(t)?t.has_appointment?"":"row-no-appointment":"row-unconfirmed",se=c(),cn=c(),ct=c(),gt=c(),ke=c(null),be=Ds();Va([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=c(!1),ft=c(0),gn=t=>{var r;const e=t.assistant_id??t.assistant;return e==null||e===""?!1:Number(e)===Number((r=be.userInfo)==null?void 0:r.id)},fn=t=>{ft.value=Number(t.id)||0,Ce.value=!0},vn=t=>gn(t)&&O(["tcm.diagnosis/watchCall"]),xe=t=>{var e;return((e=t.video_call_hint)==null?void 0:e.state)||"none"},yn=t=>{const e=t.video_call_hint,r="点击进入实时房间(仅观看,不推流、不上麦)";return e!=null&&e.start_time?`${r}。开始时间:${Yt(e.start_time)}`:r},hn=t=>{const e=xe(t);return e==="live"||e==="pending_room"},kn=t=>xe(t)==="pending_room"?"医生尚未接通或未同步房间号,接通后再点此进入":yn(t),bn=t=>{if(xe(t)!=="live"){f.msgWarning("医生尚未接通或未同步房间号,请稍后再试");return}fn(t)},Cn=t=>{const e=t.video_call_hint;return e!=null&&e.label?e.label:"暂无可旁观通话"},xn=t=>{const e=xe(t);if(e==="none")return"—";if(e==="live")return"通话中";if(e==="pending_room")return"接通中";const r=t.video_call_hint;return(r==null?void 0:r.label)||"—"},ie=c(!1),De=c(),qe=c(!1),h=nt({patient_id:"",patient_name:"",phone:"",order_type:"",amount:0,remark:"",has_appointment:!1,appointment_time_text:""}),Dn={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},Vn=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},An=()=>{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()},En=async()=>{var t;try{await((t=De.value)==null?void 0:t.validate()),qe.value=!0;const e=await Cs({patient_id:h.patient_id,order_type:h.order_type,amount:h.amount,remark:h.remark});ie.value=!1,x();const r=e==null?void 0:e.order_no;if(r){Q.value=!0,K.value=!0,j.value="",J.value={patient_name:h.patient_name,has_appointment:h.has_appointment,appointment_time_text:h.appointment_time_text};try{const g=await gs({order_no:r});g!=null&&g.qrcode_url?j.value=g.qrcode_url:f.msgError("二维码生成失败")}catch(g){f.msgError((g==null?void 0:g.msg)||"生成二维码失败")}finally{K.value=!1}}}catch(e){console.error("创建订单失败:",e)}finally{qe.value=!1}},Q=c(!1),K=c(!1),j=c(""),J=c(null),Sn=ee(()=>{const t=J.value;return t?t.has_appointment?t.appointment_time_text||"—":"未挂号":"—"}),Be=c("小程序二维码"),Qe=c("confirm"),T=c([]),le=c([]),te=c(!1),Ge=c(!1),me=c("batch"),ce=c(null),A=c({assistant_id:null,is_inherit:!1});function $n(){le.value=[],A.value.assistant_id=null,A.value.is_inherit=!1}const Rn=t=>{T.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(!T.value.length)return!1;const t=new Set(T.value);return V.lists.some(e=>t.has(e.id)&&Ve(e))}),Ln=t=>{me.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},In=()=>{if(T.value.length===0){f.msgWarning("请先选择要指派的诊单");return}me.value="batch",ce.value=null,A.value.assistant_id=null,A.value.is_inherit=!1,le.value=[...T.value],te.value=!0},Nn=async()=>{if(!A.value.assistant_id){f.msgWarning("请选择医助");return}Ge.value=!0;try{if(me.value==="single")await Ne({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 Ne({id:e,assistant_id:A.value.assistant_id,is_inherit:A.value.is_inherit?1:0});T.value=[],le.value=[]}te.value=!1,x()}catch(t){console.error("指派失败:",t)}finally{Ge.value=!1}},Pn=async t=>{if(!(t!=null&&t.id)||!Ve(t)){f.msgWarning("该诊单未指派医助");return}await f.confirm("确定取消该诊单的医助指派吗?"),await Ne({id:t.id,assistant_id:0}),x()},zn=async()=>{if(!T.value.length){f.msgWarning("请先选择诊单");return}const t=new Set(T.value),e=V.lists.filter(r=>t.has(r.id)&&Ve(r));if(!e.length){f.msgWarning("所选诊单中没有已指派医助的记录");return}await f.confirm(`确定取消 ${e.length} 条诊单的医助指派吗?`),await Promise.all(e.map(r=>Ne({id:r.id,assistant_id:0}))),T.value=[],x()},Wn=()=>{se.value.open("add")},wn=t=>{se.value.open("edit",t)};function Yn(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 Fn=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})},Mn=()=>{var t,e;x(),(e=(t=se.value)==null?void 0:t.refreshCaseList)==null||e.call(t)},Un=async t=>{await f.confirm("确定要删除该诊单吗?"),await ks({id:t}),x()},On=(t,e)=>{switch(t){case"assign":Ln(e);break;case"cancelAssign":Pn(e);break;case"videoQr":if(!ge(e)){f.msgWarning("仅「已预约」状态可生成视频二维码");return}ht(e);break;case"confirmQr":kt(e);break;case"cancelApt":Kn(e);break;case"guahaoLogs":Zn(e);break;case"order":Vn(e);break;case"delete":Un(e.id);break}},qn=t=>{const e=Number(t.appointment_status);return e===3?"已完成":e===4?"已过号":"已挂号"},Bn=t=>{const e=Number(t);return e===3?"已完成":e===4?"已过号":"已挂号"},Ae=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}]:[]},Qn=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}},Gn=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}},ge=t=>t.has_appointment&&Number(t.appointment_status)===1,vt=t=>{const e=Number(t.appointment_status);return!!(t.has_appointment&&t.appointment_id&&(e===1||e===4))},He=t=>{const e=Number(t==null?void 0:t.status);return!!(t!=null&&t.id&&(e===1||e===4))},Hn=t=>vt(t)?Ae(t).length<=1:!1,Kn=async t=>{var u;if(!vt(t)){const y=Number(t.appointment_status);t.has_appointment&&y===3?f.msgWarning("已完成就诊,无法取消挂号"):f.msgWarning("该诊单未挂号或挂号信息异常");return}const e=Ae(t),r=e.length===1?e[0]:null,g=r!=null&&r.id&&He(r)?r.id:t.appointment_id;try{await f.confirm(`确定要取消患者「${t.patient_name}」的挂号吗?`),await Rt({id:g}),f.msgSuccess("取消挂号成功"),x(),S(),ne.value&&((u=G.value)==null?void 0:u.id)===t.id&&await Se(t.id)}catch(y){y!=="cancel"&&f.msgError((y==null?void 0:y.msg)||"取消挂号失败")}},jn=async(t,e)=>{var u;if(!He(e)){Number(e==null?void 0:e.status)===3?f.msgWarning("已完成就诊,无法取消挂号"):f.msgWarning("该挂号无法取消");return}const r=e.doctor_name||"—",g=e.time_text||"—";try{await f.confirm(`确定取消「${r}」${g} 的挂号吗?(患者:${t.patient_name||"—"})`),await Rt({id:e.id}),f.msgSuccess("取消挂号成功"),x(),S(),ne.value&&((u=G.value)==null?void 0:u.id)===t.id&&await Se(t.id)}catch(y){y!=="cancel"&&f.msgError((y==null?void 0:y.msg)||"取消挂号失败")}},ne=c(!1),Ee=c(!1),oe=c([]),G=c(null);function Jn(){oe.value=[],G.value=null}function Xn(t){const e=String((t==null?void 0:t.admin_name)||"").trim(),r=Number(t==null?void 0:t.admin_id);return e||(r>0?`管理员 #${r}`:"—")}async function Se(t){Ee.value=!0;try{const e=await fs({id:t});oe.value=Array.isArray(e==null?void 0:e.data)?e.data:Array.isArray(e)?e:[]}catch{oe.value=[]}finally{Ee.value=!1}}async function Zn(t){if(!(t!=null&&t.id)){f.msgWarning("诊单信息不完整");return}G.value=t,ne.value=!0,await Se(Number(t.id))}async function ea(){var t;await x({silent:!0}),S(),ne.value&&((t=G.value)!=null&&t.id)&&await Se(Number(G.value.id))}const ta=t=>{var e;if(!t.patient_id){f.msgWarning("患者信息不完整");return}(e=gt.value)==null||e.open(t)},de=c(!1),Ke=c(!1),yt=c(),z=nt({id:0,patient_name:"",id_card:""}),na={id_card:[{required:!0,validator:(t,e,r)=>{if(!e){r(new Error("请输入身份证号"));return}const g=/^[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),u=/^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/.test(e);g||u?r():r(new Error("请输入15或18位有效身份证号"))},trigger:"blur"}]},aa=t=>{z.id=t.id,z.patient_name=t.patient_name||"-",z.id_card=t.id_card||"",de.value=!0},sa=async()=>{var t;await((t=yt.value)==null?void 0:t.validate()),Ke.value=!0;try{await vs({id:z.id,id_card:z.id_card}),f.msgSuccess("补全成功,年龄已自动更新"),de.value=!1,x()}catch(e){f.msgError((e==null?void 0:e.msg)||"补全失败")}finally{Ke.value=!1}},ht=async t=>{var e;if(!ge(t)){f.msgWarning("仅「已预约」状态可生成视频二维码");return}if(!t.patient_id){f.msgWarning("患者信息不完整");return}Qe.value="video",J.value=t,Q.value=!0,K.value=!0,j.value="",Be.value="视频二维码";try{const r=await Tt();if(!(r!=null&&r.app_id)){f.msgError("小程序未配置,请先配置小程序信息"),Q.value=!1;return}const g=await St({doctor_id:t.appointment_doctor_id,diagnosis_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=be.userInfo)==null?void 0:e.id)||"",mini_program_path:"pages/login/login"});g!=null&&g.qrcode_url?j.value=g.qrcode_url:f.msgError("二维码生成失败")}catch(r){f.msgError((r==null?void 0:r.msg)||"生成二维码失败,请重试")}finally{K.value=!1}},kt=async t=>{if(!ge(t)){f.msgWarning("仅「已预约」状态可使用诊单二维码");return}if(!t.patient_id){f.msgWarning("患者信息不完整");return}Qe.value="confirm",J.value=t,Q.value=!0,K.value=!0,j.value="",Be.value="诊单二维码";try{const e=await Tt();if(!(e!=null&&e.app_id)){f.msgError("小程序未配置,请先配置小程序信息"),Q.value=!1;return}const r=be.userInfo,g=await St({diagnosis_id:t.id,doctor_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:(r==null?void 0:r.id)||""});g!=null&&g.qrcode_url?j.value=g.qrcode_url:f.msgError("二维码生成失败")}catch(e){console.error("生成小程序二维码失败:",e),f.msgError((e==null?void 0:e.msg)||"生成二维码失败,请重试")}finally{K.value=!1}},ia=()=>{J.value&&(Qe.value==="video"?ht(J.value):kt(J.value))},$e=c(!1),I=c(null),X=c([]),Re=c(0),je=c(!1),N=c(null),ae=c(""),Je=c(!1),Xe=c(1),la=t=>{if(!t)return"-";const e=String(t).length===10?t*1e3:t;return Pe(e).format("YYYY-MM-DD HH:mm")},oa=async t=>{I.value=t,$e.value=!0,X.value=[],Re.value=0,N.value=null,ae.value="",Xe.value=1,je.value=!0;try{const[e,r]=await Promise.all([$t({diagnosis_id:t.id,patient_id:t.patient_id,page_no:1,page_size:20}),bs({patient_id:t.patient_id||t.id}).catch(()=>null)]);X.value=(e==null?void 0:e.lists)||[],Re.value=(e==null?void 0:e.count)||0,N.value=r}catch(e){console.error("加载企业微信记录失败:",e)}finally{je.value=!1}},da=async()=>{if(I.value){Xe.value++;try{const t=await $t({diagnosis_id:I.value.id,patient_id:I.value.patient_id,page_no:Xe.value,page_size:20});X.value.push(...(t==null?void 0:t.lists)||[])}catch(t){console.error("加载更多记录失败:",t)}}},ra=async()=>{var t;if(!ae.value.trim()){f.msgWarning("请输入内容");return}Je.value=!0;try{await ys({diagnosis_id:I.value.id,patient_id:I.value.patient_id,content:ae.value.trim(),msg_type:"note",staff_name:((t=be.userInfo)==null?void 0:t.name)||"",external_name:I.value.patient_name||""}),ae.value="",oa(I.value)}catch(e){f.msgError((e==null?void 0:e.msg)||"添加失败")}finally{Je.value=!1}},ua=async t=>{await f.confirm("确定删除该记录吗?");try{await hs({id:t}),X.value=X.value.filter(e=>e.id!==t),Re.value--}catch(e){f.msgError((e==null?void 0:e.msg)||"删除失败")}},_a=Aa(),pa=Ea(),bt=t=>{if(!O(["tcm.diagnosis/readonlyDetail"]))return;const e=Number(t==null?void 0:t.id);!e||e<=0||pa.push({path:"/tcm/diagnosis-readonly",query:{id:String(e)}})};return Sa(()=>{s.appointment_date=he.value,ln(),x(),nn(),ye=setInterval(sn,an);const t=_a.query.id;if(t!=null&&t!==""){const e=Number(t);Number.isNaN(e)||(ke.value=e)}}),$a(()=>{ye!=null&&(clearInterval(ye),ye=null)}),(t,e)=>{var Dt;const r=Ta,g=La,u=Ia,y=Na,D=za,W=Pa,re=wa,L=Fa,w=Ma,Ct=Ua,Z=Ba,ma=qa,ca=Oa,ga=Ya,fa=ms,va=Za,ya=ts,ha=es,xt=ns,Te=ss,Y=ls,ka=os,Ze=is,ba=ds,Le=us,Ca=rs,xa=_s,Da=ps,F=Ra("perms"),et=Xa;return o(),_("div",As,[l(re,{class:"filter-card !border-none",shadow:"never"},{default:i(()=>[d("div",Es,[d("div",Ss,[(o(!0),_(E,null,R(jt.value,n=>(o(),_("span",{key:n.value,class:M(["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=>Jt(n.value)},[p(m(n.label)+" ",1),a(ze)[n.value]!==void 0?(o(),_("em",Rs,m(a(ze)[n.value]),1)):b("",!0)],10,$s))),128)),d("span",{class:M(["chip","chip-pending-booking",{active:a(s).pending_booking==="1"}]),onClick:Xt},[e[34]||(e[34]=p(" 待预约 ",-1)),a(We)!==void 0?(o(),_("em",Ts,m(a(We)),1)):b("",!0)],2),d("span",{class:M(["chip","chip-completed-visit",{active:a(s).completed_appointment==="1"}]),onClick:Zt},[e[35]||(e[35]=p(" 已完成 ",-1)),a(we)!==void 0?(o(),_("em",Ls,m(a(we)),1)):b("",!0)],2),$((o(),_("span",Is,[d("span",{class:M(["chip","chip-pending",{active:a(s).pending_assign==="1"}]),onClick:en},[e[36]||(e[36]=p(" 待分配医助 ",-1)),a(Ye)!==void 0?(o(),_("em",Ns,m(a(Ye)),1)):b("",!0)],2),a(s).pending_assign==="1"?(o(),v(r,{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:tn},null,8,["modelValue"])):b("",!0),a(s).pending_assign==="1"?(o(),v(g,{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:Vt(B,["enter"]),onClear:B},null,8,["modelValue"])):b("",!0)])),[[F,["tcm.diagnosis/assign"]]])]),d("div",Ps,[l(g,{modelValue:a(s).keyword,"onUpdate:modelValue":e[2]||(e[2]=n=>a(s).keyword=n),placeholder:"患者姓名 / 手机号",clearable:"",class:"search-input",onKeyup:Vt(B,["enter"])},null,8,["modelValue"]),l(u,{type:"primary",onClick:B},{default:i(()=>[...e[37]||(e[37]=[p("查询",-1)])]),_:1})])]),d("div",zs,[e[38]||(e[38]=d("span",{class:"chip-label"},"挂号:",-1)),(o(),_(E,null,R(Ft,n=>d("span",{key:n.value,class:M(["chip","chip-sm",{active:a(s).has_appointment===n.value}]),onClick:k=>Ut(n.value)},m(n.label),11,Ws)),64)),e[39]||(e[39]=d("span",{class:"chip-divider"},null,-1)),e[40]||(e[40]=d("span",{class:"chip-label"},"确认:",-1)),(o(),_(E,null,R(Mt,n=>d("span",{key:n.value,class:M(["chip","chip-sm",{active:a(s).diagnosis_confirmed===n.value}]),onClick:k=>Ot(n.value)},m(n.label),11,ws)),64)),l(u,{link:"",type:"primary",size:"small",class:"more-btn",onClick:e[3]||(e[3]=n=>ue.value=!a(ue))},{default:i(()=>[p(m(a(ue)?"收起":"更多筛选")+" ",1),l(y,{class:M({"rotate-180":a(ue)})},{default:i(()=>[l(a(At))]),_:1},8,["class"])]),_:1})]),$(d("div",Ys,[l(W,{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),_(E,null,R(a(ot),n=>(o(),v(D,{key:n.value,label:n.name,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(W,{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),_(E,null,R(a(dt),n=>(o(),v(D,{key:n.value,label:n.name,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(W,{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),_(E,null,R(a(_e),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:_t},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:on},null,8,["startTime","endTime"]),l(W,{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:_t},{default:i(()=>[(o(!0),_(E,null,R(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(u,{size:"small",onClick:_n},{default:i(()=>[...e[41]||(e[41]=[p("重置",-1)])]),_:1})],512),[[Wa,a(ue)]])]),_:1}),l(re,{class:"!border-none mt-3 list-card",shadow:"never"},{default:i(()=>[d("div",Fs,[d("div",Ms,[$((o(),v(u,{type:"primary",onClick:Wn},{default:i(()=>[...e[42]||(e[42]=[p("新增诊单",-1)])]),_:1})),[[F,["tcm.diagnosis/add"]]]),$((o(),v(u,{type:"success",onClick:In,disabled:a(T).length===0},{default:i(()=>[...e[43]||(e[43]=[p(" 批量指派医助 ",-1)])]),_:1},8,["disabled"])),[[F,["tcm.diagnosis/assign"]]]),$((o(),v(u,{type:"warning",plain:"",onClick:zn,disabled:!Tn.value},{default:i(()=>[...e[44]||(e[44]=[p(" 批量取消指派 ",-1)])]),_:1},8,["disabled"])),[[F,["tcm.diagnosis/assign"]]])]),a(T).length>0?(o(),_("div",Us,"已选 "+m(a(T).length)+" 条",1)):b("",!0)]),d("div",Os,[$((o(),v(ga,{data:a(V).lists,"row-key":"id",size:"default",onSelectionChange:Rn,onRowDblclick:bt,onSortChange:dn,"row-class-name":mn,class:"diagnosis-table",stripe:""},{default:i(()=>[l(L,{type:"selection",width:"48",align:"center"}),l(L,{label:"ID","min-width":"70"},{default:i(({row:n})=>[d("div",qs,[d("div",Bs,[d("div",Qs,[p(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]=[p("NEW",-1)])]),_:1})):b("",!0)])])])]),_:1}),l(L,{label:"患者","min-width":"60"},{default:i(({row:n})=>[d("div",Gs,[d("div",Hs,[d("div",Ks,m(n.patient_name),1)])])]),_:1}),l(L,{label:" 性别 / 年龄",width:"100",align:"left"},{default:i(({row:n})=>[d("div",null,m(n.gender_desc||"-")+" · "+m(n.age??"-")+"岁",1)]),_:1}),l(L,{label:"挂号","min-width":"175"},{default:i(({row:n})=>[d("div",{class:M(["appointment-cell",Gn(n)])},[n.has_appointment?(o(),_(E,{key:0},[Ae(n).length?(o(!0),_(E,{key:0},R(Ae(n),k=>(o(),_("div",{key:k.id||`${k.doctor_id}-${k.time_text}`,class:M(["apt-item",Qn(k)])},[d("div",js,m(Bn(k.status)),1),d("div",Js,m(k.doctor_name||"-"),1),d("div",Xs,m(k.time_text||"-"),1),He(k)?(o(),_("div",Zs,[$((o(),v(u,{type:"danger",link:"",size:"small",onClick:tt(C=>jn(n,k),["stop"])},{default:i(()=>[...e[46]||(e[46]=[p(" 取消挂号 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/guahao"]]])])):b("",!0)],2))),128)):(o(),_(E,{key:1},[d("div",ei,m(qn(n)),1),d("div",ti,m(n.appointment_doctor_name||"-"),1),d("div",ni,m(n.appointment_time_text||"-"),1)],64)),pt(n)?(o(),_("div",ai," 最近渠道:"+m(pt(n)),1)):b("",!0)],64)):(o(),_("span",si,"未挂号"))],2)]),_:1}),l(L,{label:"确认",width:"88",align:"center"},{default:i(({row:n})=>[mt(n)?(o(),_("span",ii,"已确认")):(o(),_("span",li,"未确认"))]),_:1}),l(L,{label:"复诊","min-width":"120"},{default:i(({row:n})=>[n.has_prescription?(o(),_("div",oi,[d("div",di,m(n.followup_time_text||"—"),1),d("div",ri,m(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]=[p(" 处方已作废 ",-1)])]),_:1})):b("",!0)])):(o(),_("span",ui,"无"))]),_:1}),l(L,{label:"助理",width:"100","show-overflow-tooltip":""},{default:i(({row:n})=>[d("span",_i,m(rn(n.assistant_id||n.assistant)),1)]),_:1}),l(L,{label:"开方",width:"72",align:"center"},{default:i(({row:n})=>[n.has_prescription?(o(),_("span",pi,"已开方")):(o(),_("span",mi,"未开方"))]),_:1}),l(L,{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(Ct,{key:0,content:`最近一次健康打卡:${n.last_blood_record_at}`,placement:"top"},{default:i(()=>[d("span",{class:M(["unserved-days",pn(n.unserved_days)])},m(n.unserved_days??"—"),3)]),_:2},1032,["content"])):(o(),_("span",ci,"—"))]),_:1}),l(L,{label:"视频旁观",width:"120",fixed:"right",align:"center"},{default:i(({row:n})=>[d("div",gi,[vn(n)?(o(),_(E,{key:0},[hn(n)?(o(),v(Ct,{key:0,content:kn(n),placement:"top"},{default:i(()=>[d("span",fi,[l(u,{type:"primary",link:"",size:"small",onClick:k=>bn(n)},{default:i(()=>[...e[48]||(e[48]=[p(" 进入旁观 ",-1)])]),_:1},8,["onClick"])])]),_:2},1032,["content"])):(o(),_("span",vi,m(Cn(n)),1))],64)):(o(),_("span",yi,m(xn(n)),1))])]),_:1}),l(L,{label:"操作",width:"340",fixed:"right",align:"left"},{default:i(({row:n})=>[d("div",{class:"action-cell",onClick:e[12]||(e[12]=tt(()=>{},["stop"])),onDblclick:e[13]||(e[13]=tt(()=>{},["stop"]))},[$((o(),v(u,{type:"primary",link:"",size:"small",onClick:k=>bt(n)},{default:i(()=>[...e[49]||(e[49]=[p(" 查看 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/readonlyDetail"]]]),$((o(),v(u,{type:"primary",link:"",size:"small",onClick:k=>wn(n.id)},{default:i(()=>[...e[50]||(e[50]=[p("诊单",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/edit"]]]),$((o(),v(u,{type:"primary",link:"",size:"small",onClick:k=>Fn(n)},{default:i(()=>[p(m(Yn(n)),1)]),_:2},1032,["onClick"])),[[F,["tcm.diagnosis/kaifang"]]]),$((o(),v(u,{type:"success",link:"",size:"small",onClick:k=>ta(n)},{default:i(()=>[...e[51]||(e[51]=[p("预约",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/guahao"]]]),$((o(),v(u,{type:"warning",link:"",size:"small",onClick:k=>aa(n)},{default:i(()=>[...e[52]||(e[52]=[p("补全身份证",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/edit"]]]),l(ca,{trigger:"click",onCommand:k=>On(k,n),placement:"bottom-end"},{dropdown:i(()=>[l(ma,null,{default:i(()=>[a(O)(["tcm.diagnosis/assign"])?(o(),v(Z,{key:0,command:"assign"},{default:i(()=>[l(y,null,{default:i(()=>[l(a(Qa))]),_:1}),e[54]||(e[54]=p("指派",-1))]),_:1})):b("",!0),a(O)(["tcm.diagnosis/assign"])&&Ve(n)?(o(),v(Z,{key:1,command:"cancelAssign"},{default:i(()=>[l(y,null,{default:i(()=>[l(a(Ga))]),_:1}),e[55]||(e[55]=p("取消指派 ",-1))]),_:1})):b("",!0),ge(n)&&a(O)(["tcm.diagnosis/videoQr"])?(o(),v(Z,{key:2,command:"videoQr"},{default:i(()=>[l(y,null,{default:i(()=>[l(a(Et))]),_:1}),e[56]||(e[56]=p("视频二维码",-1))]),_:1})):b("",!0),a(O)(["tcm.diagnosis/guahao"])&&ge(n)?(o(),v(Z,{key:3,command:"confirmQr"},{default:i(()=>[l(y,null,{default:i(()=>[l(a(Et))]),_:1}),e[57]||(e[57]=p("二维码",-1))]),_:1})):b("",!0),Hn(n)&&a(O)(["tcm.diagnosis/guahao"])?(o(),v(Z,{key:4,command:"cancelApt"},{default:i(()=>[l(y,null,{default:i(()=>[l(a(Ha))]),_:1}),e[58]||(e[58]=p("取消挂号 ",-1))]),_:1})):b("",!0),a(O)(["tcm.diagnosis/guahaoLogList"])?(o(),v(Z,{key:5,command:"guahaoLogs"},{default:i(()=>[l(y,null,{default:i(()=>[l(a(Ka))]),_:1}),e[59]||(e[59]=p("挂号日志",-1))]),_:1})):b("",!0),a(O)(["tcm.diagnosis/order"])?(o(),v(Z,{key:6,command:"order"},{default:i(()=>[l(y,null,{default:i(()=>[l(a(ja))]),_:1}),e[60]||(e[60]=p("创建订单",-1))]),_:1})):b("",!0),a(O)(["tcm.diagnosis/delete"])?(o(),v(Z,{key:7,command:"delete",divided:""},{default:i(()=>[l(y,null,{default:i(()=>[l(a(Ja))]),_:1}),e[61]||(e[61]=d("span",{class:"text-danger"},"删除",-1))]),_:1})):b("",!0)]),_:2},1024)]),default:i(()=>[l(u,{type:"info",link:"",size:"small"},{default:i(()=>[e[53]||(e[53]=p("更多",-1)),l(y,{class:"el-icon--right"},{default:i(()=>[l(a(At))]),_:1})]),_:1})]),_:2},1032,["onCommand"])],32)]),_:1})]),_:1},8,["data"])),[[et,a(V).loading]]),d("div",hi,[l(fa,{modelValue:a(V),"onUpdate:modelValue":e[14]||(e[14]=n=>H(V)?V.value=n:null),onChange:a(x)},null,8,["modelValue","onChange"])])])]),_:1}),l(a(Nt),{ref_key:"editRef",ref:se,onSuccess:un},null,512),l(a(Pt),{ref_key:"detailRef",ref:cn},null,512),l(a(zt),{ref_key:"prescriptionRef",ref:ct,onSuccess:Mn},null,512),l(a(Wt),{ref_key:"appointmentRef",ref:gt,onSuccess:ea},null,512),l(a(wt),{modelValue:a(Ce),"onUpdate:modelValue":e[15]||(e[15]=n=>H(Ce)?Ce.value=n:null),"diagnosis-id":a(ft),onClosed:a(x)},null,8,["modelValue","diagnosis-id","onClosed"]),l(xt,{modelValue:a(ne),"onUpdate:modelValue":e[16]||(e[16]=n=>H(ne)?ne.value=n:null),title:"挂号操作日志",size:"460px","destroy-on-close":"",onClosed:Jn},{default:i(()=>[$((o(),_("div",ki,[a(G)?(o(),_("div",bi,[d("span",Ci,m(a(G).patient_name),1),e[62]||(e[62]=d("span",{class:"mx-2 text-gray-300"},"|",-1)),d("span",null,"诊单 #"+m(a(G).id),1)])):b("",!0),!a(Ee)&&a(oe).length===0?(o(),v(va,{key:1,description:"暂无挂号/取消挂号操作记录"})):a(oe).length>0?(o(),v(ha,{key:2},{default:i(()=>[(o(!0),_(E,null,R(a(oe),(n,k)=>(o(),v(ya,{key:n.id??k,timestamp:n.create_time_text||"—",placement:"top"},{default:i(()=>[d("div",xi,[l(w,{size:"small",type:"info"},{default:i(()=>[p(m(n.action_desc),1)]),_:2},1024),d("span",Di,m(Xn(n)),1)]),d("div",Vi,m(n.summary),1)]),_:2},1032,["timestamp"]))),128))]),_:1})):b("",!0)])),[[et,a(Ee)]])]),_:1},8,["modelValue"]),l(Te,{modelValue:a(Q),"onUpdate:modelValue":e[18]||(e[18]=n=>H(Q)?Q.value=n:null),title:a(Be),width:"400px","close-on-click-modal":!1},{footer:i(()=>[l(u,{onClick:e[17]||(e[17]=n=>Q.value=!1)},{default:i(()=>[...e[65]||(e[65]=[p("关闭",-1)])]),_:1}),a(K)?b("",!0):(o(),v(u,{key:0,type:"primary",onClick:ia},{default:i(()=>[...e[66]||(e[66]=[p(" 重新生成 ",-1)])]),_:1}))]),default:i(()=>{var n;return[d("div",Ai,[a(K)?(o(),_("div",Ei,[l(y,{class:"is-loading",size:40},{default:i(()=>[l(a(as))]),_:1}),e[63]||(e[63]=d("div",{class:"mt-4 text-gray-500"},"生成中...",-1))])):a(j)?(o(),_("div",Si,[d("img",{src:a(j),alt:"小程序二维码",class:"w-64 h-64 border border-gray-200 rounded"},null,8,$i),d("div",Ri,[d("div",null,"患者:"+m((n=a(J))==null?void 0:n.patient_name),1),d("div",Ti,"挂号时间:"+m(Sn.value),1),e[64]||(e[64]=d("div",{class:"mt-2"},"请使用企业微信扫描二维码,然后转发给患者",-1))])])):(o(),_("div",Li," 生成失败,请重试 "))])]}),_:1},8,["modelValue","title"]),l(Te,{modelValue:a(te),"onUpdate:modelValue":e[22]||(e[22]=n=>H(te)?te.value=n:null),title:a(me)==="batch"?"批量指派医助":"指派医助",width:"500px",onClosed:$n},{footer:i(()=>[l(u,{onClick:e[21]||(e[21]=n=>te.value=!1)},{default:i(()=>[...e[69]||(e[69]=[p("取消",-1)])]),_:1}),l(u,{type:"primary",onClick:Nn,loading:a(Ge)},{default:i(()=>[...e[70]||(e[70]=[p(" 确定指派 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[l(Ze,{model:a(A),"label-width":"100px"},{default:i(()=>[l(Y,{label:"选择医助",required:""},{default:i(()=>[l(W,{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),_(E,null,R(a(_e),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(ka,{modelValue:a(A).is_inherit,"onUpdate:modelValue":e[20]||(e[20]=n=>a(A).is_inherit=n)},{default:i(()=>[...e[67]||(e[67]=[p("继承",-1)])]),_:1},8,["modelValue"]),e[68]||(e[68]=d("span",{class:"text-gray-400 text-xs ml-2"},"勾选后写入指派记录",-1))]),_:1}),a(me)==="batch"?(o(),v(Y,{key:0,label:"已选择"},{default:i(()=>[d("div",Ii,m(a(le).length)+" 条诊单记录",1)]),_:1})):(o(),v(Y,{key:1,label:"诊单信息"},{default:i(()=>{var n,k;return[d("div",Ni,[d("div",null,"患者:"+m((n=a(ce))==null?void 0:n.patient_name),1),d("div",null,"诊断日期:"+m((k=a(ce))==null?void 0:k.diagnosis_date_text),1)])]}),_:1}))]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),l(Te,{modelValue:a(ie),"onUpdate:modelValue":e[27]||(e[27]=n=>H(ie)?ie.value=n:null),title:"创建订单",width:"600px",onClose:An},{footer:i(()=>[l(u,{onClick:e[26]||(e[26]=n=>ie.value=!1)},{default:i(()=>[...e[71]||(e[71]=[p("取消",-1)])]),_:1}),l(u,{type:"primary",onClick:En,loading:a(qe)},{default:i(()=>[...e[72]||(e[72]=[p("创建订单",-1)])]),_:1},8,["loading"])]),default:i(()=>[l(Ze,{ref_key:"orderFormRef",ref:De,model:a(h),rules:Dn,"label-width":"100px"},{default:i(()=>[l(Y,{label:"患者"},{default:i(()=>[d("span",Pi,m(a(h).patient_name)+" ("+m(st(a(h).phone))+")",1)]),_:1}),l(Y,{label:"订单类型",prop:"order_type"},{default:i(()=>[l(W,{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(ba,{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(g,{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(Te,{modelValue:a(de),"onUpdate:modelValue":e[30]||(e[30]=n=>H(de)?de.value=n:null),title:"补全身份证号",width:"400px","close-on-click-modal":!1,onClose:e[31]||(e[31]=n=>a(z).id_card="")},{footer:i(()=>[l(u,{onClick:e[29]||(e[29]=n=>de.value=!1)},{default:i(()=>[...e[73]||(e[73]=[p("取消",-1)])]),_:1}),l(u,{type:"primary",onClick:sa,loading:a(Ke)},{default:i(()=>[...e[74]||(e[74]=[p("提交(自动更新年龄)",-1)])]),_:1},8,["loading"])]),default:i(()=>[l(Ze,{ref_key:"fillIdCardFormRef",ref:yt,model:a(z),rules:na,"label-width":"80px"},{default:i(()=>[l(Y,{label:"患者"},{default:i(()=>[d("span",zi,m(a(z).patient_name),1)]),_:1}),l(Y,{label:"身份证号",prop:"id_card"},{default:i(()=>[l(g,{modelValue:a(z).id_card,"onUpdate:modelValue":e[28]||(e[28]=n=>a(z).id_card=n),placeholder:"请输入15或18位身份证号",maxlength:"18","show-word-limit":"",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(xt,{modelValue:a($e),"onUpdate:modelValue":e[33]||(e[33]=n=>H($e)?$e.value=n:null),title:`企业微信记录 - ${((Dt=a(I))==null?void 0:Dt.patient_name)||""}`,size:"600px","destroy-on-close":!0},{default:i(()=>{var n,k;return[a(N)?(o(),_("div",Wi,[l(Ca,{column:2,border:"",size:"small"},{default:i(()=>[l(Le,{label:"患者姓名"},{default:i(()=>{var C;return[p(m((C=a(I))==null?void 0:C.patient_name),1)]}),_:1}),l(Le,{label:"手机号"},{default:i(()=>[p(m(st(a(N).phone)||"-"),1)]),_:1}),l(Le,{label:"企微联系人ID"},{default:i(()=>[a(N).external_userid?(o(),_("span",wi,m(a(N).external_userid),1)):(o(),v(w,{key:1,type:"info",size:"small"},{default:i(()=>[...e[75]||(e[75]=[p("未关联",-1)])]),_:1}))]),_:1}),l(Le,{label:"会话存档"},{default:i(()=>[a(N).msgaudit_enabled?(o(),v(w,{key:0,type:"success",size:"small"},{default:i(()=>[...e[76]||(e[76]=[p("已开通",-1)])]),_:1})):(o(),v(w,{key:1,type:"info",size:"small"},{default:i(()=>[...e[77]||(e[77]=[p("未配置",-1)])]),_:1}))]),_:1})]),_:1}),(n=a(N).permit_users)!=null&&n.length?(o(),_("div",Yi,[e[78]||(e[78]=d("span",{class:"text-sm text-gray-500 mr-2"},"存档成员:",-1)),(o(!0),_(E,null,R(a(N).permit_users,C=>(o(),v(w,{key:C,size:"small",class:"mr-1"},{default:i(()=>[p(m(C),1)]),_:2},1024))),128))])):b("",!0),(k=a(N).msgaudit_agree)!=null&&k.length?(o(),_("div",Fi,[e[79]||(e[79]=d("span",{class:"text-sm text-gray-500 mr-2"},"存档同意:",-1)),(o(!0),_(E,null,R(a(N).msgaudit_agree,(C,Ie)=>(o(),v(w,{key:Ie,type:C.agree_status==="Agree"?"success":"warning",size:"small",class:"mr-1"},{default:i(()=>[p(m(C.userid)+": "+m(C.agree_status==="Agree"?"已同意":C.agree_status),1)]),_:2},1032,["type"]))),128))])):b("",!0)])):b("",!0),l(xa),d("div",Mi,[d("div",Ui,[l(g,{modelValue:a(ae),"onUpdate:modelValue":e[32]||(e[32]=C=>H(ae)?ae.value=C:null),type:"textarea",rows:2,placeholder:"添加沟通记录...",class:"flex-1"},null,8,["modelValue"]),l(u,{type:"primary",onClick:ra,loading:a(Je),class:"self-end"},{default:i(()=>[...e[80]||(e[80]=[p(" 添加 ",-1)])]),_:1},8,["loading"])])]),$((o(),_("div",null,[a(X).length===0?(o(),_("div",Oi," 暂无聊天记录 ")):(o(),_("div",qi,[(o(!0),_(E,null,R(a(X),C=>{var Ie;return o(),_("div",{key:C.id,class:"record-item"},[d("div",Bi,[d("div",Qi,[l(w,{type:C.direction===0?"primary":"success",size:"small"},{default:i(()=>[p(m(C.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),d("span",Gi,m(C.direction===0?C.staff_name:C.external_name||((Ie=a(I))==null?void 0:Ie.patient_name)),1),C.msg_type==="note"?(o(),v(w,{key:0,type:"warning",size:"small"},{default:i(()=>[...e[81]||(e[81]=[p("备注",-1)])]),_:1})):b("",!0)]),d("div",Hi,[d("span",Ki,m(la(C.chat_time)),1),l(u,{type:"danger",link:"",size:"small",onClick:al=>ua(C.id)},{default:i(()=>[...e[82]||(e[82]=[p(" 删除 ",-1)])]),_:1},8,["onClick"])])]),d("div",ji,m(C.content),1),C.media_url?(o(),_("div",Ji,[l(Da,{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(X).length?(o(),_("div",Xi,[l(u,{link:"",type:"primary",onClick:da},{default:i(()=>[...e[83]||(e[83]=[p("加载更多",-1)])]),_:1})])):b("",!0)])),[[et,a(je)]])]}),_:1},8,["modelValue","title"])])}}}),gl=Vs(el,[["__scopeId","data-v-2f7d7931"]]);export{gl as default}; diff --git a/server/public/admin/assets/index-BWzN7QIb.js b/server/public/admin/assets/index-BWzN7QIb.js new file mode 100644 index 00000000..6dade438 --- /dev/null +++ b/server/public/admin/assets/index-BWzN7QIb.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/404-BVNyZfjw.js","assets/error-Pzo5SbGa.js","assets/.pnpm-9dA1PEvN.js","assets/.pnpm-LiWq8Xu0.css","assets/error-BuAQ7kny.css","assets/403-CJj3mWci.js","assets/login-CsQFRwmN.js","assets/useLockFn-Cmb0mmh_.js","assets/footer.vue_vue_type_script_setup_true_lang-D4zoiAR0.js","assets/login-BaVT2xLC.css","assets/change-password-BF7VLRzT.js","assets/change-password-CsrB35aU.css","assets/bind-work-wechat-WANKsgjY.js","assets/wecomOauthPostMessage-C_e6VGrO.js","assets/bind-work-wechat-BX1gqwq1.css","assets/setting-Crv7IoUl.js","assets/index-DZiQLFzx.js","assets/index-B2JO0Jot.css","assets/picker-DfI3CPnQ.js","assets/index-dYaCh-CN.js","assets/index-dh40Du6y.css","assets/index-xDQ_OZln.js","assets/index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js","assets/index-fA0EWEUO.js","assets/index-BYMg0OFw.css","assets/index-DFkJDhf6.js","assets/file-BL6iPgPC.js","assets/index.vue_vue_type_script_setup_true_lang-Blf417m7.js","assets/usePaging-Boz1Q6w3.js","assets/index-D6uL8V1j.css","assets/picker-CLzhBfnG.css","assets/setting-PFzaCySP.css","assets/progress-Cm0fQmBI.js","assets/dayjs-BsOAYQJw.js","assets/doctor-Chj6BcVp.js","assets/progress-CQXIT7YT.css","assets/pc_details-Dq149fDu.js","assets/decoration-CvemIMkE.js","assets/preview-pc-BmclGIba.js","assets/index-QcrBqU8R.js","assets/attr-Cdokcs2q.js","assets/picker-CUH4oSOm.js","assets/article-CGwMRNkL.js","assets/picker-DlyQ_D1Y.css","assets/attr-DW0KLy-Z.css","assets/content.vue_vue_type_script_setup_true_lang-rFCJ-5da.js","assets/decoration-img-D7jfQZHh.js","assets/decoration-img-BEoaJ08y.css","assets/attr.vue_vue_type_script_setup_true_lang-Dp-D5e3f.js","assets/content-DPbffuTN.js","assets/content-CaNRXt_A.css","assets/attr.vue_vue_type_script_setup_true_lang-TdHwRkcj.js","assets/content.vue_vue_type_script_setup_true_lang-uo5gNfRj.js","assets/attr.vue_vue_type_script_setup_true_lang-BKeU9pV7.js","assets/add-nav.vue_vue_type_script_setup_true_lang-BRlmru-_.js","assets/content-MvOmvsN5.js","assets/content-B97u18ca.css","assets/attr.vue_vue_type_script_setup_true_lang-sgS4D2G0.js","assets/content.vue_vue_type_script_setup_true_lang-BJQyKf9U.js","assets/attr.vue_vue_type_script_setup_true_lang-BwzlMjDK.js","assets/content-CoRLP3ZG.js","assets/content-DVwelkMc.css","assets/attr.vue_vue_type_script_setup_true_lang-DoU7_LM1.js","assets/index.vue_vue_type_script_setup_true_lang-DNrIEWkc.js","assets/content-B1h0mUKe.js","assets/content.vue_vue_type_script_setup_true_lang-DyhL_D8z.js","assets/attr.vue_vue_type_script_setup_true_lang-Cf_ppg4c.js","assets/content-FlAi4LQU.js","assets/content-rjMVvng7.css","assets/attr.vue_vue_type_script_setup_true_lang-BBZIj_I6.js","assets/content.vue_vue_type_script_setup_true_lang-epBYaUkx.js","assets/attr.vue_vue_type_script_setup_true_lang-CPgMFDSF.js","assets/content-Cwp3TvMF.js","assets/content-C-ankp9I.css","assets/preview-pc-C2MmXj4j.css","assets/pc_details-CGxd9KrI.css","assets/h5-DIbQgMy5.js","assets/fans-BTjxVOhr.js","assets/h5-C0FVYPR8.css","assets/index_h5-DhzW8xbA.js","assets/tcm-Fi_swgCr.js","assets/order-B6cEisB-.js","assets/weapp-TlfRpIke.js","assets/perm-BzF8JgcJ.js","assets/index_h5-CxVHc0k9.css","assets/readonly-BHqnUHSG.js","assets/patient-Btpwd7dp.js","assets/diag-display-DCz_VAqj.js","assets/PatientInfoCard-_2CDuTA6.js","assets/PatientInfoCard-CDG1zjKv.css","assets/PatientCaseCard-CN_U6rzw.js","assets/blood-thresholds-CJ1fqMjh.js","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/PatientCaseCard-Ch4X4VSu.css","assets/DailyMatrix-BOqZMkKS.js","assets/DiagnosisTodoList-CAIMA53u.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/DailyMatrix--Ay5C05Q.css","assets/CallRecordPanel-CJ3iGibG.js","assets/RecordingPlaybackBlock-CN4w1UI-.js","assets/RecordingVideoPlayer-DIfduEP7.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-p7h_1hh9.css","assets/ImChatRecordPanel-BMjxk7mx.js","assets/im-business-message-parse-DmDISFGN.js","assets/ImChatRecordPanel-BRnJl8ir.css","assets/AssignLogPanel-CF42MNq_.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DxBIlcME.js","assets/AppointmentRecordPanel-BWS3OyF0.css","assets/PatientOrderList-CKjXSixL.js","assets/PrescriptionOrderDetailDrawer-CEi7ZXfx.js","assets/prescription-order-utils-B0fYlULc.js","assets/PrescriptionOrderDetailDrawer-DL92yzHH.css","assets/PatientOrderList-BgC6GQc_.css","assets/NoteTimeline-DxUNQs4y.js","assets/NoteTimeline-ICZA393r.css","assets/readonly-DnD8_EF-.css","assets/index-D_CEK_fr.js","assets/edit-B0pCcAB5.js","assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-DEKsw0jB.js","assets/index-DUuzhLpN.js","assets/edit-DyGS43PK.js","assets/index.vue_vue_type_style_index_0_lang-DqDA-KJo.js","assets/index-DX96drV3.css","assets/useDictOptions-BeE4yyHx.js","assets/index-BYYYZG22.js","assets/index-Dsecycr5.js","assets/asset-TVrE7-t3.js","assets/index-CnRHwXOU.js","assets/h5-Bh53O7oF.js","assets/open_setting-CzMkizJp.js","assets/weapp-DMIP9uxQ.js","assets/config-CJqugFWY.js","assets/wx_oa-HhzP-R8g.js","assets/menu-D4Nepi0v.js","assets/oa-attr-BBBq3k_L.js","assets/oa-menu-form.vue_vue_type_script_setup_true_lang-CgD51k0c.js","assets/useMenuOa-oN_qEEoR.js","assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang-Bb7TFRYY.js","assets/oa-phone-ByOKZQ9J.js","assets/oa-phone-Drs4Fq6t.css","assets/oa-menu-form-edit-Ctvs8HSB.js","assets/oa-menu-form-BuzIic88.js","assets/default_reply-k0yU_hHD.js","assets/edit.vue_vue_type_script_setup_true_lang-bW869IPL.js","assets/edit-Bv-f8SAB.js","assets/follow_reply-BmrHcKki.js","assets/keyword_reply-Ns1T2YHU.js","assets/MessageBubble-HqOiFrAJ.js","assets/MessageBubble-DkeWvgLd.css","assets/SendPanel-C5FnjnCC.js","assets/SendPanel-QEthGFL7.css","assets/index-fbRc3W1p.js","assets/index-e8vonoAk.css","assets/edit-BKrJWTX7.js","assets/admin-CMuAzCyP.js","assets/department-BABv4GiI.js","assets/post-BafSyy6d.js","assets/edit-CITVAgD6.css","assets/index-CEqp99Wz.js","assets/index-Csf8JQMa.css","assets/account-adjust-CRl0i9yJ.js","assets/account-adjust.vue_vue_type_script_setup_true_lang-C6pxUe8h.js","assets/edit-DQr-ajsm.js","assets/edit-B_9116V2.css","assets/index-DiYMHmVj.js","assets/index-Cqva6yhX.css","assets/paiban-CHzlDeia.js","assets/paiban-D2O4DnCl.css","assets/detail-DWgmpDyq.js","assets/consumer-DkNGexOj.js","assets/index-D2ERPqGN.js","assets/index.vue_vue_type_script_setup_true_lang-DbClaUqT.js","assets/index.vue_vue_type_script_setup_true_lang-C38LpCy9.js","assets/GancaoSubmissionReconcileButton-CSFPQPhZ.js","assets/GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-DoPnp_YZ.js","assets/guahao-BbsG0p0L.js","assets/index-CXnBTg6O.js","assets/medicine-DezWRkkS.js","assets/role-CrpOZd5J.js","assets/index-CNLsF7Nt.js","assets/index-C_LxAEkS.css","assets/index-D95lfiE9.css","assets/list-BNC5XsME.js","assets/list-DMmbGgQ7.css","assets/order_list-DJ6sfjv9.js","assets/useListTimeFilter-EgCds3rQ.js","assets/useListTimeFilter-DkLI1bQ_.css","assets/order_list-BZzXH8gm.css","assets/order_list_h5-h4jPUlob.js","assets/order_list_h5-DHy4yl_q.css","assets/add-nav-zBt-luT9.js","assets/attr-setting-5aG8-EQp.js","assets/attr-setting.vue_vue_type_script_setup_true_lang-BY03Sp45.js","assets/menu-DpE-frsg.js","assets/menu-usw4ITBD.css","assets/preview-CsXXagtK.js","assets/preview-DTbrEc-5.css","assets/attr-uDQyHJm6.js","assets/attr.vue_vue_type_script_setup_true_lang-CxnwuLiq.js","assets/content-lN5Ca0O2.js","assets/content-DUDcoKtN.css","assets/attr-BOsG9dH5.js","assets/menu-set.vue_vue_type_script_setup_true_lang-BCI1sZUg.js","assets/content-36mRiREA.js","assets/content-s9ZqO9iW.css","assets/menu-set-D-kX2Smh.js","assets/content-BEL3LUmD.js","assets/attr-CRjKYwsi.js","assets/attr-pwvlegd0.js","assets/content-CUuThDez.js","assets/attr-DK2_P6_e.js","assets/attr-DA0TXcU9.js","assets/content-BU4IoEkF.js","assets/attr-D_hhKkZj.js","assets/attr-C1ts7JDx.js","assets/content-pLQJHviw.js","assets/attr-Bh8cUzc0.js","assets/attr-BTZ7nD04.js","assets/content-DftCBRD1.js","assets/attr-BhmUyRYd.js","assets/index-HlZ3YZOq.js","assets/index-CEjQCdOu.css","assets/pc-CeTGNIK_.js","assets/mobile-style-BD-Gd02X.js","assets/mobile-style.vue_vue_type_script_setup_true_lang-D6I9IOXQ.js","assets/theme-picker-B0Vl2QAG.js","assets/theme-picker-CUrGwaPq.css","assets/style-BcXG7BAY.js","assets/tabbar-BXi5RmTP.js","assets/tabbar-C1KhM4wz.css","assets/edit-u2FkPXUK.js","assets/menu-DRrdTmPN.js","assets/dict-BzuAKP6Q.js","assets/code-J7VgRFVf.js","assets/relations-add.vue_vue_type_script_setup_true_lang-C03NjiRq.js","assets/edit-DoIT1twe.css","assets/index-BeH9abR9.js","assets/code-preview.vue_vue_type_script_setup_true_lang-DdrIw7I0.js","assets/data-table.vue_vue_type_script_setup_true_lang-p4Jwo82s.js","assets/code-preview-T9hRlJu3.js","assets/data-table-BASn--YT.js","assets/relations-add-CDnhosHf.js","assets/dept-tongji-Cav2AKLY.js","assets/dept-tongji-StHhDqY7.css","assets/medicine-Qtk6jfZt.js","assets/medicine-B6iX5TnL.css","assets/roster-Ims33KsB.js","assets/roster-BlbUdcBU.css","assets/tongji-Dw13lW9F.js","assets/tongji-DSE3xMau.css","assets/commission-settlement-Bo2Gm2jN.js","assets/stats-CYdFBybj.js","assets/commission-settlement-CdlIY0iL.css","assets/index-DHPLU2Cm.js","assets/qywx-DJmsU1lV.js","assets/qywx-BzfLWvoO.css","assets/yeji-BDBaFWS4.js","assets/finance-DNeCzSo4.js","assets/yeji-tWLqAQvE.css","assets/edit-DDrtLTXp.js","assets/edit-pY5KlSAv.css","assets/index-2yH9q9da.js","assets/index-BvLgvj8J.css","assets/balance_details-BABlTfrn.js","assets/refund-log-D5grGFxC.js","assets/refund-log.vue_vue_type_script_setup_true_lang-CsjYi7rD.js","assets/mubiao-dept-card-mAUD3lcL.js","assets/mubiao-dept-card-naMqyghz.css","assets/mubiao-dept-node-DXJCBtIw.js","assets/mubiao-dept-node-ChUPkaxq.css","assets/mubiao-Co5R-nvh.js","assets/mubiao-3I8h622-.css","assets/recharge_record-rzk-_7bZ.js","assets/refund_record-B8prI109.js","assets/index-CjXwPBH-.js","assets/index-DNCpQzcN.css","assets/edit-BMGKdcjh.js","assets/message-DUkl0jbI.js","assets/index-Ccckw_2a.js","assets/edit-dcFWCx5G.js","assets/edit.vue_vue_type_script_setup_true_lang-BVcv3cX4.js","assets/index-Cft40QEz.js","assets/index-C8OqMZ1Q.js","assets/index-CcR5eNE7.css","assets/edit-CwgFvop_.js","assets/edit.vue_vue_type_script_setup_true_lang-BshekMIG.js","assets/index-ZJPNDzgN.js","assets/edit-a198HFxd.js","assets/edit.vue_vue_type_script_setup_true_lang-Dqv5nVx5.js","assets/index-DdeUYyvt.js","assets/index-FFPHEcEv.js","assets/index-nb3cGNKl.css","assets/edit-DAmB478j.js","assets/edit.vue_vue_type_script_setup_true_lang-CQEjq9h5.js","assets/index-Bqo9_IB9.js","assets/edit-C3VqtZAm.js","assets/edit.vue_vue_type_script_setup_true_lang-D7r08doy.js","assets/picker.vue_vue_type_script_setup_true_lang-B7uSVSee.js","assets/index-f-dGZB6X.js","assets/auth-Dyv7GgHJ.js","assets/auth.vue_vue_type_script_setup_true_lang-IU5vJ7WE.js","assets/edit-h5CgTUSj.js","assets/edit.vue_vue_type_script_setup_true_lang-SKYPoZs-.js","assets/index-CXw6xFMg.js","assets/index-DJergT_1.js","assets/index-Bk7b_sL2.css","assets/edit-BPcc_PpU.js","assets/edit.vue_vue_type_script_setup_true_lang-BqqAYtn1.js","assets/index-CYHWM1G1.js","assets/edit-BS5uW41X.js","assets/edit.vue_vue_type_script_setup_true_lang-DcSBZ-AE.js","assets/index-CqkePGQX.js","assets/edit-DjLHv_Io.js","assets/pay-Cfg11EXw.js","assets/getExposeType-DmsdEFKC.js","assets/edit-C9lyE4Yw.css","assets/index-BDZ5-mdF.js","assets/index-0akm_RRS.js","assets/index-B87ARyE6.js","assets/index-C-vrObNh.css","assets/edit-C7Q-_A2e.js","assets/edit.vue_vue_type_script_setup_true_lang-xNJSlEHz.js","assets/index-DtLL-xK5.js","assets/cache-W-KMyH8o.js","assets/environment-DCNrfcil.js","assets/journal-lsYyaKU4.js","assets/edit-CftBpLBt.js","assets/index-B0qTqYrO.js","assets/login_register-CsAdgcaz.js","assets/user-D_oHazKg.js","assets/setup-C8RhV3Jx.js","assets/filing-BgOiZ90h.js","assets/website-D68_BOrK.js","assets/information-CurNB_Rk.js","assets/protocol-CMbLWRPX.js","assets/statistics-D2UVnsXP.js","assets/index-BwVlyGOI.js","assets/index-BWKbVls9.css","assets/index-DUOmIy1t.js","assets/index-DBNvK3ZK.css","assets/index-BII6FZnL.js","assets/index-C2F2QIu1.css","assets/index-DV39N5BU.js","assets/index-Yr_JizPl.css","assets/MediaSourceSelect-CVO-phQq.js","assets/MediaSourceSelect.vue_vue_type_script_setup_true_lang-B8TP8hmm.js","assets/account_cost-CJ_OnAOW.js","assets/self_input_stats-BIckcV_I.js","assets/cost-edit.vue_vue_type_script_setup_true_lang-CUKGpnjd.js","assets/useMediaSourceOptions-DK-_3N6E.js","assets/account_cost-DtatZw1q.css","assets/cost-edit-CkZ1nXSc.js","assets/index-CttvfP_1.js","assets/yeji-edit.vue_vue_type_script_setup_true_lang-B08IlCxI.js","assets/index-DTWieVTb.css","assets/yeji-edit-BZiHOHXD.js","assets/prescription-drawer-Cr9exkRl.js","assets/prescription-drawer-BjwiqvPc.css","assets/list-COnYi4m8.js","assets/list-CvGE0QuG.css","assets/list_h5-DJcCePK0.js","assets/list_h5-ceO3Q54H.css","assets/add-BB0rPF8j.js","assets/add-CbTNaYOg.css","assets/appointment-Bc2rxQW1.js","assets/appointment-DHf6UVnR.css","assets/AssistantWatchCallDialog-CRByNVWz.js","assets/AssistantWatchCallDialog-BYViF8Fb.css","assets/BloodRecordList-vYKeEjkv.js","assets/BloodRecordList-QXCJIVBd.css","assets/CaseRecordList-DlCqPijV.js","assets/CaseRecordList-DEgrl9PS.css","assets/DietRecordList-vLafiEoe.js","assets/DietRecordList-CTrGLA1X.css","assets/ExerciseRecordList-4qghvJQ6.js","assets/ExerciseRecordList-DsqXiiPh.css","assets/TrackingMatrix-BLX7Ezuc.js","assets/TrackingMatrix-CFaje3R8.css","assets/TrackingNoteTimeline-DwagN7gG.js","assets/TrackingNoteTimeline-C-2kS81H.css","assets/detail-DwhNQqa0.js","assets/edit-DxLWCQnV.js","assets/index-B5cu05RL.js","assets/index-DxQanmqx.css","assets/edit-Cgsl1tY9.css","assets/index-BMHQaxci.js","assets/index-B1X_1Hea.css","assets/index-Dpqz-I2j.js","assets/index-BdKRKWqg.css","assets/file-mAs5e8lw.js","assets/icon-CHuMI6Nw.js","assets/link-DFZew37_.js","assets/overflow-BVuoJuJp.js","assets/popover_input-DFAEiGxG.js","assets/rich_text-MCXm6fRU.js","assets/upload-upgxHD-j.js","assets/patient-call-D7jJAMY3.js","assets/patient-call-BRSvBZIt.css","assets/index-DBr4A7i9.js","assets/index-BRfdvgyn.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 U=(a,o,e)=>H1(a,typeof o!="symbol"?o+"":o,e);import{d as V3,u as m,E as u3,e as Z,f as d3,h as T1,i as J3,l as C,A as p3,n as O1,j as I1,k as Q3,m as a1,o as V,p as b,q as h,r as g,s as d,t as s3,v as u,w as o1,x as n3,y as R1,z as e1,B as t1,C as k,D as z,F as D,G as K,H as P1,I as D1,J as B1,K as C1,L as I,M as c3,N as S1,O as A,P as B,Q as L3,R as i1,S as k1,T as R,U as j1,V as l1,W as r3,X as N1,Y as q1,Z as c1,_ as s1,$ as n1,a0 as W1,a1 as r1,a2 as m1,a3 as G1,a4 as u1,a5 as $1,a6 as U1,a7 as j3,a8 as F1,a9 as Y1,aa as Z1,ab as X1,ac as d1,ad as h1,ae as b3,af as K1,ag as J1,ah as Q1,ai as a0,aj as o0,ak as e0,al as t,am as t0,an as i0,ao as I3,ap as _1,aq as l0,ar as c0,as as s0,at as n0,au as r0,av as m0,aw as u0,ax as d0,ay as h0,az as _0,aA as v0,aB as p0,aC as z0,aD as b0,aE as y0,aF as g0,aG as w0,aH as f0,aI as A0,aJ as V0,aK as L0,aL as M0,aM as E0,aN as x0,aO as H0,aP as T0,aQ as O0,aR as I0,aS as R0,aT as P0,aU as D0,aV as B0,aW as C0,aX as S0,aY as k0,aZ as j0,a_ as N0,a$ as q0,b0 as W0,b1 as G0,b2 as $0,b3 as U0,b4 as F0}from"./.pnpm-9dA1PEvN.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 N={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||{}),R3=(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))(R3||{});const M4={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||{}),F=(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))(F||{});const g3="token",E4="account",w3="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),x3=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=x3(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,M)=>{N3(O)===_&&w.push(M)}),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 M=this.tabList[O];M.fullPath!==s&&delete this.tasMap[M.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=x3(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=x3(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)}}}),q={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)}}};U(A3,"instance");let D3=A3;const q3=D3.createInstance();class J0{constructor(o){U(this,"axiosInstance");U(this,"config");U(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),C.isFunction(o)&&(c=o(c)),c),c=>(C.isFunction(e)&&e(c),c)),this.axiosInstance.interceptors.response.use(c=>(this.removeCancelToken(c.config.url),C.isFunction(i)&&(c=i(c)),c),c=>{var s;return C.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=C.merge({},this.options,e),l={...C.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 F.SUCCESS:return c&&s&&X.msgSuccess(s),l;case F.FAIL:return c&&s&&X.msgError(s),Promise.reject(l);case F.LOGIN_FAILURE:return t3(),H.push(T.LOGIN),Promise.reject();case F.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 F.OPEN_NEW_PAGE:return window.location.href=l.url,l;case F.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:N.timeout,baseURL:N.baseUrl,headers:{"Content-Type":p1.JSON,version:N.version},axiosHooks:a2,requestOptions:{isParamsToData:!0,isReturnDefaultResponse:!1,isTransformResponse:!0,urlPrefix:N.urlPrefix,ignoreCancelToken:!1,withToken:!0,isOpenRetry:!0,retryCount:2}};function e2(a){return new J0(C.merge(o2,{}))}const L=e2();function t2(a){return L.post({url:"/login/account",params:{...a,terminal:N.terminal}})}function i2(){return L.post({url:"/login/logout"})}function l2(){return L.get({url:"/auth.admin/mySelf"})}function x4(a){return L.post({url:"/auth.admin/editSelf",params:a})}function H4(){return L.get({url:"/login/workWechatConfig"})}function c2(a){return L.post({url:"/login/workWechatLogin",params:{...a,terminal:N.terminal}})}function T4(a){return L.post({url:"/auth.admin/bindWorkWechat",params:a})}function O4(){return L.post({url:"/auth.admin/unbindWorkWechat"})}function I4(a){return L.post({url:"/login/changeFirstPassword",params:a})}const Y=V3({id:"user",state:()=>({token:b1()||"",userInfo:{},routes:[],perms:[],isPaw:1}),getters:{},actions:{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=>{this.token=c.token,this.isPaw=c.is_paw??1,q.set(g3,c.token),i(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=>{this.token=i.token,this.isPaw=i.is_paw??1,q.set(g3,i.token),o(i)}).catch(i=>{e(i)})})},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 L.get({url:"/config/getConfig"})}function R4(){return L.get({url:"/workbench/index"})}function P4(a){return L.get({url:"/config/dict",params:a})}const S=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(N.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,O1(()=>{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"},j=1,s2={1:["sideTheme","sideDarkColor"]},n2={"dark-2":"shade(20%)","light-3":"tint(30%)","light-5":"tint(50%)","light-7":"tint(70%)","light-8":"tint(80%)","light-9":"tint(90%)"},r2={"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",m2=(a,o="primary",e=!1)=>{const i={[`--el-color-${o}`]:a},l=e?r2:n2;for(const c in l)i[`--el-color-${o}-${c}`]=`color(${a} ${l[c]})`;return i},u2=(a,o=!1)=>{const e=Object.keys(a).reduce((c,s)=>Object.assign(c,m2(a[s],s,o)),{});let i=Object.keys(e).reduce((c,s)=>{const r=I1.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=q.get(w3);function d2(a,o){if(o>=j)return;for(let l=o+1;l<=j;l++){const c=s2[l];if(c)for(const s of c)a[s]=z3[s]}a._settingSchemaVersion=j;const{showDrawer:e,...i}=a;q.set(w3,i)}const W=V3({id:"setting",state:()=>{const a={showDrawer:!1,...z3};let o=j;return Q3(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",C4=(a,o={children:"children"})=>{a=C.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},S4=(a,o={id:"id",parentId:"pid",children:"children"})=>{a=C.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 v2(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 p2(a){let o="";for(const e of Object.keys(a)){const i=a[e],l=encodeURIComponent(e)+"=";if(!U3(i))if(Q3(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 k4=(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},j4=(a=8)=>{let o=Date.now().toString(36);return o+=Math.random().toString(36).substring(3,a),o},N4=(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})`},z2=V({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}}}),P=(a,o)=>{const e=a.__vccOpts||a;for(const[i,l]of o)e[i]=l;return e},b2=["xlink:href"];function y2(a,o,e,i,l,c){return h(),g("svg",{"aria-hidden":"true",style:s3(a.styles)},[d("use",{"xlink:href":a.symbolId,fill:"currentColor"},null,8,b2)],4)}const g2=P(z2,[["render",y2]]),G=V({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(B3)===0?u(o1,{size:a.size,color:a.color},{default:()=>u(n3(a.name.replace(B3,"")))}):a.name.indexOf(_2)===0?R1("i",{class:["local-icon"]},u(g2,{...a})):null}}),w2="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=",f2="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",A2={class:"setting-drawer"},V2={class:"h-full flex flex-col"},L2={class:"setting-item mb-5"},M2={class:"flex mt-4 cursor-pointer"},E2=["onClick"],x2=["src"],H2={class:"setting-item mb-5 flex justify-between items-center"},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"},R2={class:"setting-item mb-5 flex justify-between items-center"},P2={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 flex justify-between items-center mt-auto"},C2=V({__name:"drawer",setup(a){const o=W(),e=c3(["#409EFF","#28C76F","#EA5455","#FF9F43","#01CFE8","#4A5DFF"]),i=[{type:"dark",image:w2},{type:"light",image:f2}],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=e1(),O=()=>{o.setTheme(w.value)},M=()=>{S1(w)(),O()},x=()=>{w.value=!1,o.resetTheme(),O()};return(f,y)=>{const E3=G,$=P1,Q=D1,L1=B1,M1=C1,E1=t1;return h(),g("div",A2,[u(E1,{modelValue:m(n),"onUpdate:modelValue":y[6]||(y[6]=E=>k(n)?n.value=E:null),"append-to-body":"",direction:"rtl",size:"250px",title:"主题设置"},{default:z(()=>[d("div",V2,[d("div",L2,[y[7]||(y[7]=d("span",{class:"text-tx-secondary"},"风格设置",-1)),d("div",M2,[(h(),g(D,null,K(i,E=>d("div",{class:"mr-4 flex relative text-primary",key:E.type,onClick:A4=>l.value=E.type},[d("img",{src:E.image,width:"52",height:"36"},null,8,x2),m(l)==E.type?(h(),A(E3,{key:0,class:"icon-select",name:"el-icon-Select"})):B("",!0)],8,E2)),64))])]),d("div",H2,[y[8]||(y[8]=d("span",{class:"text-tx-secondary"},"主题颜色",-1)),d("div",null,[u($,{modelValue:m(v),"onUpdate:modelValue":y[0]||(y[0]=E=>k(v)?v.value=E:null),predefine:m(e)},null,8,["modelValue","predefine"])])]),d("div",T2,[y[9]||(y[9]=d("span",{class:"text-tx-secondary"},"开启黑暗模式",-1)),d("div",null,[u(Q,{"model-value":m(w),onChange:M},null,8,["model-value"])])]),d("div",O2,[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]=E=>k(c)?c.value=E:null),"active-value":!0,"inactive-value":!1},null,8,["modelValue"])])]),d("div",I2,[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]=E=>k(s)?s.value=E: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]=E=>k(r)?r.value=E:null),min:180,max:250},null,8,["modelValue"])])]),d("div",P2,[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]=E=>k(p)?p.value=E:null),"active-value":!0,"inactive-value":!1},null,8,["modelValue"])])]),d("div",D2,[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]=E=>k(_)?_.value=E:null),"active-value":!0,"inactive-value":!1},null,8,["modelValue"])])]),d("div",B2,[u(M1,{onClick:x,class:"w-full"},{default:z(()=>[...y[15]||(y[15]=[I("重置主题",-1)])]),_:1})])])]),_:1},8,["modelValue"])])}}}),S2=P(C2,[["__scopeId","data-v-01a1636b"]]),k2=V({__name:"index",setup(a){const o=W(),e=()=>{o.setSetting({key:"showDrawer",value:!0})};return(i,l)=>{const c=G;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(S2)])}}});function w1(a){const o=L3();return i1(o,()=>{a(o)},{immediate:!0}),{route:o}}const j2=V({__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(R(r.meta.title),1)]),_:2},1024))),128))]),_:1})}}}),N2=P(j2,[["__scopeId","data-v-df2b2450"]]),q2=V({__name:"fold",setup(a){const o=S(),e=b(()=>o.isCollapsed),i=()=>{o.toggleCollapsed()};return(l,c)=>{const s=G;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"])])}}}),W2=V({__name:"full-screen",setup(a){const{toggle:o,isFullscreen:e}=l1();return(i,l)=>{const c=G;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 G2(){const a=r3(),o=L3(),e=m3(),i=W(),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 $2={class:"app-tabs pl-4 flex bg-body"},U2={class:"flex-1 min-w-0"},F2={class:"flex items-center px-3"},Y2=V({__name:"multiple-tabs",setup(a){const o=r3(),e=m3(),{removeOtherTab:i,addTab:l,removeAllTab:c,removeTab:s,tabsLists:r,currentTab:n}=G2();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,M=q1,x=G,f=s1,y=c1,E3=n1;return h(),g("div",$2,[d("div",U2,[u(M,{"model-value":m(n),closable:m(r).length>1,onTabChange:v,onTabRemove:w[0]||(w[0]=$=>m(s)($))},{default:z(()=>[(h(!0),g(D,null,K(m(r),$=>(h(),A(O,{key:$.fullPath,label:$.title,name:$.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",F2,[u(x,{size:16,name:"el-icon-arrow-down"})])]),_:1})])}}}),Z2=P(Y2,[["__scopeId","data-v-66704b8d"]]),X2=V({__name:"refresh",setup(a){const o=S(),e=()=>{o.refreshView()};return(i,l)=>{const c=G;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 q4(){return L.get({url:"/setting.system.system/info"})}function W4(a){return L.get({url:"/setting.system.log/lists",params:a},{ignoreCancelToken:!0})}function K2(){return L.post({url:"/setting.system.cache/clear"})}function G4(a){return L.get({url:"/crontab.crontab/lists",params:a})}function $4(a){return L.post({url:"/crontab.crontab/add",params:a})}function U4(a){return L.get({url:"/crontab.crontab/detail",params:a})}function F4(a){return L.post({url:"/crontab.crontab/edit",params:a})}function Y4(a){return L.post({url:"/crontab.crontab/delete",params:a})}function Z4(a){return L.get({url:"/crontab.crontab/expression",params:a})}const J2={class:"flex items-center"},Q2={class:"ml-3 mr-1"},a6=V({__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 K2(),window.location.reload();break}};return(l,c)=>{const s=W1,r=G,n=s1,v=n3("router-link"),p=c1,_=n1;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",J2,[u(s,{size:34,src:m(e).avatar},null,8,["src"]),d("div",Q2,R(m(e).name),1),u(r,{name:"el-icon-ArrowDown"})])]),_:1})}}}),o6={class:"header"},e6={class:"navbar"},t6={class:"flex-1 flex"},i6={class:"navbar-item"},l6={class:"navbar-item"},c6={key:0,class:"flex items-center px-2"},s6={class:"flex"},n6={key:0,class:"navbar-item"},r6={class:"navbar-item"},m6={class:"navbar-item"},u6=V({__name:"index",setup(a){const o=S(),e=b(()=>o.isMobile),i=b(()=>o.isCollapsed),l=W(),{isFullscreen:c}=l1();return(s,r)=>{const n=r1;return h(),g("header",o6,[d("div",e6,[d("div",t6,[d("div",i6,[u(n,{class:"box-item",effect:"dark",content:m(i)?"展开菜单":"收起菜单",placement:"bottom"},{default:z(()=>[u(q2)]),_:1},8,["content"])]),d("div",l6,[u(n,{class:"box-item",effect:"dark",content:"刷新",placement:"bottom"},{default:z(()=>[u(X2)]),_:1})]),!m(e)&&m(l).showCrumb?(h(),g("div",c6,[u(N2)])):B("",!0)]),d("div",s6,[m(e)?B("",!0):(h(),g("div",n6,[u(n,{class:"box-item",effect:"dark",content:m(c)?"退出全屏":"全屏模式",placement:"bottom"},{default:z(()=>[u(W2)]),_:1},8,["content"])])),d("div",r6,[u(a6)]),d("div",m6,[u(n,{class:"box-item",effect:"dark",content:"主题设置",placement:"bottom"},{default:z(()=>[u(k2)]),_:1})])])]),m(l).openMultipleTabs?(h(),A(Z2,{key:0})):B("",!0)])}}}),d6={class:"main-wrap h-full bg-page"},h6={class:"px-2 py-4"},_6=V({__name:"main",setup(a){const o=S(),e=m3(),i=W(),l=b(()=>o.isRouteShow),c=b(()=>i.openMultipleTabs?e.getCacheTabList:[]);return(s,r)=>{const n=n3("router-view"),v=m1;return h(),g("main",d6,[u(v,null,{default:z(()=>[d("div",h6,[m(l)?(h(),A(n,{key:0},{default:z(({Component:p,route:_})=>[(h(),A(G1,{include:m(c),max:20},[(h(),A(u1(p),{key:_.fullPath}))],1032,["include"]))]),_:1})):B("",!0)])]),_:1})])}}}),v6=V({__name:"index",props:{...$1,teleported:{type:Boolean,default:!1},placement:{type:String,default:"top"},overfloType:{type:String,default:"ellipsis"}},setup(a){const o=a,e=F1(),i=c3(!1);return U1(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=r1;return h(),g("div",null,[u(s,j3(o,{disabled:m(i)}),{default:z(()=>[d("div",{ref_key:"textRef",ref:e,class:"overflow-text truncate",style:s3({textOverflow:a.overfloType})},R(l.content),5)]),_:1},16,["disabled"])])}}}),p6=V({__name:"index",props:{width:{type:[String,Number],default:"auto"},height:{type:[String,Number],default:"auto"},radius:{type:[String,Number],default:0},...Y1},setup(a){const o=a,e=b(()=>({width:i3(o.width),height:i3(o.height),borderRadius:i3(o.radius)}));return(i,l)=>{const c=Z1;return h(),A(c,j3({style:e.value},o),null,16,["style"])}}}),z6=P(p6,[["__scopeId","data-v-548a4c36"]]),b6=V({__name:"logo",props:{szie:{type:Number,default:34},title:{type:String},theme:{type:String},showTitle:{type:Boolean,default:!0}},setup(a){const o=S(),e=b(()=>o.config),i=r3(),l=()=>{i.push("/")};return(c,s)=>{const r=z6,n=v6;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(X1,{name:"title-width"},{default:z(()=>[d1(d("div",{class:b3(["logo-title overflow-hidden whitespace-nowrap",{"text-white":a.theme==m(v1).DARK}]),style:s3({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),[[h1,a.showTitle]])]),_:1})])}}}),y6=P(b6,[["__scopeId","data-v-c7305beb"]]),g6=V({__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(u1(m(i)),K1(J1(m(l))),{default:z(()=>[Q1(c.$slots,"default")]),_:3},16))}}),w6=V({__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:v2(`${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 p2(n)}catch{return s}});return(s,r)=>{var O;const n=G,v=a0,p=g6,_=n3("menu-item",!0),w=o0;return(O=a.route.meta)!=null&&O.hidden?B("",!0):(h(),g(D,{key:0},[m(e)?(h(),A(w,{key:1,index:a.routePath,"popper-class":a.popperClass},{title:z(()=>{var M,x,f;return[(M=m(i))!=null&&M.icon?(h(),A(n,{key:0,class:"menu-item-icon",size:16,name:(x=m(i))==null?void 0:x.icon},null,8,["name"])):B("",!0),d("span",null,R((f=m(i))==null?void 0:f.title),1)]}),default:z(()=>{var M;return[(h(!0),g(D,null,K((M=a.route)==null?void 0:M.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 M;return[d("span",null,R((M=m(i))==null?void 0:M.title),1)]}),default:z(()=>{var M,x;return[(M=m(i))!=null&&M.icon?(h(),A(n,{key:0,class:"menu-item-icon",size:16,name:(x=m(i))==null?void 0:x.icon},null,8,["name"])):B("",!0)]}),_:1},8,["index"])]),_:1},8,["to"]))],64))}}}),f6=P(w6,[["__scopeId","data-v-78e8d91a"]]),A6=V({__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=L3(),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=e0,n=m1;return h(),g("div",{class:b3(["menu flex-1 min-h-0",m(l)]),style:s3(a.isCollapsed?"":`--aside-width: ${a.width}px`)},[u(n,null,{default:z(()=>[u(r,j3(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(f6,{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)}}}),V6=P(A6,[["__scopeId","data-v-9e48e026"]]),L6=V({__name:"side",setup(a){const o=S(),e=b(()=>o.isMobile?!1:o.isCollapsed),i=W(),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:s3(m(r))},[m(i).showLogo?(h(),A(y6,{key:0,"show-title":!m(e),theme:m(l)},null,8,["show-title","theme"])):B("",!0),u(V6,{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=P(L6,[["__scopeId","data-v-a571d29a"]]),M6={class:"sidebar h-full"},E6=V({__name:"index",setup(a){const o=S(),e=W(),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=t1;return h(),g("aside",M6,[u(n,{modelValue:m(l),"onUpdate:modelValue":r[0]||(r[0]=v=>k(l)?l.value=v:null),direction:"ltr",size:m(c),title:"主题设置","with-header":!1},{default:z(()=>[u(F3)]),_:1},8,["modelValue","size"]),d1(u(F3,null,null,512),[[h1,!m(i)]])])}}}),x6=P(E6,[["__scopeId","data-v-ceedff60"]]),H6={class:"layout-default flex h-screen w-full"},T6={class:"app-aside shrink-0"},O6={class:"flex-1 flex flex-col min-w-0"},I6={class:"app-header"},R6={class:"app-main flex-1 min-h-0"},P6=V({__name:"index",setup(a){return(o,e)=>(h(),g("div",H6,[d("div",T6,[u(x6)]),d("div",O6,[d("div",I6,[u(u6)]),d("div",R6,[u(_6)])])]))}}),l3=()=>Promise.resolve(P6),M3=Symbol(),D6=[{path:"/:pathMatch(.*)*",component:()=>t(()=>import("./404-BVNyZfjw.js"),__vite__mapDeps([0,1,2,3,4]))},{path:T.ERROR_403,component:()=>t(()=>import("./403-CJj3mWci.js"),__vite__mapDeps([5,1,2,3,4]))},{path:T.LOGIN,component:()=>t(()=>import("./login-CsQFRwmN.js"),__vite__mapDeps([6,2,3,7,8,9]))},{path:"/change-password",component:()=>t(()=>import("./change-password-BF7VLRzT.js"),__vite__mapDeps([10,2,3,7,8,11]))},{path:"/bind-work-wechat",component:()=>t(()=>import("./bind-work-wechat-WANKsgjY.js"),__vite__mapDeps([12,2,3,8,13,14]))},{path:"/user",component:l3,children:[{path:"setting",component:()=>t(()=>import("./setting-Crv7IoUl.js"),__vite__mapDeps([15,2,3,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,13,31])),name:Symbol(),meta:{title:"个人设置"}}]},{path:"/doctor",component:l3,children:[{path:"progress",component:()=>t(()=>import("./progress-Cm0fQmBI.js"),__vite__mapDeps([32,2,3,33,34,35])),name:"doctorFaceProgress",meta:{title:"面诊进度"}}]},{path:"/decoration/pc_details",component:()=>t(()=>import("./pc_details-Dq149fDu.js"),__vite__mapDeps([36,2,3,37,38,39,40,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30,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]))},{path:"/fans/h5",component:()=>t(()=>import("./h5-DIbQgMy5.js"),__vite__mapDeps([76,2,3,77,33,78]))},{path:"/tcm/diagnosis/h5",component:()=>t(()=>import("./index_h5-DhzW8xbA.js"),__vite__mapDeps([79,2,3,80,81,34,82,28,83,33,84]))},{path:"/tcm/diagnosis-readonly",component:l3,meta:{hidden:!0},children:[{path:"",component:()=>t(()=>import("./readonly-BHqnUHSG.js"),__vite__mapDeps([85,2,3,80,86,87,83,88,89,90,91,92,93,94,18,19,20,21,22,23,24,25,26,27,28,29,30,95,96,97,98,99,100,101,102,103,104,33,105,106,107,108,109,34,110,111,112,113,114,115,116,117,118])),name:"tcmDiagnosisReadonly",meta:{title:"患者信息详情",hidden:!0,activeMenu:"/tcm/diagnosis"}}]}],_3={path:T.INDEX,component:l3,name:M3},C3=Object.assign({"/src/views/account/bind-work-wechat.vue":()=>t(()=>import("./bind-work-wechat-WANKsgjY.js"),__vite__mapDeps([12,2,3,8,13,14])),"/src/views/account/change-password.vue":()=>t(()=>import("./change-password-BF7VLRzT.js"),__vite__mapDeps([10,2,3,7,8,11])),"/src/views/account/login.vue":()=>t(()=>import("./login-CsQFRwmN.js"),__vite__mapDeps([6,2,3,7,8,9])),"/src/views/app/recharge/index.vue":()=>t(()=>import("./index-D_CEK_fr.js"),__vite__mapDeps([119,16,2,3,17])),"/src/views/article/column/edit.vue":()=>t(()=>import("./edit-B0pCcAB5.js"),__vite__mapDeps([120,121,2,3,42,19,20])),"/src/views/article/column/index.vue":()=>t(()=>import("./index-DUuzhLpN.js"),__vite__mapDeps([122,2,3,22,42,28,121,19,20])),"/src/views/article/lists/edit.vue":()=>t(()=>import("./edit-DyGS43PK.js"),__vite__mapDeps([123,16,2,3,17,124,18,19,20,21,22,23,24,25,26,27,28,29,30,125,42,126])),"/src/views/article/lists/index.vue":()=>t(()=>import("./index-BYYYZG22.js"),__vite__mapDeps([127,2,3,22,42,126,28])),"/src/views/asset/resource/index.vue":()=>t(()=>import("./index-Dsecycr5.js"),__vite__mapDeps([128,2,3,129,18,19,20,21,22,23,24,25,26,27,28,29,30])),"/src/views/asset/user/index.vue":()=>t(()=>import("./index-CnRHwXOU.js"),__vite__mapDeps([130,2,3,129])),"/src/views/channel/h5.vue":()=>t(()=>import("./h5-Bh53O7oF.js"),__vite__mapDeps([131,16,2,3,17])),"/src/views/channel/open_setting.vue":()=>t(()=>import("./open_setting-CzMkizJp.js"),__vite__mapDeps([132,16,2,3,17])),"/src/views/channel/weapp.vue":()=>t(()=>import("./weapp-DMIP9uxQ.js"),__vite__mapDeps([133,16,2,3,17,18,19,20,21,22,23,24,25,26,27,28,29,30,82])),"/src/views/channel/wx_oa/config.vue":()=>t(()=>import("./config-CJqugFWY.js"),__vite__mapDeps([134,16,2,3,17,18,19,20,21,22,23,24,25,26,27,28,29,30,135])),"/src/views/channel/wx_oa/menu.vue":()=>t(()=>import("./menu-D4Nepi0v.js"),__vite__mapDeps([136,16,2,3,17,137,23,24,19,20,138,139,135,140,141,142])),"/src/views/channel/wx_oa/menu_com/oa-attr.vue":()=>t(()=>import("./oa-attr-BBBq3k_L.js"),__vite__mapDeps([137,23,2,3,24,19,20,138,139,135,140])),"/src/views/channel/wx_oa/menu_com/oa-menu-form-edit.vue":()=>t(()=>import("./oa-menu-form-edit-Ctvs8HSB.js"),__vite__mapDeps([143,140,19,2,3,20,138,139,135])),"/src/views/channel/wx_oa/menu_com/oa-menu-form.vue":()=>t(()=>import("./oa-menu-form-BuzIic88.js"),__vite__mapDeps([144,138,2,3,139,135])),"/src/views/channel/wx_oa/menu_com/oa-phone.vue":()=>t(()=>import("./oa-phone-ByOKZQ9J.js"),__vite__mapDeps([141,2,3,139,135,142])),"/src/views/channel/wx_oa/reply/default_reply.vue":()=>t(()=>import("./default_reply-k0yU_hHD.js"),__vite__mapDeps([145,2,3,22,135,28,146,19,20])),"/src/views/channel/wx_oa/reply/edit.vue":()=>t(()=>import("./edit-Bv-f8SAB.js"),__vite__mapDeps([147,146,2,3,135,19,20])),"/src/views/channel/wx_oa/reply/follow_reply.vue":()=>t(()=>import("./follow_reply-BmrHcKki.js"),__vite__mapDeps([148,2,3,22,135,28,146,19,20])),"/src/views/channel/wx_oa/reply/keyword_reply.vue":()=>t(()=>import("./keyword_reply-Ns1T2YHU.js"),__vite__mapDeps([149,2,3,22,135,28,146,19,20])),"/src/views/chat/components/MessageBubble.vue":()=>t(()=>import("./MessageBubble-HqOiFrAJ.js"),__vite__mapDeps([150,2,3,151])),"/src/views/chat/components/SendPanel.vue":()=>t(()=>import("./SendPanel-C5FnjnCC.js").then(a=>a.i),__vite__mapDeps([152,2,3,26,153])),"/src/views/chat/index.vue":()=>t(()=>import("./index-fbRc3W1p.js"),__vite__mapDeps([154,2,3,28,150,151,152,26,153,155])),"/src/views/consumer/assistant/edit.vue":()=>t(()=>import("./edit-BKrJWTX7.js"),__vite__mapDeps([156,2,3,18,19,20,21,22,23,24,25,26,27,28,29,30,157,158,159,126,160])),"/src/views/consumer/assistant/index.vue":()=>t(()=>import("./index-CEqp99Wz.js"),__vite__mapDeps([161,2,3,22,157,28,156,18,19,20,21,23,24,25,26,27,29,30,158,159,126,160,162])),"/src/views/consumer/components/account-adjust.vue":()=>t(()=>import("./account-adjust-CRl0i9yJ.js"),__vite__mapDeps([163,164,2,3,19,20])),"/src/views/consumer/doctor/edit.vue":()=>t(()=>import("./edit-DQr-ajsm.js"),__vite__mapDeps([165,2,3,18,19,20,21,22,23,24,25,26,27,28,29,30,157,158,159,126,166])),"/src/views/consumer/doctor/index.vue":()=>t(()=>import("./index-DiYMHmVj.js"),__vite__mapDeps([167,2,3,22,157,28,165,18,19,20,21,23,24,25,26,27,29,30,158,159,126,166,168])),"/src/views/consumer/doctor/paiban.vue":()=>t(()=>import("./paiban-CHzlDeia.js"),__vite__mapDeps([169,2,3,33,80,34,170])),"/src/views/consumer/lists/detail.vue":()=>t(()=>import("./detail-DWgmpDyq.js"),__vite__mapDeps([171,2,3,27,172,164,19,20])),"/src/views/consumer/lists/index.vue":()=>t(()=>import("./index-D2ERPqGN.js"),__vite__mapDeps([173,2,3,22,174,19,20,175,172,28])),"/src/views/consumer/prescription/components/GancaoSubmissionReconcileButton.vue":()=>t(()=>import("./GancaoSubmissionReconcileButton-CSFPQPhZ.js"),__vite__mapDeps([176,177,2,3,80])),"/src/views/consumer/prescription/components/PrescriptionOrderDetailDrawer.vue":()=>t(()=>import("./PrescriptionOrderDetailDrawer-CEi7ZXfx.js"),__vite__mapDeps([112,2,3,80,113,114])),"/src/views/consumer/prescription/guahao.vue":()=>t(()=>import("./guahao-BbsG0p0L.js"),__vite__mapDeps([178,2,3,22,175,34,80,28])),"/src/views/consumer/prescription/index.vue":()=>t(()=>import("./index-CXnBTg6O.js"),__vite__mapDeps([179,2,3,22,80,180,181,28,83,175,182,183,184])),"/src/views/consumer/prescription/list.vue":()=>t(()=>import("./list-BNC5XsME.js"),__vite__mapDeps([185,2,3,22,80,28,182,180,183,186])),"/src/views/consumer/prescription/order_list.vue":()=>t(()=>import("./order_list-DJ6sfjv9.js"),__vite__mapDeps([187,2,3,22,174,19,20,188,189,112,80,113,114,177,158,28,190])),"/src/views/consumer/prescription/order_list_h5.vue":()=>t(()=>import("./order_list_h5-h4jPUlob.js"),__vite__mapDeps([191,2,3,22,188,189,177,80,113,158,28,192])),"/src/views/decoration/component/add-nav.vue":()=>t(()=>import("./add-nav-zBt-luT9.js"),__vite__mapDeps([193,54,2,3,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30])),"/src/views/decoration/component/decoration-img.vue":()=>t(()=>import("./decoration-img-D7jfQZHh.js"),__vite__mapDeps([46,2,3,47])),"/src/views/decoration/component/pages/attr-setting.vue":()=>t(()=>import("./attr-setting-5aG8-EQp.js"),__vite__mapDeps([194,195,2,3,39,40,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,37,61,62,63,64,65,66,67,68,69,70,71,72,73])),"/src/views/decoration/component/pages/menu.vue":()=>t(()=>import("./menu-DpE-frsg.js"),__vite__mapDeps([196,2,3,197])),"/src/views/decoration/component/pages/preview-pc.vue":()=>t(()=>import("./preview-pc-BmclGIba.js"),__vite__mapDeps([38,2,3,39,40,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,37,61,62,63,64,65,66,67,68,69,70,71,72,73,74])),"/src/views/decoration/component/pages/preview.vue":()=>t(()=>import("./preview-CsXXagtK.js"),__vite__mapDeps([198,2,3,39,40,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,37,61,62,63,64,65,66,67,68,69,70,71,72,73,199])),"/src/views/decoration/component/tabbar/mobile/attr.vue":()=>t(()=>import("./attr-uDQyHJm6.js"),__vite__mapDeps([200,201,2,3,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30,63])),"/src/views/decoration/component/tabbar/mobile/content.vue":()=>t(()=>import("./content-lN5Ca0O2.js"),__vite__mapDeps([202,46,2,3,47,203])),"/src/views/decoration/component/tabbar/pc/attr.vue":()=>t(()=>import("./attr-BOsG9dH5.js"),__vite__mapDeps([204,2,3,205,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30])),"/src/views/decoration/component/tabbar/pc/content.vue":()=>t(()=>import("./content-36mRiREA.js"),__vite__mapDeps([206,2,3,46,47,207])),"/src/views/decoration/component/tabbar/pc/menu-set.vue":()=>t(()=>import("./menu-set-D-kX2Smh.js"),__vite__mapDeps([208,205,2,3,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30])),"/src/views/decoration/component/widgets/banner/attr.vue":()=>t(()=>import("./attr-Cdokcs2q.js"),__vite__mapDeps([40,2,3,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30,44])),"/src/views/decoration/component/widgets/banner/content.vue":()=>t(()=>import("./content-BEL3LUmD.js"),__vite__mapDeps([209,45,46,2,3,47])),"/src/views/decoration/component/widgets/customer-service/attr.vue":()=>t(()=>import("./attr-CRjKYwsi.js"),__vite__mapDeps([210,48,2,3,18,19,20,21,22,23,24,25,26,27,28,29,30])),"/src/views/decoration/component/widgets/customer-service/content.vue":()=>t(()=>import("./content-DPbffuTN.js"),__vite__mapDeps([49,46,2,3,47,50])),"/src/views/decoration/component/widgets/middle-banner/attr.vue":()=>t(()=>import("./attr-pwvlegd0.js"),__vite__mapDeps([211,51,2,3,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30])),"/src/views/decoration/component/widgets/middle-banner/content.vue":()=>t(()=>import("./content-CUuThDez.js"),__vite__mapDeps([212,52,46,2,3,47])),"/src/views/decoration/component/widgets/my-service/attr.vue":()=>t(()=>import("./attr-DK2_P6_e.js"),__vite__mapDeps([213,53,2,3,54,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30])),"/src/views/decoration/component/widgets/my-service/content.vue":()=>t(()=>import("./content-MvOmvsN5.js"),__vite__mapDeps([55,46,2,3,47,56])),"/src/views/decoration/component/widgets/nav/attr.vue":()=>t(()=>import("./attr-DA0TXcU9.js"),__vite__mapDeps([214,57,2,3,54,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30])),"/src/views/decoration/component/widgets/nav/content.vue":()=>t(()=>import("./content-BU4IoEkF.js"),__vite__mapDeps([215,58,46,2,3,47])),"/src/views/decoration/component/widgets/news/attr.vue":()=>t(()=>import("./attr-D_hhKkZj.js"),__vite__mapDeps([216,59,2,3])),"/src/views/decoration/component/widgets/news/content.vue":()=>t(()=>import("./content-CoRLP3ZG.js"),__vite__mapDeps([60,37,2,3,61])),"/src/views/decoration/component/widgets/page-meta/attr.vue":()=>t(()=>import("./attr-C1ts7JDx.js"),__vite__mapDeps([217,62,2,3,63,18,19,20,21,22,23,24,25,26,27,28,29,30])),"/src/views/decoration/component/widgets/page-meta/content.vue":()=>t(()=>import("./content-B1h0mUKe.js"),__vite__mapDeps([64,2,3])),"/src/views/decoration/component/widgets/pc-banner/content.vue":()=>t(()=>import("./content-pLQJHviw.js"),__vite__mapDeps([218,65,2,3,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30])),"/src/views/decoration/component/widgets/search/attr.vue":()=>t(()=>import("./attr-Bh8cUzc0.js"),__vite__mapDeps([219,66,2,3])),"/src/views/decoration/component/widgets/search/content.vue":()=>t(()=>import("./content-FlAi4LQU.js"),__vite__mapDeps([67,2,3,68])),"/src/views/decoration/component/widgets/user-banner/attr.vue":()=>t(()=>import("./attr-BTZ7nD04.js"),__vite__mapDeps([220,69,2,3,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30])),"/src/views/decoration/component/widgets/user-banner/content.vue":()=>t(()=>import("./content-DftCBRD1.js"),__vite__mapDeps([221,70,46,2,3,47])),"/src/views/decoration/component/widgets/user-info/attr.vue":()=>t(()=>import("./attr-BhmUyRYd.js"),__vite__mapDeps([222,71,2,3])),"/src/views/decoration/component/widgets/user-info/content.vue":()=>t(()=>import("./content-Cwp3TvMF.js"),__vite__mapDeps([72,2,3,73])),"/src/views/decoration/pages/index.vue":()=>t(()=>import("./index-HlZ3YZOq.js"),__vite__mapDeps([223,16,2,3,17,37,195,39,40,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30,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,196,197,198,199,224])),"/src/views/decoration/pc.vue":()=>t(()=>import("./pc-CeTGNIK_.js"),__vite__mapDeps([225,2,3,37])),"/src/views/decoration/pc_details.vue":()=>t(()=>import("./pc_details-Dq149fDu.js"),__vite__mapDeps([36,2,3,37,38,39,40,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30,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])),"/src/views/decoration/style/components/mobile-style.vue":()=>t(()=>import("./mobile-style-BD-Gd02X.js"),__vite__mapDeps([226,227,2,3,63,228,229])),"/src/views/decoration/style/components/theme-picker.vue":()=>t(()=>import("./theme-picker-B0Vl2QAG.js"),__vite__mapDeps([228,2,3,229])),"/src/views/decoration/style/style.vue":()=>t(()=>import("./style-BcXG7BAY.js"),__vite__mapDeps([230,16,2,3,17,37,227,63,228,229])),"/src/views/decoration/tabbar.vue":()=>t(()=>import("./tabbar-BXi5RmTP.js"),__vite__mapDeps([231,16,2,3,17,37,196,197,201,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30,63,202,46,47,203,232])),"/src/views/dev_tools/code/edit.vue":()=>t(()=>import("./edit-u2FkPXUK.js"),__vite__mapDeps([233,16,2,3,17,234,235,236,126,237,19,20,238])),"/src/views/dev_tools/code/index.vue":()=>t(()=>import("./index-BeH9abR9.js"),__vite__mapDeps([239,2,3,22,236,28,240,241,19,20])),"/src/views/dev_tools/components/code-preview.vue":()=>t(()=>import("./code-preview-T9hRlJu3.js"),__vite__mapDeps([242,240,2,3])),"/src/views/dev_tools/components/data-table.vue":()=>t(()=>import("./data-table-BASn--YT.js"),__vite__mapDeps([243,241,2,3,236,22,19,20,28])),"/src/views/dev_tools/components/relations-add.vue":()=>t(()=>import("./relations-add-CDnhosHf.js"),__vite__mapDeps([244,237,2,3,236,19,20,126])),"/src/views/doctor/dept-tongji.vue":()=>t(()=>import("./dept-tongji-Cav2AKLY.js"),__vite__mapDeps([245,2,3,34,246])),"/src/views/doctor/medicine.vue":()=>t(()=>import("./medicine-Qtk6jfZt.js"),__vite__mapDeps([247,2,3,180,248])),"/src/views/doctor/progress.vue":()=>t(()=>import("./progress-Cm0fQmBI.js"),__vite__mapDeps([32,2,3,33,34,35])),"/src/views/doctor/roster.vue":()=>t(()=>import("./roster-Ims33KsB.js"),__vite__mapDeps([249,2,3,33,34,250])),"/src/views/doctor/tongji.vue":()=>t(()=>import("./tongji-Dw13lW9F.js"),__vite__mapDeps([251,2,3,34,252])),"/src/views/error/403.vue":()=>t(()=>import("./403-CJj3mWci.js"),__vite__mapDeps([5,1,2,3,4])),"/src/views/error/404.vue":()=>t(()=>import("./404-BVNyZfjw.js"),__vite__mapDeps([0,1,2,3,4])),"/src/views/error/components/error.vue":()=>t(()=>import("./error-Pzo5SbGa.js"),__vite__mapDeps([1,2,3,4])),"/src/views/fans/commission-settlement.vue":()=>t(()=>import("./commission-settlement-Bo2Gm2jN.js"),__vite__mapDeps([253,2,3,254,255])),"/src/views/fans/h5.vue":()=>t(()=>import("./h5-DIbQgMy5.js"),__vite__mapDeps([76,2,3,77,33,78])),"/src/views/fans/index.vue":()=>t(()=>import("./index-DHPLU2Cm.js"),__vite__mapDeps([256,2,3,22,77,28,33])),"/src/views/fans/qywx.vue":()=>t(()=>import("./qywx-DJmsU1lV.js"),__vite__mapDeps([257,2,3,22,28,258])),"/src/views/fans/yeji.vue":()=>t(()=>import("./yeji-BDBaFWS4.js"),__vite__mapDeps([259,2,3,254,260,80,83,261])),"/src/views/finance/account_cost/edit.vue":()=>t(()=>import("./edit-DDrtLTXp.js"),__vite__mapDeps([262,2,3,260,19,20,263])),"/src/views/finance/account_cost/index.vue":()=>t(()=>import("./index-2yH9q9da.js"),__vite__mapDeps([264,2,3,22,260,28,188,189,262,19,20,263,265])),"/src/views/finance/balance_details.vue":()=>t(()=>import("./balance_details-BABlTfrn.js"),__vite__mapDeps([266,2,3,22,175,260,126,28])),"/src/views/finance/component/refund-log.vue":()=>t(()=>import("./refund-log-D5grGFxC.js"),__vite__mapDeps([267,268,2,3,260])),"/src/views/finance/mubiao-dept-card.vue":()=>t(()=>import("./mubiao-dept-card-mAUD3lcL.js"),__vite__mapDeps([269,2,3,270])),"/src/views/finance/mubiao-dept-node.vue":()=>t(()=>import("./mubiao-dept-node-DXJCBtIw.js"),__vite__mapDeps([271,2,3,272])),"/src/views/finance/mubiao.vue":()=>t(()=>import("./mubiao-Co5R-nvh.js"),__vite__mapDeps([273,2,3,269,270,260,274])),"/src/views/finance/recharge_record.vue":()=>t(()=>import("./recharge_record-rzk-_7bZ.js"),__vite__mapDeps([275,2,3,22,174,19,20,175,260,28])),"/src/views/finance/refund_record.vue":()=>t(()=>import("./refund_record-B8prI109.js"),__vite__mapDeps([276,2,3,22,175,260,28,268])),"/src/views/material/index.vue":()=>t(()=>import("./index-CjXwPBH-.js"),__vite__mapDeps([277,2,3,21,22,23,24,19,20,25,26,27,28,29,278])),"/src/views/message/notice/edit.vue":()=>t(()=>import("./edit-BMGKdcjh.js"),__vite__mapDeps([279,2,3,16,17,280])),"/src/views/message/notice/index.vue":()=>t(()=>import("./index-Ccckw_2a.js"),__vite__mapDeps([281,2,3,280,28])),"/src/views/message/short_letter/edit.vue":()=>t(()=>import("./edit-dcFWCx5G.js"),__vite__mapDeps([282,283,2,3,280,19,20])),"/src/views/message/short_letter/index.vue":()=>t(()=>import("./index-Cft40QEz.js"),__vite__mapDeps([284,2,3,280,283,19,20])),"/src/views/order/index.vue":()=>t(()=>import("./index-C8OqMZ1Q.js"),__vite__mapDeps([285,2,3,22,174,19,20,175,28,81,80,286])),"/src/views/organization/department/edit.vue":()=>t(()=>import("./edit-CwgFvop_.js"),__vite__mapDeps([287,288,2,3,158,19,20,126])),"/src/views/organization/department/index.vue":()=>t(()=>import("./index-ZJPNDzgN.js"),__vite__mapDeps([289,2,3,158,288,19,20,126])),"/src/views/organization/post/edit.vue":()=>t(()=>import("./edit-a198HFxd.js"),__vite__mapDeps([290,291,2,3,159,19,20])),"/src/views/organization/post/index.vue":()=>t(()=>import("./index-DdeUYyvt.js"),__vite__mapDeps([292,2,3,22,174,19,20,159,28,291])),"/src/views/patient/reception/components/NoteTimeline.vue":()=>t(()=>import("./NoteTimeline-DxUNQs4y.js"),__vite__mapDeps([116,2,3,18,19,20,21,22,23,24,25,26,27,28,29,30,86,83,117])),"/src/views/patient/reception/index.vue":()=>t(()=>import("./index-FFPHEcEv.js"),__vite__mapDeps([293,2,3,86,116,18,19,20,21,22,23,24,25,26,27,28,29,30,83,117,88,87,89,90,91,92,93,94,95,80,96,97,34,294])),"/src/views/permission/admin/edit.vue":()=>t(()=>import("./edit-DAmB478j.js"),__vite__mapDeps([295,296,2,3,18,19,20,21,22,23,24,25,26,27,28,29,30,158,159,157,181,126])),"/src/views/permission/admin/index.vue":()=>t(()=>import("./index-Bqo9_IB9.js"),__vite__mapDeps([297,2,3,22,174,19,20,157,181,126,28,296,18,21,23,24,25,26,27,29,30,158,159])),"/src/views/permission/menu/edit.vue":()=>t(()=>import("./edit-C3VqtZAm.js"),__vite__mapDeps([298,299,2,3,300,234,19,20])),"/src/views/permission/menu/index.vue":()=>t(()=>import("./index-f-dGZB6X.js"),__vite__mapDeps([301,2,3,234,28,299,300,19,20])),"/src/views/permission/role/auth.vue":()=>t(()=>import("./auth-Dyv7GgHJ.js"),__vite__mapDeps([302,303,2,3,234,181,19,20])),"/src/views/permission/role/edit.vue":()=>t(()=>import("./edit-h5CgTUSj.js"),__vite__mapDeps([304,305,2,3,181,19,20])),"/src/views/permission/role/index.vue":()=>t(()=>import("./index-CXw6xFMg.js"),__vite__mapDeps([306,2,3,22,181,28,303,234,19,20,305])),"/src/views/pharmacy/medicine_mapping/index.vue":()=>t(()=>import("./index-DJergT_1.js"),__vite__mapDeps([307,2,3,308])),"/src/views/setting/dict/data/edit.vue":()=>t(()=>import("./edit-BPcc_PpU.js"),__vite__mapDeps([309,310,2,3,235,19,20])),"/src/views/setting/dict/data/index.vue":()=>t(()=>import("./index-CYHWM1G1.js"),__vite__mapDeps([311,2,3,22,235,28,310,19,20])),"/src/views/setting/dict/type/edit.vue":()=>t(()=>import("./edit-BS5uW41X.js"),__vite__mapDeps([312,313,2,3,235,19,20])),"/src/views/setting/dict/type/index.vue":()=>t(()=>import("./index-CqkePGQX.js"),__vite__mapDeps([314,2,3,22,235,28,313,19,20])),"/src/views/setting/pay/config/edit.vue":()=>t(()=>import("./edit-DjLHv_Io.js"),__vite__mapDeps([315,2,3,18,19,20,21,22,23,24,25,26,27,28,29,30,316,7,317,318])),"/src/views/setting/pay/config/index.vue":()=>t(()=>import("./index-BDZ5-mdF.js"),__vite__mapDeps([319,2,3,316,317,315,18,19,20,21,22,23,24,25,26,27,28,29,30,7,318])),"/src/views/setting/pay/method/index.vue":()=>t(()=>import("./index-0akm_RRS.js"),__vite__mapDeps([320,16,2,3,17,316])),"/src/views/setting/search/index.vue":()=>t(()=>import("./index-B87ARyE6.js"),__vite__mapDeps([321,16,2,3,17,322])),"/src/views/setting/storage/edit.vue":()=>t(()=>import("./edit-C7Q-_A2e.js"),__vite__mapDeps([323,324,2,3,19,20])),"/src/views/setting/storage/index.vue":()=>t(()=>import("./index-DtLL-xK5.js"),__vite__mapDeps([325,2,3,324,19,20])),"/src/views/setting/system/cache.vue":()=>t(()=>import("./cache-W-KMyH8o.js"),__vite__mapDeps([326,2,3])),"/src/views/setting/system/environment.vue":()=>t(()=>import("./environment-DCNrfcil.js"),__vite__mapDeps([327,2,3])),"/src/views/setting/system/journal.vue":()=>t(()=>import("./journal-lsYyaKU4.js"),__vite__mapDeps([328,2,3,22,174,19,20,175,28])),"/src/views/setting/system/scheduled_task/edit.vue":()=>t(()=>import("./edit-CftBpLBt.js"),__vite__mapDeps([329,16,2,3,17])),"/src/views/setting/system/scheduled_task/index.vue":()=>t(()=>import("./index-B0qTqYrO.js"),__vite__mapDeps([330,2,3,22,28])),"/src/views/setting/user/login_register.vue":()=>t(()=>import("./login_register-CsAdgcaz.js"),__vite__mapDeps([331,16,2,3,17,332])),"/src/views/setting/user/setup.vue":()=>t(()=>import("./setup-C8RhV3Jx.js"),__vite__mapDeps([333,16,2,3,17,18,19,20,21,22,23,24,25,26,27,28,29,30,332])),"/src/views/setting/website/filing.vue":()=>t(()=>import("./filing-BgOiZ90h.js"),__vite__mapDeps([334,16,2,3,17,23,24,335])),"/src/views/setting/website/information.vue":()=>t(()=>import("./information-CurNB_Rk.js"),__vite__mapDeps([336,16,2,3,17,18,19,20,21,22,23,24,25,26,27,28,29,30,335])),"/src/views/setting/website/protocol.vue":()=>t(()=>import("./protocol-CMbLWRPX.js"),__vite__mapDeps([337,16,2,3,17,124,18,19,20,21,22,23,24,25,26,27,28,29,30,125,335])),"/src/views/setting/website/statistics.vue":()=>t(()=>import("./statistics-D2UVnsXP.js"),__vite__mapDeps([338,16,2,3,17,335])),"/src/views/stats/assistant-performance/index.vue":()=>t(()=>import("./index-BwVlyGOI.js"),__vite__mapDeps([339,2,3,254,340])),"/src/views/stats/auto_assign_log/index.vue":()=>t(()=>import("./index-DUOmIy1t.js"),__vite__mapDeps([341,2,3,22,254,28,342])),"/src/views/stats/conversion/index.vue":()=>t(()=>import("./index-BII6FZnL.js"),__vite__mapDeps([343,22,2,3,254,28,344])),"/src/views/stats/revisit_rate/index.vue":()=>t(()=>import("./index-DV39N5BU.js"),__vite__mapDeps([345,2,3,254,83,346])),"/src/views/stats/self_input/MediaSourceSelect.vue":()=>t(()=>import("./MediaSourceSelect-CVO-phQq.js"),__vite__mapDeps([347,348,2,3])),"/src/views/stats/self_input/account_cost.vue":()=>t(()=>import("./account_cost-CJ_OnAOW.js"),__vite__mapDeps([349,2,3,22,350,158,28,351,19,20,348,352,188,189,353])),"/src/views/stats/self_input/cost-edit.vue":()=>t(()=>import("./cost-edit-CkZ1nXSc.js"),__vite__mapDeps([354,351,2,3,350,19,20,348])),"/src/views/stats/self_input/index.vue":()=>t(()=>import("./index-CttvfP_1.js"),__vite__mapDeps([355,2,3,22,350,158,28,348,356,19,20,352,357])),"/src/views/stats/self_input/yeji-edit.vue":()=>t(()=>import("./yeji-edit-BZiHOHXD.js"),__vite__mapDeps([358,356,2,3,350,19,20,348])),"/src/views/tcm/appointment/components/prescription-drawer.vue":()=>t(()=>import("./prescription-drawer-Cr9exkRl.js"),__vite__mapDeps([359,2,3,80,182,180,183,360])),"/src/views/tcm/appointment/list.vue":()=>t(()=>import("./list-COnYi4m8.js"),__vite__mapDeps([361,2,3,22,175,28,34,158,80,86,83,92,82,362])),"/src/views/tcm/appointment/list_h5.vue":()=>t(()=>import("./list_h5-DJcCePK0.js"),__vite__mapDeps([363,2,3,34,82,80,86,28,92,83,364])),"/src/views/tcm/diagnosis/add.vue":()=>t(()=>import("./add-BB0rPF8j.js"),__vite__mapDeps([365,2,3,80,366])),"/src/views/tcm/diagnosis/appointment.vue":()=>t(()=>import("./appointment-Bc2rxQW1.js"),__vite__mapDeps([367,2,3,33,80,34,368])),"/src/views/tcm/diagnosis/components/AppointmentRecordPanel.vue":()=>t(()=>import("./AppointmentRecordPanel-DxBIlcME.js"),__vite__mapDeps([109,2,3,34,110])),"/src/views/tcm/diagnosis/components/AssignLogPanel.vue":()=>t(()=>import("./AssignLogPanel-CF42MNq_.js"),__vite__mapDeps([107,2,3,80,108])),"/src/views/tcm/diagnosis/components/AssistantWatchCallDialog.vue":()=>t(()=>import("./AssistantWatchCallDialog-CRByNVWz.js"),__vite__mapDeps([369,2,3,80,370])),"/src/views/tcm/diagnosis/components/BloodRecordList.vue":()=>t(()=>import("./BloodRecordList-vYKeEjkv.js"),__vite__mapDeps([371,2,3,80,372])),"/src/views/tcm/diagnosis/components/CallRecordPanel.vue":()=>t(()=>import("./CallRecordPanel-CJ3iGibG.js"),__vite__mapDeps([98,2,3,99,100,101,102,25,26,80,103])),"/src/views/tcm/diagnosis/components/CaseRecordList.vue":()=>t(()=>import("./CaseRecordList-DlCqPijV.js"),__vite__mapDeps([373,2,3,80,374])),"/src/views/tcm/diagnosis/components/DailyMatrix.vue":()=>t(()=>import("./DailyMatrix-BOqZMkKS.js"),__vite__mapDeps([94,2,3,18,19,20,21,22,23,24,25,26,27,28,29,30,95,80,83,96,91,97])),"/src/views/tcm/diagnosis/components/DiagnosisTodoList.vue":()=>t(()=>import("./DiagnosisTodoList-CAIMA53u.js"),__vite__mapDeps([95,2,3,22,80,83,96])),"/src/views/tcm/diagnosis/components/DietRecordList.vue":()=>t(()=>import("./DietRecordList-vLafiEoe.js"),__vite__mapDeps([375,2,3,18,19,20,21,22,23,24,25,26,27,28,29,30,80,376])),"/src/views/tcm/diagnosis/components/ExerciseRecordList.vue":()=>t(()=>import("./ExerciseRecordList-4qghvJQ6.js"),__vite__mapDeps([377,2,3,18,19,20,21,22,23,24,25,26,27,28,29,30,80,378])),"/src/views/tcm/diagnosis/components/ImChatRecordPanel.vue":()=>t(()=>import("./ImChatRecordPanel-BMjxk7mx.js"),__vite__mapDeps([104,2,3,33,80,105,106])),"/src/views/tcm/diagnosis/components/PatientCaseCard.vue":()=>t(()=>import("./PatientCaseCard-CN_U6rzw.js"),__vite__mapDeps([90,91,87,92,2,3,93])),"/src/views/tcm/diagnosis/components/PatientInfoCard.vue":()=>t(()=>import("./PatientInfoCard-_2CDuTA6.js"),__vite__mapDeps([88,87,2,3,89])),"/src/views/tcm/diagnosis/components/PatientOrderList.vue":()=>t(()=>import("./PatientOrderList-CKjXSixL.js"),__vite__mapDeps([111,2,3,22,28,80,112,113,114,115])),"/src/views/tcm/diagnosis/components/RecordingPlaybackBlock.vue":()=>t(()=>import("./RecordingPlaybackBlock-CN4w1UI-.js"),__vite__mapDeps([99,2,3,100,101,102])),"/src/views/tcm/diagnosis/components/RecordingVideoPlayer.vue":()=>t(()=>import("./RecordingVideoPlayer-DIfduEP7.js"),__vite__mapDeps([100,2,3,101])),"/src/views/tcm/diagnosis/components/TrackingMatrix.vue":()=>t(()=>import("./TrackingMatrix-BLX7Ezuc.js"),__vite__mapDeps([379,2,3,91,80,380])),"/src/views/tcm/diagnosis/components/TrackingNoteTimeline.vue":()=>t(()=>import("./TrackingNoteTimeline-DwagN7gG.js"),__vite__mapDeps([381,2,3,80,382])),"/src/views/tcm/diagnosis/detail.vue":()=>t(()=>import("./detail-DwhNQqa0.js"),__vite__mapDeps([383,19,2,3,20,80])),"/src/views/tcm/diagnosis/edit.vue":()=>t(()=>import("./edit-DxLWCQnV.js"),__vite__mapDeps([384,2,3,80,83,94,18,19,20,21,22,23,24,25,26,27,28,29,30,95,96,91,97,373,374,98,99,100,101,102,103,104,33,105,106,107,108,109,34,110,116,86,117,111,112,113,114,115,385,182,180,183,92,386,387,382])),"/src/views/tcm/diagnosis/index.vue":()=>t(()=>import("./index-BMHQaxci.js"),__vite__mapDeps([388,2,3,22,80,81,34,28,82,83,33,175,389])),"/src/views/tcm/diagnosis/index_h5.vue":()=>t(()=>import("./index_h5-DhzW8xbA.js"),__vite__mapDeps([79,2,3,80,81,34,82,28,83,33,84])),"/src/views/tcm/diagnosis/readonly.vue":()=>t(()=>import("./readonly-BHqnUHSG.js"),__vite__mapDeps([85,2,3,80,86,87,83,88,89,90,91,92,93,94,18,19,20,21,22,23,24,25,26,27,28,29,30,95,96,97,98,99,100,101,102,103,104,33,105,106,107,108,109,34,110,111,112,113,114,115,116,117,118])),"/src/views/tcm/follow/index.vue":()=>t(()=>import("./index-Dpqz-I2j.js"),__vite__mapDeps([390,2,3,22,80,158,81,34,28,82,83,33,391])),"/src/views/template/component/file.vue":()=>t(()=>import("./file-mAs5e8lw.js"),__vite__mapDeps([392,2,3,18,19,20,21,22,23,24,25,26,27,28,29,30])),"/src/views/template/component/icon.vue":()=>t(()=>import("./icon-CHuMI6Nw.js"),__vite__mapDeps([393,2,3,300])),"/src/views/template/component/link.vue":()=>t(()=>import("./link-DFZew37_.js"),__vite__mapDeps([394,2,3,41,19,20,22,42,28,43])),"/src/views/template/component/overflow.vue":()=>t(()=>import("./overflow-BVuoJuJp.js"),__vite__mapDeps([395,2,3])),"/src/views/template/component/popover_input.vue":()=>t(()=>import("./popover_input-DFAEiGxG.js"),__vite__mapDeps([396,2,3,27])),"/src/views/template/component/rich_text.vue":()=>t(()=>import("./rich_text-MCXm6fRU.js"),__vite__mapDeps([397,2,3,124,18,19,20,21,22,23,24,25,26,27,28,29,30,125])),"/src/views/template/component/upload.vue":()=>t(()=>import("./upload-upgxHD-j.js"),__vite__mapDeps([398,2,3,25,26])),"/src/views/test/patient-call.vue":()=>t(()=>import("./patient-call-D7jJAMY3.js"),__vite__mapDeps([399,2,3,400])),"/src/views/user/setting.vue":()=>t(()=>import("./setting-Crv7IoUl.js"),__vite__mapDeps([15,2,3,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,13,31])),"/src/views/workbench/index.vue":()=>t(()=>import("./index-DBr4A7i9.js"),__vite__mapDeps([401,2,3,80,81,317,402]))});function X4(){return Object.keys(C3).map(a=>a.replace("/src/views/","").replace(".vue",""))}function f1(a,o=!0){return a.map(e=>{const i=B6(e,o);return e.children!=null&&e.children&&e.children.length&&(i.children=f1(e.children,!1)),i})}function B6(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:I3,a.children||(i.component=I3);break;case y3.MENU:i.component=C6(a.component);break}return i}function C6(a){try{const o=A1(a),e=Object.keys(C3).find(i=>i.includes(`/${o}.vue`));if(e)return C3[e];throw Error(`找不到组件${a},请确保组件路径正确`)}catch(o){return console.error(o),I3}}function A1(a){return String(a||"").replace(/^\/+/,"").replace(/\/+$/,"")}function S3(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=S3(i.children);if(l)return l}}}function K4(a){var e;return((e=(r3()||H).getRoutes().find(i=>{var l;return((l=i.meta)==null?void 0:l.perms)==a}))==null?void 0:e.path)||""}function S6(){H.removeRoute(M3);const{routes:a}=Y();a.forEach(o=>{const e=o.name;e&&H.hasRoute(e)&&H.removeRoute(e)})}const H=t0({history:i0("/admin/"),routes:D6});function H3(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(!H3(a.query.code))return!1;const e=H3(a.query.state);return e==="bind_wxwork"||e==="admin_bind_wx"?!0:H3(a.query.bind_wxwork)==="1"}const k3=(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(M3,l),e.children&&e.children.length>0&&k3(e.children,i+"/")})}catch(e){console.error("Error adding routes:",e)}},o3=T.LOGIN,k6=T.INDEX,T3="/change-password",v3="/bind-work-wechat",j6=[T.LOGIN,T.ERROR_403];H.beforeEach(async(a,o,e)=>{var c,s,r,n;document.title=a.meta.title??N.title;const i=Y(),l=m3();if(a.path===v3){if(!i.token){e({path:o3});return}e();return}if(a.path===T3){if(!i.token){e({path:o3});return}e();return}if(j6.includes(a.path))e();else if(i.token)if(Object.keys(i.userInfo).length!==0){if(i.isPaw===0){e({path:T3});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(M3)){const p=S3(i.routes);if(!p){t3(),e(T.ERROR_403);return}l.setRouteName(p),_3.redirect={name:p},H.addRoute(_3),k3(i.routes),e({...a,replace:!0});return}a.path===o3?e({path:k6}):e()}else try{if(await i.getUserInfo(),i.isPaw===0){e({path:T3});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,_=S3(p);if(!_){t3(),e(T.ERROR_403);return}l.setRouteName(_),_3.redirect={name:_},H.addRoute(_3),k3(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 N6(){return L.get({url:"/chat/notifications"})}const q6=["onClick"],W6={class:"chat-notify-body"},G6={class:"chat-notify-title"},$6={class:"chat-notify-desc"},U6={class:"patient-name"},F6={class:"doctor-name"},Y6={class:"patient-name"},Z6={class:"patient-name"},X6={class:"chat-notify-time"},K6=["onClick"],J6=5e3,Q6=V({__name:"index",setup(a){const o=r3(),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 N6();Array.isArray(n)&&n.length>0&&(e.value=[...n,...e.value].slice(0,10))}catch{}}return _1(()=>{r(),i.value=setInterval(r,J6)}),l0(()=>{i.value&&clearInterval(i.value)}),(n,v)=>{const p=o1;return h(),A(c0,{to:"body"},[u(d0,{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(s0),{key:0})):_.type==="consultation_complete"?(h(),A(m(n0),{key:1})):(h(),A(m(r0),{key:2}))]),_:2},1024)],2),d("div",W6,[d("div",G6,R(_.type==="consultation_complete"?"面诊结束":_.type==="patient_left_chat"?"患者离开会话":"患者打开会话"),1),d("div",$6,[_.type==="consultation_complete"?(h(),g(D,{key:0},[d("span",U6,R(_.patient_name||"患者"),1),v[0]||(v[0]=I(" 的面诊已由 ",-1)),d("span",F6,R(_.doctor_name||"医生"),1),v[1]||(v[1]=I(" 完成,请及时跟进 ",-1))],64)):_.type==="patient_left_chat"?(h(),g(D,{key:1},[d("span",Y6,R(_.patient_name||"患者"),1),v[2]||(v[2]=I(" 已离开问诊会话页面 ",-1))],64)):(h(),g(D,{key:2},[d("span",Z6,R(_.patient_name||"患者"),1),v[3]||(v[3]=I(" 已打开与您的会话,请及时查看 ",-1))],64))]),d("div",X6,R(l(_.created_at)),1)]),d("button",{class:"chat-notify-close",onClick:u0(w=>c(_.id),["stop"]),"aria-label":"关闭"},[u(p,{size:14},{default:z(()=>[u(m(m0))]),_:1})],8,K6)],10,q6))),128))]),_:1})])}}}),a4=P(Q6,[["__scopeId","data-v-2fb1f024"]]),o4=V({__name:"App",setup(a){const o=S(),e=W(),i=Y(),l=L3(),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:p0},r=e1();_1(async()=>{console.log("主题颜色",r.value),e.setTheme(r.value)});const{width:n}=h0();return i1(n,_0(v=>{v>R3.SM?(o.setMobile(!1),o.toggleCollapsed(!1)):(o.setMobile(!0),o.toggleCollapsed(!0)),v{const _=n3("router-view"),w=v0;return h(),A(w,{locale:s.locale,"z-index":s.zIndex},{default:z(()=>[u(_),c.value?(h(),A(a4,{key:0})):B("",!0)]),_:1},8,["locale","z-index"])}}}),O3="data-clipboard-text",e4={mounted:(a,o)=>{a.setAttribute(O3,o.value);const{toClipboard:e}=z0();a.onclick=()=>{e(a.getAttribute(O3)).then(()=>{X.msgSuccess("复制成功")}).catch(()=>{X.msgError("复制失败")})}},updated:(a,o)=>{a.setAttribute(O3,o.value)}},t4=Object.freeze(Object.defineProperty({__proto__:null,default:e4},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 i4={mounted:(a,o)=>{Z3(a,o)},updated:(a,o)=>{Z3(a,o)}},l4=Object.freeze(Object.defineProperty({__proto__:null,default:i4},Symbol.toStringTag,{value:"Module"}));b0([y0,g0,w0,f0,A0,V0,L0,M0,E0,x0,H0,T0,O0,I0,R0,P0,D0,B0,C0,S0,k0,j0,N0,q0,W0]);const c4=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),s4=a=>{for(const[o,e]of Object.entries(a1))a.component(o,e)},n4=Object.freeze(Object.defineProperty({__proto__:null,default:s4},Symbol.toStringTag,{value:"Module"}));console.log(G0);const r4=a=>{a.use($0)},m4=Object.freeze(Object.defineProperty({__proto__:null,default:r4},Symbol.toStringTag,{value:"Module"})),u4=U0(),d4=a=>{a.use(u4)},h4=Object.freeze(Object.defineProperty({__proto__:null,default:d4},Symbol.toStringTag,{value:"Module"}));function _4(a){a.beforeEach(async()=>{const o=S();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 v4=Object.freeze(Object.defineProperty({__proto__:null,default:_4},Symbol.toStringTag,{value:"Module"})),X3=Object.assign({"./init.ts":v4});function p4(a){Object.keys(X3).forEach(o=>{const e=X3[o].default;typeof e=="function"&&e(a)})}const z4=a=>{p4(H),a.use(H)},b4=Object.freeze(Object.defineProperty({__proto__:null,default:z4},Symbol.toStringTag,{value:"Module"}));function y4(a){typeof window<"u"&&(window.__TUIKIT_INITIALIZED__=!0)}const g4=Object.freeze(Object.defineProperty({__proto__:null,default:y4},Symbol.toStringTag,{value:"Module"})),K3=Object.assign({"./directives/copy.ts":t4,"./directives/perms.ts":l4,"./plugins/echart.ts":c4,"./plugins/element.ts":n4,"./plugins/hljs.ts":m4,"./plugins/pinia.ts":h4,"./plugins/router.ts":b4,"./plugins/tuikit.ts":g4});function w4(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 f4={install:w4},V1=F0(o4);V1.use(f4);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{E4 as A,K2 as B,M4 as C,q4 as D,W4 as E,U4 as F,Z4 as G,F4 as H,$4 as I,G4 as J,Y4 as K,O4 as L,y3 as M,x4 as N,N4 as O,T as P,R4 as Q,F as R,P as _,H4 as a,T4 as b,G as c,I4 as d,S as e,q as f,b1 as g,z6 as h,X as i,G2 as j,K4 as k,W as l,P4 as m,i3 as n,v6 as o,N as p,U3 as q,L as r,j4 as s,k4 as t,Y as u,X4 as v,S4 as w,C4 as x,D4 as y,B4 as z}; diff --git a/server/public/admin/assets/index-yqbRelN8.js b/server/public/admin/assets/index-BYYYZG22.js similarity index 95% rename from server/public/admin/assets/index-yqbRelN8.js rename to server/public/admin/assets/index-BYYYZG22.js index 67f95054..b2f1a669 100644 --- a/server/public/admin/assets/index-yqbRelN8.js +++ b/server/public/admin/assets/index-BYYYZG22.js @@ -1 +1 @@ -import{o as D,bo as O,x as R,be as T,q as s,r as C,v as e,D as l,b9 as $,u as o,b6 as A,b7 as z,b8 as G,bm as H,bn as J,F as M,G as Q,O as d,K as W,L as p,bg as X,s as x,ac as _,bj as Y,bk as Z,P as ee,I as te,bi as le,C as ae,ba as oe}from"./.pnpm-9dA1PEvN.js";import{_ as ne}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{k as E,c as ie,h as se,i as re}from"./index-CJvXnF8Y.js";import{k as de,l as ce,m as me,j as ue}from"./article-BioaiRdh.js";import{u as pe}from"./useDictOptions-bKMXOe8R.js";import{u as _e}from"./usePaging-Boz1Q6w3.js";const fe={class:"article-lists"},be={class:"flex justify-end mt-4"},ve=D({name:"articleLists"}),xe=D({...ve,setup(we){const i=oe({title:"",cid:"",is_show:""}),{pager:c,getLists:r,resetPage:h,resetParams:P}=_e({fetchFun:de,params:i}),{optionsData:L}=pe({article_cate:{api:ue}}),U=async(f,a)=>{try{await ce({id:a,is_show:f}),r()}catch{r()}},B=async f=>{await re.confirm("确定要删除?"),await me({id:f}),r()};return O(()=>{r()}),r(),(f,a)=>{const g=z,b=A,m=J,k=H,u=W,F=$,V=X,S=ie,y=R("router-link"),n=Z,I=se,K=te,N=Y,j=ne,v=T("perms"),q=le;return s(),C("div",fe,[e(V,{class:"!border-none",shadow:"never"},{default:l(()=>[e(F,{ref:"formRef",class:"mb-[-16px]",model:o(i),inline:!0},{default:l(()=>[e(b,{class:"w-[280px]",label:"文章标题"},{default:l(()=>[e(g,{modelValue:o(i).title,"onUpdate:modelValue":a[0]||(a[0]=t=>o(i).title=t),placeholder:"输入文章标题",clearable:"",onKeyup:G(o(h),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(b,{class:"w-[280px]",label:"栏目名称"},{default:l(()=>[e(k,{modelValue:o(i).cid,"onUpdate:modelValue":a[1]||(a[1]=t=>o(i).cid=t)},{default:l(()=>[e(m,{label:"全部",value:""}),(s(!0),C(M,null,Q(o(L).article_cate,t=>(s(),d(m,{key:t.id,label:t.name,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(b,{class:"w-[280px]",label:"文章状态"},{default:l(()=>[e(k,{modelValue:o(i).is_show,"onUpdate:modelValue":a[2]||(a[2]=t=>o(i).is_show=t)},{default:l(()=>[e(m,{label:"全部",value:""}),e(m,{label:"显示",value:1}),e(m,{label:"隐藏",value:0})]),_:1},8,["modelValue"])]),_:1}),e(b,null,{default:l(()=>[e(u,{type:"primary",onClick:o(h)},{default:l(()=>[...a[4]||(a[4]=[p("查询",-1)])]),_:1},8,["onClick"]),e(u,{onClick:o(P)},{default:l(()=>[...a[5]||(a[5]=[p("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),e(V,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[x("div",null,[_((s(),d(y,{to:{path:o(E)("article.article/add:edit")}},{default:l(()=>[e(u,{type:"primary",class:"mb-4"},{icon:l(()=>[e(S,{name:"el-icon-Plus"})]),default:l(()=>[a[6]||(a[6]=p(" 发布文章 ",-1))]),_:1})]),_:1},8,["to"])),[[v,["article.article/add","article.article/add:edit"]]])]),_((s(),d(N,{size:"large",data:o(c).lists},{default:l(()=>[e(n,{label:"ID",prop:"id","min-width":"80"}),e(n,{label:"封面","min-width":"100"},{default:l(({row:t})=>[t.image?(s(),d(I,{key:0,src:t.image,width:60,height:45,"preview-src-list":[t.image],"preview-teleported":"",fit:"contain"},null,8,["src","preview-src-list"])):ee("",!0)]),_:1}),e(n,{label:"标题",prop:"title","min-width":"160","show-tooltip-when-overflow":""}),e(n,{label:"栏目",prop:"cate_name","min-width":"100"}),e(n,{label:"作者",prop:"author","min-width":"120"}),e(n,{label:"浏览量",prop:"click","min-width":"100"}),e(n,{label:"状态","min-width":"100"},{default:l(({row:t})=>[_(e(K,{modelValue:t.is_show,"onUpdate:modelValue":w=>t.is_show=w,"active-value":1,"inactive-value":0,onChange:w=>U(w,t.id)},null,8,["modelValue","onUpdate:modelValue","onChange"]),[[v,["article.article/updateStatus"]]])]),_:1}),e(n,{label:"排序",prop:"sort","min-width":"100"}),e(n,{label:"发布时间",prop:"create_time","min-width":"120"}),e(n,{label:"操作",width:"120",fixed:"right"},{default:l(({row:t})=>[_((s(),d(u,{type:"primary",link:""},{default:l(()=>[e(y,{to:{path:o(E)("article.article/add:edit"),query:{id:t.id}}},{default:l(()=>[...a[7]||(a[7]=[p(" 编辑 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[v,["article.article/edit","article.article/add:edit"]]]),_((s(),d(u,{type:"danger",link:"",onClick:w=>B(t.id)},{default:l(()=>[...a[8]||(a[8]=[p(" 删除 ",-1)])]),_:1},8,["onClick"])),[[v,["article.article/delete"]]])]),_:1})]),_:1},8,["data"])),[[q,o(c).loading]]),x("div",be,[e(j,{modelValue:o(c),"onUpdate:modelValue":a[3]||(a[3]=t=>ae(c)?c.value=t:null),onChange:o(r)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{xe as default}; +import{o as D,bo as O,x as R,be as T,q as s,r as C,v as e,D as l,b9 as $,u as o,b6 as A,b7 as z,b8 as G,bm as H,bn as J,F as M,G as Q,O as d,K as W,L as p,bg as X,s as x,ac as _,bj as Y,bk as Z,P as ee,I as te,bi as le,C as ae,ba as oe}from"./.pnpm-9dA1PEvN.js";import{_ as ne}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{k as E,c as ie,h as se,i as re}from"./index-BWzN7QIb.js";import{k as de,l as ce,m as me,j as ue}from"./article-CGwMRNkL.js";import{u as pe}from"./useDictOptions-BeE4yyHx.js";import{u as _e}from"./usePaging-Boz1Q6w3.js";const fe={class:"article-lists"},be={class:"flex justify-end mt-4"},ve=D({name:"articleLists"}),xe=D({...ve,setup(we){const i=oe({title:"",cid:"",is_show:""}),{pager:c,getLists:r,resetPage:h,resetParams:P}=_e({fetchFun:de,params:i}),{optionsData:L}=pe({article_cate:{api:ue}}),U=async(f,a)=>{try{await ce({id:a,is_show:f}),r()}catch{r()}},B=async f=>{await re.confirm("确定要删除?"),await me({id:f}),r()};return O(()=>{r()}),r(),(f,a)=>{const g=z,b=A,m=J,k=H,u=W,F=$,V=X,S=ie,y=R("router-link"),n=Z,I=se,K=te,N=Y,j=ne,v=T("perms"),q=le;return s(),C("div",fe,[e(V,{class:"!border-none",shadow:"never"},{default:l(()=>[e(F,{ref:"formRef",class:"mb-[-16px]",model:o(i),inline:!0},{default:l(()=>[e(b,{class:"w-[280px]",label:"文章标题"},{default:l(()=>[e(g,{modelValue:o(i).title,"onUpdate:modelValue":a[0]||(a[0]=t=>o(i).title=t),placeholder:"输入文章标题",clearable:"",onKeyup:G(o(h),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(b,{class:"w-[280px]",label:"栏目名称"},{default:l(()=>[e(k,{modelValue:o(i).cid,"onUpdate:modelValue":a[1]||(a[1]=t=>o(i).cid=t)},{default:l(()=>[e(m,{label:"全部",value:""}),(s(!0),C(M,null,Q(o(L).article_cate,t=>(s(),d(m,{key:t.id,label:t.name,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(b,{class:"w-[280px]",label:"文章状态"},{default:l(()=>[e(k,{modelValue:o(i).is_show,"onUpdate:modelValue":a[2]||(a[2]=t=>o(i).is_show=t)},{default:l(()=>[e(m,{label:"全部",value:""}),e(m,{label:"显示",value:1}),e(m,{label:"隐藏",value:0})]),_:1},8,["modelValue"])]),_:1}),e(b,null,{default:l(()=>[e(u,{type:"primary",onClick:o(h)},{default:l(()=>[...a[4]||(a[4]=[p("查询",-1)])]),_:1},8,["onClick"]),e(u,{onClick:o(P)},{default:l(()=>[...a[5]||(a[5]=[p("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),e(V,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[x("div",null,[_((s(),d(y,{to:{path:o(E)("article.article/add:edit")}},{default:l(()=>[e(u,{type:"primary",class:"mb-4"},{icon:l(()=>[e(S,{name:"el-icon-Plus"})]),default:l(()=>[a[6]||(a[6]=p(" 发布文章 ",-1))]),_:1})]),_:1},8,["to"])),[[v,["article.article/add","article.article/add:edit"]]])]),_((s(),d(N,{size:"large",data:o(c).lists},{default:l(()=>[e(n,{label:"ID",prop:"id","min-width":"80"}),e(n,{label:"封面","min-width":"100"},{default:l(({row:t})=>[t.image?(s(),d(I,{key:0,src:t.image,width:60,height:45,"preview-src-list":[t.image],"preview-teleported":"",fit:"contain"},null,8,["src","preview-src-list"])):ee("",!0)]),_:1}),e(n,{label:"标题",prop:"title","min-width":"160","show-tooltip-when-overflow":""}),e(n,{label:"栏目",prop:"cate_name","min-width":"100"}),e(n,{label:"作者",prop:"author","min-width":"120"}),e(n,{label:"浏览量",prop:"click","min-width":"100"}),e(n,{label:"状态","min-width":"100"},{default:l(({row:t})=>[_(e(K,{modelValue:t.is_show,"onUpdate:modelValue":w=>t.is_show=w,"active-value":1,"inactive-value":0,onChange:w=>U(w,t.id)},null,8,["modelValue","onUpdate:modelValue","onChange"]),[[v,["article.article/updateStatus"]]])]),_:1}),e(n,{label:"排序",prop:"sort","min-width":"100"}),e(n,{label:"发布时间",prop:"create_time","min-width":"120"}),e(n,{label:"操作",width:"120",fixed:"right"},{default:l(({row:t})=>[_((s(),d(u,{type:"primary",link:""},{default:l(()=>[e(y,{to:{path:o(E)("article.article/add:edit"),query:{id:t.id}}},{default:l(()=>[...a[7]||(a[7]=[p(" 编辑 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[v,["article.article/edit","article.article/add:edit"]]]),_((s(),d(u,{type:"danger",link:"",onClick:w=>B(t.id)},{default:l(()=>[...a[8]||(a[8]=[p(" 删除 ",-1)])]),_:1},8,["onClick"])),[[v,["article.article/delete"]]])]),_:1})]),_:1},8,["data"])),[[q,o(c).loading]]),x("div",be,[e(j,{modelValue:o(c),"onUpdate:modelValue":a[3]||(a[3]=t=>ae(c)?c.value=t:null),onChange:o(r)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{xe as default}; diff --git a/server/public/admin/assets/index-VYAWi8Gp.js b/server/public/admin/assets/index-BeH9abR9.js similarity index 94% rename from server/public/admin/assets/index-VYAWi8Gp.js rename to server/public/admin/assets/index-BeH9abR9.js index 29749cda..55a4232b 100644 --- a/server/public/admin/assets/index-VYAWi8Gp.js +++ b/server/public/admin/assets/index-BeH9abR9.js @@ -1 +1 @@ -import{o as T,x as O,be as Z,q as s,r as y,v as t,D as o,b9 as H,u as n,b6 as J,b7 as Q,b8 as K,K as W,L as d,bg as X,ac as i,bi as Y,O as u,s as w,bj as ee,bk as te,$ as oe,Z as ne,_ as ae,C as le,P as se,ba as S,M as re}from"./.pnpm-9dA1PEvN.js";import{_ as de}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as ie,k as me,i as x}from"./index-CJvXnF8Y.js";import{b as ue,c as pe,d as _e,e as ce,s as fe}from"./code-m_-AEIO9.js";import{u as be}from"./usePaging-Boz1Q6w3.js";import{_ as ge}from"./code-preview.vue_vue_type_script_setup_true_lang--NwO_Soq.js";import{_ as ye}from"./data-table.vue_vue_type_script_setup_true_lang-ayRhvp9k.js";import"./index-BBemoNXE.js";const we={class:"code-generation"},ve={class:"flex"},ke={class:"mt-4"},Ce={class:"flex items-center"},Ve={class:"flex justify-end mt-4"},xe=T({name:"codeGenerate"}),Ie=T({...xe,setup(Ee){const p=S({table_name:"",table_comment:""}),_=S({show:!1,loading:!1,code:[]}),{pager:f,getLists:g,resetParams:B,resetPage:v}=be({fetchFun:ue,params:p}),b=re([]),I=a=>{b.value=a.map(({id:e})=>e)},N=async a=>{await x.confirm("确定要同步表结构?"),await fe({id:a})},E=async a=>{await x.confirm("确定要删除?"),await pe({id:a}),g()},U=async a=>{const e=await _e({id:a});_.code=e,_.show=!0},F=a=>a.some(e=>e.generate_type==1),D=async a=>{if(F(a))return x.msgError("生成方式为生成到模块,请在前端开发模式下使用,详细参考文档");const e=await ce({id:a});e.file&&window.open(e.file,"_blank")},G=(a,e)=>{switch(a){case"generate":D([e.id]);break;case"sync":N(e.id);break;case"delete":E(e.id)}};return g(),(a,e)=>{const P=Q,k=J,r=W,L=H,$=X,C=ie,c=te,M=O("router-link"),V=ae,j=ne,q=oe,z=ee,R=de,m=Z("perms"),A=Y;return s(),y("div",we,[t($,{class:"!border-none",shadow:"never"},{default:o(()=>[t(L,{class:"mb-[-16px]",model:n(p),inline:""},{default:o(()=>[t(k,{class:"w-[280px]",label:"表名称"},{default:o(()=>[t(P,{modelValue:n(p).table_name,"onUpdate:modelValue":e[0]||(e[0]=l=>n(p).table_name=l),clearable:"",onKeyup:K(n(v),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(k,{class:"w-[280px]",label:"表描述"},{default:o(()=>[t(P,{modelValue:n(p).table_comment,"onUpdate:modelValue":e[1]||(e[1]=l=>n(p).table_comment=l),clearable:"",onKeyup:K(n(v),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(k,null,{default:o(()=>[t(r,{type:"primary",onClick:n(v)},{default:o(()=>[...e[6]||(e[6]=[d("查询",-1)])]),_:1},8,["onClick"]),t(r,{onClick:n(B)},{default:o(()=>[...e[7]||(e[7]=[d("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),i((s(),u($,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[w("div",ve,[i((s(),u(ye,{class:"inline-block mr-[10px]",onSuccess:n(g)},{default:o(()=>[t(r,{type:"primary"},{icon:o(()=>[t(C,{name:"el-icon-Plus"})]),default:o(()=>[e[8]||(e[8]=d(" 导入数据表 ",-1))]),_:1})]),_:1},8,["onSuccess"])),[[m,["tools.generator/selectTable"]]]),i((s(),u(r,{disabled:!n(b).length,onClick:e[2]||(e[2]=l=>E(n(b))),type:"danger"},{icon:o(()=>[t(C,{name:"el-icon-Delete"})]),default:o(()=>[e[9]||(e[9]=d(" 删除 ",-1))]),_:1},8,["disabled"])),[[m,["tools.generator/delete"]]]),i((s(),u(r,{disabled:!n(b).length,onClick:e[3]||(e[3]=l=>D(n(b)))},{default:o(()=>[...e[10]||(e[10]=[d(" 生成代码 ",-1)])]),_:1},8,["disabled"])),[[m,["tools.generator/generate"]]])]),w("div",ke,[t(z,{data:n(f).lists,size:"large",onSelectionChange:I},{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,[i((s(),u(r,{type:"primary",link:"",onClick:h=>U(l.id)},{default:o(()=>[...e[11]||(e[11]=[d(" 预览 ",-1)])]),_:1},8,["onClick"])),[[m,["tools.generator/preview"]]]),t(r,{type:"primary",link:""},{default:o(()=>[i((s(),u(M,{to:{path:n(me)("tools.generator/edit"),query:{id:l.id}}},{default:o(()=>[...e[12]||(e[12]=[d(" 编辑 ",-1)])]),_:1},8,["to"])),[[m,["tools.generator/edit"]]])]),_:2},1024),i((s(),u(q,{class:"ml-2",onCommand:h=>G(h,l)},{dropdown:o(()=>[t(j,null,{default:o(()=>[i((s(),y("div",null,[t(V,{command:"generate"},{default:o(()=>[t(r,{type:"primary",link:""},{default:o(()=>[...e[14]||(e[14]=[d(" 生成代码 ",-1)])]),_:1})]),_:1})])),[[m,["tools.generator/generate"]]]),i((s(),y("div",null,[t(V,{command:"sync"},{default:o(()=>[t(r,{type:"primary",link:""},{default:o(()=>[...e[15]||(e[15]=[d(" 同步 ",-1)])]),_:1})]),_:1})])),[[m,["tools.generator/syncColumn"]]]),i((s(),y("div",null,[t(V,{command:"delete"},{default:o(()=>[t(r,{type:"danger",link:""},{default:o(()=>[...e[16]||(e[16]=[d(" 删除 ",-1)])]),_:1})]),_:1})])),[[m,["tools.generator/delete"]]])]),_:1})]),default:o(()=>[t(r,{type:"primary",link:""},{default:o(()=>[e[13]||(e[13]=d(" 更多 ",-1)),t(C,{name:"el-icon-ArrowDown",size:14})]),_:1})]),_:1},8,["onCommand"])),[[m,["tools.generator/generate","tools.generator/syncColumn","tools.generator/delete"]]])])]),_:1})]),_:1},8,["data"])]),w("div",Ve,[t(R,{modelValue:n(f),"onUpdate:modelValue":e[4]||(e[4]=l=>le(f)?f.value=l:null),onChange:n(g)},null,8,["modelValue","onChange"])])]),_:1})),[[A,n(f).loading]]),n(_).show?(s(),u(ge,{key:0,modelValue:n(_).show,"onUpdate:modelValue":e[5]||(e[5]=l=>n(_).show=l),code:n(_).code},null,8,["modelValue","code"])):se("",!0)])}}});export{Ie as default}; +import{o as T,x as O,be as Z,q as s,r as y,v as t,D as o,b9 as H,u as n,b6 as J,b7 as Q,b8 as K,K as W,L as d,bg as X,ac as i,bi as Y,O as u,s as w,bj as ee,bk as te,$ as oe,Z as ne,_ as ae,C as le,P as se,ba as S,M as re}from"./.pnpm-9dA1PEvN.js";import{_ as de}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as ie,k as me,i as x}from"./index-BWzN7QIb.js";import{b as ue,c as pe,d as _e,e as ce,s as fe}from"./code-J7VgRFVf.js";import{u as be}from"./usePaging-Boz1Q6w3.js";import{_ as ge}from"./code-preview.vue_vue_type_script_setup_true_lang-DdrIw7I0.js";import{_ as ye}from"./data-table.vue_vue_type_script_setup_true_lang-p4Jwo82s.js";import"./index-dYaCh-CN.js";const we={class:"code-generation"},ve={class:"flex"},ke={class:"mt-4"},Ce={class:"flex items-center"},Ve={class:"flex justify-end mt-4"},xe=T({name:"codeGenerate"}),Ie=T({...xe,setup(Ee){const p=S({table_name:"",table_comment:""}),_=S({show:!1,loading:!1,code:[]}),{pager:f,getLists:g,resetParams:B,resetPage:v}=be({fetchFun:ue,params:p}),b=re([]),I=a=>{b.value=a.map(({id:e})=>e)},N=async a=>{await x.confirm("确定要同步表结构?"),await fe({id:a})},E=async a=>{await x.confirm("确定要删除?"),await pe({id:a}),g()},U=async a=>{const e=await _e({id:a});_.code=e,_.show=!0},F=a=>a.some(e=>e.generate_type==1),D=async a=>{if(F(a))return x.msgError("生成方式为生成到模块,请在前端开发模式下使用,详细参考文档");const e=await ce({id:a});e.file&&window.open(e.file,"_blank")},G=(a,e)=>{switch(a){case"generate":D([e.id]);break;case"sync":N(e.id);break;case"delete":E(e.id)}};return g(),(a,e)=>{const P=Q,k=J,r=W,L=H,$=X,C=ie,c=te,M=O("router-link"),V=ae,j=ne,q=oe,z=ee,R=de,m=Z("perms"),A=Y;return s(),y("div",we,[t($,{class:"!border-none",shadow:"never"},{default:o(()=>[t(L,{class:"mb-[-16px]",model:n(p),inline:""},{default:o(()=>[t(k,{class:"w-[280px]",label:"表名称"},{default:o(()=>[t(P,{modelValue:n(p).table_name,"onUpdate:modelValue":e[0]||(e[0]=l=>n(p).table_name=l),clearable:"",onKeyup:K(n(v),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(k,{class:"w-[280px]",label:"表描述"},{default:o(()=>[t(P,{modelValue:n(p).table_comment,"onUpdate:modelValue":e[1]||(e[1]=l=>n(p).table_comment=l),clearable:"",onKeyup:K(n(v),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(k,null,{default:o(()=>[t(r,{type:"primary",onClick:n(v)},{default:o(()=>[...e[6]||(e[6]=[d("查询",-1)])]),_:1},8,["onClick"]),t(r,{onClick:n(B)},{default:o(()=>[...e[7]||(e[7]=[d("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),i((s(),u($,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[w("div",ve,[i((s(),u(ye,{class:"inline-block mr-[10px]",onSuccess:n(g)},{default:o(()=>[t(r,{type:"primary"},{icon:o(()=>[t(C,{name:"el-icon-Plus"})]),default:o(()=>[e[8]||(e[8]=d(" 导入数据表 ",-1))]),_:1})]),_:1},8,["onSuccess"])),[[m,["tools.generator/selectTable"]]]),i((s(),u(r,{disabled:!n(b).length,onClick:e[2]||(e[2]=l=>E(n(b))),type:"danger"},{icon:o(()=>[t(C,{name:"el-icon-Delete"})]),default:o(()=>[e[9]||(e[9]=d(" 删除 ",-1))]),_:1},8,["disabled"])),[[m,["tools.generator/delete"]]]),i((s(),u(r,{disabled:!n(b).length,onClick:e[3]||(e[3]=l=>D(n(b)))},{default:o(()=>[...e[10]||(e[10]=[d(" 生成代码 ",-1)])]),_:1},8,["disabled"])),[[m,["tools.generator/generate"]]])]),w("div",ke,[t(z,{data:n(f).lists,size:"large",onSelectionChange:I},{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,[i((s(),u(r,{type:"primary",link:"",onClick:h=>U(l.id)},{default:o(()=>[...e[11]||(e[11]=[d(" 预览 ",-1)])]),_:1},8,["onClick"])),[[m,["tools.generator/preview"]]]),t(r,{type:"primary",link:""},{default:o(()=>[i((s(),u(M,{to:{path:n(me)("tools.generator/edit"),query:{id:l.id}}},{default:o(()=>[...e[12]||(e[12]=[d(" 编辑 ",-1)])]),_:1},8,["to"])),[[m,["tools.generator/edit"]]])]),_:2},1024),i((s(),u(q,{class:"ml-2",onCommand:h=>G(h,l)},{dropdown:o(()=>[t(j,null,{default:o(()=>[i((s(),y("div",null,[t(V,{command:"generate"},{default:o(()=>[t(r,{type:"primary",link:""},{default:o(()=>[...e[14]||(e[14]=[d(" 生成代码 ",-1)])]),_:1})]),_:1})])),[[m,["tools.generator/generate"]]]),i((s(),y("div",null,[t(V,{command:"sync"},{default:o(()=>[t(r,{type:"primary",link:""},{default:o(()=>[...e[15]||(e[15]=[d(" 同步 ",-1)])]),_:1})]),_:1})])),[[m,["tools.generator/syncColumn"]]]),i((s(),y("div",null,[t(V,{command:"delete"},{default:o(()=>[t(r,{type:"danger",link:""},{default:o(()=>[...e[16]||(e[16]=[d(" 删除 ",-1)])]),_:1})]),_:1})])),[[m,["tools.generator/delete"]]])]),_:1})]),default:o(()=>[t(r,{type:"primary",link:""},{default:o(()=>[e[13]||(e[13]=d(" 更多 ",-1)),t(C,{name:"el-icon-ArrowDown",size:14})]),_:1})]),_:1},8,["onCommand"])),[[m,["tools.generator/generate","tools.generator/syncColumn","tools.generator/delete"]]])])]),_:1})]),_:1},8,["data"])]),w("div",Ve,[t(R,{modelValue:n(f),"onUpdate:modelValue":e[4]||(e[4]=l=>le(f)?f.value=l:null),onChange:n(g)},null,8,["modelValue","onChange"])])]),_:1})),[[A,n(f).loading]]),n(_).show?(s(),u(ge,{key:0,modelValue:n(_).show,"onUpdate:modelValue":e[5]||(e[5]=l=>n(_).show=l),code:n(_).code},null,8,["modelValue","code"])):se("",!0)])}}});export{Ie as default}; diff --git a/server/public/admin/assets/index-5qkbqEDk.js b/server/public/admin/assets/index-Bqo9_IB9.js similarity index 87% rename from server/public/admin/assets/index-5qkbqEDk.js rename to server/public/admin/assets/index-Bqo9_IB9.js index 00cab384..98d26079 100644 --- a/server/public/admin/assets/index-5qkbqEDk.js +++ b/server/public/admin/assets/index-Bqo9_IB9.js @@ -1 +1 @@ -import{o as K,ap as G,be as H,q as s,r as E,v as e,D as o,b9 as J,u as t,b6 as Q,b7 as W,b8 as x,bm as X,bn as Y,F as Z,G as ee,O as d,K as ae,L as u,bg as le,ac as b,bi as te,s as D,bj as oe,bk as ne,a0 as ie,I as se,P as y,C as me,a8 as de,ba as re,M as pe,n as $}from"./.pnpm-9dA1PEvN.js";import{_ as ue}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as ce,i as _e}from"./index-CJvXnF8Y.js";import{_ as fe}from"./index.vue_vue_type_script_setup_true_lang-Bk4SMrCI.js";import{a as F,b as be,c as ve}from"./admin-Bb0DLbGs.js";import{r as we}from"./role-D6rynjFP.js";import{u as ge}from"./useDictOptions-bKMXOe8R.js";import{u as he}from"./usePaging-Boz1Q6w3.js";import{_ as ke}from"./edit.vue_vue_type_script_setup_true_lang-r0jtyh61.js";import"./index-BBemoNXE.js";import"./picker-DWQ_BAep.js";import"./index-CY1mb9yY.js";import"./index-CAGpCz28.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./department-DYCfZwei.js";import"./post-BhGC5UYd.js";const ye={class:"admin"},Ce={class:"mt-4"},Ve={class:"flex mt-4 justify-end"},Ee=K({name:"admin"}),qe=K({...Ee,setup(xe){const v=de(),m=re({account:"",name:"",role_id:""}),w=pe(!1),{pager:r,getLists:c,resetParams:P,resetPage:k}=he({fetchFun:F,params:m}),U=n=>{be({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()})},z=async()=>{var n;w.value=!0,await $(),(n=v.value)==null||n.open("add")},B=async n=>{var a,_;w.value=!0,await $(),(a=v.value)==null||a.open("edit"),(_=v.value)==null||_.setFormData(n)},I=async n=>{await _e.confirm("确定要删除?"),await ve({id:n}),c()},{optionsData:L}=ge({role:{api:we}});return G(()=>{c()}),(n,a)=>{const _=W,g=Q,C=Y,S=X,f=ae,j=fe,N=J,V=le,R=ce,i=ne,T=ie,A=se,O=oe,M=ue,h=H("perms"),q=te;return s(),E("div",ye,[e(V,{class:"!border-none",shadow:"never"},{default:o(()=>[e(N,{class:"mb-[-16px]",model:t(m),inline:""},{default:o(()=>[e(g,{class:"w-[280px]",label:"管理员账号"},{default:o(()=>[e(_,{modelValue:t(m).account,"onUpdate:modelValue":a[0]||(a[0]=l=>t(m).account=l),placeholder:"请输入管理员账号",clearable:"",onKeyup:x(t(k),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(g,{class:"w-[280px]",label:"管理员名称"},{default:o(()=>[e(_,{modelValue:t(m).name,"onUpdate:modelValue":a[1]||(a[1]=l=>t(m).name=l),placeholder:"请输入管理员名称",clearable:"",onKeyup:x(t(k),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(g,{class:"w-[280px]",label:"管理员角色"},{default:o(()=>[e(S,{modelValue:t(m).role_id,"onUpdate:modelValue":a[2]||(a[2]=l=>t(m).role_id=l)},{default:o(()=>[e(C,{label:"全部",value:""}),(s(!0),E(Z,null,ee(t(L).role,(l,p)=>(s(),d(C,{key:p,label:l.name,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(g,null,{default:o(()=>[e(f,{type:"primary",onClick:t(k)},{default:o(()=>[...a[5]||(a[5]=[u("查询",-1)])]),_:1},8,["onClick"]),e(f,{onClick:t(P)},{default:o(()=>[...a[6]||(a[6]=[u("重置",-1)])]),_:1},8,["onClick"]),e(j,{class:"ml-2.5","fetch-fun":t(F),params:t(m),"page-size":t(r).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),b((s(),d(V,{class:"mt-4 !border-none",shadow:"never"},{default:o(()=>[b((s(),d(f,{type:"primary",onClick:z},{icon:o(()=>[e(R,{name:"el-icon-Plus"})]),default:o(()=>[a[7]||(a[7]=u(" 新增 ",-1))]),_:1})),[[h,["auth.admin/add"]]]),D("div",Ce,[e(O,{data:t(r).lists,size:"large"},{default:o(()=>[e(i,{label:"ID",prop:"id","min-width":"60"}),a[10]||(a[10]=u("> ",-1)),e(i,{label:"头像","min-width":"100"},{default:o(({row:l})=>[e(T,{size:50,src:l.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"}),b((s(),d(i,{label:"状态","min-width":"100"},{default:o(({row:l})=>[l.root!=1?(s(),d(A,{key:0,modelValue:l.disable,"onUpdate:modelValue":p=>l.disable=p,"active-value":0,"inactive-value":1,onChange:p=>U(l)},null,8,["modelValue","onUpdate:modelValue","onChange"])):y("",!0)]),_:1})),[[h,["auth.admin/edit"]]]),e(i,{label:"操作",width:"120",fixed:"right"},{default:o(({row:l})=>[b((s(),d(f,{type:"primary",link:"",onClick:p=>B(l)},{default:o(()=>[...a[8]||(a[8]=[u(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[h,["auth.admin/edit"]]]),l.root!=1?b((s(),d(f,{key:0,type:"danger",link:"",onClick:p=>I(l.id)},{default:o(()=>[...a[9]||(a[9]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])),[[h,["auth.admin/delete"]]]):y("",!0)]),_:1})]),_:1},8,["data"])]),D("div",Ve,[e(M,{modelValue:t(r),"onUpdate:modelValue":a[3]||(a[3]=l=>me(r)?r.value=l:null),onChange:t(c)},null,8,["modelValue","onChange"])])]),_:1})),[[q,t(r).loading]]),t(w)?(s(),d(ke,{key:0,ref_key:"editRef",ref:v,onSuccess:t(c),onClose:a[4]||(a[4]=l=>w.value=!1)},null,8,["onSuccess"])):y("",!0)])}}});export{qe as default}; +import{o as K,ap as G,be as H,q as s,r as E,v as e,D as o,b9 as J,u as t,b6 as Q,b7 as W,b8 as x,bm as X,bn as Y,F as Z,G as ee,O as d,K as ae,L as u,bg as le,ac as b,bi as te,s as D,bj as oe,bk as ne,a0 as ie,I as se,P as y,C as me,a8 as de,ba as re,M as pe,n as $}from"./.pnpm-9dA1PEvN.js";import{_ as ue}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as ce,i as _e}from"./index-BWzN7QIb.js";import{_ as fe}from"./index.vue_vue_type_script_setup_true_lang-DbClaUqT.js";import{a as F,b as be,c as ve}from"./admin-CMuAzCyP.js";import{r as we}from"./role-CrpOZd5J.js";import{u as ge}from"./useDictOptions-BeE4yyHx.js";import{u as he}from"./usePaging-Boz1Q6w3.js";import{_ as ke}from"./edit.vue_vue_type_script_setup_true_lang-CQEjq9h5.js";import"./index-dYaCh-CN.js";import"./picker-DfI3CPnQ.js";import"./index-xDQ_OZln.js";import"./index-fA0EWEUO.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./department-BABv4GiI.js";import"./post-BafSyy6d.js";const ye={class:"admin"},Ce={class:"mt-4"},Ve={class:"flex mt-4 justify-end"},Ee=K({name:"admin"}),qe=K({...Ee,setup(xe){const v=de(),m=re({account:"",name:"",role_id:""}),w=pe(!1),{pager:r,getLists:c,resetParams:P,resetPage:k}=he({fetchFun:F,params:m}),U=n=>{be({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()})},z=async()=>{var n;w.value=!0,await $(),(n=v.value)==null||n.open("add")},B=async n=>{var a,_;w.value=!0,await $(),(a=v.value)==null||a.open("edit"),(_=v.value)==null||_.setFormData(n)},I=async n=>{await _e.confirm("确定要删除?"),await ve({id:n}),c()},{optionsData:L}=ge({role:{api:we}});return G(()=>{c()}),(n,a)=>{const _=W,g=Q,C=Y,S=X,f=ae,j=fe,N=J,V=le,R=ce,i=ne,T=ie,A=se,O=oe,M=ue,h=H("perms"),q=te;return s(),E("div",ye,[e(V,{class:"!border-none",shadow:"never"},{default:o(()=>[e(N,{class:"mb-[-16px]",model:t(m),inline:""},{default:o(()=>[e(g,{class:"w-[280px]",label:"管理员账号"},{default:o(()=>[e(_,{modelValue:t(m).account,"onUpdate:modelValue":a[0]||(a[0]=l=>t(m).account=l),placeholder:"请输入管理员账号",clearable:"",onKeyup:x(t(k),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(g,{class:"w-[280px]",label:"管理员名称"},{default:o(()=>[e(_,{modelValue:t(m).name,"onUpdate:modelValue":a[1]||(a[1]=l=>t(m).name=l),placeholder:"请输入管理员名称",clearable:"",onKeyup:x(t(k),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(g,{class:"w-[280px]",label:"管理员角色"},{default:o(()=>[e(S,{modelValue:t(m).role_id,"onUpdate:modelValue":a[2]||(a[2]=l=>t(m).role_id=l)},{default:o(()=>[e(C,{label:"全部",value:""}),(s(!0),E(Z,null,ee(t(L).role,(l,p)=>(s(),d(C,{key:p,label:l.name,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(g,null,{default:o(()=>[e(f,{type:"primary",onClick:t(k)},{default:o(()=>[...a[5]||(a[5]=[u("查询",-1)])]),_:1},8,["onClick"]),e(f,{onClick:t(P)},{default:o(()=>[...a[6]||(a[6]=[u("重置",-1)])]),_:1},8,["onClick"]),e(j,{class:"ml-2.5","fetch-fun":t(F),params:t(m),"page-size":t(r).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),b((s(),d(V,{class:"mt-4 !border-none",shadow:"never"},{default:o(()=>[b((s(),d(f,{type:"primary",onClick:z},{icon:o(()=>[e(R,{name:"el-icon-Plus"})]),default:o(()=>[a[7]||(a[7]=u(" 新增 ",-1))]),_:1})),[[h,["auth.admin/add"]]]),D("div",Ce,[e(O,{data:t(r).lists,size:"large"},{default:o(()=>[e(i,{label:"ID",prop:"id","min-width":"60"}),a[10]||(a[10]=u("> ",-1)),e(i,{label:"头像","min-width":"100"},{default:o(({row:l})=>[e(T,{size:50,src:l.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"}),b((s(),d(i,{label:"状态","min-width":"100"},{default:o(({row:l})=>[l.root!=1?(s(),d(A,{key:0,modelValue:l.disable,"onUpdate:modelValue":p=>l.disable=p,"active-value":0,"inactive-value":1,onChange:p=>U(l)},null,8,["modelValue","onUpdate:modelValue","onChange"])):y("",!0)]),_:1})),[[h,["auth.admin/edit"]]]),e(i,{label:"操作",width:"120",fixed:"right"},{default:o(({row:l})=>[b((s(),d(f,{type:"primary",link:"",onClick:p=>B(l)},{default:o(()=>[...a[8]||(a[8]=[u(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[h,["auth.admin/edit"]]]),l.root!=1?b((s(),d(f,{key:0,type:"danger",link:"",onClick:p=>I(l.id)},{default:o(()=>[...a[9]||(a[9]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])),[[h,["auth.admin/delete"]]]):y("",!0)]),_:1})]),_:1},8,["data"])]),D("div",Ve,[e(M,{modelValue:t(r),"onUpdate:modelValue":a[3]||(a[3]=l=>me(r)?r.value=l:null),onChange:t(c)},null,8,["modelValue","onChange"])])]),_:1})),[[q,t(r).loading]]),t(w)?(s(),d(ke,{key:0,ref_key:"editRef",ref:v,onSuccess:t(c),onClose:a[4]||(a[4]=l=>w.value=!1)},null,8,["onSuccess"])):y("",!0)])}}});export{qe as default}; diff --git a/server/public/admin/assets/index-Cdd2UFSf.js b/server/public/admin/assets/index-BwVlyGOI.js similarity index 98% rename from server/public/admin/assets/index-Cdd2UFSf.js rename to server/public/admin/assets/index-BwVlyGOI.js index 73198c5e..94e0fee9 100644 --- a/server/public/admin/assets/index-Cdd2UFSf.js +++ b/server/public/admin/assets/index-BwVlyGOI.js @@ -1 +1 @@ -import{o as V,ap as L,q as c,r as k,v as o,D as a,b9 as O,b6 as Y,bc as z,bb as q,L as i,O as f,bp as A,P as G,K as H,bg as I,s as m,F as U,G as j,ae as x,T as g,u as J,cJ as K,bB as Q,M as C,ba as E,p as b,E as W}from"./.pnpm-9dA1PEvN.js";import{r as X}from"./stats-Cp2ee5KL.js";import{_ as Z}from"./index-CJvXnF8Y.js";const ee={class:"assistant-performance-page"},te={class:"stats-kpi-grid"},ae={class:"stats-kpi-label"},oe={class:"card-header"},se={class:"card-hint"},ne=V({name:"assistantPerformancePage"}),le=V({...ne,setup(re){const _=C(!1),r=C([]),d=E({time_type:"month",start_date:"",end_date:""}),s=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=b(()=>{var t;return(t=s.date_range)!=null&&t.length?`${s.date_range[0]} 至 ${s.date_range[1]}`:"未选择"}),D=b(()=>s.chart.dates.length>0&&s.chart.amounts.some(t=>t>0)),B=b(()=>({tooltip:{trigger:"axis",formatter:t=>{const e=t[0];return`${e.axisValue}
${e.marker}${e.seriesName}: ¥${Number(e.value).toFixed(2)}`}},grid:{left:60,right:24,top:36,bottom:36},xAxis:{type:"category",data:s.chart.dates,axisLabel:{interval:s.chart.dates.length>15?"auto":0,rotate:s.chart.dates.length>10?30:0}},yAxis:{type:"value",name:"金额(元)",axisLabel:{formatter:t=>t>=1e4?(t/1e4).toFixed(1)+"万":String(t)}},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:s.chart.amounts}]})),F=(t,e)=>{var p;const l=((p=s.summary)==null?void 0:p[t])??0;return e==="money"?`¥${Number(l).toFixed(2)}`:String(l)},u=async()=>{_.value=!0;try{const t={time_type:d.time_type};d.time_type==="custom"&&(t.start_date=r.value[0]||"",t.end_date=r.value[1]||"");const e=await X(t);Object.assign(s,e||{})}catch(t){console.error("获取业绩数据失败:",t),W.error((t==null?void 0:t.msg)||"获取业绩数据失败")}finally{_.value=!1}},N=()=>{d.time_type!=="custom"&&(r.value=[],u())},$=()=>{var t;((t=r.value)==null?void 0:t.length)===2&&u()},P=()=>{d.time_type="month",r.value=[],u()};return L(()=>{u()}),(t,e)=>{const l=q,p=z,y=Y,M=A,v=H,R=O,h=I,T=Q;return c(),k("div",ee,[o(h,{class:"!border-none",shadow:"never"},{default:a(()=>[o(R,{inline:!0,class:"stats-filter-form"},{default:a(()=>[o(y,{label:"时间范围"},{default:a(()=>[o(p,{modelValue:d.time_type,"onUpdate:modelValue":e[0]||(e[0]=n=>d.time_type=n),onChange:N},{default:a(()=>[o(l,{label:"today"},{default:a(()=>[...e[2]||(e[2]=[i("今天",-1)])]),_:1}),o(l,{label:"yesterday"},{default:a(()=>[...e[3]||(e[3]=[i("昨天",-1)])]),_:1}),o(l,{label:"week"},{default:a(()=>[...e[4]||(e[4]=[i("最近7天",-1)])]),_:1}),o(l,{label:"month"},{default:a(()=>[...e[5]||(e[5]=[i("最近30天",-1)])]),_:1}),o(l,{label:"custom"},{default:a(()=>[...e[6]||(e[6]=[i("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),d.time_type==="custom"?(c(),f(y,{key:0},{default:a(()=>[o(M,{modelValue:r.value,"onUpdate:modelValue":e[1]||(e[1]=n=>r.value=n),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",style:{width:"260px"},onChange:$},null,8,["modelValue"])]),_:1})):G("",!0),o(y,null,{default:a(()=>[o(v,{type:"primary",loading:_.value,onClick:u},{default:a(()=>[...e[7]||(e[7]=[i("查询",-1)])]),_:1},8,["loading"]),o(v,{onClick:P},{default:a(()=>[...e[8]||(e[8]=[i("重置",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),m("div",te,[(c(),k(U,null,j(w,n=>m("div",{key:n.key,class:x(["stats-kpi-card",n.cardClass])},[m("div",ae,g(n.label),1),m("div",{class:x(["stats-kpi-value",{"is-money":n.type==="money"}])},g(F(n.key,n.type)),3)],2)),64))]),o(h,{class:"!border-none mt-4",shadow:"never"},{header:a(()=>[m("div",oe,[e[9]||(e[9]=m("span",{class:"card-title"},"业绩趋势",-1)),m("span",se,g(S.value)+" · 履约完成业绩",1)])]),default:a(()=>[D.value?(c(),f(J(K),{key:0,class:"stats-chart",option:B.value,autoresize:""},null,8,["option"])):(c(),f(T,{key:1,description:"暂无数据"}))]),_:1})])}}}),ue=Z(le,[["__scopeId","data-v-52e20881"]]);export{ue as default}; +import{o as V,ap as L,q as c,r as k,v as o,D as a,b9 as O,b6 as Y,bc as z,bb as q,L as i,O as f,bp as A,P as G,K as H,bg as I,s as m,F as U,G as j,ae as x,T as g,u as J,cJ as K,bB as Q,M as C,ba as E,p as b,E as W}from"./.pnpm-9dA1PEvN.js";import{r as X}from"./stats-CYdFBybj.js";import{_ as Z}from"./index-BWzN7QIb.js";const ee={class:"assistant-performance-page"},te={class:"stats-kpi-grid"},ae={class:"stats-kpi-label"},oe={class:"card-header"},se={class:"card-hint"},ne=V({name:"assistantPerformancePage"}),le=V({...ne,setup(re){const _=C(!1),r=C([]),d=E({time_type:"month",start_date:"",end_date:""}),s=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=b(()=>{var t;return(t=s.date_range)!=null&&t.length?`${s.date_range[0]} 至 ${s.date_range[1]}`:"未选择"}),D=b(()=>s.chart.dates.length>0&&s.chart.amounts.some(t=>t>0)),B=b(()=>({tooltip:{trigger:"axis",formatter:t=>{const e=t[0];return`${e.axisValue}
${e.marker}${e.seriesName}: ¥${Number(e.value).toFixed(2)}`}},grid:{left:60,right:24,top:36,bottom:36},xAxis:{type:"category",data:s.chart.dates,axisLabel:{interval:s.chart.dates.length>15?"auto":0,rotate:s.chart.dates.length>10?30:0}},yAxis:{type:"value",name:"金额(元)",axisLabel:{formatter:t=>t>=1e4?(t/1e4).toFixed(1)+"万":String(t)}},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:s.chart.amounts}]})),F=(t,e)=>{var p;const l=((p=s.summary)==null?void 0:p[t])??0;return e==="money"?`¥${Number(l).toFixed(2)}`:String(l)},u=async()=>{_.value=!0;try{const t={time_type:d.time_type};d.time_type==="custom"&&(t.start_date=r.value[0]||"",t.end_date=r.value[1]||"");const e=await X(t);Object.assign(s,e||{})}catch(t){console.error("获取业绩数据失败:",t),W.error((t==null?void 0:t.msg)||"获取业绩数据失败")}finally{_.value=!1}},N=()=>{d.time_type!=="custom"&&(r.value=[],u())},$=()=>{var t;((t=r.value)==null?void 0:t.length)===2&&u()},P=()=>{d.time_type="month",r.value=[],u()};return L(()=>{u()}),(t,e)=>{const l=q,p=z,y=Y,M=A,v=H,R=O,h=I,T=Q;return c(),k("div",ee,[o(h,{class:"!border-none",shadow:"never"},{default:a(()=>[o(R,{inline:!0,class:"stats-filter-form"},{default:a(()=>[o(y,{label:"时间范围"},{default:a(()=>[o(p,{modelValue:d.time_type,"onUpdate:modelValue":e[0]||(e[0]=n=>d.time_type=n),onChange:N},{default:a(()=>[o(l,{label:"today"},{default:a(()=>[...e[2]||(e[2]=[i("今天",-1)])]),_:1}),o(l,{label:"yesterday"},{default:a(()=>[...e[3]||(e[3]=[i("昨天",-1)])]),_:1}),o(l,{label:"week"},{default:a(()=>[...e[4]||(e[4]=[i("最近7天",-1)])]),_:1}),o(l,{label:"month"},{default:a(()=>[...e[5]||(e[5]=[i("最近30天",-1)])]),_:1}),o(l,{label:"custom"},{default:a(()=>[...e[6]||(e[6]=[i("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),d.time_type==="custom"?(c(),f(y,{key:0},{default:a(()=>[o(M,{modelValue:r.value,"onUpdate:modelValue":e[1]||(e[1]=n=>r.value=n),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",style:{width:"260px"},onChange:$},null,8,["modelValue"])]),_:1})):G("",!0),o(y,null,{default:a(()=>[o(v,{type:"primary",loading:_.value,onClick:u},{default:a(()=>[...e[7]||(e[7]=[i("查询",-1)])]),_:1},8,["loading"]),o(v,{onClick:P},{default:a(()=>[...e[8]||(e[8]=[i("重置",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),m("div",te,[(c(),k(U,null,j(w,n=>m("div",{key:n.key,class:x(["stats-kpi-card",n.cardClass])},[m("div",ae,g(n.label),1),m("div",{class:x(["stats-kpi-value",{"is-money":n.type==="money"}])},g(F(n.key,n.type)),3)],2)),64))]),o(h,{class:"!border-none mt-4",shadow:"never"},{header:a(()=>[m("div",oe,[e[9]||(e[9]=m("span",{class:"card-title"},"业绩趋势",-1)),m("span",se,g(S.value)+" · 履约完成业绩",1)])]),default:a(()=>[D.value?(c(),f(J(K),{key:0,class:"stats-chart",option:B.value,autoresize:""},null,8,["option"])):(c(),f(T,{key:1,description:"暂无数据"}))]),_:1})])}}}),ue=Z(le,[["__scopeId","data-v-52e20881"]]);export{ue as default}; diff --git a/server/public/admin/assets/index-Cm_ZKA4B.js b/server/public/admin/assets/index-C8OqMZ1Q.js similarity index 99% rename from server/public/admin/assets/index-Cm_ZKA4B.js rename to server/public/admin/assets/index-C8OqMZ1Q.js index f6d9934c..8f7af7a5 100644 --- a/server/public/admin/assets/index-Cm_ZKA4B.js +++ b/server/public/admin/assets/index-C8OqMZ1Q.js @@ -1 +1 @@ -import{o as mt,M as p,ap as Jt,be as Ht,q as d,r as V,v as t,D as a,b9 as Zt,u as n,b6 as el,b7 as tl,b8 as dt,bm as ll,F as q,G as oe,O as _,bn as al,K as nl,L as s,ac as T,bg as ol,s as g,Y as sl,C as S,X as rl,T as f,P as b,bj as dl,bk as il,br as ul,bi as pl,c0 as ml,c1 as fl,bD as yl,bs as _l,bt as cl,aw as it,bp as vl,bh as gl,bc as bl,bf as kl,I as xl,J as Vl,w as wl,b5 as Cl,ba as je,p as Be}from"./.pnpm-9dA1PEvN.js";import{_ as Tl}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{_ as Sl}from"./index.vue_vue_type_script_setup_true_lang-Bk4SMrCI.js";import{_ as Dl}from"./index.vue_vue_type_script_setup_true_lang-C38LpCy9.js";import{u as El}from"./usePaging-Boz1Q6w3.js";import{o as $l,a as Pl,b as Ul,c as hl,d as Ll,e as Ol,s as ut,f as Al,g as Ml,h as ql,i as Rl,j as zl,k as Fl,l as Nl,m as pt,n as Il,w as Wl,p as jl,q as Bl,r as Yl,t as Ql}from"./order-CNletQ6l.js";import{Q as Kl,i as Gl}from"./tcm-DOD9_1Um.js";import{i as v,_ as Xl}from"./index-CJvXnF8Y.js";import"./index-BBemoNXE.js";const Jl={class:"order-list"},Hl={class:"flex items-center justify-between mb-4"},Zl={class:"flex items-center gap-4 text-sm"},ea={class:"text-red-500 font-semibold text-lg"},ta={class:"text-gray-400"},la={class:"mb-3 flex items-center gap-3"},aa={key:0,class:"text-sm text-gray-500"},na={key:0},oa={key:1,class:"text-amber-600"},sa={class:"text-xs text-gray-400"},ra={key:0,class:"text-xs text-gray-400"},da={class:"text-red-500 font-semibold"},ia={class:"flex justify-end mt-4"},ua={class:"text-red-500 font-semibold"},pa={key:2,class:"text-xs text-gray-500 mb-2"},ma={key:4,class:"flex justify-end mt-3"},fa={key:0,class:"text-xs text-gray-500 mb-3"},ya={class:"text-sm text-gray-600 mb-3"},_a={class:"text-red-500 font-semibold"},ca={class:"text-red-500 font-semibold"},va={class:"text-sm text-gray-600 mb-3"},ga={class:"font-mono"},ba={class:"text-red-500 font-semibold"},ka={class:"space-y-2 mb-3 max-h-[320px] overflow-y-auto pr-1"},xa={class:"text-sm text-gray-500 w-14 shrink-0"},Va={class:"flex flex-col items-center justify-center py-4"},wa={key:0,class:"text-center"},Ca={key:1,class:"text-center"},Ta=["src"],Sa={class:"mt-4 text-sm text-gray-600"},Da={key:2,class:"text-center text-gray-500"},Ea=mt({name:"orderList"}),$a=mt({...Ea,setup(Pa){const w=je({order_no:"",patient_keyword:"",assistant_id:void 0,order_type:"",status:"",patient_association:"",create_time_start:"",create_time_end:""}),se=p([]),Ye=p(null),Qe=p([]),F=Be(()=>Qe.value.map(o=>o.id).filter(o=>o>0)),N=p(!1),xe=p(!1),H=je({assistant_id:void 0}),re=p(""),de=p({amount:"0.00",count:0}),{pager:I,getLists:D,resetPage:Ke,resetParams:ft}=El({fetchFun:$l,params:w}),yt=o=>{Qe.value=o||[]},_t=()=>{if(!F.value.length){v.msgWarning("请先勾选要指派的支付单");return}H.assistant_id=void 0,N.value=!0},ct=async()=>{var o;if(H.assistant_id==null){v.msgWarning("请选择医助");return}xe.value=!0;try{await Ul({order_ids:[...F.value],assistant_id:H.assistant_id}),v.msgSuccess("指派成功"),N.value=!1,(o=Ye.value)==null||o.clearSelection(),D(),W()}catch(e){e!=null&&e.msg&&v.msgError(e.msg)}finally{xe.value=!1}},Ve=()=>{Ke()},vt=o=>{w.patient_association=o||"",Ke()},W=async()=>{try{const o=await hl();de.value=(o==null?void 0:o.data)||o||{amount:"0.00",count:0}}catch{de.value={amount:"0.00",count:0}}},gt=()=>{re.value="",ft()},ie=p(!1),k=p(null),we=p(0),Ce=p(!1),Te=p([]),Se=p(0),j=p(1),ue=p(10),pe=p(!1),me=p(!1),De=p([]),M=p(null),Z=p(""),Ee=async()=>{if(we.value){Ce.value=!0;try{const o=await Ll({order_id:we.value,page_no:j.value,page_size:ue.value});Te.value=(o==null?void 0:o.lists)||[],Se.value=(o==null?void 0:o.count)??0}catch{Te.value=[],Se.value=0}finally{Ce.value=!1}}},bt=()=>{j.value=1,Ee()},kt=()=>{M.value=null,Ge()},Ge=async()=>{me.value=!0;try{const o={};M.value&&M.value.length===2&&(o.start_time=M.value[0],o.end_time=M.value[1]);const e=await Ol(Object.keys(o).length?o:void 0);De.value=(e==null?void 0:e.list)||[],e!=null&&e.start_time&&(e!=null&&e.end_time)?Z.value=`${e.start_time} ~ ${e.end_time}`:Z.value=""}catch{De.value=[],Z.value=""}finally{me.value=!1}},R=p(!1),fe=p(!1),y=p({order_id:0,order_no:"",amount:0,fubeiPendingAudit:!1,payment_method:"alipay",payType:"supplement",supplement_order_no:""}),z=p(!1),$e=p(),Pe=p(!1),Ue=p(!1),he=p([]),m=je({createType:"normal",requirePaymentSlipAudit:!1,patient_id:"",order_type:"",amount:0,remark:""}),xt={patient_id:[{required:!0,message:"请选择患者",trigger:"change"}],order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},B=p(!1),Xe=p(),Le=p(!1),Oe=p(!1),ee=p([]),L=p(null),Vt={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}]},wt=async o=>{if(!o){he.value=[];return}try{Ue.value=!0;const e=await ut({keyword:o,page_no:1,page_size:10});he.value=(e==null?void 0:e.lists)||[]}catch(e){console.error("搜索患者失败:",e)}finally{Ue.value=!1}},Je=()=>{var o;m.createType="normal",m.requirePaymentSlipAudit=!1,m.patient_id="",m.order_type="",m.amount=0,m.remark="",(o=$e.value)==null||o.clearValidate()},Ct=()=>{Je(),z.value=!0},Y=p(!1),ye=p(!1),Ae=p(!1),_e=p(""),Q=p([new Date(Date.now()-7*864e5).toISOString().slice(0,10),new Date().toISOString().slice(0,10)]),Tt=[{text:"最近7天",value:()=>{const o=new Date,e=new Date;return e.setTime(e.getTime()-7*864e5),[e,o]}},{text:"最近30天",value:()=>{const o=new Date,e=new Date;return e.setTime(e.getTime()-30*864e5),[e,o]}},{text:"今天",value:()=>{const o=new Date;return[o,o]}}],St=()=>{Q.value=[new Date(Date.now()-7*864e5).toISOString().slice(0,10),new Date().toISOString().slice(0,10)],Y.value=!0},Dt=async()=>{var e;const o=Q.value;if(!o||o.length!==2){v.msgError("请先选择时间范围");return}try{Ae.value=!0;const u=await Al({begin_time:o[0],end_time:o[1],payee_userid:_e.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{Ae.value=!1}},Et=async()=>{var e;const o=Q.value;if(!o||o.length!==2){v.msgError("请选择时间范围");return}try{ye.value=!0;const u=await Ml({begin_time:o[0],end_time:o[1]}),r=(u==null?void 0:u.data)||u;Y.value=!1,D();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{ye.value=!1}},$t=async()=>{var o,e;try{if(await((o=$e.value)==null?void 0:o.validate()),Pe.value=!0,m.createType==="wechat_work"){const u={patient_id:m.patient_id,order_type:m.order_type,amount:m.amount,remark:m.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);z.value=!1,D(),v.msgSuccess(i?`订单创建成功,请在企业微信收款时使用订单号:${i}`:"订单创建成功")}else{const u={patient_id:m.patient_id,order_type:m.order_type,amount:m.amount,remark:m.remark,create_type:m.createType};m.createType==="fubei"?(u.payment_channel="fubei",u.require_payment_slip_audit=m.requirePaymentSlipAudit?1:0):m.createType==="express_cod"?(u.payment_channel="express_cod",u.require_payment_slip_audit=m.requirePaymentSlipAudit?1:0):(u.payment_channel="normal",u.require_payment_slip_audit=0),await Rl(u);const r=(m.createType==="fubei"||m.createType==="express_cod")&&m.requirePaymentSlipAudit?"订单已创建,支付状态为「待审核」":"订单创建成功";v.msgSuccess(r),z.value=!1,D()}}catch(u){console.error("创建订单失败:",u)}finally{Pe.value=!1}},He=o=>({1:"挂号费",2:"问诊费",3:"药品费用",4:"首付费用",5:"尾款费用",6:"其他费用",7:"全部费用",8:"驼奶费用"})[o]||"未知",Ze=o=>({1:"success",2:"info",3:"warning"})[o]||"info",et=o=>({1:"待支付",2:"已支付",3:"已取消",4:"已退款",5:"待审核"})[o]||"未知",tt=o=>({1:"warning",2:"success",3:"info",4:"danger",5:"warning"})[o]||"info",lt=o=>o?{alipay:"支付宝",wechat:"微信",wechat_work:"企业微信",fubei:"付呗",manual:"手动确认"}[o]||"未知":"-",at=o=>{const e={normal:"普通订单",wechat_work:"企业微信对外收款",fubei:"付呗",express_cod:"快递代收"},u=o==null?void 0:o.create_type;return u==="wechat_work"||u==="fubei"||u==="express_cod"?e[u]:u==="normal"&&(o!=null&&o.payment_method)?lt(o.payment_method):u&&e[u]?e[u]:lt(o==null?void 0:o.payment_method)},Pt=o=>{L.value={id:o.id,patient_id:o.patient_id||null,order_type:o.order_type},ee.value=o.patient?[o.patient]:[],B.value=!0},Ut=async o=>{if(!o){ee.value=[];return}try{Oe.value=!0;const e=await ut({keyword:o,page_no:1,page_size:10});ee.value=(e==null?void 0:e.lists)||[]}catch{ee.value=[]}finally{Oe.value=!1}},ht=async()=>{var o;if(L.value)try{await((o=Xe.value)==null?void 0:o.validate()),Le.value=!0,await zl({id:L.value.id,patient_id:L.value.patient_id??0,order_type:L.value.order_type}),v.msgSuccess("保存成功"),B.value=!1,D(),W()}catch(e){e!=null&&e.message&&v.msgError(e.message)}finally{Le.value=!1}},K=p(!1),U=p(null),G=p(2),X=p([]),te=p([]),Me=p(!1),nt=()=>{if(!U.value)return;const o=Number(U.value.amount),e=Math.max(2,Math.min(20,Math.floor(Number(G.value)||2)));G.value=e;const u=Math.round(o*100),r=Math.floor(u/e),i=u%e,$=[];for(let J=0;Jh{U.value=o,G.value=2,nt(),K.value=!0},ot=Be(()=>X.value.reduce((o,e)=>o+Number(e||0),0)),ce=Be(()=>{if(!U.value)return!1;const o=Number(U.value.amount);return Math.abs(ot.value-o)<1e-4}),Ot=async()=>{if(!(!U.value||!ce.value)){Me.value=!0;try{await Fl({id:U.value.id,amounts:X.value.map(o=>Number(o)),order_types:te.value.map(o=>Number(o))}),v.msgSuccess("拆分成功"),K.value=!1,D(),W()}catch(o){o!=null&&o.msg&&v.msgError(o.msg)}finally{Me.value=!1}}},At=async o=>{try{const e=await Nl({id:o.id});k.value=e,we.value=o.id,j.value=1,ie.value=!0,Ee()}catch(e){console.error("获取详情失败:",e)}},Mt=o=>{const e=o.status===5&&(o.payment_method==="fubei"||o.create_type==="express_cod");y.value={order_id:o.id,order_no:o.order_no,amount:o.amount,fubeiPendingAudit:e,payment_method:e?"manual":"alipay",payType:"supplement",supplement_order_no:""},R.value=!0},qt=async()=>{try{if(y.value.fubeiPendingAudit){fe.value=!0,await pt({id:y.value.order_id,payment_method:y.value.payment_method}),v.msgSuccess("已更新为已支付"),R.value=!1,D(),W();return}if(y.value.payType==="supplement"&&!y.value.supplement_order_no){v.msgWarning("请输入支付订单号");return}fe.value=!0;let o={};if(y.value.payType==="normal"?o={id:y.value.order_id,order_no:y.value.order_no,amount:y.value.amount,payment_method:y.value.payment_method}:o={order_no:y.value.supplement_order_no,payment_method:y.value.payment_method,is_supplement:1},y.value.payment_method==="wechat_work")await pt(o),v.msgSuccess("补单成功");else{let e;y.value.payment_method==="alipay"?e=await Il(o):y.value.payment_method==="wechat"&&(e=await Wl(o)),e&&e.pay_url&&(y.value.payment_method==="alipay"?window.location.href=e.pay_url:y.value.payment_method==="wechat"&&v.msgSuccess("请扫描二维码进行支付"))}R.value=!1,setTimeout(()=>{D()},2e3)}catch(o){console.error("支付失败:",o),v.msgError("支付失败,请重试")}finally{fe.value=!1}},Rt=async o=>{try{await v.confirm("确定要取消该订单吗?"),await jl({id:o.id}),v.msgSuccess("取消成功"),D()}catch{}},zt=async o=>{try{await v.confirm("确定要退款该订单吗?"),await Bl({id:o.id}),v.msgSuccess("退款成功"),D()}catch{}},Ft=async o=>{try{await v.confirm("确定要删除该订单吗?此操作不可恢复"),await Yl({id:o.id}),v.msgSuccess("删除成功"),D()}catch{}},Nt=async o=>{const e=o.is_exempt===1?0:1,u=e===1?"设为豁免":"取消豁免";try{await v.confirm(`确定要${u}该支付单吗?豁免后关联此单的业务订单将跳过定金门槛校验。`),await Ql({id:o.id,is_exempt:e}),v.msgSuccess(`${u}成功`),D()}catch{}},le=p(!1),ve=p(!1),ge=p(""),be=p(""),st=async o=>{if(!o.order_no){v.msgWarning("订单号不存在");return}be.value=o.order_no,le.value=!0,ve.value=!0,ge.value="";try{const e=await Kl({order_no:o.order_no});e!=null&&e.qrcode_url?ge.value=e.qrcode_url:v.msgError("二维码生成失败")}catch(e){v.msgError((e==null?void 0:e.msg)||"生成二维码失败")}finally{ve.value=!1}},It=()=>{be.value&&st({order_no:be.value})},Wt=async()=>{try{const o=await Gl();se.value=Array.isArray(o)?o:[]}catch{se.value=[]}};return Jt(()=>{Wt(),D(),W()}),(o,e)=>{const u=tl,r=el,i=al,$=ll,ke=Dl,c=nl,J=Sl,h=Zt,qe=ol,Re=rl,jt=sl,C=il,ae=ul,ze=dl,Bt=Tl,P=fl,Yt=ml,Qt=yl,Kt=_l,O=cl,rt=vl,ne=gl,A=kl,Fe=bl,Gt=xl,Ne=Vl,Xt=wl,E=Ht("perms"),Ie=pl;return d(),V("div",Jl,[t(qe,{class:"!border-none",shadow:"never"},{default:a(()=>[t(h,{class:"ls-form",model:n(w),inline:""},{default:a(()=>[t(r,{class:"w-[280px]",label:"订单号"},{default:a(()=>[t(u,{modelValue:n(w).order_no,"onUpdate:modelValue":e[0]||(e[0]=l=>n(w).order_no=l),placeholder:"请输入订单号",clearable:"",onKeyup:dt(Ve,["enter"])},null,8,["modelValue"])]),_:1}),t(r,{class:"w-[280px]",label:"患者信息"},{default:a(()=>[t(u,{modelValue:n(w).patient_keyword,"onUpdate:modelValue":e[1]||(e[1]=l=>n(w).patient_keyword=l),placeholder:"患者姓名/手机号",clearable:"",onKeyup:dt(Ve,["enter"])},null,8,["modelValue"])]),_:1}),t(r,{class:"w-[280px]",label:"医助"},{default:a(()=>[t($,{modelValue:n(w).assistant_id,"onUpdate:modelValue":e[2]||(e[2]=l=>n(w).assistant_id=l),placeholder:"全部医助",clearable:"",filterable:"",class:"w-full"},{default:a(()=>[(d(!0),V(q,null,oe(n(se),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:a(()=>[t($,{modelValue:n(w).order_type,"onUpdate:modelValue":e[3]||(e[3]=l=>n(w).order_type=l),class:"w-full",placeholder:"全部"},{default:a(()=>[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:a(()=>[t($,{modelValue:n(w).status,"onUpdate:modelValue":e[4]||(e[4]=l=>n(w).status=l),class:"w-full",placeholder:"全部"},{default:a(()=>[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:a(()=>[t(ke,{startTime:n(w).create_time_start,"onUpdate:startTime":e[5]||(e[5]=l=>n(w).create_time_start=l),endTime:n(w).create_time_end,"onUpdate:endTime":e[6]||(e[6]=l=>n(w).create_time_end=l)},null,8,["startTime","endTime"])]),_:1}),t(r,null,{default:a(()=>[t(c,{type:"primary",onClick:Ve},{default:a(()=>[...e[47]||(e[47]=[s("查询",-1)])]),_:1}),t(c,{onClick:gt},{default:a(()=>[...e[48]||(e[48]=[s("重置",-1)])]),_:1}),T((d(),_(c,{onClick:e[7]||(e[7]=l=>pe.value=!0)},{default:a(()=>[...e[49]||(e[49]=[s(" 操作统计 ",-1)])]),_:1})),[[E,["order.order/lists"]]]),T(t(J,{class:"ml-2.5","fetch-fun":n(Pl),params:n(w),"page-size":n(I).size},null,8,["fetch-fun","params","page-size"]),[[E,["order.order/export"]]]),T((d(),_(c,{type:"success",class:"ml-2.5",onClick:Ct},{default:a(()=>[...e[50]||(e[50]=[s(" + 创建支付单 ",-1)])]),_:1})),[[E,["order.order/create"]]]),T((d(),_(c,{type:"warning",class:"ml-2.5",loading:n(ye),onClick:St},{default:a(()=>[...e[51]||(e[51]=[s(" 同步企业微信收款 ",-1)])]),_:1},8,["loading"])),[[E,["order.order/alltongbu"]]])]),_:1})]),_:1},8,["model"])]),_:1}),t(qe,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[g("div",Hl,[t(jt,{modelValue:n(re),"onUpdate:modelValue":e[8]||(e[8]=l=>S(re)?re.value=l:null),onTabChange:vt},{default:a(()=>[t(Re,{label:"全部",name:""}),t(Re,{label:"待关联",name:"pending"}),t(Re,{label:"已关联",name:"associated"})]),_:1},8,["modelValue"]),g("div",Zl,[e[52]||(e[52]=g("span",{class:"text-gray-500"},"今日收益:",-1)),g("span",ea,"¥"+f(n(de).amount),1),g("span",ta,"("+f(n(de).count)+" 笔)",1)])])]),_:1}),t(qe,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[T((d(),V("div",la,[t(c,{type:"primary",disabled:!F.value.length,onClick:_t},{default:a(()=>[...e[53]||(e[53]=[s(" 将创建人指给医助 ",-1)])]),_:1},8,["disabled"]),F.value.length?(d(),V("span",aa,"已选 "+f(F.value.length)+" 条",1)):b("",!0)])),[[E,["order.order/zhipai"]]]),T((d(),_(ze,{ref_key:"orderTableRef",ref:Ye,data:n(I).lists,"row-key":"id",size:"large",onSelectionChange:yt},{default:a(()=>[t(C,{type:"selection",width:"48"}),t(C,{label:"订单号",prop:"order_no","min-width":"150"}),t(C,{label:"患者信息","min-width":"150"},{default:a(({row:l})=>{var x;return[l.patient?(d(),V("div",na,f(l.patient.patient_name),1)):(d(),V("div",oa,"待关联")),g("div",sa,f(((x=l.patient)==null?void 0:x.phone)||"-"),1)]}),_:1}),t(C,{label:"创建人","min-width":"120"},{default:a(({row:l})=>{var x;return[g("div",null,f(((x=l.creator)==null?void 0:x.name)||"-"),1),l.payee_userid?(d(),V("div",ra,"收款: "+f(l.payee_userid),1)):b("",!0)]}),_:1}),t(C,{label:"订单类型",width:"100"},{default:a(({row:l})=>[t(ae,{type:Ze(l.order_type)},{default:a(()=>[s(f(He(l.order_type)),1)]),_:2},1032,["type"])]),_:1}),t(C,{label:"金额",width:"100"},{default:a(({row:l})=>[g("span",da,"¥"+f(l.amount),1)]),_:1}),t(C,{label:"支付方式",width:"120"},{default:a(({row:l})=>[s(f(at(l)),1)]),_:1}),t(C,{label:"订单状态",width:"120"},{default:a(({row:l})=>[t(ae,{type:tt(l.status)},{default:a(()=>[s(f(et(l.status)),1)]),_:2},1032,["type"]),l.is_exempt===1?(d(),_(ae,{key:0,type:"warning",size:"small",class:"ml-1"},{default:a(()=>[...e[54]||(e[54]=[s("豁免",-1)])]),_:1})):b("",!0)]),_:1}),t(C,{label:"支付时间","min-width":"160"},{default:a(({row:l})=>[s(f(l.payment_time||"-"),1)]),_:1}),t(C,{label:"创建时间","min-width":"160"},{default:a(({row:l})=>[s(f(l.create_time),1)]),_:1}),t(C,{label:"操作",width:"340",fixed:"right"},{default:a(({row:l})=>[T((d(),_(c,{type:"primary",link:"",onClick:x=>At(l)},{default:a(()=>[...e[55]||(e[55]=[s(" 详情 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/detail"]]]),T((d(),_(c,{type:"primary",link:"",onClick:x=>Pt(l)},{default:a(()=>[...e[56]||(e[56]=[s(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/edit"]]]),l.status===1||l.status===2||l.status===5&&(l.payment_method==="fubei"||l.create_type==="express_cod")?T((d(),_(c,{key:0,type:"primary",link:"",onClick:x=>Lt(l)},{default:a(()=>[...e[57]||(e[57]=[s(" 拆分 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/split"]]]):b("",!0),T((d(),_(c,{type:"primary",link:"",onClick:x=>st(l)},{default:a(()=>[...e[58]||(e[58]=[s(" 小程序码 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/wxQrcode"]]]),l.status===1||l.status===5&&(l.payment_method==="fubei"||l.create_type==="express_cod")?T((d(),_(c,{key:1,type:"success",link:"",onClick:x=>Mt(l)},{default:a(()=>[...e[59]||(e[59]=[s(" 支付 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/pay"]]]):b("",!0),l.status===2?T((d(),_(c,{key:2,type:"warning",link:"",onClick:x=>zt(l)},{default:a(()=>[...e[60]||(e[60]=[s(" 退款 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/refund"]]]):b("",!0),l.status===1||l.status===5&&(l.payment_method==="fubei"||l.create_type==="express_cod")?T((d(),_(c,{key:3,type:"danger",link:"",onClick:x=>Rt(l)},{default:a(()=>[...e[61]||(e[61]=[s(" 取消 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/cancel"]]]):b("",!0),T((d(),_(c,{type:"danger",link:"",onClick:x=>Ft(l)},{default:a(()=>[...e[62]||(e[62]=[s(" 删除 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/delete"]]]),T((d(),_(c,{type:l.is_exempt===1?"warning":"default",link:"",onClick:x=>Nt(l)},{default:a(()=>[s(f(l.is_exempt===1?"取消豁免":"设为豁免"),1)]),_:2},1032,["type","onClick"])),[[E,["order.order/setExempt"]]])]),_:1})]),_:1},8,["data"])),[[Ie,n(I).loading]]),g("div",ia,[t(Bt,{modelValue:n(I),"onUpdate:modelValue":e[9]||(e[9]=l=>S(I)?I.value=l:null),onChange:n(D)},null,8,["modelValue","onChange"])])]),_:1}),t(O,{modelValue:n(ie),"onUpdate:modelValue":e[12]||(e[12]=l=>S(ie)?ie.value=l:null),title:"订单详情",width:"820px"},{default:a(()=>[n(k)?(d(),_(Yt,{key:0,column:2,border:""},{default:a(()=>[t(P,{label:"订单号"},{default:a(()=>[s(f(n(k).order_no),1)]),_:1}),t(P,{label:"订单状态"},{default:a(()=>[t(ae,{type:tt(n(k).status)},{default:a(()=>[s(f(et(n(k).status)),1)]),_:1},8,["type"])]),_:1}),t(P,{label:"患者姓名"},{default:a(()=>{var l;return[s(f(((l=n(k).patient)==null?void 0:l.patient_name)||"待关联"),1)]}),_:1}),t(P,{label:"患者电话"},{default:a(()=>{var l;return[s(f(((l=n(k).patient)==null?void 0:l.phone)||"-"),1)]}),_:1}),t(P,{label:"创建人"},{default:a(()=>{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:a(()=>[s(f(n(k).payee_userid),1)]),_:1})):b("",!0),n(k).payer_external_userid?(d(),_(P,{key:1,label:"付款人external_userid"},{default:a(()=>[s(f(n(k).payer_external_userid),1)]),_:1})):b("",!0),t(P,{label:"订单类型"},{default:a(()=>[t(ae,{type:Ze(n(k).order_type)},{default:a(()=>[s(f(He(n(k).order_type)),1)]),_:1},8,["type"])]),_:1}),t(P,{label:"订单金额"},{default:a(()=>[g("span",ua,"¥"+f(n(k).amount),1)]),_:1}),t(P,{label:"支付方式"},{default:a(()=>[s(f(at(n(k))),1)]),_:1}),t(P,{label:"支付时间"},{default:a(()=>[s(f(n(k).payment_time||"-"),1)]),_:1}),t(P,{label:"创建时间"},{default:a(()=>[s(f(n(k).create_time),1)]),_:1}),t(P,{label:"备注",span:2},{default:a(()=>[s(f(n(k).remark||"无"),1)]),_:1})]),_:1})):b("",!0),n(k)?(d(),_(Qt,{key:1,"content-position":"left"},{default:a(()=>[...e[63]||(e[63]=[s("操作记录",-1)])]),_:1})):b("",!0),n(k)?(d(),V("p",pa,"谁在什么时间对本单做了哪些操作(数据来自服务器记录)。")):b("",!0),n(k)?T((d(),_(ze,{key:3,data:n(Te),size:"small","max-height":"320"},{default:a(()=>[t(C,{label:"操作",prop:"action_label","min-width":"120","show-overflow-tooltip":""}),t(C,{label:"操作人",prop:"admin_name","min-width":"100"}),t(C,{label:"操作时间",prop:"create_time_text","min-width":"160"}),t(C,{label:"说明",prop:"summary","min-width":"140","show-overflow-tooltip":""})]),_:1},8,["data"])),[[Ie,n(Ce)]]):b("",!0),n(k)?(d(),V("div",ma,[t(Kt,{"current-page":n(j),"onUpdate:currentPage":e[10]||(e[10]=l=>S(j)?j.value=l:null),"page-size":n(ue),"onUpdate:pageSize":e[11]||(e[11]=l=>S(ue)?ue.value=l:null),total:n(Se),"page-sizes":[10,20,50],layout:"total, sizes, prev, pager, next",small:"",onSizeChange:bt,onCurrentChange:Ee},null,8,["current-page","page-size","total"])])):b("",!0)]),_:1},8,["modelValue"]),t(O,{modelValue:n(pe),"onUpdate:modelValue":e[15]||(e[15]=l=>S(pe)?pe.value=l:null),title:"支付单操作统计",width:"520px",onOpened:kt},{default:a(()=>[n(Z)?(d(),V("p",fa,"统计范围:"+f(n(Z)),1)):b("",!0),t(h,{class:"mb-3",inline:!0,onSubmit:e[14]||(e[14]=it(()=>{},["prevent"]))},{default:a(()=>[t(r,{label:"时间范围"},{default:a(()=>[t(rt,{modelValue:n(M),"onUpdate:modelValue":e[13]||(e[13]=l=>S(M)?M.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:a(()=>[t(c,{type:"primary",loading:n(me),onClick:Ge},{default:a(()=>[...e[64]||(e[64]=[s("查询",-1)])]),_:1},8,["loading"])]),_:1})]),_:1}),T((d(),_(ze,{data:n(De),size:"small","max-height":"400"},{default:a(()=>[t(C,{label:"操作人",prop:"admin_name","min-width":"120","show-overflow-tooltip":""}),t(C,{label:"操作次数",prop:"cnt",width:"100",align:"right"})]),_:1},8,["data"])),[[Ie,n(me)]])]),_:1},8,["modelValue"]),t(O,{modelValue:n(N),"onUpdate:modelValue":e[18]||(e[18]=l=>S(N)?N.value=l:null),title:"变更创建人(医助)",width:"440px","destroy-on-close":""},{footer:a(()=>[t(c,{onClick:e[17]||(e[17]=l=>N.value=!1)},{default:a(()=>[...e[65]||(e[65]=[s("取消",-1)])]),_:1}),t(c,{type:"primary",loading:n(xe),onClick:ct},{default:a(()=>[...e[66]||(e[66]=[s("确定",-1)])]),_:1},8,["loading"])]),default:a(()=>[g("p",ya," 将 "+f(F.value.length)+" 条支付单的「创建人」改为所选医助,并写入各单操作日志。 ",1),t($,{modelValue:n(H).assistant_id,"onUpdate:modelValue":e[16]||(e[16]=l=>n(H).assistant_id=l),filterable:"",placeholder:"选择医助",class:"w-full"},{default:a(()=>[(d(!0),V(q,null,oe(n(se),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(O,{modelValue:n(R),"onUpdate:modelValue":e[23]||(e[23]=l=>S(R)?R.value=l:null),title:"订单支付",width:"500px"},{footer:a(()=>[t(c,{onClick:e[22]||(e[22]=l=>R.value=!1)},{default:a(()=>[...e[72]||(e[72]=[s("取消",-1)])]),_:1}),t(c,{type:"primary",onClick:qt,loading:n(fe)},{default:a(()=>[...e[73]||(e[73]=[s("确认支付",-1)])]),_:1},8,["loading"])]),default:a(()=>[t(h,{model:n(y),"label-width":"100px"},{default:a(()=>[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:a(()=>[t(Fe,{modelValue:n(y).payType,"onUpdate:modelValue":e[19]||(e[19]=l=>n(y).payType=l)},{default:a(()=>[t(A,{label:"supplement"},{default:a(()=>[...e[67]||(e[67]=[s("补单支付",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})),n(y).payType==="normal"?(d(),V(q,{key:2},[t(r,{label:"订单号"},{default:a(()=>[g("span",null,f(n(y).order_no),1)]),_:1}),t(r,{label:"订单金额"},{default:a(()=>[g("span",_a,"¥"+f(n(y).amount),1)]),_:1})],64)):b("",!0),!n(y).fubeiPendingAudit&&n(y).payType==="supplement"?(d(),_(r,{key:3,label:"支付订单号",required:""},{default:a(()=>[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(q,{key:4},[t(r,{label:"订单号"},{default:a(()=>[g("span",null,f(n(y).order_no),1)]),_:1}),t(r,{label:"金额"},{default:a(()=>[g("span",ca,"¥"+f(n(y).amount),1)]),_:1})],64)):b("",!0),t(r,{label:"支付方式",required:""},{default:a(()=>[t(Fe,{modelValue:n(y).payment_method,"onUpdate:modelValue":e[21]||(e[21]=l=>n(y).payment_method=l)},{default:a(()=>[n(y).fubeiPendingAudit?(d(),_(A,{key:0,label:"manual"},{default:a(()=>[...e[68]||(e[68]=[s("手动确认到账",-1)])]),_:1})):b("",!0),t(A,{label:"alipay"},{default:a(()=>[...e[69]||(e[69]=[s("支付宝",-1)])]),_:1}),t(A,{label:"wechat"},{default:a(()=>[...e[70]||(e[70]=[s("微信",-1)])]),_:1}),t(A,{label:"wechat_work"},{default:a(()=>[...e[71]||(e[71]=[s("企业微信",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),t(O,{modelValue:n(z),"onUpdate:modelValue":e[31]||(e[31]=l=>S(z)?z.value=l:null),title:"创建订单",width:"600px",onClose:Je},{footer:a(()=>[t(c,{onClick:e[30]||(e[30]=l=>z.value=!1)},{default:a(()=>[...e[85]||(e[85]=[s("取消",-1)])]),_:1}),t(c,{type:"primary",onClick:$t,loading:n(Pe)},{default:a(()=>[s(f(n(m).createType==="wechat_work"?"创建并获取收款订单号":"创建订单"),1)]),_:1},8,["loading"])]),default:a(()=>[t(h,{ref_key:"createFormRef",ref:$e,model:n(m),rules:xt,"label-width":"100px"},{default:a(()=>[t(r,{label:"创建方式"},{default:a(()=>[t(Fe,{modelValue:n(m).createType,"onUpdate:modelValue":e[24]||(e[24]=l=>n(m).createType=l)},{default:a(()=>[t(A,{label:"normal"},{default:a(()=>[...e[74]||(e[74]=[s("普通订单",-1)])]),_:1}),t(A,{label:"wechat_work"},{default:a(()=>[...e[75]||(e[75]=[s("企业微信对外收款",-1)])]),_:1}),t(A,{label:"fubei"},{default:a(()=>[...e[76]||(e[76]=[s("付呗",-1)])]),_:1}),t(A,{label:"express_cod"},{default:a(()=>[...e[77]||(e[77]=[s("快递代收",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),n(m).createType==="wechat_work"?(d(),_(ne,{key:0,type:"info",closable:!1,"show-icon":"",class:"mb-4"},{title:a(()=>[...e[78]||(e[78]=[s("企业微信对外收款",-1)])]),default:a(()=>[e[79]||(e[79]=s(" 创建后将生成订单号,请在企业微信发起收款时将该订单号填写为「商户订单号」,收款成功后系统将自动更新订单状态。 ",-1))]),_:1})):b("",!0),n(m).createType==="fubei"?(d(),_(ne,{key:1,type:"info",closable:!1,"show-icon":"",class:"mb-4"},{title:a(()=>[...e[80]||(e[80]=[s("付呗",-1)])]),default:a(()=>[e[81]||(e[81]=s(" 通过付呗收款的支付单,创建后请按实际对账/审核流程在列表中处理。 ",-1))]),_:1})):b("",!0),n(m).createType==="express_cod"?(d(),_(ne,{key:2,type:"info",closable:!1,"show-icon":"",class:"mb-4"},{title:a(()=>[...e[82]||(e[82]=[s("快递代收",-1)])]),default:a(()=>[e[83]||(e[83]=s(" 通过快递代收的支付单,流转与付呗一致;审核通过/确认到账后将更新为已支付。 ",-1))]),_:1})):b("",!0),n(m).createType==="fubei"||n(m).createType==="express_cod"?(d(),_(r,{key:3,label:"支付单审核"},{default:a(()=>[t(Gt,{modelValue:n(m).requirePaymentSlipAudit,"onUpdate:modelValue":e[25]||(e[25]=l=>n(m).requirePaymentSlipAudit=l),"active-text":"申请审核","inactive-text":"不申请"},null,8,["modelValue"]),e[84]||(e[84]=g("div",{class:"text-xs text-gray-500 mt-1"}," 开启后,新订单的支付状态为「待审核」;未开启则为「待支付」。 ",-1))]),_:1})):b("",!0),t(r,{label:"患者",prop:"patient_id"},{default:a(()=>[t($,{modelValue:n(m).patient_id,"onUpdate:modelValue":e[26]||(e[26]=l=>n(m).patient_id=l),placeholder:"请选择患者",filterable:"",remote:"","remote-method":wt,loading:n(Ue)},{default:a(()=>[(d(!0),V(q,null,oe(n(he),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:a(()=>[t($,{modelValue:n(m).order_type,"onUpdate:modelValue":e[27]||(e[27]=l=>n(m).order_type=l),placeholder:"请选择"},{default:a(()=>[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:a(()=>[t(Ne,{modelValue:n(m).amount,"onUpdate:modelValue":e[28]||(e[28]=l=>n(m).amount=l),min:0,step:.01,precision:2,placeholder:"请输入金额"},null,8,["modelValue"])]),_:1}),t(r,{label:"备注",prop:"remark"},{default:a(()=>[t(u,{modelValue:n(m).remark,"onUpdate:modelValue":e[29]||(e[29]=l=>n(m).remark=l),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),t(O,{modelValue:n(Y),"onUpdate:modelValue":e[35]||(e[35]=l=>S(Y)?Y.value=l:null),title:"同步企业微信对外收款",width:"420px"},{footer:a(()=>[t(c,{onClick:e[34]||(e[34]=l=>Y.value=!1)},{default:a(()=>[...e[86]||(e[86]=[s("取消",-1)])]),_:1}),t(c,{type:"info",loading:n(Ae),onClick:Dt},{default:a(()=>[...e[87]||(e[87]=[s(" 排查同步为0 ",-1)])]),_:1},8,["loading"]),t(c,{type:"primary",loading:n(ye),onClick:Et},{default:a(()=>[...e[88]||(e[88]=[s(" 开始同步 ",-1)])]),_:1},8,["loading"])]),default:a(()=>[e[89]||(e[89]=g("p",{class:"text-gray-600 mb-4"},"拉取员工在企业微信内直接发起的对外收款记录,自动创建订单(未经过后台创建的收款)",-1)),t(h,{"label-width":"90px"},{default:a(()=>[t(r,{label:"时间范围"},{default:a(()=>[t(rt,{modelValue:n(Q),"onUpdate:modelValue":e[32]||(e[32]=l=>S(Q)?Q.value=l:null),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",shortcuts:Tt},null,8,["modelValue"])]),_:1}),t(r,{label:"收款人userid"},{default:a(()=>[t(u,{modelValue:n(_e),"onUpdate:modelValue":e[33]||(e[33]=l=>S(_e)?_e.value=l:null),placeholder:"可选,如 GaoXingLiang,排查时若返回 try_payee_userids 可逐个尝试",clearable:""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(O,{modelValue:n(B),"onUpdate:modelValue":e[39]||(e[39]=l=>S(B)?B.value=l:null),title:"编辑订单",width:"480px"},{footer:a(()=>[t(c,{onClick:e[38]||(e[38]=l=>B.value=!1)},{default:a(()=>[...e[90]||(e[90]=[s("取消",-1)])]),_:1}),t(c,{type:"primary",loading:n(Le),onClick:ht},{default:a(()=>[...e[91]||(e[91]=[s("保存",-1)])]),_:1},8,["loading"])]),default:a(()=>[n(L)?(d(),_(h,{key:0,ref_key:"editOrderFormRef",ref:Xe,model:n(L),rules:Vt,"label-width":"100px"},{default:a(()=>[t(r,{label:"关联患者",prop:"patient_id"},{default:a(()=>[t($,{modelValue:n(L).patient_id,"onUpdate:modelValue":e[36]||(e[36]=l=>n(L).patient_id=l),filterable:"",remote:"",placeholder:"搜索患者姓名/手机号,可留空表示待关联","remote-method":Ut,loading:n(Oe),clearable:"",class:"w-full"},{default:a(()=>[(d(!0),V(q,null,oe(n(ee),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:a(()=>[t($,{modelValue:n(L).order_type,"onUpdate:modelValue":e[37]||(e[37]=l=>n(L).order_type=l),placeholder:"请选择",class:"w-full"},{default:a(()=>[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},8,["model"])):b("",!0)]),_:1},8,["modelValue"]),t(O,{modelValue:n(K),"onUpdate:modelValue":e[43]||(e[43]=l=>S(K)?K.value=l:null),title:"拆分订单",width:"620px","destroy-on-close":"",onClosed:e[44]||(e[44]=l=>U.value=null)},{footer:a(()=>[t(c,{onClick:e[42]||(e[42]=l=>K.value=!1)},{default:a(()=>[...e[100]||(e[100]=[s("取消",-1)])]),_:1}),t(c,{type:"primary",loading:n(Me),disabled:!ce.value,onClick:Ot},{default:a(()=>[...e[101]||(e[101]=[s(" 确定拆分 ",-1)])]),_:1},8,["loading","disabled"])]),default:a(()=>[n(U)?(d(),V(q,{key:0},[g("p",va,[e[92]||(e[92]=s(" 原订单号 ",-1)),g("span",ga,f(n(U).order_no),1),e[93]||(e[93]=s(",金额 ",-1)),g("span",ba,"¥"+f(n(U).amount),1),e[94]||(e[94]=s("。每笔子单可分别选择",-1)),e[95]||(e[95]=g("strong",null,"订单类型",-1)),e[96]||(e[96]=s(";子单继承患者、创建人及企微收款信息;",-1)),e[97]||(e[97]=g("strong",null,"已支付",-1)),e[98]||(e[98]=s("子单继承支付方式、支付时间与交易号;原单将软删除;若已关联业务订单,关联会同步到全部子单。 ",-1))]),t(h,{"label-width":"88px",onSubmit:e[41]||(e[41]=it(()=>{},["prevent"]))},{default:a(()=>[t(r,{label:"拆分管数"},{default:a(()=>[t(Ne,{modelValue:n(G),"onUpdate:modelValue":e[40]||(e[40]=l=>S(G)?G.value=l:null),min:2,max:20,step:1,"step-strictly":"",onChange:nt},null,8,["modelValue"]),e[99]||(e[99]=g("span",{class:"text-xs text-gray-400 ml-2"},"2~20 笔",-1))]),_:1})]),_:1}),g("div",ka,[(d(!0),V(q,null,oe(n(X),(l,x)=>(d(),V("div",{key:x,class:"flex items-center gap-2 flex-wrap"},[g("span",xa,"第 "+f(x+1)+" 笔",1),t($,{modelValue:n(te)[x],"onUpdate:modelValue":We=>n(te)[x]=We,placeholder:"订单类型",class:"w-[136px] shrink-0"},{default:a(()=>[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(Ne,{modelValue:n(X)[x],"onUpdate:modelValue":We=>n(X)[x]=We,min:.01,step:.01,precision:2,class:"flex-1 min-w-[140px]","controls-position":"right"},null,8,["modelValue","onUpdate:modelValue"])]))),128))]),t(ne,{type:ce.value?"success":"warning",closable:!1,"show-icon":""},{title:a(()=>[s(" 子单合计 ¥"+f(ot.value.toFixed(2))+", "+f(ce.value?"与原价一致,可提交":"须与原价完全一致方可拆分"),1)]),_:1},8,["type"])],64)):b("",!0)]),_:1},8,["modelValue"]),t(O,{modelValue:n(le),"onUpdate:modelValue":e[46]||(e[46]=l=>S(le)?le.value=l:null),title:"支付小程序码",width:"400px","close-on-click-modal":!1},{footer:a(()=>[t(c,{onClick:e[45]||(e[45]=l=>le.value=!1)},{default:a(()=>[...e[104]||(e[104]=[s("关闭",-1)])]),_:1}),n(ve)?b("",!0):(d(),_(c,{key:0,type:"primary",onClick:It},{default:a(()=>[...e[105]||(e[105]=[s(" 重新生成 ",-1)])]),_:1}))]),default:a(()=>[g("div",Va,[n(ve)?(d(),V("div",wa,[t(Xt,{class:"is-loading",size:40},{default:a(()=>[t(n(Cl))]),_:1}),e[102]||(e[102]=g("div",{class:"mt-4 text-gray-500"},"生成中...",-1))])):n(ge)?(d(),V("div",Ca,[g("img",{src:n(ge),alt:"小程序二维码",class:"w-64 h-64 border border-gray-200 rounded"},null,8,Ta),g("div",Sa,[g("div",null,"订单号:"+f(n(be)),1),e[103]||(e[103]=g("div",{class:"mt-2"},"请使用微信扫描二维码完成支付",-1))])])):(d(),V("div",Da," 生成失败,请重试 "))])]),_:1},8,["modelValue"])])}}}),Fa=Xl($a,[["__scopeId","data-v-9b7d6b0f"]]);export{Fa as default}; +import{o as mt,M as p,ap as Jt,be as Ht,q as d,r as V,v as t,D as a,b9 as Zt,u as n,b6 as el,b7 as tl,b8 as dt,bm as ll,F as q,G as oe,O as _,bn as al,K as nl,L as s,ac as T,bg as ol,s as g,Y as sl,C as S,X as rl,T as f,P as b,bj as dl,bk as il,br as ul,bi as pl,c0 as ml,c1 as fl,bD as yl,bs as _l,bt as cl,aw as it,bp as vl,bh as gl,bc as bl,bf as kl,I as xl,J as Vl,w as wl,b5 as Cl,ba as je,p as Be}from"./.pnpm-9dA1PEvN.js";import{_ as Tl}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{_ as Sl}from"./index.vue_vue_type_script_setup_true_lang-DbClaUqT.js";import{_ as Dl}from"./index.vue_vue_type_script_setup_true_lang-C38LpCy9.js";import{u as El}from"./usePaging-Boz1Q6w3.js";import{o as $l,a as Pl,b as Ul,c as hl,d as Ll,e as Ol,s as ut,f as Al,g as Ml,h as ql,i as Rl,j as zl,k as Fl,l as Nl,m as pt,n as Il,w as Wl,p as jl,q as Bl,r as Yl,t as Ql}from"./order-B6cEisB-.js";import{Q as Kl,i as Gl}from"./tcm-Fi_swgCr.js";import{i as v,_ as Xl}from"./index-BWzN7QIb.js";import"./index-dYaCh-CN.js";const Jl={class:"order-list"},Hl={class:"flex items-center justify-between mb-4"},Zl={class:"flex items-center gap-4 text-sm"},ea={class:"text-red-500 font-semibold text-lg"},ta={class:"text-gray-400"},la={class:"mb-3 flex items-center gap-3"},aa={key:0,class:"text-sm text-gray-500"},na={key:0},oa={key:1,class:"text-amber-600"},sa={class:"text-xs text-gray-400"},ra={key:0,class:"text-xs text-gray-400"},da={class:"text-red-500 font-semibold"},ia={class:"flex justify-end mt-4"},ua={class:"text-red-500 font-semibold"},pa={key:2,class:"text-xs text-gray-500 mb-2"},ma={key:4,class:"flex justify-end mt-3"},fa={key:0,class:"text-xs text-gray-500 mb-3"},ya={class:"text-sm text-gray-600 mb-3"},_a={class:"text-red-500 font-semibold"},ca={class:"text-red-500 font-semibold"},va={class:"text-sm text-gray-600 mb-3"},ga={class:"font-mono"},ba={class:"text-red-500 font-semibold"},ka={class:"space-y-2 mb-3 max-h-[320px] overflow-y-auto pr-1"},xa={class:"text-sm text-gray-500 w-14 shrink-0"},Va={class:"flex flex-col items-center justify-center py-4"},wa={key:0,class:"text-center"},Ca={key:1,class:"text-center"},Ta=["src"],Sa={class:"mt-4 text-sm text-gray-600"},Da={key:2,class:"text-center text-gray-500"},Ea=mt({name:"orderList"}),$a=mt({...Ea,setup(Pa){const w=je({order_no:"",patient_keyword:"",assistant_id:void 0,order_type:"",status:"",patient_association:"",create_time_start:"",create_time_end:""}),se=p([]),Ye=p(null),Qe=p([]),F=Be(()=>Qe.value.map(o=>o.id).filter(o=>o>0)),N=p(!1),xe=p(!1),H=je({assistant_id:void 0}),re=p(""),de=p({amount:"0.00",count:0}),{pager:I,getLists:D,resetPage:Ke,resetParams:ft}=El({fetchFun:$l,params:w}),yt=o=>{Qe.value=o||[]},_t=()=>{if(!F.value.length){v.msgWarning("请先勾选要指派的支付单");return}H.assistant_id=void 0,N.value=!0},ct=async()=>{var o;if(H.assistant_id==null){v.msgWarning("请选择医助");return}xe.value=!0;try{await Ul({order_ids:[...F.value],assistant_id:H.assistant_id}),v.msgSuccess("指派成功"),N.value=!1,(o=Ye.value)==null||o.clearSelection(),D(),W()}catch(e){e!=null&&e.msg&&v.msgError(e.msg)}finally{xe.value=!1}},Ve=()=>{Ke()},vt=o=>{w.patient_association=o||"",Ke()},W=async()=>{try{const o=await hl();de.value=(o==null?void 0:o.data)||o||{amount:"0.00",count:0}}catch{de.value={amount:"0.00",count:0}}},gt=()=>{re.value="",ft()},ie=p(!1),k=p(null),we=p(0),Ce=p(!1),Te=p([]),Se=p(0),j=p(1),ue=p(10),pe=p(!1),me=p(!1),De=p([]),M=p(null),Z=p(""),Ee=async()=>{if(we.value){Ce.value=!0;try{const o=await Ll({order_id:we.value,page_no:j.value,page_size:ue.value});Te.value=(o==null?void 0:o.lists)||[],Se.value=(o==null?void 0:o.count)??0}catch{Te.value=[],Se.value=0}finally{Ce.value=!1}}},bt=()=>{j.value=1,Ee()},kt=()=>{M.value=null,Ge()},Ge=async()=>{me.value=!0;try{const o={};M.value&&M.value.length===2&&(o.start_time=M.value[0],o.end_time=M.value[1]);const e=await Ol(Object.keys(o).length?o:void 0);De.value=(e==null?void 0:e.list)||[],e!=null&&e.start_time&&(e!=null&&e.end_time)?Z.value=`${e.start_time} ~ ${e.end_time}`:Z.value=""}catch{De.value=[],Z.value=""}finally{me.value=!1}},R=p(!1),fe=p(!1),y=p({order_id:0,order_no:"",amount:0,fubeiPendingAudit:!1,payment_method:"alipay",payType:"supplement",supplement_order_no:""}),z=p(!1),$e=p(),Pe=p(!1),Ue=p(!1),he=p([]),m=je({createType:"normal",requirePaymentSlipAudit:!1,patient_id:"",order_type:"",amount:0,remark:""}),xt={patient_id:[{required:!0,message:"请选择患者",trigger:"change"}],order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},B=p(!1),Xe=p(),Le=p(!1),Oe=p(!1),ee=p([]),L=p(null),Vt={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}]},wt=async o=>{if(!o){he.value=[];return}try{Ue.value=!0;const e=await ut({keyword:o,page_no:1,page_size:10});he.value=(e==null?void 0:e.lists)||[]}catch(e){console.error("搜索患者失败:",e)}finally{Ue.value=!1}},Je=()=>{var o;m.createType="normal",m.requirePaymentSlipAudit=!1,m.patient_id="",m.order_type="",m.amount=0,m.remark="",(o=$e.value)==null||o.clearValidate()},Ct=()=>{Je(),z.value=!0},Y=p(!1),ye=p(!1),Ae=p(!1),_e=p(""),Q=p([new Date(Date.now()-7*864e5).toISOString().slice(0,10),new Date().toISOString().slice(0,10)]),Tt=[{text:"最近7天",value:()=>{const o=new Date,e=new Date;return e.setTime(e.getTime()-7*864e5),[e,o]}},{text:"最近30天",value:()=>{const o=new Date,e=new Date;return e.setTime(e.getTime()-30*864e5),[e,o]}},{text:"今天",value:()=>{const o=new Date;return[o,o]}}],St=()=>{Q.value=[new Date(Date.now()-7*864e5).toISOString().slice(0,10),new Date().toISOString().slice(0,10)],Y.value=!0},Dt=async()=>{var e;const o=Q.value;if(!o||o.length!==2){v.msgError("请先选择时间范围");return}try{Ae.value=!0;const u=await Al({begin_time:o[0],end_time:o[1],payee_userid:_e.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{Ae.value=!1}},Et=async()=>{var e;const o=Q.value;if(!o||o.length!==2){v.msgError("请选择时间范围");return}try{ye.value=!0;const u=await Ml({begin_time:o[0],end_time:o[1]}),r=(u==null?void 0:u.data)||u;Y.value=!1,D();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{ye.value=!1}},$t=async()=>{var o,e;try{if(await((o=$e.value)==null?void 0:o.validate()),Pe.value=!0,m.createType==="wechat_work"){const u={patient_id:m.patient_id,order_type:m.order_type,amount:m.amount,remark:m.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);z.value=!1,D(),v.msgSuccess(i?`订单创建成功,请在企业微信收款时使用订单号:${i}`:"订单创建成功")}else{const u={patient_id:m.patient_id,order_type:m.order_type,amount:m.amount,remark:m.remark,create_type:m.createType};m.createType==="fubei"?(u.payment_channel="fubei",u.require_payment_slip_audit=m.requirePaymentSlipAudit?1:0):m.createType==="express_cod"?(u.payment_channel="express_cod",u.require_payment_slip_audit=m.requirePaymentSlipAudit?1:0):(u.payment_channel="normal",u.require_payment_slip_audit=0),await Rl(u);const r=(m.createType==="fubei"||m.createType==="express_cod")&&m.requirePaymentSlipAudit?"订单已创建,支付状态为「待审核」":"订单创建成功";v.msgSuccess(r),z.value=!1,D()}}catch(u){console.error("创建订单失败:",u)}finally{Pe.value=!1}},He=o=>({1:"挂号费",2:"问诊费",3:"药品费用",4:"首付费用",5:"尾款费用",6:"其他费用",7:"全部费用",8:"驼奶费用"})[o]||"未知",Ze=o=>({1:"success",2:"info",3:"warning"})[o]||"info",et=o=>({1:"待支付",2:"已支付",3:"已取消",4:"已退款",5:"待审核"})[o]||"未知",tt=o=>({1:"warning",2:"success",3:"info",4:"danger",5:"warning"})[o]||"info",lt=o=>o?{alipay:"支付宝",wechat:"微信",wechat_work:"企业微信",fubei:"付呗",manual:"手动确认"}[o]||"未知":"-",at=o=>{const e={normal:"普通订单",wechat_work:"企业微信对外收款",fubei:"付呗",express_cod:"快递代收"},u=o==null?void 0:o.create_type;return u==="wechat_work"||u==="fubei"||u==="express_cod"?e[u]:u==="normal"&&(o!=null&&o.payment_method)?lt(o.payment_method):u&&e[u]?e[u]:lt(o==null?void 0:o.payment_method)},Pt=o=>{L.value={id:o.id,patient_id:o.patient_id||null,order_type:o.order_type},ee.value=o.patient?[o.patient]:[],B.value=!0},Ut=async o=>{if(!o){ee.value=[];return}try{Oe.value=!0;const e=await ut({keyword:o,page_no:1,page_size:10});ee.value=(e==null?void 0:e.lists)||[]}catch{ee.value=[]}finally{Oe.value=!1}},ht=async()=>{var o;if(L.value)try{await((o=Xe.value)==null?void 0:o.validate()),Le.value=!0,await zl({id:L.value.id,patient_id:L.value.patient_id??0,order_type:L.value.order_type}),v.msgSuccess("保存成功"),B.value=!1,D(),W()}catch(e){e!=null&&e.message&&v.msgError(e.message)}finally{Le.value=!1}},K=p(!1),U=p(null),G=p(2),X=p([]),te=p([]),Me=p(!1),nt=()=>{if(!U.value)return;const o=Number(U.value.amount),e=Math.max(2,Math.min(20,Math.floor(Number(G.value)||2)));G.value=e;const u=Math.round(o*100),r=Math.floor(u/e),i=u%e,$=[];for(let J=0;Jh{U.value=o,G.value=2,nt(),K.value=!0},ot=Be(()=>X.value.reduce((o,e)=>o+Number(e||0),0)),ce=Be(()=>{if(!U.value)return!1;const o=Number(U.value.amount);return Math.abs(ot.value-o)<1e-4}),Ot=async()=>{if(!(!U.value||!ce.value)){Me.value=!0;try{await Fl({id:U.value.id,amounts:X.value.map(o=>Number(o)),order_types:te.value.map(o=>Number(o))}),v.msgSuccess("拆分成功"),K.value=!1,D(),W()}catch(o){o!=null&&o.msg&&v.msgError(o.msg)}finally{Me.value=!1}}},At=async o=>{try{const e=await Nl({id:o.id});k.value=e,we.value=o.id,j.value=1,ie.value=!0,Ee()}catch(e){console.error("获取详情失败:",e)}},Mt=o=>{const e=o.status===5&&(o.payment_method==="fubei"||o.create_type==="express_cod");y.value={order_id:o.id,order_no:o.order_no,amount:o.amount,fubeiPendingAudit:e,payment_method:e?"manual":"alipay",payType:"supplement",supplement_order_no:""},R.value=!0},qt=async()=>{try{if(y.value.fubeiPendingAudit){fe.value=!0,await pt({id:y.value.order_id,payment_method:y.value.payment_method}),v.msgSuccess("已更新为已支付"),R.value=!1,D(),W();return}if(y.value.payType==="supplement"&&!y.value.supplement_order_no){v.msgWarning("请输入支付订单号");return}fe.value=!0;let o={};if(y.value.payType==="normal"?o={id:y.value.order_id,order_no:y.value.order_no,amount:y.value.amount,payment_method:y.value.payment_method}:o={order_no:y.value.supplement_order_no,payment_method:y.value.payment_method,is_supplement:1},y.value.payment_method==="wechat_work")await pt(o),v.msgSuccess("补单成功");else{let e;y.value.payment_method==="alipay"?e=await Il(o):y.value.payment_method==="wechat"&&(e=await Wl(o)),e&&e.pay_url&&(y.value.payment_method==="alipay"?window.location.href=e.pay_url:y.value.payment_method==="wechat"&&v.msgSuccess("请扫描二维码进行支付"))}R.value=!1,setTimeout(()=>{D()},2e3)}catch(o){console.error("支付失败:",o),v.msgError("支付失败,请重试")}finally{fe.value=!1}},Rt=async o=>{try{await v.confirm("确定要取消该订单吗?"),await jl({id:o.id}),v.msgSuccess("取消成功"),D()}catch{}},zt=async o=>{try{await v.confirm("确定要退款该订单吗?"),await Bl({id:o.id}),v.msgSuccess("退款成功"),D()}catch{}},Ft=async o=>{try{await v.confirm("确定要删除该订单吗?此操作不可恢复"),await Yl({id:o.id}),v.msgSuccess("删除成功"),D()}catch{}},Nt=async o=>{const e=o.is_exempt===1?0:1,u=e===1?"设为豁免":"取消豁免";try{await v.confirm(`确定要${u}该支付单吗?豁免后关联此单的业务订单将跳过定金门槛校验。`),await Ql({id:o.id,is_exempt:e}),v.msgSuccess(`${u}成功`),D()}catch{}},le=p(!1),ve=p(!1),ge=p(""),be=p(""),st=async o=>{if(!o.order_no){v.msgWarning("订单号不存在");return}be.value=o.order_no,le.value=!0,ve.value=!0,ge.value="";try{const e=await Kl({order_no:o.order_no});e!=null&&e.qrcode_url?ge.value=e.qrcode_url:v.msgError("二维码生成失败")}catch(e){v.msgError((e==null?void 0:e.msg)||"生成二维码失败")}finally{ve.value=!1}},It=()=>{be.value&&st({order_no:be.value})},Wt=async()=>{try{const o=await Gl();se.value=Array.isArray(o)?o:[]}catch{se.value=[]}};return Jt(()=>{Wt(),D(),W()}),(o,e)=>{const u=tl,r=el,i=al,$=ll,ke=Dl,c=nl,J=Sl,h=Zt,qe=ol,Re=rl,jt=sl,C=il,ae=ul,ze=dl,Bt=Tl,P=fl,Yt=ml,Qt=yl,Kt=_l,O=cl,rt=vl,ne=gl,A=kl,Fe=bl,Gt=xl,Ne=Vl,Xt=wl,E=Ht("perms"),Ie=pl;return d(),V("div",Jl,[t(qe,{class:"!border-none",shadow:"never"},{default:a(()=>[t(h,{class:"ls-form",model:n(w),inline:""},{default:a(()=>[t(r,{class:"w-[280px]",label:"订单号"},{default:a(()=>[t(u,{modelValue:n(w).order_no,"onUpdate:modelValue":e[0]||(e[0]=l=>n(w).order_no=l),placeholder:"请输入订单号",clearable:"",onKeyup:dt(Ve,["enter"])},null,8,["modelValue"])]),_:1}),t(r,{class:"w-[280px]",label:"患者信息"},{default:a(()=>[t(u,{modelValue:n(w).patient_keyword,"onUpdate:modelValue":e[1]||(e[1]=l=>n(w).patient_keyword=l),placeholder:"患者姓名/手机号",clearable:"",onKeyup:dt(Ve,["enter"])},null,8,["modelValue"])]),_:1}),t(r,{class:"w-[280px]",label:"医助"},{default:a(()=>[t($,{modelValue:n(w).assistant_id,"onUpdate:modelValue":e[2]||(e[2]=l=>n(w).assistant_id=l),placeholder:"全部医助",clearable:"",filterable:"",class:"w-full"},{default:a(()=>[(d(!0),V(q,null,oe(n(se),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:a(()=>[t($,{modelValue:n(w).order_type,"onUpdate:modelValue":e[3]||(e[3]=l=>n(w).order_type=l),class:"w-full",placeholder:"全部"},{default:a(()=>[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:a(()=>[t($,{modelValue:n(w).status,"onUpdate:modelValue":e[4]||(e[4]=l=>n(w).status=l),class:"w-full",placeholder:"全部"},{default:a(()=>[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:a(()=>[t(ke,{startTime:n(w).create_time_start,"onUpdate:startTime":e[5]||(e[5]=l=>n(w).create_time_start=l),endTime:n(w).create_time_end,"onUpdate:endTime":e[6]||(e[6]=l=>n(w).create_time_end=l)},null,8,["startTime","endTime"])]),_:1}),t(r,null,{default:a(()=>[t(c,{type:"primary",onClick:Ve},{default:a(()=>[...e[47]||(e[47]=[s("查询",-1)])]),_:1}),t(c,{onClick:gt},{default:a(()=>[...e[48]||(e[48]=[s("重置",-1)])]),_:1}),T((d(),_(c,{onClick:e[7]||(e[7]=l=>pe.value=!0)},{default:a(()=>[...e[49]||(e[49]=[s(" 操作统计 ",-1)])]),_:1})),[[E,["order.order/lists"]]]),T(t(J,{class:"ml-2.5","fetch-fun":n(Pl),params:n(w),"page-size":n(I).size},null,8,["fetch-fun","params","page-size"]),[[E,["order.order/export"]]]),T((d(),_(c,{type:"success",class:"ml-2.5",onClick:Ct},{default:a(()=>[...e[50]||(e[50]=[s(" + 创建支付单 ",-1)])]),_:1})),[[E,["order.order/create"]]]),T((d(),_(c,{type:"warning",class:"ml-2.5",loading:n(ye),onClick:St},{default:a(()=>[...e[51]||(e[51]=[s(" 同步企业微信收款 ",-1)])]),_:1},8,["loading"])),[[E,["order.order/alltongbu"]]])]),_:1})]),_:1},8,["model"])]),_:1}),t(qe,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[g("div",Hl,[t(jt,{modelValue:n(re),"onUpdate:modelValue":e[8]||(e[8]=l=>S(re)?re.value=l:null),onTabChange:vt},{default:a(()=>[t(Re,{label:"全部",name:""}),t(Re,{label:"待关联",name:"pending"}),t(Re,{label:"已关联",name:"associated"})]),_:1},8,["modelValue"]),g("div",Zl,[e[52]||(e[52]=g("span",{class:"text-gray-500"},"今日收益:",-1)),g("span",ea,"¥"+f(n(de).amount),1),g("span",ta,"("+f(n(de).count)+" 笔)",1)])])]),_:1}),t(qe,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[T((d(),V("div",la,[t(c,{type:"primary",disabled:!F.value.length,onClick:_t},{default:a(()=>[...e[53]||(e[53]=[s(" 将创建人指给医助 ",-1)])]),_:1},8,["disabled"]),F.value.length?(d(),V("span",aa,"已选 "+f(F.value.length)+" 条",1)):b("",!0)])),[[E,["order.order/zhipai"]]]),T((d(),_(ze,{ref_key:"orderTableRef",ref:Ye,data:n(I).lists,"row-key":"id",size:"large",onSelectionChange:yt},{default:a(()=>[t(C,{type:"selection",width:"48"}),t(C,{label:"订单号",prop:"order_no","min-width":"150"}),t(C,{label:"患者信息","min-width":"150"},{default:a(({row:l})=>{var x;return[l.patient?(d(),V("div",na,f(l.patient.patient_name),1)):(d(),V("div",oa,"待关联")),g("div",sa,f(((x=l.patient)==null?void 0:x.phone)||"-"),1)]}),_:1}),t(C,{label:"创建人","min-width":"120"},{default:a(({row:l})=>{var x;return[g("div",null,f(((x=l.creator)==null?void 0:x.name)||"-"),1),l.payee_userid?(d(),V("div",ra,"收款: "+f(l.payee_userid),1)):b("",!0)]}),_:1}),t(C,{label:"订单类型",width:"100"},{default:a(({row:l})=>[t(ae,{type:Ze(l.order_type)},{default:a(()=>[s(f(He(l.order_type)),1)]),_:2},1032,["type"])]),_:1}),t(C,{label:"金额",width:"100"},{default:a(({row:l})=>[g("span",da,"¥"+f(l.amount),1)]),_:1}),t(C,{label:"支付方式",width:"120"},{default:a(({row:l})=>[s(f(at(l)),1)]),_:1}),t(C,{label:"订单状态",width:"120"},{default:a(({row:l})=>[t(ae,{type:tt(l.status)},{default:a(()=>[s(f(et(l.status)),1)]),_:2},1032,["type"]),l.is_exempt===1?(d(),_(ae,{key:0,type:"warning",size:"small",class:"ml-1"},{default:a(()=>[...e[54]||(e[54]=[s("豁免",-1)])]),_:1})):b("",!0)]),_:1}),t(C,{label:"支付时间","min-width":"160"},{default:a(({row:l})=>[s(f(l.payment_time||"-"),1)]),_:1}),t(C,{label:"创建时间","min-width":"160"},{default:a(({row:l})=>[s(f(l.create_time),1)]),_:1}),t(C,{label:"操作",width:"340",fixed:"right"},{default:a(({row:l})=>[T((d(),_(c,{type:"primary",link:"",onClick:x=>At(l)},{default:a(()=>[...e[55]||(e[55]=[s(" 详情 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/detail"]]]),T((d(),_(c,{type:"primary",link:"",onClick:x=>Pt(l)},{default:a(()=>[...e[56]||(e[56]=[s(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/edit"]]]),l.status===1||l.status===2||l.status===5&&(l.payment_method==="fubei"||l.create_type==="express_cod")?T((d(),_(c,{key:0,type:"primary",link:"",onClick:x=>Lt(l)},{default:a(()=>[...e[57]||(e[57]=[s(" 拆分 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/split"]]]):b("",!0),T((d(),_(c,{type:"primary",link:"",onClick:x=>st(l)},{default:a(()=>[...e[58]||(e[58]=[s(" 小程序码 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/wxQrcode"]]]),l.status===1||l.status===5&&(l.payment_method==="fubei"||l.create_type==="express_cod")?T((d(),_(c,{key:1,type:"success",link:"",onClick:x=>Mt(l)},{default:a(()=>[...e[59]||(e[59]=[s(" 支付 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/pay"]]]):b("",!0),l.status===2?T((d(),_(c,{key:2,type:"warning",link:"",onClick:x=>zt(l)},{default:a(()=>[...e[60]||(e[60]=[s(" 退款 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/refund"]]]):b("",!0),l.status===1||l.status===5&&(l.payment_method==="fubei"||l.create_type==="express_cod")?T((d(),_(c,{key:3,type:"danger",link:"",onClick:x=>Rt(l)},{default:a(()=>[...e[61]||(e[61]=[s(" 取消 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/cancel"]]]):b("",!0),T((d(),_(c,{type:"danger",link:"",onClick:x=>Ft(l)},{default:a(()=>[...e[62]||(e[62]=[s(" 删除 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/delete"]]]),T((d(),_(c,{type:l.is_exempt===1?"warning":"default",link:"",onClick:x=>Nt(l)},{default:a(()=>[s(f(l.is_exempt===1?"取消豁免":"设为豁免"),1)]),_:2},1032,["type","onClick"])),[[E,["order.order/setExempt"]]])]),_:1})]),_:1},8,["data"])),[[Ie,n(I).loading]]),g("div",ia,[t(Bt,{modelValue:n(I),"onUpdate:modelValue":e[9]||(e[9]=l=>S(I)?I.value=l:null),onChange:n(D)},null,8,["modelValue","onChange"])])]),_:1}),t(O,{modelValue:n(ie),"onUpdate:modelValue":e[12]||(e[12]=l=>S(ie)?ie.value=l:null),title:"订单详情",width:"820px"},{default:a(()=>[n(k)?(d(),_(Yt,{key:0,column:2,border:""},{default:a(()=>[t(P,{label:"订单号"},{default:a(()=>[s(f(n(k).order_no),1)]),_:1}),t(P,{label:"订单状态"},{default:a(()=>[t(ae,{type:tt(n(k).status)},{default:a(()=>[s(f(et(n(k).status)),1)]),_:1},8,["type"])]),_:1}),t(P,{label:"患者姓名"},{default:a(()=>{var l;return[s(f(((l=n(k).patient)==null?void 0:l.patient_name)||"待关联"),1)]}),_:1}),t(P,{label:"患者电话"},{default:a(()=>{var l;return[s(f(((l=n(k).patient)==null?void 0:l.phone)||"-"),1)]}),_:1}),t(P,{label:"创建人"},{default:a(()=>{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:a(()=>[s(f(n(k).payee_userid),1)]),_:1})):b("",!0),n(k).payer_external_userid?(d(),_(P,{key:1,label:"付款人external_userid"},{default:a(()=>[s(f(n(k).payer_external_userid),1)]),_:1})):b("",!0),t(P,{label:"订单类型"},{default:a(()=>[t(ae,{type:Ze(n(k).order_type)},{default:a(()=>[s(f(He(n(k).order_type)),1)]),_:1},8,["type"])]),_:1}),t(P,{label:"订单金额"},{default:a(()=>[g("span",ua,"¥"+f(n(k).amount),1)]),_:1}),t(P,{label:"支付方式"},{default:a(()=>[s(f(at(n(k))),1)]),_:1}),t(P,{label:"支付时间"},{default:a(()=>[s(f(n(k).payment_time||"-"),1)]),_:1}),t(P,{label:"创建时间"},{default:a(()=>[s(f(n(k).create_time),1)]),_:1}),t(P,{label:"备注",span:2},{default:a(()=>[s(f(n(k).remark||"无"),1)]),_:1})]),_:1})):b("",!0),n(k)?(d(),_(Qt,{key:1,"content-position":"left"},{default:a(()=>[...e[63]||(e[63]=[s("操作记录",-1)])]),_:1})):b("",!0),n(k)?(d(),V("p",pa,"谁在什么时间对本单做了哪些操作(数据来自服务器记录)。")):b("",!0),n(k)?T((d(),_(ze,{key:3,data:n(Te),size:"small","max-height":"320"},{default:a(()=>[t(C,{label:"操作",prop:"action_label","min-width":"120","show-overflow-tooltip":""}),t(C,{label:"操作人",prop:"admin_name","min-width":"100"}),t(C,{label:"操作时间",prop:"create_time_text","min-width":"160"}),t(C,{label:"说明",prop:"summary","min-width":"140","show-overflow-tooltip":""})]),_:1},8,["data"])),[[Ie,n(Ce)]]):b("",!0),n(k)?(d(),V("div",ma,[t(Kt,{"current-page":n(j),"onUpdate:currentPage":e[10]||(e[10]=l=>S(j)?j.value=l:null),"page-size":n(ue),"onUpdate:pageSize":e[11]||(e[11]=l=>S(ue)?ue.value=l:null),total:n(Se),"page-sizes":[10,20,50],layout:"total, sizes, prev, pager, next",small:"",onSizeChange:bt,onCurrentChange:Ee},null,8,["current-page","page-size","total"])])):b("",!0)]),_:1},8,["modelValue"]),t(O,{modelValue:n(pe),"onUpdate:modelValue":e[15]||(e[15]=l=>S(pe)?pe.value=l:null),title:"支付单操作统计",width:"520px",onOpened:kt},{default:a(()=>[n(Z)?(d(),V("p",fa,"统计范围:"+f(n(Z)),1)):b("",!0),t(h,{class:"mb-3",inline:!0,onSubmit:e[14]||(e[14]=it(()=>{},["prevent"]))},{default:a(()=>[t(r,{label:"时间范围"},{default:a(()=>[t(rt,{modelValue:n(M),"onUpdate:modelValue":e[13]||(e[13]=l=>S(M)?M.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:a(()=>[t(c,{type:"primary",loading:n(me),onClick:Ge},{default:a(()=>[...e[64]||(e[64]=[s("查询",-1)])]),_:1},8,["loading"])]),_:1})]),_:1}),T((d(),_(ze,{data:n(De),size:"small","max-height":"400"},{default:a(()=>[t(C,{label:"操作人",prop:"admin_name","min-width":"120","show-overflow-tooltip":""}),t(C,{label:"操作次数",prop:"cnt",width:"100",align:"right"})]),_:1},8,["data"])),[[Ie,n(me)]])]),_:1},8,["modelValue"]),t(O,{modelValue:n(N),"onUpdate:modelValue":e[18]||(e[18]=l=>S(N)?N.value=l:null),title:"变更创建人(医助)",width:"440px","destroy-on-close":""},{footer:a(()=>[t(c,{onClick:e[17]||(e[17]=l=>N.value=!1)},{default:a(()=>[...e[65]||(e[65]=[s("取消",-1)])]),_:1}),t(c,{type:"primary",loading:n(xe),onClick:ct},{default:a(()=>[...e[66]||(e[66]=[s("确定",-1)])]),_:1},8,["loading"])]),default:a(()=>[g("p",ya," 将 "+f(F.value.length)+" 条支付单的「创建人」改为所选医助,并写入各单操作日志。 ",1),t($,{modelValue:n(H).assistant_id,"onUpdate:modelValue":e[16]||(e[16]=l=>n(H).assistant_id=l),filterable:"",placeholder:"选择医助",class:"w-full"},{default:a(()=>[(d(!0),V(q,null,oe(n(se),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(O,{modelValue:n(R),"onUpdate:modelValue":e[23]||(e[23]=l=>S(R)?R.value=l:null),title:"订单支付",width:"500px"},{footer:a(()=>[t(c,{onClick:e[22]||(e[22]=l=>R.value=!1)},{default:a(()=>[...e[72]||(e[72]=[s("取消",-1)])]),_:1}),t(c,{type:"primary",onClick:qt,loading:n(fe)},{default:a(()=>[...e[73]||(e[73]=[s("确认支付",-1)])]),_:1},8,["loading"])]),default:a(()=>[t(h,{model:n(y),"label-width":"100px"},{default:a(()=>[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:a(()=>[t(Fe,{modelValue:n(y).payType,"onUpdate:modelValue":e[19]||(e[19]=l=>n(y).payType=l)},{default:a(()=>[t(A,{label:"supplement"},{default:a(()=>[...e[67]||(e[67]=[s("补单支付",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})),n(y).payType==="normal"?(d(),V(q,{key:2},[t(r,{label:"订单号"},{default:a(()=>[g("span",null,f(n(y).order_no),1)]),_:1}),t(r,{label:"订单金额"},{default:a(()=>[g("span",_a,"¥"+f(n(y).amount),1)]),_:1})],64)):b("",!0),!n(y).fubeiPendingAudit&&n(y).payType==="supplement"?(d(),_(r,{key:3,label:"支付订单号",required:""},{default:a(()=>[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(q,{key:4},[t(r,{label:"订单号"},{default:a(()=>[g("span",null,f(n(y).order_no),1)]),_:1}),t(r,{label:"金额"},{default:a(()=>[g("span",ca,"¥"+f(n(y).amount),1)]),_:1})],64)):b("",!0),t(r,{label:"支付方式",required:""},{default:a(()=>[t(Fe,{modelValue:n(y).payment_method,"onUpdate:modelValue":e[21]||(e[21]=l=>n(y).payment_method=l)},{default:a(()=>[n(y).fubeiPendingAudit?(d(),_(A,{key:0,label:"manual"},{default:a(()=>[...e[68]||(e[68]=[s("手动确认到账",-1)])]),_:1})):b("",!0),t(A,{label:"alipay"},{default:a(()=>[...e[69]||(e[69]=[s("支付宝",-1)])]),_:1}),t(A,{label:"wechat"},{default:a(()=>[...e[70]||(e[70]=[s("微信",-1)])]),_:1}),t(A,{label:"wechat_work"},{default:a(()=>[...e[71]||(e[71]=[s("企业微信",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),t(O,{modelValue:n(z),"onUpdate:modelValue":e[31]||(e[31]=l=>S(z)?z.value=l:null),title:"创建订单",width:"600px",onClose:Je},{footer:a(()=>[t(c,{onClick:e[30]||(e[30]=l=>z.value=!1)},{default:a(()=>[...e[85]||(e[85]=[s("取消",-1)])]),_:1}),t(c,{type:"primary",onClick:$t,loading:n(Pe)},{default:a(()=>[s(f(n(m).createType==="wechat_work"?"创建并获取收款订单号":"创建订单"),1)]),_:1},8,["loading"])]),default:a(()=>[t(h,{ref_key:"createFormRef",ref:$e,model:n(m),rules:xt,"label-width":"100px"},{default:a(()=>[t(r,{label:"创建方式"},{default:a(()=>[t(Fe,{modelValue:n(m).createType,"onUpdate:modelValue":e[24]||(e[24]=l=>n(m).createType=l)},{default:a(()=>[t(A,{label:"normal"},{default:a(()=>[...e[74]||(e[74]=[s("普通订单",-1)])]),_:1}),t(A,{label:"wechat_work"},{default:a(()=>[...e[75]||(e[75]=[s("企业微信对外收款",-1)])]),_:1}),t(A,{label:"fubei"},{default:a(()=>[...e[76]||(e[76]=[s("付呗",-1)])]),_:1}),t(A,{label:"express_cod"},{default:a(()=>[...e[77]||(e[77]=[s("快递代收",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),n(m).createType==="wechat_work"?(d(),_(ne,{key:0,type:"info",closable:!1,"show-icon":"",class:"mb-4"},{title:a(()=>[...e[78]||(e[78]=[s("企业微信对外收款",-1)])]),default:a(()=>[e[79]||(e[79]=s(" 创建后将生成订单号,请在企业微信发起收款时将该订单号填写为「商户订单号」,收款成功后系统将自动更新订单状态。 ",-1))]),_:1})):b("",!0),n(m).createType==="fubei"?(d(),_(ne,{key:1,type:"info",closable:!1,"show-icon":"",class:"mb-4"},{title:a(()=>[...e[80]||(e[80]=[s("付呗",-1)])]),default:a(()=>[e[81]||(e[81]=s(" 通过付呗收款的支付单,创建后请按实际对账/审核流程在列表中处理。 ",-1))]),_:1})):b("",!0),n(m).createType==="express_cod"?(d(),_(ne,{key:2,type:"info",closable:!1,"show-icon":"",class:"mb-4"},{title:a(()=>[...e[82]||(e[82]=[s("快递代收",-1)])]),default:a(()=>[e[83]||(e[83]=s(" 通过快递代收的支付单,流转与付呗一致;审核通过/确认到账后将更新为已支付。 ",-1))]),_:1})):b("",!0),n(m).createType==="fubei"||n(m).createType==="express_cod"?(d(),_(r,{key:3,label:"支付单审核"},{default:a(()=>[t(Gt,{modelValue:n(m).requirePaymentSlipAudit,"onUpdate:modelValue":e[25]||(e[25]=l=>n(m).requirePaymentSlipAudit=l),"active-text":"申请审核","inactive-text":"不申请"},null,8,["modelValue"]),e[84]||(e[84]=g("div",{class:"text-xs text-gray-500 mt-1"}," 开启后,新订单的支付状态为「待审核」;未开启则为「待支付」。 ",-1))]),_:1})):b("",!0),t(r,{label:"患者",prop:"patient_id"},{default:a(()=>[t($,{modelValue:n(m).patient_id,"onUpdate:modelValue":e[26]||(e[26]=l=>n(m).patient_id=l),placeholder:"请选择患者",filterable:"",remote:"","remote-method":wt,loading:n(Ue)},{default:a(()=>[(d(!0),V(q,null,oe(n(he),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:a(()=>[t($,{modelValue:n(m).order_type,"onUpdate:modelValue":e[27]||(e[27]=l=>n(m).order_type=l),placeholder:"请选择"},{default:a(()=>[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:a(()=>[t(Ne,{modelValue:n(m).amount,"onUpdate:modelValue":e[28]||(e[28]=l=>n(m).amount=l),min:0,step:.01,precision:2,placeholder:"请输入金额"},null,8,["modelValue"])]),_:1}),t(r,{label:"备注",prop:"remark"},{default:a(()=>[t(u,{modelValue:n(m).remark,"onUpdate:modelValue":e[29]||(e[29]=l=>n(m).remark=l),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),t(O,{modelValue:n(Y),"onUpdate:modelValue":e[35]||(e[35]=l=>S(Y)?Y.value=l:null),title:"同步企业微信对外收款",width:"420px"},{footer:a(()=>[t(c,{onClick:e[34]||(e[34]=l=>Y.value=!1)},{default:a(()=>[...e[86]||(e[86]=[s("取消",-1)])]),_:1}),t(c,{type:"info",loading:n(Ae),onClick:Dt},{default:a(()=>[...e[87]||(e[87]=[s(" 排查同步为0 ",-1)])]),_:1},8,["loading"]),t(c,{type:"primary",loading:n(ye),onClick:Et},{default:a(()=>[...e[88]||(e[88]=[s(" 开始同步 ",-1)])]),_:1},8,["loading"])]),default:a(()=>[e[89]||(e[89]=g("p",{class:"text-gray-600 mb-4"},"拉取员工在企业微信内直接发起的对外收款记录,自动创建订单(未经过后台创建的收款)",-1)),t(h,{"label-width":"90px"},{default:a(()=>[t(r,{label:"时间范围"},{default:a(()=>[t(rt,{modelValue:n(Q),"onUpdate:modelValue":e[32]||(e[32]=l=>S(Q)?Q.value=l:null),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",shortcuts:Tt},null,8,["modelValue"])]),_:1}),t(r,{label:"收款人userid"},{default:a(()=>[t(u,{modelValue:n(_e),"onUpdate:modelValue":e[33]||(e[33]=l=>S(_e)?_e.value=l:null),placeholder:"可选,如 GaoXingLiang,排查时若返回 try_payee_userids 可逐个尝试",clearable:""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(O,{modelValue:n(B),"onUpdate:modelValue":e[39]||(e[39]=l=>S(B)?B.value=l:null),title:"编辑订单",width:"480px"},{footer:a(()=>[t(c,{onClick:e[38]||(e[38]=l=>B.value=!1)},{default:a(()=>[...e[90]||(e[90]=[s("取消",-1)])]),_:1}),t(c,{type:"primary",loading:n(Le),onClick:ht},{default:a(()=>[...e[91]||(e[91]=[s("保存",-1)])]),_:1},8,["loading"])]),default:a(()=>[n(L)?(d(),_(h,{key:0,ref_key:"editOrderFormRef",ref:Xe,model:n(L),rules:Vt,"label-width":"100px"},{default:a(()=>[t(r,{label:"关联患者",prop:"patient_id"},{default:a(()=>[t($,{modelValue:n(L).patient_id,"onUpdate:modelValue":e[36]||(e[36]=l=>n(L).patient_id=l),filterable:"",remote:"",placeholder:"搜索患者姓名/手机号,可留空表示待关联","remote-method":Ut,loading:n(Oe),clearable:"",class:"w-full"},{default:a(()=>[(d(!0),V(q,null,oe(n(ee),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:a(()=>[t($,{modelValue:n(L).order_type,"onUpdate:modelValue":e[37]||(e[37]=l=>n(L).order_type=l),placeholder:"请选择",class:"w-full"},{default:a(()=>[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},8,["model"])):b("",!0)]),_:1},8,["modelValue"]),t(O,{modelValue:n(K),"onUpdate:modelValue":e[43]||(e[43]=l=>S(K)?K.value=l:null),title:"拆分订单",width:"620px","destroy-on-close":"",onClosed:e[44]||(e[44]=l=>U.value=null)},{footer:a(()=>[t(c,{onClick:e[42]||(e[42]=l=>K.value=!1)},{default:a(()=>[...e[100]||(e[100]=[s("取消",-1)])]),_:1}),t(c,{type:"primary",loading:n(Me),disabled:!ce.value,onClick:Ot},{default:a(()=>[...e[101]||(e[101]=[s(" 确定拆分 ",-1)])]),_:1},8,["loading","disabled"])]),default:a(()=>[n(U)?(d(),V(q,{key:0},[g("p",va,[e[92]||(e[92]=s(" 原订单号 ",-1)),g("span",ga,f(n(U).order_no),1),e[93]||(e[93]=s(",金额 ",-1)),g("span",ba,"¥"+f(n(U).amount),1),e[94]||(e[94]=s("。每笔子单可分别选择",-1)),e[95]||(e[95]=g("strong",null,"订单类型",-1)),e[96]||(e[96]=s(";子单继承患者、创建人及企微收款信息;",-1)),e[97]||(e[97]=g("strong",null,"已支付",-1)),e[98]||(e[98]=s("子单继承支付方式、支付时间与交易号;原单将软删除;若已关联业务订单,关联会同步到全部子单。 ",-1))]),t(h,{"label-width":"88px",onSubmit:e[41]||(e[41]=it(()=>{},["prevent"]))},{default:a(()=>[t(r,{label:"拆分管数"},{default:a(()=>[t(Ne,{modelValue:n(G),"onUpdate:modelValue":e[40]||(e[40]=l=>S(G)?G.value=l:null),min:2,max:20,step:1,"step-strictly":"",onChange:nt},null,8,["modelValue"]),e[99]||(e[99]=g("span",{class:"text-xs text-gray-400 ml-2"},"2~20 笔",-1))]),_:1})]),_:1}),g("div",ka,[(d(!0),V(q,null,oe(n(X),(l,x)=>(d(),V("div",{key:x,class:"flex items-center gap-2 flex-wrap"},[g("span",xa,"第 "+f(x+1)+" 笔",1),t($,{modelValue:n(te)[x],"onUpdate:modelValue":We=>n(te)[x]=We,placeholder:"订单类型",class:"w-[136px] shrink-0"},{default:a(()=>[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(Ne,{modelValue:n(X)[x],"onUpdate:modelValue":We=>n(X)[x]=We,min:.01,step:.01,precision:2,class:"flex-1 min-w-[140px]","controls-position":"right"},null,8,["modelValue","onUpdate:modelValue"])]))),128))]),t(ne,{type:ce.value?"success":"warning",closable:!1,"show-icon":""},{title:a(()=>[s(" 子单合计 ¥"+f(ot.value.toFixed(2))+", "+f(ce.value?"与原价一致,可提交":"须与原价完全一致方可拆分"),1)]),_:1},8,["type"])],64)):b("",!0)]),_:1},8,["modelValue"]),t(O,{modelValue:n(le),"onUpdate:modelValue":e[46]||(e[46]=l=>S(le)?le.value=l:null),title:"支付小程序码",width:"400px","close-on-click-modal":!1},{footer:a(()=>[t(c,{onClick:e[45]||(e[45]=l=>le.value=!1)},{default:a(()=>[...e[104]||(e[104]=[s("关闭",-1)])]),_:1}),n(ve)?b("",!0):(d(),_(c,{key:0,type:"primary",onClick:It},{default:a(()=>[...e[105]||(e[105]=[s(" 重新生成 ",-1)])]),_:1}))]),default:a(()=>[g("div",Va,[n(ve)?(d(),V("div",wa,[t(Xt,{class:"is-loading",size:40},{default:a(()=>[t(n(Cl))]),_:1}),e[102]||(e[102]=g("div",{class:"mt-4 text-gray-500"},"生成中...",-1))])):n(ge)?(d(),V("div",Ca,[g("img",{src:n(ge),alt:"小程序二维码",class:"w-64 h-64 border border-gray-200 rounded"},null,8,Ta),g("div",Sa,[g("div",null,"订单号:"+f(n(be)),1),e[103]||(e[103]=g("div",{class:"mt-2"},"请使用微信扫描二维码完成支付",-1))])])):(d(),V("div",Da," 生成失败,请重试 "))])]),_:1},8,["modelValue"])])}}}),Fa=Xl($a,[["__scopeId","data-v-9b7d6b0f"]]);export{Fa as default}; diff --git a/server/public/admin/assets/index-B0IGq2BK.js b/server/public/admin/assets/index-CEqp99Wz.js similarity index 88% rename from server/public/admin/assets/index-B0IGq2BK.js rename to server/public/admin/assets/index-CEqp99Wz.js index 789506f7..78808d7d 100644 --- a/server/public/admin/assets/index-B0IGq2BK.js +++ b/server/public/admin/assets/index-CEqp99Wz.js @@ -1 +1 @@ -import{o as x,ap as S,be as T,q as s,r as z,v as e,D as o,b9 as A,u as n,b6 as M,b7 as q,b8 as k,K as O,L as _,bg as G,ac as f,bi as H,O as m,s as V,bj as J,bk as Q,a0 as W,I as X,C as Y,P as Z,a8 as ee,ba as ae,M as te,n as E}from"./.pnpm-9dA1PEvN.js";import{_ as oe}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as le,i as ne,_ as ie}from"./index-CJvXnF8Y.js";import{a as se,b as de,c as me}from"./admin-Bb0DLbGs.js";import{u as re}from"./usePaging-Boz1Q6w3.js";import pe from"./edit-DQHETHkM.js";import"./picker-DWQ_BAep.js";import"./index-BBemoNXE.js";import"./index-CY1mb9yY.js";import"./index-CAGpCz28.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./department-DYCfZwei.js";import"./post-BhGC5UYd.js";import"./useDictOptions-bKMXOe8R.js";const ce={class:"doctor-list"},ue={class:"mt-4"},_e={class:"flex mt-4 justify-end"},fe=x({name:"doctorList"}),be=x({...fe,setup(ve){const b=ee(),d=ae({account:"",name:"",role_id:2,apply_data_scope:1}),v=te(!1),{pager:r,getLists:p,resetParams:D,resetPage:w}=re({fetchFun:se,params:d}),P=t=>{de({id:t.id,avatar:t.avatar,account:t.account,name:t.name,role_id:t.role_id,jobs_id:t.jobs_id,dept_id:t.dept_id,disable:t.disable,multipoint_login:t.multipoint_login}).finally(()=>{p()})},I=async()=>{var t;v.value=!0,await E(),(t=b.value)==null||t.open("add")},K=async t=>{var a,c;v.value=!0,await E(),(a=b.value)==null||a.open("edit"),(c=b.value)==null||c.setFormData(t)},$=async t=>{await ne.confirm("确定要删除该医助吗?"),await me({id:t}),p()};return S(()=>{p()}),(t,a)=>{const c=q,y=M,u=O,B=A,C=G,L=le,i=Q,U=W,j=X,F=J,N=oe,g=T("perms"),R=H;return s(),z("div",ce,[e(C,{class:"!border-none",shadow:"never"},{default:o(()=>[e(B,{class:"mb-[-16px]",model:n(d),inline:""},{default:o(()=>[e(y,{class:"w-[280px]",label:"医助账号"},{default:o(()=>[e(c,{modelValue:n(d).account,"onUpdate:modelValue":a[0]||(a[0]=l=>n(d).account=l),placeholder:"请输入医助账号",clearable:"",onKeyup:k(n(w),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(y,{class:"w-[280px]",label:"医助名称"},{default:o(()=>[e(c,{modelValue:n(d).name,"onUpdate:modelValue":a[1]||(a[1]=l=>n(d).name=l),placeholder:"请输入医助名称",clearable:"",onKeyup:k(n(w),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(y,null,{default:o(()=>[e(u,{type:"primary",onClick:n(w)},{default:o(()=>[...a[4]||(a[4]=[_("查询",-1)])]),_:1},8,["onClick"]),e(u,{onClick:n(D)},{default:o(()=>[...a[5]||(a[5]=[_("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),f((s(),m(C,{class:"mt-4 !border-none",shadow:"never"},{default:o(()=>[f((s(),m(u,{type:"primary",onClick:I},{icon:o(()=>[e(L,{name:"el-icon-Plus"})]),default:o(()=>[a[6]||(a[6]=_(" 新增医助 ",-1))]),_:1})),[[g,["auth.admin/add"]]]),V("div",ue,[e(F,{data:n(r).lists,size:"large"},{default:o(()=>[e(i,{label:"ID",prop:"id","min-width":"60"}),e(i,{label:"头像","min-width":"100"},{default:o(({row:l})=>[e(U,{size:50,src:l.avatar},null,8,["src"])]),_:1}),e(i,{label:"账号",prop:"account","min-width":"120"}),e(i,{label:"姓名",prop:"name","min-width":"100"}),e(i,{label:"手机号",prop:"phone","min-width":"120"}),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"}),f((s(),m(i,{label:"状态","min-width":"100"},{default:o(({row:l})=>[e(j,{modelValue:l.disable,"onUpdate:modelValue":h=>l.disable=h,"active-value":0,"inactive-value":1,onChange:h=>P(l)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1})),[[g,["auth.admin/edit"]]]),e(i,{label:"操作",width:"120",fixed:"right"},{default:o(({row:l})=>[f((s(),m(u,{type:"primary",link:"",onClick:h=>K(l)},{default:o(()=>[...a[7]||(a[7]=[_(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[g,["auth.admin/edit"]]]),f((s(),m(u,{type:"danger",link:"",onClick:h=>$(l.id)},{default:o(()=>[...a[8]||(a[8]=[_(" 删除 ",-1)])]),_:1},8,["onClick"])),[[g,["auth.admin/delete"]]])]),_:1})]),_:1},8,["data"])]),V("div",_e,[e(N,{modelValue:n(r),"onUpdate:modelValue":a[2]||(a[2]=l=>Y(r)?r.value=l:null),onChange:n(p)},null,8,["modelValue","onChange"])])]),_:1})),[[R,n(r).loading]]),n(v)?(s(),m(pe,{key:0,ref_key:"editRef",ref:b,onSuccess:n(p),onClose:a[3]||(a[3]=l=>v.value=!1)},null,8,["onSuccess"])):Z("",!0)])}}}),Ue=ie(be,[["__scopeId","data-v-72531b60"]]);export{Ue as default}; +import{o as x,ap as S,be as T,q as s,r as z,v as e,D as o,b9 as A,u as n,b6 as M,b7 as q,b8 as k,K as O,L as _,bg as G,ac as f,bi as H,O as m,s as V,bj as J,bk as Q,a0 as W,I as X,C as Y,P as Z,a8 as ee,ba as ae,M as te,n as E}from"./.pnpm-9dA1PEvN.js";import{_ as oe}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as le,i as ne,_ as ie}from"./index-BWzN7QIb.js";import{a as se,b as de,c as me}from"./admin-CMuAzCyP.js";import{u as re}from"./usePaging-Boz1Q6w3.js";import pe from"./edit-BKrJWTX7.js";import"./picker-DfI3CPnQ.js";import"./index-dYaCh-CN.js";import"./index-xDQ_OZln.js";import"./index-fA0EWEUO.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./department-BABv4GiI.js";import"./post-BafSyy6d.js";import"./useDictOptions-BeE4yyHx.js";const ce={class:"doctor-list"},ue={class:"mt-4"},_e={class:"flex mt-4 justify-end"},fe=x({name:"doctorList"}),be=x({...fe,setup(ve){const b=ee(),d=ae({account:"",name:"",role_id:2,apply_data_scope:1}),v=te(!1),{pager:r,getLists:p,resetParams:D,resetPage:w}=re({fetchFun:se,params:d}),P=t=>{de({id:t.id,avatar:t.avatar,account:t.account,name:t.name,role_id:t.role_id,jobs_id:t.jobs_id,dept_id:t.dept_id,disable:t.disable,multipoint_login:t.multipoint_login}).finally(()=>{p()})},I=async()=>{var t;v.value=!0,await E(),(t=b.value)==null||t.open("add")},K=async t=>{var a,c;v.value=!0,await E(),(a=b.value)==null||a.open("edit"),(c=b.value)==null||c.setFormData(t)},$=async t=>{await ne.confirm("确定要删除该医助吗?"),await me({id:t}),p()};return S(()=>{p()}),(t,a)=>{const c=q,y=M,u=O,B=A,C=G,L=le,i=Q,U=W,j=X,F=J,N=oe,g=T("perms"),R=H;return s(),z("div",ce,[e(C,{class:"!border-none",shadow:"never"},{default:o(()=>[e(B,{class:"mb-[-16px]",model:n(d),inline:""},{default:o(()=>[e(y,{class:"w-[280px]",label:"医助账号"},{default:o(()=>[e(c,{modelValue:n(d).account,"onUpdate:modelValue":a[0]||(a[0]=l=>n(d).account=l),placeholder:"请输入医助账号",clearable:"",onKeyup:k(n(w),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(y,{class:"w-[280px]",label:"医助名称"},{default:o(()=>[e(c,{modelValue:n(d).name,"onUpdate:modelValue":a[1]||(a[1]=l=>n(d).name=l),placeholder:"请输入医助名称",clearable:"",onKeyup:k(n(w),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(y,null,{default:o(()=>[e(u,{type:"primary",onClick:n(w)},{default:o(()=>[...a[4]||(a[4]=[_("查询",-1)])]),_:1},8,["onClick"]),e(u,{onClick:n(D)},{default:o(()=>[...a[5]||(a[5]=[_("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),f((s(),m(C,{class:"mt-4 !border-none",shadow:"never"},{default:o(()=>[f((s(),m(u,{type:"primary",onClick:I},{icon:o(()=>[e(L,{name:"el-icon-Plus"})]),default:o(()=>[a[6]||(a[6]=_(" 新增医助 ",-1))]),_:1})),[[g,["auth.admin/add"]]]),V("div",ue,[e(F,{data:n(r).lists,size:"large"},{default:o(()=>[e(i,{label:"ID",prop:"id","min-width":"60"}),e(i,{label:"头像","min-width":"100"},{default:o(({row:l})=>[e(U,{size:50,src:l.avatar},null,8,["src"])]),_:1}),e(i,{label:"账号",prop:"account","min-width":"120"}),e(i,{label:"姓名",prop:"name","min-width":"100"}),e(i,{label:"手机号",prop:"phone","min-width":"120"}),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"}),f((s(),m(i,{label:"状态","min-width":"100"},{default:o(({row:l})=>[e(j,{modelValue:l.disable,"onUpdate:modelValue":h=>l.disable=h,"active-value":0,"inactive-value":1,onChange:h=>P(l)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1})),[[g,["auth.admin/edit"]]]),e(i,{label:"操作",width:"120",fixed:"right"},{default:o(({row:l})=>[f((s(),m(u,{type:"primary",link:"",onClick:h=>K(l)},{default:o(()=>[...a[7]||(a[7]=[_(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[g,["auth.admin/edit"]]]),f((s(),m(u,{type:"danger",link:"",onClick:h=>$(l.id)},{default:o(()=>[...a[8]||(a[8]=[_(" 删除 ",-1)])]),_:1},8,["onClick"])),[[g,["auth.admin/delete"]]])]),_:1})]),_:1},8,["data"])]),V("div",_e,[e(N,{modelValue:n(r),"onUpdate:modelValue":a[2]||(a[2]=l=>Y(r)?r.value=l:null),onChange:n(p)},null,8,["modelValue","onChange"])])]),_:1})),[[R,n(r).loading]]),n(v)?(s(),m(pe,{key:0,ref_key:"editRef",ref:b,onSuccess:n(p),onClose:a[3]||(a[3]=l=>v.value=!1)},null,8,["onSuccess"])):Z("",!0)])}}}),Ue=ie(be,[["__scopeId","data-v-72531b60"]]);export{Ue as default}; diff --git a/server/public/admin/assets/index-CJvXnF8Y.js b/server/public/admin/assets/index-CJvXnF8Y.js deleted file mode 100644 index 76dbf339..00000000 --- a/server/public/admin/assets/index-CJvXnF8Y.js +++ /dev/null @@ -1,2 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/404-Bi9C-pO1.js","assets/error-Bgj-pwO8.js","assets/.pnpm-9dA1PEvN.js","assets/.pnpm-LiWq8Xu0.css","assets/error-BuAQ7kny.css","assets/403-BCGBomSP.js","assets/login-Dw93NFdp.js","assets/useLockFn-Cmb0mmh_.js","assets/footer.vue_vue_type_script_setup_true_lang-B19wnkFb.js","assets/login-BaVT2xLC.css","assets/change-password-DF4wi40m.js","assets/change-password-CsrB35aU.css","assets/bind-work-wechat-CrcPeng0.js","assets/wecomOauthPostMessage-C_e6VGrO.js","assets/bind-work-wechat-BX1gqwq1.css","assets/setting-C3S5ZTbd.js","assets/index-bkWlwzQZ.js","assets/index-B2JO0Jot.css","assets/picker-DWQ_BAep.js","assets/index-BBemoNXE.js","assets/index-dh40Du6y.css","assets/index-CY1mb9yY.js","assets/index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js","assets/index-CAGpCz28.js","assets/index-BYMg0OFw.css","assets/index-DMkcmA29.js","assets/file-BJDA0rIT.js","assets/index.vue_vue_type_script_setup_true_lang-Blf417m7.js","assets/usePaging-Boz1Q6w3.js","assets/index-D6uL8V1j.css","assets/picker-CLzhBfnG.css","assets/setting-PFzaCySP.css","assets/progress-KuLBVJsD.js","assets/dayjs-BsOAYQJw.js","assets/doctor-Bmtf1eZE.js","assets/progress-CQXIT7YT.css","assets/pc_details-BPAtffpC.js","assets/decoration-CcdLOa7h.js","assets/preview-pc-jdk4sE2-.js","assets/index-Y_sgRENm.js","assets/attr-Dd14GHzC.js","assets/picker-zZfe7WrS.js","assets/article-BioaiRdh.js","assets/picker-DlyQ_D1Y.css","assets/attr-DW0KLy-Z.css","assets/content.vue_vue_type_script_setup_true_lang-aS7Unfcn.js","assets/decoration-img-BjTNsUc3.js","assets/decoration-img-BEoaJ08y.css","assets/attr.vue_vue_type_script_setup_true_lang-CJeNiwLV.js","assets/content-CCa1I_Vf.js","assets/content-CaNRXt_A.css","assets/attr.vue_vue_type_script_setup_true_lang-CrWMGfUm.js","assets/content.vue_vue_type_script_setup_true_lang-9FJV-g10.js","assets/attr.vue_vue_type_script_setup_true_lang-BpC62eFr.js","assets/add-nav.vue_vue_type_script_setup_true_lang-BlVjKvgp.js","assets/content-B8nUs9Lh.js","assets/content-B97u18ca.css","assets/attr.vue_vue_type_script_setup_true_lang-Blibzxk0.js","assets/content.vue_vue_type_script_setup_true_lang-D39DKNeD.js","assets/attr.vue_vue_type_script_setup_true_lang-BwzlMjDK.js","assets/content-BJh8f8yZ.js","assets/content-DVwelkMc.css","assets/attr.vue_vue_type_script_setup_true_lang-B0T4O1-3.js","assets/index.vue_vue_type_script_setup_true_lang-DNrIEWkc.js","assets/content-B6ombiky.js","assets/content.vue_vue_type_script_setup_true_lang-Bb4PsYrv.js","assets/attr.vue_vue_type_script_setup_true_lang-Cf_ppg4c.js","assets/content-Dvj16Wpi.js","assets/content-rjMVvng7.css","assets/attr.vue_vue_type_script_setup_true_lang-B7D0ls_t.js","assets/content.vue_vue_type_script_setup_true_lang-CHj8JtNb.js","assets/attr.vue_vue_type_script_setup_true_lang-CPgMFDSF.js","assets/content-CG3sk7hP.js","assets/content-C-ankp9I.css","assets/preview-pc-C2MmXj4j.css","assets/pc_details-CGxd9KrI.css","assets/h5-bbr9okoW.js","assets/fans-apIaPYUL.js","assets/h5-C0FVYPR8.css","assets/index_h5-C6dLmuUl.js","assets/tcm-DOD9_1Um.js","assets/order-CNletQ6l.js","assets/weapp-CBfJD55Y.js","assets/perm-BLNmf25V.js","assets/index_h5-CxVHc0k9.css","assets/readonly-DVkFK3YG.js","assets/patient-CwTOvUDt.js","assets/diag-display-DCz_VAqj.js","assets/PatientInfoCard-CQnDZGNo.js","assets/PatientInfoCard-CDG1zjKv.css","assets/PatientCaseCard-B8iDWmDb.js","assets/blood-thresholds-CJ1fqMjh.js","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/PatientCaseCard-Ch4X4VSu.css","assets/DailyMatrix-_4SdP1CQ.js","assets/DiagnosisTodoList-wLDuYeQL.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/DailyMatrix--Ay5C05Q.css","assets/CallRecordPanel-B5TNiiYq.js","assets/RecordingPlaybackBlock-C4Gpp-2c.js","assets/RecordingVideoPlayer-BFQjIPtM.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-p7h_1hh9.css","assets/ImChatRecordPanel-Dupe02qF.js","assets/im-business-message-parse-DmDISFGN.js","assets/ImChatRecordPanel-BRnJl8ir.css","assets/AssignLogPanel-7M3l9W5C.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DxULo4tR.js","assets/AppointmentRecordPanel-BWS3OyF0.css","assets/PatientOrderList-CbJRHf8i.js","assets/PrescriptionOrderDetailDrawer-66DcVm3d.js","assets/prescription-order-utils-B0fYlULc.js","assets/PrescriptionOrderDetailDrawer-DL92yzHH.css","assets/PatientOrderList-BgC6GQc_.css","assets/NoteTimeline-BiPgEoRT.js","assets/NoteTimeline-ICZA393r.css","assets/readonly-DnD8_EF-.css","assets/index-CvXC5gLn.js","assets/edit-DeLfDaUB.js","assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-DQptrasI.js","assets/index-DY6Z68qv.js","assets/edit-Bw5ZqZ2k.js","assets/index.vue_vue_type_style_index_0_lang-iDb8ZvRz.js","assets/index-DX96drV3.css","assets/useDictOptions-bKMXOe8R.js","assets/index-yqbRelN8.js","assets/index-4d2pgODD.js","assets/asset-BLv6KQ2V.js","assets/index-BpNIHiO4.js","assets/h5-C5BPJF77.js","assets/open_setting-DGwZaDLq.js","assets/weapp-CUPZ1Jxl.js","assets/config-CeaJ6XEv.js","assets/wx_oa-DPme7qiY.js","assets/menu-lqnhNdb-.js","assets/oa-attr-D3MgAWVR.js","assets/oa-menu-form.vue_vue_type_script_setup_true_lang-BB4f-rQm.js","assets/useMenuOa-BFbr--hk.js","assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang-CkeqElON.js","assets/oa-phone-CNPKAucR.js","assets/oa-phone-Drs4Fq6t.css","assets/oa-menu-form-edit-BgcLPTEm.js","assets/oa-menu-form-Nu32cmMQ.js","assets/default_reply-D7Z4Jzb-.js","assets/edit.vue_vue_type_script_setup_true_lang-Crcur3sR.js","assets/edit-B4tPAUlO.js","assets/follow_reply-DqophWq3.js","assets/keyword_reply-BubZ_2R4.js","assets/MessageBubble-YtVegHr6.js","assets/MessageBubble-DkeWvgLd.css","assets/SendPanel-xA24TJjN.js","assets/SendPanel-QEthGFL7.css","assets/index-BW9doy9-.js","assets/index-e8vonoAk.css","assets/edit-DQHETHkM.js","assets/admin-Bb0DLbGs.js","assets/department-DYCfZwei.js","assets/post-BhGC5UYd.js","assets/edit-CITVAgD6.css","assets/index-B0IGq2BK.js","assets/index-Csf8JQMa.css","assets/account-adjust-f9mloC9u.js","assets/account-adjust.vue_vue_type_script_setup_true_lang-89uQhCqa.js","assets/edit-ZjGLDII9.js","assets/edit-B_9116V2.css","assets/index-Bi-znQuU.js","assets/index-Cqva6yhX.css","assets/paiban-CEqcPVTY.js","assets/paiban-D2O4DnCl.css","assets/detail-Bwhdf4I8.js","assets/consumer-DCRovtRJ.js","assets/index-xjkaMRou.js","assets/index.vue_vue_type_script_setup_true_lang-Bk4SMrCI.js","assets/index.vue_vue_type_script_setup_true_lang-C38LpCy9.js","assets/GancaoSubmissionReconcileButton-IzOq2n8j.js","assets/GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-Bb23SaaB.js","assets/guahao-NSaN8-wM.js","assets/index-xbbfBO1s.js","assets/medicine-CQDW2OUZ.js","assets/role-D6rynjFP.js","assets/index-BANIMLkY.js","assets/index-C_LxAEkS.css","assets/index-B8ylXmJ_.css","assets/list-BNaNKdzv.js","assets/list-DMmbGgQ7.css","assets/order_list-BKI8j5Je.js","assets/useListTimeFilter-DzEU80f7.js","assets/useListTimeFilter-DkLI1bQ_.css","assets/order_list-BZzXH8gm.css","assets/order_list_h5-C0W7Rc8p.js","assets/order_list_h5-DHy4yl_q.css","assets/add-nav-BlCml7H6.js","assets/attr-setting-LN-GrAiF.js","assets/attr-setting.vue_vue_type_script_setup_true_lang-BuFYl1eM.js","assets/menu-CnChKOxc.js","assets/menu-usw4ITBD.css","assets/preview-Cdl9WStU.js","assets/preview-DTbrEc-5.css","assets/attr-DcYaGTU3.js","assets/attr.vue_vue_type_script_setup_true_lang-DBDa4pLA.js","assets/content-vBXU_rtS.js","assets/content-DUDcoKtN.css","assets/attr-jjRMoteR.js","assets/menu-set.vue_vue_type_script_setup_true_lang-DYVX6ffe.js","assets/content-CsrH3mzs.js","assets/content-s9ZqO9iW.css","assets/menu-set-D_5Uag3N.js","assets/content-Qx8rKmO7.js","assets/attr-ka3-L-Q0.js","assets/attr-BiQHjg_9.js","assets/content-CONmh2Qu.js","assets/attr-5AX-Kkv7.js","assets/attr-Cosxc1jv.js","assets/content-hoi1w0qv.js","assets/attr-D_hhKkZj.js","assets/attr-sy3DEh-_.js","assets/content-D1Kmuqll.js","assets/attr-Bh8cUzc0.js","assets/attr-C7569dRb.js","assets/content-Bx4ohNYd.js","assets/attr-BhmUyRYd.js","assets/index-C_YoFN-S.js","assets/index-CEjQCdOu.css","assets/pc-XPJWULkF.js","assets/mobile-style-Cp3TKwjW.js","assets/mobile-style.vue_vue_type_script_setup_true_lang-D1NvJWvN.js","assets/theme-picker-BJjcYG0m.js","assets/theme-picker-CUrGwaPq.css","assets/style-DmqjtjwX.js","assets/tabbar-Co5HGlPw.js","assets/tabbar-C1KhM4wz.css","assets/edit-BuQ8O-ne.js","assets/menu-DVBnPCFw.js","assets/dict-TRsJ1i1z.js","assets/code-m_-AEIO9.js","assets/relations-add.vue_vue_type_script_setup_true_lang-7-u9xnWz.js","assets/edit-DoIT1twe.css","assets/index-VYAWi8Gp.js","assets/code-preview.vue_vue_type_script_setup_true_lang--NwO_Soq.js","assets/data-table.vue_vue_type_script_setup_true_lang-ayRhvp9k.js","assets/code-preview-OJsd3tsQ.js","assets/data-table-B-HxgyrW.js","assets/relations-add-6UnLFZfv.js","assets/dept-tongji-BXsHNxxX.js","assets/dept-tongji-StHhDqY7.css","assets/medicine-DuTFc2fi.js","assets/medicine-B6iX5TnL.css","assets/roster-C0mCO8h8.js","assets/roster-BlbUdcBU.css","assets/tongji-Cyhjuv0B.js","assets/tongji-DSE3xMau.css","assets/commission-settlement-cYKYC1dO.js","assets/stats-Cp2ee5KL.js","assets/commission-settlement-CdlIY0iL.css","assets/index-D9bgwvCK.js","assets/qywx-gk5_zzXe.js","assets/qywx-BzfLWvoO.css","assets/yeji-uWvVXn0M.js","assets/finance-BJtj-zFw.js","assets/yeji-tWLqAQvE.css","assets/edit-DH565yB2.js","assets/edit-pY5KlSAv.css","assets/index-DIDg2WXy.js","assets/index-BvLgvj8J.css","assets/balance_details-C22FVzks.js","assets/refund-log-BhwuomZ1.js","assets/refund-log.vue_vue_type_script_setup_true_lang-DcnrXS_5.js","assets/mubiao-dept-card-DnAz5kmW.js","assets/mubiao-dept-card-naMqyghz.css","assets/mubiao-dept-node-DQXqAckw.js","assets/mubiao-dept-node-ChUPkaxq.css","assets/mubiao-BGZZf6rJ.js","assets/mubiao-3I8h622-.css","assets/recharge_record-CqbtwQ9X.js","assets/refund_record-CshlxxN_.js","assets/index-CaAnGn59.js","assets/index-DNCpQzcN.css","assets/edit-BzfrKGb7.js","assets/message-BBZN4J7d.js","assets/index-Bw9yzK4W.js","assets/edit-D2AJIsn_.js","assets/edit.vue_vue_type_script_setup_true_lang-C354oJT2.js","assets/index-BiN-_j1w.js","assets/index-Cm_ZKA4B.js","assets/index-CcR5eNE7.css","assets/edit-yVViBR3I.js","assets/edit.vue_vue_type_script_setup_true_lang-CvguIgHT.js","assets/index-jbDCfj3q.js","assets/edit-BJvVly4t.js","assets/edit.vue_vue_type_script_setup_true_lang-DSqWTTUi.js","assets/index-DWVw_k3Z.js","assets/index-Tf8sJ4wz.js","assets/index-nb3cGNKl.css","assets/edit-B8J1GujE.js","assets/edit.vue_vue_type_script_setup_true_lang-r0jtyh61.js","assets/index-5qkbqEDk.js","assets/edit-BFnpLTpR.js","assets/edit.vue_vue_type_script_setup_true_lang-Bs2WT8Gt.js","assets/picker.vue_vue_type_script_setup_true_lang-B8p-3sQo.js","assets/index-9QzNDis2.js","assets/auth-CBovZNtp.js","assets/auth.vue_vue_type_script_setup_true_lang-pCTIVpFq.js","assets/edit-CtGeHveI.js","assets/edit.vue_vue_type_script_setup_true_lang-EtRC1QEA.js","assets/index-Doh1nFPs.js","assets/index-Bd-eljjD.js","assets/index-Bk7b_sL2.css","assets/edit-BRA_pTxi.js","assets/edit.vue_vue_type_script_setup_true_lang-BsX_sZsd.js","assets/index-asIm-Wf7.js","assets/edit-a0ZbHcvu.js","assets/edit.vue_vue_type_script_setup_true_lang-J6kOsdxQ.js","assets/index-Cqezzf_X.js","assets/edit-C0oegBKN.js","assets/pay-Bhq0dtL5.js","assets/getExposeType-DmsdEFKC.js","assets/edit-C9lyE4Yw.css","assets/index-n3zVmmhX.js","assets/index-CX5_22cq.js","assets/index-C7JFp3Yq.js","assets/index-C-vrObNh.css","assets/edit-1uDGoxnY.js","assets/edit.vue_vue_type_script_setup_true_lang-wFDh1qw6.js","assets/index-Cv5LLdN-.js","assets/cache-BgKFjVuL.js","assets/environment-ByYTLPyy.js","assets/journal-DbGIHLAC.js","assets/edit-BPOPwxzv.js","assets/index-ZDv6ICXT.js","assets/login_register-DA_dZnUx.js","assets/user-CfuSnjDA.js","assets/setup-awARRoZQ.js","assets/filing-BrfjjJs2.js","assets/website-CigJCWyv.js","assets/information-DIo-0OCS.js","assets/protocol-c8KCHmnT.js","assets/statistics-oFKqT6fw.js","assets/index-Cdd2UFSf.js","assets/index-BWKbVls9.css","assets/index-6J-B90Gl.js","assets/index-DBNvK3ZK.css","assets/index-DxLtfAId.js","assets/index-C2F2QIu1.css","assets/index-aEnW9EuY.js","assets/index-Yr_JizPl.css","assets/MediaSourceSelect-CVO-phQq.js","assets/MediaSourceSelect.vue_vue_type_script_setup_true_lang-B8TP8hmm.js","assets/account_cost-CCSWPN6L.js","assets/self_input_stats-ck9Y43id.js","assets/cost-edit.vue_vue_type_script_setup_true_lang-D7Y5S2X0.js","assets/useMediaSourceOptions-DDYs3mB7.js","assets/account_cost-DtatZw1q.css","assets/cost-edit-Cj1w-OAW.js","assets/index-BoCnKSSR.js","assets/yeji-edit.vue_vue_type_script_setup_true_lang-C7lLJ16d.js","assets/index-DTWieVTb.css","assets/yeji-edit-Kh29Xtvl.js","assets/prescription-drawer-Cy3YQGpS.js","assets/prescription-drawer-BjwiqvPc.css","assets/list-llEVKJjp.js","assets/list-CvGE0QuG.css","assets/list_h5-DKjjHeDW.js","assets/list_h5-ceO3Q54H.css","assets/add-w_iCQj3X.js","assets/add-CbTNaYOg.css","assets/appointment-CqsTw3IO.js","assets/appointment-DHf6UVnR.css","assets/AssistantWatchCallDialog-G7c26KAa.js","assets/AssistantWatchCallDialog-BYViF8Fb.css","assets/BloodRecordList-CS7i-vAN.js","assets/BloodRecordList-QXCJIVBd.css","assets/CaseRecordList-BdOS8uCk.js","assets/CaseRecordList-DEgrl9PS.css","assets/DietRecordList-C45g4Z9I.js","assets/DietRecordList-CTrGLA1X.css","assets/ExerciseRecordList-BurUaTVD.js","assets/ExerciseRecordList-DsqXiiPh.css","assets/TrackingMatrix-BYMd1nee.js","assets/TrackingMatrix-CFaje3R8.css","assets/TrackingNoteTimeline-BcBJXenJ.js","assets/TrackingNoteTimeline-C-2kS81H.css","assets/detail-BRMb37XJ.js","assets/edit-DSANIFY1.js","assets/index-D33qlDjf.js","assets/index-DxQanmqx.css","assets/edit-Cgsl1tY9.css","assets/index-C7aL5i0J.js","assets/index-B1X_1Hea.css","assets/index-B7QVL9Pt.js","assets/index-BdKRKWqg.css","assets/file-out4eeUQ.js","assets/icon-CSL8-k1_.js","assets/link-Bi_XydvE.js","assets/overflow-BejtidJF.js","assets/popover_input-DFAEiGxG.js","assets/rich_text-Cd2nXERY.js","assets/upload-7g16At3y.js","assets/patient-call-DflmousT.js","assets/patient-call-BRSvBZIt.css","assets/index-C-fDcmBQ.js","assets/index-BRfdvgyn.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 U=(a,o,e)=>H1(a,typeof o!="symbol"?o+"":o,e);import{d as V3,u as m,E as u3,e as Z,f as d3,h as T1,i as J3,l as C,A as p3,n as O1,j as I1,k as Q3,m as a1,o as V,p as b,q as h,r as g,s as d,t as s3,v as u,w as o1,x as n3,y as R1,z as e1,B as t1,C as k,D as z,F as D,G as K,H as P1,I as D1,J as B1,K as C1,L as I,M as c3,N as S1,O as A,P as B,Q as L3,R as i1,S as k1,T as R,U as j1,V as l1,W as r3,X as N1,Y as q1,Z as c1,_ as s1,$ as n1,a0 as W1,a1 as r1,a2 as m1,a3 as G1,a4 as u1,a5 as $1,a6 as U1,a7 as j3,a8 as F1,a9 as Y1,aa as Z1,ab as X1,ac as d1,ad as h1,ae as b3,af as K1,ag as J1,ah as Q1,ai as a0,aj as o0,ak as e0,al as t,am as t0,an as i0,ao as I3,ap as _1,aq as l0,ar as c0,as as s0,at as n0,au as r0,av as m0,aw as u0,ax as d0,ay as h0,az as _0,aA as v0,aB as p0,aC as z0,aD as b0,aE as y0,aF as g0,aG as w0,aH as f0,aI as A0,aJ as V0,aK as L0,aL as M0,aM as E0,aN as x0,aO as H0,aP as T0,aQ as O0,aR as I0,aS as R0,aT as P0,aU as D0,aV as B0,aW as C0,aX as S0,aY as k0,aZ as j0,a_ as N0,a$ as q0,b0 as W0,b1 as G0,b2 as $0,b3 as U0,b4 as F0}from"./.pnpm-9dA1PEvN.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 N={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||{}),R3=(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))(R3||{});const M4={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||{}),F=(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))(F||{});const g3="token",E4="account",w3="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),x3=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=x3(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,M)=>{N3(O)===_&&w.push(M)}),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 M=this.tabList[O];M.fullPath!==s&&delete this.tasMap[M.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=x3(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=x3(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)}}}),q={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)}}};U(A3,"instance");let D3=A3;const q3=D3.createInstance();class J0{constructor(o){U(this,"axiosInstance");U(this,"config");U(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),C.isFunction(o)&&(c=o(c)),c),c=>(C.isFunction(e)&&e(c),c)),this.axiosInstance.interceptors.response.use(c=>(this.removeCancelToken(c.config.url),C.isFunction(i)&&(c=i(c)),c),c=>{var s;return C.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=C.merge({},this.options,e),l={...C.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 F.SUCCESS:return c&&s&&X.msgSuccess(s),l;case F.FAIL:return c&&s&&X.msgError(s),Promise.reject(l);case F.LOGIN_FAILURE:return t3(),H.push(T.LOGIN),Promise.reject();case F.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 F.OPEN_NEW_PAGE:return window.location.href=l.url,l;case F.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:N.timeout,baseURL:N.baseUrl,headers:{"Content-Type":p1.JSON,version:N.version},axiosHooks:a2,requestOptions:{isParamsToData:!0,isReturnDefaultResponse:!1,isTransformResponse:!0,urlPrefix:N.urlPrefix,ignoreCancelToken:!1,withToken:!0,isOpenRetry:!0,retryCount:2}};function e2(a){return new J0(C.merge(o2,{}))}const L=e2();function t2(a){return L.post({url:"/login/account",params:{...a,terminal:N.terminal}})}function i2(){return L.post({url:"/login/logout"})}function l2(){return L.get({url:"/auth.admin/mySelf"})}function x4(a){return L.post({url:"/auth.admin/editSelf",params:a})}function H4(){return L.get({url:"/login/workWechatConfig"})}function c2(a){return L.post({url:"/login/workWechatLogin",params:{...a,terminal:N.terminal}})}function T4(a){return L.post({url:"/auth.admin/bindWorkWechat",params:a})}function O4(){return L.post({url:"/auth.admin/unbindWorkWechat"})}function I4(a){return L.post({url:"/login/changeFirstPassword",params:a})}const Y=V3({id:"user",state:()=>({token:b1()||"",userInfo:{},routes:[],perms:[],isPaw:1}),getters:{},actions:{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=>{this.token=c.token,this.isPaw=c.is_paw??1,q.set(g3,c.token),i(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=>{this.token=i.token,this.isPaw=i.is_paw??1,q.set(g3,i.token),o(i)}).catch(i=>{e(i)})})},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 L.get({url:"/config/getConfig"})}function R4(){return L.get({url:"/workbench/index"})}function P4(a){return L.get({url:"/config/dict",params:a})}const S=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(N.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,O1(()=>{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"},j=1,s2={1:["sideTheme","sideDarkColor"]},n2={"dark-2":"shade(20%)","light-3":"tint(30%)","light-5":"tint(50%)","light-7":"tint(70%)","light-8":"tint(80%)","light-9":"tint(90%)"},r2={"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",m2=(a,o="primary",e=!1)=>{const i={[`--el-color-${o}`]:a},l=e?r2:n2;for(const c in l)i[`--el-color-${o}-${c}`]=`color(${a} ${l[c]})`;return i},u2=(a,o=!1)=>{const e=Object.keys(a).reduce((c,s)=>Object.assign(c,m2(a[s],s,o)),{});let i=Object.keys(e).reduce((c,s)=>{const r=I1.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=q.get(w3);function d2(a,o){if(o>=j)return;for(let l=o+1;l<=j;l++){const c=s2[l];if(c)for(const s of c)a[s]=z3[s]}a._settingSchemaVersion=j;const{showDrawer:e,...i}=a;q.set(w3,i)}const W=V3({id:"setting",state:()=>{const a={showDrawer:!1,...z3};let o=j;return Q3(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",C4=(a,o={children:"children"})=>{a=C.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},S4=(a,o={id:"id",parentId:"pid",children:"children"})=>{a=C.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 v2(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 p2(a){let o="";for(const e of Object.keys(a)){const i=a[e],l=encodeURIComponent(e)+"=";if(!U3(i))if(Q3(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 k4=(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},j4=(a=8)=>{let o=Date.now().toString(36);return o+=Math.random().toString(36).substring(3,a),o},N4=(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})`},z2=V({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}}}),P=(a,o)=>{const e=a.__vccOpts||a;for(const[i,l]of o)e[i]=l;return e},b2=["xlink:href"];function y2(a,o,e,i,l,c){return h(),g("svg",{"aria-hidden":"true",style:s3(a.styles)},[d("use",{"xlink:href":a.symbolId,fill:"currentColor"},null,8,b2)],4)}const g2=P(z2,[["render",y2]]),G=V({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(B3)===0?u(o1,{size:a.size,color:a.color},{default:()=>u(n3(a.name.replace(B3,"")))}):a.name.indexOf(_2)===0?R1("i",{class:["local-icon"]},u(g2,{...a})):null}}),w2="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=",f2="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",A2={class:"setting-drawer"},V2={class:"h-full flex flex-col"},L2={class:"setting-item mb-5"},M2={class:"flex mt-4 cursor-pointer"},E2=["onClick"],x2=["src"],H2={class:"setting-item mb-5 flex justify-between items-center"},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"},R2={class:"setting-item mb-5 flex justify-between items-center"},P2={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 flex justify-between items-center mt-auto"},C2=V({__name:"drawer",setup(a){const o=W(),e=c3(["#409EFF","#28C76F","#EA5455","#FF9F43","#01CFE8","#4A5DFF"]),i=[{type:"dark",image:w2},{type:"light",image:f2}],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=e1(),O=()=>{o.setTheme(w.value)},M=()=>{S1(w)(),O()},x=()=>{w.value=!1,o.resetTheme(),O()};return(f,y)=>{const E3=G,$=P1,Q=D1,L1=B1,M1=C1,E1=t1;return h(),g("div",A2,[u(E1,{modelValue:m(n),"onUpdate:modelValue":y[6]||(y[6]=E=>k(n)?n.value=E:null),"append-to-body":"",direction:"rtl",size:"250px",title:"主题设置"},{default:z(()=>[d("div",V2,[d("div",L2,[y[7]||(y[7]=d("span",{class:"text-tx-secondary"},"风格设置",-1)),d("div",M2,[(h(),g(D,null,K(i,E=>d("div",{class:"mr-4 flex relative text-primary",key:E.type,onClick:A4=>l.value=E.type},[d("img",{src:E.image,width:"52",height:"36"},null,8,x2),m(l)==E.type?(h(),A(E3,{key:0,class:"icon-select",name:"el-icon-Select"})):B("",!0)],8,E2)),64))])]),d("div",H2,[y[8]||(y[8]=d("span",{class:"text-tx-secondary"},"主题颜色",-1)),d("div",null,[u($,{modelValue:m(v),"onUpdate:modelValue":y[0]||(y[0]=E=>k(v)?v.value=E:null),predefine:m(e)},null,8,["modelValue","predefine"])])]),d("div",T2,[y[9]||(y[9]=d("span",{class:"text-tx-secondary"},"开启黑暗模式",-1)),d("div",null,[u(Q,{"model-value":m(w),onChange:M},null,8,["model-value"])])]),d("div",O2,[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]=E=>k(c)?c.value=E:null),"active-value":!0,"inactive-value":!1},null,8,["modelValue"])])]),d("div",I2,[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]=E=>k(s)?s.value=E: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]=E=>k(r)?r.value=E:null),min:180,max:250},null,8,["modelValue"])])]),d("div",P2,[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]=E=>k(p)?p.value=E:null),"active-value":!0,"inactive-value":!1},null,8,["modelValue"])])]),d("div",D2,[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]=E=>k(_)?_.value=E:null),"active-value":!0,"inactive-value":!1},null,8,["modelValue"])])]),d("div",B2,[u(M1,{onClick:x,class:"w-full"},{default:z(()=>[...y[15]||(y[15]=[I("重置主题",-1)])]),_:1})])])]),_:1},8,["modelValue"])])}}}),S2=P(C2,[["__scopeId","data-v-01a1636b"]]),k2=V({__name:"index",setup(a){const o=W(),e=()=>{o.setSetting({key:"showDrawer",value:!0})};return(i,l)=>{const c=G;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(S2)])}}});function w1(a){const o=L3();return i1(o,()=>{a(o)},{immediate:!0}),{route:o}}const j2=V({__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(R(r.meta.title),1)]),_:2},1024))),128))]),_:1})}}}),N2=P(j2,[["__scopeId","data-v-df2b2450"]]),q2=V({__name:"fold",setup(a){const o=S(),e=b(()=>o.isCollapsed),i=()=>{o.toggleCollapsed()};return(l,c)=>{const s=G;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"])])}}}),W2=V({__name:"full-screen",setup(a){const{toggle:o,isFullscreen:e}=l1();return(i,l)=>{const c=G;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 G2(){const a=r3(),o=L3(),e=m3(),i=W(),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 $2={class:"app-tabs pl-4 flex bg-body"},U2={class:"flex-1 min-w-0"},F2={class:"flex items-center px-3"},Y2=V({__name:"multiple-tabs",setup(a){const o=r3(),e=m3(),{removeOtherTab:i,addTab:l,removeAllTab:c,removeTab:s,tabsLists:r,currentTab:n}=G2();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,M=q1,x=G,f=s1,y=c1,E3=n1;return h(),g("div",$2,[d("div",U2,[u(M,{"model-value":m(n),closable:m(r).length>1,onTabChange:v,onTabRemove:w[0]||(w[0]=$=>m(s)($))},{default:z(()=>[(h(!0),g(D,null,K(m(r),$=>(h(),A(O,{key:$.fullPath,label:$.title,name:$.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",F2,[u(x,{size:16,name:"el-icon-arrow-down"})])]),_:1})])}}}),Z2=P(Y2,[["__scopeId","data-v-66704b8d"]]),X2=V({__name:"refresh",setup(a){const o=S(),e=()=>{o.refreshView()};return(i,l)=>{const c=G;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 q4(){return L.get({url:"/setting.system.system/info"})}function W4(a){return L.get({url:"/setting.system.log/lists",params:a},{ignoreCancelToken:!0})}function K2(){return L.post({url:"/setting.system.cache/clear"})}function G4(a){return L.get({url:"/crontab.crontab/lists",params:a})}function $4(a){return L.post({url:"/crontab.crontab/add",params:a})}function U4(a){return L.get({url:"/crontab.crontab/detail",params:a})}function F4(a){return L.post({url:"/crontab.crontab/edit",params:a})}function Y4(a){return L.post({url:"/crontab.crontab/delete",params:a})}function Z4(a){return L.get({url:"/crontab.crontab/expression",params:a})}const J2={class:"flex items-center"},Q2={class:"ml-3 mr-1"},a6=V({__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 K2(),window.location.reload();break}};return(l,c)=>{const s=W1,r=G,n=s1,v=n3("router-link"),p=c1,_=n1;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",J2,[u(s,{size:34,src:m(e).avatar},null,8,["src"]),d("div",Q2,R(m(e).name),1),u(r,{name:"el-icon-ArrowDown"})])]),_:1})}}}),o6={class:"header"},e6={class:"navbar"},t6={class:"flex-1 flex"},i6={class:"navbar-item"},l6={class:"navbar-item"},c6={key:0,class:"flex items-center px-2"},s6={class:"flex"},n6={key:0,class:"navbar-item"},r6={class:"navbar-item"},m6={class:"navbar-item"},u6=V({__name:"index",setup(a){const o=S(),e=b(()=>o.isMobile),i=b(()=>o.isCollapsed),l=W(),{isFullscreen:c}=l1();return(s,r)=>{const n=r1;return h(),g("header",o6,[d("div",e6,[d("div",t6,[d("div",i6,[u(n,{class:"box-item",effect:"dark",content:m(i)?"展开菜单":"收起菜单",placement:"bottom"},{default:z(()=>[u(q2)]),_:1},8,["content"])]),d("div",l6,[u(n,{class:"box-item",effect:"dark",content:"刷新",placement:"bottom"},{default:z(()=>[u(X2)]),_:1})]),!m(e)&&m(l).showCrumb?(h(),g("div",c6,[u(N2)])):B("",!0)]),d("div",s6,[m(e)?B("",!0):(h(),g("div",n6,[u(n,{class:"box-item",effect:"dark",content:m(c)?"退出全屏":"全屏模式",placement:"bottom"},{default:z(()=>[u(W2)]),_:1},8,["content"])])),d("div",r6,[u(a6)]),d("div",m6,[u(n,{class:"box-item",effect:"dark",content:"主题设置",placement:"bottom"},{default:z(()=>[u(k2)]),_:1})])])]),m(l).openMultipleTabs?(h(),A(Z2,{key:0})):B("",!0)])}}}),d6={class:"main-wrap h-full bg-page"},h6={class:"px-2 py-4"},_6=V({__name:"main",setup(a){const o=S(),e=m3(),i=W(),l=b(()=>o.isRouteShow),c=b(()=>i.openMultipleTabs?e.getCacheTabList:[]);return(s,r)=>{const n=n3("router-view"),v=m1;return h(),g("main",d6,[u(v,null,{default:z(()=>[d("div",h6,[m(l)?(h(),A(n,{key:0},{default:z(({Component:p,route:_})=>[(h(),A(G1,{include:m(c),max:20},[(h(),A(u1(p),{key:_.fullPath}))],1032,["include"]))]),_:1})):B("",!0)])]),_:1})])}}}),v6=V({__name:"index",props:{...$1,teleported:{type:Boolean,default:!1},placement:{type:String,default:"top"},overfloType:{type:String,default:"ellipsis"}},setup(a){const o=a,e=F1(),i=c3(!1);return U1(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=r1;return h(),g("div",null,[u(s,j3(o,{disabled:m(i)}),{default:z(()=>[d("div",{ref_key:"textRef",ref:e,class:"overflow-text truncate",style:s3({textOverflow:a.overfloType})},R(l.content),5)]),_:1},16,["disabled"])])}}}),p6=V({__name:"index",props:{width:{type:[String,Number],default:"auto"},height:{type:[String,Number],default:"auto"},radius:{type:[String,Number],default:0},...Y1},setup(a){const o=a,e=b(()=>({width:i3(o.width),height:i3(o.height),borderRadius:i3(o.radius)}));return(i,l)=>{const c=Z1;return h(),A(c,j3({style:e.value},o),null,16,["style"])}}}),z6=P(p6,[["__scopeId","data-v-548a4c36"]]),b6=V({__name:"logo",props:{szie:{type:Number,default:34},title:{type:String},theme:{type:String},showTitle:{type:Boolean,default:!0}},setup(a){const o=S(),e=b(()=>o.config),i=r3(),l=()=>{i.push("/")};return(c,s)=>{const r=z6,n=v6;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(X1,{name:"title-width"},{default:z(()=>[d1(d("div",{class:b3(["logo-title overflow-hidden whitespace-nowrap",{"text-white":a.theme==m(v1).DARK}]),style:s3({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),[[h1,a.showTitle]])]),_:1})])}}}),y6=P(b6,[["__scopeId","data-v-c7305beb"]]),g6=V({__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(u1(m(i)),K1(J1(m(l))),{default:z(()=>[Q1(c.$slots,"default")]),_:3},16))}}),w6=V({__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:v2(`${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 p2(n)}catch{return s}});return(s,r)=>{var O;const n=G,v=a0,p=g6,_=n3("menu-item",!0),w=o0;return(O=a.route.meta)!=null&&O.hidden?B("",!0):(h(),g(D,{key:0},[m(e)?(h(),A(w,{key:1,index:a.routePath,"popper-class":a.popperClass},{title:z(()=>{var M,x,f;return[(M=m(i))!=null&&M.icon?(h(),A(n,{key:0,class:"menu-item-icon",size:16,name:(x=m(i))==null?void 0:x.icon},null,8,["name"])):B("",!0),d("span",null,R((f=m(i))==null?void 0:f.title),1)]}),default:z(()=>{var M;return[(h(!0),g(D,null,K((M=a.route)==null?void 0:M.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 M;return[d("span",null,R((M=m(i))==null?void 0:M.title),1)]}),default:z(()=>{var M,x;return[(M=m(i))!=null&&M.icon?(h(),A(n,{key:0,class:"menu-item-icon",size:16,name:(x=m(i))==null?void 0:x.icon},null,8,["name"])):B("",!0)]}),_:1},8,["index"])]),_:1},8,["to"]))],64))}}}),f6=P(w6,[["__scopeId","data-v-78e8d91a"]]),A6=V({__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=L3(),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=e0,n=m1;return h(),g("div",{class:b3(["menu flex-1 min-h-0",m(l)]),style:s3(a.isCollapsed?"":`--aside-width: ${a.width}px`)},[u(n,null,{default:z(()=>[u(r,j3(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(f6,{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)}}}),V6=P(A6,[["__scopeId","data-v-9e48e026"]]),L6=V({__name:"side",setup(a){const o=S(),e=b(()=>o.isMobile?!1:o.isCollapsed),i=W(),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:s3(m(r))},[m(i).showLogo?(h(),A(y6,{key:0,"show-title":!m(e),theme:m(l)},null,8,["show-title","theme"])):B("",!0),u(V6,{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=P(L6,[["__scopeId","data-v-a571d29a"]]),M6={class:"sidebar h-full"},E6=V({__name:"index",setup(a){const o=S(),e=W(),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=t1;return h(),g("aside",M6,[u(n,{modelValue:m(l),"onUpdate:modelValue":r[0]||(r[0]=v=>k(l)?l.value=v:null),direction:"ltr",size:m(c),title:"主题设置","with-header":!1},{default:z(()=>[u(F3)]),_:1},8,["modelValue","size"]),d1(u(F3,null,null,512),[[h1,!m(i)]])])}}}),x6=P(E6,[["__scopeId","data-v-ceedff60"]]),H6={class:"layout-default flex h-screen w-full"},T6={class:"app-aside shrink-0"},O6={class:"flex-1 flex flex-col min-w-0"},I6={class:"app-header"},R6={class:"app-main flex-1 min-h-0"},P6=V({__name:"index",setup(a){return(o,e)=>(h(),g("div",H6,[d("div",T6,[u(x6)]),d("div",O6,[d("div",I6,[u(u6)]),d("div",R6,[u(_6)])])]))}}),l3=()=>Promise.resolve(P6),M3=Symbol(),D6=[{path:"/:pathMatch(.*)*",component:()=>t(()=>import("./404-Bi9C-pO1.js"),__vite__mapDeps([0,1,2,3,4]))},{path:T.ERROR_403,component:()=>t(()=>import("./403-BCGBomSP.js"),__vite__mapDeps([5,1,2,3,4]))},{path:T.LOGIN,component:()=>t(()=>import("./login-Dw93NFdp.js"),__vite__mapDeps([6,2,3,7,8,9]))},{path:"/change-password",component:()=>t(()=>import("./change-password-DF4wi40m.js"),__vite__mapDeps([10,2,3,7,8,11]))},{path:"/bind-work-wechat",component:()=>t(()=>import("./bind-work-wechat-CrcPeng0.js"),__vite__mapDeps([12,2,3,8,13,14]))},{path:"/user",component:l3,children:[{path:"setting",component:()=>t(()=>import("./setting-C3S5ZTbd.js"),__vite__mapDeps([15,2,3,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,13,31])),name:Symbol(),meta:{title:"个人设置"}}]},{path:"/doctor",component:l3,children:[{path:"progress",component:()=>t(()=>import("./progress-KuLBVJsD.js"),__vite__mapDeps([32,2,3,33,34,35])),name:"doctorFaceProgress",meta:{title:"面诊进度"}}]},{path:"/decoration/pc_details",component:()=>t(()=>import("./pc_details-BPAtffpC.js"),__vite__mapDeps([36,2,3,37,38,39,40,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30,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]))},{path:"/fans/h5",component:()=>t(()=>import("./h5-bbr9okoW.js"),__vite__mapDeps([76,2,3,77,33,78]))},{path:"/tcm/diagnosis/h5",component:()=>t(()=>import("./index_h5-C6dLmuUl.js"),__vite__mapDeps([79,2,3,80,81,34,82,28,83,33,84]))},{path:"/tcm/diagnosis-readonly",component:l3,meta:{hidden:!0},children:[{path:"",component:()=>t(()=>import("./readonly-DVkFK3YG.js"),__vite__mapDeps([85,2,3,80,86,87,83,88,89,90,91,92,93,94,18,19,20,21,22,23,24,25,26,27,28,29,30,95,96,97,98,99,100,101,102,103,104,33,105,106,107,108,109,34,110,111,112,113,114,115,116,117,118])),name:"tcmDiagnosisReadonly",meta:{title:"患者信息详情",hidden:!0,activeMenu:"/tcm/diagnosis"}}]}],_3={path:T.INDEX,component:l3,name:M3},C3=Object.assign({"/src/views/account/bind-work-wechat.vue":()=>t(()=>import("./bind-work-wechat-CrcPeng0.js"),__vite__mapDeps([12,2,3,8,13,14])),"/src/views/account/change-password.vue":()=>t(()=>import("./change-password-DF4wi40m.js"),__vite__mapDeps([10,2,3,7,8,11])),"/src/views/account/login.vue":()=>t(()=>import("./login-Dw93NFdp.js"),__vite__mapDeps([6,2,3,7,8,9])),"/src/views/app/recharge/index.vue":()=>t(()=>import("./index-CvXC5gLn.js"),__vite__mapDeps([119,16,2,3,17])),"/src/views/article/column/edit.vue":()=>t(()=>import("./edit-DeLfDaUB.js"),__vite__mapDeps([120,121,2,3,42,19,20])),"/src/views/article/column/index.vue":()=>t(()=>import("./index-DY6Z68qv.js"),__vite__mapDeps([122,2,3,22,42,28,121,19,20])),"/src/views/article/lists/edit.vue":()=>t(()=>import("./edit-Bw5ZqZ2k.js"),__vite__mapDeps([123,16,2,3,17,124,18,19,20,21,22,23,24,25,26,27,28,29,30,125,42,126])),"/src/views/article/lists/index.vue":()=>t(()=>import("./index-yqbRelN8.js"),__vite__mapDeps([127,2,3,22,42,126,28])),"/src/views/asset/resource/index.vue":()=>t(()=>import("./index-4d2pgODD.js"),__vite__mapDeps([128,2,3,129,18,19,20,21,22,23,24,25,26,27,28,29,30])),"/src/views/asset/user/index.vue":()=>t(()=>import("./index-BpNIHiO4.js"),__vite__mapDeps([130,2,3,129])),"/src/views/channel/h5.vue":()=>t(()=>import("./h5-C5BPJF77.js"),__vite__mapDeps([131,16,2,3,17])),"/src/views/channel/open_setting.vue":()=>t(()=>import("./open_setting-DGwZaDLq.js"),__vite__mapDeps([132,16,2,3,17])),"/src/views/channel/weapp.vue":()=>t(()=>import("./weapp-CUPZ1Jxl.js"),__vite__mapDeps([133,16,2,3,17,18,19,20,21,22,23,24,25,26,27,28,29,30,82])),"/src/views/channel/wx_oa/config.vue":()=>t(()=>import("./config-CeaJ6XEv.js"),__vite__mapDeps([134,16,2,3,17,18,19,20,21,22,23,24,25,26,27,28,29,30,135])),"/src/views/channel/wx_oa/menu.vue":()=>t(()=>import("./menu-lqnhNdb-.js"),__vite__mapDeps([136,16,2,3,17,137,23,24,19,20,138,139,135,140,141,142])),"/src/views/channel/wx_oa/menu_com/oa-attr.vue":()=>t(()=>import("./oa-attr-D3MgAWVR.js"),__vite__mapDeps([137,23,2,3,24,19,20,138,139,135,140])),"/src/views/channel/wx_oa/menu_com/oa-menu-form-edit.vue":()=>t(()=>import("./oa-menu-form-edit-BgcLPTEm.js"),__vite__mapDeps([143,140,19,2,3,20,138,139,135])),"/src/views/channel/wx_oa/menu_com/oa-menu-form.vue":()=>t(()=>import("./oa-menu-form-Nu32cmMQ.js"),__vite__mapDeps([144,138,2,3,139,135])),"/src/views/channel/wx_oa/menu_com/oa-phone.vue":()=>t(()=>import("./oa-phone-CNPKAucR.js"),__vite__mapDeps([141,2,3,139,135,142])),"/src/views/channel/wx_oa/reply/default_reply.vue":()=>t(()=>import("./default_reply-D7Z4Jzb-.js"),__vite__mapDeps([145,2,3,22,135,28,146,19,20])),"/src/views/channel/wx_oa/reply/edit.vue":()=>t(()=>import("./edit-B4tPAUlO.js"),__vite__mapDeps([147,146,2,3,135,19,20])),"/src/views/channel/wx_oa/reply/follow_reply.vue":()=>t(()=>import("./follow_reply-DqophWq3.js"),__vite__mapDeps([148,2,3,22,135,28,146,19,20])),"/src/views/channel/wx_oa/reply/keyword_reply.vue":()=>t(()=>import("./keyword_reply-BubZ_2R4.js"),__vite__mapDeps([149,2,3,22,135,28,146,19,20])),"/src/views/chat/components/MessageBubble.vue":()=>t(()=>import("./MessageBubble-YtVegHr6.js"),__vite__mapDeps([150,2,3,151])),"/src/views/chat/components/SendPanel.vue":()=>t(()=>import("./SendPanel-xA24TJjN.js").then(a=>a.i),__vite__mapDeps([152,2,3,26,153])),"/src/views/chat/index.vue":()=>t(()=>import("./index-BW9doy9-.js"),__vite__mapDeps([154,2,3,28,150,151,152,26,153,155])),"/src/views/consumer/assistant/edit.vue":()=>t(()=>import("./edit-DQHETHkM.js"),__vite__mapDeps([156,2,3,18,19,20,21,22,23,24,25,26,27,28,29,30,157,158,159,126,160])),"/src/views/consumer/assistant/index.vue":()=>t(()=>import("./index-B0IGq2BK.js"),__vite__mapDeps([161,2,3,22,157,28,156,18,19,20,21,23,24,25,26,27,29,30,158,159,126,160,162])),"/src/views/consumer/components/account-adjust.vue":()=>t(()=>import("./account-adjust-f9mloC9u.js"),__vite__mapDeps([163,164,2,3,19,20])),"/src/views/consumer/doctor/edit.vue":()=>t(()=>import("./edit-ZjGLDII9.js"),__vite__mapDeps([165,2,3,18,19,20,21,22,23,24,25,26,27,28,29,30,157,158,159,126,166])),"/src/views/consumer/doctor/index.vue":()=>t(()=>import("./index-Bi-znQuU.js"),__vite__mapDeps([167,2,3,22,157,28,165,18,19,20,21,23,24,25,26,27,29,30,158,159,126,166,168])),"/src/views/consumer/doctor/paiban.vue":()=>t(()=>import("./paiban-CEqcPVTY.js"),__vite__mapDeps([169,2,3,33,80,34,170])),"/src/views/consumer/lists/detail.vue":()=>t(()=>import("./detail-Bwhdf4I8.js"),__vite__mapDeps([171,2,3,27,172,164,19,20])),"/src/views/consumer/lists/index.vue":()=>t(()=>import("./index-xjkaMRou.js"),__vite__mapDeps([173,2,3,22,174,19,20,175,172,28])),"/src/views/consumer/prescription/components/GancaoSubmissionReconcileButton.vue":()=>t(()=>import("./GancaoSubmissionReconcileButton-IzOq2n8j.js"),__vite__mapDeps([176,177,2,3,80])),"/src/views/consumer/prescription/components/PrescriptionOrderDetailDrawer.vue":()=>t(()=>import("./PrescriptionOrderDetailDrawer-66DcVm3d.js"),__vite__mapDeps([112,2,3,80,113,114])),"/src/views/consumer/prescription/guahao.vue":()=>t(()=>import("./guahao-NSaN8-wM.js"),__vite__mapDeps([178,2,3,22,175,34,80,28])),"/src/views/consumer/prescription/index.vue":()=>t(()=>import("./index-xbbfBO1s.js"),__vite__mapDeps([179,2,3,22,80,180,181,28,175,182,183,184])),"/src/views/consumer/prescription/list.vue":()=>t(()=>import("./list-BNaNKdzv.js"),__vite__mapDeps([185,2,3,22,80,28,182,180,183,186])),"/src/views/consumer/prescription/order_list.vue":()=>t(()=>import("./order_list-BKI8j5Je.js"),__vite__mapDeps([187,2,3,22,174,19,20,188,189,112,80,113,114,177,158,28,190])),"/src/views/consumer/prescription/order_list_h5.vue":()=>t(()=>import("./order_list_h5-C0W7Rc8p.js"),__vite__mapDeps([191,2,3,22,188,189,177,80,113,158,28,192])),"/src/views/decoration/component/add-nav.vue":()=>t(()=>import("./add-nav-BlCml7H6.js"),__vite__mapDeps([193,54,2,3,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30])),"/src/views/decoration/component/decoration-img.vue":()=>t(()=>import("./decoration-img-BjTNsUc3.js"),__vite__mapDeps([46,2,3,47])),"/src/views/decoration/component/pages/attr-setting.vue":()=>t(()=>import("./attr-setting-LN-GrAiF.js"),__vite__mapDeps([194,195,2,3,39,40,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,37,61,62,63,64,65,66,67,68,69,70,71,72,73])),"/src/views/decoration/component/pages/menu.vue":()=>t(()=>import("./menu-CnChKOxc.js"),__vite__mapDeps([196,2,3,197])),"/src/views/decoration/component/pages/preview-pc.vue":()=>t(()=>import("./preview-pc-jdk4sE2-.js"),__vite__mapDeps([38,2,3,39,40,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,37,61,62,63,64,65,66,67,68,69,70,71,72,73,74])),"/src/views/decoration/component/pages/preview.vue":()=>t(()=>import("./preview-Cdl9WStU.js"),__vite__mapDeps([198,2,3,39,40,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,37,61,62,63,64,65,66,67,68,69,70,71,72,73,199])),"/src/views/decoration/component/tabbar/mobile/attr.vue":()=>t(()=>import("./attr-DcYaGTU3.js"),__vite__mapDeps([200,201,2,3,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30,63])),"/src/views/decoration/component/tabbar/mobile/content.vue":()=>t(()=>import("./content-vBXU_rtS.js"),__vite__mapDeps([202,46,2,3,47,203])),"/src/views/decoration/component/tabbar/pc/attr.vue":()=>t(()=>import("./attr-jjRMoteR.js"),__vite__mapDeps([204,2,3,205,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30])),"/src/views/decoration/component/tabbar/pc/content.vue":()=>t(()=>import("./content-CsrH3mzs.js"),__vite__mapDeps([206,2,3,46,47,207])),"/src/views/decoration/component/tabbar/pc/menu-set.vue":()=>t(()=>import("./menu-set-D_5Uag3N.js"),__vite__mapDeps([208,205,2,3,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30])),"/src/views/decoration/component/widgets/banner/attr.vue":()=>t(()=>import("./attr-Dd14GHzC.js"),__vite__mapDeps([40,2,3,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30,44])),"/src/views/decoration/component/widgets/banner/content.vue":()=>t(()=>import("./content-Qx8rKmO7.js"),__vite__mapDeps([209,45,46,2,3,47])),"/src/views/decoration/component/widgets/customer-service/attr.vue":()=>t(()=>import("./attr-ka3-L-Q0.js"),__vite__mapDeps([210,48,2,3,18,19,20,21,22,23,24,25,26,27,28,29,30])),"/src/views/decoration/component/widgets/customer-service/content.vue":()=>t(()=>import("./content-CCa1I_Vf.js"),__vite__mapDeps([49,46,2,3,47,50])),"/src/views/decoration/component/widgets/middle-banner/attr.vue":()=>t(()=>import("./attr-BiQHjg_9.js"),__vite__mapDeps([211,51,2,3,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30])),"/src/views/decoration/component/widgets/middle-banner/content.vue":()=>t(()=>import("./content-CONmh2Qu.js"),__vite__mapDeps([212,52,46,2,3,47])),"/src/views/decoration/component/widgets/my-service/attr.vue":()=>t(()=>import("./attr-5AX-Kkv7.js"),__vite__mapDeps([213,53,2,3,54,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30])),"/src/views/decoration/component/widgets/my-service/content.vue":()=>t(()=>import("./content-B8nUs9Lh.js"),__vite__mapDeps([55,46,2,3,47,56])),"/src/views/decoration/component/widgets/nav/attr.vue":()=>t(()=>import("./attr-Cosxc1jv.js"),__vite__mapDeps([214,57,2,3,54,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30])),"/src/views/decoration/component/widgets/nav/content.vue":()=>t(()=>import("./content-hoi1w0qv.js"),__vite__mapDeps([215,58,46,2,3,47])),"/src/views/decoration/component/widgets/news/attr.vue":()=>t(()=>import("./attr-D_hhKkZj.js"),__vite__mapDeps([216,59,2,3])),"/src/views/decoration/component/widgets/news/content.vue":()=>t(()=>import("./content-BJh8f8yZ.js"),__vite__mapDeps([60,37,2,3,61])),"/src/views/decoration/component/widgets/page-meta/attr.vue":()=>t(()=>import("./attr-sy3DEh-_.js"),__vite__mapDeps([217,62,2,3,63,18,19,20,21,22,23,24,25,26,27,28,29,30])),"/src/views/decoration/component/widgets/page-meta/content.vue":()=>t(()=>import("./content-B6ombiky.js"),__vite__mapDeps([64,2,3])),"/src/views/decoration/component/widgets/pc-banner/content.vue":()=>t(()=>import("./content-D1Kmuqll.js"),__vite__mapDeps([218,65,2,3,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30])),"/src/views/decoration/component/widgets/search/attr.vue":()=>t(()=>import("./attr-Bh8cUzc0.js"),__vite__mapDeps([219,66,2,3])),"/src/views/decoration/component/widgets/search/content.vue":()=>t(()=>import("./content-Dvj16Wpi.js"),__vite__mapDeps([67,2,3,68])),"/src/views/decoration/component/widgets/user-banner/attr.vue":()=>t(()=>import("./attr-C7569dRb.js"),__vite__mapDeps([220,69,2,3,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30])),"/src/views/decoration/component/widgets/user-banner/content.vue":()=>t(()=>import("./content-Bx4ohNYd.js"),__vite__mapDeps([221,70,46,2,3,47])),"/src/views/decoration/component/widgets/user-info/attr.vue":()=>t(()=>import("./attr-BhmUyRYd.js"),__vite__mapDeps([222,71,2,3])),"/src/views/decoration/component/widgets/user-info/content.vue":()=>t(()=>import("./content-CG3sk7hP.js"),__vite__mapDeps([72,2,3,73])),"/src/views/decoration/pages/index.vue":()=>t(()=>import("./index-C_YoFN-S.js"),__vite__mapDeps([223,16,2,3,17,37,195,39,40,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30,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,196,197,198,199,224])),"/src/views/decoration/pc.vue":()=>t(()=>import("./pc-XPJWULkF.js"),__vite__mapDeps([225,2,3,37])),"/src/views/decoration/pc_details.vue":()=>t(()=>import("./pc_details-BPAtffpC.js"),__vite__mapDeps([36,2,3,37,38,39,40,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30,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])),"/src/views/decoration/style/components/mobile-style.vue":()=>t(()=>import("./mobile-style-Cp3TKwjW.js"),__vite__mapDeps([226,227,2,3,63,228,229])),"/src/views/decoration/style/components/theme-picker.vue":()=>t(()=>import("./theme-picker-BJjcYG0m.js"),__vite__mapDeps([228,2,3,229])),"/src/views/decoration/style/style.vue":()=>t(()=>import("./style-DmqjtjwX.js"),__vite__mapDeps([230,16,2,3,17,37,227,63,228,229])),"/src/views/decoration/tabbar.vue":()=>t(()=>import("./tabbar-Co5HGlPw.js"),__vite__mapDeps([231,16,2,3,17,37,196,197,201,23,24,41,19,20,22,42,28,43,18,21,25,26,27,29,30,63,202,46,47,203,232])),"/src/views/dev_tools/code/edit.vue":()=>t(()=>import("./edit-BuQ8O-ne.js"),__vite__mapDeps([233,16,2,3,17,234,235,236,126,237,19,20,238])),"/src/views/dev_tools/code/index.vue":()=>t(()=>import("./index-VYAWi8Gp.js"),__vite__mapDeps([239,2,3,22,236,28,240,241,19,20])),"/src/views/dev_tools/components/code-preview.vue":()=>t(()=>import("./code-preview-OJsd3tsQ.js"),__vite__mapDeps([242,240,2,3])),"/src/views/dev_tools/components/data-table.vue":()=>t(()=>import("./data-table-B-HxgyrW.js"),__vite__mapDeps([243,241,2,3,236,22,19,20,28])),"/src/views/dev_tools/components/relations-add.vue":()=>t(()=>import("./relations-add-6UnLFZfv.js"),__vite__mapDeps([244,237,2,3,236,19,20,126])),"/src/views/doctor/dept-tongji.vue":()=>t(()=>import("./dept-tongji-BXsHNxxX.js"),__vite__mapDeps([245,2,3,34,246])),"/src/views/doctor/medicine.vue":()=>t(()=>import("./medicine-DuTFc2fi.js"),__vite__mapDeps([247,2,3,180,248])),"/src/views/doctor/progress.vue":()=>t(()=>import("./progress-KuLBVJsD.js"),__vite__mapDeps([32,2,3,33,34,35])),"/src/views/doctor/roster.vue":()=>t(()=>import("./roster-C0mCO8h8.js"),__vite__mapDeps([249,2,3,33,34,250])),"/src/views/doctor/tongji.vue":()=>t(()=>import("./tongji-Cyhjuv0B.js"),__vite__mapDeps([251,2,3,34,252])),"/src/views/error/403.vue":()=>t(()=>import("./403-BCGBomSP.js"),__vite__mapDeps([5,1,2,3,4])),"/src/views/error/404.vue":()=>t(()=>import("./404-Bi9C-pO1.js"),__vite__mapDeps([0,1,2,3,4])),"/src/views/error/components/error.vue":()=>t(()=>import("./error-Bgj-pwO8.js"),__vite__mapDeps([1,2,3,4])),"/src/views/fans/commission-settlement.vue":()=>t(()=>import("./commission-settlement-cYKYC1dO.js"),__vite__mapDeps([253,2,3,254,255])),"/src/views/fans/h5.vue":()=>t(()=>import("./h5-bbr9okoW.js"),__vite__mapDeps([76,2,3,77,33,78])),"/src/views/fans/index.vue":()=>t(()=>import("./index-D9bgwvCK.js"),__vite__mapDeps([256,2,3,22,77,28,33])),"/src/views/fans/qywx.vue":()=>t(()=>import("./qywx-gk5_zzXe.js"),__vite__mapDeps([257,2,3,22,28,258])),"/src/views/fans/yeji.vue":()=>t(()=>import("./yeji-uWvVXn0M.js"),__vite__mapDeps([259,2,3,254,260,80,83,261])),"/src/views/finance/account_cost/edit.vue":()=>t(()=>import("./edit-DH565yB2.js"),__vite__mapDeps([262,2,3,260,19,20,263])),"/src/views/finance/account_cost/index.vue":()=>t(()=>import("./index-DIDg2WXy.js"),__vite__mapDeps([264,2,3,22,260,28,188,189,262,19,20,263,265])),"/src/views/finance/balance_details.vue":()=>t(()=>import("./balance_details-C22FVzks.js"),__vite__mapDeps([266,2,3,22,175,260,126,28])),"/src/views/finance/component/refund-log.vue":()=>t(()=>import("./refund-log-BhwuomZ1.js"),__vite__mapDeps([267,268,2,3,260])),"/src/views/finance/mubiao-dept-card.vue":()=>t(()=>import("./mubiao-dept-card-DnAz5kmW.js"),__vite__mapDeps([269,2,3,270])),"/src/views/finance/mubiao-dept-node.vue":()=>t(()=>import("./mubiao-dept-node-DQXqAckw.js"),__vite__mapDeps([271,2,3,272])),"/src/views/finance/mubiao.vue":()=>t(()=>import("./mubiao-BGZZf6rJ.js"),__vite__mapDeps([273,2,3,269,270,260,274])),"/src/views/finance/recharge_record.vue":()=>t(()=>import("./recharge_record-CqbtwQ9X.js"),__vite__mapDeps([275,2,3,22,174,19,20,175,260,28])),"/src/views/finance/refund_record.vue":()=>t(()=>import("./refund_record-CshlxxN_.js"),__vite__mapDeps([276,2,3,22,175,260,28,268])),"/src/views/material/index.vue":()=>t(()=>import("./index-CaAnGn59.js"),__vite__mapDeps([277,2,3,21,22,23,24,19,20,25,26,27,28,29,278])),"/src/views/message/notice/edit.vue":()=>t(()=>import("./edit-BzfrKGb7.js"),__vite__mapDeps([279,2,3,16,17,280])),"/src/views/message/notice/index.vue":()=>t(()=>import("./index-Bw9yzK4W.js"),__vite__mapDeps([281,2,3,280,28])),"/src/views/message/short_letter/edit.vue":()=>t(()=>import("./edit-D2AJIsn_.js"),__vite__mapDeps([282,283,2,3,280,19,20])),"/src/views/message/short_letter/index.vue":()=>t(()=>import("./index-BiN-_j1w.js"),__vite__mapDeps([284,2,3,280,283,19,20])),"/src/views/order/index.vue":()=>t(()=>import("./index-Cm_ZKA4B.js"),__vite__mapDeps([285,2,3,22,174,19,20,175,28,81,80,286])),"/src/views/organization/department/edit.vue":()=>t(()=>import("./edit-yVViBR3I.js"),__vite__mapDeps([287,288,2,3,158,19,20,126])),"/src/views/organization/department/index.vue":()=>t(()=>import("./index-jbDCfj3q.js"),__vite__mapDeps([289,2,3,158,288,19,20,126])),"/src/views/organization/post/edit.vue":()=>t(()=>import("./edit-BJvVly4t.js"),__vite__mapDeps([290,291,2,3,159,19,20])),"/src/views/organization/post/index.vue":()=>t(()=>import("./index-DWVw_k3Z.js"),__vite__mapDeps([292,2,3,22,174,19,20,159,28,291])),"/src/views/patient/reception/components/NoteTimeline.vue":()=>t(()=>import("./NoteTimeline-BiPgEoRT.js"),__vite__mapDeps([116,2,3,18,19,20,21,22,23,24,25,26,27,28,29,30,86,83,117])),"/src/views/patient/reception/index.vue":()=>t(()=>import("./index-Tf8sJ4wz.js"),__vite__mapDeps([293,2,3,86,116,18,19,20,21,22,23,24,25,26,27,28,29,30,83,117,88,87,89,90,91,92,93,94,95,80,96,97,34,294])),"/src/views/permission/admin/edit.vue":()=>t(()=>import("./edit-B8J1GujE.js"),__vite__mapDeps([295,296,2,3,18,19,20,21,22,23,24,25,26,27,28,29,30,158,159,157,181,126])),"/src/views/permission/admin/index.vue":()=>t(()=>import("./index-5qkbqEDk.js"),__vite__mapDeps([297,2,3,22,174,19,20,157,181,126,28,296,18,21,23,24,25,26,27,29,30,158,159])),"/src/views/permission/menu/edit.vue":()=>t(()=>import("./edit-BFnpLTpR.js"),__vite__mapDeps([298,299,2,3,300,234,19,20])),"/src/views/permission/menu/index.vue":()=>t(()=>import("./index-9QzNDis2.js"),__vite__mapDeps([301,2,3,234,28,299,300,19,20])),"/src/views/permission/role/auth.vue":()=>t(()=>import("./auth-CBovZNtp.js"),__vite__mapDeps([302,303,2,3,234,181,19,20])),"/src/views/permission/role/edit.vue":()=>t(()=>import("./edit-CtGeHveI.js"),__vite__mapDeps([304,305,2,3,181,19,20])),"/src/views/permission/role/index.vue":()=>t(()=>import("./index-Doh1nFPs.js"),__vite__mapDeps([306,2,3,22,181,28,303,234,19,20,305])),"/src/views/pharmacy/medicine_mapping/index.vue":()=>t(()=>import("./index-Bd-eljjD.js"),__vite__mapDeps([307,2,3,308])),"/src/views/setting/dict/data/edit.vue":()=>t(()=>import("./edit-BRA_pTxi.js"),__vite__mapDeps([309,310,2,3,235,19,20])),"/src/views/setting/dict/data/index.vue":()=>t(()=>import("./index-asIm-Wf7.js"),__vite__mapDeps([311,2,3,22,235,28,310,19,20])),"/src/views/setting/dict/type/edit.vue":()=>t(()=>import("./edit-a0ZbHcvu.js"),__vite__mapDeps([312,313,2,3,235,19,20])),"/src/views/setting/dict/type/index.vue":()=>t(()=>import("./index-Cqezzf_X.js"),__vite__mapDeps([314,2,3,22,235,28,313,19,20])),"/src/views/setting/pay/config/edit.vue":()=>t(()=>import("./edit-C0oegBKN.js"),__vite__mapDeps([315,2,3,18,19,20,21,22,23,24,25,26,27,28,29,30,316,7,317,318])),"/src/views/setting/pay/config/index.vue":()=>t(()=>import("./index-n3zVmmhX.js"),__vite__mapDeps([319,2,3,316,317,315,18,19,20,21,22,23,24,25,26,27,28,29,30,7,318])),"/src/views/setting/pay/method/index.vue":()=>t(()=>import("./index-CX5_22cq.js"),__vite__mapDeps([320,16,2,3,17,316])),"/src/views/setting/search/index.vue":()=>t(()=>import("./index-C7JFp3Yq.js"),__vite__mapDeps([321,16,2,3,17,322])),"/src/views/setting/storage/edit.vue":()=>t(()=>import("./edit-1uDGoxnY.js"),__vite__mapDeps([323,324,2,3,19,20])),"/src/views/setting/storage/index.vue":()=>t(()=>import("./index-Cv5LLdN-.js"),__vite__mapDeps([325,2,3,324,19,20])),"/src/views/setting/system/cache.vue":()=>t(()=>import("./cache-BgKFjVuL.js"),__vite__mapDeps([326,2,3])),"/src/views/setting/system/environment.vue":()=>t(()=>import("./environment-ByYTLPyy.js"),__vite__mapDeps([327,2,3])),"/src/views/setting/system/journal.vue":()=>t(()=>import("./journal-DbGIHLAC.js"),__vite__mapDeps([328,2,3,22,174,19,20,175,28])),"/src/views/setting/system/scheduled_task/edit.vue":()=>t(()=>import("./edit-BPOPwxzv.js"),__vite__mapDeps([329,16,2,3,17])),"/src/views/setting/system/scheduled_task/index.vue":()=>t(()=>import("./index-ZDv6ICXT.js"),__vite__mapDeps([330,2,3,22,28])),"/src/views/setting/user/login_register.vue":()=>t(()=>import("./login_register-DA_dZnUx.js"),__vite__mapDeps([331,16,2,3,17,332])),"/src/views/setting/user/setup.vue":()=>t(()=>import("./setup-awARRoZQ.js"),__vite__mapDeps([333,16,2,3,17,18,19,20,21,22,23,24,25,26,27,28,29,30,332])),"/src/views/setting/website/filing.vue":()=>t(()=>import("./filing-BrfjjJs2.js"),__vite__mapDeps([334,16,2,3,17,23,24,335])),"/src/views/setting/website/information.vue":()=>t(()=>import("./information-DIo-0OCS.js"),__vite__mapDeps([336,16,2,3,17,18,19,20,21,22,23,24,25,26,27,28,29,30,335])),"/src/views/setting/website/protocol.vue":()=>t(()=>import("./protocol-c8KCHmnT.js"),__vite__mapDeps([337,16,2,3,17,124,18,19,20,21,22,23,24,25,26,27,28,29,30,125,335])),"/src/views/setting/website/statistics.vue":()=>t(()=>import("./statistics-oFKqT6fw.js"),__vite__mapDeps([338,16,2,3,17,335])),"/src/views/stats/assistant-performance/index.vue":()=>t(()=>import("./index-Cdd2UFSf.js"),__vite__mapDeps([339,2,3,254,340])),"/src/views/stats/auto_assign_log/index.vue":()=>t(()=>import("./index-6J-B90Gl.js"),__vite__mapDeps([341,2,3,22,254,28,342])),"/src/views/stats/conversion/index.vue":()=>t(()=>import("./index-DxLtfAId.js"),__vite__mapDeps([343,22,2,3,254,28,344])),"/src/views/stats/revisit_rate/index.vue":()=>t(()=>import("./index-aEnW9EuY.js"),__vite__mapDeps([345,2,3,254,83,346])),"/src/views/stats/self_input/MediaSourceSelect.vue":()=>t(()=>import("./MediaSourceSelect-CVO-phQq.js"),__vite__mapDeps([347,348,2,3])),"/src/views/stats/self_input/account_cost.vue":()=>t(()=>import("./account_cost-CCSWPN6L.js"),__vite__mapDeps([349,2,3,22,350,158,28,351,19,20,348,352,188,189,353])),"/src/views/stats/self_input/cost-edit.vue":()=>t(()=>import("./cost-edit-Cj1w-OAW.js"),__vite__mapDeps([354,351,2,3,350,19,20,348])),"/src/views/stats/self_input/index.vue":()=>t(()=>import("./index-BoCnKSSR.js"),__vite__mapDeps([355,2,3,22,350,158,28,348,356,19,20,352,357])),"/src/views/stats/self_input/yeji-edit.vue":()=>t(()=>import("./yeji-edit-Kh29Xtvl.js"),__vite__mapDeps([358,356,2,3,350,19,20,348])),"/src/views/tcm/appointment/components/prescription-drawer.vue":()=>t(()=>import("./prescription-drawer-Cy3YQGpS.js"),__vite__mapDeps([359,2,3,80,182,180,183,360])),"/src/views/tcm/appointment/list.vue":()=>t(()=>import("./list-llEVKJjp.js"),__vite__mapDeps([361,2,3,22,175,28,34,158,80,86,83,92,82,362])),"/src/views/tcm/appointment/list_h5.vue":()=>t(()=>import("./list_h5-DKjjHeDW.js"),__vite__mapDeps([363,2,3,34,82,80,86,28,92,83,364])),"/src/views/tcm/diagnosis/add.vue":()=>t(()=>import("./add-w_iCQj3X.js"),__vite__mapDeps([365,2,3,80,366])),"/src/views/tcm/diagnosis/appointment.vue":()=>t(()=>import("./appointment-CqsTw3IO.js"),__vite__mapDeps([367,2,3,33,80,34,368])),"/src/views/tcm/diagnosis/components/AppointmentRecordPanel.vue":()=>t(()=>import("./AppointmentRecordPanel-DxULo4tR.js"),__vite__mapDeps([109,2,3,34,110])),"/src/views/tcm/diagnosis/components/AssignLogPanel.vue":()=>t(()=>import("./AssignLogPanel-7M3l9W5C.js"),__vite__mapDeps([107,2,3,80,108])),"/src/views/tcm/diagnosis/components/AssistantWatchCallDialog.vue":()=>t(()=>import("./AssistantWatchCallDialog-G7c26KAa.js"),__vite__mapDeps([369,2,3,80,370])),"/src/views/tcm/diagnosis/components/BloodRecordList.vue":()=>t(()=>import("./BloodRecordList-CS7i-vAN.js"),__vite__mapDeps([371,2,3,80,372])),"/src/views/tcm/diagnosis/components/CallRecordPanel.vue":()=>t(()=>import("./CallRecordPanel-B5TNiiYq.js"),__vite__mapDeps([98,2,3,99,100,101,102,25,26,80,103])),"/src/views/tcm/diagnosis/components/CaseRecordList.vue":()=>t(()=>import("./CaseRecordList-BdOS8uCk.js"),__vite__mapDeps([373,2,3,80,374])),"/src/views/tcm/diagnosis/components/DailyMatrix.vue":()=>t(()=>import("./DailyMatrix-_4SdP1CQ.js"),__vite__mapDeps([94,2,3,18,19,20,21,22,23,24,25,26,27,28,29,30,95,80,83,96,91,97])),"/src/views/tcm/diagnosis/components/DiagnosisTodoList.vue":()=>t(()=>import("./DiagnosisTodoList-wLDuYeQL.js"),__vite__mapDeps([95,2,3,22,80,83,96])),"/src/views/tcm/diagnosis/components/DietRecordList.vue":()=>t(()=>import("./DietRecordList-C45g4Z9I.js"),__vite__mapDeps([375,2,3,18,19,20,21,22,23,24,25,26,27,28,29,30,80,376])),"/src/views/tcm/diagnosis/components/ExerciseRecordList.vue":()=>t(()=>import("./ExerciseRecordList-BurUaTVD.js"),__vite__mapDeps([377,2,3,18,19,20,21,22,23,24,25,26,27,28,29,30,80,378])),"/src/views/tcm/diagnosis/components/ImChatRecordPanel.vue":()=>t(()=>import("./ImChatRecordPanel-Dupe02qF.js"),__vite__mapDeps([104,2,3,33,80,105,106])),"/src/views/tcm/diagnosis/components/PatientCaseCard.vue":()=>t(()=>import("./PatientCaseCard-B8iDWmDb.js"),__vite__mapDeps([90,91,87,92,2,3,93])),"/src/views/tcm/diagnosis/components/PatientInfoCard.vue":()=>t(()=>import("./PatientInfoCard-CQnDZGNo.js"),__vite__mapDeps([88,87,2,3,89])),"/src/views/tcm/diagnosis/components/PatientOrderList.vue":()=>t(()=>import("./PatientOrderList-CbJRHf8i.js"),__vite__mapDeps([111,2,3,22,28,80,112,113,114,115])),"/src/views/tcm/diagnosis/components/RecordingPlaybackBlock.vue":()=>t(()=>import("./RecordingPlaybackBlock-C4Gpp-2c.js"),__vite__mapDeps([99,2,3,100,101,102])),"/src/views/tcm/diagnosis/components/RecordingVideoPlayer.vue":()=>t(()=>import("./RecordingVideoPlayer-BFQjIPtM.js"),__vite__mapDeps([100,2,3,101])),"/src/views/tcm/diagnosis/components/TrackingMatrix.vue":()=>t(()=>import("./TrackingMatrix-BYMd1nee.js"),__vite__mapDeps([379,2,3,91,80,380])),"/src/views/tcm/diagnosis/components/TrackingNoteTimeline.vue":()=>t(()=>import("./TrackingNoteTimeline-BcBJXenJ.js"),__vite__mapDeps([381,2,3,80,382])),"/src/views/tcm/diagnosis/detail.vue":()=>t(()=>import("./detail-BRMb37XJ.js"),__vite__mapDeps([383,19,2,3,20,80])),"/src/views/tcm/diagnosis/edit.vue":()=>t(()=>import("./edit-DSANIFY1.js"),__vite__mapDeps([384,2,3,80,83,94,18,19,20,21,22,23,24,25,26,27,28,29,30,95,96,91,97,373,374,98,99,100,101,102,103,104,33,105,106,107,108,109,34,110,116,86,117,111,112,113,114,115,385,182,180,183,92,386,387,382])),"/src/views/tcm/diagnosis/index.vue":()=>t(()=>import("./index-C7aL5i0J.js"),__vite__mapDeps([388,2,3,22,80,81,34,28,82,83,33,175,389])),"/src/views/tcm/diagnosis/index_h5.vue":()=>t(()=>import("./index_h5-C6dLmuUl.js"),__vite__mapDeps([79,2,3,80,81,34,82,28,83,33,84])),"/src/views/tcm/diagnosis/readonly.vue":()=>t(()=>import("./readonly-DVkFK3YG.js"),__vite__mapDeps([85,2,3,80,86,87,83,88,89,90,91,92,93,94,18,19,20,21,22,23,24,25,26,27,28,29,30,95,96,97,98,99,100,101,102,103,104,33,105,106,107,108,109,34,110,111,112,113,114,115,116,117,118])),"/src/views/tcm/follow/index.vue":()=>t(()=>import("./index-B7QVL9Pt.js"),__vite__mapDeps([390,2,3,22,80,158,81,34,28,82,83,33,391])),"/src/views/template/component/file.vue":()=>t(()=>import("./file-out4eeUQ.js"),__vite__mapDeps([392,2,3,18,19,20,21,22,23,24,25,26,27,28,29,30])),"/src/views/template/component/icon.vue":()=>t(()=>import("./icon-CSL8-k1_.js"),__vite__mapDeps([393,2,3,300])),"/src/views/template/component/link.vue":()=>t(()=>import("./link-Bi_XydvE.js"),__vite__mapDeps([394,2,3,41,19,20,22,42,28,43])),"/src/views/template/component/overflow.vue":()=>t(()=>import("./overflow-BejtidJF.js"),__vite__mapDeps([395,2,3])),"/src/views/template/component/popover_input.vue":()=>t(()=>import("./popover_input-DFAEiGxG.js"),__vite__mapDeps([396,2,3,27])),"/src/views/template/component/rich_text.vue":()=>t(()=>import("./rich_text-Cd2nXERY.js"),__vite__mapDeps([397,2,3,124,18,19,20,21,22,23,24,25,26,27,28,29,30,125])),"/src/views/template/component/upload.vue":()=>t(()=>import("./upload-7g16At3y.js"),__vite__mapDeps([398,2,3,25,26])),"/src/views/test/patient-call.vue":()=>t(()=>import("./patient-call-DflmousT.js"),__vite__mapDeps([399,2,3,400])),"/src/views/user/setting.vue":()=>t(()=>import("./setting-C3S5ZTbd.js"),__vite__mapDeps([15,2,3,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,13,31])),"/src/views/workbench/index.vue":()=>t(()=>import("./index-C-fDcmBQ.js"),__vite__mapDeps([401,2,3,80,81,317,402]))});function X4(){return Object.keys(C3).map(a=>a.replace("/src/views/","").replace(".vue",""))}function f1(a,o=!0){return a.map(e=>{const i=B6(e,o);return e.children!=null&&e.children&&e.children.length&&(i.children=f1(e.children,!1)),i})}function B6(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:I3,a.children||(i.component=I3);break;case y3.MENU:i.component=C6(a.component);break}return i}function C6(a){try{const o=A1(a),e=Object.keys(C3).find(i=>i.includes(`/${o}.vue`));if(e)return C3[e];throw Error(`找不到组件${a},请确保组件路径正确`)}catch(o){return console.error(o),I3}}function A1(a){return String(a||"").replace(/^\/+/,"").replace(/\/+$/,"")}function S3(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=S3(i.children);if(l)return l}}}function K4(a){var e;return((e=(r3()||H).getRoutes().find(i=>{var l;return((l=i.meta)==null?void 0:l.perms)==a}))==null?void 0:e.path)||""}function S6(){H.removeRoute(M3);const{routes:a}=Y();a.forEach(o=>{const e=o.name;e&&H.hasRoute(e)&&H.removeRoute(e)})}const H=t0({history:i0("/admin/"),routes:D6});function H3(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(!H3(a.query.code))return!1;const e=H3(a.query.state);return e==="bind_wxwork"||e==="admin_bind_wx"?!0:H3(a.query.bind_wxwork)==="1"}const k3=(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(M3,l),e.children&&e.children.length>0&&k3(e.children,i+"/")})}catch(e){console.error("Error adding routes:",e)}},o3=T.LOGIN,k6=T.INDEX,T3="/change-password",v3="/bind-work-wechat",j6=[T.LOGIN,T.ERROR_403];H.beforeEach(async(a,o,e)=>{var c,s,r,n;document.title=a.meta.title??N.title;const i=Y(),l=m3();if(a.path===v3){if(!i.token){e({path:o3});return}e();return}if(a.path===T3){if(!i.token){e({path:o3});return}e();return}if(j6.includes(a.path))e();else if(i.token)if(Object.keys(i.userInfo).length!==0){if(i.isPaw===0){e({path:T3});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(M3)){const p=S3(i.routes);if(!p){t3(),e(T.ERROR_403);return}l.setRouteName(p),_3.redirect={name:p},H.addRoute(_3),k3(i.routes),e({...a,replace:!0});return}a.path===o3?e({path:k6}):e()}else try{if(await i.getUserInfo(),i.isPaw===0){e({path:T3});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,_=S3(p);if(!_){t3(),e(T.ERROR_403);return}l.setRouteName(_),_3.redirect={name:_},H.addRoute(_3),k3(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 N6(){return L.get({url:"/chat/notifications"})}const q6=["onClick"],W6={class:"chat-notify-body"},G6={class:"chat-notify-title"},$6={class:"chat-notify-desc"},U6={class:"patient-name"},F6={class:"doctor-name"},Y6={class:"patient-name"},Z6={class:"patient-name"},X6={class:"chat-notify-time"},K6=["onClick"],J6=5e3,Q6=V({__name:"index",setup(a){const o=r3(),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 N6();Array.isArray(n)&&n.length>0&&(e.value=[...n,...e.value].slice(0,10))}catch{}}return _1(()=>{r(),i.value=setInterval(r,J6)}),l0(()=>{i.value&&clearInterval(i.value)}),(n,v)=>{const p=o1;return h(),A(c0,{to:"body"},[u(d0,{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(s0),{key:0})):_.type==="consultation_complete"?(h(),A(m(n0),{key:1})):(h(),A(m(r0),{key:2}))]),_:2},1024)],2),d("div",W6,[d("div",G6,R(_.type==="consultation_complete"?"面诊结束":_.type==="patient_left_chat"?"患者离开会话":"患者打开会话"),1),d("div",$6,[_.type==="consultation_complete"?(h(),g(D,{key:0},[d("span",U6,R(_.patient_name||"患者"),1),v[0]||(v[0]=I(" 的面诊已由 ",-1)),d("span",F6,R(_.doctor_name||"医生"),1),v[1]||(v[1]=I(" 完成,请及时跟进 ",-1))],64)):_.type==="patient_left_chat"?(h(),g(D,{key:1},[d("span",Y6,R(_.patient_name||"患者"),1),v[2]||(v[2]=I(" 已离开问诊会话页面 ",-1))],64)):(h(),g(D,{key:2},[d("span",Z6,R(_.patient_name||"患者"),1),v[3]||(v[3]=I(" 已打开与您的会话,请及时查看 ",-1))],64))]),d("div",X6,R(l(_.created_at)),1)]),d("button",{class:"chat-notify-close",onClick:u0(w=>c(_.id),["stop"]),"aria-label":"关闭"},[u(p,{size:14},{default:z(()=>[u(m(m0))]),_:1})],8,K6)],10,q6))),128))]),_:1})])}}}),a4=P(Q6,[["__scopeId","data-v-2fb1f024"]]),o4=V({__name:"App",setup(a){const o=S(),e=W(),i=Y(),l=L3(),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:p0},r=e1();_1(async()=>{console.log("主题颜色",r.value),e.setTheme(r.value)});const{width:n}=h0();return i1(n,_0(v=>{v>R3.SM?(o.setMobile(!1),o.toggleCollapsed(!1)):(o.setMobile(!0),o.toggleCollapsed(!0)),v{const _=n3("router-view"),w=v0;return h(),A(w,{locale:s.locale,"z-index":s.zIndex},{default:z(()=>[u(_),c.value?(h(),A(a4,{key:0})):B("",!0)]),_:1},8,["locale","z-index"])}}}),O3="data-clipboard-text",e4={mounted:(a,o)=>{a.setAttribute(O3,o.value);const{toClipboard:e}=z0();a.onclick=()=>{e(a.getAttribute(O3)).then(()=>{X.msgSuccess("复制成功")}).catch(()=>{X.msgError("复制失败")})}},updated:(a,o)=>{a.setAttribute(O3,o.value)}},t4=Object.freeze(Object.defineProperty({__proto__:null,default:e4},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 i4={mounted:(a,o)=>{Z3(a,o)},updated:(a,o)=>{Z3(a,o)}},l4=Object.freeze(Object.defineProperty({__proto__:null,default:i4},Symbol.toStringTag,{value:"Module"}));b0([y0,g0,w0,f0,A0,V0,L0,M0,E0,x0,H0,T0,O0,I0,R0,P0,D0,B0,C0,S0,k0,j0,N0,q0,W0]);const c4=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),s4=a=>{for(const[o,e]of Object.entries(a1))a.component(o,e)},n4=Object.freeze(Object.defineProperty({__proto__:null,default:s4},Symbol.toStringTag,{value:"Module"}));console.log(G0);const r4=a=>{a.use($0)},m4=Object.freeze(Object.defineProperty({__proto__:null,default:r4},Symbol.toStringTag,{value:"Module"})),u4=U0(),d4=a=>{a.use(u4)},h4=Object.freeze(Object.defineProperty({__proto__:null,default:d4},Symbol.toStringTag,{value:"Module"}));function _4(a){a.beforeEach(async()=>{const o=S();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 v4=Object.freeze(Object.defineProperty({__proto__:null,default:_4},Symbol.toStringTag,{value:"Module"})),X3=Object.assign({"./init.ts":v4});function p4(a){Object.keys(X3).forEach(o=>{const e=X3[o].default;typeof e=="function"&&e(a)})}const z4=a=>{p4(H),a.use(H)},b4=Object.freeze(Object.defineProperty({__proto__:null,default:z4},Symbol.toStringTag,{value:"Module"}));function y4(a){typeof window<"u"&&(window.__TUIKIT_INITIALIZED__=!0)}const g4=Object.freeze(Object.defineProperty({__proto__:null,default:y4},Symbol.toStringTag,{value:"Module"})),K3=Object.assign({"./directives/copy.ts":t4,"./directives/perms.ts":l4,"./plugins/echart.ts":c4,"./plugins/element.ts":n4,"./plugins/hljs.ts":m4,"./plugins/pinia.ts":h4,"./plugins/router.ts":b4,"./plugins/tuikit.ts":g4});function w4(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 f4={install:w4},V1=F0(o4);V1.use(f4);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{E4 as A,K2 as B,M4 as C,q4 as D,W4 as E,U4 as F,Z4 as G,F4 as H,$4 as I,G4 as J,Y4 as K,O4 as L,y3 as M,x4 as N,N4 as O,T as P,R4 as Q,F as R,P as _,H4 as a,T4 as b,G as c,I4 as d,S as e,q as f,b1 as g,z6 as h,X as i,G2 as j,K4 as k,W as l,P4 as m,i3 as n,v6 as o,N as p,U3 as q,L as r,j4 as s,k4 as t,Y as u,X4 as v,S4 as w,C4 as x,D4 as y,B4 as z}; diff --git a/server/public/admin/assets/index-BANIMLkY.js b/server/public/admin/assets/index-CNLsF7Nt.js similarity index 93% rename from server/public/admin/assets/index-BANIMLkY.js rename to server/public/admin/assets/index-CNLsF7Nt.js index 9d528ffe..bd2b515a 100644 --- a/server/public/admin/assets/index-BANIMLkY.js +++ b/server/public/admin/assets/index-CNLsF7Nt.js @@ -1 +1 @@ -import{o as k,R as B,q as l,r as v,T as m,O as b,D as I,F as w,G as x,u,bn as M,s as p,bm as C,M as h,p as D}from"./.pnpm-9dA1PEvN.js";import{m as E}from"./medicine-CQDW2OUZ.js";import{_ as O}from"./index-CJvXnF8Y.js";const S={key:0,class:"medicine-name-readonly"},q={class:"medicine-name-option"},F={class:"medicine-name-option__meta"},L=k({__name:"index",props:{modelValue:{},medicineId:{},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","update:medicineId"],setup(d,{emit:g}){const t=d,c=g,r=h(!1),o=h([]),V=D(()=>{const e=Number(t.medicineId);return Number.isInteger(e)&&e>0?e:(t.modelValue||"").trim()?0:""});function f(){const e=(t.modelValue||"").trim();if(!e)return;const n=Number(t.medicineId),a=Number.isInteger(n)&&n>0?n:0;o.value.some(s=>s.id===a)||(o.value=[{id:a,name:e},...o.value])}const _=async e=>{r.value=!0;try{const n=(e||"").trim(),a=await E({name:n||void 0,page_no:1,page_size:100,status:1});o.value=a.lists||[],f()}catch(n){console.error(n),o.value=[]}finally{r.value=!1}},y=e=>{e&&o.value.length===0&&_("")},N=e=>{const n=Number(e),a=n>0?o.value.find(s=>s.id===n):void 0;c("update:modelValue",(a==null?void 0:a.name)||""),c("update:medicineId",a==null?void 0:a.id)};return B(()=>[t.modelValue,t.medicineId],()=>{!(t.modelValue||"").trim()&&Number(t.medicineId)>0&&c("update:medicineId",void 0),f()},{immediate:!0}),(e,n)=>{const a=M,s=C;return d.disabled?(l(),v("span",S,m(d.modelValue||"—"),1)):(l(),b(s,{key:1,"model-value":u(V),class:"medicine-name-select w-full",filterable:"",remote:"","reserve-keyword":"",placeholder:"搜索药材名称或拼音首字母","remote-method":_,loading:u(r),clearable:"",onVisibleChange:y,"onUpdate:modelValue":N},{default:I(()=>[(l(!0),v(w,null,x(u(o),i=>(l(),b(a,{key:i.id,label:i.name,value:i.id},{default:I(()=>[p("div",q,[p("span",null,m(i.name),1),p("span",F,m(i.id>0?[i.supplier,i.unit,`ID ${i.id}`].filter(Boolean).join(" · "):"历史名称,请重新选择"),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["model-value","loading"]))}}}),G=O(L,[["__scopeId","data-v-74b65e79"]]);export{G as M}; +import{o as k,R as B,q as l,r as v,T as m,O as b,D as I,F as w,G as x,u,bn as M,s as p,bm as C,M as h,p as D}from"./.pnpm-9dA1PEvN.js";import{m as E}from"./medicine-DezWRkkS.js";import{_ as O}from"./index-BWzN7QIb.js";const S={key:0,class:"medicine-name-readonly"},q={class:"medicine-name-option"},F={class:"medicine-name-option__meta"},L=k({__name:"index",props:{modelValue:{},medicineId:{},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","update:medicineId"],setup(d,{emit:g}){const t=d,c=g,r=h(!1),o=h([]),V=D(()=>{const e=Number(t.medicineId);return Number.isInteger(e)&&e>0?e:(t.modelValue||"").trim()?0:""});function f(){const e=(t.modelValue||"").trim();if(!e)return;const n=Number(t.medicineId),a=Number.isInteger(n)&&n>0?n:0;o.value.some(s=>s.id===a)||(o.value=[{id:a,name:e},...o.value])}const _=async e=>{r.value=!0;try{const n=(e||"").trim(),a=await E({name:n||void 0,page_no:1,page_size:100,status:1});o.value=a.lists||[],f()}catch(n){console.error(n),o.value=[]}finally{r.value=!1}},y=e=>{e&&o.value.length===0&&_("")},N=e=>{const n=Number(e),a=n>0?o.value.find(s=>s.id===n):void 0;c("update:modelValue",(a==null?void 0:a.name)||""),c("update:medicineId",a==null?void 0:a.id)};return B(()=>[t.modelValue,t.medicineId],()=>{!(t.modelValue||"").trim()&&Number(t.medicineId)>0&&c("update:medicineId",void 0),f()},{immediate:!0}),(e,n)=>{const a=M,s=C;return d.disabled?(l(),v("span",S,m(d.modelValue||"—"),1)):(l(),b(s,{key:1,"model-value":u(V),class:"medicine-name-select w-full",filterable:"",remote:"","reserve-keyword":"",placeholder:"搜索药材名称或拼音首字母","remote-method":_,loading:u(r),clearable:"",onVisibleChange:y,"onUpdate:modelValue":N},{default:I(()=>[(l(!0),v(w,null,x(u(o),i=>(l(),b(a,{key:i.id,label:i.name,value:i.id},{default:I(()=>[p("div",q,[p("span",null,m(i.name),1),p("span",F,m(i.id>0?[i.supplier,i.unit,`ID ${i.id}`].filter(Boolean).join(" · "):"历史名称,请重新选择"),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["model-value","loading"]))}}}),G=O(L,[["__scopeId","data-v-74b65e79"]]);export{G as M}; diff --git a/server/public/admin/assets/index-CXnBTg6O.js b/server/public/admin/assets/index-CXnBTg6O.js new file mode 100644 index 00000000..397266c2 --- /dev/null +++ b/server/public/admin/assets/index-CXnBTg6O.js @@ -0,0 +1,7 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DxLWCQnV.js","assets/.pnpm-9dA1PEvN.js","assets/.pnpm-LiWq8Xu0.css","assets/tcm-Fi_swgCr.js","assets/index-BWzN7QIb.js","assets/index-or10At3s.css","assets/perm-BzF8JgcJ.js","assets/DailyMatrix-BOqZMkKS.js","assets/picker-DfI3CPnQ.js","assets/index-dYaCh-CN.js","assets/index-dh40Du6y.css","assets/index-xDQ_OZln.js","assets/index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js","assets/index-fA0EWEUO.js","assets/index-BYMg0OFw.css","assets/index-DFkJDhf6.js","assets/file-BL6iPgPC.js","assets/index.vue_vue_type_script_setup_true_lang-Blf417m7.js","assets/usePaging-Boz1Q6w3.js","assets/index-D6uL8V1j.css","assets/picker-CLzhBfnG.css","assets/DiagnosisTodoList-CAIMA53u.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix--Ay5C05Q.css","assets/CaseRecordList-DlCqPijV.js","assets/CaseRecordList-DEgrl9PS.css","assets/CallRecordPanel-CJ3iGibG.js","assets/RecordingPlaybackBlock-CN4w1UI-.js","assets/RecordingVideoPlayer-DIfduEP7.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-p7h_1hh9.css","assets/ImChatRecordPanel-BMjxk7mx.js","assets/dayjs-BsOAYQJw.js","assets/im-business-message-parse-DmDISFGN.js","assets/ImChatRecordPanel-BRnJl8ir.css","assets/AssignLogPanel-CF42MNq_.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DxBIlcME.js","assets/doctor-Chj6BcVp.js","assets/AppointmentRecordPanel-BWS3OyF0.css","assets/NoteTimeline-DxUNQs4y.js","assets/patient-Btpwd7dp.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-CKjXSixL.js","assets/PrescriptionOrderDetailDrawer-CEi7ZXfx.js","assets/prescription-order-utils-B0fYlULc.js","assets/PrescriptionOrderDetailDrawer-DL92yzHH.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-B5cu05RL.js","assets/index-CNLsF7Nt.js","assets/medicine-DezWRkkS.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-DxQanmqx.css","assets/edit-Cgsl1tY9.css","assets/TrackingNoteTimeline-C-2kS81H.css"])))=>i.map(i=>d[i]); +import{o as Zt,W as $l,R as Ie,ap as Pl,be as Dl,q as p,r as b,v as a,D as s,s as i,bc as Rl,bb as Tl,L as c,b9 as Al,b6 as Ol,b7 as El,b8 as _t,u as j,bm as Ll,F as E,G as Y,O as x,bn as zl,K as Fl,bg as Il,ac as O,bi as jl,bj as Ml,bk as Hl,T as f,br as Wl,P as v,C as ql,c6 as Bl,bz as Yl,bh as Gl,c7 as Kl,c8 as Jl,bf as Ql,J as Xl,bp as Zl,c9 as es,aw as Ne,B as ts,bt as as,b_ as ls,b$ as ss,ca as ns,ad as ct,I as os,a1 as is,ae as rs,bA as us,bs as ds,cb as ps,al as ms,ba as Se,M as k,p as U,n as ae,cc as _s,cd as cs}from"./.pnpm-9dA1PEvN.js";import{_ as fs}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{u as gs,c as bs,i as N,m as vs,_ as ys}from"./index-BWzN7QIb.js";import{g as xs,j as ks,h as Vs,k as ft,l as hs,m as ws,n as Ns,o as Ss,q as Cs,r as Us,s as $s,t as Ps}from"./tcm-Fi_swgCr.js";import{m as Ds}from"./medicine-DezWRkkS.js";import{r as Rs}from"./role-CrpOZd5J.js";import{u as Ts}from"./usePaging-Boz1Q6w3.js";import{h as As}from"./perm-BzF8JgcJ.js";import{_ as Os}from"./index.vue_vue_type_script_setup_true_lang-C38LpCy9.js";import{M as Xt}from"./index-CNLsF7Nt.js";const Es={class:"prescription-list"},Ls={class:"pl-toolbar"},zs={class:"pl-toolbar__line"},Fs={class:"pl-toolbar__line pl-toolbar__line--second"},Is={class:"pl-toolbar__actions"},js={class:"pl-table-head"},Ms={class:"flex items-center gap-2"},Hs={class:"mt-3"},Ws={class:"font-medium"},qs={class:"text-xs text-gray-400 mt-0.5"},Bs={key:1,class:"text-gray-400 text-sm"},Ys={class:"font-medium"},Gs={class:"text-xs text-gray-500 mt-0.5"},Ks={class:"flex flex-col gap-1"},Js={class:"flex flex-wrap items-center gap-1"},Qs={key:0,class:"text-xs text-gray-500"},Xs=["title"],Zs={key:1,class:"text-gray-400"},en={class:"font-medium"},tn={class:"text-xs text-gray-500 mt-0.5"},an={class:"text-sm"},ln={class:"flex mt-2 justify-end"},sn={key:0,class:"rx-wrap"},nn={class:"rx-toolbar"},on={key:0,class:"rx-status rx-status-danger"},rn={key:1,class:"rx-status rx-status-danger"},un={key:0,class:"mt-1"},dn={key:2,class:"rx-status rx-status-danger"},pn={key:0,class:"mt-1"},mn={class:"rx-notice"},_n={class:"rx-notice-meta"},cn={class:"rx-info"},fn={class:"rx-info-row"},gn={class:"rx-info-cell"},bn={class:"rx-val"},vn={class:"rx-info-cell"},yn={class:"rx-val"},xn={class:"rx-info-cell"},kn={class:"rx-val"},Vn={class:"rx-info-cell"},hn={class:"rx-val"},wn={class:"rx-info-row rx-info-row-full"},Nn={class:"rx-info-cell"},Sn={class:"rx-val"},Cn={class:"rx-info-row rx-info-row-full"},Un={class:"rx-info-cell"},$n={class:"rx-val"},Pn={class:"rx-rp"},Dn={class:"rx-herbs"},Rn={class:"rx-herb-name"},Tn={class:"rx-herb-total"},An={class:"rx-herb-name"},On={class:"rx-herb-total"},En={class:"rx-text"},Ln={key:0},zn={key:1},Fn={key:2},In={key:3},jn={key:4,class:"rx-text-warn"},Mn={key:5,class:"rx-text-warn"},Hn={class:"rx-bottom"},Wn={class:"rx-bot-row rx-bot-row-1"},qn={class:"rx-bot-cell rx-bot-stack rx-bot-doctor"},Bn={class:"rx-bot-doctor-body"},Yn=["src"],Gn={key:1,class:"rx-bot-doctor-name"},Kn={class:"rx-bot-cell rx-bot-meta"},Jn={class:"rx-bot-meta-val"},Qn={class:"rx-bot-cell rx-bot-meta"},Xn={class:"rx-bot-meta-val"},Zn={class:"rx-bot-cell rx-bot-meta"},eo={class:"rx-bot-meta-val"},to={key:4,class:"rx-audit"},ao={key:0},lo={key:0,class:"ml-2 text-gray-400"},so={key:1,class:"mt-1"},no={class:"text-sm mt-1"},oo={key:0,class:"text-sm mt-2 text-gray-800 font-medium"},io={key:5,class:"mb-3 flex flex-wrap items-center gap-2 pl-[120px]"},ro={class:"text-xs text-gray-400"},uo={class:"w-full"},po={class:"flex flex-wrap items-center gap-2"},mo={key:0,class:"flex items-center gap-2 flex-wrap mt-2 text-xs text-[var(--el-color-danger)]"},_o={class:"herb-formula-block mt-3"},co={class:"herb-formula-block__head"},fo={key:1,class:"text-gray-400 text-xs"},go={class:"herb-formula-block mt-4"},bo={class:"herb-formula-block__head"},vo={key:1,class:"text-gray-400 text-xs"},yo={class:"text-sm mt-1 leading-relaxed"},xo={key:0,class:"mb-1.5"},ko={class:"font-mono text-primary"},Vo={class:"mb-1.5"},ho={class:"whitespace-pre-wrap"},wo={key:1,class:"text-gray-600"},No={class:"signature-pad-wrap"},So={class:"signature-actions"},Co={class:"text-gray-700"},Uo={class:"create-order-dialog__inner"},$o={key:0,class:"create-order-rx-card"},Po={class:"create-order-rx-card__head"},Do={class:"create-order-rx-card__meta"},Ro={class:"create-order-rx-card__id"},To={key:0,class:"create-order-rx-card__sn"},Ao={class:"create-order-rx-card__patient"},Oo={class:"create-order-step-lead"},Eo={class:"create-order-step-panel"},Lo={class:"create-order-step-panel"},zo={class:"flex items-center gap-1 w-full"},Fo={class:"flex flex-col gap-0.5",style:{"line-height":"normal"}},Io={class:"flex items-center justify-between"},jo={class:"font-medium text-[13px] text-gray-800"},Mo={class:"text-orange-500 font-medium ml-4"},Ho={class:"flex items-center justify-between text-xs text-gray-400 mt-1"},Wo={class:"truncate pr-2"},qo={class:"shrink-0"},Bo={class:"create-order-pay-hint text-gray-500"},Yo={class:"text-amber-600 font-medium"},Go={class:"create-order-step-panel"},Ko={class:"create-order-deposit-bar__cell"},Jo={class:"create-order-deposit-bar__sub"},Qo={class:"create-order-deposit-bar__cell"},Xo={class:"create-order-deposit-bar__sub"},Zo={class:"create-order-footer"},ei={class:"create-order-footer__hint"},ti={class:"create-order-footer__step"},ai={key:0,class:"create-order-footer__warn"},li={class:"create-order-footer__actions"},si={class:"mb-4 flex gap-3"},ni={class:"mb-3 flex flex-wrap items-center gap-x-4 gap-y-2"},oi={key:0},ii={key:1,class:"text-gray-400"},ri={class:"flex justify-end mt-4"},ui={class:"mt-3 flex flex-wrap items-center gap-x-4 gap-y-2"},di=Zt({name:"prescriptionList"}),pi=Zt({...di,setup(mi){const ea=ps(()=>ms(()=>import("./edit-DxLWCQnV.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])));function Ce(t="浓缩水丸"){return t==="饮片"?{dosage_amount:50,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}:t==="浓缩水丸"?{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 gt(t,e){const o=Ce(e);if(!t||typeof t!="object")return{...o};const u=t;return{dosage_amount:u.dosage_amount!==null&&u.dosage_amount!==void 0&&u.dosage_amount!==""?Number(u.dosage_amount):o.dosage_amount,dosage_bag_count:u.dosage_bag_count!=null?Number(u.dosage_bag_count)||1:o.dosage_bag_count,need_decoction:u.need_decoction===1||u.need_decoction===!0,bags_per_dose:u.bags_per_dose!=null?Number(u.bags_per_dose)||1:o.bags_per_dose,times_per_day:u.times_per_day!=null?Number(u.times_per_day)||3:o.times_per_day,usage_days:u.usage_days!=null?Number(u.usage_days)||7:o.usage_days,prescription_name:String(u.prescription_name??"").trim()}}function bt(t,e,o){const u=t.prescription_type||"浓缩水丸",m=Number(t.times_per_day)>0?Number(t.times_per_day):3,d=t.dosage_amount!=null?Number(t.dosage_amount):10,r=t.dosage_unit||(u==="饮片"?"ml":"g"),V=t.usage_way||e||"温水送服",L=t.usage_time||o||"",y=[];if(y.push(`每天${m}次`),u==="浓缩水丸"){const J=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;y.push(`一次${J}袋`),y.push(`每袋${d}${r}`)}else y.push(`一次${d}${r}`);return y.push(V),L&&y.push(L),y.join(", ")}function q(t){return t==="辅方"?"辅方":"主方"}function je(t){const e={name:String((t==null?void 0:t.name)??"").trim(),dosage:Number(t==null?void 0:t.dosage)||0,formula_type:q(t==null?void 0:t.formula_type)},o=Number((t==null?void 0:t.medicine_id)??(t==null?void 0:t.id)??0);return Number.isInteger(o)&&o>0&&(e.medicine_id=o),((t==null?void 0:t.locked)===!0||(t==null?void 0:t.locked)===1)&&(e.locked=!0),e}function Me(t){return t?Array.isArray(t)?t.map(e=>je(e)):[]:[]}const ue=gs(),vt=$l();function ta(){const t=vt.getRoutes().find(e=>{var o;return((o=e.meta)==null?void 0:o.perms)==="tcm.prescriptionOrder/lists"});t!=null&&t.path?vt.push(t.path):N.msgWarning("未配置「处方业务订单」菜单,请在权限管理中执行菜单 SQL 或手动添加路由")}const S=Se({sn:"",patient_name:"",creator_ids:[],audit_filter:"all",source_filter:"all",start_time:"",end_time:""}),He=k([]),G=k("all"),Q=k(!1),R=k("add"),We=k(!1),Z=k(),K=k(),de=k(null),le=560,se=168,g=k(null),qe=k(!1),yt=k([]),pe=k(!1),xt=k(0),ne=k(""),Ue=k(!1),me=k(!1),Be=k(!1),Ye=k(),P=Se({id:0,patient_name:"",gender:1,phone:""}),aa={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]};function la(t){P.id=Number(t.id)||0,P.patient_name=String(t.patient_name??"").trim();const e=Number(t.gender);P.gender=e===0||e===1?e:1,P.phone=String(t.phone??"").trim(),me.value=!0}function sa(){var t;P.id=0,P.patient_name="",P.gender=1,P.phone="",(t=Ye.value)==null||t.clearValidate()}async function na(){const t=Ye.value;if(t){try{await t.validate()}catch{return}Be.value=!0;try{await ks({id:P.id,patient_name:P.patient_name.trim(),phone:P.phone.trim(),gender:P.gender}),N.msgSuccess("已保存"),me.value=!1,ee()}catch(e){const o=e&&typeof e=="object"&&"msg"in e?String(e.msg):"";N.msgError(o||"保存失败")}finally{Be.value=!1}}}const _e=k(!1),T=k(0),oa=U(()=>["请核对诊单患者并填写完整收货信息,便于发货与物流联系。","按需填写服务相关信息,并选择本诊单下需要关联的支付单。","确认费用类别与订单金额;提交前请对照定金门槛是否已满足。"][T.value]??""),ia=["patient_id","recipient_name","recipient_phone","region","shipping_address"],B=k(null),ce=k(),Ge=k(!1),Ke=k(!1),X=k([]),oe=k([]),Je=k(!1),D=k(0);function ie(t){const e=Number(t);return Number.isNaN(e)?"—":e.toFixed(2)}function kt(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(t)]||"未知"}const _=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:[]}),ra=U(()=>As(["tcm.prescriptionOrder/setShipMode"])),fe=k([]),Qe=k([]),ua=t=>t.map(e=>{var o;return{name:e.province,code:e.code,children:((o=e.citys)==null?void 0:o.map(u=>{var m;return{name:u.city,code:u.code,children:((m=u.areas)==null?void 0:m.map(d=>({name:d.area,code:d.code})))||[]}}))||[]}}),da=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),fe.value=ua(o),console.log("regionOptions 已设置,条数:",fe.value.length)}catch(t){console.error("加载省市区数据失败:",t),fe.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("使用后备数据,条数:",fe.value.length)}},pa=async()=>{try{const t=await vs({type:"server_order"});Qe.value=((t==null?void 0:t.server_order)||[]).filter(e=>e.status!==0)}catch{Qe.value=[]}},ma=t=>{console.log("选择的省市区:",t)},Xe=U(()=>{const t=new Set(_.pay_order_ids.map(o=>Number(o)));let e=0;for(const o of oe.value)t.has(Number(o.id))&&(e+=Number(o.amount)||0);return Math.round(e*100)/100}),_a=U(()=>{const t=D.value;return t>0?Math.round(t*100)/100:0}),ca=U(()=>{const t={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,u)=>{const m=D.value,d=Number(o);if(m>0&&(!Number.isFinite(d)||d0){const e=`已开启关联支付门槛(¥${ie(D.value)}),请至少选择一笔支付单`;t.pay_order_ids=[{type:"array",required:!0,min:1,message:e,trigger:"change"}]}return t});function Vt(){var t;T.value=0,_.patient_id="",_.recipient_name="",_.recipient_phone="",_.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=[],X.value=[],oe.value=[],D.value=0,B.value=null,(t=ce.value)==null||t.clearValidate()}function fa(){const t=D.value;if(t<=0)return;const e=Math.round(t*100)/100;Number(_.amount)_.patient_id,()=>{_.pay_order_ids=[],ht()});async function ga(t){var m;if(Number(t==null?void 0:t.void_status)===1){N.msgWarning("已作废处方不可创建业务订单");return}Vt(),B.value=t;const e=Number(t.diagnosis_id)||0;e>0&&(_.patient_id=e,_.recipient_name=t.patient_name||"",_.recipient_phone=String(t.phone||"").trim(),X.value=[{id:e,patient_name:t.patient_name||"",phone:String(t.phone||"").trim()}]);const o=Number(t.usage_days);o>0&&(_.medication_days=o),_e.value=!0,ht();const u=t.id;if(u&&!_.recipient_phone)try{const d=await ft({id:u}),r=d&&typeof d.phone=="string"?d.phone.trim():"";if(r&&((m=B.value)==null?void 0:m.id)===u){_.recipient_phone=r;const V=X.value[0];V&&Number(V.id)===e&&(V.phone=r)}}catch{}}async function ba(t){if(!t){X.value=[];return}try{Ke.value=!0;const e=await searchPatientsAPI({keyword:t,page_no:1,page_size:10});X.value=(e==null?void 0:e.lists)||[]}catch{X.value=[]}finally{Ke.value=!1}}function va(t){const e=X.value.find(o=>Number(o.id)===Number(t));e&&(_.recipient_name=e.patient_name||"",_.recipient_phone=e.phone||"")}function ya(){T.value>0&&(T.value-=1)}async function xa(){const t=ce.value;if(t)try{T.value===0?await t.validateField([...ia]):T.value===1&&D.value>0&&await t.validateField(["pay_order_ids"]),T.value<2&&(T.value+=1)}catch{}}async function ka(){if(!(!ce.value||!B.value)&&T.value===2)try{await ce.value.validate(),Ge.value=!0;const t=Number(_.patient_id),e={prescription_id:B.value.id,diagnosis_id:t,recipient_name:_.recipient_name,recipient_phone:_.recipient_phone,shipping_address:_.shipping_address,is_follow_up:_.is_follow_up,prev_staff:_.prev_staff||"",service_channel:_.service_channel||"",service_package:Array.isArray(_.service_package)&&_.service_package.length>0?_.service_package.join(","):"",express_company:_.express_company||"auto",tracking_number:_.tracking_number||"",ship_mode:_.ship_mode,fee_type:_.fee_type,amount:_.amount,remark_extra:_.remark_extra||"",remark_assistant:_.remark_assistant||""};_.region&&_.region.length>=3&&(e.shipping_province=_.region[0],e.shipping_city=_.region[1],e.shipping_district=_.region[2]),_.medication_days!=null&&_.medication_days>0&&(e.medication_days=_.medication_days),_.internal_cost!=null&&_.internal_cost>0&&(e.internal_cost=_.internal_cost),_.pay_order_ids.length&&(e.pay_order_ids=[..._.pay_order_ids]);const o=await hs(e),u=(o==null?void 0:o.data)??o,m=u==null?void 0:u.order_no;N.msgSuccess(m?`业务订单已创建,单号:${m}`:"业务订单已创建"),_e.value=!1,ee()}catch(t){console.error(t)}finally{Ge.value=!1}}const $e=k(!1),Pe=k(!1),wt=U(()=>{const t=$e.value,e=Pe.value;return!t&&!e?"":t&&e?"当前处方已作废且已驳回。保存后将取消作废、清除驳回,并重新进入待审核。":t?"当前为已作废处方。保存后将取消作废,并重新进入待审核。":"当前为已驳回处方。保存后将清除驳回,并重新进入待审核。"}),ge=U(()=>{var e;const t=(e=g.value)==null?void 0:e.herbs;return Array.isArray(t)?t:[]}),Nt=U(()=>ge.value.filter(t=>q(t.formula_type)==="主方")),Ze=U(()=>ge.value.filter(t=>q(t.formula_type)==="辅方")),Va=U(()=>n.herbs.map((t,e)=>({herb:t,index:e})).filter(({herb:t})=>q(t.formula_type)==="主方")),St=U(()=>n.herbs.map((t,e)=>({herb:t,index:e})).filter(({herb:t})=>q(t.formula_type)==="辅方")),M=U(()=>n.herbs.some(t=>t.locked===!0)),Ct=U(()=>{var e;const t=(e=g.value)==null?void 0:e.dietary_taboo;return Array.isArray(t)?t.filter(Boolean).join("、"):typeof t=="string"&&t.trim()?t.trim():""}),Ut=k(null),et=k(!1),De=t=>String(t).padStart(2,"0"),ha=U(()=>{const t=g.value;if(!t)return"—";const e=t.create_time??t.update_time??null;if(e){const o=String(e).length===10?Number(e)*1e3:Number(e),u=new Date(o);if(!isNaN(u.getTime()))return`${u.getFullYear()}-${De(u.getMonth()+1)}-${De(u.getDate())} ${De(u.getHours())}:${De(u.getMinutes())}`}return t.prescription_date||"—"}),wa=U(()=>{const t=g.value;return t?t.order_no||t.serial_no||t.serial_number||t.no||t.prescription_no||t.visit_no||(t.id?`G${t.id}`:"—"):"—"}),Na=U(()=>{const t=g.value;if(!t)return"—";if(t.recipient_text)return t.recipient_text;const e=[];(t.recipient_name||t.patient_name)&&e.push(t.recipient_name||t.patient_name),(t.recipient_phone||t.phone)&&e.push(t.recipient_phone||t.phone);let o=t.region;return Array.isArray(o)&&(o=o.filter(Boolean).join("")),o&&e.push(String(o)),t.shipping_address?e.push(String(t.shipping_address)):t.address&&e.push(String(t.address)),e.length?e.join(","):"—"}),$t=U(()=>{var e;const t=Number((e=g.value)==null?void 0:e.dose_count);return Number.isFinite(t)&&t>0?t:1}),Sa=U(()=>{const e=ge.value.reduce((o,u)=>o+(Number(u==null?void 0:u.dosage)||0),0);return be(e)}),Pt=t=>{const e=Number(t)||0;return be(e*$t.value)},Ca=U(()=>{const t=g.value;if(!t)return"—";const e=t.prescription_type||"浓缩水丸";return/丸|散|膏|片/.test(e)?`浓缩丸-${e}`:e}),Ua=U(()=>{const t=g.value;return t?t.usage_text?t.usage_text:bt(t):"—"}),Dt=U(()=>{const t=g.value;if(!t||!Ze.value.length)return"";const e=gt(t.aux_usage,t.prescription_type||"浓缩水丸");return bt({prescription_type:t.prescription_type,dosage_amount:e.dosage_amount,dosage_unit:t.dosage_unit,dosage_bag_count:e.dosage_bag_count,times_per_day:e.times_per_day,usage_way:t.usage_way,usage_time:t.usage_time},t.usage_way,t.usage_time)}),Rt=U(()=>{const t=g.value;return t&&t.medical_advice||""}),Tt=U(()=>{const t=g.value;if(!t)return"";const e=[];return e.push(`共${ge.value.length}味药`),t.usage_notes&&e.push(String(t.usage_notes)),t.remark&&e.push(String(t.remark)),e.join(" ")}),At=U(()=>{const t=g.value;return t&&(t.pharmacy_remark||t.pharmacy_note)||""}),Ot=U(()=>{const t=g.value;if(!t)return"";const e=$a(t);return e?`${e}克`:""});function $a(t){if(!t)return"";if((t.prescription_type||"浓缩水丸")==="浓缩水丸"){const m=Number(t.medication_days??t.usage_days??t.dose_count),d=Number(t.times_per_day),r=Number(t.dosage_amount),V=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;if(Number.isFinite(m)&&Number.isFinite(d)&&Number.isFinite(r)&&m>0&&d>0&&r>0)return be(m*d*r*V)}const e=t.out_pellet||t.total_weight;if(e&&Number(e)>0)return be(Number(e));const o=ge.value;if(!o.length)return"";const u=o.reduce((m,d)=>m+(Number(d==null?void 0:d.dosage)||0),0);return be(u*$t.value)}function be(t){return isFinite(t)?Number.isInteger(t)?String(t):t.toFixed(2).replace(/\.?0+$/,""):"0"}function Pa(){g.value&&ae(()=>{try{window.print()}catch(t){console.error(t)}})}async function Da(){var e,o,u;const t=Ut.value;if(!t){N.msgWarning("处方笺尚未渲染完成");return}et.value=!0;try{await ae(),await new Promise(F=>requestAnimationFrame(()=>F(null))),await new Promise(F=>setTimeout(F,250));const m=await _s(t,{scale:2,backgroundColor:"#ffffff",useCORS:!0,allowTaint:!1,logging:!1,windowWidth:t.scrollWidth,windowHeight:t.scrollHeight,width:t.scrollWidth,height:t.scrollHeight}),d=m.toDataURL("image/jpeg",.95),r=new cs({unit:"mm",format:"a4",orientation:"portrait"}),V=210,L=297,y=V,J=m.height*y/m.width;if(J<=L)r.addImage(d,"JPEG",0,0,y,J);else{let F=J,ze=0;for(;F>0;)r.addImage(d,"JPEG",0,ze,y,J),F-=L,ze-=L,F>0&&r.addPage()}const dt=((e=g.value)==null?void 0:e.patient_name)||"处方",C=((o=g.value)==null?void 0:o.id)||"",A=((u=g.value)==null?void 0:u.prescription_date)||"";r.save(`处方-${dt}${A?"-"+A:""}${C?"-"+C:""}.pdf`)}catch(m){console.error("下载处方 PDF 失败:",m),N.msgError((m==null?void 0:m.message)||"下载失败,请重试")}finally{et.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("浓缩水丸")}),$=Se({loading:!1,orderNo:"",medicationDays:null,remarkAssistant:""});function Ra(){$.loading=!1,$.orderNo="",$.medicationDays=null,$.remarkAssistant=""}async function Ta(t){if($.orderNo="",$.medicationDays=null,$.remarkAssistant="",!t){$.loading=!1;return}$.loading=!0;try{const e=await Ps({page_no:1,page_size:5,prescription_id:t}),o=e==null?void 0:e.lists,u=Array.isArray(o)&&o.length?o[0]:null;if(u){$.orderNo=String(u.order_no||"").trim();const m=u.medication_days,d=m!=null&&String(m).trim()!==""?Number(m):NaN;$.medicationDays=Number.isFinite(d)&&d>0?d:null,$.remarkAssistant=String(u.remark_assistant||"").trim()}}catch{}finally{$.loading=!1}}const Et=k(null);function Aa(){var e;const t=Number(n.diagnosis_id);if(!t){N.msgWarning("本处方未关联诊单,无法查看诊单患者信息");return}(e=Et.value)==null||e.openViewOnly(t)}const Re=k(!1);Ie(()=>n.prescription_type,t=>{Re.value||(t==="浓缩水丸"?(n.dosage_unit="g",n.dosage_amount=1,n.dosage_bag_count=1,n.need_decoction=!1,n.bags_per_dose=1):t==="饮片"?(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(t)))});const Oa={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:(t,e,o)=>{!e||!String(e).trim()?o(new Error("请使用电子签名板手写医师签名")):o()},trigger:"change"}]};async function Ea(t){const{audit_filter:e,source_filter:o,creator_ids:u,...m}=t,d={...m,audit_filter:e==="all"||e===""?"":e,source_filter:o==="all"||o===""||o===void 0?"":o};return Array.isArray(u)&&u.length>0&&(d.creator_ids=u),ws(d)}const{pager:ve,getLists:ee,resetPage:te}=Ts({fetchFun:Ea,params:S});function Lt(t){return String(t).padStart(2,"0")}function zt(t){const e=t.getFullYear(),o=Lt(t.getMonth()+1),u=Lt(t.getDate()),m=`${e}-${o}-${u}`;return{start:`${m} 00:00:00`,end:`${m} 23:59:59`}}function La(t){const e=String(t??"all");if(e==="all")S.start_time="",S.end_time="";else{const o=new Date,u=new Date(o.getFullYear(),o.getMonth(),o.getDate());e==="yesterday"?u.setDate(u.getDate()-1):e==="before_yesterday"&&u.setDate(u.getDate()-2);const{start:m,end:d}=zt(u);S.start_time=m,S.end_time=d}te()}function za(){te()}function Fa(){te()}let tt=!1;Ie(()=>[S.start_time,S.end_time],()=>{if(tt)return;const t=S.start_time,e=S.end_time;if(!t&&!e){G.value="all";return}if(!t||!e){G.value="";return}const o=new Date,u=m=>{const d=new Date(o.getFullYear(),o.getMonth(),o.getDate()-m),{start:r,end:V}=zt(d);return t===r&&e===V};u(0)?G.value="today":u(1)?G.value="yesterday":u(2)?G.value="before_yesterday":G.value=""});function Ia(t){if(t==null||t==="")return"—";if(typeof t=="number"&&t>=1e9&&t<1e11)return Te(t);const e=String(t).trim();return/^\d{10}$/.test(e)?Te(parseInt(e,10)):e}function ja(){tt=!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="",tt=!1,te()}function Ma(t){return t===0?"待审核":t===2?"已驳回":"已通过"}function Ha(t){return t===0?"warning":t===2?"danger":"success"}function Wa(t){return Number(t.business_prescription_audit_rejected)===1?"已驳回":Ma(t.audit_status)}function qa(t){return Number(t.business_prescription_audit_rejected)===1?"danger":Ha(t.audit_status)}function Ft(t){const e=[];if(Number(t.business_prescription_audit_rejected)===1){const o=String(t.business_prescription_audit_remark||"").trim();e.push(o?`业务订单审核驳回意见:${o}`:"业务订单审核驳回意见:—")}if(Number(t.audit_status)===2){const o=String(t.audit_remark||"").trim();e.push(o?`消费者处方审核驳回意见:${o}`:"消费者处方审核驳回意见:—")}return e}function It(t){return Number(t.audit_status)===1&&Number(t.void_status)!==1}function Te(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 Ba(t){return t?Te(t):"—"}function Ya(t){return t===1||t==="1"?"男":t===0||t==="0"?"女":"—"}function Ga(t){return t==null||t===""?"—":`${t}岁`}function Ka(t){var m;const e=n.herbs[t];if(!e)return`第${t+1}味`;const o=q(e.formula_type);let u=0;for(let d=0;d<=t;d++)q((m=n.herbs[d])==null?void 0:m.formula_type)===o&&u++;return`${o}第${u}味`}function Ja(t){if(Number(t==null?void 0:t.has_prescription_order)!==1)return[];const o=Me(t==null?void 0:t.herbs).map(r=>String((r==null?void 0:r.name)||"").trim()).filter(Boolean),u=[];if(!o.length)return u.push("请开方,当前处方药材为空白"),u;const m=new Set,d=new Set;for(const r of o){const V=r.replace(/\s+/g,"").toLowerCase();V&&(m.has(V)?d.add(r):m.add(V))}return d.size>0&&u.push(`已有关联业务订单,当前处方存在重复药材:${Array.from(d).join("、")}`),u}function Qa(t){return{...t,herbs:Me(t==null?void 0:t.herbs)}}function Xa(){g.value=null,de.value=null}function jt(t){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 u=(t.clientX-o.left)/o.width*le,m=(t.clientY-o.top)/o.height*se;return{x:Math.max(0,Math.min(le,u)),y:Math.max(0,Math.min(se,m))}}function at(){const t=K.value;t&&(n.doctor_signature=t.toDataURL("image/png")),ae(()=>{var e;(e=Z.value)==null||e.validateField("doctor_signature").catch(()=>{})})}function Za(t){if(t.pointerType==="mouse"&&t.button!==0)return;const e=K.value,o=e==null?void 0:e.getContext("2d");if(!e||!o)return;e.setPointerCapture(t.pointerId),de.value=t.pointerId;const{x:u,y:m}=jt(t);o.beginPath(),o.moveTo(u,m)}function el(t){var m;if(de.value!==t.pointerId)return;const e=(m=K.value)==null?void 0:m.getContext("2d");if(!e)return;const{x:o,y:u}=jt(t);e.lineTo(o,u),e.stroke(),e.beginPath(),e.moveTo(o,u)}function Mt(t){if(de.value!==t.pointerId)return;de.value=null;const e=K.value;if(e)try{e.releasePointerCapture(t.pointerId)}catch{}at()}function tl(){Ht(),n.doctor_signature="",ae(()=>{var t;(t=Z.value)==null||t.validateField("doctor_signature").catch(()=>{})})}function Ht(){const t=K.value;if(!t)return;const e=Math.min(typeof window<"u"&&window.devicePixelRatio||1,2.5);t.style.width=`${le}px`,t.style.height=`${se}px`,t.width=Math.round(le*e),t.height=Math.round(se*e);const o=t.getContext("2d");o&&(o.setTransform(1,0,0,1,0,0),o.scale(e,e),o.fillStyle="#fff",o.fillRect(0,0,le,se),o.strokeStyle="#333",o.lineWidth=2.5,o.lineCap="round",o.lineJoin="round")}function Wt(){R.value!=="view"&&ae(()=>{setTimeout(()=>{Ht();const t=n.doctor_signature;if(t&&String(t).trim().startsWith("data:image")&&K.value){const e=new Image;e.onload=()=>{const o=K.value,u=o==null?void 0:o.getContext("2d");!o||!u||(u.drawImage(e,0,0,le,se),at())},e.onerror=()=>{at()},e.src=t}},100)})}function al(t){const e=t==null?void 0:t.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 ll(t){xt.value=t.id,ne.value="",pe.value=!0}async function qt(t){if(t==="reject"&&!ne.value.trim()){N.msgError("驳回时请填写审核意见");return}Ue.value=!0;try{const e=await Ns({id:xt.value,action:t,remark:ne.value.trim()});N.msgSuccess(t==="reject"?"已驳回并作废处方":"审核通过"),e&&e.wecom_notify_ok===!1&&e.wecom_notify_hint&&N.msgWarning(e.wecom_notify_hint),pe.value=!1,ee()}catch{}finally{Ue.value=!1}}async function sl(){try{const t=await Rs({});yt.value=Array.isArray(t)?t:[]}catch{yt.value=[]}}const ye=k(!1),lt=k(!1),st=k([]),Ae=k(""),Oe=k(""),xe=k("replace"),ke=k(1),nt=k(15),ot=k(0),Bt=U(()=>{var o;const t=Number(n.creator_id);if(t>0)return t;const e=Number((o=ue.userInfo)==null?void 0:o.id);return e>0?e:0});function nl(t){return String(t||"").trim().toLowerCase()}function Yt(){const t=new Map;for(const e of n.herbs){const o=nl(e==null?void 0:e.name);o&&t.set(o,(t.get(o)??0)+1)}return[...t.entries()].filter(([,e])=>e>1).map(([e])=>e)}const Ee=async()=>{const t=Bt.value;if(!t){N.msgWarning("无法确定开方医师,无法加载处方库"),st.value=[],ot.value=0;return}lt.value=!0;try{const e=await Ss({page_no:ke.value,page_size:nt.value,prescription_name:Ae.value,formula_type:Oe.value,prescribing_creator_id:t});st.value=(e==null?void 0:e.lists)||[],ot.value=(e==null?void 0:e.count)||0}catch(e){console.error(e),N.msgError("加载处方库失败")}finally{lt.value=!1}},Le=()=>{ke.value=1,Ee()},ol=()=>{if(!Bt.value){N.msgWarning("无法确定开方医师,无法从处方库导入");return}ye.value=!0},il=t=>{Gt(t)},Gt=t=>{if(!t.herbs||t.herbs.length===0){N.msgWarning("该处方没有药材信息");return}const e=q(t.formula_type),o=Number(t==null?void 0:t.disable_edit)===1,u=JSON.parse(JSON.stringify(t.herbs)).map(d=>{const r=je(d);return r.formula_type=e,o?r.locked=!0:delete r.locked,r});if(xe.value==="replace"){const d=n.herbs.filter(r=>q(r.formula_type)!==e);n.herbs=[...d,...u]}else n.herbs.push(...u);e==="辅方"&&(n.aux_usage.prescription_name=String(t.prescription_name??"").trim());const m=xe.value==="append"?"(已追加)":"";Yt().length?N.msgWarning(`已导入处方「${t.prescription_name}」${m},共${u.length}味药材。存在重复药名,请合并剂量或删除多余行`):N.msgSuccess(`已导入处方「${t.prescription_name}」${m},共${u.length}味药材`),ye.value=!1};Ie(ye,t=>{t&&(Ae.value="",Oe.value="",xe.value="replace",ke.value=1,Ee())});const Ve=k(!1),he=k(""),it=k("replace"),rt=k(!1),rl=/^(用法|用量|医嘱|忌口|水煎服|空腹|饭后|温水|内服|外用|备注|顿服|分服|ml|毫升|[×xX]\s*\d)/;function ul(t){let e=t.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 dl(t){return t.replace(/^\s*Rp[::**\s]*/i,"").replace(/^\s*处方[::\s]*/,"").replace(/^\s*中药处方[::\s]*/,"").trimStart()}function ut(t){return t.replace(/([^)]*)$/u,"").replace(/\([^)]*\)$/u,"").trim()}function Kt(t){const e=t.trim();if(!e||rl.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 d=parseFloat(o[2]);if(!Number.isFinite(d)||d<=0)return null;const r=o[1].split(/[、,,\s]+/).map(V=>V.trim()).filter(Boolean);return r.length?r.map(V=>({name:ut(V),dosage:d})):null}const u=e.match(/^(.+?)\s*(\d+(?:\.\d+)?)\s*(?:克|g|G|钱)?$/i);if(u){const d=ut(u[1].trim()),r=parseFloat(u[2]);return!d||!Number.isFinite(r)||r<=0?null:[{name:d,dosage:r}]}const m=ut(e);return m.length>=2&&m.length<=16?[{name:m,dosage:6}]:null}function pl(t){const e=dl(ul(t)),o=[];for(const u of e.split(/\n+/)){const m=u.trim();if(m)for(const d of m.split(/[、,,;;]/)){const r=d.trim();if(r)if(/\s/.test(r)&&!Kt(r)){const V=r.split(/\s+(?=[\u4e00-\u9fff]{2,})/);for(const L of V){const y=L.trim();y&&o.push(y)}}else o.push(r)}}return o}function ml(t){const e=[];for(const o of pl(t)){const u=Kt(o);u&&e.push(...u)}return e}async function _l(t){const e=t.trim();if(!e)return null;try{const m=((await Ds({name:e,page_no:1,page_size:200,status:1})).lists||[]).filter(d=>(d.name??"").trim()===e);return m.length===1?{medicine_id:Number(m[0].id),name:m[0].name.trim()}:null}catch{return null}}function cl(){Ve.value=!0}async function fl(){const t=ml(he.value);if(!t.length){N.msgWarning("未能从文本中解析出药材,请检查格式(药名 + 剂量,或用顿号/换行分隔)");return}rt.value=!0;try{const e=[],o=[];for(const r of t){const V=await _l(r.name);if(!V){o.push(r.name.trim());continue}e.push({...V,dosage:r.dosage,formula_type:"主方"})}const u=[...new Set(o.filter(Boolean))];if(e.length===0){N.msgWarning(u.length?`药品库中无以下完全同名药材,未录入:${u.join("、")}`:"未能匹配到药品库中的药材");return}if(it.value==="replace"){const r=n.herbs.filter(V=>q(V.formula_type)==="辅方");n.herbs=[...r,...e]}else n.herbs.push(...e);const m=Yt(),d=u.length>0?`;药品库未收录已跳过:${u.join("、")}`:"";m.length?N.msgWarning(`已导入 ${e.length} 味药材${d}。存在重复药名:${m.join("、")},请合并剂量或删除多余行`):u.length?N.msgSuccess(`已导入 ${e.length} 味药材${d},请核对剂量`):N.msgSuccess(`已导入 ${e.length} 味药材,请核对药名与剂量`),Ve.value=!1,he.value=""}finally{rt.value=!1}}const Jt=(t="主方")=>{if(M.value){N.msgWarning("该处方含「禁用修改」模板,药材已锁定,请重新从处方库导入覆盖");return}n.herbs.push({name:"",dosage:0,formula_type:t})},Qt=t=>{if(M.value){N.msgWarning("该处方含「禁用修改」模板,药材已锁定,不可删除");return}n.herbs.splice(t,1)},gl=()=>{var t;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((t=ue.userInfo)==null?void 0:t.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("浓缩水丸")),Ra()},bl=()=>{var t;gl(),n.doctor_name=String(((t=ue.userInfo)==null?void 0:t.name)||""),$e.value=!1,Pe.value=!1,R.value="add",Re.value=!1,Q.value=!0,ae(()=>{var e;(e=Z.value)==null||e.clearValidate(),Wt()})},vl=async t=>{$e.value=!1,Pe.value=!1,R.value="view",g.value=Qa(t),Q.value=!0,qe.value=!0;try{const e=await ft({id:t.id});e&&typeof e=="object"&&(g.value={...e,herbs:Me(e.herbs)})}catch(e){N.msgError((e==null?void 0:e.msg)||"加载处方详情失败")}finally{qe.value=!1}},yl=async t=>{$e.value=Number(t.void_status)===1,Pe.value=Number(t.audit_status)===2,R.value="edit",Re.value=!0;let e=t;if(t!=null&&t.id&&!t.doctor_signature)try{const o=await ft({id:t.id});o&&typeof o=="object"&&(e={...t,...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=>je(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=al(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,gt(e.aux_usage,n.prescription_type)),setTimeout(()=>{Re.value=!1},0),Q.value=!0,Ta(Number(n.id)),ae(()=>{var o;(o=Z.value)==null||o.clearValidate(),Wt()})},xl=async()=>{if(Z.value){try{await Z.value.validate()}catch{return}if(!n.herbs||n.herbs.length===0){N.msgError("请至少添加一味药材");return}for(let t=0;t{await N.confirm("确定要删除该处方吗?"),await $s({id:t}),N.msgSuccess("删除成功"),ee()};return Pl(async()=>{var t;await sl(),await da(),await pa();try{const e=await xs();He.value=Array.isArray(e)?e:[]}catch{He.value=[]}try{(t=ue.userInfo)!=null&&t.id||await ue.getUserInfo()}catch{}ee()}),(t,e)=>{const o=Tl,u=Rl,m=El,d=Ol,r=zl,V=Ll,L=Al,y=Fl,J=Il,dt=bs,C=Hl,A=Wl,F=Ml,ze=fs,re=Gl,h=Jl,H=Kl,I=Ql,z=Xl,Vl=Zl,hl=ts,we=as,pt=ss,wl=ls,Nl=ns,Sl=os,Cl=is,Ul=ds,W=Dl("perms"),Fe=jl;return p(),b("div",Es,[a(J,{class:"filter-toolbar",shadow:"never","body-style":{padding:"10px 14px"}},{default:s(()=>[i("div",Ls,[i("div",zs,[e[102]||(e[102]=i("span",{class:"pl-toolbar__k",title:"按处方创建时间"},"创建时间",-1)),a(u,{modelValue:G.value,"onUpdate:modelValue":e[0]||(e[0]=l=>G.value=l),size:"small",class:"pl-toolbar__rg",onChange:La},{default:s(()=>[a(o,{label:"all"},{default:s(()=>[...e[90]||(e[90]=[c("全部",-1)])]),_:1}),a(o,{label:"today"},{default:s(()=>[...e[91]||(e[91]=[c("今日",-1)])]),_:1}),a(o,{label:"yesterday"},{default:s(()=>[...e[92]||(e[92]=[c("昨日",-1)])]),_:1}),a(o,{label:"before_yesterday"},{default:s(()=>[...e[93]||(e[93]=[c("前天",-1)])]),_:1})]),_:1},8,["modelValue"]),a(Os,{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]=i("span",{class:"pl-toolbar__sep","aria-hidden":"true"},null,-1)),e[104]||(e[104]=i("span",{class:"pl-toolbar__k",title:"「未通过」含待审核与已驳回"},"审核",-1)),a(u,{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:za},{default:s(()=>[a(o,{label:"pending",class:"pl-audit-pending-btn"},{default:s(()=>[...e[94]||(e[94]=[c("待审核",-1)])]),_:1}),a(o,{label:"all"},{default:s(()=>[...e[95]||(e[95]=[c("全部",-1)])]),_:1}),a(o,{label:"passed"},{default:s(()=>[...e[96]||(e[96]=[c("已通过",-1)])]),_:1}),a(o,{label:"not_passed"},{default:s(()=>[...e[97]||(e[97]=[c("未通过",-1)])]),_:1}),a(o,{label:"rejected"},{default:s(()=>[...e[98]||(e[98]=[c("驳回",-1)])]),_:1})]),_:1},8,["modelValue"]),e[105]||(e[105]=i("span",{class:"pl-toolbar__sep","aria-hidden":"true"},null,-1)),e[106]||(e[106]=i("span",{class:"pl-toolbar__k",title:"与列表「来源」列一致:空白处方 / 手工"},"来源",-1)),a(u,{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:Fa},{default:s(()=>[a(o,{label:"all"},{default:s(()=>[...e[99]||(e[99]=[c("全部",-1)])]),_:1}),a(o,{label:"manual"},{default:s(()=>[...e[100]||(e[100]=[c("手工",-1)])]),_:1}),a(o,{label:"system"},{default:s(()=>[...e[101]||(e[101]=[c("空白处方",-1)])]),_:1})]),_:1},8,["modelValue"])]),i("div",Fs,[a(L,{model:S,inline:"",class:"pl-toolbar__form"},{default:s(()=>[a(d,{label:"处方编号",class:"!mb-0"},{default:s(()=>[a(m,{modelValue:S.sn,"onUpdate:modelValue":e[5]||(e[5]=l=>S.sn=l),placeholder:"编号",clearable:"",class:"pl-toolbar__input",onKeyup:_t(j(te),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(d,{label:"患者",class:"!mb-0"},{default:s(()=>[a(m,{modelValue:S.patient_name,"onUpdate:modelValue":e[6]||(e[6]=l=>S.patient_name=l),placeholder:"姓名",clearable:"",class:"pl-toolbar__input",onKeyup:_t(j(te),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(d,{label:"医师",class:"!mb-0"},{default:s(()=>[a(V,{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(()=>[(p(!0),b(E,null,Y(He.value,l=>(p(),x(r,{key:l.id,label:l.name,value:Number(l.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"]),i("div",Is,[a(y,{type:"primary",onClick:j(te)},{default:s(()=>[...e[107]||(e[107]=[c("查询",-1)])]),_:1},8,["onClick"]),a(y,{onClick:ja},{default:s(()=>[...e[108]||(e[108]=[c("重置",-1)])]),_:1})])])])]),_:1}),O((p(),x(J,{class:"mt-3 table-card",shadow:"never"},{default:s(()=>[i("div",js,[e[111]||(e[111]=i("span",{class:"pl-table-head__title"},"处方列表",-1)),i("div",Ms,[O((p(),x(y,{onClick:ta},{default:s(()=>[...e[109]||(e[109]=[c(" 业务订单 ",-1)])]),_:1})),[[W,["tcm.prescriptionOrder/lists"]]]),O((p(),x(y,{type:"primary",onClick:bl},{icon:s(()=>[a(dt,{name:"el-icon-Plus"})]),default:s(()=>[e[110]||(e[110]=c(" 新增处方 ",-1))]),_:1})),[[W,["cf.prescription/add"]]])])]),i("div",Hs,[a(F,{data:j(ve).lists,size:"default",stripe:""},{default:s(()=>[a(C,{label:"处方编号","min-width":"160"},{default:s(({row:l})=>[i("span",Ws,f(l.sn||"—"),1),i("div",qs,"ID: "+f(l.id),1),(p(!0),b(E,null,Y(Ja(l),(w,mt)=>(p(),b("div",{key:`rx-order-warn-${l.id}-${mt}`,class:"text-xs text-red-600 mt-0.5 leading-snug"},f(w),1))),128))]),_:1}),a(C,{label:"处方类型","min-width":"100"},{default:s(({row:l})=>[a(A,{type:"info",size:"small"},{default:s(()=>[c(f(l.prescription_type||"—"),1)]),_:2},1024)]),_:1}),a(C,{label:"来源","min-width":"92",align:"center"},{default:s(({row:l})=>[Number(l.is_system_auto)===1?(p(),x(A,{key:0,type:"warning",size:"small",effect:"plain"},{default:s(()=>[...e[112]||(e[112]=[c(" 空白处方 ",-1)])]),_:1})):(p(),b("span",Bs,"手工"))]),_:1}),a(C,{label:"患者信息","min-width":"110"},{default:s(({row:l})=>[i("div",Ys,f(l.patient_name||"—"),1),i("div",Gs,f(l.gender===1?"男":l.gender===0?"女":"未知")+" · "+f(l.age?l.age+"岁":"—"),1)]),_:1}),a(C,{label:"审核状态","min-width":"200"},{default:s(({row:l})=>[i("div",Ks,[i("div",Js,[a(A,{type:qa(l)},{default:s(()=>[c(f(Wa(l)),1)]),_:2},1032,["type"]),Number(l.business_prescription_audit_rejected)===1?(p(),b("span",Qs," (业务订单审核) ")):v("",!0)]),Ft(l).length?(p(!0),b(E,{key:0},Y(Ft(l),(w,mt)=>(p(),b("div",{key:mt,class:"text-xs text-red-600 leading-snug line-clamp-3",title:w},f(w),9,Xs))),128)):v("",!0)])]),_:1}),a(C,{label:"作废","min-width":"80",align:"center"},{default:s(({row:l})=>[l.void_status===1?(p(),x(A,{key:0,type:"danger",size:"small"},{default:s(()=>[...e[113]||(e[113]=[c("作废",-1)])]),_:1})):(p(),b("span",Zs,"—"))]),_:1}),a(C,{label:"医师信息","min-width":"120"},{default:s(({row:l})=>[i("div",en,f(l.doctor_name||"—"),1),i("div",tn,f(l.prescription_date||"—"),1)]),_:1}),a(C,{label:"医助","min-width":"90"},{default:s(({row:l})=>[i("div",an,f(l.assistant_name||"—"),1)]),_:1}),a(C,{label:"创建时间","min-width":"160"},{default:s(({row:l})=>[c(f(Ia(l.create_time)),1)]),_:1}),a(C,{label:"操作",width:"300",fixed:"right"},{default:s(({row:l})=>[O((p(),x(y,{type:"primary",link:"",onClick:w=>vl(l)},{default:s(()=>[...e[114]||(e[114]=[c(" 查看 ",-1)])]),_:1},8,["onClick"])),[[W,["cf.prescription/read"]]]),Number(l.void_status)!==1?O((p(),x(y,{key:0,type:"primary",link:"",onClick:w=>la(l)},{default:s(()=>[...e[115]||(e[115]=[c(" 改姓名手机 ",-1)])]),_:1},8,["onClick"])),[[W,["tcm.prescription/patchPatient"]]]):v("",!0),!Number(l.has_prescription_order)&&Number(l.void_status)!==1?O((p(),x(y,{key:1,type:"success",link:"",onClick:w=>ga(l)},{default:s(()=>[...e[116]||(e[116]=[c(" 创建订单 ",-1)])]),_:1},8,["onClick"])),[[W,["tcm.prescriptionOrder/create"]]]):v("",!0),It(l)?v("",!0):O((p(),x(y,{key:2,type:"primary",link:"",onClick:w=>yl(l)},{default:s(()=>[...e[117]||(e[117]=[c(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[W,["cf.prescription/edit"]]]),l.audit_status===0&&l.void_status!==1?O((p(),x(y,{key:3,type:"warning",link:"",onClick:w=>ll(l)},{default:s(()=>[...e[118]||(e[118]=[c(" 审核 ",-1)])]),_:1},8,["onClick"])),[[W,["cf.prescription/audit"]]]):v("",!0),It(l)?v("",!0):O((p(),x(y,{key:4,type:"danger",link:"",onClick:w=>kl(l.id)},{default:s(()=>[...e[119]||(e[119]=[c(" 删除 ",-1)])]),_:1},8,["onClick"])),[[W,["cf.prescription/del"]]])]),_:1})]),_:1},8,["data"])]),i("div",ln,[a(ze,{modelValue:j(ve),"onUpdate:modelValue":e[8]||(e[8]=l=>ql(ve)?ve.value=l:null),onChange:j(ee)},null,8,["modelValue","onChange"])])]),_:1})),[[Fe,j(ve).loading]]),a(hl,{modelValue:Q.value,"onUpdate:modelValue":e[48]||(e[48]=l=>Q.value=l),title:R.value==="add"?"新增处方":R.value==="edit"?"编辑处方":"查看处方",size:R.value==="view"?"920px":"860px",class:"cf-prescription-drawer","close-on-click-modal":!1,"destroy-on-close":"",onClosed:Xa},{footer:s(()=>[R.value==="view"?(p(),x(y,{key:0,onClick:e[46]||(e[46]=l=>Q.value=!1)},{default:s(()=>[...e[177]||(e[177]=[c("关闭",-1)])]),_:1})):(p(),b(E,{key:1},[a(y,{onClick:e[47]||(e[47]=l=>Q.value=!1)},{default:s(()=>[...e[178]||(e[178]=[c("取消",-1)])]),_:1}),a(y,{type:"primary",onClick:xl,loading:We.value},{default:s(()=>[...e[179]||(e[179]=[c(" 确定 ",-1)])]),_:1},8,["loading"])],64))]),default:s(()=>[R.value==="view"?O((p(),b("div",sn,[i("div",nn,[g.value&&Number(g.value.is_system_auto)===1?(p(),x(A,{key:0,type:"warning",size:"small",effect:"plain"},{default:s(()=>[...e[120]||(e[120]=[c("空白处方",-1)])]),_:1})):v("",!0),g.value&&Number(g.value.void_status)===1?(p(),x(A,{key:1,type:"danger",size:"small"},{default:s(()=>[...e[121]||(e[121]=[c("已作废",-1)])]),_:1})):g.value&&Number(g.value.business_prescription_audit_rejected)===1?(p(),x(A,{key:2,type:"danger",size:"small"},{default:s(()=>[...e[122]||(e[122]=[c("业务订单已驳回",-1)])]),_:1})):g.value&&Number(g.value.audit_status)===1?(p(),x(A,{key:3,type:"success",size:"small"},{default:s(()=>[...e[123]||(e[123]=[c("已通过",-1)])]),_:1})):g.value&&Number(g.value.audit_status)===0?(p(),x(A,{key:4,type:"warning",size:"small"},{default:s(()=>[...e[124]||(e[124]=[c("待审核",-1)])]),_:1})):g.value?(p(),x(A,{key:5,type:"danger",size:"small"},{default:s(()=>[...e[125]||(e[125]=[c("已驳回",-1)])]),_:1})):v("",!0),e[128]||(e[128]=i("div",{class:"flex-1"},null,-1)),a(y,{icon:j(Bl),size:"small",onClick:Pa},{default:s(()=>[...e[126]||(e[126]=[c("打印",-1)])]),_:1},8,["icon"]),a(y,{type:"primary",icon:j(Yl),size:"small",loading:et.value,onClick:Da},{default:s(()=>[...e[127]||(e[127]=[c(" 下载 PDF (A4) ",-1)])]),_:1},8,["icon","loading"])]),g.value&&Number(g.value.void_status)===1?(p(),b("div",on," 作废人:"+f(g.value.void_by_name||"—")+",作废时间:"+f(Ba(g.value.void_time)),1)):g.value&&Number(g.value.business_prescription_audit_rejected)===1?(p(),b("div",rn,[e[129]||(e[129]=i("div",{class:"font-medium"},"审核状态:已驳回(业务订单·处方审核)",-1)),g.value.business_prescription_audit_remark?(p(),b("div",un," 驳回意见:"+f(g.value.business_prescription_audit_remark),1)):v("",!0)])):g.value&&Number(g.value.audit_status)===2?(p(),b("div",dn,[e[130]||(e[130]=i("div",{class:"font-medium"},"消费者处方审核:已驳回",-1)),g.value.audit_remark?(p(),b("div",pn,"驳回意见:"+f(g.value.audit_remark),1)):v("",!0)])):v("",!0),g.value?(p(),b("div",{key:3,ref_key:"rxPaperRef",ref:Ut,class:"rx-paper"},[i("div",mn,[e[131]||(e[131]=i("span",{class:"rx-notice-text"}," 服药前请核对姓名、电话、医生等信息以及服法、医嘱等要点 ",-1)),i("span",_n,[i("span",null,"日期:"+f(ha.value),1),i("span",null,"编号:"+f(wa.value),1)])]),i("div",cn,[i("div",fn,[i("div",gn,[e[132]||(e[132]=i("span",{class:"rx-key"},"姓名",-1)),i("span",bn,f(g.value.patient_name||"—"),1)]),i("div",vn,[e[133]||(e[133]=i("span",{class:"rx-key"},"性别",-1)),i("span",yn,f(Ya(g.value.gender)),1)]),i("div",xn,[e[134]||(e[134]=i("span",{class:"rx-key"},"年龄",-1)),i("span",kn,f(Ga(g.value.age)),1)]),i("div",Vn,[e[135]||(e[135]=i("span",{class:"rx-key"},"电话",-1)),i("span",hn,f(g.value.phone||"—"),1)])]),i("div",wn,[i("div",Nn,[e[136]||(e[136]=i("span",{class:"rx-key"},"收件信息",-1)),i("span",Sn,f(Na.value),1)])]),i("div",Cn,[i("div",Un,[e[137]||(e[137]=i("span",{class:"rx-key"},"临床诊断",-1)),i("span",$n,f(g.value.clinical_diagnosis||"—"),1)])])]),i("div",Pn,[e[140]||(e[140]=i("div",{class:"rx-watermark"},"药房联",-1)),e[141]||(e[141]=i("div",{class:"rx-rp-head"},[i("div",{class:"rx-rp-label"},"Rp."),i("div",{class:"rx-rp-cols-head"},[i("div",{class:"rx-rp-col-head"},[i("span",null,"用药 (单剂)"),i("span",null,"总量")]),i("div",{class:"rx-rp-col-head"},[i("span",null,"用药 (单剂)"),i("span",null,"总量")])])],-1)),i("div",Dn,[Nt.value.length?(p(),b(E,{key:0},[e[138]||(e[138]=i("div",{class:"rx-herb-section-label"},"主方",-1)),(p(!0),b(E,null,Y(Nt.value,(l,w)=>(p(),b("div",{key:"main-"+w,class:"rx-herb-cell"},[i("span",Rn,f(l.name)+" ("+f(l.dosage)+"克)",1),i("span",Tn,f(Pt(l.dosage))+"克",1)]))),128))],64)):v("",!0),Ze.value.length?(p(),b(E,{key:1},[e[139]||(e[139]=i("div",{class:"rx-herb-section-label rx-herb-section-label--aux"},"辅方",-1)),(p(!0),b(E,null,Y(Ze.value,(l,w)=>(p(),b("div",{key:"aux-"+w,class:"rx-herb-cell"},[i("span",An,f(l.name)+" ("+f(l.dosage)+"克)",1),i("span",On,f(Pt(l.dosage))+"克",1)]))),128))],64)):v("",!0)])]),i("div",En,[i("p",null,"主方服法:"+f(Ua.value),1),Dt.value?(p(),b("p",Ln,"辅方服法:"+f(Dt.value),1)):v("",!0),Rt.value?(p(),b("p",zn,"医嘱:"+f(Rt.value),1)):v("",!0),Ct.value?(p(),b("p",Fn,"忌口:"+f(Ct.value),1)):v("",!0),Tt.value?(p(),b("p",In,"备注:"+f(Tt.value),1)):v("",!0),At.value?(p(),b("p",jn," 药房备注:"+f(At.value),1)):v("",!0),Ot.value?(p(),b("p",Mn," 出丸:"+f(Ot.value),1)):v("",!0)]),i("div",Hn,[i("div",Wn,[i("div",qn,[e[142]||(e[142]=i("div",{class:"rx-bot-label"},"医师",-1)),i("div",Bn,[g.value.doctor_signature?(p(),b("img",{key:0,src:g.value.doctor_signature,alt:"医师签名",class:"rx-bot-sign-img"},null,8,Yn)):v("",!0),g.value.doctor_signature?v("",!0):(p(),b("div",Gn,f(g.value.doctor_name||"—"),1))])]),i("div",Kn,[e[143]||(e[143]=i("span",{class:"rx-bot-meta-key"},"类型:",-1)),i("span",Jn,f(Ca.value),1)]),i("div",Qn,[e[144]||(e[144]=i("span",{class:"rx-bot-meta-key"},"天数:",-1)),i("span",Xn,f(g.value.dose_count||"—")+"剂",1)]),i("div",Zn,[e[145]||(e[145]=i("span",{class:"rx-bot-meta-key"},"单剂量:",-1)),i("span",eo,f(Sa.value)+"克",1)])])])],512)):v("",!0),g.value&&(g.value.audit_by_name||g.value.audit_remark)?(p(),b("div",to,[g.value.audit_by_name?(p(),b("div",ao,[c(" 审核人:"+f(g.value.audit_by_name)+" ",1),g.value.audit_time?(p(),b("span",lo,f(Te(g.value.audit_time)),1)):v("",!0)])):v("",!0),g.value.audit_remark?(p(),b("div",so,"审核意见:"+f(g.value.audit_remark),1)):v("",!0)])):v("",!0)])),[[Fe,qe.value]]):(p(),x(L,{key:1,ref_key:"formRef",ref:Z,model:n,rules:Oa,"label-width":"120px"},{default:s(()=>[R.value==="edit"&&Number(n.is_system_auto)===1?(p(),x(re,{key:0,type:"warning",closable:!1,"show-icon":"",class:"mb-4",title:"本处方为系统自动生成(如挂号完成),默认无药材配方,请补充药材与诊断等信息后再保存。"})):v("",!0),R.value==="edit"?(p(),x(re,{key:1,type:"info",closable:!1,"show-icon":"",class:"mb-4",title:"保存修改后,该处方将重新进入「待审核」,需审核人员再次通过后方可生效。"})):v("",!0),R.value==="edit"&&Number(n.audit_status)===2?(p(),x(re,{key:2,type:"error",closable:!1,"show-icon":"",class:"mb-4"},{title:s(()=>[...e[146]||(e[146]=[c("当前消费者处方为「已驳回」",-1)])]),default:s(()=>[i("div",no," 保存修改后将清除驳回并变为「待审核」。"+f(n.audit_remark?`上次意见:${n.audit_remark}`:""),1)]),_:1})):v("",!0),R.value==="edit"&&Number(n.business_prescription_audit_rejected)===1&&Number(n.audit_status)===1?(p(),x(re,{key:3,type:"warning",closable:!1,"show-icon":"",class:"mb-4"},{title:s(()=>[...e[147]||(e[147]=[c("业务订单侧「处方审核」已驳回",-1)])]),default:s(()=>[e[148]||(e[148]=i("div",{class:"text-sm mt-1"}," 消费者处方仍为「已通过」;您修改并保存后,将重置关联业务订单的处方/支付单审核为「待审」,请在「处方业务订单」中继续处理。 ",-1)),String(n.business_prescription_audit_remark||"").trim()?(p(),b("div",oo," 驳回意见:"+f(n.business_prescription_audit_remark),1)):v("",!0)]),_:1})):v("",!0),R.value==="edit"&&wt.value?(p(),x(re,{key:4,type:"warning",closable:!1,"show-icon":"",class:"mb-4",title:wt.value},null,8,["title"])):v("",!0),Number(n.diagnosis_id)>0?(p(),b("div",io,[a(y,{type:"primary",size:"small",onClick:Aa},{default:s(()=>[...e[149]||(e[149]=[c(" 查看患者诊单详情 ",-1)])]),_:1}),i("span",ro,"关联诊单 #"+f(n.diagnosis_id),1)])):v("",!0),a(H,{gutter:20},{default:s(()=>[a(h,{span:12},{default:s(()=>[a(d,{label:"患者姓名",prop:"patient_name"},{default:s(()=>[a(m,{modelValue:n.patient_name,"onUpdate:modelValue":e[9]||(e[9]=l=>n.patient_name=l),placeholder:"请输入患者姓名",disabled:R.value==="edit"},null,8,["modelValue","disabled"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"门诊号",prop:"visit_no"},{default:s(()=>[a(m,{modelValue:n.visit_no,"onUpdate:modelValue":e[10]||(e[10]=l=>n.visit_no=l),placeholder:"自动生成或手动输入",disabled:R.value==="edit"},null,8,["modelValue","disabled"])]),_:1})]),_:1})]),_:1}),a(H,{gutter:20},{default:s(()=>[a(h,{span:8},{default:s(()=>[a(d,{label:"性别",prop:"gender"},{default:s(()=>[a(u,{modelValue:n.gender,"onUpdate:modelValue":e[11]||(e[11]=l=>n.gender=l)},{default:s(()=>[a(I,{label:1},{default:s(()=>[...e[150]||(e[150]=[c("男",-1)])]),_:1}),a(I,{label:0},{default:s(()=>[...e[151]||(e[151]=[c("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(h,{span:8},{default:s(()=>[a(d,{label:"年龄",prop:"age"},{default:s(()=>[a(z,{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}),a(h,{span:8},{default:s(()=>[a(d,{label:"处方日期",prop:"prescription_date"},{default:s(()=>[a(Vl,{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}),a(H,{gutter:20},{default:s(()=>[a(h,{span:12},{default:s(()=>[a(d,{label:"面象",prop:"tongue"},{default:s(()=>[a(m,{modelValue:n.tongue,"onUpdate:modelValue":e[14]||(e[14]=l=>n.tongue=l),placeholder:"请输入面象"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"舌象",prop:"tongue_image"},{default:s(()=>[a(m,{modelValue:n.tongue_image,"onUpdate:modelValue":e[15]||(e[15]=l=>n.tongue_image=l),placeholder:"请输入舌象"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),a(H,{gutter:20},{default:s(()=>[a(h,{span:12},{default:s(()=>[a(d,{label:"脉象",prop:"pulse"},{default:s(()=>[a(m,{modelValue:n.pulse,"onUpdate:modelValue":e[16]||(e[16]=l=>n.pulse=l),placeholder:"请输入脉象"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"脉象详情",prop:"pulse_condition"},{default:s(()=>[a(m,{modelValue:n.pulse_condition,"onUpdate:modelValue":e[17]||(e[17]=l=>n.pulse_condition=l),placeholder:"请输入脉象详情"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),a(d,{label:"临床诊断",prop:"clinical_diagnosis"},{default:s(()=>[a(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}),a(d,{label:"药材配方",prop:"herbs",required:""},{default:s(()=>[i("div",uo,[i("div",po,[O((p(),x(y,{type:"success",size:"small",onClick:ol},{default:s(()=>[...e[152]||(e[152]=[c(" 从处方库导入 ",-1)])]),_:1})),[[W,["cf.prescription/add","cf.prescription/edit","tcm.prescriptionLibrary/lists"]]]),a(y,{type:"warning",size:"small",plain:"",icon:j(es),onClick:cl},{default:s(()=>[...e[153]||(e[153]=[c(" 导入药方 ",-1)])]),_:1},8,["icon"]),e[154]||(e[154]=i("span",{class:"text-xs text-gray-500"}," 粘贴文本解析药名与剂量;须与药品库名称完全一致才录入(导入至主方) ",-1))]),M.value?(p(),b("div",mo,[a(A,{type:"danger",size:"small",effect:"plain"},{default:s(()=>[...e[155]||(e[155]=[c("禁用修改",-1)])]),_:1}),e[156]||(e[156]=c(" 含「禁用修改」处方库模板,药材已锁定,不可增删改,如需调整请重新「从处方库导入」覆盖 ",-1))])):v("",!0),i("div",_o,[i("div",co,[a(A,{type:"primary",size:"small"},{default:s(()=>[...e[157]||(e[157]=[c("主方",-1)])]),_:1}),a(y,{type:"primary",size:"small",disabled:M.value,onClick:e[19]||(e[19]=l=>Jt("主方"))},{default:s(()=>[...e[158]||(e[158]=[c("添加主方药材",-1)])]),_:1},8,["disabled"])]),a(F,{data:Va.value,class:"mt-2",border:"","empty-text":"暂无主方药材"},{default:s(()=>[a(C,{label:"序号",type:"index",width:"60"}),a(C,{label:"药材名称","min-width":"220"},{default:s(({row:l})=>[a(Xt,{modelValue:n.herbs[l.index].name,"onUpdate:modelValue":w=>n.herbs[l.index].name=w,"medicine-id":n.herbs[l.index].medicine_id,"onUpdate:medicineId":w=>n.herbs[l.index].medicine_id=w,disabled:M.value,class:"w-full"},null,8,["modelValue","onUpdate:modelValue","medicine-id","onUpdate:medicineId","disabled"])]),_:1}),a(C,{label:"剂量(克)","min-width":"120"},{default:s(({row:l})=>[a(z,{modelValue:n.herbs[l.index].dosage,"onUpdate:modelValue":w=>n.herbs[l.index].dosage=w,min:0,precision:1,step:.5,disabled:M.value,placeholder:"剂量",class:"w-full"},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:1}),a(C,{label:"操作",width:"80"},{default:s(({row:l})=>[M.value?(p(),b("span",fo,"已锁定")):(p(),x(y,{key:0,type:"danger",link:"",onClick:w=>Qt(l.index)},{default:s(()=>[...e[159]||(e[159]=[c("删除",-1)])]),_:1},8,["onClick"]))]),_:1})]),_:1},8,["data"])]),i("div",go,[i("div",bo,[a(A,{type:"warning",size:"small"},{default:s(()=>[...e[160]||(e[160]=[c("辅方",-1)])]),_:1}),a(y,{type:"primary",size:"small",plain:"",disabled:M.value,onClick:e[20]||(e[20]=l=>Jt("辅方"))},{default:s(()=>[...e[161]||(e[161]=[c(" 添加辅方药材 ",-1)])]),_:1},8,["disabled"])]),a(F,{data:St.value,class:"mt-2",border:"","empty-text":"暂无辅方药材"},{default:s(()=>[a(C,{label:"序号",type:"index",width:"60"}),a(C,{label:"药材名称","min-width":"220"},{default:s(({row:l})=>[a(Xt,{modelValue:n.herbs[l.index].name,"onUpdate:modelValue":w=>n.herbs[l.index].name=w,"medicine-id":n.herbs[l.index].medicine_id,"onUpdate:medicineId":w=>n.herbs[l.index].medicine_id=w,disabled:M.value,class:"w-full"},null,8,["modelValue","onUpdate:modelValue","medicine-id","onUpdate:medicineId","disabled"])]),_:1}),a(C,{label:"剂量(克)","min-width":"120"},{default:s(({row:l})=>[a(z,{modelValue:n.herbs[l.index].dosage,"onUpdate:modelValue":w=>n.herbs[l.index].dosage=w,min:0,precision:1,step:.5,disabled:M.value,placeholder:"剂量",class:"w-full"},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:1}),a(C,{label:"操作",width:"80"},{default:s(({row:l})=>[M.value?(p(),b("span",vo,"已锁定")):(p(),x(y,{key:0,type:"danger",link:"",onClick:w=>Qt(l.index)},{default:s(()=>[...e[162]||(e[162]=[c("删除",-1)])]),_:1},8,["onClick"]))]),_:1})]),_:1},8,["data"])]),R.value==="edit"?O((p(),x(re,{key:1,type:"warning",closable:!1,"show-icon":"",class:"mt-3"},{title:s(()=>[...e[163]||(e[163]=[c("业务订单要求(请与本处方保持一致)",-1)])]),default:s(()=>[i("div",yo,[$.orderNo||$.medicationDays!=null||$.remarkAssistant?(p(),b(E,{key:0},[$.orderNo?(p(),b("p",xo,[e[164]||(e[164]=c(" 最近关联订单(按创建倒序): ",-1)),i("span",ko,f($.orderNo),1)])):v("",!0),i("p",Vo,[e[165]||(e[165]=i("span",{class:"font-semibold"},"服用天数(订单)",-1)),c(": "+f($.medicationDays!=null?`${$.medicationDays} 天`:"— 订单未填写"),1)]),i("p",null,[e[166]||(e[166]=i("span",{class:"font-semibold"},"医助备注(订单)",-1)),e[167]||(e[167]=c(": ",-1)),i("span",ho,f($.remarkAssistant||"— 无"),1)])],64)):$.loading?v("",!0):(p(),b("p",wo,[...e[168]||(e[168]=[c(" 当前处方暂无关联业务订单,或您无订单列表权限;若有订单,将在此处显示订单内 ",-1),i("span",{class:"font-semibold"},"服用天数",-1),c("与 ",-1),i("span",{class:"font-semibold"},"医助备注",-1),c("。 ",-1)])]))])]),_:1})),[[Fe,$.loading]]):v("",!0)])]),_:1}),a(H,{gutter:20},{default:s(()=>[a(h,{span:8},{default:s(()=>[a(d,{label:"剂数",prop:"dose_count"},{default:s(()=>[a(z,{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}),a(h,{span:8},{default:s(()=>[a(d,{label:"剂量单位",prop:"dose_unit"},{default:s(()=>[a(V,{modelValue:n.dose_unit,"onUpdate:modelValue":e[22]||(e[22]=l=>n.dose_unit=l),placeholder:"请选择",class:"w-full"},{default:s(()=>[a(r,{label:"剂",value:"剂"}),a(r,{label:"丸",value:"丸"}),a(r,{label:"袋",value:"袋"}),a(r,{label:"盒",value:"盒"}),a(r,{label:"瓶",value:"瓶"}),a(r,{label:"膏",value:"膏"}),a(r,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(h,{span:8},{default:s(()=>[a(d,{label:"处方类型",prop:"prescription_type"},{default:s(()=>[a(V,{modelValue:n.prescription_type,"onUpdate:modelValue":e[23]||(e[23]=l=>n.prescription_type=l),placeholder:"请选择处方类型",class:"w-full"},{default:s(()=>[a(r,{label:"浓缩水丸",value:"浓缩水丸"}),a(r,{label:"饮片",value:"饮片"}),a(r,{label:"颗粒",value:"颗粒"}),a(r,{label:"丸剂",value:"丸剂"}),a(r,{label:"散剂",value:"散剂"}),a(r,{label:"膏方",value:"膏方"}),a(r,{label:"汤剂",value:"汤剂"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),e[176]||(e[176]=i("div",{class:"usage-formula-title usage-formula-title--main"},"主方用法",-1)),a(H,{gutter:20},{default:s(()=>[a(h,{span:8},{default:s(()=>[a(d,{label:"用量",prop:"dosage_amount"},{default:s(()=>[n.prescription_type==="浓缩水丸"?(p(),x(V,{key:0,modelValue:n.dosage_amount,"onUpdate:modelValue":e[24]||(e[24]=l=>n.dosage_amount=l),placeholder:"请选择用量",class:"w-full"},{default:s(()=>[a(r,{label:"1g",value:1}),a(r,{label:"2g",value:2}),a(r,{label:"3g",value:3}),a(r,{label:"4g",value:4}),a(r,{label:"5g",value:5}),a(r,{label:"6g",value:6}),a(r,{label:"7g",value:7}),a(r,{label:"8g",value:8}),a(r,{label:"9g",value:9}),a(r,{label:"10g",value:10})]),_:1},8,["modelValue"])):n.prescription_type==="饮片"?(p(),x(V,{key:1,modelValue:n.dosage_amount,"onUpdate:modelValue":e[25]||(e[25]=l=>n.dosage_amount=l),placeholder:"请选择用量",class:"w-full"},{default:s(()=>[a(r,{label:"50ml",value:50}),a(r,{label:"100ml",value:100}),a(r,{label:"120ml",value:120}),a(r,{label:"150ml",value:150}),a(r,{label:"180ml",value:180}),a(r,{label:"200ml",value:200}),a(r,{label:"250ml",value:250})]),_:1},8,["modelValue"])):(p(),x(z,{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==="浓缩水丸"?(p(),x(h,{key:0,span:8},{default:s(()=>[a(d,{label:" ",prop:"dosage_bag_count","label-width":"12px"},{default:s(()=>[a(V,{modelValue:n.dosage_bag_count,"onUpdate:modelValue":e[27]||(e[27]=l=>n.dosage_bag_count=l),placeholder:"请选择袋数",class:"w-[120px]"},{default:s(()=>[a(r,{label:"1袋",value:1}),a(r,{label:"2袋",value:2}),a(r,{label:"3袋",value:3}),a(r,{label:"4袋",value:4}),a(r,{label:"5袋",value:5})]),_:1},8,["modelValue"])]),_:1})]),_:1})):v("",!0),n.prescription_type==="饮片"?(p(),x(h,{key:1,span:8},{default:s(()=>[a(d,{label:"是否代煎",prop:"need_decoction"},{default:s(()=>[a(u,{modelValue:n.need_decoction,"onUpdate:modelValue":e[28]||(e[28]=l=>n.need_decoction=l)},{default:s(()=>[a(I,{label:!0},{default:s(()=>[...e[169]||(e[169]=[c("代煎",-1)])]),_:1}),a(I,{label:!1},{default:s(()=>[...e[170]||(e[170]=[c("不代煎",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})):v("",!0),n.prescription_type==="饮片"?(p(),x(h,{key:2,span:8},{default:s(()=>[a(d,{label:"每贴出包数",prop:"bags_per_dose"},{default:s(()=>[a(V,{modelValue:n.bags_per_dose,"onUpdate:modelValue":e[29]||(e[29]=l=>n.bags_per_dose=l),placeholder:"请选择",class:"w-full"},{default:s(()=>[a(r,{label:"1包",value:1}),a(r,{label:"2包",value:2}),a(r,{label:"3包",value:3}),a(r,{label:"4包",value:4}),a(r,{label:"5包",value:5}),a(r,{label:"6包",value:6}),a(r,{label:"7包",value:7}),a(r,{label:"8包",value:8}),a(r,{label:"9包",value:9})]),_:1},8,["modelValue"])]),_:1})]),_:1})):v("",!0),a(h,{span:8},{default:s(()=>[a(d,{label:"每天几次",prop:"times_per_day"},{default:s(()=>[a(z,{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}),a(h,{span:8},{default:s(()=>[a(d,{label:"服用天数",prop:"usage_days"},{default:s(()=>[a(z,{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}),St.value.length>0?(p(),b(E,{key:6},[e[173]||(e[173]=i("div",{class:"usage-formula-title usage-formula-title--aux"},"辅方用法",-1)),a(H,{gutter:20},{default:s(()=>[a(h,{span:8},{default:s(()=>[a(d,{label:"用量"},{default:s(()=>[n.prescription_type==="浓缩水丸"?(p(),x(V,{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(()=>[(p(),b(E,null,Y(10,l=>a(r,{key:l,label:l+"g",value:l},null,8,["label","value"])),64))]),_:1},8,["modelValue"])):n.prescription_type==="饮片"?(p(),x(V,{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(()=>[a(r,{label:"50ml",value:50}),a(r,{label:"100ml",value:100}),a(r,{label:"120ml",value:120}),a(r,{label:"150ml",value:150}),a(r,{label:"180ml",value:180}),a(r,{label:"200ml",value:200}),a(r,{label:"250ml",value:250})]),_:1},8,["modelValue"])):(p(),x(z,{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==="浓缩水丸"?(p(),x(h,{key:0,span:8},{default:s(()=>[a(d,{label:" ","label-width":"12px"},{default:s(()=>[a(V,{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(()=>[a(r,{label:"1袋",value:1}),a(r,{label:"2袋",value:2}),a(r,{label:"3袋",value:3}),a(r,{label:"4袋",value:4}),a(r,{label:"5袋",value:5})]),_:1},8,["modelValue"])]),_:1})]),_:1})):v("",!0),n.prescription_type==="饮片"?(p(),x(h,{key:1,span:8},{default:s(()=>[a(d,{label:"是否代煎"},{default:s(()=>[a(u,{modelValue:n.aux_usage.need_decoction,"onUpdate:modelValue":e[36]||(e[36]=l=>n.aux_usage.need_decoction=l)},{default:s(()=>[a(I,{label:!0},{default:s(()=>[...e[171]||(e[171]=[c("代煎",-1)])]),_:1}),a(I,{label:!1},{default:s(()=>[...e[172]||(e[172]=[c("不代煎",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})):v("",!0),n.prescription_type==="饮片"?(p(),x(h,{key:2,span:8},{default:s(()=>[a(d,{label:"每贴出包数"},{default:s(()=>[a(V,{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(()=>[(p(),b(E,null,Y(9,l=>a(r,{key:l,label:l+"包",value:l},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1})):v("",!0),a(h,{span:8},{default:s(()=>[a(d,{label:"每天几次"},{default:s(()=>[a(z,{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}),a(h,{span:8},{default:s(()=>[a(d,{label:"服用天数"},{default:s(()=>[a(z,{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),a(d,{label:"用法",prop:"usage_instruction"},{default:s(()=>[a(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}),a(H,{gutter:20},{default:s(()=>[a(h,{span:12},{default:s(()=>[a(d,{label:"服用时间",prop:"usage_time"},{default:s(()=>[a(V,{modelValue:n.usage_time,"onUpdate:modelValue":e[41]||(e[41]=l=>n.usage_time=l),placeholder:"请选择服用时间",class:"w-full"},{default:s(()=>[a(r,{label:"饭前",value:"饭前"}),a(r,{label:"饭后",value:"饭后"}),a(r,{label:"饭中",value:"饭中"}),a(r,{label:"空腹",value:"空腹"}),a(r,{label:"睡前",value:"睡前"}),a(r,{label:"晨起",value:"晨起"}),a(r,{label:"随时",value:"随时"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"服用方式",prop:"usage_way"},{default:s(()=>[a(V,{modelValue:n.usage_way,"onUpdate:modelValue":e[42]||(e[42]=l=>n.usage_way=l),placeholder:"请选择服用方式",class:"w-full"},{default:s(()=>[a(r,{label:"温水送服",value:"温水送服"}),a(r,{label:"开水冲服",value:"开水冲服"}),a(r,{label:"黄酒送服",value:"黄酒送服"}),a(r,{label:"淡盐水送服",value:"淡盐水送服"}),a(r,{label:"米汤送服",value:"米汤送服"}),a(r,{label:"嚼服",value:"嚼服"}),a(r,{label:"含化",value:"含化"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),a(d,{label:"忌口",prop:"dietary_taboo"},{default:s(()=>[a(V,{modelValue:n.dietary_taboo,"onUpdate:modelValue":e[43]||(e[43]=l=>n.dietary_taboo=l),multiple:"",placeholder:"请选择忌口内容(可多选)",class:"w-full"},{default:s(()=>[a(r,{label:"辛辣食物",value:"辛辣食物"}),a(r,{label:"生冷食物",value:"生冷食物"}),a(r,{label:"油腻食物",value:"油腻食物"}),a(r,{label:"海鲜",value:"海鲜"}),a(r,{label:"牛羊肉",value:"牛羊肉"}),a(r,{label:"鸡蛋",value:"鸡蛋"}),a(r,{label:"豆制品",value:"豆制品"}),a(r,{label:"酒类",value:"酒类"}),a(r,{label:"浓茶",value:"浓茶"}),a(r,{label:"咖啡",value:"咖啡"}),a(r,{label:"烟草",value:"烟草"}),a(r,{label:"萝卜",value:"萝卜"})]),_:1},8,["modelValue"])]),_:1}),a(d,{label:"其他说明",prop:"usage_notes"},{default:s(()=>[a(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}),a(d,{label:"医师姓名",prop:"doctor_name"},{default:s(()=>[a(m,{modelValue:n.doctor_name,"onUpdate:modelValue":e[45]||(e[45]=l=>n.doctor_name=l),placeholder:"请输入医师姓名"},null,8,["modelValue"])]),_:1}),a(d,{label:"医师签名",prop:"doctor_signature",required:""},{default:s(()=>[i("div",No,[i("canvas",{ref_key:"signatureCanvasRef",ref:K,class:"signature-canvas",onPointerdown:Ne(Za,["prevent"]),onPointermove:Ne(el,["prevent"]),onPointerup:Ne(Mt,["prevent"]),onPointercancel:Ne(Mt,["prevent"])},null,544),i("div",So,[a(y,{size:"small",onClick:tl},{default:s(()=>[...e[174]||(e[174]=[c("清空签名",-1)])]),_:1})])]),e[175]||(e[175]=i("div",{class:"text-xs text-amber-600 mt-1"},"* 必填,请在框内手写医师签名",-1))]),_:1})]),_:1},8,["model"]))]),_:1},8,["modelValue","title","size"]),a(we,{modelValue:me.value,"onUpdate:modelValue":e[53]||(e[53]=l=>me.value=l),title:"修正姓名、性别与手机号",width:"440px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:sa},{footer:s(()=>[a(y,{onClick:e[52]||(e[52]=l=>me.value=!1)},{default:s(()=>[...e[182]||(e[182]=[c("取消",-1)])]),_:1}),a(y,{type:"primary",loading:Be.value,onClick:na},{default:s(()=>[...e[183]||(e[183]=[c(" 保存 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[a(L,{ref_key:"patchPatientFormRef",ref:Ye,model:P,rules:aa,"label-width":"88px"},{default:s(()=>[a(d,{label:"处方编号"},{default:s(()=>[i("span",Co,"#"+f(P.id||"—"),1)]),_:1}),a(d,{label:"患者姓名",prop:"patient_name"},{default:s(()=>[a(m,{modelValue:P.patient_name,"onUpdate:modelValue":e[49]||(e[49]=l=>P.patient_name=l),maxlength:"50","show-word-limit":"",placeholder:"处方笺展示姓名"},null,8,["modelValue"])]),_:1}),a(d,{label:"性别",prop:"gender"},{default:s(()=>[a(u,{modelValue:P.gender,"onUpdate:modelValue":e[50]||(e[50]=l=>P.gender=l)},{default:s(()=>[a(I,{label:1},{default:s(()=>[...e[180]||(e[180]=[c("男",-1)])]),_:1}),a(I,{label:0},{default:s(()=>[...e[181]||(e[181]=[c("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(d,{label:"手机号",prop:"phone"},{default:s(()=>[a(m,{modelValue:P.phone,"onUpdate:modelValue":e[51]||(e[51]=l=>P.phone=l),maxlength:"20",placeholder:"处方笺展示手机号"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),e[184]||(e[184]=i("p",{class:"text-xs text-gray-500 -mt-2 mb-2"}," 仅更新处方表 patient_name、gender、phone,不改变审核状态;记录写入业务订单操作日志(有关联订单时可在此订单日志中查看)。 ",-1))]),_:1},8,["modelValue"]),a(we,{modelValue:_e.value,"onUpdate:modelValue":e[72]||(e[72]=l=>_e.value=l),title:"创建业务订单",width:"940px",top:"4vh","close-on-click-modal":!1,onClosed:Vt,class:"create-order-dialog"},{footer:s(()=>[i("div",Zo,[i("div",ei,[i("span",ti,"第 "+f(T.value+1)+" / 3 步",1),T.value===2&&D.value>0?(p(),b("span",ai," 订单金额与关联支付单合计须 ≥ ¥"+f(ie(D.value)),1)):v("",!0)]),i("div",li,[a(y,{size:"large",onClick:e[71]||(e[71]=l=>_e.value=!1)},{default:s(()=>[...e[195]||(e[195]=[c("取消",-1)])]),_:1}),T.value>0?(p(),x(y,{key:0,size:"large",onClick:ya},{default:s(()=>[...e[196]||(e[196]=[c("上一步",-1)])]),_:1})):v("",!0),T.value<2?(p(),x(y,{key:1,type:"primary",size:"large",onClick:xa},{default:s(()=>[...e[197]||(e[197]=[c(" 下一步 ",-1)])]),_:1})):v("",!0),T.value===2?(p(),x(y,{key:2,type:"primary",size:"large",loading:Ge.value,onClick:ka},{default:s(()=>[...e[198]||(e[198]=[c(" 创建业务订单 ",-1)])]),_:1},8,["loading"])):v("",!0)])])]),default:s(()=>[i("div",Uo,[B.value?(p(),b("div",$o,[i("div",Po,[e[185]||(e[185]=i("span",{class:"create-order-rx-card__badge"},"关联处方",-1)),i("div",Do,[i("span",Ro,"#"+f(B.value.id),1),B.value.sn?(p(),b("span",To,f(B.value.sn),1)):v("",!0),i("span",Ao,f(B.value.patient_name||"—"),1)])])])):v("",!0),a(wl,{active:T.value,"finish-status":"success","align-center":"",class:"create-order-steps"},{default:s(()=>[a(pt,{title:"患者与收货",description:"诊单与物流地址"}),a(pt,{title:"服务与支付单",description:"套餐与关联收款"}),a(pt,{title:"金额与确认",description:"费用与备注"})]),_:1},8,["active"]),i("p",Oo,f(oa.value),1),a(L,{ref_key:"createOrderFormRef",ref:ce,model:_,rules:ca.value,"label-width":"108px",class:"create-order-form"},{default:s(()=>[O(i("div",Eo,[a(H,{gutter:20},{default:s(()=>[a(h,{span:24},{default:s(()=>[a(d,{label:"诊单患者",prop:"patient_id"},{default:s(()=>[a(V,{modelValue:_.patient_id,"onUpdate:modelValue":e[54]||(e[54]=l=>_.patient_id=l),class:"w-full",placeholder:"搜索姓名/手机/身份证",filterable:"",remote:"","remote-method":ba,loading:Ke.value,onChange:va},{default:s(()=>[(p(!0),b(E,null,Y(X.value,l=>(p(),x(r,{key:l.id,label:`${l.patient_name} (${l.phone||"无手机"})`,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"收货人",prop:"recipient_name"},{default:s(()=>[a(m,{modelValue:_.recipient_name,"onUpdate:modelValue":e[55]||(e[55]=l=>_.recipient_name=l),placeholder:"姓名",maxlength:"50"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"收货手机",prop:"recipient_phone"},{default:s(()=>[a(m,{modelValue:_.recipient_phone,"onUpdate:modelValue":e[56]||(e[56]=l=>_.recipient_phone=l),placeholder:"物流联系",maxlength:"20"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:24},{default:s(()=>[a(d,{label:"省市区",prop:"region"},{default:s(()=>[a(Nl,{modelValue:_.region,"onUpdate:modelValue":e[57]||(e[57]=l=>_.region=l),options:fe.value,props:{value:"name",label:"name",children:"children",emitPath:!0,checkStrictly:!1},placeholder:"省 / 市 / 区",clearable:"",filterable:"",class:"w-full",onChange:ma},null,8,["modelValue","options"])]),_:1})]),_:1}),a(h,{span:24},{default:s(()=>[a(d,{label:"详细地址",prop:"shipping_address"},{default:s(()=>[a(m,{modelValue:_.shipping_address,"onUpdate:modelValue":e[58]||(e[58]=l=>_.shipping_address=l),type:"textarea",rows:3,placeholder:"街道、小区、门牌号等详细地址",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[ct,T.value===0]]),O(i("div",Lo,[a(H,{gutter:20},{default:s(()=>[ra.value?(p(),x(h,{key:0,span:24},{default:s(()=>[a(d,{label:"发货药房",prop:"ship_mode"},{default:s(()=>[a(u,{modelValue:_.ship_mode,"onUpdate:modelValue":e[59]||(e[59]=l=>_.ship_mode=l)},{default:s(()=>[a(o,{label:"gancao"},{default:s(()=>[...e[186]||(e[186]=[c("甘草药房",-1)])]),_:1}),a(o,{label:"direct"},{default:s(()=>[...e[187]||(e[187]=[c("洛阳药房",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})):v("",!0),a(h,{xs:24,sm:8},{default:s(()=>[a(d,{label:"复诊"},{default:s(()=>[a(Sl,{modelValue:_.is_follow_up,"onUpdate:modelValue":e[60]||(e[60]=l=>_.is_follow_up=l),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{xs:24,sm:8},{default:s(()=>[a(d,{label:"服用天数",class:"create-order-form-item--inline-num"},{default:s(()=>[i("div",zo,[a(z,{modelValue:_.medication_days,"onUpdate:modelValue":e[61]||(e[61]=l=>_.medication_days=l),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[188]||(e[188]=i("span",{class:"create-order-unit-suffix"},"天",-1))])]),_:1})]),_:1}),a(h,{xs:24,sm:8},{default:s(()=>[a(d,{label:"上次医生"},{default:s(()=>[a(m,{modelValue:_.prev_staff,"onUpdate:modelValue":e[62]||(e[62]=l=>_.prev_staff=l),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"服务渠道"},{default:s(()=>[a(m,{modelValue:_.service_channel,"onUpdate:modelValue":e[63]||(e[63]=l=>_.service_channel=l),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"服务套餐"},{default:s(()=>[a(V,{modelValue:_.service_package,"onUpdate:modelValue":e[64]||(e[64]=l=>_.service_package=l),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"请选择服务套餐",clearable:"",class:"w-full"},{default:s(()=>[(p(!0),b(E,null,Y(Qe.value,l=>(p(),x(r,{key:l.value,label:l.name,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(h,{span:24},{default:s(()=>[a(d,{label:"关联支付单",prop:"pay_order_ids"},{default:s(()=>[a(V,{modelValue:_.pay_order_ids,"onUpdate:modelValue":e[65]||(e[65]=l=>_.pay_order_ids=l),class:"w-full",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:D.value>0?"请至少选择一笔本诊单支付单(已开启门槛)":"多选本诊单支付单(可选)",loading:Je.value},{default:s(()=>[(p(!0),b(E,null,Y(oe.value,l=>(p(),x(r,{key:l.id,label:`${l.order_no} · ¥${l.amount} · ${kt(l.order_type)}`,value:l.id,class:"!h-auto py-1.5"},{default:s(()=>[i("div",Fo,[i("div",Io,[i("span",jo,f(l.order_no),1),i("span",Mo,"¥"+f(l.amount),1)]),i("div",Ho,[i("span",Wo,[c(f(kt(l.order_type)),1),l.remark?(p(),b(E,{key:0},[c(" · "+f(l.remark),1)],64)):v("",!0)]),i("span",qo,f(String(l.create_time||"").substring(0,16)),1)])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","loading"]),i("div",Bo,[D.value>0?(p(),b(E,{key:0},[i("span",Yo,"当前已开启关联支付门槛(¥"+f(ie(D.value))+"),须至少选择一笔支付单。",1),e[189]||(e[189]=i("span",{class:"mx-1"},null,-1))],64)):v("",!0),e[191]||(e[191]=c(" 主管/本诊单医助可见全部支付单;否则仅本人收款单。已被占用的支付单不列出。 ",-1)),a(Cl,{content:"主管或本诊单医助可见该诊单全部支付单(待支付/已支付),否则仅本人创建的收款单。已被其他有效业务订单占用的支付单不会出现在此列表。",placement:"top"},{default:s(()=>[...e[190]||(e[190]=[i("span",{class:"text-primary cursor-help ml-0.5"},"详情",-1)])]),_:1})])]),_:1})]),_:1})]),_:1})],512),[[ct,T.value===1]]),O(i("div",Go,[i("div",{class:rs(["create-order-deposit-bar",Xe.value>=D.value?"is-ok":"is-warn"])},[i("div",Ko,[e[192]||(e[192]=i("span",{class:"create-order-deposit-bar__label"},"定金门槛",-1)),i("strong",null,"¥"+f(ie(D.value)),1),i("span",Jo,f(D.value>0?"须 ≥ 此值":"未设置"),1)]),e[194]||(e[194]=i("div",{class:"create-order-deposit-bar__sep"},null,-1)),i("div",Qo,[e[193]||(e[193]=i("span",{class:"create-order-deposit-bar__label"},"已选收款",-1)),i("strong",null,"¥"+f(ie(Xe.value)),1),i("span",Xo,f(Xe.value>=D.value?"已达标":"未达标"),1)])],2),a(H,{gutter:20,class:"create-order-step-panel__row-after-bar"},{default:s(()=>[a(h,{span:12},{default:s(()=>[a(d,{label:"费用类别",prop:"fee_type"},{default:s(()=>[a(V,{modelValue:_.fee_type,"onUpdate:modelValue":e[66]||(e[66]=l=>_.fee_type=l),placeholder:"请选择",class:"w-full"},{default:s(()=>[a(r,{label:"挂号费",value:1}),a(r,{label:"问诊费",value:2}),a(r,{label:"药品费用",value:3}),a(r,{label:"首付费用",value:4}),a(r,{label:"尾款费用",value:5}),a(r,{label:"其他费用",value:6}),a(r,{label:"全部费用",value:7}),a(r,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"总金额",prop:"amount"},{default:s(()=>[a(z,{modelValue:_.amount,"onUpdate:modelValue":e[67]||(e[67]=l=>_.amount=l),min:_a.value,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"元"},null,8,["modelValue","min"])]),_:1})]),_:1}),O((p(),x(h,{span:12},{default:s(()=>[a(d,{label:"内部成本"},{default:s(()=>[a(z,{modelValue:_.internal_cost,"onUpdate:modelValue":e[68]||(e[68]=l=>_.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"]]]),a(h,{span:24},{default:s(()=>[O((p(),x(d,{label:"药房备注"},{default:s(()=>[a(m,{modelValue:_.remark_extra,"onUpdate:modelValue":e[69]||(e[69]=l=>_.remark_extra=l),type:"textarea",rows:3,placeholder:"选填,对内说明",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})),[[W,["tcm.prescriptionOrder/editRemarkExtra"]]]),a(d,{label:"医助备注"},{default:s(()=>[a(m,{modelValue:_.remark_assistant,"onUpdate:modelValue":e[70]||(e[70]=l=>_.remark_assistant=l),type:"textarea",rows:3,placeholder:"选填,医助对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[ct,T.value===2]])]),_:1},8,["model","rules"])])]),_:1},8,["modelValue"]),a(we,{modelValue:ye.value,"onUpdate:modelValue":e[78]||(e[78]=l=>ye.value=l),title:"从处方库导入",width:"800px","close-on-click-modal":!1},{default:s(()=>[i("div",si,[a(m,{modelValue:Ae.value,"onUpdate:modelValue":e[73]||(e[73]=l=>Ae.value=l),class:"flex-1",placeholder:"请输入处方名称搜索",clearable:"",onKeyup:_t(Le,["enter"]),onClear:Le},{append:s(()=>[a(y,{icon:j(us),onClick:Le},null,8,["icon"])]),_:1},8,["modelValue"]),a(V,{modelValue:Oe.value,"onUpdate:modelValue":e[74]||(e[74]=l=>Oe.value=l),placeholder:"处方类型",clearable:"",class:"w-[140px]",onChange:Le},{default:s(()=>[a(r,{label:"全部",value:""}),a(r,{label:"主方",value:"主方"}),a(r,{label:"辅方",value:"辅方"})]),_:1},8,["modelValue"])]),i("div",ni,[e[201]||(e[201]=i("span",{class:"text-sm text-gray-600 shrink-0"},"导入方式",-1)),a(u,{modelValue:xe.value,"onUpdate:modelValue":e[75]||(e[75]=l=>xe.value=l)},{default:s(()=>[a(I,{label:"replace"},{default:s(()=>[...e[199]||(e[199]=[c("覆盖现有药材",-1)])]),_:1}),a(I,{label:"append"},{default:s(()=>[...e[200]||(e[200]=[c("追加到末尾",-1)])]),_:1})]),_:1},8,["modelValue"])]),O((p(),x(F,{data:st.value,height:"400",style:{cursor:"pointer"},onRowClick:il},{default:s(()=>[a(C,{label:"处方名称",prop:"prescription_name","min-width":"150","show-overflow-tooltip":""}),a(C,{label:"处方类型",width:"90"},{default:s(({row:l})=>[a(A,{type:l.formula_type==="辅方"?"warning":"primary",size:"small"},{default:s(()=>[c(f(l.formula_type||"主方"),1)]),_:2},1032,["type"])]),_:1}),a(C,{label:"药材数量",width:"100"},{default:s(({row:l})=>{var w;return[c(f(((w=l.herbs)==null?void 0:w.length)||0)+"味 ",1)]}),_:1}),a(C,{label:"药材明细","min-width":"300","show-overflow-tooltip":""},{default:s(({row:l})=>[l.herbs&&l.herbs.length>0?(p(),b("span",oi,f(l.herbs.map(w=>`${w.name} ${w.dosage}g`).join("、")),1)):(p(),b("span",ii,"暂无药材"))]),_:1}),a(C,{label:"是否公开",width:"110"},{default:s(({row:l})=>[a(A,{type:l.is_public?"success":"info",size:"small"},{default:s(()=>[c(f(l.is_public?"所有人可见":"仅自己可见"),1)]),_:2},1032,["type"])]),_:1}),a(C,{label:"创建人",prop:"creator_name",width:"100"}),a(C,{label:"操作",width:"100",fixed:"right"},{default:s(({row:l})=>[a(y,{type:"primary",link:"",onClick:Ne(w=>Gt(l),["stop"])},{default:s(()=>[...e[202]||(e[202]=[c("导入",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[Fe,lt.value]]),i("div",ri,[a(Ul,{"current-page":ke.value,"onUpdate:currentPage":e[76]||(e[76]=l=>ke.value=l),"page-size":nt.value,"onUpdate:pageSize":e[77]||(e[77]=l=>nt.value=l),total:ot.value,"page-sizes":[10,15,20,50],layout:"total, sizes, prev, pager, next",onCurrentChange:Ee,onSizeChange:Ee},null,8,["current-page","page-size","total"])])]),_:1},8,["modelValue"]),a(we,{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=>he.value="")},{footer:s(()=>[a(y,{onClick:e[81]||(e[81]=l=>Ve.value=!1)},{default:s(()=>[...e[206]||(e[206]=[c("取消",-1)])]),_:1}),a(y,{type:"primary",loading:rt.value,onClick:fl},{default:s(()=>[...e[207]||(e[207]=[c(" 识别并导入 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[e[208]||(e[208]=i("p",{class:"text-gray-500 text-sm mb-2 leading-relaxed"}," 粘贴整张药方文本,系统按「药名 + 剂量」解析;药名须与药品库中名称完全一致才会录入,否则跳过。支持顿号/逗号/换行分隔;单行可用空格分味(如「黄芪15g 白术10g」);「黄芪、党参各10克」等同剂量写法亦可识别。 ",-1)),a(m,{modelValue:he.value,"onUpdate:modelValue":e[79]||(e[79]=l=>he.value=l),type:"textarea",rows:10,placeholder:`示例: +黄芪15 党参12 茯苓10 +柴胡10g、黄芩10、半夏12克 +黄芪、白术、茯苓各15克`},null,8,["modelValue"]),i("div",ui,[e[205]||(e[205]=i("span",{class:"text-sm text-gray-600 shrink-0"},"导入方式",-1)),a(u,{modelValue:it.value,"onUpdate:modelValue":e[80]||(e[80]=l=>it.value=l)},{default:s(()=>[a(I,{label:"replace"},{default:s(()=>[...e[203]||(e[203]=[c("覆盖现有药材",-1)])]),_:1}),a(I,{label:"append"},{default:s(()=>[...e[204]||(e[204]=[c("追加到末尾",-1)])]),_:1})]),_:1},8,["modelValue"])])]),_:1},8,["modelValue"]),a(we,{modelValue:pe.value,"onUpdate:modelValue":e[88]||(e[88]=l=>pe.value=l),title:"处方审核",width:"480px","destroy-on-close":"",onClosed:e[89]||(e[89]=l=>ne.value="")},{footer:s(()=>[a(y,{onClick:e[85]||(e[85]=l=>pe.value=!1)},{default:s(()=>[...e[209]||(e[209]=[c("取消",-1)])]),_:1}),a(y,{type:"primary",loading:Ue.value,onClick:e[86]||(e[86]=l=>qt("approve"))},{default:s(()=>[...e[210]||(e[210]=[c("审核通过",-1)])]),_:1},8,["loading"]),a(y,{type:"danger",loading:Ue.value,onClick:e[87]||(e[87]=l=>qt("reject"))},{default:s(()=>[...e[211]||(e[211]=[c("驳回处方",-1)])]),_:1},8,["loading"])]),default:s(()=>[e[212]||(e[212]=i("p",{class:"text-sm text-gray-600 mb-3"}," 通过:处方保持有效。驳回:将同时作废此处方(与诊间「驳回/作废处方」一致)。 ",-1)),a(L,{"label-width":"80px"},{default:s(()=>[a(d,{label:"审核意见"},{default:s(()=>[a(m,{modelValue:ne.value,"onUpdate:modelValue":e[84]||(e[84]=l=>ne.value=l),type:"textarea",rows:3,maxlength:"500","show-word-limit":"",placeholder:"通过可简要说明;驳回必填"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),a(j(ea),{ref_key:"diagnosisViewRef",ref:Et},null,512)])}}}),hi=ys(pi,[["__scopeId","data-v-261a9fcc"]]);export{hi as default}; diff --git a/server/public/admin/assets/index-Doh1nFPs.js b/server/public/admin/assets/index-CXw6xFMg.js similarity index 90% rename from server/public/admin/assets/index-Doh1nFPs.js rename to server/public/admin/assets/index-CXw6xFMg.js index d6a24f50..c0ba11b1 100644 --- a/server/public/admin/assets/index-Doh1nFPs.js +++ b/server/public/admin/assets/index-CXw6xFMg.js @@ -1 +1 @@ -import{o as E,be as P,q as s,r as g,v as t,D as n,s as w,ac as m,O as d,K as j,L as p,bj as q,u as i,bk as z,T as I,C as K,bi as M,bg as O,P as D,a8 as $,M as x,n as y}from"./.pnpm-9dA1PEvN.js";import{_ as U}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as G,i as H}from"./index-CJvXnF8Y.js";import{c as J,d as Q}from"./role-D6rynjFP.js";import{u as W}from"./usePaging-Boz1Q6w3.js";import{_ as X}from"./auth.vue_vue_type_script_setup_true_lang-pCTIVpFq.js";import{_ as Y}from"./edit.vue_vue_type_script_setup_true_lang-EtRC1QEA.js";import"./menu-DVBnPCFw.js";import"./index-BBemoNXE.js";const Z={class:"role-lists"},ee={class:"mt-4"},te={class:"flex justify-end mt-4"},ae=E({name:"role"}),pe=E({...ae,setup(oe){const f=$(),h=$(),_=x(!1),k=x(!1),{pager:u,getLists:c}=W({fetchFun:J}),V=async()=>{var a;_.value=!0,await y(),(a=f.value)==null||a.open("add")},R=async a=>{var e,r;_.value=!0,await y(),(e=f.value)==null||e.open("edit"),(r=f.value)==null||r.setFormData(a)},S=async a=>{var e,r;k.value=!0,await y(),(e=h.value)==null||e.open(),(r=h.value)==null||r.setFormData(a)},B=a=>{const e=Number(a)||1;return{1:"全部数据(免隔离)",2:"本部门及下级部门",3:"仅本部门",4:"仅本人"}[e]||"全部数据(免隔离)"},L=async a=>{await H.confirm("确定要删除?"),await Q({id:a}),c()};return c(),(a,e)=>{const r=G,v=j,l=z,N=q,T=U,A=O,b=P("perms"),F=M;return s(),g("div",Z,[t(A,{class:"!border-none",shadow:"never"},{default:n(()=>[w("div",null,[m((s(),d(v,{type:"primary",onClick:V},{icon:n(()=>[t(r,{name:"el-icon-Plus"})]),default:n(()=>[e[3]||(e[3]=p(" 新增 ",-1))]),_:1})),[[b,["auth.role/add"]]])]),m((s(),g("div",ee,[w("div",null,[t(N,{data:i(u).lists,size:"large"},{default:n(()=>[t(l,{prop:"id",label:"ID","min-width":"100"}),t(l,{prop:"name",label:"名称","min-width":"150"}),t(l,{prop:"desc",label:"备注","min-width":"150","show-overflow-tooltip":""}),t(l,{prop:"sort",label:"排序","min-width":"100"}),t(l,{label:"数据范围","min-width":"140"},{default:n(({row:o})=>[p(I(B(o.data_scope)),1)]),_:1}),t(l,{prop:"num",label:"管理员人数","min-width":"100"}),t(l,{prop:"create_time",label:"创建时间","min-width":"180"}),t(l,{label:"操作",width:"200",fixed:"right"},{default:n(({row:o})=>[m((s(),d(v,{link:"",type:"primary",onClick:C=>R(o)},{default:n(()=>[...e[4]||(e[4]=[p(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[b,["auth.role/edit"]]]),m((s(),d(v,{link:"",type:"primary",onClick:C=>S(o)},{default:n(()=>[...e[5]||(e[5]=[p(" 分配权限 ",-1)])]),_:1},8,["onClick"])),[[b,["auth.role/edit"]]]),m((s(),d(v,{link:"",type:"danger",onClick:C=>L(o.id)},{default:n(()=>[...e[6]||(e[6]=[p(" 删除 ",-1)])]),_:1},8,["onClick"])),[[b,["auth.role/delete"]]])]),_:1})]),_:1},8,["data"])]),w("div",te,[t(T,{modelValue:i(u),"onUpdate:modelValue":e[0]||(e[0]=o=>K(u)?u.value=o:null),onChange:i(c)},null,8,["modelValue","onChange"])])])),[[F,i(u).loading]])]),_:1}),i(_)?(s(),d(Y,{key:0,ref_key:"editRef",ref:f,onSuccess:i(c),onClose:e[1]||(e[1]=o=>_.value=!1)},null,8,["onSuccess"])):D("",!0),i(k)?(s(),d(X,{key:1,ref_key:"authRef",ref:h,onSuccess:i(c),onClose:e[2]||(e[2]=o=>k.value=!1)},null,8,["onSuccess"])):D("",!0)])}}});export{pe as default}; +import{o as E,be as P,q as s,r as g,v as t,D as n,s as w,ac as m,O as d,K as j,L as p,bj as q,u as i,bk as z,T as I,C as K,bi as M,bg as O,P as D,a8 as $,M as x,n as y}from"./.pnpm-9dA1PEvN.js";import{_ as U}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as G,i as H}from"./index-BWzN7QIb.js";import{c as J,d as Q}from"./role-CrpOZd5J.js";import{u as W}from"./usePaging-Boz1Q6w3.js";import{_ as X}from"./auth.vue_vue_type_script_setup_true_lang-IU5vJ7WE.js";import{_ as Y}from"./edit.vue_vue_type_script_setup_true_lang-SKYPoZs-.js";import"./menu-DRrdTmPN.js";import"./index-dYaCh-CN.js";const Z={class:"role-lists"},ee={class:"mt-4"},te={class:"flex justify-end mt-4"},ae=E({name:"role"}),pe=E({...ae,setup(oe){const f=$(),h=$(),_=x(!1),k=x(!1),{pager:u,getLists:c}=W({fetchFun:J}),V=async()=>{var a;_.value=!0,await y(),(a=f.value)==null||a.open("add")},R=async a=>{var e,r;_.value=!0,await y(),(e=f.value)==null||e.open("edit"),(r=f.value)==null||r.setFormData(a)},S=async a=>{var e,r;k.value=!0,await y(),(e=h.value)==null||e.open(),(r=h.value)==null||r.setFormData(a)},B=a=>{const e=Number(a)||1;return{1:"全部数据(免隔离)",2:"本部门及下级部门",3:"仅本部门",4:"仅本人"}[e]||"全部数据(免隔离)"},L=async a=>{await H.confirm("确定要删除?"),await Q({id:a}),c()};return c(),(a,e)=>{const r=G,v=j,l=z,N=q,T=U,A=O,b=P("perms"),F=M;return s(),g("div",Z,[t(A,{class:"!border-none",shadow:"never"},{default:n(()=>[w("div",null,[m((s(),d(v,{type:"primary",onClick:V},{icon:n(()=>[t(r,{name:"el-icon-Plus"})]),default:n(()=>[e[3]||(e[3]=p(" 新增 ",-1))]),_:1})),[[b,["auth.role/add"]]])]),m((s(),g("div",ee,[w("div",null,[t(N,{data:i(u).lists,size:"large"},{default:n(()=>[t(l,{prop:"id",label:"ID","min-width":"100"}),t(l,{prop:"name",label:"名称","min-width":"150"}),t(l,{prop:"desc",label:"备注","min-width":"150","show-overflow-tooltip":""}),t(l,{prop:"sort",label:"排序","min-width":"100"}),t(l,{label:"数据范围","min-width":"140"},{default:n(({row:o})=>[p(I(B(o.data_scope)),1)]),_:1}),t(l,{prop:"num",label:"管理员人数","min-width":"100"}),t(l,{prop:"create_time",label:"创建时间","min-width":"180"}),t(l,{label:"操作",width:"200",fixed:"right"},{default:n(({row:o})=>[m((s(),d(v,{link:"",type:"primary",onClick:C=>R(o)},{default:n(()=>[...e[4]||(e[4]=[p(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[b,["auth.role/edit"]]]),m((s(),d(v,{link:"",type:"primary",onClick:C=>S(o)},{default:n(()=>[...e[5]||(e[5]=[p(" 分配权限 ",-1)])]),_:1},8,["onClick"])),[[b,["auth.role/edit"]]]),m((s(),d(v,{link:"",type:"danger",onClick:C=>L(o.id)},{default:n(()=>[...e[6]||(e[6]=[p(" 删除 ",-1)])]),_:1},8,["onClick"])),[[b,["auth.role/delete"]]])]),_:1})]),_:1},8,["data"])]),w("div",te,[t(T,{modelValue:i(u),"onUpdate:modelValue":e[0]||(e[0]=o=>K(u)?u.value=o:null),onChange:i(c)},null,8,["modelValue","onChange"])])])),[[F,i(u).loading]])]),_:1}),i(_)?(s(),d(Y,{key:0,ref_key:"editRef",ref:f,onSuccess:i(c),onClose:e[1]||(e[1]=o=>_.value=!1)},null,8,["onSuccess"])):D("",!0),i(k)?(s(),d(X,{key:1,ref_key:"authRef",ref:h,onSuccess:i(c),onClose:e[2]||(e[2]=o=>k.value=!1)},null,8,["onSuccess"])):D("",!0)])}}});export{pe as default}; diff --git a/server/public/admin/assets/index-asIm-Wf7.js b/server/public/admin/assets/index-CYHWM1G1.js similarity index 95% rename from server/public/admin/assets/index-asIm-Wf7.js rename to server/public/admin/assets/index-CYHWM1G1.js index 17a44983..b3ecaefb 100644 --- a/server/public/admin/assets/index-asIm-Wf7.js +++ b/server/public/admin/assets/index-CYHWM1G1.js @@ -1 +1 @@ -import{o as N,Q as M,ba as B,be as Q,q as s,r as V,v as t,D as a,bl as J,b9 as W,u as l,b6 as X,bm as Y,F as Z,G as ee,O as r,bn as te,b7 as ae,b8 as le,K as ne,L as u,bg as oe,s as D,ac as y,bj as se,bk as ie,br as de,C as re,bi as ue,P as me,M as L,a8 as pe,n as R}from"./.pnpm-9dA1PEvN.js";import{_ as ce}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as _e,i as fe}from"./index-CJvXnF8Y.js";import{c as be,e as ye,f as ve}from"./dict-TRsJ1i1z.js";import{u as ge}from"./usePaging-Boz1Q6w3.js";import{_ as ke}from"./edit.vue_vue_type_script_setup_true_lang-BsX_sZsd.js";import"./index-BBemoNXE.js";const Ce={class:"dict-type"},we={class:"mt-4"},Ve={class:"flex justify-end mt-4"},De=N({name:"dictData"}),Re=N({...De,setup(Ee){const{query:S}=M(),v=L(!1),_=pe(),i=B({type:"",type_id:Number(S.id),name:"",status:""}),C=B({dict_type:[]}),{pager:f,getLists:b,resetPage:E,resetParams:K}=ge({fetchFun:be,params:i}),w=L([]),U=o=>{w.value=o.map(({id:e})=>e)},q=async()=>{var e,m;v.value=!0,await R();const o=C.dict_type.find(p=>p.id==i.type_id);(e=_.value)==null||e.setFormData({type_value:o==null?void 0:o.type,type_id:o.id}),(m=_.value)==null||m.open("add")},I=async o=>{var e,m;v.value=!0,await R(),(e=_.value)==null||e.open("edit"),(m=_.value)==null||m.setFormData(o)},x=async o=>{await fe.confirm("确定要删除?"),await ye({id:o}),b()},h=async()=>{const o=await ve({page_type:0});C.dict_type=o.lists};return b(),h(),(o,e)=>{const m=J,p=te,$=Y,g=X,j=ae,c=ne,O=W,F=oe,P=_e,d=ie,T=de,z=se,A=ce,k=Q("perms"),G=ue;return s(),V("div",Ce,[t(F,{class:"!border-none",shadow:"never"},{default:a(()=>[t(m,{class:"mb-4",content:"数据管理",onBack:e[0]||(e[0]=n=>o.$router.back())}),t(O,{ref:"formRef",class:"mb-[-16px]",model:l(i),inline:""},{default:a(()=>[t(g,{class:"w-[280px]",label:"字典名称"},{default:a(()=>[t($,{modelValue:l(i).type_id,"onUpdate:modelValue":e[1]||(e[1]=n=>l(i).type_id=n),onChange:l(b)},{default:a(()=>[(s(!0),V(Z,null,ee(l(C).dict_type,n=>(s(),r(p,{label:n.name,value:n.id,key:n.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onChange"])]),_:1}),t(g,{class:"w-[280px]",label:"数据名称"},{default:a(()=>[t(j,{modelValue:l(i).name,"onUpdate:modelValue":e[2]||(e[2]=n=>l(i).name=n),clearable:"",onKeyup:le(l(E),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(g,{class:"w-[280px]",label:"数据状态"},{default:a(()=>[t($,{modelValue:l(i).status,"onUpdate:modelValue":e[3]||(e[3]=n=>l(i).status=n)},{default:a(()=>[t(p,{label:"全部",value:""}),t(p,{label:"正常",value:1}),t(p,{label:"停用",value:0})]),_:1},8,["modelValue"])]),_:1}),t(g,null,{default:a(()=>[t(c,{type:"primary",onClick:l(E)},{default:a(()=>[...e[7]||(e[7]=[u("查询",-1)])]),_:1},8,["onClick"]),t(c,{onClick:l(K)},{default:a(()=>[...e[8]||(e[8]=[u("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),t(F,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[D("div",null,[y((s(),r(c,{type:"primary",onClick:q},{icon:a(()=>[t(P,{name:"el-icon-Plus"})]),default:a(()=>[e[9]||(e[9]=u(" 添加数据 ",-1))]),_:1})),[[k,["setting.dict.dict_data/add"]]]),y((s(),r(c,{disabled:!l(w).length,type:"danger",onClick:e[4]||(e[4]=n=>x(l(w)))},{icon:a(()=>[t(P,{name:"el-icon-Delete"})]),default:a(()=>[e[10]||(e[10]=u(" 删除 ",-1))]),_:1},8,["disabled"])),[[k,["setting.dict.dict_data/delete"]]])]),y((s(),V("div",we,[D("div",null,[t(z,{data:l(f).lists,size:"large",onSelectionChange:U},{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:n})=>[n.status==1?(s(),r(T,{key:0},{default:a(()=>[...e[11]||(e[11]=[u("正常",-1)])]),_:1})):(s(),r(T,{key:1,type:"danger"},{default:a(()=>[...e[12]||(e[12]=[u("停用",-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:n})=>[y((s(),r(c,{link:"",type:"primary",onClick:H=>I(n)},{default:a(()=>[...e[13]||(e[13]=[u(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[k,["setting.dict.dict_data/edit"]]]),y((s(),r(c,{link:"",type:"danger",onClick:H=>x(n.id)},{default:a(()=>[...e[14]||(e[14]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])),[[k,["setting.dict.dict_data/delete"]]])]),_:1})]),_:1},8,["data"])]),D("div",Ve,[t(A,{modelValue:l(f),"onUpdate:modelValue":e[5]||(e[5]=n=>re(f)?f.value=n:null),onChange:l(b)},null,8,["modelValue","onChange"])])])),[[G,l(f).loading]])]),_:1}),l(v)?(s(),r(ke,{key:0,ref_key:"editRef",ref:_,onSuccess:l(b),onClose:e[6]||(e[6]=n=>v.value=!1)},null,8,["onSuccess"])):me("",!0)])}}});export{Re as default}; +import{o as N,Q as M,ba as B,be as Q,q as s,r as V,v as t,D as a,bl as J,b9 as W,u as l,b6 as X,bm as Y,F as Z,G as ee,O as r,bn as te,b7 as ae,b8 as le,K as ne,L as u,bg as oe,s as D,ac as y,bj as se,bk as ie,br as de,C as re,bi as ue,P as me,M as L,a8 as pe,n as R}from"./.pnpm-9dA1PEvN.js";import{_ as ce}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as _e,i as fe}from"./index-BWzN7QIb.js";import{c as be,e as ye,f as ve}from"./dict-BzuAKP6Q.js";import{u as ge}from"./usePaging-Boz1Q6w3.js";import{_ as ke}from"./edit.vue_vue_type_script_setup_true_lang-BqqAYtn1.js";import"./index-dYaCh-CN.js";const Ce={class:"dict-type"},we={class:"mt-4"},Ve={class:"flex justify-end mt-4"},De=N({name:"dictData"}),Re=N({...De,setup(Ee){const{query:S}=M(),v=L(!1),_=pe(),i=B({type:"",type_id:Number(S.id),name:"",status:""}),C=B({dict_type:[]}),{pager:f,getLists:b,resetPage:E,resetParams:K}=ge({fetchFun:be,params:i}),w=L([]),U=o=>{w.value=o.map(({id:e})=>e)},q=async()=>{var e,m;v.value=!0,await R();const o=C.dict_type.find(p=>p.id==i.type_id);(e=_.value)==null||e.setFormData({type_value:o==null?void 0:o.type,type_id:o.id}),(m=_.value)==null||m.open("add")},I=async o=>{var e,m;v.value=!0,await R(),(e=_.value)==null||e.open("edit"),(m=_.value)==null||m.setFormData(o)},x=async o=>{await fe.confirm("确定要删除?"),await ye({id:o}),b()},h=async()=>{const o=await ve({page_type:0});C.dict_type=o.lists};return b(),h(),(o,e)=>{const m=J,p=te,$=Y,g=X,j=ae,c=ne,O=W,F=oe,P=_e,d=ie,T=de,z=se,A=ce,k=Q("perms"),G=ue;return s(),V("div",Ce,[t(F,{class:"!border-none",shadow:"never"},{default:a(()=>[t(m,{class:"mb-4",content:"数据管理",onBack:e[0]||(e[0]=n=>o.$router.back())}),t(O,{ref:"formRef",class:"mb-[-16px]",model:l(i),inline:""},{default:a(()=>[t(g,{class:"w-[280px]",label:"字典名称"},{default:a(()=>[t($,{modelValue:l(i).type_id,"onUpdate:modelValue":e[1]||(e[1]=n=>l(i).type_id=n),onChange:l(b)},{default:a(()=>[(s(!0),V(Z,null,ee(l(C).dict_type,n=>(s(),r(p,{label:n.name,value:n.id,key:n.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onChange"])]),_:1}),t(g,{class:"w-[280px]",label:"数据名称"},{default:a(()=>[t(j,{modelValue:l(i).name,"onUpdate:modelValue":e[2]||(e[2]=n=>l(i).name=n),clearable:"",onKeyup:le(l(E),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(g,{class:"w-[280px]",label:"数据状态"},{default:a(()=>[t($,{modelValue:l(i).status,"onUpdate:modelValue":e[3]||(e[3]=n=>l(i).status=n)},{default:a(()=>[t(p,{label:"全部",value:""}),t(p,{label:"正常",value:1}),t(p,{label:"停用",value:0})]),_:1},8,["modelValue"])]),_:1}),t(g,null,{default:a(()=>[t(c,{type:"primary",onClick:l(E)},{default:a(()=>[...e[7]||(e[7]=[u("查询",-1)])]),_:1},8,["onClick"]),t(c,{onClick:l(K)},{default:a(()=>[...e[8]||(e[8]=[u("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),t(F,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[D("div",null,[y((s(),r(c,{type:"primary",onClick:q},{icon:a(()=>[t(P,{name:"el-icon-Plus"})]),default:a(()=>[e[9]||(e[9]=u(" 添加数据 ",-1))]),_:1})),[[k,["setting.dict.dict_data/add"]]]),y((s(),r(c,{disabled:!l(w).length,type:"danger",onClick:e[4]||(e[4]=n=>x(l(w)))},{icon:a(()=>[t(P,{name:"el-icon-Delete"})]),default:a(()=>[e[10]||(e[10]=u(" 删除 ",-1))]),_:1},8,["disabled"])),[[k,["setting.dict.dict_data/delete"]]])]),y((s(),V("div",we,[D("div",null,[t(z,{data:l(f).lists,size:"large",onSelectionChange:U},{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:n})=>[n.status==1?(s(),r(T,{key:0},{default:a(()=>[...e[11]||(e[11]=[u("正常",-1)])]),_:1})):(s(),r(T,{key:1,type:"danger"},{default:a(()=>[...e[12]||(e[12]=[u("停用",-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:n})=>[y((s(),r(c,{link:"",type:"primary",onClick:H=>I(n)},{default:a(()=>[...e[13]||(e[13]=[u(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[k,["setting.dict.dict_data/edit"]]]),y((s(),r(c,{link:"",type:"danger",onClick:H=>x(n.id)},{default:a(()=>[...e[14]||(e[14]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])),[[k,["setting.dict.dict_data/delete"]]])]),_:1})]),_:1},8,["data"])]),D("div",Ve,[t(A,{modelValue:l(f),"onUpdate:modelValue":e[5]||(e[5]=n=>re(f)?f.value=n:null),onChange:l(b)},null,8,["modelValue","onChange"])])])),[[G,l(f).loading]])]),_:1}),l(v)?(s(),r(ke,{key:0,ref_key:"editRef",ref:_,onSuccess:l(b),onClose:e[6]||(e[6]=n=>v.value=!1)},null,8,["onSuccess"])):me("",!0)])}}});export{Re as default}; diff --git a/server/public/admin/assets/index-Bw9yzK4W.js b/server/public/admin/assets/index-Ccckw_2a.js similarity index 90% rename from server/public/admin/assets/index-Bw9yzK4W.js rename to server/public/admin/assets/index-Ccckw_2a.js index a690abb5..299c21fe 100644 --- a/server/public/admin/assets/index-Bw9yzK4W.js +++ b/server/public/admin/assets/index-Ccckw_2a.js @@ -1 +1 @@ -import{o as y,bo as F,x as P,be as V,q as o,r as g,v as e,D as t,bh as B,bg as M,Y as D,u as l,C as O,F as U,G as q,X as z,ac as v,O as c,bj as S,bk as j,br as G,L as m,K,bi as X,M as Y,ba as H}from"./.pnpm-9dA1PEvN.js";import{a as I}from"./message-BBZN4J7d.js";import{u as J}from"./usePaging-Boz1Q6w3.js";import{k as N}from"./index-CJvXnF8Y.js";const Q=y({name:"notice"}),ae=y({...Q,setup(W){let p;(s=>{s[s.USER=1]="USER",s[s.PLATFORM=2]="PLATFORM"})(p||(p={}));const r=Y(1),k=[{name:"通知用户",type:1},{name:"通知平台",type:2}],w=H({recipient:r}),{pager:u,getLists:d}=J({fetchFun:I,params:w});return F(()=>{d()}),d(),(s,a)=>{const T=B,b=M,h=z,E=D,i=j,f=G,C=P("router-link"),L=K,x=S,R=V("perms"),A=X;return o(),g("div",null,[e(b,{class:"!border-none",shadow:"never"},{default:t(()=>[e(T,{type:"warning",title:"温馨提示:平台配置在各个场景下的通知发送方式和内容模板",closable:!1,"show-icon":""})]),_:1}),e(b,{class:"!border-none mt-4",shadow:"never"},{default:t(()=>[e(E,{modelValue:l(r),"onUpdate:modelValue":a[0]||(a[0]=n=>O(r)?r.value=n:null),onTabChange:l(d)},{default:t(()=>[(o(),g(U,null,q(k,(n,_)=>e(h,{key:_,label:n.name,name:n.type,lazy:""},null,8,["label","name"])),64))]),_:1},8,["modelValue","onTabChange"]),v((o(),c(x,{size:"large",data:l(u).lists},{default:t(()=>[e(i,{label:"通知场景",prop:"scene_name","min-width":"120"}),e(i,{label:"通知类型",prop:"type_desc","min-width":"160"}),e(i,{label:"短信通知","min-width":"80"},{default:t(({row:n})=>{var _;return[((_=n.sms_notice)==null?void 0:_.status)==1?(o(),c(f,{key:0},{default:t(()=>[...a[1]||(a[1]=[m("开启",-1)])]),_:1})):(o(),c(f,{key:1,type:"danger"},{default:t(()=>[...a[2]||(a[2]=[m("关闭",-1)])]),_:1}))]}),_:1}),e(i,{label:"操作","min-width":"80",fixed:"right"},{default:t(({row:n})=>[v((o(),c(L,{type:"primary",link:""},{default:t(()=>[e(C,{to:{path:l(N)("notice.notice/set"),query:{id:n.id}}},{default:t(()=>[...a[3]||(a[3]=[m(" 设置 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[R,["notice.notice/set"]]])]),_:1})]),_:1},8,["data"])),[[A,l(u).loading]])]),_:1})])}}});export{ae as default}; +import{o as y,bo as F,x as P,be as V,q as o,r as g,v as e,D as t,bh as B,bg as M,Y as D,u as l,C as O,F as U,G as q,X as z,ac as v,O as c,bj as S,bk as j,br as G,L as m,K,bi as X,M as Y,ba as H}from"./.pnpm-9dA1PEvN.js";import{a as I}from"./message-DUkl0jbI.js";import{u as J}from"./usePaging-Boz1Q6w3.js";import{k as N}from"./index-BWzN7QIb.js";const Q=y({name:"notice"}),ae=y({...Q,setup(W){let p;(s=>{s[s.USER=1]="USER",s[s.PLATFORM=2]="PLATFORM"})(p||(p={}));const r=Y(1),k=[{name:"通知用户",type:1},{name:"通知平台",type:2}],w=H({recipient:r}),{pager:u,getLists:d}=J({fetchFun:I,params:w});return F(()=>{d()}),d(),(s,a)=>{const T=B,b=M,h=z,E=D,i=j,f=G,C=P("router-link"),L=K,x=S,R=V("perms"),A=X;return o(),g("div",null,[e(b,{class:"!border-none",shadow:"never"},{default:t(()=>[e(T,{type:"warning",title:"温馨提示:平台配置在各个场景下的通知发送方式和内容模板",closable:!1,"show-icon":""})]),_:1}),e(b,{class:"!border-none mt-4",shadow:"never"},{default:t(()=>[e(E,{modelValue:l(r),"onUpdate:modelValue":a[0]||(a[0]=n=>O(r)?r.value=n:null),onTabChange:l(d)},{default:t(()=>[(o(),g(U,null,q(k,(n,_)=>e(h,{key:_,label:n.name,name:n.type,lazy:""},null,8,["label","name"])),64))]),_:1},8,["modelValue","onTabChange"]),v((o(),c(x,{size:"large",data:l(u).lists},{default:t(()=>[e(i,{label:"通知场景",prop:"scene_name","min-width":"120"}),e(i,{label:"通知类型",prop:"type_desc","min-width":"160"}),e(i,{label:"短信通知","min-width":"80"},{default:t(({row:n})=>{var _;return[((_=n.sms_notice)==null?void 0:_.status)==1?(o(),c(f,{key:0},{default:t(()=>[...a[1]||(a[1]=[m("开启",-1)])]),_:1})):(o(),c(f,{key:1,type:"danger"},{default:t(()=>[...a[2]||(a[2]=[m("关闭",-1)])]),_:1}))]}),_:1}),e(i,{label:"操作","min-width":"80",fixed:"right"},{default:t(({row:n})=>[v((o(),c(L,{type:"primary",link:""},{default:t(()=>[e(C,{to:{path:l(N)("notice.notice/set"),query:{id:n.id}}},{default:t(()=>[...a[3]||(a[3]=[m(" 设置 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[R,["notice.notice/set"]]])]),_:1})]),_:1},8,["data"])),[[A,l(u).loading]])]),_:1})])}}});export{ae as default}; diff --git a/server/public/admin/assets/index-BiN-_j1w.js b/server/public/admin/assets/index-Cft40QEz.js similarity index 86% rename from server/public/admin/assets/index-BiN-_j1w.js rename to server/public/admin/assets/index-Cft40QEz.js index 518a6d27..727339bc 100644 --- a/server/public/admin/assets/index-BiN-_j1w.js +++ b/server/public/admin/assets/index-Cft40QEz.js @@ -1 +1 @@ -import{o as u,be as C,q as s,r as h,ac as f,bi as E,u as p,O as n,D as t,v as o,bj as x,bk as L,br as B,L as d,K as T,bg as D,a8 as R,ba as N}from"./.pnpm-9dA1PEvN.js";import{d as S}from"./message-BBZN4J7d.js";import{_ as V}from"./edit.vue_vue_type_script_setup_true_lang-C354oJT2.js";import"./index-CJvXnF8Y.js";import"./index-BBemoNXE.js";const $=u({name:"shortLetter"}),G=u({...$,setup(j){const c=R(),a=N({loading:!1,lists:[]}),_=async()=>{try{a.loading=!0,a.lists=await S(),a.loading=!1}catch{a.loading=!1}},b=l=>{var e;(e=c.value)==null||e.open(l)};return _(),(l,e)=>{const i=L,m=B,g=T,v=x,k=D,y=C("perms"),w=E;return s(),h("div",null,[f((s(),n(k,{class:"!border-none",shadow:"never"},{default:t(()=>[o(v,{size:"large",data:p(a).lists},{default:t(()=>[o(i,{label:"短信渠道",prop:"name","min-width":"120"}),o(i,{label:"状态","min-width":"120"},{default:t(({row:r})=>[r.status==1?(s(),n(m,{key:0},{default:t(()=>[...e[0]||(e[0]=[d("开启",-1)])]),_:1})):(s(),n(m,{key:1,type:"danger"},{default:t(()=>[...e[1]||(e[1]=[d("关闭",-1)])]),_:1}))]),_:1}),o(i,{label:"操作","min-width":"120",fixed:"right"},{default:t(({row:r})=>[f((s(),n(g,{type:"primary",link:"",onClick:q=>b(r.type)},{default:t(()=>[...e[2]||(e[2]=[d(" 设置 ",-1)])]),_:1},8,["onClick"])),[[y,["notice.sms_config/setConfig"]]])]),_:1})]),_:1},8,["data"])]),_:1})),[[w,p(a).loading]]),o(V,{ref_key:"editRef",ref:c,onSuccess:_},null,512)])}}});export{G as default}; +import{o as u,be as C,q as s,r as h,ac as f,bi as E,u as p,O as n,D as t,v as o,bj as x,bk as L,br as B,L as d,K as T,bg as D,a8 as R,ba as N}from"./.pnpm-9dA1PEvN.js";import{d as S}from"./message-DUkl0jbI.js";import{_ as V}from"./edit.vue_vue_type_script_setup_true_lang-BVcv3cX4.js";import"./index-BWzN7QIb.js";import"./index-dYaCh-CN.js";const $=u({name:"shortLetter"}),G=u({...$,setup(j){const c=R(),a=N({loading:!1,lists:[]}),_=async()=>{try{a.loading=!0,a.lists=await S(),a.loading=!1}catch{a.loading=!1}},b=l=>{var e;(e=c.value)==null||e.open(l)};return _(),(l,e)=>{const i=L,m=B,g=T,v=x,k=D,y=C("perms"),w=E;return s(),h("div",null,[f((s(),n(k,{class:"!border-none",shadow:"never"},{default:t(()=>[o(v,{size:"large",data:p(a).lists},{default:t(()=>[o(i,{label:"短信渠道",prop:"name","min-width":"120"}),o(i,{label:"状态","min-width":"120"},{default:t(({row:r})=>[r.status==1?(s(),n(m,{key:0},{default:t(()=>[...e[0]||(e[0]=[d("开启",-1)])]),_:1})):(s(),n(m,{key:1,type:"danger"},{default:t(()=>[...e[1]||(e[1]=[d("关闭",-1)])]),_:1}))]),_:1}),o(i,{label:"操作","min-width":"120",fixed:"right"},{default:t(({row:r})=>[f((s(),n(g,{type:"primary",link:"",onClick:q=>b(r.type)},{default:t(()=>[...e[2]||(e[2]=[d(" 设置 ",-1)])]),_:1},8,["onClick"])),[[y,["notice.sms_config/setConfig"]]])]),_:1})]),_:1},8,["data"])]),_:1})),[[w,p(a).loading]]),o(V,{ref_key:"editRef",ref:c,onSuccess:_},null,512)])}}});export{G as default}; diff --git a/server/public/admin/assets/index-CaAnGn59.js b/server/public/admin/assets/index-CjXwPBH-.js similarity index 78% rename from server/public/admin/assets/index-CaAnGn59.js rename to server/public/admin/assets/index-CjXwPBH-.js index f48ccf97..209bcbb7 100644 --- a/server/public/admin/assets/index-CaAnGn59.js +++ b/server/public/admin/assets/index-CjXwPBH-.js @@ -1 +1 @@ -import{o as p,q as s,r as l,v as a,D as n,Y as c,C as u,u as f,F as b,G as y,X as x,bg as g,M as v}from"./.pnpm-9dA1PEvN.js";import{a as C}from"./index-CY1mb9yY.js";import{_ as E}from"./index-CJvXnF8Y.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-CAGpCz28.js";import"./index-BBemoNXE.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const V={class:"material-index"},k=p({name:"material"}),z=p({...k,setup(T){const r=[{type:"image",name:"图片"},{type:"video",name:"视频"},{type:"file",name:"文件"}],t=v("image");return(h,o)=>{const m=C,_=x,i=c,d=g;return s(),l("div",V,[a(d,{class:"!border-none",shadow:"never"},{default:n(()=>[a(i,{modelValue:f(t),"onUpdate:modelValue":o[0]||(o[0]=e=>u(t)?t.value=e:null)},{default:n(()=>[(s(),l(b,null,y(r,e=>a(_,{label:e.name,name:e.type,index:e.type,key:e.type,lazy:""},{default:n(()=>[a(m,{type:e.type,mode:"page","file-size":"120px",limit:-1,"page-size":20},null,8,["type"])]),_:2},1032,["label","name","index"])),64))]),_:1},8,["modelValue"])]),_:1})])}}}),P=E(z,[["__scopeId","data-v-f2b7db3b"]]);export{P as default}; +import{o as p,q as s,r as l,v as a,D as n,Y as c,C as u,u as f,F as b,G as y,X as x,bg as g,M as v}from"./.pnpm-9dA1PEvN.js";import{a as C}from"./index-xDQ_OZln.js";import{_ as E}from"./index-BWzN7QIb.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-fA0EWEUO.js";import"./index-dYaCh-CN.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const V={class:"material-index"},k=p({name:"material"}),z=p({...k,setup(T){const r=[{type:"image",name:"图片"},{type:"video",name:"视频"},{type:"file",name:"文件"}],t=v("image");return(h,o)=>{const m=C,_=x,i=c,d=g;return s(),l("div",V,[a(d,{class:"!border-none",shadow:"never"},{default:n(()=>[a(i,{modelValue:f(t),"onUpdate:modelValue":o[0]||(o[0]=e=>u(t)?t.value=e:null)},{default:n(()=>[(s(),l(b,null,y(r,e=>a(_,{label:e.name,name:e.type,index:e.type,key:e.type,lazy:""},{default:n(()=>[a(m,{type:e.type,mode:"page","file-size":"120px",limit:-1,"page-size":20},null,8,["type"])]),_:2},1032,["label","name","index"])),64))]),_:1},8,["modelValue"])]),_:1})])}}}),P=E(z,[["__scopeId","data-v-f2b7db3b"]]);export{P as default}; diff --git a/server/public/admin/assets/index-BpNIHiO4.js b/server/public/admin/assets/index-CnRHwXOU.js similarity index 99% rename from server/public/admin/assets/index-BpNIHiO4.js rename to server/public/admin/assets/index-CnRHwXOU.js index 03980256..defa7bb2 100644 --- a/server/public/admin/assets/index-BpNIHiO4.js +++ b/server/public/admin/assets/index-CnRHwXOU.js @@ -1 +1 @@ -import{o as Z,ap as ee,q as L,r as ae,v as a,D as l,b9 as te,b6 as le,b7 as oe,b8 as se,K as ne,L as i,bg as re,s as b,ac as ie,O as ue,bj as de,bk as pe,T as R,a1 as me,w as ce,u as fe,bu as ve,I as ge,bi as _e,bs as ke,bt as be,M as n,ba as D,E as V,e as ye}from"./.pnpm-9dA1PEvN.js";import{e as Ve,f as z,g as he,h as we}from"./asset-BLv6KQ2V.js";import"./index-CJvXnF8Y.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"},$e=Z({__name:"index",setup(Te){const h=n(!1),w=n([]),T=n(0),c=D({phone:""}),u=D({page_no:1,page_size:15}),p=n(!1),x=n(""),C=n(!1),E=n(),f=n(!1),U=n(!1),v=n(""),y=n(""),S=n(""),s=D({id:"",phone:"",password:"",remark:"",status:1}),M={phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]},d=async()=>{h.value=!0;try{const o={...u,...c},e=await Ve(o);w.value=e.lists,T.value=e.count}catch(o){console.error(o)}finally{h.value=!1}},A=()=>{u.page_no=1,d()},P=()=>{c.phone="",u.page_no=1,d()},q=async o=>{try{await z({id:o.id,status:o.status}),V.success(o.status===1?"已启用":"已禁用")}catch(e){o.status=o.status===1?0:1,console.error(e)}},F=()=>{x.value="新增账号",Object.assign(s,{id:"",phone:"",password:"",remark:"",status:1}),p.value=!0},K=o=>{x.value="编辑账号",Object.assign(s,{id:o.id,phone:o.phone,password:"",remark:o.remark||"",status:o.status}),p.value=!0},N=o=>{y.value=o.id,S.value=o.phone||"",v.value=o.remark||"",f.value=!0},O=async()=>{if(y.value){U.value=!0;try{await z({id:y.value,remark:v.value});const o=w.value.find(e=>e.id===y.value);o&&(o.remark=v.value),V.success("备注已保存"),f.value=!1}catch(o){console.error(o)}finally{U.value=!1}}},Q=async o=>{try{await ye.confirm("确定要删除该账号及其关联资源吗?","提示",{type:"warning"}),await he({id:o.id}),V.success("删除成功"),d()}catch{}},G=async()=>{E.value&&await E.value.validate(async o=>{if(o){C.value=!0;try{s.id?await z(s):await we(s),V.success("操作成功"),p.value=!1,d()}catch(e){console.error(e)}finally{C.value=!1}}})};return ee(()=>{d()}),(o,e)=>{const g=oe,m=le,r=ne,B=te,$=re,_=pe,H=ce,J=me,j=ge,W=de,X=ke,I=be,Y=_e;return L(),ae("div",xe,[a($,{class:"!border-none",shadow:"never"},{default:l(()=>[a(B,{class:"ls-form",model:c,inline:""},{default:l(()=>[a(m,{class:"w-[280px]",label:"手机号"},{default:l(()=>[a(g,{placeholder:"请输入手机号",modelValue:c.phone,"onUpdate:modelValue":e[0]||(e[0]=t=>c.phone=t),clearable:"",onKeyup:se(A,["enter"])},null,8,["modelValue"])]),_:1}),a(m,null,{default:l(()=>[a(r,{type:"primary",onClick:A},{default:l(()=>[...e[12]||(e[12]=[i("查询",-1)])]),_:1}),a(r,{onClick:P},{default:l(()=>[...e[13]||(e[13]=[i("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),a($,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[b("div",Ce,[a(r,{type:"primary",onClick:F},{default:l(()=>[...e[14]||(e[14]=[i("新增账号",-1)])]),_:1})]),ie((L(),ue(W,{data:w.value},{default:l(()=>[a(_,{prop:"phone",label:"手机号"}),a(_,{label:"备注","min-width":"200"},{default:l(({row:t})=>[b("div",Ee,[b("span",{class:"truncate text-gray-600",title:t.remark||""},R(t.remark||"—"),9,Ue),a(J,{content:"编辑备注",placement:"top"},{default:l(()=>[a(H,{class:"shrink-0 cursor-pointer text-gray-400 hover:text-primary",onClick:k=>N(t)},{default:l(()=>[a(fe(ve))]),_:1},8,["onClick"])]),_:2},1024)])]),_:1}),a(_,{prop:"create_time",label:"创建时间",width:"180"}),a(_,{prop:"status",label:"状态",width:"100"},{default:l(({row:t})=>[a(j,{modelValue:t.status,"onUpdate:modelValue":k=>t.status=k,"active-value":1,"inactive-value":0,"active-text":"正常","inactive-text":"禁用","inline-prompt":"",onChange:k=>q(t)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),a(_,{label:"操作",width:"200",fixed:"right"},{default:l(({row:t})=>[a(r,{type:"primary",link:"",onClick:k=>K(t)},{default:l(()=>[...e[15]||(e[15]=[i("编辑",-1)])]),_:1},8,["onClick"]),a(r,{type:"danger",link:"",onClick:k=>Q(t)},{default:l(()=>[...e[16]||(e[16]=[i("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[Y,h.value]]),b("div",De,[a(X,{"current-page":u.page_no,"onUpdate:currentPage":e[1]||(e[1]=t=>u.page_no=t),"page-size":u.page_size,"onUpdate:pageSize":e[2]||(e[2]=t=>u.page_size=t),total:T.value,layout:"total, sizes, prev, pager, next, jumper",onSizeChange:d,onCurrentChange:d},null,8,["current-page","page-size","total"])])]),_:1}),a(I,{modelValue:p.value,"onUpdate:modelValue":e[8]||(e[8]=t=>p.value=t),title:x.value,width:"500px","destroy-on-close":""},{footer:l(()=>[a(r,{onClick:e[7]||(e[7]=t=>p.value=!1)},{default:l(()=>[...e[17]||(e[17]=[i("取消",-1)])]),_:1}),a(r,{type:"primary",onClick:G,loading:C.value},{default:l(()=>[...e[18]||(e[18]=[i("确定",-1)])]),_:1},8,["loading"])]),default:l(()=>[a(B,{ref_key:"formRef",ref:E,model:s,rules:M,"label-width":"80px"},{default:l(()=>[a(m,{label:"手机号",prop:"phone"},{default:l(()=>[a(g,{modelValue:s.phone,"onUpdate:modelValue":e[3]||(e[3]=t=>s.phone=t),placeholder:"请输入手机号(作为登录账号)"},null,8,["modelValue"])]),_:1}),a(m,{label:"密码",prop:"password"},{default:l(()=>[a(g,{modelValue:s.password,"onUpdate:modelValue":e[4]||(e[4]=t=>s.password=t),placeholder:"为空则默认为 123456","show-password":""},null,8,["modelValue"])]),_:1}),a(m,{label:"备注",prop:"remark"},{default:l(()=>[a(g,{modelValue:s.remark,"onUpdate:modelValue":e[5]||(e[5]=t=>s.remark=t),type:"textarea",rows:3,maxlength:"500","show-word-limit":"",placeholder:"可填写用户相关信息,仅管理员可见"},null,8,["modelValue"])]),_:1}),a(m,{label:"状态",prop:"status"},{default:l(()=>[a(j,{modelValue:s.status,"onUpdate:modelValue":e[6]||(e[6]=t=>s.status=t),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),a(I,{modelValue:f.value,"onUpdate:modelValue":e[11]||(e[11]=t=>f.value=t),title:"快捷备注",width:"420px","destroy-on-close":""},{footer:l(()=>[a(r,{onClick:e[10]||(e[10]=t=>f.value=!1)},{default:l(()=>[...e[19]||(e[19]=[i("取消",-1)])]),_:1}),a(r,{type:"primary",loading:U.value,onClick:O},{default:l(()=>[...e[20]||(e[20]=[i("保存",-1)])]),_:1},8,["loading"])]),default:l(()=>[b("div",ze,"账号:"+R(S.value),1),a(g,{modelValue:v.value,"onUpdate:modelValue":e[9]||(e[9]=t=>v.value=t),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"可填写用户相关信息,仅管理员可见"},null,8,["modelValue"])]),_:1},8,["modelValue"])])}}});export{$e as default}; +import{o as Z,ap as ee,q as L,r as ae,v as a,D as l,b9 as te,b6 as le,b7 as oe,b8 as se,K as ne,L as i,bg as re,s as b,ac as ie,O as ue,bj as de,bk as pe,T as R,a1 as me,w as ce,u as fe,bu as ve,I as ge,bi as _e,bs as ke,bt as be,M as n,ba as D,E as V,e as ye}from"./.pnpm-9dA1PEvN.js";import{e as Ve,f as z,g as he,h as we}from"./asset-TVrE7-t3.js";import"./index-BWzN7QIb.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"},$e=Z({__name:"index",setup(Te){const h=n(!1),w=n([]),T=n(0),c=D({phone:""}),u=D({page_no:1,page_size:15}),p=n(!1),x=n(""),C=n(!1),E=n(),f=n(!1),U=n(!1),v=n(""),y=n(""),S=n(""),s=D({id:"",phone:"",password:"",remark:"",status:1}),M={phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]},d=async()=>{h.value=!0;try{const o={...u,...c},e=await Ve(o);w.value=e.lists,T.value=e.count}catch(o){console.error(o)}finally{h.value=!1}},A=()=>{u.page_no=1,d()},P=()=>{c.phone="",u.page_no=1,d()},q=async o=>{try{await z({id:o.id,status:o.status}),V.success(o.status===1?"已启用":"已禁用")}catch(e){o.status=o.status===1?0:1,console.error(e)}},F=()=>{x.value="新增账号",Object.assign(s,{id:"",phone:"",password:"",remark:"",status:1}),p.value=!0},K=o=>{x.value="编辑账号",Object.assign(s,{id:o.id,phone:o.phone,password:"",remark:o.remark||"",status:o.status}),p.value=!0},N=o=>{y.value=o.id,S.value=o.phone||"",v.value=o.remark||"",f.value=!0},O=async()=>{if(y.value){U.value=!0;try{await z({id:y.value,remark:v.value});const o=w.value.find(e=>e.id===y.value);o&&(o.remark=v.value),V.success("备注已保存"),f.value=!1}catch(o){console.error(o)}finally{U.value=!1}}},Q=async o=>{try{await ye.confirm("确定要删除该账号及其关联资源吗?","提示",{type:"warning"}),await he({id:o.id}),V.success("删除成功"),d()}catch{}},G=async()=>{E.value&&await E.value.validate(async o=>{if(o){C.value=!0;try{s.id?await z(s):await we(s),V.success("操作成功"),p.value=!1,d()}catch(e){console.error(e)}finally{C.value=!1}}})};return ee(()=>{d()}),(o,e)=>{const g=oe,m=le,r=ne,B=te,$=re,_=pe,H=ce,J=me,j=ge,W=de,X=ke,I=be,Y=_e;return L(),ae("div",xe,[a($,{class:"!border-none",shadow:"never"},{default:l(()=>[a(B,{class:"ls-form",model:c,inline:""},{default:l(()=>[a(m,{class:"w-[280px]",label:"手机号"},{default:l(()=>[a(g,{placeholder:"请输入手机号",modelValue:c.phone,"onUpdate:modelValue":e[0]||(e[0]=t=>c.phone=t),clearable:"",onKeyup:se(A,["enter"])},null,8,["modelValue"])]),_:1}),a(m,null,{default:l(()=>[a(r,{type:"primary",onClick:A},{default:l(()=>[...e[12]||(e[12]=[i("查询",-1)])]),_:1}),a(r,{onClick:P},{default:l(()=>[...e[13]||(e[13]=[i("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),a($,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[b("div",Ce,[a(r,{type:"primary",onClick:F},{default:l(()=>[...e[14]||(e[14]=[i("新增账号",-1)])]),_:1})]),ie((L(),ue(W,{data:w.value},{default:l(()=>[a(_,{prop:"phone",label:"手机号"}),a(_,{label:"备注","min-width":"200"},{default:l(({row:t})=>[b("div",Ee,[b("span",{class:"truncate text-gray-600",title:t.remark||""},R(t.remark||"—"),9,Ue),a(J,{content:"编辑备注",placement:"top"},{default:l(()=>[a(H,{class:"shrink-0 cursor-pointer text-gray-400 hover:text-primary",onClick:k=>N(t)},{default:l(()=>[a(fe(ve))]),_:1},8,["onClick"])]),_:2},1024)])]),_:1}),a(_,{prop:"create_time",label:"创建时间",width:"180"}),a(_,{prop:"status",label:"状态",width:"100"},{default:l(({row:t})=>[a(j,{modelValue:t.status,"onUpdate:modelValue":k=>t.status=k,"active-value":1,"inactive-value":0,"active-text":"正常","inactive-text":"禁用","inline-prompt":"",onChange:k=>q(t)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),a(_,{label:"操作",width:"200",fixed:"right"},{default:l(({row:t})=>[a(r,{type:"primary",link:"",onClick:k=>K(t)},{default:l(()=>[...e[15]||(e[15]=[i("编辑",-1)])]),_:1},8,["onClick"]),a(r,{type:"danger",link:"",onClick:k=>Q(t)},{default:l(()=>[...e[16]||(e[16]=[i("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[Y,h.value]]),b("div",De,[a(X,{"current-page":u.page_no,"onUpdate:currentPage":e[1]||(e[1]=t=>u.page_no=t),"page-size":u.page_size,"onUpdate:pageSize":e[2]||(e[2]=t=>u.page_size=t),total:T.value,layout:"total, sizes, prev, pager, next, jumper",onSizeChange:d,onCurrentChange:d},null,8,["current-page","page-size","total"])])]),_:1}),a(I,{modelValue:p.value,"onUpdate:modelValue":e[8]||(e[8]=t=>p.value=t),title:x.value,width:"500px","destroy-on-close":""},{footer:l(()=>[a(r,{onClick:e[7]||(e[7]=t=>p.value=!1)},{default:l(()=>[...e[17]||(e[17]=[i("取消",-1)])]),_:1}),a(r,{type:"primary",onClick:G,loading:C.value},{default:l(()=>[...e[18]||(e[18]=[i("确定",-1)])]),_:1},8,["loading"])]),default:l(()=>[a(B,{ref_key:"formRef",ref:E,model:s,rules:M,"label-width":"80px"},{default:l(()=>[a(m,{label:"手机号",prop:"phone"},{default:l(()=>[a(g,{modelValue:s.phone,"onUpdate:modelValue":e[3]||(e[3]=t=>s.phone=t),placeholder:"请输入手机号(作为登录账号)"},null,8,["modelValue"])]),_:1}),a(m,{label:"密码",prop:"password"},{default:l(()=>[a(g,{modelValue:s.password,"onUpdate:modelValue":e[4]||(e[4]=t=>s.password=t),placeholder:"为空则默认为 123456","show-password":""},null,8,["modelValue"])]),_:1}),a(m,{label:"备注",prop:"remark"},{default:l(()=>[a(g,{modelValue:s.remark,"onUpdate:modelValue":e[5]||(e[5]=t=>s.remark=t),type:"textarea",rows:3,maxlength:"500","show-word-limit":"",placeholder:"可填写用户相关信息,仅管理员可见"},null,8,["modelValue"])]),_:1}),a(m,{label:"状态",prop:"status"},{default:l(()=>[a(j,{modelValue:s.status,"onUpdate:modelValue":e[6]||(e[6]=t=>s.status=t),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),a(I,{modelValue:f.value,"onUpdate:modelValue":e[11]||(e[11]=t=>f.value=t),title:"快捷备注",width:"420px","destroy-on-close":""},{footer:l(()=>[a(r,{onClick:e[10]||(e[10]=t=>f.value=!1)},{default:l(()=>[...e[19]||(e[19]=[i("取消",-1)])]),_:1}),a(r,{type:"primary",loading:U.value,onClick:O},{default:l(()=>[...e[20]||(e[20]=[i("保存",-1)])]),_:1},8,["loading"])]),default:l(()=>[b("div",ze,"账号:"+R(S.value),1),a(g,{modelValue:v.value,"onUpdate:modelValue":e[9]||(e[9]=t=>v.value=t),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"可填写用户相关信息,仅管理员可见"},null,8,["modelValue"])]),_:1},8,["modelValue"])])}}});export{$e as default}; diff --git a/server/public/admin/assets/index-Cqezzf_X.js b/server/public/admin/assets/index-CqkePGQX.js similarity index 95% rename from server/public/admin/assets/index-Cqezzf_X.js rename to server/public/admin/assets/index-CqkePGQX.js index 07d5813e..ef1042b8 100644 --- a/server/public/admin/assets/index-Cqezzf_X.js +++ b/server/public/admin/assets/index-CqkePGQX.js @@ -1 +1 @@ -import{o as B,x as A,be as M,q as o,r as P,v as t,D as l,b9 as G,u as a,b6 as H,b7 as J,b8 as $,bm as Q,bn as W,K as X,L as i,bg as Y,s as V,ac as p,O as u,bj as Z,bk as ee,br as te,C as le,bi as ae,P as ne,a8 as oe,M as K,ba as se,n as R}from"./.pnpm-9dA1PEvN.js";import{_ as ie}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as de,k as re,i as ue}from"./index-CJvXnF8Y.js";import{f as me,i as pe}from"./dict-TRsJ1i1z.js";import{u as ce}from"./usePaging-Boz1Q6w3.js";import{_ as _e}from"./edit.vue_vue_type_script_setup_true_lang-J6kOsdxQ.js";import"./index-BBemoNXE.js";const fe={class:"dict-type"},be={class:"mt-4"},ye={class:"flex justify-end mt-4"},ve=B({name:"dictType"}),Te=B({...ve,setup(ge){const b=oe(),y=K(!1),d=se({name:"",type:"",status:""}),{pager:c,getLists:v,resetPage:k,resetParams:S}=ce({fetchFun:me,params:d}),C=K([]),F=s=>{C.value=s.map(({id:e})=>e)},L=async()=>{var s;y.value=!0,await R(),(s=b.value)==null||s.open("add")},N=async s=>{var e,_;y.value=!0,await R(),(e=b.value)==null||e.open("edit"),(_=b.value)==null||_.setFormData(s)},E=async s=>{await ue.confirm("确定要删除?"),await pe({id:s}),v()};return v(),(s,e)=>{const _=J,g=H,w=W,U=Q,m=X,q=G,x=Y,D=de,r=ee,T=te,I=A("router-link"),j=Z,O=ie,f=M("perms"),h=ae;return o(),P("div",fe,[t(x,{class:"!border-none",shadow:"never"},{default:l(()=>[t(q,{ref:"formRef",class:"mb-[-16px]",model:a(d),inline:""},{default:l(()=>[t(g,{class:"w-[280px]",label:"字典名称"},{default:l(()=>[t(_,{modelValue:a(d).name,"onUpdate:modelValue":e[0]||(e[0]=n=>a(d).name=n),clearable:"",onKeyup:$(a(k),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(g,{class:"w-[280px]",label:"字典类型"},{default:l(()=>[t(_,{modelValue:a(d).type,"onUpdate:modelValue":e[1]||(e[1]=n=>a(d).type=n),clearable:"",onKeyup:$(a(k),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(g,{class:"w-[280px]",label:"状态"},{default:l(()=>[t(U,{modelValue:a(d).status,"onUpdate:modelValue":e[2]||(e[2]=n=>a(d).status=n)},{default:l(()=>[t(w,{label:"全部",value:""}),t(w,{label:"正常",value:1}),t(w,{label:"停用",value:0})]),_:1},8,["modelValue"])]),_:1}),t(g,null,{default:l(()=>[t(m,{type:"primary",onClick:a(k)},{default:l(()=>[...e[6]||(e[6]=[i("查询",-1)])]),_:1},8,["onClick"]),t(m,{onClick:a(S)},{default:l(()=>[...e[7]||(e[7]=[i("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),t(x,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[V("div",null,[p((o(),u(m,{type:"primary",onClick:L},{icon:l(()=>[t(D,{name:"el-icon-Plus"})]),default:l(()=>[e[8]||(e[8]=i(" 新增 ",-1))]),_:1})),[[f,["setting.dict.dict_type/add"]]]),p((o(),u(m,{disabled:!a(C).length,type:"danger",onClick:e[3]||(e[3]=n=>E(a(C)))},{icon:l(()=>[t(D,{name:"el-icon-Delete"})]),default:l(()=>[e[9]||(e[9]=i(" 删除 ",-1))]),_:1},8,["disabled"])),[[f,["setting.dict.dict_type/delete"]]])]),p((o(),P("div",be,[V("div",null,[t(j,{data:a(c).lists,size:"large",onSelectionChange:F},{default:l(()=>[t(r,{type:"selection",width:"55"}),t(r,{label:"ID",prop:"id"}),t(r,{label:"字典名称",prop:"name","min-width":"120"}),t(r,{label:"字典类型",prop:"type","min-width":"120"}),t(r,{label:"状态"},{default:l(({row:n})=>[n.status==1?(o(),u(T,{key:0},{default:l(()=>[...e[10]||(e[10]=[i("正常",-1)])]),_:1})):(o(),u(T,{key:1,type:"danger"},{default:l(()=>[...e[11]||(e[11]=[i("停用",-1)])]),_:1}))]),_:1}),t(r,{label:"备注",prop:"remark","show-tooltip-when-overflow":""}),t(r,{label:"创建时间",prop:"create_time","min-width":"180"}),t(r,{label:"操作",width:"190",fixed:"right"},{default:l(({row:n})=>[p((o(),u(m,{link:"",type:"primary",onClick:z=>N(n)},{default:l(()=>[...e[12]||(e[12]=[i(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[f,["setting.dict.dict_type/edit"]]]),p((o(),u(m,{type:"primary",link:""},{default:l(()=>[t(I,{to:{path:a(re)("setting.dict.dict_data/lists"),query:{id:n.id}}},{default:l(()=>[...e[13]||(e[13]=[i(" 数据管理 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[f,["setting.dict.dict_data/lists"]]]),p((o(),u(m,{link:"",type:"danger",onClick:z=>E(n.id)},{default:l(()=>[...e[14]||(e[14]=[i(" 删除 ",-1)])]),_:1},8,["onClick"])),[[f,["setting.dict.dict_type/delete"]]])]),_:1})]),_:1},8,["data"])]),V("div",ye,[t(O,{modelValue:a(c),"onUpdate:modelValue":e[4]||(e[4]=n=>le(c)?c.value=n:null),onChange:a(v)},null,8,["modelValue","onChange"])])])),[[h,a(c).loading]])]),_:1}),a(y)?(o(),u(_e,{key:0,ref_key:"editRef",ref:b,onSuccess:a(v),onClose:e[5]||(e[5]=n=>y.value=!1)},null,8,["onSuccess"])):ne("",!0)])}}});export{Te as default}; +import{o as B,x as A,be as M,q as o,r as P,v as t,D as l,b9 as G,u as a,b6 as H,b7 as J,b8 as $,bm as Q,bn as W,K as X,L as i,bg as Y,s as V,ac as p,O as u,bj as Z,bk as ee,br as te,C as le,bi as ae,P as ne,a8 as oe,M as K,ba as se,n as R}from"./.pnpm-9dA1PEvN.js";import{_ as ie}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as de,k as re,i as ue}from"./index-BWzN7QIb.js";import{f as me,i as pe}from"./dict-BzuAKP6Q.js";import{u as ce}from"./usePaging-Boz1Q6w3.js";import{_ as _e}from"./edit.vue_vue_type_script_setup_true_lang-DcSBZ-AE.js";import"./index-dYaCh-CN.js";const fe={class:"dict-type"},be={class:"mt-4"},ye={class:"flex justify-end mt-4"},ve=B({name:"dictType"}),Te=B({...ve,setup(ge){const b=oe(),y=K(!1),d=se({name:"",type:"",status:""}),{pager:c,getLists:v,resetPage:k,resetParams:S}=ce({fetchFun:me,params:d}),C=K([]),F=s=>{C.value=s.map(({id:e})=>e)},L=async()=>{var s;y.value=!0,await R(),(s=b.value)==null||s.open("add")},N=async s=>{var e,_;y.value=!0,await R(),(e=b.value)==null||e.open("edit"),(_=b.value)==null||_.setFormData(s)},E=async s=>{await ue.confirm("确定要删除?"),await pe({id:s}),v()};return v(),(s,e)=>{const _=J,g=H,w=W,U=Q,m=X,q=G,x=Y,D=de,r=ee,T=te,I=A("router-link"),j=Z,O=ie,f=M("perms"),h=ae;return o(),P("div",fe,[t(x,{class:"!border-none",shadow:"never"},{default:l(()=>[t(q,{ref:"formRef",class:"mb-[-16px]",model:a(d),inline:""},{default:l(()=>[t(g,{class:"w-[280px]",label:"字典名称"},{default:l(()=>[t(_,{modelValue:a(d).name,"onUpdate:modelValue":e[0]||(e[0]=n=>a(d).name=n),clearable:"",onKeyup:$(a(k),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(g,{class:"w-[280px]",label:"字典类型"},{default:l(()=>[t(_,{modelValue:a(d).type,"onUpdate:modelValue":e[1]||(e[1]=n=>a(d).type=n),clearable:"",onKeyup:$(a(k),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(g,{class:"w-[280px]",label:"状态"},{default:l(()=>[t(U,{modelValue:a(d).status,"onUpdate:modelValue":e[2]||(e[2]=n=>a(d).status=n)},{default:l(()=>[t(w,{label:"全部",value:""}),t(w,{label:"正常",value:1}),t(w,{label:"停用",value:0})]),_:1},8,["modelValue"])]),_:1}),t(g,null,{default:l(()=>[t(m,{type:"primary",onClick:a(k)},{default:l(()=>[...e[6]||(e[6]=[i("查询",-1)])]),_:1},8,["onClick"]),t(m,{onClick:a(S)},{default:l(()=>[...e[7]||(e[7]=[i("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),t(x,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[V("div",null,[p((o(),u(m,{type:"primary",onClick:L},{icon:l(()=>[t(D,{name:"el-icon-Plus"})]),default:l(()=>[e[8]||(e[8]=i(" 新增 ",-1))]),_:1})),[[f,["setting.dict.dict_type/add"]]]),p((o(),u(m,{disabled:!a(C).length,type:"danger",onClick:e[3]||(e[3]=n=>E(a(C)))},{icon:l(()=>[t(D,{name:"el-icon-Delete"})]),default:l(()=>[e[9]||(e[9]=i(" 删除 ",-1))]),_:1},8,["disabled"])),[[f,["setting.dict.dict_type/delete"]]])]),p((o(),P("div",be,[V("div",null,[t(j,{data:a(c).lists,size:"large",onSelectionChange:F},{default:l(()=>[t(r,{type:"selection",width:"55"}),t(r,{label:"ID",prop:"id"}),t(r,{label:"字典名称",prop:"name","min-width":"120"}),t(r,{label:"字典类型",prop:"type","min-width":"120"}),t(r,{label:"状态"},{default:l(({row:n})=>[n.status==1?(o(),u(T,{key:0},{default:l(()=>[...e[10]||(e[10]=[i("正常",-1)])]),_:1})):(o(),u(T,{key:1,type:"danger"},{default:l(()=>[...e[11]||(e[11]=[i("停用",-1)])]),_:1}))]),_:1}),t(r,{label:"备注",prop:"remark","show-tooltip-when-overflow":""}),t(r,{label:"创建时间",prop:"create_time","min-width":"180"}),t(r,{label:"操作",width:"190",fixed:"right"},{default:l(({row:n})=>[p((o(),u(m,{link:"",type:"primary",onClick:z=>N(n)},{default:l(()=>[...e[12]||(e[12]=[i(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[f,["setting.dict.dict_type/edit"]]]),p((o(),u(m,{type:"primary",link:""},{default:l(()=>[t(I,{to:{path:a(re)("setting.dict.dict_data/lists"),query:{id:n.id}}},{default:l(()=>[...e[13]||(e[13]=[i(" 数据管理 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[f,["setting.dict.dict_data/lists"]]]),p((o(),u(m,{link:"",type:"danger",onClick:z=>E(n.id)},{default:l(()=>[...e[14]||(e[14]=[i(" 删除 ",-1)])]),_:1},8,["onClick"])),[[f,["setting.dict.dict_type/delete"]]])]),_:1})]),_:1},8,["data"])]),V("div",ye,[t(O,{modelValue:a(c),"onUpdate:modelValue":e[4]||(e[4]=n=>le(c)?c.value=n:null),onChange:a(v)},null,8,["modelValue","onChange"])])])),[[h,a(c).loading]])]),_:1}),a(y)?(o(),u(_e,{key:0,ref_key:"editRef",ref:b,onSuccess:a(v),onClose:e[5]||(e[5]=n=>y.value=!1)},null,8,["onSuccess"])):ne("",!0)])}}});export{Te as default}; diff --git a/server/public/admin/assets/index-BoCnKSSR.js b/server/public/admin/assets/index-CttvfP_1.js similarity index 97% rename from server/public/admin/assets/index-BoCnKSSR.js rename to server/public/admin/assets/index-CttvfP_1.js index ab399c8c..1d60157c 100644 --- a/server/public/admin/assets/index-BoCnKSSR.js +++ b/server/public/admin/assets/index-CttvfP_1.js @@ -1 +1 @@ -import{o as G,W as he,ap as L,be as we,q as s,r as v,v as o,D as n,b9 as Ce,u as l,b6 as Ee,bc as Ve,bb as xe,L as d,O as u,bp as Se,C as A,P as R,bK as je,K as We,bg as De,s as c,F as U,G as z,T as g,ae as Oe,ac as w,bj as Re,bk as Te,a1 as Fe,bi as Ye,a8 as $e,M as T,ba as K,p as C,E as Me,n as q}from"./.pnpm-9dA1PEvN.js";import{_ as Ne}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as Pe,k as Be,i as Ie,_ as Le}from"./index-CJvXnF8Y.js";import{d as Ae,e as Ue}from"./self_input_stats-ck9Y43id.js";import{d as ze}from"./department-DYCfZwei.js";import{u as Ke}from"./usePaging-Boz1Q6w3.js";import{_ as qe}from"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-B8TP8hmm.js";import{_ as Ge}from"./yeji-edit.vue_vue_type_script_setup_true_lang-C7lLJ16d.js";import{u as Qe}from"./useMediaSourceOptions-DDYs3mB7.js";import"./index-BBemoNXE.js";const He={class:"self-input-stats-page"},Je={class:"stats-kpi-grid"},Xe={class:"stats-kpi-label"},Ze={class:"card-header"},et={class:"card-header-main"},tt={class:"card-hint"},at={class:"card-header-actions"},nt={class:"dept-cell"},ot={key:1},lt={key:2,class:"text-gray-400"},st={class:"flex justify-end mt-4"},it=G({name:"selfInputStats"}),rt=G({...it,setup(dt){const Q=he(),E=$e(),V=T(!1),_=T([]),S=T([]),{mediaSourceOptions:F,mediaSourceLoading:Y,loadMediaSourceOptions:H,refreshMediaSourceOptions:j}=Qe(),J={value:"id",label:"name",children:"children"},f=K({date_range:[],summary:{},can_view_finance:!1}),$=new Set(["account_cost","cash_cost","roi"]),M=C(()=>!!f.can_view_finance),i=K({media_source:"",dept_id:void 0,time_type:"today",start_date:"",end_date:""}),W=C(()=>Be("stats.personal_account_cost/lists")||""),X=()=>{W.value&&Q.push(W.value)},Z=async t=>{i.time_type==="custom"&&(t.start_date=_.value[0]||"",t.end_date=_.value[1]||"");const e=await Ae(t);return Object.assign(f,(e==null?void 0:e.extend)||{}),e},ee=async()=>{try{const t=await ze({apply_data_scope:1});Array.isArray(t)&&(S.value=t)}catch{S.value=[]}},te=t=>{t&&j()},ae=async()=>{await j(),await m()};L(()=>{ee(),H()});const{pager:p,getLists:ne}=Ke({fetchFun:Z,params:i,firstLoading:!0}),N=[{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"}],P=[{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}],oe=C(()=>M.value?N:N.filter(t=>!$.has(t.key))),le=C(()=>M.value?P:P.filter(t=>!$.has(t.key))),se=C(()=>{var t;return(t=f.date_range)!=null&&t.length?`${f.date_range[0]} 至 ${f.date_range[1]}`:"未选择"}),m=async()=>{try{await ne()}catch(t){console.error("获取自录转化统计失败:",t),Me.error((t==null?void 0:t.msg)||"获取统计数据失败")}},ie=()=>{i.time_type!=="custom"&&(_.value=[],p.page=1,m())},re=()=>{_.value.length===2&&(p.page=1,m())},D=()=>{p.page=1,m()},de=()=>{i.media_source="",i.dept_id=void 0,i.time_type="today",_.value=[],p.page=1,p.size=15,m()},B=(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)},pe=async()=>{var t;await j(),V.value=!0,await q(),(t=E.value)==null||t.open("add")},ce=async t=>{var e,r;V.value=!0,await q(),(e=E.value)==null||e.open("edit"),(r=E.value)==null||r.setFormData(t)},ue=async t=>{await Ie.confirm("确定删除该业绩记录?"),await Ue({id:t}),m()};return L(async()=>{await m()}),(t,e)=>{const r=xe,b=Ve,h=Ee,_e=Se,me=je,k=We,ye=Ce,I=De,fe=Pe,y=Te,be=Fe,ke=Re,ve=Ne,x=we("perms"),ge=Ye;return s(),v("div",He,[o(I,{class:"!border-none",shadow:"never"},{default:n(()=>[o(ye,{inline:!0,model:l(i),class:"stats-filter-form"},{default:n(()=>[o(h,{label:"时间范围"},{default:n(()=>[o(b,{modelValue:l(i).time_type,"onUpdate:modelValue":e[0]||(e[0]=a=>l(i).time_type=a),onChange:ie},{default:n(()=>[o(r,{label:"today"},{default:n(()=>[...e[6]||(e[6]=[d("今天",-1)])]),_:1}),o(r,{label:"yesterday"},{default:n(()=>[...e[7]||(e[7]=[d("昨天",-1)])]),_:1}),o(r,{label:"week"},{default:n(()=>[...e[8]||(e[8]=[d("最近7天",-1)])]),_:1}),o(r,{label:"month"},{default:n(()=>[...e[9]||(e[9]=[d("最近30天",-1)])]),_:1}),o(r,{label:"custom"},{default:n(()=>[...e[10]||(e[10]=[d("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(i).time_type==="custom"?(s(),u(h,{key:0},{default:n(()=>[o(_e,{modelValue:l(_),"onUpdate:modelValue":e[1]||(e[1]=a=>A(_)?_.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})):R("",!0),o(h,{label:"部门"},{default:n(()=>[o(me,{modelValue:l(i).dept_id,"onUpdate:modelValue":e[2]||(e[2]=a=>l(i).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}),o(h,{label:"自媒体来源"},{default:n(()=>[o(qe,{modelValue:l(i).media_source,"onUpdate:modelValue":e[3]||(e[3]=a=>l(i).media_source=a),options:l(F),loading:l(Y),placeholder:"全部来源","allow-create":!1,"select-style":"width: 220px",onChange:D,onVisibleChange:te},null,8,["modelValue","options","loading"])]),_:1}),o(h,null,{default:n(()=>[o(k,{type:"primary",loading:l(p).loading,onClick:D},{default:n(()=>[...e[11]||(e[11]=[d("查询",-1)])]),_:1},8,["loading"]),o(k,{onClick:de},{default:n(()=>[...e[12]||(e[12]=[d("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),c("div",Je,[(s(!0),v(U,null,z(l(oe),a=>(s(),v("div",{key:a.key,class:"stats-kpi-card"},[c("div",Xe,g(a.label),1),c("div",{class:Oe(["stats-kpi-value",{"is-money":a.type==="money"}])},g(B(a.key,l(f).summary,a.type)),3)]))),128))]),o(I,{class:"!border-none mt-4 stats-detail-card",shadow:"never"},{header:n(()=>[c("div",Ze,[c("div",et,[e[13]||(e[13]=c("span",{class:"card-title"},"业绩明细",-1)),c("span",tt,g(l(se)),1)]),c("div",at,[w((s(),u(k,{type:"primary",onClick:pe},{icon:n(()=>[o(fe,{name:"el-icon-Plus"})]),default:n(()=>[e[14]||(e[14]=d(" 新增业绩 ",-1))]),_:1})),[[x,["stats.personal_yeji/add"]]]),l(W)?w((s(),u(k,{key:0,onClick:X},{default:n(()=>[...e[15]||(e[15]=[d(" 账户消耗录入 ",-1)])]),_:1})),[[x,["stats.personal_account_cost/lists"]]]):R("",!0)])])]),default:n(()=>[w((s(),u(ke,{data:l(p).lists,border:"",size:"large","max-height":"640"},{default:n(()=>[o(y,{label:"日期",prop:"yeji_date","min-width":"110",fixed:"left"}),o(y,{label:"自媒体来源",prop:"media_source","min-width":"140","show-overflow-tooltip":""}),o(y,{label:"录入人",prop:"creator_name","min-width":"100"}),o(y,{label:"部门",prop:"dept_name","min-width":"140"},{default:n(({row:a})=>[a.dept_path?(s(),u(be,{key:0,content:a.dept_path,placement:"top",effect:"dark"},{default:n(()=>[c("span",nt,g(a.dept_name||"未分配"),1)]),_:2},1032,["content"])):a.dept_name?(s(),v("span",ot,g(a.dept_name),1)):(s(),v("span",lt,"未分配"))]),_:1}),(s(!0),v(U,null,z(l(le),a=>(s(),u(y,{key:a.key,label:a.label,"min-width":a.minWidth||100,align:"right"},{default:n(({row:O})=>[d(g(B(a.key,O,a.type)),1)]),_:2},1032,["label","min-width"]))),128)),o(y,{label:"备注",prop:"remark","min-width":"160","show-overflow-tooltip":""}),o(y,{label:"操作",width:"140",fixed:"right"},{default:n(({row:a})=>[w((s(),u(k,{type:"primary",link:"",onClick:O=>ce(a)},{default:n(()=>[...e[16]||(e[16]=[d(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[x,["stats.personal_yeji/edit"]]]),w((s(),u(k,{type:"danger",link:"",onClick:O=>ue(a.id)},{default:n(()=>[...e[17]||(e[17]=[d(" 删除 ",-1)])]),_:1},8,["onClick"])),[[x,["stats.personal_yeji/delete"]]])]),_:1})]),_:1},8,["data"])),[[ge,l(p).loading]]),c("div",st,[o(ve,{modelValue:l(p),"onUpdate:modelValue":e[4]||(e[4]=a=>A(p)?p.value=a:null),onChange:m},null,8,["modelValue"])])]),_:1}),l(V)?(s(),u(Ge,{key:0,ref_key:"yejiEditRef",ref:E,"media-source-options":l(F),"media-source-loading":l(Y),onSuccess:ae,onClose:e[5]||(e[5]=a=>V.value=!1)},null,8,["media-source-options","media-source-loading"])):R("",!0)])}}}),gt=Le(rt,[["__scopeId","data-v-2bc87824"]]);export{gt as default}; +import{o as G,W as he,ap as L,be as we,q as s,r as v,v as o,D as n,b9 as Ce,u as l,b6 as Ee,bc as Ve,bb as xe,L as d,O as u,bp as Se,C as A,P as R,bK as je,K as We,bg as De,s as c,F as U,G as z,T as g,ae as Oe,ac as w,bj as Re,bk as Te,a1 as Fe,bi as Ye,a8 as $e,M as T,ba as K,p as C,E as Me,n as q}from"./.pnpm-9dA1PEvN.js";import{_ as Ne}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as Pe,k as Be,i as Ie,_ as Le}from"./index-BWzN7QIb.js";import{d as Ae,e as Ue}from"./self_input_stats-BIckcV_I.js";import{d as ze}from"./department-BABv4GiI.js";import{u as Ke}from"./usePaging-Boz1Q6w3.js";import{_ as qe}from"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-B8TP8hmm.js";import{_ as Ge}from"./yeji-edit.vue_vue_type_script_setup_true_lang-B08IlCxI.js";import{u as Qe}from"./useMediaSourceOptions-DK-_3N6E.js";import"./index-dYaCh-CN.js";const He={class:"self-input-stats-page"},Je={class:"stats-kpi-grid"},Xe={class:"stats-kpi-label"},Ze={class:"card-header"},et={class:"card-header-main"},tt={class:"card-hint"},at={class:"card-header-actions"},nt={class:"dept-cell"},ot={key:1},lt={key:2,class:"text-gray-400"},st={class:"flex justify-end mt-4"},it=G({name:"selfInputStats"}),rt=G({...it,setup(dt){const Q=he(),E=$e(),V=T(!1),_=T([]),S=T([]),{mediaSourceOptions:F,mediaSourceLoading:Y,loadMediaSourceOptions:H,refreshMediaSourceOptions:j}=Qe(),J={value:"id",label:"name",children:"children"},f=K({date_range:[],summary:{},can_view_finance:!1}),$=new Set(["account_cost","cash_cost","roi"]),M=C(()=>!!f.can_view_finance),i=K({media_source:"",dept_id:void 0,time_type:"today",start_date:"",end_date:""}),W=C(()=>Be("stats.personal_account_cost/lists")||""),X=()=>{W.value&&Q.push(W.value)},Z=async t=>{i.time_type==="custom"&&(t.start_date=_.value[0]||"",t.end_date=_.value[1]||"");const e=await Ae(t);return Object.assign(f,(e==null?void 0:e.extend)||{}),e},ee=async()=>{try{const t=await ze({apply_data_scope:1});Array.isArray(t)&&(S.value=t)}catch{S.value=[]}},te=t=>{t&&j()},ae=async()=>{await j(),await m()};L(()=>{ee(),H()});const{pager:p,getLists:ne}=Ke({fetchFun:Z,params:i,firstLoading:!0}),N=[{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"}],P=[{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}],oe=C(()=>M.value?N:N.filter(t=>!$.has(t.key))),le=C(()=>M.value?P:P.filter(t=>!$.has(t.key))),se=C(()=>{var t;return(t=f.date_range)!=null&&t.length?`${f.date_range[0]} 至 ${f.date_range[1]}`:"未选择"}),m=async()=>{try{await ne()}catch(t){console.error("获取自录转化统计失败:",t),Me.error((t==null?void 0:t.msg)||"获取统计数据失败")}},ie=()=>{i.time_type!=="custom"&&(_.value=[],p.page=1,m())},re=()=>{_.value.length===2&&(p.page=1,m())},D=()=>{p.page=1,m()},de=()=>{i.media_source="",i.dept_id=void 0,i.time_type="today",_.value=[],p.page=1,p.size=15,m()},B=(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)},pe=async()=>{var t;await j(),V.value=!0,await q(),(t=E.value)==null||t.open("add")},ce=async t=>{var e,r;V.value=!0,await q(),(e=E.value)==null||e.open("edit"),(r=E.value)==null||r.setFormData(t)},ue=async t=>{await Ie.confirm("确定删除该业绩记录?"),await Ue({id:t}),m()};return L(async()=>{await m()}),(t,e)=>{const r=xe,b=Ve,h=Ee,_e=Se,me=je,k=We,ye=Ce,I=De,fe=Pe,y=Te,be=Fe,ke=Re,ve=Ne,x=we("perms"),ge=Ye;return s(),v("div",He,[o(I,{class:"!border-none",shadow:"never"},{default:n(()=>[o(ye,{inline:!0,model:l(i),class:"stats-filter-form"},{default:n(()=>[o(h,{label:"时间范围"},{default:n(()=>[o(b,{modelValue:l(i).time_type,"onUpdate:modelValue":e[0]||(e[0]=a=>l(i).time_type=a),onChange:ie},{default:n(()=>[o(r,{label:"today"},{default:n(()=>[...e[6]||(e[6]=[d("今天",-1)])]),_:1}),o(r,{label:"yesterday"},{default:n(()=>[...e[7]||(e[7]=[d("昨天",-1)])]),_:1}),o(r,{label:"week"},{default:n(()=>[...e[8]||(e[8]=[d("最近7天",-1)])]),_:1}),o(r,{label:"month"},{default:n(()=>[...e[9]||(e[9]=[d("最近30天",-1)])]),_:1}),o(r,{label:"custom"},{default:n(()=>[...e[10]||(e[10]=[d("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(i).time_type==="custom"?(s(),u(h,{key:0},{default:n(()=>[o(_e,{modelValue:l(_),"onUpdate:modelValue":e[1]||(e[1]=a=>A(_)?_.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})):R("",!0),o(h,{label:"部门"},{default:n(()=>[o(me,{modelValue:l(i).dept_id,"onUpdate:modelValue":e[2]||(e[2]=a=>l(i).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}),o(h,{label:"自媒体来源"},{default:n(()=>[o(qe,{modelValue:l(i).media_source,"onUpdate:modelValue":e[3]||(e[3]=a=>l(i).media_source=a),options:l(F),loading:l(Y),placeholder:"全部来源","allow-create":!1,"select-style":"width: 220px",onChange:D,onVisibleChange:te},null,8,["modelValue","options","loading"])]),_:1}),o(h,null,{default:n(()=>[o(k,{type:"primary",loading:l(p).loading,onClick:D},{default:n(()=>[...e[11]||(e[11]=[d("查询",-1)])]),_:1},8,["loading"]),o(k,{onClick:de},{default:n(()=>[...e[12]||(e[12]=[d("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),c("div",Je,[(s(!0),v(U,null,z(l(oe),a=>(s(),v("div",{key:a.key,class:"stats-kpi-card"},[c("div",Xe,g(a.label),1),c("div",{class:Oe(["stats-kpi-value",{"is-money":a.type==="money"}])},g(B(a.key,l(f).summary,a.type)),3)]))),128))]),o(I,{class:"!border-none mt-4 stats-detail-card",shadow:"never"},{header:n(()=>[c("div",Ze,[c("div",et,[e[13]||(e[13]=c("span",{class:"card-title"},"业绩明细",-1)),c("span",tt,g(l(se)),1)]),c("div",at,[w((s(),u(k,{type:"primary",onClick:pe},{icon:n(()=>[o(fe,{name:"el-icon-Plus"})]),default:n(()=>[e[14]||(e[14]=d(" 新增业绩 ",-1))]),_:1})),[[x,["stats.personal_yeji/add"]]]),l(W)?w((s(),u(k,{key:0,onClick:X},{default:n(()=>[...e[15]||(e[15]=[d(" 账户消耗录入 ",-1)])]),_:1})),[[x,["stats.personal_account_cost/lists"]]]):R("",!0)])])]),default:n(()=>[w((s(),u(ke,{data:l(p).lists,border:"",size:"large","max-height":"640"},{default:n(()=>[o(y,{label:"日期",prop:"yeji_date","min-width":"110",fixed:"left"}),o(y,{label:"自媒体来源",prop:"media_source","min-width":"140","show-overflow-tooltip":""}),o(y,{label:"录入人",prop:"creator_name","min-width":"100"}),o(y,{label:"部门",prop:"dept_name","min-width":"140"},{default:n(({row:a})=>[a.dept_path?(s(),u(be,{key:0,content:a.dept_path,placement:"top",effect:"dark"},{default:n(()=>[c("span",nt,g(a.dept_name||"未分配"),1)]),_:2},1032,["content"])):a.dept_name?(s(),v("span",ot,g(a.dept_name),1)):(s(),v("span",lt,"未分配"))]),_:1}),(s(!0),v(U,null,z(l(le),a=>(s(),u(y,{key:a.key,label:a.label,"min-width":a.minWidth||100,align:"right"},{default:n(({row:O})=>[d(g(B(a.key,O,a.type)),1)]),_:2},1032,["label","min-width"]))),128)),o(y,{label:"备注",prop:"remark","min-width":"160","show-overflow-tooltip":""}),o(y,{label:"操作",width:"140",fixed:"right"},{default:n(({row:a})=>[w((s(),u(k,{type:"primary",link:"",onClick:O=>ce(a)},{default:n(()=>[...e[16]||(e[16]=[d(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[x,["stats.personal_yeji/edit"]]]),w((s(),u(k,{type:"danger",link:"",onClick:O=>ue(a.id)},{default:n(()=>[...e[17]||(e[17]=[d(" 删除 ",-1)])]),_:1},8,["onClick"])),[[x,["stats.personal_yeji/delete"]]])]),_:1})]),_:1},8,["data"])),[[ge,l(p).loading]]),c("div",st,[o(ve,{modelValue:l(p),"onUpdate:modelValue":e[4]||(e[4]=a=>A(p)?p.value=a:null),onChange:m},null,8,["modelValue"])])]),_:1}),l(V)?(s(),u(Ge,{key:0,ref_key:"yejiEditRef",ref:E,"media-source-options":l(F),"media-source-loading":l(Y),onSuccess:ae,onClose:e[5]||(e[5]=a=>V.value=!1)},null,8,["media-source-options","media-source-loading"])):R("",!0)])}}}),gt=Le(rt,[["__scopeId","data-v-2bc87824"]]);export{gt as default}; diff --git a/server/public/admin/assets/index-xjkaMRou.js b/server/public/admin/assets/index-D2ERPqGN.js similarity index 92% rename from server/public/admin/assets/index-xjkaMRou.js rename to server/public/admin/assets/index-D2ERPqGN.js index bd4070db..40d20917 100644 --- a/server/public/admin/assets/index-xjkaMRou.js +++ b/server/public/admin/assets/index-D2ERPqGN.js @@ -1 +1 @@ -import{o as k,bo as K,x as q,be as D,q as i,r as g,v as e,D as n,b9 as N,u as t,b6 as R,b7 as $,b8 as j,bm as A,F as I,G as O,O as u,bn as G,K as M,L as p,bg as S,ac as v,bj as H,bk as J,a0 as Q,bi as W,s as X,C as Y,ba as Z}from"./.pnpm-9dA1PEvN.js";import{_ as ee}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{_ as te}from"./index.vue_vue_type_script_setup_true_lang-Bk4SMrCI.js";import{_ as ae}from"./index.vue_vue_type_script_setup_true_lang-C38LpCy9.js";import{b as w}from"./consumer-DCRovtRJ.js";import{C as le,k as ne}from"./index-CJvXnF8Y.js";import{u as oe}from"./usePaging-Boz1Q6w3.js";import"./index-BBemoNXE.js";const se={class:"flex justify-end mt-4"},re=k({name:"consumerLists"}),ve=k({...re,setup(ie){const o=Z({keyword:"",channel:"",create_time_start:"",create_time_end:""}),{pager:r,getLists:d,resetPage:c,resetParams:C}=oe({fetchFun:w,params:o});return K(()=>{d()}),d(),(me,a)=>{const y=$,m=R,V=ae,h=G,x=A,_=M,E=te,T=N,f=S,L=Q,s=J,U=q("router-link"),z=H,B=ee,F=D("perms"),P=W;return i(),g("div",null,[e(f,{class:"!border-none",shadow:"never"},{default:n(()=>[e(T,{ref:"formRef",class:"mb-[-16px]",model:t(o),inline:!0},{default:n(()=>[e(m,{class:"w-[280px]",label:"用户信息"},{default:n(()=>[e(y,{modelValue:t(o).keyword,"onUpdate:modelValue":a[0]||(a[0]=l=>t(o).keyword=l),placeholder:"账号/昵称/手机号码",clearable:"",onKeyup:j(t(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(m,{label:"注册时间"},{default:n(()=>[e(V,{startTime:t(o).create_time_start,"onUpdate:startTime":a[1]||(a[1]=l=>t(o).create_time_start=l),endTime:t(o).create_time_end,"onUpdate:endTime":a[2]||(a[2]=l=>t(o).create_time_end=l)},null,8,["startTime","endTime"])]),_:1}),e(m,{class:"w-[280px]",label:"注册来源"},{default:n(()=>[e(x,{modelValue:t(o).channel,"onUpdate:modelValue":a[3]||(a[3]=l=>t(o).channel=l)},{default:n(()=>[(i(!0),g(I,null,O(t(le),(l,b)=>(i(),u(h,{key:b,label:l,value:b},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(m,null,{default:n(()=>[e(_,{type:"primary",onClick:t(c)},{default:n(()=>[...a[5]||(a[5]=[p("查询",-1)])]),_:1},8,["onClick"]),e(_,{onClick:t(C)},{default:n(()=>[...a[6]||(a[6]=[p("重置",-1)])]),_:1},8,["onClick"]),e(E,{class:"ml-2.5","fetch-fun":t(w),params:t(o),"page-size":t(r).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),e(f,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[v((i(),u(z,{size:"large",data:t(r).lists},{default:n(()=>[e(s,{label:"头像","min-width":"100"},{default:n(({row:l})=>[e(L,{src:l.avatar,size:50},null,8,["src"])]),_:1}),e(s,{label:"昵称",prop:"nickname","min-width":"100"}),e(s,{label:"账号",prop:"account","min-width":"120"}),e(s,{label:"手机号码",prop:"mobile","min-width":"100"}),e(s,{label:"注册来源",prop:"channel","min-width":"100"}),e(s,{label:"注册时间",prop:"create_time","min-width":"120"}),e(s,{label:"操作",width:"120",fixed:"right"},{default:n(({row:l})=>[v((i(),u(_,{type:"primary",link:""},{default:n(()=>[e(U,{to:{path:t(ne)("user.user/detail"),query:{id:l.id}}},{default:n(()=>[...a[7]||(a[7]=[p(" 详情 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[F,["user.user/detail"]]])]),_:1})]),_:1},8,["data"])),[[P,t(r).loading]]),X("div",se,[e(B,{modelValue:t(r),"onUpdate:modelValue":a[4]||(a[4]=l=>Y(r)?r.value=l:null),onChange:t(d)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{ve as default}; +import{o as k,bo as K,x as q,be as D,q as i,r as g,v as e,D as n,b9 as N,u as t,b6 as R,b7 as $,b8 as j,bm as A,F as I,G as O,O as u,bn as G,K as M,L as p,bg as S,ac as v,bj as H,bk as J,a0 as Q,bi as W,s as X,C as Y,ba as Z}from"./.pnpm-9dA1PEvN.js";import{_ as ee}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{_ as te}from"./index.vue_vue_type_script_setup_true_lang-DbClaUqT.js";import{_ as ae}from"./index.vue_vue_type_script_setup_true_lang-C38LpCy9.js";import{b as w}from"./consumer-DkNGexOj.js";import{C as le,k as ne}from"./index-BWzN7QIb.js";import{u as oe}from"./usePaging-Boz1Q6w3.js";import"./index-dYaCh-CN.js";const se={class:"flex justify-end mt-4"},re=k({name:"consumerLists"}),ve=k({...re,setup(ie){const o=Z({keyword:"",channel:"",create_time_start:"",create_time_end:""}),{pager:r,getLists:d,resetPage:c,resetParams:C}=oe({fetchFun:w,params:o});return K(()=>{d()}),d(),(me,a)=>{const y=$,m=R,V=ae,h=G,x=A,_=M,E=te,T=N,f=S,L=Q,s=J,U=q("router-link"),z=H,B=ee,F=D("perms"),P=W;return i(),g("div",null,[e(f,{class:"!border-none",shadow:"never"},{default:n(()=>[e(T,{ref:"formRef",class:"mb-[-16px]",model:t(o),inline:!0},{default:n(()=>[e(m,{class:"w-[280px]",label:"用户信息"},{default:n(()=>[e(y,{modelValue:t(o).keyword,"onUpdate:modelValue":a[0]||(a[0]=l=>t(o).keyword=l),placeholder:"账号/昵称/手机号码",clearable:"",onKeyup:j(t(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(m,{label:"注册时间"},{default:n(()=>[e(V,{startTime:t(o).create_time_start,"onUpdate:startTime":a[1]||(a[1]=l=>t(o).create_time_start=l),endTime:t(o).create_time_end,"onUpdate:endTime":a[2]||(a[2]=l=>t(o).create_time_end=l)},null,8,["startTime","endTime"])]),_:1}),e(m,{class:"w-[280px]",label:"注册来源"},{default:n(()=>[e(x,{modelValue:t(o).channel,"onUpdate:modelValue":a[3]||(a[3]=l=>t(o).channel=l)},{default:n(()=>[(i(!0),g(I,null,O(t(le),(l,b)=>(i(),u(h,{key:b,label:l,value:b},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(m,null,{default:n(()=>[e(_,{type:"primary",onClick:t(c)},{default:n(()=>[...a[5]||(a[5]=[p("查询",-1)])]),_:1},8,["onClick"]),e(_,{onClick:t(C)},{default:n(()=>[...a[6]||(a[6]=[p("重置",-1)])]),_:1},8,["onClick"]),e(E,{class:"ml-2.5","fetch-fun":t(w),params:t(o),"page-size":t(r).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),e(f,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[v((i(),u(z,{size:"large",data:t(r).lists},{default:n(()=>[e(s,{label:"头像","min-width":"100"},{default:n(({row:l})=>[e(L,{src:l.avatar,size:50},null,8,["src"])]),_:1}),e(s,{label:"昵称",prop:"nickname","min-width":"100"}),e(s,{label:"账号",prop:"account","min-width":"120"}),e(s,{label:"手机号码",prop:"mobile","min-width":"100"}),e(s,{label:"注册来源",prop:"channel","min-width":"100"}),e(s,{label:"注册时间",prop:"create_time","min-width":"120"}),e(s,{label:"操作",width:"120",fixed:"right"},{default:n(({row:l})=>[v((i(),u(_,{type:"primary",link:""},{default:n(()=>[e(U,{to:{path:t(ne)("user.user/detail"),query:{id:l.id}}},{default:n(()=>[...a[7]||(a[7]=[p(" 详情 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[F,["user.user/detail"]]])]),_:1})]),_:1},8,["data"])),[[P,t(r).loading]]),X("div",se,[e(B,{modelValue:t(r),"onUpdate:modelValue":a[4]||(a[4]=l=>Y(r)?r.value=l:null),onChange:t(d)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{ve as default}; diff --git a/server/public/admin/assets/index-D95lfiE9.css b/server/public/admin/assets/index-D95lfiE9.css new file mode 100644 index 00000000..09d2e659 --- /dev/null +++ b/server/public/admin/assets/index-D95lfiE9.css @@ -0,0 +1 @@ +@charset "UTF-8";.prescription-list[data-v-261a9fcc]{padding:12px 16px 20px}.filter-toolbar[data-v-261a9fcc]{border-radius:8px;border:1px solid var(--el-border-color-lighter);background:var(--el-fill-color-blank)}.pl-toolbar[data-v-261a9fcc]{display:flex;flex-direction:column;gap:8px}.pl-toolbar__line[data-v-261a9fcc]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.pl-toolbar__line--second[data-v-261a9fcc]{padding-top:2px;border-top:1px dashed var(--el-border-color-lighter);justify-content:flex-start}.pl-toolbar__k[data-v-261a9fcc]{flex-shrink:0;font-size:12px;font-weight:500;color:var(--el-text-color-secondary);line-height:1}.pl-toolbar__sep[data-v-261a9fcc]{width:1px;height:18px;background:var(--el-border-color);opacity:.7;margin:0 2px}.pl-toolbar__rg[data-v-261a9fcc]{flex-wrap:wrap}.pl-toolbar__rg[data-v-261a9fcc] .el-radio-button__inner{padding:5px 10px;font-size:12px}.pl-toolbar__rg--audit[data-v-261a9fcc] .pl-audit-pending-btn .el-radio-button__inner{font-weight:600;padding:6px 14px;font-size:13px}.pl-toolbar__rg--audit[data-v-261a9fcc] .pl-audit-pending-btn:not(.is-active) .el-radio-button__inner{color:var(--el-color-primary);border-color:var(--el-color-primary-light-5);background:var(--el-color-primary-light-9)}.pl-toolbar__rg--audit[data-v-261a9fcc] .pl-audit-pending-btn.is-active .el-radio-button__inner{background:var(--el-color-primary)!important;border-color:var(--el-color-primary)!important;color:#fff!important;box-shadow:none}.pl-toolbar__range[data-v-261a9fcc]{flex:1 1 240px;min-width:220px;max-width:380px}.pl-toolbar__range[data-v-261a9fcc] .el-date-editor{width:100%}.pl-toolbar__range[data-v-261a9fcc] .el-date-editor.el-input__wrapper{min-height:30px;padding:2px 8px}.pl-toolbar__form[data-v-261a9fcc]{display:inline-flex;flex-wrap:wrap;align-items:center;gap:0 4px;flex:1;min-width:0}.pl-toolbar__form[data-v-261a9fcc] .el-form-item{margin-bottom:0;margin-right:12px}.pl-toolbar__form[data-v-261a9fcc] .el-form-item__label{font-size:12px;padding-right:6px}.pl-toolbar__input[data-v-261a9fcc]{width:132px}.pl-toolbar__select[data-v-261a9fcc]{width:108px}.pl-toolbar__select--doctors[data-v-261a9fcc]{width:min(320px,100%);min-width:200px}.pl-toolbar__actions[data-v-261a9fcc]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto}.table-card[data-v-261a9fcc]{border-radius:8px;border:1px solid var(--el-border-color-lighter)}.pl-table-head[data-v-261a9fcc]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.pl-table-head__title[data-v-261a9fcc]{font-size:16px;font-weight:600;color:var(--el-text-color-primary);letter-spacing:.02em}.cf-prescription-drawer[data-v-261a9fcc] .el-drawer__body{padding-top:8px;overflow-y:auto}.rx-wrap[data-v-261a9fcc]{min-height:160px;background:#f5f6f8;padding:12px;margin:-20px}.rx-toolbar[data-v-261a9fcc]{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--el-border-color-lighter);border-radius:6px;padding:8px 12px;margin-bottom:10px}.rx-toolbar .flex-1[data-v-261a9fcc]{flex:1}.rx-status[data-v-261a9fcc]{margin-bottom:10px;padding:8px 12px;border-radius:4px;font-size:13px;line-height:1.6}.rx-status-danger[data-v-261a9fcc]{background:#fef0f0;color:#b91c1c;border:1px solid #fecaca}.rx-paper[data-v-261a9fcc]{width:210mm;min-height:297mm;margin:0 auto;background:#fff;box-sizing:border-box;padding:8mm 10mm;color:#1f1f1f;font-size:13px;line-height:1.5;font-family:Microsoft YaHei,PingFang SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;box-shadow:0 0 0 1px #d6d6d6,0 6px 24px #0000000f;overflow:visible}.rx-notice[data-v-261a9fcc]{display:flex;align-items:center;justify-content:space-between;background:#f3f4f6;border:1px solid #e5e7eb;padding:6px 10px;border-radius:2px;font-size:12px;color:#1f1f1f;margin-bottom:6px}.rx-notice .rx-notice-text[data-v-261a9fcc]{flex:1}.rx-notice .rx-notice-meta[data-v-261a9fcc]{display:inline-flex;gap:24px;white-space:nowrap}.rx-info[data-v-261a9fcc]{border:1px solid #c8c8c8;border-bottom:none}.rx-info-row[data-v-261a9fcc]{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #c8c8c8}.rx-info-row-full[data-v-261a9fcc]{grid-template-columns:1fr}.rx-info-cell[data-v-261a9fcc]{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:13px;border-right:1px solid #c8c8c8;min-height:32px}.rx-info-cell[data-v-261a9fcc]:last-child{border-right:none}.rx-info-cell .rx-key[data-v-261a9fcc]{color:#1f1f1f;flex-shrink:0}.rx-info-cell .rx-val[data-v-261a9fcc]{flex:1;min-width:0;word-break:break-all}.rx-rp[data-v-261a9fcc]{position:relative;border-left:1px solid #c8c8c8;border-right:1px solid #c8c8c8;padding:8px 10px 16px;overflow:hidden;box-sizing:border-box;width:100%}.rx-watermark[data-v-261a9fcc]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:88px;font-weight:700;color:#0000000f;transform:rotate(-22deg);letter-spacing:.18em;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:0}.rx-rp-head[data-v-261a9fcc]{display:grid;grid-template-columns:36px 1fr;align-items:end;-moz-column-gap:8px;column-gap:8px;padding-bottom:4px;border-bottom:1px solid #d4d4d4;margin-bottom:6px;position:relative;z-index:1;width:100%;box-sizing:border-box}.rx-rp-label[data-v-261a9fcc]{font-size:16px;font-weight:700;color:#1f1f1f;line-height:1}.rx-rp-cols-head[data-v-261a9fcc]{display:grid;grid-template-columns:1fr 1fr;-moz-column-gap:24px;column-gap:24px;width:100%;box-sizing:border-box;min-width:0}.rx-rp-col-head[data-v-261a9fcc]{display:grid;grid-template-columns:1fr 64px;-moz-column-gap:8px;column-gap:8px;font-size:13px;color:#1f1f1f;min-width:0}.rx-rp-col-head>span[data-v-261a9fcc]:last-child{text-align:right}.rx-herbs[data-v-261a9fcc]{padding-left:44px;display:grid;grid-template-columns:1fr 1fr;-moz-column-gap:24px;column-gap:24px;row-gap:6px;position:relative;z-index:1;width:100%;box-sizing:border-box}.rx-herb-section-label[data-v-261a9fcc]{grid-column:1/-1;font-size:12px;font-weight:600;color:#409eff;line-height:1.4}.rx-herb-section-label--aux[data-v-261a9fcc]{color:#e6a23c;margin-top:4px}.herb-formula-block__head[data-v-261a9fcc]{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.usage-formula-title[data-v-261a9fcc]{font-size:13px;font-weight:600;margin:8px 0 4px;color:#409eff}.usage-formula-title--aux[data-v-261a9fcc]{color:#e6a23c;margin-top:12px}.rx-herb-cell[data-v-261a9fcc]{display:grid;grid-template-columns:1fr 64px;-moz-column-gap:8px;column-gap:8px;font-size:13px;line-height:1.85;min-width:0}.rx-herb-name[data-v-261a9fcc]{color:#1f1f1f;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rx-herb-total[data-v-261a9fcc]{color:#1f1f1f;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.rx-text[data-v-261a9fcc]{border:1px solid #c8c8c8;border-top:none;padding:10px 12px;font-size:13px;line-height:1.85}.rx-text p[data-v-261a9fcc]{margin:0}.rx-text .rx-text-warn[data-v-261a9fcc]{color:#d72424;font-weight:600}.rx-bottom[data-v-261a9fcc]{border:1px solid #c8c8c8;border-top:none}.rx-bot-row[data-v-261a9fcc]{display:grid;border-bottom:1px solid #c8c8c8}.rx-bot-row[data-v-261a9fcc]:last-child{border-bottom:none}.rx-bot-row-1[data-v-261a9fcc]{grid-template-columns:1.4fr .6fr .6fr .6fr .6fr 1.7fr .95fr 1.25fr;min-height:70px}.rx-bot-row-2[data-v-261a9fcc]{grid-template-columns:repeat(6,1fr)}.rx-bot-cell[data-v-261a9fcc]{border-right:1px solid #c8c8c8;padding:6px 10px;font-size:12px;color:#1f1f1f;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;min-height:32px;box-sizing:border-box}.rx-bot-cell[data-v-261a9fcc]:last-child{border-right:none}.rx-bot-stack[data-v-261a9fcc]{flex-direction:column;align-items:flex-start;justify-content:flex-start}.rx-bot-label[data-v-261a9fcc]{font-size:13px;color:#1f1f1f;margin-bottom:4px}.rx-bot-doctor .rx-bot-doctor-body[data-v-261a9fcc]{flex:1;display:flex;align-items:center;gap:6px;min-height:36px}.rx-bot-doctor .rx-bot-doctor-name[data-v-261a9fcc]{font-size:13px;color:#1f1f1f}.rx-bot-doctor .rx-bot-sign-img[data-v-261a9fcc]{max-height:40px;max-width:110px;-o-object-fit:contain;object-fit:contain}.rx-bot-meta[data-v-261a9fcc]{flex-wrap:nowrap}.rx-bot-meta .rx-bot-meta-key[data-v-261a9fcc]{color:#1f1f1f;margin-right:6px;white-space:nowrap;flex-shrink:0;line-height:1.4}.rx-bot-meta .rx-bot-meta-val[data-v-261a9fcc]{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;line-height:1.4}.rx-fee[data-v-261a9fcc]{font-size:13px;line-height:1.4;padding:8px 10px}.rx-fee .rx-fee-key[data-v-261a9fcc]{color:#1f1f1f;margin-right:6px;white-space:nowrap}.rx-fee .rx-fee-val[data-v-261a9fcc]{font-variant-numeric:tabular-nums;white-space:nowrap}.rx-fee-total[data-v-261a9fcc]{font-weight:700;background:#fafafa}.rx-fee-total .rx-fee-val[data-v-261a9fcc]{font-weight:700}.rx-audit[data-v-261a9fcc]{margin-top:12px;padding:8px 12px;background:#fafafa;border:1px dashed #d4d4d4;color:#6b7280;font-size:12px;line-height:1.6;border-radius:4px}.create-order-dialog[data-v-261a9fcc] .el-dialog__header{padding:20px 24px 12px;margin-right:0}.create-order-dialog[data-v-261a9fcc] .el-dialog__title{font-size:18px;font-weight:600;letter-spacing:.02em}.create-order-dialog[data-v-261a9fcc] .el-dialog__body{padding:8px 24px 20px;max-height:calc(100vh - 200px);overflow:hidden}.create-order-dialog[data-v-261a9fcc] .el-dialog__footer{padding:16px 24px 20px;border-top:1px solid var(--el-border-color-lighter);background:var(--el-fill-color-blank)}.create-order-dialog__inner[data-v-261a9fcc]{display:flex;flex-direction:column;gap:0}.create-order-rx-card[data-v-261a9fcc]{border-radius:10px;border:1px solid var(--el-color-primary-light-5);background:linear-gradient(135deg,var(--el-color-primary-light-9) 0%,var(--el-fill-color-blank) 100%);padding:16px 18px;margin-bottom:20px;box-shadow:0 1px 2px #0000000a}.create-order-rx-card__head[data-v-261a9fcc]{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin-bottom:10px}.create-order-rx-card__badge[data-v-261a9fcc]{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;color:#fff;background:var(--el-color-primary);letter-spacing:.04em}.create-order-rx-card__meta[data-v-261a9fcc]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:14px;color:var(--el-text-color-regular)}.create-order-rx-card__id[data-v-261a9fcc]{font-weight:600;color:var(--el-text-color-primary)}.create-order-rx-card__sn[data-v-261a9fcc]{padding:2px 8px;border-radius:4px;background:var(--el-fill-color);font-size:13px;color:var(--el-text-color-secondary)}.create-order-rx-card__patient[data-v-261a9fcc]{font-weight:500;color:var(--el-text-color-primary)}.create-order-rx-card__herbs[data-v-261a9fcc]{font-size:13px;line-height:1.55;color:var(--el-text-color-secondary);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;cursor:default;padding-top:2px}.create-order-steps[data-v-261a9fcc]{margin-bottom:8px;padding:8px 12px 4px}.create-order-steps[data-v-261a9fcc] .el-step__title{font-size:14px;font-weight:500;line-height:1.4}.create-order-steps[data-v-261a9fcc] .el-step__description{font-size:12px;margin-top:4px;line-height:1.35;padding-right:6px}.create-order-steps[data-v-261a9fcc] .el-step__head{padding-right:8px}.create-order-steps[data-v-261a9fcc] .el-step.is-horizontal .el-step__line{top:14px}.create-order-step-lead[data-v-261a9fcc]{margin:0 0 20px;padding:12px 16px;font-size:13px;line-height:1.6;color:var(--el-text-color-secondary);background:var(--el-fill-color-light);border-radius:8px;border-left:3px solid var(--el-color-primary-light-5)}.create-order-step-panel[data-v-261a9fcc]{max-height:min(56vh,480px);overflow-y:auto;overflow-x:hidden;padding:4px 8px 12px 4px;margin-right:-4px}.create-order-step-panel__row-after-bar[data-v-261a9fcc]{margin-top:20px}.create-order-unit-suffix[data-v-261a9fcc]{flex-shrink:0;font-size:13px;color:var(--el-text-color-secondary);padding-left:4px}.create-order-footer[data-v-261a9fcc]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;width:100%}.create-order-footer__hint[data-v-261a9fcc]{flex:1;min-width:200px;display:flex;flex-direction:column;gap:6px;font-size:13px;line-height:1.5;color:var(--el-text-color-secondary)}.create-order-footer__step[data-v-261a9fcc]{color:var(--el-text-color-placeholder)}.create-order-footer__warn[data-v-261a9fcc]{color:var(--el-color-warning);font-weight:500}.create-order-footer__actions[data-v-261a9fcc]{flex-shrink:0;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.create-order-deposit-bar[data-v-261a9fcc]{display:flex;align-items:stretch;border-radius:10px;border:1px solid var(--el-border-color-lighter);overflow:hidden;font-size:13px;box-shadow:0 1px 2px #0000000a}.create-order-deposit-bar__cell[data-v-261a9fcc]{flex:1;padding:16px 20px;display:flex;flex-direction:column;gap:6px;background:var(--el-fill-color-light)}.create-order-deposit-bar__cell strong[data-v-261a9fcc]{font-size:20px;font-weight:600;color:var(--el-text-color-primary);letter-spacing:.02em}.create-order-deposit-bar__label[data-v-261a9fcc]{font-size:13px;color:var(--el-text-color-secondary)}.create-order-deposit-bar__sub[data-v-261a9fcc]{font-size:12px;color:var(--el-text-color-placeholder)}.create-order-deposit-bar__sep[data-v-261a9fcc]{width:1px;background:var(--el-border-color-lighter);flex-shrink:0}.create-order-deposit-bar.is-ok .create-order-deposit-bar__cell:last-child strong[data-v-261a9fcc]{color:var(--el-color-success)}.create-order-deposit-bar.is-warn .create-order-deposit-bar__cell:last-child strong[data-v-261a9fcc]{color:var(--el-color-danger)}.create-order-pay-hint[data-v-261a9fcc]{font-size:12px;line-height:1.55;margin-top:8px;color:var(--el-text-color-secondary)}.create-order-form[data-v-261a9fcc] .el-form-item{margin-bottom:20px}.create-order-form[data-v-261a9fcc] .el-form-item__label{font-size:14px;padding-right:12px}.create-order-form[data-v-261a9fcc] .el-input__inner,.create-order-form[data-v-261a9fcc] .el-textarea__inner{font-size:14px}.create-order-form-item--inline-num[data-v-261a9fcc] .el-form-item__content{line-height:normal}.signature-pad-wrap[data-v-261a9fcc]{width:100%;max-width:600px;border:1px solid #dcdfe6;border-radius:4px;overflow:hidden;background:#fff}.signature-pad-wrap .signature-canvas[data-v-261a9fcc]{display:block;cursor:crosshair;touch-action:none}.signature-pad-wrap .signature-actions[data-v-261a9fcc]{padding:8px;border-top:1px solid #ebeef5}@media print{body *{visibility:hidden!important}.rx-paper,.rx-paper *{visibility:visible!important}.rx-paper{position:fixed!important;left:0!important;top:0!important;width:210mm!important;height:297mm!important;margin:0!important;padding:8mm 10mm!important;box-shadow:none!important;page-break-after:always}@page{size:A4;margin:0}} diff --git a/server/public/admin/assets/index-C-fDcmBQ.js b/server/public/admin/assets/index-DBr4A7i9.js similarity index 98% rename from server/public/admin/assets/index-C-fDcmBQ.js rename to server/public/admin/assets/index-DBr4A7i9.js index 5782a7c6..5d0a7acc 100644 --- a/server/public/admin/assets/index-C-fDcmBQ.js +++ b/server/public/admin/assets/index-DBr4A7i9.js @@ -1,4 +1,4 @@ -import{o as K,R as rt,ba as U,ap as dt,q as l,r as c,s as t,v as a,D as n,L as O,u as w,by as I,K as ct,db as pt,w as ut,T as r,bn as bt,bm as mt,c8 as _t,F as C,G as A,c7 as ht,O as v,cJ as D,bB as yt,P as W,dc as wt,cL as vt,p as S,M as J}from"./.pnpm-9dA1PEvN.js";import{l as ft,O as V,Q as gt,_ as kt}from"./index-CJvXnF8Y.js";import{aA as xt}from"./tcm-DOD9_1Um.js";import{u as St}from"./order-CNletQ6l.js";import{u as j}from"./getExposeType-DmsdEFKC.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"},Lt={class:"wb-toolbar"},Et={class:"wb-section-body"},Vt={class:"wb-kpi wb-kpi--violet"},Rt={class:"wb-kpi-value"},Pt={class:"wb-kpi wb-kpi--amber"},Bt={class:"wb-kpi-value wb-kpi-value--sm"},Ft={class:"wb-rank-strip wb-rank-strip--compact"},Wt={key:0,class:"wb-rank-chips"},Ht={key:1,class:"wb-rank-empty"},Tt={class:"wb-chart-card"},Mt={class:"wb-chart-card"},Ut={class:"wb-chart-card"},It={class:"wb-chart-card wb-ranking-card"},jt={key:0,class:"wb-ranking-list"},qt={class:"wb-ranking-rank"},Gt={class:"wb-ranking-name"},Jt={class:"wb-ranking-meta"},Kt={class:"wb-ranking-money"},Qt={key:0,class:"wb-dept-block"},Yt={class:"wb-dept-card wb-dept-card--order"},Xt={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"},ne={class:"wb-section-icon wb-section-icon--blue"},ie={class:"wb-section-sub"},re={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"},ve={class:"wb-dept-card-head"},fe={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=K({name:"workbench"}),Le=K({...ze,setup(Ee){const g=ft(),H=j(),T=j(),Q=j(),M=["#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=U({days:0,departments:[],today_ranking:[],ranking:[],chart:{xAxis:[],series:[]}}),Y=S(()=>(p.departments||[]).some(s=>Number(s.total)>0)),X=S(()=>{const s=(p.departments||[]).filter(e=>Number(e.total)>0).map(e=>({name:e.dept_name||"—",value:Number(e.total)}));return{color:M,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{o as K,R as rt,ba as U,ap as dt,q as l,r as c,s as t,v as a,D as n,L as O,u as w,by as I,K as ct,db as pt,w as ut,T as r,bn as bt,bm as mt,c8 as _t,F as C,G as A,c7 as ht,O as v,cJ as D,bB as yt,P as W,dc as wt,cL as vt,p as S,M as J}from"./.pnpm-9dA1PEvN.js";import{l as ft,O as V,Q as gt,_ as kt}from"./index-BWzN7QIb.js";import{aA as xt}from"./tcm-Fi_swgCr.js";import{u as St}from"./order-B6cEisB-.js";import{u as j}from"./getExposeType-DmsdEFKC.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"},Lt={class:"wb-toolbar"},Et={class:"wb-section-body"},Vt={class:"wb-kpi wb-kpi--violet"},Rt={class:"wb-kpi-value"},Pt={class:"wb-kpi wb-kpi--amber"},Bt={class:"wb-kpi-value wb-kpi-value--sm"},Ft={class:"wb-rank-strip wb-rank-strip--compact"},Wt={key:0,class:"wb-rank-chips"},Ht={key:1,class:"wb-rank-empty"},Tt={class:"wb-chart-card"},Mt={class:"wb-chart-card"},Ut={class:"wb-chart-card"},It={class:"wb-chart-card wb-ranking-card"},jt={key:0,class:"wb-ranking-list"},qt={class:"wb-ranking-rank"},Gt={class:"wb-ranking-name"},Jt={class:"wb-ranking-meta"},Kt={class:"wb-ranking-money"},Qt={key:0,class:"wb-dept-block"},Yt={class:"wb-dept-card wb-dept-card--order"},Xt={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"},ne={class:"wb-section-icon wb-section-icon--blue"},ie={class:"wb-section-sub"},re={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"},ve={class:"wb-dept-card-head"},fe={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=K({name:"workbench"}),Le=K({...ze,setup(Ee){const g=ft(),H=j(),T=j(),Q=j(),M=["#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=U({days:0,departments:[],today_ranking:[],ranking:[],chart:{xAxis:[],series:[]}}),Y=S(()=>(p.departments||[]).some(s=>Number(s.total)>0)),X=S(()=>{const s=(p.departments||[]).filter(e=>Number(e.total)>0).map(e=>({name:e.dept_name||"—",value:Number(e.total)}));return{color:M,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:V(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=()=>{xt({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(()=>{})},P=J(-1),B=J(0),_=U({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:M,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:M,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=B.value,h=new Date,b=new Date;return e===0?(b.setHours(0,0,0,0),`${F(b)} 至 ${F(h)}`):(b.setDate(b.getDate()-(e||7)),`${F(b)} 至 ${F(h)}`)});function F(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:V(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=()=>{St({order_type:P.value,days:B.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(()=>{})},nt=()=>{G(),R(),N()};rt(()=>g.theme,()=>{it()});const u=U({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:V(g.theme,.65)},{offset:1,color:g.theme}]}}}]}}),G=()=>{gt().then(s=>{var e,h,b,i,k,m,f,x,$,z,L,E;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=(f=s.sale)==null?void 0:f.date)==null||x.reverse().forEach(o=>{u.saleOption.xAxis.data.push(o)}),(E=(L=(z=($=s.sale)==null?void 0:$.list)==null?void 0:z[0])==null?void 0:L.data)==null||E.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:V("#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:V(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 dt(()=>{G(),R(),N()}),(s,e)=>{var $,z,L,E;const h=ct,b=ut,i=bt,k=mt,m=_t,f=ht,x=yt;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:w(I),round:"",class:"wb-refresh-btn",onClick:nt},{default:n(()=>[...e[3]||(e[3]=[O(" 刷新全部 ",-1)])]),_:1},8,["icon"])]),t("section",At,[t("div",Dt,[t("div",Nt,[t("span",$t,[a(b,null,{default:n(()=>[a(w(pt))]),_:1})]),t("div",null,[e[5]||(e[5]=t("div",{class:"wb-section-name"},"订单统计",-1)),t("div",zt,r(ot.value)+" · "+r(_.order_type_name||"—"),1)])]),t("div",Lt,[a(k,{modelValue:P.value,"onUpdate:modelValue":e[0]||(e[0]=o=>P.value=o),class:"wb-select wb-select--wide",onChange:N},{default:n(()=>[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:B.value,"onUpdate:modelValue":e[1]||(e[1]=o=>B.value=o),class:"wb-select",onChange:N},{default:n(()=>[a(i,{label:"今天",value:0}),a(i,{label:"最近7天",value:7}),a(i,{label:"最近30天",value:30})]),_:1},8,["modelValue"]),a(h,{icon:w(I),circle:"",onClick:N},null,8,["icon"])])]),t("div",Et,[a(f,{gutter:16,class:"wb-kpi-row"},{default:n(()=>[a(m,{xs:24,sm:8},{default:n(()=>[t("div",Vt,[e[6]||(e[6]=t("div",{class:"wb-kpi-label"},"今日单数",-1)),t("div",Rt,r(_.today_total??0),1)])]),_:1}),a(m,{xs:24,sm:8},{default:n(()=>[t("div",Pt,[e[7]||(e[7]=t("div",{class:"wb-kpi-label"},"今日金额",-1)),t("div",Bt,"¥"+r(_.today_amount??"0.00"),1)])]),_:1}),a(m,{xs:24,sm:8},{default:n(()=>{var o;return[t("div",Ft,[e[8]||(e[8]=t("span",{class:"wb-rank-strip-label"},"今日 TOP",-1)),(o=_.today_ranking)!=null&&o.length?(l(),c("div",Wt,[(l(!0),c(C,null,A(_.today_ranking.slice(0,4),(d,y)=>(l(),c("span",{key:d.id,class:"wb-rank-chip wb-rank-chip--dense"},[t("em",null,r(Number(y)+1),1),O(" "+r(d.name)+" ",1),t("strong",null,r(d.count),1),t("small",null,"¥"+r(d.amount),1)]))),128))])):(l(),c("span",Ht,"暂无"))])]}),_:1})]),_:1}),a(f,{gutter:20,class:"wb-chart-row"},{default:n(()=>[a(m,{xs:24,lg:10},{default:n(()=>[t("div",Tt,[e[9]||(e[9]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"部门单数占比")],-1)),tt.value?(l(),v(w(D),{key:0,class:"wb-chart",style:{height:"300px"},option:st.value,autoresize:!0},null,8,["option"])):(l(),v(x,{key:1,class:"wb-chart-empty",description:"暂无数据"}))])]),_:1}),a(m,{xs:24,lg:14},{default:n(()=>{var o,d;return[t("div",Mt,[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(),v(w(D),{key:"order-bar-"+P.value,class:"wb-chart",style:{height:"300px"},option:lt.value,autoresize:!0},null,8,["option"])):(l(),v(x,{key:1,class:"wb-chart-empty",description:"暂无图表数据"}))])]}),_:1})]),_:1}),a(f,{gutter:20,class:"wb-chart-row"},{default:n(()=>[a(m,{xs:24,lg:10},{default:n(()=>[t("div",Ut,[e[11]||(e[11]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"部门金额占比")],-1)),et.value?(l(),v(w(D),{key:0,class:"wb-chart",style:{height:"300px"},option:at.value,autoresize:!0},null,8,["option"])):(l(),v(x,{key:1,class:"wb-chart-empty",description:"暂无数据"}))])]),_:1}),a(m,{xs:24,lg:14},{default:n(()=>{var o;return[t("div",It,[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",jt,[(l(!0),c(C,null,A(_.ranking,(d,y)=>(l(),c("div",{key:d.id,class:"wb-ranking-item"},[t("span",qt,r(Number(y)+1),1),t("span",Gt,r(d.name),1),t("span",Jt,[t("b",null,r(d.count),1),e[12]||(e[12]=O(" 单 ",-1)),t("span",Kt,"¥"+r(d.amount),1)])]))),128))])):(l(),v(x,{key:1,description:"暂无排行"}))])]}),_:1})]),_:1}),($=_.departments)!=null&&$.length?(l(),c("div",Qt,[e[14]||(e[14]=t("div",{class:"wb-dept-title"},"按部门统计",-1)),a(f,{gutter:16},{default:n(()=>[(l(!0),c(C,null,A(_.departments,o=>(l(),v(m,{key:o.dept_id,xs:24,sm:12,lg:8},{default:n(()=>{var d;return[t("div",Yt,[t("div",Xt,[O(r(o.dept_name)+" ",1),t("span",Zt,r(o.total)+" 单 · ¥"+r(o.amount),1)]),t("div",te,[(l(!0),c(C,null,A(o.members,y=>(l(),c("div",{key:`${o.dept_id}-${y.id}`,class:"wb-dept-row"},[t("span",null,r(y.name),1),t("span",ee,[O(r(y.count)+" ",1),t("small",null,"¥"+r(y.amount),1)])]))),128)),(d=o.members)!=null&&d.length?W("",!0):(l(),c("div",se,"暂无"))])])]}),_:2},1024))),128))]),_:1})])):W("",!0)])]),t("section",ae,[t("div",oe,[t("div",le,[t("span",ne,[a(b,null,{default:n(()=>[a(w(wt))]),_:1})]),t("div",null,[e[15]||(e[15]=t("div",{class:"wb-section-name"},"医助理诊单统计",-1)),t("div",ie,r((z=p.date_range)==null?void 0:z[0])+" 至 "+r((L=p.date_range)==null?void 0:L[1]),1)])]),t("div",re,[a(k,{modelValue:p.days,"onUpdate:modelValue":e[2]||(e[2]=o=>p.days=o),class:"wb-select",onChange:R},{default:n(()=>[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:w(I),circle:"",onClick:R},null,8,["icon"])])]),t("div",de,[a(f,{gutter:16,class:"wb-kpi-row"},{default:n(()=>[a(m,{xs:24,sm:8,lg:6},{default:n(()=>[t("div",ce,[e[16]||(e[16]=t("div",{class:"wb-kpi-label"},"今日创建诊单",-1)),t("div",pe,r(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:n(()=>{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(C,null,A(p.today_ranking.slice(0,6),(d,y)=>(l(),c("span",{key:d.id,class:"wb-rank-chip"},[t("em",null,r(y+1),1),O(" "+r(d.name)+" ",1),t("strong",null,r(d.count),1)]))),128))])):(l(),c("span",me,"暂无排行数据"))])]}),_:1})]),_:1}),a(f,{gutter:20,class:"wb-chart-row"},{default:n(()=>[a(m,{xs:24,lg:15},{default:n(()=>{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(),v(w(D),{key:0,ref_key:"assistantChart",ref:Q,class:"wb-chart",style:{height:"340px"},option:Z.value,autoresize:!0},null,8,["option"])):(l(),v(x,{key:1,class:"wb-chart-empty",description:"暂无图表数据"}))])]}),_:1}),a(m,{xs:24,lg:9},{default:n(()=>[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)),Y.value?(l(),v(w(D),{key:0,class:"wb-chart",style:{height:"340px"},option:X.value,autoresize:!0},null,8,["option"])):(l(),v(x,{key:1,class:"wb-chart-empty",description:"暂无部门数据"}))])]),_:1})]),_:1}),(E=p.departments)!=null&&E.length?(l(),c("div",ye,[e[21]||(e[21]=t("div",{class:"wb-dept-title"},"按部门明细",-1)),a(f,{gutter:16},{default:n(()=>[(l(!0),c(C,null,A(p.departments,o=>(l(),v(m,{key:o.dept_id,xs:24,sm:12,lg:8},{default:n(()=>{var d;return[t("div",we,[t("div",ve,[O(r(o.dept_name)+" ",1),t("span",fe,"共 "+r(o.total),1)]),t("div",ge,[(l(!0),c(C,null,A(o.assistants,y=>(l(),c("div",{key:`${o.dept_id}-${y.id}`,class:"wb-dept-row"},[t("span",null,r(y.name),1),t("span",ke,r(y.count),1)]))),128)),(d=o.assistants)!=null&&d.length?W("",!0):(l(),c("div",xe,"暂无医助"))])])]}),_:2},1024))),128))]),_:1})])):W("",!0)])]),t("section",Se,[t("div",Oe,[t("div",Ce,[t("span",Ae,[a(b,null,{default:n(()=>[a(w(vt))]),_: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(f,{gutter:20},{default:n(()=>[a(m,{xs:24,lg:14},{default:n(()=>[t("div",Ne,[e[23]||(e[23]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"访问量趋势")],-1)),a(w(D),{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:n(()=>[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(w(D),{ref_key:"saleChart",ref:H,class:"wb-chart",style:{height:"320px"},option:u.saleOption,autoresize:!0},null,8,["option"])])]),_:1})]),_:1})])])])}}}),We=kt(Le,[["__scopeId","data-v-39fb99f5"]]);export{We as default}; diff --git a/server/public/admin/assets/index-DMkcmA29.js b/server/public/admin/assets/index-DFkJDhf6.js similarity index 97% rename from server/public/admin/assets/index-DMkcmA29.js rename to server/public/admin/assets/index-DFkJDhf6.js index b3bb863e..b10bc6a0 100644 --- a/server/public/admin/assets/index-DMkcmA29.js +++ b/server/public/admin/assets/index-DFkJDhf6.js @@ -1 +1 @@ -var M=Object.defineProperty;var q=(e,r,s)=>r in e?M(e,r,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[r]=s;var D=(e,r,s)=>q(e,typeof r!="symbol"?r+"":r,s);import{bV as I,o as V,M as k,a8 as j,p as C,q as w,r as P,v as U,D as _,ah as N,bW as K,O as X,s as $,F as x,G as H,T as W,bX as G,bt as J,P as Y}from"./.pnpm-9dA1PEvN.js";import{u as Z,e as Q,p as z,R as L,i as E,_ as ee}from"./index-CJvXnF8Y.js";import{j as re,k as ae}from"./file-BJDA0rIT.js";const te=5*1024*1024,se=3;function le(e,r){const s=(r.name.split(".").pop()||"mp4").toLowerCase(),S=Date.now(),h=Math.random().toString(36).slice(2,10);return`${e}${S}-${h}.${s}`}async function ce(e){var o,d;const r=await re({type:e.type});if(r.fallback)throw((o=e.onFallback)==null?void 0:o.call(e,r.provider))??!1?new T(r.provider):new T(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 s=r.credentials,S=r.expired_time??0,h=r.start_time??Math.floor(Date.now()/1e3),y=new I({getAuthorization(m,i){i({TmpSecretId:s.tmpSecretId,TmpSecretKey:s.tmpSecretKey,SecurityToken:s.sessionToken,StartTime:h,ExpiredTime:S})}}),p=le(r.key_prefix,e.file);await new Promise((m,i)=>{y.uploadFile({Bucket:r.bucket,Region:r.region,Key:p,Body:e.file,SliceSize:te,AsyncLimit:se,onProgress(f){if(!e.onProgress)return;const b=f.total||e.file.size;e.onProgress({percent:Math.min(99,Math.round((f.percent||0)*100)),loaded:f.loaded||0,total:b,speed:f.speed||0})}},f=>{if(f){i(f);return}m()})});const u=await ae({type:e.type,key:p,name:e.file.name,size:e.file.size,content_type:e.file.type||"",cid:e.cid??0});return(d=e.onProgress)==null||d.call(e,{percent:100,loaded:e.file.size,total:e.file.size,speed:0}),u}class T extends Error{constructor(s){super(`COS 直传不可用,当前驱动: ${s}`);D(this,"provider");this.name="DirectUploadFallbackError",this.provider=s}}const ne=V({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 s=Z(),S=Q(),h=j(),y=k(`${z.baseUrl}${z.urlPrefix}/upload/${e.type}`),p=C(()=>({token:s.token,version:S.config.version})),u=k(!1),o=k([]),d=C(()=>e.direct&&["video","voice"].includes(e.type)),m=()=>{u.value=!0};let i=0;const f=(a,c)=>{i++,i==o.value.length&&(i=0,o.value=[],r("allSuccess")),r("change",c),a.code==L.SUCCESS&&r("success",a),a.code==L.FAIL&&a.msg&&E.msgError(a.msg)},b=(a,c)=>{var l;i++,i==o.value.length&&(i=0,o.value=[],r("allSuccess")),E.msgError(`${c.name}文件上传失败`),(l=h.value)==null||l.abort(c),u.value=!1,r("change",c),r("error",c)},B=()=>{E.msgError(`超出上传上限${e.limit},请重新上传`)},F=()=>{o.value=[],u.value=!1},O=C(()=>{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";default:return"*"}}),R=async a=>{var c,l,v;u.value=!0;try{const t=await ce({file:a.file,type:e.type,cid:Number(((c=a.data)==null?void 0:c.cid)??0),onProgress(n){var g;(g=a.onProgress)==null||g.call(a,{percent:n.percent,loaded:n.loaded,total:n.total})}});(l=a.onSuccess)==null||l.call(a,{code:L.SUCCESS,msg:"ok",data:t})}catch(t){if(t instanceof T){E.msgWarning("当前存储不支持直传,已切换为普通上传"),await A(a);return}(v=a.onError)==null||v.call(a,t instanceof Error?t:new Error(String((t==null?void 0:t.message)??t)))}},A=a=>new Promise(c=>{const l=new XMLHttpRequest;l.open("POST",y.value),Object.entries(p.value).forEach(([t,n])=>l.setRequestHeader(t,String(n??""))),l.upload.onprogress=t=>{var g;if(!t.lengthComputable)return;const n=t.loaded/t.total*100;(g=a.onProgress)==null||g.call(a,{percent:n,loaded:t.loaded,total:t.total})},l.onload=()=>{var t,n;try{const g=JSON.parse(l.responseText);(t=a.onSuccess)==null||t.call(a,g)}catch{(n=a.onError)==null||n.call(a,new Error("上传响应解析失败"))}c()},l.onerror=()=>{var t;(t=a.onError)==null||t.call(a,new Error("网络错误")),c()};const v=new FormData;v.append("file",a.file),Object.entries(a.data||{}).forEach(([t,n])=>v.append(t,String(n))),l.send(v)});return{uploadRefs:h,action:y,headers:p,visible:u,fileList:o,useDirect:d,httpRequest:R,getAccept:O,handleProgress:m,handleSuccess:f,handleError:b,handleExceed:B,handleClose:F}}}),oe={class:"upload"},de={class:"file-list p-4"},ie={class:"flex-1"};function ue(e,r,s,S,h,y){const p=K,u=G,o=J;return w(),P("div",oe,[U(p,{"file-list":e.fileList,"onUpdate:fileList":r[0]||(r[0]=d=>e.fileList=d),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:_(()=>[N(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?(w(),X(o,{key:0,modelValue:e.visible,"onUpdate:modelValue":r[1]||(r[1]=d=>e.visible=d),title:"上传进度","close-on-click-modal":!1,width:"500px",modal:!1,onClose:e.handleClose},{default:_(()=>[$("div",de,[(w(!0),P(x,null,H(e.fileList,(d,m)=>(w(),P("div",{key:m,class:"mb-5"},[$("div",null,W(d.name),1),$("div",ie,[U(u,{percentage:parseInt(d.percentage)},null,8,["percentage"])])]))),128))])]),_:1},8,["modelValue","onClose"])):Y("",!0)])}const pe=ee(ne,[["render",ue]]);export{pe as U}; +var M=Object.defineProperty;var q=(e,r,s)=>r in e?M(e,r,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[r]=s;var D=(e,r,s)=>q(e,typeof r!="symbol"?r+"":r,s);import{bV as I,o as V,M as k,a8 as j,p as C,q as w,r as P,v as U,D as _,ah as N,bW as K,O as X,s as $,F as x,G as H,T as W,bX as G,bt as J,P as Y}from"./.pnpm-9dA1PEvN.js";import{u as Z,e as Q,p as z,R as L,i as E,_ as ee}from"./index-BWzN7QIb.js";import{j as re,k as ae}from"./file-BL6iPgPC.js";const te=5*1024*1024,se=3;function le(e,r){const s=(r.name.split(".").pop()||"mp4").toLowerCase(),S=Date.now(),h=Math.random().toString(36).slice(2,10);return`${e}${S}-${h}.${s}`}async function ce(e){var o,d;const r=await re({type:e.type});if(r.fallback)throw((o=e.onFallback)==null?void 0:o.call(e,r.provider))??!1?new T(r.provider):new T(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 s=r.credentials,S=r.expired_time??0,h=r.start_time??Math.floor(Date.now()/1e3),y=new I({getAuthorization(m,i){i({TmpSecretId:s.tmpSecretId,TmpSecretKey:s.tmpSecretKey,SecurityToken:s.sessionToken,StartTime:h,ExpiredTime:S})}}),p=le(r.key_prefix,e.file);await new Promise((m,i)=>{y.uploadFile({Bucket:r.bucket,Region:r.region,Key:p,Body:e.file,SliceSize:te,AsyncLimit:se,onProgress(f){if(!e.onProgress)return;const b=f.total||e.file.size;e.onProgress({percent:Math.min(99,Math.round((f.percent||0)*100)),loaded:f.loaded||0,total:b,speed:f.speed||0})}},f=>{if(f){i(f);return}m()})});const u=await ae({type:e.type,key:p,name:e.file.name,size:e.file.size,content_type:e.file.type||"",cid:e.cid??0});return(d=e.onProgress)==null||d.call(e,{percent:100,loaded:e.file.size,total:e.file.size,speed:0}),u}class T extends Error{constructor(s){super(`COS 直传不可用,当前驱动: ${s}`);D(this,"provider");this.name="DirectUploadFallbackError",this.provider=s}}const ne=V({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 s=Z(),S=Q(),h=j(),y=k(`${z.baseUrl}${z.urlPrefix}/upload/${e.type}`),p=C(()=>({token:s.token,version:S.config.version})),u=k(!1),o=k([]),d=C(()=>e.direct&&["video","voice"].includes(e.type)),m=()=>{u.value=!0};let i=0;const f=(a,c)=>{i++,i==o.value.length&&(i=0,o.value=[],r("allSuccess")),r("change",c),a.code==L.SUCCESS&&r("success",a),a.code==L.FAIL&&a.msg&&E.msgError(a.msg)},b=(a,c)=>{var l;i++,i==o.value.length&&(i=0,o.value=[],r("allSuccess")),E.msgError(`${c.name}文件上传失败`),(l=h.value)==null||l.abort(c),u.value=!1,r("change",c),r("error",c)},B=()=>{E.msgError(`超出上传上限${e.limit},请重新上传`)},F=()=>{o.value=[],u.value=!1},O=C(()=>{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";default:return"*"}}),R=async a=>{var c,l,v;u.value=!0;try{const t=await ce({file:a.file,type:e.type,cid:Number(((c=a.data)==null?void 0:c.cid)??0),onProgress(n){var g;(g=a.onProgress)==null||g.call(a,{percent:n.percent,loaded:n.loaded,total:n.total})}});(l=a.onSuccess)==null||l.call(a,{code:L.SUCCESS,msg:"ok",data:t})}catch(t){if(t instanceof T){E.msgWarning("当前存储不支持直传,已切换为普通上传"),await A(a);return}(v=a.onError)==null||v.call(a,t instanceof Error?t:new Error(String((t==null?void 0:t.message)??t)))}},A=a=>new Promise(c=>{const l=new XMLHttpRequest;l.open("POST",y.value),Object.entries(p.value).forEach(([t,n])=>l.setRequestHeader(t,String(n??""))),l.upload.onprogress=t=>{var g;if(!t.lengthComputable)return;const n=t.loaded/t.total*100;(g=a.onProgress)==null||g.call(a,{percent:n,loaded:t.loaded,total:t.total})},l.onload=()=>{var t,n;try{const g=JSON.parse(l.responseText);(t=a.onSuccess)==null||t.call(a,g)}catch{(n=a.onError)==null||n.call(a,new Error("上传响应解析失败"))}c()},l.onerror=()=>{var t;(t=a.onError)==null||t.call(a,new Error("网络错误")),c()};const v=new FormData;v.append("file",a.file),Object.entries(a.data||{}).forEach(([t,n])=>v.append(t,String(n))),l.send(v)});return{uploadRefs:h,action:y,headers:p,visible:u,fileList:o,useDirect:d,httpRequest:R,getAccept:O,handleProgress:m,handleSuccess:f,handleError:b,handleExceed:B,handleClose:F}}}),oe={class:"upload"},de={class:"file-list p-4"},ie={class:"flex-1"};function ue(e,r,s,S,h,y){const p=K,u=G,o=J;return w(),P("div",oe,[U(p,{"file-list":e.fileList,"onUpdate:fileList":r[0]||(r[0]=d=>e.fileList=d),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:_(()=>[N(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?(w(),X(o,{key:0,modelValue:e.visible,"onUpdate:modelValue":r[1]||(r[1]=d=>e.visible=d),title:"上传进度","close-on-click-modal":!1,width:"500px",modal:!1,onClose:e.handleClose},{default:_(()=>[$("div",de,[(w(!0),P(x,null,H(e.fileList,(d,m)=>(w(),P("div",{key:m,class:"mb-5"},[$("div",null,W(d.name),1),$("div",ie,[U(u,{percentage:parseInt(d.percentage)},null,8,["percentage"])])]))),128))])]),_:1},8,["modelValue","onClose"])):Y("",!0)])}const pe=ee(ne,[["render",ue]]);export{pe as U}; diff --git a/server/public/admin/assets/index-D9bgwvCK.js b/server/public/admin/assets/index-DHPLU2Cm.js similarity index 99% rename from server/public/admin/assets/index-D9bgwvCK.js rename to server/public/admin/assets/index-DHPLU2Cm.js index 40315c93..6d3abbe3 100644 --- a/server/public/admin/assets/index-D9bgwvCK.js +++ b/server/public/admin/assets/index-DHPLU2Cm.js @@ -1 +1 @@ -import{o as te,q as g,r as z,v as l,D as t,b9 as xe,u as o,b6 as Ce,b7 as De,b8 as W,bm as Ee,bn as Re,K as Ue,L as i,bg as Fe,s as w,ac as Z,O as x,bj as Ye,bk as $e,T as h,br as Me,bi as he,C as T,J as Te,bc as He,bf as Le,bt as Ne,P as qe,B as Se,bp as Be,M as u}from"./.pnpm-9dA1PEvN.js";import{_ as Ke}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{f as Pe,a as ze,b as Ae,h as Ie,g as je,c as Oe,d as Ge,e as Je}from"./fans-apIaPYUL.js";import{u as Xe}from"./usePaging-Boz1Q6w3.js";import{i as ee}from"./index-CJvXnF8Y.js";import{d as le}from"./dayjs-BsOAYQJw.js";const Qe={class:"fans-management"},We={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"}),ml=te({...al,setup(ol){const ae=n=>{if(!n)return"-";const e=String(n).length===10?Number(n)*1e3:Number(n);return le(e).format("YYYY-MM-DD HH:mm:ss")},f=u({name:"",phone:"",gender:"",status:""}),{pager:k,getLists:C,resetParams:oe,resetPage:H}=Xe({fetchFun:Pe,params:f.value}),b=u(!1),D=u("add"),L=u(),N=u(!1),d=u({id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""}),ne={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"}]},ie=()=>{D.value="add",b.value=!0},de=n=>{D.value="edit",d.value={id:n.id,name:n.name,phone:n.phone,id_card:n.id_card,age:n.age,gender:n.gender,status:n.status,remark:n.remark},b.value=!0},se=()=>{var n;d.value={id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""},(n=L.value)==null||n.resetFields()},re=async()=>{var n;await((n=L.value)==null?void 0:n.validate()),N.value=!0;try{D.value==="add"?await ze(d.value):await Ae(d.value),b.value=!1,C()}catch{}finally{N.value=!1}},ue=async n=>{await ee.confirm("确定要删除该粉丝吗?");try{await Ie({id:n}),C()}catch{}},E=u(!1),R=u(null),y=u([]),q=u(!1),A=u(0),c=u(1),me={1:"",2:"success",3:"info",4:"warning",5:"danger"},pe=n=>{R.value=n,E.value=!0,c.value=1,y.value=[],U()},U=async()=>{q.value=!0;try{const n=await je({fan_id:R.value.id,page_no:c.value,page_size:15});c.value===1?y.value=n.lists||[]:y.value=[...y.value,...n.lists||[]],A.value=n.count||0}catch(n){console.error("获取回访记录失败:",n)}finally{q.value=!1}},fe=()=>{c.value++,U()},V=u(!1),F=u("add"),S=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:le().format("YYYY-MM-DD HH:mm:ss"),content:"",result:"",next_visit_time:""},V.value=!0},ge=n=>{F.value="edit",m.value={id:n.id,fan_id:n.fan_id,visit_type:n.visit_type,visit_time:n.visit_time_text||"",content:n.content||"",result:n.result||"",next_visit_time:n.next_visit_time_text||""},V.value=!0},be=()=>{var n;m.value={id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""},(n=S.value)==null||n.resetFields()},Ve=async()=>{var n;await((n=S.value)==null?void 0:n.validate()),B.value=!0;try{F.value==="add"?await Oe(m.value):await Ge(m.value),V.value=!1,c.value=1,U()}catch{}finally{B.value=!1}},ye=async n=>{await ee.confirm("确定要删除该回访记录吗?");try{await Je({id:n}),c.value=1,U()}catch{}};return C(),(n,e)=>{var Q;const _=De,r=Ce,v=Re,K=Ee,p=Ue,P=xe,I=Fe,s=$e,Y=Me,j=Ye,ce=Ke,ke=Te,$=Le,O=He,G=Ne,we=Se,J=Be,X=he;return g(),z("div",Qe,[l(I,{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:W(o(H),["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:W(o(H),["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(H)},{default:t(()=>[...e[22]||(e[22]=[i("查询",-1)])]),_:1},8,["onClick"]),l(p,{onClick:o(oe)},{default:t(()=>[...e[23]||(e[23]=[i("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),l(I,{class:"!border-none mt-4",shadow:"never"},{default:t(()=>[w("div",We,[l(p,{type:"primary",onClick:ie},{default:t(()=>[...e[24]||(e[24]=[i("新增粉丝",-1)])]),_:1})]),Z((g(),x(j,{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,h(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(()=>[i(h(a.visit_count),1)]),_:2},1024)):(g(),z("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]=[i("启用",-1)])]),_:1})):(g(),x(Y,{key:1,type:"danger"},{default:t(()=>[...e[26]||(e[26]=[i("禁用",-1)])]),_:1}))]),_:1}),l(s,{label:"创建时间","min-width":"170"},{default:t(({row:a})=>[w("span",null,h(ae(a.create_time)),1)]),_:1}),l(s,{label:"操作",width:"220",fixed:"right"},{default:t(({row:a})=>[l(p,{type:"primary",link:"",onClick:M=>de(a)},{default:t(()=>[...e[27]||(e[27]=[i("编辑",-1)])]),_:1},8,["onClick"]),l(p,{type:"success",link:"",onClick:M=>pe(a)},{default:t(()=>[...e[28]||(e[28]=[i("回访记录",-1)])]),_:1},8,["onClick"]),l(p,{type:"danger",link:"",onClick:M=>ue(a.id)},{default:t(()=>[...e[29]||(e[29]=[i("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[X,o(k).loading]]),w("div",el,[l(ce,{modelValue:o(k),"onUpdate:modelValue":e[4]||(e[4]=a=>T(k)?k.value=a:null),onChange:o(C)},null,8,["modelValue","onChange"])])]),_:1}),l(G,{modelValue:o(b),"onUpdate:modelValue":e[13]||(e[13]=a=>T(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]=[i("取消",-1)])]),_:1}),l(p,{type:"primary",loading:o(N),onClick:re},{default:t(()=>[...e[35]||(e[35]=[i("确定",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(P,{ref_key:"fanFormRef",ref:L,model:o(d),rules:ne,"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]=[i("男",-1)])]),_:1}),l($,{label:2},{default:t(()=>[...e[31]||(e[31]=[i("女",-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]=[i("启用",-1)])]),_:1}),l($,{label:0},{default:t(()=>[...e[33]||(e[33]=[i("禁用",-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=>T(E)?E.value=a:null),title:`回访记录 - ${((Q=o(R))==null?void 0:Q.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]=[i("新增回访记录",-1)])]),_:1})]),Z((g(),x(j,{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(()=>[i(h(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:M=>ge(a)},{default:t(()=>[...e[37]||(e[37]=[i("编辑",-1)])]),_:1},8,["onClick"]),l(p,{type:"danger",link:"",onClick:M=>ye(a.id)},{default:t(()=>[...e[38]||(e[38]=[i("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[X,o(q)]]),o(A)>o(y).length?(g(),z("div",tl,[l(p,{link:"",type:"primary",onClick:fe},{default:t(()=>[...e[39]||(e[39]=[i("加载更多",-1)])]),_:1})])):qe("",!0)]),_:1},8,["modelValue","title"]),l(G,{modelValue:o(V),"onUpdate:modelValue":e[21]||(e[21]=a=>T(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]=[i("取消",-1)])]),_:1}),l(p,{type:"primary",loading:o(B),onClick:Ve},{default:t(()=>[...e[41]||(e[41]=[i("确定",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(P,{ref_key:"visitFormRef",ref:S,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{ml as default}; +import{o as te,q as g,r as z,v as l,D as t,b9 as xe,u as o,b6 as Ce,b7 as De,b8 as W,bm as Ee,bn as Re,K as Ue,L as i,bg as Fe,s as w,ac as Z,O as x,bj as Ye,bk as $e,T as h,br as Me,bi as he,C as T,J as Te,bc as He,bf as Le,bt as Ne,P as qe,B as Se,bp as Be,M as u}from"./.pnpm-9dA1PEvN.js";import{_ as Ke}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{f as Pe,a as ze,b as Ae,h as Ie,g as je,c as Oe,d as Ge,e as Je}from"./fans-BTjxVOhr.js";import{u as Xe}from"./usePaging-Boz1Q6w3.js";import{i as ee}from"./index-BWzN7QIb.js";import{d as le}from"./dayjs-BsOAYQJw.js";const Qe={class:"fans-management"},We={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"}),ml=te({...al,setup(ol){const ae=n=>{if(!n)return"-";const e=String(n).length===10?Number(n)*1e3:Number(n);return le(e).format("YYYY-MM-DD HH:mm:ss")},f=u({name:"",phone:"",gender:"",status:""}),{pager:k,getLists:C,resetParams:oe,resetPage:H}=Xe({fetchFun:Pe,params:f.value}),b=u(!1),D=u("add"),L=u(),N=u(!1),d=u({id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""}),ne={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"}]},ie=()=>{D.value="add",b.value=!0},de=n=>{D.value="edit",d.value={id:n.id,name:n.name,phone:n.phone,id_card:n.id_card,age:n.age,gender:n.gender,status:n.status,remark:n.remark},b.value=!0},se=()=>{var n;d.value={id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""},(n=L.value)==null||n.resetFields()},re=async()=>{var n;await((n=L.value)==null?void 0:n.validate()),N.value=!0;try{D.value==="add"?await ze(d.value):await Ae(d.value),b.value=!1,C()}catch{}finally{N.value=!1}},ue=async n=>{await ee.confirm("确定要删除该粉丝吗?");try{await Ie({id:n}),C()}catch{}},E=u(!1),R=u(null),y=u([]),q=u(!1),A=u(0),c=u(1),me={1:"",2:"success",3:"info",4:"warning",5:"danger"},pe=n=>{R.value=n,E.value=!0,c.value=1,y.value=[],U()},U=async()=>{q.value=!0;try{const n=await je({fan_id:R.value.id,page_no:c.value,page_size:15});c.value===1?y.value=n.lists||[]:y.value=[...y.value,...n.lists||[]],A.value=n.count||0}catch(n){console.error("获取回访记录失败:",n)}finally{q.value=!1}},fe=()=>{c.value++,U()},V=u(!1),F=u("add"),S=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:le().format("YYYY-MM-DD HH:mm:ss"),content:"",result:"",next_visit_time:""},V.value=!0},ge=n=>{F.value="edit",m.value={id:n.id,fan_id:n.fan_id,visit_type:n.visit_type,visit_time:n.visit_time_text||"",content:n.content||"",result:n.result||"",next_visit_time:n.next_visit_time_text||""},V.value=!0},be=()=>{var n;m.value={id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""},(n=S.value)==null||n.resetFields()},Ve=async()=>{var n;await((n=S.value)==null?void 0:n.validate()),B.value=!0;try{F.value==="add"?await Oe(m.value):await Ge(m.value),V.value=!1,c.value=1,U()}catch{}finally{B.value=!1}},ye=async n=>{await ee.confirm("确定要删除该回访记录吗?");try{await Je({id:n}),c.value=1,U()}catch{}};return C(),(n,e)=>{var Q;const _=De,r=Ce,v=Re,K=Ee,p=Ue,P=xe,I=Fe,s=$e,Y=Me,j=Ye,ce=Ke,ke=Te,$=Le,O=He,G=Ne,we=Se,J=Be,X=he;return g(),z("div",Qe,[l(I,{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:W(o(H),["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:W(o(H),["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(H)},{default:t(()=>[...e[22]||(e[22]=[i("查询",-1)])]),_:1},8,["onClick"]),l(p,{onClick:o(oe)},{default:t(()=>[...e[23]||(e[23]=[i("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),l(I,{class:"!border-none mt-4",shadow:"never"},{default:t(()=>[w("div",We,[l(p,{type:"primary",onClick:ie},{default:t(()=>[...e[24]||(e[24]=[i("新增粉丝",-1)])]),_:1})]),Z((g(),x(j,{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,h(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(()=>[i(h(a.visit_count),1)]),_:2},1024)):(g(),z("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]=[i("启用",-1)])]),_:1})):(g(),x(Y,{key:1,type:"danger"},{default:t(()=>[...e[26]||(e[26]=[i("禁用",-1)])]),_:1}))]),_:1}),l(s,{label:"创建时间","min-width":"170"},{default:t(({row:a})=>[w("span",null,h(ae(a.create_time)),1)]),_:1}),l(s,{label:"操作",width:"220",fixed:"right"},{default:t(({row:a})=>[l(p,{type:"primary",link:"",onClick:M=>de(a)},{default:t(()=>[...e[27]||(e[27]=[i("编辑",-1)])]),_:1},8,["onClick"]),l(p,{type:"success",link:"",onClick:M=>pe(a)},{default:t(()=>[...e[28]||(e[28]=[i("回访记录",-1)])]),_:1},8,["onClick"]),l(p,{type:"danger",link:"",onClick:M=>ue(a.id)},{default:t(()=>[...e[29]||(e[29]=[i("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[X,o(k).loading]]),w("div",el,[l(ce,{modelValue:o(k),"onUpdate:modelValue":e[4]||(e[4]=a=>T(k)?k.value=a:null),onChange:o(C)},null,8,["modelValue","onChange"])])]),_:1}),l(G,{modelValue:o(b),"onUpdate:modelValue":e[13]||(e[13]=a=>T(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]=[i("取消",-1)])]),_:1}),l(p,{type:"primary",loading:o(N),onClick:re},{default:t(()=>[...e[35]||(e[35]=[i("确定",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(P,{ref_key:"fanFormRef",ref:L,model:o(d),rules:ne,"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]=[i("男",-1)])]),_:1}),l($,{label:2},{default:t(()=>[...e[31]||(e[31]=[i("女",-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]=[i("启用",-1)])]),_:1}),l($,{label:0},{default:t(()=>[...e[33]||(e[33]=[i("禁用",-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=>T(E)?E.value=a:null),title:`回访记录 - ${((Q=o(R))==null?void 0:Q.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]=[i("新增回访记录",-1)])]),_:1})]),Z((g(),x(j,{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(()=>[i(h(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:M=>ge(a)},{default:t(()=>[...e[37]||(e[37]=[i("编辑",-1)])]),_:1},8,["onClick"]),l(p,{type:"danger",link:"",onClick:M=>ye(a.id)},{default:t(()=>[...e[38]||(e[38]=[i("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[X,o(q)]]),o(A)>o(y).length?(g(),z("div",tl,[l(p,{link:"",type:"primary",onClick:fe},{default:t(()=>[...e[39]||(e[39]=[i("加载更多",-1)])]),_:1})])):qe("",!0)]),_:1},8,["modelValue","title"]),l(G,{modelValue:o(V),"onUpdate:modelValue":e[21]||(e[21]=a=>T(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]=[i("取消",-1)])]),_:1}),l(p,{type:"primary",loading:o(B),onClick:Ve},{default:t(()=>[...e[41]||(e[41]=[i("确定",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(P,{ref_key:"visitFormRef",ref:S,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{ml as default}; diff --git a/server/public/admin/assets/index-Bd-eljjD.js b/server/public/admin/assets/index-DJergT_1.js similarity index 99% rename from server/public/admin/assets/index-Bd-eljjD.js rename to server/public/admin/assets/index-DJergT_1.js index fdd4f418..92057e8e 100644 --- a/server/public/admin/assets/index-Bd-eljjD.js +++ b/server/public/admin/assets/index-DJergT_1.js @@ -1 +1 @@ -import{o as ie,ap as fe,be as ye,q as d,r as k,s as l,ac as N,O as $,D as n,L as v,u as L,by as be,K as we,P as te,bi as ke,T as s,ae as xe,v as i,b6 as Ce,b7 as Me,b8 as ne,bA as A,bm as Ve,bn as Le,aw as Se,b9 as Te,bk as ze,br as Ee,F as M,bI as Ne,cR as $e,bj as he,bs as Ue,G as Be,bt as De,M as p,ba as Ie,e as Pe}from"./.pnpm-9dA1PEvN.js";import{r as S,i as qe,_ as Fe}from"./index-CJvXnF8Y.js";function G(){let u=0;return{next(m){u+=1;const T=Array.isArray(m)?[...m]:m&&typeof m=="object"?{...m}:m;return Object.freeze({generation:u,snapshot:T})},invalidate(){return u+=1,u},isLatest(m){return(m==null?void 0:m.generation)===u}}}function Re(u){return S.get({url:"/pharmacy.medicineMapping/lists",params:u})}function Oe(){return S.get({url:"/pharmacy.medicineMapping/status"})}function je(u){return S.get({url:"/pharmacy.medicineMapping/catalogOptions",params:u})}function Ke(u){return S.post({url:"/pharmacy.medicineMapping/save",params:u})}function Ae(u){return S.post({url:"/pharmacy.medicineMapping/unlink",params:u})}function Ge(){return S.post({url:"/pharmacy.medicineMapping/sync"})}const He={class:"mapping-page"},Je={class:"page-header"},Qe={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"},la={class:"subline"},ta={class:"medicine-name"},na={class:"subline code"},ia={class:"subline"},sa={class:"subline"},oa={class:"pagination-wrap"},ua={class:"local-summary"},da={class:"option-row"},ra=ie({name:"pharmacyMedicineMapping"}),ca=ie({...ra,setup(u){const m=()=>({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}),T=p(!1),I=p(!1),P=p(!1),q=p(!1),F=p(!1),H=p([]),J=p(0),r=p(m()),o=Ie({page_no:1,page_size:20,local_name:"",remote_keyword:"",mapping_status:""}),z=p(!1),g=p(null),b=p(""),h=p([]);let E;const R=G(),V=G(),O=G(),Q=t=>{const e=Number(t||0);return Number.isFinite(e)?e.toFixed(2):"0.00"},W=t=>t?new Date(t*1e3).toLocaleString("zh-CN",{hour12:!1}):"",se=t=>t===1?"已映射":t===2?"远端失效":"未映射",oe=t=>t===1?"success":t===2?"warning":"info",C=async()=>{const t=R.next({...o});T.value=!0;try{const e=await Re(t.snapshot);R.isLatest(t)&&(H.value=e.lists||[],J.value=e.count||0)}finally{R.isLatest(t)&&(T.value=!1)}},U=async()=>{const t=O.next(void 0);I.value=!0;try{const e=await Oe();O.isLatest(t)&&(r.value=e)}finally{O.isLatest(t)&&(I.value=!1)}},B=()=>{o.page_no=1,C()},ue=()=>{o.local_name="",o.remote_keyword="",o.mapping_status="",B()},de=async()=>{P.value=!0;try{const t=await Ge();qe.msgSuccess(`同步完成:拉取 ${t.pulled},新增 ${t.created},更新 ${t.updated},停用 ${t.deactivated}`),await Promise.all([C(),U()])}finally{P.value=!1}},j=async(t,e=Number((c=>(c=g.value)==null?void 0:c.local_medicine_id)()||0))=>{var _;const f=V.next({keyword:t.trim(),localMedicineId:e});F.value=!0;try{const x=await je({keyword:f.snapshot.keyword,limit:30});V.isLatest(f)&&Number(((_=g.value)==null?void 0:_.local_medicine_id)||0)===f.snapshot.localMedicineId&&(h.value=x)}finally{V.isLatest(f)&&(F.value=!1)}return f},re=t=>{E&&window.clearTimeout(E),V.invalidate(),E=window.setTimeout(()=>void j(t),250)},ce=async t=>{var _;E&&window.clearTimeout(E),V.invalidate();const e={...t},c=Number(e.local_medicine_id);g.value=e,b.value=e.mapping_status===1&&e.medicine_code||"",h.value=[],z.value=!0;const f=await j(e.local_name,c);!V.isLatest(f)||Number(((_=g.value)==null?void 0:_.local_medicine_id)||0)!==c||b.value&&!h.value.some(x=>x.medicine_code===b.value)&&await j(b.value,c)},me=async()=>{if(!(!g.value||!b.value)){q.value=!0;try{await Ke({local_medicine_id:g.value.local_medicine_id,medicine_code:b.value}),z.value=!1,await Promise.all([C(),U()])}finally{q.value=!1}}},pe=async t=>{await Pe.confirm(`确认解除“${t.local_name}”与 ${t.medicine_code} 的映射?`,"解除映射",{type:"warning",confirmButtonText:"解除",cancelButtonText:"取消"}),await Ae({local_medicine_id:t.local_medicine_id}),await Promise.all([C(),U()])};return fe(()=>{Promise.all([C(),U()])}),(t,e)=>{var ae;const c=we,f=Me,_=Ce,x=Le,X=Ve,Y=Te,w=ze,Z=Ee,_e=he,ve=Ue,ge=De,K=ye("perms"),ee=ke;return d(),k("div",He,[l("header",Je,[e[10]||(e[10]=l("h1",null,"洛阳药房药材映射",-1)),r.value.sync_enabled?N((d(),$(c,{key:0,type:"primary",icon:L(be),loading:P.value,onClick:de},{default:n(()=>[...e[9]||(e[9]=[v(" 增量同步 ",-1)])]),_:1},8,["icon","loading"])),[[K,["pharmacy.medicineMapping/sync"]]]):te("",!0)]),N((d(),k("section",Qe,[l("div",We,[e[11]||(e[11]=l("span",null,"目录",-1)),l("strong",null,s(r.value.catalog_active)+" / "+s(r.value.catalog_total),1),e[12]||(e[12]=l("small",null,"启用 / 总数",-1))]),l("div",Xe,[e[13]||(e[13]=l("span",null,"未映射本地药材",-1)),l("strong",null,s(r.value.unmapped_local),1),e[14]||(e[14]=l("small",null,"仅统计启用药材",-1))]),l("div",Ye,[e[15]||(e[15]=l("span",null,"同步游标",-1)),l("strong",null,s(r.value.cursor),1),l("small",null,s(W(r.value.last_success_time)||"尚未成功同步"),1)]),l("div",{class:xe(["status-item",{danger:!!r.value.last_error_summary}])},[e[16]||(e[16]=l("span",null,"最近同步",-1)),l("strong",null,s(r.value.is_syncing?"进行中":r.value.last_error_summary?"失败":"正常"),1),l("small",{title:r.value.last_error_summary},s(r.value.last_error_summary||W(r.value.last_failure_time)||"无失败记录"),9,Ze)],2)])),[[ee,I.value]]),i(Y,{class:"filter-bar",inline:"",onSubmit:e[3]||(e[3]=Se(()=>{},["prevent"]))},{default:n(()=>[i(_,{label:"本地药材"},{default:n(()=>[i(f,{modelValue:o.local_name,"onUpdate:modelValue":e[0]||(e[0]=a=>o.local_name=a),clearable:"",placeholder:"名称","prefix-icon":L(A),onKeyup:ne(B,["enter"])},null,8,["modelValue","prefix-icon"])]),_:1}),i(_,{label:"远端目录"},{default:n(()=>[i(f,{modelValue:o.remote_keyword,"onUpdate:modelValue":e[1]||(e[1]=a=>o.remote_keyword=a),clearable:"",placeholder:"名称或编码","prefix-icon":L(A),onKeyup:ne(B,["enter"])},null,8,["modelValue","prefix-icon"])]),_:1}),i(_,{label:"映射状态"},{default:n(()=>[i(X,{modelValue:o.mapping_status,"onUpdate:modelValue":e[2]||(e[2]=a=>o.mapping_status=a),clearable:"",placeholder:"全部",style:{width:"150px"}},{default:n(()=>[i(x,{label:"已映射",value:"mapped"}),i(x,{label:"未映射",value:"unmapped"}),i(x,{label:"远端失效",value:"invalid"})]),_:1},8,["modelValue"])]),_:1}),i(_,null,{default:n(()=>[i(c,{type:"primary",icon:L(A),onClick:B},{default:n(()=>[...e[17]||(e[17]=[v("查询",-1)])]),_:1},8,["icon"]),i(c,{onClick:ue},{default:n(()=>[...e[18]||(e[18]=[v("重置",-1)])]),_:1})]),_:1})]),_:1}),l("div",ea,[N((d(),$(_e,{data:H.value,border:"",stripe:"","table-layout":"fixed"},{default:n(()=>[i(w,{label:"本地药材","min-width":"190",fixed:"left"},{default:n(({row:a})=>[l("div",aa,s(a.local_name),1),l("div",la," ID "+s(a.local_medicine_id)+" · "+s(a.local_unit||"-"),1)]),_:1}),i(w,{label:"本地状态",width:"90",align:"center"},{default:n(({row:a})=>[i(Z,{type:a.local_status===1?"success":"info",size:"small"},{default:n(()=>[v(s(a.local_status===1?"启用":"停用"),1)]),_:2},1032,["type"])]),_:1}),i(w,{label:"映射状态",width:"105",align:"center"},{default:n(({row:a})=>[i(Z,{type:oe(a.mapping_status),size:"small"},{default:n(()=>[v(s(se(a.mapping_status)),1)]),_:2},1032,["type"])]),_:1}),i(w,{label:"洛阳药房目录","min-width":"250"},{default:n(({row:a})=>[a.medicine_code?(d(),k(M,{key:0},[l("div",ta,s(a.remote_name||"目录项不可用"),1),l("div",na,s(a.medicine_code),1)],64)):(d(),k(M,{key:1},[e[19]||(e[19]=l("div",{class:"medicine-name"},"-",-1)),e[20]||(e[20]=l("div",{class:"subline"},"未映射",-1))],64))]),_:1}),i(w,{label:"品牌","min-width":"130","show-overflow-tooltip":""},{default:n(({row:a})=>[v(s(a.mapping_status===0?"-":a.remote_brand||"-"),1)]),_:1}),i(w,{label:"单位",width:"80",align:"center"},{default:n(({row:a})=>[v(s(a.remote_unit||"-"),1)]),_:1}),i(w,{label:"价格",width:"155",align:"right"},{default:n(({row:a})=>[a.mapping_status!==0?(d(),k(M,{key:0},[l("div",null,"结算 ¥"+s(Q(a.settlement_price)),1),l("div",ia,"零售 ¥"+s(Q(a.retail_price)),1)],64)):(d(),k(M,{key:1},[e[21]||(e[21]=l("div",null,"-",-1)),e[22]||(e[22]=l("div",{class:"subline"},"未映射",-1))],64))]),_:1}),i(w,{label:"版本 / 状态",width:"130",align:"center"},{default:n(({row:a})=>[a.medicine_code?(d(),k(M,{key:0},[l("div",null,"v"+s(a.catalog_version||0),1),l("div",sa,s(a.remote_status===1&&a.remote_deleted!==1?"远端启用":"远端停用"),1)],64)):(d(),k(M,{key:1},[e[23]||(e[23]=l("div",null,"-",-1)),e[24]||(e[24]=l("div",{class:"subline"},"未映射",-1))],64))]),_:1}),i(w,{label:"操作",width:"170",fixed:"right",align:"center"},{default:n(({row:a})=>[N((d(),$(c,{type:"primary",link:"",icon:L(Ne),disabled:a.local_status!==1,onClick:D=>ce(a)},{default:n(()=>[v(s(a.mapping_status===1?"更换":"映射"),1)]),_:2},1032,["icon","disabled","onClick"])),[[K,["pharmacy.medicineMapping/save"]]]),a.mapping_status===1||a.mapping_status===2?N((d(),$(c,{key:0,type:"danger",link:"",icon:L($e),onClick:D=>pe(a)},{default:n(()=>[...e[25]||(e[25]=[v(" 解除 ",-1)])]),_:1},8,["icon","onClick"])),[[K,["pharmacy.medicineMapping/unlink"]]]):te("",!0)]),_:1})]),_:1},8,["data"])),[[ee,T.value]])]),l("div",oa,[i(ve,{"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:J.value,"page-sizes":[20,50,100],layout:"total, sizes, prev, pager, next, jumper",onSizeChange:C,onCurrentChange:C},null,8,["current-page","page-size","total"])]),i(ge,{modelValue:z.value,"onUpdate:modelValue":e[8]||(e[8]=a=>z.value=a),title:`${((ae=g.value)==null?void 0:ae.mapping_status)===1?"更换":"建立"}药材映射`,width:"min(560px, calc(100vw - 32px))","destroy-on-close":""},{footer:n(()=>[i(c,{onClick:e[7]||(e[7]=a=>z.value=!1)},{default:n(()=>[...e[27]||(e[27]=[v("取消",-1)])]),_:1}),i(c,{type:"primary",loading:q.value,disabled:!b.value,onClick:me},{default:n(()=>[...e[28]||(e[28]=[v(" 保存映射 ",-1)])]),_:1},8,["loading","disabled"])]),default:n(()=>{var a,D,le;return[l("div",ua,[e[26]||(e[26]=l("span",null,"本地药材",-1)),l("strong",null,s((a=g.value)==null?void 0:a.local_name),1),l("small",null,"ID "+s((D=g.value)==null?void 0:D.local_medicine_id)+" · "+s(((le=g.value)==null?void 0:le.local_unit)||"-"),1)]),i(Y,{"label-position":"top",class:"mapping-form"},{default:n(()=>[i(_,{label:"洛阳药房药材"},{default:n(()=>[i(X,{modelValue:b.value,"onUpdate:modelValue":e[6]||(e[6]=y=>b.value=y),filterable:"",remote:"","reserve-keyword":"",clearable:"","remote-method":re,loading:F.value,placeholder:"输入药材名称或编码检索",style:{width:"100%"}},{default:n(()=>[(d(!0),k(M,null,Be(h.value,y=>(d(),$(x,{key:y.medicine_code,label:`${y.name} · ${y.medicine_code}`,value:y.medicine_code},{default:n(()=>[l("div",da,[l("span",null,s(y.name),1),l("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"])])}}}),_a=Fe(ca,[["__scopeId","data-v-1b7afda4"]]);export{_a as default}; +import{o as ie,ap as fe,be as ye,q as d,r as k,s as l,ac as N,O as $,D as n,L as v,u as L,by as be,K as we,P as te,bi as ke,T as s,ae as xe,v as i,b6 as Ce,b7 as Me,b8 as ne,bA as A,bm as Ve,bn as Le,aw as Se,b9 as Te,bk as ze,br as Ee,F as M,bI as Ne,cR as $e,bj as he,bs as Ue,G as Be,bt as De,M as p,ba as Ie,e as Pe}from"./.pnpm-9dA1PEvN.js";import{r as S,i as qe,_ as Fe}from"./index-BWzN7QIb.js";function G(){let u=0;return{next(m){u+=1;const T=Array.isArray(m)?[...m]:m&&typeof m=="object"?{...m}:m;return Object.freeze({generation:u,snapshot:T})},invalidate(){return u+=1,u},isLatest(m){return(m==null?void 0:m.generation)===u}}}function Re(u){return S.get({url:"/pharmacy.medicineMapping/lists",params:u})}function Oe(){return S.get({url:"/pharmacy.medicineMapping/status"})}function je(u){return S.get({url:"/pharmacy.medicineMapping/catalogOptions",params:u})}function Ke(u){return S.post({url:"/pharmacy.medicineMapping/save",params:u})}function Ae(u){return S.post({url:"/pharmacy.medicineMapping/unlink",params:u})}function Ge(){return S.post({url:"/pharmacy.medicineMapping/sync"})}const He={class:"mapping-page"},Je={class:"page-header"},Qe={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"},la={class:"subline"},ta={class:"medicine-name"},na={class:"subline code"},ia={class:"subline"},sa={class:"subline"},oa={class:"pagination-wrap"},ua={class:"local-summary"},da={class:"option-row"},ra=ie({name:"pharmacyMedicineMapping"}),ca=ie({...ra,setup(u){const m=()=>({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}),T=p(!1),I=p(!1),P=p(!1),q=p(!1),F=p(!1),H=p([]),J=p(0),r=p(m()),o=Ie({page_no:1,page_size:20,local_name:"",remote_keyword:"",mapping_status:""}),z=p(!1),g=p(null),b=p(""),h=p([]);let E;const R=G(),V=G(),O=G(),Q=t=>{const e=Number(t||0);return Number.isFinite(e)?e.toFixed(2):"0.00"},W=t=>t?new Date(t*1e3).toLocaleString("zh-CN",{hour12:!1}):"",se=t=>t===1?"已映射":t===2?"远端失效":"未映射",oe=t=>t===1?"success":t===2?"warning":"info",C=async()=>{const t=R.next({...o});T.value=!0;try{const e=await Re(t.snapshot);R.isLatest(t)&&(H.value=e.lists||[],J.value=e.count||0)}finally{R.isLatest(t)&&(T.value=!1)}},U=async()=>{const t=O.next(void 0);I.value=!0;try{const e=await Oe();O.isLatest(t)&&(r.value=e)}finally{O.isLatest(t)&&(I.value=!1)}},B=()=>{o.page_no=1,C()},ue=()=>{o.local_name="",o.remote_keyword="",o.mapping_status="",B()},de=async()=>{P.value=!0;try{const t=await Ge();qe.msgSuccess(`同步完成:拉取 ${t.pulled},新增 ${t.created},更新 ${t.updated},停用 ${t.deactivated}`),await Promise.all([C(),U()])}finally{P.value=!1}},j=async(t,e=Number((c=>(c=g.value)==null?void 0:c.local_medicine_id)()||0))=>{var _;const f=V.next({keyword:t.trim(),localMedicineId:e});F.value=!0;try{const x=await je({keyword:f.snapshot.keyword,limit:30});V.isLatest(f)&&Number(((_=g.value)==null?void 0:_.local_medicine_id)||0)===f.snapshot.localMedicineId&&(h.value=x)}finally{V.isLatest(f)&&(F.value=!1)}return f},re=t=>{E&&window.clearTimeout(E),V.invalidate(),E=window.setTimeout(()=>void j(t),250)},ce=async t=>{var _;E&&window.clearTimeout(E),V.invalidate();const e={...t},c=Number(e.local_medicine_id);g.value=e,b.value=e.mapping_status===1&&e.medicine_code||"",h.value=[],z.value=!0;const f=await j(e.local_name,c);!V.isLatest(f)||Number(((_=g.value)==null?void 0:_.local_medicine_id)||0)!==c||b.value&&!h.value.some(x=>x.medicine_code===b.value)&&await j(b.value,c)},me=async()=>{if(!(!g.value||!b.value)){q.value=!0;try{await Ke({local_medicine_id:g.value.local_medicine_id,medicine_code:b.value}),z.value=!1,await Promise.all([C(),U()])}finally{q.value=!1}}},pe=async t=>{await Pe.confirm(`确认解除“${t.local_name}”与 ${t.medicine_code} 的映射?`,"解除映射",{type:"warning",confirmButtonText:"解除",cancelButtonText:"取消"}),await Ae({local_medicine_id:t.local_medicine_id}),await Promise.all([C(),U()])};return fe(()=>{Promise.all([C(),U()])}),(t,e)=>{var ae;const c=we,f=Me,_=Ce,x=Le,X=Ve,Y=Te,w=ze,Z=Ee,_e=he,ve=Ue,ge=De,K=ye("perms"),ee=ke;return d(),k("div",He,[l("header",Je,[e[10]||(e[10]=l("h1",null,"洛阳药房药材映射",-1)),r.value.sync_enabled?N((d(),$(c,{key:0,type:"primary",icon:L(be),loading:P.value,onClick:de},{default:n(()=>[...e[9]||(e[9]=[v(" 增量同步 ",-1)])]),_:1},8,["icon","loading"])),[[K,["pharmacy.medicineMapping/sync"]]]):te("",!0)]),N((d(),k("section",Qe,[l("div",We,[e[11]||(e[11]=l("span",null,"目录",-1)),l("strong",null,s(r.value.catalog_active)+" / "+s(r.value.catalog_total),1),e[12]||(e[12]=l("small",null,"启用 / 总数",-1))]),l("div",Xe,[e[13]||(e[13]=l("span",null,"未映射本地药材",-1)),l("strong",null,s(r.value.unmapped_local),1),e[14]||(e[14]=l("small",null,"仅统计启用药材",-1))]),l("div",Ye,[e[15]||(e[15]=l("span",null,"同步游标",-1)),l("strong",null,s(r.value.cursor),1),l("small",null,s(W(r.value.last_success_time)||"尚未成功同步"),1)]),l("div",{class:xe(["status-item",{danger:!!r.value.last_error_summary}])},[e[16]||(e[16]=l("span",null,"最近同步",-1)),l("strong",null,s(r.value.is_syncing?"进行中":r.value.last_error_summary?"失败":"正常"),1),l("small",{title:r.value.last_error_summary},s(r.value.last_error_summary||W(r.value.last_failure_time)||"无失败记录"),9,Ze)],2)])),[[ee,I.value]]),i(Y,{class:"filter-bar",inline:"",onSubmit:e[3]||(e[3]=Se(()=>{},["prevent"]))},{default:n(()=>[i(_,{label:"本地药材"},{default:n(()=>[i(f,{modelValue:o.local_name,"onUpdate:modelValue":e[0]||(e[0]=a=>o.local_name=a),clearable:"",placeholder:"名称","prefix-icon":L(A),onKeyup:ne(B,["enter"])},null,8,["modelValue","prefix-icon"])]),_:1}),i(_,{label:"远端目录"},{default:n(()=>[i(f,{modelValue:o.remote_keyword,"onUpdate:modelValue":e[1]||(e[1]=a=>o.remote_keyword=a),clearable:"",placeholder:"名称或编码","prefix-icon":L(A),onKeyup:ne(B,["enter"])},null,8,["modelValue","prefix-icon"])]),_:1}),i(_,{label:"映射状态"},{default:n(()=>[i(X,{modelValue:o.mapping_status,"onUpdate:modelValue":e[2]||(e[2]=a=>o.mapping_status=a),clearable:"",placeholder:"全部",style:{width:"150px"}},{default:n(()=>[i(x,{label:"已映射",value:"mapped"}),i(x,{label:"未映射",value:"unmapped"}),i(x,{label:"远端失效",value:"invalid"})]),_:1},8,["modelValue"])]),_:1}),i(_,null,{default:n(()=>[i(c,{type:"primary",icon:L(A),onClick:B},{default:n(()=>[...e[17]||(e[17]=[v("查询",-1)])]),_:1},8,["icon"]),i(c,{onClick:ue},{default:n(()=>[...e[18]||(e[18]=[v("重置",-1)])]),_:1})]),_:1})]),_:1}),l("div",ea,[N((d(),$(_e,{data:H.value,border:"",stripe:"","table-layout":"fixed"},{default:n(()=>[i(w,{label:"本地药材","min-width":"190",fixed:"left"},{default:n(({row:a})=>[l("div",aa,s(a.local_name),1),l("div",la," ID "+s(a.local_medicine_id)+" · "+s(a.local_unit||"-"),1)]),_:1}),i(w,{label:"本地状态",width:"90",align:"center"},{default:n(({row:a})=>[i(Z,{type:a.local_status===1?"success":"info",size:"small"},{default:n(()=>[v(s(a.local_status===1?"启用":"停用"),1)]),_:2},1032,["type"])]),_:1}),i(w,{label:"映射状态",width:"105",align:"center"},{default:n(({row:a})=>[i(Z,{type:oe(a.mapping_status),size:"small"},{default:n(()=>[v(s(se(a.mapping_status)),1)]),_:2},1032,["type"])]),_:1}),i(w,{label:"洛阳药房目录","min-width":"250"},{default:n(({row:a})=>[a.medicine_code?(d(),k(M,{key:0},[l("div",ta,s(a.remote_name||"目录项不可用"),1),l("div",na,s(a.medicine_code),1)],64)):(d(),k(M,{key:1},[e[19]||(e[19]=l("div",{class:"medicine-name"},"-",-1)),e[20]||(e[20]=l("div",{class:"subline"},"未映射",-1))],64))]),_:1}),i(w,{label:"品牌","min-width":"130","show-overflow-tooltip":""},{default:n(({row:a})=>[v(s(a.mapping_status===0?"-":a.remote_brand||"-"),1)]),_:1}),i(w,{label:"单位",width:"80",align:"center"},{default:n(({row:a})=>[v(s(a.remote_unit||"-"),1)]),_:1}),i(w,{label:"价格",width:"155",align:"right"},{default:n(({row:a})=>[a.mapping_status!==0?(d(),k(M,{key:0},[l("div",null,"结算 ¥"+s(Q(a.settlement_price)),1),l("div",ia,"零售 ¥"+s(Q(a.retail_price)),1)],64)):(d(),k(M,{key:1},[e[21]||(e[21]=l("div",null,"-",-1)),e[22]||(e[22]=l("div",{class:"subline"},"未映射",-1))],64))]),_:1}),i(w,{label:"版本 / 状态",width:"130",align:"center"},{default:n(({row:a})=>[a.medicine_code?(d(),k(M,{key:0},[l("div",null,"v"+s(a.catalog_version||0),1),l("div",sa,s(a.remote_status===1&&a.remote_deleted!==1?"远端启用":"远端停用"),1)],64)):(d(),k(M,{key:1},[e[23]||(e[23]=l("div",null,"-",-1)),e[24]||(e[24]=l("div",{class:"subline"},"未映射",-1))],64))]),_:1}),i(w,{label:"操作",width:"170",fixed:"right",align:"center"},{default:n(({row:a})=>[N((d(),$(c,{type:"primary",link:"",icon:L(Ne),disabled:a.local_status!==1,onClick:D=>ce(a)},{default:n(()=>[v(s(a.mapping_status===1?"更换":"映射"),1)]),_:2},1032,["icon","disabled","onClick"])),[[K,["pharmacy.medicineMapping/save"]]]),a.mapping_status===1||a.mapping_status===2?N((d(),$(c,{key:0,type:"danger",link:"",icon:L($e),onClick:D=>pe(a)},{default:n(()=>[...e[25]||(e[25]=[v(" 解除 ",-1)])]),_:1},8,["icon","onClick"])),[[K,["pharmacy.medicineMapping/unlink"]]]):te("",!0)]),_:1})]),_:1},8,["data"])),[[ee,T.value]])]),l("div",oa,[i(ve,{"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:J.value,"page-sizes":[20,50,100],layout:"total, sizes, prev, pager, next, jumper",onSizeChange:C,onCurrentChange:C},null,8,["current-page","page-size","total"])]),i(ge,{modelValue:z.value,"onUpdate:modelValue":e[8]||(e[8]=a=>z.value=a),title:`${((ae=g.value)==null?void 0:ae.mapping_status)===1?"更换":"建立"}药材映射`,width:"min(560px, calc(100vw - 32px))","destroy-on-close":""},{footer:n(()=>[i(c,{onClick:e[7]||(e[7]=a=>z.value=!1)},{default:n(()=>[...e[27]||(e[27]=[v("取消",-1)])]),_:1}),i(c,{type:"primary",loading:q.value,disabled:!b.value,onClick:me},{default:n(()=>[...e[28]||(e[28]=[v(" 保存映射 ",-1)])]),_:1},8,["loading","disabled"])]),default:n(()=>{var a,D,le;return[l("div",ua,[e[26]||(e[26]=l("span",null,"本地药材",-1)),l("strong",null,s((a=g.value)==null?void 0:a.local_name),1),l("small",null,"ID "+s((D=g.value)==null?void 0:D.local_medicine_id)+" · "+s(((le=g.value)==null?void 0:le.local_unit)||"-"),1)]),i(Y,{"label-position":"top",class:"mapping-form"},{default:n(()=>[i(_,{label:"洛阳药房药材"},{default:n(()=>[i(X,{modelValue:b.value,"onUpdate:modelValue":e[6]||(e[6]=y=>b.value=y),filterable:"",remote:"","reserve-keyword":"",clearable:"","remote-method":re,loading:F.value,placeholder:"输入药材名称或编码检索",style:{width:"100%"}},{default:n(()=>[(d(!0),k(M,null,Be(h.value,y=>(d(),$(x,{key:y.medicine_code,label:`${y.name} · ${y.medicine_code}`,value:y.medicine_code},{default:n(()=>[l("div",da,[l("span",null,s(y.name),1),l("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"])])}}}),_a=Fe(ca,[["__scopeId","data-v-1b7afda4"]]);export{_a as default}; diff --git a/server/public/admin/assets/index-6J-B90Gl.js b/server/public/admin/assets/index-DUOmIy1t.js similarity index 98% rename from server/public/admin/assets/index-6J-B90Gl.js rename to server/public/admin/assets/index-DUOmIy1t.js index 42e5d306..b3e43cb4 100644 --- a/server/public/admin/assets/index-6J-B90Gl.js +++ b/server/public/admin/assets/index-DUOmIy1t.js @@ -1 +1 @@ -import{o as U,R as $,ap as J,be as Q,q as r,r as b,v as t,D as s,b9 as X,b6 as Z,bp as ee,bm as le,bn as ae,b7 as te,b8 as se,K as ne,L as u,s as c,bg as oe,ac as D,O as C,T as i,P as B,bj as ie,u as N,bk as de,br as re,F as M,bi as ue,C as ce,M as h,ba as _e}from"./.pnpm-9dA1PEvN.js";import{_ as me}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{s as be,t as pe}from"./stats-Cp2ee5KL.js";import{u as fe}from"./usePaging-Boz1Q6w3.js";import{i as L,_ as ge}from"./index-CJvXnF8Y.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"},Le=U({name:"statsAutoAssignLog"}),Se=U({...Le,setup(Ae){const y=h(null),v=h(null),x=h(),_=h([]),w=h(!1),n=_e({start_date:"",end_date:"",start_time:"",end_time:"",action:"",is_rollback:"",keyword:""});$(y,a=>{n.start_date=(a==null?void 0:a[0])??"",n.end_date=(a==null?void 0:a[1])??""}),$(v,a=>{n.start_time=(a==null?void 0:a[0])??"",n.end_time=(a==null?void 0:a[1])??""});const{pager:f,getLists:R,resetPage:F}=fe({fetchFun:be,params:n}),m=()=>{var a,l;_.value=[],(l=(a=x.value)==null?void 0:a.clearSelection)==null||l.call(a),F()},P=()=>{y.value=null,v.value=null,n.start_date="",n.end_date="",n.start_time="",n.end_time="",n.action="",n.is_rollback="",n.keyword="",m()},T=a=>a==null?"—":`${a}%`,z=a=>Number(a.can_rollback)===1,I=a=>{_.value=a.filter(l=>Number(l.can_rollback)===1)},S=async a=>{var l,g;if(a.length!==0){await L.confirm(`确认回退选中的 ${a.length} 条自动分配?将把诊单医助撤回到自动分配前的原医助,并写入指派日志。`),w.value=!0;try{const o=await pe({ids:a}),p=Number((o==null?void 0:o.success)??0),k=Number((o==null?void 0:o.failed)??0);k>0&&Array.isArray(o==null?void 0:o.messages)&&o.messages.length?L.msgWarning(`回退成功 ${p} 条,跳过/失败 ${k} 条:${o.messages.slice(0,3).join(";")}`):L.msgSuccess(`回退成功 ${p} 条`),_.value=[],(g=(l=x.value)==null?void 0:l.clearSelection)==null||g.call(l),await R()}finally{w.value=!1}}},j=()=>{const a=_.value.map(l=>Number(l.id)).filter(l=>l>0);return S(a)},K=a=>{const l=Number((a==null?void 0:a.id)??0);if(!(l<=0))return S([l])};return J(()=>R()),(a,l)=>{const g=ee,o=Z,p=ae,k=le,q=te,V=ne,H=X,A=oe,d=de,E=re,O=ie,W=me,Y=Q("perms"),G=ue;return r(),b("div",ke,[t(A,{class:"!border-none",shadow:"never"},{default:s(()=>[t(H,{inline:!0,class:"log-filter-form"},{default:s(()=>[t(o,{label:"记录时间"},{default:s(()=>[t(g,{modelValue:v.value,"onUpdate:modelValue":l[0]||(l[0]=e=>v.value=e),type:"datetimerange","range-separator":"至","start-placeholder":"开始时间","end-placeholder":"结束时间","value-format":"YYYY-MM-DD HH:mm:ss",clearable:"",onChange:m},null,8,["modelValue"])]),_:1}),t(o,{label:"执行日期"},{default:s(()=>[t(g,{modelValue:y.value,"onUpdate:modelValue":l[1]||(l[1]=e=>y.value=e),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",clearable:"",onChange:m},null,8,["modelValue"])]),_:1}),t(o,{label:"结果"},{default:s(()=>[t(k,{modelValue:n.action,"onUpdate:modelValue":l[2]||(l[2]=e=>n.action=e),clearable:"",placeholder:"全部",class:"w-[120px]",onChange:m},{default:s(()=>[t(p,{label:"已分配",value:"1"}),t(p,{label:"未分配",value:"0"})]),_:1},8,["modelValue"])]),_:1}),t(o,{label:"回退"},{default:s(()=>[t(k,{modelValue:n.is_rollback,"onUpdate:modelValue":l[3]||(l[3]=e=>n.is_rollback=e),clearable:"",placeholder:"全部",class:"w-[120px]",onChange:m},{default:s(()=>[t(p,{label:"未回退",value:"0"}),t(p,{label:"已回退",value:"1"})]),_:1},8,["modelValue"])]),_:1}),t(o,{label:"关键词"},{default:s(()=>[t(q,{modelValue:n.keyword,"onUpdate:modelValue":l[4]||(l[4]=e=>n.keyword=e),placeholder:"患者/手机号/医助/诊单ID",clearable:"",class:"w-[220px]",onKeyup:se(m,["enter"]),onClear:m},null,8,["modelValue"])]),_:1}),t(o,null,{default:s(()=>[t(V,{type:"primary",onClick:m},{default:s(()=>[...l[6]||(l[6]=[u("查询",-1)])]),_:1}),t(V,{onClick:P},{default:s(()=>[...l[7]||(l[7]=[u("重置",-1)])]),_:1})]),_:1})]),_:1}),l[8]||(l[8]=c("div",{class:"log-hint"}," 由每日定时任务「待分配诊单自动指派」写入:按上月二诊复诊接诊率分档轮询分配(>70% 每人3条/日,60%~70% 每人2条/日,50%~60% 每人1条/日,<50% 不分)。「回退」可将已分配医助撤回到自动分配前的原医助(通常为一中心),并写入指派日志。 ",-1))]),_:1}),t(A,{class:"!border-none mt-3",shadow:"never"},{default:s(()=>[c("div",he,[D((r(),C(V,{type:"warning",disabled:_.value.length===0,loading:w.value,onClick:j},{default:s(()=>[u(" 回退选中("+i(_.value.length)+") ",1)]),_:1},8,["disabled","loading"])),[[Y,["stats.autoAssignLog/rollback"]]]),_.value.length>0?(r(),b("span",ye," 已选 "+i(_.value.length)+" 条可回退记录 ",1)):B("",!0)]),D((r(),C(O,{ref_key:"tableRef",ref:x,data:N(f).lists,size:"default",stripe:"","row-key":"id",onSelectionChange:I},{default:s(()=>[t(d,{type:"selection",width:"48",selectable:z,"reserve-selection":""}),t(d,{label:"记录时间",width:"160"},{default:s(({row:e})=>[u(i(e.create_time_text||"—"),1)]),_:1}),t(d,{label:"诊单",width:"90",prop:"diagnosis_id"}),t(d,{label:"患者","min-width":"110"},{default:s(({row:e})=>[c("div",null,i(e.patient_name||"—"),1),c("div",ve,i(e.patient_phone||""),1)]),_:1}),t(d,{label:"结果",width:"90",align:"center"},{default:s(({row:e})=>[t(E,{type:Number(e.action)===1?"success":"info",size:"small"},{default:s(()=>[u(i(e.action_text),1)]),_:2},1032,["type"])]),_:1}),t(d,{label:"回退状态",width:"140"},{default:s(({row:e})=>[Number(e.is_rollback)===1?(r(),b(M,{key:0},[t(E,{type:"warning",size:"small"},{default:s(()=>[...l[9]||(l[9]=[u("已回退",-1)])]),_:1}),c("div",we,i(e.rollback_time_text),1),e.rollback_admin_name?(r(),b("div",Ve,i(e.rollback_admin_name),1)):B("",!0)],64)):Number(e.can_rollback)===1?(r(),C(E,{key:1,type:"success",size:"small"},{default:s(()=>[...l[10]||(l[10]=[u(" 可回退 ",-1)])]),_:1})):(r(),b("span",Ce,"—"))]),_:1}),t(d,{label:"医助","min-width":"110"},{default:s(({row:e})=>[Number(e.assistant_id)>0?(r(),b(M,{key:0},[c("div",null,i(e.assistant_name||"#"+e.assistant_id),1),c("div",Ne,"上月二诊接诊率 "+i(T(e.visit2_rate)),1)],64)):(r(),b("span",xe,"—"))]),_:1}),t(d,{label:"档位",width:"100",align:"center"},{default:s(({row:e})=>[u(i(e.tier_text||"—"),1)]),_:1}),t(d,{label:"轮次",width:"70",align:"center"},{default:s(({row:e})=>[u(i(Number(e.round_no)>0?"第"+e.round_no+"轮":"—"),1)]),_:1}),t(d,{label:"原因","min-width":"280","show-overflow-tooltip":""},{default:s(({row:e})=>[u(i(e.reason),1)]),_:1}),t(d,{label:"统计月",width:"90",prop:"stat_month",align:"center"}),t(d,{label:"批次",width:"160"},{default:s(({row:e})=>[c("span",Re,i(e.batch_no),1)]),_:1}),t(d,{label:"操作",width:"90",fixed:"right",align:"center"},{default:s(({row:e})=>[Number(e.can_rollback)===1?D((r(),C(V,{key:0,link:"",type:"warning",loading:w.value,onClick:Ye=>K(e)},{default:s(()=>[...l[11]||(l[11]=[u(" 回退 ",-1)])]),_:1},8,["loading","onClick"])),[[Y,["stats.autoAssignLog/rollback"]]]):(r(),b("span",Ee,"—"))]),_:1})]),_:1},8,["data"])),[[G,N(f).loading]]),c("div",De,[t(W,{modelValue:N(f),"onUpdate:modelValue":l[5]||(l[5]=e=>ce(f)?f.value=e:null),onChange:N(R)},null,8,["modelValue","onChange"])])]),_:1})])}}}),Pe=ge(Se,[["__scopeId","data-v-0a150f73"]]);export{Pe as default}; +import{o as U,R as $,ap as J,be as Q,q as r,r as b,v as t,D as s,b9 as X,b6 as Z,bp as ee,bm as le,bn as ae,b7 as te,b8 as se,K as ne,L as u,s as c,bg as oe,ac as D,O as C,T as i,P as B,bj as ie,u as N,bk as de,br as re,F as M,bi as ue,C as ce,M as h,ba as _e}from"./.pnpm-9dA1PEvN.js";import{_ as me}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{s as be,t as pe}from"./stats-CYdFBybj.js";import{u as fe}from"./usePaging-Boz1Q6w3.js";import{i as L,_ as ge}from"./index-BWzN7QIb.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"},Le=U({name:"statsAutoAssignLog"}),Se=U({...Le,setup(Ae){const y=h(null),v=h(null),x=h(),_=h([]),w=h(!1),n=_e({start_date:"",end_date:"",start_time:"",end_time:"",action:"",is_rollback:"",keyword:""});$(y,a=>{n.start_date=(a==null?void 0:a[0])??"",n.end_date=(a==null?void 0:a[1])??""}),$(v,a=>{n.start_time=(a==null?void 0:a[0])??"",n.end_time=(a==null?void 0:a[1])??""});const{pager:f,getLists:R,resetPage:F}=fe({fetchFun:be,params:n}),m=()=>{var a,l;_.value=[],(l=(a=x.value)==null?void 0:a.clearSelection)==null||l.call(a),F()},P=()=>{y.value=null,v.value=null,n.start_date="",n.end_date="",n.start_time="",n.end_time="",n.action="",n.is_rollback="",n.keyword="",m()},T=a=>a==null?"—":`${a}%`,z=a=>Number(a.can_rollback)===1,I=a=>{_.value=a.filter(l=>Number(l.can_rollback)===1)},S=async a=>{var l,g;if(a.length!==0){await L.confirm(`确认回退选中的 ${a.length} 条自动分配?将把诊单医助撤回到自动分配前的原医助,并写入指派日志。`),w.value=!0;try{const o=await pe({ids:a}),p=Number((o==null?void 0:o.success)??0),k=Number((o==null?void 0:o.failed)??0);k>0&&Array.isArray(o==null?void 0:o.messages)&&o.messages.length?L.msgWarning(`回退成功 ${p} 条,跳过/失败 ${k} 条:${o.messages.slice(0,3).join(";")}`):L.msgSuccess(`回退成功 ${p} 条`),_.value=[],(g=(l=x.value)==null?void 0:l.clearSelection)==null||g.call(l),await R()}finally{w.value=!1}}},j=()=>{const a=_.value.map(l=>Number(l.id)).filter(l=>l>0);return S(a)},K=a=>{const l=Number((a==null?void 0:a.id)??0);if(!(l<=0))return S([l])};return J(()=>R()),(a,l)=>{const g=ee,o=Z,p=ae,k=le,q=te,V=ne,H=X,A=oe,d=de,E=re,O=ie,W=me,Y=Q("perms"),G=ue;return r(),b("div",ke,[t(A,{class:"!border-none",shadow:"never"},{default:s(()=>[t(H,{inline:!0,class:"log-filter-form"},{default:s(()=>[t(o,{label:"记录时间"},{default:s(()=>[t(g,{modelValue:v.value,"onUpdate:modelValue":l[0]||(l[0]=e=>v.value=e),type:"datetimerange","range-separator":"至","start-placeholder":"开始时间","end-placeholder":"结束时间","value-format":"YYYY-MM-DD HH:mm:ss",clearable:"",onChange:m},null,8,["modelValue"])]),_:1}),t(o,{label:"执行日期"},{default:s(()=>[t(g,{modelValue:y.value,"onUpdate:modelValue":l[1]||(l[1]=e=>y.value=e),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",clearable:"",onChange:m},null,8,["modelValue"])]),_:1}),t(o,{label:"结果"},{default:s(()=>[t(k,{modelValue:n.action,"onUpdate:modelValue":l[2]||(l[2]=e=>n.action=e),clearable:"",placeholder:"全部",class:"w-[120px]",onChange:m},{default:s(()=>[t(p,{label:"已分配",value:"1"}),t(p,{label:"未分配",value:"0"})]),_:1},8,["modelValue"])]),_:1}),t(o,{label:"回退"},{default:s(()=>[t(k,{modelValue:n.is_rollback,"onUpdate:modelValue":l[3]||(l[3]=e=>n.is_rollback=e),clearable:"",placeholder:"全部",class:"w-[120px]",onChange:m},{default:s(()=>[t(p,{label:"未回退",value:"0"}),t(p,{label:"已回退",value:"1"})]),_:1},8,["modelValue"])]),_:1}),t(o,{label:"关键词"},{default:s(()=>[t(q,{modelValue:n.keyword,"onUpdate:modelValue":l[4]||(l[4]=e=>n.keyword=e),placeholder:"患者/手机号/医助/诊单ID",clearable:"",class:"w-[220px]",onKeyup:se(m,["enter"]),onClear:m},null,8,["modelValue"])]),_:1}),t(o,null,{default:s(()=>[t(V,{type:"primary",onClick:m},{default:s(()=>[...l[6]||(l[6]=[u("查询",-1)])]),_:1}),t(V,{onClick:P},{default:s(()=>[...l[7]||(l[7]=[u("重置",-1)])]),_:1})]),_:1})]),_:1}),l[8]||(l[8]=c("div",{class:"log-hint"}," 由每日定时任务「待分配诊单自动指派」写入:按上月二诊复诊接诊率分档轮询分配(>70% 每人3条/日,60%~70% 每人2条/日,50%~60% 每人1条/日,<50% 不分)。「回退」可将已分配医助撤回到自动分配前的原医助(通常为一中心),并写入指派日志。 ",-1))]),_:1}),t(A,{class:"!border-none mt-3",shadow:"never"},{default:s(()=>[c("div",he,[D((r(),C(V,{type:"warning",disabled:_.value.length===0,loading:w.value,onClick:j},{default:s(()=>[u(" 回退选中("+i(_.value.length)+") ",1)]),_:1},8,["disabled","loading"])),[[Y,["stats.autoAssignLog/rollback"]]]),_.value.length>0?(r(),b("span",ye," 已选 "+i(_.value.length)+" 条可回退记录 ",1)):B("",!0)]),D((r(),C(O,{ref_key:"tableRef",ref:x,data:N(f).lists,size:"default",stripe:"","row-key":"id",onSelectionChange:I},{default:s(()=>[t(d,{type:"selection",width:"48",selectable:z,"reserve-selection":""}),t(d,{label:"记录时间",width:"160"},{default:s(({row:e})=>[u(i(e.create_time_text||"—"),1)]),_:1}),t(d,{label:"诊单",width:"90",prop:"diagnosis_id"}),t(d,{label:"患者","min-width":"110"},{default:s(({row:e})=>[c("div",null,i(e.patient_name||"—"),1),c("div",ve,i(e.patient_phone||""),1)]),_:1}),t(d,{label:"结果",width:"90",align:"center"},{default:s(({row:e})=>[t(E,{type:Number(e.action)===1?"success":"info",size:"small"},{default:s(()=>[u(i(e.action_text),1)]),_:2},1032,["type"])]),_:1}),t(d,{label:"回退状态",width:"140"},{default:s(({row:e})=>[Number(e.is_rollback)===1?(r(),b(M,{key:0},[t(E,{type:"warning",size:"small"},{default:s(()=>[...l[9]||(l[9]=[u("已回退",-1)])]),_:1}),c("div",we,i(e.rollback_time_text),1),e.rollback_admin_name?(r(),b("div",Ve,i(e.rollback_admin_name),1)):B("",!0)],64)):Number(e.can_rollback)===1?(r(),C(E,{key:1,type:"success",size:"small"},{default:s(()=>[...l[10]||(l[10]=[u(" 可回退 ",-1)])]),_:1})):(r(),b("span",Ce,"—"))]),_:1}),t(d,{label:"医助","min-width":"110"},{default:s(({row:e})=>[Number(e.assistant_id)>0?(r(),b(M,{key:0},[c("div",null,i(e.assistant_name||"#"+e.assistant_id),1),c("div",Ne,"上月二诊接诊率 "+i(T(e.visit2_rate)),1)],64)):(r(),b("span",xe,"—"))]),_:1}),t(d,{label:"档位",width:"100",align:"center"},{default:s(({row:e})=>[u(i(e.tier_text||"—"),1)]),_:1}),t(d,{label:"轮次",width:"70",align:"center"},{default:s(({row:e})=>[u(i(Number(e.round_no)>0?"第"+e.round_no+"轮":"—"),1)]),_:1}),t(d,{label:"原因","min-width":"280","show-overflow-tooltip":""},{default:s(({row:e})=>[u(i(e.reason),1)]),_:1}),t(d,{label:"统计月",width:"90",prop:"stat_month",align:"center"}),t(d,{label:"批次",width:"160"},{default:s(({row:e})=>[c("span",Re,i(e.batch_no),1)]),_:1}),t(d,{label:"操作",width:"90",fixed:"right",align:"center"},{default:s(({row:e})=>[Number(e.can_rollback)===1?D((r(),C(V,{key:0,link:"",type:"warning",loading:w.value,onClick:Ye=>K(e)},{default:s(()=>[...l[11]||(l[11]=[u(" 回退 ",-1)])]),_:1},8,["loading","onClick"])),[[Y,["stats.autoAssignLog/rollback"]]]):(r(),b("span",Ee,"—"))]),_:1})]),_:1},8,["data"])),[[G,N(f).loading]]),c("div",De,[t(W,{modelValue:N(f),"onUpdate:modelValue":l[5]||(l[5]=e=>ce(f)?f.value=e:null),onChange:N(R)},null,8,["modelValue","onChange"])])]),_:1})])}}}),Pe=ge(Se,[["__scopeId","data-v-0a150f73"]]);export{Pe as default}; diff --git a/server/public/admin/assets/index-DY6Z68qv.js b/server/public/admin/assets/index-DUuzhLpN.js similarity index 91% rename from server/public/admin/assets/index-DY6Z68qv.js rename to server/public/admin/assets/index-DUuzhLpN.js index 2cd0fe5c..3be44d0d 100644 --- a/server/public/admin/assets/index-DY6Z68qv.js +++ b/server/public/admin/assets/index-DUuzhLpN.js @@ -1 +1 @@ -import{o as k,be as N,q as s,r as R,v as t,D as n,bh as T,bg as P,ac as m,bi as U,u as i,O as _,s as w,K as j,L as b,bj as A,bk as q,I as z,C as F,P as I,a8 as K,M,n as h}from"./.pnpm-9dA1PEvN.js";import{_ as O}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as G,i as H}from"./index-CJvXnF8Y.js";import{a as J,b as Q,c as W}from"./article-BioaiRdh.js";import{u as X}from"./usePaging-Boz1Q6w3.js";import{_ as Y}from"./edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-DQptrasI.js";import"./index-BBemoNXE.js";const Z={class:"flex justify-end mt-4"},ee=k({name:"articleColumn"}),ce=k({...ee,setup(te){const p=K(),f=M(!1),{pager:r,getLists:o}=X({fetchFun:J}),y=async()=>{var l;f.value=!0,await h(),(l=p.value)==null||l.open("add")},V=async l=>{var e,c;f.value=!0,await h(),(e=p.value)==null||e.open("edit"),(c=p.value)==null||c.getDetail(l)},E=async l=>{await H.confirm("确定要删除?"),await Q({id:l}),o()},x=async(l,e)=>{try{await W({id:e,is_show:l}),o()}catch{o()}};return o(),(l,e)=>{const c=T,g=P,$=G,C=j,d=q,D=z,S=A,B=O,v=N("perms"),L=U;return s(),R("div",null,[t(g,{class:"!border-none",shadow:"never"},{default:n(()=>[t(c,{type:"warning",title:"温馨提示:用于管理网站的分类,只可添加到一级",closable:!1,"show-icon":""})]),_:1}),m((s(),_(g,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[w("div",null,[m((s(),_(C,{class:"mb-4",type:"primary",onClick:e[0]||(e[0]=a=>y())},{icon:n(()=>[t($,{name:"el-icon-Plus"})]),default:n(()=>[e[3]||(e[3]=b(" 新增 ",-1))]),_:1})),[[v,["article.articleCate/add"]]])]),t(S,{size:"large",data:i(r).lists},{default:n(()=>[t(d,{label:"栏目名称",prop:"name","min-width":"120"}),t(d,{label:"文章数",prop:"article_count","min-width":"120"}),t(d,{label:"状态","min-width":"120"},{default:n(({row:a})=>[m(t(D,{modelValue:a.is_show,"onUpdate:modelValue":u=>a.is_show=u,"active-value":1,"inactive-value":0,onChange:u=>x(u,a.id)},null,8,["modelValue","onUpdate:modelValue","onChange"]),[[v,["article.articleCate/updateStatus"]]])]),_:1}),t(d,{label:"排序",prop:"sort","min-width":"120"}),t(d,{label:"操作",width:"120",fixed:"right"},{default:n(({row:a})=>[m((s(),_(C,{type:"primary",link:"",onClick:u=>V(a)},{default:n(()=>[...e[4]||(e[4]=[b(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[v,["article.articleCate/edit"]]]),m((s(),_(C,{type:"danger",link:"",onClick:u=>E(a.id)},{default:n(()=>[...e[5]||(e[5]=[b(" 删除 ",-1)])]),_:1},8,["onClick"])),[[v,["article.articleCate/delete"]]])]),_:1})]),_:1},8,["data"]),w("div",Z,[t(B,{modelValue:i(r),"onUpdate:modelValue":e[1]||(e[1]=a=>F(r)?r.value=a:null),onChange:i(o)},null,8,["modelValue","onChange"])])]),_:1})),[[L,i(r).loading]]),i(f)?(s(),_(Y,{key:0,ref_key:"editRef",ref:p,onSuccess:i(o),onClose:e[2]||(e[2]=a=>f.value=!1)},null,8,["onSuccess"])):I("",!0)])}}});export{ce as default}; +import{o as k,be as N,q as s,r as R,v as t,D as n,bh as T,bg as P,ac as m,bi as U,u as i,O as _,s as w,K as j,L as b,bj as A,bk as q,I as z,C as F,P as I,a8 as K,M,n as h}from"./.pnpm-9dA1PEvN.js";import{_ as O}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as G,i as H}from"./index-BWzN7QIb.js";import{a as J,b as Q,c as W}from"./article-CGwMRNkL.js";import{u as X}from"./usePaging-Boz1Q6w3.js";import{_ as Y}from"./edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-DEKsw0jB.js";import"./index-dYaCh-CN.js";const Z={class:"flex justify-end mt-4"},ee=k({name:"articleColumn"}),ce=k({...ee,setup(te){const p=K(),f=M(!1),{pager:r,getLists:o}=X({fetchFun:J}),y=async()=>{var l;f.value=!0,await h(),(l=p.value)==null||l.open("add")},V=async l=>{var e,c;f.value=!0,await h(),(e=p.value)==null||e.open("edit"),(c=p.value)==null||c.getDetail(l)},E=async l=>{await H.confirm("确定要删除?"),await Q({id:l}),o()},x=async(l,e)=>{try{await W({id:e,is_show:l}),o()}catch{o()}};return o(),(l,e)=>{const c=T,g=P,$=G,C=j,d=q,D=z,S=A,B=O,v=N("perms"),L=U;return s(),R("div",null,[t(g,{class:"!border-none",shadow:"never"},{default:n(()=>[t(c,{type:"warning",title:"温馨提示:用于管理网站的分类,只可添加到一级",closable:!1,"show-icon":""})]),_:1}),m((s(),_(g,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[w("div",null,[m((s(),_(C,{class:"mb-4",type:"primary",onClick:e[0]||(e[0]=a=>y())},{icon:n(()=>[t($,{name:"el-icon-Plus"})]),default:n(()=>[e[3]||(e[3]=b(" 新增 ",-1))]),_:1})),[[v,["article.articleCate/add"]]])]),t(S,{size:"large",data:i(r).lists},{default:n(()=>[t(d,{label:"栏目名称",prop:"name","min-width":"120"}),t(d,{label:"文章数",prop:"article_count","min-width":"120"}),t(d,{label:"状态","min-width":"120"},{default:n(({row:a})=>[m(t(D,{modelValue:a.is_show,"onUpdate:modelValue":u=>a.is_show=u,"active-value":1,"inactive-value":0,onChange:u=>x(u,a.id)},null,8,["modelValue","onUpdate:modelValue","onChange"]),[[v,["article.articleCate/updateStatus"]]])]),_:1}),t(d,{label:"排序",prop:"sort","min-width":"120"}),t(d,{label:"操作",width:"120",fixed:"right"},{default:n(({row:a})=>[m((s(),_(C,{type:"primary",link:"",onClick:u=>V(a)},{default:n(()=>[...e[4]||(e[4]=[b(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[v,["article.articleCate/edit"]]]),m((s(),_(C,{type:"danger",link:"",onClick:u=>E(a.id)},{default:n(()=>[...e[5]||(e[5]=[b(" 删除 ",-1)])]),_:1},8,["onClick"])),[[v,["article.articleCate/delete"]]])]),_:1})]),_:1},8,["data"]),w("div",Z,[t(B,{modelValue:i(r),"onUpdate:modelValue":e[1]||(e[1]=a=>F(r)?r.value=a:null),onChange:i(o)},null,8,["modelValue","onChange"])])]),_:1})),[[L,i(r).loading]]),i(f)?(s(),_(Y,{key:0,ref_key:"editRef",ref:p,onSuccess:i(o),onClose:e[2]||(e[2]=a=>f.value=!1)},null,8,["onSuccess"])):I("",!0)])}}});export{ce as default}; diff --git a/server/public/admin/assets/index-aEnW9EuY.js b/server/public/admin/assets/index-DV39N5BU.js similarity index 87% rename from server/public/admin/assets/index-aEnW9EuY.js rename to server/public/admin/assets/index-DV39N5BU.js index 27594451..e2b78714 100644 --- a/server/public/admin/assets/index-aEnW9EuY.js +++ b/server/public/admin/assets/index-DV39N5BU.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/PrescriptionOrderDetailDrawer-66DcVm3d.js","assets/.pnpm-9dA1PEvN.js","assets/.pnpm-LiWq8Xu0.css","assets/tcm-DOD9_1Um.js","assets/index-CJvXnF8Y.js","assets/index-or10At3s.css","assets/prescription-order-utils-B0fYlULc.js","assets/PrescriptionOrderDetailDrawer-DL92yzHH.css","assets/edit-DSANIFY1.js","assets/perm-BLNmf25V.js","assets/DailyMatrix-_4SdP1CQ.js","assets/picker-DWQ_BAep.js","assets/index-BBemoNXE.js","assets/index-dh40Du6y.css","assets/index-CY1mb9yY.js","assets/index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js","assets/index-CAGpCz28.js","assets/index-BYMg0OFw.css","assets/index-DMkcmA29.js","assets/file-BJDA0rIT.js","assets/index.vue_vue_type_script_setup_true_lang-Blf417m7.js","assets/usePaging-Boz1Q6w3.js","assets/index-D6uL8V1j.css","assets/picker-CLzhBfnG.css","assets/DiagnosisTodoList-wLDuYeQL.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix--Ay5C05Q.css","assets/CaseRecordList-BdOS8uCk.js","assets/CaseRecordList-DEgrl9PS.css","assets/CallRecordPanel-B5TNiiYq.js","assets/RecordingPlaybackBlock-C4Gpp-2c.js","assets/RecordingVideoPlayer-BFQjIPtM.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-p7h_1hh9.css","assets/ImChatRecordPanel-Dupe02qF.js","assets/dayjs-BsOAYQJw.js","assets/im-business-message-parse-DmDISFGN.js","assets/ImChatRecordPanel-BRnJl8ir.css","assets/AssignLogPanel-7M3l9W5C.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DxULo4tR.js","assets/doctor-Bmtf1eZE.js","assets/AppointmentRecordPanel-BWS3OyF0.css","assets/NoteTimeline-BiPgEoRT.js","assets/patient-CwTOvUDt.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-CbJRHf8i.js","assets/PatientOrderList-BgC6GQc_.css","assets/index-D33qlDjf.js","assets/index-BANIMLkY.js","assets/medicine-CQDW2OUZ.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-DxQanmqx.css","assets/edit-Cgsl1tY9.css","assets/TrackingNoteTimeline-C-2kS81H.css"])))=>i.map(i=>d[i]); -import{o as re,ap as we,q as r,r as _,v as n,D as l,b9 as Ce,b6 as De,bp as Ee,bK as Ve,K as xe,L as s,bY as Oe,s as i,w as Re,u as f,cg as ae,bg as Le,F as V,G as ne,ae as Te,T as d,P as Ne,ac as le,O as g,bj as Se,bk as Pe,bq as Me,a1 as Ae,bi as Fe,bt as Ye,cb as ie,al as se,M as m,p as oe}from"./.pnpm-9dA1PEvN.js";import{v as Ie,w as Be,x as ze,z as Ue}from"./stats-Cp2ee5KL.js";import{h as O}from"./perm-BLNmf25V.js";import{_ as qe}from"./index-CJvXnF8Y.js";const Ke={class:"revisit-rate-page"},je={class:"rate-caliber-trigger"},Ge={class:"rate-kpi-grid"},Qe=["onClick"],He={class:"rate-kpi-label"},Je={class:"rate-kpi-value"},We={key:0,class:"rate-kpi-sub"},Xe={class:"rate-card-header"},Ze={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=ie(()=>se(()=>import("./PrescriptionOrderDetailDrawer-66DcVm3d.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]))),ue=ie(()=>se(()=>import("./edit-DSANIFY1.js"),__vite__mapDeps([8,1,2,3,4,5,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,0,6,7,49,50,51,52,53,54,55,56,57]))),R=O(["stats.revisitRate/assignLines"]),L=O(["stats.revisitRate/visitOrderLines"]),B=O(["tcm.prescriptionOrder/detail"]),T=O(["tcm.diagnosis/detail"]),N=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")}`,h=m(q),$=m(void 0),w=m(!1),K=m([]),S=m(null),P=m([]),ce={value:"id",label:"name",children:"children"},M=oe(()=>{const[e,a]=h.value.split("-");return e&&a?`${e}年${Number(a)}月`:h.value}),A=e=>e==null?"—":`${e}%`,F=()=>({month:h.value,dept_ids:$.value?String($.value):""}),pe=oe(()=>{const e=S.value,a=[{key:"assigned",label:"当月被指派总数",value:e?String(e.assigned_count):"—",sub:"",clickable:!!(R&&e&&e.assigned_count>0),onClick:()=>G(null)}];for(const o of N.value){const p=e?e[`visit${o}_count`]:null,u=e?e[`visit${o}_rate`]:null;a.push({key:`visit${o}`,label:`当月${y(o)}接诊率`,value:e?A(u):"—",sub:e?`${y(o)}下单 ${p} 单`:"",clickable:!!(L&&p>0),onClick:()=>Q(o,null)})}return a}),_e=({columns:e})=>{const a=S.value;return e.map((o,p)=>{if(p===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)?A(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 Ie(F());K.value=(e==null?void 0:e.rows)??[],S.value=(e==null?void 0:e.total)??null,Array.isArray(e==null?void 0:e.slots)&&e.slots.length&&(N.value=e.slots.map(a=>Number(a)).filter(a=>a>=2)),e!=null&&e.month&&(h.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 b=a.get(u.id);u.pid>0&&a.has(u.pid)?a.get(u.pid).children.push(b):o.push(b)}const p=u=>{var b;(b=u.children)!=null&&b.length?u.children.forEach(p):delete u.children};return o.forEach(p),o},fe=async()=>{try{const e=await Be();P.value=ve((e==null?void 0:e.rows)??[])}catch{P.value=[]}},x=m(!1),Y=m("assign"),I=m(""),D=m(!1),k=m([]),j=e=>e?e.is_dept?{dept_id:e.dept_id,label:e.dept_name}:{assistant_id:e.assistant_id,label:e.assistant_name||""}:{label:"合计"},G=async e=>{if(!R)return;const a=j(e);Y.value="assign",I.value=`${a.label} · 被指派明细(${M.value})`,x.value=!0,D.value=!0,k.value=[];try{const o=await ze({...F(),assistant_id:a.assistant_id,dept_id:a.dept_id});k.value=(o==null?void 0:o.rows)??[]}finally{D.value=!1}},Q=async(e,a)=>{if(!L)return;const o=j(a);Y.value="orders",I.value=`${o.label} · ${y(e)}订单明细(${M.value})`,x.value=!0,D.value=!0,k.value=[];try{const p=await Ue({...F(),slot:e,assistant_id:o.assistant_id,dept_id:o.dept_id});k.value=(p==null?void 0:p.rows)??[]}finally{D.value=!1}},H=m(null),be=e=>{var a;!B||!e||(a=H.value)==null||a.open(e)},J=m(null),W=e=>{var a;!T||!e||(a=J.value)==null||a.openViewOnly(e)},he=()=>{h.value=q,$.value=void 0,C()};return we(()=>{fe(),C()}),(e,a)=>{const o=Ee,p=De,u=Ve,b=xe,X=Re,ge=Oe,ye=Ce,Z=Le,c=Pe,E=Me,ke=Ae,ee=Se,$e=Ye,te=Fe;return r(),_("div",Ke,[n(Z,{class:"!border-none",shadow:"never"},{default:l(()=>[n(ye,{inline:!0,class:"rate-filter-form"},{default:l(()=>[n(p,{label:"统计月份"},{default:l(()=>[n(o,{modelValue:h.value,"onUpdate:modelValue":a[0]||(a[0]=t=>h.value=t),type:"month","value-format":"YYYY-MM",placeholder:"选择月份",clearable:!1,"disabled-date":me,style:{width:"160px"},onChange:C},null,8,["modelValue"])]),_:1}),n(p,{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:ce,style:{width:"220px"},onChange:C},null,8,["modelValue","data"])]),_:1}),n(p,null,{default:l(()=>[n(b,{type:"primary",loading:w.value,onClick:C},{default:l(()=>[...a[3]||(a[3]=[s("查询",-1)])]),_:1},8,["loading"]),n(b,{disabled:w.value,onClick:he},{default:l(()=>[...a[4]||(a[4]=[s("重置",-1)])]),_:1},8,["disabled"])]),_:1}),n(p,null,{default:l(()=>[n(ge,{placement:"bottom-start",width:500,trigger:"hover"},{reference:l(()=>[i("span",je,[n(X,null,{default:l(()=>[n(f(ae))]),_: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",Ge,[(r(!0),_(V,null,ne(pe.value,t=>(r(),_("div",{key:t.key,class:Te(["rate-kpi-card",{"is-clickable":t.clickable}]),onClick:v=>t.clickable&&t.onClick&&t.onClick()},[i("div",He,d(t.label),1),i("div",Je,d(t.value),1),t.sub?(r(),_("div",We,d(t.sub),1)):Ne("",!0)],10,Qe))),128))]),n(Z,{class:"!border-none mt-4",shadow:"never"},{header:l(()=>[i("div",Xe,[i("span",null,"部门 · 医助明细("+d(M.value)+")",1),a[7]||(a[7]=i("span",{class:"rate-card-hint"},"点击「被指派数 / N诊单数」可查看具体诊单与订单;底栏合计的被指派数按诊单去重",-1))])]),default:l(()=>[le((r(),g(ee,{data:K.value,size:"small",border:"","row-key":"row_key","tree-props":{children:"children"},"default-expand-all":!0,"show-summary":"","summary-method":_e},{default:l(()=>[n(c,{label:"部门 / 医助","min-width":"200",fixed:""},{default:l(({row:t})=>[t.is_dept?(r(),_("span",Ze,[s(d(t.dept_name)+" ",1),i("span",et,d(t.assistant_count)+" 人",1)])):(r(),_("span",tt,d(t.assistant_name),1))]),_:1}),n(c,{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=>G(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,ne(N.value,t=>(r(),_(V,{key:t},[n(c,{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(X,{class:"rate-th-hint"},{default:l(()=>[n(f(ae))]),_:1})]),_:1},8,["content"])]),default:l(({row:v})=>[f(L)&&v[`visit${t}_count`]>0?(r(),g(E,{key:0,type:"primary",underline:!1,onClick:ct=>Q(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(c,{prop:`visit${t}_rate`,label:`${y(t)}接诊率`,"min-width":"96",align:"right"},{default:l(({row:v})=>[s(d(A(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:I.value,width:"980px",top:"6vh","destroy-on-close":""},{default:l(()=>[le((r(),g(ee,{data:k.value,size:"small",border:"",stripe:"","max-height":"60vh"},{default:l(()=>[Y.value==="assign"?(r(),_(V,{key:0},[n(c,{prop:"diagnosis_id",label:"诊单ID",width:"90"}),n(c,{prop:"patient_name",label:"患者","min-width":"100"},{default:l(({row:t})=>[f(T)&&t.diagnosis_id?(r(),g(E,{key:0,type:"primary",underline:!1,onClick:v=>W(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(c,{prop:"patient_phone",label:"联系电话","min-width":"120"},{default:l(({row:t})=>[s(d(t.patient_phone||"—"),1)]),_:1}),n(c,{prop:"assistant_names",label:"被指派医助","min-width":"140","show-overflow-tooltip":""}),n(c,{prop:"assign_count",label:"当月指派次数",width:"110",align:"right"}),n(c,{prop:"last_assign_time_text",label:"最近指派时间","min-width":"160"})],64)):(r(),_(V,{key:1},[n(c,{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=>be(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(c,{prop:"diagnosis_id",label:"诊单ID",width:"90"}),n(c,{prop:"patient_name",label:"患者","min-width":"100"},{default:l(({row:t})=>[f(T)&&t.diagnosis_id?(r(),g(E,{key:0,type:"primary",underline:!1,onClick:v=>W(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(c,{prop:"amount",label:"金额",width:"100",align:"right"},{default:l(({row:t})=>[s("¥ "+d(t.amount),1)]),_:1}),n(c,{prop:"create_time_text",label:"下单时间","min-width":"160"}),n(c,{prop:"assistant_name",label:"持有医助","min-width":"100"}),n(c,{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:H,readonly:"","append-to-body":""},null,512),n(f(ue),{ref_key:"diagnosisEditRef",ref:J},null,512)])}}}),ft=qe(dt,[["__scopeId","data-v-d232729c"]]);export{ft as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/PrescriptionOrderDetailDrawer-CEi7ZXfx.js","assets/.pnpm-9dA1PEvN.js","assets/.pnpm-LiWq8Xu0.css","assets/tcm-Fi_swgCr.js","assets/index-BWzN7QIb.js","assets/index-or10At3s.css","assets/prescription-order-utils-B0fYlULc.js","assets/PrescriptionOrderDetailDrawer-DL92yzHH.css","assets/edit-DxLWCQnV.js","assets/perm-BzF8JgcJ.js","assets/DailyMatrix-BOqZMkKS.js","assets/picker-DfI3CPnQ.js","assets/index-dYaCh-CN.js","assets/index-dh40Du6y.css","assets/index-xDQ_OZln.js","assets/index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js","assets/index-fA0EWEUO.js","assets/index-BYMg0OFw.css","assets/index-DFkJDhf6.js","assets/file-BL6iPgPC.js","assets/index.vue_vue_type_script_setup_true_lang-Blf417m7.js","assets/usePaging-Boz1Q6w3.js","assets/index-D6uL8V1j.css","assets/picker-CLzhBfnG.css","assets/DiagnosisTodoList-CAIMA53u.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix--Ay5C05Q.css","assets/CaseRecordList-DlCqPijV.js","assets/CaseRecordList-DEgrl9PS.css","assets/CallRecordPanel-CJ3iGibG.js","assets/RecordingPlaybackBlock-CN4w1UI-.js","assets/RecordingVideoPlayer-DIfduEP7.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-p7h_1hh9.css","assets/ImChatRecordPanel-BMjxk7mx.js","assets/dayjs-BsOAYQJw.js","assets/im-business-message-parse-DmDISFGN.js","assets/ImChatRecordPanel-BRnJl8ir.css","assets/AssignLogPanel-CF42MNq_.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DxBIlcME.js","assets/doctor-Chj6BcVp.js","assets/AppointmentRecordPanel-BWS3OyF0.css","assets/NoteTimeline-DxUNQs4y.js","assets/patient-Btpwd7dp.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-CKjXSixL.js","assets/PatientOrderList-BgC6GQc_.css","assets/index-B5cu05RL.js","assets/index-CNLsF7Nt.js","assets/medicine-DezWRkkS.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-DxQanmqx.css","assets/edit-Cgsl1tY9.css","assets/TrackingNoteTimeline-C-2kS81H.css"])))=>i.map(i=>d[i]); +import{o as re,ap as we,q as r,r as _,v as n,D as l,b9 as Ce,b6 as De,bp as Ee,bK as Ve,K as xe,L as s,bY as Oe,s as i,w as Re,u as f,cg as ae,bg as Le,F as V,G as ne,ae as Te,T as d,P as Ne,ac as le,O as g,bj as Se,bk as Pe,bq as Me,a1 as Ae,bi as Fe,bt as Ye,cb as ie,al as se,M as m,p as oe}from"./.pnpm-9dA1PEvN.js";import{v as Ie,w as Be,x as ze,z as Ue}from"./stats-CYdFBybj.js";import{h as O}from"./perm-BzF8JgcJ.js";import{_ as qe}from"./index-BWzN7QIb.js";const Ke={class:"revisit-rate-page"},je={class:"rate-caliber-trigger"},Ge={class:"rate-kpi-grid"},Qe=["onClick"],He={class:"rate-kpi-label"},Je={class:"rate-kpi-value"},We={key:0,class:"rate-kpi-sub"},Xe={class:"rate-card-header"},Ze={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=ie(()=>se(()=>import("./PrescriptionOrderDetailDrawer-CEi7ZXfx.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]))),ue=ie(()=>se(()=>import("./edit-DxLWCQnV.js"),__vite__mapDeps([8,1,2,3,4,5,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,0,6,7,49,50,51,52,53,54,55,56,57]))),R=O(["stats.revisitRate/assignLines"]),L=O(["stats.revisitRate/visitOrderLines"]),B=O(["tcm.prescriptionOrder/detail"]),T=O(["tcm.diagnosis/detail"]),N=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")}`,h=m(q),$=m(void 0),w=m(!1),K=m([]),S=m(null),P=m([]),ce={value:"id",label:"name",children:"children"},M=oe(()=>{const[e,a]=h.value.split("-");return e&&a?`${e}年${Number(a)}月`:h.value}),A=e=>e==null?"—":`${e}%`,F=()=>({month:h.value,dept_ids:$.value?String($.value):""}),pe=oe(()=>{const e=S.value,a=[{key:"assigned",label:"当月被指派总数",value:e?String(e.assigned_count):"—",sub:"",clickable:!!(R&&e&&e.assigned_count>0),onClick:()=>G(null)}];for(const o of N.value){const p=e?e[`visit${o}_count`]:null,u=e?e[`visit${o}_rate`]:null;a.push({key:`visit${o}`,label:`当月${y(o)}接诊率`,value:e?A(u):"—",sub:e?`${y(o)}下单 ${p} 单`:"",clickable:!!(L&&p>0),onClick:()=>Q(o,null)})}return a}),_e=({columns:e})=>{const a=S.value;return e.map((o,p)=>{if(p===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)?A(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 Ie(F());K.value=(e==null?void 0:e.rows)??[],S.value=(e==null?void 0:e.total)??null,Array.isArray(e==null?void 0:e.slots)&&e.slots.length&&(N.value=e.slots.map(a=>Number(a)).filter(a=>a>=2)),e!=null&&e.month&&(h.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 b=a.get(u.id);u.pid>0&&a.has(u.pid)?a.get(u.pid).children.push(b):o.push(b)}const p=u=>{var b;(b=u.children)!=null&&b.length?u.children.forEach(p):delete u.children};return o.forEach(p),o},fe=async()=>{try{const e=await Be();P.value=ve((e==null?void 0:e.rows)??[])}catch{P.value=[]}},x=m(!1),Y=m("assign"),I=m(""),D=m(!1),k=m([]),j=e=>e?e.is_dept?{dept_id:e.dept_id,label:e.dept_name}:{assistant_id:e.assistant_id,label:e.assistant_name||""}:{label:"合计"},G=async e=>{if(!R)return;const a=j(e);Y.value="assign",I.value=`${a.label} · 被指派明细(${M.value})`,x.value=!0,D.value=!0,k.value=[];try{const o=await ze({...F(),assistant_id:a.assistant_id,dept_id:a.dept_id});k.value=(o==null?void 0:o.rows)??[]}finally{D.value=!1}},Q=async(e,a)=>{if(!L)return;const o=j(a);Y.value="orders",I.value=`${o.label} · ${y(e)}订单明细(${M.value})`,x.value=!0,D.value=!0,k.value=[];try{const p=await Ue({...F(),slot:e,assistant_id:o.assistant_id,dept_id:o.dept_id});k.value=(p==null?void 0:p.rows)??[]}finally{D.value=!1}},H=m(null),be=e=>{var a;!B||!e||(a=H.value)==null||a.open(e)},J=m(null),W=e=>{var a;!T||!e||(a=J.value)==null||a.openViewOnly(e)},he=()=>{h.value=q,$.value=void 0,C()};return we(()=>{fe(),C()}),(e,a)=>{const o=Ee,p=De,u=Ve,b=xe,X=Re,ge=Oe,ye=Ce,Z=Le,c=Pe,E=Me,ke=Ae,ee=Se,$e=Ye,te=Fe;return r(),_("div",Ke,[n(Z,{class:"!border-none",shadow:"never"},{default:l(()=>[n(ye,{inline:!0,class:"rate-filter-form"},{default:l(()=>[n(p,{label:"统计月份"},{default:l(()=>[n(o,{modelValue:h.value,"onUpdate:modelValue":a[0]||(a[0]=t=>h.value=t),type:"month","value-format":"YYYY-MM",placeholder:"选择月份",clearable:!1,"disabled-date":me,style:{width:"160px"},onChange:C},null,8,["modelValue"])]),_:1}),n(p,{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:ce,style:{width:"220px"},onChange:C},null,8,["modelValue","data"])]),_:1}),n(p,null,{default:l(()=>[n(b,{type:"primary",loading:w.value,onClick:C},{default:l(()=>[...a[3]||(a[3]=[s("查询",-1)])]),_:1},8,["loading"]),n(b,{disabled:w.value,onClick:he},{default:l(()=>[...a[4]||(a[4]=[s("重置",-1)])]),_:1},8,["disabled"])]),_:1}),n(p,null,{default:l(()=>[n(ge,{placement:"bottom-start",width:500,trigger:"hover"},{reference:l(()=>[i("span",je,[n(X,null,{default:l(()=>[n(f(ae))]),_: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",Ge,[(r(!0),_(V,null,ne(pe.value,t=>(r(),_("div",{key:t.key,class:Te(["rate-kpi-card",{"is-clickable":t.clickable}]),onClick:v=>t.clickable&&t.onClick&&t.onClick()},[i("div",He,d(t.label),1),i("div",Je,d(t.value),1),t.sub?(r(),_("div",We,d(t.sub),1)):Ne("",!0)],10,Qe))),128))]),n(Z,{class:"!border-none mt-4",shadow:"never"},{header:l(()=>[i("div",Xe,[i("span",null,"部门 · 医助明细("+d(M.value)+")",1),a[7]||(a[7]=i("span",{class:"rate-card-hint"},"点击「被指派数 / N诊单数」可查看具体诊单与订单;底栏合计的被指派数按诊单去重",-1))])]),default:l(()=>[le((r(),g(ee,{data:K.value,size:"small",border:"","row-key":"row_key","tree-props":{children:"children"},"default-expand-all":!0,"show-summary":"","summary-method":_e},{default:l(()=>[n(c,{label:"部门 / 医助","min-width":"200",fixed:""},{default:l(({row:t})=>[t.is_dept?(r(),_("span",Ze,[s(d(t.dept_name)+" ",1),i("span",et,d(t.assistant_count)+" 人",1)])):(r(),_("span",tt,d(t.assistant_name),1))]),_:1}),n(c,{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=>G(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,ne(N.value,t=>(r(),_(V,{key:t},[n(c,{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(X,{class:"rate-th-hint"},{default:l(()=>[n(f(ae))]),_:1})]),_:1},8,["content"])]),default:l(({row:v})=>[f(L)&&v[`visit${t}_count`]>0?(r(),g(E,{key:0,type:"primary",underline:!1,onClick:ct=>Q(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(c,{prop:`visit${t}_rate`,label:`${y(t)}接诊率`,"min-width":"96",align:"right"},{default:l(({row:v})=>[s(d(A(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:I.value,width:"980px",top:"6vh","destroy-on-close":""},{default:l(()=>[le((r(),g(ee,{data:k.value,size:"small",border:"",stripe:"","max-height":"60vh"},{default:l(()=>[Y.value==="assign"?(r(),_(V,{key:0},[n(c,{prop:"diagnosis_id",label:"诊单ID",width:"90"}),n(c,{prop:"patient_name",label:"患者","min-width":"100"},{default:l(({row:t})=>[f(T)&&t.diagnosis_id?(r(),g(E,{key:0,type:"primary",underline:!1,onClick:v=>W(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(c,{prop:"patient_phone",label:"联系电话","min-width":"120"},{default:l(({row:t})=>[s(d(t.patient_phone||"—"),1)]),_:1}),n(c,{prop:"assistant_names",label:"被指派医助","min-width":"140","show-overflow-tooltip":""}),n(c,{prop:"assign_count",label:"当月指派次数",width:"110",align:"right"}),n(c,{prop:"last_assign_time_text",label:"最近指派时间","min-width":"160"})],64)):(r(),_(V,{key:1},[n(c,{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=>be(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(c,{prop:"diagnosis_id",label:"诊单ID",width:"90"}),n(c,{prop:"patient_name",label:"患者","min-width":"100"},{default:l(({row:t})=>[f(T)&&t.diagnosis_id?(r(),g(E,{key:0,type:"primary",underline:!1,onClick:v=>W(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(c,{prop:"amount",label:"金额",width:"100",align:"right"},{default:l(({row:t})=>[s("¥ "+d(t.amount),1)]),_:1}),n(c,{prop:"create_time_text",label:"下单时间","min-width":"160"}),n(c,{prop:"assistant_name",label:"持有医助","min-width":"100"}),n(c,{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:H,readonly:"","append-to-body":""},null,512),n(f(ue),{ref_key:"diagnosisEditRef",ref:J},null,512)])}}}),ft=qe(dt,[["__scopeId","data-v-d232729c"]]);export{ft as default}; diff --git a/server/public/admin/assets/index-bkWlwzQZ.js b/server/public/admin/assets/index-DZiQLFzx.js similarity index 84% rename from server/public/admin/assets/index-bkWlwzQZ.js rename to server/public/admin/assets/index-DZiQLFzx.js index 31a4e550..291b554c 100644 --- a/server/public/admin/assets/index-bkWlwzQZ.js +++ b/server/public/admin/assets/index-DZiQLFzx.js @@ -1 +1 @@ -import{o as t,q as s,r as n,s as a,ah as r,t as _}from"./.pnpm-9dA1PEvN.js";import{_ as c}from"./index-CJvXnF8Y.js";const i={class:"footer-btns"},d=t({__name:"index",props:{fixed:{type:Boolean,default:!0}},setup(e){return(o,l)=>(s(),n("div",i,[a("div",{class:"footer-btns__content",style:_(e.fixed?"position: fixed":"")},[r(o.$slots,"default",{},void 0,!0)],4)]))}}),m=c(d,[["__scopeId","data-v-0b44b424"]]);export{m as _}; +import{o as t,q as s,r as n,s as a,ah as r,t as _}from"./.pnpm-9dA1PEvN.js";import{_ as c}from"./index-BWzN7QIb.js";const i={class:"footer-btns"},d=t({__name:"index",props:{fixed:{type:Boolean,default:!0}},setup(e){return(o,l)=>(s(),n("div",i,[a("div",{class:"footer-btns__content",style:_(e.fixed?"position: fixed":"")},[r(o.$slots,"default",{},void 0,!0)],4)]))}}),m=c(d,[["__scopeId","data-v-0b44b424"]]);export{m as _}; diff --git a/server/public/admin/assets/index-CvXC5gLn.js b/server/public/admin/assets/index-D_CEK_fr.js similarity index 93% rename from server/public/admin/assets/index-CvXC5gLn.js rename to server/public/admin/assets/index-D_CEK_fr.js index 143c945a..68372490 100644 --- a/server/public/admin/assets/index-CvXC5gLn.js +++ b/server/public/admin/assets/index-D_CEK_fr.js @@ -1 +1 @@ -import{_ as B}from"./index-bkWlwzQZ.js";import{o as f,be as k,q as p,r as y,v as o,D as t,b9 as D,u as n,b6 as R,s as l,bc as N,bf as q,L as r,b7 as F,bg as I,ac as O,O as U,K as h,ba as j}from"./.pnpm-9dA1PEvN.js";import{r as c}from"./index-CJvXnF8Y.js";function G(){return c.get({url:"/recharge.recharge/getConfig"})}function K(u){return c.post({url:"/recharge.recharge/setConfig",params:u})}const L=f({name:"rechargeConfig"}),A=f({...L,setup(u){const a=j({status:1,min_amount:""}),i=async()=>{const m=await G();Object.assign(a,m)},g=async()=>{await K(a),i()};return i(),(m,e)=>{const d=q,b=N,_=R,v=F,C=D,V=I,E=h,x=B,w=k("perms");return p(),y("div",null,[o(V,{shadow:"never",class:"!border-none"},{header:t(()=>[...e[2]||(e[2]=[l("span",{class:"font-extrabold text-lg"},"充值设置",-1)])]),default:t(()=>[o(C,{model:n(a),"label-width":"120px"},{default:t(()=>[o(_,{label:"状态"},{default:t(()=>[l("div",null,[o(b,{modelValue:n(a).status,"onUpdate:modelValue":e[0]||(e[0]=s=>n(a).status=s),class:"ml-4"},{default:t(()=>[o(d,{value:1},{default:t(()=>[...e[3]||(e[3]=[r("开启",-1)])]),_:1}),o(d,{value:0},{default:t(()=>[...e[4]||(e[4]=[r("关闭",-1)])]),_:1})]),_:1},8,["modelValue"]),e[5]||(e[5]=l("div",{class:"form-tips"},"关闭或开启充值功能,关闭后将不显示充值入口",-1))])]),_:1}),o(_,{label:"最低充值金额"},{default:t(()=>[l("div",null,[o(v,{modelValue:n(a).min_amount,"onUpdate:modelValue":e[1]||(e[1]=s=>n(a).min_amount=s),placeholder:"请输入最低充值金额",clearable:""},null,8,["modelValue"]),e[6]||(e[6]=l("div",{class:"form-tips"}," 最低充值金额要求,不填或填0表示不限制最低充值金额 ",-1))])]),_:1})]),_:1},8,["model"])]),_:1}),O((p(),U(x,null,{default:t(()=>[o(E,{type:"primary",onClick:g},{default:t(()=>[...e[7]||(e[7]=[r("保存",-1)])]),_:1})]),_:1})),[[w,["recharge.recharge/setConfig"]]])])}}});export{A as default}; +import{_ as B}from"./index-DZiQLFzx.js";import{o as f,be as k,q as p,r as y,v as o,D as t,b9 as D,u as n,b6 as R,s as l,bc as N,bf as q,L as r,b7 as F,bg as I,ac as O,O as U,K as h,ba as j}from"./.pnpm-9dA1PEvN.js";import{r as c}from"./index-BWzN7QIb.js";function G(){return c.get({url:"/recharge.recharge/getConfig"})}function K(u){return c.post({url:"/recharge.recharge/setConfig",params:u})}const L=f({name:"rechargeConfig"}),A=f({...L,setup(u){const a=j({status:1,min_amount:""}),i=async()=>{const m=await G();Object.assign(a,m)},g=async()=>{await K(a),i()};return i(),(m,e)=>{const d=q,b=N,_=R,v=F,C=D,V=I,E=h,x=B,w=k("perms");return p(),y("div",null,[o(V,{shadow:"never",class:"!border-none"},{header:t(()=>[...e[2]||(e[2]=[l("span",{class:"font-extrabold text-lg"},"充值设置",-1)])]),default:t(()=>[o(C,{model:n(a),"label-width":"120px"},{default:t(()=>[o(_,{label:"状态"},{default:t(()=>[l("div",null,[o(b,{modelValue:n(a).status,"onUpdate:modelValue":e[0]||(e[0]=s=>n(a).status=s),class:"ml-4"},{default:t(()=>[o(d,{value:1},{default:t(()=>[...e[3]||(e[3]=[r("开启",-1)])]),_:1}),o(d,{value:0},{default:t(()=>[...e[4]||(e[4]=[r("关闭",-1)])]),_:1})]),_:1},8,["modelValue"]),e[5]||(e[5]=l("div",{class:"form-tips"},"关闭或开启充值功能,关闭后将不显示充值入口",-1))])]),_:1}),o(_,{label:"最低充值金额"},{default:t(()=>[l("div",null,[o(v,{modelValue:n(a).min_amount,"onUpdate:modelValue":e[1]||(e[1]=s=>n(a).min_amount=s),placeholder:"请输入最低充值金额",clearable:""},null,8,["modelValue"]),e[6]||(e[6]=l("div",{class:"form-tips"}," 最低充值金额要求,不填或填0表示不限制最低充值金额 ",-1))])]),_:1})]),_:1},8,["model"])]),_:1}),O((p(),U(x,null,{default:t(()=>[o(E,{type:"primary",onClick:g},{default:t(()=>[...e[7]||(e[7]=[r("保存",-1)])]),_:1})]),_:1})),[[w,["recharge.recharge/setConfig"]]])])}}});export{A as default}; diff --git a/server/public/admin/assets/index-DWVw_k3Z.js b/server/public/admin/assets/index-DdeUYyvt.js similarity index 92% rename from server/public/admin/assets/index-DWVw_k3Z.js rename to server/public/admin/assets/index-DdeUYyvt.js index ed7bb88a..4531b8d0 100644 --- a/server/public/admin/assets/index-DWVw_k3Z.js +++ b/server/public/admin/assets/index-DdeUYyvt.js @@ -1 +1 @@ -import{o as j,be as q,q as r,r as I,v as e,D as l,b9 as O,u as a,b6 as A,b7 as M,b8 as V,bm as G,bn as H,K as J,L as m,bg as Q,s as E,ac as y,O as c,bj as W,bk as X,br as Y,T as Z,bi as ee,C as te,P as ae,a8 as le,M as oe,ba as se,n as x}from"./.pnpm-9dA1PEvN.js";import{_ as ne}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as ie,i as de}from"./index-CJvXnF8Y.js";import{_ as re}from"./index.vue_vue_type_script_setup_true_lang-Bk4SMrCI.js";import{d as $,e as me}from"./post-BhGC5UYd.js";import{u as pe}from"./usePaging-Boz1Q6w3.js";import{_ as ue}from"./edit.vue_vue_type_script_setup_true_lang-DSqWTTUi.js";import"./index-BBemoNXE.js";const ce={class:"post-lists"},_e={class:"flex justify-end mt-4"},fe=j({name:"post"}),xe=j({...fe,setup(be){const _=le(),f=oe(!1),s=se({code:"",name:"",status:""}),{pager:d,getLists:b,resetPage:g,resetParams:D}=pe({fetchFun:$,params:s}),h=async()=>{var n;f.value=!0,await x(),(n=_.value)==null||n.open("add")},K=async n=>{var t,p;f.value=!0,await x(),(t=_.value)==null||t.open("edit"),(p=_.value)==null||p.getDetail(n)},P=async n=>{await de.confirm("确定要删除?"),await me({id:n}),b()};return b(),(n,t)=>{const p=M,v=A,w=H,T=G,u=J,B=re,R=O,C=Q,z=ie,i=X,L=Y,N=W,S=ne,k=q("perms"),U=ee;return r(),I("div",ce,[e(C,{class:"!border-none",shadow:"never"},{default:l(()=>[e(R,{ref:"formRef",class:"mb-[-16px]",model:a(s),inline:!0},{default:l(()=>[e(v,{class:"w-[280px]",label:"岗位编码"},{default:l(()=>[e(p,{modelValue:a(s).code,"onUpdate:modelValue":t[0]||(t[0]=o=>a(s).code=o),placeholder:"请输入岗位编码",clearable:"",onKeyup:V(a(g),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(v,{class:"w-[280px]",label:"岗位名称"},{default:l(()=>[e(p,{modelValue:a(s).name,"onUpdate:modelValue":t[1]||(t[1]=o=>a(s).name=o),clearable:"",onKeyup:V(a(g),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(v,{class:"w-[280px]",label:"岗位状态"},{default:l(()=>[e(T,{modelValue:a(s).status,"onUpdate:modelValue":t[2]||(t[2]=o=>a(s).status=o)},{default:l(()=>[e(w,{label:"全部",value:""}),e(w,{label:"正常",value:1}),e(w,{label:"停用",value:0})]),_:1},8,["modelValue"])]),_:1}),e(v,null,{default:l(()=>[e(u,{type:"primary",onClick:a(g)},{default:l(()=>[...t[6]||(t[6]=[m("查询",-1)])]),_:1},8,["onClick"]),e(u,{onClick:a(D)},{default:l(()=>[...t[7]||(t[7]=[m("重置",-1)])]),_:1},8,["onClick"]),e(B,{class:"ml-2.5","fetch-fun":a($),params:a(s),"page-size":a(d).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),e(C,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[E("div",null,[y((r(),c(u,{type:"primary",onClick:t[3]||(t[3]=o=>h())},{icon:l(()=>[e(z,{name:"el-icon-Plus"})]),default:l(()=>[t[8]||(t[8]=m(" 新增 ",-1))]),_:1})),[[k,["dept.jobs/add"]]])]),y((r(),c(N,{class:"mt-4",size:"large",data:a(d).lists},{default:l(()=>[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:l(({row:o})=>[e(L,{class:"ml-2",type:o.status?"primary":"danger"},{default:l(()=>[m(Z(o.status_desc),1)]),_:2},1032,["type"])]),_:1}),e(i,{label:"操作",width:"120",fixed:"right"},{default:l(({row:o})=>[y((r(),c(u,{type:"primary",link:"",onClick:F=>K(o)},{default:l(()=>[...t[9]||(t[9]=[m(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[k,["dept.jobs/edit"]]]),y((r(),c(u,{type:"danger",link:"",onClick:F=>P(o.id)},{default:l(()=>[...t[10]||(t[10]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])),[[k,["dept.jobs/delete"]]])]),_:1})]),_:1},8,["data"])),[[U,a(d).loading]]),E("div",_e,[e(S,{modelValue:a(d),"onUpdate:modelValue":t[4]||(t[4]=o=>te(d)?d.value=o:null),onChange:a(b)},null,8,["modelValue","onChange"])])]),_:1}),a(f)?(r(),c(ue,{key:0,ref_key:"editRef",ref:_,onSuccess:a(b),onClose:t[5]||(t[5]=o=>f.value=!1)},null,8,["onSuccess"])):ae("",!0)])}}});export{xe as default}; +import{o as j,be as q,q as r,r as I,v as e,D as l,b9 as O,u as a,b6 as A,b7 as M,b8 as V,bm as G,bn as H,K as J,L as m,bg as Q,s as E,ac as y,O as c,bj as W,bk as X,br as Y,T as Z,bi as ee,C as te,P as ae,a8 as le,M as oe,ba as se,n as x}from"./.pnpm-9dA1PEvN.js";import{_ as ne}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as ie,i as de}from"./index-BWzN7QIb.js";import{_ as re}from"./index.vue_vue_type_script_setup_true_lang-DbClaUqT.js";import{d as $,e as me}from"./post-BafSyy6d.js";import{u as pe}from"./usePaging-Boz1Q6w3.js";import{_ as ue}from"./edit.vue_vue_type_script_setup_true_lang-Dqv5nVx5.js";import"./index-dYaCh-CN.js";const ce={class:"post-lists"},_e={class:"flex justify-end mt-4"},fe=j({name:"post"}),xe=j({...fe,setup(be){const _=le(),f=oe(!1),s=se({code:"",name:"",status:""}),{pager:d,getLists:b,resetPage:g,resetParams:D}=pe({fetchFun:$,params:s}),h=async()=>{var n;f.value=!0,await x(),(n=_.value)==null||n.open("add")},K=async n=>{var t,p;f.value=!0,await x(),(t=_.value)==null||t.open("edit"),(p=_.value)==null||p.getDetail(n)},P=async n=>{await de.confirm("确定要删除?"),await me({id:n}),b()};return b(),(n,t)=>{const p=M,v=A,w=H,T=G,u=J,B=re,R=O,C=Q,z=ie,i=X,L=Y,N=W,S=ne,k=q("perms"),U=ee;return r(),I("div",ce,[e(C,{class:"!border-none",shadow:"never"},{default:l(()=>[e(R,{ref:"formRef",class:"mb-[-16px]",model:a(s),inline:!0},{default:l(()=>[e(v,{class:"w-[280px]",label:"岗位编码"},{default:l(()=>[e(p,{modelValue:a(s).code,"onUpdate:modelValue":t[0]||(t[0]=o=>a(s).code=o),placeholder:"请输入岗位编码",clearable:"",onKeyup:V(a(g),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(v,{class:"w-[280px]",label:"岗位名称"},{default:l(()=>[e(p,{modelValue:a(s).name,"onUpdate:modelValue":t[1]||(t[1]=o=>a(s).name=o),clearable:"",onKeyup:V(a(g),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(v,{class:"w-[280px]",label:"岗位状态"},{default:l(()=>[e(T,{modelValue:a(s).status,"onUpdate:modelValue":t[2]||(t[2]=o=>a(s).status=o)},{default:l(()=>[e(w,{label:"全部",value:""}),e(w,{label:"正常",value:1}),e(w,{label:"停用",value:0})]),_:1},8,["modelValue"])]),_:1}),e(v,null,{default:l(()=>[e(u,{type:"primary",onClick:a(g)},{default:l(()=>[...t[6]||(t[6]=[m("查询",-1)])]),_:1},8,["onClick"]),e(u,{onClick:a(D)},{default:l(()=>[...t[7]||(t[7]=[m("重置",-1)])]),_:1},8,["onClick"]),e(B,{class:"ml-2.5","fetch-fun":a($),params:a(s),"page-size":a(d).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),e(C,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[E("div",null,[y((r(),c(u,{type:"primary",onClick:t[3]||(t[3]=o=>h())},{icon:l(()=>[e(z,{name:"el-icon-Plus"})]),default:l(()=>[t[8]||(t[8]=m(" 新增 ",-1))]),_:1})),[[k,["dept.jobs/add"]]])]),y((r(),c(N,{class:"mt-4",size:"large",data:a(d).lists},{default:l(()=>[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:l(({row:o})=>[e(L,{class:"ml-2",type:o.status?"primary":"danger"},{default:l(()=>[m(Z(o.status_desc),1)]),_:2},1032,["type"])]),_:1}),e(i,{label:"操作",width:"120",fixed:"right"},{default:l(({row:o})=>[y((r(),c(u,{type:"primary",link:"",onClick:F=>K(o)},{default:l(()=>[...t[9]||(t[9]=[m(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[k,["dept.jobs/edit"]]]),y((r(),c(u,{type:"danger",link:"",onClick:F=>P(o.id)},{default:l(()=>[...t[10]||(t[10]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])),[[k,["dept.jobs/delete"]]])]),_:1})]),_:1},8,["data"])),[[U,a(d).loading]]),E("div",_e,[e(S,{modelValue:a(d),"onUpdate:modelValue":t[4]||(t[4]=o=>te(d)?d.value=o:null),onChange:a(b)},null,8,["modelValue","onChange"])])]),_:1}),a(f)?(r(),c(ue,{key:0,ref_key:"editRef",ref:_,onSuccess:a(b),onClose:t[5]||(t[5]=o=>f.value=!1)},null,8,["onSuccess"])):ae("",!0)])}}});export{xe as default}; diff --git a/server/public/admin/assets/index-Bi-znQuU.js b/server/public/admin/assets/index-DiYMHmVj.js similarity index 88% rename from server/public/admin/assets/index-Bi-znQuU.js rename to server/public/admin/assets/index-DiYMHmVj.js index fd42fc0d..3eb0cd97 100644 --- a/server/public/admin/assets/index-Bi-znQuU.js +++ b/server/public/admin/assets/index-DiYMHmVj.js @@ -1 +1 @@ -import{o as x,ap as S,be as T,q as s,r as z,v as e,D as o,b9 as A,u as n,b6 as M,b7 as q,b8 as k,K as O,L as _,bg as G,ac as f,bi as H,O as m,s as V,bj as J,bk as Q,a0 as W,I as X,C as Y,P as Z,a8 as ee,ba as ae,M as te,n as E}from"./.pnpm-9dA1PEvN.js";import{_ as oe}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as le,i as ne,_ as ie}from"./index-CJvXnF8Y.js";import{a as se,b as de,c as me}from"./admin-Bb0DLbGs.js";import{u as re}from"./usePaging-Boz1Q6w3.js";import pe from"./edit-ZjGLDII9.js";import"./picker-DWQ_BAep.js";import"./index-BBemoNXE.js";import"./index-CY1mb9yY.js";import"./index-CAGpCz28.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./department-DYCfZwei.js";import"./post-BhGC5UYd.js";import"./useDictOptions-bKMXOe8R.js";const ce={class:"doctor-list"},ue={class:"mt-4"},_e={class:"flex mt-4 justify-end"},fe=x({name:"doctorList"}),be=x({...fe,setup(ve){const b=ee(),d=ae({account:"",name:"",role_id:1,apply_data_scope:1}),v=te(!1),{pager:r,getLists:p,resetParams:D,resetPage:w}=re({fetchFun:se,params:d}),P=t=>{de({id:t.id,avatar:t.avatar,account:t.account,name:t.name,role_id:t.role_id,jobs_id:t.jobs_id,dept_id:t.dept_id,disable:t.disable,multipoint_login:t.multipoint_login}).finally(()=>{p()})},I=async()=>{var t;v.value=!0,await E(),(t=b.value)==null||t.open("add")},K=async t=>{var a,c;v.value=!0,await E(),(a=b.value)==null||a.open("edit"),(c=b.value)==null||c.setFormData(t)},$=async t=>{await ne.confirm("确定要删除该医生吗?"),await me({id:t}),p()};return S(()=>{p()}),(t,a)=>{const c=q,y=M,u=O,B=A,C=G,L=le,i=Q,U=W,j=X,F=J,N=oe,g=T("perms"),R=H;return s(),z("div",ce,[e(C,{class:"!border-none",shadow:"never"},{default:o(()=>[e(B,{class:"mb-[-16px]",model:n(d),inline:""},{default:o(()=>[e(y,{class:"w-[280px]",label:"医生账号"},{default:o(()=>[e(c,{modelValue:n(d).account,"onUpdate:modelValue":a[0]||(a[0]=l=>n(d).account=l),placeholder:"请输入医生账号",clearable:"",onKeyup:k(n(w),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(y,{class:"w-[280px]",label:"医生名称"},{default:o(()=>[e(c,{modelValue:n(d).name,"onUpdate:modelValue":a[1]||(a[1]=l=>n(d).name=l),placeholder:"请输入医生名称",clearable:"",onKeyup:k(n(w),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(y,null,{default:o(()=>[e(u,{type:"primary",onClick:n(w)},{default:o(()=>[...a[4]||(a[4]=[_("查询",-1)])]),_:1},8,["onClick"]),e(u,{onClick:n(D)},{default:o(()=>[...a[5]||(a[5]=[_("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),f((s(),m(C,{class:"mt-4 !border-none",shadow:"never"},{default:o(()=>[f((s(),m(u,{type:"primary",onClick:I},{icon:o(()=>[e(L,{name:"el-icon-Plus"})]),default:o(()=>[a[6]||(a[6]=_(" 新增医生 ",-1))]),_:1})),[[g,["auth.admin/add"]]]),V("div",ue,[e(F,{data:n(r).lists,size:"large"},{default:o(()=>[e(i,{label:"ID",prop:"id","min-width":"60"}),e(i,{label:"头像","min-width":"100"},{default:o(({row:l})=>[e(U,{size:50,src:l.avatar},null,8,["src"])]),_:1}),e(i,{label:"账号",prop:"account","min-width":"120"}),e(i,{label:"姓名",prop:"name","min-width":"100"}),e(i,{label:"手机号",prop:"phone","min-width":"120"}),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"}),f((s(),m(i,{label:"状态","min-width":"100"},{default:o(({row:l})=>[e(j,{modelValue:l.disable,"onUpdate:modelValue":h=>l.disable=h,"active-value":0,"inactive-value":1,onChange:h=>P(l)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1})),[[g,["auth.admin/edit"]]]),e(i,{label:"操作",width:"120",fixed:"right"},{default:o(({row:l})=>[f((s(),m(u,{type:"primary",link:"",onClick:h=>K(l)},{default:o(()=>[...a[7]||(a[7]=[_(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[g,["auth.admin/edit"]]]),f((s(),m(u,{type:"danger",link:"",onClick:h=>$(l.id)},{default:o(()=>[...a[8]||(a[8]=[_(" 删除 ",-1)])]),_:1},8,["onClick"])),[[g,["auth.admin/delete"]]])]),_:1})]),_:1},8,["data"])]),V("div",_e,[e(N,{modelValue:n(r),"onUpdate:modelValue":a[2]||(a[2]=l=>Y(r)?r.value=l:null),onChange:n(p)},null,8,["modelValue","onChange"])])]),_:1})),[[R,n(r).loading]]),n(v)?(s(),m(pe,{key:0,ref_key:"editRef",ref:b,onSuccess:n(p),onClose:a[3]||(a[3]=l=>v.value=!1)},null,8,["onSuccess"])):Z("",!0)])}}}),Ue=ie(be,[["__scopeId","data-v-d8a6b685"]]);export{Ue as default}; +import{o as x,ap as S,be as T,q as s,r as z,v as e,D as o,b9 as A,u as n,b6 as M,b7 as q,b8 as k,K as O,L as _,bg as G,ac as f,bi as H,O as m,s as V,bj as J,bk as Q,a0 as W,I as X,C as Y,P as Z,a8 as ee,ba as ae,M as te,n as E}from"./.pnpm-9dA1PEvN.js";import{_ as oe}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as le,i as ne,_ as ie}from"./index-BWzN7QIb.js";import{a as se,b as de,c as me}from"./admin-CMuAzCyP.js";import{u as re}from"./usePaging-Boz1Q6w3.js";import pe from"./edit-DQr-ajsm.js";import"./picker-DfI3CPnQ.js";import"./index-dYaCh-CN.js";import"./index-xDQ_OZln.js";import"./index-fA0EWEUO.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./department-BABv4GiI.js";import"./post-BafSyy6d.js";import"./useDictOptions-BeE4yyHx.js";const ce={class:"doctor-list"},ue={class:"mt-4"},_e={class:"flex mt-4 justify-end"},fe=x({name:"doctorList"}),be=x({...fe,setup(ve){const b=ee(),d=ae({account:"",name:"",role_id:1,apply_data_scope:1}),v=te(!1),{pager:r,getLists:p,resetParams:D,resetPage:w}=re({fetchFun:se,params:d}),P=t=>{de({id:t.id,avatar:t.avatar,account:t.account,name:t.name,role_id:t.role_id,jobs_id:t.jobs_id,dept_id:t.dept_id,disable:t.disable,multipoint_login:t.multipoint_login}).finally(()=>{p()})},I=async()=>{var t;v.value=!0,await E(),(t=b.value)==null||t.open("add")},K=async t=>{var a,c;v.value=!0,await E(),(a=b.value)==null||a.open("edit"),(c=b.value)==null||c.setFormData(t)},$=async t=>{await ne.confirm("确定要删除该医生吗?"),await me({id:t}),p()};return S(()=>{p()}),(t,a)=>{const c=q,y=M,u=O,B=A,C=G,L=le,i=Q,U=W,j=X,F=J,N=oe,g=T("perms"),R=H;return s(),z("div",ce,[e(C,{class:"!border-none",shadow:"never"},{default:o(()=>[e(B,{class:"mb-[-16px]",model:n(d),inline:""},{default:o(()=>[e(y,{class:"w-[280px]",label:"医生账号"},{default:o(()=>[e(c,{modelValue:n(d).account,"onUpdate:modelValue":a[0]||(a[0]=l=>n(d).account=l),placeholder:"请输入医生账号",clearable:"",onKeyup:k(n(w),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(y,{class:"w-[280px]",label:"医生名称"},{default:o(()=>[e(c,{modelValue:n(d).name,"onUpdate:modelValue":a[1]||(a[1]=l=>n(d).name=l),placeholder:"请输入医生名称",clearable:"",onKeyup:k(n(w),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(y,null,{default:o(()=>[e(u,{type:"primary",onClick:n(w)},{default:o(()=>[...a[4]||(a[4]=[_("查询",-1)])]),_:1},8,["onClick"]),e(u,{onClick:n(D)},{default:o(()=>[...a[5]||(a[5]=[_("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),f((s(),m(C,{class:"mt-4 !border-none",shadow:"never"},{default:o(()=>[f((s(),m(u,{type:"primary",onClick:I},{icon:o(()=>[e(L,{name:"el-icon-Plus"})]),default:o(()=>[a[6]||(a[6]=_(" 新增医生 ",-1))]),_:1})),[[g,["auth.admin/add"]]]),V("div",ue,[e(F,{data:n(r).lists,size:"large"},{default:o(()=>[e(i,{label:"ID",prop:"id","min-width":"60"}),e(i,{label:"头像","min-width":"100"},{default:o(({row:l})=>[e(U,{size:50,src:l.avatar},null,8,["src"])]),_:1}),e(i,{label:"账号",prop:"account","min-width":"120"}),e(i,{label:"姓名",prop:"name","min-width":"100"}),e(i,{label:"手机号",prop:"phone","min-width":"120"}),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"}),f((s(),m(i,{label:"状态","min-width":"100"},{default:o(({row:l})=>[e(j,{modelValue:l.disable,"onUpdate:modelValue":h=>l.disable=h,"active-value":0,"inactive-value":1,onChange:h=>P(l)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1})),[[g,["auth.admin/edit"]]]),e(i,{label:"操作",width:"120",fixed:"right"},{default:o(({row:l})=>[f((s(),m(u,{type:"primary",link:"",onClick:h=>K(l)},{default:o(()=>[...a[7]||(a[7]=[_(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[g,["auth.admin/edit"]]]),f((s(),m(u,{type:"danger",link:"",onClick:h=>$(l.id)},{default:o(()=>[...a[8]||(a[8]=[_(" 删除 ",-1)])]),_:1},8,["onClick"])),[[g,["auth.admin/delete"]]])]),_:1})]),_:1},8,["data"])]),V("div",_e,[e(N,{modelValue:n(r),"onUpdate:modelValue":a[2]||(a[2]=l=>Y(r)?r.value=l:null),onChange:n(p)},null,8,["modelValue","onChange"])])]),_:1})),[[R,n(r).loading]]),n(v)?(s(),m(pe,{key:0,ref_key:"editRef",ref:b,onSuccess:n(p),onClose:a[3]||(a[3]=l=>v.value=!1)},null,8,["onSuccess"])):Z("",!0)])}}}),Ue=ie(be,[["__scopeId","data-v-d8a6b685"]]);export{Ue as default}; diff --git a/server/public/admin/assets/index-B7QVL9Pt.js b/server/public/admin/assets/index-Dpqz-I2j.js similarity index 94% rename from server/public/admin/assets/index-B7QVL9Pt.js rename to server/public/admin/assets/index-Dpqz-I2j.js index 28bcacd4..44ddc297 100644 --- a/server/public/admin/assets/index-B7QVL9Pt.js +++ b/server/public/admin/assets/index-Dpqz-I2j.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DSANIFY1.js","assets/.pnpm-9dA1PEvN.js","assets/.pnpm-LiWq8Xu0.css","assets/tcm-DOD9_1Um.js","assets/index-CJvXnF8Y.js","assets/index-or10At3s.css","assets/perm-BLNmf25V.js","assets/DailyMatrix-_4SdP1CQ.js","assets/picker-DWQ_BAep.js","assets/index-BBemoNXE.js","assets/index-dh40Du6y.css","assets/index-CY1mb9yY.js","assets/index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js","assets/index-CAGpCz28.js","assets/index-BYMg0OFw.css","assets/index-DMkcmA29.js","assets/file-BJDA0rIT.js","assets/index.vue_vue_type_script_setup_true_lang-Blf417m7.js","assets/usePaging-Boz1Q6w3.js","assets/index-D6uL8V1j.css","assets/picker-CLzhBfnG.css","assets/DiagnosisTodoList-wLDuYeQL.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix--Ay5C05Q.css","assets/CaseRecordList-BdOS8uCk.js","assets/CaseRecordList-DEgrl9PS.css","assets/CallRecordPanel-B5TNiiYq.js","assets/RecordingPlaybackBlock-C4Gpp-2c.js","assets/RecordingVideoPlayer-BFQjIPtM.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-p7h_1hh9.css","assets/ImChatRecordPanel-Dupe02qF.js","assets/dayjs-BsOAYQJw.js","assets/im-business-message-parse-DmDISFGN.js","assets/ImChatRecordPanel-BRnJl8ir.css","assets/AssignLogPanel-7M3l9W5C.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DxULo4tR.js","assets/doctor-Bmtf1eZE.js","assets/AppointmentRecordPanel-BWS3OyF0.css","assets/NoteTimeline-BiPgEoRT.js","assets/patient-CwTOvUDt.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-CbJRHf8i.js","assets/PrescriptionOrderDetailDrawer-66DcVm3d.js","assets/prescription-order-utils-B0fYlULc.js","assets/PrescriptionOrderDetailDrawer-DL92yzHH.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-D33qlDjf.js","assets/index-BANIMLkY.js","assets/medicine-CQDW2OUZ.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-DxQanmqx.css","assets/edit-Cgsl1tY9.css","assets/TrackingNoteTimeline-C-2kS81H.css","assets/detail-BRMb37XJ.js","assets/appointment-CqsTw3IO.js","assets/appointment-DHf6UVnR.css","assets/AssistantWatchCallDialog-G7c26KAa.js","assets/AssistantWatchCallDialog-BYViF8Fb.css"])))=>i.map(i=>d[i]); -import{o as mt,R as Da,Q as wa,ap as Ea,aq as Aa,be as Ra,q as i,r as u,v as l,D as s,s as r,F as D,G as I,ae as ie,u as n,L as c,T as p,P as b,b7 as Ia,b8 as Na,K as $a,w as Sa,ck as lt,ac as q,bm as Ta,O as v,bn as za,ad as La,bg as Pa,bj as Fa,bk as Oa,br as Wa,a1 as Ua,$ as qa,Z as Ma,_ as Qa,cl as Ya,bE as st,cO as Ba,bH as Ha,d1 as ja,bi as Ka,C as M,b5 as Ga,bt as Ja,b9 as Xa,b6 as Za,bd as en,J as tn,c0 as an,c1 as nn,bD as ln,aa as sn,B as on,cb as be,al as he,ba as Le,M as m,p as X}from"./.pnpm-9dA1PEvN.js";import{_ as dn}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{aq as ke,i as rn,Q as un,ar as it,at as cn,a2 as ot,au as dt,av as mn,aw as pn,ax as _n,ay as fn}from"./tcm-DOD9_1Um.js";import{d as vn}from"./department-DYCfZwei.js";import{i as gn}from"./order-CNletQ6l.js";import{m as yn}from"./doctor-Bmtf1eZE.js";import{u as bn}from"./usePaging-Boz1Q6w3.js";import{u as hn,m as rt,i as g,_ as kn}from"./index-CJvXnF8Y.js";import{g as ut}from"./weapp-CBfJD55Y.js";import{h as B}from"./perm-BLNmf25V.js";import{d as ct}from"./dayjs-BsOAYQJw.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"},Tn={key:0,class:"list-selected"},zn={class:"table-wrap px-4"},Ln={class:"patient-cell"},Pn={class:"patient-info"},Fn={class:"patient-name"},On={class:"patient-cell"},Wn={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"},jn={key:0,class:"followup-cell"},Kn={class:"followup-time"},Gn={class:"followup-doctor"},Jn={key:0,class:"followup-count"},Xn={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"},cl={class:"flex flex-col items-center justify-center py-4"},ml={key:0,class:"text-center"},pl={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"},bl={class:"text-gray-500"},hl={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"},Tl={class:"text-xs text-gray-400"},zl={class:"record-content"},Ll={key:0,class:"mt-1"},Pl={key:2,class:"text-center mt-4"},Fl=mt({name:"tcmDiagnosis"}),Ol=mt({...Fl,setup(Wl){const pt=be(()=>he(()=>import("./edit-DSANIFY1.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]))),_t=be(()=>he(()=>import("./detail-BRMb37XJ.js"),__vite__mapDeps([58,9,1,2,4,5,10,3]))),ft=be(()=>he(()=>import("./appointment-CqsTw3IO.js"),__vite__mapDeps([59,1,2,34,3,4,5,40,60]))),vt=be(()=>he(()=>import("./AssistantWatchCallDialog-G7c26KAa.js"),__vite__mapDeps([61,1,2,3,4,5,62]))),gt=t=>{if(!t)return"-";const e=String(t).length===10?Number(t)*1e3:Number(t);return ct(e).format("YYYY-MM-DD HH:mm:ss")},Pe={only_has_prescription:"1"},_=Le({patient_name:"",diagnosis_type:"",syndrome_type:"",assistant_dept_id:"",assistant_id:"",start_time:"",end_time:"",diagnosis_confirmed:"",appointment_date:"",has_appointment:"",...Pe}),yt=m("all"),Z=m(!1),bt=[{label:"全部",value:""},{label:"已挂号",value:"1"},{label:"未挂号",value:"0"}],ht=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],kt=t=>{_.has_appointment=t,w.page=1,h(),S()},Ct=t=>{_.diagnosis_confirmed=t,w.page=1,h(),S()},ee=()=>{w.page=1,h(),S()},Vt=X(()=>[{label:"当天挂号",value:de.value},{label:"明天挂号",value:xe.value},{label:"后天挂号",value:De.value},{label:"全部",value:""}]),Ce=m({}),xt=async t=>{_.appointment_date=t,w.page=1,await h(),S()},Ve=t=>({...Pe,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([ke(Ve(de.value)),ke(Ve(xe.value)),ke(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||(h({silent:!0}).catch(()=>{}),S())}const H=t=>String(t).padStart(2,"0"),de=X(()=>{const t=new Date;return`${t.getFullYear()}-${H(t.getMonth()+1)}-${H(t.getDate())}`}),xe=X(()=>{const t=new Date;return t.setDate(t.getDate()+1),`${t.getFullYear()}-${H(t.getMonth()+1)}-${H(t.getDate())}`}),De=X(()=>{const t=new Date;return t.setDate(t.getDate()+2),`${t.getFullYear()}-${H(t.getMonth()+1)}-${H(t.getDate())}`}),Fe=m([]),Oe=m([]),L=m([]),We=m([]);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=X(()=>{const t=_.assistant_dept_id;if(t===""||t==null)return L.value;const e=Number(t);return Number.isFinite(e)?L.value.filter(d=>{const o=d.dept_ids;return!Array.isArray(o)||o.length===0?!1:o.map(Number).includes(e)}):L.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,h(),S()},Rt=async()=>{try{const[t,e,d,o]=await Promise.all([rt({type:"diagnosis_type"}),rt({type:"syndrome_type"}),rn(),vn()]);Fe.value=(t==null?void 0:t.diagnosis_type)||[],Oe.value=(e==null?void 0:e.syndrome_type)||[],L.value=d||[],We.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 L.value.find(d=>(typeof d.id=="string"?parseInt(d.id,10):d.id)===e)??null},Qe=t=>{if(!t&&t!==0||L.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||L.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:h}=bn({fetchFun:ke,params:_}),Be=()=>h({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,h(),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=m(),$t=m(),je=m(),re=m(null),ue=hn();Da([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 ce=m(!1),Ke=m(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)},Tt=t=>{Ke.value=Number(t.id)||0,ce.value=!0},zt=t=>St(t)&&B(["tcm.diagnosis/watchCall"]),me=t=>{var e;return((e=t.video_call_hint)==null?void 0:e.state)||"none"},Lt=t=>{const e=t.video_call_hint,d="点击进入实时房间(仅观看,不推流、不上麦)";return e!=null&&e.start_time?`${d}。开始时间:${gt(e.start_time)}`:d},Pt=t=>{const e=me(t);return e==="live"||e==="pending_room"},Ft=t=>me(t)==="pending_room"?"医生尚未接通或未同步房间号,接通后再点此进入":Lt(t),Ot=t=>{if(me(t)!=="live"){g.msgWarning("医生尚未接通或未同步房间号,请稍后再试");return}Tt(t)},Wt=t=>{const e=t.video_call_hint;return e!=null&&e.label?e.label:"暂无可旁观通话"},Ut=t=>{const e=me(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)||"—"},j=m(!1),pe=m(),Ee=m(!1),f=Le({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=pe.value)==null||e.clearValidate(),j.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=pe.value)==null||t.clearValidate()},Yt=async()=>{var t;try{await((t=pe.value)==null?void 0:t.validate()),Ee.value=!0;const e=await gn({patient_id:f.patient_id,order_type:f.order_type,amount:f.amount,remark:f.remark});j.value=!1,h();const d=e==null?void 0:e.order_no;if(d){T.value=!0,P.value=!0,F.value="",O.value={patient_name:f.patient_name,has_appointment:f.has_appointment,appointment_time_text:f.appointment_time_text};try{const o=await un({order_no:d});o!=null&&o.qrcode_url?F.value=o.qrcode_url:g.msgError("二维码生成失败")}catch(o){g.msgError((o==null?void 0:o.msg)||"生成二维码失败")}finally{P.value=!1}}}catch(e){console.error("创建订单失败:",e)}finally{Ee.value=!1}},T=m(!1),P=m(!1),F=m(""),O=m(null),Bt=X(()=>{const t=O.value;return t?t.has_appointment?t.appointment_time_text||"—":"未挂号":"—"}),Ae=m("小程序二维码"),Re=m("confirm"),W=m([]),Q=m(!1),Ie=m(!1),ae=m("batch"),ne=m(null),C=m({assistant_id:null,is_inherit:!1}),Ht=t=>{W.value=t.map(e=>e.id)},jt=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},Kt=()=>{if(W.value.length===0){g.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){g.msgWarning("请选择医助");return}Ie.value=!0;try{if(ae.value==="single")await it({id:ne.value.id,assistant_id:C.value.assistant_id,is_inherit:C.value.is_inherit?1:0});else{const t=W.value.map(e=>it({id:e,assistant_id:C.value.assistant_id,is_inherit:C.value.is_inherit?1:0}));await Promise.all(t),W.value=[]}Q.value=!1,h()}catch(t){console.error("指派失败:",t)}finally{Ie.value=!1}},Jt=()=>{te.value.open("add")},Xt=t=>{te.value.open("edit",t)},Zt=async t=>{await g.confirm("确定要删除该诊单吗?"),await _n({id:t}),h()},ea=(t,e)=>{switch(t){case"assign":jt(e);break;case"videoQr":if(!le(e)){g.msgWarning("仅「已预约」状态可生成视频二维码");return}Xe(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?g.msgWarning("已完成就诊,无法取消挂号"):g.msgWarning("该诊单未挂号或挂号信息异常");return}try{await g.confirm(`确定要取消患者「${t.patient_name}」的挂号吗?`),await yn({id:t.appointment_id}),g.msgSuccess("取消挂号成功"),h(),S()}catch(e){e!=="cancel"&&g.msgError((e==null?void 0:e.msg)||"取消挂号失败")}},la=t=>{var e;if(!t.patient_id){g.msgWarning("患者信息不完整");return}(e=je.value)==null||e.open(t)},K=m(!1),Ne=m(!1),Je=m(),N=Le({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||"",K.value=!0},oa=async()=>{var t;await((t=Je.value)==null?void 0:t.validate()),Ne.value=!0;try{await cn({id:N.id,id_card:N.id_card}),g.msgSuccess("补全成功,年龄已自动更新"),K.value=!1,h()}catch(e){g.msgError((e==null?void 0:e.msg)||"补全失败")}finally{Ne.value=!1}},Xe=async t=>{var e;if(!le(t)){g.msgWarning("仅「已预约」状态可生成视频二维码");return}if(!t.patient_id){g.msgWarning("患者信息不完整");return}Re.value="video",O.value=t,T.value=!0,P.value=!0,F.value="",Ae.value="视频二维码";try{const d=await ut();if(!(d!=null&&d.app_id)){g.msgError("小程序未配置,请先配置小程序信息"),T.value=!1;return}const o=await ot({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?F.value=o.qrcode_url:g.msgError("二维码生成失败")}catch(d){g.msgError((d==null?void 0:d.msg)||"生成二维码失败,请重试")}finally{P.value=!1}},Ze=async t=>{if(!le(t)){g.msgWarning("仅「已预约」状态可使用诊单二维码");return}if(!t.patient_id){g.msgWarning("患者信息不完整");return}Re.value="confirm",O.value=t,T.value=!0,P.value=!0,F.value="",Ae.value="诊单二维码";try{const e=await ut();if(!(e!=null&&e.app_id)){g.msgError("小程序未配置,请先配置小程序信息"),T.value=!1;return}const d=ue.userInfo,o=await ot({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?F.value=o.qrcode_url:g.msgError("二维码生成失败")}catch(e){console.error("生成小程序二维码失败:",e),g.msgError((e==null?void 0:e.msg)||"生成二维码失败,请重试")}finally{P.value=!1}},da=()=>{O.value&&(Re.value==="video"?Xe(O.value):Ze(O.value))},_e=m(!1),E=m(null),U=m([]),fe=m(0),$e=m(!1),A=m(null),Y=m(""),Se=m(!1),Te=m(1),ra=t=>{if(!t)return"-";const e=String(t).length===10?t*1e3:t;return ct(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="",Te.value=1,$e.value=!0;try{const[e,d]=await Promise.all([dt({diagnosis_id:t.id,patient_id:t.patient_id,page_no:1,page_size:20}),fn({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}},ca=async()=>{if(E.value){Te.value++;try{const t=await dt({diagnosis_id:E.value.id,patient_id:E.value.patient_id,page_no:Te.value,page_size:20});U.value.push(...(t==null?void 0:t.lists)||[])}catch(t){console.error("加载更多记录失败:",t)}}},ma=async()=>{var t;if(!Y.value.trim()){g.msgWarning("请输入内容");return}Se.value=!0;try{await mn({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){g.msgError((e==null?void 0:e.msg)||"添加失败")}finally{Se.value=!1}},pa=async t=>{await g.confirm("确定删除该记录吗?");try{await pn({id:t}),U.value=U.value.filter(e=>e.id!==t),fe.value--}catch(e){g.msgError((e==null?void 0:e.msg)||"删除失败")}},_a=wa();return Ea(()=>{_.appointment_date=de.value,Rt(),h(),Dt(),oe=setInterval(Et,wt);const t=_a.query.id;if(t!=null&&t!==""){const e=Number(t);Number.isNaN(e)||(re.value=e)}}),Aa(()=>{oe!=null&&(clearInterval(oe),oe=null)}),(t,e)=>{var nt;const d=Ia,o=$a,V=Sa,k=za,G=Ta,et=Pa,R=Oa,z=Wa,tt=Ua,J=Qa,fa=Ma,va=qa,ga=Fa,ya=dn,ve=Ja,$=Za,ba=en,ze=Xa,ha=tn,ge=nn,ka=an,Ca=ln,Va=sn,xa=on,se=Ra("perms"),at=Ka;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)},[c(p(a.label)+" ",1),a.value&&n(Ce)[a.value]!==void 0?(i(),u("em",wn,p(n(Ce)[a.value]),1)):b("",!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:Na(ee,["enter"])},null,8,["modelValue"]),l(o,{type:"primary",onClick:ee},{default:s(()=>[...e[25]||(e[25]=[c("查询",-1)])]),_:1})])]),r("div",An,[e[26]||(e[26]=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(_).has_appointment===a.value}]),onClick:x=>kt(a.value)},p(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(ht,a=>r("span",{key:a.value,class:ie(["chip","chip-sm",{active:n(_).diagnosis_confirmed===a.value}]),onClick:x=>Ct(a.value)},p(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(()=>[c(p(n(Z)?"收起":"更多筛选")+" ",1),l(V,{class:ie({"rotate-180":n(Z)})},{default:s(()=>[l(n(lt))]),_: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(We),a=>(i(),v(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(Fe),a=>(i(),v(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(Oe),a=>(i(),v(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(),v(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]=[c("重置",-1)])]),_:1})],512),[[La,n(Z)]])]),_:1}),l(et,{class:"!border-none mt-3 list-card",shadow:"never"},{default:s(()=>[r("div",$n,[r("div",Sn,[q((i(),v(o,{type:"primary",onClick:Jt},{default:s(()=>[...e[30]||(e[30]=[c("新增诊单",-1)])]),_:1})),[[se,["tcm.diagnosis/add"]]]),q((i(),v(o,{type:"success",onClick:Kt,disabled:n(W).length===0},{default:s(()=>[...e[31]||(e[31]=[c(" 批量指派医助 ",-1)])]),_:1},8,["disabled"])),[[se,["tcm.diagnosis/assign"]]])]),n(W).length>0?(i(),u("div",Tn,"已选 "+p(n(W).length)+" 条",1)):b("",!0)]),r("div",zn,[q((i(),v(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",Ln,[r("div",Pn,[r("div",Fn,[c(p(a.id)+" ",1),a.assign_read_at===null&&a.assistant_id>0?(i(),v(z,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-1"},{default:s(()=>[...e[32]||(e[32]=[c("NEW",-1)])]),_:1})):b("",!0)])])])]),_:1}),l(R,{label:"患者","min-width":"60"},{default:s(({row:a})=>[r("div",On,[r("div",Wn,[r("div",Un,p(a.patient_name),1)])])]),_:1}),l(R,{label:" 性别 / 年龄",width:"100",align:"left"},{default:s(({row:a})=>[r("div",null,p(a.gender_desc||"-")+" · "+p(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,p(ta(a)),1),r("div",Mn,p(a.appointment_doctor_name||"-"),1),r("div",Qn,p(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",jn,[r("div",Kn,p(a.followup_time_text||"—"),1),r("div",Gn,p(a.followup_doctor_name||"—"),1),a.followup_prescription_count>0?(i(),u("div",Jn," 第"+p(a.followup_prescription_count)+"次复诊 ",1)):b("",!0),a.followup_rx_voided?(i(),v(z,{key:1,type:"info",size:"small",effect:"plain",class:"followup-void-tag"},{default:s(()=>[...e[33]||(e[33]=[c(" 处方已作废 ",-1)])]),_:1})):b("",!0)])):(i(),u("span",Xn,"无"))]),_: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,p(Qe(a.assistant_id||a.assistant)),1),we(a.assistant_id||a.assistant)?(i(),u("div",tl,p(we(a.assistant_id||a.assistant)),1)):b("",!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,"("+p(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,[zt(a)?(i(),u(D,{key:0},[Pt(a)?(i(),v(tt,{key:0,content:Ft(a),placement:"top"},{default:s(()=>[r("span",il,[l(o,{type:"primary",link:"",size:"small",onClick:x=>Ot(a)},{default:s(()=>[...e[35]||(e[35]=[c(" 进入旁观 ",-1)])]),_:1},8,["onClick"])])]),_:2},1032,["content"])):(i(),u("span",ol,p(Wt(a)),1))],64)):(i(),u("span",dl,p(Ut(a)),1))])]),_:1}),l(R,{label:"操作",width:"260",fixed:"right",align:"left"},{default:s(({row:a})=>[r("div",rl,[q((i(),v(o,{type:"primary",link:"",size:"small",onClick:x=>Xt(a.id)},{default:s(()=>[...e[36]||(e[36]=[c("诊单",-1)])]),_:1},8,["onClick"])),[[se,["tcm.diagnosis/edit"]]]),q((i(),v(o,{type:"success",link:"",size:"small",onClick:x=>la(a)},{default:s(()=>[...e[37]||(e[37]=[c("预约",-1)])]),_:1},8,["onClick"])),[[se,["tcm.diagnosis/guahao"]]]),q((i(),v(o,{type:"warning",link:"",size:"small",onClick:x=>ia(a)},{default:s(()=>[...e[38]||(e[38]=[c("补全身份证",-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(),v(J,{key:0,command:"assign"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(Ya))]),_:1}),e[40]||(e[40]=c("指派",-1))]),_:1})):b("",!0),le(a)&&n(B)(["tcm.diagnosis/videoQr"])?(i(),v(J,{key:1,command:"videoQr"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(st))]),_:1}),e[41]||(e[41]=c("视频二维码",-1))]),_:1})):b("",!0),n(B)(["tcm.diagnosis/guahao"])&&le(a)?(i(),v(J,{key:2,command:"confirmQr"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(st))]),_:1}),e[42]||(e[42]=c("二维码",-1))]),_:1})):b("",!0),Ge(a)&&n(B)(["tcm.diagnosis/guahao"])?(i(),v(J,{key:3,command:"cancelApt"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(Ba))]),_:1}),e[43]||(e[43]=c("取消挂号",-1))]),_:1})):b("",!0),n(B)(["tcm.diagnosis/order"])?(i(),v(J,{key:4,command:"order"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(Ha))]),_:1}),e[44]||(e[44]=c("创建订单",-1))]),_:1})):b("",!0),n(B)(["tcm.diagnosis/delete"])?(i(),v(J,{key:5,command:"delete",divided:""},{default:s(()=>[l(V,null,{default:s(()=>[l(n(ja))]),_:1}),e[45]||(e[45]=r("span",{class:"text-danger"},"删除",-1))]),_:1})):b("",!0)]),_:2},1024)]),default:s(()=>[l(o,{type:"info",link:"",size:"small"},{default:s(()=>[e[39]||(e[39]=c("更多",-1)),l(V,{class:"el-icon--right"},{default:s(()=>[l(n(lt))]),_: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(h)},null,8,["modelValue","onChange"])])])]),_:1}),l(n(pt),{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:je,onSuccess:Be},null,512),l(n(vt),{modelValue:n(ce),"onUpdate:modelValue":e[7]||(e[7]=a=>M(ce)?ce.value=a:null),"diagnosis-id":n(Ke),onClosed:n(h)},null,8,["modelValue","diagnosis-id","onClosed"]),l(ve,{modelValue:n(T),"onUpdate:modelValue":e[9]||(e[9]=a=>M(T)?T.value=a:null),title:n(Ae),width:"400px","close-on-click-modal":!1},{footer:s(()=>[l(o,{onClick:e[8]||(e[8]=a=>T.value=!1)},{default:s(()=>[...e[48]||(e[48]=[c("关闭",-1)])]),_:1}),n(P)?b("",!0):(i(),v(o,{key:0,type:"primary",onClick:da},{default:s(()=>[...e[49]||(e[49]=[c(" 重新生成 ",-1)])]),_:1}))]),default:s(()=>{var a;return[r("div",cl,[n(P)?(i(),u("div",ml,[l(V,{class:"is-loading",size:40},{default:s(()=>[l(n(Ga))]),_:1}),e[46]||(e[46]=r("div",{class:"mt-4 text-gray-500"},"生成中...",-1))])):n(F)?(i(),u("div",pl,[r("img",{src:n(F),alt:"小程序二维码",class:"w-64 h-64 border border-gray-200 rounded"},null,8,_l),r("div",fl,[r("div",null,"患者:"+p((a=n(O))==null?void 0:a.patient_name),1),r("div",vl,"挂号时间:"+p(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]=[c("取消",-1)])]),_:1}),l(o,{type:"primary",onClick:Gt,loading:n(Ie)},{default:s(()=>[...e[53]||(e[53]=[c(" 确定指派 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(ze,{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(L),a=>(i(),v(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(ba,{modelValue:n(C).is_inherit,"onUpdate:modelValue":e[11]||(e[11]=a=>n(C).is_inherit=a)},{default:s(()=>[...e[50]||(e[50]=[c("继承",-1)])]),_:1},8,["modelValue"]),e[51]||(e[51]=r("span",{class:"text-gray-400 text-xs ml-2"},"勾选后写入指派记录",-1))]),_:1}),n(ae)==="batch"?(i(),v($,{key:0,label:"已选择"},{default:s(()=>[r("div",yl,p(n(W).length)+" 条诊单记录",1)]),_:1})):(i(),v($,{key:1,label:"诊单信息"},{default:s(()=>{var a,x;return[r("div",bl,[r("div",null,"患者:"+p((a=n(ne))==null?void 0:a.patient_name),1),r("div",null,"诊断日期:"+p((x=n(ne))==null?void 0:x.diagnosis_date_text),1)])]}),_:1}))]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),l(ve,{modelValue:n(j),"onUpdate:modelValue":e[18]||(e[18]=a=>M(j)?j.value=a:null),title:"创建订单",width:"600px",onClose:Qt},{footer:s(()=>[l(o,{onClick:e[17]||(e[17]=a=>j.value=!1)},{default:s(()=>[...e[54]||(e[54]=[c("取消",-1)])]),_:1}),l(o,{type:"primary",onClick:Yt,loading:n(Ee)},{default:s(()=>[...e[55]||(e[55]=[c("创建订单",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(ze,{ref_key:"orderFormRef",ref:pe,model:n(f),rules:qt,"label-width":"100px"},{default:s(()=>[l($,{label:"患者"},{default:s(()=>[r("span",hl,p(n(f).patient_name)+" ("+p(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(ha,{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(K),"onUpdate:modelValue":e[21]||(e[21]=a=>M(K)?K.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=>K.value=!1)},{default:s(()=>[...e[56]||(e[56]=[c("取消",-1)])]),_:1}),l(o,{type:"primary",onClick:oa,loading:n(Ne)},{default:s(()=>[...e[57]||(e[57]=[c("提交(自动更新年龄)",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(ze,{ref_key:"fillIdCardFormRef",ref:Je,model:n(N),rules:sa,"label-width":"80px"},{default:s(()=>[l($,{label:"患者"},{default:s(()=>[r("span",kl,p(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[c(p((y=n(E))==null?void 0:y.patient_name),1)]}),_:1}),l(ge,{label:"手机号"},{default:s(()=>[c(p(n(A).phone||"-"),1)]),_:1}),l(ge,{label:"企微联系人ID"},{default:s(()=>[n(A).external_userid?(i(),u("span",Vl,p(n(A).external_userid),1)):(i(),v(z,{key:1,type:"info",size:"small"},{default:s(()=>[...e[58]||(e[58]=[c("未关联",-1)])]),_:1}))]),_:1}),l(ge,{label:"会话存档"},{default:s(()=>[n(A).msgaudit_enabled?(i(),v(z,{key:0,type:"success",size:"small"},{default:s(()=>[...e[59]||(e[59]=[c("已开通",-1)])]),_:1})):(i(),v(z,{key:1,type:"info",size:"small"},{default:s(()=>[...e[60]||(e[60]=[c("未配置",-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(),v(z,{key:y,size:"small",class:"mr-1"},{default:s(()=>[c(p(y),1)]),_:2},1024))),128))])):b("",!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(),v(z,{key:ye,type:y.agree_status==="Agree"?"success":"warning",size:"small",class:"mr-1"},{default:s(()=>[c(p(y.userid)+": "+p(y.agree_status==="Agree"?"已同意":y.agree_status),1)]),_:2},1032,["type"]))),128))])):b("",!0)])):b("",!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:ma,loading:n(Se),class:"self-end"},{default:s(()=>[...e[63]||(e[63]=[c(" 添加 ",-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(z,{type:y.direction===0?"primary":"success",size:"small"},{default:s(()=>[c(p(y.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),r("span",$l,p(y.direction===0?y.staff_name:y.external_name||((ye=n(E))==null?void 0:ye.patient_name)),1),y.msg_type==="note"?(i(),v(z,{key:0,type:"warning",size:"small"},{default:s(()=>[...e[64]||(e[64]=[c("备注",-1)])]),_:1})):b("",!0)]),r("div",Sl,[r("span",Tl,p(ra(y.chat_time)),1),l(o,{type:"danger",link:"",size:"small",onClick:ql=>pa(y.id)},{default:s(()=>[...e[65]||(e[65]=[c(" 删除 ",-1)])]),_:1},8,["onClick"])])]),r("div",zl,p(y.content),1),y.media_url?(i(),u("div",Ll,[l(Va,{src:y.media_url,style:{"max-width":"200px"},fit:"contain","preview-src-list":[y.media_url]},null,8,["src","preview-src-list"])])):b("",!0)])}),128))])),n(fe)>n(U).length?(i(),u("div",Pl,[l(o,{link:"",type:"primary",onClick:ca},{default:s(()=>[...e[66]||(e[66]=[c("加载更多",-1)])]),_:1})])):b("",!0)])),[[at,n($e)]])]}),_:1},8,["modelValue","title"])])}}}),es=kn(Ol,[["__scopeId","data-v-a73ebde8"]]);export{es as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DxLWCQnV.js","assets/.pnpm-9dA1PEvN.js","assets/.pnpm-LiWq8Xu0.css","assets/tcm-Fi_swgCr.js","assets/index-BWzN7QIb.js","assets/index-or10At3s.css","assets/perm-BzF8JgcJ.js","assets/DailyMatrix-BOqZMkKS.js","assets/picker-DfI3CPnQ.js","assets/index-dYaCh-CN.js","assets/index-dh40Du6y.css","assets/index-xDQ_OZln.js","assets/index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js","assets/index-fA0EWEUO.js","assets/index-BYMg0OFw.css","assets/index-DFkJDhf6.js","assets/file-BL6iPgPC.js","assets/index.vue_vue_type_script_setup_true_lang-Blf417m7.js","assets/usePaging-Boz1Q6w3.js","assets/index-D6uL8V1j.css","assets/picker-CLzhBfnG.css","assets/DiagnosisTodoList-CAIMA53u.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix--Ay5C05Q.css","assets/CaseRecordList-DlCqPijV.js","assets/CaseRecordList-DEgrl9PS.css","assets/CallRecordPanel-CJ3iGibG.js","assets/RecordingPlaybackBlock-CN4w1UI-.js","assets/RecordingVideoPlayer-DIfduEP7.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-p7h_1hh9.css","assets/ImChatRecordPanel-BMjxk7mx.js","assets/dayjs-BsOAYQJw.js","assets/im-business-message-parse-DmDISFGN.js","assets/ImChatRecordPanel-BRnJl8ir.css","assets/AssignLogPanel-CF42MNq_.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DxBIlcME.js","assets/doctor-Chj6BcVp.js","assets/AppointmentRecordPanel-BWS3OyF0.css","assets/NoteTimeline-DxUNQs4y.js","assets/patient-Btpwd7dp.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-CKjXSixL.js","assets/PrescriptionOrderDetailDrawer-CEi7ZXfx.js","assets/prescription-order-utils-B0fYlULc.js","assets/PrescriptionOrderDetailDrawer-DL92yzHH.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-B5cu05RL.js","assets/index-CNLsF7Nt.js","assets/medicine-DezWRkkS.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-DxQanmqx.css","assets/edit-Cgsl1tY9.css","assets/TrackingNoteTimeline-C-2kS81H.css","assets/detail-DwhNQqa0.js","assets/appointment-Bc2rxQW1.js","assets/appointment-DHf6UVnR.css","assets/AssistantWatchCallDialog-CRByNVWz.js","assets/AssistantWatchCallDialog-BYViF8Fb.css"])))=>i.map(i=>d[i]); +import{o as mt,R as Da,Q as wa,ap as Ea,aq as Aa,be as Ra,q as i,r as u,v as l,D as s,s as r,F as D,G as I,ae as ie,u as n,L as c,T as p,P as b,b7 as Ia,b8 as Na,K as $a,w as Sa,ck as lt,ac as q,bm as Ta,O as v,bn as za,ad as La,bg as Pa,bj as Fa,bk as Oa,br as Wa,a1 as Ua,$ as qa,Z as Ma,_ as Qa,cl as Ya,bE as st,cO as Ba,bH as Ha,d1 as ja,bi as Ka,C as M,b5 as Ga,bt as Ja,b9 as Xa,b6 as Za,bd as en,J as tn,c0 as an,c1 as nn,bD as ln,aa as sn,B as on,cb as be,al as he,ba as Le,M as m,p as X}from"./.pnpm-9dA1PEvN.js";import{_ as dn}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{aq as ke,i as rn,Q as un,ar as it,at as cn,a2 as ot,au as dt,av as mn,aw as pn,ax as _n,ay as fn}from"./tcm-Fi_swgCr.js";import{d as vn}from"./department-BABv4GiI.js";import{i as gn}from"./order-B6cEisB-.js";import{m as yn}from"./doctor-Chj6BcVp.js";import{u as bn}from"./usePaging-Boz1Q6w3.js";import{u as hn,m as rt,i as g,_ as kn}from"./index-BWzN7QIb.js";import{g as ut}from"./weapp-TlfRpIke.js";import{h as B}from"./perm-BzF8JgcJ.js";import{d as ct}from"./dayjs-BsOAYQJw.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"},Tn={key:0,class:"list-selected"},zn={class:"table-wrap px-4"},Ln={class:"patient-cell"},Pn={class:"patient-info"},Fn={class:"patient-name"},On={class:"patient-cell"},Wn={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"},jn={key:0,class:"followup-cell"},Kn={class:"followup-time"},Gn={class:"followup-doctor"},Jn={key:0,class:"followup-count"},Xn={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"},cl={class:"flex flex-col items-center justify-center py-4"},ml={key:0,class:"text-center"},pl={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"},bl={class:"text-gray-500"},hl={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"},Tl={class:"text-xs text-gray-400"},zl={class:"record-content"},Ll={key:0,class:"mt-1"},Pl={key:2,class:"text-center mt-4"},Fl=mt({name:"tcmDiagnosis"}),Ol=mt({...Fl,setup(Wl){const pt=be(()=>he(()=>import("./edit-DxLWCQnV.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]))),_t=be(()=>he(()=>import("./detail-DwhNQqa0.js"),__vite__mapDeps([58,9,1,2,4,5,10,3]))),ft=be(()=>he(()=>import("./appointment-Bc2rxQW1.js"),__vite__mapDeps([59,1,2,34,3,4,5,40,60]))),vt=be(()=>he(()=>import("./AssistantWatchCallDialog-CRByNVWz.js"),__vite__mapDeps([61,1,2,3,4,5,62]))),gt=t=>{if(!t)return"-";const e=String(t).length===10?Number(t)*1e3:Number(t);return ct(e).format("YYYY-MM-DD HH:mm:ss")},Pe={only_has_prescription:"1"},_=Le({patient_name:"",diagnosis_type:"",syndrome_type:"",assistant_dept_id:"",assistant_id:"",start_time:"",end_time:"",diagnosis_confirmed:"",appointment_date:"",has_appointment:"",...Pe}),yt=m("all"),Z=m(!1),bt=[{label:"全部",value:""},{label:"已挂号",value:"1"},{label:"未挂号",value:"0"}],ht=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],kt=t=>{_.has_appointment=t,w.page=1,h(),S()},Ct=t=>{_.diagnosis_confirmed=t,w.page=1,h(),S()},ee=()=>{w.page=1,h(),S()},Vt=X(()=>[{label:"当天挂号",value:de.value},{label:"明天挂号",value:xe.value},{label:"后天挂号",value:De.value},{label:"全部",value:""}]),Ce=m({}),xt=async t=>{_.appointment_date=t,w.page=1,await h(),S()},Ve=t=>({...Pe,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([ke(Ve(de.value)),ke(Ve(xe.value)),ke(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||(h({silent:!0}).catch(()=>{}),S())}const H=t=>String(t).padStart(2,"0"),de=X(()=>{const t=new Date;return`${t.getFullYear()}-${H(t.getMonth()+1)}-${H(t.getDate())}`}),xe=X(()=>{const t=new Date;return t.setDate(t.getDate()+1),`${t.getFullYear()}-${H(t.getMonth()+1)}-${H(t.getDate())}`}),De=X(()=>{const t=new Date;return t.setDate(t.getDate()+2),`${t.getFullYear()}-${H(t.getMonth()+1)}-${H(t.getDate())}`}),Fe=m([]),Oe=m([]),L=m([]),We=m([]);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=X(()=>{const t=_.assistant_dept_id;if(t===""||t==null)return L.value;const e=Number(t);return Number.isFinite(e)?L.value.filter(d=>{const o=d.dept_ids;return!Array.isArray(o)||o.length===0?!1:o.map(Number).includes(e)}):L.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,h(),S()},Rt=async()=>{try{const[t,e,d,o]=await Promise.all([rt({type:"diagnosis_type"}),rt({type:"syndrome_type"}),rn(),vn()]);Fe.value=(t==null?void 0:t.diagnosis_type)||[],Oe.value=(e==null?void 0:e.syndrome_type)||[],L.value=d||[],We.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 L.value.find(d=>(typeof d.id=="string"?parseInt(d.id,10):d.id)===e)??null},Qe=t=>{if(!t&&t!==0||L.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||L.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:h}=bn({fetchFun:ke,params:_}),Be=()=>h({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,h(),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=m(),$t=m(),je=m(),re=m(null),ue=hn();Da([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 ce=m(!1),Ke=m(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)},Tt=t=>{Ke.value=Number(t.id)||0,ce.value=!0},zt=t=>St(t)&&B(["tcm.diagnosis/watchCall"]),me=t=>{var e;return((e=t.video_call_hint)==null?void 0:e.state)||"none"},Lt=t=>{const e=t.video_call_hint,d="点击进入实时房间(仅观看,不推流、不上麦)";return e!=null&&e.start_time?`${d}。开始时间:${gt(e.start_time)}`:d},Pt=t=>{const e=me(t);return e==="live"||e==="pending_room"},Ft=t=>me(t)==="pending_room"?"医生尚未接通或未同步房间号,接通后再点此进入":Lt(t),Ot=t=>{if(me(t)!=="live"){g.msgWarning("医生尚未接通或未同步房间号,请稍后再试");return}Tt(t)},Wt=t=>{const e=t.video_call_hint;return e!=null&&e.label?e.label:"暂无可旁观通话"},Ut=t=>{const e=me(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)||"—"},j=m(!1),pe=m(),Ee=m(!1),f=Le({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=pe.value)==null||e.clearValidate(),j.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=pe.value)==null||t.clearValidate()},Yt=async()=>{var t;try{await((t=pe.value)==null?void 0:t.validate()),Ee.value=!0;const e=await gn({patient_id:f.patient_id,order_type:f.order_type,amount:f.amount,remark:f.remark});j.value=!1,h();const d=e==null?void 0:e.order_no;if(d){T.value=!0,P.value=!0,F.value="",O.value={patient_name:f.patient_name,has_appointment:f.has_appointment,appointment_time_text:f.appointment_time_text};try{const o=await un({order_no:d});o!=null&&o.qrcode_url?F.value=o.qrcode_url:g.msgError("二维码生成失败")}catch(o){g.msgError((o==null?void 0:o.msg)||"生成二维码失败")}finally{P.value=!1}}}catch(e){console.error("创建订单失败:",e)}finally{Ee.value=!1}},T=m(!1),P=m(!1),F=m(""),O=m(null),Bt=X(()=>{const t=O.value;return t?t.has_appointment?t.appointment_time_text||"—":"未挂号":"—"}),Ae=m("小程序二维码"),Re=m("confirm"),W=m([]),Q=m(!1),Ie=m(!1),ae=m("batch"),ne=m(null),C=m({assistant_id:null,is_inherit:!1}),Ht=t=>{W.value=t.map(e=>e.id)},jt=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},Kt=()=>{if(W.value.length===0){g.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){g.msgWarning("请选择医助");return}Ie.value=!0;try{if(ae.value==="single")await it({id:ne.value.id,assistant_id:C.value.assistant_id,is_inherit:C.value.is_inherit?1:0});else{const t=W.value.map(e=>it({id:e,assistant_id:C.value.assistant_id,is_inherit:C.value.is_inherit?1:0}));await Promise.all(t),W.value=[]}Q.value=!1,h()}catch(t){console.error("指派失败:",t)}finally{Ie.value=!1}},Jt=()=>{te.value.open("add")},Xt=t=>{te.value.open("edit",t)},Zt=async t=>{await g.confirm("确定要删除该诊单吗?"),await _n({id:t}),h()},ea=(t,e)=>{switch(t){case"assign":jt(e);break;case"videoQr":if(!le(e)){g.msgWarning("仅「已预约」状态可生成视频二维码");return}Xe(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?g.msgWarning("已完成就诊,无法取消挂号"):g.msgWarning("该诊单未挂号或挂号信息异常");return}try{await g.confirm(`确定要取消患者「${t.patient_name}」的挂号吗?`),await yn({id:t.appointment_id}),g.msgSuccess("取消挂号成功"),h(),S()}catch(e){e!=="cancel"&&g.msgError((e==null?void 0:e.msg)||"取消挂号失败")}},la=t=>{var e;if(!t.patient_id){g.msgWarning("患者信息不完整");return}(e=je.value)==null||e.open(t)},K=m(!1),Ne=m(!1),Je=m(),N=Le({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||"",K.value=!0},oa=async()=>{var t;await((t=Je.value)==null?void 0:t.validate()),Ne.value=!0;try{await cn({id:N.id,id_card:N.id_card}),g.msgSuccess("补全成功,年龄已自动更新"),K.value=!1,h()}catch(e){g.msgError((e==null?void 0:e.msg)||"补全失败")}finally{Ne.value=!1}},Xe=async t=>{var e;if(!le(t)){g.msgWarning("仅「已预约」状态可生成视频二维码");return}if(!t.patient_id){g.msgWarning("患者信息不完整");return}Re.value="video",O.value=t,T.value=!0,P.value=!0,F.value="",Ae.value="视频二维码";try{const d=await ut();if(!(d!=null&&d.app_id)){g.msgError("小程序未配置,请先配置小程序信息"),T.value=!1;return}const o=await ot({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?F.value=o.qrcode_url:g.msgError("二维码生成失败")}catch(d){g.msgError((d==null?void 0:d.msg)||"生成二维码失败,请重试")}finally{P.value=!1}},Ze=async t=>{if(!le(t)){g.msgWarning("仅「已预约」状态可使用诊单二维码");return}if(!t.patient_id){g.msgWarning("患者信息不完整");return}Re.value="confirm",O.value=t,T.value=!0,P.value=!0,F.value="",Ae.value="诊单二维码";try{const e=await ut();if(!(e!=null&&e.app_id)){g.msgError("小程序未配置,请先配置小程序信息"),T.value=!1;return}const d=ue.userInfo,o=await ot({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?F.value=o.qrcode_url:g.msgError("二维码生成失败")}catch(e){console.error("生成小程序二维码失败:",e),g.msgError((e==null?void 0:e.msg)||"生成二维码失败,请重试")}finally{P.value=!1}},da=()=>{O.value&&(Re.value==="video"?Xe(O.value):Ze(O.value))},_e=m(!1),E=m(null),U=m([]),fe=m(0),$e=m(!1),A=m(null),Y=m(""),Se=m(!1),Te=m(1),ra=t=>{if(!t)return"-";const e=String(t).length===10?t*1e3:t;return ct(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="",Te.value=1,$e.value=!0;try{const[e,d]=await Promise.all([dt({diagnosis_id:t.id,patient_id:t.patient_id,page_no:1,page_size:20}),fn({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}},ca=async()=>{if(E.value){Te.value++;try{const t=await dt({diagnosis_id:E.value.id,patient_id:E.value.patient_id,page_no:Te.value,page_size:20});U.value.push(...(t==null?void 0:t.lists)||[])}catch(t){console.error("加载更多记录失败:",t)}}},ma=async()=>{var t;if(!Y.value.trim()){g.msgWarning("请输入内容");return}Se.value=!0;try{await mn({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){g.msgError((e==null?void 0:e.msg)||"添加失败")}finally{Se.value=!1}},pa=async t=>{await g.confirm("确定删除该记录吗?");try{await pn({id:t}),U.value=U.value.filter(e=>e.id!==t),fe.value--}catch(e){g.msgError((e==null?void 0:e.msg)||"删除失败")}},_a=wa();return Ea(()=>{_.appointment_date=de.value,Rt(),h(),Dt(),oe=setInterval(Et,wt);const t=_a.query.id;if(t!=null&&t!==""){const e=Number(t);Number.isNaN(e)||(re.value=e)}}),Aa(()=>{oe!=null&&(clearInterval(oe),oe=null)}),(t,e)=>{var nt;const d=Ia,o=$a,V=Sa,k=za,G=Ta,et=Pa,R=Oa,z=Wa,tt=Ua,J=Qa,fa=Ma,va=qa,ga=Fa,ya=dn,ve=Ja,$=Za,ba=en,ze=Xa,ha=tn,ge=nn,ka=an,Ca=ln,Va=sn,xa=on,se=Ra("perms"),at=Ka;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)},[c(p(a.label)+" ",1),a.value&&n(Ce)[a.value]!==void 0?(i(),u("em",wn,p(n(Ce)[a.value]),1)):b("",!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:Na(ee,["enter"])},null,8,["modelValue"]),l(o,{type:"primary",onClick:ee},{default:s(()=>[...e[25]||(e[25]=[c("查询",-1)])]),_:1})])]),r("div",An,[e[26]||(e[26]=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(_).has_appointment===a.value}]),onClick:x=>kt(a.value)},p(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(ht,a=>r("span",{key:a.value,class:ie(["chip","chip-sm",{active:n(_).diagnosis_confirmed===a.value}]),onClick:x=>Ct(a.value)},p(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(()=>[c(p(n(Z)?"收起":"更多筛选")+" ",1),l(V,{class:ie({"rotate-180":n(Z)})},{default:s(()=>[l(n(lt))]),_: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(We),a=>(i(),v(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(Fe),a=>(i(),v(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(Oe),a=>(i(),v(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(),v(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]=[c("重置",-1)])]),_:1})],512),[[La,n(Z)]])]),_:1}),l(et,{class:"!border-none mt-3 list-card",shadow:"never"},{default:s(()=>[r("div",$n,[r("div",Sn,[q((i(),v(o,{type:"primary",onClick:Jt},{default:s(()=>[...e[30]||(e[30]=[c("新增诊单",-1)])]),_:1})),[[se,["tcm.diagnosis/add"]]]),q((i(),v(o,{type:"success",onClick:Kt,disabled:n(W).length===0},{default:s(()=>[...e[31]||(e[31]=[c(" 批量指派医助 ",-1)])]),_:1},8,["disabled"])),[[se,["tcm.diagnosis/assign"]]])]),n(W).length>0?(i(),u("div",Tn,"已选 "+p(n(W).length)+" 条",1)):b("",!0)]),r("div",zn,[q((i(),v(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",Ln,[r("div",Pn,[r("div",Fn,[c(p(a.id)+" ",1),a.assign_read_at===null&&a.assistant_id>0?(i(),v(z,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-1"},{default:s(()=>[...e[32]||(e[32]=[c("NEW",-1)])]),_:1})):b("",!0)])])])]),_:1}),l(R,{label:"患者","min-width":"60"},{default:s(({row:a})=>[r("div",On,[r("div",Wn,[r("div",Un,p(a.patient_name),1)])])]),_:1}),l(R,{label:" 性别 / 年龄",width:"100",align:"left"},{default:s(({row:a})=>[r("div",null,p(a.gender_desc||"-")+" · "+p(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,p(ta(a)),1),r("div",Mn,p(a.appointment_doctor_name||"-"),1),r("div",Qn,p(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",jn,[r("div",Kn,p(a.followup_time_text||"—"),1),r("div",Gn,p(a.followup_doctor_name||"—"),1),a.followup_prescription_count>0?(i(),u("div",Jn," 第"+p(a.followup_prescription_count)+"次复诊 ",1)):b("",!0),a.followup_rx_voided?(i(),v(z,{key:1,type:"info",size:"small",effect:"plain",class:"followup-void-tag"},{default:s(()=>[...e[33]||(e[33]=[c(" 处方已作废 ",-1)])]),_:1})):b("",!0)])):(i(),u("span",Xn,"无"))]),_: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,p(Qe(a.assistant_id||a.assistant)),1),we(a.assistant_id||a.assistant)?(i(),u("div",tl,p(we(a.assistant_id||a.assistant)),1)):b("",!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,"("+p(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,[zt(a)?(i(),u(D,{key:0},[Pt(a)?(i(),v(tt,{key:0,content:Ft(a),placement:"top"},{default:s(()=>[r("span",il,[l(o,{type:"primary",link:"",size:"small",onClick:x=>Ot(a)},{default:s(()=>[...e[35]||(e[35]=[c(" 进入旁观 ",-1)])]),_:1},8,["onClick"])])]),_:2},1032,["content"])):(i(),u("span",ol,p(Wt(a)),1))],64)):(i(),u("span",dl,p(Ut(a)),1))])]),_:1}),l(R,{label:"操作",width:"260",fixed:"right",align:"left"},{default:s(({row:a})=>[r("div",rl,[q((i(),v(o,{type:"primary",link:"",size:"small",onClick:x=>Xt(a.id)},{default:s(()=>[...e[36]||(e[36]=[c("诊单",-1)])]),_:1},8,["onClick"])),[[se,["tcm.diagnosis/edit"]]]),q((i(),v(o,{type:"success",link:"",size:"small",onClick:x=>la(a)},{default:s(()=>[...e[37]||(e[37]=[c("预约",-1)])]),_:1},8,["onClick"])),[[se,["tcm.diagnosis/guahao"]]]),q((i(),v(o,{type:"warning",link:"",size:"small",onClick:x=>ia(a)},{default:s(()=>[...e[38]||(e[38]=[c("补全身份证",-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(),v(J,{key:0,command:"assign"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(Ya))]),_:1}),e[40]||(e[40]=c("指派",-1))]),_:1})):b("",!0),le(a)&&n(B)(["tcm.diagnosis/videoQr"])?(i(),v(J,{key:1,command:"videoQr"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(st))]),_:1}),e[41]||(e[41]=c("视频二维码",-1))]),_:1})):b("",!0),n(B)(["tcm.diagnosis/guahao"])&&le(a)?(i(),v(J,{key:2,command:"confirmQr"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(st))]),_:1}),e[42]||(e[42]=c("二维码",-1))]),_:1})):b("",!0),Ge(a)&&n(B)(["tcm.diagnosis/guahao"])?(i(),v(J,{key:3,command:"cancelApt"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(Ba))]),_:1}),e[43]||(e[43]=c("取消挂号",-1))]),_:1})):b("",!0),n(B)(["tcm.diagnosis/order"])?(i(),v(J,{key:4,command:"order"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(Ha))]),_:1}),e[44]||(e[44]=c("创建订单",-1))]),_:1})):b("",!0),n(B)(["tcm.diagnosis/delete"])?(i(),v(J,{key:5,command:"delete",divided:""},{default:s(()=>[l(V,null,{default:s(()=>[l(n(ja))]),_:1}),e[45]||(e[45]=r("span",{class:"text-danger"},"删除",-1))]),_:1})):b("",!0)]),_:2},1024)]),default:s(()=>[l(o,{type:"info",link:"",size:"small"},{default:s(()=>[e[39]||(e[39]=c("更多",-1)),l(V,{class:"el-icon--right"},{default:s(()=>[l(n(lt))]),_: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(h)},null,8,["modelValue","onChange"])])])]),_:1}),l(n(pt),{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:je,onSuccess:Be},null,512),l(n(vt),{modelValue:n(ce),"onUpdate:modelValue":e[7]||(e[7]=a=>M(ce)?ce.value=a:null),"diagnosis-id":n(Ke),onClosed:n(h)},null,8,["modelValue","diagnosis-id","onClosed"]),l(ve,{modelValue:n(T),"onUpdate:modelValue":e[9]||(e[9]=a=>M(T)?T.value=a:null),title:n(Ae),width:"400px","close-on-click-modal":!1},{footer:s(()=>[l(o,{onClick:e[8]||(e[8]=a=>T.value=!1)},{default:s(()=>[...e[48]||(e[48]=[c("关闭",-1)])]),_:1}),n(P)?b("",!0):(i(),v(o,{key:0,type:"primary",onClick:da},{default:s(()=>[...e[49]||(e[49]=[c(" 重新生成 ",-1)])]),_:1}))]),default:s(()=>{var a;return[r("div",cl,[n(P)?(i(),u("div",ml,[l(V,{class:"is-loading",size:40},{default:s(()=>[l(n(Ga))]),_:1}),e[46]||(e[46]=r("div",{class:"mt-4 text-gray-500"},"生成中...",-1))])):n(F)?(i(),u("div",pl,[r("img",{src:n(F),alt:"小程序二维码",class:"w-64 h-64 border border-gray-200 rounded"},null,8,_l),r("div",fl,[r("div",null,"患者:"+p((a=n(O))==null?void 0:a.patient_name),1),r("div",vl,"挂号时间:"+p(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]=[c("取消",-1)])]),_:1}),l(o,{type:"primary",onClick:Gt,loading:n(Ie)},{default:s(()=>[...e[53]||(e[53]=[c(" 确定指派 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(ze,{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(L),a=>(i(),v(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(ba,{modelValue:n(C).is_inherit,"onUpdate:modelValue":e[11]||(e[11]=a=>n(C).is_inherit=a)},{default:s(()=>[...e[50]||(e[50]=[c("继承",-1)])]),_:1},8,["modelValue"]),e[51]||(e[51]=r("span",{class:"text-gray-400 text-xs ml-2"},"勾选后写入指派记录",-1))]),_:1}),n(ae)==="batch"?(i(),v($,{key:0,label:"已选择"},{default:s(()=>[r("div",yl,p(n(W).length)+" 条诊单记录",1)]),_:1})):(i(),v($,{key:1,label:"诊单信息"},{default:s(()=>{var a,x;return[r("div",bl,[r("div",null,"患者:"+p((a=n(ne))==null?void 0:a.patient_name),1),r("div",null,"诊断日期:"+p((x=n(ne))==null?void 0:x.diagnosis_date_text),1)])]}),_:1}))]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),l(ve,{modelValue:n(j),"onUpdate:modelValue":e[18]||(e[18]=a=>M(j)?j.value=a:null),title:"创建订单",width:"600px",onClose:Qt},{footer:s(()=>[l(o,{onClick:e[17]||(e[17]=a=>j.value=!1)},{default:s(()=>[...e[54]||(e[54]=[c("取消",-1)])]),_:1}),l(o,{type:"primary",onClick:Yt,loading:n(Ee)},{default:s(()=>[...e[55]||(e[55]=[c("创建订单",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(ze,{ref_key:"orderFormRef",ref:pe,model:n(f),rules:qt,"label-width":"100px"},{default:s(()=>[l($,{label:"患者"},{default:s(()=>[r("span",hl,p(n(f).patient_name)+" ("+p(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(ha,{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(K),"onUpdate:modelValue":e[21]||(e[21]=a=>M(K)?K.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=>K.value=!1)},{default:s(()=>[...e[56]||(e[56]=[c("取消",-1)])]),_:1}),l(o,{type:"primary",onClick:oa,loading:n(Ne)},{default:s(()=>[...e[57]||(e[57]=[c("提交(自动更新年龄)",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(ze,{ref_key:"fillIdCardFormRef",ref:Je,model:n(N),rules:sa,"label-width":"80px"},{default:s(()=>[l($,{label:"患者"},{default:s(()=>[r("span",kl,p(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[c(p((y=n(E))==null?void 0:y.patient_name),1)]}),_:1}),l(ge,{label:"手机号"},{default:s(()=>[c(p(n(A).phone||"-"),1)]),_:1}),l(ge,{label:"企微联系人ID"},{default:s(()=>[n(A).external_userid?(i(),u("span",Vl,p(n(A).external_userid),1)):(i(),v(z,{key:1,type:"info",size:"small"},{default:s(()=>[...e[58]||(e[58]=[c("未关联",-1)])]),_:1}))]),_:1}),l(ge,{label:"会话存档"},{default:s(()=>[n(A).msgaudit_enabled?(i(),v(z,{key:0,type:"success",size:"small"},{default:s(()=>[...e[59]||(e[59]=[c("已开通",-1)])]),_:1})):(i(),v(z,{key:1,type:"info",size:"small"},{default:s(()=>[...e[60]||(e[60]=[c("未配置",-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(),v(z,{key:y,size:"small",class:"mr-1"},{default:s(()=>[c(p(y),1)]),_:2},1024))),128))])):b("",!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(),v(z,{key:ye,type:y.agree_status==="Agree"?"success":"warning",size:"small",class:"mr-1"},{default:s(()=>[c(p(y.userid)+": "+p(y.agree_status==="Agree"?"已同意":y.agree_status),1)]),_:2},1032,["type"]))),128))])):b("",!0)])):b("",!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:ma,loading:n(Se),class:"self-end"},{default:s(()=>[...e[63]||(e[63]=[c(" 添加 ",-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(z,{type:y.direction===0?"primary":"success",size:"small"},{default:s(()=>[c(p(y.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),r("span",$l,p(y.direction===0?y.staff_name:y.external_name||((ye=n(E))==null?void 0:ye.patient_name)),1),y.msg_type==="note"?(i(),v(z,{key:0,type:"warning",size:"small"},{default:s(()=>[...e[64]||(e[64]=[c("备注",-1)])]),_:1})):b("",!0)]),r("div",Sl,[r("span",Tl,p(ra(y.chat_time)),1),l(o,{type:"danger",link:"",size:"small",onClick:ql=>pa(y.id)},{default:s(()=>[...e[65]||(e[65]=[c(" 删除 ",-1)])]),_:1},8,["onClick"])])]),r("div",zl,p(y.content),1),y.media_url?(i(),u("div",Ll,[l(Va,{src:y.media_url,style:{"max-width":"200px"},fit:"contain","preview-src-list":[y.media_url]},null,8,["src","preview-src-list"])])):b("",!0)])}),128))])),n(fe)>n(U).length?(i(),u("div",Pl,[l(o,{link:"",type:"primary",onClick:ca},{default:s(()=>[...e[66]||(e[66]=[c("加载更多",-1)])]),_:1})])):b("",!0)])),[[at,n($e)]])]}),_:1},8,["modelValue","title"])])}}}),es=kn(Ol,[["__scopeId","data-v-a73ebde8"]]);export{es as default}; diff --git a/server/public/admin/assets/index-4d2pgODD.js b/server/public/admin/assets/index-Dsecycr5.js similarity index 95% rename from server/public/admin/assets/index-4d2pgODD.js rename to server/public/admin/assets/index-Dsecycr5.js index e6129072..866ad3e0 100644 --- a/server/public/admin/assets/index-4d2pgODD.js +++ b/server/public/admin/assets/index-Dsecycr5.js @@ -1 +1 @@ -import{o as ce,ap as ge,q as n,r as k,v as t,D as l,b9 as ye,b6 as ve,b7 as be,b8 as ke,bp as we,K as Ve,L as i,bg as Ee,s as x,T as C,P as w,Y as xe,X as Ce,ac as he,O as f,bj as Re,bk as Ue,aa as Se,bq as De,br as ze,bi as Ae,bs as Te,bc as Le,bf as Oe,bm as Be,F as Pe,G as je,bn as qe,bt as Fe,M as m,ba as A,p as Ie,E as V,e as M}from"./.pnpm-9dA1PEvN.js";import{a as Me,b as N,c as Ne,d as Ye,e as $e}from"./asset-BLv6KQ2V.js";import{_ as Ke}from"./picker-DWQ_BAep.js";import{U as Y}from"./index-DMkcmA29.js";import"./index-CJvXnF8Y.js";import"./index-BBemoNXE.js";import"./index-CY1mb9yY.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-CAGpCz28.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./file-BJDA0rIT.js";import"./usePaging-Boz1Q6w3.js";const Ge={class:"asset-resource-container"},Qe={class:"mb-4 flex items-center gap-2"},Xe={key:0,class:"text-sm text-gray-500"},He={key:1},Je={class:"mt-4 flex justify-end"},We={key:0,class:"w-full"},Ze=["title"],_t=ce({__name:"index",setup(et){const h=m(!1),T=m([]),L=m(0),c=m([]),r=A({title:"",dateRange:[]}),u=A({type:"1",page_no:1,page_size:15}),v=m(!1),R=m(!1),U=m(),g=m(!1),S=m(0),O=m([]),s=A({type:1,title:"",file_url:"",cover_url:"",user_ids:[]}),$=(a,e,d)=>{if(Array.isArray(e)){if(!e.length)return d(new Error("请上传资源文件"))}else if(!e)return d(new Error("请输入或上传文件获取链接"));d()},K=Ie(()=>g.value?{title:[{required:!0,message:"请输入标题",trigger:"blur"}]}:{title:[{required:!0,message:"请输入标题",trigger:"blur"}],file_url:[{required:!0,validator:$,trigger:"change"}]}),G=()=>{const a={...u};return r.title&&(a.title=r.title),r.dateRange&&r.dateRange.length===2&&(a.start_time=r.dateRange[0],a.end_time=r.dateRange[1]),a},_=async()=>{h.value=!0;try{const a=await Me(G());T.value=a.lists,L.value=a.count,c.value=[]}catch(a){console.error(a)}finally{h.value=!1}},B=async()=>{try{const a=await $e({page_no:1,page_size:9999});O.value=a.lists}catch(a){console.error(a)}},P=()=>{u.page_no=1,_()},Q=()=>{r.title="",r.dateRange=[],u.page_no=1,_()},X=()=>{u.page_no=1,_()},H=()=>{g.value=!1,S.value=0,Object.assign(s,{type:parseInt(u.type),title:"",file_url:"",cover_url:"",user_ids:[]}),B(),v.value=!0},J=a=>{var e;g.value=!0,S.value=a.id,Object.assign(s,{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(d=>d.id))||[]}),B(),v.value=!0},j=a=>{var e,d;s.file_url=((e=a==null?void 0:a.data)==null?void 0:e.uri)||((d=a==null?void 0:a.data)==null?void 0:d.url)||"",V.success("上传成功")},W=async a=>{try{await M.confirm("确定要删除该资源吗?用户将无法再看到。","提示",{type:"warning"}),await N({id:a.id}),V.success("删除成功"),_()}catch{}},Z=a=>{c.value=a.map(e=>Number(e.id)).filter(e=>e>0)},ee=async()=>{if(c.value.length)try{await M.confirm(`确定要删除选中的 ${c.value.length} 个资源吗?用户将无法再看到。`,"提示",{type:"warning"}),await N({id:c.value}),V.success("删除成功"),_()}catch{}},te=async()=>{U.value&&await U.value.validate(async a=>{if(a){R.value=!0;try{g.value?(await Ne({id:S.value,title:s.title,user_ids:s.user_ids}),V.success("编辑成功")):(await Ye(s),V.success("上传分发成功")),v.value=!1,_()}catch(e){console.error(e)}finally{R.value=!1}}})};return ge(()=>{_()}),(a,e)=>{const d=be,y=ve,le=we,p=Ve,q=ye,F=Ee,D=Ce,ae=xe,b=Ue,oe=Se,se=De,ne=ze,ie=Re,re=Te,z=Oe,ue=Le,de=qe,pe=Be,me=Fe,_e=Ae;return n(),k("div",Ge,[t(F,{class:"!border-none",shadow:"never"},{default:l(()=>[t(q,{class:"ls-form",model:r,inline:""},{default:l(()=>[t(y,{class:"w-[280px]",label:"标题"},{default:l(()=>[t(d,{placeholder:"请输入标题关键词",modelValue:r.title,"onUpdate:modelValue":e[0]||(e[0]=o=>r.title=o),clearable:"",onKeyup:ke(P,["enter"])},null,8,["modelValue"])]),_:1}),t(y,{label:"上传时间"},{default:l(()=>[t(le,{modelValue:r.dateRange,"onUpdate:modelValue":e[1]||(e[1]=o=>r.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(p,{type:"primary",onClick:P},{default:l(()=>[...e[11]||(e[11]=[i("查询",-1)])]),_:1}),t(p,{onClick:Q},{default:l(()=>[...e[12]||(e[12]=[i("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(F,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[x("div",Qe,[t(p,{type:"primary",onClick:H},{default:l(()=>[...e[13]||(e[13]=[i("上传资源",-1)])]),_:1}),t(p,{type:"danger",disabled:c.value.length===0,onClick:ee},{default:l(()=>[...e[14]||(e[14]=[i(" 批量删除 ",-1)])]),_:1},8,["disabled"]),c.value.length>0?(n(),k("span",Xe,"已选 "+C(c.value.length)+" 条",1)):w("",!0)]),t(ae,{modelValue:u.type,"onUpdate:modelValue":e[2]||(e[2]=o=>u.type=o),onTabChange:X},{default:l(()=>[t(D,{label:"图片",name:"1"}),t(D,{label:"视频",name:"2"}),t(D,{label:"语音",name:"3"})]),_:1},8,["modelValue"]),he((n(),f(ie,{data:T.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?(n(),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"])):(n(),f(se,{key:1,href:o.file_url,target:"_blank",type:"primary"},{default:l(()=>[...e[15]||(e[15]=[i("点击预览",-1)])]),_:1},8,["href"]))]),_:1}),t(b,{label:"关联账号","min-width":"150","show-overflow-tooltip":""},{default:l(({row:o})=>{var E,I;return[(E=o.users)!=null&&E.length?(n(),k("span",He,C((I=o.users)==null?void 0:I.map(fe=>fe.phone).join(", ")),1)):(n(),f(ne,{key:0,type:"info",size:"small"},{default:l(()=>[...e[16]||(e[16]=[i("公开资源",-1)])]),_:1}))]}),_:1}),t(b,{prop:"create_time",label:"上传时间",width:"180"}),t(b,{label:"操作",width:"150",fixed:"right"},{default:l(({row:o})=>[t(p,{type:"primary",link:"",onClick:E=>J(o)},{default:l(()=>[...e[17]||(e[17]=[i("编辑",-1)])]),_:1},8,["onClick"]),t(p,{type:"danger",link:"",onClick:E=>W(o)},{default:l(()=>[...e[18]||(e[18]=[i("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[_e,h.value]]),x("div",Je,[t(re,{"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:L.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(p,{onClick:e[9]||(e[9]=o=>v.value=!1)},{default:l(()=>[...e[26]||(e[26]=[i("取消",-1)])]),_:1}),t(p,{type:"primary",onClick:te,loading:R.value},{default:l(()=>[i(C(g.value?"保存修改":"确定发布"),1)]),_:1},8,["loading"])]),default:l(()=>[t(q,{ref_key:"formRef",ref:U,model:s,rules:K.value,"label-width":"100px"},{default:l(()=>[g.value?w("",!0):(n(),f(y,{key:0,label:"资源类型",prop:"type"},{default:l(()=>[t(ue,{modelValue:s.type,"onUpdate:modelValue":e[5]||(e[5]=o=>s.type=o)},{default:l(()=>[t(z,{label:1},{default:l(()=>[...e[19]||(e[19]=[i("图片",-1)])]),_:1}),t(z,{label:2},{default:l(()=>[...e[20]||(e[20]=[i("视频",-1)])]),_:1}),t(z,{label:3},{default:l(()=>[...e[21]||(e[21]=[i("语音",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})),t(y,{label:"标题",prop:"title"},{default:l(()=>[t(d,{modelValue:s.title,"onUpdate:modelValue":e[6]||(e[6]=o=>s.title=o),placeholder:"请输入资源标题"},null,8,["modelValue"])]),_:1}),g.value?w("",!0):(n(),f(y,{key:1,label:"资源文件",prop:"file_url"},{default:l(()=>[s.type===1?(n(),k("div",We,[t(Ke,{modelValue:s.file_url,"onUpdate:modelValue":e[7]||(e[7]=o=>s.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))])):s.type===2?(n(),f(Y,{key:1,type:"video",direct:"",multiple:!1,limit:1,"show-progress":!0,onSuccess:j},{default:l(()=>[t(p,{type:"primary"},{default:l(()=>[...e[23]||(e[23]=[i("上传视频 (OSS直传)",-1)])]),_:1})]),_:1})):s.type===3?(n(),f(Y,{key:2,type:"voice",direct:"",multiple:!1,limit:1,"show-progress":!0,onSuccess:j},{default:l(()=>[t(p,{type:"primary"},{default:l(()=>[...e[24]||(e[24]=[i("上传语音 (OSS直传)",-1)])]),_:1})]),_:1})):w("",!0),s.file_url&&s.type!==1?(n(),k("div",{key:3,class:"ml-4 text-primary truncate max-w-xs",title:s.file_url}," 已上传: "+C(s.file_url),9,Ze)):w("",!0)]),_:1})),t(y,{label:"关联账号",prop:"user_ids"},{default:l(()=>[t(pe,{modelValue:s.user_ids,"onUpdate:modelValue":e[8]||(e[8]=o=>s.user_ids=o),multiple:"",filterable:"",placeholder:"不选择则为公开资源",clearable:"",style:{width:"100%"}},{default:l(()=>[(n(!0),k(Pe,null,je(O.value,o=>(n(),f(de,{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{_t as default}; +import{o as ce,ap as ge,q as n,r as k,v as t,D as l,b9 as ye,b6 as ve,b7 as be,b8 as ke,bp as we,K as Ve,L as i,bg as Ee,s as x,T as C,P as w,Y as xe,X as Ce,ac as he,O as f,bj as Re,bk as Ue,aa as Se,bq as De,br as ze,bi as Ae,bs as Te,bc as Le,bf as Oe,bm as Be,F as Pe,G as je,bn as qe,bt as Fe,M as m,ba as A,p as Ie,E as V,e as M}from"./.pnpm-9dA1PEvN.js";import{a as Me,b as N,c as Ne,d as Ye,e as $e}from"./asset-TVrE7-t3.js";import{_ as Ke}from"./picker-DfI3CPnQ.js";import{U as Y}from"./index-DFkJDhf6.js";import"./index-BWzN7QIb.js";import"./index-dYaCh-CN.js";import"./index-xDQ_OZln.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-fA0EWEUO.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./file-BL6iPgPC.js";import"./usePaging-Boz1Q6w3.js";const Ge={class:"asset-resource-container"},Qe={class:"mb-4 flex items-center gap-2"},Xe={key:0,class:"text-sm text-gray-500"},He={key:1},Je={class:"mt-4 flex justify-end"},We={key:0,class:"w-full"},Ze=["title"],_t=ce({__name:"index",setup(et){const h=m(!1),T=m([]),L=m(0),c=m([]),r=A({title:"",dateRange:[]}),u=A({type:"1",page_no:1,page_size:15}),v=m(!1),R=m(!1),U=m(),g=m(!1),S=m(0),O=m([]),s=A({type:1,title:"",file_url:"",cover_url:"",user_ids:[]}),$=(a,e,d)=>{if(Array.isArray(e)){if(!e.length)return d(new Error("请上传资源文件"))}else if(!e)return d(new Error("请输入或上传文件获取链接"));d()},K=Ie(()=>g.value?{title:[{required:!0,message:"请输入标题",trigger:"blur"}]}:{title:[{required:!0,message:"请输入标题",trigger:"blur"}],file_url:[{required:!0,validator:$,trigger:"change"}]}),G=()=>{const a={...u};return r.title&&(a.title=r.title),r.dateRange&&r.dateRange.length===2&&(a.start_time=r.dateRange[0],a.end_time=r.dateRange[1]),a},_=async()=>{h.value=!0;try{const a=await Me(G());T.value=a.lists,L.value=a.count,c.value=[]}catch(a){console.error(a)}finally{h.value=!1}},B=async()=>{try{const a=await $e({page_no:1,page_size:9999});O.value=a.lists}catch(a){console.error(a)}},P=()=>{u.page_no=1,_()},Q=()=>{r.title="",r.dateRange=[],u.page_no=1,_()},X=()=>{u.page_no=1,_()},H=()=>{g.value=!1,S.value=0,Object.assign(s,{type:parseInt(u.type),title:"",file_url:"",cover_url:"",user_ids:[]}),B(),v.value=!0},J=a=>{var e;g.value=!0,S.value=a.id,Object.assign(s,{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(d=>d.id))||[]}),B(),v.value=!0},j=a=>{var e,d;s.file_url=((e=a==null?void 0:a.data)==null?void 0:e.uri)||((d=a==null?void 0:a.data)==null?void 0:d.url)||"",V.success("上传成功")},W=async a=>{try{await M.confirm("确定要删除该资源吗?用户将无法再看到。","提示",{type:"warning"}),await N({id:a.id}),V.success("删除成功"),_()}catch{}},Z=a=>{c.value=a.map(e=>Number(e.id)).filter(e=>e>0)},ee=async()=>{if(c.value.length)try{await M.confirm(`确定要删除选中的 ${c.value.length} 个资源吗?用户将无法再看到。`,"提示",{type:"warning"}),await N({id:c.value}),V.success("删除成功"),_()}catch{}},te=async()=>{U.value&&await U.value.validate(async a=>{if(a){R.value=!0;try{g.value?(await Ne({id:S.value,title:s.title,user_ids:s.user_ids}),V.success("编辑成功")):(await Ye(s),V.success("上传分发成功")),v.value=!1,_()}catch(e){console.error(e)}finally{R.value=!1}}})};return ge(()=>{_()}),(a,e)=>{const d=be,y=ve,le=we,p=Ve,q=ye,F=Ee,D=Ce,ae=xe,b=Ue,oe=Se,se=De,ne=ze,ie=Re,re=Te,z=Oe,ue=Le,de=qe,pe=Be,me=Fe,_e=Ae;return n(),k("div",Ge,[t(F,{class:"!border-none",shadow:"never"},{default:l(()=>[t(q,{class:"ls-form",model:r,inline:""},{default:l(()=>[t(y,{class:"w-[280px]",label:"标题"},{default:l(()=>[t(d,{placeholder:"请输入标题关键词",modelValue:r.title,"onUpdate:modelValue":e[0]||(e[0]=o=>r.title=o),clearable:"",onKeyup:ke(P,["enter"])},null,8,["modelValue"])]),_:1}),t(y,{label:"上传时间"},{default:l(()=>[t(le,{modelValue:r.dateRange,"onUpdate:modelValue":e[1]||(e[1]=o=>r.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(p,{type:"primary",onClick:P},{default:l(()=>[...e[11]||(e[11]=[i("查询",-1)])]),_:1}),t(p,{onClick:Q},{default:l(()=>[...e[12]||(e[12]=[i("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(F,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[x("div",Qe,[t(p,{type:"primary",onClick:H},{default:l(()=>[...e[13]||(e[13]=[i("上传资源",-1)])]),_:1}),t(p,{type:"danger",disabled:c.value.length===0,onClick:ee},{default:l(()=>[...e[14]||(e[14]=[i(" 批量删除 ",-1)])]),_:1},8,["disabled"]),c.value.length>0?(n(),k("span",Xe,"已选 "+C(c.value.length)+" 条",1)):w("",!0)]),t(ae,{modelValue:u.type,"onUpdate:modelValue":e[2]||(e[2]=o=>u.type=o),onTabChange:X},{default:l(()=>[t(D,{label:"图片",name:"1"}),t(D,{label:"视频",name:"2"}),t(D,{label:"语音",name:"3"})]),_:1},8,["modelValue"]),he((n(),f(ie,{data:T.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?(n(),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"])):(n(),f(se,{key:1,href:o.file_url,target:"_blank",type:"primary"},{default:l(()=>[...e[15]||(e[15]=[i("点击预览",-1)])]),_:1},8,["href"]))]),_:1}),t(b,{label:"关联账号","min-width":"150","show-overflow-tooltip":""},{default:l(({row:o})=>{var E,I;return[(E=o.users)!=null&&E.length?(n(),k("span",He,C((I=o.users)==null?void 0:I.map(fe=>fe.phone).join(", ")),1)):(n(),f(ne,{key:0,type:"info",size:"small"},{default:l(()=>[...e[16]||(e[16]=[i("公开资源",-1)])]),_:1}))]}),_:1}),t(b,{prop:"create_time",label:"上传时间",width:"180"}),t(b,{label:"操作",width:"150",fixed:"right"},{default:l(({row:o})=>[t(p,{type:"primary",link:"",onClick:E=>J(o)},{default:l(()=>[...e[17]||(e[17]=[i("编辑",-1)])]),_:1},8,["onClick"]),t(p,{type:"danger",link:"",onClick:E=>W(o)},{default:l(()=>[...e[18]||(e[18]=[i("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[_e,h.value]]),x("div",Je,[t(re,{"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:L.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(p,{onClick:e[9]||(e[9]=o=>v.value=!1)},{default:l(()=>[...e[26]||(e[26]=[i("取消",-1)])]),_:1}),t(p,{type:"primary",onClick:te,loading:R.value},{default:l(()=>[i(C(g.value?"保存修改":"确定发布"),1)]),_:1},8,["loading"])]),default:l(()=>[t(q,{ref_key:"formRef",ref:U,model:s,rules:K.value,"label-width":"100px"},{default:l(()=>[g.value?w("",!0):(n(),f(y,{key:0,label:"资源类型",prop:"type"},{default:l(()=>[t(ue,{modelValue:s.type,"onUpdate:modelValue":e[5]||(e[5]=o=>s.type=o)},{default:l(()=>[t(z,{label:1},{default:l(()=>[...e[19]||(e[19]=[i("图片",-1)])]),_:1}),t(z,{label:2},{default:l(()=>[...e[20]||(e[20]=[i("视频",-1)])]),_:1}),t(z,{label:3},{default:l(()=>[...e[21]||(e[21]=[i("语音",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})),t(y,{label:"标题",prop:"title"},{default:l(()=>[t(d,{modelValue:s.title,"onUpdate:modelValue":e[6]||(e[6]=o=>s.title=o),placeholder:"请输入资源标题"},null,8,["modelValue"])]),_:1}),g.value?w("",!0):(n(),f(y,{key:1,label:"资源文件",prop:"file_url"},{default:l(()=>[s.type===1?(n(),k("div",We,[t(Ke,{modelValue:s.file_url,"onUpdate:modelValue":e[7]||(e[7]=o=>s.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))])):s.type===2?(n(),f(Y,{key:1,type:"video",direct:"",multiple:!1,limit:1,"show-progress":!0,onSuccess:j},{default:l(()=>[t(p,{type:"primary"},{default:l(()=>[...e[23]||(e[23]=[i("上传视频 (OSS直传)",-1)])]),_:1})]),_:1})):s.type===3?(n(),f(Y,{key:2,type:"voice",direct:"",multiple:!1,limit:1,"show-progress":!0,onSuccess:j},{default:l(()=>[t(p,{type:"primary"},{default:l(()=>[...e[24]||(e[24]=[i("上传语音 (OSS直传)",-1)])]),_:1})]),_:1})):w("",!0),s.file_url&&s.type!==1?(n(),k("div",{key:3,class:"ml-4 text-primary truncate max-w-xs",title:s.file_url}," 已上传: "+C(s.file_url),9,Ze)):w("",!0)]),_:1})),t(y,{label:"关联账号",prop:"user_ids"},{default:l(()=>[t(pe,{modelValue:s.user_ids,"onUpdate:modelValue":e[8]||(e[8]=o=>s.user_ids=o),multiple:"",filterable:"",placeholder:"不选择则为公开资源",clearable:"",style:{width:"100%"}},{default:l(()=>[(n(!0),k(Pe,null,je(O.value,o=>(n(),f(de,{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{_t as default}; diff --git a/server/public/admin/assets/index-Cv5LLdN-.js b/server/public/admin/assets/index-DtLL-xK5.js similarity index 94% rename from server/public/admin/assets/index-Cv5LLdN-.js rename to server/public/admin/assets/index-DtLL-xK5.js index 996fa70c..5f24d96c 100644 --- a/server/public/admin/assets/index-Cv5LLdN-.js +++ b/server/public/admin/assets/index-DtLL-xK5.js @@ -1 +1 @@ -import{o as g,be as C,q as l,r as x,v as a,D as t,bh as B,s as o,bg as L,ac as f,bi as T,u as b,O as i,bj as D,bk as N,br as R,L as _,K as V,a8 as q,ba as S}from"./.pnpm-9dA1PEvN.js";import{_ as $,s as j}from"./edit.vue_vue_type_script_setup_true_lang-wFDh1qw6.js";import"./index-CJvXnF8Y.js";import"./index-BBemoNXE.js";const z={class:"storage"},A=g({name:"storage"}),J=g({...A,setup(F){const c=q(),s=S({loading:!1,lists:[]}),u=async()=>{try{s.loading=!0,s.lists=await j(),s.loading=!1}catch{s.loading=!1}},v=r=>{var e;(e=c.value)==null||e.open(r)};return u(),(r,e)=>{const w=B,p=L,n=N,m=R,k=V,h=D,y=C("perms"),E=T;return l(),x("div",z,[a(p,{class:"!border-none",shadow:"never"},{default:t(()=>[a(w,{type:"warning",title:"温馨提示:",closable:!1,"show-icon":""},{default:t(()=>[...e[0]||(e[0]=[o("div",null," 1.使用对象存储,需要将public目录下的资源文件保留原来目录路径传输到对象存储空间。 ",-1),o("div",null,"2.请勿随意切换存储方式,可能导致图片无法查看。",-1),o("div",null," 3.需要在对象存储后台设置域名跨域,否则图片生成场景无法使用,例海报合成等。 ",-1),o("div",null," 4.需将对象存储的图片域名添加到微信小程序官方后台request合法域名和downloadFile合法域名。 ",-1)])]),_:1})]),_:1}),f((l(),i(p,{class:"!border-none mt-4",shadow:"never"},{default:t(()=>[a(h,{size:"large",data:b(s).lists},{default:t(()=>[a(n,{label:"储存方式",prop:"name","min-width":"120"}),a(n,{label:"储存位置",prop:"path","min-width":"160"}),a(n,{label:"状态","min-width":"80"},{default:t(({row:d})=>[d.status==1?(l(),i(m,{key:0},{default:t(()=>[...e[1]||(e[1]=[_("开启",-1)])]),_:1})):(l(),i(m,{key:1,type:"danger"},{default:t(()=>[...e[2]||(e[2]=[_("关闭",-1)])]),_:1}))]),_:1}),a(n,{label:"操作","min-width":"80",fixed:"right"},{default:t(({row:d})=>[f((l(),i(k,{type:"primary",link:"",onClick:K=>v(d.engine)},{default:t(()=>[...e[3]||(e[3]=[_(" 设置 ",-1)])]),_:1},8,["onClick"])),[[y,["setting.storage/setup"]]])]),_:1})]),_:1},8,["data"])]),_:1})),[[E,b(s).loading]]),a($,{ref_key:"editRef",ref:c,onSuccess:u},null,512)])}}});export{J as default}; +import{o as g,be as C,q as l,r as x,v as a,D as t,bh as B,s as o,bg as L,ac as f,bi as T,u as b,O as i,bj as D,bk as N,br as R,L as _,K as V,a8 as q,ba as S}from"./.pnpm-9dA1PEvN.js";import{_ as $,s as j}from"./edit.vue_vue_type_script_setup_true_lang-xNJSlEHz.js";import"./index-BWzN7QIb.js";import"./index-dYaCh-CN.js";const z={class:"storage"},A=g({name:"storage"}),J=g({...A,setup(F){const c=q(),s=S({loading:!1,lists:[]}),u=async()=>{try{s.loading=!0,s.lists=await j(),s.loading=!1}catch{s.loading=!1}},v=r=>{var e;(e=c.value)==null||e.open(r)};return u(),(r,e)=>{const w=B,p=L,n=N,m=R,k=V,h=D,y=C("perms"),E=T;return l(),x("div",z,[a(p,{class:"!border-none",shadow:"never"},{default:t(()=>[a(w,{type:"warning",title:"温馨提示:",closable:!1,"show-icon":""},{default:t(()=>[...e[0]||(e[0]=[o("div",null," 1.使用对象存储,需要将public目录下的资源文件保留原来目录路径传输到对象存储空间。 ",-1),o("div",null,"2.请勿随意切换存储方式,可能导致图片无法查看。",-1),o("div",null," 3.需要在对象存储后台设置域名跨域,否则图片生成场景无法使用,例海报合成等。 ",-1),o("div",null," 4.需将对象存储的图片域名添加到微信小程序官方后台request合法域名和downloadFile合法域名。 ",-1)])]),_:1})]),_:1}),f((l(),i(p,{class:"!border-none mt-4",shadow:"never"},{default:t(()=>[a(h,{size:"large",data:b(s).lists},{default:t(()=>[a(n,{label:"储存方式",prop:"name","min-width":"120"}),a(n,{label:"储存位置",prop:"path","min-width":"160"}),a(n,{label:"状态","min-width":"80"},{default:t(({row:d})=>[d.status==1?(l(),i(m,{key:0},{default:t(()=>[...e[1]||(e[1]=[_("开启",-1)])]),_:1})):(l(),i(m,{key:1,type:"danger"},{default:t(()=>[...e[2]||(e[2]=[_("关闭",-1)])]),_:1}))]),_:1}),a(n,{label:"操作","min-width":"80",fixed:"right"},{default:t(({row:d})=>[f((l(),i(k,{type:"primary",link:"",onClick:K=>v(d.engine)},{default:t(()=>[...e[3]||(e[3]=[_(" 设置 ",-1)])]),_:1},8,["onClick"])),[[y,["setting.storage/setup"]]])]),_:1})]),_:1},8,["data"])]),_:1})),[[E,b(s).loading]]),a($,{ref_key:"editRef",ref:c,onSuccess:u},null,512)])}}});export{J as default}; diff --git a/server/public/admin/assets/index-Tf8sJ4wz.js b/server/public/admin/assets/index-FFPHEcEv.js similarity index 84% rename from server/public/admin/assets/index-Tf8sJ4wz.js rename to server/public/admin/assets/index-FFPHEcEv.js index 650f2411..bba54e0a 100644 --- a/server/public/admin/assets/index-Tf8sJ4wz.js +++ b/server/public/admin/assets/index-FFPHEcEv.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-B9yJIrZi.js","assets/.pnpm-9dA1PEvN.js","assets/.pnpm-LiWq8Xu0.css","assets/file-BJDA0rIT.js","assets/index-CJvXnF8Y.js","assets/index-or10At3s.css","assets/patient-CwTOvUDt.js","assets/tcm-DOD9_1Um.js","assets/im-business-message-parse-DmDISFGN.js","assets/dayjs-BsOAYQJw.js","assets/@tencentcloud/chat-Clb_yWS-.js","assets/@tencentcloud/chat-uikit-engine-CE484eWV.js","assets/tim-upload-plugin-CQ0SshXS.js","assets/tim-profanity-filter-plugin-M-EFi4_K.js","assets/@tencentcloud/call-engine-js-BSW3L4hf.js","assets/rtc-detect-DLSGS3ox.js","assets/index-BdeDEJMM.css","assets/edit-DSANIFY1.js","assets/perm-BLNmf25V.js","assets/DailyMatrix-_4SdP1CQ.js","assets/picker-DWQ_BAep.js","assets/index-BBemoNXE.js","assets/index-dh40Du6y.css","assets/index-CY1mb9yY.js","assets/index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js","assets/index-CAGpCz28.js","assets/index-BYMg0OFw.css","assets/index-DMkcmA29.js","assets/index.vue_vue_type_script_setup_true_lang-Blf417m7.js","assets/usePaging-Boz1Q6w3.js","assets/index-D6uL8V1j.css","assets/picker-CLzhBfnG.css","assets/DiagnosisTodoList-wLDuYeQL.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix--Ay5C05Q.css","assets/CaseRecordList-BdOS8uCk.js","assets/CaseRecordList-DEgrl9PS.css","assets/CallRecordPanel-B5TNiiYq.js","assets/RecordingPlaybackBlock-C4Gpp-2c.js","assets/RecordingVideoPlayer-BFQjIPtM.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-p7h_1hh9.css","assets/ImChatRecordPanel-Dupe02qF.js","assets/ImChatRecordPanel-BRnJl8ir.css","assets/AssignLogPanel-7M3l9W5C.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DxULo4tR.js","assets/doctor-Bmtf1eZE.js","assets/AppointmentRecordPanel-BWS3OyF0.css","assets/NoteTimeline-BiPgEoRT.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-CbJRHf8i.js","assets/PrescriptionOrderDetailDrawer-66DcVm3d.js","assets/prescription-order-utils-B0fYlULc.js","assets/PrescriptionOrderDetailDrawer-DL92yzHH.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-D33qlDjf.js","assets/index-BANIMLkY.js","assets/medicine-CQDW2OUZ.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-DxQanmqx.css","assets/edit-Cgsl1tY9.css","assets/TrackingNoteTimeline-C-2kS81H.css"])))=>i.map(i=>d[i]); -import{o as Ze,R as Je,ap as Xe,n as et,aq as tt,be as at,q as d,r as h,s,T as k,u as a,ae as W,v as r,D as v,w as nt,bA as st,b8 as lt,C as ue,b7 as it,ac as F,bi as ot,F as qe,G as ut,L as D,O as C,br as dt,P as q,aw as rt,b5 as ct,as as vt,a1 as ft,cP as pt,bB as mt,K as gt,ab as _t,bt as ht,a4 as Ie,cb as Re,al as xe,M as o,p as Y}from"./.pnpm-9dA1PEvN.js";import{r as $e,n as yt,a as St,b as kt}from"./patient-CwTOvUDt.js";import bt from"./NoteTimeline-BiPgEoRT.js";import Ct from"./PatientInfoCard-CQnDZGNo.js";import wt from"./PatientCaseCard-B8iDWmDb.js";import Et from"./DailyMatrix-_4SdP1CQ.js";import{l as Dt}from"./doctor-Bmtf1eZE.js";import{R as qt}from"./tcm-DOD9_1Um.js";import{i as g,_ as It}from"./index-CJvXnF8Y.js";import{f as Rt}from"./diag-display-DCz_VAqj.js";import"./picker-DWQ_BAep.js";import"./index-BBemoNXE.js";import"./index-CY1mb9yY.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-CAGpCz28.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";import"./perm-BLNmf25V.js";import"./blood-thresholds-CJ1fqMjh.js";import"./diabetes-discovery-display-B_wmGXQJ.js";import"./DiagnosisTodoList-wLDuYeQL.js";const xt={class:"reception-page"},$t={class:"reception-header"},Tt={class:"header-left"},Nt={class:"header-meta"},Pt={class:"header-right"},Vt={class:"live-pill"},Lt={class:"filter-shell"},Mt={class:"filter-tabs"},zt={class:"main-area"},At={class:"queue-col"},Bt={class:"queue-panel"},Ft={class:"queue-head"},Ot={class:"queue-title"},Ut={class:"queue-meta"},jt=["onClick"],Gt={class:"row-name"},Kt={class:"name-line"},Qt={class:"name-meta"},Wt={class:"time-line"},Yt=["disabled","onClick"],Ht=["onClick"],Zt={key:0},Jt={key:1,class:"no-more"},Xt={class:"sidebar"},ea={key:0,class:"placeholder-card"},ta={class:"card note-card"},aa={class:"card metric-card"},na={key:0,class:"float-bar"},de=5e3,re=15,sa=Ze({__name:"index",setup(la){const Te=Re(()=>xe(()=>import("./index-B9yJIrZi.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]))),Ne=Re(()=>xe(()=>import("./edit-DSANIFY1.js"),__vite__mapDeps([17,1,2,7,4,5,18,19,20,21,22,23,24,25,26,27,3,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,9,8,45,46,47,48,49,50,51,6,52,53,54,55,56,57,58,59,60,61,62,63,64,65]))),_=o(1),y=o([]),O=o(0),H=o(0),Z=o(0),J=o(1),U=o(!0),j=o(!1),G=o(!1),X=o(!1),c=o(null),p=o(null),ee=o(!1),b=o(""),P=o(!1),V=o(de/1e3),L=o(null);let I=null,R=null,te=!1,M=!1,w=null,K=0,x=0;const ae=o(null),Q=o(null),ce=o(),ve=o(),$=o(!1),z=o(""),ne=o(!1),T=Y(()=>{var e;return((e=p.value)==null?void 0:e.appointment)||{}}),S=Y(()=>{var e;return((e=p.value)==null?void 0:e.diagnosis)||{}}),Pe=Y(()=>{var e;return((e=p.value)==null?void 0:e.doctor_notes)||[]}),Ve=Y(()=>{const e=new Date,t=["周日","周一","周二","周三","周四","周五","周六"][e.getDay()],n=l=>String(l).padStart(2,"0");return`${e.getFullYear()}-${n(e.getMonth()+1)}-${n(e.getDate())} ${t}`}),Le=()=>{const e=new Date,t=n=>String(n).padStart(2,"0");return`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())}`},Me=e=>[Rt(e.gender),e.age!=null?e.age+"岁":""].filter(n=>n&&n!=="—").join(" "),ze=e=>e?e.replace(/^(\d{2}:\d{2})(:\d{2})?$/,"$1"):"—",se=async(e,t,n)=>{const l=Le(),i=await kt({status:t??_.value,start_date:l,end_date:l,patient_name:(n??b.value)||void 0,page_no:e,page_size:re}),E=(i==null?void 0:i.lists)||(i==null?void 0:i.data)||[],f=Number((i==null?void 0:i.count)??(i==null?void 0:i.total)??0);return{list:E,count:f}},Ae=async(e,t,n)=>{const l=e===1?4:1;try{const{count:i}=await se(1,l,t||void 0);if(n!==K||_.value!==e||b.value!==t)return;l===1?H.value=i:Z.value=i}catch{}},A=async e=>{const t=(e==null?void 0:e.silent)===!0;if(t&&te)return;const n=++K,l=_.value,i=b.value,E=(e==null?void 0:e.autoSelect)??!t;te=!0,t||(G.value=!0);try{J.value=1;const{list:f,count:m}=await se(1,l,i||void 0);if(n!==K||_.value!==l||b.value!==i)return;y.value=f,O.value=m||f.length,l===1?H.value=m:Z.value=m,U.value=f.length>=re&&y.value.length<(m||0),Ae(l,i,n),c.value&&!f.some(ie=>ie.id===c.value)&&(c.value=null,p.value=null),!c.value&&E&&f.length>0&&await fe(f[0])}catch(f){t||console.error("加载队列失败:",f)}finally{n===K&&(G.value=!1,te=!1)}},Be=async()=>{if(j.value||!U.value)return;const e=_.value,t=b.value;j.value=!0;try{const n=J.value+1,{list:l,count:i}=await se(n,e,t||void 0);if(_.value!==e||b.value!==t)return;const E=new Set(y.value.map(m=>m.id)),f=l.filter(m=>!E.has(m.id));y.value=[...y.value,...f],J.value=n,O.value=i||O.value,U.value=l.length>=re&&y.value.length<(i||0)}catch(n){console.error("加载更多失败:",n)}finally{j.value=!1}},Fe=async()=>{if(!c.value||M)return;const e=c.value,t=++x;M=!0;try{const n=await $e({id:e});if(t!==x||c.value!==e)return;p.value=n||p.value}catch{}finally{t===x&&(M=!1)}},fe=async e=>{if(c.value===e.id)return;const t=e.id,n=++x;c.value=e.id,p.value=null,X.value=!0,M=!0,B();try{const l=await $e({id:t});if(n!==x||c.value!==t)return;p.value=l||null}catch(l){console.error("加载详情失败:",l),g.msgError("加载患者详情失败")}finally{n===x&&(X.value=!1,M=!1)}},pe=async e=>{_.value!==e&&(_.value=e,c.value=null,p.value=null,await A(),B())},me=async()=>{c.value=null,p.value=null,await A(),B()},Oe=async e=>{var t;if(!e.patient_id){g.msgWarning("患者信息不完整");return}try{const n=await qt({patient_id:e.patient_id,diagnosis_id:e.diagnosis_id||e.id});(t=ce.value)==null||t.open({patientId:e.patient_id,patientName:e.patient_name,diagnosisId:e.diagnosis_id||e.id,signatureData:n})}catch(n){console.error("获取通话签名失败:",n),g.msgError((n==null?void 0:n.message)||"获取通话签名失败")}},Ue=async e=>{if(!L.value){L.value=e.id;try{await yt({id:e.id}),g.msgSuccess(`已通知医助 ${e.assistant_name||""}`),await N()}catch(t){g.msgError((t==null?void 0:t.message)||"通知失败")}finally{L.value=null}}},je=()=>{var e,t;(e=S.value)!=null&&e.patient_id&&((t=ve.value)==null||t.open("edit",S.value.patient_id))},Ge=async()=>{await N()},N=async()=>{const e=c.value;await A({silent:!0,autoSelect:!1}),e&&c.value===e&&await Fe(),B()},Ke=async()=>{var e;if((e=T.value)!=null&&e.id){try{await g.confirm("确认将该患者标记为「已完成接诊」?此操作不可撤销。")}catch{return}ee.value=!0;try{await Dt({id:T.value.id}),g.msgSuccess("已完成接诊"),c.value=null,p.value=null,await A({autoSelect:!0}),B()}catch(t){g.msgError((t==null?void 0:t.message)||"操作失败")}finally{ee.value=!1}}},Qe=async()=>{var n;const e=(n=S.value)==null?void 0:n.id;if(!e){g.msgWarning("当前患者无诊单,无法添加备注");return}const t=z.value.trim();if(!t){g.msgWarning("请输入备注内容");return}ne.value=!0;try{await St({diagnosis_id:e,content:t}),g.msgSuccess("备注保存成功"),z.value="",$.value=!1,await N()}catch(l){g.msgError((l==null?void 0:l.message)||"保存失败")}finally{ne.value=!1}},We=()=>{V.value=de/1e3},Ye=()=>{R&&clearInterval(R),We(),R=setInterval(()=>{P.value||(V.value>1?V.value-=1:V.value=1)},1e3)},ge=()=>{I&&clearTimeout(I),!P.value&&(Ye(),I=setTimeout(async()=>{await N()},de))},B=()=>{ge()},He=()=>{le(),ge()},le=()=>{I&&(clearTimeout(I),I=null),R&&(clearInterval(R),R=null)},_e=()=>{P.value=document.hidden,document.hidden?le():N()},he=e=>{var n;const t=String(((n=e==null?void 0:e.reason)==null?void 0:n.message)||(e==null?void 0:e.reason)||"");/Receiving end does not exist|Could not establish connection/i.test(t)&&e.preventDefault()},ye=()=>{!Q.value||!ae.value||(w==null||w.disconnect(),w=new IntersectionObserver(e=>{for(const t of e)t.isIntersecting&&Be()},{root:ae.value,rootMargin:"80px",threshold:0}),w.observe(Q.value))};return Je(Q,()=>ye()),Xe(()=>{A(),He(),document.addEventListener("visibilitychange",_e),window.addEventListener("unhandledrejection",he),et(()=>ye())}),tt(()=>{le(),w==null||w.disconnect(),document.removeEventListener("visibilitychange",_e),window.removeEventListener("unhandledrejection",he)}),(e,t)=>{var ke,be,Ce,we,Ee;const n=nt,l=it,i=dt,E=ft,f=mt,m=gt,ie=ht,Se=ot,oe=at("perms");return d(),h("div",xt,[s("div",$t,[s("div",Tt,[t[8]||(t[8]=s("h1",{class:"header-title"},"接诊台",-1)),s("div",Nt,k(a(Ve)),1)]),s("div",Pt,[s("div",Vt,[s("span",{class:W(["live-dot",{paused:a(P)}])},null,2),s("span",null,k(a(P)?"已暂停":`${a(V)}s 后刷新`),1)])])]),s("div",Lt,[r(l,{modelValue:a(b),"onUpdate:modelValue":t[0]||(t[0]=u=>ue(b)?b.value=u:null),placeholder:"请输入患者姓名",clearable:"",size:"default",class:"search-input",onKeyup:lt(me,["enter"]),onClear:me},{prefix:v(()=>[r(n,null,{default:v(()=>[r(a(st))]),_:1})]),_:1},8,["modelValue"]),s("div",Mt,[s("span",{class:W(["filter-tab",{active:a(_)===1}]),onClick:t[1]||(t[1]=u=>pe(1))},"待接诊 "+k(a(H))+" 人",3),t[9]||(t[9]=s("span",{class:"filter-sep"},"·",-1)),s("span",{class:W(["filter-tab",{active:a(_)===4}]),onClick:t[2]||(t[2]=u=>pe(4))},"已过号 "+k(a(Z))+" 人",3)])]),s("div",zt,[s("aside",At,[s("div",Bt,[s("div",Ft,[s("span",Ot,k(a(_)===1?"待接诊":"已过号"),1),s("span",Ut,k(a(O))+" 人",1)]),F((d(),h("div",{ref_key:"queueScrollRef",ref:ae,class:"queue-list"},[(d(!0),h(qe,null,ut(a(y),u=>(d(),h("div",{key:u.id,class:W(["queue-row",{active:a(c)===u.id,passed:u.status===4}]),onClick:De=>fe(u)},[s("div",Gt,[s("div",Kt,[D(k(u.patient_name||"未命名")+" ",1),s("span",Qt,k(Me(u)),1),u.status===4?(d(),C(i,{key:0,size:"small",type:"warning",class:"ml-1"},{default:v(()=>[...t[10]||(t[10]=[D("已过号",-1)])]),_:1})):q("",!0)]),s("div",Wt,k(ze(u.appointment_time))+" · 医助 "+k(u.assistant_name||"—"),1)]),s("div",{class:"row-actions",onClick:t[3]||(t[3]=rt(()=>{},["stop"]))},[r(E,{content:"通知医助(企业微信)",placement:"top"},{default:v(()=>[s("button",{class:"row-icon-btn notify",disabled:a(L)===u.id,onClick:De=>Ue(u)},[a(L)===u.id?(d(),C(n,{key:0,class:"is-loading"},{default:v(()=>[r(a(ct))]),_:1})):(d(),C(n,{key:1},{default:v(()=>[r(a(vt))]),_:1}))],8,Yt)]),_:2},1024),r(E,{content:"发起通话",placement:"top"},{default:v(()=>[s("button",{class:"row-icon-btn call",onClick:De=>Oe(u)},[r(n,null,{default:v(()=>[r(a(pt))]),_:1})],8,Ht)]),_:2},1024)])],10,jt))),128)),a(y).length>0?(d(),h("div",{key:0,ref_key:"sentinelRef",ref:Q,class:"scroll-sentinel"},[a(j)?(d(),h("span",Zt,"加载中…")):a(U)?q("",!0):(d(),h("span",Jt,"— 已全部加载 —"))],512)):q("",!0),!a(G)&&a(y).length===0?(d(),C(f,{key:1,description:"暂无待接诊患者","image-size":64})):q("",!0)])),[[Se,a(G)&&a(y).length===0]])])]),F((d(),h("section",Xt,[a(c)?a(p)?(d(),h(qe,{key:1},[r(Ct,{apt:a(T),diag:a(S)},null,8,["apt","diag"]),r(wt,{apt:a(T),diag:a(S)},null,8,["apt","diag"]),s("div",ta,[t[11]||(t[11]=s("div",{class:"card-title"},"医生备注 & 舌苔照片 & 检查报告",-1)),r(bt,{notes:a(Pe),"diagnosis-id":(ke=a(S))==null?void 0:ke.id,onRefresh:N},null,8,["notes","diagnosis-id"])]),s("div",aa,[t[12]||(t[12]=s("div",{class:"card-title"},"日常记录",-1)),r(Et,{"diagnosis-id":Number(((be=a(S))==null?void 0:be.id)??0),"patient-id":Number(((Ce=a(S))==null?void 0:Ce.patient_id)??0),age:((we=a(S))==null?void 0:we.age)??null,"patient-name":((Ee=a(S))==null?void 0:Ee.patient_name)||"","read-only":!0},null,8,["diagnosis-id","patient-id","age","patient-name"])])],64)):q("",!0):(d(),h("div",ea,[r(f,{description:"请从左侧选择一位待接诊患者"})]))])),[[Se,a(X)&&!a(p)]])]),r(_t,{name:"fade"},{default:v(()=>[a(c)&&a(p)?(d(),h("div",na,[F((d(),C(m,{class:"float-action note",size:"large",onClick:t[4]||(t[4]=u=>$.value=!0)},{default:v(()=>[...t[13]||(t[13]=[D(" 备注 ",-1)])]),_:1})),[[oe,["doctor.appointment/addDoctorNote"]]]),F((d(),C(m,{class:"float-action edit",size:"large",onClick:je},{default:v(()=>[...t[14]||(t[14]=[D(" 编辑病历 ",-1)])]),_:1})),[[oe,["tcm.diagnosis/edit"]]]),a(T).status===1||a(T).status===4?F((d(),C(m,{key:0,class:"float-action finish",size:"large",loading:a(ee),onClick:Ke},{default:v(()=>[...t[15]||(t[15]=[D(" 完成接诊 ",-1)])]),_:1},8,["loading"])),[[oe,["doctor.appointment/complete"]]]):q("",!0)])):q("",!0)]),_:1}),r(ie,{modelValue:a($),"onUpdate:modelValue":t[7]||(t[7]=u=>ue($)?$.value=u:null),title:"添加备注",width:"480px","append-to-body":""},{footer:v(()=>[r(m,{onClick:t[6]||(t[6]=u=>$.value=!1)},{default:v(()=>[...t[16]||(t[16]=[D("取消",-1)])]),_:1}),r(m,{type:"primary",loading:a(ne),onClick:Qe},{default:v(()=>[...t[17]||(t[17]=[D("保存",-1)])]),_:1},8,["loading"])]),default:v(()=>[r(l,{modelValue:a(z),"onUpdate:modelValue":t[5]||(t[5]=u=>ue(z)?z.value=u:null),type:"textarea",rows:4,placeholder:"输入今日备注...",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1},8,["modelValue"]),(d(),C(Ie(a(Te)),{ref_key:"chatDialogRef",ref:ce},null,512)),(d(),C(Ie(a(Ne)),{ref_key:"diagnosisEditRef",ref:ve,onSuccess:Ge},null,544))])}}}),Ra=It(sa,[["__scopeId","data-v-bdcae43b"]]);export{Ra as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-B8Qc_UQF.js","assets/.pnpm-9dA1PEvN.js","assets/.pnpm-LiWq8Xu0.css","assets/file-BL6iPgPC.js","assets/index-BWzN7QIb.js","assets/index-or10At3s.css","assets/patient-Btpwd7dp.js","assets/tcm-Fi_swgCr.js","assets/im-business-message-parse-DmDISFGN.js","assets/dayjs-BsOAYQJw.js","assets/@tencentcloud/chat-Clb_yWS-.js","assets/@tencentcloud/chat-uikit-engine-CE484eWV.js","assets/tim-upload-plugin-CQ0SshXS.js","assets/tim-profanity-filter-plugin-M-EFi4_K.js","assets/@tencentcloud/call-engine-js-BSW3L4hf.js","assets/rtc-detect-DLSGS3ox.js","assets/index-BdeDEJMM.css","assets/edit-DxLWCQnV.js","assets/perm-BzF8JgcJ.js","assets/DailyMatrix-BOqZMkKS.js","assets/picker-DfI3CPnQ.js","assets/index-dYaCh-CN.js","assets/index-dh40Du6y.css","assets/index-xDQ_OZln.js","assets/index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js","assets/index-fA0EWEUO.js","assets/index-BYMg0OFw.css","assets/index-DFkJDhf6.js","assets/index.vue_vue_type_script_setup_true_lang-Blf417m7.js","assets/usePaging-Boz1Q6w3.js","assets/index-D6uL8V1j.css","assets/picker-CLzhBfnG.css","assets/DiagnosisTodoList-CAIMA53u.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix--Ay5C05Q.css","assets/CaseRecordList-DlCqPijV.js","assets/CaseRecordList-DEgrl9PS.css","assets/CallRecordPanel-CJ3iGibG.js","assets/RecordingPlaybackBlock-CN4w1UI-.js","assets/RecordingVideoPlayer-DIfduEP7.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-p7h_1hh9.css","assets/ImChatRecordPanel-BMjxk7mx.js","assets/ImChatRecordPanel-BRnJl8ir.css","assets/AssignLogPanel-CF42MNq_.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DxBIlcME.js","assets/doctor-Chj6BcVp.js","assets/AppointmentRecordPanel-BWS3OyF0.css","assets/NoteTimeline-DxUNQs4y.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-CKjXSixL.js","assets/PrescriptionOrderDetailDrawer-CEi7ZXfx.js","assets/prescription-order-utils-B0fYlULc.js","assets/PrescriptionOrderDetailDrawer-DL92yzHH.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-B5cu05RL.js","assets/index-CNLsF7Nt.js","assets/medicine-DezWRkkS.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-DxQanmqx.css","assets/edit-Cgsl1tY9.css","assets/TrackingNoteTimeline-C-2kS81H.css"])))=>i.map(i=>d[i]); +import{o as Ze,R as Je,ap as Xe,n as et,aq as tt,be as at,q as d,r as h,s,T as k,u as a,ae as W,v as r,D as v,w as nt,bA as st,b8 as lt,C as ue,b7 as it,ac as F,bi as ot,F as qe,G as ut,L as D,O as C,br as dt,P as q,aw as rt,b5 as ct,as as vt,a1 as ft,cP as pt,bB as mt,K as gt,ab as _t,bt as ht,a4 as Ie,cb as Re,al as xe,M as o,p as Y}from"./.pnpm-9dA1PEvN.js";import{r as $e,n as yt,a as St,b as kt}from"./patient-Btpwd7dp.js";import bt from"./NoteTimeline-DxUNQs4y.js";import Ct from"./PatientInfoCard-_2CDuTA6.js";import wt from"./PatientCaseCard-CN_U6rzw.js";import Et from"./DailyMatrix-BOqZMkKS.js";import{l as Dt}from"./doctor-Chj6BcVp.js";import{R as qt}from"./tcm-Fi_swgCr.js";import{i as g,_ as It}from"./index-BWzN7QIb.js";import{f as Rt}from"./diag-display-DCz_VAqj.js";import"./picker-DfI3CPnQ.js";import"./index-dYaCh-CN.js";import"./index-xDQ_OZln.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-fA0EWEUO.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";import"./perm-BzF8JgcJ.js";import"./blood-thresholds-CJ1fqMjh.js";import"./diabetes-discovery-display-B_wmGXQJ.js";import"./DiagnosisTodoList-CAIMA53u.js";const xt={class:"reception-page"},$t={class:"reception-header"},Tt={class:"header-left"},Nt={class:"header-meta"},Pt={class:"header-right"},Vt={class:"live-pill"},Lt={class:"filter-shell"},Mt={class:"filter-tabs"},zt={class:"main-area"},At={class:"queue-col"},Bt={class:"queue-panel"},Ft={class:"queue-head"},Ot={class:"queue-title"},Ut={class:"queue-meta"},jt=["onClick"],Gt={class:"row-name"},Kt={class:"name-line"},Qt={class:"name-meta"},Wt={class:"time-line"},Yt=["disabled","onClick"],Ht=["onClick"],Zt={key:0},Jt={key:1,class:"no-more"},Xt={class:"sidebar"},ea={key:0,class:"placeholder-card"},ta={class:"card note-card"},aa={class:"card metric-card"},na={key:0,class:"float-bar"},de=5e3,re=15,sa=Ze({__name:"index",setup(la){const Te=Re(()=>xe(()=>import("./index-B8Qc_UQF.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]))),Ne=Re(()=>xe(()=>import("./edit-DxLWCQnV.js"),__vite__mapDeps([17,1,2,7,4,5,18,19,20,21,22,23,24,25,26,27,3,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,9,8,45,46,47,48,49,50,51,6,52,53,54,55,56,57,58,59,60,61,62,63,64,65]))),_=o(1),y=o([]),O=o(0),H=o(0),Z=o(0),J=o(1),U=o(!0),j=o(!1),G=o(!1),X=o(!1),c=o(null),p=o(null),ee=o(!1),b=o(""),P=o(!1),V=o(de/1e3),L=o(null);let I=null,R=null,te=!1,M=!1,w=null,K=0,x=0;const ae=o(null),Q=o(null),ce=o(),ve=o(),$=o(!1),z=o(""),ne=o(!1),T=Y(()=>{var e;return((e=p.value)==null?void 0:e.appointment)||{}}),S=Y(()=>{var e;return((e=p.value)==null?void 0:e.diagnosis)||{}}),Pe=Y(()=>{var e;return((e=p.value)==null?void 0:e.doctor_notes)||[]}),Ve=Y(()=>{const e=new Date,t=["周日","周一","周二","周三","周四","周五","周六"][e.getDay()],n=l=>String(l).padStart(2,"0");return`${e.getFullYear()}-${n(e.getMonth()+1)}-${n(e.getDate())} ${t}`}),Le=()=>{const e=new Date,t=n=>String(n).padStart(2,"0");return`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())}`},Me=e=>[Rt(e.gender),e.age!=null?e.age+"岁":""].filter(n=>n&&n!=="—").join(" "),ze=e=>e?e.replace(/^(\d{2}:\d{2})(:\d{2})?$/,"$1"):"—",se=async(e,t,n)=>{const l=Le(),i=await kt({status:t??_.value,start_date:l,end_date:l,patient_name:(n??b.value)||void 0,page_no:e,page_size:re}),E=(i==null?void 0:i.lists)||(i==null?void 0:i.data)||[],f=Number((i==null?void 0:i.count)??(i==null?void 0:i.total)??0);return{list:E,count:f}},Ae=async(e,t,n)=>{const l=e===1?4:1;try{const{count:i}=await se(1,l,t||void 0);if(n!==K||_.value!==e||b.value!==t)return;l===1?H.value=i:Z.value=i}catch{}},A=async e=>{const t=(e==null?void 0:e.silent)===!0;if(t&&te)return;const n=++K,l=_.value,i=b.value,E=(e==null?void 0:e.autoSelect)??!t;te=!0,t||(G.value=!0);try{J.value=1;const{list:f,count:m}=await se(1,l,i||void 0);if(n!==K||_.value!==l||b.value!==i)return;y.value=f,O.value=m||f.length,l===1?H.value=m:Z.value=m,U.value=f.length>=re&&y.value.length<(m||0),Ae(l,i,n),c.value&&!f.some(ie=>ie.id===c.value)&&(c.value=null,p.value=null),!c.value&&E&&f.length>0&&await fe(f[0])}catch(f){t||console.error("加载队列失败:",f)}finally{n===K&&(G.value=!1,te=!1)}},Be=async()=>{if(j.value||!U.value)return;const e=_.value,t=b.value;j.value=!0;try{const n=J.value+1,{list:l,count:i}=await se(n,e,t||void 0);if(_.value!==e||b.value!==t)return;const E=new Set(y.value.map(m=>m.id)),f=l.filter(m=>!E.has(m.id));y.value=[...y.value,...f],J.value=n,O.value=i||O.value,U.value=l.length>=re&&y.value.length<(i||0)}catch(n){console.error("加载更多失败:",n)}finally{j.value=!1}},Fe=async()=>{if(!c.value||M)return;const e=c.value,t=++x;M=!0;try{const n=await $e({id:e});if(t!==x||c.value!==e)return;p.value=n||p.value}catch{}finally{t===x&&(M=!1)}},fe=async e=>{if(c.value===e.id)return;const t=e.id,n=++x;c.value=e.id,p.value=null,X.value=!0,M=!0,B();try{const l=await $e({id:t});if(n!==x||c.value!==t)return;p.value=l||null}catch(l){console.error("加载详情失败:",l),g.msgError("加载患者详情失败")}finally{n===x&&(X.value=!1,M=!1)}},pe=async e=>{_.value!==e&&(_.value=e,c.value=null,p.value=null,await A(),B())},me=async()=>{c.value=null,p.value=null,await A(),B()},Oe=async e=>{var t;if(!e.patient_id){g.msgWarning("患者信息不完整");return}try{const n=await qt({patient_id:e.patient_id,diagnosis_id:e.diagnosis_id||e.id});(t=ce.value)==null||t.open({patientId:e.patient_id,patientName:e.patient_name,diagnosisId:e.diagnosis_id||e.id,signatureData:n})}catch(n){console.error("获取通话签名失败:",n),g.msgError((n==null?void 0:n.message)||"获取通话签名失败")}},Ue=async e=>{if(!L.value){L.value=e.id;try{await yt({id:e.id}),g.msgSuccess(`已通知医助 ${e.assistant_name||""}`),await N()}catch(t){g.msgError((t==null?void 0:t.message)||"通知失败")}finally{L.value=null}}},je=()=>{var e,t;(e=S.value)!=null&&e.patient_id&&((t=ve.value)==null||t.open("edit",S.value.patient_id))},Ge=async()=>{await N()},N=async()=>{const e=c.value;await A({silent:!0,autoSelect:!1}),e&&c.value===e&&await Fe(),B()},Ke=async()=>{var e;if((e=T.value)!=null&&e.id){try{await g.confirm("确认将该患者标记为「已完成接诊」?此操作不可撤销。")}catch{return}ee.value=!0;try{await Dt({id:T.value.id}),g.msgSuccess("已完成接诊"),c.value=null,p.value=null,await A({autoSelect:!0}),B()}catch(t){g.msgError((t==null?void 0:t.message)||"操作失败")}finally{ee.value=!1}}},Qe=async()=>{var n;const e=(n=S.value)==null?void 0:n.id;if(!e){g.msgWarning("当前患者无诊单,无法添加备注");return}const t=z.value.trim();if(!t){g.msgWarning("请输入备注内容");return}ne.value=!0;try{await St({diagnosis_id:e,content:t}),g.msgSuccess("备注保存成功"),z.value="",$.value=!1,await N()}catch(l){g.msgError((l==null?void 0:l.message)||"保存失败")}finally{ne.value=!1}},We=()=>{V.value=de/1e3},Ye=()=>{R&&clearInterval(R),We(),R=setInterval(()=>{P.value||(V.value>1?V.value-=1:V.value=1)},1e3)},ge=()=>{I&&clearTimeout(I),!P.value&&(Ye(),I=setTimeout(async()=>{await N()},de))},B=()=>{ge()},He=()=>{le(),ge()},le=()=>{I&&(clearTimeout(I),I=null),R&&(clearInterval(R),R=null)},_e=()=>{P.value=document.hidden,document.hidden?le():N()},he=e=>{var n;const t=String(((n=e==null?void 0:e.reason)==null?void 0:n.message)||(e==null?void 0:e.reason)||"");/Receiving end does not exist|Could not establish connection/i.test(t)&&e.preventDefault()},ye=()=>{!Q.value||!ae.value||(w==null||w.disconnect(),w=new IntersectionObserver(e=>{for(const t of e)t.isIntersecting&&Be()},{root:ae.value,rootMargin:"80px",threshold:0}),w.observe(Q.value))};return Je(Q,()=>ye()),Xe(()=>{A(),He(),document.addEventListener("visibilitychange",_e),window.addEventListener("unhandledrejection",he),et(()=>ye())}),tt(()=>{le(),w==null||w.disconnect(),document.removeEventListener("visibilitychange",_e),window.removeEventListener("unhandledrejection",he)}),(e,t)=>{var ke,be,Ce,we,Ee;const n=nt,l=it,i=dt,E=ft,f=mt,m=gt,ie=ht,Se=ot,oe=at("perms");return d(),h("div",xt,[s("div",$t,[s("div",Tt,[t[8]||(t[8]=s("h1",{class:"header-title"},"接诊台",-1)),s("div",Nt,k(a(Ve)),1)]),s("div",Pt,[s("div",Vt,[s("span",{class:W(["live-dot",{paused:a(P)}])},null,2),s("span",null,k(a(P)?"已暂停":`${a(V)}s 后刷新`),1)])])]),s("div",Lt,[r(l,{modelValue:a(b),"onUpdate:modelValue":t[0]||(t[0]=u=>ue(b)?b.value=u:null),placeholder:"请输入患者姓名",clearable:"",size:"default",class:"search-input",onKeyup:lt(me,["enter"]),onClear:me},{prefix:v(()=>[r(n,null,{default:v(()=>[r(a(st))]),_:1})]),_:1},8,["modelValue"]),s("div",Mt,[s("span",{class:W(["filter-tab",{active:a(_)===1}]),onClick:t[1]||(t[1]=u=>pe(1))},"待接诊 "+k(a(H))+" 人",3),t[9]||(t[9]=s("span",{class:"filter-sep"},"·",-1)),s("span",{class:W(["filter-tab",{active:a(_)===4}]),onClick:t[2]||(t[2]=u=>pe(4))},"已过号 "+k(a(Z))+" 人",3)])]),s("div",zt,[s("aside",At,[s("div",Bt,[s("div",Ft,[s("span",Ot,k(a(_)===1?"待接诊":"已过号"),1),s("span",Ut,k(a(O))+" 人",1)]),F((d(),h("div",{ref_key:"queueScrollRef",ref:ae,class:"queue-list"},[(d(!0),h(qe,null,ut(a(y),u=>(d(),h("div",{key:u.id,class:W(["queue-row",{active:a(c)===u.id,passed:u.status===4}]),onClick:De=>fe(u)},[s("div",Gt,[s("div",Kt,[D(k(u.patient_name||"未命名")+" ",1),s("span",Qt,k(Me(u)),1),u.status===4?(d(),C(i,{key:0,size:"small",type:"warning",class:"ml-1"},{default:v(()=>[...t[10]||(t[10]=[D("已过号",-1)])]),_:1})):q("",!0)]),s("div",Wt,k(ze(u.appointment_time))+" · 医助 "+k(u.assistant_name||"—"),1)]),s("div",{class:"row-actions",onClick:t[3]||(t[3]=rt(()=>{},["stop"]))},[r(E,{content:"通知医助(企业微信)",placement:"top"},{default:v(()=>[s("button",{class:"row-icon-btn notify",disabled:a(L)===u.id,onClick:De=>Ue(u)},[a(L)===u.id?(d(),C(n,{key:0,class:"is-loading"},{default:v(()=>[r(a(ct))]),_:1})):(d(),C(n,{key:1},{default:v(()=>[r(a(vt))]),_:1}))],8,Yt)]),_:2},1024),r(E,{content:"发起通话",placement:"top"},{default:v(()=>[s("button",{class:"row-icon-btn call",onClick:De=>Oe(u)},[r(n,null,{default:v(()=>[r(a(pt))]),_:1})],8,Ht)]),_:2},1024)])],10,jt))),128)),a(y).length>0?(d(),h("div",{key:0,ref_key:"sentinelRef",ref:Q,class:"scroll-sentinel"},[a(j)?(d(),h("span",Zt,"加载中…")):a(U)?q("",!0):(d(),h("span",Jt,"— 已全部加载 —"))],512)):q("",!0),!a(G)&&a(y).length===0?(d(),C(f,{key:1,description:"暂无待接诊患者","image-size":64})):q("",!0)])),[[Se,a(G)&&a(y).length===0]])])]),F((d(),h("section",Xt,[a(c)?a(p)?(d(),h(qe,{key:1},[r(Ct,{apt:a(T),diag:a(S)},null,8,["apt","diag"]),r(wt,{apt:a(T),diag:a(S)},null,8,["apt","diag"]),s("div",ta,[t[11]||(t[11]=s("div",{class:"card-title"},"医生备注 & 舌苔照片 & 检查报告",-1)),r(bt,{notes:a(Pe),"diagnosis-id":(ke=a(S))==null?void 0:ke.id,onRefresh:N},null,8,["notes","diagnosis-id"])]),s("div",aa,[t[12]||(t[12]=s("div",{class:"card-title"},"日常记录",-1)),r(Et,{"diagnosis-id":Number(((be=a(S))==null?void 0:be.id)??0),"patient-id":Number(((Ce=a(S))==null?void 0:Ce.patient_id)??0),age:((we=a(S))==null?void 0:we.age)??null,"patient-name":((Ee=a(S))==null?void 0:Ee.patient_name)||"","read-only":!0},null,8,["diagnosis-id","patient-id","age","patient-name"])])],64)):q("",!0):(d(),h("div",ea,[r(f,{description:"请从左侧选择一位待接诊患者"})]))])),[[Se,a(X)&&!a(p)]])]),r(_t,{name:"fade"},{default:v(()=>[a(c)&&a(p)?(d(),h("div",na,[F((d(),C(m,{class:"float-action note",size:"large",onClick:t[4]||(t[4]=u=>$.value=!0)},{default:v(()=>[...t[13]||(t[13]=[D(" 备注 ",-1)])]),_:1})),[[oe,["doctor.appointment/addDoctorNote"]]]),F((d(),C(m,{class:"float-action edit",size:"large",onClick:je},{default:v(()=>[...t[14]||(t[14]=[D(" 编辑病历 ",-1)])]),_:1})),[[oe,["tcm.diagnosis/edit"]]]),a(T).status===1||a(T).status===4?F((d(),C(m,{key:0,class:"float-action finish",size:"large",loading:a(ee),onClick:Ke},{default:v(()=>[...t[15]||(t[15]=[D(" 完成接诊 ",-1)])]),_:1},8,["loading"])),[[oe,["doctor.appointment/complete"]]]):q("",!0)])):q("",!0)]),_:1}),r(ie,{modelValue:a($),"onUpdate:modelValue":t[7]||(t[7]=u=>ue($)?$.value=u:null),title:"添加备注",width:"480px","append-to-body":""},{footer:v(()=>[r(m,{onClick:t[6]||(t[6]=u=>$.value=!1)},{default:v(()=>[...t[16]||(t[16]=[D("取消",-1)])]),_:1}),r(m,{type:"primary",loading:a(ne),onClick:Qe},{default:v(()=>[...t[17]||(t[17]=[D("保存",-1)])]),_:1},8,["loading"])]),default:v(()=>[r(l,{modelValue:a(z),"onUpdate:modelValue":t[5]||(t[5]=u=>ue(z)?z.value=u:null),type:"textarea",rows:4,placeholder:"输入今日备注...",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1},8,["modelValue"]),(d(),C(Ie(a(Te)),{ref_key:"chatDialogRef",ref:ce},null,512)),(d(),C(Ie(a(Ne)),{ref_key:"diagnosisEditRef",ref:ve,onSuccess:Ge},null,544))])}}}),Ra=It(sa,[["__scopeId","data-v-bdcae43b"]]);export{Ra as default}; diff --git a/server/public/admin/assets/index-C_YoFN-S.js b/server/public/admin/assets/index-HlZ3YZOq.js similarity index 56% rename from server/public/admin/assets/index-C_YoFN-S.js rename to server/public/admin/assets/index-HlZ3YZOq.js index 9653889b..b7181c84 100644 --- a/server/public/admin/assets/index-C_YoFN-S.js +++ b/server/public/admin/assets/index-HlZ3YZOq.js @@ -1 +1 @@ -import{_ as N}from"./index-bkWlwzQZ.js";import{o as w,ba as C,R as E,be as O,q as v,r as B,s as I,v as i,D as m,u as s,C as _,bg as U,ac as h,O as k,K as J,L as R,M as D,p as c}from"./.pnpm-9dA1PEvN.js";import{a as W,s as j}from"./decoration-CcdLOa7h.js";import{s as q,_ as H}from"./index-CJvXnF8Y.js";import{_ as K}from"./attr-setting.vue_vue_type_script_setup_true_lang-BuFYl1eM.js";import L from"./menu-CnChKOxc.js";import $ from"./preview-Cdl9WStU.js";import{e as z}from"./index-Y_sgRENm.js";import"./attr-Dd14GHzC.js";import"./index-CAGpCz28.js";import"./picker-zZfe7WrS.js";import"./index-BBemoNXE.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-BioaiRdh.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DWQ_BAep.js";import"./index-CY1mb9yY.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./content.vue_vue_type_script_setup_true_lang-aS7Unfcn.js";import"./decoration-img-BjTNsUc3.js";import"./attr.vue_vue_type_script_setup_true_lang-CJeNiwLV.js";import"./content-CCa1I_Vf.js";import"./attr.vue_vue_type_script_setup_true_lang-CrWMGfUm.js";import"./content.vue_vue_type_script_setup_true_lang-9FJV-g10.js";import"./attr.vue_vue_type_script_setup_true_lang-BpC62eFr.js";import"./add-nav.vue_vue_type_script_setup_true_lang-BlVjKvgp.js";import"./content-B8nUs9Lh.js";import"./attr.vue_vue_type_script_setup_true_lang-Blibzxk0.js";import"./content.vue_vue_type_script_setup_true_lang-D39DKNeD.js";import"./attr.vue_vue_type_script_setup_true_lang-BwzlMjDK.js";import"./content-BJh8f8yZ.js";import"./attr.vue_vue_type_script_setup_true_lang-B0T4O1-3.js";import"./index.vue_vue_type_script_setup_true_lang-DNrIEWkc.js";import"./content-B6ombiky.js";import"./content.vue_vue_type_script_setup_true_lang-Bb4PsYrv.js";import"./attr.vue_vue_type_script_setup_true_lang-Cf_ppg4c.js";import"./content-Dvj16Wpi.js";import"./attr.vue_vue_type_script_setup_true_lang-B7D0ls_t.js";import"./content.vue_vue_type_script_setup_true_lang-CHj8JtNb.js";import"./attr.vue_vue_type_script_setup_true_lang-CPgMFDSF.js";import"./content-CG3sk7hP.js";const A={class:"decoration-pages min-w-[1100px]"},F={class:"flex flex-1 h-full justify-between"},G=w({name:"decorationPages"}),Q=w({...G,setup(T){let u;(e=>{e.HOME="1",e.USER="2",e.SERVICE="3"})(u||(u={}));const x=e=>{o[a.value].pageData=[...e]},n=e=>e.map(t=>{var p;return{id:q(),...((p=z[t])==null?void 0:p.options())||{}}}),M=e=>{var t;(t=o[a.value])!=null&&t.pageData&&(o[a.value].pageData[r.value].content=e)},o=C({1:{id:1,type:1,name:"首页装修",pageMeta:n(["page-meta"]),pageData:n(["search","banner","nav","news"])},2:{id:2,type:2,name:"个人中心",pageMeta:n(["page-meta"]),pageData:n(["user-info","my-service","user-banner"])},3:{id:3,type:3,name:"客服设置",pageMeta:null,pageData:n(["customer-service"])}}),a=D("1"),r=D(-1),d=c(()=>{var e;return((e=o[a.value])==null?void 0:e.pageData)??[]}),y=c(()=>{var e;return((e=o[a.value])==null?void 0:e.pageMeta)??null}),b=c(()=>{var e,t;return r.value===-1?((e=o[a.value])==null?void 0:e.pageMeta[0])??"":((t=o[a.value])==null?void 0:t.pageData[r.value])??""}),g=async()=>{const e=await W({id:a.value});o[String(e.id)].pageData=JSON.parse(e.data),o[String(e.id)].pageMeta=e!=null&&e.meta?JSON.parse(e==null?void 0:e.meta):null},V=async()=>{const e=o[a.value];await j({...e,data:JSON.stringify(e.pageData),meta:e!=null&&e.pageMeta?JSON.stringify(e==null?void 0:e.pageMeta):null}),g()};return E(a,()=>{r.value=d.value.findIndex(e=>!e.disabled),g()},{immediate:!0}),(e,t)=>{const f=U,p=J,P=N,S=O("perms");return v(),B("div",A,[I("div",F,[i(f,{shadow:"never",class:"!border-none flex scroll-view-content","body-style":{"padding-right":0}},{default:m(()=>[i(L,{modelValue:s(a),"onUpdate:modelValue":t[0]||(t[0]=l=>_(a)?a.value=l:null),menus:s(o)},null,8,["modelValue","menus"])]),_:1}),i($,{class:"flex-1 scroll-view-content",modelValue:s(r),"onUpdate:modelValue":t[1]||(t[1]=l=>_(r)?r.value=l:null),onUpdatePageData:x,pageData:s(d),pageMeta:s(y)},null,8,["modelValue","pageData","pageMeta"]),i(K,{class:"w-[560px] scroll-view-content",widget:s(b),"onUpdate:content":M},null,8,["widget"])]),h((v(),k(P,{class:"mt-4",fixed:!1},{default:m(()=>[i(p,{type:"primary",onClick:V},{default:m(()=>[...t[2]||(t[2]=[R("保存",-1)])]),_:1})]),_:1})),[[S,["decorate:pages:save"]]])])}}}),qe=H(Q,[["__scopeId","data-v-c24d7f45"]]);export{qe as default}; +import{_ as N}from"./index-DZiQLFzx.js";import{o as w,ba as C,R as E,be as O,q as v,r as B,s as I,v as i,D as m,u as s,C as _,bg as U,ac as h,O as k,K as J,L as R,M as D,p as c}from"./.pnpm-9dA1PEvN.js";import{a as W,s as j}from"./decoration-CvemIMkE.js";import{s as q,_ as H}from"./index-BWzN7QIb.js";import{_ as K}from"./attr-setting.vue_vue_type_script_setup_true_lang-BY03Sp45.js";import L from"./menu-DpE-frsg.js";import $ from"./preview-CsXXagtK.js";import{e as z}from"./index-QcrBqU8R.js";import"./attr-Cdokcs2q.js";import"./index-fA0EWEUO.js";import"./picker-CUH4oSOm.js";import"./index-dYaCh-CN.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-CGwMRNkL.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DfI3CPnQ.js";import"./index-xDQ_OZln.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./content.vue_vue_type_script_setup_true_lang-rFCJ-5da.js";import"./decoration-img-D7jfQZHh.js";import"./attr.vue_vue_type_script_setup_true_lang-Dp-D5e3f.js";import"./content-DPbffuTN.js";import"./attr.vue_vue_type_script_setup_true_lang-TdHwRkcj.js";import"./content.vue_vue_type_script_setup_true_lang-uo5gNfRj.js";import"./attr.vue_vue_type_script_setup_true_lang-BKeU9pV7.js";import"./add-nav.vue_vue_type_script_setup_true_lang-BRlmru-_.js";import"./content-MvOmvsN5.js";import"./attr.vue_vue_type_script_setup_true_lang-sgS4D2G0.js";import"./content.vue_vue_type_script_setup_true_lang-BJQyKf9U.js";import"./attr.vue_vue_type_script_setup_true_lang-BwzlMjDK.js";import"./content-CoRLP3ZG.js";import"./attr.vue_vue_type_script_setup_true_lang-DoU7_LM1.js";import"./index.vue_vue_type_script_setup_true_lang-DNrIEWkc.js";import"./content-B1h0mUKe.js";import"./content.vue_vue_type_script_setup_true_lang-DyhL_D8z.js";import"./attr.vue_vue_type_script_setup_true_lang-Cf_ppg4c.js";import"./content-FlAi4LQU.js";import"./attr.vue_vue_type_script_setup_true_lang-BBZIj_I6.js";import"./content.vue_vue_type_script_setup_true_lang-epBYaUkx.js";import"./attr.vue_vue_type_script_setup_true_lang-CPgMFDSF.js";import"./content-Cwp3TvMF.js";const A={class:"decoration-pages min-w-[1100px]"},F={class:"flex flex-1 h-full justify-between"},G=w({name:"decorationPages"}),Q=w({...G,setup(T){let u;(e=>{e.HOME="1",e.USER="2",e.SERVICE="3"})(u||(u={}));const x=e=>{o[a.value].pageData=[...e]},n=e=>e.map(t=>{var p;return{id:q(),...((p=z[t])==null?void 0:p.options())||{}}}),M=e=>{var t;(t=o[a.value])!=null&&t.pageData&&(o[a.value].pageData[r.value].content=e)},o=C({1:{id:1,type:1,name:"首页装修",pageMeta:n(["page-meta"]),pageData:n(["search","banner","nav","news"])},2:{id:2,type:2,name:"个人中心",pageMeta:n(["page-meta"]),pageData:n(["user-info","my-service","user-banner"])},3:{id:3,type:3,name:"客服设置",pageMeta:null,pageData:n(["customer-service"])}}),a=D("1"),r=D(-1),d=c(()=>{var e;return((e=o[a.value])==null?void 0:e.pageData)??[]}),y=c(()=>{var e;return((e=o[a.value])==null?void 0:e.pageMeta)??null}),b=c(()=>{var e,t;return r.value===-1?((e=o[a.value])==null?void 0:e.pageMeta[0])??"":((t=o[a.value])==null?void 0:t.pageData[r.value])??""}),g=async()=>{const e=await W({id:a.value});o[String(e.id)].pageData=JSON.parse(e.data),o[String(e.id)].pageMeta=e!=null&&e.meta?JSON.parse(e==null?void 0:e.meta):null},V=async()=>{const e=o[a.value];await j({...e,data:JSON.stringify(e.pageData),meta:e!=null&&e.pageMeta?JSON.stringify(e==null?void 0:e.pageMeta):null}),g()};return E(a,()=>{r.value=d.value.findIndex(e=>!e.disabled),g()},{immediate:!0}),(e,t)=>{const f=U,p=J,P=N,S=O("perms");return v(),B("div",A,[I("div",F,[i(f,{shadow:"never",class:"!border-none flex scroll-view-content","body-style":{"padding-right":0}},{default:m(()=>[i(L,{modelValue:s(a),"onUpdate:modelValue":t[0]||(t[0]=l=>_(a)?a.value=l:null),menus:s(o)},null,8,["modelValue","menus"])]),_:1}),i($,{class:"flex-1 scroll-view-content",modelValue:s(r),"onUpdate:modelValue":t[1]||(t[1]=l=>_(r)?r.value=l:null),onUpdatePageData:x,pageData:s(d),pageMeta:s(y)},null,8,["modelValue","pageData","pageMeta"]),i(K,{class:"w-[560px] scroll-view-content",widget:s(b),"onUpdate:content":M},null,8,["widget"])]),h((v(),k(P,{class:"mt-4",fixed:!1},{default:m(()=>[i(p,{type:"primary",onClick:V},{default:m(()=>[...t[2]||(t[2]=[R("保存",-1)])]),_:1})]),_:1})),[[S,["decorate:pages:save"]]])])}}}),qe=H(Q,[["__scopeId","data-v-c24d7f45"]]);export{qe as default}; diff --git a/server/public/admin/assets/index-Y_sgRENm.js b/server/public/admin/assets/index-QcrBqU8R.js similarity index 74% rename from server/public/admin/assets/index-Y_sgRENm.js rename to server/public/admin/assets/index-QcrBqU8R.js index 113e2dbe..a6dcc8c9 100644 --- a/server/public/admin/assets/index-Y_sgRENm.js +++ b/server/public/admin/assets/index-QcrBqU8R.js @@ -1 +1 @@ -import i from"./attr-Dd14GHzC.js";import{_}from"./content.vue_vue_type_script_setup_true_lang-aS7Unfcn.js";import{_ as s}from"./attr.vue_vue_type_script_setup_true_lang-CJeNiwLV.js";import a from"./content-CCa1I_Vf.js";import{_ as r}from"./attr.vue_vue_type_script_setup_true_lang-CrWMGfUm.js";import{_ as l}from"./content.vue_vue_type_script_setup_true_lang-9FJV-g10.js";import{_ as c}from"./attr.vue_vue_type_script_setup_true_lang-BpC62eFr.js";import m from"./content-B8nUs9Lh.js";import{_ as d}from"./attr.vue_vue_type_script_setup_true_lang-Blibzxk0.js";import{_ as p}from"./content.vue_vue_type_script_setup_true_lang-D39DKNeD.js";import{_ as f}from"./attr.vue_vue_type_script_setup_true_lang-BwzlMjDK.js";import b from"./content-BJh8f8yZ.js";import{_ as g}from"./attr.vue_vue_type_script_setup_true_lang-B0T4O1-3.js";import u from"./content-B6ombiky.js";import{_ as y}from"./content.vue_vue_type_script_setup_true_lang-Bb4PsYrv.js";import{_ as $}from"./attr.vue_vue_type_script_setup_true_lang-Cf_ppg4c.js";import v from"./content-Dvj16Wpi.js";import{_ as x}from"./attr.vue_vue_type_script_setup_true_lang-B7D0ls_t.js";import{_ as j}from"./content.vue_vue_type_script_setup_true_lang-CHj8JtNb.js";import{_ as O}from"./attr.vue_vue_type_script_setup_true_lang-CPgMFDSF.js";import S from"./content-CG3sk7hP.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-Cdokcs2q.js";import{_}from"./content.vue_vue_type_script_setup_true_lang-rFCJ-5da.js";import{_ as s}from"./attr.vue_vue_type_script_setup_true_lang-Dp-D5e3f.js";import a from"./content-DPbffuTN.js";import{_ as r}from"./attr.vue_vue_type_script_setup_true_lang-TdHwRkcj.js";import{_ as l}from"./content.vue_vue_type_script_setup_true_lang-uo5gNfRj.js";import{_ as c}from"./attr.vue_vue_type_script_setup_true_lang-BKeU9pV7.js";import m from"./content-MvOmvsN5.js";import{_ as d}from"./attr.vue_vue_type_script_setup_true_lang-sgS4D2G0.js";import{_ as p}from"./content.vue_vue_type_script_setup_true_lang-BJQyKf9U.js";import{_ as f}from"./attr.vue_vue_type_script_setup_true_lang-BwzlMjDK.js";import b from"./content-CoRLP3ZG.js";import{_ as g}from"./attr.vue_vue_type_script_setup_true_lang-DoU7_LM1.js";import u from"./content-B1h0mUKe.js";import{_ as y}from"./content.vue_vue_type_script_setup_true_lang-DyhL_D8z.js";import{_ as $}from"./attr.vue_vue_type_script_setup_true_lang-Cf_ppg4c.js";import v from"./content-FlAi4LQU.js";import{_ as x}from"./attr.vue_vue_type_script_setup_true_lang-BBZIj_I6.js";import{_ as j}from"./content.vue_vue_type_script_setup_true_lang-epBYaUkx.js";import{_ as O}from"./attr.vue_vue_type_script_setup_true_lang-CPgMFDSF.js";import S from"./content-Cwp3TvMF.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-jbDCfj3q.js b/server/public/admin/assets/index-ZJPNDzgN.js similarity index 93% rename from server/public/admin/assets/index-jbDCfj3q.js rename to server/public/admin/assets/index-ZJPNDzgN.js index 1c321280..1b10fc8e 100644 --- a/server/public/admin/assets/index-jbDCfj3q.js +++ b/server/public/admin/assets/index-ZJPNDzgN.js @@ -1 +1 @@ -import{o as K,ap as G,n as E,be as H,q as p,r as J,v as t,D as a,b9 as Q,u as i,b6 as W,b7 as X,b8 as Y,bm as Z,bn as ee,K as te,L as s,bg as ae,s as L,ac as b,O as c,bj as le,bk as ne,T as N,br as oe,P,bi as se,a8 as x,M as V,ba as ie}from"./.pnpm-9dA1PEvN.js";import{c as de,i as re}from"./index-CJvXnF8Y.js";import{e as pe,f as me}from"./department-DYCfZwei.js";import{_ as ue}from"./edit.vue_vue_type_script_setup_true_lang-CvguIgHT.js";import"./index-BBemoNXE.js";import"./useDictOptions-bKMXOe8R.js";const fe={class:"department"},ce=K({name:"department"}),Ce=K({...ce,setup(_e){const D=x(),_=x(),R=x();let k=!1;const w=V(!1),g=V([]),m=ie({status:"",name:""}),v=V(!1),u=async()=>{w.value=!0,g.value=await pe(m),w.value=!1},S=()=>{var l;(l=R.value)==null||l.resetFields(),u()},$=async l=>{var e,o;v.value=!0,await E(),l&&((e=_.value)==null||e.setFormData({pid:l})),(o=_.value)==null||o.open("add")},q=async l=>{var e,o;v.value=!0,await E(),(e=_.value)==null||e.open("edit"),(o=_.value)==null||o.getDetail(l)},I=async l=>{await re.confirm("确定要删除?"),await me({id:l}),u()},T=()=>{k=!k,h(g.value,k)},h=(l,e=!0)=>{var o;for(const d in l)(o=D.value)==null||o.toggleRowExpansion(l[d],e),l[d].children&&h(l[d].children,e)};return G(async()=>{await u(),E(()=>{T()})}),(l,e)=>{const o=X,d=W,C=ee,M=Z,r=te,O=Q,B=ae,U=de,f=ne,j=oe,z=le,y=H("perms"),A=se;return p(),J("div",fe,[t(B,{class:"!border-none",shadow:"never"},{default:a(()=>[t(O,{ref_key:"formRef",ref:R,class:"mb-[-16px]",model:i(m),inline:!0},{default:a(()=>[t(d,{class:"w-[280px]",label:"部门名称",prop:"name"},{default:a(()=>[t(o,{modelValue:i(m).name,"onUpdate:modelValue":e[0]||(e[0]=n=>i(m).name=n),placeholder:"输入部门名称",clearable:"",onKeyup:Y(u,["enter"])},null,8,["modelValue"])]),_:1}),t(d,{class:"w-[280px]",label:"部门状态",prop:"status"},{default:a(()=>[t(M,{modelValue:i(m).status,"onUpdate:modelValue":e[1]||(e[1]=n=>i(m).status=n)},{default:a(()=>[t(C,{label:"全部",value:""}),t(C,{label:"正常",value:"1"}),t(C,{label:"停用",value:"0"})]),_:1},8,["modelValue"])]),_:1}),t(d,null,{default:a(()=>[t(r,{type:"primary",onClick:u},{default:a(()=>[...e[4]||(e[4]=[s("查询",-1)])]),_:1}),t(r,{onClick:S},{default:a(()=>[...e[5]||(e[5]=[s("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(B,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[L("div",null,[b((p(),c(r,{type:"primary",onClick:e[2]||(e[2]=n=>$())},{icon:a(()=>[t(U,{name:"el-icon-Plus"})]),default:a(()=>[e[6]||(e[6]=s(" 新增 ",-1))]),_:1})),[[y,["dept.dept/add"]]]),t(r,{onClick:T},{default:a(()=>[...e[7]||(e[7]=[s(" 展开/折叠 ",-1)])]),_:1})]),b((p(),c(z,{ref_key:"tableRef",ref:D,class:"mt-4",size:"large",data:i(g),"row-key":"id","tree-props":{children:"children",hasChildren:"hasChildren"}},{default:a(()=>[t(f,{label:"部门名称",prop:"name","min-width":"150","show-overflow-tooltip":""}),t(f,{label:"人数","min-width":"100",align:"center","show-overflow-tooltip":""},{header:a(()=>[...e[8]||(e[8]=[L("span",{title:"含本部门及所有下级部门的管理员数"},"人数(含下级)",-1)])]),default:a(({row:n})=>[s(N(n.admin_count??0),1)]),_:1}),t(f,{label:"部门状态",prop:"status","min-width":"100"},{default:a(({row:n})=>[t(j,{class:"ml-2",type:n.status?"primary":"danger"},{default:a(()=>[s(N(n.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:a(({row:n})=>[b((p(),c(r,{type:"primary",link:"",onClick:F=>$(n.id)},{default:a(()=>[...e[9]||(e[9]=[s(" 新增 ",-1)])]),_:1},8,["onClick"])),[[y,["dept.dept/add"]]]),b((p(),c(r,{type:"primary",link:"",onClick:F=>q(n)},{default:a(()=>[...e[10]||(e[10]=[s(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[y,["dept.dept/edit"]]]),n.pid!==0?b((p(),c(r,{key:0,type:"danger",link:"",onClick:F=>I(n.id)},{default:a(()=>[...e[11]||(e[11]=[s(" 删除 ",-1)])]),_:1},8,["onClick"])),[[y,["dept.dept/delete"]]]):P("",!0)]),_:1})]),_:1},8,["data"])),[[A,i(w)]])]),_:1}),i(v)?(p(),c(ue,{key:0,ref_key:"editRef",ref:_,onSuccess:u,onClose:e[3]||(e[3]=n=>v.value=!1)},null,512)):P("",!0)])}}});export{Ce as default}; +import{o as K,ap as G,n as E,be as H,q as p,r as J,v as t,D as a,b9 as Q,u as i,b6 as W,b7 as X,b8 as Y,bm as Z,bn as ee,K as te,L as s,bg as ae,s as L,ac as b,O as c,bj as le,bk as ne,T as N,br as oe,P,bi as se,a8 as x,M as V,ba as ie}from"./.pnpm-9dA1PEvN.js";import{c as de,i as re}from"./index-BWzN7QIb.js";import{e as pe,f as me}from"./department-BABv4GiI.js";import{_ as ue}from"./edit.vue_vue_type_script_setup_true_lang-BshekMIG.js";import"./index-dYaCh-CN.js";import"./useDictOptions-BeE4yyHx.js";const fe={class:"department"},ce=K({name:"department"}),Ce=K({...ce,setup(_e){const D=x(),_=x(),R=x();let k=!1;const w=V(!1),g=V([]),m=ie({status:"",name:""}),v=V(!1),u=async()=>{w.value=!0,g.value=await pe(m),w.value=!1},S=()=>{var l;(l=R.value)==null||l.resetFields(),u()},$=async l=>{var e,o;v.value=!0,await E(),l&&((e=_.value)==null||e.setFormData({pid:l})),(o=_.value)==null||o.open("add")},q=async l=>{var e,o;v.value=!0,await E(),(e=_.value)==null||e.open("edit"),(o=_.value)==null||o.getDetail(l)},I=async l=>{await re.confirm("确定要删除?"),await me({id:l}),u()},T=()=>{k=!k,h(g.value,k)},h=(l,e=!0)=>{var o;for(const d in l)(o=D.value)==null||o.toggleRowExpansion(l[d],e),l[d].children&&h(l[d].children,e)};return G(async()=>{await u(),E(()=>{T()})}),(l,e)=>{const o=X,d=W,C=ee,M=Z,r=te,O=Q,B=ae,U=de,f=ne,j=oe,z=le,y=H("perms"),A=se;return p(),J("div",fe,[t(B,{class:"!border-none",shadow:"never"},{default:a(()=>[t(O,{ref_key:"formRef",ref:R,class:"mb-[-16px]",model:i(m),inline:!0},{default:a(()=>[t(d,{class:"w-[280px]",label:"部门名称",prop:"name"},{default:a(()=>[t(o,{modelValue:i(m).name,"onUpdate:modelValue":e[0]||(e[0]=n=>i(m).name=n),placeholder:"输入部门名称",clearable:"",onKeyup:Y(u,["enter"])},null,8,["modelValue"])]),_:1}),t(d,{class:"w-[280px]",label:"部门状态",prop:"status"},{default:a(()=>[t(M,{modelValue:i(m).status,"onUpdate:modelValue":e[1]||(e[1]=n=>i(m).status=n)},{default:a(()=>[t(C,{label:"全部",value:""}),t(C,{label:"正常",value:"1"}),t(C,{label:"停用",value:"0"})]),_:1},8,["modelValue"])]),_:1}),t(d,null,{default:a(()=>[t(r,{type:"primary",onClick:u},{default:a(()=>[...e[4]||(e[4]=[s("查询",-1)])]),_:1}),t(r,{onClick:S},{default:a(()=>[...e[5]||(e[5]=[s("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(B,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[L("div",null,[b((p(),c(r,{type:"primary",onClick:e[2]||(e[2]=n=>$())},{icon:a(()=>[t(U,{name:"el-icon-Plus"})]),default:a(()=>[e[6]||(e[6]=s(" 新增 ",-1))]),_:1})),[[y,["dept.dept/add"]]]),t(r,{onClick:T},{default:a(()=>[...e[7]||(e[7]=[s(" 展开/折叠 ",-1)])]),_:1})]),b((p(),c(z,{ref_key:"tableRef",ref:D,class:"mt-4",size:"large",data:i(g),"row-key":"id","tree-props":{children:"children",hasChildren:"hasChildren"}},{default:a(()=>[t(f,{label:"部门名称",prop:"name","min-width":"150","show-overflow-tooltip":""}),t(f,{label:"人数","min-width":"100",align:"center","show-overflow-tooltip":""},{header:a(()=>[...e[8]||(e[8]=[L("span",{title:"含本部门及所有下级部门的管理员数"},"人数(含下级)",-1)])]),default:a(({row:n})=>[s(N(n.admin_count??0),1)]),_:1}),t(f,{label:"部门状态",prop:"status","min-width":"100"},{default:a(({row:n})=>[t(j,{class:"ml-2",type:n.status?"primary":"danger"},{default:a(()=>[s(N(n.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:a(({row:n})=>[b((p(),c(r,{type:"primary",link:"",onClick:F=>$(n.id)},{default:a(()=>[...e[9]||(e[9]=[s(" 新增 ",-1)])]),_:1},8,["onClick"])),[[y,["dept.dept/add"]]]),b((p(),c(r,{type:"primary",link:"",onClick:F=>q(n)},{default:a(()=>[...e[10]||(e[10]=[s(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[y,["dept.dept/edit"]]]),n.pid!==0?b((p(),c(r,{key:0,type:"danger",link:"",onClick:F=>I(n.id)},{default:a(()=>[...e[11]||(e[11]=[s(" 删除 ",-1)])]),_:1},8,["onClick"])),[[y,["dept.dept/delete"]]]):P("",!0)]),_:1})]),_:1},8,["data"])),[[A,i(w)]])]),_:1}),i(v)?(p(),c(ue,{key:0,ref_key:"editRef",ref:_,onSuccess:u,onClose:e[3]||(e[3]=n=>v.value=!1)},null,512)):P("",!0)])}}});export{Ce as default}; diff --git a/server/public/admin/assets/index-BBemoNXE.js b/server/public/admin/assets/index-dYaCh-CN.js similarity index 93% rename from server/public/admin/assets/index-BBemoNXE.js rename to server/public/admin/assets/index-dYaCh-CN.js index 2d8c9f3c..c743a3e5 100644 --- a/server/public/admin/assets/index-BBemoNXE.js +++ b/server/public/admin/assets/index-dYaCh-CN.js @@ -1 +1 @@ -import{o as g,M as B,n as k,bL as b,q as r,r as C,s as f,ah as p,v as S,bM as T,D as a,L as s,T as d,O as m,K as $,P as v,ae as V,bt as E}from"./.pnpm-9dA1PEvN.js";import{_ as h}from"./index-CJvXnF8Y.js";const w=g({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=B(!1),c=n=>{o(n),(!e.async||n==="cancel")&&i()},i=()=>{t.value=!1,k(()=>{o("close")})},u=()=>{e.disabled||(o("open"),t.value=!0)};return b("visible",t),{visible:t,handleEvent:c,close:i,open:u}}}),z={class:"dialog"},N={class:"dialog-footer"};function M(e,o,t,c,i,u){const n=$,y=E;return r(),C("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)]),S(y,{modelValue:e.visible,"onUpdate:modelValue":o[3]||(o[3]=l=>e.visible=l),class:V(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},T({footer:a(()=>[f("div",N,[e.cancelButtonText?(r(),m(n,{key:0,onClick:o[1]||(o[1]=l=>e.handleEvent("cancel"))},{default:a(()=>[s(d(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(d(e.confirmButtonText),1)]),_:1})):v("",!0)])]),default:a(()=>[p(e.$slots,"default",{},()=>[s(d(e.content),1)],!0)]),_:2},[e.title?{name:"header",fn:a(()=>[s(d(e.title),1)]),key:"0"}:void 0]),1032,["modelValue","class","center","width","close-on-click-modal","z-index","onClosed"])])}const L=h(w,[["render",M],["__scopeId","data-v-67c2bf06"]]);export{L as _}; +import{o as g,M as B,n as k,bL as b,q as r,r as C,s as f,ah as p,v as S,bM as T,D as a,L as s,T as d,O as m,K as $,P as v,ae as V,bt as E}from"./.pnpm-9dA1PEvN.js";import{_ as h}from"./index-BWzN7QIb.js";const w=g({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=B(!1),c=n=>{o(n),(!e.async||n==="cancel")&&i()},i=()=>{t.value=!1,k(()=>{o("close")})},u=()=>{e.disabled||(o("open"),t.value=!0)};return b("visible",t),{visible:t,handleEvent:c,close:i,open:u}}}),z={class:"dialog"},N={class:"dialog-footer"};function M(e,o,t,c,i,u){const n=$,y=E;return r(),C("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)]),S(y,{modelValue:e.visible,"onUpdate:modelValue":o[3]||(o[3]=l=>e.visible=l),class:V(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},T({footer:a(()=>[f("div",N,[e.cancelButtonText?(r(),m(n,{key:0,onClick:o[1]||(o[1]=l=>e.handleEvent("cancel"))},{default:a(()=>[s(d(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(d(e.confirmButtonText),1)]),_:1})):v("",!0)])]),default:a(()=>[p(e.$slots,"default",{},()=>[s(d(e.content),1)],!0)]),_:2},[e.title?{name:"header",fn:a(()=>[s(d(e.title),1)]),key:"0"}:void 0]),1032,["modelValue","class","center","width","close-on-click-modal","z-index","onClosed"])])}const L=h(w,[["render",M],["__scopeId","data-v-67c2bf06"]]);export{L as _}; diff --git a/server/public/admin/assets/index-9QzNDis2.js b/server/public/admin/assets/index-f-dGZB6X.js similarity index 92% rename from server/public/admin/assets/index-9QzNDis2.js rename to server/public/admin/assets/index-f-dGZB6X.js index 328c8910..e6625f76 100644 --- a/server/public/admin/assets/index-9QzNDis2.js +++ b/server/public/admin/assets/index-f-dGZB6X.js @@ -1 +1 @@ -import{o as $,be as A,q as s,r as v,v as o,D as a,s as B,ac as _,O as r,K as P,L as u,bj as z,u as p,bk as F,P as h,br as S,bi as j,bg as q,a8 as D,M as G,n as N}from"./.pnpm-9dA1PEvN.js";import{c as K,M as k,i as H}from"./index-CJvXnF8Y.js";import{a as I,e as J}from"./menu-DVBnPCFw.js";import{u as Q}from"./usePaging-Boz1Q6w3.js";import{_ as W}from"./edit.vue_vue_type_script_setup_true_lang-Bs2WT8Gt.js";import"./picker.vue_vue_type_script_setup_true_lang-B8p-3sQo.js";import"./index-BBemoNXE.js";const X={class:"menu-lists"},Y={key:0},Z={key:1},ee={key:2},te={class:"flex"},ae=$({name:"permission-menu"}),ue=$({...ae,setup(ne){const w=D(),m=D();let y=!1;const c=G(!1),{pager:b,getLists:g}=Q({fetchFun:I,params:{page_type:0}}),C=async n=>{var e,l;c.value=!0,await N(),n&&((e=m.value)==null||e.setFormData({pid:n})),(l=m.value)==null||l.open("add")},R=async n=>{var e,l;c.value=!0,await N(),(e=m.value)==null||e.open("edit"),(l=m.value)==null||l.getDetail(n)},L=async n=>{await H.confirm("确定要删除?"),await J({id:n}),g()},M=()=>{y=!y,E(b.lists,y)},E=(n,e=!0)=>{var l;for(const i in n)(l=w.value)==null||l.toggleRowExpansion(n[i],e),n[i].children&&E(n[i].children,e)};return g(),(n,e)=>{const l=K,i=P,d=F,x=S,O=z,U=q,f=A("perms"),V=j;return s(),v("div",X,[o(U,{class:"!border-none",shadow:"never"},{default:a(()=>[B("div",null,[_((s(),r(i,{type:"primary",onClick:e[0]||(e[0]=t=>C())},{icon:a(()=>[o(l,{name:"el-icon-Plus"})]),default:a(()=>[e[2]||(e[2]=u(" 新增 ",-1))]),_:1})),[[f,["auth.menu/add"]]]),o(i,{onClick:M},{default:a(()=>[...e[3]||(e[3]=[u(" 展开/折叠 ",-1)])]),_:1})]),_((s(),r(O,{ref_key:"tableRef",ref:w,class:"mt-4",size:"large",data:p(b).lists,"row-key":"id","tree-props":{children:"children",hasChildren:"hasChildren"}},{default:a(()=>[o(d,{label:"菜单名称",prop:"name","min-width":"150","show-overflow-tooltip":""}),o(d,{label:"类型",prop:"type","min-width":"80"},{default:a(({row:t})=>[t.type==p(k).CATALOGUE?(s(),v("div",Y,"目录")):t.type==p(k).MENU?(s(),v("div",Z,"菜单")):t.type==p(k).BUTTON?(s(),v("div",ee,"按钮")):h("",!0)]),_:1}),o(d,{label:"图标",prop:"icon","min-width":"80"},{default:a(({row:t})=>[B("div",te,[o(l,{name:t.icon,size:20},null,8,["name"])])]),_:1}),o(d,{label:"权限标识",prop:"perms","min-width":"150","show-overflow-tooltip":""}),o(d,{label:"状态",prop:"is_disable","min-width":"100"},{default:a(({row:t})=>[t.is_disable==0?(s(),r(x,{key:0},{default:a(()=>[...e[4]||(e[4]=[u("正常",-1)])]),_:1})):(s(),r(x,{key:1,type:"danger"},{default:a(()=>[...e[5]||(e[5]=[u("停用",-1)])]),_:1}))]),_:1}),o(d,{label:"排序",prop:"sort","min-width":"100"}),o(d,{label:"更新时间",prop:"update_time","min-width":"180"}),o(d,{label:"操作",width:"160",fixed:"right"},{default:a(({row:t})=>[t.type!==p(k).BUTTON?_((s(),r(i,{key:0,type:"primary",link:"",onClick:T=>C(t.id)},{default:a(()=>[...e[6]||(e[6]=[u(" 新增 ",-1)])]),_:1},8,["onClick"])),[[f,["auth.menu/add"]]]):h("",!0),_((s(),r(i,{type:"primary",link:"",onClick:T=>R(t)},{default:a(()=>[...e[7]||(e[7]=[u(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[f,["auth.menu/edit"]]]),_((s(),r(i,{type:"danger",link:"",onClick:T=>L(t.id)},{default:a(()=>[...e[8]||(e[8]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])),[[f,["auth.menu/delete"]]])]),_:1})]),_:1},8,["data"])),[[V,p(b).loading]])]),_:1}),p(c)?(s(),r(W,{key:0,ref_key:"editRef",ref:m,onSuccess:p(g),onClose:e[1]||(e[1]=t=>c.value=!1)},null,8,["onSuccess"])):h("",!0)])}}});export{ue as default}; +import{o as $,be as A,q as s,r as v,v as o,D as a,s as B,ac as _,O as r,K as P,L as u,bj as z,u as p,bk as F,P as h,br as S,bi as j,bg as q,a8 as D,M as G,n as N}from"./.pnpm-9dA1PEvN.js";import{c as K,M as k,i as H}from"./index-BWzN7QIb.js";import{a as I,e as J}from"./menu-DRrdTmPN.js";import{u as Q}from"./usePaging-Boz1Q6w3.js";import{_ as W}from"./edit.vue_vue_type_script_setup_true_lang-D7r08doy.js";import"./picker.vue_vue_type_script_setup_true_lang-B7uSVSee.js";import"./index-dYaCh-CN.js";const X={class:"menu-lists"},Y={key:0},Z={key:1},ee={key:2},te={class:"flex"},ae=$({name:"permission-menu"}),ue=$({...ae,setup(ne){const w=D(),m=D();let y=!1;const c=G(!1),{pager:b,getLists:g}=Q({fetchFun:I,params:{page_type:0}}),C=async n=>{var e,l;c.value=!0,await N(),n&&((e=m.value)==null||e.setFormData({pid:n})),(l=m.value)==null||l.open("add")},R=async n=>{var e,l;c.value=!0,await N(),(e=m.value)==null||e.open("edit"),(l=m.value)==null||l.getDetail(n)},L=async n=>{await H.confirm("确定要删除?"),await J({id:n}),g()},M=()=>{y=!y,E(b.lists,y)},E=(n,e=!0)=>{var l;for(const i in n)(l=w.value)==null||l.toggleRowExpansion(n[i],e),n[i].children&&E(n[i].children,e)};return g(),(n,e)=>{const l=K,i=P,d=F,x=S,O=z,U=q,f=A("perms"),V=j;return s(),v("div",X,[o(U,{class:"!border-none",shadow:"never"},{default:a(()=>[B("div",null,[_((s(),r(i,{type:"primary",onClick:e[0]||(e[0]=t=>C())},{icon:a(()=>[o(l,{name:"el-icon-Plus"})]),default:a(()=>[e[2]||(e[2]=u(" 新增 ",-1))]),_:1})),[[f,["auth.menu/add"]]]),o(i,{onClick:M},{default:a(()=>[...e[3]||(e[3]=[u(" 展开/折叠 ",-1)])]),_:1})]),_((s(),r(O,{ref_key:"tableRef",ref:w,class:"mt-4",size:"large",data:p(b).lists,"row-key":"id","tree-props":{children:"children",hasChildren:"hasChildren"}},{default:a(()=>[o(d,{label:"菜单名称",prop:"name","min-width":"150","show-overflow-tooltip":""}),o(d,{label:"类型",prop:"type","min-width":"80"},{default:a(({row:t})=>[t.type==p(k).CATALOGUE?(s(),v("div",Y,"目录")):t.type==p(k).MENU?(s(),v("div",Z,"菜单")):t.type==p(k).BUTTON?(s(),v("div",ee,"按钮")):h("",!0)]),_:1}),o(d,{label:"图标",prop:"icon","min-width":"80"},{default:a(({row:t})=>[B("div",te,[o(l,{name:t.icon,size:20},null,8,["name"])])]),_:1}),o(d,{label:"权限标识",prop:"perms","min-width":"150","show-overflow-tooltip":""}),o(d,{label:"状态",prop:"is_disable","min-width":"100"},{default:a(({row:t})=>[t.is_disable==0?(s(),r(x,{key:0},{default:a(()=>[...e[4]||(e[4]=[u("正常",-1)])]),_:1})):(s(),r(x,{key:1,type:"danger"},{default:a(()=>[...e[5]||(e[5]=[u("停用",-1)])]),_:1}))]),_:1}),o(d,{label:"排序",prop:"sort","min-width":"100"}),o(d,{label:"更新时间",prop:"update_time","min-width":"180"}),o(d,{label:"操作",width:"160",fixed:"right"},{default:a(({row:t})=>[t.type!==p(k).BUTTON?_((s(),r(i,{key:0,type:"primary",link:"",onClick:T=>C(t.id)},{default:a(()=>[...e[6]||(e[6]=[u(" 新增 ",-1)])]),_:1},8,["onClick"])),[[f,["auth.menu/add"]]]):h("",!0),_((s(),r(i,{type:"primary",link:"",onClick:T=>R(t)},{default:a(()=>[...e[7]||(e[7]=[u(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[f,["auth.menu/edit"]]]),_((s(),r(i,{type:"danger",link:"",onClick:T=>L(t.id)},{default:a(()=>[...e[8]||(e[8]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])),[[f,["auth.menu/delete"]]])]),_:1})]),_:1},8,["data"])),[[V,p(b).loading]])]),_:1}),p(c)?(s(),r(W,{key:0,ref_key:"editRef",ref:m,onSuccess:p(g),onClose:e[1]||(e[1]=t=>c.value=!1)},null,8,["onSuccess"])):h("",!0)])}}});export{ue as default}; diff --git a/server/public/admin/assets/index-CAGpCz28.js b/server/public/admin/assets/index-fA0EWEUO.js similarity index 89% rename from server/public/admin/assets/index-CAGpCz28.js rename to server/public/admin/assets/index-fA0EWEUO.js index e8103ced..cdd55255 100644 --- a/server/public/admin/assets/index-CAGpCz28.js +++ b/server/public/admin/assets/index-fA0EWEUO.js @@ -1 +1 @@ -import{_ as r,c}from"./index-CJvXnF8Y.js";import{o as d,q as s,r as n,ah as p,aw as i,v as _,P as m}from"./.pnpm-9dA1PEvN.js";const u=d({props:{showClose:{type:Boolean,default:!0}},emits:["close"],setup(e,{emit:o}){return{handleClose:()=>{o("close")}}}}),f={class:"del-wrap"};function C(e,o,a,h,$,v){const t=c;return s(),n("div",f,[p(e.$slots,"default",{},void 0,!0),e.showClose?(s(),n("div",{key:0,class:"icon-close",onClick:o[0]||(o[0]=i((...l)=>e.handleClose&&e.handleClose(...l),["stop"]))},[_(t,{size:12,name:"el-icon-CloseBold"})])):m("",!0)])}const B=r(u,[["render",C],["__scopeId","data-v-2a98aa67"]]);export{B as _}; +import{_ as r,c}from"./index-BWzN7QIb.js";import{o as d,q as s,r as n,ah as p,aw as i,v as _,P as m}from"./.pnpm-9dA1PEvN.js";const u=d({props:{showClose:{type:Boolean,default:!0}},emits:["close"],setup(e,{emit:o}){return{handleClose:()=>{o("close")}}}}),f={class:"del-wrap"};function C(e,o,a,h,$,v){const t=c;return s(),n("div",f,[p(e.$slots,"default",{},void 0,!0),e.showClose?(s(),n("div",{key:0,class:"icon-close",onClick:o[0]||(o[0]=i((...l)=>e.handleClose&&e.handleClose(...l),["stop"]))},[_(t,{size:12,name:"el-icon-CloseBold"})])):m("",!0)])}const B=r(u,[["render",C],["__scopeId","data-v-2a98aa67"]]);export{B as _}; diff --git a/server/public/admin/assets/index-BW9doy9-.js b/server/public/admin/assets/index-fbRc3W1p.js similarity index 98% rename from server/public/admin/assets/index-BW9doy9-.js rename to server/public/admin/assets/index-fbRc3W1p.js index ffaf6ae0..7b4b543b 100644 --- a/server/public/admin/assets/index-BW9doy9-.js +++ b/server/public/admin/assets/index-fbRc3W1p.js @@ -1 +1 @@ -import{o as je,R as Ge,ap as Qe,bx as We,q as o,r,O as x,bh as Xe,P as f,s as a,v as l,D as i,K as Ye,u as y,w as Je,by as ve,a1 as Ze,bz as es,F as M,G as I,bn as ss,a0 as ts,L as v,T as d,bm as as,bA as ls,b8 as ns,b7 as is,bd as os,ac as ae,bi as us,bB as rs,ae as ds,bC as cs,br as _s,as as fs,X as vs,Y as ms,bD as ps,bj as gs,bk as ys,bt as hs,M as _,p as me,n as le}from"./.pnpm-9dA1PEvN.js";import{i as C,t as ks,_ as bs}from"./index-CJvXnF8Y.js";import{u as ws}from"./usePaging-Boz1Q6w3.js";import xs from"./MessageBubble-YtVegHr6.js";import{q as Ss,S as Ts,a as Ms,b as zs,c as Es,d as Cs,e as ne,f as Ds,g as Vs,h as pe}from"./SendPanel-xA24TJjN.js";import"./file-BJDA0rIT.js";const $s={class:"qywx-im"},Ls={class:"im-layout"},qs={class:"col-session"},As={class:"col-header"},Bs={class:"col-actions"},Is={class:"col-filters"},Ps={class:"staff-option"},Hs={class:"staff-userid"},Ns={class:"session-list"},Us={key:0,class:"empty-tip"},Rs=["onClick"],Ks={class:"session-meta"},Fs={class:"session-top"},Os={class:"session-name"},js={class:"session-time"},Gs={class:"session-bottom"},Qs={class:"session-preview"},Ws={key:0,class:"session-staff"},Xs={key:1,class:"session-load-more"},Ys={class:"col-message"},Js={key:0,class:"no-session"},Zs={class:"col-header"},et={class:"msg-header-title"},st={class:"msg-customer-name"},tt={class:"msg-customer-sub"},at={class:"col-actions"},lt={key:0,class:"load-history"},nt={key:1,class:"load-history end-tip"},it={key:2,class:"empty-tip"},ot={class:"col-profile"},ut={class:"profile-panel"},rt={class:"profile-name"},dt={class:"profile-fields"},ct={class:"field"},_t={class:"value"},ft={class:"field"},vt=["title"],mt={key:0,class:"field"},pt={class:"value"},gt={key:1,class:"field"},yt={class:"value"},ht={class:"field"},kt={class:"value"},bt={class:"field"},wt={class:"value"},xt={class:"tasks-panel"},St={key:0,class:"empty-tip"},Tt={class:"task-top"},Mt={class:"task-time"},zt={class:"task-body"},Et={key:0,class:"task-text"},Ct={key:1,class:"task-attachments"},Dt={key:2,class:"task-error"},Vt={class:"task-actions"},$t={key:1,class:"no-session"},Lt={class:"tips"},qt={key:1,class:"mt-2 text-center"},At=je({__name:"index",setup(Bt){const z=_(null),j=_(!1),ge=me(()=>{if(!z.value)return"";const s=z.value;return s.enabled?`会话存档 SDK 不可用:${s.error||"未知错误"}`:"「会话内容存档」未启用,实时消息不可用。请在后端 pay.php 中开启 msgaudit_enabled 并配置 SDK 动态库与 RSA 私钥。"});async function ye(){try{z.value=await Ms()}catch{}}async function he(){j.value=!0;try{await zs(5,!0),C.msgSuccess("已触发一次拉取,稍后刷新可见"),await S(!0),n.value&&await X()}catch(s){C.msgError((s==null?void 0:s.msg)||(s==null?void 0:s.message)||"拉取失败")}finally{j.value=!1}}const G=_([]);async function ke(){try{const s=await Es();G.value=Array.isArray(s)?s:(s==null?void 0:s.lists)||[]}catch{G.value=[]}}const E=_({staff_userid:"",keyword:"",only_unread:0}),Q=_(!1);Ge(Q,s=>{E.value.only_unread=s?1:0});const{pager:g,getLists:W}=ws({fetchFun:Ss,params:E.value,size:30});function S(s=!1){return s||(g.page=1),W()}async function be(){const s=[...g.lists||[]];g.page+=1;try{await W();const e=g.lists||[],u=new Set(s.map(m=>m.id)),c=[...s,...e.filter(m=>!u.has(m.id))];g.lists=c}catch{}}const n=_(null),h=_([]),P=_(!1),D=_(!1),V=_(!1),H=_(0),N=_(0),k=_(null),we=me(()=>!!n.value&&n.value.session_type!==2);async function xe(s){var e;if(((e=n.value)==null?void 0:e.id)!==s.id){if(n.value=s,h.value=[],H.value=0,N.value=0,V.value=!1,await X(),await ue(),s.unread_staff>0)try{await Cs(s.id),s.unread_staff=0}catch{}U.value="profile"}}async function X(){if(n.value){P.value=!0;try{const s=await ne({session_id:n.value.id,page_no:1,page_size:30}),e=(s==null?void 0:s.lists)||[];h.value=e,e.length&&(H.value=e[0].send_time,N.value=e[e.length-1].send_time),V.value=e.length>=30,await le(),oe()}catch(s){C.msgError((s==null?void 0:s.msg)||(s==null?void 0:s.message)||"加载消息失败")}finally{P.value=!1}}}async function ie(){var e;if(!n.value||D.value)return;D.value=!0;const s=((e=k.value)==null?void 0:e.scrollHeight)||0;try{const u=await ne({session_id:n.value.id,page_no:1,page_size:30,before_time:H.value}),c=(u==null?void 0:u.lists)||[];c.length&&(H.value=c[0].send_time,h.value=[...c,...h.value]),V.value=c.length>=30,await le(),k.value&&(k.value.scrollTop=k.value.scrollHeight-s)}finally{D.value=!1}}async function Se(){if(n.value)try{const s=await ne({session_id:n.value.id,page_no:1,page_size:50,after_time:N.value}),e=(s==null?void 0:s.lists)||[];if(!e.length)return;const u=new Set(h.value.map(T=>T.id)),c=e.filter(T=>!u.has(T.id));if(!c.length)return;h.value=[...h.value,...c],N.value=c[c.length-1].send_time;const m=k.value;(m?m.scrollHeight-m.scrollTop-m.clientHeight<120:!0)&&(await le(),oe())}catch{}}function Te(){const s=k.value;s&&s.scrollTop<40&&V.value&&!D.value&&ie()}function oe(){k.value&&(k.value.scrollTop=k.value.scrollHeight)}async function Me(s){if(n.value)try{await Ds({sender_userid:n.value.staff_userid,external_userids:[n.value.external_userid],msg_payload:s,chat_type:"single"}),C.msgSuccess("已创建群发任务,员工手机确认后送达客户"),await ue(),U.value="tasks"}catch(e){C.msgError((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"发送失败")}}const U=_("profile"),R=_([]),Y=_(!1);async function ue(){if(n.value){Y.value=!0;try{const s=await Vs({sender_userid:n.value.staff_userid,page_no:1,page_size:50}),e=(s==null?void 0:s.lists)||[];R.value=e.filter(u=>(u.external_userids||[]).includes(n.value.external_userid))}finally{Y.value=!1}}}function ze(s){return{0:"待提交",1:"已提交",2:"已送达",3:"失败"}[s]??`状态${s}`}function Ee(s){return{0:"info",1:"primary",2:"success",3:"danger"}[s]??"info"}function Ce(s){return{image:"图片",video:"视频",file:"文件",link:"链接",miniprogram:"小程序"}[s]||s}const J=_(!1),$=_(!1),re=_(0),b=_(null);async function De(s){re.value=s.id,b.value={detail_list:[],next_cursor:""},J.value=!0,$.value=!0;try{const e=await pe(s.id,"");b.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{$.value=!1}}async function Ve(){var s;if((s=b.value)!=null&&s.next_cursor){$.value=!0;try{const e=await pe(re.value,b.value.next_cursor);b.value={detail_list:[...b.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{$.value=!1}}}function $e(s){switch(s){case 0:return"未发送";case 1:return"已送达";case 2:return"被拒收";case 3:return"已送达(未读)";default:return`状态${s}`}}function Le(s){return s===1?"success":s===2?"warning":s===3?"primary":"info"}function L(s){var e;return(e=s.customer)!=null&&e.name?s.customer.name:s.session_type===2?`群聊 ${s.roomid.slice(-6)}`:s.external_userid||"未命名客户"}function qe(s){const e=s.last_msg_summary||"",u=s.last_msg_type;return e||(u==="image"?"[图片]":u==="video"?"[视频]":u==="voice"?"[语音]":u==="file"?"[文件]":u==="link"?"[链接]":u==="weapp"?"[小程序]":u==="chatrecord"?"[聊天记录]":u?`[${u}]`:"暂无消息")}function Z(s){return s?ks(s*1e3,"yyyy-mm-dd hh:MM"):"-"}function Ae(s){if(!s)return"";const u=Math.floor(Date.now()/1e3)-s;if(u<60)return`${u}秒前`;if(u<3600)return`${Math.floor(u/60)}分前`;if(u<86400)return`${Math.floor(u/3600)}小时前`;const c=new Date(s*1e3);return`${c.getMonth()+1}-${c.getDate()}`}let ee=null,se=null;return Qe(async()=>{await Promise.all([ye(),ke()]),await S(),ee=window.setInterval(()=>{W({silent:!0}).catch(()=>{})},15e3),se=window.setInterval(()=>{Se()},8e3)}),We(()=>{ee&&window.clearInterval(ee),se&&window.clearInterval(se)}),(s,e)=>{var ce,_e;const u=Xe,c=Je,m=Ye,K=Ze,T=ts,Be=ss,Ie=as,Pe=is,He=os,F=rs,Ne=cs,q=_s,de=vs,Ue=ms,Re=ps,O=ys,Ke=gs,Fe=hs,te=us;return o(),r("div",$s,[z.value&&!z.value.available?(o(),x(u,{key:0,title:ge.value,type:"warning",closable:!1,"show-icon":"",class:"archive-warning"},null,8,["title"])):f("",!0),a("div",Ls,[a("section",qs,[a("header",As,[e[11]||(e[11]=a("div",{class:"col-title"},"会话",-1)),a("div",Bs,[l(K,{content:"刷新"},{default:i(()=>[l(m,{size:"small",link:"",loading:y(g).loading,onClick:e[0]||(e[0]=t=>S(!0))},{default:i(()=>[l(c,null,{default:i(()=>[l(y(ve))]),_:1})]),_:1},8,["loading"])]),_:1}),l(K,{content:"手动拉一次存档"},{default:i(()=>{var t;return[l(m,{size:"small",link:"",disabled:!((t=z.value)!=null&&t.available),loading:j.value,onClick:he},{default:i(()=>[l(c,null,{default:i(()=>[l(y(es))]),_:1})]),_:1},8,["disabled","loading"])]}),_:1})])]),a("div",Is,[l(Ie,{modelValue:E.value.staff_userid,"onUpdate:modelValue":e[1]||(e[1]=t=>E.value.staff_userid=t),placeholder:"全部员工",clearable:"",filterable:"",size:"default",style:{width:"100%"},onChange:e[2]||(e[2]=t=>S())},{default:i(()=>[(o(!0),r(M,null,I(G.value,t=>(o(),x(Be,{key:t.userid,label:(t.name||t.userid)+"("+t.userid+")",value:t.userid},{default:i(()=>[a("div",Ps,[l(T,{size:20,src:t.avatar},{default:i(()=>[v(d((t.name||"").slice(-2)),1)]),_:2},1032,["src"]),a("span",null,d(t.name),1),a("span",Hs,d(t.userid),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue"]),l(Pe,{modelValue:E.value.keyword,"onUpdate:modelValue":e[3]||(e[3]=t=>E.value.keyword=t),placeholder:"搜索客户或消息",clearable:"",size:"default",onKeyup:e[4]||(e[4]=ns(t=>S(),["enter"])),onClear:e[5]||(e[5]=t=>S())},{prefix:i(()=>[l(c,null,{default:i(()=>[l(y(ls))]),_:1})]),_:1},8,["modelValue"]),l(He,{modelValue:Q.value,"onUpdate:modelValue":e[6]||(e[6]=t=>Q.value=t),onChange:e[7]||(e[7]=t=>S())},{default:i(()=>[...e[12]||(e[12]=[v(" 仅未读 ",-1)])]),_:1},8,["modelValue"])]),ae((o(),r("div",Ns,[!y(g).lists.length&&!y(g).loading?(o(),r("div",Us,[l(F,{description:"暂无会话","image-size":80})])):f("",!0),(o(!0),r(M,null,I(y(g).lists,t=>{var p;return o(),r("div",{key:t.id,class:ds(["session-item",{active:((p=n.value)==null?void 0:p.id)===t.id}]),onClick:w=>xe(t)},[l(Ne,{value:t.unread_staff,hidden:!t.unread_staff,max:99},{default:i(()=>{var w;return[l(T,{size:42,src:((w=t.customer)==null?void 0:w.avatar)||""},{default:i(()=>[v(d(L(t).slice(-2)),1)]),_:2},1032,["src"])]}),_:2},1032,["value","hidden"]),a("div",Ks,[a("div",Fs,[a("span",Os,d(L(t)),1),a("span",js,d(Ae(t.last_msg_time)),1)]),a("div",Gs,[a("span",Qs,d(qe(t)),1),t.session_type===2?(o(),x(q,{key:0,size:"small",type:"info",class:"session-tag"},{default:i(()=>[...e[13]||(e[13]=[v(" 群 ",-1)])]),_:1})):f("",!0)]),t.staff?(o(),r("div",Ws," 员工: "+d(t.staff.name||t.staff_userid),1)):f("",!0)])],10,Rs)}),128)),y(g).lists.length[...e[14]||(e[14]=[v(" 加载更多 ",-1)])]),_:1})])):f("",!0)])),[[te,y(g).loading]])]),a("section",Ys,[n.value?(o(),r(M,{key:1},[a("header",Zs,[a("div",et,[a("div",st,d(L(n.value)),1),a("div",tt,[(ce=n.value.customer)!=null&&ce.corp_name?(o(),r(M,{key:0},[v(d(n.value.customer.corp_name)+" · ",1)],64)):f("",!0),v(" 代发员工: "+d(((_e=n.value.staff)==null?void 0:_e.name)||n.value.staff_userid)+" ",1),n.value.session_type===2?(o(),x(q,{key:1,size:"small",type:"info",class:"ml-1"},{default:i(()=>[...e[15]||(e[15]=[v(" 群聊 ",-1)])]),_:1})):f("",!0)])]),a("div",at,[l(K,{content:"刷新消息"},{default:i(()=>[l(m,{link:"",size:"small",loading:P.value,onClick:e[8]||(e[8]=t=>X())},{default:i(()=>[l(c,null,{default:i(()=>[l(y(ve))]),_:1})]),_:1},8,["loading"])]),_:1})])]),a("div",{ref_key:"messageListRef",ref:k,class:"message-list",onScroll:Te},[V.value?(o(),r("div",lt,[l(m,{link:"",type:"primary",loading:D.value,onClick:ie},{default:i(()=>[...e[16]||(e[16]=[v(" 加载更早的消息 ",-1)])]),_:1},8,["loading"])])):h.value.length?(o(),r("div",nt," —— 没有更早的消息了 —— ")):f("",!0),!h.value.length&&!P.value?(o(),r("div",it,[l(F,{description:"暂无消息","image-size":80})])):f("",!0),(o(!0),r(M,null,I(h.value,t=>(o(),x(xs,{key:t.id,message:t},null,8,["message"]))),128))],544),l(Ts,{"can-send-message":we.value,onSend:Me},null,8,["can-send-message"])],64)):(o(),r("div",Js,[l(F,{description:"选择左侧会话查看消息"},{image:i(()=>[l(c,{size:60,color:"#ccc"},{default:i(()=>[l(y(fs))]),_:1})]),_:1})]))]),a("section",ot,[n.value?(o(),x(Ue,{key:0,modelValue:U.value,"onUpdate:modelValue":e[9]||(e[9]=t=>U.value=t),class:"profile-tabs"},{default:i(()=>[l(de,{label:"客户资料",name:"profile"},{default:i(()=>{var t,p,w,A,B;return[a("div",ut,[l(T,{size:72,src:((t=n.value.customer)==null?void 0:t.avatar)||""},{default:i(()=>[v(d(L(n.value).slice(-2)),1)]),_:1},8,["src"]),a("div",rt,d(L(n.value)),1),a("div",dt,[a("div",ct,[e[17]||(e[17]=a("span",{class:"label"},"客户类型",-1)),a("span",_t,d(((p=n.value.customer)==null?void 0:p.type)===2?"@微信":"@企业微信"),1)]),a("div",ft,[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,vt)]),(w=n.value.customer)!=null&&w.corp_name?(o(),r("div",mt,[e[19]||(e[19]=a("span",{class:"label"},"所属企业",-1)),a("span",pt,d(n.value.customer.corp_name),1)])):f("",!0),(A=n.value.customer)!=null&&A.gender?(o(),r("div",gt,[e[20]||(e[20]=a("span",{class:"label"},"性别",-1)),a("span",yt,d(n.value.customer.gender===1?"男":n.value.customer.gender===2?"女":"未知"),1)])):f("",!0),a("div",ht,[e[21]||(e[21]=a("span",{class:"label"},"代发员工",-1)),a("span",kt,d(((B=n.value.staff)==null?void 0:B.name)||n.value.staff_userid),1)]),a("div",bt,[e[22]||(e[22]=a("span",{class:"label"},"最近消息",-1)),a("span",wt,d(Z(n.value.last_msg_time)),1)])])])]}),_:1}),l(de,{label:`发送任务(${R.value.length})`,name:"tasks"},{default:i(()=>[ae((o(),r("div",xt,[R.value.length?f("",!0):(o(),r("div",St,[l(F,{description:"暂无任务","image-size":80})])),(o(!0),r(M,null,I(R.value,t=>{var p,w,A,B;return o(),r("div",{key:t.id,class:"task-item"},[a("div",Tt,[l(q,{type:Ee(t.status),size:"small"},{default:i(()=>[v(d(ze(t.status)),1)]),_:2},1032,["type"]),a("span",Mt,d(Z(t.create_time)),1)]),a("div",zt,[(w=(p=t.msg_payload)==null?void 0:p.text)!=null&&w.content?(o(),r("div",Et,d(t.msg_payload.text.content),1)):f("",!0),(B=(A=t.msg_payload)==null?void 0:A.attachments)!=null&&B.length?(o(),r("div",Ct,[e[23]||(e[23]=v(" 附件: ",-1)),(o(!0),r(M,null,I(t.msg_payload.attachments,(fe,Oe)=>(o(),x(q,{key:Oe,size:"small",type:"info",class:"mr-1"},{default:i(()=>[v(d(Ce(fe.msgtype)),1)]),_:2},1024))),128))])):f("",!0),t.error?(o(),r("div",Dt,d(t.error),1)):f("",!0)]),a("div",Vt,[l(m,{size:"small",link:"",type:"primary",onClick:fe=>De(t)},{default:i(()=>[...e[24]||(e[24]=[v(" 送达详情 ",-1)])]),_:1},8,["onClick"])])])}),128))])),[[te,Y.value]])]),_:1},8,["label"])]),_:1},8,["modelValue"])):(o(),r("div",$t,[a("div",Lt,[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(Fe,{modelValue:J.value,"onUpdate:modelValue":e[10]||(e[10]=t=>J.value=t),title:"群发送达详情",width:"640px",top:"8vh"},{default:i(()=>{var t;return[b.value?ae((o(),x(Ke,{key:0,data:b.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(q,{type:Le(p.status),size:"small"},{default:i(()=>[v(d($e(p.status)),1)]),_:2},1032,["type"])]),_:1}),l(O,{label:"送达时间",width:"160"},{default:i(({row:p})=>[v(d(p.send_time?Z(p.send_time):"-"),1)]),_:1})]),_:1},8,["data"])),[[te,$.value]]):f("",!0),(t=b.value)!=null&&t.next_cursor?(o(),r("div",qt,[l(m,{link:"",type:"primary",onClick:Ve},{default:i(()=>[...e[29]||(e[29]=[v(" 加载更多 ",-1)])]),_:1})])):f("",!0)]}),_:1},8,["modelValue"])])}}}),Kt=bs(At,[["__scopeId","data-v-2107a11f"]]);export{Kt as default}; +import{o as je,R as Ge,ap as Qe,bx as We,q as o,r,O as x,bh as Xe,P as f,s as a,v as l,D as i,K as Ye,u as y,w as Je,by as ve,a1 as Ze,bz as es,F as M,G as I,bn as ss,a0 as ts,L as v,T as d,bm as as,bA as ls,b8 as ns,b7 as is,bd as os,ac as ae,bi as us,bB as rs,ae as ds,bC as cs,br as _s,as as fs,X as vs,Y as ms,bD as ps,bj as gs,bk as ys,bt as hs,M as _,p as me,n as le}from"./.pnpm-9dA1PEvN.js";import{i as C,t as ks,_ as bs}from"./index-BWzN7QIb.js";import{u as ws}from"./usePaging-Boz1Q6w3.js";import xs from"./MessageBubble-HqOiFrAJ.js";import{q as Ss,S as Ts,a as Ms,b as zs,c as Es,d as Cs,e as ne,f as Ds,g as Vs,h as pe}from"./SendPanel-C5FnjnCC.js";import"./file-BL6iPgPC.js";const $s={class:"qywx-im"},Ls={class:"im-layout"},qs={class:"col-session"},As={class:"col-header"},Bs={class:"col-actions"},Is={class:"col-filters"},Ps={class:"staff-option"},Hs={class:"staff-userid"},Ns={class:"session-list"},Us={key:0,class:"empty-tip"},Rs=["onClick"],Ks={class:"session-meta"},Fs={class:"session-top"},Os={class:"session-name"},js={class:"session-time"},Gs={class:"session-bottom"},Qs={class:"session-preview"},Ws={key:0,class:"session-staff"},Xs={key:1,class:"session-load-more"},Ys={class:"col-message"},Js={key:0,class:"no-session"},Zs={class:"col-header"},et={class:"msg-header-title"},st={class:"msg-customer-name"},tt={class:"msg-customer-sub"},at={class:"col-actions"},lt={key:0,class:"load-history"},nt={key:1,class:"load-history end-tip"},it={key:2,class:"empty-tip"},ot={class:"col-profile"},ut={class:"profile-panel"},rt={class:"profile-name"},dt={class:"profile-fields"},ct={class:"field"},_t={class:"value"},ft={class:"field"},vt=["title"],mt={key:0,class:"field"},pt={class:"value"},gt={key:1,class:"field"},yt={class:"value"},ht={class:"field"},kt={class:"value"},bt={class:"field"},wt={class:"value"},xt={class:"tasks-panel"},St={key:0,class:"empty-tip"},Tt={class:"task-top"},Mt={class:"task-time"},zt={class:"task-body"},Et={key:0,class:"task-text"},Ct={key:1,class:"task-attachments"},Dt={key:2,class:"task-error"},Vt={class:"task-actions"},$t={key:1,class:"no-session"},Lt={class:"tips"},qt={key:1,class:"mt-2 text-center"},At=je({__name:"index",setup(Bt){const z=_(null),j=_(!1),ge=me(()=>{if(!z.value)return"";const s=z.value;return s.enabled?`会话存档 SDK 不可用:${s.error||"未知错误"}`:"「会话内容存档」未启用,实时消息不可用。请在后端 pay.php 中开启 msgaudit_enabled 并配置 SDK 动态库与 RSA 私钥。"});async function ye(){try{z.value=await Ms()}catch{}}async function he(){j.value=!0;try{await zs(5,!0),C.msgSuccess("已触发一次拉取,稍后刷新可见"),await S(!0),n.value&&await X()}catch(s){C.msgError((s==null?void 0:s.msg)||(s==null?void 0:s.message)||"拉取失败")}finally{j.value=!1}}const G=_([]);async function ke(){try{const s=await Es();G.value=Array.isArray(s)?s:(s==null?void 0:s.lists)||[]}catch{G.value=[]}}const E=_({staff_userid:"",keyword:"",only_unread:0}),Q=_(!1);Ge(Q,s=>{E.value.only_unread=s?1:0});const{pager:g,getLists:W}=ws({fetchFun:Ss,params:E.value,size:30});function S(s=!1){return s||(g.page=1),W()}async function be(){const s=[...g.lists||[]];g.page+=1;try{await W();const e=g.lists||[],u=new Set(s.map(m=>m.id)),c=[...s,...e.filter(m=>!u.has(m.id))];g.lists=c}catch{}}const n=_(null),h=_([]),P=_(!1),D=_(!1),V=_(!1),H=_(0),N=_(0),k=_(null),we=me(()=>!!n.value&&n.value.session_type!==2);async function xe(s){var e;if(((e=n.value)==null?void 0:e.id)!==s.id){if(n.value=s,h.value=[],H.value=0,N.value=0,V.value=!1,await X(),await ue(),s.unread_staff>0)try{await Cs(s.id),s.unread_staff=0}catch{}U.value="profile"}}async function X(){if(n.value){P.value=!0;try{const s=await ne({session_id:n.value.id,page_no:1,page_size:30}),e=(s==null?void 0:s.lists)||[];h.value=e,e.length&&(H.value=e[0].send_time,N.value=e[e.length-1].send_time),V.value=e.length>=30,await le(),oe()}catch(s){C.msgError((s==null?void 0:s.msg)||(s==null?void 0:s.message)||"加载消息失败")}finally{P.value=!1}}}async function ie(){var e;if(!n.value||D.value)return;D.value=!0;const s=((e=k.value)==null?void 0:e.scrollHeight)||0;try{const u=await ne({session_id:n.value.id,page_no:1,page_size:30,before_time:H.value}),c=(u==null?void 0:u.lists)||[];c.length&&(H.value=c[0].send_time,h.value=[...c,...h.value]),V.value=c.length>=30,await le(),k.value&&(k.value.scrollTop=k.value.scrollHeight-s)}finally{D.value=!1}}async function Se(){if(n.value)try{const s=await ne({session_id:n.value.id,page_no:1,page_size:50,after_time:N.value}),e=(s==null?void 0:s.lists)||[];if(!e.length)return;const u=new Set(h.value.map(T=>T.id)),c=e.filter(T=>!u.has(T.id));if(!c.length)return;h.value=[...h.value,...c],N.value=c[c.length-1].send_time;const m=k.value;(m?m.scrollHeight-m.scrollTop-m.clientHeight<120:!0)&&(await le(),oe())}catch{}}function Te(){const s=k.value;s&&s.scrollTop<40&&V.value&&!D.value&&ie()}function oe(){k.value&&(k.value.scrollTop=k.value.scrollHeight)}async function Me(s){if(n.value)try{await Ds({sender_userid:n.value.staff_userid,external_userids:[n.value.external_userid],msg_payload:s,chat_type:"single"}),C.msgSuccess("已创建群发任务,员工手机确认后送达客户"),await ue(),U.value="tasks"}catch(e){C.msgError((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"发送失败")}}const U=_("profile"),R=_([]),Y=_(!1);async function ue(){if(n.value){Y.value=!0;try{const s=await Vs({sender_userid:n.value.staff_userid,page_no:1,page_size:50}),e=(s==null?void 0:s.lists)||[];R.value=e.filter(u=>(u.external_userids||[]).includes(n.value.external_userid))}finally{Y.value=!1}}}function ze(s){return{0:"待提交",1:"已提交",2:"已送达",3:"失败"}[s]??`状态${s}`}function Ee(s){return{0:"info",1:"primary",2:"success",3:"danger"}[s]??"info"}function Ce(s){return{image:"图片",video:"视频",file:"文件",link:"链接",miniprogram:"小程序"}[s]||s}const J=_(!1),$=_(!1),re=_(0),b=_(null);async function De(s){re.value=s.id,b.value={detail_list:[],next_cursor:""},J.value=!0,$.value=!0;try{const e=await pe(s.id,"");b.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{$.value=!1}}async function Ve(){var s;if((s=b.value)!=null&&s.next_cursor){$.value=!0;try{const e=await pe(re.value,b.value.next_cursor);b.value={detail_list:[...b.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{$.value=!1}}}function $e(s){switch(s){case 0:return"未发送";case 1:return"已送达";case 2:return"被拒收";case 3:return"已送达(未读)";default:return`状态${s}`}}function Le(s){return s===1?"success":s===2?"warning":s===3?"primary":"info"}function L(s){var e;return(e=s.customer)!=null&&e.name?s.customer.name:s.session_type===2?`群聊 ${s.roomid.slice(-6)}`:s.external_userid||"未命名客户"}function qe(s){const e=s.last_msg_summary||"",u=s.last_msg_type;return e||(u==="image"?"[图片]":u==="video"?"[视频]":u==="voice"?"[语音]":u==="file"?"[文件]":u==="link"?"[链接]":u==="weapp"?"[小程序]":u==="chatrecord"?"[聊天记录]":u?`[${u}]`:"暂无消息")}function Z(s){return s?ks(s*1e3,"yyyy-mm-dd hh:MM"):"-"}function Ae(s){if(!s)return"";const u=Math.floor(Date.now()/1e3)-s;if(u<60)return`${u}秒前`;if(u<3600)return`${Math.floor(u/60)}分前`;if(u<86400)return`${Math.floor(u/3600)}小时前`;const c=new Date(s*1e3);return`${c.getMonth()+1}-${c.getDate()}`}let ee=null,se=null;return Qe(async()=>{await Promise.all([ye(),ke()]),await S(),ee=window.setInterval(()=>{W({silent:!0}).catch(()=>{})},15e3),se=window.setInterval(()=>{Se()},8e3)}),We(()=>{ee&&window.clearInterval(ee),se&&window.clearInterval(se)}),(s,e)=>{var ce,_e;const u=Xe,c=Je,m=Ye,K=Ze,T=ts,Be=ss,Ie=as,Pe=is,He=os,F=rs,Ne=cs,q=_s,de=vs,Ue=ms,Re=ps,O=ys,Ke=gs,Fe=hs,te=us;return o(),r("div",$s,[z.value&&!z.value.available?(o(),x(u,{key:0,title:ge.value,type:"warning",closable:!1,"show-icon":"",class:"archive-warning"},null,8,["title"])):f("",!0),a("div",Ls,[a("section",qs,[a("header",As,[e[11]||(e[11]=a("div",{class:"col-title"},"会话",-1)),a("div",Bs,[l(K,{content:"刷新"},{default:i(()=>[l(m,{size:"small",link:"",loading:y(g).loading,onClick:e[0]||(e[0]=t=>S(!0))},{default:i(()=>[l(c,null,{default:i(()=>[l(y(ve))]),_:1})]),_:1},8,["loading"])]),_:1}),l(K,{content:"手动拉一次存档"},{default:i(()=>{var t;return[l(m,{size:"small",link:"",disabled:!((t=z.value)!=null&&t.available),loading:j.value,onClick:he},{default:i(()=>[l(c,null,{default:i(()=>[l(y(es))]),_:1})]),_:1},8,["disabled","loading"])]}),_:1})])]),a("div",Is,[l(Ie,{modelValue:E.value.staff_userid,"onUpdate:modelValue":e[1]||(e[1]=t=>E.value.staff_userid=t),placeholder:"全部员工",clearable:"",filterable:"",size:"default",style:{width:"100%"},onChange:e[2]||(e[2]=t=>S())},{default:i(()=>[(o(!0),r(M,null,I(G.value,t=>(o(),x(Be,{key:t.userid,label:(t.name||t.userid)+"("+t.userid+")",value:t.userid},{default:i(()=>[a("div",Ps,[l(T,{size:20,src:t.avatar},{default:i(()=>[v(d((t.name||"").slice(-2)),1)]),_:2},1032,["src"]),a("span",null,d(t.name),1),a("span",Hs,d(t.userid),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue"]),l(Pe,{modelValue:E.value.keyword,"onUpdate:modelValue":e[3]||(e[3]=t=>E.value.keyword=t),placeholder:"搜索客户或消息",clearable:"",size:"default",onKeyup:e[4]||(e[4]=ns(t=>S(),["enter"])),onClear:e[5]||(e[5]=t=>S())},{prefix:i(()=>[l(c,null,{default:i(()=>[l(y(ls))]),_:1})]),_:1},8,["modelValue"]),l(He,{modelValue:Q.value,"onUpdate:modelValue":e[6]||(e[6]=t=>Q.value=t),onChange:e[7]||(e[7]=t=>S())},{default:i(()=>[...e[12]||(e[12]=[v(" 仅未读 ",-1)])]),_:1},8,["modelValue"])]),ae((o(),r("div",Ns,[!y(g).lists.length&&!y(g).loading?(o(),r("div",Us,[l(F,{description:"暂无会话","image-size":80})])):f("",!0),(o(!0),r(M,null,I(y(g).lists,t=>{var p;return o(),r("div",{key:t.id,class:ds(["session-item",{active:((p=n.value)==null?void 0:p.id)===t.id}]),onClick:w=>xe(t)},[l(Ne,{value:t.unread_staff,hidden:!t.unread_staff,max:99},{default:i(()=>{var w;return[l(T,{size:42,src:((w=t.customer)==null?void 0:w.avatar)||""},{default:i(()=>[v(d(L(t).slice(-2)),1)]),_:2},1032,["src"])]}),_:2},1032,["value","hidden"]),a("div",Ks,[a("div",Fs,[a("span",Os,d(L(t)),1),a("span",js,d(Ae(t.last_msg_time)),1)]),a("div",Gs,[a("span",Qs,d(qe(t)),1),t.session_type===2?(o(),x(q,{key:0,size:"small",type:"info",class:"session-tag"},{default:i(()=>[...e[13]||(e[13]=[v(" 群 ",-1)])]),_:1})):f("",!0)]),t.staff?(o(),r("div",Ws," 员工: "+d(t.staff.name||t.staff_userid),1)):f("",!0)])],10,Rs)}),128)),y(g).lists.length[...e[14]||(e[14]=[v(" 加载更多 ",-1)])]),_:1})])):f("",!0)])),[[te,y(g).loading]])]),a("section",Ys,[n.value?(o(),r(M,{key:1},[a("header",Zs,[a("div",et,[a("div",st,d(L(n.value)),1),a("div",tt,[(ce=n.value.customer)!=null&&ce.corp_name?(o(),r(M,{key:0},[v(d(n.value.customer.corp_name)+" · ",1)],64)):f("",!0),v(" 代发员工: "+d(((_e=n.value.staff)==null?void 0:_e.name)||n.value.staff_userid)+" ",1),n.value.session_type===2?(o(),x(q,{key:1,size:"small",type:"info",class:"ml-1"},{default:i(()=>[...e[15]||(e[15]=[v(" 群聊 ",-1)])]),_:1})):f("",!0)])]),a("div",at,[l(K,{content:"刷新消息"},{default:i(()=>[l(m,{link:"",size:"small",loading:P.value,onClick:e[8]||(e[8]=t=>X())},{default:i(()=>[l(c,null,{default:i(()=>[l(y(ve))]),_:1})]),_:1},8,["loading"])]),_:1})])]),a("div",{ref_key:"messageListRef",ref:k,class:"message-list",onScroll:Te},[V.value?(o(),r("div",lt,[l(m,{link:"",type:"primary",loading:D.value,onClick:ie},{default:i(()=>[...e[16]||(e[16]=[v(" 加载更早的消息 ",-1)])]),_:1},8,["loading"])])):h.value.length?(o(),r("div",nt," —— 没有更早的消息了 —— ")):f("",!0),!h.value.length&&!P.value?(o(),r("div",it,[l(F,{description:"暂无消息","image-size":80})])):f("",!0),(o(!0),r(M,null,I(h.value,t=>(o(),x(xs,{key:t.id,message:t},null,8,["message"]))),128))],544),l(Ts,{"can-send-message":we.value,onSend:Me},null,8,["can-send-message"])],64)):(o(),r("div",Js,[l(F,{description:"选择左侧会话查看消息"},{image:i(()=>[l(c,{size:60,color:"#ccc"},{default:i(()=>[l(y(fs))]),_:1})]),_:1})]))]),a("section",ot,[n.value?(o(),x(Ue,{key:0,modelValue:U.value,"onUpdate:modelValue":e[9]||(e[9]=t=>U.value=t),class:"profile-tabs"},{default:i(()=>[l(de,{label:"客户资料",name:"profile"},{default:i(()=>{var t,p,w,A,B;return[a("div",ut,[l(T,{size:72,src:((t=n.value.customer)==null?void 0:t.avatar)||""},{default:i(()=>[v(d(L(n.value).slice(-2)),1)]),_:1},8,["src"]),a("div",rt,d(L(n.value)),1),a("div",dt,[a("div",ct,[e[17]||(e[17]=a("span",{class:"label"},"客户类型",-1)),a("span",_t,d(((p=n.value.customer)==null?void 0:p.type)===2?"@微信":"@企业微信"),1)]),a("div",ft,[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,vt)]),(w=n.value.customer)!=null&&w.corp_name?(o(),r("div",mt,[e[19]||(e[19]=a("span",{class:"label"},"所属企业",-1)),a("span",pt,d(n.value.customer.corp_name),1)])):f("",!0),(A=n.value.customer)!=null&&A.gender?(o(),r("div",gt,[e[20]||(e[20]=a("span",{class:"label"},"性别",-1)),a("span",yt,d(n.value.customer.gender===1?"男":n.value.customer.gender===2?"女":"未知"),1)])):f("",!0),a("div",ht,[e[21]||(e[21]=a("span",{class:"label"},"代发员工",-1)),a("span",kt,d(((B=n.value.staff)==null?void 0:B.name)||n.value.staff_userid),1)]),a("div",bt,[e[22]||(e[22]=a("span",{class:"label"},"最近消息",-1)),a("span",wt,d(Z(n.value.last_msg_time)),1)])])])]}),_:1}),l(de,{label:`发送任务(${R.value.length})`,name:"tasks"},{default:i(()=>[ae((o(),r("div",xt,[R.value.length?f("",!0):(o(),r("div",St,[l(F,{description:"暂无任务","image-size":80})])),(o(!0),r(M,null,I(R.value,t=>{var p,w,A,B;return o(),r("div",{key:t.id,class:"task-item"},[a("div",Tt,[l(q,{type:Ee(t.status),size:"small"},{default:i(()=>[v(d(ze(t.status)),1)]),_:2},1032,["type"]),a("span",Mt,d(Z(t.create_time)),1)]),a("div",zt,[(w=(p=t.msg_payload)==null?void 0:p.text)!=null&&w.content?(o(),r("div",Et,d(t.msg_payload.text.content),1)):f("",!0),(B=(A=t.msg_payload)==null?void 0:A.attachments)!=null&&B.length?(o(),r("div",Ct,[e[23]||(e[23]=v(" 附件: ",-1)),(o(!0),r(M,null,I(t.msg_payload.attachments,(fe,Oe)=>(o(),x(q,{key:Oe,size:"small",type:"info",class:"mr-1"},{default:i(()=>[v(d(Ce(fe.msgtype)),1)]),_:2},1024))),128))])):f("",!0),t.error?(o(),r("div",Dt,d(t.error),1)):f("",!0)]),a("div",Vt,[l(m,{size:"small",link:"",type:"primary",onClick:fe=>De(t)},{default:i(()=>[...e[24]||(e[24]=[v(" 送达详情 ",-1)])]),_:1},8,["onClick"])])])}),128))])),[[te,Y.value]])]),_:1},8,["label"])]),_:1},8,["modelValue"])):(o(),r("div",$t,[a("div",Lt,[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(Fe,{modelValue:J.value,"onUpdate:modelValue":e[10]||(e[10]=t=>J.value=t),title:"群发送达详情",width:"640px",top:"8vh"},{default:i(()=>{var t;return[b.value?ae((o(),x(Ke,{key:0,data:b.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(q,{type:Le(p.status),size:"small"},{default:i(()=>[v(d($e(p.status)),1)]),_:2},1032,["type"])]),_:1}),l(O,{label:"送达时间",width:"160"},{default:i(({row:p})=>[v(d(p.send_time?Z(p.send_time):"-"),1)]),_:1})]),_:1},8,["data"])),[[te,$.value]]):f("",!0),(t=b.value)!=null&&t.next_cursor?(o(),r("div",qt,[l(m,{link:"",type:"primary",onClick:Ve},{default:i(()=>[...e[29]||(e[29]=[v(" 加载更多 ",-1)])]),_:1})])):f("",!0)]}),_:1},8,["modelValue"])])}}}),Kt=bs(At,[["__scopeId","data-v-2107a11f"]]);export{Kt as default}; diff --git a/server/public/admin/assets/index-CY1mb9yY.js b/server/public/admin/assets/index-xDQ_OZln.js similarity index 98% rename from server/public/admin/assets/index-CY1mb9yY.js rename to server/public/admin/assets/index-xDQ_OZln.js index 25e3e6ad..210bc061 100644 --- a/server/public/admin/assets/index-CY1mb9yY.js +++ b/server/public/admin/assets/index-xDQ_OZln.js @@ -1 +1 @@ -import{o as fe,q as i,r as m,s as o,O as h,aa as Ye,v as n,P as p,ah as qe,t as Re,M as E,a8 as pe,E as De,ba as Ke,R as Z,n as Ee,ac as Q,ad as ce,u as l,bt as Ze,C as L,D as a,p as Te,bS as Qe,bR as Je,bT as Oe,ap as Xe,bi as He,a2 as et,bU as tt,Z as lt,_ as nt,L as r,K as at,aw as K,bm as st,F as D,G as W,b7 as ot,b8 as it,a1 as dt,ae as ze,bd as ut,bj as rt,bk as ct,bq as mt,T as ue,$ as ft,bn as pt}from"./.pnpm-9dA1PEvN.js";import{_ as vt}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{_ as yt}from"./index-CAGpCz28.js";import{_ as Ie,c as Le,i as me,o as _t}from"./index-CJvXnF8Y.js";import{_ as gt}from"./index-BBemoNXE.js";import{U as Ct}from"./index-DMkcmA29.js";import{_ as ht}from"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import{f as kt,b as bt,c as wt,d as $e,e as xt,g as St,h as At,i as Vt}from"./file-BJDA0rIT.js";import{u as Et}from"./usePaging-Boz1Q6w3.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 Tt(s,$,x,_,k,z){const S=Ye,u=Le;return i(),m("div",null,[o("div",{class:"file-item relative",style:Re({height:s.height||s.fileSize,width:s.width||s.fileSize})},[s.type=="image"?(i(),h(S,{key:0,class:"image",fit:"contain",src:s.uri},null,8,["src"])):s.type=="video"?(i(),m("video",{key:1,class:"video",src:s.uri},null,8,Rt)):(i(),h(S,{key:2,class:"image",src:"https://img95.699pic.com/element/40103/3946.png_860.png"})),s.type=="video"?(i(),m("div",Dt,[n(u,{name:"el-icon-CaretRight",size:18,color:"#fff"})])):p("",!0),qe(s.$slots,"default",{},void 0,!0)],4)])}const re=Ie($t,[["render",Tt],["__scopeId","data-v-acf6f94d"]]);function It(s){const $=pe(),x=E([]),_=E(""),k=async()=>{const f=await kt({page_type:0,type:s}),C=[{name:"全部",id:""},{name:"未分组",id:0}];x.value=f.lists,x.value.unshift(...C),setTimeout(()=>{var b;(b=$.value)==null||b.setCurrentKey(_.value)},0)};return{treeRef:$,cateId:_,cateLists:x,handleAddCate:async f=>{await $e({type:s,name:f,pid:0}),k()},handleAddChildCate:async(f,C)=>{await $e({type:s,name:f,pid:C}),k()},handleEditCate:async(f,C)=>{await wt({id:C,name:f}),k()},handleDeleteCate:async(f,C)=>{C?await me.confirm("删除文件夹将会永久删除文件夹及其所有内容。您确定要继续吗?"):await me.confirm("确定要删除?"),await bt({id:f}),_.value="",k()},getCateLists:k,handleCatSelect:f=>{_.value=f.id}}}function Lt(s,$,x,_){const k=pe(),z=E("normal"),S=E(0),u=E([]),R=E(!1),g=E(!1),f=Ke({name:"",type:$,cid:s,source:""}),{pager:C,getLists:b,resetPage:M}=Et({fetchFun:Vt,params:f,firstLoading:!0,size:_}),U=()=>{b()},J=()=>{M()},O=c=>!!u.value.find(d=>d.id==c),X=async c=>{await me.confirm("确认删除后,本地或云存储文件也将同步删除,如文件已被使用,请谨慎操作!");const d=c||u.value.map(V=>V.id);await At({ids:d}),U(),F()},H=async()=>{const c=u.value.map(d=>d.id);await St({ids:c,cid:S.value}),S.value=0,U(),F()},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}De.warning("已达到选择上限");return}u.value.push(c)},F=()=>{u.value=[]};return{listShowType:z,tableRef:k,moveId:S,pager:C,fileParams:f,select:u,isCheckAll:R,isIndeterminate:g,getFileList:U,refresh:J,batchFileDelete:X,batchFileMove:H,selectFile:ee,isSelect:O,clearSelect:F,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}F()},handleFileRename:async(c,d)=>{await xt({id:d,name:c}),U()}}}const Ut={key:0},Ft={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(s,{emit:$}){const x=s,_=$,k=pe(),z=Te({get(){return x.modelValue},set(R){_("update:modelValue",R)}}),S=()=>{_("update:modelValue",!1)},u=E([]);return Z(()=>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=Qe,C=Ze;return Q((i(),m("div",null,[s.type=="image"?(i(),m("div",Ut,[l(u).length?(i(),h(f,{key:0,"url-list":l(u),"hide-on-click-modal":"",onClose:S},null,8,["url-list"])):p("",!0)])):p("",!0),s.type=="video"?(i(),m("div",Ft,[n(C,{modelValue:l(z),"onUpdate:modelValue":g[0]||(g[0]=b=>L(z)?z.value=b:null),width:"740px",title:"视频预览","before-close":S},{default:a(()=>[o("div",jt,[o("video",Mt,[o("source",{src:s.url,type:"video/mp4"},null,8,Pt)])])]),_:1},8,["modelValue"])])):p("",!0)],512)),[[ce,s.modelValue]])}}}),Nt={class:"material"},Gt={class:"material__left"},Wt={class:"flex-1 min-h-0"},Yt={class:"material-left__content pt-4 p-b-4"},qt={class:"flex flex-1 items-center min-w-0 pr-4"},Kt={class:"flex-1 truncate mr-2"},Zt=["onClick"],Qt={class:"flex justify-center p-2 border-t border-br"},Jt={class:"material__center flex flex-col"},Ot={class:"operate-btn flex"},Xt={class:"flex-1 flex"},Ht={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"},al={class:"operation-btns flex items-center"},sl={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(s,{expose:$,emit:x}){const _=s,k=x,{limit:z}=Je(_),S=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=Oe("visible",E(!1)),g=E(""),f=E(!1),{treeRef:C,cateId:b,cateLists:M,handleAddCate:U,handleAddChildCate:J,handleEditCate:O,handleDeleteCate:X,getCateLists:H,handleCatSelect:ee}=It(S.value),{tableRef:F,listShowType:T,moveId:I,pager:A,fileParams:c,select:d,isCheckAll:V,isIndeterminate:P,getFileList:ve,refresh:j,batchFileDelete:Y,batchFileMove:ye,selectFile:te,isSelect:_e,clearSelect:ge,cancelSelete:Ue,selectAll:Ce,handleFileRename:he}=Lt(b,S,z,_.pageSize),ke=async()=>{var w;await H(),(w=C.value)==null||w.setCurrentKey(b.value),ve()},le=w=>{g.value=w,f.value=!0};Z(()=>R.value,async w=>{w&&ke()},{immediate:!0}),Z(b,()=>{c.name="",j()}),Z(d,w=>{if(k("change",w),w.length==A.lists.length&&w.length!==0){P.value=!1,V.value=!0;return}w.length>0?P.value=!0:(V.value=!1,P.value=!1)},{deep:!0}),Xe(()=>{_.mode=="page"&&ke()}),$({clearSelect:ge});const be=E(),Fe=w=>{const e=w,B=be.value;B.value=e,B.select(),document.execCommand("copy"),De({message:"地址复制成功",type:"success"})};return(w,e)=>{const B=_t,ne=nt,N=ht,je=lt,Me=ft,Pe=tt,ae=et,y=at,se=Ct,oe=pt,ie=st,we=gt,q=Le,Be=ot,xe=dt,de=ut,Se=yt,Ae=mt,G=ct,Ne=rt,Ge=vt,We=He;return Q((i(),m("div",Nt,[o("div",Gt,[o("div",Wt,[n(ae,null,{default:a(()=>[o("div",Yt,[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(b),onNodeClick:l(ee)},{default:a(({data:t})=>[o("div",qt,[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:a(()=>[n(je,null,{default:a(()=>[n(N,{onConfirm:v=>l(O)(v,t.id),size:"default",value:t.name,width:"400px",limit:20,"show-limit":"",teleported:""},{default:a(()=>[o("div",null,[n(ne,null,{default:a(()=>[...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:a(()=>[o("div",null,[n(ne,null,{default:a(()=>[...e[13]||(e[13]=[r(" 添加分组 ",-1)])]),_:1})])]),_:1},8,["onConfirm"]),o("div",{onClick:v=>{var Ve;return l(X)(t.id,(Ve=t==null?void 0:t.children)==null?void 0:Ve.length)}},[n(ne,null,{default:a(()=>[...e[14]||(e[14]=[r("删除分组",-1)])]),_:1})],8,Zt)]),_:2},1024)]),default:a(()=>[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",Qt,[n(N,{onConfirm:l(U),size:"default",width:"400px",limit:20,"show-limit":"",teleported:""},{default:a(()=>[n(y,null,{default:a(()=>[...e[17]||(e[17]=[r(" 添加分组 ",-1)])]),_:1})]),_:1},8,["onConfirm"])])]),o("div",Jt,[o("div",Ot,[o("div",Xt,[s.type=="image"?(i(),h(se,{key:0,class:"mr-3",data:{cid:l(b)},type:s.type,"show-progress":!0,onChange:l(j)},{default:a(()=>[n(y,{type:"primary"},{default:a(()=>[...e[18]||(e[18]=[r("本地上传",-1)])]),_:1})]),_:1},8,["data","type","onChange"])):p("",!0),s.type=="video"?(i(),h(se,{key:1,class:"mr-3",data:{cid:l(b)},type:s.type,"show-progress":!0,onAllSuccess:l(j)},{default:a(()=>[n(y,{type:"primary"},{default:a(()=>[...e[19]||(e[19]=[r("本地上传",-1)])]),_:1})]),_:1},8,["data","type","onAllSuccess"])):p("",!0),s.type=="file"?(i(),h(se,{key:2,class:"mr-3",data:{cid:l(b)},type:s.type,"show-progress":!0,onAllSuccess:l(j)},{default:a(()=>[n(y,{type:"primary"},{default:a(()=>[...e[20]||(e[20]=[r("本地上传",-1)])]),_:1})]),_:1},8,["data","type","onAllSuccess"])):p("",!0),s.mode=="page"?(i(),h(y,{key:3,disabled:!l(d).length,onClick:e[0]||(e[0]=K(t=>l(Y)(),["stop"]))},{default:a(()=>[...e[21]||(e[21]=[r(" 删除 ",-1)])]),_:1},8,["disabled"])):p("",!0),s.mode=="page"?(i(),h(we,{key:4,class:"ml-3",onConfirm:l(ye),disabled:!l(d).length,title:"移动文件"},{trigger:a(()=>[n(y,{disabled:!l(d).length},{default:a(()=>[...e[22]||(e[22]=[r("移动",-1)])]),_:1},8,["disabled"])]),default:a(()=>[o("div",null,[e[23]||(e[23]=o("span",{class:"mr-5"},"移动文件至",-1)),n(ie,{modelValue:l(I),"onUpdate:modelValue":e[1]||(e[1]=t=>L(I)?I.value=t:null),placeholder:"请选择"},{default:a(()=>[(i(!0),m(D,null,W(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:a(()=>[(i(),m(D,null,W(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:it(l(j),["enter"])},{append:a(()=>[n(y,{onClick:l(j)},{icon:a(()=>[n(q,{name:"el-icon-Search"})]),_:1},8,["onClick"])]),_:1},8,["modelValue","onKeyup"]),o("div",Ht,[n(xe,{content:"列表视图",placement:"top"},{default:a(()=>[o("div",{class:ze(["list-icon",{select:l(T)=="table"}]),onClick:e[4]||(e[4]=t=>T.value="table")},[n(q,{name:"local-icon-list-2",size:18})],2)]),_:1}),n(xe,{content:"平铺视图",placement:"top"},{default:a(()=>[o("div",{class:ze(["list-icon",{select:l(T)=="normal"}]),onClick:e[5]||(e[5]=t=>T.value="normal")},[n(q,{name:"el-icon-Menu",size:18})],2)]),_:1})])]),s.mode=="page"?(i(),m("div",el,[n(de,{disabled:!l(A).lists.length,modelValue:l(V),"onUpdate:modelValue":e[6]||(e[6]=t=>L(V)?V.value=t:null),onChange:l(Ce),indeterminate:l(P)},{default:a(()=>[...e[24]||(e[24]=[r(" 当页全选 ",-1)])]),_:1},8,["disabled","modelValue","onChange","indeterminate"])])):p("",!0),o("div",tl,[l(A).lists.length?Q((i(),h(ae,{key:0},{default:a(()=>[o("ul",ll,[(i(!0),m(D,null,W(l(A).lists,t=>(i(),m("li",{class:"file-item-wrap",key:t.id,style:Re({width:s.fileSize})},[n(Se,{onClose:v=>l(Y)([t.id])},{default:a(()=>[n(re,{uri:t.url,"file-size":s.fileSize,type:s.type,onClick:v=>l(te)(t)},{default:a(()=>[l(_e)(t.id)?(i(),m("div",nl,[n(q,{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",al,[n(N,{onConfirm:v=>l(he)(v,t.id),size:"default",value:t.name,width:"400px",limit:50,"show-limit":"",teleported:""},{default:a(()=>[n(y,{type:"primary",link:""},{default:a(()=>[...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:a(()=>[...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=>Fe(t.url),style:{"margin-left":"1px"}},{default:a(()=>[...e[27]||(e[27]=[r("地址",-1)])]),_:1},8,["onClick"])):(i(),h(Ae,{key:2,type:"primary",underline:!1,style:{"margin-left":"25px"},href:t.url},{default:a(()=>[...e[28]||(e[28]=[r("下载",-1)])]),_:1},8,["href"]))])],4))),128))])]),_:1},512)),[[ce,l(T)=="normal"]]):p("",!0),Q(n(Ne,{ref_key:"tableRef",ref:F,class:"mt-4",data:l(A).lists,width:"100%",height:"100%",size:"large",onRowClick:l(te)},{default:a(()=>[n(G,{width:"55"},{default:a(({row:t})=>[n(de,{modelValue:l(_e)(t.id),onChange:v=>l(te)(t)},null,8,["modelValue","onChange"])]),_:1}),n(G,{label:"图片",width:"100"},{default:a(({row:t})=>[n(re,{uri:t.url,"file-size":"50px",type:s.type},null,8,["uri","type"])]),_:1}),n(G,{label:"名称","min-width":"100","show-overflow-tooltip":""},{default:a(({row:t})=>[n(Ae,{onClick:K(v=>le(t.url),["stop"]),underline:!1},{default:a(()=>[r(ue(t.name),1)]),_:2},1032,["onClick"])]),_:1}),n(G,{prop:"create_time",label:"上传时间","min-width":"100"}),n(G,{label:"操作",width:"150",fixed:"right"},{default:a(({row:t})=>[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:a(()=>[n(y,{type:"primary",link:""},{default:a(()=>[...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:a(()=>[...e[30]||(e[30]=[r(" 查看 ",-1)])]),_:1},8,["onClick"])]),o("div",il,[n(y,{type:"primary",link:"",onClick:K(v=>l(Y)([t.id]),["stop"])},{default:a(()=>[...e[31]||(e[31]=[r(" 删除 ",-1)])]),_:1},8,["onClick"])])]),_:1})]),_:1},8,["data","onRowClick"]),[[ce,l(T)=="table"]]),!l(A).loading&&!l(A).lists.length?(i(),m("div",dl," 暂无数据~ ")):p("",!0)]),o("div",ul,[o("div",rl,[s.mode=="page"?(i(),m(D,{key:0},[o("span",cl,[n(de,{disabled:!l(A).lists.length,modelValue:l(V),"onUpdate:modelValue":e[7]||(e[7]=t=>L(V)?V.value=t:null),onChange:l(Ce),indeterminate:l(P)},{default:a(()=>[...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(Y)())},{default:a(()=>[...e[33]||(e[33]=[r(" 删除 ",-1)])]),_:1},8,["disabled"]),n(we,{class:"ml-3 inline",onConfirm:l(ye),disabled:!l(d).length,title:"移动文件"},{trigger:a(()=>[n(y,{disabled:!l(d).length},{default:a(()=>[...e[34]||(e[34]=[r("移动",-1)])]),_:1},8,["disabled"])]),default:a(()=>[o("div",null,[e[35]||(e[35]=o("span",{class:"mr-5"},"移动文件至",-1)),n(ie,{modelValue:l(I),"onUpdate:modelValue":e[9]||(e[9]=t=>L(I)?I.value=t:null),placeholder:"请选择"},{default:a(()=>[(i(!0),m(D,null,W(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(Ge,{modelValue:l(A),"onUpdate:modelValue":e[10]||(e[10]=t=>L(A)?A.value=t:null),onChange:l(ve),layout:"total, prev, pager, next, jumper"},null,8,["modelValue","onChange"])])]),s.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:a(()=>[...e[36]||(e[36]=[r("清空",-1)])]),_:1},8,["onClick"])]),o("div",yl,[n(ae,{class:"ls-scrollbar"},{default:a(()=>[o("ul",_l,[(i(!0),m(D,null,W(l(d),t=>(i(),m("li",{class:"mb-4",key:t.id},[o("div",gl,[n(Se,{onClose:v=>l(Ue)(t.id)},{default:a(()=>[n(re,{uri:t.url,"file-size":"100px",type:s.type},null,8,["uri","type"])]),_:2},1032,["onClose"])])]))),128))])]),_:1})])])):p("",!0),n(Bt,{modelValue:l(f),"onUpdate:modelValue":e[11]||(e[11]=t=>L(f)?f.value=t:null),url:l(g),type:s.type},null,8,["modelValue","url","type"]),o("input",{ref_key:"textCopys",ref:be,id:"textCopys",value:"",style:{opacity:"0",position:"absolute"}},null,512)])),[[We,l(A).loading]])}}}),zl=Ie(Cl,[["__scopeId","data-v-2dcfa5be"]]);export{re as F,Bt as _,zl as a}; +import{o as fe,q as i,r as m,s as o,O as h,aa as Ye,v as n,P as p,ah as qe,t as Re,M as E,a8 as pe,E as De,ba as Ke,R as Z,n as Ee,ac as Q,ad as ce,u as l,bt as Ze,C as L,D as a,p as Te,bS as Qe,bR as Je,bT as Oe,ap as Xe,bi as He,a2 as et,bU as tt,Z as lt,_ as nt,L as r,K as at,aw as K,bm as st,F as D,G as W,b7 as ot,b8 as it,a1 as dt,ae as ze,bd as ut,bj as rt,bk as ct,bq as mt,T as ue,$ as ft,bn as pt}from"./.pnpm-9dA1PEvN.js";import{_ as vt}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{_ as yt}from"./index-fA0EWEUO.js";import{_ as Ie,c as Le,i as me,o as _t}from"./index-BWzN7QIb.js";import{_ as gt}from"./index-dYaCh-CN.js";import{U as Ct}from"./index-DFkJDhf6.js";import{_ as ht}from"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import{f as kt,b as bt,c as wt,d as $e,e as xt,g as St,h as At,i as Vt}from"./file-BL6iPgPC.js";import{u as Et}from"./usePaging-Boz1Q6w3.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 Tt(s,$,x,_,k,z){const S=Ye,u=Le;return i(),m("div",null,[o("div",{class:"file-item relative",style:Re({height:s.height||s.fileSize,width:s.width||s.fileSize})},[s.type=="image"?(i(),h(S,{key:0,class:"image",fit:"contain",src:s.uri},null,8,["src"])):s.type=="video"?(i(),m("video",{key:1,class:"video",src:s.uri},null,8,Rt)):(i(),h(S,{key:2,class:"image",src:"https://img95.699pic.com/element/40103/3946.png_860.png"})),s.type=="video"?(i(),m("div",Dt,[n(u,{name:"el-icon-CaretRight",size:18,color:"#fff"})])):p("",!0),qe(s.$slots,"default",{},void 0,!0)],4)])}const re=Ie($t,[["render",Tt],["__scopeId","data-v-acf6f94d"]]);function It(s){const $=pe(),x=E([]),_=E(""),k=async()=>{const f=await kt({page_type:0,type:s}),C=[{name:"全部",id:""},{name:"未分组",id:0}];x.value=f.lists,x.value.unshift(...C),setTimeout(()=>{var b;(b=$.value)==null||b.setCurrentKey(_.value)},0)};return{treeRef:$,cateId:_,cateLists:x,handleAddCate:async f=>{await $e({type:s,name:f,pid:0}),k()},handleAddChildCate:async(f,C)=>{await $e({type:s,name:f,pid:C}),k()},handleEditCate:async(f,C)=>{await wt({id:C,name:f}),k()},handleDeleteCate:async(f,C)=>{C?await me.confirm("删除文件夹将会永久删除文件夹及其所有内容。您确定要继续吗?"):await me.confirm("确定要删除?"),await bt({id:f}),_.value="",k()},getCateLists:k,handleCatSelect:f=>{_.value=f.id}}}function Lt(s,$,x,_){const k=pe(),z=E("normal"),S=E(0),u=E([]),R=E(!1),g=E(!1),f=Ke({name:"",type:$,cid:s,source:""}),{pager:C,getLists:b,resetPage:M}=Et({fetchFun:Vt,params:f,firstLoading:!0,size:_}),U=()=>{b()},J=()=>{M()},O=c=>!!u.value.find(d=>d.id==c),X=async c=>{await me.confirm("确认删除后,本地或云存储文件也将同步删除,如文件已被使用,请谨慎操作!");const d=c||u.value.map(V=>V.id);await At({ids:d}),U(),F()},H=async()=>{const c=u.value.map(d=>d.id);await St({ids:c,cid:S.value}),S.value=0,U(),F()},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}De.warning("已达到选择上限");return}u.value.push(c)},F=()=>{u.value=[]};return{listShowType:z,tableRef:k,moveId:S,pager:C,fileParams:f,select:u,isCheckAll:R,isIndeterminate:g,getFileList:U,refresh:J,batchFileDelete:X,batchFileMove:H,selectFile:ee,isSelect:O,clearSelect:F,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}F()},handleFileRename:async(c,d)=>{await xt({id:d,name:c}),U()}}}const Ut={key:0},Ft={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(s,{emit:$}){const x=s,_=$,k=pe(),z=Te({get(){return x.modelValue},set(R){_("update:modelValue",R)}}),S=()=>{_("update:modelValue",!1)},u=E([]);return Z(()=>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=Qe,C=Ze;return Q((i(),m("div",null,[s.type=="image"?(i(),m("div",Ut,[l(u).length?(i(),h(f,{key:0,"url-list":l(u),"hide-on-click-modal":"",onClose:S},null,8,["url-list"])):p("",!0)])):p("",!0),s.type=="video"?(i(),m("div",Ft,[n(C,{modelValue:l(z),"onUpdate:modelValue":g[0]||(g[0]=b=>L(z)?z.value=b:null),width:"740px",title:"视频预览","before-close":S},{default:a(()=>[o("div",jt,[o("video",Mt,[o("source",{src:s.url,type:"video/mp4"},null,8,Pt)])])]),_:1},8,["modelValue"])])):p("",!0)],512)),[[ce,s.modelValue]])}}}),Nt={class:"material"},Gt={class:"material__left"},Wt={class:"flex-1 min-h-0"},Yt={class:"material-left__content pt-4 p-b-4"},qt={class:"flex flex-1 items-center min-w-0 pr-4"},Kt={class:"flex-1 truncate mr-2"},Zt=["onClick"],Qt={class:"flex justify-center p-2 border-t border-br"},Jt={class:"material__center flex flex-col"},Ot={class:"operate-btn flex"},Xt={class:"flex-1 flex"},Ht={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"},al={class:"operation-btns flex items-center"},sl={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(s,{expose:$,emit:x}){const _=s,k=x,{limit:z}=Je(_),S=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=Oe("visible",E(!1)),g=E(""),f=E(!1),{treeRef:C,cateId:b,cateLists:M,handleAddCate:U,handleAddChildCate:J,handleEditCate:O,handleDeleteCate:X,getCateLists:H,handleCatSelect:ee}=It(S.value),{tableRef:F,listShowType:T,moveId:I,pager:A,fileParams:c,select:d,isCheckAll:V,isIndeterminate:P,getFileList:ve,refresh:j,batchFileDelete:Y,batchFileMove:ye,selectFile:te,isSelect:_e,clearSelect:ge,cancelSelete:Ue,selectAll:Ce,handleFileRename:he}=Lt(b,S,z,_.pageSize),ke=async()=>{var w;await H(),(w=C.value)==null||w.setCurrentKey(b.value),ve()},le=w=>{g.value=w,f.value=!0};Z(()=>R.value,async w=>{w&&ke()},{immediate:!0}),Z(b,()=>{c.name="",j()}),Z(d,w=>{if(k("change",w),w.length==A.lists.length&&w.length!==0){P.value=!1,V.value=!0;return}w.length>0?P.value=!0:(V.value=!1,P.value=!1)},{deep:!0}),Xe(()=>{_.mode=="page"&&ke()}),$({clearSelect:ge});const be=E(),Fe=w=>{const e=w,B=be.value;B.value=e,B.select(),document.execCommand("copy"),De({message:"地址复制成功",type:"success"})};return(w,e)=>{const B=_t,ne=nt,N=ht,je=lt,Me=ft,Pe=tt,ae=et,y=at,se=Ct,oe=pt,ie=st,we=gt,q=Le,Be=ot,xe=dt,de=ut,Se=yt,Ae=mt,G=ct,Ne=rt,Ge=vt,We=He;return Q((i(),m("div",Nt,[o("div",Gt,[o("div",Wt,[n(ae,null,{default:a(()=>[o("div",Yt,[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(b),onNodeClick:l(ee)},{default:a(({data:t})=>[o("div",qt,[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:a(()=>[n(je,null,{default:a(()=>[n(N,{onConfirm:v=>l(O)(v,t.id),size:"default",value:t.name,width:"400px",limit:20,"show-limit":"",teleported:""},{default:a(()=>[o("div",null,[n(ne,null,{default:a(()=>[...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:a(()=>[o("div",null,[n(ne,null,{default:a(()=>[...e[13]||(e[13]=[r(" 添加分组 ",-1)])]),_:1})])]),_:1},8,["onConfirm"]),o("div",{onClick:v=>{var Ve;return l(X)(t.id,(Ve=t==null?void 0:t.children)==null?void 0:Ve.length)}},[n(ne,null,{default:a(()=>[...e[14]||(e[14]=[r("删除分组",-1)])]),_:1})],8,Zt)]),_:2},1024)]),default:a(()=>[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",Qt,[n(N,{onConfirm:l(U),size:"default",width:"400px",limit:20,"show-limit":"",teleported:""},{default:a(()=>[n(y,null,{default:a(()=>[...e[17]||(e[17]=[r(" 添加分组 ",-1)])]),_:1})]),_:1},8,["onConfirm"])])]),o("div",Jt,[o("div",Ot,[o("div",Xt,[s.type=="image"?(i(),h(se,{key:0,class:"mr-3",data:{cid:l(b)},type:s.type,"show-progress":!0,onChange:l(j)},{default:a(()=>[n(y,{type:"primary"},{default:a(()=>[...e[18]||(e[18]=[r("本地上传",-1)])]),_:1})]),_:1},8,["data","type","onChange"])):p("",!0),s.type=="video"?(i(),h(se,{key:1,class:"mr-3",data:{cid:l(b)},type:s.type,"show-progress":!0,onAllSuccess:l(j)},{default:a(()=>[n(y,{type:"primary"},{default:a(()=>[...e[19]||(e[19]=[r("本地上传",-1)])]),_:1})]),_:1},8,["data","type","onAllSuccess"])):p("",!0),s.type=="file"?(i(),h(se,{key:2,class:"mr-3",data:{cid:l(b)},type:s.type,"show-progress":!0,onAllSuccess:l(j)},{default:a(()=>[n(y,{type:"primary"},{default:a(()=>[...e[20]||(e[20]=[r("本地上传",-1)])]),_:1})]),_:1},8,["data","type","onAllSuccess"])):p("",!0),s.mode=="page"?(i(),h(y,{key:3,disabled:!l(d).length,onClick:e[0]||(e[0]=K(t=>l(Y)(),["stop"]))},{default:a(()=>[...e[21]||(e[21]=[r(" 删除 ",-1)])]),_:1},8,["disabled"])):p("",!0),s.mode=="page"?(i(),h(we,{key:4,class:"ml-3",onConfirm:l(ye),disabled:!l(d).length,title:"移动文件"},{trigger:a(()=>[n(y,{disabled:!l(d).length},{default:a(()=>[...e[22]||(e[22]=[r("移动",-1)])]),_:1},8,["disabled"])]),default:a(()=>[o("div",null,[e[23]||(e[23]=o("span",{class:"mr-5"},"移动文件至",-1)),n(ie,{modelValue:l(I),"onUpdate:modelValue":e[1]||(e[1]=t=>L(I)?I.value=t:null),placeholder:"请选择"},{default:a(()=>[(i(!0),m(D,null,W(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:a(()=>[(i(),m(D,null,W(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:it(l(j),["enter"])},{append:a(()=>[n(y,{onClick:l(j)},{icon:a(()=>[n(q,{name:"el-icon-Search"})]),_:1},8,["onClick"])]),_:1},8,["modelValue","onKeyup"]),o("div",Ht,[n(xe,{content:"列表视图",placement:"top"},{default:a(()=>[o("div",{class:ze(["list-icon",{select:l(T)=="table"}]),onClick:e[4]||(e[4]=t=>T.value="table")},[n(q,{name:"local-icon-list-2",size:18})],2)]),_:1}),n(xe,{content:"平铺视图",placement:"top"},{default:a(()=>[o("div",{class:ze(["list-icon",{select:l(T)=="normal"}]),onClick:e[5]||(e[5]=t=>T.value="normal")},[n(q,{name:"el-icon-Menu",size:18})],2)]),_:1})])]),s.mode=="page"?(i(),m("div",el,[n(de,{disabled:!l(A).lists.length,modelValue:l(V),"onUpdate:modelValue":e[6]||(e[6]=t=>L(V)?V.value=t:null),onChange:l(Ce),indeterminate:l(P)},{default:a(()=>[...e[24]||(e[24]=[r(" 当页全选 ",-1)])]),_:1},8,["disabled","modelValue","onChange","indeterminate"])])):p("",!0),o("div",tl,[l(A).lists.length?Q((i(),h(ae,{key:0},{default:a(()=>[o("ul",ll,[(i(!0),m(D,null,W(l(A).lists,t=>(i(),m("li",{class:"file-item-wrap",key:t.id,style:Re({width:s.fileSize})},[n(Se,{onClose:v=>l(Y)([t.id])},{default:a(()=>[n(re,{uri:t.url,"file-size":s.fileSize,type:s.type,onClick:v=>l(te)(t)},{default:a(()=>[l(_e)(t.id)?(i(),m("div",nl,[n(q,{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",al,[n(N,{onConfirm:v=>l(he)(v,t.id),size:"default",value:t.name,width:"400px",limit:50,"show-limit":"",teleported:""},{default:a(()=>[n(y,{type:"primary",link:""},{default:a(()=>[...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:a(()=>[...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=>Fe(t.url),style:{"margin-left":"1px"}},{default:a(()=>[...e[27]||(e[27]=[r("地址",-1)])]),_:1},8,["onClick"])):(i(),h(Ae,{key:2,type:"primary",underline:!1,style:{"margin-left":"25px"},href:t.url},{default:a(()=>[...e[28]||(e[28]=[r("下载",-1)])]),_:1},8,["href"]))])],4))),128))])]),_:1},512)),[[ce,l(T)=="normal"]]):p("",!0),Q(n(Ne,{ref_key:"tableRef",ref:F,class:"mt-4",data:l(A).lists,width:"100%",height:"100%",size:"large",onRowClick:l(te)},{default:a(()=>[n(G,{width:"55"},{default:a(({row:t})=>[n(de,{modelValue:l(_e)(t.id),onChange:v=>l(te)(t)},null,8,["modelValue","onChange"])]),_:1}),n(G,{label:"图片",width:"100"},{default:a(({row:t})=>[n(re,{uri:t.url,"file-size":"50px",type:s.type},null,8,["uri","type"])]),_:1}),n(G,{label:"名称","min-width":"100","show-overflow-tooltip":""},{default:a(({row:t})=>[n(Ae,{onClick:K(v=>le(t.url),["stop"]),underline:!1},{default:a(()=>[r(ue(t.name),1)]),_:2},1032,["onClick"])]),_:1}),n(G,{prop:"create_time",label:"上传时间","min-width":"100"}),n(G,{label:"操作",width:"150",fixed:"right"},{default:a(({row:t})=>[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:a(()=>[n(y,{type:"primary",link:""},{default:a(()=>[...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:a(()=>[...e[30]||(e[30]=[r(" 查看 ",-1)])]),_:1},8,["onClick"])]),o("div",il,[n(y,{type:"primary",link:"",onClick:K(v=>l(Y)([t.id]),["stop"])},{default:a(()=>[...e[31]||(e[31]=[r(" 删除 ",-1)])]),_:1},8,["onClick"])])]),_:1})]),_:1},8,["data","onRowClick"]),[[ce,l(T)=="table"]]),!l(A).loading&&!l(A).lists.length?(i(),m("div",dl," 暂无数据~ ")):p("",!0)]),o("div",ul,[o("div",rl,[s.mode=="page"?(i(),m(D,{key:0},[o("span",cl,[n(de,{disabled:!l(A).lists.length,modelValue:l(V),"onUpdate:modelValue":e[7]||(e[7]=t=>L(V)?V.value=t:null),onChange:l(Ce),indeterminate:l(P)},{default:a(()=>[...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(Y)())},{default:a(()=>[...e[33]||(e[33]=[r(" 删除 ",-1)])]),_:1},8,["disabled"]),n(we,{class:"ml-3 inline",onConfirm:l(ye),disabled:!l(d).length,title:"移动文件"},{trigger:a(()=>[n(y,{disabled:!l(d).length},{default:a(()=>[...e[34]||(e[34]=[r("移动",-1)])]),_:1},8,["disabled"])]),default:a(()=>[o("div",null,[e[35]||(e[35]=o("span",{class:"mr-5"},"移动文件至",-1)),n(ie,{modelValue:l(I),"onUpdate:modelValue":e[9]||(e[9]=t=>L(I)?I.value=t:null),placeholder:"请选择"},{default:a(()=>[(i(!0),m(D,null,W(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(Ge,{modelValue:l(A),"onUpdate:modelValue":e[10]||(e[10]=t=>L(A)?A.value=t:null),onChange:l(ve),layout:"total, prev, pager, next, jumper"},null,8,["modelValue","onChange"])])]),s.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:a(()=>[...e[36]||(e[36]=[r("清空",-1)])]),_:1},8,["onClick"])]),o("div",yl,[n(ae,{class:"ls-scrollbar"},{default:a(()=>[o("ul",_l,[(i(!0),m(D,null,W(l(d),t=>(i(),m("li",{class:"mb-4",key:t.id},[o("div",gl,[n(Se,{onClose:v=>l(Ue)(t.id)},{default:a(()=>[n(re,{uri:t.url,"file-size":"100px",type:s.type},null,8,["uri","type"])]),_:2},1032,["onClose"])])]))),128))])]),_:1})])])):p("",!0),n(Bt,{modelValue:l(f),"onUpdate:modelValue":e[11]||(e[11]=t=>L(f)?f.value=t:null),url:l(g),type:s.type},null,8,["modelValue","url","type"]),o("input",{ref_key:"textCopys",ref:be,id:"textCopys",value:"",style:{opacity:"0",position:"absolute"}},null,512)])),[[We,l(A).loading]])}}}),zl=Ie(Cl,[["__scopeId","data-v-2dcfa5be"]]);export{re as F,Bt as _,zl as a}; diff --git a/server/public/admin/assets/index-xbbfBO1s.js b/server/public/admin/assets/index-xbbfBO1s.js deleted file mode 100644 index c258786e..00000000 --- a/server/public/admin/assets/index-xbbfBO1s.js +++ /dev/null @@ -1,7 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DSANIFY1.js","assets/.pnpm-9dA1PEvN.js","assets/.pnpm-LiWq8Xu0.css","assets/tcm-DOD9_1Um.js","assets/index-CJvXnF8Y.js","assets/index-or10At3s.css","assets/perm-BLNmf25V.js","assets/DailyMatrix-_4SdP1CQ.js","assets/picker-DWQ_BAep.js","assets/index-BBemoNXE.js","assets/index-dh40Du6y.css","assets/index-CY1mb9yY.js","assets/index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js","assets/index-CAGpCz28.js","assets/index-BYMg0OFw.css","assets/index-DMkcmA29.js","assets/file-BJDA0rIT.js","assets/index.vue_vue_type_script_setup_true_lang-Blf417m7.js","assets/usePaging-Boz1Q6w3.js","assets/index-D6uL8V1j.css","assets/picker-CLzhBfnG.css","assets/DiagnosisTodoList-wLDuYeQL.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix--Ay5C05Q.css","assets/CaseRecordList-BdOS8uCk.js","assets/CaseRecordList-DEgrl9PS.css","assets/CallRecordPanel-B5TNiiYq.js","assets/RecordingPlaybackBlock-C4Gpp-2c.js","assets/RecordingVideoPlayer-BFQjIPtM.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-p7h_1hh9.css","assets/ImChatRecordPanel-Dupe02qF.js","assets/dayjs-BsOAYQJw.js","assets/im-business-message-parse-DmDISFGN.js","assets/ImChatRecordPanel-BRnJl8ir.css","assets/AssignLogPanel-7M3l9W5C.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DxULo4tR.js","assets/doctor-Bmtf1eZE.js","assets/AppointmentRecordPanel-BWS3OyF0.css","assets/NoteTimeline-BiPgEoRT.js","assets/patient-CwTOvUDt.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-CbJRHf8i.js","assets/PrescriptionOrderDetailDrawer-66DcVm3d.js","assets/prescription-order-utils-B0fYlULc.js","assets/PrescriptionOrderDetailDrawer-DL92yzHH.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-D33qlDjf.js","assets/index-BANIMLkY.js","assets/medicine-CQDW2OUZ.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-DxQanmqx.css","assets/edit-Cgsl1tY9.css","assets/TrackingNoteTimeline-C-2kS81H.css"])))=>i.map(i=>d[i]); -import{o as Zt,W as Ul,R as Ie,ap as $l,be as Pl,q as p,r as b,v as a,D as s,s as i,bc as Dl,bb as Rl,L as c,b9 as Tl,b6 as Al,b7 as Ol,b8 as _t,u as j,bm as El,F as E,G as Y,O as x,bn as Ll,K as zl,bg as Fl,ac as O,bi as Il,bj as jl,bk as Ml,T as f,br as Hl,P as v,C as Wl,c6 as ql,bz as Bl,bh as Yl,c7 as Gl,c8 as Kl,bf as Jl,J as Ql,bp as Xl,c9 as Zl,aw as Ne,B as es,bt as ts,b_ as as,b$ as ls,ca as ss,ad as ct,I as ns,a1 as os,ae as is,bA as rs,bs as us,cb as ds,al as ps,ba as Se,M as k,p as U,n as ae,cc as ms,cd as _s}from"./.pnpm-9dA1PEvN.js";import{_ as cs}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{u as fs,c as gs,i as N,m as bs,_ as vs}from"./index-CJvXnF8Y.js";import{g as ys,j as xs,h as ks,k as ft,l as Vs,m as hs,n as ws,o as Ns,q as Ss,r as Cs,s as Us,t as $s}from"./tcm-DOD9_1Um.js";import{m as Ps}from"./medicine-CQDW2OUZ.js";import{r as Ds}from"./role-D6rynjFP.js";import{u as Rs}from"./usePaging-Boz1Q6w3.js";import{_ as Ts}from"./index.vue_vue_type_script_setup_true_lang-C38LpCy9.js";import{M as Xt}from"./index-BANIMLkY.js";const As={class:"prescription-list"},Os={class:"pl-toolbar"},Es={class:"pl-toolbar__line"},Ls={class:"pl-toolbar__line pl-toolbar__line--second"},zs={class:"pl-toolbar__actions"},Fs={class:"pl-table-head"},Is={class:"flex items-center gap-2"},js={class:"mt-3"},Ms={class:"font-medium"},Hs={class:"text-xs text-gray-400 mt-0.5"},Ws={key:1,class:"text-gray-400 text-sm"},qs={class:"font-medium"},Bs={class:"text-xs text-gray-500 mt-0.5"},Ys={class:"flex flex-col gap-1"},Gs={class:"flex flex-wrap items-center gap-1"},Ks={key:0,class:"text-xs text-gray-500"},Js=["title"],Qs={key:1,class:"text-gray-400"},Xs={class:"font-medium"},Zs={class:"text-xs text-gray-500 mt-0.5"},en={class:"text-sm"},tn={class:"flex mt-2 justify-end"},an={key:0,class:"rx-wrap"},ln={class:"rx-toolbar"},sn={key:0,class:"rx-status rx-status-danger"},nn={key:1,class:"rx-status rx-status-danger"},on={key:0,class:"mt-1"},rn={key:2,class:"rx-status rx-status-danger"},un={key:0,class:"mt-1"},dn={class:"rx-notice"},pn={class:"rx-notice-meta"},mn={class:"rx-info"},_n={class:"rx-info-row"},cn={class:"rx-info-cell"},fn={class:"rx-val"},gn={class:"rx-info-cell"},bn={class:"rx-val"},vn={class:"rx-info-cell"},yn={class:"rx-val"},xn={class:"rx-info-cell"},kn={class:"rx-val"},Vn={class:"rx-info-row rx-info-row-full"},hn={class:"rx-info-cell"},wn={class:"rx-val"},Nn={class:"rx-info-row rx-info-row-full"},Sn={class:"rx-info-cell"},Cn={class:"rx-val"},Un={class:"rx-rp"},$n={class:"rx-herbs"},Pn={class:"rx-herb-name"},Dn={class:"rx-herb-total"},Rn={class:"rx-herb-name"},Tn={class:"rx-herb-total"},An={class:"rx-text"},On={key:0},En={key:1},Ln={key:2},zn={key:3},Fn={key:4,class:"rx-text-warn"},In={key:5,class:"rx-text-warn"},jn={class:"rx-bottom"},Mn={class:"rx-bot-row rx-bot-row-1"},Hn={class:"rx-bot-cell rx-bot-stack rx-bot-doctor"},Wn={class:"rx-bot-doctor-body"},qn=["src"],Bn={key:1,class:"rx-bot-doctor-name"},Yn={class:"rx-bot-cell rx-bot-meta"},Gn={class:"rx-bot-meta-val"},Kn={class:"rx-bot-cell rx-bot-meta"},Jn={class:"rx-bot-meta-val"},Qn={class:"rx-bot-cell rx-bot-meta"},Xn={class:"rx-bot-meta-val"},Zn={key:4,class:"rx-audit"},eo={key:0},to={key:0,class:"ml-2 text-gray-400"},ao={key:1,class:"mt-1"},lo={class:"text-sm mt-1"},so={key:0,class:"text-sm mt-2 text-gray-800 font-medium"},no={key:5,class:"mb-3 flex flex-wrap items-center gap-2 pl-[120px]"},oo={class:"text-xs text-gray-400"},io={class:"w-full"},ro={class:"flex flex-wrap items-center gap-2"},uo={key:0,class:"flex items-center gap-2 flex-wrap mt-2 text-xs text-[var(--el-color-danger)]"},po={class:"herb-formula-block mt-3"},mo={class:"herb-formula-block__head"},_o={key:1,class:"text-gray-400 text-xs"},co={class:"herb-formula-block mt-4"},fo={class:"herb-formula-block__head"},go={key:1,class:"text-gray-400 text-xs"},bo={class:"text-sm mt-1 leading-relaxed"},vo={key:0,class:"mb-1.5"},yo={class:"font-mono text-primary"},xo={class:"mb-1.5"},ko={class:"whitespace-pre-wrap"},Vo={key:1,class:"text-gray-600"},ho={class:"signature-pad-wrap"},wo={class:"signature-actions"},No={class:"text-gray-700"},So={class:"create-order-dialog__inner"},Co={key:0,class:"create-order-rx-card"},Uo={class:"create-order-rx-card__head"},$o={class:"create-order-rx-card__meta"},Po={class:"create-order-rx-card__id"},Do={key:0,class:"create-order-rx-card__sn"},Ro={class:"create-order-rx-card__patient"},To={class:"create-order-step-lead"},Ao={class:"create-order-step-panel"},Oo={class:"create-order-step-panel"},Eo={class:"flex items-center gap-1 w-full"},Lo={class:"flex flex-col gap-0.5",style:{"line-height":"normal"}},zo={class:"flex items-center justify-between"},Fo={class:"font-medium text-[13px] text-gray-800"},Io={class:"text-orange-500 font-medium ml-4"},jo={class:"flex items-center justify-between text-xs text-gray-400 mt-1"},Mo={class:"truncate pr-2"},Ho={class:"shrink-0"},Wo={class:"create-order-pay-hint text-gray-500"},qo={class:"text-amber-600 font-medium"},Bo={class:"create-order-step-panel"},Yo={class:"create-order-deposit-bar__cell"},Go={class:"create-order-deposit-bar__sub"},Ko={class:"create-order-deposit-bar__cell"},Jo={class:"create-order-deposit-bar__sub"},Qo={class:"create-order-footer"},Xo={class:"create-order-footer__hint"},Zo={class:"create-order-footer__step"},ei={key:0,class:"create-order-footer__warn"},ti={class:"create-order-footer__actions"},ai={class:"mb-4 flex gap-3"},li={class:"mb-3 flex flex-wrap items-center gap-x-4 gap-y-2"},si={key:0},ni={key:1,class:"text-gray-400"},oi={class:"flex justify-end mt-4"},ii={class:"mt-3 flex flex-wrap items-center gap-x-4 gap-y-2"},ri=Zt({name:"prescriptionList"}),ui=Zt({...ri,setup(di){const ea=ds(()=>ps(()=>import("./edit-DSANIFY1.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])));function Ce(t="浓缩水丸"){return t==="饮片"?{dosage_amount:50,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}:t==="浓缩水丸"?{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 gt(t,e){const o=Ce(e);if(!t||typeof t!="object")return{...o};const u=t;return{dosage_amount:u.dosage_amount!==null&&u.dosage_amount!==void 0&&u.dosage_amount!==""?Number(u.dosage_amount):o.dosage_amount,dosage_bag_count:u.dosage_bag_count!=null?Number(u.dosage_bag_count)||1:o.dosage_bag_count,need_decoction:u.need_decoction===1||u.need_decoction===!0,bags_per_dose:u.bags_per_dose!=null?Number(u.bags_per_dose)||1:o.bags_per_dose,times_per_day:u.times_per_day!=null?Number(u.times_per_day)||3:o.times_per_day,usage_days:u.usage_days!=null?Number(u.usage_days)||7:o.usage_days,prescription_name:String(u.prescription_name??"").trim()}}function bt(t,e,o){const u=t.prescription_type||"浓缩水丸",m=Number(t.times_per_day)>0?Number(t.times_per_day):3,d=t.dosage_amount!=null?Number(t.dosage_amount):10,r=t.dosage_unit||(u==="饮片"?"ml":"g"),V=t.usage_way||e||"温水送服",L=t.usage_time||o||"",y=[];if(y.push(`每天${m}次`),u==="浓缩水丸"){const J=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;y.push(`一次${J}袋`),y.push(`每袋${d}${r}`)}else y.push(`一次${d}${r}`);return y.push(V),L&&y.push(L),y.join(", ")}function q(t){return t==="辅方"?"辅方":"主方"}function je(t){const e={name:String((t==null?void 0:t.name)??"").trim(),dosage:Number(t==null?void 0:t.dosage)||0,formula_type:q(t==null?void 0:t.formula_type)},o=Number((t==null?void 0:t.medicine_id)??(t==null?void 0:t.id)??0);return Number.isInteger(o)&&o>0&&(e.medicine_id=o),((t==null?void 0:t.locked)===!0||(t==null?void 0:t.locked)===1)&&(e.locked=!0),e}function Me(t){return t?Array.isArray(t)?t.map(e=>je(e)):[]:[]}const ue=fs(),vt=Ul();function ta(){const t=vt.getRoutes().find(e=>{var o;return((o=e.meta)==null?void 0:o.perms)==="tcm.prescriptionOrder/lists"});t!=null&&t.path?vt.push(t.path):N.msgWarning("未配置「处方业务订单」菜单,请在权限管理中执行菜单 SQL 或手动添加路由")}const S=Se({sn:"",patient_name:"",creator_ids:[],audit_filter:"all",source_filter:"all",start_time:"",end_time:""}),He=k([]),G=k("all"),Q=k(!1),R=k("add"),We=k(!1),Z=k(),K=k(),de=k(null),le=560,se=168,g=k(null),qe=k(!1),yt=k([]),pe=k(!1),xt=k(0),ne=k(""),Ue=k(!1),me=k(!1),Be=k(!1),Ye=k(),P=Se({id:0,patient_name:"",gender:1,phone:""}),aa={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]};function la(t){P.id=Number(t.id)||0,P.patient_name=String(t.patient_name??"").trim();const e=Number(t.gender);P.gender=e===0||e===1?e:1,P.phone=String(t.phone??"").trim(),me.value=!0}function sa(){var t;P.id=0,P.patient_name="",P.gender=1,P.phone="",(t=Ye.value)==null||t.clearValidate()}async function na(){const t=Ye.value;if(t){try{await t.validate()}catch{return}Be.value=!0;try{await xs({id:P.id,patient_name:P.patient_name.trim(),phone:P.phone.trim(),gender:P.gender}),N.msgSuccess("已保存"),me.value=!1,ee()}catch(e){const o=e&&typeof e=="object"&&"msg"in e?String(e.msg):"";N.msgError(o||"保存失败")}finally{Be.value=!1}}}const _e=k(!1),T=k(0),oa=U(()=>["请核对诊单患者并填写完整收货信息,便于发货与物流联系。","按需填写服务相关信息,并选择本诊单下需要关联的支付单。","确认费用类别与订单金额;提交前请对照定金门槛是否已满足。"][T.value]??""),ia=["patient_id","recipient_name","recipient_phone","region","shipping_address"],B=k(null),ce=k(),Ge=k(!1),Ke=k(!1),X=k([]),oe=k([]),Je=k(!1),D=k(0);function ie(t){const e=Number(t);return Number.isNaN(e)?"—":e.toFixed(2)}function kt(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(t)]||"未知"}const _=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:[]}),fe=k([]),Qe=k([]),ra=t=>t.map(e=>{var o;return{name:e.province,code:e.code,children:((o=e.citys)==null?void 0:o.map(u=>{var m;return{name:u.city,code:u.code,children:((m=u.areas)==null?void 0:m.map(d=>({name:d.area,code:d.code})))||[]}}))||[]}}),ua=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),fe.value=ra(o),console.log("regionOptions 已设置,条数:",fe.value.length)}catch(t){console.error("加载省市区数据失败:",t),fe.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("使用后备数据,条数:",fe.value.length)}},da=async()=>{try{const t=await bs({type:"server_order"});Qe.value=((t==null?void 0:t.server_order)||[]).filter(e=>e.status!==0)}catch{Qe.value=[]}},pa=t=>{console.log("选择的省市区:",t)},Xe=U(()=>{const t=new Set(_.pay_order_ids.map(o=>Number(o)));let e=0;for(const o of oe.value)t.has(Number(o.id))&&(e+=Number(o.amount)||0);return Math.round(e*100)/100}),ma=U(()=>{const t=D.value;return t>0?Math.round(t*100)/100:0}),_a=U(()=>{const t={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,u)=>{const m=D.value,d=Number(o);if(m>0&&(!Number.isFinite(d)||d0){const e=`已开启关联支付门槛(¥${ie(D.value)}),请至少选择一笔支付单`;t.pay_order_ids=[{type:"array",required:!0,min:1,message:e,trigger:"change"}]}return t});function Vt(){var t;T.value=0,_.patient_id="",_.recipient_name="",_.recipient_phone="",_.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=[],X.value=[],oe.value=[],D.value=0,B.value=null,(t=ce.value)==null||t.clearValidate()}function ca(){const t=D.value;if(t<=0)return;const e=Math.round(t*100)/100;Number(_.amount)_.patient_id,()=>{_.pay_order_ids=[],ht()});async function fa(t){var m;if(Number(t==null?void 0:t.void_status)===1){N.msgWarning("已作废处方不可创建业务订单");return}Vt(),B.value=t;const e=Number(t.diagnosis_id)||0;e>0&&(_.patient_id=e,_.recipient_name=t.patient_name||"",_.recipient_phone=String(t.phone||"").trim(),X.value=[{id:e,patient_name:t.patient_name||"",phone:String(t.phone||"").trim()}]);const o=Number(t.usage_days);o>0&&(_.medication_days=o),_e.value=!0,ht();const u=t.id;if(u&&!_.recipient_phone)try{const d=await ft({id:u}),r=d&&typeof d.phone=="string"?d.phone.trim():"";if(r&&((m=B.value)==null?void 0:m.id)===u){_.recipient_phone=r;const V=X.value[0];V&&Number(V.id)===e&&(V.phone=r)}}catch{}}async function ga(t){if(!t){X.value=[];return}try{Ke.value=!0;const e=await searchPatientsAPI({keyword:t,page_no:1,page_size:10});X.value=(e==null?void 0:e.lists)||[]}catch{X.value=[]}finally{Ke.value=!1}}function ba(t){const e=X.value.find(o=>Number(o.id)===Number(t));e&&(_.recipient_name=e.patient_name||"",_.recipient_phone=e.phone||"")}function va(){T.value>0&&(T.value-=1)}async function ya(){const t=ce.value;if(t)try{T.value===0?await t.validateField([...ia]):T.value===1&&D.value>0&&await t.validateField(["pay_order_ids"]),T.value<2&&(T.value+=1)}catch{}}async function xa(){if(!(!ce.value||!B.value)&&T.value===2)try{await ce.value.validate(),Ge.value=!0;const t=Number(_.patient_id),e={prescription_id:B.value.id,diagnosis_id:t,recipient_name:_.recipient_name,recipient_phone:_.recipient_phone,shipping_address:_.shipping_address,is_follow_up:_.is_follow_up,prev_staff:_.prev_staff||"",service_channel:_.service_channel||"",service_package:Array.isArray(_.service_package)&&_.service_package.length>0?_.service_package.join(","):"",express_company:_.express_company||"auto",tracking_number:_.tracking_number||"",ship_mode:_.ship_mode,fee_type:_.fee_type,amount:_.amount,remark_extra:_.remark_extra||"",remark_assistant:_.remark_assistant||""};_.region&&_.region.length>=3&&(e.shipping_province=_.region[0],e.shipping_city=_.region[1],e.shipping_district=_.region[2]),_.medication_days!=null&&_.medication_days>0&&(e.medication_days=_.medication_days),_.internal_cost!=null&&_.internal_cost>0&&(e.internal_cost=_.internal_cost),_.pay_order_ids.length&&(e.pay_order_ids=[..._.pay_order_ids]);const o=await Vs(e),u=(o==null?void 0:o.data)??o,m=u==null?void 0:u.order_no;N.msgSuccess(m?`业务订单已创建,单号:${m}`:"业务订单已创建"),_e.value=!1,ee()}catch(t){console.error(t)}finally{Ge.value=!1}}const $e=k(!1),Pe=k(!1),wt=U(()=>{const t=$e.value,e=Pe.value;return!t&&!e?"":t&&e?"当前处方已作废且已驳回。保存后将取消作废、清除驳回,并重新进入待审核。":t?"当前为已作废处方。保存后将取消作废,并重新进入待审核。":"当前为已驳回处方。保存后将清除驳回,并重新进入待审核。"}),ge=U(()=>{var e;const t=(e=g.value)==null?void 0:e.herbs;return Array.isArray(t)?t:[]}),Nt=U(()=>ge.value.filter(t=>q(t.formula_type)==="主方")),Ze=U(()=>ge.value.filter(t=>q(t.formula_type)==="辅方")),ka=U(()=>n.herbs.map((t,e)=>({herb:t,index:e})).filter(({herb:t})=>q(t.formula_type)==="主方")),St=U(()=>n.herbs.map((t,e)=>({herb:t,index:e})).filter(({herb:t})=>q(t.formula_type)==="辅方")),M=U(()=>n.herbs.some(t=>t.locked===!0)),Ct=U(()=>{var e;const t=(e=g.value)==null?void 0:e.dietary_taboo;return Array.isArray(t)?t.filter(Boolean).join("、"):typeof t=="string"&&t.trim()?t.trim():""}),Ut=k(null),et=k(!1),De=t=>String(t).padStart(2,"0"),Va=U(()=>{const t=g.value;if(!t)return"—";const e=t.create_time??t.update_time??null;if(e){const o=String(e).length===10?Number(e)*1e3:Number(e),u=new Date(o);if(!isNaN(u.getTime()))return`${u.getFullYear()}-${De(u.getMonth()+1)}-${De(u.getDate())} ${De(u.getHours())}:${De(u.getMinutes())}`}return t.prescription_date||"—"}),ha=U(()=>{const t=g.value;return t?t.order_no||t.serial_no||t.serial_number||t.no||t.prescription_no||t.visit_no||(t.id?`G${t.id}`:"—"):"—"}),wa=U(()=>{const t=g.value;if(!t)return"—";if(t.recipient_text)return t.recipient_text;const e=[];(t.recipient_name||t.patient_name)&&e.push(t.recipient_name||t.patient_name),(t.recipient_phone||t.phone)&&e.push(t.recipient_phone||t.phone);let o=t.region;return Array.isArray(o)&&(o=o.filter(Boolean).join("")),o&&e.push(String(o)),t.shipping_address?e.push(String(t.shipping_address)):t.address&&e.push(String(t.address)),e.length?e.join(","):"—"}),$t=U(()=>{var e;const t=Number((e=g.value)==null?void 0:e.dose_count);return Number.isFinite(t)&&t>0?t:1}),Na=U(()=>{const e=ge.value.reduce((o,u)=>o+(Number(u==null?void 0:u.dosage)||0),0);return be(e)}),Pt=t=>{const e=Number(t)||0;return be(e*$t.value)},Sa=U(()=>{const t=g.value;if(!t)return"—";const e=t.prescription_type||"浓缩水丸";return/丸|散|膏|片/.test(e)?`浓缩丸-${e}`:e}),Ca=U(()=>{const t=g.value;return t?t.usage_text?t.usage_text:bt(t):"—"}),Dt=U(()=>{const t=g.value;if(!t||!Ze.value.length)return"";const e=gt(t.aux_usage,t.prescription_type||"浓缩水丸");return bt({prescription_type:t.prescription_type,dosage_amount:e.dosage_amount,dosage_unit:t.dosage_unit,dosage_bag_count:e.dosage_bag_count,times_per_day:e.times_per_day,usage_way:t.usage_way,usage_time:t.usage_time},t.usage_way,t.usage_time)}),Rt=U(()=>{const t=g.value;return t&&t.medical_advice||""}),Tt=U(()=>{const t=g.value;if(!t)return"";const e=[];return e.push(`共${ge.value.length}味药`),t.usage_notes&&e.push(String(t.usage_notes)),t.remark&&e.push(String(t.remark)),e.join(" ")}),At=U(()=>{const t=g.value;return t&&(t.pharmacy_remark||t.pharmacy_note)||""}),Ot=U(()=>{const t=g.value;if(!t)return"";const e=Ua(t);return e?`${e}克`:""});function Ua(t){if(!t)return"";if((t.prescription_type||"浓缩水丸")==="浓缩水丸"){const m=Number(t.medication_days??t.usage_days??t.dose_count),d=Number(t.times_per_day),r=Number(t.dosage_amount),V=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;if(Number.isFinite(m)&&Number.isFinite(d)&&Number.isFinite(r)&&m>0&&d>0&&r>0)return be(m*d*r*V)}const e=t.out_pellet||t.total_weight;if(e&&Number(e)>0)return be(Number(e));const o=ge.value;if(!o.length)return"";const u=o.reduce((m,d)=>m+(Number(d==null?void 0:d.dosage)||0),0);return be(u*$t.value)}function be(t){return isFinite(t)?Number.isInteger(t)?String(t):t.toFixed(2).replace(/\.?0+$/,""):"0"}function $a(){g.value&&ae(()=>{try{window.print()}catch(t){console.error(t)}})}async function Pa(){var e,o,u;const t=Ut.value;if(!t){N.msgWarning("处方笺尚未渲染完成");return}et.value=!0;try{await ae(),await new Promise(F=>requestAnimationFrame(()=>F(null))),await new Promise(F=>setTimeout(F,250));const m=await ms(t,{scale:2,backgroundColor:"#ffffff",useCORS:!0,allowTaint:!1,logging:!1,windowWidth:t.scrollWidth,windowHeight:t.scrollHeight,width:t.scrollWidth,height:t.scrollHeight}),d=m.toDataURL("image/jpeg",.95),r=new _s({unit:"mm",format:"a4",orientation:"portrait"}),V=210,L=297,y=V,J=m.height*y/m.width;if(J<=L)r.addImage(d,"JPEG",0,0,y,J);else{let F=J,ze=0;for(;F>0;)r.addImage(d,"JPEG",0,ze,y,J),F-=L,ze-=L,F>0&&r.addPage()}const dt=((e=g.value)==null?void 0:e.patient_name)||"处方",C=((o=g.value)==null?void 0:o.id)||"",A=((u=g.value)==null?void 0:u.prescription_date)||"";r.save(`处方-${dt}${A?"-"+A:""}${C?"-"+C:""}.pdf`)}catch(m){console.error("下载处方 PDF 失败:",m),N.msgError((m==null?void 0:m.message)||"下载失败,请重试")}finally{et.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("浓缩水丸")}),$=Se({loading:!1,orderNo:"",medicationDays:null,remarkAssistant:""});function Da(){$.loading=!1,$.orderNo="",$.medicationDays=null,$.remarkAssistant=""}async function Ra(t){if($.orderNo="",$.medicationDays=null,$.remarkAssistant="",!t){$.loading=!1;return}$.loading=!0;try{const e=await $s({page_no:1,page_size:5,prescription_id:t}),o=e==null?void 0:e.lists,u=Array.isArray(o)&&o.length?o[0]:null;if(u){$.orderNo=String(u.order_no||"").trim();const m=u.medication_days,d=m!=null&&String(m).trim()!==""?Number(m):NaN;$.medicationDays=Number.isFinite(d)&&d>0?d:null,$.remarkAssistant=String(u.remark_assistant||"").trim()}}catch{}finally{$.loading=!1}}const Et=k(null);function Ta(){var e;const t=Number(n.diagnosis_id);if(!t){N.msgWarning("本处方未关联诊单,无法查看诊单患者信息");return}(e=Et.value)==null||e.openViewOnly(t)}const Re=k(!1);Ie(()=>n.prescription_type,t=>{Re.value||(t==="浓缩水丸"?(n.dosage_unit="g",n.dosage_amount=1,n.dosage_bag_count=1,n.need_decoction=!1,n.bags_per_dose=1):t==="饮片"?(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(t)))});const Aa={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:(t,e,o)=>{!e||!String(e).trim()?o(new Error("请使用电子签名板手写医师签名")):o()},trigger:"change"}]};async function Oa(t){const{audit_filter:e,source_filter:o,creator_ids:u,...m}=t,d={...m,audit_filter:e==="all"||e===""?"":e,source_filter:o==="all"||o===""||o===void 0?"":o};return Array.isArray(u)&&u.length>0&&(d.creator_ids=u),hs(d)}const{pager:ve,getLists:ee,resetPage:te}=Rs({fetchFun:Oa,params:S});function Lt(t){return String(t).padStart(2,"0")}function zt(t){const e=t.getFullYear(),o=Lt(t.getMonth()+1),u=Lt(t.getDate()),m=`${e}-${o}-${u}`;return{start:`${m} 00:00:00`,end:`${m} 23:59:59`}}function Ea(t){const e=String(t??"all");if(e==="all")S.start_time="",S.end_time="";else{const o=new Date,u=new Date(o.getFullYear(),o.getMonth(),o.getDate());e==="yesterday"?u.setDate(u.getDate()-1):e==="before_yesterday"&&u.setDate(u.getDate()-2);const{start:m,end:d}=zt(u);S.start_time=m,S.end_time=d}te()}function La(){te()}function za(){te()}let tt=!1;Ie(()=>[S.start_time,S.end_time],()=>{if(tt)return;const t=S.start_time,e=S.end_time;if(!t&&!e){G.value="all";return}if(!t||!e){G.value="";return}const o=new Date,u=m=>{const d=new Date(o.getFullYear(),o.getMonth(),o.getDate()-m),{start:r,end:V}=zt(d);return t===r&&e===V};u(0)?G.value="today":u(1)?G.value="yesterday":u(2)?G.value="before_yesterday":G.value=""});function Fa(t){if(t==null||t==="")return"—";if(typeof t=="number"&&t>=1e9&&t<1e11)return Te(t);const e=String(t).trim();return/^\d{10}$/.test(e)?Te(parseInt(e,10)):e}function Ia(){tt=!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="",tt=!1,te()}function ja(t){return t===0?"待审核":t===2?"已驳回":"已通过"}function Ma(t){return t===0?"warning":t===2?"danger":"success"}function Ha(t){return Number(t.business_prescription_audit_rejected)===1?"已驳回":ja(t.audit_status)}function Wa(t){return Number(t.business_prescription_audit_rejected)===1?"danger":Ma(t.audit_status)}function Ft(t){const e=[];if(Number(t.business_prescription_audit_rejected)===1){const o=String(t.business_prescription_audit_remark||"").trim();e.push(o?`业务订单审核驳回意见:${o}`:"业务订单审核驳回意见:—")}if(Number(t.audit_status)===2){const o=String(t.audit_remark||"").trim();e.push(o?`消费者处方审核驳回意见:${o}`:"消费者处方审核驳回意见:—")}return e}function It(t){return Number(t.audit_status)===1&&Number(t.void_status)!==1}function Te(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 qa(t){return t?Te(t):"—"}function Ba(t){return t===1||t==="1"?"男":t===0||t==="0"?"女":"—"}function Ya(t){return t==null||t===""?"—":`${t}岁`}function Ga(t){var m;const e=n.herbs[t];if(!e)return`第${t+1}味`;const o=q(e.formula_type);let u=0;for(let d=0;d<=t;d++)q((m=n.herbs[d])==null?void 0:m.formula_type)===o&&u++;return`${o}第${u}味`}function Ka(t){if(Number(t==null?void 0:t.has_prescription_order)!==1)return[];const o=Me(t==null?void 0:t.herbs).map(r=>String((r==null?void 0:r.name)||"").trim()).filter(Boolean),u=[];if(!o.length)return u.push("请开方,当前处方药材为空白"),u;const m=new Set,d=new Set;for(const r of o){const V=r.replace(/\s+/g,"").toLowerCase();V&&(m.has(V)?d.add(r):m.add(V))}return d.size>0&&u.push(`已有关联业务订单,当前处方存在重复药材:${Array.from(d).join("、")}`),u}function Ja(t){return{...t,herbs:Me(t==null?void 0:t.herbs)}}function Qa(){g.value=null,de.value=null}function jt(t){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 u=(t.clientX-o.left)/o.width*le,m=(t.clientY-o.top)/o.height*se;return{x:Math.max(0,Math.min(le,u)),y:Math.max(0,Math.min(se,m))}}function at(){const t=K.value;t&&(n.doctor_signature=t.toDataURL("image/png")),ae(()=>{var e;(e=Z.value)==null||e.validateField("doctor_signature").catch(()=>{})})}function Xa(t){if(t.pointerType==="mouse"&&t.button!==0)return;const e=K.value,o=e==null?void 0:e.getContext("2d");if(!e||!o)return;e.setPointerCapture(t.pointerId),de.value=t.pointerId;const{x:u,y:m}=jt(t);o.beginPath(),o.moveTo(u,m)}function Za(t){var m;if(de.value!==t.pointerId)return;const e=(m=K.value)==null?void 0:m.getContext("2d");if(!e)return;const{x:o,y:u}=jt(t);e.lineTo(o,u),e.stroke(),e.beginPath(),e.moveTo(o,u)}function Mt(t){if(de.value!==t.pointerId)return;de.value=null;const e=K.value;if(e)try{e.releasePointerCapture(t.pointerId)}catch{}at()}function el(){Ht(),n.doctor_signature="",ae(()=>{var t;(t=Z.value)==null||t.validateField("doctor_signature").catch(()=>{})})}function Ht(){const t=K.value;if(!t)return;const e=Math.min(typeof window<"u"&&window.devicePixelRatio||1,2.5);t.style.width=`${le}px`,t.style.height=`${se}px`,t.width=Math.round(le*e),t.height=Math.round(se*e);const o=t.getContext("2d");o&&(o.setTransform(1,0,0,1,0,0),o.scale(e,e),o.fillStyle="#fff",o.fillRect(0,0,le,se),o.strokeStyle="#333",o.lineWidth=2.5,o.lineCap="round",o.lineJoin="round")}function Wt(){R.value!=="view"&&ae(()=>{setTimeout(()=>{Ht();const t=n.doctor_signature;if(t&&String(t).trim().startsWith("data:image")&&K.value){const e=new Image;e.onload=()=>{const o=K.value,u=o==null?void 0:o.getContext("2d");!o||!u||(u.drawImage(e,0,0,le,se),at())},e.onerror=()=>{at()},e.src=t}},100)})}function tl(t){const e=t==null?void 0:t.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 al(t){xt.value=t.id,ne.value="",pe.value=!0}async function qt(t){if(t==="reject"&&!ne.value.trim()){N.msgError("驳回时请填写审核意见");return}Ue.value=!0;try{const e=await ws({id:xt.value,action:t,remark:ne.value.trim()});N.msgSuccess(t==="reject"?"已驳回并作废处方":"审核通过"),e&&e.wecom_notify_ok===!1&&e.wecom_notify_hint&&N.msgWarning(e.wecom_notify_hint),pe.value=!1,ee()}catch{}finally{Ue.value=!1}}async function ll(){try{const t=await Ds({});yt.value=Array.isArray(t)?t:[]}catch{yt.value=[]}}const ye=k(!1),lt=k(!1),st=k([]),Ae=k(""),Oe=k(""),xe=k("replace"),ke=k(1),nt=k(15),ot=k(0),Bt=U(()=>{var o;const t=Number(n.creator_id);if(t>0)return t;const e=Number((o=ue.userInfo)==null?void 0:o.id);return e>0?e:0});function sl(t){return String(t||"").trim().toLowerCase()}function Yt(){const t=new Map;for(const e of n.herbs){const o=sl(e==null?void 0:e.name);o&&t.set(o,(t.get(o)??0)+1)}return[...t.entries()].filter(([,e])=>e>1).map(([e])=>e)}const Ee=async()=>{const t=Bt.value;if(!t){N.msgWarning("无法确定开方医师,无法加载处方库"),st.value=[],ot.value=0;return}lt.value=!0;try{const e=await Ns({page_no:ke.value,page_size:nt.value,prescription_name:Ae.value,formula_type:Oe.value,prescribing_creator_id:t});st.value=(e==null?void 0:e.lists)||[],ot.value=(e==null?void 0:e.count)||0}catch(e){console.error(e),N.msgError("加载处方库失败")}finally{lt.value=!1}},Le=()=>{ke.value=1,Ee()},nl=()=>{if(!Bt.value){N.msgWarning("无法确定开方医师,无法从处方库导入");return}ye.value=!0},ol=t=>{Gt(t)},Gt=t=>{if(!t.herbs||t.herbs.length===0){N.msgWarning("该处方没有药材信息");return}const e=q(t.formula_type),o=Number(t==null?void 0:t.disable_edit)===1,u=JSON.parse(JSON.stringify(t.herbs)).map(d=>{const r=je(d);return r.formula_type=e,o?r.locked=!0:delete r.locked,r});if(xe.value==="replace"){const d=n.herbs.filter(r=>q(r.formula_type)!==e);n.herbs=[...d,...u]}else n.herbs.push(...u);e==="辅方"&&(n.aux_usage.prescription_name=String(t.prescription_name??"").trim());const m=xe.value==="append"?"(已追加)":"";Yt().length?N.msgWarning(`已导入处方「${t.prescription_name}」${m},共${u.length}味药材。存在重复药名,请合并剂量或删除多余行`):N.msgSuccess(`已导入处方「${t.prescription_name}」${m},共${u.length}味药材`),ye.value=!1};Ie(ye,t=>{t&&(Ae.value="",Oe.value="",xe.value="replace",ke.value=1,Ee())});const Ve=k(!1),he=k(""),it=k("replace"),rt=k(!1),il=/^(用法|用量|医嘱|忌口|水煎服|空腹|饭后|温水|内服|外用|备注|顿服|分服|ml|毫升|[×xX]\s*\d)/;function rl(t){let e=t.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 ul(t){return t.replace(/^\s*Rp[::**\s]*/i,"").replace(/^\s*处方[::\s]*/,"").replace(/^\s*中药处方[::\s]*/,"").trimStart()}function ut(t){return t.replace(/([^)]*)$/u,"").replace(/\([^)]*\)$/u,"").trim()}function Kt(t){const e=t.trim();if(!e||il.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 d=parseFloat(o[2]);if(!Number.isFinite(d)||d<=0)return null;const r=o[1].split(/[、,,\s]+/).map(V=>V.trim()).filter(Boolean);return r.length?r.map(V=>({name:ut(V),dosage:d})):null}const u=e.match(/^(.+?)\s*(\d+(?:\.\d+)?)\s*(?:克|g|G|钱)?$/i);if(u){const d=ut(u[1].trim()),r=parseFloat(u[2]);return!d||!Number.isFinite(r)||r<=0?null:[{name:d,dosage:r}]}const m=ut(e);return m.length>=2&&m.length<=16?[{name:m,dosage:6}]:null}function dl(t){const e=ul(rl(t)),o=[];for(const u of e.split(/\n+/)){const m=u.trim();if(m)for(const d of m.split(/[、,,;;]/)){const r=d.trim();if(r)if(/\s/.test(r)&&!Kt(r)){const V=r.split(/\s+(?=[\u4e00-\u9fff]{2,})/);for(const L of V){const y=L.trim();y&&o.push(y)}}else o.push(r)}}return o}function pl(t){const e=[];for(const o of dl(t)){const u=Kt(o);u&&e.push(...u)}return e}async function ml(t){const e=t.trim();if(!e)return null;try{const m=((await Ps({name:e,page_no:1,page_size:200,status:1})).lists||[]).filter(d=>(d.name??"").trim()===e);return m.length===1?{medicine_id:Number(m[0].id),name:m[0].name.trim()}:null}catch{return null}}function _l(){Ve.value=!0}async function cl(){const t=pl(he.value);if(!t.length){N.msgWarning("未能从文本中解析出药材,请检查格式(药名 + 剂量,或用顿号/换行分隔)");return}rt.value=!0;try{const e=[],o=[];for(const r of t){const V=await ml(r.name);if(!V){o.push(r.name.trim());continue}e.push({...V,dosage:r.dosage,formula_type:"主方"})}const u=[...new Set(o.filter(Boolean))];if(e.length===0){N.msgWarning(u.length?`药品库中无以下完全同名药材,未录入:${u.join("、")}`:"未能匹配到药品库中的药材");return}if(it.value==="replace"){const r=n.herbs.filter(V=>q(V.formula_type)==="辅方");n.herbs=[...r,...e]}else n.herbs.push(...e);const m=Yt(),d=u.length>0?`;药品库未收录已跳过:${u.join("、")}`:"";m.length?N.msgWarning(`已导入 ${e.length} 味药材${d}。存在重复药名:${m.join("、")},请合并剂量或删除多余行`):u.length?N.msgSuccess(`已导入 ${e.length} 味药材${d},请核对剂量`):N.msgSuccess(`已导入 ${e.length} 味药材,请核对药名与剂量`),Ve.value=!1,he.value=""}finally{rt.value=!1}}const Jt=(t="主方")=>{if(M.value){N.msgWarning("该处方含「禁用修改」模板,药材已锁定,请重新从处方库导入覆盖");return}n.herbs.push({name:"",dosage:0,formula_type:t})},Qt=t=>{if(M.value){N.msgWarning("该处方含「禁用修改」模板,药材已锁定,不可删除");return}n.herbs.splice(t,1)},fl=()=>{var t;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((t=ue.userInfo)==null?void 0:t.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("浓缩水丸")),Da()},gl=()=>{var t;fl(),n.doctor_name=String(((t=ue.userInfo)==null?void 0:t.name)||""),$e.value=!1,Pe.value=!1,R.value="add",Re.value=!1,Q.value=!0,ae(()=>{var e;(e=Z.value)==null||e.clearValidate(),Wt()})},bl=async t=>{$e.value=!1,Pe.value=!1,R.value="view",g.value=Ja(t),Q.value=!0,qe.value=!0;try{const e=await ft({id:t.id});e&&typeof e=="object"&&(g.value={...e,herbs:Me(e.herbs)})}catch(e){N.msgError((e==null?void 0:e.msg)||"加载处方详情失败")}finally{qe.value=!1}},vl=async t=>{$e.value=Number(t.void_status)===1,Pe.value=Number(t.audit_status)===2,R.value="edit",Re.value=!0;let e=t;if(t!=null&&t.id&&!t.doctor_signature)try{const o=await ft({id:t.id});o&&typeof o=="object"&&(e={...t,...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=>je(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=tl(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,gt(e.aux_usage,n.prescription_type)),setTimeout(()=>{Re.value=!1},0),Q.value=!0,Ra(Number(n.id)),ae(()=>{var o;(o=Z.value)==null||o.clearValidate(),Wt()})},yl=async()=>{if(Z.value){try{await Z.value.validate()}catch{return}if(!n.herbs||n.herbs.length===0){N.msgError("请至少添加一味药材");return}for(let t=0;t{await N.confirm("确定要删除该处方吗?"),await Us({id:t}),N.msgSuccess("删除成功"),ee()};return $l(async()=>{var t;await ll(),await ua(),await da();try{const e=await ys();He.value=Array.isArray(e)?e:[]}catch{He.value=[]}try{(t=ue.userInfo)!=null&&t.id||await ue.getUserInfo()}catch{}ee()}),(t,e)=>{const o=Rl,u=Dl,m=Ol,d=Al,r=Ll,V=El,L=Tl,y=zl,J=Fl,dt=gs,C=Ml,A=Hl,F=jl,ze=cs,re=Yl,h=Kl,H=Gl,I=Jl,z=Ql,kl=Xl,Vl=es,we=ts,pt=ls,hl=as,wl=ss,Nl=ns,Sl=os,Cl=us,W=Pl("perms"),Fe=Il;return p(),b("div",As,[a(J,{class:"filter-toolbar",shadow:"never","body-style":{padding:"10px 14px"}},{default:s(()=>[i("div",Os,[i("div",Es,[e[102]||(e[102]=i("span",{class:"pl-toolbar__k",title:"按处方创建时间"},"创建时间",-1)),a(u,{modelValue:G.value,"onUpdate:modelValue":e[0]||(e[0]=l=>G.value=l),size:"small",class:"pl-toolbar__rg",onChange:Ea},{default:s(()=>[a(o,{label:"all"},{default:s(()=>[...e[90]||(e[90]=[c("全部",-1)])]),_:1}),a(o,{label:"today"},{default:s(()=>[...e[91]||(e[91]=[c("今日",-1)])]),_:1}),a(o,{label:"yesterday"},{default:s(()=>[...e[92]||(e[92]=[c("昨日",-1)])]),_:1}),a(o,{label:"before_yesterday"},{default:s(()=>[...e[93]||(e[93]=[c("前天",-1)])]),_:1})]),_:1},8,["modelValue"]),a(Ts,{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]=i("span",{class:"pl-toolbar__sep","aria-hidden":"true"},null,-1)),e[104]||(e[104]=i("span",{class:"pl-toolbar__k",title:"「未通过」含待审核与已驳回"},"审核",-1)),a(u,{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:La},{default:s(()=>[a(o,{label:"pending",class:"pl-audit-pending-btn"},{default:s(()=>[...e[94]||(e[94]=[c("待审核",-1)])]),_:1}),a(o,{label:"all"},{default:s(()=>[...e[95]||(e[95]=[c("全部",-1)])]),_:1}),a(o,{label:"passed"},{default:s(()=>[...e[96]||(e[96]=[c("已通过",-1)])]),_:1}),a(o,{label:"not_passed"},{default:s(()=>[...e[97]||(e[97]=[c("未通过",-1)])]),_:1}),a(o,{label:"rejected"},{default:s(()=>[...e[98]||(e[98]=[c("驳回",-1)])]),_:1})]),_:1},8,["modelValue"]),e[105]||(e[105]=i("span",{class:"pl-toolbar__sep","aria-hidden":"true"},null,-1)),e[106]||(e[106]=i("span",{class:"pl-toolbar__k",title:"与列表「来源」列一致:空白处方 / 手工"},"来源",-1)),a(u,{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:za},{default:s(()=>[a(o,{label:"all"},{default:s(()=>[...e[99]||(e[99]=[c("全部",-1)])]),_:1}),a(o,{label:"manual"},{default:s(()=>[...e[100]||(e[100]=[c("手工",-1)])]),_:1}),a(o,{label:"system"},{default:s(()=>[...e[101]||(e[101]=[c("空白处方",-1)])]),_:1})]),_:1},8,["modelValue"])]),i("div",Ls,[a(L,{model:S,inline:"",class:"pl-toolbar__form"},{default:s(()=>[a(d,{label:"处方编号",class:"!mb-0"},{default:s(()=>[a(m,{modelValue:S.sn,"onUpdate:modelValue":e[5]||(e[5]=l=>S.sn=l),placeholder:"编号",clearable:"",class:"pl-toolbar__input",onKeyup:_t(j(te),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(d,{label:"患者",class:"!mb-0"},{default:s(()=>[a(m,{modelValue:S.patient_name,"onUpdate:modelValue":e[6]||(e[6]=l=>S.patient_name=l),placeholder:"姓名",clearable:"",class:"pl-toolbar__input",onKeyup:_t(j(te),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(d,{label:"医师",class:"!mb-0"},{default:s(()=>[a(V,{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(()=>[(p(!0),b(E,null,Y(He.value,l=>(p(),x(r,{key:l.id,label:l.name,value:Number(l.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"]),i("div",zs,[a(y,{type:"primary",onClick:j(te)},{default:s(()=>[...e[107]||(e[107]=[c("查询",-1)])]),_:1},8,["onClick"]),a(y,{onClick:Ia},{default:s(()=>[...e[108]||(e[108]=[c("重置",-1)])]),_:1})])])])]),_:1}),O((p(),x(J,{class:"mt-3 table-card",shadow:"never"},{default:s(()=>[i("div",Fs,[e[111]||(e[111]=i("span",{class:"pl-table-head__title"},"处方列表",-1)),i("div",Is,[O((p(),x(y,{onClick:ta},{default:s(()=>[...e[109]||(e[109]=[c(" 业务订单 ",-1)])]),_:1})),[[W,["tcm.prescriptionOrder/lists"]]]),O((p(),x(y,{type:"primary",onClick:gl},{icon:s(()=>[a(dt,{name:"el-icon-Plus"})]),default:s(()=>[e[110]||(e[110]=c(" 新增处方 ",-1))]),_:1})),[[W,["cf.prescription/add"]]])])]),i("div",js,[a(F,{data:j(ve).lists,size:"default",stripe:""},{default:s(()=>[a(C,{label:"处方编号","min-width":"160"},{default:s(({row:l})=>[i("span",Ms,f(l.sn||"—"),1),i("div",Hs,"ID: "+f(l.id),1),(p(!0),b(E,null,Y(Ka(l),(w,mt)=>(p(),b("div",{key:`rx-order-warn-${l.id}-${mt}`,class:"text-xs text-red-600 mt-0.5 leading-snug"},f(w),1))),128))]),_:1}),a(C,{label:"处方类型","min-width":"100"},{default:s(({row:l})=>[a(A,{type:"info",size:"small"},{default:s(()=>[c(f(l.prescription_type||"—"),1)]),_:2},1024)]),_:1}),a(C,{label:"来源","min-width":"92",align:"center"},{default:s(({row:l})=>[Number(l.is_system_auto)===1?(p(),x(A,{key:0,type:"warning",size:"small",effect:"plain"},{default:s(()=>[...e[112]||(e[112]=[c(" 空白处方 ",-1)])]),_:1})):(p(),b("span",Ws,"手工"))]),_:1}),a(C,{label:"患者信息","min-width":"110"},{default:s(({row:l})=>[i("div",qs,f(l.patient_name||"—"),1),i("div",Bs,f(l.gender===1?"男":l.gender===0?"女":"未知")+" · "+f(l.age?l.age+"岁":"—"),1)]),_:1}),a(C,{label:"审核状态","min-width":"200"},{default:s(({row:l})=>[i("div",Ys,[i("div",Gs,[a(A,{type:Wa(l)},{default:s(()=>[c(f(Ha(l)),1)]),_:2},1032,["type"]),Number(l.business_prescription_audit_rejected)===1?(p(),b("span",Ks," (业务订单审核) ")):v("",!0)]),Ft(l).length?(p(!0),b(E,{key:0},Y(Ft(l),(w,mt)=>(p(),b("div",{key:mt,class:"text-xs text-red-600 leading-snug line-clamp-3",title:w},f(w),9,Js))),128)):v("",!0)])]),_:1}),a(C,{label:"作废","min-width":"80",align:"center"},{default:s(({row:l})=>[l.void_status===1?(p(),x(A,{key:0,type:"danger",size:"small"},{default:s(()=>[...e[113]||(e[113]=[c("作废",-1)])]),_:1})):(p(),b("span",Qs,"—"))]),_:1}),a(C,{label:"医师信息","min-width":"120"},{default:s(({row:l})=>[i("div",Xs,f(l.doctor_name||"—"),1),i("div",Zs,f(l.prescription_date||"—"),1)]),_:1}),a(C,{label:"医助","min-width":"90"},{default:s(({row:l})=>[i("div",en,f(l.assistant_name||"—"),1)]),_:1}),a(C,{label:"创建时间","min-width":"160"},{default:s(({row:l})=>[c(f(Fa(l.create_time)),1)]),_:1}),a(C,{label:"操作",width:"300",fixed:"right"},{default:s(({row:l})=>[O((p(),x(y,{type:"primary",link:"",onClick:w=>bl(l)},{default:s(()=>[...e[114]||(e[114]=[c(" 查看 ",-1)])]),_:1},8,["onClick"])),[[W,["cf.prescription/read"]]]),Number(l.void_status)!==1?O((p(),x(y,{key:0,type:"primary",link:"",onClick:w=>la(l)},{default:s(()=>[...e[115]||(e[115]=[c(" 改姓名手机 ",-1)])]),_:1},8,["onClick"])),[[W,["tcm.prescription/patchPatient"]]]):v("",!0),!Number(l.has_prescription_order)&&Number(l.void_status)!==1?O((p(),x(y,{key:1,type:"success",link:"",onClick:w=>fa(l)},{default:s(()=>[...e[116]||(e[116]=[c(" 创建订单 ",-1)])]),_:1},8,["onClick"])),[[W,["tcm.prescriptionOrder/create"]]]):v("",!0),It(l)?v("",!0):O((p(),x(y,{key:2,type:"primary",link:"",onClick:w=>vl(l)},{default:s(()=>[...e[117]||(e[117]=[c(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[W,["cf.prescription/edit"]]]),l.audit_status===0&&l.void_status!==1?O((p(),x(y,{key:3,type:"warning",link:"",onClick:w=>al(l)},{default:s(()=>[...e[118]||(e[118]=[c(" 审核 ",-1)])]),_:1},8,["onClick"])),[[W,["cf.prescription/audit"]]]):v("",!0),It(l)?v("",!0):O((p(),x(y,{key:4,type:"danger",link:"",onClick:w=>xl(l.id)},{default:s(()=>[...e[119]||(e[119]=[c(" 删除 ",-1)])]),_:1},8,["onClick"])),[[W,["cf.prescription/del"]]])]),_:1})]),_:1},8,["data"])]),i("div",tn,[a(ze,{modelValue:j(ve),"onUpdate:modelValue":e[8]||(e[8]=l=>Wl(ve)?ve.value=l:null),onChange:j(ee)},null,8,["modelValue","onChange"])])]),_:1})),[[Fe,j(ve).loading]]),a(Vl,{modelValue:Q.value,"onUpdate:modelValue":e[48]||(e[48]=l=>Q.value=l),title:R.value==="add"?"新增处方":R.value==="edit"?"编辑处方":"查看处方",size:R.value==="view"?"920px":"860px",class:"cf-prescription-drawer","close-on-click-modal":!1,"destroy-on-close":"",onClosed:Qa},{footer:s(()=>[R.value==="view"?(p(),x(y,{key:0,onClick:e[46]||(e[46]=l=>Q.value=!1)},{default:s(()=>[...e[177]||(e[177]=[c("关闭",-1)])]),_:1})):(p(),b(E,{key:1},[a(y,{onClick:e[47]||(e[47]=l=>Q.value=!1)},{default:s(()=>[...e[178]||(e[178]=[c("取消",-1)])]),_:1}),a(y,{type:"primary",onClick:yl,loading:We.value},{default:s(()=>[...e[179]||(e[179]=[c(" 确定 ",-1)])]),_:1},8,["loading"])],64))]),default:s(()=>[R.value==="view"?O((p(),b("div",an,[i("div",ln,[g.value&&Number(g.value.is_system_auto)===1?(p(),x(A,{key:0,type:"warning",size:"small",effect:"plain"},{default:s(()=>[...e[120]||(e[120]=[c("空白处方",-1)])]),_:1})):v("",!0),g.value&&Number(g.value.void_status)===1?(p(),x(A,{key:1,type:"danger",size:"small"},{default:s(()=>[...e[121]||(e[121]=[c("已作废",-1)])]),_:1})):g.value&&Number(g.value.business_prescription_audit_rejected)===1?(p(),x(A,{key:2,type:"danger",size:"small"},{default:s(()=>[...e[122]||(e[122]=[c("业务订单已驳回",-1)])]),_:1})):g.value&&Number(g.value.audit_status)===1?(p(),x(A,{key:3,type:"success",size:"small"},{default:s(()=>[...e[123]||(e[123]=[c("已通过",-1)])]),_:1})):g.value&&Number(g.value.audit_status)===0?(p(),x(A,{key:4,type:"warning",size:"small"},{default:s(()=>[...e[124]||(e[124]=[c("待审核",-1)])]),_:1})):g.value?(p(),x(A,{key:5,type:"danger",size:"small"},{default:s(()=>[...e[125]||(e[125]=[c("已驳回",-1)])]),_:1})):v("",!0),e[128]||(e[128]=i("div",{class:"flex-1"},null,-1)),a(y,{icon:j(ql),size:"small",onClick:$a},{default:s(()=>[...e[126]||(e[126]=[c("打印",-1)])]),_:1},8,["icon"]),a(y,{type:"primary",icon:j(Bl),size:"small",loading:et.value,onClick:Pa},{default:s(()=>[...e[127]||(e[127]=[c(" 下载 PDF (A4) ",-1)])]),_:1},8,["icon","loading"])]),g.value&&Number(g.value.void_status)===1?(p(),b("div",sn," 作废人:"+f(g.value.void_by_name||"—")+",作废时间:"+f(qa(g.value.void_time)),1)):g.value&&Number(g.value.business_prescription_audit_rejected)===1?(p(),b("div",nn,[e[129]||(e[129]=i("div",{class:"font-medium"},"审核状态:已驳回(业务订单·处方审核)",-1)),g.value.business_prescription_audit_remark?(p(),b("div",on," 驳回意见:"+f(g.value.business_prescription_audit_remark),1)):v("",!0)])):g.value&&Number(g.value.audit_status)===2?(p(),b("div",rn,[e[130]||(e[130]=i("div",{class:"font-medium"},"消费者处方审核:已驳回",-1)),g.value.audit_remark?(p(),b("div",un,"驳回意见:"+f(g.value.audit_remark),1)):v("",!0)])):v("",!0),g.value?(p(),b("div",{key:3,ref_key:"rxPaperRef",ref:Ut,class:"rx-paper"},[i("div",dn,[e[131]||(e[131]=i("span",{class:"rx-notice-text"}," 服药前请核对姓名、电话、医生等信息以及服法、医嘱等要点 ",-1)),i("span",pn,[i("span",null,"日期:"+f(Va.value),1),i("span",null,"编号:"+f(ha.value),1)])]),i("div",mn,[i("div",_n,[i("div",cn,[e[132]||(e[132]=i("span",{class:"rx-key"},"姓名",-1)),i("span",fn,f(g.value.patient_name||"—"),1)]),i("div",gn,[e[133]||(e[133]=i("span",{class:"rx-key"},"性别",-1)),i("span",bn,f(Ba(g.value.gender)),1)]),i("div",vn,[e[134]||(e[134]=i("span",{class:"rx-key"},"年龄",-1)),i("span",yn,f(Ya(g.value.age)),1)]),i("div",xn,[e[135]||(e[135]=i("span",{class:"rx-key"},"电话",-1)),i("span",kn,f(g.value.phone||"—"),1)])]),i("div",Vn,[i("div",hn,[e[136]||(e[136]=i("span",{class:"rx-key"},"收件信息",-1)),i("span",wn,f(wa.value),1)])]),i("div",Nn,[i("div",Sn,[e[137]||(e[137]=i("span",{class:"rx-key"},"临床诊断",-1)),i("span",Cn,f(g.value.clinical_diagnosis||"—"),1)])])]),i("div",Un,[e[140]||(e[140]=i("div",{class:"rx-watermark"},"药房联",-1)),e[141]||(e[141]=i("div",{class:"rx-rp-head"},[i("div",{class:"rx-rp-label"},"Rp."),i("div",{class:"rx-rp-cols-head"},[i("div",{class:"rx-rp-col-head"},[i("span",null,"用药 (单剂)"),i("span",null,"总量")]),i("div",{class:"rx-rp-col-head"},[i("span",null,"用药 (单剂)"),i("span",null,"总量")])])],-1)),i("div",$n,[Nt.value.length?(p(),b(E,{key:0},[e[138]||(e[138]=i("div",{class:"rx-herb-section-label"},"主方",-1)),(p(!0),b(E,null,Y(Nt.value,(l,w)=>(p(),b("div",{key:"main-"+w,class:"rx-herb-cell"},[i("span",Pn,f(l.name)+" ("+f(l.dosage)+"克)",1),i("span",Dn,f(Pt(l.dosage))+"克",1)]))),128))],64)):v("",!0),Ze.value.length?(p(),b(E,{key:1},[e[139]||(e[139]=i("div",{class:"rx-herb-section-label rx-herb-section-label--aux"},"辅方",-1)),(p(!0),b(E,null,Y(Ze.value,(l,w)=>(p(),b("div",{key:"aux-"+w,class:"rx-herb-cell"},[i("span",Rn,f(l.name)+" ("+f(l.dosage)+"克)",1),i("span",Tn,f(Pt(l.dosage))+"克",1)]))),128))],64)):v("",!0)])]),i("div",An,[i("p",null,"主方服法:"+f(Ca.value),1),Dt.value?(p(),b("p",On,"辅方服法:"+f(Dt.value),1)):v("",!0),Rt.value?(p(),b("p",En,"医嘱:"+f(Rt.value),1)):v("",!0),Ct.value?(p(),b("p",Ln,"忌口:"+f(Ct.value),1)):v("",!0),Tt.value?(p(),b("p",zn,"备注:"+f(Tt.value),1)):v("",!0),At.value?(p(),b("p",Fn," 药房备注:"+f(At.value),1)):v("",!0),Ot.value?(p(),b("p",In," 出丸:"+f(Ot.value),1)):v("",!0)]),i("div",jn,[i("div",Mn,[i("div",Hn,[e[142]||(e[142]=i("div",{class:"rx-bot-label"},"医师",-1)),i("div",Wn,[g.value.doctor_signature?(p(),b("img",{key:0,src:g.value.doctor_signature,alt:"医师签名",class:"rx-bot-sign-img"},null,8,qn)):v("",!0),g.value.doctor_signature?v("",!0):(p(),b("div",Bn,f(g.value.doctor_name||"—"),1))])]),i("div",Yn,[e[143]||(e[143]=i("span",{class:"rx-bot-meta-key"},"类型:",-1)),i("span",Gn,f(Sa.value),1)]),i("div",Kn,[e[144]||(e[144]=i("span",{class:"rx-bot-meta-key"},"天数:",-1)),i("span",Jn,f(g.value.dose_count||"—")+"剂",1)]),i("div",Qn,[e[145]||(e[145]=i("span",{class:"rx-bot-meta-key"},"单剂量:",-1)),i("span",Xn,f(Na.value)+"克",1)])])])],512)):v("",!0),g.value&&(g.value.audit_by_name||g.value.audit_remark)?(p(),b("div",Zn,[g.value.audit_by_name?(p(),b("div",eo,[c(" 审核人:"+f(g.value.audit_by_name)+" ",1),g.value.audit_time?(p(),b("span",to,f(Te(g.value.audit_time)),1)):v("",!0)])):v("",!0),g.value.audit_remark?(p(),b("div",ao,"审核意见:"+f(g.value.audit_remark),1)):v("",!0)])):v("",!0)])),[[Fe,qe.value]]):(p(),x(L,{key:1,ref_key:"formRef",ref:Z,model:n,rules:Aa,"label-width":"120px"},{default:s(()=>[R.value==="edit"&&Number(n.is_system_auto)===1?(p(),x(re,{key:0,type:"warning",closable:!1,"show-icon":"",class:"mb-4",title:"本处方为系统自动生成(如挂号完成),默认无药材配方,请补充药材与诊断等信息后再保存。"})):v("",!0),R.value==="edit"?(p(),x(re,{key:1,type:"info",closable:!1,"show-icon":"",class:"mb-4",title:"保存修改后,该处方将重新进入「待审核」,需审核人员再次通过后方可生效。"})):v("",!0),R.value==="edit"&&Number(n.audit_status)===2?(p(),x(re,{key:2,type:"error",closable:!1,"show-icon":"",class:"mb-4"},{title:s(()=>[...e[146]||(e[146]=[c("当前消费者处方为「已驳回」",-1)])]),default:s(()=>[i("div",lo," 保存修改后将清除驳回并变为「待审核」。"+f(n.audit_remark?`上次意见:${n.audit_remark}`:""),1)]),_:1})):v("",!0),R.value==="edit"&&Number(n.business_prescription_audit_rejected)===1&&Number(n.audit_status)===1?(p(),x(re,{key:3,type:"warning",closable:!1,"show-icon":"",class:"mb-4"},{title:s(()=>[...e[147]||(e[147]=[c("业务订单侧「处方审核」已驳回",-1)])]),default:s(()=>[e[148]||(e[148]=i("div",{class:"text-sm mt-1"}," 消费者处方仍为「已通过」;您修改并保存后,将重置关联业务订单的处方/支付单审核为「待审」,请在「处方业务订单」中继续处理。 ",-1)),String(n.business_prescription_audit_remark||"").trim()?(p(),b("div",so," 驳回意见:"+f(n.business_prescription_audit_remark),1)):v("",!0)]),_:1})):v("",!0),R.value==="edit"&&wt.value?(p(),x(re,{key:4,type:"warning",closable:!1,"show-icon":"",class:"mb-4",title:wt.value},null,8,["title"])):v("",!0),Number(n.diagnosis_id)>0?(p(),b("div",no,[a(y,{type:"primary",size:"small",onClick:Ta},{default:s(()=>[...e[149]||(e[149]=[c(" 查看患者诊单详情 ",-1)])]),_:1}),i("span",oo,"关联诊单 #"+f(n.diagnosis_id),1)])):v("",!0),a(H,{gutter:20},{default:s(()=>[a(h,{span:12},{default:s(()=>[a(d,{label:"患者姓名",prop:"patient_name"},{default:s(()=>[a(m,{modelValue:n.patient_name,"onUpdate:modelValue":e[9]||(e[9]=l=>n.patient_name=l),placeholder:"请输入患者姓名",disabled:R.value==="edit"},null,8,["modelValue","disabled"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"门诊号",prop:"visit_no"},{default:s(()=>[a(m,{modelValue:n.visit_no,"onUpdate:modelValue":e[10]||(e[10]=l=>n.visit_no=l),placeholder:"自动生成或手动输入",disabled:R.value==="edit"},null,8,["modelValue","disabled"])]),_:1})]),_:1})]),_:1}),a(H,{gutter:20},{default:s(()=>[a(h,{span:8},{default:s(()=>[a(d,{label:"性别",prop:"gender"},{default:s(()=>[a(u,{modelValue:n.gender,"onUpdate:modelValue":e[11]||(e[11]=l=>n.gender=l)},{default:s(()=>[a(I,{label:1},{default:s(()=>[...e[150]||(e[150]=[c("男",-1)])]),_:1}),a(I,{label:0},{default:s(()=>[...e[151]||(e[151]=[c("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(h,{span:8},{default:s(()=>[a(d,{label:"年龄",prop:"age"},{default:s(()=>[a(z,{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}),a(h,{span:8},{default:s(()=>[a(d,{label:"处方日期",prop:"prescription_date"},{default:s(()=>[a(kl,{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}),a(H,{gutter:20},{default:s(()=>[a(h,{span:12},{default:s(()=>[a(d,{label:"面象",prop:"tongue"},{default:s(()=>[a(m,{modelValue:n.tongue,"onUpdate:modelValue":e[14]||(e[14]=l=>n.tongue=l),placeholder:"请输入面象"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"舌象",prop:"tongue_image"},{default:s(()=>[a(m,{modelValue:n.tongue_image,"onUpdate:modelValue":e[15]||(e[15]=l=>n.tongue_image=l),placeholder:"请输入舌象"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),a(H,{gutter:20},{default:s(()=>[a(h,{span:12},{default:s(()=>[a(d,{label:"脉象",prop:"pulse"},{default:s(()=>[a(m,{modelValue:n.pulse,"onUpdate:modelValue":e[16]||(e[16]=l=>n.pulse=l),placeholder:"请输入脉象"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"脉象详情",prop:"pulse_condition"},{default:s(()=>[a(m,{modelValue:n.pulse_condition,"onUpdate:modelValue":e[17]||(e[17]=l=>n.pulse_condition=l),placeholder:"请输入脉象详情"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),a(d,{label:"临床诊断",prop:"clinical_diagnosis"},{default:s(()=>[a(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}),a(d,{label:"药材配方",prop:"herbs",required:""},{default:s(()=>[i("div",io,[i("div",ro,[O((p(),x(y,{type:"success",size:"small",onClick:nl},{default:s(()=>[...e[152]||(e[152]=[c(" 从处方库导入 ",-1)])]),_:1})),[[W,["cf.prescription/add","cf.prescription/edit","tcm.prescriptionLibrary/lists"]]]),a(y,{type:"warning",size:"small",plain:"",icon:j(Zl),onClick:_l},{default:s(()=>[...e[153]||(e[153]=[c(" 导入药方 ",-1)])]),_:1},8,["icon"]),e[154]||(e[154]=i("span",{class:"text-xs text-gray-500"}," 粘贴文本解析药名与剂量;须与药品库名称完全一致才录入(导入至主方) ",-1))]),M.value?(p(),b("div",uo,[a(A,{type:"danger",size:"small",effect:"plain"},{default:s(()=>[...e[155]||(e[155]=[c("禁用修改",-1)])]),_:1}),e[156]||(e[156]=c(" 含「禁用修改」处方库模板,药材已锁定,不可增删改,如需调整请重新「从处方库导入」覆盖 ",-1))])):v("",!0),i("div",po,[i("div",mo,[a(A,{type:"primary",size:"small"},{default:s(()=>[...e[157]||(e[157]=[c("主方",-1)])]),_:1}),a(y,{type:"primary",size:"small",disabled:M.value,onClick:e[19]||(e[19]=l=>Jt("主方"))},{default:s(()=>[...e[158]||(e[158]=[c("添加主方药材",-1)])]),_:1},8,["disabled"])]),a(F,{data:ka.value,class:"mt-2",border:"","empty-text":"暂无主方药材"},{default:s(()=>[a(C,{label:"序号",type:"index",width:"60"}),a(C,{label:"药材名称","min-width":"220"},{default:s(({row:l})=>[a(Xt,{modelValue:n.herbs[l.index].name,"onUpdate:modelValue":w=>n.herbs[l.index].name=w,"medicine-id":n.herbs[l.index].medicine_id,"onUpdate:medicineId":w=>n.herbs[l.index].medicine_id=w,disabled:M.value,class:"w-full"},null,8,["modelValue","onUpdate:modelValue","medicine-id","onUpdate:medicineId","disabled"])]),_:1}),a(C,{label:"剂量(克)","min-width":"120"},{default:s(({row:l})=>[a(z,{modelValue:n.herbs[l.index].dosage,"onUpdate:modelValue":w=>n.herbs[l.index].dosage=w,min:0,precision:1,step:.5,disabled:M.value,placeholder:"剂量",class:"w-full"},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:1}),a(C,{label:"操作",width:"80"},{default:s(({row:l})=>[M.value?(p(),b("span",_o,"已锁定")):(p(),x(y,{key:0,type:"danger",link:"",onClick:w=>Qt(l.index)},{default:s(()=>[...e[159]||(e[159]=[c("删除",-1)])]),_:1},8,["onClick"]))]),_:1})]),_:1},8,["data"])]),i("div",co,[i("div",fo,[a(A,{type:"warning",size:"small"},{default:s(()=>[...e[160]||(e[160]=[c("辅方",-1)])]),_:1}),a(y,{type:"primary",size:"small",plain:"",disabled:M.value,onClick:e[20]||(e[20]=l=>Jt("辅方"))},{default:s(()=>[...e[161]||(e[161]=[c(" 添加辅方药材 ",-1)])]),_:1},8,["disabled"])]),a(F,{data:St.value,class:"mt-2",border:"","empty-text":"暂无辅方药材"},{default:s(()=>[a(C,{label:"序号",type:"index",width:"60"}),a(C,{label:"药材名称","min-width":"220"},{default:s(({row:l})=>[a(Xt,{modelValue:n.herbs[l.index].name,"onUpdate:modelValue":w=>n.herbs[l.index].name=w,"medicine-id":n.herbs[l.index].medicine_id,"onUpdate:medicineId":w=>n.herbs[l.index].medicine_id=w,disabled:M.value,class:"w-full"},null,8,["modelValue","onUpdate:modelValue","medicine-id","onUpdate:medicineId","disabled"])]),_:1}),a(C,{label:"剂量(克)","min-width":"120"},{default:s(({row:l})=>[a(z,{modelValue:n.herbs[l.index].dosage,"onUpdate:modelValue":w=>n.herbs[l.index].dosage=w,min:0,precision:1,step:.5,disabled:M.value,placeholder:"剂量",class:"w-full"},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:1}),a(C,{label:"操作",width:"80"},{default:s(({row:l})=>[M.value?(p(),b("span",go,"已锁定")):(p(),x(y,{key:0,type:"danger",link:"",onClick:w=>Qt(l.index)},{default:s(()=>[...e[162]||(e[162]=[c("删除",-1)])]),_:1},8,["onClick"]))]),_:1})]),_:1},8,["data"])]),R.value==="edit"?O((p(),x(re,{key:1,type:"warning",closable:!1,"show-icon":"",class:"mt-3"},{title:s(()=>[...e[163]||(e[163]=[c("业务订单要求(请与本处方保持一致)",-1)])]),default:s(()=>[i("div",bo,[$.orderNo||$.medicationDays!=null||$.remarkAssistant?(p(),b(E,{key:0},[$.orderNo?(p(),b("p",vo,[e[164]||(e[164]=c(" 最近关联订单(按创建倒序): ",-1)),i("span",yo,f($.orderNo),1)])):v("",!0),i("p",xo,[e[165]||(e[165]=i("span",{class:"font-semibold"},"服用天数(订单)",-1)),c(": "+f($.medicationDays!=null?`${$.medicationDays} 天`:"— 订单未填写"),1)]),i("p",null,[e[166]||(e[166]=i("span",{class:"font-semibold"},"医助备注(订单)",-1)),e[167]||(e[167]=c(": ",-1)),i("span",ko,f($.remarkAssistant||"— 无"),1)])],64)):$.loading?v("",!0):(p(),b("p",Vo,[...e[168]||(e[168]=[c(" 当前处方暂无关联业务订单,或您无订单列表权限;若有订单,将在此处显示订单内 ",-1),i("span",{class:"font-semibold"},"服用天数",-1),c("与 ",-1),i("span",{class:"font-semibold"},"医助备注",-1),c("。 ",-1)])]))])]),_:1})),[[Fe,$.loading]]):v("",!0)])]),_:1}),a(H,{gutter:20},{default:s(()=>[a(h,{span:8},{default:s(()=>[a(d,{label:"剂数",prop:"dose_count"},{default:s(()=>[a(z,{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}),a(h,{span:8},{default:s(()=>[a(d,{label:"剂量单位",prop:"dose_unit"},{default:s(()=>[a(V,{modelValue:n.dose_unit,"onUpdate:modelValue":e[22]||(e[22]=l=>n.dose_unit=l),placeholder:"请选择",class:"w-full"},{default:s(()=>[a(r,{label:"剂",value:"剂"}),a(r,{label:"丸",value:"丸"}),a(r,{label:"袋",value:"袋"}),a(r,{label:"盒",value:"盒"}),a(r,{label:"瓶",value:"瓶"}),a(r,{label:"膏",value:"膏"}),a(r,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(h,{span:8},{default:s(()=>[a(d,{label:"处方类型",prop:"prescription_type"},{default:s(()=>[a(V,{modelValue:n.prescription_type,"onUpdate:modelValue":e[23]||(e[23]=l=>n.prescription_type=l),placeholder:"请选择处方类型",class:"w-full"},{default:s(()=>[a(r,{label:"浓缩水丸",value:"浓缩水丸"}),a(r,{label:"饮片",value:"饮片"}),a(r,{label:"颗粒",value:"颗粒"}),a(r,{label:"丸剂",value:"丸剂"}),a(r,{label:"散剂",value:"散剂"}),a(r,{label:"膏方",value:"膏方"}),a(r,{label:"汤剂",value:"汤剂"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),e[176]||(e[176]=i("div",{class:"usage-formula-title usage-formula-title--main"},"主方用法",-1)),a(H,{gutter:20},{default:s(()=>[a(h,{span:8},{default:s(()=>[a(d,{label:"用量",prop:"dosage_amount"},{default:s(()=>[n.prescription_type==="浓缩水丸"?(p(),x(V,{key:0,modelValue:n.dosage_amount,"onUpdate:modelValue":e[24]||(e[24]=l=>n.dosage_amount=l),placeholder:"请选择用量",class:"w-full"},{default:s(()=>[a(r,{label:"1g",value:1}),a(r,{label:"2g",value:2}),a(r,{label:"3g",value:3}),a(r,{label:"4g",value:4}),a(r,{label:"5g",value:5}),a(r,{label:"6g",value:6}),a(r,{label:"7g",value:7}),a(r,{label:"8g",value:8}),a(r,{label:"9g",value:9}),a(r,{label:"10g",value:10})]),_:1},8,["modelValue"])):n.prescription_type==="饮片"?(p(),x(V,{key:1,modelValue:n.dosage_amount,"onUpdate:modelValue":e[25]||(e[25]=l=>n.dosage_amount=l),placeholder:"请选择用量",class:"w-full"},{default:s(()=>[a(r,{label:"50ml",value:50}),a(r,{label:"100ml",value:100}),a(r,{label:"120ml",value:120}),a(r,{label:"150ml",value:150}),a(r,{label:"180ml",value:180}),a(r,{label:"200ml",value:200}),a(r,{label:"250ml",value:250})]),_:1},8,["modelValue"])):(p(),x(z,{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==="浓缩水丸"?(p(),x(h,{key:0,span:8},{default:s(()=>[a(d,{label:" ",prop:"dosage_bag_count","label-width":"12px"},{default:s(()=>[a(V,{modelValue:n.dosage_bag_count,"onUpdate:modelValue":e[27]||(e[27]=l=>n.dosage_bag_count=l),placeholder:"请选择袋数",class:"w-[120px]"},{default:s(()=>[a(r,{label:"1袋",value:1}),a(r,{label:"2袋",value:2}),a(r,{label:"3袋",value:3}),a(r,{label:"4袋",value:4}),a(r,{label:"5袋",value:5})]),_:1},8,["modelValue"])]),_:1})]),_:1})):v("",!0),n.prescription_type==="饮片"?(p(),x(h,{key:1,span:8},{default:s(()=>[a(d,{label:"是否代煎",prop:"need_decoction"},{default:s(()=>[a(u,{modelValue:n.need_decoction,"onUpdate:modelValue":e[28]||(e[28]=l=>n.need_decoction=l)},{default:s(()=>[a(I,{label:!0},{default:s(()=>[...e[169]||(e[169]=[c("代煎",-1)])]),_:1}),a(I,{label:!1},{default:s(()=>[...e[170]||(e[170]=[c("不代煎",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})):v("",!0),n.prescription_type==="饮片"?(p(),x(h,{key:2,span:8},{default:s(()=>[a(d,{label:"每贴出包数",prop:"bags_per_dose"},{default:s(()=>[a(V,{modelValue:n.bags_per_dose,"onUpdate:modelValue":e[29]||(e[29]=l=>n.bags_per_dose=l),placeholder:"请选择",class:"w-full"},{default:s(()=>[a(r,{label:"1包",value:1}),a(r,{label:"2包",value:2}),a(r,{label:"3包",value:3}),a(r,{label:"4包",value:4}),a(r,{label:"5包",value:5}),a(r,{label:"6包",value:6}),a(r,{label:"7包",value:7}),a(r,{label:"8包",value:8}),a(r,{label:"9包",value:9})]),_:1},8,["modelValue"])]),_:1})]),_:1})):v("",!0),a(h,{span:8},{default:s(()=>[a(d,{label:"每天几次",prop:"times_per_day"},{default:s(()=>[a(z,{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}),a(h,{span:8},{default:s(()=>[a(d,{label:"服用天数",prop:"usage_days"},{default:s(()=>[a(z,{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}),St.value.length>0?(p(),b(E,{key:6},[e[173]||(e[173]=i("div",{class:"usage-formula-title usage-formula-title--aux"},"辅方用法",-1)),a(H,{gutter:20},{default:s(()=>[a(h,{span:8},{default:s(()=>[a(d,{label:"用量"},{default:s(()=>[n.prescription_type==="浓缩水丸"?(p(),x(V,{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(()=>[(p(),b(E,null,Y(10,l=>a(r,{key:l,label:l+"g",value:l},null,8,["label","value"])),64))]),_:1},8,["modelValue"])):n.prescription_type==="饮片"?(p(),x(V,{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(()=>[a(r,{label:"50ml",value:50}),a(r,{label:"100ml",value:100}),a(r,{label:"120ml",value:120}),a(r,{label:"150ml",value:150}),a(r,{label:"180ml",value:180}),a(r,{label:"200ml",value:200}),a(r,{label:"250ml",value:250})]),_:1},8,["modelValue"])):(p(),x(z,{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==="浓缩水丸"?(p(),x(h,{key:0,span:8},{default:s(()=>[a(d,{label:" ","label-width":"12px"},{default:s(()=>[a(V,{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(()=>[a(r,{label:"1袋",value:1}),a(r,{label:"2袋",value:2}),a(r,{label:"3袋",value:3}),a(r,{label:"4袋",value:4}),a(r,{label:"5袋",value:5})]),_:1},8,["modelValue"])]),_:1})]),_:1})):v("",!0),n.prescription_type==="饮片"?(p(),x(h,{key:1,span:8},{default:s(()=>[a(d,{label:"是否代煎"},{default:s(()=>[a(u,{modelValue:n.aux_usage.need_decoction,"onUpdate:modelValue":e[36]||(e[36]=l=>n.aux_usage.need_decoction=l)},{default:s(()=>[a(I,{label:!0},{default:s(()=>[...e[171]||(e[171]=[c("代煎",-1)])]),_:1}),a(I,{label:!1},{default:s(()=>[...e[172]||(e[172]=[c("不代煎",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})):v("",!0),n.prescription_type==="饮片"?(p(),x(h,{key:2,span:8},{default:s(()=>[a(d,{label:"每贴出包数"},{default:s(()=>[a(V,{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(()=>[(p(),b(E,null,Y(9,l=>a(r,{key:l,label:l+"包",value:l},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1})):v("",!0),a(h,{span:8},{default:s(()=>[a(d,{label:"每天几次"},{default:s(()=>[a(z,{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}),a(h,{span:8},{default:s(()=>[a(d,{label:"服用天数"},{default:s(()=>[a(z,{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),a(d,{label:"用法",prop:"usage_instruction"},{default:s(()=>[a(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}),a(H,{gutter:20},{default:s(()=>[a(h,{span:12},{default:s(()=>[a(d,{label:"服用时间",prop:"usage_time"},{default:s(()=>[a(V,{modelValue:n.usage_time,"onUpdate:modelValue":e[41]||(e[41]=l=>n.usage_time=l),placeholder:"请选择服用时间",class:"w-full"},{default:s(()=>[a(r,{label:"饭前",value:"饭前"}),a(r,{label:"饭后",value:"饭后"}),a(r,{label:"饭中",value:"饭中"}),a(r,{label:"空腹",value:"空腹"}),a(r,{label:"睡前",value:"睡前"}),a(r,{label:"晨起",value:"晨起"}),a(r,{label:"随时",value:"随时"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"服用方式",prop:"usage_way"},{default:s(()=>[a(V,{modelValue:n.usage_way,"onUpdate:modelValue":e[42]||(e[42]=l=>n.usage_way=l),placeholder:"请选择服用方式",class:"w-full"},{default:s(()=>[a(r,{label:"温水送服",value:"温水送服"}),a(r,{label:"开水冲服",value:"开水冲服"}),a(r,{label:"黄酒送服",value:"黄酒送服"}),a(r,{label:"淡盐水送服",value:"淡盐水送服"}),a(r,{label:"米汤送服",value:"米汤送服"}),a(r,{label:"嚼服",value:"嚼服"}),a(r,{label:"含化",value:"含化"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),a(d,{label:"忌口",prop:"dietary_taboo"},{default:s(()=>[a(V,{modelValue:n.dietary_taboo,"onUpdate:modelValue":e[43]||(e[43]=l=>n.dietary_taboo=l),multiple:"",placeholder:"请选择忌口内容(可多选)",class:"w-full"},{default:s(()=>[a(r,{label:"辛辣食物",value:"辛辣食物"}),a(r,{label:"生冷食物",value:"生冷食物"}),a(r,{label:"油腻食物",value:"油腻食物"}),a(r,{label:"海鲜",value:"海鲜"}),a(r,{label:"牛羊肉",value:"牛羊肉"}),a(r,{label:"鸡蛋",value:"鸡蛋"}),a(r,{label:"豆制品",value:"豆制品"}),a(r,{label:"酒类",value:"酒类"}),a(r,{label:"浓茶",value:"浓茶"}),a(r,{label:"咖啡",value:"咖啡"}),a(r,{label:"烟草",value:"烟草"}),a(r,{label:"萝卜",value:"萝卜"})]),_:1},8,["modelValue"])]),_:1}),a(d,{label:"其他说明",prop:"usage_notes"},{default:s(()=>[a(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}),a(d,{label:"医师姓名",prop:"doctor_name"},{default:s(()=>[a(m,{modelValue:n.doctor_name,"onUpdate:modelValue":e[45]||(e[45]=l=>n.doctor_name=l),placeholder:"请输入医师姓名"},null,8,["modelValue"])]),_:1}),a(d,{label:"医师签名",prop:"doctor_signature",required:""},{default:s(()=>[i("div",ho,[i("canvas",{ref_key:"signatureCanvasRef",ref:K,class:"signature-canvas",onPointerdown:Ne(Xa,["prevent"]),onPointermove:Ne(Za,["prevent"]),onPointerup:Ne(Mt,["prevent"]),onPointercancel:Ne(Mt,["prevent"])},null,544),i("div",wo,[a(y,{size:"small",onClick:el},{default:s(()=>[...e[174]||(e[174]=[c("清空签名",-1)])]),_:1})])]),e[175]||(e[175]=i("div",{class:"text-xs text-amber-600 mt-1"},"* 必填,请在框内手写医师签名",-1))]),_:1})]),_:1},8,["model"]))]),_:1},8,["modelValue","title","size"]),a(we,{modelValue:me.value,"onUpdate:modelValue":e[53]||(e[53]=l=>me.value=l),title:"修正姓名、性别与手机号",width:"440px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:sa},{footer:s(()=>[a(y,{onClick:e[52]||(e[52]=l=>me.value=!1)},{default:s(()=>[...e[182]||(e[182]=[c("取消",-1)])]),_:1}),a(y,{type:"primary",loading:Be.value,onClick:na},{default:s(()=>[...e[183]||(e[183]=[c(" 保存 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[a(L,{ref_key:"patchPatientFormRef",ref:Ye,model:P,rules:aa,"label-width":"88px"},{default:s(()=>[a(d,{label:"处方编号"},{default:s(()=>[i("span",No,"#"+f(P.id||"—"),1)]),_:1}),a(d,{label:"患者姓名",prop:"patient_name"},{default:s(()=>[a(m,{modelValue:P.patient_name,"onUpdate:modelValue":e[49]||(e[49]=l=>P.patient_name=l),maxlength:"50","show-word-limit":"",placeholder:"处方笺展示姓名"},null,8,["modelValue"])]),_:1}),a(d,{label:"性别",prop:"gender"},{default:s(()=>[a(u,{modelValue:P.gender,"onUpdate:modelValue":e[50]||(e[50]=l=>P.gender=l)},{default:s(()=>[a(I,{label:1},{default:s(()=>[...e[180]||(e[180]=[c("男",-1)])]),_:1}),a(I,{label:0},{default:s(()=>[...e[181]||(e[181]=[c("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(d,{label:"手机号",prop:"phone"},{default:s(()=>[a(m,{modelValue:P.phone,"onUpdate:modelValue":e[51]||(e[51]=l=>P.phone=l),maxlength:"20",placeholder:"处方笺展示手机号"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),e[184]||(e[184]=i("p",{class:"text-xs text-gray-500 -mt-2 mb-2"}," 仅更新处方表 patient_name、gender、phone,不改变审核状态;记录写入业务订单操作日志(有关联订单时可在此订单日志中查看)。 ",-1))]),_:1},8,["modelValue"]),a(we,{modelValue:_e.value,"onUpdate:modelValue":e[72]||(e[72]=l=>_e.value=l),title:"创建业务订单",width:"940px",top:"4vh","close-on-click-modal":!1,onClosed:Vt,class:"create-order-dialog"},{footer:s(()=>[i("div",Qo,[i("div",Xo,[i("span",Zo,"第 "+f(T.value+1)+" / 3 步",1),T.value===2&&D.value>0?(p(),b("span",ei," 订单金额与关联支付单合计须 ≥ ¥"+f(ie(D.value)),1)):v("",!0)]),i("div",ti,[a(y,{size:"large",onClick:e[71]||(e[71]=l=>_e.value=!1)},{default:s(()=>[...e[195]||(e[195]=[c("取消",-1)])]),_:1}),T.value>0?(p(),x(y,{key:0,size:"large",onClick:va},{default:s(()=>[...e[196]||(e[196]=[c("上一步",-1)])]),_:1})):v("",!0),T.value<2?(p(),x(y,{key:1,type:"primary",size:"large",onClick:ya},{default:s(()=>[...e[197]||(e[197]=[c(" 下一步 ",-1)])]),_:1})):v("",!0),T.value===2?(p(),x(y,{key:2,type:"primary",size:"large",loading:Ge.value,onClick:xa},{default:s(()=>[...e[198]||(e[198]=[c(" 创建业务订单 ",-1)])]),_:1},8,["loading"])):v("",!0)])])]),default:s(()=>[i("div",So,[B.value?(p(),b("div",Co,[i("div",Uo,[e[185]||(e[185]=i("span",{class:"create-order-rx-card__badge"},"关联处方",-1)),i("div",$o,[i("span",Po,"#"+f(B.value.id),1),B.value.sn?(p(),b("span",Do,f(B.value.sn),1)):v("",!0),i("span",Ro,f(B.value.patient_name||"—"),1)])])])):v("",!0),a(hl,{active:T.value,"finish-status":"success","align-center":"",class:"create-order-steps"},{default:s(()=>[a(pt,{title:"患者与收货",description:"诊单与物流地址"}),a(pt,{title:"服务与支付单",description:"套餐与关联收款"}),a(pt,{title:"金额与确认",description:"费用与备注"})]),_:1},8,["active"]),i("p",To,f(oa.value),1),a(L,{ref_key:"createOrderFormRef",ref:ce,model:_,rules:_a.value,"label-width":"108px",class:"create-order-form"},{default:s(()=>[O(i("div",Ao,[a(H,{gutter:20},{default:s(()=>[a(h,{span:24},{default:s(()=>[a(d,{label:"诊单患者",prop:"patient_id"},{default:s(()=>[a(V,{modelValue:_.patient_id,"onUpdate:modelValue":e[54]||(e[54]=l=>_.patient_id=l),class:"w-full",placeholder:"搜索姓名/手机/身份证",filterable:"",remote:"","remote-method":ga,loading:Ke.value,onChange:ba},{default:s(()=>[(p(!0),b(E,null,Y(X.value,l=>(p(),x(r,{key:l.id,label:`${l.patient_name} (${l.phone||"无手机"})`,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"收货人",prop:"recipient_name"},{default:s(()=>[a(m,{modelValue:_.recipient_name,"onUpdate:modelValue":e[55]||(e[55]=l=>_.recipient_name=l),placeholder:"姓名",maxlength:"50"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"收货手机",prop:"recipient_phone"},{default:s(()=>[a(m,{modelValue:_.recipient_phone,"onUpdate:modelValue":e[56]||(e[56]=l=>_.recipient_phone=l),placeholder:"物流联系",maxlength:"20"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:24},{default:s(()=>[a(d,{label:"省市区",prop:"region"},{default:s(()=>[a(wl,{modelValue:_.region,"onUpdate:modelValue":e[57]||(e[57]=l=>_.region=l),options:fe.value,props:{value:"name",label:"name",children:"children",emitPath:!0,checkStrictly:!1},placeholder:"省 / 市 / 区",clearable:"",filterable:"",class:"w-full",onChange:pa},null,8,["modelValue","options"])]),_:1})]),_:1}),a(h,{span:24},{default:s(()=>[a(d,{label:"详细地址",prop:"shipping_address"},{default:s(()=>[a(m,{modelValue:_.shipping_address,"onUpdate:modelValue":e[58]||(e[58]=l=>_.shipping_address=l),type:"textarea",rows:3,placeholder:"街道、小区、门牌号等详细地址",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[ct,T.value===0]]),O(i("div",Oo,[a(H,{gutter:20},{default:s(()=>[a(h,{span:24},{default:s(()=>[a(d,{label:"发货药房",prop:"ship_mode"},{default:s(()=>[a(u,{modelValue:_.ship_mode,"onUpdate:modelValue":e[59]||(e[59]=l=>_.ship_mode=l)},{default:s(()=>[a(o,{label:"gancao"},{default:s(()=>[...e[186]||(e[186]=[c("甘草药房",-1)])]),_:1}),a(o,{label:"direct"},{default:s(()=>[...e[187]||(e[187]=[c("洛阳药房",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(h,{xs:24,sm:8},{default:s(()=>[a(d,{label:"复诊"},{default:s(()=>[a(Nl,{modelValue:_.is_follow_up,"onUpdate:modelValue":e[60]||(e[60]=l=>_.is_follow_up=l),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{xs:24,sm:8},{default:s(()=>[a(d,{label:"服用天数",class:"create-order-form-item--inline-num"},{default:s(()=>[i("div",Eo,[a(z,{modelValue:_.medication_days,"onUpdate:modelValue":e[61]||(e[61]=l=>_.medication_days=l),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[188]||(e[188]=i("span",{class:"create-order-unit-suffix"},"天",-1))])]),_:1})]),_:1}),a(h,{xs:24,sm:8},{default:s(()=>[a(d,{label:"上次医生"},{default:s(()=>[a(m,{modelValue:_.prev_staff,"onUpdate:modelValue":e[62]||(e[62]=l=>_.prev_staff=l),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"服务渠道"},{default:s(()=>[a(m,{modelValue:_.service_channel,"onUpdate:modelValue":e[63]||(e[63]=l=>_.service_channel=l),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"服务套餐"},{default:s(()=>[a(V,{modelValue:_.service_package,"onUpdate:modelValue":e[64]||(e[64]=l=>_.service_package=l),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"请选择服务套餐",clearable:"",class:"w-full"},{default:s(()=>[(p(!0),b(E,null,Y(Qe.value,l=>(p(),x(r,{key:l.value,label:l.name,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(h,{span:24},{default:s(()=>[a(d,{label:"关联支付单",prop:"pay_order_ids"},{default:s(()=>[a(V,{modelValue:_.pay_order_ids,"onUpdate:modelValue":e[65]||(e[65]=l=>_.pay_order_ids=l),class:"w-full",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:D.value>0?"请至少选择一笔本诊单支付单(已开启门槛)":"多选本诊单支付单(可选)",loading:Je.value},{default:s(()=>[(p(!0),b(E,null,Y(oe.value,l=>(p(),x(r,{key:l.id,label:`${l.order_no} · ¥${l.amount} · ${kt(l.order_type)}`,value:l.id,class:"!h-auto py-1.5"},{default:s(()=>[i("div",Lo,[i("div",zo,[i("span",Fo,f(l.order_no),1),i("span",Io,"¥"+f(l.amount),1)]),i("div",jo,[i("span",Mo,[c(f(kt(l.order_type)),1),l.remark?(p(),b(E,{key:0},[c(" · "+f(l.remark),1)],64)):v("",!0)]),i("span",Ho,f(String(l.create_time||"").substring(0,16)),1)])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","loading"]),i("div",Wo,[D.value>0?(p(),b(E,{key:0},[i("span",qo,"当前已开启关联支付门槛(¥"+f(ie(D.value))+"),须至少选择一笔支付单。",1),e[189]||(e[189]=i("span",{class:"mx-1"},null,-1))],64)):v("",!0),e[191]||(e[191]=c(" 主管/本诊单医助可见全部支付单;否则仅本人收款单。已被占用的支付单不列出。 ",-1)),a(Sl,{content:"主管或本诊单医助可见该诊单全部支付单(待支付/已支付),否则仅本人创建的收款单。已被其他有效业务订单占用的支付单不会出现在此列表。",placement:"top"},{default:s(()=>[...e[190]||(e[190]=[i("span",{class:"text-primary cursor-help ml-0.5"},"详情",-1)])]),_:1})])]),_:1})]),_:1})]),_:1})],512),[[ct,T.value===1]]),O(i("div",Bo,[i("div",{class:is(["create-order-deposit-bar",Xe.value>=D.value?"is-ok":"is-warn"])},[i("div",Yo,[e[192]||(e[192]=i("span",{class:"create-order-deposit-bar__label"},"定金门槛",-1)),i("strong",null,"¥"+f(ie(D.value)),1),i("span",Go,f(D.value>0?"须 ≥ 此值":"未设置"),1)]),e[194]||(e[194]=i("div",{class:"create-order-deposit-bar__sep"},null,-1)),i("div",Ko,[e[193]||(e[193]=i("span",{class:"create-order-deposit-bar__label"},"已选收款",-1)),i("strong",null,"¥"+f(ie(Xe.value)),1),i("span",Jo,f(Xe.value>=D.value?"已达标":"未达标"),1)])],2),a(H,{gutter:20,class:"create-order-step-panel__row-after-bar"},{default:s(()=>[a(h,{span:12},{default:s(()=>[a(d,{label:"费用类别",prop:"fee_type"},{default:s(()=>[a(V,{modelValue:_.fee_type,"onUpdate:modelValue":e[66]||(e[66]=l=>_.fee_type=l),placeholder:"请选择",class:"w-full"},{default:s(()=>[a(r,{label:"挂号费",value:1}),a(r,{label:"问诊费",value:2}),a(r,{label:"药品费用",value:3}),a(r,{label:"首付费用",value:4}),a(r,{label:"尾款费用",value:5}),a(r,{label:"其他费用",value:6}),a(r,{label:"全部费用",value:7}),a(r,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"总金额",prop:"amount"},{default:s(()=>[a(z,{modelValue:_.amount,"onUpdate:modelValue":e[67]||(e[67]=l=>_.amount=l),min:ma.value,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"元"},null,8,["modelValue","min"])]),_:1})]),_:1}),O((p(),x(h,{span:12},{default:s(()=>[a(d,{label:"内部成本"},{default:s(()=>[a(z,{modelValue:_.internal_cost,"onUpdate:modelValue":e[68]||(e[68]=l=>_.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"]]]),a(h,{span:24},{default:s(()=>[O((p(),x(d,{label:"药房备注"},{default:s(()=>[a(m,{modelValue:_.remark_extra,"onUpdate:modelValue":e[69]||(e[69]=l=>_.remark_extra=l),type:"textarea",rows:3,placeholder:"选填,对内说明",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})),[[W,["tcm.prescriptionOrder/editRemarkExtra"]]]),a(d,{label:"医助备注"},{default:s(()=>[a(m,{modelValue:_.remark_assistant,"onUpdate:modelValue":e[70]||(e[70]=l=>_.remark_assistant=l),type:"textarea",rows:3,placeholder:"选填,医助对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[ct,T.value===2]])]),_:1},8,["model","rules"])])]),_:1},8,["modelValue"]),a(we,{modelValue:ye.value,"onUpdate:modelValue":e[78]||(e[78]=l=>ye.value=l),title:"从处方库导入",width:"800px","close-on-click-modal":!1},{default:s(()=>[i("div",ai,[a(m,{modelValue:Ae.value,"onUpdate:modelValue":e[73]||(e[73]=l=>Ae.value=l),class:"flex-1",placeholder:"请输入处方名称搜索",clearable:"",onKeyup:_t(Le,["enter"]),onClear:Le},{append:s(()=>[a(y,{icon:j(rs),onClick:Le},null,8,["icon"])]),_:1},8,["modelValue"]),a(V,{modelValue:Oe.value,"onUpdate:modelValue":e[74]||(e[74]=l=>Oe.value=l),placeholder:"处方类型",clearable:"",class:"w-[140px]",onChange:Le},{default:s(()=>[a(r,{label:"全部",value:""}),a(r,{label:"主方",value:"主方"}),a(r,{label:"辅方",value:"辅方"})]),_:1},8,["modelValue"])]),i("div",li,[e[201]||(e[201]=i("span",{class:"text-sm text-gray-600 shrink-0"},"导入方式",-1)),a(u,{modelValue:xe.value,"onUpdate:modelValue":e[75]||(e[75]=l=>xe.value=l)},{default:s(()=>[a(I,{label:"replace"},{default:s(()=>[...e[199]||(e[199]=[c("覆盖现有药材",-1)])]),_:1}),a(I,{label:"append"},{default:s(()=>[...e[200]||(e[200]=[c("追加到末尾",-1)])]),_:1})]),_:1},8,["modelValue"])]),O((p(),x(F,{data:st.value,height:"400",style:{cursor:"pointer"},onRowClick:ol},{default:s(()=>[a(C,{label:"处方名称",prop:"prescription_name","min-width":"150","show-overflow-tooltip":""}),a(C,{label:"处方类型",width:"90"},{default:s(({row:l})=>[a(A,{type:l.formula_type==="辅方"?"warning":"primary",size:"small"},{default:s(()=>[c(f(l.formula_type||"主方"),1)]),_:2},1032,["type"])]),_:1}),a(C,{label:"药材数量",width:"100"},{default:s(({row:l})=>{var w;return[c(f(((w=l.herbs)==null?void 0:w.length)||0)+"味 ",1)]}),_:1}),a(C,{label:"药材明细","min-width":"300","show-overflow-tooltip":""},{default:s(({row:l})=>[l.herbs&&l.herbs.length>0?(p(),b("span",si,f(l.herbs.map(w=>`${w.name} ${w.dosage}g`).join("、")),1)):(p(),b("span",ni,"暂无药材"))]),_:1}),a(C,{label:"是否公开",width:"110"},{default:s(({row:l})=>[a(A,{type:l.is_public?"success":"info",size:"small"},{default:s(()=>[c(f(l.is_public?"所有人可见":"仅自己可见"),1)]),_:2},1032,["type"])]),_:1}),a(C,{label:"创建人",prop:"creator_name",width:"100"}),a(C,{label:"操作",width:"100",fixed:"right"},{default:s(({row:l})=>[a(y,{type:"primary",link:"",onClick:Ne(w=>Gt(l),["stop"])},{default:s(()=>[...e[202]||(e[202]=[c("导入",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[Fe,lt.value]]),i("div",oi,[a(Cl,{"current-page":ke.value,"onUpdate:currentPage":e[76]||(e[76]=l=>ke.value=l),"page-size":nt.value,"onUpdate:pageSize":e[77]||(e[77]=l=>nt.value=l),total:ot.value,"page-sizes":[10,15,20,50],layout:"total, sizes, prev, pager, next",onCurrentChange:Ee,onSizeChange:Ee},null,8,["current-page","page-size","total"])])]),_:1},8,["modelValue"]),a(we,{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=>he.value="")},{footer:s(()=>[a(y,{onClick:e[81]||(e[81]=l=>Ve.value=!1)},{default:s(()=>[...e[206]||(e[206]=[c("取消",-1)])]),_:1}),a(y,{type:"primary",loading:rt.value,onClick:cl},{default:s(()=>[...e[207]||(e[207]=[c(" 识别并导入 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[e[208]||(e[208]=i("p",{class:"text-gray-500 text-sm mb-2 leading-relaxed"}," 粘贴整张药方文本,系统按「药名 + 剂量」解析;药名须与药品库中名称完全一致才会录入,否则跳过。支持顿号/逗号/换行分隔;单行可用空格分味(如「黄芪15g 白术10g」);「黄芪、党参各10克」等同剂量写法亦可识别。 ",-1)),a(m,{modelValue:he.value,"onUpdate:modelValue":e[79]||(e[79]=l=>he.value=l),type:"textarea",rows:10,placeholder:`示例: -黄芪15 党参12 茯苓10 -柴胡10g、黄芩10、半夏12克 -黄芪、白术、茯苓各15克`},null,8,["modelValue"]),i("div",ii,[e[205]||(e[205]=i("span",{class:"text-sm text-gray-600 shrink-0"},"导入方式",-1)),a(u,{modelValue:it.value,"onUpdate:modelValue":e[80]||(e[80]=l=>it.value=l)},{default:s(()=>[a(I,{label:"replace"},{default:s(()=>[...e[203]||(e[203]=[c("覆盖现有药材",-1)])]),_:1}),a(I,{label:"append"},{default:s(()=>[...e[204]||(e[204]=[c("追加到末尾",-1)])]),_:1})]),_:1},8,["modelValue"])])]),_:1},8,["modelValue"]),a(we,{modelValue:pe.value,"onUpdate:modelValue":e[88]||(e[88]=l=>pe.value=l),title:"处方审核",width:"480px","destroy-on-close":"",onClosed:e[89]||(e[89]=l=>ne.value="")},{footer:s(()=>[a(y,{onClick:e[85]||(e[85]=l=>pe.value=!1)},{default:s(()=>[...e[209]||(e[209]=[c("取消",-1)])]),_:1}),a(y,{type:"primary",loading:Ue.value,onClick:e[86]||(e[86]=l=>qt("approve"))},{default:s(()=>[...e[210]||(e[210]=[c("审核通过",-1)])]),_:1},8,["loading"]),a(y,{type:"danger",loading:Ue.value,onClick:e[87]||(e[87]=l=>qt("reject"))},{default:s(()=>[...e[211]||(e[211]=[c("驳回处方",-1)])]),_:1},8,["loading"])]),default:s(()=>[e[212]||(e[212]=i("p",{class:"text-sm text-gray-600 mb-3"}," 通过:处方保持有效。驳回:将同时作废此处方(与诊间「驳回/作废处方」一致)。 ",-1)),a(L,{"label-width":"80px"},{default:s(()=>[a(d,{label:"审核意见"},{default:s(()=>[a(m,{modelValue:ne.value,"onUpdate:modelValue":e[84]||(e[84]=l=>ne.value=l),type:"textarea",rows:3,maxlength:"500","show-word-limit":"",placeholder:"通过可简要说明;驳回必填"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),a(j(ea),{ref_key:"diagnosisViewRef",ref:Et},null,512)])}}}),xi=vs(ui,[["__scopeId","data-v-563a78de"]]);export{xi as default}; diff --git a/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-Bk4SMrCI.js b/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-DbClaUqT.js similarity index 98% rename from server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-Bk4SMrCI.js rename to server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-DbClaUqT.js index 5867dc80..67ef93ca 100644 --- a/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-Bk4SMrCI.js +++ b/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-DbClaUqT.js @@ -1 +1 @@ -import{o as C,q as f,r as v,v as t,D as l,s as g,T as m,P as w,b9 as D,u as a,b6 as N,L as i,bc as S,bf as O,O as U,b7 as H,K as L,a8 as z,ba as E}from"./.pnpm-9dA1PEvN.js";import{_ as h}from"./index-BBemoNXE.js";import{i as c}from"./index-CJvXnF8Y.js";const j={class:"export-data"},I={key:0,class:"text-sm text-gray-500 mb-3 leading-relaxed"},M={class:"flex"},P=C({__name:"index",props:{params:{type:Object,default:()=>({})},pageSize:{type:Number,default:25},fetchFun:{type:Function,required:!0},exportHint:{type:String,default:""}},setup(R){const x=z(),n=R,y=z(),o=E({page_type:0,page_start:1,page_end:200,file_name:""}),k={page_start:[{required:!0,message:"请输入起始页码"},{type:"number",message:"页码必须是整数"},{validator:(r,e,s)=>{if(e<=0)return s(new Error("页码必须大于0"));s()}}],page_end:[{required:!0,message:"请输入结束页码"},{type:"number",message:"页码必须是整数"},{validator:(r,e,s)=>{if(e<=0)return s(new Error("页码必须大于0"));s()}}]},d=E({count:0,sum_page:0,page_size:0,max_page:0,all_max_size:0}),b=async()=>{const r=await n.fetchFun({...n.params,page_size:n.pageSize,export:1});Object.assign(d,r),o.file_name=r.file_name,o.page_end=r.page_end,o.page_start=r.page_start},F=async()=>{var r,e;await((r=x.value)==null?void 0:r.validate()),c.loading("正在导出中...");try{await n.fetchFun({...n.params,...o,page_size:n.pageSize,export:2}),(e=y.value)==null||e.close(),c.closeLoading()}catch{c.closeLoading()}};return b(),(r,e)=>{const s=L,p=N,V=O,q=S,_=H,B=D;return f(),v("div",j,[t(h,{ref_key:"popupRef",ref:y,title:"导出设置",width:"500px","confirm-button-text":"确认导出",onConfirm:F,async:!0,onOpen:b},{trigger:l(()=>[t(s,null,{default:l(()=>[...e[4]||(e[4]=[i("导出",-1)])]),_:1})]),default:l(()=>[g("div",null,[n.exportHint?(f(),v("p",I,m(n.exportHint),1)):w("",!0),t(B,{ref_key:"formRef",ref:x,model:a(o),"label-width":"120px",rules:k},{default:l(()=>[t(p,{label:"数据量:"},{default:l(()=>[i(" 预计导出"+m(a(d).count)+"条数据, 共"+m(a(d).sum_page)+"页,每页"+m(a(d).page_size)+"条数据 ",1)]),_:1}),t(p,{label:"导出限制:"},{default:l(()=>[i(" 每次导出最大允许"+m(a(d).max_page)+"页,共"+m(a(d).all_max_size)+"条数据 ",1)]),_:1}),t(p,{prop:"page_type",label:"导出范围:",required:""},{default:l(()=>[t(q,{modelValue:a(o).page_type,"onUpdate:modelValue":e[0]||(e[0]=u=>a(o).page_type=u)},{default:l(()=>[t(V,{value:0},{default:l(()=>[...e[5]||(e[5]=[i("全部导出",-1)])]),_:1}),t(V,{value:1},{default:l(()=>[...e[6]||(e[6]=[i("分页导出",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(o).page_type==1?(f(),U(p,{key:0,label:"分页范围:"},{default:l(()=>[g("div",M,[t(p,{prop:"page_start"},{default:l(()=>[t(_,{style:{width:"140px"},modelValue:a(o).page_start,"onUpdate:modelValue":e[1]||(e[1]=u=>a(o).page_start=u),modelModifiers:{number:!0},placeholder:""},null,8,["modelValue"])]),_:1}),e[7]||(e[7]=g("span",{class:"flex-none ml-2 mr-2"},"页,至",-1)),t(p,{prop:"page_end"},{default:l(()=>[t(_,{style:{width:"140px"},modelValue:a(o).page_end,"onUpdate:modelValue":e[2]||(e[2]=u=>a(o).page_end=u),modelModifiers:{number:!0},placeholder:""},null,8,["modelValue"])]),_:1})])]),_:1})):w("",!0),t(p,{label:"导出文件名称:",prop:"file_name"},{default:l(()=>[t(_,{modelValue:a(o).file_name,"onUpdate:modelValue":e[3]||(e[3]=u=>a(o).file_name=u),placeholder:"请输入导出文件名称"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])]),_:1},512)])}}});export{P as _}; +import{o as C,q as f,r as v,v as t,D as l,s as g,T as m,P as w,b9 as D,u as a,b6 as N,L as i,bc as S,bf as O,O as U,b7 as H,K as L,a8 as z,ba as E}from"./.pnpm-9dA1PEvN.js";import{_ as h}from"./index-dYaCh-CN.js";import{i as c}from"./index-BWzN7QIb.js";const j={class:"export-data"},I={key:0,class:"text-sm text-gray-500 mb-3 leading-relaxed"},M={class:"flex"},P=C({__name:"index",props:{params:{type:Object,default:()=>({})},pageSize:{type:Number,default:25},fetchFun:{type:Function,required:!0},exportHint:{type:String,default:""}},setup(R){const x=z(),n=R,y=z(),o=E({page_type:0,page_start:1,page_end:200,file_name:""}),k={page_start:[{required:!0,message:"请输入起始页码"},{type:"number",message:"页码必须是整数"},{validator:(r,e,s)=>{if(e<=0)return s(new Error("页码必须大于0"));s()}}],page_end:[{required:!0,message:"请输入结束页码"},{type:"number",message:"页码必须是整数"},{validator:(r,e,s)=>{if(e<=0)return s(new Error("页码必须大于0"));s()}}]},d=E({count:0,sum_page:0,page_size:0,max_page:0,all_max_size:0}),b=async()=>{const r=await n.fetchFun({...n.params,page_size:n.pageSize,export:1});Object.assign(d,r),o.file_name=r.file_name,o.page_end=r.page_end,o.page_start=r.page_start},F=async()=>{var r,e;await((r=x.value)==null?void 0:r.validate()),c.loading("正在导出中...");try{await n.fetchFun({...n.params,...o,page_size:n.pageSize,export:2}),(e=y.value)==null||e.close(),c.closeLoading()}catch{c.closeLoading()}};return b(),(r,e)=>{const s=L,p=N,V=O,q=S,_=H,B=D;return f(),v("div",j,[t(h,{ref_key:"popupRef",ref:y,title:"导出设置",width:"500px","confirm-button-text":"确认导出",onConfirm:F,async:!0,onOpen:b},{trigger:l(()=>[t(s,null,{default:l(()=>[...e[4]||(e[4]=[i("导出",-1)])]),_:1})]),default:l(()=>[g("div",null,[n.exportHint?(f(),v("p",I,m(n.exportHint),1)):w("",!0),t(B,{ref_key:"formRef",ref:x,model:a(o),"label-width":"120px",rules:k},{default:l(()=>[t(p,{label:"数据量:"},{default:l(()=>[i(" 预计导出"+m(a(d).count)+"条数据, 共"+m(a(d).sum_page)+"页,每页"+m(a(d).page_size)+"条数据 ",1)]),_:1}),t(p,{label:"导出限制:"},{default:l(()=>[i(" 每次导出最大允许"+m(a(d).max_page)+"页,共"+m(a(d).all_max_size)+"条数据 ",1)]),_:1}),t(p,{prop:"page_type",label:"导出范围:",required:""},{default:l(()=>[t(q,{modelValue:a(o).page_type,"onUpdate:modelValue":e[0]||(e[0]=u=>a(o).page_type=u)},{default:l(()=>[t(V,{value:0},{default:l(()=>[...e[5]||(e[5]=[i("全部导出",-1)])]),_:1}),t(V,{value:1},{default:l(()=>[...e[6]||(e[6]=[i("分页导出",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(o).page_type==1?(f(),U(p,{key:0,label:"分页范围:"},{default:l(()=>[g("div",M,[t(p,{prop:"page_start"},{default:l(()=>[t(_,{style:{width:"140px"},modelValue:a(o).page_start,"onUpdate:modelValue":e[1]||(e[1]=u=>a(o).page_start=u),modelModifiers:{number:!0},placeholder:""},null,8,["modelValue"])]),_:1}),e[7]||(e[7]=g("span",{class:"flex-none ml-2 mr-2"},"页,至",-1)),t(p,{prop:"page_end"},{default:l(()=>[t(_,{style:{width:"140px"},modelValue:a(o).page_end,"onUpdate:modelValue":e[2]||(e[2]=u=>a(o).page_end=u),modelModifiers:{number:!0},placeholder:""},null,8,["modelValue"])]),_:1})])]),_:1})):w("",!0),t(p,{label:"导出文件名称:",prop:"file_name"},{default:l(()=>[t(_,{modelValue:a(o).file_name,"onUpdate:modelValue":e[3]||(e[3]=u=>a(o).file_name=u),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-iDb8ZvRz.js b/server/public/admin/assets/index.vue_vue_type_style_index_0_lang-DqDA-KJo.js similarity index 91% rename from server/public/admin/assets/index.vue_vue_type_style_index_0_lang-iDb8ZvRz.js rename to server/public/admin/assets/index.vue_vue_type_style_index_0_lang-DqDA-KJo.js index 8a0efb7c..cd667a0e 100644 --- a/server/public/admin/assets/index.vue_vue_type_style_index_0_lang-iDb8ZvRz.js +++ b/server/public/admin/assets/index.vue_vue_type_style_index_0_lang-DqDA-KJo.js @@ -1 +1 @@ -import{o as x,bx as k,q as R,r as U,t as _,u as t,v as i,bO as B,bP as P,C as E,a8 as m,M as c,p,n as N}from"./.pnpm-9dA1PEvN.js";import{_ as O}from"./picker-DWQ_BAep.js";import{n as h}from"./index-CJvXnF8Y.js";const M=x({__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=m(),n=m(),r=c(""),f=c(!1);let s;const b={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}}}},C=p(()=>({height:h(l.height),width:h(l.width)})),u=p({get(){return l.modelValue},set(e){f.value&&v("update:modelValue",e)}}),w=e=>{e.forEach(o=>{s(o)})};k(()=>{const e=d.value;e!=null&&e.destroy()});const y=e=>{d.value=e,N(()=>{f.value=!0})};return(e,o)=>(R(),U("div",{class:"border border-br flex flex-col",style:_(t(C))},[i(t(B),{class:"border-b border-br",editor:t(d),defaultConfig:a.toolbarConfig,mode:a.mode},null,8,["editor","defaultConfig","mode"]),i(t(P),{class:"flex-1 overflow-hidden",modelValue:t(u),"onUpdate:modelValue":o[0]||(o[0]=V=>E(u)?u.value=V:null),defaultConfig:b,mode:a.mode,onOnCreated:y},null,8,["modelValue","mode"]),i(O,{ref_key:"materialPickerRef",ref:n,type:t(r),limit:-1,"hidden-upload":"",onChange:w},null,8,["type"])],4))}});export{M as _}; +import{o as x,bx as k,q as R,r as U,t as _,u as t,v as i,bO as B,bP as P,C as E,a8 as m,M as c,p,n as N}from"./.pnpm-9dA1PEvN.js";import{_ as O}from"./picker-DfI3CPnQ.js";import{n as h}from"./index-BWzN7QIb.js";const M=x({__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=m(),n=m(),r=c(""),f=c(!1);let s;const b={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}}}},C=p(()=>({height:h(l.height),width:h(l.width)})),u=p({get(){return l.modelValue},set(e){f.value&&v("update:modelValue",e)}}),w=e=>{e.forEach(o=>{s(o)})};k(()=>{const e=d.value;e!=null&&e.destroy()});const y=e=>{d.value=e,N(()=>{f.value=!0})};return(e,o)=>(R(),U("div",{class:"border border-br flex flex-col",style:_(t(C))},[i(t(B),{class:"border-b border-br",editor:t(d),defaultConfig:a.toolbarConfig,mode:a.mode},null,8,["editor","defaultConfig","mode"]),i(t(P),{class:"flex-1 overflow-hidden",modelValue:t(u),"onUpdate:modelValue":o[0]||(o[0]=V=>E(u)?u.value=V:null),defaultConfig:b,mode:a.mode,onOnCreated:y},null,8,["modelValue","mode"]),i(O,{ref_key:"materialPickerRef",ref:n,type:t(r),limit:-1,"hidden-upload":"",onChange:w},null,8,["type"])],4))}});export{M as _}; diff --git a/server/public/admin/assets/index_h5-C6dLmuUl.js b/server/public/admin/assets/index_h5-DhzW8xbA.js similarity index 93% rename from server/public/admin/assets/index_h5-C6dLmuUl.js rename to server/public/admin/assets/index_h5-DhzW8xbA.js index 3189c369..efc57e12 100644 --- a/server/public/admin/assets/index_h5-C6dLmuUl.js +++ b/server/public/admin/assets/index_h5-DhzW8xbA.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DSANIFY1.js","assets/.pnpm-9dA1PEvN.js","assets/.pnpm-LiWq8Xu0.css","assets/tcm-DOD9_1Um.js","assets/index-CJvXnF8Y.js","assets/index-or10At3s.css","assets/perm-BLNmf25V.js","assets/DailyMatrix-_4SdP1CQ.js","assets/picker-DWQ_BAep.js","assets/index-BBemoNXE.js","assets/index-dh40Du6y.css","assets/index-CY1mb9yY.js","assets/index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js","assets/index-CAGpCz28.js","assets/index-BYMg0OFw.css","assets/index-DMkcmA29.js","assets/file-BJDA0rIT.js","assets/index.vue_vue_type_script_setup_true_lang-Blf417m7.js","assets/usePaging-Boz1Q6w3.js","assets/index-D6uL8V1j.css","assets/picker-CLzhBfnG.css","assets/DiagnosisTodoList-wLDuYeQL.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix--Ay5C05Q.css","assets/CaseRecordList-BdOS8uCk.js","assets/CaseRecordList-DEgrl9PS.css","assets/CallRecordPanel-B5TNiiYq.js","assets/RecordingPlaybackBlock-C4Gpp-2c.js","assets/RecordingVideoPlayer-BFQjIPtM.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-p7h_1hh9.css","assets/ImChatRecordPanel-Dupe02qF.js","assets/dayjs-BsOAYQJw.js","assets/im-business-message-parse-DmDISFGN.js","assets/ImChatRecordPanel-BRnJl8ir.css","assets/AssignLogPanel-7M3l9W5C.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DxULo4tR.js","assets/doctor-Bmtf1eZE.js","assets/AppointmentRecordPanel-BWS3OyF0.css","assets/NoteTimeline-BiPgEoRT.js","assets/patient-CwTOvUDt.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-CbJRHf8i.js","assets/PrescriptionOrderDetailDrawer-66DcVm3d.js","assets/prescription-order-utils-B0fYlULc.js","assets/PrescriptionOrderDetailDrawer-DL92yzHH.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-D33qlDjf.js","assets/index-BANIMLkY.js","assets/medicine-CQDW2OUZ.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-DxQanmqx.css","assets/edit-Cgsl1tY9.css","assets/TrackingNoteTimeline-C-2kS81H.css","assets/detail-BRMb37XJ.js","assets/appointment-CqsTw3IO.js","assets/appointment-DHf6UVnR.css","assets/AssistantWatchCallDialog-G7c26KAa.js","assets/AssistantWatchCallDialog-BYViF8Fb.css"])))=>i.map(i=>d[i]); -import{o as ut,ap as ga,aq as fa,q as l,r as o,s,v as n,b8 as ha,u as m,bA as ya,b7 as ka,D as i,L as g,K as ba,F as V,G as S,ae as w,T as p,P as _,w as Ca,ck as nt,ac as Le,ad as Va,O as E,bn as xa,bm as Da,bi as Ea,bB as $a,cv as Ra,cl as Ia,bE as st,cO as za,d2 as Aa,bH as Sa,as as wa,d1 as qa,B as Pa,b9 as La,b6 as Na,bd as Ta,J as Fa,bt as Wa,b5 as Ua,br as Oa,aa as Ma,cb as se,p as Q,ba as Ne,M as c,bF as Qa,al as le}from"./.pnpm-9dA1PEvN.js";import{aq as $,i as Ya,ar as Ba,Q as Ha,at as Ka,a2 as lt,au as it,ay as ja,av as Ga,aw as Ja,ax as Xa}from"./tcm-DOD9_1Um.js";import{i as Za}from"./order-CNletQ6l.js";import{m as en}from"./doctor-Bmtf1eZE.js";import{u as tn,m as ot,i as f,_ as an}from"./index-CJvXnF8Y.js";import{g as dt}from"./weapp-CBfJD55Y.js";import{u as nn}from"./usePaging-Boz1Q6w3.js";import{h as x}from"./perm-BLNmf25V.js";import{d as rt}from"./dayjs-BsOAYQJw.js";const sn={class:"dh5"},ln={class:"dh5-topbar"},on={class:"dh5-search"},dn={class:"dh5-chips dh5-chips--scroll"},rn=["onClick"],un={key:0},pn={key:0},cn={key:0},mn={key:0},_n={class:"dh5-quick"},vn={class:"dh5-quick-group"},gn=["onClick"],fn={class:"dh5-quick-group"},hn=["onClick"],yn={class:"dh5-more-filter"},kn={class:"dh5-list"},bn={key:0,class:"dh5-empty"},Cn=["onClick"],Vn={class:"dh5-card-avatar"},xn={class:"dh5-card-id-name"},Dn={class:"dh5-card-name"},En={key:0,class:"dh5-meta-gender"},$n={key:1,class:"dh5-meta-age"},Rn={class:"dh5-card-sub"},In={key:0,class:"dh5-tag-new"},zn={class:"dh5-card-tags"},An={key:0,class:"dh5-tag dh5-tag--ok"},Sn={key:1,class:"dh5-tag dh5-tag--warn"},wn={key:2,class:"dh5-tag dh5-tag--info"},qn=["onClick"],Pn={class:"dh5-row-val"},Ln={class:"dh5-apt-status"},Nn={class:"dh5-apt-doctor"},Tn={class:"dh5-apt-time"},Fn={class:"dh5-apt-status"},Wn={class:"dh5-apt-doctor"},Un={class:"dh5-apt-time"},On={key:1,class:"dh5-apt-none"},Mn={key:0,class:"dh5-row dh5-row--followup"},Qn={class:"dh5-row-val"},Yn={class:"dh5-meta-doctor"},Bn={key:0,class:"dh5-tag dh5-tag--gray"},Hn={class:"dh5-row"},Kn={class:"dh5-row-val"},jn={key:1,class:"dh5-row"},Gn={class:"dh5-row-val"},Jn={key:0,class:"dh5-meta-mute"},Xn={key:1},Zn={key:0,class:"dh5-card-watch"},es={class:"dh5-watch-tip"},ts={key:1,class:"dh5-watch-mute"},as={class:"dh5-card-foot"},ns={key:2,class:"dh5-no-more"},ss={key:0,class:"dh5-actions"},ls={class:"dh5-form-tip"},is={class:"font-medium"},os={class:"dh5-qr"},ds={key:0,class:"dh5-qr-loading"},rs={key:1},us=["src"],ps={class:"dh5-qr-meta"},cs={key:2,class:"dh5-qr-fail"},ms={key:0,class:"dh5-wx-contact"},_s={class:"dh5-wx-contact-row"},vs={class:"dh5-wx-val"},gs={class:"dh5-wx-contact-row"},fs={class:"dh5-wx-val"},hs={key:0},ys={class:"dh5-wx-contact-row"},ks={class:"dh5-wx-val"},bs={class:"dh5-wx-add"},Cs={class:"dh5-wx-list-wrap"},Vs={key:0,class:"dh5-wx-empty"},xs={key:1,class:"dh5-wx-list"},Ds={class:"dh5-wx-head"},Es={class:"dh5-wx-head-left"},$s={class:"dh5-wx-name"},Rs={class:"dh5-wx-head-right"},Is={class:"dh5-wx-time"},zs={class:"dh5-wx-content"},As={key:0,class:"dh5-wx-media"},Ss=ut({name:"tcmDiagnosisH5"}),ws=ut({...Ss,setup(qs){const pt=se(()=>le(()=>import("./edit-DSANIFY1.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]))),ct=se(()=>le(()=>import("./detail-BRMb37XJ.js"),__vite__mapDeps([58,9,1,2,4,5,10,3]))),mt=se(()=>le(()=>import("./index-D33qlDjf.js"),__vite__mapDeps([50,1,2,51,52,4,5,53,54,3,55]))),_t=se(()=>le(()=>import("./appointment-CqsTw3IO.js"),__vite__mapDeps([59,1,2,34,3,4,5,40,60]))),vt=se(()=>le(()=>import("./AssistantWatchCallDialog-G7c26KAa.js"),__vite__mapDeps([61,1,2,3,4,5,62]))),ie=tn(),gt=t=>{if(!t)return"-";const e=String(t).length===10?Number(t)*1e3:Number(t);return rt(e).format("YYYY-MM-DD HH:mm")},ft=t=>{if(!t)return"-";const e=String(t).length===10?t*1e3:t;return rt(e).format("YYYY-MM-DD HH:mm")},Te=t=>!t||t.length<11?t:t.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),R=t=>String(t).padStart(2,"0"),ve=Q(()=>{const t=new Date;return t.setDate(t.getDate()-1),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),ge=Q(()=>{const t=new Date;return t.setDate(t.getDate()-2),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),K=Q(()=>{const t=new Date;return`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),fe=Q(()=>{const t=new Date;return t.setDate(t.getDate()+1),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),he=Q(()=>{const t=new Date;return t.setDate(t.getDate()+2),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),d=Ne({keyword:"",diagnosis_type:"",syndrome_type:"",assistant_id:"",diagnosis_confirmed:"",appointment_date:"",has_appointment:"",pending_assign:"",pending_booking:"",completed_appointment:""}),j=c(!1),ht=[{label:"全部",value:""},{label:"已挂号",value:"1"},{label:"未挂号",value:"0"}],yt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],kt=Q(()=>[{label:"昨天挂号",value:ve.value},{label:"前天挂号",value:ge.value},{label:"当天挂号",value:K.value},{label:"明天挂号",value:fe.value},{label:"后天挂号",value:he.value},{label:"全部",value:""}]),ye=c({}),ke=c(void 0),be=c(void 0),Ce=c(void 0),{pager:h,getLists:b}=nn({fetchFun:$,params:d}),Ve=Q(()=>h.lists.length<(h.count||0)),Fe=()=>b({silent:!0}),B=()=>{h.page=1,b(),D()},bt=()=>{d.keyword="",d.diagnosis_type="",d.syndrome_type="",d.assistant_id="",d.diagnosis_confirmed="",d.appointment_date=K.value,d.has_appointment="",d.pending_assign="",d.pending_booking="",d.completed_appointment="",h.page=1,b(),D()},Ct=t=>{d.has_appointment=t,d.pending_booking="",d.completed_appointment="",h.page=1,b(),D()},Vt=t=>{d.diagnosis_confirmed=t,d.pending_booking="",d.completed_appointment="",h.page=1,b(),D()},xt=async t=>{d.pending_assign="",d.pending_booking="",d.completed_appointment="",d.has_appointment="",d.appointment_date=t,h.page=1,await b(),D()},Dt=async()=>{d.pending_assign="",d.pending_booking="1",d.completed_appointment="",d.appointment_date="",d.has_appointment="0",h.page=1,await b(),D()},Et=async()=>{d.pending_assign="",d.pending_booking="",d.completed_appointment="1",d.has_appointment="",d.appointment_date="",h.page=1,await b(),D()},$t=async()=>{d.pending_assign="1",d.pending_booking="",d.completed_appointment="",d.has_appointment="",d.appointment_date="",h.page=1,await b(),D()},D=async()=>{try{const[t,e,r,u,k,C,q,ae,M]=await Promise.all([$({appointment_date:ve.value,page_no:1,page_size:1}),$({appointment_date:ge.value,page_no:1,page_size:1}),$({appointment_date:K.value,page_no:1,page_size:1}),$({appointment_date:fe.value,page_no:1,page_size:1}),$({appointment_date:he.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})]);ye.value={[ve.value]:(t==null?void 0:t.count)??0,[ge.value]:(e==null?void 0:e.count)??0,[K.value]:(r==null?void 0:r.count)??0,[fe.value]:(u==null?void 0:u.count)??0,[he.value]:(k==null?void 0:k.count)??0,"":(C==null?void 0:C.count)??0},ke.value=(q==null?void 0:q.count)??0,be.value=(ae==null?void 0:ae.count)??0,Ce.value=(M==null?void 0:M.count)??0}catch(t){console.error("获取日期数量失败",t)}},Rt=async()=>{if(h.loading||!Ve.value)return;const t=(h.page||1)+1;h.loading=!0;try{const e=await $({page_no:t,page_size:h.size,...d});h.page=t,h.lists.push(...(e==null?void 0:e.lists)||[]),h.count=(e==null?void 0:e.count)??h.count}catch(e){console.error("加载更多失败:",e)}finally{h.loading=!1}},xe=c([]),De=c([]),G=c([]),It=async()=>{try{const[t,e,r]=await Promise.all([ot({type:"diagnosis_type"}),ot({type:"syndrome_type"}),Ya()]);xe.value=(t==null?void 0:t.diagnosis_type)||[],De.value=(e==null?void 0:e.syndrome_type)||[],G.value=r||[]}catch(t){console.error("获取字典数据失败:",t)}},We=(t,e)=>{const r=t.find(u=>u.value===e);return r?r.name:e||"-"},zt=t=>{if(!t&&t!==0)return"-";const e=typeof t=="string"?parseInt(t):t;if(G.value.length===0)return"...";const r=G.value.find(u=>(typeof u.id=="string"?parseInt(u.id):u.id)===e);return r?r.name:"-"},Ue=t=>{const e=t.DiagnosisViewRecord||[];return e.length>0&&e.some(r=>r.is_confirmed==1)},At=t=>Ue(t)?t.has_appointment?"":"dh5-card--noapt":"dh5-card--unconfirmed",St=t=>{const e=Number(t.appointment_status);return e===3?"已完成":e===4?"已过号":"已挂号"},wt=t=>{const e=Number(t);return e===3?"已完成":e===4?"已过号":"已挂号"},Oe=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}]:[]},qt=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}},Pt=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}},J=t=>t.has_appointment&&Number(t.appointment_status)===1,Me=t=>{const e=Number(t.appointment_status);return!!(t.has_appointment&&t.appointment_id&&(e===1||e===4))},Lt=t=>{var r;const e=t.assistant_id??t.assistant;return e==null||e===""?!1:Number(e)===Number((r=ie.userInfo)==null?void 0:r.id)},Ee=t=>Lt(t)&&x(["tcm.diagnosis/watchCall"]),X=t=>{var e;return((e=t.video_call_hint)==null?void 0:e.state)||"none"},Nt=t=>{const e=X(t);return e==="live"||e==="pending_room"},Tt=t=>X(t)==="pending_room"?"医生未接通或未同步房间":"点击进入实时房间",Ft=t=>{const e=t.video_call_hint;return e!=null&&e.label?e.label:"暂无可旁观通话"},Wt=t=>{const e=X(t);if(e==="none")return"";if(e==="live")return"通话中";if(e==="pending_room")return"接通中";const r=t.video_call_hint;return(r==null?void 0:r.label)||""},Ut=t=>{if(Ee(t))return!0;const e=X(t);return e==="live"||e==="pending_room"},$e=c(!1),Qe=c(0),Ot=t=>{if(X(t)!=="live"){f.msgWarning("医生未接通或未同步房间号,请稍后再试");return}Qe.value=Number(t.id)||0,$e.value=!0},oe=c(),Ye=c(),Be=c(),He=c(),Mt=()=>{var t;return(t=oe.value)==null?void 0:t.open("add")},Qt=t=>{var e;return(e=oe.value)==null?void 0:e.open("edit",t)},Ke=t=>{var e;return(e=Ye.value)==null?void 0:e.open(t)},je=t=>(t==null?void 0:t.prescription_audit_status)===1&&Number(t==null?void 0:t.prescription_void_status)!==1?"查看":"开方",Yt=t=>{var e;if(!(t!=null&&t.id)){f.msgWarning("诊单信息不完整");return}(e=Be.value)==null||e.open({...t,diagnosis_id:t.id,id:t.appointment_id||0})},Bt=()=>{var t,e;b(),(e=(t=oe.value)==null?void 0:t.refreshCaseList)==null||e.call(t)},Ht=t=>{var e;if(!t.patient_id){f.msgWarning("患者信息不完整");return}(e=He.value)==null||e.open(t)},Kt=async t=>{await f.confirm("确定要删除该诊单吗?"),await Xa({id:t}),b()},de=c(!1),L=c(null),jt=t=>{L.value=t,de.value=!0},N=t=>{const e=L.value;if(de.value=!1,!!e)switch(t){case"assign":Gt(e);break;case"videoQr":if(!J(e)){f.msgWarning("仅「已预约」状态可生成视频二维码");return}Je(e);break;case"confirmQr":Xe(e);break;case"cancelApt":oa(e);break;case"fillIdCard":na(e);break;case"order":Zt(e);break;case"wechat":Ze(e);break;case"delete":Kt(e.id);break}},Z=c(!1),Re=c(!1),re=c(null),I=c({assistant_id:null,is_inherit:!1}),Gt=t=>{re.value=t,I.value.assistant_id=t.assistant_id?Number(t.assistant_id):null,I.value.is_inherit=!1,Z.value=!0},Jt=async()=>{if(!I.value.assistant_id){f.msgWarning("请选择医助");return}Re.value=!0;try{await Ba({id:re.value.id,assistant_id:I.value.assistant_id,is_inherit:I.value.is_inherit?1:0}),Z.value=!1,b()}catch(t){console.error("指派失败:",t)}finally{Re.value=!1}},ee=c(!1),ue=c(),Ie=c(!1),v=Ne({patient_id:"",patient_name:"",phone:"",order_type:"",amount:0,remark:"",has_appointment:!1,appointment_time_text:""}),Xt={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},Zt=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=ue.value)==null||e.clearValidate(),ee.value=!0},ea=()=>{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=ue.value)==null||t.clearValidate()},ta=async()=>{var t;try{await((t=ue.value)==null?void 0:t.validate()),Ie.value=!0;const e=await Za({patient_id:v.patient_id,order_type:v.order_type,amount:v.amount,remark:v.remark});ee.value=!1,b();const r=e==null?void 0:e.order_no;if(r){T.value=!0,F.value=!0,W.value="",pe.value="收款二维码",U.value={patient_name:v.patient_name,has_appointment:v.has_appointment,appointment_time_text:v.appointment_time_text};try{const u=await Ha({order_no:r});u!=null&&u.qrcode_url?W.value=u.qrcode_url:f.msgError("二维码生成失败")}catch(u){f.msgError((u==null?void 0:u.msg)||"生成二维码失败")}finally{F.value=!1}}}catch(e){console.error("创建订单失败:",e)}finally{Ie.value=!1}},te=c(!1),ze=c(!1),Ge=c(),z=Ne({id:0,patient_name:"",id_card:""}),aa={id_card:[{required:!0,validator:(t,e,r)=>{if(!e){r(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(e),k=/^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/.test(e);u||k?r():r(new Error("请输入15或18位有效身份证号"))},trigger:"blur"}]},na=t=>{z.id=t.id,z.patient_name=t.patient_name||"-",z.id_card=t.id_card||"",te.value=!0},sa=async()=>{var t;await((t=Ge.value)==null?void 0:t.validate()),ze.value=!0;try{await Ka({id:z.id,id_card:z.id_card}),f.msgSuccess("补全成功,年龄已自动更新"),te.value=!1,b()}catch(e){f.msgError((e==null?void 0:e.msg)||"补全失败")}finally{ze.value=!1}},T=c(!1),F=c(!1),W=c(""),U=c(null),pe=c("小程序二维码"),Ae=c("confirm"),la=Q(()=>{const t=U.value;return t?t.has_appointment?t.appointment_time_text||"—":"未挂号":"—"}),Je=async t=>{var e;if(!J(t)){f.msgWarning("仅「已预约」状态可生成视频二维码");return}if(!t.patient_id){f.msgWarning("患者信息不完整");return}Ae.value="video",U.value=t,T.value=!0,F.value=!0,W.value="",pe.value="视频二维码";try{const r=await dt();if(!(r!=null&&r.app_id)){f.msgError("小程序未配置"),T.value=!1;return}const u=await lt({doctor_id:t.appointment_doctor_id,diagnosis_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=ie.userInfo)==null?void 0:e.id)||"",mini_program_path:"pages/login/login"});u!=null&&u.qrcode_url?W.value=u.qrcode_url:f.msgError("二维码生成失败")}catch(r){f.msgError((r==null?void 0:r.msg)||"生成二维码失败")}finally{F.value=!1}},Xe=async t=>{var e;if(!J(t)){f.msgWarning("仅「已预约」状态可使用诊单二维码");return}if(!t.patient_id){f.msgWarning("患者信息不完整");return}Ae.value="confirm",U.value=t,T.value=!0,F.value=!0,W.value="",pe.value="诊单二维码";try{const r=await dt();if(!(r!=null&&r.app_id)){f.msgError("小程序未配置"),T.value=!1;return}const u=await lt({diagnosis_id:t.id,doctor_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=ie.userInfo)==null?void 0:e.id)||""});u!=null&&u.qrcode_url?W.value=u.qrcode_url:f.msgError("二维码生成失败")}catch(r){f.msgError((r==null?void 0:r.msg)||"生成二维码失败")}finally{F.value=!1}},ia=()=>{U.value&&(Ae.value==="video"?Je(U.value):Xe(U.value))},oa=async t=>{if(!Me(t)){const e=Number(t.appointment_status);t.has_appointment&&e===3?f.msgWarning("已完成就诊,无法取消挂号"):f.msgWarning("该诊单未挂号或挂号信息异常");return}try{await f.confirm(`确定要取消患者「${t.patient_name}」的挂号吗?`),await en({id:t.appointment_id}),f.msgSuccess("取消挂号成功"),b(),D()}catch(e){e!=="cancel"&&f.msgError((e==null?void 0:e.msg)||"取消挂号失败")}},Se=c(!1),A=c(null),O=c([]),ce=c(0),me=c(!1),Y=c(null),H=c(""),we=c(!1),qe=c(1),Ze=async t=>{A.value=t,Se.value=!0,O.value=[],ce.value=0,Y.value=null,H.value="",qe.value=1,me.value=!0;try{const[e,r]=await Promise.all([it({diagnosis_id:t.id,patient_id:t.patient_id,page_no:1,page_size:20}),ja({patient_id:t.patient_id||t.id}).catch(()=>null)]);O.value=(e==null?void 0:e.lists)||[],ce.value=(e==null?void 0:e.count)||0,Y.value=r}catch(e){console.error(e)}finally{me.value=!1}},da=async()=>{if(A.value){qe.value++;try{const t=await it({diagnosis_id:A.value.id,patient_id:A.value.patient_id,page_no:qe.value,page_size:20});O.value.push(...(t==null?void 0:t.lists)||[])}catch(t){console.error(t)}}},ra=async()=>{var t;if(!H.value.trim()){f.msgWarning("请输入内容");return}we.value=!0;try{await Ga({diagnosis_id:A.value.id,patient_id:A.value.patient_id,content:H.value.trim(),msg_type:"note",staff_name:((t=ie.userInfo)==null?void 0:t.name)||"",external_name:A.value.patient_name||""}),H.value="",Ze(A.value)}catch(e){f.msgError((e==null?void 0:e.msg)||"添加失败")}finally{we.value=!1}},ua=async t=>{await f.confirm("确定删除该记录吗?");try{await Ja({id:t}),O.value=O.value.filter(e=>e.id!==t),ce.value--}catch(e){f.msgError((e==null?void 0:e.msg)||"删除失败")}},pa=15e3;let _e=null;const ca=()=>{typeof document<"u"&&document.hidden||(b({silent:!0}).catch(()=>{}),D())};return ga(async()=>{document.body.classList.add("h5-mode"),d.appointment_date=K.value,It(),b(),typeof requestIdleCallback=="function"?requestIdleCallback(()=>D(),{timeout:2500}):setTimeout(D,200),_e=setInterval(ca,pa)}),fa(()=>{document.body.classList.remove("h5-mode"),_e&&(clearInterval(_e),_e=null)}),(t,e)=>{var at;const r=ka,u=ba,k=Ca,C=xa,q=Da,ae=$a,M=Pa,P=Na,ma=Ta,Pe=La,_a=Fa,et=Wa,ne=Oa,va=Ma,tt=Ea;return l(),o("div",sn,[s("header",ln,[s("div",on,[n(r,{modelValue:d.keyword,"onUpdate:modelValue":e[0]||(e[0]=a=>d.keyword=a),placeholder:"患者姓名 / 手机号",clearable:"","prefix-icon":m(ya),onKeyup:ha(B,["enter"]),onClear:B},null,8,["modelValue","prefix-icon"]),n(u,{class:"dh5-search-btn",type:"primary",onClick:B},{default:i(()=>[...e[32]||(e[32]=[g("查询",-1)])]),_:1})]),s("div",dn,[(l(!0),o(V,null,S(kt.value,a=>(l(),o("span",{key:a.value||"all",class:w(["dh5-chip",{active:d.pending_assign!=="1"&&d.pending_booking!=="1"&&d.completed_appointment!=="1"&&d.appointment_date===a.value}]),onClick:y=>xt(a.value)},[g(p(a.label)+" ",1),ye.value[a.value]!==void 0?(l(),o("em",un,p(ye.value[a.value]),1)):_("",!0)],10,rn))),128)),s("span",{class:w(["dh5-chip","dh5-chip--booking",{active:d.pending_booking==="1"}]),onClick:Dt},[e[33]||(e[33]=g(" 待预约 ",-1)),ke.value!==void 0?(l(),o("em",pn,p(ke.value),1)):_("",!0)],2),s("span",{class:w(["dh5-chip","dh5-chip--done",{active:d.completed_appointment==="1"}]),onClick:Et},[e[34]||(e[34]=g(" 已完成 ",-1)),be.value!==void 0?(l(),o("em",cn,p(be.value),1)):_("",!0)],2),m(x)(["tcm.diagnosis/assign"])?(l(),o("span",{key:0,class:w(["dh5-chip","dh5-chip--pending",{active:d.pending_assign==="1"}]),onClick:$t},[e[35]||(e[35]=g(" 待分配医助 ",-1)),Ce.value!==void 0?(l(),o("em",mn,p(Ce.value),1)):_("",!0)],2)):_("",!0)]),s("div",_n,[s("div",vn,[e[36]||(e[36]=s("span",{class:"dh5-quick-label"},"挂号",-1)),(l(),o(V,null,S(ht,a=>s("span",{key:"a"+a.value,class:w(["dh5-pill",{active:d.has_appointment===a.value}]),onClick:y=>Ct(a.value)},p(a.label),11,gn)),64))]),s("div",fn,[e[37]||(e[37]=s("span",{class:"dh5-quick-label"},"确认",-1)),(l(),o(V,null,S(yt,a=>s("span",{key:"c"+a.value,class:w(["dh5-pill",{active:d.diagnosis_confirmed===a.value}]),onClick:y=>Vt(a.value)},p(a.label),11,hn)),64))]),n(u,{link:"",type:"primary",size:"small",class:"dh5-more-toggle",onClick:e[1]||(e[1]=a=>j.value=!j.value)},{default:i(()=>[g(p(j.value?"收起":"更多")+" ",1),n(k,{class:w({"rotate-180":j.value})},{default:i(()=>[n(m(nt))]),_:1},8,["class"])]),_:1})]),Le(s("div",yn,[n(q,{modelValue:d.diagnosis_type,"onUpdate:modelValue":e[2]||(e[2]=a=>d.diagnosis_type=a),placeholder:"诊断类型",clearable:"",size:"small",onChange:B},{default:i(()=>[(l(!0),o(V,null,S(xe.value,a=>(l(),E(C,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(q,{modelValue:d.syndrome_type,"onUpdate:modelValue":e[3]||(e[3]=a=>d.syndrome_type=a),placeholder:"证型",clearable:"",size:"small",onChange:B},{default:i(()=>[(l(!0),o(V,null,S(De.value,a=>(l(),E(C,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(q,{modelValue:d.assistant_id,"onUpdate:modelValue":e[4]||(e[4]=a=>d.assistant_id=a),placeholder:"医助",clearable:"",filterable:"",size:"small",onChange:B},{default:i(()=>[(l(!0),o(V,null,S(G.value,a=>(l(),E(C,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(u,{size:"small",onClick:bt},{default:i(()=>[...e[38]||(e[38]=[g("重置",-1)])]),_:1})],512),[[Va,j.value]])]),Le((l(),o("main",kn,[m(h).lists.length===0&&!m(h).loading?(l(),o("div",bn,[n(ae,{description:"暂无诊单","image-size":120})])):_("",!0),(l(!0),o(V,null,S(m(h).lists,a=>(l(),o("article",{key:a.id,class:w(["dh5-card",At(a)])},[s("header",{class:"dh5-card-head",onClick:y=>Ke(a.id)},[s("div",Vn,p((a.patient_name||"患").charAt(0)),1),s("div",xn,[s("div",Dn,[g(p(a.patient_name||"-")+" ",1),a.gender_desc?(l(),o("span",En,p(a.gender_desc),1)):_("",!0),a.age!=null?(l(),o("span",$n,p(a.age)+"岁",1)):_("",!0)]),s("div",Rn,[g(" #"+p(a.id)+" · "+p(a.diagnosis_date_text||gt(a.create_time))+" ",1),a.assign_read_at===null&&a.assistant_id>0?(l(),o("span",In,"NEW")):_("",!0)])]),s("div",zn,[Ue(a)?(l(),o("span",An,"已确认")):(l(),o("span",Sn,"未确认")),a.has_prescription?(l(),o("span",wn,"已开方")):_("",!0)])],8,Cn),s("section",{class:"dh5-card-body",onClick:y=>Ke(a.id)},[s("div",{class:w(["dh5-row","dh5-row--apt",Pt(a)])},[e[39]||(e[39]=s("span",{class:"dh5-row-key"},"挂号",-1)),s("div",Pn,[a.has_appointment?(l(),o(V,{key:0},[Oe(a).length?(l(!0),o(V,{key:0},S(Oe(a),y=>(l(),o("div",{key:y.id||`${y.doctor_id}-${y.time_text}`,class:w(["dh5-apt-item",qt(y)])},[s("span",Ln,p(wt(y.status)),1),s("span",Nn,p(y.doctor_name||"-"),1),s("span",Tn,p(y.time_text||"-"),1)],2))),128)):(l(),o(V,{key:1},[s("span",Fn,p(St(a)),1),s("span",Wn,p(a.appointment_doctor_name||"-"),1),s("span",Un,p(a.appointment_time_text||"-"),1)],64))],64)):(l(),o("span",On,"未挂号"))])],2),a.has_prescription?(l(),o("div",Mn,[e[40]||(e[40]=s("span",{class:"dh5-row-key"},"复诊",-1)),s("div",Qn,[s("span",null,p(a.followup_time_text||"—"),1),s("span",Yn,p(a.followup_doctor_name||"—"),1),a.followup_rx_voided?(l(),o("span",Bn,"处方作废")):_("",!0)])])):_("",!0),s("div",Hn,[e[41]||(e[41]=s("span",{class:"dh5-row-key"},"助理",-1)),s("span",Kn,p(zt(a.assistant_id||a.assistant)),1)]),a.diagnosis_type?(l(),o("div",jn,[e[42]||(e[42]=s("span",{class:"dh5-row-key"},"诊断",-1)),s("span",Gn,[g(p(We(xe.value,a.diagnosis_type))+" ",1),a.syndrome_type?(l(),o("span",Jn,"·")):_("",!0),a.syndrome_type?(l(),o("span",Xn,p(We(De.value,a.syndrome_type)),1)):_("",!0)])])):_("",!0)],8,qn),Ut(a)?(l(),o("div",Zn,[Ee(a)&&Nt(a)?(l(),o(V,{key:0},[n(u,{type:"primary",size:"small",icon:m(Qa),onClick:y=>Ot(a)},{default:i(()=>[...e[43]||(e[43]=[g(" 进入旁观 ",-1)])]),_:1},8,["icon","onClick"]),s("span",es,p(Tt(a)),1)],64)):(l(),o("span",ts,p(Ee(a)?Ft(a):Wt(a)),1))])):_("",!0),s("footer",as,[m(x)(["tcm.diagnosis/edit"])?(l(),E(u,{key:0,type:"primary",size:"small",plain:"",onClick:y=>Qt(a.id)},{default:i(()=>[...e[44]||(e[44]=[g(" 诊单 ",-1)])]),_:1},8,["onClick"])):_("",!0),m(x)(["tcm.diagnosis/kaifang"])?(l(),E(u,{key:1,type:je(a)==="查看"?"success":"primary",size:"small",onClick:y=>Yt(a)},{default:i(()=>[g(p(je(a)),1)]),_:2},1032,["type","onClick"])):_("",!0),m(x)(["tcm.diagnosis/guahao"])?(l(),E(u,{key:2,type:"success",size:"small",plain:"",onClick:y=>Ht(a)},{default:i(()=>[...e[45]||(e[45]=[g(" 预约 ",-1)])]),_:1},8,["onClick"])):_("",!0),n(u,{size:"small",class:"dh5-more-btn",onClick:y=>jt(a)},{default:i(()=>[e[46]||(e[46]=g(" 更多",-1)),n(k,{class:"el-icon--right"},{default:i(()=>[n(m(nt))]),_:1})]),_:1},8,["onClick"])])],2))),128)),Ve.value?(l(),o("div",{key:1,class:"dh5-load-more",onClick:Rt},p(m(h).loading?"加载中…":"加载更多"),1)):_("",!0),!Ve.value&&m(h).lists.length>0?(l(),o("div",ns,"— 没有更多了 —")):_("",!0)])),[[tt,m(h).loading]]),m(x)(["tcm.diagnosis/add"])?(l(),o("button",{key:0,class:"dh5-fab",type:"button","aria-label":"新增诊单",onClick:Mt},[n(k,{size:22},{default:i(()=>[n(m(Ra))]),_:1})])):_("",!0),n(m(pt),{ref_key:"editRef",ref:oe,onSuccess:Fe},null,512),n(m(ct),{ref_key:"detailRef",ref:Ye},null,512),n(m(mt),{ref_key:"prescriptionRef",ref:Be,onSuccess:Bt},null,512),n(m(_t),{ref_key:"appointmentRef",ref:He,onSuccess:Fe},null,512),n(m(vt),{modelValue:$e.value,"onUpdate:modelValue":e[5]||(e[5]=a=>$e.value=a),"diagnosis-id":Qe.value,onClosed:m(b)},null,8,["modelValue","diagnosis-id","onClosed"]),n(M,{modelValue:de.value,"onUpdate:modelValue":e[14]||(e[14]=a=>de.value=a),title:L.value?`${L.value.patient_name||"诊单"} · 更多操作`:"更多操作",direction:"btt",size:"auto","with-header":!0,"destroy-on-close":!0},{default:i(()=>[L.value?(l(),o("div",ss,[m(x)(["tcm.diagnosis/assign"])?(l(),o("button",{key:0,class:"dh5-action",onClick:e[6]||(e[6]=a=>N("assign"))},[n(k,null,{default:i(()=>[n(m(Ia))]),_:1}),e[47]||(e[47]=s("span",null,"指派医助",-1))])):_("",!0),J(L.value)&&m(x)(["tcm.diagnosis/videoQr"])?(l(),o("button",{key:1,class:"dh5-action",onClick:e[7]||(e[7]=a=>N("videoQr"))},[n(k,null,{default:i(()=>[n(m(st))]),_:1}),e[48]||(e[48]=s("span",null,"视频二维码",-1))])):_("",!0),J(L.value)&&m(x)(["tcm.diagnosis/guahao"])?(l(),o("button",{key:2,class:"dh5-action",onClick:e[8]||(e[8]=a=>N("confirmQr"))},[n(k,null,{default:i(()=>[n(m(st))]),_:1}),e[49]||(e[49]=s("span",null,"诊单二维码",-1))])):_("",!0),Me(L.value)&&m(x)(["tcm.diagnosis/guahao"])?(l(),o("button",{key:3,class:"dh5-action",onClick:e[9]||(e[9]=a=>N("cancelApt"))},[n(k,null,{default:i(()=>[n(m(za))]),_:1}),e[50]||(e[50]=s("span",null,"取消挂号",-1))])):_("",!0),m(x)(["tcm.diagnosis/edit"])?(l(),o("button",{key:4,class:"dh5-action",onClick:e[10]||(e[10]=a=>N("fillIdCard"))},[n(k,null,{default:i(()=>[n(m(Aa))]),_:1}),e[51]||(e[51]=s("span",null,"补全身份证",-1))])):_("",!0),m(x)(["tcm.diagnosis/order"])?(l(),o("button",{key:5,class:"dh5-action",onClick:e[11]||(e[11]=a=>N("order"))},[n(k,null,{default:i(()=>[n(m(Sa))]),_:1}),e[52]||(e[52]=s("span",null,"创建订单",-1))])):_("",!0),s("button",{class:"dh5-action",onClick:e[12]||(e[12]=a=>N("wechat"))},[n(k,null,{default:i(()=>[n(m(wa))]),_:1}),e[53]||(e[53]=s("span",null,"企微记录",-1))]),m(x)(["tcm.diagnosis/delete"])?(l(),o("button",{key:6,class:"dh5-action dh5-action--danger",onClick:e[13]||(e[13]=a=>N("delete"))},[n(k,null,{default:i(()=>[n(m(qa))]),_:1}),e[54]||(e[54]=s("span",null,"删除诊单",-1))])):_("",!0)])):_("",!0)]),_:1},8,["modelValue","title"]),n(M,{modelValue:Z.value,"onUpdate:modelValue":e[18]||(e[18]=a=>Z.value=a),title:"指派医助",direction:"btt",size:"46%"},{footer:i(()=>[n(u,{class:"dh5-flex1",onClick:e[17]||(e[17]=a=>Z.value=!1)},{default:i(()=>[...e[57]||(e[57]=[g("取消",-1)])]),_:1}),n(u,{class:"dh5-flex1",type:"primary",loading:Re.value,onClick:Jt},{default:i(()=>[...e[58]||(e[58]=[g(" 确定指派 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[n(Pe,{model:I.value,"label-position":"top",class:"dh5-form"},{default:i(()=>[n(P,{label:"选择医助",required:""},{default:i(()=>[n(q,{modelValue:I.value.assistant_id,"onUpdate:modelValue":e[15]||(e[15]=a=>I.value.assistant_id=a),placeholder:"请选择医助",class:"!w-full",filterable:"",clearable:""},{default:i(()=>[(l(!0),o(V,null,S(G.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(P,{label:"继承"},{default:i(()=>[n(ma,{modelValue:I.value.is_inherit,"onUpdate:modelValue":e[16]||(e[16]=a=>I.value.is_inherit=a)},{default:i(()=>[...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(P,{label:"诊单信息"},{default:i(()=>{var a,y;return[s("div",ls,[s("div",null,"患者:"+p((a=re.value)==null?void 0:a.patient_name),1),s("div",null,"诊断日期:"+p(((y=re.value)==null?void 0:y.diagnosis_date_text)||"—"),1)])]}),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(M,{modelValue:ee.value,"onUpdate:modelValue":e[23]||(e[23]=a=>ee.value=a),title:"创建订单",direction:"btt",size:"64%",onClose:ea},{footer:i(()=>[n(u,{class:"dh5-flex1",onClick:e[22]||(e[22]=a=>ee.value=!1)},{default:i(()=>[...e[59]||(e[59]=[g("取消",-1)])]),_:1}),n(u,{class:"dh5-flex1",type:"primary",loading:Ie.value,onClick:ta},{default:i(()=>[...e[60]||(e[60]=[g(" 创建订单 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[n(Pe,{ref_key:"orderFormRef",ref:ue,model:v,rules:Xt,"label-position":"top",class:"dh5-form"},{default:i(()=>[n(P,{label:"患者"},{default:i(()=>[s("span",null,p(v.patient_name)+" ("+p(Te(v.phone))+")",1)]),_:1}),n(P,{label:"订单类型",prop:"order_type"},{default:i(()=>[n(q,{modelValue:v.order_type,"onUpdate:modelValue":e[19]||(e[19]=a=>v.order_type=a),placeholder:"请选择",class:"!w-full"},{default:i(()=>[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(P,{label:"订单金额",prop:"amount"},{default:i(()=>[n(_a,{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(P,{label:"备注",prop:"remark"},{default:i(()=>[n(r,{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(et,{modelValue:te.value,"onUpdate:modelValue":e[26]||(e[26]=a=>te.value=a),title:"补全身份证号","close-on-click-modal":!1,onClose:e[27]||(e[27]=a=>z.id_card="")},{footer:i(()=>[n(u,{onClick:e[25]||(e[25]=a=>te.value=!1)},{default:i(()=>[...e[61]||(e[61]=[g("取消",-1)])]),_:1}),n(u,{type:"primary",loading:ze.value,onClick:sa},{default:i(()=>[...e[62]||(e[62]=[g(" 提交 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[n(Pe,{ref_key:"fillIdCardFormRef",ref:Ge,model:z,rules:aa,"label-position":"top",class:"dh5-form"},{default:i(()=>[n(P,{label:"患者"},{default:i(()=>[s("span",is,p(z.patient_name),1)]),_:1}),n(P,{label:"身份证号",prop:"id_card"},{default:i(()=>[n(r,{modelValue:z.id_card,"onUpdate:modelValue":e[24]||(e[24]=a=>z.id_card=a),placeholder:"请输入15或18位身份证号",maxlength:"18","show-word-limit":"",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(et,{modelValue:T.value,"onUpdate:modelValue":e[29]||(e[29]=a=>T.value=a),title:pe.value,"close-on-click-modal":!1},{footer:i(()=>[n(u,{onClick:e[28]||(e[28]=a=>T.value=!1)},{default:i(()=>[...e[65]||(e[65]=[g("关闭",-1)])]),_:1}),F.value?_("",!0):(l(),E(u,{key:0,type:"primary",onClick:ia},{default:i(()=>[...e[66]||(e[66]=[g("重新生成",-1)])]),_:1}))]),default:i(()=>{var a;return[s("div",os,[F.value?(l(),o("div",ds,[n(k,{class:"is-loading",size:36},{default:i(()=>[n(m(Ua))]),_:1}),e[63]||(e[63]=s("div",{class:"dh5-qr-tip"},"生成中...",-1))])):W.value?(l(),o("div",rs,[s("img",{src:W.value,alt:"小程序二维码",class:"dh5-qr-img"},null,8,us),s("div",ps,[s("div",null,"患者:"+p((a=U.value)==null?void 0:a.patient_name),1),s("div",null,"挂号时间:"+p(la.value),1),e[64]||(e[64]=s("div",{class:"dh5-qr-hint"},"请使用企业微信扫描二维码,然后转发给患者",-1))])])):(l(),o("div",cs,"生成失败,请重试"))])]}),_:1},8,["modelValue","title"]),n(M,{modelValue:Se.value,"onUpdate:modelValue":e[31]||(e[31]=a=>Se.value=a),title:`企微记录 - ${((at=A.value)==null?void 0:at.patient_name)||""}`,direction:"rtl",size:"100%","destroy-on-close":!0},{default:i(()=>[Y.value?(l(),o("div",ms,[s("div",_s,[e[67]||(e[67]=s("span",{class:"dh5-wx-key"},"手机号",-1)),s("span",vs,p(Te(Y.value.phone)||"-"),1)]),s("div",gs,[e[69]||(e[69]=s("span",{class:"dh5-wx-key"},"企微 ID",-1)),s("span",fs,[Y.value.external_userid?(l(),o("span",hs,p(Y.value.external_userid),1)):(l(),E(ne,{key:1,type:"info",size:"small"},{default:i(()=>[...e[68]||(e[68]=[g("未关联",-1)])]),_:1}))])]),s("div",ys,[e[72]||(e[72]=s("span",{class:"dh5-wx-key"},"会话存档",-1)),s("span",ks,[Y.value.msgaudit_enabled?(l(),E(ne,{key:0,type:"success",size:"small"},{default:i(()=>[...e[70]||(e[70]=[g("已开通",-1)])]),_:1})):(l(),E(ne,{key:1,type:"info",size:"small"},{default:i(()=>[...e[71]||(e[71]=[g("未配置",-1)])]),_:1}))])])])):_("",!0),s("div",bs,[n(r,{modelValue:H.value,"onUpdate:modelValue":e[30]||(e[30]=a=>H.value=a),type:"textarea",rows:2,placeholder:"添加沟通记录..."},null,8,["modelValue"]),n(u,{type:"primary",loading:we.value,size:"small",onClick:ra},{default:i(()=>[...e[73]||(e[73]=[g(" 添加 ",-1)])]),_:1},8,["loading"])]),Le((l(),o("div",Cs,[O.value.length===0&&!me.value?(l(),o("div",Vs," 暂无聊天记录 ")):(l(),o("div",xs,[(l(!0),o(V,null,S(O.value,a=>{var y;return l(),o("div",{key:a.id,class:"dh5-wx-item"},[s("div",Ds,[s("div",Es,[n(ne,{type:a.direction===0?"primary":"success",size:"small"},{default:i(()=>[g(p(a.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),s("span",$s,p(a.direction===0?a.staff_name:a.external_name||((y=A.value)==null?void 0:y.patient_name)),1),a.msg_type==="note"?(l(),E(ne,{key:0,type:"warning",size:"small"},{default:i(()=>[...e[74]||(e[74]=[g("备注",-1)])]),_:1})):_("",!0)]),s("div",Rs,[s("span",Is,p(ft(a.chat_time)),1),n(u,{type:"danger",link:"",size:"small",onClick:Ls=>ua(a.id)},{default:i(()=>[...e[75]||(e[75]=[g(" 删除 ",-1)])]),_:1},8,["onClick"])])]),s("div",zs,p(a.content),1),a.media_url?(l(),o("div",As,[n(va,{src:a.media_url,style:{"max-width":"200px"},fit:"contain","preview-src-list":[a.media_url]},null,8,["src","preview-src-list"])])):_("",!0)])}),128))])),ce.value>O.value.length?(l(),o("div",{key:2,class:"dh5-load-more",onClick:da}," 加载更多 ")):_("",!0)])),[[tt,me.value]])]),_:1},8,["modelValue","title"])])}}}),Bs=an(ws,[["__scopeId","data-v-b33b6cdf"]]);export{Bs as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DxLWCQnV.js","assets/.pnpm-9dA1PEvN.js","assets/.pnpm-LiWq8Xu0.css","assets/tcm-Fi_swgCr.js","assets/index-BWzN7QIb.js","assets/index-or10At3s.css","assets/perm-BzF8JgcJ.js","assets/DailyMatrix-BOqZMkKS.js","assets/picker-DfI3CPnQ.js","assets/index-dYaCh-CN.js","assets/index-dh40Du6y.css","assets/index-xDQ_OZln.js","assets/index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js","assets/index-fA0EWEUO.js","assets/index-BYMg0OFw.css","assets/index-DFkJDhf6.js","assets/file-BL6iPgPC.js","assets/index.vue_vue_type_script_setup_true_lang-Blf417m7.js","assets/usePaging-Boz1Q6w3.js","assets/index-D6uL8V1j.css","assets/picker-CLzhBfnG.css","assets/DiagnosisTodoList-CAIMA53u.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix--Ay5C05Q.css","assets/CaseRecordList-DlCqPijV.js","assets/CaseRecordList-DEgrl9PS.css","assets/CallRecordPanel-CJ3iGibG.js","assets/RecordingPlaybackBlock-CN4w1UI-.js","assets/RecordingVideoPlayer-DIfduEP7.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-p7h_1hh9.css","assets/ImChatRecordPanel-BMjxk7mx.js","assets/dayjs-BsOAYQJw.js","assets/im-business-message-parse-DmDISFGN.js","assets/ImChatRecordPanel-BRnJl8ir.css","assets/AssignLogPanel-CF42MNq_.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DxBIlcME.js","assets/doctor-Chj6BcVp.js","assets/AppointmentRecordPanel-BWS3OyF0.css","assets/NoteTimeline-DxUNQs4y.js","assets/patient-Btpwd7dp.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-CKjXSixL.js","assets/PrescriptionOrderDetailDrawer-CEi7ZXfx.js","assets/prescription-order-utils-B0fYlULc.js","assets/PrescriptionOrderDetailDrawer-DL92yzHH.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-B5cu05RL.js","assets/index-CNLsF7Nt.js","assets/medicine-DezWRkkS.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-DxQanmqx.css","assets/edit-Cgsl1tY9.css","assets/TrackingNoteTimeline-C-2kS81H.css","assets/detail-DwhNQqa0.js","assets/appointment-Bc2rxQW1.js","assets/appointment-DHf6UVnR.css","assets/AssistantWatchCallDialog-CRByNVWz.js","assets/AssistantWatchCallDialog-BYViF8Fb.css"])))=>i.map(i=>d[i]); +import{o as ut,ap as ga,aq as fa,q as l,r as o,s,v as n,b8 as ha,u as m,bA as ya,b7 as ka,D as i,L as g,K as ba,F as V,G as S,ae as w,T as p,P as _,w as Ca,ck as nt,ac as Le,ad as Va,O as E,bn as xa,bm as Da,bi as Ea,bB as $a,cv as Ra,cl as Ia,bE as st,cO as za,d2 as Aa,bH as Sa,as as wa,d1 as qa,B as Pa,b9 as La,b6 as Na,bd as Ta,J as Fa,bt as Wa,b5 as Ua,br as Oa,aa as Ma,cb as se,p as Q,ba as Ne,M as c,bF as Qa,al as le}from"./.pnpm-9dA1PEvN.js";import{aq as $,i as Ya,ar as Ba,Q as Ha,at as Ka,a2 as lt,au as it,ay as ja,av as Ga,aw as Ja,ax as Xa}from"./tcm-Fi_swgCr.js";import{i as Za}from"./order-B6cEisB-.js";import{m as en}from"./doctor-Chj6BcVp.js";import{u as tn,m as ot,i as f,_ as an}from"./index-BWzN7QIb.js";import{g as dt}from"./weapp-TlfRpIke.js";import{u as nn}from"./usePaging-Boz1Q6w3.js";import{h as x}from"./perm-BzF8JgcJ.js";import{d as rt}from"./dayjs-BsOAYQJw.js";const sn={class:"dh5"},ln={class:"dh5-topbar"},on={class:"dh5-search"},dn={class:"dh5-chips dh5-chips--scroll"},rn=["onClick"],un={key:0},pn={key:0},cn={key:0},mn={key:0},_n={class:"dh5-quick"},vn={class:"dh5-quick-group"},gn=["onClick"],fn={class:"dh5-quick-group"},hn=["onClick"],yn={class:"dh5-more-filter"},kn={class:"dh5-list"},bn={key:0,class:"dh5-empty"},Cn=["onClick"],Vn={class:"dh5-card-avatar"},xn={class:"dh5-card-id-name"},Dn={class:"dh5-card-name"},En={key:0,class:"dh5-meta-gender"},$n={key:1,class:"dh5-meta-age"},Rn={class:"dh5-card-sub"},In={key:0,class:"dh5-tag-new"},zn={class:"dh5-card-tags"},An={key:0,class:"dh5-tag dh5-tag--ok"},Sn={key:1,class:"dh5-tag dh5-tag--warn"},wn={key:2,class:"dh5-tag dh5-tag--info"},qn=["onClick"],Pn={class:"dh5-row-val"},Ln={class:"dh5-apt-status"},Nn={class:"dh5-apt-doctor"},Tn={class:"dh5-apt-time"},Fn={class:"dh5-apt-status"},Wn={class:"dh5-apt-doctor"},Un={class:"dh5-apt-time"},On={key:1,class:"dh5-apt-none"},Mn={key:0,class:"dh5-row dh5-row--followup"},Qn={class:"dh5-row-val"},Yn={class:"dh5-meta-doctor"},Bn={key:0,class:"dh5-tag dh5-tag--gray"},Hn={class:"dh5-row"},Kn={class:"dh5-row-val"},jn={key:1,class:"dh5-row"},Gn={class:"dh5-row-val"},Jn={key:0,class:"dh5-meta-mute"},Xn={key:1},Zn={key:0,class:"dh5-card-watch"},es={class:"dh5-watch-tip"},ts={key:1,class:"dh5-watch-mute"},as={class:"dh5-card-foot"},ns={key:2,class:"dh5-no-more"},ss={key:0,class:"dh5-actions"},ls={class:"dh5-form-tip"},is={class:"font-medium"},os={class:"dh5-qr"},ds={key:0,class:"dh5-qr-loading"},rs={key:1},us=["src"],ps={class:"dh5-qr-meta"},cs={key:2,class:"dh5-qr-fail"},ms={key:0,class:"dh5-wx-contact"},_s={class:"dh5-wx-contact-row"},vs={class:"dh5-wx-val"},gs={class:"dh5-wx-contact-row"},fs={class:"dh5-wx-val"},hs={key:0},ys={class:"dh5-wx-contact-row"},ks={class:"dh5-wx-val"},bs={class:"dh5-wx-add"},Cs={class:"dh5-wx-list-wrap"},Vs={key:0,class:"dh5-wx-empty"},xs={key:1,class:"dh5-wx-list"},Ds={class:"dh5-wx-head"},Es={class:"dh5-wx-head-left"},$s={class:"dh5-wx-name"},Rs={class:"dh5-wx-head-right"},Is={class:"dh5-wx-time"},zs={class:"dh5-wx-content"},As={key:0,class:"dh5-wx-media"},Ss=ut({name:"tcmDiagnosisH5"}),ws=ut({...Ss,setup(qs){const pt=se(()=>le(()=>import("./edit-DxLWCQnV.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]))),ct=se(()=>le(()=>import("./detail-DwhNQqa0.js"),__vite__mapDeps([58,9,1,2,4,5,10,3]))),mt=se(()=>le(()=>import("./index-B5cu05RL.js"),__vite__mapDeps([50,1,2,51,52,4,5,53,54,3,55]))),_t=se(()=>le(()=>import("./appointment-Bc2rxQW1.js"),__vite__mapDeps([59,1,2,34,3,4,5,40,60]))),vt=se(()=>le(()=>import("./AssistantWatchCallDialog-CRByNVWz.js"),__vite__mapDeps([61,1,2,3,4,5,62]))),ie=tn(),gt=t=>{if(!t)return"-";const e=String(t).length===10?Number(t)*1e3:Number(t);return rt(e).format("YYYY-MM-DD HH:mm")},ft=t=>{if(!t)return"-";const e=String(t).length===10?t*1e3:t;return rt(e).format("YYYY-MM-DD HH:mm")},Te=t=>!t||t.length<11?t:t.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),R=t=>String(t).padStart(2,"0"),ve=Q(()=>{const t=new Date;return t.setDate(t.getDate()-1),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),ge=Q(()=>{const t=new Date;return t.setDate(t.getDate()-2),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),K=Q(()=>{const t=new Date;return`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),fe=Q(()=>{const t=new Date;return t.setDate(t.getDate()+1),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),he=Q(()=>{const t=new Date;return t.setDate(t.getDate()+2),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),d=Ne({keyword:"",diagnosis_type:"",syndrome_type:"",assistant_id:"",diagnosis_confirmed:"",appointment_date:"",has_appointment:"",pending_assign:"",pending_booking:"",completed_appointment:""}),j=c(!1),ht=[{label:"全部",value:""},{label:"已挂号",value:"1"},{label:"未挂号",value:"0"}],yt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],kt=Q(()=>[{label:"昨天挂号",value:ve.value},{label:"前天挂号",value:ge.value},{label:"当天挂号",value:K.value},{label:"明天挂号",value:fe.value},{label:"后天挂号",value:he.value},{label:"全部",value:""}]),ye=c({}),ke=c(void 0),be=c(void 0),Ce=c(void 0),{pager:h,getLists:b}=nn({fetchFun:$,params:d}),Ve=Q(()=>h.lists.length<(h.count||0)),Fe=()=>b({silent:!0}),B=()=>{h.page=1,b(),D()},bt=()=>{d.keyword="",d.diagnosis_type="",d.syndrome_type="",d.assistant_id="",d.diagnosis_confirmed="",d.appointment_date=K.value,d.has_appointment="",d.pending_assign="",d.pending_booking="",d.completed_appointment="",h.page=1,b(),D()},Ct=t=>{d.has_appointment=t,d.pending_booking="",d.completed_appointment="",h.page=1,b(),D()},Vt=t=>{d.diagnosis_confirmed=t,d.pending_booking="",d.completed_appointment="",h.page=1,b(),D()},xt=async t=>{d.pending_assign="",d.pending_booking="",d.completed_appointment="",d.has_appointment="",d.appointment_date=t,h.page=1,await b(),D()},Dt=async()=>{d.pending_assign="",d.pending_booking="1",d.completed_appointment="",d.appointment_date="",d.has_appointment="0",h.page=1,await b(),D()},Et=async()=>{d.pending_assign="",d.pending_booking="",d.completed_appointment="1",d.has_appointment="",d.appointment_date="",h.page=1,await b(),D()},$t=async()=>{d.pending_assign="1",d.pending_booking="",d.completed_appointment="",d.has_appointment="",d.appointment_date="",h.page=1,await b(),D()},D=async()=>{try{const[t,e,r,u,k,C,q,ae,M]=await Promise.all([$({appointment_date:ve.value,page_no:1,page_size:1}),$({appointment_date:ge.value,page_no:1,page_size:1}),$({appointment_date:K.value,page_no:1,page_size:1}),$({appointment_date:fe.value,page_no:1,page_size:1}),$({appointment_date:he.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})]);ye.value={[ve.value]:(t==null?void 0:t.count)??0,[ge.value]:(e==null?void 0:e.count)??0,[K.value]:(r==null?void 0:r.count)??0,[fe.value]:(u==null?void 0:u.count)??0,[he.value]:(k==null?void 0:k.count)??0,"":(C==null?void 0:C.count)??0},ke.value=(q==null?void 0:q.count)??0,be.value=(ae==null?void 0:ae.count)??0,Ce.value=(M==null?void 0:M.count)??0}catch(t){console.error("获取日期数量失败",t)}},Rt=async()=>{if(h.loading||!Ve.value)return;const t=(h.page||1)+1;h.loading=!0;try{const e=await $({page_no:t,page_size:h.size,...d});h.page=t,h.lists.push(...(e==null?void 0:e.lists)||[]),h.count=(e==null?void 0:e.count)??h.count}catch(e){console.error("加载更多失败:",e)}finally{h.loading=!1}},xe=c([]),De=c([]),G=c([]),It=async()=>{try{const[t,e,r]=await Promise.all([ot({type:"diagnosis_type"}),ot({type:"syndrome_type"}),Ya()]);xe.value=(t==null?void 0:t.diagnosis_type)||[],De.value=(e==null?void 0:e.syndrome_type)||[],G.value=r||[]}catch(t){console.error("获取字典数据失败:",t)}},We=(t,e)=>{const r=t.find(u=>u.value===e);return r?r.name:e||"-"},zt=t=>{if(!t&&t!==0)return"-";const e=typeof t=="string"?parseInt(t):t;if(G.value.length===0)return"...";const r=G.value.find(u=>(typeof u.id=="string"?parseInt(u.id):u.id)===e);return r?r.name:"-"},Ue=t=>{const e=t.DiagnosisViewRecord||[];return e.length>0&&e.some(r=>r.is_confirmed==1)},At=t=>Ue(t)?t.has_appointment?"":"dh5-card--noapt":"dh5-card--unconfirmed",St=t=>{const e=Number(t.appointment_status);return e===3?"已完成":e===4?"已过号":"已挂号"},wt=t=>{const e=Number(t);return e===3?"已完成":e===4?"已过号":"已挂号"},Oe=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}]:[]},qt=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}},Pt=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}},J=t=>t.has_appointment&&Number(t.appointment_status)===1,Me=t=>{const e=Number(t.appointment_status);return!!(t.has_appointment&&t.appointment_id&&(e===1||e===4))},Lt=t=>{var r;const e=t.assistant_id??t.assistant;return e==null||e===""?!1:Number(e)===Number((r=ie.userInfo)==null?void 0:r.id)},Ee=t=>Lt(t)&&x(["tcm.diagnosis/watchCall"]),X=t=>{var e;return((e=t.video_call_hint)==null?void 0:e.state)||"none"},Nt=t=>{const e=X(t);return e==="live"||e==="pending_room"},Tt=t=>X(t)==="pending_room"?"医生未接通或未同步房间":"点击进入实时房间",Ft=t=>{const e=t.video_call_hint;return e!=null&&e.label?e.label:"暂无可旁观通话"},Wt=t=>{const e=X(t);if(e==="none")return"";if(e==="live")return"通话中";if(e==="pending_room")return"接通中";const r=t.video_call_hint;return(r==null?void 0:r.label)||""},Ut=t=>{if(Ee(t))return!0;const e=X(t);return e==="live"||e==="pending_room"},$e=c(!1),Qe=c(0),Ot=t=>{if(X(t)!=="live"){f.msgWarning("医生未接通或未同步房间号,请稍后再试");return}Qe.value=Number(t.id)||0,$e.value=!0},oe=c(),Ye=c(),Be=c(),He=c(),Mt=()=>{var t;return(t=oe.value)==null?void 0:t.open("add")},Qt=t=>{var e;return(e=oe.value)==null?void 0:e.open("edit",t)},Ke=t=>{var e;return(e=Ye.value)==null?void 0:e.open(t)},je=t=>(t==null?void 0:t.prescription_audit_status)===1&&Number(t==null?void 0:t.prescription_void_status)!==1?"查看":"开方",Yt=t=>{var e;if(!(t!=null&&t.id)){f.msgWarning("诊单信息不完整");return}(e=Be.value)==null||e.open({...t,diagnosis_id:t.id,id:t.appointment_id||0})},Bt=()=>{var t,e;b(),(e=(t=oe.value)==null?void 0:t.refreshCaseList)==null||e.call(t)},Ht=t=>{var e;if(!t.patient_id){f.msgWarning("患者信息不完整");return}(e=He.value)==null||e.open(t)},Kt=async t=>{await f.confirm("确定要删除该诊单吗?"),await Xa({id:t}),b()},de=c(!1),L=c(null),jt=t=>{L.value=t,de.value=!0},N=t=>{const e=L.value;if(de.value=!1,!!e)switch(t){case"assign":Gt(e);break;case"videoQr":if(!J(e)){f.msgWarning("仅「已预约」状态可生成视频二维码");return}Je(e);break;case"confirmQr":Xe(e);break;case"cancelApt":oa(e);break;case"fillIdCard":na(e);break;case"order":Zt(e);break;case"wechat":Ze(e);break;case"delete":Kt(e.id);break}},Z=c(!1),Re=c(!1),re=c(null),I=c({assistant_id:null,is_inherit:!1}),Gt=t=>{re.value=t,I.value.assistant_id=t.assistant_id?Number(t.assistant_id):null,I.value.is_inherit=!1,Z.value=!0},Jt=async()=>{if(!I.value.assistant_id){f.msgWarning("请选择医助");return}Re.value=!0;try{await Ba({id:re.value.id,assistant_id:I.value.assistant_id,is_inherit:I.value.is_inherit?1:0}),Z.value=!1,b()}catch(t){console.error("指派失败:",t)}finally{Re.value=!1}},ee=c(!1),ue=c(),Ie=c(!1),v=Ne({patient_id:"",patient_name:"",phone:"",order_type:"",amount:0,remark:"",has_appointment:!1,appointment_time_text:""}),Xt={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},Zt=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=ue.value)==null||e.clearValidate(),ee.value=!0},ea=()=>{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=ue.value)==null||t.clearValidate()},ta=async()=>{var t;try{await((t=ue.value)==null?void 0:t.validate()),Ie.value=!0;const e=await Za({patient_id:v.patient_id,order_type:v.order_type,amount:v.amount,remark:v.remark});ee.value=!1,b();const r=e==null?void 0:e.order_no;if(r){T.value=!0,F.value=!0,W.value="",pe.value="收款二维码",U.value={patient_name:v.patient_name,has_appointment:v.has_appointment,appointment_time_text:v.appointment_time_text};try{const u=await Ha({order_no:r});u!=null&&u.qrcode_url?W.value=u.qrcode_url:f.msgError("二维码生成失败")}catch(u){f.msgError((u==null?void 0:u.msg)||"生成二维码失败")}finally{F.value=!1}}}catch(e){console.error("创建订单失败:",e)}finally{Ie.value=!1}},te=c(!1),ze=c(!1),Ge=c(),z=Ne({id:0,patient_name:"",id_card:""}),aa={id_card:[{required:!0,validator:(t,e,r)=>{if(!e){r(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(e),k=/^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/.test(e);u||k?r():r(new Error("请输入15或18位有效身份证号"))},trigger:"blur"}]},na=t=>{z.id=t.id,z.patient_name=t.patient_name||"-",z.id_card=t.id_card||"",te.value=!0},sa=async()=>{var t;await((t=Ge.value)==null?void 0:t.validate()),ze.value=!0;try{await Ka({id:z.id,id_card:z.id_card}),f.msgSuccess("补全成功,年龄已自动更新"),te.value=!1,b()}catch(e){f.msgError((e==null?void 0:e.msg)||"补全失败")}finally{ze.value=!1}},T=c(!1),F=c(!1),W=c(""),U=c(null),pe=c("小程序二维码"),Ae=c("confirm"),la=Q(()=>{const t=U.value;return t?t.has_appointment?t.appointment_time_text||"—":"未挂号":"—"}),Je=async t=>{var e;if(!J(t)){f.msgWarning("仅「已预约」状态可生成视频二维码");return}if(!t.patient_id){f.msgWarning("患者信息不完整");return}Ae.value="video",U.value=t,T.value=!0,F.value=!0,W.value="",pe.value="视频二维码";try{const r=await dt();if(!(r!=null&&r.app_id)){f.msgError("小程序未配置"),T.value=!1;return}const u=await lt({doctor_id:t.appointment_doctor_id,diagnosis_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=ie.userInfo)==null?void 0:e.id)||"",mini_program_path:"pages/login/login"});u!=null&&u.qrcode_url?W.value=u.qrcode_url:f.msgError("二维码生成失败")}catch(r){f.msgError((r==null?void 0:r.msg)||"生成二维码失败")}finally{F.value=!1}},Xe=async t=>{var e;if(!J(t)){f.msgWarning("仅「已预约」状态可使用诊单二维码");return}if(!t.patient_id){f.msgWarning("患者信息不完整");return}Ae.value="confirm",U.value=t,T.value=!0,F.value=!0,W.value="",pe.value="诊单二维码";try{const r=await dt();if(!(r!=null&&r.app_id)){f.msgError("小程序未配置"),T.value=!1;return}const u=await lt({diagnosis_id:t.id,doctor_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=ie.userInfo)==null?void 0:e.id)||""});u!=null&&u.qrcode_url?W.value=u.qrcode_url:f.msgError("二维码生成失败")}catch(r){f.msgError((r==null?void 0:r.msg)||"生成二维码失败")}finally{F.value=!1}},ia=()=>{U.value&&(Ae.value==="video"?Je(U.value):Xe(U.value))},oa=async t=>{if(!Me(t)){const e=Number(t.appointment_status);t.has_appointment&&e===3?f.msgWarning("已完成就诊,无法取消挂号"):f.msgWarning("该诊单未挂号或挂号信息异常");return}try{await f.confirm(`确定要取消患者「${t.patient_name}」的挂号吗?`),await en({id:t.appointment_id}),f.msgSuccess("取消挂号成功"),b(),D()}catch(e){e!=="cancel"&&f.msgError((e==null?void 0:e.msg)||"取消挂号失败")}},Se=c(!1),A=c(null),O=c([]),ce=c(0),me=c(!1),Y=c(null),H=c(""),we=c(!1),qe=c(1),Ze=async t=>{A.value=t,Se.value=!0,O.value=[],ce.value=0,Y.value=null,H.value="",qe.value=1,me.value=!0;try{const[e,r]=await Promise.all([it({diagnosis_id:t.id,patient_id:t.patient_id,page_no:1,page_size:20}),ja({patient_id:t.patient_id||t.id}).catch(()=>null)]);O.value=(e==null?void 0:e.lists)||[],ce.value=(e==null?void 0:e.count)||0,Y.value=r}catch(e){console.error(e)}finally{me.value=!1}},da=async()=>{if(A.value){qe.value++;try{const t=await it({diagnosis_id:A.value.id,patient_id:A.value.patient_id,page_no:qe.value,page_size:20});O.value.push(...(t==null?void 0:t.lists)||[])}catch(t){console.error(t)}}},ra=async()=>{var t;if(!H.value.trim()){f.msgWarning("请输入内容");return}we.value=!0;try{await Ga({diagnosis_id:A.value.id,patient_id:A.value.patient_id,content:H.value.trim(),msg_type:"note",staff_name:((t=ie.userInfo)==null?void 0:t.name)||"",external_name:A.value.patient_name||""}),H.value="",Ze(A.value)}catch(e){f.msgError((e==null?void 0:e.msg)||"添加失败")}finally{we.value=!1}},ua=async t=>{await f.confirm("确定删除该记录吗?");try{await Ja({id:t}),O.value=O.value.filter(e=>e.id!==t),ce.value--}catch(e){f.msgError((e==null?void 0:e.msg)||"删除失败")}},pa=15e3;let _e=null;const ca=()=>{typeof document<"u"&&document.hidden||(b({silent:!0}).catch(()=>{}),D())};return ga(async()=>{document.body.classList.add("h5-mode"),d.appointment_date=K.value,It(),b(),typeof requestIdleCallback=="function"?requestIdleCallback(()=>D(),{timeout:2500}):setTimeout(D,200),_e=setInterval(ca,pa)}),fa(()=>{document.body.classList.remove("h5-mode"),_e&&(clearInterval(_e),_e=null)}),(t,e)=>{var at;const r=ka,u=ba,k=Ca,C=xa,q=Da,ae=$a,M=Pa,P=Na,ma=Ta,Pe=La,_a=Fa,et=Wa,ne=Oa,va=Ma,tt=Ea;return l(),o("div",sn,[s("header",ln,[s("div",on,[n(r,{modelValue:d.keyword,"onUpdate:modelValue":e[0]||(e[0]=a=>d.keyword=a),placeholder:"患者姓名 / 手机号",clearable:"","prefix-icon":m(ya),onKeyup:ha(B,["enter"]),onClear:B},null,8,["modelValue","prefix-icon"]),n(u,{class:"dh5-search-btn",type:"primary",onClick:B},{default:i(()=>[...e[32]||(e[32]=[g("查询",-1)])]),_:1})]),s("div",dn,[(l(!0),o(V,null,S(kt.value,a=>(l(),o("span",{key:a.value||"all",class:w(["dh5-chip",{active:d.pending_assign!=="1"&&d.pending_booking!=="1"&&d.completed_appointment!=="1"&&d.appointment_date===a.value}]),onClick:y=>xt(a.value)},[g(p(a.label)+" ",1),ye.value[a.value]!==void 0?(l(),o("em",un,p(ye.value[a.value]),1)):_("",!0)],10,rn))),128)),s("span",{class:w(["dh5-chip","dh5-chip--booking",{active:d.pending_booking==="1"}]),onClick:Dt},[e[33]||(e[33]=g(" 待预约 ",-1)),ke.value!==void 0?(l(),o("em",pn,p(ke.value),1)):_("",!0)],2),s("span",{class:w(["dh5-chip","dh5-chip--done",{active:d.completed_appointment==="1"}]),onClick:Et},[e[34]||(e[34]=g(" 已完成 ",-1)),be.value!==void 0?(l(),o("em",cn,p(be.value),1)):_("",!0)],2),m(x)(["tcm.diagnosis/assign"])?(l(),o("span",{key:0,class:w(["dh5-chip","dh5-chip--pending",{active:d.pending_assign==="1"}]),onClick:$t},[e[35]||(e[35]=g(" 待分配医助 ",-1)),Ce.value!==void 0?(l(),o("em",mn,p(Ce.value),1)):_("",!0)],2)):_("",!0)]),s("div",_n,[s("div",vn,[e[36]||(e[36]=s("span",{class:"dh5-quick-label"},"挂号",-1)),(l(),o(V,null,S(ht,a=>s("span",{key:"a"+a.value,class:w(["dh5-pill",{active:d.has_appointment===a.value}]),onClick:y=>Ct(a.value)},p(a.label),11,gn)),64))]),s("div",fn,[e[37]||(e[37]=s("span",{class:"dh5-quick-label"},"确认",-1)),(l(),o(V,null,S(yt,a=>s("span",{key:"c"+a.value,class:w(["dh5-pill",{active:d.diagnosis_confirmed===a.value}]),onClick:y=>Vt(a.value)},p(a.label),11,hn)),64))]),n(u,{link:"",type:"primary",size:"small",class:"dh5-more-toggle",onClick:e[1]||(e[1]=a=>j.value=!j.value)},{default:i(()=>[g(p(j.value?"收起":"更多")+" ",1),n(k,{class:w({"rotate-180":j.value})},{default:i(()=>[n(m(nt))]),_:1},8,["class"])]),_:1})]),Le(s("div",yn,[n(q,{modelValue:d.diagnosis_type,"onUpdate:modelValue":e[2]||(e[2]=a=>d.diagnosis_type=a),placeholder:"诊断类型",clearable:"",size:"small",onChange:B},{default:i(()=>[(l(!0),o(V,null,S(xe.value,a=>(l(),E(C,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(q,{modelValue:d.syndrome_type,"onUpdate:modelValue":e[3]||(e[3]=a=>d.syndrome_type=a),placeholder:"证型",clearable:"",size:"small",onChange:B},{default:i(()=>[(l(!0),o(V,null,S(De.value,a=>(l(),E(C,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(q,{modelValue:d.assistant_id,"onUpdate:modelValue":e[4]||(e[4]=a=>d.assistant_id=a),placeholder:"医助",clearable:"",filterable:"",size:"small",onChange:B},{default:i(()=>[(l(!0),o(V,null,S(G.value,a=>(l(),E(C,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(u,{size:"small",onClick:bt},{default:i(()=>[...e[38]||(e[38]=[g("重置",-1)])]),_:1})],512),[[Va,j.value]])]),Le((l(),o("main",kn,[m(h).lists.length===0&&!m(h).loading?(l(),o("div",bn,[n(ae,{description:"暂无诊单","image-size":120})])):_("",!0),(l(!0),o(V,null,S(m(h).lists,a=>(l(),o("article",{key:a.id,class:w(["dh5-card",At(a)])},[s("header",{class:"dh5-card-head",onClick:y=>Ke(a.id)},[s("div",Vn,p((a.patient_name||"患").charAt(0)),1),s("div",xn,[s("div",Dn,[g(p(a.patient_name||"-")+" ",1),a.gender_desc?(l(),o("span",En,p(a.gender_desc),1)):_("",!0),a.age!=null?(l(),o("span",$n,p(a.age)+"岁",1)):_("",!0)]),s("div",Rn,[g(" #"+p(a.id)+" · "+p(a.diagnosis_date_text||gt(a.create_time))+" ",1),a.assign_read_at===null&&a.assistant_id>0?(l(),o("span",In,"NEW")):_("",!0)])]),s("div",zn,[Ue(a)?(l(),o("span",An,"已确认")):(l(),o("span",Sn,"未确认")),a.has_prescription?(l(),o("span",wn,"已开方")):_("",!0)])],8,Cn),s("section",{class:"dh5-card-body",onClick:y=>Ke(a.id)},[s("div",{class:w(["dh5-row","dh5-row--apt",Pt(a)])},[e[39]||(e[39]=s("span",{class:"dh5-row-key"},"挂号",-1)),s("div",Pn,[a.has_appointment?(l(),o(V,{key:0},[Oe(a).length?(l(!0),o(V,{key:0},S(Oe(a),y=>(l(),o("div",{key:y.id||`${y.doctor_id}-${y.time_text}`,class:w(["dh5-apt-item",qt(y)])},[s("span",Ln,p(wt(y.status)),1),s("span",Nn,p(y.doctor_name||"-"),1),s("span",Tn,p(y.time_text||"-"),1)],2))),128)):(l(),o(V,{key:1},[s("span",Fn,p(St(a)),1),s("span",Wn,p(a.appointment_doctor_name||"-"),1),s("span",Un,p(a.appointment_time_text||"-"),1)],64))],64)):(l(),o("span",On,"未挂号"))])],2),a.has_prescription?(l(),o("div",Mn,[e[40]||(e[40]=s("span",{class:"dh5-row-key"},"复诊",-1)),s("div",Qn,[s("span",null,p(a.followup_time_text||"—"),1),s("span",Yn,p(a.followup_doctor_name||"—"),1),a.followup_rx_voided?(l(),o("span",Bn,"处方作废")):_("",!0)])])):_("",!0),s("div",Hn,[e[41]||(e[41]=s("span",{class:"dh5-row-key"},"助理",-1)),s("span",Kn,p(zt(a.assistant_id||a.assistant)),1)]),a.diagnosis_type?(l(),o("div",jn,[e[42]||(e[42]=s("span",{class:"dh5-row-key"},"诊断",-1)),s("span",Gn,[g(p(We(xe.value,a.diagnosis_type))+" ",1),a.syndrome_type?(l(),o("span",Jn,"·")):_("",!0),a.syndrome_type?(l(),o("span",Xn,p(We(De.value,a.syndrome_type)),1)):_("",!0)])])):_("",!0)],8,qn),Ut(a)?(l(),o("div",Zn,[Ee(a)&&Nt(a)?(l(),o(V,{key:0},[n(u,{type:"primary",size:"small",icon:m(Qa),onClick:y=>Ot(a)},{default:i(()=>[...e[43]||(e[43]=[g(" 进入旁观 ",-1)])]),_:1},8,["icon","onClick"]),s("span",es,p(Tt(a)),1)],64)):(l(),o("span",ts,p(Ee(a)?Ft(a):Wt(a)),1))])):_("",!0),s("footer",as,[m(x)(["tcm.diagnosis/edit"])?(l(),E(u,{key:0,type:"primary",size:"small",plain:"",onClick:y=>Qt(a.id)},{default:i(()=>[...e[44]||(e[44]=[g(" 诊单 ",-1)])]),_:1},8,["onClick"])):_("",!0),m(x)(["tcm.diagnosis/kaifang"])?(l(),E(u,{key:1,type:je(a)==="查看"?"success":"primary",size:"small",onClick:y=>Yt(a)},{default:i(()=>[g(p(je(a)),1)]),_:2},1032,["type","onClick"])):_("",!0),m(x)(["tcm.diagnosis/guahao"])?(l(),E(u,{key:2,type:"success",size:"small",plain:"",onClick:y=>Ht(a)},{default:i(()=>[...e[45]||(e[45]=[g(" 预约 ",-1)])]),_:1},8,["onClick"])):_("",!0),n(u,{size:"small",class:"dh5-more-btn",onClick:y=>jt(a)},{default:i(()=>[e[46]||(e[46]=g(" 更多",-1)),n(k,{class:"el-icon--right"},{default:i(()=>[n(m(nt))]),_:1})]),_:1},8,["onClick"])])],2))),128)),Ve.value?(l(),o("div",{key:1,class:"dh5-load-more",onClick:Rt},p(m(h).loading?"加载中…":"加载更多"),1)):_("",!0),!Ve.value&&m(h).lists.length>0?(l(),o("div",ns,"— 没有更多了 —")):_("",!0)])),[[tt,m(h).loading]]),m(x)(["tcm.diagnosis/add"])?(l(),o("button",{key:0,class:"dh5-fab",type:"button","aria-label":"新增诊单",onClick:Mt},[n(k,{size:22},{default:i(()=>[n(m(Ra))]),_:1})])):_("",!0),n(m(pt),{ref_key:"editRef",ref:oe,onSuccess:Fe},null,512),n(m(ct),{ref_key:"detailRef",ref:Ye},null,512),n(m(mt),{ref_key:"prescriptionRef",ref:Be,onSuccess:Bt},null,512),n(m(_t),{ref_key:"appointmentRef",ref:He,onSuccess:Fe},null,512),n(m(vt),{modelValue:$e.value,"onUpdate:modelValue":e[5]||(e[5]=a=>$e.value=a),"diagnosis-id":Qe.value,onClosed:m(b)},null,8,["modelValue","diagnosis-id","onClosed"]),n(M,{modelValue:de.value,"onUpdate:modelValue":e[14]||(e[14]=a=>de.value=a),title:L.value?`${L.value.patient_name||"诊单"} · 更多操作`:"更多操作",direction:"btt",size:"auto","with-header":!0,"destroy-on-close":!0},{default:i(()=>[L.value?(l(),o("div",ss,[m(x)(["tcm.diagnosis/assign"])?(l(),o("button",{key:0,class:"dh5-action",onClick:e[6]||(e[6]=a=>N("assign"))},[n(k,null,{default:i(()=>[n(m(Ia))]),_:1}),e[47]||(e[47]=s("span",null,"指派医助",-1))])):_("",!0),J(L.value)&&m(x)(["tcm.diagnosis/videoQr"])?(l(),o("button",{key:1,class:"dh5-action",onClick:e[7]||(e[7]=a=>N("videoQr"))},[n(k,null,{default:i(()=>[n(m(st))]),_:1}),e[48]||(e[48]=s("span",null,"视频二维码",-1))])):_("",!0),J(L.value)&&m(x)(["tcm.diagnosis/guahao"])?(l(),o("button",{key:2,class:"dh5-action",onClick:e[8]||(e[8]=a=>N("confirmQr"))},[n(k,null,{default:i(()=>[n(m(st))]),_:1}),e[49]||(e[49]=s("span",null,"诊单二维码",-1))])):_("",!0),Me(L.value)&&m(x)(["tcm.diagnosis/guahao"])?(l(),o("button",{key:3,class:"dh5-action",onClick:e[9]||(e[9]=a=>N("cancelApt"))},[n(k,null,{default:i(()=>[n(m(za))]),_:1}),e[50]||(e[50]=s("span",null,"取消挂号",-1))])):_("",!0),m(x)(["tcm.diagnosis/edit"])?(l(),o("button",{key:4,class:"dh5-action",onClick:e[10]||(e[10]=a=>N("fillIdCard"))},[n(k,null,{default:i(()=>[n(m(Aa))]),_:1}),e[51]||(e[51]=s("span",null,"补全身份证",-1))])):_("",!0),m(x)(["tcm.diagnosis/order"])?(l(),o("button",{key:5,class:"dh5-action",onClick:e[11]||(e[11]=a=>N("order"))},[n(k,null,{default:i(()=>[n(m(Sa))]),_:1}),e[52]||(e[52]=s("span",null,"创建订单",-1))])):_("",!0),s("button",{class:"dh5-action",onClick:e[12]||(e[12]=a=>N("wechat"))},[n(k,null,{default:i(()=>[n(m(wa))]),_:1}),e[53]||(e[53]=s("span",null,"企微记录",-1))]),m(x)(["tcm.diagnosis/delete"])?(l(),o("button",{key:6,class:"dh5-action dh5-action--danger",onClick:e[13]||(e[13]=a=>N("delete"))},[n(k,null,{default:i(()=>[n(m(qa))]),_:1}),e[54]||(e[54]=s("span",null,"删除诊单",-1))])):_("",!0)])):_("",!0)]),_:1},8,["modelValue","title"]),n(M,{modelValue:Z.value,"onUpdate:modelValue":e[18]||(e[18]=a=>Z.value=a),title:"指派医助",direction:"btt",size:"46%"},{footer:i(()=>[n(u,{class:"dh5-flex1",onClick:e[17]||(e[17]=a=>Z.value=!1)},{default:i(()=>[...e[57]||(e[57]=[g("取消",-1)])]),_:1}),n(u,{class:"dh5-flex1",type:"primary",loading:Re.value,onClick:Jt},{default:i(()=>[...e[58]||(e[58]=[g(" 确定指派 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[n(Pe,{model:I.value,"label-position":"top",class:"dh5-form"},{default:i(()=>[n(P,{label:"选择医助",required:""},{default:i(()=>[n(q,{modelValue:I.value.assistant_id,"onUpdate:modelValue":e[15]||(e[15]=a=>I.value.assistant_id=a),placeholder:"请选择医助",class:"!w-full",filterable:"",clearable:""},{default:i(()=>[(l(!0),o(V,null,S(G.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(P,{label:"继承"},{default:i(()=>[n(ma,{modelValue:I.value.is_inherit,"onUpdate:modelValue":e[16]||(e[16]=a=>I.value.is_inherit=a)},{default:i(()=>[...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(P,{label:"诊单信息"},{default:i(()=>{var a,y;return[s("div",ls,[s("div",null,"患者:"+p((a=re.value)==null?void 0:a.patient_name),1),s("div",null,"诊断日期:"+p(((y=re.value)==null?void 0:y.diagnosis_date_text)||"—"),1)])]}),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(M,{modelValue:ee.value,"onUpdate:modelValue":e[23]||(e[23]=a=>ee.value=a),title:"创建订单",direction:"btt",size:"64%",onClose:ea},{footer:i(()=>[n(u,{class:"dh5-flex1",onClick:e[22]||(e[22]=a=>ee.value=!1)},{default:i(()=>[...e[59]||(e[59]=[g("取消",-1)])]),_:1}),n(u,{class:"dh5-flex1",type:"primary",loading:Ie.value,onClick:ta},{default:i(()=>[...e[60]||(e[60]=[g(" 创建订单 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[n(Pe,{ref_key:"orderFormRef",ref:ue,model:v,rules:Xt,"label-position":"top",class:"dh5-form"},{default:i(()=>[n(P,{label:"患者"},{default:i(()=>[s("span",null,p(v.patient_name)+" ("+p(Te(v.phone))+")",1)]),_:1}),n(P,{label:"订单类型",prop:"order_type"},{default:i(()=>[n(q,{modelValue:v.order_type,"onUpdate:modelValue":e[19]||(e[19]=a=>v.order_type=a),placeholder:"请选择",class:"!w-full"},{default:i(()=>[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(P,{label:"订单金额",prop:"amount"},{default:i(()=>[n(_a,{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(P,{label:"备注",prop:"remark"},{default:i(()=>[n(r,{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(et,{modelValue:te.value,"onUpdate:modelValue":e[26]||(e[26]=a=>te.value=a),title:"补全身份证号","close-on-click-modal":!1,onClose:e[27]||(e[27]=a=>z.id_card="")},{footer:i(()=>[n(u,{onClick:e[25]||(e[25]=a=>te.value=!1)},{default:i(()=>[...e[61]||(e[61]=[g("取消",-1)])]),_:1}),n(u,{type:"primary",loading:ze.value,onClick:sa},{default:i(()=>[...e[62]||(e[62]=[g(" 提交 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[n(Pe,{ref_key:"fillIdCardFormRef",ref:Ge,model:z,rules:aa,"label-position":"top",class:"dh5-form"},{default:i(()=>[n(P,{label:"患者"},{default:i(()=>[s("span",is,p(z.patient_name),1)]),_:1}),n(P,{label:"身份证号",prop:"id_card"},{default:i(()=>[n(r,{modelValue:z.id_card,"onUpdate:modelValue":e[24]||(e[24]=a=>z.id_card=a),placeholder:"请输入15或18位身份证号",maxlength:"18","show-word-limit":"",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(et,{modelValue:T.value,"onUpdate:modelValue":e[29]||(e[29]=a=>T.value=a),title:pe.value,"close-on-click-modal":!1},{footer:i(()=>[n(u,{onClick:e[28]||(e[28]=a=>T.value=!1)},{default:i(()=>[...e[65]||(e[65]=[g("关闭",-1)])]),_:1}),F.value?_("",!0):(l(),E(u,{key:0,type:"primary",onClick:ia},{default:i(()=>[...e[66]||(e[66]=[g("重新生成",-1)])]),_:1}))]),default:i(()=>{var a;return[s("div",os,[F.value?(l(),o("div",ds,[n(k,{class:"is-loading",size:36},{default:i(()=>[n(m(Ua))]),_:1}),e[63]||(e[63]=s("div",{class:"dh5-qr-tip"},"生成中...",-1))])):W.value?(l(),o("div",rs,[s("img",{src:W.value,alt:"小程序二维码",class:"dh5-qr-img"},null,8,us),s("div",ps,[s("div",null,"患者:"+p((a=U.value)==null?void 0:a.patient_name),1),s("div",null,"挂号时间:"+p(la.value),1),e[64]||(e[64]=s("div",{class:"dh5-qr-hint"},"请使用企业微信扫描二维码,然后转发给患者",-1))])])):(l(),o("div",cs,"生成失败,请重试"))])]}),_:1},8,["modelValue","title"]),n(M,{modelValue:Se.value,"onUpdate:modelValue":e[31]||(e[31]=a=>Se.value=a),title:`企微记录 - ${((at=A.value)==null?void 0:at.patient_name)||""}`,direction:"rtl",size:"100%","destroy-on-close":!0},{default:i(()=>[Y.value?(l(),o("div",ms,[s("div",_s,[e[67]||(e[67]=s("span",{class:"dh5-wx-key"},"手机号",-1)),s("span",vs,p(Te(Y.value.phone)||"-"),1)]),s("div",gs,[e[69]||(e[69]=s("span",{class:"dh5-wx-key"},"企微 ID",-1)),s("span",fs,[Y.value.external_userid?(l(),o("span",hs,p(Y.value.external_userid),1)):(l(),E(ne,{key:1,type:"info",size:"small"},{default:i(()=>[...e[68]||(e[68]=[g("未关联",-1)])]),_:1}))])]),s("div",ys,[e[72]||(e[72]=s("span",{class:"dh5-wx-key"},"会话存档",-1)),s("span",ks,[Y.value.msgaudit_enabled?(l(),E(ne,{key:0,type:"success",size:"small"},{default:i(()=>[...e[70]||(e[70]=[g("已开通",-1)])]),_:1})):(l(),E(ne,{key:1,type:"info",size:"small"},{default:i(()=>[...e[71]||(e[71]=[g("未配置",-1)])]),_:1}))])])])):_("",!0),s("div",bs,[n(r,{modelValue:H.value,"onUpdate:modelValue":e[30]||(e[30]=a=>H.value=a),type:"textarea",rows:2,placeholder:"添加沟通记录..."},null,8,["modelValue"]),n(u,{type:"primary",loading:we.value,size:"small",onClick:ra},{default:i(()=>[...e[73]||(e[73]=[g(" 添加 ",-1)])]),_:1},8,["loading"])]),Le((l(),o("div",Cs,[O.value.length===0&&!me.value?(l(),o("div",Vs," 暂无聊天记录 ")):(l(),o("div",xs,[(l(!0),o(V,null,S(O.value,a=>{var y;return l(),o("div",{key:a.id,class:"dh5-wx-item"},[s("div",Ds,[s("div",Es,[n(ne,{type:a.direction===0?"primary":"success",size:"small"},{default:i(()=>[g(p(a.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),s("span",$s,p(a.direction===0?a.staff_name:a.external_name||((y=A.value)==null?void 0:y.patient_name)),1),a.msg_type==="note"?(l(),E(ne,{key:0,type:"warning",size:"small"},{default:i(()=>[...e[74]||(e[74]=[g("备注",-1)])]),_:1})):_("",!0)]),s("div",Rs,[s("span",Is,p(ft(a.chat_time)),1),n(u,{type:"danger",link:"",size:"small",onClick:Ls=>ua(a.id)},{default:i(()=>[...e[75]||(e[75]=[g(" 删除 ",-1)])]),_:1},8,["onClick"])])]),s("div",zs,p(a.content),1),a.media_url?(l(),o("div",As,[n(va,{src:a.media_url,style:{"max-width":"200px"},fit:"contain","preview-src-list":[a.media_url]},null,8,["src","preview-src-list"])])):_("",!0)])}),128))])),ce.value>O.value.length?(l(),o("div",{key:2,class:"dh5-load-more",onClick:da}," 加载更多 ")):_("",!0)])),[[tt,me.value]])]),_:1},8,["modelValue","title"])])}}}),Bs=an(ws,[["__scopeId","data-v-b33b6cdf"]]);export{Bs as default}; diff --git a/server/public/admin/assets/information-DIo-0OCS.js b/server/public/admin/assets/information-CurNB_Rk.js similarity index 92% rename from server/public/admin/assets/information-DIo-0OCS.js rename to server/public/admin/assets/information-CurNB_Rk.js index 05d42453..b372e172 100644 --- a/server/public/admin/assets/information-DIo-0OCS.js +++ b/server/public/admin/assets/information-CurNB_Rk.js @@ -1 +1 @@ -import{_ as q}from"./index-bkWlwzQZ.js";import{o as f,be as C,q as _,r as U,v as o,D as s,bg as k,s as i,b6 as O,b7 as y,u as t,b9 as M,ac as P,O as E,K as L,L as B,M as D,ba as G}from"./.pnpm-9dA1PEvN.js";import{_ as I}from"./picker-DWQ_BAep.js";import{a as N,b as S}from"./website-CigJCWyv.js";import{e as W}from"./index-CJvXnF8Y.js";import"./index-BBemoNXE.js";import"./index-CY1mb9yY.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-CAGpCz28.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const F={class:"website-information"},R={class:"w-80"},A={class:"w-80"},K={class:"w-80"},T={class:"w-80"},z={class:"w-80"},H=f({name:"webInformation"}),ae=f({...H,setup(J){const u=D(),b=W(),l=G({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 n=await N();for(const e in l)l[e]=n[e]},w=async()=>{var n;await((n=u.value)==null?void 0:n.validate()),await S(l),b.getConfig(),g()};return g(),(n,e)=>{const m=y,a=O,d=I,p=k,V=M,c=L,x=q,j=C("perms");return _(),U("div",F,[o(V,{ref_key:"formRef",ref:u,rules:v,class:"ls-form",model:t(l),"label-width":"120px","scroll-to-error":""},{default:s(()=>[o(p,{shadow:"never",class:"!border-none"},{default:s(()=>[e[15]||(e[15]=i("div",{class:"text-xl font-medium mb-[20px]"},"后台设置",-1)),o(a,{label:"网站名称",prop:"name"},{default:s(()=>[i("div",R,[o(m,{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(a,{label:"网站图标",prop:"web_favicon",required:""},{default:s(()=>[i("div",null,[o(d,{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(a,{label:"网站LOGO",prop:"web_logo",required:""},{default:s(()=>[i("div",null,[o(d,{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(a,{label:"登录页广告图",prop:"login_image",required:""},{default:s(()=>[i("div",null,[o(d,{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(p,{shadow:"never",class:"!border-none mt-4"},{default:s(()=>[e[18]||(e[18]=i("div",{class:"text-xl font-medium mb-[20px]"},"前台设置",-1)),o(a,{label:"前台名称",prop:"shop_name"},{default:s(()=>[i("div",A,[o(m,{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(a,{label:"网站图标",prop:"web_favicon",required:""},{default:s(()=>[i("div",null,[o(d,{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(a,{label:"前台LOGO",prop:"shop_logo"},{default:s(()=>[i("div",null,[o(d,{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(p,{shadow:"never",class:"!border-none mt-4"},{default:s(()=>[e[21]||(e[21]=i("div",{class:"text-xl font-medium mb-[20px]"},"PC端设置",-1)),o(a,{label:"PC端LOGO",prop:"pc_logo"},{default:s(()=>[i("div",null,[o(d,{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(a,{label:"网站标题",prop:"pc_title"},{default:s(()=>[i("div",K,[o(m,{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(a,{label:"网站图标",prop:"pc_ico"},{default:s(()=>[i("div",null,[o(d,{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(a,{label:"网站描述",prop:"pc_desc"},{default:s(()=>[i("div",T,[o(m,{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(a,{label:"网站关键词",prop:"pc_keywords"},{default:s(()=>[i("div",z,[o(m,{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"]),P((_(),E(x,null,{default:s(()=>[o(c,{type:"primary",onClick:w},{default:s(()=>[...e[22]||(e[22]=[B("保存",-1)])]),_:1})]),_:1})),[[j,["setting.web.web_setting/setWebsite"]]])])}}});export{ae as default}; +import{_ as q}from"./index-DZiQLFzx.js";import{o as f,be as C,q as _,r as U,v as o,D as s,bg as k,s as i,b6 as O,b7 as y,u as t,b9 as M,ac as P,O as E,K as L,L as B,M as D,ba as G}from"./.pnpm-9dA1PEvN.js";import{_ as I}from"./picker-DfI3CPnQ.js";import{a as N,b as S}from"./website-D68_BOrK.js";import{e as W}from"./index-BWzN7QIb.js";import"./index-dYaCh-CN.js";import"./index-xDQ_OZln.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-fA0EWEUO.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const F={class:"website-information"},R={class:"w-80"},A={class:"w-80"},K={class:"w-80"},T={class:"w-80"},z={class:"w-80"},H=f({name:"webInformation"}),ae=f({...H,setup(J){const u=D(),b=W(),l=G({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 n=await N();for(const e in l)l[e]=n[e]},w=async()=>{var n;await((n=u.value)==null?void 0:n.validate()),await S(l),b.getConfig(),g()};return g(),(n,e)=>{const m=y,a=O,d=I,p=k,V=M,c=L,x=q,j=C("perms");return _(),U("div",F,[o(V,{ref_key:"formRef",ref:u,rules:v,class:"ls-form",model:t(l),"label-width":"120px","scroll-to-error":""},{default:s(()=>[o(p,{shadow:"never",class:"!border-none"},{default:s(()=>[e[15]||(e[15]=i("div",{class:"text-xl font-medium mb-[20px]"},"后台设置",-1)),o(a,{label:"网站名称",prop:"name"},{default:s(()=>[i("div",R,[o(m,{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(a,{label:"网站图标",prop:"web_favicon",required:""},{default:s(()=>[i("div",null,[o(d,{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(a,{label:"网站LOGO",prop:"web_logo",required:""},{default:s(()=>[i("div",null,[o(d,{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(a,{label:"登录页广告图",prop:"login_image",required:""},{default:s(()=>[i("div",null,[o(d,{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(p,{shadow:"never",class:"!border-none mt-4"},{default:s(()=>[e[18]||(e[18]=i("div",{class:"text-xl font-medium mb-[20px]"},"前台设置",-1)),o(a,{label:"前台名称",prop:"shop_name"},{default:s(()=>[i("div",A,[o(m,{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(a,{label:"网站图标",prop:"web_favicon",required:""},{default:s(()=>[i("div",null,[o(d,{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(a,{label:"前台LOGO",prop:"shop_logo"},{default:s(()=>[i("div",null,[o(d,{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(p,{shadow:"never",class:"!border-none mt-4"},{default:s(()=>[e[21]||(e[21]=i("div",{class:"text-xl font-medium mb-[20px]"},"PC端设置",-1)),o(a,{label:"PC端LOGO",prop:"pc_logo"},{default:s(()=>[i("div",null,[o(d,{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(a,{label:"网站标题",prop:"pc_title"},{default:s(()=>[i("div",K,[o(m,{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(a,{label:"网站图标",prop:"pc_ico"},{default:s(()=>[i("div",null,[o(d,{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(a,{label:"网站描述",prop:"pc_desc"},{default:s(()=>[i("div",T,[o(m,{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(a,{label:"网站关键词",prop:"pc_keywords"},{default:s(()=>[i("div",z,[o(m,{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"]),P((_(),E(x,null,{default:s(()=>[o(c,{type:"primary",onClick:w},{default:s(()=>[...e[22]||(e[22]=[B("保存",-1)])]),_:1})]),_:1})),[[j,["setting.web.web_setting/setWebsite"]]])])}}});export{ae as default}; diff --git a/server/public/admin/assets/journal-DbGIHLAC.js b/server/public/admin/assets/journal-lsYyaKU4.js similarity index 94% rename from server/public/admin/assets/journal-DbGIHLAC.js rename to server/public/admin/assets/journal-lsYyaKU4.js index abace260..150493d7 100644 --- a/server/public/admin/assets/journal-DbGIHLAC.js +++ b/server/public/admin/assets/journal-lsYyaKU4.js @@ -1 +1 @@ -import{o as C,ap as F,q as r,r as f,v as e,D as n,b9 as P,u as l,b6 as j,b7 as z,b8 as u,bm as N,F as $,G as M,O as v,bn as O,K as q,L as g,bg as G,ac as R,bi as S,s as V,bj as A,bk as H,C as J,M as y}from"./.pnpm-9dA1PEvN.js";import{_ as Q}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{_ as W}from"./index.vue_vue_type_script_setup_true_lang-Bk4SMrCI.js";import{_ as X}from"./index.vue_vue_type_script_setup_true_lang-C38LpCy9.js";import{E as w}from"./index-CJvXnF8Y.js";import{u as Y}from"./usePaging-Boz1Q6w3.js";import"./index-BBemoNXE.js";const Z={class:"journal"},ee={class:"flex mt-4 justify-end"},le=C({name:"journal"}),de=C({...le,setup(ae){const o=y({admin_name:"",url:"",ip:"",type:"",start_time:"",end_time:""}),E=y([{label:"全部",value:""},{label:"get",value:"get"},{label:"post",value:"post"},{label:"put",value:"put"},{label:"delete",value:"delete"},{label:"option",value:"option"}]),{pager:m,getLists:_,resetParams:k,resetPage:i}=Y({fetchFun:w,params:o.value});return F(()=>{_()}),(te,a)=>{const d=z,p=j,x=O,T=N,K=X,c=q,U=W,h=P,b=G,s=H,I=A,L=Q,B=S;return r(),f("div",Z,[e(b,{class:"!border-none",shadow:"never"},{default:n(()=>[e(h,{class:"ls-form",model:l(o),inline:""},{default:n(()=>[e(p,{class:"w-[280px]",label:"管理员"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:l(o).admin_name,"onUpdate:modelValue":a[0]||(a[0]=t=>l(o).admin_name=t),clearable:"",onKeyup:u(l(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,{class:"w-[280px]",label:"访问方式"},{default:n(()=>[e(T,{modelValue:l(o).type,"onUpdate:modelValue":a[1]||(a[1]=t=>l(o).type=t),placeholder:"请选择"},{default:n(()=>[(r(!0),f($,null,M(l(E),(t,D)=>(r(),v(x,{key:D,label:t.label,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(p,{class:"w-[280px]",label:"来源IP"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:l(o).ip,"onUpdate:modelValue":a[2]||(a[2]=t=>l(o).ip=t),clearable:"",onKeyup:u(l(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,{label:"访问时间"},{default:n(()=>[e(K,{startTime:l(o).start_time,"onUpdate:startTime":a[3]||(a[3]=t=>l(o).start_time=t),endTime:l(o).end_time,"onUpdate:endTime":a[4]||(a[4]=t=>l(o).end_time=t)},null,8,["startTime","endTime"])]),_:1}),e(p,{class:"w-[280px]",label:"访问链接"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:l(o).url,"onUpdate:modelValue":a[5]||(a[5]=t=>l(o).url=t),clearable:"",onKeyup:u(l(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,null,{default:n(()=>[e(c,{type:"primary",onClick:l(i)},{default:n(()=>[...a[7]||(a[7]=[g("查询",-1)])]),_:1},8,["onClick"]),e(c,{onClick:l(k)},{default:n(()=>[...a[8]||(a[8]=[g("重置",-1)])]),_:1},8,["onClick"]),e(U,{class:"ml-2.5","fetch-fun":l(w),params:l(o),"page-size":l(m).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),R((r(),v(b,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[V("div",null,[e(I,{data:l(m).lists,size:"large"},{default:n(()=>[e(s,{label:"记录ID",prop:"id"}),e(s,{label:"操作",prop:"action","min-width":"120"}),e(s,{label:"管理员",prop:"admin_name","min-width":"120"}),e(s,{label:"管理员ID",prop:"admin_id","min-width":"120"}),e(s,{label:"访问链接",prop:"url","min-width":"160"}),e(s,{label:"访问方式",prop:"type"}),e(s,{label:"访问参数",prop:"params","min-width":"160"}),e(s,{label:"来源IP",prop:"ip","min-width":"160"}),e(s,{label:"日志时间",prop:"create_time","min-width":"180"})]),_:1},8,["data"])]),V("div",ee,[e(L,{modelValue:l(m),"onUpdate:modelValue":a[6]||(a[6]=t=>J(m)?m.value=t:null),onChange:l(_)},null,8,["modelValue","onChange"])])]),_:1})),[[B,l(m).loading]])])}}});export{de as default}; +import{o as C,ap as F,q as r,r as f,v as e,D as n,b9 as P,u as l,b6 as j,b7 as z,b8 as u,bm as N,F as $,G as M,O as v,bn as O,K as q,L as g,bg as G,ac as R,bi as S,s as V,bj as A,bk as H,C as J,M as y}from"./.pnpm-9dA1PEvN.js";import{_ as Q}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{_ as W}from"./index.vue_vue_type_script_setup_true_lang-DbClaUqT.js";import{_ as X}from"./index.vue_vue_type_script_setup_true_lang-C38LpCy9.js";import{E as w}from"./index-BWzN7QIb.js";import{u as Y}from"./usePaging-Boz1Q6w3.js";import"./index-dYaCh-CN.js";const Z={class:"journal"},ee={class:"flex mt-4 justify-end"},le=C({name:"journal"}),de=C({...le,setup(ae){const o=y({admin_name:"",url:"",ip:"",type:"",start_time:"",end_time:""}),E=y([{label:"全部",value:""},{label:"get",value:"get"},{label:"post",value:"post"},{label:"put",value:"put"},{label:"delete",value:"delete"},{label:"option",value:"option"}]),{pager:m,getLists:_,resetParams:k,resetPage:i}=Y({fetchFun:w,params:o.value});return F(()=>{_()}),(te,a)=>{const d=z,p=j,x=O,T=N,K=X,c=q,U=W,h=P,b=G,s=H,I=A,L=Q,B=S;return r(),f("div",Z,[e(b,{class:"!border-none",shadow:"never"},{default:n(()=>[e(h,{class:"ls-form",model:l(o),inline:""},{default:n(()=>[e(p,{class:"w-[280px]",label:"管理员"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:l(o).admin_name,"onUpdate:modelValue":a[0]||(a[0]=t=>l(o).admin_name=t),clearable:"",onKeyup:u(l(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,{class:"w-[280px]",label:"访问方式"},{default:n(()=>[e(T,{modelValue:l(o).type,"onUpdate:modelValue":a[1]||(a[1]=t=>l(o).type=t),placeholder:"请选择"},{default:n(()=>[(r(!0),f($,null,M(l(E),(t,D)=>(r(),v(x,{key:D,label:t.label,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(p,{class:"w-[280px]",label:"来源IP"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:l(o).ip,"onUpdate:modelValue":a[2]||(a[2]=t=>l(o).ip=t),clearable:"",onKeyup:u(l(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,{label:"访问时间"},{default:n(()=>[e(K,{startTime:l(o).start_time,"onUpdate:startTime":a[3]||(a[3]=t=>l(o).start_time=t),endTime:l(o).end_time,"onUpdate:endTime":a[4]||(a[4]=t=>l(o).end_time=t)},null,8,["startTime","endTime"])]),_:1}),e(p,{class:"w-[280px]",label:"访问链接"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:l(o).url,"onUpdate:modelValue":a[5]||(a[5]=t=>l(o).url=t),clearable:"",onKeyup:u(l(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,null,{default:n(()=>[e(c,{type:"primary",onClick:l(i)},{default:n(()=>[...a[7]||(a[7]=[g("查询",-1)])]),_:1},8,["onClick"]),e(c,{onClick:l(k)},{default:n(()=>[...a[8]||(a[8]=[g("重置",-1)])]),_:1},8,["onClick"]),e(U,{class:"ml-2.5","fetch-fun":l(w),params:l(o),"page-size":l(m).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),R((r(),v(b,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[V("div",null,[e(I,{data:l(m).lists,size:"large"},{default:n(()=>[e(s,{label:"记录ID",prop:"id"}),e(s,{label:"操作",prop:"action","min-width":"120"}),e(s,{label:"管理员",prop:"admin_name","min-width":"120"}),e(s,{label:"管理员ID",prop:"admin_id","min-width":"120"}),e(s,{label:"访问链接",prop:"url","min-width":"160"}),e(s,{label:"访问方式",prop:"type"}),e(s,{label:"访问参数",prop:"params","min-width":"160"}),e(s,{label:"来源IP",prop:"ip","min-width":"160"}),e(s,{label:"日志时间",prop:"create_time","min-width":"180"})]),_:1},8,["data"])]),V("div",ee,[e(L,{modelValue:l(m),"onUpdate:modelValue":a[6]||(a[6]=t=>J(m)?m.value=t:null),onChange:l(_)},null,8,["modelValue","onChange"])])]),_:1})),[[B,l(m).loading]])])}}});export{de as default}; diff --git a/server/public/admin/assets/keyword_reply-BubZ_2R4.js b/server/public/admin/assets/keyword_reply-Ns1T2YHU.js similarity index 91% rename from server/public/admin/assets/keyword_reply-BubZ_2R4.js rename to server/public/admin/assets/keyword_reply-Ns1T2YHU.js index 1737921c..380540ea 100644 --- a/server/public/admin/assets/keyword_reply-BubZ_2R4.js +++ b/server/public/admin/assets/keyword_reply-Ns1T2YHU.js @@ -1 +1 @@ -import{o as L,q as f,r as N,v as t,D as l,bh as O,bg as P,s as g,K as U,L as d,ac as j,O as v,bj as A,u as o,bk as M,T as h,I as q,bi as z,C as F,P as I,a8 as K,M as G,p as w,n as b}from"./.pnpm-9dA1PEvN.js";import{_ as H}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as J,i as Q}from"./index-CJvXnF8Y.js";import{d as W,o as X,e as Y}from"./wx_oa-DPme7qiY.js";import{u as Z}from"./usePaging-Boz1Q6w3.js";import{_ as ee}from"./edit.vue_vue_type_script_setup_true_lang-Crcur3sR.js";import"./index-BBemoNXE.js";const te={class:"flex justify-end mt-4"},ce=L({__name:"keyword_reply",setup(ae){const c=K(),u=G(!1),k=w(()=>n=>{switch(n){case 1:return"全匹配";case 2:return"模糊匹配"}}),C=w(()=>n=>{switch(n){case 1:return"文本"}}),{pager:r,getLists:i}=Z({fetchFun:W,params:{reply_type:2}}),V=async()=>{var n;u.value=!0,await b(),(n=c.value)==null||n.open("add",2)},E=async n=>{var e,m;u.value=!0,await b(),(e=c.value)==null||e.open("edit",2),(m=c.value)==null||m.getDetail(n)},$=async n=>{await Q.confirm("确定要删除?"),await X({id:n}),i()},x=async n=>{try{await Y({id:n}),i()}catch{i()}};return i(),(n,e)=>{const m=O,y=P,R=J,_=U,s=M,T=q,D=A,S=H,B=z;return f(),N("div",null,[t(y,{class:"!border-none",shadow:"never"},{default:l(()=>[t(m,{type:"warning",title:"温馨提示:1.粉丝在公众号发送内容时,通过关键词可触发关键词回复;2.同时可启用多个关键词回复,有多条关键词匹配时优选选择排序靠前的一条",closable:!1,"show-icon":""})]),_:1}),t(y,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[g("div",null,[t(_,{class:"mb-4",type:"primary",onClick:e[0]||(e[0]=a=>V())},{icon:l(()=>[t(R,{name:"el-icon-Plus"})]),default:l(()=>[e[3]||(e[3]=d(" 新增 ",-1))]),_:1})]),j((f(),v(D,{size:"large",data:o(r).lists},{default:l(()=>[t(s,{label:"规则名称",prop:"name","min-width":"120"}),t(s,{label:"关键词",prop:"keyword","min-width":"120"}),t(s,{label:"匹配方式","min-width":"120"},{default:l(({row:a})=>[d(h(o(k)(a.matching_type)),1)]),_:1}),t(s,{label:"回复类型","min-width":"120"},{default:l(({row:a})=>[d(h(o(C)(a.content_type)),1)]),_:1}),t(s,{label:"状态","min-width":"120"},{default:l(({row:a})=>[t(T,{modelValue:a.status,"onUpdate:modelValue":p=>a.status=p,"active-value":1,"inactive-value":0,onChange:p=>x(a.id)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),t(s,{label:"排序",prop:"sort","min-width":"120"}),t(s,{label:"操作",width:"120",fixed:"right"},{default:l(({row:a})=>[t(_,{type:"primary",link:"",onClick:p=>E(a)},{default:l(()=>[...e[4]||(e[4]=[d(" 编辑 ",-1)])]),_:1},8,["onClick"]),t(_,{type:"danger",link:"",onClick:p=>$(a.id)},{default:l(()=>[...e[5]||(e[5]=[d(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[B,o(r).loading]]),g("div",te,[t(S,{modelValue:o(r),"onUpdate:modelValue":e[1]||(e[1]=a=>F(r)?r.value=a:null),onChange:o(i)},null,8,["modelValue","onChange"])])]),_:1}),o(u)?(f(),v(ee,{key:0,ref_key:"editRef",ref:c,onSuccess:o(i),onClose:e[2]||(e[2]=a=>u.value=!1)},null,8,["onSuccess"])):I("",!0)])}}});export{ce as default}; +import{o as L,q as f,r as N,v as t,D as l,bh as O,bg as P,s as g,K as U,L as d,ac as j,O as v,bj as A,u as o,bk as M,T as h,I as q,bi as z,C as F,P as I,a8 as K,M as G,p as w,n as b}from"./.pnpm-9dA1PEvN.js";import{_ as H}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{c as J,i as Q}from"./index-BWzN7QIb.js";import{d as W,o as X,e as Y}from"./wx_oa-HhzP-R8g.js";import{u as Z}from"./usePaging-Boz1Q6w3.js";import{_ as ee}from"./edit.vue_vue_type_script_setup_true_lang-bW869IPL.js";import"./index-dYaCh-CN.js";const te={class:"flex justify-end mt-4"},ce=L({__name:"keyword_reply",setup(ae){const c=K(),u=G(!1),k=w(()=>n=>{switch(n){case 1:return"全匹配";case 2:return"模糊匹配"}}),C=w(()=>n=>{switch(n){case 1:return"文本"}}),{pager:r,getLists:i}=Z({fetchFun:W,params:{reply_type:2}}),V=async()=>{var n;u.value=!0,await b(),(n=c.value)==null||n.open("add",2)},E=async n=>{var e,m;u.value=!0,await b(),(e=c.value)==null||e.open("edit",2),(m=c.value)==null||m.getDetail(n)},$=async n=>{await Q.confirm("确定要删除?"),await X({id:n}),i()},x=async n=>{try{await Y({id:n}),i()}catch{i()}};return i(),(n,e)=>{const m=O,y=P,R=J,_=U,s=M,T=q,D=A,S=H,B=z;return f(),N("div",null,[t(y,{class:"!border-none",shadow:"never"},{default:l(()=>[t(m,{type:"warning",title:"温馨提示:1.粉丝在公众号发送内容时,通过关键词可触发关键词回复;2.同时可启用多个关键词回复,有多条关键词匹配时优选选择排序靠前的一条",closable:!1,"show-icon":""})]),_:1}),t(y,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[g("div",null,[t(_,{class:"mb-4",type:"primary",onClick:e[0]||(e[0]=a=>V())},{icon:l(()=>[t(R,{name:"el-icon-Plus"})]),default:l(()=>[e[3]||(e[3]=d(" 新增 ",-1))]),_:1})]),j((f(),v(D,{size:"large",data:o(r).lists},{default:l(()=>[t(s,{label:"规则名称",prop:"name","min-width":"120"}),t(s,{label:"关键词",prop:"keyword","min-width":"120"}),t(s,{label:"匹配方式","min-width":"120"},{default:l(({row:a})=>[d(h(o(k)(a.matching_type)),1)]),_:1}),t(s,{label:"回复类型","min-width":"120"},{default:l(({row:a})=>[d(h(o(C)(a.content_type)),1)]),_:1}),t(s,{label:"状态","min-width":"120"},{default:l(({row:a})=>[t(T,{modelValue:a.status,"onUpdate:modelValue":p=>a.status=p,"active-value":1,"inactive-value":0,onChange:p=>x(a.id)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),t(s,{label:"排序",prop:"sort","min-width":"120"}),t(s,{label:"操作",width:"120",fixed:"right"},{default:l(({row:a})=>[t(_,{type:"primary",link:"",onClick:p=>E(a)},{default:l(()=>[...e[4]||(e[4]=[d(" 编辑 ",-1)])]),_:1},8,["onClick"]),t(_,{type:"danger",link:"",onClick:p=>$(a.id)},{default:l(()=>[...e[5]||(e[5]=[d(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[B,o(r).loading]]),g("div",te,[t(S,{modelValue:o(r),"onUpdate:modelValue":e[1]||(e[1]=a=>F(r)?r.value=a:null),onChange:o(i)},null,8,["modelValue","onChange"])])]),_:1}),o(u)?(f(),v(ee,{key:0,ref_key:"editRef",ref:c,onSuccess:o(i),onClose:e[2]||(e[2]=a=>u.value=!1)},null,8,["onSuccess"])):I("",!0)])}}});export{ce as default}; diff --git a/server/public/admin/assets/link-Bi_XydvE.js b/server/public/admin/assets/link-DFZew37_.js similarity index 70% rename from server/public/admin/assets/link-Bi_XydvE.js rename to server/public/admin/assets/link-DFZew37_.js index a811bb4f..7dcbeb30 100644 --- a/server/public/admin/assets/link-Bi_XydvE.js +++ b/server/public/admin/assets/link-DFZew37_.js @@ -1 +1 @@ -import{o as s,q as m,r as p,v as t,D as _,u as a,bg as u,ba as i}from"./.pnpm-9dA1PEvN.js";import{_ as c}from"./picker-zZfe7WrS.js";import"./index-CJvXnF8Y.js";import"./index-BBemoNXE.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-BioaiRdh.js";import"./usePaging-Boz1Q6w3.js";const h=s({__name:"link",setup(d){const e=i({value1:{}});return(f,o)=>{const n=c,r=u;return m(),p("div",null,[t(r,{header:"基础使用",shadow:"never",class:"!border-none"},{default:_(()=>[t(n,{modelValue:a(e).value1,"onUpdate:modelValue":o[0]||(o[0]=l=>a(e).value1=l)},null,8,["modelValue"])]),_:1})])}}});export{h as default}; +import{o as s,q as m,r as p,v as t,D as _,u as a,bg as u,ba as i}from"./.pnpm-9dA1PEvN.js";import{_ as c}from"./picker-CUH4oSOm.js";import"./index-BWzN7QIb.js";import"./index-dYaCh-CN.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-CGwMRNkL.js";import"./usePaging-Boz1Q6w3.js";const h=s({__name:"link",setup(d){const e=i({value1:{}});return(f,o)=>{const n=c,r=u;return m(),p("div",null,[t(r,{header:"基础使用",shadow:"never",class:"!border-none"},{default:_(()=>[t(n,{modelValue:a(e).value1,"onUpdate:modelValue":o[0]||(o[0]=l=>a(e).value1=l)},null,8,["modelValue"])]),_:1})])}}});export{h as default}; diff --git a/server/public/admin/assets/list-BNaNKdzv.js b/server/public/admin/assets/list-BNC5XsME.js similarity index 97% rename from server/public/admin/assets/list-BNaNKdzv.js rename to server/public/admin/assets/list-BNC5XsME.js index c7a53c0b..738330b4 100644 --- a/server/public/admin/assets/list-BNaNKdzv.js +++ b/server/public/admin/assets/list-BNC5XsME.js @@ -1 +1 @@ -import{o as K,ap as ue,be as pe,q as _,r as I,v as l,D as a,b9 as me,u as o,b6 as _e,b7 as ce,b8 as be,bm as fe,bn as ve,K as ye,L as n,bg as ge,ac as w,bi as Ve,O as g,s as V,bj as ke,bk as we,br as xe,T as x,P as L,C as F,bM as he,bc as Ce,bf as Ee,J as Se,I as Ne,bt as Ue,ba as J,M as E}from"./.pnpm-9dA1PEvN.js";import{_ as Ie}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{u as Le,c as De,i as f,_ as Pe}from"./index-CJvXnF8Y.js";import{o as $e,u as Oe,v as Ae,w as Me}from"./tcm-DOD9_1Um.js";import{u as Re}from"./usePaging-Boz1Q6w3.js";import{M as Te}from"./index-BANIMLkY.js";import"./medicine-CQDW2OUZ.js";const Be={class:"prescription-library"},Fe={class:"mt-4"},Je={key:0},Ke={key:1,class:"text-gray-400"},je={class:"flex mt-4 justify-end"},qe={class:"w-full"},ze={class:"flex flex-col gap-1 leading-none"},Ge=K({name:"prescriptionLibrary"}),He=K({...Ge,setup(Qe){const c=J({prescription_name:"",formula_type:"",is_public:""}),b=E(!1),u=E("add"),S=E(!1),N=E(),s=J({id:0,prescription_name:"",formula_type:"主方",herbs:[],is_public:0,disable_edit:0}),j={prescription_name:[{required:!0,message:"请输入处方名称",trigger:"blur"}]},D=Le(),q=[0,3],{pager:k,getLists:h,resetParams:z,resetPage:P}=Re({fetchFun:$e,params:c}),G=i=>{var e;return Number(i.creator_id)===Number((e=D.userInfo)==null?void 0:e.id)},H=()=>{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))},$=i=>H()||G(i),Q=$,W=()=>{s.herbs.push({name:"",dosage:0})},X=i=>{s.herbs.splice(i,1)},Y=()=>{s.id=0,s.prescription_name="",s.formula_type="主方",s.herbs=[],s.is_public=0,s.disable_edit=0},Z=()=>{Y(),u.value="add",b.value=!0},ee=i=>{u.value="view",s.id=i.id,s.prescription_name=i.prescription_name||"",s.formula_type=i.formula_type||"主方",s.herbs=i.herbs?JSON.parse(JSON.stringify(i.herbs)):[],s.is_public=i.is_public??0,s.disable_edit=i.disable_edit??0,b.value=!0},le=i=>{u.value="edit",s.id=i.id,s.prescription_name=i.prescription_name||"",s.formula_type=i.formula_type||"主方",s.herbs=i.herbs?JSON.parse(JSON.stringify(i.herbs)):[],s.is_public=i.is_public??0,s.disable_edit=i.disable_edit??0,b.value=!0},te=async()=>{if(N.value){if(await N.value.validate(),!s.herbs||s.herbs.length===0){f.msgError("请至少添加一味药材");return}for(let i=0;i{await f.confirm("确定要删除该处方吗?"),await Me({id:i}),f.msgSuccess("删除成功"),h()};return ue(()=>{h()}),(i,e)=>{const v=ce,m=_e,y=ve,O=fe,p=ye,A=me,M=ge,ie=De,r=we,U=xe,R=ke,se=Ie,T=Ee,oe=Ce,ne=Se,B=Ne,de=Ue,C=pe("perms"),re=Ve;return _(),I("div",Be,[l(M,{class:"!border-none",shadow:"never"},{default:a(()=>[l(A,{class:"mb-[-16px]",model:o(c),inline:""},{default:a(()=>[l(m,{class:"w-[280px]",label:"处方名称"},{default:a(()=>[l(v,{modelValue:o(c).prescription_name,"onUpdate:modelValue":e[0]||(e[0]=t=>o(c).prescription_name=t),placeholder:"请输入处方名称",clearable:"",onKeyup:be(o(P),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(m,{class:"w-[200px]",label:"处方类型"},{default:a(()=>[l(O,{modelValue:o(c).formula_type,"onUpdate:modelValue":e[1]||(e[1]=t=>o(c).formula_type=t),placeholder:"全部",clearable:""},{default:a(()=>[l(y,{label:"全部",value:""}),l(y,{label:"主方",value:"主方"}),l(y,{label:"辅方",value:"辅方"})]),_:1},8,["modelValue"])]),_:1}),l(m,{class:"w-[200px]",label:"是否公开"},{default:a(()=>[l(O,{modelValue:o(c).is_public,"onUpdate:modelValue":e[2]||(e[2]=t=>o(c).is_public=t),placeholder:"全部",clearable:""},{default:a(()=>[l(y,{label:"全部",value:""}),l(y,{label:"仅自己可见",value:0}),l(y,{label:"所有人可见",value:1})]),_:1},8,["modelValue"])]),_:1}),l(m,null,{default:a(()=>[l(p,{type:"primary",onClick:o(P)},{default:a(()=>[...e[10]||(e[10]=[n("查询",-1)])]),_:1},8,["onClick"]),l(p,{onClick:o(z)},{default:a(()=>[...e[11]||(e[11]=[n("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),w((_(),g(M,{class:"mt-4 !border-none",shadow:"never"},{default:a(()=>[w((_(),g(p,{type:"primary",onClick:Z},{icon:a(()=>[l(ie,{name:"el-icon-Plus"})]),default:a(()=>[e[12]||(e[12]=n(" 新增处方 ",-1))]),_:1})),[[C,["wcf.prescription/add"]]]),V("div",Fe,[l(R,{data:o(k).lists,size:"large"},{default:a(()=>[l(r,{label:"ID",prop:"id","min-width":"60"}),l(r,{label:"处方名称",prop:"prescription_name","min-width":"200","show-overflow-tooltip":""}),l(r,{label:"处方类型","min-width":"100"},{default:a(({row:t})=>[l(U,{type:t.formula_type==="辅方"?"warning":"primary",size:"small"},{default:a(()=>[n(x(t.formula_type||"主方"),1)]),_:2},1032,["type"])]),_:1}),l(r,{label:"药材数量","min-width":"100"},{default:a(({row:t})=>{var d;return[n(x(((d=t.herbs)==null?void 0:d.length)||0)+"味 ",1)]}),_:1}),l(r,{label:"药材明细","min-width":"300","show-overflow-tooltip":""},{default:a(({row:t})=>[t.herbs&&t.herbs.length>0?(_(),I("span",Je,x(t.herbs.map(d=>`${d.name} ${d.dosage}g`).join("、")),1)):(_(),I("span",Ke,"暂无药材"))]),_:1}),l(r,{label:"是否公开","min-width":"120"},{default:a(({row:t})=>[l(U,{type:t.is_public?"success":"info"},{default:a(()=>[n(x(t.is_public?"所有人可见":"仅自己可见"),1)]),_:2},1032,["type"])]),_:1}),l(r,{label:"禁用修改","min-width":"100"},{default:a(({row:t})=>[l(U,{type:t.disable_edit?"danger":"info"},{default:a(()=>[n(x(t.disable_edit?"已禁用":"可修改"),1)]),_:2},1032,["type"])]),_:1}),l(r,{label:"创建人",prop:"creator_name","min-width":"100"}),l(r,{label:"创建时间",prop:"create_time","min-width":"160"}),l(r,{label:"操作",width:"180",fixed:"right"},{default:a(({row:t})=>[w((_(),g(p,{type:"primary",link:"",onClick:d=>ee(t)},{default:a(()=>[...e[13]||(e[13]=[n(" 查看 ",-1)])]),_:1},8,["onClick"])),[[C,["wcf.prescription/read"]]]),$(t)?w((_(),g(p,{key:0,type:"primary",link:"",onClick:d=>le(t)},{default:a(()=>[...e[14]||(e[14]=[n(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[C,["wcf.prescription/edit"]]]):L("",!0),o(Q)(t)?w((_(),g(p,{key:1,type:"danger",link:"",onClick:d=>ae(t.id)},{default:a(()=>[...e[15]||(e[15]=[n(" 删除 ",-1)])]),_:1},8,["onClick"])),[[C,["wcf.prescription/delete"]]]):L("",!0)]),_:1})]),_:1},8,["data"])]),V("div",je,[l(se,{modelValue:o(k),"onUpdate:modelValue":e[3]||(e[3]=t=>F(k)?k.value=t:null),onChange:o(h)},null,8,["modelValue","onChange"])])]),_:1})),[[re,o(k).loading]]),l(de,{modelValue:o(b),"onUpdate:modelValue":e[9]||(e[9]=t=>F(b)?b.value=t:null),title:o(u)==="add"?"新增处方":o(u)==="edit"?"编辑处方":"查看处方",width:"800px","close-on-click-modal":!1},he({default:a(()=>[l(A,{ref_key:"formRef",ref:N,model:o(s),rules:j,"label-width":"120px",disabled:o(u)==="view"},{default:a(()=>[l(m,{label:"处方名称",prop:"prescription_name"},{default:a(()=>[l(v,{modelValue:o(s).prescription_name,"onUpdate:modelValue":e[4]||(e[4]=t=>o(s).prescription_name=t),placeholder:"请输入处方名称,例如:六味地黄丸、补中益气汤",maxlength:"100","show-word-limit":""},null,8,["modelValue"])]),_:1}),l(m,{label:"处方类型",prop:"formula_type"},{default:a(()=>[l(oe,{modelValue:o(s).formula_type,"onUpdate:modelValue":e[5]||(e[5]=t=>o(s).formula_type=t)},{default:a(()=>[l(T,{value:"主方"},{default:a(()=>[...e[16]||(e[16]=[n("主方",-1)])]),_:1}),l(T,{value:"辅方"},{default:a(()=>[...e[17]||(e[17]=[n("辅方",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(m,{label:"药材配方",prop:"herbs",required:""},{default:a(()=>[V("div",qe,[l(p,{type:"primary",size:"small",onClick:W,disabled:o(u)==="view"},{default:a(()=>[...e[18]||(e[18]=[n(" 添加药材 ",-1)])]),_:1},8,["disabled"]),l(R,{data:o(s).herbs,class:"mt-2",border:""},{default:a(()=>[l(r,{label:"序号",type:"index",width:"60"}),l(r,{label:"药材名称","min-width":"220"},{default:a(({row:t})=>[l(Te,{modelValue:t.name,"onUpdate:modelValue":d=>t.name=d,"medicine-id":t.medicine_id,"onUpdate:medicineId":d=>t.medicine_id=d,disabled:o(u)==="view"},null,8,["modelValue","onUpdate:modelValue","medicine-id","onUpdate:medicineId","disabled"])]),_:1}),l(r,{label:"剂量(克)","min-width":"150"},{default:a(({row:t})=>[l(ne,{modelValue:t.dosage,"onUpdate:modelValue":d=>t.dosage=d,min:0,precision:1,step:.5,placeholder:"剂量",class:"w-full",disabled:o(u)==="view"},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:1}),o(u)!=="view"?(_(),g(r,{key:0,label:"操作",width:"80"},{default:a(({$index:t})=>[l(p,{type:"danger",link:"",onClick:d=>X(t)},{default:a(()=>[...e[19]||(e[19]=[n(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})):L("",!0)]),_:1},8,["data"])])]),_:1}),l(m,{label:"是否公开",prop:"is_public"},{default:a(()=>[l(B,{modelValue:o(s).is_public,"onUpdate:modelValue":e[6]||(e[6]=t=>o(s).is_public=t),"active-value":1,"inactive-value":0,"active-text":"所有人可见","inactive-text":"仅自己可见"},null,8,["modelValue"]),e[20]||(e[20]=V("div",{class:"text-xs text-gray-400 mt-1"}," 勾选后,所有医生都可以查看和使用此处方模板 ",-1))]),_:1}),l(m,{label:"禁用修改",prop:"disable_edit"},{default:a(()=>[V("div",ze,[l(B,{modelValue:o(s).disable_edit,"onUpdate:modelValue":e[7]||(e[7]=t=>o(s).disable_edit=t),"active-value":1,"inactive-value":0,"active-text":"开启","inactive-text":"关闭"},null,8,["modelValue"]),e[21]||(e[21]=V("div",{class:"text-xs text-gray-400 leading-relaxed"}," 开启后,导入此模板到处方时将锁定整张处方的药材,不可增删改,只能再次导入覆盖 ",-1))])]),_:1})]),_:1},8,["model","disabled"])]),_:2},[o(u)!=="view"?{name:"footer",fn:a(()=>[l(p,{onClick:e[8]||(e[8]=t=>b.value=!1)},{default:a(()=>[...e[22]||(e[22]=[n("取消",-1)])]),_:1}),l(p,{type:"primary",onClick:te,loading:o(S)},{default:a(()=>[...e[23]||(e[23]=[n(" 确定 ",-1)])]),_:1},8,["loading"])]),key:"0"}:void 0]),1032,["modelValue","title"])])}}}),al=Pe(He,[["__scopeId","data-v-b1f699c7"]]);export{al as default}; +import{o as K,ap as ue,be as pe,q as _,r as I,v as l,D as a,b9 as me,u as o,b6 as _e,b7 as ce,b8 as be,bm as fe,bn as ve,K as ye,L as n,bg as ge,ac as w,bi as Ve,O as g,s as V,bj as ke,bk as we,br as xe,T as x,P as L,C as F,bM as he,bc as Ce,bf as Ee,J as Se,I as Ne,bt as Ue,ba as J,M as E}from"./.pnpm-9dA1PEvN.js";import{_ as Ie}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{u as Le,c as De,i as f,_ as Pe}from"./index-BWzN7QIb.js";import{o as $e,u as Oe,v as Ae,w as Me}from"./tcm-Fi_swgCr.js";import{u as Re}from"./usePaging-Boz1Q6w3.js";import{M as Te}from"./index-CNLsF7Nt.js";import"./medicine-DezWRkkS.js";const Be={class:"prescription-library"},Fe={class:"mt-4"},Je={key:0},Ke={key:1,class:"text-gray-400"},je={class:"flex mt-4 justify-end"},qe={class:"w-full"},ze={class:"flex flex-col gap-1 leading-none"},Ge=K({name:"prescriptionLibrary"}),He=K({...Ge,setup(Qe){const c=J({prescription_name:"",formula_type:"",is_public:""}),b=E(!1),u=E("add"),S=E(!1),N=E(),s=J({id:0,prescription_name:"",formula_type:"主方",herbs:[],is_public:0,disable_edit:0}),j={prescription_name:[{required:!0,message:"请输入处方名称",trigger:"blur"}]},D=Le(),q=[0,3],{pager:k,getLists:h,resetParams:z,resetPage:P}=Re({fetchFun:$e,params:c}),G=i=>{var e;return Number(i.creator_id)===Number((e=D.userInfo)==null?void 0:e.id)},H=()=>{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))},$=i=>H()||G(i),Q=$,W=()=>{s.herbs.push({name:"",dosage:0})},X=i=>{s.herbs.splice(i,1)},Y=()=>{s.id=0,s.prescription_name="",s.formula_type="主方",s.herbs=[],s.is_public=0,s.disable_edit=0},Z=()=>{Y(),u.value="add",b.value=!0},ee=i=>{u.value="view",s.id=i.id,s.prescription_name=i.prescription_name||"",s.formula_type=i.formula_type||"主方",s.herbs=i.herbs?JSON.parse(JSON.stringify(i.herbs)):[],s.is_public=i.is_public??0,s.disable_edit=i.disable_edit??0,b.value=!0},le=i=>{u.value="edit",s.id=i.id,s.prescription_name=i.prescription_name||"",s.formula_type=i.formula_type||"主方",s.herbs=i.herbs?JSON.parse(JSON.stringify(i.herbs)):[],s.is_public=i.is_public??0,s.disable_edit=i.disable_edit??0,b.value=!0},te=async()=>{if(N.value){if(await N.value.validate(),!s.herbs||s.herbs.length===0){f.msgError("请至少添加一味药材");return}for(let i=0;i{await f.confirm("确定要删除该处方吗?"),await Me({id:i}),f.msgSuccess("删除成功"),h()};return ue(()=>{h()}),(i,e)=>{const v=ce,m=_e,y=ve,O=fe,p=ye,A=me,M=ge,ie=De,r=we,U=xe,R=ke,se=Ie,T=Ee,oe=Ce,ne=Se,B=Ne,de=Ue,C=pe("perms"),re=Ve;return _(),I("div",Be,[l(M,{class:"!border-none",shadow:"never"},{default:a(()=>[l(A,{class:"mb-[-16px]",model:o(c),inline:""},{default:a(()=>[l(m,{class:"w-[280px]",label:"处方名称"},{default:a(()=>[l(v,{modelValue:o(c).prescription_name,"onUpdate:modelValue":e[0]||(e[0]=t=>o(c).prescription_name=t),placeholder:"请输入处方名称",clearable:"",onKeyup:be(o(P),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(m,{class:"w-[200px]",label:"处方类型"},{default:a(()=>[l(O,{modelValue:o(c).formula_type,"onUpdate:modelValue":e[1]||(e[1]=t=>o(c).formula_type=t),placeholder:"全部",clearable:""},{default:a(()=>[l(y,{label:"全部",value:""}),l(y,{label:"主方",value:"主方"}),l(y,{label:"辅方",value:"辅方"})]),_:1},8,["modelValue"])]),_:1}),l(m,{class:"w-[200px]",label:"是否公开"},{default:a(()=>[l(O,{modelValue:o(c).is_public,"onUpdate:modelValue":e[2]||(e[2]=t=>o(c).is_public=t),placeholder:"全部",clearable:""},{default:a(()=>[l(y,{label:"全部",value:""}),l(y,{label:"仅自己可见",value:0}),l(y,{label:"所有人可见",value:1})]),_:1},8,["modelValue"])]),_:1}),l(m,null,{default:a(()=>[l(p,{type:"primary",onClick:o(P)},{default:a(()=>[...e[10]||(e[10]=[n("查询",-1)])]),_:1},8,["onClick"]),l(p,{onClick:o(z)},{default:a(()=>[...e[11]||(e[11]=[n("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),w((_(),g(M,{class:"mt-4 !border-none",shadow:"never"},{default:a(()=>[w((_(),g(p,{type:"primary",onClick:Z},{icon:a(()=>[l(ie,{name:"el-icon-Plus"})]),default:a(()=>[e[12]||(e[12]=n(" 新增处方 ",-1))]),_:1})),[[C,["wcf.prescription/add"]]]),V("div",Fe,[l(R,{data:o(k).lists,size:"large"},{default:a(()=>[l(r,{label:"ID",prop:"id","min-width":"60"}),l(r,{label:"处方名称",prop:"prescription_name","min-width":"200","show-overflow-tooltip":""}),l(r,{label:"处方类型","min-width":"100"},{default:a(({row:t})=>[l(U,{type:t.formula_type==="辅方"?"warning":"primary",size:"small"},{default:a(()=>[n(x(t.formula_type||"主方"),1)]),_:2},1032,["type"])]),_:1}),l(r,{label:"药材数量","min-width":"100"},{default:a(({row:t})=>{var d;return[n(x(((d=t.herbs)==null?void 0:d.length)||0)+"味 ",1)]}),_:1}),l(r,{label:"药材明细","min-width":"300","show-overflow-tooltip":""},{default:a(({row:t})=>[t.herbs&&t.herbs.length>0?(_(),I("span",Je,x(t.herbs.map(d=>`${d.name} ${d.dosage}g`).join("、")),1)):(_(),I("span",Ke,"暂无药材"))]),_:1}),l(r,{label:"是否公开","min-width":"120"},{default:a(({row:t})=>[l(U,{type:t.is_public?"success":"info"},{default:a(()=>[n(x(t.is_public?"所有人可见":"仅自己可见"),1)]),_:2},1032,["type"])]),_:1}),l(r,{label:"禁用修改","min-width":"100"},{default:a(({row:t})=>[l(U,{type:t.disable_edit?"danger":"info"},{default:a(()=>[n(x(t.disable_edit?"已禁用":"可修改"),1)]),_:2},1032,["type"])]),_:1}),l(r,{label:"创建人",prop:"creator_name","min-width":"100"}),l(r,{label:"创建时间",prop:"create_time","min-width":"160"}),l(r,{label:"操作",width:"180",fixed:"right"},{default:a(({row:t})=>[w((_(),g(p,{type:"primary",link:"",onClick:d=>ee(t)},{default:a(()=>[...e[13]||(e[13]=[n(" 查看 ",-1)])]),_:1},8,["onClick"])),[[C,["wcf.prescription/read"]]]),$(t)?w((_(),g(p,{key:0,type:"primary",link:"",onClick:d=>le(t)},{default:a(()=>[...e[14]||(e[14]=[n(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[C,["wcf.prescription/edit"]]]):L("",!0),o(Q)(t)?w((_(),g(p,{key:1,type:"danger",link:"",onClick:d=>ae(t.id)},{default:a(()=>[...e[15]||(e[15]=[n(" 删除 ",-1)])]),_:1},8,["onClick"])),[[C,["wcf.prescription/delete"]]]):L("",!0)]),_:1})]),_:1},8,["data"])]),V("div",je,[l(se,{modelValue:o(k),"onUpdate:modelValue":e[3]||(e[3]=t=>F(k)?k.value=t:null),onChange:o(h)},null,8,["modelValue","onChange"])])]),_:1})),[[re,o(k).loading]]),l(de,{modelValue:o(b),"onUpdate:modelValue":e[9]||(e[9]=t=>F(b)?b.value=t:null),title:o(u)==="add"?"新增处方":o(u)==="edit"?"编辑处方":"查看处方",width:"800px","close-on-click-modal":!1},he({default:a(()=>[l(A,{ref_key:"formRef",ref:N,model:o(s),rules:j,"label-width":"120px",disabled:o(u)==="view"},{default:a(()=>[l(m,{label:"处方名称",prop:"prescription_name"},{default:a(()=>[l(v,{modelValue:o(s).prescription_name,"onUpdate:modelValue":e[4]||(e[4]=t=>o(s).prescription_name=t),placeholder:"请输入处方名称,例如:六味地黄丸、补中益气汤",maxlength:"100","show-word-limit":""},null,8,["modelValue"])]),_:1}),l(m,{label:"处方类型",prop:"formula_type"},{default:a(()=>[l(oe,{modelValue:o(s).formula_type,"onUpdate:modelValue":e[5]||(e[5]=t=>o(s).formula_type=t)},{default:a(()=>[l(T,{value:"主方"},{default:a(()=>[...e[16]||(e[16]=[n("主方",-1)])]),_:1}),l(T,{value:"辅方"},{default:a(()=>[...e[17]||(e[17]=[n("辅方",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(m,{label:"药材配方",prop:"herbs",required:""},{default:a(()=>[V("div",qe,[l(p,{type:"primary",size:"small",onClick:W,disabled:o(u)==="view"},{default:a(()=>[...e[18]||(e[18]=[n(" 添加药材 ",-1)])]),_:1},8,["disabled"]),l(R,{data:o(s).herbs,class:"mt-2",border:""},{default:a(()=>[l(r,{label:"序号",type:"index",width:"60"}),l(r,{label:"药材名称","min-width":"220"},{default:a(({row:t})=>[l(Te,{modelValue:t.name,"onUpdate:modelValue":d=>t.name=d,"medicine-id":t.medicine_id,"onUpdate:medicineId":d=>t.medicine_id=d,disabled:o(u)==="view"},null,8,["modelValue","onUpdate:modelValue","medicine-id","onUpdate:medicineId","disabled"])]),_:1}),l(r,{label:"剂量(克)","min-width":"150"},{default:a(({row:t})=>[l(ne,{modelValue:t.dosage,"onUpdate:modelValue":d=>t.dosage=d,min:0,precision:1,step:.5,placeholder:"剂量",class:"w-full",disabled:o(u)==="view"},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:1}),o(u)!=="view"?(_(),g(r,{key:0,label:"操作",width:"80"},{default:a(({$index:t})=>[l(p,{type:"danger",link:"",onClick:d=>X(t)},{default:a(()=>[...e[19]||(e[19]=[n(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})):L("",!0)]),_:1},8,["data"])])]),_:1}),l(m,{label:"是否公开",prop:"is_public"},{default:a(()=>[l(B,{modelValue:o(s).is_public,"onUpdate:modelValue":e[6]||(e[6]=t=>o(s).is_public=t),"active-value":1,"inactive-value":0,"active-text":"所有人可见","inactive-text":"仅自己可见"},null,8,["modelValue"]),e[20]||(e[20]=V("div",{class:"text-xs text-gray-400 mt-1"}," 勾选后,所有医生都可以查看和使用此处方模板 ",-1))]),_:1}),l(m,{label:"禁用修改",prop:"disable_edit"},{default:a(()=>[V("div",ze,[l(B,{modelValue:o(s).disable_edit,"onUpdate:modelValue":e[7]||(e[7]=t=>o(s).disable_edit=t),"active-value":1,"inactive-value":0,"active-text":"开启","inactive-text":"关闭"},null,8,["modelValue"]),e[21]||(e[21]=V("div",{class:"text-xs text-gray-400 leading-relaxed"}," 开启后,导入此模板到处方时将锁定整张处方的药材,不可增删改,只能再次导入覆盖 ",-1))])]),_:1})]),_:1},8,["model","disabled"])]),_:2},[o(u)!=="view"?{name:"footer",fn:a(()=>[l(p,{onClick:e[8]||(e[8]=t=>b.value=!1)},{default:a(()=>[...e[22]||(e[22]=[n("取消",-1)])]),_:1}),l(p,{type:"primary",onClick:te,loading:o(S)},{default:a(()=>[...e[23]||(e[23]=[n(" 确定 ",-1)])]),_:1},8,["loading"])]),key:"0"}:void 0]),1032,["modelValue","title"])])}}}),al=Pe(He,[["__scopeId","data-v-b1f699c7"]]);export{al as default}; diff --git a/server/public/admin/assets/list-llEVKJjp.js b/server/public/admin/assets/list-COnYi4m8.js similarity index 93% rename from server/public/admin/assets/list-llEVKJjp.js rename to server/public/admin/assets/list-COnYi4m8.js index 62003020..ff984485 100644 --- a/server/public/admin/assets/list-llEVKJjp.js +++ b/server/public/admin/assets/list-COnYi4m8.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DSANIFY1.js","assets/.pnpm-9dA1PEvN.js","assets/.pnpm-LiWq8Xu0.css","assets/tcm-DOD9_1Um.js","assets/index-CJvXnF8Y.js","assets/index-or10At3s.css","assets/perm-BLNmf25V.js","assets/DailyMatrix-_4SdP1CQ.js","assets/picker-DWQ_BAep.js","assets/index-BBemoNXE.js","assets/index-dh40Du6y.css","assets/index-CY1mb9yY.js","assets/index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js","assets/index-CAGpCz28.js","assets/index-BYMg0OFw.css","assets/index-DMkcmA29.js","assets/file-BJDA0rIT.js","assets/index.vue_vue_type_script_setup_true_lang-Blf417m7.js","assets/usePaging-Boz1Q6w3.js","assets/index-D6uL8V1j.css","assets/picker-CLzhBfnG.css","assets/DiagnosisTodoList-wLDuYeQL.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix--Ay5C05Q.css","assets/CaseRecordList-BdOS8uCk.js","assets/CaseRecordList-DEgrl9PS.css","assets/CallRecordPanel-B5TNiiYq.js","assets/RecordingPlaybackBlock-C4Gpp-2c.js","assets/RecordingVideoPlayer-BFQjIPtM.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-p7h_1hh9.css","assets/ImChatRecordPanel-Dupe02qF.js","assets/dayjs-BsOAYQJw.js","assets/im-business-message-parse-DmDISFGN.js","assets/ImChatRecordPanel-BRnJl8ir.css","assets/AssignLogPanel-7M3l9W5C.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DxULo4tR.js","assets/doctor-Bmtf1eZE.js","assets/AppointmentRecordPanel-BWS3OyF0.css","assets/NoteTimeline-BiPgEoRT.js","assets/patient-CwTOvUDt.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-CbJRHf8i.js","assets/PrescriptionOrderDetailDrawer-66DcVm3d.js","assets/prescription-order-utils-B0fYlULc.js","assets/PrescriptionOrderDetailDrawer-DL92yzHH.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-D33qlDjf.js","assets/index-BANIMLkY.js","assets/medicine-CQDW2OUZ.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-DxQanmqx.css","assets/edit-Cgsl1tY9.css","assets/TrackingNoteTimeline-C-2kS81H.css","assets/index-B9yJIrZi.js","assets/@tencentcloud/chat-Clb_yWS-.js","assets/@tencentcloud/chat-uikit-engine-CE484eWV.js","assets/tim-upload-plugin-CQ0SshXS.js","assets/tim-profanity-filter-plugin-M-EFi4_K.js","assets/@tencentcloud/call-engine-js-BSW3L4hf.js","assets/rtc-detect-DLSGS3ox.js","assets/index-BdeDEJMM.css"])))=>i.map(i=>d[i]); -import{o as ae,R as le,ap as ie,aq as ne,be as oe,q as _,r as k,v as l,D as i,s as e,Y as de,C as R,u as s,X as re,w as ue,cT as pe,L as u,O as v,bC as _e,P as f,cU as me,cV as yt,cO as bt,at as ce,b7 as fe,b8 as ge,K as ve,$ as ye,ck as kt,Z as be,_ as ke,aw as Dt,ce as Ct,cx as De,bc as Ce,bb as Ve,bK as Ee,bt as we,ac as P,bj as Se,bk as Te,T as p,br as he,F as $e,bE as Pe,bH as it,bi as ze,bg as Re,cl as xe,b5 as Ie,cb as nt,al as ot,p as dt,ba as qe,M as g}from"./.pnpm-9dA1PEvN.js";import{_ as Ae}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{_ as Le}from"./index.vue_vue_type_script_setup_true_lang-C38LpCy9.js";import{u as Ue}from"./usePaging-Boz1Q6w3.js";import{a as Me,m as Be,l as Vt}from"./doctor-Bmtf1eZE.js";import{d as Ne}from"./department-DYCfZwei.js";import{R as Oe,a2 as Fe,a3 as We}from"./tcm-DOD9_1Um.js";import{u as He,i as y,_ as Qe}from"./index-CJvXnF8Y.js";import{a as Ye}from"./patient-CwTOvUDt.js";import{h as je}from"./perm-BLNmf25V.js";import{i as Ke,f as Ge}from"./diabetes-discovery-display-B_wmGXQJ.js";import{g as Xe}from"./weapp-CBfJD55Y.js";const Ze={class:"appointment-list"},Je={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"},us={class:"table-wrap"},ps={class:"patient-cell"},_s={class:"patient-info"},ms={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"},Es={class:"detail-section-title"},ws={class:"detail-grid"},Ss={class:"detail-item"},Ts={class:"detail-value"},hs={class:"detail-item"},$s={class:"detail-item"},Ps={class:"detail-value"},zs={class:"detail-item"},Rs={class:"detail-value"},xs={class:"detail-item"},Is={class:"detail-value"},qs={class:"detail-item"},As={class:"detail-value"},Ls={class:"detail-section"},Us={class:"detail-section-title"},Ms={class:"detail-grid"},Bs={class:"detail-item"},Ns={class:"detail-value"},Os={class:"detail-item"},Fs={class:"detail-value"},Ws={class:"detail-item"},Hs={class:"detail-value"},Qs={class:"detail-item"},Ys={class:"detail-value"},js={class:"detail-item"},Ks={class:"detail-value"},Gs={class:"detail-item"},Xs={class:"detail-value"},Zs={class:"detail-item"},Js={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"},ua={class:"detail-item"},pa={class:"detail-value"},_a={class:"detail-item"},ma={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"},Ea={class:"detail-value"},wa={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"},$a={key:1,class:"detail-section"},Pa={class:"detail-section-title"},za={class:"detail-grid"},Ra={key:0,class:"detail-item"},xa={class:"detail-value"},Ia={key:1,class:"detail-item"},qa={class:"detail-value"},Aa={key:2,class:"detail-item detail-item-full"},La={class:"detail-value"},Ua={key:3,class:"detail-item detail-item-full"},Ma={class:"detail-value"},Ba={class:"detail-section"},Na={class:"detail-remark"},Oa={class:"qrcode-content"},Fa={key:0,class:"qrcode-loading"},Wa={key:1,class:"qrcode-success"},Ha={class:"qrcode-image-wrap"},Qa=["src"],Ya={class:"qrcode-info"},ja={class:"qrcode-patient"},Ka={key:2,class:"qrcode-error"},Ga={class:"complete-dialog"},Xa=2e4,Za=ae({__name:"list",setup(Ja){const Et=nt(()=>ot(()=>import("./edit-DSANIFY1.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]))),wt=nt(()=>ot(()=>import("./index-D33qlDjf.js"),__vite__mapDeps([50,1,2,51,52,4,5,53,54,3,55]))),St=nt(()=>ot(()=>import("./index-B9yJIrZi.js"),__vite__mapDeps([58,1,2,16,4,5,43,3,35,34,59,60,61,62,63,64,65]))),rt=He(),Tt=dt(()=>rt.userInfo),ht=a=>!a||a.length<11?a:a.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),$t=dt(()=>{const a=Tt.value.role_id;return Array.isArray(a)?!a.includes(1)&&!a.includes(2):a!==1&&a!==2}),r=qe({patient_name:"",doctor_name:"",status:"",start_date:"",end_date:"",date_preset:"today",diagnosis_confirmed:"",assistant_dept_id:"",include_status_counts:0}),G=g([]),Pt={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:ut,resetPage:zt}=Ue({fetchFun:Me,params:r,firstLoading:!0});le(()=>[r.start_date,r.end_date],([a,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),$=new Date(o);$.setDate($.getDate()-2);const K=m($),L=new Date(o);L.setDate(L.getDate()+1);const E=m(L),U=new Date(o);U.setDate(U.getDate()+2);const lt=m(U),M=r.date_preset,B=M==="yesterday"?b:M==="day_before"?K:M==="today"?T:M==="tomorrow"?E:lt;(a||"").split(" ")[0]!==B&&(r.date_preset="")});const Rt=a=>{a==="all"?r.status="":r.status=Number(a),zt()};let F=null;const D=async a=>{const t=(a==null?void 0:a.silent)===!0;r.include_status_counts=1;try{await ut({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=a=>{a==="customDate"?x.value=!0:a==="reset"&&Ut()},It=()=>{r.date_preset="",x.value=!1,V.page=1,D()},qt=()=>{V.page=1,D()},At=()=>{V.page=1,D()},Lt=a=>{const t=String(a||"");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()},pt=()=>{V.page=1,D()},Ut=()=>{O.value="1",r.patient_name="",r.doctor_name="",r.date_preset="today",r.diagnosis_confirmed="",r.assistant_dept_id="";const a=new Date,t=o=>String(o).padStart(2,"0");r.start_date=`${a.getFullYear()}-${t(a.getMonth()+1)}-${t(a.getDate())}`,r.end_date=r.start_date,r.status=1,V.page=1,D()},X=g(!1),d=g(null),Mt=g([]),Bt=g([]),Nt=g([]),Ot=g([]),W=(a,t)=>{if(!t)return"-";const o=a.find(c=>c.value===t);return o?o.name:t},Ft=a=>(Array.isArray(a)?a:typeof a=="string"?a.split(/[,,、]/):[]).map(o=>W(Ot.value,o.trim())).filter(Boolean).join("、")||"-",Z=g(),J=g(),_t=g(),Wt=["doctor.appointment/addDoctorNote"],I=g(!1),H=g(!1),q=g(""),tt=g(null),et=dt(()=>je(Wt)),A=g(!1),Q=g(!1),Y=g(""),j=g(null),Ht=(a,t)=>{switch(a){case"edit":ct(t);break;case"viewCase":Xt(t);break;case"complete":mt(t);break;case"chat":ft(t);break;case"qrcode":st(t);break;case"prescription":gt(t);break;case"cancel":Qt(t);break}},Qt=async a=>{try{await y.confirm("确定要取消该挂号吗?"),await Be({id:a.id}),y.msgSuccess("取消成功"),D()}catch{}},mt=async a=>{if(tt.value=a,q.value="",et.value){I.value=!0;return}try{await y.confirm("是否添加医生备注?"),await Vt({id:a.id}),y.msgSuccess("操作成功"),D()}catch{}},Yt=async()=>{const a=tt.value;if(!(!(a!=null&&a.id)||H.value)){H.value=!0;try{const t=q.value.trim();await Vt({id:a.id});let o="";if(et.value&&t){const c=a.patient_id||a.diagnosis_id;if(c)try{await Ye({diagnosis_id:Number(c),content:t})}catch{o="问诊已完成,但备注未保存"}else o="问诊已完成,但该预约没有关联诊单,备注未保存"}o?y.msgWarning(o):y.msgSuccess("操作成功"),I.value=!1,q.value="",tt.value=null,D()}catch(t){y.msgError((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"操作失败")}finally{H.value=!1}}},ct=a=>{var t;if(!a.patient_id){y.msgWarning("该预约没有关联诊单信息");return}(t=Z.value)==null||t.open("edit",a.patient_id)},jt=a=>{ct(a)},ft=async a=>{var t;if(!a.patient_id){y.msgWarning("患者信息不完整");return}if(!a.diagnosis_id&&!a.id){y.msgWarning("预约信息不完整,无法发起聊天");return}try{const o=await Oe({patient_id:a.patient_id,diagnosis_id:a.diagnosis_id||a.id});console.log("获取聊天签名成功:",o),(t=_t.value)==null||t.open({patientId:a.patient_id,patientName:a.patient_name,diagnosisId:a.diagnosis_id||a.id,signatureData:o})}catch(o){console.error("获取聊天签名失败:",o),y.msgError(o.message||"获取聊天签名失败")}},st=async a=>{if(!a.patient_id){y.msgWarning("患者信息不完整");return}j.value=a,A.value=!0,Q.value=!0,Y.value="";try{const t=await Xe();if(!(t!=null&&t.app_id)){y.msgError("小程序未配置,请先配置小程序信息"),A.value=!1;return}const o=rt.userInfo,c=await Fe({diagnosis_id:a.doctor_id||"",patient_id:a.patient_id,share_user_id:(o==null?void 0:o.id)||"",mini_program_path:"pages/login/login"});c!=null&&c.qrcode_url?Y.value=c.qrcode_url:y.msgError("二维码生成失败")}catch(t){console.error("生成小程序二维码失败:",t),y.msgError((t==null?void 0:t.msg)||"生成二维码失败,请重试")}finally{Q.value=!1}},Kt=()=>{var a,t;D(),(t=(a=Z.value)==null?void 0:a.refreshCaseList)==null||t.call(a)};function Gt(a){return(a==null?void 0:a.prescription_audit_status)===1&&Number(a==null?void 0:a.prescription_void_status)!==1?"查看":"开方"}const gt=a=>{var t;if(!a.diagnosis_id&&!a.patient_id){y.msgWarning("该预约缺少诊单信息,请先编辑患者");return}(t=J.value)==null||t.open(a)},Xt=async a=>{var t;if(!a.id){y.msgWarning("预约信息不完整");return}try{const o=await We({appointment_id:a.id});o!=null&&o.id?(t=J.value)==null||t.openById(o.id):y.msgWarning("该预约暂无病历记录,请先开方")}catch(o){y.msgError((o==null?void 0:o.msg)||"获取病历失败")}},Zt=()=>{j.value&&st(j.value)},at=new Date,vt=a=>String(a).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,ie(async()=>{try{const a=await Ne();G.value=Array.isArray(a)?a:[]}catch{G.value=[]}D(),F=setInterval(()=>{D({silent:!0})},Xa)}),ne(()=>{F!==null&&(clearInterval(F),F=null)}),(a,t)=>{const o=ue,c=_e,m=re,T=de,h=fe,b=ve,$=ke,K=be,L=ye,E=Ve,U=Ce,lt=Ee,M=Le,B=we,w=Te,C=he,Jt=Se,te=Ae,ee=Re,z=oe("perms"),se=ze;return _(),k("div",Ze,[l(ee,{class:"list-card !border-none",shadow:"never"},{default:i(()=>[e("div",Je,[l(T,{modelValue:s(O),"onUpdate:modelValue":t[0]||(t[0]=n=>R(O)?O.value=n:null),onTabChange:Rt,class:"list-tabs"},{default:i(()=>[l(m,{name:"1"},{label:i(()=>[e("span",ts,[l(o,null,{default:i(()=>[l(s(pe))]),_:1}),t[20]||(t[20]=u("待接诊",-1)),s(S)[1]?(_(),v(c,{key:0,value:s(S)[1],class:"tab-badge tab-badge-success"},null,8,["value"])):f("",!0)])]),_:1}),l(m,{name:"all"},{label:i(()=>[e("span",es,[l(o,null,{default:i(()=>[l(s(me))]),_:1}),t[21]||(t[21]=u("全部",-1))])]),_:1}),l(m,{name:"4"},{label:i(()=>[e("span",ss,[l(o,null,{default:i(()=>[l(s(yt))]),_:1}),t[22]||(t[22]=u("已过号",-1)),s(S)[4]?(_(),v(c,{key:0,value:s(S)[4],class:"tab-badge tab-badge-danger"},null,8,["value"])):f("",!0)])]),_:1}),l(m,{name:"2"},{label:i(()=>[e("span",as,[l(o,null,{default:i(()=>[l(s(bt))]),_:1}),t[23]||(t[23]=u("已取消",-1)),s(S)[2]?(_(),v(c,{key:0,value:s(S)[2],class:"tab-badge tab-badge-info"},null,8,["value"])):f("",!0)])]),_:1}),l(m,{name:"3"},{label:i(()=>[e("span",ls,[l(o,null,{default:i(()=>[l(s(ce))]),_:1}),t[24]||(t[24]=u("已完成",-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,[l(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:ge(pt,["enter"])},null,8,["modelValue"]),l(b,{type:"primary",size:"small",onClick:pt},{default:i(()=>[...t[25]||(t[25]=[u("查询",-1)])]),_:1}),l(L,{trigger:"click",onCommand:xt},{dropdown:i(()=>[l(K,null,{default:i(()=>[s($t)?(_(),v($,{key:0,class:"dropdown-item-with-input",onClick:t[4]||(t[4]=Dt(()=>{},["stop"]))},{default:i(()=>[t[27]||(t[27]=e("span",{class:"dropdown-label"},"医生",-1)),l(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]=Dt(()=>{},["stop"]))},null,8,["modelValue"])]),_:1})):f("",!0),l($,{command:"customDate",divided:""},{default:i(()=>[l(o,null,{default:i(()=>[l(s(Ct))]),_:1}),t[28]||(t[28]=u(" 自定义日期 ",-1))]),_:1}),l($,{command:"reset"},{default:i(()=>[l(o,null,{default:i(()=>[l(s(De))]),_:1}),t[29]||(t[29]=u(" 重置 ",-1))]),_:1})]),_:1})]),default:i(()=>[l(b,{size:"small"},{default:i(()=>[t[26]||(t[26]=u("更多",-1)),l(o,{class:"el-icon--right"},{default:i(()=>[l(s(kt))]),_:1})]),_:1})]),_:1})])]),e("div",ns,[e("div",os,[t[36]||(t[36]=e("span",{class:"filter-label"},"日期",-1)),l(U,{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(()=>[l(E,{value:"yesterday"},{default:i(()=>[...t[30]||(t[30]=[u("昨天挂号",-1)])]),_:1}),l(E,{value:"day_before"},{default:i(()=>[...t[31]||(t[31]=[u("前天挂号",-1)])]),_:1}),l(E,{value:"today"},{default:i(()=>[...t[32]||(t[32]=[u("当天挂号",-1)])]),_:1}),l(E,{value:"tomorrow"},{default:i(()=>[...t[33]||(t[33]=[u("明天挂号",-1)])]),_:1}),l(E,{value:"day_after"},{default:i(()=>[...t[34]||(t[34]=[u("后天挂号",-1)])]),_:1}),l(E,{value:""},{default:i(()=>[...t[35]||(t[35]=[u("不限",-1)])]),_:1})]),_:1},8,["modelValue"])]),e("div",ds,[t[40]||(t[40]=e("span",{class:"filter-label"},"确认诊单",-1)),l(U,{modelValue:s(r).diagnosis_confirmed,"onUpdate:modelValue":t[6]||(t[6]=n=>s(r).diagnosis_confirmed=n),size:"small",onChange:qt,class:"filter-radio"},{default:i(()=>[l(E,{value:""},{default:i(()=>[...t[37]||(t[37]=[u("全部",-1)])]),_:1}),l(E,{value:"1"},{default:i(()=>[...t[38]||(t[38]=[u("已确认",-1)])]),_:1}),l(E,{value:"0"},{default:i(()=>[...t[39]||(t[39]=[u("未确认",-1)])]),_:1})]),_:1},8,["modelValue"])]),e("div",rs,[t[41]||(t[41]=e("span",{class:"filter-label"},"部门",-1)),l(lt,{modelValue:s(r).assistant_dept_id,"onUpdate:modelValue":t[7]||(t[7]=n=>s(r).assistant_dept_id=n),data:s(G),class:"filter-dept-select",clearable:"",filterable:"","check-strictly":"","default-expand-all":!0,"node-key":"id",size:"small",props:Pt,placeholder:"选父级含子级",onChange:At},null,8,["modelValue","data"])])]),l(B,{modelValue:s(x),"onUpdate:modelValue":t[11]||(t[11]=n=>R(x)?x.value=n:null),title:"自定义日期",width:"400px","append-to-body":"","close-on-click-modal":!0},{footer:i(()=>[l(b,{onClick:t[10]||(t[10]=n=>x.value=!1)},{default:i(()=>[...t[42]||(t[42]=[u("取消",-1)])]),_:1}),l(b,{type:"primary",onClick:It},{default:i(()=>[...t[43]||(t[43]=[u("确定",-1)])]),_:1})]),default:i(()=>[l(M,{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",us,[P((_(),v(Jt,{data:s(V).lists,size:"default",class:"appointment-table"},{default:i(()=>[l(w,{label:"ID",prop:"id",width:"72",align:"center"}),l(w,{label:"患者信息","min-width":"140"},{default:i(({row:n})=>[e("div",ps,[e("div",_s,[e("div",ms,p(n.patient_name),1),e("div",cs,p(ht(n.patient_phone)),1),e("div",fs,p([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}),l(w,{label:"医生",prop:"doctor_name",width:"90","show-overflow-tooltip":""}),l(w,{label:"预约时间","min-width":"120"},{default:i(({row:n})=>[e("div",gs,[e("div",vs,p(n.appointment_date),1),e("div",ys,p(n.appointment_time),1)])]),_:1}),l(w,{label:"助理",prop:"assistant_name",width:"100","show-overflow-tooltip":""},{default:i(({row:n})=>[u(p(n.assistant_name||"—"),1)]),_:1}),l(w,{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]=[u("已确认",-1)])]),_:1})):(_(),v(C,{key:1,type:"warning",size:"small",effect:"plain"},{default:i(()=>[...t[45]||(t[45]=[u("未确认",-1)])]),_:1}))]),_:1}),l(w,{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]=[u("已开方",-1)])]),_:1})):(_(),v(C,{key:1,type:"info",size:"small",effect:"plain"},{default:i(()=>[...t[47]||(t[47]=[u("未开方",-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]=[u(" 系统代开 ",-1)])]),_:1})):f("",!0)])]),_:1}),l(w,{label:"状态",width:"90",align:"center"},{default:i(({row:n})=>[l(C,{type:n.status===1?"success":n.status===2?"info":n.status===3?"primary":"danger",size:"small",effect:"light",round:""},{default:i(()=>[u(p(n.status_desc),1)]),_:2},1032,["type"])]),_:1}),l(w,{label:"备注",prop:"remark","min-width":"120","show-overflow-tooltip":""}),l(w,{label:"操作",width:"380",fixed:"right",align:"left"},{default:i(({row:n})=>[e("div",ks,[P((_(),v(b,{type:"primary",link:"",size:"small",onClick:N=>jt(n)},{default:i(()=>[...t[49]||(t[49]=[u(" 编辑患者 ",-1)])]),_:1},8,["onClick"])),[[z,["tcm.diagnosis/edit"]]]),n.status!==3?(_(),k($e,{key:0},[P((_(),v(b,{type:"warning",link:"",size:"small",onClick:N=>st(n),class:"action-qrcode"},{default:i(()=>[l(o,null,{default:i(()=>[l(s(Pe))]),_:1}),t[50]||(t[50]=u(" 视频二维码 ",-1))]),_:1},8,["onClick"])),[[z,["tcm.diagnosis/videoQr"]]]),P((_(),v(b,{type:"primary",link:"",size:"small",onClick:N=>ft(n)},{default:i(()=>[...t[51]||(t[51]=[u(" 通话 ",-1)])]),_:1},8,["onClick"])),[[z,["doctor.appointment/prescription"]]]),P((_(),v(b,{type:"success",link:"",size:"small",onClick:N=>mt(n)},{default:i(()=>[...t[52]||(t[52]=[u(" 完成 ",-1)])]),_:1},8,["onClick"])),[[z,["doctor.appointment/complete"]]])],64)):f("",!0),P((_(),v(b,{type:"primary",link:"",size:"small",onClick:N=>gt(n)},{default:i(()=>[u(p(Gt(n)),1)]),_:2},1032,["onClick"])),[[z,["tcm.diagnosis/kaifang"]]]),l(L,{trigger:"click",onCommand:N=>Ht(N,n),placement:"bottom-end"},{dropdown:i(()=>[l(K,null,{default:i(()=>[P((_(),v($,{command:"viewCase"},{default:i(()=>[l(o,null,{default:i(()=>[l(s(it))]),_:1}),t[54]||(t[54]=u(" 病历 ",-1))]),_:1})),[[z,["tcm.diagnosis/kaifang"]]]),n.status===1?P((_(),v($,{key:0,command:"cancel",divided:""},{default:i(()=>[l(o,null,{default:i(()=>[l(s(bt))]),_:1}),t[55]||(t[55]=e("span",{class:"text-danger"},"取消挂号",-1))]),_:1})),[[z,["doctor.appointment/cancel"]]]):f("",!0)]),_:2},1024)]),default:i(()=>[l(b,{type:"info",link:"",size:"small"},{default:i(()=>[t[53]||(t[53]=u(" 更多 ",-1)),l(o,{class:"el-icon--right"},{default:i(()=>[l(s(kt))]),_:1})]),_:1})]),_:2},1032,["onCommand"])])]),_:1})]),_:1},8,["data"])),[[se,s(V).loading]]),e("div",Ds,[l(te,{modelValue:s(V),"onUpdate:modelValue":t[12]||(t[12]=n=>R(V)?V.value=n:null),onChange:s(ut)},null,8,["modelValue","onChange"])])])]),_:1}),l(B,{modelValue:s(X),"onUpdate:modelValue":t[13]||(t[13]=n=>R(X)?X.value=n:null),title:"挂号详情",width:"720px",class:"detail-dialog","destroy-on-close":""},{default:i(()=>[s(d)?(_(),k("div",Cs,[e("div",Vs,[e("div",Es,[l(o,null,{default:i(()=>[l(s(Ct))]),_:1}),t[56]||(t[56]=u(" 预约信息 ",-1))]),e("div",ws,[e("div",Ss,[t[57]||(t[57]=e("span",{class:"detail-label"},"挂号ID",-1)),e("span",Ts,p(s(d).id),1)]),e("div",hs,[t[58]||(t[58]=e("span",{class:"detail-label"},"状态",-1)),l(C,{type:s(d).status===1?"success":s(d).status===2?"info":s(d).status===3?"primary":"danger",size:"small",effect:"light"},{default:i(()=>[u(p(s(d).status_desc),1)]),_:1},8,["type"])]),e("div",$s,[t[59]||(t[59]=e("span",{class:"detail-label"},"医生",-1)),e("span",Ps,p(s(d).doctor_name),1)]),e("div",zs,[t[60]||(t[60]=e("span",{class:"detail-label"},"预约时间",-1)),e("span",Rs,p(s(d).appointment_date)+" "+p(s(d).appointment_time),1)]),e("div",xs,[t[61]||(t[61]=e("span",{class:"detail-label"},"时段",-1)),e("span",Is,p(s(d).period==="morning"?"上午":"下午"),1)]),e("div",qs,[t[62]||(t[62]=e("span",{class:"detail-label"},"预约类型",-1)),e("span",As,p(s(d).appointment_type_desc),1)])])]),e("div",Ls,[e("div",Us,[l(o,null,{default:i(()=>[l(s(xe))]),_:1}),t[63]||(t[63]=u(" 患者信息 ",-1))]),e("div",Ms,[e("div",Bs,[t[64]||(t[64]=e("span",{class:"detail-label"},"姓名",-1)),e("span",Ns,p(s(d).patient_name||"-"),1)]),e("div",Os,[t[65]||(t[65]=e("span",{class:"detail-label"},"手机号",-1)),e("span",Fs,p(s(d).phone||s(d).patient_phone||"-"),1)]),e("div",Ws,[t[66]||(t[66]=e("span",{class:"detail-label"},"身份证号",-1)),e("span",Hs,p(s(d).id_card||"-"),1)]),e("div",Qs,[t[67]||(t[67]=e("span",{class:"detail-label"},"性别",-1)),e("span",Ys,p(s(d).gender===1?"男":s(d).gender===0?"女":"-"),1)]),e("div",js,[t[68]||(t[68]=e("span",{class:"detail-label"},"年龄",-1)),e("span",Ks,p(s(d).age!=null?s(d).age+"岁":"-"),1)]),e("div",Gs,[t[69]||(t[69]=e("span",{class:"detail-label"},"诊断日期",-1)),e("span",Xs,p(s(d).diagnosis_date||"-"),1)]),e("div",Zs,[t[70]||(t[70]=e("span",{class:"detail-label"},"婚姻状态",-1)),e("span",Js,p(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,p(s(d).height??"-"),1)]),e("div",sa,[t[72]||(t[72]=e("span",{class:"detail-label"},"体重(kg)",-1)),e("span",aa,p(s(d).weight??"-"),1)]),e("div",la,[t[73]||(t[73]=e("span",{class:"detail-label"},"地区",-1)),e("span",ia,p(s(d).region||"-"),1)]),e("div",na,[t[74]||(t[74]=e("span",{class:"detail-label"},"收缩压(mmHg)",-1)),e("span",oa,p(s(d).systolic_pressure??"-"),1)]),e("div",da,[t[75]||(t[75]=e("span",{class:"detail-label"},"舒张压(mmHg)",-1)),e("span",ra,p(s(d).diastolic_pressure??"-"),1)]),e("div",ua,[t[76]||(t[76]=e("span",{class:"detail-label"},"空腹血糖(mmol/L)",-1)),e("span",pa,p(s(d).fasting_blood_sugar??"-"),1)]),e("div",_a,[t[77]||(t[77]=e("span",{class:"detail-label"},"诊断类型",-1)),e("span",ma,p(W(s(Mt),s(d).diagnosis_type)||"-"),1)]),e("div",ca,[t[78]||(t[78]=e("span",{class:"detail-label"},"证型",-1)),e("span",fa,p(W(s(Bt),s(d).syndrome_type)||"-"),1)]),e("div",ga,[t[79]||(t[79]=e("span",{class:"detail-label"},"糖尿病期数",-1)),e("span",va,p(W(s(Nt),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,[l(o,null,{default:i(()=>[l(s(it))]),_:1}),t[80]||(t[80]=u(" 病史信息 ",-1))]),e("div",ka,[s(Ke)(s(d).diabetes_discovery_year)?(_(),k("div",Da,[t[81]||(t[81]=e("span",{class:"detail-label"},"发现糖尿病病史",-1)),e("span",Ca,p(s(Ge)(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",Ea,p(s(d).local_hospital_name),1)])):f("",!0),s(d).symptoms?(_(),k("div",wa,[t[83]||(t[83]=e("span",{class:"detail-label"},"症状补充",-1)),e("span",Sa,p(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,p(Ft(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",$a,[e("div",Pa,[l(o,null,{default:i(()=>[l(s(it))]),_:1}),t[85]||(t[85]=u(" 诊断信息 ",-1))]),e("div",za,[s(d).tongue_coating?(_(),k("div",Ra,[t[86]||(t[86]=e("span",{class:"detail-label"},"舌苔",-1)),e("span",xa,p(s(d).tongue_coating),1)])):f("",!0),s(d).pulse?(_(),k("div",Ia,[t[87]||(t[87]=e("span",{class:"detail-label"},"脉象",-1)),e("span",qa,p(s(d).pulse),1)])):f("",!0),s(d).treatment_principle?(_(),k("div",Aa,[t[88]||(t[88]=e("span",{class:"detail-label"},"治则",-1)),e("span",La,p(s(d).treatment_principle),1)])):f("",!0),s(d).prescription?(_(),k("div",Ua,[t[89]||(t[89]=e("span",{class:"detail-label"},"处方",-1)),e("span",Ma,p(s(d).prescription),1)])):f("",!0)])])):f("",!0),e("div",Ba,[t[90]||(t[90]=e("div",{class:"detail-section-title"},"备注",-1)),e("p",Na,p(s(d).remark||"无"),1)])])):f("",!0)]),_:1},8,["modelValue"]),l(s(Et),{ref_key:"editRef",ref:Z,onSuccess:t[14]||(t[14]=()=>D({silent:!0}))},null,512),l(s(wt),{ref_key:"prescriptionRef",ref:J,onSuccess:Kt},null,512),l(s(St),{ref_key:"chatDialogRef",ref:_t},null,512),l(B,{modelValue:s(A),"onUpdate:modelValue":t[16]||(t[16]=n=>R(A)?A.value=n:null),title:"小程序二维码",width:"380px","close-on-click-modal":!1,class:"qrcode-dialog"},{footer:i(()=>[l(b,{onClick:t[15]||(t[15]=n=>A.value=!1)},{default:i(()=>[...t[95]||(t[95]=[u("关闭",-1)])]),_:1}),s(Q)?f("",!0):(_(),v(b,{key:0,type:"primary",onClick:Zt},{default:i(()=>[...t[96]||(t[96]=[u(" 重新生成 ",-1)])]),_:1}))]),default:i(()=>{var n;return[e("div",Oa,[s(Q)?(_(),k("div",Fa,[l(o,{class:"is-loading",size:48},{default:i(()=>[l(s(Ie))]),_:1}),t[91]||(t[91]=e("div",{class:"qrcode-loading-text"},"生成中...",-1))])):s(Y)?(_(),k("div",Wa,[e("div",Ha,[e("img",{src:s(Y),alt:"小程序二维码",class:"qrcode-image"},null,8,Qa)]),e("div",Ya,[e("div",ja,"患者:"+p((n=s(j))==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",Ka,[l(o,{size:40},{default:i(()=>[l(s(yt))]),_:1}),t[94]||(t[94]=e("div",null,"生成失败,请重试",-1))]))])]}),_:1},8,["modelValue"]),l(B,{modelValue:s(I),"onUpdate:modelValue":t[19]||(t[19]=n=>R(I)?I.value=n:null),title:"完成问诊",width:"420px","append-to-body":"","close-on-click-modal":!1,"destroy-on-close":""},{footer:i(()=>[l(b,{onClick:t[18]||(t[18]=n=>I.value=!1)},{default:i(()=>[...t[98]||(t[98]=[u("取消",-1)])]),_:1}),l(b,{type:"primary",loading:s(H),onClick:Yt},{default:i(()=>[...t[99]||(t[99]=[u("确认完成",-1)])]),_:1},8,["loading"])]),default:i(()=>[e("div",Ga,[t[97]||(t[97]=e("p",{class:"complete-dialog-tip"},"是否添加医生备注?",-1)),s(et)?(_(),v(h,{key:0,modelValue:s(q),"onUpdate:modelValue":t[17]||(t[17]=n=>R(q)?q.value=n:null),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"填写完成备注,将追加到医生备注时间轴"},null,8,["modelValue"])):f("",!0)])]),_:1},8,["modelValue"])])}}}),_l=Qe(Za,[["__scopeId","data-v-25a2f28f"]]);export{_l as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DxLWCQnV.js","assets/.pnpm-9dA1PEvN.js","assets/.pnpm-LiWq8Xu0.css","assets/tcm-Fi_swgCr.js","assets/index-BWzN7QIb.js","assets/index-or10At3s.css","assets/perm-BzF8JgcJ.js","assets/DailyMatrix-BOqZMkKS.js","assets/picker-DfI3CPnQ.js","assets/index-dYaCh-CN.js","assets/index-dh40Du6y.css","assets/index-xDQ_OZln.js","assets/index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js","assets/index-fA0EWEUO.js","assets/index-BYMg0OFw.css","assets/index-DFkJDhf6.js","assets/file-BL6iPgPC.js","assets/index.vue_vue_type_script_setup_true_lang-Blf417m7.js","assets/usePaging-Boz1Q6w3.js","assets/index-D6uL8V1j.css","assets/picker-CLzhBfnG.css","assets/DiagnosisTodoList-CAIMA53u.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix--Ay5C05Q.css","assets/CaseRecordList-DlCqPijV.js","assets/CaseRecordList-DEgrl9PS.css","assets/CallRecordPanel-CJ3iGibG.js","assets/RecordingPlaybackBlock-CN4w1UI-.js","assets/RecordingVideoPlayer-DIfduEP7.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-p7h_1hh9.css","assets/ImChatRecordPanel-BMjxk7mx.js","assets/dayjs-BsOAYQJw.js","assets/im-business-message-parse-DmDISFGN.js","assets/ImChatRecordPanel-BRnJl8ir.css","assets/AssignLogPanel-CF42MNq_.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DxBIlcME.js","assets/doctor-Chj6BcVp.js","assets/AppointmentRecordPanel-BWS3OyF0.css","assets/NoteTimeline-DxUNQs4y.js","assets/patient-Btpwd7dp.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-CKjXSixL.js","assets/PrescriptionOrderDetailDrawer-CEi7ZXfx.js","assets/prescription-order-utils-B0fYlULc.js","assets/PrescriptionOrderDetailDrawer-DL92yzHH.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-B5cu05RL.js","assets/index-CNLsF7Nt.js","assets/medicine-DezWRkkS.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-DxQanmqx.css","assets/edit-Cgsl1tY9.css","assets/TrackingNoteTimeline-C-2kS81H.css","assets/index-B8Qc_UQF.js","assets/@tencentcloud/chat-Clb_yWS-.js","assets/@tencentcloud/chat-uikit-engine-CE484eWV.js","assets/tim-upload-plugin-CQ0SshXS.js","assets/tim-profanity-filter-plugin-M-EFi4_K.js","assets/@tencentcloud/call-engine-js-BSW3L4hf.js","assets/rtc-detect-DLSGS3ox.js","assets/index-BdeDEJMM.css"])))=>i.map(i=>d[i]); +import{o as ae,R as le,ap as ie,aq as ne,be as oe,q as _,r as k,v as l,D as i,s as e,Y as de,C as R,u as s,X as re,w as ue,cT as pe,L as u,O as v,bC as _e,P as f,cU as me,cV as yt,cO as bt,at as ce,b7 as fe,b8 as ge,K as ve,$ as ye,ck as kt,Z as be,_ as ke,aw as Dt,ce as Ct,cx as De,bc as Ce,bb as Ve,bK as Ee,bt as we,ac as P,bj as Se,bk as Te,T as p,br as he,F as $e,bE as Pe,bH as it,bi as ze,bg as Re,cl as xe,b5 as Ie,cb as nt,al as ot,p as dt,ba as qe,M as g}from"./.pnpm-9dA1PEvN.js";import{_ as Ae}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{_ as Le}from"./index.vue_vue_type_script_setup_true_lang-C38LpCy9.js";import{u as Ue}from"./usePaging-Boz1Q6w3.js";import{a as Me,m as Be,l as Vt}from"./doctor-Chj6BcVp.js";import{d as Ne}from"./department-BABv4GiI.js";import{R as Oe,a2 as Fe,a3 as We}from"./tcm-Fi_swgCr.js";import{u as He,i as y,_ as Qe}from"./index-BWzN7QIb.js";import{a as Ye}from"./patient-Btpwd7dp.js";import{h as je}from"./perm-BzF8JgcJ.js";import{i as Ke,f as Ge}from"./diabetes-discovery-display-B_wmGXQJ.js";import{g as Xe}from"./weapp-TlfRpIke.js";const Ze={class:"appointment-list"},Je={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"},us={class:"table-wrap"},ps={class:"patient-cell"},_s={class:"patient-info"},ms={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"},Es={class:"detail-section-title"},ws={class:"detail-grid"},Ss={class:"detail-item"},Ts={class:"detail-value"},hs={class:"detail-item"},$s={class:"detail-item"},Ps={class:"detail-value"},zs={class:"detail-item"},Rs={class:"detail-value"},xs={class:"detail-item"},Is={class:"detail-value"},qs={class:"detail-item"},As={class:"detail-value"},Ls={class:"detail-section"},Us={class:"detail-section-title"},Ms={class:"detail-grid"},Bs={class:"detail-item"},Ns={class:"detail-value"},Os={class:"detail-item"},Fs={class:"detail-value"},Ws={class:"detail-item"},Hs={class:"detail-value"},Qs={class:"detail-item"},Ys={class:"detail-value"},js={class:"detail-item"},Ks={class:"detail-value"},Gs={class:"detail-item"},Xs={class:"detail-value"},Zs={class:"detail-item"},Js={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"},ua={class:"detail-item"},pa={class:"detail-value"},_a={class:"detail-item"},ma={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"},Ea={class:"detail-value"},wa={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"},$a={key:1,class:"detail-section"},Pa={class:"detail-section-title"},za={class:"detail-grid"},Ra={key:0,class:"detail-item"},xa={class:"detail-value"},Ia={key:1,class:"detail-item"},qa={class:"detail-value"},Aa={key:2,class:"detail-item detail-item-full"},La={class:"detail-value"},Ua={key:3,class:"detail-item detail-item-full"},Ma={class:"detail-value"},Ba={class:"detail-section"},Na={class:"detail-remark"},Oa={class:"qrcode-content"},Fa={key:0,class:"qrcode-loading"},Wa={key:1,class:"qrcode-success"},Ha={class:"qrcode-image-wrap"},Qa=["src"],Ya={class:"qrcode-info"},ja={class:"qrcode-patient"},Ka={key:2,class:"qrcode-error"},Ga={class:"complete-dialog"},Xa=2e4,Za=ae({__name:"list",setup(Ja){const Et=nt(()=>ot(()=>import("./edit-DxLWCQnV.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]))),wt=nt(()=>ot(()=>import("./index-B5cu05RL.js"),__vite__mapDeps([50,1,2,51,52,4,5,53,54,3,55]))),St=nt(()=>ot(()=>import("./index-B8Qc_UQF.js"),__vite__mapDeps([58,1,2,16,4,5,43,3,35,34,59,60,61,62,63,64,65]))),rt=He(),Tt=dt(()=>rt.userInfo),ht=a=>!a||a.length<11?a:a.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),$t=dt(()=>{const a=Tt.value.role_id;return Array.isArray(a)?!a.includes(1)&&!a.includes(2):a!==1&&a!==2}),r=qe({patient_name:"",doctor_name:"",status:"",start_date:"",end_date:"",date_preset:"today",diagnosis_confirmed:"",assistant_dept_id:"",include_status_counts:0}),G=g([]),Pt={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:ut,resetPage:zt}=Ue({fetchFun:Me,params:r,firstLoading:!0});le(()=>[r.start_date,r.end_date],([a,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),$=new Date(o);$.setDate($.getDate()-2);const K=m($),L=new Date(o);L.setDate(L.getDate()+1);const E=m(L),U=new Date(o);U.setDate(U.getDate()+2);const lt=m(U),M=r.date_preset,B=M==="yesterday"?b:M==="day_before"?K:M==="today"?T:M==="tomorrow"?E:lt;(a||"").split(" ")[0]!==B&&(r.date_preset="")});const Rt=a=>{a==="all"?r.status="":r.status=Number(a),zt()};let F=null;const D=async a=>{const t=(a==null?void 0:a.silent)===!0;r.include_status_counts=1;try{await ut({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=a=>{a==="customDate"?x.value=!0:a==="reset"&&Ut()},It=()=>{r.date_preset="",x.value=!1,V.page=1,D()},qt=()=>{V.page=1,D()},At=()=>{V.page=1,D()},Lt=a=>{const t=String(a||"");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()},pt=()=>{V.page=1,D()},Ut=()=>{O.value="1",r.patient_name="",r.doctor_name="",r.date_preset="today",r.diagnosis_confirmed="",r.assistant_dept_id="";const a=new Date,t=o=>String(o).padStart(2,"0");r.start_date=`${a.getFullYear()}-${t(a.getMonth()+1)}-${t(a.getDate())}`,r.end_date=r.start_date,r.status=1,V.page=1,D()},X=g(!1),d=g(null),Mt=g([]),Bt=g([]),Nt=g([]),Ot=g([]),W=(a,t)=>{if(!t)return"-";const o=a.find(c=>c.value===t);return o?o.name:t},Ft=a=>(Array.isArray(a)?a:typeof a=="string"?a.split(/[,,、]/):[]).map(o=>W(Ot.value,o.trim())).filter(Boolean).join("、")||"-",Z=g(),J=g(),_t=g(),Wt=["doctor.appointment/addDoctorNote"],I=g(!1),H=g(!1),q=g(""),tt=g(null),et=dt(()=>je(Wt)),A=g(!1),Q=g(!1),Y=g(""),j=g(null),Ht=(a,t)=>{switch(a){case"edit":ct(t);break;case"viewCase":Xt(t);break;case"complete":mt(t);break;case"chat":ft(t);break;case"qrcode":st(t);break;case"prescription":gt(t);break;case"cancel":Qt(t);break}},Qt=async a=>{try{await y.confirm("确定要取消该挂号吗?"),await Be({id:a.id}),y.msgSuccess("取消成功"),D()}catch{}},mt=async a=>{if(tt.value=a,q.value="",et.value){I.value=!0;return}try{await y.confirm("是否添加医生备注?"),await Vt({id:a.id}),y.msgSuccess("操作成功"),D()}catch{}},Yt=async()=>{const a=tt.value;if(!(!(a!=null&&a.id)||H.value)){H.value=!0;try{const t=q.value.trim();await Vt({id:a.id});let o="";if(et.value&&t){const c=a.patient_id||a.diagnosis_id;if(c)try{await Ye({diagnosis_id:Number(c),content:t})}catch{o="问诊已完成,但备注未保存"}else o="问诊已完成,但该预约没有关联诊单,备注未保存"}o?y.msgWarning(o):y.msgSuccess("操作成功"),I.value=!1,q.value="",tt.value=null,D()}catch(t){y.msgError((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"操作失败")}finally{H.value=!1}}},ct=a=>{var t;if(!a.patient_id){y.msgWarning("该预约没有关联诊单信息");return}(t=Z.value)==null||t.open("edit",a.patient_id)},jt=a=>{ct(a)},ft=async a=>{var t;if(!a.patient_id){y.msgWarning("患者信息不完整");return}if(!a.diagnosis_id&&!a.id){y.msgWarning("预约信息不完整,无法发起聊天");return}try{const o=await Oe({patient_id:a.patient_id,diagnosis_id:a.diagnosis_id||a.id});console.log("获取聊天签名成功:",o),(t=_t.value)==null||t.open({patientId:a.patient_id,patientName:a.patient_name,diagnosisId:a.diagnosis_id||a.id,signatureData:o})}catch(o){console.error("获取聊天签名失败:",o),y.msgError(o.message||"获取聊天签名失败")}},st=async a=>{if(!a.patient_id){y.msgWarning("患者信息不完整");return}j.value=a,A.value=!0,Q.value=!0,Y.value="";try{const t=await Xe();if(!(t!=null&&t.app_id)){y.msgError("小程序未配置,请先配置小程序信息"),A.value=!1;return}const o=rt.userInfo,c=await Fe({diagnosis_id:a.doctor_id||"",patient_id:a.patient_id,share_user_id:(o==null?void 0:o.id)||"",mini_program_path:"pages/login/login"});c!=null&&c.qrcode_url?Y.value=c.qrcode_url:y.msgError("二维码生成失败")}catch(t){console.error("生成小程序二维码失败:",t),y.msgError((t==null?void 0:t.msg)||"生成二维码失败,请重试")}finally{Q.value=!1}},Kt=()=>{var a,t;D(),(t=(a=Z.value)==null?void 0:a.refreshCaseList)==null||t.call(a)};function Gt(a){return(a==null?void 0:a.prescription_audit_status)===1&&Number(a==null?void 0:a.prescription_void_status)!==1?"查看":"开方"}const gt=a=>{var t;if(!a.diagnosis_id&&!a.patient_id){y.msgWarning("该预约缺少诊单信息,请先编辑患者");return}(t=J.value)==null||t.open(a)},Xt=async a=>{var t;if(!a.id){y.msgWarning("预约信息不完整");return}try{const o=await We({appointment_id:a.id});o!=null&&o.id?(t=J.value)==null||t.openById(o.id):y.msgWarning("该预约暂无病历记录,请先开方")}catch(o){y.msgError((o==null?void 0:o.msg)||"获取病历失败")}},Zt=()=>{j.value&&st(j.value)},at=new Date,vt=a=>String(a).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,ie(async()=>{try{const a=await Ne();G.value=Array.isArray(a)?a:[]}catch{G.value=[]}D(),F=setInterval(()=>{D({silent:!0})},Xa)}),ne(()=>{F!==null&&(clearInterval(F),F=null)}),(a,t)=>{const o=ue,c=_e,m=re,T=de,h=fe,b=ve,$=ke,K=be,L=ye,E=Ve,U=Ce,lt=Ee,M=Le,B=we,w=Te,C=he,Jt=Se,te=Ae,ee=Re,z=oe("perms"),se=ze;return _(),k("div",Ze,[l(ee,{class:"list-card !border-none",shadow:"never"},{default:i(()=>[e("div",Je,[l(T,{modelValue:s(O),"onUpdate:modelValue":t[0]||(t[0]=n=>R(O)?O.value=n:null),onTabChange:Rt,class:"list-tabs"},{default:i(()=>[l(m,{name:"1"},{label:i(()=>[e("span",ts,[l(o,null,{default:i(()=>[l(s(pe))]),_:1}),t[20]||(t[20]=u("待接诊",-1)),s(S)[1]?(_(),v(c,{key:0,value:s(S)[1],class:"tab-badge tab-badge-success"},null,8,["value"])):f("",!0)])]),_:1}),l(m,{name:"all"},{label:i(()=>[e("span",es,[l(o,null,{default:i(()=>[l(s(me))]),_:1}),t[21]||(t[21]=u("全部",-1))])]),_:1}),l(m,{name:"4"},{label:i(()=>[e("span",ss,[l(o,null,{default:i(()=>[l(s(yt))]),_:1}),t[22]||(t[22]=u("已过号",-1)),s(S)[4]?(_(),v(c,{key:0,value:s(S)[4],class:"tab-badge tab-badge-danger"},null,8,["value"])):f("",!0)])]),_:1}),l(m,{name:"2"},{label:i(()=>[e("span",as,[l(o,null,{default:i(()=>[l(s(bt))]),_:1}),t[23]||(t[23]=u("已取消",-1)),s(S)[2]?(_(),v(c,{key:0,value:s(S)[2],class:"tab-badge tab-badge-info"},null,8,["value"])):f("",!0)])]),_:1}),l(m,{name:"3"},{label:i(()=>[e("span",ls,[l(o,null,{default:i(()=>[l(s(ce))]),_:1}),t[24]||(t[24]=u("已完成",-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,[l(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:ge(pt,["enter"])},null,8,["modelValue"]),l(b,{type:"primary",size:"small",onClick:pt},{default:i(()=>[...t[25]||(t[25]=[u("查询",-1)])]),_:1}),l(L,{trigger:"click",onCommand:xt},{dropdown:i(()=>[l(K,null,{default:i(()=>[s($t)?(_(),v($,{key:0,class:"dropdown-item-with-input",onClick:t[4]||(t[4]=Dt(()=>{},["stop"]))},{default:i(()=>[t[27]||(t[27]=e("span",{class:"dropdown-label"},"医生",-1)),l(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]=Dt(()=>{},["stop"]))},null,8,["modelValue"])]),_:1})):f("",!0),l($,{command:"customDate",divided:""},{default:i(()=>[l(o,null,{default:i(()=>[l(s(Ct))]),_:1}),t[28]||(t[28]=u(" 自定义日期 ",-1))]),_:1}),l($,{command:"reset"},{default:i(()=>[l(o,null,{default:i(()=>[l(s(De))]),_:1}),t[29]||(t[29]=u(" 重置 ",-1))]),_:1})]),_:1})]),default:i(()=>[l(b,{size:"small"},{default:i(()=>[t[26]||(t[26]=u("更多",-1)),l(o,{class:"el-icon--right"},{default:i(()=>[l(s(kt))]),_:1})]),_:1})]),_:1})])]),e("div",ns,[e("div",os,[t[36]||(t[36]=e("span",{class:"filter-label"},"日期",-1)),l(U,{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(()=>[l(E,{value:"yesterday"},{default:i(()=>[...t[30]||(t[30]=[u("昨天挂号",-1)])]),_:1}),l(E,{value:"day_before"},{default:i(()=>[...t[31]||(t[31]=[u("前天挂号",-1)])]),_:1}),l(E,{value:"today"},{default:i(()=>[...t[32]||(t[32]=[u("当天挂号",-1)])]),_:1}),l(E,{value:"tomorrow"},{default:i(()=>[...t[33]||(t[33]=[u("明天挂号",-1)])]),_:1}),l(E,{value:"day_after"},{default:i(()=>[...t[34]||(t[34]=[u("后天挂号",-1)])]),_:1}),l(E,{value:""},{default:i(()=>[...t[35]||(t[35]=[u("不限",-1)])]),_:1})]),_:1},8,["modelValue"])]),e("div",ds,[t[40]||(t[40]=e("span",{class:"filter-label"},"确认诊单",-1)),l(U,{modelValue:s(r).diagnosis_confirmed,"onUpdate:modelValue":t[6]||(t[6]=n=>s(r).diagnosis_confirmed=n),size:"small",onChange:qt,class:"filter-radio"},{default:i(()=>[l(E,{value:""},{default:i(()=>[...t[37]||(t[37]=[u("全部",-1)])]),_:1}),l(E,{value:"1"},{default:i(()=>[...t[38]||(t[38]=[u("已确认",-1)])]),_:1}),l(E,{value:"0"},{default:i(()=>[...t[39]||(t[39]=[u("未确认",-1)])]),_:1})]),_:1},8,["modelValue"])]),e("div",rs,[t[41]||(t[41]=e("span",{class:"filter-label"},"部门",-1)),l(lt,{modelValue:s(r).assistant_dept_id,"onUpdate:modelValue":t[7]||(t[7]=n=>s(r).assistant_dept_id=n),data:s(G),class:"filter-dept-select",clearable:"",filterable:"","check-strictly":"","default-expand-all":!0,"node-key":"id",size:"small",props:Pt,placeholder:"选父级含子级",onChange:At},null,8,["modelValue","data"])])]),l(B,{modelValue:s(x),"onUpdate:modelValue":t[11]||(t[11]=n=>R(x)?x.value=n:null),title:"自定义日期",width:"400px","append-to-body":"","close-on-click-modal":!0},{footer:i(()=>[l(b,{onClick:t[10]||(t[10]=n=>x.value=!1)},{default:i(()=>[...t[42]||(t[42]=[u("取消",-1)])]),_:1}),l(b,{type:"primary",onClick:It},{default:i(()=>[...t[43]||(t[43]=[u("确定",-1)])]),_:1})]),default:i(()=>[l(M,{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",us,[P((_(),v(Jt,{data:s(V).lists,size:"default",class:"appointment-table"},{default:i(()=>[l(w,{label:"ID",prop:"id",width:"72",align:"center"}),l(w,{label:"患者信息","min-width":"140"},{default:i(({row:n})=>[e("div",ps,[e("div",_s,[e("div",ms,p(n.patient_name),1),e("div",cs,p(ht(n.patient_phone)),1),e("div",fs,p([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}),l(w,{label:"医生",prop:"doctor_name",width:"90","show-overflow-tooltip":""}),l(w,{label:"预约时间","min-width":"120"},{default:i(({row:n})=>[e("div",gs,[e("div",vs,p(n.appointment_date),1),e("div",ys,p(n.appointment_time),1)])]),_:1}),l(w,{label:"助理",prop:"assistant_name",width:"100","show-overflow-tooltip":""},{default:i(({row:n})=>[u(p(n.assistant_name||"—"),1)]),_:1}),l(w,{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]=[u("已确认",-1)])]),_:1})):(_(),v(C,{key:1,type:"warning",size:"small",effect:"plain"},{default:i(()=>[...t[45]||(t[45]=[u("未确认",-1)])]),_:1}))]),_:1}),l(w,{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]=[u("已开方",-1)])]),_:1})):(_(),v(C,{key:1,type:"info",size:"small",effect:"plain"},{default:i(()=>[...t[47]||(t[47]=[u("未开方",-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]=[u(" 系统代开 ",-1)])]),_:1})):f("",!0)])]),_:1}),l(w,{label:"状态",width:"90",align:"center"},{default:i(({row:n})=>[l(C,{type:n.status===1?"success":n.status===2?"info":n.status===3?"primary":"danger",size:"small",effect:"light",round:""},{default:i(()=>[u(p(n.status_desc),1)]),_:2},1032,["type"])]),_:1}),l(w,{label:"备注",prop:"remark","min-width":"120","show-overflow-tooltip":""}),l(w,{label:"操作",width:"380",fixed:"right",align:"left"},{default:i(({row:n})=>[e("div",ks,[P((_(),v(b,{type:"primary",link:"",size:"small",onClick:N=>jt(n)},{default:i(()=>[...t[49]||(t[49]=[u(" 编辑患者 ",-1)])]),_:1},8,["onClick"])),[[z,["tcm.diagnosis/edit"]]]),n.status!==3?(_(),k($e,{key:0},[P((_(),v(b,{type:"warning",link:"",size:"small",onClick:N=>st(n),class:"action-qrcode"},{default:i(()=>[l(o,null,{default:i(()=>[l(s(Pe))]),_:1}),t[50]||(t[50]=u(" 视频二维码 ",-1))]),_:1},8,["onClick"])),[[z,["tcm.diagnosis/videoQr"]]]),P((_(),v(b,{type:"primary",link:"",size:"small",onClick:N=>ft(n)},{default:i(()=>[...t[51]||(t[51]=[u(" 通话 ",-1)])]),_:1},8,["onClick"])),[[z,["doctor.appointment/prescription"]]]),P((_(),v(b,{type:"success",link:"",size:"small",onClick:N=>mt(n)},{default:i(()=>[...t[52]||(t[52]=[u(" 完成 ",-1)])]),_:1},8,["onClick"])),[[z,["doctor.appointment/complete"]]])],64)):f("",!0),P((_(),v(b,{type:"primary",link:"",size:"small",onClick:N=>gt(n)},{default:i(()=>[u(p(Gt(n)),1)]),_:2},1032,["onClick"])),[[z,["tcm.diagnosis/kaifang"]]]),l(L,{trigger:"click",onCommand:N=>Ht(N,n),placement:"bottom-end"},{dropdown:i(()=>[l(K,null,{default:i(()=>[P((_(),v($,{command:"viewCase"},{default:i(()=>[l(o,null,{default:i(()=>[l(s(it))]),_:1}),t[54]||(t[54]=u(" 病历 ",-1))]),_:1})),[[z,["tcm.diagnosis/kaifang"]]]),n.status===1?P((_(),v($,{key:0,command:"cancel",divided:""},{default:i(()=>[l(o,null,{default:i(()=>[l(s(bt))]),_:1}),t[55]||(t[55]=e("span",{class:"text-danger"},"取消挂号",-1))]),_:1})),[[z,["doctor.appointment/cancel"]]]):f("",!0)]),_:2},1024)]),default:i(()=>[l(b,{type:"info",link:"",size:"small"},{default:i(()=>[t[53]||(t[53]=u(" 更多 ",-1)),l(o,{class:"el-icon--right"},{default:i(()=>[l(s(kt))]),_:1})]),_:1})]),_:2},1032,["onCommand"])])]),_:1})]),_:1},8,["data"])),[[se,s(V).loading]]),e("div",Ds,[l(te,{modelValue:s(V),"onUpdate:modelValue":t[12]||(t[12]=n=>R(V)?V.value=n:null),onChange:s(ut)},null,8,["modelValue","onChange"])])])]),_:1}),l(B,{modelValue:s(X),"onUpdate:modelValue":t[13]||(t[13]=n=>R(X)?X.value=n:null),title:"挂号详情",width:"720px",class:"detail-dialog","destroy-on-close":""},{default:i(()=>[s(d)?(_(),k("div",Cs,[e("div",Vs,[e("div",Es,[l(o,null,{default:i(()=>[l(s(Ct))]),_:1}),t[56]||(t[56]=u(" 预约信息 ",-1))]),e("div",ws,[e("div",Ss,[t[57]||(t[57]=e("span",{class:"detail-label"},"挂号ID",-1)),e("span",Ts,p(s(d).id),1)]),e("div",hs,[t[58]||(t[58]=e("span",{class:"detail-label"},"状态",-1)),l(C,{type:s(d).status===1?"success":s(d).status===2?"info":s(d).status===3?"primary":"danger",size:"small",effect:"light"},{default:i(()=>[u(p(s(d).status_desc),1)]),_:1},8,["type"])]),e("div",$s,[t[59]||(t[59]=e("span",{class:"detail-label"},"医生",-1)),e("span",Ps,p(s(d).doctor_name),1)]),e("div",zs,[t[60]||(t[60]=e("span",{class:"detail-label"},"预约时间",-1)),e("span",Rs,p(s(d).appointment_date)+" "+p(s(d).appointment_time),1)]),e("div",xs,[t[61]||(t[61]=e("span",{class:"detail-label"},"时段",-1)),e("span",Is,p(s(d).period==="morning"?"上午":"下午"),1)]),e("div",qs,[t[62]||(t[62]=e("span",{class:"detail-label"},"预约类型",-1)),e("span",As,p(s(d).appointment_type_desc),1)])])]),e("div",Ls,[e("div",Us,[l(o,null,{default:i(()=>[l(s(xe))]),_:1}),t[63]||(t[63]=u(" 患者信息 ",-1))]),e("div",Ms,[e("div",Bs,[t[64]||(t[64]=e("span",{class:"detail-label"},"姓名",-1)),e("span",Ns,p(s(d).patient_name||"-"),1)]),e("div",Os,[t[65]||(t[65]=e("span",{class:"detail-label"},"手机号",-1)),e("span",Fs,p(s(d).phone||s(d).patient_phone||"-"),1)]),e("div",Ws,[t[66]||(t[66]=e("span",{class:"detail-label"},"身份证号",-1)),e("span",Hs,p(s(d).id_card||"-"),1)]),e("div",Qs,[t[67]||(t[67]=e("span",{class:"detail-label"},"性别",-1)),e("span",Ys,p(s(d).gender===1?"男":s(d).gender===0?"女":"-"),1)]),e("div",js,[t[68]||(t[68]=e("span",{class:"detail-label"},"年龄",-1)),e("span",Ks,p(s(d).age!=null?s(d).age+"岁":"-"),1)]),e("div",Gs,[t[69]||(t[69]=e("span",{class:"detail-label"},"诊断日期",-1)),e("span",Xs,p(s(d).diagnosis_date||"-"),1)]),e("div",Zs,[t[70]||(t[70]=e("span",{class:"detail-label"},"婚姻状态",-1)),e("span",Js,p(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,p(s(d).height??"-"),1)]),e("div",sa,[t[72]||(t[72]=e("span",{class:"detail-label"},"体重(kg)",-1)),e("span",aa,p(s(d).weight??"-"),1)]),e("div",la,[t[73]||(t[73]=e("span",{class:"detail-label"},"地区",-1)),e("span",ia,p(s(d).region||"-"),1)]),e("div",na,[t[74]||(t[74]=e("span",{class:"detail-label"},"收缩压(mmHg)",-1)),e("span",oa,p(s(d).systolic_pressure??"-"),1)]),e("div",da,[t[75]||(t[75]=e("span",{class:"detail-label"},"舒张压(mmHg)",-1)),e("span",ra,p(s(d).diastolic_pressure??"-"),1)]),e("div",ua,[t[76]||(t[76]=e("span",{class:"detail-label"},"空腹血糖(mmol/L)",-1)),e("span",pa,p(s(d).fasting_blood_sugar??"-"),1)]),e("div",_a,[t[77]||(t[77]=e("span",{class:"detail-label"},"诊断类型",-1)),e("span",ma,p(W(s(Mt),s(d).diagnosis_type)||"-"),1)]),e("div",ca,[t[78]||(t[78]=e("span",{class:"detail-label"},"证型",-1)),e("span",fa,p(W(s(Bt),s(d).syndrome_type)||"-"),1)]),e("div",ga,[t[79]||(t[79]=e("span",{class:"detail-label"},"糖尿病期数",-1)),e("span",va,p(W(s(Nt),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,[l(o,null,{default:i(()=>[l(s(it))]),_:1}),t[80]||(t[80]=u(" 病史信息 ",-1))]),e("div",ka,[s(Ke)(s(d).diabetes_discovery_year)?(_(),k("div",Da,[t[81]||(t[81]=e("span",{class:"detail-label"},"发现糖尿病病史",-1)),e("span",Ca,p(s(Ge)(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",Ea,p(s(d).local_hospital_name),1)])):f("",!0),s(d).symptoms?(_(),k("div",wa,[t[83]||(t[83]=e("span",{class:"detail-label"},"症状补充",-1)),e("span",Sa,p(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,p(Ft(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",$a,[e("div",Pa,[l(o,null,{default:i(()=>[l(s(it))]),_:1}),t[85]||(t[85]=u(" 诊断信息 ",-1))]),e("div",za,[s(d).tongue_coating?(_(),k("div",Ra,[t[86]||(t[86]=e("span",{class:"detail-label"},"舌苔",-1)),e("span",xa,p(s(d).tongue_coating),1)])):f("",!0),s(d).pulse?(_(),k("div",Ia,[t[87]||(t[87]=e("span",{class:"detail-label"},"脉象",-1)),e("span",qa,p(s(d).pulse),1)])):f("",!0),s(d).treatment_principle?(_(),k("div",Aa,[t[88]||(t[88]=e("span",{class:"detail-label"},"治则",-1)),e("span",La,p(s(d).treatment_principle),1)])):f("",!0),s(d).prescription?(_(),k("div",Ua,[t[89]||(t[89]=e("span",{class:"detail-label"},"处方",-1)),e("span",Ma,p(s(d).prescription),1)])):f("",!0)])])):f("",!0),e("div",Ba,[t[90]||(t[90]=e("div",{class:"detail-section-title"},"备注",-1)),e("p",Na,p(s(d).remark||"无"),1)])])):f("",!0)]),_:1},8,["modelValue"]),l(s(Et),{ref_key:"editRef",ref:Z,onSuccess:t[14]||(t[14]=()=>D({silent:!0}))},null,512),l(s(wt),{ref_key:"prescriptionRef",ref:J,onSuccess:Kt},null,512),l(s(St),{ref_key:"chatDialogRef",ref:_t},null,512),l(B,{modelValue:s(A),"onUpdate:modelValue":t[16]||(t[16]=n=>R(A)?A.value=n:null),title:"小程序二维码",width:"380px","close-on-click-modal":!1,class:"qrcode-dialog"},{footer:i(()=>[l(b,{onClick:t[15]||(t[15]=n=>A.value=!1)},{default:i(()=>[...t[95]||(t[95]=[u("关闭",-1)])]),_:1}),s(Q)?f("",!0):(_(),v(b,{key:0,type:"primary",onClick:Zt},{default:i(()=>[...t[96]||(t[96]=[u(" 重新生成 ",-1)])]),_:1}))]),default:i(()=>{var n;return[e("div",Oa,[s(Q)?(_(),k("div",Fa,[l(o,{class:"is-loading",size:48},{default:i(()=>[l(s(Ie))]),_:1}),t[91]||(t[91]=e("div",{class:"qrcode-loading-text"},"生成中...",-1))])):s(Y)?(_(),k("div",Wa,[e("div",Ha,[e("img",{src:s(Y),alt:"小程序二维码",class:"qrcode-image"},null,8,Qa)]),e("div",Ya,[e("div",ja,"患者:"+p((n=s(j))==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",Ka,[l(o,{size:40},{default:i(()=>[l(s(yt))]),_:1}),t[94]||(t[94]=e("div",null,"生成失败,请重试",-1))]))])]}),_:1},8,["modelValue"]),l(B,{modelValue:s(I),"onUpdate:modelValue":t[19]||(t[19]=n=>R(I)?I.value=n:null),title:"完成问诊",width:"420px","append-to-body":"","close-on-click-modal":!1,"destroy-on-close":""},{footer:i(()=>[l(b,{onClick:t[18]||(t[18]=n=>I.value=!1)},{default:i(()=>[...t[98]||(t[98]=[u("取消",-1)])]),_:1}),l(b,{type:"primary",loading:s(H),onClick:Yt},{default:i(()=>[...t[99]||(t[99]=[u("确认完成",-1)])]),_:1},8,["loading"])]),default:i(()=>[e("div",Ga,[t[97]||(t[97]=e("p",{class:"complete-dialog-tip"},"是否添加医生备注?",-1)),s(et)?(_(),v(h,{key:0,modelValue:s(q),"onUpdate:modelValue":t[17]||(t[17]=n=>R(q)?q.value=n:null),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"填写完成备注,将追加到医生备注时间轴"},null,8,["modelValue"])):f("",!0)])]),_:1},8,["modelValue"])])}}}),_l=Qe(Za,[["__scopeId","data-v-25a2f28f"]]);export{_l as default}; diff --git a/server/public/admin/assets/list_h5-DKjjHeDW.js b/server/public/admin/assets/list_h5-DJcCePK0.js similarity index 92% rename from server/public/admin/assets/list_h5-DKjjHeDW.js rename to server/public/admin/assets/list_h5-DJcCePK0.js index c73bc1c6..9ff1749e 100644 --- a/server/public/admin/assets/list_h5-DKjjHeDW.js +++ b/server/public/admin/assets/list_h5-DJcCePK0.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DSANIFY1.js","assets/.pnpm-9dA1PEvN.js","assets/.pnpm-LiWq8Xu0.css","assets/tcm-DOD9_1Um.js","assets/index-CJvXnF8Y.js","assets/index-or10At3s.css","assets/perm-BLNmf25V.js","assets/DailyMatrix-_4SdP1CQ.js","assets/picker-DWQ_BAep.js","assets/index-BBemoNXE.js","assets/index-dh40Du6y.css","assets/index-CY1mb9yY.js","assets/index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js","assets/index-CAGpCz28.js","assets/index-BYMg0OFw.css","assets/index-DMkcmA29.js","assets/file-BJDA0rIT.js","assets/index.vue_vue_type_script_setup_true_lang-Blf417m7.js","assets/usePaging-Boz1Q6w3.js","assets/index-D6uL8V1j.css","assets/picker-CLzhBfnG.css","assets/DiagnosisTodoList-wLDuYeQL.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix--Ay5C05Q.css","assets/CaseRecordList-BdOS8uCk.js","assets/CaseRecordList-DEgrl9PS.css","assets/CallRecordPanel-B5TNiiYq.js","assets/RecordingPlaybackBlock-C4Gpp-2c.js","assets/RecordingVideoPlayer-BFQjIPtM.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-p7h_1hh9.css","assets/ImChatRecordPanel-Dupe02qF.js","assets/dayjs-BsOAYQJw.js","assets/im-business-message-parse-DmDISFGN.js","assets/ImChatRecordPanel-BRnJl8ir.css","assets/AssignLogPanel-7M3l9W5C.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DxULo4tR.js","assets/doctor-Bmtf1eZE.js","assets/AppointmentRecordPanel-BWS3OyF0.css","assets/NoteTimeline-BiPgEoRT.js","assets/patient-CwTOvUDt.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-CbJRHf8i.js","assets/PrescriptionOrderDetailDrawer-66DcVm3d.js","assets/prescription-order-utils-B0fYlULc.js","assets/PrescriptionOrderDetailDrawer-DL92yzHH.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-D33qlDjf.js","assets/index-BANIMLkY.js","assets/medicine-CQDW2OUZ.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-DxQanmqx.css","assets/edit-Cgsl1tY9.css","assets/TrackingNoteTimeline-C-2kS81H.css","assets/index-B9yJIrZi.js","assets/@tencentcloud/chat-Clb_yWS-.js","assets/@tencentcloud/chat-uikit-engine-CE484eWV.js","assets/tim-upload-plugin-CQ0SshXS.js","assets/tim-profanity-filter-plugin-M-EFi4_K.js","assets/@tencentcloud/call-engine-js-BSW3L4hf.js","assets/rtc-detect-DLSGS3ox.js","assets/index-BdeDEJMM.css"])))=>i.map(i=>d[i]); -import{o as Ot,ba as fe,ap as ke,aq as he,q as i,r as u,F as $,s,v,b8 as Nt,u as p,bA as be,b7 as Ce,D as c,L as f,K as De,G as K,ae as S,T as o,P as r,w as Ve,ck as At,ac as lt,ad as Ee,O as C,bp as $e,bi as Le,bB as Se,cP as Pe,bE as Re,at as Ne,bH as Ae,cO as Ie,B as Te,b5 as Me,bt as Oe,cb as at,al as nt,p as P,M as m}from"./.pnpm-9dA1PEvN.js";import{a as It,l as Tt,m as qe,n as ze}from"./doctor-Bmtf1eZE.js";import{g as xe}from"./weapp-CBfJD55Y.js";import{R as Be,a3 as Ue,a2 as Fe,a4 as He}from"./tcm-DOD9_1Um.js";import{u as Qe,i as y,m as G,_ as We}from"./index-CJvXnF8Y.js";import{a as Ye}from"./patient-CwTOvUDt.js";import{u as Ke}from"./usePaging-Boz1Q6w3.js";import{i as Mt,f as Ge}from"./diabetes-discovery-display-B_wmGXQJ.js";import{h}from"./perm-BLNmf25V.js";const je={class:"apt-h5"},Je={class:"apt-h5-topbar"},Xe={class:"apt-h5-search"},Ze={class:"apt-h5-status apt-h5-scroll"},we=["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"},us={key:0,class:"apt-h5-empty"},rs=["onClick"],ds={class:"apt-h5-avatar"},ps={class:"apt-h5-title"},vs={class:"apt-h5-name"},cs={key:0,class:"apt-h5-meta"},ms={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"},Ls={class:"apt-h5-row-val"},Ss={key:0,class:"apt-h5-inline-tag apt-h5-inline-tag--ok"},Ps={key:1,class:"apt-h5-inline-tag"},Rs={key:2,class:"apt-h5-inline-tag apt-h5-inline-tag--warn"},Ns={key:0,class:"apt-h5-row apt-h5-row--remark"},As={class:"apt-h5-row-val"},Is={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"},Bs={class:"apt-h5-detail-grid"},Us={class:"apt-h5-detail-section"},Fs={class:"apt-h5-detail-grid"},Hs={class:"apt-h5-detail-full"},Qs={class:"apt-h5-detail-full"},Ws={key:0,class:"apt-h5-detail-section"},Ys={class:"apt-h5-detail-grid"},Ks={key:0},Gs={key:1},js={key:2,class:"apt-h5-detail-full"},Js={key:3,class:"apt-h5-detail-full"},Xs={key:1,class:"apt-h5-detail-section"},Zs={class:"apt-h5-detail-grid"},ws={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"},ul={key:1},rl=["src"],dl={class:"apt-h5-qr-meta"},pl={key:2,class:"apt-h5-qr-fail"},vl={class:"apt-h5-complete"},cl=Ot({name:"tcmAppointmentH5"}),ml=Ot({...cl,setup(_l){const qt=at(()=>nt(()=>import("./edit-DSANIFY1.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]))),zt=at(()=>nt(()=>import("./index-D33qlDjf.js"),__vite__mapDeps([50,1,2,51,52,4,5,53,54,3,55]))),xt=at(()=>nt(()=>import("./index-B9yJIrZi.js"),__vite__mapDeps([58,1,2,16,4,5,43,3,35,34,59,60,61,62,63,64,65]))),ot=Qe(),Bt=P(()=>ot.userInfo),it=()=>ut(new Date),ut=e=>{const t=a=>String(a).padStart(2,"0");return`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())}`},Ut=e=>{const t=new Date;return t.setDate(t.getDate()+e),ut(t)},Ft=e=>!e||e.length<11?e:e.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),Ht=P(()=>{var t;const e=(t=Bt.value)==null?void 0:t.role_id;return Array.isArray(e)?!e.includes(1)&&!e.includes(2):e!==1&&e!==2}),_=fe({patient_name:"",doctor_name:"",status:1,start_date:it(),end_date:it(),date_preset:"today",diagnosis_confirmed:"",include_status_counts:0}),j=m("1"),R=m("list"),N=m(!1),L=m(""),A=m({1:0,2:0,3:0,4:0}),{pager:g,getLists:Qt}=Ke({fetchFun:It,params:_,firstLoading:!0}),Wt=P(()=>[{label:"待接诊",value:"1",count:A.value[1]},{label:"全部",value:"all",count:0},{label:"已过号",value:"4",count:A.value[4]},{label:"已取消",value:"2",count:A.value[2]},{label:"已完成",value:"3",count:A.value[3]}]),Yt=[{label:"昨天",value:"yesterday"},{label:"前天",value:"day_before"},{label:"今天",value:"today"},{label:"明天",value:"tomorrow"},{label:"后天",value:"day_after"},{label:"不限",value:""}],Kt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],J=P(()=>g.lists.length<(g.count||0)),k=async e=>{var t;_.include_status_counts=1;try{await Qt(e);const a=(t=g.extend)==null?void 0:t.status_count;a&&[1,2,3,4].forEach(d=>{const b=a[d]??a[String(d)];A.value[d]=typeof b=="number"?b:0})}finally{_.include_status_counts=0}},I=()=>{g.page=1,k()},Gt=e=>{j.value=e,_.status=e==="all"?"":Number(e),g.page=1,k()},X=e=>{if(_.date_preset=e,L.value="",!e)_.start_date="",_.end_date="";else{const a=Ut({yesterday:-1,day_before:-2,today:0,tomorrow:1,day_after:2}[e]??0);_.start_date=a,_.end_date=a}g.page=1,k()},jt=e=>{_.diagnosis_confirmed=e,g.page=1,k()},Jt=()=>{if(!L.value){X("");return}_.date_preset="",_.start_date=L.value[0],_.end_date=L.value[1],g.page=1,k()},Xt=()=>{_.patient_name="",_.doctor_name="",_.diagnosis_confirmed="",j.value="1",_.status=1,X("today")},Zt=async()=>{if(g.loading||!J.value)return;const e=(g.page||1)+1;g.loading=!0;try{const t=await It({page_no:e,page_size:g.size,..._,include_status_counts:0});g.page=e,g.lists.push(...(t==null?void 0:t.lists)||[]),g.count=(t==null?void 0:t.count)??g.count}finally{g.loading=!1}},rt=e=>{const t=Number(e);return t===1?"待接诊":t===2?"已取消":t===3?"已完成":t===4?"已过号":"-"},wt=e=>{const t=Number(e);return{"apt-h5-tag--ok":t===1||t===3,"apt-h5-tag--gray":t===2,"apt-h5-tag--danger":t===4}},te=e=>({"apt-h5-card--done":Number(e.status)===3,"apt-h5-card--cancel":Number(e.status)===2,"apt-h5-card--missed":Number(e.status)===4}),Z=m(),w=m(),dt=m(),ee=["doctor.appointment/addDoctorNote"],T=m(!1),z=m(!1),M=m(""),tt=m(null),et=P(()=>h(ee)),pt=e=>{var t;if(!e.patient_id){y.msgWarning("该预约没有关联诊单信息");return}(t=Z.value)==null||t.open("edit",e.patient_id)},vt=async e=>{var t;if(!e.patient_id){y.msgWarning("患者信息不完整");return}try{const a=await Be({patient_id:e.patient_id,diagnosis_id:e.diagnosis_id||e.id});(t=dt.value)==null||t.open({patientId:e.patient_id,patientName:e.patient_name,diagnosisId:e.diagnosis_id||e.id,signatureData:a})}catch(a){y.msgError((a==null?void 0:a.msg)||(a==null?void 0:a.message)||"获取通话签名失败")}},st=e=>(e==null?void 0:e.prescription_audit_status)===1&&Number(e==null?void 0:e.prescription_void_status)!==1?"查看":"开方",ct=e=>{var t;if(!e.diagnosis_id&&!e.patient_id){y.msgWarning("该预约缺少诊单信息,请先编辑患者");return}(t=w.value)==null||t.open(e)},se=()=>{var e,t;k(),(t=(e=Z.value)==null?void 0:e.refreshCaseList)==null||t.call(e)},x=m(!1),D=m(null),le=e=>{D.value=e,x.value=!0},B=e=>{const t=D.value;x.value=!1,t&&(e==="videoQr"&&_t(t),e==="complete"&&mt(t),e==="case"&&oe(t),e==="cancel"&&ne(t))},mt=async e=>{if(tt.value=e,M.value="",et.value){T.value=!0;return}try{await y.confirm("确认患者已就诊完成?"),await Tt({id:e.id}),y.msgSuccess("操作成功"),k()}catch(t){t!=="cancel"&&y.msgError((t==null?void 0:t.msg)||"操作失败")}},ae=async()=>{const e=tt.value;if(!(!(e!=null&&e.id)||z.value)){z.value=!0;try{const t=M.value.trim();await Tt({id:e.id});let a="";if(et.value&&t){const d=e.patient_id||e.diagnosis_id;if(d)try{await Ye({diagnosis_id:Number(d),content:t})}catch{a="问诊已完成,但备注未保存"}else a="问诊已完成,但该预约没有关联诊单,备注未保存"}a?y.msgWarning(a):y.msgSuccess("操作成功"),T.value=!1,M.value="",tt.value=null,R.value==="detail"&&Ct(),k()}catch(t){y.msgError((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"操作失败")}finally{z.value=!1}}},ne=async e=>{try{await y.confirm("确定要取消该挂号吗?"),await qe({id:e.id}),y.msgSuccess("取消成功"),k()}catch(t){t!=="cancel"&&y.msgError((t==null?void 0:t.msg)||"取消失败")}},oe=async e=>{var t;try{const a=await Ue({appointment_id:e.id});a!=null&&a.id?(t=w.value)==null||t.openById(a.id):y.msgWarning("该预约暂无病历记录,请先开方")}catch(a){y.msgError((a==null?void 0:a.msg)||"获取病历失败")}},O=m(!1),U=m(!1),F=m(""),H=m(null),_t=async e=>{var t;if(!e.patient_id){y.msgWarning("患者信息不完整");return}H.value=e,O.value=!0,U.value=!0,F.value="";try{const a=await xe();if(!(a!=null&&a.app_id)){y.msgError("小程序未配置,请先配置小程序信息"),O.value=!1;return}const d=await Fe({diagnosis_id:e.doctor_id||"",patient_id:e.patient_id,share_user_id:((t=ot.userInfo)==null?void 0:t.id)||"",mini_program_path:"pages/login/login"});d!=null&&d.qrcode_url?F.value=d.qrcode_url:y.msgError("二维码生成失败")}catch(a){y.msgError((a==null?void 0:a.msg)||"生成二维码失败,请重试")}finally{U.value=!1}},ie=()=>{H.value&&_t(H.value)},Q=m(!1),n=m(null),q=m(null),E=P(()=>({...q.value||{},...n.value||{}})),gt=m([]),yt=m([]),ft=m([]),kt=m([]),ht=m(!1),W=(e,t)=>{if(!t)return"-";const a=e.find(d=>d.value===t);return a?a.name:t},ue=e=>(Array.isArray(e)?e:typeof e=="string"?e.split(/[,,、]/):[]).map(a=>W(kt.value,a.trim())).filter(Boolean).join("、")||"-",re=e=>Number(e)===0?"未婚":Number(e)===1?"已婚":Number(e)===2?"离异":"-",de=async()=>{const[e,t,a,d]=await Promise.all([G({type:"diagnosis_type"}),G({type:"syndrome_type"}),G({type:"diabetes_type"}),G({type:"past_history"})]);gt.value=(e==null?void 0:e.diagnosis_type)||[],yt.value=(t==null?void 0:t.syndrome_type)||[],ft.value=(a==null?void 0:a.diabetes_type)||[],kt.value=(d==null?void 0:d.past_history)||[]},pe=async()=>{ht.value||(await de(),ht.value=!0)},ve=e=>Mt(e==null?void 0:e.diabetes_discovery_year)||!!(e!=null&&e.local_hospital_name)||!!(e!=null&&e.symptoms)||(Array.isArray(e==null?void 0:e.past_history)?e.past_history.length>0:!!(e!=null&&e.past_history)),ce=e=>!!(e!=null&&e.tongue_coating||e!=null&&e.pulse||e!=null&&e.treatment_principle||e!=null&&e.prescription),bt=async e=>{R.value="detail",Q.value=!0,n.value=null,q.value=e;try{const[,t]=await Promise.all([pe().catch(a=>console.warn("加载详情字典失败:",a)),ze({id:e.id})]);if(n.value={...e,...t,appointment_id:e.id},t!=null&&t.patient_id)try{const a=await He({id:t.patient_id});n.value={...e,...t,...a,id:t.id||e.id,appointment_id:e.id,diagnosis_id:t.patient_id}}catch(a){console.warn("获取患者诊单详情失败:",a)}}catch(t){y.msgError((t==null?void 0:t.msg)||"获取详情失败"),R.value="list"}finally{Q.value=!1}},Ct=()=>{R.value="list",Q.value=!1},me=2e4;let Y=null;return ke(()=>{document.body.classList.add("h5-mode"),k(),Y=setInterval(()=>{k({silent:!0}).catch(()=>{})},me)}),he(()=>{document.body.classList.remove("h5-mode"),Y!==null&&(clearInterval(Y),Y=null)}),(e,t)=>{var Et,$t,Lt,St,Pt,Rt;const a=Ce,d=De,b=Ve,_e=$e,ge=Se,ye=Te,Dt=Oe,Vt=Le;return i(),u("div",je,[R.value==="list"?(i(),u($,{key:0},[s("header",Je,[s("div",Xe,[v(a,{modelValue:_.patient_name,"onUpdate:modelValue":t[0]||(t[0]=l=>_.patient_name=l),placeholder:"患者姓名",clearable:"","prefix-icon":p(be),onKeyup:Nt(I,["enter"]),onClear:I},null,8,["modelValue","prefix-icon"]),v(d,{class:"apt-h5-search-btn",type:"primary",onClick:I},{default:c(()=>[...t[19]||(t[19]=[f("查询",-1)])]),_:1})]),s("div",Ze,[(i(!0),u($,null,K(Wt.value,l=>(i(),u("span",{key:l.value,class:S(["apt-h5-chip",{active:j.value===l.value}]),onClick:V=>Gt(l.value)},[f(o(l.label)+" ",1),l.count?(i(),u("em",ts,o(l.count),1)):r("",!0)],10,we))),128))]),s("div",es,[(i(),u($,null,K(Yt,l=>s("span",{key:l.value||"all",class:S(["apt-h5-pill",{active:_.date_preset===l.value}]),onClick:V=>X(l.value)},o(l.label),11,ss)),64))]),s("div",ls,[s("div",as,[t[20]||(t[20]=s("span",{class:"apt-h5-quick-label"},"确认",-1)),(i(),u($,null,K(Kt,l=>s("span",{key:l.value||"all",class:S(["apt-h5-pill",{active:_.diagnosis_confirmed===l.value}]),onClick:V=>jt(l.value)},o(l.label),11,ns)),64))]),v(d,{link:"",type:"primary",size:"small",class:"apt-h5-more-toggle",onClick:t[1]||(t[1]=l=>N.value=!N.value)},{default:c(()=>[f(o(N.value?"收起":"更多")+" ",1),v(b,{class:S({"rotate-180":N.value})},{default:c(()=>[v(p(At))]),_:1},8,["class"])]),_:1})]),lt(s("div",os,[Ht.value?(i(),C(a,{key:0,modelValue:_.doctor_name,"onUpdate:modelValue":t[2]||(t[2]=l=>_.doctor_name=l),placeholder:"医生",clearable:"",size:"small",onKeyup:Nt(I,["enter"]),onClear:I},null,8,["modelValue"])):r("",!0),v(_e,{modelValue:L.value,"onUpdate:modelValue":t[3]||(t[3]=l=>L.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"]),v(d,{size:"small",onClick:Xt},{default:c(()=>[...t[21]||(t[21]=[f("重置",-1)])]),_:1})],512),[[Ee,N.value]])]),lt((i(),u("main",is,[p(g).lists.length===0&&!p(g).loading?(i(),u("div",us,[v(ge,{description:"暂无问诊","image-size":120})])):r("",!0),(i(!0),u($,null,K(p(g).lists,l=>(i(),u("article",{key:l.id,class:S(["apt-h5-card",te(l)])},[s("header",{class:"apt-h5-card-head",onClick:V=>bt(l)},[s("div",ds,o((l.patient_name||"患").charAt(0)),1),s("div",ps,[s("div",vs,[f(o(l.patient_name||"-")+" ",1),l.gender===1||l.gender===0?(i(),u("span",cs,o(l.gender===1?"男":"女"),1)):r("",!0),l.age!=null?(i(),u("span",ms,o(l.age)+"岁",1)):r("",!0)]),s("div",_s,"#"+o(l.id)+" · "+o(Ft(l.patient_phone)||"-"),1)]),s("div",gs,[s("span",{class:S(["apt-h5-tag",wt(l.status)])},o(l.status_desc||rt(l.status)),3),l.diagnosis_confirmed?(i(),u("span",ys,"已确认")):(i(),u("span",fs,"未确认"))])],8,rs),s("section",{class:"apt-h5-card-body",onClick:V=>bt(l)},[s("div",hs,[t[22]||(t[22]=s("span",{class:"apt-h5-row-key"},"预约",-1)),s("span",bs,o(l.appointment_date||"-")+" "+o(l.appointment_time||""),1)]),s("div",Cs,[t[23]||(t[23]=s("span",{class:"apt-h5-row-key"},"医生",-1)),s("span",Ds,o(l.doctor_name||"-"),1)]),s("div",Vs,[t[24]||(t[24]=s("span",{class:"apt-h5-row-key"},"助理",-1)),s("span",Es,o(l.assistant_name||"-"),1)]),s("div",$s,[t[25]||(t[25]=s("span",{class:"apt-h5-row-key"},"开方",-1)),s("span",Ls,[l.has_prescription?(i(),u("span",Ss,"已开方")):(i(),u("span",Ps,"未开方")),l.has_prescription&&l.prescription_is_system_auto===1?(i(),u("span",Rs,"系统代开")):r("",!0)])]),l.remark?(i(),u("div",Ns,[t[26]||(t[26]=s("span",{class:"apt-h5-row-key"},"备注",-1)),s("span",As,o(l.remark),1)])):r("",!0)],8,ks),s("footer",Is,[p(h)(["tcm.diagnosis/edit"])?(i(),C(d,{key:0,type:"primary",size:"small",plain:"",onClick:V=>pt(l)},{default:c(()=>[...t[27]||(t[27]=[f(" 编辑患者 ",-1)])]),_:1},8,["onClick"])):r("",!0),l.status!==3&&p(h)(["doctor.appointment/prescription"])?(i(),C(d,{key:1,type:"primary",size:"small",icon:p(Pe),onClick:V=>vt(l)},{default:c(()=>[...t[28]||(t[28]=[f(" 通话 ",-1)])]),_:1},8,["icon","onClick"])):r("",!0),p(h)(["tcm.diagnosis/kaifang"])?(i(),C(d,{key:2,type:st(l)==="查看"?"success":"primary",size:"small",plain:"",onClick:V=>ct(l)},{default:c(()=>[f(o(st(l)),1)]),_:2},1032,["type","onClick"])):r("",!0),v(d,{size:"small",class:"apt-h5-more-btn",onClick:V=>le(l)},{default:c(()=>[t[29]||(t[29]=f(" 更多",-1)),v(b,{class:"el-icon--right"},{default:c(()=>[v(p(At))]),_:1})]),_:1},8,["onClick"])])],2))),128)),J.value?(i(),u("div",{key:1,class:"apt-h5-load-more",onClick:Zt},o(p(g).loading?"加载中...":"加载更多"),1)):r("",!0),!J.value&&p(g).lists.length>0?(i(),u("div",Ts,"没有更多了")):r("",!0)])),[[Vt,p(g).loading]]),v(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(),u("div",Ms,[D.value.status!==3&&p(h)(["tcm.diagnosis/videoQr"])?(i(),u("button",{key:0,class:"apt-h5-action",onClick:t[4]||(t[4]=l=>B("videoQr"))},[v(b,null,{default:c(()=>[v(p(Re))]),_:1}),t[30]||(t[30]=s("span",null,"视频二维码",-1))])):r("",!0),D.value.status!==3&&p(h)(["doctor.appointment/complete"])?(i(),u("button",{key:1,class:"apt-h5-action",onClick:t[5]||(t[5]=l=>B("complete"))},[v(b,null,{default:c(()=>[v(p(Ne))]),_:1}),t[31]||(t[31]=s("span",null,"完成",-1))])):r("",!0),p(h)(["tcm.diagnosis/kaifang"])?(i(),u("button",{key:2,class:"apt-h5-action",onClick:t[6]||(t[6]=l=>B("case"))},[v(b,null,{default:c(()=>[v(p(Ae))]),_:1}),t[32]||(t[32]=s("span",null,"病历",-1))])):r("",!0),D.value.status===1&&p(h)(["doctor.appointment/cancel"])?(i(),u("button",{key:3,class:"apt-h5-action apt-h5-action--danger",onClick:t[7]||(t[7]=l=>B("cancel"))},[v(b,null,{default:c(()=>[v(p(Ie))]),_:1}),t[33]||(t[33]=s("span",null,"取消挂号",-1))])):r("",!0)])):r("",!0)]),_:1},8,["modelValue","title"])],64)):(i(),u($,{key:1},[s("header",Os,[s("button",{class:"apt-h5-back",onClick:Ct},[...t[34]||(t[34]=[s("span",null,"‹",-1),f(" 返回 ",-1)])]),s("div",qs,[s("strong",null,o(((Et=n.value)==null?void 0:Et.patient_name)||(($t=q.value)==null?void 0:$t.patient_name)||"问诊详情"),1),s("small",null,o(((Lt=n.value)==null?void 0:Lt.appointment_date)||((St=q.value)==null?void 0:St.appointment_date)||"")+" "+o(((Pt=n.value)==null?void 0:Pt.appointment_time)||((Rt=q.value)==null?void 0:Rt.appointment_time)||""),1)])]),lt((i(),u("main",zs,[n.value?(i(),u($,{key:0},[s("section",xs,[t[41]||(t[41]=s("h3",null,"预约信息",-1)),s("div",Bs,[s("div",null,[t[35]||(t[35]=s("span",null,"挂号ID",-1)),s("strong",null,o(n.value.id||"-"),1)]),s("div",null,[t[36]||(t[36]=s("span",null,"状态",-1)),s("strong",null,o(n.value.status_desc||rt(n.value.status)),1)]),s("div",null,[t[37]||(t[37]=s("span",null,"医生",-1)),s("strong",null,o(n.value.doctor_name||"-"),1)]),s("div",null,[t[38]||(t[38]=s("span",null,"预约时间",-1)),s("strong",null,o(n.value.appointment_date||"-")+" "+o(n.value.appointment_time||""),1)]),s("div",null,[t[39]||(t[39]=s("span",null,"时段",-1)),s("strong",null,o(n.value.period==="morning"?"上午":n.value.period==="afternoon"?"下午":"-"),1)]),s("div",null,[t[40]||(t[40]=s("span",null,"预约类型",-1)),s("strong",null,o(n.value.appointment_type_desc||"-"),1)])])]),s("section",Us,[t[58]||(t[58]=s("h3",null,"患者信息",-1)),s("div",Fs,[s("div",null,[t[42]||(t[42]=s("span",null,"姓名",-1)),s("strong",null,o(n.value.patient_name||"-"),1)]),s("div",null,[t[43]||(t[43]=s("span",null,"手机号",-1)),s("strong",null,o(n.value.phone||n.value.patient_phone||"-"),1)]),s("div",Hs,[t[44]||(t[44]=s("span",null,"身份证号",-1)),s("strong",null,o(n.value.id_card||"-"),1)]),s("div",null,[t[45]||(t[45]=s("span",null,"性别",-1)),s("strong",null,o(n.value.gender===1?"男":n.value.gender===0?"女":"-"),1)]),s("div",null,[t[46]||(t[46]=s("span",null,"年龄",-1)),s("strong",null,o(n.value.age!=null?`${n.value.age}岁`:"-"),1)]),s("div",null,[t[47]||(t[47]=s("span",null,"诊断日期",-1)),s("strong",null,o(n.value.diagnosis_date||"-"),1)]),s("div",null,[t[48]||(t[48]=s("span",null,"婚姻状态",-1)),s("strong",null,o(re(n.value.marital_status)),1)]),s("div",null,[t[49]||(t[49]=s("span",null,"身高(cm)",-1)),s("strong",null,o(n.value.height??"-"),1)]),s("div",null,[t[50]||(t[50]=s("span",null,"体重(kg)",-1)),s("strong",null,o(n.value.weight??"-"),1)]),s("div",Qs,[t[51]||(t[51]=s("span",null,"地区",-1)),s("strong",null,o(n.value.region||"-"),1)]),s("div",null,[t[52]||(t[52]=s("span",null,"收缩压(mmHg)",-1)),s("strong",null,o(n.value.systolic_pressure??"-"),1)]),s("div",null,[t[53]||(t[53]=s("span",null,"舒张压(mmHg)",-1)),s("strong",null,o(n.value.diastolic_pressure??"-"),1)]),s("div",null,[t[54]||(t[54]=s("span",null,"空腹血糖(mmol/L)",-1)),s("strong",null,o(n.value.fasting_blood_sugar??"-"),1)]),s("div",null,[t[55]||(t[55]=s("span",null,"诊断类型",-1)),s("strong",null,o(W(gt.value,n.value.diagnosis_type)),1)]),s("div",null,[t[56]||(t[56]=s("span",null,"证型",-1)),s("strong",null,o(W(yt.value,n.value.syndrome_type)),1)]),s("div",null,[t[57]||(t[57]=s("span",null,"糖尿病期数",-1)),s("strong",null,o(W(ft.value,n.value.diabetes_type)),1)])])]),ve(n.value)?(i(),u("section",Ws,[t[63]||(t[63]=s("h3",null,"病史信息",-1)),s("div",Ys,[p(Mt)(n.value.diabetes_discovery_year)?(i(),u("div",Ks,[t[59]||(t[59]=s("span",null,"发现糖尿病病史",-1)),s("strong",null,o(p(Ge)(n.value.diabetes_discovery_year)),1)])):r("",!0),n.value.local_hospital_name?(i(),u("div",Gs,[t[60]||(t[60]=s("span",null,"当地就诊医院",-1)),s("strong",null,o(n.value.local_hospital_name),1)])):r("",!0),n.value.symptoms?(i(),u("div",js,[t[61]||(t[61]=s("span",null,"症状补充",-1)),s("strong",null,o(n.value.symptoms),1)])):r("",!0),n.value.past_history&&n.value.past_history.length?(i(),u("div",Js,[t[62]||(t[62]=s("span",null,"既往史",-1)),s("strong",null,o(ue(n.value.past_history)),1)])):r("",!0)])])):r("",!0),ce(n.value)?(i(),u("section",Xs,[t[68]||(t[68]=s("h3",null,"诊断信息",-1)),s("div",Zs,[n.value.tongue_coating?(i(),u("div",ws,[t[64]||(t[64]=s("span",null,"舌苔",-1)),s("strong",null,o(n.value.tongue_coating),1)])):r("",!0),n.value.pulse?(i(),u("div",tl,[t[65]||(t[65]=s("span",null,"脉象",-1)),s("strong",null,o(n.value.pulse),1)])):r("",!0),n.value.treatment_principle?(i(),u("div",el,[t[66]||(t[66]=s("span",null,"治则",-1)),s("strong",null,o(n.value.treatment_principle),1)])):r("",!0),n.value.prescription?(i(),u("div",sl,[t[67]||(t[67]=s("span",null,"处方",-1)),s("strong",null,o(n.value.prescription),1)])):r("",!0)])])):r("",!0),s("section",ll,[t[69]||(t[69]=s("h3",null,"备注",-1)),s("p",null,o(n.value.remark||"无"),1)])],64)):r("",!0)])),[[Vt,Q.value]]),n.value?(i(),u("footer",al,[s("div",nl,[p(h)(["tcm.diagnosis/edit"])?(i(),C(d,{key:0,type:"primary",plain:"",onClick:t[9]||(t[9]=l=>pt(E.value))},{default:c(()=>[...t[70]||(t[70]=[f(" 编辑患者 ",-1)])]),_:1})):r("",!0),p(h)(["tcm.diagnosis/kaifang"])?(i(),C(d,{key:1,type:"primary",onClick:t[10]||(t[10]=l=>ct(E.value))},{default:c(()=>[f(o(st(E.value)),1)]),_:1})):r("",!0),E.value.status!==3&&p(h)(["doctor.appointment/prescription"])?(i(),C(d,{key:2,type:"primary",plain:"",onClick:t[11]||(t[11]=l=>vt(E.value))},{default:c(()=>[...t[71]||(t[71]=[f(" 通话 ",-1)])]),_:1})):r("",!0),E.value.status!==3&&p(h)(["doctor.appointment/complete"])?(i(),C(d,{key:3,type:"success",plain:"",onClick:t[12]||(t[12]=l=>mt(E.value))},{default:c(()=>[...t[72]||(t[72]=[f(" 完成 ",-1)])]),_:1})):r("",!0)])])):r("",!0)],64)),v(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(()=>[v(d,{onClick:t[13]||(t[13]=l=>O.value=!1)},{default:c(()=>[...t[75]||(t[75]=[f("关闭",-1)])]),_:1}),U.value?r("",!0):(i(),C(d,{key:0,type:"primary",onClick:ie},{default:c(()=>[...t[76]||(t[76]=[f("重新生成",-1)])]),_:1}))]),default:c(()=>{var l;return[s("div",ol,[U.value?(i(),u("div",il,[v(b,{class:"is-loading",size:36},{default:c(()=>[v(p(Me))]),_:1}),t[73]||(t[73]=s("div",null,"生成中...",-1))])):F.value?(i(),u("div",ul,[s("img",{src:F.value,alt:"小程序二维码",class:"apt-h5-qr-img"},null,8,rl),s("div",dl,[s("div",null,"患者:"+o(((l=H.value)==null?void 0:l.patient_name)||"-"),1),t[74]||(t[74]=s("div",null,"请使用微信扫描二维码",-1))])])):(i(),u("div",pl,"生成失败,请重试"))])]}),_:1},8,["modelValue"]),v(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(()=>[v(d,{onClick:t[16]||(t[16]=l=>T.value=!1)},{default:c(()=>[...t[78]||(t[78]=[f("取消",-1)])]),_:1}),v(d,{type:"primary",loading:z.value,onClick:ae},{default:c(()=>[...t[79]||(t[79]=[f("确认完成",-1)])]),_:1},8,["loading"])]),default:c(()=>[s("div",vl,[t[77]||(t[77]=s("p",null,"确认患者已就诊完成?",-1)),et.value?(i(),C(a,{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"])):r("",!0)])]),_:1},8,["modelValue"]),v(p(qt),{ref_key:"editRef",ref:Z,onSuccess:t[18]||(t[18]=()=>k({silent:!0}))},null,512),v(p(zt),{ref_key:"prescriptionRef",ref:w,onSuccess:se},null,512),v(p(xt),{ref_key:"chatDialogRef",ref:dt},null,512)])}}}),El=We(ml,[["__scopeId","data-v-154d877e"]]);export{El as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DxLWCQnV.js","assets/.pnpm-9dA1PEvN.js","assets/.pnpm-LiWq8Xu0.css","assets/tcm-Fi_swgCr.js","assets/index-BWzN7QIb.js","assets/index-or10At3s.css","assets/perm-BzF8JgcJ.js","assets/DailyMatrix-BOqZMkKS.js","assets/picker-DfI3CPnQ.js","assets/index-dYaCh-CN.js","assets/index-dh40Du6y.css","assets/index-xDQ_OZln.js","assets/index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js","assets/index-fA0EWEUO.js","assets/index-BYMg0OFw.css","assets/index-DFkJDhf6.js","assets/file-BL6iPgPC.js","assets/index.vue_vue_type_script_setup_true_lang-Blf417m7.js","assets/usePaging-Boz1Q6w3.js","assets/index-D6uL8V1j.css","assets/picker-CLzhBfnG.css","assets/DiagnosisTodoList-CAIMA53u.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix--Ay5C05Q.css","assets/CaseRecordList-DlCqPijV.js","assets/CaseRecordList-DEgrl9PS.css","assets/CallRecordPanel-CJ3iGibG.js","assets/RecordingPlaybackBlock-CN4w1UI-.js","assets/RecordingVideoPlayer-DIfduEP7.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-p7h_1hh9.css","assets/ImChatRecordPanel-BMjxk7mx.js","assets/dayjs-BsOAYQJw.js","assets/im-business-message-parse-DmDISFGN.js","assets/ImChatRecordPanel-BRnJl8ir.css","assets/AssignLogPanel-CF42MNq_.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DxBIlcME.js","assets/doctor-Chj6BcVp.js","assets/AppointmentRecordPanel-BWS3OyF0.css","assets/NoteTimeline-DxUNQs4y.js","assets/patient-Btpwd7dp.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-CKjXSixL.js","assets/PrescriptionOrderDetailDrawer-CEi7ZXfx.js","assets/prescription-order-utils-B0fYlULc.js","assets/PrescriptionOrderDetailDrawer-DL92yzHH.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-B5cu05RL.js","assets/index-CNLsF7Nt.js","assets/medicine-DezWRkkS.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-DxQanmqx.css","assets/edit-Cgsl1tY9.css","assets/TrackingNoteTimeline-C-2kS81H.css","assets/index-B8Qc_UQF.js","assets/@tencentcloud/chat-Clb_yWS-.js","assets/@tencentcloud/chat-uikit-engine-CE484eWV.js","assets/tim-upload-plugin-CQ0SshXS.js","assets/tim-profanity-filter-plugin-M-EFi4_K.js","assets/@tencentcloud/call-engine-js-BSW3L4hf.js","assets/rtc-detect-DLSGS3ox.js","assets/index-BdeDEJMM.css"])))=>i.map(i=>d[i]); +import{o as Ot,ba as fe,ap as ke,aq as he,q as i,r as u,F as $,s,v,b8 as Nt,u as p,bA as be,b7 as Ce,D as c,L as f,K as De,G as K,ae as S,T as o,P as r,w as Ve,ck as At,ac as lt,ad as Ee,O as C,bp as $e,bi as Le,bB as Se,cP as Pe,bE as Re,at as Ne,bH as Ae,cO as Ie,B as Te,b5 as Me,bt as Oe,cb as at,al as nt,p as P,M as m}from"./.pnpm-9dA1PEvN.js";import{a as It,l as Tt,m as qe,n as ze}from"./doctor-Chj6BcVp.js";import{g as xe}from"./weapp-TlfRpIke.js";import{R as Be,a3 as Ue,a2 as Fe,a4 as He}from"./tcm-Fi_swgCr.js";import{u as Qe,i as y,m as G,_ as We}from"./index-BWzN7QIb.js";import{a as Ye}from"./patient-Btpwd7dp.js";import{u as Ke}from"./usePaging-Boz1Q6w3.js";import{i as Mt,f as Ge}from"./diabetes-discovery-display-B_wmGXQJ.js";import{h}from"./perm-BzF8JgcJ.js";const je={class:"apt-h5"},Je={class:"apt-h5-topbar"},Xe={class:"apt-h5-search"},Ze={class:"apt-h5-status apt-h5-scroll"},we=["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"},us={key:0,class:"apt-h5-empty"},rs=["onClick"],ds={class:"apt-h5-avatar"},ps={class:"apt-h5-title"},vs={class:"apt-h5-name"},cs={key:0,class:"apt-h5-meta"},ms={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"},Ls={class:"apt-h5-row-val"},Ss={key:0,class:"apt-h5-inline-tag apt-h5-inline-tag--ok"},Ps={key:1,class:"apt-h5-inline-tag"},Rs={key:2,class:"apt-h5-inline-tag apt-h5-inline-tag--warn"},Ns={key:0,class:"apt-h5-row apt-h5-row--remark"},As={class:"apt-h5-row-val"},Is={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"},Bs={class:"apt-h5-detail-grid"},Us={class:"apt-h5-detail-section"},Fs={class:"apt-h5-detail-grid"},Hs={class:"apt-h5-detail-full"},Qs={class:"apt-h5-detail-full"},Ws={key:0,class:"apt-h5-detail-section"},Ys={class:"apt-h5-detail-grid"},Ks={key:0},Gs={key:1},js={key:2,class:"apt-h5-detail-full"},Js={key:3,class:"apt-h5-detail-full"},Xs={key:1,class:"apt-h5-detail-section"},Zs={class:"apt-h5-detail-grid"},ws={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"},ul={key:1},rl=["src"],dl={class:"apt-h5-qr-meta"},pl={key:2,class:"apt-h5-qr-fail"},vl={class:"apt-h5-complete"},cl=Ot({name:"tcmAppointmentH5"}),ml=Ot({...cl,setup(_l){const qt=at(()=>nt(()=>import("./edit-DxLWCQnV.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]))),zt=at(()=>nt(()=>import("./index-B5cu05RL.js"),__vite__mapDeps([50,1,2,51,52,4,5,53,54,3,55]))),xt=at(()=>nt(()=>import("./index-B8Qc_UQF.js"),__vite__mapDeps([58,1,2,16,4,5,43,3,35,34,59,60,61,62,63,64,65]))),ot=Qe(),Bt=P(()=>ot.userInfo),it=()=>ut(new Date),ut=e=>{const t=a=>String(a).padStart(2,"0");return`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())}`},Ut=e=>{const t=new Date;return t.setDate(t.getDate()+e),ut(t)},Ft=e=>!e||e.length<11?e:e.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),Ht=P(()=>{var t;const e=(t=Bt.value)==null?void 0:t.role_id;return Array.isArray(e)?!e.includes(1)&&!e.includes(2):e!==1&&e!==2}),_=fe({patient_name:"",doctor_name:"",status:1,start_date:it(),end_date:it(),date_preset:"today",diagnosis_confirmed:"",include_status_counts:0}),j=m("1"),R=m("list"),N=m(!1),L=m(""),A=m({1:0,2:0,3:0,4:0}),{pager:g,getLists:Qt}=Ke({fetchFun:It,params:_,firstLoading:!0}),Wt=P(()=>[{label:"待接诊",value:"1",count:A.value[1]},{label:"全部",value:"all",count:0},{label:"已过号",value:"4",count:A.value[4]},{label:"已取消",value:"2",count:A.value[2]},{label:"已完成",value:"3",count:A.value[3]}]),Yt=[{label:"昨天",value:"yesterday"},{label:"前天",value:"day_before"},{label:"今天",value:"today"},{label:"明天",value:"tomorrow"},{label:"后天",value:"day_after"},{label:"不限",value:""}],Kt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],J=P(()=>g.lists.length<(g.count||0)),k=async e=>{var t;_.include_status_counts=1;try{await Qt(e);const a=(t=g.extend)==null?void 0:t.status_count;a&&[1,2,3,4].forEach(d=>{const b=a[d]??a[String(d)];A.value[d]=typeof b=="number"?b:0})}finally{_.include_status_counts=0}},I=()=>{g.page=1,k()},Gt=e=>{j.value=e,_.status=e==="all"?"":Number(e),g.page=1,k()},X=e=>{if(_.date_preset=e,L.value="",!e)_.start_date="",_.end_date="";else{const a=Ut({yesterday:-1,day_before:-2,today:0,tomorrow:1,day_after:2}[e]??0);_.start_date=a,_.end_date=a}g.page=1,k()},jt=e=>{_.diagnosis_confirmed=e,g.page=1,k()},Jt=()=>{if(!L.value){X("");return}_.date_preset="",_.start_date=L.value[0],_.end_date=L.value[1],g.page=1,k()},Xt=()=>{_.patient_name="",_.doctor_name="",_.diagnosis_confirmed="",j.value="1",_.status=1,X("today")},Zt=async()=>{if(g.loading||!J.value)return;const e=(g.page||1)+1;g.loading=!0;try{const t=await It({page_no:e,page_size:g.size,..._,include_status_counts:0});g.page=e,g.lists.push(...(t==null?void 0:t.lists)||[]),g.count=(t==null?void 0:t.count)??g.count}finally{g.loading=!1}},rt=e=>{const t=Number(e);return t===1?"待接诊":t===2?"已取消":t===3?"已完成":t===4?"已过号":"-"},wt=e=>{const t=Number(e);return{"apt-h5-tag--ok":t===1||t===3,"apt-h5-tag--gray":t===2,"apt-h5-tag--danger":t===4}},te=e=>({"apt-h5-card--done":Number(e.status)===3,"apt-h5-card--cancel":Number(e.status)===2,"apt-h5-card--missed":Number(e.status)===4}),Z=m(),w=m(),dt=m(),ee=["doctor.appointment/addDoctorNote"],T=m(!1),z=m(!1),M=m(""),tt=m(null),et=P(()=>h(ee)),pt=e=>{var t;if(!e.patient_id){y.msgWarning("该预约没有关联诊单信息");return}(t=Z.value)==null||t.open("edit",e.patient_id)},vt=async e=>{var t;if(!e.patient_id){y.msgWarning("患者信息不完整");return}try{const a=await Be({patient_id:e.patient_id,diagnosis_id:e.diagnosis_id||e.id});(t=dt.value)==null||t.open({patientId:e.patient_id,patientName:e.patient_name,diagnosisId:e.diagnosis_id||e.id,signatureData:a})}catch(a){y.msgError((a==null?void 0:a.msg)||(a==null?void 0:a.message)||"获取通话签名失败")}},st=e=>(e==null?void 0:e.prescription_audit_status)===1&&Number(e==null?void 0:e.prescription_void_status)!==1?"查看":"开方",ct=e=>{var t;if(!e.diagnosis_id&&!e.patient_id){y.msgWarning("该预约缺少诊单信息,请先编辑患者");return}(t=w.value)==null||t.open(e)},se=()=>{var e,t;k(),(t=(e=Z.value)==null?void 0:e.refreshCaseList)==null||t.call(e)},x=m(!1),D=m(null),le=e=>{D.value=e,x.value=!0},B=e=>{const t=D.value;x.value=!1,t&&(e==="videoQr"&&_t(t),e==="complete"&&mt(t),e==="case"&&oe(t),e==="cancel"&&ne(t))},mt=async e=>{if(tt.value=e,M.value="",et.value){T.value=!0;return}try{await y.confirm("确认患者已就诊完成?"),await Tt({id:e.id}),y.msgSuccess("操作成功"),k()}catch(t){t!=="cancel"&&y.msgError((t==null?void 0:t.msg)||"操作失败")}},ae=async()=>{const e=tt.value;if(!(!(e!=null&&e.id)||z.value)){z.value=!0;try{const t=M.value.trim();await Tt({id:e.id});let a="";if(et.value&&t){const d=e.patient_id||e.diagnosis_id;if(d)try{await Ye({diagnosis_id:Number(d),content:t})}catch{a="问诊已完成,但备注未保存"}else a="问诊已完成,但该预约没有关联诊单,备注未保存"}a?y.msgWarning(a):y.msgSuccess("操作成功"),T.value=!1,M.value="",tt.value=null,R.value==="detail"&&Ct(),k()}catch(t){y.msgError((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"操作失败")}finally{z.value=!1}}},ne=async e=>{try{await y.confirm("确定要取消该挂号吗?"),await qe({id:e.id}),y.msgSuccess("取消成功"),k()}catch(t){t!=="cancel"&&y.msgError((t==null?void 0:t.msg)||"取消失败")}},oe=async e=>{var t;try{const a=await Ue({appointment_id:e.id});a!=null&&a.id?(t=w.value)==null||t.openById(a.id):y.msgWarning("该预约暂无病历记录,请先开方")}catch(a){y.msgError((a==null?void 0:a.msg)||"获取病历失败")}},O=m(!1),U=m(!1),F=m(""),H=m(null),_t=async e=>{var t;if(!e.patient_id){y.msgWarning("患者信息不完整");return}H.value=e,O.value=!0,U.value=!0,F.value="";try{const a=await xe();if(!(a!=null&&a.app_id)){y.msgError("小程序未配置,请先配置小程序信息"),O.value=!1;return}const d=await Fe({diagnosis_id:e.doctor_id||"",patient_id:e.patient_id,share_user_id:((t=ot.userInfo)==null?void 0:t.id)||"",mini_program_path:"pages/login/login"});d!=null&&d.qrcode_url?F.value=d.qrcode_url:y.msgError("二维码生成失败")}catch(a){y.msgError((a==null?void 0:a.msg)||"生成二维码失败,请重试")}finally{U.value=!1}},ie=()=>{H.value&&_t(H.value)},Q=m(!1),n=m(null),q=m(null),E=P(()=>({...q.value||{},...n.value||{}})),gt=m([]),yt=m([]),ft=m([]),kt=m([]),ht=m(!1),W=(e,t)=>{if(!t)return"-";const a=e.find(d=>d.value===t);return a?a.name:t},ue=e=>(Array.isArray(e)?e:typeof e=="string"?e.split(/[,,、]/):[]).map(a=>W(kt.value,a.trim())).filter(Boolean).join("、")||"-",re=e=>Number(e)===0?"未婚":Number(e)===1?"已婚":Number(e)===2?"离异":"-",de=async()=>{const[e,t,a,d]=await Promise.all([G({type:"diagnosis_type"}),G({type:"syndrome_type"}),G({type:"diabetes_type"}),G({type:"past_history"})]);gt.value=(e==null?void 0:e.diagnosis_type)||[],yt.value=(t==null?void 0:t.syndrome_type)||[],ft.value=(a==null?void 0:a.diabetes_type)||[],kt.value=(d==null?void 0:d.past_history)||[]},pe=async()=>{ht.value||(await de(),ht.value=!0)},ve=e=>Mt(e==null?void 0:e.diabetes_discovery_year)||!!(e!=null&&e.local_hospital_name)||!!(e!=null&&e.symptoms)||(Array.isArray(e==null?void 0:e.past_history)?e.past_history.length>0:!!(e!=null&&e.past_history)),ce=e=>!!(e!=null&&e.tongue_coating||e!=null&&e.pulse||e!=null&&e.treatment_principle||e!=null&&e.prescription),bt=async e=>{R.value="detail",Q.value=!0,n.value=null,q.value=e;try{const[,t]=await Promise.all([pe().catch(a=>console.warn("加载详情字典失败:",a)),ze({id:e.id})]);if(n.value={...e,...t,appointment_id:e.id},t!=null&&t.patient_id)try{const a=await He({id:t.patient_id});n.value={...e,...t,...a,id:t.id||e.id,appointment_id:e.id,diagnosis_id:t.patient_id}}catch(a){console.warn("获取患者诊单详情失败:",a)}}catch(t){y.msgError((t==null?void 0:t.msg)||"获取详情失败"),R.value="list"}finally{Q.value=!1}},Ct=()=>{R.value="list",Q.value=!1},me=2e4;let Y=null;return ke(()=>{document.body.classList.add("h5-mode"),k(),Y=setInterval(()=>{k({silent:!0}).catch(()=>{})},me)}),he(()=>{document.body.classList.remove("h5-mode"),Y!==null&&(clearInterval(Y),Y=null)}),(e,t)=>{var Et,$t,Lt,St,Pt,Rt;const a=Ce,d=De,b=Ve,_e=$e,ge=Se,ye=Te,Dt=Oe,Vt=Le;return i(),u("div",je,[R.value==="list"?(i(),u($,{key:0},[s("header",Je,[s("div",Xe,[v(a,{modelValue:_.patient_name,"onUpdate:modelValue":t[0]||(t[0]=l=>_.patient_name=l),placeholder:"患者姓名",clearable:"","prefix-icon":p(be),onKeyup:Nt(I,["enter"]),onClear:I},null,8,["modelValue","prefix-icon"]),v(d,{class:"apt-h5-search-btn",type:"primary",onClick:I},{default:c(()=>[...t[19]||(t[19]=[f("查询",-1)])]),_:1})]),s("div",Ze,[(i(!0),u($,null,K(Wt.value,l=>(i(),u("span",{key:l.value,class:S(["apt-h5-chip",{active:j.value===l.value}]),onClick:V=>Gt(l.value)},[f(o(l.label)+" ",1),l.count?(i(),u("em",ts,o(l.count),1)):r("",!0)],10,we))),128))]),s("div",es,[(i(),u($,null,K(Yt,l=>s("span",{key:l.value||"all",class:S(["apt-h5-pill",{active:_.date_preset===l.value}]),onClick:V=>X(l.value)},o(l.label),11,ss)),64))]),s("div",ls,[s("div",as,[t[20]||(t[20]=s("span",{class:"apt-h5-quick-label"},"确认",-1)),(i(),u($,null,K(Kt,l=>s("span",{key:l.value||"all",class:S(["apt-h5-pill",{active:_.diagnosis_confirmed===l.value}]),onClick:V=>jt(l.value)},o(l.label),11,ns)),64))]),v(d,{link:"",type:"primary",size:"small",class:"apt-h5-more-toggle",onClick:t[1]||(t[1]=l=>N.value=!N.value)},{default:c(()=>[f(o(N.value?"收起":"更多")+" ",1),v(b,{class:S({"rotate-180":N.value})},{default:c(()=>[v(p(At))]),_:1},8,["class"])]),_:1})]),lt(s("div",os,[Ht.value?(i(),C(a,{key:0,modelValue:_.doctor_name,"onUpdate:modelValue":t[2]||(t[2]=l=>_.doctor_name=l),placeholder:"医生",clearable:"",size:"small",onKeyup:Nt(I,["enter"]),onClear:I},null,8,["modelValue"])):r("",!0),v(_e,{modelValue:L.value,"onUpdate:modelValue":t[3]||(t[3]=l=>L.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"]),v(d,{size:"small",onClick:Xt},{default:c(()=>[...t[21]||(t[21]=[f("重置",-1)])]),_:1})],512),[[Ee,N.value]])]),lt((i(),u("main",is,[p(g).lists.length===0&&!p(g).loading?(i(),u("div",us,[v(ge,{description:"暂无问诊","image-size":120})])):r("",!0),(i(!0),u($,null,K(p(g).lists,l=>(i(),u("article",{key:l.id,class:S(["apt-h5-card",te(l)])},[s("header",{class:"apt-h5-card-head",onClick:V=>bt(l)},[s("div",ds,o((l.patient_name||"患").charAt(0)),1),s("div",ps,[s("div",vs,[f(o(l.patient_name||"-")+" ",1),l.gender===1||l.gender===0?(i(),u("span",cs,o(l.gender===1?"男":"女"),1)):r("",!0),l.age!=null?(i(),u("span",ms,o(l.age)+"岁",1)):r("",!0)]),s("div",_s,"#"+o(l.id)+" · "+o(Ft(l.patient_phone)||"-"),1)]),s("div",gs,[s("span",{class:S(["apt-h5-tag",wt(l.status)])},o(l.status_desc||rt(l.status)),3),l.diagnosis_confirmed?(i(),u("span",ys,"已确认")):(i(),u("span",fs,"未确认"))])],8,rs),s("section",{class:"apt-h5-card-body",onClick:V=>bt(l)},[s("div",hs,[t[22]||(t[22]=s("span",{class:"apt-h5-row-key"},"预约",-1)),s("span",bs,o(l.appointment_date||"-")+" "+o(l.appointment_time||""),1)]),s("div",Cs,[t[23]||(t[23]=s("span",{class:"apt-h5-row-key"},"医生",-1)),s("span",Ds,o(l.doctor_name||"-"),1)]),s("div",Vs,[t[24]||(t[24]=s("span",{class:"apt-h5-row-key"},"助理",-1)),s("span",Es,o(l.assistant_name||"-"),1)]),s("div",$s,[t[25]||(t[25]=s("span",{class:"apt-h5-row-key"},"开方",-1)),s("span",Ls,[l.has_prescription?(i(),u("span",Ss,"已开方")):(i(),u("span",Ps,"未开方")),l.has_prescription&&l.prescription_is_system_auto===1?(i(),u("span",Rs,"系统代开")):r("",!0)])]),l.remark?(i(),u("div",Ns,[t[26]||(t[26]=s("span",{class:"apt-h5-row-key"},"备注",-1)),s("span",As,o(l.remark),1)])):r("",!0)],8,ks),s("footer",Is,[p(h)(["tcm.diagnosis/edit"])?(i(),C(d,{key:0,type:"primary",size:"small",plain:"",onClick:V=>pt(l)},{default:c(()=>[...t[27]||(t[27]=[f(" 编辑患者 ",-1)])]),_:1},8,["onClick"])):r("",!0),l.status!==3&&p(h)(["doctor.appointment/prescription"])?(i(),C(d,{key:1,type:"primary",size:"small",icon:p(Pe),onClick:V=>vt(l)},{default:c(()=>[...t[28]||(t[28]=[f(" 通话 ",-1)])]),_:1},8,["icon","onClick"])):r("",!0),p(h)(["tcm.diagnosis/kaifang"])?(i(),C(d,{key:2,type:st(l)==="查看"?"success":"primary",size:"small",plain:"",onClick:V=>ct(l)},{default:c(()=>[f(o(st(l)),1)]),_:2},1032,["type","onClick"])):r("",!0),v(d,{size:"small",class:"apt-h5-more-btn",onClick:V=>le(l)},{default:c(()=>[t[29]||(t[29]=f(" 更多",-1)),v(b,{class:"el-icon--right"},{default:c(()=>[v(p(At))]),_:1})]),_:1},8,["onClick"])])],2))),128)),J.value?(i(),u("div",{key:1,class:"apt-h5-load-more",onClick:Zt},o(p(g).loading?"加载中...":"加载更多"),1)):r("",!0),!J.value&&p(g).lists.length>0?(i(),u("div",Ts,"没有更多了")):r("",!0)])),[[Vt,p(g).loading]]),v(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(),u("div",Ms,[D.value.status!==3&&p(h)(["tcm.diagnosis/videoQr"])?(i(),u("button",{key:0,class:"apt-h5-action",onClick:t[4]||(t[4]=l=>B("videoQr"))},[v(b,null,{default:c(()=>[v(p(Re))]),_:1}),t[30]||(t[30]=s("span",null,"视频二维码",-1))])):r("",!0),D.value.status!==3&&p(h)(["doctor.appointment/complete"])?(i(),u("button",{key:1,class:"apt-h5-action",onClick:t[5]||(t[5]=l=>B("complete"))},[v(b,null,{default:c(()=>[v(p(Ne))]),_:1}),t[31]||(t[31]=s("span",null,"完成",-1))])):r("",!0),p(h)(["tcm.diagnosis/kaifang"])?(i(),u("button",{key:2,class:"apt-h5-action",onClick:t[6]||(t[6]=l=>B("case"))},[v(b,null,{default:c(()=>[v(p(Ae))]),_:1}),t[32]||(t[32]=s("span",null,"病历",-1))])):r("",!0),D.value.status===1&&p(h)(["doctor.appointment/cancel"])?(i(),u("button",{key:3,class:"apt-h5-action apt-h5-action--danger",onClick:t[7]||(t[7]=l=>B("cancel"))},[v(b,null,{default:c(()=>[v(p(Ie))]),_:1}),t[33]||(t[33]=s("span",null,"取消挂号",-1))])):r("",!0)])):r("",!0)]),_:1},8,["modelValue","title"])],64)):(i(),u($,{key:1},[s("header",Os,[s("button",{class:"apt-h5-back",onClick:Ct},[...t[34]||(t[34]=[s("span",null,"‹",-1),f(" 返回 ",-1)])]),s("div",qs,[s("strong",null,o(((Et=n.value)==null?void 0:Et.patient_name)||(($t=q.value)==null?void 0:$t.patient_name)||"问诊详情"),1),s("small",null,o(((Lt=n.value)==null?void 0:Lt.appointment_date)||((St=q.value)==null?void 0:St.appointment_date)||"")+" "+o(((Pt=n.value)==null?void 0:Pt.appointment_time)||((Rt=q.value)==null?void 0:Rt.appointment_time)||""),1)])]),lt((i(),u("main",zs,[n.value?(i(),u($,{key:0},[s("section",xs,[t[41]||(t[41]=s("h3",null,"预约信息",-1)),s("div",Bs,[s("div",null,[t[35]||(t[35]=s("span",null,"挂号ID",-1)),s("strong",null,o(n.value.id||"-"),1)]),s("div",null,[t[36]||(t[36]=s("span",null,"状态",-1)),s("strong",null,o(n.value.status_desc||rt(n.value.status)),1)]),s("div",null,[t[37]||(t[37]=s("span",null,"医生",-1)),s("strong",null,o(n.value.doctor_name||"-"),1)]),s("div",null,[t[38]||(t[38]=s("span",null,"预约时间",-1)),s("strong",null,o(n.value.appointment_date||"-")+" "+o(n.value.appointment_time||""),1)]),s("div",null,[t[39]||(t[39]=s("span",null,"时段",-1)),s("strong",null,o(n.value.period==="morning"?"上午":n.value.period==="afternoon"?"下午":"-"),1)]),s("div",null,[t[40]||(t[40]=s("span",null,"预约类型",-1)),s("strong",null,o(n.value.appointment_type_desc||"-"),1)])])]),s("section",Us,[t[58]||(t[58]=s("h3",null,"患者信息",-1)),s("div",Fs,[s("div",null,[t[42]||(t[42]=s("span",null,"姓名",-1)),s("strong",null,o(n.value.patient_name||"-"),1)]),s("div",null,[t[43]||(t[43]=s("span",null,"手机号",-1)),s("strong",null,o(n.value.phone||n.value.patient_phone||"-"),1)]),s("div",Hs,[t[44]||(t[44]=s("span",null,"身份证号",-1)),s("strong",null,o(n.value.id_card||"-"),1)]),s("div",null,[t[45]||(t[45]=s("span",null,"性别",-1)),s("strong",null,o(n.value.gender===1?"男":n.value.gender===0?"女":"-"),1)]),s("div",null,[t[46]||(t[46]=s("span",null,"年龄",-1)),s("strong",null,o(n.value.age!=null?`${n.value.age}岁`:"-"),1)]),s("div",null,[t[47]||(t[47]=s("span",null,"诊断日期",-1)),s("strong",null,o(n.value.diagnosis_date||"-"),1)]),s("div",null,[t[48]||(t[48]=s("span",null,"婚姻状态",-1)),s("strong",null,o(re(n.value.marital_status)),1)]),s("div",null,[t[49]||(t[49]=s("span",null,"身高(cm)",-1)),s("strong",null,o(n.value.height??"-"),1)]),s("div",null,[t[50]||(t[50]=s("span",null,"体重(kg)",-1)),s("strong",null,o(n.value.weight??"-"),1)]),s("div",Qs,[t[51]||(t[51]=s("span",null,"地区",-1)),s("strong",null,o(n.value.region||"-"),1)]),s("div",null,[t[52]||(t[52]=s("span",null,"收缩压(mmHg)",-1)),s("strong",null,o(n.value.systolic_pressure??"-"),1)]),s("div",null,[t[53]||(t[53]=s("span",null,"舒张压(mmHg)",-1)),s("strong",null,o(n.value.diastolic_pressure??"-"),1)]),s("div",null,[t[54]||(t[54]=s("span",null,"空腹血糖(mmol/L)",-1)),s("strong",null,o(n.value.fasting_blood_sugar??"-"),1)]),s("div",null,[t[55]||(t[55]=s("span",null,"诊断类型",-1)),s("strong",null,o(W(gt.value,n.value.diagnosis_type)),1)]),s("div",null,[t[56]||(t[56]=s("span",null,"证型",-1)),s("strong",null,o(W(yt.value,n.value.syndrome_type)),1)]),s("div",null,[t[57]||(t[57]=s("span",null,"糖尿病期数",-1)),s("strong",null,o(W(ft.value,n.value.diabetes_type)),1)])])]),ve(n.value)?(i(),u("section",Ws,[t[63]||(t[63]=s("h3",null,"病史信息",-1)),s("div",Ys,[p(Mt)(n.value.diabetes_discovery_year)?(i(),u("div",Ks,[t[59]||(t[59]=s("span",null,"发现糖尿病病史",-1)),s("strong",null,o(p(Ge)(n.value.diabetes_discovery_year)),1)])):r("",!0),n.value.local_hospital_name?(i(),u("div",Gs,[t[60]||(t[60]=s("span",null,"当地就诊医院",-1)),s("strong",null,o(n.value.local_hospital_name),1)])):r("",!0),n.value.symptoms?(i(),u("div",js,[t[61]||(t[61]=s("span",null,"症状补充",-1)),s("strong",null,o(n.value.symptoms),1)])):r("",!0),n.value.past_history&&n.value.past_history.length?(i(),u("div",Js,[t[62]||(t[62]=s("span",null,"既往史",-1)),s("strong",null,o(ue(n.value.past_history)),1)])):r("",!0)])])):r("",!0),ce(n.value)?(i(),u("section",Xs,[t[68]||(t[68]=s("h3",null,"诊断信息",-1)),s("div",Zs,[n.value.tongue_coating?(i(),u("div",ws,[t[64]||(t[64]=s("span",null,"舌苔",-1)),s("strong",null,o(n.value.tongue_coating),1)])):r("",!0),n.value.pulse?(i(),u("div",tl,[t[65]||(t[65]=s("span",null,"脉象",-1)),s("strong",null,o(n.value.pulse),1)])):r("",!0),n.value.treatment_principle?(i(),u("div",el,[t[66]||(t[66]=s("span",null,"治则",-1)),s("strong",null,o(n.value.treatment_principle),1)])):r("",!0),n.value.prescription?(i(),u("div",sl,[t[67]||(t[67]=s("span",null,"处方",-1)),s("strong",null,o(n.value.prescription),1)])):r("",!0)])])):r("",!0),s("section",ll,[t[69]||(t[69]=s("h3",null,"备注",-1)),s("p",null,o(n.value.remark||"无"),1)])],64)):r("",!0)])),[[Vt,Q.value]]),n.value?(i(),u("footer",al,[s("div",nl,[p(h)(["tcm.diagnosis/edit"])?(i(),C(d,{key:0,type:"primary",plain:"",onClick:t[9]||(t[9]=l=>pt(E.value))},{default:c(()=>[...t[70]||(t[70]=[f(" 编辑患者 ",-1)])]),_:1})):r("",!0),p(h)(["tcm.diagnosis/kaifang"])?(i(),C(d,{key:1,type:"primary",onClick:t[10]||(t[10]=l=>ct(E.value))},{default:c(()=>[f(o(st(E.value)),1)]),_:1})):r("",!0),E.value.status!==3&&p(h)(["doctor.appointment/prescription"])?(i(),C(d,{key:2,type:"primary",plain:"",onClick:t[11]||(t[11]=l=>vt(E.value))},{default:c(()=>[...t[71]||(t[71]=[f(" 通话 ",-1)])]),_:1})):r("",!0),E.value.status!==3&&p(h)(["doctor.appointment/complete"])?(i(),C(d,{key:3,type:"success",plain:"",onClick:t[12]||(t[12]=l=>mt(E.value))},{default:c(()=>[...t[72]||(t[72]=[f(" 完成 ",-1)])]),_:1})):r("",!0)])])):r("",!0)],64)),v(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(()=>[v(d,{onClick:t[13]||(t[13]=l=>O.value=!1)},{default:c(()=>[...t[75]||(t[75]=[f("关闭",-1)])]),_:1}),U.value?r("",!0):(i(),C(d,{key:0,type:"primary",onClick:ie},{default:c(()=>[...t[76]||(t[76]=[f("重新生成",-1)])]),_:1}))]),default:c(()=>{var l;return[s("div",ol,[U.value?(i(),u("div",il,[v(b,{class:"is-loading",size:36},{default:c(()=>[v(p(Me))]),_:1}),t[73]||(t[73]=s("div",null,"生成中...",-1))])):F.value?(i(),u("div",ul,[s("img",{src:F.value,alt:"小程序二维码",class:"apt-h5-qr-img"},null,8,rl),s("div",dl,[s("div",null,"患者:"+o(((l=H.value)==null?void 0:l.patient_name)||"-"),1),t[74]||(t[74]=s("div",null,"请使用微信扫描二维码",-1))])])):(i(),u("div",pl,"生成失败,请重试"))])]}),_:1},8,["modelValue"]),v(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(()=>[v(d,{onClick:t[16]||(t[16]=l=>T.value=!1)},{default:c(()=>[...t[78]||(t[78]=[f("取消",-1)])]),_:1}),v(d,{type:"primary",loading:z.value,onClick:ae},{default:c(()=>[...t[79]||(t[79]=[f("确认完成",-1)])]),_:1},8,["loading"])]),default:c(()=>[s("div",vl,[t[77]||(t[77]=s("p",null,"确认患者已就诊完成?",-1)),et.value?(i(),C(a,{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"])):r("",!0)])]),_:1},8,["modelValue"]),v(p(qt),{ref_key:"editRef",ref:Z,onSuccess:t[18]||(t[18]=()=>k({silent:!0}))},null,512),v(p(zt),{ref_key:"prescriptionRef",ref:w,onSuccess:se},null,512),v(p(xt),{ref_key:"chatDialogRef",ref:dt},null,512)])}}}),El=We(ml,[["__scopeId","data-v-154d877e"]]);export{El as default}; diff --git a/server/public/admin/assets/login-Dw93NFdp.js b/server/public/admin/assets/login-CsQFRwmN.js similarity index 97% rename from server/public/admin/assets/login-Dw93NFdp.js rename to server/public/admin/assets/login-CsQFRwmN.js index eb274534..16a33016 100644 --- a/server/public/admin/assets/login-Dw93NFdp.js +++ b/server/public/admin/assets/login-CsQFRwmN.js @@ -1 +1 @@ -import{o as Z,Q as ee,W as oe,R as te,n as E,ap as ne,q as l,r as d,s,v as t,T as ae,D as a,u as c,b5 as N,w as se,F as C,bb as re,L as V,bc as ie,P as W,b6 as ce,b7 as le,b8 as P,b9 as de,bd as ue,K as pe,a8 as $,M as m,p as _e,ba as me,E as we}from"./.pnpm-9dA1PEvN.js";import{e as fe,u as ge,f as j,A as B,a as ve,h as xe,c as he,P as ke,_ as ye}from"./index-CJvXnF8Y.js";import{u as be}from"./useLockFn-Cmb0mmh_.js";import{_ as Ee}from"./footer.vue_vue_type_script_setup_true_lang-B19wnkFb.js";const Ce={class:"login flex flex-col"},Ve={class:"flex-1 flex items-center justify-center"},We={class:"login-card flex rounded-md overflow-hidden"},Le={class:"flex-1 h-full hidden md:inline-block"},Re={class:"login-form bg-body flex flex-col justify-center px-10 py-10 md:w-[420px] w-[380px] flex-none mx-auto"},Ue={class:"text-center text-3xl font-medium mb-8"},qe={key:0,class:"text-center py-10"},ze={key:0,class:"flex justify-center mb-6"},Se={class:"mb-5"},Ie={class:"wxwork-qrcode-wrap"},Ae={key:0,class:"text-center py-10"},Fe={key:1,id:"wxwork_qrcode_container",class:"wxwork-qrcode"},Ne=Z({__name:"login",setup(Pe){const L=$(),R=$(),K=fe(),U=ge(),h=ee(),w=oe(),f=m(!1),q=_e(()=>K.config),r=me({account:"",password:""}),D={account:[{required:!0,message:"请输入账号",trigger:["blur"]}],password:[{required:!0,message:"请输入密码",trigger:["blur"]}]},p=m("account"),z=m(!1),g=m({corp_id:"",agent_id:""}),v=m(!1),k=m(!1),M=()=>/wxwork/i.test(navigator.userAgent),S=()=>window.location.origin+window.location.pathname,T=()=>{var o;if(!r.password)return(o=L.value)==null?void 0:o.focus();y()},y=async()=>{var e;await((e=R.value)==null?void 0:e.validate()),j.set(B,{remember:f.value,account:f.value?r.account:""});const o=await U.login(r);if(o.is_paw===0){w.push("/change-password");return}if(o.need_bind_work_wechat){w.push("/bind-work-wechat");return}I()},{isLock:Q,lockFn:G}=be(y),I=()=>{const{query:{redirect:o}}=h,e=typeof o=="string"?o:ke.INDEX;w.push(e)},J=async o=>{v.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}I()}catch(e){console.error("企业微信登录失败:",e),we.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"企业微信登录失败,请使用账号密码登录"),v.value=!1,p.value="account"}},O=async()=>{if(!g.value.corp_id)return;k.value=!0,window.WwLogin||await new Promise((e,_)=>{const i=document.createElement("script");i.src="https://wwcdn.weixin.qq.com/node/wework/wwopen/js/wwLogin-1.2.7.js",i.onload=()=>e(),i.onerror=()=>_(new Error("加载企业微信JS失败")),document.head.appendChild(i)}),await E(),k.value=!1,await E();const o=encodeURIComponent(S());new window.WwLogin({id:"wxwork_qrcode_container",appid:g.value.corp_id,agentid:g.value.agent_id,redirect_uri:o,lang:"zh",state:"admin_login",href:"",self_redirect:!1})};return te(p,o=>{o==="wxwork"&&E(()=>O())}),ne(async()=>{const o=j.get(B);o!=null&&o.remember&&(f.value=o.remember,r.account=o.account);const e=new URLSearchParams(window.location.search),_=e.get("code"),i=e.get("state");if(_&&i==="admin_login"){const n=window.location.pathname+(h.query.redirect?`?redirect=${h.query.redirect}`:"");window.history.replaceState({},"",n),J(_);return}try{const n=await ve();if(n!=null&&n.enabled&&(z.value=!0,g.value={corp_id:n.corp_id,agent_id:n.agent_id},M())){const b=encodeURIComponent(S()),x=`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${n.corp_id}&redirect_uri=${b}&response_type=code&scope=snsapi_privateinfo&agentid=${n.agent_id}&state=admin_login#wechat_redirect`;window.location.href=x,v.value=!0;return}}catch(n){console.warn("获取企业微信配置失败:",n)}}),(o,e)=>{const _=xe,i=se,n=re,b=ie,x=he,A=le,F=ce,X=de,Y=ue,H=pe;return l(),d("div",Ce,[s("div",Ve,[s("div",We,[s("div",Le,[t(_,{src:q.value.login_image,width:400,height:"100%"},null,8,["src"])]),s("div",Re,[s("div",Ue,ae(q.value.web_name),1),v.value?(l(),d("div",qe,[t(i,{class:"is-loading mb-4",size:40,color:"var(--el-color-primary)"},{default:a(()=>[t(c(N))]),_:1}),e[4]||(e[4]=s("div",{class:"text-gray-500"},"企业微信授权登录中...",-1))])):(l(),d(C,{key:1},[z.value?(l(),d("div",ze,[t(b,{modelValue:p.value,"onUpdate:modelValue":e[0]||(e[0]=u=>p.value=u),size:"large"},{default:a(()=>[t(n,{value:"account"},{default:a(()=>[...e[5]||(e[5]=[V("账号登录",-1)])]),_:1}),t(n,{value:"wxwork"},{default:a(()=>[...e[6]||(e[6]=[V("企业微信",-1)])]),_:1})]),_:1},8,["modelValue"])])):W("",!0),p.value==="account"?(l(),d(C,{key:1},[t(X,{ref_key:"formRef",ref:R,model:c(r),size:"large",rules:D},{default:a(()=>[t(F,{prop:"account"},{default:a(()=>[t(A,{modelValue:c(r).account,"onUpdate:modelValue":e[1]||(e[1]=u=>c(r).account=u),placeholder:"请输入账号",onKeyup:P(T,["enter"])},{prepend:a(()=>[t(x,{name:"el-icon-User",size:"16"})]),_:1},8,["modelValue"])]),_:1}),t(F,{prop:"password"},{default:a(()=>[t(A,{ref_key:"passwordRef",ref:L,modelValue:c(r).password,"onUpdate:modelValue":e[2]||(e[2]=u=>c(r).password=u),"show-password":"",placeholder:"请输入密码",onKeyup:P(y,["enter"])},{prepend:a(()=>[t(x,{name:"el-icon-Lock",size:"16"})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"]),s("div",Se,[t(Y,{modelValue:f.value,"onUpdate:modelValue":e[3]||(e[3]=u=>f.value=u),label:"记住账号"},null,8,["modelValue"])]),t(H,{type:"primary",size:"large",loading:c(Q),onClick:c(G)},{default:a(()=>[...e[7]||(e[7]=[V(" 登录 ",-1)])]),_:1},8,["loading","onClick"])],64)):W("",!0),p.value==="wxwork"?(l(),d(C,{key:2},[s("div",Ie,[k.value?(l(),d("div",Ae,[t(i,{class:"is-loading",size:32,color:"var(--el-color-primary)"},{default:a(()=>[t(c(N))]),_:1}),e[8]||(e[8]=s("div",{class:"mt-2 text-gray-400 text-sm"},"加载企业微信扫码...",-1))])):(l(),d("div",Fe))]),e[9]||(e[9]=s("div",{class:"text-center text-sm text-gray-400 mt-4"}," 请使用企业微信扫描二维码登录 ",-1))],64)):W("",!0)],64))])])]),t(Ee)])}}}),De=ye(Ne,[["__scopeId","data-v-00b8b51e"]]);export{De as default}; +import{o as Z,Q as ee,W as oe,R as te,n as E,ap as ne,q as l,r as d,s,v as t,T as ae,D as a,u as c,b5 as N,w as se,F as C,bb as re,L as V,bc as ie,P as W,b6 as ce,b7 as le,b8 as P,b9 as de,bd as ue,K as pe,a8 as $,M as m,p as _e,ba as me,E as we}from"./.pnpm-9dA1PEvN.js";import{e as fe,u as ge,f as j,A as B,a as ve,h as xe,c as he,P as ke,_ as ye}from"./index-BWzN7QIb.js";import{u as be}from"./useLockFn-Cmb0mmh_.js";import{_ as Ee}from"./footer.vue_vue_type_script_setup_true_lang-D4zoiAR0.js";const Ce={class:"login flex flex-col"},Ve={class:"flex-1 flex items-center justify-center"},We={class:"login-card flex rounded-md overflow-hidden"},Le={class:"flex-1 h-full hidden md:inline-block"},Re={class:"login-form bg-body flex flex-col justify-center px-10 py-10 md:w-[420px] w-[380px] flex-none mx-auto"},Ue={class:"text-center text-3xl font-medium mb-8"},qe={key:0,class:"text-center py-10"},ze={key:0,class:"flex justify-center mb-6"},Se={class:"mb-5"},Ie={class:"wxwork-qrcode-wrap"},Ae={key:0,class:"text-center py-10"},Fe={key:1,id:"wxwork_qrcode_container",class:"wxwork-qrcode"},Ne=Z({__name:"login",setup(Pe){const L=$(),R=$(),K=fe(),U=ge(),h=ee(),w=oe(),f=m(!1),q=_e(()=>K.config),r=me({account:"",password:""}),D={account:[{required:!0,message:"请输入账号",trigger:["blur"]}],password:[{required:!0,message:"请输入密码",trigger:["blur"]}]},p=m("account"),z=m(!1),g=m({corp_id:"",agent_id:""}),v=m(!1),k=m(!1),M=()=>/wxwork/i.test(navigator.userAgent),S=()=>window.location.origin+window.location.pathname,T=()=>{var o;if(!r.password)return(o=L.value)==null?void 0:o.focus();y()},y=async()=>{var e;await((e=R.value)==null?void 0:e.validate()),j.set(B,{remember:f.value,account:f.value?r.account:""});const o=await U.login(r);if(o.is_paw===0){w.push("/change-password");return}if(o.need_bind_work_wechat){w.push("/bind-work-wechat");return}I()},{isLock:Q,lockFn:G}=be(y),I=()=>{const{query:{redirect:o}}=h,e=typeof o=="string"?o:ke.INDEX;w.push(e)},J=async o=>{v.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}I()}catch(e){console.error("企业微信登录失败:",e),we.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"企业微信登录失败,请使用账号密码登录"),v.value=!1,p.value="account"}},O=async()=>{if(!g.value.corp_id)return;k.value=!0,window.WwLogin||await new Promise((e,_)=>{const i=document.createElement("script");i.src="https://wwcdn.weixin.qq.com/node/wework/wwopen/js/wwLogin-1.2.7.js",i.onload=()=>e(),i.onerror=()=>_(new Error("加载企业微信JS失败")),document.head.appendChild(i)}),await E(),k.value=!1,await E();const o=encodeURIComponent(S());new window.WwLogin({id:"wxwork_qrcode_container",appid:g.value.corp_id,agentid:g.value.agent_id,redirect_uri:o,lang:"zh",state:"admin_login",href:"",self_redirect:!1})};return te(p,o=>{o==="wxwork"&&E(()=>O())}),ne(async()=>{const o=j.get(B);o!=null&&o.remember&&(f.value=o.remember,r.account=o.account);const e=new URLSearchParams(window.location.search),_=e.get("code"),i=e.get("state");if(_&&i==="admin_login"){const n=window.location.pathname+(h.query.redirect?`?redirect=${h.query.redirect}`:"");window.history.replaceState({},"",n),J(_);return}try{const n=await ve();if(n!=null&&n.enabled&&(z.value=!0,g.value={corp_id:n.corp_id,agent_id:n.agent_id},M())){const b=encodeURIComponent(S()),x=`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${n.corp_id}&redirect_uri=${b}&response_type=code&scope=snsapi_privateinfo&agentid=${n.agent_id}&state=admin_login#wechat_redirect`;window.location.href=x,v.value=!0;return}}catch(n){console.warn("获取企业微信配置失败:",n)}}),(o,e)=>{const _=xe,i=se,n=re,b=ie,x=he,A=le,F=ce,X=de,Y=ue,H=pe;return l(),d("div",Ce,[s("div",Ve,[s("div",We,[s("div",Le,[t(_,{src:q.value.login_image,width:400,height:"100%"},null,8,["src"])]),s("div",Re,[s("div",Ue,ae(q.value.web_name),1),v.value?(l(),d("div",qe,[t(i,{class:"is-loading mb-4",size:40,color:"var(--el-color-primary)"},{default:a(()=>[t(c(N))]),_:1}),e[4]||(e[4]=s("div",{class:"text-gray-500"},"企业微信授权登录中...",-1))])):(l(),d(C,{key:1},[z.value?(l(),d("div",ze,[t(b,{modelValue:p.value,"onUpdate:modelValue":e[0]||(e[0]=u=>p.value=u),size:"large"},{default:a(()=>[t(n,{value:"account"},{default:a(()=>[...e[5]||(e[5]=[V("账号登录",-1)])]),_:1}),t(n,{value:"wxwork"},{default:a(()=>[...e[6]||(e[6]=[V("企业微信",-1)])]),_:1})]),_:1},8,["modelValue"])])):W("",!0),p.value==="account"?(l(),d(C,{key:1},[t(X,{ref_key:"formRef",ref:R,model:c(r),size:"large",rules:D},{default:a(()=>[t(F,{prop:"account"},{default:a(()=>[t(A,{modelValue:c(r).account,"onUpdate:modelValue":e[1]||(e[1]=u=>c(r).account=u),placeholder:"请输入账号",onKeyup:P(T,["enter"])},{prepend:a(()=>[t(x,{name:"el-icon-User",size:"16"})]),_:1},8,["modelValue"])]),_:1}),t(F,{prop:"password"},{default:a(()=>[t(A,{ref_key:"passwordRef",ref:L,modelValue:c(r).password,"onUpdate:modelValue":e[2]||(e[2]=u=>c(r).password=u),"show-password":"",placeholder:"请输入密码",onKeyup:P(y,["enter"])},{prepend:a(()=>[t(x,{name:"el-icon-Lock",size:"16"})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"]),s("div",Se,[t(Y,{modelValue:f.value,"onUpdate:modelValue":e[3]||(e[3]=u=>f.value=u),label:"记住账号"},null,8,["modelValue"])]),t(H,{type:"primary",size:"large",loading:c(Q),onClick:c(G)},{default:a(()=>[...e[7]||(e[7]=[V(" 登录 ",-1)])]),_:1},8,["loading","onClick"])],64)):W("",!0),p.value==="wxwork"?(l(),d(C,{key:2},[s("div",Ie,[k.value?(l(),d("div",Ae,[t(i,{class:"is-loading",size:32,color:"var(--el-color-primary)"},{default:a(()=>[t(c(N))]),_:1}),e[8]||(e[8]=s("div",{class:"mt-2 text-gray-400 text-sm"},"加载企业微信扫码...",-1))])):(l(),d("div",Fe))]),e[9]||(e[9]=s("div",{class:"text-center text-sm text-gray-400 mt-4"}," 请使用企业微信扫描二维码登录 ",-1))],64)):W("",!0)],64))])])]),t(Ee)])}}}),De=ye(Ne,[["__scopeId","data-v-00b8b51e"]]);export{De as default}; diff --git a/server/public/admin/assets/login_register-DA_dZnUx.js b/server/public/admin/assets/login_register-CsAdgcaz.js similarity index 97% rename from server/public/admin/assets/login_register-DA_dZnUx.js rename to server/public/admin/assets/login_register-CsAdgcaz.js index 5f44073f..ce051182 100644 --- a/server/public/admin/assets/login_register-DA_dZnUx.js +++ b/server/public/admin/assets/login_register-CsAdgcaz.js @@ -1 +1 @@ -import{_ as E}from"./index-bkWlwzQZ.js";import{o as y,be as C,q as b,r as D,v as o,D as a,bg as B,s as t,b6 as U,cz as R,u as r,bd as F,L as n,I as L,T as p,K as N,b9 as P,ac as S,O as W,M as I,ba as w}from"./.pnpm-9dA1PEvN.js";import{g as T,s as j}from"./user-CfuSnjDA.js";import"./index-CJvXnF8Y.js";const z={class:"login-register"},A={class:"mt-1 ml-2"},G={class:"mt-1 ml-2"},K={class:"mt-1 ml-2"},M={href:"https://open.weixin.qq.com/",target:"_blank"},O=y({name:"loginRegister"}),Z=y({...O,setup(H){const m=I(),l=w({login_way:[],coerce_mobile:0,login_agreement:0,third_auth:0,wechat_auth:0,qq_auth:0}),V=w({loginWay:[{required:!0,validator:(i,e,u)=>{if(l.login_way.join("").length===0)u(new Error("登录方式至少选择一项!"));else{if(l.login_way!==""){if(!m.value)return;m.value.validateField("checkPass")}u()}},trigger:"change"}],coerce_mobile:[{required:!0,trigger:"blur"}],login_agreement:[{required:!0,trigger:"blur"}],third_auth:[{required:!0,trigger:"blur"}]}),g=async()=>{try{const i=await T();for(const e in l)l[e]=i[e]}catch(i){console.log("获取=>",i)}},k=async()=>{var i;await((i=m.value)==null?void 0:i.validate());try{await j(l),g()}catch(e){console.log("保存=>",e)}};return g(),(i,e)=>{const u=F,f=R,d=U,_=L,v=B,c=N,h=P,x=E,q=C("perms");return b(),D("div",z,[o(h,{ref_key:"formRef",ref:m,rules:r(V),model:r(l),"label-width":"120px"},{default:a(()=>[o(v,{shadow:"never",class:"!border-none"},{default:a(()=>[e[10]||(e[10]=t("div",{class:"font-medium mb-7"},"通用设置",-1)),o(d,{label:"登录方式",prop:"login_way"},{default:a(()=>[t("div",null,[o(f,{modelValue:r(l).login_way,"onUpdate:modelValue":e[0]||(e[0]=s=>r(l).login_way=s)},{default:a(()=>[o(u,{value:"1"},{default:a(()=>[...e[5]||(e[5]=[n("账号密码登录",-1)])]),_:1}),o(u,{value:"2"},{default:a(()=>[...e[6]||(e[6]=[n("手机验证码登录",-1)])]),_:1})]),_:1},8,["modelValue"]),e[7]||(e[7]=t("div",{class:"form-tips"},"系统通用登录方式,至少选择一项",-1))])]),_:1}),o(d,{label:"强制绑定手机",prop:"coerce_mobile"},{default:a(()=>[t("div",null,[o(_,{modelValue:r(l).coerce_mobile,"onUpdate:modelValue":e[1]||(e[1]=s=>r(l).coerce_mobile=s),"active-value":1,"inactive-value":0},null,8,["modelValue"]),t("span",A,p(r(l).coerce_mobile?"开启":"关闭"),1),e[8]||(e[8]=t("div",{class:"form-tips"},[n(" 1、如果开启,则新用户在注册完成之后要强制绑定手机号"),t("br"),n(" 2、老用户登录时如果检测到没有绑定手机,则要重新绑定手机号 ")],-1))])]),_:1}),o(d,{label:"政策协议",prop:"login_agreement"},{default:a(()=>[t("div",null,[o(_,{modelValue:r(l).login_agreement,"onUpdate:modelValue":e[2]||(e[2]=s=>r(l).login_agreement=s),"active-value":1,"inactive-value":0},null,8,["modelValue"]),t("span",G,p(r(l).login_agreement?"开启":"关闭"),1),e[9]||(e[9]=t("div",{class:"form-tips"},"登录/注册会员时,是否显示服务协议和隐私政策",-1))])]),_:1})]),_:1}),o(v,{shadow:"never",class:"!border-none mt-4"},{default:a(()=>[e[15]||(e[15]=t("div",{class:"font-medium mb-7"},"第三方设置",-1)),o(d,{label:"第三方登录",prop:"third_auth"},{default:a(()=>[t("div",null,[o(_,{modelValue:r(l).third_auth,"onUpdate:modelValue":e[3]||(e[3]=s=>r(l).third_auth=s),"active-value":1,"inactive-value":0},null,8,["modelValue"]),t("span",K,p(r(l).third_auth?"开启":"关闭"),1),e[12]||(e[12]=t("div",{class:"form-tips"},"登录时支持第三方登录,新用户授权即自动注册账号",-1)),t("div",null,[o(u,{modelValue:r(l).wechat_auth,"onUpdate:modelValue":e[4]||(e[4]=s=>r(l).wechat_auth=s),"true-value":1,"false-value":0},{default:a(()=>[...e[11]||(e[11]=[n(" 微信登录 ",-1)])]),_:1},8,["modelValue"])])])]),_:1}),o(d,{label:"微信开放平台"},{default:a(()=>[t("div",null,[t("a",M,[o(c,{type:"primary",link:"",class:"underline"},{default:a(()=>[...e[13]||(e[13]=[n(" 前往微信开放平台 ",-1)])]),_:1})]),e[14]||(e[14]=t("div",{class:"form-tips"},[n(" 1、在各渠道使用微信授权登录时,强烈建议配置微信开放平台"),t("br"),n(" 2、微信开放平台关联公众号、小程序和APP后,可实现各端用户账号统一,识别买家唯一微信身份"),t("br"),n(" 3、没有配置微信开放平台,同一微信号会生成多个用户,配置微信开放平台后已生成的用户账号无法合并 ")],-1))])]),_:1})]),_:1})]),_:1},8,["rules","model"]),S((b(),W(x,null,{default:a(()=>[o(c,{type:"primary",onClick:k},{default:a(()=>[...e[16]||(e[16]=[n("保存",-1)])]),_:1})]),_:1})),[[q,["setting.user.user/setRegisterConfig"]]])])}}});export{Z as default}; +import{_ as E}from"./index-DZiQLFzx.js";import{o as y,be as C,q as b,r as D,v as o,D as a,bg as B,s as t,b6 as U,cz as R,u as r,bd as F,L as n,I as L,T as p,K as N,b9 as P,ac as S,O as W,M as I,ba as w}from"./.pnpm-9dA1PEvN.js";import{g as T,s as j}from"./user-D_oHazKg.js";import"./index-BWzN7QIb.js";const z={class:"login-register"},A={class:"mt-1 ml-2"},G={class:"mt-1 ml-2"},K={class:"mt-1 ml-2"},M={href:"https://open.weixin.qq.com/",target:"_blank"},O=y({name:"loginRegister"}),Z=y({...O,setup(H){const m=I(),l=w({login_way:[],coerce_mobile:0,login_agreement:0,third_auth:0,wechat_auth:0,qq_auth:0}),V=w({loginWay:[{required:!0,validator:(i,e,u)=>{if(l.login_way.join("").length===0)u(new Error("登录方式至少选择一项!"));else{if(l.login_way!==""){if(!m.value)return;m.value.validateField("checkPass")}u()}},trigger:"change"}],coerce_mobile:[{required:!0,trigger:"blur"}],login_agreement:[{required:!0,trigger:"blur"}],third_auth:[{required:!0,trigger:"blur"}]}),g=async()=>{try{const i=await T();for(const e in l)l[e]=i[e]}catch(i){console.log("获取=>",i)}},k=async()=>{var i;await((i=m.value)==null?void 0:i.validate());try{await j(l),g()}catch(e){console.log("保存=>",e)}};return g(),(i,e)=>{const u=F,f=R,d=U,_=L,v=B,c=N,h=P,x=E,q=C("perms");return b(),D("div",z,[o(h,{ref_key:"formRef",ref:m,rules:r(V),model:r(l),"label-width":"120px"},{default:a(()=>[o(v,{shadow:"never",class:"!border-none"},{default:a(()=>[e[10]||(e[10]=t("div",{class:"font-medium mb-7"},"通用设置",-1)),o(d,{label:"登录方式",prop:"login_way"},{default:a(()=>[t("div",null,[o(f,{modelValue:r(l).login_way,"onUpdate:modelValue":e[0]||(e[0]=s=>r(l).login_way=s)},{default:a(()=>[o(u,{value:"1"},{default:a(()=>[...e[5]||(e[5]=[n("账号密码登录",-1)])]),_:1}),o(u,{value:"2"},{default:a(()=>[...e[6]||(e[6]=[n("手机验证码登录",-1)])]),_:1})]),_:1},8,["modelValue"]),e[7]||(e[7]=t("div",{class:"form-tips"},"系统通用登录方式,至少选择一项",-1))])]),_:1}),o(d,{label:"强制绑定手机",prop:"coerce_mobile"},{default:a(()=>[t("div",null,[o(_,{modelValue:r(l).coerce_mobile,"onUpdate:modelValue":e[1]||(e[1]=s=>r(l).coerce_mobile=s),"active-value":1,"inactive-value":0},null,8,["modelValue"]),t("span",A,p(r(l).coerce_mobile?"开启":"关闭"),1),e[8]||(e[8]=t("div",{class:"form-tips"},[n(" 1、如果开启,则新用户在注册完成之后要强制绑定手机号"),t("br"),n(" 2、老用户登录时如果检测到没有绑定手机,则要重新绑定手机号 ")],-1))])]),_:1}),o(d,{label:"政策协议",prop:"login_agreement"},{default:a(()=>[t("div",null,[o(_,{modelValue:r(l).login_agreement,"onUpdate:modelValue":e[2]||(e[2]=s=>r(l).login_agreement=s),"active-value":1,"inactive-value":0},null,8,["modelValue"]),t("span",G,p(r(l).login_agreement?"开启":"关闭"),1),e[9]||(e[9]=t("div",{class:"form-tips"},"登录/注册会员时,是否显示服务协议和隐私政策",-1))])]),_:1})]),_:1}),o(v,{shadow:"never",class:"!border-none mt-4"},{default:a(()=>[e[15]||(e[15]=t("div",{class:"font-medium mb-7"},"第三方设置",-1)),o(d,{label:"第三方登录",prop:"third_auth"},{default:a(()=>[t("div",null,[o(_,{modelValue:r(l).third_auth,"onUpdate:modelValue":e[3]||(e[3]=s=>r(l).third_auth=s),"active-value":1,"inactive-value":0},null,8,["modelValue"]),t("span",K,p(r(l).third_auth?"开启":"关闭"),1),e[12]||(e[12]=t("div",{class:"form-tips"},"登录时支持第三方登录,新用户授权即自动注册账号",-1)),t("div",null,[o(u,{modelValue:r(l).wechat_auth,"onUpdate:modelValue":e[4]||(e[4]=s=>r(l).wechat_auth=s),"true-value":1,"false-value":0},{default:a(()=>[...e[11]||(e[11]=[n(" 微信登录 ",-1)])]),_:1},8,["modelValue"])])])]),_:1}),o(d,{label:"微信开放平台"},{default:a(()=>[t("div",null,[t("a",M,[o(c,{type:"primary",link:"",class:"underline"},{default:a(()=>[...e[13]||(e[13]=[n(" 前往微信开放平台 ",-1)])]),_:1})]),e[14]||(e[14]=t("div",{class:"form-tips"},[n(" 1、在各渠道使用微信授权登录时,强烈建议配置微信开放平台"),t("br"),n(" 2、微信开放平台关联公众号、小程序和APP后,可实现各端用户账号统一,识别买家唯一微信身份"),t("br"),n(" 3、没有配置微信开放平台,同一微信号会生成多个用户,配置微信开放平台后已生成的用户账号无法合并 ")],-1))])]),_:1})]),_:1})]),_:1},8,["rules","model"]),S((b(),W(x,null,{default:a(()=>[o(c,{type:"primary",onClick:k},{default:a(()=>[...e[16]||(e[16]=[n("保存",-1)])]),_:1})]),_:1})),[[q,["setting.user.user/setRegisterConfig"]]])])}}});export{Z as default}; diff --git a/server/public/admin/assets/medicine-CQDW2OUZ.js b/server/public/admin/assets/medicine-DezWRkkS.js similarity index 81% rename from server/public/admin/assets/medicine-CQDW2OUZ.js rename to server/public/admin/assets/medicine-DezWRkkS.js index 9639da49..dbe9f6d6 100644 --- a/server/public/admin/assets/medicine-CQDW2OUZ.js +++ b/server/public/admin/assets/medicine-DezWRkkS.js @@ -1 +1 @@ -import{r as i}from"./index-CJvXnF8Y.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-BWzN7QIb.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/medicine-DuTFc2fi.js b/server/public/admin/assets/medicine-Qtk6jfZt.js similarity index 98% rename from server/public/admin/assets/medicine-DuTFc2fi.js rename to server/public/admin/assets/medicine-Qtk6jfZt.js index 1db13771..b6a96d33 100644 --- a/server/public/admin/assets/medicine-DuTFc2fi.js +++ b/server/public/admin/assets/medicine-Qtk6jfZt.js @@ -1 +1 @@ -import{o as N,ap as ie,q as _,r as U,v as l,D as a,b9 as re,b6 as ue,b7 as de,K as pe,L as r,ac as me,O as h,bj as ce,bk as ge,aa as fe,s as m,T as V,br as _e,bi as ve,bs as be,w as ye,u as L,cv as M,bg as we,bm as Ve,bn as ke,J as xe,bW as Ee,bc as Ce,bf as Ue,bt as he,M as g,ba as ze,p as z,e as Te}from"./.pnpm-9dA1PEvN.js";import{g as Be,i as p,_ as De}from"./index-CJvXnF8Y.js";import{a as Se,b as qe,c as Ie,m as Le}from"./medicine-CQDW2OUZ.js";const Me={class:"medicine-library"},Ne={class:"flex justify-between items-center"},Re={key:1,class:"text-gray-400"},je={class:"text-blue-600"},Fe={class:"text-green-600 font-medium"},Pe={class:"flex justify-end mt-4"},Ae=["src"],$e=N({name:"medicineLibrary"}),Oe=N({...$e,setup(We){const k=g(!1),x=g(!1),f=g(!1),y=g(),n=ze({page_no:1,page_size:20,name:"",supplier:""}),T=g([]),B=g(0),s=g({name:"",supplier:"",unit:"克",settlement_price:0,retail_price:0,stock:0,image:"",status:1,remark:""}),R={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"}]},j=z(()=>s.value.id?"编辑药品":"添加药品"),F=z(()=>"undefined/api/upload/image"),P=z(()=>({token:Be()})),D=o=>{if(o==null||o==="")return"0.00";const e=typeof o=="string"?parseFloat(o):o;return isNaN(e)?"0.00":e.toFixed(2)},A=o=>o===0?"danger":o<10?"warning":"success",E=()=>{v()},$=()=>{n.name="",n.supplier="",n.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},W=o=>{s.value={...o},f.value=!0},G=async o=>{try{await Te.confirm("确定要删除该药品吗?","提示",{type:"warning",confirmButtonText:"确定",cancelButtonText:"取消"}),await Se({id:o.id}),p.msgSuccess("删除成功"),v()}catch(e){e!=="cancel"&&p.msgError("删除失败")}},H=async()=>{y.value&&await y.value.validate(async o=>{if(o){x.value=!0;try{s.value.id?await qe(s.value):await Ie(s.value),p.msgSuccess("保存成功"),f.value=!1,v()}catch{p.msgError("保存失败")}finally{x.value=!1}}})},J=()=>{var o;(o=y.value)==null||o.resetFields()},K=o=>{const e=o.type.startsWith("image/"),w=o.size/1024/1024<2;return e?w?!0:(p.msgError("图片大小不能超过 2MB!"),!1):(p.msgError("只能上传图片文件!"),!1)},Q=o=>{var e;o.code===1&&((e=o.data)!=null&&e.url)?(s.value.image=o.data.url,p.msgSuccess("上传成功")):p.msgError(o.msg||"上传失败")},v=async()=>{k.value=!0;try{const o=await Le(n);T.value=o.lists||[],B.value=o.count||0}catch(o){console.error("加载数据失败:",o),p.msgError("加载数据失败")}finally{k.value=!1}};return ie(()=>{v()}),(o,e)=>{const w=ye,c=pe,b=de,i=ue,S=re,u=ge,X=fe,q=_e,Y=ce,Z=be,ee=we,d=ke,le=Ve,C=xe,te=Ee,I=Ue,ae=Ce,oe=he,se=ve;return _(),U("div",Me,[l(ee,{shadow:"never"},{header:a(()=>[m("div",Ne,[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(L(M))]),_:1}),e[14]||(e[14]=r(" 添加药品 ",-1))]),_:1})])]),default:a(()=>[l(S,{inline:"",class:"mb-4"},{default:a(()=>[l(i,{label:"药材名称"},{default:a(()=>[l(b,{modelValue:n.name,"onUpdate:modelValue":e[0]||(e[0]=t=>n.name=t),placeholder:"请输入药材名称",clearable:"",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),l(i,{label:"供应商"},{default:a(()=>[l(b,{modelValue:n.supplier,"onUpdate:modelValue":e[1]||(e[1]=t=>n.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]=[r("查询",-1)])]),_:1}),l(c,{onClick:$},{default:a(()=>[...e[17]||(e[17]=[r("重置",-1)])]),_:1})]),_:1})]),_:1}),me((_(),h(Y,{data:T.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",Re,"暂无图片"))]),_: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",je,V(D(t.settlement_price)),1)]),_:1}),l(u,{prop:"retail_price",label:"零售价(元)",width:"110",align:"right"},{default:a(({row:t})=>[m("span",Fe,V(D(t.retail_price)),1)]),_:1}),l(u,{prop:"stock",label:"库存",width:"100",align:"center"},{default:a(({row:t})=>[l(q,{type:A(t.stock),size:"small"},{default:a(()=>[r(V(t.stock||0),1)]),_:2},1032,["type"])]),_:1}),l(u,{prop:"status",label:"状态",width:"80",align:"center"},{default:a(({row:t})=>[l(q,{type:t.status===1?"success":"info",size:"small"},{default:a(()=>[r(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:ne=>W(t)},{default:a(()=>[...e[18]||(e[18]=[r("编辑",-1)])]),_:1},8,["onClick"]),l(c,{type:"danger",link:"",onClick:ne=>G(t)},{default:a(()=>[...e[19]||(e[19]=[r("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[se,k.value]]),m("div",Pe,[l(Z,{"current-page":n.page_no,"onUpdate:currentPage":e[2]||(e[2]=t=>n.page_no=t),"page-size":n.page_size,"onUpdate:pageSize":e[3]||(e[3]=t=>n.page_size=t),total:B.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:j.value,width:"600px","destroy-on-close":"",onClose:J},{footer:a(()=>[l(c,{onClick:e[12]||(e[12]=t=>f.value=!1)},{default:a(()=>[...e[25]||(e[25]=[r("取消",-1)])]),_:1}),l(c,{type:"primary",loading:x.value,onClick:H},{default:a(()=>[...e[26]||(e[26]=[r("确定",-1)])]),_:1},8,["loading"])]),default:a(()=>[l(S,{ref_key:"formRef",ref:y,model:s.value,rules:R,"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(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}),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:F.value,headers:P.value,"show-file-list":!1,"on-success":Q,"before-upload":K,accept:"image/*"},{default:a(()=>[s.value.image?(_(),U("img",{key:0,src:s.value.image,class:"medicine-image"},null,8,Ae)):(_(),h(w,{key:1,class:"medicine-uploader-icon"},{default:a(()=>[l(L(M))]),_: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(I,{label:1},{default:a(()=>[...e[23]||(e[23]=[r("启用",-1)])]),_:1}),l(I,{label:0},{default:a(()=>[...e[24]||(e[24]=[r("停用",-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"])])}}}),Ke=De(Oe,[["__scopeId","data-v-26913840"]]);export{Ke as default}; +import{o as N,ap as ie,q as _,r as U,v as l,D as a,b9 as re,b6 as ue,b7 as de,K as pe,L as r,ac as me,O as h,bj as ce,bk as ge,aa as fe,s as m,T as V,br as _e,bi as ve,bs as be,w as ye,u as L,cv as M,bg as we,bm as Ve,bn as ke,J as xe,bW as Ee,bc as Ce,bf as Ue,bt as he,M as g,ba as ze,p as z,e as Te}from"./.pnpm-9dA1PEvN.js";import{g as Be,i as p,_ as De}from"./index-BWzN7QIb.js";import{a as Se,b as qe,c as Ie,m as Le}from"./medicine-DezWRkkS.js";const Me={class:"medicine-library"},Ne={class:"flex justify-between items-center"},Re={key:1,class:"text-gray-400"},je={class:"text-blue-600"},Fe={class:"text-green-600 font-medium"},Pe={class:"flex justify-end mt-4"},Ae=["src"],$e=N({name:"medicineLibrary"}),Oe=N({...$e,setup(We){const k=g(!1),x=g(!1),f=g(!1),y=g(),n=ze({page_no:1,page_size:20,name:"",supplier:""}),T=g([]),B=g(0),s=g({name:"",supplier:"",unit:"克",settlement_price:0,retail_price:0,stock:0,image:"",status:1,remark:""}),R={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"}]},j=z(()=>s.value.id?"编辑药品":"添加药品"),F=z(()=>"undefined/api/upload/image"),P=z(()=>({token:Be()})),D=o=>{if(o==null||o==="")return"0.00";const e=typeof o=="string"?parseFloat(o):o;return isNaN(e)?"0.00":e.toFixed(2)},A=o=>o===0?"danger":o<10?"warning":"success",E=()=>{v()},$=()=>{n.name="",n.supplier="",n.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},W=o=>{s.value={...o},f.value=!0},G=async o=>{try{await Te.confirm("确定要删除该药品吗?","提示",{type:"warning",confirmButtonText:"确定",cancelButtonText:"取消"}),await Se({id:o.id}),p.msgSuccess("删除成功"),v()}catch(e){e!=="cancel"&&p.msgError("删除失败")}},H=async()=>{y.value&&await y.value.validate(async o=>{if(o){x.value=!0;try{s.value.id?await qe(s.value):await Ie(s.value),p.msgSuccess("保存成功"),f.value=!1,v()}catch{p.msgError("保存失败")}finally{x.value=!1}}})},J=()=>{var o;(o=y.value)==null||o.resetFields()},K=o=>{const e=o.type.startsWith("image/"),w=o.size/1024/1024<2;return e?w?!0:(p.msgError("图片大小不能超过 2MB!"),!1):(p.msgError("只能上传图片文件!"),!1)},Q=o=>{var e;o.code===1&&((e=o.data)!=null&&e.url)?(s.value.image=o.data.url,p.msgSuccess("上传成功")):p.msgError(o.msg||"上传失败")},v=async()=>{k.value=!0;try{const o=await Le(n);T.value=o.lists||[],B.value=o.count||0}catch(o){console.error("加载数据失败:",o),p.msgError("加载数据失败")}finally{k.value=!1}};return ie(()=>{v()}),(o,e)=>{const w=ye,c=pe,b=de,i=ue,S=re,u=ge,X=fe,q=_e,Y=ce,Z=be,ee=we,d=ke,le=Ve,C=xe,te=Ee,I=Ue,ae=Ce,oe=he,se=ve;return _(),U("div",Me,[l(ee,{shadow:"never"},{header:a(()=>[m("div",Ne,[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(L(M))]),_:1}),e[14]||(e[14]=r(" 添加药品 ",-1))]),_:1})])]),default:a(()=>[l(S,{inline:"",class:"mb-4"},{default:a(()=>[l(i,{label:"药材名称"},{default:a(()=>[l(b,{modelValue:n.name,"onUpdate:modelValue":e[0]||(e[0]=t=>n.name=t),placeholder:"请输入药材名称",clearable:"",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),l(i,{label:"供应商"},{default:a(()=>[l(b,{modelValue:n.supplier,"onUpdate:modelValue":e[1]||(e[1]=t=>n.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]=[r("查询",-1)])]),_:1}),l(c,{onClick:$},{default:a(()=>[...e[17]||(e[17]=[r("重置",-1)])]),_:1})]),_:1})]),_:1}),me((_(),h(Y,{data:T.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",Re,"暂无图片"))]),_: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",je,V(D(t.settlement_price)),1)]),_:1}),l(u,{prop:"retail_price",label:"零售价(元)",width:"110",align:"right"},{default:a(({row:t})=>[m("span",Fe,V(D(t.retail_price)),1)]),_:1}),l(u,{prop:"stock",label:"库存",width:"100",align:"center"},{default:a(({row:t})=>[l(q,{type:A(t.stock),size:"small"},{default:a(()=>[r(V(t.stock||0),1)]),_:2},1032,["type"])]),_:1}),l(u,{prop:"status",label:"状态",width:"80",align:"center"},{default:a(({row:t})=>[l(q,{type:t.status===1?"success":"info",size:"small"},{default:a(()=>[r(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:ne=>W(t)},{default:a(()=>[...e[18]||(e[18]=[r("编辑",-1)])]),_:1},8,["onClick"]),l(c,{type:"danger",link:"",onClick:ne=>G(t)},{default:a(()=>[...e[19]||(e[19]=[r("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[se,k.value]]),m("div",Pe,[l(Z,{"current-page":n.page_no,"onUpdate:currentPage":e[2]||(e[2]=t=>n.page_no=t),"page-size":n.page_size,"onUpdate:pageSize":e[3]||(e[3]=t=>n.page_size=t),total:B.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:j.value,width:"600px","destroy-on-close":"",onClose:J},{footer:a(()=>[l(c,{onClick:e[12]||(e[12]=t=>f.value=!1)},{default:a(()=>[...e[25]||(e[25]=[r("取消",-1)])]),_:1}),l(c,{type:"primary",loading:x.value,onClick:H},{default:a(()=>[...e[26]||(e[26]=[r("确定",-1)])]),_:1},8,["loading"])]),default:a(()=>[l(S,{ref_key:"formRef",ref:y,model:s.value,rules:R,"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(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}),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:F.value,headers:P.value,"show-file-list":!1,"on-success":Q,"before-upload":K,accept:"image/*"},{default:a(()=>[s.value.image?(_(),U("img",{key:0,src:s.value.image,class:"medicine-image"},null,8,Ae)):(_(),h(w,{key:1,class:"medicine-uploader-icon"},{default:a(()=>[l(L(M))]),_: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(I,{label:1},{default:a(()=>[...e[23]||(e[23]=[r("启用",-1)])]),_:1}),l(I,{label:0},{default:a(()=>[...e[24]||(e[24]=[r("停用",-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"])])}}}),Ke=De(Oe,[["__scopeId","data-v-26913840"]]);export{Ke as default}; diff --git a/server/public/admin/assets/menu-lqnhNdb-.js b/server/public/admin/assets/menu-D4Nepi0v.js similarity index 71% rename from server/public/admin/assets/menu-lqnhNdb-.js rename to server/public/admin/assets/menu-D4Nepi0v.js index 6a4b96e3..06dcd7c7 100644 --- a/server/public/admin/assets/menu-lqnhNdb-.js +++ b/server/public/admin/assets/menu-D4Nepi0v.js @@ -1 +1 @@ -import{_ as b}from"./index-bkWlwzQZ.js";import{o as p,be as x,q as n,r as w,v as e,D as o,bh as k,bg as C,s as l,ac as c,O as _,K as g,u as i,L as m}from"./.pnpm-9dA1PEvN.js";import O from"./oa-attr-D3MgAWVR.js";import y from"./oa-phone-CNPKAucR.js";import{u as B}from"./useMenuOa-BFbr--hk.js";import{_ as M}from"./index-CJvXnF8Y.js";import"./index-CAGpCz28.js";import"./index-BBemoNXE.js";import"./oa-menu-form.vue_vue_type_script_setup_true_lang-BB4f-rQm.js";import"./oa-menu-form-edit.vue_vue_type_script_setup_true_lang-CkeqElON.js";import"./wx_oa-DPme7qiY.js";const E={class:"menu-oa"},D={class:"lg:flex flex-1"},N={class:"mt-4 lg:mt-0 max-w-[400px]"},V=p({name:"wxOaMenu"}),A=p({...V,setup(P){const{getOaMenuFunc:d,handleSave:u,handlePublish:f}=B(void 0);return d(),(q,t)=>{const v=k,s=C,a=g,h=b,r=x("perms");return n(),w("div",E,[e(s,{class:"!border-none",shadow:"never"},{default:o(()=>[e(v,{type:"warning",title:"配置微信公众号菜单,点击确认,保存菜单并发布至微信公众号",closable:!1,"show-icon":""})]),_:1}),e(s,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[l("div",D,[e(y),l("div",N,[e(O)])])]),_:1}),e(h,null,{default:o(()=>[c((n(),_(a,{type:"primary",onClick:i(u)},{default:o(()=>[...t[0]||(t[0]=[m(" 保存 ",-1)])]),_:1},8,["onClick"])),[[r,["channel:oaMenu:save"]]]),c((n(),_(a,{type:"primary",onClick:i(f)},{default:o(()=>[...t[1]||(t[1]=[m(" 发布 ",-1)])]),_:1},8,["onClick"])),[[r,["channel:oaMenu:publish"]]])]),_:1})])}}}),Q=M(A,[["__scopeId","data-v-681915d2"]]);export{Q as default}; +import{_ as b}from"./index-DZiQLFzx.js";import{o as p,be as x,q as n,r as w,v as e,D as o,bh as k,bg as C,s as l,ac as c,O as _,K as g,u as i,L as m}from"./.pnpm-9dA1PEvN.js";import O from"./oa-attr-BBBq3k_L.js";import y from"./oa-phone-ByOKZQ9J.js";import{u as B}from"./useMenuOa-oN_qEEoR.js";import{_ as M}from"./index-BWzN7QIb.js";import"./index-fA0EWEUO.js";import"./index-dYaCh-CN.js";import"./oa-menu-form.vue_vue_type_script_setup_true_lang-CgD51k0c.js";import"./oa-menu-form-edit.vue_vue_type_script_setup_true_lang-Bb7TFRYY.js";import"./wx_oa-HhzP-R8g.js";const E={class:"menu-oa"},D={class:"lg:flex flex-1"},N={class:"mt-4 lg:mt-0 max-w-[400px]"},V=p({name:"wxOaMenu"}),A=p({...V,setup(P){const{getOaMenuFunc:d,handleSave:u,handlePublish:f}=B(void 0);return d(),(q,t)=>{const v=k,s=C,a=g,h=b,r=x("perms");return n(),w("div",E,[e(s,{class:"!border-none",shadow:"never"},{default:o(()=>[e(v,{type:"warning",title:"配置微信公众号菜单,点击确认,保存菜单并发布至微信公众号",closable:!1,"show-icon":""})]),_:1}),e(s,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[l("div",D,[e(y),l("div",N,[e(O)])])]),_:1}),e(h,null,{default:o(()=>[c((n(),_(a,{type:"primary",onClick:i(u)},{default:o(()=>[...t[0]||(t[0]=[m(" 保存 ",-1)])]),_:1},8,["onClick"])),[[r,["channel:oaMenu:save"]]]),c((n(),_(a,{type:"primary",onClick:i(f)},{default:o(()=>[...t[1]||(t[1]=[m(" 发布 ",-1)])]),_:1},8,["onClick"])),[[r,["channel:oaMenu:publish"]]])]),_:1})])}}}),Q=M(A,[["__scopeId","data-v-681915d2"]]);export{Q as default}; diff --git a/server/public/admin/assets/menu-DVBnPCFw.js b/server/public/admin/assets/menu-DRrdTmPN.js similarity index 86% rename from server/public/admin/assets/menu-DVBnPCFw.js rename to server/public/admin/assets/menu-DRrdTmPN.js index e491e786..1023d000 100644 --- a/server/public/admin/assets/menu-DVBnPCFw.js +++ b/server/public/admin/assets/menu-DRrdTmPN.js @@ -1 +1 @@ -import{r as t}from"./index-CJvXnF8Y.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-BWzN7QIb.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-CnChKOxc.js b/server/public/admin/assets/menu-DpE-frsg.js similarity index 91% rename from server/public/admin/assets/menu-CnChKOxc.js rename to server/public/admin/assets/menu-DpE-frsg.js index 6d235437..652c28b8 100644 --- a/server/public/admin/assets/menu-CnChKOxc.js +++ b/server/public/admin/assets/menu-DpE-frsg.js @@ -1 +1 @@ -import{o as i,q as e,r as s,v as _,ak as p,D as o,F as f,G as x,O as V,s as h,T as k,ai as v}from"./.pnpm-9dA1PEvN.js";import{_ as g}from"./index-CJvXnF8Y.js";const y={class:"pages-menu"},B=i({__name:"menu",props:{menus:{type:Object,default:()=>({})},modelValue:{type:String,default:"1"}},emits:["update:modelValue"],setup(t,{emit:l}){const c=l,u=a=>{c("update:modelValue",a)};return(a,S)=>{const m=v,d=p;return e(),s("div",y,[_(d,{"default-active":t.modelValue,class:"w-[160px] min-h-[668px]",onSelect:u},{default:o(()=>[(e(!0),s(f,null,x(t.menus,(n,r)=>(e(),V(m,{index:r,key:n.id},{default:o(()=>[h("span",null,k(n.name),1)]),_:2},1032,["index"]))),128))]),_:1},8,["default-active"])])}}}),w=g(B,[["__scopeId","data-v-2f7567ae"]]);export{w as default}; +import{o as i,q as e,r as s,v as _,ak as p,D as o,F as f,G as x,O as V,s as h,T as k,ai as v}from"./.pnpm-9dA1PEvN.js";import{_ as g}from"./index-BWzN7QIb.js";const y={class:"pages-menu"},B=i({__name:"menu",props:{menus:{type:Object,default:()=>({})},modelValue:{type:String,default:"1"}},emits:["update:modelValue"],setup(t,{emit:l}){const c=l,u=a=>{c("update:modelValue",a)};return(a,S)=>{const m=v,d=p;return e(),s("div",y,[_(d,{"default-active":t.modelValue,class:"w-[160px] min-h-[668px]",onSelect:u},{default:o(()=>[(e(!0),s(f,null,x(t.menus,(n,r)=>(e(),V(m,{index:r,key:n.id},{default:o(()=>[h("span",null,k(n.name),1)]),_:2},1032,["index"]))),128))]),_:1},8,["default-active"])])}}}),w=g(B,[["__scopeId","data-v-2f7567ae"]]);export{w as default}; diff --git a/server/public/admin/assets/menu-set-D-kX2Smh.js b/server/public/admin/assets/menu-set-D-kX2Smh.js new file mode 100644 index 00000000..ce69f07a --- /dev/null +++ b/server/public/admin/assets/menu-set-D-kX2Smh.js @@ -0,0 +1 @@ +import{_ as o}from"./menu-set.vue_vue_type_script_setup_true_lang-BCI1sZUg.js";import"./.pnpm-9dA1PEvN.js";import"./index-fA0EWEUO.js";import"./index-BWzN7QIb.js";import"./picker-CUH4oSOm.js";import"./index-dYaCh-CN.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-CGwMRNkL.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DfI3CPnQ.js";import"./index-xDQ_OZln.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";export{o as default}; diff --git a/server/public/admin/assets/menu-set-D_5Uag3N.js b/server/public/admin/assets/menu-set-D_5Uag3N.js deleted file mode 100644 index 8e7ef56d..00000000 --- a/server/public/admin/assets/menu-set-D_5Uag3N.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./menu-set.vue_vue_type_script_setup_true_lang-DYVX6ffe.js";import"./.pnpm-9dA1PEvN.js";import"./index-CAGpCz28.js";import"./index-CJvXnF8Y.js";import"./picker-zZfe7WrS.js";import"./index-BBemoNXE.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-BioaiRdh.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DWQ_BAep.js";import"./index-CY1mb9yY.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";export{o as default}; diff --git a/server/public/admin/assets/menu-set.vue_vue_type_script_setup_true_lang-DYVX6ffe.js b/server/public/admin/assets/menu-set.vue_vue_type_script_setup_true_lang-BCI1sZUg.js similarity index 94% rename from server/public/admin/assets/menu-set.vue_vue_type_script_setup_true_lang-DYVX6ffe.js rename to server/public/admin/assets/menu-set.vue_vue_type_script_setup_true_lang-BCI1sZUg.js index 6ff09079..d9fac2cd 100644 --- a/server/public/admin/assets/menu-set.vue_vue_type_script_setup_true_lang-DYVX6ffe.js +++ b/server/public/admin/assets/menu-set.vue_vue_type_script_setup_true_lang-BCI1sZUg.js @@ -1 +1 @@ -import{o as D,q as n,r as z,s as d,v as a,D as o,O as m,b6 as B,P as c,b7 as $,I as N,C as F,u as r,bQ as I,K as P,L as R,F as q,p as A,cm as K}from"./.pnpm-9dA1PEvN.js";import{_ as L}from"./index-CAGpCz28.js";import{_ as O}from"./picker-zZfe7WrS.js";import{_ as Q}from"./picker-DWQ_BAep.js";import{c as S,i as x}from"./index-CJvXnF8Y.js";const T={class:"mb-[18px] max-w-[400px]"},j={class:"bg-fill-light w-full p-4 mt-4"},G={class:"upload-btn w-[60px] h-[60px]"},H={class:"upload-btn w-[60px] h-[60px]"},J={class:"flex-1 flex items-center"},M={class:"drag-move cursor-move ml-auto"},le=D({__name:"menu-set",props:{modelValue:{},max:{default:9999},min:{default:-1},itemData:{default:()=>({name:"",selected:"",unselected:"",is_show:"1",link:{}})}},emits:["update:modelValue"],setup(V,{emit:v}){const u=V,g=v,t=A({get(){return u.modelValue},set(i){g("update:modelValue",i)}}),k=()=>{var i;((i=t.value)==null?void 0:i.length){if(t.value.length<=u.min&&u.min>-1)return x.msgError(`最少保留${u.min}个`);t.value.splice(i,1)};return(i,s)=>{const _=S,f=Q,p=B,h=$,w=O,y=N,U=L,C=P;return n(),z(q,null,[d("div",T,[a(r(I),{class:"draggable",modelValue:r(t),"onUpdate:modelValue":s[0]||(s[0]=e=>F(t)?t.value=e:null),animation:"300",handle:".drag-move","item-key":"index"},{item:o(({element:e,index:E})=>[a(U,{onClose:l=>b(E),class:"max-w-[400px]"},{default:o(()=>[d("div",j,[e.unselected!==void 0||e.selected!==void 0?(n(),m(p,{key:0,label:"导航图标"},{default:o(()=>[e.unselected!==void 0?(n(),m(f,{key:0,modelValue:e.unselected,"onUpdate:modelValue":l=>e.unselected=l,"upload-class":"bg-body","exclude-domain":"",size:"60px"},{upload:o(()=>[d("div",G,[a(_,{name:"el-icon-Plus",size:16}),s[1]||(s[1]=d("span",{class:"text-xs leading-5"}," 未选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"])):c("",!0),e.selected!==void 0?(n(),m(f,{key:1,modelValue:e.selected,"onUpdate:modelValue":l=>e.selected=l,"upload-class":"bg-body","exclude-domain":"",size:"60px"},{upload:o(()=>[d("div",H,[a(_,{name:"el-icon-Plus",size:16}),s[2]||(s[2]=d("span",{class:"text-xs leading-5"}," 选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"])):c("",!0)]),_:2},1024)):c("",!0),e.name!==void 0?(n(),m(p,{key:1,label:"导航名称"},{default:o(()=>[a(h,{modelValue:e.name,"onUpdate:modelValue":l=>e.name=l,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)):c("",!0),e.link!==void 0?(n(),m(p,{key:2,label:"链接地址"},{default:o(()=>[a(w,{modelValue:e.link,"onUpdate:modelValue":l=>e.link=l,type:"pc"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)):c("",!0),e.is_show!==void 0?(n(),m(p,{key:3,label:"是否显示"},{default:o(()=>[d("div",J,[a(y,{modelValue:e.is_show,"onUpdate:modelValue":l=>e.is_show=l,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),d("div",M,[a(_,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)):c("",!0)])]),_:2},1032,["onClose"])]),_:1},8,["modelValue"])]),r(t).length[a(C,{type:"primary",onClick:k},{default:o(()=>[...s[3]||(s[3]=[R(" 添加导航 ",-1)])]),_:1})]),_:1})):c("",!0)],64)}}});export{le as _}; +import{o as D,q as n,r as z,s as d,v as a,D as o,O as m,b6 as B,P as c,b7 as $,I as N,C as F,u as r,bQ as I,K as P,L as R,F as q,p as A,cm as K}from"./.pnpm-9dA1PEvN.js";import{_ as L}from"./index-fA0EWEUO.js";import{_ as O}from"./picker-CUH4oSOm.js";import{_ as Q}from"./picker-DfI3CPnQ.js";import{c as S,i as x}from"./index-BWzN7QIb.js";const T={class:"mb-[18px] max-w-[400px]"},j={class:"bg-fill-light w-full p-4 mt-4"},G={class:"upload-btn w-[60px] h-[60px]"},H={class:"upload-btn w-[60px] h-[60px]"},J={class:"flex-1 flex items-center"},M={class:"drag-move cursor-move ml-auto"},le=D({__name:"menu-set",props:{modelValue:{},max:{default:9999},min:{default:-1},itemData:{default:()=>({name:"",selected:"",unselected:"",is_show:"1",link:{}})}},emits:["update:modelValue"],setup(V,{emit:v}){const u=V,g=v,t=A({get(){return u.modelValue},set(i){g("update:modelValue",i)}}),k=()=>{var i;((i=t.value)==null?void 0:i.length){if(t.value.length<=u.min&&u.min>-1)return x.msgError(`最少保留${u.min}个`);t.value.splice(i,1)};return(i,s)=>{const _=S,f=Q,p=B,h=$,w=O,y=N,U=L,C=P;return n(),z(q,null,[d("div",T,[a(r(I),{class:"draggable",modelValue:r(t),"onUpdate:modelValue":s[0]||(s[0]=e=>F(t)?t.value=e:null),animation:"300",handle:".drag-move","item-key":"index"},{item:o(({element:e,index:E})=>[a(U,{onClose:l=>b(E),class:"max-w-[400px]"},{default:o(()=>[d("div",j,[e.unselected!==void 0||e.selected!==void 0?(n(),m(p,{key:0,label:"导航图标"},{default:o(()=>[e.unselected!==void 0?(n(),m(f,{key:0,modelValue:e.unselected,"onUpdate:modelValue":l=>e.unselected=l,"upload-class":"bg-body","exclude-domain":"",size:"60px"},{upload:o(()=>[d("div",G,[a(_,{name:"el-icon-Plus",size:16}),s[1]||(s[1]=d("span",{class:"text-xs leading-5"}," 未选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"])):c("",!0),e.selected!==void 0?(n(),m(f,{key:1,modelValue:e.selected,"onUpdate:modelValue":l=>e.selected=l,"upload-class":"bg-body","exclude-domain":"",size:"60px"},{upload:o(()=>[d("div",H,[a(_,{name:"el-icon-Plus",size:16}),s[2]||(s[2]=d("span",{class:"text-xs leading-5"}," 选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"])):c("",!0)]),_:2},1024)):c("",!0),e.name!==void 0?(n(),m(p,{key:1,label:"导航名称"},{default:o(()=>[a(h,{modelValue:e.name,"onUpdate:modelValue":l=>e.name=l,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)):c("",!0),e.link!==void 0?(n(),m(p,{key:2,label:"链接地址"},{default:o(()=>[a(w,{modelValue:e.link,"onUpdate:modelValue":l=>e.link=l,type:"pc"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)):c("",!0),e.is_show!==void 0?(n(),m(p,{key:3,label:"是否显示"},{default:o(()=>[d("div",J,[a(y,{modelValue:e.is_show,"onUpdate:modelValue":l=>e.is_show=l,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),d("div",M,[a(_,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)):c("",!0)])]),_:2},1032,["onClose"])]),_:1},8,["modelValue"])]),r(t).length[a(C,{type:"primary",onClick:k},{default:o(()=>[...s[3]||(s[3]=[R(" 添加导航 ",-1)])]),_:1})]),_:1})):c("",!0)],64)}}});export{le as _}; diff --git a/server/public/admin/assets/message-BBZN4J7d.js b/server/public/admin/assets/message-DUkl0jbI.js similarity index 87% rename from server/public/admin/assets/message-BBZN4J7d.js rename to server/public/admin/assets/message-DUkl0jbI.js index ce01f620..0324fb08 100644 --- a/server/public/admin/assets/message-BBZN4J7d.js +++ b/server/public/admin/assets/message-DUkl0jbI.js @@ -1 +1 @@ -import{r as n}from"./index-CJvXnF8Y.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-BWzN7QIb.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-Cp3TKwjW.js b/server/public/admin/assets/mobile-style-BD-Gd02X.js similarity index 50% rename from server/public/admin/assets/mobile-style-Cp3TKwjW.js rename to server/public/admin/assets/mobile-style-BD-Gd02X.js index fd3dea1d..c7a1a032 100644 --- a/server/public/admin/assets/mobile-style-Cp3TKwjW.js +++ b/server/public/admin/assets/mobile-style-BD-Gd02X.js @@ -1 +1 @@ -import{_ as o}from"./mobile-style.vue_vue_type_script_setup_true_lang-D1NvJWvN.js";import"./.pnpm-9dA1PEvN.js";import"./index.vue_vue_type_script_setup_true_lang-DNrIEWkc.js";import"./theme-picker-BJjcYG0m.js";import"./index-CJvXnF8Y.js";export{o as default}; +import{_ as o}from"./mobile-style.vue_vue_type_script_setup_true_lang-D6I9IOXQ.js";import"./.pnpm-9dA1PEvN.js";import"./index.vue_vue_type_script_setup_true_lang-DNrIEWkc.js";import"./theme-picker-B0Vl2QAG.js";import"./index-BWzN7QIb.js";export{o as default}; diff --git a/server/public/admin/assets/mobile-style.vue_vue_type_script_setup_true_lang-D1NvJWvN.js b/server/public/admin/assets/mobile-style.vue_vue_type_script_setup_true_lang-D6I9IOXQ.js similarity index 98% rename from server/public/admin/assets/mobile-style.vue_vue_type_script_setup_true_lang-D1NvJWvN.js rename to server/public/admin/assets/mobile-style.vue_vue_type_script_setup_true_lang-D6I9IOXQ.js index e02659dd..62c19378 100644 --- a/server/public/admin/assets/mobile-style.vue_vue_type_script_setup_true_lang-D1NvJWvN.js +++ b/server/public/admin/assets/mobile-style.vue_vue_type_script_setup_true_lang-D6I9IOXQ.js @@ -1 +1 @@ -import{o as k,cn as B,q as m,O as g,D as n,s as o,v as t,b6 as D,u as e,bc as y,bf as E,L as C,P as i,r as d,b9 as I,M as N}from"./.pnpm-9dA1PEvN.js";import{_ as T}from"./index.vue_vue_type_script_setup_true_lang-DNrIEWkc.js";import q from"./theme-picker-BJjcYG0m.js";const z="/admin/assets/blue1-gLOo1H0w.png",P="/admin/assets/blue2-CRQPdLZd.png",U="/admin/assets/blue3-D3K9OqGO.png",L="/admin/assets/green1-h1zqes95.png",O="/admin/assets/green2-C-VRKLSN.png",R="/admin/assets/green3-CPorIQiC.png",W="/admin/assets/purple1-BpMq9FWz.png",G="/admin/assets/purple2-C0tQkldV.png",K="/admin/assets/purple3-BGd0LxTa.png",M="/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",S="/admin/assets/red2-Dw8p71sP.png",Y="/admin/assets/red3-NOuWP8DK.png",H="/admin/assets/pink1-BWNZrP7C.png",J="/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"},rl=k({__name:"mobile-style",props:{modelValue:{}},emits:["update:modelValue"],setup(_,{emit:f}){const w=_,b=N([{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"}]),v=f,F=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=B(w,"modelValue",v);return(a,l)=>{const p=D,u=E,c=y,x=T,V=I;return m(),g(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(q,{modelValue:e(s).themeColorId,"onUpdate:modelValue":l[0]||(l[0]=r=>e(s).themeColorId=r),"theme-colors":e(b),onChange:F},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(c,{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(),g(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(c,{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:z},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:P},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:U},null,-1)])])):i("",!0),e(s).themeColorId==2?(m(),d("div",X,[...l[16]||(l[16]=[o("img",{class:"w-[200px]",src:L},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:O},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:R},null,-1)])])):i("",!0),e(s).themeColorId==3?(m(),d("div",h,[...l[17]||(l[17]=[o("img",{class:"w-[200px]",src:W},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:G},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:K},null,-1)])])):i("",!0),e(s).themeColorId==4?(m(),d("div",ll,[...l[18]||(l[18]=[o("img",{class:"w-[200px]",src:M},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:S},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:Y},null,-1)])])):i("",!0),e(s).themeColorId==6?(m(),d("div",sl,[...l[20]||(l[20]=[o("img",{class:"w-[200px]",src:H},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:J},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:$},null,-1)])])):i("",!0)])]),_:1})}}});export{rl as _}; +import{o as k,cn as B,q as m,O as g,D as n,s as o,v as t,b6 as D,u as e,bc as y,bf as E,L as C,P as i,r as d,b9 as I,M as N}from"./.pnpm-9dA1PEvN.js";import{_ as T}from"./index.vue_vue_type_script_setup_true_lang-DNrIEWkc.js";import q from"./theme-picker-B0Vl2QAG.js";const z="/admin/assets/blue1-gLOo1H0w.png",P="/admin/assets/blue2-CRQPdLZd.png",U="/admin/assets/blue3-D3K9OqGO.png",L="/admin/assets/green1-h1zqes95.png",O="/admin/assets/green2-C-VRKLSN.png",R="/admin/assets/green3-CPorIQiC.png",W="/admin/assets/purple1-BpMq9FWz.png",G="/admin/assets/purple2-C0tQkldV.png",K="/admin/assets/purple3-BGd0LxTa.png",M="/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",S="/admin/assets/red2-Dw8p71sP.png",Y="/admin/assets/red3-NOuWP8DK.png",H="/admin/assets/pink1-BWNZrP7C.png",J="/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"},rl=k({__name:"mobile-style",props:{modelValue:{}},emits:["update:modelValue"],setup(_,{emit:f}){const w=_,b=N([{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"}]),v=f,F=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=B(w,"modelValue",v);return(a,l)=>{const p=D,u=E,c=y,x=T,V=I;return m(),g(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(q,{modelValue:e(s).themeColorId,"onUpdate:modelValue":l[0]||(l[0]=r=>e(s).themeColorId=r),"theme-colors":e(b),onChange:F},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(c,{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(),g(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(c,{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:z},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:P},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:U},null,-1)])])):i("",!0),e(s).themeColorId==2?(m(),d("div",X,[...l[16]||(l[16]=[o("img",{class:"w-[200px]",src:L},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:O},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:R},null,-1)])])):i("",!0),e(s).themeColorId==3?(m(),d("div",h,[...l[17]||(l[17]=[o("img",{class:"w-[200px]",src:W},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:G},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:K},null,-1)])])):i("",!0),e(s).themeColorId==4?(m(),d("div",ll,[...l[18]||(l[18]=[o("img",{class:"w-[200px]",src:M},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:S},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:Y},null,-1)])])):i("",!0),e(s).themeColorId==6?(m(),d("div",sl,[...l[20]||(l[20]=[o("img",{class:"w-[200px]",src:H},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:J},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:$},null,-1)])])):i("",!0)])]),_:1})}}});export{rl as _}; diff --git a/server/public/admin/assets/mubiao-BGZZf6rJ.js b/server/public/admin/assets/mubiao-Co5R-nvh.js similarity index 97% rename from server/public/admin/assets/mubiao-BGZZf6rJ.js rename to server/public/admin/assets/mubiao-Co5R-nvh.js index 20c21c5e..ab8e87ec 100644 --- a/server/public/admin/assets/mubiao-BGZZf6rJ.js +++ b/server/public/admin/assets/mubiao-Co5R-nvh.js @@ -1 +1 @@ -import{o as z,M as m,ap as O,be as U,q as i,r as v,s as a,v as o,D as r,u as g,cL as W,w as j,L as y,bp as H,T as b,by as B,K as J,ac as I,O as S,cM as Q,bi as X,cN as Z,F as T,G as F,ax as ee,p as L}from"./.pnpm-9dA1PEvN.js";import V from"./mubiao-dept-card-DnAz5kmW.js";import{d as te,i as ae}from"./finance-BJtj-zFw.js";import{i as Y,_ as le}from"./index-CJvXnF8Y.js";const ne={class:"mubiao-page"},oe={class:"toolbar"},se={class:"toolbar__left"},ie={class:"toolbar__icon"},re={class:"toolbar__center"},de={class:"month-picker-wrap"},ue={class:"toolbar__right"},ce={class:"summary-strip"},_e={class:"summary-item"},me={class:"summary-item__val"},pe={class:"summary-item"},ve={class:"summary-item__val primary"},fe={"element-loading-text":"数据加载中…",class:"board-wrap"},he={key:0,class:"empty-state"},ge={class:"empty-state__icon"},ye={class:"empty-state__title"},be={class:"empty-state__desc"},ke={key:1,class:"board-grid"},we=z({name:"financeMubiao"}),Me=z({...we,setup(Se){function k(e){const t={dept_id:Number(e.dept_id??0),dept_name:String(e.dept_name??""),dept_path:String(e.dept_path??""),target_id:Number(e.target_id??0),target_amount:Number(e.target_amount??0),remark:String(e.remark??"")},l=e.children;return Array.isArray(l)&&l.length>0&&(t.children=l.map(k)),t}function x(e){var l;let t=0;for(const n of e)t+=Number(n.target_amount??0),(l=n.children)!=null&&l.length&&(t+=x(n.children));return Math.round(t*100)/100}function C(e){var l;let t=0;for(const n of e)t+=1,(l=n.children)!=null&&l.length&&(t+=C(n.children));return t}function D(e){var l;const t=[];for(const n of e)t.push({dept_id:n.dept_id,target_amount:Number(n.target_amount??0),remark:n.remark||""}),(l=n.children)!=null&&l.length&&t.push(...D(n.children));return t}function E(){const e=new Date;return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}`}function P(e){return e>=1e4?(e/1e4).toFixed(1)+"w":e.toLocaleString("zh-CN",{maximumFractionDigits:0})}const d=m(E()),p=m(!1),w=m(!1),u=m([]),f=m(!1),s=m([]),_=m(null),$=L(()=>x(u.value)),A=L(()=>C(u.value));function N(e){if(s.value.some(t=>t.dept_id===e.dept_id)){_.value=e.dept_id;return}s.value.push(e),_.value=e.dept_id}function G(e){const t=s.value.findIndex(l=>l.dept_id===e);t!==-1&&s.value.splice(t),_.value=s.value.length>0?s.value[s.value.length-1].dept_id:null}async function h(){if(d.value){p.value=!0,s.value=[],_.value=null;try{const e=await te({year_month:d.value});u.value=((e==null?void 0:e.rows)||[]).map(k),f.value=!!(e!=null&&e.data_scope_limited)}catch{u.value=[],f.value=!1}finally{p.value=!1}}}async function R(){if(!d.value){Y.msgWarning("请选择月份");return}await Y.confirm("确认保存「"+d.value+"」各部门业绩目标?"),w.value=!0;try{const e=await ae({year_month:d.value,items:D(u.value)});e!=null&&e.rows?(u.value=e.rows.map(k),f.value=!!(e!=null&&e.data_scope_limited),s.value=[],_.value=null):await h()}finally{w.value=!1}}return O(h),(e,t)=>{const l=j,n=H,M=J,q=U("perms"),K=X;return i(),v("div",ne,[a("div",oe,[a("div",se,[a("div",ie,[o(l,null,{default:r(()=>[o(g(W))]),_:1})]),t[1]||(t[1]=a("div",null,[a("div",{class:"toolbar__title"},"制定业绩目标"),a("div",{class:"toolbar__desc"},[y(" 按部门设置每月销售目标,填 0 并保存将删除该记录。列表按当前账号 "),a("strong",null,"角色数据权限"),y(" 仅展示"),a("strong",null,"本部门及下级"),y("(不展示权限外的上级组织;口径与业绩看板数据范围一致)。 ")])],-1))]),a("div",re,[a("div",de,[t[2]||(t[2]=a("span",{class:"month-picker-wrap__label"},"目标月份",-1)),o(n,{modelValue:d.value,"onUpdate:modelValue":t[0]||(t[0]=c=>d.value=c),type:"month","value-format":"YYYY-MM",placeholder:"选择月份",clearable:!1,size:"default",class:"month-picker",onChange:h},null,8,["modelValue"])])]),a("div",ue,[a("div",ce,[a("div",_e,[a("span",me,b(A.value),1),t[3]||(t[3]=a("span",{class:"summary-item__label"},"部门",-1))]),t[5]||(t[5]=a("div",{class:"summary-divider"},null,-1)),a("div",pe,[a("span",ve,"¥"+b(P($.value)),1),t[4]||(t[4]=a("span",{class:"summary-item__label"},"目标合计",-1))])]),o(M,{circle:"",loading:p.value,onClick:h,title:"刷新"},{default:r(()=>[o(l,null,{default:r(()=>[o(g(B))]),_:1})]),_:1},8,["loading"]),I((i(),S(M,{type:"primary",loading:w.value,disabled:p.value||!d.value,onClick:R},{default:r(()=>[o(l,null,{default:r(()=>[o(g(Q))]),_:1}),t[6]||(t[6]=y("保存目标 ",-1))]),_:1},8,["loading","disabled"])),[[q,["finance.dept_performance_target/batchSave"]]])])]),I((i(),v("div",fe,[!p.value&&u.value.length===0?(i(),v("div",he,[a("div",ge,[o(l,null,{default:r(()=>[o(g(Z))]),_:1})]),a("p",ye,b(f.value?"数据权限内无可选部门":"暂无部门数据"),1),a("p",be,b(f.value?"当前角色数据范围未包含任何部门,或需在权限中绑定部门后再试。":"请检查部门配置后重试"),1),o(M,{size:"small",onClick:h},{default:r(()=>[o(l,null,{default:r(()=>[o(g(B))]),_:1}),t[7]||(t[7]=y("重新加载",-1))]),_:1})])):(i(),v("div",ke,[o(ee,{name:"card",tag:"div",class:"board-grid__inner"},{default:r(()=>[(i(!0),v(T,null,F(u.value,c=>(i(),S(V,{key:"root-"+c.dept_id,node:c,"is-root":!0,"drilled-id":_.value,onDrillIn:N},null,8,["node","drilled-id"]))),128)),(i(!0),v(T,null,F(s.value,c=>(i(),S(V,{key:"drill-"+c.dept_id,node:c,"is-root":!1,"drilled-id":_.value,class:"card--drilled",onDrillIn:N,onClose:xe=>G(c.dept_id)},null,8,["node","drilled-id","onClose"]))),128))]),_:1})]))])),[[K,p.value]])])}}}),Ie=le(Me,[["__scopeId","data-v-89e98c00"]]);export{Ie as default}; +import{o as z,M as m,ap as O,be as U,q as i,r as v,s as a,v as o,D as r,u as g,cL as W,w as j,L as y,bp as H,T as b,by as B,K as J,ac as I,O as S,cM as Q,bi as X,cN as Z,F as T,G as F,ax as ee,p as L}from"./.pnpm-9dA1PEvN.js";import V from"./mubiao-dept-card-mAUD3lcL.js";import{d as te,i as ae}from"./finance-DNeCzSo4.js";import{i as Y,_ as le}from"./index-BWzN7QIb.js";const ne={class:"mubiao-page"},oe={class:"toolbar"},se={class:"toolbar__left"},ie={class:"toolbar__icon"},re={class:"toolbar__center"},de={class:"month-picker-wrap"},ue={class:"toolbar__right"},ce={class:"summary-strip"},_e={class:"summary-item"},me={class:"summary-item__val"},pe={class:"summary-item"},ve={class:"summary-item__val primary"},fe={"element-loading-text":"数据加载中…",class:"board-wrap"},he={key:0,class:"empty-state"},ge={class:"empty-state__icon"},ye={class:"empty-state__title"},be={class:"empty-state__desc"},ke={key:1,class:"board-grid"},we=z({name:"financeMubiao"}),Me=z({...we,setup(Se){function k(e){const t={dept_id:Number(e.dept_id??0),dept_name:String(e.dept_name??""),dept_path:String(e.dept_path??""),target_id:Number(e.target_id??0),target_amount:Number(e.target_amount??0),remark:String(e.remark??"")},l=e.children;return Array.isArray(l)&&l.length>0&&(t.children=l.map(k)),t}function x(e){var l;let t=0;for(const n of e)t+=Number(n.target_amount??0),(l=n.children)!=null&&l.length&&(t+=x(n.children));return Math.round(t*100)/100}function C(e){var l;let t=0;for(const n of e)t+=1,(l=n.children)!=null&&l.length&&(t+=C(n.children));return t}function D(e){var l;const t=[];for(const n of e)t.push({dept_id:n.dept_id,target_amount:Number(n.target_amount??0),remark:n.remark||""}),(l=n.children)!=null&&l.length&&t.push(...D(n.children));return t}function E(){const e=new Date;return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}`}function P(e){return e>=1e4?(e/1e4).toFixed(1)+"w":e.toLocaleString("zh-CN",{maximumFractionDigits:0})}const d=m(E()),p=m(!1),w=m(!1),u=m([]),f=m(!1),s=m([]),_=m(null),$=L(()=>x(u.value)),A=L(()=>C(u.value));function N(e){if(s.value.some(t=>t.dept_id===e.dept_id)){_.value=e.dept_id;return}s.value.push(e),_.value=e.dept_id}function G(e){const t=s.value.findIndex(l=>l.dept_id===e);t!==-1&&s.value.splice(t),_.value=s.value.length>0?s.value[s.value.length-1].dept_id:null}async function h(){if(d.value){p.value=!0,s.value=[],_.value=null;try{const e=await te({year_month:d.value});u.value=((e==null?void 0:e.rows)||[]).map(k),f.value=!!(e!=null&&e.data_scope_limited)}catch{u.value=[],f.value=!1}finally{p.value=!1}}}async function R(){if(!d.value){Y.msgWarning("请选择月份");return}await Y.confirm("确认保存「"+d.value+"」各部门业绩目标?"),w.value=!0;try{const e=await ae({year_month:d.value,items:D(u.value)});e!=null&&e.rows?(u.value=e.rows.map(k),f.value=!!(e!=null&&e.data_scope_limited),s.value=[],_.value=null):await h()}finally{w.value=!1}}return O(h),(e,t)=>{const l=j,n=H,M=J,q=U("perms"),K=X;return i(),v("div",ne,[a("div",oe,[a("div",se,[a("div",ie,[o(l,null,{default:r(()=>[o(g(W))]),_:1})]),t[1]||(t[1]=a("div",null,[a("div",{class:"toolbar__title"},"制定业绩目标"),a("div",{class:"toolbar__desc"},[y(" 按部门设置每月销售目标,填 0 并保存将删除该记录。列表按当前账号 "),a("strong",null,"角色数据权限"),y(" 仅展示"),a("strong",null,"本部门及下级"),y("(不展示权限外的上级组织;口径与业绩看板数据范围一致)。 ")])],-1))]),a("div",re,[a("div",de,[t[2]||(t[2]=a("span",{class:"month-picker-wrap__label"},"目标月份",-1)),o(n,{modelValue:d.value,"onUpdate:modelValue":t[0]||(t[0]=c=>d.value=c),type:"month","value-format":"YYYY-MM",placeholder:"选择月份",clearable:!1,size:"default",class:"month-picker",onChange:h},null,8,["modelValue"])])]),a("div",ue,[a("div",ce,[a("div",_e,[a("span",me,b(A.value),1),t[3]||(t[3]=a("span",{class:"summary-item__label"},"部门",-1))]),t[5]||(t[5]=a("div",{class:"summary-divider"},null,-1)),a("div",pe,[a("span",ve,"¥"+b(P($.value)),1),t[4]||(t[4]=a("span",{class:"summary-item__label"},"目标合计",-1))])]),o(M,{circle:"",loading:p.value,onClick:h,title:"刷新"},{default:r(()=>[o(l,null,{default:r(()=>[o(g(B))]),_:1})]),_:1},8,["loading"]),I((i(),S(M,{type:"primary",loading:w.value,disabled:p.value||!d.value,onClick:R},{default:r(()=>[o(l,null,{default:r(()=>[o(g(Q))]),_:1}),t[6]||(t[6]=y("保存目标 ",-1))]),_:1},8,["loading","disabled"])),[[q,["finance.dept_performance_target/batchSave"]]])])]),I((i(),v("div",fe,[!p.value&&u.value.length===0?(i(),v("div",he,[a("div",ge,[o(l,null,{default:r(()=>[o(g(Z))]),_:1})]),a("p",ye,b(f.value?"数据权限内无可选部门":"暂无部门数据"),1),a("p",be,b(f.value?"当前角色数据范围未包含任何部门,或需在权限中绑定部门后再试。":"请检查部门配置后重试"),1),o(M,{size:"small",onClick:h},{default:r(()=>[o(l,null,{default:r(()=>[o(g(B))]),_:1}),t[7]||(t[7]=y("重新加载",-1))]),_:1})])):(i(),v("div",ke,[o(ee,{name:"card",tag:"div",class:"board-grid__inner"},{default:r(()=>[(i(!0),v(T,null,F(u.value,c=>(i(),S(V,{key:"root-"+c.dept_id,node:c,"is-root":!0,"drilled-id":_.value,onDrillIn:N},null,8,["node","drilled-id"]))),128)),(i(!0),v(T,null,F(s.value,c=>(i(),S(V,{key:"drill-"+c.dept_id,node:c,"is-root":!1,"drilled-id":_.value,class:"card--drilled",onDrillIn:N,onClose:xe=>G(c.dept_id)},null,8,["node","drilled-id","onClose"]))),128))]),_:1})]))])),[[K,p.value]])])}}}),Ie=le(Me,[["__scopeId","data-v-89e98c00"]]);export{Ie as default}; diff --git a/server/public/admin/assets/mubiao-dept-card-DnAz5kmW.js b/server/public/admin/assets/mubiao-dept-card-mAUD3lcL.js similarity index 98% rename from server/public/admin/assets/mubiao-dept-card-DnAz5kmW.js rename to server/public/admin/assets/mubiao-dept-card-mAUD3lcL.js index 37d4e005..7f6896b6 100644 --- a/server/public/admin/assets/mubiao-dept-card-DnAz5kmW.js +++ b/server/public/admin/assets/mubiao-dept-card-mAUD3lcL.js @@ -1 +1 @@ -import{o as R,q as d,r as s,ae as h,F as b,G as I,s as t,T as r,O as S,D as v,v as u,u as w,cD as E,w as q,P as c,t as A,L as F,av as G,J,b7 as O,br as P,p as _}from"./.pnpm-9dA1PEvN.js";import{_ as j}from"./index-CJvXnF8Y.js";const H={key:0,class:"dept-card__crumb"},K={class:"crumb-seg__text"},Q={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"},le={class:"dept-card__body"},ne={class:"field-row"},de={class:"field-block"},se={key:0,class:"field-block__hint"},oe={class:"field-block field-block--remark"},re={class:"child-header"},ie={class:"child-header__count"},ce={class:"child-list"},ue={class:"child-row__name-wrap"},_e={class:"child-row__name"},me={class:"child-row__inputs"},ge=["title"],fe=["title","onClick"],pe={class:"dept-card__footer"},he=R({__name:"mubiao-dept-card",props:{node:{},isRoot:{type:Boolean},drilledId:{}},emits:["drill-in","close"],setup(n,{emit:U}){const i=n,x=U;function g(l){var o;let e=Number(l.target_amount??0);if((o=l.children)!=null&&o.length)for(const f of l.children)e+=g(f);return e}const k=_(()=>{var l;return(l=i.node.children)!=null&&l.length?i.node.children.reduce((e,o)=>e+g(o),0):0}),y=_(()=>Number(i.node.target_amount??0)+k.value),T=_(()=>y.value===0),$=_(()=>{var l;return i.node.target_id?(l=i.node.children)!=null&&l.length?i.node.children.every(e=>e.target_id>0):!0:!1}),V=_(()=>{if(!i.node.dept_path)return null;const l=i.node.dept_path.split(/\s*\/\s*/).filter(Boolean);return l.length>1?l:null}),L=_(()=>{const l=["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 o=0;o=1e4?(l/1e4).toFixed(1)+"w":l.toLocaleString("zh-CN",{maximumFractionDigits:0})}return(l,e)=>{var B,D;const o=q,f=J,z=O,M=P;return d(),s("div",{class:h(["dept-card",{"dept-card--saved":$.value,"dept-card--empty":T.value}])},[!n.isRoot&&V.value?(d(),s("div",H,[(d(!0),s(b,null,I(V.value,(a,m)=>(d(),s("span",{key:m,class:"crumb-seg"},[t("span",K,r(a),1),m[u(w(E))]),_:1})):c("",!0)]))),128))])):c("",!0),t("div",Q,[t("div",{class:"dept-card__avatar",style:A({background:L.value})},r(n.node.dept_name.slice(0,1)),5),t("div",W,[t("div",X,r(n.node.dept_name),1),(B=n.node.children)!=null&&B.length?(d(),s("div",Y,[F(r(n.node.children.length)+" 个子部门 ",1),k.value>0?(d(),s("span",Z,"· ¥"+r(N(k.value)),1)):c("",!0)])):c("",!0)]),t("div",ee,[n.node.target_id?(d(),s("span",te,"已保存")):(d(),s("span",ae,"未设置")),n.isRoot?c("",!0):(d(),s("button",{key:2,class:"close-btn",title:"关闭此卡片",onClick:e[0]||(e[0]=a=>x("close"))},[u(o,null,{default:v(()=>[u(w(G))]),_:1})]))])]),t("div",le,[t("div",ne,[t("div",de,[e[3]||(e[3]=t("label",{class:"field-block__label"},"目标金额",-1)),u(f,{modelValue:n.node.target_amount,"onUpdate:modelValue":e[1]||(e[1]=a=>n.node.target_amount=a),min:0,precision:2,step:1e3,"controls-position":"right",placeholder:"0.00",class:"field-block__input"},null,8,["modelValue"]),n.node.target_amount>0?(d(),s("span",se," ¥ "+r(C(n.node.target_amount)),1)):c("",!0)]),t("div",oe,[e[4]||(e[4]=t("label",{class:"field-block__label"},"备注",-1)),u(z,{modelValue:n.node.remark,"onUpdate:modelValue":e[2]||(e[2]=a=>n.node.remark=a),maxlength:"255",placeholder:"备注(选填)",clearable:""},null,8,["modelValue"])])])]),(D=n.node.children)!=null&&D.length?(d(),s(b,{key:1},[t("div",re,[e[5]||(e[5]=t("span",{class:"child-header__title"},"子部门",-1)),t("span",ie,r(n.node.children.length),1)]),t("div",ce,[(d(!0),s(b,null,I(n.node.children,a=>{var m;return d(),s("div",{key:a.dept_id,class:h(["child-row",{"child-row--active":n.drilledId===a.dept_id}])},[t("div",ue,[e[7]||(e[7]=t("div",{class:"child-row__dot"},null,-1)),t("span",_e,r(a.dept_name),1),a.target_id?(d(),S(M,{key:0,size:"small",type:"success",effect:"plain",round:"",class:"child-row__tag"},{default:v(()=>[...e[6]||(e[6]=[F("已保存",-1)])]),_:1})):c("",!0)]),t("div",me,[u(f,{modelValue:a.target_amount,"onUpdate:modelValue":p=>a.target_amount=p,min:0,precision:2,step:1e3,"controls-position":"right",placeholder:"0.00",class:"child-row__amount"},null,8,["modelValue","onUpdate:modelValue"]),u(z,{modelValue:a.remark,"onUpdate:modelValue":p=>a.remark=p,maxlength:"255",placeholder:"备注",clearable:"",size:"small",class:"child-row__remark"},null,8,["modelValue","onUpdate:modelValue"]),(m=a.children)!=null&&m.length?(d(),s(b,{key:0},[g(a)>0?(d(),s("span",{key:0,class:"child-subtree-total",title:`「${a.dept_name}」含下级合计`}," ="+r(N(g(a))),9,ge)):c("",!0),t("button",{class:h(["drill-btn",{"drill-btn--active":n.drilledId===a.dept_id}]),title:`展开「${a.dept_name}」的 ${a.children.length} 个子部门`,onClick:p=>x("drill-in",a)},[u(o,null,{default:v(()=>[u(w(E))]),_:1}),t("span",null,r(a.children.length),1)],10,fe)],64)):c("",!0)])],2)}),128))])],64)):c("",!0),t("div",pe,[e[8]||(e[8]=t("span",{class:"dept-card__footer-label"},"本卡合计",-1)),t("span",{class:h(["dept-card__footer-total",{"is-nonzero":y.value>0}])}," ¥ "+r(C(y.value)),3)])],2)}}}),ke=j(he,[["__scopeId","data-v-27adbc27"]]);export{ke as default}; +import{o as R,q as d,r as s,ae as h,F as b,G as I,s as t,T as r,O as S,D as v,v as u,u as w,cD as E,w as q,P as c,t as A,L as F,av as G,J,b7 as O,br as P,p as _}from"./.pnpm-9dA1PEvN.js";import{_ as j}from"./index-BWzN7QIb.js";const H={key:0,class:"dept-card__crumb"},K={class:"crumb-seg__text"},Q={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"},le={class:"dept-card__body"},ne={class:"field-row"},de={class:"field-block"},se={key:0,class:"field-block__hint"},oe={class:"field-block field-block--remark"},re={class:"child-header"},ie={class:"child-header__count"},ce={class:"child-list"},ue={class:"child-row__name-wrap"},_e={class:"child-row__name"},me={class:"child-row__inputs"},ge=["title"],fe=["title","onClick"],pe={class:"dept-card__footer"},he=R({__name:"mubiao-dept-card",props:{node:{},isRoot:{type:Boolean},drilledId:{}},emits:["drill-in","close"],setup(n,{emit:U}){const i=n,x=U;function g(l){var o;let e=Number(l.target_amount??0);if((o=l.children)!=null&&o.length)for(const f of l.children)e+=g(f);return e}const k=_(()=>{var l;return(l=i.node.children)!=null&&l.length?i.node.children.reduce((e,o)=>e+g(o),0):0}),y=_(()=>Number(i.node.target_amount??0)+k.value),T=_(()=>y.value===0),$=_(()=>{var l;return i.node.target_id?(l=i.node.children)!=null&&l.length?i.node.children.every(e=>e.target_id>0):!0:!1}),V=_(()=>{if(!i.node.dept_path)return null;const l=i.node.dept_path.split(/\s*\/\s*/).filter(Boolean);return l.length>1?l:null}),L=_(()=>{const l=["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 o=0;o=1e4?(l/1e4).toFixed(1)+"w":l.toLocaleString("zh-CN",{maximumFractionDigits:0})}return(l,e)=>{var B,D;const o=q,f=J,z=O,M=P;return d(),s("div",{class:h(["dept-card",{"dept-card--saved":$.value,"dept-card--empty":T.value}])},[!n.isRoot&&V.value?(d(),s("div",H,[(d(!0),s(b,null,I(V.value,(a,m)=>(d(),s("span",{key:m,class:"crumb-seg"},[t("span",K,r(a),1),m[u(w(E))]),_:1})):c("",!0)]))),128))])):c("",!0),t("div",Q,[t("div",{class:"dept-card__avatar",style:A({background:L.value})},r(n.node.dept_name.slice(0,1)),5),t("div",W,[t("div",X,r(n.node.dept_name),1),(B=n.node.children)!=null&&B.length?(d(),s("div",Y,[F(r(n.node.children.length)+" 个子部门 ",1),k.value>0?(d(),s("span",Z,"· ¥"+r(N(k.value)),1)):c("",!0)])):c("",!0)]),t("div",ee,[n.node.target_id?(d(),s("span",te,"已保存")):(d(),s("span",ae,"未设置")),n.isRoot?c("",!0):(d(),s("button",{key:2,class:"close-btn",title:"关闭此卡片",onClick:e[0]||(e[0]=a=>x("close"))},[u(o,null,{default:v(()=>[u(w(G))]),_:1})]))])]),t("div",le,[t("div",ne,[t("div",de,[e[3]||(e[3]=t("label",{class:"field-block__label"},"目标金额",-1)),u(f,{modelValue:n.node.target_amount,"onUpdate:modelValue":e[1]||(e[1]=a=>n.node.target_amount=a),min:0,precision:2,step:1e3,"controls-position":"right",placeholder:"0.00",class:"field-block__input"},null,8,["modelValue"]),n.node.target_amount>0?(d(),s("span",se," ¥ "+r(C(n.node.target_amount)),1)):c("",!0)]),t("div",oe,[e[4]||(e[4]=t("label",{class:"field-block__label"},"备注",-1)),u(z,{modelValue:n.node.remark,"onUpdate:modelValue":e[2]||(e[2]=a=>n.node.remark=a),maxlength:"255",placeholder:"备注(选填)",clearable:""},null,8,["modelValue"])])])]),(D=n.node.children)!=null&&D.length?(d(),s(b,{key:1},[t("div",re,[e[5]||(e[5]=t("span",{class:"child-header__title"},"子部门",-1)),t("span",ie,r(n.node.children.length),1)]),t("div",ce,[(d(!0),s(b,null,I(n.node.children,a=>{var m;return d(),s("div",{key:a.dept_id,class:h(["child-row",{"child-row--active":n.drilledId===a.dept_id}])},[t("div",ue,[e[7]||(e[7]=t("div",{class:"child-row__dot"},null,-1)),t("span",_e,r(a.dept_name),1),a.target_id?(d(),S(M,{key:0,size:"small",type:"success",effect:"plain",round:"",class:"child-row__tag"},{default:v(()=>[...e[6]||(e[6]=[F("已保存",-1)])]),_:1})):c("",!0)]),t("div",me,[u(f,{modelValue:a.target_amount,"onUpdate:modelValue":p=>a.target_amount=p,min:0,precision:2,step:1e3,"controls-position":"right",placeholder:"0.00",class:"child-row__amount"},null,8,["modelValue","onUpdate:modelValue"]),u(z,{modelValue:a.remark,"onUpdate:modelValue":p=>a.remark=p,maxlength:"255",placeholder:"备注",clearable:"",size:"small",class:"child-row__remark"},null,8,["modelValue","onUpdate:modelValue"]),(m=a.children)!=null&&m.length?(d(),s(b,{key:0},[g(a)>0?(d(),s("span",{key:0,class:"child-subtree-total",title:`「${a.dept_name}」含下级合计`}," ="+r(N(g(a))),9,ge)):c("",!0),t("button",{class:h(["drill-btn",{"drill-btn--active":n.drilledId===a.dept_id}]),title:`展开「${a.dept_name}」的 ${a.children.length} 个子部门`,onClick:p=>x("drill-in",a)},[u(o,null,{default:v(()=>[u(w(E))]),_:1}),t("span",null,r(a.children.length),1)],10,fe)],64)):c("",!0)])],2)}),128))])],64)):c("",!0),t("div",pe,[e[8]||(e[8]=t("span",{class:"dept-card__footer-label"},"本卡合计",-1)),t("span",{class:h(["dept-card__footer-total",{"is-nonzero":y.value>0}])}," ¥ "+r(C(y.value)),3)])],2)}}}),ke=j(he,[["__scopeId","data-v-27adbc27"]]);export{ke as default}; diff --git a/server/public/admin/assets/mubiao-dept-node-DQXqAckw.js b/server/public/admin/assets/mubiao-dept-node-DXJCBtIw.js similarity index 97% rename from server/public/admin/assets/mubiao-dept-node-DQXqAckw.js rename to server/public/admin/assets/mubiao-dept-node-DXJCBtIw.js index b60bab7b..0b29efd0 100644 --- a/server/public/admin/assets/mubiao-dept-node-DQXqAckw.js +++ b/server/public/admin/assets/mubiao-dept-node-DXJCBtIw.js @@ -1 +1 @@ -import{o as x,x as N,q as a,r as d,s as o,v as s,D as r,u as D,cK as B,w as E,L as i,T as u,J as C,b7 as I,O as l,br as M,F as m,G as k,P as c,t as U,p as w}from"./.pnpm-9dA1PEvN.js";import{_ as z}from"./index-CJvXnF8Y.js";const S={key:0,class:"group"},T={class:"group__header"},F={class:"group__name"},L={class:"group__amount-wrap"},P={class:"group__remark-wrap"},j={class:"group__badge-wrap"},q={key:1,class:"group__unsaved-dot"},G={key:0,class:"group__body"},J=["data-depth"],K={class:"row__dept"},O={class:"row__dept-text"},$={class:"row__name"},A={key:0,class:"row__path"},H={class:"row__amount"},Q={class:"row__remark"},R=x({name:"MubiaoDeptNode",__name:"mubiao-dept-node",props:{node:{},depth:{}},setup(e){const V=e,y=w(()=>V.node.dept_path.split(/\s*\/\s*/).filter(Boolean)),_=w(()=>y.value.slice(0,-1).join(" › "));return(W,t)=>{var f;const b=E,p=C,g=I,h=M,v=N("MubiaoDeptNode",!0);return e.depth===0?(a(),d("div",S,[o("div",T,[t[5]||(t[5]=o("div",{class:"group__accent"},null,-1)),o("div",F,[s(b,{class:"group__name-icon"},{default:r(()=>[s(D(B))]),_:1}),i(" "+u(e.node.dept_name),1)]),o("div",L,[s(p,{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",P,[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",j,[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",q))])]),(f=e.node.children)!=null&&f.length?(a(),d("div",G,[(a(!0),d(m,null,k(e.node.children,n=>(a(),l(v,{key:n.dept_id,node:n,depth:1},null,8,["node"]))),128))])):c("",!0)])):(a(),d(m,{key:1},[o("div",{class:"row","data-depth":String(Math.min(e.depth,4))},[o("div",{class:"row__indent",style:U({width:`${(e.depth-1)*20+16}px`})},[...t[6]||(t[6]=[o("div",{class:"row__connector"},null,-1)])],4),o("div",K,[t[8]||(t[8]=o("div",{class:"row__dot"},null,-1)),o("div",O,[o("span",$,u(e.node.dept_name),1),_.value?(a(),d("span",A,u(_.value),1)):c("",!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})):c("",!0)]),o("div",H,[s(p,{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",Q,[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,J),(a(!0),d(m,null,k(e.node.children,n=>(a(),l(v,{key:n.dept_id,node:n,depth:e.depth+1},null,8,["node","depth"]))),128))],64))}}}),Z=z(R,[["__scopeId","data-v-02198f38"]]);export{Z as default}; +import{o as x,x as N,q as a,r as d,s as o,v as s,D as r,u as D,cK as B,w as E,L as i,T as u,J as C,b7 as I,O as l,br as M,F as m,G as k,P as c,t as U,p as w}from"./.pnpm-9dA1PEvN.js";import{_ as z}from"./index-BWzN7QIb.js";const S={key:0,class:"group"},T={class:"group__header"},F={class:"group__name"},L={class:"group__amount-wrap"},P={class:"group__remark-wrap"},j={class:"group__badge-wrap"},q={key:1,class:"group__unsaved-dot"},G={key:0,class:"group__body"},J=["data-depth"],K={class:"row__dept"},O={class:"row__dept-text"},$={class:"row__name"},A={key:0,class:"row__path"},H={class:"row__amount"},Q={class:"row__remark"},R=x({name:"MubiaoDeptNode",__name:"mubiao-dept-node",props:{node:{},depth:{}},setup(e){const V=e,y=w(()=>V.node.dept_path.split(/\s*\/\s*/).filter(Boolean)),_=w(()=>y.value.slice(0,-1).join(" › "));return(W,t)=>{var f;const b=E,p=C,g=I,h=M,v=N("MubiaoDeptNode",!0);return e.depth===0?(a(),d("div",S,[o("div",T,[t[5]||(t[5]=o("div",{class:"group__accent"},null,-1)),o("div",F,[s(b,{class:"group__name-icon"},{default:r(()=>[s(D(B))]),_:1}),i(" "+u(e.node.dept_name),1)]),o("div",L,[s(p,{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",P,[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",j,[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",q))])]),(f=e.node.children)!=null&&f.length?(a(),d("div",G,[(a(!0),d(m,null,k(e.node.children,n=>(a(),l(v,{key:n.dept_id,node:n,depth:1},null,8,["node"]))),128))])):c("",!0)])):(a(),d(m,{key:1},[o("div",{class:"row","data-depth":String(Math.min(e.depth,4))},[o("div",{class:"row__indent",style:U({width:`${(e.depth-1)*20+16}px`})},[...t[6]||(t[6]=[o("div",{class:"row__connector"},null,-1)])],4),o("div",K,[t[8]||(t[8]=o("div",{class:"row__dot"},null,-1)),o("div",O,[o("span",$,u(e.node.dept_name),1),_.value?(a(),d("span",A,u(_.value),1)):c("",!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})):c("",!0)]),o("div",H,[s(p,{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",Q,[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,J),(a(!0),d(m,null,k(e.node.children,n=>(a(),l(v,{key:n.dept_id,node:n,depth:e.depth+1},null,8,["node","depth"]))),128))],64))}}}),Z=z(R,[["__scopeId","data-v-02198f38"]]);export{Z as default}; diff --git a/server/public/admin/assets/oa-attr-D3MgAWVR.js b/server/public/admin/assets/oa-attr-BBBq3k_L.js similarity index 84% rename from server/public/admin/assets/oa-attr-D3MgAWVR.js rename to server/public/admin/assets/oa-attr-BBBq3k_L.js index d6e27d71..a02a3fef 100644 --- a/server/public/admin/assets/oa-attr-D3MgAWVR.js +++ b/server/public/admin/assets/oa-attr-BBBq3k_L.js @@ -1 +1 @@ -import{_ as S}from"./index-CAGpCz28.js";import{_ as A}from"./index-BBemoNXE.js";import{o as B,x as g,q as l,r as d,G as h,ac as $,ad as L,u as t,s as p,v as o,D as a,F as y,T as v,K as N,w as R,L as b,a8 as V}from"./.pnpm-9dA1PEvN.js";import{_ as F}from"./oa-menu-form.vue_vue_type_script_setup_true_lang-BB4f-rQm.js";import{_ as U}from"./oa-menu-form-edit.vue_vue_type_script_setup_true_lang-CkeqElON.js";import{u as O}from"./useMenuOa-BFbr--hk.js";import{_ as q}from"./index-CJvXnF8Y.js";import"./wx_oa-DPme7qiY.js";const G={class:"flex items-center w-full p-4 mt-4 rounded bg-fill-light"},K={class:"flex-1"},j={class:"mr-auto"},z=B({__name:"oa-attr",setup(H){const r=V(),{menuList:x,menuIndex:u,handleAddSubMenu:T,handleEditSubMenu:k,handleDelMenu:w,handleDelSubMenu:E}=O(r);return(J,s)=>{const D=g("EditPen"),m=R,i=N,C=g("Delete"),P=A,M=S;return l(!0),d(y,null,h(t(x),(e,f)=>$((l(),d("div",{key:f,class:"flex-1 oa-attr min-w-0"},[s[2]||(s[2]=p("div",{class:"text-base oa-attr-title"},"菜单配置",-1)),o(M,{onClose:s[0]||(s[0]=n=>t(w)(t(u)))},{default:a(()=>[p("div",G,[o(F,{ref_for:!0,ref_key:"menuRef",ref:r,modular:"master",name:e.name,"onUpdate:name":n=>e.name=n,menuType:e.has_menu,"onUpdate:menuType":n=>e.has_menu=n,visitType:e.type,"onUpdate:visitType":n=>e.type=n,url:e.url,"onUpdate:url":n=>e.url=n,appId:e.appid,"onUpdate:appId":n=>e.appid=n,pagePath:e.pagepath,"onUpdate:pagePath":n=>e.pagepath=n},{default:a(()=>[p("div",K,[p("ul",null,[(l(!0),d(y,null,h(e.sub_button,(n,_)=>(l(),d("li",{class:"flex",key:_,style:{padding:"8px"}},[p("span",j,v(n.name),1),o(U,{modular:"edit",subItem:n,onEdit:c=>t(k)(c,_)},{default:a(()=>[o(i,{link:""},{default:a(()=>[o(m,null,{default:a(()=>[o(D)]),_:1})]),_:1})]),_:1},8,["subItem","onEdit"]),o(P,{onConfirm:c=>t(E)(t(u),_)},{trigger:a(()=>[o(i,{link:""},{default:a(()=>[o(m,{class:"ml-5"},{default:a(()=>[o(C)]),_:1})]),_:1})]),default:a(()=>[s[1]||(s[1]=b(" 是否删除当前子菜单? ",-1))]),_:1},8,["onConfirm"])]))),128))]),o(U,{modular:"add",onAdd:t(T)},{default:a(()=>[o(i,{type:"primary",link:"",disabled:e.sub_button.length>=5},{default:a(()=>[b(" 添加子菜单("+v(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)),[[L,f===t(u)]])),128)}}}),oe=q(z,[["__scopeId","data-v-28c2cd0d"]]);export{oe as default}; +import{_ as S}from"./index-fA0EWEUO.js";import{_ as A}from"./index-dYaCh-CN.js";import{o as B,x as g,q as l,r as d,G as h,ac as $,ad as L,u as t,s as p,v as o,D as a,F as y,T as v,K as N,w as R,L as b,a8 as V}from"./.pnpm-9dA1PEvN.js";import{_ as F}from"./oa-menu-form.vue_vue_type_script_setup_true_lang-CgD51k0c.js";import{_ as U}from"./oa-menu-form-edit.vue_vue_type_script_setup_true_lang-Bb7TFRYY.js";import{u as O}from"./useMenuOa-oN_qEEoR.js";import{_ as q}from"./index-BWzN7QIb.js";import"./wx_oa-HhzP-R8g.js";const G={class:"flex items-center w-full p-4 mt-4 rounded bg-fill-light"},K={class:"flex-1"},j={class:"mr-auto"},z=B({__name:"oa-attr",setup(H){const r=V(),{menuList:x,menuIndex:u,handleAddSubMenu:T,handleEditSubMenu:k,handleDelMenu:w,handleDelSubMenu:E}=O(r);return(J,s)=>{const D=g("EditPen"),m=R,i=N,C=g("Delete"),P=A,M=S;return l(!0),d(y,null,h(t(x),(e,f)=>$((l(),d("div",{key:f,class:"flex-1 oa-attr min-w-0"},[s[2]||(s[2]=p("div",{class:"text-base oa-attr-title"},"菜单配置",-1)),o(M,{onClose:s[0]||(s[0]=n=>t(w)(t(u)))},{default:a(()=>[p("div",G,[o(F,{ref_for:!0,ref_key:"menuRef",ref:r,modular:"master",name:e.name,"onUpdate:name":n=>e.name=n,menuType:e.has_menu,"onUpdate:menuType":n=>e.has_menu=n,visitType:e.type,"onUpdate:visitType":n=>e.type=n,url:e.url,"onUpdate:url":n=>e.url=n,appId:e.appid,"onUpdate:appId":n=>e.appid=n,pagePath:e.pagepath,"onUpdate:pagePath":n=>e.pagepath=n},{default:a(()=>[p("div",K,[p("ul",null,[(l(!0),d(y,null,h(e.sub_button,(n,_)=>(l(),d("li",{class:"flex",key:_,style:{padding:"8px"}},[p("span",j,v(n.name),1),o(U,{modular:"edit",subItem:n,onEdit:c=>t(k)(c,_)},{default:a(()=>[o(i,{link:""},{default:a(()=>[o(m,null,{default:a(()=>[o(D)]),_:1})]),_:1})]),_:1},8,["subItem","onEdit"]),o(P,{onConfirm:c=>t(E)(t(u),_)},{trigger:a(()=>[o(i,{link:""},{default:a(()=>[o(m,{class:"ml-5"},{default:a(()=>[o(C)]),_:1})]),_:1})]),default:a(()=>[s[1]||(s[1]=b(" 是否删除当前子菜单? ",-1))]),_:1},8,["onConfirm"])]))),128))]),o(U,{modular:"add",onAdd:t(T)},{default:a(()=>[o(i,{type:"primary",link:"",disabled:e.sub_button.length>=5},{default:a(()=>[b(" 添加子菜单("+v(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)),[[L,f===t(u)]])),128)}}}),oe=q(z,[["__scopeId","data-v-28c2cd0d"]]);export{oe as default}; diff --git a/server/public/admin/assets/oa-menu-form-BuzIic88.js b/server/public/admin/assets/oa-menu-form-BuzIic88.js new file mode 100644 index 00000000..c096d984 --- /dev/null +++ b/server/public/admin/assets/oa-menu-form-BuzIic88.js @@ -0,0 +1 @@ +import{_ as o}from"./oa-menu-form.vue_vue_type_script_setup_true_lang-CgD51k0c.js";import"./.pnpm-9dA1PEvN.js";import"./useMenuOa-oN_qEEoR.js";import"./wx_oa-HhzP-R8g.js";import"./index-BWzN7QIb.js";export{o as default}; diff --git a/server/public/admin/assets/oa-menu-form-Nu32cmMQ.js b/server/public/admin/assets/oa-menu-form-Nu32cmMQ.js deleted file mode 100644 index e70ef73a..00000000 --- a/server/public/admin/assets/oa-menu-form-Nu32cmMQ.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./oa-menu-form.vue_vue_type_script_setup_true_lang-BB4f-rQm.js";import"./.pnpm-9dA1PEvN.js";import"./useMenuOa-BFbr--hk.js";import"./wx_oa-DPme7qiY.js";import"./index-CJvXnF8Y.js";export{o as default}; diff --git a/server/public/admin/assets/oa-menu-form-edit-BgcLPTEm.js b/server/public/admin/assets/oa-menu-form-edit-BgcLPTEm.js deleted file mode 100644 index 724d9e37..00000000 --- a/server/public/admin/assets/oa-menu-form-edit-BgcLPTEm.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./oa-menu-form-edit.vue_vue_type_script_setup_true_lang-CkeqElON.js";import"./index-BBemoNXE.js";import"./.pnpm-9dA1PEvN.js";import"./index-CJvXnF8Y.js";import"./oa-menu-form.vue_vue_type_script_setup_true_lang-BB4f-rQm.js";import"./useMenuOa-BFbr--hk.js";import"./wx_oa-DPme7qiY.js";export{o as default}; diff --git a/server/public/admin/assets/oa-menu-form-edit-Ctvs8HSB.js b/server/public/admin/assets/oa-menu-form-edit-Ctvs8HSB.js new file mode 100644 index 00000000..80487577 --- /dev/null +++ b/server/public/admin/assets/oa-menu-form-edit-Ctvs8HSB.js @@ -0,0 +1 @@ +import{_ as o}from"./oa-menu-form-edit.vue_vue_type_script_setup_true_lang-Bb7TFRYY.js";import"./index-dYaCh-CN.js";import"./.pnpm-9dA1PEvN.js";import"./index-BWzN7QIb.js";import"./oa-menu-form.vue_vue_type_script_setup_true_lang-CgD51k0c.js";import"./useMenuOa-oN_qEEoR.js";import"./wx_oa-HhzP-R8g.js";export{o as default}; diff --git a/server/public/admin/assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang-CkeqElON.js b/server/public/admin/assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang-Bb7TFRYY.js similarity index 90% rename from server/public/admin/assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang-CkeqElON.js rename to server/public/admin/assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang-Bb7TFRYY.js index 0efa4779..5df1da8e 100644 --- a/server/public/admin/assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang-CkeqElON.js +++ b/server/public/admin/assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang-Bb7TFRYY.js @@ -1 +1 @@ -import{_ as y}from"./index-BBemoNXE.js";import{_ as g}from"./oa-menu-form.vue_vue_type_script_setup_true_lang-BB4f-rQm.js";import{o as v,bv as c,q as R,O as k,D as d,v as F,ah as _,a8 as i}from"./.pnpm-9dA1PEvN.js";const P=v({__name:"oa-menu-form-edit",props:{modular:{default:"edit"},subItem:{default:{}}},emits:["add","edit"],setup(s,{emit:l}){const m=l,n=s,p=i(),r=i(),e={name:"",type:"view",url:"",appid:"",pagepath:""};c(()=>{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"?m("edit",{...e}):m("add",{...e}),r.value.close(),p.value.menuFormRef.resetFields()};return(o,t)=>{const f=y;return R(),k(f,{ref_key:"menuFromPopupRef",ref:r,async:"",clickModalClose:!1,title:`${s.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{P as _}; +import{_ as y}from"./index-dYaCh-CN.js";import{_ as g}from"./oa-menu-form.vue_vue_type_script_setup_true_lang-CgD51k0c.js";import{o as v,bv as c,q as R,O as k,D as d,v as F,ah as _,a8 as i}from"./.pnpm-9dA1PEvN.js";const P=v({__name:"oa-menu-form-edit",props:{modular:{default:"edit"},subItem:{default:{}}},emits:["add","edit"],setup(s,{emit:l}){const m=l,n=s,p=i(),r=i(),e={name:"",type:"view",url:"",appid:"",pagepath:""};c(()=>{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"?m("edit",{...e}):m("add",{...e}),r.value.close(),p.value.menuFormRef.resetFields()};return(o,t)=>{const f=y;return R(),k(f,{ref_key:"menuFromPopupRef",ref:r,async:"",clickModalClose:!1,title:`${s.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{P as _}; diff --git a/server/public/admin/assets/oa-menu-form.vue_vue_type_script_setup_true_lang-BB4f-rQm.js b/server/public/admin/assets/oa-menu-form.vue_vue_type_script_setup_true_lang-CgD51k0c.js similarity index 97% rename from server/public/admin/assets/oa-menu-form.vue_vue_type_script_setup_true_lang-BB4f-rQm.js rename to server/public/admin/assets/oa-menu-form.vue_vue_type_script_setup_true_lang-CgD51k0c.js index c8501a1f..9189d4d3 100644 --- a/server/public/admin/assets/oa-menu-form.vue_vue_type_script_setup_true_lang-BB4f-rQm.js +++ b/server/public/admin/assets/oa-menu-form.vue_vue_type_script_setup_true_lang-CgD51k0c.js @@ -1 +1 @@ -import{o as w,M as E,R as F,bv as R,q as d,O as V,D as u,v as t,b6 as U,b7 as x,u as l,bc as B,bf as C,L as f,P as i,ah as N,r as _,F as g,b9 as q,a8 as A}from"./.pnpm-9dA1PEvN.js";import{r as D}from"./useMenuOa-BFbr--hk.js";const M=w({__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:I,emit:k}){const m=k,v=r,T=A(),e=E({...v});return F(()=>v,y=>{e.value=y},{immediate:!0}),R(()=>{v.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)}),I({menuFormRef:T}),(y,a)=>{const n=x,p=U,s=C,b=B,P=q;return d(),V(P,{ref_key:"menuFormRef",ref:T,rules:l(D),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(b,{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(()=>[N(y.$slots,"default")]),_:3})):i("",!0),l(e).menuType?i("",!0):(d(),_(g,{key:2},[t(p,{label:"跳转链接",prop:"visitType"},{default:u(()=>[t(b,{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,{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{M as _}; +import{o as w,M as E,R as F,bv as R,q as d,O as V,D as u,v as t,b6 as U,b7 as x,u as l,bc as B,bf as C,L as f,P as i,ah as N,r as _,F as g,b9 as q,a8 as A}from"./.pnpm-9dA1PEvN.js";import{r as D}from"./useMenuOa-oN_qEEoR.js";const M=w({__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:I,emit:k}){const m=k,v=r,T=A(),e=E({...v});return F(()=>v,y=>{e.value=y},{immediate:!0}),R(()=>{v.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)}),I({menuFormRef:T}),(y,a)=>{const n=x,p=U,s=C,b=B,P=q;return d(),V(P,{ref_key:"menuFormRef",ref:T,rules:l(D),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(b,{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(()=>[N(y.$slots,"default")]),_:3})):i("",!0),l(e).menuType?i("",!0):(d(),_(g,{key:2},[t(p,{label:"跳转链接",prop:"visitType"},{default:u(()=>[t(b,{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,{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{M as _}; diff --git a/server/public/admin/assets/oa-phone-CNPKAucR.js b/server/public/admin/assets/oa-phone-ByOKZQ9J.js similarity index 91% rename from server/public/admin/assets/oa-phone-CNPKAucR.js rename to server/public/admin/assets/oa-phone-ByOKZQ9J.js index 65ae9df8..466cbf5e 100644 --- a/server/public/admin/assets/oa-phone-CNPKAucR.js +++ b/server/public/admin/assets/oa-phone-ByOKZQ9J.js @@ -1 +1 @@ -import{o as S,bw as D,u as t,p as F,x as _,q as s,r as n,s as o,v as l,D as p,w as P,F as h,G as f,ae as V,T as v,ac as j,ad as B,P as G}from"./.pnpm-9dA1PEvN.js";import{l as N,_ as A}from"./index-CJvXnF8Y.js";import{u as x}from"./useMenuOa-BFbr--hk.js";import"./wx_oa-DPme7qiY.js";const E={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=S({__name:"oa-phone",setup(T){D(k=>({v3a57b789:t(b)}));const C=N(),b=F(()=>C.theme||"#4A5DFF"),{menuList:r,menuIndex:c,handleAddMenu:u}=x(x);return(k,a)=>{const y=_("Grid"),m=P,g=_("Plus");return s(),n("div",E,[a[1]||(a[1]=o("div",{class:"oa-phone-content"},null,-1)),o("div",L,[o("div",M,[l(m,null,{default:p(()=>[l(y)]),_:1})]),(s(!0),n(h,null,f(t(r),(e,i)=>(s(),n("div",{key:i,class:"relative flex-1",onClick:d=>c.value=i},[o("div",{class:V(["flex items-center justify-center flex-1 text-sm oa-phone-menu-item",{"active-menu":t(c)===i}])},v(e.name),3),j(o("div",q,[(s(!0),n(h,null,f(e.sub_button,(d,w)=>(s(),n("div",{key:w,class:"oa-phone-menu-subitem-title"},v(d.name),1))),128))],512),[[B,e.sub_button.length&&e.has_menu]])],8,O))),128)),t(r).length<=2?(s(),n("div",{key:0,class:"flex items-center justify-center flex-1 h-full",onClick:a[0]||(a[0]=(...e)=>t(u)&&t(u)(...e))},[l(m,null,{default:p(()=>[l(g)]),_:1})])):G("",!0)])])}}}),K=A(z,[["__scopeId","data-v-de73b1d1"]]);export{K as default}; +import{o as S,bw as D,u as t,p as F,x as _,q as s,r as n,s as o,v as l,D as p,w as P,F as h,G as f,ae as V,T as v,ac as j,ad as B,P as G}from"./.pnpm-9dA1PEvN.js";import{l as N,_ as A}from"./index-BWzN7QIb.js";import{u as x}from"./useMenuOa-oN_qEEoR.js";import"./wx_oa-HhzP-R8g.js";const E={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=S({__name:"oa-phone",setup(T){D(k=>({v3a57b789:t(b)}));const C=N(),b=F(()=>C.theme||"#4A5DFF"),{menuList:r,menuIndex:c,handleAddMenu:u}=x(x);return(k,a)=>{const y=_("Grid"),m=P,g=_("Plus");return s(),n("div",E,[a[1]||(a[1]=o("div",{class:"oa-phone-content"},null,-1)),o("div",L,[o("div",M,[l(m,null,{default:p(()=>[l(y)]),_:1})]),(s(!0),n(h,null,f(t(r),(e,i)=>(s(),n("div",{key:i,class:"relative flex-1",onClick:d=>c.value=i},[o("div",{class:V(["flex items-center justify-center flex-1 text-sm oa-phone-menu-item",{"active-menu":t(c)===i}])},v(e.name),3),j(o("div",q,[(s(!0),n(h,null,f(e.sub_button,(d,w)=>(s(),n("div",{key:w,class:"oa-phone-menu-subitem-title"},v(d.name),1))),128))],512),[[B,e.sub_button.length&&e.has_menu]])],8,O))),128)),t(r).length<=2?(s(),n("div",{key:0,class:"flex items-center justify-center flex-1 h-full",onClick:a[0]||(a[0]=(...e)=>t(u)&&t(u)(...e))},[l(m,null,{default:p(()=>[l(g)]),_:1})])):G("",!0)])])}}}),K=A(z,[["__scopeId","data-v-de73b1d1"]]);export{K as default}; diff --git a/server/public/admin/assets/open_setting-DGwZaDLq.js b/server/public/admin/assets/open_setting-CzMkizJp.js similarity index 93% rename from server/public/admin/assets/open_setting-DGwZaDLq.js rename to server/public/admin/assets/open_setting-CzMkizJp.js index 67138715..dcaa35bb 100644 --- a/server/public/admin/assets/open_setting-DGwZaDLq.js +++ b/server/public/admin/assets/open_setting-CzMkizJp.js @@ -1 +1 @@ -import{_ as y}from"./index-bkWlwzQZ.js";import{o as f,be as A,q as m,r as E,v as t,D as n,bh as k,bg as x,s as l,b6 as S,b7 as B,u as s,b9 as I,ac as q,O as R,K as N,L as O,ba as F,a8 as U}from"./.pnpm-9dA1PEvN.js";import{r as g}from"./index-CJvXnF8Y.js";function K(p){return g.post({url:"/channel.open_setting/setConfig",params:p})}function L(){return g.get({url:"/channel.open_setting/getConfig"})}const T={class:"w-80"},j={class:"w-80"},z=f({name:"wxDevConfig"}),M=f({...z,setup(p){const o=F({app_id:"",app_secret:""}),i=U(),b={app_id:[{required:!0,message:"请输入AppID",trigger:["blur","change"]}],app_secret:[{required:!0,message:"请输入AppSecret",trigger:["blur","change"]}]},c=async()=>{const a=await L();for(const e in o)o[e]=a[e]},v=async()=>{var a;await((a=i.value)==null?void 0:a.validate()),await K(o),c()};return c(),(a,e)=>{const w=k,_=x,d=B,u=S,h=I,C=N,D=y,V=A("perms");return m(),E("div",null,[t(_,{class:"!border-none",shadow:"never"},{default:n(()=>[t(w,{type:"warning",title:"温馨提示:填写微信开放平台开发配置,请前往微信开放平台创建应用并完成认证;网站应用配置主要用于网站微信登录和微信支付",closable:!1,"show-icon":""})]),_:1}),t(h,{ref_key:"formRef",ref:i,model:s(o),rules:b,"label-width":"160px"},{default:n(()=>[t(_,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[e[2]||(e[2]=l("div",{class:"font-medium mb-7"},"网站应用",-1)),t(u,{label:"AppID",prop:"app_id"},{default:n(()=>[l("div",T,[t(d,{modelValue:s(o).app_id,"onUpdate:modelValue":e[0]||(e[0]=r=>s(o).app_id=r),placeholder:"请输入AppID"},null,8,["modelValue"])])]),_:1}),t(u,{label:"AppSecret",prop:"app_secret"},{default:n(()=>[l("div",null,[l("div",j,[t(d,{modelValue:s(o).app_secret,"onUpdate:modelValue":e[1]||(e[1]=r=>s(o).app_secret=r),placeholder:"请输入AppSecret"},null,8,["modelValue"])])])]),_:1})]),_:1})]),_:1},8,["model"]),q((m(),R(D,null,{default:n(()=>[t(C,{type:"primary",onClick:v},{default:n(()=>[...e[3]||(e[3]=[O("保存",-1)])]),_:1})]),_:1})),[[V,["channel.open_setting/setConfig"]]])])}}});export{M as default}; +import{_ as y}from"./index-DZiQLFzx.js";import{o as f,be as A,q as m,r as E,v as t,D as n,bh as k,bg as x,s as l,b6 as S,b7 as B,u as s,b9 as I,ac as q,O as R,K as N,L as O,ba as F,a8 as U}from"./.pnpm-9dA1PEvN.js";import{r as g}from"./index-BWzN7QIb.js";function K(p){return g.post({url:"/channel.open_setting/setConfig",params:p})}function L(){return g.get({url:"/channel.open_setting/getConfig"})}const T={class:"w-80"},j={class:"w-80"},z=f({name:"wxDevConfig"}),M=f({...z,setup(p){const o=F({app_id:"",app_secret:""}),i=U(),b={app_id:[{required:!0,message:"请输入AppID",trigger:["blur","change"]}],app_secret:[{required:!0,message:"请输入AppSecret",trigger:["blur","change"]}]},c=async()=>{const a=await L();for(const e in o)o[e]=a[e]},v=async()=>{var a;await((a=i.value)==null?void 0:a.validate()),await K(o),c()};return c(),(a,e)=>{const w=k,_=x,d=B,u=S,h=I,C=N,D=y,V=A("perms");return m(),E("div",null,[t(_,{class:"!border-none",shadow:"never"},{default:n(()=>[t(w,{type:"warning",title:"温馨提示:填写微信开放平台开发配置,请前往微信开放平台创建应用并完成认证;网站应用配置主要用于网站微信登录和微信支付",closable:!1,"show-icon":""})]),_:1}),t(h,{ref_key:"formRef",ref:i,model:s(o),rules:b,"label-width":"160px"},{default:n(()=>[t(_,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[e[2]||(e[2]=l("div",{class:"font-medium mb-7"},"网站应用",-1)),t(u,{label:"AppID",prop:"app_id"},{default:n(()=>[l("div",T,[t(d,{modelValue:s(o).app_id,"onUpdate:modelValue":e[0]||(e[0]=r=>s(o).app_id=r),placeholder:"请输入AppID"},null,8,["modelValue"])])]),_:1}),t(u,{label:"AppSecret",prop:"app_secret"},{default:n(()=>[l("div",null,[l("div",j,[t(d,{modelValue:s(o).app_secret,"onUpdate:modelValue":e[1]||(e[1]=r=>s(o).app_secret=r),placeholder:"请输入AppSecret"},null,8,["modelValue"])])])]),_:1})]),_:1})]),_:1},8,["model"]),q((m(),R(D,null,{default:n(()=>[t(C,{type:"primary",onClick:v},{default:n(()=>[...e[3]||(e[3]=[O("保存",-1)])]),_:1})]),_:1})),[[V,["channel.open_setting/setConfig"]]])])}}});export{M as default}; diff --git a/server/public/admin/assets/order-CNletQ6l.js b/server/public/admin/assets/order-B6cEisB-.js similarity index 96% rename from server/public/admin/assets/order-CNletQ6l.js rename to server/public/admin/assets/order-B6cEisB-.js index 8912d177..007231b2 100644 --- a/server/public/admin/assets/order-CNletQ6l.js +++ b/server/public/admin/assets/order-B6cEisB-.js @@ -1 +1 @@ -import{r as e}from"./index-CJvXnF8Y.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-BWzN7QIb.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-BKI8j5Je.js b/server/public/admin/assets/order_list-DJ6sfjv9.js similarity index 98% rename from server/public/admin/assets/order_list-BKI8j5Je.js rename to server/public/admin/assets/order_list-DJ6sfjv9.js index 9e8b19a3..a573991f 100644 --- a/server/public/admin/assets/order_list-BKI8j5Je.js +++ b/server/public/admin/assets/order_list-DJ6sfjv9.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DSANIFY1.js","assets/.pnpm-9dA1PEvN.js","assets/.pnpm-LiWq8Xu0.css","assets/tcm-DOD9_1Um.js","assets/index-CJvXnF8Y.js","assets/index-or10At3s.css","assets/perm-BLNmf25V.js","assets/DailyMatrix-_4SdP1CQ.js","assets/picker-DWQ_BAep.js","assets/index-BBemoNXE.js","assets/index-dh40Du6y.css","assets/index-CY1mb9yY.js","assets/index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js","assets/index-CAGpCz28.js","assets/index-BYMg0OFw.css","assets/index-DMkcmA29.js","assets/file-BJDA0rIT.js","assets/index.vue_vue_type_script_setup_true_lang-Blf417m7.js","assets/usePaging-Boz1Q6w3.js","assets/index-D6uL8V1j.css","assets/picker-CLzhBfnG.css","assets/DiagnosisTodoList-wLDuYeQL.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix--Ay5C05Q.css","assets/CaseRecordList-BdOS8uCk.js","assets/CaseRecordList-DEgrl9PS.css","assets/CallRecordPanel-B5TNiiYq.js","assets/RecordingPlaybackBlock-C4Gpp-2c.js","assets/RecordingVideoPlayer-BFQjIPtM.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-p7h_1hh9.css","assets/ImChatRecordPanel-Dupe02qF.js","assets/dayjs-BsOAYQJw.js","assets/im-business-message-parse-DmDISFGN.js","assets/ImChatRecordPanel-BRnJl8ir.css","assets/AssignLogPanel-7M3l9W5C.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DxULo4tR.js","assets/doctor-Bmtf1eZE.js","assets/AppointmentRecordPanel-BWS3OyF0.css","assets/NoteTimeline-BiPgEoRT.js","assets/patient-CwTOvUDt.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-CbJRHf8i.js","assets/PrescriptionOrderDetailDrawer-66DcVm3d.js","assets/prescription-order-utils-B0fYlULc.js","assets/PrescriptionOrderDetailDrawer-DL92yzHH.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-D33qlDjf.js","assets/index-BANIMLkY.js","assets/medicine-CQDW2OUZ.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-DxQanmqx.css","assets/edit-Cgsl1tY9.css","assets/TrackingNoteTimeline-C-2kS81H.css"])))=>i.map(i=>d[i]); -import{o as Os,Q as Bn,R as ca,ap as Hn,n as lt,be as Wn,q as o,r as f,v as l,D as n,s as r,F as O,G as L,ae as q,T as d,P as v,bg as Gn,ac as A,w as Kn,u as w,ce as Qn,L as _,bH as Jn,bI as Yn,cf as Xn,bi as Zn,b9 as er,C as ma,b6 as tr,b7 as ar,b8 as $t,O as k,bm as sr,bn as lr,bK as nr,K as rr,bj as ir,bk as or,br as ur,bY as dr,aw as Le,cg as pr,a1 as cr,ch as mr,bc as _r,bb as fr,J as vr,bt as gr,bh as yr,bM as br,b_ as xr,b$ as kr,c7 as hr,c8 as wr,ca as Vr,ad as _a,bA as Sr,U as Nr,S as Cr,I as Pr,bf as Or,Y as Ar,X as Rr,B as Tr,c0 as $r,c1 as Er,cb as Dr,al as Fr,M as g,p as V,ba as fe,e as nt,cd as Ur,cc as Lr}from"./.pnpm-9dA1PEvN.js";import{_ as Ir}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{_ as zr}from"./index.vue_vue_type_script_setup_true_lang-Bk4SMrCI.js";import{L as jr,u as Mr}from"./useListTimeFilter-DzEU80f7.js";import qr from"./PrescriptionOrderDetailDrawer-66DcVm3d.js";import{_ as Br}from"./GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-Bb23SaaB.js";import{z as Hr,A as Wr,s as fa,g as hs,b as B,B as Gr,a as Kr,f as ws,h as Et,p as Qr,o as Jr,T as Yr,P as Xr,n as Zr,C as Dt,y as ei,c as Vs,u as ti,D as ai,E as si,F as va,r as li,w as Ss,q as ni}from"./prescription-order-utils-B0fYlULc.js";import{x as ri,y as ii,g as oi,i as ui,t as di,z as pi,A as ci,B as mi,e as rt,C as ga,D as _i,E as fi,F as vi,G as Ns,H as gi,I as yi,J as Cs,K as bi,L as xi,M as ki,N as hi,O as wi,P as Vi,k as Si,h as Ps,c as Ni,o as Ci}from"./tcm-DOD9_1Um.js";import{u as Pi,i as N,m as Oi,_ as Ai}from"./index-CJvXnF8Y.js";import{d as Ri}from"./department-DYCfZwei.js";import{u as Ti}from"./usePaging-Boz1Q6w3.js";import"./index-BBemoNXE.js";const $i={class:"prescription-order-page prescription-order-list px-4 py-4 pb-8"},Ei={class:"flex flex-col gap-3"},Di={key:0,class:"flex items-center gap-2 flex-wrap"},Fi=["onClick"],Ui={class:"font-medium"},Li={class:"flex items-center gap-2 flex-wrap"},Ii=["onClick"],zi={class:"font-medium"},ji={class:"flex items-center gap-2 flex-wrap"},Mi=["onClick"],qi={class:"font-medium"},Bi={class:"flex items-center gap-2 flex-wrap"},Hi=["onClick"],Wi={class:"font-medium"},Gi={class:"flex items-center gap-2 flex-wrap"},Ki=["onClick"],Qi={class:"font-medium"},Ji={class:"po-list-stats grid grid-cols-1 sm:grid-cols-2 gap-4 mb-5"},Yi={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"},Zi={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},eo={class:"mt-2 space-y-1.5 min-w-0"},to={class:"text-2xl sm:text-[28px] font-bold text-sky-700 tabular-nums leading-none"},ao={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},so={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"},no={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},ro={class:"po-stat-surface po-stat-surface--pay relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},io={class:"relative flex items-start justify-between gap-3"},oo={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},uo={class:"mt-2 space-y-1.5 min-w-0"},po={class:"text-2xl sm:text-[28px] font-bold text-emerald-700 tabular-nums leading-none"},co={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},mo={class:"text-slate-400"},_o={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-emerald-500/10 flex items-center justify-center text-emerald-600"},fo={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},vo={class:"po-table-toolbar"},go={class:"po-table-toolbar__title-wrap"},yo={class:"po-table-hint text-gray-400"},bo={class:"po-focus-board"},xo={class:"po-focus-board__value"},ko={class:"po-focus-board__value"},ho={class:"po-focus-board__value"},wo={class:"po-focus-board__value"},Vo={class:"po-order-no-cell"},So={class:"po-order-no-main"},No={class:"po-order-no-sub"},Co={class:"text-gray-400"},Po={key:0,class:"ml-1"},Oo={class:"flex items-center gap-1"},Ao={class:"text-red-500 font-medium whitespace-nowrap"},Ro={class:"text-sm"},To={class:"flex justify-between mb-1"},$o={class:"font-medium text-red-500"},Eo={class:"flex justify-between mb-1"},Do={class:"flex justify-between mb-1"},Fo={class:"font-medium"},Uo={key:0,class:"flex justify-between"},Lo={key:1},Io=["title"],zo={key:1},jo={key:0,class:"text-gray-400"},Mo={class:"flex items-center gap-1 flex-wrap"},qo={class:"flex justify-end mt-4"},Bo={class:"flex items-center gap-2 ml-4 shrink-0"},Ho={class:"text-sm text-gray-700 font-medium"},Wo={class:"create-order-dialog__inner"},Go={key:0,class:"create-order-rx-card"},Ko={class:"create-order-rx-card__head"},Qo={class:"create-order-rx-card__meta"},Jo={class:"create-order-rx-card__id"},Yo={key:0,class:"create-order-rx-card__sn"},Xo={class:"create-order-rx-card__patient"},Zo={class:"create-order-rx-card__herbs"},eu={class:"text-sm text-gray-700 mt-1"},tu={class:"create-order-step-lead"},au={class:"flex gap-2 w-full"},su={class:"create-order-step-panel"},lu={class:"create-order-step-panel"},nu={class:"flex flex-wrap items-center gap-2 pb-2 border-b border-gray-100"},ru={class:"text-xs text-gray-400"},iu={class:"mt-2 space-y-1.5 text-xs sm:text-sm"},ou={key:0,class:"space-y-1.5"},uu={class:"text-gray-800 break-all"},du={key:1,class:"text-gray-400"},pu={class:"flex items-center gap-1 w-full"},cu={class:"flex gap-2 w-full"},mu={class:"flex flex-col gap-0.5",style:{"line-height":"normal"}},_u={class:"flex items-center justify-between"},fu={class:"font-medium text-[13px] text-gray-800"},vu={class:"text-orange-500 font-medium ml-4"},gu={class:"flex items-center justify-between text-xs text-gray-400 mt-1"},yu={class:"truncate pr-2"},bu={class:"shrink-0"},xu={class:"create-order-pay-hint text-gray-500"},ku={class:"text-amber-600 font-medium"},hu={class:"create-order-step-panel"},wu={class:"create-order-deposit-bar__cell"},Vu={class:"create-order-deposit-bar__sub"},Su={class:"create-order-deposit-bar__cell"},Nu={class:"create-order-deposit-bar__sub"},Cu={class:"create-order-footer"},Pu={key:0,class:"create-order-footer__hint"},Ou={class:"create-order-footer__step"},Au={key:0,class:"create-order-footer__warn"},Ru={class:"create-order-footer__actions"},Tu={class:"text-sm"},$u={class:"text-gray-600"},Eu={class:"text-gray-600"},Du={class:"min-h-[52px]"},Fu={class:"text-xs leading-relaxed space-y-1.5"},Uu={key:0,class:"flex flex-wrap gap-1 items-center"},Lu={key:1,class:"list-disc pl-4 space-y-0.5 text-red-50"},Iu={class:"mt-3"},zu={key:0,class:"rounded-lg border border-amber-200/80 bg-amber-50/50 p-3"},ju={class:"text-xs font-semibold text-amber-900 mb-2"},Mu={class:"text-red-500"},qu={key:1,class:"text-xs text-gray-500 mt-2"},Bu={class:"text-xs text-gray-500 mt-1"},Hu={class:"text-xs text-gray-500 mt-1"},Wu={class:"flex flex-col gap-0.5 py-0.5"},Gu={class:"flex items-center justify-between"},Ku={class:"text-sm"},Qu={class:"text-orange-500 font-medium ml-4"},Ju={class:"text-xs text-gray-400"},Yu={class:"flex items-center justify-between w-full pr-2 gap-3"},Xu={key:0,class:"flex items-center gap-2 shrink-0"},Zu={class:"rx-wrap"},ed={key:1,class:"rx-statusbar"},td={key:2,class:"rx-status rx-status-danger"},ad={key:3,class:"rx-status rx-status-danger"},sd={key:0,class:"mt-1"},ld={key:4,class:"rx-status rx-status-danger"},nd={key:0,class:"mt-1"},rd={class:"rx-title"},id={class:"rx-notice"},od={class:"rx-notice-text"},ud={class:"rx-notice-meta"},dd={class:"rx-meta-item"},pd={class:"rx-meta-value"},cd={class:"rx-meta-item"},md={class:"rx-meta-value"},_d={class:"rx-meta-item"},fd={class:"rx-meta-value"},vd={key:0,class:"rx-meta-item"},gd={class:"rx-meta-value"},yd={class:"rx-info"},bd={class:"rx-info-row"},xd={class:"rx-info-cell"},kd={class:"rx-val"},hd={class:"rx-info-cell"},wd={class:"rx-val"},Vd={class:"rx-info-cell"},Sd={class:"rx-val"},Nd={class:"rx-info-cell"},Cd={class:"rx-val"},Pd={class:"rx-info-row rx-info-row-full"},Od={class:"rx-info-cell"},Ad={class:"rx-val"},Rd={class:"rx-info-row rx-info-row-full"},Td={class:"rx-info-cell"},$d={class:"rx-val"},Ed={class:"rx-rp"},Dd={class:"rx-watermark"},Fd={class:"rx-rp-head"},Ud={class:"rx-rp-cols-head"},Ld={class:"rx-rp-col-head"},Id={class:"rx-rp-col-head"},zd={class:"rx-herbs"},jd={class:"rx-herb-name"},Md={class:"rx-herb-total"},qd={class:"rx-herb-section-label rx-herb-section-label--aux"},Bd={key:0,class:"rx-herb-library-name"},Hd={class:"rx-herb-name"},Wd={class:"rx-herb-total"},Gd={class:"rx-herb-name"},Kd={class:"rx-herb-total"},Qd={class:"rx-herb-name"},Jd={class:"rx-herb-total"},Yd={class:"rx-text"},Xd={key:0},Zd={key:1},ep={key:2},tp={key:1},ap={key:2},sp={key:3},lp={key:4,class:"rx-text-warn"},np={key:5,class:"rx-text-warn"},rp={class:"rx-bottom"},ip={class:"rx-bot-cell rx-bot-doctor"},op={class:"rx-bot-doctor-body"},up=["src"],dp={key:1,class:"rx-bot-doctor-name"},pp={key:0,class:"rx-bot-cell rx-bot-meta"},cp={class:"rx-bot-meta-val"},mp={class:"rx-bot-cell rx-bot-meta"},_p={class:"rx-bot-meta-val"},fp={key:1,class:"rx-bot-cell rx-bot-meta"},vp={class:"rx-bot-meta-val"},gp={key:6,class:"rx-audit"},yp={key:0},bp={key:0,class:"ml-2 text-gray-400"},xp={key:1,class:"mt-1"},kp={key:0,class:"px-4"},hp={class:"flex items-center justify-between"},wp={class:"text-lg font-semibold text-orange-600"},Vp={class:"text-lg font-semibold text-blue-600"},Sp={class:"text-lg font-semibold text-green-600"},Np={class:"text-xl font-bold text-red-600"},Cp={class:"text-sm text-gray-500 mt-1.5"},Pp={class:"font-medium text-gray-700"},Op={key:0},Ap={class:"text-sm text-gray-700 leading-relaxed"},Rp={class:"flex items-center justify-between"},Tp={class:"text-sm text-gray-500"},$p={class:"font-medium text-orange-600"},Ep={class:"text-base font-medium"},Dp={class:"text-base font-medium"},Fp={class:"text-sm text-gray-600 mb-3"},Up={class:"text-primary"},Lp=Os({name:"prescriptionOrderList"}),Ip=Os({...Lp,setup(zp){const As=Dr(()=>Fr(()=>import("./edit-DSANIFY1.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]))),ve=Pi(),Rs=Bn(),ya=g(null);function Ts(){var e,s;const t=Number((e=$.value)==null?void 0:e.diagnosis_id);if(!t){N.msgWarning("本订单未关联诊单,无法查看患者诊单信息");return}(s=ya.value)==null||s.openViewOnly(t)}const $s=6,ba=[3,8],Es=V(()=>{const t=ve.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($s)?!ba.some(s=>e.includes(s)):!1}),Ds=V(()=>{const t=ve.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 ba.some(s=>e.includes(s))}),Fs=V(()=>Es.value||Ds.value),xa=g([]),it=V(()=>{const t=ve.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=>Xr.includes(s)):!0}),Us=V(()=>it.value?"详情/审核":"详情"),Ls=[0,3,6],ka=[0,3],Ft=()=>{const t=ve.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 Ls.some(s=>e.includes(s))},ue=g(!1),ha=V(()=>{const t=ve.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 ka.some(s=>e.includes(s))}),ge=g([]);function Is(t){ge.value=Array.isArray(t)?t:[]}const Ie=g(!1),ot=g(""),Ut=g(!1);function zs(){if(ge.value.length===0){N.msgWarning("请先勾选要改派的订单");return}ot.value="",Ie.value=!0}async function js(){const t=Number(ot.value);if(!t){N.msgWarning("请选择目标医助");return}const e=ge.value.map(s=>Number(s.id)).filter(s=>s>0);if(e.length===0){N.msgWarning("请先勾选要改派的订单");return}Ut.value=!0;try{const s=await ii({order_ids:e,assistant_id:t}),i=Number((s==null?void 0:s.success)??0),u=Array.isArray(s==null?void 0:s.errors)?s.errors:[];let p=`已改派 ${i} 单`;u.length&&(p+=`;${u.join(";")}`),N.msgSuccess(p),Ie.value=!1,ge.value=[],U()}catch{}finally{Ut.value=!1}}const ut=g([]),Lt=g([]),It=g([]),Ne=g([]),dt=g([]),Ms={value:"id",label:"name",children:"children"};function wa(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 u=wa(i.children||[],e);if(u)return u}return null}function Va(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(...Va(i));return s}function qs(t,e){const s=wa(e,t);return s?Va(s):[t]}async function Bs(){try{const[t,e,s]=await Promise.all([oi(),ui(),Ri()]);It.value=Array.isArray(t)?t:[],Ne.value=Array.isArray(e)?e:[];const i=Array.isArray(s)?s:[];dt.value=i}catch{It.value=[],Ne.value=[],dt.value=[]}}const Hs=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 u;return{value:i.city,label:i.city,code:i.code,children:((u=i.areas)==null?void 0:u.map(p=>({value:p.area,label:p.area,code:p.code})))||[]}}))||[]}}),Ws=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),ut.value=Hs(s),console.log("regionOptions 已设置,条数:",ut.value.length)}catch(t){console.error("加载省市区数据失败:",t),ut.value=[]}},Gs=async()=>{try{const t=await Oi({type:"server_order"});Lt.value=Zr(t==null?void 0:t.server_order)}catch(t){console.error("加载服务套餐选项失败:",t),Lt.value=[]}},Ks=[{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 Qs(t){le.value="",y.exclude_fulfillment_cancelled=0,y.fulfillment_status=t,K()}const le=g(""),Js=[{label:"全部",value:""},{label:"甘草",value:"gancao"},{label:"洛阳直发",value:"direct"},{label:"自营",value:"self"}];function Ys(t){y.supply_mode=t,K()}const Xs=[{label:"全部",value:""},{label:"顺丰",value:"sf"},{label:"京东",value:"jd"}];function Zs(t){y.express_company=t,K()}const y=fe({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:""}),el=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}],tl=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}];function al(t){le.value="",y.exclude_fulfillment_cancelled=0,y.prescription_audit_status=t,K()}function sl(t){le.value="",y.exclude_fulfillment_cancelled=0,y.payment_slip_audit_status=t,K()}function pt(t){if(le.value===t){le.value="",y.prescription_audit_status="",y.payment_slip_audit_status="",y.fulfillment_status="",y.exclude_fulfillment_cancelled=0,K();return}le.value=t,y.prescription_audit_status="",y.payment_slip_audit_status="",y.fulfillment_status="",y.exclude_fulfillment_cancelled=0,t==="pendingRx"?(y.prescription_audit_status=0,y.exclude_fulfillment_cancelled=1):t==="pendingPay"?(y.prescription_audit_status=1,y.payment_slip_audit_status=0):t==="pendingShip"?y.fulfillment_status=2:t==="risk"&&(y.payment_slip_audit_status=2),K()}const{time_type:ze,dateRange:zt,resolve:Sa,handleTimeTypeChange:ll,handleCustomDateChange:nl,resetTimeFilter:rl,applyCustomRange:il}=Mr("all"),Na=()=>{Z.page=1,U()},ol=()=>ll(Na),ul=()=>nl(Na);function Ca(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 dl(t){const[e,s]=Sa(),i=Ca({...t,start_time:e,end_time:s});return di(i)}const pl=V(()=>{const[t,e]=Sa();return Ca({...y,start_time:t,end_time:e})}),{pager:Z,getLists:U,resetPage:K,resetParams:cl}=Ti({fetchFun:dl,params:y});ca(()=>{var t;return(t=Z.extend)==null?void 0:t.audit_admin_options},t=>{Array.isArray(t)&&(xa.value=t.map(e=>{if(e==null||typeof e!="object")return null;const s=e,i=Number(s.id),u=String(s.name??"").trim();return!Number.isFinite(i)||i<=0||u===""?null:{id:i,name:u}}).filter(e=>e!=null))},{immediate:!0});function ml(){const t=Rs.query,e=c=>{const h=c!=null?String(c).trim():"";return h?h.length>=10?h.slice(0,10):h:""},s=e(t.start_time),i=e(t.end_time);s&&i&&il(s,i);const u=t.assistant_dept_id;if(u!=null&&String(u)!==""){const c=Number(u);Number.isFinite(c)&&c>0&&(y.assistant_dept_id=c)}const p=t.assistant_id;if(p!=null&&String(p)!==""){const c=Number(p);Number.isFinite(c)&&c>0&&(y.assistant_id=c)}}const Pa=V(()=>{const t=y.assistant_dept_id;if(t===""||t==null)return Ne.value;const e=Number(t);if(!Number.isFinite(e))return Ne.value;const s=new Set(qs(e,dt.value));return Ne.value.filter(i=>{const u=i.dept_ids;return!Array.isArray(u)||u.length===0?!1:u.map(Number).some(p=>s.has(p))})});function _l(){const t=y.assistant_id;if(t!==""&&t!=null){const e=Number(t);Pa.value.some(i=>Number(i.id)===e)||(y.assistant_id="")}K()}const de=V(()=>{const t=Z.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=se=>{const X=Number(se);return Number.isFinite(X)?Math.round(X*100)/100:0},u=se=>se.toFixed(2),p=(t==null?void 0:t.stats_order_amount_not_cancelled)!==void 0&&(t==null?void 0:t.stats_order_amount_cancelled)!==void 0,c=(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,h=i(p?t==null?void 0:t.stats_order_amount_not_cancelled:e),M=p?i(t==null?void 0:t.stats_order_amount_cancelled):0,b=i(c?t==null?void 0:t.stats_linked_pay_amount_not_cancelled:s),ae=c?i(t==null?void 0:t.stats_linked_pay_amount_cancelled):0,J=(t==null?void 0:t.stats_order_amount_performance)!==void 0?i(t==null?void 0:t.stats_order_amount_performance):h,R=(t==null?void 0:t.stats_linked_pay_amount_performance)!==void 0?i(t==null?void 0:t.stats_linked_pay_amount_performance):b,T=String((t==null?void 0:t.stats_time_start)??"").trim(),Rt=String((t==null?void 0:t.stats_time_end)??"").trim(),tt=T&&Rt?`统计时间:${T} ~ ${Rt}`:"统计时间:—",at=String((t==null?void 0:t.stats_scope)??"restricted");let Se="统计口径:与当前列表数据可见范围一致";at==="all"?Se="统计口径:支付单审核白名单角色,按全量订单;与下方筛选项(医生/医助/医助部门/患者等,不含「创建时间」)一致":at==="assistant"?Se="统计口径:仅计诊单医助为本人且满足下方其它筛选项的订单":at==="own_rx"&&(Se="统计口径:本人创建的订单 + 关联处方开方人为本人的订单(含医助代建);与下方筛选项(不含「创建时间」)一致");const Fe=ze.value==="all"?"全部":ze.value==="today"?"今日":"区间";return{order:i(e),pay:i(s),orderStr:u(i(e)),payStr:u(i(s)),orderNotCancelledStr:u(h),orderCancelledStr:u(M),payNotCancelledStr:u(b),payCancelledStr:u(ae),orderPerformanceStr:u(J),payPerformanceStr:u(R),orderHeading:`${Fe}业绩(业务订单额)`,payHeading:`${Fe}业绩(关联实付)`,periodLine:tt,scopeHint:Se,orderSplitHint:"业绩 = 除履约已取消(4)外全部订单金额;下方为合计与已取消明细"}}),ct=V(()=>{const t=Z.extend,e=c=>{const h=Number(c);return!Number.isFinite(h)||h<0?0:Math.trunc(h)},s=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),p=e(t==null?void 0:t.focus_risk_count);return{pendingRx:s,pendingPay:i,pendingShip:u,risk:p}});function jt(t,e){const s=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"&&s===0||t==="pay"&&s===1&&i===0||t==="fulfillment"&&u===2?"po-status-tag is-focus":t==="rx"&&s===2||t==="pay"&&i===2||t==="fulfillment"&&u===4?"po-status-tag is-risk":"po-status-tag"}function fl({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),u=fa(t==null?void 0:t.recipient_phone,t==null?void 0:t.prescription_phone);return e===2||s===2||u?"po-row-risk":e===0||e===1&&s===0||i===2?"po-row-focus":i===3||i===6?"po-row-done":""}ca(it,t=>{t||y.prescription_audit_status===""||y.prescription_audit_status===void 0||(y.prescription_audit_status="",y.exclude_fulfillment_cancelled=0,K())},{immediate:!0});function vl(){le.value="",rl(),y.order_no="",y.prescription_id="",y.patient_keyword="",y.express_keyword="",y.express_company="",y.doctor_id="",y.assistant_id="",y.assistant_dept_id="",y.fulfillment_status="",y.prescription_audit_status="",y.payment_slip_audit_status="",y.supply_mode="",y.service_channel="",y.has_aux_formula="",y.audit_admin_id="",y.exclude_fulfillment_cancelled=0,cl()}function Oa(t){return t===1?"已通过":t===2?"已驳回":"待审核"}function Aa(t){return t===1?"success":t===2?"danger":"info"}function Ra(){const t=ve.userInfo;return t?Number(t.root)===1?!0:(Array.isArray(t.role_ids)?t.role_ids.map(s=>Number(s)):[]).some(s=>ka.includes(s)):!1}function Ta(t){var s;const e=Number((s=ve.userInfo)==null?void 0:s.id);return e>0&&Number(t.creator_id)===e}function $a(t){return Number(t.prescription_audit_status)===1&&Number(t.payment_slip_audit_status)===1}function Ea(t){const e=Number(t.fulfillment_status);return e===3||e===4||Ta(t)&&$a(t)&&!Ra()||Dt(t)?!1:e===1||e===2}function gl(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 bl(t){if(Dt(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 xl(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 kl(t){return Dt(t)?!1:Number(t.fulfillment_status)===1}function Mt(t){return Number(t.fulfillment_status)===2}const hl=V(()=>{const t=ve.perms||[];return t.includes("*")||t.includes("tcm.prescriptionOrder/setShipMode")});function Y(t){return String(t||"").toLowerCase()==="direct"?"direct":"gancao"}function wl(t){return Y(t)==="direct"?"洛阳药房":"甘草药房"}function Da(t){return Dt(t)}function Fa(t){const e=Number(t.fulfillment_status);return e!==3&&e!==4&&!Da(t)}const qt=g(!1);function Bt(t,e){const s=Number(t),i=Number(e);return s>0&&s===i}const Vl=V(()=>Y(W.ship_mode)==="direct"?"洛阳药房直发":"甘草药房直发");async function Sl(t){const e=$.value;if(!(e!=null&&e.id))return;const s=Y(t),i=Y(e.ship_mode);if(s!==i){if(!Fa(e)){N.msgWarning("当前订单状态不可修改发货类型");return}qt.value=!0;try{await pi({id:e.id,ship_mode:s}),$.value&&($.value.ship_mode=s),we.value&&Bt(Ae.value,e.id)&&(W.ship_mode=s),await ft(),N.msgSuccess("发货类型已保存"),U()}catch{}finally{qt.value=!1}}}async function Nl(){await ft(),U()}function Ht(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=H.value)==null?void 0:t.detail)??null}),Pl=V(()=>{var e;const t=(e=$.value)==null?void 0:e.prescription;return t&&typeof t=="object"?t:null}),za=V(()=>`${m.dose_unit||"剂"}数`),je=g(!1),Wt=g(!1),mt=g(),me=fe({id:0,amount:void 0}),Ol={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"}]},Ce=g(null),_t=g(!1),Me=V(()=>ei(Ce.value)),qe=g(!1),Gt=g(!1),Kt=g(),ne=fe({patient_name:"",phone:""}),Al={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]};function Rl(){const t=Pl.value,e=$.value;if(!t||!(e!=null&&e.id)||!e.prescription_id){N.msgWarning("无处方数据");return}ne.patient_name=String(t.patient_name??"").trim(),ne.phone=String(t.phone??"").trim(),qe.value=!0,lt(()=>{var s;return(s=Kt.value)==null?void 0:s.clearValidate()})}function Tl(){ne.patient_name="",ne.phone=""}function $l(){var t;me.id=0,me.amount=void 0,(t=mt.value)==null||t.clearValidate()}function El(){const t=$.value;if(!Vs(t)){N.msgWarning("当前订单状态不允许修改金额");return}me.id=Number(t==null?void 0:t.id)||0;const e=Number(t==null?void 0:t.amount);me.amount=Number.isFinite(e)?e:void 0,je.value=!0,lt(()=>{var s;return(s=mt.value)==null?void 0:s.clearValidate()})}async function ft(){var t;await((t=H.value)==null?void 0:t.refresh())}async function Dl(){var s;const t=Kt.value;if(!t)return;try{await t.validate()}catch{return}const e=(s=$.value)==null?void 0:s.id;if(e){Gt.value=!0;try{await ci({id:e,patient_name:ne.patient_name.trim(),phone:ne.phone.trim()}),qe.value=!1,await ft()}catch(i){console.error(i)}finally{Gt.value=!1}}}async function ja(){const t=mt.value;if(!t)return;try{await t.validate()}catch{return}if(!Vs($.value)){N.msgWarning("当前订单状态不允许修改金额");return}const e=me.id;Wt.value=!0;try{await mi({id:e,amount:Number(me.amount)}),N.msgSuccess("修改成功"),je.value=!1,await ft(),U()}catch{}finally{Wt.value=!1}}async function Fl(t){var e;await((e=H.value)==null?void 0:e.open(t))}const ke=g(!1),Qt=g(!1),Jt=g(!1),I=g(0),re=g(null),ie=g(!1),vt=g(""),Ul=V(()=>["请核对收货信息,便于发货与物流联系。","按需填写服务与物流,并选择本诊单下需要关联的支付单。","确认费用类别与订单金额;保存前请对照定金门槛是否已满足。"][I.value]??""),Ma=V(()=>{const t=re.value,e=ti(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}),Ll=["recipient_name","recipient_phone","region","shipping_address"],he=g(),m=fe({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:""}),Il=V(()=>ai(Lt.value,m.service_package)),qa=V(()=>{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(s=>s.trim()).filter(Boolean):e.split("/").map(s=>s.trim()).filter(Boolean)).filter(e=>e.length>0):[]}),Be=g([]),Yt=g(!1),j=g(0);function gt(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(t)]||"未知"}const Xt=V(()=>{const t=new Set(m.pay_order_ids.map(s=>Number(s)));let e=0;for(const s of Be.value)t.has(Number(s.id))&&(e+=Number(s.amount)||0);return Math.round(e*100)/100}),zl=V(()=>{const t=j.value;return t>0?Math.round(t*100)/100:0});async function jl(t,e){var s,i;if(!t){Be.value=[];return}try{Yt.value=!0;const u=await Ps({diagnosis_id:t,...e?{prescription_order_id:e}:{}}),p=(u==null?void 0:u.lists)??((s=u==null?void 0:u.data)==null?void 0:s.lists)??[];Be.value=Array.isArray(p)?p:[];const c=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(c)&&c>=0&&(j.value=c)}catch{Be.value=[]}finally{Yt.value=!1}}const Ml=V(()=>{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 u=j.value,p=Number(s);if(u>0&&(!Number.isFinite(p)||p0){const e=`已开启关联支付门槛(¥${B(j.value)}),请至少选择一笔支付单`;t.pay_order_ids=[{type:"array",required:!0,min:1,message:e,trigger:"change"}]}return t});function ql(){var t;I.value=0,re.value=null,ie.value=!1,vt.value="",(t=he.value)==null||t.clearValidate()}function Bl(){I.value>0&&(I.value-=1)}async function Hl(){const t=he.value;if(t)try{I.value===0?await t.validateField([...Ll]):I.value===1&&j.value>0&&await t.validateField(["pay_order_ids"]),I.value<2&&(I.value+=1)}catch{}}async function Wl(t){if(!Ea(t)){Ta(t)&&$a(t)&&!Ra()&&N.msgWarning("处方与支付单均已审核通过,创建人不可再编辑");return}I.value=0,re.value=null,ke.value=!0,Qt.value=!0;try{const e=await rt({id:t.id}),s=(e==null?void 0:e.data)??e;if(!s){N.msgError("加载数据结构异常"),ke.value=!1;return}const i=s.prescription;i&&typeof i=="object"?re.value=i:Number(s.prescription_id)>0?re.value={id:Number(s.prescription_id),sn:"",patient_name:String(s.recipient_name||""),herbs:[]}:re.value=null,m.id=s.id,m.prescription_id=Number(s.prescription_id)||0,m.diagnosis_id=Number(s.diagnosis_id)||0,m.assistant_id=Number(s.assistant_id)||0,m.diagnosis_creator_id=Number(s.diagnosis_creator_id)||0,m.diagnosis_creator_name=s.diagnosis_creator_name!=null&&s.diagnosis_creator_name!==""?String(s.diagnosis_creator_name):"",m.diagnosis_creator_dept_path=s.diagnosis_creator_dept_path!=null&&s.diagnosis_creator_dept_path!==""?String(s.diagnosis_creator_dept_path):"",m.recipient_name=s.recipient_name||"",m.recipient_phone=s.recipient_phone||"";const u=s.shipping_province||"",p=s.shipping_city||"",c=s.shipping_district||"";u||p||c?m.region=[u,p,c].filter(T=>T!==""):m.region=[],m.shipping_address=s.shipping_address||"",m.is_follow_up=s.is_follow_up?1:0,m.medication_days=s.medication_days>0?s.medication_days:void 0,m.dose_count=s.dose_count>0?s.dose_count:1,m.dose_unit=s.dose_unit||"剂",m.prev_staff=s.prev_staff||"",m.service_channel=s.service_channel||"",m.service_package=si(s.service_package),m.express_company=String(s.express_company||"auto")||"auto",m.tracking_number=s.tracking_number||"",m.fee_type=Number(s.fee_type)||3,j.value=Number(s.deposit_min_amount)||0;let h=Number(s.amount)||0;const M=Math.round((Number(s.linked_pay_paid_total)||0)*100)/100,b=j.value;if(b>0){const T=Math.round(b*100)/100;hNumber(T)).filter(T=>!Number.isNaN(T)):[],m.internal_cost=s.internal_cost!=null&&s.internal_cost!==""?Number(s.internal_cost):void 0;const J=String(s.gancao_reciperl_order_no||"").trim(),R=Number(s.gancao_submit_time||0);ie.value=J!==""||R>0,vt.value=J||"",await jl(m.diagnosis_id,m.id),lt(()=>{var T;(T=he.value)==null||T.clearValidate()})}catch(e){N.msgError((e==null?void 0:e.message)||"加载异常"),ke.value=!1}finally{Qt.value=!1}}async function Gl(){if(!he.value)return;const t=ie.value;if(!(!t&&I.value!==2)){t?he.value.clearValidate():await he.value.validate(),Jt.value=!0;try{const e={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?(e.shipping_province=m.region[0]||"",e.shipping_city=m.region[1]||"",e.shipping_district=m.region[2]||""):(e.shipping_province="",e.shipping_city="",e.shipping_district=""),e.pay_order_ids=[...m.pay_order_ids],await ga(e),N.msgSuccess("保存成功"),ke.value=!1,U()}catch{}finally{Jt.value=!1}}}const He=g(!1),Zt=g("prescription"),ea=g(0),We=g(null),Pe=g(""),yt=g(!1),Kl=V(()=>Zt.value==="prescription"?"处方业务审核":"关联支付单审核");function Ba(t,e){Zt.value=e,ea.value=t.id,We.value=t,Pe.value="",He.value=!0}async function Ha(t){var e;if(t==="reject"&&!Pe.value.trim()){N.msgError("驳回或阻止时必须填写明确的审核意见");return}yt.value=!0;try{const s={id:ea.value,action:t,remark:Pe.value.trim()};Zt.value==="prescription"?await _i(s):await fi(s),N.msgSuccess(t==="approve"?"审核通过成功":"已成功驳回该单"),He.value=!1,U(),await((e=H.value)==null?void 0:e.refreshIfCurrent(ea.value))}catch{}finally{yt.value=!1}}async function Ql(t){try{await nt.confirm("确认撤回该业务订单?撤回后状态为「已取消」,未双审通过或双审均驳回等场景下均可安全撤回。","撤回警告",{type:"warning",confirmButtonText:"确定撤回",cancelButtonText:"暂不处理"}),await vi({id:t.id}),N.msgSuccess("撤回成功"),U()}catch{}}const bt=g(0),xt=g(!1),Oe=g(!1),F=g(null);function ta(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 Jl(t,e){const s=parseFloat(ta(t))||0,i=Number(e)||0;return i<=0?"—":(s/i*100).toFixed(2)}function Yl(t){return!Array.isArray(t)||t.length===0?"0":t.reduce((s,i)=>s+(Number(i.quantity)||0),0).toFixed(0)}async function Xl(){if(!m.id){N.msgError("请先保存订单");return}Oe.value=!0;try{const t=await Ns({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&&(F.value=e,xt.value=!0,N.msgSuccess("预下单测试成功"))}catch{}finally{Oe.value=!1}}async function Zl(){var t,e;if(!((t=$.value)!=null&&t.id)){N.msgError("订单数据不存在");return}Oe.value=!0;try{const s=await Ns({id:$.value.id,dose_count:$.value.dose_count||1,medication_days:$.value.medication_days||void 0}),i=(s==null?void 0:s.data)??s;if(i&&i.success&&(F.value=i,xt.value=!0,Ft()&&i.fee)){const u=ta(i.fee);try{const p=await rt({id:$.value.id}),c=(p==null?void 0:p.data)??p;if(c!=null&&c.id){const h=c.service_package,M=Array.isArray(h)?h.join(","):String(h||"");await ga({id:c.id,recipient_name:c.recipient_name||"",recipient_phone:c.recipient_phone||"",shipping_province:c.shipping_province||"",shipping_city:c.shipping_city||"",shipping_district:c.shipping_district||"",shipping_address:c.shipping_address||"",is_follow_up:c.is_follow_up?1:0,medication_days:c.medication_days!=null&&String(c.medication_days).trim()!==""?c.medication_days:"",dose_unit:c.dose_unit||"剂",dose_count:c.dose_count>0?c.dose_count:1,prev_staff:c.prev_staff||"",service_channel:c.service_channel||"",service_package:M,express_company:c.express_company||"auto",tracking_number:c.tracking_number||"",fee_type:Number(c.fee_type)||3,amount:Number(c.amount)||0,remark_extra:c.remark_extra||"",remark_assistant:c.remark_assistant||"",internal_cost:u,pay_order_ids:Array.isArray(c.pay_order_ids)?c.pay_order_ids:[]}),N.msgSuccess("内部成本已按预报价总计更新"),U(),await((e=H.value)==null?void 0:e.refreshIfCurrent(c.id))}}catch{}}}catch{}finally{Oe.value=!1}}async function Wa(t){var i;const s=Y(t.ship_mode)==="direct"?"洛阳药房":"甘草药房";try{await nt.confirm(`将把本单关联处方提交至${s},提交成功后不可切换发货药房。确定继续?`,"上传药房",{type:"warning",confirmButtonText:"确定上传",cancelButtonText:"取消"}),bt.value=t.id;const u=await gi({id:t.id}),p=(u==null?void 0:u.data)??u,c=(p==null?void 0:p.pharmacy_order_no)!=null?String(p.pharmacy_order_no):(p==null?void 0:p.recipel_order_no)!=null?String(p.recipel_order_no):"";N.msgSuccess(c?`上传成功,${s}单号:${c}`:"上传成功"),U(),await((i=H.value)==null?void 0:i.refreshIfCurrent(t.id))}catch{}finally{bt.value=0}}Hn(async()=>{await Ws(),await Gs(),await Bs(),ml(),await lt(),U()});const Ge=g(!1),kt=g(!1),ht=g(0),ee=fe({express_company:"auto",tracking_number:""});function en(t){ht.value=t.id,ee.express_company=String(t.express_company||"auto")||"auto",ee.tracking_number=String(t.tracking_number||""),Ge.value=!0}async function Ga(){var t;if(!ee.tracking_number.trim()){N.msgError("请填写快递单号");return}kt.value=!0;try{const e=await rt({id:ht.value}),s=(e==null?void 0:e.data)??e;if(!s){N.msgError("加载订单数据失败");return}if(await ga({id:s.id,recipient_name:s.recipient_name||"",recipient_phone:s.recipient_phone||"",shipping_province:s.shipping_province||"",shipping_city:s.shipping_city||"",shipping_district:s.shipping_district||"",shipping_address:s.shipping_address||"",is_follow_up:s.is_follow_up?1:0,medication_days:s.medication_days!=null&&String(s.medication_days).trim()!==""?s.medication_days:"",prev_staff:s.prev_staff||"",service_channel:s.service_channel||"",service_package:s.service_package||"",fee_type:Number(s.fee_type)||3,amount:Number(s.amount)||0,remark_extra:s.remark_extra||"",remark_assistant:s.remark_assistant||"",internal_cost:s.internal_cost!=null&&s.internal_cost!==""?s.internal_cost:"",pay_order_ids:Array.isArray(s.pay_order_ids)?s.pay_order_ids:[],express_company:ee.express_company||"auto",tracking_number:ee.tracking_number.trim()}),N.msgSuccess("快递单号已保存"),Ge.value=!1,U(),await((t=H.value)==null?void 0:t.refreshIfCurrent(ht.value)),Mt({fulfillment_status:Number(s.fulfillment_status)}))try{await nt.confirm(`快递单号「${ee.tracking_number}」已保存,是否立即确认发货?`,"确认发货",{type:"success",confirmButtonText:"确认发货",cancelButtonText:"稍后再说"}),aa({id:ht.value,tracking_number:ee.tracking_number,express_company:ee.express_company})}catch{}}catch{}finally{kt.value=!1}}const we=g(!1),wt=g(!1),Ae=g(0),W=fe({ship_mode:"gancao",express_company:"auto",tracking_number:""});function tn(t){var e;return Bt((e=$.value)==null?void 0:e.id,t.id)?Y($.value.ship_mode):Y(t.ship_mode)}function aa(t){Ae.value=Number(t.id),W.ship_mode=tn(t),W.express_company=String(t.express_company||"auto")||"auto",W.tracking_number=String(t.tracking_number||""),we.value=!0}ca(()=>{var t;return(t=$.value)==null?void 0:t.ship_mode},t=>{var e;!we.value||!Ae.value||!Bt((e=$.value)==null?void 0:e.id,Ae.value)||(W.ship_mode=Y(t))});async function Ka(){var t;if(!W.tracking_number.trim()){N.msgError("请先填写快递单号再确认发货");return}wt.value=!0;try{await yi({id:Ae.value,ship_mode:Y(W.ship_mode),express_company:W.express_company||"auto",tracking_number:W.tracking_number.trim()}),N.msgSuccess("确认发货成功,订单已进入「已发货」状态"),we.value=!1,U(),await((t=H.value)==null?void 0:t.refreshIfCurrent(Ae.value))}catch{}finally{wt.value=!1}}const an=[{value:3,label:"已完成"},{value:7,label:"进行中"},{value:8,label:"暂不制药"},{value:9,label:"拒收"},{value:10,label:"退款"},{value:11,label:"保留药方"},{value:12,label:"制药缓发"}],Re=g(!1),Te=g(0),ye=g(3),Ke=g(!1),Qe=g(!1),pe=g([]),sa=g(),te=fe({reason:"",refund_amount:void 0}),be=g(0),sn=V(()=>la(pe.value)),ln=V(()=>({refund_amount:[{required:!0,message:"请输入退款金额",trigger:"change"},{validator:(t,e,s)=>{const i=Number(e),u=be.value;if(!Number.isFinite(i)||i<=0){s(new Error("退款金额须大于 0"));return}if(u>0&&i>u+.009){s(new Error(`不能超过可退上限 ¥${B(u)}`));return}s()},trigger:"change"}],reason:[{required:!0,message:"请填写退款原因",trigger:"blur"}]}));let Je=0;function nn(){var t;Te.value=0,pe.value=[],Qe.value=!1,te.reason="",te.refund_amount=void 0,be.value=0,(t=sa.value)==null||t.clearValidate(),Je+=1,Ce.value=null,_t.value=!1}async function rn(t){if(!t){pe.value=[];return}Qe.value=!0;try{const e=await rt({id:t}),s=(e==null?void 0:e.data)??e??null,i=s==null?void 0:s.linked_pay_orders;pe.value=Array.isArray(i)?i:[];const u=la(pe.value),p=Number(s==null?void 0:s.paid)||0;be.value=u>0?u:p,te.refund_amount=be.value}catch{pe.value=[],be.value=0}finally{Qe.value=!1}}async function on(t){const e=Number(t.id),s=String(t.tracking_number||"").trim();if(!e||!s)return;const i=++Je;_t.value=!0,Ce.value=null;try{const u=String(t.recipient_phone||"").replace(/\D/g,""),p={id:e,express_company:String(t.express_company||"auto")||"auto"};u.length>=4&&(p.phone_tail=u);const c=await Ni(p);if(i!==Je||Te.value!==e)return;Ce.value=ni(c,s,e)}catch{if(i!==Je||Te.value!==e)return;Ce.value=null}finally{i===Je&&Te.value===e&&(_t.value=!1)}}async function un(){var e,s,i;const t=Te.value;if(t){if(ye.value===10){if(!await((e=sa.value)==null?void 0:e.validate().catch(()=>!1)))return;Ke.value=!0;try{await Cs({id:t,reason:te.reason.trim(),refund_amount:Number(te.refund_amount)}),N.msgSuccess("退款成功"),Re.value=!1,U(),await((s=H.value)==null?void 0:s.refreshIfCurrent(t))}catch{}finally{Ke.value=!1}return}Ke.value=!0;try{await bi({id:t,fulfillment_status:ye.value}),N.msgSuccess("订单状态已更新"),Re.value=!1,U(),await((i=H.value)==null?void 0:i.refreshIfCurrent(t))}catch{}finally{Ke.value=!1}}}function la(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 Ye=g(!1),na=g(0),ra=g(!1),ia=g(),oe=g(0),Q=fe({reason:"",refund_amount:void 0}),dn=V(()=>{const t=B(oe.value),e=B(Q.refund_amount);return Number(Q.refund_amount)>=oe.value-.009?`确认全额退款 ¥${t}:关联收款将标记已退款,本单已付清零,且不可撤销。`:`确认部分退款 ¥${e}(可退上限 ¥${t}):将扣减本单已付,并按金额依次标记关联收款已退款。`}),pn=V(()=>({refund_amount:[{required:!0,message:"请输入退款金额",trigger:"change"},{validator:(t,e,s)=>{const i=Number(e),u=oe.value;if(!Number.isFinite(i)||i<=0){s(new Error("退款金额须大于 0"));return}if(u>0&&i>u+.009){s(new Error(`不能超过可退上限 ¥${B(u)}`));return}s()},trigger:"change"}],reason:[{required:!0,message:"请填写退款原因",trigger:"blur"}]}));function cn(){var t;na.value=0,Q.reason="",Q.refund_amount=void 0,oe.value=0,(t=ia.value)==null||t.clearValidate()}async function Qa(t){na.value=t.id,Q.reason="",Q.refund_amount=void 0,oe.value=0,Ye.value=!0;try{const e=await rt({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:[],u=la(i),p=Number(s==null?void 0:s.paid)||0;oe.value=u>0?u:p,Q.refund_amount=oe.value}catch{oe.value=0}}async function mn(){var s,i;const t=na.value;if(!(!t||!await((s=ia.value)==null?void 0:s.validate().catch(()=>!1)))){ra.value=!0;try{await Cs({id:t,reason:Q.reason.trim(),refund_amount:Number(Q.refund_amount)}),N.msgSuccess("退款成功"),Ye.value=!1,U(),await((i=H.value)==null?void 0:i.refreshIfCurrent(t))}catch{}finally{ra.value=!1}}}const Xe=g(!1),Vt=g(!1),Ze=g(0),St=g(),oa=g(!1),Nt=g([]),_n=V(()=>C.add_mode==="completion_only"?"不创建或关联支付单,仅提交完单申请,由审核人员在支付审核时处理。":C.add_mode==="create_express"?"通过快递代收创建新支付单(流转同付呗),或关联已存在但未绑定的支付单。":"可以通过付呗创建新支付单,或关联已存在但未绑定的支付单。"),C=fe({add_mode:"create",order_type:3,pay_amount:void 0,pay_remark:"",link_pay_order_ids:[],completion_request:0}),fn=V(()=>{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=[{validator:(e,s,i)=>{if(s==null||s===""){i(new Error("请输入支付金额"));return}const u=Number(s);!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,s,i)=>{!Array.isArray(s)||s.length===0?i(new Error("请至少选择一个支付单")):i()}}]),t});async function vn(t,e=[]){var s;if(!t){Nt.value=[];return}try{oa.value=!0;const i=await Ps({diagnosis_id:t}),u=(i==null?void 0:i.lists)??((s=i==null?void 0:i.data)==null?void 0:s.lists)??[],p=Array.isArray(u)?u.filter(c=>!e.includes(c.id)):[];Nt.value=p}catch{Nt.value=[]}finally{oa.value=!1}}function Ja(t){var i,u;if(!Ht(t)){N.msgWarning("订单总金额与已付金额一致,无需补齐支付单");return}Ze.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,Xe.value=!0;const e=t.diagnosis_id||((i=$.value)==null?void 0:i.diagnosis_id),s=t.pay_order_ids||((u=$.value)==null?void 0:u.pay_order_ids)||[];e&&vn(e,s)}async function gn(){var t;if(St.value){await St.value.validate(),Vt.value=!0;try{if(C.add_mode==="completion_only")await xi({id:Ze.value}),N.msgSuccess("完单申请已提交,请等待支付审核");else if(C.add_mode==="create"||C.add_mode==="create_express")await ki({id:Ze.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"}),N.msgSuccess("支付单已新增,请等待审核");else{const e=C.link_pay_order_ids;if(e.length===0){N.msgError("请至少选择一个支付单");return}await hi({id:Ze.value,pay_order_ids:e,completion_request:C.completion_request}),N.msgSuccess(`已关联 ${e.length} 个支付单,请等待审核`)}Xe.value=!1,U(),await((t=H.value)==null?void 0:t.refreshIfCurrent(Ze.value))}catch{}finally{Vt.value=!1}}}function Ya(t){Te.value=t.id,ye.value=3,te.reason="",te.refund_amount=void 0,pe.value=[],Ce.value=null,Re.value=!0,rn(t.id),String(t.tracking_number||"").trim()&&on(t)}async function yn(t){var e;try{await nt.confirm("确认撤回处方审核?撤回后将重置为「待审核」状态。","撤回处方审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await wi({id:t.id}),N.msgSuccess("处方审核已撤回"),U(),await((e=H.value)==null?void 0:e.refreshIfCurrent(t.id))}catch{}}async function bn(t){var e;try{await nt.confirm("确认撤回支付单审核?撤回后将重置为「待审核」状态。","撤回支付单审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await Vi({id:t.id}),N.msgSuccess("支付单审核已撤回"),U(),await((e=H.value)==null?void 0:e.refreshIfCurrent(t.id))}catch{}}const xn="成都双流甄养堂互联网医院 处方笺",Ct=g(!1),Pt=g(!1),x=g(null),$e=g(""),G=g("internal"),Xa=g(null),Ee=g(!1);function Za(t,e,s){const i=t.prescription_type||"浓缩水丸",u=Number(t.times_per_day)>0?Number(t.times_per_day):3,p=t.dosage_amount!=null?Number(t.dosage_amount):10,c=t.dosage_unit||(i==="饮片"?"ml":"g"),h=t.usage_way||e||"温水送服",M=t.usage_time||s||"",b=[];if(b.push(`每天${u}次`),i==="浓缩水丸"){const ae=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;b.push(`一次${ae}袋`),b.push(`每袋${p}${c}`)}else b.push(`一次${p}${c}`);return b.push(h),M&&b.push(M),b.join(", ")}const et=V(()=>{var e;const t=(e=x.value)==null?void 0:e.herbs;return Array.isArray(t)?t:[]}),Ot=V(()=>et.value.filter(t=>va(t==null?void 0:t.formula_type)==="主方")),De=V(()=>et.value.filter(t=>va(t==null?void 0:t.formula_type)==="辅方")),es=V(()=>{var t;return li((t=x.value)==null?void 0:t.dietary_taboo)}),ts=V(()=>{const t=x.value;if(!t||(t.prescription_type||"浓缩水丸")!=="浓缩水丸")return null;const e=Number(t.medication_days??t.usage_days??t.dose_count),s=Number(t.times_per_day),i=Number(t.dosage_amount),u=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;return!Number.isFinite(e)||!Number.isFinite(s)||!Number.isFinite(i)||e<=0||s<=0||i<=0?null:e*s*i*u}),as=V(()=>{const t=x.value;if(!t||(t.prescription_type||"浓缩水丸")!=="浓缩水丸"||!De.value.length)return null;const e=Ss(t.aux_usage,t.prescription_type||"浓缩水丸"),s=Number(t.medication_days??e.usage_days),i=Number(e.times_per_day),u=Number(e.dosage_amount),p=Number(e.dosage_bag_count)>0?Number(e.dosage_bag_count):1;return!Number.isFinite(s)||!Number.isFinite(i)||!Number.isFinite(u)||s<=0||i<=0||u<=0?null:s*i*u*p}),At=t=>String(t).padStart(2,"0"),kn=V(()=>{const t=x.value;if(!t)return"—";const e=t.create_time??t.update_time??null;if(e){const s=String(e).length===10?Number(e)*1e3:Number(e),i=new Date(s);if(!isNaN(i.getTime()))return`${i.getFullYear()}-${At(i.getMonth()+1)}-${At(i.getDate())} ${At(i.getHours())}:${At(i.getMinutes())}`}return t.prescription_date||"—"}),hn=V(()=>{const t=x.value;if(!t)return"—";const e=String(t.sn??"").trim();if(e)return e;const s=String(t.visit_no??"").trim();return s||"—"}),wn=V(()=>{const t=x.value;if(!t)return"—";const e=Number(t.appointment_id);return Number.isFinite(e)&&e>0?String(e):"—"}),ss=V(()=>{const t=x.value;return t?String(t.order_no??"").trim():""}),Vn=V(()=>{const t=x.value;if(!t)return"—";if(t.recipient_text)return t.recipient_text;const e=[];(t.recipient_name||t.patient_name)&&e.push(t.recipient_name||t.patient_name),(t.recipient_phone||t.phone)&&e.push(t.recipient_phone||t.phone);let s=t.region;return Array.isArray(s)&&(s=s.filter(Boolean).join("")),s&&e.push(String(s)),t.shipping_address?e.push(String(t.shipping_address)):t.address&&e.push(String(t.address)),e.length?e.join(","):"—"}),ls=V(()=>{var e;const t=Number((e=x.value)==null?void 0:e.dose_count);return Number.isFinite(t)&&t>0?t:1}),Sn=V(()=>{const e=et.value.reduce((s,i)=>s+(Number(i==null?void 0:i.dosage)||0),0);return Ve(e)}),ns=t=>{const e=Number(t)||0;return Ve(e*ls.value)},Nn=V(()=>{const t=x.value;if(!t)return"—";const e=t.prescription_type||"浓缩水丸";return e==="饮片"?"饮片":/丸|散|膏|片/.test(e)?`浓缩丸-${e}`:e}),rs=V(()=>{const t=x.value;return t?t.usage_text?t.usage_text:Za(t):"—"}),ua=V(()=>{const t=x.value;if(!t||!De.value.length)return"";const e=Ss(t.aux_usage,t.prescription_type||"浓缩水丸");return Za({prescription_type:t.prescription_type,dosage_amount:e.dosage_amount,dosage_unit:t.dosage_unit,dosage_bag_count:e.dosage_bag_count,times_per_day:e.times_per_day,usage_way:t.usage_way,usage_time:t.usage_time},t.usage_way,t.usage_time)}),Cn=V(()=>{const t=ts.value,e=as.value,s=typeof t=="number"&&isFinite(t)&&t>0?t:0,i=typeof e=="number"&&isFinite(e)&&e>0?e:0,u=s+i;if(u>0)return Ve(u);const p=x.value;if(!p)return"";const c=p.out_pellet||p.total_weight;if(c&&Number(c)>0)return Ve(Number(c));const h=et.value;if(!h.length)return"";const M=h.reduce((b,ae)=>b+(Number(ae==null?void 0:ae.dosage)||0),0);return Ve(M*ls.value)}),is=V(()=>{const t=x.value;return t&&t.medical_advice||""}),os=V(()=>{const t=x.value;if(!t)return"";const e=[];return e.push(`共${et.value.length}味药`),t.usage_notes&&e.push(String(t.usage_notes)),t.remark&&e.push(String(t.remark)),e.join(" ")}),us=V(()=>{const t=x.value;return t&&(t.pharmacy_remark||t.pharmacy_note)||""}),ds=V(()=>{const t=Cn.value;if(!t)return"";const e=ts.value,s=as.value;return typeof e=="number"&&isFinite(e)&&e>0&&typeof s=="number"&&isFinite(s)&&s>0?`${t}克(主方 ${Ve(e)}克 + 辅方 ${Ve(s)}克)`:`${t}克`});function Ve(t){return isFinite(t)?Number.isInteger(t)?String(t):t.toFixed(2).replace(/\.?0+$/,""):"0"}function ps(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 Pn(t){return t?ps(t):"—"}function On(t){return t===1||t==="1"?"男":t===0||t==="0"?"女":"—"}function An(t){return t==null||t===""?"—":`${t}岁`}function Rn(){ms(m)}function cs(t){return t.map(e=>`${String(e.name??"").trim()}:${Number(e.dosage)||0}`).sort().join("|")}function Tn(t,e){return!t.length||!e.length||t.length!==e.length?!1:cs(t)===cs(e)}function $n(t){if(!t||typeof t!="object")return"";const e=t;return String(e.prescription_name??e.library_name??"").trim()}async function En(t){const e=$n(t.aux_usage);if(e)return e;const i=(Array.isArray(t.herbs)?t.herbs:[]).filter(p=>va(p==null?void 0:p.formula_type)==="辅方");if(!i.length)return"";const u=Number(t.creator_id)>0?Number(t.creator_id):0;if(!u)return"";try{const p=await Ci({page_no:1,page_size:200,formula_type:"辅方",prescribing_creator_id:u}),c=Array.isArray(p==null?void 0:p.lists)?p.lists:[];for(const h of c){const M=Array.isArray(h==null?void 0:h.herbs)?h.herbs:[];if(Tn(i,M))return String((h==null?void 0:h.prescription_name)??"").trim()}}catch{}return""}async function ms(t){if(!t.prescription_id){N.msgWarning("该订单未关联处方");return}Ct.value=!0,Pt.value=!0,x.value=null,$e.value="",G.value="internal";try{const e=await Si({id:t.prescription_id}),s=(e==null?void 0:e.data)??e??null;if(s){const i=t.medication_days,u={...s};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 p=t.linked_appointment;(!u.appointment_id||Number(u.appointment_id)<=0)&&p&&typeof p=="object"&&Number(p.id)>0&&(u.appointment_id=Number(p.id)),x.value=u,$e.value=await En(u)}else x.value=null,$e.value=""}catch(e){N.msgError((e==null?void 0:e.message)||"加载处方详情失败"),Ct.value=!1,$e.value=""}finally{Pt.value=!1}}async function Dn(t){const e=t.querySelectorAll('img[src^="http"]'),s=Array.from(e).map(async i=>{try{const u=await fetch(i.src,{mode:"cors"});if(!u.ok)return;const p=await u.blob(),c=await new Promise((h,M)=>{const b=new FileReader;b.onload=()=>h(b.result),b.onerror=M,b.readAsDataURL(p)});i.src=c}catch{}});await Promise.allSettled(s)}async function _s(){await lt();const t=Xa.value;if(!t)throw new Error("未找到处方笺内容");return t.scrollIntoView({behavior:"instant",block:"nearest"}),await Dn(t),await new Promise(e=>requestAnimationFrame(()=>e(null))),await new Promise(e=>setTimeout(e,250)),Lr(t,{scale:2,useCORS:!0,allowTaint:!1,logging:!1,backgroundColor:"#ffffff",windowWidth:t.scrollWidth,windowHeight:t.scrollHeight,width:t.scrollWidth,height:t.scrollHeight,ignoreElements:e=>e instanceof HTMLElement&&e.classList.contains("cf-slip-no-export")})}function fs(){var s;const t=(s=x.value)==null?void 0:s.patient_name;return`处方_${typeof t=="string"&&t.trim()?t.trim().replace(/[\\/:*?"<>|]/g,"_"):"未命名"}_${Date.now()}`}async function Fn(){if(x.value){Ee.value=!0;try{const t=await _s(),e=document.createElement("a");e.download=`${fs()}.png`,e.href=t.toDataURL("image/png"),e.click(),N.msgSuccess("图片已下载")}catch{N.msgError("下载图片失败")}finally{Ee.value=!1}}}async function Un(){if(x.value){Ee.value=!0;try{const t=await _s(),e=t.toDataURL("image/jpeg",.95),s=new Ur({orientation:"portrait",unit:"mm",format:"a4"}),i=210,u=297,p=i,c=t.height*p/t.width;if(c<=u)s.addImage(e,"JPEG",0,0,p,c);else{let h=c,M=0;for(;h>0;)s.addImage(e,"JPEG",0,M,p,c),h-=u,M-=u,h>0&&s.addPage()}s.save(`${fs()}.pdf`),N.msgSuccess("PDF已下载")}catch{N.msgError("下载PDF失败")}finally{Ee.value=!1}}}return(t,e)=>{const s=Gn,i=Kn,u=ar,p=tr,c=lr,h=sr,M=nr,b=rr,ae=zr,J=er,R=or,T=ur,Rt=dr,Tt=cr,tt=ir,at=Ir,Se=fr,Fe=_r,se=vr,X=gr,xe=yr,da=kr,Ln=xr,z=wr,st=hr,In=Vr,zn=Cr,jn=Nr,Mn=Pr,Ue=Or,vs=Rr,qn=Ar,gs=Tr,ce=Er,pa=$r,_e=Zn,D=Wn("perms");return o(),f("div",$i,[l(s,{class:"!border-none shadow-sm mb-4",shadow:"never"},{default:n(()=>[r("div",Ei,[it.value?(o(),f("div",Di,[e[89]||(e[89]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"处方审核",-1)),(o(),f(O,null,L(el,a=>r("div",{key:a.value,class:q(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",y.prescription_audit_status===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>al(a.value)},[r("span",Ui,d(a.label),1)],10,Fi)),64))])):v("",!0),r("div",Li,[e[90]||(e[90]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"支付单审核",-1)),(o(),f(O,null,L(tl,a=>r("div",{key:a.value,class:q(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",y.payment_slip_audit_status===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>sl(a.value)},[r("span",zi,d(a.label),1)],10,Ii)),64))]),r("div",ji,[e[91]||(e[91]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"发货状态",-1)),(o(),f(O,null,L(Ks,a=>r("div",{key:"fs-"+String(a.value),class:q(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",y.fulfillment_status===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>Qs(a.value)},[r("span",qi,d(a.label),1)],10,Mi)),64))]),r("div",Bi,[e[92]||(e[92]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"供货方式",-1)),(o(),f(O,null,L(Js,a=>r("div",{key:"sm-"+String(a.value),class:q(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",y.supply_mode===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>Ys(a.value)},[r("span",Wi,d(a.label),1)],10,Hi)),64))]),r("div",Gi,[e[93]||(e[93]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"快递方式",-1)),(o(),f(O,null,L(Xs,a=>r("div",{key:"ec-"+String(a.value),class:q(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",y.express_company===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>Zs(a.value)},[r("span",Qi,d(a.label),1)],10,Ki)),64))])])]),_:1}),l(s,{class:"!border-none po-filter-card shadow-sm",shadow:"never"},{default:n(()=>[A((o(),f("div",Ji,[r("div",Yi,[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",Xi,[r("div",null,[r("div",Zi,[l(i,{size:16,class:"text-sky-500"},{default:n(()=>[l(w(Qn))]),_:1}),_(" "+d(de.value.orderHeading),1)]),r("div",eo,[r("div",to," ¥"+d(de.value.orderPerformanceStr),1),r("div",ao,[r("span",null,"合计 ¥"+d(de.value.orderStr),1),r("span",so,"已取消 ¥"+d(de.value.orderCancelledStr),1)])])]),r("div",lo,[l(i,{size:20},{default:n(()=>[l(w(Jn))]),_:1})])]),r("p",no,d(de.value.periodLine),1)]),r("div",ro,[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",io,[r("div",null,[r("div",oo,[l(i,{size:16,class:"text-emerald-500"},{default:n(()=>[l(w(Yn))]),_:1}),_(" "+d(de.value.payHeading),1)]),r("div",uo,[r("div",po," ¥"+d(de.value.payPerformanceStr),1),r("div",co,[r("span",null,"合计 ¥"+d(de.value.payStr),1),r("span",mo,"已取消 ¥"+d(de.value.payCancelledStr),1)])])]),r("div",_o,[l(i,{size:20},{default:n(()=>[l(w(Xn))]),_:1})])]),r("p",fo,d(de.value.periodLine),1)])])),[[_e,w(Z).loading]]),l(J,{class:"ls-form",model:y,inline:""},{default:n(()=>[l(jr,{"time-type":w(ze),"onUpdate:timeType":e[0]||(e[0]=a=>ma(ze)?ze.value=a:null),"date-range":w(zt),"onUpdate:dateRange":e[1]||(e[1]=a=>ma(zt)?zt.value=a:null),label:"创建时间",variant:"inline","show-all":"","picker-width":"230px",onTimeTypeChange:ol,onCustomChange:ul},null,8,["time-type","date-range"]),l(p,{class:"w-[260px]",label:"订单号"},{default:n(()=>[l(u,{modelValue:y.order_no,"onUpdate:modelValue":e[2]||(e[2]=a=>y.order_no=a),placeholder:"业务订单号",clearable:"",onKeyup:$t(w(K),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(p,{class:"w-[140px]",label:"处方ID"},{default:n(()=>[l(u,{modelValue:y.prescription_id,"onUpdate:modelValue":e[3]||(e[3]=a=>y.prescription_id=a),placeholder:"处方ID",clearable:"",onKeyup:$t(w(K),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(p,{class:"w-[220px]",label:"患者"},{default:n(()=>[l(u,{modelValue:y.patient_keyword,"onUpdate:modelValue":e[4]||(e[4]=a=>y.patient_keyword=a),placeholder:"姓名 / 手机号",clearable:"",onKeyup:$t(w(K),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(p,{class:"w-[220px]",label:"快递"},{default:n(()=>[l(u,{modelValue:y.express_keyword,"onUpdate:modelValue":e[5]||(e[5]=a=>y.express_keyword=a),placeholder:"快递单号 / 公司",clearable:"",onKeyup:$t(w(K),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),Fs.value?(o(),k(p,{key:0,class:"w-[200px]",label:"下单人"},{default:n(()=>[l(h,{modelValue:y.audit_admin_id,"onUpdate:modelValue":e[6]||(e[6]=a=>y.audit_admin_id=a),clearable:"",filterable:"",placeholder:"全部下单人",class:"!w-full"},{default:n(()=>[(o(!0),f(O,null,L(xa.value,a=>(o(),k(c,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})):v("",!0),l(p,{class:"w-[200px]",label:"医生"},{default:n(()=>[l(h,{modelValue:y.doctor_id,"onUpdate:modelValue":e[7]||(e[7]=a=>y.doctor_id=a),clearable:"",filterable:"",placeholder:"开方医生",class:"!w-full"},{default:n(()=>[(o(!0),f(O,null,L(It.value,a=>(o(),k(c,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(p,{class:"w-[220px] min-w-[200px]",label:"医助部门"},{default:n(()=>[l(M,{modelValue:y.assistant_dept_id,"onUpdate:modelValue":e[8]||(e[8]=a=>y.assistant_dept_id=a),data:dt.value,class:"!w-full",clearable:"",filterable:"","check-strictly":"","default-expand-all":!0,"node-key":"id",props:Ms,placeholder:"医助部门(选父级含子级)",onChange:_l},null,8,["modelValue","data"])]),_:1}),l(p,{class:"w-[200px]",label:"医助"},{default:n(()=>[l(h,{modelValue:y.assistant_id,"onUpdate:modelValue":e[9]||(e[9]=a=>y.assistant_id=a),clearable:"",filterable:"",placeholder:"订单创建人",class:"!w-full"},{default:n(()=>[(o(!0),f(O,null,L(Pa.value,a=>(o(),k(c,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(p,{class:"w-[160px]",label:"服务渠道"},{default:n(()=>[l(h,{modelValue:y.service_channel,"onUpdate:modelValue":e[10]||(e[10]=a=>y.service_channel=a),clearable:"",placeholder:"全部",class:"!w-full"},{default:n(()=>[l(c,{label:"未指派",value:"0"})]),_:1},8,["modelValue"])]),_:1}),l(p,{class:"w-[140px]",label:"辅方"},{default:n(()=>[l(h,{modelValue:y.has_aux_formula,"onUpdate:modelValue":e[11]||(e[11]=a=>y.has_aux_formula=a),clearable:"",placeholder:"全部",class:"!w-full"},{default:n(()=>[l(c,{label:"含辅方",value:"1"}),l(c,{label:"不含辅方",value:"0"})]),_:1},8,["modelValue"])]),_:1}),l(p,null,{default:n(()=>[l(b,{type:"primary",onClick:w(K)},{default:n(()=>[...e[96]||(e[96]=[_("查询",-1)])]),_:1},8,["onClick"]),l(b,{onClick:vl},{default:n(()=>[...e[97]||(e[97]=[_("重置",-1)])]),_:1}),A(l(ae,{class:"ml-2.5","fetch-fun":w(ri),params:pl.value,"page-size":w(Z).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}),A((o(),k(s,{class:"!border-none mt-4 po-table-card shadow-sm",shadow:"never"},{default:n(()=>[r("div",vo,[r("div",go,[e[98]||(e[98]=r("span",{class:"po-table-title text-gray-800"},"订单列表",-1)),r("span",yo,"共 "+d(w(Z).count)+" 条",1),ha.value?(o(),k(b,{key:0,type:"primary",plain:"",size:"small",class:"ml-3",disabled:ge.value.length===0,onClick:zs},{default:n(()=>[_(" 批量改派医助"+d(ge.value.length?`(${ge.value.length})`:""),1)]),_:1},8,["disabled"])):v("",!0)]),r("div",bo,[r("div",{class:q(["po-focus-board__item is-pending-rx",{"is-active":le.value==="pendingRx"}]),onClick:e[12]||(e[12]=a=>pt("pendingRx"))},[e[99]||(e[99]=r("span",{class:"po-focus-board__label"},"待处方审核",-1)),r("strong",xo,d(ct.value.pendingRx),1)],2),r("div",{class:q(["po-focus-board__item is-pending-pay",{"is-active":le.value==="pendingPay"}]),onClick:e[13]||(e[13]=a=>pt("pendingPay"))},[e[100]||(e[100]=r("span",{class:"po-focus-board__label"},"待支付审核",-1)),r("strong",ko,d(ct.value.pendingPay),1)],2),r("div",{class:q(["po-focus-board__item is-pending-ship",{"is-active":le.value==="pendingShip"}]),onClick:e[14]||(e[14]=a=>pt("pendingShip"))},[e[101]||(e[101]=r("span",{class:"po-focus-board__label"},"待发货",-1)),r("strong",ho,d(ct.value.pendingShip),1)],2),r("div",{class:q(["po-focus-board__item is-risk",{"is-active":le.value==="risk"}]),onClick:e[15]||(e[15]=a=>pt("risk"))},[e[102]||(e[102]=r("span",{class:"po-focus-board__label"},"重点异常",-1)),r("strong",wo,d(ct.value.risk),1)],2)])]),l(tt,{data:w(Z).lists,size:"default",stripe:"",class:"po-data-table","row-class-name":fl,onSelectionChange:Is},{default:n(()=>[ha.value?(o(),k(R,{key:0,type:"selection",width:"44",selectable:()=>!0})):v("",!0),l(R,{label:"订单号","min-width":"178","show-overflow-tooltip":""},{default:n(({row:a})=>[r("div",Vo,[r("div",So,d(a.order_no||"—"),1),r("div",No,[l(T,{size:"small",effect:"plain",type:w(Hr)(a)},{default:n(()=>[_(d(w(Wr)(a)),1)]),_:2},1032,["type"]),r("span",Co,"#"+d(a.id),1)])])]),_:1}),l(R,{label:"处方ID",prop:"prescription_id",width:"86"}),l(R,{label:"诊单ID",prop:"diagnosis_id",width:"86"}),l(R,{label:"收货人","min-width":"100"},{default:n(({row:a})=>[r("div",null,d(a.recipient_name||"—"),1),r("div",{class:q(["text-xs",w(fa)(a.recipient_phone,a.prescription_phone)?"text-red-600 font-semibold":"text-gray-400"])},[_(d(a.recipient_phone||"—")+" ",1),w(fa)(a.recipient_phone,a.prescription_phone)?(o(),f("span",Po,"(与处方手机不一致)")):v("",!0)],2)]),_:1}),l(R,{label:"费用类别",width:"96"},{default:n(({row:a})=>[_(d(w(hs)(a.fee_type)),1)]),_:1}),l(R,{label:"金额","min-width":"100"},{default:n(({row:a})=>[r("div",Oo,[r("span",Ao,"¥"+d(a.amount),1),l(Rt,{placement:"top",width:200,trigger:"hover"},{reference:n(()=>[l(i,{class:"text-gray-400 cursor-pointer hover:text-primary"},{default:n(()=>[l(w(pr))]),_:1})]),default:n(()=>[r("div",Ro,[r("div",To,[e[103]||(e[103]=r("span",{class:"text-gray-500"},"业务订单单据:",-1)),r("span",$o,"¥"+d(a.amount),1)]),r("div",Eo,[e[104]||(e[104]=r("span",{class:"text-gray-500"},"定金下限:",-1)),r("span",null,"¥"+d(w(B)(a.deposit_min_amount)),1)]),r("div",Do,[e[105]||(e[105]=r("span",{class:"text-gray-500"},"实付(关联):",-1)),r("span",Fo,"¥"+d(w(B)(a.linked_pay_paid_total)),1)]),Ft()&&a.internal_cost!=null&&a.internal_cost!==""?(o(),f("div",Uo,[e[106]||(e[106]=r("span",{class:"text-gray-500"},"内部成本:",-1)),r("span",{class:q(["font-medium cursor-pointer select-none",ue.value?"text-orange-600":"text-gray-400"]),title:"点击显示/隐藏",onClick:e[16]||(e[16]=Le(P=>ue.value=!ue.value,["stop"]))},d(ue.value?`¥${w(B)(a.internal_cost)}`:"****"),3)])):v("",!0)])]),_:2},1024)])]),_:1}),Ft()?(o(),k(R,{key:1,width:"100"},{header:n(()=>[r("span",{class:"cursor-pointer select-none hover:text-primary",title:"点击显示/隐藏内部成本",onClick:e[17]||(e[17]=Le(a=>ue.value=!ue.value,["stop"]))}," 内部成本 ")]),default:n(({row:a})=>[a.internal_cost!=null&&a.internal_cost!==""?(o(),f("span",{key:0,class:q(["cursor-pointer select-none",ue.value?"text-orange-600 font-medium":"text-gray-400"]),title:"点击显示/隐藏",onClick:e[18]||(e[18]=Le(P=>ue.value=!ue.value,["stop"]))},d(ue.value?`¥${a.internal_cost}`:"****"),3)):(o(),f("span",Lo,"—"))]),_:1})):v("",!0),l(R,{label:"处方审核",width:"110"},{default:n(({row:a})=>[l(T,{type:Aa(a.prescription_audit_status),size:"small",class:q(jt("rx",a))},{default:n(()=>[_(d(Oa(a.prescription_audit_status)),1)]),_:2},1032,["type","class"])]),_:1}),l(R,{label:"支付单审核",width:"110"},{default:n(({row:a})=>[l(T,{type:Aa(a.payment_slip_audit_status),size:"small",class:q(jt("pay",a))},{default:n(()=>[_(d(Oa(a.payment_slip_audit_status)),1)]),_:2},1032,["type","class"])]),_:1}),l(R,{label:"履约",width:"108"},{default:n(({row:a})=>[l(T,{type:w(Gr)(a.fulfillment_status),size:"small",class:q(jt("fulfillment",a))},{default:n(()=>[_(d(w(Kr)(a.fulfillment_status)),1)]),_:2},1032,["type","class"])]),_:1}),l(R,{label:"关联支付单",width:"100"},{default:n(({row:a})=>[Number(a.linked_pay_order_count)>0?(o(),f("span",{key:0,class:"text-primary cursor-default",title:a.linked_pay_order_id?`#${a.linked_pay_order_id}…`:""},d(a.linked_pay_order_count)+" 笔 ",9,Io)):(o(),f("span",zo,"—"))]),_:1}),l(R,{label:"创建时间","min-width":"144"},{default:n(({row:a})=>[_(d(w(ws)(a.create_time)),1)]),_:1}),l(R,{label:"开方人",prop:"doctor_name",width:"90","show-overflow-tooltip":""}),l(R,{label:"创建人",prop:"creator_name",width:"90","show-overflow-tooltip":""}),l(R,{"min-width":"128","show-overflow-tooltip":""},{header:n(()=>[e[107]||(e[107]=r("span",null,"二中心·指派",-1)),l(Tt,{placement:"top","max-width":"320",content:"与诊单「指派记录」快照一致:仅当本条业务单在操作瞬间为快照中的「关联业务单」(创建人+创建时间命中)时显示。绿色=新医助在名称含「二中心」的部门及其下级;灰色=系统自动释放诊单医助。"},{default:n(()=>[l(i,{class:"ml-0.5 align-middle text-gray-400 cursor-help"},{default:n(()=>[l(w(mr))]),_:1})]),_:1})]),default:n(({row:a})=>[Number(a.po_assign_snapshot_hit)?Number(a.po_assign_is_release)?(o(),k(T,{key:1,type:"info",size:"small"},{default:n(()=>[...e[108]||(e[108]=[_("已释放",-1)])]),_:1})):Number(a.po_assign_to_er_center)?(o(),k(T,{key:2,type:"success",size:"small"},{default:n(()=>[_(d(a.po_assign_to_assistant_name||"医助#"+a.po_assign_to_assistant_id),1)]),_:2},1024)):(o(),k(T,{key:3,type:"warning",size:"small",effect:"plain"},{default:n(()=>[_(" 非二中心 "+d(a.po_assign_to_assistant_name||"医助#"+a.po_assign_to_assistant_id),1)]),_:2},1024)):(o(),f("span",jo,"—"))]),_:1}),l(R,{label:"操作",width:"310",fixed:"right"},{default:n(({row:a})=>[r("div",Mo,[A((o(),k(b,{type:"primary",link:"",onClick:P=>Fl(a.id)},{default:n(()=>[_(d(Us.value),1)]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/detail"]]]),Ea(a)?A((o(),k(b,{key:0,type:"primary",link:"",onClick:P=>Wl(a)},{default:n(()=>[...e[109]||(e[109]=[_("编辑",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/edit"]]]):v("",!0),Cl(a)?A((o(),k(b,{key:1,type:"success",link:"",onClick:P=>en(a)},{default:n(()=>[...e[110]||(e[110]=[_("修改单号",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/ddcode"]]]):v("",!0),Mt(a)?A((o(),k(b,{key:2,type:"primary",link:"",onClick:P=>aa(a)},{default:n(()=>[...e[111]||(e[111]=[_("确认发货",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/ship"]]]):v("",!0),Ht(a)?A((o(),k(b,{key:3,type:"success",link:"",onClick:P=>Ja(a)},{default:n(()=>[...e[112]||(e[112]=[_("补齐支付单",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/addPayOrder"]]]):v("",!0),Ua(a)?A((o(),k(b,{key:4,type:"primary",link:"",onClick:P=>Ya(a)},{default:n(()=>[...e[113]||(e[113]=[_("完成订单",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/complete"]]]):v("",!0),La(a)?A((o(),k(b,{key:5,type:"danger",link:"",onClick:P=>Qa(a)},{default:n(()=>[...e[114]||(e[114]=[_("退款",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/refund"]]]):v("",!0),kl(a)?A((o(),k(b,{key:6,type:"danger",link:"",onClick:P=>Ql(a)},{default:n(()=>[...e[115]||(e[115]=[_("撤回",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/withdraw"]]]):v("",!0),Ia(a)?A((o(),k(b,{key:7,type:"warning",link:"",loading:bt.value===a.id,onClick:P=>Wa(a)},{default:n(()=>[...e[116]||(e[116]=[_("上传药房",-1)])]),_:1},8,["loading","onClick"])),[[D,["tcm.prescriptionOrder/uploadToPharmacy"]]]):v("",!0)])]),_:1})]),_:1},8,["data"]),r("div",qo,[l(at,{modelValue:w(Z),"onUpdate:modelValue":e[19]||(e[19]=a=>ma(Z)?Z.value=a:null),"page-sizes":[15,20,30,40,100,150,200],onChange:w(U)},null,8,["modelValue","onChange"])])]),_:1})),[[_e,w(Z).loading]]),l(qr,{ref_key:"detailDrawerRef",ref:H,"gancao-preview-loading":Oe.value,onUpdateAmount:El,onPatchRxPatient:Rl,onViewPrescription:e[20]||(e[20]=a=>$.value&&ms($.value)),onTestGancaoPreview:Zl,onViewPatient:Ts,onDetailChanged:w(U)},{"header-extra":n(({detail:a})=>[r("div",Bo,[e[119]||(e[119]=r("span",{class:"text-sm text-gray-500"},"发货类型",-1)),A((o(),k(Fe,{"model-value":Y(a.ship_mode),size:"small",disabled:qt.value||!Fa(a),onChange:Sl},{default:n(()=>[l(Se,{label:"gancao"},{default:n(()=>[...e[117]||(e[117]=[_("甘草药房",-1)])]),_:1}),l(Se,{label:"direct",disabled:Da(a)},{default:n(()=>[...e[118]||(e[118]=[_("洛阳药房",-1)])]),_:1},8,["disabled"])]),_:2},1032,["model-value","disabled"])),[[D,["tcm.prescriptionOrder/setShipMode"]]]),hl.value?v("",!0):(o(),k(T,{key:0,type:Y(a.ship_mode)==="direct"?"warning":"success",effect:"plain",round:""},{default:n(()=>[_(d(wl(a.ship_mode)),1)]),_:2},1032,["type"]))])]),"header-actions":n(({detail:a})=>[l(Br,{order:a,onResolved:Nl},null,8,["order"]),Ia(a)?A((o(),k(b,{key:0,type:"warning",size:"small",plain:"",loading:bt.value===a.id,onClick:P=>Wa(a)},{default:n(()=>[...e[120]||(e[120]=[_("上传药房",-1)])]),_:1},8,["loading","onClick"])),[[D,["tcm.prescriptionOrder/uploadToPharmacy"]]]):v("",!0),gl(a)?A((o(),k(b,{key:1,type:"warning",size:"small",plain:"",onClick:P=>Ba(a,"prescription")},{default:n(()=>[...e[121]||(e[121]=[_(" 处方审核 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/auditPrescription"]]]):v("",!0),bl(a)?A((o(),k(b,{key:2,type:"info",size:"small",plain:"",onClick:P=>yn(a)},{default:n(()=>[...e[122]||(e[122]=[_(" 撤回处方审核 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/auditPrescription"]]]):v("",!0),yl(a)?A((o(),k(b,{key:3,type:"warning",size:"small",plain:"",onClick:P=>Ba(a,"payment")},{default:n(()=>[...e[123]||(e[123]=[_(" 支付审核 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/auditPayment"]]]):v("",!0),xl(a)?A((o(),k(b,{key:4,type:"info",size:"small",plain:"",onClick:P=>bn(a)},{default:n(()=>[...e[124]||(e[124]=[_(" 撤回支付审核 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/auditPayment"]]]):v("",!0),Mt(a)?A((o(),k(b,{key:5,type:"primary",size:"small",plain:"",onClick:P=>aa(a)},{default:n(()=>[...e[125]||(e[125]=[_(" 确认发货 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/ship"]]]):v("",!0),Ht(a)?A((o(),k(b,{key:6,type:"success",size:"small",plain:"",onClick:P=>Ja(a)},{default:n(()=>[...e[126]||(e[126]=[_(" 关联支付单 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/addPayOrder"]]]):v("",!0),Ua(a)?A((o(),k(b,{key:7,type:"primary",size:"small",plain:"",onClick:P=>Ya(a)},{default:n(()=>[...e[127]||(e[127]=[_(" 完成订单 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/complete"]]]):v("",!0),La(a)?A((o(),k(b,{key:8,type:"danger",size:"small",plain:"",onClick:P=>Qa(a)},{default:n(()=>[...e[128]||(e[128]=[_(" 退款 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/refund"]]]):v("",!0)]),_:1},8,["gancao-preview-loading","onDetailChanged"]),l(X,{modelValue:je.value,"onUpdate:modelValue":e[23]||(e[23]=a=>je.value=a),title:"修改订单金额",width:"420px","destroy-on-close":"","close-on-click-modal":!1,onClosed:$l},{footer:n(()=>[l(b,{onClick:e[22]||(e[22]=a=>je.value=!1)},{default:n(()=>[...e[130]||(e[130]=[_("取消",-1)])]),_:1}),l(b,{type:"primary",loading:Wt.value,onClick:ja},{default:n(()=>[...e[131]||(e[131]=[_(" 确认修改 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(J,{ref_key:"updateAmountFormRef",ref:mt,model:me,rules:Ol,"label-width":"96px",class:"pr-2",onSubmit:Le(ja,["prevent"])},{default:n(()=>[l(p,{label:"当前金额"},{default:n(()=>{var a;return[r("div",Ho,"¥"+d(w(B)((a=$.value)==null?void 0:a.amount)),1)]}),_:1}),l(p,{label:"新金额",prop:"amount"},{default:n(()=>[l(se,{modelValue:me.amount,"onUpdate:modelValue":e[21]||(e[21]=a=>me.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:ke.value,"onUpdate:modelValue":e[46]||(e[46]=a=>ke.value=a),title:ie.value?"修改物流信息(甘草订单)":"编辑业务订单",width:"940px",top:"4vh","close-on-click-modal":!1,"destroy-on-close":"",class:"create-order-dialog",onClosed:ql},{footer:n(()=>[r("div",Cu,[ie.value?v("",!0):(o(),f("div",Pu,[r("span",Ou,"第 "+d(I.value+1)+" / 3 步",1),I.value===2&&j.value>0?(o(),f("span",Au," 订单金额与关联支付单合计须 ≥ ¥"+d(w(B)(j.value)),1)):v("",!0)])),r("div",Ru,[l(b,{size:"large",onClick:e[45]||(e[45]=a=>ke.value=!1)},{default:n(()=>[...e[144]||(e[144]=[_("取消",-1)])]),_:1}),ie.value?v("",!0):(o(),f(O,{key:0},[I.value>0?(o(),k(b,{key:0,size:"large",onClick:Bl},{default:n(()=>[...e[145]||(e[145]=[_("上一步",-1)])]),_:1})):v("",!0),I.value<2?(o(),k(b,{key:1,type:"primary",size:"large",onClick:Hl},{default:n(()=>[...e[146]||(e[146]=[_(" 下一步 ",-1)])]),_:1})):v("",!0)],64)),ie.value||I.value===2?(o(),k(b,{key:1,type:"primary",size:"large",loading:Jt.value,onClick:Gl},{default:n(()=>[...e[147]||(e[147]=[_(" 确认保存 ",-1)])]),_:1},8,["loading"])):v("",!0)])])]),default:n(()=>[A((o(),f("div",Wo,[re.value?(o(),f("div",Go,[r("div",Ko,[e[132]||(e[132]=r("span",{class:"create-order-rx-card__badge"},"关联处方",-1)),r("div",Qo,[r("span",Jo,"#"+d(re.value.id),1),re.value.sn?(o(),f("span",Yo,d(re.value.sn),1)):v("",!0),r("span",Xo,d(re.value.patient_name||"—"),1)])]),l(Tt,{content:Ma.value,placement:"bottom","show-after":300},{default:n(()=>[r("div",Zo,d(Ma.value),1)]),_:1},8,["content"])])):v("",!0),ie.value?(o(),k(xe,{key:1,type:"info",closable:!1,"show-icon":"",class:"mb-4",title:"订单已提交甘草,仅可修改快递单号与承运商;地址、金额等变更请先走取消流程。"},br({_:2},[vt.value?{name:"default",fn:n(()=>[r("div",eu,"甘草处方单号:"+d(vt.value),1)]),key:"0"}:void 0]),1024)):v("",!0),ie.value?v("",!0):(o(),f(O,{key:2},[l(Ln,{active:I.value,"finish-status":"success","align-center":"",class:"create-order-steps"},{default:n(()=>[l(da,{title:"患者与收货",description:"诊单与物流地址"}),l(da,{title:"服务与支付单",description:"套餐与关联收款"}),l(da,{title:"金额与确认",description:"费用与备注"})]),_:1},8,["active"]),r("p",tu,d(Ul.value),1)],64)),l(J,{ref_key:"editFormRef",ref:he,model:m,rules:Ml.value,"label-width":"108px",class:"create-order-form"},{default:n(()=>[ie.value?(o(),k(st,{key:0,gutter:20},{default:n(()=>[l(z,{span:24},{default:n(()=>[l(p,{label:"物流设置"},{default:n(()=>[r("div",au,[l(h,{modelValue:m.express_company,"onUpdate:modelValue":e[24]||(e[24]=a=>m.express_company=a),placeholder:"承运商",class:"w-[140px] shrink-0"},{default:n(()=>[l(c,{label:"自动识别",value:"auto"}),l(c,{label:"顺丰速运",value:"sf"}),l(c,{label:"京东快递",value:"jd"}),l(c,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),l(u,{modelValue:m.tracking_number,"onUpdate:modelValue":e[25]||(e[25]=a=>m.tracking_number=a),maxlength:"80",placeholder:"快递单号",class:"flex-1 min-w-0"},null,8,["modelValue"])])]),_:1})]),_:1})]),_:1})):v("",!0),ie.value?v("",!0):(o(),f(O,{key:1},[A(r("div",su,[l(st,{gutter:20},{default:n(()=>[l(z,{span:12},{default:n(()=>[l(p,{label:"收货人",prop:"recipient_name"},{default:n(()=>[l(u,{modelValue:m.recipient_name,"onUpdate:modelValue":e[26]||(e[26]=a=>m.recipient_name=a),maxlength:"50",placeholder:"姓名"},null,8,["modelValue"])]),_:1})]),_:1}),l(z,{span:12},{default:n(()=>[l(p,{label:"收货手机",prop:"recipient_phone"},{default:n(()=>[l(u,{modelValue:m.recipient_phone,"onUpdate:modelValue":e[27]||(e[27]=a=>m.recipient_phone=a),maxlength:"20",placeholder:"物流联系"},null,8,["modelValue"])]),_:1})]),_:1}),l(z,{span:24},{default:n(()=>[l(p,{label:"省市区",prop:"region"},{default:n(()=>[l(In,{modelValue:m.region,"onUpdate:modelValue":e[28]||(e[28]=a=>m.region=a),options:ut.value,props:{emitPath:!0},placeholder:"省 / 市 / 区",clearable:"",filterable:"",class:"w-full"},null,8,["modelValue","options"])]),_:1})]),_:1}),l(z,{span:24},{default:n(()=>[l(p,{label:"详细地址",prop:"shipping_address"},{default:n(()=>[l(u,{modelValue:m.shipping_address,"onUpdate:modelValue":e[29]||(e[29]=a=>m.shipping_address=a),type:"textarea",rows:3,placeholder:"街道、小区、门牌号等详细地址",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[_a,I.value===0]]),A(r("div",lu,[it.value?(o(),k(st,{key:0,gutter:20,class:"mb-1"},{default:n(()=>[l(z,{span:24},{default:n(()=>[r("div",nu,[e[135]||(e[135]=r("span",{class:"text-sm font-medium text-gray-700 mr-1"},"处方",-1)),m.prescription_id?(o(),k(b,{key:0,type:"primary",size:"small",link:"",onClick:Rn},{default:n(()=>[...e[133]||(e[133]=[_(" 详细 ",-1)])]),_:1})):v("",!0),m.id?(o(),k(b,{key:1,type:"warning",size:"small",link:"",loading:Oe.value,icon:w(Sr),onClick:Xl},{default:n(()=>[...e[134]||(e[134]=[_(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):v("",!0),r("span",ru,"ID: "+d(m.prescription_id||"—"),1)]),r("div",iu,[qa.value.length?(o(),f("div",ou,[e[136]||(e[136]=r("div",{class:"text-gray-500"},"创建人所属部门",-1)),(o(!0),f(O,null,L(qa.value,(a,P)=>(o(),f("div",{key:P,class:"pl-0 min-w-0"},[a.length?(o(),k(jn,{key:0,class:"po-diagnosis-creator-dept-breadcrumb text-[13px] leading-relaxed",separator:"/"},{default:n(()=>[(o(!0),f(O,null,L(a,(S,E)=>(o(),k(zn,{key:E},{default:n(()=>[r("span",uu,d(S),1)]),_:2},1024))),128))]),_:2},1024)):v("",!0)]))),128))])):(o(),f("div",du,"创建人所属部门:—"))])]),_:1}),l(z,{xs:24,sm:8},{default:n(()=>[l(p,{label:"复诊"},{default:n(()=>[l(Mn,{modelValue:m.is_follow_up,"onUpdate:modelValue":e[30]||(e[30]=a=>m.is_follow_up=a),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1}),l(z,{xs:24,sm:8},{default:n(()=>[l(p,{label:"服用天数",class:"create-order-form-item--inline-num"},{default:n(()=>[r("div",pu,[l(se,{modelValue:m.medication_days,"onUpdate:modelValue":e[31]||(e[31]=a=>m.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(z,{xs:24,sm:8},{default:n(()=>[l(p,{label:"上次医生"},{default:n(()=>[l(u,{modelValue:m.prev_staff,"onUpdate:modelValue":e[32]||(e[32]=a=>m.prev_staff=a),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),l(z,{span:12},{default:n(()=>[l(p,{label:za.value,prop:"dose_count"},{default:n(()=>[l(se,{modelValue:m.dose_count,"onUpdate:modelValue":e[33]||(e[33]=a=>m.dose_count=a),min:1,placeholder:za.value,class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1}),l(z,{span:12},{default:n(()=>[l(p,{label:"剂量单位",prop:"dose_unit"},{default:n(()=>[l(h,{modelValue:m.dose_unit,"onUpdate:modelValue":e[34]||(e[34]=a=>m.dose_unit=a),placeholder:"请选择",class:"w-full"},{default:n(()=>[l(c,{label:"剂",value:"剂"}),l(c,{label:"丸",value:"丸"}),l(c,{label:"袋",value:"袋"}),l(c,{label:"盒",value:"盒"}),l(c,{label:"瓶",value:"瓶"}),l(c,{label:"膏",value:"膏"}),l(c,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})):v("",!0),l(st,{gutter:20},{default:n(()=>[l(z,{span:12},{default:n(()=>[l(p,{label:"服务渠道"},{default:n(()=>[l(h,{modelValue:m.service_channel,"onUpdate:modelValue":e[35]||(e[35]=a=>m.service_channel=a),class:"w-full",filterable:"","allow-create":"","default-first-option":"",clearable:"",placeholder:"可选或自定义输入"},{default:n(()=>[l(c,{label:"未指派",value:"0"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(z,{span:12},{default:n(()=>[l(p,{label:"服务套餐"},{default:n(()=>[l(h,{modelValue:m.service_package,"onUpdate:modelValue":e[36]||(e[36]=a=>m.service_package=a),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"请选择服务套餐",clearable:"",class:"w-full"},{default:n(()=>[(o(!0),f(O,null,L(Il.value,a=>(o(),k(c,{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(z,{span:24},{default:n(()=>[l(p,{label:"物流设置"},{default:n(()=>[r("div",cu,[l(h,{modelValue:m.express_company,"onUpdate:modelValue":e[37]||(e[37]=a=>m.express_company=a),placeholder:"承运商",class:"w-[140px] shrink-0"},{default:n(()=>[l(c,{label:"自动识别",value:"auto"}),l(c,{label:"顺丰速运",value:"sf"}),l(c,{label:"京东快递",value:"jd"}),l(c,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),l(u,{modelValue:m.tracking_number,"onUpdate:modelValue":e[38]||(e[38]=a=>m.tracking_number=a),maxlength:"80",placeholder:"快递单号",class:"flex-1 min-w-0"},null,8,["modelValue"])])]),_:1})]),_:1}),l(z,{span:24},{default:n(()=>[l(p,{label:"关联支付单",prop:"pay_order_ids",required:j.value>0},{default:n(()=>[l(h,{modelValue:m.pay_order_ids,"onUpdate:modelValue":e[39]||(e[39]=a=>m.pay_order_ids=a),class:"w-full",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:j.value>0?"请至少选择一笔本诊单支付单(已开启门槛)":"多选本诊单支付单(可选)",loading:Yt.value},{default:n(()=>[(o(!0),f(O,null,L(Be.value,a=>(o(),k(c,{key:a.id,label:`${a.order_no} · ¥${a.amount} · ${gt(a.order_type)} · ${w(Et)(a)}`,value:a.id,class:"!h-auto py-1.5"},{default:n(()=>[r("div",mu,[r("div",_u,[r("span",fu,d(a.order_no),1),r("span",vu,"¥"+d(a.amount),1)]),r("div",gu,[r("span",yu,[_(d(gt(a.order_type))+" · "+d(w(Et)(a)),1),a.remark?(o(),f(O,{key:0},[_(" · "+d(a.remark),1)],64)):v("",!0)]),r("span",bu,d(String(a.create_time||"").substring(0,16)),1)])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","loading"]),r("div",xu,[j.value>0?(o(),f(O,{key:0},[r("span",ku,"当前已开启关联支付门槛(¥"+d(w(B)(j.value))+"),须至少选择一笔支付单。",1),e[138]||(e[138]=r("span",{class:"mx-1"},null,-1))],64)):v("",!0),e[140]||(e[140]=_(" 主管/本诊单医助可见全部支付单;否则仅本人收款单。已被占用的支付单不列出。 ",-1)),l(Tt,{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),[[_a,I.value===1]]),A(r("div",hu,[r("div",{class:q(["create-order-deposit-bar",Xt.value>=j.value?"is-ok":"is-warn"])},[r("div",wu,[e[141]||(e[141]=r("span",{class:"create-order-deposit-bar__label"},"定金门槛",-1)),r("strong",null,"¥"+d(w(B)(j.value)),1),r("span",Vu,d(j.value>0?"须 ≥ 此值":"未设置"),1)]),e[143]||(e[143]=r("div",{class:"create-order-deposit-bar__sep"},null,-1)),r("div",Su,[e[142]||(e[142]=r("span",{class:"create-order-deposit-bar__label"},"已选收款",-1)),r("strong",null,"¥"+d(w(B)(Xt.value)),1),r("span",Nu,d(Xt.value>=j.value?"已达标":"未达标"),1)])],2),l(st,{gutter:20,class:"create-order-step-panel__row-after-bar"},{default:n(()=>[l(z,{span:12},{default:n(()=>[l(p,{label:"费用类别",prop:"fee_type"},{default:n(()=>[l(h,{modelValue:m.fee_type,"onUpdate:modelValue":e[40]||(e[40]=a=>m.fee_type=a),placeholder:"请选择",class:"w-full"},{default:n(()=>[l(c,{label:"挂号费",value:1}),l(c,{label:"问诊费",value:2}),l(c,{label:"药品费用",value:3}),l(c,{label:"首付费用",value:4}),l(c,{label:"尾款费用",value:5}),l(c,{label:"其他费用",value:6}),l(c,{label:"全部费用",value:7}),l(c,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(z,{span:12},{default:n(()=>[l(p,{label:"总金额",prop:"amount"},{default:n(()=>[l(se,{modelValue:m.amount,"onUpdate:modelValue":e[41]||(e[41]=a=>m.amount=a),min:zl.value,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"元"},null,8,["modelValue","min"])]),_:1})]),_:1}),A((o(),k(z,{span:12},{default:n(()=>[l(p,{label:"内部成本"},{default:n(()=>[l(se,{modelValue:m.internal_cost,"onUpdate:modelValue":e[42]||(e[42]=a=>m.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(z,{span:24},{default:n(()=>[A((o(),k(p,{label:"药房备注"},{default:n(()=>[l(u,{modelValue:m.remark_extra,"onUpdate:modelValue":e[43]||(e[43]=a=>m.remark_extra=a),type:"textarea",rows:3,placeholder:"选填,对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})),[[D,["tcm.prescriptionOrder/editRemarkExtra"]]]),l(p,{label:"医助备注"},{default:n(()=>[l(u,{modelValue:m.remark_assistant,"onUpdate:modelValue":e[44]||(e[44]=a=>m.remark_assistant=a),type:"textarea",rows:3,placeholder:"选填,医助对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[_a,I.value===2]])],64))]),_:1},8,["model","rules"])])),[[_e,Qt.value]])]),_:1},8,["modelValue","title"]),l(X,{modelValue:He.value,"onUpdate:modelValue":e[51]||(e[51]=a=>He.value=a),title:Kl.value,width:"480px","destroy-on-close":"",onClosed:e[52]||(e[52]=a=>Pe.value="")},{footer:n(()=>[l(b,{onClick:e[48]||(e[48]=a=>He.value=!1)},{default:n(()=>[...e[149]||(e[149]=[_("取消",-1)])]),_:1}),l(b,{type:"primary",loading:yt.value,onClick:e[49]||(e[49]=a=>Ha("approve"))},{default:n(()=>[...e[150]||(e[150]=[_("同意通过",-1)])]),_:1},8,["loading"]),l(b,{type:"danger",loading:yt.value,onClick:e[50]||(e[50]=a=>Ha("reject"))},{default:n(()=>[...e[151]||(e[151]=[_("驳回阻止",-1)])]),_:1},8,["loading"])]),default:n(()=>[We.value&&We.value.completion_request===1?(o(),k(xe,{key:0,title:"完单申请",type:"warning",closable:!1,"show-icon":"",class:"mb-3"},{default:n(()=>[r("div",Tu,[e[148]||(e[148]=r("div",{class:"font-medium mb-1"},"该订单已申请完成",-1)),r("div",$u," 申请人:"+d(We.value.completion_request_by_name||"—"),1),r("div",Eu," 申请时间:"+d(w(ws)(We.value.completion_request_time)),1)])]),_:1})):v("",!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(u,{modelValue:Pe.value,"onUpdate:modelValue":e[47]||(e[47]=a=>Pe.value=a),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"在此输入审核意见..."},null,8,["modelValue"])]),_:1},8,["modelValue","title"]),l(X,{modelValue:Ge.value,"onUpdate:modelValue":e[56]||(e[56]=a=>Ge.value=a),title:"修改快递单号",width:"420px","destroy-on-close":"","close-on-click-modal":!1},{footer:n(()=>[l(b,{onClick:e[55]||(e[55]=a=>Ge.value=!1)},{default:n(()=>[...e[154]||(e[154]=[_("取消",-1)])]),_:1}),l(b,{type:"primary",loading:kt.value,onClick:Ga},{default:n(()=>[...e[155]||(e[155]=[_("保存单号",-1)])]),_:1},8,["loading"])]),default:n(()=>[A((o(),k(J,{"label-width":"90px",class:"pr-2",onSubmit:Le(Ga,["prevent"])},{default:n(()=>[l(p,{label:"承运商"},{default:n(()=>[l(h,{modelValue:ee.express_company,"onUpdate:modelValue":e[53]||(e[53]=a=>ee.express_company=a),class:"w-full",placeholder:"选择承运商"},{default:n(()=>[l(c,{label:"自动识别",value:"auto"}),l(c,{label:"顺丰速运",value:"sf"}),l(c,{label:"京东快递",value:"jd"}),l(c,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),l(p,{label:"快递单号"},{default:n(()=>[l(u,{modelValue:ee.tracking_number,"onUpdate:modelValue":e[54]||(e[54]=a=>ee.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})),[[_e,kt.value]])]),_:1},8,["modelValue"]),l(X,{modelValue:we.value,"onUpdate:modelValue":e[60]||(e[60]=a=>we.value=a),title:"确认发货",width:"440px","destroy-on-close":"","close-on-click-modal":!1},{footer:n(()=>[l(b,{onClick:e[59]||(e[59]=a=>we.value=!1)},{default:n(()=>[...e[157]||(e[157]=[_("取消",-1)])]),_:1}),l(b,{type:"primary",loading:wt.value,onClick:Ka},{default:n(()=>[...e[158]||(e[158]=[_(" 确认发货 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(xe,{title:"确认后订单状态将变更为「已发货」,请核对快递信息无误。",type:"warning",closable:!1,"show-icon":"",class:"mb-4"}),A((o(),k(J,{"label-width":"90px",class:"pr-2",onSubmit:Le(Ka,["prevent"])},{default:n(()=>[l(p,{label:"发货方式"},{default:n(()=>[l(T,{type:Y(W.ship_mode)==="direct"?"warning":"success",effect:"plain",size:"default"},{default:n(()=>[_(d(Vl.value),1)]),_:1},8,["type"]),e[156]||(e[156]=r("span",{class:"text-xs text-gray-400 ml-2"},"请在订单详情顶部「发货类型」中设置,此处不可修改",-1))]),_:1}),l(p,{label:"承运商"},{default:n(()=>[l(h,{modelValue:W.express_company,"onUpdate:modelValue":e[57]||(e[57]=a=>W.express_company=a),class:"w-full"},{default:n(()=>[l(c,{label:"自动识别",value:"auto"}),l(c,{label:"顺丰速运",value:"sf"}),l(c,{label:"京东快递",value:"jd"}),l(c,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),l(p,{label:"快递单号"},{default:n(()=>[l(u,{modelValue:W.tracking_number,"onUpdate:modelValue":e[58]||(e[58]=a=>W.tracking_number=a),maxlength:"80",placeholder:"请输入快递单号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1})),[[_e,wt.value]])]),_:1},8,["modelValue"]),l(X,{modelValue:Re.value,"onUpdate:modelValue":e[65]||(e[65]=a=>Re.value=a),title:"完成订单",width:"480px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:nn},{footer:n(()=>[l(b,{onClick:e[64]||(e[64]=a=>Re.value=!1)},{default:n(()=>[...e[162]||(e[162]=[_("取消",-1)])]),_:1}),l(b,{type:ye.value===10?"danger":"primary",loading:Ke.value,onClick:un},{default:n(()=>[_(d(ye.value===10?"确认退款":"确定"),1)]),_:1},8,["type","loading"])]),default:n(()=>[A((o(),f("div",Du,[Me.value.show?(o(),k(xe,{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",Fu,[Me.value.keywords.length?(o(),f("div",Uu,[e[159]||(e[159]=r("span",{class:"text-red-100/90"},"命中:",-1)),(o(!0),f(O,null,L(Me.value.keywords,a=>(o(),k(T,{key:a,type:"danger",effect:"plain",size:"small",class:"!border-white/35 !text-white"},{default:n(()=>[_(d(a),1)]),_:2},1024))),128))])):v("",!0),Me.value.lines.length?(o(),f("ul",Lu,[(o(!0),f(O,null,L(Me.value.lines,(a,P)=>(o(),f("li",{key:P},d(a),1))),128))])):v("",!0),e[160]||(e[160]=r("div",{class:"text-red-100/85 border-t border-white/15 pt-1.5"}," 确认已协调拒收/退回后续(重发、退款、改址等)后再完成订单。 ",-1))])]),_:1})):v("",!0),e[161]||(e[161]=r("p",{class:"text-sm text-gray-600 mb-3"}," 请选择本单结案状态。选择「已完成」时,实付将按已关联的支付单金额汇总;选择「退款」时将关联收款单标记为已退款并清零本单已付。 ",-1)),l(h,{modelValue:ye.value,"onUpdate:modelValue":e[61]||(e[61]=a=>ye.value=a),class:"w-full",placeholder:"请选择"},{default:n(()=>[(o(),f(O,null,L(an,a=>l(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),ye.value===10?(o(),f(O,{key:1},[l(xe,{type:"warning",closable:!1,"show-icon":"",class:"mt-3 !items-start",title:"退款将处理本单全部关联收款单,已付总额清零,且不可撤销。"}),A((o(),f("div",Iu,[pe.value.length?(o(),f("div",zu,[r("div",ju," 将退款的关联收款("+d(pe.value.length)+" 笔 · 合计 ¥"+d(w(B)(sn.value))+") ",1),l(tt,{data:pe.value,size:"small",border:"",stripe:"","max-height":"200"},{default:n(()=>[l(R,{prop:"order_no",label:"单号","min-width":"120","show-overflow-tooltip":""}),l(R,{label:"类型",width:"88"},{default:n(({row:a})=>[_(d(a.order_type_desc||w(hs)(a.order_type)),1)]),_:1}),l(R,{label:"金额",width:"88",align:"right"},{default:n(({row:a})=>[r("span",Mu,"¥"+d(a.amount),1)]),_:1}),l(R,{label:"状态",width:"92",align:"center"},{default:n(({row:a})=>[l(T,{type:w(Qr)(a.status),size:"small"},{default:n(()=>[_(d(a.status_desc||w(Jr)(a.status)),1)]),_:2},1032,["type"])]),_:1})]),_:1},8,["data"])])):Qe.value?v("",!0):(o(),f("p",qu," 当前无已关联的收款单;提交后仍将本单标记为「退款」并清零已付。 "))])),[[_e,Qe.value]]),l(J,{ref_key:"completeRefundFormRef",ref:sa,model:te,rules:ln.value,"label-width":"88px",class:"mt-3"},{default:n(()=>[l(p,{label:"退款金额",prop:"refund_amount"},{default:n(()=>[l(se,{modelValue:te.refund_amount,"onUpdate:modelValue":e[62]||(e[62]=a=>te.refund_amount=a),min:.01,max:be.value>0?be.value:void 0,step:.01,precision:2,class:"w-full","controls-position":"right"},null,8,["modelValue","max"]),r("div",Bu," 可退上限 ¥"+d(w(B)(be.value)),1)]),_:1}),l(p,{label:"退款原因",prop:"reason"},{default:n(()=>[l(u,{modelValue:te.reason,"onUpdate:modelValue":e[63]||(e[63]=a=>te.reason=a),type:"textarea",rows:3,maxlength:"500","show-word-limit":"",placeholder:"请填写退款原因(必填)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])],64)):v("",!0)])),[[_e,_t.value]])]),_:1},8,["modelValue"]),l(X,{modelValue:Ye.value,"onUpdate:modelValue":e[69]||(e[69]=a=>Ye.value=a),title:"订单退款",width:"480px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:cn},{footer:n(()=>[l(b,{onClick:e[68]||(e[68]=a=>Ye.value=!1)},{default:n(()=>[...e[163]||(e[163]=[_("取消",-1)])]),_:1}),l(b,{type:"danger",loading:ra.value,onClick:mn},{default:n(()=>[...e[164]||(e[164]=[_(" 确认退款 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(xe,{type:"warning",closable:!1,"show-icon":"",class:"mb-4 !items-start",title:dn.value},null,8,["title"]),l(J,{ref_key:"refundOrderFormRef",ref:ia,model:Q,rules:pn.value,"label-width":"88px"},{default:n(()=>[l(p,{label:"退款金额",prop:"refund_amount"},{default:n(()=>[l(se,{modelValue:Q.refund_amount,"onUpdate:modelValue":e[66]||(e[66]=a=>Q.refund_amount=a),min:.01,max:oe.value>0?oe.value:void 0,step:.01,precision:2,class:"w-full","controls-position":"right"},null,8,["modelValue","max"]),r("div",Hu," 可退上限 ¥"+d(w(B)(oe.value))+"(默认全额);部分退款时按金额从关联收款单依次标记已退款,并扣减本单已付。 ",1)]),_:1}),l(p,{label:"退款原因",prop:"reason"},{default:n(()=>[l(u,{modelValue:Q.reason,"onUpdate:modelValue":e[67]||(e[67]=a=>Q.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:Xe.value,"onUpdate:modelValue":e[77]||(e[77]=a=>Xe.value=a),title:"补齐支付单",width:"600px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:e[78]||(e[78]=a=>{var P;return(P=St.value)==null?void 0:P.clearValidate()})},{footer:n(()=>[l(b,{onClick:e[76]||(e[76]=a=>Xe.value=!1)},{default:n(()=>[...e[174]||(e[174]=[_("取消",-1)])]),_:1}),l(b,{type:"primary",loading:Vt.value,onClick:gn},{default:n(()=>[_(d(C.add_mode==="completion_only"?"提交申请":"确认新增"),1)]),_:1},8,["loading"])]),default:n(()=>[l(xe,{title:_n.value,type:"info",closable:!1,"show-icon":"",class:"mb-4"},null,8,["title"]),A((o(),k(J,{ref_key:"addPayOrderFormRef",ref:St,model:C,rules:fn.value,"label-width":"90px",class:"pr-2"},{default:n(()=>[l(p,{label:"添加方式",prop:"add_mode"},{default:n(()=>[l(Fe,{modelValue:C.add_mode,"onUpdate:modelValue":e[70]||(e[70]=a=>C.add_mode=a)},{default:n(()=>[l(Ue,{value:"create"},{default:n(()=>[...e[165]||(e[165]=[_("付呗",-1)])]),_:1}),l(Ue,{value:"create_express"},{default:n(()=>[...e[166]||(e[166]=[_("快递代收",-1)])]),_:1}),l(Ue,{value:"link"},{default:n(()=>[...e[167]||(e[167]=[_("关联已有",-1)])]),_:1}),l(Ue,{value:"completion_only"},{default:n(()=>[...e[168]||(e[168]=[_("直接完单申请",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),C.add_mode==="create"||C.add_mode==="create_express"?(o(),f(O,{key:0},[l(p,{label:"费用类别",prop:"order_type"},{default:n(()=>[l(h,{modelValue:C.order_type,"onUpdate:modelValue":e[71]||(e[71]=a=>C.order_type=a),class:"w-full"},{default:n(()=>[l(c,{label:"挂号费",value:1}),l(c,{label:"问诊费",value:2}),l(c,{label:"药品费用",value:3}),l(c,{label:"首付费用",value:4}),l(c,{label:"尾款费用",value:5}),l(c,{label:"其他费用",value:6}),l(c,{label:"全部费用",value:7}),l(c,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),l(p,{label:"支付金额",prop:"pay_amount"},{default:n(()=>[l(se,{modelValue:C.pay_amount,"onUpdate:modelValue":e[72]||(e[72]=a=>C.pay_amount=a),min:0,step:.01,precision:2,class:"w-full",placeholder:"请输入支付金额(元,可为 0)"},null,8,["modelValue"])]),_:1}),l(p,{label:"备注",prop:"pay_remark"},{default:n(()=>[l(u,{modelValue:C.pay_remark,"onUpdate:modelValue":e[73]||(e[73]=a=>C.pay_remark=a),type:"textarea",rows:3,maxlength:"200","show-word-limit":"",placeholder:"支付说明(选填)"},null,8,["modelValue"])]),_:1})],64)):C.add_mode==="completion_only"?(o(),k(xe,{key:1,type:"warning",closable:!1,"show-icon":"",class:"!mb-0"},{title:n(()=>[...e[169]||(e[169]=[_(" 不新增或关联支付单,仅向审核人员提交「完成订单」申请;提交后支付审核将变为待审核,审核通过后将自动结案。 ",-1)])]),_:1})):(o(),k(p,{key:2,label:"选择支付单",prop:"link_pay_order_id"},{default:n(()=>[l(h,{modelValue:C.link_pay_order_ids,"onUpdate:modelValue":e[74]||(e[74]=a=>C.link_pay_order_ids=a),class:"w-full",placeholder:"选择未绑定的支付单(可多选)",loading:oa.value,multiple:"","collapse-tags":"","collapse-tags-tooltip":""},{default:n(()=>[(o(!0),f(O,null,L(Nt.value,a=>(o(),k(c,{key:a.id,label:`${a.order_no} · ¥${a.amount} · ${gt(a.order_type)} · ${w(Et)(a)}`,value:a.id},{default:n(()=>[r("div",Wu,[r("div",Gu,[r("span",Ku,d(a.order_no),1),r("span",Qu,"¥"+d(a.amount),1)]),r("div",Ju,d(gt(a.order_type))+" · "+d(w(Et)(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})),C.add_mode!=="completion_only"?(o(),k(p,{key:3,label:"完单申请"},{default:n(()=>[l(Fe,{modelValue:C.completion_request,"onUpdate:modelValue":e[75]||(e[75]=a=>C.completion_request=a)},{default:n(()=>[l(Ue,{value:0},{default:n(()=>[...e[171]||(e[171]=[_("不申请",-1)])]),_:1}),l(Ue,{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})):v("",!0)]),_:1},8,["model","rules"])),[[_e,Vt.value]])]),_:1},8,["modelValue"]),l(X,{modelValue:qe.value,"onUpdate:modelValue":e[82]||(e[82]=a=>qe.value=a),title:"修改处方患者信息",width:"440px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:Tl},{footer:n(()=>[l(b,{onClick:e[81]||(e[81]=a=>qe.value=!1)},{default:n(()=>[...e[175]||(e[175]=[_("取消",-1)])]),_:1}),l(b,{type:"primary",loading:Gt.value,onClick:Dl},{default:n(()=>[...e[176]||(e[176]=[_(" 保存 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(J,{ref_key:"patchRxPatientFormRef",ref:Kt,model:ne,rules:Al,"label-width":"96px"},{default:n(()=>[l(p,{label:"患者姓名",prop:"patient_name"},{default:n(()=>[l(u,{modelValue:ne.patient_name,"onUpdate:modelValue":e[79]||(e[79]=a=>ne.patient_name=a),maxlength:"50","show-word-limit":"",placeholder:"与处方笺一致",clearable:""},null,8,["modelValue"])]),_:1}),l(p,{label:"手机",prop:"phone"},{default:n(()=>[l(u,{modelValue:ne.phone,"onUpdate:modelValue":e[80]||(e[80]=a=>ne.phone=a),maxlength:"20",placeholder:"处方登记手机号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(gs,{modelValue:Ct.value,"onUpdate:modelValue":e[84]||(e[84]=a=>Ct.value=a),size:"920px","close-on-click-modal":!1},{header:n(()=>[r("div",Yu,[e[179]||(e[179]=r("span",{class:"text-base font-medium text-gray-800"},"查看处方",-1)),x.value&&!Pt.value?(o(),f("div",Xu,[l(b,{size:"small",loading:Ee.value,onClick:Fn},{default:n(()=>[...e[177]||(e[177]=[_(" 下载图片 ",-1)])]),_:1},8,["loading"]),l(b,{size:"small",loading:Ee.value,onClick:Un},{default:n(()=>[...e[178]||(e[178]=[_(" 下载PDF ",-1)])]),_:1},8,["loading"])])):v("",!0)])]),default:n(()=>{var a,P;return[A((o(),f("div",Zu,[x.value?(o(),k(qn,{key:0,modelValue:G.value,"onUpdate:modelValue":e[83]||(e[83]=S=>G.value=S),class:"mx-4 mt-2",style:{"margin-bottom":"0px","z-index":"1",position:"relative"}},{default:n(()=>[l(vs,{label:"药房联",name:"internal"}),l(vs,{label:"处方联",name:"user"})]),_:1},8,["modelValue"])):v("",!0),x.value?(o(),f("div",ed,[Number(x.value.void_status)===1?(o(),k(T,{key:0,type:"danger",size:"small"},{default:n(()=>[...e[180]||(e[180]=[_("已作废",-1)])]),_:1})):Number(x.value.business_prescription_audit_rejected)===1?(o(),k(T,{key:1,type:"danger",size:"small"},{default:n(()=>[...e[181]||(e[181]=[_("业务订单已驳回",-1)])]),_:1})):Number(x.value.audit_status)===1?(o(),k(T,{key:2,type:"success",size:"small"},{default:n(()=>[...e[182]||(e[182]=[_("已通过",-1)])]),_:1})):Number(x.value.audit_status)===0?(o(),k(T,{key:3,type:"warning",size:"small"},{default:n(()=>[...e[183]||(e[183]=[_("待审核",-1)])]),_:1})):(o(),k(T,{key:4,type:"danger",size:"small"},{default:n(()=>[...e[184]||(e[184]=[_("已驳回",-1)])]),_:1}))])):v("",!0),x.value&&Number(x.value.void_status)===1?(o(),f("div",td," 作废人:"+d(x.value.void_by_name||"—")+",作废时间:"+d(Pn(x.value.void_time)),1)):x.value&&Number(x.value.business_prescription_audit_rejected)===1?(o(),f("div",ad,[e[185]||(e[185]=r("div",{class:"font-medium"},"审核状态:已驳回(业务订单·处方审核)",-1)),x.value.business_prescription_audit_remark?(o(),f("div",sd," 驳回意见:"+d(x.value.business_prescription_audit_remark),1)):v("",!0)])):x.value&&Number(x.value.audit_status)===2?(o(),f("div",ld,[e[186]||(e[186]=r("div",{class:"font-medium"},"消费者处方审核:已驳回",-1)),x.value.audit_remark?(o(),f("div",nd,"驳回意见:"+d(x.value.audit_remark),1)):v("",!0)])):v("",!0),x.value?(o(),f("div",{key:5,ref_key:"prescriptionSlipPrintRef",ref:Xa,class:"rx-paper"},[r("div",rd,d(G.value==="internal"?"药房联":xn),1),r("div",id,[r("span",od,d(G.value==="user"?"服药前请核对姓名、电话、医生等信息以及医嘱等要点":"服药前请核对姓名、电话、医生等信息以及服法、医嘱等要点"),1),r("div",ud,[r("div",dd,[e[187]||(e[187]=r("span",{class:"rx-meta-label"},"日期",-1)),r("span",pd,d(kn.value),1)]),r("div",cd,[e[188]||(e[188]=r("span",{class:"rx-meta-label"},"处方编号",-1)),r("span",md,d(hn.value),1)]),r("div",_d,[e[189]||(e[189]=r("span",{class:"rx-meta-label"},"流转编号(挂号)",-1)),r("span",fd,d(wn.value),1)]),ss.value?(o(),f("div",vd,[e[190]||(e[190]=r("span",{class:"rx-meta-label"},"业务单号",-1)),r("span",gd,d(ss.value),1)])):v("",!0)])]),r("div",yd,[r("div",bd,[r("div",xd,[e[191]||(e[191]=r("span",{class:"rx-key"},"姓名",-1)),r("span",kd,d(x.value.patient_name||"—"),1)]),r("div",hd,[e[192]||(e[192]=r("span",{class:"rx-key"},"性别",-1)),r("span",wd,d(On(x.value.gender)),1)]),r("div",Vd,[e[193]||(e[193]=r("span",{class:"rx-key"},"年龄",-1)),r("span",Sd,d(An(x.value.age)),1)]),r("div",Nd,[e[194]||(e[194]=r("span",{class:"rx-key"},"电话",-1)),r("span",Cd,d(x.value.phone||x.value.recipient_phone||"—"),1)])]),r("div",Pd,[r("div",Od,[e[195]||(e[195]=r("span",{class:"rx-key"},"收件信息",-1)),r("span",Ad,d(Vn.value),1)])]),r("div",Rd,[r("div",Td,[e[196]||(e[196]=r("span",{class:"rx-key"},"临床诊断",-1)),r("span",$d,d(x.value.clinical_diagnosis||"—"),1)])])]),r("div",Ed,[r("div",Dd,d(G.value==="internal"?"药房联":"处方联"),1),r("div",Fd,[e[199]||(e[199]=r("div",{class:"rx-rp-label"},"Rp.",-1)),r("div",Ud,[r("div",Ld,[e[197]||(e[197]=r("span",null,"用药 (单剂)",-1)),r("span",null,d(G.value==="user"?"用量":"总量"),1)]),r("div",Id,[e[198]||(e[198]=r("span",null,"用药 (单剂)",-1)),r("span",null,d(G.value==="user"?"用量":"总量"),1)])])]),r("div",zd,[G.value==="internal"?(o(),f(O,{key:0},[Ot.value.length?(o(),f(O,{key:0},[e[200]||(e[200]=r("div",{class:"rx-herb-section-label"},"主方",-1)),(o(!0),f(O,null,L(Ot.value,(S,E)=>(o(),f("div",{key:"main-"+E,class:"rx-herb-cell"},[r("span",jd,d(S.name)+" ("+d(S.dosage)+"克)",1),r("span",Md,d(ns(S.dosage))+"克",1)]))),128))],64)):v("",!0),De.value.length?(o(),f(O,{key:1},[r("div",qd,[e[201]||(e[201]=_(" 辅方",-1)),$e.value?(o(),f("span",Bd,"("+d($e.value)+")",1)):v("",!0)]),(o(!0),f(O,null,L(De.value,(S,E)=>(o(),f("div",{key:"aux-"+E,class:"rx-herb-cell"},[r("span",Hd,d(S.name)+" ("+d(S.dosage)+"克)",1),r("span",Wd,d(ns(S.dosage))+"克",1)]))),128))],64)):v("",!0)],64)):(o(),f(O,{key:1},[Ot.value.length?(o(),f(O,{key:0},[e[202]||(e[202]=r("div",{class:"rx-herb-section-label"},"主方",-1)),(o(!0),f(O,null,L(Ot.value,(S,E)=>(o(),f("div",{key:"user-main-"+E,class:"rx-herb-cell"},[r("span",Gd,d(S.name),1),r("span",Kd,d(S.dosage)+"克",1)]))),128))],64)):v("",!0),De.value.length?(o(),f(O,{key:1},[e[203]||(e[203]=r("div",{class:"rx-herb-section-label rx-herb-section-label--aux"},"辅方",-1)),(o(!0),f(O,null,L(De.value,(S,E)=>(o(),f("div",{key:"user-aux-"+E,class:"rx-herb-cell"},[r("span",Qd,d(S.name),1),r("span",Jd,d(S.dosage)+"克",1)]))),128))],64)):v("",!0)],64))])]),r("div",Yd,[G.value==="internal"?(o(),f(O,{key:0},[ua.value?(o(),f("p",Xd,"主服法:"+d(rs.value),1)):(o(),f("p",Zd,"服法:"+d(rs.value),1)),ua.value?(o(),f("p",ep,"辅服法:"+d(ua.value),1)):v("",!0)],64)):v("",!0),is.value?(o(),f("p",tp,"医嘱:"+d(is.value),1)):v("",!0),es.value?(o(),f("p",ap,"忌口:"+d(es.value),1)):v("",!0),G.value==="internal"&&os.value?(o(),f("p",sp,"备注:"+d(os.value),1)):v("",!0),us.value?(o(),f("p",lp," 药房备注:"+d(us.value),1)):v("",!0),G.value==="internal"&&ds.value&&((a=x.value)==null?void 0:a.prescription_type)!=="饮片"?(o(),f("p",np," 出丸:"+d(ds.value),1)):v("",!0)]),r("div",rp,[r("div",{class:q(["rx-bot-row rx-bot-row-1",{"rx-bot-row-1--user":G.value==="user"}])},[r("div",ip,[e[204]||(e[204]=r("div",{class:"rx-bot-label rx-bot-label--doctor"},"医师",-1)),r("div",op,[x.value.doctor_signature?(o(),f("img",{key:0,src:x.value.doctor_signature,alt:"医师签名",class:"rx-bot-sign-img"},null,8,up)):v("",!0),x.value.doctor_signature?v("",!0):(o(),f("span",dp,d(x.value.doctor_name||"—"),1))])]),G.value==="internal"?(o(),f("div",pp,[e[205]||(e[205]=r("span",{class:"rx-bot-meta-key"},"类型:",-1)),r("span",cp,d(Nn.value),1)])):v("",!0),r("div",mp,[e[206]||(e[206]=r("span",{class:"rx-bot-meta-key"},"天数:",-1)),r("span",_p,d(((P=$.value)==null?void 0:P.medication_days)!=null&&String($.value.medication_days).trim()!==""?$.value.medication_days+" 天":"—"),1)]),G.value==="internal"?(o(),f("div",fp,[e[207]||(e[207]=r("span",{class:"rx-bot-meta-key"},"剂量:",-1)),r("span",vp,d(Sn.value)+"克",1)])):v("",!0)],2)]),e[208]||(e[208]=r("div",{class:"rx-bot-row rx-hospital-row"},[r("div",{class:"rx-hospital-line"},"成都双流甄养堂互联网医院有限公司 联系方式:4001667339"),r("div",{class:"rx-hospital-line"},"地址:四川省成都市双流区黄甲街道黄龙大道二段280号")],-1))],512)):v("",!0),x.value&&(x.value.audit_by_name||x.value.audit_remark)?(o(),f("div",gp,[x.value.audit_by_name?(o(),f("div",yp,[_(" 审核人:"+d(x.value.audit_by_name)+" ",1),x.value.audit_time?(o(),f("span",bp,d(ps(x.value.audit_time)),1)):v("",!0)])):v("",!0),x.value.audit_remark?(o(),f("div",xp,"审核意见:"+d(x.value.audit_remark),1)):v("",!0)])):v("",!0)])),[[_e,Pt.value]])]}),_:1},8,["modelValue"]),l(gs,{modelValue:xt.value,"onUpdate:modelValue":e[85]||(e[85]=a=>xt.value=a),title:"甘草预下单测试结果",size:"800px","destroy-on-close":""},{default:n(()=>{var a,P;return[F.value?(o(),f("div",kp,[l(s,{shadow:"never",class:"mb-4"},{header:n(()=>[r("div",hp,[e[210]||(e[210]=r("span",{class:"font-semibold"},"价格信息",-1)),l(T,{type:"success"},{default:n(()=>[...e[209]||(e[209]=[_("预下单成功",-1)])]),_:1})])]),default:n(()=>[l(pa,{column:2,border:""},{default:n(()=>[l(ce,{label:"药材成本"},{default:n(()=>{var S;return[r("span",wp,"¥"+d(((S=F.value.fee)==null?void 0:S.m_cost)||"0.00"),1)]}),_:1}),l(ce,{label:"制作费"},{default:n(()=>{var S;return[r("span",Vp,"¥"+d((((S=F.value.fee)==null?void 0:S.proces_cost)||0).toFixed(2)),1)]}),_:1}),l(ce,{label:"物流费"},{default:n(()=>{var S;return[r("span",Sp,"¥"+d((((S=F.value.fee)==null?void 0:S.lis_cost)||0).toFixed(2)),1)]}),_:1}),l(ce,{label:"总计"},{default:n(()=>[r("div",null,[r("span",Np," ¥"+d(ta(F.value.fee)),1),A((o(),f("div",Cp,[e[211]||(e[211]=_(" 占订单总金额: ",-1)),r("span",Pp,d(Jl(F.value.fee,F.value.amount)),1),F.value.amount>0?(o(),f("span",Op,"%(预报价 ÷ 订单金额 × 100)")):v("",!0)])),[[D,["prescription.order/finance"]]])])]),_:1})]),_:1})]),_:1}),l(s,{shadow:"never",class:"mb-4"},{header:n(()=>[...e[212]||(e[212]=[r("span",{class:"font-semibold"},"配送信息",-1)])]),default:n(()=>[l(pa,{column:2,border:""},{default:n(()=>[l(ce,{label:"调配中心"},{default:n(()=>{var S;return[_(d(((S=F.value.result)==null?void 0:S.ds_name)||"—"),1)]}),_:1}),l(ce,{label:"调配中心ID"},{default:n(()=>{var S;return[_(d(((S=F.value.result)==null?void 0:S.ds_id)||"—"),1)]}),_:1}),l(ce,{label:"服用天数范围",span:2},{default:n(()=>{var S,E,ys,bs,xs,ks;return[_(d(((E=(S=F.value.result)==null?void 0:S.take_days)==null?void 0:E.min)||"—")+" - "+d(((bs=(ys=F.value.result)==null?void 0:ys.take_days)==null?void 0:bs.max)||"—")+" 天 (默认: "+d(((ks=(xs=F.value.result)==null?void 0:xs.take_days)==null?void 0:ks.default)||"—")+" 天) ",1)]}),_:1})]),_:1})]),_:1}),(P=(a=F.value.result)==null?void 0:a.rule_check)!=null&&P.length?(o(),k(s,{key:0,shadow:"never",class:"mb-4"},{header:n(()=>[...e[213]||(e[213]=[r("span",{class:"font-semibold"},"医嘱备注",-1)])]),default:n(()=>[r("div",Ap,d(F.value.result.rule_check.map(S=>S.msg).join(" ")),1)]),_:1})):v("",!0),l(s,{shadow:"never"},{header:n(()=>{var S,E;return[r("div",Rp,[e[214]||(e[214]=r("span",{class:"font-semibold"},"药材明细",-1)),r("span",Tp,"共 "+d(((E=(S=F.value.result)==null?void 0:S.m_list)==null?void 0:E.length)||0)+" 味药",1)])]}),default:n(()=>{var S;return[l(tt,{data:((S=F.value.result)==null?void 0:S.m_list)||[],border:"",stripe:"","max-height":"400"},{default:n(()=>[l(R,{type:"index",label:"#",width:"50",align:"center"}),l(R,{prop:"title",label:"药材名称","min-width":"120","show-overflow-tooltip":""}),l(R,{prop:"quantity",label:"用量",width:"80",align:"right"},{default:n(({row:E})=>[_(d(E.quantity)+d(E.unit),1)]),_:1}),l(R,{prop:"price",label:"单价(元/克)",width:"110",align:"right"},{default:n(({row:E})=>[_(" ¥"+d(Number(E.price).toFixed(4)),1)]),_:1}),l(R,{label:"小计",width:"100",align:"right"},{default:n(({row:E})=>[r("span",$p," ¥"+d((Number(E.price)*Number(E.quantity)).toFixed(2)),1)]),_:1}),l(R,{prop:"is_available",label:"库存状态",width:"100",align:"center"},{default:n(({row:E})=>[l(T,{type:E.is_available===1?"success":"danger",size:"small"},{default:n(()=>[_(d(E.is_available===1?"有货":"缺货"),1)]),_:2},1032,["type"])]),_:1}),l(R,{prop:"brief",label:"备注","min-width":"120","show-overflow-tooltip":""})]),_:1},8,["data"])]}),_:1}),l(s,{shadow:"never",class:"mt-4"},{header:n(()=>[...e[215]||(e[215]=[r("span",{class:"font-semibold"},"订单信息",-1)])]),default:n(()=>[l(pa,{column:2,border:""},{default:n(()=>[l(ce,{label:"订单号",span:2},{default:n(()=>[_(d(F.value.order_no||"—"),1)]),_:1}),l(ce,{label:"剂数"},{default:n(()=>[r("span",Ep,d(F.value.dose_count||"—")+"剂",1)]),_:1}),l(ce,{label:"单剂量"},{default:n(()=>{var S;return[r("span",Dp,d(Yl((S=F.value.result)==null?void 0:S.m_list))+"克 ",1)]}),_:1})]),_:1})]),_:1})])):v("",!0)]}),_:1},8,["modelValue"]),l(X,{modelValue:Ie.value,"onUpdate:modelValue":e[88]||(e[88]=a=>Ie.value=a),title:"批量改派医助",width:"440px","append-to-body":""},{footer:n(()=>[l(b,{onClick:e[87]||(e[87]=a=>Ie.value=!1)},{default:n(()=>[...e[218]||(e[218]=[_("取消",-1)])]),_:1}),l(b,{type:"primary",loading:Ut.value,onClick:js},{default:n(()=>[...e[219]||(e[219]=[_("确定改派",-1)])]),_:1},8,["loading"])]),default:n(()=>[r("div",Fp,[e[216]||(e[216]=_(" 已选 ",-1)),r("strong",Up,d(ge.value.length),1),e[217]||(e[217]=_(" 单,将订单「创建人(医助归属)」改派为: ",-1))]),l(h,{modelValue:ot.value,"onUpdate:modelValue":e[86]||(e[86]=a=>ot.value=a),clearable:"",filterable:"",placeholder:"选择目标医助",class:"!w-full"},{default:n(()=>[(o(!0),f(O,null,L(Ne.value,a=>(o(),k(c,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),e[220]||(e[220]=r("p",{class:"text-xs text-gray-400 mt-2 leading-relaxed"}," 仅变更订单的业务归属(医助筛选 / 业绩口径),并写入操作日志;不影响处方、支付单及审核状态。已是该医助的订单会自动跳过。 ",-1))]),_:1},8,["modelValue"]),l(w(As),{ref_key:"diagnosisViewRef",ref:ya},null,512)])}}}),ec=Ai(Ip,[["__scopeId","data-v-2f541fda"]]);export{ec as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DxLWCQnV.js","assets/.pnpm-9dA1PEvN.js","assets/.pnpm-LiWq8Xu0.css","assets/tcm-Fi_swgCr.js","assets/index-BWzN7QIb.js","assets/index-or10At3s.css","assets/perm-BzF8JgcJ.js","assets/DailyMatrix-BOqZMkKS.js","assets/picker-DfI3CPnQ.js","assets/index-dYaCh-CN.js","assets/index-dh40Du6y.css","assets/index-xDQ_OZln.js","assets/index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js","assets/index-fA0EWEUO.js","assets/index-BYMg0OFw.css","assets/index-DFkJDhf6.js","assets/file-BL6iPgPC.js","assets/index.vue_vue_type_script_setup_true_lang-Blf417m7.js","assets/usePaging-Boz1Q6w3.js","assets/index-D6uL8V1j.css","assets/picker-CLzhBfnG.css","assets/DiagnosisTodoList-CAIMA53u.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix--Ay5C05Q.css","assets/CaseRecordList-DlCqPijV.js","assets/CaseRecordList-DEgrl9PS.css","assets/CallRecordPanel-CJ3iGibG.js","assets/RecordingPlaybackBlock-CN4w1UI-.js","assets/RecordingVideoPlayer-DIfduEP7.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-p7h_1hh9.css","assets/ImChatRecordPanel-BMjxk7mx.js","assets/dayjs-BsOAYQJw.js","assets/im-business-message-parse-DmDISFGN.js","assets/ImChatRecordPanel-BRnJl8ir.css","assets/AssignLogPanel-CF42MNq_.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DxBIlcME.js","assets/doctor-Chj6BcVp.js","assets/AppointmentRecordPanel-BWS3OyF0.css","assets/NoteTimeline-DxUNQs4y.js","assets/patient-Btpwd7dp.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-CKjXSixL.js","assets/PrescriptionOrderDetailDrawer-CEi7ZXfx.js","assets/prescription-order-utils-B0fYlULc.js","assets/PrescriptionOrderDetailDrawer-DL92yzHH.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-B5cu05RL.js","assets/index-CNLsF7Nt.js","assets/medicine-DezWRkkS.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-DxQanmqx.css","assets/edit-Cgsl1tY9.css","assets/TrackingNoteTimeline-C-2kS81H.css"])))=>i.map(i=>d[i]); +import{o as Os,Q as Bn,R as ca,ap as Hn,n as lt,be as Wn,q as o,r as f,v as l,D as n,s as r,F as O,G as L,ae as q,T as d,P as v,bg as Gn,ac as A,w as Kn,u as w,ce as Qn,L as _,bH as Jn,bI as Yn,cf as Xn,bi as Zn,b9 as er,C as ma,b6 as tr,b7 as ar,b8 as $t,O as k,bm as sr,bn as lr,bK as nr,K as rr,bj as ir,bk as or,br as ur,bY as dr,aw as Le,cg as pr,a1 as cr,ch as mr,bc as _r,bb as fr,J as vr,bt as gr,bh as yr,bM as br,b_ as xr,b$ as kr,c7 as hr,c8 as wr,ca as Vr,ad as _a,bA as Sr,U as Nr,S as Cr,I as Pr,bf as Or,Y as Ar,X as Rr,B as Tr,c0 as $r,c1 as Er,cb as Dr,al as Fr,M as g,p as V,ba as fe,e as nt,cd as Ur,cc as Lr}from"./.pnpm-9dA1PEvN.js";import{_ as Ir}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{_ as zr}from"./index.vue_vue_type_script_setup_true_lang-DbClaUqT.js";import{L as jr,u as Mr}from"./useListTimeFilter-EgCds3rQ.js";import qr from"./PrescriptionOrderDetailDrawer-CEi7ZXfx.js";import{_ as Br}from"./GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-DoPnp_YZ.js";import{z as Hr,A as Wr,s as fa,g as hs,b as B,B as Gr,a as Kr,f as ws,h as Et,p as Qr,o as Jr,T as Yr,P as Xr,n as Zr,C as Dt,y as ei,c as Vs,u as ti,D as ai,E as si,F as va,r as li,w as Ss,q as ni}from"./prescription-order-utils-B0fYlULc.js";import{x as ri,y as ii,g as oi,i as ui,t as di,z as pi,A as ci,B as mi,e as rt,C as ga,D as _i,E as fi,F as vi,G as Ns,H as gi,I as yi,J as Cs,K as bi,L as xi,M as ki,N as hi,O as wi,P as Vi,k as Si,h as Ps,c as Ni,o as Ci}from"./tcm-Fi_swgCr.js";import{u as Pi,i as N,m as Oi,_ as Ai}from"./index-BWzN7QIb.js";import{d as Ri}from"./department-BABv4GiI.js";import{u as Ti}from"./usePaging-Boz1Q6w3.js";import"./index-dYaCh-CN.js";const $i={class:"prescription-order-page prescription-order-list px-4 py-4 pb-8"},Ei={class:"flex flex-col gap-3"},Di={key:0,class:"flex items-center gap-2 flex-wrap"},Fi=["onClick"],Ui={class:"font-medium"},Li={class:"flex items-center gap-2 flex-wrap"},Ii=["onClick"],zi={class:"font-medium"},ji={class:"flex items-center gap-2 flex-wrap"},Mi=["onClick"],qi={class:"font-medium"},Bi={class:"flex items-center gap-2 flex-wrap"},Hi=["onClick"],Wi={class:"font-medium"},Gi={class:"flex items-center gap-2 flex-wrap"},Ki=["onClick"],Qi={class:"font-medium"},Ji={class:"po-list-stats grid grid-cols-1 sm:grid-cols-2 gap-4 mb-5"},Yi={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"},Zi={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},eo={class:"mt-2 space-y-1.5 min-w-0"},to={class:"text-2xl sm:text-[28px] font-bold text-sky-700 tabular-nums leading-none"},ao={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},so={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"},no={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},ro={class:"po-stat-surface po-stat-surface--pay relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},io={class:"relative flex items-start justify-between gap-3"},oo={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},uo={class:"mt-2 space-y-1.5 min-w-0"},po={class:"text-2xl sm:text-[28px] font-bold text-emerald-700 tabular-nums leading-none"},co={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},mo={class:"text-slate-400"},_o={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-emerald-500/10 flex items-center justify-center text-emerald-600"},fo={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},vo={class:"po-table-toolbar"},go={class:"po-table-toolbar__title-wrap"},yo={class:"po-table-hint text-gray-400"},bo={class:"po-focus-board"},xo={class:"po-focus-board__value"},ko={class:"po-focus-board__value"},ho={class:"po-focus-board__value"},wo={class:"po-focus-board__value"},Vo={class:"po-order-no-cell"},So={class:"po-order-no-main"},No={class:"po-order-no-sub"},Co={class:"text-gray-400"},Po={key:0,class:"ml-1"},Oo={class:"flex items-center gap-1"},Ao={class:"text-red-500 font-medium whitespace-nowrap"},Ro={class:"text-sm"},To={class:"flex justify-between mb-1"},$o={class:"font-medium text-red-500"},Eo={class:"flex justify-between mb-1"},Do={class:"flex justify-between mb-1"},Fo={class:"font-medium"},Uo={key:0,class:"flex justify-between"},Lo={key:1},Io=["title"],zo={key:1},jo={key:0,class:"text-gray-400"},Mo={class:"flex items-center gap-1 flex-wrap"},qo={class:"flex justify-end mt-4"},Bo={class:"flex items-center gap-2 ml-4 shrink-0"},Ho={class:"text-sm text-gray-700 font-medium"},Wo={class:"create-order-dialog__inner"},Go={key:0,class:"create-order-rx-card"},Ko={class:"create-order-rx-card__head"},Qo={class:"create-order-rx-card__meta"},Jo={class:"create-order-rx-card__id"},Yo={key:0,class:"create-order-rx-card__sn"},Xo={class:"create-order-rx-card__patient"},Zo={class:"create-order-rx-card__herbs"},eu={class:"text-sm text-gray-700 mt-1"},tu={class:"create-order-step-lead"},au={class:"flex gap-2 w-full"},su={class:"create-order-step-panel"},lu={class:"create-order-step-panel"},nu={class:"flex flex-wrap items-center gap-2 pb-2 border-b border-gray-100"},ru={class:"text-xs text-gray-400"},iu={class:"mt-2 space-y-1.5 text-xs sm:text-sm"},ou={key:0,class:"space-y-1.5"},uu={class:"text-gray-800 break-all"},du={key:1,class:"text-gray-400"},pu={class:"flex items-center gap-1 w-full"},cu={class:"flex gap-2 w-full"},mu={class:"flex flex-col gap-0.5",style:{"line-height":"normal"}},_u={class:"flex items-center justify-between"},fu={class:"font-medium text-[13px] text-gray-800"},vu={class:"text-orange-500 font-medium ml-4"},gu={class:"flex items-center justify-between text-xs text-gray-400 mt-1"},yu={class:"truncate pr-2"},bu={class:"shrink-0"},xu={class:"create-order-pay-hint text-gray-500"},ku={class:"text-amber-600 font-medium"},hu={class:"create-order-step-panel"},wu={class:"create-order-deposit-bar__cell"},Vu={class:"create-order-deposit-bar__sub"},Su={class:"create-order-deposit-bar__cell"},Nu={class:"create-order-deposit-bar__sub"},Cu={class:"create-order-footer"},Pu={key:0,class:"create-order-footer__hint"},Ou={class:"create-order-footer__step"},Au={key:0,class:"create-order-footer__warn"},Ru={class:"create-order-footer__actions"},Tu={class:"text-sm"},$u={class:"text-gray-600"},Eu={class:"text-gray-600"},Du={class:"min-h-[52px]"},Fu={class:"text-xs leading-relaxed space-y-1.5"},Uu={key:0,class:"flex flex-wrap gap-1 items-center"},Lu={key:1,class:"list-disc pl-4 space-y-0.5 text-red-50"},Iu={class:"mt-3"},zu={key:0,class:"rounded-lg border border-amber-200/80 bg-amber-50/50 p-3"},ju={class:"text-xs font-semibold text-amber-900 mb-2"},Mu={class:"text-red-500"},qu={key:1,class:"text-xs text-gray-500 mt-2"},Bu={class:"text-xs text-gray-500 mt-1"},Hu={class:"text-xs text-gray-500 mt-1"},Wu={class:"flex flex-col gap-0.5 py-0.5"},Gu={class:"flex items-center justify-between"},Ku={class:"text-sm"},Qu={class:"text-orange-500 font-medium ml-4"},Ju={class:"text-xs text-gray-400"},Yu={class:"flex items-center justify-between w-full pr-2 gap-3"},Xu={key:0,class:"flex items-center gap-2 shrink-0"},Zu={class:"rx-wrap"},ed={key:1,class:"rx-statusbar"},td={key:2,class:"rx-status rx-status-danger"},ad={key:3,class:"rx-status rx-status-danger"},sd={key:0,class:"mt-1"},ld={key:4,class:"rx-status rx-status-danger"},nd={key:0,class:"mt-1"},rd={class:"rx-title"},id={class:"rx-notice"},od={class:"rx-notice-text"},ud={class:"rx-notice-meta"},dd={class:"rx-meta-item"},pd={class:"rx-meta-value"},cd={class:"rx-meta-item"},md={class:"rx-meta-value"},_d={class:"rx-meta-item"},fd={class:"rx-meta-value"},vd={key:0,class:"rx-meta-item"},gd={class:"rx-meta-value"},yd={class:"rx-info"},bd={class:"rx-info-row"},xd={class:"rx-info-cell"},kd={class:"rx-val"},hd={class:"rx-info-cell"},wd={class:"rx-val"},Vd={class:"rx-info-cell"},Sd={class:"rx-val"},Nd={class:"rx-info-cell"},Cd={class:"rx-val"},Pd={class:"rx-info-row rx-info-row-full"},Od={class:"rx-info-cell"},Ad={class:"rx-val"},Rd={class:"rx-info-row rx-info-row-full"},Td={class:"rx-info-cell"},$d={class:"rx-val"},Ed={class:"rx-rp"},Dd={class:"rx-watermark"},Fd={class:"rx-rp-head"},Ud={class:"rx-rp-cols-head"},Ld={class:"rx-rp-col-head"},Id={class:"rx-rp-col-head"},zd={class:"rx-herbs"},jd={class:"rx-herb-name"},Md={class:"rx-herb-total"},qd={class:"rx-herb-section-label rx-herb-section-label--aux"},Bd={key:0,class:"rx-herb-library-name"},Hd={class:"rx-herb-name"},Wd={class:"rx-herb-total"},Gd={class:"rx-herb-name"},Kd={class:"rx-herb-total"},Qd={class:"rx-herb-name"},Jd={class:"rx-herb-total"},Yd={class:"rx-text"},Xd={key:0},Zd={key:1},ep={key:2},tp={key:1},ap={key:2},sp={key:3},lp={key:4,class:"rx-text-warn"},np={key:5,class:"rx-text-warn"},rp={class:"rx-bottom"},ip={class:"rx-bot-cell rx-bot-doctor"},op={class:"rx-bot-doctor-body"},up=["src"],dp={key:1,class:"rx-bot-doctor-name"},pp={key:0,class:"rx-bot-cell rx-bot-meta"},cp={class:"rx-bot-meta-val"},mp={class:"rx-bot-cell rx-bot-meta"},_p={class:"rx-bot-meta-val"},fp={key:1,class:"rx-bot-cell rx-bot-meta"},vp={class:"rx-bot-meta-val"},gp={key:6,class:"rx-audit"},yp={key:0},bp={key:0,class:"ml-2 text-gray-400"},xp={key:1,class:"mt-1"},kp={key:0,class:"px-4"},hp={class:"flex items-center justify-between"},wp={class:"text-lg font-semibold text-orange-600"},Vp={class:"text-lg font-semibold text-blue-600"},Sp={class:"text-lg font-semibold text-green-600"},Np={class:"text-xl font-bold text-red-600"},Cp={class:"text-sm text-gray-500 mt-1.5"},Pp={class:"font-medium text-gray-700"},Op={key:0},Ap={class:"text-sm text-gray-700 leading-relaxed"},Rp={class:"flex items-center justify-between"},Tp={class:"text-sm text-gray-500"},$p={class:"font-medium text-orange-600"},Ep={class:"text-base font-medium"},Dp={class:"text-base font-medium"},Fp={class:"text-sm text-gray-600 mb-3"},Up={class:"text-primary"},Lp=Os({name:"prescriptionOrderList"}),Ip=Os({...Lp,setup(zp){const As=Dr(()=>Fr(()=>import("./edit-DxLWCQnV.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]))),ve=Pi(),Rs=Bn(),ya=g(null);function Ts(){var e,s;const t=Number((e=$.value)==null?void 0:e.diagnosis_id);if(!t){N.msgWarning("本订单未关联诊单,无法查看患者诊单信息");return}(s=ya.value)==null||s.openViewOnly(t)}const $s=6,ba=[3,8],Es=V(()=>{const t=ve.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($s)?!ba.some(s=>e.includes(s)):!1}),Ds=V(()=>{const t=ve.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 ba.some(s=>e.includes(s))}),Fs=V(()=>Es.value||Ds.value),xa=g([]),it=V(()=>{const t=ve.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=>Xr.includes(s)):!0}),Us=V(()=>it.value?"详情/审核":"详情"),Ls=[0,3,6],ka=[0,3],Ft=()=>{const t=ve.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 Ls.some(s=>e.includes(s))},ue=g(!1),ha=V(()=>{const t=ve.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 ka.some(s=>e.includes(s))}),ge=g([]);function Is(t){ge.value=Array.isArray(t)?t:[]}const Ie=g(!1),ot=g(""),Ut=g(!1);function zs(){if(ge.value.length===0){N.msgWarning("请先勾选要改派的订单");return}ot.value="",Ie.value=!0}async function js(){const t=Number(ot.value);if(!t){N.msgWarning("请选择目标医助");return}const e=ge.value.map(s=>Number(s.id)).filter(s=>s>0);if(e.length===0){N.msgWarning("请先勾选要改派的订单");return}Ut.value=!0;try{const s=await ii({order_ids:e,assistant_id:t}),i=Number((s==null?void 0:s.success)??0),u=Array.isArray(s==null?void 0:s.errors)?s.errors:[];let p=`已改派 ${i} 单`;u.length&&(p+=`;${u.join(";")}`),N.msgSuccess(p),Ie.value=!1,ge.value=[],U()}catch{}finally{Ut.value=!1}}const ut=g([]),Lt=g([]),It=g([]),Ne=g([]),dt=g([]),Ms={value:"id",label:"name",children:"children"};function wa(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 u=wa(i.children||[],e);if(u)return u}return null}function Va(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(...Va(i));return s}function qs(t,e){const s=wa(e,t);return s?Va(s):[t]}async function Bs(){try{const[t,e,s]=await Promise.all([oi(),ui(),Ri()]);It.value=Array.isArray(t)?t:[],Ne.value=Array.isArray(e)?e:[];const i=Array.isArray(s)?s:[];dt.value=i}catch{It.value=[],Ne.value=[],dt.value=[]}}const Hs=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 u;return{value:i.city,label:i.city,code:i.code,children:((u=i.areas)==null?void 0:u.map(p=>({value:p.area,label:p.area,code:p.code})))||[]}}))||[]}}),Ws=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),ut.value=Hs(s),console.log("regionOptions 已设置,条数:",ut.value.length)}catch(t){console.error("加载省市区数据失败:",t),ut.value=[]}},Gs=async()=>{try{const t=await Oi({type:"server_order"});Lt.value=Zr(t==null?void 0:t.server_order)}catch(t){console.error("加载服务套餐选项失败:",t),Lt.value=[]}},Ks=[{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 Qs(t){le.value="",y.exclude_fulfillment_cancelled=0,y.fulfillment_status=t,K()}const le=g(""),Js=[{label:"全部",value:""},{label:"甘草",value:"gancao"},{label:"洛阳直发",value:"direct"},{label:"自营",value:"self"}];function Ys(t){y.supply_mode=t,K()}const Xs=[{label:"全部",value:""},{label:"顺丰",value:"sf"},{label:"京东",value:"jd"}];function Zs(t){y.express_company=t,K()}const y=fe({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:""}),el=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}],tl=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}];function al(t){le.value="",y.exclude_fulfillment_cancelled=0,y.prescription_audit_status=t,K()}function sl(t){le.value="",y.exclude_fulfillment_cancelled=0,y.payment_slip_audit_status=t,K()}function pt(t){if(le.value===t){le.value="",y.prescription_audit_status="",y.payment_slip_audit_status="",y.fulfillment_status="",y.exclude_fulfillment_cancelled=0,K();return}le.value=t,y.prescription_audit_status="",y.payment_slip_audit_status="",y.fulfillment_status="",y.exclude_fulfillment_cancelled=0,t==="pendingRx"?(y.prescription_audit_status=0,y.exclude_fulfillment_cancelled=1):t==="pendingPay"?(y.prescription_audit_status=1,y.payment_slip_audit_status=0):t==="pendingShip"?y.fulfillment_status=2:t==="risk"&&(y.payment_slip_audit_status=2),K()}const{time_type:ze,dateRange:zt,resolve:Sa,handleTimeTypeChange:ll,handleCustomDateChange:nl,resetTimeFilter:rl,applyCustomRange:il}=Mr("all"),Na=()=>{Z.page=1,U()},ol=()=>ll(Na),ul=()=>nl(Na);function Ca(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 dl(t){const[e,s]=Sa(),i=Ca({...t,start_time:e,end_time:s});return di(i)}const pl=V(()=>{const[t,e]=Sa();return Ca({...y,start_time:t,end_time:e})}),{pager:Z,getLists:U,resetPage:K,resetParams:cl}=Ti({fetchFun:dl,params:y});ca(()=>{var t;return(t=Z.extend)==null?void 0:t.audit_admin_options},t=>{Array.isArray(t)&&(xa.value=t.map(e=>{if(e==null||typeof e!="object")return null;const s=e,i=Number(s.id),u=String(s.name??"").trim();return!Number.isFinite(i)||i<=0||u===""?null:{id:i,name:u}}).filter(e=>e!=null))},{immediate:!0});function ml(){const t=Rs.query,e=c=>{const h=c!=null?String(c).trim():"";return h?h.length>=10?h.slice(0,10):h:""},s=e(t.start_time),i=e(t.end_time);s&&i&&il(s,i);const u=t.assistant_dept_id;if(u!=null&&String(u)!==""){const c=Number(u);Number.isFinite(c)&&c>0&&(y.assistant_dept_id=c)}const p=t.assistant_id;if(p!=null&&String(p)!==""){const c=Number(p);Number.isFinite(c)&&c>0&&(y.assistant_id=c)}}const Pa=V(()=>{const t=y.assistant_dept_id;if(t===""||t==null)return Ne.value;const e=Number(t);if(!Number.isFinite(e))return Ne.value;const s=new Set(qs(e,dt.value));return Ne.value.filter(i=>{const u=i.dept_ids;return!Array.isArray(u)||u.length===0?!1:u.map(Number).some(p=>s.has(p))})});function _l(){const t=y.assistant_id;if(t!==""&&t!=null){const e=Number(t);Pa.value.some(i=>Number(i.id)===e)||(y.assistant_id="")}K()}const de=V(()=>{const t=Z.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=se=>{const X=Number(se);return Number.isFinite(X)?Math.round(X*100)/100:0},u=se=>se.toFixed(2),p=(t==null?void 0:t.stats_order_amount_not_cancelled)!==void 0&&(t==null?void 0:t.stats_order_amount_cancelled)!==void 0,c=(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,h=i(p?t==null?void 0:t.stats_order_amount_not_cancelled:e),M=p?i(t==null?void 0:t.stats_order_amount_cancelled):0,b=i(c?t==null?void 0:t.stats_linked_pay_amount_not_cancelled:s),ae=c?i(t==null?void 0:t.stats_linked_pay_amount_cancelled):0,J=(t==null?void 0:t.stats_order_amount_performance)!==void 0?i(t==null?void 0:t.stats_order_amount_performance):h,R=(t==null?void 0:t.stats_linked_pay_amount_performance)!==void 0?i(t==null?void 0:t.stats_linked_pay_amount_performance):b,T=String((t==null?void 0:t.stats_time_start)??"").trim(),Rt=String((t==null?void 0:t.stats_time_end)??"").trim(),tt=T&&Rt?`统计时间:${T} ~ ${Rt}`:"统计时间:—",at=String((t==null?void 0:t.stats_scope)??"restricted");let Se="统计口径:与当前列表数据可见范围一致";at==="all"?Se="统计口径:支付单审核白名单角色,按全量订单;与下方筛选项(医生/医助/医助部门/患者等,不含「创建时间」)一致":at==="assistant"?Se="统计口径:仅计诊单医助为本人且满足下方其它筛选项的订单":at==="own_rx"&&(Se="统计口径:本人创建的订单 + 关联处方开方人为本人的订单(含医助代建);与下方筛选项(不含「创建时间」)一致");const Fe=ze.value==="all"?"全部":ze.value==="today"?"今日":"区间";return{order:i(e),pay:i(s),orderStr:u(i(e)),payStr:u(i(s)),orderNotCancelledStr:u(h),orderCancelledStr:u(M),payNotCancelledStr:u(b),payCancelledStr:u(ae),orderPerformanceStr:u(J),payPerformanceStr:u(R),orderHeading:`${Fe}业绩(业务订单额)`,payHeading:`${Fe}业绩(关联实付)`,periodLine:tt,scopeHint:Se,orderSplitHint:"业绩 = 除履约已取消(4)外全部订单金额;下方为合计与已取消明细"}}),ct=V(()=>{const t=Z.extend,e=c=>{const h=Number(c);return!Number.isFinite(h)||h<0?0:Math.trunc(h)},s=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),p=e(t==null?void 0:t.focus_risk_count);return{pendingRx:s,pendingPay:i,pendingShip:u,risk:p}});function jt(t,e){const s=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"&&s===0||t==="pay"&&s===1&&i===0||t==="fulfillment"&&u===2?"po-status-tag is-focus":t==="rx"&&s===2||t==="pay"&&i===2||t==="fulfillment"&&u===4?"po-status-tag is-risk":"po-status-tag"}function fl({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),u=fa(t==null?void 0:t.recipient_phone,t==null?void 0:t.prescription_phone);return e===2||s===2||u?"po-row-risk":e===0||e===1&&s===0||i===2?"po-row-focus":i===3||i===6?"po-row-done":""}ca(it,t=>{t||y.prescription_audit_status===""||y.prescription_audit_status===void 0||(y.prescription_audit_status="",y.exclude_fulfillment_cancelled=0,K())},{immediate:!0});function vl(){le.value="",rl(),y.order_no="",y.prescription_id="",y.patient_keyword="",y.express_keyword="",y.express_company="",y.doctor_id="",y.assistant_id="",y.assistant_dept_id="",y.fulfillment_status="",y.prescription_audit_status="",y.payment_slip_audit_status="",y.supply_mode="",y.service_channel="",y.has_aux_formula="",y.audit_admin_id="",y.exclude_fulfillment_cancelled=0,cl()}function Oa(t){return t===1?"已通过":t===2?"已驳回":"待审核"}function Aa(t){return t===1?"success":t===2?"danger":"info"}function Ra(){const t=ve.userInfo;return t?Number(t.root)===1?!0:(Array.isArray(t.role_ids)?t.role_ids.map(s=>Number(s)):[]).some(s=>ka.includes(s)):!1}function Ta(t){var s;const e=Number((s=ve.userInfo)==null?void 0:s.id);return e>0&&Number(t.creator_id)===e}function $a(t){return Number(t.prescription_audit_status)===1&&Number(t.payment_slip_audit_status)===1}function Ea(t){const e=Number(t.fulfillment_status);return e===3||e===4||Ta(t)&&$a(t)&&!Ra()||Dt(t)?!1:e===1||e===2}function gl(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 bl(t){if(Dt(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 xl(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 kl(t){return Dt(t)?!1:Number(t.fulfillment_status)===1}function Mt(t){return Number(t.fulfillment_status)===2}const hl=V(()=>{const t=ve.perms||[];return t.includes("*")||t.includes("tcm.prescriptionOrder/setShipMode")});function Y(t){return String(t||"").toLowerCase()==="direct"?"direct":"gancao"}function wl(t){return Y(t)==="direct"?"洛阳药房":"甘草药房"}function Da(t){return Dt(t)}function Fa(t){const e=Number(t.fulfillment_status);return e!==3&&e!==4&&!Da(t)}const qt=g(!1);function Bt(t,e){const s=Number(t),i=Number(e);return s>0&&s===i}const Vl=V(()=>Y(W.ship_mode)==="direct"?"洛阳药房直发":"甘草药房直发");async function Sl(t){const e=$.value;if(!(e!=null&&e.id))return;const s=Y(t),i=Y(e.ship_mode);if(s!==i){if(!Fa(e)){N.msgWarning("当前订单状态不可修改发货类型");return}qt.value=!0;try{await pi({id:e.id,ship_mode:s}),$.value&&($.value.ship_mode=s),we.value&&Bt(Ae.value,e.id)&&(W.ship_mode=s),await ft(),N.msgSuccess("发货类型已保存"),U()}catch{}finally{qt.value=!1}}}async function Nl(){await ft(),U()}function Ht(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=H.value)==null?void 0:t.detail)??null}),Pl=V(()=>{var e;const t=(e=$.value)==null?void 0:e.prescription;return t&&typeof t=="object"?t:null}),za=V(()=>`${m.dose_unit||"剂"}数`),je=g(!1),Wt=g(!1),mt=g(),me=fe({id:0,amount:void 0}),Ol={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"}]},Ce=g(null),_t=g(!1),Me=V(()=>ei(Ce.value)),qe=g(!1),Gt=g(!1),Kt=g(),ne=fe({patient_name:"",phone:""}),Al={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]};function Rl(){const t=Pl.value,e=$.value;if(!t||!(e!=null&&e.id)||!e.prescription_id){N.msgWarning("无处方数据");return}ne.patient_name=String(t.patient_name??"").trim(),ne.phone=String(t.phone??"").trim(),qe.value=!0,lt(()=>{var s;return(s=Kt.value)==null?void 0:s.clearValidate()})}function Tl(){ne.patient_name="",ne.phone=""}function $l(){var t;me.id=0,me.amount=void 0,(t=mt.value)==null||t.clearValidate()}function El(){const t=$.value;if(!Vs(t)){N.msgWarning("当前订单状态不允许修改金额");return}me.id=Number(t==null?void 0:t.id)||0;const e=Number(t==null?void 0:t.amount);me.amount=Number.isFinite(e)?e:void 0,je.value=!0,lt(()=>{var s;return(s=mt.value)==null?void 0:s.clearValidate()})}async function ft(){var t;await((t=H.value)==null?void 0:t.refresh())}async function Dl(){var s;const t=Kt.value;if(!t)return;try{await t.validate()}catch{return}const e=(s=$.value)==null?void 0:s.id;if(e){Gt.value=!0;try{await ci({id:e,patient_name:ne.patient_name.trim(),phone:ne.phone.trim()}),qe.value=!1,await ft()}catch(i){console.error(i)}finally{Gt.value=!1}}}async function ja(){const t=mt.value;if(!t)return;try{await t.validate()}catch{return}if(!Vs($.value)){N.msgWarning("当前订单状态不允许修改金额");return}const e=me.id;Wt.value=!0;try{await mi({id:e,amount:Number(me.amount)}),N.msgSuccess("修改成功"),je.value=!1,await ft(),U()}catch{}finally{Wt.value=!1}}async function Fl(t){var e;await((e=H.value)==null?void 0:e.open(t))}const ke=g(!1),Qt=g(!1),Jt=g(!1),I=g(0),re=g(null),ie=g(!1),vt=g(""),Ul=V(()=>["请核对收货信息,便于发货与物流联系。","按需填写服务与物流,并选择本诊单下需要关联的支付单。","确认费用类别与订单金额;保存前请对照定金门槛是否已满足。"][I.value]??""),Ma=V(()=>{const t=re.value,e=ti(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}),Ll=["recipient_name","recipient_phone","region","shipping_address"],he=g(),m=fe({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:""}),Il=V(()=>ai(Lt.value,m.service_package)),qa=V(()=>{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(s=>s.trim()).filter(Boolean):e.split("/").map(s=>s.trim()).filter(Boolean)).filter(e=>e.length>0):[]}),Be=g([]),Yt=g(!1),j=g(0);function gt(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(t)]||"未知"}const Xt=V(()=>{const t=new Set(m.pay_order_ids.map(s=>Number(s)));let e=0;for(const s of Be.value)t.has(Number(s.id))&&(e+=Number(s.amount)||0);return Math.round(e*100)/100}),zl=V(()=>{const t=j.value;return t>0?Math.round(t*100)/100:0});async function jl(t,e){var s,i;if(!t){Be.value=[];return}try{Yt.value=!0;const u=await Ps({diagnosis_id:t,...e?{prescription_order_id:e}:{}}),p=(u==null?void 0:u.lists)??((s=u==null?void 0:u.data)==null?void 0:s.lists)??[];Be.value=Array.isArray(p)?p:[];const c=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(c)&&c>=0&&(j.value=c)}catch{Be.value=[]}finally{Yt.value=!1}}const Ml=V(()=>{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 u=j.value,p=Number(s);if(u>0&&(!Number.isFinite(p)||p0){const e=`已开启关联支付门槛(¥${B(j.value)}),请至少选择一笔支付单`;t.pay_order_ids=[{type:"array",required:!0,min:1,message:e,trigger:"change"}]}return t});function ql(){var t;I.value=0,re.value=null,ie.value=!1,vt.value="",(t=he.value)==null||t.clearValidate()}function Bl(){I.value>0&&(I.value-=1)}async function Hl(){const t=he.value;if(t)try{I.value===0?await t.validateField([...Ll]):I.value===1&&j.value>0&&await t.validateField(["pay_order_ids"]),I.value<2&&(I.value+=1)}catch{}}async function Wl(t){if(!Ea(t)){Ta(t)&&$a(t)&&!Ra()&&N.msgWarning("处方与支付单均已审核通过,创建人不可再编辑");return}I.value=0,re.value=null,ke.value=!0,Qt.value=!0;try{const e=await rt({id:t.id}),s=(e==null?void 0:e.data)??e;if(!s){N.msgError("加载数据结构异常"),ke.value=!1;return}const i=s.prescription;i&&typeof i=="object"?re.value=i:Number(s.prescription_id)>0?re.value={id:Number(s.prescription_id),sn:"",patient_name:String(s.recipient_name||""),herbs:[]}:re.value=null,m.id=s.id,m.prescription_id=Number(s.prescription_id)||0,m.diagnosis_id=Number(s.diagnosis_id)||0,m.assistant_id=Number(s.assistant_id)||0,m.diagnosis_creator_id=Number(s.diagnosis_creator_id)||0,m.diagnosis_creator_name=s.diagnosis_creator_name!=null&&s.diagnosis_creator_name!==""?String(s.diagnosis_creator_name):"",m.diagnosis_creator_dept_path=s.diagnosis_creator_dept_path!=null&&s.diagnosis_creator_dept_path!==""?String(s.diagnosis_creator_dept_path):"",m.recipient_name=s.recipient_name||"",m.recipient_phone=s.recipient_phone||"";const u=s.shipping_province||"",p=s.shipping_city||"",c=s.shipping_district||"";u||p||c?m.region=[u,p,c].filter(T=>T!==""):m.region=[],m.shipping_address=s.shipping_address||"",m.is_follow_up=s.is_follow_up?1:0,m.medication_days=s.medication_days>0?s.medication_days:void 0,m.dose_count=s.dose_count>0?s.dose_count:1,m.dose_unit=s.dose_unit||"剂",m.prev_staff=s.prev_staff||"",m.service_channel=s.service_channel||"",m.service_package=si(s.service_package),m.express_company=String(s.express_company||"auto")||"auto",m.tracking_number=s.tracking_number||"",m.fee_type=Number(s.fee_type)||3,j.value=Number(s.deposit_min_amount)||0;let h=Number(s.amount)||0;const M=Math.round((Number(s.linked_pay_paid_total)||0)*100)/100,b=j.value;if(b>0){const T=Math.round(b*100)/100;hNumber(T)).filter(T=>!Number.isNaN(T)):[],m.internal_cost=s.internal_cost!=null&&s.internal_cost!==""?Number(s.internal_cost):void 0;const J=String(s.gancao_reciperl_order_no||"").trim(),R=Number(s.gancao_submit_time||0);ie.value=J!==""||R>0,vt.value=J||"",await jl(m.diagnosis_id,m.id),lt(()=>{var T;(T=he.value)==null||T.clearValidate()})}catch(e){N.msgError((e==null?void 0:e.message)||"加载异常"),ke.value=!1}finally{Qt.value=!1}}async function Gl(){if(!he.value)return;const t=ie.value;if(!(!t&&I.value!==2)){t?he.value.clearValidate():await he.value.validate(),Jt.value=!0;try{const e={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?(e.shipping_province=m.region[0]||"",e.shipping_city=m.region[1]||"",e.shipping_district=m.region[2]||""):(e.shipping_province="",e.shipping_city="",e.shipping_district=""),e.pay_order_ids=[...m.pay_order_ids],await ga(e),N.msgSuccess("保存成功"),ke.value=!1,U()}catch{}finally{Jt.value=!1}}}const He=g(!1),Zt=g("prescription"),ea=g(0),We=g(null),Pe=g(""),yt=g(!1),Kl=V(()=>Zt.value==="prescription"?"处方业务审核":"关联支付单审核");function Ba(t,e){Zt.value=e,ea.value=t.id,We.value=t,Pe.value="",He.value=!0}async function Ha(t){var e;if(t==="reject"&&!Pe.value.trim()){N.msgError("驳回或阻止时必须填写明确的审核意见");return}yt.value=!0;try{const s={id:ea.value,action:t,remark:Pe.value.trim()};Zt.value==="prescription"?await _i(s):await fi(s),N.msgSuccess(t==="approve"?"审核通过成功":"已成功驳回该单"),He.value=!1,U(),await((e=H.value)==null?void 0:e.refreshIfCurrent(ea.value))}catch{}finally{yt.value=!1}}async function Ql(t){try{await nt.confirm("确认撤回该业务订单?撤回后状态为「已取消」,未双审通过或双审均驳回等场景下均可安全撤回。","撤回警告",{type:"warning",confirmButtonText:"确定撤回",cancelButtonText:"暂不处理"}),await vi({id:t.id}),N.msgSuccess("撤回成功"),U()}catch{}}const bt=g(0),xt=g(!1),Oe=g(!1),F=g(null);function ta(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 Jl(t,e){const s=parseFloat(ta(t))||0,i=Number(e)||0;return i<=0?"—":(s/i*100).toFixed(2)}function Yl(t){return!Array.isArray(t)||t.length===0?"0":t.reduce((s,i)=>s+(Number(i.quantity)||0),0).toFixed(0)}async function Xl(){if(!m.id){N.msgError("请先保存订单");return}Oe.value=!0;try{const t=await Ns({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&&(F.value=e,xt.value=!0,N.msgSuccess("预下单测试成功"))}catch{}finally{Oe.value=!1}}async function Zl(){var t,e;if(!((t=$.value)!=null&&t.id)){N.msgError("订单数据不存在");return}Oe.value=!0;try{const s=await Ns({id:$.value.id,dose_count:$.value.dose_count||1,medication_days:$.value.medication_days||void 0}),i=(s==null?void 0:s.data)??s;if(i&&i.success&&(F.value=i,xt.value=!0,Ft()&&i.fee)){const u=ta(i.fee);try{const p=await rt({id:$.value.id}),c=(p==null?void 0:p.data)??p;if(c!=null&&c.id){const h=c.service_package,M=Array.isArray(h)?h.join(","):String(h||"");await ga({id:c.id,recipient_name:c.recipient_name||"",recipient_phone:c.recipient_phone||"",shipping_province:c.shipping_province||"",shipping_city:c.shipping_city||"",shipping_district:c.shipping_district||"",shipping_address:c.shipping_address||"",is_follow_up:c.is_follow_up?1:0,medication_days:c.medication_days!=null&&String(c.medication_days).trim()!==""?c.medication_days:"",dose_unit:c.dose_unit||"剂",dose_count:c.dose_count>0?c.dose_count:1,prev_staff:c.prev_staff||"",service_channel:c.service_channel||"",service_package:M,express_company:c.express_company||"auto",tracking_number:c.tracking_number||"",fee_type:Number(c.fee_type)||3,amount:Number(c.amount)||0,remark_extra:c.remark_extra||"",remark_assistant:c.remark_assistant||"",internal_cost:u,pay_order_ids:Array.isArray(c.pay_order_ids)?c.pay_order_ids:[]}),N.msgSuccess("内部成本已按预报价总计更新"),U(),await((e=H.value)==null?void 0:e.refreshIfCurrent(c.id))}}catch{}}}catch{}finally{Oe.value=!1}}async function Wa(t){var i;const s=Y(t.ship_mode)==="direct"?"洛阳药房":"甘草药房";try{await nt.confirm(`将把本单关联处方提交至${s},提交成功后不可切换发货药房。确定继续?`,"上传药房",{type:"warning",confirmButtonText:"确定上传",cancelButtonText:"取消"}),bt.value=t.id;const u=await gi({id:t.id}),p=(u==null?void 0:u.data)??u,c=(p==null?void 0:p.pharmacy_order_no)!=null?String(p.pharmacy_order_no):(p==null?void 0:p.recipel_order_no)!=null?String(p.recipel_order_no):"";N.msgSuccess(c?`上传成功,${s}单号:${c}`:"上传成功"),U(),await((i=H.value)==null?void 0:i.refreshIfCurrent(t.id))}catch{}finally{bt.value=0}}Hn(async()=>{await Ws(),await Gs(),await Bs(),ml(),await lt(),U()});const Ge=g(!1),kt=g(!1),ht=g(0),ee=fe({express_company:"auto",tracking_number:""});function en(t){ht.value=t.id,ee.express_company=String(t.express_company||"auto")||"auto",ee.tracking_number=String(t.tracking_number||""),Ge.value=!0}async function Ga(){var t;if(!ee.tracking_number.trim()){N.msgError("请填写快递单号");return}kt.value=!0;try{const e=await rt({id:ht.value}),s=(e==null?void 0:e.data)??e;if(!s){N.msgError("加载订单数据失败");return}if(await ga({id:s.id,recipient_name:s.recipient_name||"",recipient_phone:s.recipient_phone||"",shipping_province:s.shipping_province||"",shipping_city:s.shipping_city||"",shipping_district:s.shipping_district||"",shipping_address:s.shipping_address||"",is_follow_up:s.is_follow_up?1:0,medication_days:s.medication_days!=null&&String(s.medication_days).trim()!==""?s.medication_days:"",prev_staff:s.prev_staff||"",service_channel:s.service_channel||"",service_package:s.service_package||"",fee_type:Number(s.fee_type)||3,amount:Number(s.amount)||0,remark_extra:s.remark_extra||"",remark_assistant:s.remark_assistant||"",internal_cost:s.internal_cost!=null&&s.internal_cost!==""?s.internal_cost:"",pay_order_ids:Array.isArray(s.pay_order_ids)?s.pay_order_ids:[],express_company:ee.express_company||"auto",tracking_number:ee.tracking_number.trim()}),N.msgSuccess("快递单号已保存"),Ge.value=!1,U(),await((t=H.value)==null?void 0:t.refreshIfCurrent(ht.value)),Mt({fulfillment_status:Number(s.fulfillment_status)}))try{await nt.confirm(`快递单号「${ee.tracking_number}」已保存,是否立即确认发货?`,"确认发货",{type:"success",confirmButtonText:"确认发货",cancelButtonText:"稍后再说"}),aa({id:ht.value,tracking_number:ee.tracking_number,express_company:ee.express_company})}catch{}}catch{}finally{kt.value=!1}}const we=g(!1),wt=g(!1),Ae=g(0),W=fe({ship_mode:"gancao",express_company:"auto",tracking_number:""});function tn(t){var e;return Bt((e=$.value)==null?void 0:e.id,t.id)?Y($.value.ship_mode):Y(t.ship_mode)}function aa(t){Ae.value=Number(t.id),W.ship_mode=tn(t),W.express_company=String(t.express_company||"auto")||"auto",W.tracking_number=String(t.tracking_number||""),we.value=!0}ca(()=>{var t;return(t=$.value)==null?void 0:t.ship_mode},t=>{var e;!we.value||!Ae.value||!Bt((e=$.value)==null?void 0:e.id,Ae.value)||(W.ship_mode=Y(t))});async function Ka(){var t;if(!W.tracking_number.trim()){N.msgError("请先填写快递单号再确认发货");return}wt.value=!0;try{await yi({id:Ae.value,ship_mode:Y(W.ship_mode),express_company:W.express_company||"auto",tracking_number:W.tracking_number.trim()}),N.msgSuccess("确认发货成功,订单已进入「已发货」状态"),we.value=!1,U(),await((t=H.value)==null?void 0:t.refreshIfCurrent(Ae.value))}catch{}finally{wt.value=!1}}const an=[{value:3,label:"已完成"},{value:7,label:"进行中"},{value:8,label:"暂不制药"},{value:9,label:"拒收"},{value:10,label:"退款"},{value:11,label:"保留药方"},{value:12,label:"制药缓发"}],Re=g(!1),Te=g(0),ye=g(3),Ke=g(!1),Qe=g(!1),pe=g([]),sa=g(),te=fe({reason:"",refund_amount:void 0}),be=g(0),sn=V(()=>la(pe.value)),ln=V(()=>({refund_amount:[{required:!0,message:"请输入退款金额",trigger:"change"},{validator:(t,e,s)=>{const i=Number(e),u=be.value;if(!Number.isFinite(i)||i<=0){s(new Error("退款金额须大于 0"));return}if(u>0&&i>u+.009){s(new Error(`不能超过可退上限 ¥${B(u)}`));return}s()},trigger:"change"}],reason:[{required:!0,message:"请填写退款原因",trigger:"blur"}]}));let Je=0;function nn(){var t;Te.value=0,pe.value=[],Qe.value=!1,te.reason="",te.refund_amount=void 0,be.value=0,(t=sa.value)==null||t.clearValidate(),Je+=1,Ce.value=null,_t.value=!1}async function rn(t){if(!t){pe.value=[];return}Qe.value=!0;try{const e=await rt({id:t}),s=(e==null?void 0:e.data)??e??null,i=s==null?void 0:s.linked_pay_orders;pe.value=Array.isArray(i)?i:[];const u=la(pe.value),p=Number(s==null?void 0:s.paid)||0;be.value=u>0?u:p,te.refund_amount=be.value}catch{pe.value=[],be.value=0}finally{Qe.value=!1}}async function on(t){const e=Number(t.id),s=String(t.tracking_number||"").trim();if(!e||!s)return;const i=++Je;_t.value=!0,Ce.value=null;try{const u=String(t.recipient_phone||"").replace(/\D/g,""),p={id:e,express_company:String(t.express_company||"auto")||"auto"};u.length>=4&&(p.phone_tail=u);const c=await Ni(p);if(i!==Je||Te.value!==e)return;Ce.value=ni(c,s,e)}catch{if(i!==Je||Te.value!==e)return;Ce.value=null}finally{i===Je&&Te.value===e&&(_t.value=!1)}}async function un(){var e,s,i;const t=Te.value;if(t){if(ye.value===10){if(!await((e=sa.value)==null?void 0:e.validate().catch(()=>!1)))return;Ke.value=!0;try{await Cs({id:t,reason:te.reason.trim(),refund_amount:Number(te.refund_amount)}),N.msgSuccess("退款成功"),Re.value=!1,U(),await((s=H.value)==null?void 0:s.refreshIfCurrent(t))}catch{}finally{Ke.value=!1}return}Ke.value=!0;try{await bi({id:t,fulfillment_status:ye.value}),N.msgSuccess("订单状态已更新"),Re.value=!1,U(),await((i=H.value)==null?void 0:i.refreshIfCurrent(t))}catch{}finally{Ke.value=!1}}}function la(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 Ye=g(!1),na=g(0),ra=g(!1),ia=g(),oe=g(0),Q=fe({reason:"",refund_amount:void 0}),dn=V(()=>{const t=B(oe.value),e=B(Q.refund_amount);return Number(Q.refund_amount)>=oe.value-.009?`确认全额退款 ¥${t}:关联收款将标记已退款,本单已付清零,且不可撤销。`:`确认部分退款 ¥${e}(可退上限 ¥${t}):将扣减本单已付,并按金额依次标记关联收款已退款。`}),pn=V(()=>({refund_amount:[{required:!0,message:"请输入退款金额",trigger:"change"},{validator:(t,e,s)=>{const i=Number(e),u=oe.value;if(!Number.isFinite(i)||i<=0){s(new Error("退款金额须大于 0"));return}if(u>0&&i>u+.009){s(new Error(`不能超过可退上限 ¥${B(u)}`));return}s()},trigger:"change"}],reason:[{required:!0,message:"请填写退款原因",trigger:"blur"}]}));function cn(){var t;na.value=0,Q.reason="",Q.refund_amount=void 0,oe.value=0,(t=ia.value)==null||t.clearValidate()}async function Qa(t){na.value=t.id,Q.reason="",Q.refund_amount=void 0,oe.value=0,Ye.value=!0;try{const e=await rt({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:[],u=la(i),p=Number(s==null?void 0:s.paid)||0;oe.value=u>0?u:p,Q.refund_amount=oe.value}catch{oe.value=0}}async function mn(){var s,i;const t=na.value;if(!(!t||!await((s=ia.value)==null?void 0:s.validate().catch(()=>!1)))){ra.value=!0;try{await Cs({id:t,reason:Q.reason.trim(),refund_amount:Number(Q.refund_amount)}),N.msgSuccess("退款成功"),Ye.value=!1,U(),await((i=H.value)==null?void 0:i.refreshIfCurrent(t))}catch{}finally{ra.value=!1}}}const Xe=g(!1),Vt=g(!1),Ze=g(0),St=g(),oa=g(!1),Nt=g([]),_n=V(()=>C.add_mode==="completion_only"?"不创建或关联支付单,仅提交完单申请,由审核人员在支付审核时处理。":C.add_mode==="create_express"?"通过快递代收创建新支付单(流转同付呗),或关联已存在但未绑定的支付单。":"可以通过付呗创建新支付单,或关联已存在但未绑定的支付单。"),C=fe({add_mode:"create",order_type:3,pay_amount:void 0,pay_remark:"",link_pay_order_ids:[],completion_request:0}),fn=V(()=>{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=[{validator:(e,s,i)=>{if(s==null||s===""){i(new Error("请输入支付金额"));return}const u=Number(s);!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,s,i)=>{!Array.isArray(s)||s.length===0?i(new Error("请至少选择一个支付单")):i()}}]),t});async function vn(t,e=[]){var s;if(!t){Nt.value=[];return}try{oa.value=!0;const i=await Ps({diagnosis_id:t}),u=(i==null?void 0:i.lists)??((s=i==null?void 0:i.data)==null?void 0:s.lists)??[],p=Array.isArray(u)?u.filter(c=>!e.includes(c.id)):[];Nt.value=p}catch{Nt.value=[]}finally{oa.value=!1}}function Ja(t){var i,u;if(!Ht(t)){N.msgWarning("订单总金额与已付金额一致,无需补齐支付单");return}Ze.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,Xe.value=!0;const e=t.diagnosis_id||((i=$.value)==null?void 0:i.diagnosis_id),s=t.pay_order_ids||((u=$.value)==null?void 0:u.pay_order_ids)||[];e&&vn(e,s)}async function gn(){var t;if(St.value){await St.value.validate(),Vt.value=!0;try{if(C.add_mode==="completion_only")await xi({id:Ze.value}),N.msgSuccess("完单申请已提交,请等待支付审核");else if(C.add_mode==="create"||C.add_mode==="create_express")await ki({id:Ze.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"}),N.msgSuccess("支付单已新增,请等待审核");else{const e=C.link_pay_order_ids;if(e.length===0){N.msgError("请至少选择一个支付单");return}await hi({id:Ze.value,pay_order_ids:e,completion_request:C.completion_request}),N.msgSuccess(`已关联 ${e.length} 个支付单,请等待审核`)}Xe.value=!1,U(),await((t=H.value)==null?void 0:t.refreshIfCurrent(Ze.value))}catch{}finally{Vt.value=!1}}}function Ya(t){Te.value=t.id,ye.value=3,te.reason="",te.refund_amount=void 0,pe.value=[],Ce.value=null,Re.value=!0,rn(t.id),String(t.tracking_number||"").trim()&&on(t)}async function yn(t){var e;try{await nt.confirm("确认撤回处方审核?撤回后将重置为「待审核」状态。","撤回处方审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await wi({id:t.id}),N.msgSuccess("处方审核已撤回"),U(),await((e=H.value)==null?void 0:e.refreshIfCurrent(t.id))}catch{}}async function bn(t){var e;try{await nt.confirm("确认撤回支付单审核?撤回后将重置为「待审核」状态。","撤回支付单审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await Vi({id:t.id}),N.msgSuccess("支付单审核已撤回"),U(),await((e=H.value)==null?void 0:e.refreshIfCurrent(t.id))}catch{}}const xn="成都双流甄养堂互联网医院 处方笺",Ct=g(!1),Pt=g(!1),x=g(null),$e=g(""),G=g("internal"),Xa=g(null),Ee=g(!1);function Za(t,e,s){const i=t.prescription_type||"浓缩水丸",u=Number(t.times_per_day)>0?Number(t.times_per_day):3,p=t.dosage_amount!=null?Number(t.dosage_amount):10,c=t.dosage_unit||(i==="饮片"?"ml":"g"),h=t.usage_way||e||"温水送服",M=t.usage_time||s||"",b=[];if(b.push(`每天${u}次`),i==="浓缩水丸"){const ae=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;b.push(`一次${ae}袋`),b.push(`每袋${p}${c}`)}else b.push(`一次${p}${c}`);return b.push(h),M&&b.push(M),b.join(", ")}const et=V(()=>{var e;const t=(e=x.value)==null?void 0:e.herbs;return Array.isArray(t)?t:[]}),Ot=V(()=>et.value.filter(t=>va(t==null?void 0:t.formula_type)==="主方")),De=V(()=>et.value.filter(t=>va(t==null?void 0:t.formula_type)==="辅方")),es=V(()=>{var t;return li((t=x.value)==null?void 0:t.dietary_taboo)}),ts=V(()=>{const t=x.value;if(!t||(t.prescription_type||"浓缩水丸")!=="浓缩水丸")return null;const e=Number(t.medication_days??t.usage_days??t.dose_count),s=Number(t.times_per_day),i=Number(t.dosage_amount),u=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;return!Number.isFinite(e)||!Number.isFinite(s)||!Number.isFinite(i)||e<=0||s<=0||i<=0?null:e*s*i*u}),as=V(()=>{const t=x.value;if(!t||(t.prescription_type||"浓缩水丸")!=="浓缩水丸"||!De.value.length)return null;const e=Ss(t.aux_usage,t.prescription_type||"浓缩水丸"),s=Number(t.medication_days??e.usage_days),i=Number(e.times_per_day),u=Number(e.dosage_amount),p=Number(e.dosage_bag_count)>0?Number(e.dosage_bag_count):1;return!Number.isFinite(s)||!Number.isFinite(i)||!Number.isFinite(u)||s<=0||i<=0||u<=0?null:s*i*u*p}),At=t=>String(t).padStart(2,"0"),kn=V(()=>{const t=x.value;if(!t)return"—";const e=t.create_time??t.update_time??null;if(e){const s=String(e).length===10?Number(e)*1e3:Number(e),i=new Date(s);if(!isNaN(i.getTime()))return`${i.getFullYear()}-${At(i.getMonth()+1)}-${At(i.getDate())} ${At(i.getHours())}:${At(i.getMinutes())}`}return t.prescription_date||"—"}),hn=V(()=>{const t=x.value;if(!t)return"—";const e=String(t.sn??"").trim();if(e)return e;const s=String(t.visit_no??"").trim();return s||"—"}),wn=V(()=>{const t=x.value;if(!t)return"—";const e=Number(t.appointment_id);return Number.isFinite(e)&&e>0?String(e):"—"}),ss=V(()=>{const t=x.value;return t?String(t.order_no??"").trim():""}),Vn=V(()=>{const t=x.value;if(!t)return"—";if(t.recipient_text)return t.recipient_text;const e=[];(t.recipient_name||t.patient_name)&&e.push(t.recipient_name||t.patient_name),(t.recipient_phone||t.phone)&&e.push(t.recipient_phone||t.phone);let s=t.region;return Array.isArray(s)&&(s=s.filter(Boolean).join("")),s&&e.push(String(s)),t.shipping_address?e.push(String(t.shipping_address)):t.address&&e.push(String(t.address)),e.length?e.join(","):"—"}),ls=V(()=>{var e;const t=Number((e=x.value)==null?void 0:e.dose_count);return Number.isFinite(t)&&t>0?t:1}),Sn=V(()=>{const e=et.value.reduce((s,i)=>s+(Number(i==null?void 0:i.dosage)||0),0);return Ve(e)}),ns=t=>{const e=Number(t)||0;return Ve(e*ls.value)},Nn=V(()=>{const t=x.value;if(!t)return"—";const e=t.prescription_type||"浓缩水丸";return e==="饮片"?"饮片":/丸|散|膏|片/.test(e)?`浓缩丸-${e}`:e}),rs=V(()=>{const t=x.value;return t?t.usage_text?t.usage_text:Za(t):"—"}),ua=V(()=>{const t=x.value;if(!t||!De.value.length)return"";const e=Ss(t.aux_usage,t.prescription_type||"浓缩水丸");return Za({prescription_type:t.prescription_type,dosage_amount:e.dosage_amount,dosage_unit:t.dosage_unit,dosage_bag_count:e.dosage_bag_count,times_per_day:e.times_per_day,usage_way:t.usage_way,usage_time:t.usage_time},t.usage_way,t.usage_time)}),Cn=V(()=>{const t=ts.value,e=as.value,s=typeof t=="number"&&isFinite(t)&&t>0?t:0,i=typeof e=="number"&&isFinite(e)&&e>0?e:0,u=s+i;if(u>0)return Ve(u);const p=x.value;if(!p)return"";const c=p.out_pellet||p.total_weight;if(c&&Number(c)>0)return Ve(Number(c));const h=et.value;if(!h.length)return"";const M=h.reduce((b,ae)=>b+(Number(ae==null?void 0:ae.dosage)||0),0);return Ve(M*ls.value)}),is=V(()=>{const t=x.value;return t&&t.medical_advice||""}),os=V(()=>{const t=x.value;if(!t)return"";const e=[];return e.push(`共${et.value.length}味药`),t.usage_notes&&e.push(String(t.usage_notes)),t.remark&&e.push(String(t.remark)),e.join(" ")}),us=V(()=>{const t=x.value;return t&&(t.pharmacy_remark||t.pharmacy_note)||""}),ds=V(()=>{const t=Cn.value;if(!t)return"";const e=ts.value,s=as.value;return typeof e=="number"&&isFinite(e)&&e>0&&typeof s=="number"&&isFinite(s)&&s>0?`${t}克(主方 ${Ve(e)}克 + 辅方 ${Ve(s)}克)`:`${t}克`});function Ve(t){return isFinite(t)?Number.isInteger(t)?String(t):t.toFixed(2).replace(/\.?0+$/,""):"0"}function ps(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 Pn(t){return t?ps(t):"—"}function On(t){return t===1||t==="1"?"男":t===0||t==="0"?"女":"—"}function An(t){return t==null||t===""?"—":`${t}岁`}function Rn(){ms(m)}function cs(t){return t.map(e=>`${String(e.name??"").trim()}:${Number(e.dosage)||0}`).sort().join("|")}function Tn(t,e){return!t.length||!e.length||t.length!==e.length?!1:cs(t)===cs(e)}function $n(t){if(!t||typeof t!="object")return"";const e=t;return String(e.prescription_name??e.library_name??"").trim()}async function En(t){const e=$n(t.aux_usage);if(e)return e;const i=(Array.isArray(t.herbs)?t.herbs:[]).filter(p=>va(p==null?void 0:p.formula_type)==="辅方");if(!i.length)return"";const u=Number(t.creator_id)>0?Number(t.creator_id):0;if(!u)return"";try{const p=await Ci({page_no:1,page_size:200,formula_type:"辅方",prescribing_creator_id:u}),c=Array.isArray(p==null?void 0:p.lists)?p.lists:[];for(const h of c){const M=Array.isArray(h==null?void 0:h.herbs)?h.herbs:[];if(Tn(i,M))return String((h==null?void 0:h.prescription_name)??"").trim()}}catch{}return""}async function ms(t){if(!t.prescription_id){N.msgWarning("该订单未关联处方");return}Ct.value=!0,Pt.value=!0,x.value=null,$e.value="",G.value="internal";try{const e=await Si({id:t.prescription_id}),s=(e==null?void 0:e.data)??e??null;if(s){const i=t.medication_days,u={...s};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 p=t.linked_appointment;(!u.appointment_id||Number(u.appointment_id)<=0)&&p&&typeof p=="object"&&Number(p.id)>0&&(u.appointment_id=Number(p.id)),x.value=u,$e.value=await En(u)}else x.value=null,$e.value=""}catch(e){N.msgError((e==null?void 0:e.message)||"加载处方详情失败"),Ct.value=!1,$e.value=""}finally{Pt.value=!1}}async function Dn(t){const e=t.querySelectorAll('img[src^="http"]'),s=Array.from(e).map(async i=>{try{const u=await fetch(i.src,{mode:"cors"});if(!u.ok)return;const p=await u.blob(),c=await new Promise((h,M)=>{const b=new FileReader;b.onload=()=>h(b.result),b.onerror=M,b.readAsDataURL(p)});i.src=c}catch{}});await Promise.allSettled(s)}async function _s(){await lt();const t=Xa.value;if(!t)throw new Error("未找到处方笺内容");return t.scrollIntoView({behavior:"instant",block:"nearest"}),await Dn(t),await new Promise(e=>requestAnimationFrame(()=>e(null))),await new Promise(e=>setTimeout(e,250)),Lr(t,{scale:2,useCORS:!0,allowTaint:!1,logging:!1,backgroundColor:"#ffffff",windowWidth:t.scrollWidth,windowHeight:t.scrollHeight,width:t.scrollWidth,height:t.scrollHeight,ignoreElements:e=>e instanceof HTMLElement&&e.classList.contains("cf-slip-no-export")})}function fs(){var s;const t=(s=x.value)==null?void 0:s.patient_name;return`处方_${typeof t=="string"&&t.trim()?t.trim().replace(/[\\/:*?"<>|]/g,"_"):"未命名"}_${Date.now()}`}async function Fn(){if(x.value){Ee.value=!0;try{const t=await _s(),e=document.createElement("a");e.download=`${fs()}.png`,e.href=t.toDataURL("image/png"),e.click(),N.msgSuccess("图片已下载")}catch{N.msgError("下载图片失败")}finally{Ee.value=!1}}}async function Un(){if(x.value){Ee.value=!0;try{const t=await _s(),e=t.toDataURL("image/jpeg",.95),s=new Ur({orientation:"portrait",unit:"mm",format:"a4"}),i=210,u=297,p=i,c=t.height*p/t.width;if(c<=u)s.addImage(e,"JPEG",0,0,p,c);else{let h=c,M=0;for(;h>0;)s.addImage(e,"JPEG",0,M,p,c),h-=u,M-=u,h>0&&s.addPage()}s.save(`${fs()}.pdf`),N.msgSuccess("PDF已下载")}catch{N.msgError("下载PDF失败")}finally{Ee.value=!1}}}return(t,e)=>{const s=Gn,i=Kn,u=ar,p=tr,c=lr,h=sr,M=nr,b=rr,ae=zr,J=er,R=or,T=ur,Rt=dr,Tt=cr,tt=ir,at=Ir,Se=fr,Fe=_r,se=vr,X=gr,xe=yr,da=kr,Ln=xr,z=wr,st=hr,In=Vr,zn=Cr,jn=Nr,Mn=Pr,Ue=Or,vs=Rr,qn=Ar,gs=Tr,ce=Er,pa=$r,_e=Zn,D=Wn("perms");return o(),f("div",$i,[l(s,{class:"!border-none shadow-sm mb-4",shadow:"never"},{default:n(()=>[r("div",Ei,[it.value?(o(),f("div",Di,[e[89]||(e[89]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"处方审核",-1)),(o(),f(O,null,L(el,a=>r("div",{key:a.value,class:q(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",y.prescription_audit_status===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>al(a.value)},[r("span",Ui,d(a.label),1)],10,Fi)),64))])):v("",!0),r("div",Li,[e[90]||(e[90]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"支付单审核",-1)),(o(),f(O,null,L(tl,a=>r("div",{key:a.value,class:q(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",y.payment_slip_audit_status===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>sl(a.value)},[r("span",zi,d(a.label),1)],10,Ii)),64))]),r("div",ji,[e[91]||(e[91]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"发货状态",-1)),(o(),f(O,null,L(Ks,a=>r("div",{key:"fs-"+String(a.value),class:q(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",y.fulfillment_status===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>Qs(a.value)},[r("span",qi,d(a.label),1)],10,Mi)),64))]),r("div",Bi,[e[92]||(e[92]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"供货方式",-1)),(o(),f(O,null,L(Js,a=>r("div",{key:"sm-"+String(a.value),class:q(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",y.supply_mode===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>Ys(a.value)},[r("span",Wi,d(a.label),1)],10,Hi)),64))]),r("div",Gi,[e[93]||(e[93]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"快递方式",-1)),(o(),f(O,null,L(Xs,a=>r("div",{key:"ec-"+String(a.value),class:q(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",y.express_company===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>Zs(a.value)},[r("span",Qi,d(a.label),1)],10,Ki)),64))])])]),_:1}),l(s,{class:"!border-none po-filter-card shadow-sm",shadow:"never"},{default:n(()=>[A((o(),f("div",Ji,[r("div",Yi,[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",Xi,[r("div",null,[r("div",Zi,[l(i,{size:16,class:"text-sky-500"},{default:n(()=>[l(w(Qn))]),_:1}),_(" "+d(de.value.orderHeading),1)]),r("div",eo,[r("div",to," ¥"+d(de.value.orderPerformanceStr),1),r("div",ao,[r("span",null,"合计 ¥"+d(de.value.orderStr),1),r("span",so,"已取消 ¥"+d(de.value.orderCancelledStr),1)])])]),r("div",lo,[l(i,{size:20},{default:n(()=>[l(w(Jn))]),_:1})])]),r("p",no,d(de.value.periodLine),1)]),r("div",ro,[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",io,[r("div",null,[r("div",oo,[l(i,{size:16,class:"text-emerald-500"},{default:n(()=>[l(w(Yn))]),_:1}),_(" "+d(de.value.payHeading),1)]),r("div",uo,[r("div",po," ¥"+d(de.value.payPerformanceStr),1),r("div",co,[r("span",null,"合计 ¥"+d(de.value.payStr),1),r("span",mo,"已取消 ¥"+d(de.value.payCancelledStr),1)])])]),r("div",_o,[l(i,{size:20},{default:n(()=>[l(w(Xn))]),_:1})])]),r("p",fo,d(de.value.periodLine),1)])])),[[_e,w(Z).loading]]),l(J,{class:"ls-form",model:y,inline:""},{default:n(()=>[l(jr,{"time-type":w(ze),"onUpdate:timeType":e[0]||(e[0]=a=>ma(ze)?ze.value=a:null),"date-range":w(zt),"onUpdate:dateRange":e[1]||(e[1]=a=>ma(zt)?zt.value=a:null),label:"创建时间",variant:"inline","show-all":"","picker-width":"230px",onTimeTypeChange:ol,onCustomChange:ul},null,8,["time-type","date-range"]),l(p,{class:"w-[260px]",label:"订单号"},{default:n(()=>[l(u,{modelValue:y.order_no,"onUpdate:modelValue":e[2]||(e[2]=a=>y.order_no=a),placeholder:"业务订单号",clearable:"",onKeyup:$t(w(K),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(p,{class:"w-[140px]",label:"处方ID"},{default:n(()=>[l(u,{modelValue:y.prescription_id,"onUpdate:modelValue":e[3]||(e[3]=a=>y.prescription_id=a),placeholder:"处方ID",clearable:"",onKeyup:$t(w(K),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(p,{class:"w-[220px]",label:"患者"},{default:n(()=>[l(u,{modelValue:y.patient_keyword,"onUpdate:modelValue":e[4]||(e[4]=a=>y.patient_keyword=a),placeholder:"姓名 / 手机号",clearable:"",onKeyup:$t(w(K),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(p,{class:"w-[220px]",label:"快递"},{default:n(()=>[l(u,{modelValue:y.express_keyword,"onUpdate:modelValue":e[5]||(e[5]=a=>y.express_keyword=a),placeholder:"快递单号 / 公司",clearable:"",onKeyup:$t(w(K),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),Fs.value?(o(),k(p,{key:0,class:"w-[200px]",label:"下单人"},{default:n(()=>[l(h,{modelValue:y.audit_admin_id,"onUpdate:modelValue":e[6]||(e[6]=a=>y.audit_admin_id=a),clearable:"",filterable:"",placeholder:"全部下单人",class:"!w-full"},{default:n(()=>[(o(!0),f(O,null,L(xa.value,a=>(o(),k(c,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})):v("",!0),l(p,{class:"w-[200px]",label:"医生"},{default:n(()=>[l(h,{modelValue:y.doctor_id,"onUpdate:modelValue":e[7]||(e[7]=a=>y.doctor_id=a),clearable:"",filterable:"",placeholder:"开方医生",class:"!w-full"},{default:n(()=>[(o(!0),f(O,null,L(It.value,a=>(o(),k(c,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(p,{class:"w-[220px] min-w-[200px]",label:"医助部门"},{default:n(()=>[l(M,{modelValue:y.assistant_dept_id,"onUpdate:modelValue":e[8]||(e[8]=a=>y.assistant_dept_id=a),data:dt.value,class:"!w-full",clearable:"",filterable:"","check-strictly":"","default-expand-all":!0,"node-key":"id",props:Ms,placeholder:"医助部门(选父级含子级)",onChange:_l},null,8,["modelValue","data"])]),_:1}),l(p,{class:"w-[200px]",label:"医助"},{default:n(()=>[l(h,{modelValue:y.assistant_id,"onUpdate:modelValue":e[9]||(e[9]=a=>y.assistant_id=a),clearable:"",filterable:"",placeholder:"订单创建人",class:"!w-full"},{default:n(()=>[(o(!0),f(O,null,L(Pa.value,a=>(o(),k(c,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(p,{class:"w-[160px]",label:"服务渠道"},{default:n(()=>[l(h,{modelValue:y.service_channel,"onUpdate:modelValue":e[10]||(e[10]=a=>y.service_channel=a),clearable:"",placeholder:"全部",class:"!w-full"},{default:n(()=>[l(c,{label:"未指派",value:"0"})]),_:1},8,["modelValue"])]),_:1}),l(p,{class:"w-[140px]",label:"辅方"},{default:n(()=>[l(h,{modelValue:y.has_aux_formula,"onUpdate:modelValue":e[11]||(e[11]=a=>y.has_aux_formula=a),clearable:"",placeholder:"全部",class:"!w-full"},{default:n(()=>[l(c,{label:"含辅方",value:"1"}),l(c,{label:"不含辅方",value:"0"})]),_:1},8,["modelValue"])]),_:1}),l(p,null,{default:n(()=>[l(b,{type:"primary",onClick:w(K)},{default:n(()=>[...e[96]||(e[96]=[_("查询",-1)])]),_:1},8,["onClick"]),l(b,{onClick:vl},{default:n(()=>[...e[97]||(e[97]=[_("重置",-1)])]),_:1}),A(l(ae,{class:"ml-2.5","fetch-fun":w(ri),params:pl.value,"page-size":w(Z).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}),A((o(),k(s,{class:"!border-none mt-4 po-table-card shadow-sm",shadow:"never"},{default:n(()=>[r("div",vo,[r("div",go,[e[98]||(e[98]=r("span",{class:"po-table-title text-gray-800"},"订单列表",-1)),r("span",yo,"共 "+d(w(Z).count)+" 条",1),ha.value?(o(),k(b,{key:0,type:"primary",plain:"",size:"small",class:"ml-3",disabled:ge.value.length===0,onClick:zs},{default:n(()=>[_(" 批量改派医助"+d(ge.value.length?`(${ge.value.length})`:""),1)]),_:1},8,["disabled"])):v("",!0)]),r("div",bo,[r("div",{class:q(["po-focus-board__item is-pending-rx",{"is-active":le.value==="pendingRx"}]),onClick:e[12]||(e[12]=a=>pt("pendingRx"))},[e[99]||(e[99]=r("span",{class:"po-focus-board__label"},"待处方审核",-1)),r("strong",xo,d(ct.value.pendingRx),1)],2),r("div",{class:q(["po-focus-board__item is-pending-pay",{"is-active":le.value==="pendingPay"}]),onClick:e[13]||(e[13]=a=>pt("pendingPay"))},[e[100]||(e[100]=r("span",{class:"po-focus-board__label"},"待支付审核",-1)),r("strong",ko,d(ct.value.pendingPay),1)],2),r("div",{class:q(["po-focus-board__item is-pending-ship",{"is-active":le.value==="pendingShip"}]),onClick:e[14]||(e[14]=a=>pt("pendingShip"))},[e[101]||(e[101]=r("span",{class:"po-focus-board__label"},"待发货",-1)),r("strong",ho,d(ct.value.pendingShip),1)],2),r("div",{class:q(["po-focus-board__item is-risk",{"is-active":le.value==="risk"}]),onClick:e[15]||(e[15]=a=>pt("risk"))},[e[102]||(e[102]=r("span",{class:"po-focus-board__label"},"重点异常",-1)),r("strong",wo,d(ct.value.risk),1)],2)])]),l(tt,{data:w(Z).lists,size:"default",stripe:"",class:"po-data-table","row-class-name":fl,onSelectionChange:Is},{default:n(()=>[ha.value?(o(),k(R,{key:0,type:"selection",width:"44",selectable:()=>!0})):v("",!0),l(R,{label:"订单号","min-width":"178","show-overflow-tooltip":""},{default:n(({row:a})=>[r("div",Vo,[r("div",So,d(a.order_no||"—"),1),r("div",No,[l(T,{size:"small",effect:"plain",type:w(Hr)(a)},{default:n(()=>[_(d(w(Wr)(a)),1)]),_:2},1032,["type"]),r("span",Co,"#"+d(a.id),1)])])]),_:1}),l(R,{label:"处方ID",prop:"prescription_id",width:"86"}),l(R,{label:"诊单ID",prop:"diagnosis_id",width:"86"}),l(R,{label:"收货人","min-width":"100"},{default:n(({row:a})=>[r("div",null,d(a.recipient_name||"—"),1),r("div",{class:q(["text-xs",w(fa)(a.recipient_phone,a.prescription_phone)?"text-red-600 font-semibold":"text-gray-400"])},[_(d(a.recipient_phone||"—")+" ",1),w(fa)(a.recipient_phone,a.prescription_phone)?(o(),f("span",Po,"(与处方手机不一致)")):v("",!0)],2)]),_:1}),l(R,{label:"费用类别",width:"96"},{default:n(({row:a})=>[_(d(w(hs)(a.fee_type)),1)]),_:1}),l(R,{label:"金额","min-width":"100"},{default:n(({row:a})=>[r("div",Oo,[r("span",Ao,"¥"+d(a.amount),1),l(Rt,{placement:"top",width:200,trigger:"hover"},{reference:n(()=>[l(i,{class:"text-gray-400 cursor-pointer hover:text-primary"},{default:n(()=>[l(w(pr))]),_:1})]),default:n(()=>[r("div",Ro,[r("div",To,[e[103]||(e[103]=r("span",{class:"text-gray-500"},"业务订单单据:",-1)),r("span",$o,"¥"+d(a.amount),1)]),r("div",Eo,[e[104]||(e[104]=r("span",{class:"text-gray-500"},"定金下限:",-1)),r("span",null,"¥"+d(w(B)(a.deposit_min_amount)),1)]),r("div",Do,[e[105]||(e[105]=r("span",{class:"text-gray-500"},"实付(关联):",-1)),r("span",Fo,"¥"+d(w(B)(a.linked_pay_paid_total)),1)]),Ft()&&a.internal_cost!=null&&a.internal_cost!==""?(o(),f("div",Uo,[e[106]||(e[106]=r("span",{class:"text-gray-500"},"内部成本:",-1)),r("span",{class:q(["font-medium cursor-pointer select-none",ue.value?"text-orange-600":"text-gray-400"]),title:"点击显示/隐藏",onClick:e[16]||(e[16]=Le(P=>ue.value=!ue.value,["stop"]))},d(ue.value?`¥${w(B)(a.internal_cost)}`:"****"),3)])):v("",!0)])]),_:2},1024)])]),_:1}),Ft()?(o(),k(R,{key:1,width:"100"},{header:n(()=>[r("span",{class:"cursor-pointer select-none hover:text-primary",title:"点击显示/隐藏内部成本",onClick:e[17]||(e[17]=Le(a=>ue.value=!ue.value,["stop"]))}," 内部成本 ")]),default:n(({row:a})=>[a.internal_cost!=null&&a.internal_cost!==""?(o(),f("span",{key:0,class:q(["cursor-pointer select-none",ue.value?"text-orange-600 font-medium":"text-gray-400"]),title:"点击显示/隐藏",onClick:e[18]||(e[18]=Le(P=>ue.value=!ue.value,["stop"]))},d(ue.value?`¥${a.internal_cost}`:"****"),3)):(o(),f("span",Lo,"—"))]),_:1})):v("",!0),l(R,{label:"处方审核",width:"110"},{default:n(({row:a})=>[l(T,{type:Aa(a.prescription_audit_status),size:"small",class:q(jt("rx",a))},{default:n(()=>[_(d(Oa(a.prescription_audit_status)),1)]),_:2},1032,["type","class"])]),_:1}),l(R,{label:"支付单审核",width:"110"},{default:n(({row:a})=>[l(T,{type:Aa(a.payment_slip_audit_status),size:"small",class:q(jt("pay",a))},{default:n(()=>[_(d(Oa(a.payment_slip_audit_status)),1)]),_:2},1032,["type","class"])]),_:1}),l(R,{label:"履约",width:"108"},{default:n(({row:a})=>[l(T,{type:w(Gr)(a.fulfillment_status),size:"small",class:q(jt("fulfillment",a))},{default:n(()=>[_(d(w(Kr)(a.fulfillment_status)),1)]),_:2},1032,["type","class"])]),_:1}),l(R,{label:"关联支付单",width:"100"},{default:n(({row:a})=>[Number(a.linked_pay_order_count)>0?(o(),f("span",{key:0,class:"text-primary cursor-default",title:a.linked_pay_order_id?`#${a.linked_pay_order_id}…`:""},d(a.linked_pay_order_count)+" 笔 ",9,Io)):(o(),f("span",zo,"—"))]),_:1}),l(R,{label:"创建时间","min-width":"144"},{default:n(({row:a})=>[_(d(w(ws)(a.create_time)),1)]),_:1}),l(R,{label:"开方人",prop:"doctor_name",width:"90","show-overflow-tooltip":""}),l(R,{label:"创建人",prop:"creator_name",width:"90","show-overflow-tooltip":""}),l(R,{"min-width":"128","show-overflow-tooltip":""},{header:n(()=>[e[107]||(e[107]=r("span",null,"二中心·指派",-1)),l(Tt,{placement:"top","max-width":"320",content:"与诊单「指派记录」快照一致:仅当本条业务单在操作瞬间为快照中的「关联业务单」(创建人+创建时间命中)时显示。绿色=新医助在名称含「二中心」的部门及其下级;灰色=系统自动释放诊单医助。"},{default:n(()=>[l(i,{class:"ml-0.5 align-middle text-gray-400 cursor-help"},{default:n(()=>[l(w(mr))]),_:1})]),_:1})]),default:n(({row:a})=>[Number(a.po_assign_snapshot_hit)?Number(a.po_assign_is_release)?(o(),k(T,{key:1,type:"info",size:"small"},{default:n(()=>[...e[108]||(e[108]=[_("已释放",-1)])]),_:1})):Number(a.po_assign_to_er_center)?(o(),k(T,{key:2,type:"success",size:"small"},{default:n(()=>[_(d(a.po_assign_to_assistant_name||"医助#"+a.po_assign_to_assistant_id),1)]),_:2},1024)):(o(),k(T,{key:3,type:"warning",size:"small",effect:"plain"},{default:n(()=>[_(" 非二中心 "+d(a.po_assign_to_assistant_name||"医助#"+a.po_assign_to_assistant_id),1)]),_:2},1024)):(o(),f("span",jo,"—"))]),_:1}),l(R,{label:"操作",width:"310",fixed:"right"},{default:n(({row:a})=>[r("div",Mo,[A((o(),k(b,{type:"primary",link:"",onClick:P=>Fl(a.id)},{default:n(()=>[_(d(Us.value),1)]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/detail"]]]),Ea(a)?A((o(),k(b,{key:0,type:"primary",link:"",onClick:P=>Wl(a)},{default:n(()=>[...e[109]||(e[109]=[_("编辑",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/edit"]]]):v("",!0),Cl(a)?A((o(),k(b,{key:1,type:"success",link:"",onClick:P=>en(a)},{default:n(()=>[...e[110]||(e[110]=[_("修改单号",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/ddcode"]]]):v("",!0),Mt(a)?A((o(),k(b,{key:2,type:"primary",link:"",onClick:P=>aa(a)},{default:n(()=>[...e[111]||(e[111]=[_("确认发货",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/ship"]]]):v("",!0),Ht(a)?A((o(),k(b,{key:3,type:"success",link:"",onClick:P=>Ja(a)},{default:n(()=>[...e[112]||(e[112]=[_("补齐支付单",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/addPayOrder"]]]):v("",!0),Ua(a)?A((o(),k(b,{key:4,type:"primary",link:"",onClick:P=>Ya(a)},{default:n(()=>[...e[113]||(e[113]=[_("完成订单",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/complete"]]]):v("",!0),La(a)?A((o(),k(b,{key:5,type:"danger",link:"",onClick:P=>Qa(a)},{default:n(()=>[...e[114]||(e[114]=[_("退款",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/refund"]]]):v("",!0),kl(a)?A((o(),k(b,{key:6,type:"danger",link:"",onClick:P=>Ql(a)},{default:n(()=>[...e[115]||(e[115]=[_("撤回",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/withdraw"]]]):v("",!0),Ia(a)?A((o(),k(b,{key:7,type:"warning",link:"",loading:bt.value===a.id,onClick:P=>Wa(a)},{default:n(()=>[...e[116]||(e[116]=[_("上传药房",-1)])]),_:1},8,["loading","onClick"])),[[D,["tcm.prescriptionOrder/uploadToPharmacy"]]]):v("",!0)])]),_:1})]),_:1},8,["data"]),r("div",qo,[l(at,{modelValue:w(Z),"onUpdate:modelValue":e[19]||(e[19]=a=>ma(Z)?Z.value=a:null),"page-sizes":[15,20,30,40,100,150,200],onChange:w(U)},null,8,["modelValue","onChange"])])]),_:1})),[[_e,w(Z).loading]]),l(qr,{ref_key:"detailDrawerRef",ref:H,"gancao-preview-loading":Oe.value,onUpdateAmount:El,onPatchRxPatient:Rl,onViewPrescription:e[20]||(e[20]=a=>$.value&&ms($.value)),onTestGancaoPreview:Zl,onViewPatient:Ts,onDetailChanged:w(U)},{"header-extra":n(({detail:a})=>[r("div",Bo,[e[119]||(e[119]=r("span",{class:"text-sm text-gray-500"},"发货类型",-1)),A((o(),k(Fe,{"model-value":Y(a.ship_mode),size:"small",disabled:qt.value||!Fa(a),onChange:Sl},{default:n(()=>[l(Se,{label:"gancao"},{default:n(()=>[...e[117]||(e[117]=[_("甘草药房",-1)])]),_:1}),l(Se,{label:"direct",disabled:Da(a)},{default:n(()=>[...e[118]||(e[118]=[_("洛阳药房",-1)])]),_:1},8,["disabled"])]),_:2},1032,["model-value","disabled"])),[[D,["tcm.prescriptionOrder/setShipMode"]]]),hl.value?v("",!0):(o(),k(T,{key:0,type:Y(a.ship_mode)==="direct"?"warning":"success",effect:"plain",round:""},{default:n(()=>[_(d(wl(a.ship_mode)),1)]),_:2},1032,["type"]))])]),"header-actions":n(({detail:a})=>[l(Br,{order:a,onResolved:Nl},null,8,["order"]),Ia(a)?A((o(),k(b,{key:0,type:"warning",size:"small",plain:"",loading:bt.value===a.id,onClick:P=>Wa(a)},{default:n(()=>[...e[120]||(e[120]=[_("上传药房",-1)])]),_:1},8,["loading","onClick"])),[[D,["tcm.prescriptionOrder/uploadToPharmacy"]]]):v("",!0),gl(a)?A((o(),k(b,{key:1,type:"warning",size:"small",plain:"",onClick:P=>Ba(a,"prescription")},{default:n(()=>[...e[121]||(e[121]=[_(" 处方审核 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/auditPrescription"]]]):v("",!0),bl(a)?A((o(),k(b,{key:2,type:"info",size:"small",plain:"",onClick:P=>yn(a)},{default:n(()=>[...e[122]||(e[122]=[_(" 撤回处方审核 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/auditPrescription"]]]):v("",!0),yl(a)?A((o(),k(b,{key:3,type:"warning",size:"small",plain:"",onClick:P=>Ba(a,"payment")},{default:n(()=>[...e[123]||(e[123]=[_(" 支付审核 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/auditPayment"]]]):v("",!0),xl(a)?A((o(),k(b,{key:4,type:"info",size:"small",plain:"",onClick:P=>bn(a)},{default:n(()=>[...e[124]||(e[124]=[_(" 撤回支付审核 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/auditPayment"]]]):v("",!0),Mt(a)?A((o(),k(b,{key:5,type:"primary",size:"small",plain:"",onClick:P=>aa(a)},{default:n(()=>[...e[125]||(e[125]=[_(" 确认发货 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/ship"]]]):v("",!0),Ht(a)?A((o(),k(b,{key:6,type:"success",size:"small",plain:"",onClick:P=>Ja(a)},{default:n(()=>[...e[126]||(e[126]=[_(" 关联支付单 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/addPayOrder"]]]):v("",!0),Ua(a)?A((o(),k(b,{key:7,type:"primary",size:"small",plain:"",onClick:P=>Ya(a)},{default:n(()=>[...e[127]||(e[127]=[_(" 完成订单 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/complete"]]]):v("",!0),La(a)?A((o(),k(b,{key:8,type:"danger",size:"small",plain:"",onClick:P=>Qa(a)},{default:n(()=>[...e[128]||(e[128]=[_(" 退款 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/refund"]]]):v("",!0)]),_:1},8,["gancao-preview-loading","onDetailChanged"]),l(X,{modelValue:je.value,"onUpdate:modelValue":e[23]||(e[23]=a=>je.value=a),title:"修改订单金额",width:"420px","destroy-on-close":"","close-on-click-modal":!1,onClosed:$l},{footer:n(()=>[l(b,{onClick:e[22]||(e[22]=a=>je.value=!1)},{default:n(()=>[...e[130]||(e[130]=[_("取消",-1)])]),_:1}),l(b,{type:"primary",loading:Wt.value,onClick:ja},{default:n(()=>[...e[131]||(e[131]=[_(" 确认修改 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(J,{ref_key:"updateAmountFormRef",ref:mt,model:me,rules:Ol,"label-width":"96px",class:"pr-2",onSubmit:Le(ja,["prevent"])},{default:n(()=>[l(p,{label:"当前金额"},{default:n(()=>{var a;return[r("div",Ho,"¥"+d(w(B)((a=$.value)==null?void 0:a.amount)),1)]}),_:1}),l(p,{label:"新金额",prop:"amount"},{default:n(()=>[l(se,{modelValue:me.amount,"onUpdate:modelValue":e[21]||(e[21]=a=>me.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:ke.value,"onUpdate:modelValue":e[46]||(e[46]=a=>ke.value=a),title:ie.value?"修改物流信息(甘草订单)":"编辑业务订单",width:"940px",top:"4vh","close-on-click-modal":!1,"destroy-on-close":"",class:"create-order-dialog",onClosed:ql},{footer:n(()=>[r("div",Cu,[ie.value?v("",!0):(o(),f("div",Pu,[r("span",Ou,"第 "+d(I.value+1)+" / 3 步",1),I.value===2&&j.value>0?(o(),f("span",Au," 订单金额与关联支付单合计须 ≥ ¥"+d(w(B)(j.value)),1)):v("",!0)])),r("div",Ru,[l(b,{size:"large",onClick:e[45]||(e[45]=a=>ke.value=!1)},{default:n(()=>[...e[144]||(e[144]=[_("取消",-1)])]),_:1}),ie.value?v("",!0):(o(),f(O,{key:0},[I.value>0?(o(),k(b,{key:0,size:"large",onClick:Bl},{default:n(()=>[...e[145]||(e[145]=[_("上一步",-1)])]),_:1})):v("",!0),I.value<2?(o(),k(b,{key:1,type:"primary",size:"large",onClick:Hl},{default:n(()=>[...e[146]||(e[146]=[_(" 下一步 ",-1)])]),_:1})):v("",!0)],64)),ie.value||I.value===2?(o(),k(b,{key:1,type:"primary",size:"large",loading:Jt.value,onClick:Gl},{default:n(()=>[...e[147]||(e[147]=[_(" 确认保存 ",-1)])]),_:1},8,["loading"])):v("",!0)])])]),default:n(()=>[A((o(),f("div",Wo,[re.value?(o(),f("div",Go,[r("div",Ko,[e[132]||(e[132]=r("span",{class:"create-order-rx-card__badge"},"关联处方",-1)),r("div",Qo,[r("span",Jo,"#"+d(re.value.id),1),re.value.sn?(o(),f("span",Yo,d(re.value.sn),1)):v("",!0),r("span",Xo,d(re.value.patient_name||"—"),1)])]),l(Tt,{content:Ma.value,placement:"bottom","show-after":300},{default:n(()=>[r("div",Zo,d(Ma.value),1)]),_:1},8,["content"])])):v("",!0),ie.value?(o(),k(xe,{key:1,type:"info",closable:!1,"show-icon":"",class:"mb-4",title:"订单已提交甘草,仅可修改快递单号与承运商;地址、金额等变更请先走取消流程。"},br({_:2},[vt.value?{name:"default",fn:n(()=>[r("div",eu,"甘草处方单号:"+d(vt.value),1)]),key:"0"}:void 0]),1024)):v("",!0),ie.value?v("",!0):(o(),f(O,{key:2},[l(Ln,{active:I.value,"finish-status":"success","align-center":"",class:"create-order-steps"},{default:n(()=>[l(da,{title:"患者与收货",description:"诊单与物流地址"}),l(da,{title:"服务与支付单",description:"套餐与关联收款"}),l(da,{title:"金额与确认",description:"费用与备注"})]),_:1},8,["active"]),r("p",tu,d(Ul.value),1)],64)),l(J,{ref_key:"editFormRef",ref:he,model:m,rules:Ml.value,"label-width":"108px",class:"create-order-form"},{default:n(()=>[ie.value?(o(),k(st,{key:0,gutter:20},{default:n(()=>[l(z,{span:24},{default:n(()=>[l(p,{label:"物流设置"},{default:n(()=>[r("div",au,[l(h,{modelValue:m.express_company,"onUpdate:modelValue":e[24]||(e[24]=a=>m.express_company=a),placeholder:"承运商",class:"w-[140px] shrink-0"},{default:n(()=>[l(c,{label:"自动识别",value:"auto"}),l(c,{label:"顺丰速运",value:"sf"}),l(c,{label:"京东快递",value:"jd"}),l(c,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),l(u,{modelValue:m.tracking_number,"onUpdate:modelValue":e[25]||(e[25]=a=>m.tracking_number=a),maxlength:"80",placeholder:"快递单号",class:"flex-1 min-w-0"},null,8,["modelValue"])])]),_:1})]),_:1})]),_:1})):v("",!0),ie.value?v("",!0):(o(),f(O,{key:1},[A(r("div",su,[l(st,{gutter:20},{default:n(()=>[l(z,{span:12},{default:n(()=>[l(p,{label:"收货人",prop:"recipient_name"},{default:n(()=>[l(u,{modelValue:m.recipient_name,"onUpdate:modelValue":e[26]||(e[26]=a=>m.recipient_name=a),maxlength:"50",placeholder:"姓名"},null,8,["modelValue"])]),_:1})]),_:1}),l(z,{span:12},{default:n(()=>[l(p,{label:"收货手机",prop:"recipient_phone"},{default:n(()=>[l(u,{modelValue:m.recipient_phone,"onUpdate:modelValue":e[27]||(e[27]=a=>m.recipient_phone=a),maxlength:"20",placeholder:"物流联系"},null,8,["modelValue"])]),_:1})]),_:1}),l(z,{span:24},{default:n(()=>[l(p,{label:"省市区",prop:"region"},{default:n(()=>[l(In,{modelValue:m.region,"onUpdate:modelValue":e[28]||(e[28]=a=>m.region=a),options:ut.value,props:{emitPath:!0},placeholder:"省 / 市 / 区",clearable:"",filterable:"",class:"w-full"},null,8,["modelValue","options"])]),_:1})]),_:1}),l(z,{span:24},{default:n(()=>[l(p,{label:"详细地址",prop:"shipping_address"},{default:n(()=>[l(u,{modelValue:m.shipping_address,"onUpdate:modelValue":e[29]||(e[29]=a=>m.shipping_address=a),type:"textarea",rows:3,placeholder:"街道、小区、门牌号等详细地址",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[_a,I.value===0]]),A(r("div",lu,[it.value?(o(),k(st,{key:0,gutter:20,class:"mb-1"},{default:n(()=>[l(z,{span:24},{default:n(()=>[r("div",nu,[e[135]||(e[135]=r("span",{class:"text-sm font-medium text-gray-700 mr-1"},"处方",-1)),m.prescription_id?(o(),k(b,{key:0,type:"primary",size:"small",link:"",onClick:Rn},{default:n(()=>[...e[133]||(e[133]=[_(" 详细 ",-1)])]),_:1})):v("",!0),m.id?(o(),k(b,{key:1,type:"warning",size:"small",link:"",loading:Oe.value,icon:w(Sr),onClick:Xl},{default:n(()=>[...e[134]||(e[134]=[_(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):v("",!0),r("span",ru,"ID: "+d(m.prescription_id||"—"),1)]),r("div",iu,[qa.value.length?(o(),f("div",ou,[e[136]||(e[136]=r("div",{class:"text-gray-500"},"创建人所属部门",-1)),(o(!0),f(O,null,L(qa.value,(a,P)=>(o(),f("div",{key:P,class:"pl-0 min-w-0"},[a.length?(o(),k(jn,{key:0,class:"po-diagnosis-creator-dept-breadcrumb text-[13px] leading-relaxed",separator:"/"},{default:n(()=>[(o(!0),f(O,null,L(a,(S,E)=>(o(),k(zn,{key:E},{default:n(()=>[r("span",uu,d(S),1)]),_:2},1024))),128))]),_:2},1024)):v("",!0)]))),128))])):(o(),f("div",du,"创建人所属部门:—"))])]),_:1}),l(z,{xs:24,sm:8},{default:n(()=>[l(p,{label:"复诊"},{default:n(()=>[l(Mn,{modelValue:m.is_follow_up,"onUpdate:modelValue":e[30]||(e[30]=a=>m.is_follow_up=a),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1}),l(z,{xs:24,sm:8},{default:n(()=>[l(p,{label:"服用天数",class:"create-order-form-item--inline-num"},{default:n(()=>[r("div",pu,[l(se,{modelValue:m.medication_days,"onUpdate:modelValue":e[31]||(e[31]=a=>m.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(z,{xs:24,sm:8},{default:n(()=>[l(p,{label:"上次医生"},{default:n(()=>[l(u,{modelValue:m.prev_staff,"onUpdate:modelValue":e[32]||(e[32]=a=>m.prev_staff=a),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),l(z,{span:12},{default:n(()=>[l(p,{label:za.value,prop:"dose_count"},{default:n(()=>[l(se,{modelValue:m.dose_count,"onUpdate:modelValue":e[33]||(e[33]=a=>m.dose_count=a),min:1,placeholder:za.value,class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1}),l(z,{span:12},{default:n(()=>[l(p,{label:"剂量单位",prop:"dose_unit"},{default:n(()=>[l(h,{modelValue:m.dose_unit,"onUpdate:modelValue":e[34]||(e[34]=a=>m.dose_unit=a),placeholder:"请选择",class:"w-full"},{default:n(()=>[l(c,{label:"剂",value:"剂"}),l(c,{label:"丸",value:"丸"}),l(c,{label:"袋",value:"袋"}),l(c,{label:"盒",value:"盒"}),l(c,{label:"瓶",value:"瓶"}),l(c,{label:"膏",value:"膏"}),l(c,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})):v("",!0),l(st,{gutter:20},{default:n(()=>[l(z,{span:12},{default:n(()=>[l(p,{label:"服务渠道"},{default:n(()=>[l(h,{modelValue:m.service_channel,"onUpdate:modelValue":e[35]||(e[35]=a=>m.service_channel=a),class:"w-full",filterable:"","allow-create":"","default-first-option":"",clearable:"",placeholder:"可选或自定义输入"},{default:n(()=>[l(c,{label:"未指派",value:"0"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(z,{span:12},{default:n(()=>[l(p,{label:"服务套餐"},{default:n(()=>[l(h,{modelValue:m.service_package,"onUpdate:modelValue":e[36]||(e[36]=a=>m.service_package=a),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"请选择服务套餐",clearable:"",class:"w-full"},{default:n(()=>[(o(!0),f(O,null,L(Il.value,a=>(o(),k(c,{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(z,{span:24},{default:n(()=>[l(p,{label:"物流设置"},{default:n(()=>[r("div",cu,[l(h,{modelValue:m.express_company,"onUpdate:modelValue":e[37]||(e[37]=a=>m.express_company=a),placeholder:"承运商",class:"w-[140px] shrink-0"},{default:n(()=>[l(c,{label:"自动识别",value:"auto"}),l(c,{label:"顺丰速运",value:"sf"}),l(c,{label:"京东快递",value:"jd"}),l(c,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),l(u,{modelValue:m.tracking_number,"onUpdate:modelValue":e[38]||(e[38]=a=>m.tracking_number=a),maxlength:"80",placeholder:"快递单号",class:"flex-1 min-w-0"},null,8,["modelValue"])])]),_:1})]),_:1}),l(z,{span:24},{default:n(()=>[l(p,{label:"关联支付单",prop:"pay_order_ids",required:j.value>0},{default:n(()=>[l(h,{modelValue:m.pay_order_ids,"onUpdate:modelValue":e[39]||(e[39]=a=>m.pay_order_ids=a),class:"w-full",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:j.value>0?"请至少选择一笔本诊单支付单(已开启门槛)":"多选本诊单支付单(可选)",loading:Yt.value},{default:n(()=>[(o(!0),f(O,null,L(Be.value,a=>(o(),k(c,{key:a.id,label:`${a.order_no} · ¥${a.amount} · ${gt(a.order_type)} · ${w(Et)(a)}`,value:a.id,class:"!h-auto py-1.5"},{default:n(()=>[r("div",mu,[r("div",_u,[r("span",fu,d(a.order_no),1),r("span",vu,"¥"+d(a.amount),1)]),r("div",gu,[r("span",yu,[_(d(gt(a.order_type))+" · "+d(w(Et)(a)),1),a.remark?(o(),f(O,{key:0},[_(" · "+d(a.remark),1)],64)):v("",!0)]),r("span",bu,d(String(a.create_time||"").substring(0,16)),1)])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","loading"]),r("div",xu,[j.value>0?(o(),f(O,{key:0},[r("span",ku,"当前已开启关联支付门槛(¥"+d(w(B)(j.value))+"),须至少选择一笔支付单。",1),e[138]||(e[138]=r("span",{class:"mx-1"},null,-1))],64)):v("",!0),e[140]||(e[140]=_(" 主管/本诊单医助可见全部支付单;否则仅本人收款单。已被占用的支付单不列出。 ",-1)),l(Tt,{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),[[_a,I.value===1]]),A(r("div",hu,[r("div",{class:q(["create-order-deposit-bar",Xt.value>=j.value?"is-ok":"is-warn"])},[r("div",wu,[e[141]||(e[141]=r("span",{class:"create-order-deposit-bar__label"},"定金门槛",-1)),r("strong",null,"¥"+d(w(B)(j.value)),1),r("span",Vu,d(j.value>0?"须 ≥ 此值":"未设置"),1)]),e[143]||(e[143]=r("div",{class:"create-order-deposit-bar__sep"},null,-1)),r("div",Su,[e[142]||(e[142]=r("span",{class:"create-order-deposit-bar__label"},"已选收款",-1)),r("strong",null,"¥"+d(w(B)(Xt.value)),1),r("span",Nu,d(Xt.value>=j.value?"已达标":"未达标"),1)])],2),l(st,{gutter:20,class:"create-order-step-panel__row-after-bar"},{default:n(()=>[l(z,{span:12},{default:n(()=>[l(p,{label:"费用类别",prop:"fee_type"},{default:n(()=>[l(h,{modelValue:m.fee_type,"onUpdate:modelValue":e[40]||(e[40]=a=>m.fee_type=a),placeholder:"请选择",class:"w-full"},{default:n(()=>[l(c,{label:"挂号费",value:1}),l(c,{label:"问诊费",value:2}),l(c,{label:"药品费用",value:3}),l(c,{label:"首付费用",value:4}),l(c,{label:"尾款费用",value:5}),l(c,{label:"其他费用",value:6}),l(c,{label:"全部费用",value:7}),l(c,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(z,{span:12},{default:n(()=>[l(p,{label:"总金额",prop:"amount"},{default:n(()=>[l(se,{modelValue:m.amount,"onUpdate:modelValue":e[41]||(e[41]=a=>m.amount=a),min:zl.value,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"元"},null,8,["modelValue","min"])]),_:1})]),_:1}),A((o(),k(z,{span:12},{default:n(()=>[l(p,{label:"内部成本"},{default:n(()=>[l(se,{modelValue:m.internal_cost,"onUpdate:modelValue":e[42]||(e[42]=a=>m.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(z,{span:24},{default:n(()=>[A((o(),k(p,{label:"药房备注"},{default:n(()=>[l(u,{modelValue:m.remark_extra,"onUpdate:modelValue":e[43]||(e[43]=a=>m.remark_extra=a),type:"textarea",rows:3,placeholder:"选填,对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})),[[D,["tcm.prescriptionOrder/editRemarkExtra"]]]),l(p,{label:"医助备注"},{default:n(()=>[l(u,{modelValue:m.remark_assistant,"onUpdate:modelValue":e[44]||(e[44]=a=>m.remark_assistant=a),type:"textarea",rows:3,placeholder:"选填,医助对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[_a,I.value===2]])],64))]),_:1},8,["model","rules"])])),[[_e,Qt.value]])]),_:1},8,["modelValue","title"]),l(X,{modelValue:He.value,"onUpdate:modelValue":e[51]||(e[51]=a=>He.value=a),title:Kl.value,width:"480px","destroy-on-close":"",onClosed:e[52]||(e[52]=a=>Pe.value="")},{footer:n(()=>[l(b,{onClick:e[48]||(e[48]=a=>He.value=!1)},{default:n(()=>[...e[149]||(e[149]=[_("取消",-1)])]),_:1}),l(b,{type:"primary",loading:yt.value,onClick:e[49]||(e[49]=a=>Ha("approve"))},{default:n(()=>[...e[150]||(e[150]=[_("同意通过",-1)])]),_:1},8,["loading"]),l(b,{type:"danger",loading:yt.value,onClick:e[50]||(e[50]=a=>Ha("reject"))},{default:n(()=>[...e[151]||(e[151]=[_("驳回阻止",-1)])]),_:1},8,["loading"])]),default:n(()=>[We.value&&We.value.completion_request===1?(o(),k(xe,{key:0,title:"完单申请",type:"warning",closable:!1,"show-icon":"",class:"mb-3"},{default:n(()=>[r("div",Tu,[e[148]||(e[148]=r("div",{class:"font-medium mb-1"},"该订单已申请完成",-1)),r("div",$u," 申请人:"+d(We.value.completion_request_by_name||"—"),1),r("div",Eu," 申请时间:"+d(w(ws)(We.value.completion_request_time)),1)])]),_:1})):v("",!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(u,{modelValue:Pe.value,"onUpdate:modelValue":e[47]||(e[47]=a=>Pe.value=a),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"在此输入审核意见..."},null,8,["modelValue"])]),_:1},8,["modelValue","title"]),l(X,{modelValue:Ge.value,"onUpdate:modelValue":e[56]||(e[56]=a=>Ge.value=a),title:"修改快递单号",width:"420px","destroy-on-close":"","close-on-click-modal":!1},{footer:n(()=>[l(b,{onClick:e[55]||(e[55]=a=>Ge.value=!1)},{default:n(()=>[...e[154]||(e[154]=[_("取消",-1)])]),_:1}),l(b,{type:"primary",loading:kt.value,onClick:Ga},{default:n(()=>[...e[155]||(e[155]=[_("保存单号",-1)])]),_:1},8,["loading"])]),default:n(()=>[A((o(),k(J,{"label-width":"90px",class:"pr-2",onSubmit:Le(Ga,["prevent"])},{default:n(()=>[l(p,{label:"承运商"},{default:n(()=>[l(h,{modelValue:ee.express_company,"onUpdate:modelValue":e[53]||(e[53]=a=>ee.express_company=a),class:"w-full",placeholder:"选择承运商"},{default:n(()=>[l(c,{label:"自动识别",value:"auto"}),l(c,{label:"顺丰速运",value:"sf"}),l(c,{label:"京东快递",value:"jd"}),l(c,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),l(p,{label:"快递单号"},{default:n(()=>[l(u,{modelValue:ee.tracking_number,"onUpdate:modelValue":e[54]||(e[54]=a=>ee.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})),[[_e,kt.value]])]),_:1},8,["modelValue"]),l(X,{modelValue:we.value,"onUpdate:modelValue":e[60]||(e[60]=a=>we.value=a),title:"确认发货",width:"440px","destroy-on-close":"","close-on-click-modal":!1},{footer:n(()=>[l(b,{onClick:e[59]||(e[59]=a=>we.value=!1)},{default:n(()=>[...e[157]||(e[157]=[_("取消",-1)])]),_:1}),l(b,{type:"primary",loading:wt.value,onClick:Ka},{default:n(()=>[...e[158]||(e[158]=[_(" 确认发货 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(xe,{title:"确认后订单状态将变更为「已发货」,请核对快递信息无误。",type:"warning",closable:!1,"show-icon":"",class:"mb-4"}),A((o(),k(J,{"label-width":"90px",class:"pr-2",onSubmit:Le(Ka,["prevent"])},{default:n(()=>[l(p,{label:"发货方式"},{default:n(()=>[l(T,{type:Y(W.ship_mode)==="direct"?"warning":"success",effect:"plain",size:"default"},{default:n(()=>[_(d(Vl.value),1)]),_:1},8,["type"]),e[156]||(e[156]=r("span",{class:"text-xs text-gray-400 ml-2"},"请在订单详情顶部「发货类型」中设置,此处不可修改",-1))]),_:1}),l(p,{label:"承运商"},{default:n(()=>[l(h,{modelValue:W.express_company,"onUpdate:modelValue":e[57]||(e[57]=a=>W.express_company=a),class:"w-full"},{default:n(()=>[l(c,{label:"自动识别",value:"auto"}),l(c,{label:"顺丰速运",value:"sf"}),l(c,{label:"京东快递",value:"jd"}),l(c,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),l(p,{label:"快递单号"},{default:n(()=>[l(u,{modelValue:W.tracking_number,"onUpdate:modelValue":e[58]||(e[58]=a=>W.tracking_number=a),maxlength:"80",placeholder:"请输入快递单号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1})),[[_e,wt.value]])]),_:1},8,["modelValue"]),l(X,{modelValue:Re.value,"onUpdate:modelValue":e[65]||(e[65]=a=>Re.value=a),title:"完成订单",width:"480px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:nn},{footer:n(()=>[l(b,{onClick:e[64]||(e[64]=a=>Re.value=!1)},{default:n(()=>[...e[162]||(e[162]=[_("取消",-1)])]),_:1}),l(b,{type:ye.value===10?"danger":"primary",loading:Ke.value,onClick:un},{default:n(()=>[_(d(ye.value===10?"确认退款":"确定"),1)]),_:1},8,["type","loading"])]),default:n(()=>[A((o(),f("div",Du,[Me.value.show?(o(),k(xe,{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",Fu,[Me.value.keywords.length?(o(),f("div",Uu,[e[159]||(e[159]=r("span",{class:"text-red-100/90"},"命中:",-1)),(o(!0),f(O,null,L(Me.value.keywords,a=>(o(),k(T,{key:a,type:"danger",effect:"plain",size:"small",class:"!border-white/35 !text-white"},{default:n(()=>[_(d(a),1)]),_:2},1024))),128))])):v("",!0),Me.value.lines.length?(o(),f("ul",Lu,[(o(!0),f(O,null,L(Me.value.lines,(a,P)=>(o(),f("li",{key:P},d(a),1))),128))])):v("",!0),e[160]||(e[160]=r("div",{class:"text-red-100/85 border-t border-white/15 pt-1.5"}," 确认已协调拒收/退回后续(重发、退款、改址等)后再完成订单。 ",-1))])]),_:1})):v("",!0),e[161]||(e[161]=r("p",{class:"text-sm text-gray-600 mb-3"}," 请选择本单结案状态。选择「已完成」时,实付将按已关联的支付单金额汇总;选择「退款」时将关联收款单标记为已退款并清零本单已付。 ",-1)),l(h,{modelValue:ye.value,"onUpdate:modelValue":e[61]||(e[61]=a=>ye.value=a),class:"w-full",placeholder:"请选择"},{default:n(()=>[(o(),f(O,null,L(an,a=>l(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),ye.value===10?(o(),f(O,{key:1},[l(xe,{type:"warning",closable:!1,"show-icon":"",class:"mt-3 !items-start",title:"退款将处理本单全部关联收款单,已付总额清零,且不可撤销。"}),A((o(),f("div",Iu,[pe.value.length?(o(),f("div",zu,[r("div",ju," 将退款的关联收款("+d(pe.value.length)+" 笔 · 合计 ¥"+d(w(B)(sn.value))+") ",1),l(tt,{data:pe.value,size:"small",border:"",stripe:"","max-height":"200"},{default:n(()=>[l(R,{prop:"order_no",label:"单号","min-width":"120","show-overflow-tooltip":""}),l(R,{label:"类型",width:"88"},{default:n(({row:a})=>[_(d(a.order_type_desc||w(hs)(a.order_type)),1)]),_:1}),l(R,{label:"金额",width:"88",align:"right"},{default:n(({row:a})=>[r("span",Mu,"¥"+d(a.amount),1)]),_:1}),l(R,{label:"状态",width:"92",align:"center"},{default:n(({row:a})=>[l(T,{type:w(Qr)(a.status),size:"small"},{default:n(()=>[_(d(a.status_desc||w(Jr)(a.status)),1)]),_:2},1032,["type"])]),_:1})]),_:1},8,["data"])])):Qe.value?v("",!0):(o(),f("p",qu," 当前无已关联的收款单;提交后仍将本单标记为「退款」并清零已付。 "))])),[[_e,Qe.value]]),l(J,{ref_key:"completeRefundFormRef",ref:sa,model:te,rules:ln.value,"label-width":"88px",class:"mt-3"},{default:n(()=>[l(p,{label:"退款金额",prop:"refund_amount"},{default:n(()=>[l(se,{modelValue:te.refund_amount,"onUpdate:modelValue":e[62]||(e[62]=a=>te.refund_amount=a),min:.01,max:be.value>0?be.value:void 0,step:.01,precision:2,class:"w-full","controls-position":"right"},null,8,["modelValue","max"]),r("div",Bu," 可退上限 ¥"+d(w(B)(be.value)),1)]),_:1}),l(p,{label:"退款原因",prop:"reason"},{default:n(()=>[l(u,{modelValue:te.reason,"onUpdate:modelValue":e[63]||(e[63]=a=>te.reason=a),type:"textarea",rows:3,maxlength:"500","show-word-limit":"",placeholder:"请填写退款原因(必填)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])],64)):v("",!0)])),[[_e,_t.value]])]),_:1},8,["modelValue"]),l(X,{modelValue:Ye.value,"onUpdate:modelValue":e[69]||(e[69]=a=>Ye.value=a),title:"订单退款",width:"480px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:cn},{footer:n(()=>[l(b,{onClick:e[68]||(e[68]=a=>Ye.value=!1)},{default:n(()=>[...e[163]||(e[163]=[_("取消",-1)])]),_:1}),l(b,{type:"danger",loading:ra.value,onClick:mn},{default:n(()=>[...e[164]||(e[164]=[_(" 确认退款 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(xe,{type:"warning",closable:!1,"show-icon":"",class:"mb-4 !items-start",title:dn.value},null,8,["title"]),l(J,{ref_key:"refundOrderFormRef",ref:ia,model:Q,rules:pn.value,"label-width":"88px"},{default:n(()=>[l(p,{label:"退款金额",prop:"refund_amount"},{default:n(()=>[l(se,{modelValue:Q.refund_amount,"onUpdate:modelValue":e[66]||(e[66]=a=>Q.refund_amount=a),min:.01,max:oe.value>0?oe.value:void 0,step:.01,precision:2,class:"w-full","controls-position":"right"},null,8,["modelValue","max"]),r("div",Hu," 可退上限 ¥"+d(w(B)(oe.value))+"(默认全额);部分退款时按金额从关联收款单依次标记已退款,并扣减本单已付。 ",1)]),_:1}),l(p,{label:"退款原因",prop:"reason"},{default:n(()=>[l(u,{modelValue:Q.reason,"onUpdate:modelValue":e[67]||(e[67]=a=>Q.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:Xe.value,"onUpdate:modelValue":e[77]||(e[77]=a=>Xe.value=a),title:"补齐支付单",width:"600px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:e[78]||(e[78]=a=>{var P;return(P=St.value)==null?void 0:P.clearValidate()})},{footer:n(()=>[l(b,{onClick:e[76]||(e[76]=a=>Xe.value=!1)},{default:n(()=>[...e[174]||(e[174]=[_("取消",-1)])]),_:1}),l(b,{type:"primary",loading:Vt.value,onClick:gn},{default:n(()=>[_(d(C.add_mode==="completion_only"?"提交申请":"确认新增"),1)]),_:1},8,["loading"])]),default:n(()=>[l(xe,{title:_n.value,type:"info",closable:!1,"show-icon":"",class:"mb-4"},null,8,["title"]),A((o(),k(J,{ref_key:"addPayOrderFormRef",ref:St,model:C,rules:fn.value,"label-width":"90px",class:"pr-2"},{default:n(()=>[l(p,{label:"添加方式",prop:"add_mode"},{default:n(()=>[l(Fe,{modelValue:C.add_mode,"onUpdate:modelValue":e[70]||(e[70]=a=>C.add_mode=a)},{default:n(()=>[l(Ue,{value:"create"},{default:n(()=>[...e[165]||(e[165]=[_("付呗",-1)])]),_:1}),l(Ue,{value:"create_express"},{default:n(()=>[...e[166]||(e[166]=[_("快递代收",-1)])]),_:1}),l(Ue,{value:"link"},{default:n(()=>[...e[167]||(e[167]=[_("关联已有",-1)])]),_:1}),l(Ue,{value:"completion_only"},{default:n(()=>[...e[168]||(e[168]=[_("直接完单申请",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),C.add_mode==="create"||C.add_mode==="create_express"?(o(),f(O,{key:0},[l(p,{label:"费用类别",prop:"order_type"},{default:n(()=>[l(h,{modelValue:C.order_type,"onUpdate:modelValue":e[71]||(e[71]=a=>C.order_type=a),class:"w-full"},{default:n(()=>[l(c,{label:"挂号费",value:1}),l(c,{label:"问诊费",value:2}),l(c,{label:"药品费用",value:3}),l(c,{label:"首付费用",value:4}),l(c,{label:"尾款费用",value:5}),l(c,{label:"其他费用",value:6}),l(c,{label:"全部费用",value:7}),l(c,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),l(p,{label:"支付金额",prop:"pay_amount"},{default:n(()=>[l(se,{modelValue:C.pay_amount,"onUpdate:modelValue":e[72]||(e[72]=a=>C.pay_amount=a),min:0,step:.01,precision:2,class:"w-full",placeholder:"请输入支付金额(元,可为 0)"},null,8,["modelValue"])]),_:1}),l(p,{label:"备注",prop:"pay_remark"},{default:n(()=>[l(u,{modelValue:C.pay_remark,"onUpdate:modelValue":e[73]||(e[73]=a=>C.pay_remark=a),type:"textarea",rows:3,maxlength:"200","show-word-limit":"",placeholder:"支付说明(选填)"},null,8,["modelValue"])]),_:1})],64)):C.add_mode==="completion_only"?(o(),k(xe,{key:1,type:"warning",closable:!1,"show-icon":"",class:"!mb-0"},{title:n(()=>[...e[169]||(e[169]=[_(" 不新增或关联支付单,仅向审核人员提交「完成订单」申请;提交后支付审核将变为待审核,审核通过后将自动结案。 ",-1)])]),_:1})):(o(),k(p,{key:2,label:"选择支付单",prop:"link_pay_order_id"},{default:n(()=>[l(h,{modelValue:C.link_pay_order_ids,"onUpdate:modelValue":e[74]||(e[74]=a=>C.link_pay_order_ids=a),class:"w-full",placeholder:"选择未绑定的支付单(可多选)",loading:oa.value,multiple:"","collapse-tags":"","collapse-tags-tooltip":""},{default:n(()=>[(o(!0),f(O,null,L(Nt.value,a=>(o(),k(c,{key:a.id,label:`${a.order_no} · ¥${a.amount} · ${gt(a.order_type)} · ${w(Et)(a)}`,value:a.id},{default:n(()=>[r("div",Wu,[r("div",Gu,[r("span",Ku,d(a.order_no),1),r("span",Qu,"¥"+d(a.amount),1)]),r("div",Ju,d(gt(a.order_type))+" · "+d(w(Et)(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})),C.add_mode!=="completion_only"?(o(),k(p,{key:3,label:"完单申请"},{default:n(()=>[l(Fe,{modelValue:C.completion_request,"onUpdate:modelValue":e[75]||(e[75]=a=>C.completion_request=a)},{default:n(()=>[l(Ue,{value:0},{default:n(()=>[...e[171]||(e[171]=[_("不申请",-1)])]),_:1}),l(Ue,{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})):v("",!0)]),_:1},8,["model","rules"])),[[_e,Vt.value]])]),_:1},8,["modelValue"]),l(X,{modelValue:qe.value,"onUpdate:modelValue":e[82]||(e[82]=a=>qe.value=a),title:"修改处方患者信息",width:"440px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:Tl},{footer:n(()=>[l(b,{onClick:e[81]||(e[81]=a=>qe.value=!1)},{default:n(()=>[...e[175]||(e[175]=[_("取消",-1)])]),_:1}),l(b,{type:"primary",loading:Gt.value,onClick:Dl},{default:n(()=>[...e[176]||(e[176]=[_(" 保存 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(J,{ref_key:"patchRxPatientFormRef",ref:Kt,model:ne,rules:Al,"label-width":"96px"},{default:n(()=>[l(p,{label:"患者姓名",prop:"patient_name"},{default:n(()=>[l(u,{modelValue:ne.patient_name,"onUpdate:modelValue":e[79]||(e[79]=a=>ne.patient_name=a),maxlength:"50","show-word-limit":"",placeholder:"与处方笺一致",clearable:""},null,8,["modelValue"])]),_:1}),l(p,{label:"手机",prop:"phone"},{default:n(()=>[l(u,{modelValue:ne.phone,"onUpdate:modelValue":e[80]||(e[80]=a=>ne.phone=a),maxlength:"20",placeholder:"处方登记手机号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(gs,{modelValue:Ct.value,"onUpdate:modelValue":e[84]||(e[84]=a=>Ct.value=a),size:"920px","close-on-click-modal":!1},{header:n(()=>[r("div",Yu,[e[179]||(e[179]=r("span",{class:"text-base font-medium text-gray-800"},"查看处方",-1)),x.value&&!Pt.value?(o(),f("div",Xu,[l(b,{size:"small",loading:Ee.value,onClick:Fn},{default:n(()=>[...e[177]||(e[177]=[_(" 下载图片 ",-1)])]),_:1},8,["loading"]),l(b,{size:"small",loading:Ee.value,onClick:Un},{default:n(()=>[...e[178]||(e[178]=[_(" 下载PDF ",-1)])]),_:1},8,["loading"])])):v("",!0)])]),default:n(()=>{var a,P;return[A((o(),f("div",Zu,[x.value?(o(),k(qn,{key:0,modelValue:G.value,"onUpdate:modelValue":e[83]||(e[83]=S=>G.value=S),class:"mx-4 mt-2",style:{"margin-bottom":"0px","z-index":"1",position:"relative"}},{default:n(()=>[l(vs,{label:"药房联",name:"internal"}),l(vs,{label:"处方联",name:"user"})]),_:1},8,["modelValue"])):v("",!0),x.value?(o(),f("div",ed,[Number(x.value.void_status)===1?(o(),k(T,{key:0,type:"danger",size:"small"},{default:n(()=>[...e[180]||(e[180]=[_("已作废",-1)])]),_:1})):Number(x.value.business_prescription_audit_rejected)===1?(o(),k(T,{key:1,type:"danger",size:"small"},{default:n(()=>[...e[181]||(e[181]=[_("业务订单已驳回",-1)])]),_:1})):Number(x.value.audit_status)===1?(o(),k(T,{key:2,type:"success",size:"small"},{default:n(()=>[...e[182]||(e[182]=[_("已通过",-1)])]),_:1})):Number(x.value.audit_status)===0?(o(),k(T,{key:3,type:"warning",size:"small"},{default:n(()=>[...e[183]||(e[183]=[_("待审核",-1)])]),_:1})):(o(),k(T,{key:4,type:"danger",size:"small"},{default:n(()=>[...e[184]||(e[184]=[_("已驳回",-1)])]),_:1}))])):v("",!0),x.value&&Number(x.value.void_status)===1?(o(),f("div",td," 作废人:"+d(x.value.void_by_name||"—")+",作废时间:"+d(Pn(x.value.void_time)),1)):x.value&&Number(x.value.business_prescription_audit_rejected)===1?(o(),f("div",ad,[e[185]||(e[185]=r("div",{class:"font-medium"},"审核状态:已驳回(业务订单·处方审核)",-1)),x.value.business_prescription_audit_remark?(o(),f("div",sd," 驳回意见:"+d(x.value.business_prescription_audit_remark),1)):v("",!0)])):x.value&&Number(x.value.audit_status)===2?(o(),f("div",ld,[e[186]||(e[186]=r("div",{class:"font-medium"},"消费者处方审核:已驳回",-1)),x.value.audit_remark?(o(),f("div",nd,"驳回意见:"+d(x.value.audit_remark),1)):v("",!0)])):v("",!0),x.value?(o(),f("div",{key:5,ref_key:"prescriptionSlipPrintRef",ref:Xa,class:"rx-paper"},[r("div",rd,d(G.value==="internal"?"药房联":xn),1),r("div",id,[r("span",od,d(G.value==="user"?"服药前请核对姓名、电话、医生等信息以及医嘱等要点":"服药前请核对姓名、电话、医生等信息以及服法、医嘱等要点"),1),r("div",ud,[r("div",dd,[e[187]||(e[187]=r("span",{class:"rx-meta-label"},"日期",-1)),r("span",pd,d(kn.value),1)]),r("div",cd,[e[188]||(e[188]=r("span",{class:"rx-meta-label"},"处方编号",-1)),r("span",md,d(hn.value),1)]),r("div",_d,[e[189]||(e[189]=r("span",{class:"rx-meta-label"},"流转编号(挂号)",-1)),r("span",fd,d(wn.value),1)]),ss.value?(o(),f("div",vd,[e[190]||(e[190]=r("span",{class:"rx-meta-label"},"业务单号",-1)),r("span",gd,d(ss.value),1)])):v("",!0)])]),r("div",yd,[r("div",bd,[r("div",xd,[e[191]||(e[191]=r("span",{class:"rx-key"},"姓名",-1)),r("span",kd,d(x.value.patient_name||"—"),1)]),r("div",hd,[e[192]||(e[192]=r("span",{class:"rx-key"},"性别",-1)),r("span",wd,d(On(x.value.gender)),1)]),r("div",Vd,[e[193]||(e[193]=r("span",{class:"rx-key"},"年龄",-1)),r("span",Sd,d(An(x.value.age)),1)]),r("div",Nd,[e[194]||(e[194]=r("span",{class:"rx-key"},"电话",-1)),r("span",Cd,d(x.value.phone||x.value.recipient_phone||"—"),1)])]),r("div",Pd,[r("div",Od,[e[195]||(e[195]=r("span",{class:"rx-key"},"收件信息",-1)),r("span",Ad,d(Vn.value),1)])]),r("div",Rd,[r("div",Td,[e[196]||(e[196]=r("span",{class:"rx-key"},"临床诊断",-1)),r("span",$d,d(x.value.clinical_diagnosis||"—"),1)])])]),r("div",Ed,[r("div",Dd,d(G.value==="internal"?"药房联":"处方联"),1),r("div",Fd,[e[199]||(e[199]=r("div",{class:"rx-rp-label"},"Rp.",-1)),r("div",Ud,[r("div",Ld,[e[197]||(e[197]=r("span",null,"用药 (单剂)",-1)),r("span",null,d(G.value==="user"?"用量":"总量"),1)]),r("div",Id,[e[198]||(e[198]=r("span",null,"用药 (单剂)",-1)),r("span",null,d(G.value==="user"?"用量":"总量"),1)])])]),r("div",zd,[G.value==="internal"?(o(),f(O,{key:0},[Ot.value.length?(o(),f(O,{key:0},[e[200]||(e[200]=r("div",{class:"rx-herb-section-label"},"主方",-1)),(o(!0),f(O,null,L(Ot.value,(S,E)=>(o(),f("div",{key:"main-"+E,class:"rx-herb-cell"},[r("span",jd,d(S.name)+" ("+d(S.dosage)+"克)",1),r("span",Md,d(ns(S.dosage))+"克",1)]))),128))],64)):v("",!0),De.value.length?(o(),f(O,{key:1},[r("div",qd,[e[201]||(e[201]=_(" 辅方",-1)),$e.value?(o(),f("span",Bd,"("+d($e.value)+")",1)):v("",!0)]),(o(!0),f(O,null,L(De.value,(S,E)=>(o(),f("div",{key:"aux-"+E,class:"rx-herb-cell"},[r("span",Hd,d(S.name)+" ("+d(S.dosage)+"克)",1),r("span",Wd,d(ns(S.dosage))+"克",1)]))),128))],64)):v("",!0)],64)):(o(),f(O,{key:1},[Ot.value.length?(o(),f(O,{key:0},[e[202]||(e[202]=r("div",{class:"rx-herb-section-label"},"主方",-1)),(o(!0),f(O,null,L(Ot.value,(S,E)=>(o(),f("div",{key:"user-main-"+E,class:"rx-herb-cell"},[r("span",Gd,d(S.name),1),r("span",Kd,d(S.dosage)+"克",1)]))),128))],64)):v("",!0),De.value.length?(o(),f(O,{key:1},[e[203]||(e[203]=r("div",{class:"rx-herb-section-label rx-herb-section-label--aux"},"辅方",-1)),(o(!0),f(O,null,L(De.value,(S,E)=>(o(),f("div",{key:"user-aux-"+E,class:"rx-herb-cell"},[r("span",Qd,d(S.name),1),r("span",Jd,d(S.dosage)+"克",1)]))),128))],64)):v("",!0)],64))])]),r("div",Yd,[G.value==="internal"?(o(),f(O,{key:0},[ua.value?(o(),f("p",Xd,"主服法:"+d(rs.value),1)):(o(),f("p",Zd,"服法:"+d(rs.value),1)),ua.value?(o(),f("p",ep,"辅服法:"+d(ua.value),1)):v("",!0)],64)):v("",!0),is.value?(o(),f("p",tp,"医嘱:"+d(is.value),1)):v("",!0),es.value?(o(),f("p",ap,"忌口:"+d(es.value),1)):v("",!0),G.value==="internal"&&os.value?(o(),f("p",sp,"备注:"+d(os.value),1)):v("",!0),us.value?(o(),f("p",lp," 药房备注:"+d(us.value),1)):v("",!0),G.value==="internal"&&ds.value&&((a=x.value)==null?void 0:a.prescription_type)!=="饮片"?(o(),f("p",np," 出丸:"+d(ds.value),1)):v("",!0)]),r("div",rp,[r("div",{class:q(["rx-bot-row rx-bot-row-1",{"rx-bot-row-1--user":G.value==="user"}])},[r("div",ip,[e[204]||(e[204]=r("div",{class:"rx-bot-label rx-bot-label--doctor"},"医师",-1)),r("div",op,[x.value.doctor_signature?(o(),f("img",{key:0,src:x.value.doctor_signature,alt:"医师签名",class:"rx-bot-sign-img"},null,8,up)):v("",!0),x.value.doctor_signature?v("",!0):(o(),f("span",dp,d(x.value.doctor_name||"—"),1))])]),G.value==="internal"?(o(),f("div",pp,[e[205]||(e[205]=r("span",{class:"rx-bot-meta-key"},"类型:",-1)),r("span",cp,d(Nn.value),1)])):v("",!0),r("div",mp,[e[206]||(e[206]=r("span",{class:"rx-bot-meta-key"},"天数:",-1)),r("span",_p,d(((P=$.value)==null?void 0:P.medication_days)!=null&&String($.value.medication_days).trim()!==""?$.value.medication_days+" 天":"—"),1)]),G.value==="internal"?(o(),f("div",fp,[e[207]||(e[207]=r("span",{class:"rx-bot-meta-key"},"剂量:",-1)),r("span",vp,d(Sn.value)+"克",1)])):v("",!0)],2)]),e[208]||(e[208]=r("div",{class:"rx-bot-row rx-hospital-row"},[r("div",{class:"rx-hospital-line"},"成都双流甄养堂互联网医院有限公司 联系方式:4001667339"),r("div",{class:"rx-hospital-line"},"地址:四川省成都市双流区黄甲街道黄龙大道二段280号")],-1))],512)):v("",!0),x.value&&(x.value.audit_by_name||x.value.audit_remark)?(o(),f("div",gp,[x.value.audit_by_name?(o(),f("div",yp,[_(" 审核人:"+d(x.value.audit_by_name)+" ",1),x.value.audit_time?(o(),f("span",bp,d(ps(x.value.audit_time)),1)):v("",!0)])):v("",!0),x.value.audit_remark?(o(),f("div",xp,"审核意见:"+d(x.value.audit_remark),1)):v("",!0)])):v("",!0)])),[[_e,Pt.value]])]}),_:1},8,["modelValue"]),l(gs,{modelValue:xt.value,"onUpdate:modelValue":e[85]||(e[85]=a=>xt.value=a),title:"甘草预下单测试结果",size:"800px","destroy-on-close":""},{default:n(()=>{var a,P;return[F.value?(o(),f("div",kp,[l(s,{shadow:"never",class:"mb-4"},{header:n(()=>[r("div",hp,[e[210]||(e[210]=r("span",{class:"font-semibold"},"价格信息",-1)),l(T,{type:"success"},{default:n(()=>[...e[209]||(e[209]=[_("预下单成功",-1)])]),_:1})])]),default:n(()=>[l(pa,{column:2,border:""},{default:n(()=>[l(ce,{label:"药材成本"},{default:n(()=>{var S;return[r("span",wp,"¥"+d(((S=F.value.fee)==null?void 0:S.m_cost)||"0.00"),1)]}),_:1}),l(ce,{label:"制作费"},{default:n(()=>{var S;return[r("span",Vp,"¥"+d((((S=F.value.fee)==null?void 0:S.proces_cost)||0).toFixed(2)),1)]}),_:1}),l(ce,{label:"物流费"},{default:n(()=>{var S;return[r("span",Sp,"¥"+d((((S=F.value.fee)==null?void 0:S.lis_cost)||0).toFixed(2)),1)]}),_:1}),l(ce,{label:"总计"},{default:n(()=>[r("div",null,[r("span",Np," ¥"+d(ta(F.value.fee)),1),A((o(),f("div",Cp,[e[211]||(e[211]=_(" 占订单总金额: ",-1)),r("span",Pp,d(Jl(F.value.fee,F.value.amount)),1),F.value.amount>0?(o(),f("span",Op,"%(预报价 ÷ 订单金额 × 100)")):v("",!0)])),[[D,["prescription.order/finance"]]])])]),_:1})]),_:1})]),_:1}),l(s,{shadow:"never",class:"mb-4"},{header:n(()=>[...e[212]||(e[212]=[r("span",{class:"font-semibold"},"配送信息",-1)])]),default:n(()=>[l(pa,{column:2,border:""},{default:n(()=>[l(ce,{label:"调配中心"},{default:n(()=>{var S;return[_(d(((S=F.value.result)==null?void 0:S.ds_name)||"—"),1)]}),_:1}),l(ce,{label:"调配中心ID"},{default:n(()=>{var S;return[_(d(((S=F.value.result)==null?void 0:S.ds_id)||"—"),1)]}),_:1}),l(ce,{label:"服用天数范围",span:2},{default:n(()=>{var S,E,ys,bs,xs,ks;return[_(d(((E=(S=F.value.result)==null?void 0:S.take_days)==null?void 0:E.min)||"—")+" - "+d(((bs=(ys=F.value.result)==null?void 0:ys.take_days)==null?void 0:bs.max)||"—")+" 天 (默认: "+d(((ks=(xs=F.value.result)==null?void 0:xs.take_days)==null?void 0:ks.default)||"—")+" 天) ",1)]}),_:1})]),_:1})]),_:1}),(P=(a=F.value.result)==null?void 0:a.rule_check)!=null&&P.length?(o(),k(s,{key:0,shadow:"never",class:"mb-4"},{header:n(()=>[...e[213]||(e[213]=[r("span",{class:"font-semibold"},"医嘱备注",-1)])]),default:n(()=>[r("div",Ap,d(F.value.result.rule_check.map(S=>S.msg).join(" ")),1)]),_:1})):v("",!0),l(s,{shadow:"never"},{header:n(()=>{var S,E;return[r("div",Rp,[e[214]||(e[214]=r("span",{class:"font-semibold"},"药材明细",-1)),r("span",Tp,"共 "+d(((E=(S=F.value.result)==null?void 0:S.m_list)==null?void 0:E.length)||0)+" 味药",1)])]}),default:n(()=>{var S;return[l(tt,{data:((S=F.value.result)==null?void 0:S.m_list)||[],border:"",stripe:"","max-height":"400"},{default:n(()=>[l(R,{type:"index",label:"#",width:"50",align:"center"}),l(R,{prop:"title",label:"药材名称","min-width":"120","show-overflow-tooltip":""}),l(R,{prop:"quantity",label:"用量",width:"80",align:"right"},{default:n(({row:E})=>[_(d(E.quantity)+d(E.unit),1)]),_:1}),l(R,{prop:"price",label:"单价(元/克)",width:"110",align:"right"},{default:n(({row:E})=>[_(" ¥"+d(Number(E.price).toFixed(4)),1)]),_:1}),l(R,{label:"小计",width:"100",align:"right"},{default:n(({row:E})=>[r("span",$p," ¥"+d((Number(E.price)*Number(E.quantity)).toFixed(2)),1)]),_:1}),l(R,{prop:"is_available",label:"库存状态",width:"100",align:"center"},{default:n(({row:E})=>[l(T,{type:E.is_available===1?"success":"danger",size:"small"},{default:n(()=>[_(d(E.is_available===1?"有货":"缺货"),1)]),_:2},1032,["type"])]),_:1}),l(R,{prop:"brief",label:"备注","min-width":"120","show-overflow-tooltip":""})]),_:1},8,["data"])]}),_:1}),l(s,{shadow:"never",class:"mt-4"},{header:n(()=>[...e[215]||(e[215]=[r("span",{class:"font-semibold"},"订单信息",-1)])]),default:n(()=>[l(pa,{column:2,border:""},{default:n(()=>[l(ce,{label:"订单号",span:2},{default:n(()=>[_(d(F.value.order_no||"—"),1)]),_:1}),l(ce,{label:"剂数"},{default:n(()=>[r("span",Ep,d(F.value.dose_count||"—")+"剂",1)]),_:1}),l(ce,{label:"单剂量"},{default:n(()=>{var S;return[r("span",Dp,d(Yl((S=F.value.result)==null?void 0:S.m_list))+"克 ",1)]}),_:1})]),_:1})]),_:1})])):v("",!0)]}),_:1},8,["modelValue"]),l(X,{modelValue:Ie.value,"onUpdate:modelValue":e[88]||(e[88]=a=>Ie.value=a),title:"批量改派医助",width:"440px","append-to-body":""},{footer:n(()=>[l(b,{onClick:e[87]||(e[87]=a=>Ie.value=!1)},{default:n(()=>[...e[218]||(e[218]=[_("取消",-1)])]),_:1}),l(b,{type:"primary",loading:Ut.value,onClick:js},{default:n(()=>[...e[219]||(e[219]=[_("确定改派",-1)])]),_:1},8,["loading"])]),default:n(()=>[r("div",Fp,[e[216]||(e[216]=_(" 已选 ",-1)),r("strong",Up,d(ge.value.length),1),e[217]||(e[217]=_(" 单,将订单「创建人(医助归属)」改派为: ",-1))]),l(h,{modelValue:ot.value,"onUpdate:modelValue":e[86]||(e[86]=a=>ot.value=a),clearable:"",filterable:"",placeholder:"选择目标医助",class:"!w-full"},{default:n(()=>[(o(!0),f(O,null,L(Ne.value,a=>(o(),k(c,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),e[220]||(e[220]=r("p",{class:"text-xs text-gray-400 mt-2 leading-relaxed"}," 仅变更订单的业务归属(医助筛选 / 业绩口径),并写入操作日志;不影响处方、支付单及审核状态。已是该医助的订单会自动跳过。 ",-1))]),_:1},8,["modelValue"]),l(w(As),{ref_key:"diagnosisViewRef",ref:ya},null,512)])}}}),ec=Ai(Ip,[["__scopeId","data-v-2f541fda"]]);export{ec as default}; diff --git a/server/public/admin/assets/order_list_h5-C0W7Rc8p.js b/server/public/admin/assets/order_list_h5-h4jPUlob.js similarity index 98% rename from server/public/admin/assets/order_list_h5-C0W7Rc8p.js rename to server/public/admin/assets/order_list_h5-h4jPUlob.js index 8ef77180..3c963770 100644 --- a/server/public/admin/assets/order_list_h5-C0W7Rc8p.js +++ b/server/public/admin/assets/order_list_h5-h4jPUlob.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DSANIFY1.js","assets/.pnpm-9dA1PEvN.js","assets/.pnpm-LiWq8Xu0.css","assets/tcm-DOD9_1Um.js","assets/index-CJvXnF8Y.js","assets/index-or10At3s.css","assets/perm-BLNmf25V.js","assets/DailyMatrix-_4SdP1CQ.js","assets/picker-DWQ_BAep.js","assets/index-BBemoNXE.js","assets/index-dh40Du6y.css","assets/index-CY1mb9yY.js","assets/index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js","assets/index-CAGpCz28.js","assets/index-BYMg0OFw.css","assets/index-DMkcmA29.js","assets/file-BJDA0rIT.js","assets/index.vue_vue_type_script_setup_true_lang-Blf417m7.js","assets/usePaging-Boz1Q6w3.js","assets/index-D6uL8V1j.css","assets/picker-CLzhBfnG.css","assets/DiagnosisTodoList-wLDuYeQL.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix--Ay5C05Q.css","assets/CaseRecordList-BdOS8uCk.js","assets/CaseRecordList-DEgrl9PS.css","assets/CallRecordPanel-B5TNiiYq.js","assets/RecordingPlaybackBlock-C4Gpp-2c.js","assets/RecordingVideoPlayer-BFQjIPtM.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-p7h_1hh9.css","assets/ImChatRecordPanel-Dupe02qF.js","assets/dayjs-BsOAYQJw.js","assets/im-business-message-parse-DmDISFGN.js","assets/ImChatRecordPanel-BRnJl8ir.css","assets/AssignLogPanel-7M3l9W5C.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DxULo4tR.js","assets/doctor-Bmtf1eZE.js","assets/AppointmentRecordPanel-BWS3OyF0.css","assets/NoteTimeline-BiPgEoRT.js","assets/patient-CwTOvUDt.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-CbJRHf8i.js","assets/PrescriptionOrderDetailDrawer-66DcVm3d.js","assets/prescription-order-utils-B0fYlULc.js","assets/PrescriptionOrderDetailDrawer-DL92yzHH.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-D33qlDjf.js","assets/index-BANIMLkY.js","assets/medicine-CQDW2OUZ.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-DxQanmqx.css","assets/edit-Cgsl1tY9.css","assets/TrackingNoteTimeline-C-2kS81H.css"])))=>i.map(i=>d[i]); -import{o as Hs,R as zs,ap as _r,be as mr,q as u,r as _,s,v as l,D as n,F as T,G as W,ae as L,T as o,P as f,bg as fr,ac as R,w as vr,u as E,ce as gr,L as p,bH as yr,bI as br,cf as xr,bi as kr,bA as Ra,O as y,br as hr,ck as js,b9 as wr,C as Ea,b6 as Vr,b7 as Sr,b8 as pt,bm as Nr,bn as Cr,bK as Pr,K as Ar,ad as Wt,bB as Or,cg as Tr,aw as Kt,$ as Rr,Z as Er,_ as Dr,bZ as Ur,bh as $r,b_ as Fr,b$ as zr,c0 as jr,c1 as Lr,bj as Ir,bk as qr,cl as Mr,by as Br,bq as Hr,b5 as Wr,c3 as Kr,c4 as Gr,B as Jr,J as Qr,bt as Yr,a1 as Zr,c7 as Xr,c8 as ei,ca as ti,U as ai,S as si,I as li,bc as ni,bf as ri,cb as ii,al as oi,M as b,p as k,ba as fe,n as ct,e as _t,cd as ui,cc as di}from"./.pnpm-9dA1PEvN.js";import{_ as pi}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{L as ci,u as _i}from"./useListTimeFilter-DzEU80f7.js";import{_ as mi}from"./GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-Bb23SaaB.js";import{g as fi,i as vi,t as gi,c as yi,a as bi,e as J,A as xi,B as ki,C as Ls,D as hi,E as wi,F as Vi,G as Is,H as Si,I as Ni,J as qs,K as Ci,L as Pi,M as Ai,N as Oi,O as Ti,P as Ri,k as Ei,h as Da,f as Di}from"./tcm-DOD9_1Um.js";import{z as Ui,A as $i,n as Fi,C as Ua,x as zi,r as Ms,v as Bs,w as ji,D as Li,E as Ii}from"./prescription-order-utils-B0fYlULc.js";import{u as qi,i as P,m as Mi,_ as Bi}from"./index-CJvXnF8Y.js";import{d as Hi}from"./department-DYCfZwei.js";import{u as Wi}from"./usePaging-Boz1Q6w3.js";const Ki={class:"prescription-order-page prescription-order-list prescription-order-h5 po-h5-app"},Gi={class:"flex flex-col gap-3"},Ji={key:0,class:"flex items-center gap-2 flex-wrap"},Qi=["onClick"],Yi={class:"font-medium"},Zi={class:"flex items-center gap-2 flex-wrap"},Xi=["onClick"],eo={class:"font-medium"},to={class:"flex items-center gap-2 flex-wrap"},ao=["onClick"],so={class:"font-medium"},lo={class:"flex items-center gap-2 flex-wrap"},no=["onClick"],ro={class:"font-medium"},io={class:"flex items-center gap-2 flex-wrap"},oo=["onClick"],uo={class:"font-medium"},po={class:"po-list-stats grid grid-cols-1 sm:grid-cols-2 gap-4 mb-5"},co={class:"po-stat-surface po-stat-surface--order relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},_o={class:"relative flex items-start justify-between gap-3"},mo={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},fo={class:"mt-2 space-y-1.5 min-w-0"},vo={class:"text-2xl sm:text-[28px] font-bold text-sky-700 tabular-nums leading-none"},go={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},yo={class:"text-slate-400"},bo={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-sky-500/10 flex items-center justify-center text-sky-600"},xo={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},ko={class:"po-stat-surface po-stat-surface--pay relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},ho={class:"relative flex items-start justify-between gap-3"},wo={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},Vo={class:"mt-2 space-y-1.5 min-w-0"},So={class:"text-2xl sm:text-[28px] font-bold text-emerald-700 tabular-nums leading-none"},No={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},Co={class:"text-slate-400"},Po={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-emerald-500/10 flex items-center justify-center text-emerald-600"},Ao={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},Oo={class:"po-filter-toggle__label"},To={class:"po-h5-list-head"},Ro={class:"po-table-toolbar"},Eo={class:"po-table-toolbar__title-wrap"},Do={class:"po-table-hint text-gray-400"},Uo={class:"po-focus-board"},$o={class:"po-focus-board__value"},Fo={class:"po-focus-board__value"},zo={class:"po-focus-board__value"},jo={class:"po-focus-board__value"},Lo={class:"po-card-list"},Io=["onClick"],qo={class:"po-card__head"},Mo={class:"po-card__order-no"},Bo={class:"po-card__order-no-main"},Ho={class:"po-card__tags"},Wo={class:"po-card__id"},Ko={key:0,class:"po-card__alert"},Go={class:"po-card__row"},Jo={class:"po-card__field"},Qo={class:"po-card__value"},Yo={class:"po-card__field po-card__field--right"},Zo={class:"po-card__value po-card__amount"},Xo={class:"po-card__row"},eu={class:"po-card__field"},tu={class:"po-card__field po-card__field--right"},au={class:"po-card__value"},su={class:"po-card__row"},lu={class:"po-card__field"},nu={class:"po-card__value"},ru={class:"po-card__field po-card__field--right"},iu={class:"po-card__value"},ou={key:1,class:"po-card__row"},uu={class:"po-card__field"},du={class:"po-card__value text-orange-600 font-semibold"},pu={class:"po-card__field po-card__field--right"},cu={class:"po-card__value"},_u={key:0,class:"text-primary"},mu={key:1},fu={key:2,class:"po-card__row"},vu={class:"po-card__field"},gu={class:"po-card__value"},yu={key:0,class:"text-primary"},bu={key:1},xu={class:"po-card__field po-card__field--right"},ku={class:"po-card__value po-card__time"},hu={class:"po-card__tags-row"},wu={class:"po-card__meta"},Vu={key:0},Su={key:1},Nu={key:2,class:"po-card__meta-time"},Cu={class:"flex justify-end mt-4"},Pu={class:"po-detail-drawer-head flex w-full min-w-0 flex-col gap-2"},Au={class:"po-detail-drawer-head-main flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1"},Ou={key:0,class:"po-detail-drawer-actions flex flex-wrap items-center gap-2"},Tu={key:1,class:"po-detail-body px-6 pb-6 h-full overflow-y-auto"},Ru={class:"min-w-0 break-words text-sm leading-relaxed"},Eu={class:"font-mono font-semibold text-red-700"},Du={class:"font-mono font-semibold text-red-700"},Uu={class:"po-workflow-steps-wrap bg-gray-50/80 border border-gray-100 rounded-lg p-5 mb-5 shadow-sm"},$u={key:0,class:"text-red-500 font-medium"},Fu={key:1},zu={key:2,class:"text-green-600"},ju={key:3,class:"text-gray-400"},Lu={key:0,class:"text-red-500 font-medium"},Iu={key:1},qu={key:2,class:"text-green-600"},Mu={key:3,class:"text-gray-400"},Bu={key:0,class:"text-amber-600 font-medium"},Hu={key:1,class:"text-primary font-medium"},Wu={key:2},Ku={key:3,class:"text-green-600"},Gu={key:4,class:"text-red-500 font-medium"},Ju={class:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-5 gap-4 mb-5"},Qu={class:"flex items-center justify-between mb-1"},Yu={class:"stat-value text-red-500 font-bold text-xl"},Zu={class:"stat-value text-green-600 font-bold text-xl"},Xu={class:"stat-value text-primary font-bold text-xl"},ed={class:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4"},td={key:0,class:"audit-stamp stamp-pass"},ad={key:1,class:"audit-stamp stamp-reject"},sd={class:"po-panel-rx-header flex w-full min-w-0 flex-col gap-2"},ld={class:"flex w-full min-w-0 flex-wrap items-center justify-between gap-x-2 gap-y-1"},nd={class:"shrink-0 text-xs text-gray-400 tabular-nums"},rd={key:0,class:"min-w-0 text-xs leading-snug text-gray-500"},id={class:"text-primary font-medium"},od={class:"flex w-full min-w-0 flex-wrap items-center gap-x-3 gap-y-1"},ud={class:"text-red-500 font-medium"},dd={class:"flex flex-col gap-1 text-sm leading-relaxed"},pd={key:0,class:"text-gray-500 mr-1"},cd={key:1,class:"ml-2 text-gray-500"},_d={key:0},md={key:1,class:"ml-2 text-gray-500"},fd={class:"flex items-center gap-1 flex-wrap"},vd={class:"flex flex-col gap-1.5 text-sm leading-relaxed"},gd={key:0},yd={key:0,class:"mt-4"},bd={class:"flex flex-col gap-4 h-full"},xd={class:"text-red-500"},kd={key:0,class:"audit-stamp stamp-pass"},hd={key:1,class:"audit-stamp stamp-reject"},wd={class:"flex items-center justify-between"},Vd={class:"flex items-center gap-3"},Sd={key:0,class:"text-xs text-gray-500"},Nd={class:"text-primary font-medium"},Cd={class:"text-red-500"},Pd={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"},Ad={class:"flex min-w-0 flex-col gap-1"},Od={class:"font-mono text-[1.125rem] font-semibold leading-tight tracking-tight text-slate-900 tabular-nums"},Td={class:"flex flex-wrap items-center gap-x-4 gap-y-1 text-[13px]"},Rd={class:"font-mono text-primary"},Ed={class:"text-gray-500"},Dd={key:0},Ud={key:1,class:"text-gray-500"},$d={key:0,class:"text-xs text-gray-500 mt-1"},Fd={key:1,class:"text-gray-400"},zd={class:"po-audit-remark"},jd={class:"po-audit-remark"},Ld={class:"po-logistics-toolbar flex flex-wrap items-center gap-2 mb-4"},Id={class:"po-logistics-toolbar__links flex items-center gap-3 w-full pt-1"},qd={key:1,class:"py-6 text-center text-sm text-gray-500"},Md={key:2,class:"logistics-content bg-gray-50/50 p-4 rounded-md"},Bd={key:0,class:"text-sm mb-4 font-medium flex items-center gap-2"},Hd={class:"text-gray-800"},Wd={key:1,class:"text-xs text-gray-400 ml-1"},Kd={key:2,class:"text-xs text-gray-400"},Gd={class:"flex items-center gap-2 mb-1"},Jd={class:"font-medium text-[13px]"},Qd={class:"text-sm text-gray-700 font-medium"},Yd={class:"create-order-dialog__inner"},Zd={key:0,class:"create-order-rx-card"},Xd={class:"create-order-rx-card__head"},ep={class:"create-order-rx-card__meta"},tp={class:"create-order-rx-card__id"},ap={key:0,class:"create-order-rx-card__sn"},sp={class:"create-order-rx-card__patient"},lp={class:"create-order-rx-card__herbs"},np={class:"create-order-step-lead"},rp={class:"create-order-step-panel"},ip={class:"create-order-step-panel"},op={class:"flex flex-wrap items-center gap-2 pb-2 border-b border-gray-100"},up={class:"text-xs text-gray-400"},dp={class:"mt-2 space-y-1.5 text-xs sm:text-sm"},pp={key:0,class:"space-y-1.5"},cp={class:"text-gray-800 break-all"},_p={key:1,class:"text-gray-400"},mp={class:"flex items-center gap-1 w-full"},fp={class:"flex gap-2 w-full"},vp={class:"flex flex-col gap-0.5",style:{"line-height":"normal"}},gp={class:"flex items-center justify-between"},yp={class:"font-medium text-[13px] text-gray-800"},bp={class:"text-orange-500 font-medium ml-4"},xp={class:"flex items-center justify-between text-xs text-gray-400 mt-1"},kp={class:"truncate pr-2"},hp={class:"shrink-0"},wp={class:"create-order-pay-hint text-gray-500"},Vp={class:"text-amber-600 font-medium"},Sp={class:"create-order-step-panel"},Np={class:"create-order-deposit-bar__cell"},Cp={class:"create-order-deposit-bar__sub"},Pp={class:"create-order-deposit-bar__cell"},Ap={class:"create-order-deposit-bar__sub"},Op={class:"create-order-footer"},Tp={class:"create-order-footer__hint"},Rp={class:"create-order-footer__step"},Ep={key:0,class:"create-order-footer__warn"},Dp={class:"create-order-footer__actions"},Up={class:"text-sm"},$p={class:"text-gray-600"},Fp={class:"text-gray-600"},zp={key:0,class:"text-xs text-amber-800 mt-2"},jp={class:"text-xs text-gray-500 mt-1"},Lp={class:"text-xs text-gray-500 mt-1"},Ip={class:"flex flex-col gap-0.5 py-0.5"},qp={class:"flex items-center justify-between"},Mp={class:"text-sm"},Bp={class:"text-orange-500 font-medium ml-4"},Hp={class:"text-xs text-gray-400"},Wp={key:0,class:"text-xs font-medium text-gray-500 mb-3"},Kp={class:"flex items-center gap-1 w-full"},Gp={class:"flex items-center gap-1 w-full"},Jp={class:"flex items-center gap-1 w-full"},Qp={class:"flex items-center justify-between w-full pr-2 gap-3"},Yp={key:0,class:"flex items-center gap-2 shrink-0"},Zp={class:"rx-wrap"},Xp={key:0,class:"rx-statusbar"},ec={key:1,class:"rx-status rx-status-danger"},tc={key:2,class:"rx-status rx-status-danger"},ac={key:0,class:"mt-1"},sc={key:3,class:"rx-status rx-status-danger"},lc={key:0,class:"mt-1"},nc={class:"rx-notice"},rc={class:"rx-notice-meta"},ic={class:"rx-meta-item"},oc={class:"rx-meta-value"},uc={class:"rx-meta-item"},dc={class:"rx-meta-value"},pc={class:"rx-meta-item"},cc={class:"rx-meta-value"},_c={key:0,class:"rx-meta-item"},mc={class:"rx-meta-value"},fc={class:"rx-info"},vc={class:"rx-info-row"},gc={class:"rx-info-cell"},yc={class:"rx-val"},bc={class:"rx-info-cell"},xc={class:"rx-val"},kc={class:"rx-info-cell"},hc={class:"rx-val"},wc={class:"rx-info-cell"},Vc={class:"rx-val"},Sc={class:"rx-info-row rx-info-row-full"},Nc={class:"rx-info-cell"},Cc={class:"rx-val"},Pc={class:"rx-info-row rx-info-row-full"},Ac={class:"rx-info-cell"},Oc={class:"rx-val"},Tc={class:"rx-rp"},Rc={class:"rx-herbs"},Ec={class:"rx-herb-name"},Dc={class:"rx-herb-total"},Uc={class:"rx-text"},$c={key:0},Fc={key:1},zc={key:2},jc={key:3,class:"rx-text-warn"},Lc={key:4,class:"rx-text-warn"},Ic={class:"rx-bottom"},qc={class:"rx-bot-row rx-bot-row-1"},Mc={class:"rx-bot-cell rx-bot-doctor"},Bc={class:"rx-bot-doctor-body"},Hc=["src"],Wc={key:1,class:"rx-bot-doctor-name"},Kc={class:"rx-bot-cell rx-bot-meta"},Gc={class:"rx-bot-meta-val"},Jc={class:"rx-bot-cell rx-bot-meta"},Qc={class:"rx-bot-meta-val"},Yc={class:"rx-bot-cell rx-bot-meta"},Zc={class:"rx-bot-meta-val"},Xc={key:5,class:"rx-audit"},e_={key:0},t_={key:0,class:"ml-2 text-gray-400"},a_={key:1,class:"mt-1"},s_={key:0,class:"px-4"},l_={class:"flex items-center justify-between"},n_={class:"text-lg font-semibold text-orange-600"},r_={class:"text-lg font-semibold text-blue-600"},i_={class:"text-lg font-semibold text-green-600"},o_={class:"text-xl font-bold text-red-600"},u_={class:"text-sm text-gray-500 mt-1.5"},d_={class:"font-medium text-gray-700"},p_={key:0},c_={class:"text-sm text-gray-700 leading-relaxed"},__={class:"flex items-center justify-between"},m_={class:"text-sm text-gray-500"},f_={class:"font-medium text-orange-600"},v_={class:"text-base font-medium"},g_={class:"text-base font-medium"},y_=Hs({name:"prescriptionOrderListH5"}),b_=Hs({...y_,setup(x_){const Ws=ii(()=>oi(()=>import("./edit-DSANIFY1.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]))),we=qi(),$a=b(null);function Ks(){var e,a;const t=Number((e=c.value)==null?void 0:e.diagnosis_id);if(!t){P.msgWarning("本订单未关联诊单,无法查看患者诊单信息");return}(a=$a.value)==null||a.openViewOnly(t)}const Gs=2,Js=6,Fa=[3,8],Qs=[0,3,6],Ys=k(()=>{const t=we.userInfo;if(!t||Number(t.root)===1)return!1;const e=Array.isArray(t.role_ids)?t.role_ids.map(a=>Number(a)):[];return e.includes(Js)?!Fa.some(a=>e.includes(a)):!1}),Zs=k(()=>{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(a=>Number(a)):[];return Fa.some(a=>e.includes(a))}),Xs=k(()=>Ys.value||Zs.value),za=b([]),Ve=k(()=>{const t=we.userInfo;if(!t||Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(a=>Number(a)):[];return e.includes(Gs)?e.some(a=>Qs.includes(a)):!0}),el=k(()=>Ve.value?"详情/审核":"详情"),tl=[0,3,6],ja=()=>{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(a=>Number(a)):[];return tl.some(a=>e.includes(a))},mt=b([]),ft=b([]),Gt=b([]),Be=b([]),vt=b([]),al={value:"id",label:"name",children:"children"};function La(t,e){for(const a of t||[]){if(a==null||typeof a!="object")continue;const i=a;if(Number(i.id)===e)return i;const d=La(i.children||[],e);if(d)return d}return null}function Ia(t){const e=Number(t.id),a=[];Number.isFinite(e)&&e>0&&a.push(e);for(const i of t.children||[])i&&typeof i=="object"&&a.push(...Ia(i));return a}function sl(t,e){const a=La(e,t);return a?Ia(a):[t]}async function ll(){try{const[t,e,a]=await Promise.all([fi(),vi(),Hi()]);Gt.value=Array.isArray(t)?t:[],Be.value=Array.isArray(e)?e:[];const i=Array.isArray(a)?a:[];vt.value=i}catch{Gt.value=[],Be.value=[],vt.value=[]}}const nl=t=>t.map(e=>{var a;return{value:e.province,label:e.province,code:e.code,children:((a=e.citys)==null?void 0:a.map(i=>{var d;return{value:i.city,label:i.city,code:i.code,children:((d=i.areas)==null?void 0:d.map(g=>({value:g.area,label:g.area,code:g.code})))||[]}}))||[]}}),rl=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 a=await e.json();console.log("加载的数据条数:",a==null?void 0:a.length),mt.value=nl(a),console.log("regionOptions 已设置,条数:",mt.value.length)}catch(t){console.error("加载省市区数据失败:",t),mt.value=[]}},il=async()=>{try{const t=await Mi({type:"server_order"});ft.value=Fi(t==null?void 0:t.server_order)}catch(t){console.error("加载服务套餐选项失败:",t),ft.value=[]}},ol=[{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 ul(t){ie.value="",h.fulfillment_status=t,Q()}const ie=b(""),dl=[{label:"全部",value:""},{label:"甘草",value:"gancao"},{label:"洛阳直发",value:"direct"},{label:"自营",value:"self"}];function pl(t){h.supply_mode=t,Q()}const cl=[{label:"全部",value:""},{label:"顺丰",value:"sf"},{label:"京东",value:"jd"}];function _l(t){h.express_company=t,Q()}const h=fe({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:""}),ml=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}],fl=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}];function vl(t){ie.value="",h.prescription_audit_status=t,Q()}function gl(t){ie.value="",h.payment_slip_audit_status=t,Q()}function gt(t){if(ie.value===t){ie.value="",h.prescription_audit_status="",h.payment_slip_audit_status="",h.fulfillment_status="",Q();return}ie.value=t,h.prescription_audit_status="",h.payment_slip_audit_status="",h.fulfillment_status="",t==="pendingRx"?h.prescription_audit_status=0:t==="pendingPay"?(h.prescription_audit_status=1,h.payment_slip_audit_status=0):t==="pendingShip"?h.fulfillment_status=2:t==="risk"&&(h.payment_slip_audit_status=2),Q()}const{time_type:Oe,dateRange:Jt,resolve:yl,handleTimeTypeChange:bl,handleCustomDateChange:xl,resetTimeFilter:kl}=_i("all"),qa=()=>{te.page=1,M()},hl=()=>bl(qa),wl=()=>xl(qa);async function Vl(t){const[e,a]=yl(),i={...t,start_time:e,end_time:a};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 d=String(i.start_time||"").trim(),g=String(i.end_time||"").trim();/^\d{4}-\d{2}-\d{2}$/.test(d)&&/^\d{4}-\d{2}-\d{2}$/.test(g)&&(i.start_time=`${d} 00:00:00`,i.end_time=`${g} 23:59:59`)}return gi(i)}const{pager:te,getLists:M,resetPage:Q,resetParams:Sl}=Wi({fetchFun:Vl,params:h});zs(()=>{var t;return(t=te.extend)==null?void 0:t.audit_admin_options},t=>{Array.isArray(t)&&(za.value=t.map(e=>{if(e==null||typeof e!="object")return null;const a=e,i=Number(a.id),d=String(a.name??"").trim();return!Number.isFinite(i)||i<=0||d===""?null:{id:i,name:d}}).filter(e=>e!=null))},{immediate:!0});const Ma=k(()=>{const t=h.assistant_dept_id;if(t===""||t==null)return Be.value;const e=Number(t);if(!Number.isFinite(e))return Be.value;const a=new Set(sl(e,vt.value));return Be.value.filter(i=>{const d=i.dept_ids;return!Array.isArray(d)||d.length===0?!1:d.map(Number).some(g=>a.has(g))})});function Nl(){const t=h.assistant_id;if(t!==""&&t!=null){const e=Number(t);Ma.value.some(i=>Number(i.id)===e)||(h.assistant_id="")}Q()}const _e=k(()=>{const t=te.extend,e=(t==null?void 0:t.stats_order_amount)??(t==null?void 0:t.today_order_amount),a=(t==null?void 0:t.stats_linked_pay_amount)??(t==null?void 0:t.today_linked_pay_amount),i=qe=>{const N=Number(qe);return Number.isFinite(N)?Math.round(N*100)/100:0},d=qe=>qe.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,v=(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),$=g?i(t==null?void 0:t.stats_order_amount_cancelled):0,le=i(v?t==null?void 0:t.stats_linked_pay_amount_not_cancelled:a),V=v?i(t==null?void 0:t.stats_linked_pay_amount_cancelled):0,F=(t==null?void 0:t.stats_order_amount_performance)!==void 0?i(t==null?void 0:t.stats_order_amount_performance):x,ye=(t==null?void 0:t.stats_linked_pay_amount_performance)!==void 0?i(t==null?void 0:t.stats_linked_pay_amount_performance):le,he=String((t==null?void 0:t.stats_time_start)??"").trim(),Mt=String((t==null?void 0:t.stats_time_end)??"").trim(),Aa=he&&Mt?`统计时间:${he} ~ ${Mt}`:"统计时间:—",it=String((t==null?void 0:t.stats_scope)??"restricted");let ee="统计口径:与当前列表数据可见范围一致";it==="all"?ee="统计口径:支付单审核白名单角色,按全量订单;与下方筛选项(医生/医助/医助部门/患者等,不含「创建时间」)一致":it==="assistant"?ee="统计口径:仅计诊单医助为本人且满足下方其它筛选项的订单":it==="own_rx"&&(ee="统计口径:本人创建的订单 + 关联处方开方人为本人的订单(含医助代建);与下方筛选项(不含「创建时间」)一致");const ce=Oe.value==="all"?"全部":Oe.value==="today"?"今日":"区间";return{order:i(e),pay:i(a),orderStr:d(i(e)),payStr:d(i(a)),orderNotCancelledStr:d(x),orderCancelledStr:d($),payNotCancelledStr:d(le),payCancelledStr:d(V),orderPerformanceStr:d(F),payPerformanceStr:d(ye),orderHeading:`${ce}业绩(业务订单额)`,payHeading:`${ce}业绩(关联实付)`,periodLine:Aa,scopeHint:ee,orderSplitHint:"业绩 = 除履约已取消(4)外全部订单金额;下方为合计与已取消明细"}}),yt=k(()=>{const t=te.extend,e=v=>{const x=Number(v);return!Number.isFinite(x)||x<0?0:Math.trunc(x)},a=e(t==null?void 0:t.focus_pending_rx_count),i=e(t==null?void 0:t.focus_pending_pay_count),d=e(t==null?void 0:t.focus_pending_ship_count),g=e(t==null?void 0:t.focus_risk_count);return{pendingRx:a,pendingPay:i,pendingShip:d,risk:g}});function Qt(t,e){const a=Number(e==null?void 0:e.prescription_audit_status),i=Number(e==null?void 0:e.payment_slip_audit_status),d=Number(e==null?void 0:e.fulfillment_status);return t==="rx"&&a===0||t==="pay"&&a===1&&i===0||t==="fulfillment"&&d===2?"po-status-tag is-focus":t==="rx"&&a===2||t==="pay"&&i===2||t==="fulfillment"&&d===4?"po-status-tag is-risk":"po-status-tag"}function bt({row:t}){const e=Number(t==null?void 0:t.prescription_audit_status),a=Number(t==null?void 0:t.payment_slip_audit_status),i=Number(t==null?void 0:t.fulfillment_status),d=Nt(t==null?void 0:t.recipient_phone,t==null?void 0:t.prescription_phone);return e===2||a===2||d?"po-row-risk":e===0||e===1&&a===0||i===2?"po-row-focus":i===3||i===6?"po-row-done":""}zs(Ve,t=>{t||h.prescription_audit_status===""||h.prescription_audit_status===void 0||(h.prescription_audit_status="",Q())},{immediate:!0});function Cl(){ie.value="",kl(),h.order_no="",h.prescription_id="",h.patient_keyword="",h.express_keyword="",h.express_company="",h.doctor_id="",h.assistant_id="",h.assistant_dept_id="",h.fulfillment_status="",h.prescription_audit_status="",h.payment_slip_audit_status="",h.supply_mode="",h.audit_admin_id="",Sl()}function xt(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付费用",5:"尾款费用",6:"其他费用",7:"全部费用",8:"驼奶费用"}[Number(t)]??"—"}function Ba(t){return t===1?"已通过":t===2?"已驳回":"待审核"}function Ha(t){return t===1?"success":t===2?"danger":"info"}function Yt(t){return{1:"待双审通过",2:"待发货",3:"已完成",4:"已取消",5:"已发货",6:"已签收",7:"进行中",8:"暂不制药",9:"拒收",10:"退款",11:"保留药方",12:"制药缓发"}[Number(t)]??"—"}function Pl(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 Al=[0,3];function Wa(){const t=we.userInfo;return t?Number(t.root)===1?!0:(Array.isArray(t.role_ids)?t.role_ids.map(a=>Number(a)):[]).some(a=>Al.includes(a)):!1}function Ka(t){var a;const e=Number((a=we.userInfo)==null?void 0:a.id);return e>0&&Number(t.creator_id)===e}function Ga(t){return Number(t.prescription_audit_status)===1&&Number(t.payment_slip_audit_status)===1}function Ja(t){const e=Number(t.fulfillment_status);return e===3||e===4||Ka(t)&&Ga(t)&&!Wa()||Ua(t)?!1:e===1||e===2}function Ol(t){const e=Number(t.fulfillment_status);return e===3||e===4||e===6?!1:Number(t.prescription_audit_status)===0}function Tl(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 Rl(t){if(Ua(t))return!1;const e=Number(t.fulfillment_status);if(e===3||e===4||e===6)return!1;const a=Number(t.prescription_audit_status),i=Number(t.payment_slip_audit_status);return(a===1||a===2)&&i===0}function El(t){const e=Number(t.fulfillment_status);if(e===3||e===4||e===6)return!1;const a=Number(t.prescription_audit_status),i=Number(t.payment_slip_audit_status);return a===1&&(i===1||i===2)}function Qa(t){return Ua(t)?!1:Number(t.fulfillment_status)===1}function Zt(t){return Number(t.fulfillment_status)===2}function Xt(t){const e=Number(t.fulfillment_status);return e===5||e===6}function ea(t){const e=Number(t.fulfillment_status);return(e===5||e===6)&&Number(t.payment_slip_audit_status)===1}function ta(t){const e=Number(t.fulfillment_status);return(e===5||e===6||e===3||e===9)&&Number(t.payment_slip_audit_status)===1}function Dl(t){return Number(t.fulfillment_status)===5}function Ya(t){if(t.can_upload_pharmacy===!1)return!1;const e=Number(t.prescription_audit_status),a=Number(t.fulfillment_status),i=String(t.gancao_reciperl_order_no||"").trim(),d=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(a)||a===9&&g)&&i===""&&(d===""||g)}function Za(t){return{1:"待支付",2:"已支付",3:"已取消",4:"已退款",5:"待审核"}[Number(t)]??"—"}const kt=b(!0),Xa=k(()=>{const t=h,e=["order_no","prescription_id","patient_keyword","express_keyword","doctor_id","assistant_dept_id","assistant_id"];let a=Oe.value!=="all"?1:0;for(const i of e){const d=t[i];d!=null&&(typeof d=="string"&&d.trim()===""||Array.isArray(d)&&d.length===0||(a+=1))}return a});function Ul(t){return Xt(t)||ea(t)||ta(t)||Ya(t)||Qa(t)}function $l(t,e){t==="addPayOrder"?bs(e):t==="complete"?xs(e):t==="refund"?ys(e):t==="uploadPharmacy"?Sn(e):t==="withdraw"&&xn(e)}function aa(t){if(!(t!=null&&t.id))return!1;const e=Number(t.fulfillment_status);return e!==3&&e!==4}const Y=b(!1),sa=b(!1),c=b(null),Fl=k(()=>{var t;return zi((t=c.value)==null?void 0:t.service_package,ft.value)}),ht=k(()=>{if(!c.value)return 0;const t=Number(c.value.fulfillment_status),e=Number(c.value.prescription_audit_status),a=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:a===2?2:3:t===2?3:e===0||e===2?1:a===0||a===2?2:3}),wt=k(()=>{var e;const t=Number((e=c.value)==null?void 0:e.prescription_audit_status);return t===1?"success":t===2?"error":ht.value===1?"process":"wait"}),Vt=k(()=>{var e;const t=Number((e=c.value)==null?void 0:e.payment_slip_audit_status);return t===1?"success":t===2?"error":ht.value===2?"process":"wait"}),Te=k(()=>{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||ht.value===3?"process":"wait"}),la=k(()=>{const t=c.value;if(!t)return[];const e=t.linked_pay_orders;return Array.isArray(e)?e:[]}),es=k(()=>{const t=c.value;if(!t)return 0;const e=t.agency_collect_amount;if(e!=null&&e!=="")return Number(e)||0;const a=Number(t.amount)||0,i=Number(t.linked_pay_paid_total)||0;return Math.round((a-i)*100)/100}),Re=b([]);async function zl(t,e,a){var i;if(!t){Re.value=[];return}try{const d=await Da({diagnosis_id:t,prescription_order_id:e}),g=(d==null?void 0:d.lists)??((i=d==null?void 0:d.data)==null?void 0:i.lists)??[],v=Array.isArray(g)?g.filter(x=>!a.includes(x.id)):[];Re.value=v}catch{Re.value=[]}}function ts(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 S=k(()=>{var e;const t=(e=c.value)==null?void 0:e.prescription;return t&&typeof t=="object"?t:null}),as=k(()=>{var t;return Ms((t=S.value)==null?void 0:t.dietary_taboo)});function St(t){return t==null?"":String(t).replace(/\s/g,"").trim()}function Nt(t,e){const a=St(t),i=St(e);return!a||!i?!1:a!==i}const He=k(()=>{var a,i;const t=(a=S.value)==null?void 0:a.phone,e=(i=c.value)==null?void 0:i.recipient_phone;return Nt(e,t)}),jl=k(()=>{var e;return St((e=S.value)==null?void 0:e.phone)||"—"}),Ll=k(()=>{var e;return St((e=c.value)==null?void 0:e.recipient_phone)||"—"}),Z=k(()=>{var e;const t=(e=c.value)==null?void 0:e.linked_appointment;return t&&typeof t=="object"?t:null}),ss=k(()=>{var e;const t=String(((e=Z.value)==null?void 0:e.resolved_from)||"");return t==="prescription"?"处方绑定挂号":t==="diagnosis"?"诊单关联挂号":""}),ls=k(()=>{var t;return ts((t=S.value)==null?void 0:t.herbs)}),Ne=k(()=>Bs(S.value)),X=k(()=>{const t=S.value;if(!t||!Bs(t))return null;const e=t.aux_usage;return e==null||e===""||Array.isArray(e)&&e.length===0?null:ji(e,t.prescription_type||"浓缩水丸")}),Il=k(()=>{var t;return((t=c.value)==null?void 0:t.prescription_detail_herbs_visible)!==!1}),ql=k(()=>{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(" "):"—"}),ns=k(()=>`${m.dose_unit||"剂"}数`);function Ml(t){const e=Number(t);return e===1?"已通过":e===2?"已驳回":"待审核"}function Bl(t){const e=Number(t);return e===1?"success":e===2?"danger":"warning"}function rs(t){const e=Number(t);return e===2?"success":e===1?"warning":"info"}function is(t){return t==null||t===""?"—":typeof t=="string"&&String(t).includes("-")?String(t):Se(t)}const We=b("auto"),Ct=b(!1),G=b(null),Ke=b("");let na=0;function Hl(){na+=1,G.value=null}function ra(t){var e,a;return t.requestSeq!==na||Number((e=c.value)==null?void 0:e.id)!==t.orderId?!1:String(((a=c.value)==null?void 0:a.tracking_number)||"").trim()===t.trackingNumber}function Wl(t,e,a){const i=(t==null?void 0:t.data)??t;if(!i||typeof i!="object")return null;const d=i,g=String(d.tracking_number||"").trim();if(g&&g!==e)return null;const v=Number(d.order_id);return v>0&&v!==a?null:d}const Ee=b([]),Ge=b(!1),ia=b(!1),Pt=b(),ve=fe({id:0,amount:void 0}),Kl={amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(t,e,a)=>{const i=Number(e);if(!Number.isFinite(i)||i<0){a(new Error("订单金额不能为负数"));return}a()},trigger:"blur"}]};function Gl(){const t=we.perms||[];return t.includes("*")||t.includes("tcm.prescriptionOrder/logs")}async function De(t){if(!Gl()){Ee.value=[];return}try{const e=await Di({id:t});Ee.value=(e==null?void 0:e.data)??e??[]}catch{Ee.value=[]}}function Jl(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 oa=k(()=>{var a;const t=String(((a=c.value)==null?void 0:a.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}`}}),os=k(()=>{const t=G.value;return!t||!Array.isArray(t.traces)?[]:t.traces});function Ql(t){const e=String(t||"").toLowerCase();return e==="sf"?"顺丰速运":e==="jd"?"京东快递":e==="jt"||e==="jtexpress"?"极兔速递":"自动识别"}async function ua(){var d,g;const t=Number((d=c.value)==null?void 0:d.id),e=String(((g=c.value)==null?void 0:g.tracking_number)||"").trim();if(!t||!e)return;const i={requestSeq:++na,orderId:t,trackingNumber:e};Ct.value=!0;try{const v=String(Ke.value||"").replace(/\D/g,""),x={id:t,express_company:We.value};v.length>=4&&(x.phone_tail=v);const $=await yi(x);if(!ra(i))return;G.value=Wl($,e,t)}catch{if(!ra(i))return;G.value=null}finally{ra(i)&&(Ct.value=!1)}}const Je=b(!1),da=b(!1),pa=b(),oe=fe({patient_name:"",phone:""}),Yl={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]},Qe=b(!1),ca=b(!1),_a=b(),D=fe({times_per_day:3,usage_days:7,aux_times_per_day:3,aux_usage_days:7,medication_days:void 0}),Zl=k(()=>{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 Xl(){const t=S.value,e=c.value;if(!t||!(e!=null&&e.id)||!e.prescription_id){P.msgWarning("无处方数据");return}const a=X.value;D.times_per_day=Number(t.times_per_day)>0?Number(t.times_per_day):3,D.usage_days=Number(t.usage_days)>0?Number(t.usage_days):7,D.aux_times_per_day=a&&Number(a.times_per_day)>0?Number(a.times_per_day):3,D.aux_usage_days=a&&Number(a.usage_days)>0?Number(a.usage_days):7;const i=Number(e.medication_days);D.medication_days=i>0?i:Number(t.usage_days)>0?Number(t.usage_days):7,Qe.value=!0,ct(()=>{var d;return(d=_a.value)==null?void 0:d.clearValidate()})}function en(){D.times_per_day=3,D.usage_days=7,D.aux_times_per_day=3,D.aux_usage_days=7,D.medication_days=void 0}async function tn(){var a;const t=_a.value;if(!t)return;try{await t.validate()}catch{return}const e=(a=c.value)==null?void 0:a.id;if(e){ca.value=!0;try{const i={id:e,times_per_day:Number(D.times_per_day),usage_days:Number(D.usage_days),medication_days:Number(D.medication_days)};Ne.value&&(i.aux_times_per_day=Number(D.aux_times_per_day),i.aux_usage_days=Number(D.aux_usage_days)),await bi(i),P.msgSuccess("保存成功"),Qe.value=!1,await ma(),await De(e),M()}catch{}finally{ca.value=!1}}}function an(){const t=S.value,e=c.value;if(!t||!(e!=null&&e.id)||!e.prescription_id){P.msgWarning("无处方数据");return}oe.patient_name=String(t.patient_name??"").trim(),oe.phone=String(t.phone??"").trim(),Je.value=!0,ct(()=>{var a;return(a=pa.value)==null?void 0:a.clearValidate()})}function sn(){oe.patient_name="",oe.phone=""}function ln(){var t;ve.id=0,ve.amount=void 0,(t=Pt.value)==null||t.clearValidate()}function nn(){const t=c.value;if(!aa(t)){P.msgWarning("当前订单状态不允许修改金额");return}ve.id=Number(t==null?void 0:t.id)||0;const e=Number(t==null?void 0:t.amount);ve.amount=Number.isFinite(e)?e:void 0,Ge.value=!0,ct(()=>{var a;return(a=Pt.value)==null?void 0:a.clearValidate()})}async function ma(){var e;const t=(e=c.value)==null?void 0:e.id;if(t)try{const a=await J({id:t}),i=(a==null?void 0:a.data)??a??null;i&&(c.value=i)}catch{}}async function rn(){var a;const t=pa.value;if(!t)return;try{await t.validate()}catch{return}const e=(a=c.value)==null?void 0:a.id;if(e){da.value=!0;try{await xi({id:e,patient_name:oe.patient_name.trim(),phone:oe.phone.trim()}),Je.value=!1,await ma(),await De(e)}catch(i){console.error(i)}finally{da.value=!1}}}async function us(){const t=Pt.value;if(!t)return;try{await t.validate()}catch{return}if(!aa(c.value)){P.msgWarning("当前订单状态不允许修改金额");return}const e=ve.id;ia.value=!0;try{await ki({id:e,amount:Number(ve.amount)}),P.msgSuccess("修改成功"),Ge.value=!1,await ma(),await De(e),M()}catch{}finally{ia.value=!1}}async function fa(t){c.value=null,Re.value=[],Hl(),We.value="auto",Ke.value="",Ee.value=[],Y.value=!0,sa.value=!0;try{const e=await J({id:t}),a=(e==null?void 0:e.data)??e??null;if(c.value=a,a){We.value=String(a.express_company||"auto")||"auto";const i=String(a.recipient_phone||"").replace(/\D/g,"");Ke.value=i.length>=4?i:"",String(a.tracking_number||"").trim()&&ua(),De(t);const d=a.diagnosis_id,g=a.pay_order_ids||[];d&&zl(d,t,g)}}catch(e){P.msgError((e==null?void 0:e.message)||"加载失败"),Y.value=!1}finally{sa.value=!1}}const Ce=b(!1),va=b(!1),ga=b(!1),q=b(0),ue=b(null),on=k(()=>["请核对收货信息,便于发货与物流联系。","按需填写服务与物流,并选择本诊单下需要关联的支付单。","确认费用类别与订单金额;保存前请对照定金门槛是否已满足。"][q.value]??""),ds=k(()=>{const t=ue.value,e=ts(t==null?void 0:t.herbs);if(!e.length)return"暂无药材明细";const a=e.map(i=>`${i.name} ${i.dosage}g`).join("、");return a.length>120?`${a.slice(0,120)}…`:a}),un=["recipient_name","recipient_phone","region","shipping_address"],Ue=b(),m=fe({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:""}),dn=k(()=>Li(ft.value,m.service_package)),ps=k(()=>{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(a=>a.trim()).filter(Boolean):e.split("/").map(a=>a.trim()).filter(Boolean)).filter(e=>e.length>0):[]}),Ye=b([]),ya=b(!1),B=b(0);function At(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(t)]||"未知"}function $e(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 a=String((t==null?void 0:t.payment_method)||""),i={alipay:"支付宝",wechat:"微信",wechat_work:"企业微信",fubei:"付呗",express_cod:"快递代收",manual:"手动确认到账"};return a&&i[a]?i[a]:"普通订单"}const ba=k(()=>{const t=new Set(m.pay_order_ids.map(a=>Number(a)));let e=0;for(const a of Ye.value)t.has(Number(a.id))&&(e+=Number(a.amount)||0);return Math.round(e*100)/100}),pn=k(()=>{const t=B.value;return t>0?Math.round(t*100)/100:0});async function cn(t,e){var a,i;if(!t){Ye.value=[];return}try{ya.value=!0;const d=await Da({diagnosis_id:t,...e?{prescription_order_id:e}:{}}),g=(d==null?void 0:d.lists)??((a=d==null?void 0:d.data)==null?void 0:a.lists)??[];Ye.value=Array.isArray(g)?g:[];const v=Number((d==null?void 0:d.deposit_min_amount)??((i=d==null?void 0:d.data)==null?void 0:i.deposit_min_amount));!Number.isNaN(v)&&v>=0&&(B.value=v)}catch{Ye.value=[]}finally{ya.value=!1}}const _n=k(()=>{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,a,i)=>{const d=B.value,g=Number(a);if(d>0&&(!Number.isFinite(g)||g0){const e=`已开启关联支付门槛(¥${K(B.value)}),请至少选择一笔支付单`;t.pay_order_ids=[{type:"array",required:!0,min:1,message:e,trigger:"change"}]}return t});function mn(){var t;q.value=0,ue.value=null,(t=Ue.value)==null||t.clearValidate()}function fn(){q.value>0&&(q.value-=1)}async function vn(){const t=Ue.value;if(t)try{q.value===0?await t.validateField([...un]):q.value===1&&B.value>0&&await t.validateField(["pay_order_ids"]),q.value<2&&(q.value+=1)}catch{}}async function gn(t){if(!Ja(t)){Ka(t)&&Ga(t)&&!Wa()&&P.msgWarning("处方与支付单均已审核通过,创建人不可再编辑");return}q.value=0,ue.value=null,Ce.value=!0,va.value=!0;try{const e=await J({id:t.id}),a=(e==null?void 0:e.data)??e;if(!a){P.msgError("加载数据结构异常"),Ce.value=!1;return}const i=a.prescription;i&&typeof i=="object"?ue.value=i:Number(a.prescription_id)>0?ue.value={id:Number(a.prescription_id),sn:"",patient_name:String(a.recipient_name||""),herbs:[]}:ue.value=null,m.id=a.id,m.prescription_id=Number(a.prescription_id)||0,m.diagnosis_id=Number(a.diagnosis_id)||0,m.assistant_id=Number(a.assistant_id)||0,m.diagnosis_creator_id=Number(a.diagnosis_creator_id)||0,m.diagnosis_creator_name=a.diagnosis_creator_name!=null&&a.diagnosis_creator_name!==""?String(a.diagnosis_creator_name):"",m.diagnosis_creator_dept_path=a.diagnosis_creator_dept_path!=null&&a.diagnosis_creator_dept_path!==""?String(a.diagnosis_creator_dept_path):"",m.recipient_name=a.recipient_name||"",m.recipient_phone=a.recipient_phone||"";const d=a.shipping_province||"",g=a.shipping_city||"",v=a.shipping_district||"";d||g||v?m.region=[d,g,v].filter(F=>F!==""):m.region=[],m.shipping_address=a.shipping_address||"",m.is_follow_up=a.is_follow_up?1:0,m.medication_days=a.medication_days>0?a.medication_days:void 0,m.dose_count=a.dose_count>0?a.dose_count:1,m.dose_unit=a.dose_unit||"剂",m.prev_staff=a.prev_staff||"",m.service_channel=a.service_channel||"",m.service_package=Ii(a.service_package),m.express_company=String(a.express_company||"auto")||"auto",m.tracking_number=a.tracking_number||"",m.fee_type=Number(a.fee_type)||3,B.value=Number(a.deposit_min_amount)||0;let x=Number(a.amount)||0;const $=Math.round((Number(a.linked_pay_paid_total)||0)*100)/100,le=B.value;if(le>0){const F=Math.round(le*100)/100;xNumber(F)).filter(F=>!Number.isNaN(F)):[],m.internal_cost=a.internal_cost!=null&&a.internal_cost!==""?Number(a.internal_cost):void 0,await cn(m.diagnosis_id,m.id),ct(()=>{var F;(F=Ue.value)==null||F.clearValidate()})}catch(e){P.msgError((e==null?void 0:e.message)||"加载异常"),Ce.value=!1}finally{va.value=!1}}async function yn(){if(!(!Ue.value||q.value!==2)){await Ue.value.validate(),ga.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 Ls(t),P.msgSuccess("保存成功"),Ce.value=!1,M()}catch{}finally{ga.value=!1}}}const Ze=b(!1),xa=b("prescription"),Ot=b(0),Xe=b(null),Fe=b(""),Tt=b(!1),bn=k(()=>xa.value==="prescription"?"处方业务审核":"关联支付单审核");function cs(t,e){xa.value=e,Ot.value=t.id,Xe.value=t,Fe.value="",Ze.value=!0}async function _s(t){if(t==="reject"&&!Fe.value.trim()){P.msgError("驳回或阻止时必须填写明确的审核意见");return}Tt.value=!0;try{const e={id:Ot.value,action:t,remark:Fe.value.trim()};if(xa.value==="prescription"?await hi(e):await wi(e),P.msgSuccess(t==="approve"?"审核通过成功":"已成功驳回该单"),Ze.value=!1,M(),Y.value&&Ot.value)try{const a=await J({id:Ot.value}),i=(a==null?void 0:a.data)??a??null;i&&(c.value=i)}catch{}}catch{}finally{Tt.value=!1}}async function xn(t){try{await _t.confirm("确认撤回该业务订单?撤回后状态为「已取消」,未双审通过或双审均驳回等场景下均可安全撤回。","撤回警告",{type:"warning",confirmButtonText:"确定撤回",cancelButtonText:"暂不处理"}),await Vi({id:t.id}),P.msgSuccess("撤回成功"),M()}catch{}}const ms=b(0),Rt=b(!1),ze=b(!1),z=b(null);function fs(t){if(!t)return"0.00";const e=Number(t.m_cost)||0,a=Number(t.proces_cost)||0,i=Number(t.lis_cost)||0;return(e+a+i).toFixed(2)}function kn(t,e){const a=parseFloat(fs(t))||0,i=Number(e)||0;return i<=0?"—":(a/i*100).toFixed(2)}function hn(t){return!Array.isArray(t)||t.length===0?"0":t.reduce((a,i)=>a+(Number(i.quantity)||0),0).toFixed(0)}async function wn(){if(!m.id){P.msgError("请先保存订单");return}ze.value=!0;try{const t=await Is({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,Rt.value=!0,P.msgSuccess("预下单测试成功"))}catch{}finally{ze.value=!1}}async function Vn(){var t;if(!((t=c.value)!=null&&t.id)){P.msgError("订单数据不存在");return}ze.value=!0;try{const e=await Is({id:c.value.id,dose_count:c.value.dose_count||1,medication_days:c.value.medication_days||void 0}),a=(e==null?void 0:e.data)??e;a&&a.success&&(z.value=a,Rt.value=!0)}catch{}finally{ze.value=!1}}async function Sn(t){var e;try{const a=String(t.ship_mode||"gancao")==="direct"?"洛阳药房":"甘草药房";await _t.confirm(`确认将本单关联处方上传至${a}?`,"上传药房",{type:"warning",confirmButtonText:"确定上传",cancelButtonText:"取消"}),ms.value=t.id;const i=await Si({id:t.id}),d=(i==null?void 0:i.data)??i,g=String((d==null?void 0:d.pharmacy_order_no)||(d==null?void 0:d.recipel_order_no)||"").trim();if(P.msgSuccess(g?`上传成功,药房单号:${g}`:"上传成功"),M(),Y.value&&Number((e=c.value)==null?void 0:e.id)===t.id)try{const v=await J({id:t.id}),x=(v==null?void 0:v.data)??v??null;x&&(c.value=x)}catch{}}catch{}finally{ms.value=0}}_r(async()=>{await rl(),await il(),await ll(),M()});const et=b(!1),Et=b(!1),tt=b(0),re=fe({express_company:"auto",tracking_number:""});function Nn(t){tt.value=t.id,re.express_company=String(t.express_company||"auto")||"auto",re.tracking_number=String(t.tracking_number||""),et.value=!0}async function vs(){var t;if(!re.tracking_number.trim()){P.msgError("请填写快递单号");return}Et.value=!0;try{const e=await J({id:tt.value}),a=(e==null?void 0:e.data)??e;if(!a){P.msgError("加载订单数据失败");return}if(await Ls({id:a.id,recipient_name:a.recipient_name||"",recipient_phone:a.recipient_phone||"",shipping_province:a.shipping_province||"",shipping_city:a.shipping_city||"",shipping_district:a.shipping_district||"",shipping_address:a.shipping_address||"",is_follow_up:a.is_follow_up?1:0,medication_days:a.medication_days!=null&&String(a.medication_days).trim()!==""?a.medication_days:"",prev_staff:a.prev_staff||"",service_channel:a.service_channel||"",service_package:a.service_package||"",fee_type:Number(a.fee_type)||3,amount:Number(a.amount)||0,remark_extra:a.remark_extra||"",remark_assistant:a.remark_assistant||"",internal_cost:a.internal_cost!=null&&a.internal_cost!==""?a.internal_cost:"",pay_order_ids:Array.isArray(a.pay_order_ids)?a.pay_order_ids:[],express_company:re.express_company||"auto",tracking_number:re.tracking_number.trim()}),P.msgSuccess("快递单号已保存"),et.value=!1,M(),Y.value&&((t=c.value)==null?void 0:t.id)===tt.value)try{const i=await J({id:tt.value}),d=(i==null?void 0:i.data)??i??null;d&&(c.value=d)}catch{}if(Zt({fulfillment_status:Number(a.fulfillment_status)}))try{await _t.confirm(`快递单号「${re.tracking_number}」已保存,是否立即确认发货?`,"确认发货",{type:"success",confirmButtonText:"确认发货",cancelButtonText:"稍后再说"}),ka({id:tt.value,tracking_number:re.tracking_number,express_company:re.express_company})}catch{}}catch{}finally{Et.value=!1}}const at=b(!1),Dt=b(!1),Ut=b(0),ae=fe({ship_mode:"gancao",express_company:"auto",tracking_number:""}),Cn=k(()=>ae.ship_mode==="direct"?"洛阳药房直发":"甘草药房直发");function ka(t){Ut.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 gs(){var t;if(!ae.tracking_number.trim()){P.msgError("请先填写快递单号再确认发货");return}Dt.value=!0;try{if(await Ni({id:Ut.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(),Y.value&&((t=c.value)==null?void 0:t.id)===Ut.value)try{const e=await J({id:Ut.value}),a=(e==null?void 0:e.data)??e??null;a&&(c.value=a)}catch{}}catch{}finally{Dt.value=!1}}async function Pn(){var t;M(),(t=c.value)!=null&&t.id&&await fa(Number(c.value.id))}const An=[{value:3,label:"已完成"},{value:7,label:"进行中"},{value:8,label:"暂不制药"},{value:9,label:"拒收"},{value:10,label:"退款"},{value:11,label:"保留药方"},{value:12,label:"制药缓发"}],je=b(!1),ha=b(0),xe=b(3),st=b(!1),ge=b([]),wa=b();function Va(t){let e=0;for(const a of t||[]){const i=Number(a==null?void 0:a.status);(i===2||i===5)&&(e+=Number(a==null?void 0:a.amount)||0)}return Math.round(e*100)/100}const de=fe({reason:"",refund_amount:void 0}),ke=b(0),On=k(()=>Va(ge.value)),Tn=k(()=>({refund_amount:[{required:!0,message:"请输入退款金额",trigger:"change"},{validator:(t,e,a)=>{const i=Number(e),d=ke.value;if(!Number.isFinite(i)||i<=0)return a(new Error("退款金额须大于 0"));if(d>0&&i>d+.009)return a(new Error(`不能超过 ¥${K(d)}`));a()},trigger:"change"}],reason:[{required:!0,message:"请填写退款原因",trigger:"blur"}]}));function Rn(){var t;ha.value=0,ge.value=[],de.reason="",de.refund_amount=void 0,ke.value=0,(t=wa.value)==null||t.clearValidate()}async function En(t){if(!t){ge.value=[];return}try{const e=await J({id:t}),a=(e==null?void 0:e.data)??e??null;ge.value=Array.isArray(a==null?void 0:a.linked_pay_orders)?a.linked_pay_orders:[];const i=Va(ge.value),d=Number(a==null?void 0:a.paid)||0;ke.value=i>0?i:d,de.refund_amount=ke.value}catch{ge.value=[],ke.value=0}}async function Dn(){var e,a,i;const t=ha.value;if(t){if(xe.value===10){if(!await((e=wa.value)==null?void 0:e.validate().catch(()=>!1)))return;st.value=!0;try{if(await qs({id:t,reason:de.reason.trim(),refund_amount:Number(de.refund_amount)}),P.msgSuccess("退款成功"),je.value=!1,M(),Y.value&&((a=c.value)==null?void 0:a.id)===t)try{const g=await J({id:t}),v=(g==null?void 0:g.data)??g??null;v&&(c.value=v),await De(t)}catch{}}catch{}finally{st.value=!1}return}st.value=!0;try{if(await Ci({id:t,fulfillment_status:xe.value}),P.msgSuccess("订单状态已更新"),je.value=!1,M(),Y.value&&((i=c.value)==null?void 0:i.id)===t)try{const d=await J({id:t}),g=(d==null?void 0:d.data)??d??null;g&&(c.value=g)}catch{}}catch{}finally{st.value=!1}}}const lt=b(!1),Sa=b(0),Na=b(!1),Ca=b(),pe=b(0),se=fe({reason:"",refund_amount:void 0}),Un=k(()=>{const t=K(pe.value),e=K(se.refund_amount);return Number(se.refund_amount)>=pe.value-.009?`全额退款 ¥${t}:关联收款标记已退款,已付清零。`:`部分退款 ¥${e}(上限 ¥${t})`}),$n=k(()=>({refund_amount:[{required:!0,message:"请输入退款金额",trigger:"change"},{validator:(t,e,a)=>{const i=Number(e),d=pe.value;if(!Number.isFinite(i)||i<=0)return a(new Error("退款金额须大于 0"));if(d>0&&i>d+.009)return a(new Error(`不能超过 ¥${K(d)}`));a()},trigger:"change"}],reason:[{required:!0,message:"请填写退款原因",trigger:"blur"}]}));function Fn(){var t;Sa.value=0,se.reason="",se.refund_amount=void 0,pe.value=0,(t=Ca.value)==null||t.clearValidate()}async function ys(t){Sa.value=t.id,se.reason="",pe.value=0,lt.value=!0;try{const e=await J({id:t.id}),a=(e==null?void 0:e.data)??e??null,i=Array.isArray(a==null?void 0:a.linked_pay_orders)?a.linked_pay_orders:[],d=Va(i),g=Number(a==null?void 0:a.paid)||0;pe.value=d>0?d:g,se.refund_amount=pe.value}catch{pe.value=0}}async function zn(){var a,i;const t=Sa.value;if(!(!t||!await((a=Ca.value)==null?void 0:a.validate().catch(()=>!1)))){Na.value=!0;try{if(await qs({id:t,reason:se.reason.trim(),refund_amount:Number(se.refund_amount)}),P.msgSuccess("退款成功"),lt.value=!1,M(),Y.value&&((i=c.value)==null?void 0:i.id)===t)try{const d=await J({id:t}),g=(d==null?void 0:d.data)??d??null;g&&(c.value=g),await De(t)}catch{}}catch{}finally{Na.value=!1}}}const nt=b(!1),$t=b(!1),Le=b(0),Ft=b(),Pa=b(!1),zt=b([]),jn=k(()=>A.add_mode==="completion_only"?"不创建或关联支付单,仅提交完单申请,由审核人员在支付审核时处理。":A.add_mode==="create_express"?"通过快递代收创建新支付单(流转同付呗),或关联已存在但未绑定的支付单。":"可以通过付呗创建新支付单,或关联已存在但未绑定的支付单。"),A=fe({add_mode:"create",order_type:3,pay_amount:void 0,pay_remark:"",link_pay_order_ids:[],completion_request:0}),Ln=k(()=>{const t={add_mode:[{required:!0,message:"请选择添加方式",trigger:"change"}]};return A.add_mode==="create"||A.add_mode==="create_express"?(t.order_type=[{required:!0,message:"请选择费用类别",trigger:"change"}],t.pay_amount=[{required:!0,message:"请输入支付金额",trigger:"blur"},{validator:(e,a,i)=>{const d=Number(a);!Number.isFinite(d)||d<=0?i(new Error("金额须大于 0")):i()},trigger:"blur"}]):A.add_mode==="link"&&(t.link_pay_order_ids=[{required:!0,message:"请至少选择一个支付单",trigger:"change",validator:(e,a,i)=>{!Array.isArray(a)||a.length===0?i(new Error("请至少选择一个支付单")):i()}}]),t});async function In(t,e=[]){var a;if(!t){zt.value=[];return}try{Pa.value=!0;const i=await Da({diagnosis_id:t}),d=(i==null?void 0:i.lists)??((a=i==null?void 0:i.data)==null?void 0:a.lists)??[],g=Array.isArray(d)?d.filter(v=>!e.includes(v.id)):[];zt.value=g}catch{zt.value=[]}finally{Pa.value=!1}}function bs(t){var i,d;Le.value=t.id,A.add_mode="create",A.order_type=3,A.pay_amount=void 0,A.pay_remark="",A.link_pay_order_ids=[],A.completion_request=0,nt.value=!0;const e=t.diagnosis_id||((i=c.value)==null?void 0:i.diagnosis_id),a=t.pay_order_ids||((d=c.value)==null?void 0:d.pay_order_ids)||[];e&&In(e,a)}async function qn(){var t;if(Ft.value){await Ft.value.validate(),$t.value=!0;try{if(A.add_mode==="completion_only")await Pi({id:Le.value}),P.msgSuccess("完单申请已提交,请等待支付审核");else if(A.add_mode==="create"||A.add_mode==="create_express")await Ai({id:Le.value,order_type:A.order_type,pay_amount:A.pay_amount,pay_remark:A.pay_remark||"",completion_request:A.completion_request,pay_create_type:A.add_mode==="create_express"?"express_cod":"fubei"}),P.msgSuccess("支付单已新增,请等待审核");else{const e=A.link_pay_order_ids;if(e.length===0){P.msgError("请至少选择一个支付单");return}await Oi({id:Le.value,pay_order_ids:e,completion_request:A.completion_request}),P.msgSuccess(`已关联 ${e.length} 个支付单,请等待审核`)}if(nt.value=!1,M(),Y.value&&((t=c.value)==null?void 0:t.id)===Le.value)try{const e=await J({id:Le.value}),a=(e==null?void 0:e.data)??e??null;a&&(c.value=a)}catch{}}catch{}finally{$t.value=!1}}}function xs(t){ha.value=t.id,xe.value=3,de.reason="",ge.value=[],je.value=!0,En(t.id)}async function Mn(t){var e;try{if(await _t.confirm("确认撤回处方审核?撤回后将重置为「待审核」状态。","撤回处方审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await Ti({id:t.id}),P.msgSuccess("处方审核已撤回"),M(),Y.value&&((e=c.value)==null?void 0:e.id)===t.id)try{const a=await J({id:t.id}),i=(a==null?void 0:a.data)??a??null;i&&(c.value=i)}catch{}}catch{}}async function Bn(t){var e;try{if(await _t.confirm("确认撤回支付单审核?撤回后将重置为「待审核」状态。","撤回支付单审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await Ri({id:t.id}),P.msgSuccess("支付单审核已撤回"),M(),Y.value&&((e=c.value)==null?void 0:e.id)===t.id)try{const a=await J({id:t.id}),i=(a==null?void 0:a.data)??a??null;i&&(c.value=i)}catch{}}catch{}}const Hn="成都双流甄养堂互联网医院 处方笺",jt=b(!1),Lt=b(!1),w=b(null),ks=b(null),Ie=b(!1),It=k(()=>{var e;const t=(e=w.value)==null?void 0:e.herbs;return Array.isArray(t)?t:[]}),hs=k(()=>{var t;return Ms((t=w.value)==null?void 0:t.dietary_taboo)}),Wn=k(()=>{const t=w.value;if(!t||(t.prescription_type||"浓缩水丸")!=="浓缩水丸")return null;const e=Number(t.medication_days??t.usage_days??t.dose_count),a=Number(t.times_per_day),i=Number(t.dosage_amount),d=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;return!Number.isFinite(e)||!Number.isFinite(a)||!Number.isFinite(i)||e<=0||a<=0||i<=0?null:e*a*i*d}),qt=t=>String(t).padStart(2,"0"),Kn=k(()=>{const t=w.value;if(!t)return"—";const e=t.create_time??t.update_time??null;if(e){const a=String(e).length===10?Number(e)*1e3:Number(e),i=new Date(a);if(!isNaN(i.getTime()))return`${i.getFullYear()}-${qt(i.getMonth()+1)}-${qt(i.getDate())} ${qt(i.getHours())}:${qt(i.getMinutes())}`}return t.prescription_date||"—"}),Gn=k(()=>{const t=w.value;if(!t)return"—";const e=String(t.sn??"").trim();if(e)return e;const a=String(t.visit_no??"").trim();return a||"—"}),Jn=k(()=>{const t=w.value;if(!t)return"—";const e=Number(t.appointment_id);return Number.isFinite(e)&&e>0?String(e):"—"}),ws=k(()=>{const t=w.value;return t?String(t.order_no??"").trim():""}),Qn=k(()=>{const t=w.value;if(!t)return"—";if(t.recipient_text)return t.recipient_text;const e=[];(t.recipient_name||t.patient_name)&&e.push(t.recipient_name||t.patient_name),(t.recipient_phone||t.phone)&&e.push(t.recipient_phone||t.phone);let a=t.region;return Array.isArray(a)&&(a=a.filter(Boolean).join("")),a&&e.push(String(a)),t.shipping_address?e.push(String(t.shipping_address)):t.address&&e.push(String(t.address)),e.length?e.join(","):"—"}),Vs=k(()=>{var e;const t=Number((e=w.value)==null?void 0:e.dose_count);return Number.isFinite(t)&&t>0?t:1}),Yn=k(()=>{const e=It.value.reduce((a,i)=>a+(Number(i==null?void 0:i.dosage)||0),0);return rt(e)}),Zn=t=>{const e=Number(t)||0;return rt(e*Vs.value)},Xn=k(()=>{const t=w.value;if(!t)return"—";const e=t.prescription_type||"浓缩水丸";return/丸|散|膏|片/.test(e)?`浓缩丸-${e}`:e}),er=k(()=>{const t=w.value;if(!t)return"—";if(t.usage_text)return t.usage_text;const e=Number(t.times_per_day)>0?Number(t.times_per_day):3,a=t.dosage_amount!=null?Number(t.dosage_amount):10,i=t.dosage_unit||"g",d=t.usage_way||"温水送服",g=t.usage_time||"",v=[];if(v.push(`每天${e}次`),(t.prescription_type||"浓缩水丸")==="浓缩水丸"){const x=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;v.push(`一次${x}袋`),v.push(`每袋${a}${i}`)}else v.push(`一次${a}${i}`);return v.push(d),g&&v.push(g),v.join(", ")}),tr=k(()=>{const t=Wn.value;if(typeof t=="number"&&isFinite(t)&&t>0)return rt(t);const e=w.value;if(!e)return"";const a=e.out_pellet||e.total_weight;if(a&&Number(a)>0)return rt(Number(a));const i=It.value;if(!i.length)return"";const d=i.reduce((g,v)=>g+(Number(v==null?void 0:v.dosage)||0),0);return rt(d*Vs.value)}),Ss=k(()=>{const t=w.value;return t&&t.medical_advice||""}),Ns=k(()=>{const t=w.value;if(!t)return"";const e=[];return e.push(`共${It.value.length}味药`),t.usage_notes&&e.push(String(t.usage_notes)),t.remark&&e.push(String(t.remark)),e.join(" ")}),Cs=k(()=>{const t=w.value;return t&&(t.pharmacy_remark||t.pharmacy_note)||""}),Ps=k(()=>{const t=tr.value;return t?`${t}克`:""});function rt(t){return isFinite(t)?Number.isInteger(t)?String(t):t.toFixed(2).replace(/\.?0+$/,""):"0"}function As(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 ar(t){return t?As(t):"—"}function sr(t){return t===1||t==="1"?"男":t===0||t==="0"?"女":"—"}function lr(t){return t==null||t===""?"—":`${t}岁`}function nr(){Os(m)}async function Os(t){if(!t.prescription_id){P.msgWarning("该订单未关联处方");return}jt.value=!0,Lt.value=!0,w.value=null;try{const e=await Ei({id:t.prescription_id}),a=(e==null?void 0:e.data)??e??null;if(a){const i=t.medication_days,d={...a};i!=null&&String(i).trim()!==""&&(d.medication_days=i),t.order_no&&!d.order_no&&(d.order_no=t.order_no),t.recipient_name&&!d.recipient_name&&(d.recipient_name=t.recipient_name),t.recipient_phone&&!d.recipient_phone&&(d.recipient_phone=t.recipient_phone),t.shipping_address&&!d.shipping_address&&(d.shipping_address=t.shipping_address),t.amount!=null&&d.order_amount==null&&(d.order_amount=t.amount),t.dose_count!=null&&String(t.dose_count).trim()!==""&&Number(t.dose_count)>0&&(d.dose_count=Number(t.dose_count)),t.dose_unit!=null&&String(t.dose_unit).trim()!==""&&(d.dose_unit=String(t.dose_unit));const g=t.linked_appointment;(!d.appointment_id||Number(d.appointment_id)<=0)&&g&&typeof g=="object"&&Number(g.id)>0&&(d.appointment_id=Number(g.id)),w.value=d}else w.value=null}catch(e){P.msgError((e==null?void 0:e.message)||"加载处方详情失败"),jt.value=!1}finally{Lt.value=!1}}async function rr(t){const e=t.querySelectorAll('img[src^="http"]'),a=Array.from(e).map(async i=>{try{const d=await fetch(i.src,{mode:"cors"});if(!d.ok)return;const g=await d.blob(),v=await new Promise((x,$)=>{const le=new FileReader;le.onload=()=>x(le.result),le.onerror=$,le.readAsDataURL(g)});i.src=v}catch{}});await Promise.allSettled(a)}async function Ts(){await ct();const t=ks.value;if(!t)throw new Error("未找到处方笺内容");return t.scrollIntoView({behavior:"instant",block:"nearest"}),await rr(t),await new Promise(e=>requestAnimationFrame(()=>e(null))),await new Promise(e=>setTimeout(e,250)),di(t,{scale:2,useCORS:!0,allowTaint:!1,logging:!1,backgroundColor:"#ffffff",windowWidth:t.scrollWidth,windowHeight:t.scrollHeight,width:t.scrollWidth,height:t.scrollHeight,ignoreElements:e=>e instanceof HTMLElement&&e.classList.contains("cf-slip-no-export")})}function Rs(){var a;const t=(a=w.value)==null?void 0:a.patient_name;return`处方_${typeof t=="string"&&t.trim()?t.trim().replace(/[\\/:*?"<>|]/g,"_"):"未命名"}_${Date.now()}`}async function ir(){if(w.value){Ie.value=!0;try{const t=await Ts(),e=document.createElement("a");e.download=`${Rs()}.png`,e.href=t.toDataURL("image/png"),e.click(),P.msgSuccess("图片已下载")}catch{P.msgError("下载图片失败")}finally{Ie.value=!1}}}async function or(){if(w.value){Ie.value=!0;try{const t=await Ts(),e=t.toDataURL("image/jpeg",.95),a=new ui({orientation:"portrait",unit:"mm",format:"a4"}),i=210,d=297,g=i,v=t.height*g/t.width;if(v<=d)a.addImage(e,"JPEG",0,0,g,v);else{let x=v,$=0;for(;x>0;)a.addImage(e,"JPEG",0,$,g,v),x-=d,$-=d,x>0&&a.addPage()}a.save(`${Rs()}.pdf`),P.msgSuccess("PDF已下载")}catch{P.msgError("下载PDF失败")}finally{Ie.value=!1}}}return(t,e)=>{const a=fr,i=vr,d=hr,g=Sr,v=Vr,x=Cr,$=Nr,le=Pr,V=Ar,F=wr,ye=Or,he=Dr,Mt=Er,Es=Rr,Aa=pi,it=Ur,ee=$r,ce=zr,qe=Fr,N=Lr,ot=jr,U=qr,Bt=Ir,Oa=Hr,Ds=Gr,Us=Kr,Ta=Jr,ne=Qr,me=Yr,$s=Zr,H=ei,ur=ti,Ht=Xr,dr=si,pr=ai,cr=li,Me=ri,Fs=ni,Pe=kr,j=mr("perms");return u(),_("div",Ki,[e[279]||(e[279]=s("header",{class:"po-h5-hero","aria-label":"页面概览"},[s("div",{class:"po-h5-hero__text"},[s("h1",{class:"po-h5-hero__title"},"业务订单"),s("p",{class:"po-h5-hero__sub"},"履约、双审与收款一览;点卡片进入详情")])],-1)),l(a,{class:"po-h5-surface po-h5-surface--chips !mb-3 !border-none shadow-none",shadow:"never"},{default:n(()=>[s("div",Gi,[Ve.value?(u(),_("div",Ji,[e[98]||(e[98]=s("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"处方审核",-1)),(u(),_(T,null,W(ml,r=>s("div",{key:r.value,class:L(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",h.prescription_audit_status===r.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:O=>vl(r.value)},[s("span",Yi,o(r.label),1)],10,Qi)),64))])):f("",!0),s("div",Zi,[e[99]||(e[99]=s("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"支付单审核",-1)),(u(),_(T,null,W(fl,r=>s("div",{key:r.value,class:L(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",h.payment_slip_audit_status===r.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:O=>gl(r.value)},[s("span",eo,o(r.label),1)],10,Xi)),64))]),s("div",to,[e[100]||(e[100]=s("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"发货状态",-1)),(u(),_(T,null,W(ol,r=>s("div",{key:"fs-"+String(r.value),class:L(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",h.fulfillment_status===r.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:O=>ul(r.value)},[s("span",so,o(r.label),1)],10,ao)),64))]),s("div",lo,[e[101]||(e[101]=s("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"供货方式",-1)),(u(),_(T,null,W(dl,r=>s("div",{key:"sm-"+String(r.value),class:L(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",h.supply_mode===r.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:O=>pl(r.value)},[s("span",ro,o(r.label),1)],10,no)),64))]),s("div",io,[e[102]||(e[102]=s("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"快递方式",-1)),(u(),_(T,null,W(cl,r=>s("div",{key:"ec-"+String(r.value),class:L(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",h.express_company===r.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:O=>_l(r.value)},[s("span",uo,o(r.label),1)],10,oo)),64))])])]),_:1}),l(a,{class:"po-h5-surface po-filter-card !mb-3 !border-none shadow-none",shadow:"never"},{default:n(()=>[R((u(),_("div",po,[s("div",co,[e[103]||(e[103]=s("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)),s("div",_o,[s("div",null,[s("div",mo,[l(i,{size:16,class:"text-sky-500"},{default:n(()=>[l(E(gr))]),_:1}),p(" "+o(_e.value.orderHeading),1)]),s("div",fo,[s("div",vo," ¥"+o(_e.value.orderPerformanceStr),1),s("div",go,[s("span",null,"合计 ¥"+o(_e.value.orderStr),1),s("span",yo,"已取消 ¥"+o(_e.value.orderCancelledStr),1)])])]),s("div",bo,[l(i,{size:20},{default:n(()=>[l(E(yr))]),_:1})])]),s("p",xo,o(_e.value.periodLine),1)]),s("div",ko,[e[104]||(e[104]=s("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)),s("div",ho,[s("div",null,[s("div",wo,[l(i,{size:16,class:"text-emerald-500"},{default:n(()=>[l(E(br))]),_:1}),p(" "+o(_e.value.payHeading),1)]),s("div",Vo,[s("div",So," ¥"+o(_e.value.payPerformanceStr),1),s("div",No,[s("span",null,"合计 ¥"+o(_e.value.payStr),1),s("span",Co,"已取消 ¥"+o(_e.value.payCancelledStr),1)])])]),s("div",Po,[l(i,{size:20},{default:n(()=>[l(E(xr))]),_:1})])]),s("p",Ao,o(_e.value.periodLine),1)])])),[[Pe,E(te).loading]]),e[108]||(e[108]=s("p",{class:"po-h5-stats-hint text-center text-[12px] leading-snug text-slate-500 px-1 -mt-2 mb-3"},[p(" 上方为接口返回的"),s("strong",{class:"text-slate-600 font-medium"},"业绩汇总"),p("(未选创建日期时为今日;选了则为该区间);下方列表是当前筛选条件下的订单,"),s("strong",{class:"text-slate-600 font-medium"},"条数与金额和上面不必相等"),p("。 ")],-1)),s("div",{class:"po-filter-toggle",onClick:e[0]||(e[0]=r=>kt.value=!kt.value)},[s("div",Oo,[l(i,null,{default:n(()=>[l(E(Ra))]),_:1}),e[105]||(e[105]=s("span",null,"筛选条件",-1)),Xa.value>0?(u(),y(d,{key:0,size:"small",type:"primary",effect:"dark",round:""},{default:n(()=>[p(o(Xa.value),1)]),_:1})):f("",!0)]),l(i,{class:L(["po-filter-toggle__arrow",{"is-open":!kt.value}])},{default:n(()=>[l(E(js))]),_:1},8,["class"])]),R(l(F,{class:"ls-form stats-filter-form",model:h,inline:""},{default:n(()=>[l(ci,{"time-type":E(Oe),"onUpdate:timeType":e[1]||(e[1]=r=>Ea(Oe)?Oe.value=r:null),"date-range":E(Jt),"onUpdate:dateRange":e[2]||(e[2]=r=>Ea(Jt)?Jt.value=r:null),label:"创建时间",variant:"inline","show-all":"","picker-width":"260px",onTimeTypeChange:hl,onCustomChange:wl},null,8,["time-type","date-range"]),l(v,{class:"w-[260px]",label:"订单号"},{default:n(()=>[l(g,{modelValue:h.order_no,"onUpdate:modelValue":e[3]||(e[3]=r=>h.order_no=r),placeholder:"业务订单号",clearable:"",onKeyup:pt(E(Q),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(v,{class:"w-[140px]",label:"处方ID"},{default:n(()=>[l(g,{modelValue:h.prescription_id,"onUpdate:modelValue":e[4]||(e[4]=r=>h.prescription_id=r),placeholder:"处方ID",clearable:"",onKeyup:pt(E(Q),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(v,{class:"w-[220px]",label:"患者"},{default:n(()=>[l(g,{modelValue:h.patient_keyword,"onUpdate:modelValue":e[5]||(e[5]=r=>h.patient_keyword=r),placeholder:"姓名 / 手机号",clearable:"",onKeyup:pt(E(Q),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(v,{class:"w-[220px]",label:"快递"},{default:n(()=>[l(g,{modelValue:h.express_keyword,"onUpdate:modelValue":e[6]||(e[6]=r=>h.express_keyword=r),placeholder:"快递单号 / 公司",clearable:"",onKeyup:pt(E(Q),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),Xs.value?(u(),y(v,{key:0,class:"w-[200px]",label:"下单人"},{default:n(()=>[l($,{modelValue:h.audit_admin_id,"onUpdate:modelValue":e[7]||(e[7]=r=>h.audit_admin_id=r),clearable:"",filterable:"",placeholder:"全部下单人",class:"!w-full"},{default:n(()=>[(u(!0),_(T,null,W(za.value,r=>(u(),y(x,{key:r.id,label:r.name,value:r.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})):f("",!0),l(v,{class:"w-[200px]",label:"医生"},{default:n(()=>[l($,{modelValue:h.doctor_id,"onUpdate:modelValue":e[8]||(e[8]=r=>h.doctor_id=r),clearable:"",filterable:"",placeholder:"开方医生",class:"!w-full"},{default:n(()=>[(u(!0),_(T,null,W(Gt.value,r=>(u(),y(x,{key:r.id,label:r.name,value:r.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(v,{class:"w-[220px] min-w-[200px]",label:"医助部门"},{default:n(()=>[l(le,{modelValue:h.assistant_dept_id,"onUpdate:modelValue":e[9]||(e[9]=r=>h.assistant_dept_id=r),data:vt.value,class:"!w-full",clearable:"",filterable:"","check-strictly":"","default-expand-all":!0,"node-key":"id",props:al,placeholder:"医助部门(选父级含子级)",onChange:Nl},null,8,["modelValue","data"])]),_:1}),l(v,{class:"w-[200px]",label:"医助"},{default:n(()=>[l($,{modelValue:h.assistant_id,"onUpdate:modelValue":e[10]||(e[10]=r=>h.assistant_id=r),clearable:"",filterable:"",placeholder:"诊单医助",class:"!w-full"},{default:n(()=>[(u(!0),_(T,null,W(Ma.value,r=>(u(),y(x,{key:r.id,label:r.name,value:r.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(v,null,{default:n(()=>[l(V,{type:"primary",onClick:E(Q)},{default:n(()=>[...e[106]||(e[106]=[p("查询",-1)])]),_:1},8,["onClick"]),l(V,{onClick:Cl},{default:n(()=>[...e[107]||(e[107]=[p("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"]),[[Wt,!kt.value]])]),_:1}),R((u(),y(a,{class:"po-h5-surface po-table-card !mt-0 !border-none shadow-none",shadow:"never"},{default:n(()=>[s("div",To,[s("div",Ro,[s("div",Eo,[e[109]||(e[109]=s("span",{class:"po-table-title text-gray-800"},"订单列表",-1)),s("span",Do,"共 "+o(E(te).count)+" 条",1)]),s("div",Uo,[s("div",{class:L(["po-focus-board__item is-pending-rx",{"is-active":ie.value==="pendingRx"}]),onClick:e[11]||(e[11]=r=>gt("pendingRx"))},[e[110]||(e[110]=s("span",{class:"po-focus-board__label"},"待处方审核",-1)),s("strong",$o,o(yt.value.pendingRx),1)],2),s("div",{class:L(["po-focus-board__item is-pending-pay",{"is-active":ie.value==="pendingPay"}]),onClick:e[12]||(e[12]=r=>gt("pendingPay"))},[e[111]||(e[111]=s("span",{class:"po-focus-board__label"},"待支付审核",-1)),s("strong",Fo,o(yt.value.pendingPay),1)],2),s("div",{class:L(["po-focus-board__item is-pending-ship",{"is-active":ie.value==="pendingShip"}]),onClick:e[13]||(e[13]=r=>gt("pendingShip"))},[e[112]||(e[112]=s("span",{class:"po-focus-board__label"},"待发货",-1)),s("strong",zo,o(yt.value.pendingShip),1)],2),s("div",{class:L(["po-focus-board__item is-risk",{"is-active":ie.value==="risk"}]),onClick:e[14]||(e[14]=r=>gt("risk"))},[e[113]||(e[113]=s("span",{class:"po-focus-board__label"},"重点异常",-1)),s("strong",jo,o(yt.value.risk),1)],2)])])]),s("div",Lo,[!E(te).lists.length&&!E(te).loading?(u(),y(ye,{key:0,description:"暂无订单","image-size":88})):f("",!0),(u(!0),_(T,null,W(E(te).lists,r=>(u(),_("div",{key:r.id,class:L(["po-card",{"po-card--focus":bt&&bt({row:r})==="po-row-focus","po-card--risk":bt&&bt({row:r})==="po-row-risk"}]),onClick:O=>fa(r.id)},[s("div",qo,[s("div",Mo,[s("span",Bo,o(r.order_no||"—"),1)]),s("div",Ho,[l(d,{size:"small",effect:"plain",type:E(Ui)(r)},{default:n(()=>[p(o(E($i)(r)),1)]),_:2},1032,["type"]),s("span",Wo,"#"+o(r.id),1)])]),Nt(r.recipient_phone,r.prescription_phone)?(u(),_("div",Ko,[l(i,null,{default:n(()=>[l(E(Tr))]),_:1}),e[114]||(e[114]=s("span",null,"收货手机与处方手机不一致",-1))])):f("",!0),s("div",Go,[s("div",Jo,[e[115]||(e[115]=s("span",{class:"po-card__label"},"收货人",-1)),s("span",Qo,o(r.recipient_name||"—"),1)]),s("div",Yo,[e[116]||(e[116]=s("span",{class:"po-card__label"},"金额",-1)),s("span",Zo,"¥"+o(r.amount),1)])]),s("div",Xo,[s("div",eu,[e[117]||(e[117]=s("span",{class:"po-card__label"},"手机",-1)),s("span",{class:L(["po-card__value",Nt(r.recipient_phone,r.prescription_phone)?"text-red-600 font-semibold":""])},o(r.recipient_phone||"—"),3)]),s("div",tu,[e[118]||(e[118]=s("span",{class:"po-card__label"},"费用类别",-1)),s("span",au,o(xt(r.fee_type)),1)])]),s("div",su,[s("div",lu,[e[119]||(e[119]=s("span",{class:"po-card__label"},"处方ID",-1)),s("span",nu,o(r.prescription_id||"—"),1)]),s("div",ru,[e[120]||(e[120]=s("span",{class:"po-card__label"},"诊单ID",-1)),s("span",iu,o(r.diagnosis_id||"—"),1)])]),ja()&&r.internal_cost!=null&&r.internal_cost!==""?(u(),_("div",ou,[s("div",uu,[e[121]||(e[121]=s("span",{class:"po-card__label"},"内部成本",-1)),s("span",du,"¥"+o(r.internal_cost),1)]),s("div",pu,[e[122]||(e[122]=s("span",{class:"po-card__label"},"关联支付",-1)),s("span",cu,[Number(r.linked_pay_order_count)>0?(u(),_("span",_u,o(r.linked_pay_order_count)+" 笔",1)):(u(),_("span",mu,"—"))])])])):(u(),_("div",fu,[s("div",vu,[e[123]||(e[123]=s("span",{class:"po-card__label"},"关联支付",-1)),s("span",gu,[Number(r.linked_pay_order_count)>0?(u(),_("span",yu,o(r.linked_pay_order_count)+" 笔",1)):(u(),_("span",bu,"—"))])]),s("div",xu,[e[124]||(e[124]=s("span",{class:"po-card__label"},"创建时间",-1)),s("span",ku,o(Se(r.create_time)),1)])])),s("div",hu,[l(d,{type:Ha(r.prescription_audit_status),size:"small",class:L(Qt("rx",r))},{default:n(()=>[p(" 处方审: "+o(Ba(r.prescription_audit_status)),1)]),_:2},1032,["type","class"]),l(d,{type:Ha(r.payment_slip_audit_status),size:"small",class:L(Qt("pay",r))},{default:n(()=>[p(" 支付审: "+o(Ba(r.payment_slip_audit_status)),1)]),_:2},1032,["type","class"]),l(d,{type:Pl(r.fulfillment_status),size:"small",class:L(Qt("fulfillment",r))},{default:n(()=>[p(o(Yt(r.fulfillment_status)),1)]),_:2},1032,["type","class"])]),s("div",wu,[r.doctor_name?(u(),_("span",Vu,"医:"+o(r.doctor_name),1)):f("",!0),r.creator_name?(u(),_("span",Su,"建:"+o(r.creator_name),1)):f("",!0),ja()&&r.internal_cost!=null&&r.internal_cost!==""?f("",!0):(u(),_("span",Nu,o(Se(r.create_time)),1))]),s("div",{class:"po-card__actions",onClick:e[15]||(e[15]=Kt(()=>{},["stop"]))},[R((u(),y(V,{type:"primary",size:"small",onClick:O=>fa(r.id)},{default:n(()=>[p(o(el.value),1)]),_:1},8,["onClick"])),[[j,["tcm.prescriptionOrder/detail"]]]),Ja(r)?R((u(),y(V,{key:0,size:"small",onClick:O=>gn(r)},{default:n(()=>[...e[125]||(e[125]=[p("编辑",-1)])]),_:1},8,["onClick"])),[[j,["tcm.prescriptionOrder/edit"]]]):f("",!0),Dl(r)?R((u(),y(V,{key:1,type:"success",size:"small",onClick:O=>Nn(r)},{default:n(()=>[...e[126]||(e[126]=[p("改单号",-1)])]),_:1},8,["onClick"])),[[j,["tcm.prescriptionOrder/ddcode"]]]):f("",!0),Zt(r)?R((u(),y(V,{key:2,type:"primary",size:"small",onClick:O=>ka(r)},{default:n(()=>[...e[127]||(e[127]=[p("发货",-1)])]),_:1},8,["onClick"])),[[j,["tcm.prescriptionOrder/ship"]]]):f("",!0),Ul(r)?(u(),y(Es,{key:3,trigger:"click",onCommand:O=>$l(O,r)},{dropdown:n(()=>[l(Mt,null,{default:n(()=>[Xt(r)?(u(),y(he,{key:0,command:"addPayOrder"},{default:n(()=>[...e[129]||(e[129]=[p("补齐支付单",-1)])]),_:1})):f("",!0),ea(r)?(u(),y(he,{key:1,command:"complete"},{default:n(()=>[...e[130]||(e[130]=[p("完成订单",-1)])]),_:1})):f("",!0),ta(r)?(u(),y(he,{key:2,command:"refund"},{default:n(()=>[...e[131]||(e[131]=[s("span",{class:"text-red-500"},"退款",-1)])]),_:1})):f("",!0),Ya(r)?R((u(),y(he,{key:3,command:"uploadPharmacy"},{default:n(()=>[...e[132]||(e[132]=[p("上传药房",-1)])]),_:1})),[[j,["tcm.prescriptionOrder/uploadToPharmacy"]]]):f("",!0),Qa(r)?(u(),y(he,{key:4,command:"withdraw",divided:""},{default:n(()=>[...e[133]||(e[133]=[s("span",{class:"text-red-500"},"撤回订单",-1)])]),_:1})):f("",!0)]),_:2},1024)]),default:n(()=>[l(V,{size:"small"},{default:n(()=>[e[128]||(e[128]=p(" 更多",-1)),l(i,{class:"el-icon--right"},{default:n(()=>[l(E(js))]),_:1})]),_:1})]),_:2},1032,["onCommand"])):f("",!0)])],10,Io))),128))]),s("div",Cu,[l(Aa,{modelValue:E(te),"onUpdate:modelValue":e[16]||(e[16]=r=>Ea(te)?te.value=r:null),onChange:E(M)},null,8,["modelValue","onChange"])])]),_:1})),[[Pe,E(te).loading]]),l(Ta,{modelValue:Y.value,"onUpdate:modelValue":e[28]||(e[28]=r=>Y.value=r),class:"po-detail-drawer po-detail-drawer--h5",size:"100%",direction:"btt","destroy-on-close":"","close-on-click-modal":!1},{header:n(()=>{var r,O;return[s("div",Pu,[s("div",Au,[e[134]||(e[134]=s("span",{class:"po-detail-drawer-title shrink-0 text-gray-800 font-semibold text-lg"},"业务订单详情",-1)),(r=c.value)!=null&&r.order_no?(u(),y(d,{key:0,type:"primary",effect:"plain",round:"",class:"max-w-full !whitespace-normal break-all text-left leading-snug"},{default:n(()=>[p(o(c.value.order_no),1)]),_:1})):f("",!0),(O=c.value)!=null&&O.gancao_reciperl_order_no?(u(),y(d,{key:1,type:"success",effect:"plain",round:"",class:"max-w-full !whitespace-normal break-all text-left leading-snug"},{default:n(()=>[p("甘草 "+o(c.value.gancao_reciperl_order_no),1)]),_:1})):f("",!0)]),c.value?(u(),_("div",Ou,[l(mi,{order:c.value,onResolved:Pn},null,8,["order"]),Ol(c.value)?R((u(),y(V,{key:0,type:"warning",size:"small",plain:"",onClick:e[17]||(e[17]=C=>cs(c.value,"prescription"))},{default:n(()=>[...e[135]||(e[135]=[p(" 处方审核 ",-1)])]),_:1})),[[j,["tcm.prescriptionOrder/auditPrescription"]]]):f("",!0),Rl(c.value)?R((u(),y(V,{key:1,type:"info",size:"small",plain:"",onClick:e[18]||(e[18]=C=>Mn(c.value))},{default:n(()=>[...e[136]||(e[136]=[p(" 撤回处方审核 ",-1)])]),_:1})),[[j,["tcm.prescriptionOrder/auditPrescription"]]]):f("",!0),Tl(c.value)?R((u(),y(V,{key:2,type:"warning",size:"small",plain:"",onClick:e[19]||(e[19]=C=>cs(c.value,"payment"))},{default:n(()=>[...e[137]||(e[137]=[p(" 支付审核 ",-1)])]),_:1})),[[j,["tcm.prescriptionOrder/auditPayment"]]]):f("",!0),El(c.value)?R((u(),y(V,{key:3,type:"info",size:"small",plain:"",onClick:e[20]||(e[20]=C=>Bn(c.value))},{default:n(()=>[...e[138]||(e[138]=[p(" 撤回支付审核 ",-1)])]),_:1})),[[j,["tcm.prescriptionOrder/auditPayment"]]]):f("",!0),Zt(c.value)?R((u(),y(V,{key:4,type:"primary",size:"small",plain:"",onClick:e[21]||(e[21]=C=>ka(c.value))},{default:n(()=>[...e[139]||(e[139]=[p(" 确认发货 ",-1)])]),_:1})),[[j,["tcm.prescriptionOrder/ship"]]]):f("",!0),Xt(c.value)?R((u(),y(V,{key:5,type:"success",size:"small",plain:"",onClick:e[22]||(e[22]=C=>bs(c.value))},{default:n(()=>[...e[140]||(e[140]=[p(" 关联支付单 ",-1)])]),_:1})),[[j,["tcm.prescriptionOrder/addPayOrder"]]]):f("",!0),ea(c.value)?R((u(),y(V,{key:6,type:"primary",size:"small",plain:"",onClick:e[23]||(e[23]=C=>xs(c.value))},{default:n(()=>[...e[141]||(e[141]=[p(" 完成订单 ",-1)])]),_:1})),[[j,["tcm.prescriptionOrder/complete"]]]):f("",!0),ta(c.value)?R((u(),y(V,{key:7,type:"danger",size:"small",plain:"",onClick:e[24]||(e[24]=C=>ys(c.value))},{default:n(()=>[...e[142]||(e[142]=[p(" 退款 ",-1)])]),_:1})),[[j,["tcm.prescriptionOrder/refund"]]]):f("",!0)])):f("",!0)])]}),default:n(()=>[sa.value?(u(),y(it,{key:0,rows:12,animated:"",class:"px-6 py-4"})):c.value?(u(),_("div",Tu,[He.value?(u(),y(ee,{key:0,type:"error",closable:!1,"show-icon":"",class:"mb-4 !items-start",title:"业务订单收货手机与处方登记手机不一致"},{default:n(()=>[s("div",Ru,[s("div",null,[e[143]||(e[143]=p(" 处方手机: ",-1)),s("span",Eu,o(jl.value),1)]),s("div",null,[e[144]||(e[144]=p(" 订单收货手机: ",-1)),s("span",Du,o(Ll.value),1)]),e[145]||(e[145]=s("div",{class:"text-gray-600 mt-1"},"请核对是否代收货或录入错误,避免物流与回访联系错人。",-1))])]),_:1})):f("",!0),s("div",Uu,[l(qe,{class:"po-workflow-steps",direction:"vertical",active:ht.value,"finish-status":"success"},{default:n(()=>[l(ce,{title:"业务订单创建",description:Se(c.value.create_time)},null,8,["description"]),l(ce,{title:"处方单双审",status:wt.value},{description:n(()=>[wt.value==="error"?(u(),_("span",$u,"处方被驳回")):wt.value==="wait"?(u(),_("span",Fu,"等待审核")):wt.value==="success"?(u(),_("span",zu,"双审通过")):(u(),_("span",ju,"进行中"))]),_:1},8,["status"]),l(ce,{title:"支付单审核",status:Vt.value},{description:n(()=>[Vt.value==="error"?(u(),_("span",Lu,"支付审核驳回")):Vt.value==="wait"?(u(),_("span",Iu,"等待审核")):Vt.value==="success"?(u(),_("span",qu,"审核通过")):(u(),_("span",Mu,"进行中"))]),_:1},8,["status"]),l(ce,{title:"发货与履约",status:Te.value},{description:n(()=>{var r,O,C;return[Te.value==="process"&&Number((r=c.value)==null?void 0:r.fulfillment_status)===7?(u(),_("span",Bu,"进行中")):Te.value==="process"?(u(),_("span",Hu,"等待发货/补充单号")):Te.value==="wait"?(u(),_("span",Wu,"待转入履约")):Te.value==="success"?(u(),_("span",Ku,o(Yt((O=c.value)==null?void 0:O.fulfillment_status)),1)):Te.value==="error"?(u(),_("span",Gu,o(Yt((C=c.value)==null?void 0:C.fulfillment_status)),1)):f("",!0)]}),_:1},8,["status"]),l(ce,{title:"订单完成"})]),_:1},8,["active"])]),s("div",Ju,[l(a,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:n(()=>[s("div",Qu,[e[147]||(e[147]=s("div",{class:"stat-title text-gray-500 text-xs"},"总金额",-1)),aa(c.value)?R((u(),y(V,{key:0,type:"primary",size:"small",link:"",onClick:nn},{default:n(()=>[...e[146]||(e[146]=[p(" 修改 ",-1)])]),_:1})),[[j,["tcm.prescriptionOrder/updateAmount"]]]):f("",!0)]),s("div",Yu,"¥"+o(c.value.amount),1)]),_:1}),l(a,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:n(()=>[e[148]||(e[148]=s("div",{class:"stat-title text-gray-500 text-xs mb-1"},"已付总额",-1)),s("div",Zu,"¥"+o(c.value.linked_pay_paid_total||0),1)]),_:1}),l(a,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:n(()=>[e[149]||(e[149]=s("div",{class:"stat-title text-gray-500 text-xs mb-1"},"退款金额",-1)),s("div",{class:L(["stat-value font-bold text-xl",Number(c.value.refund_amount)>0?"text-rose-500":"text-gray-400"])}," ¥"+o(K(c.value.refund_amount||0)),3)]),_:1}),l(a,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:n(()=>[e[150]||(e[150]=s("div",{class:"stat-title text-gray-500 text-xs mb-1"},"需代收",-1)),s("div",{class:L(["stat-value font-bold text-xl",es.value>0?"text-amber-600":"text-gray-500"])}," ¥"+o(K(es.value)),3)]),_:1}),l(a,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:n(()=>[e[151]||(e[151]=s("div",{class:"stat-title text-gray-500 text-xs mb-1"},"已付笔数",-1)),s("div",Xu,o(la.value.length)+" 笔",1)]),_:1})]),s("div",ed,[l(a,{shadow:"never",class:"po-panel po-panel-rx border-gray-100 h-full relative overflow-hidden"},{header:n(()=>[s("div",sd,[s("div",ld,[e[154]||(e[154]=s("span",{class:"po-panel-rx-header__title font-medium text-[15px] leading-snug"},"处方详情",-1)),s("span",nd," ID: "+o(c.value.prescription_id||"—"),1)]),c.value.doctor_name?(u(),_("div",rd,[e[155]||(e[155]=p(" 开方人:",-1)),s("span",id,o(c.value.doctor_name),1)])):f("",!0),s("div",od,[c.value.prescription_id&&S.value&&!String(c.value.prescription_detail_error||"").trim()?R((u(),y(V,{key:0,type:"default",size:"small",link:"",onClick:an},{default:n(()=>[...e[156]||(e[156]=[p(" 改患者信息 ",-1)])]),_:1})),[[j,["tcm.prescriptionOrder/patchPrescriptionPatient"]]]):f("",!0),c.value.prescription_id&&Ve.value?(u(),y(V,{key:1,type:"primary",size:"small",link:"",onClick:e[25]||(e[25]=r=>Os(c.value))},{default:n(()=>[...e[157]||(e[157]=[p(" 详细 ",-1)])]),_:1})):f("",!0),c.value.id&&Ve.value?(u(),y(V,{key:2,type:"warning",size:"small",link:"",loading:ze.value,icon:E(Ra),onClick:Vn},{default:n(()=>[...e[158]||(e[158]=[p(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):f("",!0)])])]),default:n(()=>[c.value.prescription_audit_status===1?(u(),_("div",td,[...e[152]||(e[152]=[s("div",{class:"stamp-inner"},"审核通过",-1)])])):f("",!0),c.value.prescription_audit_status===2?(u(),_("div",ad,[...e[153]||(e[153]=[s("div",{class:"stamp-inner"},"已驳回",-1)])])):f("",!0),String(c.value.prescription_detail_error||"").trim()?(u(),y(ee,{key:2,title:c.value.prescription_detail_error,type:"warning",closable:!1,"show-icon":"",class:"mb-3"},null,8,["title"])):S.value?(u(),_(T,{key:3},[l(ot,{column:1,border:"",size:"small",class:"po-desc bg-white"},{default:n(()=>[l(N,{label:"处方编号",span:2},{default:n(()=>[p(o(S.value.sn||"—"),1)]),_:1}),l(N,{label:"患者"},{default:n(()=>[p(o(S.value.patient_name||"—"),1)]),_:1}),l(N,{label:"性别 / 年龄"},{default:n(()=>[p(o(S.value.gender_desc||"—")+" · "+o(S.value.age??"—")+"岁 ",1)]),_:1}),l(N,{label:"手机"},{default:n(()=>[s("span",{class:L(He.value?"rx-phone-mismatch text-red-600 font-bold":"")},o(S.value.phone||"—"),3),He.value?(u(),y(d,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:n(()=>[...e[159]||(e[159]=[p(" 与订单手机不一致 ",-1)])]),_:1})):f("",!0)]),_:1}),l(N,{label:"处方日期"},{default:n(()=>[p(o(S.value.prescription_date||"—"),1)]),_:1}),l(N,{label:"医师"},{default:n(()=>[p(o(S.value.doctor_name||"—"),1)]),_:1}),l(N,{label:"类型"},{default:n(()=>[p(o(S.value.prescription_type||"—"),1)]),_:1}),l(N,{label:"临床诊断",span:2},{default:n(()=>[p(o(S.value.clinical_diagnosis||"—"),1)]),_:1}),Ve.value?(u(),y(N,{key:0,label:"剂数 / 用法",span:2},{default:n(()=>[p(o(c.value.dose_count??S.value.dose_count??"—")+" "+o(c.value.dose_unit||"剂")+" · "+o(S.value.usage_instruction||S.value.usage_method||"—"),1)]),_:1})):f("",!0),l(N,{label:"处方金额"},{default:n(()=>[s("span",ud,"¥"+o(S.value.amount??"—"),1)]),_:1}),l(N,{label:"消费者审核"},{default:n(()=>[l(d,{type:Bl(S.value.audit_status),size:"small"},{default:n(()=>[p(o(Ml(S.value.audit_status)),1)]),_:1},8,["type"])]),_:1}),l(N,{label:"用量"},{default:n(()=>[s("div",dd,[s("div",null,[Ne.value?(u(),_("span",pd,"主方:")):f("",!0),S.value.dosage_amount?(u(),_(T,{key:1},[p(o(S.value.dosage_amount)+o(S.value.dosage_unit||"g")+" ",1),S.value.prescription_type==="浓缩水丸"?(u(),_(T,{key:0},[p(" · "+o(Number(S.value.dosage_bag_count)>0?Number(S.value.dosage_bag_count):1)+"袋 ",1)],64)):f("",!0),S.value.prescription_type==="饮片"&&S.value.need_decoction!==null?(u(),_("span",cd," ("+o(S.value.need_decoction?"代煎":"不代煎")+") ",1)):f("",!0)],64)):(u(),_(T,{key:2},[p("—")],64))]),Ne.value&&X.value?(u(),_("div",_d,[e[160]||(e[160]=s("span",{class:"text-gray-500 mr-1"},"辅方:",-1)),X.value.dosage_amount!=null&&X.value.dosage_amount!==0?(u(),_(T,{key:0},[p(o(X.value.dosage_amount)+o(S.value.dosage_unit||"g")+" ",1),S.value.prescription_type==="浓缩水丸"?(u(),_(T,{key:0},[p(" · "+o(Number(X.value.dosage_bag_count)>0?Number(X.value.dosage_bag_count):1)+"袋 ",1)],64)):f("",!0),S.value.prescription_type==="饮片"?(u(),_("span",md," ("+o(X.value.need_decoction?"代煎":"不代煎")+") ",1)):f("",!0)],64)):(u(),_(T,{key:1},[p("—")],64))])):f("",!0)])]),_:1}),l(N,null,{label:n(()=>[s("div",fd,[e[162]||(e[162]=s("span",null,"服用方式",-1)),c.value.prescription_id&&S.value&&!String(c.value.prescription_detail_error||"").trim()?R((u(),y(V,{key:0,type:"primary",size:"small",link:"",onClick:Xl},{default:n(()=>[...e[161]||(e[161]=[p(" 修改 ",-1)])]),_:1})),[[j,["tcm.prescriptionOrder/patchPrescriptionUsage"]]]):f("",!0)])]),default:n(()=>[s("div",vd,[Ne.value?(u(),_(T,{key:0},[s("div",null,[e[163]||(e[163]=s("span",{class:"text-gray-500 mr-1"},"主方:",-1)),p(" 每天 "+o(S.value.times_per_day?S.value.times_per_day+" 次":"— 次")+" · 处方开立 "+o(S.value.usage_days!=null&&S.value.usage_days!==""?S.value.usage_days+" 天":"— 天"),1)]),X.value?(u(),_("div",gd,[e[164]||(e[164]=s("span",{class:"text-gray-500 mr-1"},"辅方:",-1)),p(" 每天 "+o(X.value.times_per_day?X.value.times_per_day+" 次":"— 次")+" · 处方开立 "+o(X.value.usage_days!=null&&Number(X.value.usage_days)>0?X.value.usage_days+" 天":"— 天"),1)])):f("",!0)],64)):(u(),_(T,{key:1},[s("div",null,[e[165]||(e[165]=s("span",{class:"text-gray-500"},"每天次数:",-1)),p(" "+o(S.value.times_per_day?S.value.times_per_day+" 次":"—"),1)]),s("div",null,[e[166]||(e[166]=s("span",{class:"text-gray-500"},"处方开立:",-1)),p(" "+o(S.value.usage_days!=null&&S.value.usage_days!==""?S.value.usage_days+" 天":"—"),1)])],64)),s("div",null,[e[167]||(e[167]=s("span",{class:"text-gray-500"},"订单设置:",-1)),p(" "+o(c.value.medication_days!=null&&String(c.value.medication_days).trim()!==""?c.value.medication_days+" 天":"—"),1)])])]),_:1}),as.value?(u(),y(N,{key:1,label:"忌口",span:2},{default:n(()=>[p(o(as.value),1)]),_:1})):f("",!0),l(N,{label:"状态",span:2},{default:n(()=>[l(d,{type:Number(S.value.void_status)===1?"danger":"success",size:"small"},{default:n(()=>[p(o(Number(S.value.void_status)===1?"已作废":"正常"),1)]),_:1},8,["type"])]),_:1})]),_:1}),Il.value?(u(),_("div",yd,[e[168]||(e[168]=s("div",{class:"text-xs font-medium text-gray-500 mb-2 px-1"},"药材明细",-1)),ls.value.length?(u(),y(Bt,{key:0,data:ls.value,size:"small",border:"",stripe:"","max-height":"260"},{default:n(()=>[l(U,{type:"index",label:"#",width:"48",align:"center"}),l(U,{prop:"name",label:"药名","min-width":"120","show-overflow-tooltip":""}),l(U,{prop:"dosage",label:"用量(g)",width:"96",align:"right"})]),_:1},8,["data"])):(u(),y(ye,{key:1,description:"无处方药材明细","image-size":64}))])):f("",!0)],64)):(u(),y(ye,{key:4,description:"无处方数据","image-size":72}))]),_:1}),s("div",bd,[l(a,{shadow:"never",class:"po-panel border-gray-100"},{header:n(()=>[...e[169]||(e[169]=[s("div",{class:"flex items-center justify-between"},[s("span",{class:"font-medium text-[15px]"},"未关联的收款记录"),s("span",{class:"text-xs text-gray-400"},"本诊单下未被占用的支付单")],-1)])]),default:n(()=>[Re.value.length?(u(),y(Bt,{key:0,data:Re.value,size:"small",border:"",stripe:"",class:"po-pay-table","max-height":"280"},{default:n(()=>[l(U,{prop:"id",label:"ID",width:"70"}),l(U,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),l(U,{label:"类型",width:"90"},{default:n(({row:r})=>[p(o(r.order_type_desc||xt(r.order_type)),1)]),_:1}),l(U,{label:"金额",width:"86",align:"right"},{default:n(({row:r})=>[s("span",xd,"¥"+o(r.amount),1)]),_:1}),l(U,{label:"状态",width:"100",align:"center"},{default:n(({row:r})=>[l(d,{type:rs(r.status),size:"small"},{default:n(()=>[p(o(r.status_desc||Za(r.status)),1)]),_:2},1032,["type"]),r.is_exempt===1?(u(),y(d,{key:0,type:"warning",size:"small",class:"ml-1"},{default:n(()=>[...e[170]||(e[170]=[p("豁免",-1)])]),_:1})):f("",!0)]),_:1}),l(U,{label:"方式","min-width":"120","show-overflow-tooltip":""},{default:n(({row:r})=>[p(o($e(r)),1)]),_:1}),l(U,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),l(U,{label:"创建时间","min-width":"136"},{default:n(({row:r})=>[p(o(is(r.create_time)),1)]),_:1})]),_:1},8,["data"])):(u(),y(ye,{key:1,description:"无未关联的收款单","image-size":60}))]),_:1}),l(a,{shadow:"never",class:"po-panel po-panel-pay border-gray-100 relative overflow-hidden"},{header:n(()=>[s("div",wd,[s("div",Vd,[e[174]||(e[174]=s("span",{class:"font-medium text-[15px]"},"关联收款记录",-1)),c.value.creator_name?(u(),_("span",Sd,[e[173]||(e[173]=p(" 创建人:",-1)),s("span",Nd,o(c.value.creator_name),1)])):f("",!0)])])]),default:n(()=>[c.value.payment_slip_audit_status===1?(u(),_("div",kd,[...e[171]||(e[171]=[s("div",{class:"stamp-inner"},"审核通过",-1)])])):f("",!0),c.value.payment_slip_audit_status===2?(u(),_("div",hd,[...e[172]||(e[172]=[s("div",{class:"stamp-inner"},"已驳回",-1)])])):f("",!0),la.value.length?(u(),y(Bt,{key:2,data:la.value,size:"small",border:"",stripe:"",class:"po-pay-table","max-height":"280"},{default:n(()=>[l(U,{prop:"id",label:"ID",width:"70"}),l(U,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),l(U,{label:"类型",width:"90"},{default:n(({row:r})=>[p(o(r.order_type_desc||xt(r.order_type)),1)]),_:1}),l(U,{label:"金额",width:"86",align:"right"},{default:n(({row:r})=>[s("span",Cd,"¥"+o(r.amount),1)]),_:1}),l(U,{label:"状态",width:"100",align:"center"},{default:n(({row:r})=>[l(d,{type:rs(r.status),size:"small"},{default:n(()=>[p(o(r.status_desc||Za(r.status)),1)]),_:2},1032,["type"]),r.is_exempt===1?(u(),y(d,{key:0,type:"warning",size:"small",class:"ml-1"},{default:n(()=>[...e[175]||(e[175]=[p("豁免",-1)])]),_:1})):f("",!0)]),_:1}),l(U,{label:"方式","min-width":"120","show-overflow-tooltip":""},{default:n(({row:r})=>[p(o($e(r)),1)]),_:1}),l(U,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),l(U,{label:"创建时间","min-width":"136"},{default:n(({row:r})=>[p(o(is(r.create_time)),1)]),_:1})]),_:1},8,["data"])):(u(),y(ye,{key:3,description:"未关联收款单","image-size":60}))]),_:1})])]),l(a,{shadow:"never",class:"po-panel po-panel-biz border-gray-100 mb-4"},{header:n(()=>[...e[176]||(e[176]=[s("span",{class:"font-medium text-[15px]"},"履约与收货信息",-1)])]),default:n(()=>[l(ot,{column:1,border:"",size:"small",class:"po-desc"},{default:n(()=>[l(N,{label:"诊单ID"},{default:n(()=>[s("div",Pd,[s("div",Ad,[e[177]||(e[177]=s("span",{class:"text-[11px] font-semibold uppercase tracking-[0.06em] text-slate-500"},"关联诊单",-1)),s("span",Od,o(c.value.diagnosis_id||"—"),1),e[178]||(e[178]=s("span",{class:"text-[12px] leading-snug text-slate-500"},"病历与体征以诊单为准,可全屏查看",-1))]),Number(c.value.diagnosis_id)>0?(u(),y(V,{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(Mr),"aria-label":"打开关联诊单详情(患者与病历)",onClick:Ks},{default:n(()=>[...e[179]||(e[179]=[p(" 查看诊单详情 ",-1)])]),_:1},8,["icon"])):f("",!0)])]),_:1}),l(N,{label:"创建时间"},{default:n(()=>[p(o(Se(c.value.create_time)),1)]),_:1}),l(N,{label:"收货人"},{default:n(()=>[p(o(c.value.recipient_name),1)]),_:1}),l(N,{label:"挂号关联",span:3},{default:n(()=>[Z.value?(u(),_(T,{key:0},[s("div",Td,[s("span",null,[e[180]||(e[180]=p("预约 ",-1)),s("span",Rd,"#"+o(Z.value.id),1)]),s("span",Ed,"时间:"+o(Z.value.appointment_date)+" "+o(Z.value.period)+" "+o(Z.value.appointment_time),1),l(d,{size:"small",type:"info"},{default:n(()=>[p(o(Z.value.appointment_type_desc),1)]),_:1}),l(d,{size:"small"},{default:n(()=>[p(o(Z.value.status_desc),1)]),_:1}),Z.value.doctor_name?(u(),_("span",Dd,"接诊:"+o(Z.value.doctor_name),1)):f("",!0),Z.value.channel_source?(u(),_("span",Ud,"渠道:"+o(Z.value.channel_source),1)):f("",!0),ss.value?(u(),y(d,{key:2,size:"small",effect:"plain"},{default:n(()=>[p(o(ss.value),1)]),_:1})):f("",!0)]),String(Z.value.remark||"").trim()?(u(),_("p",$d," 备注:"+o(Z.value.remark),1)):f("",!0)],64)):(u(),_("span",Fd,"暂无挂号预约记录(未绑定或诊单下无预约)"))]),_:1}),l(N,{label:"收货手机"},{default:n(()=>[s("span",{class:L(He.value?"text-red-600 font-bold font-mono":"font-mono")},o(c.value.recipient_phone||"—"),3),He.value?(u(),y(d,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:n(()=>[...e[181]||(e[181]=[p(" 与处方手机不一致 ",-1)])]),_:1})):f("",!0)]),_:1}),l(N,{label:"收货地址",span:2},{default:n(()=>[p(o(ql.value),1)]),_:1}),l(N,{label:"复诊"},{default:n(()=>[p(o(c.value.is_follow_up?"是":"否"),1)]),_:1}),l(N,{label:"用药疗程"},{default:n(()=>[p(o(c.value.medication_days?c.value.medication_days+" 天":"—"),1)]),_:1}),l(N,{label:"上次医护"},{default:n(()=>[p(o(c.value.prev_staff||"—"),1)]),_:1}),l(N,{label:"服务渠道"},{default:n(()=>[p(o(c.value.service_channel||"—"),1)]),_:1}),l(N,{label:"服务套餐"},{default:n(()=>[p(o(Fl.value),1)]),_:1}),l(N,{label:"费用类别"},{default:n(()=>[p(o(xt(c.value.fee_type)),1)]),_:1}),c.value.internal_cost!=null&&c.value.internal_cost!==""?(u(),y(N,{key:0,label:"内部成本"},{default:n(()=>[p(" ¥"+o(c.value.internal_cost),1)]),_:1})):f("",!0),l(N,{label:"快递单号",span:c.value.internal_cost!=null&&c.value.internal_cost!==""?1:2},{default:n(()=>[p(o(c.value.tracking_number||"—"),1)]),_:1},8,["span"]),l(N,{label:"快递公司"},{default:n(()=>[p(o(Ql(c.value.express_company)),1)]),_:1}),R((u(),y(N,{label:"备注",span:3},{default:n(()=>[p(o(c.value.remark_extra||"—"),1)]),_:1})),[[j,["tcm.prescriptionOrder/editRemarkExtra"]]]),l(N,{label:"医助备注",span:3},{default:n(()=>[p(o(c.value.remark_assistant||"—"),1)]),_:1}),l(N,{label:"处方审核意见",span:3},{default:n(()=>[s("span",zd,o(c.value.prescription_audit_remark||"—"),1)]),_:1}),l(N,{label:"支付审核意见",span:3},{default:n(()=>[s("span",jd,o(c.value.payment_slip_audit_remark||"—"),1)]),_:1})]),_:1})]),_:1}),String(c.value.tracking_number||"").trim()?(u(),y(a,{key:1,shadow:"never",class:"po-panel po-panel-logistics border-gray-100"},{header:n(()=>[...e[182]||(e[182]=[s("span",{class:"font-medium text-[15px]"},"物流轨迹",-1)])]),default:n(()=>{var r,O,C,I,ut,dt;return[e[188]||(e[188]=s("p",{class:"po-logistics-tip text-gray-400 text-xs mb-3 font-normal"}," 优先读库,无记录时走快递100。顺丰会校验单号+电话(快递100要求完整手机号更易通过);默认预填订单收货手机,若仍提示验证码错误请改成与顺丰面单一致的号码。 ",-1)),s("div",Ld,[l(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:pt(ua,["enter"])},null,8,["modelValue"]),l($,{modelValue:We.value,"onUpdate:modelValue":e[27]||(e[27]=be=>We.value=be),placeholder:"承运商",class:"po-logistics-toolbar__carrier"},{default:n(()=>[l(x,{label:"自动识别",value:"auto"}),l(x,{label:"顺丰速运",value:"sf"}),l(x,{label:"京东快递",value:"jd"}),l(x,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),R((u(),y(V,{type:"primary",plain:"",size:"default",loading:Ct.value,class:"po-logistics-toolbar__btn",onClick:ua},{icon:n(()=>[l(i,null,{default:n(()=>[l(E(Br))]),_:1})]),default:n(()=>[e[183]||(e[183]=p(" 刷新轨迹 ",-1))]),_:1},8,["loading"])),[[j,["tcm.prescriptionOrder/logisticsTrace"]]]),s("div",Id,[l(Oa,{href:oa.value.sf,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:n(()=>[...e[184]||(e[184]=[p("顺丰官网",-1)])]),_:1},8,["href"]),l(Oa,{href:oa.value.jd,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:n(()=>[...e[185]||(e[185]=[p("京东物流",-1)])]),_:1},8,["href"]),l(Oa,{href:oa.value.jt,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:n(()=>[...e[186]||(e[186]=[p("极兔",-1)])]),_:1},8,["href"])])]),String(((r=G.value)==null?void 0:r.hint)||"").trim()?(u(),y(ee,{key:0,title:String(((O=G.value)==null?void 0:O.hint)||""),type:"info",closable:!1,class:"mb-4","show-icon":""},null,8,["title"])):f("",!0),Ct.value&&!G.value?(u(),_("div",qd,[l(i,{class:"is-loading mr-1"},{default:n(()=>[l(E(Wr))]),_:1}),e[187]||(e[187]=p("正在加载物流轨迹... ",-1))])):G.value?(u(),_("div",Md,[(C=G.value)!=null&&C.state_text?(u(),_("div",Bd,[s("span",Hd,"状态:"+o(G.value.state_text),1),(I=G.value)!=null&&I.carrier_label?(u(),y(d,{key:0,size:"small",type:"info"},{default:n(()=>[p(o(G.value.carrier_label),1)]),_:1})):f("",!0),(ut=G.value)!=null&&ut.source?(u(),_("span",Wd," ["+o(G.value.source==="database"?"数据库缓存":"API拉取")+"] ",1)):f("",!0),(dt=G.value)!=null&&dt.last_query_time?(u(),_("span",Kd," 更新时间:"+o(G.value.last_query_time),1)):f("",!0)])):f("",!0),os.value.length?(u(),y(Us,{key:1,class:"mt-2 pl-2"},{default:n(()=>[(u(!0),_(T,null,W(os.value,(be,Ae)=>(u(),y(Ds,{key:Ae,type:Ae===0?"primary":"info",hollow:Ae!==0,timestamp:be.time,placement:"top"},{default:n(()=>[s("span",{class:L(Ae===0?"text-gray-800 font-medium":"text-gray-500")},o(be.context),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(u(),y(ye,{key:2,description:"暂无轨迹节点记录","image-size":64}))])):f("",!0)]}),_:1})):f("",!0),R((u(),y(a,{shadow:"never",class:"po-panel border-gray-100 mt-4"},{header:n(()=>[...e[189]||(e[189]=[s("span",{class:"font-medium text-[15px]"},"操作日志",-1)])]),default:n(()=>[Ee.value.length?(u(),y(Us,{key:0,class:"mt-2 pl-2"},{default:n(()=>[(u(!0),_(T,null,W(Ee.value,(r,O)=>(u(),y(Ds,{key:r.id,type:O===0?"primary":"info",hollow:O!==0,timestamp:Se(r.create_time),placement:"top"},{default:n(()=>[s("div",Gd,[s("span",Jd,o(r.admin_name),1),l(d,{size:"small",type:"info"},{default:n(()=>[p(o(Jl(r.action)),1)]),_:2},1024)]),s("span",{class:L(O===0?"text-gray-800 font-medium":"text-gray-500")},o(r.summary),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(u(),y(ye,{key:1,description:"暂无操作日志","image-size":64}))]),_:1})),[[j,["tcm.prescriptionOrder/logs"]]])])):f("",!0)]),_:1},8,["modelValue"]),l(me,{modelValue:Ge.value,"onUpdate:modelValue":e[31]||(e[31]=r=>Ge.value=r),title:"修改订单金额",width:"92%","destroy-on-close":"","close-on-click-modal":!1,onClosed:ln},{footer:n(()=>[l(V,{onClick:e[30]||(e[30]=r=>Ge.value=!1)},{default:n(()=>[...e[191]||(e[191]=[p("取消",-1)])]),_:1}),l(V,{type:"primary",loading:ia.value,onClick:us},{default:n(()=>[...e[192]||(e[192]=[p(" 确认修改 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(F,{ref_key:"updateAmountFormRef",ref:Pt,model:ve,rules:Kl,"label-width":"84px",onSubmit:Kt(us,["prevent"])},{default:n(()=>[l(v,{label:"当前金额"},{default:n(()=>{var r;return[s("div",Qd,"¥"+o(K((r=c.value)==null?void 0:r.amount)),1)]}),_:1}),l(v,{label:"新金额",prop:"amount"},{default:n(()=>[l(ne,{modelValue:ve.amount,"onUpdate:modelValue":e[29]||(e[29]=r=>ve.amount=r),min:0,step:.01,precision:2,"controls-position":"right",class:"w-full",placeholder:"请输入新金额"},null,8,["modelValue"])]),_:1}),e[190]||(e[190]=s("div",{class:"text-xs text-gray-400 pl-[84px] -mt-1 leading-relaxed"}," 已完成或已取消订单不可修改。提交成功后会刷新详情与操作日志。 ",-1))]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(me,{modelValue:Ce.value,"onUpdate:modelValue":e[52]||(e[52]=r=>Ce.value=r),title:"编辑业务订单",width:"96%",top:"2vh","close-on-click-modal":!1,"destroy-on-close":"",class:"create-order-dialog create-order-dialog--h5",onClosed:mn},{footer:n(()=>[s("div",Op,[s("div",Tp,[s("span",Rp,"第 "+o(q.value+1)+" / 3 步",1),q.value===2&&B.value>0?(u(),_("span",Ep," 订单金额与关联支付单合计须 ≥ ¥"+o(K(B.value)),1)):f("",!0)]),s("div",Dp,[l(V,{size:"large",onClick:e[51]||(e[51]=r=>Ce.value=!1)},{default:n(()=>[...e[205]||(e[205]=[p("取消",-1)])]),_:1}),q.value>0?(u(),y(V,{key:0,size:"large",onClick:fn},{default:n(()=>[...e[206]||(e[206]=[p("上一步",-1)])]),_:1})):f("",!0),q.value<2?(u(),y(V,{key:1,type:"primary",size:"large",onClick:vn},{default:n(()=>[...e[207]||(e[207]=[p(" 下一步 ",-1)])]),_:1})):f("",!0),q.value===2?(u(),y(V,{key:2,type:"primary",size:"large",loading:ga.value,onClick:yn},{default:n(()=>[...e[208]||(e[208]=[p(" 确认保存 ",-1)])]),_:1},8,["loading"])):f("",!0)])])]),default:n(()=>[R((u(),_("div",Yd,[ue.value?(u(),_("div",Zd,[s("div",Xd,[e[193]||(e[193]=s("span",{class:"create-order-rx-card__badge"},"关联处方",-1)),s("div",ep,[s("span",tp,"#"+o(ue.value.id),1),ue.value.sn?(u(),_("span",ap,o(ue.value.sn),1)):f("",!0),s("span",sp,o(ue.value.patient_name||"—"),1)])]),l($s,{content:ds.value,placement:"bottom","show-after":300},{default:n(()=>[s("div",lp,o(ds.value),1)]),_:1},8,["content"])])):f("",!0),l(qe,{active:q.value,"finish-status":"success","align-center":"",class:"create-order-steps"},{default:n(()=>[l(ce,{title:"患者与收货",description:"诊单与物流地址"}),l(ce,{title:"服务与支付单",description:"套餐与关联收款"}),l(ce,{title:"金额与确认",description:"费用与备注"})]),_:1},8,["active"]),s("p",np,o(on.value),1),l(F,{ref_key:"editFormRef",ref:Ue,model:m,rules:_n.value,"label-width":"108px",class:"create-order-form"},{default:n(()=>[R(s("div",rp,[l(Ht,{gutter:20},{default:n(()=>[l(H,{span:12},{default:n(()=>[l(v,{label:"收货人",prop:"recipient_name"},{default:n(()=>[l(g,{modelValue:m.recipient_name,"onUpdate:modelValue":e[32]||(e[32]=r=>m.recipient_name=r),maxlength:"50",placeholder:"姓名"},null,8,["modelValue"])]),_:1})]),_:1}),l(H,{span:12},{default:n(()=>[l(v,{label:"收货手机",prop:"recipient_phone"},{default:n(()=>[l(g,{modelValue:m.recipient_phone,"onUpdate:modelValue":e[33]||(e[33]=r=>m.recipient_phone=r),maxlength:"20",placeholder:"物流联系"},null,8,["modelValue"])]),_:1})]),_:1}),l(H,{span:24},{default:n(()=>[l(v,{label:"省市区",prop:"region"},{default:n(()=>[l(ur,{modelValue:m.region,"onUpdate:modelValue":e[34]||(e[34]=r=>m.region=r),options:mt.value,props:{emitPath:!0},placeholder:"省 / 市 / 区",clearable:"",filterable:"",class:"w-full"},null,8,["modelValue","options"])]),_:1})]),_:1}),l(H,{span:24},{default:n(()=>[l(v,{label:"详细地址",prop:"shipping_address"},{default:n(()=>[l(g,{modelValue:m.shipping_address,"onUpdate:modelValue":e[35]||(e[35]=r=>m.shipping_address=r),type:"textarea",rows:3,placeholder:"街道、小区、门牌号等详细地址",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[Wt,q.value===0]]),R(s("div",ip,[Ve.value?(u(),y(Ht,{key:0,gutter:20,class:"mb-1"},{default:n(()=>[l(H,{span:24},{default:n(()=>[s("div",op,[e[196]||(e[196]=s("span",{class:"text-sm font-medium text-gray-700 mr-1"},"处方",-1)),m.prescription_id?(u(),y(V,{key:0,type:"primary",size:"small",link:"",onClick:nr},{default:n(()=>[...e[194]||(e[194]=[p(" 详细 ",-1)])]),_:1})):f("",!0),m.id?(u(),y(V,{key:1,type:"warning",size:"small",link:"",loading:ze.value,icon:E(Ra),onClick:wn},{default:n(()=>[...e[195]||(e[195]=[p(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):f("",!0),s("span",up,"ID: "+o(m.prescription_id||"—"),1)]),s("div",dp,[ps.value.length?(u(),_("div",pp,[e[197]||(e[197]=s("div",{class:"text-gray-500"},"创建人所属部门",-1)),(u(!0),_(T,null,W(ps.value,(r,O)=>(u(),_("div",{key:O,class:"pl-0 min-w-0"},[r.length?(u(),y(pr,{key:0,class:"po-diagnosis-creator-dept-breadcrumb text-[13px] leading-relaxed",separator:"/"},{default:n(()=>[(u(!0),_(T,null,W(r,(C,I)=>(u(),y(dr,{key:I},{default:n(()=>[s("span",cp,o(C),1)]),_:2},1024))),128))]),_:2},1024)):f("",!0)]))),128))])):(u(),_("div",_p,"创建人所属部门:—"))])]),_:1}),l(H,{xs:24,sm:8},{default:n(()=>[l(v,{label:"复诊"},{default:n(()=>[l(cr,{modelValue:m.is_follow_up,"onUpdate:modelValue":e[36]||(e[36]=r=>m.is_follow_up=r),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1}),l(H,{xs:24,sm:8},{default:n(()=>[l(v,{label:"服用天数",class:"create-order-form-item--inline-num"},{default:n(()=>[s("div",mp,[l(ne,{modelValue:m.medication_days,"onUpdate:modelValue":e[37]||(e[37]=r=>m.medication_days=r),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[198]||(e[198]=s("span",{class:"create-order-unit-suffix"},"天",-1))])]),_:1})]),_:1}),l(H,{xs:24,sm:8},{default:n(()=>[l(v,{label:"上次医生"},{default:n(()=>[l(g,{modelValue:m.prev_staff,"onUpdate:modelValue":e[38]||(e[38]=r=>m.prev_staff=r),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),l(H,{span:12},{default:n(()=>[l(v,{label:ns.value,prop:"dose_count"},{default:n(()=>[l(ne,{modelValue:m.dose_count,"onUpdate:modelValue":e[39]||(e[39]=r=>m.dose_count=r),min:1,placeholder:ns.value,class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1}),l(H,{span:12},{default:n(()=>[l(v,{label:"剂量单位",prop:"dose_unit"},{default:n(()=>[l($,{modelValue:m.dose_unit,"onUpdate:modelValue":e[40]||(e[40]=r=>m.dose_unit=r),placeholder:"请选择",class:"w-full"},{default:n(()=>[l(x,{label:"剂",value:"剂"}),l(x,{label:"丸",value:"丸"}),l(x,{label:"袋",value:"袋"}),l(x,{label:"盒",value:"盒"}),l(x,{label:"瓶",value:"瓶"}),l(x,{label:"膏",value:"膏"}),l(x,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})):f("",!0),l(Ht,{gutter:20},{default:n(()=>[l(H,{span:12},{default:n(()=>[l(v,{label:"服务渠道"},{default:n(()=>[l(g,{modelValue:m.service_channel,"onUpdate:modelValue":e[41]||(e[41]=r=>m.service_channel=r),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),l(H,{span:12},{default:n(()=>[l(v,{label:"服务套餐"},{default:n(()=>[l($,{modelValue:m.service_package,"onUpdate:modelValue":e[42]||(e[42]=r=>m.service_package=r),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"请选择服务套餐",clearable:"",class:"w-full"},{default:n(()=>[(u(!0),_(T,null,W(dn.value,r=>(u(),y(x,{key:r.value,label:r.name,value:r.value,disabled:r.status===0},null,8,["label","value","disabled"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(H,{span:24},{default:n(()=>[l(v,{label:"物流设置"},{default:n(()=>[s("div",fp,[l($,{modelValue:m.express_company,"onUpdate:modelValue":e[43]||(e[43]=r=>m.express_company=r),placeholder:"承运商",class:"w-[140px] shrink-0"},{default:n(()=>[l(x,{label:"自动识别",value:"auto"}),l(x,{label:"顺丰速运",value:"sf"}),l(x,{label:"京东快递",value:"jd"}),l(x,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),l(g,{modelValue:m.tracking_number,"onUpdate:modelValue":e[44]||(e[44]=r=>m.tracking_number=r),maxlength:"80",placeholder:"快递单号",class:"flex-1 min-w-0"},null,8,["modelValue"])])]),_:1})]),_:1}),l(H,{span:24},{default:n(()=>[l(v,{label:"关联支付单",prop:"pay_order_ids",required:B.value>0},{default:n(()=>[l($,{modelValue:m.pay_order_ids,"onUpdate:modelValue":e[45]||(e[45]=r=>m.pay_order_ids=r),class:"w-full",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:B.value>0?"请至少选择一笔本诊单支付单(已开启门槛)":"多选本诊单支付单(可选)",loading:ya.value},{default:n(()=>[(u(!0),_(T,null,W(Ye.value,r=>(u(),y(x,{key:r.id,label:`${r.order_no} · ¥${r.amount} · ${At(r.order_type)} · ${$e(r)}`,value:r.id,class:"!h-auto py-1.5"},{default:n(()=>[s("div",vp,[s("div",gp,[s("span",yp,o(r.order_no),1),s("span",bp,"¥"+o(r.amount),1)]),s("div",xp,[s("span",kp,[p(o(At(r.order_type))+" · "+o($e(r)),1),r.remark?(u(),_(T,{key:0},[p(" · "+o(r.remark),1)],64)):f("",!0)]),s("span",hp,o(String(r.create_time||"").substring(0,16)),1)])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","loading"]),s("div",wp,[B.value>0?(u(),_(T,{key:0},[s("span",Vp,"当前已开启关联支付门槛(¥"+o(K(B.value))+"),须至少选择一笔支付单。",1),e[199]||(e[199]=s("span",{class:"mx-1"},null,-1))],64)):f("",!0),e[201]||(e[201]=p(" 主管/本诊单医助可见全部支付单;否则仅本人收款单。已被占用的支付单不列出。 ",-1)),l($s,{content:"主管或本诊单医助可见该诊单全部支付单(待支付/已支付),否则仅本人创建的收款单。已被其他有效业务订单占用的支付单不会出现在此列表。",placement:"top"},{default:n(()=>[...e[200]||(e[200]=[s("span",{class:"text-primary cursor-help ml-0.5"},"详情",-1)])]),_:1})])]),_:1},8,["required"])]),_:1})]),_:1})],512),[[Wt,q.value===1]]),R(s("div",Sp,[s("div",{class:L(["create-order-deposit-bar",ba.value>=B.value?"is-ok":"is-warn"])},[s("div",Np,[e[202]||(e[202]=s("span",{class:"create-order-deposit-bar__label"},"定金门槛",-1)),s("strong",null,"¥"+o(K(B.value)),1),s("span",Cp,o(B.value>0?"须 ≥ 此值":"未设置"),1)]),e[204]||(e[204]=s("div",{class:"create-order-deposit-bar__sep"},null,-1)),s("div",Pp,[e[203]||(e[203]=s("span",{class:"create-order-deposit-bar__label"},"已选收款",-1)),s("strong",null,"¥"+o(K(ba.value)),1),s("span",Ap,o(ba.value>=B.value?"已达标":"未达标"),1)])],2),l(Ht,{gutter:20,class:"create-order-step-panel__row-after-bar"},{default:n(()=>[l(H,{span:12},{default:n(()=>[l(v,{label:"费用类别",prop:"fee_type"},{default:n(()=>[l($,{modelValue:m.fee_type,"onUpdate:modelValue":e[46]||(e[46]=r=>m.fee_type=r),placeholder:"请选择",class:"w-full"},{default:n(()=>[l(x,{label:"挂号费",value:1}),l(x,{label:"问诊费",value:2}),l(x,{label:"药品费用",value:3}),l(x,{label:"首付费用",value:4}),l(x,{label:"尾款费用",value:5}),l(x,{label:"其他费用",value:6}),l(x,{label:"全部费用",value:7}),l(x,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(H,{span:12},{default:n(()=>[l(v,{label:"总金额",prop:"amount"},{default:n(()=>[l(ne,{modelValue:m.amount,"onUpdate:modelValue":e[47]||(e[47]=r=>m.amount=r),min:pn.value,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"元"},null,8,["modelValue","min"])]),_:1})]),_:1}),R((u(),y(H,{span:12},{default:n(()=>[l(v,{label:"内部成本"},{default:n(()=>[l(ne,{modelValue:m.internal_cost,"onUpdate:modelValue":e[48]||(e[48]=r=>m.internal_cost=r),min:0,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"财务可见"},null,8,["modelValue"])]),_:1})]),_:1})),[[j,["finance.account_log/lists"]]]),l(H,{span:24},{default:n(()=>[R((u(),y(v,{label:"药房备注"},{default:n(()=>[l(g,{modelValue:m.remark_extra,"onUpdate:modelValue":e[49]||(e[49]=r=>m.remark_extra=r),type:"textarea",rows:3,placeholder:"选填,对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})),[[j,["tcm.prescriptionOrder/editRemarkExtra"]]]),l(v,{label:"医助备注"},{default:n(()=>[l(g,{modelValue:m.remark_assistant,"onUpdate:modelValue":e[50]||(e[50]=r=>m.remark_assistant=r),type:"textarea",rows:3,placeholder:"选填,医助对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[Wt,q.value===2]])]),_:1},8,["model","rules"])])),[[Pe,va.value]])]),_:1},8,["modelValue"]),l(me,{modelValue:Ze.value,"onUpdate:modelValue":e[57]||(e[57]=r=>Ze.value=r),title:bn.value,width:"92%","destroy-on-close":"",class:"po-h5-dialog",onClosed:e[58]||(e[58]=r=>Fe.value="")},{footer:n(()=>[l(V,{onClick:e[54]||(e[54]=r=>Ze.value=!1)},{default:n(()=>[...e[210]||(e[210]=[p("取消",-1)])]),_:1}),l(V,{type:"primary",loading:Tt.value,onClick:e[55]||(e[55]=r=>_s("approve"))},{default:n(()=>[...e[211]||(e[211]=[p("同意通过",-1)])]),_:1},8,["loading"]),l(V,{type:"danger",loading:Tt.value,onClick:e[56]||(e[56]=r=>_s("reject"))},{default:n(()=>[...e[212]||(e[212]=[p("驳回阻止",-1)])]),_:1},8,["loading"])]),default:n(()=>[Xe.value&&Xe.value.completion_request===1?(u(),y(ee,{key:0,title:"完单申请",type:"warning",closable:!1,"show-icon":"",class:"mb-3"},{default:n(()=>[s("div",Up,[e[209]||(e[209]=s("div",{class:"font-medium mb-1"},"该订单已申请完成",-1)),s("div",$p," 申请人:"+o(Xe.value.completion_request_by_name||"—"),1),s("div",Fp," 申请时间:"+o(Se(Xe.value.completion_request_time)),1)])]),_:1})):f("",!0),e[213]||(e[213]=s("p",{class:"text-[13px] text-gray-500 mb-3 bg-gray-50/80 border border-gray-100 p-2 rounded"},"驳回时必须填写意见;通过时意见选填。",-1)),l(g,{modelValue:Fe.value,"onUpdate:modelValue":e[53]||(e[53]=r=>Fe.value=r),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"在此输入审核意见..."},null,8,["modelValue"])]),_:1},8,["modelValue","title"]),l(me,{modelValue:et.value,"onUpdate:modelValue":e[62]||(e[62]=r=>et.value=r),title:"修改快递单号",width:"92%","destroy-on-close":"",class:"po-h5-dialog","close-on-click-modal":!1},{footer:n(()=>[l(V,{onClick:e[61]||(e[61]=r=>et.value=!1)},{default:n(()=>[...e[215]||(e[215]=[p("取消",-1)])]),_:1}),l(V,{type:"primary",loading:Et.value,onClick:vs},{default:n(()=>[...e[216]||(e[216]=[p("保存单号",-1)])]),_:1},8,["loading"])]),default:n(()=>[R((u(),y(F,{"label-width":"90px",class:"pr-2",onSubmit:Kt(vs,["prevent"])},{default:n(()=>[l(v,{label:"承运商"},{default:n(()=>[l($,{modelValue:re.express_company,"onUpdate:modelValue":e[59]||(e[59]=r=>re.express_company=r),class:"w-full",placeholder:"选择承运商"},{default:n(()=>[l(x,{label:"自动识别",value:"auto"}),l(x,{label:"顺丰速运",value:"sf"}),l(x,{label:"京东快递",value:"jd"}),l(x,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),l(v,{label:"快递单号"},{default:n(()=>[l(g,{modelValue:re.tracking_number,"onUpdate:modelValue":e[60]||(e[60]=r=>re.tracking_number=r),maxlength:"80",placeholder:"请输入快递单号",clearable:"",autofocus:""},null,8,["modelValue"])]),_:1}),e[214]||(e[214]=s("div",{class:"text-xs text-gray-400 pl-[90px] -mt-1 leading-relaxed"}," 仅更新快递信息,其他字段不受影响。 ",-1))]),_:1})),[[Pe,Et.value]])]),_:1},8,["modelValue"]),l(me,{modelValue:at.value,"onUpdate:modelValue":e[66]||(e[66]=r=>at.value=r),title:"确认发货",width:"92%","destroy-on-close":"",class:"po-h5-dialog","close-on-click-modal":!1},{footer:n(()=>[l(V,{onClick:e[65]||(e[65]=r=>at.value=!1)},{default:n(()=>[...e[218]||(e[218]=[p("取消",-1)])]),_:1}),l(V,{type:"primary",loading:Dt.value,onClick:gs},{default:n(()=>[...e[219]||(e[219]=[p(" 确认发货 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(ee,{title:"确认后订单状态将变更为「已发货」,请核对快递信息无误。",type:"warning",closable:!1,"show-icon":"",class:"mb-4"}),R((u(),y(F,{"label-width":"90px",class:"pr-2",onSubmit:Kt(gs,["prevent"])},{default:n(()=>[l(v,{label:"发货方式"},{default:n(()=>[l(d,{type:ae.ship_mode==="direct"?"warning":"success",effect:"plain",size:"default"},{default:n(()=>[p(o(Cn.value),1)]),_:1},8,["type"]),e[217]||(e[217]=s("span",{class:"text-xs text-gray-400 ml-2"},"请在订单详情顶部「发货类型」中设置,此处不可修改",-1))]),_:1}),l(v,{label:"承运商"},{default:n(()=>[l($,{modelValue:ae.express_company,"onUpdate:modelValue":e[63]||(e[63]=r=>ae.express_company=r),class:"w-full"},{default:n(()=>[l(x,{label:"自动识别",value:"auto"}),l(x,{label:"顺丰速运",value:"sf"}),l(x,{label:"京东快递",value:"jd"}),l(x,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),l(v,{label:"快递单号"},{default:n(()=>[l(g,{modelValue:ae.tracking_number,"onUpdate:modelValue":e[64]||(e[64]=r=>ae.tracking_number=r),maxlength:"80",placeholder:"请输入快递单号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1})),[[Pe,Dt.value]])]),_:1},8,["modelValue"]),l(me,{modelValue:je.value,"onUpdate:modelValue":e[71]||(e[71]=r=>je.value=r),title:"完成订单",width:"92%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:Rn},{footer:n(()=>[l(V,{onClick:e[70]||(e[70]=r=>je.value=!1)},{default:n(()=>[...e[220]||(e[220]=[p("取消",-1)])]),_:1}),l(V,{type:xe.value===10?"danger":"primary",loading:st.value,onClick:Dn},{default:n(()=>[p(o(xe.value===10?"确认退款":"确定"),1)]),_:1},8,["type","loading"])]),default:n(()=>[e[221]||(e[221]=s("p",{class:"text-sm text-gray-600 mb-3"}," 选择「已完成」按关联收款汇总实付;选择「退款」将关联收款标记已退款并清零已付。 ",-1)),l($,{modelValue:xe.value,"onUpdate:modelValue":e[67]||(e[67]=r=>xe.value=r),class:"w-full",placeholder:"请选择"},{default:n(()=>[(u(),_(T,null,W(An,r=>l(x,{key:r.value,label:r.label,value:r.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),xe.value===10?(u(),_(T,{key:0},[l(ee,{type:"warning",closable:!1,"show-icon":"",class:"mt-3",title:"关联收款将标记已退款,本单已付清零,不可撤销。"}),ge.value.length?(u(),_("p",zp," 将退款 "+o(ge.value.length)+" 笔关联收款,合计 ¥"+o(K(On.value)),1)):f("",!0),l(F,{ref_key:"completeRefundFormRef",ref:wa,model:de,rules:Tn.value,"label-width":"80px",class:"mt-2"},{default:n(()=>[l(v,{label:"退款金额",prop:"refund_amount"},{default:n(()=>[l(ne,{modelValue:de.refund_amount,"onUpdate:modelValue":e[68]||(e[68]=r=>de.refund_amount=r),min:.01,max:ke.value>0?ke.value:void 0,step:.01,precision:2,class:"w-full"},null,8,["modelValue","max"]),s("div",jp,"可退上限 ¥"+o(K(ke.value)),1)]),_:1}),l(v,{label:"退款原因",prop:"reason"},{default:n(()=>[l(g,{modelValue:de.reason,"onUpdate:modelValue":e[69]||(e[69]=r=>de.reason=r),type:"textarea",rows:3,maxlength:"500",placeholder:"必填"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])],64)):f("",!0)]),_:1},8,["modelValue"]),l(me,{modelValue:lt.value,"onUpdate:modelValue":e[75]||(e[75]=r=>lt.value=r),title:"订单退款",width:"92%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:Fn},{footer:n(()=>[l(V,{onClick:e[74]||(e[74]=r=>lt.value=!1)},{default:n(()=>[...e[222]||(e[222]=[p("取消",-1)])]),_:1}),l(V,{type:"danger",loading:Na.value,onClick:zn},{default:n(()=>[...e[223]||(e[223]=[p(" 确认退款 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(ee,{type:"warning",closable:!1,"show-icon":"",class:"mb-4 !items-start",title:Un.value},null,8,["title"]),l(F,{ref_key:"refundOrderFormRef",ref:Ca,model:se,rules:$n.value,"label-width":"88px"},{default:n(()=>[l(v,{label:"退款金额",prop:"refund_amount"},{default:n(()=>[l(ne,{modelValue:se.refund_amount,"onUpdate:modelValue":e[72]||(e[72]=r=>se.refund_amount=r),min:.01,max:pe.value>0?pe.value:void 0,step:.01,precision:2,class:"w-full"},null,8,["modelValue","max"]),s("div",Lp,"可退上限 ¥"+o(K(pe.value)),1)]),_:1}),l(v,{label:"退款原因",prop:"reason"},{default:n(()=>[l(g,{modelValue:se.reason,"onUpdate:modelValue":e[73]||(e[73]=r=>se.reason=r),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"请填写退款原因(必填)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue"]),l(me,{modelValue:nt.value,"onUpdate:modelValue":e[83]||(e[83]=r=>nt.value=r),title:"补齐支付单",width:"94%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:e[84]||(e[84]=r=>{var O;return(O=Ft.value)==null?void 0:O.clearValidate()})},{footer:n(()=>[l(V,{onClick:e[82]||(e[82]=r=>nt.value=!1)},{default:n(()=>[...e[233]||(e[233]=[p("取消",-1)])]),_:1}),l(V,{type:"primary",loading:$t.value,onClick:qn},{default:n(()=>[...e[234]||(e[234]=[p("确认新增",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(ee,{title:jn.value,type:"info",closable:!1,"show-icon":"",class:"mb-4"},null,8,["title"]),R((u(),y(F,{ref_key:"addPayOrderFormRef",ref:Ft,model:A,rules:Ln.value,"label-width":"90px",class:"pr-2"},{default:n(()=>[l(v,{label:"添加方式",prop:"add_mode"},{default:n(()=>[l(Fs,{modelValue:A.add_mode,"onUpdate:modelValue":e[76]||(e[76]=r=>A.add_mode=r)},{default:n(()=>[l(Me,{value:"create"},{default:n(()=>[...e[224]||(e[224]=[p("付呗",-1)])]),_:1}),l(Me,{value:"create_express"},{default:n(()=>[...e[225]||(e[225]=[p("快递代收",-1)])]),_:1}),l(Me,{value:"link"},{default:n(()=>[...e[226]||(e[226]=[p("关联已有",-1)])]),_:1}),l(Me,{value:"completion_only"},{default:n(()=>[...e[227]||(e[227]=[p("直接完单申请",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),A.add_mode==="create"||A.add_mode==="create_express"?(u(),_(T,{key:0},[l(v,{label:"费用类别",prop:"order_type"},{default:n(()=>[l($,{modelValue:A.order_type,"onUpdate:modelValue":e[77]||(e[77]=r=>A.order_type=r),class:"w-full"},{default:n(()=>[l(x,{label:"挂号费",value:1}),l(x,{label:"问诊费",value:2}),l(x,{label:"药品费用",value:3}),l(x,{label:"首付费用",value:4}),l(x,{label:"尾款费用",value:5}),l(x,{label:"其他费用",value:6}),l(x,{label:"全部费用",value:7}),l(x,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),l(v,{label:"支付金额",prop:"pay_amount"},{default:n(()=>[l(ne,{modelValue:A.pay_amount,"onUpdate:modelValue":e[78]||(e[78]=r=>A.pay_amount=r),min:.01,step:.01,precision:2,class:"w-full",placeholder:"请输入支付金额(元)"},null,8,["modelValue"])]),_:1}),l(v,{label:"备注",prop:"pay_remark"},{default:n(()=>[l(g,{modelValue:A.pay_remark,"onUpdate:modelValue":e[79]||(e[79]=r=>A.pay_remark=r),type:"textarea",rows:3,maxlength:"200","show-word-limit":"",placeholder:"支付说明(选填)"},null,8,["modelValue"])]),_:1})],64)):A.add_mode==="completion_only"?(u(),y(ee,{key:1,type:"warning",closable:!1,"show-icon":"",class:"!mb-0"},{title:n(()=>[...e[228]||(e[228]=[p(" 不新增或关联支付单,仅向审核人员提交「完成订单」申请;提交后支付审核将变为待审核,审核通过后将自动结案。 ",-1)])]),_:1})):(u(),y(v,{key:2,label:"选择支付单",prop:"link_pay_order_id"},{default:n(()=>[l($,{modelValue:A.link_pay_order_ids,"onUpdate:modelValue":e[80]||(e[80]=r=>A.link_pay_order_ids=r),class:"w-full",placeholder:"选择未绑定的支付单(可多选)",loading:Pa.value,multiple:"","collapse-tags":"","collapse-tags-tooltip":""},{default:n(()=>[(u(!0),_(T,null,W(zt.value,r=>(u(),y(x,{key:r.id,label:`${r.order_no} · ¥${r.amount} · ${At(r.order_type)} · ${$e(r)}`,value:r.id},{default:n(()=>[s("div",Ip,[s("div",qp,[s("span",Mp,o(r.order_no),1),s("span",Bp,"¥"+o(r.amount),1)]),s("div",Hp,o(At(r.order_type))+" · "+o($e(r)),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading"]),e[229]||(e[229]=s("div",{class:"text-xs text-gray-500 mt-1.5"}," 仅显示本诊单下未被其他业务订单占用的支付单,可同时选择多个 ",-1))]),_:1})),A.add_mode!=="completion_only"?(u(),y(v,{key:3,label:"完单申请"},{default:n(()=>[l(Fs,{modelValue:A.completion_request,"onUpdate:modelValue":e[81]||(e[81]=r=>A.completion_request=r)},{default:n(()=>[l(Me,{value:0},{default:n(()=>[...e[230]||(e[230]=[p("不申请",-1)])]),_:1}),l(Me,{value:1},{default:n(()=>[...e[231]||(e[231]=[p("申请完成订单",-1)])]),_:1})]),_:1},8,["modelValue"]),e[232]||(e[232]=s("div",{class:"text-xs text-gray-400 mt-1"},' 选择"申请完成订单"后,审核人员可在支付审核时看到此申请 ',-1))]),_:1})):f("",!0)]),_:1},8,["model","rules"])),[[Pe,$t.value]])]),_:1},8,["modelValue"]),l(me,{modelValue:Je.value,"onUpdate:modelValue":e[88]||(e[88]=r=>Je.value=r),title:"修改处方患者信息",width:"92%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:sn},{footer:n(()=>[l(V,{onClick:e[87]||(e[87]=r=>Je.value=!1)},{default:n(()=>[...e[235]||(e[235]=[p("取消",-1)])]),_:1}),l(V,{type:"primary",loading:da.value,onClick:rn},{default:n(()=>[...e[236]||(e[236]=[p(" 保存 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(F,{ref_key:"patchRxPatientFormRef",ref:pa,model:oe,rules:Yl,"label-width":"96px"},{default:n(()=>[l(v,{label:"患者姓名",prop:"patient_name"},{default:n(()=>[l(g,{modelValue:oe.patient_name,"onUpdate:modelValue":e[85]||(e[85]=r=>oe.patient_name=r),maxlength:"50","show-word-limit":"",placeholder:"与处方笺一致",clearable:""},null,8,["modelValue"])]),_:1}),l(v,{label:"手机",prop:"phone"},{default:n(()=>[l(g,{modelValue:oe.phone,"onUpdate:modelValue":e[86]||(e[86]=r=>oe.phone=r),maxlength:"20",placeholder:"处方登记手机号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(me,{modelValue:Qe.value,"onUpdate:modelValue":e[95]||(e[95]=r=>Qe.value=r),title:"修改服用参数",width:"92%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:en},{footer:n(()=>[l(V,{onClick:e[94]||(e[94]=r=>Qe.value=!1)},{default:n(()=>[...e[242]||(e[242]=[p("取消",-1)])]),_:1}),l(V,{type:"primary",loading:ca.value,onClick:tn},{default:n(()=>[...e[243]||(e[243]=[p("保存",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(F,{ref_key:"patchUsageFormRef",ref:_a,model:D,rules:Zl.value,"label-width":"96px"},{default:n(()=>[Ne.value?(u(),_("div",Wp,"主方")):f("",!0),l(v,{label:"每天次数",prop:"times_per_day"},{default:n(()=>[l(ne,{modelValue:D.times_per_day,"onUpdate:modelValue":e[89]||(e[89]=r=>D.times_per_day=r),min:1,max:6,step:1,"controls-position":"right",class:"w-full"},null,8,["modelValue"])]),_:1}),l(v,{label:"处方开立",prop:"usage_days"},{default:n(()=>[s("div",Kp,[l(ne,{modelValue:D.usage_days,"onUpdate:modelValue":e[90]||(e[90]=r=>D.usage_days=r),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[237]||(e[237]=s("span",{class:"text-gray-500 shrink-0"},"天",-1))])]),_:1}),Ne.value?(u(),_(T,{key:1},[e[239]||(e[239]=s("div",{class:"text-xs font-medium text-gray-500 mb-3 mt-2 pt-2 border-t border-gray-100"},"辅方",-1)),l(v,{label:"每天次数",prop:"aux_times_per_day"},{default:n(()=>[l(ne,{modelValue:D.aux_times_per_day,"onUpdate:modelValue":e[91]||(e[91]=r=>D.aux_times_per_day=r),min:1,max:6,step:1,"controls-position":"right",class:"w-full"},null,8,["modelValue"])]),_:1}),l(v,{label:"处方开立",prop:"aux_usage_days"},{default:n(()=>[s("div",Gp,[l(ne,{modelValue:D.aux_usage_days,"onUpdate:modelValue":e[92]||(e[92]=r=>D.aux_usage_days=r),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[238]||(e[238]=s("span",{class:"text-gray-500 shrink-0"},"天",-1))])]),_:1})],64)):f("",!0),e[241]||(e[241]=s("div",{class:"text-xs font-medium text-gray-500 mb-3 mt-2 pt-2 border-t border-gray-100"},"订单设置",-1)),l(v,{label:"服用天数",prop:"medication_days"},{default:n(()=>[s("div",Jp,[l(ne,{modelValue:D.medication_days,"onUpdate:modelValue":e[93]||(e[93]=r=>D.medication_days=r),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[240]||(e[240]=s("span",{class:"text-gray-500 shrink-0"},"天",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue"]),l(Ta,{modelValue:jt.value,"onUpdate:modelValue":e[96]||(e[96]=r=>jt.value=r),size:"100%",direction:"btt",class:"po-h5-drawer","close-on-click-modal":!1},{header:n(()=>[s("div",Qp,[e[246]||(e[246]=s("span",{class:"text-base font-medium text-gray-800"},"查看处方",-1)),w.value&&!Lt.value?(u(),_("div",Yp,[l(V,{size:"small",loading:Ie.value,onClick:ir},{default:n(()=>[...e[244]||(e[244]=[p(" 下载图片 ",-1)])]),_:1},8,["loading"]),l(V,{size:"small",loading:Ie.value,onClick:or},{default:n(()=>[...e[245]||(e[245]=[p(" 下载PDF ",-1)])]),_:1},8,["loading"])])):f("",!0)])]),default:n(()=>[R((u(),_("div",Zp,[w.value?(u(),_("div",Xp,[Number(w.value.void_status)===1?(u(),y(d,{key:0,type:"danger",size:"small"},{default:n(()=>[...e[247]||(e[247]=[p("已作废",-1)])]),_:1})):Number(w.value.business_prescription_audit_rejected)===1?(u(),y(d,{key:1,type:"danger",size:"small"},{default:n(()=>[...e[248]||(e[248]=[p("业务订单已驳回",-1)])]),_:1})):Number(w.value.audit_status)===1?(u(),y(d,{key:2,type:"success",size:"small"},{default:n(()=>[...e[249]||(e[249]=[p("已通过",-1)])]),_:1})):Number(w.value.audit_status)===0?(u(),y(d,{key:3,type:"warning",size:"small"},{default:n(()=>[...e[250]||(e[250]=[p("待审核",-1)])]),_:1})):(u(),y(d,{key:4,type:"danger",size:"small"},{default:n(()=>[...e[251]||(e[251]=[p("已驳回",-1)])]),_:1}))])):f("",!0),w.value&&Number(w.value.void_status)===1?(u(),_("div",ec," 作废人:"+o(w.value.void_by_name||"—")+",作废时间:"+o(ar(w.value.void_time)),1)):w.value&&Number(w.value.business_prescription_audit_rejected)===1?(u(),_("div",tc,[e[252]||(e[252]=s("div",{class:"font-medium"},"审核状态:已驳回(业务订单·处方审核)",-1)),w.value.business_prescription_audit_remark?(u(),_("div",ac," 驳回意见:"+o(w.value.business_prescription_audit_remark),1)):f("",!0)])):w.value&&Number(w.value.audit_status)===2?(u(),_("div",sc,[e[253]||(e[253]=s("div",{class:"font-medium"},"消费者处方审核:已驳回",-1)),w.value.audit_remark?(u(),_("div",lc,"驳回意见:"+o(w.value.audit_remark),1)):f("",!0)])):f("",!0),w.value?(u(),_("div",{key:4,ref_key:"prescriptionSlipPrintRef",ref:ks,class:"rx-paper"},[s("div",{class:"rx-title"},o(Hn)),s("div",nc,[e[258]||(e[258]=s("span",{class:"rx-notice-text"}," 服药前请核对姓名、电话、医生等信息以及服法、医嘱等要点 ",-1)),s("div",rc,[s("div",ic,[e[254]||(e[254]=s("span",{class:"rx-meta-label"},"日期",-1)),s("span",oc,o(Kn.value),1)]),s("div",uc,[e[255]||(e[255]=s("span",{class:"rx-meta-label"},"处方编号",-1)),s("span",dc,o(Gn.value),1)]),s("div",pc,[e[256]||(e[256]=s("span",{class:"rx-meta-label"},"流转编号(挂号)",-1)),s("span",cc,o(Jn.value),1)]),ws.value?(u(),_("div",_c,[e[257]||(e[257]=s("span",{class:"rx-meta-label"},"业务单号",-1)),s("span",mc,o(ws.value),1)])):f("",!0)])]),s("div",fc,[s("div",vc,[s("div",gc,[e[259]||(e[259]=s("span",{class:"rx-key"},"姓名",-1)),s("span",yc,o(w.value.patient_name||"—"),1)]),s("div",bc,[e[260]||(e[260]=s("span",{class:"rx-key"},"性别",-1)),s("span",xc,o(sr(w.value.gender)),1)]),s("div",kc,[e[261]||(e[261]=s("span",{class:"rx-key"},"年龄",-1)),s("span",hc,o(lr(w.value.age)),1)]),s("div",wc,[e[262]||(e[262]=s("span",{class:"rx-key"},"电话",-1)),s("span",Vc,o(w.value.phone||w.value.recipient_phone||"—"),1)])]),s("div",Sc,[s("div",Nc,[e[263]||(e[263]=s("span",{class:"rx-key"},"收件信息",-1)),s("span",Cc,o(Qn.value),1)])]),s("div",Pc,[s("div",Ac,[e[264]||(e[264]=s("span",{class:"rx-key"},"临床诊断",-1)),s("span",Oc,o(w.value.clinical_diagnosis||"—"),1)])])]),s("div",Tc,[e[265]||(e[265]=s("div",{class:"rx-watermark"},"药房联",-1)),e[266]||(e[266]=s("div",{class:"rx-rp-head"},[s("div",{class:"rx-rp-label"},"Rp."),s("div",{class:"rx-rp-cols-head"},[s("div",{class:"rx-rp-col-head"},[s("span",null,"用药 (单剂)"),s("span",null,"总量")]),s("div",{class:"rx-rp-col-head"},[s("span",null,"用药 (单剂)"),s("span",null,"总量")])])],-1)),s("div",Rc,[(u(!0),_(T,null,W(It.value,(r,O)=>(u(),_("div",{key:O,class:"rx-herb-cell"},[s("span",Ec,o(r.name)+" ("+o(r.dosage)+"克)",1),s("span",Dc,o(Zn(r.dosage))+"克",1)]))),128))])]),s("div",Uc,[s("p",null,"服法:"+o(er.value),1),Ss.value?(u(),_("p",$c,"医嘱:"+o(Ss.value),1)):f("",!0),hs.value?(u(),_("p",Fc,"忌口:"+o(hs.value),1)):f("",!0),Ns.value?(u(),_("p",zc,"备注:"+o(Ns.value),1)):f("",!0),Cs.value?(u(),_("p",jc," 药房备注:"+o(Cs.value),1)):f("",!0),Ps.value?(u(),_("p",Lc," 出丸:"+o(Ps.value),1)):f("",!0)]),s("div",Ic,[s("div",qc,[s("div",Mc,[e[267]||(e[267]=s("div",{class:"rx-bot-label rx-bot-label--doctor"},"医师",-1)),s("div",Bc,[w.value.doctor_signature?(u(),_("img",{key:0,src:w.value.doctor_signature,alt:"医师签名",class:"rx-bot-sign-img"},null,8,Hc)):f("",!0),w.value.doctor_signature?f("",!0):(u(),_("span",Wc,o(w.value.doctor_name||"—"),1))])]),s("div",Kc,[e[268]||(e[268]=s("span",{class:"rx-bot-meta-key"},"类型:",-1)),s("span",Gc,o(Xn.value),1)]),s("div",Jc,[e[269]||(e[269]=s("span",{class:"rx-bot-meta-key"},"天数:",-1)),s("span",Qc,o(c.value.medication_days!=null&&String(c.value.medication_days).trim()!==""?c.value.medication_days+" 天":"—"),1)]),s("div",Yc,[e[270]||(e[270]=s("span",{class:"rx-bot-meta-key"},"剂量:",-1)),s("span",Zc,o(Yn.value)+"克",1)])])]),e[271]||(e[271]=s("div",{class:"rx-bot-row rx-hospital-row"},[s("div",{class:"rx-hospital-line"},"成都双流甄养堂互联网医院有限公司 联系方式:4001667339"),s("div",{class:"rx-hospital-line"},"地址:四川省成都市双流区黄甲街道黄龙大道二段280号")],-1))],512)):f("",!0),w.value&&(w.value.audit_by_name||w.value.audit_remark)?(u(),_("div",Xc,[w.value.audit_by_name?(u(),_("div",e_,[p(" 审核人:"+o(w.value.audit_by_name)+" ",1),w.value.audit_time?(u(),_("span",t_,o(As(w.value.audit_time)),1)):f("",!0)])):f("",!0),w.value.audit_remark?(u(),_("div",a_,"审核意见:"+o(w.value.audit_remark),1)):f("",!0)])):f("",!0)])),[[Pe,Lt.value]])]),_:1},8,["modelValue"]),l(Ta,{modelValue:Rt.value,"onUpdate:modelValue":e[97]||(e[97]=r=>Rt.value=r),title:"甘草预下单测试结果",size:"100%",direction:"btt",class:"po-h5-drawer","destroy-on-close":""},{default:n(()=>{var r,O;return[z.value?(u(),_("div",s_,[l(a,{shadow:"never",class:"mb-4"},{header:n(()=>[s("div",l_,[e[273]||(e[273]=s("span",{class:"font-semibold"},"价格信息",-1)),l(d,{type:"success"},{default:n(()=>[...e[272]||(e[272]=[p("预下单成功",-1)])]),_:1})])]),default:n(()=>[l(ot,{column:2,border:""},{default:n(()=>[l(N,{label:"药材成本"},{default:n(()=>{var C;return[s("span",n_,"¥"+o(((C=z.value.fee)==null?void 0:C.m_cost)||"0.00"),1)]}),_:1}),l(N,{label:"制作费"},{default:n(()=>{var C;return[s("span",r_,"¥"+o((((C=z.value.fee)==null?void 0:C.proces_cost)||0).toFixed(2)),1)]}),_:1}),l(N,{label:"物流费"},{default:n(()=>{var C;return[s("span",i_,"¥"+o((((C=z.value.fee)==null?void 0:C.lis_cost)||0).toFixed(2)),1)]}),_:1}),l(N,{label:"总计"},{default:n(()=>[s("div",null,[s("span",o_," ¥"+o(fs(z.value.fee)),1),R((u(),_("div",u_,[e[274]||(e[274]=p(" 占订单总金额: ",-1)),s("span",d_,o(kn(z.value.fee,z.value.amount)),1),z.value.amount>0?(u(),_("span",p_,"%(预报价 ÷ 订单金额 × 100)")):f("",!0)])),[[j,["prescription.order/finance"]]])])]),_:1})]),_:1})]),_:1}),l(a,{shadow:"never",class:"mb-4"},{header:n(()=>[...e[275]||(e[275]=[s("span",{class:"font-semibold"},"配送信息",-1)])]),default:n(()=>[l(ot,{column:2,border:""},{default:n(()=>[l(N,{label:"调配中心"},{default:n(()=>{var C;return[p(o(((C=z.value.result)==null?void 0:C.ds_name)||"—"),1)]}),_:1}),l(N,{label:"调配中心ID"},{default:n(()=>{var C;return[p(o(((C=z.value.result)==null?void 0:C.ds_id)||"—"),1)]}),_:1}),l(N,{label:"服用天数范围",span:2},{default:n(()=>{var C,I,ut,dt,be,Ae;return[p(o(((I=(C=z.value.result)==null?void 0:C.take_days)==null?void 0:I.min)||"—")+" - "+o(((dt=(ut=z.value.result)==null?void 0:ut.take_days)==null?void 0:dt.max)||"—")+" 天 (默认: "+o(((Ae=(be=z.value.result)==null?void 0:be.take_days)==null?void 0:Ae.default)||"—")+" 天) ",1)]}),_:1})]),_:1})]),_:1}),(O=(r=z.value.result)==null?void 0:r.rule_check)!=null&&O.length?(u(),y(a,{key:0,shadow:"never",class:"mb-4"},{header:n(()=>[...e[276]||(e[276]=[s("span",{class:"font-semibold"},"医嘱备注",-1)])]),default:n(()=>[s("div",c_,o(z.value.result.rule_check.map(C=>C.msg).join(" ")),1)]),_:1})):f("",!0),l(a,{shadow:"never"},{header:n(()=>{var C,I;return[s("div",__,[e[277]||(e[277]=s("span",{class:"font-semibold"},"药材明细",-1)),s("span",m_,"共 "+o(((I=(C=z.value.result)==null?void 0:C.m_list)==null?void 0:I.length)||0)+" 味药",1)])]}),default:n(()=>{var C;return[l(Bt,{data:((C=z.value.result)==null?void 0:C.m_list)||[],border:"",stripe:"","max-height":"400"},{default:n(()=>[l(U,{type:"index",label:"#",width:"50",align:"center"}),l(U,{prop:"title",label:"药材名称","min-width":"120","show-overflow-tooltip":""}),l(U,{prop:"quantity",label:"用量",width:"80",align:"right"},{default:n(({row:I})=>[p(o(I.quantity)+o(I.unit),1)]),_:1}),l(U,{prop:"price",label:"单价(元/克)",width:"110",align:"right"},{default:n(({row:I})=>[p(" ¥"+o(Number(I.price).toFixed(4)),1)]),_:1}),l(U,{label:"小计",width:"100",align:"right"},{default:n(({row:I})=>[s("span",f_," ¥"+o((Number(I.price)*Number(I.quantity)).toFixed(2)),1)]),_:1}),l(U,{prop:"is_available",label:"库存状态",width:"100",align:"center"},{default:n(({row:I})=>[l(d,{type:I.is_available===1?"success":"danger",size:"small"},{default:n(()=>[p(o(I.is_available===1?"有货":"缺货"),1)]),_:2},1032,["type"])]),_:1}),l(U,{prop:"brief",label:"备注","min-width":"120","show-overflow-tooltip":""})]),_:1},8,["data"])]}),_:1}),l(a,{shadow:"never",class:"mt-4"},{header:n(()=>[...e[278]||(e[278]=[s("span",{class:"font-semibold"},"订单信息",-1)])]),default:n(()=>[l(ot,{column:2,border:""},{default:n(()=>[l(N,{label:"订单号",span:2},{default:n(()=>[p(o(z.value.order_no||"—"),1)]),_:1}),l(N,{label:"剂数"},{default:n(()=>[s("span",v_,o(z.value.dose_count||"—")+"剂",1)]),_:1}),l(N,{label:"单剂量"},{default:n(()=>{var C;return[s("span",g_,o(hn((C=z.value.result)==null?void 0:C.m_list))+"克 ",1)]}),_:1})]),_:1})]),_:1})])):f("",!0)]}),_:1},8,["modelValue"]),l(E(Ws),{ref_key:"diagnosisViewRef",ref:$a},null,512)])}}}),T_=Bi(b_,[["__scopeId","data-v-fb2f111f"]]);export{T_ as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DxLWCQnV.js","assets/.pnpm-9dA1PEvN.js","assets/.pnpm-LiWq8Xu0.css","assets/tcm-Fi_swgCr.js","assets/index-BWzN7QIb.js","assets/index-or10At3s.css","assets/perm-BzF8JgcJ.js","assets/DailyMatrix-BOqZMkKS.js","assets/picker-DfI3CPnQ.js","assets/index-dYaCh-CN.js","assets/index-dh40Du6y.css","assets/index-xDQ_OZln.js","assets/index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js","assets/index-fA0EWEUO.js","assets/index-BYMg0OFw.css","assets/index-DFkJDhf6.js","assets/file-BL6iPgPC.js","assets/index.vue_vue_type_script_setup_true_lang-Blf417m7.js","assets/usePaging-Boz1Q6w3.js","assets/index-D6uL8V1j.css","assets/picker-CLzhBfnG.css","assets/DiagnosisTodoList-CAIMA53u.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix--Ay5C05Q.css","assets/CaseRecordList-DlCqPijV.js","assets/CaseRecordList-DEgrl9PS.css","assets/CallRecordPanel-CJ3iGibG.js","assets/RecordingPlaybackBlock-CN4w1UI-.js","assets/RecordingVideoPlayer-DIfduEP7.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-p7h_1hh9.css","assets/ImChatRecordPanel-BMjxk7mx.js","assets/dayjs-BsOAYQJw.js","assets/im-business-message-parse-DmDISFGN.js","assets/ImChatRecordPanel-BRnJl8ir.css","assets/AssignLogPanel-CF42MNq_.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DxBIlcME.js","assets/doctor-Chj6BcVp.js","assets/AppointmentRecordPanel-BWS3OyF0.css","assets/NoteTimeline-DxUNQs4y.js","assets/patient-Btpwd7dp.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-CKjXSixL.js","assets/PrescriptionOrderDetailDrawer-CEi7ZXfx.js","assets/prescription-order-utils-B0fYlULc.js","assets/PrescriptionOrderDetailDrawer-DL92yzHH.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-B5cu05RL.js","assets/index-CNLsF7Nt.js","assets/medicine-DezWRkkS.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-DxQanmqx.css","assets/edit-Cgsl1tY9.css","assets/TrackingNoteTimeline-C-2kS81H.css"])))=>i.map(i=>d[i]); +import{o as Hs,R as zs,ap as _r,be as mr,q as u,r as _,s,v as l,D as n,F as T,G as W,ae as L,T as o,P as f,bg as fr,ac as R,w as vr,u as E,ce as gr,L as p,bH as yr,bI as br,cf as xr,bi as kr,bA as Ra,O as y,br as hr,ck as js,b9 as wr,C as Ea,b6 as Vr,b7 as Sr,b8 as pt,bm as Nr,bn as Cr,bK as Pr,K as Ar,ad as Wt,bB as Or,cg as Tr,aw as Kt,$ as Rr,Z as Er,_ as Dr,bZ as Ur,bh as $r,b_ as Fr,b$ as zr,c0 as jr,c1 as Lr,bj as Ir,bk as qr,cl as Mr,by as Br,bq as Hr,b5 as Wr,c3 as Kr,c4 as Gr,B as Jr,J as Qr,bt as Yr,a1 as Zr,c7 as Xr,c8 as ei,ca as ti,U as ai,S as si,I as li,bc as ni,bf as ri,cb as ii,al as oi,M as b,p as k,ba as fe,n as ct,e as _t,cd as ui,cc as di}from"./.pnpm-9dA1PEvN.js";import{_ as pi}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{L as ci,u as _i}from"./useListTimeFilter-EgCds3rQ.js";import{_ as mi}from"./GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-DoPnp_YZ.js";import{g as fi,i as vi,t as gi,c as yi,a as bi,e as J,A as xi,B as ki,C as Ls,D as hi,E as wi,F as Vi,G as Is,H as Si,I as Ni,J as qs,K as Ci,L as Pi,M as Ai,N as Oi,O as Ti,P as Ri,k as Ei,h as Da,f as Di}from"./tcm-Fi_swgCr.js";import{z as Ui,A as $i,n as Fi,C as Ua,x as zi,r as Ms,v as Bs,w as ji,D as Li,E as Ii}from"./prescription-order-utils-B0fYlULc.js";import{u as qi,i as P,m as Mi,_ as Bi}from"./index-BWzN7QIb.js";import{d as Hi}from"./department-BABv4GiI.js";import{u as Wi}from"./usePaging-Boz1Q6w3.js";const Ki={class:"prescription-order-page prescription-order-list prescription-order-h5 po-h5-app"},Gi={class:"flex flex-col gap-3"},Ji={key:0,class:"flex items-center gap-2 flex-wrap"},Qi=["onClick"],Yi={class:"font-medium"},Zi={class:"flex items-center gap-2 flex-wrap"},Xi=["onClick"],eo={class:"font-medium"},to={class:"flex items-center gap-2 flex-wrap"},ao=["onClick"],so={class:"font-medium"},lo={class:"flex items-center gap-2 flex-wrap"},no=["onClick"],ro={class:"font-medium"},io={class:"flex items-center gap-2 flex-wrap"},oo=["onClick"],uo={class:"font-medium"},po={class:"po-list-stats grid grid-cols-1 sm:grid-cols-2 gap-4 mb-5"},co={class:"po-stat-surface po-stat-surface--order relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},_o={class:"relative flex items-start justify-between gap-3"},mo={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},fo={class:"mt-2 space-y-1.5 min-w-0"},vo={class:"text-2xl sm:text-[28px] font-bold text-sky-700 tabular-nums leading-none"},go={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},yo={class:"text-slate-400"},bo={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-sky-500/10 flex items-center justify-center text-sky-600"},xo={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},ko={class:"po-stat-surface po-stat-surface--pay relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},ho={class:"relative flex items-start justify-between gap-3"},wo={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},Vo={class:"mt-2 space-y-1.5 min-w-0"},So={class:"text-2xl sm:text-[28px] font-bold text-emerald-700 tabular-nums leading-none"},No={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},Co={class:"text-slate-400"},Po={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-emerald-500/10 flex items-center justify-center text-emerald-600"},Ao={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},Oo={class:"po-filter-toggle__label"},To={class:"po-h5-list-head"},Ro={class:"po-table-toolbar"},Eo={class:"po-table-toolbar__title-wrap"},Do={class:"po-table-hint text-gray-400"},Uo={class:"po-focus-board"},$o={class:"po-focus-board__value"},Fo={class:"po-focus-board__value"},zo={class:"po-focus-board__value"},jo={class:"po-focus-board__value"},Lo={class:"po-card-list"},Io=["onClick"],qo={class:"po-card__head"},Mo={class:"po-card__order-no"},Bo={class:"po-card__order-no-main"},Ho={class:"po-card__tags"},Wo={class:"po-card__id"},Ko={key:0,class:"po-card__alert"},Go={class:"po-card__row"},Jo={class:"po-card__field"},Qo={class:"po-card__value"},Yo={class:"po-card__field po-card__field--right"},Zo={class:"po-card__value po-card__amount"},Xo={class:"po-card__row"},eu={class:"po-card__field"},tu={class:"po-card__field po-card__field--right"},au={class:"po-card__value"},su={class:"po-card__row"},lu={class:"po-card__field"},nu={class:"po-card__value"},ru={class:"po-card__field po-card__field--right"},iu={class:"po-card__value"},ou={key:1,class:"po-card__row"},uu={class:"po-card__field"},du={class:"po-card__value text-orange-600 font-semibold"},pu={class:"po-card__field po-card__field--right"},cu={class:"po-card__value"},_u={key:0,class:"text-primary"},mu={key:1},fu={key:2,class:"po-card__row"},vu={class:"po-card__field"},gu={class:"po-card__value"},yu={key:0,class:"text-primary"},bu={key:1},xu={class:"po-card__field po-card__field--right"},ku={class:"po-card__value po-card__time"},hu={class:"po-card__tags-row"},wu={class:"po-card__meta"},Vu={key:0},Su={key:1},Nu={key:2,class:"po-card__meta-time"},Cu={class:"flex justify-end mt-4"},Pu={class:"po-detail-drawer-head flex w-full min-w-0 flex-col gap-2"},Au={class:"po-detail-drawer-head-main flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1"},Ou={key:0,class:"po-detail-drawer-actions flex flex-wrap items-center gap-2"},Tu={key:1,class:"po-detail-body px-6 pb-6 h-full overflow-y-auto"},Ru={class:"min-w-0 break-words text-sm leading-relaxed"},Eu={class:"font-mono font-semibold text-red-700"},Du={class:"font-mono font-semibold text-red-700"},Uu={class:"po-workflow-steps-wrap bg-gray-50/80 border border-gray-100 rounded-lg p-5 mb-5 shadow-sm"},$u={key:0,class:"text-red-500 font-medium"},Fu={key:1},zu={key:2,class:"text-green-600"},ju={key:3,class:"text-gray-400"},Lu={key:0,class:"text-red-500 font-medium"},Iu={key:1},qu={key:2,class:"text-green-600"},Mu={key:3,class:"text-gray-400"},Bu={key:0,class:"text-amber-600 font-medium"},Hu={key:1,class:"text-primary font-medium"},Wu={key:2},Ku={key:3,class:"text-green-600"},Gu={key:4,class:"text-red-500 font-medium"},Ju={class:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-5 gap-4 mb-5"},Qu={class:"flex items-center justify-between mb-1"},Yu={class:"stat-value text-red-500 font-bold text-xl"},Zu={class:"stat-value text-green-600 font-bold text-xl"},Xu={class:"stat-value text-primary font-bold text-xl"},ed={class:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4"},td={key:0,class:"audit-stamp stamp-pass"},ad={key:1,class:"audit-stamp stamp-reject"},sd={class:"po-panel-rx-header flex w-full min-w-0 flex-col gap-2"},ld={class:"flex w-full min-w-0 flex-wrap items-center justify-between gap-x-2 gap-y-1"},nd={class:"shrink-0 text-xs text-gray-400 tabular-nums"},rd={key:0,class:"min-w-0 text-xs leading-snug text-gray-500"},id={class:"text-primary font-medium"},od={class:"flex w-full min-w-0 flex-wrap items-center gap-x-3 gap-y-1"},ud={class:"text-red-500 font-medium"},dd={class:"flex flex-col gap-1 text-sm leading-relaxed"},pd={key:0,class:"text-gray-500 mr-1"},cd={key:1,class:"ml-2 text-gray-500"},_d={key:0},md={key:1,class:"ml-2 text-gray-500"},fd={class:"flex items-center gap-1 flex-wrap"},vd={class:"flex flex-col gap-1.5 text-sm leading-relaxed"},gd={key:0},yd={key:0,class:"mt-4"},bd={class:"flex flex-col gap-4 h-full"},xd={class:"text-red-500"},kd={key:0,class:"audit-stamp stamp-pass"},hd={key:1,class:"audit-stamp stamp-reject"},wd={class:"flex items-center justify-between"},Vd={class:"flex items-center gap-3"},Sd={key:0,class:"text-xs text-gray-500"},Nd={class:"text-primary font-medium"},Cd={class:"text-red-500"},Pd={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"},Ad={class:"flex min-w-0 flex-col gap-1"},Od={class:"font-mono text-[1.125rem] font-semibold leading-tight tracking-tight text-slate-900 tabular-nums"},Td={class:"flex flex-wrap items-center gap-x-4 gap-y-1 text-[13px]"},Rd={class:"font-mono text-primary"},Ed={class:"text-gray-500"},Dd={key:0},Ud={key:1,class:"text-gray-500"},$d={key:0,class:"text-xs text-gray-500 mt-1"},Fd={key:1,class:"text-gray-400"},zd={class:"po-audit-remark"},jd={class:"po-audit-remark"},Ld={class:"po-logistics-toolbar flex flex-wrap items-center gap-2 mb-4"},Id={class:"po-logistics-toolbar__links flex items-center gap-3 w-full pt-1"},qd={key:1,class:"py-6 text-center text-sm text-gray-500"},Md={key:2,class:"logistics-content bg-gray-50/50 p-4 rounded-md"},Bd={key:0,class:"text-sm mb-4 font-medium flex items-center gap-2"},Hd={class:"text-gray-800"},Wd={key:1,class:"text-xs text-gray-400 ml-1"},Kd={key:2,class:"text-xs text-gray-400"},Gd={class:"flex items-center gap-2 mb-1"},Jd={class:"font-medium text-[13px]"},Qd={class:"text-sm text-gray-700 font-medium"},Yd={class:"create-order-dialog__inner"},Zd={key:0,class:"create-order-rx-card"},Xd={class:"create-order-rx-card__head"},ep={class:"create-order-rx-card__meta"},tp={class:"create-order-rx-card__id"},ap={key:0,class:"create-order-rx-card__sn"},sp={class:"create-order-rx-card__patient"},lp={class:"create-order-rx-card__herbs"},np={class:"create-order-step-lead"},rp={class:"create-order-step-panel"},ip={class:"create-order-step-panel"},op={class:"flex flex-wrap items-center gap-2 pb-2 border-b border-gray-100"},up={class:"text-xs text-gray-400"},dp={class:"mt-2 space-y-1.5 text-xs sm:text-sm"},pp={key:0,class:"space-y-1.5"},cp={class:"text-gray-800 break-all"},_p={key:1,class:"text-gray-400"},mp={class:"flex items-center gap-1 w-full"},fp={class:"flex gap-2 w-full"},vp={class:"flex flex-col gap-0.5",style:{"line-height":"normal"}},gp={class:"flex items-center justify-between"},yp={class:"font-medium text-[13px] text-gray-800"},bp={class:"text-orange-500 font-medium ml-4"},xp={class:"flex items-center justify-between text-xs text-gray-400 mt-1"},kp={class:"truncate pr-2"},hp={class:"shrink-0"},wp={class:"create-order-pay-hint text-gray-500"},Vp={class:"text-amber-600 font-medium"},Sp={class:"create-order-step-panel"},Np={class:"create-order-deposit-bar__cell"},Cp={class:"create-order-deposit-bar__sub"},Pp={class:"create-order-deposit-bar__cell"},Ap={class:"create-order-deposit-bar__sub"},Op={class:"create-order-footer"},Tp={class:"create-order-footer__hint"},Rp={class:"create-order-footer__step"},Ep={key:0,class:"create-order-footer__warn"},Dp={class:"create-order-footer__actions"},Up={class:"text-sm"},$p={class:"text-gray-600"},Fp={class:"text-gray-600"},zp={key:0,class:"text-xs text-amber-800 mt-2"},jp={class:"text-xs text-gray-500 mt-1"},Lp={class:"text-xs text-gray-500 mt-1"},Ip={class:"flex flex-col gap-0.5 py-0.5"},qp={class:"flex items-center justify-between"},Mp={class:"text-sm"},Bp={class:"text-orange-500 font-medium ml-4"},Hp={class:"text-xs text-gray-400"},Wp={key:0,class:"text-xs font-medium text-gray-500 mb-3"},Kp={class:"flex items-center gap-1 w-full"},Gp={class:"flex items-center gap-1 w-full"},Jp={class:"flex items-center gap-1 w-full"},Qp={class:"flex items-center justify-between w-full pr-2 gap-3"},Yp={key:0,class:"flex items-center gap-2 shrink-0"},Zp={class:"rx-wrap"},Xp={key:0,class:"rx-statusbar"},ec={key:1,class:"rx-status rx-status-danger"},tc={key:2,class:"rx-status rx-status-danger"},ac={key:0,class:"mt-1"},sc={key:3,class:"rx-status rx-status-danger"},lc={key:0,class:"mt-1"},nc={class:"rx-notice"},rc={class:"rx-notice-meta"},ic={class:"rx-meta-item"},oc={class:"rx-meta-value"},uc={class:"rx-meta-item"},dc={class:"rx-meta-value"},pc={class:"rx-meta-item"},cc={class:"rx-meta-value"},_c={key:0,class:"rx-meta-item"},mc={class:"rx-meta-value"},fc={class:"rx-info"},vc={class:"rx-info-row"},gc={class:"rx-info-cell"},yc={class:"rx-val"},bc={class:"rx-info-cell"},xc={class:"rx-val"},kc={class:"rx-info-cell"},hc={class:"rx-val"},wc={class:"rx-info-cell"},Vc={class:"rx-val"},Sc={class:"rx-info-row rx-info-row-full"},Nc={class:"rx-info-cell"},Cc={class:"rx-val"},Pc={class:"rx-info-row rx-info-row-full"},Ac={class:"rx-info-cell"},Oc={class:"rx-val"},Tc={class:"rx-rp"},Rc={class:"rx-herbs"},Ec={class:"rx-herb-name"},Dc={class:"rx-herb-total"},Uc={class:"rx-text"},$c={key:0},Fc={key:1},zc={key:2},jc={key:3,class:"rx-text-warn"},Lc={key:4,class:"rx-text-warn"},Ic={class:"rx-bottom"},qc={class:"rx-bot-row rx-bot-row-1"},Mc={class:"rx-bot-cell rx-bot-doctor"},Bc={class:"rx-bot-doctor-body"},Hc=["src"],Wc={key:1,class:"rx-bot-doctor-name"},Kc={class:"rx-bot-cell rx-bot-meta"},Gc={class:"rx-bot-meta-val"},Jc={class:"rx-bot-cell rx-bot-meta"},Qc={class:"rx-bot-meta-val"},Yc={class:"rx-bot-cell rx-bot-meta"},Zc={class:"rx-bot-meta-val"},Xc={key:5,class:"rx-audit"},e_={key:0},t_={key:0,class:"ml-2 text-gray-400"},a_={key:1,class:"mt-1"},s_={key:0,class:"px-4"},l_={class:"flex items-center justify-between"},n_={class:"text-lg font-semibold text-orange-600"},r_={class:"text-lg font-semibold text-blue-600"},i_={class:"text-lg font-semibold text-green-600"},o_={class:"text-xl font-bold text-red-600"},u_={class:"text-sm text-gray-500 mt-1.5"},d_={class:"font-medium text-gray-700"},p_={key:0},c_={class:"text-sm text-gray-700 leading-relaxed"},__={class:"flex items-center justify-between"},m_={class:"text-sm text-gray-500"},f_={class:"font-medium text-orange-600"},v_={class:"text-base font-medium"},g_={class:"text-base font-medium"},y_=Hs({name:"prescriptionOrderListH5"}),b_=Hs({...y_,setup(x_){const Ws=ii(()=>oi(()=>import("./edit-DxLWCQnV.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]))),we=qi(),$a=b(null);function Ks(){var e,a;const t=Number((e=c.value)==null?void 0:e.diagnosis_id);if(!t){P.msgWarning("本订单未关联诊单,无法查看患者诊单信息");return}(a=$a.value)==null||a.openViewOnly(t)}const Gs=2,Js=6,Fa=[3,8],Qs=[0,3,6],Ys=k(()=>{const t=we.userInfo;if(!t||Number(t.root)===1)return!1;const e=Array.isArray(t.role_ids)?t.role_ids.map(a=>Number(a)):[];return e.includes(Js)?!Fa.some(a=>e.includes(a)):!1}),Zs=k(()=>{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(a=>Number(a)):[];return Fa.some(a=>e.includes(a))}),Xs=k(()=>Ys.value||Zs.value),za=b([]),Ve=k(()=>{const t=we.userInfo;if(!t||Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(a=>Number(a)):[];return e.includes(Gs)?e.some(a=>Qs.includes(a)):!0}),el=k(()=>Ve.value?"详情/审核":"详情"),tl=[0,3,6],ja=()=>{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(a=>Number(a)):[];return tl.some(a=>e.includes(a))},mt=b([]),ft=b([]),Gt=b([]),Be=b([]),vt=b([]),al={value:"id",label:"name",children:"children"};function La(t,e){for(const a of t||[]){if(a==null||typeof a!="object")continue;const i=a;if(Number(i.id)===e)return i;const d=La(i.children||[],e);if(d)return d}return null}function Ia(t){const e=Number(t.id),a=[];Number.isFinite(e)&&e>0&&a.push(e);for(const i of t.children||[])i&&typeof i=="object"&&a.push(...Ia(i));return a}function sl(t,e){const a=La(e,t);return a?Ia(a):[t]}async function ll(){try{const[t,e,a]=await Promise.all([fi(),vi(),Hi()]);Gt.value=Array.isArray(t)?t:[],Be.value=Array.isArray(e)?e:[];const i=Array.isArray(a)?a:[];vt.value=i}catch{Gt.value=[],Be.value=[],vt.value=[]}}const nl=t=>t.map(e=>{var a;return{value:e.province,label:e.province,code:e.code,children:((a=e.citys)==null?void 0:a.map(i=>{var d;return{value:i.city,label:i.city,code:i.code,children:((d=i.areas)==null?void 0:d.map(g=>({value:g.area,label:g.area,code:g.code})))||[]}}))||[]}}),rl=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 a=await e.json();console.log("加载的数据条数:",a==null?void 0:a.length),mt.value=nl(a),console.log("regionOptions 已设置,条数:",mt.value.length)}catch(t){console.error("加载省市区数据失败:",t),mt.value=[]}},il=async()=>{try{const t=await Mi({type:"server_order"});ft.value=Fi(t==null?void 0:t.server_order)}catch(t){console.error("加载服务套餐选项失败:",t),ft.value=[]}},ol=[{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 ul(t){ie.value="",h.fulfillment_status=t,Q()}const ie=b(""),dl=[{label:"全部",value:""},{label:"甘草",value:"gancao"},{label:"洛阳直发",value:"direct"},{label:"自营",value:"self"}];function pl(t){h.supply_mode=t,Q()}const cl=[{label:"全部",value:""},{label:"顺丰",value:"sf"},{label:"京东",value:"jd"}];function _l(t){h.express_company=t,Q()}const h=fe({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:""}),ml=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}],fl=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}];function vl(t){ie.value="",h.prescription_audit_status=t,Q()}function gl(t){ie.value="",h.payment_slip_audit_status=t,Q()}function gt(t){if(ie.value===t){ie.value="",h.prescription_audit_status="",h.payment_slip_audit_status="",h.fulfillment_status="",Q();return}ie.value=t,h.prescription_audit_status="",h.payment_slip_audit_status="",h.fulfillment_status="",t==="pendingRx"?h.prescription_audit_status=0:t==="pendingPay"?(h.prescription_audit_status=1,h.payment_slip_audit_status=0):t==="pendingShip"?h.fulfillment_status=2:t==="risk"&&(h.payment_slip_audit_status=2),Q()}const{time_type:Oe,dateRange:Jt,resolve:yl,handleTimeTypeChange:bl,handleCustomDateChange:xl,resetTimeFilter:kl}=_i("all"),qa=()=>{te.page=1,M()},hl=()=>bl(qa),wl=()=>xl(qa);async function Vl(t){const[e,a]=yl(),i={...t,start_time:e,end_time:a};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 d=String(i.start_time||"").trim(),g=String(i.end_time||"").trim();/^\d{4}-\d{2}-\d{2}$/.test(d)&&/^\d{4}-\d{2}-\d{2}$/.test(g)&&(i.start_time=`${d} 00:00:00`,i.end_time=`${g} 23:59:59`)}return gi(i)}const{pager:te,getLists:M,resetPage:Q,resetParams:Sl}=Wi({fetchFun:Vl,params:h});zs(()=>{var t;return(t=te.extend)==null?void 0:t.audit_admin_options},t=>{Array.isArray(t)&&(za.value=t.map(e=>{if(e==null||typeof e!="object")return null;const a=e,i=Number(a.id),d=String(a.name??"").trim();return!Number.isFinite(i)||i<=0||d===""?null:{id:i,name:d}}).filter(e=>e!=null))},{immediate:!0});const Ma=k(()=>{const t=h.assistant_dept_id;if(t===""||t==null)return Be.value;const e=Number(t);if(!Number.isFinite(e))return Be.value;const a=new Set(sl(e,vt.value));return Be.value.filter(i=>{const d=i.dept_ids;return!Array.isArray(d)||d.length===0?!1:d.map(Number).some(g=>a.has(g))})});function Nl(){const t=h.assistant_id;if(t!==""&&t!=null){const e=Number(t);Ma.value.some(i=>Number(i.id)===e)||(h.assistant_id="")}Q()}const _e=k(()=>{const t=te.extend,e=(t==null?void 0:t.stats_order_amount)??(t==null?void 0:t.today_order_amount),a=(t==null?void 0:t.stats_linked_pay_amount)??(t==null?void 0:t.today_linked_pay_amount),i=qe=>{const N=Number(qe);return Number.isFinite(N)?Math.round(N*100)/100:0},d=qe=>qe.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,v=(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),$=g?i(t==null?void 0:t.stats_order_amount_cancelled):0,le=i(v?t==null?void 0:t.stats_linked_pay_amount_not_cancelled:a),V=v?i(t==null?void 0:t.stats_linked_pay_amount_cancelled):0,F=(t==null?void 0:t.stats_order_amount_performance)!==void 0?i(t==null?void 0:t.stats_order_amount_performance):x,ye=(t==null?void 0:t.stats_linked_pay_amount_performance)!==void 0?i(t==null?void 0:t.stats_linked_pay_amount_performance):le,he=String((t==null?void 0:t.stats_time_start)??"").trim(),Mt=String((t==null?void 0:t.stats_time_end)??"").trim(),Aa=he&&Mt?`统计时间:${he} ~ ${Mt}`:"统计时间:—",it=String((t==null?void 0:t.stats_scope)??"restricted");let ee="统计口径:与当前列表数据可见范围一致";it==="all"?ee="统计口径:支付单审核白名单角色,按全量订单;与下方筛选项(医生/医助/医助部门/患者等,不含「创建时间」)一致":it==="assistant"?ee="统计口径:仅计诊单医助为本人且满足下方其它筛选项的订单":it==="own_rx"&&(ee="统计口径:本人创建的订单 + 关联处方开方人为本人的订单(含医助代建);与下方筛选项(不含「创建时间」)一致");const ce=Oe.value==="all"?"全部":Oe.value==="today"?"今日":"区间";return{order:i(e),pay:i(a),orderStr:d(i(e)),payStr:d(i(a)),orderNotCancelledStr:d(x),orderCancelledStr:d($),payNotCancelledStr:d(le),payCancelledStr:d(V),orderPerformanceStr:d(F),payPerformanceStr:d(ye),orderHeading:`${ce}业绩(业务订单额)`,payHeading:`${ce}业绩(关联实付)`,periodLine:Aa,scopeHint:ee,orderSplitHint:"业绩 = 除履约已取消(4)外全部订单金额;下方为合计与已取消明细"}}),yt=k(()=>{const t=te.extend,e=v=>{const x=Number(v);return!Number.isFinite(x)||x<0?0:Math.trunc(x)},a=e(t==null?void 0:t.focus_pending_rx_count),i=e(t==null?void 0:t.focus_pending_pay_count),d=e(t==null?void 0:t.focus_pending_ship_count),g=e(t==null?void 0:t.focus_risk_count);return{pendingRx:a,pendingPay:i,pendingShip:d,risk:g}});function Qt(t,e){const a=Number(e==null?void 0:e.prescription_audit_status),i=Number(e==null?void 0:e.payment_slip_audit_status),d=Number(e==null?void 0:e.fulfillment_status);return t==="rx"&&a===0||t==="pay"&&a===1&&i===0||t==="fulfillment"&&d===2?"po-status-tag is-focus":t==="rx"&&a===2||t==="pay"&&i===2||t==="fulfillment"&&d===4?"po-status-tag is-risk":"po-status-tag"}function bt({row:t}){const e=Number(t==null?void 0:t.prescription_audit_status),a=Number(t==null?void 0:t.payment_slip_audit_status),i=Number(t==null?void 0:t.fulfillment_status),d=Nt(t==null?void 0:t.recipient_phone,t==null?void 0:t.prescription_phone);return e===2||a===2||d?"po-row-risk":e===0||e===1&&a===0||i===2?"po-row-focus":i===3||i===6?"po-row-done":""}zs(Ve,t=>{t||h.prescription_audit_status===""||h.prescription_audit_status===void 0||(h.prescription_audit_status="",Q())},{immediate:!0});function Cl(){ie.value="",kl(),h.order_no="",h.prescription_id="",h.patient_keyword="",h.express_keyword="",h.express_company="",h.doctor_id="",h.assistant_id="",h.assistant_dept_id="",h.fulfillment_status="",h.prescription_audit_status="",h.payment_slip_audit_status="",h.supply_mode="",h.audit_admin_id="",Sl()}function xt(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付费用",5:"尾款费用",6:"其他费用",7:"全部费用",8:"驼奶费用"}[Number(t)]??"—"}function Ba(t){return t===1?"已通过":t===2?"已驳回":"待审核"}function Ha(t){return t===1?"success":t===2?"danger":"info"}function Yt(t){return{1:"待双审通过",2:"待发货",3:"已完成",4:"已取消",5:"已发货",6:"已签收",7:"进行中",8:"暂不制药",9:"拒收",10:"退款",11:"保留药方",12:"制药缓发"}[Number(t)]??"—"}function Pl(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 Al=[0,3];function Wa(){const t=we.userInfo;return t?Number(t.root)===1?!0:(Array.isArray(t.role_ids)?t.role_ids.map(a=>Number(a)):[]).some(a=>Al.includes(a)):!1}function Ka(t){var a;const e=Number((a=we.userInfo)==null?void 0:a.id);return e>0&&Number(t.creator_id)===e}function Ga(t){return Number(t.prescription_audit_status)===1&&Number(t.payment_slip_audit_status)===1}function Ja(t){const e=Number(t.fulfillment_status);return e===3||e===4||Ka(t)&&Ga(t)&&!Wa()||Ua(t)?!1:e===1||e===2}function Ol(t){const e=Number(t.fulfillment_status);return e===3||e===4||e===6?!1:Number(t.prescription_audit_status)===0}function Tl(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 Rl(t){if(Ua(t))return!1;const e=Number(t.fulfillment_status);if(e===3||e===4||e===6)return!1;const a=Number(t.prescription_audit_status),i=Number(t.payment_slip_audit_status);return(a===1||a===2)&&i===0}function El(t){const e=Number(t.fulfillment_status);if(e===3||e===4||e===6)return!1;const a=Number(t.prescription_audit_status),i=Number(t.payment_slip_audit_status);return a===1&&(i===1||i===2)}function Qa(t){return Ua(t)?!1:Number(t.fulfillment_status)===1}function Zt(t){return Number(t.fulfillment_status)===2}function Xt(t){const e=Number(t.fulfillment_status);return e===5||e===6}function ea(t){const e=Number(t.fulfillment_status);return(e===5||e===6)&&Number(t.payment_slip_audit_status)===1}function ta(t){const e=Number(t.fulfillment_status);return(e===5||e===6||e===3||e===9)&&Number(t.payment_slip_audit_status)===1}function Dl(t){return Number(t.fulfillment_status)===5}function Ya(t){if(t.can_upload_pharmacy===!1)return!1;const e=Number(t.prescription_audit_status),a=Number(t.fulfillment_status),i=String(t.gancao_reciperl_order_no||"").trim(),d=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(a)||a===9&&g)&&i===""&&(d===""||g)}function Za(t){return{1:"待支付",2:"已支付",3:"已取消",4:"已退款",5:"待审核"}[Number(t)]??"—"}const kt=b(!0),Xa=k(()=>{const t=h,e=["order_no","prescription_id","patient_keyword","express_keyword","doctor_id","assistant_dept_id","assistant_id"];let a=Oe.value!=="all"?1:0;for(const i of e){const d=t[i];d!=null&&(typeof d=="string"&&d.trim()===""||Array.isArray(d)&&d.length===0||(a+=1))}return a});function Ul(t){return Xt(t)||ea(t)||ta(t)||Ya(t)||Qa(t)}function $l(t,e){t==="addPayOrder"?bs(e):t==="complete"?xs(e):t==="refund"?ys(e):t==="uploadPharmacy"?Sn(e):t==="withdraw"&&xn(e)}function aa(t){if(!(t!=null&&t.id))return!1;const e=Number(t.fulfillment_status);return e!==3&&e!==4}const Y=b(!1),sa=b(!1),c=b(null),Fl=k(()=>{var t;return zi((t=c.value)==null?void 0:t.service_package,ft.value)}),ht=k(()=>{if(!c.value)return 0;const t=Number(c.value.fulfillment_status),e=Number(c.value.prescription_audit_status),a=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:a===2?2:3:t===2?3:e===0||e===2?1:a===0||a===2?2:3}),wt=k(()=>{var e;const t=Number((e=c.value)==null?void 0:e.prescription_audit_status);return t===1?"success":t===2?"error":ht.value===1?"process":"wait"}),Vt=k(()=>{var e;const t=Number((e=c.value)==null?void 0:e.payment_slip_audit_status);return t===1?"success":t===2?"error":ht.value===2?"process":"wait"}),Te=k(()=>{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||ht.value===3?"process":"wait"}),la=k(()=>{const t=c.value;if(!t)return[];const e=t.linked_pay_orders;return Array.isArray(e)?e:[]}),es=k(()=>{const t=c.value;if(!t)return 0;const e=t.agency_collect_amount;if(e!=null&&e!=="")return Number(e)||0;const a=Number(t.amount)||0,i=Number(t.linked_pay_paid_total)||0;return Math.round((a-i)*100)/100}),Re=b([]);async function zl(t,e,a){var i;if(!t){Re.value=[];return}try{const d=await Da({diagnosis_id:t,prescription_order_id:e}),g=(d==null?void 0:d.lists)??((i=d==null?void 0:d.data)==null?void 0:i.lists)??[],v=Array.isArray(g)?g.filter(x=>!a.includes(x.id)):[];Re.value=v}catch{Re.value=[]}}function ts(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 S=k(()=>{var e;const t=(e=c.value)==null?void 0:e.prescription;return t&&typeof t=="object"?t:null}),as=k(()=>{var t;return Ms((t=S.value)==null?void 0:t.dietary_taboo)});function St(t){return t==null?"":String(t).replace(/\s/g,"").trim()}function Nt(t,e){const a=St(t),i=St(e);return!a||!i?!1:a!==i}const He=k(()=>{var a,i;const t=(a=S.value)==null?void 0:a.phone,e=(i=c.value)==null?void 0:i.recipient_phone;return Nt(e,t)}),jl=k(()=>{var e;return St((e=S.value)==null?void 0:e.phone)||"—"}),Ll=k(()=>{var e;return St((e=c.value)==null?void 0:e.recipient_phone)||"—"}),Z=k(()=>{var e;const t=(e=c.value)==null?void 0:e.linked_appointment;return t&&typeof t=="object"?t:null}),ss=k(()=>{var e;const t=String(((e=Z.value)==null?void 0:e.resolved_from)||"");return t==="prescription"?"处方绑定挂号":t==="diagnosis"?"诊单关联挂号":""}),ls=k(()=>{var t;return ts((t=S.value)==null?void 0:t.herbs)}),Ne=k(()=>Bs(S.value)),X=k(()=>{const t=S.value;if(!t||!Bs(t))return null;const e=t.aux_usage;return e==null||e===""||Array.isArray(e)&&e.length===0?null:ji(e,t.prescription_type||"浓缩水丸")}),Il=k(()=>{var t;return((t=c.value)==null?void 0:t.prescription_detail_herbs_visible)!==!1}),ql=k(()=>{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(" "):"—"}),ns=k(()=>`${m.dose_unit||"剂"}数`);function Ml(t){const e=Number(t);return e===1?"已通过":e===2?"已驳回":"待审核"}function Bl(t){const e=Number(t);return e===1?"success":e===2?"danger":"warning"}function rs(t){const e=Number(t);return e===2?"success":e===1?"warning":"info"}function is(t){return t==null||t===""?"—":typeof t=="string"&&String(t).includes("-")?String(t):Se(t)}const We=b("auto"),Ct=b(!1),G=b(null),Ke=b("");let na=0;function Hl(){na+=1,G.value=null}function ra(t){var e,a;return t.requestSeq!==na||Number((e=c.value)==null?void 0:e.id)!==t.orderId?!1:String(((a=c.value)==null?void 0:a.tracking_number)||"").trim()===t.trackingNumber}function Wl(t,e,a){const i=(t==null?void 0:t.data)??t;if(!i||typeof i!="object")return null;const d=i,g=String(d.tracking_number||"").trim();if(g&&g!==e)return null;const v=Number(d.order_id);return v>0&&v!==a?null:d}const Ee=b([]),Ge=b(!1),ia=b(!1),Pt=b(),ve=fe({id:0,amount:void 0}),Kl={amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(t,e,a)=>{const i=Number(e);if(!Number.isFinite(i)||i<0){a(new Error("订单金额不能为负数"));return}a()},trigger:"blur"}]};function Gl(){const t=we.perms||[];return t.includes("*")||t.includes("tcm.prescriptionOrder/logs")}async function De(t){if(!Gl()){Ee.value=[];return}try{const e=await Di({id:t});Ee.value=(e==null?void 0:e.data)??e??[]}catch{Ee.value=[]}}function Jl(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 oa=k(()=>{var a;const t=String(((a=c.value)==null?void 0:a.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}`}}),os=k(()=>{const t=G.value;return!t||!Array.isArray(t.traces)?[]:t.traces});function Ql(t){const e=String(t||"").toLowerCase();return e==="sf"?"顺丰速运":e==="jd"?"京东快递":e==="jt"||e==="jtexpress"?"极兔速递":"自动识别"}async function ua(){var d,g;const t=Number((d=c.value)==null?void 0:d.id),e=String(((g=c.value)==null?void 0:g.tracking_number)||"").trim();if(!t||!e)return;const i={requestSeq:++na,orderId:t,trackingNumber:e};Ct.value=!0;try{const v=String(Ke.value||"").replace(/\D/g,""),x={id:t,express_company:We.value};v.length>=4&&(x.phone_tail=v);const $=await yi(x);if(!ra(i))return;G.value=Wl($,e,t)}catch{if(!ra(i))return;G.value=null}finally{ra(i)&&(Ct.value=!1)}}const Je=b(!1),da=b(!1),pa=b(),oe=fe({patient_name:"",phone:""}),Yl={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]},Qe=b(!1),ca=b(!1),_a=b(),D=fe({times_per_day:3,usage_days:7,aux_times_per_day:3,aux_usage_days:7,medication_days:void 0}),Zl=k(()=>{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 Xl(){const t=S.value,e=c.value;if(!t||!(e!=null&&e.id)||!e.prescription_id){P.msgWarning("无处方数据");return}const a=X.value;D.times_per_day=Number(t.times_per_day)>0?Number(t.times_per_day):3,D.usage_days=Number(t.usage_days)>0?Number(t.usage_days):7,D.aux_times_per_day=a&&Number(a.times_per_day)>0?Number(a.times_per_day):3,D.aux_usage_days=a&&Number(a.usage_days)>0?Number(a.usage_days):7;const i=Number(e.medication_days);D.medication_days=i>0?i:Number(t.usage_days)>0?Number(t.usage_days):7,Qe.value=!0,ct(()=>{var d;return(d=_a.value)==null?void 0:d.clearValidate()})}function en(){D.times_per_day=3,D.usage_days=7,D.aux_times_per_day=3,D.aux_usage_days=7,D.medication_days=void 0}async function tn(){var a;const t=_a.value;if(!t)return;try{await t.validate()}catch{return}const e=(a=c.value)==null?void 0:a.id;if(e){ca.value=!0;try{const i={id:e,times_per_day:Number(D.times_per_day),usage_days:Number(D.usage_days),medication_days:Number(D.medication_days)};Ne.value&&(i.aux_times_per_day=Number(D.aux_times_per_day),i.aux_usage_days=Number(D.aux_usage_days)),await bi(i),P.msgSuccess("保存成功"),Qe.value=!1,await ma(),await De(e),M()}catch{}finally{ca.value=!1}}}function an(){const t=S.value,e=c.value;if(!t||!(e!=null&&e.id)||!e.prescription_id){P.msgWarning("无处方数据");return}oe.patient_name=String(t.patient_name??"").trim(),oe.phone=String(t.phone??"").trim(),Je.value=!0,ct(()=>{var a;return(a=pa.value)==null?void 0:a.clearValidate()})}function sn(){oe.patient_name="",oe.phone=""}function ln(){var t;ve.id=0,ve.amount=void 0,(t=Pt.value)==null||t.clearValidate()}function nn(){const t=c.value;if(!aa(t)){P.msgWarning("当前订单状态不允许修改金额");return}ve.id=Number(t==null?void 0:t.id)||0;const e=Number(t==null?void 0:t.amount);ve.amount=Number.isFinite(e)?e:void 0,Ge.value=!0,ct(()=>{var a;return(a=Pt.value)==null?void 0:a.clearValidate()})}async function ma(){var e;const t=(e=c.value)==null?void 0:e.id;if(t)try{const a=await J({id:t}),i=(a==null?void 0:a.data)??a??null;i&&(c.value=i)}catch{}}async function rn(){var a;const t=pa.value;if(!t)return;try{await t.validate()}catch{return}const e=(a=c.value)==null?void 0:a.id;if(e){da.value=!0;try{await xi({id:e,patient_name:oe.patient_name.trim(),phone:oe.phone.trim()}),Je.value=!1,await ma(),await De(e)}catch(i){console.error(i)}finally{da.value=!1}}}async function us(){const t=Pt.value;if(!t)return;try{await t.validate()}catch{return}if(!aa(c.value)){P.msgWarning("当前订单状态不允许修改金额");return}const e=ve.id;ia.value=!0;try{await ki({id:e,amount:Number(ve.amount)}),P.msgSuccess("修改成功"),Ge.value=!1,await ma(),await De(e),M()}catch{}finally{ia.value=!1}}async function fa(t){c.value=null,Re.value=[],Hl(),We.value="auto",Ke.value="",Ee.value=[],Y.value=!0,sa.value=!0;try{const e=await J({id:t}),a=(e==null?void 0:e.data)??e??null;if(c.value=a,a){We.value=String(a.express_company||"auto")||"auto";const i=String(a.recipient_phone||"").replace(/\D/g,"");Ke.value=i.length>=4?i:"",String(a.tracking_number||"").trim()&&ua(),De(t);const d=a.diagnosis_id,g=a.pay_order_ids||[];d&&zl(d,t,g)}}catch(e){P.msgError((e==null?void 0:e.message)||"加载失败"),Y.value=!1}finally{sa.value=!1}}const Ce=b(!1),va=b(!1),ga=b(!1),q=b(0),ue=b(null),on=k(()=>["请核对收货信息,便于发货与物流联系。","按需填写服务与物流,并选择本诊单下需要关联的支付单。","确认费用类别与订单金额;保存前请对照定金门槛是否已满足。"][q.value]??""),ds=k(()=>{const t=ue.value,e=ts(t==null?void 0:t.herbs);if(!e.length)return"暂无药材明细";const a=e.map(i=>`${i.name} ${i.dosage}g`).join("、");return a.length>120?`${a.slice(0,120)}…`:a}),un=["recipient_name","recipient_phone","region","shipping_address"],Ue=b(),m=fe({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:""}),dn=k(()=>Li(ft.value,m.service_package)),ps=k(()=>{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(a=>a.trim()).filter(Boolean):e.split("/").map(a=>a.trim()).filter(Boolean)).filter(e=>e.length>0):[]}),Ye=b([]),ya=b(!1),B=b(0);function At(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(t)]||"未知"}function $e(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 a=String((t==null?void 0:t.payment_method)||""),i={alipay:"支付宝",wechat:"微信",wechat_work:"企业微信",fubei:"付呗",express_cod:"快递代收",manual:"手动确认到账"};return a&&i[a]?i[a]:"普通订单"}const ba=k(()=>{const t=new Set(m.pay_order_ids.map(a=>Number(a)));let e=0;for(const a of Ye.value)t.has(Number(a.id))&&(e+=Number(a.amount)||0);return Math.round(e*100)/100}),pn=k(()=>{const t=B.value;return t>0?Math.round(t*100)/100:0});async function cn(t,e){var a,i;if(!t){Ye.value=[];return}try{ya.value=!0;const d=await Da({diagnosis_id:t,...e?{prescription_order_id:e}:{}}),g=(d==null?void 0:d.lists)??((a=d==null?void 0:d.data)==null?void 0:a.lists)??[];Ye.value=Array.isArray(g)?g:[];const v=Number((d==null?void 0:d.deposit_min_amount)??((i=d==null?void 0:d.data)==null?void 0:i.deposit_min_amount));!Number.isNaN(v)&&v>=0&&(B.value=v)}catch{Ye.value=[]}finally{ya.value=!1}}const _n=k(()=>{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,a,i)=>{const d=B.value,g=Number(a);if(d>0&&(!Number.isFinite(g)||g0){const e=`已开启关联支付门槛(¥${K(B.value)}),请至少选择一笔支付单`;t.pay_order_ids=[{type:"array",required:!0,min:1,message:e,trigger:"change"}]}return t});function mn(){var t;q.value=0,ue.value=null,(t=Ue.value)==null||t.clearValidate()}function fn(){q.value>0&&(q.value-=1)}async function vn(){const t=Ue.value;if(t)try{q.value===0?await t.validateField([...un]):q.value===1&&B.value>0&&await t.validateField(["pay_order_ids"]),q.value<2&&(q.value+=1)}catch{}}async function gn(t){if(!Ja(t)){Ka(t)&&Ga(t)&&!Wa()&&P.msgWarning("处方与支付单均已审核通过,创建人不可再编辑");return}q.value=0,ue.value=null,Ce.value=!0,va.value=!0;try{const e=await J({id:t.id}),a=(e==null?void 0:e.data)??e;if(!a){P.msgError("加载数据结构异常"),Ce.value=!1;return}const i=a.prescription;i&&typeof i=="object"?ue.value=i:Number(a.prescription_id)>0?ue.value={id:Number(a.prescription_id),sn:"",patient_name:String(a.recipient_name||""),herbs:[]}:ue.value=null,m.id=a.id,m.prescription_id=Number(a.prescription_id)||0,m.diagnosis_id=Number(a.diagnosis_id)||0,m.assistant_id=Number(a.assistant_id)||0,m.diagnosis_creator_id=Number(a.diagnosis_creator_id)||0,m.diagnosis_creator_name=a.diagnosis_creator_name!=null&&a.diagnosis_creator_name!==""?String(a.diagnosis_creator_name):"",m.diagnosis_creator_dept_path=a.diagnosis_creator_dept_path!=null&&a.diagnosis_creator_dept_path!==""?String(a.diagnosis_creator_dept_path):"",m.recipient_name=a.recipient_name||"",m.recipient_phone=a.recipient_phone||"";const d=a.shipping_province||"",g=a.shipping_city||"",v=a.shipping_district||"";d||g||v?m.region=[d,g,v].filter(F=>F!==""):m.region=[],m.shipping_address=a.shipping_address||"",m.is_follow_up=a.is_follow_up?1:0,m.medication_days=a.medication_days>0?a.medication_days:void 0,m.dose_count=a.dose_count>0?a.dose_count:1,m.dose_unit=a.dose_unit||"剂",m.prev_staff=a.prev_staff||"",m.service_channel=a.service_channel||"",m.service_package=Ii(a.service_package),m.express_company=String(a.express_company||"auto")||"auto",m.tracking_number=a.tracking_number||"",m.fee_type=Number(a.fee_type)||3,B.value=Number(a.deposit_min_amount)||0;let x=Number(a.amount)||0;const $=Math.round((Number(a.linked_pay_paid_total)||0)*100)/100,le=B.value;if(le>0){const F=Math.round(le*100)/100;xNumber(F)).filter(F=>!Number.isNaN(F)):[],m.internal_cost=a.internal_cost!=null&&a.internal_cost!==""?Number(a.internal_cost):void 0,await cn(m.diagnosis_id,m.id),ct(()=>{var F;(F=Ue.value)==null||F.clearValidate()})}catch(e){P.msgError((e==null?void 0:e.message)||"加载异常"),Ce.value=!1}finally{va.value=!1}}async function yn(){if(!(!Ue.value||q.value!==2)){await Ue.value.validate(),ga.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 Ls(t),P.msgSuccess("保存成功"),Ce.value=!1,M()}catch{}finally{ga.value=!1}}}const Ze=b(!1),xa=b("prescription"),Ot=b(0),Xe=b(null),Fe=b(""),Tt=b(!1),bn=k(()=>xa.value==="prescription"?"处方业务审核":"关联支付单审核");function cs(t,e){xa.value=e,Ot.value=t.id,Xe.value=t,Fe.value="",Ze.value=!0}async function _s(t){if(t==="reject"&&!Fe.value.trim()){P.msgError("驳回或阻止时必须填写明确的审核意见");return}Tt.value=!0;try{const e={id:Ot.value,action:t,remark:Fe.value.trim()};if(xa.value==="prescription"?await hi(e):await wi(e),P.msgSuccess(t==="approve"?"审核通过成功":"已成功驳回该单"),Ze.value=!1,M(),Y.value&&Ot.value)try{const a=await J({id:Ot.value}),i=(a==null?void 0:a.data)??a??null;i&&(c.value=i)}catch{}}catch{}finally{Tt.value=!1}}async function xn(t){try{await _t.confirm("确认撤回该业务订单?撤回后状态为「已取消」,未双审通过或双审均驳回等场景下均可安全撤回。","撤回警告",{type:"warning",confirmButtonText:"确定撤回",cancelButtonText:"暂不处理"}),await Vi({id:t.id}),P.msgSuccess("撤回成功"),M()}catch{}}const ms=b(0),Rt=b(!1),ze=b(!1),z=b(null);function fs(t){if(!t)return"0.00";const e=Number(t.m_cost)||0,a=Number(t.proces_cost)||0,i=Number(t.lis_cost)||0;return(e+a+i).toFixed(2)}function kn(t,e){const a=parseFloat(fs(t))||0,i=Number(e)||0;return i<=0?"—":(a/i*100).toFixed(2)}function hn(t){return!Array.isArray(t)||t.length===0?"0":t.reduce((a,i)=>a+(Number(i.quantity)||0),0).toFixed(0)}async function wn(){if(!m.id){P.msgError("请先保存订单");return}ze.value=!0;try{const t=await Is({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,Rt.value=!0,P.msgSuccess("预下单测试成功"))}catch{}finally{ze.value=!1}}async function Vn(){var t;if(!((t=c.value)!=null&&t.id)){P.msgError("订单数据不存在");return}ze.value=!0;try{const e=await Is({id:c.value.id,dose_count:c.value.dose_count||1,medication_days:c.value.medication_days||void 0}),a=(e==null?void 0:e.data)??e;a&&a.success&&(z.value=a,Rt.value=!0)}catch{}finally{ze.value=!1}}async function Sn(t){var e;try{const a=String(t.ship_mode||"gancao")==="direct"?"洛阳药房":"甘草药房";await _t.confirm(`确认将本单关联处方上传至${a}?`,"上传药房",{type:"warning",confirmButtonText:"确定上传",cancelButtonText:"取消"}),ms.value=t.id;const i=await Si({id:t.id}),d=(i==null?void 0:i.data)??i,g=String((d==null?void 0:d.pharmacy_order_no)||(d==null?void 0:d.recipel_order_no)||"").trim();if(P.msgSuccess(g?`上传成功,药房单号:${g}`:"上传成功"),M(),Y.value&&Number((e=c.value)==null?void 0:e.id)===t.id)try{const v=await J({id:t.id}),x=(v==null?void 0:v.data)??v??null;x&&(c.value=x)}catch{}}catch{}finally{ms.value=0}}_r(async()=>{await rl(),await il(),await ll(),M()});const et=b(!1),Et=b(!1),tt=b(0),re=fe({express_company:"auto",tracking_number:""});function Nn(t){tt.value=t.id,re.express_company=String(t.express_company||"auto")||"auto",re.tracking_number=String(t.tracking_number||""),et.value=!0}async function vs(){var t;if(!re.tracking_number.trim()){P.msgError("请填写快递单号");return}Et.value=!0;try{const e=await J({id:tt.value}),a=(e==null?void 0:e.data)??e;if(!a){P.msgError("加载订单数据失败");return}if(await Ls({id:a.id,recipient_name:a.recipient_name||"",recipient_phone:a.recipient_phone||"",shipping_province:a.shipping_province||"",shipping_city:a.shipping_city||"",shipping_district:a.shipping_district||"",shipping_address:a.shipping_address||"",is_follow_up:a.is_follow_up?1:0,medication_days:a.medication_days!=null&&String(a.medication_days).trim()!==""?a.medication_days:"",prev_staff:a.prev_staff||"",service_channel:a.service_channel||"",service_package:a.service_package||"",fee_type:Number(a.fee_type)||3,amount:Number(a.amount)||0,remark_extra:a.remark_extra||"",remark_assistant:a.remark_assistant||"",internal_cost:a.internal_cost!=null&&a.internal_cost!==""?a.internal_cost:"",pay_order_ids:Array.isArray(a.pay_order_ids)?a.pay_order_ids:[],express_company:re.express_company||"auto",tracking_number:re.tracking_number.trim()}),P.msgSuccess("快递单号已保存"),et.value=!1,M(),Y.value&&((t=c.value)==null?void 0:t.id)===tt.value)try{const i=await J({id:tt.value}),d=(i==null?void 0:i.data)??i??null;d&&(c.value=d)}catch{}if(Zt({fulfillment_status:Number(a.fulfillment_status)}))try{await _t.confirm(`快递单号「${re.tracking_number}」已保存,是否立即确认发货?`,"确认发货",{type:"success",confirmButtonText:"确认发货",cancelButtonText:"稍后再说"}),ka({id:tt.value,tracking_number:re.tracking_number,express_company:re.express_company})}catch{}}catch{}finally{Et.value=!1}}const at=b(!1),Dt=b(!1),Ut=b(0),ae=fe({ship_mode:"gancao",express_company:"auto",tracking_number:""}),Cn=k(()=>ae.ship_mode==="direct"?"洛阳药房直发":"甘草药房直发");function ka(t){Ut.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 gs(){var t;if(!ae.tracking_number.trim()){P.msgError("请先填写快递单号再确认发货");return}Dt.value=!0;try{if(await Ni({id:Ut.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(),Y.value&&((t=c.value)==null?void 0:t.id)===Ut.value)try{const e=await J({id:Ut.value}),a=(e==null?void 0:e.data)??e??null;a&&(c.value=a)}catch{}}catch{}finally{Dt.value=!1}}async function Pn(){var t;M(),(t=c.value)!=null&&t.id&&await fa(Number(c.value.id))}const An=[{value:3,label:"已完成"},{value:7,label:"进行中"},{value:8,label:"暂不制药"},{value:9,label:"拒收"},{value:10,label:"退款"},{value:11,label:"保留药方"},{value:12,label:"制药缓发"}],je=b(!1),ha=b(0),xe=b(3),st=b(!1),ge=b([]),wa=b();function Va(t){let e=0;for(const a of t||[]){const i=Number(a==null?void 0:a.status);(i===2||i===5)&&(e+=Number(a==null?void 0:a.amount)||0)}return Math.round(e*100)/100}const de=fe({reason:"",refund_amount:void 0}),ke=b(0),On=k(()=>Va(ge.value)),Tn=k(()=>({refund_amount:[{required:!0,message:"请输入退款金额",trigger:"change"},{validator:(t,e,a)=>{const i=Number(e),d=ke.value;if(!Number.isFinite(i)||i<=0)return a(new Error("退款金额须大于 0"));if(d>0&&i>d+.009)return a(new Error(`不能超过 ¥${K(d)}`));a()},trigger:"change"}],reason:[{required:!0,message:"请填写退款原因",trigger:"blur"}]}));function Rn(){var t;ha.value=0,ge.value=[],de.reason="",de.refund_amount=void 0,ke.value=0,(t=wa.value)==null||t.clearValidate()}async function En(t){if(!t){ge.value=[];return}try{const e=await J({id:t}),a=(e==null?void 0:e.data)??e??null;ge.value=Array.isArray(a==null?void 0:a.linked_pay_orders)?a.linked_pay_orders:[];const i=Va(ge.value),d=Number(a==null?void 0:a.paid)||0;ke.value=i>0?i:d,de.refund_amount=ke.value}catch{ge.value=[],ke.value=0}}async function Dn(){var e,a,i;const t=ha.value;if(t){if(xe.value===10){if(!await((e=wa.value)==null?void 0:e.validate().catch(()=>!1)))return;st.value=!0;try{if(await qs({id:t,reason:de.reason.trim(),refund_amount:Number(de.refund_amount)}),P.msgSuccess("退款成功"),je.value=!1,M(),Y.value&&((a=c.value)==null?void 0:a.id)===t)try{const g=await J({id:t}),v=(g==null?void 0:g.data)??g??null;v&&(c.value=v),await De(t)}catch{}}catch{}finally{st.value=!1}return}st.value=!0;try{if(await Ci({id:t,fulfillment_status:xe.value}),P.msgSuccess("订单状态已更新"),je.value=!1,M(),Y.value&&((i=c.value)==null?void 0:i.id)===t)try{const d=await J({id:t}),g=(d==null?void 0:d.data)??d??null;g&&(c.value=g)}catch{}}catch{}finally{st.value=!1}}}const lt=b(!1),Sa=b(0),Na=b(!1),Ca=b(),pe=b(0),se=fe({reason:"",refund_amount:void 0}),Un=k(()=>{const t=K(pe.value),e=K(se.refund_amount);return Number(se.refund_amount)>=pe.value-.009?`全额退款 ¥${t}:关联收款标记已退款,已付清零。`:`部分退款 ¥${e}(上限 ¥${t})`}),$n=k(()=>({refund_amount:[{required:!0,message:"请输入退款金额",trigger:"change"},{validator:(t,e,a)=>{const i=Number(e),d=pe.value;if(!Number.isFinite(i)||i<=0)return a(new Error("退款金额须大于 0"));if(d>0&&i>d+.009)return a(new Error(`不能超过 ¥${K(d)}`));a()},trigger:"change"}],reason:[{required:!0,message:"请填写退款原因",trigger:"blur"}]}));function Fn(){var t;Sa.value=0,se.reason="",se.refund_amount=void 0,pe.value=0,(t=Ca.value)==null||t.clearValidate()}async function ys(t){Sa.value=t.id,se.reason="",pe.value=0,lt.value=!0;try{const e=await J({id:t.id}),a=(e==null?void 0:e.data)??e??null,i=Array.isArray(a==null?void 0:a.linked_pay_orders)?a.linked_pay_orders:[],d=Va(i),g=Number(a==null?void 0:a.paid)||0;pe.value=d>0?d:g,se.refund_amount=pe.value}catch{pe.value=0}}async function zn(){var a,i;const t=Sa.value;if(!(!t||!await((a=Ca.value)==null?void 0:a.validate().catch(()=>!1)))){Na.value=!0;try{if(await qs({id:t,reason:se.reason.trim(),refund_amount:Number(se.refund_amount)}),P.msgSuccess("退款成功"),lt.value=!1,M(),Y.value&&((i=c.value)==null?void 0:i.id)===t)try{const d=await J({id:t}),g=(d==null?void 0:d.data)??d??null;g&&(c.value=g),await De(t)}catch{}}catch{}finally{Na.value=!1}}}const nt=b(!1),$t=b(!1),Le=b(0),Ft=b(),Pa=b(!1),zt=b([]),jn=k(()=>A.add_mode==="completion_only"?"不创建或关联支付单,仅提交完单申请,由审核人员在支付审核时处理。":A.add_mode==="create_express"?"通过快递代收创建新支付单(流转同付呗),或关联已存在但未绑定的支付单。":"可以通过付呗创建新支付单,或关联已存在但未绑定的支付单。"),A=fe({add_mode:"create",order_type:3,pay_amount:void 0,pay_remark:"",link_pay_order_ids:[],completion_request:0}),Ln=k(()=>{const t={add_mode:[{required:!0,message:"请选择添加方式",trigger:"change"}]};return A.add_mode==="create"||A.add_mode==="create_express"?(t.order_type=[{required:!0,message:"请选择费用类别",trigger:"change"}],t.pay_amount=[{required:!0,message:"请输入支付金额",trigger:"blur"},{validator:(e,a,i)=>{const d=Number(a);!Number.isFinite(d)||d<=0?i(new Error("金额须大于 0")):i()},trigger:"blur"}]):A.add_mode==="link"&&(t.link_pay_order_ids=[{required:!0,message:"请至少选择一个支付单",trigger:"change",validator:(e,a,i)=>{!Array.isArray(a)||a.length===0?i(new Error("请至少选择一个支付单")):i()}}]),t});async function In(t,e=[]){var a;if(!t){zt.value=[];return}try{Pa.value=!0;const i=await Da({diagnosis_id:t}),d=(i==null?void 0:i.lists)??((a=i==null?void 0:i.data)==null?void 0:a.lists)??[],g=Array.isArray(d)?d.filter(v=>!e.includes(v.id)):[];zt.value=g}catch{zt.value=[]}finally{Pa.value=!1}}function bs(t){var i,d;Le.value=t.id,A.add_mode="create",A.order_type=3,A.pay_amount=void 0,A.pay_remark="",A.link_pay_order_ids=[],A.completion_request=0,nt.value=!0;const e=t.diagnosis_id||((i=c.value)==null?void 0:i.diagnosis_id),a=t.pay_order_ids||((d=c.value)==null?void 0:d.pay_order_ids)||[];e&&In(e,a)}async function qn(){var t;if(Ft.value){await Ft.value.validate(),$t.value=!0;try{if(A.add_mode==="completion_only")await Pi({id:Le.value}),P.msgSuccess("完单申请已提交,请等待支付审核");else if(A.add_mode==="create"||A.add_mode==="create_express")await Ai({id:Le.value,order_type:A.order_type,pay_amount:A.pay_amount,pay_remark:A.pay_remark||"",completion_request:A.completion_request,pay_create_type:A.add_mode==="create_express"?"express_cod":"fubei"}),P.msgSuccess("支付单已新增,请等待审核");else{const e=A.link_pay_order_ids;if(e.length===0){P.msgError("请至少选择一个支付单");return}await Oi({id:Le.value,pay_order_ids:e,completion_request:A.completion_request}),P.msgSuccess(`已关联 ${e.length} 个支付单,请等待审核`)}if(nt.value=!1,M(),Y.value&&((t=c.value)==null?void 0:t.id)===Le.value)try{const e=await J({id:Le.value}),a=(e==null?void 0:e.data)??e??null;a&&(c.value=a)}catch{}}catch{}finally{$t.value=!1}}}function xs(t){ha.value=t.id,xe.value=3,de.reason="",ge.value=[],je.value=!0,En(t.id)}async function Mn(t){var e;try{if(await _t.confirm("确认撤回处方审核?撤回后将重置为「待审核」状态。","撤回处方审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await Ti({id:t.id}),P.msgSuccess("处方审核已撤回"),M(),Y.value&&((e=c.value)==null?void 0:e.id)===t.id)try{const a=await J({id:t.id}),i=(a==null?void 0:a.data)??a??null;i&&(c.value=i)}catch{}}catch{}}async function Bn(t){var e;try{if(await _t.confirm("确认撤回支付单审核?撤回后将重置为「待审核」状态。","撤回支付单审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await Ri({id:t.id}),P.msgSuccess("支付单审核已撤回"),M(),Y.value&&((e=c.value)==null?void 0:e.id)===t.id)try{const a=await J({id:t.id}),i=(a==null?void 0:a.data)??a??null;i&&(c.value=i)}catch{}}catch{}}const Hn="成都双流甄养堂互联网医院 处方笺",jt=b(!1),Lt=b(!1),w=b(null),ks=b(null),Ie=b(!1),It=k(()=>{var e;const t=(e=w.value)==null?void 0:e.herbs;return Array.isArray(t)?t:[]}),hs=k(()=>{var t;return Ms((t=w.value)==null?void 0:t.dietary_taboo)}),Wn=k(()=>{const t=w.value;if(!t||(t.prescription_type||"浓缩水丸")!=="浓缩水丸")return null;const e=Number(t.medication_days??t.usage_days??t.dose_count),a=Number(t.times_per_day),i=Number(t.dosage_amount),d=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;return!Number.isFinite(e)||!Number.isFinite(a)||!Number.isFinite(i)||e<=0||a<=0||i<=0?null:e*a*i*d}),qt=t=>String(t).padStart(2,"0"),Kn=k(()=>{const t=w.value;if(!t)return"—";const e=t.create_time??t.update_time??null;if(e){const a=String(e).length===10?Number(e)*1e3:Number(e),i=new Date(a);if(!isNaN(i.getTime()))return`${i.getFullYear()}-${qt(i.getMonth()+1)}-${qt(i.getDate())} ${qt(i.getHours())}:${qt(i.getMinutes())}`}return t.prescription_date||"—"}),Gn=k(()=>{const t=w.value;if(!t)return"—";const e=String(t.sn??"").trim();if(e)return e;const a=String(t.visit_no??"").trim();return a||"—"}),Jn=k(()=>{const t=w.value;if(!t)return"—";const e=Number(t.appointment_id);return Number.isFinite(e)&&e>0?String(e):"—"}),ws=k(()=>{const t=w.value;return t?String(t.order_no??"").trim():""}),Qn=k(()=>{const t=w.value;if(!t)return"—";if(t.recipient_text)return t.recipient_text;const e=[];(t.recipient_name||t.patient_name)&&e.push(t.recipient_name||t.patient_name),(t.recipient_phone||t.phone)&&e.push(t.recipient_phone||t.phone);let a=t.region;return Array.isArray(a)&&(a=a.filter(Boolean).join("")),a&&e.push(String(a)),t.shipping_address?e.push(String(t.shipping_address)):t.address&&e.push(String(t.address)),e.length?e.join(","):"—"}),Vs=k(()=>{var e;const t=Number((e=w.value)==null?void 0:e.dose_count);return Number.isFinite(t)&&t>0?t:1}),Yn=k(()=>{const e=It.value.reduce((a,i)=>a+(Number(i==null?void 0:i.dosage)||0),0);return rt(e)}),Zn=t=>{const e=Number(t)||0;return rt(e*Vs.value)},Xn=k(()=>{const t=w.value;if(!t)return"—";const e=t.prescription_type||"浓缩水丸";return/丸|散|膏|片/.test(e)?`浓缩丸-${e}`:e}),er=k(()=>{const t=w.value;if(!t)return"—";if(t.usage_text)return t.usage_text;const e=Number(t.times_per_day)>0?Number(t.times_per_day):3,a=t.dosage_amount!=null?Number(t.dosage_amount):10,i=t.dosage_unit||"g",d=t.usage_way||"温水送服",g=t.usage_time||"",v=[];if(v.push(`每天${e}次`),(t.prescription_type||"浓缩水丸")==="浓缩水丸"){const x=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;v.push(`一次${x}袋`),v.push(`每袋${a}${i}`)}else v.push(`一次${a}${i}`);return v.push(d),g&&v.push(g),v.join(", ")}),tr=k(()=>{const t=Wn.value;if(typeof t=="number"&&isFinite(t)&&t>0)return rt(t);const e=w.value;if(!e)return"";const a=e.out_pellet||e.total_weight;if(a&&Number(a)>0)return rt(Number(a));const i=It.value;if(!i.length)return"";const d=i.reduce((g,v)=>g+(Number(v==null?void 0:v.dosage)||0),0);return rt(d*Vs.value)}),Ss=k(()=>{const t=w.value;return t&&t.medical_advice||""}),Ns=k(()=>{const t=w.value;if(!t)return"";const e=[];return e.push(`共${It.value.length}味药`),t.usage_notes&&e.push(String(t.usage_notes)),t.remark&&e.push(String(t.remark)),e.join(" ")}),Cs=k(()=>{const t=w.value;return t&&(t.pharmacy_remark||t.pharmacy_note)||""}),Ps=k(()=>{const t=tr.value;return t?`${t}克`:""});function rt(t){return isFinite(t)?Number.isInteger(t)?String(t):t.toFixed(2).replace(/\.?0+$/,""):"0"}function As(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 ar(t){return t?As(t):"—"}function sr(t){return t===1||t==="1"?"男":t===0||t==="0"?"女":"—"}function lr(t){return t==null||t===""?"—":`${t}岁`}function nr(){Os(m)}async function Os(t){if(!t.prescription_id){P.msgWarning("该订单未关联处方");return}jt.value=!0,Lt.value=!0,w.value=null;try{const e=await Ei({id:t.prescription_id}),a=(e==null?void 0:e.data)??e??null;if(a){const i=t.medication_days,d={...a};i!=null&&String(i).trim()!==""&&(d.medication_days=i),t.order_no&&!d.order_no&&(d.order_no=t.order_no),t.recipient_name&&!d.recipient_name&&(d.recipient_name=t.recipient_name),t.recipient_phone&&!d.recipient_phone&&(d.recipient_phone=t.recipient_phone),t.shipping_address&&!d.shipping_address&&(d.shipping_address=t.shipping_address),t.amount!=null&&d.order_amount==null&&(d.order_amount=t.amount),t.dose_count!=null&&String(t.dose_count).trim()!==""&&Number(t.dose_count)>0&&(d.dose_count=Number(t.dose_count)),t.dose_unit!=null&&String(t.dose_unit).trim()!==""&&(d.dose_unit=String(t.dose_unit));const g=t.linked_appointment;(!d.appointment_id||Number(d.appointment_id)<=0)&&g&&typeof g=="object"&&Number(g.id)>0&&(d.appointment_id=Number(g.id)),w.value=d}else w.value=null}catch(e){P.msgError((e==null?void 0:e.message)||"加载处方详情失败"),jt.value=!1}finally{Lt.value=!1}}async function rr(t){const e=t.querySelectorAll('img[src^="http"]'),a=Array.from(e).map(async i=>{try{const d=await fetch(i.src,{mode:"cors"});if(!d.ok)return;const g=await d.blob(),v=await new Promise((x,$)=>{const le=new FileReader;le.onload=()=>x(le.result),le.onerror=$,le.readAsDataURL(g)});i.src=v}catch{}});await Promise.allSettled(a)}async function Ts(){await ct();const t=ks.value;if(!t)throw new Error("未找到处方笺内容");return t.scrollIntoView({behavior:"instant",block:"nearest"}),await rr(t),await new Promise(e=>requestAnimationFrame(()=>e(null))),await new Promise(e=>setTimeout(e,250)),di(t,{scale:2,useCORS:!0,allowTaint:!1,logging:!1,backgroundColor:"#ffffff",windowWidth:t.scrollWidth,windowHeight:t.scrollHeight,width:t.scrollWidth,height:t.scrollHeight,ignoreElements:e=>e instanceof HTMLElement&&e.classList.contains("cf-slip-no-export")})}function Rs(){var a;const t=(a=w.value)==null?void 0:a.patient_name;return`处方_${typeof t=="string"&&t.trim()?t.trim().replace(/[\\/:*?"<>|]/g,"_"):"未命名"}_${Date.now()}`}async function ir(){if(w.value){Ie.value=!0;try{const t=await Ts(),e=document.createElement("a");e.download=`${Rs()}.png`,e.href=t.toDataURL("image/png"),e.click(),P.msgSuccess("图片已下载")}catch{P.msgError("下载图片失败")}finally{Ie.value=!1}}}async function or(){if(w.value){Ie.value=!0;try{const t=await Ts(),e=t.toDataURL("image/jpeg",.95),a=new ui({orientation:"portrait",unit:"mm",format:"a4"}),i=210,d=297,g=i,v=t.height*g/t.width;if(v<=d)a.addImage(e,"JPEG",0,0,g,v);else{let x=v,$=0;for(;x>0;)a.addImage(e,"JPEG",0,$,g,v),x-=d,$-=d,x>0&&a.addPage()}a.save(`${Rs()}.pdf`),P.msgSuccess("PDF已下载")}catch{P.msgError("下载PDF失败")}finally{Ie.value=!1}}}return(t,e)=>{const a=fr,i=vr,d=hr,g=Sr,v=Vr,x=Cr,$=Nr,le=Pr,V=Ar,F=wr,ye=Or,he=Dr,Mt=Er,Es=Rr,Aa=pi,it=Ur,ee=$r,ce=zr,qe=Fr,N=Lr,ot=jr,U=qr,Bt=Ir,Oa=Hr,Ds=Gr,Us=Kr,Ta=Jr,ne=Qr,me=Yr,$s=Zr,H=ei,ur=ti,Ht=Xr,dr=si,pr=ai,cr=li,Me=ri,Fs=ni,Pe=kr,j=mr("perms");return u(),_("div",Ki,[e[279]||(e[279]=s("header",{class:"po-h5-hero","aria-label":"页面概览"},[s("div",{class:"po-h5-hero__text"},[s("h1",{class:"po-h5-hero__title"},"业务订单"),s("p",{class:"po-h5-hero__sub"},"履约、双审与收款一览;点卡片进入详情")])],-1)),l(a,{class:"po-h5-surface po-h5-surface--chips !mb-3 !border-none shadow-none",shadow:"never"},{default:n(()=>[s("div",Gi,[Ve.value?(u(),_("div",Ji,[e[98]||(e[98]=s("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"处方审核",-1)),(u(),_(T,null,W(ml,r=>s("div",{key:r.value,class:L(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",h.prescription_audit_status===r.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:O=>vl(r.value)},[s("span",Yi,o(r.label),1)],10,Qi)),64))])):f("",!0),s("div",Zi,[e[99]||(e[99]=s("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"支付单审核",-1)),(u(),_(T,null,W(fl,r=>s("div",{key:r.value,class:L(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",h.payment_slip_audit_status===r.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:O=>gl(r.value)},[s("span",eo,o(r.label),1)],10,Xi)),64))]),s("div",to,[e[100]||(e[100]=s("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"发货状态",-1)),(u(),_(T,null,W(ol,r=>s("div",{key:"fs-"+String(r.value),class:L(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",h.fulfillment_status===r.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:O=>ul(r.value)},[s("span",so,o(r.label),1)],10,ao)),64))]),s("div",lo,[e[101]||(e[101]=s("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"供货方式",-1)),(u(),_(T,null,W(dl,r=>s("div",{key:"sm-"+String(r.value),class:L(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",h.supply_mode===r.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:O=>pl(r.value)},[s("span",ro,o(r.label),1)],10,no)),64))]),s("div",io,[e[102]||(e[102]=s("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"快递方式",-1)),(u(),_(T,null,W(cl,r=>s("div",{key:"ec-"+String(r.value),class:L(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",h.express_company===r.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:O=>_l(r.value)},[s("span",uo,o(r.label),1)],10,oo)),64))])])]),_:1}),l(a,{class:"po-h5-surface po-filter-card !mb-3 !border-none shadow-none",shadow:"never"},{default:n(()=>[R((u(),_("div",po,[s("div",co,[e[103]||(e[103]=s("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)),s("div",_o,[s("div",null,[s("div",mo,[l(i,{size:16,class:"text-sky-500"},{default:n(()=>[l(E(gr))]),_:1}),p(" "+o(_e.value.orderHeading),1)]),s("div",fo,[s("div",vo," ¥"+o(_e.value.orderPerformanceStr),1),s("div",go,[s("span",null,"合计 ¥"+o(_e.value.orderStr),1),s("span",yo,"已取消 ¥"+o(_e.value.orderCancelledStr),1)])])]),s("div",bo,[l(i,{size:20},{default:n(()=>[l(E(yr))]),_:1})])]),s("p",xo,o(_e.value.periodLine),1)]),s("div",ko,[e[104]||(e[104]=s("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)),s("div",ho,[s("div",null,[s("div",wo,[l(i,{size:16,class:"text-emerald-500"},{default:n(()=>[l(E(br))]),_:1}),p(" "+o(_e.value.payHeading),1)]),s("div",Vo,[s("div",So," ¥"+o(_e.value.payPerformanceStr),1),s("div",No,[s("span",null,"合计 ¥"+o(_e.value.payStr),1),s("span",Co,"已取消 ¥"+o(_e.value.payCancelledStr),1)])])]),s("div",Po,[l(i,{size:20},{default:n(()=>[l(E(xr))]),_:1})])]),s("p",Ao,o(_e.value.periodLine),1)])])),[[Pe,E(te).loading]]),e[108]||(e[108]=s("p",{class:"po-h5-stats-hint text-center text-[12px] leading-snug text-slate-500 px-1 -mt-2 mb-3"},[p(" 上方为接口返回的"),s("strong",{class:"text-slate-600 font-medium"},"业绩汇总"),p("(未选创建日期时为今日;选了则为该区间);下方列表是当前筛选条件下的订单,"),s("strong",{class:"text-slate-600 font-medium"},"条数与金额和上面不必相等"),p("。 ")],-1)),s("div",{class:"po-filter-toggle",onClick:e[0]||(e[0]=r=>kt.value=!kt.value)},[s("div",Oo,[l(i,null,{default:n(()=>[l(E(Ra))]),_:1}),e[105]||(e[105]=s("span",null,"筛选条件",-1)),Xa.value>0?(u(),y(d,{key:0,size:"small",type:"primary",effect:"dark",round:""},{default:n(()=>[p(o(Xa.value),1)]),_:1})):f("",!0)]),l(i,{class:L(["po-filter-toggle__arrow",{"is-open":!kt.value}])},{default:n(()=>[l(E(js))]),_:1},8,["class"])]),R(l(F,{class:"ls-form stats-filter-form",model:h,inline:""},{default:n(()=>[l(ci,{"time-type":E(Oe),"onUpdate:timeType":e[1]||(e[1]=r=>Ea(Oe)?Oe.value=r:null),"date-range":E(Jt),"onUpdate:dateRange":e[2]||(e[2]=r=>Ea(Jt)?Jt.value=r:null),label:"创建时间",variant:"inline","show-all":"","picker-width":"260px",onTimeTypeChange:hl,onCustomChange:wl},null,8,["time-type","date-range"]),l(v,{class:"w-[260px]",label:"订单号"},{default:n(()=>[l(g,{modelValue:h.order_no,"onUpdate:modelValue":e[3]||(e[3]=r=>h.order_no=r),placeholder:"业务订单号",clearable:"",onKeyup:pt(E(Q),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(v,{class:"w-[140px]",label:"处方ID"},{default:n(()=>[l(g,{modelValue:h.prescription_id,"onUpdate:modelValue":e[4]||(e[4]=r=>h.prescription_id=r),placeholder:"处方ID",clearable:"",onKeyup:pt(E(Q),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(v,{class:"w-[220px]",label:"患者"},{default:n(()=>[l(g,{modelValue:h.patient_keyword,"onUpdate:modelValue":e[5]||(e[5]=r=>h.patient_keyword=r),placeholder:"姓名 / 手机号",clearable:"",onKeyup:pt(E(Q),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(v,{class:"w-[220px]",label:"快递"},{default:n(()=>[l(g,{modelValue:h.express_keyword,"onUpdate:modelValue":e[6]||(e[6]=r=>h.express_keyword=r),placeholder:"快递单号 / 公司",clearable:"",onKeyup:pt(E(Q),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),Xs.value?(u(),y(v,{key:0,class:"w-[200px]",label:"下单人"},{default:n(()=>[l($,{modelValue:h.audit_admin_id,"onUpdate:modelValue":e[7]||(e[7]=r=>h.audit_admin_id=r),clearable:"",filterable:"",placeholder:"全部下单人",class:"!w-full"},{default:n(()=>[(u(!0),_(T,null,W(za.value,r=>(u(),y(x,{key:r.id,label:r.name,value:r.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})):f("",!0),l(v,{class:"w-[200px]",label:"医生"},{default:n(()=>[l($,{modelValue:h.doctor_id,"onUpdate:modelValue":e[8]||(e[8]=r=>h.doctor_id=r),clearable:"",filterable:"",placeholder:"开方医生",class:"!w-full"},{default:n(()=>[(u(!0),_(T,null,W(Gt.value,r=>(u(),y(x,{key:r.id,label:r.name,value:r.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(v,{class:"w-[220px] min-w-[200px]",label:"医助部门"},{default:n(()=>[l(le,{modelValue:h.assistant_dept_id,"onUpdate:modelValue":e[9]||(e[9]=r=>h.assistant_dept_id=r),data:vt.value,class:"!w-full",clearable:"",filterable:"","check-strictly":"","default-expand-all":!0,"node-key":"id",props:al,placeholder:"医助部门(选父级含子级)",onChange:Nl},null,8,["modelValue","data"])]),_:1}),l(v,{class:"w-[200px]",label:"医助"},{default:n(()=>[l($,{modelValue:h.assistant_id,"onUpdate:modelValue":e[10]||(e[10]=r=>h.assistant_id=r),clearable:"",filterable:"",placeholder:"诊单医助",class:"!w-full"},{default:n(()=>[(u(!0),_(T,null,W(Ma.value,r=>(u(),y(x,{key:r.id,label:r.name,value:r.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(v,null,{default:n(()=>[l(V,{type:"primary",onClick:E(Q)},{default:n(()=>[...e[106]||(e[106]=[p("查询",-1)])]),_:1},8,["onClick"]),l(V,{onClick:Cl},{default:n(()=>[...e[107]||(e[107]=[p("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"]),[[Wt,!kt.value]])]),_:1}),R((u(),y(a,{class:"po-h5-surface po-table-card !mt-0 !border-none shadow-none",shadow:"never"},{default:n(()=>[s("div",To,[s("div",Ro,[s("div",Eo,[e[109]||(e[109]=s("span",{class:"po-table-title text-gray-800"},"订单列表",-1)),s("span",Do,"共 "+o(E(te).count)+" 条",1)]),s("div",Uo,[s("div",{class:L(["po-focus-board__item is-pending-rx",{"is-active":ie.value==="pendingRx"}]),onClick:e[11]||(e[11]=r=>gt("pendingRx"))},[e[110]||(e[110]=s("span",{class:"po-focus-board__label"},"待处方审核",-1)),s("strong",$o,o(yt.value.pendingRx),1)],2),s("div",{class:L(["po-focus-board__item is-pending-pay",{"is-active":ie.value==="pendingPay"}]),onClick:e[12]||(e[12]=r=>gt("pendingPay"))},[e[111]||(e[111]=s("span",{class:"po-focus-board__label"},"待支付审核",-1)),s("strong",Fo,o(yt.value.pendingPay),1)],2),s("div",{class:L(["po-focus-board__item is-pending-ship",{"is-active":ie.value==="pendingShip"}]),onClick:e[13]||(e[13]=r=>gt("pendingShip"))},[e[112]||(e[112]=s("span",{class:"po-focus-board__label"},"待发货",-1)),s("strong",zo,o(yt.value.pendingShip),1)],2),s("div",{class:L(["po-focus-board__item is-risk",{"is-active":ie.value==="risk"}]),onClick:e[14]||(e[14]=r=>gt("risk"))},[e[113]||(e[113]=s("span",{class:"po-focus-board__label"},"重点异常",-1)),s("strong",jo,o(yt.value.risk),1)],2)])])]),s("div",Lo,[!E(te).lists.length&&!E(te).loading?(u(),y(ye,{key:0,description:"暂无订单","image-size":88})):f("",!0),(u(!0),_(T,null,W(E(te).lists,r=>(u(),_("div",{key:r.id,class:L(["po-card",{"po-card--focus":bt&&bt({row:r})==="po-row-focus","po-card--risk":bt&&bt({row:r})==="po-row-risk"}]),onClick:O=>fa(r.id)},[s("div",qo,[s("div",Mo,[s("span",Bo,o(r.order_no||"—"),1)]),s("div",Ho,[l(d,{size:"small",effect:"plain",type:E(Ui)(r)},{default:n(()=>[p(o(E($i)(r)),1)]),_:2},1032,["type"]),s("span",Wo,"#"+o(r.id),1)])]),Nt(r.recipient_phone,r.prescription_phone)?(u(),_("div",Ko,[l(i,null,{default:n(()=>[l(E(Tr))]),_:1}),e[114]||(e[114]=s("span",null,"收货手机与处方手机不一致",-1))])):f("",!0),s("div",Go,[s("div",Jo,[e[115]||(e[115]=s("span",{class:"po-card__label"},"收货人",-1)),s("span",Qo,o(r.recipient_name||"—"),1)]),s("div",Yo,[e[116]||(e[116]=s("span",{class:"po-card__label"},"金额",-1)),s("span",Zo,"¥"+o(r.amount),1)])]),s("div",Xo,[s("div",eu,[e[117]||(e[117]=s("span",{class:"po-card__label"},"手机",-1)),s("span",{class:L(["po-card__value",Nt(r.recipient_phone,r.prescription_phone)?"text-red-600 font-semibold":""])},o(r.recipient_phone||"—"),3)]),s("div",tu,[e[118]||(e[118]=s("span",{class:"po-card__label"},"费用类别",-1)),s("span",au,o(xt(r.fee_type)),1)])]),s("div",su,[s("div",lu,[e[119]||(e[119]=s("span",{class:"po-card__label"},"处方ID",-1)),s("span",nu,o(r.prescription_id||"—"),1)]),s("div",ru,[e[120]||(e[120]=s("span",{class:"po-card__label"},"诊单ID",-1)),s("span",iu,o(r.diagnosis_id||"—"),1)])]),ja()&&r.internal_cost!=null&&r.internal_cost!==""?(u(),_("div",ou,[s("div",uu,[e[121]||(e[121]=s("span",{class:"po-card__label"},"内部成本",-1)),s("span",du,"¥"+o(r.internal_cost),1)]),s("div",pu,[e[122]||(e[122]=s("span",{class:"po-card__label"},"关联支付",-1)),s("span",cu,[Number(r.linked_pay_order_count)>0?(u(),_("span",_u,o(r.linked_pay_order_count)+" 笔",1)):(u(),_("span",mu,"—"))])])])):(u(),_("div",fu,[s("div",vu,[e[123]||(e[123]=s("span",{class:"po-card__label"},"关联支付",-1)),s("span",gu,[Number(r.linked_pay_order_count)>0?(u(),_("span",yu,o(r.linked_pay_order_count)+" 笔",1)):(u(),_("span",bu,"—"))])]),s("div",xu,[e[124]||(e[124]=s("span",{class:"po-card__label"},"创建时间",-1)),s("span",ku,o(Se(r.create_time)),1)])])),s("div",hu,[l(d,{type:Ha(r.prescription_audit_status),size:"small",class:L(Qt("rx",r))},{default:n(()=>[p(" 处方审: "+o(Ba(r.prescription_audit_status)),1)]),_:2},1032,["type","class"]),l(d,{type:Ha(r.payment_slip_audit_status),size:"small",class:L(Qt("pay",r))},{default:n(()=>[p(" 支付审: "+o(Ba(r.payment_slip_audit_status)),1)]),_:2},1032,["type","class"]),l(d,{type:Pl(r.fulfillment_status),size:"small",class:L(Qt("fulfillment",r))},{default:n(()=>[p(o(Yt(r.fulfillment_status)),1)]),_:2},1032,["type","class"])]),s("div",wu,[r.doctor_name?(u(),_("span",Vu,"医:"+o(r.doctor_name),1)):f("",!0),r.creator_name?(u(),_("span",Su,"建:"+o(r.creator_name),1)):f("",!0),ja()&&r.internal_cost!=null&&r.internal_cost!==""?f("",!0):(u(),_("span",Nu,o(Se(r.create_time)),1))]),s("div",{class:"po-card__actions",onClick:e[15]||(e[15]=Kt(()=>{},["stop"]))},[R((u(),y(V,{type:"primary",size:"small",onClick:O=>fa(r.id)},{default:n(()=>[p(o(el.value),1)]),_:1},8,["onClick"])),[[j,["tcm.prescriptionOrder/detail"]]]),Ja(r)?R((u(),y(V,{key:0,size:"small",onClick:O=>gn(r)},{default:n(()=>[...e[125]||(e[125]=[p("编辑",-1)])]),_:1},8,["onClick"])),[[j,["tcm.prescriptionOrder/edit"]]]):f("",!0),Dl(r)?R((u(),y(V,{key:1,type:"success",size:"small",onClick:O=>Nn(r)},{default:n(()=>[...e[126]||(e[126]=[p("改单号",-1)])]),_:1},8,["onClick"])),[[j,["tcm.prescriptionOrder/ddcode"]]]):f("",!0),Zt(r)?R((u(),y(V,{key:2,type:"primary",size:"small",onClick:O=>ka(r)},{default:n(()=>[...e[127]||(e[127]=[p("发货",-1)])]),_:1},8,["onClick"])),[[j,["tcm.prescriptionOrder/ship"]]]):f("",!0),Ul(r)?(u(),y(Es,{key:3,trigger:"click",onCommand:O=>$l(O,r)},{dropdown:n(()=>[l(Mt,null,{default:n(()=>[Xt(r)?(u(),y(he,{key:0,command:"addPayOrder"},{default:n(()=>[...e[129]||(e[129]=[p("补齐支付单",-1)])]),_:1})):f("",!0),ea(r)?(u(),y(he,{key:1,command:"complete"},{default:n(()=>[...e[130]||(e[130]=[p("完成订单",-1)])]),_:1})):f("",!0),ta(r)?(u(),y(he,{key:2,command:"refund"},{default:n(()=>[...e[131]||(e[131]=[s("span",{class:"text-red-500"},"退款",-1)])]),_:1})):f("",!0),Ya(r)?R((u(),y(he,{key:3,command:"uploadPharmacy"},{default:n(()=>[...e[132]||(e[132]=[p("上传药房",-1)])]),_:1})),[[j,["tcm.prescriptionOrder/uploadToPharmacy"]]]):f("",!0),Qa(r)?(u(),y(he,{key:4,command:"withdraw",divided:""},{default:n(()=>[...e[133]||(e[133]=[s("span",{class:"text-red-500"},"撤回订单",-1)])]),_:1})):f("",!0)]),_:2},1024)]),default:n(()=>[l(V,{size:"small"},{default:n(()=>[e[128]||(e[128]=p(" 更多",-1)),l(i,{class:"el-icon--right"},{default:n(()=>[l(E(js))]),_:1})]),_:1})]),_:2},1032,["onCommand"])):f("",!0)])],10,Io))),128))]),s("div",Cu,[l(Aa,{modelValue:E(te),"onUpdate:modelValue":e[16]||(e[16]=r=>Ea(te)?te.value=r:null),onChange:E(M)},null,8,["modelValue","onChange"])])]),_:1})),[[Pe,E(te).loading]]),l(Ta,{modelValue:Y.value,"onUpdate:modelValue":e[28]||(e[28]=r=>Y.value=r),class:"po-detail-drawer po-detail-drawer--h5",size:"100%",direction:"btt","destroy-on-close":"","close-on-click-modal":!1},{header:n(()=>{var r,O;return[s("div",Pu,[s("div",Au,[e[134]||(e[134]=s("span",{class:"po-detail-drawer-title shrink-0 text-gray-800 font-semibold text-lg"},"业务订单详情",-1)),(r=c.value)!=null&&r.order_no?(u(),y(d,{key:0,type:"primary",effect:"plain",round:"",class:"max-w-full !whitespace-normal break-all text-left leading-snug"},{default:n(()=>[p(o(c.value.order_no),1)]),_:1})):f("",!0),(O=c.value)!=null&&O.gancao_reciperl_order_no?(u(),y(d,{key:1,type:"success",effect:"plain",round:"",class:"max-w-full !whitespace-normal break-all text-left leading-snug"},{default:n(()=>[p("甘草 "+o(c.value.gancao_reciperl_order_no),1)]),_:1})):f("",!0)]),c.value?(u(),_("div",Ou,[l(mi,{order:c.value,onResolved:Pn},null,8,["order"]),Ol(c.value)?R((u(),y(V,{key:0,type:"warning",size:"small",plain:"",onClick:e[17]||(e[17]=C=>cs(c.value,"prescription"))},{default:n(()=>[...e[135]||(e[135]=[p(" 处方审核 ",-1)])]),_:1})),[[j,["tcm.prescriptionOrder/auditPrescription"]]]):f("",!0),Rl(c.value)?R((u(),y(V,{key:1,type:"info",size:"small",plain:"",onClick:e[18]||(e[18]=C=>Mn(c.value))},{default:n(()=>[...e[136]||(e[136]=[p(" 撤回处方审核 ",-1)])]),_:1})),[[j,["tcm.prescriptionOrder/auditPrescription"]]]):f("",!0),Tl(c.value)?R((u(),y(V,{key:2,type:"warning",size:"small",plain:"",onClick:e[19]||(e[19]=C=>cs(c.value,"payment"))},{default:n(()=>[...e[137]||(e[137]=[p(" 支付审核 ",-1)])]),_:1})),[[j,["tcm.prescriptionOrder/auditPayment"]]]):f("",!0),El(c.value)?R((u(),y(V,{key:3,type:"info",size:"small",plain:"",onClick:e[20]||(e[20]=C=>Bn(c.value))},{default:n(()=>[...e[138]||(e[138]=[p(" 撤回支付审核 ",-1)])]),_:1})),[[j,["tcm.prescriptionOrder/auditPayment"]]]):f("",!0),Zt(c.value)?R((u(),y(V,{key:4,type:"primary",size:"small",plain:"",onClick:e[21]||(e[21]=C=>ka(c.value))},{default:n(()=>[...e[139]||(e[139]=[p(" 确认发货 ",-1)])]),_:1})),[[j,["tcm.prescriptionOrder/ship"]]]):f("",!0),Xt(c.value)?R((u(),y(V,{key:5,type:"success",size:"small",plain:"",onClick:e[22]||(e[22]=C=>bs(c.value))},{default:n(()=>[...e[140]||(e[140]=[p(" 关联支付单 ",-1)])]),_:1})),[[j,["tcm.prescriptionOrder/addPayOrder"]]]):f("",!0),ea(c.value)?R((u(),y(V,{key:6,type:"primary",size:"small",plain:"",onClick:e[23]||(e[23]=C=>xs(c.value))},{default:n(()=>[...e[141]||(e[141]=[p(" 完成订单 ",-1)])]),_:1})),[[j,["tcm.prescriptionOrder/complete"]]]):f("",!0),ta(c.value)?R((u(),y(V,{key:7,type:"danger",size:"small",plain:"",onClick:e[24]||(e[24]=C=>ys(c.value))},{default:n(()=>[...e[142]||(e[142]=[p(" 退款 ",-1)])]),_:1})),[[j,["tcm.prescriptionOrder/refund"]]]):f("",!0)])):f("",!0)])]}),default:n(()=>[sa.value?(u(),y(it,{key:0,rows:12,animated:"",class:"px-6 py-4"})):c.value?(u(),_("div",Tu,[He.value?(u(),y(ee,{key:0,type:"error",closable:!1,"show-icon":"",class:"mb-4 !items-start",title:"业务订单收货手机与处方登记手机不一致"},{default:n(()=>[s("div",Ru,[s("div",null,[e[143]||(e[143]=p(" 处方手机: ",-1)),s("span",Eu,o(jl.value),1)]),s("div",null,[e[144]||(e[144]=p(" 订单收货手机: ",-1)),s("span",Du,o(Ll.value),1)]),e[145]||(e[145]=s("div",{class:"text-gray-600 mt-1"},"请核对是否代收货或录入错误,避免物流与回访联系错人。",-1))])]),_:1})):f("",!0),s("div",Uu,[l(qe,{class:"po-workflow-steps",direction:"vertical",active:ht.value,"finish-status":"success"},{default:n(()=>[l(ce,{title:"业务订单创建",description:Se(c.value.create_time)},null,8,["description"]),l(ce,{title:"处方单双审",status:wt.value},{description:n(()=>[wt.value==="error"?(u(),_("span",$u,"处方被驳回")):wt.value==="wait"?(u(),_("span",Fu,"等待审核")):wt.value==="success"?(u(),_("span",zu,"双审通过")):(u(),_("span",ju,"进行中"))]),_:1},8,["status"]),l(ce,{title:"支付单审核",status:Vt.value},{description:n(()=>[Vt.value==="error"?(u(),_("span",Lu,"支付审核驳回")):Vt.value==="wait"?(u(),_("span",Iu,"等待审核")):Vt.value==="success"?(u(),_("span",qu,"审核通过")):(u(),_("span",Mu,"进行中"))]),_:1},8,["status"]),l(ce,{title:"发货与履约",status:Te.value},{description:n(()=>{var r,O,C;return[Te.value==="process"&&Number((r=c.value)==null?void 0:r.fulfillment_status)===7?(u(),_("span",Bu,"进行中")):Te.value==="process"?(u(),_("span",Hu,"等待发货/补充单号")):Te.value==="wait"?(u(),_("span",Wu,"待转入履约")):Te.value==="success"?(u(),_("span",Ku,o(Yt((O=c.value)==null?void 0:O.fulfillment_status)),1)):Te.value==="error"?(u(),_("span",Gu,o(Yt((C=c.value)==null?void 0:C.fulfillment_status)),1)):f("",!0)]}),_:1},8,["status"]),l(ce,{title:"订单完成"})]),_:1},8,["active"])]),s("div",Ju,[l(a,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:n(()=>[s("div",Qu,[e[147]||(e[147]=s("div",{class:"stat-title text-gray-500 text-xs"},"总金额",-1)),aa(c.value)?R((u(),y(V,{key:0,type:"primary",size:"small",link:"",onClick:nn},{default:n(()=>[...e[146]||(e[146]=[p(" 修改 ",-1)])]),_:1})),[[j,["tcm.prescriptionOrder/updateAmount"]]]):f("",!0)]),s("div",Yu,"¥"+o(c.value.amount),1)]),_:1}),l(a,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:n(()=>[e[148]||(e[148]=s("div",{class:"stat-title text-gray-500 text-xs mb-1"},"已付总额",-1)),s("div",Zu,"¥"+o(c.value.linked_pay_paid_total||0),1)]),_:1}),l(a,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:n(()=>[e[149]||(e[149]=s("div",{class:"stat-title text-gray-500 text-xs mb-1"},"退款金额",-1)),s("div",{class:L(["stat-value font-bold text-xl",Number(c.value.refund_amount)>0?"text-rose-500":"text-gray-400"])}," ¥"+o(K(c.value.refund_amount||0)),3)]),_:1}),l(a,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:n(()=>[e[150]||(e[150]=s("div",{class:"stat-title text-gray-500 text-xs mb-1"},"需代收",-1)),s("div",{class:L(["stat-value font-bold text-xl",es.value>0?"text-amber-600":"text-gray-500"])}," ¥"+o(K(es.value)),3)]),_:1}),l(a,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:n(()=>[e[151]||(e[151]=s("div",{class:"stat-title text-gray-500 text-xs mb-1"},"已付笔数",-1)),s("div",Xu,o(la.value.length)+" 笔",1)]),_:1})]),s("div",ed,[l(a,{shadow:"never",class:"po-panel po-panel-rx border-gray-100 h-full relative overflow-hidden"},{header:n(()=>[s("div",sd,[s("div",ld,[e[154]||(e[154]=s("span",{class:"po-panel-rx-header__title font-medium text-[15px] leading-snug"},"处方详情",-1)),s("span",nd," ID: "+o(c.value.prescription_id||"—"),1)]),c.value.doctor_name?(u(),_("div",rd,[e[155]||(e[155]=p(" 开方人:",-1)),s("span",id,o(c.value.doctor_name),1)])):f("",!0),s("div",od,[c.value.prescription_id&&S.value&&!String(c.value.prescription_detail_error||"").trim()?R((u(),y(V,{key:0,type:"default",size:"small",link:"",onClick:an},{default:n(()=>[...e[156]||(e[156]=[p(" 改患者信息 ",-1)])]),_:1})),[[j,["tcm.prescriptionOrder/patchPrescriptionPatient"]]]):f("",!0),c.value.prescription_id&&Ve.value?(u(),y(V,{key:1,type:"primary",size:"small",link:"",onClick:e[25]||(e[25]=r=>Os(c.value))},{default:n(()=>[...e[157]||(e[157]=[p(" 详细 ",-1)])]),_:1})):f("",!0),c.value.id&&Ve.value?(u(),y(V,{key:2,type:"warning",size:"small",link:"",loading:ze.value,icon:E(Ra),onClick:Vn},{default:n(()=>[...e[158]||(e[158]=[p(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):f("",!0)])])]),default:n(()=>[c.value.prescription_audit_status===1?(u(),_("div",td,[...e[152]||(e[152]=[s("div",{class:"stamp-inner"},"审核通过",-1)])])):f("",!0),c.value.prescription_audit_status===2?(u(),_("div",ad,[...e[153]||(e[153]=[s("div",{class:"stamp-inner"},"已驳回",-1)])])):f("",!0),String(c.value.prescription_detail_error||"").trim()?(u(),y(ee,{key:2,title:c.value.prescription_detail_error,type:"warning",closable:!1,"show-icon":"",class:"mb-3"},null,8,["title"])):S.value?(u(),_(T,{key:3},[l(ot,{column:1,border:"",size:"small",class:"po-desc bg-white"},{default:n(()=>[l(N,{label:"处方编号",span:2},{default:n(()=>[p(o(S.value.sn||"—"),1)]),_:1}),l(N,{label:"患者"},{default:n(()=>[p(o(S.value.patient_name||"—"),1)]),_:1}),l(N,{label:"性别 / 年龄"},{default:n(()=>[p(o(S.value.gender_desc||"—")+" · "+o(S.value.age??"—")+"岁 ",1)]),_:1}),l(N,{label:"手机"},{default:n(()=>[s("span",{class:L(He.value?"rx-phone-mismatch text-red-600 font-bold":"")},o(S.value.phone||"—"),3),He.value?(u(),y(d,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:n(()=>[...e[159]||(e[159]=[p(" 与订单手机不一致 ",-1)])]),_:1})):f("",!0)]),_:1}),l(N,{label:"处方日期"},{default:n(()=>[p(o(S.value.prescription_date||"—"),1)]),_:1}),l(N,{label:"医师"},{default:n(()=>[p(o(S.value.doctor_name||"—"),1)]),_:1}),l(N,{label:"类型"},{default:n(()=>[p(o(S.value.prescription_type||"—"),1)]),_:1}),l(N,{label:"临床诊断",span:2},{default:n(()=>[p(o(S.value.clinical_diagnosis||"—"),1)]),_:1}),Ve.value?(u(),y(N,{key:0,label:"剂数 / 用法",span:2},{default:n(()=>[p(o(c.value.dose_count??S.value.dose_count??"—")+" "+o(c.value.dose_unit||"剂")+" · "+o(S.value.usage_instruction||S.value.usage_method||"—"),1)]),_:1})):f("",!0),l(N,{label:"处方金额"},{default:n(()=>[s("span",ud,"¥"+o(S.value.amount??"—"),1)]),_:1}),l(N,{label:"消费者审核"},{default:n(()=>[l(d,{type:Bl(S.value.audit_status),size:"small"},{default:n(()=>[p(o(Ml(S.value.audit_status)),1)]),_:1},8,["type"])]),_:1}),l(N,{label:"用量"},{default:n(()=>[s("div",dd,[s("div",null,[Ne.value?(u(),_("span",pd,"主方:")):f("",!0),S.value.dosage_amount?(u(),_(T,{key:1},[p(o(S.value.dosage_amount)+o(S.value.dosage_unit||"g")+" ",1),S.value.prescription_type==="浓缩水丸"?(u(),_(T,{key:0},[p(" · "+o(Number(S.value.dosage_bag_count)>0?Number(S.value.dosage_bag_count):1)+"袋 ",1)],64)):f("",!0),S.value.prescription_type==="饮片"&&S.value.need_decoction!==null?(u(),_("span",cd," ("+o(S.value.need_decoction?"代煎":"不代煎")+") ",1)):f("",!0)],64)):(u(),_(T,{key:2},[p("—")],64))]),Ne.value&&X.value?(u(),_("div",_d,[e[160]||(e[160]=s("span",{class:"text-gray-500 mr-1"},"辅方:",-1)),X.value.dosage_amount!=null&&X.value.dosage_amount!==0?(u(),_(T,{key:0},[p(o(X.value.dosage_amount)+o(S.value.dosage_unit||"g")+" ",1),S.value.prescription_type==="浓缩水丸"?(u(),_(T,{key:0},[p(" · "+o(Number(X.value.dosage_bag_count)>0?Number(X.value.dosage_bag_count):1)+"袋 ",1)],64)):f("",!0),S.value.prescription_type==="饮片"?(u(),_("span",md," ("+o(X.value.need_decoction?"代煎":"不代煎")+") ",1)):f("",!0)],64)):(u(),_(T,{key:1},[p("—")],64))])):f("",!0)])]),_:1}),l(N,null,{label:n(()=>[s("div",fd,[e[162]||(e[162]=s("span",null,"服用方式",-1)),c.value.prescription_id&&S.value&&!String(c.value.prescription_detail_error||"").trim()?R((u(),y(V,{key:0,type:"primary",size:"small",link:"",onClick:Xl},{default:n(()=>[...e[161]||(e[161]=[p(" 修改 ",-1)])]),_:1})),[[j,["tcm.prescriptionOrder/patchPrescriptionUsage"]]]):f("",!0)])]),default:n(()=>[s("div",vd,[Ne.value?(u(),_(T,{key:0},[s("div",null,[e[163]||(e[163]=s("span",{class:"text-gray-500 mr-1"},"主方:",-1)),p(" 每天 "+o(S.value.times_per_day?S.value.times_per_day+" 次":"— 次")+" · 处方开立 "+o(S.value.usage_days!=null&&S.value.usage_days!==""?S.value.usage_days+" 天":"— 天"),1)]),X.value?(u(),_("div",gd,[e[164]||(e[164]=s("span",{class:"text-gray-500 mr-1"},"辅方:",-1)),p(" 每天 "+o(X.value.times_per_day?X.value.times_per_day+" 次":"— 次")+" · 处方开立 "+o(X.value.usage_days!=null&&Number(X.value.usage_days)>0?X.value.usage_days+" 天":"— 天"),1)])):f("",!0)],64)):(u(),_(T,{key:1},[s("div",null,[e[165]||(e[165]=s("span",{class:"text-gray-500"},"每天次数:",-1)),p(" "+o(S.value.times_per_day?S.value.times_per_day+" 次":"—"),1)]),s("div",null,[e[166]||(e[166]=s("span",{class:"text-gray-500"},"处方开立:",-1)),p(" "+o(S.value.usage_days!=null&&S.value.usage_days!==""?S.value.usage_days+" 天":"—"),1)])],64)),s("div",null,[e[167]||(e[167]=s("span",{class:"text-gray-500"},"订单设置:",-1)),p(" "+o(c.value.medication_days!=null&&String(c.value.medication_days).trim()!==""?c.value.medication_days+" 天":"—"),1)])])]),_:1}),as.value?(u(),y(N,{key:1,label:"忌口",span:2},{default:n(()=>[p(o(as.value),1)]),_:1})):f("",!0),l(N,{label:"状态",span:2},{default:n(()=>[l(d,{type:Number(S.value.void_status)===1?"danger":"success",size:"small"},{default:n(()=>[p(o(Number(S.value.void_status)===1?"已作废":"正常"),1)]),_:1},8,["type"])]),_:1})]),_:1}),Il.value?(u(),_("div",yd,[e[168]||(e[168]=s("div",{class:"text-xs font-medium text-gray-500 mb-2 px-1"},"药材明细",-1)),ls.value.length?(u(),y(Bt,{key:0,data:ls.value,size:"small",border:"",stripe:"","max-height":"260"},{default:n(()=>[l(U,{type:"index",label:"#",width:"48",align:"center"}),l(U,{prop:"name",label:"药名","min-width":"120","show-overflow-tooltip":""}),l(U,{prop:"dosage",label:"用量(g)",width:"96",align:"right"})]),_:1},8,["data"])):(u(),y(ye,{key:1,description:"无处方药材明细","image-size":64}))])):f("",!0)],64)):(u(),y(ye,{key:4,description:"无处方数据","image-size":72}))]),_:1}),s("div",bd,[l(a,{shadow:"never",class:"po-panel border-gray-100"},{header:n(()=>[...e[169]||(e[169]=[s("div",{class:"flex items-center justify-between"},[s("span",{class:"font-medium text-[15px]"},"未关联的收款记录"),s("span",{class:"text-xs text-gray-400"},"本诊单下未被占用的支付单")],-1)])]),default:n(()=>[Re.value.length?(u(),y(Bt,{key:0,data:Re.value,size:"small",border:"",stripe:"",class:"po-pay-table","max-height":"280"},{default:n(()=>[l(U,{prop:"id",label:"ID",width:"70"}),l(U,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),l(U,{label:"类型",width:"90"},{default:n(({row:r})=>[p(o(r.order_type_desc||xt(r.order_type)),1)]),_:1}),l(U,{label:"金额",width:"86",align:"right"},{default:n(({row:r})=>[s("span",xd,"¥"+o(r.amount),1)]),_:1}),l(U,{label:"状态",width:"100",align:"center"},{default:n(({row:r})=>[l(d,{type:rs(r.status),size:"small"},{default:n(()=>[p(o(r.status_desc||Za(r.status)),1)]),_:2},1032,["type"]),r.is_exempt===1?(u(),y(d,{key:0,type:"warning",size:"small",class:"ml-1"},{default:n(()=>[...e[170]||(e[170]=[p("豁免",-1)])]),_:1})):f("",!0)]),_:1}),l(U,{label:"方式","min-width":"120","show-overflow-tooltip":""},{default:n(({row:r})=>[p(o($e(r)),1)]),_:1}),l(U,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),l(U,{label:"创建时间","min-width":"136"},{default:n(({row:r})=>[p(o(is(r.create_time)),1)]),_:1})]),_:1},8,["data"])):(u(),y(ye,{key:1,description:"无未关联的收款单","image-size":60}))]),_:1}),l(a,{shadow:"never",class:"po-panel po-panel-pay border-gray-100 relative overflow-hidden"},{header:n(()=>[s("div",wd,[s("div",Vd,[e[174]||(e[174]=s("span",{class:"font-medium text-[15px]"},"关联收款记录",-1)),c.value.creator_name?(u(),_("span",Sd,[e[173]||(e[173]=p(" 创建人:",-1)),s("span",Nd,o(c.value.creator_name),1)])):f("",!0)])])]),default:n(()=>[c.value.payment_slip_audit_status===1?(u(),_("div",kd,[...e[171]||(e[171]=[s("div",{class:"stamp-inner"},"审核通过",-1)])])):f("",!0),c.value.payment_slip_audit_status===2?(u(),_("div",hd,[...e[172]||(e[172]=[s("div",{class:"stamp-inner"},"已驳回",-1)])])):f("",!0),la.value.length?(u(),y(Bt,{key:2,data:la.value,size:"small",border:"",stripe:"",class:"po-pay-table","max-height":"280"},{default:n(()=>[l(U,{prop:"id",label:"ID",width:"70"}),l(U,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),l(U,{label:"类型",width:"90"},{default:n(({row:r})=>[p(o(r.order_type_desc||xt(r.order_type)),1)]),_:1}),l(U,{label:"金额",width:"86",align:"right"},{default:n(({row:r})=>[s("span",Cd,"¥"+o(r.amount),1)]),_:1}),l(U,{label:"状态",width:"100",align:"center"},{default:n(({row:r})=>[l(d,{type:rs(r.status),size:"small"},{default:n(()=>[p(o(r.status_desc||Za(r.status)),1)]),_:2},1032,["type"]),r.is_exempt===1?(u(),y(d,{key:0,type:"warning",size:"small",class:"ml-1"},{default:n(()=>[...e[175]||(e[175]=[p("豁免",-1)])]),_:1})):f("",!0)]),_:1}),l(U,{label:"方式","min-width":"120","show-overflow-tooltip":""},{default:n(({row:r})=>[p(o($e(r)),1)]),_:1}),l(U,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),l(U,{label:"创建时间","min-width":"136"},{default:n(({row:r})=>[p(o(is(r.create_time)),1)]),_:1})]),_:1},8,["data"])):(u(),y(ye,{key:3,description:"未关联收款单","image-size":60}))]),_:1})])]),l(a,{shadow:"never",class:"po-panel po-panel-biz border-gray-100 mb-4"},{header:n(()=>[...e[176]||(e[176]=[s("span",{class:"font-medium text-[15px]"},"履约与收货信息",-1)])]),default:n(()=>[l(ot,{column:1,border:"",size:"small",class:"po-desc"},{default:n(()=>[l(N,{label:"诊单ID"},{default:n(()=>[s("div",Pd,[s("div",Ad,[e[177]||(e[177]=s("span",{class:"text-[11px] font-semibold uppercase tracking-[0.06em] text-slate-500"},"关联诊单",-1)),s("span",Od,o(c.value.diagnosis_id||"—"),1),e[178]||(e[178]=s("span",{class:"text-[12px] leading-snug text-slate-500"},"病历与体征以诊单为准,可全屏查看",-1))]),Number(c.value.diagnosis_id)>0?(u(),y(V,{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(Mr),"aria-label":"打开关联诊单详情(患者与病历)",onClick:Ks},{default:n(()=>[...e[179]||(e[179]=[p(" 查看诊单详情 ",-1)])]),_:1},8,["icon"])):f("",!0)])]),_:1}),l(N,{label:"创建时间"},{default:n(()=>[p(o(Se(c.value.create_time)),1)]),_:1}),l(N,{label:"收货人"},{default:n(()=>[p(o(c.value.recipient_name),1)]),_:1}),l(N,{label:"挂号关联",span:3},{default:n(()=>[Z.value?(u(),_(T,{key:0},[s("div",Td,[s("span",null,[e[180]||(e[180]=p("预约 ",-1)),s("span",Rd,"#"+o(Z.value.id),1)]),s("span",Ed,"时间:"+o(Z.value.appointment_date)+" "+o(Z.value.period)+" "+o(Z.value.appointment_time),1),l(d,{size:"small",type:"info"},{default:n(()=>[p(o(Z.value.appointment_type_desc),1)]),_:1}),l(d,{size:"small"},{default:n(()=>[p(o(Z.value.status_desc),1)]),_:1}),Z.value.doctor_name?(u(),_("span",Dd,"接诊:"+o(Z.value.doctor_name),1)):f("",!0),Z.value.channel_source?(u(),_("span",Ud,"渠道:"+o(Z.value.channel_source),1)):f("",!0),ss.value?(u(),y(d,{key:2,size:"small",effect:"plain"},{default:n(()=>[p(o(ss.value),1)]),_:1})):f("",!0)]),String(Z.value.remark||"").trim()?(u(),_("p",$d," 备注:"+o(Z.value.remark),1)):f("",!0)],64)):(u(),_("span",Fd,"暂无挂号预约记录(未绑定或诊单下无预约)"))]),_:1}),l(N,{label:"收货手机"},{default:n(()=>[s("span",{class:L(He.value?"text-red-600 font-bold font-mono":"font-mono")},o(c.value.recipient_phone||"—"),3),He.value?(u(),y(d,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:n(()=>[...e[181]||(e[181]=[p(" 与处方手机不一致 ",-1)])]),_:1})):f("",!0)]),_:1}),l(N,{label:"收货地址",span:2},{default:n(()=>[p(o(ql.value),1)]),_:1}),l(N,{label:"复诊"},{default:n(()=>[p(o(c.value.is_follow_up?"是":"否"),1)]),_:1}),l(N,{label:"用药疗程"},{default:n(()=>[p(o(c.value.medication_days?c.value.medication_days+" 天":"—"),1)]),_:1}),l(N,{label:"上次医护"},{default:n(()=>[p(o(c.value.prev_staff||"—"),1)]),_:1}),l(N,{label:"服务渠道"},{default:n(()=>[p(o(c.value.service_channel||"—"),1)]),_:1}),l(N,{label:"服务套餐"},{default:n(()=>[p(o(Fl.value),1)]),_:1}),l(N,{label:"费用类别"},{default:n(()=>[p(o(xt(c.value.fee_type)),1)]),_:1}),c.value.internal_cost!=null&&c.value.internal_cost!==""?(u(),y(N,{key:0,label:"内部成本"},{default:n(()=>[p(" ¥"+o(c.value.internal_cost),1)]),_:1})):f("",!0),l(N,{label:"快递单号",span:c.value.internal_cost!=null&&c.value.internal_cost!==""?1:2},{default:n(()=>[p(o(c.value.tracking_number||"—"),1)]),_:1},8,["span"]),l(N,{label:"快递公司"},{default:n(()=>[p(o(Ql(c.value.express_company)),1)]),_:1}),R((u(),y(N,{label:"备注",span:3},{default:n(()=>[p(o(c.value.remark_extra||"—"),1)]),_:1})),[[j,["tcm.prescriptionOrder/editRemarkExtra"]]]),l(N,{label:"医助备注",span:3},{default:n(()=>[p(o(c.value.remark_assistant||"—"),1)]),_:1}),l(N,{label:"处方审核意见",span:3},{default:n(()=>[s("span",zd,o(c.value.prescription_audit_remark||"—"),1)]),_:1}),l(N,{label:"支付审核意见",span:3},{default:n(()=>[s("span",jd,o(c.value.payment_slip_audit_remark||"—"),1)]),_:1})]),_:1})]),_:1}),String(c.value.tracking_number||"").trim()?(u(),y(a,{key:1,shadow:"never",class:"po-panel po-panel-logistics border-gray-100"},{header:n(()=>[...e[182]||(e[182]=[s("span",{class:"font-medium text-[15px]"},"物流轨迹",-1)])]),default:n(()=>{var r,O,C,I,ut,dt;return[e[188]||(e[188]=s("p",{class:"po-logistics-tip text-gray-400 text-xs mb-3 font-normal"}," 优先读库,无记录时走快递100。顺丰会校验单号+电话(快递100要求完整手机号更易通过);默认预填订单收货手机,若仍提示验证码错误请改成与顺丰面单一致的号码。 ",-1)),s("div",Ld,[l(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:pt(ua,["enter"])},null,8,["modelValue"]),l($,{modelValue:We.value,"onUpdate:modelValue":e[27]||(e[27]=be=>We.value=be),placeholder:"承运商",class:"po-logistics-toolbar__carrier"},{default:n(()=>[l(x,{label:"自动识别",value:"auto"}),l(x,{label:"顺丰速运",value:"sf"}),l(x,{label:"京东快递",value:"jd"}),l(x,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),R((u(),y(V,{type:"primary",plain:"",size:"default",loading:Ct.value,class:"po-logistics-toolbar__btn",onClick:ua},{icon:n(()=>[l(i,null,{default:n(()=>[l(E(Br))]),_:1})]),default:n(()=>[e[183]||(e[183]=p(" 刷新轨迹 ",-1))]),_:1},8,["loading"])),[[j,["tcm.prescriptionOrder/logisticsTrace"]]]),s("div",Id,[l(Oa,{href:oa.value.sf,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:n(()=>[...e[184]||(e[184]=[p("顺丰官网",-1)])]),_:1},8,["href"]),l(Oa,{href:oa.value.jd,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:n(()=>[...e[185]||(e[185]=[p("京东物流",-1)])]),_:1},8,["href"]),l(Oa,{href:oa.value.jt,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:n(()=>[...e[186]||(e[186]=[p("极兔",-1)])]),_:1},8,["href"])])]),String(((r=G.value)==null?void 0:r.hint)||"").trim()?(u(),y(ee,{key:0,title:String(((O=G.value)==null?void 0:O.hint)||""),type:"info",closable:!1,class:"mb-4","show-icon":""},null,8,["title"])):f("",!0),Ct.value&&!G.value?(u(),_("div",qd,[l(i,{class:"is-loading mr-1"},{default:n(()=>[l(E(Wr))]),_:1}),e[187]||(e[187]=p("正在加载物流轨迹... ",-1))])):G.value?(u(),_("div",Md,[(C=G.value)!=null&&C.state_text?(u(),_("div",Bd,[s("span",Hd,"状态:"+o(G.value.state_text),1),(I=G.value)!=null&&I.carrier_label?(u(),y(d,{key:0,size:"small",type:"info"},{default:n(()=>[p(o(G.value.carrier_label),1)]),_:1})):f("",!0),(ut=G.value)!=null&&ut.source?(u(),_("span",Wd," ["+o(G.value.source==="database"?"数据库缓存":"API拉取")+"] ",1)):f("",!0),(dt=G.value)!=null&&dt.last_query_time?(u(),_("span",Kd," 更新时间:"+o(G.value.last_query_time),1)):f("",!0)])):f("",!0),os.value.length?(u(),y(Us,{key:1,class:"mt-2 pl-2"},{default:n(()=>[(u(!0),_(T,null,W(os.value,(be,Ae)=>(u(),y(Ds,{key:Ae,type:Ae===0?"primary":"info",hollow:Ae!==0,timestamp:be.time,placement:"top"},{default:n(()=>[s("span",{class:L(Ae===0?"text-gray-800 font-medium":"text-gray-500")},o(be.context),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(u(),y(ye,{key:2,description:"暂无轨迹节点记录","image-size":64}))])):f("",!0)]}),_:1})):f("",!0),R((u(),y(a,{shadow:"never",class:"po-panel border-gray-100 mt-4"},{header:n(()=>[...e[189]||(e[189]=[s("span",{class:"font-medium text-[15px]"},"操作日志",-1)])]),default:n(()=>[Ee.value.length?(u(),y(Us,{key:0,class:"mt-2 pl-2"},{default:n(()=>[(u(!0),_(T,null,W(Ee.value,(r,O)=>(u(),y(Ds,{key:r.id,type:O===0?"primary":"info",hollow:O!==0,timestamp:Se(r.create_time),placement:"top"},{default:n(()=>[s("div",Gd,[s("span",Jd,o(r.admin_name),1),l(d,{size:"small",type:"info"},{default:n(()=>[p(o(Jl(r.action)),1)]),_:2},1024)]),s("span",{class:L(O===0?"text-gray-800 font-medium":"text-gray-500")},o(r.summary),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(u(),y(ye,{key:1,description:"暂无操作日志","image-size":64}))]),_:1})),[[j,["tcm.prescriptionOrder/logs"]]])])):f("",!0)]),_:1},8,["modelValue"]),l(me,{modelValue:Ge.value,"onUpdate:modelValue":e[31]||(e[31]=r=>Ge.value=r),title:"修改订单金额",width:"92%","destroy-on-close":"","close-on-click-modal":!1,onClosed:ln},{footer:n(()=>[l(V,{onClick:e[30]||(e[30]=r=>Ge.value=!1)},{default:n(()=>[...e[191]||(e[191]=[p("取消",-1)])]),_:1}),l(V,{type:"primary",loading:ia.value,onClick:us},{default:n(()=>[...e[192]||(e[192]=[p(" 确认修改 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(F,{ref_key:"updateAmountFormRef",ref:Pt,model:ve,rules:Kl,"label-width":"84px",onSubmit:Kt(us,["prevent"])},{default:n(()=>[l(v,{label:"当前金额"},{default:n(()=>{var r;return[s("div",Qd,"¥"+o(K((r=c.value)==null?void 0:r.amount)),1)]}),_:1}),l(v,{label:"新金额",prop:"amount"},{default:n(()=>[l(ne,{modelValue:ve.amount,"onUpdate:modelValue":e[29]||(e[29]=r=>ve.amount=r),min:0,step:.01,precision:2,"controls-position":"right",class:"w-full",placeholder:"请输入新金额"},null,8,["modelValue"])]),_:1}),e[190]||(e[190]=s("div",{class:"text-xs text-gray-400 pl-[84px] -mt-1 leading-relaxed"}," 已完成或已取消订单不可修改。提交成功后会刷新详情与操作日志。 ",-1))]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(me,{modelValue:Ce.value,"onUpdate:modelValue":e[52]||(e[52]=r=>Ce.value=r),title:"编辑业务订单",width:"96%",top:"2vh","close-on-click-modal":!1,"destroy-on-close":"",class:"create-order-dialog create-order-dialog--h5",onClosed:mn},{footer:n(()=>[s("div",Op,[s("div",Tp,[s("span",Rp,"第 "+o(q.value+1)+" / 3 步",1),q.value===2&&B.value>0?(u(),_("span",Ep," 订单金额与关联支付单合计须 ≥ ¥"+o(K(B.value)),1)):f("",!0)]),s("div",Dp,[l(V,{size:"large",onClick:e[51]||(e[51]=r=>Ce.value=!1)},{default:n(()=>[...e[205]||(e[205]=[p("取消",-1)])]),_:1}),q.value>0?(u(),y(V,{key:0,size:"large",onClick:fn},{default:n(()=>[...e[206]||(e[206]=[p("上一步",-1)])]),_:1})):f("",!0),q.value<2?(u(),y(V,{key:1,type:"primary",size:"large",onClick:vn},{default:n(()=>[...e[207]||(e[207]=[p(" 下一步 ",-1)])]),_:1})):f("",!0),q.value===2?(u(),y(V,{key:2,type:"primary",size:"large",loading:ga.value,onClick:yn},{default:n(()=>[...e[208]||(e[208]=[p(" 确认保存 ",-1)])]),_:1},8,["loading"])):f("",!0)])])]),default:n(()=>[R((u(),_("div",Yd,[ue.value?(u(),_("div",Zd,[s("div",Xd,[e[193]||(e[193]=s("span",{class:"create-order-rx-card__badge"},"关联处方",-1)),s("div",ep,[s("span",tp,"#"+o(ue.value.id),1),ue.value.sn?(u(),_("span",ap,o(ue.value.sn),1)):f("",!0),s("span",sp,o(ue.value.patient_name||"—"),1)])]),l($s,{content:ds.value,placement:"bottom","show-after":300},{default:n(()=>[s("div",lp,o(ds.value),1)]),_:1},8,["content"])])):f("",!0),l(qe,{active:q.value,"finish-status":"success","align-center":"",class:"create-order-steps"},{default:n(()=>[l(ce,{title:"患者与收货",description:"诊单与物流地址"}),l(ce,{title:"服务与支付单",description:"套餐与关联收款"}),l(ce,{title:"金额与确认",description:"费用与备注"})]),_:1},8,["active"]),s("p",np,o(on.value),1),l(F,{ref_key:"editFormRef",ref:Ue,model:m,rules:_n.value,"label-width":"108px",class:"create-order-form"},{default:n(()=>[R(s("div",rp,[l(Ht,{gutter:20},{default:n(()=>[l(H,{span:12},{default:n(()=>[l(v,{label:"收货人",prop:"recipient_name"},{default:n(()=>[l(g,{modelValue:m.recipient_name,"onUpdate:modelValue":e[32]||(e[32]=r=>m.recipient_name=r),maxlength:"50",placeholder:"姓名"},null,8,["modelValue"])]),_:1})]),_:1}),l(H,{span:12},{default:n(()=>[l(v,{label:"收货手机",prop:"recipient_phone"},{default:n(()=>[l(g,{modelValue:m.recipient_phone,"onUpdate:modelValue":e[33]||(e[33]=r=>m.recipient_phone=r),maxlength:"20",placeholder:"物流联系"},null,8,["modelValue"])]),_:1})]),_:1}),l(H,{span:24},{default:n(()=>[l(v,{label:"省市区",prop:"region"},{default:n(()=>[l(ur,{modelValue:m.region,"onUpdate:modelValue":e[34]||(e[34]=r=>m.region=r),options:mt.value,props:{emitPath:!0},placeholder:"省 / 市 / 区",clearable:"",filterable:"",class:"w-full"},null,8,["modelValue","options"])]),_:1})]),_:1}),l(H,{span:24},{default:n(()=>[l(v,{label:"详细地址",prop:"shipping_address"},{default:n(()=>[l(g,{modelValue:m.shipping_address,"onUpdate:modelValue":e[35]||(e[35]=r=>m.shipping_address=r),type:"textarea",rows:3,placeholder:"街道、小区、门牌号等详细地址",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[Wt,q.value===0]]),R(s("div",ip,[Ve.value?(u(),y(Ht,{key:0,gutter:20,class:"mb-1"},{default:n(()=>[l(H,{span:24},{default:n(()=>[s("div",op,[e[196]||(e[196]=s("span",{class:"text-sm font-medium text-gray-700 mr-1"},"处方",-1)),m.prescription_id?(u(),y(V,{key:0,type:"primary",size:"small",link:"",onClick:nr},{default:n(()=>[...e[194]||(e[194]=[p(" 详细 ",-1)])]),_:1})):f("",!0),m.id?(u(),y(V,{key:1,type:"warning",size:"small",link:"",loading:ze.value,icon:E(Ra),onClick:wn},{default:n(()=>[...e[195]||(e[195]=[p(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):f("",!0),s("span",up,"ID: "+o(m.prescription_id||"—"),1)]),s("div",dp,[ps.value.length?(u(),_("div",pp,[e[197]||(e[197]=s("div",{class:"text-gray-500"},"创建人所属部门",-1)),(u(!0),_(T,null,W(ps.value,(r,O)=>(u(),_("div",{key:O,class:"pl-0 min-w-0"},[r.length?(u(),y(pr,{key:0,class:"po-diagnosis-creator-dept-breadcrumb text-[13px] leading-relaxed",separator:"/"},{default:n(()=>[(u(!0),_(T,null,W(r,(C,I)=>(u(),y(dr,{key:I},{default:n(()=>[s("span",cp,o(C),1)]),_:2},1024))),128))]),_:2},1024)):f("",!0)]))),128))])):(u(),_("div",_p,"创建人所属部门:—"))])]),_:1}),l(H,{xs:24,sm:8},{default:n(()=>[l(v,{label:"复诊"},{default:n(()=>[l(cr,{modelValue:m.is_follow_up,"onUpdate:modelValue":e[36]||(e[36]=r=>m.is_follow_up=r),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1}),l(H,{xs:24,sm:8},{default:n(()=>[l(v,{label:"服用天数",class:"create-order-form-item--inline-num"},{default:n(()=>[s("div",mp,[l(ne,{modelValue:m.medication_days,"onUpdate:modelValue":e[37]||(e[37]=r=>m.medication_days=r),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[198]||(e[198]=s("span",{class:"create-order-unit-suffix"},"天",-1))])]),_:1})]),_:1}),l(H,{xs:24,sm:8},{default:n(()=>[l(v,{label:"上次医生"},{default:n(()=>[l(g,{modelValue:m.prev_staff,"onUpdate:modelValue":e[38]||(e[38]=r=>m.prev_staff=r),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),l(H,{span:12},{default:n(()=>[l(v,{label:ns.value,prop:"dose_count"},{default:n(()=>[l(ne,{modelValue:m.dose_count,"onUpdate:modelValue":e[39]||(e[39]=r=>m.dose_count=r),min:1,placeholder:ns.value,class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1}),l(H,{span:12},{default:n(()=>[l(v,{label:"剂量单位",prop:"dose_unit"},{default:n(()=>[l($,{modelValue:m.dose_unit,"onUpdate:modelValue":e[40]||(e[40]=r=>m.dose_unit=r),placeholder:"请选择",class:"w-full"},{default:n(()=>[l(x,{label:"剂",value:"剂"}),l(x,{label:"丸",value:"丸"}),l(x,{label:"袋",value:"袋"}),l(x,{label:"盒",value:"盒"}),l(x,{label:"瓶",value:"瓶"}),l(x,{label:"膏",value:"膏"}),l(x,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})):f("",!0),l(Ht,{gutter:20},{default:n(()=>[l(H,{span:12},{default:n(()=>[l(v,{label:"服务渠道"},{default:n(()=>[l(g,{modelValue:m.service_channel,"onUpdate:modelValue":e[41]||(e[41]=r=>m.service_channel=r),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),l(H,{span:12},{default:n(()=>[l(v,{label:"服务套餐"},{default:n(()=>[l($,{modelValue:m.service_package,"onUpdate:modelValue":e[42]||(e[42]=r=>m.service_package=r),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"请选择服务套餐",clearable:"",class:"w-full"},{default:n(()=>[(u(!0),_(T,null,W(dn.value,r=>(u(),y(x,{key:r.value,label:r.name,value:r.value,disabled:r.status===0},null,8,["label","value","disabled"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(H,{span:24},{default:n(()=>[l(v,{label:"物流设置"},{default:n(()=>[s("div",fp,[l($,{modelValue:m.express_company,"onUpdate:modelValue":e[43]||(e[43]=r=>m.express_company=r),placeholder:"承运商",class:"w-[140px] shrink-0"},{default:n(()=>[l(x,{label:"自动识别",value:"auto"}),l(x,{label:"顺丰速运",value:"sf"}),l(x,{label:"京东快递",value:"jd"}),l(x,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),l(g,{modelValue:m.tracking_number,"onUpdate:modelValue":e[44]||(e[44]=r=>m.tracking_number=r),maxlength:"80",placeholder:"快递单号",class:"flex-1 min-w-0"},null,8,["modelValue"])])]),_:1})]),_:1}),l(H,{span:24},{default:n(()=>[l(v,{label:"关联支付单",prop:"pay_order_ids",required:B.value>0},{default:n(()=>[l($,{modelValue:m.pay_order_ids,"onUpdate:modelValue":e[45]||(e[45]=r=>m.pay_order_ids=r),class:"w-full",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:B.value>0?"请至少选择一笔本诊单支付单(已开启门槛)":"多选本诊单支付单(可选)",loading:ya.value},{default:n(()=>[(u(!0),_(T,null,W(Ye.value,r=>(u(),y(x,{key:r.id,label:`${r.order_no} · ¥${r.amount} · ${At(r.order_type)} · ${$e(r)}`,value:r.id,class:"!h-auto py-1.5"},{default:n(()=>[s("div",vp,[s("div",gp,[s("span",yp,o(r.order_no),1),s("span",bp,"¥"+o(r.amount),1)]),s("div",xp,[s("span",kp,[p(o(At(r.order_type))+" · "+o($e(r)),1),r.remark?(u(),_(T,{key:0},[p(" · "+o(r.remark),1)],64)):f("",!0)]),s("span",hp,o(String(r.create_time||"").substring(0,16)),1)])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","loading"]),s("div",wp,[B.value>0?(u(),_(T,{key:0},[s("span",Vp,"当前已开启关联支付门槛(¥"+o(K(B.value))+"),须至少选择一笔支付单。",1),e[199]||(e[199]=s("span",{class:"mx-1"},null,-1))],64)):f("",!0),e[201]||(e[201]=p(" 主管/本诊单医助可见全部支付单;否则仅本人收款单。已被占用的支付单不列出。 ",-1)),l($s,{content:"主管或本诊单医助可见该诊单全部支付单(待支付/已支付),否则仅本人创建的收款单。已被其他有效业务订单占用的支付单不会出现在此列表。",placement:"top"},{default:n(()=>[...e[200]||(e[200]=[s("span",{class:"text-primary cursor-help ml-0.5"},"详情",-1)])]),_:1})])]),_:1},8,["required"])]),_:1})]),_:1})],512),[[Wt,q.value===1]]),R(s("div",Sp,[s("div",{class:L(["create-order-deposit-bar",ba.value>=B.value?"is-ok":"is-warn"])},[s("div",Np,[e[202]||(e[202]=s("span",{class:"create-order-deposit-bar__label"},"定金门槛",-1)),s("strong",null,"¥"+o(K(B.value)),1),s("span",Cp,o(B.value>0?"须 ≥ 此值":"未设置"),1)]),e[204]||(e[204]=s("div",{class:"create-order-deposit-bar__sep"},null,-1)),s("div",Pp,[e[203]||(e[203]=s("span",{class:"create-order-deposit-bar__label"},"已选收款",-1)),s("strong",null,"¥"+o(K(ba.value)),1),s("span",Ap,o(ba.value>=B.value?"已达标":"未达标"),1)])],2),l(Ht,{gutter:20,class:"create-order-step-panel__row-after-bar"},{default:n(()=>[l(H,{span:12},{default:n(()=>[l(v,{label:"费用类别",prop:"fee_type"},{default:n(()=>[l($,{modelValue:m.fee_type,"onUpdate:modelValue":e[46]||(e[46]=r=>m.fee_type=r),placeholder:"请选择",class:"w-full"},{default:n(()=>[l(x,{label:"挂号费",value:1}),l(x,{label:"问诊费",value:2}),l(x,{label:"药品费用",value:3}),l(x,{label:"首付费用",value:4}),l(x,{label:"尾款费用",value:5}),l(x,{label:"其他费用",value:6}),l(x,{label:"全部费用",value:7}),l(x,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(H,{span:12},{default:n(()=>[l(v,{label:"总金额",prop:"amount"},{default:n(()=>[l(ne,{modelValue:m.amount,"onUpdate:modelValue":e[47]||(e[47]=r=>m.amount=r),min:pn.value,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"元"},null,8,["modelValue","min"])]),_:1})]),_:1}),R((u(),y(H,{span:12},{default:n(()=>[l(v,{label:"内部成本"},{default:n(()=>[l(ne,{modelValue:m.internal_cost,"onUpdate:modelValue":e[48]||(e[48]=r=>m.internal_cost=r),min:0,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"财务可见"},null,8,["modelValue"])]),_:1})]),_:1})),[[j,["finance.account_log/lists"]]]),l(H,{span:24},{default:n(()=>[R((u(),y(v,{label:"药房备注"},{default:n(()=>[l(g,{modelValue:m.remark_extra,"onUpdate:modelValue":e[49]||(e[49]=r=>m.remark_extra=r),type:"textarea",rows:3,placeholder:"选填,对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})),[[j,["tcm.prescriptionOrder/editRemarkExtra"]]]),l(v,{label:"医助备注"},{default:n(()=>[l(g,{modelValue:m.remark_assistant,"onUpdate:modelValue":e[50]||(e[50]=r=>m.remark_assistant=r),type:"textarea",rows:3,placeholder:"选填,医助对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[Wt,q.value===2]])]),_:1},8,["model","rules"])])),[[Pe,va.value]])]),_:1},8,["modelValue"]),l(me,{modelValue:Ze.value,"onUpdate:modelValue":e[57]||(e[57]=r=>Ze.value=r),title:bn.value,width:"92%","destroy-on-close":"",class:"po-h5-dialog",onClosed:e[58]||(e[58]=r=>Fe.value="")},{footer:n(()=>[l(V,{onClick:e[54]||(e[54]=r=>Ze.value=!1)},{default:n(()=>[...e[210]||(e[210]=[p("取消",-1)])]),_:1}),l(V,{type:"primary",loading:Tt.value,onClick:e[55]||(e[55]=r=>_s("approve"))},{default:n(()=>[...e[211]||(e[211]=[p("同意通过",-1)])]),_:1},8,["loading"]),l(V,{type:"danger",loading:Tt.value,onClick:e[56]||(e[56]=r=>_s("reject"))},{default:n(()=>[...e[212]||(e[212]=[p("驳回阻止",-1)])]),_:1},8,["loading"])]),default:n(()=>[Xe.value&&Xe.value.completion_request===1?(u(),y(ee,{key:0,title:"完单申请",type:"warning",closable:!1,"show-icon":"",class:"mb-3"},{default:n(()=>[s("div",Up,[e[209]||(e[209]=s("div",{class:"font-medium mb-1"},"该订单已申请完成",-1)),s("div",$p," 申请人:"+o(Xe.value.completion_request_by_name||"—"),1),s("div",Fp," 申请时间:"+o(Se(Xe.value.completion_request_time)),1)])]),_:1})):f("",!0),e[213]||(e[213]=s("p",{class:"text-[13px] text-gray-500 mb-3 bg-gray-50/80 border border-gray-100 p-2 rounded"},"驳回时必须填写意见;通过时意见选填。",-1)),l(g,{modelValue:Fe.value,"onUpdate:modelValue":e[53]||(e[53]=r=>Fe.value=r),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"在此输入审核意见..."},null,8,["modelValue"])]),_:1},8,["modelValue","title"]),l(me,{modelValue:et.value,"onUpdate:modelValue":e[62]||(e[62]=r=>et.value=r),title:"修改快递单号",width:"92%","destroy-on-close":"",class:"po-h5-dialog","close-on-click-modal":!1},{footer:n(()=>[l(V,{onClick:e[61]||(e[61]=r=>et.value=!1)},{default:n(()=>[...e[215]||(e[215]=[p("取消",-1)])]),_:1}),l(V,{type:"primary",loading:Et.value,onClick:vs},{default:n(()=>[...e[216]||(e[216]=[p("保存单号",-1)])]),_:1},8,["loading"])]),default:n(()=>[R((u(),y(F,{"label-width":"90px",class:"pr-2",onSubmit:Kt(vs,["prevent"])},{default:n(()=>[l(v,{label:"承运商"},{default:n(()=>[l($,{modelValue:re.express_company,"onUpdate:modelValue":e[59]||(e[59]=r=>re.express_company=r),class:"w-full",placeholder:"选择承运商"},{default:n(()=>[l(x,{label:"自动识别",value:"auto"}),l(x,{label:"顺丰速运",value:"sf"}),l(x,{label:"京东快递",value:"jd"}),l(x,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),l(v,{label:"快递单号"},{default:n(()=>[l(g,{modelValue:re.tracking_number,"onUpdate:modelValue":e[60]||(e[60]=r=>re.tracking_number=r),maxlength:"80",placeholder:"请输入快递单号",clearable:"",autofocus:""},null,8,["modelValue"])]),_:1}),e[214]||(e[214]=s("div",{class:"text-xs text-gray-400 pl-[90px] -mt-1 leading-relaxed"}," 仅更新快递信息,其他字段不受影响。 ",-1))]),_:1})),[[Pe,Et.value]])]),_:1},8,["modelValue"]),l(me,{modelValue:at.value,"onUpdate:modelValue":e[66]||(e[66]=r=>at.value=r),title:"确认发货",width:"92%","destroy-on-close":"",class:"po-h5-dialog","close-on-click-modal":!1},{footer:n(()=>[l(V,{onClick:e[65]||(e[65]=r=>at.value=!1)},{default:n(()=>[...e[218]||(e[218]=[p("取消",-1)])]),_:1}),l(V,{type:"primary",loading:Dt.value,onClick:gs},{default:n(()=>[...e[219]||(e[219]=[p(" 确认发货 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(ee,{title:"确认后订单状态将变更为「已发货」,请核对快递信息无误。",type:"warning",closable:!1,"show-icon":"",class:"mb-4"}),R((u(),y(F,{"label-width":"90px",class:"pr-2",onSubmit:Kt(gs,["prevent"])},{default:n(()=>[l(v,{label:"发货方式"},{default:n(()=>[l(d,{type:ae.ship_mode==="direct"?"warning":"success",effect:"plain",size:"default"},{default:n(()=>[p(o(Cn.value),1)]),_:1},8,["type"]),e[217]||(e[217]=s("span",{class:"text-xs text-gray-400 ml-2"},"请在订单详情顶部「发货类型」中设置,此处不可修改",-1))]),_:1}),l(v,{label:"承运商"},{default:n(()=>[l($,{modelValue:ae.express_company,"onUpdate:modelValue":e[63]||(e[63]=r=>ae.express_company=r),class:"w-full"},{default:n(()=>[l(x,{label:"自动识别",value:"auto"}),l(x,{label:"顺丰速运",value:"sf"}),l(x,{label:"京东快递",value:"jd"}),l(x,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),l(v,{label:"快递单号"},{default:n(()=>[l(g,{modelValue:ae.tracking_number,"onUpdate:modelValue":e[64]||(e[64]=r=>ae.tracking_number=r),maxlength:"80",placeholder:"请输入快递单号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1})),[[Pe,Dt.value]])]),_:1},8,["modelValue"]),l(me,{modelValue:je.value,"onUpdate:modelValue":e[71]||(e[71]=r=>je.value=r),title:"完成订单",width:"92%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:Rn},{footer:n(()=>[l(V,{onClick:e[70]||(e[70]=r=>je.value=!1)},{default:n(()=>[...e[220]||(e[220]=[p("取消",-1)])]),_:1}),l(V,{type:xe.value===10?"danger":"primary",loading:st.value,onClick:Dn},{default:n(()=>[p(o(xe.value===10?"确认退款":"确定"),1)]),_:1},8,["type","loading"])]),default:n(()=>[e[221]||(e[221]=s("p",{class:"text-sm text-gray-600 mb-3"}," 选择「已完成」按关联收款汇总实付;选择「退款」将关联收款标记已退款并清零已付。 ",-1)),l($,{modelValue:xe.value,"onUpdate:modelValue":e[67]||(e[67]=r=>xe.value=r),class:"w-full",placeholder:"请选择"},{default:n(()=>[(u(),_(T,null,W(An,r=>l(x,{key:r.value,label:r.label,value:r.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),xe.value===10?(u(),_(T,{key:0},[l(ee,{type:"warning",closable:!1,"show-icon":"",class:"mt-3",title:"关联收款将标记已退款,本单已付清零,不可撤销。"}),ge.value.length?(u(),_("p",zp," 将退款 "+o(ge.value.length)+" 笔关联收款,合计 ¥"+o(K(On.value)),1)):f("",!0),l(F,{ref_key:"completeRefundFormRef",ref:wa,model:de,rules:Tn.value,"label-width":"80px",class:"mt-2"},{default:n(()=>[l(v,{label:"退款金额",prop:"refund_amount"},{default:n(()=>[l(ne,{modelValue:de.refund_amount,"onUpdate:modelValue":e[68]||(e[68]=r=>de.refund_amount=r),min:.01,max:ke.value>0?ke.value:void 0,step:.01,precision:2,class:"w-full"},null,8,["modelValue","max"]),s("div",jp,"可退上限 ¥"+o(K(ke.value)),1)]),_:1}),l(v,{label:"退款原因",prop:"reason"},{default:n(()=>[l(g,{modelValue:de.reason,"onUpdate:modelValue":e[69]||(e[69]=r=>de.reason=r),type:"textarea",rows:3,maxlength:"500",placeholder:"必填"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])],64)):f("",!0)]),_:1},8,["modelValue"]),l(me,{modelValue:lt.value,"onUpdate:modelValue":e[75]||(e[75]=r=>lt.value=r),title:"订单退款",width:"92%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:Fn},{footer:n(()=>[l(V,{onClick:e[74]||(e[74]=r=>lt.value=!1)},{default:n(()=>[...e[222]||(e[222]=[p("取消",-1)])]),_:1}),l(V,{type:"danger",loading:Na.value,onClick:zn},{default:n(()=>[...e[223]||(e[223]=[p(" 确认退款 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(ee,{type:"warning",closable:!1,"show-icon":"",class:"mb-4 !items-start",title:Un.value},null,8,["title"]),l(F,{ref_key:"refundOrderFormRef",ref:Ca,model:se,rules:$n.value,"label-width":"88px"},{default:n(()=>[l(v,{label:"退款金额",prop:"refund_amount"},{default:n(()=>[l(ne,{modelValue:se.refund_amount,"onUpdate:modelValue":e[72]||(e[72]=r=>se.refund_amount=r),min:.01,max:pe.value>0?pe.value:void 0,step:.01,precision:2,class:"w-full"},null,8,["modelValue","max"]),s("div",Lp,"可退上限 ¥"+o(K(pe.value)),1)]),_:1}),l(v,{label:"退款原因",prop:"reason"},{default:n(()=>[l(g,{modelValue:se.reason,"onUpdate:modelValue":e[73]||(e[73]=r=>se.reason=r),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"请填写退款原因(必填)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue"]),l(me,{modelValue:nt.value,"onUpdate:modelValue":e[83]||(e[83]=r=>nt.value=r),title:"补齐支付单",width:"94%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:e[84]||(e[84]=r=>{var O;return(O=Ft.value)==null?void 0:O.clearValidate()})},{footer:n(()=>[l(V,{onClick:e[82]||(e[82]=r=>nt.value=!1)},{default:n(()=>[...e[233]||(e[233]=[p("取消",-1)])]),_:1}),l(V,{type:"primary",loading:$t.value,onClick:qn},{default:n(()=>[...e[234]||(e[234]=[p("确认新增",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(ee,{title:jn.value,type:"info",closable:!1,"show-icon":"",class:"mb-4"},null,8,["title"]),R((u(),y(F,{ref_key:"addPayOrderFormRef",ref:Ft,model:A,rules:Ln.value,"label-width":"90px",class:"pr-2"},{default:n(()=>[l(v,{label:"添加方式",prop:"add_mode"},{default:n(()=>[l(Fs,{modelValue:A.add_mode,"onUpdate:modelValue":e[76]||(e[76]=r=>A.add_mode=r)},{default:n(()=>[l(Me,{value:"create"},{default:n(()=>[...e[224]||(e[224]=[p("付呗",-1)])]),_:1}),l(Me,{value:"create_express"},{default:n(()=>[...e[225]||(e[225]=[p("快递代收",-1)])]),_:1}),l(Me,{value:"link"},{default:n(()=>[...e[226]||(e[226]=[p("关联已有",-1)])]),_:1}),l(Me,{value:"completion_only"},{default:n(()=>[...e[227]||(e[227]=[p("直接完单申请",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),A.add_mode==="create"||A.add_mode==="create_express"?(u(),_(T,{key:0},[l(v,{label:"费用类别",prop:"order_type"},{default:n(()=>[l($,{modelValue:A.order_type,"onUpdate:modelValue":e[77]||(e[77]=r=>A.order_type=r),class:"w-full"},{default:n(()=>[l(x,{label:"挂号费",value:1}),l(x,{label:"问诊费",value:2}),l(x,{label:"药品费用",value:3}),l(x,{label:"首付费用",value:4}),l(x,{label:"尾款费用",value:5}),l(x,{label:"其他费用",value:6}),l(x,{label:"全部费用",value:7}),l(x,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),l(v,{label:"支付金额",prop:"pay_amount"},{default:n(()=>[l(ne,{modelValue:A.pay_amount,"onUpdate:modelValue":e[78]||(e[78]=r=>A.pay_amount=r),min:.01,step:.01,precision:2,class:"w-full",placeholder:"请输入支付金额(元)"},null,8,["modelValue"])]),_:1}),l(v,{label:"备注",prop:"pay_remark"},{default:n(()=>[l(g,{modelValue:A.pay_remark,"onUpdate:modelValue":e[79]||(e[79]=r=>A.pay_remark=r),type:"textarea",rows:3,maxlength:"200","show-word-limit":"",placeholder:"支付说明(选填)"},null,8,["modelValue"])]),_:1})],64)):A.add_mode==="completion_only"?(u(),y(ee,{key:1,type:"warning",closable:!1,"show-icon":"",class:"!mb-0"},{title:n(()=>[...e[228]||(e[228]=[p(" 不新增或关联支付单,仅向审核人员提交「完成订单」申请;提交后支付审核将变为待审核,审核通过后将自动结案。 ",-1)])]),_:1})):(u(),y(v,{key:2,label:"选择支付单",prop:"link_pay_order_id"},{default:n(()=>[l($,{modelValue:A.link_pay_order_ids,"onUpdate:modelValue":e[80]||(e[80]=r=>A.link_pay_order_ids=r),class:"w-full",placeholder:"选择未绑定的支付单(可多选)",loading:Pa.value,multiple:"","collapse-tags":"","collapse-tags-tooltip":""},{default:n(()=>[(u(!0),_(T,null,W(zt.value,r=>(u(),y(x,{key:r.id,label:`${r.order_no} · ¥${r.amount} · ${At(r.order_type)} · ${$e(r)}`,value:r.id},{default:n(()=>[s("div",Ip,[s("div",qp,[s("span",Mp,o(r.order_no),1),s("span",Bp,"¥"+o(r.amount),1)]),s("div",Hp,o(At(r.order_type))+" · "+o($e(r)),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading"]),e[229]||(e[229]=s("div",{class:"text-xs text-gray-500 mt-1.5"}," 仅显示本诊单下未被其他业务订单占用的支付单,可同时选择多个 ",-1))]),_:1})),A.add_mode!=="completion_only"?(u(),y(v,{key:3,label:"完单申请"},{default:n(()=>[l(Fs,{modelValue:A.completion_request,"onUpdate:modelValue":e[81]||(e[81]=r=>A.completion_request=r)},{default:n(()=>[l(Me,{value:0},{default:n(()=>[...e[230]||(e[230]=[p("不申请",-1)])]),_:1}),l(Me,{value:1},{default:n(()=>[...e[231]||(e[231]=[p("申请完成订单",-1)])]),_:1})]),_:1},8,["modelValue"]),e[232]||(e[232]=s("div",{class:"text-xs text-gray-400 mt-1"},' 选择"申请完成订单"后,审核人员可在支付审核时看到此申请 ',-1))]),_:1})):f("",!0)]),_:1},8,["model","rules"])),[[Pe,$t.value]])]),_:1},8,["modelValue"]),l(me,{modelValue:Je.value,"onUpdate:modelValue":e[88]||(e[88]=r=>Je.value=r),title:"修改处方患者信息",width:"92%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:sn},{footer:n(()=>[l(V,{onClick:e[87]||(e[87]=r=>Je.value=!1)},{default:n(()=>[...e[235]||(e[235]=[p("取消",-1)])]),_:1}),l(V,{type:"primary",loading:da.value,onClick:rn},{default:n(()=>[...e[236]||(e[236]=[p(" 保存 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(F,{ref_key:"patchRxPatientFormRef",ref:pa,model:oe,rules:Yl,"label-width":"96px"},{default:n(()=>[l(v,{label:"患者姓名",prop:"patient_name"},{default:n(()=>[l(g,{modelValue:oe.patient_name,"onUpdate:modelValue":e[85]||(e[85]=r=>oe.patient_name=r),maxlength:"50","show-word-limit":"",placeholder:"与处方笺一致",clearable:""},null,8,["modelValue"])]),_:1}),l(v,{label:"手机",prop:"phone"},{default:n(()=>[l(g,{modelValue:oe.phone,"onUpdate:modelValue":e[86]||(e[86]=r=>oe.phone=r),maxlength:"20",placeholder:"处方登记手机号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(me,{modelValue:Qe.value,"onUpdate:modelValue":e[95]||(e[95]=r=>Qe.value=r),title:"修改服用参数",width:"92%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:en},{footer:n(()=>[l(V,{onClick:e[94]||(e[94]=r=>Qe.value=!1)},{default:n(()=>[...e[242]||(e[242]=[p("取消",-1)])]),_:1}),l(V,{type:"primary",loading:ca.value,onClick:tn},{default:n(()=>[...e[243]||(e[243]=[p("保存",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(F,{ref_key:"patchUsageFormRef",ref:_a,model:D,rules:Zl.value,"label-width":"96px"},{default:n(()=>[Ne.value?(u(),_("div",Wp,"主方")):f("",!0),l(v,{label:"每天次数",prop:"times_per_day"},{default:n(()=>[l(ne,{modelValue:D.times_per_day,"onUpdate:modelValue":e[89]||(e[89]=r=>D.times_per_day=r),min:1,max:6,step:1,"controls-position":"right",class:"w-full"},null,8,["modelValue"])]),_:1}),l(v,{label:"处方开立",prop:"usage_days"},{default:n(()=>[s("div",Kp,[l(ne,{modelValue:D.usage_days,"onUpdate:modelValue":e[90]||(e[90]=r=>D.usage_days=r),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[237]||(e[237]=s("span",{class:"text-gray-500 shrink-0"},"天",-1))])]),_:1}),Ne.value?(u(),_(T,{key:1},[e[239]||(e[239]=s("div",{class:"text-xs font-medium text-gray-500 mb-3 mt-2 pt-2 border-t border-gray-100"},"辅方",-1)),l(v,{label:"每天次数",prop:"aux_times_per_day"},{default:n(()=>[l(ne,{modelValue:D.aux_times_per_day,"onUpdate:modelValue":e[91]||(e[91]=r=>D.aux_times_per_day=r),min:1,max:6,step:1,"controls-position":"right",class:"w-full"},null,8,["modelValue"])]),_:1}),l(v,{label:"处方开立",prop:"aux_usage_days"},{default:n(()=>[s("div",Gp,[l(ne,{modelValue:D.aux_usage_days,"onUpdate:modelValue":e[92]||(e[92]=r=>D.aux_usage_days=r),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[238]||(e[238]=s("span",{class:"text-gray-500 shrink-0"},"天",-1))])]),_:1})],64)):f("",!0),e[241]||(e[241]=s("div",{class:"text-xs font-medium text-gray-500 mb-3 mt-2 pt-2 border-t border-gray-100"},"订单设置",-1)),l(v,{label:"服用天数",prop:"medication_days"},{default:n(()=>[s("div",Jp,[l(ne,{modelValue:D.medication_days,"onUpdate:modelValue":e[93]||(e[93]=r=>D.medication_days=r),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[240]||(e[240]=s("span",{class:"text-gray-500 shrink-0"},"天",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue"]),l(Ta,{modelValue:jt.value,"onUpdate:modelValue":e[96]||(e[96]=r=>jt.value=r),size:"100%",direction:"btt",class:"po-h5-drawer","close-on-click-modal":!1},{header:n(()=>[s("div",Qp,[e[246]||(e[246]=s("span",{class:"text-base font-medium text-gray-800"},"查看处方",-1)),w.value&&!Lt.value?(u(),_("div",Yp,[l(V,{size:"small",loading:Ie.value,onClick:ir},{default:n(()=>[...e[244]||(e[244]=[p(" 下载图片 ",-1)])]),_:1},8,["loading"]),l(V,{size:"small",loading:Ie.value,onClick:or},{default:n(()=>[...e[245]||(e[245]=[p(" 下载PDF ",-1)])]),_:1},8,["loading"])])):f("",!0)])]),default:n(()=>[R((u(),_("div",Zp,[w.value?(u(),_("div",Xp,[Number(w.value.void_status)===1?(u(),y(d,{key:0,type:"danger",size:"small"},{default:n(()=>[...e[247]||(e[247]=[p("已作废",-1)])]),_:1})):Number(w.value.business_prescription_audit_rejected)===1?(u(),y(d,{key:1,type:"danger",size:"small"},{default:n(()=>[...e[248]||(e[248]=[p("业务订单已驳回",-1)])]),_:1})):Number(w.value.audit_status)===1?(u(),y(d,{key:2,type:"success",size:"small"},{default:n(()=>[...e[249]||(e[249]=[p("已通过",-1)])]),_:1})):Number(w.value.audit_status)===0?(u(),y(d,{key:3,type:"warning",size:"small"},{default:n(()=>[...e[250]||(e[250]=[p("待审核",-1)])]),_:1})):(u(),y(d,{key:4,type:"danger",size:"small"},{default:n(()=>[...e[251]||(e[251]=[p("已驳回",-1)])]),_:1}))])):f("",!0),w.value&&Number(w.value.void_status)===1?(u(),_("div",ec," 作废人:"+o(w.value.void_by_name||"—")+",作废时间:"+o(ar(w.value.void_time)),1)):w.value&&Number(w.value.business_prescription_audit_rejected)===1?(u(),_("div",tc,[e[252]||(e[252]=s("div",{class:"font-medium"},"审核状态:已驳回(业务订单·处方审核)",-1)),w.value.business_prescription_audit_remark?(u(),_("div",ac," 驳回意见:"+o(w.value.business_prescription_audit_remark),1)):f("",!0)])):w.value&&Number(w.value.audit_status)===2?(u(),_("div",sc,[e[253]||(e[253]=s("div",{class:"font-medium"},"消费者处方审核:已驳回",-1)),w.value.audit_remark?(u(),_("div",lc,"驳回意见:"+o(w.value.audit_remark),1)):f("",!0)])):f("",!0),w.value?(u(),_("div",{key:4,ref_key:"prescriptionSlipPrintRef",ref:ks,class:"rx-paper"},[s("div",{class:"rx-title"},o(Hn)),s("div",nc,[e[258]||(e[258]=s("span",{class:"rx-notice-text"}," 服药前请核对姓名、电话、医生等信息以及服法、医嘱等要点 ",-1)),s("div",rc,[s("div",ic,[e[254]||(e[254]=s("span",{class:"rx-meta-label"},"日期",-1)),s("span",oc,o(Kn.value),1)]),s("div",uc,[e[255]||(e[255]=s("span",{class:"rx-meta-label"},"处方编号",-1)),s("span",dc,o(Gn.value),1)]),s("div",pc,[e[256]||(e[256]=s("span",{class:"rx-meta-label"},"流转编号(挂号)",-1)),s("span",cc,o(Jn.value),1)]),ws.value?(u(),_("div",_c,[e[257]||(e[257]=s("span",{class:"rx-meta-label"},"业务单号",-1)),s("span",mc,o(ws.value),1)])):f("",!0)])]),s("div",fc,[s("div",vc,[s("div",gc,[e[259]||(e[259]=s("span",{class:"rx-key"},"姓名",-1)),s("span",yc,o(w.value.patient_name||"—"),1)]),s("div",bc,[e[260]||(e[260]=s("span",{class:"rx-key"},"性别",-1)),s("span",xc,o(sr(w.value.gender)),1)]),s("div",kc,[e[261]||(e[261]=s("span",{class:"rx-key"},"年龄",-1)),s("span",hc,o(lr(w.value.age)),1)]),s("div",wc,[e[262]||(e[262]=s("span",{class:"rx-key"},"电话",-1)),s("span",Vc,o(w.value.phone||w.value.recipient_phone||"—"),1)])]),s("div",Sc,[s("div",Nc,[e[263]||(e[263]=s("span",{class:"rx-key"},"收件信息",-1)),s("span",Cc,o(Qn.value),1)])]),s("div",Pc,[s("div",Ac,[e[264]||(e[264]=s("span",{class:"rx-key"},"临床诊断",-1)),s("span",Oc,o(w.value.clinical_diagnosis||"—"),1)])])]),s("div",Tc,[e[265]||(e[265]=s("div",{class:"rx-watermark"},"药房联",-1)),e[266]||(e[266]=s("div",{class:"rx-rp-head"},[s("div",{class:"rx-rp-label"},"Rp."),s("div",{class:"rx-rp-cols-head"},[s("div",{class:"rx-rp-col-head"},[s("span",null,"用药 (单剂)"),s("span",null,"总量")]),s("div",{class:"rx-rp-col-head"},[s("span",null,"用药 (单剂)"),s("span",null,"总量")])])],-1)),s("div",Rc,[(u(!0),_(T,null,W(It.value,(r,O)=>(u(),_("div",{key:O,class:"rx-herb-cell"},[s("span",Ec,o(r.name)+" ("+o(r.dosage)+"克)",1),s("span",Dc,o(Zn(r.dosage))+"克",1)]))),128))])]),s("div",Uc,[s("p",null,"服法:"+o(er.value),1),Ss.value?(u(),_("p",$c,"医嘱:"+o(Ss.value),1)):f("",!0),hs.value?(u(),_("p",Fc,"忌口:"+o(hs.value),1)):f("",!0),Ns.value?(u(),_("p",zc,"备注:"+o(Ns.value),1)):f("",!0),Cs.value?(u(),_("p",jc," 药房备注:"+o(Cs.value),1)):f("",!0),Ps.value?(u(),_("p",Lc," 出丸:"+o(Ps.value),1)):f("",!0)]),s("div",Ic,[s("div",qc,[s("div",Mc,[e[267]||(e[267]=s("div",{class:"rx-bot-label rx-bot-label--doctor"},"医师",-1)),s("div",Bc,[w.value.doctor_signature?(u(),_("img",{key:0,src:w.value.doctor_signature,alt:"医师签名",class:"rx-bot-sign-img"},null,8,Hc)):f("",!0),w.value.doctor_signature?f("",!0):(u(),_("span",Wc,o(w.value.doctor_name||"—"),1))])]),s("div",Kc,[e[268]||(e[268]=s("span",{class:"rx-bot-meta-key"},"类型:",-1)),s("span",Gc,o(Xn.value),1)]),s("div",Jc,[e[269]||(e[269]=s("span",{class:"rx-bot-meta-key"},"天数:",-1)),s("span",Qc,o(c.value.medication_days!=null&&String(c.value.medication_days).trim()!==""?c.value.medication_days+" 天":"—"),1)]),s("div",Yc,[e[270]||(e[270]=s("span",{class:"rx-bot-meta-key"},"剂量:",-1)),s("span",Zc,o(Yn.value)+"克",1)])])]),e[271]||(e[271]=s("div",{class:"rx-bot-row rx-hospital-row"},[s("div",{class:"rx-hospital-line"},"成都双流甄养堂互联网医院有限公司 联系方式:4001667339"),s("div",{class:"rx-hospital-line"},"地址:四川省成都市双流区黄甲街道黄龙大道二段280号")],-1))],512)):f("",!0),w.value&&(w.value.audit_by_name||w.value.audit_remark)?(u(),_("div",Xc,[w.value.audit_by_name?(u(),_("div",e_,[p(" 审核人:"+o(w.value.audit_by_name)+" ",1),w.value.audit_time?(u(),_("span",t_,o(As(w.value.audit_time)),1)):f("",!0)])):f("",!0),w.value.audit_remark?(u(),_("div",a_,"审核意见:"+o(w.value.audit_remark),1)):f("",!0)])):f("",!0)])),[[Pe,Lt.value]])]),_:1},8,["modelValue"]),l(Ta,{modelValue:Rt.value,"onUpdate:modelValue":e[97]||(e[97]=r=>Rt.value=r),title:"甘草预下单测试结果",size:"100%",direction:"btt",class:"po-h5-drawer","destroy-on-close":""},{default:n(()=>{var r,O;return[z.value?(u(),_("div",s_,[l(a,{shadow:"never",class:"mb-4"},{header:n(()=>[s("div",l_,[e[273]||(e[273]=s("span",{class:"font-semibold"},"价格信息",-1)),l(d,{type:"success"},{default:n(()=>[...e[272]||(e[272]=[p("预下单成功",-1)])]),_:1})])]),default:n(()=>[l(ot,{column:2,border:""},{default:n(()=>[l(N,{label:"药材成本"},{default:n(()=>{var C;return[s("span",n_,"¥"+o(((C=z.value.fee)==null?void 0:C.m_cost)||"0.00"),1)]}),_:1}),l(N,{label:"制作费"},{default:n(()=>{var C;return[s("span",r_,"¥"+o((((C=z.value.fee)==null?void 0:C.proces_cost)||0).toFixed(2)),1)]}),_:1}),l(N,{label:"物流费"},{default:n(()=>{var C;return[s("span",i_,"¥"+o((((C=z.value.fee)==null?void 0:C.lis_cost)||0).toFixed(2)),1)]}),_:1}),l(N,{label:"总计"},{default:n(()=>[s("div",null,[s("span",o_," ¥"+o(fs(z.value.fee)),1),R((u(),_("div",u_,[e[274]||(e[274]=p(" 占订单总金额: ",-1)),s("span",d_,o(kn(z.value.fee,z.value.amount)),1),z.value.amount>0?(u(),_("span",p_,"%(预报价 ÷ 订单金额 × 100)")):f("",!0)])),[[j,["prescription.order/finance"]]])])]),_:1})]),_:1})]),_:1}),l(a,{shadow:"never",class:"mb-4"},{header:n(()=>[...e[275]||(e[275]=[s("span",{class:"font-semibold"},"配送信息",-1)])]),default:n(()=>[l(ot,{column:2,border:""},{default:n(()=>[l(N,{label:"调配中心"},{default:n(()=>{var C;return[p(o(((C=z.value.result)==null?void 0:C.ds_name)||"—"),1)]}),_:1}),l(N,{label:"调配中心ID"},{default:n(()=>{var C;return[p(o(((C=z.value.result)==null?void 0:C.ds_id)||"—"),1)]}),_:1}),l(N,{label:"服用天数范围",span:2},{default:n(()=>{var C,I,ut,dt,be,Ae;return[p(o(((I=(C=z.value.result)==null?void 0:C.take_days)==null?void 0:I.min)||"—")+" - "+o(((dt=(ut=z.value.result)==null?void 0:ut.take_days)==null?void 0:dt.max)||"—")+" 天 (默认: "+o(((Ae=(be=z.value.result)==null?void 0:be.take_days)==null?void 0:Ae.default)||"—")+" 天) ",1)]}),_:1})]),_:1})]),_:1}),(O=(r=z.value.result)==null?void 0:r.rule_check)!=null&&O.length?(u(),y(a,{key:0,shadow:"never",class:"mb-4"},{header:n(()=>[...e[276]||(e[276]=[s("span",{class:"font-semibold"},"医嘱备注",-1)])]),default:n(()=>[s("div",c_,o(z.value.result.rule_check.map(C=>C.msg).join(" ")),1)]),_:1})):f("",!0),l(a,{shadow:"never"},{header:n(()=>{var C,I;return[s("div",__,[e[277]||(e[277]=s("span",{class:"font-semibold"},"药材明细",-1)),s("span",m_,"共 "+o(((I=(C=z.value.result)==null?void 0:C.m_list)==null?void 0:I.length)||0)+" 味药",1)])]}),default:n(()=>{var C;return[l(Bt,{data:((C=z.value.result)==null?void 0:C.m_list)||[],border:"",stripe:"","max-height":"400"},{default:n(()=>[l(U,{type:"index",label:"#",width:"50",align:"center"}),l(U,{prop:"title",label:"药材名称","min-width":"120","show-overflow-tooltip":""}),l(U,{prop:"quantity",label:"用量",width:"80",align:"right"},{default:n(({row:I})=>[p(o(I.quantity)+o(I.unit),1)]),_:1}),l(U,{prop:"price",label:"单价(元/克)",width:"110",align:"right"},{default:n(({row:I})=>[p(" ¥"+o(Number(I.price).toFixed(4)),1)]),_:1}),l(U,{label:"小计",width:"100",align:"right"},{default:n(({row:I})=>[s("span",f_," ¥"+o((Number(I.price)*Number(I.quantity)).toFixed(2)),1)]),_:1}),l(U,{prop:"is_available",label:"库存状态",width:"100",align:"center"},{default:n(({row:I})=>[l(d,{type:I.is_available===1?"success":"danger",size:"small"},{default:n(()=>[p(o(I.is_available===1?"有货":"缺货"),1)]),_:2},1032,["type"])]),_:1}),l(U,{prop:"brief",label:"备注","min-width":"120","show-overflow-tooltip":""})]),_:1},8,["data"])]}),_:1}),l(a,{shadow:"never",class:"mt-4"},{header:n(()=>[...e[278]||(e[278]=[s("span",{class:"font-semibold"},"订单信息",-1)])]),default:n(()=>[l(ot,{column:2,border:""},{default:n(()=>[l(N,{label:"订单号",span:2},{default:n(()=>[p(o(z.value.order_no||"—"),1)]),_:1}),l(N,{label:"剂数"},{default:n(()=>[s("span",v_,o(z.value.dose_count||"—")+"剂",1)]),_:1}),l(N,{label:"单剂量"},{default:n(()=>{var C;return[s("span",g_,o(hn((C=z.value.result)==null?void 0:C.m_list))+"克 ",1)]}),_:1})]),_:1})]),_:1})])):f("",!0)]}),_:1},8,["modelValue"]),l(E(Ws),{ref_key:"diagnosisViewRef",ref:$a},null,512)])}}}),T_=Bi(b_,[["__scopeId","data-v-fb2f111f"]]);export{T_ as default}; diff --git a/server/public/admin/assets/overflow-BejtidJF.js b/server/public/admin/assets/overflow-BVuoJuJp.js similarity index 87% rename from server/public/admin/assets/overflow-BejtidJF.js rename to server/public/admin/assets/overflow-BVuoJuJp.js index 22c2f37e..153716b2 100644 --- a/server/public/admin/assets/overflow-BejtidJF.js +++ b/server/public/admin/assets/overflow-BVuoJuJp.js @@ -1 +1 @@ -import{q as n,r as c,v as e,D as r,bg as s}from"./.pnpm-9dA1PEvN.js";import{_ as a,o as _}from"./index-CJvXnF8Y.js";const l={};function d(f,m){const o=_,t=s;return n(),c("div",null,[e(t,{header:"基础使用",shadow:"never",class:"!border-none"},{default:r(()=>[e(o,{class:"w-20 m-4",content:"超出自动打点,悬浮弹窗显示全部内容"}),e(o,{class:"w-60 m-4",content:"超出自动打点,悬浮弹窗显示全部内容"})]),_:1})])}const w=a(l,[["render",d]]);export{w as default}; +import{q as n,r as c,v as e,D as r,bg as s}from"./.pnpm-9dA1PEvN.js";import{_ as a,o as _}from"./index-BWzN7QIb.js";const l={};function d(f,m){const o=_,t=s;return n(),c("div",null,[e(t,{header:"基础使用",shadow:"never",class:"!border-none"},{default:r(()=>[e(o,{class:"w-20 m-4",content:"超出自动打点,悬浮弹窗显示全部内容"}),e(o,{class:"w-60 m-4",content:"超出自动打点,悬浮弹窗显示全部内容"})]),_:1})])}const w=a(l,[["render",d]]);export{w as default}; diff --git a/server/public/admin/assets/paiban-CEqcPVTY.js b/server/public/admin/assets/paiban-CHzlDeia.js similarity index 95% rename from server/public/admin/assets/paiban-CEqcPVTY.js rename to server/public/admin/assets/paiban-CHzlDeia.js index 905454a0..546fb5f1 100644 --- a/server/public/admin/assets/paiban-CEqcPVTY.js +++ b/server/public/admin/assets/paiban-CHzlDeia.js @@ -1 +1 @@ -import{o as j,ap as G,aq as U,q as c,r as m,v as b,D as u,b9 as K,b6 as O,s as v,bc as H,F as w,G as E,O as k,bf as J,L as B,T as Y,bB as Q,K as X,ae as R,P as Z,bg as ee,M as y,ba as ae,p as V,n as te}from"./.pnpm-9dA1PEvN.js";import{d,i as se}from"./dayjs-BsOAYQJw.js";import{g as oe}from"./tcm-DOD9_1Um.js";import{r as le,g as ne}from"./doctor-Bmtf1eZE.js";import{i as g,_ as re}from"./index-CJvXnF8Y.js";const ie={class:"paiban-container"},ce={class:"doctor-list"},de={key:2,class:"paiban-time-container"},ue={class:"date-selector"},me={key:0,class:"time-slots-container"},ve={class:"time-slots-grid"},fe=["onClick"],_e={class:"slot-time"},pe=j({__name:"paiban",setup(be){d.extend(se);const f=y(!1),h=y([]),_=y([]),l=y(0),r=y([]);let D=null,T=!1;const s=ae({date:"",selectedTime:""}),$=V(()=>{if(!l.value||r.value.length===0)return[];const e=[],o=["日","一","二","三","四","五","六"],t=d().startOf("day");for(const n of r.value){const i=d(n);if(i.isBefore(t))continue;const p=`${i.format("MM月DD日")} (${o[i.day()]})`;e.push({date:n,label:p})}return e}),I=V(()=>{if(!s.date||_.value.length===0)return[];const e=d().format("YYYY-MM-DD");if(!(s.date===e))return _.value;const t=d();return _.value.map(n=>{const i=d(`${s.date} ${n.time}`);return i.isBefore(t)||i.isSame(t,"minute")?{...n,available:!1}:n})}),L=async()=>{try{f.value=!0;const e=await oe();h.value=e||[],h.value.length>0&&!l.value&&(l.value=h.value[0].id,await M())}catch(e){console.error("加载医生列表失败:",e),g.msgError("加载医生列表失败")}finally{f.value=!1}},M=async()=>{s.selectedTime="",s.date="",_.value=[],r.value=[],l.value&&await F()},F=async()=>{if(l.value)try{f.value=!0;const e=d().format("YYYY-MM-DD"),o=d().add(6,"day").format("YYYY-MM-DD"),t=await le({doctor_id:l.value,start_date:e,end_date:o,status:1});if(t!=null&&t.lists&&t.lists.length>0){if(r.value=[...new Set(t.lists.map(n=>n.date))],r.value.sort(),await te(),r.value.length>0){const n=d().format("YYYY-MM-DD"),i=r.value.includes(n)?n:r.value[0];C(i)}}else r.value=[],g.msgWarning("该医生暂无排班")}catch(e){console.error("加载医生排班失败:",e),g.msgError("加载医生排班失败"),r.value=[]}finally{f.value=!1}},C=e=>{s.date=e,s.selectedTime="",l.value&&S()},S=async(e=!1)=>{if(!(!l.value||!s.date)){if(T){console.log("正在加载中,跳过本次请求");return}try{T=!0,e||(f.value=!0);const o=await ne({doctor_id:l.value,appointment_date:s.date,period:"all"});_.value=((o==null?void 0:o.slots)||[]).map(t=>({time:t.time,available:t.available,quota:t.available?1:0}))}catch(o){console.error("加载时间段失败:",o),e||g.msgError("加载时间段失败"),_.value=[]}finally{T=!1,e||(f.value=!1)}}},N=e=>{if(!e.available){g.msgWarning("该时间段不可预约");return}s.selectedTime=e.time},q=()=>{x(),D=window.setInterval(()=>{l.value&&s.date&&S(!0)},5e3)},x=()=>{D&&(clearInterval(D),D=null)};return G(()=>{L(),q()}),U(()=>{x()}),(e,o)=>{const t=J,n=H,i=O,p=Q,z=X,A=K,P=ee;return c(),m("div",ie,[b(P,{shadow:"never"},{header:u(()=>[...o[1]||(o[1]=[v("div",{class:"card-header"},[v("span",null,"医生排班管理")],-1)])]),default:u(()=>[b(A,{model:s,"label-width":"100px",class:"paiban-form"},{default:u(()=>[b(i,{label:"选择医生:"},{default:u(()=>[v("div",ce,[b(n,{modelValue:l.value,"onUpdate:modelValue":o[0]||(o[0]=a=>l.value=a),onChange:M},{default:u(()=>[(c(!0),m(w,null,E(h.value,a=>(c(),k(t,{key:a.id,value:a.id,class:"doctor-radio"},{default:u(()=>[B(Y(a.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])]),_:1}),b(i,{label:"排班时间:"},{default:u(()=>[l.value?l.value&&r.value.length===0?(c(),k(p,{key:1,description:"该医生暂无排班","image-size":80})):(c(),m("div",de,[v("div",ue,[(c(!0),m(w,null,E($.value,a=>(c(),k(z,{key:a.date,type:s.date===a.date?"primary":"",onClick:W=>C(a.date),class:"date-button"},{default:u(()=>[B(Y(a.label),1)]),_:2},1032,["type","onClick"]))),128))]),s.date?(c(),m("div",me,[v("div",ve,[(c(!0),m(w,null,E(I.value,a=>(c(),m("div",{key:a.time,class:R(["time-slot-item",{available:a.available,unavailable:!a.available,selected:s.selectedTime===a.time}]),onClick:W=>N(a)},[v("div",_e,Y(a.time),1),v("div",{class:R(["slot-status",{"status-available":a.available}])},Y(a.available?"可约":"已约"),3)],10,fe))),128))])])):Z("",!0)])):(c(),k(p,{key:0,description:"请先选择医生","image-size":80}))]),_:1})]),_:1},8,["model"])]),_:1})])}}}),Ye=re(pe,[["__scopeId","data-v-e4651276"]]);export{Ye as default}; +import{o as j,ap as G,aq as U,q as c,r as m,v as b,D as u,b9 as K,b6 as O,s as v,bc as H,F as w,G as E,O as k,bf as J,L as B,T as Y,bB as Q,K as X,ae as R,P as Z,bg as ee,M as y,ba as ae,p as V,n as te}from"./.pnpm-9dA1PEvN.js";import{d,i as se}from"./dayjs-BsOAYQJw.js";import{g as oe}from"./tcm-Fi_swgCr.js";import{r as le,g as ne}from"./doctor-Chj6BcVp.js";import{i as g,_ as re}from"./index-BWzN7QIb.js";const ie={class:"paiban-container"},ce={class:"doctor-list"},de={key:2,class:"paiban-time-container"},ue={class:"date-selector"},me={key:0,class:"time-slots-container"},ve={class:"time-slots-grid"},fe=["onClick"],_e={class:"slot-time"},pe=j({__name:"paiban",setup(be){d.extend(se);const f=y(!1),h=y([]),_=y([]),l=y(0),r=y([]);let D=null,T=!1;const s=ae({date:"",selectedTime:""}),$=V(()=>{if(!l.value||r.value.length===0)return[];const e=[],o=["日","一","二","三","四","五","六"],t=d().startOf("day");for(const n of r.value){const i=d(n);if(i.isBefore(t))continue;const p=`${i.format("MM月DD日")} (${o[i.day()]})`;e.push({date:n,label:p})}return e}),I=V(()=>{if(!s.date||_.value.length===0)return[];const e=d().format("YYYY-MM-DD");if(!(s.date===e))return _.value;const t=d();return _.value.map(n=>{const i=d(`${s.date} ${n.time}`);return i.isBefore(t)||i.isSame(t,"minute")?{...n,available:!1}:n})}),L=async()=>{try{f.value=!0;const e=await oe();h.value=e||[],h.value.length>0&&!l.value&&(l.value=h.value[0].id,await M())}catch(e){console.error("加载医生列表失败:",e),g.msgError("加载医生列表失败")}finally{f.value=!1}},M=async()=>{s.selectedTime="",s.date="",_.value=[],r.value=[],l.value&&await F()},F=async()=>{if(l.value)try{f.value=!0;const e=d().format("YYYY-MM-DD"),o=d().add(6,"day").format("YYYY-MM-DD"),t=await le({doctor_id:l.value,start_date:e,end_date:o,status:1});if(t!=null&&t.lists&&t.lists.length>0){if(r.value=[...new Set(t.lists.map(n=>n.date))],r.value.sort(),await te(),r.value.length>0){const n=d().format("YYYY-MM-DD"),i=r.value.includes(n)?n:r.value[0];C(i)}}else r.value=[],g.msgWarning("该医生暂无排班")}catch(e){console.error("加载医生排班失败:",e),g.msgError("加载医生排班失败"),r.value=[]}finally{f.value=!1}},C=e=>{s.date=e,s.selectedTime="",l.value&&S()},S=async(e=!1)=>{if(!(!l.value||!s.date)){if(T){console.log("正在加载中,跳过本次请求");return}try{T=!0,e||(f.value=!0);const o=await ne({doctor_id:l.value,appointment_date:s.date,period:"all"});_.value=((o==null?void 0:o.slots)||[]).map(t=>({time:t.time,available:t.available,quota:t.available?1:0}))}catch(o){console.error("加载时间段失败:",o),e||g.msgError("加载时间段失败"),_.value=[]}finally{T=!1,e||(f.value=!1)}}},N=e=>{if(!e.available){g.msgWarning("该时间段不可预约");return}s.selectedTime=e.time},q=()=>{x(),D=window.setInterval(()=>{l.value&&s.date&&S(!0)},5e3)},x=()=>{D&&(clearInterval(D),D=null)};return G(()=>{L(),q()}),U(()=>{x()}),(e,o)=>{const t=J,n=H,i=O,p=Q,z=X,A=K,P=ee;return c(),m("div",ie,[b(P,{shadow:"never"},{header:u(()=>[...o[1]||(o[1]=[v("div",{class:"card-header"},[v("span",null,"医生排班管理")],-1)])]),default:u(()=>[b(A,{model:s,"label-width":"100px",class:"paiban-form"},{default:u(()=>[b(i,{label:"选择医生:"},{default:u(()=>[v("div",ce,[b(n,{modelValue:l.value,"onUpdate:modelValue":o[0]||(o[0]=a=>l.value=a),onChange:M},{default:u(()=>[(c(!0),m(w,null,E(h.value,a=>(c(),k(t,{key:a.id,value:a.id,class:"doctor-radio"},{default:u(()=>[B(Y(a.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])]),_:1}),b(i,{label:"排班时间:"},{default:u(()=>[l.value?l.value&&r.value.length===0?(c(),k(p,{key:1,description:"该医生暂无排班","image-size":80})):(c(),m("div",de,[v("div",ue,[(c(!0),m(w,null,E($.value,a=>(c(),k(z,{key:a.date,type:s.date===a.date?"primary":"",onClick:W=>C(a.date),class:"date-button"},{default:u(()=>[B(Y(a.label),1)]),_:2},1032,["type","onClick"]))),128))]),s.date?(c(),m("div",me,[v("div",ve,[(c(!0),m(w,null,E(I.value,a=>(c(),m("div",{key:a.time,class:R(["time-slot-item",{available:a.available,unavailable:!a.available,selected:s.selectedTime===a.time}]),onClick:W=>N(a)},[v("div",_e,Y(a.time),1),v("div",{class:R(["slot-status",{"status-available":a.available}])},Y(a.available?"可约":"已约"),3)],10,fe))),128))])])):Z("",!0)])):(c(),k(p,{key:0,description:"请先选择医生","image-size":80}))]),_:1})]),_:1},8,["model"])]),_:1})])}}}),Ye=re(pe,[["__scopeId","data-v-e4651276"]]);export{Ye as default}; diff --git a/server/public/admin/assets/patient-CwTOvUDt.js b/server/public/admin/assets/patient-Btpwd7dp.js similarity index 88% rename from server/public/admin/assets/patient-CwTOvUDt.js rename to server/public/admin/assets/patient-Btpwd7dp.js index 4cec12da..6da30a33 100644 --- a/server/public/admin/assets/patient-CwTOvUDt.js +++ b/server/public/admin/assets/patient-Btpwd7dp.js @@ -1 +1 @@ -import{r as o}from"./index-CJvXnF8Y.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-BWzN7QIb.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-DflmousT.js b/server/public/admin/assets/patient-call-D7jJAMY3.js similarity index 99% rename from server/public/admin/assets/patient-call-DflmousT.js rename to server/public/admin/assets/patient-call-D7jJAMY3.js index c77a6d79..6bd13a74 100644 --- a/server/public/admin/assets/patient-call-DflmousT.js +++ b/server/public/admin/assets/patient-call-D7jJAMY3.js @@ -1 +1 @@ -import{o as H,ap as J,E as a,d3 as C,n as P,aq as Q,q as v,r as p,v as c,D as r,bh as X,s as n,L as d,T as h,O as B,K as Y,P as w,w as Z,ae as ee,u as L,cP as N,d4 as O,bB as le,bg as te,p as oe,M as y,d5 as k,d6 as T,d7 as E,d8 as ae,f as V,d9 as A}from"./.pnpm-9dA1PEvN.js";import{u as ne,r as se,_ as ie}from"./index-CJvXnF8Y.js";const ce={class:"patient-test"},re={key:0,class:"init-section"},ue={key:1,class:"status"},fe={class:"flex items-center"},ve={class:"mt-2"},de={key:0},ge={key:0,class:"call-actions mt-4"},pe={key:2,id:"call-container",class:"call-container phone-call-shell"},me={key:3,class:"waiting-container"},Ie={key:4,class:"phone-call-kit-host phone-call-kit-host--offscreen","aria-hidden":"true"},_e=H({__name:"patient-call",setup(Ce){const z=ne(),S=oe(()=>z.userInfo),U=y(!1),m=y(!1),D=y(""),t=y(!1),s=y(!1),f=y(null),g=y(null);let I=null;J(()=>{M()});function b(l){try{const e=k.getData(T.CALL,E.CALL_STATUS),u=k.getData(T.CALL,E.CALL_ROLE),i=!!k.getData(T.CALL,E.IS_GROUP),_=t.value;if(e==="calling"&&u===ae.CALLEE){t.value=!0,f.value={isGroup:i,from:l},_||(a.info("检测到待接听的来电,请点击接听"),V({title:"来电提醒",message:"有待接听的视频通话",type:"warning",duration:0,position:"top-right"})),s.value=!1;return}if(e==="connected"){t.value=!1,f.value=null,s.value=!0;return}e==="idle"&&(t.value||s.value)&&(t.value=!1,s.value=!1,f.value=null)}catch(e){console.warn("syncIncomingFromTUIStore:",l,e)}}function x(){b("watch")}function G(){I&&(I(),I=null);const l={[E.CALL_STATUS]:x,[E.CALL_ROLE]:x};try{k.watch(T.CALL,l),I=()=>{try{k.unwatch(T.CALL,l)}catch{}}}catch(e){console.warn("TUIStore.watch 失败:",e)}}const R=()=>{g.value&&clearInterval(g.value);let l=0;const e=90;g.value=setInterval(()=>{l+=1,b("poll"),l>=e&&g.value&&(clearInterval(g.value),g.value=null)},500)},F=({oldStatus:l,newStatus:e})=>{console.log("========================================"),console.log("=== 通话状态变化回调触发 ==="),console.log("oldStatus:",l),console.log("newStatus:",e),console.log("STATUS 常量:",A),console.log("========================================"),e===A.BE_INVITED&&(console.log(">>> 收到来电邀请"),t.value=!0,f.value={oldStatus:l,newStatus:e},V({title:"来电提醒",message:"收到视频通话请求",type:"info",duration:0,position:"top-right"}),a.success("收到来电,请点击接听按钮")),(e===A.CALLING_C2C_VIDEO||e===A.CALLING_GROUP_VIDEO)&&(console.log(">>> 通话已接通"),a.success("通话已接通"),t.value=!1,s.value=!0),e===A.IDLE&&(t.value||s.value)&&(console.log(">>> 通话已结束"),t.value=!1,s.value=!1,f.value=null,a.info("通话已结束"))},M=async()=>{try{U.value=!0;const l=S.value.id;if(!l)throw new Error("未获取到当前用户ID,请重新登录");console.log("=== 开始初始化医疗助理端 ==="),console.log("当前用户ID:",l),a.info("正在获取签名...");const e=await se.get({url:"/tcm.diagnosis/getDoctorSignature",params:{patient_id:l}});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(o){console.warn("TUICallKitServer.init 出现错误,但继续执行:",o)}console.log("=== TUICallKitServer.init 完成 ===");const K={statusChanged:F,onError:o=>{console.error("=== TUICallKit 错误回调 ===",o),a.error(`通话错误: ${(o==null?void 0:o.message)||"未知错误"}`)},onInvited:o=>{console.log("=== 收到邀请回调 (onInvited) ===",o),a.info("收到通话邀请 (onInvited)")},afterCalling:()=>{console.log("=== afterCalling 回调 ===")}};try{C.setCallback(K)}catch(o){console.warn("设置回调时出现错误,但继续执行:",o)}console.log("回调设置完成"),a.info("等待初始化完成..."),await new Promise(o=>setTimeout(o,2e3)),m.value=!0,await P(),await new Promise(o=>setTimeout(o,300)),G(),b("post-init"),R(),a.success("医疗助理端初始化成功,等待来电..."),console.log("=== 医疗助理端初始化完成 ==="),console.log("userId:",i),console.log("等待来电中..."),console.log("请在医生端发起群组通话,目标用户ID应该是:",i)}catch(l){console.error("=== 初始化失败 ===",l),a.error(l.message||"初始化失败")}finally{U.value=!1}};async function q(){var l;await P(),await new Promise(e=>setTimeout(e,400));try{const e=C;if(typeof e.closeMicrophone=="function")return await e.closeMicrophone(),!0;const u=(l=e.getTUICallEngineInstance)==null?void 0:l.call(e);if(u&&typeof u.closeMicrophone=="function")return await u.closeMicrophone(),!0}catch(e){console.warn("接听后关闭麦克风失败(可在通话条手动关麦):",e)}return!1}const j=async()=>{try{console.log("接听来电"),await C.accept(),a.success("已接听通话"),t.value=!1,s.value=!0,await q()&&a.info("已关闭本地麦克风")}catch(l){console.error("接听失败:",l),a.error(l.message||"接听失败")}},W=async()=>{try{console.log("拒绝来电"),await C.reject(),a.info("已拒绝通话"),t.value=!1,f.value=null}catch(l){console.error("拒绝失败:",l),a.error(l.message||"拒绝失败")}},$=()=>{m.value=!1,D.value="",t.value=!1,s.value=!1,f.value=null};return Q(()=>{g.value&&(clearInterval(g.value),g.value=null),I&&(I(),I=null),m.value&&(t.value=!1,s.value=!1,f.value=null)}),(l,e)=>{const u=X,i=Y,_=Z,K=le,o=te;return v(),p("div",ce,[c(o,null,{header:r(()=>[...e[0]||(e[0]=[n("div",{class:"card-header"},[n("span",null,"医疗助理端 - 接听来电")],-1)])]),default:r(()=>[m.value?w("",!0):(v(),p("div",re,[c(u,{type:"info",closable:!1,class:"mb-4"},{default:r(()=>[n("p",null,[e[1]||(e[1]=n("strong",null,"当前登录用户:",-1)),d(" "+h(S.value.nickname||S.value.name||"未知"),1)]),n("p",null,[e[2]||(e[2]=n("strong",null,"用户ID:",-1)),d(" "+h(S.value.id||"未获取"),1)]),e[3]||(e[3]=n("p",null,[n("strong",null,"状态:"),d(" 正在初始化...")],-1))]),_:1}),U.value?w("",!0):(v(),B(i,{key:0,type:"primary",onClick:M,loading:U.value,size:"large"},{default:r(()=>[...e[4]||(e[4]=[d(" 重新初始化 ",-1)])]),_:1},8,["loading"]))])),m.value?(v(),p("div",ue,[c(u,{type:t.value?"warning":"success",closable:!1},{title:r(()=>[n("div",fe,[c(_,{class:ee(["mr-2",{"animate-pulse":t.value}])},{default:r(()=>[c(L(N))]),_:1},8,["class"]),n("span",null,h(t.value?"收到来电!":"医疗助理端已初始化,等待来电..."),1)])]),default:r(()=>[n("div",ve,[n("p",null,[e[5]||(e[5]=n("strong",null,"医疗助理ID:",-1)),d(" "+h(D.value),1)]),n("p",null,[e[6]||(e[6]=n("strong",null,"状态:",-1)),d(" "+h(t.value?"来电中":"在线"),1)]),t.value&&f.value?(v(),p("p",de,[e[7]||(e[7]=n("strong",null,"通话类型:",-1)),d(" "+h(f.value.isGroup?"群组视频通话":"视频通话"),1)])):w("",!0)])]),_:1},8,["type"]),t.value?(v(),p("div",ge,[c(i,{type:"success",size:"large",onClick:j,icon:L(N)},{default:r(()=>[...e[8]||(e[8]=[d(" 接听 ",-1)])]),_:1},8,["icon"]),c(i,{type:"danger",size:"large",onClick:W},{default:r(()=>[...e[9]||(e[9]=[d(" 拒绝 ",-1)])]),_:1})])):(v(),B(i,{key:1,type:"danger",onClick:$,class:"mt-4"},{default:r(()=>[...e[10]||(e[10]=[d(" 重置 ",-1)])]),_:1}))])):w("",!0),t.value||s.value?(v(),p("div",pe,[c(L(O),{class:"TUICallKit-mobile"})])):m.value?(v(),p("div",me,[c(K,{description:"等待来电中..."},{image:r(()=>[c(_,{size:80,color:"#909399"},{default:r(()=>[c(L(N))]),_:1})]),_:1})])):w("",!0),m.value&&!t.value&&!s.value?(v(),p("div",Ie,[c(L(O),{class:"TUICallKit-mobile"})])):w("",!0)]),_:1})])}}}),we=ie(_e,[["__scopeId","data-v-b7605c86"]]);export{we as default}; +import{o as H,ap as J,E as a,d3 as C,n as P,aq as Q,q as v,r as p,v as c,D as r,bh as X,s as n,L as d,T as h,O as B,K as Y,P as w,w as Z,ae as ee,u as L,cP as N,d4 as O,bB as le,bg as te,p as oe,M as y,d5 as k,d6 as T,d7 as E,d8 as ae,f as V,d9 as A}from"./.pnpm-9dA1PEvN.js";import{u as ne,r as se,_ as ie}from"./index-BWzN7QIb.js";const ce={class:"patient-test"},re={key:0,class:"init-section"},ue={key:1,class:"status"},fe={class:"flex items-center"},ve={class:"mt-2"},de={key:0},ge={key:0,class:"call-actions mt-4"},pe={key:2,id:"call-container",class:"call-container phone-call-shell"},me={key:3,class:"waiting-container"},Ie={key:4,class:"phone-call-kit-host phone-call-kit-host--offscreen","aria-hidden":"true"},_e=H({__name:"patient-call",setup(Ce){const z=ne(),S=oe(()=>z.userInfo),U=y(!1),m=y(!1),D=y(""),t=y(!1),s=y(!1),f=y(null),g=y(null);let I=null;J(()=>{M()});function b(l){try{const e=k.getData(T.CALL,E.CALL_STATUS),u=k.getData(T.CALL,E.CALL_ROLE),i=!!k.getData(T.CALL,E.IS_GROUP),_=t.value;if(e==="calling"&&u===ae.CALLEE){t.value=!0,f.value={isGroup:i,from:l},_||(a.info("检测到待接听的来电,请点击接听"),V({title:"来电提醒",message:"有待接听的视频通话",type:"warning",duration:0,position:"top-right"})),s.value=!1;return}if(e==="connected"){t.value=!1,f.value=null,s.value=!0;return}e==="idle"&&(t.value||s.value)&&(t.value=!1,s.value=!1,f.value=null)}catch(e){console.warn("syncIncomingFromTUIStore:",l,e)}}function x(){b("watch")}function G(){I&&(I(),I=null);const l={[E.CALL_STATUS]:x,[E.CALL_ROLE]:x};try{k.watch(T.CALL,l),I=()=>{try{k.unwatch(T.CALL,l)}catch{}}}catch(e){console.warn("TUIStore.watch 失败:",e)}}const R=()=>{g.value&&clearInterval(g.value);let l=0;const e=90;g.value=setInterval(()=>{l+=1,b("poll"),l>=e&&g.value&&(clearInterval(g.value),g.value=null)},500)},F=({oldStatus:l,newStatus:e})=>{console.log("========================================"),console.log("=== 通话状态变化回调触发 ==="),console.log("oldStatus:",l),console.log("newStatus:",e),console.log("STATUS 常量:",A),console.log("========================================"),e===A.BE_INVITED&&(console.log(">>> 收到来电邀请"),t.value=!0,f.value={oldStatus:l,newStatus:e},V({title:"来电提醒",message:"收到视频通话请求",type:"info",duration:0,position:"top-right"}),a.success("收到来电,请点击接听按钮")),(e===A.CALLING_C2C_VIDEO||e===A.CALLING_GROUP_VIDEO)&&(console.log(">>> 通话已接通"),a.success("通话已接通"),t.value=!1,s.value=!0),e===A.IDLE&&(t.value||s.value)&&(console.log(">>> 通话已结束"),t.value=!1,s.value=!1,f.value=null,a.info("通话已结束"))},M=async()=>{try{U.value=!0;const l=S.value.id;if(!l)throw new Error("未获取到当前用户ID,请重新登录");console.log("=== 开始初始化医疗助理端 ==="),console.log("当前用户ID:",l),a.info("正在获取签名...");const e=await se.get({url:"/tcm.diagnosis/getDoctorSignature",params:{patient_id:l}});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(o){console.warn("TUICallKitServer.init 出现错误,但继续执行:",o)}console.log("=== TUICallKitServer.init 完成 ===");const K={statusChanged:F,onError:o=>{console.error("=== TUICallKit 错误回调 ===",o),a.error(`通话错误: ${(o==null?void 0:o.message)||"未知错误"}`)},onInvited:o=>{console.log("=== 收到邀请回调 (onInvited) ===",o),a.info("收到通话邀请 (onInvited)")},afterCalling:()=>{console.log("=== afterCalling 回调 ===")}};try{C.setCallback(K)}catch(o){console.warn("设置回调时出现错误,但继续执行:",o)}console.log("回调设置完成"),a.info("等待初始化完成..."),await new Promise(o=>setTimeout(o,2e3)),m.value=!0,await P(),await new Promise(o=>setTimeout(o,300)),G(),b("post-init"),R(),a.success("医疗助理端初始化成功,等待来电..."),console.log("=== 医疗助理端初始化完成 ==="),console.log("userId:",i),console.log("等待来电中..."),console.log("请在医生端发起群组通话,目标用户ID应该是:",i)}catch(l){console.error("=== 初始化失败 ===",l),a.error(l.message||"初始化失败")}finally{U.value=!1}};async function q(){var l;await P(),await new Promise(e=>setTimeout(e,400));try{const e=C;if(typeof e.closeMicrophone=="function")return await e.closeMicrophone(),!0;const u=(l=e.getTUICallEngineInstance)==null?void 0:l.call(e);if(u&&typeof u.closeMicrophone=="function")return await u.closeMicrophone(),!0}catch(e){console.warn("接听后关闭麦克风失败(可在通话条手动关麦):",e)}return!1}const j=async()=>{try{console.log("接听来电"),await C.accept(),a.success("已接听通话"),t.value=!1,s.value=!0,await q()&&a.info("已关闭本地麦克风")}catch(l){console.error("接听失败:",l),a.error(l.message||"接听失败")}},W=async()=>{try{console.log("拒绝来电"),await C.reject(),a.info("已拒绝通话"),t.value=!1,f.value=null}catch(l){console.error("拒绝失败:",l),a.error(l.message||"拒绝失败")}},$=()=>{m.value=!1,D.value="",t.value=!1,s.value=!1,f.value=null};return Q(()=>{g.value&&(clearInterval(g.value),g.value=null),I&&(I(),I=null),m.value&&(t.value=!1,s.value=!1,f.value=null)}),(l,e)=>{const u=X,i=Y,_=Z,K=le,o=te;return v(),p("div",ce,[c(o,null,{header:r(()=>[...e[0]||(e[0]=[n("div",{class:"card-header"},[n("span",null,"医疗助理端 - 接听来电")],-1)])]),default:r(()=>[m.value?w("",!0):(v(),p("div",re,[c(u,{type:"info",closable:!1,class:"mb-4"},{default:r(()=>[n("p",null,[e[1]||(e[1]=n("strong",null,"当前登录用户:",-1)),d(" "+h(S.value.nickname||S.value.name||"未知"),1)]),n("p",null,[e[2]||(e[2]=n("strong",null,"用户ID:",-1)),d(" "+h(S.value.id||"未获取"),1)]),e[3]||(e[3]=n("p",null,[n("strong",null,"状态:"),d(" 正在初始化...")],-1))]),_:1}),U.value?w("",!0):(v(),B(i,{key:0,type:"primary",onClick:M,loading:U.value,size:"large"},{default:r(()=>[...e[4]||(e[4]=[d(" 重新初始化 ",-1)])]),_:1},8,["loading"]))])),m.value?(v(),p("div",ue,[c(u,{type:t.value?"warning":"success",closable:!1},{title:r(()=>[n("div",fe,[c(_,{class:ee(["mr-2",{"animate-pulse":t.value}])},{default:r(()=>[c(L(N))]),_:1},8,["class"]),n("span",null,h(t.value?"收到来电!":"医疗助理端已初始化,等待来电..."),1)])]),default:r(()=>[n("div",ve,[n("p",null,[e[5]||(e[5]=n("strong",null,"医疗助理ID:",-1)),d(" "+h(D.value),1)]),n("p",null,[e[6]||(e[6]=n("strong",null,"状态:",-1)),d(" "+h(t.value?"来电中":"在线"),1)]),t.value&&f.value?(v(),p("p",de,[e[7]||(e[7]=n("strong",null,"通话类型:",-1)),d(" "+h(f.value.isGroup?"群组视频通话":"视频通话"),1)])):w("",!0)])]),_:1},8,["type"]),t.value?(v(),p("div",ge,[c(i,{type:"success",size:"large",onClick:j,icon:L(N)},{default:r(()=>[...e[8]||(e[8]=[d(" 接听 ",-1)])]),_:1},8,["icon"]),c(i,{type:"danger",size:"large",onClick:W},{default:r(()=>[...e[9]||(e[9]=[d(" 拒绝 ",-1)])]),_:1})])):(v(),B(i,{key:1,type:"danger",onClick:$,class:"mt-4"},{default:r(()=>[...e[10]||(e[10]=[d(" 重置 ",-1)])]),_:1}))])):w("",!0),t.value||s.value?(v(),p("div",pe,[c(L(O),{class:"TUICallKit-mobile"})])):m.value?(v(),p("div",me,[c(K,{description:"等待来电中..."},{image:r(()=>[c(_,{size:80,color:"#909399"},{default:r(()=>[c(L(N))]),_:1})]),_:1})])):w("",!0),m.value&&!t.value&&!s.value?(v(),p("div",Ie,[c(L(O),{class:"TUICallKit-mobile"})])):w("",!0)]),_:1})])}}}),we=ie(_e,[["__scopeId","data-v-b7605c86"]]);export{we as default}; diff --git a/server/public/admin/assets/pay-Bhq0dtL5.js b/server/public/admin/assets/pay-Cfg11EXw.js similarity index 85% rename from server/public/admin/assets/pay-Bhq0dtL5.js rename to server/public/admin/assets/pay-Cfg11EXw.js index 530a0f0b..6c63f452 100644 --- a/server/public/admin/assets/pay-Bhq0dtL5.js +++ b/server/public/admin/assets/pay-Cfg11EXw.js @@ -1 +1 @@ -import{r as a}from"./index-CJvXnF8Y.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-BWzN7QIb.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-XPJWULkF.js b/server/public/admin/assets/pc-CeTGNIK_.js similarity index 95% rename from server/public/admin/assets/pc-XPJWULkF.js rename to server/public/admin/assets/pc-CeTGNIK_.js index 0a43a496..b975c105 100644 --- a/server/public/admin/assets/pc-XPJWULkF.js +++ b/server/public/admin/assets/pc-CeTGNIK_.js @@ -1 +1 @@ -import{o as p,x,be as y,q as _,r as v,v as t,D as o,s as g,u as l,K as D,L as s,b9 as w,b6 as E,T as V,b7 as k,ac as B,O as C,bg as N,M as P}from"./.pnpm-9dA1PEvN.js";import{b as q}from"./decoration-CcdLOa7h.js";import"./index-CJvXnF8Y.js";const F={class:"decoration-pc min-w-[1100px]"},I=p({name:"decorationPc"}),O=p({...I,setup(T){const a=P({update_time:"",pc_url:""});return(async()=>{try{a.value=await q()}catch(r){console.log(r)}})(),(r,e)=>{const n=D,i=x("router-link"),c=E,u=k,d=w,m=N,f=y("copy");return _(),v("div",F,[t(m,{shadow:"never",class:"!border-none flex-1 flex"},{default:o(()=>[e[3]||(e[3]=g("div",{class:"text-xl font-medium"},"首页装修",-1)),t(i,{to:{path:"/decoration/pc_details",query:{url:l(a).pc_url}}},{default:o(()=>[t(n,{class:"m-5",type:"primary",size:"large"},{default:o(()=>[...e[1]||(e[1]=[s("去装修",-1)])]),_:1})]),_:1},8,["to"]),t(d,null,{default:o(()=>[t(c,{label:"最近更新"},{default:o(()=>[s(V(l(a).update_time),1)]),_:1}),t(c,{label:"PC端链接"},{default:o(()=>[t(u,{style:{width:"350px"},modelValue:l(a).pc_url,"onUpdate:modelValue":e[0]||(e[0]=b=>l(a).pc_url=b),disabled:""},null,8,["modelValue"]),B((_(),C(n,{type:"primary"},{default:o(()=>[...e[2]||(e[2]=[s("复制",-1)])]),_:1})),[[f,l(a).pc_url]])]),_:1})]),_:1})]),_:1})])}}});export{O as default}; +import{o as p,x,be as y,q as _,r as v,v as t,D as o,s as g,u as l,K as D,L as s,b9 as w,b6 as E,T as V,b7 as k,ac as B,O as C,bg as N,M as P}from"./.pnpm-9dA1PEvN.js";import{b as q}from"./decoration-CvemIMkE.js";import"./index-BWzN7QIb.js";const F={class:"decoration-pc min-w-[1100px]"},I=p({name:"decorationPc"}),O=p({...I,setup(T){const a=P({update_time:"",pc_url:""});return(async()=>{try{a.value=await q()}catch(r){console.log(r)}})(),(r,e)=>{const n=D,i=x("router-link"),c=E,u=k,d=w,m=N,f=y("copy");return _(),v("div",F,[t(m,{shadow:"never",class:"!border-none flex-1 flex"},{default:o(()=>[e[3]||(e[3]=g("div",{class:"text-xl font-medium"},"首页装修",-1)),t(i,{to:{path:"/decoration/pc_details",query:{url:l(a).pc_url}}},{default:o(()=>[t(n,{class:"m-5",type:"primary",size:"large"},{default:o(()=>[...e[1]||(e[1]=[s("去装修",-1)])]),_:1})]),_:1},8,["to"]),t(d,null,{default:o(()=>[t(c,{label:"最近更新"},{default:o(()=>[s(V(l(a).update_time),1)]),_:1}),t(c,{label:"PC端链接"},{default:o(()=>[t(u,{style:{width:"350px"},modelValue:l(a).pc_url,"onUpdate:modelValue":e[0]||(e[0]=b=>l(a).pc_url=b),disabled:""},null,8,["modelValue"]),B((_(),C(n,{type:"primary"},{default:o(()=>[...e[2]||(e[2]=[s("复制",-1)])]),_:1})),[[f,l(a).pc_url]])]),_:1})]),_:1})]),_:1})])}}});export{O as default}; diff --git a/server/public/admin/assets/pc_details-BPAtffpC.js b/server/public/admin/assets/pc_details-Dq149fDu.js similarity index 50% rename from server/public/admin/assets/pc_details-BPAtffpC.js rename to server/public/admin/assets/pc_details-Dq149fDu.js index 594154d5..c6597b9b 100644 --- a/server/public/admin/assets/pc_details-BPAtffpC.js +++ b/server/public/admin/assets/pc_details-Dq149fDu.js @@ -1 +1 @@ -import{o as v,W as k,R as B,be as C,q as d,r as P,v as s,D as p,s as u,K as V,u as n,ct as E,L as f,ac as N,O as h,bg as I,C as O,M as _,p as M,ba as R}from"./.pnpm-9dA1PEvN.js";import{a as S,s as J}from"./decoration-CcdLOa7h.js";import{i as T,_ as W}from"./index-CJvXnF8Y.js";import j from"./preview-pc-jdk4sE2-.js";import"./index-Y_sgRENm.js";import"./attr-Dd14GHzC.js";import"./index-CAGpCz28.js";import"./picker-zZfe7WrS.js";import"./index-BBemoNXE.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-BioaiRdh.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DWQ_BAep.js";import"./index-CY1mb9yY.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./content.vue_vue_type_script_setup_true_lang-aS7Unfcn.js";import"./decoration-img-BjTNsUc3.js";import"./attr.vue_vue_type_script_setup_true_lang-CJeNiwLV.js";import"./content-CCa1I_Vf.js";import"./attr.vue_vue_type_script_setup_true_lang-CrWMGfUm.js";import"./content.vue_vue_type_script_setup_true_lang-9FJV-g10.js";import"./attr.vue_vue_type_script_setup_true_lang-BpC62eFr.js";import"./add-nav.vue_vue_type_script_setup_true_lang-BlVjKvgp.js";import"./content-B8nUs9Lh.js";import"./attr.vue_vue_type_script_setup_true_lang-Blibzxk0.js";import"./content.vue_vue_type_script_setup_true_lang-D39DKNeD.js";import"./attr.vue_vue_type_script_setup_true_lang-BwzlMjDK.js";import"./content-BJh8f8yZ.js";import"./attr.vue_vue_type_script_setup_true_lang-B0T4O1-3.js";import"./index.vue_vue_type_script_setup_true_lang-DNrIEWkc.js";import"./content-B6ombiky.js";import"./content.vue_vue_type_script_setup_true_lang-Bb4PsYrv.js";import"./attr.vue_vue_type_script_setup_true_lang-Cf_ppg4c.js";import"./content-Dvj16Wpi.js";import"./attr.vue_vue_type_script_setup_true_lang-B7D0ls_t.js";import"./content.vue_vue_type_script_setup_true_lang-CHj8JtNb.js";import"./attr.vue_vue_type_script_setup_true_lang-CPgMFDSF.js";import"./content-CG3sk7hP.js";const q={class:"decoration-pages min-w-[1100px]"},H={class:"flex justify-between w-full"},K={class:"flex-1 h-full"},L=v({name:"decorationPc"}),U=v({...L,setup(z){const g=k();let m;(t=>{t.HOME="4"})(m||(m={}));const r=R({4:{id:4,type:4,name:"首页装修",pageData:[]}}),a=_("4"),o=_(0),i=M(()=>{var t;return((t=r[a.value])==null?void 0:t.pageData)??[]}),D=async()=>{await T.confirm("确定离开此页面?系统可能不会保存您所做的更改。"),g.back()},c=async()=>{const t=await S({id:a.value});r[String(t.id)].pageData=JSON.parse(t.data),o.value=i.value.findIndex(e=>!e.disabled)},w=async()=>{await J({...r[a.value],data:JSON.stringify(r[a.value].pageData)}),c()};return B(a,()=>{o.value=i.value.findIndex(t=>!t.disabled),c()},{immediate:!0}),(t,e)=>{const l=V,b=I,x=C("perms");return d(),P("div",q,[s(b,{shadow:"never",class:"!border-none !rounded-none !bg-primary"},{default:p(()=>[u("div",H,[s(l,{link:"",type:"primary",icon:n(E),style:{color:"#fff"},onClick:D},{default:p(()=>[...e[1]||(e[1]=[f(" 返回 ",-1)])]),_:1},8,["icon"]),N((d(),h(l,{onClick:w},{default:p(()=>[...e[2]||(e[2]=[f(" 保存 ",-1)])]),_:1})),[[x,["decorate:pages:save"]]])])]),_:1}),u("div",K,[s(j,{modelValue:n(o),"onUpdate:modelValue":e[0]||(e[0]=y=>O(o)?o.value=y:null),pageData:n(i)},null,8,["modelValue","pageData"])])])}}}),Ot=W(U,[["__scopeId","data-v-62826702"]]);export{Ot as default}; +import{o as v,W as k,R as B,be as C,q as d,r as P,v as s,D as p,s as u,K as V,u as n,ct as E,L as f,ac as N,O as h,bg as I,C as O,M as _,p as M,ba as R}from"./.pnpm-9dA1PEvN.js";import{a as S,s as J}from"./decoration-CvemIMkE.js";import{i as T,_ as W}from"./index-BWzN7QIb.js";import j from"./preview-pc-BmclGIba.js";import"./index-QcrBqU8R.js";import"./attr-Cdokcs2q.js";import"./index-fA0EWEUO.js";import"./picker-CUH4oSOm.js";import"./index-dYaCh-CN.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-CGwMRNkL.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DfI3CPnQ.js";import"./index-xDQ_OZln.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./content.vue_vue_type_script_setup_true_lang-rFCJ-5da.js";import"./decoration-img-D7jfQZHh.js";import"./attr.vue_vue_type_script_setup_true_lang-Dp-D5e3f.js";import"./content-DPbffuTN.js";import"./attr.vue_vue_type_script_setup_true_lang-TdHwRkcj.js";import"./content.vue_vue_type_script_setup_true_lang-uo5gNfRj.js";import"./attr.vue_vue_type_script_setup_true_lang-BKeU9pV7.js";import"./add-nav.vue_vue_type_script_setup_true_lang-BRlmru-_.js";import"./content-MvOmvsN5.js";import"./attr.vue_vue_type_script_setup_true_lang-sgS4D2G0.js";import"./content.vue_vue_type_script_setup_true_lang-BJQyKf9U.js";import"./attr.vue_vue_type_script_setup_true_lang-BwzlMjDK.js";import"./content-CoRLP3ZG.js";import"./attr.vue_vue_type_script_setup_true_lang-DoU7_LM1.js";import"./index.vue_vue_type_script_setup_true_lang-DNrIEWkc.js";import"./content-B1h0mUKe.js";import"./content.vue_vue_type_script_setup_true_lang-DyhL_D8z.js";import"./attr.vue_vue_type_script_setup_true_lang-Cf_ppg4c.js";import"./content-FlAi4LQU.js";import"./attr.vue_vue_type_script_setup_true_lang-BBZIj_I6.js";import"./content.vue_vue_type_script_setup_true_lang-epBYaUkx.js";import"./attr.vue_vue_type_script_setup_true_lang-CPgMFDSF.js";import"./content-Cwp3TvMF.js";const q={class:"decoration-pages min-w-[1100px]"},H={class:"flex justify-between w-full"},K={class:"flex-1 h-full"},L=v({name:"decorationPc"}),U=v({...L,setup(z){const g=k();let m;(t=>{t.HOME="4"})(m||(m={}));const r=R({4:{id:4,type:4,name:"首页装修",pageData:[]}}),a=_("4"),o=_(0),i=M(()=>{var t;return((t=r[a.value])==null?void 0:t.pageData)??[]}),D=async()=>{await T.confirm("确定离开此页面?系统可能不会保存您所做的更改。"),g.back()},c=async()=>{const t=await S({id:a.value});r[String(t.id)].pageData=JSON.parse(t.data),o.value=i.value.findIndex(e=>!e.disabled)},w=async()=>{await J({...r[a.value],data:JSON.stringify(r[a.value].pageData)}),c()};return B(a,()=>{o.value=i.value.findIndex(t=>!t.disabled),c()},{immediate:!0}),(t,e)=>{const l=V,b=I,x=C("perms");return d(),P("div",q,[s(b,{shadow:"never",class:"!border-none !rounded-none !bg-primary"},{default:p(()=>[u("div",H,[s(l,{link:"",type:"primary",icon:n(E),style:{color:"#fff"},onClick:D},{default:p(()=>[...e[1]||(e[1]=[f(" 返回 ",-1)])]),_:1},8,["icon"]),N((d(),h(l,{onClick:w},{default:p(()=>[...e[2]||(e[2]=[f(" 保存 ",-1)])]),_:1})),[[x,["decorate:pages:save"]]])])]),_:1}),u("div",K,[s(j,{modelValue:n(o),"onUpdate:modelValue":e[0]||(e[0]=y=>O(o)?o.value=y:null),pageData:n(i)},null,8,["modelValue","pageData"])])])}}}),Ot=W(U,[["__scopeId","data-v-62826702"]]);export{Ot as default}; diff --git a/server/public/admin/assets/perm-BLNmf25V.js b/server/public/admin/assets/perm-BzF8JgcJ.js similarity index 67% rename from server/public/admin/assets/perm-BLNmf25V.js rename to server/public/admin/assets/perm-BzF8JgcJ.js index 414358a7..bd6ac500 100644 --- a/server/public/admin/assets/perm-BLNmf25V.js +++ b/server/public/admin/assets/perm-BzF8JgcJ.js @@ -1 +1 @@ -import{u as i}from"./index-CJvXnF8Y.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-BWzN7QIb.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-zZfe7WrS.js b/server/public/admin/assets/picker-CUH4oSOm.js similarity index 98% rename from server/public/admin/assets/picker-zZfe7WrS.js rename to server/public/admin/assets/picker-CUH4oSOm.js index a2373f75..8275b3c4 100644 --- a/server/public/admin/assets/picker-zZfe7WrS.js +++ b/server/public/admin/assets/picker-CUH4oSOm.js @@ -1 +1 @@ -import{o as I,M as k,R as O,q as r,r as V,v as m,b9 as F,u as o,D as x,b6 as z,b7 as L,b8 as J,K as Q,bA as W,ac as X,bi as Y,O as P,bj as Z,bk as ee,s as l,bd as te,aa as le,a1 as ae,T as C,C as b,ba as ne,bc as se,bf as oe,L as T,F as H,G as $,ae as ie,ak as de,ai as me,aj as ue,P as A,p as M,aw as pe,a8 as re}from"./.pnpm-9dA1PEvN.js";import{_ as q,c as ce}from"./index-CJvXnF8Y.js";import{_ as _e}from"./index-BBemoNXE.js";import{_ as fe}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{k as xe}from"./article-BioaiRdh.js";import{u as ve}from"./usePaging-Boz1Q6w3.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=I({__name:"article-list",props:{modelValue:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,d=k({path:"/pages/news_detail/news_detail",name:"",query:{},type:a.ARTICLE_LIST}),t=ne({name:"",is_show:1}),{pager:e,getLists:_,resetPage:s}=ve({fetchFun:xe,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 O(()=>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=Q,E=z,G=F,N=te,R=ee,K=le,U=ae,j=Z,B=fe,D=Y;return r(),V("div",ye,[m(G,{ref:"formRef",model:o(t),inline:!0},{default:x(()=>[m(E,{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:J(o(s),["enter"])},null,8,["modelValue","onKeyup"]),m(S,{type:"primary",class:"ml-4",icon:o(W),onClick:o(s)},null,8,["icon","onClick"])]),_:1})]),_:1},8,["model"]),X((r(),P(j,{size:"large",data:o(e).lists,height:"432px",onRowClick:p},{default:x(()=>[m(R,{label:"选择","min-width":"50"},{default:x(({row:g})=>[l("div",he,[m(N,{"model-value":i(g.id),size:"large",onChange:Qe=>p(g)},null,8,["model-value","onChange"])])]),_:1}),m(R,{label:"文章名称","min-width":"180"},{default:x(({row:g})=>[l("div",Se,[m(K,{fit:"cover",src:g.image,class:"flex-none w-[58px] h-[58px]"},null,8,["src"]),l("div",ge,[m(U,{effect:"dark",content:g.title,placement:"top"},{default:x(()=>[l("div",Ve,C(g.title),1)]),_:2},1032,["content"])])])]),_:1}),m(R,{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=>b(e)?e.value=g:null),onChange:o(_)},null,8,["modelValue","onChange"])])])}}}),be=q(we,[["__scopeId","data-v-9e297bd2"]]),Ie={class:"custom-link h-[530px]"},ke={class:"flex flex-wrap items-center mt-4"},Oe={class:"ml-4 flex-1 min-w-[100px]"},Ee=I({__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",Ie,[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",Oe,[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))])}}}),Ae={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"},Re={class:"ml-4 flex-1 min-w-[100px]"},Te={class:"flex flex-wrap items-center mt-4"},He={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]"},Me=I({__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 O(()=>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=oe,i=se;return r(),V("div",Ae,[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",Re,[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",Te,[e[6]||(e[6]=l("div",{class:"w-[86px] text-right"},"传递参数",-1)),l("div",He,[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]=[T("正式版",-1)])]),_:1}),m(s,{value:"trial"},{default:x(()=>[...e[8]||(e[8]=[T("体验版",-1)])]),_:1}),m(s,{value:"develop"},{default:x(()=>[...e[9]||(e[9]=[T("开发版",-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))])}}}),Ne={class:"shop-pages h-[530px]"},Ke={class:"link-list flex flex-wrap"},Ue=["onClick"],je=I({__name:"shop-pages",props:{modelValue:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(n,{emit:h}){const c=h,y=k([{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",Ne,[l("div",Ke,[(r(!0),V(H,null,$(o(y),(_,s)=>(r(),V("div",{class:ie(["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,Ue))),128))])]))}}),Be={class:"link flex"},De={class:"flex-1 ml-4 link-content"},Fe=I({__name:"index",props:{modelValue:{type:Object,required:!0}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,d=k([{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=M({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=k(a.SHOP_PAGES),_=s=>{e.value=s};return O(t,s=>{s.type&&y("update:modelValue",s)},{deep:!0}),O(()=>c.modelValue,s=>{e.value=s.type,t.value=s},{immediate:!0}),(s,i)=>{const p=me,f=ue,v=de;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(H,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(H,null,$(u.children,(E,G)=>(r(),P(p,{index:E.type,key:G,style:{"min-width":"160px"}},{default:x(()=>[l("span",null,C(E.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=>b(t)?t.value=u:null)},null,8,["modelValue"])):A("",!0),o(a).ARTICLE_LIST==o(e)?(r(),P(be,{key:1,modelValue:o(t),"onUpdate:modelValue":i[1]||(i[1]=u=>b(t)?t.value=u:null)},null,8,["modelValue"])):A("",!0),o(a).CUSTOM_LINK==o(e)?(r(),P(Ee,{key:2,modelValue:o(t),"onUpdate:modelValue":i[2]||(i[2]=u=>b(t)?t.value=u:null)},null,8,["modelValue"])):A("",!0),o(a).MINI_PROGRAM==o(e)?(r(),P(Me,{key:3,modelValue:o(t),"onUpdate:modelValue":i[3]||(i[3]=u=>b(t)?t.value=u:null)},null,8,["modelValue"])):A("",!0)])])}}}),ze=q(Fe,[["__scopeId","data-v-c8ad0dfa"]]),Je=I({__name:"picker",props:{modelValue:{type:Object},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,d=re(),t=k({path:"",type:a.SHOP_PAGES}),e=()=>{y("update:modelValue",t.value)},_=M(()=>{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 O(()=>c.modelValue,s=>{s!=null&&s.type&&(t.value=s)},{immediate:!0}),(s,i)=>{const p=ce,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]=pe(u=>!n.disabled&&y("update:modelValue",{}),["stop"]))})):(r(),P(p,{key:0,name:"el-icon-ArrowRight"}))]}),_:1},8,["model-value","disabled"]),m(_e,{ref_key:"popupRef",ref:d,width:"1050px",title:"链接选择",onConfirm:e},{default:x(()=>[m(ze,{modelValue:o(t),"onUpdate:modelValue":i[1]||(i[1]=v=>b(t)?t.value=v:null)},null,8,["modelValue"])]),_:1},512)])}}}),lt=q(Je,[["__scopeId","data-v-c281815e"]]);export{lt as _}; +import{o as I,M as k,R as O,q as r,r as V,v as m,b9 as F,u as o,D as x,b6 as z,b7 as L,b8 as J,K as Q,bA as W,ac as X,bi as Y,O as P,bj as Z,bk as ee,s as l,bd as te,aa as le,a1 as ae,T as C,C as b,ba as ne,bc as se,bf as oe,L as T,F as H,G as $,ae as ie,ak as de,ai as me,aj as ue,P as A,p as M,aw as pe,a8 as re}from"./.pnpm-9dA1PEvN.js";import{_ as q,c as ce}from"./index-BWzN7QIb.js";import{_ as _e}from"./index-dYaCh-CN.js";import{_ as fe}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{k as xe}from"./article-CGwMRNkL.js";import{u as ve}from"./usePaging-Boz1Q6w3.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=I({__name:"article-list",props:{modelValue:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,d=k({path:"/pages/news_detail/news_detail",name:"",query:{},type:a.ARTICLE_LIST}),t=ne({name:"",is_show:1}),{pager:e,getLists:_,resetPage:s}=ve({fetchFun:xe,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 O(()=>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=Q,E=z,G=F,N=te,R=ee,K=le,U=ae,j=Z,B=fe,D=Y;return r(),V("div",ye,[m(G,{ref:"formRef",model:o(t),inline:!0},{default:x(()=>[m(E,{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:J(o(s),["enter"])},null,8,["modelValue","onKeyup"]),m(S,{type:"primary",class:"ml-4",icon:o(W),onClick:o(s)},null,8,["icon","onClick"])]),_:1})]),_:1},8,["model"]),X((r(),P(j,{size:"large",data:o(e).lists,height:"432px",onRowClick:p},{default:x(()=>[m(R,{label:"选择","min-width":"50"},{default:x(({row:g})=>[l("div",he,[m(N,{"model-value":i(g.id),size:"large",onChange:Qe=>p(g)},null,8,["model-value","onChange"])])]),_:1}),m(R,{label:"文章名称","min-width":"180"},{default:x(({row:g})=>[l("div",Se,[m(K,{fit:"cover",src:g.image,class:"flex-none w-[58px] h-[58px]"},null,8,["src"]),l("div",ge,[m(U,{effect:"dark",content:g.title,placement:"top"},{default:x(()=>[l("div",Ve,C(g.title),1)]),_:2},1032,["content"])])])]),_:1}),m(R,{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=>b(e)?e.value=g:null),onChange:o(_)},null,8,["modelValue","onChange"])])])}}}),be=q(we,[["__scopeId","data-v-9e297bd2"]]),Ie={class:"custom-link h-[530px]"},ke={class:"flex flex-wrap items-center mt-4"},Oe={class:"ml-4 flex-1 min-w-[100px]"},Ee=I({__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",Ie,[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",Oe,[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))])}}}),Ae={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"},Re={class:"ml-4 flex-1 min-w-[100px]"},Te={class:"flex flex-wrap items-center mt-4"},He={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]"},Me=I({__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 O(()=>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=oe,i=se;return r(),V("div",Ae,[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",Re,[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",Te,[e[6]||(e[6]=l("div",{class:"w-[86px] text-right"},"传递参数",-1)),l("div",He,[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]=[T("正式版",-1)])]),_:1}),m(s,{value:"trial"},{default:x(()=>[...e[8]||(e[8]=[T("体验版",-1)])]),_:1}),m(s,{value:"develop"},{default:x(()=>[...e[9]||(e[9]=[T("开发版",-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))])}}}),Ne={class:"shop-pages h-[530px]"},Ke={class:"link-list flex flex-wrap"},Ue=["onClick"],je=I({__name:"shop-pages",props:{modelValue:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(n,{emit:h}){const c=h,y=k([{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",Ne,[l("div",Ke,[(r(!0),V(H,null,$(o(y),(_,s)=>(r(),V("div",{class:ie(["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,Ue))),128))])]))}}),Be={class:"link flex"},De={class:"flex-1 ml-4 link-content"},Fe=I({__name:"index",props:{modelValue:{type:Object,required:!0}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,d=k([{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=M({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=k(a.SHOP_PAGES),_=s=>{e.value=s};return O(t,s=>{s.type&&y("update:modelValue",s)},{deep:!0}),O(()=>c.modelValue,s=>{e.value=s.type,t.value=s},{immediate:!0}),(s,i)=>{const p=me,f=ue,v=de;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(H,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(H,null,$(u.children,(E,G)=>(r(),P(p,{index:E.type,key:G,style:{"min-width":"160px"}},{default:x(()=>[l("span",null,C(E.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=>b(t)?t.value=u:null)},null,8,["modelValue"])):A("",!0),o(a).ARTICLE_LIST==o(e)?(r(),P(be,{key:1,modelValue:o(t),"onUpdate:modelValue":i[1]||(i[1]=u=>b(t)?t.value=u:null)},null,8,["modelValue"])):A("",!0),o(a).CUSTOM_LINK==o(e)?(r(),P(Ee,{key:2,modelValue:o(t),"onUpdate:modelValue":i[2]||(i[2]=u=>b(t)?t.value=u:null)},null,8,["modelValue"])):A("",!0),o(a).MINI_PROGRAM==o(e)?(r(),P(Me,{key:3,modelValue:o(t),"onUpdate:modelValue":i[3]||(i[3]=u=>b(t)?t.value=u:null)},null,8,["modelValue"])):A("",!0)])])}}}),ze=q(Fe,[["__scopeId","data-v-c8ad0dfa"]]),Je=I({__name:"picker",props:{modelValue:{type:Object},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,d=re(),t=k({path:"",type:a.SHOP_PAGES}),e=()=>{y("update:modelValue",t.value)},_=M(()=>{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 O(()=>c.modelValue,s=>{s!=null&&s.type&&(t.value=s)},{immediate:!0}),(s,i)=>{const p=ce,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]=pe(u=>!n.disabled&&y("update:modelValue",{}),["stop"]))})):(r(),P(p,{key:0,name:"el-icon-ArrowRight"}))]}),_:1},8,["model-value","disabled"]),m(_e,{ref_key:"popupRef",ref:d,width:"1050px",title:"链接选择",onConfirm:e},{default:x(()=>[m(ze,{modelValue:o(t),"onUpdate:modelValue":i[1]||(i[1]=v=>b(t)?t.value=v:null)},null,8,["modelValue"])]),_:1},512)])}}}),lt=q(Je,[["__scopeId","data-v-c281815e"]]);export{lt as _}; diff --git a/server/public/admin/assets/picker-DWQ_BAep.js b/server/public/admin/assets/picker-DfI3CPnQ.js similarity index 95% rename from server/public/admin/assets/picker-DWQ_BAep.js rename to server/public/admin/assets/picker-DfI3CPnQ.js index bed65184..245dd35b 100644 --- a/server/public/admin/assets/picker-DWQ_BAep.js +++ b/server/public/admin/assets/picker-DfI3CPnQ.js @@ -1 +1 @@ -import{_ as q}from"./index-BBemoNXE.js";import{o as re,bQ as se,bR as ue,az as de,R as pe,bL as O,M as s,p as T,n as fe,x as F,q as ge,r as me,v as g,bM as ve,D as S,s as d,aw as h,ae as I,L as ce,ac as he,ah as ye,t as we,ad as De,a2 as Ce}from"./.pnpm-9dA1PEvN.js";import{_ as be,a as Q,F as Te}from"./index-CY1mb9yY.js";import{e as Se,i as j,_ as Pe,c as ze}from"./index-CJvXnF8Y.js";import{_ as $e}from"./index-CAGpCz28.js";import{a as ke}from"./file-BJDA0rIT.js";const Ve=re({components:{Popup:q,Draggable:se,FileItem:Te,Material:Q,Preview:be},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 k=s(),V=s(),A=s(""),E=s(!1),o=s([]),P=s([]),c=s(!0),z=s(-1),m=s(0),y=s(!1),{disabled:v,limit:p,modelValue:i}=ue(e),w=Se(),D=t=>w.getImageUrl(t),C=T(()=>!e.hiddenUpload&&(e.type==="image"||e.type==="video"||e.type==="file")),_=T(()=>m.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 r;if(n==="file")return!0;const l=t.includes(".")&&((r=t.split(".").pop())==null?void 0:r.toLowerCase())||"";return n==="image"?l?["jpg","jpeg","png","gif","ico"].includes(l):!0:n==="video"&&l?["wmv","avi","mpg","mpeg","3gp","mov","mp4","flv","rmvb","mkv"].includes(l):!0}function G(t){var r;if(!t||!t.startsWith("http"))return t;const n=String(((r=w.config)==null?void 0:r.oss_domain)||"").trim().replace(/\/$/,"");if(n&&t.startsWith(n))return t.slice(n.length).replace(/^\//,"");const l=typeof window<"u"?window.location.origin.replace(/\/$/,""):"";if(l&&t.startsWith(l))return t.slice(l.length).replace(/^\//,"");try{return new URL(t).pathname.replace(/^\//,"")}catch{return t}}function H(t){var b,$;const n=e.type,l=Array.from(((b=t.clipboardData)==null?void 0:b.files)||[]).filter(f=>B(f.name,n));if(l.length)return l;if(n!=="image")return[];const r=($=t.clipboardData)==null?void 0:$.items;if(!r)return[];const u=[];for(let f=0;f{!C.value||v.value||R(t.dataTransfer)&&m.value++},K=()=>{C.value&&(m.value=Math.max(0,m.value-1))},X=t=>{!C.value||v.value||R(t.dataTransfer)&&t.preventDefault()},Y=async t=>{var l;if(m.value=0,!C.value||v.value)return;const n=Array.from(((l=t.dataTransfer)==null?void 0:l.files)||[]).filter(r=>B(r.name,e.type));n.length&&await M(n)},Z=async t=>{if(!C.value||v.value)return;const n=H(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=de(()=>{const t=P.value.map(n=>e.excludeDomain?n.uri:n.url);c.value?o.value=[...o.value,...t]:o.value.splice(z.value,1,t.shift()),W()},1e3,!1),ne=t=>{var n;v.value||(t>=0?(c.value=!1,z.value=t):c.value=!0,(n=k.value)==null||n.open())},ie=t=>{P.value=t},W=()=>{const t=p.value!=1?o.value:o.value[0]||"";a("update:modelValue",t),a("change",t),L()},oe=t=>{o.value.splice(t,1),W()},le=t=>{A.value=e.excludeDomain?D(t):t,E.value=!0},L=()=>{fe(()=>{var t;e.hiddenUpload&&(o.value=[]),(t=V.value)==null||t.clearSelect()})};return pe(i,t=>{o.value=Array.isArray(t)?t:t==""?[]:[t]},{immediate:!0}),O("limit",e.limit),O("hiddenUpload",e.hiddenUpload),{popupRef:k,materialRef:V,fileList:o,tipsText:x,handleConfirm:ae,meterialLimit:te,showUpload:ee,showPopup:ne,selectChange:ie,deleteImg:oe,previewUrl:A,showPreview:E,handlePreview:le,handleClose:L,getImageUrl:D,dropActive:_,onTriggerDragEnter:J,onTriggerDragLeave:K,onTriggerDragOver:X,onTriggerDrop:Y,onTriggerPaste:Z}}}),Ae={class:"material-select"},Ee=["onClick"],Le={class:"operation-btns text-xs text-center"},Ue=["onClick"],Fe={class:"material-wrap"};function Ie(e,a,k,V,A,E){const o=F("file-item"),P=$e,c=F("draggable"),z=ze,m=Q,y=Ce,v=q,p=F("preview");return ge(),me("div",Ae,[g(v,{ref:"popupRef",width:"1050px","custom-class":"body-padding",title:`选择${e.tipsText}`,onConfirm:e.handleConfirm,onClose:e.handleClose},ve({default:S(()=>[g(y,null,{default:S(()=>[d("div",Fe,[g(m,{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:I(["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))},[g(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:I(["material-preview",{"is-disabled":e.disabled,"is-one":e.limit==1}]),onClick:D=>e.showPopup(w)},[g(P,{onClose:D=>e.deleteImg(w)},{default:S(()=>[g(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",Le,[a[9]||(a[9]=d("span",null,"修改",-1)),a[10]||(a[10]=ce(" | ",-1)),d("span",{onClick:h(D=>e.handlePreview(i),["stop"])},"查看",8,Ue)])],10,Ee)]),_:1},8,["modelValue"]),he(d("div",{class:I(["material-upload",{"is-disabled":e.disabled,"is-one":e.limit==1,[e.uploadClass]:!0}]),onClick:a[1]||(a[1]=i=>e.showPopup(-1))},[ye(e.$slots,"upload",{},()=>[d("div",{class:"upload-btn",style:we({width:e.width||e.size,height:e.height||e.size})},[g(z,{size:25,name:"el-icon-Plus"}),a[11]||(a[11]=d("span",null,"添加",-1))],4)],!0)],2),[[De,e.showUpload]])],34)]),key:"0"}]),1032,["title","onConfirm","onClose"]),g(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 je=Pe(Ve,[["render",Ie],["__scopeId","data-v-8eb71802"]]);export{je as _}; +import{_ as q}from"./index-dYaCh-CN.js";import{o as re,bQ as se,bR as ue,az as de,R as pe,bL as O,M as s,p as T,n as fe,x as F,q as ge,r as me,v as g,bM as ve,D as S,s as d,aw as h,ae as I,L as ce,ac as he,ah as ye,t as we,ad as De,a2 as Ce}from"./.pnpm-9dA1PEvN.js";import{_ as be,a as Q,F as Te}from"./index-xDQ_OZln.js";import{e as Se,i as j,_ as Pe,c as ze}from"./index-BWzN7QIb.js";import{_ as $e}from"./index-fA0EWEUO.js";import{a as ke}from"./file-BL6iPgPC.js";const Ve=re({components:{Popup:q,Draggable:se,FileItem:Te,Material:Q,Preview:be},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 k=s(),V=s(),A=s(""),E=s(!1),o=s([]),P=s([]),c=s(!0),z=s(-1),m=s(0),y=s(!1),{disabled:v,limit:p,modelValue:i}=ue(e),w=Se(),D=t=>w.getImageUrl(t),C=T(()=>!e.hiddenUpload&&(e.type==="image"||e.type==="video"||e.type==="file")),_=T(()=>m.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 r;if(n==="file")return!0;const l=t.includes(".")&&((r=t.split(".").pop())==null?void 0:r.toLowerCase())||"";return n==="image"?l?["jpg","jpeg","png","gif","ico"].includes(l):!0:n==="video"&&l?["wmv","avi","mpg","mpeg","3gp","mov","mp4","flv","rmvb","mkv"].includes(l):!0}function G(t){var r;if(!t||!t.startsWith("http"))return t;const n=String(((r=w.config)==null?void 0:r.oss_domain)||"").trim().replace(/\/$/,"");if(n&&t.startsWith(n))return t.slice(n.length).replace(/^\//,"");const l=typeof window<"u"?window.location.origin.replace(/\/$/,""):"";if(l&&t.startsWith(l))return t.slice(l.length).replace(/^\//,"");try{return new URL(t).pathname.replace(/^\//,"")}catch{return t}}function H(t){var b,$;const n=e.type,l=Array.from(((b=t.clipboardData)==null?void 0:b.files)||[]).filter(f=>B(f.name,n));if(l.length)return l;if(n!=="image")return[];const r=($=t.clipboardData)==null?void 0:$.items;if(!r)return[];const u=[];for(let f=0;f{!C.value||v.value||R(t.dataTransfer)&&m.value++},K=()=>{C.value&&(m.value=Math.max(0,m.value-1))},X=t=>{!C.value||v.value||R(t.dataTransfer)&&t.preventDefault()},Y=async t=>{var l;if(m.value=0,!C.value||v.value)return;const n=Array.from(((l=t.dataTransfer)==null?void 0:l.files)||[]).filter(r=>B(r.name,e.type));n.length&&await M(n)},Z=async t=>{if(!C.value||v.value)return;const n=H(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=de(()=>{const t=P.value.map(n=>e.excludeDomain?n.uri:n.url);c.value?o.value=[...o.value,...t]:o.value.splice(z.value,1,t.shift()),W()},1e3,!1),ne=t=>{var n;v.value||(t>=0?(c.value=!1,z.value=t):c.value=!0,(n=k.value)==null||n.open())},ie=t=>{P.value=t},W=()=>{const t=p.value!=1?o.value:o.value[0]||"";a("update:modelValue",t),a("change",t),L()},oe=t=>{o.value.splice(t,1),W()},le=t=>{A.value=e.excludeDomain?D(t):t,E.value=!0},L=()=>{fe(()=>{var t;e.hiddenUpload&&(o.value=[]),(t=V.value)==null||t.clearSelect()})};return pe(i,t=>{o.value=Array.isArray(t)?t:t==""?[]:[t]},{immediate:!0}),O("limit",e.limit),O("hiddenUpload",e.hiddenUpload),{popupRef:k,materialRef:V,fileList:o,tipsText:x,handleConfirm:ae,meterialLimit:te,showUpload:ee,showPopup:ne,selectChange:ie,deleteImg:oe,previewUrl:A,showPreview:E,handlePreview:le,handleClose:L,getImageUrl:D,dropActive:_,onTriggerDragEnter:J,onTriggerDragLeave:K,onTriggerDragOver:X,onTriggerDrop:Y,onTriggerPaste:Z}}}),Ae={class:"material-select"},Ee=["onClick"],Le={class:"operation-btns text-xs text-center"},Ue=["onClick"],Fe={class:"material-wrap"};function Ie(e,a,k,V,A,E){const o=F("file-item"),P=$e,c=F("draggable"),z=ze,m=Q,y=Ce,v=q,p=F("preview");return ge(),me("div",Ae,[g(v,{ref:"popupRef",width:"1050px","custom-class":"body-padding",title:`选择${e.tipsText}`,onConfirm:e.handleConfirm,onClose:e.handleClose},ve({default:S(()=>[g(y,null,{default:S(()=>[d("div",Fe,[g(m,{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:I(["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))},[g(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:I(["material-preview",{"is-disabled":e.disabled,"is-one":e.limit==1}]),onClick:D=>e.showPopup(w)},[g(P,{onClose:D=>e.deleteImg(w)},{default:S(()=>[g(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",Le,[a[9]||(a[9]=d("span",null,"修改",-1)),a[10]||(a[10]=ce(" | ",-1)),d("span",{onClick:h(D=>e.handlePreview(i),["stop"])},"查看",8,Ue)])],10,Ee)]),_:1},8,["modelValue"]),he(d("div",{class:I(["material-upload",{"is-disabled":e.disabled,"is-one":e.limit==1,[e.uploadClass]:!0}]),onClick:a[1]||(a[1]=i=>e.showPopup(-1))},[ye(e.$slots,"upload",{},()=>[d("div",{class:"upload-btn",style:we({width:e.width||e.size,height:e.height||e.size})},[g(z,{size:25,name:"el-icon-Plus"}),a[11]||(a[11]=d("span",null,"添加",-1))],4)],!0)],2),[[De,e.showUpload]])],34)]),key:"0"}]),1032,["title","onConfirm","onClose"]),g(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 je=Pe(Ve,[["render",Ie],["__scopeId","data-v-8eb71802"]]);export{je as _}; diff --git a/server/public/admin/assets/picker.vue_vue_type_script_setup_true_lang-B8p-3sQo.js b/server/public/admin/assets/picker.vue_vue_type_script_setup_true_lang-B7uSVSee.js similarity index 97% rename from server/public/admin/assets/picker.vue_vue_type_script_setup_true_lang-B8p-3sQo.js rename to server/public/admin/assets/picker.vue_vue_type_script_setup_true_lang-B7uSVSee.js index 26d95ff8..c94f6fd2 100644 --- a/server/public/admin/assets/picker.vue_vue_type_script_setup_true_lang-B8p-3sQo.js +++ b/server/public/admin/assets/picker.vue_vue_type_script_setup_true_lang-B7uSVSee.js @@ -1 +1 @@ -import{o as L,a6 as W,R as $,n as _,ap as z,q as u,r as c,v as a,bY as I,D as n,s as i,F as b,G as h,ae as T,u as k,T as R,a2 as D,K as O,aw as x,b7 as P,a1 as U,O as j,L as q,M as G,a8 as K,ba as Y,p as A}from"./.pnpm-9dA1PEvN.js";import{c as H,y as J,z as Q}from"./index-CJvXnF8Y.js";const X={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"},ie=L({__name:"picker",props:{modelValue:{default:""},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(r,{emit:w}){const p=w,v=G(0),V=[{name:"element图标",icons:J()},{name:"本地图标",icons:Q()}],m=K(),e=Y({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,p("update:modelValue",t),p("change",t)},F=()=>{p("update:modelValue",""),p("change","")},S=A(()=>{var l;const t=((l=V[v.value])==null?void 0:l.icons)??[];if(!e.inputValue)return t;const o=e.inputValue.toLowerCase();return t.filter(d=>{if(d.toLowerCase().indexOf(o)!==-1)return d})}),B=()=>{_(()=>{var o;const t=(o=m.value)==null?void 0:o.$el.offsetWidth;e.popoverWidth=t<300?300:t})};return W(document.body,"click",()=>{e.popoverVisible=!!(e.inputFocus||e.mouseoverSelect)}),$(()=>e.popoverVisible,async t=>{var o,l;await _(),t?(o=m.value)==null||o.focus():(l=m.value)==null||l.blur()}),z(()=>{B()}),(t,o)=>{const l=H,d=O,E=D,M=U,N=I;return u(),c("div",X,[a(N,{trigger:"contextmenu",visible:e.popoverVisible,"onUpdate:visible":o[3]||(o[3]=s=>e.popoverVisible=s),width:e.popoverWidth},{reference:n(()=>[a(k(P),{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:r.disabled,onFocus:y,onBlur:C,clearable:""},{prepend:n(()=>[r.modelValue?(u(),c("div",se,[a(M,{class:"flex-1 w-20",content:r.modelValue,placement:"top"},{default:n(()=>[(u(),j(l,{class:"mr-1",key:r.modelValue,name:r.modelValue,size:16},null,8,["name"]))]),_:1},8,["content"])])):(u(),c(b,{key:1},[q("无")],64))]),append:n(()=>[a(d,null,{default:n(()=>[a(l,{name:"el-icon-Close",size:18,onClick:F})]),_:1})]),_:1},8,["modelValue","disabled"])]),default:n(()=>[i("div",{onMouseover:o[0]||(o[0]=x(s=>e.mouseoverSelect=!0,["stop"])),onMouseout:o[1]||(o[1]=x(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(),c(b,null,h(V,(s,f)=>i("span",{key:f,class:T(["cursor-pointer text-sm ml-2",{"text-primary":f==k(v)}]),onClick:le=>v.value=f},R(s.name),11,ee)),64))])]),i("div",oe,[a(E,null,{default:n(()=>[i("div",te,[(u(!0),c(b,null,h(S.value,s=>(u(),c("div",{key:s,class:"m-1"},[a(d,{onClick:f=>g(s)},{default:n(()=>[a(l,{name:s,size:18},null,8,["name"])]),_:2},1032,["onClick"])]))),128))])]),_:1})])])],32)]),_:1},8,["visible","width"])])}}});export{ie as _}; +import{o as L,a6 as W,R as $,n as _,ap as z,q as u,r as c,v as a,bY as I,D as n,s as i,F as b,G as h,ae as T,u as k,T as R,a2 as D,K as O,aw as x,b7 as P,a1 as U,O as j,L as q,M as G,a8 as K,ba as Y,p as A}from"./.pnpm-9dA1PEvN.js";import{c as H,y as J,z as Q}from"./index-BWzN7QIb.js";const X={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"},ie=L({__name:"picker",props:{modelValue:{default:""},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(r,{emit:w}){const p=w,v=G(0),V=[{name:"element图标",icons:J()},{name:"本地图标",icons:Q()}],m=K(),e=Y({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,p("update:modelValue",t),p("change",t)},F=()=>{p("update:modelValue",""),p("change","")},S=A(()=>{var l;const t=((l=V[v.value])==null?void 0:l.icons)??[];if(!e.inputValue)return t;const o=e.inputValue.toLowerCase();return t.filter(d=>{if(d.toLowerCase().indexOf(o)!==-1)return d})}),B=()=>{_(()=>{var o;const t=(o=m.value)==null?void 0:o.$el.offsetWidth;e.popoverWidth=t<300?300:t})};return W(document.body,"click",()=>{e.popoverVisible=!!(e.inputFocus||e.mouseoverSelect)}),$(()=>e.popoverVisible,async t=>{var o,l;await _(),t?(o=m.value)==null||o.focus():(l=m.value)==null||l.blur()}),z(()=>{B()}),(t,o)=>{const l=H,d=O,E=D,M=U,N=I;return u(),c("div",X,[a(N,{trigger:"contextmenu",visible:e.popoverVisible,"onUpdate:visible":o[3]||(o[3]=s=>e.popoverVisible=s),width:e.popoverWidth},{reference:n(()=>[a(k(P),{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:r.disabled,onFocus:y,onBlur:C,clearable:""},{prepend:n(()=>[r.modelValue?(u(),c("div",se,[a(M,{class:"flex-1 w-20",content:r.modelValue,placement:"top"},{default:n(()=>[(u(),j(l,{class:"mr-1",key:r.modelValue,name:r.modelValue,size:16},null,8,["name"]))]),_:1},8,["content"])])):(u(),c(b,{key:1},[q("无")],64))]),append:n(()=>[a(d,null,{default:n(()=>[a(l,{name:"el-icon-Close",size:18,onClick:F})]),_:1})]),_:1},8,["modelValue","disabled"])]),default:n(()=>[i("div",{onMouseover:o[0]||(o[0]=x(s=>e.mouseoverSelect=!0,["stop"])),onMouseout:o[1]||(o[1]=x(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(),c(b,null,h(V,(s,f)=>i("span",{key:f,class:T(["cursor-pointer text-sm ml-2",{"text-primary":f==k(v)}]),onClick:le=>v.value=f},R(s.name),11,ee)),64))])]),i("div",oe,[a(E,null,{default:n(()=>[i("div",te,[(u(!0),c(b,null,h(S.value,s=>(u(),c("div",{key:s,class:"m-1"},[a(d,{onClick:f=>g(s)},{default:n(()=>[a(l,{name:s,size:18},null,8,["name"])]),_:2},1032,["onClick"])]))),128))])]),_:1})])])],32)]),_:1},8,["visible","width"])])}}});export{ie as _}; diff --git a/server/public/admin/assets/post-BhGC5UYd.js b/server/public/admin/assets/post-BafSyy6d.js similarity index 86% rename from server/public/admin/assets/post-BhGC5UYd.js rename to server/public/admin/assets/post-BafSyy6d.js index 0c7c5f92..1125d727 100644 --- a/server/public/admin/assets/post-BhGC5UYd.js +++ b/server/public/admin/assets/post-BafSyy6d.js @@ -1 +1 @@ -import{r as e}from"./index-CJvXnF8Y.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-BWzN7QIb.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-Cy3YQGpS.js b/server/public/admin/assets/prescription-drawer-Cr9exkRl.js similarity index 98% rename from server/public/admin/assets/prescription-drawer-Cy3YQGpS.js rename to server/public/admin/assets/prescription-drawer-Cr9exkRl.js index a9e618c4..26d92c0e 100644 --- a/server/public/admin/assets/prescription-drawer-Cy3YQGpS.js +++ b/server/public/admin/assets/prescription-drawer-Cr9exkRl.js @@ -1 +1 @@ -import{o as z,q as H,O as L,D as o,v as e,b9 as j,u as n,b6 as A,b7 as G,bm as J,bn as K,c7 as P,c8 as Q,bc as W,bf as X,L as _,J as Z,bp as ee,s as k,K as le,bj as ae,bk as oe,I as te,C as ne,B as ue,M as x,ba as de}from"./.pnpm-9dA1PEvN.js";import{q as se}from"./tcm-DOD9_1Um.js";import{i as w,_ as ie}from"./index-CJvXnF8Y.js";import{M as re}from"./index-BANIMLkY.js";import"./medicine-CQDW2OUZ.js";const pe={class:"w-full"},me=z({__name:"prescription-drawer",emits:["success"],setup(_e,{expose:C,emit:D}){const q=D,g=x(!1),f=x(),y=x(!1),l=de({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"}]},S=()=>{l.herbs.push({name:"",dosage:0})},Y=s=>{l.herbs.splice(s,1)},M=()=>{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=s=>{var a;M(),l.appointment_id=s.id||0,l.diagnosis_id=s.diagnosis_id||0,l.patient_name=s.patient_name||"",l.gender=s.patient_gender==="男"?1:0,l.age=parseInt(s.patient_age)||0,l.visit_no=((a=s.id)==null?void 0:a.toString())||"",l.prescription_date=s.appointment_date||new Date().toISOString().split("T")[0],l.doctor_name=s.doctor_name||"",g.value=!0},U=()=>{var s;g.value=!1,(s=f.value)==null||s.resetFields()},B=async()=>{if(f.value){if(await f.value.validate(),!l.herbs||l.herbs.length===0){w.msgError("请至少添加一味药材");return}for(let s=0;s{const r=G,d=A,u=K,b=J,i=Q,p=P,E=X,N=W,c=Z,T=ee,V=le,v=oe,F=ae,O=te,h=j,$=ue;return H(),L($,{modelValue:n(g),"onUpdate:modelValue":a[22]||(a[22]=t=>ne(g)?g.value=t:null),title:"创建处方单",size:"90%","close-on-click-modal":!1,onClose:U},{footer:o(()=>[e(V,{onClick:U},{default:o(()=>[...a[28]||(a[28]=[_("取消",-1)])]),_:1}),e(V,{type:"primary",onClick:B,loading:n(y)},{default:o(()=>[...a[29]||(a[29]=[_("保存",-1)])]),_:1},8,["loading"])]),default:o(()=>[e(h,{ref_key:"formRef",ref:f,model:n(l),rules:I,"label-width":"120px",class:"prescription-form"},{default:o(()=>[e(d,{label:"处方名称",prop:"prescription_name"},{default:o(()=>[e(r,{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(b,{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(r,{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(r,{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(N,{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(c,{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(T,{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(r,{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(r,{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(r,{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(r,{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(r,{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(V,{type:"primary",size:"small",onClick:S},{default:o(()=>[...a[25]||(a[25]=[_(" 添加药材 ",-1)])]),_:1}),e(F,{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(re,{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(c,{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(V,{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(c,{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(b,{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(c,{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(r,{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(b,{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(b,{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(b,{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(r,{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(r,{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(O,{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"])}}}),ve=ie(me,[["__scopeId","data-v-687b0c23"]]);export{ve as default}; +import{o as z,q as H,O as L,D as o,v as e,b9 as j,u as n,b6 as A,b7 as G,bm as J,bn as K,c7 as P,c8 as Q,bc as W,bf as X,L as _,J as Z,bp as ee,s as k,K as le,bj as ae,bk as oe,I as te,C as ne,B as ue,M as x,ba as de}from"./.pnpm-9dA1PEvN.js";import{q as se}from"./tcm-Fi_swgCr.js";import{i as w,_ as ie}from"./index-BWzN7QIb.js";import{M as re}from"./index-CNLsF7Nt.js";import"./medicine-DezWRkkS.js";const pe={class:"w-full"},me=z({__name:"prescription-drawer",emits:["success"],setup(_e,{expose:C,emit:D}){const q=D,g=x(!1),f=x(),y=x(!1),l=de({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"}]},S=()=>{l.herbs.push({name:"",dosage:0})},Y=s=>{l.herbs.splice(s,1)},M=()=>{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=s=>{var a;M(),l.appointment_id=s.id||0,l.diagnosis_id=s.diagnosis_id||0,l.patient_name=s.patient_name||"",l.gender=s.patient_gender==="男"?1:0,l.age=parseInt(s.patient_age)||0,l.visit_no=((a=s.id)==null?void 0:a.toString())||"",l.prescription_date=s.appointment_date||new Date().toISOString().split("T")[0],l.doctor_name=s.doctor_name||"",g.value=!0},U=()=>{var s;g.value=!1,(s=f.value)==null||s.resetFields()},B=async()=>{if(f.value){if(await f.value.validate(),!l.herbs||l.herbs.length===0){w.msgError("请至少添加一味药材");return}for(let s=0;s{const r=G,d=A,u=K,b=J,i=Q,p=P,E=X,N=W,c=Z,T=ee,V=le,v=oe,F=ae,O=te,h=j,$=ue;return H(),L($,{modelValue:n(g),"onUpdate:modelValue":a[22]||(a[22]=t=>ne(g)?g.value=t:null),title:"创建处方单",size:"90%","close-on-click-modal":!1,onClose:U},{footer:o(()=>[e(V,{onClick:U},{default:o(()=>[...a[28]||(a[28]=[_("取消",-1)])]),_:1}),e(V,{type:"primary",onClick:B,loading:n(y)},{default:o(()=>[...a[29]||(a[29]=[_("保存",-1)])]),_:1},8,["loading"])]),default:o(()=>[e(h,{ref_key:"formRef",ref:f,model:n(l),rules:I,"label-width":"120px",class:"prescription-form"},{default:o(()=>[e(d,{label:"处方名称",prop:"prescription_name"},{default:o(()=>[e(r,{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(b,{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(r,{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(r,{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(N,{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(c,{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(T,{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(r,{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(r,{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(r,{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(r,{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(r,{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(V,{type:"primary",size:"small",onClick:S},{default:o(()=>[...a[25]||(a[25]=[_(" 添加药材 ",-1)])]),_:1}),e(F,{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(re,{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(c,{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(V,{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(c,{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(b,{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(c,{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(r,{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(b,{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(b,{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(b,{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(r,{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(r,{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(O,{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"])}}}),ve=ie(me,[["__scopeId","data-v-687b0c23"]]);export{ve as default}; diff --git a/server/public/admin/assets/preview-Cdl9WStU.js b/server/public/admin/assets/preview-CsXXagtK.js similarity index 61% rename from server/public/admin/assets/preview-Cdl9WStU.js rename to server/public/admin/assets/preview-CsXXagtK.js index 0a9cd376..d23ac33f 100644 --- a/server/public/admin/assets/preview-Cdl9WStU.js +++ b/server/public/admin/assets/preview-CsXXagtK.js @@ -1 +1 @@ -import{o as q,q as p,O as k,D as u,r as v,v as n,K as z,L as A,P as C,s as d,F,G as L,ae as V,ah as O,a4 as T,u as f,a1 as j,cp as G,cq as K,aw as D,cr as U,cs as W,a2 as g,p as b,cm as H,M as J}from"./.pnpm-9dA1PEvN.js";import{e as Q}from"./index-Y_sgRENm.js";import{_ as R}from"./index-CJvXnF8Y.js";import"./attr-Dd14GHzC.js";import"./index-CAGpCz28.js";import"./picker-zZfe7WrS.js";import"./index-BBemoNXE.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-BioaiRdh.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DWQ_BAep.js";import"./index-CY1mb9yY.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./content.vue_vue_type_script_setup_true_lang-aS7Unfcn.js";import"./decoration-img-BjTNsUc3.js";import"./attr.vue_vue_type_script_setup_true_lang-CJeNiwLV.js";import"./content-CCa1I_Vf.js";import"./attr.vue_vue_type_script_setup_true_lang-CrWMGfUm.js";import"./content.vue_vue_type_script_setup_true_lang-9FJV-g10.js";import"./attr.vue_vue_type_script_setup_true_lang-BpC62eFr.js";import"./add-nav.vue_vue_type_script_setup_true_lang-BlVjKvgp.js";import"./content-B8nUs9Lh.js";import"./attr.vue_vue_type_script_setup_true_lang-Blibzxk0.js";import"./content.vue_vue_type_script_setup_true_lang-D39DKNeD.js";import"./attr.vue_vue_type_script_setup_true_lang-BwzlMjDK.js";import"./content-BJh8f8yZ.js";import"./decoration-CcdLOa7h.js";import"./attr.vue_vue_type_script_setup_true_lang-B0T4O1-3.js";import"./index.vue_vue_type_script_setup_true_lang-DNrIEWkc.js";import"./content-B6ombiky.js";import"./content.vue_vue_type_script_setup_true_lang-Bb4PsYrv.js";import"./attr.vue_vue_type_script_setup_true_lang-Cf_ppg4c.js";import"./content-Dvj16Wpi.js";import"./attr.vue_vue_type_script_setup_true_lang-B7D0ls_t.js";import"./content.vue_vue_type_script_setup_true_lang-CHj8JtNb.js";import"./attr.vue_vue_type_script_setup_true_lang-CPgMFDSF.js";import"./content-CG3sk7hP.js";const X={class:"shadow mx-[30px] pages-preview"},Y=["onClick"],Z={key:0,class:"widget-btns py-[5px]"},x=q({__name:"preview",props:{pageMeta:{type:Object,default:()=>null},pageData:{type:Array,default:()=>[]},modelValue:{type:Number,default:0}},emits:["update:modelValue","updatePageData"],setup(c,{emit:M}){const r=c,i=M,y=J(-1),P=()=>{r.modelValue===-1?i("update:modelValue",y.value):(y.value=r.modelValue,i("update:modelValue",-1))},B=(e,o)=>{e.disabled||i("update:modelValue",o)},N=b(()=>e=>e===0),$=b(()=>e=>{var o;return((o=r.pageData)==null?void 0:o.length)===e+1}),_=b(()=>e=>(e==null?void 0:e.enabled)==0),E=e=>{e.enabled!==void 0&&(e.enabled=e.enabled?0:1)},h=(e,o)=>{if(e<0||e>=r.pageData.length||o<0||o>=r.pageData.length)return;const l=H(r.pageData),m=l.splice(e,1)[0];l.splice(o,0,m),i("updatePageData",l),i("update:modelValue",o)};return(e,o)=>{const l=z,m=j,S=g;return p(),k(S,{class:"pages-preview-container"},{default:u(()=>[c.pageMeta!==null?(p(),v("div",{key:0,class:"absolute right-4 top-4",onClick:P},[n(l,null,{default:u(()=>[...o[0]||(o[0]=[A("页面设置",-1)])]),_:1})])):C("",!0),d("div",X,[(p(!0),v(F,null,L(c.pageData,(t,a)=>(p(),v("div",{key:t.id,class:V(["relative",{"cursor-pointer":!(t!=null&&t.disabled)}]),onClick:s=>B(t,a)},[d("div",{class:V(["absolute w-full h-full z-[100] border-dashed",{select:a==c.modelValue,hide:_.value(t.content),"border-[#dcdfe6] border-2":!(t!=null&&t.disabled)}])},null,2),O(e.$slots,"default",{},()=>{var s;return[(p(),k(T((s=f(Q)[t==null?void 0:t.name])==null?void 0:s.content),{content:t.content,styles:t.styles,key:t.id},null,8,["content","styles"]))]},!0),a==c.modelValue?(p(),v("div",Z,[d("div",null,[n(m,{effect:"dark",content:_.value(t.content)?"显示":"隐藏",placement:"right"},{default:u(()=>[n(l,{class:"py-[5px]",type:"primary",icon:_.value(t.content)?f(G):f(K),onClick:s=>E(t.content)},null,8,["icon","onClick"])]),_:2},1032,["content"])]),d("div",null,[n(m,{effect:"dark",content:"上移",placement:"right"},{default:u(()=>[n(l,{class:"py-[5px]",type:"primary",icon:f(U),disabled:N.value(a),onClick:D(s=>h(a,a-1),["stop"])},null,8,["icon","disabled","onClick"])]),_:2},1024)]),d("div",null,[n(m,{effect:"dark",content:"下移",placement:"right"},{default:u(()=>[n(l,{class:"py-[5px]",type:"primary",icon:f(W),disabled:$.value(a),onClick:D(s=>h(a,a+1),["stop"])},null,8,["icon","disabled","onClick"])]),_:2},1024)])])):C("",!0)],10,Y))),128))])]),_:3})}}}),Te=R(x,[["__scopeId","data-v-43c76597"]]);export{Te as default}; +import{o as q,q as p,O as k,D as u,r as v,v as n,K as z,L as A,P as C,s as d,F,G as L,ae as V,ah as O,a4 as T,u as f,a1 as j,cp as G,cq as K,aw as D,cr as U,cs as W,a2 as g,p as b,cm as H,M as J}from"./.pnpm-9dA1PEvN.js";import{e as Q}from"./index-QcrBqU8R.js";import{_ as R}from"./index-BWzN7QIb.js";import"./attr-Cdokcs2q.js";import"./index-fA0EWEUO.js";import"./picker-CUH4oSOm.js";import"./index-dYaCh-CN.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-CGwMRNkL.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DfI3CPnQ.js";import"./index-xDQ_OZln.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./content.vue_vue_type_script_setup_true_lang-rFCJ-5da.js";import"./decoration-img-D7jfQZHh.js";import"./attr.vue_vue_type_script_setup_true_lang-Dp-D5e3f.js";import"./content-DPbffuTN.js";import"./attr.vue_vue_type_script_setup_true_lang-TdHwRkcj.js";import"./content.vue_vue_type_script_setup_true_lang-uo5gNfRj.js";import"./attr.vue_vue_type_script_setup_true_lang-BKeU9pV7.js";import"./add-nav.vue_vue_type_script_setup_true_lang-BRlmru-_.js";import"./content-MvOmvsN5.js";import"./attr.vue_vue_type_script_setup_true_lang-sgS4D2G0.js";import"./content.vue_vue_type_script_setup_true_lang-BJQyKf9U.js";import"./attr.vue_vue_type_script_setup_true_lang-BwzlMjDK.js";import"./content-CoRLP3ZG.js";import"./decoration-CvemIMkE.js";import"./attr.vue_vue_type_script_setup_true_lang-DoU7_LM1.js";import"./index.vue_vue_type_script_setup_true_lang-DNrIEWkc.js";import"./content-B1h0mUKe.js";import"./content.vue_vue_type_script_setup_true_lang-DyhL_D8z.js";import"./attr.vue_vue_type_script_setup_true_lang-Cf_ppg4c.js";import"./content-FlAi4LQU.js";import"./attr.vue_vue_type_script_setup_true_lang-BBZIj_I6.js";import"./content.vue_vue_type_script_setup_true_lang-epBYaUkx.js";import"./attr.vue_vue_type_script_setup_true_lang-CPgMFDSF.js";import"./content-Cwp3TvMF.js";const X={class:"shadow mx-[30px] pages-preview"},Y=["onClick"],Z={key:0,class:"widget-btns py-[5px]"},x=q({__name:"preview",props:{pageMeta:{type:Object,default:()=>null},pageData:{type:Array,default:()=>[]},modelValue:{type:Number,default:0}},emits:["update:modelValue","updatePageData"],setup(c,{emit:M}){const r=c,i=M,y=J(-1),P=()=>{r.modelValue===-1?i("update:modelValue",y.value):(y.value=r.modelValue,i("update:modelValue",-1))},B=(e,o)=>{e.disabled||i("update:modelValue",o)},N=b(()=>e=>e===0),$=b(()=>e=>{var o;return((o=r.pageData)==null?void 0:o.length)===e+1}),_=b(()=>e=>(e==null?void 0:e.enabled)==0),E=e=>{e.enabled!==void 0&&(e.enabled=e.enabled?0:1)},h=(e,o)=>{if(e<0||e>=r.pageData.length||o<0||o>=r.pageData.length)return;const l=H(r.pageData),m=l.splice(e,1)[0];l.splice(o,0,m),i("updatePageData",l),i("update:modelValue",o)};return(e,o)=>{const l=z,m=j,S=g;return p(),k(S,{class:"pages-preview-container"},{default:u(()=>[c.pageMeta!==null?(p(),v("div",{key:0,class:"absolute right-4 top-4",onClick:P},[n(l,null,{default:u(()=>[...o[0]||(o[0]=[A("页面设置",-1)])]),_:1})])):C("",!0),d("div",X,[(p(!0),v(F,null,L(c.pageData,(t,a)=>(p(),v("div",{key:t.id,class:V(["relative",{"cursor-pointer":!(t!=null&&t.disabled)}]),onClick:s=>B(t,a)},[d("div",{class:V(["absolute w-full h-full z-[100] border-dashed",{select:a==c.modelValue,hide:_.value(t.content),"border-[#dcdfe6] border-2":!(t!=null&&t.disabled)}])},null,2),O(e.$slots,"default",{},()=>{var s;return[(p(),k(T((s=f(Q)[t==null?void 0:t.name])==null?void 0:s.content),{content:t.content,styles:t.styles,key:t.id},null,8,["content","styles"]))]},!0),a==c.modelValue?(p(),v("div",Z,[d("div",null,[n(m,{effect:"dark",content:_.value(t.content)?"显示":"隐藏",placement:"right"},{default:u(()=>[n(l,{class:"py-[5px]",type:"primary",icon:_.value(t.content)?f(G):f(K),onClick:s=>E(t.content)},null,8,["icon","onClick"])]),_:2},1032,["content"])]),d("div",null,[n(m,{effect:"dark",content:"上移",placement:"right"},{default:u(()=>[n(l,{class:"py-[5px]",type:"primary",icon:f(U),disabled:N.value(a),onClick:D(s=>h(a,a-1),["stop"])},null,8,["icon","disabled","onClick"])]),_:2},1024)]),d("div",null,[n(m,{effect:"dark",content:"下移",placement:"right"},{default:u(()=>[n(l,{class:"py-[5px]",type:"primary",icon:f(W),disabled:$.value(a),onClick:D(s=>h(a,a+1),["stop"])},null,8,["icon","disabled","onClick"])]),_:2},1024)])])):C("",!0)],10,Y))),128))])]),_:3})}}}),Te=R(x,[["__scopeId","data-v-43c76597"]]);export{Te as default}; diff --git a/server/public/admin/assets/preview-pc-jdk4sE2-.js b/server/public/admin/assets/preview-pc-BmclGIba.js similarity index 59% rename from server/public/admin/assets/preview-pc-jdk4sE2-.js rename to server/public/admin/assets/preview-pc-BmclGIba.js index 00fa16b9..0bc2450c 100644 --- a/server/public/admin/assets/preview-pc-jdk4sE2-.js +++ b/server/public/admin/assets/preview-pc-BmclGIba.js @@ -1 +1 @@ -import{o as $,q as r,r as s,s as a,P as y,F as B,G as S,ae as _,t as h,u as o,ah as q,O as D,a4 as N,v as m,D as v,K as R,co as z,a1 as E,cp as P,cq as F,a8 as I,p as j}from"./.pnpm-9dA1PEvN.js";import{e as A}from"./index-Y_sgRENm.js";import{_ as G}from"./index-CJvXnF8Y.js";import"./attr-Dd14GHzC.js";import"./index-CAGpCz28.js";import"./picker-zZfe7WrS.js";import"./index-BBemoNXE.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-BioaiRdh.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DWQ_BAep.js";import"./index-CY1mb9yY.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./content.vue_vue_type_script_setup_true_lang-aS7Unfcn.js";import"./decoration-img-BjTNsUc3.js";import"./attr.vue_vue_type_script_setup_true_lang-CJeNiwLV.js";import"./content-CCa1I_Vf.js";import"./attr.vue_vue_type_script_setup_true_lang-CrWMGfUm.js";import"./content.vue_vue_type_script_setup_true_lang-9FJV-g10.js";import"./attr.vue_vue_type_script_setup_true_lang-BpC62eFr.js";import"./add-nav.vue_vue_type_script_setup_true_lang-BlVjKvgp.js";import"./content-B8nUs9Lh.js";import"./attr.vue_vue_type_script_setup_true_lang-Blibzxk0.js";import"./content.vue_vue_type_script_setup_true_lang-D39DKNeD.js";import"./attr.vue_vue_type_script_setup_true_lang-BwzlMjDK.js";import"./content-BJh8f8yZ.js";import"./decoration-CcdLOa7h.js";import"./attr.vue_vue_type_script_setup_true_lang-B0T4O1-3.js";import"./index.vue_vue_type_script_setup_true_lang-DNrIEWkc.js";import"./content-B6ombiky.js";import"./content.vue_vue_type_script_setup_true_lang-Bb4PsYrv.js";import"./attr.vue_vue_type_script_setup_true_lang-Cf_ppg4c.js";import"./content-Dvj16Wpi.js";import"./attr.vue_vue_type_script_setup_true_lang-B7D0ls_t.js";import"./content.vue_vue_type_script_setup_true_lang-CHj8JtNb.js";import"./attr.vue_vue_type_script_setup_true_lang-CPgMFDSF.js";import"./content-CG3sk7hP.js";const K={class:"pages-preview"},L={class:"relative flex justify-center h-full mt-5 mx-10"},O=["src"],T={class:"max-w-[1200px] w-full absolute"},W=["onClick"],H=$({__name:"preview-pc",props:{pageData:{type:Array,default:()=>[]},modelValue:{type:Number,default:0}},emits:["update:modelValue"],setup(p,{emit:k}){const u=I(),b=k,i=j(()=>t=>(t==null?void 0:t.enabled)==0),C=t=>{var l;(l=u.value[t])==null||l.open()},V=t=>{t.enabled!==void 0&&(t.enabled=t.enabled?0:1)},x=(t,l)=>{t.disabled||b("update:modelValue",l)};return(t,l)=>{const f=R,d=E;return r(),s("div",K,[a("div",L,[t.$route.query.url?(r(),s("iframe",{key:0,ref:"previewIframeRef",class:"flex-1 h-full",width:"100%",height:"100%",scrolling:"no",src:t.$route.query.url},null,8,O)):y("",!0),a("div",T,[(r(!0),s(B,null,S(p.pageData,(e,c)=>(r(),s("div",{key:e.id,class:_(["absolute left-0 top-0",{"cursor-pointer":!(e!=null&&e.disabled)}]),onClick:n=>x(e,c)},[a("div",{class:_(["absolute w-full h-full z-[100] border-dashed",{select:c==p.modelValue,"border-[#dcdfe6] border-2":!(e!=null&&e.disabled),hide:o(i)(e.content)}]),style:h(e.styles)},null,6),q(t.$slots,"default",{},()=>{var n;return[(r(),D(N((n=o(A)[e==null?void 0:e.name])==null?void 0:n.content),{content:e.content,styles:e.styles,key:e.id,ref_for:!0,ref_key:"commonComponentRef",ref:u},null,8,["content","styles"]))]},!0),c==p.modelValue?(r(),s("div",{key:0,class:"widget-btns py-[5px]",style:h({top:e.styles.top,left:e.styles.width})},[a("div",null,[m(d,{effect:"dark",content:"编辑组件内容",placement:"right"},{default:v(()=>[m(f,{class:"py-[5px]",type:"primary",icon:o(z),onClick:n=>C(c)},null,8,["icon","onClick"])]),_:2},1024)]),a("div",null,[m(d,{effect:"dark",content:o(i)(e.content)?"显示":"隐藏",placement:"right"},{default:v(()=>[m(f,{class:"py-[5px]",type:"primary",icon:o(i)(e.content)?o(P):o(F),onClick:n=>V(e.content)},null,8,["icon","onClick"])]),_:2},1032,["content"])])],4)):y("",!0)],10,W))),128))])])])}}}),Re=G(H,[["__scopeId","data-v-9c63b2ff"]]);export{Re as default}; +import{o as $,q as r,r as s,s as a,P as y,F as B,G as S,ae as _,t as h,u as o,ah as q,O as D,a4 as N,v as m,D as v,K as R,co as z,a1 as E,cp as P,cq as F,a8 as I,p as j}from"./.pnpm-9dA1PEvN.js";import{e as A}from"./index-QcrBqU8R.js";import{_ as G}from"./index-BWzN7QIb.js";import"./attr-Cdokcs2q.js";import"./index-fA0EWEUO.js";import"./picker-CUH4oSOm.js";import"./index-dYaCh-CN.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-CGwMRNkL.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DfI3CPnQ.js";import"./index-xDQ_OZln.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./content.vue_vue_type_script_setup_true_lang-rFCJ-5da.js";import"./decoration-img-D7jfQZHh.js";import"./attr.vue_vue_type_script_setup_true_lang-Dp-D5e3f.js";import"./content-DPbffuTN.js";import"./attr.vue_vue_type_script_setup_true_lang-TdHwRkcj.js";import"./content.vue_vue_type_script_setup_true_lang-uo5gNfRj.js";import"./attr.vue_vue_type_script_setup_true_lang-BKeU9pV7.js";import"./add-nav.vue_vue_type_script_setup_true_lang-BRlmru-_.js";import"./content-MvOmvsN5.js";import"./attr.vue_vue_type_script_setup_true_lang-sgS4D2G0.js";import"./content.vue_vue_type_script_setup_true_lang-BJQyKf9U.js";import"./attr.vue_vue_type_script_setup_true_lang-BwzlMjDK.js";import"./content-CoRLP3ZG.js";import"./decoration-CvemIMkE.js";import"./attr.vue_vue_type_script_setup_true_lang-DoU7_LM1.js";import"./index.vue_vue_type_script_setup_true_lang-DNrIEWkc.js";import"./content-B1h0mUKe.js";import"./content.vue_vue_type_script_setup_true_lang-DyhL_D8z.js";import"./attr.vue_vue_type_script_setup_true_lang-Cf_ppg4c.js";import"./content-FlAi4LQU.js";import"./attr.vue_vue_type_script_setup_true_lang-BBZIj_I6.js";import"./content.vue_vue_type_script_setup_true_lang-epBYaUkx.js";import"./attr.vue_vue_type_script_setup_true_lang-CPgMFDSF.js";import"./content-Cwp3TvMF.js";const K={class:"pages-preview"},L={class:"relative flex justify-center h-full mt-5 mx-10"},O=["src"],T={class:"max-w-[1200px] w-full absolute"},W=["onClick"],H=$({__name:"preview-pc",props:{pageData:{type:Array,default:()=>[]},modelValue:{type:Number,default:0}},emits:["update:modelValue"],setup(p,{emit:k}){const u=I(),b=k,i=j(()=>t=>(t==null?void 0:t.enabled)==0),C=t=>{var l;(l=u.value[t])==null||l.open()},V=t=>{t.enabled!==void 0&&(t.enabled=t.enabled?0:1)},x=(t,l)=>{t.disabled||b("update:modelValue",l)};return(t,l)=>{const f=R,d=E;return r(),s("div",K,[a("div",L,[t.$route.query.url?(r(),s("iframe",{key:0,ref:"previewIframeRef",class:"flex-1 h-full",width:"100%",height:"100%",scrolling:"no",src:t.$route.query.url},null,8,O)):y("",!0),a("div",T,[(r(!0),s(B,null,S(p.pageData,(e,c)=>(r(),s("div",{key:e.id,class:_(["absolute left-0 top-0",{"cursor-pointer":!(e!=null&&e.disabled)}]),onClick:n=>x(e,c)},[a("div",{class:_(["absolute w-full h-full z-[100] border-dashed",{select:c==p.modelValue,"border-[#dcdfe6] border-2":!(e!=null&&e.disabled),hide:o(i)(e.content)}]),style:h(e.styles)},null,6),q(t.$slots,"default",{},()=>{var n;return[(r(),D(N((n=o(A)[e==null?void 0:e.name])==null?void 0:n.content),{content:e.content,styles:e.styles,key:e.id,ref_for:!0,ref_key:"commonComponentRef",ref:u},null,8,["content","styles"]))]},!0),c==p.modelValue?(r(),s("div",{key:0,class:"widget-btns py-[5px]",style:h({top:e.styles.top,left:e.styles.width})},[a("div",null,[m(d,{effect:"dark",content:"编辑组件内容",placement:"right"},{default:v(()=>[m(f,{class:"py-[5px]",type:"primary",icon:o(z),onClick:n=>C(c)},null,8,["icon","onClick"])]),_:2},1024)]),a("div",null,[m(d,{effect:"dark",content:o(i)(e.content)?"显示":"隐藏",placement:"right"},{default:v(()=>[m(f,{class:"py-[5px]",type:"primary",icon:o(i)(e.content)?o(P):o(F),onClick:n=>V(e.content)},null,8,["icon","onClick"])]),_:2},1032,["content"])])],4)):y("",!0)],10,W))),128))])])])}}}),Re=G(H,[["__scopeId","data-v-9c63b2ff"]]);export{Re as default}; diff --git a/server/public/admin/assets/progress-KuLBVJsD.js b/server/public/admin/assets/progress-Cm0fQmBI.js similarity index 98% rename from server/public/admin/assets/progress-KuLBVJsD.js rename to server/public/admin/assets/progress-Cm0fQmBI.js index d1c265f4..52b279ca 100644 --- a/server/public/admin/assets/progress-KuLBVJsD.js +++ b/server/public/admin/assets/progress-Cm0fQmBI.js @@ -1 +1 @@ -import{o as at,W as Nt,M as I,ap as Et,aq as St,q as i,r as c,s as a,v as l,D as r,u as T,ce as xt,w as Vt,L as k,bp as Mt,cw as $t,bn as It,bm as Tt,bA as et,b8 as Ct,b7 as Dt,K as At,cx as Rt,cl as Pt,F as z,G as nt,O as C,bb as Bt,T as p,bc as Ut,P as N,ac as Yt,bi as zt,bk as Lt,ae as G,br as Ft,bX as Ot,ba as qt,p as D,bj as Gt,bB as Kt}from"./.pnpm-9dA1PEvN.js";import{d as K}from"./dayjs-BsOAYQJw.js";import{f as jt,a as st}from"./doctor-Bmtf1eZE.js";import{u as Wt,_ as Ht}from"./index-CJvXnF8Y.js";const Xt={class:"dp-page"},Zt={class:"dp-glass dp-toolbar"},Jt={class:"dp-toolbar-row"},Qt={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"},le={class:"dp-table-head"},oe={class:"dp-table-head-left"},ie={key:0,class:"dp-table-range"},de={class:"dp-table-badges"},ue={key:0,class:"dp-chip dp-chip--account"},re={key:1,class:"dp-chip dp-chip--doc"},ce={key:2,class:"dp-chip dp-chip--count"},pe={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"},be={class:"dp-user-name"},ge={class:"dp-user-phone"},he={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"},Me=at({name:"doctorProgress"}),$e=at({...Me,setup(Ie){const lt=Nt(),j=Wt(),A=I(!1),E=I([]),f=I(void 0),S=I([]),R=()=>K().format("YYYY-MM-DD"),h=I([R(),R()]),v=qt({status:"",patient_name:""}),W=D(()=>{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||""):""}),ot=D(()=>{var t;const e=(t=j.userInfo)==null?void 0:t.id;return e!=null&&e!==""?Number(e):NaN}),H=D(()=>{const e=j.userInfo||{};return String(e.name||e.account||"").trim()});function L(e){const t=ot.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,X=I(0);let P=null;function Z(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 dt(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 o=K(`${t} ${n}`);return o.isValid()?o:null}function J(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),o=t%60;return o===0?`${n} 小时`:`${n} 小时${o} 分钟`}function ut(e){if(X.value,!L(e))return"";const t=Number(e.status);if(t===3)return"面诊已完成(医生已点完成)";if(t===4)return"已过号,无法按序预估";if(t!==1)return"";const n=K(),o=dt(e),d=o?o.isAfter(n):!1,m=d&&o?Math.max(0,o.diff(n,"minute")):0,y=S.value.filter(u=>u.appointment_date===e.appointment_date&&Number(u.status)===1).slice().sort((u,M)=>{const Y=Z(u).localeCompare(Z(M));return Y!==0?Y:Number(u.id)-Number(M.id)}).findIndex(u=>Number(u.id)===Number(e.id)),b=y>=0?y:0,V=b*it,_=[];return d&&_.push(`距预约时段还有约 ${J(m)}`),b===0?_.push(d?"到号后可优先安排面诊":"已到号,可尽快面诊"):_.push(`前面约 ${b} 人,按序粗估约 ${J(V)}`),_.join(";")}function Q(){const e=v.status;return e===""||e===void 0||e===null}const B=D(()=>Q()?S.value.filter(e=>Number(e.status)===3).length:0),F=D(()=>Q()?S.value.filter(e=>Number(e.status)!==3):S.value),rt=D(()=>B.value>0&&F.value.length===0?`本时段有 ${B.value} 条「已完成」已隐藏,可在状态中选择「已完成」查看`:"该时段内暂无挂号");function ct(e){const t=String(e||"?").trim();return t?t[0]:"?"}function pt(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)),o=!!e.diagnosis_confirmed,d=Number(e.status)===3,m=!!e.has_prescription;return[{label:"挂号",done:n,current:n&&!o&&Number(e.status)===1,hint:t?"已取消":Number(e.status)===4?"已过号":""},{label:"确认诊单",done:o,current:n&&!o,hint:""},{label:"就诊中",done:d,current:n&&o&&!d&&Number(e.status)===1,hint:Number(e.status)===1&&o?"待完诊":""},{label:"开方",done:m,current:d&&!m,hint:""}]}function _t(e){const n=w(e).filter(o=>o.done).length;return Math.round(n/4*100)}const O=2e3,ft=15e3;let U=null;async function vt(){const e=await jt({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,o;if(f.value===void 0){S.value=[];return}const t=(e==null?void 0:e.silent)===!0;t||(A.value=!0);try{const d={doctor_id:f.value,page_type:1,page_no:1,page_size:O,prescription_today_only:1,exclude_cancelled:1,progress_board:1};((n=h.value)==null?void 0:n.length)===2&&(d.start_date=h.value[0],d.end_date=h.value[1]),v.status!==""&&(d.status=v.status),(o=v.patient_name)!=null&&o.trim()&&(d.patient_name=v.patient_name.trim());const m=await st(d);let g=(m==null?void 0:m.lists)||[];const y=Number((m==null?void 0:m.count)??g.length);if(y>g.length&&g.length>=O){const b=[],V=Math.min(Math.ceil(y/O),20);for(let _=2;_<=V;_++){const u=await st({...d,page_no:_}),M=(u==null?void 0:u.lists)||[];if(!M.length)break;b.push(...M)}g=[...g,...b]}S.value=[...g].sort((b,V)=>{const _=`${b.appointment_date||""} ${b.appointment_time||""}`,u=`${V.appointment_date||""} ${V.appointment_time||""}`;return _.localeCompare(u)})}catch(d){console.error(d),t||(S.value=[])}finally{t||(A.value=!1)}}function bt(){typeof document<"u"&&document.hidden||x({silent:!0}).catch(()=>{})}function gt(){v.status="",v.patient_name="",h.value=[R(),R()],x()}function ht(e){lt.push({path:"/tcm/diagnosis",query:{id:String(e)}})}return Et(async()=>{await vt(),await x(),U=setInterval(bt,ft),P=setInterval(()=>{X.value+=1},6e4)}),St(()=>{U!=null&&(clearInterval(U),U=null),P!=null&&(clearInterval(P),P=null)}),(e,t)=>{var tt;const n=Vt,o=Mt,d=It,m=Tt,g=Dt,y=At,b=Bt,V=Ut,_=Kt,u=Lt,M=Ft,Y=Ot,yt=Gt,kt=zt;return i(),c("div",Xt,[a("section",Zt,[a("div",Jt,[a("span",Qt,[l(n,null,{default:r(()=>[l(T(xt))]),_:1}),t[9]||(t[9]=k(" 预约日期 ",-1))]),l(o,{modelValue:h.value,"onUpdate:modelValue":t[0]||(t[0]=s=>h.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,[l(n,null,{default:r(()=>[l(T($t))]),_:1}),t[10]||(t[10]=k(" 状态 ",-1))]),l(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:r(()=>[l(d,{label:"全部状态",value:""}),l(d,{label:"已预约(待就诊)",value:"1"}),l(d,{label:"已完成",value:"3"}),l(d,{label:"已过号",value:"4"})]),_:1},8,["modelValue"]),a("span",te,[l(n,null,{default:r(()=>[l(T(et))]),_:1}),t[11]||(t[11]=k(" 患者 ",-1))]),l(g,{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]=Ct(()=>x(),["enter"]))},null,8,["modelValue"]),a("div",ee,[l(y,{type:"primary",loading:A.value,icon:T(et),onClick:t[6]||(t[6]=()=>x())},{default:r(()=>[...t[12]||(t[12]=[k(" 查询 ",-1)])]),_:1},8,["loading","icon"]),l(y,{icon:T(Rt),onClick:gt},{default:r(()=>[...t[13]||(t[13]=[k("重置",-1)])]),_:1},8,["icon"])])])]),E.value.length?(i(),c("section",ne,[a("div",se,[l(n,{class:"dp-section-icon"},{default:r(()=>[l(T(Pt))]),_:1}),t[14]||(t[14]=a("span",{class:"dp-section-title"},"选择医生",-1)),t[15]||(t[15]=a("span",{class:"dp-section-hint"},"切换后自动加载该医生挂号",-1))]),l(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:r(()=>[(i(!0),c(z,null,nt(E.value,s=>(i(),C(b,{key:s.id,label:Number(s.id),class:"dp-doc-pill"},{default:r(()=>[k(p(s.name||s.account||"—"),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])):N("",!0),Yt((i(),c("section",ae,[a("div",le,[a("div",oe,[t[16]||(t[16]=a("span",{class:"dp-table-title"},"患者列表",-1)),((tt=h.value)==null?void 0:tt.length)===2?(i(),c("span",ie,p(h.value[0])+" ~ "+p(h.value[1]),1)):N("",!0)]),a("div",de,[H.value?(i(),c("span",ue,"当前账号 "+p(H.value),1)):N("",!0),W.value?(i(),c("span",re,p(W.value),1)):N("",!0),f.value!==void 0&&!A.value?(i(),c("span",ce,p(F.value.length)+" 人",1)):N("",!0),B.value>0?(i(),c("span",pe,"已隐藏已完成 "+p(B.value),1)):N("",!0)])]),E.value.length?f.value===void 0?(i(),C(_,{key:1,description:"请选择医生"})):(i(),C(yt,{key:2,data:F.value,class:"dp-table",size:"default","empty-text":rt.value},{default:r(()=>[l(u,{label:"患者","min-width":"200",fixed:"left"},{default:r(({row:s})=>[a("div",{class:G(["dp-cell-user",{"is-my-patients":L(s)}])},[L(s)?(i(),c(z,{key:0},[t[17]||(t[17]=a("div",{class:"dp-my-patients-caption"},"我的患者",-1)),a("div",me,p(ut(s)),1)],64)):N("",!0),a("div",_e,[a("div",fe,p(ct(s.patient_name)),1),a("div",ve,[a("span",be,p(s.patient_name||"—"),1),a("span",ge,p(s.patient_phone||"—"),1)])])],2)]),_:1}),l(u,{label:"预约时间",width:"170"},{default:r(({row:s})=>[a("span",he,p(pt(s)),1)]),_:1}),l(u,{label:"挂号",width:"104",align:"center"},{default:r(({row:s})=>[l(M,{type:mt(s.status),effect:"light",round:"",size:"small"},{default:r(()=>[k(p(s.status_desc),1)]),_:2},1032,["type"])]),_:1}),l(u,{label:"面诊进度","min-width":"360"},{default:r(({row:s})=>[a("div",ye,[(i(!0),c(z,null,nt(w(s),($,q)=>(i(),c(z,{key:q},[a("div",{class:G(["dp-step",{"is-done":$.done,"is-current":$.current&&!$.done}])},[a("div",ke,p(q+1),1),a("div",Ne,[a("span",Ee,p($.label),1),$.hint?(i(),c("span",Se,p($.hint),1)):N("",!0)])],2),q<3?(i(),c("div",{key:0,class:G(["dp-step-line",{"is-done":$.done}])},null,2)):N("",!0)],64))),128))]),l(Y,{percentage:_t(s),"stroke-width":8,class:"dp-progress"},null,8,["percentage"])]),_:1}),l(u,{label:"处方",width:"92",align:"center"},{default:r(({row:s})=>[s.has_prescription?(i(),C(M,{key:0,type:"success",effect:"dark",round:"",size:"small"},{default:r(()=>[...t[18]||(t[18]=[k("已开",-1)])]),_:1})):(i(),c("span",xe,"未开"))]),_:1}),l(u,{label:"操作",width:"96",fixed:"right",align:"center"},{default:r(({row:s})=>[s.diagnosis_id?(i(),C(y,{key:0,type:"primary",size:"small",round:"",plain:"",onClick:$=>ht(s.diagnosis_id)},{default:r(()=>[...t[19]||(t[19]=[k(" 诊单 ",-1)])]),_:1},8,["onClick"])):(i(),c("span",Ve,"—"))]),_:1})]),_:1},8,["data","empty-text"])):(i(),C(_,{key:0,description:"暂无医生数据"}))])),[[kt,A.value]])])}}}),Re=Ht($e,[["__scopeId","data-v-6bc1551c"]]);export{Re as default}; +import{o as at,W as Nt,M as I,ap as Et,aq as St,q as i,r as c,s as a,v as l,D as r,u as T,ce as xt,w as Vt,L as k,bp as Mt,cw as $t,bn as It,bm as Tt,bA as et,b8 as Ct,b7 as Dt,K as At,cx as Rt,cl as Pt,F as z,G as nt,O as C,bb as Bt,T as p,bc as Ut,P as N,ac as Yt,bi as zt,bk as Lt,ae as G,br as Ft,bX as Ot,ba as qt,p as D,bj as Gt,bB as Kt}from"./.pnpm-9dA1PEvN.js";import{d as K}from"./dayjs-BsOAYQJw.js";import{f as jt,a as st}from"./doctor-Chj6BcVp.js";import{u as Wt,_ as Ht}from"./index-BWzN7QIb.js";const Xt={class:"dp-page"},Zt={class:"dp-glass dp-toolbar"},Jt={class:"dp-toolbar-row"},Qt={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"},le={class:"dp-table-head"},oe={class:"dp-table-head-left"},ie={key:0,class:"dp-table-range"},de={class:"dp-table-badges"},ue={key:0,class:"dp-chip dp-chip--account"},re={key:1,class:"dp-chip dp-chip--doc"},ce={key:2,class:"dp-chip dp-chip--count"},pe={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"},be={class:"dp-user-name"},ge={class:"dp-user-phone"},he={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"},Me=at({name:"doctorProgress"}),$e=at({...Me,setup(Ie){const lt=Nt(),j=Wt(),A=I(!1),E=I([]),f=I(void 0),S=I([]),R=()=>K().format("YYYY-MM-DD"),h=I([R(),R()]),v=qt({status:"",patient_name:""}),W=D(()=>{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||""):""}),ot=D(()=>{var t;const e=(t=j.userInfo)==null?void 0:t.id;return e!=null&&e!==""?Number(e):NaN}),H=D(()=>{const e=j.userInfo||{};return String(e.name||e.account||"").trim()});function L(e){const t=ot.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,X=I(0);let P=null;function Z(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 dt(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 o=K(`${t} ${n}`);return o.isValid()?o:null}function J(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),o=t%60;return o===0?`${n} 小时`:`${n} 小时${o} 分钟`}function ut(e){if(X.value,!L(e))return"";const t=Number(e.status);if(t===3)return"面诊已完成(医生已点完成)";if(t===4)return"已过号,无法按序预估";if(t!==1)return"";const n=K(),o=dt(e),d=o?o.isAfter(n):!1,m=d&&o?Math.max(0,o.diff(n,"minute")):0,y=S.value.filter(u=>u.appointment_date===e.appointment_date&&Number(u.status)===1).slice().sort((u,M)=>{const Y=Z(u).localeCompare(Z(M));return Y!==0?Y:Number(u.id)-Number(M.id)}).findIndex(u=>Number(u.id)===Number(e.id)),b=y>=0?y:0,V=b*it,_=[];return d&&_.push(`距预约时段还有约 ${J(m)}`),b===0?_.push(d?"到号后可优先安排面诊":"已到号,可尽快面诊"):_.push(`前面约 ${b} 人,按序粗估约 ${J(V)}`),_.join(";")}function Q(){const e=v.status;return e===""||e===void 0||e===null}const B=D(()=>Q()?S.value.filter(e=>Number(e.status)===3).length:0),F=D(()=>Q()?S.value.filter(e=>Number(e.status)!==3):S.value),rt=D(()=>B.value>0&&F.value.length===0?`本时段有 ${B.value} 条「已完成」已隐藏,可在状态中选择「已完成」查看`:"该时段内暂无挂号");function ct(e){const t=String(e||"?").trim();return t?t[0]:"?"}function pt(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)),o=!!e.diagnosis_confirmed,d=Number(e.status)===3,m=!!e.has_prescription;return[{label:"挂号",done:n,current:n&&!o&&Number(e.status)===1,hint:t?"已取消":Number(e.status)===4?"已过号":""},{label:"确认诊单",done:o,current:n&&!o,hint:""},{label:"就诊中",done:d,current:n&&o&&!d&&Number(e.status)===1,hint:Number(e.status)===1&&o?"待完诊":""},{label:"开方",done:m,current:d&&!m,hint:""}]}function _t(e){const n=w(e).filter(o=>o.done).length;return Math.round(n/4*100)}const O=2e3,ft=15e3;let U=null;async function vt(){const e=await jt({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,o;if(f.value===void 0){S.value=[];return}const t=(e==null?void 0:e.silent)===!0;t||(A.value=!0);try{const d={doctor_id:f.value,page_type:1,page_no:1,page_size:O,prescription_today_only:1,exclude_cancelled:1,progress_board:1};((n=h.value)==null?void 0:n.length)===2&&(d.start_date=h.value[0],d.end_date=h.value[1]),v.status!==""&&(d.status=v.status),(o=v.patient_name)!=null&&o.trim()&&(d.patient_name=v.patient_name.trim());const m=await st(d);let g=(m==null?void 0:m.lists)||[];const y=Number((m==null?void 0:m.count)??g.length);if(y>g.length&&g.length>=O){const b=[],V=Math.min(Math.ceil(y/O),20);for(let _=2;_<=V;_++){const u=await st({...d,page_no:_}),M=(u==null?void 0:u.lists)||[];if(!M.length)break;b.push(...M)}g=[...g,...b]}S.value=[...g].sort((b,V)=>{const _=`${b.appointment_date||""} ${b.appointment_time||""}`,u=`${V.appointment_date||""} ${V.appointment_time||""}`;return _.localeCompare(u)})}catch(d){console.error(d),t||(S.value=[])}finally{t||(A.value=!1)}}function bt(){typeof document<"u"&&document.hidden||x({silent:!0}).catch(()=>{})}function gt(){v.status="",v.patient_name="",h.value=[R(),R()],x()}function ht(e){lt.push({path:"/tcm/diagnosis",query:{id:String(e)}})}return Et(async()=>{await vt(),await x(),U=setInterval(bt,ft),P=setInterval(()=>{X.value+=1},6e4)}),St(()=>{U!=null&&(clearInterval(U),U=null),P!=null&&(clearInterval(P),P=null)}),(e,t)=>{var tt;const n=Vt,o=Mt,d=It,m=Tt,g=Dt,y=At,b=Bt,V=Ut,_=Kt,u=Lt,M=Ft,Y=Ot,yt=Gt,kt=zt;return i(),c("div",Xt,[a("section",Zt,[a("div",Jt,[a("span",Qt,[l(n,null,{default:r(()=>[l(T(xt))]),_:1}),t[9]||(t[9]=k(" 预约日期 ",-1))]),l(o,{modelValue:h.value,"onUpdate:modelValue":t[0]||(t[0]=s=>h.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,[l(n,null,{default:r(()=>[l(T($t))]),_:1}),t[10]||(t[10]=k(" 状态 ",-1))]),l(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:r(()=>[l(d,{label:"全部状态",value:""}),l(d,{label:"已预约(待就诊)",value:"1"}),l(d,{label:"已完成",value:"3"}),l(d,{label:"已过号",value:"4"})]),_:1},8,["modelValue"]),a("span",te,[l(n,null,{default:r(()=>[l(T(et))]),_:1}),t[11]||(t[11]=k(" 患者 ",-1))]),l(g,{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]=Ct(()=>x(),["enter"]))},null,8,["modelValue"]),a("div",ee,[l(y,{type:"primary",loading:A.value,icon:T(et),onClick:t[6]||(t[6]=()=>x())},{default:r(()=>[...t[12]||(t[12]=[k(" 查询 ",-1)])]),_:1},8,["loading","icon"]),l(y,{icon:T(Rt),onClick:gt},{default:r(()=>[...t[13]||(t[13]=[k("重置",-1)])]),_:1},8,["icon"])])])]),E.value.length?(i(),c("section",ne,[a("div",se,[l(n,{class:"dp-section-icon"},{default:r(()=>[l(T(Pt))]),_:1}),t[14]||(t[14]=a("span",{class:"dp-section-title"},"选择医生",-1)),t[15]||(t[15]=a("span",{class:"dp-section-hint"},"切换后自动加载该医生挂号",-1))]),l(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:r(()=>[(i(!0),c(z,null,nt(E.value,s=>(i(),C(b,{key:s.id,label:Number(s.id),class:"dp-doc-pill"},{default:r(()=>[k(p(s.name||s.account||"—"),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])):N("",!0),Yt((i(),c("section",ae,[a("div",le,[a("div",oe,[t[16]||(t[16]=a("span",{class:"dp-table-title"},"患者列表",-1)),((tt=h.value)==null?void 0:tt.length)===2?(i(),c("span",ie,p(h.value[0])+" ~ "+p(h.value[1]),1)):N("",!0)]),a("div",de,[H.value?(i(),c("span",ue,"当前账号 "+p(H.value),1)):N("",!0),W.value?(i(),c("span",re,p(W.value),1)):N("",!0),f.value!==void 0&&!A.value?(i(),c("span",ce,p(F.value.length)+" 人",1)):N("",!0),B.value>0?(i(),c("span",pe,"已隐藏已完成 "+p(B.value),1)):N("",!0)])]),E.value.length?f.value===void 0?(i(),C(_,{key:1,description:"请选择医生"})):(i(),C(yt,{key:2,data:F.value,class:"dp-table",size:"default","empty-text":rt.value},{default:r(()=>[l(u,{label:"患者","min-width":"200",fixed:"left"},{default:r(({row:s})=>[a("div",{class:G(["dp-cell-user",{"is-my-patients":L(s)}])},[L(s)?(i(),c(z,{key:0},[t[17]||(t[17]=a("div",{class:"dp-my-patients-caption"},"我的患者",-1)),a("div",me,p(ut(s)),1)],64)):N("",!0),a("div",_e,[a("div",fe,p(ct(s.patient_name)),1),a("div",ve,[a("span",be,p(s.patient_name||"—"),1),a("span",ge,p(s.patient_phone||"—"),1)])])],2)]),_:1}),l(u,{label:"预约时间",width:"170"},{default:r(({row:s})=>[a("span",he,p(pt(s)),1)]),_:1}),l(u,{label:"挂号",width:"104",align:"center"},{default:r(({row:s})=>[l(M,{type:mt(s.status),effect:"light",round:"",size:"small"},{default:r(()=>[k(p(s.status_desc),1)]),_:2},1032,["type"])]),_:1}),l(u,{label:"面诊进度","min-width":"360"},{default:r(({row:s})=>[a("div",ye,[(i(!0),c(z,null,nt(w(s),($,q)=>(i(),c(z,{key:q},[a("div",{class:G(["dp-step",{"is-done":$.done,"is-current":$.current&&!$.done}])},[a("div",ke,p(q+1),1),a("div",Ne,[a("span",Ee,p($.label),1),$.hint?(i(),c("span",Se,p($.hint),1)):N("",!0)])],2),q<3?(i(),c("div",{key:0,class:G(["dp-step-line",{"is-done":$.done}])},null,2)):N("",!0)],64))),128))]),l(Y,{percentage:_t(s),"stroke-width":8,class:"dp-progress"},null,8,["percentage"])]),_:1}),l(u,{label:"处方",width:"92",align:"center"},{default:r(({row:s})=>[s.has_prescription?(i(),C(M,{key:0,type:"success",effect:"dark",round:"",size:"small"},{default:r(()=>[...t[18]||(t[18]=[k("已开",-1)])]),_:1})):(i(),c("span",xe,"未开"))]),_:1}),l(u,{label:"操作",width:"96",fixed:"right",align:"center"},{default:r(({row:s})=>[s.diagnosis_id?(i(),C(y,{key:0,type:"primary",size:"small",round:"",plain:"",onClick:$=>ht(s.diagnosis_id)},{default:r(()=>[...t[19]||(t[19]=[k(" 诊单 ",-1)])]),_:1},8,["onClick"])):(i(),c("span",Ve,"—"))]),_:1})]),_:1},8,["data","empty-text"])):(i(),C(_,{key:0,description:"暂无医生数据"}))])),[[kt,A.value]])])}}}),Re=Ht($e,[["__scopeId","data-v-6bc1551c"]]);export{Re as default}; diff --git a/server/public/admin/assets/protocol-c8KCHmnT.js b/server/public/admin/assets/protocol-CMbLWRPX.js similarity index 89% rename from server/public/admin/assets/protocol-c8KCHmnT.js rename to server/public/admin/assets/protocol-CMbLWRPX.js index bbe9074a..0522a3c9 100644 --- a/server/public/admin/assets/protocol-c8KCHmnT.js +++ b/server/public/admin/assets/protocol-CMbLWRPX.js @@ -1 +1 @@ -import{_ as h}from"./index-bkWlwzQZ.js";import{o as f,be as w,q as c,r as g,s,v as l,D as a,b9 as y,u as o,b6 as E,b7 as U,bg as B,ac as k,O as C,K as D,L as F,F as P,M as N}from"./.pnpm-9dA1PEvN.js";import{_ as I}from"./index.vue_vue_type_style_index_0_lang-iDb8ZvRz.js";import{c as O,d as j}from"./website-CigJCWyv.js";import"./index-CJvXnF8Y.js";import"./picker-DWQ_BAep.js";import"./index-BBemoNXE.js";import"./index-CY1mb9yY.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-CAGpCz28.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const q={class:"xl:flex"},A={class:"xl:flex"},G=f({name:"webProtocol"}),ee=f({...G,setup(K){const t=N({service_title:"",service_content:"",privacy_title:"",privacy_content:"",health_title:"",health_content:""}),_=async()=>{const p=await O();Object.assign(t.value,p)},b=async()=>{await j({...t.value}),_()};return _(),(p,e)=>{const r=U,m=E,d=y,i=I,u=B,v=D,V=h,x=w("perms");return c(),g(P,null,[s("div",q,[l(u,{class:"!border-none flex-1 xl:mr-4 mb-4",shadow:"never"},{header:a(()=>[...e[6]||(e[6]=[s("span",{class:"font-medium"},"服务协议",-1)])]),default:a(()=>[l(d,{model:o(t),"label-width":"80px"},{default:a(()=>[l(m,{label:"协议名称"},{default:a(()=>[l(r,{modelValue:o(t).service_title,"onUpdate:modelValue":e[0]||(e[0]=n=>o(t).service_title=n)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),l(i,{class:"mb-10",modelValue:o(t).service_content,"onUpdate:modelValue":e[1]||(e[1]=n=>o(t).service_content=n),height:"500"},null,8,["modelValue"])]),_:1}),l(u,{class:"!border-none flex-1 mb-4",shadow:"never"},{header:a(()=>[...e[7]||(e[7]=[s("span",{class:"font-medium"},"隐私协议",-1)])]),default:a(()=>[l(d,{model:o(t),"label-width":"80px"},{default:a(()=>[l(m,{label:"协议名称"},{default:a(()=>[l(r,{modelValue:o(t).privacy_title,"onUpdate:modelValue":e[2]||(e[2]=n=>o(t).privacy_title=n)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),l(i,{class:"mb-10",modelValue:o(t).privacy_content,"onUpdate:modelValue":e[3]||(e[3]=n=>o(t).privacy_content=n),height:"500"},null,8,["modelValue"])]),_:1})]),s("div",A,[l(u,{class:"!border-none flex-1 mb-4",shadow:"never"},{header:a(()=>[...e[8]||(e[8]=[s("span",{class:"font-medium"},"卫健委备案信息",-1)])]),default:a(()=>[l(d,{model:o(t),"label-width":"80px"},{default:a(()=>[l(m,{label:"协议名称"},{default:a(()=>[l(r,{modelValue:o(t).health_title,"onUpdate:modelValue":e[4]||(e[4]=n=>o(t).health_title=n)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),l(i,{class:"mb-10",modelValue:o(t).health_content,"onUpdate:modelValue":e[5]||(e[5]=n=>o(t).health_content=n),height:"500"},null,8,["modelValue"])]),_:1})]),k((c(),C(V,null,{default:a(()=>[l(v,{type:"primary",onClick:b},{default:a(()=>[...e[9]||(e[9]=[F("保存",-1)])]),_:1})]),_:1})),[[x,["setting.web.web_setting/setAgreement"]]])],64)}}});export{ee as default}; +import{_ as h}from"./index-DZiQLFzx.js";import{o as f,be as w,q as c,r as g,s,v as l,D as a,b9 as y,u as o,b6 as E,b7 as U,bg as B,ac as k,O as C,K as D,L as F,F as P,M as N}from"./.pnpm-9dA1PEvN.js";import{_ as I}from"./index.vue_vue_type_style_index_0_lang-DqDA-KJo.js";import{c as O,d as j}from"./website-D68_BOrK.js";import"./index-BWzN7QIb.js";import"./picker-DfI3CPnQ.js";import"./index-dYaCh-CN.js";import"./index-xDQ_OZln.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-fA0EWEUO.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const q={class:"xl:flex"},A={class:"xl:flex"},G=f({name:"webProtocol"}),ee=f({...G,setup(K){const t=N({service_title:"",service_content:"",privacy_title:"",privacy_content:"",health_title:"",health_content:""}),_=async()=>{const p=await O();Object.assign(t.value,p)},b=async()=>{await j({...t.value}),_()};return _(),(p,e)=>{const r=U,m=E,d=y,i=I,u=B,v=D,V=h,x=w("perms");return c(),g(P,null,[s("div",q,[l(u,{class:"!border-none flex-1 xl:mr-4 mb-4",shadow:"never"},{header:a(()=>[...e[6]||(e[6]=[s("span",{class:"font-medium"},"服务协议",-1)])]),default:a(()=>[l(d,{model:o(t),"label-width":"80px"},{default:a(()=>[l(m,{label:"协议名称"},{default:a(()=>[l(r,{modelValue:o(t).service_title,"onUpdate:modelValue":e[0]||(e[0]=n=>o(t).service_title=n)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),l(i,{class:"mb-10",modelValue:o(t).service_content,"onUpdate:modelValue":e[1]||(e[1]=n=>o(t).service_content=n),height:"500"},null,8,["modelValue"])]),_:1}),l(u,{class:"!border-none flex-1 mb-4",shadow:"never"},{header:a(()=>[...e[7]||(e[7]=[s("span",{class:"font-medium"},"隐私协议",-1)])]),default:a(()=>[l(d,{model:o(t),"label-width":"80px"},{default:a(()=>[l(m,{label:"协议名称"},{default:a(()=>[l(r,{modelValue:o(t).privacy_title,"onUpdate:modelValue":e[2]||(e[2]=n=>o(t).privacy_title=n)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),l(i,{class:"mb-10",modelValue:o(t).privacy_content,"onUpdate:modelValue":e[3]||(e[3]=n=>o(t).privacy_content=n),height:"500"},null,8,["modelValue"])]),_:1})]),s("div",A,[l(u,{class:"!border-none flex-1 mb-4",shadow:"never"},{header:a(()=>[...e[8]||(e[8]=[s("span",{class:"font-medium"},"卫健委备案信息",-1)])]),default:a(()=>[l(d,{model:o(t),"label-width":"80px"},{default:a(()=>[l(m,{label:"协议名称"},{default:a(()=>[l(r,{modelValue:o(t).health_title,"onUpdate:modelValue":e[4]||(e[4]=n=>o(t).health_title=n)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),l(i,{class:"mb-10",modelValue:o(t).health_content,"onUpdate:modelValue":e[5]||(e[5]=n=>o(t).health_content=n),height:"500"},null,8,["modelValue"])]),_:1})]),k((c(),C(V,null,{default:a(()=>[l(v,{type:"primary",onClick:b},{default:a(()=>[...e[9]||(e[9]=[F("保存",-1)])]),_:1})]),_:1})),[[x,["setting.web.web_setting/setAgreement"]]])],64)}}});export{ee as default}; diff --git a/server/public/admin/assets/qywx-gk5_zzXe.js b/server/public/admin/assets/qywx-DJmsU1lV.js similarity index 99% rename from server/public/admin/assets/qywx-gk5_zzXe.js rename to server/public/admin/assets/qywx-DJmsU1lV.js index 9ea6dee5..8940e3c1 100644 --- a/server/public/admin/assets/qywx-gk5_zzXe.js +++ b/server/public/admin/assets/qywx-DJmsU1lV.js @@ -1 +1 @@ -import{o as le,ba as I,ap as ae,aq as se,q as u,r as m,v as a,D as l,bh as ne,s as n,bg as oe,T as r,P as A,F as E,G as T,t as ie,ae as re,u as x,br as ue,L as d,K as de,cF as ce,cG as me,by as rt,co as _e,b9 as fe,b6 as ge,b7 as pe,b8 as kt,bp as ye,bm as ve,O as b,cB as xe,bn as be,ac as we,bj as he,bk as Se,a0 as ke,a1 as Ce,bi as Ve,C as Ee,I as Te,bt as Ae,c3 as Ne,c4 as qe,bB as ze,B as De,cH as $e,cI as Le,c0 as Ie,c1 as Ue,M as k,p as Z}from"./.pnpm-9dA1PEvN.js";import{_ as je}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{u as Pe}from"./usePaging-Boz1Q6w3.js";import{r as q,i as N,_ as Me}from"./index-CJvXnF8Y.js";function Be(L){return q.get({url:"/qywx.customer/lists",params:L})}function He(){return q.post({url:"/qywx.customer/sync"})}function Fe(){return q.get({url:"/qywx.customer/stats"})}function Ge(){return q.get({url:"/qywx.customer/tagStats"})}function Ke(){return q.get({url:"/qywx.customer/todayArrival"})}function Oe(L){return q.get({url:"/qywx.customer/todayArrivalList",params:L})}function Re(){return q.get({url:"/qywx.customer/getSyncSettings"})}function Ye(L){return q.post({url:"/qywx.customer/saveSyncSettings",params:L})}const We={class:"qywx-customer-page p-4"},Je={class:"flex items-center justify-between"},Qe={class:"flex gap-2"},Xe={class:"grid grid-cols-4 gap-4 mb-4"},Ze={class:"text-2xl font-bold text-primary"},tl={class:"flex items-center justify-between mb-1"},el={key:0,class:"text-xs text-gray-400"},ll={class:"flex items-end gap-2"},al={class:"text-2xl font-bold text-success leading-none"},sl=["title"],nl={class:"mt-2 pt-2 border-t border-gray-100"},ol={class:"text-lg font-semibold text-gray-800"},il={class:"text-sm font-medium"},rl={class:"flex items-center justify-between gap-3"},ul={class:"text-xs text-gray-400"},dl={class:"flex items-center gap-2"},cl={class:"font-medium"},ml={class:"text-xs text-gray-400"},_l={key:0},fl={key:1,class:"text-gray-400"},gl={key:0},pl={key:0,class:"ml-1 text-gray-400 text-xs"},yl={key:1,class:"text-gray-400"},vl={class:"flex justify-end mt-4"},xl={class:"flex items-center justify-between w-full pr-4"},bl={class:"flex items-center gap-3"},wl={class:"px-1"},hl={key:0,class:"mb-3"},Sl={class:"flex flex-wrap gap-1"},kl={class:"flex items-start gap-2"},Cl={class:"flex-1 min-w-0"},Vl={class:"text-sm font-medium truncate"},El={class:"text-xs text-gray-500 mt-0.5"},Tl={key:0,class:"ml-2"},Al={key:1,class:"ml-2 text-emerald-500"},Nl={key:3,class:"mt-3 text-center"},ql={class:"flex items-center justify-between w-full pr-4"},zl={class:"flex items-center gap-3"},Dl={class:"px-1"},$l={class:"grid grid-cols-3 gap-2 mb-3"},Ll={class:"text-xl font-bold text-warning"},Il={class:"text-xl font-bold"},Ul={class:"text-xl font-bold"},jl={class:"flex items-center gap-2 w-full"},Pl={class:"font-medium"},Ml={class:"ml-auto text-xs text-gray-500"},Bl={class:"font-medium"},Hl={class:"text-xs text-gray-400 truncate"},Fl={class:"text-warning font-bold"},Gl={key:0},Kl={key:1,class:"text-gray-400"},Ol={key:0},Rl={key:0,class:"ml-1 text-gray-400 text-xs"},Yl={key:1,class:"text-gray-400"},Wl=le({__name:"qywx",setup(L){const U=k(!1),j=k(!1),tt=k(!1),y=k(null),C=I({total:0,today:0,today_follow_staff:0,lastSync:"",syncStatus:"idle",syncStatusText:"未同步"}),Ct=Z(()=>{switch(C.syncStatus){case"success":return"success";case"syncing":return"warning";case"failed":return"danger";default:return"info"}}),w=I({auto_sync:!1,interval:3600}),_=I({name:"",follow_user:"",tag_ids:[],add_time_start:"",add_time_end:""}),et=k(null);function Vt(e){e&&e.length===2&&e[0]&&e[1]?(_.add_time_start=e[0],_.add_time_end=e[1]):(_.add_time_start="",_.add_time_end=""),z()}const v=I({total_tags:0,total_relations:0,total_tagged_customers:0,groups:[]}),P=k(!1),K=k(!1),lt=k(""),at=k([]),ut=Z(()=>{const e=lt.value.trim().toLowerCase();if(!e)return v.groups;const t=[];for(const i of v.groups){const c=(i.group_name||"").toLowerCase().includes(e),p=i.tags.filter(g=>c||(g.tag_name||"").toLowerCase().includes(e));p.length&&t.push({...i,tags:p})}return t});async function st(e=!1){P.value=!0;try{const t=await Ge();t&&typeof t=="object"&&(v.total_tags=Number(t.total_tags??0),v.total_relations=Number(t.total_relations??0),v.total_tagged_customers=Number(t.total_tagged_customers??0),v.groups=Array.isArray(t.groups)?t.groups:[]),e&&N.msgSuccess("已刷新")}catch(t){e&&N.msgError((t==null?void 0:t.message)||"加载标签统计失败"),console.error("加载标签统计失败",t)}finally{P.value=!1}}function Et(){var e;K.value=!0,at.value=(e=v.groups[0])!=null&&e.group_name?[v.groups[0].group_name]:[],v.groups.length===0&&st()}function Tt(e){e&&(_.tag_ids.includes(e)||(_.tag_ids.push(e),z()))}function At(e){e&&(_.tag_ids=[e],K.value=!1,z())}const h=I({total:0,recent_time:0,hourly:new Array(24).fill(0),by_state:[]}),M=k(!1),O=k(!1),f=I({total:0,page_no:1,page_size:20,lists:[]}),Nt=new Date().getHours(),qt=Z(()=>Math.max(1,...h.hourly));function zt(e){if(e<=0)return"2px";const t=e/qt.value;return Math.max(4,Math.round(t*32))+"px"}const Dt=Z(()=>{const e=[];return h.hourly.forEach((t,i)=>{t>0&&e.push(`${String(i).padStart(2,"0")}:00 · ${t}`)}),e.length?e.join(" "):"今天还没有人进入"});async function R(e=!1){try{const t=await Ke();t&&(h.total=Number(t.total??0),h.recent_time=Number(t.recent_time??0),h.hourly=Array.isArray(t.hourly)&&t.hourly.length===24?t.hourly.map(i=>Number(i)||0):new Array(24).fill(0),h.by_state=Array.isArray(t.by_state)?t.by_state:[])}catch(t){console.error("加载今日进入分布失败",t)}e&&M.value&&(f.page_no=1,f.lists=[],await nt())}async function nt(){O.value=!0;try{const e=await Oe({page_no:f.page_no,page_size:f.page_size});if(e){f.total=Number(e.total??0);const t=Array.isArray(e.lists)?e.lists:[];f.page_no===1?f.lists=t:f.lists.push(...t)}}catch(e){console.error("加载今日进入明细失败",e)}finally{O.value=!1}}async function dt(){M.value=!0,f.page_no=1,f.lists=[],await Promise.all([R(!1),nt()])}async function $t(){f.lists.length>=f.total||(f.page_no+=1,await nt())}function Lt(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 It(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 B=null,Y=null;function ot(){Y!==null&&(clearInterval(Y),Y=null)}async function Ut(e){return Be(e)}const{pager:H,getLists:W,resetPage:z,resetParams:jt}=Pe({fetchFun:Ut,params:_});function Pt(){_.name="",_.follow_user="",_.tag_ids=[],_.add_time_start="",_.add_time_end="",et.value=null,jt()}function Mt(){ot();let e=0;Y=window.setInterval(async()=>{e+=1,await J(),await W(),(C.syncStatus!=="syncing"||e>=120)&&(ot(),U.value=!1,e>=120&&C.syncStatus==="syncing"?N.msgWarning("长时间仍为「同步中」,请刷新页面或查看服务器 runtime/log/qywx_sync.log(可能未安装 CLI php 或禁用了 exec)"):C.syncStatus==="failed"&&N.msgError("同步失败,请查看服务器 runtime/log/qywx_sync.log 或后台同步状态"))},3e3)}async function ct(e){const t=(e==null?void 0:e.silent)===!0;U.value=!0;try{const i=await He();t||N.msgSuccess((i==null?void 0:i.message)||"操作成功"),await J(),await W(),i!=null&&i.background?Mt():U.value=!1}catch(i){const c=(i==null?void 0:i.message)||(i==null?void 0:i.msg)||"同步失败";(!t||!String(c).includes("正在执行"))&&N.msgError(c),U.value=!1}}async function J(){try{const e=await Fe();e&&typeof e=="object"&&Object.assign(C,e)}catch(e){console.error("加载统计失败",e)}}async function Bt(){try{const e=await Re();e&&typeof e=="object"&&Object.assign(w,e),w.auto_sync&&mt()}catch(e){console.error("加载同步设置失败",e)}}async function Ht(){try{await Ye(w),N.msgSuccess("保存成功"),j.value=!1,_t(),w.auto_sync&&mt()}catch(e){N.msgError((e==null?void 0:e.message)||"保存失败")}}function mt(){B||(B=window.setInterval(()=>{ct({silent:!0})},w.interval*1e3))}function _t(){B&&(clearInterval(B),B=null)}function Ft(e){y.value=e,tt.value=!0}function ft(e){const t=String((e==null?void 0:e.admin_name)??"").trim(),i=String((e==null?void 0:e.userid)??"").trim(),c=String((e==null?void 0:e.name)??"").trim();return t||(c&&i?`${c}(${i})`:c||i||"—")}function Q(e){const t=String((e==null?void 0:e.admin_name)??"").trim(),i=String((e==null?void 0:e.userid)??"").trim(),c=[];return t&&c.push("后台:"+t),i&&c.push("企微:"+i),c.join("|")}function gt(e){if(!e)return null;const t=Number(e.external_first_add_time??0);if(t>0)return t;const i=e.follow_users;if(Array.isArray(i)&&i.length>0){let c=0;for(const p of i){const g=Number((p==null?void 0:p.createtime)??0);g>0&&(c===0||g0)return c}return e.create_time??null}function X(e){if(e===""||e===null||e===void 0)return"—";const t=Number(e),i=typeof e=="string"&&/^\d+$/.test(e.trim());let c;return typeof e=="number"?c=e<1e12?e*1e3:e:!Number.isNaN(t)&&i?c=t<1e12?t*1e3:t:c=new Date(e).getTime(),Number.isNaN(c)?"—":new Date(c).toLocaleString("zh-CN")}let F=null;function Gt(){F===null&&(F=window.setInterval(()=>{J(),R(M.value)},3e4))}function Kt(){F!==null&&(clearInterval(F),F=null)}return ae(()=>{W(),J(),Bt(),R(!1),st(),Gt()}),se(()=>{_t(),ot(),Kt()}),(e,t)=>{const i=de,c=ne,p=oe,g=ue,it=pe,D=ge,Ot=ye,$=be,Rt=xe,pt=ve,yt=fe,vt=ke,S=Se,xt=Ce,bt=he,Yt=je,Wt=Te,wt=Ae,Jt=qe,Qt=Ne,ht=ze,St=De,Xt=Le,Zt=$e,V=Ue,te=Ie,ee=Ve;return u(),m("div",We,[a(p,{shadow:"never",class:"mb-4"},{header:l(()=>[n("div",Je,[t[22]||(t[22]=n("span",{class:"text-lg font-semibold"},"企业微信客户管理",-1)),n("div",Qe,[a(i,{type:"success",plain:"",onClick:dt},{icon:l(()=>[a(x(ce))]),default:l(()=>[t[18]||(t[18]=d(" 今日进入明细 ",-1))]),_:1}),a(i,{type:"warning",plain:"",onClick:Et},{icon:l(()=>[a(x(me))]),default:l(()=>[t[19]||(t[19]=d(" 标签维度 ",-1))]),_:1}),a(i,{type:"primary",loading:U.value,onClick:t[0]||(t[0]=s=>ct())},{icon:l(()=>[a(x(rt))]),default:l(()=>[t[20]||(t[20]=d(" 立即同步 ",-1))]),_:1},8,["loading"]),a(i,{onClick:t[1]||(t[1]=s=>j.value=!0)},{icon:l(()=>[a(x(_e))]),default:l(()=>[t[21]||(t[21]=d(" 同步设置 ",-1))]),_:1})])])]),default:l(()=>[a(c,{title:"功能说明",type:"info",closable:!1,class:"mb-4"},{default:l(()=>[...t[23]||(t[23]=[n("div",{class:"text-sm"},[n("p",null,"自动从企业微信同步外部联系人(客户)信息,包括客户基本信息、跟进人等。"),n("p",{class:"mt-1"},"同步后的数据可用于患者信息匹配和自动关联。")],-1)])]),_:1}),n("div",Xe,[a(p,{shadow:"hover"},{default:l(()=>[t[24]||(t[24]=n("div",{class:"text-gray-500 text-sm mb-1"},"总客户数",-1)),n("div",Ze,r(C.total),1)]),_:1}),a(p,{shadow:"hover",class:"today-arrival-card cursor-pointer",onClick:dt},{default:l(()=>[n("div",tl,[t[25]||(t[25]=n("span",{class:"text-gray-500 text-sm"},"今日新增",-1)),h.recent_time?(u(),m("span",el," 最近 "+r(Lt(h.recent_time)),1)):A("",!0)]),n("div",ll,[n("div",al,r(C.today),1),t[26]||(t[26]=n("div",{class:"text-xs text-gray-400 pb-1"},"人",-1))]),n("div",{class:"hourly-bars mt-2",title:Dt.value},[(u(!0),m(E,null,T(h.hourly,(s,o)=>(u(),m("div",{key:o,class:re(["hourly-bar",{"is-empty":s===0,"is-current":o===x(Nt)}]),style:ie({height:zt(s)})},null,6))),128))],8,sl),n("div",nl,[t[27]||(t[27]=n("div",{class:"text-gray-500 text-xs mb-0.5"},"今日跟进人合计",-1)),n("div",ol,r(C.today_follow_staff),1)])]),_:1}),a(p,{shadow:"hover"},{default:l(()=>[t[28]||(t[28]=n("div",{class:"text-gray-500 text-sm mb-1"},"最后同步",-1)),n("div",il,r(C.lastSync||"未同步"),1)]),_:1}),a(p,{shadow:"hover"},{default:l(()=>[t[29]||(t[29]=n("div",{class:"text-gray-500 text-sm mb-1"},"同步状态",-1)),a(g,{type:Ct.value,size:"small"},{default:l(()=>[d(r(C.syncStatusText),1)]),_:1},8,["type"])]),_:1})])]),_:1}),a(p,{shadow:"never"},{default:l(()=>[a(yt,{model:_,inline:"",class:"mb-4"},{default:l(()=>[a(D,{label:"客户名称"},{default:l(()=>[a(it,{modelValue:_.name,"onUpdate:modelValue":t[2]||(t[2]=s=>_.name=s),placeholder:"搜索客户名称",clearable:"",onKeyup:kt(x(z),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(D,{label:"跟进人"},{default:l(()=>[a(it,{modelValue:_.follow_user,"onUpdate:modelValue":t[3]||(t[3]=s=>_.follow_user=s),placeholder:"跟进人姓名",clearable:"",onKeyup:kt(x(z),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(D,{label:"添加时间"},{default:l(()=>[a(Ot,{modelValue:et.value,"onUpdate:modelValue":t[4]||(t[4]=s=>et.value=s),type:"daterange","value-format":"YYYY-MM-DD","start-placeholder":"开始日期","end-placeholder":"结束日期",clearable:"",class:"!w-[280px]",onChange:Vt},null,8,["modelValue"])]),_:1}),a(D,{label:"标签"},{default:l(()=>[a(pt,{modelValue:_.tag_ids,"onUpdate:modelValue":t[5]||(t[5]=s=>_.tag_ids=s),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",clearable:"",filterable:"",placeholder:"按标签筛选(可多选,命中任一即返回)",loading:P.value,style:{"min-width":"320px"},onChange:x(z)},{default:l(()=>[(u(!0),m(E,null,T(v.groups,s=>(u(),b(Rt,{key:s.group_name||"_",label:(s.group_name||"(未分组)")+" · "+s.customer_count},{default:l(()=>[(u(!0),m(E,null,T(s.tags,o=>(u(),b($,{key:o.tag_id,value:o.tag_id,label:o.tag_name},{default:l(()=>[n("span",rl,[n("span",null,r(o.tag_name),1),n("span",ul,r(o.customer_count)+" 人",1)])]),_:2},1032,["value","label"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue","loading","onChange"])]),_:1}),a(D,null,{default:l(()=>[a(i,{type:"primary",onClick:x(z)},{default:l(()=>[...t[30]||(t[30]=[d("查询",-1)])]),_:1},8,["onClick"]),a(i,{onClick:Pt},{default:l(()=>[...t[31]||(t[31]=[d("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"]),we((u(),b(bt,{data:x(H).lists,stripe:""},{default:l(()=>[a(S,{label:"客户信息","min-width":"200"},{default:l(({row:s})=>[n("div",dl,[a(vt,{size:40,src:s.avatar},null,8,["src"]),n("div",null,[n("div",cl,r(s.name),1),n("div",ml,r(s.external_userid),1)])])]),_:1}),a(S,{label:"类型",width:"80"},{default:l(({row:s})=>[a(g,{size:"small"},{default:l(()=>[d(r(s.type===1?"微信":"企微"),1)]),_:2},1024)]),_:1}),a(S,{label:"性别",width:"60"},{default:l(({row:s})=>[d(r(s.gender===1?"男":s.gender===2?"女":"未知"),1)]),_:1}),a(S,{label:"跟进人","min-width":"150"},{default:l(({row:s})=>[s.follow_users&&s.follow_users.length?(u(),m("div",_l,[(u(!0),m(E,null,T(s.follow_users,(o,G)=>(u(),b(xt,{key:(o.userid||"")+"-"+G,disabled:!Q(o),content:Q(o),placement:"top"},{default:l(()=>[a(g,{size:"small",class:"mr-1 mb-1"},{default:l(()=>[d(r(ft(o)),1)]),_:2},1024)]),_:2},1032,["disabled","content"]))),128))])):(u(),m("span",fl,"—"))]),_:1}),a(S,{label:"标签","min-width":"180"},{default:l(({row:s})=>[s.tags&&s.tags.length?(u(),m("div",gl,[(u(!0),m(E,null,T(s.tags,o=>(u(),b(g,{key:o.tag_id,size:"small",effect:"light",type:"warning",class:"mr-1 mb-1 cursor-pointer",onClick:G=>Tt(o.tag_id)},{default:l(()=>[d(r(o.tag_name)+" ",1),o.group_name?(u(),m("span",pl,r(o.group_name),1)):A("",!0)]),_:2},1032,["onClick"]))),128))])):(u(),m("span",yl,"—"))]),_:1}),a(S,{label:"添加时间",width:"160"},{default:l(({row:s})=>[d(r(X(gt(s))),1)]),_:1}),a(S,{label:"更新时间",width:"160"},{default:l(({row:s})=>[d(r(X(s.update_time)),1)]),_:1}),a(S,{label:"操作",width:"120",fixed:"right"},{default:l(({row:s})=>[a(i,{type:"primary",link:"",onClick:o=>Ft(s)},{default:l(()=>[...t[32]||(t[32]=[d("查看详情",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[ee,x(H).loading]]),n("div",vl,[a(Yt,{modelValue:x(H),"onUpdate:modelValue":t[6]||(t[6]=s=>Ee(H)?H.value=s:null),onChange:x(W)},null,8,["modelValue","onChange"])])]),_:1}),a(wt,{modelValue:j.value,"onUpdate:modelValue":t[10]||(t[10]=s=>j.value=s),title:"同步设置",width:"500px"},{footer:l(()=>[a(i,{onClick:t[9]||(t[9]=s=>j.value=!1)},{default:l(()=>[...t[34]||(t[34]=[d("取消",-1)])]),_:1}),a(i,{type:"primary",onClick:Ht},{default:l(()=>[...t[35]||(t[35]=[d("保存",-1)])]),_:1})]),default:l(()=>[a(yt,{model:w,"label-width":"120px"},{default:l(()=>[a(D,{label:"自动同步"},{default:l(()=>[a(Wt,{modelValue:w.auto_sync,"onUpdate:modelValue":t[7]||(t[7]=s=>w.auto_sync=s)},null,8,["modelValue"]),t[33]||(t[33]=n("div",{class:"text-xs text-gray-400 mt-1"}," 开启后将定时自动同步企业微信客户数据 ",-1))]),_:1}),a(D,{label:"同步间隔"},{default:l(()=>[a(pt,{modelValue:w.interval,"onUpdate:modelValue":t[8]||(t[8]=s=>w.interval=s),disabled:!w.auto_sync},{default:l(()=>[a($,{label:"每小时",value:3600}),a($,{label:"每2小时",value:7200}),a($,{label:"每4小时",value:14400}),a($,{label:"每6小时",value:21600}),a($,{label:"每12小时",value:43200}),a($,{label:"每天",value:86400})]),_:1},8,["modelValue","disabled"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),a(St,{modelValue:M.value,"onUpdate:modelValue":t[12]||(t[12]=s=>M.value=s),title:"今日进入明细",direction:"rtl",size:"520px","destroy-on-close":!1},{header:l(()=>[n("div",xl,[n("div",bl,[t[36]||(t[36]=n("span",{class:"text-base font-semibold"},"今日进入明细",-1)),a(g,{type:"success",effect:"plain"},{default:l(()=>[d("共 "+r(f.total)+" 人",1)]),_:1})]),a(i,{link:"",type:"primary",loading:O.value,onClick:t[11]||(t[11]=s=>R(!0))},{icon:l(()=>[a(x(rt))]),default:l(()=>[t[37]||(t[37]=d(" 刷新 ",-1))]),_:1},8,["loading"])])]),default:l(()=>{var s;return[n("div",wl,[a(c,{type:"info",closable:!1,class:"mb-3","show-icon":""},{title:l(()=>[...t[38]||(t[38]=[n("span",{class:"text-xs"}," 一次推送 = 一个人进来;数据来源为企微回调流水表(INSERT IGNORE 幂等),与客户同步解耦,数字零误差。 ",-1)])]),_:1}),(s=h.by_state)!=null&&s.length?(u(),m("div",hl,[t[39]||(t[39]=n("div",{class:"text-xs text-gray-500 mb-1"},"今日推广渠道 Top",-1)),n("div",Sl,[(u(!0),m(E,null,T(h.by_state,o=>(u(),b(g,{key:o.state||"_",size:"small",effect:"light",type:"success"},{default:l(()=>[d(r(o.state||"(无 state)")+" · "+r(o.count),1)]),_:2},1024))),128))])])):A("",!0),f.lists.length?(u(),b(Qt,{key:1,class:"mt-2"},{default:l(()=>[(u(!0),m(E,null,T(f.lists,o=>(u(),b(Jt,{key:o.id,timestamp:It(o.event_time),placement:"top",type:"success",hollow:!1},{default:l(()=>[n("div",kl,[a(vt,{size:32,src:o.customer_avatar||void 0},{default:l(()=>[d(r((o.customer_name||"?").slice(0,1)),1)]),_:2},1032,["src"]),n("div",Cl,[n("div",Vl,r(o.customer_name||o.external_userid||"(未知客户)"),1),n("div",El,[n("span",null,"接待:"+r(o.admin_name||o.user_id||"—"),1),o.state?(u(),m("span",Tl,[t[40]||(t[40]=d(" 渠道:",-1)),a(g,{size:"small",type:"info",effect:"plain"},{default:l(()=>[d(r(o.state),1)]),_:2},1024)])):A("",!0),o.welcome_code?(u(),m("span",Al,"欢迎语")):A("",!0)])])])]),_:2},1032,["timestamp"]))),128))]),_:1})):(u(),b(ht,{key:2,description:"今天还没有人进入","image-size":80})),f.total>f.lists.length?(u(),m("div",Nl,[a(i,{loading:O.value,size:"small",onClick:$t},{default:l(()=>[d(" 加载更多(还剩 "+r(f.total-f.lists.length)+") ",1)]),_:1},8,["loading"])])):A("",!0)])]}),_:1},8,["modelValue"]),a(St,{modelValue:K.value,"onUpdate:modelValue":t[16]||(t[16]=s=>K.value=s),title:"标签维度统计",direction:"rtl",size:"560px","destroy-on-close":!1},{header:l(()=>[n("div",ql,[n("div",zl,[t[41]||(t[41]=n("span",{class:"text-base font-semibold"},"标签维度统计",-1)),a(g,{type:"warning",effect:"plain"},{default:l(()=>[d(r(v.groups.length)+" 组 · "+r(v.total_tags)+" 标签 ",1)]),_:1})]),a(i,{link:"",type:"primary",loading:P.value,onClick:t[13]||(t[13]=s=>st(!0))},{icon:l(()=>[a(x(rt))]),default:l(()=>[t[42]||(t[42]=d(" 刷新 ",-1))]),_:1},8,["loading"])])]),default:l(()=>[n("div",Dl,[n("div",$l,[a(p,{shadow:"never","body-class":"!p-3"},{default:l(()=>[t[43]||(t[43]=n("div",{class:"text-xs text-gray-500"},"已打标签客户",-1)),n("div",Ll,r(v.total_tagged_customers),1)]),_:1}),a(p,{shadow:"never","body-class":"!p-3"},{default:l(()=>[t[44]||(t[44]=n("div",{class:"text-xs text-gray-500"},"标签数",-1)),n("div",Il,r(v.total_tags),1)]),_:1}),a(p,{shadow:"never","body-class":"!p-3"},{default:l(()=>[t[45]||(t[45]=n("div",{class:"text-xs text-gray-500"},"关系总数",-1)),n("div",Ul,r(v.total_relations),1)]),_:1})]),a(it,{modelValue:lt.value,"onUpdate:modelValue":t[14]||(t[14]=s=>lt.value=s),placeholder:"筛选标签名 / 分组名",clearable:"",size:"small",class:"mb-3"},null,8,["modelValue"]),ut.value.length===0?(u(),b(ht,{key:0,description:P.value?"加载中…":"暂无标签数据","image-size":64},null,8,["description"])):(u(),b(Zt,{key:1,modelValue:at.value,"onUpdate:modelValue":t[15]||(t[15]=s=>at.value=s)},{default:l(()=>[(u(!0),m(E,null,T(ut.value,s=>(u(),b(Xt,{key:s.group_name||"_",name:s.group_name||"_"},{title:l(()=>[n("div",jl,[n("span",Pl,r(s.group_name||"(未分组)"),1),a(g,{size:"small",effect:"plain"},{default:l(()=>[d(r(s.tags.length),1)]),_:2},1024),n("span",Ml," 最热 "+r(s.customer_count)+" 人 ",1)])]),default:l(()=>[a(bt,{data:s.tags,size:"small",stripe:""},{default:l(()=>[a(S,{label:"标签","min-width":"160"},{default:l(({row:o})=>[n("span",Bl,r(o.tag_name),1),n("div",Hl,r(o.tag_id),1)]),_:1}),a(S,{label:"客户数",width:"100",align:"right"},{default:l(({row:o})=>[n("span",Fl,r(o.customer_count),1)]),_:1}),a(S,{label:"操作",width:"80",align:"center"},{default:l(({row:o})=>[a(i,{link:"",type:"primary",size:"small",onClick:G=>At(o.tag_id)},{default:l(()=>[...t[46]||(t[46]=[d(" 筛选 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])]),_:2},1032,["name"]))),128))]),_:1},8,["modelValue"]))])]),_:1},8,["modelValue"]),a(wt,{modelValue:tt.value,"onUpdate:modelValue":t[17]||(t[17]=s=>tt.value=s),title:"客户详情",width:"600px"},{default:l(()=>[y.value?(u(),b(te,{key:0,column:2,border:""},{default:l(()=>[a(V,{label:"客户名称"},{default:l(()=>[d(r(y.value.name),1)]),_:1}),a(V,{label:"External ID"},{default:l(()=>[d(r(y.value.external_userid),1)]),_:1}),a(V,{label:"性别"},{default:l(()=>[d(r(y.value.gender===1?"男":y.value.gender===2?"女":"未知"),1)]),_:1}),a(V,{label:"类型"},{default:l(()=>[d(r(y.value.type===1?"微信用户":"企业微信用户"),1)]),_:1}),a(V,{label:"企业名称",span:2},{default:l(()=>[d(r(y.value.corp_name||"—"),1)]),_:1}),a(V,{label:"职位",span:2},{default:l(()=>[d(r(y.value.position||"—"),1)]),_:1}),a(V,{label:"添加时间",span:2},{default:l(()=>[d(r(X(gt(y.value))),1)]),_:1}),a(V,{label:"更新时间",span:2},{default:l(()=>[d(r(X(y.value.update_time)),1)]),_:1}),a(V,{label:"跟进人",span:2},{default:l(()=>{var s;return[(s=y.value.follow_users)!=null&&s.length?(u(),m("div",Gl,[(u(!0),m(E,null,T(y.value.follow_users,(o,G)=>(u(),b(xt,{key:(o.userid||"")+"-"+G,disabled:!Q(o),content:Q(o),placement:"top"},{default:l(()=>[a(g,{size:"small",class:"mr-1 mb-1"},{default:l(()=>[d(r(ft(o)),1)]),_:2},1024)]),_:2},1032,["disabled","content"]))),128))])):(u(),m("span",Kl,"—"))]}),_:1}),a(V,{label:"标签",span:2},{default:l(()=>{var s;return[(s=y.value.tags)!=null&&s.length?(u(),m("div",Ol,[(u(!0),m(E,null,T(y.value.tags,o=>(u(),b(g,{key:o.tag_id,size:"small",effect:"light",type:"warning",class:"mr-1 mb-1"},{default:l(()=>[d(r(o.tag_name)+" ",1),o.group_name?(u(),m("span",Rl,r(o.group_name),1)):A("",!0)]),_:2},1024))),128))])):(u(),m("span",Yl,"—"))]}),_:1})]),_:1})):A("",!0)]),_:1},8,["modelValue"])])}}}),ta=Me(Wl,[["__scopeId","data-v-07da3e76"]]);export{ta as default}; +import{o as le,ba as I,ap as ae,aq as se,q as u,r as m,v as a,D as l,bh as ne,s as n,bg as oe,T as r,P as A,F as E,G as T,t as ie,ae as re,u as x,br as ue,L as d,K as de,cF as ce,cG as me,by as rt,co as _e,b9 as fe,b6 as ge,b7 as pe,b8 as kt,bp as ye,bm as ve,O as b,cB as xe,bn as be,ac as we,bj as he,bk as Se,a0 as ke,a1 as Ce,bi as Ve,C as Ee,I as Te,bt as Ae,c3 as Ne,c4 as qe,bB as ze,B as De,cH as $e,cI as Le,c0 as Ie,c1 as Ue,M as k,p as Z}from"./.pnpm-9dA1PEvN.js";import{_ as je}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{u as Pe}from"./usePaging-Boz1Q6w3.js";import{r as q,i as N,_ as Me}from"./index-BWzN7QIb.js";function Be(L){return q.get({url:"/qywx.customer/lists",params:L})}function He(){return q.post({url:"/qywx.customer/sync"})}function Fe(){return q.get({url:"/qywx.customer/stats"})}function Ge(){return q.get({url:"/qywx.customer/tagStats"})}function Ke(){return q.get({url:"/qywx.customer/todayArrival"})}function Oe(L){return q.get({url:"/qywx.customer/todayArrivalList",params:L})}function Re(){return q.get({url:"/qywx.customer/getSyncSettings"})}function Ye(L){return q.post({url:"/qywx.customer/saveSyncSettings",params:L})}const We={class:"qywx-customer-page p-4"},Je={class:"flex items-center justify-between"},Qe={class:"flex gap-2"},Xe={class:"grid grid-cols-4 gap-4 mb-4"},Ze={class:"text-2xl font-bold text-primary"},tl={class:"flex items-center justify-between mb-1"},el={key:0,class:"text-xs text-gray-400"},ll={class:"flex items-end gap-2"},al={class:"text-2xl font-bold text-success leading-none"},sl=["title"],nl={class:"mt-2 pt-2 border-t border-gray-100"},ol={class:"text-lg font-semibold text-gray-800"},il={class:"text-sm font-medium"},rl={class:"flex items-center justify-between gap-3"},ul={class:"text-xs text-gray-400"},dl={class:"flex items-center gap-2"},cl={class:"font-medium"},ml={class:"text-xs text-gray-400"},_l={key:0},fl={key:1,class:"text-gray-400"},gl={key:0},pl={key:0,class:"ml-1 text-gray-400 text-xs"},yl={key:1,class:"text-gray-400"},vl={class:"flex justify-end mt-4"},xl={class:"flex items-center justify-between w-full pr-4"},bl={class:"flex items-center gap-3"},wl={class:"px-1"},hl={key:0,class:"mb-3"},Sl={class:"flex flex-wrap gap-1"},kl={class:"flex items-start gap-2"},Cl={class:"flex-1 min-w-0"},Vl={class:"text-sm font-medium truncate"},El={class:"text-xs text-gray-500 mt-0.5"},Tl={key:0,class:"ml-2"},Al={key:1,class:"ml-2 text-emerald-500"},Nl={key:3,class:"mt-3 text-center"},ql={class:"flex items-center justify-between w-full pr-4"},zl={class:"flex items-center gap-3"},Dl={class:"px-1"},$l={class:"grid grid-cols-3 gap-2 mb-3"},Ll={class:"text-xl font-bold text-warning"},Il={class:"text-xl font-bold"},Ul={class:"text-xl font-bold"},jl={class:"flex items-center gap-2 w-full"},Pl={class:"font-medium"},Ml={class:"ml-auto text-xs text-gray-500"},Bl={class:"font-medium"},Hl={class:"text-xs text-gray-400 truncate"},Fl={class:"text-warning font-bold"},Gl={key:0},Kl={key:1,class:"text-gray-400"},Ol={key:0},Rl={key:0,class:"ml-1 text-gray-400 text-xs"},Yl={key:1,class:"text-gray-400"},Wl=le({__name:"qywx",setup(L){const U=k(!1),j=k(!1),tt=k(!1),y=k(null),C=I({total:0,today:0,today_follow_staff:0,lastSync:"",syncStatus:"idle",syncStatusText:"未同步"}),Ct=Z(()=>{switch(C.syncStatus){case"success":return"success";case"syncing":return"warning";case"failed":return"danger";default:return"info"}}),w=I({auto_sync:!1,interval:3600}),_=I({name:"",follow_user:"",tag_ids:[],add_time_start:"",add_time_end:""}),et=k(null);function Vt(e){e&&e.length===2&&e[0]&&e[1]?(_.add_time_start=e[0],_.add_time_end=e[1]):(_.add_time_start="",_.add_time_end=""),z()}const v=I({total_tags:0,total_relations:0,total_tagged_customers:0,groups:[]}),P=k(!1),K=k(!1),lt=k(""),at=k([]),ut=Z(()=>{const e=lt.value.trim().toLowerCase();if(!e)return v.groups;const t=[];for(const i of v.groups){const c=(i.group_name||"").toLowerCase().includes(e),p=i.tags.filter(g=>c||(g.tag_name||"").toLowerCase().includes(e));p.length&&t.push({...i,tags:p})}return t});async function st(e=!1){P.value=!0;try{const t=await Ge();t&&typeof t=="object"&&(v.total_tags=Number(t.total_tags??0),v.total_relations=Number(t.total_relations??0),v.total_tagged_customers=Number(t.total_tagged_customers??0),v.groups=Array.isArray(t.groups)?t.groups:[]),e&&N.msgSuccess("已刷新")}catch(t){e&&N.msgError((t==null?void 0:t.message)||"加载标签统计失败"),console.error("加载标签统计失败",t)}finally{P.value=!1}}function Et(){var e;K.value=!0,at.value=(e=v.groups[0])!=null&&e.group_name?[v.groups[0].group_name]:[],v.groups.length===0&&st()}function Tt(e){e&&(_.tag_ids.includes(e)||(_.tag_ids.push(e),z()))}function At(e){e&&(_.tag_ids=[e],K.value=!1,z())}const h=I({total:0,recent_time:0,hourly:new Array(24).fill(0),by_state:[]}),M=k(!1),O=k(!1),f=I({total:0,page_no:1,page_size:20,lists:[]}),Nt=new Date().getHours(),qt=Z(()=>Math.max(1,...h.hourly));function zt(e){if(e<=0)return"2px";const t=e/qt.value;return Math.max(4,Math.round(t*32))+"px"}const Dt=Z(()=>{const e=[];return h.hourly.forEach((t,i)=>{t>0&&e.push(`${String(i).padStart(2,"0")}:00 · ${t}`)}),e.length?e.join(" "):"今天还没有人进入"});async function R(e=!1){try{const t=await Ke();t&&(h.total=Number(t.total??0),h.recent_time=Number(t.recent_time??0),h.hourly=Array.isArray(t.hourly)&&t.hourly.length===24?t.hourly.map(i=>Number(i)||0):new Array(24).fill(0),h.by_state=Array.isArray(t.by_state)?t.by_state:[])}catch(t){console.error("加载今日进入分布失败",t)}e&&M.value&&(f.page_no=1,f.lists=[],await nt())}async function nt(){O.value=!0;try{const e=await Oe({page_no:f.page_no,page_size:f.page_size});if(e){f.total=Number(e.total??0);const t=Array.isArray(e.lists)?e.lists:[];f.page_no===1?f.lists=t:f.lists.push(...t)}}catch(e){console.error("加载今日进入明细失败",e)}finally{O.value=!1}}async function dt(){M.value=!0,f.page_no=1,f.lists=[],await Promise.all([R(!1),nt()])}async function $t(){f.lists.length>=f.total||(f.page_no+=1,await nt())}function Lt(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 It(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 B=null,Y=null;function ot(){Y!==null&&(clearInterval(Y),Y=null)}async function Ut(e){return Be(e)}const{pager:H,getLists:W,resetPage:z,resetParams:jt}=Pe({fetchFun:Ut,params:_});function Pt(){_.name="",_.follow_user="",_.tag_ids=[],_.add_time_start="",_.add_time_end="",et.value=null,jt()}function Mt(){ot();let e=0;Y=window.setInterval(async()=>{e+=1,await J(),await W(),(C.syncStatus!=="syncing"||e>=120)&&(ot(),U.value=!1,e>=120&&C.syncStatus==="syncing"?N.msgWarning("长时间仍为「同步中」,请刷新页面或查看服务器 runtime/log/qywx_sync.log(可能未安装 CLI php 或禁用了 exec)"):C.syncStatus==="failed"&&N.msgError("同步失败,请查看服务器 runtime/log/qywx_sync.log 或后台同步状态"))},3e3)}async function ct(e){const t=(e==null?void 0:e.silent)===!0;U.value=!0;try{const i=await He();t||N.msgSuccess((i==null?void 0:i.message)||"操作成功"),await J(),await W(),i!=null&&i.background?Mt():U.value=!1}catch(i){const c=(i==null?void 0:i.message)||(i==null?void 0:i.msg)||"同步失败";(!t||!String(c).includes("正在执行"))&&N.msgError(c),U.value=!1}}async function J(){try{const e=await Fe();e&&typeof e=="object"&&Object.assign(C,e)}catch(e){console.error("加载统计失败",e)}}async function Bt(){try{const e=await Re();e&&typeof e=="object"&&Object.assign(w,e),w.auto_sync&&mt()}catch(e){console.error("加载同步设置失败",e)}}async function Ht(){try{await Ye(w),N.msgSuccess("保存成功"),j.value=!1,_t(),w.auto_sync&&mt()}catch(e){N.msgError((e==null?void 0:e.message)||"保存失败")}}function mt(){B||(B=window.setInterval(()=>{ct({silent:!0})},w.interval*1e3))}function _t(){B&&(clearInterval(B),B=null)}function Ft(e){y.value=e,tt.value=!0}function ft(e){const t=String((e==null?void 0:e.admin_name)??"").trim(),i=String((e==null?void 0:e.userid)??"").trim(),c=String((e==null?void 0:e.name)??"").trim();return t||(c&&i?`${c}(${i})`:c||i||"—")}function Q(e){const t=String((e==null?void 0:e.admin_name)??"").trim(),i=String((e==null?void 0:e.userid)??"").trim(),c=[];return t&&c.push("后台:"+t),i&&c.push("企微:"+i),c.join("|")}function gt(e){if(!e)return null;const t=Number(e.external_first_add_time??0);if(t>0)return t;const i=e.follow_users;if(Array.isArray(i)&&i.length>0){let c=0;for(const p of i){const g=Number((p==null?void 0:p.createtime)??0);g>0&&(c===0||g0)return c}return e.create_time??null}function X(e){if(e===""||e===null||e===void 0)return"—";const t=Number(e),i=typeof e=="string"&&/^\d+$/.test(e.trim());let c;return typeof e=="number"?c=e<1e12?e*1e3:e:!Number.isNaN(t)&&i?c=t<1e12?t*1e3:t:c=new Date(e).getTime(),Number.isNaN(c)?"—":new Date(c).toLocaleString("zh-CN")}let F=null;function Gt(){F===null&&(F=window.setInterval(()=>{J(),R(M.value)},3e4))}function Kt(){F!==null&&(clearInterval(F),F=null)}return ae(()=>{W(),J(),Bt(),R(!1),st(),Gt()}),se(()=>{_t(),ot(),Kt()}),(e,t)=>{const i=de,c=ne,p=oe,g=ue,it=pe,D=ge,Ot=ye,$=be,Rt=xe,pt=ve,yt=fe,vt=ke,S=Se,xt=Ce,bt=he,Yt=je,Wt=Te,wt=Ae,Jt=qe,Qt=Ne,ht=ze,St=De,Xt=Le,Zt=$e,V=Ue,te=Ie,ee=Ve;return u(),m("div",We,[a(p,{shadow:"never",class:"mb-4"},{header:l(()=>[n("div",Je,[t[22]||(t[22]=n("span",{class:"text-lg font-semibold"},"企业微信客户管理",-1)),n("div",Qe,[a(i,{type:"success",plain:"",onClick:dt},{icon:l(()=>[a(x(ce))]),default:l(()=>[t[18]||(t[18]=d(" 今日进入明细 ",-1))]),_:1}),a(i,{type:"warning",plain:"",onClick:Et},{icon:l(()=>[a(x(me))]),default:l(()=>[t[19]||(t[19]=d(" 标签维度 ",-1))]),_:1}),a(i,{type:"primary",loading:U.value,onClick:t[0]||(t[0]=s=>ct())},{icon:l(()=>[a(x(rt))]),default:l(()=>[t[20]||(t[20]=d(" 立即同步 ",-1))]),_:1},8,["loading"]),a(i,{onClick:t[1]||(t[1]=s=>j.value=!0)},{icon:l(()=>[a(x(_e))]),default:l(()=>[t[21]||(t[21]=d(" 同步设置 ",-1))]),_:1})])])]),default:l(()=>[a(c,{title:"功能说明",type:"info",closable:!1,class:"mb-4"},{default:l(()=>[...t[23]||(t[23]=[n("div",{class:"text-sm"},[n("p",null,"自动从企业微信同步外部联系人(客户)信息,包括客户基本信息、跟进人等。"),n("p",{class:"mt-1"},"同步后的数据可用于患者信息匹配和自动关联。")],-1)])]),_:1}),n("div",Xe,[a(p,{shadow:"hover"},{default:l(()=>[t[24]||(t[24]=n("div",{class:"text-gray-500 text-sm mb-1"},"总客户数",-1)),n("div",Ze,r(C.total),1)]),_:1}),a(p,{shadow:"hover",class:"today-arrival-card cursor-pointer",onClick:dt},{default:l(()=>[n("div",tl,[t[25]||(t[25]=n("span",{class:"text-gray-500 text-sm"},"今日新增",-1)),h.recent_time?(u(),m("span",el," 最近 "+r(Lt(h.recent_time)),1)):A("",!0)]),n("div",ll,[n("div",al,r(C.today),1),t[26]||(t[26]=n("div",{class:"text-xs text-gray-400 pb-1"},"人",-1))]),n("div",{class:"hourly-bars mt-2",title:Dt.value},[(u(!0),m(E,null,T(h.hourly,(s,o)=>(u(),m("div",{key:o,class:re(["hourly-bar",{"is-empty":s===0,"is-current":o===x(Nt)}]),style:ie({height:zt(s)})},null,6))),128))],8,sl),n("div",nl,[t[27]||(t[27]=n("div",{class:"text-gray-500 text-xs mb-0.5"},"今日跟进人合计",-1)),n("div",ol,r(C.today_follow_staff),1)])]),_:1}),a(p,{shadow:"hover"},{default:l(()=>[t[28]||(t[28]=n("div",{class:"text-gray-500 text-sm mb-1"},"最后同步",-1)),n("div",il,r(C.lastSync||"未同步"),1)]),_:1}),a(p,{shadow:"hover"},{default:l(()=>[t[29]||(t[29]=n("div",{class:"text-gray-500 text-sm mb-1"},"同步状态",-1)),a(g,{type:Ct.value,size:"small"},{default:l(()=>[d(r(C.syncStatusText),1)]),_:1},8,["type"])]),_:1})])]),_:1}),a(p,{shadow:"never"},{default:l(()=>[a(yt,{model:_,inline:"",class:"mb-4"},{default:l(()=>[a(D,{label:"客户名称"},{default:l(()=>[a(it,{modelValue:_.name,"onUpdate:modelValue":t[2]||(t[2]=s=>_.name=s),placeholder:"搜索客户名称",clearable:"",onKeyup:kt(x(z),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(D,{label:"跟进人"},{default:l(()=>[a(it,{modelValue:_.follow_user,"onUpdate:modelValue":t[3]||(t[3]=s=>_.follow_user=s),placeholder:"跟进人姓名",clearable:"",onKeyup:kt(x(z),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(D,{label:"添加时间"},{default:l(()=>[a(Ot,{modelValue:et.value,"onUpdate:modelValue":t[4]||(t[4]=s=>et.value=s),type:"daterange","value-format":"YYYY-MM-DD","start-placeholder":"开始日期","end-placeholder":"结束日期",clearable:"",class:"!w-[280px]",onChange:Vt},null,8,["modelValue"])]),_:1}),a(D,{label:"标签"},{default:l(()=>[a(pt,{modelValue:_.tag_ids,"onUpdate:modelValue":t[5]||(t[5]=s=>_.tag_ids=s),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",clearable:"",filterable:"",placeholder:"按标签筛选(可多选,命中任一即返回)",loading:P.value,style:{"min-width":"320px"},onChange:x(z)},{default:l(()=>[(u(!0),m(E,null,T(v.groups,s=>(u(),b(Rt,{key:s.group_name||"_",label:(s.group_name||"(未分组)")+" · "+s.customer_count},{default:l(()=>[(u(!0),m(E,null,T(s.tags,o=>(u(),b($,{key:o.tag_id,value:o.tag_id,label:o.tag_name},{default:l(()=>[n("span",rl,[n("span",null,r(o.tag_name),1),n("span",ul,r(o.customer_count)+" 人",1)])]),_:2},1032,["value","label"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue","loading","onChange"])]),_:1}),a(D,null,{default:l(()=>[a(i,{type:"primary",onClick:x(z)},{default:l(()=>[...t[30]||(t[30]=[d("查询",-1)])]),_:1},8,["onClick"]),a(i,{onClick:Pt},{default:l(()=>[...t[31]||(t[31]=[d("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"]),we((u(),b(bt,{data:x(H).lists,stripe:""},{default:l(()=>[a(S,{label:"客户信息","min-width":"200"},{default:l(({row:s})=>[n("div",dl,[a(vt,{size:40,src:s.avatar},null,8,["src"]),n("div",null,[n("div",cl,r(s.name),1),n("div",ml,r(s.external_userid),1)])])]),_:1}),a(S,{label:"类型",width:"80"},{default:l(({row:s})=>[a(g,{size:"small"},{default:l(()=>[d(r(s.type===1?"微信":"企微"),1)]),_:2},1024)]),_:1}),a(S,{label:"性别",width:"60"},{default:l(({row:s})=>[d(r(s.gender===1?"男":s.gender===2?"女":"未知"),1)]),_:1}),a(S,{label:"跟进人","min-width":"150"},{default:l(({row:s})=>[s.follow_users&&s.follow_users.length?(u(),m("div",_l,[(u(!0),m(E,null,T(s.follow_users,(o,G)=>(u(),b(xt,{key:(o.userid||"")+"-"+G,disabled:!Q(o),content:Q(o),placement:"top"},{default:l(()=>[a(g,{size:"small",class:"mr-1 mb-1"},{default:l(()=>[d(r(ft(o)),1)]),_:2},1024)]),_:2},1032,["disabled","content"]))),128))])):(u(),m("span",fl,"—"))]),_:1}),a(S,{label:"标签","min-width":"180"},{default:l(({row:s})=>[s.tags&&s.tags.length?(u(),m("div",gl,[(u(!0),m(E,null,T(s.tags,o=>(u(),b(g,{key:o.tag_id,size:"small",effect:"light",type:"warning",class:"mr-1 mb-1 cursor-pointer",onClick:G=>Tt(o.tag_id)},{default:l(()=>[d(r(o.tag_name)+" ",1),o.group_name?(u(),m("span",pl,r(o.group_name),1)):A("",!0)]),_:2},1032,["onClick"]))),128))])):(u(),m("span",yl,"—"))]),_:1}),a(S,{label:"添加时间",width:"160"},{default:l(({row:s})=>[d(r(X(gt(s))),1)]),_:1}),a(S,{label:"更新时间",width:"160"},{default:l(({row:s})=>[d(r(X(s.update_time)),1)]),_:1}),a(S,{label:"操作",width:"120",fixed:"right"},{default:l(({row:s})=>[a(i,{type:"primary",link:"",onClick:o=>Ft(s)},{default:l(()=>[...t[32]||(t[32]=[d("查看详情",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[ee,x(H).loading]]),n("div",vl,[a(Yt,{modelValue:x(H),"onUpdate:modelValue":t[6]||(t[6]=s=>Ee(H)?H.value=s:null),onChange:x(W)},null,8,["modelValue","onChange"])])]),_:1}),a(wt,{modelValue:j.value,"onUpdate:modelValue":t[10]||(t[10]=s=>j.value=s),title:"同步设置",width:"500px"},{footer:l(()=>[a(i,{onClick:t[9]||(t[9]=s=>j.value=!1)},{default:l(()=>[...t[34]||(t[34]=[d("取消",-1)])]),_:1}),a(i,{type:"primary",onClick:Ht},{default:l(()=>[...t[35]||(t[35]=[d("保存",-1)])]),_:1})]),default:l(()=>[a(yt,{model:w,"label-width":"120px"},{default:l(()=>[a(D,{label:"自动同步"},{default:l(()=>[a(Wt,{modelValue:w.auto_sync,"onUpdate:modelValue":t[7]||(t[7]=s=>w.auto_sync=s)},null,8,["modelValue"]),t[33]||(t[33]=n("div",{class:"text-xs text-gray-400 mt-1"}," 开启后将定时自动同步企业微信客户数据 ",-1))]),_:1}),a(D,{label:"同步间隔"},{default:l(()=>[a(pt,{modelValue:w.interval,"onUpdate:modelValue":t[8]||(t[8]=s=>w.interval=s),disabled:!w.auto_sync},{default:l(()=>[a($,{label:"每小时",value:3600}),a($,{label:"每2小时",value:7200}),a($,{label:"每4小时",value:14400}),a($,{label:"每6小时",value:21600}),a($,{label:"每12小时",value:43200}),a($,{label:"每天",value:86400})]),_:1},8,["modelValue","disabled"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),a(St,{modelValue:M.value,"onUpdate:modelValue":t[12]||(t[12]=s=>M.value=s),title:"今日进入明细",direction:"rtl",size:"520px","destroy-on-close":!1},{header:l(()=>[n("div",xl,[n("div",bl,[t[36]||(t[36]=n("span",{class:"text-base font-semibold"},"今日进入明细",-1)),a(g,{type:"success",effect:"plain"},{default:l(()=>[d("共 "+r(f.total)+" 人",1)]),_:1})]),a(i,{link:"",type:"primary",loading:O.value,onClick:t[11]||(t[11]=s=>R(!0))},{icon:l(()=>[a(x(rt))]),default:l(()=>[t[37]||(t[37]=d(" 刷新 ",-1))]),_:1},8,["loading"])])]),default:l(()=>{var s;return[n("div",wl,[a(c,{type:"info",closable:!1,class:"mb-3","show-icon":""},{title:l(()=>[...t[38]||(t[38]=[n("span",{class:"text-xs"}," 一次推送 = 一个人进来;数据来源为企微回调流水表(INSERT IGNORE 幂等),与客户同步解耦,数字零误差。 ",-1)])]),_:1}),(s=h.by_state)!=null&&s.length?(u(),m("div",hl,[t[39]||(t[39]=n("div",{class:"text-xs text-gray-500 mb-1"},"今日推广渠道 Top",-1)),n("div",Sl,[(u(!0),m(E,null,T(h.by_state,o=>(u(),b(g,{key:o.state||"_",size:"small",effect:"light",type:"success"},{default:l(()=>[d(r(o.state||"(无 state)")+" · "+r(o.count),1)]),_:2},1024))),128))])])):A("",!0),f.lists.length?(u(),b(Qt,{key:1,class:"mt-2"},{default:l(()=>[(u(!0),m(E,null,T(f.lists,o=>(u(),b(Jt,{key:o.id,timestamp:It(o.event_time),placement:"top",type:"success",hollow:!1},{default:l(()=>[n("div",kl,[a(vt,{size:32,src:o.customer_avatar||void 0},{default:l(()=>[d(r((o.customer_name||"?").slice(0,1)),1)]),_:2},1032,["src"]),n("div",Cl,[n("div",Vl,r(o.customer_name||o.external_userid||"(未知客户)"),1),n("div",El,[n("span",null,"接待:"+r(o.admin_name||o.user_id||"—"),1),o.state?(u(),m("span",Tl,[t[40]||(t[40]=d(" 渠道:",-1)),a(g,{size:"small",type:"info",effect:"plain"},{default:l(()=>[d(r(o.state),1)]),_:2},1024)])):A("",!0),o.welcome_code?(u(),m("span",Al,"欢迎语")):A("",!0)])])])]),_:2},1032,["timestamp"]))),128))]),_:1})):(u(),b(ht,{key:2,description:"今天还没有人进入","image-size":80})),f.total>f.lists.length?(u(),m("div",Nl,[a(i,{loading:O.value,size:"small",onClick:$t},{default:l(()=>[d(" 加载更多(还剩 "+r(f.total-f.lists.length)+") ",1)]),_:1},8,["loading"])])):A("",!0)])]}),_:1},8,["modelValue"]),a(St,{modelValue:K.value,"onUpdate:modelValue":t[16]||(t[16]=s=>K.value=s),title:"标签维度统计",direction:"rtl",size:"560px","destroy-on-close":!1},{header:l(()=>[n("div",ql,[n("div",zl,[t[41]||(t[41]=n("span",{class:"text-base font-semibold"},"标签维度统计",-1)),a(g,{type:"warning",effect:"plain"},{default:l(()=>[d(r(v.groups.length)+" 组 · "+r(v.total_tags)+" 标签 ",1)]),_:1})]),a(i,{link:"",type:"primary",loading:P.value,onClick:t[13]||(t[13]=s=>st(!0))},{icon:l(()=>[a(x(rt))]),default:l(()=>[t[42]||(t[42]=d(" 刷新 ",-1))]),_:1},8,["loading"])])]),default:l(()=>[n("div",Dl,[n("div",$l,[a(p,{shadow:"never","body-class":"!p-3"},{default:l(()=>[t[43]||(t[43]=n("div",{class:"text-xs text-gray-500"},"已打标签客户",-1)),n("div",Ll,r(v.total_tagged_customers),1)]),_:1}),a(p,{shadow:"never","body-class":"!p-3"},{default:l(()=>[t[44]||(t[44]=n("div",{class:"text-xs text-gray-500"},"标签数",-1)),n("div",Il,r(v.total_tags),1)]),_:1}),a(p,{shadow:"never","body-class":"!p-3"},{default:l(()=>[t[45]||(t[45]=n("div",{class:"text-xs text-gray-500"},"关系总数",-1)),n("div",Ul,r(v.total_relations),1)]),_:1})]),a(it,{modelValue:lt.value,"onUpdate:modelValue":t[14]||(t[14]=s=>lt.value=s),placeholder:"筛选标签名 / 分组名",clearable:"",size:"small",class:"mb-3"},null,8,["modelValue"]),ut.value.length===0?(u(),b(ht,{key:0,description:P.value?"加载中…":"暂无标签数据","image-size":64},null,8,["description"])):(u(),b(Zt,{key:1,modelValue:at.value,"onUpdate:modelValue":t[15]||(t[15]=s=>at.value=s)},{default:l(()=>[(u(!0),m(E,null,T(ut.value,s=>(u(),b(Xt,{key:s.group_name||"_",name:s.group_name||"_"},{title:l(()=>[n("div",jl,[n("span",Pl,r(s.group_name||"(未分组)"),1),a(g,{size:"small",effect:"plain"},{default:l(()=>[d(r(s.tags.length),1)]),_:2},1024),n("span",Ml," 最热 "+r(s.customer_count)+" 人 ",1)])]),default:l(()=>[a(bt,{data:s.tags,size:"small",stripe:""},{default:l(()=>[a(S,{label:"标签","min-width":"160"},{default:l(({row:o})=>[n("span",Bl,r(o.tag_name),1),n("div",Hl,r(o.tag_id),1)]),_:1}),a(S,{label:"客户数",width:"100",align:"right"},{default:l(({row:o})=>[n("span",Fl,r(o.customer_count),1)]),_:1}),a(S,{label:"操作",width:"80",align:"center"},{default:l(({row:o})=>[a(i,{link:"",type:"primary",size:"small",onClick:G=>At(o.tag_id)},{default:l(()=>[...t[46]||(t[46]=[d(" 筛选 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])]),_:2},1032,["name"]))),128))]),_:1},8,["modelValue"]))])]),_:1},8,["modelValue"]),a(wt,{modelValue:tt.value,"onUpdate:modelValue":t[17]||(t[17]=s=>tt.value=s),title:"客户详情",width:"600px"},{default:l(()=>[y.value?(u(),b(te,{key:0,column:2,border:""},{default:l(()=>[a(V,{label:"客户名称"},{default:l(()=>[d(r(y.value.name),1)]),_:1}),a(V,{label:"External ID"},{default:l(()=>[d(r(y.value.external_userid),1)]),_:1}),a(V,{label:"性别"},{default:l(()=>[d(r(y.value.gender===1?"男":y.value.gender===2?"女":"未知"),1)]),_:1}),a(V,{label:"类型"},{default:l(()=>[d(r(y.value.type===1?"微信用户":"企业微信用户"),1)]),_:1}),a(V,{label:"企业名称",span:2},{default:l(()=>[d(r(y.value.corp_name||"—"),1)]),_:1}),a(V,{label:"职位",span:2},{default:l(()=>[d(r(y.value.position||"—"),1)]),_:1}),a(V,{label:"添加时间",span:2},{default:l(()=>[d(r(X(gt(y.value))),1)]),_:1}),a(V,{label:"更新时间",span:2},{default:l(()=>[d(r(X(y.value.update_time)),1)]),_:1}),a(V,{label:"跟进人",span:2},{default:l(()=>{var s;return[(s=y.value.follow_users)!=null&&s.length?(u(),m("div",Gl,[(u(!0),m(E,null,T(y.value.follow_users,(o,G)=>(u(),b(xt,{key:(o.userid||"")+"-"+G,disabled:!Q(o),content:Q(o),placement:"top"},{default:l(()=>[a(g,{size:"small",class:"mr-1 mb-1"},{default:l(()=>[d(r(ft(o)),1)]),_:2},1024)]),_:2},1032,["disabled","content"]))),128))])):(u(),m("span",Kl,"—"))]}),_:1}),a(V,{label:"标签",span:2},{default:l(()=>{var s;return[(s=y.value.tags)!=null&&s.length?(u(),m("div",Ol,[(u(!0),m(E,null,T(y.value.tags,o=>(u(),b(g,{key:o.tag_id,size:"small",effect:"light",type:"warning",class:"mr-1 mb-1"},{default:l(()=>[d(r(o.tag_name)+" ",1),o.group_name?(u(),m("span",Rl,r(o.group_name),1)):A("",!0)]),_:2},1024))),128))])):(u(),m("span",Yl,"—"))]}),_:1})]),_:1})):A("",!0)]),_:1},8,["modelValue"])])}}}),ta=Me(Wl,[["__scopeId","data-v-07da3e76"]]);export{ta as default}; diff --git a/server/public/admin/assets/readonly-DVkFK3YG.js b/server/public/admin/assets/readonly-BHqnUHSG.js similarity index 82% rename from server/public/admin/assets/readonly-DVkFK3YG.js rename to server/public/admin/assets/readonly-BHqnUHSG.js index 8ddd39f3..8a44b846 100644 --- a/server/public/admin/assets/readonly-DVkFK3YG.js +++ b/server/public/admin/assets/readonly-BHqnUHSG.js @@ -1 +1 @@ -import{o as K,Q,W as S,ap as W,ac as $,bi as j,q as a,r as d,s,v as _,D as b,w as H,u,ct as J,K as U,T as f,L as I,F as E,P as l,O as i,ae as X,M as k,p as m,a1 as Y,bB as Z}from"./.pnpm-9dA1PEvN.js";import{az as ee}from"./tcm-DOD9_1Um.js";import{g as te}from"./patient-CwTOvUDt.js";import{f as ae}from"./diag-display-DCz_VAqj.js";import{h as v}from"./perm-BLNmf25V.js";import se from"./PatientInfoCard-CQnDZGNo.js";import ie from"./PatientCaseCard-B8iDWmDb.js";import oe from"./DailyMatrix-_4SdP1CQ.js";import ne from"./CallRecordPanel-B5TNiiYq.js";import de from"./ImChatRecordPanel-Dupe02qF.js";import re from"./AssignLogPanel-7M3l9W5C.js";import le from"./AppointmentRecordPanel-DxULo4tR.js";import ce from"./PatientOrderList-CbJRHf8i.js";import ue from"./NoteTimeline-BiPgEoRT.js";import{_ as me}from"./index-CJvXnF8Y.js";import"./blood-thresholds-CJ1fqMjh.js";import"./diabetes-discovery-display-B_wmGXQJ.js";import"./picker-DWQ_BAep.js";import"./index-BBemoNXE.js";import"./index-CY1mb9yY.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-CAGpCz28.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";import"./DiagnosisTodoList-wLDuYeQL.js";import"./RecordingPlaybackBlock-C4Gpp-2c.js";import"./RecordingVideoPlayer-BFQjIPtM.js";import"./dayjs-BsOAYQJw.js";import"./im-business-message-parse-DmDISFGN.js";import"./doctor-Bmtf1eZE.js";import"./PrescriptionOrderDetailDrawer-66DcVm3d.js";import"./prescription-order-utils-B0fYlULc.js";const ve={class:"readonly-page"},pe={class:"readonly-hero"},_e={class:"hero-left"},ge={key:0,class:"hero-right"},ye={class:"patient-name"},fe={class:"patient-meta"},ke={key:1,class:"unserved-badge unserved-muted"},be={key:0,class:"card tracking-card"},he={class:"card-body"},Ne={class:"card note-card"},xe={class:"card-body card-body--matrix-align"},Ce={key:1,class:"card section-card"},De={class:"card-body card-body--matrix-align"},Pe={key:2,class:"card section-card"},we={class:"card-body card-body--matrix-align"},Be={key:3,class:"card section-card"},Re={class:"card-body card-body--matrix-align"},Ie={key:4,class:"card section-card"},Ee={class:"card-body card-body--matrix-align"},Ae={key:5,class:"card section-card"},Le={class:"card-body card-body--matrix-align"},Me=K({__name:"readonly",setup(Te){const A=Q(),h=S(),N=m(()=>Number(A.query.id||0)),g=k(!1),y=k(""),r=k(null),p=k([]),x=m(()=>{var t;return((t=r.value)==null?void 0:t.appointment)||{}}),n=m(()=>{var t;return((t=r.value)==null?void 0:t.diagnosis)||{}}),L=m(()=>v(["tcm.diagnosis/dailyRecord"])),o=m(()=>{var t;return Number(((t=n.value)==null?void 0:t.id)??N.value??0)}),C=m(()=>{var t;return Number(((t=n.value)==null?void 0:t.patient_id)??0)}),D=m(()=>{var e;const t=(e=r.value)==null?void 0:e.unserved_days;return t==null?null:Number(t)}),P=m(()=>{var t;return((t=r.value)==null?void 0:t.last_blood_record_at)||""}),M=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"},T=async()=>{const t=o.value;if(t)try{const e=await te({diagnosis_id:t})||[];p.value=e}catch{}},V=async()=>{const t=N.value;if(!t||t<=0){y.value="诊单 id 缺失",r.value=null,p.value=[];return}g.value=!0,y.value="";try{const e=await ee({id:t});r.value=e||null,p.value=Array.isArray(e==null?void 0:e.doctor_notes)?e.doctor_notes:[],await T()}catch(e){y.value=(e==null?void 0:e.message)||"",r.value=null,p.value=[]}finally{g.value=!1}},z=()=>{window.history.length>1?h.back():h.push({path:"/tcm/diagnosis"})};return W(V),(t,e)=>{var w,B,R;const F=H,O=U,q=Y,c=Z,G=j;return $((a(),d("div",ve,[s("div",pe,[s("div",_e,[_(O,{link:"",size:"default",onClick:z,class:"back-btn"},{default:b(()=>[_(F,null,{default:b(()=>[_(u(J))]),_:1}),e[0]||(e[0]=s("span",null,"返回",-1))]),_:1}),e[1]||(e[1]=s("span",{class:"title"},"患者信息详情",-1))]),(w=n.value)!=null&&w.patient_name?(a(),d("div",ge,[s("span",ye,f(n.value.patient_name),1),s("span",fe,[I(f(u(ae)(n.value.gender))+" ",1),n.value.age!=null?(a(),d(E,{key:0},[I(" · "+f(n.value.age)+"岁",1)],64)):l("",!0)]),P.value?(a(),i(q,{key:0,content:`最近一次健康打卡:${P.value}`,placement:"bottom"},{default:b(()=>[s("span",{class:X(["unserved-badge",M(D.value)])}," 未服务 "+f(D.value??"—")+" 天 ",3)]),_:1},8,["content"])):(a(),d("span",ke,"从未打卡"))])):l("",!0)]),!g.value&&!r.value?(a(),i(c,{key:0,description:y.value||"诊单不存在或无权访问",class:"empty-state"},null,8,["description"])):r.value?(a(),d(E,{key:1},[_(se,{apt:x.value,diag:n.value},null,8,["apt","diag"]),_(ie,{apt:x.value,diag:n.value},null,8,["apt","diag"]),L.value?(a(),d("div",be,[e[2]||(e[2]=s("div",{class:"card-title"},"日常记录",-1)),s("div",he,[_(oe,{"diagnosis-id":o.value,"patient-id":C.value,age:((B=n.value)==null?void 0:B.age)??null,"patient-name":((R=n.value)==null?void 0:R.patient_name)||"","read-only":!0},null,8,["diagnosis-id","patient-id","age","patient-name"])])])):l("",!0),s("div",Ne,[e[3]||(e[3]=s("div",{class:"card-title"},"医生备注 & 舌苔照片 & 检查报告",-1)),s("div",xe,[o.value<=0?(a(),i(c,{key:0,description:"诊单数据不完整"})):p.value.length?(a(),i(ue,{key:2,notes:p.value,"diagnosis-id":o.value,readonly:!0},null,8,["notes","diagnosis-id"])):(a(),i(c,{key:1,description:"暂无医生备注"}))])]),u(v)(["tcm.diagnosis/patientOrders"])?(a(),d("div",Ce,[e[4]||(e[4]=s("div",{class:"card-title"},"业务订单",-1)),s("div",De,[o.value>0?(a(),i(ce,{key:0,"diagnosis-id":o.value,"patient-id":C.value||0},null,8,["diagnosis-id","patient-id"])):(a(),i(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0),u(v)(["tcm.diagnosis/huifang"])?(a(),d("div",Pe,[e[5]||(e[5]=s("div",{class:"card-title"},"视频录制回放记录",-1)),s("div",we,[o.value>0?(a(),i(ne,{key:0,"diagnosis-id":o.value,"read-only":!0},null,8,["diagnosis-id"])):(a(),i(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0),u(v)(["tcm.diagnosis/chat"])?(a(),d("div",Be,[e[6]||(e[6]=s("div",{class:"card-title"},"聊天记录",-1)),s("div",Re,[o.value>0?(a(),i(de,{key:0,"diagnosis-id":o.value},null,8,["diagnosis-id"])):(a(),i(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0),u(v)(["tcm.diagnosis/assign"])||u(v)(["tcm.diagnosis/detail"])?(a(),d("div",Ie,[e[7]||(e[7]=s("div",{class:"card-title"},"指派医助记录",-1)),s("div",Ee,[o.value>0?(a(),i(re,{key:0,"diagnosis-id":o.value},null,8,["diagnosis-id"])):(a(),i(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0),u(v)(["doctor.appointment/lists"])?(a(),d("div",Ae,[e[8]||(e[8]=s("div",{class:"card-title"},"挂号记录",-1)),s("div",Le,[o.value>0?(a(),i(le,{key:0,"diagnosis-id":o.value},null,8,["diagnosis-id"])):(a(),i(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0)],64)):l("",!0)])),[[G,g.value]])}}}),gt=me(Me,[["__scopeId","data-v-2efd2017"]]);export{gt as default}; +import{o as K,Q,W as S,ap as W,ac as $,bi as j,q as a,r as d,s,v as _,D as b,w as H,u,ct as J,K as U,T as f,L as I,F as E,P as l,O as i,ae as X,M as k,p as m,a1 as Y,bB as Z}from"./.pnpm-9dA1PEvN.js";import{az as ee}from"./tcm-Fi_swgCr.js";import{g as te}from"./patient-Btpwd7dp.js";import{f as ae}from"./diag-display-DCz_VAqj.js";import{h as v}from"./perm-BzF8JgcJ.js";import se from"./PatientInfoCard-_2CDuTA6.js";import ie from"./PatientCaseCard-CN_U6rzw.js";import oe from"./DailyMatrix-BOqZMkKS.js";import ne from"./CallRecordPanel-CJ3iGibG.js";import de from"./ImChatRecordPanel-BMjxk7mx.js";import re from"./AssignLogPanel-CF42MNq_.js";import le from"./AppointmentRecordPanel-DxBIlcME.js";import ce from"./PatientOrderList-CKjXSixL.js";import ue from"./NoteTimeline-DxUNQs4y.js";import{_ as me}from"./index-BWzN7QIb.js";import"./blood-thresholds-CJ1fqMjh.js";import"./diabetes-discovery-display-B_wmGXQJ.js";import"./picker-DfI3CPnQ.js";import"./index-dYaCh-CN.js";import"./index-xDQ_OZln.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-fA0EWEUO.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";import"./DiagnosisTodoList-CAIMA53u.js";import"./RecordingPlaybackBlock-CN4w1UI-.js";import"./RecordingVideoPlayer-DIfduEP7.js";import"./dayjs-BsOAYQJw.js";import"./im-business-message-parse-DmDISFGN.js";import"./doctor-Chj6BcVp.js";import"./PrescriptionOrderDetailDrawer-CEi7ZXfx.js";import"./prescription-order-utils-B0fYlULc.js";const ve={class:"readonly-page"},pe={class:"readonly-hero"},_e={class:"hero-left"},ge={key:0,class:"hero-right"},ye={class:"patient-name"},fe={class:"patient-meta"},ke={key:1,class:"unserved-badge unserved-muted"},be={key:0,class:"card tracking-card"},he={class:"card-body"},Ne={class:"card note-card"},xe={class:"card-body card-body--matrix-align"},Ce={key:1,class:"card section-card"},De={class:"card-body card-body--matrix-align"},Pe={key:2,class:"card section-card"},we={class:"card-body card-body--matrix-align"},Be={key:3,class:"card section-card"},Re={class:"card-body card-body--matrix-align"},Ie={key:4,class:"card section-card"},Ee={class:"card-body card-body--matrix-align"},Ae={key:5,class:"card section-card"},Le={class:"card-body card-body--matrix-align"},Me=K({__name:"readonly",setup(Te){const A=Q(),h=S(),N=m(()=>Number(A.query.id||0)),g=k(!1),y=k(""),r=k(null),p=k([]),x=m(()=>{var t;return((t=r.value)==null?void 0:t.appointment)||{}}),n=m(()=>{var t;return((t=r.value)==null?void 0:t.diagnosis)||{}}),L=m(()=>v(["tcm.diagnosis/dailyRecord"])),o=m(()=>{var t;return Number(((t=n.value)==null?void 0:t.id)??N.value??0)}),C=m(()=>{var t;return Number(((t=n.value)==null?void 0:t.patient_id)??0)}),D=m(()=>{var e;const t=(e=r.value)==null?void 0:e.unserved_days;return t==null?null:Number(t)}),P=m(()=>{var t;return((t=r.value)==null?void 0:t.last_blood_record_at)||""}),M=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"},T=async()=>{const t=o.value;if(t)try{const e=await te({diagnosis_id:t})||[];p.value=e}catch{}},V=async()=>{const t=N.value;if(!t||t<=0){y.value="诊单 id 缺失",r.value=null,p.value=[];return}g.value=!0,y.value="";try{const e=await ee({id:t});r.value=e||null,p.value=Array.isArray(e==null?void 0:e.doctor_notes)?e.doctor_notes:[],await T()}catch(e){y.value=(e==null?void 0:e.message)||"",r.value=null,p.value=[]}finally{g.value=!1}},z=()=>{window.history.length>1?h.back():h.push({path:"/tcm/diagnosis"})};return W(V),(t,e)=>{var w,B,R;const F=H,O=U,q=Y,c=Z,G=j;return $((a(),d("div",ve,[s("div",pe,[s("div",_e,[_(O,{link:"",size:"default",onClick:z,class:"back-btn"},{default:b(()=>[_(F,null,{default:b(()=>[_(u(J))]),_:1}),e[0]||(e[0]=s("span",null,"返回",-1))]),_:1}),e[1]||(e[1]=s("span",{class:"title"},"患者信息详情",-1))]),(w=n.value)!=null&&w.patient_name?(a(),d("div",ge,[s("span",ye,f(n.value.patient_name),1),s("span",fe,[I(f(u(ae)(n.value.gender))+" ",1),n.value.age!=null?(a(),d(E,{key:0},[I(" · "+f(n.value.age)+"岁",1)],64)):l("",!0)]),P.value?(a(),i(q,{key:0,content:`最近一次健康打卡:${P.value}`,placement:"bottom"},{default:b(()=>[s("span",{class:X(["unserved-badge",M(D.value)])}," 未服务 "+f(D.value??"—")+" 天 ",3)]),_:1},8,["content"])):(a(),d("span",ke,"从未打卡"))])):l("",!0)]),!g.value&&!r.value?(a(),i(c,{key:0,description:y.value||"诊单不存在或无权访问",class:"empty-state"},null,8,["description"])):r.value?(a(),d(E,{key:1},[_(se,{apt:x.value,diag:n.value},null,8,["apt","diag"]),_(ie,{apt:x.value,diag:n.value},null,8,["apt","diag"]),L.value?(a(),d("div",be,[e[2]||(e[2]=s("div",{class:"card-title"},"日常记录",-1)),s("div",he,[_(oe,{"diagnosis-id":o.value,"patient-id":C.value,age:((B=n.value)==null?void 0:B.age)??null,"patient-name":((R=n.value)==null?void 0:R.patient_name)||"","read-only":!0},null,8,["diagnosis-id","patient-id","age","patient-name"])])])):l("",!0),s("div",Ne,[e[3]||(e[3]=s("div",{class:"card-title"},"医生备注 & 舌苔照片 & 检查报告",-1)),s("div",xe,[o.value<=0?(a(),i(c,{key:0,description:"诊单数据不完整"})):p.value.length?(a(),i(ue,{key:2,notes:p.value,"diagnosis-id":o.value,readonly:!0},null,8,["notes","diagnosis-id"])):(a(),i(c,{key:1,description:"暂无医生备注"}))])]),u(v)(["tcm.diagnosis/patientOrders"])?(a(),d("div",Ce,[e[4]||(e[4]=s("div",{class:"card-title"},"业务订单",-1)),s("div",De,[o.value>0?(a(),i(ce,{key:0,"diagnosis-id":o.value,"patient-id":C.value||0},null,8,["diagnosis-id","patient-id"])):(a(),i(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0),u(v)(["tcm.diagnosis/huifang"])?(a(),d("div",Pe,[e[5]||(e[5]=s("div",{class:"card-title"},"视频录制回放记录",-1)),s("div",we,[o.value>0?(a(),i(ne,{key:0,"diagnosis-id":o.value,"read-only":!0},null,8,["diagnosis-id"])):(a(),i(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0),u(v)(["tcm.diagnosis/chat"])?(a(),d("div",Be,[e[6]||(e[6]=s("div",{class:"card-title"},"聊天记录",-1)),s("div",Re,[o.value>0?(a(),i(de,{key:0,"diagnosis-id":o.value},null,8,["diagnosis-id"])):(a(),i(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0),u(v)(["tcm.diagnosis/assign"])||u(v)(["tcm.diagnosis/detail"])?(a(),d("div",Ie,[e[7]||(e[7]=s("div",{class:"card-title"},"指派医助记录",-1)),s("div",Ee,[o.value>0?(a(),i(re,{key:0,"diagnosis-id":o.value},null,8,["diagnosis-id"])):(a(),i(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0),u(v)(["doctor.appointment/lists"])?(a(),d("div",Ae,[e[8]||(e[8]=s("div",{class:"card-title"},"挂号记录",-1)),s("div",Le,[o.value>0?(a(),i(le,{key:0,"diagnosis-id":o.value},null,8,["diagnosis-id"])):(a(),i(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0)],64)):l("",!0)])),[[G,g.value]])}}}),gt=me(Me,[["__scopeId","data-v-2efd2017"]]);export{gt as default}; diff --git a/server/public/admin/assets/recharge_record-CqbtwQ9X.js b/server/public/admin/assets/recharge_record-rzk-_7bZ.js similarity index 92% rename from server/public/admin/assets/recharge_record-CqbtwQ9X.js rename to server/public/admin/assets/recharge_record-rzk-_7bZ.js index eebd32d9..36c8d6d2 100644 --- a/server/public/admin/assets/recharge_record-CqbtwQ9X.js +++ b/server/public/admin/assets/recharge_record-rzk-_7bZ.js @@ -1 +1 @@ -import{o as C,be as $,q as c,r as j,v as e,D as n,bh as F,b9 as q,u as a,b6 as I,b7 as O,b8 as v,bm as S,bn as A,K as G,L as d,bg as H,ac as V,O as x,bj as J,bk as M,s as f,T as h,ae as Q,P as W,bi as X,C as Y,ba as Z}from"./.pnpm-9dA1PEvN.js";import{_ as ee}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{h as ae,i as te}from"./index-CJvXnF8Y.js";import{_ as le}from"./index.vue_vue_type_script_setup_true_lang-Bk4SMrCI.js";import{_ as ne}from"./index.vue_vue_type_script_setup_true_lang-C38LpCy9.js";import{j as k,k as oe}from"./finance-BJtj-zFw.js";import{u as se}from"./usePaging-Boz1Q6w3.js";import"./index-BBemoNXE.js";const re={class:"flex items-center"},ie={class:"flex justify-end mt-4"},me=C({name:"rechargeRecord"}),ve=C({...me,setup(de){const o=Z({sn:"",user_info:"",pay_way:"",pay_status:"",start_time:"",end_time:""}),{pager:r,getLists:_,resetPage:p,resetParams:E}=se({fetchFun:k,params:o}),T=async b=>{await te.confirm("确认退款?"),await oe({recharge_id:b}),_()};return _(),(b,l)=>{const U=F,y=O,i=I,m=A,g=S,K=ne,u=G,z=le,B=q,w=H,P=ae,s=M,D=J,L=ee,N=$("perms"),R=X;return c(),j("div",null,[e(w,{class:"!border-none",shadow:"never"},{default:n(()=>[e(U,{type:"warning",title:"温馨提示:用户充值记录",closable:!1,"show-icon":""}),e(B,{ref:"formRef",class:"mb-[-16px] mt-[16px]",model:a(o),inline:!0},{default:n(()=>[e(i,{class:"w-[280px]",label:"充值单号"},{default:n(()=>[e(y,{modelValue:a(o).sn,"onUpdate:modelValue":l[0]||(l[0]=t=>a(o).sn=t),placeholder:"请输入充值单号",clearable:"",onKeyup:v(a(p),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(i,{class:"w-[280px]",label:"用户信息"},{default:n(()=>[e(y,{modelValue:a(o).user_info,"onUpdate:modelValue":l[1]||(l[1]=t=>a(o).user_info=t),placeholder:"请输入用户账号/昵称/手机号",clearable:"",onKeyup:v(a(p),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(i,{class:"w-[280px]",label:"支付方式"},{default:n(()=>[e(g,{modelValue:a(o).pay_way,"onUpdate:modelValue":l[2]||(l[2]=t=>a(o).pay_way=t)},{default:n(()=>[e(m,{label:"全部",value:""}),e(m,{label:"微信支付",value:2})]),_:1},8,["modelValue"])]),_:1}),e(i,{class:"w-[280px]",label:"支付状态"},{default:n(()=>[e(g,{modelValue:a(o).pay_status,"onUpdate:modelValue":l[3]||(l[3]=t=>a(o).pay_status=t)},{default:n(()=>[e(m,{label:"全部",value:""}),e(m,{label:"未支付",value:0}),e(m,{label:"已支付",value:1})]),_:1},8,["modelValue"])]),_:1}),e(i,{label:"下单时间"},{default:n(()=>[e(K,{startTime:a(o).start_time,"onUpdate:startTime":l[4]||(l[4]=t=>a(o).start_time=t),endTime:a(o).end_time,"onUpdate:endTime":l[5]||(l[5]=t=>a(o).end_time=t)},null,8,["startTime","endTime"])]),_:1}),e(i,null,{default:n(()=>[e(u,{type:"primary",onClick:a(p)},{default:n(()=>[...l[7]||(l[7]=[d("查询",-1)])]),_:1},8,["onClick"]),e(u,{onClick:a(E)},{default:n(()=>[...l[8]||(l[8]=[d("重置",-1)])]),_:1},8,["onClick"]),e(z,{class:"ml-2.5","fetch-fun":a(k),params:a(o),"page-size":a(r).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),e(w,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[V((c(),x(D,{size:"large",data:a(r).lists},{default:n(()=>[e(s,{label:"用户信息","min-width":"160"},{default:n(({row:t})=>[f("div",re,[e(P,{class:"flex-none mr-2",src:t.avatar,width:40,height:40,"preview-teleported":"",fit:"contain"},null,8,["src"]),d(" "+h(t.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:n(({row:t})=>[f("span",{class:Q({"text-error":t.pay_status==0})},h(t.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:n(({row:t})=>[t.pay_status==1?V((c(),x(u,{key:0,type:"primary",link:"",disabled:t.refund_status==1,onClick:_e=>T(t.id)},{default:n(()=>[...l[9]||(l[9]=[d(" 退款 ",-1)])]),_:1},8,["disabled","onClick"])),[[N,["recharge.recharge/refund"]]]):W("",!0)]),_:1})]),_:1},8,["data"])),[[R,a(r).loading]]),f("div",ie,[e(L,{modelValue:a(r),"onUpdate:modelValue":l[6]||(l[6]=t=>Y(r)?r.value=t:null),onChange:a(_)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{ve as default}; +import{o as C,be as $,q as c,r as j,v as e,D as n,bh as F,b9 as q,u as a,b6 as I,b7 as O,b8 as v,bm as S,bn as A,K as G,L as d,bg as H,ac as V,O as x,bj as J,bk as M,s as f,T as h,ae as Q,P as W,bi as X,C as Y,ba as Z}from"./.pnpm-9dA1PEvN.js";import{_ as ee}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{h as ae,i as te}from"./index-BWzN7QIb.js";import{_ as le}from"./index.vue_vue_type_script_setup_true_lang-DbClaUqT.js";import{_ as ne}from"./index.vue_vue_type_script_setup_true_lang-C38LpCy9.js";import{j as k,k as oe}from"./finance-DNeCzSo4.js";import{u as se}from"./usePaging-Boz1Q6w3.js";import"./index-dYaCh-CN.js";const re={class:"flex items-center"},ie={class:"flex justify-end mt-4"},me=C({name:"rechargeRecord"}),ve=C({...me,setup(de){const o=Z({sn:"",user_info:"",pay_way:"",pay_status:"",start_time:"",end_time:""}),{pager:r,getLists:_,resetPage:p,resetParams:E}=se({fetchFun:k,params:o}),T=async b=>{await te.confirm("确认退款?"),await oe({recharge_id:b}),_()};return _(),(b,l)=>{const U=F,y=O,i=I,m=A,g=S,K=ne,u=G,z=le,B=q,w=H,P=ae,s=M,D=J,L=ee,N=$("perms"),R=X;return c(),j("div",null,[e(w,{class:"!border-none",shadow:"never"},{default:n(()=>[e(U,{type:"warning",title:"温馨提示:用户充值记录",closable:!1,"show-icon":""}),e(B,{ref:"formRef",class:"mb-[-16px] mt-[16px]",model:a(o),inline:!0},{default:n(()=>[e(i,{class:"w-[280px]",label:"充值单号"},{default:n(()=>[e(y,{modelValue:a(o).sn,"onUpdate:modelValue":l[0]||(l[0]=t=>a(o).sn=t),placeholder:"请输入充值单号",clearable:"",onKeyup:v(a(p),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(i,{class:"w-[280px]",label:"用户信息"},{default:n(()=>[e(y,{modelValue:a(o).user_info,"onUpdate:modelValue":l[1]||(l[1]=t=>a(o).user_info=t),placeholder:"请输入用户账号/昵称/手机号",clearable:"",onKeyup:v(a(p),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(i,{class:"w-[280px]",label:"支付方式"},{default:n(()=>[e(g,{modelValue:a(o).pay_way,"onUpdate:modelValue":l[2]||(l[2]=t=>a(o).pay_way=t)},{default:n(()=>[e(m,{label:"全部",value:""}),e(m,{label:"微信支付",value:2})]),_:1},8,["modelValue"])]),_:1}),e(i,{class:"w-[280px]",label:"支付状态"},{default:n(()=>[e(g,{modelValue:a(o).pay_status,"onUpdate:modelValue":l[3]||(l[3]=t=>a(o).pay_status=t)},{default:n(()=>[e(m,{label:"全部",value:""}),e(m,{label:"未支付",value:0}),e(m,{label:"已支付",value:1})]),_:1},8,["modelValue"])]),_:1}),e(i,{label:"下单时间"},{default:n(()=>[e(K,{startTime:a(o).start_time,"onUpdate:startTime":l[4]||(l[4]=t=>a(o).start_time=t),endTime:a(o).end_time,"onUpdate:endTime":l[5]||(l[5]=t=>a(o).end_time=t)},null,8,["startTime","endTime"])]),_:1}),e(i,null,{default:n(()=>[e(u,{type:"primary",onClick:a(p)},{default:n(()=>[...l[7]||(l[7]=[d("查询",-1)])]),_:1},8,["onClick"]),e(u,{onClick:a(E)},{default:n(()=>[...l[8]||(l[8]=[d("重置",-1)])]),_:1},8,["onClick"]),e(z,{class:"ml-2.5","fetch-fun":a(k),params:a(o),"page-size":a(r).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),e(w,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[V((c(),x(D,{size:"large",data:a(r).lists},{default:n(()=>[e(s,{label:"用户信息","min-width":"160"},{default:n(({row:t})=>[f("div",re,[e(P,{class:"flex-none mr-2",src:t.avatar,width:40,height:40,"preview-teleported":"",fit:"contain"},null,8,["src"]),d(" "+h(t.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:n(({row:t})=>[f("span",{class:Q({"text-error":t.pay_status==0})},h(t.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:n(({row:t})=>[t.pay_status==1?V((c(),x(u,{key:0,type:"primary",link:"",disabled:t.refund_status==1,onClick:_e=>T(t.id)},{default:n(()=>[...l[9]||(l[9]=[d(" 退款 ",-1)])]),_:1},8,["disabled","onClick"])),[[N,["recharge.recharge/refund"]]]):W("",!0)]),_:1})]),_:1},8,["data"])),[[R,a(r).loading]]),f("div",ie,[e(L,{modelValue:a(r),"onUpdate:modelValue":l[6]||(l[6]=t=>Y(r)?r.value=t:null),onChange:a(_)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{ve as default}; diff --git a/server/public/admin/assets/refund-log-BhwuomZ1.js b/server/public/admin/assets/refund-log-BhwuomZ1.js deleted file mode 100644 index d4f4967a..00000000 --- a/server/public/admin/assets/refund-log-BhwuomZ1.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./refund-log.vue_vue_type_script_setup_true_lang-DcnrXS_5.js";import"./.pnpm-9dA1PEvN.js";import"./finance-BJtj-zFw.js";import"./index-CJvXnF8Y.js";export{o as default}; diff --git a/server/public/admin/assets/refund-log-D5grGFxC.js b/server/public/admin/assets/refund-log-D5grGFxC.js new file mode 100644 index 00000000..13b8868d --- /dev/null +++ b/server/public/admin/assets/refund-log-D5grGFxC.js @@ -0,0 +1 @@ +import{_ as o}from"./refund-log.vue_vue_type_script_setup_true_lang-CsjYi7rD.js";import"./.pnpm-9dA1PEvN.js";import"./finance-DNeCzSo4.js";import"./index-BWzN7QIb.js";export{o as default}; diff --git a/server/public/admin/assets/refund-log.vue_vue_type_script_setup_true_lang-DcnrXS_5.js b/server/public/admin/assets/refund-log.vue_vue_type_script_setup_true_lang-CsjYi7rD.js similarity index 96% rename from server/public/admin/assets/refund-log.vue_vue_type_script_setup_true_lang-DcnrXS_5.js rename to server/public/admin/assets/refund-log.vue_vue_type_script_setup_true_lang-CsjYi7rD.js index dd9ec699..26abdbdc 100644 --- a/server/public/admin/assets/refund-log.vue_vue_type_script_setup_true_lang-DcnrXS_5.js +++ b/server/public/admin/assets/refund-log.vue_vue_type_script_setup_true_lang-CsjYi7rD.js @@ -1 +1 @@ -import{o as C,R as E,q as s,r as L,v as l,bt as T,C as B,u as m,D as a,ac as D,O as d,bj as N,bk as R,L as u,T as r,br as I,P as p,bi as j,M as b,p as q}from"./.pnpm-9dA1PEvN.js";import{r as z}from"./finance-BJtj-zFw.js";const M={class:"code-preview"},S=C({__name:"refund-log",props:{modelValue:{type:Boolean},refundId:{}},emits:["update:modelValue"],setup(h,{emit:v}){const i=b(!1),_=b([]),f=h,V=v,n=q({get(){return f.modelValue},set(t){V("update:modelValue",t)}}),y=async()=>{i.value=!0,_.value=[];try{const t=await z({record_id:f.refundId});_.value=t}catch(t){console.log(t)}i.value=!1};return E(n,t=>{t&&y()}),(t,g)=>{const o=R,c=I,w=N,x=T,k=j;return s(),L("div",M,[l(x,{modelValue:m(n),"onUpdate:modelValue":g[0]||(g[0]=e=>B(n)?n.value=e:null),width:"760px",title:"退款日志"},{default:a(()=>[D((s(),d(w,{size:"large",data:m(_),height:"500"},{default:a(()=>[l(o,{label:"流水单号",prop:"sn","min-width":"190"}),l(o,{label:"退款金额","min-width":"110"},{default:a(({row:e})=>[u(" ¥"+r(e.refund_amount),1)]),_:1}),l(o,{label:"退款状态",prop:"","min-width":"100"},{default:a(({row:e})=>[e.refund_status==0?(s(),d(c,{key:0,type:"warning"},{default:a(()=>[u(r(e.refund_status_text),1)]),_:2},1024)):p("",!0),e.refund_status==1?(s(),d(c,{key:1},{default:a(()=>[u(r(e.refund_status_text),1)]),_:2},1024)):p("",!0),e.refund_status==2?(s(),d(c,{key:2,type:"danger"},{default:a(()=>[u(r(e.refund_status_text),1)]),_:2},1024)):p("",!0)]),_:1}),l(o,{label:"记录时间",prop:"create_time","min-width":"180"}),l(o,{label:"操作人",prop:"handler","min-width":"120"})]),_:1},8,["data"])),[[k,m(i)]])]),_:1},8,["modelValue"])])}}});export{S as _}; +import{o as C,R as E,q as s,r as L,v as l,bt as T,C as B,u as m,D as a,ac as D,O as d,bj as N,bk as R,L as u,T as r,br as I,P as p,bi as j,M as b,p as q}from"./.pnpm-9dA1PEvN.js";import{r as z}from"./finance-DNeCzSo4.js";const M={class:"code-preview"},S=C({__name:"refund-log",props:{modelValue:{type:Boolean},refundId:{}},emits:["update:modelValue"],setup(h,{emit:v}){const i=b(!1),_=b([]),f=h,V=v,n=q({get(){return f.modelValue},set(t){V("update:modelValue",t)}}),y=async()=>{i.value=!0,_.value=[];try{const t=await z({record_id:f.refundId});_.value=t}catch(t){console.log(t)}i.value=!1};return E(n,t=>{t&&y()}),(t,g)=>{const o=R,c=I,w=N,x=T,k=j;return s(),L("div",M,[l(x,{modelValue:m(n),"onUpdate:modelValue":g[0]||(g[0]=e=>B(n)?n.value=e:null),width:"760px",title:"退款日志"},{default:a(()=>[D((s(),d(w,{size:"large",data:m(_),height:"500"},{default:a(()=>[l(o,{label:"流水单号",prop:"sn","min-width":"190"}),l(o,{label:"退款金额","min-width":"110"},{default:a(({row:e})=>[u(" ¥"+r(e.refund_amount),1)]),_:1}),l(o,{label:"退款状态",prop:"","min-width":"100"},{default:a(({row:e})=>[e.refund_status==0?(s(),d(c,{key:0,type:"warning"},{default:a(()=>[u(r(e.refund_status_text),1)]),_:2},1024)):p("",!0),e.refund_status==1?(s(),d(c,{key:1},{default:a(()=>[u(r(e.refund_status_text),1)]),_:2},1024)):p("",!0),e.refund_status==2?(s(),d(c,{key:2,type:"danger"},{default:a(()=>[u(r(e.refund_status_text),1)]),_:2},1024)):p("",!0)]),_:1}),l(o,{label:"记录时间",prop:"create_time","min-width":"180"}),l(o,{label:"操作人",prop:"handler","min-width":"120"})]),_:1},8,["data"])),[[k,m(i)]])]),_:1},8,["modelValue"])])}}});export{S as _}; diff --git a/server/public/admin/assets/refund_record-CshlxxN_.js b/server/public/admin/assets/refund_record-B8prI109.js similarity index 96% rename from server/public/admin/assets/refund_record-CshlxxN_.js rename to server/public/admin/assets/refund_record-B8prI109.js index 23dcdfd1..3e64c347 100644 --- a/server/public/admin/assets/refund_record-CshlxxN_.js +++ b/server/public/admin/assets/refund_record-B8prI109.js @@ -1 +1 @@ -import{o as N,be as Z,q as r,r as F,v as t,D as a,s as d,T as i,u as n,bg as ee,b9 as te,b6 as ne,b7 as ae,b8 as K,bm as le,bn as se,K as oe,L as u,Y as de,C as h,F as re,G as ie,O as p,X as ue,ac as R,bj as me,bk as _e,br as pe,P as x,bi as fe,ba as S,M as w}from"./.pnpm-9dA1PEvN.js";import{_ as ce}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{h as be,i as ge}from"./index-CJvXnF8Y.js";import{_ as ve}from"./index.vue_vue_type_script_setup_true_lang-C38LpCy9.js";import{l as ye,m as xe,n as we}from"./finance-BJtj-zFw.js";import{u as Ve}from"./usePaging-Boz1Q6w3.js";import{_ as ke}from"./refund-log.vue_vue_type_script_setup_true_lang-DcnrXS_5.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"},Le={class:"w-1/2 md:w-1/4"},$e={class:"text-6xl"},Pe={class:"flex items-center"},Be={class:"flex justify-end mt-4"},De=N({name:"refundRecord"}),ze=N({...De,setup(Fe){const s=S({sn:"",order_sn:"",user_info:"",refund_type:"",start_time:"",end_time:"",refund_status:""}),b=S({total:0,ing:0,success:0,error:0}),v=w(!1),U=w(0),V=w(0),L=w([{name:"全部",type:"",numKey:"total"},{name:"退款中",type:0,numKey:"ing"},{name:"退款成功",type:1,numKey:"success"},{name:"退款失败",type:2,numKey:"error"}]),{pager:f,getLists:k,resetPage:g,resetParams:j}=Ve({fetchFun:ye,params:s}),I=async m=>{await ge.confirm("确认重新退款?"),await xe({record_id:m}),k(),$()},O=async m=>{v.value=!0,U.value=m},q=m=>{s.refund_status=L.value[m].type,g()},$=async()=>{const m=await we();Object.assign(b,m)};return $(),k(),(m,e)=>{const C=ee,T=ae,c=ne,P=se,A=le,z=ve,y=oe,G=te,_=_e,M=be,E=pe,X=me,Y=ue,H=de,J=ce,B=Z("perms"),Q=fe;return r(),F("div",null,[t(C,{class:"!border-none mb-4",shadow:"never"},{default:a(()=>[d("div",Ce,[d("div",Te,[e[9]||(e[9]=d("div",{class:"leading-10"},"累计退款金额 (元)",-1)),d("div",Ee,i(n(b).total),1)]),d("div",Ke,[e[10]||(e[10]=d("div",{class:"leading-10"},"退款中金额 (元)",-1)),d("div",he,i(n(b).ing),1)]),d("div",Re,[e[11]||(e[11]=d("div",{class:"leading-10"},"退款成功金额 (元)",-1)),d("div",Ue,i(n(b).success),1)]),d("div",Le,[e[12]||(e[12]=d("div",{class:"leading-10"},"退款失败金额 (元)",-1)),d("div",$e,i(n(b).error),1)])])]),_:1}),t(C,{class:"!border-none",shadow:"never"},{default:a(()=>[t(G,{ref:"formRef",class:"mb-[-16px] mt-[16px]",model:n(s),inline:!0},{default:a(()=>[t(c,{class:"w-[280px]",label:"退款单号"},{default:a(()=>[t(T,{modelValue:n(s).sn,"onUpdate:modelValue":e[0]||(e[0]=l=>n(s).sn=l),placeholder:"请输入退款单号",clearable:"",onKeyup:K(n(g),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(c,{class:"w-[280px]",label:"来源单号"},{default:a(()=>[t(T,{modelValue:n(s).order_sn,"onUpdate:modelValue":e[1]||(e[1]=l=>n(s).order_sn=l),placeholder:"请输入来源单号",clearable:"",onKeyup:K(n(g),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(c,{class:"w-[280px]",label:"用户信息"},{default:a(()=>[t(T,{modelValue:n(s).user_info,"onUpdate:modelValue":e[2]||(e[2]=l=>n(s).user_info=l),placeholder:"请输入用户信息",clearable:"",onKeyup:K(n(g),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(c,{class:"w-[280px]",label:"退款类型"},{default:a(()=>[t(A,{modelValue:n(s).refund_type,"onUpdate:modelValue":e[3]||(e[3]=l=>n(s).refund_type=l)},{default:a(()=>[t(P,{label:"全部",value:""}),t(P,{label:"后台退款",value:1})]),_:1},8,["modelValue"])]),_:1}),t(c,{label:"记录时间"},{default:a(()=>[t(z,{startTime:n(s).start_time,"onUpdate:startTime":e[4]||(e[4]=l=>n(s).start_time=l),endTime:n(s).end_time,"onUpdate:endTime":e[5]||(e[5]=l=>n(s).end_time=l)},null,8,["startTime","endTime"])]),_:1}),t(c,null,{default:a(()=>[t(y,{type:"primary",onClick:n(g)},{default:a(()=>[...e[13]||(e[13]=[u("查询",-1)])]),_:1},8,["onClick"]),t(y,{onClick:n(j)},{default:a(()=>[...e[14]||(e[14]=[u("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),t(C,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[t(H,{modelValue:n(V),"onUpdate:modelValue":e[6]||(e[6]=l=>h(V)?V.value=l:null),onTabChange:q},{default:a(()=>[(r(!0),F(re,null,ie(n(L),(l,D)=>(r(),p(Y,{label:`${l.name}(${n(f).extend[l.numKey]??0})`,name:D,key:D},{default:a(()=>[R((r(),p(X,{size:"large",data:n(f).lists},{default:a(()=>[t(_,{label:"退款单号",prop:"sn","min-width":"190"}),t(_,{label:"用户信息","min-width":"160"},{default:a(({row:o})=>[d("div",Pe,[t(M,{class:"flex-none mr-2",src:o.avatar,width:40,height:40,"preview-teleported":"",fit:"contain"},null,8,["src"]),u(" "+i(o.nickname),1)])]),_:1}),t(_,{label:"来源单号",prop:"order_sn","min-width":"190"}),t(_,{label:"退款金额","min-width":"100"},{default:a(({row:o})=>[u(" ¥ "+i(o.refund_amount),1)]),_:1}),t(_,{label:"退款类型",prop:"refund_type_text","min-width":"100"}),t(_,{label:"退款状态",prop:"","min-width":"100"},{default:a(({row:o})=>[o.refund_status==0?(r(),p(E,{key:0,type:"warning"},{default:a(()=>[u(i(o.refund_status_text),1)]),_:2},1024)):x("",!0),o.refund_status==1?(r(),p(E,{key:1},{default:a(()=>[u(i(o.refund_status_text),1)]),_:2},1024)):x("",!0),o.refund_status==2?(r(),p(E,{key:2,type:"danger"},{default:a(()=>[u(i(o.refund_status_text),1)]),_:2},1024)):x("",!0)]),_:1}),t(_,{label:"记录时间",prop:"create_time","min-width":"180"}),t(_,{label:"操作",width:"180",fixed:"right"},{default:a(({row:o})=>[R((r(),p(y,{type:"primary",link:"",onClick:W=>O(o.id)},{default:a(()=>[...e[15]||(e[15]=[u(" 退款日志 ",-1)])]),_:1},8,["onClick"])),[[B,["finance.refund/log"]]]),o.refund_status==2?R((r(),p(y,{key:0,type:"primary",link:"",onClick:W=>I(o.id)},{default:a(()=>[...e[16]||(e[16]=[u(" 重新退款 ",-1)])]),_:1},8,["onClick"])),[[B,["recharge.recharge/refundAgain"]]]):x("",!0)]),_:1})]),_:1},8,["data"])),[[Q,n(f).loading]])]),_:1},8,["label","name"]))),128))]),_:1},8,["modelValue"]),d("div",Be,[t(J,{modelValue:n(f),"onUpdate:modelValue":e[7]||(e[7]=l=>h(f)?f.value=l:null),onChange:n(k)},null,8,["modelValue","onChange"])])]),_:1}),t(ke,{modelValue:n(v),"onUpdate:modelValue":e[8]||(e[8]=l=>h(v)?v.value=l:null),"refund-id":n(U)},null,8,["modelValue","refund-id"])])}}});export{ze as default}; +import{o as N,be as Z,q as r,r as F,v as t,D as a,s as d,T as i,u as n,bg as ee,b9 as te,b6 as ne,b7 as ae,b8 as K,bm as le,bn as se,K as oe,L as u,Y as de,C as h,F as re,G as ie,O as p,X as ue,ac as R,bj as me,bk as _e,br as pe,P as x,bi as fe,ba as S,M as w}from"./.pnpm-9dA1PEvN.js";import{_ as ce}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{h as be,i as ge}from"./index-BWzN7QIb.js";import{_ as ve}from"./index.vue_vue_type_script_setup_true_lang-C38LpCy9.js";import{l as ye,m as xe,n as we}from"./finance-DNeCzSo4.js";import{u as Ve}from"./usePaging-Boz1Q6w3.js";import{_ as ke}from"./refund-log.vue_vue_type_script_setup_true_lang-CsjYi7rD.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"},Le={class:"w-1/2 md:w-1/4"},$e={class:"text-6xl"},Pe={class:"flex items-center"},Be={class:"flex justify-end mt-4"},De=N({name:"refundRecord"}),ze=N({...De,setup(Fe){const s=S({sn:"",order_sn:"",user_info:"",refund_type:"",start_time:"",end_time:"",refund_status:""}),b=S({total:0,ing:0,success:0,error:0}),v=w(!1),U=w(0),V=w(0),L=w([{name:"全部",type:"",numKey:"total"},{name:"退款中",type:0,numKey:"ing"},{name:"退款成功",type:1,numKey:"success"},{name:"退款失败",type:2,numKey:"error"}]),{pager:f,getLists:k,resetPage:g,resetParams:j}=Ve({fetchFun:ye,params:s}),I=async m=>{await ge.confirm("确认重新退款?"),await xe({record_id:m}),k(),$()},O=async m=>{v.value=!0,U.value=m},q=m=>{s.refund_status=L.value[m].type,g()},$=async()=>{const m=await we();Object.assign(b,m)};return $(),k(),(m,e)=>{const C=ee,T=ae,c=ne,P=se,A=le,z=ve,y=oe,G=te,_=_e,M=be,E=pe,X=me,Y=ue,H=de,J=ce,B=Z("perms"),Q=fe;return r(),F("div",null,[t(C,{class:"!border-none mb-4",shadow:"never"},{default:a(()=>[d("div",Ce,[d("div",Te,[e[9]||(e[9]=d("div",{class:"leading-10"},"累计退款金额 (元)",-1)),d("div",Ee,i(n(b).total),1)]),d("div",Ke,[e[10]||(e[10]=d("div",{class:"leading-10"},"退款中金额 (元)",-1)),d("div",he,i(n(b).ing),1)]),d("div",Re,[e[11]||(e[11]=d("div",{class:"leading-10"},"退款成功金额 (元)",-1)),d("div",Ue,i(n(b).success),1)]),d("div",Le,[e[12]||(e[12]=d("div",{class:"leading-10"},"退款失败金额 (元)",-1)),d("div",$e,i(n(b).error),1)])])]),_:1}),t(C,{class:"!border-none",shadow:"never"},{default:a(()=>[t(G,{ref:"formRef",class:"mb-[-16px] mt-[16px]",model:n(s),inline:!0},{default:a(()=>[t(c,{class:"w-[280px]",label:"退款单号"},{default:a(()=>[t(T,{modelValue:n(s).sn,"onUpdate:modelValue":e[0]||(e[0]=l=>n(s).sn=l),placeholder:"请输入退款单号",clearable:"",onKeyup:K(n(g),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(c,{class:"w-[280px]",label:"来源单号"},{default:a(()=>[t(T,{modelValue:n(s).order_sn,"onUpdate:modelValue":e[1]||(e[1]=l=>n(s).order_sn=l),placeholder:"请输入来源单号",clearable:"",onKeyup:K(n(g),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(c,{class:"w-[280px]",label:"用户信息"},{default:a(()=>[t(T,{modelValue:n(s).user_info,"onUpdate:modelValue":e[2]||(e[2]=l=>n(s).user_info=l),placeholder:"请输入用户信息",clearable:"",onKeyup:K(n(g),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(c,{class:"w-[280px]",label:"退款类型"},{default:a(()=>[t(A,{modelValue:n(s).refund_type,"onUpdate:modelValue":e[3]||(e[3]=l=>n(s).refund_type=l)},{default:a(()=>[t(P,{label:"全部",value:""}),t(P,{label:"后台退款",value:1})]),_:1},8,["modelValue"])]),_:1}),t(c,{label:"记录时间"},{default:a(()=>[t(z,{startTime:n(s).start_time,"onUpdate:startTime":e[4]||(e[4]=l=>n(s).start_time=l),endTime:n(s).end_time,"onUpdate:endTime":e[5]||(e[5]=l=>n(s).end_time=l)},null,8,["startTime","endTime"])]),_:1}),t(c,null,{default:a(()=>[t(y,{type:"primary",onClick:n(g)},{default:a(()=>[...e[13]||(e[13]=[u("查询",-1)])]),_:1},8,["onClick"]),t(y,{onClick:n(j)},{default:a(()=>[...e[14]||(e[14]=[u("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),t(C,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[t(H,{modelValue:n(V),"onUpdate:modelValue":e[6]||(e[6]=l=>h(V)?V.value=l:null),onTabChange:q},{default:a(()=>[(r(!0),F(re,null,ie(n(L),(l,D)=>(r(),p(Y,{label:`${l.name}(${n(f).extend[l.numKey]??0})`,name:D,key:D},{default:a(()=>[R((r(),p(X,{size:"large",data:n(f).lists},{default:a(()=>[t(_,{label:"退款单号",prop:"sn","min-width":"190"}),t(_,{label:"用户信息","min-width":"160"},{default:a(({row:o})=>[d("div",Pe,[t(M,{class:"flex-none mr-2",src:o.avatar,width:40,height:40,"preview-teleported":"",fit:"contain"},null,8,["src"]),u(" "+i(o.nickname),1)])]),_:1}),t(_,{label:"来源单号",prop:"order_sn","min-width":"190"}),t(_,{label:"退款金额","min-width":"100"},{default:a(({row:o})=>[u(" ¥ "+i(o.refund_amount),1)]),_:1}),t(_,{label:"退款类型",prop:"refund_type_text","min-width":"100"}),t(_,{label:"退款状态",prop:"","min-width":"100"},{default:a(({row:o})=>[o.refund_status==0?(r(),p(E,{key:0,type:"warning"},{default:a(()=>[u(i(o.refund_status_text),1)]),_:2},1024)):x("",!0),o.refund_status==1?(r(),p(E,{key:1},{default:a(()=>[u(i(o.refund_status_text),1)]),_:2},1024)):x("",!0),o.refund_status==2?(r(),p(E,{key:2,type:"danger"},{default:a(()=>[u(i(o.refund_status_text),1)]),_:2},1024)):x("",!0)]),_:1}),t(_,{label:"记录时间",prop:"create_time","min-width":"180"}),t(_,{label:"操作",width:"180",fixed:"right"},{default:a(({row:o})=>[R((r(),p(y,{type:"primary",link:"",onClick:W=>O(o.id)},{default:a(()=>[...e[15]||(e[15]=[u(" 退款日志 ",-1)])]),_:1},8,["onClick"])),[[B,["finance.refund/log"]]]),o.refund_status==2?R((r(),p(y,{key:0,type:"primary",link:"",onClick:W=>I(o.id)},{default:a(()=>[...e[16]||(e[16]=[u(" 重新退款 ",-1)])]),_:1},8,["onClick"])),[[B,["recharge.recharge/refundAgain"]]]):x("",!0)]),_:1})]),_:1},8,["data"])),[[Q,n(f).loading]])]),_:1},8,["label","name"]))),128))]),_:1},8,["modelValue"]),d("div",Be,[t(J,{modelValue:n(f),"onUpdate:modelValue":e[7]||(e[7]=l=>h(f)?f.value=l:null),onChange:n(k)},null,8,["modelValue","onChange"])])]),_:1}),t(ke,{modelValue:n(v),"onUpdate:modelValue":e[8]||(e[8]=l=>h(v)?v.value=l:null),"refund-id":n(U)},null,8,["modelValue","refund-id"])])}}});export{ze as default}; diff --git a/server/public/admin/assets/relations-add-6UnLFZfv.js b/server/public/admin/assets/relations-add-6UnLFZfv.js deleted file mode 100644 index cf3ba49f..00000000 --- a/server/public/admin/assets/relations-add-6UnLFZfv.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./relations-add.vue_vue_type_script_setup_true_lang-7-u9xnWz.js";import"./.pnpm-9dA1PEvN.js";import"./code-m_-AEIO9.js";import"./index-CJvXnF8Y.js";import"./index-BBemoNXE.js";import"./useDictOptions-bKMXOe8R.js";export{o as default}; diff --git a/server/public/admin/assets/relations-add-CDnhosHf.js b/server/public/admin/assets/relations-add-CDnhosHf.js new file mode 100644 index 00000000..1e4b307a --- /dev/null +++ b/server/public/admin/assets/relations-add-CDnhosHf.js @@ -0,0 +1 @@ +import{_ as o}from"./relations-add.vue_vue_type_script_setup_true_lang-C03NjiRq.js";import"./.pnpm-9dA1PEvN.js";import"./code-J7VgRFVf.js";import"./index-BWzN7QIb.js";import"./index-dYaCh-CN.js";import"./useDictOptions-BeE4yyHx.js";export{o as default}; diff --git a/server/public/admin/assets/relations-add.vue_vue_type_script_setup_true_lang-7-u9xnWz.js b/server/public/admin/assets/relations-add.vue_vue_type_script_setup_true_lang-C03NjiRq.js similarity index 95% rename from server/public/admin/assets/relations-add.vue_vue_type_script_setup_true_lang-7-u9xnWz.js rename to server/public/admin/assets/relations-add.vue_vue_type_script_setup_true_lang-C03NjiRq.js index fc6e04f8..6d3243de 100644 --- a/server/public/admin/assets/relations-add.vue_vue_type_script_setup_true_lang-7-u9xnWz.js +++ b/server/public/admin/assets/relations-add.vue_vue_type_script_setup_true_lang-C03NjiRq.js @@ -1 +1 @@ -import{o as O,q as s,r as m,v as t,D as n,b9 as A,u as a,b6 as I,bm as M,F as i,G as _,O as y,bn as S,b7 as $,a8 as g,p as G,ba as L,M as N}from"./.pnpm-9dA1PEvN.js";import{a as T}from"./code-m_-AEIO9.js";import{_ as j}from"./index-BBemoNXE.js";import{u as z}from"./useDictOptions-bKMXOe8R.js";const H={class:"edit-popup"},W=O({__name:"relations-add",props:{column:{type:Array,default:()=>[]},types:{type:Array,default:()=>[]}},emits:["add","close","edit"],setup(b,{expose:x,emit:q}){const k=q,v=g(),d=g(),p=N("add"),E=G(()=>p.value=="edit"?"编辑关联":"新增关联"),o=L({name:"",model:"",type:"",local_key:"",foreign_key:""}),R={name:[{required:!0,message:"请输入关联名称"}],type:[{required:!0,message:"请选择关联类型"}],model:[{required:!0,message:"请选择关联模型"}],local_key:[{required:!0,message:"请选择关联健"}],foreign_key:[{required:!0,message:"请输入外键"}]},{optionsData:w}=z({models:{api:T}}),C=async()=>{var u,e;await((u=v.value)==null?void 0:u.validate()),(e=d.value)==null||e.close(),k(p.value,o)},D=(u="add")=>{var e;p.value=u,(e=d.value)==null||e.open()},F=u=>{for(const e in o)u[e]!=null&&u[e]!=null&&(o[e]=u[e])},U=()=>{k("close")};return x({open:D,setFormData:F}),(u,e)=>{const c=S,f=M,r=I,V=$,h=A;return s(),m("div",H,[t(j,{ref_key:"popupRef",ref:d,title:a(E),async:!0,width:"550px",onConfirm:C,onClose:U},{default:n(()=>[t(h,{ref_key:"formRef",ref:v,model:a(o),"label-width":"84px",rules:R},{default:n(()=>[t(r,{label:"关联类型",prop:"type"},{default:n(()=>[t(f,{class:"flex-1",modelValue:a(o).type,"onUpdate:modelValue":e[0]||(e[0]=l=>a(o).type=l),placeholder:"请选择关联类型"},{default:n(()=>[(s(!0),m(i,null,_(b.types,(l,B)=>(s(),y(c,{key:B,label:l.name,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(r,{label:"关联名称",prop:"name"},{default:n(()=>[t(V,{modelValue:a(o).name,"onUpdate:modelValue":e[1]||(e[1]=l=>a(o).name=l),placeholder:"请输入关联名称"},null,8,["modelValue"])]),_:1}),t(r,{label:"关联模型",prop:"model"},{default:n(()=>[t(f,{class:"flex-1",modelValue:a(o).model,"onUpdate:modelValue":e[2]||(e[2]=l=>a(o).model=l),placeholder:"请选择关联模型"},{default:n(()=>[(s(!0),m(i,null,_(a(w).models,l=>(s(),y(c,{label:l,value:l,key:l},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(r,{label:"关联健",prop:"local_key"},{default:n(()=>[t(f,{class:"flex-1",modelValue:a(o).local_key,"onUpdate:modelValue":e[3]||(e[3]=l=>a(o).local_key=l),clearable:"",placeholder:"请选择关联健"},{default:n(()=>[(s(!0),m(i,null,_(b.column,l=>(s(),y(c,{key:l.id,value:l.column_name,label:`${l.column_name}:${l.column_comment}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(r,{label:"外键",prop:"foreign_key"},{default:n(()=>[t(V,{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{W as _}; +import{o as O,q as s,r as m,v as t,D as n,b9 as A,u as a,b6 as I,bm as M,F as i,G as _,O as y,bn as S,b7 as $,a8 as g,p as G,ba as L,M as N}from"./.pnpm-9dA1PEvN.js";import{a as T}from"./code-J7VgRFVf.js";import{_ as j}from"./index-dYaCh-CN.js";import{u as z}from"./useDictOptions-BeE4yyHx.js";const H={class:"edit-popup"},W=O({__name:"relations-add",props:{column:{type:Array,default:()=>[]},types:{type:Array,default:()=>[]}},emits:["add","close","edit"],setup(b,{expose:x,emit:q}){const k=q,v=g(),d=g(),p=N("add"),E=G(()=>p.value=="edit"?"编辑关联":"新增关联"),o=L({name:"",model:"",type:"",local_key:"",foreign_key:""}),R={name:[{required:!0,message:"请输入关联名称"}],type:[{required:!0,message:"请选择关联类型"}],model:[{required:!0,message:"请选择关联模型"}],local_key:[{required:!0,message:"请选择关联健"}],foreign_key:[{required:!0,message:"请输入外键"}]},{optionsData:w}=z({models:{api:T}}),C=async()=>{var u,e;await((u=v.value)==null?void 0:u.validate()),(e=d.value)==null||e.close(),k(p.value,o)},D=(u="add")=>{var e;p.value=u,(e=d.value)==null||e.open()},F=u=>{for(const e in o)u[e]!=null&&u[e]!=null&&(o[e]=u[e])},U=()=>{k("close")};return x({open:D,setFormData:F}),(u,e)=>{const c=S,f=M,r=I,V=$,h=A;return s(),m("div",H,[t(j,{ref_key:"popupRef",ref:d,title:a(E),async:!0,width:"550px",onConfirm:C,onClose:U},{default:n(()=>[t(h,{ref_key:"formRef",ref:v,model:a(o),"label-width":"84px",rules:R},{default:n(()=>[t(r,{label:"关联类型",prop:"type"},{default:n(()=>[t(f,{class:"flex-1",modelValue:a(o).type,"onUpdate:modelValue":e[0]||(e[0]=l=>a(o).type=l),placeholder:"请选择关联类型"},{default:n(()=>[(s(!0),m(i,null,_(b.types,(l,B)=>(s(),y(c,{key:B,label:l.name,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(r,{label:"关联名称",prop:"name"},{default:n(()=>[t(V,{modelValue:a(o).name,"onUpdate:modelValue":e[1]||(e[1]=l=>a(o).name=l),placeholder:"请输入关联名称"},null,8,["modelValue"])]),_:1}),t(r,{label:"关联模型",prop:"model"},{default:n(()=>[t(f,{class:"flex-1",modelValue:a(o).model,"onUpdate:modelValue":e[2]||(e[2]=l=>a(o).model=l),placeholder:"请选择关联模型"},{default:n(()=>[(s(!0),m(i,null,_(a(w).models,l=>(s(),y(c,{label:l,value:l,key:l},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(r,{label:"关联健",prop:"local_key"},{default:n(()=>[t(f,{class:"flex-1",modelValue:a(o).local_key,"onUpdate:modelValue":e[3]||(e[3]=l=>a(o).local_key=l),clearable:"",placeholder:"请选择关联健"},{default:n(()=>[(s(!0),m(i,null,_(b.column,l=>(s(),y(c,{key:l.id,value:l.column_name,label:`${l.column_name}:${l.column_comment}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(r,{label:"外键",prop:"foreign_key"},{default:n(()=>[t(V,{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{W as _}; diff --git a/server/public/admin/assets/rich_text-Cd2nXERY.js b/server/public/admin/assets/rich_text-MCXm6fRU.js similarity index 70% rename from server/public/admin/assets/rich_text-Cd2nXERY.js rename to server/public/admin/assets/rich_text-MCXm6fRU.js index 6062b539..c603f813 100644 --- a/server/public/admin/assets/rich_text-Cd2nXERY.js +++ b/server/public/admin/assets/rich_text-MCXm6fRU.js @@ -1 +1 @@ -import{o as s,q as p,r as d,v as t,D as n,u as a,bg as i,ba as u}from"./.pnpm-9dA1PEvN.js";import{_}from"./index.vue_vue_type_style_index_0_lang-iDb8ZvRz.js";import"./picker-DWQ_BAep.js";import"./index-BBemoNXE.js";import"./index-CJvXnF8Y.js";import"./index-CY1mb9yY.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-CAGpCz28.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const q=s({__name:"rich_text",setup(c){const e=u({value1:"",value2:""});return(v,o)=>{const l=_,m=i;return p(),d("div",null,[t(m,{header:"基础使用",shadow:"never",class:"!border-none"},{default:n(()=>[t(l,{modelValue:a(e).value1,"onUpdate:modelValue":o[0]||(o[0]=r=>a(e).value1=r),height:"500px"},null,8,["modelValue"])]),_:1}),t(m,{header:"简洁模式",shadow:"never",class:"!border-none mt-4"},{default:n(()=>[t(l,{modelValue:a(e).value2,"onUpdate:modelValue":o[1]||(o[1]=r=>a(e).value2=r),height:"500px",mode:"simple"},null,8,["modelValue"])]),_:1})])}}});export{q as default}; +import{o as s,q as p,r as d,v as t,D as n,u as a,bg as i,ba as u}from"./.pnpm-9dA1PEvN.js";import{_}from"./index.vue_vue_type_style_index_0_lang-DqDA-KJo.js";import"./picker-DfI3CPnQ.js";import"./index-dYaCh-CN.js";import"./index-BWzN7QIb.js";import"./index-xDQ_OZln.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-fA0EWEUO.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const q=s({__name:"rich_text",setup(c){const e=u({value1:"",value2:""});return(v,o)=>{const l=_,m=i;return p(),d("div",null,[t(m,{header:"基础使用",shadow:"never",class:"!border-none"},{default:n(()=>[t(l,{modelValue:a(e).value1,"onUpdate:modelValue":o[0]||(o[0]=r=>a(e).value1=r),height:"500px"},null,8,["modelValue"])]),_:1}),t(m,{header:"简洁模式",shadow:"never",class:"!border-none mt-4"},{default:n(()=>[t(l,{modelValue:a(e).value2,"onUpdate:modelValue":o[1]||(o[1]=r=>a(e).value2=r),height:"500px",mode:"simple"},null,8,["modelValue"])]),_:1})])}}});export{q as default}; diff --git a/server/public/admin/assets/role-D6rynjFP.js b/server/public/admin/assets/role-CrpOZd5J.js similarity index 83% rename from server/public/admin/assets/role-D6rynjFP.js rename to server/public/admin/assets/role-CrpOZd5J.js index e4e6190f..b6d66e15 100644 --- a/server/public/admin/assets/role-D6rynjFP.js +++ b/server/public/admin/assets/role-CrpOZd5J.js @@ -1 +1 @@ -import{r as t}from"./index-CJvXnF8Y.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-BWzN7QIb.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-C0mCO8h8.js b/server/public/admin/assets/roster-Ims33KsB.js similarity index 99% rename from server/public/admin/assets/roster-C0mCO8h8.js rename to server/public/admin/assets/roster-Ims33KsB.js index efea19d9..864df968 100644 --- a/server/public/admin/assets/roster-C0mCO8h8.js +++ b/server/public/admin/assets/roster-Ims33KsB.js @@ -1 +1 @@ -import{o as le,M as p,ap as qe,q as v,r as k,v as l,D as o,s as _,b9 as Ue,b6 as $e,b7 as Se,K as Ie,L as s,bh as Me,T as Y,ac as Be,O as M,bj as We,bk as he,F as N,G as T,ae as Re,bi as Ne,bg as Te,bt as Le,cy as Fe,bm as je,bn as ze,J as Oe,bc as Ae,bf as Ge,P as te,bp as Pe,cz as Je,bd as Ke,p as L,e as He}from"./.pnpm-9dA1PEvN.js";import{d as B,i as Qe}from"./dayjs-BsOAYQJw.js";import{i as m,_ as Xe}from"./index-CJvXnF8Y.js";import{h as Ze,i as et,f as tt,r as lt,j as at}from"./doctor-Bmtf1eZE.js";const ot={class:"doctor-roster p-4"},st={class:"flex justify-between items-center"},nt={class:"mb-4"},ut={class:"text-center mb-4 text-gray-600"},dt=["onClick"],rt={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"},ft={class:"w-full space-y-2"},pt=le({name:"doctorRoster"}),vt=le({...pt,setup(_t){B.extend(Qe);const F=p(""),b=p(B().startOf("isoWeek")),j=p(!1),W=p(!1),V=p(null),x=p(""),P=p([]),U=p(!1),z=p(!1),r=p({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:""}),$=p(!1),O=p(!1),J=()=>[{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}],u=p({doctorIds:[],dateRange:[],weekdays:[1,2,3,4,5],status:1,remark:"",segments:J()}),q=p([]),ae=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 d=0;d<7;d++){const i=b.value.add(d,"day");t.push({date:i.format("YYYY-MM-DD"),label:`${e[d]} ${i.format("MM-DD")}`})}return t}),ne=L(()=>{const t=b.value.format("YYYY-MM-DD"),e=b.value.add(6,"day").format("YYYY-MM-DD");return`${t} 至 ${e}`});function K(t){return{1:"出诊",2:"停诊",3:"休息",4:"请假"}[t]??String(t)}function H(t){return t==="day"?"白班":t==="night"?"夜班":"—"}function ue(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 de(t){const e=`${t.start_time}-${t.end_time}`,d=H(t.shift_type),i=d!=="—"?` ${d}`:"";if(t.status===1){const n=t.quota>0?` 号源${t.quota}`:"";return`${e}${i} 出诊${n}`}return`${e}${i} ${K(t.status)}`}function Q(t,e){return t.rostersByDate[e]||[]}function h(){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,d)=>e.start_time.localeCompare(d.start_time)))}function re(t,e){V.value=t,x.value=e,h(),W.value=!0}function X(t){if(!V.value||!x.value){m.msgWarning("请先选择日期格子");return}t?r.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||""}:r.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=r.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}z.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 Ze(e),m.msgSuccess("保存成功"),U.value=!1,await c(),h()}catch{m.msgError("保存失败")}finally{z.value=!1}}async function me(t){try{await He.confirm("确定删除该时段?","提示",{type:"warning"})}catch{return}try{await et({id:t.id}),m.msgSuccess("已删除"),await c(),h()}catch{m.msgError("删除失败")}}const fe=async()=>{try{const t=await tt({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 c()}catch(t){console.error("加载医生列表失败:",t),m.msgError("加载医生列表失败")}},c=async()=>{j.value=!0;try{const t={start_date:b.value.format("YYYY-MM-DD"),end_date:b.value.add(6,"day").format("YYYY-MM-DD")},e=await lt(t),d=(e==null?void 0:e.lists)||[];q.value.forEach(i=>{i.rostersByDate={},d.forEach(n=>{if(n.doctor_id!==i.doctorId)return;const g=n.date;i.rostersByDate[g]||(i.rostersByDate[g]=[]),i.rostersByDate[g].push({id:n.id,status:n.status,quota:n.quota||0,max_patients:n.max_patients,start_time:n.start_time||pe(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})})}),h()}catch(t){console.error("加载排班数据失败:",t),m.msgError("加载排班数据失败")}finally{j.value=!1}};function pe(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=()=>{c()},ye=()=>{b.value=b.value.subtract(1,"week"),c()},be=()=>{b.value=b.value.add(1,"week"),c()},ge=()=>{b.value=B().startOf("isoWeek"),c()},ke=()=>{u.value={doctorIds:[],dateRange:[],weekdays:[1,2,3,4,5],status:1,remark:"",segments:J()},$.value=!0},Ve=()=>{u.value.segments.push({start_time:"09:00",end_time:"12:00",shift_type:"day",slot_minutes:15,quota:0})},xe=()=>{u.value.segments.push({start_time:"18:00",end_time:"22:00",shift_type:"night",slot_minutes:15,quota:0})},ce=t=>{u.value.segments.length<=1||u.value.segments.splice(t,1)},we=async()=>{if(u.value.doctorIds.length===0){m.msgWarning("请选择医生");return}if(!u.value.dateRange||u.value.dateRange.length!==2){m.msgWarning("请选择日期范围");return}if(u.value.weekdays.length===0){m.msgWarning("请选择星期");return}for(const t of u.value.segments){if(!t.start_time||!t.end_time){m.msgWarning("请完善时段模板的开始与结束时间");return}if(t.start_time>=t.end_time){m.msgWarning("时段模板中结束时间须晚于开始时间");return}}O.value=!0;try{const t=[],e=B(u.value.dateRange[0]),d=B(u.value.dateRange[1]);let i=e;for(;i.isBefore(d)||i.isSame(d,"day");){const n=i.day();u.value.weekdays.includes(n)&&u.value.doctorIds.forEach(g=>{u.value.segments.forEach(w=>{const y={doctor_id:g,date:i.format("YYYY-MM-DD"),period:"segment",start_time:w.start_time,end_time:w.end_time,slot_minutes:w.slot_minutes||15,status:u.value.status,quota:u.value.status===1?w.quota:0,max_patients:0,remark:u.value.remark};w.shift_type&&(y.shift_type=w.shift_type),t.push(y)})}),i=i.add(1,"day")}if(t.length===0){m.msgWarning("没有符合条件的排班数据");return}await at({rosters:t}),m.msgSuccess(`批量保存成功!共处理 ${t.length} 条记录`),$.value=!1,await c()}catch(t){console.error("批量保存失败:",t),m.msgError("批量保存失败")}finally{O.value=!1}};return qe(()=>{fe()}),(t,e)=>{const d=Ie,i=Se,n=$e,g=Ue,w=Me,y=he,Z=We,De=Te,A=Le,R=Fe,S=ze,G=je,I=Oe,D=Ge,ee=Ae,Ce=Pe,E=Ke,Ye=Je,Ee=Ne;return v(),k("div",ot,[l(De,{shadow:"never"},{header:o(()=>[_("div",st,[e[25]||(e[25]=_("span",{class:"text-lg font-medium"},"医生排班管理",-1)),_("div",null,[l(d,{type:"success",onClick:ke},{default:o(()=>[...e[21]||(e[21]=[s("批量排班",-1)])]),_:1}),l(d,{onClick:ye},{default:o(()=>[...e[22]||(e[22]=[s("上一周",-1)])]),_:1}),l(d,{onClick:be},{default:o(()=>[...e[23]||(e[23]=[s("下一周",-1)])]),_:1}),l(d,{type:"primary",onClick:ge},{default:o(()=>[...e[24]||(e[24]=[s("本周",-1)])]),_:1})])])]),default:o(()=>[_("div",nt,[l(g,{inline:""},{default:o(()=>[l(n,{label:"医生"},{default:o(()=>[l(i,{modelValue:F.value,"onUpdate:modelValue":e[0]||(e[0]=a=>F.value=a),placeholder:"请输入医生姓名",clearable:"",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),l(n,null,{default:o(()=>[l(d,{type:"primary",onClick:_e},{default:o(()=>[...e[26]||(e[26]=[s("查询",-1)])]),_:1})]),_:1})]),_:1})]),l(w,{type:"info",closable:!1,class:"mb-4","show-icon":""},{default:o(()=>[...e[27]||(e[27]=[s(" 每条排班为一段连续可挂号时间;同一天可添加多段(如白班 + 夜班)。休息时段不添加出诊段即可。号源间隔默认 15 分钟;号源数填 0 表示按时段长度自动满号。 ",-1)])]),_:1}),_("div",ut,Y(ne.value),1),Be((v(),M(Z,{data:ae.value,border:""},{default:o(()=>[l(y,{prop:"doctorName",label:"医生",width:"120",fixed:""}),(v(!0),k(N,null,T(se.value,a=>(v(),M(y,{key:a.date,label:a.label,"min-width":"168"},{default:o(({row:C})=>[_("div",{class:"day-cell rounded border border-dashed border-gray-200 p-1 min-h-[56px] cursor-pointer hover:bg-gray-50",onClick:f=>re(C,a.date)},[Q(C,a.date).length===0?(v(),k("div",rt,"点击管理")):(v(),k("div",it,[(v(!0),k(N,null,T(Q(C,a.date),f=>(v(),k("div",{key:f.id,class:Re(["text-xs px-1 py-0.5 rounded leading-tight",ue(f.status)])},Y(de(f)),3))),128))]))],8,dt)]),_:2},1032,["label"]))),128))]),_:1},8,["data"])),[[Ee,j.value]])]),_:1}),l(A,{modelValue:W.value,"onUpdate:modelValue":e[3]||(e[3]=a=>W.value=a),title:oe.value,width:"720px","destroy-on-close":""},{footer:o(()=>[l(d,{onClick:e[1]||(e[1]=a=>W.value=!1)},{default:o(()=>[...e[30]||(e[30]=[s("关闭",-1)])]),_:1}),l(d,{type:"primary",onClick:e[2]||(e[2]=a=>X())},{default:o(()=>[...e[31]||(e[31]=[s("添加时段",-1)])]),_:1})]),default:o(()=>[l(Z,{data:P.value,border:"",size:"small","max-height":"360"},{default:o(()=>[l(y,{label:"时间",width:"150"},{default:o(({row:a})=>[s(Y(a.start_time)+" - "+Y(a.end_time),1)]),_:1}),l(y,{label:"班次",width:"80"},{default:o(({row:a})=>[s(Y(H(a.shift_type)),1)]),_:1}),l(y,{label:"状态",width:"88"},{default:o(({row:a})=>[s(Y(K(a.status)),1)]),_:1}),l(y,{label:"间隔",width:"72"},{default:o(({row:a})=>[s(Y(a.slot_minutes||15)+" 分",1)]),_:1}),l(y,{label:"号源",width:"72"},{default:o(({row:a})=>[s(Y(a.status===1?a.quota||"不限":"-"),1)]),_:1}),l(y,{label:"备注",prop:"remark","min-width":"100","show-overflow-tooltip":""}),l(y,{label:"操作",width:"140",fixed:"right"},{default:o(({row:a})=>[l(d,{type:"primary",link:"",onClick:C=>X(a)},{default:o(()=>[...e[28]||(e[28]=[s("编辑",-1)])]),_:1},8,["onClick"]),l(d,{type:"danger",link:"",onClick:C=>me(a)},{default:o(()=>[...e[29]||(e[29]=[s("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])]),_:1},8,["modelValue","title"]),l(A,{modelValue:U.value,"onUpdate:modelValue":e[13]||(e[13]=a=>U.value=a),title:r.value.id?"编辑时段":"添加时段",width:"520px","destroy-on-close":""},{footer:o(()=>[l(d,{onClick:e[12]||(e[12]=a=>U.value=!1)},{default:o(()=>[...e[39]||(e[39]=[s("取消",-1)])]),_:1}),l(d,{type:"primary",loading:z.value,onClick:ie},{default:o(()=>[...e[40]||(e[40]=[s("保存",-1)])]),_:1},8,["loading"])]),default:o(()=>[l(g,{model:r.value,"label-width":"110px"},{default:o(()=>[l(n,{label:"接诊时间",required:""},{default:o(()=>[_("div",mt,[l(R,{modelValue:r.value.start_time,"onUpdate:modelValue":e[4]||(e[4]=a=>r.value.start_time=a),start:"00:00",step:"00:5",end:"23:45",placeholder:"开始",style:{width:"120px"}},null,8,["modelValue"]),e[32]||(e[32]=_("span",null,"至",-1)),l(R,{modelValue:r.value.end_time,"onUpdate:modelValue":e[5]||(e[5]=a=>r.value.end_time=a),start:"00:00",step:"00:5",end:"23:45",placeholder:"结束",style:{width:"120px"}},null,8,["modelValue"])])]),_:1}),l(n,{label:"班次标签"},{default:o(()=>[l(G,{modelValue:r.value.shift_type,"onUpdate:modelValue":e[6]||(e[6]=a=>r.value.shift_type=a),placeholder:"选填",clearable:"",style:{width:"200px"}},{default:o(()=>[l(S,{label:"白班",value:"day"}),l(S,{label:"夜班",value:"night"})]),_:1},8,["modelValue"])]),_:1}),l(n,{label:"号源间隔(分)"},{default:o(()=>[l(I,{modelValue:r.value.slot_minutes,"onUpdate:modelValue":e[7]||(e[7]=a=>r.value.slot_minutes=a),min:5,max:120,step:5},null,8,["modelValue"]),e[33]||(e[33]=_("span",{class:"ml-2 text-gray-500 text-sm"},"默认 15",-1))]),_:1}),l(n,{label:"状态"},{default:o(()=>[l(ee,{modelValue:r.value.status,"onUpdate:modelValue":e[8]||(e[8]=a=>r.value.status=a)},{default:o(()=>[l(D,{label:1},{default:o(()=>[...e[34]||(e[34]=[s("出诊",-1)])]),_:1}),l(D,{label:2},{default:o(()=>[...e[35]||(e[35]=[s("停诊",-1)])]),_:1}),l(D,{label:3},{default:o(()=>[...e[36]||(e[36]=[s("休息",-1)])]),_:1}),l(D,{label:4},{default:o(()=>[...e[37]||(e[37]=[s("请假",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),r.value.status===1?(v(),M(n,{key:0,label:"号源上限"},{default:o(()=>[l(I,{modelValue:r.value.quota,"onUpdate:modelValue":e[9]||(e[9]=a=>r.value.quota=a),min:0,max:200},null,8,["modelValue"]),e[38]||(e[38]=_("div",{class:"text-gray-500 text-xs mt-1"},"0 表示不限制(由时段÷间隔计算可约数)",-1))]),_:1})):te("",!0),r.value.status===1?(v(),M(n,{key:1,label:"最大接诊"},{default:o(()=>[l(I,{modelValue:r.value.max_patients,"onUpdate:modelValue":e[10]||(e[10]=a=>r.value.max_patients=a),min:0,max:500},null,8,["modelValue"])]),_:1})):te("",!0),l(n,{label:"备注"},{default:o(()=>[l(i,{modelValue:r.value.remark,"onUpdate:modelValue":e[11]||(e[11]=a=>r.value.remark=a),type:"textarea",rows:2},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),l(A,{modelValue:$.value,"onUpdate:modelValue":e[20]||(e[20]=a=>$.value=a),title:"批量排班",width:"780px","destroy-on-close":""},{footer:o(()=>[l(d,{onClick:e[19]||(e[19]=a=>$.value=!1)},{default:o(()=>[...e[58]||(e[58]=[s("取消",-1)])]),_:1}),l(d,{type:"primary",onClick:we,loading:O.value},{default:o(()=>[...e[59]||(e[59]=[s("确定",-1)])]),_:1},8,["loading"])]),default:o(()=>[l(g,{model:u.value,"label-width":"100px"},{default:o(()=>[l(n,{label:"选择医生",required:""},{default:o(()=>[l(G,{modelValue:u.value.doctorIds,"onUpdate:modelValue":e[14]||(e[14]=a=>u.value.doctorIds=a),multiple:"",placeholder:"请选择医生",class:"w-full",filterable:""},{default:o(()=>[(v(!0),k(N,null,T(q.value,a=>(v(),M(S,{key:a.doctorId,label:a.doctorName,value:a.doctorId},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(n,{label:"日期范围",required:""},{default:o(()=>[l(Ce,{modelValue:u.value.dateRange,"onUpdate:modelValue":e[15]||(e[15]=a=>u.value.dateRange=a),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",format:"YYYY-MM-DD","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),l(n,{label:"星期",required:""},{default:o(()=>[l(Ye,{modelValue:u.value.weekdays,"onUpdate:modelValue":e[16]||(e[16]=a=>u.value.weekdays=a)},{default:o(()=>[l(E,{label:1},{default:o(()=>[...e[41]||(e[41]=[s("周一",-1)])]),_:1}),l(E,{label:2},{default:o(()=>[...e[42]||(e[42]=[s("周二",-1)])]),_:1}),l(E,{label:3},{default:o(()=>[...e[43]||(e[43]=[s("周三",-1)])]),_:1}),l(E,{label:4},{default:o(()=>[...e[44]||(e[44]=[s("周四",-1)])]),_:1}),l(E,{label:5},{default:o(()=>[...e[45]||(e[45]=[s("周五",-1)])]),_:1}),l(E,{label:6},{default:o(()=>[...e[46]||(e[46]=[s("周六",-1)])]),_:1}),l(E,{label:0},{default:o(()=>[...e[47]||(e[47]=[s("周日",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(n,{label:"时段模板"},{default:o(()=>[_("div",ft,[(v(!0),k(N,null,T(u.value.segments,(a,C)=>(v(),k("div",{key:C,class:"flex flex-wrap items-center gap-2 p-2 bg-gray-50 rounded"},[l(R,{modelValue:a.start_time,"onUpdate:modelValue":f=>a.start_time=f,start:"00:00",step:"00:05",end:"23:45",placeholder:"开始",style:{width:"110px"}},null,8,["modelValue","onUpdate:modelValue"]),e[49]||(e[49]=_("span",null,"—",-1)),l(R,{modelValue:a.end_time,"onUpdate:modelValue":f=>a.end_time=f,start:"00:00",step:"00:05",end:"23:45",placeholder:"结束",style:{width:"110px"}},null,8,["modelValue","onUpdate:modelValue"]),l(G,{modelValue:a.shift_type,"onUpdate:modelValue":f=>a.shift_type=f,placeholder:"班次",clearable:"",style:{width:"100px"}},{default:o(()=>[l(S,{label:"白班",value:"day"}),l(S,{label:"夜班",value:"night"})]),_:1},8,["modelValue","onUpdate:modelValue"]),e[50]||(e[50]=_("span",{class:"text-sm text-gray-500"},"间隔",-1)),l(I,{modelValue:a.slot_minutes,"onUpdate:modelValue":f=>a.slot_minutes=f,min:5,max:120,step:5,style:{width:"100px"}},null,8,["modelValue","onUpdate:modelValue"]),e[51]||(e[51]=_("span",{class:"text-sm text-gray-500"},"号源0=不限",-1)),l(I,{modelValue:a.quota,"onUpdate:modelValue":f=>a.quota=f,min:0,max:200,style:{width:"100px"}},null,8,["modelValue","onUpdate:modelValue"]),l(d,{type:"danger",link:"",onClick:f=>ce(C),disabled:u.value.segments.length<=1},{default:o(()=>[...e[48]||(e[48]=[s("删除",-1)])]),_:1},8,["onClick","disabled"])]))),128)),l(d,{type:"primary",link:"",onClick:Ve},{default:o(()=>[...e[52]||(e[52]=[s("+ 增加一段",-1)])]),_:1}),l(d,{type:"success",link:"",onClick:xe},{default:o(()=>[...e[53]||(e[53]=[s("+ 夜班 18:00–22:00",-1)])]),_:1})])]),_:1}),l(n,{label:"排班状态",required:""},{default:o(()=>[l(ee,{modelValue:u.value.status,"onUpdate:modelValue":e[17]||(e[17]=a=>u.value.status=a)},{default:o(()=>[l(D,{label:1},{default:o(()=>[...e[54]||(e[54]=[s("出诊",-1)])]),_:1}),l(D,{label:2},{default:o(()=>[...e[55]||(e[55]=[s("停诊",-1)])]),_:1}),l(D,{label:3},{default:o(()=>[...e[56]||(e[56]=[s("休息",-1)])]),_:1}),l(D,{label:4},{default:o(()=>[...e[57]||(e[57]=[s("请假",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(n,{label:"备注"},{default:o(()=>[l(i,{modelValue:u.value.remark,"onUpdate:modelValue":e[18]||(e[18]=a=>u.value.remark=a),type:"textarea",rows:2},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}}),Vt=Xe(vt,[["__scopeId","data-v-3efc17b6"]]);export{Vt as default}; +import{o as le,M as p,ap as qe,q as v,r as k,v as l,D as o,s as _,b9 as Ue,b6 as $e,b7 as Se,K as Ie,L as s,bh as Me,T as Y,ac as Be,O as M,bj as We,bk as he,F as N,G as T,ae as Re,bi as Ne,bg as Te,bt as Le,cy as Fe,bm as je,bn as ze,J as Oe,bc as Ae,bf as Ge,P as te,bp as Pe,cz as Je,bd as Ke,p as L,e as He}from"./.pnpm-9dA1PEvN.js";import{d as B,i as Qe}from"./dayjs-BsOAYQJw.js";import{i as m,_ as Xe}from"./index-BWzN7QIb.js";import{h as Ze,i as et,f as tt,r as lt,j as at}from"./doctor-Chj6BcVp.js";const ot={class:"doctor-roster p-4"},st={class:"flex justify-between items-center"},nt={class:"mb-4"},ut={class:"text-center mb-4 text-gray-600"},dt=["onClick"],rt={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"},ft={class:"w-full space-y-2"},pt=le({name:"doctorRoster"}),vt=le({...pt,setup(_t){B.extend(Qe);const F=p(""),b=p(B().startOf("isoWeek")),j=p(!1),W=p(!1),V=p(null),x=p(""),P=p([]),U=p(!1),z=p(!1),r=p({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:""}),$=p(!1),O=p(!1),J=()=>[{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}],u=p({doctorIds:[],dateRange:[],weekdays:[1,2,3,4,5],status:1,remark:"",segments:J()}),q=p([]),ae=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 d=0;d<7;d++){const i=b.value.add(d,"day");t.push({date:i.format("YYYY-MM-DD"),label:`${e[d]} ${i.format("MM-DD")}`})}return t}),ne=L(()=>{const t=b.value.format("YYYY-MM-DD"),e=b.value.add(6,"day").format("YYYY-MM-DD");return`${t} 至 ${e}`});function K(t){return{1:"出诊",2:"停诊",3:"休息",4:"请假"}[t]??String(t)}function H(t){return t==="day"?"白班":t==="night"?"夜班":"—"}function ue(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 de(t){const e=`${t.start_time}-${t.end_time}`,d=H(t.shift_type),i=d!=="—"?` ${d}`:"";if(t.status===1){const n=t.quota>0?` 号源${t.quota}`:"";return`${e}${i} 出诊${n}`}return`${e}${i} ${K(t.status)}`}function Q(t,e){return t.rostersByDate[e]||[]}function h(){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,d)=>e.start_time.localeCompare(d.start_time)))}function re(t,e){V.value=t,x.value=e,h(),W.value=!0}function X(t){if(!V.value||!x.value){m.msgWarning("请先选择日期格子");return}t?r.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||""}:r.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=r.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}z.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 Ze(e),m.msgSuccess("保存成功"),U.value=!1,await c(),h()}catch{m.msgError("保存失败")}finally{z.value=!1}}async function me(t){try{await He.confirm("确定删除该时段?","提示",{type:"warning"})}catch{return}try{await et({id:t.id}),m.msgSuccess("已删除"),await c(),h()}catch{m.msgError("删除失败")}}const fe=async()=>{try{const t=await tt({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 c()}catch(t){console.error("加载医生列表失败:",t),m.msgError("加载医生列表失败")}},c=async()=>{j.value=!0;try{const t={start_date:b.value.format("YYYY-MM-DD"),end_date:b.value.add(6,"day").format("YYYY-MM-DD")},e=await lt(t),d=(e==null?void 0:e.lists)||[];q.value.forEach(i=>{i.rostersByDate={},d.forEach(n=>{if(n.doctor_id!==i.doctorId)return;const g=n.date;i.rostersByDate[g]||(i.rostersByDate[g]=[]),i.rostersByDate[g].push({id:n.id,status:n.status,quota:n.quota||0,max_patients:n.max_patients,start_time:n.start_time||pe(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})})}),h()}catch(t){console.error("加载排班数据失败:",t),m.msgError("加载排班数据失败")}finally{j.value=!1}};function pe(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=()=>{c()},ye=()=>{b.value=b.value.subtract(1,"week"),c()},be=()=>{b.value=b.value.add(1,"week"),c()},ge=()=>{b.value=B().startOf("isoWeek"),c()},ke=()=>{u.value={doctorIds:[],dateRange:[],weekdays:[1,2,3,4,5],status:1,remark:"",segments:J()},$.value=!0},Ve=()=>{u.value.segments.push({start_time:"09:00",end_time:"12:00",shift_type:"day",slot_minutes:15,quota:0})},xe=()=>{u.value.segments.push({start_time:"18:00",end_time:"22:00",shift_type:"night",slot_minutes:15,quota:0})},ce=t=>{u.value.segments.length<=1||u.value.segments.splice(t,1)},we=async()=>{if(u.value.doctorIds.length===0){m.msgWarning("请选择医生");return}if(!u.value.dateRange||u.value.dateRange.length!==2){m.msgWarning("请选择日期范围");return}if(u.value.weekdays.length===0){m.msgWarning("请选择星期");return}for(const t of u.value.segments){if(!t.start_time||!t.end_time){m.msgWarning("请完善时段模板的开始与结束时间");return}if(t.start_time>=t.end_time){m.msgWarning("时段模板中结束时间须晚于开始时间");return}}O.value=!0;try{const t=[],e=B(u.value.dateRange[0]),d=B(u.value.dateRange[1]);let i=e;for(;i.isBefore(d)||i.isSame(d,"day");){const n=i.day();u.value.weekdays.includes(n)&&u.value.doctorIds.forEach(g=>{u.value.segments.forEach(w=>{const y={doctor_id:g,date:i.format("YYYY-MM-DD"),period:"segment",start_time:w.start_time,end_time:w.end_time,slot_minutes:w.slot_minutes||15,status:u.value.status,quota:u.value.status===1?w.quota:0,max_patients:0,remark:u.value.remark};w.shift_type&&(y.shift_type=w.shift_type),t.push(y)})}),i=i.add(1,"day")}if(t.length===0){m.msgWarning("没有符合条件的排班数据");return}await at({rosters:t}),m.msgSuccess(`批量保存成功!共处理 ${t.length} 条记录`),$.value=!1,await c()}catch(t){console.error("批量保存失败:",t),m.msgError("批量保存失败")}finally{O.value=!1}};return qe(()=>{fe()}),(t,e)=>{const d=Ie,i=Se,n=$e,g=Ue,w=Me,y=he,Z=We,De=Te,A=Le,R=Fe,S=ze,G=je,I=Oe,D=Ge,ee=Ae,Ce=Pe,E=Ke,Ye=Je,Ee=Ne;return v(),k("div",ot,[l(De,{shadow:"never"},{header:o(()=>[_("div",st,[e[25]||(e[25]=_("span",{class:"text-lg font-medium"},"医生排班管理",-1)),_("div",null,[l(d,{type:"success",onClick:ke},{default:o(()=>[...e[21]||(e[21]=[s("批量排班",-1)])]),_:1}),l(d,{onClick:ye},{default:o(()=>[...e[22]||(e[22]=[s("上一周",-1)])]),_:1}),l(d,{onClick:be},{default:o(()=>[...e[23]||(e[23]=[s("下一周",-1)])]),_:1}),l(d,{type:"primary",onClick:ge},{default:o(()=>[...e[24]||(e[24]=[s("本周",-1)])]),_:1})])])]),default:o(()=>[_("div",nt,[l(g,{inline:""},{default:o(()=>[l(n,{label:"医生"},{default:o(()=>[l(i,{modelValue:F.value,"onUpdate:modelValue":e[0]||(e[0]=a=>F.value=a),placeholder:"请输入医生姓名",clearable:"",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),l(n,null,{default:o(()=>[l(d,{type:"primary",onClick:_e},{default:o(()=>[...e[26]||(e[26]=[s("查询",-1)])]),_:1})]),_:1})]),_:1})]),l(w,{type:"info",closable:!1,class:"mb-4","show-icon":""},{default:o(()=>[...e[27]||(e[27]=[s(" 每条排班为一段连续可挂号时间;同一天可添加多段(如白班 + 夜班)。休息时段不添加出诊段即可。号源间隔默认 15 分钟;号源数填 0 表示按时段长度自动满号。 ",-1)])]),_:1}),_("div",ut,Y(ne.value),1),Be((v(),M(Z,{data:ae.value,border:""},{default:o(()=>[l(y,{prop:"doctorName",label:"医生",width:"120",fixed:""}),(v(!0),k(N,null,T(se.value,a=>(v(),M(y,{key:a.date,label:a.label,"min-width":"168"},{default:o(({row:C})=>[_("div",{class:"day-cell rounded border border-dashed border-gray-200 p-1 min-h-[56px] cursor-pointer hover:bg-gray-50",onClick:f=>re(C,a.date)},[Q(C,a.date).length===0?(v(),k("div",rt,"点击管理")):(v(),k("div",it,[(v(!0),k(N,null,T(Q(C,a.date),f=>(v(),k("div",{key:f.id,class:Re(["text-xs px-1 py-0.5 rounded leading-tight",ue(f.status)])},Y(de(f)),3))),128))]))],8,dt)]),_:2},1032,["label"]))),128))]),_:1},8,["data"])),[[Ee,j.value]])]),_:1}),l(A,{modelValue:W.value,"onUpdate:modelValue":e[3]||(e[3]=a=>W.value=a),title:oe.value,width:"720px","destroy-on-close":""},{footer:o(()=>[l(d,{onClick:e[1]||(e[1]=a=>W.value=!1)},{default:o(()=>[...e[30]||(e[30]=[s("关闭",-1)])]),_:1}),l(d,{type:"primary",onClick:e[2]||(e[2]=a=>X())},{default:o(()=>[...e[31]||(e[31]=[s("添加时段",-1)])]),_:1})]),default:o(()=>[l(Z,{data:P.value,border:"",size:"small","max-height":"360"},{default:o(()=>[l(y,{label:"时间",width:"150"},{default:o(({row:a})=>[s(Y(a.start_time)+" - "+Y(a.end_time),1)]),_:1}),l(y,{label:"班次",width:"80"},{default:o(({row:a})=>[s(Y(H(a.shift_type)),1)]),_:1}),l(y,{label:"状态",width:"88"},{default:o(({row:a})=>[s(Y(K(a.status)),1)]),_:1}),l(y,{label:"间隔",width:"72"},{default:o(({row:a})=>[s(Y(a.slot_minutes||15)+" 分",1)]),_:1}),l(y,{label:"号源",width:"72"},{default:o(({row:a})=>[s(Y(a.status===1?a.quota||"不限":"-"),1)]),_:1}),l(y,{label:"备注",prop:"remark","min-width":"100","show-overflow-tooltip":""}),l(y,{label:"操作",width:"140",fixed:"right"},{default:o(({row:a})=>[l(d,{type:"primary",link:"",onClick:C=>X(a)},{default:o(()=>[...e[28]||(e[28]=[s("编辑",-1)])]),_:1},8,["onClick"]),l(d,{type:"danger",link:"",onClick:C=>me(a)},{default:o(()=>[...e[29]||(e[29]=[s("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])]),_:1},8,["modelValue","title"]),l(A,{modelValue:U.value,"onUpdate:modelValue":e[13]||(e[13]=a=>U.value=a),title:r.value.id?"编辑时段":"添加时段",width:"520px","destroy-on-close":""},{footer:o(()=>[l(d,{onClick:e[12]||(e[12]=a=>U.value=!1)},{default:o(()=>[...e[39]||(e[39]=[s("取消",-1)])]),_:1}),l(d,{type:"primary",loading:z.value,onClick:ie},{default:o(()=>[...e[40]||(e[40]=[s("保存",-1)])]),_:1},8,["loading"])]),default:o(()=>[l(g,{model:r.value,"label-width":"110px"},{default:o(()=>[l(n,{label:"接诊时间",required:""},{default:o(()=>[_("div",mt,[l(R,{modelValue:r.value.start_time,"onUpdate:modelValue":e[4]||(e[4]=a=>r.value.start_time=a),start:"00:00",step:"00:5",end:"23:45",placeholder:"开始",style:{width:"120px"}},null,8,["modelValue"]),e[32]||(e[32]=_("span",null,"至",-1)),l(R,{modelValue:r.value.end_time,"onUpdate:modelValue":e[5]||(e[5]=a=>r.value.end_time=a),start:"00:00",step:"00:5",end:"23:45",placeholder:"结束",style:{width:"120px"}},null,8,["modelValue"])])]),_:1}),l(n,{label:"班次标签"},{default:o(()=>[l(G,{modelValue:r.value.shift_type,"onUpdate:modelValue":e[6]||(e[6]=a=>r.value.shift_type=a),placeholder:"选填",clearable:"",style:{width:"200px"}},{default:o(()=>[l(S,{label:"白班",value:"day"}),l(S,{label:"夜班",value:"night"})]),_:1},8,["modelValue"])]),_:1}),l(n,{label:"号源间隔(分)"},{default:o(()=>[l(I,{modelValue:r.value.slot_minutes,"onUpdate:modelValue":e[7]||(e[7]=a=>r.value.slot_minutes=a),min:5,max:120,step:5},null,8,["modelValue"]),e[33]||(e[33]=_("span",{class:"ml-2 text-gray-500 text-sm"},"默认 15",-1))]),_:1}),l(n,{label:"状态"},{default:o(()=>[l(ee,{modelValue:r.value.status,"onUpdate:modelValue":e[8]||(e[8]=a=>r.value.status=a)},{default:o(()=>[l(D,{label:1},{default:o(()=>[...e[34]||(e[34]=[s("出诊",-1)])]),_:1}),l(D,{label:2},{default:o(()=>[...e[35]||(e[35]=[s("停诊",-1)])]),_:1}),l(D,{label:3},{default:o(()=>[...e[36]||(e[36]=[s("休息",-1)])]),_:1}),l(D,{label:4},{default:o(()=>[...e[37]||(e[37]=[s("请假",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),r.value.status===1?(v(),M(n,{key:0,label:"号源上限"},{default:o(()=>[l(I,{modelValue:r.value.quota,"onUpdate:modelValue":e[9]||(e[9]=a=>r.value.quota=a),min:0,max:200},null,8,["modelValue"]),e[38]||(e[38]=_("div",{class:"text-gray-500 text-xs mt-1"},"0 表示不限制(由时段÷间隔计算可约数)",-1))]),_:1})):te("",!0),r.value.status===1?(v(),M(n,{key:1,label:"最大接诊"},{default:o(()=>[l(I,{modelValue:r.value.max_patients,"onUpdate:modelValue":e[10]||(e[10]=a=>r.value.max_patients=a),min:0,max:500},null,8,["modelValue"])]),_:1})):te("",!0),l(n,{label:"备注"},{default:o(()=>[l(i,{modelValue:r.value.remark,"onUpdate:modelValue":e[11]||(e[11]=a=>r.value.remark=a),type:"textarea",rows:2},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),l(A,{modelValue:$.value,"onUpdate:modelValue":e[20]||(e[20]=a=>$.value=a),title:"批量排班",width:"780px","destroy-on-close":""},{footer:o(()=>[l(d,{onClick:e[19]||(e[19]=a=>$.value=!1)},{default:o(()=>[...e[58]||(e[58]=[s("取消",-1)])]),_:1}),l(d,{type:"primary",onClick:we,loading:O.value},{default:o(()=>[...e[59]||(e[59]=[s("确定",-1)])]),_:1},8,["loading"])]),default:o(()=>[l(g,{model:u.value,"label-width":"100px"},{default:o(()=>[l(n,{label:"选择医生",required:""},{default:o(()=>[l(G,{modelValue:u.value.doctorIds,"onUpdate:modelValue":e[14]||(e[14]=a=>u.value.doctorIds=a),multiple:"",placeholder:"请选择医生",class:"w-full",filterable:""},{default:o(()=>[(v(!0),k(N,null,T(q.value,a=>(v(),M(S,{key:a.doctorId,label:a.doctorName,value:a.doctorId},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(n,{label:"日期范围",required:""},{default:o(()=>[l(Ce,{modelValue:u.value.dateRange,"onUpdate:modelValue":e[15]||(e[15]=a=>u.value.dateRange=a),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",format:"YYYY-MM-DD","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),l(n,{label:"星期",required:""},{default:o(()=>[l(Ye,{modelValue:u.value.weekdays,"onUpdate:modelValue":e[16]||(e[16]=a=>u.value.weekdays=a)},{default:o(()=>[l(E,{label:1},{default:o(()=>[...e[41]||(e[41]=[s("周一",-1)])]),_:1}),l(E,{label:2},{default:o(()=>[...e[42]||(e[42]=[s("周二",-1)])]),_:1}),l(E,{label:3},{default:o(()=>[...e[43]||(e[43]=[s("周三",-1)])]),_:1}),l(E,{label:4},{default:o(()=>[...e[44]||(e[44]=[s("周四",-1)])]),_:1}),l(E,{label:5},{default:o(()=>[...e[45]||(e[45]=[s("周五",-1)])]),_:1}),l(E,{label:6},{default:o(()=>[...e[46]||(e[46]=[s("周六",-1)])]),_:1}),l(E,{label:0},{default:o(()=>[...e[47]||(e[47]=[s("周日",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(n,{label:"时段模板"},{default:o(()=>[_("div",ft,[(v(!0),k(N,null,T(u.value.segments,(a,C)=>(v(),k("div",{key:C,class:"flex flex-wrap items-center gap-2 p-2 bg-gray-50 rounded"},[l(R,{modelValue:a.start_time,"onUpdate:modelValue":f=>a.start_time=f,start:"00:00",step:"00:05",end:"23:45",placeholder:"开始",style:{width:"110px"}},null,8,["modelValue","onUpdate:modelValue"]),e[49]||(e[49]=_("span",null,"—",-1)),l(R,{modelValue:a.end_time,"onUpdate:modelValue":f=>a.end_time=f,start:"00:00",step:"00:05",end:"23:45",placeholder:"结束",style:{width:"110px"}},null,8,["modelValue","onUpdate:modelValue"]),l(G,{modelValue:a.shift_type,"onUpdate:modelValue":f=>a.shift_type=f,placeholder:"班次",clearable:"",style:{width:"100px"}},{default:o(()=>[l(S,{label:"白班",value:"day"}),l(S,{label:"夜班",value:"night"})]),_:1},8,["modelValue","onUpdate:modelValue"]),e[50]||(e[50]=_("span",{class:"text-sm text-gray-500"},"间隔",-1)),l(I,{modelValue:a.slot_minutes,"onUpdate:modelValue":f=>a.slot_minutes=f,min:5,max:120,step:5,style:{width:"100px"}},null,8,["modelValue","onUpdate:modelValue"]),e[51]||(e[51]=_("span",{class:"text-sm text-gray-500"},"号源0=不限",-1)),l(I,{modelValue:a.quota,"onUpdate:modelValue":f=>a.quota=f,min:0,max:200,style:{width:"100px"}},null,8,["modelValue","onUpdate:modelValue"]),l(d,{type:"danger",link:"",onClick:f=>ce(C),disabled:u.value.segments.length<=1},{default:o(()=>[...e[48]||(e[48]=[s("删除",-1)])]),_:1},8,["onClick","disabled"])]))),128)),l(d,{type:"primary",link:"",onClick:Ve},{default:o(()=>[...e[52]||(e[52]=[s("+ 增加一段",-1)])]),_:1}),l(d,{type:"success",link:"",onClick:xe},{default:o(()=>[...e[53]||(e[53]=[s("+ 夜班 18:00–22:00",-1)])]),_:1})])]),_:1}),l(n,{label:"排班状态",required:""},{default:o(()=>[l(ee,{modelValue:u.value.status,"onUpdate:modelValue":e[17]||(e[17]=a=>u.value.status=a)},{default:o(()=>[l(D,{label:1},{default:o(()=>[...e[54]||(e[54]=[s("出诊",-1)])]),_:1}),l(D,{label:2},{default:o(()=>[...e[55]||(e[55]=[s("停诊",-1)])]),_:1}),l(D,{label:3},{default:o(()=>[...e[56]||(e[56]=[s("休息",-1)])]),_:1}),l(D,{label:4},{default:o(()=>[...e[57]||(e[57]=[s("请假",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(n,{label:"备注"},{default:o(()=>[l(i,{modelValue:u.value.remark,"onUpdate:modelValue":e[18]||(e[18]=a=>u.value.remark=a),type:"textarea",rows:2},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}}),Vt=Xe(vt,[["__scopeId","data-v-3efc17b6"]]);export{Vt as default}; diff --git a/server/public/admin/assets/self_input_stats-ck9Y43id.js b/server/public/admin/assets/self_input_stats-BIckcV_I.js similarity index 91% rename from server/public/admin/assets/self_input_stats-ck9Y43id.js rename to server/public/admin/assets/self_input_stats-BIckcV_I.js index e022d0d1..33e8f4e3 100644 --- a/server/public/admin/assets/self_input_stats-ck9Y43id.js +++ b/server/public/admin/assets/self_input_stats-BIckcV_I.js @@ -1 +1 @@ -import{r as s}from"./index-CJvXnF8Y.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-BWzN7QIb.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-C3S5ZTbd.js b/server/public/admin/assets/setting-Crv7IoUl.js similarity index 93% rename from server/public/admin/assets/setting-C3S5ZTbd.js rename to server/public/admin/assets/setting-Crv7IoUl.js index 48acda48..cc2aade9 100644 --- a/server/public/admin/assets/setting-C3S5ZTbd.js +++ b/server/public/admin/assets/setting-Crv7IoUl.js @@ -1 +1 @@ -import{o as L,ap as A,aq as H,q as u,r as m,v as s,D as t,b9 as J,b6 as X,s as i,b7 as G,O as Q,F as B,br as Y,w as Z,u as V,at as $,L as p,T as ee,K as oe,da as se,P as ae,bg as te,b5 as re,bt as ne,M as w,ba as q,n as D,E as v}from"./.pnpm-9dA1PEvN.js";import{_ as le}from"./index-bkWlwzQZ.js";import{_ as de}from"./picker-DWQ_BAep.js";import{u as ie,a as ce,i as c,L as ue,b as _e,N as me,_ as pe}from"./index-CJvXnF8Y.js";import{a as we}from"./wecomOauthPostMessage-C_e6VGrO.js";import"./index-BBemoNXE.js";import"./index-CY1mb9yY.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-CAGpCz28.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const fe={class:"user-setting"},ge={class:"w-80"},be={class:"w-80"},ke={class:"flex items-center gap-3"},ve={class:"w-80"},ye={class:"w-80"},he={class:"w-80"},xe={class:"bind-qrcode-wrap"},Ve={key:0,class:"text-center py-8"},Ue={key:1,id:"bind_wxwork_qrcode",class:"bind-qrcode"},Ee=L({name:"userSetting"}),Ie=L({...Ee,setup(Ce){const U=w(),f=ie(),o=q({avatar:"",account:"",name:"",work_wechat_userid:"",password_old:"",password:"",password_confirm:""}),M=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:""}),b=w(!1),k=w(!1);let l=null;const S=async()=>{const a=f.userInfo;for(const e in o)a[e]!==void 0&&(o[e]=a[e])},W=async()=>{if(o.password_old||o.password||o.password_confirm){if(!o.password_old)return c.msgError("请输入当前密码");if(!o.password)return c.msgError("请输入新的密码");if(!o.password_confirm)return c.msgError("请输入确定密码");if(o.password_confirm!=o.password)return c.msgError("两次输入的密码不一样")}if(o.password_old&&o.password&&o.password_confirm){if(o.password_old.length<6||o.password_old.length>32)return c.msgError("密码长度在6到32之间");if(o.password.length<6||o.password.length>32)return c.msgError("密码长度在6到32之间");if(o.password_confirm.length<6||o.password_confirm.length>32)return c.msgError("密码长度在6到32之间")}const{work_wechat_userid:a,...e}=o;await me(e),f.getUserInfo()},N=async()=>{var a;await((a=U.value)==null?void 0:a.validate()),W()},R=()=>window.location.origin+window.location.pathname+"?bind_wxwork=1",T=async()=>{b.value=!0,k.value=!0,window.WwLogin||await new Promise((e,_)=>{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=()=>_(new Error("加载企业微信JS失败")),document.head.appendChild(r)}),await D(),k.value=!1,await D(),l==null||l(),l=we({pathIncludes:"user/setting",lockKey:g,wxBindState:"bind_wxwork",onCode:e=>I(e)});const a=encodeURIComponent(R());new window.WwLogin({id:"bind_wxwork_qrcode",appid:y.value.corp_id,agentid:y.value.agent_id,redirect_uri:a,lang:"zh",state:"bind_wxwork",href:"",self_redirect:!1})},z=()=>{k.value=!1,l==null||l(),l=null},F=async()=>{await c.confirm("确定要解绑企业微信吗?解绑后将无法使用企业微信扫码登录。");try{await ue(),o.work_wechat_userid="",v.success("解绑成功"),f.getUserInfo()}catch(a){v.error((a==null?void 0:a.msg)||"解绑失败")}},I=async a=>{try{const e=await _e({code:a});o.work_wechat_userid=(e==null?void 0:e.work_wechat_userid)||"",b.value=!1,v.success("企业微信绑定成功"),f.getUserInfo()}catch(e){v.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"绑定失败")}finally{const e=window.location.pathname;window.history.replaceState({},"",e)}};return A(async()=>{try{const d=await ce();d!=null&&d.enabled&&(E.value=!0,y.value={corp_id:d.corp_id,agent_id:d.agent_id})}catch{}const a=new URLSearchParams(window.location.search),e=a.get("code"),_=a.get("state"),r=a.get("bind_wxwork");if(e&&(_==="bind_wxwork"||r==="1")){if(sessionStorage.getItem(g)===e)return;sessionStorage.setItem(g,e),I(e).finally(()=>{sessionStorage.removeItem(g)})}}),S(),H(()=>{l==null||l(),l=null}),(a,e)=>{const _=de,r=X,d=G,h=Z,C=Y,x=oe,O=J,P=te,K=le,j=ne;return u(),m("div",fe,[s(P,{class:"!border-none",shadow:"never"},{default:t(()=>[s(O,{ref_key:"formRef",ref:U,class:"ls-form",model:o,rules:M,"label-width":"100px"},{default:t(()=>[s(r,{label:"头像:",prop:"avatar"},{default:t(()=>[s(_,{modelValue:o.avatar,"onUpdate:modelValue":e[0]||(e[0]=n=>o.avatar=n),limit:1},null,8,["modelValue"])]),_:1}),s(r,{label:"账号:",prop:"account"},{default:t(()=>[i("div",ge,[s(d,{modelValue:o.account,"onUpdate:modelValue":e[1]||(e[1]=n=>o.account=n),disabled:""},null,8,["modelValue"])])]),_:1}),s(r,{label:"名称:",prop:"name"},{default:t(()=>[i("div",be,[s(d,{modelValue:o.name,"onUpdate:modelValue":e[2]||(e[2]=n=>o.name=n),placeholder:"请输入名称"},null,8,["modelValue"])])]),_:1}),E.value?(u(),Q(r,{key:0,label:"企业微信:"},{default:t(()=>[i("div",ke,[o.work_wechat_userid?(u(),m(B,{key:0},[s(C,{type:"success",size:"large"},{default:t(()=>[s(h,{class:"mr-1"},{default:t(()=>[s(V($))]),_:1}),p(" 已绑定("+ee(o.work_wechat_userid)+") ",1)]),_:1}),s(x,{type:"danger",link:"",onClick:F},{default:t(()=>[...e[7]||(e[7]=[p("解绑",-1)])]),_:1})],64)):(u(),m(B,{key:1},[s(C,{type:"info",size:"large"},{default:t(()=>[...e[8]||(e[8]=[p("未绑定",-1)])]),_:1}),s(x,{type:"primary",onClick:T},{default:t(()=>[s(h,{class:"mr-1"},{default:t(()=>[s(V(se))]),_:1}),e[9]||(e[9]=p(" 扫码绑定 ",-1))]),_:1})],64))])]),_:1})):ae("",!0),s(r,{label:"当前密码:",prop:"password_old"},{default:t(()=>[i("div",ve,[s(d,{modelValue:o.password_old,"onUpdate:modelValue":e[3]||(e[3]=n=>o.password_old=n),modelModifiers:{trim:!0},placeholder:"修改密码时必填, 不修改密码时留空",type:"password","show-password":""},null,8,["modelValue"])])]),_:1}),s(r,{label:"新的密码:",prop:"password"},{default:t(()=>[i("div",ye,[s(d,{modelValue:o.password,"onUpdate:modelValue":e[4]||(e[4]=n=>o.password=n),modelModifiers:{trim:!0},placeholder:"修改密码时必填, 不修改密码时留空",type:"password","show-password":""},null,8,["modelValue"])])]),_:1}),s(r,{label:"确定密码:",prop:"password_confirm"},{default:t(()=>[i("div",he,[s(d,{modelValue:o.password_confirm,"onUpdate:modelValue":e[5]||(e[5]=n=>o.password_confirm=n),modelModifiers:{trim:!0},placeholder:"修改密码时必填, 不修改密码时留空",type:"password","show-password":""},null,8,["modelValue"])])]),_:1})]),_:1},8,["model","rules"])]),_:1}),s(K,null,{default:t(()=>[s(x,{type:"primary",onClick:N},{default:t(()=>[...e[10]||(e[10]=[p("保存",-1)])]),_:1})]),_:1}),s(j,{modelValue:b.value,"onUpdate:modelValue":e[6]||(e[6]=n=>b.value=n),title:"扫码绑定企业微信",width:"440px","close-on-click-modal":!1,onClose:z},{default:t(()=>[i("div",xe,[k.value?(u(),m("div",Ve,[s(h,{class:"is-loading",size:36,color:"var(--el-color-primary)"},{default:t(()=>[s(V(re))]),_:1}),e[11]||(e[11]=i("div",{class:"mt-3 text-gray-400"},"加载企业微信扫码...",-1))])):(u(),m("div",Ue))]),e[12]||(e[12]=i("div",{class:"text-center text-sm text-gray-400 mt-2 mb-2"}," 请使用企业微信扫描二维码完成绑定 ",-1))]),_:1},8,["modelValue"])])}}}),Pe=pe(Ie,[["__scopeId","data-v-00d65b91"]]);export{Pe as default}; +import{o as L,ap as A,aq as H,q as u,r as m,v as s,D as t,b9 as J,b6 as X,s as i,b7 as G,O as Q,F as B,br as Y,w as Z,u as V,at as $,L as p,T as ee,K as oe,da as se,P as ae,bg as te,b5 as re,bt as ne,M as w,ba as q,n as D,E as v}from"./.pnpm-9dA1PEvN.js";import{_ as le}from"./index-DZiQLFzx.js";import{_ as de}from"./picker-DfI3CPnQ.js";import{u as ie,a as ce,i as c,L as ue,b as _e,N as me,_ as pe}from"./index-BWzN7QIb.js";import{a as we}from"./wecomOauthPostMessage-C_e6VGrO.js";import"./index-dYaCh-CN.js";import"./index-xDQ_OZln.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-fA0EWEUO.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const fe={class:"user-setting"},ge={class:"w-80"},be={class:"w-80"},ke={class:"flex items-center gap-3"},ve={class:"w-80"},ye={class:"w-80"},he={class:"w-80"},xe={class:"bind-qrcode-wrap"},Ve={key:0,class:"text-center py-8"},Ue={key:1,id:"bind_wxwork_qrcode",class:"bind-qrcode"},Ee=L({name:"userSetting"}),Ie=L({...Ee,setup(Ce){const U=w(),f=ie(),o=q({avatar:"",account:"",name:"",work_wechat_userid:"",password_old:"",password:"",password_confirm:""}),M=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:""}),b=w(!1),k=w(!1);let l=null;const S=async()=>{const a=f.userInfo;for(const e in o)a[e]!==void 0&&(o[e]=a[e])},W=async()=>{if(o.password_old||o.password||o.password_confirm){if(!o.password_old)return c.msgError("请输入当前密码");if(!o.password)return c.msgError("请输入新的密码");if(!o.password_confirm)return c.msgError("请输入确定密码");if(o.password_confirm!=o.password)return c.msgError("两次输入的密码不一样")}if(o.password_old&&o.password&&o.password_confirm){if(o.password_old.length<6||o.password_old.length>32)return c.msgError("密码长度在6到32之间");if(o.password.length<6||o.password.length>32)return c.msgError("密码长度在6到32之间");if(o.password_confirm.length<6||o.password_confirm.length>32)return c.msgError("密码长度在6到32之间")}const{work_wechat_userid:a,...e}=o;await me(e),f.getUserInfo()},N=async()=>{var a;await((a=U.value)==null?void 0:a.validate()),W()},R=()=>window.location.origin+window.location.pathname+"?bind_wxwork=1",T=async()=>{b.value=!0,k.value=!0,window.WwLogin||await new Promise((e,_)=>{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=()=>_(new Error("加载企业微信JS失败")),document.head.appendChild(r)}),await D(),k.value=!1,await D(),l==null||l(),l=we({pathIncludes:"user/setting",lockKey:g,wxBindState:"bind_wxwork",onCode:e=>I(e)});const a=encodeURIComponent(R());new window.WwLogin({id:"bind_wxwork_qrcode",appid:y.value.corp_id,agentid:y.value.agent_id,redirect_uri:a,lang:"zh",state:"bind_wxwork",href:"",self_redirect:!1})},z=()=>{k.value=!1,l==null||l(),l=null},F=async()=>{await c.confirm("确定要解绑企业微信吗?解绑后将无法使用企业微信扫码登录。");try{await ue(),o.work_wechat_userid="",v.success("解绑成功"),f.getUserInfo()}catch(a){v.error((a==null?void 0:a.msg)||"解绑失败")}},I=async a=>{try{const e=await _e({code:a});o.work_wechat_userid=(e==null?void 0:e.work_wechat_userid)||"",b.value=!1,v.success("企业微信绑定成功"),f.getUserInfo()}catch(e){v.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"绑定失败")}finally{const e=window.location.pathname;window.history.replaceState({},"",e)}};return A(async()=>{try{const d=await ce();d!=null&&d.enabled&&(E.value=!0,y.value={corp_id:d.corp_id,agent_id:d.agent_id})}catch{}const a=new URLSearchParams(window.location.search),e=a.get("code"),_=a.get("state"),r=a.get("bind_wxwork");if(e&&(_==="bind_wxwork"||r==="1")){if(sessionStorage.getItem(g)===e)return;sessionStorage.setItem(g,e),I(e).finally(()=>{sessionStorage.removeItem(g)})}}),S(),H(()=>{l==null||l(),l=null}),(a,e)=>{const _=de,r=X,d=G,h=Z,C=Y,x=oe,O=J,P=te,K=le,j=ne;return u(),m("div",fe,[s(P,{class:"!border-none",shadow:"never"},{default:t(()=>[s(O,{ref_key:"formRef",ref:U,class:"ls-form",model:o,rules:M,"label-width":"100px"},{default:t(()=>[s(r,{label:"头像:",prop:"avatar"},{default:t(()=>[s(_,{modelValue:o.avatar,"onUpdate:modelValue":e[0]||(e[0]=n=>o.avatar=n),limit:1},null,8,["modelValue"])]),_:1}),s(r,{label:"账号:",prop:"account"},{default:t(()=>[i("div",ge,[s(d,{modelValue:o.account,"onUpdate:modelValue":e[1]||(e[1]=n=>o.account=n),disabled:""},null,8,["modelValue"])])]),_:1}),s(r,{label:"名称:",prop:"name"},{default:t(()=>[i("div",be,[s(d,{modelValue:o.name,"onUpdate:modelValue":e[2]||(e[2]=n=>o.name=n),placeholder:"请输入名称"},null,8,["modelValue"])])]),_:1}),E.value?(u(),Q(r,{key:0,label:"企业微信:"},{default:t(()=>[i("div",ke,[o.work_wechat_userid?(u(),m(B,{key:0},[s(C,{type:"success",size:"large"},{default:t(()=>[s(h,{class:"mr-1"},{default:t(()=>[s(V($))]),_:1}),p(" 已绑定("+ee(o.work_wechat_userid)+") ",1)]),_:1}),s(x,{type:"danger",link:"",onClick:F},{default:t(()=>[...e[7]||(e[7]=[p("解绑",-1)])]),_:1})],64)):(u(),m(B,{key:1},[s(C,{type:"info",size:"large"},{default:t(()=>[...e[8]||(e[8]=[p("未绑定",-1)])]),_:1}),s(x,{type:"primary",onClick:T},{default:t(()=>[s(h,{class:"mr-1"},{default:t(()=>[s(V(se))]),_:1}),e[9]||(e[9]=p(" 扫码绑定 ",-1))]),_:1})],64))])]),_:1})):ae("",!0),s(r,{label:"当前密码:",prop:"password_old"},{default:t(()=>[i("div",ve,[s(d,{modelValue:o.password_old,"onUpdate:modelValue":e[3]||(e[3]=n=>o.password_old=n),modelModifiers:{trim:!0},placeholder:"修改密码时必填, 不修改密码时留空",type:"password","show-password":""},null,8,["modelValue"])])]),_:1}),s(r,{label:"新的密码:",prop:"password"},{default:t(()=>[i("div",ye,[s(d,{modelValue:o.password,"onUpdate:modelValue":e[4]||(e[4]=n=>o.password=n),modelModifiers:{trim:!0},placeholder:"修改密码时必填, 不修改密码时留空",type:"password","show-password":""},null,8,["modelValue"])])]),_:1}),s(r,{label:"确定密码:",prop:"password_confirm"},{default:t(()=>[i("div",he,[s(d,{modelValue:o.password_confirm,"onUpdate:modelValue":e[5]||(e[5]=n=>o.password_confirm=n),modelModifiers:{trim:!0},placeholder:"修改密码时必填, 不修改密码时留空",type:"password","show-password":""},null,8,["modelValue"])])]),_:1})]),_:1},8,["model","rules"])]),_:1}),s(K,null,{default:t(()=>[s(x,{type:"primary",onClick:N},{default:t(()=>[...e[10]||(e[10]=[p("保存",-1)])]),_:1})]),_:1}),s(j,{modelValue:b.value,"onUpdate:modelValue":e[6]||(e[6]=n=>b.value=n),title:"扫码绑定企业微信",width:"440px","close-on-click-modal":!1,onClose:z},{default:t(()=>[i("div",xe,[k.value?(u(),m("div",Ve,[s(h,{class:"is-loading",size:36,color:"var(--el-color-primary)"},{default:t(()=>[s(V(re))]),_:1}),e[11]||(e[11]=i("div",{class:"mt-3 text-gray-400"},"加载企业微信扫码...",-1))])):(u(),m("div",Ue))]),e[12]||(e[12]=i("div",{class:"text-center text-sm text-gray-400 mt-2 mb-2"}," 请使用企业微信扫描二维码完成绑定 ",-1))]),_:1},8,["modelValue"])])}}}),Pe=pe(Ie,[["__scopeId","data-v-00d65b91"]]);export{Pe as default}; diff --git a/server/public/admin/assets/setup-awARRoZQ.js b/server/public/admin/assets/setup-C8RhV3Jx.js similarity index 78% rename from server/public/admin/assets/setup-awARRoZQ.js rename to server/public/admin/assets/setup-C8RhV3Jx.js index 61443dd4..c5262243 100644 --- a/server/public/admin/assets/setup-awARRoZQ.js +++ b/server/public/admin/assets/setup-C8RhV3Jx.js @@ -1 +1 @@ -import{_ as y}from"./index-bkWlwzQZ.js";import{o as p,be as k,q as i,r as w,v as a,D as r,s,b9 as V,u as n,b6 as x,bg as B,ac as C,O as D,K as E,L as S,ba as N}from"./.pnpm-9dA1PEvN.js";import{_ as U}from"./picker-DWQ_BAep.js";import{a as j,b as F}from"./user-CfuSnjDA.js";import"./index-CJvXnF8Y.js";import"./index-BBemoNXE.js";import"./index-CY1mb9yY.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-CAGpCz28.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const h={class:"user-setup"},q=p({name:"userSetup"}),W=p({...q,setup(I){const e=N({default_avatar:""}),l=async()=>{try{const o=await j();for(const t in e)e[t]=o[t]}catch(o){console.log("获取=>",o)}},_=async()=>{try{await F(e),l()}catch(o){console.log("保存=>",o)}};return l(),(o,t)=>{const u=U,m=x,c=V,d=B,f=E,v=y,b=k("perms");return i(),w("div",h,[a(d,{shadow:"never",class:"!border-none"},{default:r(()=>[t[2]||(t[2]=s("div",{class:"font-medium mb-7"},"基本设置",-1)),a(c,{ref:"formRef",model:n(e),"label-width":"120px"},{default:r(()=>[a(m,{label:"用户默认头像"},{default:r(()=>[s("div",null,[a(u,{modelValue:n(e).default_avatar,"onUpdate:modelValue":t[0]||(t[0]=g=>n(e).default_avatar=g),limit:1},null,8,["modelValue"])])]),_:1}),a(m,null,{default:r(()=>[...t[1]||(t[1]=[s("div",null,[s("div",{class:"form-tips"}," 用户注册时给的默认头像,建议尺寸:400*400像素,支持jpg,jpeg,png格式 ")],-1)])]),_:1})]),_:1},8,["model"])]),_:1}),C((i(),D(v,null,{default:r(()=>[a(f,{type:"primary",onClick:_},{default:r(()=>[...t[3]||(t[3]=[S("保存",-1)])]),_:1})]),_:1})),[[b,["setting.user.user/setConfig"]]])])}}});export{W as default}; +import{_ as y}from"./index-DZiQLFzx.js";import{o as p,be as k,q as i,r as w,v as a,D as r,s,b9 as V,u as n,b6 as x,bg as B,ac as C,O as D,K as E,L as S,ba as N}from"./.pnpm-9dA1PEvN.js";import{_ as U}from"./picker-DfI3CPnQ.js";import{a as j,b as F}from"./user-D_oHazKg.js";import"./index-BWzN7QIb.js";import"./index-dYaCh-CN.js";import"./index-xDQ_OZln.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-fA0EWEUO.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const h={class:"user-setup"},q=p({name:"userSetup"}),W=p({...q,setup(I){const e=N({default_avatar:""}),l=async()=>{try{const o=await j();for(const t in e)e[t]=o[t]}catch(o){console.log("获取=>",o)}},_=async()=>{try{await F(e),l()}catch(o){console.log("保存=>",o)}};return l(),(o,t)=>{const u=U,m=x,c=V,d=B,f=E,v=y,b=k("perms");return i(),w("div",h,[a(d,{shadow:"never",class:"!border-none"},{default:r(()=>[t[2]||(t[2]=s("div",{class:"font-medium mb-7"},"基本设置",-1)),a(c,{ref:"formRef",model:n(e),"label-width":"120px"},{default:r(()=>[a(m,{label:"用户默认头像"},{default:r(()=>[s("div",null,[a(u,{modelValue:n(e).default_avatar,"onUpdate:modelValue":t[0]||(t[0]=g=>n(e).default_avatar=g),limit:1},null,8,["modelValue"])])]),_:1}),a(m,null,{default:r(()=>[...t[1]||(t[1]=[s("div",null,[s("div",{class:"form-tips"}," 用户注册时给的默认头像,建议尺寸:400*400像素,支持jpg,jpeg,png格式 ")],-1)])]),_:1})]),_:1},8,["model"])]),_:1}),C((i(),D(v,null,{default:r(()=>[a(f,{type:"primary",onClick:_},{default:r(()=>[...t[3]||(t[3]=[S("保存",-1)])]),_:1})]),_:1})),[[b,["setting.user.user/setConfig"]]])])}}});export{W as default}; diff --git a/server/public/admin/assets/statistics-oFKqT6fw.js b/server/public/admin/assets/statistics-D2UVnsXP.js similarity index 88% rename from server/public/admin/assets/statistics-oFKqT6fw.js rename to server/public/admin/assets/statistics-D2UVnsXP.js index 79831287..d1d33857 100644 --- a/server/public/admin/assets/statistics-oFKqT6fw.js +++ b/server/public/admin/assets/statistics-D2UVnsXP.js @@ -1 +1 @@ -import{_ as k}from"./index-bkWlwzQZ.js";import{o as _,ap as C,be as D,q as m,r as h,v as s,D as a,bg as E,s as l,b6 as V,b7 as B,u as r,L as n,b9 as I,ac as S,O as M,K as N,M as F,ba as R}from"./.pnpm-9dA1PEvN.js";import{e as q,f as K}from"./website-CigJCWyv.js";import"./index-CJvXnF8Y.js";const L={class:"website-statistics"},O={class:"flex flex-col"},T={class:"w-80"},U=_({name:"webInformation"}),H=_({...U,setup(W){const i=F(),e=R({clarity_code:""}),d={},c=async()=>{const o=await q();for(const t in e)e[t]=o[t]},f=async()=>{var o;await((o=i.value)==null?void 0:o.validate()),await K(e),c()};return C(()=>{c()}),(o,t)=>{const p=B,u=V,b=E,y=I,v=N,w=k,x=D("perms");return m(),h("div",L,[s(y,{ref_key:"formRef",ref:i,rules:d,class:"ls-form",model:r(e),"scroll-to-error":"","label-width":"120px"},{default:a(()=>[s(b,{shadow:"never",class:"!border-none"},{default:a(()=>[t[2]||(t[2]=l("div",{class:"text-xl font-medium mb-[20px]"},"Clarity配置",-1)),s(u,{label:"应用ID",prop:"clarity_code"},{default:a(()=>[l("div",O,[l("div",T,[s(p,{modelValue:r(e).clarity_code,"onUpdate:modelValue":t[0]||(t[0]=g=>r(e).clarity_code=g),modelModifiers:{trim:!0},placeholder:"请填写应用ID",maxlength:"10","show-word-limit":""},null,8,["modelValue"])]),t[1]||(t[1]=l("div",{class:"form-tips"},[n(" 请前往"),l("a",{class:"text-primary",href:"https://clarity.microsoft.com",target:"_blank"}," 《Clarity官网》 "),n(" 创建Clarity统计应用 ")],-1))])]),_:1})]),_:1})]),_:1},8,["model"]),S((m(),M(w,null,{default:a(()=>[s(v,{type:"primary",onClick:f},{default:a(()=>[...t[3]||(t[3]=[n("保存",-1)])]),_:1})]),_:1})),[[x,["setting.web.web_setting/setWebsite"]]])])}}});export{H as default}; +import{_ as k}from"./index-DZiQLFzx.js";import{o as _,ap as C,be as D,q as m,r as h,v as s,D as a,bg as E,s as l,b6 as V,b7 as B,u as r,L as n,b9 as I,ac as S,O as M,K as N,M as F,ba as R}from"./.pnpm-9dA1PEvN.js";import{e as q,f as K}from"./website-D68_BOrK.js";import"./index-BWzN7QIb.js";const L={class:"website-statistics"},O={class:"flex flex-col"},T={class:"w-80"},U=_({name:"webInformation"}),H=_({...U,setup(W){const i=F(),e=R({clarity_code:""}),d={},c=async()=>{const o=await q();for(const t in e)e[t]=o[t]},f=async()=>{var o;await((o=i.value)==null?void 0:o.validate()),await K(e),c()};return C(()=>{c()}),(o,t)=>{const p=B,u=V,b=E,y=I,v=N,w=k,x=D("perms");return m(),h("div",L,[s(y,{ref_key:"formRef",ref:i,rules:d,class:"ls-form",model:r(e),"scroll-to-error":"","label-width":"120px"},{default:a(()=>[s(b,{shadow:"never",class:"!border-none"},{default:a(()=>[t[2]||(t[2]=l("div",{class:"text-xl font-medium mb-[20px]"},"Clarity配置",-1)),s(u,{label:"应用ID",prop:"clarity_code"},{default:a(()=>[l("div",O,[l("div",T,[s(p,{modelValue:r(e).clarity_code,"onUpdate:modelValue":t[0]||(t[0]=g=>r(e).clarity_code=g),modelModifiers:{trim:!0},placeholder:"请填写应用ID",maxlength:"10","show-word-limit":""},null,8,["modelValue"])]),t[1]||(t[1]=l("div",{class:"form-tips"},[n(" 请前往"),l("a",{class:"text-primary",href:"https://clarity.microsoft.com",target:"_blank"}," 《Clarity官网》 "),n(" 创建Clarity统计应用 ")],-1))])]),_:1})]),_:1})]),_:1},8,["model"]),S((m(),M(w,null,{default:a(()=>[s(v,{type:"primary",onClick:f},{default:a(()=>[...t[3]||(t[3]=[n("保存",-1)])]),_:1})]),_:1})),[[x,["setting.web.web_setting/setWebsite"]]])])}}});export{H as default}; diff --git a/server/public/admin/assets/stats-Cp2ee5KL.js b/server/public/admin/assets/stats-CYdFBybj.js similarity index 97% rename from server/public/admin/assets/stats-Cp2ee5KL.js rename to server/public/admin/assets/stats-CYdFBybj.js index 8871a686..1f641126 100644 --- a/server/public/admin/assets/stats-Cp2ee5KL.js +++ b/server/public/admin/assets/stats-CYdFBybj.js @@ -1 +1 @@ -import{r as e}from"./index-CJvXnF8Y.js";function i(t){return e.get({url:"/stats.conversion/overview",params:t})}function r(t){return e.get({url:"/stats.yejiStats/overview",params:t})}function a(t){return e.get({url:"/stats.yejiStats/multi",params:t})}function o(){return e.get({url:"/stats.yejiStats/deptOptions"})}function u(){return e.get({url:"/stats.yejiStats/channelOptions"})}function l(t){return e.get({url:"/stats.yejiStats/leaderboard",params:t})}function c(t){return e.get({url:"/stats.yejiStats/unassignedBreakdown",params:t})}function m(t){return e.get({url:"/stats.yejiStats/leadLines",params:t})}function v(t){return e.get({url:"/stats.yejiStats/appointmentLines",params:t})}function S(t){return e.get({url:"/stats.yejiStats/revisitBreakdown",params:t})}function g(t){return e.get({url:"/stats.yejiStats/assignLines",params:t})}function f(t){return e.get({url:"/stats.doctorDailyStats/overview",params:t})}const s=12e4;function p(t){return e.get({url:"/stats.commissionSettlement/overview",params:t,timeout:s},{ignoreCancelToken:!0})}function y(){return e.get({url:"/stats.commissionSettlement/deptOptions"})}function d(){return e.get({url:"/stats.commissionSettlement/channelOptions"})}function O(t){return e.get({url:"/stats.commissionSettlement/orderLines",params:t,timeout:s},{ignoreCancelToken:!0})}function j(t){return e.post({url:"/stats.commissionSettlement/saveReconcile",params:t})}function L(t){return e.post({url:"/stats.commissionSettlement/confirmFinalize",params:t,timeout:s},{ignoreCancelToken:!0})}function w(t){return e.post({url:"/stats.commissionSettlement/confirmRevoke",params:t})}function R(t){return e.get({url:"/stats.revisitRate/overview",params:t})}function k(){return e.get({url:"/stats.revisitRate/deptOptions"})}function C(t){return e.get({url:"/stats.revisitRate/assignLines",params:t})}function T(t){return e.get({url:"/stats.revisitRate/visitOrderLines",params:t})}function A(t){return e.get({url:"/stats.autoAssignLog/lists",params:t})}function M(t){return e.post({url:"/stats.autoAssignLog/rollback",data:t})}function b(t){return e.get({url:"/stats.assistantPerformance/overview",params:t})}export{y as a,d as b,O as c,p as d,j as e,L as f,w as g,f as h,o as i,u as j,r as k,S as l,m,l as n,c as o,g as p,v as q,b as r,A as s,M as t,i as u,R as v,k as w,C as x,a as y,T as z}; +import{r as e}from"./index-BWzN7QIb.js";function i(t){return e.get({url:"/stats.conversion/overview",params:t})}function r(t){return e.get({url:"/stats.yejiStats/overview",params:t})}function a(t){return e.get({url:"/stats.yejiStats/multi",params:t})}function o(){return e.get({url:"/stats.yejiStats/deptOptions"})}function u(){return e.get({url:"/stats.yejiStats/channelOptions"})}function l(t){return e.get({url:"/stats.yejiStats/leaderboard",params:t})}function c(t){return e.get({url:"/stats.yejiStats/unassignedBreakdown",params:t})}function m(t){return e.get({url:"/stats.yejiStats/leadLines",params:t})}function v(t){return e.get({url:"/stats.yejiStats/appointmentLines",params:t})}function S(t){return e.get({url:"/stats.yejiStats/revisitBreakdown",params:t})}function g(t){return e.get({url:"/stats.yejiStats/assignLines",params:t})}function f(t){return e.get({url:"/stats.doctorDailyStats/overview",params:t})}const s=12e4;function p(t){return e.get({url:"/stats.commissionSettlement/overview",params:t,timeout:s},{ignoreCancelToken:!0})}function y(){return e.get({url:"/stats.commissionSettlement/deptOptions"})}function d(){return e.get({url:"/stats.commissionSettlement/channelOptions"})}function O(t){return e.get({url:"/stats.commissionSettlement/orderLines",params:t,timeout:s},{ignoreCancelToken:!0})}function j(t){return e.post({url:"/stats.commissionSettlement/saveReconcile",params:t})}function L(t){return e.post({url:"/stats.commissionSettlement/confirmFinalize",params:t,timeout:s},{ignoreCancelToken:!0})}function w(t){return e.post({url:"/stats.commissionSettlement/confirmRevoke",params:t})}function R(t){return e.get({url:"/stats.revisitRate/overview",params:t})}function k(){return e.get({url:"/stats.revisitRate/deptOptions"})}function C(t){return e.get({url:"/stats.revisitRate/assignLines",params:t})}function T(t){return e.get({url:"/stats.revisitRate/visitOrderLines",params:t})}function A(t){return e.get({url:"/stats.autoAssignLog/lists",params:t})}function M(t){return e.post({url:"/stats.autoAssignLog/rollback",data:t})}function b(t){return e.get({url:"/stats.assistantPerformance/overview",params:t})}export{y as a,d as b,O as c,p as d,j as e,L as f,w as g,f as h,o as i,u as j,r as k,S as l,m,l as n,c as o,g as p,v as q,b as r,A as s,M as t,i as u,R as v,k as w,C as x,a as y,T as z}; diff --git a/server/public/admin/assets/style-DmqjtjwX.js b/server/public/admin/assets/style-BcXG7BAY.js similarity index 84% rename from server/public/admin/assets/style-DmqjtjwX.js rename to server/public/admin/assets/style-BcXG7BAY.js index 7a4f71f3..8674fdb8 100644 --- a/server/public/admin/assets/style-DmqjtjwX.js +++ b/server/public/admin/assets/style-BcXG7BAY.js @@ -1 +1 @@ -import{_ as x}from"./index-bkWlwzQZ.js";import{o as k,M as m,cu as B,ap as D,q as s,r as c,v as l,D as t,s as T,Y as h,C as E,u as p,F as _,G as N,O as i,X as L,a4 as O,bg as P,K as U,L as F,p as I}from"./.pnpm-9dA1PEvN.js";import{a as J,s as M}from"./decoration-CcdLOa7h.js";import{_ as R}from"./mobile-style.vue_vue_type_script_setup_true_lang-D1NvJWvN.js";import"./index-CJvXnF8Y.js";import"./index.vue_vue_type_script_setup_true_lang-DNrIEWkc.js";import"./theme-picker-BJjcYG0m.js";const S={class:"mt-[-10px]"},A=k({__name:"style",setup(q){const o=m(0),r=m([{name:"移动端",id:5,component:B(R),data:{themeColorId:1,topTextColor:"white",navigationBarColor:"",themeColor1:"",themeColor2:"",buttonColor:"white"}}]),e=I(()=>r.value[o.value]||{}),d=async()=>{const u=await J({id:e.value.id});e.value.data=JSON.parse(u.data)},f=async()=>{await M({id:e.value.id,type:e.value.id,data:JSON.stringify(e.value.data)}),d()};return D(async()=>{await d()}),(u,n)=>{const b=L,v=h,C=P,y=U,V=x;return s(),c(_,null,[l(C,{shadow:"never",class:"!border-none"},{default:t(()=>[T("div",S,[l(v,{modelValue:p(o),"onUpdate:modelValue":n[0]||(n[0]=a=>E(o)?o.value=a:null)},{default:t(()=>[(s(!0),c(_,null,N(p(r),(a,g)=>(s(),i(b,{key:a.id,label:a.name,name:g},{default:t(()=>[(s(),i(O(a.component),{modelValue:a.data,"onUpdate:modelValue":w=>a.data=w},null,8,["modelValue","onUpdate:modelValue"]))]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])])]),_:1}),l(V,{class:"mt-4",fixed:!0},{default:t(()=>[l(y,{type:"primary",onClick:f},{default:t(()=>[...n[1]||(n[1]=[F("保存",-1)])]),_:1})]),_:1})],64)}}});export{A as default}; +import{_ as x}from"./index-DZiQLFzx.js";import{o as k,M as m,cu as B,ap as D,q as s,r as c,v as l,D as t,s as T,Y as h,C as E,u as p,F as _,G as N,O as i,X as L,a4 as O,bg as P,K as U,L as F,p as I}from"./.pnpm-9dA1PEvN.js";import{a as J,s as M}from"./decoration-CvemIMkE.js";import{_ as R}from"./mobile-style.vue_vue_type_script_setup_true_lang-D6I9IOXQ.js";import"./index-BWzN7QIb.js";import"./index.vue_vue_type_script_setup_true_lang-DNrIEWkc.js";import"./theme-picker-B0Vl2QAG.js";const S={class:"mt-[-10px]"},A=k({__name:"style",setup(q){const o=m(0),r=m([{name:"移动端",id:5,component:B(R),data:{themeColorId:1,topTextColor:"white",navigationBarColor:"",themeColor1:"",themeColor2:"",buttonColor:"white"}}]),e=I(()=>r.value[o.value]||{}),d=async()=>{const u=await J({id:e.value.id});e.value.data=JSON.parse(u.data)},f=async()=>{await M({id:e.value.id,type:e.value.id,data:JSON.stringify(e.value.data)}),d()};return D(async()=>{await d()}),(u,n)=>{const b=L,v=h,C=P,y=U,V=x;return s(),c(_,null,[l(C,{shadow:"never",class:"!border-none"},{default:t(()=>[T("div",S,[l(v,{modelValue:p(o),"onUpdate:modelValue":n[0]||(n[0]=a=>E(o)?o.value=a:null)},{default:t(()=>[(s(!0),c(_,null,N(p(r),(a,g)=>(s(),i(b,{key:a.id,label:a.name,name:g},{default:t(()=>[(s(),i(O(a.component),{modelValue:a.data,"onUpdate:modelValue":w=>a.data=w},null,8,["modelValue","onUpdate:modelValue"]))]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])])]),_:1}),l(V,{class:"mt-4",fixed:!0},{default:t(()=>[l(y,{type:"primary",onClick:f},{default:t(()=>[...n[1]||(n[1]=[F("保存",-1)])]),_:1})]),_:1})],64)}}});export{A as default}; diff --git a/server/public/admin/assets/tabbar-Co5HGlPw.js b/server/public/admin/assets/tabbar-BXi5RmTP.js similarity index 73% rename from server/public/admin/assets/tabbar-Co5HGlPw.js rename to server/public/admin/assets/tabbar-BXi5RmTP.js index 4030af53..54baf4d5 100644 --- a/server/public/admin/assets/tabbar-Co5HGlPw.js +++ b/server/public/admin/assets/tabbar-BXi5RmTP.js @@ -1 +1 @@ -import{_ as C}from"./index-bkWlwzQZ.js";import{o as v,ba as B,cu as E,R as T,be as k,q as i,r as M,s as r,v as l,D as c,bg as R,u as a,C as N,a2 as f,O as d,a4 as b,af as P,ag as I,ac as L,K as O,L as S,M as U,p as q}from"./.pnpm-9dA1PEvN.js";import{c as z,d as K}from"./decoration-CcdLOa7h.js";import $ from"./menu-CnChKOxc.js";import{_ as j}from"./attr.vue_vue_type_script_setup_true_lang-DBDa4pLA.js";import A from"./content-vBXU_rtS.js";import{_ as F}from"./index-CJvXnF8Y.js";import"./index-CAGpCz28.js";import"./picker-zZfe7WrS.js";import"./index-BBemoNXE.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-BioaiRdh.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DWQ_BAep.js";import"./index-CY1mb9yY.js";import"./index-DMkcmA29.js";import"./file-BJDA0rIT.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./index.vue_vue_type_script_setup_true_lang-DNrIEWkc.js";import"./decoration-img-BjTNsUc3.js";const G={attr:j,content:A},H={class:"decoration-tabbar"},J={class:"flex-1 min-h-0 w-full"},Q={class:"h-full"},W={class:"flex min-w-[900px] scroll-view-content"},X={class:"flex-1 pages-preview-box"},Y={class:"pages-preview mx-[30px]"},Z={class:"px-5 pb-5"},tt=v({name:"decorationTabbar"}),et=v({...tt,setup(at){let p;(t=>{t.MOBILE="1",t.PC="2"})(p||(p={}));const o=U("1"),m=B({1:{id:1,type:1,name:"移动端导航栏",data:{style:{default_color:"",selected_color:""},list:[]},component:E(G)}}),s=q(()=>m[o.value]),_=async()=>{const t=await z({type:o.value});m[1].data=t},x=async()=>{const{data:t}=s.value;await K({...t}),_()};return T(o,()=>{_()},{immediate:!0}),(t,n)=>{const g=R,u=f,h=f,w=O,y=C,V=k("perms");return i(),M("div",H,[r("div",J,[r("div",Q,[l(h,null,{default:c(()=>[r("div",W,[l(g,{shadow:"never",class:"!border-none flex","body-style":{"padding-right":0}},{default:c(()=>[l($,{class:"!h-full flex-none",modelValue:a(o),"onUpdate:modelValue":n[0]||(n[0]=e=>N(o)?o.value=e:null),menus:a(m)},null,8,["modelValue","menus"])]),_:1}),r("div",X,[r("div",Y,[l(u,{height:"100%"},{default:c(()=>{var e;return[(i(),d(b((e=a(s).component)==null?void 0:e.content),P(I(a(s).data)),null,16))]}),_:1})])]),l(u,{class:"attr-setting flex-none"},{default:c(()=>{var e;return[r("div",Z,[(i(),d(b((e=a(s).component)==null?void 0:e.attr),{modelValue:a(s).data,"onUpdate:modelValue":n[1]||(n[1]=D=>a(s).data=D)},null,8,["modelValue"]))])]}),_:1})])]),_:1})])]),L((i(),d(y,{fixed:!0},{default:c(()=>[l(w,{type:"primary",onClick:x},{default:c(()=>[...n[2]||(n[2]=[S("保存",-1)])]),_:1})]),_:1})),[[V,["decorate:tabbar:save"]]])])}}}),Vt=F(et,[["__scopeId","data-v-af97266e"]]);export{Vt as default}; +import{_ as C}from"./index-DZiQLFzx.js";import{o as v,ba as B,cu as E,R as T,be as k,q as i,r as M,s as r,v as l,D as c,bg as R,u as a,C as N,a2 as f,O as d,a4 as b,af as P,ag as I,ac as L,K as O,L as S,M as U,p as q}from"./.pnpm-9dA1PEvN.js";import{c as z,d as K}from"./decoration-CvemIMkE.js";import $ from"./menu-DpE-frsg.js";import{_ as j}from"./attr.vue_vue_type_script_setup_true_lang-CxnwuLiq.js";import A from"./content-lN5Ca0O2.js";import{_ as F}from"./index-BWzN7QIb.js";import"./index-fA0EWEUO.js";import"./picker-CUH4oSOm.js";import"./index-dYaCh-CN.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./article-CGwMRNkL.js";import"./usePaging-Boz1Q6w3.js";import"./picker-DfI3CPnQ.js";import"./index-xDQ_OZln.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./index.vue_vue_type_script_setup_true_lang-DNrIEWkc.js";import"./decoration-img-D7jfQZHh.js";const G={attr:j,content:A},H={class:"decoration-tabbar"},J={class:"flex-1 min-h-0 w-full"},Q={class:"h-full"},W={class:"flex min-w-[900px] scroll-view-content"},X={class:"flex-1 pages-preview-box"},Y={class:"pages-preview mx-[30px]"},Z={class:"px-5 pb-5"},tt=v({name:"decorationTabbar"}),et=v({...tt,setup(at){let p;(t=>{t.MOBILE="1",t.PC="2"})(p||(p={}));const o=U("1"),m=B({1:{id:1,type:1,name:"移动端导航栏",data:{style:{default_color:"",selected_color:""},list:[]},component:E(G)}}),s=q(()=>m[o.value]),_=async()=>{const t=await z({type:o.value});m[1].data=t},x=async()=>{const{data:t}=s.value;await K({...t}),_()};return T(o,()=>{_()},{immediate:!0}),(t,n)=>{const g=R,u=f,h=f,w=O,y=C,V=k("perms");return i(),M("div",H,[r("div",J,[r("div",Q,[l(h,null,{default:c(()=>[r("div",W,[l(g,{shadow:"never",class:"!border-none flex","body-style":{"padding-right":0}},{default:c(()=>[l($,{class:"!h-full flex-none",modelValue:a(o),"onUpdate:modelValue":n[0]||(n[0]=e=>N(o)?o.value=e:null),menus:a(m)},null,8,["modelValue","menus"])]),_:1}),r("div",X,[r("div",Y,[l(u,{height:"100%"},{default:c(()=>{var e;return[(i(),d(b((e=a(s).component)==null?void 0:e.content),P(I(a(s).data)),null,16))]}),_:1})])]),l(u,{class:"attr-setting flex-none"},{default:c(()=>{var e;return[r("div",Z,[(i(),d(b((e=a(s).component)==null?void 0:e.attr),{modelValue:a(s).data,"onUpdate:modelValue":n[1]||(n[1]=D=>a(s).data=D)},null,8,["modelValue"]))])]}),_:1})])]),_:1})])]),L((i(),d(y,{fixed:!0},{default:c(()=>[l(w,{type:"primary",onClick:x},{default:c(()=>[...n[2]||(n[2]=[S("保存",-1)])]),_:1})]),_:1})),[[V,["decorate:tabbar:save"]]])])}}}),Vt=F(et,[["__scopeId","data-v-af97266e"]]);export{Vt as default}; diff --git a/server/public/admin/assets/tcm-DOD9_1Um.js b/server/public/admin/assets/tcm-Fi_swgCr.js similarity index 99% rename from server/public/admin/assets/tcm-DOD9_1Um.js rename to server/public/admin/assets/tcm-Fi_swgCr.js index e20b17c3..b1702b35 100644 --- a/server/public/admin/assets/tcm-DOD9_1Um.js +++ b/server/public/admin/assets/tcm-Fi_swgCr.js @@ -1 +1 @@ -import{r as t}from"./index-CJvXnF8Y.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 d(r){return t.post({url:"/tcm.diagnosis/edit",params:r})}function p(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 h(r){return t.post({url:"/tcm.diagnosis/assign",params:r})}function C(r){return t.get({url:"/tcm.diagnosis/assignLogList",params:r})}function y(){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 D(r){return t.post({url:"/tcm.bloodRecord/delete",params:r})}function b(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 W(r){return t.post({url:"/tcm.exerciseRecord/add",params:r})}function E(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 V(r){return t.get({url:"/tcm.diagnosis/getImChatMessages",params:r})}function F(r){return t.post({url:"/tcm.diagnosis/triggerImChatSync",data:r})}function H(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 dr(r){return t.get({url:"/tcm.prescriptionOrder/paidPayOrders",params:r})}function pr(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/patchPrescriptionPatient",params:r})}function Rr(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 yr(r){return t.post({url:"/tcm.prescriptionOrder/revokeRxAudit",params:r})}function Pr(r){return t.post({url:"/tcm.prescriptionOrder/batchAssignAssistant",params:r})}function Ar(r){return t.post({url:"/tcm.prescriptionOrder/revokePayAudit",params:r})}function Lr(r){return t.post({url:"/tcm.prescriptionOrder/ship",params:r})}function Dr(r){return t.post({url:"/tcm.prescriptionOrder/addPayOrder",params:r})}function br(r){return t.post({url:"/tcm.prescriptionOrder/linkPayOrder",params:r})}function kr(r){return t.post({url:"/tcm.prescriptionOrder/requestCompletion",params:r})}function Tr(r){return t.post({url:"/tcm.prescriptionOrder/complete",params:r})}function Sr(r){return t.post({url:"/tcm.prescriptionOrder/refund",params:r})}function xr(r){return t.post({url:"/tcm.prescriptionOrder/uploadToPharmacy",params:r})}function Br(r){return t.post({url:"/tcm.prescriptionOrder/confirmGancaoSubmission",params:r})}function Wr(r){return t.post({url:"/tcm.prescriptionOrder/previewGancaoRecipel",params:r})}function Er(r){return t.get({url:"/tcm.prescriptionOrder/logs",params:r})}function vr(r){return t.post({url:"/tcm.prescriptionOrder/addLog",params:r})}function wr(r){return t.post({url:"/tcm.prescriptionOrder/updateAmount",params:r})}function Ir(r){return t.post({url:"/tcm.prescriptionOrder/setShipMode",params:r})}function Mr(r){return t.get({url:"/tcm.prescriptionLibrary/lists",params:r})}function Gr(r){return t.post({url:"/tcm.prescriptionLibrary/add",params:r})}function Ur(r){return t.post({url:"/tcm.prescriptionLibrary/edit",params:r})}function qr(r){return t.post({url:"/tcm.prescriptionLibrary/delete",params:r})}function Nr(r){return t.get({url:"/tcm.diagnosisTodo/lists",params:r})}function Qr(r){return t.post({url:"/tcm.diagnosisTodo/add",params:r})}function Jr(r){return t.post({url:"/tcm.diagnosisTodo/cancel",params:r})}export{Nr as $,Or as A,wr as B,fr as C,hr as D,Cr as E,pr as F,Wr as G,xr as H,Lr as I,Sr as J,Tr as K,kr as L,Dr as M,br as N,yr as O,Ar as P,z as Q,I as R,s as S,c as T,L as U,A as V,S as W,T as X,E as Y,W as Z,o as _,Rr as a,Qr as a0,Jr as a1,j as a2,nr as a3,l as a4,f as a5,O as a6,u as a7,d as a8,C as a9,a as aA,G as aB,q as aC,M as aD,J as aa,k as ab,b as ac,D as ad,U as ae,N as af,Q as ag,ir as ah,B as ai,x as aj,w as ak,v as al,V as am,F as an,g as ao,sr as ap,i as aq,h as ar,m as as,R as at,H as au,K as av,X as aw,p as ax,Y as ay,n as az,vr as b,lr as c,gr as d,mr as e,Er as f,P as g,dr as h,y as i,rr as j,er as k,cr as l,Z as m,or as n,Mr as o,Br as p,_ as q,$ as r,tr as s,ar as t,Gr as u,Ur as v,qr as w,ur as x,Pr as y,Ir as z}; +import{r as t}from"./index-BWzN7QIb.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 d(r){return t.post({url:"/tcm.diagnosis/edit",params:r})}function p(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 h(r){return t.post({url:"/tcm.diagnosis/assign",params:r})}function C(r){return t.get({url:"/tcm.diagnosis/assignLogList",params:r})}function y(){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 D(r){return t.post({url:"/tcm.bloodRecord/delete",params:r})}function b(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 W(r){return t.post({url:"/tcm.exerciseRecord/add",params:r})}function E(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 V(r){return t.get({url:"/tcm.diagnosis/getImChatMessages",params:r})}function F(r){return t.post({url:"/tcm.diagnosis/triggerImChatSync",data:r})}function H(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 dr(r){return t.get({url:"/tcm.prescriptionOrder/paidPayOrders",params:r})}function pr(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/patchPrescriptionPatient",params:r})}function Rr(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 yr(r){return t.post({url:"/tcm.prescriptionOrder/revokeRxAudit",params:r})}function Pr(r){return t.post({url:"/tcm.prescriptionOrder/batchAssignAssistant",params:r})}function Ar(r){return t.post({url:"/tcm.prescriptionOrder/revokePayAudit",params:r})}function Lr(r){return t.post({url:"/tcm.prescriptionOrder/ship",params:r})}function Dr(r){return t.post({url:"/tcm.prescriptionOrder/addPayOrder",params:r})}function br(r){return t.post({url:"/tcm.prescriptionOrder/linkPayOrder",params:r})}function kr(r){return t.post({url:"/tcm.prescriptionOrder/requestCompletion",params:r})}function Tr(r){return t.post({url:"/tcm.prescriptionOrder/complete",params:r})}function Sr(r){return t.post({url:"/tcm.prescriptionOrder/refund",params:r})}function xr(r){return t.post({url:"/tcm.prescriptionOrder/uploadToPharmacy",params:r})}function Br(r){return t.post({url:"/tcm.prescriptionOrder/confirmGancaoSubmission",params:r})}function Wr(r){return t.post({url:"/tcm.prescriptionOrder/previewGancaoRecipel",params:r})}function Er(r){return t.get({url:"/tcm.prescriptionOrder/logs",params:r})}function vr(r){return t.post({url:"/tcm.prescriptionOrder/addLog",params:r})}function wr(r){return t.post({url:"/tcm.prescriptionOrder/updateAmount",params:r})}function Ir(r){return t.post({url:"/tcm.prescriptionOrder/setShipMode",params:r})}function Mr(r){return t.get({url:"/tcm.prescriptionLibrary/lists",params:r})}function Gr(r){return t.post({url:"/tcm.prescriptionLibrary/add",params:r})}function Ur(r){return t.post({url:"/tcm.prescriptionLibrary/edit",params:r})}function qr(r){return t.post({url:"/tcm.prescriptionLibrary/delete",params:r})}function Nr(r){return t.get({url:"/tcm.diagnosisTodo/lists",params:r})}function Qr(r){return t.post({url:"/tcm.diagnosisTodo/add",params:r})}function Jr(r){return t.post({url:"/tcm.diagnosisTodo/cancel",params:r})}export{Nr as $,Or as A,wr as B,fr as C,hr as D,Cr as E,pr as F,Wr as G,xr as H,Lr as I,Sr as J,Tr as K,kr as L,Dr as M,br as N,yr as O,Ar as P,z as Q,I as R,s as S,c as T,L as U,A as V,S as W,T as X,E as Y,W as Z,o as _,Rr as a,Qr as a0,Jr as a1,j as a2,nr as a3,l as a4,f as a5,O as a6,u as a7,d as a8,C as a9,a as aA,G as aB,q as aC,M as aD,J as aa,k as ab,b as ac,D as ad,U as ae,N as af,Q as ag,ir as ah,B as ai,x as aj,w as ak,v as al,V as am,F as an,g as ao,sr as ap,i as aq,h as ar,m as as,R as at,H as au,K as av,X as aw,p as ax,Y as ay,n as az,vr as b,lr as c,gr as d,mr as e,Er as f,P as g,dr as h,y as i,rr as j,er as k,cr as l,Z as m,or as n,Mr as o,Br as p,_ as q,$ as r,tr as s,ar as t,Gr as u,Ur as v,qr as w,ur as x,Pr as y,Ir as z}; diff --git a/server/public/admin/assets/theme-picker-BJjcYG0m.js b/server/public/admin/assets/theme-picker-B0Vl2QAG.js similarity index 93% rename from server/public/admin/assets/theme-picker-BJjcYG0m.js rename to server/public/admin/assets/theme-picker-B0Vl2QAG.js index 0b656a0a..1632f0d0 100644 --- a/server/public/admin/assets/theme-picker-BJjcYG0m.js +++ b/server/public/admin/assets/theme-picker-B0Vl2QAG.js @@ -1 +1 @@ -import{o as m,cn as x,q as t,r as a,F as _,G as h,ae as f,u as r,s as c,t as g,T as k}from"./.pnpm-9dA1PEvN.js";import{_ as v}from"./index-CJvXnF8Y.js";const C={class:"flex flex-wrap"},y=["onClick"],V={class:"ml-[14px]"},b=m({__name:"theme-picker",props:{themeColors:{},modelValue:{}},emits:["update:modelValue","change"],setup(l,{emit:d}){const i=l,n=d,s=x(i,"modelValue",n),p=o=>{s.value=o.id,n("change",o)};return(o,w)=>(t(),a("div",C,[(t(!0),a(_,null,h(l.themeColors,(e,u)=>(t(),a("div",{class:f(["py-[18px] px-[20px] flex items-center text-[14px] shadow rounded-lg mr-[20px] mb-[20px] cursor-pointer",{"is-select":r(s)==e.id,unselect:r(s)!=e.id}]),key:u,onClick:B=>p(e)},[c("div",{class:"rounded-full h-[34px] w-[34px]",style:g(`background: linear-gradient(to right, ${e.color1}, ${e.color2})`)},null,4),c("div",V,k(e.name),1)],10,y))),128))]))}}),z=v(b,[["__scopeId","data-v-cdbe1703"]]);export{z as default}; +import{o as m,cn as x,q as t,r as a,F as _,G as h,ae as f,u as r,s as c,t as g,T as k}from"./.pnpm-9dA1PEvN.js";import{_ as v}from"./index-BWzN7QIb.js";const C={class:"flex flex-wrap"},y=["onClick"],V={class:"ml-[14px]"},b=m({__name:"theme-picker",props:{themeColors:{},modelValue:{}},emits:["update:modelValue","change"],setup(l,{emit:d}){const i=l,n=d,s=x(i,"modelValue",n),p=o=>{s.value=o.id,n("change",o)};return(o,w)=>(t(),a("div",C,[(t(!0),a(_,null,h(l.themeColors,(e,u)=>(t(),a("div",{class:f(["py-[18px] px-[20px] flex items-center text-[14px] shadow rounded-lg mr-[20px] mb-[20px] cursor-pointer",{"is-select":r(s)==e.id,unselect:r(s)!=e.id}]),key:u,onClick:B=>p(e)},[c("div",{class:"rounded-full h-[34px] w-[34px]",style:g(`background: linear-gradient(to right, ${e.color1}, ${e.color2})`)},null,4),c("div",V,k(e.name),1)],10,y))),128))]))}}),z=v(b,[["__scopeId","data-v-cdbe1703"]]);export{z as default}; diff --git a/server/public/admin/assets/tongji-Cyhjuv0B.js b/server/public/admin/assets/tongji-Dw13lW9F.js similarity index 97% rename from server/public/admin/assets/tongji-Cyhjuv0B.js rename to server/public/admin/assets/tongji-Dw13lW9F.js index 06e9e9cd..0b1adf5d 100644 --- a/server/public/admin/assets/tongji-Cyhjuv0B.js +++ b/server/public/admin/assets/tongji-Dw13lW9F.js @@ -1 +1 @@ -import{o as K,ap as W,q as a,r as d,v as l,D as s,b9 as $,b6 as A,bm as H,F as f,G as v,O as y,bn as J,bc as Q,bb as X,L as c,bp as Z,P as tt,K as et,s as o,bg as st,ac as at,bi as lt,bj as ot,bk as nt,T as u,br as dt,bB as it,M as E,ba as rt,E as _t}from"./.pnpm-9dA1PEvN.js";import{f as ct,k as ut}from"./doctor-Bmtf1eZE.js";import{_ as pt}from"./index-CJvXnF8Y.js";const mt={class:"statistics-page"},ft={key:0},vt={class:"status-overview"},yt={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"},Tt={key:0},xt={class:"channel-grid"},Dt={class:"channel-header"},Mt={class:"channel-name"},Bt={class:"channel-total"},Lt={class:"status-tags"},St={key:1,class:"text-gray-400"},jt={key:1,class:"empty-data"},Nt=K({__name:"tongji",setup(Ft){const g=E(!1),x=E([]),h=E([]),_=E([]),i=rt({doctor_id:"",time_type:"today",start_date:"",end_date:""}),j=async()=>{try{const e=await ct({role_id:1});x.value=e.lists||[]}catch(e){console.error("获取医生列表失败:",e)}},V=async()=>{g.value=!0;try{const e={time_type:i.time_type};i.doctor_id&&(e.doctor_id=i.doctor_id),i.time_type==="custom"&&_.value&&_.value.length===2&&(e.start_date=_.value[0],e.end_date=_.value[1]);const t=await ut(e);h.value=t.lists||[],h.value.forEach(r=>{r.dept_status_details||(r.dept_status_details=[]),r.channel_status_details||(r.channel_status_details=[])})}catch(e){console.error("获取统计数据错误:",e),_t.error(e.msg||"获取统计数据失败")}finally{g.value=!1}},N=()=>{i.time_type!=="custom"&&(_.value=[])},F=()=>{i.doctor_id="",i.time_type="today",_.value=[],V()},O=e=>e.statuses?Object.values(e.statuses).reduce((t,r)=>t+r,0):0,R=e=>e.statuses?Object.values(e.statuses).reduce((t,r)=>t+r,0):0,D=e=>({1:"已挂号",2:"已取消",3:"已完成",4:"已过号"})[e]||`状态${e}`,M=e=>({1:"info",2:"danger",3:"success",4:"warning"})[e]||"default";return W(()=>{j(),V()}),(e,t)=>{const r=J,Y=H,b=A,k=X,P=Q,U=Z,B=et,q=$,L=st,C=nt,S=dt,z=ot,G=it,I=lt;return a(),d("div",mt,[l(L,{class:"mb-4",shadow:"hover"},{header:s(()=>[...t[3]||(t[3]=[o("div",{class:"card-header"},[o("span",{class:"card-title"},"筛选条件")],-1)])]),default:s(()=>[l(q,{inline:!0,model:i,class:"filter-form"},{default:s(()=>[l(b,{label:"医生"},{default:s(()=>[l(Y,{modelValue:i.doctor_id,"onUpdate:modelValue":t[0]||(t[0]=n=>i.doctor_id=n),placeholder:"全部医生",clearable:"",filterable:"",style:{width:"200px"}},{default:s(()=>[(a(!0),d(f,null,v(x.value,n=>(a(),y(r,{key:n.id,label:n.name,value:n.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(b,{label:"时间范围"},{default:s(()=>[l(P,{modelValue:i.time_type,"onUpdate:modelValue":t[1]||(t[1]=n=>i.time_type=n),onChange:N},{default:s(()=>[l(k,{label:"today"},{default:s(()=>[...t[4]||(t[4]=[c("今天",-1)])]),_:1}),l(k,{label:"week"},{default:s(()=>[...t[5]||(t[5]=[c("最近7天",-1)])]),_:1}),l(k,{label:"month"},{default:s(()=>[...t[6]||(t[6]=[c("最近30天",-1)])]),_:1}),l(k,{label:"custom"},{default:s(()=>[...t[7]||(t[7]=[c("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),i.time_type==="custom"?(a(),y(b,{key:0},{default:s(()=>[l(U,{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})):tt("",!0),l(b,null,{default:s(()=>[l(B,{type:"primary",onClick:V,loading:g.value},{default:s(()=>[...t[8]||(t[8]=[c("查询",-1)])]),_:1},8,["loading"]),l(B,{onClick:F},{default:s(()=>[...t[9]||(t[9]=[c("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),at((a(),y(L,{class:"mb-4",shadow:"hover"},{header:s(()=>[...t[10]||(t[10]=[o("div",{class:"card-header"},[o("span",{class:"card-title"},"医生统计数据")],-1)])]),default:s(()=>[h.value.length>0?(a(),d("div",ft,[l(z,{data:h.value,style:{width:"100%"},"header-cell-style":{background:"#f5f7fa",color:"#606266",fontWeight:"600"}},{default:s(()=>[l(C,{prop:"doctor_name",label:"医生姓名",width:"120"}),l(C,{label:"状态明细","min-width":"700"},{default:s(({row:n})=>[o("div",vt,[o("div",yt,[t[11]||(t[11]=o("h4",{class:"section-title"},"部门状态",-1)),n.dept_status_details&&n.dept_status_details.length>0?(a(),d("div",gt,[o("div",ht,[(a(!0),d(f,null,v(n.dept_status_details,(p,w)=>(a(),d("div",{key:w,class:"dept-item"},[o("div",bt,[o("span",kt,u(p.dept_name),1),o("span",Et,"("+u(O(p))+")",1)]),o("div",Vt,[(a(!0),d(f,null,v(p.statuses,(T,m)=>(a(),y(S,{key:m,type:M(m),size:"small",class:"compact-tag"},{default:s(()=>[c(u(D(m))+": "+u(T),1)]),_:2},1032,["type"]))),128))])]))),128))])])):(a(),d("span",Ct,"暂无部门状态明细"))]),o("div",wt,[t[12]||(t[12]=o("h4",{class:"section-title"},"渠道状态",-1)),n.channel_status_details&&n.channel_status_details.length>0?(a(),d("div",Tt,[o("div",xt,[(a(!0),d(f,null,v(n.channel_status_details,(p,w)=>(a(),d("div",{key:w,class:"channel-item"},[o("div",Dt,[o("span",Mt,u(p.channel_name),1),o("span",Bt,"("+u(R(p))+")",1)]),o("div",Lt,[(a(!0),d(f,null,v(p.statuses,(T,m)=>(a(),y(S,{key:m,type:M(m),size:"small",class:"compact-tag"},{default:s(()=>[c(u(D(m))+": "+u(T),1)]),_:2},1032,["type"]))),128))])]))),128))])])):(a(),d("span",St,"暂无渠道状态明细"))])])]),_:1}),l(C,{prop:"time_range",label:"统计时间","min-width":"200"})]),_:1},8,["data"])])):(a(),d("div",jt,[l(G,{description:"暂无统计数据"})]))]),_:1})),[[I,g.value]])])}}}),Pt=pt(Nt,[["__scopeId","data-v-3355f73c"]]);export{Pt as default}; +import{o as K,ap as W,q as a,r as d,v as l,D as s,b9 as $,b6 as A,bm as H,F as f,G as v,O as y,bn as J,bc as Q,bb as X,L as c,bp as Z,P as tt,K as et,s as o,bg as st,ac as at,bi as lt,bj as ot,bk as nt,T as u,br as dt,bB as it,M as E,ba as rt,E as _t}from"./.pnpm-9dA1PEvN.js";import{f as ct,k as ut}from"./doctor-Chj6BcVp.js";import{_ as pt}from"./index-BWzN7QIb.js";const mt={class:"statistics-page"},ft={key:0},vt={class:"status-overview"},yt={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"},Tt={key:0},xt={class:"channel-grid"},Dt={class:"channel-header"},Mt={class:"channel-name"},Bt={class:"channel-total"},Lt={class:"status-tags"},St={key:1,class:"text-gray-400"},jt={key:1,class:"empty-data"},Nt=K({__name:"tongji",setup(Ft){const g=E(!1),x=E([]),h=E([]),_=E([]),i=rt({doctor_id:"",time_type:"today",start_date:"",end_date:""}),j=async()=>{try{const e=await ct({role_id:1});x.value=e.lists||[]}catch(e){console.error("获取医生列表失败:",e)}},V=async()=>{g.value=!0;try{const e={time_type:i.time_type};i.doctor_id&&(e.doctor_id=i.doctor_id),i.time_type==="custom"&&_.value&&_.value.length===2&&(e.start_date=_.value[0],e.end_date=_.value[1]);const t=await ut(e);h.value=t.lists||[],h.value.forEach(r=>{r.dept_status_details||(r.dept_status_details=[]),r.channel_status_details||(r.channel_status_details=[])})}catch(e){console.error("获取统计数据错误:",e),_t.error(e.msg||"获取统计数据失败")}finally{g.value=!1}},N=()=>{i.time_type!=="custom"&&(_.value=[])},F=()=>{i.doctor_id="",i.time_type="today",_.value=[],V()},O=e=>e.statuses?Object.values(e.statuses).reduce((t,r)=>t+r,0):0,R=e=>e.statuses?Object.values(e.statuses).reduce((t,r)=>t+r,0):0,D=e=>({1:"已挂号",2:"已取消",3:"已完成",4:"已过号"})[e]||`状态${e}`,M=e=>({1:"info",2:"danger",3:"success",4:"warning"})[e]||"default";return W(()=>{j(),V()}),(e,t)=>{const r=J,Y=H,b=A,k=X,P=Q,U=Z,B=et,q=$,L=st,C=nt,S=dt,z=ot,G=it,I=lt;return a(),d("div",mt,[l(L,{class:"mb-4",shadow:"hover"},{header:s(()=>[...t[3]||(t[3]=[o("div",{class:"card-header"},[o("span",{class:"card-title"},"筛选条件")],-1)])]),default:s(()=>[l(q,{inline:!0,model:i,class:"filter-form"},{default:s(()=>[l(b,{label:"医生"},{default:s(()=>[l(Y,{modelValue:i.doctor_id,"onUpdate:modelValue":t[0]||(t[0]=n=>i.doctor_id=n),placeholder:"全部医生",clearable:"",filterable:"",style:{width:"200px"}},{default:s(()=>[(a(!0),d(f,null,v(x.value,n=>(a(),y(r,{key:n.id,label:n.name,value:n.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(b,{label:"时间范围"},{default:s(()=>[l(P,{modelValue:i.time_type,"onUpdate:modelValue":t[1]||(t[1]=n=>i.time_type=n),onChange:N},{default:s(()=>[l(k,{label:"today"},{default:s(()=>[...t[4]||(t[4]=[c("今天",-1)])]),_:1}),l(k,{label:"week"},{default:s(()=>[...t[5]||(t[5]=[c("最近7天",-1)])]),_:1}),l(k,{label:"month"},{default:s(()=>[...t[6]||(t[6]=[c("最近30天",-1)])]),_:1}),l(k,{label:"custom"},{default:s(()=>[...t[7]||(t[7]=[c("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),i.time_type==="custom"?(a(),y(b,{key:0},{default:s(()=>[l(U,{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})):tt("",!0),l(b,null,{default:s(()=>[l(B,{type:"primary",onClick:V,loading:g.value},{default:s(()=>[...t[8]||(t[8]=[c("查询",-1)])]),_:1},8,["loading"]),l(B,{onClick:F},{default:s(()=>[...t[9]||(t[9]=[c("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),at((a(),y(L,{class:"mb-4",shadow:"hover"},{header:s(()=>[...t[10]||(t[10]=[o("div",{class:"card-header"},[o("span",{class:"card-title"},"医生统计数据")],-1)])]),default:s(()=>[h.value.length>0?(a(),d("div",ft,[l(z,{data:h.value,style:{width:"100%"},"header-cell-style":{background:"#f5f7fa",color:"#606266",fontWeight:"600"}},{default:s(()=>[l(C,{prop:"doctor_name",label:"医生姓名",width:"120"}),l(C,{label:"状态明细","min-width":"700"},{default:s(({row:n})=>[o("div",vt,[o("div",yt,[t[11]||(t[11]=o("h4",{class:"section-title"},"部门状态",-1)),n.dept_status_details&&n.dept_status_details.length>0?(a(),d("div",gt,[o("div",ht,[(a(!0),d(f,null,v(n.dept_status_details,(p,w)=>(a(),d("div",{key:w,class:"dept-item"},[o("div",bt,[o("span",kt,u(p.dept_name),1),o("span",Et,"("+u(O(p))+")",1)]),o("div",Vt,[(a(!0),d(f,null,v(p.statuses,(T,m)=>(a(),y(S,{key:m,type:M(m),size:"small",class:"compact-tag"},{default:s(()=>[c(u(D(m))+": "+u(T),1)]),_:2},1032,["type"]))),128))])]))),128))])])):(a(),d("span",Ct,"暂无部门状态明细"))]),o("div",wt,[t[12]||(t[12]=o("h4",{class:"section-title"},"渠道状态",-1)),n.channel_status_details&&n.channel_status_details.length>0?(a(),d("div",Tt,[o("div",xt,[(a(!0),d(f,null,v(n.channel_status_details,(p,w)=>(a(),d("div",{key:w,class:"channel-item"},[o("div",Dt,[o("span",Mt,u(p.channel_name),1),o("span",Bt,"("+u(R(p))+")",1)]),o("div",Lt,[(a(!0),d(f,null,v(p.statuses,(T,m)=>(a(),y(S,{key:m,type:M(m),size:"small",class:"compact-tag"},{default:s(()=>[c(u(D(m))+": "+u(T),1)]),_:2},1032,["type"]))),128))])]))),128))])])):(a(),d("span",St,"暂无渠道状态明细"))])])]),_:1}),l(C,{prop:"time_range",label:"统计时间","min-width":"200"})]),_:1},8,["data"])])):(a(),d("div",jt,[l(G,{description:"暂无统计数据"})]))]),_:1})),[[I,g.value]])])}}}),Pt=pt(Nt,[["__scopeId","data-v-3355f73c"]]);export{Pt as default}; diff --git a/server/public/admin/assets/upload-7g16At3y.js b/server/public/admin/assets/upload-upgxHD-j.js similarity index 90% rename from server/public/admin/assets/upload-7g16At3y.js rename to server/public/admin/assets/upload-upgxHD-j.js index 109fcdd9..9af6d9b2 100644 --- a/server/public/admin/assets/upload-7g16At3y.js +++ b/server/public/admin/assets/upload-upgxHD-j.js @@ -1 +1 @@ -import{o as u,q as m,r as c,v as o,D as e,s as r,K as f,L as p,bg as g}from"./.pnpm-9dA1PEvN.js";import{U as i}from"./index-DMkcmA29.js";import"./index-CJvXnF8Y.js";import"./file-BJDA0rIT.js";const v={class:"flex flex-wrap"},y={class:"m-4"},w={class:"m-4"},h={class:"m-4"},x={class:"m-4"},V=u({__name:"upload",setup(B){const a=t=>{console.log("上传文件的状态发生改变",t)},l=t=>{console.log("上传文件成功",t)},n=t=>{console.log("上传文件失败",t)};return(t,s)=>{const d=f,_=g;return m(),c("div",null,[o(_,{header:"基础使用",shadow:"never",class:"!border-none"},{default:e(()=>[r("div",v,[r("div",y,[o(i,{onChange:a,onSuccess:l,onError:n,"show-progress":!0},{default:e(()=>[o(d,{type:"primary"},{default:e(()=>[...s[0]||(s[0]=[p("上传图片",-1)])]),_:1})]),_:1})]),r("div",w,[o(i,{type:"video",onChange:a,onSuccess:l,onError:n,"show-progress":!0},{default:e(()=>[o(d,{type:"primary"},{default:e(()=>[...s[1]||(s[1]=[p("上传视频",-1)])]),_:1})]),_:1})]),r("div",h,[o(i,{multiple:!1,onChange:a,onSuccess:l,onError:n,"show-progress":!0},{default:e(()=>[o(d,{type:"primary"},{default:e(()=>[...s[2]||(s[2]=[p("取消多选",-1)])]),_:1})]),_:1})]),r("div",x,[o(i,{limit:2,onChange:a,onSuccess:l,onError:n,"show-progress":!0},{default:e(()=>[o(d,{type:"primary"},{default:e(()=>[...s[3]||(s[3]=[p("一次最多上传2张",-1)])]),_:1})]),_:1})])])]),_:1})])}}});export{V as default}; +import{o as u,q as m,r as c,v as o,D as e,s as r,K as f,L as p,bg as g}from"./.pnpm-9dA1PEvN.js";import{U as i}from"./index-DFkJDhf6.js";import"./index-BWzN7QIb.js";import"./file-BL6iPgPC.js";const v={class:"flex flex-wrap"},y={class:"m-4"},w={class:"m-4"},h={class:"m-4"},x={class:"m-4"},V=u({__name:"upload",setup(B){const a=t=>{console.log("上传文件的状态发生改变",t)},l=t=>{console.log("上传文件成功",t)},n=t=>{console.log("上传文件失败",t)};return(t,s)=>{const d=f,_=g;return m(),c("div",null,[o(_,{header:"基础使用",shadow:"never",class:"!border-none"},{default:e(()=>[r("div",v,[r("div",y,[o(i,{onChange:a,onSuccess:l,onError:n,"show-progress":!0},{default:e(()=>[o(d,{type:"primary"},{default:e(()=>[...s[0]||(s[0]=[p("上传图片",-1)])]),_:1})]),_:1})]),r("div",w,[o(i,{type:"video",onChange:a,onSuccess:l,onError:n,"show-progress":!0},{default:e(()=>[o(d,{type:"primary"},{default:e(()=>[...s[1]||(s[1]=[p("上传视频",-1)])]),_:1})]),_:1})]),r("div",h,[o(i,{multiple:!1,onChange:a,onSuccess:l,onError:n,"show-progress":!0},{default:e(()=>[o(d,{type:"primary"},{default:e(()=>[...s[2]||(s[2]=[p("取消多选",-1)])]),_:1})]),_:1})]),r("div",x,[o(i,{limit:2,onChange:a,onSuccess:l,onError:n,"show-progress":!0},{default:e(()=>[o(d,{type:"primary"},{default:e(()=>[...s[3]||(s[3]=[p("一次最多上传2张",-1)])]),_:1})]),_:1})])])]),_:1})])}}});export{V as default}; diff --git a/server/public/admin/assets/useDictOptions-bKMXOe8R.js b/server/public/admin/assets/useDictOptions-BeE4yyHx.js similarity index 84% rename from server/public/admin/assets/useDictOptions-bKMXOe8R.js rename to server/public/admin/assets/useDictOptions-BeE4yyHx.js index 77d86b87..631b17a8 100644 --- a/server/public/admin/assets/useDictOptions-bKMXOe8R.js +++ b/server/public/admin/assets/useDictOptions-BeE4yyHx.js @@ -1 +1 @@ -import"./index-CJvXnF8Y.js";import{bN as p,ba as f}from"./.pnpm-9dA1PEvN.js";function b(t){const s=f({}),e=Object.keys(t),i=e.map(o=>{const a=t[o];return s[o]=[],()=>a.api(p(a.params)||{})}),r=async()=>{(await Promise.allSettled(i.map(a=>a()))).forEach((a,u)=>{const n=e[u];if(a.status=="fulfilled"){const{transformData:c}=t[n],l=c?c(a.value):a.value;s[n]=l}})};return r(),{optionsData:s,refresh:r}}export{b as u}; +import"./index-BWzN7QIb.js";import{bN as p,ba as f}from"./.pnpm-9dA1PEvN.js";function b(t){const s=f({}),e=Object.keys(t),i=e.map(o=>{const a=t[o];return s[o]=[],()=>a.api(p(a.params)||{})}),r=async()=>{(await Promise.allSettled(i.map(a=>a()))).forEach((a,u)=>{const n=e[u];if(a.status=="fulfilled"){const{transformData:c}=t[n],l=c?c(a.value):a.value;s[n]=l}})};return r(),{optionsData:s,refresh:r}}export{b as u}; diff --git a/server/public/admin/assets/useListTimeFilter-DzEU80f7.js b/server/public/admin/assets/useListTimeFilter-EgCds3rQ.js similarity index 98% rename from server/public/admin/assets/useListTimeFilter-DzEU80f7.js rename to server/public/admin/assets/useListTimeFilter-EgCds3rQ.js index 383824e7..051937ae 100644 --- a/server/public/admin/assets/useListTimeFilter-DzEU80f7.js +++ b/server/public/admin/assets/useListTimeFilter-EgCds3rQ.js @@ -1 +1 @@ -import{o as T,ci as D,q as g,r as M,F as Y,v as s,b6 as z,ae as w,D as o,bc as F,O as p,L as m,bb as R,P as v,bp as x,t as k,s as B,cj as C,M as V}from"./.pnpm-9dA1PEvN.js";import{_ as $}from"./index-CJvXnF8Y.js";const E={class:"list-time-filter-inline"},L=T({__name:"index",props:C({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:C(["time-type-change","custom-change"],["update:timeType","update:dateRange"]),setup(t,{emit:d}){const l=D(t,"timeType"),a=D(t,"dateRange"),n=d;return(c,e)=>{const u=R,i=F,f=z,b=x;return t.variant==="split"?(g(),M(Y,{key:0},[s(f,{label:t.label,class:w({"is-compact":t.compact})},{default:o(()=>[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=>n("time-type-change"))},{default:o(()=>[t.showAll?(g(),p(u,{key:0,label:"all"},{default:o(()=>[...e[8]||(e[8]=[m("全部",-1)])]),_:1})):v("",!0),s(u,{label:"today"},{default:o(()=>[...e[9]||(e[9]=[m("今天",-1)])]),_:1}),s(u,{label:"yesterday"},{default:o(()=>[...e[10]||(e[10]=[m("昨天",-1)])]),_:1}),s(u,{label:"week"},{default:o(()=>[...e[11]||(e[11]=[m("最近7天",-1)])]),_:1}),s(u,{label:"month"},{default:o(()=>[...e[12]||(e[12]=[m("本月",-1)])]),_:1}),s(u,{label:"custom"},{default:o(()=>[...e[13]||(e[13]=[m("自定义",-1)])]),_:1})]),_:1},8,["modelValue","size"])]),_:1},8,["label","class"]),l.value==="custom"?(g(),p(f,{key:0},{default:o(()=>[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:k({width:t.pickerWidth}),onChange:e[3]||(e[3]=r=>n("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:o(()=>[B("div",E,[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=>n("time-type-change"))},{default:o(()=>[t.showAll?(g(),p(u,{key:0,label:"all"},{default:o(()=>[...e[14]||(e[14]=[m("全部",-1)])]),_:1})):v("",!0),s(u,{label:"today"},{default:o(()=>[...e[15]||(e[15]=[m("今天",-1)])]),_:1}),s(u,{label:"yesterday"},{default:o(()=>[...e[16]||(e[16]=[m("昨天",-1)])]),_:1}),s(u,{label:"week"},{default:o(()=>[...e[17]||(e[17]=[m("最近7天",-1)])]),_:1}),s(u,{label:"month"},{default:o(()=>[...e[18]||(e[18]=[m("本月",-1)])]),_:1}),s(u,{label:"custom"},{default:o(()=>[...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:k({width:t.pickerWidth}),onChange:e[7]||(e[7]=r=>n("custom-change"))},null,8,["modelValue","size","style"])):v("",!0)])]),_:1},8,["label","class"]))}}}),A=$(L,[["__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 S(t,d){const l=y(new Date);switch(t){case"all":return["",""];case"yesterday":{const a=new Date;a.setDate(a.getDate()-1);const n=y(a);return[n,n]}case"week":{const a=new Date,n=new Date;return n.setDate(n.getDate()-6),[y(n),y(a)]}case"month":{const a=new Date,n=new Date(a.getFullYear(),a.getMonth(),1),c=new Date(a.getFullYear(),a.getMonth()+1,0);return[y(n),y(c)]}case"custom":{let a=d[0]||l,n=d[1]||l;return a>n&&([a,n]=[n,a]),[a,n]}case"today":default:return[l,l]}}function W(t="today"){const d=V(t),l=V([]);return{time_type:d,dateRange:l,resolve:()=>S(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{A as L,W as u}; +import{o as T,ci as D,q as g,r as M,F as Y,v as s,b6 as z,ae as w,D as o,bc as F,O as p,L as m,bb as R,P as v,bp as x,t as k,s as B,cj as C,M as V}from"./.pnpm-9dA1PEvN.js";import{_ as $}from"./index-BWzN7QIb.js";const E={class:"list-time-filter-inline"},L=T({__name:"index",props:C({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:C(["time-type-change","custom-change"],["update:timeType","update:dateRange"]),setup(t,{emit:d}){const l=D(t,"timeType"),a=D(t,"dateRange"),n=d;return(c,e)=>{const u=R,i=F,f=z,b=x;return t.variant==="split"?(g(),M(Y,{key:0},[s(f,{label:t.label,class:w({"is-compact":t.compact})},{default:o(()=>[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=>n("time-type-change"))},{default:o(()=>[t.showAll?(g(),p(u,{key:0,label:"all"},{default:o(()=>[...e[8]||(e[8]=[m("全部",-1)])]),_:1})):v("",!0),s(u,{label:"today"},{default:o(()=>[...e[9]||(e[9]=[m("今天",-1)])]),_:1}),s(u,{label:"yesterday"},{default:o(()=>[...e[10]||(e[10]=[m("昨天",-1)])]),_:1}),s(u,{label:"week"},{default:o(()=>[...e[11]||(e[11]=[m("最近7天",-1)])]),_:1}),s(u,{label:"month"},{default:o(()=>[...e[12]||(e[12]=[m("本月",-1)])]),_:1}),s(u,{label:"custom"},{default:o(()=>[...e[13]||(e[13]=[m("自定义",-1)])]),_:1})]),_:1},8,["modelValue","size"])]),_:1},8,["label","class"]),l.value==="custom"?(g(),p(f,{key:0},{default:o(()=>[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:k({width:t.pickerWidth}),onChange:e[3]||(e[3]=r=>n("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:o(()=>[B("div",E,[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=>n("time-type-change"))},{default:o(()=>[t.showAll?(g(),p(u,{key:0,label:"all"},{default:o(()=>[...e[14]||(e[14]=[m("全部",-1)])]),_:1})):v("",!0),s(u,{label:"today"},{default:o(()=>[...e[15]||(e[15]=[m("今天",-1)])]),_:1}),s(u,{label:"yesterday"},{default:o(()=>[...e[16]||(e[16]=[m("昨天",-1)])]),_:1}),s(u,{label:"week"},{default:o(()=>[...e[17]||(e[17]=[m("最近7天",-1)])]),_:1}),s(u,{label:"month"},{default:o(()=>[...e[18]||(e[18]=[m("本月",-1)])]),_:1}),s(u,{label:"custom"},{default:o(()=>[...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:k({width:t.pickerWidth}),onChange:e[7]||(e[7]=r=>n("custom-change"))},null,8,["modelValue","size","style"])):v("",!0)])]),_:1},8,["label","class"]))}}}),A=$(L,[["__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 S(t,d){const l=y(new Date);switch(t){case"all":return["",""];case"yesterday":{const a=new Date;a.setDate(a.getDate()-1);const n=y(a);return[n,n]}case"week":{const a=new Date,n=new Date;return n.setDate(n.getDate()-6),[y(n),y(a)]}case"month":{const a=new Date,n=new Date(a.getFullYear(),a.getMonth(),1),c=new Date(a.getFullYear(),a.getMonth()+1,0);return[y(n),y(c)]}case"custom":{let a=d[0]||l,n=d[1]||l;return a>n&&([a,n]=[n,a]),[a,n]}case"today":default:return[l,l]}}function W(t="today"){const d=V(t),l=V([]);return{time_type:d,dateRange:l,resolve:()=>S(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{A as L,W as u}; diff --git a/server/public/admin/assets/useMediaSourceOptions-DDYs3mB7.js b/server/public/admin/assets/useMediaSourceOptions-DK-_3N6E.js similarity index 90% rename from server/public/admin/assets/useMediaSourceOptions-DDYs3mB7.js rename to server/public/admin/assets/useMediaSourceOptions-DK-_3N6E.js index cb0a09e4..f8150d9d 100644 --- a/server/public/admin/assets/useMediaSourceOptions-DDYs3mB7.js +++ b/server/public/admin/assets/useMediaSourceOptions-DK-_3N6E.js @@ -1 +1 @@ -import{g as f}from"./self_input_stats-ck9Y43id.js";import{M as u}from"./.pnpm-9dA1PEvN.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-BIckcV_I.js";import{M as u}from"./.pnpm-9dA1PEvN.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-BFbr--hk.js b/server/public/admin/assets/useMenuOa-oN_qEEoR.js similarity index 92% rename from server/public/admin/assets/useMenuOa-BFbr--hk.js rename to server/public/admin/assets/useMenuOa-oN_qEEoR.js index a4bdb0a8..f9ded789 100644 --- a/server/public/admin/assets/useMenuOa-BFbr--hk.js +++ b/server/public/admin/assets/useMenuOa-oN_qEEoR.js @@ -1 +1 @@ -import{a as i,b as c,c as g}from"./wx_oa-DPme7qiY.js";import{i as o}from"./index-CJvXnF8Y.js";import{ba as h,a8 as d,M as l}from"./.pnpm-9dA1PEvN.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 M();for(const e in o)o[e]=v[e]},k=async()=>{var v;await((v=w.value)==null?void 0:v.validate()),await O(o),V()};return V(),(v,e)=>{const q=S,b=B,i=R,n=F,I=L,p=N,U=j,A=C,f=g("copy"),y=g("perms");return m(),E("div",null,[s(b,{class:"!border-none",shadow:"never"},{default:t(()=>[s(q,{type:"warning",title:"温馨提示:填写微信小程序开发配置,请前往微信公众平台申请小程序并完成认证",closable:!1,"show-icon":""})]),_:1}),s(U,{ref_key:"formRef",ref:w,model:d(o),rules:D,"label-width":d(c).isMobile?"80px":"160px"},{default:t(()=>[s(b,{class:"!border-none mt-4",shadow:"never"},{default:t(()=>[e[12]||(e[12]=l("div",{class:"font-medium mb-7"},"微信小程序",-1)),s(n,{label:"小程序名称",prop:"name"},{default:t(()=>[l("div",z,[s(i,{modelValue:d(o).name,"onUpdate:modelValue":e[0]||(e[0]=a=>d(o).name=a),placeholder:"请输入小程序名称"},null,8,["modelValue"])])]),_:1}),s(n,{label:"原始ID",prop:"original_id"},{default:t(()=>[l("div",G,[s(i,{modelValue:d(o).original_id,"onUpdate:modelValue":e[1]||(e[1]=a=>d(o).original_id=a),placeholder:"请输入原始ID"},null,8,["modelValue"])])]),_:1}),s(n,{label:"小程序码",prop:"qr_code"},{default:t(()=>[l("div",H,[l("div",null,[s(I,{modelValue:d(o).qr_code,"onUpdate:modelValue":e[2]||(e[2]=a=>d(o).qr_code=a),limit:1},null,8,["modelValue"])]),e[11]||(e[11]=l("div",{class:"form-tips"},"建议尺寸:宽400px*高400px。jpg,jpeg,png格式",-1))])]),_:1})]),_:1}),s(b,{class:"!border-none mt-4",shadow:"never"},{default:t(()=>[e[14]||(e[14]=l("div",{class:"font-medium mb-7"},"开发者ID",-1)),s(n,{label:"AppID",prop:"app_id"},{default:t(()=>[l("div",J,[s(i,{modelValue:d(o).app_id,"onUpdate:modelValue":e[3]||(e[3]=a=>d(o).app_id=a),placeholder:"请输入AppID"},null,8,["modelValue"])])]),_:1}),s(n,{label:"AppSecret",prop:"app_secret"},{default:t(()=>[l("div",P,[s(i,{modelValue:d(o).app_secret,"onUpdate:modelValue":e[4]||(e[4]=a=>d(o).app_secret=a),placeholder:"请输入AppSecret"},null,8,["modelValue"])])]),_:1}),s(n,null,{default:t(()=>[...e[13]||(e[13]=[l("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->开发者ID,设置AppID和AppSecret ",-1)])]),_:1})]),_:1}),s(b,{class:"!border-none mt-4",shadow:"never"},{default:t(()=>[e[25]||(e[25]=l("div",{class:"font-medium mb-7"},"服务器域名",-1)),s(n,{label:"request合法域名",prop:"appId"},{default:t(()=>[l("div",Q,[l("div",X,[l("div",Y,[s(i,{modelValue:d(o).request_domain,"onUpdate:modelValue":e[5]||(e[5]=a=>d(o).request_domain=a),disabled:""},null,8,["modelValue"])]),r((m(),u(p,null,{default:t(()=>[...e[15]||(e[15]=[_("复制",-1)])]),_:1})),[[f,d(o).request_domain]])]),e[16]||(e[16]=l("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写https协议域名 ",-1))])]),_:1}),s(n,{label:"socket合法域名"},{default:t(()=>[l("div",Z,[l("div",$,[l("div",h,[s(i,{modelValue:d(o).socket_domain,"onUpdate:modelValue":e[6]||(e[6]=a=>d(o).socket_domain=a),disabled:""},null,8,["modelValue"])]),r((m(),u(p,null,{default:t(()=>[...e[17]||(e[17]=[_("复制",-1)])]),_:1})),[[f,d(o).socket_domain]])]),e[18]||(e[18]=l("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写wss协议域名 ",-1))])]),_:1}),s(n,{label:"uploadFile合法域名"},{default:t(()=>[l("div",ee,[l("div",le,[l("div",oe,[s(i,{modelValue:d(o).upload_file_domain,"onUpdate:modelValue":e[7]||(e[7]=a=>d(o).upload_file_domain=a),disabled:""},null,8,["modelValue"])]),r((m(),u(p,null,{default:t(()=>[...e[19]||(e[19]=[_("复制",-1)])]),_:1})),[[f,d(o).upload_file_domain]])]),e[20]||(e[20]=l("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写https协议域名 ",-1))])]),_:1}),s(n,{label:"downloadFile合法域名"},{default:t(()=>[l("div",se,[l("div",de,[l("div",te,[s(i,{modelValue:d(o).download_file_domain,"onUpdate:modelValue":e[8]||(e[8]=a=>d(o).download_file_domain=a),disabled:""},null,8,["modelValue"])]),r((m(),u(p,null,{default:t(()=>[...e[21]||(e[21]=[_("复制",-1)])]),_:1})),[[f,d(o).download_file_domain]])]),e[22]||(e[22]=l("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写https协议域名 ",-1))])]),_:1}),s(n,{label:"udp合法域名"},{default:t(()=>[l("div",ae,[l("div",ne,[l("div",ie,[s(i,{modelValue:d(o).udp_domain,"onUpdate:modelValue":e[9]||(e[9]=a=>d(o).udp_domain=a),disabled:""},null,8,["modelValue"])]),r((m(),u(p,null,{default:t(()=>[...e[23]||(e[23]=[_("复制",-1)])]),_:1})),[[f,d(o).udp_domain]])]),e[24]||(e[24]=l("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写udp协议域名 ",-1))])]),_:1})]),_:1}),s(b,{class:"!border-none mt-4",shadow:"never"},{default:t(()=>[e[28]||(e[28]=l("div",{class:"font-medium mb-7"},"业务域名",-1)),s(n,{label:"业务域名"},{default:t(()=>[l("div",me,[l("div",pe,[l("div",re,[s(i,{modelValue:d(o).business_domain,"onUpdate:modelValue":e[10]||(e[10]=a=>d(o).business_domain=a),disabled:""},null,8,["modelValue"])]),r((m(),u(p,null,{default:t(()=>[...e[26]||(e[26]=[_("复制",-1)])]),_:1})),[[f,d(o).business_domain]])]),e[27]||(e[27]=l("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->业务域名,填写业务域名 ",-1))])]),_:1})]),_:1})]),_:1},8,["model","label-width"]),r((m(),u(A,null,{default:t(()=>[s(p,{type:"primary",onClick:k},{default:t(()=>[...e[29]||(e[29]=[_("保存",-1)])]),_:1})]),_:1})),[[y,["channel.mnp_settings/setConfig"]]])])}}});export{Ae as default}; +import{_ as C}from"./index-DZiQLFzx.js";import{o as x,be as g,q as m,r as E,v as s,D as t,bh as S,bg as B,s as l,b6 as F,b7 as R,u as d,ac as r,O as u,K as N,L as _,b9 as j,ba as W,a8 as K}from"./.pnpm-9dA1PEvN.js";import{_ as L}from"./picker-DfI3CPnQ.js";import{g as M,s as O}from"./weapp-TlfRpIke.js";import{e as T}from"./index-BWzN7QIb.js";import"./index-dYaCh-CN.js";import"./index-xDQ_OZln.js";import"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import"./index-fA0EWEUO.js";import"./index-DFkJDhf6.js";import"./file-BL6iPgPC.js";import"./index.vue_vue_type_script_setup_true_lang-Blf417m7.js";import"./usePaging-Boz1Q6w3.js";const z={class:"w-80"},G={class:"w-80"},H={class:"flex-1"},J={class:"w-80"},P={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"},ee={class:"flex-1 min-w-0"},le={class:"sm:flex"},oe={class:"mr-4 sm:w-80 flex"},se={class:"flex-1 min-w-0"},de={class:"sm:flex"},te={class:"mr-4 sm:w-80 flex"},ae={class:"flex-1 min-w-0"},ne={class:"sm:flex"},ie={class:"mr-4 sm:w-80 flex"},me={class:"flex-1 min-w-0"},pe={class:"sm:flex"},re={class:"mr-4 sm:w-80 flex"},ue=x({name:"weappConfig"}),Ae=x({...ue,setup(_e){const c=T(),o=W({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=K(),D={app_id:[{required:!0,message:"请输入AppID",trigger:["blur","change"]}],app_secret:[{required:!0,message:"请输入AppSecret",trigger:["blur","change"]}]},V=async()=>{const v=await M();for(const e in o)o[e]=v[e]},k=async()=>{var v;await((v=w.value)==null?void 0:v.validate()),await O(o),V()};return V(),(v,e)=>{const q=S,b=B,i=R,n=F,I=L,p=N,U=j,A=C,f=g("copy"),y=g("perms");return m(),E("div",null,[s(b,{class:"!border-none",shadow:"never"},{default:t(()=>[s(q,{type:"warning",title:"温馨提示:填写微信小程序开发配置,请前往微信公众平台申请小程序并完成认证",closable:!1,"show-icon":""})]),_:1}),s(U,{ref_key:"formRef",ref:w,model:d(o),rules:D,"label-width":d(c).isMobile?"80px":"160px"},{default:t(()=>[s(b,{class:"!border-none mt-4",shadow:"never"},{default:t(()=>[e[12]||(e[12]=l("div",{class:"font-medium mb-7"},"微信小程序",-1)),s(n,{label:"小程序名称",prop:"name"},{default:t(()=>[l("div",z,[s(i,{modelValue:d(o).name,"onUpdate:modelValue":e[0]||(e[0]=a=>d(o).name=a),placeholder:"请输入小程序名称"},null,8,["modelValue"])])]),_:1}),s(n,{label:"原始ID",prop:"original_id"},{default:t(()=>[l("div",G,[s(i,{modelValue:d(o).original_id,"onUpdate:modelValue":e[1]||(e[1]=a=>d(o).original_id=a),placeholder:"请输入原始ID"},null,8,["modelValue"])])]),_:1}),s(n,{label:"小程序码",prop:"qr_code"},{default:t(()=>[l("div",H,[l("div",null,[s(I,{modelValue:d(o).qr_code,"onUpdate:modelValue":e[2]||(e[2]=a=>d(o).qr_code=a),limit:1},null,8,["modelValue"])]),e[11]||(e[11]=l("div",{class:"form-tips"},"建议尺寸:宽400px*高400px。jpg,jpeg,png格式",-1))])]),_:1})]),_:1}),s(b,{class:"!border-none mt-4",shadow:"never"},{default:t(()=>[e[14]||(e[14]=l("div",{class:"font-medium mb-7"},"开发者ID",-1)),s(n,{label:"AppID",prop:"app_id"},{default:t(()=>[l("div",J,[s(i,{modelValue:d(o).app_id,"onUpdate:modelValue":e[3]||(e[3]=a=>d(o).app_id=a),placeholder:"请输入AppID"},null,8,["modelValue"])])]),_:1}),s(n,{label:"AppSecret",prop:"app_secret"},{default:t(()=>[l("div",P,[s(i,{modelValue:d(o).app_secret,"onUpdate:modelValue":e[4]||(e[4]=a=>d(o).app_secret=a),placeholder:"请输入AppSecret"},null,8,["modelValue"])])]),_:1}),s(n,null,{default:t(()=>[...e[13]||(e[13]=[l("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->开发者ID,设置AppID和AppSecret ",-1)])]),_:1})]),_:1}),s(b,{class:"!border-none mt-4",shadow:"never"},{default:t(()=>[e[25]||(e[25]=l("div",{class:"font-medium mb-7"},"服务器域名",-1)),s(n,{label:"request合法域名",prop:"appId"},{default:t(()=>[l("div",Q,[l("div",X,[l("div",Y,[s(i,{modelValue:d(o).request_domain,"onUpdate:modelValue":e[5]||(e[5]=a=>d(o).request_domain=a),disabled:""},null,8,["modelValue"])]),r((m(),u(p,null,{default:t(()=>[...e[15]||(e[15]=[_("复制",-1)])]),_:1})),[[f,d(o).request_domain]])]),e[16]||(e[16]=l("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写https协议域名 ",-1))])]),_:1}),s(n,{label:"socket合法域名"},{default:t(()=>[l("div",Z,[l("div",$,[l("div",h,[s(i,{modelValue:d(o).socket_domain,"onUpdate:modelValue":e[6]||(e[6]=a=>d(o).socket_domain=a),disabled:""},null,8,["modelValue"])]),r((m(),u(p,null,{default:t(()=>[...e[17]||(e[17]=[_("复制",-1)])]),_:1})),[[f,d(o).socket_domain]])]),e[18]||(e[18]=l("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写wss协议域名 ",-1))])]),_:1}),s(n,{label:"uploadFile合法域名"},{default:t(()=>[l("div",ee,[l("div",le,[l("div",oe,[s(i,{modelValue:d(o).upload_file_domain,"onUpdate:modelValue":e[7]||(e[7]=a=>d(o).upload_file_domain=a),disabled:""},null,8,["modelValue"])]),r((m(),u(p,null,{default:t(()=>[...e[19]||(e[19]=[_("复制",-1)])]),_:1})),[[f,d(o).upload_file_domain]])]),e[20]||(e[20]=l("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写https协议域名 ",-1))])]),_:1}),s(n,{label:"downloadFile合法域名"},{default:t(()=>[l("div",se,[l("div",de,[l("div",te,[s(i,{modelValue:d(o).download_file_domain,"onUpdate:modelValue":e[8]||(e[8]=a=>d(o).download_file_domain=a),disabled:""},null,8,["modelValue"])]),r((m(),u(p,null,{default:t(()=>[...e[21]||(e[21]=[_("复制",-1)])]),_:1})),[[f,d(o).download_file_domain]])]),e[22]||(e[22]=l("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写https协议域名 ",-1))])]),_:1}),s(n,{label:"udp合法域名"},{default:t(()=>[l("div",ae,[l("div",ne,[l("div",ie,[s(i,{modelValue:d(o).udp_domain,"onUpdate:modelValue":e[9]||(e[9]=a=>d(o).udp_domain=a),disabled:""},null,8,["modelValue"])]),r((m(),u(p,null,{default:t(()=>[...e[23]||(e[23]=[_("复制",-1)])]),_:1})),[[f,d(o).udp_domain]])]),e[24]||(e[24]=l("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写udp协议域名 ",-1))])]),_:1})]),_:1}),s(b,{class:"!border-none mt-4",shadow:"never"},{default:t(()=>[e[28]||(e[28]=l("div",{class:"font-medium mb-7"},"业务域名",-1)),s(n,{label:"业务域名"},{default:t(()=>[l("div",me,[l("div",pe,[l("div",re,[s(i,{modelValue:d(o).business_domain,"onUpdate:modelValue":e[10]||(e[10]=a=>d(o).business_domain=a),disabled:""},null,8,["modelValue"])]),r((m(),u(p,null,{default:t(()=>[...e[26]||(e[26]=[_("复制",-1)])]),_:1})),[[f,d(o).business_domain]])]),e[27]||(e[27]=l("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->业务域名,填写业务域名 ",-1))])]),_:1})]),_:1})]),_:1},8,["model","label-width"]),r((m(),u(A,null,{default:t(()=>[s(p,{type:"primary",onClick:k},{default:t(()=>[...e[29]||(e[29]=[_("保存",-1)])]),_:1})]),_:1})),[[y,["channel.mnp_settings/setConfig"]]])])}}});export{Ae as default}; diff --git a/server/public/admin/assets/weapp-CBfJD55Y.js b/server/public/admin/assets/weapp-TlfRpIke.js similarity index 68% rename from server/public/admin/assets/weapp-CBfJD55Y.js rename to server/public/admin/assets/weapp-TlfRpIke.js index 2a1c8e3e..f5da0508 100644 --- a/server/public/admin/assets/weapp-CBfJD55Y.js +++ b/server/public/admin/assets/weapp-TlfRpIke.js @@ -1 +1 @@ -import{r as n}from"./index-CJvXnF8Y.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-BWzN7QIb.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-CigJCWyv.js b/server/public/admin/assets/website-D68_BOrK.js similarity index 91% rename from server/public/admin/assets/website-CigJCWyv.js rename to server/public/admin/assets/website-D68_BOrK.js index 02fcf3f6..4cec63d8 100644 --- a/server/public/admin/assets/website-CigJCWyv.js +++ b/server/public/admin/assets/website-D68_BOrK.js @@ -1 +1 @@ -import{r as t}from"./index-CJvXnF8Y.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-BWzN7QIb.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-DPme7qiY.js b/server/public/admin/assets/wx_oa-HhzP-R8g.js similarity index 93% rename from server/public/admin/assets/wx_oa-DPme7qiY.js rename to server/public/admin/assets/wx_oa-HhzP-R8g.js index 5f5a0d02..e1a4c912 100644 --- a/server/public/admin/assets/wx_oa-DPme7qiY.js +++ b/server/public/admin/assets/wx_oa-HhzP-R8g.js @@ -1 +1 @@ -import{r as t}from"./index-CJvXnF8Y.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-BWzN7QIb.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-uWvVXn0M.js b/server/public/admin/assets/yeji-BDBaFWS4.js similarity index 99% rename from server/public/admin/assets/yeji-uWvVXn0M.js rename to server/public/admin/assets/yeji-BDBaFWS4.js index 6f305ddb..ea5098f4 100644 --- a/server/public/admin/assets/yeji-uWvVXn0M.js +++ b/server/public/admin/assets/yeji-BDBaFWS4.js @@ -1,4 +1,4 @@ -import{o as rl,R as dl,ap as ul,q as o,r as u,s as a,v as i,D as _,bm as cl,bn as _l,F as k,G as V,O as j,cB as pl,T as r,ac as K,bK as ml,bi as vl,bp as fl,K as yl,w as gl,u as D,bA as bl,L as c,cx as hl,bg as wl,Y as kl,X as jl,bj as xl,bk as Sl,a1 as Nl,cg as M,P as f,bB as Cl,aw as U,ae as bt,c7 as Dl,c8 as Ll,cJ as ee,bs as zl,B as $l,bt as Al,b8 as Rl,M as v,p as C,i as te,E as ae}from"./.pnpm-9dA1PEvN.js";import{h as Pl,y as lt,i as Tl,j as Il,k as Ml,l as Ol,m as qt,n as El,o as Fl,p as Vl,q as Bl}from"./stats-Cp2ee5KL.js";import{d as Yl}from"./finance-BJtj-zFw.js";import{t as Aa}from"./tcm-DOD9_1Um.js";import{h as Ul}from"./perm-BLNmf25V.js";import{_ as Hl}from"./index-CJvXnF8Y.js";const Wl={class:"yeji-page"},ql={class:"filter-surface"},Gl={class:"filter-row filter-row--top"},Jl={class:"filter-field"},Kl={class:"channel-opt-row"},Xl={class:"opt-name"},Zl={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":"排行榜,可横向滚动"},bo={class:"yeji-table__body yeji-table__body--leaderboard"},ho=["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"},Fo={class:"yeji-table__scroll",tabindex:"0",role:"region","aria-label":"业绩数据表,可横向滚动"},Vo={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"},Ko={style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},Xo={key:2,class:"col-completed col-narrow-head"},Zo={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"},bs=["onClick"],hs={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},Fs={class:"tp-matrix-card__num"},Vs={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"},Ks={class:"yeji-chart-panel"},Xs={class:"yeji-chart-panel"},Zs={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"},bi={class:"yeji-order-drawer__stat-card yeji-order-drawer__stat-card--accent"},hi={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"},Fi={class:"yeji-unassigned-dialog__sub"},Vi={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"},Ki={class:"yeji-unassigned-dialog__sub"},Xi={key:0,class:"yeji-unassigned-dialog__note"},Zi={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=rl({__name:"yeji",setup(vr){function ot(t){return t.some(e=>Ul([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 b=e.get(g.id),w=Number(g.pid);w>0&&e.has(w)?e.get(w).children.push(b):n.push(b)}const s=g=>{var b;(b=g.children)!=null&&b.length?g.children.forEach(s):delete g.children};n.forEach(s);const d=g=>{var b;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)(b=w.children)!=null&&b.length&&d(w.children)};return d(n),n}const ne=v(!1),Ce=v([]),ht=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),Kt=v(""),Ge=v(""),$e=v([]),Xt=v(null),Nt=v(!1),ue=v(!1),Je=v(!1),Zt=v(""),Ke=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(""),be=v([]),Oe=v(0),he=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"])),Fe=C(()=>ot([_r,"stats.yejiStats/multi","stats.yejiStats/overview"])),Ze=C(()=>ot([pr,"stats.yejiStats/targetMatrix","stats.yejiStats/multi"])),Fa=C(()=>W.value||oe.value||Fe.value||Ze.value);function Qe(){return Fe.value?"zyyt":W.value?"doctor":oe.value?"leaderboard":Ze.value?"zyyt_matrix":"zyyt"}dl(_e,t=>{(t==="doctor"&&!W.value||t==="leaderboard"&&!oe.value||t==="zyyt"&&!Fe.value||t==="zyyt_matrix"&&!Ze.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 Ve=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)),Va=C(()=>W.value?At.value||Rt.value||Pt.value||Tt.value||It.value:!1),Ba=C(()=>{if(Va.value)return!0;if(Fe.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{o as rl,R as dl,ap as ul,q as o,r as u,s as a,v as i,D as _,bm as cl,bn as _l,F as k,G as V,O as j,cB as pl,T as r,ac as K,bK as ml,bi as vl,bp as fl,K as yl,w as gl,u as D,bA as bl,L as c,cx as hl,bg as wl,Y as kl,X as jl,bj as xl,bk as Sl,a1 as Nl,cg as M,P as f,bB as Cl,aw as U,ae as bt,c7 as Dl,c8 as Ll,cJ as ee,bs as zl,B as $l,bt as Al,b8 as Rl,M as v,p as C,i as te,E as ae}from"./.pnpm-9dA1PEvN.js";import{h as Pl,y as lt,i as Tl,j as Il,k as Ml,l as Ol,m as qt,n as El,o as Fl,p as Vl,q as Bl}from"./stats-CYdFBybj.js";import{d as Yl}from"./finance-DNeCzSo4.js";import{t as Aa}from"./tcm-Fi_swgCr.js";import{h as Ul}from"./perm-BzF8JgcJ.js";import{_ as Hl}from"./index-BWzN7QIb.js";const Wl={class:"yeji-page"},ql={class:"filter-surface"},Gl={class:"filter-row filter-row--top"},Jl={class:"filter-field"},Kl={class:"channel-opt-row"},Xl={class:"opt-name"},Zl={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":"排行榜,可横向滚动"},bo={class:"yeji-table__body yeji-table__body--leaderboard"},ho=["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"},Fo={class:"yeji-table__scroll",tabindex:"0",role:"region","aria-label":"业绩数据表,可横向滚动"},Vo={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"},Ko={style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},Xo={key:2,class:"col-completed col-narrow-head"},Zo={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"},bs=["onClick"],hs={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},Fs={class:"tp-matrix-card__num"},Vs={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"},Ks={class:"yeji-chart-panel"},Xs={class:"yeji-chart-panel"},Zs={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"},bi={class:"yeji-order-drawer__stat-card yeji-order-drawer__stat-card--accent"},hi={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"},Fi={class:"yeji-unassigned-dialog__sub"},Vi={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"},Ki={class:"yeji-unassigned-dialog__sub"},Xi={key:0,class:"yeji-unassigned-dialog__note"},Zi={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=rl({__name:"yeji",setup(vr){function ot(t){return t.some(e=>Ul([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 b=e.get(g.id),w=Number(g.pid);w>0&&e.has(w)?e.get(w).children.push(b):n.push(b)}const s=g=>{var b;(b=g.children)!=null&&b.length?g.children.forEach(s):delete g.children};n.forEach(s);const d=g=>{var b;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)(b=w.children)!=null&&b.length&&d(w.children)};return d(n),n}const ne=v(!1),Ce=v([]),ht=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),Kt=v(""),Ge=v(""),$e=v([]),Xt=v(null),Nt=v(!1),ue=v(!1),Je=v(!1),Zt=v(""),Ke=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(""),be=v([]),Oe=v(0),he=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"])),Fe=C(()=>ot([_r,"stats.yejiStats/multi","stats.yejiStats/overview"])),Ze=C(()=>ot([pr,"stats.yejiStats/targetMatrix","stats.yejiStats/multi"])),Fa=C(()=>W.value||oe.value||Fe.value||Ze.value);function Qe(){return Fe.value?"zyyt":W.value?"doctor":oe.value?"leaderboard":Ze.value?"zyyt_matrix":"zyyt"}dl(_e,t=>{(t==="doctor"&&!W.value||t==="leaderboard"&&!oe.value||t==="zyyt"&&!Fe.value||t==="zyyt_matrix"&&!Ze.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 Ve=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)),Va=C(()=>W.value?At.value||Rt.value||Pt.value||Tt.value||It.value:!1),Ba=C(()=>{if(Va.value)return!0;if(Fe.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),b=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)/b*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}Ve.value=!0;try{const t=await Pl(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{Ve.value=!1}}const se=v(!1),we=v(!1),et=v(""),tt=v(""),ke=v([]),_t=v(0),Z=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}),Ka=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 Za(){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(!Ze.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):""},b=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=Za(),E=await Yl({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=b($),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,F,l,h]=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=F?w(m(F),"completed_performance_amount"):null,La=l?w(m(l),"completed_performance_amount"):null,za=h?w(m(h),"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(){ht.value=!0;try{const t=await Tl();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{ht.value=!1}}async function ln(){wt.value=!0;try{const t=await Il(),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 El(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,!Fe.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},b=await Ml(g);re.value=[{label:s===d?s:`${s} ~ ${d}`,start_date:b.start_date,end_date:b.end_date,channel_code:b.channel_code||"",channel_name:b.channel_name||"",channel_group:b.channel_group||"",channel_filter_note:b.channel_filter_note||"",rows:b.rows||[],total:b.total}],await ia({start:b.start_date,end:b.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;ae.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(Z.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(),b=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}-${b}-${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:Z.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;ae.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`,Z.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`,Z.value=1,se.value=!0,je()}function Et(t,e,n){return!(xe(e)||e.dept_id<=0||n==="channel"&&!t.channel_name)}function Ft(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(!Ft(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`,Z.value=1,se.value=!0,je()}function Vt(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`,Z.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;Vt({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;Vt({admin_id:t.admin_id,name:t.name},n,s,e)}function yn(){Z.value=1,je()}function gn(t){Z.value=t,je()}function bn(t){pt.value=t,Z.value=1,je()}function xe(t){return t.dept_id<=0&&t.dept_name==="未归属中心"}function hn(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||Vt({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);Kt.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 Ol(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;ae.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 Fl(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;ae.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(he.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(he.value,Ee.value);if(t){ge.value=!0;try{const e=await Vl(t);be.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;ae.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载被指派明细失败"),be.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="",be.value=[],Oe.value=0,he.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="",be.value=[],Oe.value=0,he.value=1,Ee.value=20,ut.value=!0,ft()}function Ln(t){he.value=t,ft()}function zn(t){Ee.value=t,he.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),Ke.value=typeof(e==null?void 0:e.note)=="string"?e.note:""}catch(e){if(te.isCancel(e))return;const n=e;ae.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载进线明细失败"),Ae.value=[],Re.value=0,Ke.value=""}finally{ue.value=!1}}}async function Pn(t,e){Ct.value={tb:t,row:e},Zt.value=`${e.dept_name} · ${va(t)}`,Ke.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){ae.warning("暂无进线明细可导出");return}const d=Array.isArray(n==null?void 0:n.lists)?[...n.lists]:[],g=Math.ceil(s/100);for(let b=2;b<=g;b++){const w=await qt(Bt(t,b,100)),I=Array.isArray(w==null?void 0:w.lists)?w.lists:[];d.push(...I)}An(Rn(t),$n(d)),ae.success(`已导出 ${d.length} 条进线明细`)}catch(e){if(te.isCancel(e))return;const n=e;ae.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 ba(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 Bl(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;ae.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 Fn(t,e){!ba(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 Vn(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 ha(t){const e=t.channel_name?` · ${t.channel_name}`:"";return`${t.label}${e}`}function Hn(t){const e=t.rows.filter(b=>b.dept_id>0),n=e.map(b=>b.dept_name.length>10?`${b.dept_name.slice(0,10)}…`:b.dept_name),s=["#64748b","#38bdf8","#6366f1"],d=[{name:"进线",type:"bar",data:e.map(b=>b.lead_count),yAxisIndex:0,barMaxWidth:16},{name:"接诊",type:"bar",data:e.map(b=>b.consult_count),yAxisIndex:0,barMaxWidth:16},{name:"成交单",type:"bar",data:e.map(b=>b.deal_order_count),yAxisIndex:0,barMaxWidth:16},{name:"合计业绩",type:"bar",data:e.map(b=>b.performance_amount),yAxisIndex:1,barMaxWidth:14,itemStyle:{color:"#d97706"}}];t.channel_name&&d.push({name:`${t.channel_name}业绩`,type:"bar",data:e.map(b=>b.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-BZiHOHXD.js b/server/public/admin/assets/yeji-edit-BZiHOHXD.js new file mode 100644 index 00000000..639e1259 --- /dev/null +++ b/server/public/admin/assets/yeji-edit-BZiHOHXD.js @@ -0,0 +1 @@ +import{_ as o}from"./yeji-edit.vue_vue_type_script_setup_true_lang-B08IlCxI.js";import"./.pnpm-9dA1PEvN.js";import"./self_input_stats-BIckcV_I.js";import"./index-BWzN7QIb.js";import"./index-dYaCh-CN.js";import"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-B8TP8hmm.js";export{o as default}; diff --git a/server/public/admin/assets/yeji-edit-Kh29Xtvl.js b/server/public/admin/assets/yeji-edit-Kh29Xtvl.js deleted file mode 100644 index 14a94a37..00000000 --- a/server/public/admin/assets/yeji-edit-Kh29Xtvl.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./yeji-edit.vue_vue_type_script_setup_true_lang-C7lLJ16d.js";import"./.pnpm-9dA1PEvN.js";import"./self_input_stats-ck9Y43id.js";import"./index-CJvXnF8Y.js";import"./index-BBemoNXE.js";import"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-B8TP8hmm.js";export{o as default}; diff --git a/server/public/admin/assets/yeji-edit.vue_vue_type_script_setup_true_lang-C7lLJ16d.js b/server/public/admin/assets/yeji-edit.vue_vue_type_script_setup_true_lang-B08IlCxI.js similarity index 98% rename from server/public/admin/assets/yeji-edit.vue_vue_type_script_setup_true_lang-C7lLJ16d.js rename to server/public/admin/assets/yeji-edit.vue_vue_type_script_setup_true_lang-B08IlCxI.js index a4df0a7c..8142ebbc 100644 --- a/server/public/admin/assets/yeji-edit.vue_vue_type_script_setup_true_lang-C7lLJ16d.js +++ b/server/public/admin/assets/yeji-edit.vue_vue_type_script_setup_true_lang-B08IlCxI.js @@ -1 +1 @@ -import{o as C,q as D,r as Y,v as o,D as n,b9 as S,u as l,b6 as q,bp as F,c7 as B,c8 as I,J as M,b7 as L,a8 as f,M as O,p as z,ba as A}from"./.pnpm-9dA1PEvN.js";import{f as J,h as P}from"./self_input_stats-ck9Y43id.js";import{_ as T}from"./index-BBemoNXE.js";import{_ as $}from"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-B8TP8hmm.js";const G={class:"edit-popup"},X=C({__name:"yeji-edit",props:{mediaSourceOptions:{default:()=>[]},mediaSourceLoading:{type:Boolean,default:!1}},emits:["success","close"],setup(s,{expose:b,emit:V}){const i=V,c=f(),m=f(),_=O("add"),w=z(()=>_.value==="edit"?"编辑业绩":"新增业绩"),e=A({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()),_.value==="edit"?await J(e):await P(e),(t=m.value)==null||t.close(),i("success")},k=(u="add")=>{var t;_.value=u,v(),(t=m.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??""},U=()=>{i("close")};return b({open:k,setFormData:j}),(u,t)=>{const N=F,d=q,r=M,p=I,x=B,E=L,R=S;return D(),Y("div",G,[o(T,{ref_key:"popupRef",ref:m,title:l(w),async:!0,width:"640px",onConfirm:y,onClose:U},{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(N,{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(_)==="edit",class:"w-full"},null,8,["modelValue","disabled"])]),_:1}),o(d,{label:"自媒体来源",prop:"media_source"},{default:n(()=>[o($,{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(_)==="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{X as _}; +import{o as C,q as D,r as Y,v as o,D as n,b9 as S,u as l,b6 as q,bp as F,c7 as B,c8 as I,J as M,b7 as L,a8 as f,M as O,p as z,ba as A}from"./.pnpm-9dA1PEvN.js";import{f as J,h as P}from"./self_input_stats-BIckcV_I.js";import{_ as T}from"./index-dYaCh-CN.js";import{_ as $}from"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-B8TP8hmm.js";const G={class:"edit-popup"},X=C({__name:"yeji-edit",props:{mediaSourceOptions:{default:()=>[]},mediaSourceLoading:{type:Boolean,default:!1}},emits:["success","close"],setup(s,{expose:b,emit:V}){const i=V,c=f(),m=f(),_=O("add"),w=z(()=>_.value==="edit"?"编辑业绩":"新增业绩"),e=A({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()),_.value==="edit"?await J(e):await P(e),(t=m.value)==null||t.close(),i("success")},k=(u="add")=>{var t;_.value=u,v(),(t=m.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??""},U=()=>{i("close")};return b({open:k,setFormData:j}),(u,t)=>{const N=F,d=q,r=M,p=I,x=B,E=L,R=S;return D(),Y("div",G,[o(T,{ref_key:"popupRef",ref:m,title:l(w),async:!0,width:"640px",onConfirm:y,onClose:U},{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(N,{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(_)==="edit",class:"w-full"},null,8,["modelValue","disabled"])]),_:1}),o(d,{label:"自媒体来源",prop:"media_source"},{default:n(()=>[o($,{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(_)==="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{X as _}; diff --git a/server/public/admin/index.html b/server/public/admin/index.html index 8e6d82e7..67085cfe 100644 --- a/server/public/admin/index.html +++ b/server/public/admin/index.html @@ -163,7 +163,7 @@ z-index: 2147483641; } - +