健康日历
+2026年5月 · 已记录 3 / 7 天
+血糖明细
+共 3 天 +稳糖乐园
+用健康打卡浇灌你的稳糖树
+今日控糖任务
+还差 15 XP 升级至 Lv.4
+浇水可消耗 5 积分,获得 10 XP
+邀请家人点赞
+分享战报给家人,邀请他们为您点赞鼓励
+先完成血糖记录,今日第一格就亮起来。
+ +吕帅
+2026年5月 · 已记录 3 / 7 天
+用健康打卡浇灌你的稳糖树
+还差 15 XP 升级至 Lv.4
+浇水可消耗 5 积分,获得 10 XP
+分享战报给家人,邀请他们为您点赞鼓励
+先完成血糖记录,今日第一格就亮起来。
+ +{const _=P,b=K,i=T,f=G,g=q,F=j,I=R,S=H,A=Q,J=L,O=M;return V(),v(Z,null,[e(_,{shadow:"never",class:"!border-none flex"},{default:t(()=>[...l[3]||(l[3]=[a("div",{class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2 text-xl font-medium"},[h(" 底部导航设置 "),a("span",{class:"form-tips ml-[10px] !mt-0"}," 至少添加2个导航,最多添加5个导航 ")],-1)])]),_:1}),e(O,{"label-width":"70px"},{default:t(()=>[e(_,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[l[4]||(l[4]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"展示样式")],-1)),e(i,{label:"默认颜色"},{default:t(()=>[e(b,{class:"max-w-[400px]",modelValue:m(n).style.default_color,"onUpdate:modelValue":l[0]||(l[0]=r=>m(n).style.default_color=r),"default-color":"#999999"},null,8,["modelValue"])]),_:1}),e(i,{label:"选中颜色",style:{"margin-bottom":"0"}},{default:t(()=>[e(b,{class:"max-w-[400px]",modelValue:m(n).style.selected_color,"onUpdate:modelValue":l[1]||(l[1]=r=>m(n).style.selected_color=r),"default-color":"#4173ff"},null,8,["modelValue"])]),_:1})]),_:1}),e(_,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>{var r;return[l[7]||(l[7]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"菜单设置"),a("div",{class:"text-xs text-tx-secondary ml-2"},"建议图片尺寸:100px*100px")],-1)),a("div",le,[e(m(W),{class:"draggable",modelValue:m(n).list,"onUpdate:modelValue":l[2]||(l[2]=o=>m(n).list=o),animation:"300",draggable:".draggable",handle:".drag-move",move:D,"item-key":"index"},{item:t(({element:o,index:u})=>[e(A,{onClose:d=>B(u),class:ee(["max-w-[400px]",{draggable:u!=0}]),"show-close":u!==0},{default:t(()=>[a("div",oe,[e(i,{label:"导航图标"},{default:t(()=>[e(g,{modelValue:o.unselected,"onUpdate:modelValue":d=>o.unselected=d,"upload-class":"bg-body","exclude-domain":"",size:"60px"},{upload:t(()=>[a("div",te,[e(f,{name:"el-icon-Plus",size:16}),l[5]||(l[5]=a("span",{class:"text-xs leading-5"}," 未选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"]),e(g,{modelValue:o.selected,"onUpdate:modelValue":d=>o.selected=d,"exclude-domain":"","upload-class":"bg-body",size:"60px"},{upload:t(()=>[a("div",ae,[e(f,{name:"el-icon-Plus",size:16}),l[6]||(l[6]=a("span",{class:"text-xs leading-5"}," 选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"导航名称"},{default:t(()=>[e(F,{modelValue:o.name,"onUpdate:modelValue":d=>o.name=d,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"链接地址"},{default:t(()=>[e(I,{"is-tab":!0,disabled:u===0,modelValue:o.link,"onUpdate:modelValue":d=>o.link=d},null,8,["disabled","modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"是否显示"},{default:t(()=>[a("div",se,[e(S,{disabled:u==0,modelValue:o.is_show,"onUpdate:modelValue":d=>o.is_show=d,"active-value":1,"inactive-value":0,onChange:d=>N(o)},null,8,["disabled","modelValue","onUpdate:modelValue","onChange"]),a("div",ne,[e(f,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])]),_:2},1032,["onClose","show-close","class"])]),_:1},8,["modelValue"])]),((r=m(n).list)==null?void 0:r.length) {const _=P,b=K,i=T,f=G,g=q,F=j,I=R,S=H,A=Q,J=L,O=M;return V(),v(Z,null,[e(_,{shadow:"never",class:"!border-none flex"},{default:t(()=>[...l[3]||(l[3]=[a("div",{class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2 text-xl font-medium"},[h(" 底部导航设置 "),a("span",{class:"form-tips ml-[10px] !mt-0"}," 至少添加2个导航,最多添加5个导航 ")],-1)])]),_:1}),e(O,{"label-width":"70px"},{default:t(()=>[e(_,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[l[4]||(l[4]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"展示样式")],-1)),e(i,{label:"默认颜色"},{default:t(()=>[e(b,{class:"max-w-[400px]",modelValue:m(n).style.default_color,"onUpdate:modelValue":l[0]||(l[0]=r=>m(n).style.default_color=r),"default-color":"#999999"},null,8,["modelValue"])]),_:1}),e(i,{label:"选中颜色",style:{"margin-bottom":"0"}},{default:t(()=>[e(b,{class:"max-w-[400px]",modelValue:m(n).style.selected_color,"onUpdate:modelValue":l[1]||(l[1]=r=>m(n).style.selected_color=r),"default-color":"#4173ff"},null,8,["modelValue"])]),_:1})]),_:1}),e(_,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>{var r;return[l[7]||(l[7]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"菜单设置"),a("div",{class:"text-xs text-tx-secondary ml-2"},"建议图片尺寸:100px*100px")],-1)),a("div",le,[e(m(W),{class:"draggable",modelValue:m(n).list,"onUpdate:modelValue":l[2]||(l[2]=o=>m(n).list=o),animation:"300",draggable:".draggable",handle:".drag-move",move:D,"item-key":"index"},{item:t(({element:o,index:u})=>[e(A,{onClose:d=>B(u),class:ee(["max-w-[400px]",{draggable:u!=0}]),"show-close":u!==0},{default:t(()=>[a("div",oe,[e(i,{label:"导航图标"},{default:t(()=>[e(g,{modelValue:o.unselected,"onUpdate:modelValue":d=>o.unselected=d,"upload-class":"bg-body","exclude-domain":"",size:"60px"},{upload:t(()=>[a("div",te,[e(f,{name:"el-icon-Plus",size:16}),l[5]||(l[5]=a("span",{class:"text-xs leading-5"}," 未选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"]),e(g,{modelValue:o.selected,"onUpdate:modelValue":d=>o.selected=d,"exclude-domain":"","upload-class":"bg-body",size:"60px"},{upload:t(()=>[a("div",ae,[e(f,{name:"el-icon-Plus",size:16}),l[6]||(l[6]=a("span",{class:"text-xs leading-5"}," 选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"导航名称"},{default:t(()=>[e(F,{modelValue:o.name,"onUpdate:modelValue":d=>o.name=d,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"链接地址"},{default:t(()=>[e(I,{"is-tab":!0,disabled:u===0,modelValue:o.link,"onUpdate:modelValue":d=>o.link=d},null,8,["disabled","modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"是否显示"},{default:t(()=>[a("div",se,[e(S,{disabled:u==0,modelValue:o.is_show,"onUpdate:modelValue":d=>o.is_show=d,"active-value":1,"inactive-value":0,onChange:d=>N(o)},null,8,["disabled","modelValue","onUpdate:modelValue","onChange"]),a("div",ne,[e(f,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])]),_:2},1032,["onClose","show-close","class"])]),_:1},8,["modelValue"])]),((r=m(n).list)==null?void 0:r.length) 订单池默认与处方订单列表同源:创建时间 start_time~end_time + fulfillment_status(默认完成态 3),账号列表可见性/数据域一并生效。 选结算月仍可套用「物流签收与尾款支付均须在结算月 7 日 24 点前」拆分「本期提成 / 顺延下期」 (仅有签收在范围内、尾款晚于截止仍会顺延); 展示部门/渠道下拉与列表不同,勾选后会与列表计数不同。 订单池默认与处方订单列表同源:创建时间 start_time~end_time + fulfillment_status(默认完成态 3),账号列表可见性/数据域一并生效。 选结算月仍可套用「物流签收与尾款支付均须在结算月 7 日 24 点前」拆分「本期提成 / 顺延下期」 (仅有签收在范围内、尾款晚于截止仍会顺延); 展示部门/渠道下拉与列表不同,勾选后会与列表计数不同。 0){const e=`已开启关联支付门槛(¥${oe(D.value)}),请至少选择一笔支付单`;t.pay_order_ids=[{type:"array",required:!0,min:1,message:e,trigger:"change"}]}return t});function kt(){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="",_.fee_type=3,_.amount=0,_.internal_cost=void 0,_.remark_extra="",_.remark_assistant="",_.pay_order_ids=[],Q.value=[],ne.value=[],D.value=0,q.value=null,(t=_e.value)==null||t.clearValidate()}function ma(){const t=D.value;if(t<=0)return;const e=Math.round(t*100)/100;Number(_.amount) 0){const e=`已开启关联支付门槛(¥${oe(D.value)}),请至少选择一笔支付单`;t.pay_order_ids=[{type:"array",required:!0,min:1,message:e,trigger:"change"}]}return t});function kt(){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="",_.fee_type=3,_.amount=0,_.internal_cost=void 0,_.remark_extra="",_.remark_assistant="",_.pay_order_ids=[],Q.value=[],ne.value=[],D.value=0,q.value=null,(t=_e.value)==null||t.clearValidate()}function ma(){const t=D.value;if(t<=0)return;const e=Math.round(t*100)/100;Number(_.amount)提成结算业绩
提成结算业绩
{c} 单 ({d}%)"},legend:{type:"scroll",bottom:0,textStyle:{fontSize:11}},series:[{name:"诊单",type:"pie",radius:["46%","72%"],center:["50%","46%"],avoidLabelOverlap:!0,itemStyle:{borderRadius:6,borderColor:"#fff",borderWidth:2},label:{formatter:`{b}
+import{i as nt,d as dt,Q as ct,P as pt,a5 as ut,a4 as bt,W as mt}from"./element-plus-lurTijPg.js";import{H as O}from"./vue-echarts-BNtg2q_G.js";import{L as Q,ae as _t,af as ht,a4 as yt}from"./@element-plus/icons-vue-HOEUG8sr.js";import{l as wt,O as V,Q as ft,_ as vt}from"./index-FimllnSe.js";import{at as gt}from"./tcm-Bt45zV2E.js";import{u as kt}from"./order-ZjOhzLe7.js";import{u as U}from"./getExposeType-MUpmx9zy.js";import{f as Y,w as xt,b as St,ak as l,I as c,J as t,a,aN as r,O as C,F as A,ap as D,G as w,H as B,A as S}from"./@vue/runtime-core-C6bnekPw.js";import{r as M,y as f,n as J}from"./@vue/reactivity-DiY1c2vO.js";import{Q as n}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ot={class:"workbench-page"},Ct={class:"wb-hero"},At={class:"wb-section wb-section--order"},Dt={class:"wb-section-head"},Nt={class:"wb-section-title"},$t={class:"wb-section-icon wb-section-icon--violet"},zt={class:"wb-section-sub"},Et={class:"wb-toolbar"},Lt={class:"wb-section-body"},Vt={class:"wb-kpi wb-kpi--violet"},Rt={class:"wb-kpi-value"},Pt={class:"wb-kpi wb-kpi--amber"},Wt={class:"wb-kpi-value wb-kpi-value--sm"},Ft={class:"wb-rank-strip wb-rank-strip--compact"},Bt={key:0,class:"wb-rank-chips"},Ht={key:1,class:"wb-rank-empty"},Tt={class:"wb-chart-card"},It={class:"wb-chart-card"},Qt={class:"wb-chart-card"},Ut={class:"wb-chart-card wb-ranking-card"},Mt={key:0,class:"wb-ranking-list"},jt={class:"wb-ranking-rank"},Gt={class:"wb-ranking-name"},Jt={class:"wb-ranking-meta"},Yt={class:"wb-ranking-money"},qt={key:0,class:"wb-dept-block"},Kt={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"},re={class:"wb-section-icon wb-section-icon--blue"},ie={class:"wb-section-sub"},ne={class:"wb-toolbar"},de={class:"wb-section-body"},ce={class:"wb-kpi wb-kpi--blue"},pe={class:"wb-kpi-value"},ue={class:"wb-rank-strip"},be={key:0,class:"wb-rank-chips"},me={key:1,class:"wb-rank-empty"},_e={class:"wb-chart-card"},he={class:"wb-chart-card"},ye={key:0,class:"wb-dept-block"},we={class:"wb-dept-card"},fe={class:"wb-dept-card-head"},ve={class:"wb-dept-total"},ge={class:"wb-dept-list"},ke={class:"wb-dept-num"},xe={key:0,class:"wb-dept-empty"},Se={class:"wb-section wb-section--trend"},Oe={class:"wb-section-head"},Ce={class:"wb-section-title"},Ae={class:"wb-section-icon wb-section-icon--teal"},De={class:"wb-section-body wb-trend-body"},Ne={class:"wb-chart-card wb-trend-card"},$e={class:"wb-chart-card wb-trend-card"},ze=Y({name:"workbench"}),Ee=Y({...ze,setup(Le){const g=wt(),H=U(),T=U(),q=U(),I=["#5b7cfa","#36cfc9","#ffc53d","#ff7a45","#b37feb","#597ef7","#73d13d","#ff85c0"];function j(s){if(s==null)return 0;const e=parseFloat(String(s).replace(/,/g,""));return Number.isFinite(e)?e:0}const p=M({days:0,departments:[],today_ranking:[],ranking:[],chart:{xAxis:[],series:[]}}),K=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:I,tooltip:{trigger:"item",formatter:"{b}
{c} 单 ({d}%)"},legend:{type:"scroll",bottom:0,textStyle:{fontSize:11}},series:[{name:"诊单",type:"pie",radius:["46%","72%"],center:["50%","46%"],avoidLabelOverlap:!0,itemStyle:{borderRadius:6,borderColor:"#fff",borderWidth:2},label:{formatter:`{b}
{c}`},data:s}]}}),Z=S(()=>{var b;const s=g.theme,e=(p.chart.series||[]).map(i=>({...i,name:i.name||"诊单数",type:"bar",barWidth:"46%",itemStyle:{borderRadius:[8,8,0,0],color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color: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=()=>{gt({days:p.days}).then(s=>{p.date_range=s.date_range,p.today_total=s.today_total??0,p.today_ranking=s.today_ranking||[],p.departments=s.departments||[],p.ranking=s.ranking||[],p.chart=s.chart||{xAxis:[],series:[]}}).catch(()=>{})},P=J(-1),W=J(0),_=M({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=>j(s.amount)>0)),st=S(()=>{const s=(_.departments||[]).filter(e=>Number(e.total)>0).map(e=>({name:e.dept_name||"—",value:Number(e.total)}));return{color:I,tooltip:{trigger:"item",formatter:"{b}
{c} 单 ({d}%)"},legend:{type:"scroll",bottom:0,textStyle:{fontSize:11}},series:[{name:"单数",type:"pie",radius:["44%","70%"],center:["50%","46%"],itemStyle:{borderRadius:6,borderColor:"#fff",borderWidth:2},label:{formatter:`{b}
{c}`},data:s}]}}),at=S(()=>{const s=(_.departments||[]).map(e=>({name:e.dept_name||"—",value:j(e.amount)})).filter(e=>e.value>0);return{color:I,tooltip:{trigger:"item",formatter:e=>{const h=e.value;return`${e.name}
¥${Number(h).toFixed(2)} (${e.percent}%)`}},legend:{type:"scroll",bottom:0,textStyle:{fontSize:11}},series:[{name:"金额",type:"pie",radius:["44%","70%"],center:["50%","46%"],itemStyle:{borderRadius:6,borderColor:"#fff",borderWidth:2},label:{formatter:e=>`${e.name}
¥${Number(e.value).toFixed(0)}`},data:s}]}}),ot=S(()=>{const s=_.date_range;if((s==null?void 0:s.length)>=2)return`${s[0]} 至 ${s[1]}`;const e=W.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=()=>{kt({order_type:P.value,days:W.value}).then(s=>{Object.assign(_,{order_type_name:s.order_type_name??"",date_range:s.date_range||[],today_total:s.today_total??0,today_amount:s.today_amount??"0.00",today_ranking:s.today_ranking||[],departments:s.departments||[],ranking:s.ranking||[],chart:s.chart||{xAxis:[],series:[]}})}).catch(()=>{})},rt=()=>{G(),R(),N()};xt(()=>g.theme,()=>{it()});const u=M({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=()=>{ft().then(s=>{var e,h,b,i,k,m,v,x,$,z,E,L;u.version=s.version,u.today=s.today,u.menu=s.menu,u.visitor=s.visitor,u.support=s.support,u.visitorOption.xAxis.data=[],u.visitorOption.series[0].data=[],u.saleOption.xAxis.data=[],u.saleOption.series[0].data=[],(h=(e=s.visitor)==null?void 0:e.date)==null||h.reverse().forEach(o=>{u.visitorOption.xAxis.data.push(o)}),(m=(k=(i=(b=s.visitor)==null?void 0:b.list)==null?void 0:i[0])==null?void 0:k.data)==null||m.forEach(o=>{u.visitorOption.series[0].data.push(o)}),(x=(v=s.sale)==null?void 0:v.date)==null||x.reverse().forEach(o=>{u.saleOption.xAxis.data.push(o)}),(L=(E=(z=($=s.sale)==null?void 0:$.list)==null?void 0:z[0])==null?void 0:E.data)==null||L.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 St(()=>{G(),R(),N()}),(s,e)=>{var $,z,E,L;const h=nt,b=dt,i=ct,k=pt,m=ut,v=bt,x=mt;return l(),c("div",Ot,[t("header",Ct,[e[4]||(e[4]=t("div",{class:"wb-hero-text"},[t("h1",{class:"wb-hero-title"},"数据工作台"),t("p",{class:"wb-hero-desc"},"医助诊单、订单营收与运营趋势一屏掌握")],-1)),a(h,{type:"primary",icon:f(Q),round:"",class:"wb-refresh-btn",onClick:rt},{default:r(()=>[...e[3]||(e[3]=[C(" 刷新全部 ",-1)])]),_:1},8,["icon"])]),t("section",At,[t("div",Dt,[t("div",Nt,[t("span",$t,[a(b,null,{default:r(()=>[a(f(_t))]),_:1})]),t("div",null,[e[5]||(e[5]=t("div",{class:"wb-section-name"},"订单统计",-1)),t("div",zt,n(ot.value)+" · "+n(_.order_type_name||"—"),1)])]),t("div",Et,[a(k,{modelValue:P.value,"onUpdate:modelValue":e[0]||(e[0]=o=>P.value=o),class:"wb-select wb-select--wide",onChange:N},{default:r(()=>[a(i,{label:"全部(已支付)",value:-1}),a(i,{label:"挂号费",value:1}),a(i,{label:"问诊费",value:2}),a(i,{label:"药品费用",value:3}),a(i,{label:"首付费用",value:4}),a(i,{label:"尾款费用",value:5}),a(i,{label:"其他费用",value:6}),a(i,{label:"全部费用",value:7}),a(i,{label:"驼奶费用",value:8}),a(i,{label:"退款统计",value:0})]),_:1},8,["modelValue"]),a(k,{modelValue:W.value,"onUpdate:modelValue":e[1]||(e[1]=o=>W.value=o),class:"wb-select",onChange:N},{default:r(()=>[a(i,{label:"今天",value:0}),a(i,{label:"最近7天",value:7}),a(i,{label:"最近30天",value:30})]),_:1},8,["modelValue"]),a(h,{icon:f(Q),circle:"",onClick:N},null,8,["icon"])])]),t("div",Lt,[a(v,{gutter:16,class:"wb-kpi-row"},{default:r(()=>[a(m,{xs:24,sm:8},{default:r(()=>[t("div",Vt,[e[6]||(e[6]=t("div",{class:"wb-kpi-label"},"今日单数",-1)),t("div",Rt,n(_.today_total??0),1)])]),_:1}),a(m,{xs:24,sm:8},{default:r(()=>[t("div",Pt,[e[7]||(e[7]=t("div",{class:"wb-kpi-label"},"今日金额",-1)),t("div",Wt,"¥"+n(_.today_amount??"0.00"),1)])]),_:1}),a(m,{xs:24,sm:8},{default:r(()=>{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",Bt,[(l(!0),c(A,null,D(_.today_ranking.slice(0,4),(d,y)=>(l(),c("span",{key:d.id,class:"wb-rank-chip wb-rank-chip--dense"},[t("em",null,n(Number(y)+1),1),C(" "+n(d.name)+" ",1),t("strong",null,n(d.count),1),t("small",null,"¥"+n(d.amount),1)]))),128))])):(l(),c("span",Ht,"暂无"))])]}),_:1})]),_:1}),a(v,{gutter:20,class:"wb-chart-row"},{default:r(()=>[a(m,{xs:24,lg:10},{default:r(()=>[t("div",Tt,[e[9]||(e[9]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"部门单数占比")],-1)),tt.value?(l(),w(f(O),{key:0,class:"wb-chart",style:{height:"300px"},option:st.value,autoresize:!0},null,8,["option"])):(l(),w(x,{key:1,class:"wb-chart-empty",description:"暂无数据"}))])]),_:1}),a(m,{xs:24,lg:14},{default:r(()=>{var o,d;return[t("div",It,[e[10]||(e[10]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"开单人 · 单数排行"),t("span",{class:"wb-chart-hint"},"柱状 + 趋势")],-1)),(d=(o=_.chart)==null?void 0:o.xAxis)!=null&&d.length?(l(),w(f(O),{key:"order-bar-"+P.value,class:"wb-chart",style:{height:"300px"},option:lt.value,autoresize:!0},null,8,["option"])):(l(),w(x,{key:1,class:"wb-chart-empty",description:"暂无图表数据"}))])]}),_:1})]),_:1}),a(v,{gutter:20,class:"wb-chart-row"},{default:r(()=>[a(m,{xs:24,lg:10},{default:r(()=>[t("div",Qt,[e[11]||(e[11]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"部门金额占比")],-1)),et.value?(l(),w(f(O),{key:0,class:"wb-chart",style:{height:"300px"},option:at.value,autoresize:!0},null,8,["option"])):(l(),w(x,{key:1,class:"wb-chart-empty",description:"暂无数据"}))])]),_:1}),a(m,{xs:24,lg:14},{default:r(()=>{var o;return[t("div",Ut,[e[13]||(e[13]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"周期内排行"),t("span",{class:"wb-chart-hint"},"单数 / 金额")],-1)),(o=_.ranking)!=null&&o.length?(l(),c("div",Mt,[(l(!0),c(A,null,D(_.ranking,(d,y)=>(l(),c("div",{key:d.id,class:"wb-ranking-item"},[t("span",jt,n(Number(y)+1),1),t("span",Gt,n(d.name),1),t("span",Jt,[t("b",null,n(d.count),1),e[12]||(e[12]=C(" 单 ",-1)),t("span",Yt,"¥"+n(d.amount),1)])]))),128))])):(l(),w(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(v,{gutter:16},{default:r(()=>[(l(!0),c(A,null,D(_.departments,o=>(l(),w(m,{key:o.dept_id,xs:24,sm:12,lg:8},{default:r(()=>{var d;return[t("div",Kt,[t("div",Xt,[C(n(o.dept_name)+" ",1),t("span",Zt,n(o.total)+" 单 · ¥"+n(o.amount),1)]),t("div",te,[(l(!0),c(A,null,D(o.members,y=>(l(),c("div",{key:`${o.dept_id}-${y.id}`,class:"wb-dept-row"},[t("span",null,n(y.name),1),t("span",ee,[C(n(y.count)+" ",1),t("small",null,"¥"+n(y.amount),1)])]))),128)),(d=o.members)!=null&&d.length?B("",!0):(l(),c("div",se,"暂无"))])])]}),_:2},1024))),128))]),_:1})])):B("",!0)])]),t("section",ae,[t("div",oe,[t("div",le,[t("span",re,[a(b,null,{default:r(()=>[a(f(ht))]),_:1})]),t("div",null,[e[15]||(e[15]=t("div",{class:"wb-section-name"},"医助理诊单统计",-1)),t("div",ie,n((z=p.date_range)==null?void 0:z[0])+" 至 "+n((E=p.date_range)==null?void 0:E[1]),1)])]),t("div",ne,[a(k,{modelValue:p.days,"onUpdate:modelValue":e[2]||(e[2]=o=>p.days=o),class:"wb-select",onChange:R},{default:r(()=>[a(i,{label:"今天",value:0}),a(i,{label:"最近7天",value:7}),a(i,{label:"最近14天",value:14}),a(i,{label:"最近30天",value:30})]),_:1},8,["modelValue"]),a(h,{icon:f(Q),circle:"",onClick:R},null,8,["icon"])])]),t("div",de,[a(v,{gutter:16,class:"wb-kpi-row"},{default:r(()=>[a(m,{xs:24,sm:8,lg:6},{default:r(()=>[t("div",ce,[e[16]||(e[16]=t("div",{class:"wb-kpi-label"},"今日创建诊单",-1)),t("div",pe,n(p.today_total??0),1),e[17]||(e[17]=t("div",{class:"wb-kpi-hint"},"当日新增总量",-1))])]),_:1}),a(m,{xs:24,sm:16,lg:18},{default:r(()=>{var o;return[t("div",ue,[e[18]||(e[18]=t("span",{class:"wb-rank-strip-label"},"今日排行",-1)),(o=p.today_ranking)!=null&&o.length?(l(),c("div",be,[(l(!0),c(A,null,D(p.today_ranking.slice(0,6),(d,y)=>(l(),c("span",{key:d.id,class:"wb-rank-chip"},[t("em",null,n(y+1),1),C(" "+n(d.name)+" ",1),t("strong",null,n(d.count),1)]))),128))])):(l(),c("span",me,"暂无排行数据"))])]}),_:1})]),_:1}),a(v,{gutter:20,class:"wb-chart-row"},{default:r(()=>[a(m,{xs:24,lg:15},{default:r(()=>{var o;return[t("div",_e,[e[19]||(e[19]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"诊单量分布"),t("span",{class:"wb-chart-hint"},"柱状 + 趋势线")],-1)),(o=p.chart.xAxis)!=null&&o.length?(l(),w(f(O),{key:0,ref_key:"assistantChart",ref:q,class:"wb-chart",style:{height:"340px"},option:Z.value,autoresize:!0},null,8,["option"])):(l(),w(x,{key:1,class:"wb-chart-empty",description:"暂无图表数据"}))])]}),_:1}),a(m,{xs:24,lg:9},{default:r(()=>[t("div",he,[e[20]||(e[20]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"部门占比"),t("span",{class:"wb-chart-hint"},"按诊单数")],-1)),K.value?(l(),w(f(O),{key:0,class:"wb-chart",style:{height:"340px"},option:X.value,autoresize:!0},null,8,["option"])):(l(),w(x,{key:1,class:"wb-chart-empty",description:"暂无部门数据"}))])]),_:1})]),_:1}),(L=p.departments)!=null&&L.length?(l(),c("div",ye,[e[21]||(e[21]=t("div",{class:"wb-dept-title"},"按部门明细",-1)),a(v,{gutter:16},{default:r(()=>[(l(!0),c(A,null,D(p.departments,o=>(l(),w(m,{key:o.dept_id,xs:24,sm:12,lg:8},{default:r(()=>{var d;return[t("div",we,[t("div",fe,[C(n(o.dept_name)+" ",1),t("span",ve,"共 "+n(o.total),1)]),t("div",ge,[(l(!0),c(A,null,D(o.assistants,y=>(l(),c("div",{key:`${o.dept_id}-${y.id}`,class:"wb-dept-row"},[t("span",null,n(y.name),1),t("span",ke,n(y.count),1)]))),128)),(d=o.assistants)!=null&&d.length?B("",!0):(l(),c("div",xe,"暂无医助"))])])]}),_:2},1024))),128))]),_:1})])):B("",!0)])]),t("section",Se,[t("div",Oe,[t("div",Ce,[t("span",Ae,[a(b,null,{default:r(()=>[a(f(yt))]),_:1})]),e[22]||(e[22]=t("div",null,[t("div",{class:"wb-section-name"},"运营趋势"),t("div",{class:"wb-section-sub"},"访问量与销售额走势")],-1))])]),t("div",De,[a(v,{gutter:20},{default:r(()=>[a(m,{xs:24,lg:14},{default:r(()=>[t("div",Ne,[e[23]||(e[23]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"访问量趋势")],-1)),a(f(O),{ref_key:"visitorChart",ref:T,class:"wb-chart",style:{height:"320px"},option:u.visitorOption,autoresize:!0},null,8,["option"])])]),_:1}),a(m,{xs:24,lg:10},{default:r(()=>[t("div",$e,[e[24]||(e[24]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"销售额趋势"),t("span",{class:"wb-chart-hint"},"单位(万)")],-1)),a(f(O),{ref_key:"saleChart",ref:H,class:"wb-chart",style:{height:"320px"},option:u.saleOption,autoresize:!0},null,8,["option"])])]),_:1})]),_:1})])])])}}}),ks=vt(Ee,[["__scopeId","data-v-2f6eaa33"]]);export{ks as default};
diff --git a/server/public/admin/assets/index-mDy9ToMf.js b/server/public/admin/assets/index-BFPN4E1c.js
similarity index 90%
rename from server/public/admin/assets/index-mDy9ToMf.js
rename to server/public/admin/assets/index-BFPN4E1c.js
index 1aff06ee..929840af 100644
--- a/server/public/admin/assets/index-mDy9ToMf.js
+++ b/server/public/admin/assets/index-BFPN4E1c.js
@@ -1 +1 @@
-import{_ as r,c}from"./index-DF1MLuL8.js";import{f as d,ak as s,I as n,aq as p,a as i,H as m}from"./@vue/runtime-core-C6bnekPw.js";import{s as _}from"./@vue/runtime-dom-DDAG46FW.js";const f=d({props:{showClose:{type:Boolean,default:!0}},emits:["close"],setup(e,{emit:o}){return{handleClose:()=>{o("close")}}}}),u={class:"del-wrap"};function C(e,o,t,h,$,k){const a=c;return s(),n("div",u,[p(e.$slots,"default",{},void 0,!0),e.showClose?(s(),n("div",{key:0,class:"icon-close",onClick:o[0]||(o[0]=_((...l)=>e.handleClose&&e.handleClose(...l),["stop"]))},[i(a,{size:12,name:"el-icon-CloseBold"})])):m("",!0)])}const y=r(f,[["render",C],["__scopeId","data-v-acafd744"]]);export{y as _};
+import{_ as r,c}from"./index-FimllnSe.js";import{f as d,ak as s,I as n,aq as p,a as i,H as m}from"./@vue/runtime-core-C6bnekPw.js";import{s as _}from"./@vue/runtime-dom-DDAG46FW.js";const f=d({props:{showClose:{type:Boolean,default:!0}},emits:["close"],setup(e,{emit:o}){return{handleClose:()=>{o("close")}}}}),u={class:"del-wrap"};function C(e,o,t,h,$,k){const a=c;return s(),n("div",u,[p(e.$slots,"default",{},void 0,!0),e.showClose?(s(),n("div",{key:0,class:"icon-close",onClick:o[0]||(o[0]=_((...l)=>e.handleClose&&e.handleClose(...l),["stop"]))},[i(a,{size:12,name:"el-icon-CloseBold"})])):m("",!0)])}const y=r(f,[["render",C],["__scopeId","data-v-acafd744"]]);export{y as _};
diff --git a/server/public/admin/assets/index-mbegB4qy.js b/server/public/admin/assets/index-BGl5DlLI.js
similarity index 97%
rename from server/public/admin/assets/index-mbegB4qy.js
rename to server/public/admin/assets/index-BGl5DlLI.js
index cb7440f0..b882ec8c 100644
--- a/server/public/admin/assets/index-mbegB4qy.js
+++ b/server/public/admin/assets/index-BGl5DlLI.js
@@ -1 +1 @@
-import{_ as G}from"./index-BdBEjexV.js";import{r as V,c as R,_ as T}from"./index-DF1MLuL8.js";import{D as z,B as A,G as J,I as $,J as q,i as L,M,N as O,C as P}from"./element-plus-lurTijPg.js";import{f as C,as as Q,ak as i,I as _,a as e,aN as o,J as a,O as m,aP as x,G as y,F as j,ap as H,A as K}from"./@vue/runtime-core-C6bnekPw.js";import{y as d,r as W}from"./@vue/reactivity-DiY1c2vO.js";import{Q as X}from"./@vue/shared-mAAVTE9n.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./lodash-D3kF6u-c.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";function Y(){return V.get({url:"/setting.hot_search/getConfig"})}function Z(u){return V.post({url:"/setting.hot_search/setConfig",params:u})}const tt={class:"hot-search"},et={class:"lg:flex"},ot={class:"flex-1 min-w-0"},st={class:"hot-search-phone mt-4 lg:mt-0 lg:ml-4 flex-none"},at={class:"hot-search-phone-content"},nt={class:"search-com"},rt={class:"search-con flex items-center px-[15px]"},lt={class:"hot-search-text"},it=C({name:"search"}),mt=C({...it,setup(u){const r=W({status:1,data:[]}),k=K(()=>r.data.filter(s=>s.name).sort((s,t)=>t.sort-s.sort)),f=async()=>{try{const s=await Y();for(const t in r)r[t]=s[t]}catch(s){console.log("获取=>",s)}},w=()=>{r.data.push({name:"",sort:0})},E=s=>{r.data.splice(s,1)},D=async()=>{try{await Z(r),f()}catch(s){console.log("保存=>",s)}};return f(),(s,t)=>{const h=$,B=J,I=A,N=z,g=q,p=L,v=P,c=O,S=M,U=R,F=G,b=Q("perms");return i(),_("div",tt,[e(g,{class:"!border-none",shadow:"never"},{default:o(()=>[e(N,{ref:"formRef",model:d(r),"label-width":"100px"},{default:o(()=>[e(I,{label:"功能状态",style:{"margin-bottom":"0"}},{default:o(()=>[a("div",null,[e(B,{modelValue:d(r).status,"onUpdate:modelValue":t[0]||(t[0]=n=>d(r).status=n)},{default:o(()=>[e(h,{value:1},{default:o(()=>[...t[1]||(t[1]=[m("开启",-1)])]),_:1}),e(h,{value:0},{default:o(()=>[...t[2]||(t[2]=[m("关闭",-1)])]),_:1})]),_:1},8,["modelValue"]),t[3]||(t[3]=a("div",{class:"form-tips"},"默认开启,关闭则前端不显示该功能",-1))])]),_:1})]),_:1},8,["model"])]),_:1}),e(g,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[a("div",et,[a("div",ot,[e(p,{type:"primary",class:"mb-4",onClick:w},{default:o(()=>[...t[4]||(t[4]=[m("添加",-1)])]),_:1}),e(S,{size:"large",data:d(r).data},{default:o(()=>[e(c,{label:"关键词",prop:"describe","min-width":"160"},{default:o(({row:n})=>[e(v,{modelValue:n.name,"onUpdate:modelValue":l=>n.name=l,clearable:"",placeholder:"请输入关键字","show-word-limit":"",maxlength:"30"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(c,{label:"排序",prop:"describe","min-width":"160"},{default:o(({row:n})=>[e(v,{modelValue:n.sort,"onUpdate:modelValue":l=>n.sort=l,type:"number"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(c,{label:"操作","min-width":"80",fixed:"right"},{default:o(({$index:n})=>[x((i(),y(p,{type:"danger",link:"",onClick:l=>E(n)},{default:o(()=>[...t[5]||(t[5]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])),[[b,["setting:storage:edit"]]])]),_:1})]),_:1},8,["data"])]),a("div",st,[t[8]||(t[8]=a("div",{class:"mb-4 text-center"},"- 热搜预览图 -",-1)),a("div",at,[a("div",nt,[a("div",rt,[e(U,{name:"el-icon-Search",size:17}),t[6]||(t[6]=a("span",{class:"ml-[5px]"},"请输入关键词搜索",-1))])]),t[7]||(t[7]=a("div",{class:"hot-search-title"},"热门搜索",-1)),a("div",lt,[(i(!0),_(j,null,H(d(k),(n,l)=>(i(),_("span",{key:l},X(n.name),1))),128))])])])])]),_:1}),x((i(),y(F,null,{default:o(()=>[e(p,{type:"primary",onClick:D},{default:o(()=>[...t[9]||(t[9]=[m("保存",-1)])]),_:1})]),_:1})),[[b,["setting.hot_search/setConfig"]]])])}}}),Ht=T(mt,[["__scopeId","data-v-7cc9d6c3"]]);export{Ht as default};
+import{_ as G}from"./index-DX6Q7ijR.js";import{r as V,c as R,_ as T}from"./index-FimllnSe.js";import{D as z,B as A,G as J,I as $,J as q,i as L,M,N as O,C as P}from"./element-plus-lurTijPg.js";import{f as C,as as Q,ak as i,I as _,a as e,aN as o,J as a,O as m,aP as x,G as y,F as j,ap as H,A as K}from"./@vue/runtime-core-C6bnekPw.js";import{y as d,r as W}from"./@vue/reactivity-DiY1c2vO.js";import{Q as X}from"./@vue/shared-mAAVTE9n.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./lodash-D3kF6u-c.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";function Y(){return V.get({url:"/setting.hot_search/getConfig"})}function Z(u){return V.post({url:"/setting.hot_search/setConfig",params:u})}const tt={class:"hot-search"},et={class:"lg:flex"},ot={class:"flex-1 min-w-0"},st={class:"hot-search-phone mt-4 lg:mt-0 lg:ml-4 flex-none"},at={class:"hot-search-phone-content"},nt={class:"search-com"},rt={class:"search-con flex items-center px-[15px]"},lt={class:"hot-search-text"},it=C({name:"search"}),mt=C({...it,setup(u){const r=W({status:1,data:[]}),k=K(()=>r.data.filter(s=>s.name).sort((s,t)=>t.sort-s.sort)),f=async()=>{try{const s=await Y();for(const t in r)r[t]=s[t]}catch(s){console.log("获取=>",s)}},w=()=>{r.data.push({name:"",sort:0})},E=s=>{r.data.splice(s,1)},D=async()=>{try{await Z(r),f()}catch(s){console.log("保存=>",s)}};return f(),(s,t)=>{const h=$,B=J,I=A,N=z,g=q,p=L,v=P,c=O,S=M,U=R,F=G,b=Q("perms");return i(),_("div",tt,[e(g,{class:"!border-none",shadow:"never"},{default:o(()=>[e(N,{ref:"formRef",model:d(r),"label-width":"100px"},{default:o(()=>[e(I,{label:"功能状态",style:{"margin-bottom":"0"}},{default:o(()=>[a("div",null,[e(B,{modelValue:d(r).status,"onUpdate:modelValue":t[0]||(t[0]=n=>d(r).status=n)},{default:o(()=>[e(h,{value:1},{default:o(()=>[...t[1]||(t[1]=[m("开启",-1)])]),_:1}),e(h,{value:0},{default:o(()=>[...t[2]||(t[2]=[m("关闭",-1)])]),_:1})]),_:1},8,["modelValue"]),t[3]||(t[3]=a("div",{class:"form-tips"},"默认开启,关闭则前端不显示该功能",-1))])]),_:1})]),_:1},8,["model"])]),_:1}),e(g,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[a("div",et,[a("div",ot,[e(p,{type:"primary",class:"mb-4",onClick:w},{default:o(()=>[...t[4]||(t[4]=[m("添加",-1)])]),_:1}),e(S,{size:"large",data:d(r).data},{default:o(()=>[e(c,{label:"关键词",prop:"describe","min-width":"160"},{default:o(({row:n})=>[e(v,{modelValue:n.name,"onUpdate:modelValue":l=>n.name=l,clearable:"",placeholder:"请输入关键字","show-word-limit":"",maxlength:"30"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(c,{label:"排序",prop:"describe","min-width":"160"},{default:o(({row:n})=>[e(v,{modelValue:n.sort,"onUpdate:modelValue":l=>n.sort=l,type:"number"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(c,{label:"操作","min-width":"80",fixed:"right"},{default:o(({$index:n})=>[x((i(),y(p,{type:"danger",link:"",onClick:l=>E(n)},{default:o(()=>[...t[5]||(t[5]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])),[[b,["setting:storage:edit"]]])]),_:1})]),_:1},8,["data"])]),a("div",st,[t[8]||(t[8]=a("div",{class:"mb-4 text-center"},"- 热搜预览图 -",-1)),a("div",at,[a("div",nt,[a("div",rt,[e(U,{name:"el-icon-Search",size:17}),t[6]||(t[6]=a("span",{class:"ml-[5px]"},"请输入关键词搜索",-1))])]),t[7]||(t[7]=a("div",{class:"hot-search-title"},"热门搜索",-1)),a("div",lt,[(i(!0),_(j,null,H(d(k),(n,l)=>(i(),_("span",{key:l},X(n.name),1))),128))])])])])]),_:1}),x((i(),y(F,null,{default:o(()=>[e(p,{type:"primary",onClick:D},{default:o(()=>[...t[9]||(t[9]=[m("保存",-1)])]),_:1})]),_:1})),[[b,["setting.hot_search/setConfig"]]])])}}}),Ht=T(mt,[["__scopeId","data-v-7cc9d6c3"]]);export{Ht as default};
diff --git a/server/public/admin/assets/index-BJsIM91a.js b/server/public/admin/assets/index-BHRlAWuz.js
similarity index 93%
rename from server/public/admin/assets/index-BJsIM91a.js
rename to server/public/admin/assets/index-BHRlAWuz.js
index a8e534be..11780cf7 100644
--- a/server/public/admin/assets/index-BJsIM91a.js
+++ b/server/public/admin/assets/index-BHRlAWuz.js
@@ -1 +1 @@
-import{i as A,M as P,N as z,T as F,L as G,J}from"./element-plus-lurTijPg.js";import{c as S,M as y,i as q}from"./index-DF1MLuL8.js";import{a as H,e as I}from"./menu-CEXDLSCc.js";import{u as j}from"./usePaging-VsbTxSU0.js";import{_ as K}from"./edit.vue_vue_type_script_setup_true_lang-DPDe__ux.js";import{f as D,as as Q,ak as a,I as k,a as n,aN as o,J as N,aP as f,G as p,O as d,H as h,n as B}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,q as $,n as W}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker.vue_vue_type_script_setup_true_lang-6dKUwaQV.js";import"./index-CnpV87Ke.js";const X={class:"menu-lists"},Y={key:0},Z={key:1},ee={key:2},te={class:"flex"},oe=D({name:"permission-menu"}),Ie=D({...oe,setup(ie){const w=$(),u=$();let v=!1;const _=W(!1),{pager:b,getLists:g}=j({fetchFun:H,params:{page_type:0}}),C=async i=>{var e,s;_.value=!0,await B(),i&&((e=u.value)==null||e.setFormData({pid:i})),(s=u.value)==null||s.open("add")},R=async i=>{var e,s;_.value=!0,await B(),(e=u.value)==null||e.open("edit"),(s=u.value)==null||s.getDetail(i)},L=async i=>{await q.confirm("确定要删除?"),await I({id:i}),g()},M=()=>{v=!v,E(b.lists,v)},E=(i,e=!0)=>{var s;for(const l in i)(s=w.value)==null||s.toggleRowExpansion(i[l],e),i[l].children&&E(i[l].children,e)};return g(),(i,e)=>{const s=S,l=A,r=z,x=F,O=P,U=J,c=Q("perms"),V=G;return a(),k("div",X,[n(U,{class:"!border-none",shadow:"never"},{default:o(()=>[N("div",null,[f((a(),p(l,{type:"primary",onClick:e[0]||(e[0]=t=>C())},{icon:o(()=>[n(s,{name:"el-icon-Plus"})]),default:o(()=>[e[2]||(e[2]=d(" 新增 ",-1))]),_:1})),[[c,["auth.menu/add"]]]),n(l,{onClick:M},{default:o(()=>[...e[3]||(e[3]=[d(" 展开/折叠 ",-1)])]),_:1})]),f((a(),p(O,{ref_key:"tableRef",ref:w,class:"mt-4",size:"large",data:m(b).lists,"row-key":"id","tree-props":{children:"children",hasChildren:"hasChildren"}},{default:o(()=>[n(r,{label:"菜单名称",prop:"name","min-width":"150","show-overflow-tooltip":""}),n(r,{label:"类型",prop:"type","min-width":"80"},{default:o(({row:t})=>[t.type==m(y).CATALOGUE?(a(),k("div",Y,"目录")):t.type==m(y).MENU?(a(),k("div",Z,"菜单")):t.type==m(y).BUTTON?(a(),k("div",ee,"按钮")):h("",!0)]),_:1}),n(r,{label:"图标",prop:"icon","min-width":"80"},{default:o(({row:t})=>[N("div",te,[n(s,{name:t.icon,size:20},null,8,["name"])])]),_:1}),n(r,{label:"权限标识",prop:"perms","min-width":"150","show-overflow-tooltip":""}),n(r,{label:"状态",prop:"is_disable","min-width":"100"},{default:o(({row:t})=>[t.is_disable==0?(a(),p(x,{key:0},{default:o(()=>[...e[4]||(e[4]=[d("正常",-1)])]),_:1})):(a(),p(x,{key:1,type:"danger"},{default:o(()=>[...e[5]||(e[5]=[d("停用",-1)])]),_:1}))]),_:1}),n(r,{label:"排序",prop:"sort","min-width":"100"}),n(r,{label:"更新时间",prop:"update_time","min-width":"180"}),n(r,{label:"操作",width:"160",fixed:"right"},{default:o(({row:t})=>[t.type!==m(y).BUTTON?f((a(),p(l,{key:0,type:"primary",link:"",onClick:T=>C(t.id)},{default:o(()=>[...e[6]||(e[6]=[d(" 新增 ",-1)])]),_:1},8,["onClick"])),[[c,["auth.menu/add"]]]):h("",!0),f((a(),p(l,{type:"primary",link:"",onClick:T=>R(t)},{default:o(()=>[...e[7]||(e[7]=[d(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[c,["auth.menu/edit"]]]),f((a(),p(l,{type:"danger",link:"",onClick:T=>L(t.id)},{default:o(()=>[...e[8]||(e[8]=[d(" 删除 ",-1)])]),_:1},8,["onClick"])),[[c,["auth.menu/delete"]]])]),_:1})]),_:1},8,["data"])),[[V,m(b).loading]])]),_:1}),m(_)?(a(),p(K,{key:0,ref_key:"editRef",ref:u,onSuccess:m(g),onClose:e[1]||(e[1]=t=>_.value=!1)},null,8,["onSuccess"])):h("",!0)])}}});export{Ie as default};
+import{i as A,M as P,N as z,T as F,L as G,J}from"./element-plus-lurTijPg.js";import{c as S,M as y,i as q}from"./index-FimllnSe.js";import{a as H,e as I}from"./menu-BTkJFqk2.js";import{u as j}from"./usePaging-VsbTxSU0.js";import{_ as K}from"./edit.vue_vue_type_script_setup_true_lang-C7VmT_lY.js";import{f as D,as as Q,ak as a,I as k,a as n,aN as o,J as N,aP as f,G as p,O as d,H as h,n as B}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,q as $,n as W}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker.vue_vue_type_script_setup_true_lang-DQGH0uSC.js";import"./index-DPukmZrj.js";const X={class:"menu-lists"},Y={key:0},Z={key:1},ee={key:2},te={class:"flex"},oe=D({name:"permission-menu"}),Ie=D({...oe,setup(ie){const w=$(),u=$();let v=!1;const _=W(!1),{pager:b,getLists:g}=j({fetchFun:H,params:{page_type:0}}),C=async i=>{var e,s;_.value=!0,await B(),i&&((e=u.value)==null||e.setFormData({pid:i})),(s=u.value)==null||s.open("add")},R=async i=>{var e,s;_.value=!0,await B(),(e=u.value)==null||e.open("edit"),(s=u.value)==null||s.getDetail(i)},L=async i=>{await q.confirm("确定要删除?"),await I({id:i}),g()},M=()=>{v=!v,E(b.lists,v)},E=(i,e=!0)=>{var s;for(const l in i)(s=w.value)==null||s.toggleRowExpansion(i[l],e),i[l].children&&E(i[l].children,e)};return g(),(i,e)=>{const s=S,l=A,r=z,x=F,O=P,U=J,c=Q("perms"),V=G;return a(),k("div",X,[n(U,{class:"!border-none",shadow:"never"},{default:o(()=>[N("div",null,[f((a(),p(l,{type:"primary",onClick:e[0]||(e[0]=t=>C())},{icon:o(()=>[n(s,{name:"el-icon-Plus"})]),default:o(()=>[e[2]||(e[2]=d(" 新增 ",-1))]),_:1})),[[c,["auth.menu/add"]]]),n(l,{onClick:M},{default:o(()=>[...e[3]||(e[3]=[d(" 展开/折叠 ",-1)])]),_:1})]),f((a(),p(O,{ref_key:"tableRef",ref:w,class:"mt-4",size:"large",data:m(b).lists,"row-key":"id","tree-props":{children:"children",hasChildren:"hasChildren"}},{default:o(()=>[n(r,{label:"菜单名称",prop:"name","min-width":"150","show-overflow-tooltip":""}),n(r,{label:"类型",prop:"type","min-width":"80"},{default:o(({row:t})=>[t.type==m(y).CATALOGUE?(a(),k("div",Y,"目录")):t.type==m(y).MENU?(a(),k("div",Z,"菜单")):t.type==m(y).BUTTON?(a(),k("div",ee,"按钮")):h("",!0)]),_:1}),n(r,{label:"图标",prop:"icon","min-width":"80"},{default:o(({row:t})=>[N("div",te,[n(s,{name:t.icon,size:20},null,8,["name"])])]),_:1}),n(r,{label:"权限标识",prop:"perms","min-width":"150","show-overflow-tooltip":""}),n(r,{label:"状态",prop:"is_disable","min-width":"100"},{default:o(({row:t})=>[t.is_disable==0?(a(),p(x,{key:0},{default:o(()=>[...e[4]||(e[4]=[d("正常",-1)])]),_:1})):(a(),p(x,{key:1,type:"danger"},{default:o(()=>[...e[5]||(e[5]=[d("停用",-1)])]),_:1}))]),_:1}),n(r,{label:"排序",prop:"sort","min-width":"100"}),n(r,{label:"更新时间",prop:"update_time","min-width":"180"}),n(r,{label:"操作",width:"160",fixed:"right"},{default:o(({row:t})=>[t.type!==m(y).BUTTON?f((a(),p(l,{key:0,type:"primary",link:"",onClick:T=>C(t.id)},{default:o(()=>[...e[6]||(e[6]=[d(" 新增 ",-1)])]),_:1},8,["onClick"])),[[c,["auth.menu/add"]]]):h("",!0),f((a(),p(l,{type:"primary",link:"",onClick:T=>R(t)},{default:o(()=>[...e[7]||(e[7]=[d(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[c,["auth.menu/edit"]]]),f((a(),p(l,{type:"danger",link:"",onClick:T=>L(t.id)},{default:o(()=>[...e[8]||(e[8]=[d(" 删除 ",-1)])]),_:1},8,["onClick"])),[[c,["auth.menu/delete"]]])]),_:1})]),_:1},8,["data"])),[[V,m(b).loading]])]),_:1}),m(_)?(a(),p(K,{key:0,ref_key:"editRef",ref:u,onSuccess:m(g),onClose:e[1]||(e[1]=t=>_.value=!1)},null,8,["onSuccess"])):h("",!0)])}}});export{Ie as default};
diff --git a/server/public/admin/assets/index-BmmT_oBX.js b/server/public/admin/assets/index-BJUihj-v.js
similarity index 87%
rename from server/public/admin/assets/index-BmmT_oBX.js
rename to server/public/admin/assets/index-BJUihj-v.js
index 19479b85..c1b23eab 100644
--- a/server/public/admin/assets/index-BmmT_oBX.js
+++ b/server/public/admin/assets/index-BJUihj-v.js
@@ -1 +1 @@
-import{L as C,M as h,N as E,T as x,i as L,J as T}from"./element-plus-lurTijPg.js";import{d as B}from"./message-BrdZU5yI.js";import{_ as N}from"./edit.vue_vue_type_script_setup_true_lang-Bp2rCSHE.js";import{f as u,as as R,ak as i,I as D,aP as c,G as a,aN as o,a as r,O as l}from"./@vue/runtime-core-C6bnekPw.js";import{y as f,q as S,r as V}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DF1MLuL8.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-CnpV87Ke.js";const $=u({name:"shortLetter"}),ht=u({...$,setup(q){const p=S(),e=V({loading:!1,lists:[]}),d=async()=>{try{e.loading=!0,e.lists=await B(),e.loading=!1}catch{e.loading=!1}},g=s=>{var t;(t=p.value)==null||t.open(s)};return d(),(s,t)=>{const m=E,_=x,v=L,k=h,y=T,b=R("perms"),w=C;return i(),D("div",null,[c((i(),a(y,{class:"!border-none",shadow:"never"},{default:o(()=>[r(k,{size:"large",data:f(e).lists},{default:o(()=>[r(m,{label:"短信渠道",prop:"name","min-width":"120"}),r(m,{label:"状态","min-width":"120"},{default:o(({row:n})=>[n.status==1?(i(),a(_,{key:0},{default:o(()=>[...t[0]||(t[0]=[l("开启",-1)])]),_:1})):(i(),a(_,{key:1,type:"danger"},{default:o(()=>[...t[1]||(t[1]=[l("关闭",-1)])]),_:1}))]),_:1}),r(m,{label:"操作","min-width":"120",fixed:"right"},{default:o(({row:n})=>[c((i(),a(v,{type:"primary",link:"",onClick:z=>g(n.type)},{default:o(()=>[...t[2]||(t[2]=[l(" 设置 ",-1)])]),_:1},8,["onClick"])),[[b,["notice.sms_config/setConfig"]]])]),_:1})]),_:1},8,["data"])]),_:1})),[[w,f(e).loading]]),r(N,{ref_key:"editRef",ref:p,onSuccess:d},null,512)])}}});export{ht as default};
+import{L as C,M as h,N as E,T as x,i as L,J as T}from"./element-plus-lurTijPg.js";import{d as B}from"./message-CDVXEs_4.js";import{_ as N}from"./edit.vue_vue_type_script_setup_true_lang-pYt5O7PL.js";import{f as u,as as R,ak as i,I as D,aP as c,G as a,aN as o,a as r,O as l}from"./@vue/runtime-core-C6bnekPw.js";import{y as f,q as S,r as V}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-FimllnSe.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-DPukmZrj.js";const $=u({name:"shortLetter"}),ht=u({...$,setup(q){const p=S(),e=V({loading:!1,lists:[]}),d=async()=>{try{e.loading=!0,e.lists=await B(),e.loading=!1}catch{e.loading=!1}},g=s=>{var t;(t=p.value)==null||t.open(s)};return d(),(s,t)=>{const m=E,_=x,v=L,k=h,y=T,b=R("perms"),w=C;return i(),D("div",null,[c((i(),a(y,{class:"!border-none",shadow:"never"},{default:o(()=>[r(k,{size:"large",data:f(e).lists},{default:o(()=>[r(m,{label:"短信渠道",prop:"name","min-width":"120"}),r(m,{label:"状态","min-width":"120"},{default:o(({row:n})=>[n.status==1?(i(),a(_,{key:0},{default:o(()=>[...t[0]||(t[0]=[l("开启",-1)])]),_:1})):(i(),a(_,{key:1,type:"danger"},{default:o(()=>[...t[1]||(t[1]=[l("关闭",-1)])]),_:1}))]),_:1}),r(m,{label:"操作","min-width":"120",fixed:"right"},{default:o(({row:n})=>[c((i(),a(v,{type:"primary",link:"",onClick:z=>g(n.type)},{default:o(()=>[...t[2]||(t[2]=[l(" 设置 ",-1)])]),_:1},8,["onClick"])),[[b,["notice.sms_config/setConfig"]]])]),_:1})]),_:1},8,["data"])]),_:1})),[[w,f(e).loading]]),r(N,{ref_key:"editRef",ref:p,onSuccess:d},null,512)])}}});export{ht as default};
diff --git a/server/public/admin/assets/index-CXhDC_vr.js b/server/public/admin/assets/index-BMoWINmn.js
similarity index 88%
rename from server/public/admin/assets/index-CXhDC_vr.js
rename to server/public/admin/assets/index-BMoWINmn.js
index 068cb556..6c9531e7 100644
--- a/server/public/admin/assets/index-CXhDC_vr.js
+++ b/server/public/admin/assets/index-BMoWINmn.js
@@ -1 +1 @@
-import{D as M,B as G,C as H,P as Q,Q as W,i as X,J as Y,L as Z,M as ee,N as oe,q as te,g as ae}from"./element-plus-lurTijPg.js";import{_ as le}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{c as ne,i as ie}from"./index-DF1MLuL8.js";import{_ as me}from"./index.vue_vue_type_script_setup_true_lang-DxwD8bBq.js";import{w as E}from"./@vue/runtime-dom-DDAG46FW.js";import{a as x,b as re,c as se}from"./admin-BePGsDyN.js";import{r as pe}from"./role-Dtn5VKHZ.js";import{u as de}from"./useDictOptions-1MdjX0UF.js";import{u as ue}from"./usePaging-VsbTxSU0.js";import{_ as ce}from"./edit.vue_vue_type_script_setup_true_lang-_pT-BCQt.js";import{f as B,b as _e,as as fe,ak as m,I as D,a as e,aN as l,F as ve,ap as be,G as s,O as u,aP as v,J as $,H as k,n as P}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,a as we,q as ge,r as he,n as ye}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-CnpV87Ke.js";import"./picker-BPfrB1Pn.js";import"./index-BP_YKY_y.js";import"./index-mDy9ToMf.js";import"./index-_ERDssCQ.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BdGKYRpa.js";import"./index.vue_vue_type_script_setup_true_lang-SfFZFG0h.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./department-DPN8piBw.js";import"./post-Bjb4HNXL.js";const ke={class:"admin"},Ce={class:"mt-4"},Ve={class:"flex mt-4 justify-end"},Ee=B({name:"admin"}),Uo=B({...Ee,setup(xe){const b=ge(),r=he({account:"",name:"",role_id:""}),w=ye(!1),{pager:p,getLists:c,resetParams:F,resetPage:y}=ue({fetchFun:x,params:r}),N=n=>{re({id:n.id,avatar:n.avatar,account:n.account,name:n.name,role_id:n.role_id,job_id:n.job_id,dept_id:n.dept_id,disable:n.disable,multipoint_login:n.multipoint_login}).finally(()=>{c()})},U=async()=>{var n;w.value=!0,await P(),(n=b.value)==null||n.open("add")},z=async n=>{var o,_;w.value=!0,await P(),(o=b.value)==null||o.open("edit"),(_=b.value)==null||_.setFormData(n)},I=async n=>{await ie.confirm("确定要删除?"),await se({id:n}),c()},{optionsData:K}=de({role:{api:pe}});return _e(()=>{c()}),(n,o)=>{const _=H,g=G,C=W,L=Q,f=X,S=me,R=M,V=Y,T=ne,i=oe,j=te,A=ae,O=ee,q=le,h=fe("perms"),J=Z;return m(),D("div",ke,[e(V,{class:"!border-none",shadow:"never"},{default:l(()=>[e(R,{class:"mb-[-16px]",model:a(r),inline:""},{default:l(()=>[e(g,{class:"w-[280px]",label:"管理员账号"},{default:l(()=>[e(_,{modelValue:a(r).account,"onUpdate:modelValue":o[0]||(o[0]=t=>a(r).account=t),placeholder:"请输入管理员账号",clearable:"",onKeyup:E(a(y),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(g,{class:"w-[280px]",label:"管理员名称"},{default:l(()=>[e(_,{modelValue:a(r).name,"onUpdate:modelValue":o[1]||(o[1]=t=>a(r).name=t),placeholder:"请输入管理员名称",clearable:"",onKeyup:E(a(y),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(g,{class:"w-[280px]",label:"管理员角色"},{default:l(()=>[e(L,{modelValue:a(r).role_id,"onUpdate:modelValue":o[2]||(o[2]=t=>a(r).role_id=t)},{default:l(()=>[e(C,{label:"全部",value:""}),(m(!0),D(ve,null,be(a(K).role,(t,d)=>(m(),s(C,{key:d,label:t.name,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(g,null,{default:l(()=>[e(f,{type:"primary",onClick:a(y)},{default:l(()=>[...o[5]||(o[5]=[u("查询",-1)])]),_:1},8,["onClick"]),e(f,{onClick:a(F)},{default:l(()=>[...o[6]||(o[6]=[u("重置",-1)])]),_:1},8,["onClick"]),e(S,{class:"ml-2.5","fetch-fun":a(x),params:a(r),"page-size":a(p).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),v((m(),s(V,{class:"mt-4 !border-none",shadow:"never"},{default:l(()=>[v((m(),s(f,{type:"primary",onClick:U},{icon:l(()=>[e(T,{name:"el-icon-Plus"})]),default:l(()=>[o[7]||(o[7]=u(" 新增 ",-1))]),_:1})),[[h,["auth.admin/add"]]]),$("div",Ce,[e(O,{data:a(p).lists,size:"large"},{default:l(()=>[e(i,{label:"ID",prop:"id","min-width":"60"}),o[10]||(o[10]=u("> ",-1)),e(i,{label:"头像","min-width":"100"},{default:l(({row:t})=>[e(j,{size:50,src:t.avatar},null,8,["src"])]),_:1}),e(i,{label:"账号",prop:"account","min-width":"100"}),e(i,{label:"名称",prop:"name","min-width":"100"}),e(i,{label:"角色",prop:"role_name","min-width":"100","show-tooltip-when-overflow":""}),e(i,{label:"部门",prop:"dept_name","min-width":"100","show-tooltip-when-overflow":""}),e(i,{label:"创建时间",prop:"create_time","min-width":"180"}),e(i,{label:"最近登录时间",prop:"login_time","min-width":"180"}),e(i,{label:"最近登录IP",prop:"login_ip","min-width":"120"}),v((m(),s(i,{label:"状态","min-width":"100"},{default:l(({row:t})=>[t.root!=1?(m(),s(A,{key:0,modelValue:t.disable,"onUpdate:modelValue":d=>t.disable=d,"active-value":0,"inactive-value":1,onChange:d=>N(t)},null,8,["modelValue","onUpdate:modelValue","onChange"])):k("",!0)]),_:1})),[[h,["auth.admin/edit"]]]),e(i,{label:"操作",width:"120",fixed:"right"},{default:l(({row:t})=>[v((m(),s(f,{type:"primary",link:"",onClick:d=>z(t)},{default:l(()=>[...o[8]||(o[8]=[u(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[h,["auth.admin/edit"]]]),t.root!=1?v((m(),s(f,{key:0,type:"danger",link:"",onClick:d=>I(t.id)},{default:l(()=>[...o[9]||(o[9]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])),[[h,["auth.admin/delete"]]]):k("",!0)]),_:1})]),_:1},8,["data"])]),$("div",Ve,[e(q,{modelValue:a(p),"onUpdate:modelValue":o[3]||(o[3]=t=>we(p)?p.value=t:null),onChange:a(c)},null,8,["modelValue","onChange"])])]),_:1})),[[J,a(p).loading]]),a(w)?(m(),s(ce,{key:0,ref_key:"editRef",ref:b,onSuccess:a(c),onClose:o[4]||(o[4]=t=>w.value=!1)},null,8,["onSuccess"])):k("",!0)])}}});export{Uo as default};
+import{D as M,B as G,C as H,P as Q,Q as W,i as X,J as Y,L as Z,M as ee,N as oe,q as te,g as ae}from"./element-plus-lurTijPg.js";import{_ as le}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{c as ne,i as ie}from"./index-FimllnSe.js";import{_ as me}from"./index.vue_vue_type_script_setup_true_lang-XQSuharP.js";import{w as E}from"./@vue/runtime-dom-DDAG46FW.js";import{a as x,b as re,c as se}from"./admin-VufXCNVi.js";import{r as pe}from"./role-veuJ3wa-.js";import{u as de}from"./useDictOptions-DNCpX90t.js";import{u as ue}from"./usePaging-VsbTxSU0.js";import{_ as ce}from"./edit.vue_vue_type_script_setup_true_lang-CpGLBF-e.js";import{f as B,b as _e,as as fe,ak as m,I as D,a as e,aN as l,F as ve,ap as be,G as s,O as u,aP as v,J as $,H as k,n as P}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,a as we,q as ge,r as he,n as ye}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-DPukmZrj.js";import"./picker-cRsNDKaC.js";import"./index-C4BsY_iD.js";import"./index-BFPN4E1c.js";import"./index-DWt-lpdR.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-C3a0qLlq.js";import"./index.vue_vue_type_script_setup_true_lang-SfFZFG0h.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./department-Du2ww-GD.js";import"./post-Ceojzmmi.js";const ke={class:"admin"},Ce={class:"mt-4"},Ve={class:"flex mt-4 justify-end"},Ee=B({name:"admin"}),Uo=B({...Ee,setup(xe){const b=ge(),r=he({account:"",name:"",role_id:""}),w=ye(!1),{pager:p,getLists:c,resetParams:F,resetPage:y}=ue({fetchFun:x,params:r}),N=n=>{re({id:n.id,avatar:n.avatar,account:n.account,name:n.name,role_id:n.role_id,job_id:n.job_id,dept_id:n.dept_id,disable:n.disable,multipoint_login:n.multipoint_login}).finally(()=>{c()})},U=async()=>{var n;w.value=!0,await P(),(n=b.value)==null||n.open("add")},z=async n=>{var o,_;w.value=!0,await P(),(o=b.value)==null||o.open("edit"),(_=b.value)==null||_.setFormData(n)},I=async n=>{await ie.confirm("确定要删除?"),await se({id:n}),c()},{optionsData:K}=de({role:{api:pe}});return _e(()=>{c()}),(n,o)=>{const _=H,g=G,C=W,L=Q,f=X,S=me,R=M,V=Y,T=ne,i=oe,j=te,A=ae,O=ee,q=le,h=fe("perms"),J=Z;return m(),D("div",ke,[e(V,{class:"!border-none",shadow:"never"},{default:l(()=>[e(R,{class:"mb-[-16px]",model:a(r),inline:""},{default:l(()=>[e(g,{class:"w-[280px]",label:"管理员账号"},{default:l(()=>[e(_,{modelValue:a(r).account,"onUpdate:modelValue":o[0]||(o[0]=t=>a(r).account=t),placeholder:"请输入管理员账号",clearable:"",onKeyup:E(a(y),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(g,{class:"w-[280px]",label:"管理员名称"},{default:l(()=>[e(_,{modelValue:a(r).name,"onUpdate:modelValue":o[1]||(o[1]=t=>a(r).name=t),placeholder:"请输入管理员名称",clearable:"",onKeyup:E(a(y),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(g,{class:"w-[280px]",label:"管理员角色"},{default:l(()=>[e(L,{modelValue:a(r).role_id,"onUpdate:modelValue":o[2]||(o[2]=t=>a(r).role_id=t)},{default:l(()=>[e(C,{label:"全部",value:""}),(m(!0),D(ve,null,be(a(K).role,(t,d)=>(m(),s(C,{key:d,label:t.name,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(g,null,{default:l(()=>[e(f,{type:"primary",onClick:a(y)},{default:l(()=>[...o[5]||(o[5]=[u("查询",-1)])]),_:1},8,["onClick"]),e(f,{onClick:a(F)},{default:l(()=>[...o[6]||(o[6]=[u("重置",-1)])]),_:1},8,["onClick"]),e(S,{class:"ml-2.5","fetch-fun":a(x),params:a(r),"page-size":a(p).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),v((m(),s(V,{class:"mt-4 !border-none",shadow:"never"},{default:l(()=>[v((m(),s(f,{type:"primary",onClick:U},{icon:l(()=>[e(T,{name:"el-icon-Plus"})]),default:l(()=>[o[7]||(o[7]=u(" 新增 ",-1))]),_:1})),[[h,["auth.admin/add"]]]),$("div",Ce,[e(O,{data:a(p).lists,size:"large"},{default:l(()=>[e(i,{label:"ID",prop:"id","min-width":"60"}),o[10]||(o[10]=u("> ",-1)),e(i,{label:"头像","min-width":"100"},{default:l(({row:t})=>[e(j,{size:50,src:t.avatar},null,8,["src"])]),_:1}),e(i,{label:"账号",prop:"account","min-width":"100"}),e(i,{label:"名称",prop:"name","min-width":"100"}),e(i,{label:"角色",prop:"role_name","min-width":"100","show-tooltip-when-overflow":""}),e(i,{label:"部门",prop:"dept_name","min-width":"100","show-tooltip-when-overflow":""}),e(i,{label:"创建时间",prop:"create_time","min-width":"180"}),e(i,{label:"最近登录时间",prop:"login_time","min-width":"180"}),e(i,{label:"最近登录IP",prop:"login_ip","min-width":"120"}),v((m(),s(i,{label:"状态","min-width":"100"},{default:l(({row:t})=>[t.root!=1?(m(),s(A,{key:0,modelValue:t.disable,"onUpdate:modelValue":d=>t.disable=d,"active-value":0,"inactive-value":1,onChange:d=>N(t)},null,8,["modelValue","onUpdate:modelValue","onChange"])):k("",!0)]),_:1})),[[h,["auth.admin/edit"]]]),e(i,{label:"操作",width:"120",fixed:"right"},{default:l(({row:t})=>[v((m(),s(f,{type:"primary",link:"",onClick:d=>z(t)},{default:l(()=>[...o[8]||(o[8]=[u(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[h,["auth.admin/edit"]]]),t.root!=1?v((m(),s(f,{key:0,type:"danger",link:"",onClick:d=>I(t.id)},{default:l(()=>[...o[9]||(o[9]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])),[[h,["auth.admin/delete"]]]):k("",!0)]),_:1})]),_:1},8,["data"])]),$("div",Ve,[e(q,{modelValue:a(p),"onUpdate:modelValue":o[3]||(o[3]=t=>we(p)?p.value=t:null),onChange:a(c)},null,8,["modelValue","onChange"])])]),_:1})),[[J,a(p).loading]]),a(w)?(m(),s(ce,{key:0,ref_key:"editRef",ref:b,onSuccess:a(c),onClose:o[4]||(o[4]=t=>w.value=!1)},null,8,["onSuccess"])):k("",!0)])}}});export{Uo as default};
diff --git a/server/public/admin/assets/index-D05ndzDo.js b/server/public/admin/assets/index-Ba1m6JUJ.js
similarity index 94%
rename from server/public/admin/assets/index-D05ndzDo.js
rename to server/public/admin/assets/index-Ba1m6JUJ.js
index 5f8f7be1..731c968e 100644
--- a/server/public/admin/assets/index-D05ndzDo.js
+++ b/server/public/admin/assets/index-Ba1m6JUJ.js
@@ -1 +1 @@
-import{D as N,B as q,C as D,P as I,Q as K,i as R,J as $,M as A,N as J,q as M,L as O}from"./element-plus-lurTijPg.js";import{_ as j}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{_ as G}from"./index.vue_vue_type_script_setup_true_lang-DxwD8bBq.js";import{_ as Q}from"./index.vue_vue_type_script_setup_true_lang-BL8k8rcl.js";import{w as S}from"./@vue/runtime-dom-DDAG46FW.js";import{b as g}from"./consumer-DxyXa6Ho.js";import{C as H,k as W}from"./index-DF1MLuL8.js";import{u as X}from"./usePaging-VsbTxSU0.js";import{f as k,ac as Y,ar as Z,as as ee,ak as m,I as v,a as e,aN as r,F as te,ap as oe,G as _,O as u,aP as w,J as ae}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,a as re,r as le}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-CnpV87Ke.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ne={class:"flex justify-end mt-4"},ie=k({name:"consumerLists"}),Ze=k({...ie,setup(me){const l=le({keyword:"",channel:"",create_time_start:"",create_time_end:""}),{pager:i,getLists:p,resetPage:c,resetParams:C}=X({fetchFun:g,params:l});return Y(()=>{p()}),p(),(se,o)=>{const y=D,s=q,V=Q,h=K,E=I,d=R,x=G,T=N,f=$,P=M,n=J,B=Z("router-link"),L=A,U=j,z=ee("perms"),F=O;return m(),v("div",null,[e(f,{class:"!border-none",shadow:"never"},{default:r(()=>[e(T,{ref:"formRef",class:"mb-[-16px]",model:t(l),inline:!0},{default:r(()=>[e(s,{class:"w-[280px]",label:"用户信息"},{default:r(()=>[e(y,{modelValue:t(l).keyword,"onUpdate:modelValue":o[0]||(o[0]=a=>t(l).keyword=a),placeholder:"账号/昵称/手机号码",clearable:"",onKeyup:S(t(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(s,{label:"注册时间"},{default:r(()=>[e(V,{startTime:t(l).create_time_start,"onUpdate:startTime":o[1]||(o[1]=a=>t(l).create_time_start=a),endTime:t(l).create_time_end,"onUpdate:endTime":o[2]||(o[2]=a=>t(l).create_time_end=a)},null,8,["startTime","endTime"])]),_:1}),e(s,{class:"w-[280px]",label:"注册来源"},{default:r(()=>[e(E,{modelValue:t(l).channel,"onUpdate:modelValue":o[3]||(o[3]=a=>t(l).channel=a)},{default:r(()=>[(m(!0),v(te,null,oe(t(H),(a,b)=>(m(),_(h,{key:b,label:a,value:b},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(s,null,{default:r(()=>[e(d,{type:"primary",onClick:t(c)},{default:r(()=>[...o[5]||(o[5]=[u("查询",-1)])]),_:1},8,["onClick"]),e(d,{onClick:t(C)},{default:r(()=>[...o[6]||(o[6]=[u("重置",-1)])]),_:1},8,["onClick"]),e(x,{class:"ml-2.5","fetch-fun":t(g),params:t(l),"page-size":t(i).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),e(f,{class:"!border-none mt-4",shadow:"never"},{default:r(()=>[w((m(),_(L,{size:"large",data:t(i).lists},{default:r(()=>[e(n,{label:"头像","min-width":"100"},{default:r(({row:a})=>[e(P,{src:a.avatar,size:50},null,8,["src"])]),_:1}),e(n,{label:"昵称",prop:"nickname","min-width":"100"}),e(n,{label:"账号",prop:"account","min-width":"120"}),e(n,{label:"手机号码",prop:"mobile","min-width":"100"}),e(n,{label:"注册来源",prop:"channel","min-width":"100"}),e(n,{label:"注册时间",prop:"create_time","min-width":"120"}),e(n,{label:"操作",width:"120",fixed:"right"},{default:r(({row:a})=>[w((m(),_(d,{type:"primary",link:""},{default:r(()=>[e(B,{to:{path:t(W)("user.user/detail"),query:{id:a.id}}},{default:r(()=>[...o[7]||(o[7]=[u(" 详情 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[z,["user.user/detail"]]])]),_:1})]),_:1},8,["data"])),[[F,t(i).loading]]),ae("div",ne,[e(U,{modelValue:t(i),"onUpdate:modelValue":o[4]||(o[4]=a=>re(i)?i.value=a:null),onChange:t(p)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{Ze as default};
+import{D as N,B as q,C as D,P as I,Q as K,i as R,J as $,M as A,N as J,q as M,L as O}from"./element-plus-lurTijPg.js";import{_ as j}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{_ as G}from"./index.vue_vue_type_script_setup_true_lang-XQSuharP.js";import{_ as Q}from"./index.vue_vue_type_script_setup_true_lang-BL8k8rcl.js";import{w as S}from"./@vue/runtime-dom-DDAG46FW.js";import{b as g}from"./consumer-CkVBrlua.js";import{C as H,k as W}from"./index-FimllnSe.js";import{u as X}from"./usePaging-VsbTxSU0.js";import{f as k,ac as Y,ar as Z,as as ee,ak as m,I as v,a as e,aN as r,F as te,ap as oe,G as _,O as u,aP as w,J as ae}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,a as re,r as le}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DPukmZrj.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ne={class:"flex justify-end mt-4"},ie=k({name:"consumerLists"}),Ze=k({...ie,setup(me){const l=le({keyword:"",channel:"",create_time_start:"",create_time_end:""}),{pager:i,getLists:p,resetPage:c,resetParams:C}=X({fetchFun:g,params:l});return Y(()=>{p()}),p(),(se,o)=>{const y=D,s=q,V=Q,h=K,E=I,d=R,x=G,T=N,f=$,P=M,n=J,B=Z("router-link"),L=A,U=j,z=ee("perms"),F=O;return m(),v("div",null,[e(f,{class:"!border-none",shadow:"never"},{default:r(()=>[e(T,{ref:"formRef",class:"mb-[-16px]",model:t(l),inline:!0},{default:r(()=>[e(s,{class:"w-[280px]",label:"用户信息"},{default:r(()=>[e(y,{modelValue:t(l).keyword,"onUpdate:modelValue":o[0]||(o[0]=a=>t(l).keyword=a),placeholder:"账号/昵称/手机号码",clearable:"",onKeyup:S(t(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(s,{label:"注册时间"},{default:r(()=>[e(V,{startTime:t(l).create_time_start,"onUpdate:startTime":o[1]||(o[1]=a=>t(l).create_time_start=a),endTime:t(l).create_time_end,"onUpdate:endTime":o[2]||(o[2]=a=>t(l).create_time_end=a)},null,8,["startTime","endTime"])]),_:1}),e(s,{class:"w-[280px]",label:"注册来源"},{default:r(()=>[e(E,{modelValue:t(l).channel,"onUpdate:modelValue":o[3]||(o[3]=a=>t(l).channel=a)},{default:r(()=>[(m(!0),v(te,null,oe(t(H),(a,b)=>(m(),_(h,{key:b,label:a,value:b},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(s,null,{default:r(()=>[e(d,{type:"primary",onClick:t(c)},{default:r(()=>[...o[5]||(o[5]=[u("查询",-1)])]),_:1},8,["onClick"]),e(d,{onClick:t(C)},{default:r(()=>[...o[6]||(o[6]=[u("重置",-1)])]),_:1},8,["onClick"]),e(x,{class:"ml-2.5","fetch-fun":t(g),params:t(l),"page-size":t(i).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),e(f,{class:"!border-none mt-4",shadow:"never"},{default:r(()=>[w((m(),_(L,{size:"large",data:t(i).lists},{default:r(()=>[e(n,{label:"头像","min-width":"100"},{default:r(({row:a})=>[e(P,{src:a.avatar,size:50},null,8,["src"])]),_:1}),e(n,{label:"昵称",prop:"nickname","min-width":"100"}),e(n,{label:"账号",prop:"account","min-width":"120"}),e(n,{label:"手机号码",prop:"mobile","min-width":"100"}),e(n,{label:"注册来源",prop:"channel","min-width":"100"}),e(n,{label:"注册时间",prop:"create_time","min-width":"120"}),e(n,{label:"操作",width:"120",fixed:"right"},{default:r(({row:a})=>[w((m(),_(d,{type:"primary",link:""},{default:r(()=>[e(B,{to:{path:t(W)("user.user/detail"),query:{id:a.id}}},{default:r(()=>[...o[7]||(o[7]=[u(" 详情 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[z,["user.user/detail"]]])]),_:1})]),_:1},8,["data"])),[[F,t(i).loading]]),ae("div",ne,[e(U,{modelValue:t(i),"onUpdate:modelValue":o[4]||(o[4]=a=>re(i)?i.value=a:null),onChange:t(p)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{Ze as default};
diff --git a/server/public/admin/assets/index-C299DN5n.js b/server/public/admin/assets/index-BbKJVU7I.js
similarity index 96%
rename from server/public/admin/assets/index-C299DN5n.js
rename to server/public/admin/assets/index-BbKJVU7I.js
index 7bb91791..7a830e3a 100644
--- a/server/public/admin/assets/index-C299DN5n.js
+++ b/server/public/admin/assets/index-BbKJVU7I.js
@@ -1 +1 @@
-import{D as R,B as q,C as J,i as K,J as G,M as H,N as Q,g as W,L as X,U as Y,V as Z,E as h,a as ee}from"./element-plus-lurTijPg.js";import{w as te}from"./@vue/runtime-dom-DDAG46FW.js";import{e as ae,f as D,g as oe,h as le}from"./asset-DfzLQAAa.js";import{f as se,b as ne,ak as B,I as ie,a as t,aN as o,O as p,J as A,aP as re,G as pe}from"./@vue/runtime-core-C6bnekPw.js";import{n as d,r as w}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DF1MLuL8.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const de={class:"asset-user-container"},ue={class:"mb-4"},me={class:"mt-4 flex justify-end"},Ye=se({__name:"index",setup(ce){const v=d(!1),C=d([]),k=d(0),m=w({phone:""}),n=w({page_no:1,page_size:15}),u=d(!1),g=d(""),y=d(!1),b=d(),s=w({id:"",phone:"",password:"",status:1}),L={phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]},i=async()=>{v.value=!0;try{const l={...n,...m},e=await ae(l);C.value=e.lists,k.value=e.count}catch(l){console.error(l)}finally{v.value=!1}},E=()=>{n.page_no=1,i()},N=()=>{m.phone="",n.page_no=1,i()},S=async l=>{try{await D({id:l.id,status:l.status}),h.success(l.status===1?"已启用":"已禁用")}catch(e){l.status=l.status===1?0:1,console.error(e)}},j=()=>{g.value="新增账号",Object.assign(s,{id:"",phone:"",password:"",status:1}),u.value=!0},M=l=>{g.value="编辑账号",Object.assign(s,{id:l.id,phone:l.phone,password:"",status:l.status}),u.value=!0},P=async l=>{try{await ee.confirm("确定要删除该账号及其关联资源吗?","提示",{type:"warning"}),await oe({id:l.id}),h.success("删除成功"),i()}catch{}},T=async()=>{b.value&&await b.value.validate(async l=>{if(l){y.value=!0;try{s.id?await D(s):await le(s),h.success("操作成功"),u.value=!1,i()}catch(e){console.error(e)}finally{y.value=!1}}})};return ne(()=>{i()}),(l,e)=>{const V=J,c=q,r=K,x=R,U=G,f=Q,z=W,$=H,F=Y,I=Z,O=X;return B(),ie("div",de,[t(U,{class:"!border-none",shadow:"never"},{default:o(()=>[t(x,{class:"ls-form",model:m,inline:""},{default:o(()=>[t(c,{class:"w-[280px]",label:"手机号"},{default:o(()=>[t(V,{placeholder:"请输入手机号",modelValue:m.phone,"onUpdate:modelValue":e[0]||(e[0]=a=>m.phone=a),clearable:"",onKeyup:te(E,["enter"])},null,8,["modelValue"])]),_:1}),t(c,null,{default:o(()=>[t(r,{type:"primary",onClick:E},{default:o(()=>[...e[8]||(e[8]=[p("查询",-1)])]),_:1}),t(r,{onClick:N},{default:o(()=>[...e[9]||(e[9]=[p("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(U,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[A("div",ue,[t(r,{type:"primary",onClick:j},{default:o(()=>[...e[10]||(e[10]=[p("新增账号",-1)])]),_:1})]),re((B(),pe($,{data:C.value},{default:o(()=>[t(f,{prop:"phone",label:"手机号"}),t(f,{prop:"create_time",label:"创建时间",width:"180"}),t(f,{prop:"status",label:"状态",width:"100"},{default:o(({row:a})=>[t(z,{modelValue:a.status,"onUpdate:modelValue":_=>a.status=_,"active-value":1,"inactive-value":0,"active-text":"正常","inactive-text":"禁用","inline-prompt":"",onChange:_=>S(a)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),t(f,{label:"操作",width:"200",fixed:"right"},{default:o(({row:a})=>[t(r,{type:"primary",link:"",onClick:_=>M(a)},{default:o(()=>[...e[11]||(e[11]=[p("编辑",-1)])]),_:1},8,["onClick"]),t(r,{type:"danger",link:"",onClick:_=>P(a)},{default:o(()=>[...e[12]||(e[12]=[p("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[O,v.value]]),A("div",me,[t(F,{"current-page":n.page_no,"onUpdate:currentPage":e[1]||(e[1]=a=>n.page_no=a),"page-size":n.page_size,"onUpdate:pageSize":e[2]||(e[2]=a=>n.page_size=a),total:k.value,layout:"total, sizes, prev, pager, next, jumper",onSizeChange:i,onCurrentChange:i},null,8,["current-page","page-size","total"])])]),_:1}),t(I,{modelValue:u.value,"onUpdate:modelValue":e[7]||(e[7]=a=>u.value=a),title:g.value,width:"500px","destroy-on-close":""},{footer:o(()=>[t(r,{onClick:e[6]||(e[6]=a=>u.value=!1)},{default:o(()=>[...e[13]||(e[13]=[p("取消",-1)])]),_:1}),t(r,{type:"primary",onClick:T,loading:y.value},{default:o(()=>[...e[14]||(e[14]=[p("确定",-1)])]),_:1},8,["loading"])]),default:o(()=>[t(x,{ref_key:"formRef",ref:b,model:s,rules:L,"label-width":"80px"},{default:o(()=>[t(c,{label:"手机号",prop:"phone"},{default:o(()=>[t(V,{modelValue:s.phone,"onUpdate:modelValue":e[3]||(e[3]=a=>s.phone=a),placeholder:"请输入手机号(作为登录账号)"},null,8,["modelValue"])]),_:1}),t(c,{label:"密码",prop:"password"},{default:o(()=>[t(V,{modelValue:s.password,"onUpdate:modelValue":e[4]||(e[4]=a=>s.password=a),placeholder:"为空则默认为 123456","show-password":""},null,8,["modelValue"])]),_:1}),t(c,{label:"状态",prop:"status"},{default:o(()=>[t(z,{modelValue:s.status,"onUpdate:modelValue":e[5]||(e[5]=a=>s.status=a),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}});export{Ye as default};
+import{D as R,B as q,C as J,i as K,J as G,M as H,N as Q,g as W,L as X,U as Y,V as Z,E as h,a as ee}from"./element-plus-lurTijPg.js";import{w as te}from"./@vue/runtime-dom-DDAG46FW.js";import{e as ae,f as D,g as oe,h as le}from"./asset-BdLbu-RH.js";import{f as se,b as ne,ak as B,I as ie,a as t,aN as o,O as p,J as A,aP as re,G as pe}from"./@vue/runtime-core-C6bnekPw.js";import{n as d,r as w}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-FimllnSe.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const de={class:"asset-user-container"},ue={class:"mb-4"},me={class:"mt-4 flex justify-end"},Ye=se({__name:"index",setup(ce){const v=d(!1),C=d([]),k=d(0),m=w({phone:""}),n=w({page_no:1,page_size:15}),u=d(!1),g=d(""),y=d(!1),b=d(),s=w({id:"",phone:"",password:"",status:1}),L={phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]},i=async()=>{v.value=!0;try{const l={...n,...m},e=await ae(l);C.value=e.lists,k.value=e.count}catch(l){console.error(l)}finally{v.value=!1}},E=()=>{n.page_no=1,i()},N=()=>{m.phone="",n.page_no=1,i()},S=async l=>{try{await D({id:l.id,status:l.status}),h.success(l.status===1?"已启用":"已禁用")}catch(e){l.status=l.status===1?0:1,console.error(e)}},j=()=>{g.value="新增账号",Object.assign(s,{id:"",phone:"",password:"",status:1}),u.value=!0},M=l=>{g.value="编辑账号",Object.assign(s,{id:l.id,phone:l.phone,password:"",status:l.status}),u.value=!0},P=async l=>{try{await ee.confirm("确定要删除该账号及其关联资源吗?","提示",{type:"warning"}),await oe({id:l.id}),h.success("删除成功"),i()}catch{}},T=async()=>{b.value&&await b.value.validate(async l=>{if(l){y.value=!0;try{s.id?await D(s):await le(s),h.success("操作成功"),u.value=!1,i()}catch(e){console.error(e)}finally{y.value=!1}}})};return ne(()=>{i()}),(l,e)=>{const V=J,c=q,r=K,x=R,U=G,f=Q,z=W,$=H,F=Y,I=Z,O=X;return B(),ie("div",de,[t(U,{class:"!border-none",shadow:"never"},{default:o(()=>[t(x,{class:"ls-form",model:m,inline:""},{default:o(()=>[t(c,{class:"w-[280px]",label:"手机号"},{default:o(()=>[t(V,{placeholder:"请输入手机号",modelValue:m.phone,"onUpdate:modelValue":e[0]||(e[0]=a=>m.phone=a),clearable:"",onKeyup:te(E,["enter"])},null,8,["modelValue"])]),_:1}),t(c,null,{default:o(()=>[t(r,{type:"primary",onClick:E},{default:o(()=>[...e[8]||(e[8]=[p("查询",-1)])]),_:1}),t(r,{onClick:N},{default:o(()=>[...e[9]||(e[9]=[p("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(U,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[A("div",ue,[t(r,{type:"primary",onClick:j},{default:o(()=>[...e[10]||(e[10]=[p("新增账号",-1)])]),_:1})]),re((B(),pe($,{data:C.value},{default:o(()=>[t(f,{prop:"phone",label:"手机号"}),t(f,{prop:"create_time",label:"创建时间",width:"180"}),t(f,{prop:"status",label:"状态",width:"100"},{default:o(({row:a})=>[t(z,{modelValue:a.status,"onUpdate:modelValue":_=>a.status=_,"active-value":1,"inactive-value":0,"active-text":"正常","inactive-text":"禁用","inline-prompt":"",onChange:_=>S(a)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),t(f,{label:"操作",width:"200",fixed:"right"},{default:o(({row:a})=>[t(r,{type:"primary",link:"",onClick:_=>M(a)},{default:o(()=>[...e[11]||(e[11]=[p("编辑",-1)])]),_:1},8,["onClick"]),t(r,{type:"danger",link:"",onClick:_=>P(a)},{default:o(()=>[...e[12]||(e[12]=[p("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[O,v.value]]),A("div",me,[t(F,{"current-page":n.page_no,"onUpdate:currentPage":e[1]||(e[1]=a=>n.page_no=a),"page-size":n.page_size,"onUpdate:pageSize":e[2]||(e[2]=a=>n.page_size=a),total:k.value,layout:"total, sizes, prev, pager, next, jumper",onSizeChange:i,onCurrentChange:i},null,8,["current-page","page-size","total"])])]),_:1}),t(I,{modelValue:u.value,"onUpdate:modelValue":e[7]||(e[7]=a=>u.value=a),title:g.value,width:"500px","destroy-on-close":""},{footer:o(()=>[t(r,{onClick:e[6]||(e[6]=a=>u.value=!1)},{default:o(()=>[...e[13]||(e[13]=[p("取消",-1)])]),_:1}),t(r,{type:"primary",onClick:T,loading:y.value},{default:o(()=>[...e[14]||(e[14]=[p("确定",-1)])]),_:1},8,["loading"])]),default:o(()=>[t(x,{ref_key:"formRef",ref:b,model:s,rules:L,"label-width":"80px"},{default:o(()=>[t(c,{label:"手机号",prop:"phone"},{default:o(()=>[t(V,{modelValue:s.phone,"onUpdate:modelValue":e[3]||(e[3]=a=>s.phone=a),placeholder:"请输入手机号(作为登录账号)"},null,8,["modelValue"])]),_:1}),t(c,{label:"密码",prop:"password"},{default:o(()=>[t(V,{modelValue:s.password,"onUpdate:modelValue":e[4]||(e[4]=a=>s.password=a),placeholder:"为空则默认为 123456","show-password":""},null,8,["modelValue"])]),_:1}),t(c,{label:"状态",prop:"status"},{default:o(()=>[t(z,{modelValue:s.status,"onUpdate:modelValue":e[5]||(e[5]=a=>s.status=a),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}});export{Ye as default};
diff --git a/server/public/admin/assets/index-D__dcyOP.js b/server/public/admin/assets/index-Bbr2Ylnn.js
similarity index 86%
rename from server/public/admin/assets/index-D__dcyOP.js
rename to server/public/admin/assets/index-Bbr2Ylnn.js
index f3a6febb..eee69d4c 100644
--- a/server/public/admin/assets/index-D__dcyOP.js
+++ b/server/public/admin/assets/index-Bbr2Ylnn.js
@@ -1 +1 @@
-import{K as k,J as E,M as x,N,v as R,i as B}from"./element-plus-lurTijPg.js";import{a as V}from"./pay-C4WW4SoI.js";import{u as T}from"./getExposeType-MUpmx9zy.js";import d from"./edit-Br5PAwEH.js";import{f as D,as as H,ak as n,I,a as t,aN as e,J,aP as L,G as f,O as P,H as $}from"./@vue/runtime-core-C6bnekPw.js";import{y as _,n as u,q}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DF1MLuL8.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-BPfrB1Pn.js";import"./index-CnpV87Ke.js";import"./index-BP_YKY_y.js";import"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import"./index-mDy9ToMf.js";import"./index-_ERDssCQ.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BdGKYRpa.js";import"./index.vue_vue_type_script_setup_true_lang-SfFZFG0h.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./useLockFn-X4Qce5KO.js";const Ot=D({__name:"index",setup(A){const p=T(),s=u([]),w=q(),l=u(!1),m=async()=>{const{lists:r}=await V();s.value=r},y=async r=>{var o;(o=p.value)==null||o.openHandle(r.id,!1)};return m(),(r,o)=>{const h=k,c=E,i=N,v=R,b=B,g=x,C=H("perms");return n(),I("div",null,[t(c,{class:"!border-none",shadow:"never"},{default:e(()=>[t(h,{type:"warning",title:"温馨提示:设置系统支持的支付方式",closable:!1,"show-icon":""})]),_:1}),t(c,{shadow:"never",class:"mt-4 !border-none"},{default:e(()=>[J("div",null,[t(g,{data:_(s)},{default:e(()=>[t(i,{prop:"pay_way_name",label:"支付方式","min-width":"150"}),t(i,{prop:"name",label:"显示名称","min-width":"150"}),t(i,{label:"图标","min-width":"150"},{default:e(({row:a})=>[t(v,{src:a.icon,alt:"图标",style:{width:"34px",height:"34px"}},null,8,["src"])]),_:1}),t(i,{prop:"sort",label:"排序","min-width":"150"}),t(i,{label:"操作","min-width":"80",fixed:"right"},{default:e(({row:a})=>[L((n(),f(b,{link:"",type:"primary",onClick:G=>y(a)},{default:e(()=>[...o[1]||(o[1]=[P(" 配置 ",-1)])]),_:1},8,["onClick"])),[[C,["setting.pay.pay_config/setConfig"]]])]),_:1})]),_:1},8,["data"])])]),_:1}),_(l)?(n(),f(d,{key:0,ref_key:"editRef",ref:w,onSuccess:m,onClose:o[0]||(o[0]=a=>l.value=!1)},null,512)):$("",!0),t(d,{ref_key:"editNewRef",ref:p,onRefresh:m},null,512)])}}});export{Ot as default};
+import{K as k,J as E,M as x,N,v as R,i as B}from"./element-plus-lurTijPg.js";import{a as V}from"./pay-HtD20MXd.js";import{u as T}from"./getExposeType-MUpmx9zy.js";import d from"./edit-BU9JEFRn.js";import{f as D,as as H,ak as n,I,a as t,aN as e,J,aP as L,G as f,O as P,H as $}from"./@vue/runtime-core-C6bnekPw.js";import{y as _,n as u,q}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-FimllnSe.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-cRsNDKaC.js";import"./index-DPukmZrj.js";import"./index-C4BsY_iD.js";import"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import"./index-BFPN4E1c.js";import"./index-DWt-lpdR.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-C3a0qLlq.js";import"./index.vue_vue_type_script_setup_true_lang-SfFZFG0h.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./useLockFn-X4Qce5KO.js";const Ot=D({__name:"index",setup(A){const p=T(),s=u([]),w=q(),l=u(!1),m=async()=>{const{lists:r}=await V();s.value=r},y=async r=>{var o;(o=p.value)==null||o.openHandle(r.id,!1)};return m(),(r,o)=>{const h=k,c=E,i=N,v=R,b=B,g=x,C=H("perms");return n(),I("div",null,[t(c,{class:"!border-none",shadow:"never"},{default:e(()=>[t(h,{type:"warning",title:"温馨提示:设置系统支持的支付方式",closable:!1,"show-icon":""})]),_:1}),t(c,{shadow:"never",class:"mt-4 !border-none"},{default:e(()=>[J("div",null,[t(g,{data:_(s)},{default:e(()=>[t(i,{prop:"pay_way_name",label:"支付方式","min-width":"150"}),t(i,{prop:"name",label:"显示名称","min-width":"150"}),t(i,{label:"图标","min-width":"150"},{default:e(({row:a})=>[t(v,{src:a.icon,alt:"图标",style:{width:"34px",height:"34px"}},null,8,["src"])]),_:1}),t(i,{prop:"sort",label:"排序","min-width":"150"}),t(i,{label:"操作","min-width":"80",fixed:"right"},{default:e(({row:a})=>[L((n(),f(b,{link:"",type:"primary",onClick:G=>y(a)},{default:e(()=>[...o[1]||(o[1]=[P(" 配置 ",-1)])]),_:1},8,["onClick"])),[[C,["setting.pay.pay_config/setConfig"]]])]),_:1})]),_:1},8,["data"])])]),_:1}),_(l)?(n(),f(d,{key:0,ref_key:"editRef",ref:w,onSuccess:m,onClose:o[0]||(o[0]=a=>l.value=!1)},null,512)):$("",!0),t(d,{ref_key:"editNewRef",ref:p,onRefresh:m},null,512)])}}});export{Ot as default};
diff --git a/server/public/admin/assets/index-C73T9BWP.js b/server/public/admin/assets/index-BebfKZQA.js
similarity index 96%
rename from server/public/admin/assets/index-C73T9BWP.js
rename to server/public/admin/assets/index-BebfKZQA.js
index b1a1b07f..1d6f3af3 100644
--- a/server/public/admin/assets/index-C73T9BWP.js
+++ b/server/public/admin/assets/index-BebfKZQA.js
@@ -1 +1 @@
-import{D as T,B as $,C as j,P as q,Q as A,i as J,J as z,M as G,N as H,g as M,L as Q}from"./element-plus-lurTijPg.js";import{_ as W}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{k as C,c as X,h as Y,i as Z}from"./index-DF1MLuL8.js";import{w as ee}from"./@vue/runtime-dom-DDAG46FW.js";import{k as te,l as ae,m as le,j as oe}from"./article-DRL9P_tT.js";import{u as ie}from"./useDictOptions-1MdjX0UF.js";import{u as ne}from"./usePaging-VsbTxSU0.js";import{f as D,ac as re,ar as se,as as me,ak as r,I as E,a as e,aN as a,F as pe,ap as de,G as m,O as u,J as x,aP as _,H as ce}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,a as ue,r as _e}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const fe={class:"article-lists"},we={class:"flex justify-end mt-4"},be=D({name:"articleLists"}),nt=D({...be,setup(ve){const n=_e({title:"",cid:"",is_show:""}),{pager:p,getLists:s,resetPage:h,resetParams:P}=ne({fetchFun:te,params:n}),{optionsData:B}=ie({article_cate:{api:oe}}),L=async(f,l)=>{try{await ae({id:l,is_show:f}),s()}catch{s()}},N=async f=>{await Z.confirm("确定要删除?"),await le({id:f}),s()};return re(()=>{s()}),s(),(f,l)=>{const g=j,w=$,d=A,k=q,c=J,U=T,V=z,F=X,y=se("router-link"),i=H,S=Y,I=M,K=G,O=W,b=me("perms"),R=Q;return r(),E("div",fe,[e(V,{class:"!border-none",shadow:"never"},{default:a(()=>[e(U,{ref:"formRef",class:"mb-[-16px]",model:o(n),inline:!0},{default:a(()=>[e(w,{class:"w-[280px]",label:"文章标题"},{default:a(()=>[e(g,{modelValue:o(n).title,"onUpdate:modelValue":l[0]||(l[0]=t=>o(n).title=t),placeholder:"输入文章标题",clearable:"",onKeyup:ee(o(h),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(w,{class:"w-[280px]",label:"栏目名称"},{default:a(()=>[e(k,{modelValue:o(n).cid,"onUpdate:modelValue":l[1]||(l[1]=t=>o(n).cid=t)},{default:a(()=>[e(d,{label:"全部",value:""}),(r(!0),E(pe,null,de(o(B).article_cate,t=>(r(),m(d,{key:t.id,label:t.name,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(w,{class:"w-[280px]",label:"文章状态"},{default:a(()=>[e(k,{modelValue:o(n).is_show,"onUpdate:modelValue":l[2]||(l[2]=t=>o(n).is_show=t)},{default:a(()=>[e(d,{label:"全部",value:""}),e(d,{label:"显示",value:1}),e(d,{label:"隐藏",value:0})]),_:1},8,["modelValue"])]),_:1}),e(w,null,{default:a(()=>[e(c,{type:"primary",onClick:o(h)},{default:a(()=>[...l[4]||(l[4]=[u("查询",-1)])]),_:1},8,["onClick"]),e(c,{onClick:o(P)},{default:a(()=>[...l[5]||(l[5]=[u("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),e(V,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[x("div",null,[_((r(),m(y,{to:{path:o(C)("article.article/add:edit")}},{default:a(()=>[e(c,{type:"primary",class:"mb-4"},{icon:a(()=>[e(F,{name:"el-icon-Plus"})]),default:a(()=>[l[6]||(l[6]=u(" 发布文章 ",-1))]),_:1})]),_:1},8,["to"])),[[b,["article.article/add","article.article/add:edit"]]])]),_((r(),m(K,{size:"large",data:o(p).lists},{default:a(()=>[e(i,{label:"ID",prop:"id","min-width":"80"}),e(i,{label:"封面","min-width":"100"},{default:a(({row:t})=>[t.image?(r(),m(S,{key:0,src:t.image,width:60,height:45,"preview-src-list":[t.image],"preview-teleported":"",fit:"contain"},null,8,["src","preview-src-list"])):ce("",!0)]),_:1}),e(i,{label:"标题",prop:"title","min-width":"160","show-tooltip-when-overflow":""}),e(i,{label:"栏目",prop:"cate_name","min-width":"100"}),e(i,{label:"作者",prop:"author","min-width":"120"}),e(i,{label:"浏览量",prop:"click","min-width":"100"}),e(i,{label:"状态","min-width":"100"},{default:a(({row:t})=>[_(e(I,{modelValue:t.is_show,"onUpdate:modelValue":v=>t.is_show=v,"active-value":1,"inactive-value":0,onChange:v=>L(v,t.id)},null,8,["modelValue","onUpdate:modelValue","onChange"]),[[b,["article.article/updateStatus"]]])]),_:1}),e(i,{label:"排序",prop:"sort","min-width":"100"}),e(i,{label:"发布时间",prop:"create_time","min-width":"120"}),e(i,{label:"操作",width:"120",fixed:"right"},{default:a(({row:t})=>[_((r(),m(c,{type:"primary",link:""},{default:a(()=>[e(y,{to:{path:o(C)("article.article/add:edit"),query:{id:t.id}}},{default:a(()=>[...l[7]||(l[7]=[u(" 编辑 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[b,["article.article/edit","article.article/add:edit"]]]),_((r(),m(c,{type:"danger",link:"",onClick:v=>N(t.id)},{default:a(()=>[...l[8]||(l[8]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])),[[b,["article.article/delete"]]])]),_:1})]),_:1},8,["data"])),[[R,o(p).loading]]),x("div",we,[e(O,{modelValue:o(p),"onUpdate:modelValue":l[3]||(l[3]=t=>ue(p)?p.value=t:null),onChange:o(s)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{nt as default};
+import{D as T,B as $,C as j,P as q,Q as A,i as J,J as z,M as G,N as H,g as M,L as Q}from"./element-plus-lurTijPg.js";import{_ as W}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{k as C,c as X,h as Y,i as Z}from"./index-FimllnSe.js";import{w as ee}from"./@vue/runtime-dom-DDAG46FW.js";import{k as te,l as ae,m as le,j as oe}from"./article-Bz45cESD.js";import{u as ie}from"./useDictOptions-DNCpX90t.js";import{u as ne}from"./usePaging-VsbTxSU0.js";import{f as D,ac as re,ar as se,as as me,ak as r,I as E,a as e,aN as a,F as pe,ap as de,G as m,O as u,J as x,aP as _,H as ce}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,a as ue,r as _e}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const fe={class:"article-lists"},we={class:"flex justify-end mt-4"},be=D({name:"articleLists"}),nt=D({...be,setup(ve){const n=_e({title:"",cid:"",is_show:""}),{pager:p,getLists:s,resetPage:h,resetParams:P}=ne({fetchFun:te,params:n}),{optionsData:B}=ie({article_cate:{api:oe}}),L=async(f,l)=>{try{await ae({id:l,is_show:f}),s()}catch{s()}},N=async f=>{await Z.confirm("确定要删除?"),await le({id:f}),s()};return re(()=>{s()}),s(),(f,l)=>{const g=j,w=$,d=A,k=q,c=J,U=T,V=z,F=X,y=se("router-link"),i=H,S=Y,I=M,K=G,O=W,b=me("perms"),R=Q;return r(),E("div",fe,[e(V,{class:"!border-none",shadow:"never"},{default:a(()=>[e(U,{ref:"formRef",class:"mb-[-16px]",model:o(n),inline:!0},{default:a(()=>[e(w,{class:"w-[280px]",label:"文章标题"},{default:a(()=>[e(g,{modelValue:o(n).title,"onUpdate:modelValue":l[0]||(l[0]=t=>o(n).title=t),placeholder:"输入文章标题",clearable:"",onKeyup:ee(o(h),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(w,{class:"w-[280px]",label:"栏目名称"},{default:a(()=>[e(k,{modelValue:o(n).cid,"onUpdate:modelValue":l[1]||(l[1]=t=>o(n).cid=t)},{default:a(()=>[e(d,{label:"全部",value:""}),(r(!0),E(pe,null,de(o(B).article_cate,t=>(r(),m(d,{key:t.id,label:t.name,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(w,{class:"w-[280px]",label:"文章状态"},{default:a(()=>[e(k,{modelValue:o(n).is_show,"onUpdate:modelValue":l[2]||(l[2]=t=>o(n).is_show=t)},{default:a(()=>[e(d,{label:"全部",value:""}),e(d,{label:"显示",value:1}),e(d,{label:"隐藏",value:0})]),_:1},8,["modelValue"])]),_:1}),e(w,null,{default:a(()=>[e(c,{type:"primary",onClick:o(h)},{default:a(()=>[...l[4]||(l[4]=[u("查询",-1)])]),_:1},8,["onClick"]),e(c,{onClick:o(P)},{default:a(()=>[...l[5]||(l[5]=[u("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),e(V,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[x("div",null,[_((r(),m(y,{to:{path:o(C)("article.article/add:edit")}},{default:a(()=>[e(c,{type:"primary",class:"mb-4"},{icon:a(()=>[e(F,{name:"el-icon-Plus"})]),default:a(()=>[l[6]||(l[6]=u(" 发布文章 ",-1))]),_:1})]),_:1},8,["to"])),[[b,["article.article/add","article.article/add:edit"]]])]),_((r(),m(K,{size:"large",data:o(p).lists},{default:a(()=>[e(i,{label:"ID",prop:"id","min-width":"80"}),e(i,{label:"封面","min-width":"100"},{default:a(({row:t})=>[t.image?(r(),m(S,{key:0,src:t.image,width:60,height:45,"preview-src-list":[t.image],"preview-teleported":"",fit:"contain"},null,8,["src","preview-src-list"])):ce("",!0)]),_:1}),e(i,{label:"标题",prop:"title","min-width":"160","show-tooltip-when-overflow":""}),e(i,{label:"栏目",prop:"cate_name","min-width":"100"}),e(i,{label:"作者",prop:"author","min-width":"120"}),e(i,{label:"浏览量",prop:"click","min-width":"100"}),e(i,{label:"状态","min-width":"100"},{default:a(({row:t})=>[_(e(I,{modelValue:t.is_show,"onUpdate:modelValue":v=>t.is_show=v,"active-value":1,"inactive-value":0,onChange:v=>L(v,t.id)},null,8,["modelValue","onUpdate:modelValue","onChange"]),[[b,["article.article/updateStatus"]]])]),_:1}),e(i,{label:"排序",prop:"sort","min-width":"100"}),e(i,{label:"发布时间",prop:"create_time","min-width":"120"}),e(i,{label:"操作",width:"120",fixed:"right"},{default:a(({row:t})=>[_((r(),m(c,{type:"primary",link:""},{default:a(()=>[e(y,{to:{path:o(C)("article.article/add:edit"),query:{id:t.id}}},{default:a(()=>[...l[7]||(l[7]=[u(" 编辑 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[b,["article.article/edit","article.article/add:edit"]]]),_((r(),m(c,{type:"danger",link:"",onClick:v=>N(t.id)},{default:a(()=>[...l[8]||(l[8]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])),[[b,["article.article/delete"]]])]),_:1})]),_:1},8,["data"])),[[R,o(p).loading]]),x("div",we,[e(O,{modelValue:o(p),"onUpdate:modelValue":l[3]||(l[3]=t=>ue(p)?p.value=t:null),onChange:o(s)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{nt as default};
diff --git a/server/public/admin/assets/index-CRk7xZUQ.js b/server/public/admin/assets/index-Bm1_94dx.js
similarity index 94%
rename from server/public/admin/assets/index-CRk7xZUQ.js
rename to server/public/admin/assets/index-Bm1_94dx.js
index be46c7fe..97b5bf9f 100644
--- a/server/public/admin/assets/index-CRk7xZUQ.js
+++ b/server/public/admin/assets/index-Bm1_94dx.js
@@ -1,2 +1,2 @@
-const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-Bqsg8jkl.js","assets/element-plus-lurTijPg.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/tcm-tCkhN6ch.js","assets/index-DF1MLuL8.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-cWYbZtDX.css","assets/perm-DJQOTKtE.js","assets/DailyMatrix-Bv0ZDAsS.js","assets/picker-BPfrB1Pn.js","assets/index-CnpV87Ke.js","assets/index-B3imPWFk.css","assets/index-BP_YKY_y.js","assets/index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js","assets/index-mDy9ToMf.js","assets/index-D0f1Mn00.css","assets/index-_ERDssCQ.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-BdGKYRpa.js","assets/index.vue_vue_type_script_setup_true_lang-SfFZFG0h.js","assets/usePaging-VsbTxSU0.js","assets/index-BYOmK9R5.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-DFW8NrDC.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-AmWwwWJ0.css","assets/CaseRecordList-GHq4gyBb.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-DhY-d8bi.js","assets/RecordingPlaybackBlock-CszaDVIP.js","assets/RecordingVideoPlayer-Bgdabd2n.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-B3gJp5ia.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-CJoC4wHm.js","assets/AssignLogPanel-DkQMoEkX.css","assets/AppointmentRecordPanel-Cb1bEIBY.js","assets/doctor-Lmz4K3Qd.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-WlJtu4cF.js","assets/patient-CU85GrfB.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-BT6MFGZ3.js","assets/PatientOrderList-Dx28GIXs.css","assets/index-B37DCCed.js","assets/index-BP9srYoP.js","assets/medicine-Thom1b2D.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-j-ocBozB.css","assets/edit-B0YJchTk.css","assets/TrackingNoteTimeline-B9T8pFso.css","assets/detail-w3hEgx5f.js","assets/appointment-phVZQGxv.js","assets/appointment-B5q1nzzB.css","assets/AssistantWatchCallDialog-B4LbqZVg.js","assets/trtc-sdk-v5-D4DbeRqz.js","assets/AssistantWatchCallDialog-BIPZRgaH.css"])))=>i.map(i=>d[i]);
-import{_ as he}from"./jspdf-BsthCvR5.js";import{C as Da,i as wa,d as Ea,P as Aa,Q as Ra,J as Na,M as Ia,N as $a,T as Sa,r as Ta,p as za,n as La,o as Pa,L as Fa,V as Oa,D as Wa,B as Ua,H as qa,h as Ma,aa as Qa,ab as Ya,Y as Ba,v as Ha,e as ja}from"./element-plus-lurTijPg.js";import{_ as Ka}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{w as Ga,q as Ja}from"./@vue/runtime-dom-DDAG46FW.js";import{aj as be,a as Xa,K as Za,ak as lt,am as en,Y as st,an as it,ao as tn,ap as an,aq as nn,ar as ln}from"./tcm-tCkhN6ch.js";import{d as sn}from"./department-DPN8piBw.js";import{i as on}from"./order-B5HPxuEV.js";import{m as dn}from"./doctor-Lmz4K3Qd.js";import{u as rn}from"./usePaging-VsbTxSU0.js";import{u as un,m as ot,i as v,_ as mn}from"./index-DF1MLuL8.js";import{g as dt}from"./weapp-Dr76WzC2.js";import{h as B}from"./perm-DJQOTKtE.js";import{e as rt,X as pn,O as ut,b as cn,G as _n,H as fn,l as vn}from"./@element-plus/icons-vue-HOEUG8sr.js";import{u as gn}from"./vue-router-QlpZ4wdW.js";import{d as mt}from"./dayjs-DG77mNTn.js";import{f as pt,w as yn,b as hn,d as bn,as as kn,ak as i,I as u,a as l,aN as s,J as r,F as D,ap as N,O as m,H as h,aP as q,G as g,P as ke,A as X}from"./@vue/runtime-core-C6bnekPw.js";import{o as ie,Q as c}from"./@vue/shared-mAAVTE9n.js";import{y as n,a as M,r as Le,n as p}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Cn={class:"tcm-diagnosis"},Vn={class:"filter-main"},xn={class:"date-chips"},Dn=["onClick"],wn={key:0},En={class:"search-row"},An={class:"filter-chips"},Rn=["onClick"],Nn=["onClick"],In={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"},ml={class:"flex flex-col items-center justify-center py-4"},pl={key:0,class:"text-center"},cl={key:1,class:"text-center"},_l=["src"],fl={class:"mt-4 text-sm text-gray-600"},vl={class:"mt-2"},gl={key:2,class:"text-center text-gray-500"},yl={class:"text-gray-500"},hl={class:"text-gray-500"},bl={class:"font-medium"},kl={class:"font-medium"},Cl={key:0,class:"mb-4"},Vl={key:0},xl={key:0,class:"mt-2"},Dl={key:1,class:"mt-2"},wl={class:"mb-4"},El={class:"flex gap-2"},Al={key:0,class:"text-center text-gray-400 py-10"},Rl={key:1,class:"record-list"},Nl={class:"record-header"},Il={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=pt({name:"tcmDiagnosis"}),Ol=pt({...Fl,setup(Wl){const ct=ke(()=>he(()=>import("./edit-Bqsg8jkl.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98]))),_t=ke(()=>he(()=>import("./detail-w3hEgx5f.js"),__vite__mapDeps([99,45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,46,15]))),ft=ke(()=>he(()=>import("./appointment-phVZQGxv.js"),__vite__mapDeps([100,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,83,101]))),vt=ke(()=>he(()=>import("./AssistantWatchCallDialog-B4LbqZVg.js"),__vite__mapDeps([102,1,2,3,4,5,6,7,8,9,10,11,12,13,14,103,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,104]))),gt=t=>{if(!t)return"-";const e=String(t).length===10?Number(t)*1e3:Number(t);return mt(e).format("YYYY-MM-DD HH:mm:ss")},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=p("all"),Z=p(!1),ht=[{label:"全部",value:""},{label:"已挂号",value:"1"},{label:"未挂号",value:"0"}],bt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],kt=t=>{_.has_appointment=t,w.page=1,b(),S()},Ct=t=>{_.diagnosis_confirmed=t,w.page=1,b(),S()},ee=()=>{w.page=1,b(),S()},Vt=X(()=>[{label:"当天挂号",value:de.value},{label:"明天挂号",value:xe.value},{label:"后天挂号",value:De.value},{label:"全部",value:""}]),Ce=p({}),xt=async t=>{_.appointment_date=t,w.page=1,await b(),S()},Ve=t=>({...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([be(Ve(de.value)),be(Ve(xe.value)),be(Ve(De.value))]);Ce.value={[de.value]:(t==null?void 0:t.count)??0,[xe.value]:(e==null?void 0:e.count)??0,[De.value]:(d==null?void 0:d.count)??0}}catch(t){console.error("获取日期数量失败",t)}};function Dt(){const t=()=>S();typeof requestIdleCallback=="function"?requestIdleCallback(t,{timeout:2500}):setTimeout(t,120)}const wt=1e4;let oe=null;function Et(){typeof document<"u"&&document.hidden||(b({silent:!0}).catch(()=>{}),S())}const H=t=>String(t).padStart(2,"0"),de=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=p([]),Oe=p([]),L=p([]),We=p([]);function Ue(t,e="",d=[]){for(const o of t||[]){if(o==null)continue;const V=Number(o.id);if(!Number.isFinite(V))continue;const k=e?`${e} / ${o.name}`:String(o.name??"");d.push({id:V,label:k}),Array.isArray(o.children)&&o.children.length&&Ue(o.children,k,d)}return d}const qe=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,b(),S()},Rt=async()=>{try{const[t,e,d,o]=await Promise.all([ot({type:"diagnosis_type"}),ot({type:"syndrome_type"}),Xa(),sn()]);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:b}=rn({fetchFun:be,params:_}),Be=()=>b({silent:!0}),Nt=()=>{yt.value="all",_.patient_name="",_.diagnosis_type="",_.syndrome_type="",_.assistant_dept_id="",_.assistant_id="",_.diagnosis_confirmed="",_.appointment_date="",_.has_appointment="",w.page=1,b(),S()},He=t=>{const e=t.DiagnosisViewRecord||[];return e.length>0&&e.some(d=>d.is_confirmed==1)},It=({row:t})=>He(t)?t.has_appointment?"":"row-no-appointment":"row-unconfirmed",te=p(),$t=p(),je=p(),re=p(null),ue=un();yn([te,re],()=>{const t=re.value,e=te.value;t==null||!(e!=null&&e.open)||(e.open("edit",t),re.value=null)},{flush:"post"});const me=p(!1),Ke=p(0),St=t=>{var d;const e=t.assistant_id??t.assistant;return e==null||e===""?!1:Number(e)===Number((d=ue.userInfo)==null?void 0:d.id)},Tt=t=>{Ke.value=Number(t.id)||0,me.value=!0},zt=t=>St(t)&&B(["tcm.diagnosis/watchCall"]),pe=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=pe(t);return e==="live"||e==="pending_room"},Ft=t=>pe(t)==="pending_room"?"医生尚未接通或未同步房间号,接通后再点此进入":Lt(t),Ot=t=>{if(pe(t)!=="live"){v.msgWarning("医生尚未接通或未同步房间号,请稍后再试");return}Tt(t)},Wt=t=>{const e=t.video_call_hint;return e!=null&&e.label?e.label:"暂无可旁观通话"},Ut=t=>{const e=pe(t);if(e==="none")return"—";if(e==="live")return"通话中";if(e==="pending_room")return"接通中";const d=t.video_call_hint;return(d==null?void 0:d.label)||"—"},j=p(!1),ce=p(),Ee=p(!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=ce.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=ce.value)==null||t.clearValidate()},Yt=async()=>{var t;try{await((t=ce.value)==null?void 0:t.validate()),Ee.value=!0;const e=await on({patient_id:f.patient_id,order_type:f.order_type,amount:f.amount,remark:f.remark});j.value=!1,b();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 Za({order_no:d});o!=null&&o.qrcode_url?F.value=o.qrcode_url:v.msgError("二维码生成失败")}catch(o){v.msgError((o==null?void 0:o.msg)||"生成二维码失败")}finally{P.value=!1}}}catch(e){console.error("创建订单失败:",e)}finally{Ee.value=!1}},T=p(!1),P=p(!1),F=p(""),O=p(null),Bt=X(()=>{const t=O.value;return t?t.has_appointment?t.appointment_time_text||"—":"未挂号":"—"}),Ae=p("小程序二维码"),Re=p("confirm"),W=p([]),Q=p(!1),Ne=p(!1),ae=p("batch"),ne=p(null),C=p({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){v.msgWarning("请先选择要指派的诊单");return}ae.value="batch",ne.value=null,C.value.assistant_id=null,C.value.is_inherit=!1,Q.value=!0},Gt=async()=>{if(!C.value.assistant_id){v.msgWarning("请选择医助");return}Ne.value=!0;try{if(ae.value==="single")await lt({id:ne.value.id,assistant_id:C.value.assistant_id,is_inherit:C.value.is_inherit?1:0});else{const t=W.value.map(e=>lt({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,b()}catch(t){console.error("指派失败:",t)}finally{Ne.value=!1}},Jt=()=>{te.value.open("add")},Xt=t=>{te.value.open("edit",t)},Zt=async t=>{await v.confirm("确定要删除该诊单吗?"),await nn({id:t}),b()},ea=(t,e)=>{switch(t){case"assign":jt(e);break;case"videoQr":if(!le(e)){v.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?v.msgWarning("已完成就诊,无法取消挂号"):v.msgWarning("该诊单未挂号或挂号信息异常");return}try{await v.confirm(`确定要取消患者「${t.patient_name}」的挂号吗?`),await dn({id:t.appointment_id}),v.msgSuccess("取消挂号成功"),b(),S()}catch(e){e!=="cancel"&&v.msgError((e==null?void 0:e.msg)||"取消挂号失败")}},la=t=>{var e;if(!t.patient_id){v.msgWarning("患者信息不完整");return}(e=je.value)==null||e.open(t)},K=p(!1),Ie=p(!1),Je=p(),I=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=>{I.id=t.id,I.patient_name=t.patient_name||"-",I.id_card=t.id_card||"",K.value=!0},oa=async()=>{var t;await((t=Je.value)==null?void 0:t.validate()),Ie.value=!0;try{await en({id:I.id,id_card:I.id_card}),v.msgSuccess("补全成功,年龄已自动更新"),K.value=!1,b()}catch(e){v.msgError((e==null?void 0:e.msg)||"补全失败")}finally{Ie.value=!1}},Xe=async t=>{var e;if(!le(t)){v.msgWarning("仅「已预约」状态可生成视频二维码");return}if(!t.patient_id){v.msgWarning("患者信息不完整");return}Re.value="video",O.value=t,T.value=!0,P.value=!0,F.value="",Ae.value="视频二维码";try{const d=await dt();if(!(d!=null&&d.app_id)){v.msgError("小程序未配置,请先配置小程序信息"),T.value=!1;return}const o=await st({doctor_id:t.appointment_doctor_id,diagnosis_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=ue.userInfo)==null?void 0:e.id)||"",mini_program_path:"pages/login/login"});o!=null&&o.qrcode_url?F.value=o.qrcode_url:v.msgError("二维码生成失败")}catch(d){v.msgError((d==null?void 0:d.msg)||"生成二维码失败,请重试")}finally{P.value=!1}},Ze=async t=>{if(!le(t)){v.msgWarning("仅「已预约」状态可使用诊单二维码");return}if(!t.patient_id){v.msgWarning("患者信息不完整");return}Re.value="confirm",O.value=t,T.value=!0,P.value=!0,F.value="",Ae.value="诊单二维码";try{const e=await dt();if(!(e!=null&&e.app_id)){v.msgError("小程序未配置,请先配置小程序信息"),T.value=!1;return}const d=ue.userInfo,o=await st({diagnosis_id:t.id,doctor_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:(d==null?void 0:d.id)||""});o!=null&&o.qrcode_url?F.value=o.qrcode_url:v.msgError("二维码生成失败")}catch(e){console.error("生成小程序二维码失败:",e),v.msgError((e==null?void 0:e.msg)||"生成二维码失败,请重试")}finally{P.value=!1}},da=()=>{O.value&&(Re.value==="video"?Xe(O.value):Ze(O.value))},_e=p(!1),E=p(null),U=p([]),fe=p(0),$e=p(!1),A=p(null),Y=p(""),Se=p(!1),Te=p(1),ra=t=>{if(!t)return"-";const e=String(t).length===10?t*1e3:t;return mt(e).format("YYYY-MM-DD HH:mm")},ua=async t=>{E.value=t,_e.value=!0,U.value=[],fe.value=0,A.value=null,Y.value="",Te.value=1,$e.value=!0;try{const[e,d]=await Promise.all([it({diagnosis_id:t.id,patient_id:t.patient_id,page_no:1,page_size:20}),ln({patient_id:t.patient_id||t.id}).catch(()=>null)]);U.value=(e==null?void 0:e.lists)||[],fe.value=(e==null?void 0:e.count)||0,A.value=d}catch(e){console.error("加载企业微信记录失败:",e)}finally{$e.value=!1}},ma=async()=>{if(E.value){Te.value++;try{const t=await it({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)}}},pa=async()=>{var t;if(!Y.value.trim()){v.msgWarning("请输入内容");return}Se.value=!0;try{await tn({diagnosis_id:E.value.id,patient_id:E.value.patient_id,content:Y.value.trim(),msg_type:"note",staff_name:((t=ue.userInfo)==null?void 0:t.name)||"",external_name:E.value.patient_name||""}),Y.value="",ua(E.value)}catch(e){v.msgError((e==null?void 0:e.msg)||"添加失败")}finally{Se.value=!1}},ca=async t=>{await v.confirm("确定删除该记录吗?");try{await an({id:t}),U.value=U.value.filter(e=>e.id!==t),fe.value--}catch(e){v.msgError((e==null?void 0:e.msg)||"删除失败")}},_a=gn();return hn(()=>{_.appointment_date=de.value,Rt(),b(),Dt(),oe=setInterval(Et,wt);const t=_a.query.id;if(t!=null&&t!==""){const e=Number(t);Number.isNaN(e)||(re.value=e)}}),bn(()=>{oe!=null&&(clearInterval(oe),oe=null)}),(t,e)=>{var nt;const d=Da,o=wa,V=Ea,k=Ra,G=Aa,et=Na,R=$a,z=Sa,tt=Ta,J=Pa,fa=La,va=za,ga=Ia,ya=Ka,ve=Oa,$=Ua,ha=qa,ze=Wa,ba=Ma,ge=Ya,ka=Qa,Ca=Ba,Va=Ha,xa=ja,se=kn("perms"),at=Fa;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,N(Vt.value,a=>(i(),u("span",{key:a.value,class:ie(["chip",{active:n(_).appointment_date===a.value}]),onClick:x=>xt(a.value)},[m(c(a.label)+" ",1),a.value&&n(Ce)[a.value]!==void 0?(i(),u("em",wn,c(n(Ce)[a.value]),1)):h("",!0)],10,Dn))),128))]),r("div",En,[l(d,{modelValue:n(_).patient_name,"onUpdate:modelValue":e[0]||(e[0]=a=>n(_).patient_name=a),placeholder:"患者姓名",clearable:"",class:"search-input",onKeyup:Ga(ee,["enter"])},null,8,["modelValue"]),l(o,{type:"primary",onClick:ee},{default:s(()=>[...e[25]||(e[25]=[m("查询",-1)])]),_:1})])]),r("div",An,[e[26]||(e[26]=r("span",{class:"chip-label"},"挂号:",-1)),(i(),u(D,null,N(ht,a=>r("span",{key:a.value,class:ie(["chip","chip-sm",{active:n(_).has_appointment===a.value}]),onClick:x=>kt(a.value)},c(a.label),11,Rn)),64)),e[27]||(e[27]=r("span",{class:"chip-divider"},null,-1)),e[28]||(e[28]=r("span",{class:"chip-label"},"确认:",-1)),(i(),u(D,null,N(bt,a=>r("span",{key:a.value,class:ie(["chip","chip-sm",{active:n(_).diagnosis_confirmed===a.value}]),onClick:x=>Ct(a.value)},c(a.label),11,Nn)),64)),l(o,{link:"",type:"primary",size:"small",class:"more-btn",onClick:e[1]||(e[1]=a=>Z.value=!n(Z))},{default:s(()=>[m(c(n(Z)?"收起":"更多筛选")+" ",1),l(V,{class:ie({"rotate-180":n(Z)})},{default:s(()=>[l(n(rt))]),_:1},8,["class"])]),_:1})]),q(r("div",In,[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,N(n(We),a=>(i(),g(k,{key:a.id,label:a.label,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(G,{modelValue:n(_).diagnosis_type,"onUpdate:modelValue":e[3]||(e[3]=a=>n(_).diagnosis_type=a),placeholder:"诊断类型",clearable:"",size:"small",onChange:ee},{default:s(()=>[(i(!0),u(D,null,N(n(Fe),a=>(i(),g(k,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(G,{modelValue:n(_).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,N(n(Oe),a=>(i(),g(k,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(G,{modelValue:n(_).assistant_id,"onUpdate:modelValue":e[5]||(e[5]=a=>n(_).assistant_id=a),placeholder:"医助",clearable:"",filterable:"",size:"small",onChange:ee},{default:s(()=>[(i(!0),u(D,null,N(qe.value,a=>(i(),g(k,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(o,{size:"small",onClick:Nt},{default:s(()=>[...e[29]||(e[29]=[m("重置",-1)])]),_:1})],512),[[Ja,n(Z)]])]),_:1}),l(et,{class:"!border-none mt-3 list-card",shadow:"never"},{default:s(()=>[r("div",$n,[r("div",Sn,[q((i(),g(o,{type:"primary",onClick:Jt},{default:s(()=>[...e[30]||(e[30]=[m("新增诊单",-1)])]),_:1})),[[se,["tcm.diagnosis/add"]]]),q((i(),g(o,{type:"success",onClick:Kt,disabled:n(W).length===0},{default:s(()=>[...e[31]||(e[31]=[m(" 批量指派医助 ",-1)])]),_:1},8,["disabled"])),[[se,["tcm.diagnosis/assign"]]])]),n(W).length>0?(i(),u("div",Tn,"已选 "+c(n(W).length)+" 条",1)):h("",!0)]),r("div",zn,[q((i(),g(ga,{data:n(w).lists,size:"default",onSelectionChange:Ht,"row-class-name":It,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,[m(c(a.id)+" ",1),a.assign_read_at===null&&a.assistant_id>0?(i(),g(z,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-1"},{default:s(()=>[...e[32]||(e[32]=[m("NEW",-1)])]),_:1})):h("",!0)])])])]),_:1}),l(R,{label:"患者","min-width":"60"},{default:s(({row:a})=>[r("div",On,[r("div",Wn,[r("div",Un,c(a.patient_name),1)])])]),_:1}),l(R,{label:" 性别 / 年龄",width:"100",align:"left"},{default:s(({row:a})=>[r("div",null,c(a.gender_desc||"-")+" · "+c(a.age??"-")+"岁",1)]),_:1}),l(R,{label:"挂号","min-width":"180"},{default:s(({row:a})=>[r("div",{class:ie(["appointment-cell",aa(a)])},[a.has_appointment?(i(),u(D,{key:0},[r("div",qn,c(ta(a)),1),r("div",Mn,c(a.appointment_doctor_name||"-"),1),r("div",Qn,c(a.appointment_time_text||"-"),1)],64)):(i(),u("span",Yn,"未挂号"))],2)]),_:1}),l(R,{label:"确认",width:"88",align:"center"},{default:s(({row:a})=>[He(a)?(i(),u("span",Bn,"已确认")):(i(),u("span",Hn,"未确认"))]),_:1}),l(R,{label:"复诊","min-width":"150"},{default:s(({row:a})=>[a.has_prescription?(i(),u("div",jn,[r("div",Kn,c(a.followup_time_text||"—"),1),r("div",Gn,c(a.followup_doctor_name||"—"),1),a.followup_prescription_count>0?(i(),u("div",Jn," 第"+c(a.followup_prescription_count)+"次复诊 ",1)):h("",!0),a.followup_rx_voided?(i(),g(z,{key:1,type:"info",size:"small",effect:"plain",class:"followup-void-tag"},{default:s(()=>[...e[33]||(e[33]=[m(" 处方已作废 ",-1)])]),_:1})):h("",!0)])):(i(),u("span",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,c(Qe(a.assistant_id||a.assistant)),1),we(a.assistant_id||a.assistant)?(i(),u("div",tl,c(we(a.assistant_id||a.assistant)),1)):h("",!0)])]),_:2},1032,["disabled","content"])]),_:1}),l(R,{label:"开方","min-width":"96",align:"center"},{default:s(({row:a})=>[a.has_prescription?(i(),u("div",al,[e[34]||(e[34]=r("span",{class:"status-prescribed"},"已开方",-1)),r("span",nl,"("+c(a.followup_prescription_count||1)+"次)",1)])):(i(),u("span",ll,"未开方"))]),_:1}),l(R,{label:"视频旁观",width:"120",fixed:"right",align:"center"},{default:s(({row:a})=>[r("div",sl,[zt(a)?(i(),u(D,{key:0},[Pt(a)?(i(),g(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]=[m(" 进入旁观 ",-1)])]),_:1},8,["onClick"])])]),_:2},1032,["content"])):(i(),u("span",ol,c(Wt(a)),1))],64)):(i(),u("span",dl,c(Ut(a)),1))])]),_:1}),l(R,{label:"操作",width:"260",fixed:"right",align:"left"},{default:s(({row:a})=>[r("div",rl,[q((i(),g(o,{type:"primary",link:"",size:"small",onClick:x=>Xt(a.id)},{default:s(()=>[...e[36]||(e[36]=[m("诊单",-1)])]),_:1},8,["onClick"])),[[se,["tcm.diagnosis/edit"]]]),q((i(),g(o,{type:"success",link:"",size:"small",onClick:x=>la(a)},{default:s(()=>[...e[37]||(e[37]=[m("预约",-1)])]),_:1},8,["onClick"])),[[se,["tcm.diagnosis/guahao"]]]),q((i(),g(o,{type:"warning",link:"",size:"small",onClick:x=>ia(a)},{default:s(()=>[...e[38]||(e[38]=[m("补全身份证",-1)])]),_:1},8,["onClick"])),[[se,["tcm.diagnosis/edit"]]]),l(va,{trigger:"click",onCommand:x=>ea(x,a),placement:"bottom-end"},{dropdown:s(()=>[l(fa,null,{default:s(()=>[n(B)(["tcm.diagnosis/assign"])?(i(),g(J,{key:0,command:"assign"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(pn))]),_:1}),e[40]||(e[40]=m("指派",-1))]),_:1})):h("",!0),le(a)&&n(B)(["tcm.diagnosis/videoQr"])?(i(),g(J,{key:1,command:"videoQr"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(ut))]),_:1}),e[41]||(e[41]=m("视频二维码",-1))]),_:1})):h("",!0),n(B)(["tcm.diagnosis/guahao"])&&le(a)?(i(),g(J,{key:2,command:"confirmQr"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(ut))]),_:1}),e[42]||(e[42]=m("二维码",-1))]),_:1})):h("",!0),Ge(a)&&n(B)(["tcm.diagnosis/guahao"])?(i(),g(J,{key:3,command:"cancelApt"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(cn))]),_:1}),e[43]||(e[43]=m("取消挂号",-1))]),_:1})):h("",!0),n(B)(["tcm.diagnosis/order"])?(i(),g(J,{key:4,command:"order"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(_n))]),_:1}),e[44]||(e[44]=m("创建订单",-1))]),_:1})):h("",!0),n(B)(["tcm.diagnosis/delete"])?(i(),g(J,{key:5,command:"delete",divided:""},{default:s(()=>[l(V,null,{default:s(()=>[l(n(fn))]),_:1}),e[45]||(e[45]=r("span",{class:"text-danger"},"删除",-1))]),_:1})):h("",!0)]),_:2},1024)]),default:s(()=>[l(o,{type:"info",link:"",size:"small"},{default:s(()=>[e[39]||(e[39]=m("更多",-1)),l(V,{class:"el-icon--right"},{default:s(()=>[l(n(rt))]),_:1})]),_:1})]),_:2},1032,["onCommand"])])]),_:1})]),_:1},8,["data"])),[[at,n(w).loading]]),r("div",ul,[l(ya,{modelValue:n(w),"onUpdate:modelValue":e[6]||(e[6]=a=>M(w)?w.value=a:null),onChange:n(b)},null,8,["modelValue","onChange"])])])]),_:1}),l(n(ct),{ref_key:"editRef",ref:te,onSuccess:Be},null,512),l(n(_t),{ref_key:"detailRef",ref:$t},null,512),l(n(ft),{ref_key:"appointmentRef",ref:je,onSuccess:Be},null,512),l(n(vt),{modelValue:n(me),"onUpdate:modelValue":e[7]||(e[7]=a=>M(me)?me.value=a:null),"diagnosis-id":n(Ke),onClosed:n(b)},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]=[m("关闭",-1)])]),_:1}),n(P)?h("",!0):(i(),g(o,{key:0,type:"primary",onClick:da},{default:s(()=>[...e[49]||(e[49]=[m(" 重新生成 ",-1)])]),_:1}))]),default:s(()=>{var a;return[r("div",ml,[n(P)?(i(),u("div",pl,[l(V,{class:"is-loading",size:40},{default:s(()=>[l(n(vn))]),_:1}),e[46]||(e[46]=r("div",{class:"mt-4 text-gray-500"},"生成中...",-1))])):n(F)?(i(),u("div",cl,[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,"患者:"+c((a=n(O))==null?void 0:a.patient_name),1),r("div",vl,"挂号时间:"+c(Bt.value),1),e[47]||(e[47]=r("div",{class:"mt-2"},"请使用企业微信扫描二维码,然后转发给患者",-1))])])):(i(),u("div",gl," 生成失败,请重试 "))])]}),_:1},8,["modelValue","title"]),l(ve,{modelValue:n(Q),"onUpdate:modelValue":e[13]||(e[13]=a=>M(Q)?Q.value=a:null),title:n(ae)==="batch"?"批量指派医助":"指派医助",width:"500px"},{footer:s(()=>[l(o,{onClick:e[12]||(e[12]=a=>Q.value=!1)},{default:s(()=>[...e[52]||(e[52]=[m("取消",-1)])]),_:1}),l(o,{type:"primary",onClick:Gt,loading:n(Ne)},{default:s(()=>[...e[53]||(e[53]=[m(" 确定指派 ",-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,N(n(L),a=>(i(),g(k,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l($,{label:"继承"},{default:s(()=>[l(ha,{modelValue:n(C).is_inherit,"onUpdate:modelValue":e[11]||(e[11]=a=>n(C).is_inherit=a)},{default:s(()=>[...e[50]||(e[50]=[m("继承",-1)])]),_:1},8,["modelValue"]),e[51]||(e[51]=r("span",{class:"text-gray-400 text-xs ml-2"},"勾选后写入指派记录",-1))]),_:1}),n(ae)==="batch"?(i(),g($,{key:0,label:"已选择"},{default:s(()=>[r("div",yl,c(n(W).length)+" 条诊单记录",1)]),_:1})):(i(),g($,{key:1,label:"诊单信息"},{default:s(()=>{var a,x;return[r("div",hl,[r("div",null,"患者:"+c((a=n(ne))==null?void 0:a.patient_name),1),r("div",null,"诊断日期:"+c((x=n(ne))==null?void 0:x.diagnosis_date_text),1)])]}),_:1}))]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),l(ve,{modelValue:n(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]=[m("取消",-1)])]),_:1}),l(o,{type:"primary",onClick:Yt,loading:n(Ee)},{default:s(()=>[...e[55]||(e[55]=[m("创建订单",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(ze,{ref_key:"orderFormRef",ref:ce,model:n(f),rules:qt,"label-width":"100px"},{default:s(()=>[l($,{label:"患者"},{default:s(()=>[r("span",bl,c(n(f).patient_name)+" ("+c(n(f).phone)+")",1)]),_:1}),l($,{label:"订单类型",prop:"order_type"},{default:s(()=>[l(G,{modelValue:n(f).order_type,"onUpdate:modelValue":e[14]||(e[14]=a=>n(f).order_type=a),placeholder:"请选择",class:"w-full"},{default:s(()=>[l(k,{label:"挂号费",value:1}),l(k,{label:"问诊费",value:2}),l(k,{label:"药品费用",value:3}),l(k,{label:"首付费用",value:4}),l(k,{label:"尾款费用",value:5}),l(k,{label:"其他费用",value:6}),l(k,{label:"全部费用",value:7}),l(k,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),l($,{label:"订单金额",prop:"amount"},{default:s(()=>[l(ba,{modelValue:n(f).amount,"onUpdate:modelValue":e[15]||(e[15]=a=>n(f).amount=a),min:0,step:.01,precision:2,placeholder:"请输入金额",class:"w-full"},null,8,["modelValue"])]),_:1}),l($,{label:"备注",prop:"remark"},{default:s(()=>[l(d,{modelValue:n(f).remark,"onUpdate:modelValue":e[16]||(e[16]=a=>n(f).remark=a),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(ve,{modelValue:n(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(I).id_card="")},{footer:s(()=>[l(o,{onClick:e[20]||(e[20]=a=>K.value=!1)},{default:s(()=>[...e[56]||(e[56]=[m("取消",-1)])]),_:1}),l(o,{type:"primary",onClick:oa,loading:n(Ie)},{default:s(()=>[...e[57]||(e[57]=[m("提交(自动更新年龄)",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(ze,{ref_key:"fillIdCardFormRef",ref:Je,model:n(I),rules:sa,"label-width":"80px"},{default:s(()=>[l($,{label:"患者"},{default:s(()=>[r("span",kl,c(n(I).patient_name),1)]),_:1}),l($,{label:"身份证号",prop:"id_card"},{default:s(()=>[l(d,{modelValue:n(I).id_card,"onUpdate:modelValue":e[19]||(e[19]=a=>n(I).id_card=a),placeholder:"请输入15或18位身份证号",maxlength:"18","show-word-limit":"",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(xa,{modelValue:n(_e),"onUpdate:modelValue":e[24]||(e[24]=a=>M(_e)?_e.value=a:null),title:`企业微信记录 - ${((nt=n(E))==null?void 0:nt.patient_name)||""}`,size:"600px","destroy-on-close":!0},{default:s(()=>{var a,x;return[n(A)?(i(),u("div",Cl,[l(ka,{column:2,border:"",size:"small"},{default:s(()=>[l(ge,{label:"患者姓名"},{default:s(()=>{var y;return[m(c((y=n(E))==null?void 0:y.patient_name),1)]}),_:1}),l(ge,{label:"手机号"},{default:s(()=>[m(c(n(A).phone||"-"),1)]),_:1}),l(ge,{label:"企微联系人ID"},{default:s(()=>[n(A).external_userid?(i(),u("span",Vl,c(n(A).external_userid),1)):(i(),g(z,{key:1,type:"info",size:"small"},{default:s(()=>[...e[58]||(e[58]=[m("未关联",-1)])]),_:1}))]),_:1}),l(ge,{label:"会话存档"},{default:s(()=>[n(A).msgaudit_enabled?(i(),g(z,{key:0,type:"success",size:"small"},{default:s(()=>[...e[59]||(e[59]=[m("已开通",-1)])]),_:1})):(i(),g(z,{key:1,type:"info",size:"small"},{default:s(()=>[...e[60]||(e[60]=[m("未配置",-1)])]),_:1}))]),_:1})]),_:1}),(a=n(A).permit_users)!=null&&a.length?(i(),u("div",xl,[e[61]||(e[61]=r("span",{class:"text-sm text-gray-500 mr-2"},"存档成员:",-1)),(i(!0),u(D,null,N(n(A).permit_users,y=>(i(),g(z,{key:y,size:"small",class:"mr-1"},{default:s(()=>[m(c(y),1)]),_:2},1024))),128))])):h("",!0),(x=n(A).msgaudit_agree)!=null&&x.length?(i(),u("div",Dl,[e[62]||(e[62]=r("span",{class:"text-sm text-gray-500 mr-2"},"存档同意:",-1)),(i(!0),u(D,null,N(n(A).msgaudit_agree,(y,ye)=>(i(),g(z,{key:ye,type:y.agree_status==="Agree"?"success":"warning",size:"small",class:"mr-1"},{default:s(()=>[m(c(y.userid)+": "+c(y.agree_status==="Agree"?"已同意":y.agree_status),1)]),_:2},1032,["type"]))),128))])):h("",!0)])):h("",!0),l(Ca),r("div",wl,[r("div",El,[l(d,{modelValue:n(Y),"onUpdate:modelValue":e[23]||(e[23]=y=>M(Y)?Y.value=y:null),type:"textarea",rows:2,placeholder:"添加沟通记录...",class:"flex-1"},null,8,["modelValue"]),l(o,{type:"primary",onClick:pa,loading:n(Se),class:"self-end"},{default:s(()=>[...e[63]||(e[63]=[m(" 添加 ",-1)])]),_:1},8,["loading"])])]),q((i(),u("div",null,[n(U).length===0?(i(),u("div",Al," 暂无聊天记录 ")):(i(),u("div",Rl,[(i(!0),u(D,null,N(n(U),y=>{var ye;return i(),u("div",{key:y.id,class:"record-item"},[r("div",Nl,[r("div",Il,[l(z,{type:y.direction===0?"primary":"success",size:"small"},{default:s(()=>[m(c(y.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),r("span",$l,c(y.direction===0?y.staff_name:y.external_name||((ye=n(E))==null?void 0:ye.patient_name)),1),y.msg_type==="note"?(i(),g(z,{key:0,type:"warning",size:"small"},{default:s(()=>[...e[64]||(e[64]=[m("备注",-1)])]),_:1})):h("",!0)]),r("div",Sl,[r("span",Tl,c(ra(y.chat_time)),1),l(o,{type:"danger",link:"",size:"small",onClick:ql=>ca(y.id)},{default:s(()=>[...e[65]||(e[65]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])])]),r("div",zl,c(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"])])):h("",!0)])}),128))])),n(fe)>n(U).length?(i(),u("div",Pl,[l(o,{link:"",type:"primary",onClick:ma},{default:s(()=>[...e[66]||(e[66]=[m("加载更多",-1)])]),_:1})])):h("",!0)])),[[at,n($e)]])]}),_:1},8,["modelValue","title"])])}}}),Ts=mn(Ol,[["__scopeId","data-v-5f089050"]]);export{Ts as default};
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-qfcy1F7Q.js","assets/element-plus-lurTijPg.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/tcm-Bt45zV2E.js","assets/index-FimllnSe.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-cWYbZtDX.css","assets/perm-B9Vga-ll.js","assets/DailyMatrix-Dfw8exqW.js","assets/picker-cRsNDKaC.js","assets/index-DPukmZrj.js","assets/index-B3imPWFk.css","assets/index-C4BsY_iD.js","assets/index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js","assets/index-BFPN4E1c.js","assets/index-D0f1Mn00.css","assets/index-DWt-lpdR.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-C3a0qLlq.js","assets/index.vue_vue_type_script_setup_true_lang-SfFZFG0h.js","assets/usePaging-VsbTxSU0.js","assets/index-BYOmK9R5.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-D5mxeWbj.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-AmWwwWJ0.css","assets/CaseRecordList-BW_m8xqj.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-Bk5GEVcd.js","assets/RecordingPlaybackBlock-DItf6HnF.js","assets/RecordingVideoPlayer-BPVkKT7p.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-BAfEn0HT.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-DvCcA-OV.js","assets/AssignLogPanel-DkQMoEkX.css","assets/AppointmentRecordPanel-CAPYAK64.js","assets/doctor-BjRQM6dq.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-VfiQpcyr.js","assets/patient-DTMlM6EZ.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-B2aHTmWb.js","assets/PatientOrderList-Dx28GIXs.css","assets/index-CXug2Sda.js","assets/index-iHo5Ahae.js","assets/medicine-ZjBK9PzB.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-j-ocBozB.css","assets/edit-B0YJchTk.css","assets/TrackingNoteTimeline-B9T8pFso.css","assets/detail-If3KB4vz.js","assets/appointment-DXqAVWOo.js","assets/appointment-B5q1nzzB.css","assets/AssistantWatchCallDialog-D94IFaX8.js","assets/trtc-sdk-v5-D4DbeRqz.js","assets/AssistantWatchCallDialog-BIPZRgaH.css"])))=>i.map(i=>d[i]);
+import{_ as he}from"./jspdf-BsthCvR5.js";import{C as Da,i as wa,d as Ea,P as Aa,Q as Ra,J as Na,M as Ia,N as $a,T as Sa,r as Ta,p as za,n as La,o as Pa,L as Fa,V as Oa,D as Wa,B as Ua,H as qa,h as Ma,aa as Qa,ab as Ya,Y as Ba,v as Ha,e as ja}from"./element-plus-lurTijPg.js";import{_ as Ka}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{w as Ga,q as Ja}from"./@vue/runtime-dom-DDAG46FW.js";import{aj as be,a as Xa,K as Za,ak as lt,am as en,Y as st,an as it,ao as tn,ap as an,aq as nn,ar as ln}from"./tcm-Bt45zV2E.js";import{d as sn}from"./department-Du2ww-GD.js";import{i as on}from"./order-ZjOhzLe7.js";import{m as dn}from"./doctor-BjRQM6dq.js";import{u as rn}from"./usePaging-VsbTxSU0.js";import{u as un,m as ot,i as v,_ as mn}from"./index-FimllnSe.js";import{g as dt}from"./weapp-DvgV4wmA.js";import{h as B}from"./perm-B9Vga-ll.js";import{e as rt,X as pn,O as ut,b as cn,G as _n,H as fn,l as vn}from"./@element-plus/icons-vue-HOEUG8sr.js";import{u as gn}from"./vue-router-QlpZ4wdW.js";import{d as mt}from"./dayjs-DG77mNTn.js";import{f as pt,w as yn,b as hn,d as bn,as as kn,ak as i,I as u,a as l,aN as s,J as r,F as D,ap as N,O as m,H as h,aP as q,G as g,P as ke,A as X}from"./@vue/runtime-core-C6bnekPw.js";import{o as ie,Q as c}from"./@vue/shared-mAAVTE9n.js";import{y as n,a as M,r as Le,n as p}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Cn={class:"tcm-diagnosis"},Vn={class:"filter-main"},xn={class:"date-chips"},Dn=["onClick"],wn={key:0},En={class:"search-row"},An={class:"filter-chips"},Rn=["onClick"],Nn=["onClick"],In={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"},ml={class:"flex flex-col items-center justify-center py-4"},pl={key:0,class:"text-center"},cl={key:1,class:"text-center"},_l=["src"],fl={class:"mt-4 text-sm text-gray-600"},vl={class:"mt-2"},gl={key:2,class:"text-center text-gray-500"},yl={class:"text-gray-500"},hl={class:"text-gray-500"},bl={class:"font-medium"},kl={class:"font-medium"},Cl={key:0,class:"mb-4"},Vl={key:0},xl={key:0,class:"mt-2"},Dl={key:1,class:"mt-2"},wl={class:"mb-4"},El={class:"flex gap-2"},Al={key:0,class:"text-center text-gray-400 py-10"},Rl={key:1,class:"record-list"},Nl={class:"record-header"},Il={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=pt({name:"tcmDiagnosis"}),Ol=pt({...Fl,setup(Wl){const ct=ke(()=>he(()=>import("./edit-qfcy1F7Q.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98]))),_t=ke(()=>he(()=>import("./detail-If3KB4vz.js"),__vite__mapDeps([99,45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,46,15]))),ft=ke(()=>he(()=>import("./appointment-DXqAVWOo.js"),__vite__mapDeps([100,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,83,101]))),vt=ke(()=>he(()=>import("./AssistantWatchCallDialog-D94IFaX8.js"),__vite__mapDeps([102,1,2,3,4,5,6,7,8,9,10,11,12,13,14,103,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,104]))),gt=t=>{if(!t)return"-";const e=String(t).length===10?Number(t)*1e3:Number(t);return mt(e).format("YYYY-MM-DD HH:mm:ss")},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=p("all"),Z=p(!1),ht=[{label:"全部",value:""},{label:"已挂号",value:"1"},{label:"未挂号",value:"0"}],bt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],kt=t=>{_.has_appointment=t,w.page=1,b(),S()},Ct=t=>{_.diagnosis_confirmed=t,w.page=1,b(),S()},ee=()=>{w.page=1,b(),S()},Vt=X(()=>[{label:"当天挂号",value:de.value},{label:"明天挂号",value:xe.value},{label:"后天挂号",value:De.value},{label:"全部",value:""}]),Ce=p({}),xt=async t=>{_.appointment_date=t,w.page=1,await b(),S()},Ve=t=>({...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([be(Ve(de.value)),be(Ve(xe.value)),be(Ve(De.value))]);Ce.value={[de.value]:(t==null?void 0:t.count)??0,[xe.value]:(e==null?void 0:e.count)??0,[De.value]:(d==null?void 0:d.count)??0}}catch(t){console.error("获取日期数量失败",t)}};function Dt(){const t=()=>S();typeof requestIdleCallback=="function"?requestIdleCallback(t,{timeout:2500}):setTimeout(t,120)}const wt=1e4;let oe=null;function Et(){typeof document<"u"&&document.hidden||(b({silent:!0}).catch(()=>{}),S())}const H=t=>String(t).padStart(2,"0"),de=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=p([]),Oe=p([]),L=p([]),We=p([]);function Ue(t,e="",d=[]){for(const o of t||[]){if(o==null)continue;const V=Number(o.id);if(!Number.isFinite(V))continue;const k=e?`${e} / ${o.name}`:String(o.name??"");d.push({id:V,label:k}),Array.isArray(o.children)&&o.children.length&&Ue(o.children,k,d)}return d}const qe=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,b(),S()},Rt=async()=>{try{const[t,e,d,o]=await Promise.all([ot({type:"diagnosis_type"}),ot({type:"syndrome_type"}),Xa(),sn()]);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:b}=rn({fetchFun:be,params:_}),Be=()=>b({silent:!0}),Nt=()=>{yt.value="all",_.patient_name="",_.diagnosis_type="",_.syndrome_type="",_.assistant_dept_id="",_.assistant_id="",_.diagnosis_confirmed="",_.appointment_date="",_.has_appointment="",w.page=1,b(),S()},He=t=>{const e=t.DiagnosisViewRecord||[];return e.length>0&&e.some(d=>d.is_confirmed==1)},It=({row:t})=>He(t)?t.has_appointment?"":"row-no-appointment":"row-unconfirmed",te=p(),$t=p(),je=p(),re=p(null),ue=un();yn([te,re],()=>{const t=re.value,e=te.value;t==null||!(e!=null&&e.open)||(e.open("edit",t),re.value=null)},{flush:"post"});const me=p(!1),Ke=p(0),St=t=>{var d;const e=t.assistant_id??t.assistant;return e==null||e===""?!1:Number(e)===Number((d=ue.userInfo)==null?void 0:d.id)},Tt=t=>{Ke.value=Number(t.id)||0,me.value=!0},zt=t=>St(t)&&B(["tcm.diagnosis/watchCall"]),pe=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=pe(t);return e==="live"||e==="pending_room"},Ft=t=>pe(t)==="pending_room"?"医生尚未接通或未同步房间号,接通后再点此进入":Lt(t),Ot=t=>{if(pe(t)!=="live"){v.msgWarning("医生尚未接通或未同步房间号,请稍后再试");return}Tt(t)},Wt=t=>{const e=t.video_call_hint;return e!=null&&e.label?e.label:"暂无可旁观通话"},Ut=t=>{const e=pe(t);if(e==="none")return"—";if(e==="live")return"通话中";if(e==="pending_room")return"接通中";const d=t.video_call_hint;return(d==null?void 0:d.label)||"—"},j=p(!1),ce=p(),Ee=p(!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=ce.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=ce.value)==null||t.clearValidate()},Yt=async()=>{var t;try{await((t=ce.value)==null?void 0:t.validate()),Ee.value=!0;const e=await on({patient_id:f.patient_id,order_type:f.order_type,amount:f.amount,remark:f.remark});j.value=!1,b();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 Za({order_no:d});o!=null&&o.qrcode_url?F.value=o.qrcode_url:v.msgError("二维码生成失败")}catch(o){v.msgError((o==null?void 0:o.msg)||"生成二维码失败")}finally{P.value=!1}}}catch(e){console.error("创建订单失败:",e)}finally{Ee.value=!1}},T=p(!1),P=p(!1),F=p(""),O=p(null),Bt=X(()=>{const t=O.value;return t?t.has_appointment?t.appointment_time_text||"—":"未挂号":"—"}),Ae=p("小程序二维码"),Re=p("confirm"),W=p([]),Q=p(!1),Ne=p(!1),ae=p("batch"),ne=p(null),C=p({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){v.msgWarning("请先选择要指派的诊单");return}ae.value="batch",ne.value=null,C.value.assistant_id=null,C.value.is_inherit=!1,Q.value=!0},Gt=async()=>{if(!C.value.assistant_id){v.msgWarning("请选择医助");return}Ne.value=!0;try{if(ae.value==="single")await lt({id:ne.value.id,assistant_id:C.value.assistant_id,is_inherit:C.value.is_inherit?1:0});else{const t=W.value.map(e=>lt({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,b()}catch(t){console.error("指派失败:",t)}finally{Ne.value=!1}},Jt=()=>{te.value.open("add")},Xt=t=>{te.value.open("edit",t)},Zt=async t=>{await v.confirm("确定要删除该诊单吗?"),await nn({id:t}),b()},ea=(t,e)=>{switch(t){case"assign":jt(e);break;case"videoQr":if(!le(e)){v.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?v.msgWarning("已完成就诊,无法取消挂号"):v.msgWarning("该诊单未挂号或挂号信息异常");return}try{await v.confirm(`确定要取消患者「${t.patient_name}」的挂号吗?`),await dn({id:t.appointment_id}),v.msgSuccess("取消挂号成功"),b(),S()}catch(e){e!=="cancel"&&v.msgError((e==null?void 0:e.msg)||"取消挂号失败")}},la=t=>{var e;if(!t.patient_id){v.msgWarning("患者信息不完整");return}(e=je.value)==null||e.open(t)},K=p(!1),Ie=p(!1),Je=p(),I=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=>{I.id=t.id,I.patient_name=t.patient_name||"-",I.id_card=t.id_card||"",K.value=!0},oa=async()=>{var t;await((t=Je.value)==null?void 0:t.validate()),Ie.value=!0;try{await en({id:I.id,id_card:I.id_card}),v.msgSuccess("补全成功,年龄已自动更新"),K.value=!1,b()}catch(e){v.msgError((e==null?void 0:e.msg)||"补全失败")}finally{Ie.value=!1}},Xe=async t=>{var e;if(!le(t)){v.msgWarning("仅「已预约」状态可生成视频二维码");return}if(!t.patient_id){v.msgWarning("患者信息不完整");return}Re.value="video",O.value=t,T.value=!0,P.value=!0,F.value="",Ae.value="视频二维码";try{const d=await dt();if(!(d!=null&&d.app_id)){v.msgError("小程序未配置,请先配置小程序信息"),T.value=!1;return}const o=await st({doctor_id:t.appointment_doctor_id,diagnosis_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=ue.userInfo)==null?void 0:e.id)||"",mini_program_path:"pages/login/login"});o!=null&&o.qrcode_url?F.value=o.qrcode_url:v.msgError("二维码生成失败")}catch(d){v.msgError((d==null?void 0:d.msg)||"生成二维码失败,请重试")}finally{P.value=!1}},Ze=async t=>{if(!le(t)){v.msgWarning("仅「已预约」状态可使用诊单二维码");return}if(!t.patient_id){v.msgWarning("患者信息不完整");return}Re.value="confirm",O.value=t,T.value=!0,P.value=!0,F.value="",Ae.value="诊单二维码";try{const e=await dt();if(!(e!=null&&e.app_id)){v.msgError("小程序未配置,请先配置小程序信息"),T.value=!1;return}const d=ue.userInfo,o=await st({diagnosis_id:t.id,doctor_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:(d==null?void 0:d.id)||""});o!=null&&o.qrcode_url?F.value=o.qrcode_url:v.msgError("二维码生成失败")}catch(e){console.error("生成小程序二维码失败:",e),v.msgError((e==null?void 0:e.msg)||"生成二维码失败,请重试")}finally{P.value=!1}},da=()=>{O.value&&(Re.value==="video"?Xe(O.value):Ze(O.value))},_e=p(!1),E=p(null),U=p([]),fe=p(0),$e=p(!1),A=p(null),Y=p(""),Se=p(!1),Te=p(1),ra=t=>{if(!t)return"-";const e=String(t).length===10?t*1e3:t;return mt(e).format("YYYY-MM-DD HH:mm")},ua=async t=>{E.value=t,_e.value=!0,U.value=[],fe.value=0,A.value=null,Y.value="",Te.value=1,$e.value=!0;try{const[e,d]=await Promise.all([it({diagnosis_id:t.id,patient_id:t.patient_id,page_no:1,page_size:20}),ln({patient_id:t.patient_id||t.id}).catch(()=>null)]);U.value=(e==null?void 0:e.lists)||[],fe.value=(e==null?void 0:e.count)||0,A.value=d}catch(e){console.error("加载企业微信记录失败:",e)}finally{$e.value=!1}},ma=async()=>{if(E.value){Te.value++;try{const t=await it({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)}}},pa=async()=>{var t;if(!Y.value.trim()){v.msgWarning("请输入内容");return}Se.value=!0;try{await tn({diagnosis_id:E.value.id,patient_id:E.value.patient_id,content:Y.value.trim(),msg_type:"note",staff_name:((t=ue.userInfo)==null?void 0:t.name)||"",external_name:E.value.patient_name||""}),Y.value="",ua(E.value)}catch(e){v.msgError((e==null?void 0:e.msg)||"添加失败")}finally{Se.value=!1}},ca=async t=>{await v.confirm("确定删除该记录吗?");try{await an({id:t}),U.value=U.value.filter(e=>e.id!==t),fe.value--}catch(e){v.msgError((e==null?void 0:e.msg)||"删除失败")}},_a=gn();return hn(()=>{_.appointment_date=de.value,Rt(),b(),Dt(),oe=setInterval(Et,wt);const t=_a.query.id;if(t!=null&&t!==""){const e=Number(t);Number.isNaN(e)||(re.value=e)}}),bn(()=>{oe!=null&&(clearInterval(oe),oe=null)}),(t,e)=>{var nt;const d=Da,o=wa,V=Ea,k=Ra,G=Aa,et=Na,R=$a,z=Sa,tt=Ta,J=Pa,fa=La,va=za,ga=Ia,ya=Ka,ve=Oa,$=Ua,ha=qa,ze=Wa,ba=Ma,ge=Ya,ka=Qa,Ca=Ba,Va=Ha,xa=ja,se=kn("perms"),at=Fa;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,N(Vt.value,a=>(i(),u("span",{key:a.value,class:ie(["chip",{active:n(_).appointment_date===a.value}]),onClick:x=>xt(a.value)},[m(c(a.label)+" ",1),a.value&&n(Ce)[a.value]!==void 0?(i(),u("em",wn,c(n(Ce)[a.value]),1)):h("",!0)],10,Dn))),128))]),r("div",En,[l(d,{modelValue:n(_).patient_name,"onUpdate:modelValue":e[0]||(e[0]=a=>n(_).patient_name=a),placeholder:"患者姓名",clearable:"",class:"search-input",onKeyup:Ga(ee,["enter"])},null,8,["modelValue"]),l(o,{type:"primary",onClick:ee},{default:s(()=>[...e[25]||(e[25]=[m("查询",-1)])]),_:1})])]),r("div",An,[e[26]||(e[26]=r("span",{class:"chip-label"},"挂号:",-1)),(i(),u(D,null,N(ht,a=>r("span",{key:a.value,class:ie(["chip","chip-sm",{active:n(_).has_appointment===a.value}]),onClick:x=>kt(a.value)},c(a.label),11,Rn)),64)),e[27]||(e[27]=r("span",{class:"chip-divider"},null,-1)),e[28]||(e[28]=r("span",{class:"chip-label"},"确认:",-1)),(i(),u(D,null,N(bt,a=>r("span",{key:a.value,class:ie(["chip","chip-sm",{active:n(_).diagnosis_confirmed===a.value}]),onClick:x=>Ct(a.value)},c(a.label),11,Nn)),64)),l(o,{link:"",type:"primary",size:"small",class:"more-btn",onClick:e[1]||(e[1]=a=>Z.value=!n(Z))},{default:s(()=>[m(c(n(Z)?"收起":"更多筛选")+" ",1),l(V,{class:ie({"rotate-180":n(Z)})},{default:s(()=>[l(n(rt))]),_:1},8,["class"])]),_:1})]),q(r("div",In,[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,N(n(We),a=>(i(),g(k,{key:a.id,label:a.label,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(G,{modelValue:n(_).diagnosis_type,"onUpdate:modelValue":e[3]||(e[3]=a=>n(_).diagnosis_type=a),placeholder:"诊断类型",clearable:"",size:"small",onChange:ee},{default:s(()=>[(i(!0),u(D,null,N(n(Fe),a=>(i(),g(k,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(G,{modelValue:n(_).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,N(n(Oe),a=>(i(),g(k,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(G,{modelValue:n(_).assistant_id,"onUpdate:modelValue":e[5]||(e[5]=a=>n(_).assistant_id=a),placeholder:"医助",clearable:"",filterable:"",size:"small",onChange:ee},{default:s(()=>[(i(!0),u(D,null,N(qe.value,a=>(i(),g(k,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(o,{size:"small",onClick:Nt},{default:s(()=>[...e[29]||(e[29]=[m("重置",-1)])]),_:1})],512),[[Ja,n(Z)]])]),_:1}),l(et,{class:"!border-none mt-3 list-card",shadow:"never"},{default:s(()=>[r("div",$n,[r("div",Sn,[q((i(),g(o,{type:"primary",onClick:Jt},{default:s(()=>[...e[30]||(e[30]=[m("新增诊单",-1)])]),_:1})),[[se,["tcm.diagnosis/add"]]]),q((i(),g(o,{type:"success",onClick:Kt,disabled:n(W).length===0},{default:s(()=>[...e[31]||(e[31]=[m(" 批量指派医助 ",-1)])]),_:1},8,["disabled"])),[[se,["tcm.diagnosis/assign"]]])]),n(W).length>0?(i(),u("div",Tn,"已选 "+c(n(W).length)+" 条",1)):h("",!0)]),r("div",zn,[q((i(),g(ga,{data:n(w).lists,size:"default",onSelectionChange:Ht,"row-class-name":It,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,[m(c(a.id)+" ",1),a.assign_read_at===null&&a.assistant_id>0?(i(),g(z,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-1"},{default:s(()=>[...e[32]||(e[32]=[m("NEW",-1)])]),_:1})):h("",!0)])])])]),_:1}),l(R,{label:"患者","min-width":"60"},{default:s(({row:a})=>[r("div",On,[r("div",Wn,[r("div",Un,c(a.patient_name),1)])])]),_:1}),l(R,{label:" 性别 / 年龄",width:"100",align:"left"},{default:s(({row:a})=>[r("div",null,c(a.gender_desc||"-")+" · "+c(a.age??"-")+"岁",1)]),_:1}),l(R,{label:"挂号","min-width":"180"},{default:s(({row:a})=>[r("div",{class:ie(["appointment-cell",aa(a)])},[a.has_appointment?(i(),u(D,{key:0},[r("div",qn,c(ta(a)),1),r("div",Mn,c(a.appointment_doctor_name||"-"),1),r("div",Qn,c(a.appointment_time_text||"-"),1)],64)):(i(),u("span",Yn,"未挂号"))],2)]),_:1}),l(R,{label:"确认",width:"88",align:"center"},{default:s(({row:a})=>[He(a)?(i(),u("span",Bn,"已确认")):(i(),u("span",Hn,"未确认"))]),_:1}),l(R,{label:"复诊","min-width":"150"},{default:s(({row:a})=>[a.has_prescription?(i(),u("div",jn,[r("div",Kn,c(a.followup_time_text||"—"),1),r("div",Gn,c(a.followup_doctor_name||"—"),1),a.followup_prescription_count>0?(i(),u("div",Jn," 第"+c(a.followup_prescription_count)+"次复诊 ",1)):h("",!0),a.followup_rx_voided?(i(),g(z,{key:1,type:"info",size:"small",effect:"plain",class:"followup-void-tag"},{default:s(()=>[...e[33]||(e[33]=[m(" 处方已作废 ",-1)])]),_:1})):h("",!0)])):(i(),u("span",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,c(Qe(a.assistant_id||a.assistant)),1),we(a.assistant_id||a.assistant)?(i(),u("div",tl,c(we(a.assistant_id||a.assistant)),1)):h("",!0)])]),_:2},1032,["disabled","content"])]),_:1}),l(R,{label:"开方","min-width":"96",align:"center"},{default:s(({row:a})=>[a.has_prescription?(i(),u("div",al,[e[34]||(e[34]=r("span",{class:"status-prescribed"},"已开方",-1)),r("span",nl,"("+c(a.followup_prescription_count||1)+"次)",1)])):(i(),u("span",ll,"未开方"))]),_:1}),l(R,{label:"视频旁观",width:"120",fixed:"right",align:"center"},{default:s(({row:a})=>[r("div",sl,[zt(a)?(i(),u(D,{key:0},[Pt(a)?(i(),g(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]=[m(" 进入旁观 ",-1)])]),_:1},8,["onClick"])])]),_:2},1032,["content"])):(i(),u("span",ol,c(Wt(a)),1))],64)):(i(),u("span",dl,c(Ut(a)),1))])]),_:1}),l(R,{label:"操作",width:"260",fixed:"right",align:"left"},{default:s(({row:a})=>[r("div",rl,[q((i(),g(o,{type:"primary",link:"",size:"small",onClick:x=>Xt(a.id)},{default:s(()=>[...e[36]||(e[36]=[m("诊单",-1)])]),_:1},8,["onClick"])),[[se,["tcm.diagnosis/edit"]]]),q((i(),g(o,{type:"success",link:"",size:"small",onClick:x=>la(a)},{default:s(()=>[...e[37]||(e[37]=[m("预约",-1)])]),_:1},8,["onClick"])),[[se,["tcm.diagnosis/guahao"]]]),q((i(),g(o,{type:"warning",link:"",size:"small",onClick:x=>ia(a)},{default:s(()=>[...e[38]||(e[38]=[m("补全身份证",-1)])]),_:1},8,["onClick"])),[[se,["tcm.diagnosis/edit"]]]),l(va,{trigger:"click",onCommand:x=>ea(x,a),placement:"bottom-end"},{dropdown:s(()=>[l(fa,null,{default:s(()=>[n(B)(["tcm.diagnosis/assign"])?(i(),g(J,{key:0,command:"assign"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(pn))]),_:1}),e[40]||(e[40]=m("指派",-1))]),_:1})):h("",!0),le(a)&&n(B)(["tcm.diagnosis/videoQr"])?(i(),g(J,{key:1,command:"videoQr"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(ut))]),_:1}),e[41]||(e[41]=m("视频二维码",-1))]),_:1})):h("",!0),n(B)(["tcm.diagnosis/guahao"])&&le(a)?(i(),g(J,{key:2,command:"confirmQr"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(ut))]),_:1}),e[42]||(e[42]=m("二维码",-1))]),_:1})):h("",!0),Ge(a)&&n(B)(["tcm.diagnosis/guahao"])?(i(),g(J,{key:3,command:"cancelApt"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(cn))]),_:1}),e[43]||(e[43]=m("取消挂号",-1))]),_:1})):h("",!0),n(B)(["tcm.diagnosis/order"])?(i(),g(J,{key:4,command:"order"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(_n))]),_:1}),e[44]||(e[44]=m("创建订单",-1))]),_:1})):h("",!0),n(B)(["tcm.diagnosis/delete"])?(i(),g(J,{key:5,command:"delete",divided:""},{default:s(()=>[l(V,null,{default:s(()=>[l(n(fn))]),_:1}),e[45]||(e[45]=r("span",{class:"text-danger"},"删除",-1))]),_:1})):h("",!0)]),_:2},1024)]),default:s(()=>[l(o,{type:"info",link:"",size:"small"},{default:s(()=>[e[39]||(e[39]=m("更多",-1)),l(V,{class:"el-icon--right"},{default:s(()=>[l(n(rt))]),_:1})]),_:1})]),_:2},1032,["onCommand"])])]),_:1})]),_:1},8,["data"])),[[at,n(w).loading]]),r("div",ul,[l(ya,{modelValue:n(w),"onUpdate:modelValue":e[6]||(e[6]=a=>M(w)?w.value=a:null),onChange:n(b)},null,8,["modelValue","onChange"])])])]),_:1}),l(n(ct),{ref_key:"editRef",ref:te,onSuccess:Be},null,512),l(n(_t),{ref_key:"detailRef",ref:$t},null,512),l(n(ft),{ref_key:"appointmentRef",ref:je,onSuccess:Be},null,512),l(n(vt),{modelValue:n(me),"onUpdate:modelValue":e[7]||(e[7]=a=>M(me)?me.value=a:null),"diagnosis-id":n(Ke),onClosed:n(b)},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]=[m("关闭",-1)])]),_:1}),n(P)?h("",!0):(i(),g(o,{key:0,type:"primary",onClick:da},{default:s(()=>[...e[49]||(e[49]=[m(" 重新生成 ",-1)])]),_:1}))]),default:s(()=>{var a;return[r("div",ml,[n(P)?(i(),u("div",pl,[l(V,{class:"is-loading",size:40},{default:s(()=>[l(n(vn))]),_:1}),e[46]||(e[46]=r("div",{class:"mt-4 text-gray-500"},"生成中...",-1))])):n(F)?(i(),u("div",cl,[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,"患者:"+c((a=n(O))==null?void 0:a.patient_name),1),r("div",vl,"挂号时间:"+c(Bt.value),1),e[47]||(e[47]=r("div",{class:"mt-2"},"请使用企业微信扫描二维码,然后转发给患者",-1))])])):(i(),u("div",gl," 生成失败,请重试 "))])]}),_:1},8,["modelValue","title"]),l(ve,{modelValue:n(Q),"onUpdate:modelValue":e[13]||(e[13]=a=>M(Q)?Q.value=a:null),title:n(ae)==="batch"?"批量指派医助":"指派医助",width:"500px"},{footer:s(()=>[l(o,{onClick:e[12]||(e[12]=a=>Q.value=!1)},{default:s(()=>[...e[52]||(e[52]=[m("取消",-1)])]),_:1}),l(o,{type:"primary",onClick:Gt,loading:n(Ne)},{default:s(()=>[...e[53]||(e[53]=[m(" 确定指派 ",-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,N(n(L),a=>(i(),g(k,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l($,{label:"继承"},{default:s(()=>[l(ha,{modelValue:n(C).is_inherit,"onUpdate:modelValue":e[11]||(e[11]=a=>n(C).is_inherit=a)},{default:s(()=>[...e[50]||(e[50]=[m("继承",-1)])]),_:1},8,["modelValue"]),e[51]||(e[51]=r("span",{class:"text-gray-400 text-xs ml-2"},"勾选后写入指派记录",-1))]),_:1}),n(ae)==="batch"?(i(),g($,{key:0,label:"已选择"},{default:s(()=>[r("div",yl,c(n(W).length)+" 条诊单记录",1)]),_:1})):(i(),g($,{key:1,label:"诊单信息"},{default:s(()=>{var a,x;return[r("div",hl,[r("div",null,"患者:"+c((a=n(ne))==null?void 0:a.patient_name),1),r("div",null,"诊断日期:"+c((x=n(ne))==null?void 0:x.diagnosis_date_text),1)])]}),_:1}))]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),l(ve,{modelValue:n(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]=[m("取消",-1)])]),_:1}),l(o,{type:"primary",onClick:Yt,loading:n(Ee)},{default:s(()=>[...e[55]||(e[55]=[m("创建订单",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(ze,{ref_key:"orderFormRef",ref:ce,model:n(f),rules:qt,"label-width":"100px"},{default:s(()=>[l($,{label:"患者"},{default:s(()=>[r("span",bl,c(n(f).patient_name)+" ("+c(n(f).phone)+")",1)]),_:1}),l($,{label:"订单类型",prop:"order_type"},{default:s(()=>[l(G,{modelValue:n(f).order_type,"onUpdate:modelValue":e[14]||(e[14]=a=>n(f).order_type=a),placeholder:"请选择",class:"w-full"},{default:s(()=>[l(k,{label:"挂号费",value:1}),l(k,{label:"问诊费",value:2}),l(k,{label:"药品费用",value:3}),l(k,{label:"首付费用",value:4}),l(k,{label:"尾款费用",value:5}),l(k,{label:"其他费用",value:6}),l(k,{label:"全部费用",value:7}),l(k,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),l($,{label:"订单金额",prop:"amount"},{default:s(()=>[l(ba,{modelValue:n(f).amount,"onUpdate:modelValue":e[15]||(e[15]=a=>n(f).amount=a),min:0,step:.01,precision:2,placeholder:"请输入金额",class:"w-full"},null,8,["modelValue"])]),_:1}),l($,{label:"备注",prop:"remark"},{default:s(()=>[l(d,{modelValue:n(f).remark,"onUpdate:modelValue":e[16]||(e[16]=a=>n(f).remark=a),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(ve,{modelValue:n(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(I).id_card="")},{footer:s(()=>[l(o,{onClick:e[20]||(e[20]=a=>K.value=!1)},{default:s(()=>[...e[56]||(e[56]=[m("取消",-1)])]),_:1}),l(o,{type:"primary",onClick:oa,loading:n(Ie)},{default:s(()=>[...e[57]||(e[57]=[m("提交(自动更新年龄)",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(ze,{ref_key:"fillIdCardFormRef",ref:Je,model:n(I),rules:sa,"label-width":"80px"},{default:s(()=>[l($,{label:"患者"},{default:s(()=>[r("span",kl,c(n(I).patient_name),1)]),_:1}),l($,{label:"身份证号",prop:"id_card"},{default:s(()=>[l(d,{modelValue:n(I).id_card,"onUpdate:modelValue":e[19]||(e[19]=a=>n(I).id_card=a),placeholder:"请输入15或18位身份证号",maxlength:"18","show-word-limit":"",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(xa,{modelValue:n(_e),"onUpdate:modelValue":e[24]||(e[24]=a=>M(_e)?_e.value=a:null),title:`企业微信记录 - ${((nt=n(E))==null?void 0:nt.patient_name)||""}`,size:"600px","destroy-on-close":!0},{default:s(()=>{var a,x;return[n(A)?(i(),u("div",Cl,[l(ka,{column:2,border:"",size:"small"},{default:s(()=>[l(ge,{label:"患者姓名"},{default:s(()=>{var y;return[m(c((y=n(E))==null?void 0:y.patient_name),1)]}),_:1}),l(ge,{label:"手机号"},{default:s(()=>[m(c(n(A).phone||"-"),1)]),_:1}),l(ge,{label:"企微联系人ID"},{default:s(()=>[n(A).external_userid?(i(),u("span",Vl,c(n(A).external_userid),1)):(i(),g(z,{key:1,type:"info",size:"small"},{default:s(()=>[...e[58]||(e[58]=[m("未关联",-1)])]),_:1}))]),_:1}),l(ge,{label:"会话存档"},{default:s(()=>[n(A).msgaudit_enabled?(i(),g(z,{key:0,type:"success",size:"small"},{default:s(()=>[...e[59]||(e[59]=[m("已开通",-1)])]),_:1})):(i(),g(z,{key:1,type:"info",size:"small"},{default:s(()=>[...e[60]||(e[60]=[m("未配置",-1)])]),_:1}))]),_:1})]),_:1}),(a=n(A).permit_users)!=null&&a.length?(i(),u("div",xl,[e[61]||(e[61]=r("span",{class:"text-sm text-gray-500 mr-2"},"存档成员:",-1)),(i(!0),u(D,null,N(n(A).permit_users,y=>(i(),g(z,{key:y,size:"small",class:"mr-1"},{default:s(()=>[m(c(y),1)]),_:2},1024))),128))])):h("",!0),(x=n(A).msgaudit_agree)!=null&&x.length?(i(),u("div",Dl,[e[62]||(e[62]=r("span",{class:"text-sm text-gray-500 mr-2"},"存档同意:",-1)),(i(!0),u(D,null,N(n(A).msgaudit_agree,(y,ye)=>(i(),g(z,{key:ye,type:y.agree_status==="Agree"?"success":"warning",size:"small",class:"mr-1"},{default:s(()=>[m(c(y.userid)+": "+c(y.agree_status==="Agree"?"已同意":y.agree_status),1)]),_:2},1032,["type"]))),128))])):h("",!0)])):h("",!0),l(Ca),r("div",wl,[r("div",El,[l(d,{modelValue:n(Y),"onUpdate:modelValue":e[23]||(e[23]=y=>M(Y)?Y.value=y:null),type:"textarea",rows:2,placeholder:"添加沟通记录...",class:"flex-1"},null,8,["modelValue"]),l(o,{type:"primary",onClick:pa,loading:n(Se),class:"self-end"},{default:s(()=>[...e[63]||(e[63]=[m(" 添加 ",-1)])]),_:1},8,["loading"])])]),q((i(),u("div",null,[n(U).length===0?(i(),u("div",Al," 暂无聊天记录 ")):(i(),u("div",Rl,[(i(!0),u(D,null,N(n(U),y=>{var ye;return i(),u("div",{key:y.id,class:"record-item"},[r("div",Nl,[r("div",Il,[l(z,{type:y.direction===0?"primary":"success",size:"small"},{default:s(()=>[m(c(y.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),r("span",$l,c(y.direction===0?y.staff_name:y.external_name||((ye=n(E))==null?void 0:ye.patient_name)),1),y.msg_type==="note"?(i(),g(z,{key:0,type:"warning",size:"small"},{default:s(()=>[...e[64]||(e[64]=[m("备注",-1)])]),_:1})):h("",!0)]),r("div",Sl,[r("span",Tl,c(ra(y.chat_time)),1),l(o,{type:"danger",link:"",size:"small",onClick:ql=>ca(y.id)},{default:s(()=>[...e[65]||(e[65]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])])]),r("div",zl,c(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"])])):h("",!0)])}),128))])),n(fe)>n(U).length?(i(),u("div",Pl,[l(o,{link:"",type:"primary",onClick:ma},{default:s(()=>[...e[66]||(e[66]=[m("加载更多",-1)])]),_:1})])):h("",!0)])),[[at,n($e)]])]}),_:1},8,["modelValue","title"])])}}}),Ts=mn(Ol,[["__scopeId","data-v-5f089050"]]);export{Ts as default};
diff --git a/server/public/admin/assets/index-9VOSDN8n.js b/server/public/admin/assets/index-BzWLMWLF.js
similarity index 98%
rename from server/public/admin/assets/index-9VOSDN8n.js
rename to server/public/admin/assets/index-BzWLMWLF.js
index 1a98e788..bc32a9da 100644
--- a/server/public/admin/assets/index-9VOSDN8n.js
+++ b/server/public/admin/assets/index-BzWLMWLF.js
@@ -1 +1 @@
-import{i as E,M as N,N as B,T as D,L,J as P}from"./element-plus-lurTijPg.js";import{_ as J}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{J as $,k,c as R,i as j,K as q}from"./index-DF1MLuL8.js";import{u as F}from"./usePaging-VsbTxSU0.js";import{f as w,ar as G,as as H,ak as r,I,a as t,aN as o,aP as d,G as n,O as s,H as f,J as g}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,a as K}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const M={class:"flex"},O={class:"flex justify-end mt-4"},U=w({name:"scheduledTask"}),Jt=w({...U,setup(z){const{pager:p,getLists:c}=F({fetchFun:$,params:{}}),v=async b=>{await j.confirm("确定要删除?"),await q({id:b}),c()};return c(),(b,e)=>{const h=R,m=E,y=G("router-link"),a=B,u=D,x=N,C=J,T=P,_=H("perms"),V=L;return r(),I("div",null,[t(T,{shadow:"never",class:"!border-none"},{default:o(()=>[d((r(),n(y,{to:l(k)("crontab.crontab/add:edit")},{default:o(()=>[t(m,{type:"primary",class:"mb-[16px]"},{icon:o(()=>[t(h,{name:"el-icon-Plus"})]),default:o(()=>[e[1]||(e[1]=s(" 新增 ",-1))]),_:1})]),_:1},8,["to"])),[[_,["crontab.crontab/add","crontab.crontab/add:edit"]]]),d((r(),n(x,{ref:"paneTable",class:"m-t-24",data:l(p).lists,style:{width:"100%"}},{default:o(()=>[t(a,{prop:"name",label:"名称","min-width":"120"}),t(a,{prop:"type_desc",label:"类型","min-width":"100"}),t(a,{prop:"command",label:"命令","min-width":"100"}),t(a,{prop:"params",label:"参数","min-width":"80"}),t(a,{prop:"expression",label:"规则","min-width":"100"}),t(a,{prop:"status",label:"状态","min-width":"100"},{default:o(({row:i})=>[i.status==1?(r(),n(u,{key:0,type:"success"},{default:o(()=>[...e[2]||(e[2]=[s("运行中",-1)])]),_:1})):f("",!0),i.status==2?(r(),n(u,{key:1,type:"info"},{default:o(()=>[...e[3]||(e[3]=[s("已停止",-1)])]),_:1})):f("",!0),i.status==3?(r(),n(u,{key:2,type:"danger"},{default:o(()=>[...e[4]||(e[4]=[s("错误",-1)])]),_:1})):f("",!0)]),_:1}),t(a,{prop:"error",label:"错误原因","min-width":"120"}),t(a,{prop:"last_time",label:"最后执行时间",width:"180"}),t(a,{prop:"time",label:"时长","min-width":"100"}),t(a,{prop:"max_time",label:"最大时长","min-width":"100"}),t(a,{label:"操作",width:"120",fixed:"right"},{default:o(({row:i})=>[g("div",M,[t(m,{type:"primary",link:""},{default:o(()=>[d((r(),n(y,{to:{path:l(k)("crontab.crontab/add:edit"),query:{id:i.id}}},{default:o(()=>[t(m,{type:"primary",link:""},{default:o(()=>[...e[5]||(e[5]=[s(" 编辑 ",-1)])]),_:1})]),_:1},8,["to"])),[[_,["crontab.crontab/edit","crontab.crontab/add:edit"]]])]),_:2},1024),d((r(),n(m,{type:"danger",link:"",onClick:A=>v(i.id)},{default:o(()=>[...e[6]||(e[6]=[s(" 删除 ",-1)])]),_:1},8,["onClick"])),[[_,["crontab.crontab/delete"]]])])]),_:1})]),_:1},8,["data"])),[[V,l(p).loading]]),g("div",O,[t(C,{modelValue:l(p),"onUpdate:modelValue":e[0]||(e[0]=i=>K(p)?p.value=i:null),onChange:l(c)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{Jt as default};
+import{i as E,M as N,N as B,T as D,L,J as P}from"./element-plus-lurTijPg.js";import{_ as J}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{J as $,k,c as R,i as j,K as q}from"./index-FimllnSe.js";import{u as F}from"./usePaging-VsbTxSU0.js";import{f as w,ar as G,as as H,ak as r,I,a as t,aN as o,aP as d,G as n,O as s,H as f,J as g}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,a as K}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const M={class:"flex"},O={class:"flex justify-end mt-4"},U=w({name:"scheduledTask"}),Jt=w({...U,setup(z){const{pager:p,getLists:c}=F({fetchFun:$,params:{}}),v=async b=>{await j.confirm("确定要删除?"),await q({id:b}),c()};return c(),(b,e)=>{const h=R,m=E,y=G("router-link"),a=B,u=D,x=N,C=J,T=P,_=H("perms"),V=L;return r(),I("div",null,[t(T,{shadow:"never",class:"!border-none"},{default:o(()=>[d((r(),n(y,{to:l(k)("crontab.crontab/add:edit")},{default:o(()=>[t(m,{type:"primary",class:"mb-[16px]"},{icon:o(()=>[t(h,{name:"el-icon-Plus"})]),default:o(()=>[e[1]||(e[1]=s(" 新增 ",-1))]),_:1})]),_:1},8,["to"])),[[_,["crontab.crontab/add","crontab.crontab/add:edit"]]]),d((r(),n(x,{ref:"paneTable",class:"m-t-24",data:l(p).lists,style:{width:"100%"}},{default:o(()=>[t(a,{prop:"name",label:"名称","min-width":"120"}),t(a,{prop:"type_desc",label:"类型","min-width":"100"}),t(a,{prop:"command",label:"命令","min-width":"100"}),t(a,{prop:"params",label:"参数","min-width":"80"}),t(a,{prop:"expression",label:"规则","min-width":"100"}),t(a,{prop:"status",label:"状态","min-width":"100"},{default:o(({row:i})=>[i.status==1?(r(),n(u,{key:0,type:"success"},{default:o(()=>[...e[2]||(e[2]=[s("运行中",-1)])]),_:1})):f("",!0),i.status==2?(r(),n(u,{key:1,type:"info"},{default:o(()=>[...e[3]||(e[3]=[s("已停止",-1)])]),_:1})):f("",!0),i.status==3?(r(),n(u,{key:2,type:"danger"},{default:o(()=>[...e[4]||(e[4]=[s("错误",-1)])]),_:1})):f("",!0)]),_:1}),t(a,{prop:"error",label:"错误原因","min-width":"120"}),t(a,{prop:"last_time",label:"最后执行时间",width:"180"}),t(a,{prop:"time",label:"时长","min-width":"100"}),t(a,{prop:"max_time",label:"最大时长","min-width":"100"}),t(a,{label:"操作",width:"120",fixed:"right"},{default:o(({row:i})=>[g("div",M,[t(m,{type:"primary",link:""},{default:o(()=>[d((r(),n(y,{to:{path:l(k)("crontab.crontab/add:edit"),query:{id:i.id}}},{default:o(()=>[t(m,{type:"primary",link:""},{default:o(()=>[...e[5]||(e[5]=[s(" 编辑 ",-1)])]),_:1})]),_:1},8,["to"])),[[_,["crontab.crontab/edit","crontab.crontab/add:edit"]]])]),_:2},1024),d((r(),n(m,{type:"danger",link:"",onClick:A=>v(i.id)},{default:o(()=>[...e[6]||(e[6]=[s(" 删除 ",-1)])]),_:1},8,["onClick"])),[[_,["crontab.crontab/delete"]]])])]),_:1})]),_:1},8,["data"])),[[V,l(p).loading]]),g("div",O,[t(C,{modelValue:l(p),"onUpdate:modelValue":e[0]||(e[0]=i=>K(p)?p.value=i:null),onChange:l(c)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{Jt as default};
diff --git a/server/public/admin/assets/index-BP_YKY_y.js b/server/public/admin/assets/index-C4BsY_iD.js
similarity index 98%
rename from server/public/admin/assets/index-BP_YKY_y.js
rename to server/public/admin/assets/index-C4BsY_iD.js
index a772497a..f3979253 100644
--- a/server/public/admin/assets/index-BP_YKY_y.js
+++ b/server/public/admin/assets/index-C4BsY_iD.js
@@ -1 +1 @@
-import{v as Ye,E as Re,V as qe,_ as Ke,L as Qe,s as Ze,$ as Je,n as He,o as Oe,i as Xe,P as et,C as tt,r as lt,H as nt,M as st,N as at,S as ot,p as it,Q as dt}from"./element-plus-lurTijPg.js";import{_ as ut}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{_ as rt}from"./index-mDy9ToMf.js";import{_ as De,c as Ie,i as ce,o as ct}from"./index-DF1MLuL8.js";import{_ as mt}from"./index-CnpV87Ke.js";import{U as ft}from"./index-_ERDssCQ.js";import{_ as pt}from"./index.vue_vue_type_script_setup_true_lang-SfFZFG0h.js";import{q as me,s as K,w as vt}from"./@vue/runtime-dom-DDAG46FW.js";import{f as fe,ak as i,I as m,J as o,G as h,a as n,H as p,aq as yt,w as Q,n as Ee,aP as Z,aN as s,A as Le,a5 as _t,b as gt,O as r,F as D,ap as W}from"./@vue/runtime-core-C6bnekPw.js";import{p as Te,o as ze,Q as ue}from"./@vue/shared-mAAVTE9n.js";import{f as Ct,b as ht,c as kt,d as $e,e as wt,g as bt,h as xt,i as St}from"./file-BdGKYRpa.js";import{u as At}from"./usePaging-VsbTxSU0.js";import{n as E,q as pe,r as Vt,y as l,a as T,K as Et}from"./@vue/reactivity-DiY1c2vO.js";const zt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAgCAYAAABgrToAAAACJElEQVRYR+2YMWsUURSFz3m7s+nskjUIQSutbMRi7WzUVjSadMHCbVLkByjmLygaCVYWRqMEUhkFS9Gg0cJfYCPZjYUQFbPs+I7c2R1Q2ZjZfRNYYS4MAzPv3vnmvDvL3kMA2Hl5/CjLI9ckf4ZwY3Zt15C+gfwIao3So0rt3XsJtPUk9M/cAW6y9ap2DIyfAjgCwANwGeoYiEFtk/5e5CvXeer1D2neATcGgiTZM4+t9RNLEKcBtAFEGeBsiRWzl7EoSXo+8rV9gWc/fDc1B1VSEoEnDpj0KTB33tS26DGaEezvZQZpRxmODyoT5+vwBwS3zeTcT4yjTdZNJEiPSykk1bjZX6HeD/WQJ1zUApgq2w+etcsniBuAVlH9vELOx6Yo1VywgkmTB4X1kEGGhyAtg/Ecq3NNqnknDwVTrNBaactEts88OHs5b8Bw/Tof4M+kr4WrwwhoL9n5uRPWhxWwsxPEl+EGNMacP5I8evCPGgVgqKSFgoWCoQqE5hc9WCgYqkBoftGDeSiYz1/+UJLe+foftvh2A2B1fwQIrapkaFoDcK4PVyH0qVnyU4fjGdW4NQ2WlgDE5hLkMoJmQdh9zW9Dk59K5lhtLjyE01TX/jDILP5MGEbvbFPOJroIXvc5PjvTBbx7GM4vAjjd9WdSc2g/IPaqaTv5Aq58haP1TSb2Au20GGErvgTxIqiTAA7tVSnn+2Z9vAXdCsa4bD6Nsf0C/gYA5PMzcW0AAAAASUVORK5CYII=",$t=fe({props:{uri:{type:String},fileSize:{type:String,default:"100px"},width:{type:String,default:""},height:{type:String,default:""},type:{type:String,default:"image"}},emits:["close"]}),Rt=["src"],Dt={key:3,class:"absolute left-1/2 top-1/2 translate-x-[-50%] translate-y-[-50%] rounded-full w-5 h-5 flex justify-center items-center bg-[rgba(0,0,0,0.3)]"};function It(a,$,x,_,k,z){const S=Ye,u=Ie;return i(),m("div",null,[o("div",{class:"file-item relative",style:Te({height:a.height||a.fileSize,width:a.width||a.fileSize})},[a.type=="image"?(i(),h(S,{key:0,class:"image",fit:"contain",src:a.uri},null,8,["src"])):a.type=="video"?(i(),m("video",{key:1,class:"video",src:a.uri},null,8,Rt)):(i(),h(S,{key:2,class:"image",src:"https://img95.699pic.com/element/40103/3946.png_860.png"})),a.type=="video"?(i(),m("div",Dt,[n(u,{name:"el-icon-CaretRight",size:18,color:"#fff"})])):p("",!0),yt(a.$slots,"default",{},void 0,!0)],4)])}const re=De($t,[["render",It],["__scopeId","data-v-60d59d9e"]]);function Lt(a){const $=pe(),x=E([]),_=E(""),k=async()=>{const f=await Ct({page_type:0,type:a}),C=[{name:"全部",id:""},{name:"未分组",id:0}];x.value=f.lists,x.value.unshift(...C),setTimeout(()=>{var w;(w=$.value)==null||w.setCurrentKey(_.value)},0)};return{treeRef:$,cateId:_,cateLists:x,handleAddCate:async f=>{await $e({type:a,name:f,pid:0}),k()},handleAddChildCate:async(f,C)=>{await $e({type:a,name:f,pid:C}),k()},handleEditCate:async(f,C)=>{await kt({id:C,name:f}),k()},handleDeleteCate:async(f,C)=>{C?await ce.confirm("删除文件夹将会永久删除文件夹及其所有内容。您确定要继续吗?"):await ce.confirm("确定要删除?"),await ht({id:f}),_.value="",k()},getCateLists:k,handleCatSelect:f=>{_.value=f.id}}}function Tt(a,$,x,_){const k=pe(),z=E("normal"),S=E(0),u=E([]),R=E(!1),g=E(!1),f=Vt({name:"",type:$,cid:a,source:""}),{pager:C,getLists:w,resetPage:j}=At({fetchFun:St,params:f,firstLoading:!0,size:_}),F=()=>{w()},J=()=>{j()},H=c=>!!u.value.find(d=>d.id==c),O=async c=>{await ce.confirm("确认删除后,本地或云存储文件也将同步删除,如文件已被使用,请谨慎操作!");const d=c||u.value.map(V=>V.id);await xt({ids:d}),F(),U()},X=async()=>{const c=u.value.map(d=>d.id);await bt({ids:c,cid:S.value}),S.value=0,F(),U()},ee=c=>{const d=u.value.findIndex(V=>V.id==c.id);if(d!=-1){u.value.splice(d,1);return}if(u.value.length==x.value){if(x.value==1){u.value=[],u.value.push(c);return}Re.warning("已达到选择上限");return}u.value.push(c)},U=()=>{u.value=[]};return{listShowType:z,tableRef:k,moveId:S,pager:C,fileParams:f,select:u,isCheckAll:R,isIndeterminate:g,getFileList:F,refresh:J,batchFileDelete:O,batchFileMove:X,selectFile:ee,isSelect:H,clearSelect:U,cancelSelete:c=>{u.value=u.value.filter(d=>d.id!=c)},selectAll:c=>{var d;if(g.value=!1,(d=k.value)==null||d.toggleAllSelection(),c){u.value=[...C.lists];return}U()},handleFileRename:async(c,d)=>{await wt({id:d,name:c}),F()}}}const Ft={key:0},Ut={key:1},Pt={class:"aspect-video overflow-hidden"},jt={class:"size-full",controls:""},Mt=["src"],Bt=fe({__name:"preview",props:{modelValue:{type:Boolean,default:!1},url:{type:String,default:""},type:{type:String,default:"image"}},emits:["update:modelValue"],setup(a,{emit:$}){const x=a,_=$,k=pe(),z=Le({get(){return x.modelValue},set(R){_("update:modelValue",R)}}),S=()=>{_("update:modelValue",!1)},u=E([]);return Q(()=>x.modelValue,R=>{R?Ee(()=>{var g;u.value=[x.url],(g=k.value)==null||g.play()}):Ee(()=>{var g;u.value=[],(g=k.value)==null||g.pause()})}),(R,g)=>{const f=Ke,C=qe;return Z((i(),m("div",null,[a.type=="image"?(i(),m("div",Ft,[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),a.type=="video"?(i(),m("div",Ut,[n(C,{modelValue:l(z),"onUpdate:modelValue":g[0]||(g[0]=w=>T(z)?z.value=w:null),width:"740px",title:"视频预览","before-close":S},{default:s(()=>[o("div",Pt,[o("video",jt,[o("source",{src:a.url,type:"video/mp4"},null,8,Mt)])])]),_:1},8,["modelValue"])])):p("",!0)],512)),[[me,a.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"},Qt=["onClick"],Zt={class:"flex justify-center p-2 border-t border-br"},Jt={class:"material__center flex flex-col"},Ht={class:"operate-btn flex"},Ot={class:"flex-1 flex"},Xt={class:"flex items-center ml-2"},el={key:0,class:"mt-3"},tl={class:"material-center__content flex flex-col flex-1 mb-1 min-h-0"},ll={class:"file-list flex flex-wrap mt-4"},nl={key:0,class:"item-selected"},sl={class:"operation-btns flex items-center"},al={class:"inline-block"},ol={class:"inline-block"},il={class:"inline-block"},dl={key:1,class:"flex flex-1 justify-center items-center"},ul={class:"material-center__footer flex justify-between items-center mt-2"},rl={class:"flex"},cl={class:"mr-3"},ml={key:0,class:"material__right"},fl={class:"flex justify-between p-2 flex-wrap"},pl={class:"sm flex items-center"},vl={key:0},yl={class:"flex-1 min-h-0"},_l={class:"select-lists flex flex-col p-t-3"},gl={class:"select-item"},Cl=fe({__name:"index",props:{fileSize:{type:String,default:"100px"},limit:{type:Number,default:1},type:{type:String,default:"image"},mode:{type:String,default:"picker"},pageSize:{type:Number,default:15}},emits:["change"],setup(a,{expose:$,emit:x}){const _=a,k=x,{limit:z}=Et(_),S=Le(()=>{switch(_.type){case"image":return 10;case"video":return 20;case"file":return 30;default:return 0}}),u=[{value:"0",label:"后台上传"},{value:"1",label:"前端上传"}],R=_t("visible",E(!1)),g=E(""),f=E(!1),{treeRef:C,cateId:w,cateLists:j,handleAddCate:F,handleAddChildCate:J,handleEditCate:H,handleDeleteCate:O,getCateLists:X,handleCatSelect:ee}=Lt(S.value),{tableRef:U,listShowType:I,moveId:L,pager:A,fileParams:c,select:d,isCheckAll:V,isIndeterminate:M,getFileList:ve,refresh:P,batchFileDelete:Y,batchFileMove:ye,selectFile:te,isSelect:_e,clearSelect:ge,cancelSelete:Fe,selectAll:Ce,handleFileRename:he}=Tt(w,S,z,_.pageSize),ke=async()=>{var b;await X(),(b=C.value)==null||b.setCurrentKey(w.value),ve()},le=b=>{g.value=b,f.value=!0};Q(()=>R.value,async b=>{b&&ke()},{immediate:!0}),Q(w,()=>{c.name="",P()}),Q(d,b=>{if(k("change",b),b.length==A.lists.length&&b.length!==0){M.value=!1,V.value=!0;return}b.length>0?M.value=!0:(V.value=!1,M.value=!1)},{deep:!0}),gt(()=>{_.mode=="page"&&ke()}),$({clearSelect:ge});const we=E(),Ue=b=>{const e=b,B=we.value;B.value=e,B.select(),document.execCommand("copy"),Re({message:"地址复制成功",type:"success"})};return(b,e)=>{const B=ct,ne=Oe,N=pt,Pe=He,je=it,Me=Je,se=Ze,y=Xe,ae=ft,oe=dt,ie=et,be=mt,q=Ie,Be=tt,xe=lt,de=nt,Se=rt,Ae=ot,G=at,Ne=st,Ge=ut,We=Qe;return Z((i(),m("div",Nt,[o("div",Gt,[o("div",Wt,[n(se,null,{default:s(()=>[o("div",Yt,[n(Me,{ref_key:"treeRef",ref:C,"node-key":"id",data:l(j),"empty-text":"","highlight-current":!0,"expand-on-click-node":!1,"current-node-key":l(w),onNodeClick:l(ee)},{default:s(({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(je,{key:0,"hide-on-click":!1},{dropdown:s(()=>[n(Pe,null,{default:s(()=>[n(N,{onConfirm:v=>l(H)(v,t.id),size:"default",value:t.name,width:"400px",limit:20,"show-limit":"",teleported:""},{default:s(()=>[o("div",null,[n(ne,null,{default:s(()=>[...e[12]||(e[12]=[r(" 命名分组 ",-1)])]),_:1})])]),_:1},8,["onConfirm","value"]),n(N,{onConfirm:v=>l(J)(v,t.id),size:"default",width:"400px",limit:20,"show-limit":"",teleported:""},{default:s(()=>[o("div",null,[n(ne,null,{default:s(()=>[...e[13]||(e[13]=[r(" 添加分组 ",-1)])]),_:1})])]),_:1},8,["onConfirm"]),o("div",{onClick:v=>{var Ve;return l(O)(t.id,(Ve=t==null?void 0:t.children)==null?void 0:Ve.length)}},[n(ne,null,{default:s(()=>[...e[14]||(e[14]=[r("删除分组",-1)])]),_:1})],8,Qt)]),_:2},1024)]),default:s(()=>[e[15]||(e[15]=o("span",{class:"muted m-r-10"},"···",-1))]),_:2},1024)):p("",!0)])]),_:1},8,["data","current-node-key","onNodeClick"])])]),_:1})]),o("div",Zt,[n(N,{onConfirm:l(F),size:"default",width:"400px",limit:20,"show-limit":"",teleported:""},{default:s(()=>[n(y,null,{default:s(()=>[...e[17]||(e[17]=[r(" 添加分组 ",-1)])]),_:1})]),_:1},8,["onConfirm"])])]),o("div",Jt,[o("div",Ht,[o("div",Ot,[a.type=="image"?(i(),h(ae,{key:0,class:"mr-3",data:{cid:l(w)},type:a.type,"show-progress":!0,onChange:l(P)},{default:s(()=>[n(y,{type:"primary"},{default:s(()=>[...e[18]||(e[18]=[r("本地上传",-1)])]),_:1})]),_:1},8,["data","type","onChange"])):p("",!0),a.type=="video"?(i(),h(ae,{key:1,class:"mr-3",data:{cid:l(w)},type:a.type,"show-progress":!0,onAllSuccess:l(P)},{default:s(()=>[n(y,{type:"primary"},{default:s(()=>[...e[19]||(e[19]=[r("本地上传",-1)])]),_:1})]),_:1},8,["data","type","onAllSuccess"])):p("",!0),a.type=="file"?(i(),h(ae,{key:2,class:"mr-3",data:{cid:l(w)},type:a.type,"show-progress":!0,onAllSuccess:l(P)},{default:s(()=>[n(y,{type:"primary"},{default:s(()=>[...e[20]||(e[20]=[r("本地上传",-1)])]),_:1})]),_:1},8,["data","type","onAllSuccess"])):p("",!0),a.mode=="page"?(i(),h(y,{key:3,disabled:!l(d).length,onClick:e[0]||(e[0]=K(t=>l(Y)(),["stop"]))},{default:s(()=>[...e[21]||(e[21]=[r(" 删除 ",-1)])]),_:1},8,["disabled"])):p("",!0),a.mode=="page"?(i(),h(be,{key:4,class:"ml-3",onConfirm:l(ye),disabled:!l(d).length,title:"移动文件"},{trigger:s(()=>[n(y,{disabled:!l(d).length},{default:s(()=>[...e[22]||(e[22]=[r("移动",-1)])]),_:1},8,["disabled"])]),default:s(()=>[o("div",null,[e[23]||(e[23]=o("span",{class:"mr-5"},"移动文件至",-1)),n(ie,{modelValue:l(L),"onUpdate:modelValue":e[1]||(e[1]=t=>T(L)?L.value=t:null),placeholder:"请选择"},{default:s(()=>[(i(!0),m(D,null,W(l(j),t=>(i(),m(D,{key:t.id},[t.id!==""?(i(),h(oe,{key:0,label:t.name,value:t.id},null,8,["label","value"])):p("",!0)],64))),128))]),_:1},8,["modelValue"])])]),_:1},8,["onConfirm","disabled"])):p("",!0)]),n(ie,{modelValue:l(c).source,"onUpdate:modelValue":e[2]||(e[2]=t=>l(c).source=t),placeholder:"请选择文件来源",clearable:"",style:{"margin-right":"20px"},class:"max-w-52 ml-3"},{default:s(()=>[(i(),m(D,null,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:vt(l(P),["enter"])},{append:s(()=>[n(y,{onClick:l(P)},{icon:s(()=>[n(q,{name:"el-icon-Search"})]),_:1},8,["onClick"])]),_:1},8,["modelValue","onKeyup"]),o("div",Xt,[n(xe,{content:"列表视图",placement:"top"},{default:s(()=>[o("div",{class:ze(["list-icon",{select:l(I)=="table"}]),onClick:e[4]||(e[4]=t=>I.value="table")},[n(q,{name:"local-icon-list-2",size:18})],2)]),_:1}),n(xe,{content:"平铺视图",placement:"top"},{default:s(()=>[o("div",{class:ze(["list-icon",{select:l(I)=="normal"}]),onClick:e[5]||(e[5]=t=>I.value="normal")},[n(q,{name:"el-icon-Menu",size:18})],2)]),_:1})])]),a.mode=="page"?(i(),m("div",el,[n(de,{disabled:!l(A).lists.length,modelValue:l(V),"onUpdate:modelValue":e[6]||(e[6]=t=>T(V)?V.value=t:null),onChange:l(Ce),indeterminate:l(M)},{default:s(()=>[...e[24]||(e[24]=[r(" 当页全选 ",-1)])]),_:1},8,["disabled","modelValue","onChange","indeterminate"])])):p("",!0),o("div",tl,[l(A).lists.length?Z((i(),h(se,{key:0},{default:s(()=>[o("ul",ll,[(i(!0),m(D,null,W(l(A).lists,t=>(i(),m("li",{class:"file-item-wrap",key:t.id,style:Te({width:a.fileSize})},[n(Se,{onClose:v=>l(Y)([t.id])},{default:s(()=>[n(re,{uri:t.url,"file-size":a.fileSize,type:a.type,onClick:v=>l(te)(t)},{default:s(()=>[l(_e)(t.id)?(i(),m("div",nl,[n(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",sl,[n(N,{onConfirm:v=>l(he)(v,t.id),size:"default",value:t.name,width:"400px",limit:50,"show-limit":"",teleported:""},{default:s(()=>[n(y,{type:"primary",link:""},{default:s(()=>[...e[25]||(e[25]=[r(" 重命名 ",-1)])]),_:1})]),_:1},8,["onConfirm","value"]),t.type===10||t.type===20?(i(),h(y,{key:0,type:"primary",link:"",onClick:v=>le(t.url)},{default:s(()=>[...e[26]||(e[26]=[r(" 查看 ",-1)])]),_:1},8,["onClick"])):p("",!0),t.type===10||t.type===20?(i(),h(y,{key:1,type:"primary",link:"",onClick:v=>Ue(t.url),style:{"margin-left":"1px"}},{default:s(()=>[...e[27]||(e[27]=[r("地址",-1)])]),_:1},8,["onClick"])):(i(),h(Ae,{key:2,type:"primary",underline:!1,style:{"margin-left":"25px"},href:t.url},{default:s(()=>[...e[28]||(e[28]=[r("下载",-1)])]),_:1},8,["href"]))])],4))),128))])]),_:1},512)),[[me,l(I)=="normal"]]):p("",!0),Z(n(Ne,{ref_key:"tableRef",ref:U,class:"mt-4",data:l(A).lists,width:"100%",height:"100%",size:"large",onRowClick:l(te)},{default:s(()=>[n(G,{width:"55"},{default:s(({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:s(({row:t})=>[n(re,{uri:t.url,"file-size":"50px",type:a.type},null,8,["uri","type"])]),_:1}),n(G,{label:"名称","min-width":"100","show-overflow-tooltip":""},{default:s(({row:t})=>[n(Ae,{onClick:K(v=>le(t.url),["stop"]),underline:!1},{default:s(()=>[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:s(({row:t})=>[o("div",al,[n(N,{onConfirm:v=>l(he)(v,t.id),size:"default",value:t.name,width:"400px",limit:50,"show-limit":"",teleported:""},{default:s(()=>[n(y,{type:"primary",link:""},{default:s(()=>[...e[29]||(e[29]=[r(" 重命名 ",-1)])]),_:1})]),_:1},8,["onConfirm","value"])]),o("div",ol,[n(y,{type:"primary",link:"",onClick:K(v=>le(t.url),["stop"])},{default:s(()=>[...e[30]||(e[30]=[r(" 查看 ",-1)])]),_:1},8,["onClick"])]),o("div",il,[n(y,{type:"primary",link:"",onClick:K(v=>l(Y)([t.id]),["stop"])},{default:s(()=>[...e[31]||(e[31]=[r(" 删除 ",-1)])]),_:1},8,["onClick"])])]),_:1})]),_:1},8,["data","onRowClick"]),[[me,l(I)=="table"]]),!l(A).loading&&!l(A).lists.length?(i(),m("div",dl," 暂无数据~ ")):p("",!0)]),o("div",ul,[o("div",rl,[a.mode=="page"?(i(),m(D,{key:0},[o("span",cl,[n(de,{disabled:!l(A).lists.length,modelValue:l(V),"onUpdate:modelValue":e[7]||(e[7]=t=>T(V)?V.value=t:null),onChange:l(Ce),indeterminate:l(M)},{default:s(()=>[...e[32]||(e[32]=[r(" 当页全选 ",-1)])]),_:1},8,["disabled","modelValue","onChange","indeterminate"])]),n(y,{disabled:!l(d).length,onClick:e[8]||(e[8]=t=>l(Y)())},{default:s(()=>[...e[33]||(e[33]=[r(" 删除 ",-1)])]),_:1},8,["disabled"]),n(be,{class:"ml-3 inline",onConfirm:l(ye),disabled:!l(d).length,title:"移动文件"},{trigger:s(()=>[n(y,{disabled:!l(d).length},{default:s(()=>[...e[34]||(e[34]=[r("移动",-1)])]),_:1},8,["disabled"])]),default:s(()=>[o("div",null,[e[35]||(e[35]=o("span",{class:"mr-5"},"移动文件至",-1)),n(ie,{modelValue:l(L),"onUpdate:modelValue":e[9]||(e[9]=t=>T(L)?L.value=t:null),placeholder:"请选择"},{default:s(()=>[(i(!0),m(D,null,W(l(j),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=>T(A)?A.value=t:null),onChange:l(ve),layout:"total, prev, pager, next, jumper"},null,8,["modelValue","onChange"])])]),a.mode=="picker"?(i(),m("div",ml,[o("div",fl,[o("div",pl,[r(" 已选择 "+ue(l(d).length)+" ",1),l(z)?(i(),m("span",vl,"/"+ue(l(z)),1)):p("",!0)]),n(y,{type:"primary",link:"",onClick:l(ge)},{default:s(()=>[...e[36]||(e[36]=[r("清空",-1)])]),_:1},8,["onClick"])]),o("div",yl,[n(se,{class:"ls-scrollbar"},{default:s(()=>[o("ul",_l,[(i(!0),m(D,null,W(l(d),t=>(i(),m("li",{class:"mb-4",key:t.id},[o("div",gl,[n(Se,{onClose:v=>l(Fe)(t.id)},{default:s(()=>[n(re,{uri:t.url,"file-size":"100px",type:a.type},null,8,["uri","type"])]),_:2},1032,["onClose"])])]))),128))])]),_:1})])])):p("",!0),n(Bt,{modelValue:l(f),"onUpdate:modelValue":e[11]||(e[11]=t=>T(f)?f.value=t:null),url:l(g),type:a.type},null,8,["modelValue","url","type"]),o("input",{ref_key:"textCopys",ref:we,id:"textCopys",value:"",style:{opacity:"0",position:"absolute"}},null,512)])),[[We,l(A).loading]])}}}),Il=De(Cl,[["__scopeId","data-v-1e1d2cd0"]]);export{re as F,Bt as _,Il as a};
+import{v as Ye,E as Re,V as qe,_ as Ke,L as Qe,s as Ze,$ as Je,n as He,o as Oe,i as Xe,P as et,C as tt,r as lt,H as nt,M as st,N as at,S as ot,p as it,Q as dt}from"./element-plus-lurTijPg.js";import{_ as ut}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{_ as rt}from"./index-BFPN4E1c.js";import{_ as De,c as Ie,i as ce,o as ct}from"./index-FimllnSe.js";import{_ as mt}from"./index-DPukmZrj.js";import{U as ft}from"./index-DWt-lpdR.js";import{_ as pt}from"./index.vue_vue_type_script_setup_true_lang-SfFZFG0h.js";import{q as me,s as K,w as vt}from"./@vue/runtime-dom-DDAG46FW.js";import{f as fe,ak as i,I as m,J as o,G as h,a as n,H as p,aq as yt,w as Q,n as Ee,aP as Z,aN as s,A as Le,a5 as _t,b as gt,O as r,F as D,ap as W}from"./@vue/runtime-core-C6bnekPw.js";import{p as Te,o as ze,Q as ue}from"./@vue/shared-mAAVTE9n.js";import{f as Ct,b as ht,c as kt,d as $e,e as wt,g as bt,h as xt,i as St}from"./file-C3a0qLlq.js";import{u as At}from"./usePaging-VsbTxSU0.js";import{n as E,q as pe,r as Vt,y as l,a as T,K as Et}from"./@vue/reactivity-DiY1c2vO.js";const zt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAgCAYAAABgrToAAAACJElEQVRYR+2YMWsUURSFz3m7s+nskjUIQSutbMRi7WzUVjSadMHCbVLkByjmLygaCVYWRqMEUhkFS9Gg0cJfYCPZjYUQFbPs+I7c2R1Q2ZjZfRNYYS4MAzPv3vnmvDvL3kMA2Hl5/CjLI9ckf4ZwY3Zt15C+gfwIao3So0rt3XsJtPUk9M/cAW6y9ap2DIyfAjgCwANwGeoYiEFtk/5e5CvXeer1D2neATcGgiTZM4+t9RNLEKcBtAFEGeBsiRWzl7EoSXo+8rV9gWc/fDc1B1VSEoEnDpj0KTB33tS26DGaEezvZQZpRxmODyoT5+vwBwS3zeTcT4yjTdZNJEiPSykk1bjZX6HeD/WQJ1zUApgq2w+etcsniBuAVlH9vELOx6Yo1VywgkmTB4X1kEGGhyAtg/Ecq3NNqnknDwVTrNBaactEts88OHs5b8Bw/Tof4M+kr4WrwwhoL9n5uRPWhxWwsxPEl+EGNMacP5I8evCPGgVgqKSFgoWCoQqE5hc9WCgYqkBoftGDeSiYz1/+UJLe+foftvh2A2B1fwQIrapkaFoDcK4PVyH0qVnyU4fjGdW4NQ2WlgDE5hLkMoJmQdh9zW9Dk59K5lhtLjyE01TX/jDILP5MGEbvbFPOJroIXvc5PjvTBbx7GM4vAjjd9WdSc2g/IPaqaTv5Aq58haP1TSb2Au20GGErvgTxIqiTAA7tVSnn+2Z9vAXdCsa4bD6Nsf0C/gYA5PMzcW0AAAAASUVORK5CYII=",$t=fe({props:{uri:{type:String},fileSize:{type:String,default:"100px"},width:{type:String,default:""},height:{type:String,default:""},type:{type:String,default:"image"}},emits:["close"]}),Rt=["src"],Dt={key:3,class:"absolute left-1/2 top-1/2 translate-x-[-50%] translate-y-[-50%] rounded-full w-5 h-5 flex justify-center items-center bg-[rgba(0,0,0,0.3)]"};function It(a,$,x,_,k,z){const S=Ye,u=Ie;return i(),m("div",null,[o("div",{class:"file-item relative",style:Te({height:a.height||a.fileSize,width:a.width||a.fileSize})},[a.type=="image"?(i(),h(S,{key:0,class:"image",fit:"contain",src:a.uri},null,8,["src"])):a.type=="video"?(i(),m("video",{key:1,class:"video",src:a.uri},null,8,Rt)):(i(),h(S,{key:2,class:"image",src:"https://img95.699pic.com/element/40103/3946.png_860.png"})),a.type=="video"?(i(),m("div",Dt,[n(u,{name:"el-icon-CaretRight",size:18,color:"#fff"})])):p("",!0),yt(a.$slots,"default",{},void 0,!0)],4)])}const re=De($t,[["render",It],["__scopeId","data-v-60d59d9e"]]);function Lt(a){const $=pe(),x=E([]),_=E(""),k=async()=>{const f=await Ct({page_type:0,type:a}),C=[{name:"全部",id:""},{name:"未分组",id:0}];x.value=f.lists,x.value.unshift(...C),setTimeout(()=>{var w;(w=$.value)==null||w.setCurrentKey(_.value)},0)};return{treeRef:$,cateId:_,cateLists:x,handleAddCate:async f=>{await $e({type:a,name:f,pid:0}),k()},handleAddChildCate:async(f,C)=>{await $e({type:a,name:f,pid:C}),k()},handleEditCate:async(f,C)=>{await kt({id:C,name:f}),k()},handleDeleteCate:async(f,C)=>{C?await ce.confirm("删除文件夹将会永久删除文件夹及其所有内容。您确定要继续吗?"):await ce.confirm("确定要删除?"),await ht({id:f}),_.value="",k()},getCateLists:k,handleCatSelect:f=>{_.value=f.id}}}function Tt(a,$,x,_){const k=pe(),z=E("normal"),S=E(0),u=E([]),R=E(!1),g=E(!1),f=Vt({name:"",type:$,cid:a,source:""}),{pager:C,getLists:w,resetPage:j}=At({fetchFun:St,params:f,firstLoading:!0,size:_}),F=()=>{w()},J=()=>{j()},H=c=>!!u.value.find(d=>d.id==c),O=async c=>{await ce.confirm("确认删除后,本地或云存储文件也将同步删除,如文件已被使用,请谨慎操作!");const d=c||u.value.map(V=>V.id);await xt({ids:d}),F(),U()},X=async()=>{const c=u.value.map(d=>d.id);await bt({ids:c,cid:S.value}),S.value=0,F(),U()},ee=c=>{const d=u.value.findIndex(V=>V.id==c.id);if(d!=-1){u.value.splice(d,1);return}if(u.value.length==x.value){if(x.value==1){u.value=[],u.value.push(c);return}Re.warning("已达到选择上限");return}u.value.push(c)},U=()=>{u.value=[]};return{listShowType:z,tableRef:k,moveId:S,pager:C,fileParams:f,select:u,isCheckAll:R,isIndeterminate:g,getFileList:F,refresh:J,batchFileDelete:O,batchFileMove:X,selectFile:ee,isSelect:H,clearSelect:U,cancelSelete:c=>{u.value=u.value.filter(d=>d.id!=c)},selectAll:c=>{var d;if(g.value=!1,(d=k.value)==null||d.toggleAllSelection(),c){u.value=[...C.lists];return}U()},handleFileRename:async(c,d)=>{await wt({id:d,name:c}),F()}}}const Ft={key:0},Ut={key:1},Pt={class:"aspect-video overflow-hidden"},jt={class:"size-full",controls:""},Mt=["src"],Bt=fe({__name:"preview",props:{modelValue:{type:Boolean,default:!1},url:{type:String,default:""},type:{type:String,default:"image"}},emits:["update:modelValue"],setup(a,{emit:$}){const x=a,_=$,k=pe(),z=Le({get(){return x.modelValue},set(R){_("update:modelValue",R)}}),S=()=>{_("update:modelValue",!1)},u=E([]);return Q(()=>x.modelValue,R=>{R?Ee(()=>{var g;u.value=[x.url],(g=k.value)==null||g.play()}):Ee(()=>{var g;u.value=[],(g=k.value)==null||g.pause()})}),(R,g)=>{const f=Ke,C=qe;return Z((i(),m("div",null,[a.type=="image"?(i(),m("div",Ft,[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),a.type=="video"?(i(),m("div",Ut,[n(C,{modelValue:l(z),"onUpdate:modelValue":g[0]||(g[0]=w=>T(z)?z.value=w:null),width:"740px",title:"视频预览","before-close":S},{default:s(()=>[o("div",Pt,[o("video",jt,[o("source",{src:a.url,type:"video/mp4"},null,8,Mt)])])]),_:1},8,["modelValue"])])):p("",!0)],512)),[[me,a.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"},Qt=["onClick"],Zt={class:"flex justify-center p-2 border-t border-br"},Jt={class:"material__center flex flex-col"},Ht={class:"operate-btn flex"},Ot={class:"flex-1 flex"},Xt={class:"flex items-center ml-2"},el={key:0,class:"mt-3"},tl={class:"material-center__content flex flex-col flex-1 mb-1 min-h-0"},ll={class:"file-list flex flex-wrap mt-4"},nl={key:0,class:"item-selected"},sl={class:"operation-btns flex items-center"},al={class:"inline-block"},ol={class:"inline-block"},il={class:"inline-block"},dl={key:1,class:"flex flex-1 justify-center items-center"},ul={class:"material-center__footer flex justify-between items-center mt-2"},rl={class:"flex"},cl={class:"mr-3"},ml={key:0,class:"material__right"},fl={class:"flex justify-between p-2 flex-wrap"},pl={class:"sm flex items-center"},vl={key:0},yl={class:"flex-1 min-h-0"},_l={class:"select-lists flex flex-col p-t-3"},gl={class:"select-item"},Cl=fe({__name:"index",props:{fileSize:{type:String,default:"100px"},limit:{type:Number,default:1},type:{type:String,default:"image"},mode:{type:String,default:"picker"},pageSize:{type:Number,default:15}},emits:["change"],setup(a,{expose:$,emit:x}){const _=a,k=x,{limit:z}=Et(_),S=Le(()=>{switch(_.type){case"image":return 10;case"video":return 20;case"file":return 30;default:return 0}}),u=[{value:"0",label:"后台上传"},{value:"1",label:"前端上传"}],R=_t("visible",E(!1)),g=E(""),f=E(!1),{treeRef:C,cateId:w,cateLists:j,handleAddCate:F,handleAddChildCate:J,handleEditCate:H,handleDeleteCate:O,getCateLists:X,handleCatSelect:ee}=Lt(S.value),{tableRef:U,listShowType:I,moveId:L,pager:A,fileParams:c,select:d,isCheckAll:V,isIndeterminate:M,getFileList:ve,refresh:P,batchFileDelete:Y,batchFileMove:ye,selectFile:te,isSelect:_e,clearSelect:ge,cancelSelete:Fe,selectAll:Ce,handleFileRename:he}=Tt(w,S,z,_.pageSize),ke=async()=>{var b;await X(),(b=C.value)==null||b.setCurrentKey(w.value),ve()},le=b=>{g.value=b,f.value=!0};Q(()=>R.value,async b=>{b&&ke()},{immediate:!0}),Q(w,()=>{c.name="",P()}),Q(d,b=>{if(k("change",b),b.length==A.lists.length&&b.length!==0){M.value=!1,V.value=!0;return}b.length>0?M.value=!0:(V.value=!1,M.value=!1)},{deep:!0}),gt(()=>{_.mode=="page"&&ke()}),$({clearSelect:ge});const we=E(),Ue=b=>{const e=b,B=we.value;B.value=e,B.select(),document.execCommand("copy"),Re({message:"地址复制成功",type:"success"})};return(b,e)=>{const B=ct,ne=Oe,N=pt,Pe=He,je=it,Me=Je,se=Ze,y=Xe,ae=ft,oe=dt,ie=et,be=mt,q=Ie,Be=tt,xe=lt,de=nt,Se=rt,Ae=ot,G=at,Ne=st,Ge=ut,We=Qe;return Z((i(),m("div",Nt,[o("div",Gt,[o("div",Wt,[n(se,null,{default:s(()=>[o("div",Yt,[n(Me,{ref_key:"treeRef",ref:C,"node-key":"id",data:l(j),"empty-text":"","highlight-current":!0,"expand-on-click-node":!1,"current-node-key":l(w),onNodeClick:l(ee)},{default:s(({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(je,{key:0,"hide-on-click":!1},{dropdown:s(()=>[n(Pe,null,{default:s(()=>[n(N,{onConfirm:v=>l(H)(v,t.id),size:"default",value:t.name,width:"400px",limit:20,"show-limit":"",teleported:""},{default:s(()=>[o("div",null,[n(ne,null,{default:s(()=>[...e[12]||(e[12]=[r(" 命名分组 ",-1)])]),_:1})])]),_:1},8,["onConfirm","value"]),n(N,{onConfirm:v=>l(J)(v,t.id),size:"default",width:"400px",limit:20,"show-limit":"",teleported:""},{default:s(()=>[o("div",null,[n(ne,null,{default:s(()=>[...e[13]||(e[13]=[r(" 添加分组 ",-1)])]),_:1})])]),_:1},8,["onConfirm"]),o("div",{onClick:v=>{var Ve;return l(O)(t.id,(Ve=t==null?void 0:t.children)==null?void 0:Ve.length)}},[n(ne,null,{default:s(()=>[...e[14]||(e[14]=[r("删除分组",-1)])]),_:1})],8,Qt)]),_:2},1024)]),default:s(()=>[e[15]||(e[15]=o("span",{class:"muted m-r-10"},"···",-1))]),_:2},1024)):p("",!0)])]),_:1},8,["data","current-node-key","onNodeClick"])])]),_:1})]),o("div",Zt,[n(N,{onConfirm:l(F),size:"default",width:"400px",limit:20,"show-limit":"",teleported:""},{default:s(()=>[n(y,null,{default:s(()=>[...e[17]||(e[17]=[r(" 添加分组 ",-1)])]),_:1})]),_:1},8,["onConfirm"])])]),o("div",Jt,[o("div",Ht,[o("div",Ot,[a.type=="image"?(i(),h(ae,{key:0,class:"mr-3",data:{cid:l(w)},type:a.type,"show-progress":!0,onChange:l(P)},{default:s(()=>[n(y,{type:"primary"},{default:s(()=>[...e[18]||(e[18]=[r("本地上传",-1)])]),_:1})]),_:1},8,["data","type","onChange"])):p("",!0),a.type=="video"?(i(),h(ae,{key:1,class:"mr-3",data:{cid:l(w)},type:a.type,"show-progress":!0,onAllSuccess:l(P)},{default:s(()=>[n(y,{type:"primary"},{default:s(()=>[...e[19]||(e[19]=[r("本地上传",-1)])]),_:1})]),_:1},8,["data","type","onAllSuccess"])):p("",!0),a.type=="file"?(i(),h(ae,{key:2,class:"mr-3",data:{cid:l(w)},type:a.type,"show-progress":!0,onAllSuccess:l(P)},{default:s(()=>[n(y,{type:"primary"},{default:s(()=>[...e[20]||(e[20]=[r("本地上传",-1)])]),_:1})]),_:1},8,["data","type","onAllSuccess"])):p("",!0),a.mode=="page"?(i(),h(y,{key:3,disabled:!l(d).length,onClick:e[0]||(e[0]=K(t=>l(Y)(),["stop"]))},{default:s(()=>[...e[21]||(e[21]=[r(" 删除 ",-1)])]),_:1},8,["disabled"])):p("",!0),a.mode=="page"?(i(),h(be,{key:4,class:"ml-3",onConfirm:l(ye),disabled:!l(d).length,title:"移动文件"},{trigger:s(()=>[n(y,{disabled:!l(d).length},{default:s(()=>[...e[22]||(e[22]=[r("移动",-1)])]),_:1},8,["disabled"])]),default:s(()=>[o("div",null,[e[23]||(e[23]=o("span",{class:"mr-5"},"移动文件至",-1)),n(ie,{modelValue:l(L),"onUpdate:modelValue":e[1]||(e[1]=t=>T(L)?L.value=t:null),placeholder:"请选择"},{default:s(()=>[(i(!0),m(D,null,W(l(j),t=>(i(),m(D,{key:t.id},[t.id!==""?(i(),h(oe,{key:0,label:t.name,value:t.id},null,8,["label","value"])):p("",!0)],64))),128))]),_:1},8,["modelValue"])])]),_:1},8,["onConfirm","disabled"])):p("",!0)]),n(ie,{modelValue:l(c).source,"onUpdate:modelValue":e[2]||(e[2]=t=>l(c).source=t),placeholder:"请选择文件来源",clearable:"",style:{"margin-right":"20px"},class:"max-w-52 ml-3"},{default:s(()=>[(i(),m(D,null,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:vt(l(P),["enter"])},{append:s(()=>[n(y,{onClick:l(P)},{icon:s(()=>[n(q,{name:"el-icon-Search"})]),_:1},8,["onClick"])]),_:1},8,["modelValue","onKeyup"]),o("div",Xt,[n(xe,{content:"列表视图",placement:"top"},{default:s(()=>[o("div",{class:ze(["list-icon",{select:l(I)=="table"}]),onClick:e[4]||(e[4]=t=>I.value="table")},[n(q,{name:"local-icon-list-2",size:18})],2)]),_:1}),n(xe,{content:"平铺视图",placement:"top"},{default:s(()=>[o("div",{class:ze(["list-icon",{select:l(I)=="normal"}]),onClick:e[5]||(e[5]=t=>I.value="normal")},[n(q,{name:"el-icon-Menu",size:18})],2)]),_:1})])]),a.mode=="page"?(i(),m("div",el,[n(de,{disabled:!l(A).lists.length,modelValue:l(V),"onUpdate:modelValue":e[6]||(e[6]=t=>T(V)?V.value=t:null),onChange:l(Ce),indeterminate:l(M)},{default:s(()=>[...e[24]||(e[24]=[r(" 当页全选 ",-1)])]),_:1},8,["disabled","modelValue","onChange","indeterminate"])])):p("",!0),o("div",tl,[l(A).lists.length?Z((i(),h(se,{key:0},{default:s(()=>[o("ul",ll,[(i(!0),m(D,null,W(l(A).lists,t=>(i(),m("li",{class:"file-item-wrap",key:t.id,style:Te({width:a.fileSize})},[n(Se,{onClose:v=>l(Y)([t.id])},{default:s(()=>[n(re,{uri:t.url,"file-size":a.fileSize,type:a.type,onClick:v=>l(te)(t)},{default:s(()=>[l(_e)(t.id)?(i(),m("div",nl,[n(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",sl,[n(N,{onConfirm:v=>l(he)(v,t.id),size:"default",value:t.name,width:"400px",limit:50,"show-limit":"",teleported:""},{default:s(()=>[n(y,{type:"primary",link:""},{default:s(()=>[...e[25]||(e[25]=[r(" 重命名 ",-1)])]),_:1})]),_:1},8,["onConfirm","value"]),t.type===10||t.type===20?(i(),h(y,{key:0,type:"primary",link:"",onClick:v=>le(t.url)},{default:s(()=>[...e[26]||(e[26]=[r(" 查看 ",-1)])]),_:1},8,["onClick"])):p("",!0),t.type===10||t.type===20?(i(),h(y,{key:1,type:"primary",link:"",onClick:v=>Ue(t.url),style:{"margin-left":"1px"}},{default:s(()=>[...e[27]||(e[27]=[r("地址",-1)])]),_:1},8,["onClick"])):(i(),h(Ae,{key:2,type:"primary",underline:!1,style:{"margin-left":"25px"},href:t.url},{default:s(()=>[...e[28]||(e[28]=[r("下载",-1)])]),_:1},8,["href"]))])],4))),128))])]),_:1},512)),[[me,l(I)=="normal"]]):p("",!0),Z(n(Ne,{ref_key:"tableRef",ref:U,class:"mt-4",data:l(A).lists,width:"100%",height:"100%",size:"large",onRowClick:l(te)},{default:s(()=>[n(G,{width:"55"},{default:s(({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:s(({row:t})=>[n(re,{uri:t.url,"file-size":"50px",type:a.type},null,8,["uri","type"])]),_:1}),n(G,{label:"名称","min-width":"100","show-overflow-tooltip":""},{default:s(({row:t})=>[n(Ae,{onClick:K(v=>le(t.url),["stop"]),underline:!1},{default:s(()=>[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:s(({row:t})=>[o("div",al,[n(N,{onConfirm:v=>l(he)(v,t.id),size:"default",value:t.name,width:"400px",limit:50,"show-limit":"",teleported:""},{default:s(()=>[n(y,{type:"primary",link:""},{default:s(()=>[...e[29]||(e[29]=[r(" 重命名 ",-1)])]),_:1})]),_:1},8,["onConfirm","value"])]),o("div",ol,[n(y,{type:"primary",link:"",onClick:K(v=>le(t.url),["stop"])},{default:s(()=>[...e[30]||(e[30]=[r(" 查看 ",-1)])]),_:1},8,["onClick"])]),o("div",il,[n(y,{type:"primary",link:"",onClick:K(v=>l(Y)([t.id]),["stop"])},{default:s(()=>[...e[31]||(e[31]=[r(" 删除 ",-1)])]),_:1},8,["onClick"])])]),_:1})]),_:1},8,["data","onRowClick"]),[[me,l(I)=="table"]]),!l(A).loading&&!l(A).lists.length?(i(),m("div",dl," 暂无数据~ ")):p("",!0)]),o("div",ul,[o("div",rl,[a.mode=="page"?(i(),m(D,{key:0},[o("span",cl,[n(de,{disabled:!l(A).lists.length,modelValue:l(V),"onUpdate:modelValue":e[7]||(e[7]=t=>T(V)?V.value=t:null),onChange:l(Ce),indeterminate:l(M)},{default:s(()=>[...e[32]||(e[32]=[r(" 当页全选 ",-1)])]),_:1},8,["disabled","modelValue","onChange","indeterminate"])]),n(y,{disabled:!l(d).length,onClick:e[8]||(e[8]=t=>l(Y)())},{default:s(()=>[...e[33]||(e[33]=[r(" 删除 ",-1)])]),_:1},8,["disabled"]),n(be,{class:"ml-3 inline",onConfirm:l(ye),disabled:!l(d).length,title:"移动文件"},{trigger:s(()=>[n(y,{disabled:!l(d).length},{default:s(()=>[...e[34]||(e[34]=[r("移动",-1)])]),_:1},8,["disabled"])]),default:s(()=>[o("div",null,[e[35]||(e[35]=o("span",{class:"mr-5"},"移动文件至",-1)),n(ie,{modelValue:l(L),"onUpdate:modelValue":e[9]||(e[9]=t=>T(L)?L.value=t:null),placeholder:"请选择"},{default:s(()=>[(i(!0),m(D,null,W(l(j),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=>T(A)?A.value=t:null),onChange:l(ve),layout:"total, prev, pager, next, jumper"},null,8,["modelValue","onChange"])])]),a.mode=="picker"?(i(),m("div",ml,[o("div",fl,[o("div",pl,[r(" 已选择 "+ue(l(d).length)+" ",1),l(z)?(i(),m("span",vl,"/"+ue(l(z)),1)):p("",!0)]),n(y,{type:"primary",link:"",onClick:l(ge)},{default:s(()=>[...e[36]||(e[36]=[r("清空",-1)])]),_:1},8,["onClick"])]),o("div",yl,[n(se,{class:"ls-scrollbar"},{default:s(()=>[o("ul",_l,[(i(!0),m(D,null,W(l(d),t=>(i(),m("li",{class:"mb-4",key:t.id},[o("div",gl,[n(Se,{onClose:v=>l(Fe)(t.id)},{default:s(()=>[n(re,{uri:t.url,"file-size":"100px",type:a.type},null,8,["uri","type"])]),_:2},1032,["onClose"])])]))),128))])]),_:1})])])):p("",!0),n(Bt,{modelValue:l(f),"onUpdate:modelValue":e[11]||(e[11]=t=>T(f)?f.value=t:null),url:l(g),type:a.type},null,8,["modelValue","url","type"]),o("input",{ref_key:"textCopys",ref:we,id:"textCopys",value:"",style:{opacity:"0",position:"absolute"}},null,512)])),[[We,l(A).loading]])}}}),Il=De(Cl,[["__scopeId","data-v-1e1d2cd0"]]);export{re as F,Bt as _,Il as a};
diff --git a/server/public/admin/assets/index-BWqTwVqx.js b/server/public/admin/assets/index-C50bCkLP.js
similarity index 95%
rename from server/public/admin/assets/index-BWqTwVqx.js
rename to server/public/admin/assets/index-C50bCkLP.js
index 2fe348c6..9d582830 100644
--- a/server/public/admin/assets/index-BWqTwVqx.js
+++ b/server/public/admin/assets/index-C50bCkLP.js
@@ -1 +1 @@
-import{J as X,D as Y,B as ee,P as te,Q as ae,ag as ne,Z as oe,C as le,i as se,M as ie,N as de,T as re,L as me}from"./element-plus-lurTijPg.js";import{_ as ce}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{c as pe,i as _e,_ as ue}from"./index-DF1MLuL8.js";import{_ as fe}from"./index.vue_vue_type_script_setup_true_lang-BL8k8rcl.js";import{w as he}from"./@vue/runtime-dom-DDAG46FW.js";import{e as ve,f as be}from"./finance-CDUWhAxi.js";import{u as ge}from"./usePaging-VsbTxSU0.js";import ye from"./edit-iR81ggx7.js";import{f as F,as as ke,ak as i,I as b,a as t,aN as o,J as r,F as D,ap as L,G as _,O as p,aP as w,H as we,A as x,n as B}from"./@vue/runtime-core-C6bnekPw.js";import{Q as u}from"./@vue/shared-mAAVTE9n.js";import{y as n,a as xe,q as Ce,n as Ee,r as Ve}from"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-CnpV87Ke.js";const Te={class:"account-cost-list"},Ae={class:"flex flex-wrap"},Pe={class:"w-1/2 md:w-1/3"},Se={class:"text-4xl"},De={class:"w-1/2 md:w-1/3"},Le={class:"text-4xl"},Be={class:"channel-opt-row"},Fe={class:"opt-name"},Ne={key:0},Ue={key:1},$e={class:"flex justify-end mt-4"},Oe=F({name:"accountCostList"}),Re=F({...Oe,setup(Ge){const g=Ce(),y=Ee(!1),s=Ve({start_date:"",end_date:"",media_channel_code:"",dept_id:"",remark:""}),{pager:d,getLists:k,resetPage:C}=ge({fetchFun:ve,params:s}),N=x(()=>{const l=d.extend.media_channel_options;return Array.isArray(l)?l.map(e=>({code:String(e.code||""),name:String(e.name||"")})):[]}),E=x(()=>{const l=d.extend.media_channel_groups;if(Array.isArray(l)&&l.length>0)return l;const e=N.value;return e.length?[{group_name:"渠道",channels:e.map(m=>({channel_code:m.code,channel_name:m.name}))}]:[]}),A=x(()=>{const l=d.extend.dept_options;return Array.isArray(l)?l:[]}),U=x(()=>String(d.extend.default_media_channel_code||"")),P=l=>{if(!l)return"";for(const e of E.value)if(e.channels.find(V=>V.channel_code===l))return e.group_name;return""},$={value:"id",label:"name",children:"children"},O=async()=>{var l;y.value=!0,await B(),(l=g.value)==null||l.open("add")},R=async l=>{var e,m;y.value=!0,await B(),(e=g.value)==null||e.open("edit"),(m=g.value)==null||m.getDetail(l)},G=async l=>{await _e.confirm("确定要删除这条账户消耗记录吗?"),await be({id:l}),k()},I=()=>{s.start_date="",s.end_date="",s.media_channel_code="",s.dept_id="",s.remark="",C()};return k(),(l,e)=>{const m=X,V=fe,h=ee,S=ae,K=ne,q=te,z=oe,J=le,v=se,M=Y,Q=pe,c=de,j=re,H=ie,Z=ce,T=ke("perms"),W=me;return i(),b("div",Te,[t(m,{class:"!border-none mb-4",shadow:"never"},{default:o(()=>[r("div",Ae,[r("div",Pe,[e[7]||(e[7]=r("div",{class:"leading-10"},"当前筛选天数",-1)),r("div",Se,u(n(d).extend.days_count??0),1)]),r("div",De,[e[8]||(e[8]=r("div",{class:"leading-10"},"累计账户消耗 (元)",-1)),r("div",Le,"¥"+u(n(d).extend.total_amount??"0.00"),1)])])]),_:1}),t(m,{class:"!border-none",shadow:"never"},{default:o(()=>[t(M,{class:"mb-[-16px]",model:n(s),inline:""},{default:o(()=>[t(h,{label:"日期范围"},{default:o(()=>[t(V,{startTime:n(s).start_date,"onUpdate:startTime":e[0]||(e[0]=a=>n(s).start_date=a),endTime:n(s).end_date,"onUpdate:endTime":e[1]||(e[1]=a=>n(s).end_date=a)},null,8,["startTime","endTime"])]),_:1}),t(h,{label:"自媒体渠道"},{default:o(()=>[t(q,{modelValue:n(s).media_channel_code,"onUpdate:modelValue":e[2]||(e[2]=a=>n(s).media_channel_code=a),placeholder:"筛选全部渠道",clearable:"",filterable:"",class:"account-cost-channel-select w-[220px]"},{default:o(()=>[t(S,{label:"全部",value:""}),(i(!0),b(D,null,L(n(E),a=>(i(),_(K,{key:a.group_name,label:a.group_name},{default:o(()=>[(i(!0),b(D,null,L(a.channels,f=>(i(),_(S,{key:f.channel_code,label:f.channel_name,value:f.channel_code},{default:o(()=>[r("div",Be,[r("span",Fe,u(f.channel_name),1)])]),_:2},1032,["label","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(h,{label:"部门"},{default:o(()=>[t(z,{modelValue:n(s).dept_id,"onUpdate:modelValue":e[3]||(e[3]=a=>n(s).dept_id=a),data:n(A),"node-key":"id",props:$,"default-expand-all":!0,"check-strictly":"",placeholder:"筛选全部部门",clearable:"",filterable:"",class:"w-[220px]"},null,8,["modelValue","data"])]),_:1}),t(h,{class:"w-[280px]",label:"备注/维护人"},{default:o(()=>[t(J,{modelValue:n(s).remark,"onUpdate:modelValue":e[4]||(e[4]=a=>n(s).remark=a),placeholder:"备注 / 创建人 / 修改人",clearable:"",onKeyup:he(n(C),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(h,null,{default:o(()=>[t(v,{type:"primary",onClick:n(C)},{default:o(()=>[...e[9]||(e[9]=[p("查询",-1)])]),_:1},8,["onClick"]),t(v,{onClick:I},{default:o(()=>[...e[10]||(e[10]=[p("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(m,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[r("div",null,[w((i(),_(v,{type:"primary",onClick:O},{icon:o(()=>[t(Q,{name:"el-icon-Plus"})]),default:o(()=>[e[11]||(e[11]=p(" 新增 ",-1))]),_:1})),[[T,["finance.account_cost/add"]]])]),w((i(),_(H,{class:"mt-4",size:"large",data:n(d).lists},{default:o(()=>[t(c,{label:"日期",prop:"cost_date","min-width":"120"}),t(c,{label:"自媒体渠道","min-width":"160"},{default:o(({row:a})=>[P(a.media_channel_code)?(i(),b("span",Ne,[t(j,{size:"small",class:"mr-1"},{default:o(()=>[p(u(P(a.media_channel_code)),1)]),_:2},1024),p(" "+u(a.media_channel_name),1)])):(i(),b("span",Ue,u(a.media_channel_name),1))]),_:1}),t(c,{label:"部门",prop:"dept_name","min-width":"140"}),t(c,{label:"账户消耗","min-width":"120"},{default:o(({row:a})=>[p("¥"+u(a.amount),1)]),_:1}),t(c,{label:"备注",prop:"remark","min-width":"260","show-overflow-tooltip":""}),t(c,{label:"创建人",prop:"creator_name","min-width":"100"}),t(c,{label:"最后修改人",prop:"updater_name","min-width":"100"}),t(c,{label:"更新时间",prop:"update_time","min-width":"180"}),t(c,{label:"操作",width:"160",fixed:"right"},{default:o(({row:a})=>[w((i(),_(v,{type:"primary",link:"",onClick:f=>R(a)},{default:o(()=>[...e[12]||(e[12]=[p(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[T,["finance.account_cost/edit"]]]),w((i(),_(v,{type:"danger",link:"",onClick:f=>G(a.id)},{default:o(()=>[...e[13]||(e[13]=[p(" 删除 ",-1)])]),_:1},8,["onClick"])),[[T,["finance.account_cost/delete"]]])]),_:1})]),_:1},8,["data"])),[[W,n(d).loading]]),r("div",$e,[t(Z,{modelValue:n(d),"onUpdate:modelValue":e[5]||(e[5]=a=>xe(d)?d.value=a:null),onChange:n(k)},null,8,["modelValue","onChange"])])]),_:1}),n(y)?(i(),_(ye,{key:0,ref_key:"editRef",ref:g,"media-channel-groups":n(E),"dept-options":n(A),"default-media-channel-code":n(U),onSuccess:n(k),onClose:e[6]||(e[6]=a=>y.value=!1)},null,8,["media-channel-groups","dept-options","default-media-channel-code","onSuccess"])):we("",!0)])}}}),St=ue(Re,[["__scopeId","data-v-2e3dbff8"]]);export{St as default};
+import{J as X,D as Y,B as ee,P as te,Q as ae,ag as ne,Z as oe,C as le,i as se,M as ie,N as de,T as re,L as me}from"./element-plus-lurTijPg.js";import{_ as ce}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{c as pe,i as _e,_ as ue}from"./index-FimllnSe.js";import{_ as fe}from"./index.vue_vue_type_script_setup_true_lang-BL8k8rcl.js";import{w as he}from"./@vue/runtime-dom-DDAG46FW.js";import{e as ve,f as be}from"./finance-CFZcak5e.js";import{u as ge}from"./usePaging-VsbTxSU0.js";import ye from"./edit-DJSi5WHD.js";import{f as F,as as ke,ak as i,I as b,a as t,aN as o,J as r,F as D,ap as L,G as _,O as p,aP as w,H as we,A as x,n as B}from"./@vue/runtime-core-C6bnekPw.js";import{Q as u}from"./@vue/shared-mAAVTE9n.js";import{y as n,a as xe,q as Ce,n as Ee,r as Ve}from"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-DPukmZrj.js";const Te={class:"account-cost-list"},Ae={class:"flex flex-wrap"},Pe={class:"w-1/2 md:w-1/3"},Se={class:"text-4xl"},De={class:"w-1/2 md:w-1/3"},Le={class:"text-4xl"},Be={class:"channel-opt-row"},Fe={class:"opt-name"},Ne={key:0},Ue={key:1},$e={class:"flex justify-end mt-4"},Oe=F({name:"accountCostList"}),Re=F({...Oe,setup(Ge){const g=Ce(),y=Ee(!1),s=Ve({start_date:"",end_date:"",media_channel_code:"",dept_id:"",remark:""}),{pager:d,getLists:k,resetPage:C}=ge({fetchFun:ve,params:s}),N=x(()=>{const l=d.extend.media_channel_options;return Array.isArray(l)?l.map(e=>({code:String(e.code||""),name:String(e.name||"")})):[]}),E=x(()=>{const l=d.extend.media_channel_groups;if(Array.isArray(l)&&l.length>0)return l;const e=N.value;return e.length?[{group_name:"渠道",channels:e.map(m=>({channel_code:m.code,channel_name:m.name}))}]:[]}),A=x(()=>{const l=d.extend.dept_options;return Array.isArray(l)?l:[]}),U=x(()=>String(d.extend.default_media_channel_code||"")),P=l=>{if(!l)return"";for(const e of E.value)if(e.channels.find(V=>V.channel_code===l))return e.group_name;return""},$={value:"id",label:"name",children:"children"},O=async()=>{var l;y.value=!0,await B(),(l=g.value)==null||l.open("add")},R=async l=>{var e,m;y.value=!0,await B(),(e=g.value)==null||e.open("edit"),(m=g.value)==null||m.getDetail(l)},G=async l=>{await _e.confirm("确定要删除这条账户消耗记录吗?"),await be({id:l}),k()},I=()=>{s.start_date="",s.end_date="",s.media_channel_code="",s.dept_id="",s.remark="",C()};return k(),(l,e)=>{const m=X,V=fe,h=ee,S=ae,K=ne,q=te,z=oe,J=le,v=se,M=Y,Q=pe,c=de,j=re,H=ie,Z=ce,T=ke("perms"),W=me;return i(),b("div",Te,[t(m,{class:"!border-none mb-4",shadow:"never"},{default:o(()=>[r("div",Ae,[r("div",Pe,[e[7]||(e[7]=r("div",{class:"leading-10"},"当前筛选天数",-1)),r("div",Se,u(n(d).extend.days_count??0),1)]),r("div",De,[e[8]||(e[8]=r("div",{class:"leading-10"},"累计账户消耗 (元)",-1)),r("div",Le,"¥"+u(n(d).extend.total_amount??"0.00"),1)])])]),_:1}),t(m,{class:"!border-none",shadow:"never"},{default:o(()=>[t(M,{class:"mb-[-16px]",model:n(s),inline:""},{default:o(()=>[t(h,{label:"日期范围"},{default:o(()=>[t(V,{startTime:n(s).start_date,"onUpdate:startTime":e[0]||(e[0]=a=>n(s).start_date=a),endTime:n(s).end_date,"onUpdate:endTime":e[1]||(e[1]=a=>n(s).end_date=a)},null,8,["startTime","endTime"])]),_:1}),t(h,{label:"自媒体渠道"},{default:o(()=>[t(q,{modelValue:n(s).media_channel_code,"onUpdate:modelValue":e[2]||(e[2]=a=>n(s).media_channel_code=a),placeholder:"筛选全部渠道",clearable:"",filterable:"",class:"account-cost-channel-select w-[220px]"},{default:o(()=>[t(S,{label:"全部",value:""}),(i(!0),b(D,null,L(n(E),a=>(i(),_(K,{key:a.group_name,label:a.group_name},{default:o(()=>[(i(!0),b(D,null,L(a.channels,f=>(i(),_(S,{key:f.channel_code,label:f.channel_name,value:f.channel_code},{default:o(()=>[r("div",Be,[r("span",Fe,u(f.channel_name),1)])]),_:2},1032,["label","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(h,{label:"部门"},{default:o(()=>[t(z,{modelValue:n(s).dept_id,"onUpdate:modelValue":e[3]||(e[3]=a=>n(s).dept_id=a),data:n(A),"node-key":"id",props:$,"default-expand-all":!0,"check-strictly":"",placeholder:"筛选全部部门",clearable:"",filterable:"",class:"w-[220px]"},null,8,["modelValue","data"])]),_:1}),t(h,{class:"w-[280px]",label:"备注/维护人"},{default:o(()=>[t(J,{modelValue:n(s).remark,"onUpdate:modelValue":e[4]||(e[4]=a=>n(s).remark=a),placeholder:"备注 / 创建人 / 修改人",clearable:"",onKeyup:he(n(C),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(h,null,{default:o(()=>[t(v,{type:"primary",onClick:n(C)},{default:o(()=>[...e[9]||(e[9]=[p("查询",-1)])]),_:1},8,["onClick"]),t(v,{onClick:I},{default:o(()=>[...e[10]||(e[10]=[p("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(m,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[r("div",null,[w((i(),_(v,{type:"primary",onClick:O},{icon:o(()=>[t(Q,{name:"el-icon-Plus"})]),default:o(()=>[e[11]||(e[11]=p(" 新增 ",-1))]),_:1})),[[T,["finance.account_cost/add"]]])]),w((i(),_(H,{class:"mt-4",size:"large",data:n(d).lists},{default:o(()=>[t(c,{label:"日期",prop:"cost_date","min-width":"120"}),t(c,{label:"自媒体渠道","min-width":"160"},{default:o(({row:a})=>[P(a.media_channel_code)?(i(),b("span",Ne,[t(j,{size:"small",class:"mr-1"},{default:o(()=>[p(u(P(a.media_channel_code)),1)]),_:2},1024),p(" "+u(a.media_channel_name),1)])):(i(),b("span",Ue,u(a.media_channel_name),1))]),_:1}),t(c,{label:"部门",prop:"dept_name","min-width":"140"}),t(c,{label:"账户消耗","min-width":"120"},{default:o(({row:a})=>[p("¥"+u(a.amount),1)]),_:1}),t(c,{label:"备注",prop:"remark","min-width":"260","show-overflow-tooltip":""}),t(c,{label:"创建人",prop:"creator_name","min-width":"100"}),t(c,{label:"最后修改人",prop:"updater_name","min-width":"100"}),t(c,{label:"更新时间",prop:"update_time","min-width":"180"}),t(c,{label:"操作",width:"160",fixed:"right"},{default:o(({row:a})=>[w((i(),_(v,{type:"primary",link:"",onClick:f=>R(a)},{default:o(()=>[...e[12]||(e[12]=[p(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[T,["finance.account_cost/edit"]]]),w((i(),_(v,{type:"danger",link:"",onClick:f=>G(a.id)},{default:o(()=>[...e[13]||(e[13]=[p(" 删除 ",-1)])]),_:1},8,["onClick"])),[[T,["finance.account_cost/delete"]]])]),_:1})]),_:1},8,["data"])),[[W,n(d).loading]]),r("div",$e,[t(Z,{modelValue:n(d),"onUpdate:modelValue":e[5]||(e[5]=a=>xe(d)?d.value=a:null),onChange:n(k)},null,8,["modelValue","onChange"])])]),_:1}),n(y)?(i(),_(ye,{key:0,ref_key:"editRef",ref:g,"media-channel-groups":n(E),"dept-options":n(A),"default-media-channel-code":n(U),onSuccess:n(k),onClose:e[6]||(e[6]=a=>y.value=!1)},null,8,["media-channel-groups","dept-options","default-media-channel-code","onSuccess"])):we("",!0)])}}}),St=ue(Re,[["__scopeId","data-v-2e3dbff8"]]);export{St as default};
diff --git a/server/public/admin/assets/index-DFXrTWHZ.js b/server/public/admin/assets/index-CBmHCkQ0.js
similarity index 98%
rename from server/public/admin/assets/index-DFXrTWHZ.js
rename to server/public/admin/assets/index-CBmHCkQ0.js
index 1f77c774..5cf6a846 100644
--- a/server/public/admin/assets/index-DFXrTWHZ.js
+++ b/server/public/admin/assets/index-CBmHCkQ0.js
@@ -1 +1 @@
-import{K as Je,i as Oe,d as We,r as Ge,Q as Xe,q as Ye,P as je,C as Ze,H as et,L as tt,W as st,X as at,T as lt,l as nt,m as it,Y as ot,M as rt,N as ut,V as dt}from"./element-plus-lurTijPg.js";import{w as ct}from"./@vue/runtime-dom-DDAG46FW.js";import{L as fe,M as mt,N as _t,J as ft}from"./@element-plus/icons-vue-HOEUG8sr.js";import{i as C,t as vt,_ as pt}from"./index-DF1MLuL8.js";import{u as gt}from"./usePaging-VsbTxSU0.js";import yt from"./MessageBubble-Mq5MNoMw.js";import{q as ht,S as kt,a as wt,b as bt,c as xt,d as St,e as ae,f as Tt,g as Mt,h as ve}from"./SendPanel-Ut8ml_Z3.js";import{f as zt,w as Et,b as Ct,ae as Vt,ak as o,I as u,G as x,H as _,J as a,a as l,aN as i,F as M,ap as B,O as f,aP as le,A as pe,n as ne}from"./@vue/runtime-core-C6bnekPw.js";import{y,n as m}from"./@vue/reactivity-DiY1c2vO.js";import{Q as d,o as $t}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./file-BdGKYRpa.js";const Dt={class:"qywx-im"},Lt={class:"im-layout"},qt={class:"col-session"},At={class:"col-header"},It={class:"col-actions"},Bt={class:"col-filters"},Ht={class:"staff-option"},Pt={class:"staff-userid"},Nt={class:"session-list"},Ut={key:0,class:"empty-tip"},Kt=["onClick"],Rt={class:"session-meta"},Ft={class:"session-top"},Qt={class:"session-name"},Jt={class:"session-time"},Ot={class:"session-bottom"},Wt={class:"session-preview"},Gt={key:0,class:"session-staff"},Xt={key:1,class:"session-load-more"},Yt={class:"col-message"},jt={key:0,class:"no-session"},Zt={class:"col-header"},es={class:"msg-header-title"},ts={class:"msg-customer-name"},ss={class:"msg-customer-sub"},as={class:"col-actions"},ls={key:0,class:"load-history"},ns={key:1,class:"load-history end-tip"},is={key:2,class:"empty-tip"},os={class:"col-profile"},rs={class:"profile-panel"},us={class:"profile-name"},ds={class:"profile-fields"},cs={class:"field"},ms={class:"value"},_s={class:"field"},fs=["title"],vs={key:0,class:"field"},ps={class:"value"},gs={key:1,class:"field"},ys={class:"value"},hs={class:"field"},ks={class:"value"},ws={class:"field"},bs={class:"value"},xs={class:"tasks-panel"},Ss={key:0,class:"empty-tip"},Ts={class:"task-top"},Ms={class:"task-time"},zs={class:"task-body"},Es={key:0,class:"task-text"},Cs={key:1,class:"task-attachments"},Vs={key:2,class:"task-error"},$s={class:"task-actions"},Ds={key:1,class:"no-session"},Ls={class:"tips"},qs={key:1,class:"mt-2 text-center"},As=zt({__name:"index",setup(Is){const z=m(null),J=m(!1),ge=pe(()=>{if(!z.value)return"";const t=z.value;return t.enabled?`会话存档 SDK 不可用:${t.error||"未知错误"}`:"「会话内容存档」未启用,实时消息不可用。请在后端 pay.php 中开启 msgaudit_enabled 并配置 SDK 动态库与 RSA 私钥。"});async function ye(){try{z.value=await wt()}catch{}}async function he(){J.value=!0;try{await bt(5,!0),C.msgSuccess("已触发一次拉取,稍后刷新可见"),await S(!0),n.value&&await X()}catch(t){C.msgError((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"拉取失败")}finally{J.value=!1}}const O=m([]);async function ke(){try{const t=await xt();O.value=Array.isArray(t)?t:(t==null?void 0:t.lists)||[]}catch{O.value=[]}}const E=m({staff_userid:"",keyword:"",only_unread:0}),W=m(!1);Et(W,t=>{E.value.only_unread=t?1:0});const{pager:g,getLists:G}=gt({fetchFun:ht,params:E.value,size:30});function S(t=!1){return t||(g.page=1),G()}async function we(){const t=[...g.lists||[]];g.page+=1;try{await G();const e=g.lists||[],r=new Set(t.map(v=>v.id)),c=[...t,...e.filter(v=>!r.has(v.id))];g.lists=c}catch{}}const n=m(null),h=m([]),H=m(!1),V=m(!1),$=m(!1),P=m(0),N=m(0),k=m(null),be=pe(()=>!!n.value&&n.value.session_type!==2);async function xe(t){var e;if(((e=n.value)==null?void 0:e.id)!==t.id){if(n.value=t,h.value=[],P.value=0,N.value=0,$.value=!1,await X(),await re(),t.unread_staff>0)try{await St(t.id),t.unread_staff=0}catch{}U.value="profile"}}async function X(){if(n.value){H.value=!0;try{const t=await ae({session_id:n.value.id,page_no:1,page_size:30}),e=(t==null?void 0:t.lists)||[];h.value=e,e.length&&(P.value=e[0].send_time,N.value=e[e.length-1].send_time),$.value=e.length>=30,await ne(),oe()}catch(t){C.msgError((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"加载消息失败")}finally{H.value=!1}}}async function ie(){var e;if(!n.value||V.value)return;V.value=!0;const t=((e=k.value)==null?void 0:e.scrollHeight)||0;try{const r=await ae({session_id:n.value.id,page_no:1,page_size:30,before_time:P.value}),c=(r==null?void 0:r.lists)||[];c.length&&(P.value=c[0].send_time,h.value=[...c,...h.value]),$.value=c.length>=30,await ne(),k.value&&(k.value.scrollTop=k.value.scrollHeight-t)}finally{V.value=!1}}async function Se(){if(n.value)try{const t=await ae({session_id:n.value.id,page_no:1,page_size:50,after_time:N.value}),e=(t==null?void 0:t.lists)||[];if(!e.length)return;const r=new Set(h.value.map(T=>T.id)),c=e.filter(T=>!r.has(T.id));if(!c.length)return;h.value=[...h.value,...c],N.value=c[c.length-1].send_time;const v=k.value;(v?v.scrollHeight-v.scrollTop-v.clientHeight<120:!0)&&(await ne(),oe())}catch{}}function Te(){const t=k.value;t&&t.scrollTop<40&&$.value&&!V.value&&ie()}function oe(){k.value&&(k.value.scrollTop=k.value.scrollHeight)}async function Me(t){if(n.value)try{await Tt({sender_userid:n.value.staff_userid,external_userids:[n.value.external_userid],msg_payload:t,chat_type:"single"}),C.msgSuccess("已创建群发任务,员工手机确认后送达客户"),await re(),U.value="tasks"}catch(e){C.msgError((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"发送失败")}}const U=m("profile"),K=m([]),Y=m(!1);async function re(){if(n.value){Y.value=!0;try{const t=await Mt({sender_userid:n.value.staff_userid,page_no:1,page_size:50}),e=(t==null?void 0:t.lists)||[];K.value=e.filter(r=>(r.external_userids||[]).includes(n.value.external_userid))}finally{Y.value=!1}}}function ze(t){return{0:"待提交",1:"已提交",2:"已送达",3:"失败"}[t]??`状态${t}`}function Ee(t){return{0:"info",1:"primary",2:"success",3:"danger"}[t]??"info"}function Ce(t){return{image:"图片",video:"视频",file:"文件",link:"链接",miniprogram:"小程序"}[t]||t}const j=m(!1),D=m(!1),ue=m(0),w=m(null);async function Ve(t){ue.value=t.id,w.value={detail_list:[],next_cursor:""},j.value=!0,D.value=!0;try{const e=await ve(t.id,"");w.value={detail_list:(e==null?void 0:e.detail_list)||[],next_cursor:(e==null?void 0:e.next_cursor)||"",task:e==null?void 0:e.task}}catch(e){C.msgError((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"加载失败")}finally{D.value=!1}}async function $e(){var t;if((t=w.value)!=null&&t.next_cursor){D.value=!0;try{const e=await ve(ue.value,w.value.next_cursor);w.value={detail_list:[...w.value.detail_list,...(e==null?void 0:e.detail_list)||[]],next_cursor:(e==null?void 0:e.next_cursor)||"",task:e==null?void 0:e.task}}finally{D.value=!1}}}function De(t){switch(t){case 0:return"未发送";case 1:return"已送达";case 2:return"被拒收";case 3:return"已送达(未读)";default:return`状态${t}`}}function Le(t){return t===1?"success":t===2?"warning":t===3?"primary":"info"}function L(t){var e;return(e=t.customer)!=null&&e.name?t.customer.name:t.session_type===2?`群聊 ${t.roomid.slice(-6)}`:t.external_userid||"未命名客户"}function qe(t){const e=t.last_msg_summary||"",r=t.last_msg_type;return e||(r==="image"?"[图片]":r==="video"?"[视频]":r==="voice"?"[语音]":r==="file"?"[文件]":r==="link"?"[链接]":r==="weapp"?"[小程序]":r==="chatrecord"?"[聊天记录]":r?`[${r}]`:"暂无消息")}function Z(t){return t?vt(t*1e3,"yyyy-mm-dd hh:MM"):"-"}function Ae(t){if(!t)return"";const r=Math.floor(Date.now()/1e3)-t;if(r<60)return`${r}秒前`;if(r<3600)return`${Math.floor(r/60)}分前`;if(r<86400)return`${Math.floor(r/3600)}小时前`;const c=new Date(t*1e3);return`${c.getMonth()+1}-${c.getDate()}`}let ee=null,te=null;return Ct(async()=>{await Promise.all([ye(),ke()]),await S(),ee=window.setInterval(()=>{G({silent:!0}).catch(()=>{})},15e3),te=window.setInterval(()=>{Se()},8e3)}),Vt(()=>{ee&&window.clearInterval(ee),te&&window.clearInterval(te)}),(t,e)=>{var ce,me;const r=Je,c=We,v=Oe,R=Ge,T=Ye,Ie=Xe,Be=je,He=Ze,Pe=et,F=st,Ne=at,q=lt,de=nt,Ue=it,Ke=ot,Q=ut,Re=rt,Fe=dt,se=tt;return o(),u("div",Dt,[z.value&&!z.value.available?(o(),x(r,{key:0,title:ge.value,type:"warning",closable:!1,"show-icon":"",class:"archive-warning"},null,8,["title"])):_("",!0),a("div",Lt,[a("section",qt,[a("header",At,[e[11]||(e[11]=a("div",{class:"col-title"},"会话",-1)),a("div",It,[l(R,{content:"刷新"},{default:i(()=>[l(v,{size:"small",link:"",loading:y(g).loading,onClick:e[0]||(e[0]=s=>S(!0))},{default:i(()=>[l(c,null,{default:i(()=>[l(y(fe))]),_:1})]),_:1},8,["loading"])]),_:1}),l(R,{content:"手动拉一次存档"},{default:i(()=>{var s;return[l(v,{size:"small",link:"",disabled:!((s=z.value)!=null&&s.available),loading:J.value,onClick:he},{default:i(()=>[l(c,null,{default:i(()=>[l(y(mt))]),_:1})]),_:1},8,["disabled","loading"])]}),_:1})])]),a("div",Bt,[l(Be,{modelValue:E.value.staff_userid,"onUpdate:modelValue":e[1]||(e[1]=s=>E.value.staff_userid=s),placeholder:"全部员工",clearable:"",filterable:"",size:"default",style:{width:"100%"},onChange:e[2]||(e[2]=s=>S())},{default:i(()=>[(o(!0),u(M,null,B(O.value,s=>(o(),x(Ie,{key:s.userid,label:(s.name||s.userid)+"("+s.userid+")",value:s.userid},{default:i(()=>[a("div",Ht,[l(T,{size:20,src:s.avatar},{default:i(()=>[f(d((s.name||"").slice(-2)),1)]),_:2},1032,["src"]),a("span",null,d(s.name),1),a("span",Pt,d(s.userid),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue"]),l(He,{modelValue:E.value.keyword,"onUpdate:modelValue":e[3]||(e[3]=s=>E.value.keyword=s),placeholder:"搜索客户或消息",clearable:"",size:"default",onKeyup:e[4]||(e[4]=ct(s=>S(),["enter"])),onClear:e[5]||(e[5]=s=>S())},{prefix:i(()=>[l(c,null,{default:i(()=>[l(y(_t))]),_:1})]),_:1},8,["modelValue"]),l(Pe,{modelValue:W.value,"onUpdate:modelValue":e[6]||(e[6]=s=>W.value=s),onChange:e[7]||(e[7]=s=>S())},{default:i(()=>[...e[12]||(e[12]=[f(" 仅未读 ",-1)])]),_:1},8,["modelValue"])]),le((o(),u("div",Nt,[!y(g).lists.length&&!y(g).loading?(o(),u("div",Ut,[l(F,{description:"暂无会话","image-size":80})])):_("",!0),(o(!0),u(M,null,B(y(g).lists,s=>{var p;return o(),u("div",{key:s.id,class:$t(["session-item",{active:((p=n.value)==null?void 0:p.id)===s.id}]),onClick:b=>xe(s)},[l(Ne,{value:s.unread_staff,hidden:!s.unread_staff,max:99},{default:i(()=>{var b;return[l(T,{size:42,src:((b=s.customer)==null?void 0:b.avatar)||""},{default:i(()=>[f(d(L(s).slice(-2)),1)]),_:2},1032,["src"])]}),_:2},1032,["value","hidden"]),a("div",Rt,[a("div",Ft,[a("span",Qt,d(L(s)),1),a("span",Jt,d(Ae(s.last_msg_time)),1)]),a("div",Ot,[a("span",Wt,d(qe(s)),1),s.session_type===2?(o(),x(q,{key:0,size:"small",type:"info",class:"session-tag"},{default:i(()=>[...e[13]||(e[13]=[f(" 群 ",-1)])]),_:1})):_("",!0)]),s.staff?(o(),u("div",Gt," 员工: "+d(s.staff.name||s.staff_userid),1)):_("",!0)])],10,Kt)}),128)),y(g).lists.length
${t.marker}${t.seriesName}: ¥${Number(t.value).toFixed(2)}`}},grid:{left:60,right:24,top:36,bottom:36},xAxis:{type:"category",data:r.chart.dates,axisLabel:{interval:r.chart.dates.length>15?"auto":0,rotate:r.chart.dates.length>10?30:0}},yAxis:{type:"value",name:"金额(元)",axisLabel:{formatter:e=>e>=1e4?(e/1e4).toFixed(1)+"万":String(e)}},series:[{name:"业绩",type:"line",smooth:!0,showSymbol:!0,symbolSize:6,lineStyle:{width:3,color:"#4a78ff"},itemStyle:{color:"#4a78ff"},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(74, 120, 255, 0.25)"},{offset:1,color:"rgba(74, 120, 255, 0.02)"}]}},data:r.chart.amounts}]})),N=(e,t)=>{var c;const n=((c=r.summary)==null?void 0:c[e])??0;return t==="money"?`¥${Number(n).toFixed(2)}`:String(n)},d=async()=>{_.value=!0;try{const e={time_type:i.time_type};i.time_type==="custom"&&(e.start_date=l.value[0]||"",e.end_date=l.value[1]||"");const t=await U(e);Object.assign(r,t||{})}catch(e){console.error("获取业绩数据失败:",e),q.error((e==null?void 0:e.msg)||"获取业绩数据失败")}finally{_.value=!1}},B=()=>{i.time_type!=="custom"&&(l.value=[],d())},$=()=>{var e;((e=l.value)==null?void 0:e.length)===2&&d()},R=()=>{i.time_type="month",l.value=[],d()};return j(()=>{d()}),(e,t)=>{const n=A,c=z,f=Y,P=G,b=H,M=T,h=I,O=L;return u(),k("div",tt,[o(h,{class:"!border-none",shadow:"never"},{default:a(()=>[o(M,{inline:!0,class:"stats-filter-form"},{default:a(()=>[o(f,{label:"时间范围"},{default:a(()=>[o(c,{modelValue:i.time_type,"onUpdate:modelValue":t[0]||(t[0]=s=>i.time_type=s),onChange:B},{default:a(()=>[o(n,{label:"today"},{default:a(()=>[...t[2]||(t[2]=[m("今天",-1)])]),_:1}),o(n,{label:"yesterday"},{default:a(()=>[...t[3]||(t[3]=[m("昨天",-1)])]),_:1}),o(n,{label:"week"},{default:a(()=>[...t[4]||(t[4]=[m("最近7天",-1)])]),_:1}),o(n,{label:"month"},{default:a(()=>[...t[5]||(t[5]=[m("最近30天",-1)])]),_:1}),o(n,{label:"custom"},{default:a(()=>[...t[6]||(t[6]=[m("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),i.time_type==="custom"?(u(),y(f,{key:0},{default:a(()=>[o(P,{modelValue:l.value,"onUpdate:modelValue":t[1]||(t[1]=s=>l.value=s),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",style:{width:"260px"},onChange:$},null,8,["modelValue"])]),_:1})):Q("",!0),o(f,null,{default:a(()=>[o(b,{type:"primary",loading:_.value,onClick:d},{default:a(()=>[...t[7]||(t[7]=[m("查询",-1)])]),_:1},8,["loading"]),o(b,{onClick:R},{default:a(()=>[...t[8]||(t[8]=[m("重置",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),p("div",et,[(u(),k(W,null,K(w,s=>p("div",{key:s.key,class:x(["stats-kpi-card",s.cardClass])},[p("div",at,v(s.label),1),p("div",{class:x(["stats-kpi-value",{"is-money":s.type==="money"}])},v(N(s.key,s.type)),3)],2)),64))]),o(h,{class:"!border-none mt-4",shadow:"never"},{header:a(()=>[p("div",ot,[t[9]||(t[9]=p("span",{class:"card-title"},"业绩趋势",-1)),p("span",rt,v(S.value)+" · 履约完成业绩",1)])]),default:a(()=>[D.value?(u(),y(X(J),{key:0,class:"stats-chart",option:F.value,autoresize:""},null,8,["option"])):(u(),y(O,{key:1,description:"暂无数据"}))]),_:1})])}}}),jt=Z(nt,[["__scopeId","data-v-297158c8"]]);export{jt as default};
+import{D as T,B as Y,G as z,F as A,R as G,i as H,J as I,W as L,E as q}from"./element-plus-lurTijPg.js";import{H as J}from"./vue-echarts-BNtg2q_G.js";import{q as U}from"./stats-QZfSY69c.js";import{f as V,b as j,ak as u,I as k,a as o,aN as a,O as m,G as y,H as Q,J as p,F as W,ap as K,A as g}from"./@vue/runtime-core-C6bnekPw.js";import{o as x,Q as v}from"./@vue/shared-mAAVTE9n.js";import{y as X,n as C,r as E}from"./@vue/reactivity-DiY1c2vO.js";import{_ as Z}from"./index-FimllnSe.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const tt={class:"assistant-performance-page"},et={class:"stats-kpi-grid"},at={class:"stats-kpi-label"},ot={class:"card-header"},rt={class:"card-hint"},st=V({name:"assistantPerformancePage"}),nt=V({...st,setup(lt){const _=C(!1),l=C([]),i=E({time_type:"month",start_date:"",end_date:""}),r=E({date_range:[],summary:{total_amount:0,total_count:0},chart:{dates:[],amounts:[],counts:[]}}),w=[{key:"total_amount",label:"业绩",type:"money",cardClass:""},{key:"total_count",label:"有效订单数",type:"count",cardClass:""}],S=g(()=>{var e;return(e=r.date_range)!=null&&e.length?`${r.date_range[0]} 至 ${r.date_range[1]}`:"未选择"}),D=g(()=>r.chart.dates.length>0&&r.chart.amounts.some(e=>e>0)),F=g(()=>({tooltip:{trigger:"axis",formatter:e=>{const t=e[0];return`${t.axisValue}
${t.marker}${t.seriesName}: ¥${Number(t.value).toFixed(2)}`}},grid:{left:60,right:24,top:36,bottom:36},xAxis:{type:"category",data:r.chart.dates,axisLabel:{interval:r.chart.dates.length>15?"auto":0,rotate:r.chart.dates.length>10?30:0}},yAxis:{type:"value",name:"金额(元)",axisLabel:{formatter:e=>e>=1e4?(e/1e4).toFixed(1)+"万":String(e)}},series:[{name:"业绩",type:"line",smooth:!0,showSymbol:!0,symbolSize:6,lineStyle:{width:3,color:"#4a78ff"},itemStyle:{color:"#4a78ff"},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(74, 120, 255, 0.25)"},{offset:1,color:"rgba(74, 120, 255, 0.02)"}]}},data:r.chart.amounts}]})),N=(e,t)=>{var c;const n=((c=r.summary)==null?void 0:c[e])??0;return t==="money"?`¥${Number(n).toFixed(2)}`:String(n)},d=async()=>{_.value=!0;try{const e={time_type:i.time_type};i.time_type==="custom"&&(e.start_date=l.value[0]||"",e.end_date=l.value[1]||"");const t=await U(e);Object.assign(r,t||{})}catch(e){console.error("获取业绩数据失败:",e),q.error((e==null?void 0:e.msg)||"获取业绩数据失败")}finally{_.value=!1}},B=()=>{i.time_type!=="custom"&&(l.value=[],d())},$=()=>{var e;((e=l.value)==null?void 0:e.length)===2&&d()},R=()=>{i.time_type="month",l.value=[],d()};return j(()=>{d()}),(e,t)=>{const n=A,c=z,f=Y,P=G,b=H,M=T,h=I,O=L;return u(),k("div",tt,[o(h,{class:"!border-none",shadow:"never"},{default:a(()=>[o(M,{inline:!0,class:"stats-filter-form"},{default:a(()=>[o(f,{label:"时间范围"},{default:a(()=>[o(c,{modelValue:i.time_type,"onUpdate:modelValue":t[0]||(t[0]=s=>i.time_type=s),onChange:B},{default:a(()=>[o(n,{label:"today"},{default:a(()=>[...t[2]||(t[2]=[m("今天",-1)])]),_:1}),o(n,{label:"yesterday"},{default:a(()=>[...t[3]||(t[3]=[m("昨天",-1)])]),_:1}),o(n,{label:"week"},{default:a(()=>[...t[4]||(t[4]=[m("最近7天",-1)])]),_:1}),o(n,{label:"month"},{default:a(()=>[...t[5]||(t[5]=[m("最近30天",-1)])]),_:1}),o(n,{label:"custom"},{default:a(()=>[...t[6]||(t[6]=[m("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),i.time_type==="custom"?(u(),y(f,{key:0},{default:a(()=>[o(P,{modelValue:l.value,"onUpdate:modelValue":t[1]||(t[1]=s=>l.value=s),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",style:{width:"260px"},onChange:$},null,8,["modelValue"])]),_:1})):Q("",!0),o(f,null,{default:a(()=>[o(b,{type:"primary",loading:_.value,onClick:d},{default:a(()=>[...t[7]||(t[7]=[m("查询",-1)])]),_:1},8,["loading"]),o(b,{onClick:R},{default:a(()=>[...t[8]||(t[8]=[m("重置",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),p("div",et,[(u(),k(W,null,K(w,s=>p("div",{key:s.key,class:x(["stats-kpi-card",s.cardClass])},[p("div",at,v(s.label),1),p("div",{class:x(["stats-kpi-value",{"is-money":s.type==="money"}])},v(N(s.key,s.type)),3)],2)),64))]),o(h,{class:"!border-none mt-4",shadow:"never"},{header:a(()=>[p("div",ot,[t[9]||(t[9]=p("span",{class:"card-title"},"业绩趋势",-1)),p("span",rt,v(S.value)+" · 履约完成业绩",1)])]),default:a(()=>[D.value?(u(),y(X(J),{key:0,class:"stats-chart",option:F.value,autoresize:""},null,8,["option"])):(u(),y(O,{key:1,description:"暂无数据"}))]),_:1})])}}}),jt=Z(nt,[["__scopeId","data-v-297158c8"]]);export{jt as default};
diff --git a/server/public/admin/assets/index-CigRkTah.js b/server/public/admin/assets/index-DC8XhVbJ.js
similarity index 94%
rename from server/public/admin/assets/index-CigRkTah.js
rename to server/public/admin/assets/index-DC8XhVbJ.js
index 7db315f3..2bcb72c0 100644
--- a/server/public/admin/assets/index-CigRkTah.js
+++ b/server/public/admin/assets/index-DC8XhVbJ.js
@@ -1 +1 @@
-import{K as A,J as F,m as V,l as B,M,N as O,T as U,i as z,L as D}from"./element-plus-lurTijPg.js";import{a as N}from"./message-BrdZU5yI.js";import{u as S}from"./usePaging-VsbTxSU0.js";import{k as q}from"./index-DF1MLuL8.js";import{f as y,ac as G,ar as I,as as J,ak as n,I as g,a as t,aN as e,F as K,ap as j,aP as v,G as p,O as c}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,a as H,n as Q,r as W}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const X=y({name:"notice"}),zt=y({...X,setup(Y){let d;(r=>{r[r.USER=1]="USER",r[r.PLATFORM=2]="PLATFORM"})(d||(d={}));const s=Q(1),k=[{name:"通知用户",type:1},{name:"通知平台",type:2}],T=W({recipient:s}),{pager:u,getLists:_}=S({fetchFun:N,params:T});return G(()=>{_()}),_(),(r,o)=>{const w=A,f=F,E=B,h=V,l=O,b=U,C=I("router-link"),L=z,P=M,R=J("perms"),x=D;return n(),g("div",null,[t(f,{class:"!border-none",shadow:"never"},{default:e(()=>[t(w,{type:"warning",title:"温馨提示:平台配置在各个场景下的通知发送方式和内容模板",closable:!1,"show-icon":""})]),_:1}),t(f,{class:"!border-none mt-4",shadow:"never"},{default:e(()=>[t(h,{modelValue:i(s),"onUpdate:modelValue":o[0]||(o[0]=a=>H(s)?s.value=a:null),onTabChange:i(_)},{default:e(()=>[(n(),g(K,null,j(k,(a,m)=>t(E,{key:m,label:a.name,name:a.type,lazy:""},null,8,["label","name"])),64))]),_:1},8,["modelValue","onTabChange"]),v((n(),p(P,{size:"large",data:i(u).lists},{default:e(()=>[t(l,{label:"通知场景",prop:"scene_name","min-width":"120"}),t(l,{label:"通知类型",prop:"type_desc","min-width":"160"}),t(l,{label:"短信通知","min-width":"80"},{default:e(({row:a})=>{var m;return[((m=a.sms_notice)==null?void 0:m.status)==1?(n(),p(b,{key:0},{default:e(()=>[...o[1]||(o[1]=[c("开启",-1)])]),_:1})):(n(),p(b,{key:1,type:"danger"},{default:e(()=>[...o[2]||(o[2]=[c("关闭",-1)])]),_:1}))]}),_:1}),t(l,{label:"操作","min-width":"80",fixed:"right"},{default:e(({row:a})=>[v((n(),p(L,{type:"primary",link:""},{default:e(()=>[t(C,{to:{path:i(q)("notice.notice/set"),query:{id:a.id}}},{default:e(()=>[...o[3]||(o[3]=[c(" 设置 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[R,["notice.notice/set"]]])]),_:1})]),_:1},8,["data"])),[[x,i(u).loading]])]),_:1})])}}});export{zt as default};
+import{K as A,J as F,m as V,l as B,M,N as O,T as U,i as z,L as D}from"./element-plus-lurTijPg.js";import{a as N}from"./message-CDVXEs_4.js";import{u as S}from"./usePaging-VsbTxSU0.js";import{k as q}from"./index-FimllnSe.js";import{f as y,ac as G,ar as I,as as J,ak as n,I as g,a as t,aN as e,F as K,ap as j,aP as v,G as p,O as c}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,a as H,n as Q,r as W}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const X=y({name:"notice"}),zt=y({...X,setup(Y){let d;(r=>{r[r.USER=1]="USER",r[r.PLATFORM=2]="PLATFORM"})(d||(d={}));const s=Q(1),k=[{name:"通知用户",type:1},{name:"通知平台",type:2}],T=W({recipient:s}),{pager:u,getLists:_}=S({fetchFun:N,params:T});return G(()=>{_()}),_(),(r,o)=>{const w=A,f=F,E=B,h=V,l=O,b=U,C=I("router-link"),L=z,P=M,R=J("perms"),x=D;return n(),g("div",null,[t(f,{class:"!border-none",shadow:"never"},{default:e(()=>[t(w,{type:"warning",title:"温馨提示:平台配置在各个场景下的通知发送方式和内容模板",closable:!1,"show-icon":""})]),_:1}),t(f,{class:"!border-none mt-4",shadow:"never"},{default:e(()=>[t(h,{modelValue:i(s),"onUpdate:modelValue":o[0]||(o[0]=a=>H(s)?s.value=a:null),onTabChange:i(_)},{default:e(()=>[(n(),g(K,null,j(k,(a,m)=>t(E,{key:m,label:a.name,name:a.type,lazy:""},null,8,["label","name"])),64))]),_:1},8,["modelValue","onTabChange"]),v((n(),p(P,{size:"large",data:i(u).lists},{default:e(()=>[t(l,{label:"通知场景",prop:"scene_name","min-width":"120"}),t(l,{label:"通知类型",prop:"type_desc","min-width":"160"}),t(l,{label:"短信通知","min-width":"80"},{default:e(({row:a})=>{var m;return[((m=a.sms_notice)==null?void 0:m.status)==1?(n(),p(b,{key:0},{default:e(()=>[...o[1]||(o[1]=[c("开启",-1)])]),_:1})):(n(),p(b,{key:1,type:"danger"},{default:e(()=>[...o[2]||(o[2]=[c("关闭",-1)])]),_:1}))]}),_:1}),t(l,{label:"操作","min-width":"80",fixed:"right"},{default:e(({row:a})=>[v((n(),p(L,{type:"primary",link:""},{default:e(()=>[t(C,{to:{path:i(q)("notice.notice/set"),query:{id:a.id}}},{default:e(()=>[...o[3]||(o[3]=[c(" 设置 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[R,["notice.notice/set"]]])]),_:1})]),_:1},8,["data"])),[[x,i(u).loading]])]),_:1})])}}});export{zt as default};
diff --git a/server/public/admin/assets/index-CnpV87Ke.js b/server/public/admin/assets/index-DPukmZrj.js
similarity index 97%
rename from server/public/admin/assets/index-CnpV87Ke.js
rename to server/public/admin/assets/index-DPukmZrj.js
index 79d5ea34..affc446e 100644
--- a/server/public/admin/assets/index-CnpV87Ke.js
+++ b/server/public/admin/assets/index-DPukmZrj.js
@@ -1 +1 @@
-import{i as g,V as B}from"./element-plus-lurTijPg.js";import{f as k,n as C,am as b,ak as r,I as S,J as f,aq as p,a as T,M as V,aN as a,O as s,G as m,H as v}from"./@vue/runtime-core-C6bnekPw.js";import{n as $}from"./@vue/reactivity-DiY1c2vO.js";import{_ as E}from"./index-DF1MLuL8.js";import{Q as i,o as N}from"./@vue/shared-mAAVTE9n.js";const w=k({props:{title:{type:String,default:""},content:{type:String,default:""},confirmButtonText:{type:[String,Boolean],default:"确定"},cancelButtonText:{type:[String,Boolean],default:"取消"},width:{type:String,default:"400px"},disabled:{type:Boolean,default:!1},async:{type:Boolean,default:!1},clickModalClose:{type:Boolean,default:!1},center:{type:Boolean,default:!1},customClass:{type:String,default:""},zIndex:{type:Number,default:void 0}},emits:["confirm","cancel","close","open"],setup(e,{emit:o}){const t=$(!1),u=n=>{o(n),(!e.async||n==="cancel")&&d()},d=()=>{t.value=!1,C(()=>{o("close")})},c=()=>{e.disabled||(o("open"),t.value=!0)};return b("visible",t),{visible:t,handleEvent:u,close:d,open:c}}}),z={class:"dialog"},h={class:"dialog-footer"};function I(e,o,t,u,d,c){const n=g,y=B;return r(),S("div",z,[f("div",{class:"dialog__trigger",onClick:o[0]||(o[0]=(...l)=>e.open&&e.open(...l))},[p(e.$slots,"trigger",{},void 0,!0)]),T(y,{modelValue:e.visible,"onUpdate:modelValue":o[3]||(o[3]=l=>e.visible=l),class:N(e.customClass),center:e.center,"append-to-body":!0,width:e.width,"close-on-click-modal":e.clickModalClose,"z-index":e.zIndex,onClosed:e.close},V({footer:a(()=>[f("div",h,[e.cancelButtonText?(r(),m(n,{key:0,onClick:o[1]||(o[1]=l=>e.handleEvent("cancel"))},{default:a(()=>[s(i(e.cancelButtonText),1)]),_:1})):v("",!0),e.confirmButtonText?(r(),m(n,{key:1,type:"primary",onClick:o[2]||(o[2]=l=>e.handleEvent("confirm"))},{default:a(()=>[s(i(e.confirmButtonText),1)]),_:1})):v("",!0)])]),default:a(()=>[p(e.$slots,"default",{},()=>[s(i(e.content),1)],!0)]),_:2},[e.title?{name:"header",fn:a(()=>[s(i(e.title),1)]),key:"0"}:void 0]),1032,["modelValue","class","center","width","close-on-click-modal","z-index","onClosed"])])}const H=E(w,[["render",I],["__scopeId","data-v-40005f05"]]);export{H as _};
+import{i as g,V as B}from"./element-plus-lurTijPg.js";import{f as k,n as C,am as b,ak as r,I as S,J as f,aq as p,a as T,M as V,aN as a,O as s,G as m,H as v}from"./@vue/runtime-core-C6bnekPw.js";import{n as $}from"./@vue/reactivity-DiY1c2vO.js";import{_ as E}from"./index-FimllnSe.js";import{Q as i,o as N}from"./@vue/shared-mAAVTE9n.js";const w=k({props:{title:{type:String,default:""},content:{type:String,default:""},confirmButtonText:{type:[String,Boolean],default:"确定"},cancelButtonText:{type:[String,Boolean],default:"取消"},width:{type:String,default:"400px"},disabled:{type:Boolean,default:!1},async:{type:Boolean,default:!1},clickModalClose:{type:Boolean,default:!1},center:{type:Boolean,default:!1},customClass:{type:String,default:""},zIndex:{type:Number,default:void 0}},emits:["confirm","cancel","close","open"],setup(e,{emit:o}){const t=$(!1),u=n=>{o(n),(!e.async||n==="cancel")&&d()},d=()=>{t.value=!1,C(()=>{o("close")})},c=()=>{e.disabled||(o("open"),t.value=!0)};return b("visible",t),{visible:t,handleEvent:u,close:d,open:c}}}),z={class:"dialog"},h={class:"dialog-footer"};function I(e,o,t,u,d,c){const n=g,y=B;return r(),S("div",z,[f("div",{class:"dialog__trigger",onClick:o[0]||(o[0]=(...l)=>e.open&&e.open(...l))},[p(e.$slots,"trigger",{},void 0,!0)]),T(y,{modelValue:e.visible,"onUpdate:modelValue":o[3]||(o[3]=l=>e.visible=l),class:N(e.customClass),center:e.center,"append-to-body":!0,width:e.width,"close-on-click-modal":e.clickModalClose,"z-index":e.zIndex,onClosed:e.close},V({footer:a(()=>[f("div",h,[e.cancelButtonText?(r(),m(n,{key:0,onClick:o[1]||(o[1]=l=>e.handleEvent("cancel"))},{default:a(()=>[s(i(e.cancelButtonText),1)]),_:1})):v("",!0),e.confirmButtonText?(r(),m(n,{key:1,type:"primary",onClick:o[2]||(o[2]=l=>e.handleEvent("confirm"))},{default:a(()=>[s(i(e.confirmButtonText),1)]),_:1})):v("",!0)])]),default:a(()=>[p(e.$slots,"default",{},()=>[s(i(e.content),1)],!0)]),_:2},[e.title?{name:"header",fn:a(()=>[s(i(e.title),1)]),key:"0"}:void 0]),1032,["modelValue","class","center","width","close-on-click-modal","z-index","onClosed"])])}const H=E(w,[["render",I],["__scopeId","data-v-40005f05"]]);export{H as _};
diff --git a/server/public/admin/assets/index-CW-DWOGB.js b/server/public/admin/assets/index-DU4mture.js
similarity index 94%
rename from server/public/admin/assets/index-CW-DWOGB.js
rename to server/public/admin/assets/index-DU4mture.js
index 80b7360d..b223a03a 100644
--- a/server/public/admin/assets/index-CW-DWOGB.js
+++ b/server/public/admin/assets/index-DU4mture.js
@@ -1 +1 @@
-import{D as z,B as A,C as G,P as H,Q as M,i as Q,J as W,M as X,N as Y,T as Z,L as ee}from"./element-plus-lurTijPg.js";import{_ as te}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{c as oe,k as le,i as ae}from"./index-DF1MLuL8.js";import{w as P}from"./@vue/runtime-dom-DDAG46FW.js";import{f as ne,i as ie}from"./dict-D8ihmGsL.js";import{u as se}from"./usePaging-VsbTxSU0.js";import{_ as re}from"./edit.vue_vue_type_script_setup_true_lang-BxoMlh7e.js";import{f as R,ar as me,as as de,ak as n,I as $,a as t,aN as o,O as s,J as V,aP as u,G as d,H as pe,n as B}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,a as ue,q as ce,n as N,r as _e}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-CnpV87Ke.js";const fe={class:"dict-type"},ye={class:"mt-4"},ve={class:"flex justify-end mt-4"},ge=R({name:"dictType"}),rt=R({...ge,setup(ke){const y=ce(),v=N(!1),r=_e({name:"",type:"",status:""}),{pager:c,getLists:g,resetPage:b,resetParams:K}=se({fetchFun:ne,params:r}),C=N([]),S=i=>{C.value=i.map(({id:e})=>e)},F=async()=>{var i;v.value=!0,await B(),(i=y.value)==null||i.open("add")},I=async i=>{var e,_;v.value=!0,await B(),(e=y.value)==null||e.open("edit"),(_=y.value)==null||_.setFormData(i)},E=async i=>{await ae.confirm("确定要删除?"),await ie({id:i}),g()};return g(),(i,e)=>{const _=G,k=A,w=M,L=H,p=Q,U=z,x=W,D=oe,m=Y,T=Z,q=me("router-link"),J=X,O=te,f=de("perms"),h=ee;return n(),$("div",fe,[t(x,{class:"!border-none",shadow:"never"},{default:o(()=>[t(U,{ref:"formRef",class:"mb-[-16px]",model:l(r),inline:""},{default:o(()=>[t(k,{class:"w-[280px]",label:"字典名称"},{default:o(()=>[t(_,{modelValue:l(r).name,"onUpdate:modelValue":e[0]||(e[0]=a=>l(r).name=a),clearable:"",onKeyup:P(l(b),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(k,{class:"w-[280px]",label:"字典类型"},{default:o(()=>[t(_,{modelValue:l(r).type,"onUpdate:modelValue":e[1]||(e[1]=a=>l(r).type=a),clearable:"",onKeyup:P(l(b),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(k,{class:"w-[280px]",label:"状态"},{default:o(()=>[t(L,{modelValue:l(r).status,"onUpdate:modelValue":e[2]||(e[2]=a=>l(r).status=a)},{default:o(()=>[t(w,{label:"全部",value:""}),t(w,{label:"正常",value:1}),t(w,{label:"停用",value:0})]),_:1},8,["modelValue"])]),_:1}),t(k,null,{default:o(()=>[t(p,{type:"primary",onClick:l(b)},{default:o(()=>[...e[6]||(e[6]=[s("查询",-1)])]),_:1},8,["onClick"]),t(p,{onClick:l(K)},{default:o(()=>[...e[7]||(e[7]=[s("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),t(x,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[V("div",null,[u((n(),d(p,{type:"primary",onClick:F},{icon:o(()=>[t(D,{name:"el-icon-Plus"})]),default:o(()=>[e[8]||(e[8]=s(" 新增 ",-1))]),_:1})),[[f,["setting.dict.dict_type/add"]]]),u((n(),d(p,{disabled:!l(C).length,type:"danger",onClick:e[3]||(e[3]=a=>E(l(C)))},{icon:o(()=>[t(D,{name:"el-icon-Delete"})]),default:o(()=>[e[9]||(e[9]=s(" 删除 ",-1))]),_:1},8,["disabled"])),[[f,["setting.dict.dict_type/delete"]]])]),u((n(),$("div",ye,[V("div",null,[t(J,{data:l(c).lists,size:"large",onSelectionChange:S},{default:o(()=>[t(m,{type:"selection",width:"55"}),t(m,{label:"ID",prop:"id"}),t(m,{label:"字典名称",prop:"name","min-width":"120"}),t(m,{label:"字典类型",prop:"type","min-width":"120"}),t(m,{label:"状态"},{default:o(({row:a})=>[a.status==1?(n(),d(T,{key:0},{default:o(()=>[...e[10]||(e[10]=[s("正常",-1)])]),_:1})):(n(),d(T,{key:1,type:"danger"},{default:o(()=>[...e[11]||(e[11]=[s("停用",-1)])]),_:1}))]),_:1}),t(m,{label:"备注",prop:"remark","show-tooltip-when-overflow":""}),t(m,{label:"创建时间",prop:"create_time","min-width":"180"}),t(m,{label:"操作",width:"190",fixed:"right"},{default:o(({row:a})=>[u((n(),d(p,{link:"",type:"primary",onClick:j=>I(a)},{default:o(()=>[...e[12]||(e[12]=[s(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[f,["setting.dict.dict_type/edit"]]]),u((n(),d(p,{type:"primary",link:""},{default:o(()=>[t(q,{to:{path:l(le)("setting.dict.dict_data/lists"),query:{id:a.id}}},{default:o(()=>[...e[13]||(e[13]=[s(" 数据管理 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[f,["setting.dict.dict_data/lists"]]]),u((n(),d(p,{link:"",type:"danger",onClick:j=>E(a.id)},{default:o(()=>[...e[14]||(e[14]=[s(" 删除 ",-1)])]),_:1},8,["onClick"])),[[f,["setting.dict.dict_type/delete"]]])]),_:1})]),_:1},8,["data"])]),V("div",ve,[t(O,{modelValue:l(c),"onUpdate:modelValue":e[4]||(e[4]=a=>ue(c)?c.value=a:null),onChange:l(g)},null,8,["modelValue","onChange"])])])),[[h,l(c).loading]])]),_:1}),l(v)?(n(),d(re,{key:0,ref_key:"editRef",ref:y,onSuccess:l(g),onClose:e[5]||(e[5]=a=>v.value=!1)},null,8,["onSuccess"])):pe("",!0)])}}});export{rt as default};
+import{D as z,B as A,C as G,P as H,Q as M,i as Q,J as W,M as X,N as Y,T as Z,L as ee}from"./element-plus-lurTijPg.js";import{_ as te}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{c as oe,k as le,i as ae}from"./index-FimllnSe.js";import{w as P}from"./@vue/runtime-dom-DDAG46FW.js";import{f as ne,i as ie}from"./dict-Dw7uLhgd.js";import{u as se}from"./usePaging-VsbTxSU0.js";import{_ as re}from"./edit.vue_vue_type_script_setup_true_lang-CYAI_2IQ.js";import{f as R,ar as me,as as de,ak as n,I as $,a as t,aN as o,O as s,J as V,aP as u,G as d,H as pe,n as B}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,a as ue,q as ce,n as N,r as _e}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-DPukmZrj.js";const fe={class:"dict-type"},ye={class:"mt-4"},ve={class:"flex justify-end mt-4"},ge=R({name:"dictType"}),rt=R({...ge,setup(ke){const y=ce(),v=N(!1),r=_e({name:"",type:"",status:""}),{pager:c,getLists:g,resetPage:b,resetParams:K}=se({fetchFun:ne,params:r}),C=N([]),S=i=>{C.value=i.map(({id:e})=>e)},F=async()=>{var i;v.value=!0,await B(),(i=y.value)==null||i.open("add")},I=async i=>{var e,_;v.value=!0,await B(),(e=y.value)==null||e.open("edit"),(_=y.value)==null||_.setFormData(i)},E=async i=>{await ae.confirm("确定要删除?"),await ie({id:i}),g()};return g(),(i,e)=>{const _=G,k=A,w=M,L=H,p=Q,U=z,x=W,D=oe,m=Y,T=Z,q=me("router-link"),J=X,O=te,f=de("perms"),h=ee;return n(),$("div",fe,[t(x,{class:"!border-none",shadow:"never"},{default:o(()=>[t(U,{ref:"formRef",class:"mb-[-16px]",model:l(r),inline:""},{default:o(()=>[t(k,{class:"w-[280px]",label:"字典名称"},{default:o(()=>[t(_,{modelValue:l(r).name,"onUpdate:modelValue":e[0]||(e[0]=a=>l(r).name=a),clearable:"",onKeyup:P(l(b),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(k,{class:"w-[280px]",label:"字典类型"},{default:o(()=>[t(_,{modelValue:l(r).type,"onUpdate:modelValue":e[1]||(e[1]=a=>l(r).type=a),clearable:"",onKeyup:P(l(b),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(k,{class:"w-[280px]",label:"状态"},{default:o(()=>[t(L,{modelValue:l(r).status,"onUpdate:modelValue":e[2]||(e[2]=a=>l(r).status=a)},{default:o(()=>[t(w,{label:"全部",value:""}),t(w,{label:"正常",value:1}),t(w,{label:"停用",value:0})]),_:1},8,["modelValue"])]),_:1}),t(k,null,{default:o(()=>[t(p,{type:"primary",onClick:l(b)},{default:o(()=>[...e[6]||(e[6]=[s("查询",-1)])]),_:1},8,["onClick"]),t(p,{onClick:l(K)},{default:o(()=>[...e[7]||(e[7]=[s("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),t(x,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[V("div",null,[u((n(),d(p,{type:"primary",onClick:F},{icon:o(()=>[t(D,{name:"el-icon-Plus"})]),default:o(()=>[e[8]||(e[8]=s(" 新增 ",-1))]),_:1})),[[f,["setting.dict.dict_type/add"]]]),u((n(),d(p,{disabled:!l(C).length,type:"danger",onClick:e[3]||(e[3]=a=>E(l(C)))},{icon:o(()=>[t(D,{name:"el-icon-Delete"})]),default:o(()=>[e[9]||(e[9]=s(" 删除 ",-1))]),_:1},8,["disabled"])),[[f,["setting.dict.dict_type/delete"]]])]),u((n(),$("div",ye,[V("div",null,[t(J,{data:l(c).lists,size:"large",onSelectionChange:S},{default:o(()=>[t(m,{type:"selection",width:"55"}),t(m,{label:"ID",prop:"id"}),t(m,{label:"字典名称",prop:"name","min-width":"120"}),t(m,{label:"字典类型",prop:"type","min-width":"120"}),t(m,{label:"状态"},{default:o(({row:a})=>[a.status==1?(n(),d(T,{key:0},{default:o(()=>[...e[10]||(e[10]=[s("正常",-1)])]),_:1})):(n(),d(T,{key:1,type:"danger"},{default:o(()=>[...e[11]||(e[11]=[s("停用",-1)])]),_:1}))]),_:1}),t(m,{label:"备注",prop:"remark","show-tooltip-when-overflow":""}),t(m,{label:"创建时间",prop:"create_time","min-width":"180"}),t(m,{label:"操作",width:"190",fixed:"right"},{default:o(({row:a})=>[u((n(),d(p,{link:"",type:"primary",onClick:j=>I(a)},{default:o(()=>[...e[12]||(e[12]=[s(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[f,["setting.dict.dict_type/edit"]]]),u((n(),d(p,{type:"primary",link:""},{default:o(()=>[t(q,{to:{path:l(le)("setting.dict.dict_data/lists"),query:{id:a.id}}},{default:o(()=>[...e[13]||(e[13]=[s(" 数据管理 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[f,["setting.dict.dict_data/lists"]]]),u((n(),d(p,{link:"",type:"danger",onClick:j=>E(a.id)},{default:o(()=>[...e[14]||(e[14]=[s(" 删除 ",-1)])]),_:1},8,["onClick"])),[[f,["setting.dict.dict_type/delete"]]])]),_:1})]),_:1},8,["data"])]),V("div",ve,[t(O,{modelValue:l(c),"onUpdate:modelValue":e[4]||(e[4]=a=>ue(c)?c.value=a:null),onChange:l(g)},null,8,["modelValue","onChange"])])])),[[h,l(c).loading]])]),_:1}),l(v)?(n(),d(re,{key:0,ref_key:"editRef",ref:y,onSuccess:l(g),onClose:e[5]||(e[5]=a=>v.value=!1)},null,8,["onSuccess"])):pe("",!0)])}}});export{rt as default};
diff --git a/server/public/admin/assets/index-_ERDssCQ.js b/server/public/admin/assets/index-DWt-lpdR.js
similarity index 96%
rename from server/public/admin/assets/index-_ERDssCQ.js
rename to server/public/admin/assets/index-DWt-lpdR.js
index 5b09b3eb..11119ad2 100644
--- a/server/public/admin/assets/index-_ERDssCQ.js
+++ b/server/public/admin/assets/index-DWt-lpdR.js
@@ -1 +1 @@
-var A=Object.defineProperty;var F=(e,r,s)=>r in e?A(e,r,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[r]=s;var U=(e,r,s)=>F(e,typeof r!="symbol"?r+"":r,s);import{a0 as M,a1 as N,V}from"./element-plus-lurTijPg.js";import{u as j,e as K,p as _,R as b,i as w,_ as H}from"./index-DF1MLuL8.js";import{C as x}from"./cos-js-sdk-v5-DSMN0LUT.js";import{j as J,k as X}from"./file-BdGKYRpa.js";import{f as G,A as C,ak as E,I as P,a as z,aN as D,aq as Q,G as W,J as $,F as Y,ap as Z,H as ee}from"./@vue/runtime-core-C6bnekPw.js";import{n as L,q as re}from"./@vue/reactivity-DiY1c2vO.js";import{Q as ae}from"./@vue/shared-mAAVTE9n.js";const te=5*1024*1024,se=3;function le(e,r){const s=(r.name.split(".").pop()||"mp4").toLowerCase(),S=Date.now(),p=Math.random().toString(36).slice(2,10);return`${e}${S}-${p}.${s}`}async function ne(e){var o,d;const r=await J({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,p=r.start_time??Math.floor(Date.now()/1e3),y=new x({getAuthorization(m,i){i({TmpSecretId:s.tmpSecretId,TmpSecretKey:s.tmpSecretKey,SecurityToken:s.sessionToken,StartTime:p,ExpiredTime:S})}}),h=le(r.key_prefix,e.file);await new Promise((m,i)=>{y.uploadFile({Bucket:r.bucket,Region:r.region,Key:h,Body:e.file,SliceSize:te,AsyncLimit:se,onProgress(f){if(!e.onProgress)return;const k=f.total||e.file.size;e.onProgress({percent:Math.min(99,Math.round((f.percent||0)*100)),loaded:f.loaded||0,total:k,speed:f.speed||0})}},f=>{if(f){i(f);return}m()})});const u=await X({type:e.type,key:h,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}`);U(this,"provider");this.name="DirectUploadFallbackError",this.provider=s}}const ce=G({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=j(),S=K(),p=re(),y=L(`${_.baseUrl}${_.urlPrefix}/upload/${e.type}`),h=C(()=>({token:s.token,version:S.config.version})),u=L(!1),o=L([]),d=C(()=>e.direct&&["video","voice"].includes(e.type)),m=()=>{u.value=!0};let i=0;const f=(a,n)=>{i++,i==o.value.length&&(i=0,o.value=[],r("allSuccess")),r("change",n),a.code==b.SUCCESS&&r("success",a),a.code==b.FAIL&&a.msg&&w.msgError(a.msg)},k=(a,n)=>{var l;i++,i==o.value.length&&(i=0,o.value=[],r("allSuccess")),w.msgError(`${n.name}文件上传失败`),(l=p.value)==null||l.abort(n),u.value=!1,r("change",n),r("error",n)},B=()=>{w.msgError(`超出上传上限${e.limit},请重新上传`)},R=()=>{o.value=[],u.value=!1},q=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"*"}}),I=async a=>{var n,l,v;u.value=!0;try{const t=await ne({file:a.file,type:e.type,cid:Number(((n=a.data)==null?void 0:n.cid)??0),onProgress(c){var g;(g=a.onProgress)==null||g.call(a,{percent:c.percent,loaded:c.loaded,total:c.total})}});(l=a.onSuccess)==null||l.call(a,{code:b.SUCCESS,msg:"ok",data:t})}catch(t){if(t instanceof T){w.msgWarning("当前存储不支持直传,已切换为普通上传"),await O(a);return}(v=a.onError)==null||v.call(a,t instanceof Error?t:new Error(String((t==null?void 0:t.message)??t)))}},O=a=>new Promise(n=>{const l=new XMLHttpRequest;l.open("POST",y.value),Object.entries(h.value).forEach(([t,c])=>l.setRequestHeader(t,String(c??""))),l.upload.onprogress=t=>{var g;if(!t.lengthComputable)return;const c=t.loaded/t.total*100;(g=a.onProgress)==null||g.call(a,{percent:c,loaded:t.loaded,total:t.total})},l.onload=()=>{var t,c;try{const g=JSON.parse(l.responseText);(t=a.onSuccess)==null||t.call(a,g)}catch{(c=a.onError)==null||c.call(a,new Error("上传响应解析失败"))}n()},l.onerror=()=>{var t;(t=a.onError)==null||t.call(a,new Error("网络错误")),n()};const v=new FormData;v.append("file",a.file),Object.entries(a.data||{}).forEach(([t,c])=>v.append(t,String(c))),l.send(v)});return{uploadRefs:p,action:y,headers:h,visible:u,fileList:o,useDirect:d,httpRequest:I,getAccept:q,handleProgress:m,handleSuccess:f,handleError:k,handleExceed:B,handleClose:R}}}),oe={class:"upload"},de={class:"file-list p-4"},ie={class:"flex-1"};function ue(e,r,s,S,p,y){const h=M,u=N,o=V;return E(),P("div",oe,[z(h,{"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:D(()=>[Q(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?(E(),W(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:D(()=>[$("div",de,[(E(!0),P(Y,null,Z(e.fileList,(d,m)=>(E(),P("div",{key:m,class:"mb-5"},[$("div",null,ae(d.name),1),$("div",ie,[z(u,{percentage:parseInt(d.percentage)},null,8,["percentage"])])]))),128))])]),_:1},8,["modelValue","onClose"])):ee("",!0)])}const we=H(ce,[["render",ue]]);export{we as U};
+var A=Object.defineProperty;var F=(e,r,s)=>r in e?A(e,r,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[r]=s;var U=(e,r,s)=>F(e,typeof r!="symbol"?r+"":r,s);import{a0 as M,a1 as N,V}from"./element-plus-lurTijPg.js";import{u as j,e as K,p as _,R as b,i as w,_ as H}from"./index-FimllnSe.js";import{C as x}from"./cos-js-sdk-v5-DSMN0LUT.js";import{j as J,k as X}from"./file-C3a0qLlq.js";import{f as G,A as C,ak as E,I as P,a as z,aN as D,aq as Q,G as W,J as $,F as Y,ap as Z,H as ee}from"./@vue/runtime-core-C6bnekPw.js";import{n as L,q as re}from"./@vue/reactivity-DiY1c2vO.js";import{Q as ae}from"./@vue/shared-mAAVTE9n.js";const te=5*1024*1024,se=3;function le(e,r){const s=(r.name.split(".").pop()||"mp4").toLowerCase(),S=Date.now(),p=Math.random().toString(36).slice(2,10);return`${e}${S}-${p}.${s}`}async function ne(e){var o,d;const r=await J({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,p=r.start_time??Math.floor(Date.now()/1e3),y=new x({getAuthorization(m,i){i({TmpSecretId:s.tmpSecretId,TmpSecretKey:s.tmpSecretKey,SecurityToken:s.sessionToken,StartTime:p,ExpiredTime:S})}}),h=le(r.key_prefix,e.file);await new Promise((m,i)=>{y.uploadFile({Bucket:r.bucket,Region:r.region,Key:h,Body:e.file,SliceSize:te,AsyncLimit:se,onProgress(f){if(!e.onProgress)return;const k=f.total||e.file.size;e.onProgress({percent:Math.min(99,Math.round((f.percent||0)*100)),loaded:f.loaded||0,total:k,speed:f.speed||0})}},f=>{if(f){i(f);return}m()})});const u=await X({type:e.type,key:h,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}`);U(this,"provider");this.name="DirectUploadFallbackError",this.provider=s}}const ce=G({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=j(),S=K(),p=re(),y=L(`${_.baseUrl}${_.urlPrefix}/upload/${e.type}`),h=C(()=>({token:s.token,version:S.config.version})),u=L(!1),o=L([]),d=C(()=>e.direct&&["video","voice"].includes(e.type)),m=()=>{u.value=!0};let i=0;const f=(a,n)=>{i++,i==o.value.length&&(i=0,o.value=[],r("allSuccess")),r("change",n),a.code==b.SUCCESS&&r("success",a),a.code==b.FAIL&&a.msg&&w.msgError(a.msg)},k=(a,n)=>{var l;i++,i==o.value.length&&(i=0,o.value=[],r("allSuccess")),w.msgError(`${n.name}文件上传失败`),(l=p.value)==null||l.abort(n),u.value=!1,r("change",n),r("error",n)},B=()=>{w.msgError(`超出上传上限${e.limit},请重新上传`)},R=()=>{o.value=[],u.value=!1},q=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"*"}}),I=async a=>{var n,l,v;u.value=!0;try{const t=await ne({file:a.file,type:e.type,cid:Number(((n=a.data)==null?void 0:n.cid)??0),onProgress(c){var g;(g=a.onProgress)==null||g.call(a,{percent:c.percent,loaded:c.loaded,total:c.total})}});(l=a.onSuccess)==null||l.call(a,{code:b.SUCCESS,msg:"ok",data:t})}catch(t){if(t instanceof T){w.msgWarning("当前存储不支持直传,已切换为普通上传"),await O(a);return}(v=a.onError)==null||v.call(a,t instanceof Error?t:new Error(String((t==null?void 0:t.message)??t)))}},O=a=>new Promise(n=>{const l=new XMLHttpRequest;l.open("POST",y.value),Object.entries(h.value).forEach(([t,c])=>l.setRequestHeader(t,String(c??""))),l.upload.onprogress=t=>{var g;if(!t.lengthComputable)return;const c=t.loaded/t.total*100;(g=a.onProgress)==null||g.call(a,{percent:c,loaded:t.loaded,total:t.total})},l.onload=()=>{var t,c;try{const g=JSON.parse(l.responseText);(t=a.onSuccess)==null||t.call(a,g)}catch{(c=a.onError)==null||c.call(a,new Error("上传响应解析失败"))}n()},l.onerror=()=>{var t;(t=a.onError)==null||t.call(a,new Error("网络错误")),n()};const v=new FormData;v.append("file",a.file),Object.entries(a.data||{}).forEach(([t,c])=>v.append(t,String(c))),l.send(v)});return{uploadRefs:p,action:y,headers:h,visible:u,fileList:o,useDirect:d,httpRequest:I,getAccept:q,handleProgress:m,handleSuccess:f,handleError:k,handleExceed:B,handleClose:R}}}),oe={class:"upload"},de={class:"file-list p-4"},ie={class:"flex-1"};function ue(e,r,s,S,p,y){const h=M,u=N,o=V;return E(),P("div",oe,[z(h,{"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:D(()=>[Q(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?(E(),W(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:D(()=>[$("div",de,[(E(!0),P(Y,null,Z(e.fileList,(d,m)=>(E(),P("div",{key:m,class:"mb-5"},[$("div",null,ae(d.name),1),$("div",ie,[z(u,{percentage:parseInt(d.percentage)},null,8,["percentage"])])]))),128))])]),_:1},8,["modelValue","onClose"])):ee("",!0)])}const we=H(ce,[["render",ue]]);export{we as U};
diff --git a/server/public/admin/assets/index-B888t8LD.js b/server/public/admin/assets/index-DX0L_9SE.js
similarity index 95%
rename from server/public/admin/assets/index-B888t8LD.js
rename to server/public/admin/assets/index-DX0L_9SE.js
index aea2be2a..81a9481c 100644
--- a/server/public/admin/assets/index-B888t8LD.js
+++ b/server/public/admin/assets/index-DX0L_9SE.js
@@ -1 +1 @@
-import{O as G,D as M,B as Q,P as W,Q as X,C as Y,i as Z,J as ee,M as te,N as ae,T as oe,L as le}from"./element-plus-lurTijPg.js";import{_ as ne}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{c as ie,i as se}from"./index-DF1MLuL8.js";import{w as de}from"./@vue/runtime-dom-DDAG46FW.js";import{c as re,e as me,f as pe}from"./dict-D8ihmGsL.js";import{u as ue}from"./usePaging-VsbTxSU0.js";import{_ as ce}from"./edit.vue_vue_type_script_setup_true_lang-Za-cqMeJ.js";import{u as _e}from"./vue-router-QlpZ4wdW.js";import{f as R,as as fe,ak as i,I as V,a as t,aN as a,F as ye,ap as ve,G as r,O as m,J as D,aP as v,H as ge,n as F}from"./@vue/runtime-core-C6bnekPw.js";import{r as N,y as o,a as be,n as L,q as ke}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-CnpV87Ke.js";const we={class:"dict-type"},Ce={class:"mt-4"},Ve={class:"flex justify-end mt-4"},De=R({name:"dictData"}),_t=R({...De,setup(Ee){const{query:S}=_e(),g=L(!1),_=ke(),s=N({type:"",type_id:Number(S.id),name:"",status:""}),w=N({dict_type:[]}),{pager:f,getLists:y,resetPage:E,resetParams:I}=ue({fetchFun:re,params:s}),C=L([]),U=n=>{C.value=n.map(({id:e})=>e)},q=async()=>{var e,p;g.value=!0,await F();const n=w.dict_type.find(u=>u.id==s.type_id);(e=_.value)==null||e.setFormData({type_value:n==null?void 0:n.type,type_id:n.id}),(p=_.value)==null||p.open("add")},K=async n=>{var e,p;g.value=!0,await F(),(e=_.value)==null||e.open("edit"),(p=_.value)==null||p.setFormData(n)},x=async n=>{await se.confirm("确定要删除?"),await me({id:n}),y()},O=async()=>{const n=await pe({page_type:0});w.dict_type=n.lists};return y(),O(),(n,e)=>{const p=G,u=X,$=W,b=Q,h=Y,c=Z,H=M,P=ee,T=ie,d=ae,B=oe,J=te,j=ne,k=fe("perms"),z=le;return i(),V("div",we,[t(P,{class:"!border-none",shadow:"never"},{default:a(()=>[t(p,{class:"mb-4",content:"数据管理",onBack:e[0]||(e[0]=l=>n.$router.back())}),t(H,{ref:"formRef",class:"mb-[-16px]",model:o(s),inline:""},{default:a(()=>[t(b,{class:"w-[280px]",label:"字典名称"},{default:a(()=>[t($,{modelValue:o(s).type_id,"onUpdate:modelValue":e[1]||(e[1]=l=>o(s).type_id=l),onChange:o(y)},{default:a(()=>[(i(!0),V(ye,null,ve(o(w).dict_type,l=>(i(),r(u,{label:l.name,value:l.id,key:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onChange"])]),_:1}),t(b,{class:"w-[280px]",label:"数据名称"},{default:a(()=>[t(h,{modelValue:o(s).name,"onUpdate:modelValue":e[2]||(e[2]=l=>o(s).name=l),clearable:"",onKeyup:de(o(E),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(b,{class:"w-[280px]",label:"数据状态"},{default:a(()=>[t($,{modelValue:o(s).status,"onUpdate:modelValue":e[3]||(e[3]=l=>o(s).status=l)},{default:a(()=>[t(u,{label:"全部",value:""}),t(u,{label:"正常",value:1}),t(u,{label:"停用",value:0})]),_:1},8,["modelValue"])]),_:1}),t(b,null,{default:a(()=>[t(c,{type:"primary",onClick:o(E)},{default:a(()=>[...e[7]||(e[7]=[m("查询",-1)])]),_:1},8,["onClick"]),t(c,{onClick:o(I)},{default:a(()=>[...e[8]||(e[8]=[m("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),t(P,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[D("div",null,[v((i(),r(c,{type:"primary",onClick:q},{icon:a(()=>[t(T,{name:"el-icon-Plus"})]),default:a(()=>[e[9]||(e[9]=m(" 添加数据 ",-1))]),_:1})),[[k,["setting.dict.dict_data/add"]]]),v((i(),r(c,{disabled:!o(C).length,type:"danger",onClick:e[4]||(e[4]=l=>x(o(C)))},{icon:a(()=>[t(T,{name:"el-icon-Delete"})]),default:a(()=>[e[10]||(e[10]=m(" 删除 ",-1))]),_:1},8,["disabled"])),[[k,["setting.dict.dict_data/delete"]]])]),v((i(),V("div",Ce,[D("div",null,[t(J,{data:o(f).lists,size:"large",onSelectionChange: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:l})=>[l.status==1?(i(),r(B,{key:0},{default:a(()=>[...e[11]||(e[11]=[m("正常",-1)])]),_:1})):(i(),r(B,{key:1,type:"danger"},{default:a(()=>[...e[12]||(e[12]=[m("停用",-1)])]),_:1}))]),_:1}),t(d,{label:"备注",prop:"remark","min-width":"120","show-tooltip-when-overflow":""}),t(d,{label:"排序",prop:"sort"}),t(d,{label:"操作",width:"120",fixed:"right"},{default:a(({row:l})=>[v((i(),r(c,{link:"",type:"primary",onClick:A=>K(l)},{default:a(()=>[...e[13]||(e[13]=[m(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[k,["setting.dict.dict_data/edit"]]]),v((i(),r(c,{link:"",type:"danger",onClick:A=>x(l.id)},{default:a(()=>[...e[14]||(e[14]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])),[[k,["setting.dict.dict_data/delete"]]])]),_:1})]),_:1},8,["data"])]),D("div",Ve,[t(j,{modelValue:o(f),"onUpdate:modelValue":e[5]||(e[5]=l=>be(f)?f.value=l:null),onChange:o(y)},null,8,["modelValue","onChange"])])])),[[z,o(f).loading]])]),_:1}),o(g)?(i(),r(ce,{key:0,ref_key:"editRef",ref:_,onSuccess:o(y),onClose:e[6]||(e[6]=l=>g.value=!1)},null,8,["onSuccess"])):ge("",!0)])}}});export{_t as default};
+import{O as G,D as M,B as Q,P as W,Q as X,C as Y,i as Z,J as ee,M as te,N as ae,T as oe,L as le}from"./element-plus-lurTijPg.js";import{_ as ne}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{c as ie,i as se}from"./index-FimllnSe.js";import{w as de}from"./@vue/runtime-dom-DDAG46FW.js";import{c as re,e as me,f as pe}from"./dict-Dw7uLhgd.js";import{u as ue}from"./usePaging-VsbTxSU0.js";import{_ as ce}from"./edit.vue_vue_type_script_setup_true_lang-1Uo7M7IA.js";import{u as _e}from"./vue-router-QlpZ4wdW.js";import{f as R,as as fe,ak as i,I as V,a as t,aN as a,F as ye,ap as ve,G as r,O as m,J as D,aP as v,H as ge,n as F}from"./@vue/runtime-core-C6bnekPw.js";import{r as N,y as o,a as be,n as L,q as ke}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-DPukmZrj.js";const we={class:"dict-type"},Ce={class:"mt-4"},Ve={class:"flex justify-end mt-4"},De=R({name:"dictData"}),_t=R({...De,setup(Ee){const{query:S}=_e(),g=L(!1),_=ke(),s=N({type:"",type_id:Number(S.id),name:"",status:""}),w=N({dict_type:[]}),{pager:f,getLists:y,resetPage:E,resetParams:I}=ue({fetchFun:re,params:s}),C=L([]),U=n=>{C.value=n.map(({id:e})=>e)},q=async()=>{var e,p;g.value=!0,await F();const n=w.dict_type.find(u=>u.id==s.type_id);(e=_.value)==null||e.setFormData({type_value:n==null?void 0:n.type,type_id:n.id}),(p=_.value)==null||p.open("add")},K=async n=>{var e,p;g.value=!0,await F(),(e=_.value)==null||e.open("edit"),(p=_.value)==null||p.setFormData(n)},x=async n=>{await se.confirm("确定要删除?"),await me({id:n}),y()},O=async()=>{const n=await pe({page_type:0});w.dict_type=n.lists};return y(),O(),(n,e)=>{const p=G,u=X,$=W,b=Q,h=Y,c=Z,H=M,P=ee,T=ie,d=ae,B=oe,J=te,j=ne,k=fe("perms"),z=le;return i(),V("div",we,[t(P,{class:"!border-none",shadow:"never"},{default:a(()=>[t(p,{class:"mb-4",content:"数据管理",onBack:e[0]||(e[0]=l=>n.$router.back())}),t(H,{ref:"formRef",class:"mb-[-16px]",model:o(s),inline:""},{default:a(()=>[t(b,{class:"w-[280px]",label:"字典名称"},{default:a(()=>[t($,{modelValue:o(s).type_id,"onUpdate:modelValue":e[1]||(e[1]=l=>o(s).type_id=l),onChange:o(y)},{default:a(()=>[(i(!0),V(ye,null,ve(o(w).dict_type,l=>(i(),r(u,{label:l.name,value:l.id,key:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onChange"])]),_:1}),t(b,{class:"w-[280px]",label:"数据名称"},{default:a(()=>[t(h,{modelValue:o(s).name,"onUpdate:modelValue":e[2]||(e[2]=l=>o(s).name=l),clearable:"",onKeyup:de(o(E),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(b,{class:"w-[280px]",label:"数据状态"},{default:a(()=>[t($,{modelValue:o(s).status,"onUpdate:modelValue":e[3]||(e[3]=l=>o(s).status=l)},{default:a(()=>[t(u,{label:"全部",value:""}),t(u,{label:"正常",value:1}),t(u,{label:"停用",value:0})]),_:1},8,["modelValue"])]),_:1}),t(b,null,{default:a(()=>[t(c,{type:"primary",onClick:o(E)},{default:a(()=>[...e[7]||(e[7]=[m("查询",-1)])]),_:1},8,["onClick"]),t(c,{onClick:o(I)},{default:a(()=>[...e[8]||(e[8]=[m("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),t(P,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[D("div",null,[v((i(),r(c,{type:"primary",onClick:q},{icon:a(()=>[t(T,{name:"el-icon-Plus"})]),default:a(()=>[e[9]||(e[9]=m(" 添加数据 ",-1))]),_:1})),[[k,["setting.dict.dict_data/add"]]]),v((i(),r(c,{disabled:!o(C).length,type:"danger",onClick:e[4]||(e[4]=l=>x(o(C)))},{icon:a(()=>[t(T,{name:"el-icon-Delete"})]),default:a(()=>[e[10]||(e[10]=m(" 删除 ",-1))]),_:1},8,["disabled"])),[[k,["setting.dict.dict_data/delete"]]])]),v((i(),V("div",Ce,[D("div",null,[t(J,{data:o(f).lists,size:"large",onSelectionChange: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:l})=>[l.status==1?(i(),r(B,{key:0},{default:a(()=>[...e[11]||(e[11]=[m("正常",-1)])]),_:1})):(i(),r(B,{key:1,type:"danger"},{default:a(()=>[...e[12]||(e[12]=[m("停用",-1)])]),_:1}))]),_:1}),t(d,{label:"备注",prop:"remark","min-width":"120","show-tooltip-when-overflow":""}),t(d,{label:"排序",prop:"sort"}),t(d,{label:"操作",width:"120",fixed:"right"},{default:a(({row:l})=>[v((i(),r(c,{link:"",type:"primary",onClick:A=>K(l)},{default:a(()=>[...e[13]||(e[13]=[m(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[k,["setting.dict.dict_data/edit"]]]),v((i(),r(c,{link:"",type:"danger",onClick:A=>x(l.id)},{default:a(()=>[...e[14]||(e[14]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])),[[k,["setting.dict.dict_data/delete"]]])]),_:1})]),_:1},8,["data"])]),D("div",Ve,[t(j,{modelValue:o(f),"onUpdate:modelValue":e[5]||(e[5]=l=>be(f)?f.value=l:null),onChange:o(y)},null,8,["modelValue","onChange"])])])),[[z,o(f).loading]])]),_:1}),o(g)?(i(),r(ce,{key:0,ref_key:"editRef",ref:_,onSuccess:o(y),onClose:e[6]||(e[6]=l=>g.value=!1)},null,8,["onSuccess"])):ge("",!0)])}}});export{_t as default};
diff --git a/server/public/admin/assets/index-BdBEjexV.js b/server/public/admin/assets/index-DX6Q7ijR.js
similarity index 86%
rename from server/public/admin/assets/index-BdBEjexV.js
rename to server/public/admin/assets/index-DX6Q7ijR.js
index e92da6aa..d76467fa 100644
--- a/server/public/admin/assets/index-BdBEjexV.js
+++ b/server/public/admin/assets/index-DX6Q7ijR.js
@@ -1 +1 @@
-import{f as t,ak as s,I as n,J as a,aq as r}from"./@vue/runtime-core-C6bnekPw.js";import{p as _}from"./@vue/shared-mAAVTE9n.js";import{_ as i}from"./index-DF1MLuL8.js";const c={class:"footer-btns"},p=t({__name:"index",props:{fixed:{type:Boolean,default:!0}},setup(e){return(o,d)=>(s(),n("div",c,[a("div",{class:"footer-btns__content",style:_(e.fixed?"position: fixed":"")},[r(o.$slots,"default",{},void 0,!0)],4)]))}}),u=i(p,[["__scopeId","data-v-9f638557"]]);export{u as _};
+import{f as t,ak as s,I as n,J as a,aq as r}from"./@vue/runtime-core-C6bnekPw.js";import{p as _}from"./@vue/shared-mAAVTE9n.js";import{_ as i}from"./index-FimllnSe.js";const c={class:"footer-btns"},p=t({__name:"index",props:{fixed:{type:Boolean,default:!0}},setup(e){return(o,d)=>(s(),n("div",c,[a("div",{class:"footer-btns__content",style:_(e.fixed?"position: fixed":"")},[r(o.$slots,"default",{},void 0,!0)],4)]))}}),u=i(p,[["__scopeId","data-v-9f638557"]]);export{u as _};
diff --git a/server/public/admin/assets/index-CL6MNqTV.js b/server/public/admin/assets/index-DaRZGI-S.js
similarity index 98%
rename from server/public/admin/assets/index-CL6MNqTV.js
rename to server/public/admin/assets/index-DaRZGI-S.js
index 8c70b549..f88e5135 100644
--- a/server/public/admin/assets/index-CL6MNqTV.js
+++ b/server/public/admin/assets/index-DaRZGI-S.js
@@ -1,5 +1,5 @@
-const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-Bqsg8jkl.js","assets/element-plus-lurTijPg.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/tcm-tCkhN6ch.js","assets/index-DF1MLuL8.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-cWYbZtDX.css","assets/perm-DJQOTKtE.js","assets/DailyMatrix-Bv0ZDAsS.js","assets/picker-BPfrB1Pn.js","assets/index-CnpV87Ke.js","assets/index-B3imPWFk.css","assets/index-BP_YKY_y.js","assets/index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js","assets/index-mDy9ToMf.js","assets/index-D0f1Mn00.css","assets/index-_ERDssCQ.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-BdGKYRpa.js","assets/index.vue_vue_type_script_setup_true_lang-SfFZFG0h.js","assets/usePaging-VsbTxSU0.js","assets/index-BYOmK9R5.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-DFW8NrDC.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-AmWwwWJ0.css","assets/CaseRecordList-GHq4gyBb.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-DhY-d8bi.js","assets/RecordingPlaybackBlock-CszaDVIP.js","assets/RecordingVideoPlayer-Bgdabd2n.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-B3gJp5ia.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-CJoC4wHm.js","assets/AssignLogPanel-DkQMoEkX.css","assets/AppointmentRecordPanel-Cb1bEIBY.js","assets/doctor-Lmz4K3Qd.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-WlJtu4cF.js","assets/patient-CU85GrfB.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-BT6MFGZ3.js","assets/PatientOrderList-Dx28GIXs.css","assets/index-B37DCCed.js","assets/index-BP9srYoP.js","assets/medicine-Thom1b2D.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-j-ocBozB.css","assets/edit-B0YJchTk.css","assets/TrackingNoteTimeline-B9T8pFso.css"])))=>i.map(i=>d[i]);
-import{_ as Sl,E as Cl}from"./jspdf-BsthCvR5.js";import{G as Ul,F as $l,D as Pl,B as Dl,C as Rl,P as Tl,Q as Ol,i as Al,J as El,L as Ll,M as Fl,N as zl,T as Il,K as jl,a4 as Ml,a5 as Hl,I as Wl,h as ql,R as Yl,e as Bl,V as Gl,a6 as Kl,a7 as Jl,a8 as Ql,g as Xl,r as Zl,U as es}from"./element-plus-lurTijPg.js";import{_ as ts}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{u as as,c as ls,i as S,m as ss,_ as ns}from"./index-DF1MLuL8.js";import{w as mt,s as we,q as _t}from"./@vue/runtime-dom-DDAG46FW.js";import{g as os,p as rs,b as is,c as ct,d as us,e as ds,f as ps,h as ms,i as _s,j as cs,k as fs,l as gs}from"./tcm-tCkhN6ch.js";import{m as vs}from"./medicine-Thom1b2D.js";import{r as bs}from"./role-Dtn5VKHZ.js";import{u as ys}from"./usePaging-VsbTxSU0.js";import{_ as xs}from"./index.vue_vue_type_script_setup_true_lang-BL8k8rcl.js";import{M as Jt}from"./index-BP9srYoP.js";import{T as ks,M as Vs,U as hs,N as ws}from"./@element-plus/icons-vue-HOEUG8sr.js";import{a as Ns}from"./vue-router-QlpZ4wdW.js";import Ss from"./html2canvas-QH1iLAAe.js";import{f as Qt,w as ze,b as Cs,as as Us,ak as m,I as b,a,aN as s,J as r,O as c,F as E,ap as Y,G as k,aP as O,H as y,P as $s,A as $,n as te}from"./@vue/runtime-core-C6bnekPw.js";import{y as j,a as Ps,r as Ne,n as x}from"./@vue/reactivity-DiY1c2vO.js";import{Q as f,o as Ds}from"./@vue/shared-mAAVTE9n.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Rs={class:"prescription-list"},Ts={class:"pl-toolbar"},Os={class:"pl-toolbar__line"},As={class:"pl-toolbar__line pl-toolbar__line--second"},Es={class:"pl-toolbar__actions"},Ls={class:"pl-table-head"},Fs={class:"flex items-center gap-2"},zs={class:"mt-3"},Is={class:"font-medium"},js={class:"text-xs text-gray-400 mt-0.5"},Ms={key:1,class:"text-gray-400 text-sm"},Hs={class:"font-medium"},Ws={class:"text-xs text-gray-500 mt-0.5"},qs={class:"flex flex-col gap-1"},Ys={class:"flex flex-wrap items-center gap-1"},Bs={key:0,class:"text-xs text-gray-500"},Gs=["title"],Ks={key:1,class:"text-gray-400"},Js={class:"font-medium"},Qs={class:"text-xs text-gray-500 mt-0.5"},Xs={class:"text-sm"},Zs={class:"flex mt-2 justify-end"},en={key:0,class:"rx-wrap"},tn={class:"rx-toolbar"},an={key:0,class:"rx-status rx-status-danger"},ln={key:1,class:"rx-status rx-status-danger"},sn={key:0,class:"mt-1"},nn={key:2,class:"rx-status rx-status-danger"},on={key:0,class:"mt-1"},rn={class:"rx-notice"},un={class:"rx-notice-meta"},dn={class:"rx-info"},pn={class:"rx-info-row"},mn={class:"rx-info-cell"},_n={class:"rx-val"},cn={class:"rx-info-cell"},fn={class:"rx-val"},gn={class:"rx-info-cell"},vn={class:"rx-val"},bn={class:"rx-info-cell"},yn={class:"rx-val"},xn={class:"rx-info-row rx-info-row-full"},kn={class:"rx-info-cell"},Vn={class:"rx-val"},hn={class:"rx-info-row rx-info-row-full"},wn={class:"rx-info-cell"},Nn={class:"rx-val"},Sn={class:"rx-rp"},Cn={class:"rx-herbs"},Un={class:"rx-herb-name"},$n={class:"rx-herb-total"},Pn={class:"rx-herb-name"},Dn={class:"rx-herb-total"},Rn={class:"rx-text"},Tn={key:0},On={key:1},An={key:2},En={key:3,class:"rx-text-warn"},Ln={key:4,class:"rx-text-warn"},Fn={class:"rx-bottom"},zn={class:"rx-bot-row rx-bot-row-1"},In={class:"rx-bot-cell rx-bot-stack rx-bot-doctor"},jn={class:"rx-bot-doctor-body"},Mn=["src"],Hn={class:"rx-bot-doctor-name"},Wn={class:"rx-bot-cell rx-bot-meta"},qn={class:"rx-bot-meta-val"},Yn={class:"rx-bot-cell rx-bot-meta"},Bn={class:"rx-bot-meta-val"},Gn={class:"rx-bot-cell rx-bot-meta"},Kn={class:"rx-bot-meta-val"},Jn={key:4,class:"rx-audit"},Qn={key:0},Xn={key:0,class:"ml-2 text-gray-400"},Zn={key:1,class:"mt-1"},eo={class:"text-sm mt-1"},to={key:0,class:"text-sm mt-2 text-gray-800 font-medium"},ao={key:5,class:"mb-3 flex flex-wrap items-center gap-2 pl-[120px]"},lo={class:"text-xs text-gray-400"},so={class:"w-full"},no={class:"flex flex-wrap items-center gap-2"},oo={class:"herb-formula-block mt-3"},ro={class:"herb-formula-block__head"},io={class:"herb-formula-block mt-4"},uo={class:"herb-formula-block__head"},po={class:"text-sm mt-1 leading-relaxed"},mo={key:0,class:"mb-1.5"},_o={class:"font-mono text-primary"},co={class:"mb-1.5"},fo={class:"whitespace-pre-wrap"},go={key:1,class:"text-gray-600"},vo={class:"signature-pad-wrap"},bo={class:"signature-actions"},yo={class:"text-gray-700"},xo={class:"create-order-dialog__inner"},ko={key:0,class:"create-order-rx-card"},Vo={class:"create-order-rx-card__head"},ho={class:"create-order-rx-card__meta"},wo={class:"create-order-rx-card__id"},No={key:0,class:"create-order-rx-card__sn"},So={class:"create-order-rx-card__patient"},Co={class:"create-order-step-lead"},Uo={class:"create-order-step-panel"},$o={class:"create-order-step-panel"},Po={class:"flex items-center gap-1 w-full"},Do={class:"flex flex-col gap-0.5",style:{"line-height":"normal"}},Ro={class:"flex items-center justify-between"},To={class:"font-medium text-[13px] text-gray-800"},Oo={class:"text-orange-500 font-medium ml-4"},Ao={class:"flex items-center justify-between text-xs text-gray-400 mt-1"},Eo={class:"truncate pr-2"},Lo={class:"shrink-0"},Fo={class:"create-order-pay-hint text-gray-500"},zo={class:"text-amber-600 font-medium"},Io={class:"create-order-step-panel"},jo={class:"create-order-deposit-bar__cell"},Mo={class:"create-order-deposit-bar__sub"},Ho={class:"create-order-deposit-bar__cell"},Wo={class:"create-order-deposit-bar__sub"},qo={class:"create-order-footer"},Yo={class:"create-order-footer__hint"},Bo={class:"create-order-footer__step"},Go={key:0,class:"create-order-footer__warn"},Ko={class:"create-order-footer__actions"},Jo={class:"mb-4 flex gap-3"},Qo={class:"mb-3 flex flex-wrap items-center gap-x-4 gap-y-2"},Xo={key:0},Zo={key:1,class:"text-gray-400"},er={class:"flex justify-end mt-4"},tr={class:"mt-3 flex flex-wrap items-center gap-x-4 gap-y-2"},ar=Qt({name:"prescriptionList"}),lr=Qt({...ar,setup(sr){const Xt=$s(()=>Sl(()=>import("./edit-Bqsg8jkl.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98])));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 ft(t,e){const o=Se(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 gt(t,e,o){const u=t.prescription_type||"浓缩水丸",p=Number(t.times_per_day)>0?Number(t.times_per_day):3,d=t.dosage_amount!=null?Number(t.dosage_amount):10,i=t.dosage_unit||(u==="饮片"?"ml":"g"),V=t.usage_way||e||"温水送服",L=t.usage_time||o||"",v=[];if(v.push(`每天${p}次`),u==="浓缩水丸"){const K=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;v.push(`一次${K}袋`),v.push(`每袋${d}${i}`)}else v.push(`一次${d}${i}`);return v.push(V),L&&v.push(L),v.join(", ")}function W(t){return t==="辅方"?"辅方":"主方"}function Ie(t){return{name:String((t==null?void 0:t.name)??"").trim(),dosage:Number(t==null?void 0:t.dosage)||0,formula_type:W(t==null?void 0:t.formula_type)}}function je(t){return t?Array.isArray(t)?t.map(e=>Ie(e)):[]:[]}const ie=as(),vt=Ns();function Zt(){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):S.msgWarning("未配置「处方业务订单」菜单,请在权限管理中执行菜单 SQL 或手动添加路由")}const w=Ne({sn:"",patient_name:"",creator_ids:[],audit_filter:"all",source_filter:"all",start_time:"",end_time:""}),Me=x([]),B=x("all"),J=x(!1),R=x("add"),He=x(!1),X=x(),G=x(),ue=x(null),ae=560,le=168,g=x(null),We=x(!1),bt=x([]),de=x(!1),yt=x(0),se=x(""),Ce=x(!1),pe=x(!1),qe=x(!1),Ye=x(),P=Ne({id:0,patient_name:"",gender:1,phone:""}),ea={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]};function ta(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(),pe.value=!0}function aa(){var t;P.id=0,P.patient_name="",P.gender=1,P.phone="",(t=Ye.value)==null||t.clearValidate()}async function la(){const t=Ye.value;if(t){try{await t.validate()}catch{return}qe.value=!0;try{await rs({id:P.id,patient_name:P.patient_name.trim(),phone:P.phone.trim(),gender:P.gender}),S.msgSuccess("已保存"),pe.value=!1,Z()}catch(e){const o=e&&typeof e=="object"&&"msg"in e?String(e.msg):"";S.msgError(o||"保存失败")}finally{qe.value=!1}}}const me=x(!1),T=x(0),sa=$(()=>["请核对诊单患者并填写完整收货信息,便于发货与物流联系。","按需填写服务相关信息,并选择本诊单下需要关联的支付单。","确认费用类别与订单金额;提交前请对照定金门槛是否已满足。"][T.value]??""),na=["patient_id","recipient_name","recipient_phone","region","shipping_address"],q=x(null),_e=x(),Be=x(!1),Ge=x(!1),Q=x([]),ne=x([]),Ke=x(!1),D=x(0);function oe(t){const e=Number(t);return Number.isNaN(e)?"—":e.toFixed(2)}function xt(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(t)]||"未知"}const _=Ne({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:"",fee_type:3,amount:0,internal_cost:void 0,remark_extra:"",remark_assistant:"",pay_order_ids:[]}),ce=x([]),Je=x([]),oa=t=>t.map(e=>{var o;return{name:e.province,code:e.code,children:((o=e.citys)==null?void 0:o.map(u=>{var p;return{name:u.city,code:u.code,children:((p=u.areas)==null?void 0:p.map(d=>({name:d.area,code:d.code})))||[]}}))||[]}}),ra=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),ce.value=oa(o),console.log("regionOptions 已设置,条数:",ce.value.length)}catch(t){console.error("加载省市区数据失败:",t),ce.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("使用后备数据,条数:",ce.value.length)}},ia=async()=>{try{const t=await ss({type:"server_order"});Je.value=((t==null?void 0:t.server_order)||[]).filter(e=>e.status!==0)}catch{Je.value=[]}},ua=t=>{console.log("选择的省市区:",t)},Qe=$(()=>{const t=new Set(_.pay_order_ids.map(o=>Number(o)));let e=0;for(const o of ne.value)t.has(Number(o.id))&&(e+=Number(o.amount)||0);return Math.round(e*100)/100}),da=$(()=>{const t=D.value;return t>0?Math.round(t*100)/100:0}),pa=$(()=>{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 p=D.value,d=Number(o);if(p>0&&(!Number.isFinite(d)||dNumber(F)).filter(F=>!Number.isNaN(F)):[],_.internal_cost=s.internal_cost!=null&&s.internal_cost!==""?Number(s.internal_cost):void 0,await Sl(_.diagnosis_id,_.id),Rt(()=>{var F;(F=Se.value)==null||F.clearValidate()})}catch(e){A.msgError((e==null?void 0:e.message)||"加载异常"),ve.value=!1}finally{Qt.value=!1}}async function Tl(){if(!(!Se.value||L.value!==2)){await Se.value.validate(),Jt.value=!0;try{const t={id:_.id,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.join(","):"",express_company:_.express_company||"auto",tracking_number:_.tracking_number||"",fee_type:_.fee_type,amount:_.amount,remark_extra:_.remark_extra||"",remark_assistant:_.remark_assistant||"",medication_days:_.medication_days!=null&&String(_.medication_days).trim()!==""?_.medication_days:"",dose_unit:_.dose_unit||"剂",dose_count:_.dose_count||1,internal_cost:_.internal_cost!=null&&String(_.internal_cost).trim()!==""?_.internal_cost:""};_.region&&_.region.length>0?(t.shipping_province=_.region[0]||"",t.shipping_city=_.region[1]||"",t.shipping_district=_.region[2]||""):(t.shipping_province="",t.shipping_city="",t.shipping_district=""),t.pay_order_ids=[..._.pay_order_ids],await cs(t),A.msgSuccess("保存成功"),ve.value=!1,K()}catch{}finally{Jt.value=!1}}}const Fe=x(!1),ta=x("prescription"),mt=x(0),Ie=x(null),Ve=x(""),ft=x(!1),Ol=w(()=>ta.value==="prescription"?"处方业务审核":"关联支付单审核");function qa(t,e){ta.value=e,mt.value=t.id,Ie.value=t,Ve.value="",Fe.value=!0}async function Ma(t){if(t==="reject"&&!Ve.value.trim()){A.msgError("驳回或阻止时必须填写明确的审核意见");return}ft.value=!0;try{const e={id:mt.value,action:t,remark:Ve.value.trim()};if(ta.value==="prescription"?await gi(e):await yi(e),A.msgSuccess(t==="approve"?"审核通过成功":"已成功驳回该单"),Fe.value=!1,K(),X.value&&mt.value)try{const s=await ee({id:mt.value}),o=(s==null?void 0:s.data)??s??null;o&&(c.value=o)}catch{}}catch{}finally{ft.value=!1}}async function Rl(t){try{await Xe.confirm("确认撤回该业务订单?撤回后状态为「已取消」,未双审通过或双审均驳回等场景下均可安全撤回。","撤回警告",{type:"warning",confirmButtonText:"确定撤回",cancelButtonText:"暂不处理"}),await bi({id:t.id}),A.msgSuccess("撤回成功"),K()}catch{}}const Ba=x(0),vt=x(!1),Ne=x(!1),z=x(null);function Ha(t){if(!t)return"0.00";const e=Number(t.m_cost)||0,s=Number(t.proces_cost)||0,o=Number(t.lis_cost)||0;return(e+s+o).toFixed(2)}function El(t,e){const s=parseFloat(Ha(t))||0,o=Number(e)||0;return o<=0?"—":(s/o*100).toFixed(2)}function Dl(t){return!Array.isArray(t)||t.length===0?"0":t.reduce((s,o)=>s+(Number(o.quantity)||0),0).toFixed(0)}async function $l(){if(!_.id){A.msgError("请先保存订单");return}Ne.value=!0;try{const t=await _s({id:_.id,dose_count:_.dose_count||1,medication_days:_.medication_days||void 0}),e=(t==null?void 0:t.data)??t;e&&e.success&&(z.value=e,vt.value=!0,A.msgSuccess("预下单测试成功"))}catch{}finally{Ne.value=!1}}async function Ul(){var t;if(!((t=c.value)!=null&&t.id)){A.msgError("订单数据不存在");return}Ne.value=!0;try{const e=await _s({id:c.value.id,dose_count:c.value.dose_count||1,medication_days:c.value.medication_days||void 0}),s=(e==null?void 0:e.data)??e;s&&s.success&&(z.value=s,vt.value=!0)}catch{}finally{Ne.value=!1}}async function zl(t){var e;try{await Xe.confirm("将把本单关联处方提交至甘草药管家开放平台(先 CTM_PREVIEW 预检查再 CTM_SUBMIT_RECIPEL 正式下单;成功后将按甘草侧规则扣费,详见 https://apidoc.igancao.com/service-doc/scm-outer-recipel.html )。确定继续?","上传甘草药方",{type:"warning",confirmButtonText:"确定上传",cancelButtonText:"取消"}),Ba.value=t.id;const s=await xi({id:t.id}),o=(s==null?void 0:s.data)??s,d=(o==null?void 0:o.recipel_order_no)!=null?String(o.recipel_order_no):"";if(A.msgSuccess(d?`上传成功,甘草处方单号:${d}`:"上传成功"),K(),X.value&&Number((e=c.value)==null?void 0:e.id)===t.id)try{const f=await ee({id:t.id}),k=(f==null?void 0:f.data)??f??null;k&&(c.value=k)}catch{}}catch{}finally{Ba.value=0}}$i(async()=>{await Ts(),await Os(),await Cs(),K()});const je=x(!1),gt=x(!1),Le=x(0),Z=xe({express_company:"auto",tracking_number:""});function Fl(t){Le.value=t.id,Z.express_company=String(t.express_company||"auto")||"auto",Z.tracking_number=String(t.tracking_number||""),je.value=!0}async function Ga(){var t;if(!Z.tracking_number.trim()){A.msgError("请填写快递单号");return}gt.value=!0;try{const e=await ee({id:Le.value}),s=(e==null?void 0:e.data)??e;if(!s){A.msgError("加载订单数据失败");return}if(await cs({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:Z.express_company||"auto",tracking_number:Z.tracking_number.trim()}),A.msgSuccess("快递单号已保存"),je.value=!1,K(),X.value&&((t=c.value)==null?void 0:t.id)===Le.value)try{const o=await ee({id:Le.value}),d=(o==null?void 0:o.data)??o??null;d&&(c.value=d)}catch{}if(Ut({fulfillment_status:Number(s.fulfillment_status)}))try{await Xe.confirm(`快递单号「${Z.tracking_number}」已保存,是否立即确认发货?`,"确认发货",{type:"success",confirmButtonText:"确认发货",cancelButtonText:"稍后再说"}),aa({id:Le.value,tracking_number:Z.tracking_number,express_company:Z.express_company})}catch{}}catch{}finally{gt.value=!1}}const qe=x(!1),yt=x(!1),bt=x(0),Y=xe({ship_mode:"gancao",express_company:"auto",tracking_number:""});function aa(t){bt.value=t.id,Y.ship_mode=String(t.ship_mode||"gancao")||"gancao",Y.express_company=String(t.express_company||"auto")||"auto",Y.tracking_number=String(t.tracking_number||""),qe.value=!0}async function Wa(){var t;if(!Y.tracking_number.trim()){A.msgError("请先填写快递单号再确认发货");return}yt.value=!0;try{if(await ki({id:bt.value,ship_mode:Y.ship_mode==="direct"?"direct":"gancao",express_company:Y.express_company||"auto",tracking_number:Y.tracking_number.trim()}),A.msgSuccess("确认发货成功,订单已进入「已发货」状态"),qe.value=!1,K(),X.value&&((t=c.value)==null?void 0:t.id)===bt.value)try{const e=await ee({id:bt.value}),s=(e==null?void 0:e.data)??e??null;s&&(c.value=s)}catch{}}catch{}finally{yt.value=!1}}const Il=[{value:3,label:"已完成"},{value:7,label:"进行中"},{value:8,label:"暂不制药"},{value:9,label:"拒收"},{value:10,label:"退款"},{value:11,label:"保留药方"},{value:12,label:"制药缓发"}],Me=x(!1),sa=x(0),xt=x(3),la=x(!1);async function jl(){var e;const t=sa.value;if(t){la.value=!0;try{if(await hi({id:t,fulfillment_status:xt.value}),A.msgSuccess("订单状态已更新"),Me.value=!1,K(),X.value&&((e=c.value)==null?void 0:e.id)===t)try{const s=await ee({id:t}),o=(s==null?void 0:s.data)??s??null;o&&(c.value=o)}catch{}}catch{}finally{la.value=!1}}}const Be=x(!1),kt=x(!1),He=x(0),ht=x(),na=x(!1),wt=x([]),O=xe({add_mode:"create",order_type:3,pay_amount:void 0,pay_remark:"",link_pay_order_ids:[],completion_request:0}),Ll={add_mode:[{required:!0,message:"请选择添加方式",trigger:"change"}],order_type:[{required:!0,message:"请选择费用类别",trigger:"change"}],pay_amount:[{required:!0,message:"请输入支付金额",trigger:"blur"},{validator:(t,e,s)=>{const o=Number(e);!Number.isFinite(o)||o<=0?s(new Error("金额须大于 0")):s()},trigger:"blur"}],link_pay_order_ids:[{required:!0,message:"请至少选择一个支付单",trigger:"change",validator:(t,e,s)=>{!Array.isArray(e)||e.length===0?s(new Error("请至少选择一个支付单")):s()}}]};async function ql(t,e=[]){var s;if(!t){wt.value=[];return}try{na.value=!0;const o=await pa({diagnosis_id:t}),d=(o==null?void 0:o.lists)??((s=o==null?void 0:o.data)==null?void 0:s.lists)??[],f=Array.isArray(d)?d.filter(k=>!e.includes(k.id)):[];wt.value=f}catch{wt.value=[]}finally{na.value=!1}}function Ka(t){var o,d;He.value=t.id,O.add_mode="create",O.order_type=3,O.pay_amount=void 0,O.pay_remark="",O.link_pay_order_ids=[],O.completion_request=0,Be.value=!0;const e=t.diagnosis_id||((o=c.value)==null?void 0:o.diagnosis_id),s=t.pay_order_ids||((d=c.value)==null?void 0:d.pay_order_ids)||[];e&&ql(e,s)}async function Ml(){var t;if(ht.value){await ht.value.validate(),kt.value=!0;try{if(O.add_mode==="create")await wi({id:He.value,order_type:O.order_type,pay_amount:O.pay_amount,pay_remark:O.pay_remark||"",completion_request:O.completion_request}),A.msgSuccess("支付单已新增,请等待审核");else{const e=O.link_pay_order_ids;if(e.length===0){A.msgError("请至少选择一个支付单");return}await Si({id:He.value,pay_order_ids:e,completion_request:O.completion_request}),A.msgSuccess(`已关联 ${e.length} 个支付单,请等待审核`)}if(Be.value=!1,K(),X.value&&((t=c.value)==null?void 0:t.id)===He.value)try{const e=await ee({id:He.value}),s=(e==null?void 0:e.data)??e??null;s&&(c.value=s)}catch{}}catch{}finally{kt.value=!1}}}function Ya(t){sa.value=t.id,xt.value=3,Me.value=!0}async function Bl(t){var e;try{if(await Xe.confirm("确认撤回处方审核?撤回后将重置为「待审核」状态。","撤回处方审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await Vi({id:t.id}),A.msgSuccess("处方审核已撤回"),K(),X.value&&((e=c.value)==null?void 0:e.id)===t.id)try{const s=await ee({id:t.id}),o=(s==null?void 0:s.data)??s??null;o&&(c.value=o)}catch{}}catch{}}async function Hl(t){var e;try{if(await Xe.confirm("确认撤回支付单审核?撤回后将重置为「待审核」状态。","撤回支付单审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await Ni({id:t.id}),A.msgSuccess("支付单审核已撤回"),K(),X.value&&((e=c.value)==null?void 0:e.id)===t.id)try{const s=await ee({id:t.id}),o=(s==null?void 0:s.data)??s??null;o&&(c.value=o)}catch{}}catch{}}const Gl="成都双流甄养堂互联网医院 处方笺",St=x(!1),Vt=x(!1),h=x(null),Qa=x(null),Pe=x(!1),Nt=w(()=>{var e;const t=(e=h.value)==null?void 0:e.herbs;return Array.isArray(t)?t:[]}),Wl=w(()=>{const t=h.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),o=Number(t.dosage_amount),d=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;return!Number.isFinite(e)||!Number.isFinite(s)||!Number.isFinite(o)||e<=0||s<=0||o<=0?null:e*s*o*d}),Pt=t=>String(t).padStart(2,"0"),Kl=w(()=>{const t=h.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),o=new Date(s);if(!isNaN(o.getTime()))return`${o.getFullYear()}-${Pt(o.getMonth()+1)}-${Pt(o.getDate())} ${Pt(o.getHours())}:${Pt(o.getMinutes())}`}return t.prescription_date||"—"}),Yl=w(()=>{const t=h.value;if(!t)return"—";const e=String(t.sn??"").trim();if(e)return e;const s=String(t.visit_no??"").trim();return s||"—"}),Ql=w(()=>{const t=h.value;if(!t)return"—";const e=Number(t.appointment_id);return Number.isFinite(e)&&e>0?String(e):"—"}),Ja=w(()=>{const t=h.value;return t?String(t.order_no??"").trim():""}),Jl=w(()=>{const t=h.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(","):"—"}),Xa=w(()=>{var e;const t=Number((e=h.value)==null?void 0:e.dose_count);return Number.isFinite(t)&&t>0?t:1}),Xl=w(()=>{const e=Nt.value.reduce((s,o)=>s+(Number(o==null?void 0:o.dosage)||0),0);return Ge(e)}),Zl=t=>{const e=Number(t)||0;return Ge(e*Xa.value)},en=w(()=>{const t=h.value;if(!t)return"—";const e=t.prescription_type||"浓缩水丸";return/丸|散|膏|片/.test(e)?`浓缩丸-${e}`:e}),tn=w(()=>{const t=h.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,s=t.dosage_amount!=null?Number(t.dosage_amount):10,o=t.dosage_unit||"g",d=t.usage_way||"温水送服",f=t.usage_time||"",k=[];if(k.push(`每天${e}次`),(t.prescription_type||"浓缩水丸")==="浓缩水丸"){const y=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;k.push(`一次${y}袋`),k.push(`每袋${s}${o}`)}else k.push(`一次${s}${o}`);return k.push(d),f&&k.push(f),k.join(", ")}),an=w(()=>{const t=Wl.value;if(typeof t=="number"&&isFinite(t)&&t>0)return Ge(t);const e=h.value;if(!e)return"";const s=e.out_pellet||e.total_weight;if(s&&Number(s)>0)return Ge(Number(s));const o=Nt.value;if(!o.length)return"";const d=o.reduce((f,k)=>f+(Number(k==null?void 0:k.dosage)||0),0);return Ge(d*Xa.value)}),Za=w(()=>{const t=h.value;return t&&t.medical_advice||""}),es=w(()=>{const t=h.value;if(!t)return"";const e=[];return e.push(`共${Nt.value.length}味药`),t.usage_notes&&e.push(String(t.usage_notes)),t.remark&&e.push(String(t.remark)),e.join(" ")}),ts=w(()=>{const t=h.value;return t&&(t.pharmacy_remark||t.pharmacy_note)||""}),as=w(()=>{const t=an.value;return t?`${t}克`:""});function Ge(t){return isFinite(t)?Number.isInteger(t)?String(t):t.toFixed(2).replace(/\.?0+$/,""):"0"}function ss(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 sn(t){return t?ss(t):"—"}function ln(t){return t===1||t==="1"?"男":t===0||t==="0"?"女":"—"}function nn(t){return t==null||t===""?"—":`${t}岁`}function rn(){ls(_)}async function ls(t){if(!t.prescription_id){A.msgWarning("该订单未关联处方");return}St.value=!0,Vt.value=!0,h.value=null;try{const e=await Pi({id:t.prescription_id}),s=(e==null?void 0:e.data)??e??null;if(s){const o=t.medication_days,d={...s};o!=null&&String(o).trim()!==""&&(d.medication_days=o),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 f=t.linked_appointment;(!d.appointment_id||Number(d.appointment_id)<=0)&&f&&typeof f=="object"&&Number(f.id)>0&&(d.appointment_id=Number(f.id)),h.value=d}else h.value=null}catch(e){A.msgError((e==null?void 0:e.message)||"加载处方详情失败"),St.value=!1}finally{Vt.value=!1}}async function on(t){const e=t.querySelectorAll('img[src^="http"]'),s=Array.from(e).map(async o=>{try{const d=await fetch(o.src,{mode:"cors"});if(!d.ok)return;const f=await d.blob(),k=await new Promise((y,$)=>{const Q=new FileReader;Q.onload=()=>y(Q.result),Q.onerror=$,Q.readAsDataURL(f)});o.src=k}catch{}});await Promise.allSettled(s)}async function ns(){await Rt();const t=Qa.value;if(!t)throw new Error("未找到处方笺内容");return t.scrollIntoView({behavior:"instant",block:"nearest"}),await on(t),await new Promise(e=>requestAnimationFrame(()=>e(null))),await new Promise(e=>setTimeout(e,250)),Ai(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 is(){var s;const t=(s=h.value)==null?void 0:s.patient_name;return`处方_${typeof t=="string"&&t.trim()?t.trim().replace(/[\\/:*?"<>|]/g,"_"):"未命名"}_${Date.now()}`}async function un(){if(h.value){Pe.value=!0;try{const t=await ns(),e=document.createElement("a");e.download=`${is()}.png`,e.href=t.toDataURL("image/png"),e.click(),A.msgSuccess("图片已下载")}catch{A.msgError("下载图片失败")}finally{Pe.value=!1}}}async function dn(){if(h.value){Pe.value=!0;try{const t=await ns(),e=t.toDataURL("image/jpeg",.95),s=new vn({orientation:"portrait",unit:"mm",format:"a4"}),o=210,d=297,f=o,k=t.height*f/t.width;if(k<=d)s.addImage(e,"JPEG",0,0,f,k);else{let y=k,$=0;for(;y>0;)s.addImage(e,"JPEG",0,$,f,k),y-=d,$-=d,y>0&&s.addPage()}s.save(`${is()}.pdf`),A.msgSuccess("PDF已下载")}catch{A.msgError("下载PDF失败")}finally{Pe.value=!1}}}return(t,e)=>{const s=gn,o=yn,d=xn,f=hn,k=wn,y=Vn,$=Sn,Q=Nn,S=Pn,F=kn,re=Cn,ge=On,Ct=Tn,rs=An,ia=ti,We=Rn,le=En,oe=$n,Ke=Dn,E=zn,pe=Un,V=In,Ye=Fn,U=Ln,At=jn,ra=qn,os=Bn,us=Mn,oa=Hn,Ce=Gn,ce=Wn,ds=Kn,pn=Yn,cn=Jn,_n=Qn,mn=Xn,Ae=ei,ua=Zn,ye=bn,q=Ui("perms");return u(),m("div",Ii,[e[249]||(e[249]=a("header",{class:"po-h5-hero","aria-label":"页面概览"},[a("div",{class:"po-h5-hero__text"},[a("h1",{class:"po-h5-hero__title"},"业务订单"),a("p",{class:"po-h5-hero__sub"},"履约、双审与收款一览;点卡片进入详情")])],-1)),l(s,{class:"po-h5-surface po-h5-surface--chips !mb-3 !border-none shadow-none",shadow:"never"},{default:n(()=>[a("div",ji,[me.value?(u(),m("div",Li,[e[86]||(e[86]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"处方审核",-1)),(u(),m(D,null,B(Fs,i=>a("div",{key:i.value,class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.prescription_audit_status===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:C=>js(i.value)},[a("span",Mi,r(i.label),1)],10,qi)),64))])):v("",!0),a("div",Bi,[e[87]||(e[87]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"支付单审核",-1)),(u(),m(D,null,B(Is,i=>a("div",{key:i.value,class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.payment_slip_audit_status===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:C=>Ls(i.value)},[a("span",Gi,r(i.label),1)],10,Hi)),64))]),a("div",Wi,[e[88]||(e[88]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"发货状态",-1)),(u(),m(D,null,B(Rs,i=>a("div",{key:"fs-"+String(i.value),class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.fulfillment_status===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:C=>Es(i.value)},[a("span",Yi,r(i.label),1)],10,Ki)),64))]),a("div",Qi,[e[89]||(e[89]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"供货方式",-1)),(u(),m(D,null,B(Ds,i=>a("div",{key:"sm-"+String(i.value),class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.supply_mode===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:C=>$s(i.value)},[a("span",Xi,r(i.label),1)],10,Ji)),64))]),a("div",Zi,[e[90]||(e[90]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"快递方式",-1)),(u(),m(D,null,B(Us,i=>a("div",{key:"ec-"+String(i.value),class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.express_company===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:C=>zs(i.value)},[a("span",tr,r(i.label),1)],10,er)),64))])])]),_:1}),l(s,{class:"po-h5-surface po-filter-card !mb-3 !border-none shadow-none",shadow:"never"},{default:n(()=>[T((u(),m("div",ar,[a("div",sr,[e[91]||(e[91]=a("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)),a("div",lr,[a("div",null,[a("div",nr,[l(o,{size:16,class:"text-sky-500"},{default:n(()=>[l(R(ai))]),_:1}),p(" "+r(ne.value.orderHeading),1)]),a("div",ir,[a("div",rr," ¥"+r(ne.value.orderPerformanceStr),1),a("div",or,[a("span",null,"合计 ¥"+r(ne.value.orderStr),1),a("span",ur,"已取消 ¥"+r(ne.value.orderCancelledStr),1)])])]),a("div",dr,[l(o,{size:20},{default:n(()=>[l(R(si))]),_:1})])]),a("p",pr,r(ne.value.periodLine),1)]),a("div",cr,[e[92]||(e[92]=a("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)),a("div",_r,[a("div",null,[a("div",mr,[l(o,{size:16,class:"text-emerald-500"},{default:n(()=>[l(R(li))]),_:1}),p(" "+r(ne.value.payHeading),1)]),a("div",fr,[a("div",vr," ¥"+r(ne.value.payPerformanceStr),1),a("div",gr,[a("span",null,"合计 ¥"+r(ne.value.payStr),1),a("span",yr,"已取消 ¥"+r(ne.value.payCancelledStr),1)])])]),a("div",br,[l(o,{size:20},{default:n(()=>[l(R(ni))]),_:1})])]),a("p",xr,r(ne.value.periodLine),1)])])),[[ye,R(J).loading]]),e[96]||(e[96]=a("p",{class:"po-h5-stats-hint text-center text-[12px] leading-snug text-slate-500 px-1 -mt-2 mb-3"},[p(" 上方为接口返回的"),a("strong",{class:"text-slate-600 font-medium"},"业绩汇总"),p("(未选创建日期时为今日;选了则为该区间);下方列表是当前筛选条件下的订单,"),a("strong",{class:"text-slate-600 font-medium"},"条数与金额和上面不必相等"),p("。 ")],-1)),a("div",{class:"po-filter-toggle",onClick:e[0]||(e[0]=i=>it.value=!it.value)},[a("div",kr,[l(o,null,{default:n(()=>[l(R(da))]),_:1}),e[93]||(e[93]=a("span",null,"筛选条件",-1)),Ca.value>0?(u(),g(d,{key:0,size:"small",type:"primary",effect:"dark",round:""},{default:n(()=>[p(r(Ca.value),1)]),_:1})):v("",!0)]),l(o,{class:j(["po-filter-toggle__arrow",{"is-open":!it.value}])},{default:n(()=>[l(R(ps))]),_:1},8,["class"])]),T(l(F,{class:"ls-form",model:b,inline:""},{default:n(()=>[l(f,{class:"w-[360px] min-w-[240px] max-w-full",label:"创建时间"},{default:n(()=>[l(di,{startTime:b.start_time,"onUpdate:startTime":e[1]||(e[1]=i=>b.start_time=i),endTime:b.end_time,"onUpdate:endTime":e[2]||(e[2]=i=>b.end_time=i),"picker-type":"daterange","value-format":"YYYY-MM-DD","start-placeholder":"开始日期","end-placeholder":"结束日期",class:"!w-full"},null,8,["startTime","endTime"])]),_:1}),l(f,{class:"w-[260px]",label:"订单号"},{default:n(()=>[l(k,{modelValue:b.order_no,"onUpdate:modelValue":e[3]||(e[3]=i=>b.order_no=i),placeholder:"业务订单号",clearable:"",onKeyup:Ze(R(G),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(f,{class:"w-[140px]",label:"处方ID"},{default:n(()=>[l(k,{modelValue:b.prescription_id,"onUpdate:modelValue":e[4]||(e[4]=i=>b.prescription_id=i),placeholder:"处方ID",clearable:"",onKeyup:Ze(R(G),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(f,{class:"w-[220px]",label:"患者"},{default:n(()=>[l(k,{modelValue:b.patient_keyword,"onUpdate:modelValue":e[5]||(e[5]=i=>b.patient_keyword=i),placeholder:"姓名 / 手机号",clearable:"",onKeyup:Ze(R(G),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(f,{class:"w-[220px]",label:"快递"},{default:n(()=>[l(k,{modelValue:b.express_keyword,"onUpdate:modelValue":e[6]||(e[6]=i=>b.express_keyword=i),placeholder:"快递单号 / 公司",clearable:"",onKeyup:Ze(R(G),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),ws.value?(u(),g(f,{key:0,class:"w-[200px]",label:"下单人"},{default:n(()=>[l($,{modelValue:b.audit_admin_id,"onUpdate:modelValue":e[7]||(e[7]=i=>b.audit_admin_id=i),clearable:"",filterable:"",placeholder:"全部下单人",class:"!w-full"},{default:n(()=>[(u(!0),m(D,null,B(ma.value,i=>(u(),g(y,{key:i.id,label:i.name,value:i.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})):v("",!0),l(f,{class:"w-[200px]",label:"医生"},{default:n(()=>[l($,{modelValue:b.doctor_id,"onUpdate:modelValue":e[8]||(e[8]=i=>b.doctor_id=i),clearable:"",filterable:"",placeholder:"开方医生",class:"!w-full"},{default:n(()=>[(u(!0),m(D,null,B(Et.value,i=>(u(),g(y,{key:i.id,label:i.name,value:i.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(f,{class:"w-[220px] min-w-[200px]",label:"医助部门"},{default:n(()=>[l(Q,{modelValue:b.assistant_dept_id,"onUpdate:modelValue":e[9]||(e[9]=i=>b.assistant_dept_id=i),data:tt.value,class:"!w-full",clearable:"",filterable:"","check-strictly":"","default-expand-all":!0,"node-key":"id",props:Ns,placeholder:"医助部门(选父级含子级)",onChange:Bs},null,8,["modelValue","data"])]),_:1}),l(f,{class:"w-[200px]",label:"医助"},{default:n(()=>[l($,{modelValue:b.assistant_id,"onUpdate:modelValue":e[10]||(e[10]=i=>b.assistant_id=i),clearable:"",filterable:"",placeholder:"诊单医助",class:"!w-full"},{default:n(()=>[(u(!0),m(D,null,B(ya.value,i=>(u(),g(y,{key:i.id,label:i.name,value:i.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(f,null,{default:n(()=>[l(S,{type:"primary",onClick:R(G)},{default:n(()=>[...e[94]||(e[94]=[p("查询",-1)])]),_:1},8,["onClick"]),l(S,{onClick:Hs},{default:n(()=>[...e[95]||(e[95]=[p("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"]),[[Tt,!it.value]])]),_:1}),T((u(),g(s,{class:"po-h5-surface po-table-card !mt-0 !border-none shadow-none",shadow:"never"},{default:n(()=>[a("div",hr,[a("div",wr,[a("div",Sr,[e[97]||(e[97]=a("span",{class:"po-table-title text-gray-800"},"订单列表",-1)),a("span",Vr,"共 "+r(R(J).count)+" 条",1)]),a("div",Nr,[a("div",{class:j(["po-focus-board__item is-pending-rx",{"is-active":te.value==="pendingRx"}]),onClick:e[11]||(e[11]=i=>at("pendingRx"))},[e[98]||(e[98]=a("span",{class:"po-focus-board__label"},"待处方审核",-1)),a("strong",Pr,r(st.value.pendingRx),1)],2),a("div",{class:j(["po-focus-board__item is-pending-pay",{"is-active":te.value==="pendingPay"}]),onClick:e[12]||(e[12]=i=>at("pendingPay"))},[e[99]||(e[99]=a("span",{class:"po-focus-board__label"},"待支付审核",-1)),a("strong",Cr,r(st.value.pendingPay),1)],2),a("div",{class:j(["po-focus-board__item is-pending-ship",{"is-active":te.value==="pendingShip"}]),onClick:e[13]||(e[13]=i=>at("pendingShip"))},[e[100]||(e[100]=a("span",{class:"po-focus-board__label"},"待发货",-1)),a("strong",Ar,r(st.value.pendingShip),1)],2),a("div",{class:j(["po-focus-board__item is-risk",{"is-active":te.value==="risk"}]),onClick:e[14]||(e[14]=i=>at("risk"))},[e[101]||(e[101]=a("span",{class:"po-focus-board__label"},"重点异常",-1)),a("strong",Tr,r(st.value.risk),1)],2)])])]),a("div",Or,[!R(J).lists.length&&!R(J).loading?(u(),g(re,{key:0,description:"暂无订单","image-size":88})):v("",!0),(u(!0),m(D,null,B(R(J).lists,i=>(u(),m("div",{key:i.id,class:j(["po-card",{"po-card--focus":lt&<({row:i})==="po-row-focus","po-card--risk":lt&<({row:i})==="po-row-risk"}]),onClick:C=>Ia(i.id)},[a("div",Er,[a("div",Dr,[a("span",$r,r(i.order_no||"—"),1)]),a("div",Ur,[l(d,{size:"small",effect:"plain",type:String(i.gancao_reciperl_order_no||"").trim()?"success":"info"},{default:n(()=>[p(r(String(i.gancao_reciperl_order_no||"").trim()?"甘草":"自营"),1)]),_:2},1032,["type"]),a("span",zr,"#"+r(i.id),1)])]),pt(i.recipient_phone,i.prescription_phone)?(u(),m("div",Fr,[l(o,null,{default:n(()=>[l(R(ii))]),_:1}),e[102]||(e[102]=a("span",null,"收货手机与处方手机不一致",-1))])):v("",!0),a("div",Ir,[a("div",jr,[e[103]||(e[103]=a("span",{class:"po-card__label"},"收货人",-1)),a("span",Lr,r(i.recipient_name||"—"),1)]),a("div",qr,[e[104]||(e[104]=a("span",{class:"po-card__label"},"金额",-1)),a("span",Mr,"¥"+r(i.amount),1)])]),a("div",Br,[a("div",Hr,[e[105]||(e[105]=a("span",{class:"po-card__label"},"手机",-1)),a("span",{class:j(["po-card__value",pt(i.recipient_phone,i.prescription_phone)?"text-red-600 font-semibold":""])},r(i.recipient_phone||"—"),3)]),a("div",Gr,[e[106]||(e[106]=a("span",{class:"po-card__label"},"费用类别",-1)),a("span",Wr,r(nt(i.fee_type)),1)])]),a("div",Kr,[a("div",Yr,[e[107]||(e[107]=a("span",{class:"po-card__label"},"处方ID",-1)),a("span",Qr,r(i.prescription_id||"—"),1)]),a("div",Jr,[e[108]||(e[108]=a("span",{class:"po-card__label"},"诊单ID",-1)),a("span",Xr,r(i.diagnosis_id||"—"),1)])]),fa()&&i.internal_cost!=null&&i.internal_cost!==""?(u(),m("div",Zr,[a("div",eo,[e[109]||(e[109]=a("span",{class:"po-card__label"},"内部成本",-1)),a("span",to,"¥"+r(i.internal_cost),1)]),a("div",ao,[e[110]||(e[110]=a("span",{class:"po-card__label"},"关联支付",-1)),a("span",so,[Number(i.linked_pay_order_count)>0?(u(),m("span",lo,r(i.linked_pay_order_count)+" 笔",1)):(u(),m("span",no,"—"))])])])):(u(),m("div",io,[a("div",ro,[e[111]||(e[111]=a("span",{class:"po-card__label"},"关联支付",-1)),a("span",oo,[Number(i.linked_pay_order_count)>0?(u(),m("span",uo,r(i.linked_pay_order_count)+" 笔",1)):(u(),m("span",po,"—"))])]),a("div",co,[e[112]||(e[112]=a("span",{class:"po-card__label"},"创建时间",-1)),a("span",_o,r(fe(i.create_time)),1)])])),a("div",mo,[l(d,{type:xa(i.prescription_audit_status),size:"small",class:j(Dt("rx",i))},{default:n(()=>[p(" 处方审: "+r(ba(i.prescription_audit_status)),1)]),_:2},1032,["type","class"]),l(d,{type:xa(i.payment_slip_audit_status),size:"small",class:j(Dt("pay",i))},{default:n(()=>[p(" 支付审: "+r(ba(i.payment_slip_audit_status)),1)]),_:2},1032,["type","class"]),l(d,{type:Ws(i.fulfillment_status),size:"small",class:j(Dt("fulfillment",i))},{default:n(()=>[p(r($t(i.fulfillment_status)),1)]),_:2},1032,["type","class"])]),a("div",fo,[i.doctor_name?(u(),m("span",vo,"医:"+r(i.doctor_name),1)):v("",!0),i.creator_name?(u(),m("span",go,"建:"+r(i.creator_name),1)):v("",!0),fa()&&i.internal_cost!=null&&i.internal_cost!==""?v("",!0):(u(),m("span",yo,r(fe(i.create_time)),1))]),a("div",{class:"po-card__actions",onClick:e[15]||(e[15]=Ot(()=>{},["stop"]))},[T((u(),g(S,{type:"primary",size:"small",onClick:C=>Ia(i.id)},{default:n(()=>[p(r(Ss.value),1)]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/detail"]]]),Sa(i)?T((u(),g(S,{key:0,size:"small",onClick:C=>Al(i)},{default:n(()=>[...e[113]||(e[113]=[p("编辑",-1)])]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/edit"]]]):v("",!0),Zs(i)?T((u(),g(S,{key:1,type:"success",size:"small",onClick:C=>Fl(i)},{default:n(()=>[...e[114]||(e[114]=[p("改单号",-1)])]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/ddcode"]]]):v("",!0),Ut(i)?T((u(),g(S,{key:2,type:"primary",size:"small",onClick:C=>aa(i)},{default:n(()=>[...e[115]||(e[115]=[p("发货",-1)])]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/ship"]]]):v("",!0),el(i)?(u(),g(rs,{key:3,trigger:"click",onCommand:C=>tl(C,i)},{dropdown:n(()=>[l(Ct,null,{default:n(()=>[zt(i)?(u(),g(ge,{key:0,command:"addPayOrder"},{default:n(()=>[...e[117]||(e[117]=[p("补齐支付单",-1)])]),_:1})):v("",!0),Ft(i)?(u(),g(ge,{key:1,command:"complete"},{default:n(()=>[...e[118]||(e[118]=[p("完成订单",-1)])]),_:1})):v("",!0),Na(i)?(u(),g(ge,{key:2,command:"submitGancao"},{default:n(()=>[...e[119]||(e[119]=[p("上传药方",-1)])]),_:1})):v("",!0),Va(i)?(u(),g(ge,{key:3,command:"withdraw",divided:""},{default:n(()=>[...e[120]||(e[120]=[a("span",{class:"text-red-500"},"撤回订单",-1)])]),_:1})):v("",!0)]),_:2},1024)]),default:n(()=>[l(S,{size:"small"},{default:n(()=>[e[116]||(e[116]=p(" 更多",-1)),l(o,{class:"el-icon--right"},{default:n(()=>[l(R(ps))]),_:1})]),_:1})]),_:2},1032,["onCommand"])):v("",!0)])],10,Rr))),128))]),a("div",bo,[l(ia,{modelValue:R(J),"onUpdate:modelValue":e[16]||(e[16]=i=>Fi(J)?J.value=i:null),onChange:R(K)},null,8,["modelValue","onChange"])])]),_:1})),[[ye,R(J).loading]]),l(oa,{modelValue:X.value,"onUpdate:modelValue":e[27]||(e[27]=i=>X.value=i),class:"po-detail-drawer po-detail-drawer--h5",size:"100%",direction:"btt","destroy-on-close":"","close-on-click-modal":!1},{header:n(()=>{var i,C;return[a("div",xo,[a("div",ko,[e[121]||(e[121]=a("span",{class:"po-detail-drawer-title shrink-0 text-gray-800 font-semibold text-lg"},"业务订单详情",-1)),(i=c.value)!=null&&i.order_no?(u(),g(d,{key:0,type:"primary",effect:"plain",round:"",class:"max-w-full !whitespace-normal break-all text-left leading-snug"},{default:n(()=>[p(r(c.value.order_no),1)]),_:1})):v("",!0),(C=c.value)!=null&&C.gancao_reciperl_order_no?(u(),g(d,{key:1,type:"success",effect:"plain",round:"",class:"max-w-full !whitespace-normal break-all text-left leading-snug"},{default:n(()=>[p("甘草 "+r(c.value.gancao_reciperl_order_no),1)]),_:1})):v("",!0)]),c.value?(u(),m("div",ho,[Ys(c.value)?T((u(),g(S,{key:0,type:"warning",size:"small",plain:"",onClick:e[17]||(e[17]=N=>qa(c.value,"prescription"))},{default:n(()=>[...e[122]||(e[122]=[p(" 处方审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPrescription"]]]):v("",!0),Js(c.value)?T((u(),g(S,{key:1,type:"info",size:"small",plain:"",onClick:e[18]||(e[18]=N=>Bl(c.value))},{default:n(()=>[...e[123]||(e[123]=[p(" 撤回处方审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPrescription"]]]):v("",!0),Qs(c.value)?T((u(),g(S,{key:2,type:"warning",size:"small",plain:"",onClick:e[19]||(e[19]=N=>qa(c.value,"payment"))},{default:n(()=>[...e[124]||(e[124]=[p(" 支付审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPayment"]]]):v("",!0),Xs(c.value)?T((u(),g(S,{key:3,type:"info",size:"small",plain:"",onClick:e[20]||(e[20]=N=>Hl(c.value))},{default:n(()=>[...e[125]||(e[125]=[p(" 撤回支付审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPayment"]]]):v("",!0),Ut(c.value)?T((u(),g(S,{key:4,type:"primary",size:"small",plain:"",onClick:e[21]||(e[21]=N=>aa(c.value))},{default:n(()=>[...e[126]||(e[126]=[p(" 确认发货 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/ship"]]]):v("",!0),zt(c.value)?T((u(),g(S,{key:5,type:"success",size:"small",plain:"",onClick:e[22]||(e[22]=N=>Ka(c.value))},{default:n(()=>[...e[127]||(e[127]=[p(" 关联支付单 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/addPayOrder"]]]):v("",!0),Ft(c.value)?T((u(),g(S,{key:6,type:"primary",size:"small",plain:"",onClick:e[23]||(e[23]=N=>Ya(c.value))},{default:n(()=>[...e[128]||(e[128]=[p(" 完成订单 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/complete"]]]):v("",!0)])):v("",!0)])]}),default:n(()=>[jt.value?(u(),g(We,{key:0,rows:12,animated:"",class:"px-6 py-4"})):c.value?(u(),m("div",wo,[Re.value?(u(),g(le,{key:0,type:"error",closable:!1,"show-icon":"",class:"mb-4 !items-start",title:"业务订单收货手机与处方登记手机不一致"},{default:n(()=>[a("div",So,[a("div",null,[e[129]||(e[129]=p(" 处方手机: ",-1)),a("span",Vo,r(sl.value),1)]),a("div",null,[e[130]||(e[130]=p(" 订单收货手机: ",-1)),a("span",No,r(ll.value),1)]),e[131]||(e[131]=a("div",{class:"text-gray-600 mt-1"},"请核对是否代收货或录入错误,避免物流与回访联系错人。",-1))])]),_:1})):v("",!0),a("div",Po,[l(Ke,{class:"po-workflow-steps",direction:"vertical",active:rt.value,"finish-status":"success"},{default:n(()=>[l(oe,{title:"业务订单创建",description:fe(c.value.create_time)},null,8,["description"]),l(oe,{title:"处方单双审",status:ot.value},{description:n(()=>[ot.value==="error"?(u(),m("span",Co,"处方被驳回")):ot.value==="wait"?(u(),m("span",Ao,"等待审核")):ot.value==="success"?(u(),m("span",To,"双审通过")):(u(),m("span",Oo,"进行中"))]),_:1},8,["status"]),l(oe,{title:"支付单审核",status:ut.value},{description:n(()=>[ut.value==="error"?(u(),m("span",Ro,"支付审核驳回")):ut.value==="wait"?(u(),m("span",Eo,"等待审核")):ut.value==="success"?(u(),m("span",Do,"审核通过")):(u(),m("span",$o,"进行中"))]),_:1},8,["status"]),l(oe,{title:"发货与履约",status:ke.value},{description:n(()=>{var i,C,N;return[ke.value==="process"&&Number((i=c.value)==null?void 0:i.fulfillment_status)===7?(u(),m("span",Uo,"进行中")):ke.value==="process"?(u(),m("span",zo,"等待发货/补充单号")):ke.value==="wait"?(u(),m("span",Fo,"待转入履约")):ke.value==="success"?(u(),m("span",Io,r($t((C=c.value)==null?void 0:C.fulfillment_status)),1)):ke.value==="error"?(u(),m("span",jo,r($t((N=c.value)==null?void 0:N.fulfillment_status)),1)):v("",!0)]}),_:1},8,["status"]),l(oe,{title:"订单完成"})]),_:1},8,["active"])]),l(pe,{gutter:16,class:"mb-5"},{default:n(()=>[l(E,{xs:12,sm:6},{default:n(()=>[l(s,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:n(()=>[a("div",Lo,[e[133]||(e[133]=a("div",{class:"stat-title text-gray-500 text-xs"},"总金额",-1)),It(c.value)?T((u(),g(S,{key:0,type:"primary",size:"small",link:"",onClick:bl},{default:n(()=>[...e[132]||(e[132]=[p(" 修改 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/updateAmount"]]]):v("",!0)]),a("div",qo,"¥"+r(c.value.amount),1)]),_:1})]),_:1}),l(E,{xs:12,sm:6},{default:n(()=>[l(s,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:n(()=>[e[134]||(e[134]=a("div",{class:"stat-title text-gray-500 text-xs mb-1"},"已付总额",-1)),a("div",Mo,"¥"+r(c.value.linked_pay_paid_total||0),1)]),_:1})]),_:1}),l(E,{xs:12,sm:6},{default:n(()=>[l(s,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:n(()=>[e[135]||(e[135]=a("div",{class:"stat-title text-gray-500 text-xs mb-1"},"需代收",-1)),a("div",{class:j(["stat-value font-bold text-xl",Aa.value>0?"text-amber-600":"text-gray-500"])}," ¥"+r(de(Aa.value)),3)]),_:1})]),_:1}),l(E,{xs:12,sm:6},{default:n(()=>[l(s,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:n(()=>[e[136]||(e[136]=a("div",{class:"stat-title text-gray-500 text-xs mb-1"},"已付笔数",-1)),a("div",Bo,r(Lt.value.length)+" 笔",1)]),_:1})]),_:1})]),_:1}),a("div",Ho,[l(s,{shadow:"never",class:"po-panel po-panel-rx border-gray-100 h-full relative overflow-hidden"},{header:n(()=>[a("div",Ko,[a("div",Yo,[e[139]||(e[139]=a("span",{class:"po-panel-rx-header__title font-medium text-[15px] leading-snug"},"处方详情",-1)),a("span",Qo," ID: "+r(c.value.prescription_id||"—"),1)]),c.value.doctor_name?(u(),m("div",Jo,[e[140]||(e[140]=p(" 开方人:",-1)),a("span",Xo,r(c.value.doctor_name),1)])):v("",!0),a("div",Zo,[c.value.prescription_id&&P.value&&!String(c.value.prescription_detail_error||"").trim()?T((u(),g(S,{key:0,type:"default",size:"small",link:"",onClick:vl},{default:n(()=>[...e[141]||(e[141]=[p(" 改患者信息 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/patchPrescriptionPatient"]]]):v("",!0),c.value.prescription_id&&me.value?(u(),g(S,{key:1,type:"primary",size:"small",link:"",onClick:e[24]||(e[24]=i=>ls(c.value))},{default:n(()=>[...e[142]||(e[142]=[p(" 详细 ",-1)])]),_:1})):v("",!0),c.value.id&&me.value?(u(),g(S,{key:2,type:"warning",size:"small",link:"",loading:Ne.value,icon:R(da),onClick:Ul},{default:n(()=>[...e[143]||(e[143]=[p(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):v("",!0)])])]),default:n(()=>[c.value.prescription_audit_status===1?(u(),m("div",Go,[...e[137]||(e[137]=[a("div",{class:"stamp-inner"},"审核通过",-1)])])):v("",!0),c.value.prescription_audit_status===2?(u(),m("div",Wo,[...e[138]||(e[138]=[a("div",{class:"stamp-inner"},"已驳回",-1)])])):v("",!0),String(c.value.prescription_detail_error||"").trim()?(u(),g(le,{key:2,title:c.value.prescription_detail_error,type:"warning",closable:!1,"show-icon":"",class:"mb-3"},null,8,["title"])):P.value?(u(),m(D,{key:3},[l(Ye,{column:1,border:"",size:"small",class:"po-desc bg-white"},{default:n(()=>[l(V,{label:"处方编号",span:2},{default:n(()=>[p(r(P.value.sn||"—"),1)]),_:1}),l(V,{label:"患者"},{default:n(()=>[p(r(P.value.patient_name||"—"),1)]),_:1}),l(V,{label:"性别 / 年龄"},{default:n(()=>[p(r(P.value.gender_desc||"—")+" · "+r(P.value.age??"—")+"岁 ",1)]),_:1}),l(V,{label:"手机"},{default:n(()=>[a("span",{class:j(Re.value?"rx-phone-mismatch text-red-600 font-bold":"")},r(P.value.phone||"—"),3),Re.value?(u(),g(d,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:n(()=>[...e[144]||(e[144]=[p(" 与订单手机不一致 ",-1)])]),_:1})):v("",!0)]),_:1}),l(V,{label:"处方日期"},{default:n(()=>[p(r(P.value.prescription_date||"—"),1)]),_:1}),l(V,{label:"医师"},{default:n(()=>[p(r(P.value.doctor_name||"—"),1)]),_:1}),l(V,{label:"类型"},{default:n(()=>[p(r(P.value.prescription_type||"—"),1)]),_:1}),l(V,{label:"临床诊断",span:2},{default:n(()=>[p(r(P.value.clinical_diagnosis||"—"),1)]),_:1}),me.value?(u(),g(V,{key:0,label:"剂数 / 用法",span:2},{default:n(()=>[p(r(c.value.dose_count??P.value.dose_count??"—")+" "+r(c.value.dose_unit||"剂")+" · "+r(P.value.usage_instruction||P.value.usage_method||"—"),1)]),_:1})):v("",!0),l(V,{label:"处方金额"},{default:n(()=>[a("span",eu,"¥"+r(P.value.amount??"—"),1)]),_:1}),l(V,{label:"消费者审核"},{default:n(()=>[l(d,{type:ol(P.value.audit_status),size:"small"},{default:n(()=>[p(r(rl(P.value.audit_status)),1)]),_:1},8,["type"])]),_:1}),l(V,{label:"用量"},{default:n(()=>[P.value.dosage_amount?(u(),m(D,{key:0},[p(r(P.value.dosage_amount)+r(P.value.dosage_unit||"g")+" ",1),P.value.prescription_type==="浓缩水丸"?(u(),m(D,{key:0},[p(" · "+r(Number(P.value.dosage_bag_count)>0?Number(P.value.dosage_bag_count):1)+"袋 ",1)],64)):v("",!0),P.value.prescription_type==="饮片"&&P.value.need_decoction!==null?(u(),m("span",tu," ("+r(P.value.need_decoction?"代煎":"不代煎")+") ",1)):v("",!0)],64)):(u(),m(D,{key:1},[p("—")],64))]),_:1}),l(V,{label:"服用方式"},{default:n(()=>[a("div",au,[a("div",null,[e[145]||(e[145]=a("span",{class:"text-gray-500"},"每天次数:",-1)),p(" "+r(P.value.times_per_day?P.value.times_per_day+" 次":"—"),1)]),a("div",null,[e[146]||(e[146]=a("span",{class:"text-gray-500"},"处方开立:",-1)),p(" "+r(P.value.usage_days!=null&&P.value.usage_days!==""?P.value.usage_days+" 天":"—"),1)]),a("div",null,[e[147]||(e[147]=a("span",{class:"text-gray-500"},"订单设置:",-1)),p(" "+r(c.value.medication_days!=null&&String(c.value.medication_days).trim()!==""?c.value.medication_days+" 天":"—"),1)])])]),_:1}),l(V,{label:"状态",span:2},{default:n(()=>[l(d,{type:Number(P.value.void_status)===1?"danger":"success",size:"small"},{default:n(()=>[p(r(Number(P.value.void_status)===1?"已作废":"正常"),1)]),_:1},8,["type"])]),_:1})]),_:1}),nl.value?(u(),m("div",su,[e[148]||(e[148]=a("div",{class:"text-xs font-medium text-gray-500 mb-2 px-1"},"药材明细",-1)),Ra.value.length?(u(),g(At,{key:0,data:Ra.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(),g(re,{key:1,description:"无处方药材明细","image-size":64}))])):v("",!0)],64)):(u(),g(re,{key:4,description:"无处方数据","image-size":72}))]),_:1}),a("div",lu,[l(s,{shadow:"never",class:"po-panel border-gray-100"},{header:n(()=>[...e[149]||(e[149]=[a("div",{class:"flex items-center justify-between"},[a("span",{class:"font-medium text-[15px]"},"未关联的收款记录"),a("span",{class:"text-xs text-gray-400"},"本诊单下未被占用的支付单")],-1)])]),default:n(()=>[he.value.length?(u(),g(At,{key:0,data:he.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:i})=>[p(r(i.order_type_desc||nt(i.order_type)),1)]),_:1}),l(U,{label:"金额",width:"86",align:"right"},{default:n(({row:i})=>[a("span",nu,"¥"+r(i.amount),1)]),_:1}),l(U,{label:"状态",width:"100",align:"center"},{default:n(({row:i})=>[l(d,{type:Da(i.status),size:"small"},{default:n(()=>[p(r(i.status_desc||Pa(i.status)),1)]),_:2},1032,["type"]),i.is_exempt===1?(u(),g(d,{key:0,type:"warning",size:"small",class:"ml-1"},{default:n(()=>[...e[150]||(e[150]=[p("豁免",-1)])]),_:1})):v("",!0)]),_:1}),l(U,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),l(U,{label:"创建时间","min-width":"136"},{default:n(({row:i})=>[p(r($a(i.create_time)),1)]),_:1})]),_:1},8,["data"])):(u(),g(re,{key:1,description:"无未关联的收款单","image-size":60}))]),_:1}),l(s,{shadow:"never",class:"po-panel po-panel-pay border-gray-100 relative overflow-hidden"},{header:n(()=>[a("div",ou,[a("div",uu,[e[154]||(e[154]=a("span",{class:"font-medium text-[15px]"},"关联收款记录",-1)),c.value.creator_name?(u(),m("span",du,[e[153]||(e[153]=p(" 创建人:",-1)),a("span",pu,r(c.value.creator_name),1)])):v("",!0)])])]),default:n(()=>[c.value.payment_slip_audit_status===1?(u(),m("div",iu,[...e[151]||(e[151]=[a("div",{class:"stamp-inner"},"审核通过",-1)])])):v("",!0),c.value.payment_slip_audit_status===2?(u(),m("div",ru,[...e[152]||(e[152]=[a("div",{class:"stamp-inner"},"已驳回",-1)])])):v("",!0),Lt.value.length?(u(),g(At,{key:2,data:Lt.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:i})=>[p(r(i.order_type_desc||nt(i.order_type)),1)]),_:1}),l(U,{label:"金额",width:"86",align:"right"},{default:n(({row:i})=>[a("span",cu,"¥"+r(i.amount),1)]),_:1}),l(U,{label:"状态",width:"100",align:"center"},{default:n(({row:i})=>[l(d,{type:Da(i.status),size:"small"},{default:n(()=>[p(r(i.status_desc||Pa(i.status)),1)]),_:2},1032,["type"]),i.is_exempt===1?(u(),g(d,{key:0,type:"warning",size:"small",class:"ml-1"},{default:n(()=>[...e[155]||(e[155]=[p("豁免",-1)])]),_:1})):v("",!0)]),_:1}),l(U,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),l(U,{label:"创建时间","min-width":"136"},{default:n(({row:i})=>[p(r($a(i.create_time)),1)]),_:1})]),_:1},8,["data"])):(u(),g(re,{key:3,description:"未关联收款单","image-size":60}))]),_:1})])]),l(s,{shadow:"never",class:"po-panel po-panel-biz border-gray-100 mb-4"},{header:n(()=>[...e[156]||(e[156]=[a("span",{class:"font-medium text-[15px]"},"履约与收货信息",-1)])]),default:n(()=>[l(Ye,{column:1,border:"",size:"small",class:"po-desc"},{default:n(()=>[l(V,{label:"诊单ID"},{default:n(()=>[a("div",_u,[a("div",mu,[e[157]||(e[157]=a("span",{class:"text-[11px] font-semibold uppercase tracking-[0.06em] text-slate-500"},"关联诊单",-1)),a("span",fu,r(c.value.diagnosis_id||"—"),1),e[158]||(e[158]=a("span",{class:"text-[12px] leading-snug text-slate-500"},"病历与体征以诊单为准,可全屏查看",-1))]),Number(c.value.diagnosis_id)>0?(u(),g(S,{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:R(ri),"aria-label":"打开关联诊单详情(患者与病历)",onClick:gs},{default:n(()=>[...e[159]||(e[159]=[p(" 查看诊单详情 ",-1)])]),_:1},8,["icon"])):v("",!0)])]),_:1}),l(V,{label:"创建时间"},{default:n(()=>[p(r(fe(c.value.create_time)),1)]),_:1}),l(V,{label:"收货人"},{default:n(()=>[p(r(c.value.recipient_name),1)]),_:1}),l(V,{label:"挂号关联",span:3},{default:n(()=>[W.value?(u(),m(D,{key:0},[a("div",vu,[a("span",null,[e[160]||(e[160]=p("预约 ",-1)),a("span",gu,"#"+r(W.value.id),1)]),a("span",yu,"时间:"+r(W.value.appointment_date)+" "+r(W.value.period)+" "+r(W.value.appointment_time),1),l(d,{size:"small",type:"info"},{default:n(()=>[p(r(W.value.appointment_type_desc),1)]),_:1}),l(d,{size:"small"},{default:n(()=>[p(r(W.value.status_desc),1)]),_:1}),W.value.doctor_name?(u(),m("span",bu,"接诊:"+r(W.value.doctor_name),1)):v("",!0),W.value.channel_source?(u(),m("span",xu,"渠道:"+r(W.value.channel_source),1)):v("",!0),Oa.value?(u(),g(d,{key:2,size:"small",effect:"plain"},{default:n(()=>[p(r(Oa.value),1)]),_:1})):v("",!0)]),String(W.value.remark||"").trim()?(u(),m("p",ku," 备注:"+r(W.value.remark),1)):v("",!0)],64)):(u(),m("span",hu,"暂无挂号预约记录(未绑定或诊单下无预约)"))]),_:1}),l(V,{label:"收货手机"},{default:n(()=>[a("span",{class:j(Re.value?"text-red-600 font-bold font-mono":"font-mono")},r(c.value.recipient_phone||"—"),3),Re.value?(u(),g(d,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:n(()=>[...e[161]||(e[161]=[p(" 与处方手机不一致 ",-1)])]),_:1})):v("",!0)]),_:1}),l(V,{label:"收货地址",span:2},{default:n(()=>[p(r(il.value),1)]),_:1}),l(V,{label:"复诊"},{default:n(()=>[p(r(c.value.is_follow_up?"是":"否"),1)]),_:1}),l(V,{label:"用药疗程"},{default:n(()=>[p(r(c.value.medication_days?c.value.medication_days+" 天":"—"),1)]),_:1}),l(V,{label:"上次医护"},{default:n(()=>[p(r(c.value.prev_staff||"—"),1)]),_:1}),l(V,{label:"服务渠道"},{default:n(()=>[p(r(c.value.service_channel||"—"),1)]),_:1}),l(V,{label:"服务套餐"},{default:n(()=>[p(r(Gs(c.value.service_package)),1)]),_:1}),l(V,{label:"费用类别"},{default:n(()=>[p(r(nt(c.value.fee_type)),1)]),_:1}),c.value.internal_cost!=null&&c.value.internal_cost!==""?(u(),g(V,{key:0,label:"内部成本"},{default:n(()=>[p(" ¥"+r(c.value.internal_cost),1)]),_:1})):v("",!0),l(V,{label:"快递单号",span:c.value.internal_cost!=null&&c.value.internal_cost!==""?1:2},{default:n(()=>[p(r(c.value.tracking_number||"—"),1)]),_:1},8,["span"]),l(V,{label:"快递公司"},{default:n(()=>[p(r(ml(c.value.express_company)),1)]),_:1}),T((u(),g(V,{label:"备注",span:3},{default:n(()=>[p(r(c.value.remark_extra||"—"),1)]),_:1})),[[q,["tcm.prescriptionOrder/editRemarkExtra"]]]),l(V,{label:"医助备注",span:3},{default:n(()=>[p(r(c.value.remark_assistant||"—"),1)]),_:1}),l(V,{label:"处方审核意见",span:3},{default:n(()=>[a("span",wu,r(c.value.prescription_audit_remark||"—"),1)]),_:1}),l(V,{label:"支付审核意见",span:3},{default:n(()=>[a("span",Su,r(c.value.payment_slip_audit_remark||"—"),1)]),_:1})]),_:1})]),_:1}),String(c.value.tracking_number||"").trim()?(u(),g(s,{key:1,shadow:"never",class:"po-panel po-panel-logistics border-gray-100"},{header:n(()=>[...e[162]||(e[162]=[a("span",{class:"font-medium text-[15px]"},"物流轨迹",-1)])]),default:n(()=>{var i,C,N,I,Qe,Je;return[e[168]||(e[168]=a("p",{class:"po-logistics-tip text-gray-400 text-xs mb-3 font-normal"}," 优先读库,无记录时走快递100。顺丰会校验单号+电话(快递100要求完整手机号更易通过);默认预填订单收货手机,若仍提示验证码错误请改成与顺丰面单一致的号码。 ",-1)),a("div",Vu,[l(k,{modelValue:De.value,"onUpdate:modelValue":e[25]||(e[25]=ue=>De.value=ue),clearable:"",maxlength:"20",placeholder:"收件手机(建议11位,与面单一致)",class:"po-logistics-toolbar__phone",onKeyup:Ze(Wt,["enter"])},null,8,["modelValue"]),l($,{modelValue:Ee.value,"onUpdate:modelValue":e[26]||(e[26]=ue=>Ee.value=ue),placeholder:"承运商",class:"po-logistics-toolbar__carrier"},{default:n(()=>[l(y,{label:"自动识别",value:"auto"}),l(y,{label:"顺丰速运",value:"sf"}),l(y,{label:"京东快递",value:"jd"}),l(y,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),T((u(),g(S,{type:"primary",plain:"",size:"default",loading:ct.value,class:"po-logistics-toolbar__btn",onClick:Wt},{icon:n(()=>[l(o,null,{default:n(()=>[l(R(oi))]),_:1})]),default:n(()=>[e[163]||(e[163]=p(" 刷新轨迹 ",-1))]),_:1},8,["loading"])),[[q,["tcm.prescriptionOrder/logisticsTrace"]]]),a("div",Nu,[l(ra,{href:Gt.value.sf,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:n(()=>[...e[164]||(e[164]=[p("顺丰官网",-1)])]),_:1},8,["href"]),l(ra,{href:Gt.value.jd,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:n(()=>[...e[165]||(e[165]=[p("京东物流",-1)])]),_:1},8,["href"]),l(ra,{href:Gt.value.jt,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:n(()=>[...e[166]||(e[166]=[p("极兔",-1)])]),_:1},8,["href"])])]),String(((i=H.value)==null?void 0:i.hint)||"").trim()?(u(),g(le,{key:0,title:String(((C=H.value)==null?void 0:C.hint)||""),type:"info",closable:!1,class:"mb-4","show-icon":""},null,8,["title"])):v("",!0),ct.value&&!H.value?(u(),m("div",Pu,[l(o,{class:"is-loading mr-1"},{default:n(()=>[l(R(ui))]),_:1}),e[167]||(e[167]=p("正在加载物流轨迹... ",-1))])):H.value?(u(),m("div",Cu,[(N=H.value)!=null&&N.state_text?(u(),m("div",Au,[a("span",Tu,"状态:"+r(H.value.state_text),1),(I=H.value)!=null&&I.carrier_label?(u(),g(d,{key:0,size:"small",type:"info"},{default:n(()=>[p(r(H.value.carrier_label),1)]),_:1})):v("",!0),(Qe=H.value)!=null&&Qe.source?(u(),m("span",Ou," ["+r(H.value.source==="database"?"数据库缓存":"API拉取")+"] ",1)):v("",!0),(Je=H.value)!=null&&Je.last_query_time?(u(),m("span",Ru," 更新时间:"+r(H.value.last_query_time),1)):v("",!0)])):v("",!0),Ua.value.length?(u(),g(us,{key:1,class:"mt-2 pl-2"},{default:n(()=>[(u(!0),m(D,null,B(Ua.value,(ue,be)=>(u(),g(os,{key:be,type:be===0?"primary":"info",hollow:be!==0,timestamp:ue.time,placement:"top"},{default:n(()=>[a("span",{class:j(be===0?"text-gray-800 font-medium":"text-gray-500")},r(ue.context),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(u(),g(re,{key:2,description:"暂无轨迹节点记录","image-size":64}))])):v("",!0)]}),_:1})):v("",!0),T((u(),g(s,{shadow:"never",class:"po-panel border-gray-100 mt-4"},{header:n(()=>[...e[169]||(e[169]=[a("span",{class:"font-medium text-[15px]"},"操作日志",-1)])]),default:n(()=>[we.value.length?(u(),g(us,{key:0,class:"mt-2 pl-2"},{default:n(()=>[(u(!0),m(D,null,B(we.value,(i,C)=>(u(),g(os,{key:i.id,type:C===0?"primary":"info",hollow:C!==0,timestamp:fe(i.create_time),placement:"top"},{default:n(()=>[a("div",Eu,[a("span",Du,r(i.admin_name),1),l(d,{size:"small",type:"info"},{default:n(()=>[p(r(_l(i.action)),1)]),_:2},1024)]),a("span",{class:j(C===0?"text-gray-800 font-medium":"text-gray-500")},r(i.summary),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(u(),g(re,{key:1,description:"暂无操作日志","image-size":64}))]),_:1})),[[q,["tcm.prescriptionOrder/logs"]]])])):v("",!0)]),_:1},8,["modelValue"]),l(ce,{modelValue:$e.value,"onUpdate:modelValue":e[30]||(e[30]=i=>$e.value=i),title:"修改订单金额",width:"92%","destroy-on-close":"","close-on-click-modal":!1,onClosed:yl},{footer:n(()=>[l(S,{onClick:e[29]||(e[29]=i=>$e.value=!1)},{default:n(()=>[...e[171]||(e[171]=[p("取消",-1)])]),_:1}),l(S,{type:"primary",loading:Bt.value,onClick:Fa},{default:n(()=>[...e[172]||(e[172]=[p(" 确认修改 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(F,{ref_key:"updateAmountFormRef",ref:_t,model:ie,rules:pl,"label-width":"84px",onSubmit:Ot(Fa,["prevent"])},{default:n(()=>[l(f,{label:"当前金额"},{default:n(()=>{var i;return[a("div",$u,"¥"+r(de((i=c.value)==null?void 0:i.amount)),1)]}),_:1}),l(f,{label:"新金额",prop:"amount"},{default:n(()=>[l(Ce,{modelValue:ie.amount,"onUpdate:modelValue":e[28]||(e[28]=i=>ie.amount=i),min:.01,step:.01,precision:2,"controls-position":"right",class:"w-full",placeholder:"请输入新金额"},null,8,["modelValue"])]),_:1}),e[170]||(e[170]=a("div",{class:"text-xs text-gray-400 pl-[84px] -mt-1 leading-relaxed"}," 已完成或已取消订单不可修改。提交成功后会刷新详情与操作日志。 ",-1))]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(ce,{modelValue:ve.value,"onUpdate:modelValue":e[51]||(e[51]=i=>ve.value=i),title:"编辑业务订单",width:"96%",top:"2vh","close-on-click-modal":!1,"destroy-on-close":"",class:"create-order-dialog create-order-dialog--h5",onClosed:Nl},{footer:n(()=>[a("div",fd,[a("div",vd,[a("span",gd,"第 "+r(L.value+1)+" / 3 步",1),L.value===2&&M.value>0?(u(),m("span",yd," 订单金额与关联支付单合计须 ≥ ¥"+r(de(M.value)),1)):v("",!0)]),a("div",bd,[l(S,{size:"large",onClick:e[50]||(e[50]=i=>ve.value=!1)},{default:n(()=>[...e[185]||(e[185]=[p("取消",-1)])]),_:1}),L.value>0?(u(),g(S,{key:0,size:"large",onClick:Pl},{default:n(()=>[...e[186]||(e[186]=[p("上一步",-1)])]),_:1})):v("",!0),L.value<2?(u(),g(S,{key:1,type:"primary",size:"large",onClick:Cl},{default:n(()=>[...e[187]||(e[187]=[p(" 下一步 ",-1)])]),_:1})):v("",!0),L.value===2?(u(),g(S,{key:2,type:"primary",size:"large",loading:Jt.value,onClick:Tl},{default:n(()=>[...e[188]||(e[188]=[p(" 确认保存 ",-1)])]),_:1},8,["loading"])):v("",!0)])])]),default:n(()=>[T((u(),m("div",Uu,[se.value?(u(),m("div",zu,[a("div",Fu,[e[173]||(e[173]=a("span",{class:"create-order-rx-card__badge"},"关联处方",-1)),a("div",Iu,[a("span",ju,"#"+r(se.value.id),1),se.value.sn?(u(),m("span",Lu,r(se.value.sn),1)):v("",!0),a("span",qu,r(se.value.patient_name||"—"),1)])]),l(ds,{content:ja.value,placement:"bottom","show-after":300},{default:n(()=>[a("div",Mu,r(ja.value),1)]),_:1},8,["content"])])):v("",!0),l(Ke,{active:L.value,"finish-status":"success","align-center":"",class:"create-order-steps"},{default:n(()=>[l(oe,{title:"患者与收货",description:"诊单与物流地址"}),l(oe,{title:"服务与支付单",description:"套餐与关联收款"}),l(oe,{title:"金额与确认",description:"费用与备注"})]),_:1},8,["active"]),a("p",Bu,r(kl.value),1),l(F,{ref_key:"editFormRef",ref:Se,model:_,rules:Vl.value,"label-width":"108px",class:"create-order-form"},{default:n(()=>[T(a("div",Hu,[l(pe,{gutter:20},{default:n(()=>[l(E,{span:12},{default:n(()=>[l(f,{label:"收货人",prop:"recipient_name"},{default:n(()=>[l(k,{modelValue:_.recipient_name,"onUpdate:modelValue":e[31]||(e[31]=i=>_.recipient_name=i),maxlength:"50",placeholder:"姓名"},null,8,["modelValue"])]),_:1})]),_:1}),l(E,{span:12},{default:n(()=>[l(f,{label:"收货手机",prop:"recipient_phone"},{default:n(()=>[l(k,{modelValue:_.recipient_phone,"onUpdate:modelValue":e[32]||(e[32]=i=>_.recipient_phone=i),maxlength:"20",placeholder:"物流联系"},null,8,["modelValue"])]),_:1})]),_:1}),l(E,{span:24},{default:n(()=>[l(f,{label:"省市区",prop:"region"},{default:n(()=>[l(pn,{modelValue:_.region,"onUpdate:modelValue":e[33]||(e[33]=i=>_.region=i),options:et.value,props:{emitPath:!0},placeholder:"省 / 市 / 区",clearable:"",filterable:"",class:"w-full"},null,8,["modelValue","options"])]),_:1})]),_:1}),l(E,{span:24},{default:n(()=>[l(f,{label:"详细地址",prop:"shipping_address"},{default:n(()=>[l(k,{modelValue:_.shipping_address,"onUpdate:modelValue":e[34]||(e[34]=i=>_.shipping_address=i),type:"textarea",rows:3,placeholder:"街道、小区、门牌号等详细地址",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[Tt,L.value===0]]),T(a("div",Gu,[me.value?(u(),g(pe,{key:0,gutter:20,class:"mb-1"},{default:n(()=>[l(E,{span:24},{default:n(()=>[a("div",Wu,[e[176]||(e[176]=a("span",{class:"text-sm font-medium text-gray-700 mr-1"},"处方",-1)),_.prescription_id?(u(),g(S,{key:0,type:"primary",size:"small",link:"",onClick:rn},{default:n(()=>[...e[174]||(e[174]=[p(" 详细 ",-1)])]),_:1})):v("",!0),_.id?(u(),g(S,{key:1,type:"warning",size:"small",link:"",loading:Ne.value,icon:R(da),onClick:$l},{default:n(()=>[...e[175]||(e[175]=[p(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):v("",!0),a("span",Ku,"ID: "+r(_.prescription_id||"—"),1)]),a("div",Yu,[La.value.length?(u(),m("div",Qu,[e[177]||(e[177]=a("div",{class:"text-gray-500"},"创建人所属部门",-1)),(u(!0),m(D,null,B(La.value,(i,C)=>(u(),m("div",{key:C,class:"pl-0 min-w-0"},[i.length?(u(),g(_n,{key:0,class:"po-diagnosis-creator-dept-breadcrumb text-[13px] leading-relaxed",separator:"/"},{default:n(()=>[(u(!0),m(D,null,B(i,(N,I)=>(u(),g(cn,{key:I},{default:n(()=>[a("span",Ju,r(N),1)]),_:2},1024))),128))]),_:2},1024)):v("",!0)]))),128))])):(u(),m("div",Xu,"创建人所属部门:—"))])]),_:1}),l(E,{xs:24,sm:8},{default:n(()=>[l(f,{label:"复诊"},{default:n(()=>[l(mn,{modelValue:_.is_follow_up,"onUpdate:modelValue":e[35]||(e[35]=i=>_.is_follow_up=i),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1}),l(E,{xs:24,sm:8},{default:n(()=>[l(f,{label:"服用天数",class:"create-order-form-item--inline-num"},{default:n(()=>[a("div",Zu,[l(Ce,{modelValue:_.medication_days,"onUpdate:modelValue":e[36]||(e[36]=i=>_.medication_days=i),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[178]||(e[178]=a("span",{class:"create-order-unit-suffix"},"天",-1))])]),_:1})]),_:1}),l(E,{xs:24,sm:8},{default:n(()=>[l(f,{label:"上次医生"},{default:n(()=>[l(k,{modelValue:_.prev_staff,"onUpdate:modelValue":e[37]||(e[37]=i=>_.prev_staff=i),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),l(E,{span:12},{default:n(()=>[l(f,{label:Ea.value,prop:"dose_count"},{default:n(()=>[l(Ce,{modelValue:_.dose_count,"onUpdate:modelValue":e[38]||(e[38]=i=>_.dose_count=i),min:1,placeholder:Ea.value,class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1}),l(E,{span:12},{default:n(()=>[l(f,{label:"剂量单位",prop:"dose_unit"},{default:n(()=>[l($,{modelValue:_.dose_unit,"onUpdate:modelValue":e[39]||(e[39]=i=>_.dose_unit=i),placeholder:"请选择",class:"w-full"},{default:n(()=>[l(y,{label:"剂",value:"剂"}),l(y,{label:"丸",value:"丸"}),l(y,{label:"袋",value:"袋"}),l(y,{label:"盒",value:"盒"}),l(y,{label:"瓶",value:"瓶"}),l(y,{label:"膏",value:"膏"}),l(y,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})):v("",!0),l(pe,{gutter:20},{default:n(()=>[l(E,{span:12},{default:n(()=>[l(f,{label:"服务渠道"},{default:n(()=>[l(k,{modelValue:_.service_channel,"onUpdate:modelValue":e[40]||(e[40]=i=>_.service_channel=i),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),l(E,{span:12},{default:n(()=>[l(f,{label:"服务套餐"},{default:n(()=>[l($,{modelValue:_.service_package,"onUpdate:modelValue":e[41]||(e[41]=i=>_.service_package=i),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"请选择服务套餐",clearable:"",class:"w-full"},{default:n(()=>[(u(!0),m(D,null,B(Te.value,i=>(u(),g(y,{key:i.value,label:i.name,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(E,{span:24},{default:n(()=>[l(f,{label:"物流设置"},{default:n(()=>[a("div",ed,[l($,{modelValue:_.express_company,"onUpdate:modelValue":e[42]||(e[42]=i=>_.express_company=i),placeholder:"承运商",class:"w-[140px] shrink-0"},{default:n(()=>[l(y,{label:"自动识别",value:"auto"}),l(y,{label:"顺丰速运",value:"sf"}),l(y,{label:"京东快递",value:"jd"}),l(y,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),l(k,{modelValue:_.tracking_number,"onUpdate:modelValue":e[43]||(e[43]=i=>_.tracking_number=i),maxlength:"80",placeholder:"快递单号",class:"flex-1 min-w-0"},null,8,["modelValue"])])]),_:1})]),_:1}),l(E,{span:24},{default:n(()=>[l(f,{label:"关联支付单",prop:"pay_order_ids",required:M.value>0},{default:n(()=>[l($,{modelValue:_.pay_order_ids,"onUpdate:modelValue":e[44]||(e[44]=i=>_.pay_order_ids=i),class:"w-full",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:M.value>0?"请至少选择一笔本诊单支付单(已开启门槛)":"多选本诊单支付单(可选)",loading:Xt.value},{default:n(()=>[(u(!0),m(D,null,B(ze.value,i=>(u(),g(y,{key:i.id,label:`${i.order_no} · ¥${i.amount} · ${Zt(i.order_type)}`,value:i.id,class:"!h-auto py-1.5"},{default:n(()=>[a("div",td,[a("div",ad,[a("span",sd,r(i.order_no),1),a("span",ld,"¥"+r(i.amount),1)]),a("div",nd,[a("span",id,[p(r(Zt(i.order_type)),1),i.remark?(u(),m(D,{key:0},[p(" · "+r(i.remark),1)],64)):v("",!0)]),a("span",rd,r(String(i.create_time||"").substring(0,16)),1)])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","loading"]),a("div",od,[M.value>0?(u(),m(D,{key:0},[a("span",ud,"当前已开启关联支付门槛(¥"+r(de(M.value))+"),须至少选择一笔支付单。",1),e[179]||(e[179]=a("span",{class:"mx-1"},null,-1))],64)):v("",!0),e[181]||(e[181]=p(" 主管/本诊单医助可见全部支付单;否则仅本人收款单。已被占用的支付单不列出。 ",-1)),l(ds,{content:"主管或本诊单医助可见该诊单全部支付单(待支付/已支付),否则仅本人创建的收款单。已被其他有效业务订单占用的支付单不会出现在此列表。",placement:"top"},{default:n(()=>[...e[180]||(e[180]=[a("span",{class:"text-primary cursor-help ml-0.5"},"详情",-1)])]),_:1})])]),_:1},8,["required"])]),_:1})]),_:1})],512),[[Tt,L.value===1]]),T(a("div",dd,[a("div",{class:j(["create-order-deposit-bar",ea.value>=M.value?"is-ok":"is-warn"])},[a("div",pd,[e[182]||(e[182]=a("span",{class:"create-order-deposit-bar__label"},"定金门槛",-1)),a("strong",null,"¥"+r(de(M.value)),1),a("span",cd,r(M.value>0?"须 ≥ 此值":"未设置"),1)]),e[184]||(e[184]=a("div",{class:"create-order-deposit-bar__sep"},null,-1)),a("div",_d,[e[183]||(e[183]=a("span",{class:"create-order-deposit-bar__label"},"已选收款",-1)),a("strong",null,"¥"+r(de(ea.value)),1),a("span",md,r(ea.value>=M.value?"已达标":"未达标"),1)])],2),l(pe,{gutter:20,class:"create-order-step-panel__row-after-bar"},{default:n(()=>[l(E,{span:12},{default:n(()=>[l(f,{label:"费用类别",prop:"fee_type"},{default:n(()=>[l($,{modelValue:_.fee_type,"onUpdate:modelValue":e[45]||(e[45]=i=>_.fee_type=i),placeholder:"请选择",class:"w-full"},{default:n(()=>[l(y,{label:"挂号费",value:1}),l(y,{label:"问诊费",value:2}),l(y,{label:"药品费用",value:3}),l(y,{label:"首付费用",value:4}),l(y,{label:"尾款费用",value:5}),l(y,{label:"其他费用",value:6}),l(y,{label:"全部费用",value:7}),l(y,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(E,{span:12},{default:n(()=>[l(f,{label:"总金额",prop:"amount"},{default:n(()=>[l(Ce,{modelValue:_.amount,"onUpdate:modelValue":e[46]||(e[46]=i=>_.amount=i),min:wl.value,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"元"},null,8,["modelValue","min"])]),_:1})]),_:1}),T((u(),g(E,{span:12},{default:n(()=>[l(f,{label:"内部成本"},{default:n(()=>[l(Ce,{modelValue:_.internal_cost,"onUpdate:modelValue":e[47]||(e[47]=i=>_.internal_cost=i),min:0,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"财务可见"},null,8,["modelValue"])]),_:1})]),_:1})),[[q,["finance.account_log/lists"]]]),l(E,{span:24},{default:n(()=>[T((u(),g(f,{label:"药房备注"},{default:n(()=>[l(k,{modelValue:_.remark_extra,"onUpdate:modelValue":e[48]||(e[48]=i=>_.remark_extra=i),type:"textarea",rows:3,placeholder:"选填,对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})),[[q,["tcm.prescriptionOrder/editRemarkExtra"]]]),l(f,{label:"医助备注"},{default:n(()=>[l(k,{modelValue:_.remark_assistant,"onUpdate:modelValue":e[49]||(e[49]=i=>_.remark_assistant=i),type:"textarea",rows:3,placeholder:"选填,医助对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[Tt,L.value===2]])]),_:1},8,["model","rules"])])),[[ye,Qt.value]])]),_:1},8,["modelValue"]),l(ce,{modelValue:Fe.value,"onUpdate:modelValue":e[56]||(e[56]=i=>Fe.value=i),title:Ol.value,width:"92%","destroy-on-close":"",class:"po-h5-dialog",onClosed:e[57]||(e[57]=i=>Ve.value="")},{footer:n(()=>[l(S,{onClick:e[53]||(e[53]=i=>Fe.value=!1)},{default:n(()=>[...e[190]||(e[190]=[p("取消",-1)])]),_:1}),l(S,{type:"primary",loading:ft.value,onClick:e[54]||(e[54]=i=>Ma("approve"))},{default:n(()=>[...e[191]||(e[191]=[p("同意通过",-1)])]),_:1},8,["loading"]),l(S,{type:"danger",loading:ft.value,onClick:e[55]||(e[55]=i=>Ma("reject"))},{default:n(()=>[...e[192]||(e[192]=[p("驳回阻止",-1)])]),_:1},8,["loading"])]),default:n(()=>[Ie.value&&Ie.value.completion_request===1?(u(),g(le,{key:0,title:"完单申请",type:"warning",closable:!1,"show-icon":"",class:"mb-3"},{default:n(()=>[a("div",xd,[e[189]||(e[189]=a("div",{class:"font-medium mb-1"},"该订单已申请完成",-1)),a("div",kd," 申请人:"+r(Ie.value.completion_request_by_name||"—"),1),a("div",hd," 申请时间:"+r(fe(Ie.value.completion_request_time)),1)])]),_:1})):v("",!0),e[193]||(e[193]=a("p",{class:"text-[13px] text-gray-500 mb-3 bg-gray-50/80 border border-gray-100 p-2 rounded"},"驳回时必须填写意见;通过时意见选填。",-1)),l(k,{modelValue:Ve.value,"onUpdate:modelValue":e[52]||(e[52]=i=>Ve.value=i),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"在此输入审核意见..."},null,8,["modelValue"])]),_:1},8,["modelValue","title"]),l(ce,{modelValue:je.value,"onUpdate:modelValue":e[61]||(e[61]=i=>je.value=i),title:"修改快递单号",width:"92%","destroy-on-close":"",class:"po-h5-dialog","close-on-click-modal":!1},{footer:n(()=>[l(S,{onClick:e[60]||(e[60]=i=>je.value=!1)},{default:n(()=>[...e[195]||(e[195]=[p("取消",-1)])]),_:1}),l(S,{type:"primary",loading:gt.value,onClick:Ga},{default:n(()=>[...e[196]||(e[196]=[p("保存单号",-1)])]),_:1},8,["loading"])]),default:n(()=>[T((u(),g(F,{"label-width":"90px",class:"pr-2",onSubmit:Ot(Ga,["prevent"])},{default:n(()=>[l(f,{label:"承运商"},{default:n(()=>[l($,{modelValue:Z.express_company,"onUpdate:modelValue":e[58]||(e[58]=i=>Z.express_company=i),class:"w-full",placeholder:"选择承运商"},{default:n(()=>[l(y,{label:"自动识别",value:"auto"}),l(y,{label:"顺丰速运",value:"sf"}),l(y,{label:"京东快递",value:"jd"}),l(y,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),l(f,{label:"快递单号"},{default:n(()=>[l(k,{modelValue:Z.tracking_number,"onUpdate:modelValue":e[59]||(e[59]=i=>Z.tracking_number=i),maxlength:"80",placeholder:"请输入快递单号",clearable:"",autofocus:""},null,8,["modelValue"])]),_:1}),e[194]||(e[194]=a("div",{class:"text-xs text-gray-400 pl-[90px] -mt-1 leading-relaxed"}," 仅更新快递信息,其他字段不受影响。 ",-1))]),_:1})),[[ye,gt.value]])]),_:1},8,["modelValue"]),l(ce,{modelValue:qe.value,"onUpdate:modelValue":e[66]||(e[66]=i=>qe.value=i),title:"确认发货",width:"92%","destroy-on-close":"",class:"po-h5-dialog","close-on-click-modal":!1},{footer:n(()=>[l(S,{onClick:e[65]||(e[65]=i=>qe.value=!1)},{default:n(()=>[...e[199]||(e[199]=[p("取消",-1)])]),_:1}),l(S,{type:"primary",loading:yt.value,onClick:Wa},{default:n(()=>[...e[200]||(e[200]=[p(" 确认发货 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(le,{title:"确认后订单状态将变更为「已发货」,请核对快递信息无误。",type:"warning",closable:!1,"show-icon":"",class:"mb-4"}),T((u(),g(F,{"label-width":"90px",class:"pr-2",onSubmit:Ot(Wa,["prevent"])},{default:n(()=>[l(f,{label:"发货方式"},{default:n(()=>[l(ua,{modelValue:Y.ship_mode,"onUpdate:modelValue":e[62]||(e[62]=i=>Y.ship_mode=i)},{default:n(()=>[l(Ae,{label:"gancao"},{default:n(()=>[...e[197]||(e[197]=[p("甘草药方发",-1)])]),_:1}),l(Ae,{label:"direct"},{default:n(()=>[...e[198]||(e[198]=[p("药房直发",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(f,{label:"承运商"},{default:n(()=>[l($,{modelValue:Y.express_company,"onUpdate:modelValue":e[63]||(e[63]=i=>Y.express_company=i),class:"w-full"},{default:n(()=>[l(y,{label:"自动识别",value:"auto"}),l(y,{label:"顺丰速运",value:"sf"}),l(y,{label:"京东快递",value:"jd"}),l(y,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),l(f,{label:"快递单号"},{default:n(()=>[l(k,{modelValue:Y.tracking_number,"onUpdate:modelValue":e[64]||(e[64]=i=>Y.tracking_number=i),maxlength:"80",placeholder:"请输入快递单号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1})),[[ye,yt.value]])]),_:1},8,["modelValue"]),l(ce,{modelValue:Me.value,"onUpdate:modelValue":e[69]||(e[69]=i=>Me.value=i),title:"完成订单",width:"92%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:e[70]||(e[70]=i=>sa.value=0)},{footer:n(()=>[l(S,{onClick:e[68]||(e[68]=i=>Me.value=!1)},{default:n(()=>[...e[201]||(e[201]=[p("取消",-1)])]),_:1}),l(S,{type:"primary",loading:la.value,onClick:jl},{default:n(()=>[...e[202]||(e[202]=[p(" 确定 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[e[203]||(e[203]=a("p",{class:"text-sm text-gray-600 mb-3"},"请选择本单结案状态。选择「已完成」时,实付将按已关联的支付单金额汇总。",-1)),l($,{modelValue:xt.value,"onUpdate:modelValue":e[67]||(e[67]=i=>xt.value=i),class:"w-full",placeholder:"请选择"},{default:n(()=>[(u(),m(D,null,B(Il,i=>l(y,{key:i.value,label:i.label,value:i.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"]),l(ce,{modelValue:Be.value,"onUpdate:modelValue":e[78]||(e[78]=i=>Be.value=i),title:"补齐支付单",width:"94%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:e[79]||(e[79]=i=>{var C;return(C=ht.value)==null?void 0:C.clearValidate()})},{footer:n(()=>[l(S,{onClick:e[77]||(e[77]=i=>Be.value=!1)},{default:n(()=>[...e[210]||(e[210]=[p("取消",-1)])]),_:1}),l(S,{type:"primary",loading:kt.value,onClick:Ml},{default:n(()=>[...e[211]||(e[211]=[p("确认新增",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(le,{title:"可以手动创建新支付单,或关联已存在但未绑定的支付单。",type:"info",closable:!1,"show-icon":"",class:"mb-4"}),T((u(),g(F,{ref_key:"addPayOrderFormRef",ref:ht,model:O,rules:Ll,"label-width":"90px",class:"pr-2"},{default:n(()=>[l(f,{label:"添加方式",prop:"add_mode"},{default:n(()=>[l(ua,{modelValue:O.add_mode,"onUpdate:modelValue":e[71]||(e[71]=i=>O.add_mode=i)},{default:n(()=>[l(Ae,{value:"create"},{default:n(()=>[...e[204]||(e[204]=[p("手动创建",-1)])]),_:1}),l(Ae,{value:"link"},{default:n(()=>[...e[205]||(e[205]=[p("关联已有",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),O.add_mode==="create"?(u(),m(D,{key:0},[l(f,{label:"费用类别",prop:"order_type"},{default:n(()=>[l($,{modelValue:O.order_type,"onUpdate:modelValue":e[72]||(e[72]=i=>O.order_type=i),class:"w-full"},{default:n(()=>[l(y,{label:"挂号费",value:1}),l(y,{label:"问诊费",value:2}),l(y,{label:"药品费用",value:3}),l(y,{label:"首付费用",value:4}),l(y,{label:"尾款费用",value:5}),l(y,{label:"其他费用",value:6}),l(y,{label:"全部费用",value:7}),l(y,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),l(f,{label:"支付金额",prop:"pay_amount"},{default:n(()=>[l(Ce,{modelValue:O.pay_amount,"onUpdate:modelValue":e[73]||(e[73]=i=>O.pay_amount=i),min:.01,step:.01,precision:2,class:"w-full",placeholder:"请输入支付金额(元)"},null,8,["modelValue"])]),_:1}),l(f,{label:"备注",prop:"pay_remark"},{default:n(()=>[l(k,{modelValue:O.pay_remark,"onUpdate:modelValue":e[74]||(e[74]=i=>O.pay_remark=i),type:"textarea",rows:3,maxlength:"200","show-word-limit":"",placeholder:"支付说明(选填)"},null,8,["modelValue"])]),_:1})],64)):(u(),g(f,{key:1,label:"选择支付单",prop:"link_pay_order_id"},{default:n(()=>[l($,{modelValue:O.link_pay_order_ids,"onUpdate:modelValue":e[75]||(e[75]=i=>O.link_pay_order_ids=i),class:"w-full",placeholder:"选择未绑定的支付单(可多选)",loading:na.value,multiple:"","collapse-tags":"","collapse-tags-tooltip":""},{default:n(()=>[(u(!0),m(D,null,B(wt.value,i=>(u(),g(y,{key:i.id,label:`${i.order_no} · ¥${i.amount} · ${Zt(i.order_type)}`,value:i.id},{default:n(()=>[a("div",wd,[a("span",Sd,r(i.order_no),1),a("span",Vd,"¥"+r(i.amount),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading"]),e[206]||(e[206]=a("div",{class:"text-xs text-gray-500 mt-1.5"}," 仅显示本诊单下未被其他业务订单占用的支付单,可同时选择多个 ",-1))]),_:1})),l(f,{label:"完单申请"},{default:n(()=>[l(ua,{modelValue:O.completion_request,"onUpdate:modelValue":e[76]||(e[76]=i=>O.completion_request=i)},{default:n(()=>[l(Ae,{value:0},{default:n(()=>[...e[207]||(e[207]=[p("不申请",-1)])]),_:1}),l(Ae,{value:1},{default:n(()=>[...e[208]||(e[208]=[p("申请完成订单",-1)])]),_:1})]),_:1},8,["modelValue"]),e[209]||(e[209]=a("div",{class:"text-xs text-gray-400 mt-1"},' 选择"申请完成订单"后,审核人员可在支付审核时看到此申请 ',-1))]),_:1})]),_:1},8,["model"])),[[ye,kt.value]])]),_:1},8,["modelValue"]),l(ce,{modelValue:Ue.value,"onUpdate:modelValue":e[83]||(e[83]=i=>Ue.value=i),title:"修改处方患者信息",width:"92%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:gl},{footer:n(()=>[l(S,{onClick:e[82]||(e[82]=i=>Ue.value=!1)},{default:n(()=>[...e[212]||(e[212]=[p("取消",-1)])]),_:1}),l(S,{type:"primary",loading:Kt.value,onClick:xl},{default:n(()=>[...e[213]||(e[213]=[p(" 保存 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(F,{ref_key:"patchRxPatientFormRef",ref:Yt,model:ae,rules:fl,"label-width":"96px"},{default:n(()=>[l(f,{label:"患者姓名",prop:"patient_name"},{default:n(()=>[l(k,{modelValue:ae.patient_name,"onUpdate:modelValue":e[80]||(e[80]=i=>ae.patient_name=i),maxlength:"50","show-word-limit":"",placeholder:"与处方笺一致",clearable:""},null,8,["modelValue"])]),_:1}),l(f,{label:"手机",prop:"phone"},{default:n(()=>[l(k,{modelValue:ae.phone,"onUpdate:modelValue":e[81]||(e[81]=i=>ae.phone=i),maxlength:"20",placeholder:"处方登记手机号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(oa,{modelValue:St.value,"onUpdate:modelValue":e[84]||(e[84]=i=>St.value=i),size:"100%",direction:"btt",class:"po-h5-drawer","close-on-click-modal":!1},{header:n(()=>[a("div",Nd,[e[216]||(e[216]=a("span",{class:"text-base font-medium text-gray-800"},"查看处方",-1)),h.value&&!Vt.value?(u(),m("div",Pd,[l(S,{size:"small",loading:Pe.value,onClick:un},{default:n(()=>[...e[214]||(e[214]=[p(" 下载图片 ",-1)])]),_:1},8,["loading"]),l(S,{size:"small",loading:Pe.value,onClick:dn},{default:n(()=>[...e[215]||(e[215]=[p(" 下载PDF ",-1)])]),_:1},8,["loading"])])):v("",!0)])]),default:n(()=>[T((u(),m("div",Cd,[h.value?(u(),m("div",Ad,[Number(h.value.void_status)===1?(u(),g(d,{key:0,type:"danger",size:"small"},{default:n(()=>[...e[217]||(e[217]=[p("已作废",-1)])]),_:1})):Number(h.value.business_prescription_audit_rejected)===1?(u(),g(d,{key:1,type:"danger",size:"small"},{default:n(()=>[...e[218]||(e[218]=[p("业务订单已驳回",-1)])]),_:1})):Number(h.value.audit_status)===1?(u(),g(d,{key:2,type:"success",size:"small"},{default:n(()=>[...e[219]||(e[219]=[p("已通过",-1)])]),_:1})):Number(h.value.audit_status)===0?(u(),g(d,{key:3,type:"warning",size:"small"},{default:n(()=>[...e[220]||(e[220]=[p("待审核",-1)])]),_:1})):(u(),g(d,{key:4,type:"danger",size:"small"},{default:n(()=>[...e[221]||(e[221]=[p("已驳回",-1)])]),_:1}))])):v("",!0),h.value&&Number(h.value.void_status)===1?(u(),m("div",Td," 作废人:"+r(h.value.void_by_name||"—")+",作废时间:"+r(sn(h.value.void_time)),1)):h.value&&Number(h.value.business_prescription_audit_rejected)===1?(u(),m("div",Od,[e[222]||(e[222]=a("div",{class:"font-medium"},"审核状态:已驳回(业务订单·处方审核)",-1)),h.value.business_prescription_audit_remark?(u(),m("div",Rd," 驳回意见:"+r(h.value.business_prescription_audit_remark),1)):v("",!0)])):h.value&&Number(h.value.audit_status)===2?(u(),m("div",Ed,[e[223]||(e[223]=a("div",{class:"font-medium"},"消费者处方审核:已驳回",-1)),h.value.audit_remark?(u(),m("div",Dd,"驳回意见:"+r(h.value.audit_remark),1)):v("",!0)])):v("",!0),h.value?(u(),m("div",{key:4,ref_key:"prescriptionSlipPrintRef",ref:Qa,class:"rx-paper"},[a("div",{class:"rx-title"},r(Gl)),a("div",$d,[e[228]||(e[228]=a("span",{class:"rx-notice-text"}," 服药前请核对姓名、电话、医生等信息以及服法、医嘱等要点 ",-1)),a("div",Ud,[a("div",zd,[e[224]||(e[224]=a("span",{class:"rx-meta-label"},"日期",-1)),a("span",Fd,r(Kl.value),1)]),a("div",Id,[e[225]||(e[225]=a("span",{class:"rx-meta-label"},"处方编号",-1)),a("span",jd,r(Yl.value),1)]),a("div",Ld,[e[226]||(e[226]=a("span",{class:"rx-meta-label"},"流转编号(挂号)",-1)),a("span",qd,r(Ql.value),1)]),Ja.value?(u(),m("div",Md,[e[227]||(e[227]=a("span",{class:"rx-meta-label"},"业务单号",-1)),a("span",Bd,r(Ja.value),1)])):v("",!0)])]),a("div",Hd,[a("div",Gd,[a("div",Wd,[e[229]||(e[229]=a("span",{class:"rx-key"},"姓名",-1)),a("span",Kd,r(h.value.patient_name||"—"),1)]),a("div",Yd,[e[230]||(e[230]=a("span",{class:"rx-key"},"性别",-1)),a("span",Qd,r(ln(h.value.gender)),1)]),a("div",Jd,[e[231]||(e[231]=a("span",{class:"rx-key"},"年龄",-1)),a("span",Xd,r(nn(h.value.age)),1)]),a("div",Zd,[e[232]||(e[232]=a("span",{class:"rx-key"},"电话",-1)),a("span",ep,r(h.value.phone||h.value.recipient_phone||"—"),1)])]),a("div",tp,[a("div",ap,[e[233]||(e[233]=a("span",{class:"rx-key"},"收件信息",-1)),a("span",sp,r(Jl.value),1)])]),a("div",lp,[a("div",np,[e[234]||(e[234]=a("span",{class:"rx-key"},"临床诊断",-1)),a("span",ip,r(h.value.clinical_diagnosis||"—"),1)])])]),a("div",rp,[e[235]||(e[235]=a("div",{class:"rx-watermark"},"药房联",-1)),e[236]||(e[236]=a("div",{class:"rx-rp-head"},[a("div",{class:"rx-rp-label"},"Rp."),a("div",{class:"rx-rp-cols-head"},[a("div",{class:"rx-rp-col-head"},[a("span",null,"用药 (单剂)"),a("span",null,"总量")]),a("div",{class:"rx-rp-col-head"},[a("span",null,"用药 (单剂)"),a("span",null,"总量")])])],-1)),a("div",op,[(u(!0),m(D,null,B(Nt.value,(i,C)=>(u(),m("div",{key:C,class:"rx-herb-cell"},[a("span",up,r(i.name)+" ("+r(i.dosage)+"克)",1),a("span",dp,r(Zl(i.dosage))+"克",1)]))),128))])]),a("div",pp,[a("p",null,"服法:"+r(tn.value),1),Za.value?(u(),m("p",cp,"医嘱:"+r(Za.value),1)):v("",!0),es.value?(u(),m("p",_p,"备注:"+r(es.value),1)):v("",!0),ts.value?(u(),m("p",mp," 药房备注:"+r(ts.value),1)):v("",!0),as.value?(u(),m("p",fp," 出丸:"+r(as.value),1)):v("",!0)]),a("div",vp,[a("div",gp,[a("div",yp,[e[237]||(e[237]=a("div",{class:"rx-bot-label rx-bot-label--doctor"},"医师",-1)),a("div",bp,[h.value.doctor_signature?(u(),m("img",{key:0,src:h.value.doctor_signature,alt:"医师签名",class:"rx-bot-sign-img"},null,8,xp)):v("",!0)])]),a("div",kp,[e[238]||(e[238]=a("span",{class:"rx-bot-meta-key"},"类型:",-1)),a("span",hp,r(en.value),1)]),a("div",wp,[e[239]||(e[239]=a("span",{class:"rx-bot-meta-key"},"天数:",-1)),a("span",Sp,r(c.value.medication_days!=null&&String(c.value.medication_days).trim()!==""?c.value.medication_days+" 天":"—"),1)]),a("div",Vp,[e[240]||(e[240]=a("span",{class:"rx-bot-meta-key"},"剂量:",-1)),a("span",Np,r(Xl.value)+"克",1)])])]),e[241]||(e[241]=a("div",{class:"rx-bot-row rx-hospital-row"},[a("div",{class:"rx-hospital-line"},"成都双流甄养堂互联网医院有限公司 联系方式:4001667339"),a("div",{class:"rx-hospital-line"},"地址:四川省成都市双流区黄甲街道黄龙大道二段280号")],-1))],512)):v("",!0),h.value&&(h.value.audit_by_name||h.value.audit_remark)?(u(),m("div",Pp,[h.value.audit_by_name?(u(),m("div",Cp,[p(" 审核人:"+r(h.value.audit_by_name)+" ",1),h.value.audit_time?(u(),m("span",Ap,r(ss(h.value.audit_time)),1)):v("",!0)])):v("",!0),h.value.audit_remark?(u(),m("div",Tp,"审核意见:"+r(h.value.audit_remark),1)):v("",!0)])):v("",!0)])),[[ye,Vt.value]])]),_:1},8,["modelValue"]),l(oa,{modelValue:vt.value,"onUpdate:modelValue":e[85]||(e[85]=i=>vt.value=i),title:"甘草预下单测试结果",size:"100%",direction:"btt",class:"po-h5-drawer","destroy-on-close":""},{default:n(()=>{var i,C;return[z.value?(u(),m("div",Op,[l(s,{shadow:"never",class:"mb-4"},{header:n(()=>[a("div",Rp,[e[243]||(e[243]=a("span",{class:"font-semibold"},"价格信息",-1)),l(d,{type:"success"},{default:n(()=>[...e[242]||(e[242]=[p("预下单成功",-1)])]),_:1})])]),default:n(()=>[l(Ye,{column:2,border:""},{default:n(()=>[l(V,{label:"药材成本"},{default:n(()=>{var N;return[a("span",Ep,"¥"+r(((N=z.value.fee)==null?void 0:N.m_cost)||"0.00"),1)]}),_:1}),l(V,{label:"制作费"},{default:n(()=>{var N;return[a("span",Dp,"¥"+r((((N=z.value.fee)==null?void 0:N.proces_cost)||0).toFixed(2)),1)]}),_:1}),l(V,{label:"物流费"},{default:n(()=>{var N;return[a("span",$p,"¥"+r((((N=z.value.fee)==null?void 0:N.lis_cost)||0).toFixed(2)),1)]}),_:1}),l(V,{label:"总计"},{default:n(()=>[a("div",null,[a("span",Up," ¥"+r(Ha(z.value.fee)),1),T((u(),m("div",zp,[e[244]||(e[244]=p(" 占订单总金额: ",-1)),a("span",Fp,r(El(z.value.fee,z.value.amount)),1),z.value.amount>0?(u(),m("span",Ip,"%(预报价 ÷ 订单金额 × 100)")):v("",!0)])),[[q,["prescription.order/finance"]]])])]),_:1})]),_:1})]),_:1}),l(s,{shadow:"never",class:"mb-4"},{header:n(()=>[...e[245]||(e[245]=[a("span",{class:"font-semibold"},"配送信息",-1)])]),default:n(()=>[l(Ye,{column:2,border:""},{default:n(()=>[l(V,{label:"调配中心"},{default:n(()=>{var N;return[p(r(((N=z.value.result)==null?void 0:N.ds_name)||"—"),1)]}),_:1}),l(V,{label:"调配中心ID"},{default:n(()=>{var N;return[p(r(((N=z.value.result)==null?void 0:N.ds_id)||"—"),1)]}),_:1}),l(V,{label:"服用天数范围",span:2},{default:n(()=>{var N,I,Qe,Je,ue,be;return[p(r(((I=(N=z.value.result)==null?void 0:N.take_days)==null?void 0:I.min)||"—")+" - "+r(((Je=(Qe=z.value.result)==null?void 0:Qe.take_days)==null?void 0:Je.max)||"—")+" 天 (默认: "+r(((be=(ue=z.value.result)==null?void 0:ue.take_days)==null?void 0:be.default)||"—")+" 天) ",1)]}),_:1})]),_:1})]),_:1}),(C=(i=z.value.result)==null?void 0:i.rule_check)!=null&&C.length?(u(),g(s,{key:0,shadow:"never",class:"mb-4"},{header:n(()=>[...e[246]||(e[246]=[a("span",{class:"font-semibold"},"医嘱备注",-1)])]),default:n(()=>[a("div",jp,r(z.value.result.rule_check.map(N=>N.msg).join(" ")),1)]),_:1})):v("",!0),l(s,{shadow:"never"},{header:n(()=>{var N,I;return[a("div",Lp,[e[247]||(e[247]=a("span",{class:"font-semibold"},"药材明细",-1)),a("span",qp,"共 "+r(((I=(N=z.value.result)==null?void 0:N.m_list)==null?void 0:I.length)||0)+" 味药",1)])]}),default:n(()=>{var N;return[l(At,{data:((N=z.value.result)==null?void 0:N.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(r(I.quantity)+r(I.unit),1)]),_:1}),l(U,{prop:"price",label:"单价(元/克)",width:"110",align:"right"},{default:n(({row:I})=>[p(" ¥"+r(Number(I.price).toFixed(4)),1)]),_:1}),l(U,{label:"小计",width:"100",align:"right"},{default:n(({row:I})=>[a("span",Mp," ¥"+r((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(r(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(s,{shadow:"never",class:"mt-4"},{header:n(()=>[...e[248]||(e[248]=[a("span",{class:"font-semibold"},"订单信息",-1)])]),default:n(()=>[l(Ye,{column:2,border:""},{default:n(()=>[l(V,{label:"订单号",span:2},{default:n(()=>[p(r(z.value.order_no||"—"),1)]),_:1}),l(V,{label:"剂数"},{default:n(()=>[a("span",Bp,r(z.value.dose_count||"—")+"剂",1)]),_:1}),l(V,{label:"单剂量"},{default:n(()=>{var N;return[a("span",Hp,r(Dl((N=z.value.result)==null?void 0:N.m_list))+"克 ",1)]}),_:1})]),_:1})]),_:1})])):v("",!0)]}),_:1},8,["modelValue"]),l(R(vs),{ref_key:"diagnosisViewRef",ref:ca},null,512)])}}}),Ic=Ri(Wp,[["__scopeId","data-v-fa902c3c"]]);export{Ic as default};
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-qfcy1F7Q.js","assets/element-plus-lurTijPg.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/tcm-Bt45zV2E.js","assets/index-FimllnSe.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-cWYbZtDX.css","assets/perm-B9Vga-ll.js","assets/DailyMatrix-Dfw8exqW.js","assets/picker-cRsNDKaC.js","assets/index-DPukmZrj.js","assets/index-B3imPWFk.css","assets/index-C4BsY_iD.js","assets/index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js","assets/index-BFPN4E1c.js","assets/index-D0f1Mn00.css","assets/index-DWt-lpdR.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-C3a0qLlq.js","assets/index.vue_vue_type_script_setup_true_lang-SfFZFG0h.js","assets/usePaging-VsbTxSU0.js","assets/index-BYOmK9R5.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-D5mxeWbj.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-AmWwwWJ0.css","assets/CaseRecordList-BW_m8xqj.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-Bk5GEVcd.js","assets/RecordingPlaybackBlock-DItf6HnF.js","assets/RecordingVideoPlayer-BPVkKT7p.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-BAfEn0HT.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-DvCcA-OV.js","assets/AssignLogPanel-DkQMoEkX.css","assets/AppointmentRecordPanel-CAPYAK64.js","assets/doctor-BjRQM6dq.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-VfiQpcyr.js","assets/patient-DTMlM6EZ.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-B2aHTmWb.js","assets/PatientOrderList-Dx28GIXs.css","assets/index-CXug2Sda.js","assets/index-iHo5Ahae.js","assets/medicine-ZjBK9PzB.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-j-ocBozB.css","assets/edit-B0YJchTk.css","assets/TrackingNoteTimeline-B9T8pFso.css"])))=>i.map(i=>d[i]);
+import{_ as fn,E as vn}from"./jspdf-BsthCvR5.js";import{J as gn,d as yn,L as bn,T as xn,D as kn,B as hn,C as wn,P as Sn,Q as Vn,Z as Nn,i as Pn,W as Cn,p as An,n as Tn,o as On,a9 as Rn,K as En,a6 as Dn,a7 as $n,a4 as Un,a5 as zn,aa as Fn,ab as In,M as jn,N as Ln,S as qn,ac as Mn,ad as Bn,e as Hn,h as Gn,V as Wn,r as Kn,a8 as Yn,k as Qn,j as Jn,g as Xn,G as Zn,I as ei,a as Xe}from"./element-plus-lurTijPg.js";import{_ as ti}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{w as Ze,q as Tt,s as Ot}from"./@vue/runtime-dom-DDAG46FW.js";import{k as ai,G as si,R as li,V as ni,N as da,e as ps,i as ii,X as ri,L as oi,l as ui}from"./@element-plus/icons-vue-HOEUG8sr.js";import{_ as di}from"./index.vue_vue_type_script_setup_true_lang-BL8k8rcl.js";import{g as pi,a as ci,l as _i,t as mi,v as fi,w as vi,u as ee,x as cs,y as gi,z as yi,A as bi,B as _s,C as xi,D as ki,E as hi,G as wi,H as Si,I as Vi,J as Ni,c as Pi,b as pa,s as Ci}from"./tcm-Bt45zV2E.js";import Ai from"./html2canvas-QH1iLAAe.js";import{u as Ti,i as A,m as Oi,_ as Ri}from"./index-FimllnSe.js";import{d as Ei}from"./department-Du2ww-GD.js";import{u as Di}from"./usePaging-VsbTxSU0.js";import{f as fs,w as ms,b as $i,as as Ui,ak as u,I as m,J as a,a as l,aN as n,F as D,ap as B,H as v,aP as T,O as p,G as g,P as zi,A as w,n as Rt}from"./@vue/runtime-core-C6bnekPw.js";import{o as j,Q as r}from"./@vue/shared-mAAVTE9n.js";import{y as R,a as Fi,n as x,r as xe}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ii={class:"prescription-order-page prescription-order-list prescription-order-h5 po-h5-app"},ji={class:"flex flex-col gap-3"},Li={key:0,class:"flex items-center gap-2 flex-wrap"},qi=["onClick"],Mi={class:"font-medium"},Bi={class:"flex items-center gap-2 flex-wrap"},Hi=["onClick"],Gi={class:"font-medium"},Wi={class:"flex items-center gap-2 flex-wrap"},Ki=["onClick"],Yi={class:"font-medium"},Qi={class:"flex items-center gap-2 flex-wrap"},Ji=["onClick"],Xi={class:"font-medium"},Zi={class:"flex items-center gap-2 flex-wrap"},er=["onClick"],tr={class:"font-medium"},ar={class:"po-list-stats grid grid-cols-1 sm:grid-cols-2 gap-4 mb-5"},sr={class:"po-stat-surface po-stat-surface--order relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},lr={class:"relative flex items-start justify-between gap-3"},nr={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},ir={class:"mt-2 space-y-1.5 min-w-0"},rr={class:"text-2xl sm:text-[28px] font-bold text-sky-700 tabular-nums leading-none"},or={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},ur={class:"text-slate-400"},dr={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-sky-500/10 flex items-center justify-center text-sky-600"},pr={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},cr={class:"po-stat-surface po-stat-surface--pay relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},_r={class:"relative flex items-start justify-between gap-3"},mr={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},fr={class:"mt-2 space-y-1.5 min-w-0"},vr={class:"text-2xl sm:text-[28px] font-bold text-emerald-700 tabular-nums leading-none"},gr={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},yr={class:"text-slate-400"},br={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-emerald-500/10 flex items-center justify-center text-emerald-600"},xr={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},kr={class:"po-filter-toggle__label"},hr={class:"po-h5-list-head"},wr={class:"po-table-toolbar"},Sr={class:"po-table-toolbar__title-wrap"},Vr={class:"po-table-hint text-gray-400"},Nr={class:"po-focus-board"},Pr={class:"po-focus-board__value"},Cr={class:"po-focus-board__value"},Ar={class:"po-focus-board__value"},Tr={class:"po-focus-board__value"},Or={class:"po-card-list"},Rr=["onClick"],Er={class:"po-card__head"},Dr={class:"po-card__order-no"},$r={class:"po-card__order-no-main"},Ur={class:"po-card__tags"},zr={class:"po-card__id"},Fr={key:0,class:"po-card__alert"},Ir={class:"po-card__row"},jr={class:"po-card__field"},Lr={class:"po-card__value"},qr={class:"po-card__field po-card__field--right"},Mr={class:"po-card__value po-card__amount"},Br={class:"po-card__row"},Hr={class:"po-card__field"},Gr={class:"po-card__field po-card__field--right"},Wr={class:"po-card__value"},Kr={class:"po-card__row"},Yr={class:"po-card__field"},Qr={class:"po-card__value"},Jr={class:"po-card__field po-card__field--right"},Xr={class:"po-card__value"},Zr={key:1,class:"po-card__row"},eo={class:"po-card__field"},to={class:"po-card__value text-orange-600 font-semibold"},ao={class:"po-card__field po-card__field--right"},so={class:"po-card__value"},lo={key:0,class:"text-primary"},no={key:1},io={key:2,class:"po-card__row"},ro={class:"po-card__field"},oo={class:"po-card__value"},uo={key:0,class:"text-primary"},po={key:1},co={class:"po-card__field po-card__field--right"},_o={class:"po-card__value po-card__time"},mo={class:"po-card__tags-row"},fo={class:"po-card__meta"},vo={key:0},go={key:1},yo={key:2,class:"po-card__meta-time"},bo={class:"flex justify-end mt-4"},xo={class:"po-detail-drawer-head flex w-full min-w-0 flex-col gap-2"},ko={class:"po-detail-drawer-head-main flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1"},ho={key:0,class:"po-detail-drawer-actions flex flex-wrap items-center gap-2"},wo={key:1,class:"po-detail-body px-6 pb-6 h-full overflow-y-auto"},So={class:"min-w-0 break-words text-sm leading-relaxed"},Vo={class:"font-mono font-semibold text-red-700"},No={class:"font-mono font-semibold text-red-700"},Po={class:"po-workflow-steps-wrap bg-gray-50/80 border border-gray-100 rounded-lg p-5 mb-5 shadow-sm"},Co={key:0,class:"text-red-500 font-medium"},Ao={key:1},To={key:2,class:"text-green-600"},Oo={key:3,class:"text-gray-400"},Ro={key:0,class:"text-red-500 font-medium"},Eo={key:1},Do={key:2,class:"text-green-600"},$o={key:3,class:"text-gray-400"},Uo={key:0,class:"text-amber-600 font-medium"},zo={key:1,class:"text-primary font-medium"},Fo={key:2},Io={key:3,class:"text-green-600"},jo={key:4,class:"text-red-500 font-medium"},Lo={class:"flex items-center justify-between mb-1"},qo={class:"stat-value text-red-500 font-bold text-xl"},Mo={class:"stat-value text-green-600 font-bold text-xl"},Bo={class:"stat-value text-primary font-bold text-xl"},Ho={class:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4"},Go={key:0,class:"audit-stamp stamp-pass"},Wo={key:1,class:"audit-stamp stamp-reject"},Ko={class:"po-panel-rx-header flex w-full min-w-0 flex-col gap-2"},Yo={class:"flex w-full min-w-0 flex-wrap items-center justify-between gap-x-2 gap-y-1"},Qo={class:"shrink-0 text-xs text-gray-400 tabular-nums"},Jo={key:0,class:"min-w-0 text-xs leading-snug text-gray-500"},Xo={class:"text-primary font-medium"},Zo={class:"flex w-full min-w-0 flex-wrap items-center gap-x-3 gap-y-1"},eu={class:"text-red-500 font-medium"},tu={key:1,class:"ml-2 text-gray-500"},au={class:"flex flex-col gap-1.5 text-sm leading-relaxed"},su={key:0,class:"mt-4"},lu={class:"flex flex-col gap-4 h-full"},nu={class:"text-red-500"},iu={key:0,class:"audit-stamp stamp-pass"},ru={key:1,class:"audit-stamp stamp-reject"},ou={class:"flex items-center justify-between"},uu={class:"flex items-center gap-3"},du={key:0,class:"text-xs text-gray-500"},pu={class:"text-primary font-medium"},cu={class:"text-red-500"},_u={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"},mu={class:"flex min-w-0 flex-col gap-1"},fu={class:"font-mono text-[1.125rem] font-semibold leading-tight tracking-tight text-slate-900 tabular-nums"},vu={class:"flex flex-wrap items-center gap-x-4 gap-y-1 text-[13px]"},gu={class:"font-mono text-primary"},yu={class:"text-gray-500"},bu={key:0},xu={key:1,class:"text-gray-500"},ku={key:0,class:"text-xs text-gray-500 mt-1"},hu={key:1,class:"text-gray-400"},wu={class:"po-audit-remark"},Su={class:"po-audit-remark"},Vu={class:"po-logistics-toolbar flex flex-wrap items-center gap-2 mb-4"},Nu={class:"po-logistics-toolbar__links flex items-center gap-3 w-full pt-1"},Pu={key:1,class:"py-6 text-center text-sm text-gray-500"},Cu={key:2,class:"logistics-content bg-gray-50/50 p-4 rounded-md"},Au={key:0,class:"text-sm mb-4 font-medium flex items-center gap-2"},Tu={class:"text-gray-800"},Ou={key:1,class:"text-xs text-gray-400 ml-1"},Ru={key:2,class:"text-xs text-gray-400"},Eu={class:"flex items-center gap-2 mb-1"},Du={class:"font-medium text-[13px]"},$u={class:"text-sm text-gray-700 font-medium"},Uu={class:"create-order-dialog__inner"},zu={key:0,class:"create-order-rx-card"},Fu={class:"create-order-rx-card__head"},Iu={class:"create-order-rx-card__meta"},ju={class:"create-order-rx-card__id"},Lu={key:0,class:"create-order-rx-card__sn"},qu={class:"create-order-rx-card__patient"},Mu={class:"create-order-rx-card__herbs"},Bu={class:"create-order-step-lead"},Hu={class:"create-order-step-panel"},Gu={class:"create-order-step-panel"},Wu={class:"flex flex-wrap items-center gap-2 pb-2 border-b border-gray-100"},Ku={class:"text-xs text-gray-400"},Yu={class:"mt-2 space-y-1.5 text-xs sm:text-sm"},Qu={key:0,class:"space-y-1.5"},Ju={class:"text-gray-800 break-all"},Xu={key:1,class:"text-gray-400"},Zu={class:"flex items-center gap-1 w-full"},ed={class:"flex gap-2 w-full"},td={class:"flex flex-col gap-0.5",style:{"line-height":"normal"}},ad={class:"flex items-center justify-between"},sd={class:"font-medium text-[13px] text-gray-800"},ld={class:"text-orange-500 font-medium ml-4"},nd={class:"flex items-center justify-between text-xs text-gray-400 mt-1"},id={class:"truncate pr-2"},rd={class:"shrink-0"},od={class:"create-order-pay-hint text-gray-500"},ud={class:"text-amber-600 font-medium"},dd={class:"create-order-step-panel"},pd={class:"create-order-deposit-bar__cell"},cd={class:"create-order-deposit-bar__sub"},_d={class:"create-order-deposit-bar__cell"},md={class:"create-order-deposit-bar__sub"},fd={class:"create-order-footer"},vd={class:"create-order-footer__hint"},gd={class:"create-order-footer__step"},yd={key:0,class:"create-order-footer__warn"},bd={class:"create-order-footer__actions"},xd={class:"text-sm"},kd={class:"text-gray-600"},hd={class:"text-gray-600"},wd={class:"flex items-center justify-between"},Sd={class:"text-sm"},Vd={class:"text-orange-500 font-medium ml-4"},Nd={class:"flex items-center justify-between w-full pr-2 gap-3"},Pd={key:0,class:"flex items-center gap-2 shrink-0"},Cd={class:"rx-wrap"},Ad={key:0,class:"rx-statusbar"},Td={key:1,class:"rx-status rx-status-danger"},Od={key:2,class:"rx-status rx-status-danger"},Rd={key:0,class:"mt-1"},Ed={key:3,class:"rx-status rx-status-danger"},Dd={key:0,class:"mt-1"},$d={class:"rx-notice"},Ud={class:"rx-notice-meta"},zd={class:"rx-meta-item"},Fd={class:"rx-meta-value"},Id={class:"rx-meta-item"},jd={class:"rx-meta-value"},Ld={class:"rx-meta-item"},qd={class:"rx-meta-value"},Md={key:0,class:"rx-meta-item"},Bd={class:"rx-meta-value"},Hd={class:"rx-info"},Gd={class:"rx-info-row"},Wd={class:"rx-info-cell"},Kd={class:"rx-val"},Yd={class:"rx-info-cell"},Qd={class:"rx-val"},Jd={class:"rx-info-cell"},Xd={class:"rx-val"},Zd={class:"rx-info-cell"},ep={class:"rx-val"},tp={class:"rx-info-row rx-info-row-full"},ap={class:"rx-info-cell"},sp={class:"rx-val"},lp={class:"rx-info-row rx-info-row-full"},np={class:"rx-info-cell"},ip={class:"rx-val"},rp={class:"rx-rp"},op={class:"rx-herbs"},up={class:"rx-herb-name"},dp={class:"rx-herb-total"},pp={class:"rx-text"},cp={key:0},_p={key:1},mp={key:2,class:"rx-text-warn"},fp={key:3,class:"rx-text-warn"},vp={class:"rx-bottom"},gp={class:"rx-bot-row rx-bot-row-1"},yp={class:"rx-bot-cell rx-bot-doctor"},bp={class:"rx-bot-doctor-body"},xp=["src"],kp={class:"rx-bot-cell rx-bot-meta"},hp={class:"rx-bot-meta-val"},wp={class:"rx-bot-cell rx-bot-meta"},Sp={class:"rx-bot-meta-val"},Vp={class:"rx-bot-cell rx-bot-meta"},Np={class:"rx-bot-meta-val"},Pp={key:5,class:"rx-audit"},Cp={key:0},Ap={key:0,class:"ml-2 text-gray-400"},Tp={key:1,class:"mt-1"},Op={key:0,class:"px-4"},Rp={class:"flex items-center justify-between"},Ep={class:"text-lg font-semibold text-orange-600"},Dp={class:"text-lg font-semibold text-blue-600"},$p={class:"text-lg font-semibold text-green-600"},Up={class:"text-xl font-bold text-red-600"},zp={class:"text-sm text-gray-500 mt-1.5"},Fp={class:"font-medium text-gray-700"},Ip={key:0},jp={class:"text-sm text-gray-700 leading-relaxed"},Lp={class:"flex items-center justify-between"},qp={class:"text-sm text-gray-500"},Mp={class:"font-medium text-orange-600"},Bp={class:"text-base font-medium"},Hp={class:"text-base font-medium"},Gp=fs({name:"prescriptionOrderListH5"}),Wp=fs({...Gp,setup(Kp){const vs=zi(()=>fn(()=>import("./edit-qfcy1F7Q.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98]))),_e=Ti(),ca=x(null);function gs(){var e,s;const t=Number((e=c.value)==null?void 0:e.diagnosis_id);if(!t){A.msgWarning("本订单未关联诊单,无法查看患者诊单信息");return}(s=ca.value)==null||s.openViewOnly(t)}const ys=2,bs=6,_a=[3,8],xs=[0,3,6],ks=w(()=>{const t=_e.userInfo;if(!t||Number(t.root)===1)return!1;const e=Array.isArray(t.role_ids)?t.role_ids.map(s=>Number(s)):[];return e.includes(bs)?!_a.some(s=>e.includes(s)):!1}),hs=w(()=>{const t=_e.userInfo;if(!t)return!1;if(Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(s=>Number(s)):[];return _a.some(s=>e.includes(s))}),ws=w(()=>ks.value||hs.value),ma=x([]),me=w(()=>{const t=_e.userInfo;if(!t||Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(s=>Number(s)):[];return e.includes(ys)?e.some(s=>xs.includes(s)):!0}),Ss=w(()=>me.value?"详情/审核":"详情"),Vs=[0,3,6],fa=()=>{const t=_e.userInfo;if(!t)return!1;if(Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(s=>Number(s)):[];return Vs.some(s=>e.includes(s))},et=x([]),Te=x([]),Et=x([]),Oe=x([]),tt=x([]),Ns={value:"id",label:"name",children:"children"};function va(t,e){for(const s of t||[]){if(s==null||typeof s!="object")continue;const o=s;if(Number(o.id)===e)return o;const d=va(o.children||[],e);if(d)return d}return null}function ga(t){const e=Number(t.id),s=[];Number.isFinite(e)&&e>0&&s.push(e);for(const o of t.children||[])o&&typeof o=="object"&&s.push(...ga(o));return s}function Ps(t,e){const s=va(e,t);return s?ga(s):[t]}async function Cs(){try{const[t,e,s]=await Promise.all([pi(),ci(),Ei()]);Et.value=Array.isArray(t)?t:[],Oe.value=Array.isArray(e)?e:[];const o=Array.isArray(s)?s:[];tt.value=o}catch{Et.value=[],Oe.value=[],tt.value=[]}}const As=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(o=>{var d;return{value:o.city,label:o.city,code:o.code,children:((d=o.areas)==null?void 0:d.map(f=>({value:f.area,label:f.area,code:f.code})))||[]}}))||[]}}),Ts=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),et.value=As(s),console.log("regionOptions 已设置,条数:",et.value.length)}catch(t){console.error("加载省市区数据失败:",t),et.value=[]}},Os=async()=>{try{const t=await Oi({type:"server_order"});Te.value=((t==null?void 0:t.server_order)||[]).filter(e=>e.status!==0),console.log("服务套餐选项已加载:",Te.value.length)}catch(t){console.error("加载服务套餐选项失败:",t),Te.value=[]}},Rs=[{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 Es(t){te.value="",b.fulfillment_status=t,G()}const te=x(""),Ds=[{label:"全部",value:""},{label:"甘草",value:"gancao"},{label:"自营",value:"self"}];function $s(t){b.supply_mode=t,G()}const Us=[{label:"全部",value:""},{label:"顺丰",value:"sf"},{label:"京东",value:"jd"}];function zs(t){b.express_company=t,G()}const b=xe({start_time:"",end_time:"",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:""}),Fs=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}],Is=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}];function js(t){te.value="",b.prescription_audit_status=t,G()}function Ls(t){te.value="",b.payment_slip_audit_status=t,G()}function at(t){if(te.value===t){te.value="",b.prescription_audit_status="",b.payment_slip_audit_status="",b.fulfillment_status="",G();return}te.value=t,b.prescription_audit_status="",b.payment_slip_audit_status="",b.fulfillment_status="",t==="pendingRx"?b.prescription_audit_status=0:t==="pendingPay"?(b.prescription_audit_status=1,b.payment_slip_audit_status=0):t==="pendingShip"?b.fulfillment_status=2:t==="risk"&&(b.payment_slip_audit_status=2),G()}async function qs(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)&&delete e.fulfillment_status,(e.prescription_audit_status===""||e.prescription_audit_status===void 0)&&delete e.prescription_audit_status,(e.payment_slip_audit_status===""||e.payment_slip_audit_status===void 0)&&delete 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,!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(),o=String(e.end_time||"").trim();/^\d{4}-\d{2}-\d{2}$/.test(s)&&/^\d{4}-\d{2}-\d{2}$/.test(o)&&(e.start_time=`${s} 00:00:00`,e.end_time=`${o} 23:59:59`)}return _i(e)}const{pager:J,getLists:K,resetPage:G,resetParams:Ms}=Di({fetchFun:qs,params:b});ms(()=>{var t;return(t=J.extend)==null?void 0:t.audit_admin_options},t=>{Array.isArray(t)&&(ma.value=t.map(e=>{if(e==null||typeof e!="object")return null;const s=e,o=Number(s.id),d=String(s.name??"").trim();return!Number.isFinite(o)||o<=0||d===""?null:{id:o,name:d}}).filter(e=>e!=null))},{immediate:!0});const ya=w(()=>{const t=b.assistant_dept_id;if(t===""||t==null)return Oe.value;const e=Number(t);if(!Number.isFinite(e))return Oe.value;const s=new Set(Ps(e,tt.value));return Oe.value.filter(o=>{const d=o.dept_ids;return!Array.isArray(d)||d.length===0?!1:d.map(Number).some(f=>s.has(f))})});function Bs(){const t=b.assistant_id;if(t!==""&&t!=null){const e=Number(t);ya.value.some(o=>Number(o.id)===e)||(b.assistant_id="")}G()}const ne=w(()=>{const t=J.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),o=E=>{const pe=Number(E);return Number.isFinite(pe)?Math.round(pe*100)/100:0},d=E=>E.toFixed(2),f=(t==null?void 0:t.stats_order_amount_not_cancelled)!==void 0&&(t==null?void 0:t.stats_order_amount_cancelled)!==void 0,k=(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,y=o(f?t==null?void 0:t.stats_order_amount_not_cancelled:e),$=f?o(t==null?void 0:t.stats_order_amount_cancelled):0,Q=o(k?t==null?void 0:t.stats_linked_pay_amount_not_cancelled:s),S=k?o(t==null?void 0:t.stats_linked_pay_amount_cancelled):0,F=(t==null?void 0:t.stats_order_amount_performance)!==void 0?o(t==null?void 0:t.stats_order_amount_performance):y,re=(t==null?void 0:t.stats_linked_pay_amount_performance)!==void 0?o(t==null?void 0:t.stats_linked_pay_amount_performance):Q,ge=String((t==null?void 0:t.stats_time_start)??"").trim(),Ct=String((t==null?void 0:t.stats_time_end)??"").trim(),ia=ge&&Ct?`统计时间:${ge} ~ ${Ct}`:"统计时间:—",We=String((t==null?void 0:t.stats_scope)??"restricted");let le="统计口径:与当前列表数据可见范围一致";We==="all"?le="统计口径:支付单审核白名单角色,按全量订单;与下方筛选项(医生/医助/医助部门/患者等,不含「创建时间」)一致":We==="assistant"?le="统计口径:仅计诊单医助为本人且满足下方其它筛选项的订单":We==="own_rx"&&(le="统计口径:本人创建的订单 + 关联处方开方人为本人的订单(含医助代建);与下方筛选项(不含「创建时间」)一致");const Ke=String(b.start_time||"").trim()!==""&&String(b.end_time||"").trim()!==""?"区间":"今日";return{order:o(e),pay:o(s),orderStr:d(o(e)),payStr:d(o(s)),orderNotCancelledStr:d(y),orderCancelledStr:d($),payNotCancelledStr:d(Q),payCancelledStr:d(S),orderPerformanceStr:d(F),payPerformanceStr:d(re),orderHeading:`${Ke}业绩(业务订单额)`,payHeading:`${Ke}业绩(关联实付)`,periodLine:ia,scopeHint:le,orderSplitHint:"业绩 = 除履约已取消(4)外全部订单金额;下方为合计与已取消明细"}}),st=w(()=>{const t=J.extend,e=k=>{const y=Number(k);return!Number.isFinite(y)||y<0?0:Math.trunc(y)},s=e(t==null?void 0:t.focus_pending_rx_count),o=e(t==null?void 0:t.focus_pending_pay_count),d=e(t==null?void 0:t.focus_pending_ship_count),f=e(t==null?void 0:t.focus_risk_count);return{pendingRx:s,pendingPay:o,pendingShip:d,risk:f}});function Dt(t,e){const s=Number(e==null?void 0:e.prescription_audit_status),o=Number(e==null?void 0:e.payment_slip_audit_status),d=Number(e==null?void 0:e.fulfillment_status);return t==="rx"&&s===0||t==="pay"&&s===1&&o===0||t==="fulfillment"&&d===2?"po-status-tag is-focus":t==="rx"&&s===2||t==="pay"&&o===2||t==="fulfillment"&&d===4?"po-status-tag is-risk":"po-status-tag"}function lt({row:t}){const e=Number(t==null?void 0:t.prescription_audit_status),s=Number(t==null?void 0:t.payment_slip_audit_status),o=Number(t==null?void 0:t.fulfillment_status),d=pt(t==null?void 0:t.recipient_phone,t==null?void 0:t.prescription_phone);return e===2||s===2||d?"po-row-risk":e===0||e===1&&s===0||o===2?"po-row-focus":o===3||o===6?"po-row-done":""}ms(me,t=>{t||b.prescription_audit_status===""||b.prescription_audit_status===void 0||(b.prescription_audit_status="",G())},{immediate:!0});function Hs(){te.value="",b.start_time="",b.end_time="",b.order_no="",b.prescription_id="",b.patient_keyword="",b.express_keyword="",b.express_company="",b.doctor_id="",b.assistant_id="",b.assistant_dept_id="",b.fulfillment_status="",b.prescription_audit_status="",b.payment_slip_audit_status="",b.supply_mode="",b.audit_admin_id="",Ms()}function nt(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付费用",5:"尾款费用",6:"其他费用",7:"全部费用",8:"驼奶费用"}[Number(t)]??"—"}function Gs(t){if(!t)return"—";let e=[];return Array.isArray(t)?e=t:typeof t=="string"&&(e=t.split(",").filter(o=>o.trim()!=="")),e.length===0?"—":e.map(o=>{const d=Te.value.find(f=>f.value===o);return d?d.name:o}).join("、")}function ba(t){return t===1?"已通过":t===2?"已驳回":"待审核"}function xa(t){return t===1?"success":t===2?"danger":"info"}function $t(t){return{1:"待双审通过",2:"待发货",3:"已完成",4:"已取消",5:"已发货",6:"已签收",7:"进行中",8:"暂不制药",9:"拒收",10:"退款",11:"保留药方",12:"制药缓发"}[Number(t)]??"—"}function Ws(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 de(t){const e=Number(t);return Number.isNaN(e)?"—":e.toFixed(2)}function fe(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 Ks=[0,3];function ka(){const t=_e.userInfo;return t?Number(t.root)===1?!0:(Array.isArray(t.role_ids)?t.role_ids.map(s=>Number(s)):[]).some(s=>Ks.includes(s)):!1}function ha(t){var s;const e=Number((s=_e.userInfo)==null?void 0:s.id);return e>0&&Number(t.creator_id)===e}function wa(t){return Number(t.prescription_audit_status)===1&&Number(t.payment_slip_audit_status)===1}function Sa(t){const e=Number(t.fulfillment_status);if(e===3||e===4||ha(t)&&wa(t)&&!ka())return!1;const s=String(t.gancao_reciperl_order_no||"").trim(),o=Number(t.gancao_submit_time||0);return s!==""||o>0?[1,2,5,7].includes(e):e===1||e===2}function Ys(t){const e=Number(t.fulfillment_status);return e===3||e===4||e===6?!1:Number(t.prescription_audit_status)===0}function Qs(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 Js(t){const e=Number(t.fulfillment_status);if(e===3||e===4||e===6)return!1;const s=Number(t.prescription_audit_status),o=Number(t.payment_slip_audit_status);return(s===1||s===2)&&o===0}function Xs(t){const e=Number(t.fulfillment_status);if(e===3||e===4||e===6)return!1;const s=Number(t.prescription_audit_status),o=Number(t.payment_slip_audit_status);return s===1&&(o===1||o===2)}function Va(t){return Number(t.fulfillment_status)===1}function Ut(t){return Number(t.fulfillment_status)===2}function zt(t){const e=Number(t.fulfillment_status);return e===5||e===6}function Ft(t){const e=Number(t.fulfillment_status);return(e===5||e===6)&&Number(t.payment_slip_audit_status)===1}function Zs(t){return Number(t.fulfillment_status)===5}function Na(t){const e=Number(t.prescription_audit_status),s=String(t.gancao_reciperl_order_no||"").trim();return e===1&&s===""}function Pa(t){return{1:"待支付",2:"已支付",3:"已取消",4:"已退款",5:"待审核"}[Number(t)]??"—"}const it=x(!0),Ca=w(()=>{const t=b,e=["start_time","end_time","order_no","prescription_id","patient_keyword","express_keyword","doctor_id","assistant_dept_id","assistant_id"];let s=0;for(const o of e){const d=t[o];d!=null&&(typeof d=="string"&&d.trim()===""||Array.isArray(d)&&d.length===0||(s+=1))}return s});function el(t){return zt(t)||Ft(t)||Na(t)||Va(t)}function tl(t,e){t==="addPayOrder"?Ka(e):t==="complete"?Ya(e):t==="submitGancao"?zl(e):t==="withdraw"&&Rl(e)}function It(t){if(!(t!=null&&t.id))return!1;const e=Number(t.fulfillment_status);return e!==3&&e!==4}const X=x(!1),jt=x(!1),c=x(null),rt=w(()=>{if(!c.value)return 0;const t=Number(c.value.fulfillment_status),e=Number(c.value.prescription_audit_status),s=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:s===2?2:3:t===2?3:e===0||e===2?1:s===0||s===2?2:3}),ot=w(()=>{var e;const t=Number((e=c.value)==null?void 0:e.prescription_audit_status);return t===1?"success":t===2?"error":rt.value===1?"process":"wait"}),ut=w(()=>{var e;const t=Number((e=c.value)==null?void 0:e.payment_slip_audit_status);return t===1?"success":t===2?"error":rt.value===2?"process":"wait"}),ke=w(()=>{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||rt.value===3?"process":"wait"}),Lt=w(()=>{const t=c.value;if(!t)return[];const e=t.linked_pay_orders;return Array.isArray(e)?e:[]}),Aa=w(()=>{const t=c.value;if(!t)return 0;const e=Number(t.amount)||0,s=Number(t.linked_pay_paid_total)||0;return Math.round((e-s)*100)/100}),he=x([]);async function al(t,e,s){var o;if(!t){he.value=[];return}try{const d=await pa({diagnosis_id:t,prescription_order_id:e}),f=(d==null?void 0:d.lists)??((o=d==null?void 0:d.data)==null?void 0:o.lists)??[],k=Array.isArray(f)?f.filter(y=>!s.includes(y.id)):[];he.value=k}catch{he.value=[]}}function Ta(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 P=w(()=>{var e;const t=(e=c.value)==null?void 0:e.prescription;return t&&typeof t=="object"?t:null});function dt(t){return t==null?"":String(t).replace(/\s/g,"").trim()}function pt(t,e){const s=dt(t),o=dt(e);return!s||!o?!1:s!==o}const Re=w(()=>{var s,o;const t=(s=P.value)==null?void 0:s.phone,e=(o=c.value)==null?void 0:o.recipient_phone;return pt(e,t)}),sl=w(()=>{var e;return dt((e=P.value)==null?void 0:e.phone)||"—"}),ll=w(()=>{var e;return dt((e=c.value)==null?void 0:e.recipient_phone)||"—"}),W=w(()=>{var e;const t=(e=c.value)==null?void 0:e.linked_appointment;return t&&typeof t=="object"?t:null}),Oa=w(()=>{var e;const t=String(((e=W.value)==null?void 0:e.resolved_from)||"");return t==="prescription"?"处方绑定挂号":t==="diagnosis"?"诊单关联挂号":""}),Ra=w(()=>{var t;return Ta((t=P.value)==null?void 0:t.herbs)}),nl=w(()=>{var t;return((t=c.value)==null?void 0:t.prescription_detail_herbs_visible)!==!1}),il=w(()=>{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(" "):"—"}),Ea=w(()=>`${_.dose_unit||"剂"}数`);function rl(t){const e=Number(t);return e===1?"已通过":e===2?"已驳回":"待审核"}function ol(t){const e=Number(t);return e===1?"success":e===2?"danger":"warning"}function Da(t){const e=Number(t);return e===2?"success":e===1?"warning":"info"}function $a(t){return t==null||t===""?"—":typeof t=="string"&&String(t).includes("-")?String(t):fe(t)}const Ee=x("auto"),ct=x(!1),H=x(null),De=x("");let qt=0;function ul(){qt+=1,H.value=null}function Mt(t){var e,s;return t.requestSeq!==qt||Number((e=c.value)==null?void 0:e.id)!==t.orderId?!1:String(((s=c.value)==null?void 0:s.tracking_number)||"").trim()===t.trackingNumber}function dl(t,e,s){const o=(t==null?void 0:t.data)??t;if(!o||typeof o!="object")return null;const d=o,f=String(d.tracking_number||"").trim();if(f&&f!==e)return null;const k=Number(d.order_id);return k>0&&k!==s?null:d}const we=x([]),$e=x(!1),Bt=x(!1),_t=x(),ie=xe({id:0,amount:void 0}),pl={amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(t,e,s)=>{const o=Number(e);if(!Number.isFinite(o)||o<=0){s(new Error("订单金额必须大于0"));return}s()},trigger:"blur"}]};function cl(){const t=_e.perms||[];return t.includes("*")||t.includes("tcm.prescriptionOrder/logs")}async function Ht(t){if(!cl()){we.value=[];return}try{const e=await Ci({id:t});we.value=(e==null?void 0:e.data)??e??[]}catch{we.value=[]}}function _l(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:"甘草下单",patch_rx_patient:"处方患者信息",update_amount:"修改订单金额",complete:"完成订单"}[t]||t}const Gt=w(()=>{var s;const t=String(((s=c.value)==null?void 0:s.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}`}}),Ua=w(()=>{const t=H.value;return!t||!Array.isArray(t.traces)?[]:t.traces});function ml(t){const e=String(t||"").toLowerCase();return e==="sf"?"顺丰速运":e==="jd"?"京东快递":e==="jt"||e==="jtexpress"?"极兔速递":"自动识别"}async function Wt(){var d,f;const t=Number((d=c.value)==null?void 0:d.id),e=String(((f=c.value)==null?void 0:f.tracking_number)||"").trim();if(!t||!e)return;const o={requestSeq:++qt,orderId:t,trackingNumber:e};ct.value=!0;try{const k=String(De.value||"").replace(/\D/g,""),y={id:t,express_company:Ee.value};k.length>=4&&(y.phone_tail=k);const $=await mi(y);if(!Mt(o))return;H.value=dl($,e,t)}catch{if(!Mt(o))return;H.value=null}finally{Mt(o)&&(ct.value=!1)}}const Ue=x(!1),Kt=x(!1),Yt=x(),ae=xe({patient_name:"",phone:""}),fl={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]};function vl(){const t=P.value,e=c.value;if(!t||!(e!=null&&e.id)||!e.prescription_id){A.msgWarning("无处方数据");return}ae.patient_name=String(t.patient_name??"").trim(),ae.phone=String(t.phone??"").trim(),Ue.value=!0,Rt(()=>{var s;return(s=Yt.value)==null?void 0:s.clearValidate()})}function gl(){ae.patient_name="",ae.phone=""}function yl(){var t;ie.id=0,ie.amount=void 0,(t=_t.value)==null||t.clearValidate()}function bl(){const t=c.value;if(!It(t)){A.msgWarning("当前订单状态不允许修改金额");return}ie.id=Number(t==null?void 0:t.id)||0,ie.amount=Number(t==null?void 0:t.amount)||void 0,$e.value=!0,Rt(()=>{var e;return(e=_t.value)==null?void 0:e.clearValidate()})}async function za(){var e;const t=(e=c.value)==null?void 0:e.id;if(t)try{const s=await ee({id:t}),o=(s==null?void 0:s.data)??s??null;o&&(c.value=o)}catch{}}async function xl(){var s;const t=Yt.value;if(!t)return;try{await t.validate()}catch{return}const e=(s=c.value)==null?void 0:s.id;if(e){Kt.value=!0;try{await fi({id:e,patient_name:ae.patient_name.trim(),phone:ae.phone.trim()}),Ue.value=!1,await za(),await Ht(e)}catch(o){console.error(o)}finally{Kt.value=!1}}}async function Fa(){const t=_t.value;if(!t)return;try{await t.validate()}catch{return}if(!It(c.value)){A.msgWarning("当前订单状态不允许修改金额");return}const e=ie.id;Bt.value=!0;try{await vi({id:e,amount:Number(ie.amount)}),A.msgSuccess("修改成功"),$e.value=!1,await za(),await Ht(e),K()}catch{}finally{Bt.value=!1}}async function Ia(t){c.value=null,he.value=[],ul(),Ee.value="auto",De.value="",we.value=[],X.value=!0,jt.value=!0;try{const e=await ee({id:t}),s=(e==null?void 0:e.data)??e??null;if(c.value=s,s){Ee.value=String(s.express_company||"auto")||"auto";const o=String(s.recipient_phone||"").replace(/\D/g,"");De.value=o.length>=4?o:"",String(s.tracking_number||"").trim()&&Wt(),Ht(t);const d=s.diagnosis_id,f=s.pay_order_ids||[];d&&al(d,t,f)}}catch(e){A.msgError((e==null?void 0:e.message)||"加载失败"),X.value=!1}finally{jt.value=!1}}const ve=x(!1),Qt=x(!1),Jt=x(!1),L=x(0),se=x(null),kl=w(()=>["请核对收货信息,便于发货与物流联系。","按需填写服务与物流,并选择本诊单下需要关联的支付单。","确认费用类别与订单金额;保存前请对照定金门槛是否已满足。"][L.value]??""),ja=w(()=>{const t=se.value,e=Ta(t==null?void 0:t.herbs);if(!e.length)return"暂无药材明细";const s=e.map(o=>`${o.name} ${o.dosage}g`).join("、");return s.length>120?`${s.slice(0,120)}…`:s}),hl=["recipient_name","recipient_phone","region","shipping_address"],Se=x(),_=xe({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:""}),La=w(()=>{const t=String(_.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):[]}),ze=x([]),Xt=x(!1),M=x(0);function Zt(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(t)]||"未知"}const ea=w(()=>{const t=new Set(_.pay_order_ids.map(s=>Number(s)));let e=0;for(const s of ze.value)t.has(Number(s.id))&&(e+=Number(s.amount)||0);return Math.round(e*100)/100}),wl=w(()=>{const t=M.value;return t>0?Math.round(t*100)/100:0});async function Sl(t,e){var s,o;if(!t){ze.value=[];return}try{Xt.value=!0;const d=await pa({diagnosis_id:t,...e?{prescription_order_id:e}:{}}),f=(d==null?void 0:d.lists)??((s=d==null?void 0:d.data)==null?void 0:s.lists)??[];ze.value=Array.isArray(f)?f:[];const k=Number((d==null?void 0:d.deposit_min_amount)??((o=d==null?void 0:d.data)==null?void 0:o.deposit_min_amount));!Number.isNaN(k)&&k>=0&&(M.value=k)}catch{ze.value=[]}finally{Xt.value=!1}}const Vl=w(()=>{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,o)=>{const d=M.value,f=Number(s);if(d>0&&(!Number.isFinite(f)||f
Number(F)).filter(F=>!Number.isNaN(F)):[],_.internal_cost=s.internal_cost!=null&&s.internal_cost!==""?Number(s.internal_cost):void 0,await Sl(_.diagnosis_id,_.id),Rt(()=>{var F;(F=Se.value)==null||F.clearValidate()})}catch(e){A.msgError((e==null?void 0:e.message)||"加载异常"),ve.value=!1}finally{Qt.value=!1}}async function Tl(){if(!(!Se.value||L.value!==2)){await Se.value.validate(),Jt.value=!0;try{const t={id:_.id,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.join(","):"",express_company:_.express_company||"auto",tracking_number:_.tracking_number||"",fee_type:_.fee_type,amount:_.amount,remark_extra:_.remark_extra||"",remark_assistant:_.remark_assistant||"",medication_days:_.medication_days!=null&&String(_.medication_days).trim()!==""?_.medication_days:"",dose_unit:_.dose_unit||"剂",dose_count:_.dose_count||1,internal_cost:_.internal_cost!=null&&String(_.internal_cost).trim()!==""?_.internal_cost:""};_.region&&_.region.length>0?(t.shipping_province=_.region[0]||"",t.shipping_city=_.region[1]||"",t.shipping_district=_.region[2]||""):(t.shipping_province="",t.shipping_city="",t.shipping_district=""),t.pay_order_ids=[..._.pay_order_ids],await cs(t),A.msgSuccess("保存成功"),ve.value=!1,K()}catch{}finally{Jt.value=!1}}}const Fe=x(!1),ta=x("prescription"),mt=x(0),Ie=x(null),Ve=x(""),ft=x(!1),Ol=w(()=>ta.value==="prescription"?"处方业务审核":"关联支付单审核");function qa(t,e){ta.value=e,mt.value=t.id,Ie.value=t,Ve.value="",Fe.value=!0}async function Ma(t){if(t==="reject"&&!Ve.value.trim()){A.msgError("驳回或阻止时必须填写明确的审核意见");return}ft.value=!0;try{const e={id:mt.value,action:t,remark:Ve.value.trim()};if(ta.value==="prescription"?await gi(e):await yi(e),A.msgSuccess(t==="approve"?"审核通过成功":"已成功驳回该单"),Fe.value=!1,K(),X.value&&mt.value)try{const s=await ee({id:mt.value}),o=(s==null?void 0:s.data)??s??null;o&&(c.value=o)}catch{}}catch{}finally{ft.value=!1}}async function Rl(t){try{await Xe.confirm("确认撤回该业务订单?撤回后状态为「已取消」,未双审通过或双审均驳回等场景下均可安全撤回。","撤回警告",{type:"warning",confirmButtonText:"确定撤回",cancelButtonText:"暂不处理"}),await bi({id:t.id}),A.msgSuccess("撤回成功"),K()}catch{}}const Ba=x(0),vt=x(!1),Ne=x(!1),z=x(null);function Ha(t){if(!t)return"0.00";const e=Number(t.m_cost)||0,s=Number(t.proces_cost)||0,o=Number(t.lis_cost)||0;return(e+s+o).toFixed(2)}function El(t,e){const s=parseFloat(Ha(t))||0,o=Number(e)||0;return o<=0?"—":(s/o*100).toFixed(2)}function Dl(t){return!Array.isArray(t)||t.length===0?"0":t.reduce((s,o)=>s+(Number(o.quantity)||0),0).toFixed(0)}async function $l(){if(!_.id){A.msgError("请先保存订单");return}Ne.value=!0;try{const t=await _s({id:_.id,dose_count:_.dose_count||1,medication_days:_.medication_days||void 0}),e=(t==null?void 0:t.data)??t;e&&e.success&&(z.value=e,vt.value=!0,A.msgSuccess("预下单测试成功"))}catch{}finally{Ne.value=!1}}async function Ul(){var t;if(!((t=c.value)!=null&&t.id)){A.msgError("订单数据不存在");return}Ne.value=!0;try{const e=await _s({id:c.value.id,dose_count:c.value.dose_count||1,medication_days:c.value.medication_days||void 0}),s=(e==null?void 0:e.data)??e;s&&s.success&&(z.value=s,vt.value=!0)}catch{}finally{Ne.value=!1}}async function zl(t){var e;try{await Xe.confirm("将把本单关联处方提交至甘草药管家开放平台(先 CTM_PREVIEW 预检查再 CTM_SUBMIT_RECIPEL 正式下单;成功后将按甘草侧规则扣费,详见 https://apidoc.igancao.com/service-doc/scm-outer-recipel.html )。确定继续?","上传甘草药方",{type:"warning",confirmButtonText:"确定上传",cancelButtonText:"取消"}),Ba.value=t.id;const s=await xi({id:t.id}),o=(s==null?void 0:s.data)??s,d=(o==null?void 0:o.recipel_order_no)!=null?String(o.recipel_order_no):"";if(A.msgSuccess(d?`上传成功,甘草处方单号:${d}`:"上传成功"),K(),X.value&&Number((e=c.value)==null?void 0:e.id)===t.id)try{const f=await ee({id:t.id}),k=(f==null?void 0:f.data)??f??null;k&&(c.value=k)}catch{}}catch{}finally{Ba.value=0}}$i(async()=>{await Ts(),await Os(),await Cs(),K()});const je=x(!1),gt=x(!1),Le=x(0),Z=xe({express_company:"auto",tracking_number:""});function Fl(t){Le.value=t.id,Z.express_company=String(t.express_company||"auto")||"auto",Z.tracking_number=String(t.tracking_number||""),je.value=!0}async function Ga(){var t;if(!Z.tracking_number.trim()){A.msgError("请填写快递单号");return}gt.value=!0;try{const e=await ee({id:Le.value}),s=(e==null?void 0:e.data)??e;if(!s){A.msgError("加载订单数据失败");return}if(await cs({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:Z.express_company||"auto",tracking_number:Z.tracking_number.trim()}),A.msgSuccess("快递单号已保存"),je.value=!1,K(),X.value&&((t=c.value)==null?void 0:t.id)===Le.value)try{const o=await ee({id:Le.value}),d=(o==null?void 0:o.data)??o??null;d&&(c.value=d)}catch{}if(Ut({fulfillment_status:Number(s.fulfillment_status)}))try{await Xe.confirm(`快递单号「${Z.tracking_number}」已保存,是否立即确认发货?`,"确认发货",{type:"success",confirmButtonText:"确认发货",cancelButtonText:"稍后再说"}),aa({id:Le.value,tracking_number:Z.tracking_number,express_company:Z.express_company})}catch{}}catch{}finally{gt.value=!1}}const qe=x(!1),yt=x(!1),bt=x(0),Y=xe({ship_mode:"gancao",express_company:"auto",tracking_number:""});function aa(t){bt.value=t.id,Y.ship_mode=String(t.ship_mode||"gancao")||"gancao",Y.express_company=String(t.express_company||"auto")||"auto",Y.tracking_number=String(t.tracking_number||""),qe.value=!0}async function Wa(){var t;if(!Y.tracking_number.trim()){A.msgError("请先填写快递单号再确认发货");return}yt.value=!0;try{if(await ki({id:bt.value,ship_mode:Y.ship_mode==="direct"?"direct":"gancao",express_company:Y.express_company||"auto",tracking_number:Y.tracking_number.trim()}),A.msgSuccess("确认发货成功,订单已进入「已发货」状态"),qe.value=!1,K(),X.value&&((t=c.value)==null?void 0:t.id)===bt.value)try{const e=await ee({id:bt.value}),s=(e==null?void 0:e.data)??e??null;s&&(c.value=s)}catch{}}catch{}finally{yt.value=!1}}const Il=[{value:3,label:"已完成"},{value:7,label:"进行中"},{value:8,label:"暂不制药"},{value:9,label:"拒收"},{value:10,label:"退款"},{value:11,label:"保留药方"},{value:12,label:"制药缓发"}],Me=x(!1),sa=x(0),xt=x(3),la=x(!1);async function jl(){var e;const t=sa.value;if(t){la.value=!0;try{if(await hi({id:t,fulfillment_status:xt.value}),A.msgSuccess("订单状态已更新"),Me.value=!1,K(),X.value&&((e=c.value)==null?void 0:e.id)===t)try{const s=await ee({id:t}),o=(s==null?void 0:s.data)??s??null;o&&(c.value=o)}catch{}}catch{}finally{la.value=!1}}}const Be=x(!1),kt=x(!1),He=x(0),ht=x(),na=x(!1),wt=x([]),O=xe({add_mode:"create",order_type:3,pay_amount:void 0,pay_remark:"",link_pay_order_ids:[],completion_request:0}),Ll={add_mode:[{required:!0,message:"请选择添加方式",trigger:"change"}],order_type:[{required:!0,message:"请选择费用类别",trigger:"change"}],pay_amount:[{required:!0,message:"请输入支付金额",trigger:"blur"},{validator:(t,e,s)=>{const o=Number(e);!Number.isFinite(o)||o<=0?s(new Error("金额须大于 0")):s()},trigger:"blur"}],link_pay_order_ids:[{required:!0,message:"请至少选择一个支付单",trigger:"change",validator:(t,e,s)=>{!Array.isArray(e)||e.length===0?s(new Error("请至少选择一个支付单")):s()}}]};async function ql(t,e=[]){var s;if(!t){wt.value=[];return}try{na.value=!0;const o=await pa({diagnosis_id:t}),d=(o==null?void 0:o.lists)??((s=o==null?void 0:o.data)==null?void 0:s.lists)??[],f=Array.isArray(d)?d.filter(k=>!e.includes(k.id)):[];wt.value=f}catch{wt.value=[]}finally{na.value=!1}}function Ka(t){var o,d;He.value=t.id,O.add_mode="create",O.order_type=3,O.pay_amount=void 0,O.pay_remark="",O.link_pay_order_ids=[],O.completion_request=0,Be.value=!0;const e=t.diagnosis_id||((o=c.value)==null?void 0:o.diagnosis_id),s=t.pay_order_ids||((d=c.value)==null?void 0:d.pay_order_ids)||[];e&&ql(e,s)}async function Ml(){var t;if(ht.value){await ht.value.validate(),kt.value=!0;try{if(O.add_mode==="create")await wi({id:He.value,order_type:O.order_type,pay_amount:O.pay_amount,pay_remark:O.pay_remark||"",completion_request:O.completion_request}),A.msgSuccess("支付单已新增,请等待审核");else{const e=O.link_pay_order_ids;if(e.length===0){A.msgError("请至少选择一个支付单");return}await Si({id:He.value,pay_order_ids:e,completion_request:O.completion_request}),A.msgSuccess(`已关联 ${e.length} 个支付单,请等待审核`)}if(Be.value=!1,K(),X.value&&((t=c.value)==null?void 0:t.id)===He.value)try{const e=await ee({id:He.value}),s=(e==null?void 0:e.data)??e??null;s&&(c.value=s)}catch{}}catch{}finally{kt.value=!1}}}function Ya(t){sa.value=t.id,xt.value=3,Me.value=!0}async function Bl(t){var e;try{if(await Xe.confirm("确认撤回处方审核?撤回后将重置为「待审核」状态。","撤回处方审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await Vi({id:t.id}),A.msgSuccess("处方审核已撤回"),K(),X.value&&((e=c.value)==null?void 0:e.id)===t.id)try{const s=await ee({id:t.id}),o=(s==null?void 0:s.data)??s??null;o&&(c.value=o)}catch{}}catch{}}async function Hl(t){var e;try{if(await Xe.confirm("确认撤回支付单审核?撤回后将重置为「待审核」状态。","撤回支付单审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await Ni({id:t.id}),A.msgSuccess("支付单审核已撤回"),K(),X.value&&((e=c.value)==null?void 0:e.id)===t.id)try{const s=await ee({id:t.id}),o=(s==null?void 0:s.data)??s??null;o&&(c.value=o)}catch{}}catch{}}const Gl="成都双流甄养堂互联网医院 处方笺",St=x(!1),Vt=x(!1),h=x(null),Qa=x(null),Pe=x(!1),Nt=w(()=>{var e;const t=(e=h.value)==null?void 0:e.herbs;return Array.isArray(t)?t:[]}),Wl=w(()=>{const t=h.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),o=Number(t.dosage_amount),d=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;return!Number.isFinite(e)||!Number.isFinite(s)||!Number.isFinite(o)||e<=0||s<=0||o<=0?null:e*s*o*d}),Pt=t=>String(t).padStart(2,"0"),Kl=w(()=>{const t=h.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),o=new Date(s);if(!isNaN(o.getTime()))return`${o.getFullYear()}-${Pt(o.getMonth()+1)}-${Pt(o.getDate())} ${Pt(o.getHours())}:${Pt(o.getMinutes())}`}return t.prescription_date||"—"}),Yl=w(()=>{const t=h.value;if(!t)return"—";const e=String(t.sn??"").trim();if(e)return e;const s=String(t.visit_no??"").trim();return s||"—"}),Ql=w(()=>{const t=h.value;if(!t)return"—";const e=Number(t.appointment_id);return Number.isFinite(e)&&e>0?String(e):"—"}),Ja=w(()=>{const t=h.value;return t?String(t.order_no??"").trim():""}),Jl=w(()=>{const t=h.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(","):"—"}),Xa=w(()=>{var e;const t=Number((e=h.value)==null?void 0:e.dose_count);return Number.isFinite(t)&&t>0?t:1}),Xl=w(()=>{const e=Nt.value.reduce((s,o)=>s+(Number(o==null?void 0:o.dosage)||0),0);return Ge(e)}),Zl=t=>{const e=Number(t)||0;return Ge(e*Xa.value)},en=w(()=>{const t=h.value;if(!t)return"—";const e=t.prescription_type||"浓缩水丸";return/丸|散|膏|片/.test(e)?`浓缩丸-${e}`:e}),tn=w(()=>{const t=h.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,s=t.dosage_amount!=null?Number(t.dosage_amount):10,o=t.dosage_unit||"g",d=t.usage_way||"温水送服",f=t.usage_time||"",k=[];if(k.push(`每天${e}次`),(t.prescription_type||"浓缩水丸")==="浓缩水丸"){const y=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;k.push(`一次${y}袋`),k.push(`每袋${s}${o}`)}else k.push(`一次${s}${o}`);return k.push(d),f&&k.push(f),k.join(", ")}),an=w(()=>{const t=Wl.value;if(typeof t=="number"&&isFinite(t)&&t>0)return Ge(t);const e=h.value;if(!e)return"";const s=e.out_pellet||e.total_weight;if(s&&Number(s)>0)return Ge(Number(s));const o=Nt.value;if(!o.length)return"";const d=o.reduce((f,k)=>f+(Number(k==null?void 0:k.dosage)||0),0);return Ge(d*Xa.value)}),Za=w(()=>{const t=h.value;return t&&t.medical_advice||""}),es=w(()=>{const t=h.value;if(!t)return"";const e=[];return e.push(`共${Nt.value.length}味药`),t.usage_notes&&e.push(String(t.usage_notes)),t.remark&&e.push(String(t.remark)),e.join(" ")}),ts=w(()=>{const t=h.value;return t&&(t.pharmacy_remark||t.pharmacy_note)||""}),as=w(()=>{const t=an.value;return t?`${t}克`:""});function Ge(t){return isFinite(t)?Number.isInteger(t)?String(t):t.toFixed(2).replace(/\.?0+$/,""):"0"}function ss(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 sn(t){return t?ss(t):"—"}function ln(t){return t===1||t==="1"?"男":t===0||t==="0"?"女":"—"}function nn(t){return t==null||t===""?"—":`${t}岁`}function rn(){ls(_)}async function ls(t){if(!t.prescription_id){A.msgWarning("该订单未关联处方");return}St.value=!0,Vt.value=!0,h.value=null;try{const e=await Pi({id:t.prescription_id}),s=(e==null?void 0:e.data)??e??null;if(s){const o=t.medication_days,d={...s};o!=null&&String(o).trim()!==""&&(d.medication_days=o),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 f=t.linked_appointment;(!d.appointment_id||Number(d.appointment_id)<=0)&&f&&typeof f=="object"&&Number(f.id)>0&&(d.appointment_id=Number(f.id)),h.value=d}else h.value=null}catch(e){A.msgError((e==null?void 0:e.message)||"加载处方详情失败"),St.value=!1}finally{Vt.value=!1}}async function on(t){const e=t.querySelectorAll('img[src^="http"]'),s=Array.from(e).map(async o=>{try{const d=await fetch(o.src,{mode:"cors"});if(!d.ok)return;const f=await d.blob(),k=await new Promise((y,$)=>{const Q=new FileReader;Q.onload=()=>y(Q.result),Q.onerror=$,Q.readAsDataURL(f)});o.src=k}catch{}});await Promise.allSettled(s)}async function ns(){await Rt();const t=Qa.value;if(!t)throw new Error("未找到处方笺内容");return t.scrollIntoView({behavior:"instant",block:"nearest"}),await on(t),await new Promise(e=>requestAnimationFrame(()=>e(null))),await new Promise(e=>setTimeout(e,250)),Ai(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 is(){var s;const t=(s=h.value)==null?void 0:s.patient_name;return`处方_${typeof t=="string"&&t.trim()?t.trim().replace(/[\\/:*?"<>|]/g,"_"):"未命名"}_${Date.now()}`}async function un(){if(h.value){Pe.value=!0;try{const t=await ns(),e=document.createElement("a");e.download=`${is()}.png`,e.href=t.toDataURL("image/png"),e.click(),A.msgSuccess("图片已下载")}catch{A.msgError("下载图片失败")}finally{Pe.value=!1}}}async function dn(){if(h.value){Pe.value=!0;try{const t=await ns(),e=t.toDataURL("image/jpeg",.95),s=new vn({orientation:"portrait",unit:"mm",format:"a4"}),o=210,d=297,f=o,k=t.height*f/t.width;if(k<=d)s.addImage(e,"JPEG",0,0,f,k);else{let y=k,$=0;for(;y>0;)s.addImage(e,"JPEG",0,$,f,k),y-=d,$-=d,y>0&&s.addPage()}s.save(`${is()}.pdf`),A.msgSuccess("PDF已下载")}catch{A.msgError("下载PDF失败")}finally{Pe.value=!1}}}return(t,e)=>{const s=gn,o=yn,d=xn,f=hn,k=wn,y=Vn,$=Sn,Q=Nn,S=Pn,F=kn,re=Cn,ge=On,Ct=Tn,rs=An,ia=ti,We=Rn,le=En,oe=$n,Ke=Dn,E=zn,pe=Un,V=In,Ye=Fn,U=Ln,At=jn,ra=qn,os=Bn,us=Mn,oa=Hn,Ce=Gn,ce=Wn,ds=Kn,pn=Yn,cn=Jn,_n=Qn,mn=Xn,Ae=ei,ua=Zn,ye=bn,q=Ui("perms");return u(),m("div",Ii,[e[249]||(e[249]=a("header",{class:"po-h5-hero","aria-label":"页面概览"},[a("div",{class:"po-h5-hero__text"},[a("h1",{class:"po-h5-hero__title"},"业务订单"),a("p",{class:"po-h5-hero__sub"},"履约、双审与收款一览;点卡片进入详情")])],-1)),l(s,{class:"po-h5-surface po-h5-surface--chips !mb-3 !border-none shadow-none",shadow:"never"},{default:n(()=>[a("div",ji,[me.value?(u(),m("div",Li,[e[86]||(e[86]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"处方审核",-1)),(u(),m(D,null,B(Fs,i=>a("div",{key:i.value,class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.prescription_audit_status===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:C=>js(i.value)},[a("span",Mi,r(i.label),1)],10,qi)),64))])):v("",!0),a("div",Bi,[e[87]||(e[87]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"支付单审核",-1)),(u(),m(D,null,B(Is,i=>a("div",{key:i.value,class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.payment_slip_audit_status===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:C=>Ls(i.value)},[a("span",Gi,r(i.label),1)],10,Hi)),64))]),a("div",Wi,[e[88]||(e[88]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"发货状态",-1)),(u(),m(D,null,B(Rs,i=>a("div",{key:"fs-"+String(i.value),class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.fulfillment_status===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:C=>Es(i.value)},[a("span",Yi,r(i.label),1)],10,Ki)),64))]),a("div",Qi,[e[89]||(e[89]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"供货方式",-1)),(u(),m(D,null,B(Ds,i=>a("div",{key:"sm-"+String(i.value),class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.supply_mode===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:C=>$s(i.value)},[a("span",Xi,r(i.label),1)],10,Ji)),64))]),a("div",Zi,[e[90]||(e[90]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"快递方式",-1)),(u(),m(D,null,B(Us,i=>a("div",{key:"ec-"+String(i.value),class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.express_company===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:C=>zs(i.value)},[a("span",tr,r(i.label),1)],10,er)),64))])])]),_:1}),l(s,{class:"po-h5-surface po-filter-card !mb-3 !border-none shadow-none",shadow:"never"},{default:n(()=>[T((u(),m("div",ar,[a("div",sr,[e[91]||(e[91]=a("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)),a("div",lr,[a("div",null,[a("div",nr,[l(o,{size:16,class:"text-sky-500"},{default:n(()=>[l(R(ai))]),_:1}),p(" "+r(ne.value.orderHeading),1)]),a("div",ir,[a("div",rr," ¥"+r(ne.value.orderPerformanceStr),1),a("div",or,[a("span",null,"合计 ¥"+r(ne.value.orderStr),1),a("span",ur,"已取消 ¥"+r(ne.value.orderCancelledStr),1)])])]),a("div",dr,[l(o,{size:20},{default:n(()=>[l(R(si))]),_:1})])]),a("p",pr,r(ne.value.periodLine),1)]),a("div",cr,[e[92]||(e[92]=a("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)),a("div",_r,[a("div",null,[a("div",mr,[l(o,{size:16,class:"text-emerald-500"},{default:n(()=>[l(R(li))]),_:1}),p(" "+r(ne.value.payHeading),1)]),a("div",fr,[a("div",vr," ¥"+r(ne.value.payPerformanceStr),1),a("div",gr,[a("span",null,"合计 ¥"+r(ne.value.payStr),1),a("span",yr,"已取消 ¥"+r(ne.value.payCancelledStr),1)])])]),a("div",br,[l(o,{size:20},{default:n(()=>[l(R(ni))]),_:1})])]),a("p",xr,r(ne.value.periodLine),1)])])),[[ye,R(J).loading]]),e[96]||(e[96]=a("p",{class:"po-h5-stats-hint text-center text-[12px] leading-snug text-slate-500 px-1 -mt-2 mb-3"},[p(" 上方为接口返回的"),a("strong",{class:"text-slate-600 font-medium"},"业绩汇总"),p("(未选创建日期时为今日;选了则为该区间);下方列表是当前筛选条件下的订单,"),a("strong",{class:"text-slate-600 font-medium"},"条数与金额和上面不必相等"),p("。 ")],-1)),a("div",{class:"po-filter-toggle",onClick:e[0]||(e[0]=i=>it.value=!it.value)},[a("div",kr,[l(o,null,{default:n(()=>[l(R(da))]),_:1}),e[93]||(e[93]=a("span",null,"筛选条件",-1)),Ca.value>0?(u(),g(d,{key:0,size:"small",type:"primary",effect:"dark",round:""},{default:n(()=>[p(r(Ca.value),1)]),_:1})):v("",!0)]),l(o,{class:j(["po-filter-toggle__arrow",{"is-open":!it.value}])},{default:n(()=>[l(R(ps))]),_:1},8,["class"])]),T(l(F,{class:"ls-form",model:b,inline:""},{default:n(()=>[l(f,{class:"w-[360px] min-w-[240px] max-w-full",label:"创建时间"},{default:n(()=>[l(di,{startTime:b.start_time,"onUpdate:startTime":e[1]||(e[1]=i=>b.start_time=i),endTime:b.end_time,"onUpdate:endTime":e[2]||(e[2]=i=>b.end_time=i),"picker-type":"daterange","value-format":"YYYY-MM-DD","start-placeholder":"开始日期","end-placeholder":"结束日期",class:"!w-full"},null,8,["startTime","endTime"])]),_:1}),l(f,{class:"w-[260px]",label:"订单号"},{default:n(()=>[l(k,{modelValue:b.order_no,"onUpdate:modelValue":e[3]||(e[3]=i=>b.order_no=i),placeholder:"业务订单号",clearable:"",onKeyup:Ze(R(G),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(f,{class:"w-[140px]",label:"处方ID"},{default:n(()=>[l(k,{modelValue:b.prescription_id,"onUpdate:modelValue":e[4]||(e[4]=i=>b.prescription_id=i),placeholder:"处方ID",clearable:"",onKeyup:Ze(R(G),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(f,{class:"w-[220px]",label:"患者"},{default:n(()=>[l(k,{modelValue:b.patient_keyword,"onUpdate:modelValue":e[5]||(e[5]=i=>b.patient_keyword=i),placeholder:"姓名 / 手机号",clearable:"",onKeyup:Ze(R(G),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(f,{class:"w-[220px]",label:"快递"},{default:n(()=>[l(k,{modelValue:b.express_keyword,"onUpdate:modelValue":e[6]||(e[6]=i=>b.express_keyword=i),placeholder:"快递单号 / 公司",clearable:"",onKeyup:Ze(R(G),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),ws.value?(u(),g(f,{key:0,class:"w-[200px]",label:"下单人"},{default:n(()=>[l($,{modelValue:b.audit_admin_id,"onUpdate:modelValue":e[7]||(e[7]=i=>b.audit_admin_id=i),clearable:"",filterable:"",placeholder:"全部下单人",class:"!w-full"},{default:n(()=>[(u(!0),m(D,null,B(ma.value,i=>(u(),g(y,{key:i.id,label:i.name,value:i.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})):v("",!0),l(f,{class:"w-[200px]",label:"医生"},{default:n(()=>[l($,{modelValue:b.doctor_id,"onUpdate:modelValue":e[8]||(e[8]=i=>b.doctor_id=i),clearable:"",filterable:"",placeholder:"开方医生",class:"!w-full"},{default:n(()=>[(u(!0),m(D,null,B(Et.value,i=>(u(),g(y,{key:i.id,label:i.name,value:i.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(f,{class:"w-[220px] min-w-[200px]",label:"医助部门"},{default:n(()=>[l(Q,{modelValue:b.assistant_dept_id,"onUpdate:modelValue":e[9]||(e[9]=i=>b.assistant_dept_id=i),data:tt.value,class:"!w-full",clearable:"",filterable:"","check-strictly":"","default-expand-all":!0,"node-key":"id",props:Ns,placeholder:"医助部门(选父级含子级)",onChange:Bs},null,8,["modelValue","data"])]),_:1}),l(f,{class:"w-[200px]",label:"医助"},{default:n(()=>[l($,{modelValue:b.assistant_id,"onUpdate:modelValue":e[10]||(e[10]=i=>b.assistant_id=i),clearable:"",filterable:"",placeholder:"诊单医助",class:"!w-full"},{default:n(()=>[(u(!0),m(D,null,B(ya.value,i=>(u(),g(y,{key:i.id,label:i.name,value:i.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(f,null,{default:n(()=>[l(S,{type:"primary",onClick:R(G)},{default:n(()=>[...e[94]||(e[94]=[p("查询",-1)])]),_:1},8,["onClick"]),l(S,{onClick:Hs},{default:n(()=>[...e[95]||(e[95]=[p("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"]),[[Tt,!it.value]])]),_:1}),T((u(),g(s,{class:"po-h5-surface po-table-card !mt-0 !border-none shadow-none",shadow:"never"},{default:n(()=>[a("div",hr,[a("div",wr,[a("div",Sr,[e[97]||(e[97]=a("span",{class:"po-table-title text-gray-800"},"订单列表",-1)),a("span",Vr,"共 "+r(R(J).count)+" 条",1)]),a("div",Nr,[a("div",{class:j(["po-focus-board__item is-pending-rx",{"is-active":te.value==="pendingRx"}]),onClick:e[11]||(e[11]=i=>at("pendingRx"))},[e[98]||(e[98]=a("span",{class:"po-focus-board__label"},"待处方审核",-1)),a("strong",Pr,r(st.value.pendingRx),1)],2),a("div",{class:j(["po-focus-board__item is-pending-pay",{"is-active":te.value==="pendingPay"}]),onClick:e[12]||(e[12]=i=>at("pendingPay"))},[e[99]||(e[99]=a("span",{class:"po-focus-board__label"},"待支付审核",-1)),a("strong",Cr,r(st.value.pendingPay),1)],2),a("div",{class:j(["po-focus-board__item is-pending-ship",{"is-active":te.value==="pendingShip"}]),onClick:e[13]||(e[13]=i=>at("pendingShip"))},[e[100]||(e[100]=a("span",{class:"po-focus-board__label"},"待发货",-1)),a("strong",Ar,r(st.value.pendingShip),1)],2),a("div",{class:j(["po-focus-board__item is-risk",{"is-active":te.value==="risk"}]),onClick:e[14]||(e[14]=i=>at("risk"))},[e[101]||(e[101]=a("span",{class:"po-focus-board__label"},"重点异常",-1)),a("strong",Tr,r(st.value.risk),1)],2)])])]),a("div",Or,[!R(J).lists.length&&!R(J).loading?(u(),g(re,{key:0,description:"暂无订单","image-size":88})):v("",!0),(u(!0),m(D,null,B(R(J).lists,i=>(u(),m("div",{key:i.id,class:j(["po-card",{"po-card--focus":lt&<({row:i})==="po-row-focus","po-card--risk":lt&<({row:i})==="po-row-risk"}]),onClick:C=>Ia(i.id)},[a("div",Er,[a("div",Dr,[a("span",$r,r(i.order_no||"—"),1)]),a("div",Ur,[l(d,{size:"small",effect:"plain",type:String(i.gancao_reciperl_order_no||"").trim()?"success":"info"},{default:n(()=>[p(r(String(i.gancao_reciperl_order_no||"").trim()?"甘草":"自营"),1)]),_:2},1032,["type"]),a("span",zr,"#"+r(i.id),1)])]),pt(i.recipient_phone,i.prescription_phone)?(u(),m("div",Fr,[l(o,null,{default:n(()=>[l(R(ii))]),_:1}),e[102]||(e[102]=a("span",null,"收货手机与处方手机不一致",-1))])):v("",!0),a("div",Ir,[a("div",jr,[e[103]||(e[103]=a("span",{class:"po-card__label"},"收货人",-1)),a("span",Lr,r(i.recipient_name||"—"),1)]),a("div",qr,[e[104]||(e[104]=a("span",{class:"po-card__label"},"金额",-1)),a("span",Mr,"¥"+r(i.amount),1)])]),a("div",Br,[a("div",Hr,[e[105]||(e[105]=a("span",{class:"po-card__label"},"手机",-1)),a("span",{class:j(["po-card__value",pt(i.recipient_phone,i.prescription_phone)?"text-red-600 font-semibold":""])},r(i.recipient_phone||"—"),3)]),a("div",Gr,[e[106]||(e[106]=a("span",{class:"po-card__label"},"费用类别",-1)),a("span",Wr,r(nt(i.fee_type)),1)])]),a("div",Kr,[a("div",Yr,[e[107]||(e[107]=a("span",{class:"po-card__label"},"处方ID",-1)),a("span",Qr,r(i.prescription_id||"—"),1)]),a("div",Jr,[e[108]||(e[108]=a("span",{class:"po-card__label"},"诊单ID",-1)),a("span",Xr,r(i.diagnosis_id||"—"),1)])]),fa()&&i.internal_cost!=null&&i.internal_cost!==""?(u(),m("div",Zr,[a("div",eo,[e[109]||(e[109]=a("span",{class:"po-card__label"},"内部成本",-1)),a("span",to,"¥"+r(i.internal_cost),1)]),a("div",ao,[e[110]||(e[110]=a("span",{class:"po-card__label"},"关联支付",-1)),a("span",so,[Number(i.linked_pay_order_count)>0?(u(),m("span",lo,r(i.linked_pay_order_count)+" 笔",1)):(u(),m("span",no,"—"))])])])):(u(),m("div",io,[a("div",ro,[e[111]||(e[111]=a("span",{class:"po-card__label"},"关联支付",-1)),a("span",oo,[Number(i.linked_pay_order_count)>0?(u(),m("span",uo,r(i.linked_pay_order_count)+" 笔",1)):(u(),m("span",po,"—"))])]),a("div",co,[e[112]||(e[112]=a("span",{class:"po-card__label"},"创建时间",-1)),a("span",_o,r(fe(i.create_time)),1)])])),a("div",mo,[l(d,{type:xa(i.prescription_audit_status),size:"small",class:j(Dt("rx",i))},{default:n(()=>[p(" 处方审: "+r(ba(i.prescription_audit_status)),1)]),_:2},1032,["type","class"]),l(d,{type:xa(i.payment_slip_audit_status),size:"small",class:j(Dt("pay",i))},{default:n(()=>[p(" 支付审: "+r(ba(i.payment_slip_audit_status)),1)]),_:2},1032,["type","class"]),l(d,{type:Ws(i.fulfillment_status),size:"small",class:j(Dt("fulfillment",i))},{default:n(()=>[p(r($t(i.fulfillment_status)),1)]),_:2},1032,["type","class"])]),a("div",fo,[i.doctor_name?(u(),m("span",vo,"医:"+r(i.doctor_name),1)):v("",!0),i.creator_name?(u(),m("span",go,"建:"+r(i.creator_name),1)):v("",!0),fa()&&i.internal_cost!=null&&i.internal_cost!==""?v("",!0):(u(),m("span",yo,r(fe(i.create_time)),1))]),a("div",{class:"po-card__actions",onClick:e[15]||(e[15]=Ot(()=>{},["stop"]))},[T((u(),g(S,{type:"primary",size:"small",onClick:C=>Ia(i.id)},{default:n(()=>[p(r(Ss.value),1)]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/detail"]]]),Sa(i)?T((u(),g(S,{key:0,size:"small",onClick:C=>Al(i)},{default:n(()=>[...e[113]||(e[113]=[p("编辑",-1)])]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/edit"]]]):v("",!0),Zs(i)?T((u(),g(S,{key:1,type:"success",size:"small",onClick:C=>Fl(i)},{default:n(()=>[...e[114]||(e[114]=[p("改单号",-1)])]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/ddcode"]]]):v("",!0),Ut(i)?T((u(),g(S,{key:2,type:"primary",size:"small",onClick:C=>aa(i)},{default:n(()=>[...e[115]||(e[115]=[p("发货",-1)])]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/ship"]]]):v("",!0),el(i)?(u(),g(rs,{key:3,trigger:"click",onCommand:C=>tl(C,i)},{dropdown:n(()=>[l(Ct,null,{default:n(()=>[zt(i)?(u(),g(ge,{key:0,command:"addPayOrder"},{default:n(()=>[...e[117]||(e[117]=[p("补齐支付单",-1)])]),_:1})):v("",!0),Ft(i)?(u(),g(ge,{key:1,command:"complete"},{default:n(()=>[...e[118]||(e[118]=[p("完成订单",-1)])]),_:1})):v("",!0),Na(i)?(u(),g(ge,{key:2,command:"submitGancao"},{default:n(()=>[...e[119]||(e[119]=[p("上传药方",-1)])]),_:1})):v("",!0),Va(i)?(u(),g(ge,{key:3,command:"withdraw",divided:""},{default:n(()=>[...e[120]||(e[120]=[a("span",{class:"text-red-500"},"撤回订单",-1)])]),_:1})):v("",!0)]),_:2},1024)]),default:n(()=>[l(S,{size:"small"},{default:n(()=>[e[116]||(e[116]=p(" 更多",-1)),l(o,{class:"el-icon--right"},{default:n(()=>[l(R(ps))]),_:1})]),_:1})]),_:2},1032,["onCommand"])):v("",!0)])],10,Rr))),128))]),a("div",bo,[l(ia,{modelValue:R(J),"onUpdate:modelValue":e[16]||(e[16]=i=>Fi(J)?J.value=i:null),onChange:R(K)},null,8,["modelValue","onChange"])])]),_:1})),[[ye,R(J).loading]]),l(oa,{modelValue:X.value,"onUpdate:modelValue":e[27]||(e[27]=i=>X.value=i),class:"po-detail-drawer po-detail-drawer--h5",size:"100%",direction:"btt","destroy-on-close":"","close-on-click-modal":!1},{header:n(()=>{var i,C;return[a("div",xo,[a("div",ko,[e[121]||(e[121]=a("span",{class:"po-detail-drawer-title shrink-0 text-gray-800 font-semibold text-lg"},"业务订单详情",-1)),(i=c.value)!=null&&i.order_no?(u(),g(d,{key:0,type:"primary",effect:"plain",round:"",class:"max-w-full !whitespace-normal break-all text-left leading-snug"},{default:n(()=>[p(r(c.value.order_no),1)]),_:1})):v("",!0),(C=c.value)!=null&&C.gancao_reciperl_order_no?(u(),g(d,{key:1,type:"success",effect:"plain",round:"",class:"max-w-full !whitespace-normal break-all text-left leading-snug"},{default:n(()=>[p("甘草 "+r(c.value.gancao_reciperl_order_no),1)]),_:1})):v("",!0)]),c.value?(u(),m("div",ho,[Ys(c.value)?T((u(),g(S,{key:0,type:"warning",size:"small",plain:"",onClick:e[17]||(e[17]=N=>qa(c.value,"prescription"))},{default:n(()=>[...e[122]||(e[122]=[p(" 处方审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPrescription"]]]):v("",!0),Js(c.value)?T((u(),g(S,{key:1,type:"info",size:"small",plain:"",onClick:e[18]||(e[18]=N=>Bl(c.value))},{default:n(()=>[...e[123]||(e[123]=[p(" 撤回处方审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPrescription"]]]):v("",!0),Qs(c.value)?T((u(),g(S,{key:2,type:"warning",size:"small",plain:"",onClick:e[19]||(e[19]=N=>qa(c.value,"payment"))},{default:n(()=>[...e[124]||(e[124]=[p(" 支付审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPayment"]]]):v("",!0),Xs(c.value)?T((u(),g(S,{key:3,type:"info",size:"small",plain:"",onClick:e[20]||(e[20]=N=>Hl(c.value))},{default:n(()=>[...e[125]||(e[125]=[p(" 撤回支付审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPayment"]]]):v("",!0),Ut(c.value)?T((u(),g(S,{key:4,type:"primary",size:"small",plain:"",onClick:e[21]||(e[21]=N=>aa(c.value))},{default:n(()=>[...e[126]||(e[126]=[p(" 确认发货 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/ship"]]]):v("",!0),zt(c.value)?T((u(),g(S,{key:5,type:"success",size:"small",plain:"",onClick:e[22]||(e[22]=N=>Ka(c.value))},{default:n(()=>[...e[127]||(e[127]=[p(" 关联支付单 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/addPayOrder"]]]):v("",!0),Ft(c.value)?T((u(),g(S,{key:6,type:"primary",size:"small",plain:"",onClick:e[23]||(e[23]=N=>Ya(c.value))},{default:n(()=>[...e[128]||(e[128]=[p(" 完成订单 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/complete"]]]):v("",!0)])):v("",!0)])]}),default:n(()=>[jt.value?(u(),g(We,{key:0,rows:12,animated:"",class:"px-6 py-4"})):c.value?(u(),m("div",wo,[Re.value?(u(),g(le,{key:0,type:"error",closable:!1,"show-icon":"",class:"mb-4 !items-start",title:"业务订单收货手机与处方登记手机不一致"},{default:n(()=>[a("div",So,[a("div",null,[e[129]||(e[129]=p(" 处方手机: ",-1)),a("span",Vo,r(sl.value),1)]),a("div",null,[e[130]||(e[130]=p(" 订单收货手机: ",-1)),a("span",No,r(ll.value),1)]),e[131]||(e[131]=a("div",{class:"text-gray-600 mt-1"},"请核对是否代收货或录入错误,避免物流与回访联系错人。",-1))])]),_:1})):v("",!0),a("div",Po,[l(Ke,{class:"po-workflow-steps",direction:"vertical",active:rt.value,"finish-status":"success"},{default:n(()=>[l(oe,{title:"业务订单创建",description:fe(c.value.create_time)},null,8,["description"]),l(oe,{title:"处方单双审",status:ot.value},{description:n(()=>[ot.value==="error"?(u(),m("span",Co,"处方被驳回")):ot.value==="wait"?(u(),m("span",Ao,"等待审核")):ot.value==="success"?(u(),m("span",To,"双审通过")):(u(),m("span",Oo,"进行中"))]),_:1},8,["status"]),l(oe,{title:"支付单审核",status:ut.value},{description:n(()=>[ut.value==="error"?(u(),m("span",Ro,"支付审核驳回")):ut.value==="wait"?(u(),m("span",Eo,"等待审核")):ut.value==="success"?(u(),m("span",Do,"审核通过")):(u(),m("span",$o,"进行中"))]),_:1},8,["status"]),l(oe,{title:"发货与履约",status:ke.value},{description:n(()=>{var i,C,N;return[ke.value==="process"&&Number((i=c.value)==null?void 0:i.fulfillment_status)===7?(u(),m("span",Uo,"进行中")):ke.value==="process"?(u(),m("span",zo,"等待发货/补充单号")):ke.value==="wait"?(u(),m("span",Fo,"待转入履约")):ke.value==="success"?(u(),m("span",Io,r($t((C=c.value)==null?void 0:C.fulfillment_status)),1)):ke.value==="error"?(u(),m("span",jo,r($t((N=c.value)==null?void 0:N.fulfillment_status)),1)):v("",!0)]}),_:1},8,["status"]),l(oe,{title:"订单完成"})]),_:1},8,["active"])]),l(pe,{gutter:16,class:"mb-5"},{default:n(()=>[l(E,{xs:12,sm:6},{default:n(()=>[l(s,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:n(()=>[a("div",Lo,[e[133]||(e[133]=a("div",{class:"stat-title text-gray-500 text-xs"},"总金额",-1)),It(c.value)?T((u(),g(S,{key:0,type:"primary",size:"small",link:"",onClick:bl},{default:n(()=>[...e[132]||(e[132]=[p(" 修改 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/updateAmount"]]]):v("",!0)]),a("div",qo,"¥"+r(c.value.amount),1)]),_:1})]),_:1}),l(E,{xs:12,sm:6},{default:n(()=>[l(s,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:n(()=>[e[134]||(e[134]=a("div",{class:"stat-title text-gray-500 text-xs mb-1"},"已付总额",-1)),a("div",Mo,"¥"+r(c.value.linked_pay_paid_total||0),1)]),_:1})]),_:1}),l(E,{xs:12,sm:6},{default:n(()=>[l(s,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:n(()=>[e[135]||(e[135]=a("div",{class:"stat-title text-gray-500 text-xs mb-1"},"需代收",-1)),a("div",{class:j(["stat-value font-bold text-xl",Aa.value>0?"text-amber-600":"text-gray-500"])}," ¥"+r(de(Aa.value)),3)]),_:1})]),_:1}),l(E,{xs:12,sm:6},{default:n(()=>[l(s,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:n(()=>[e[136]||(e[136]=a("div",{class:"stat-title text-gray-500 text-xs mb-1"},"已付笔数",-1)),a("div",Bo,r(Lt.value.length)+" 笔",1)]),_:1})]),_:1})]),_:1}),a("div",Ho,[l(s,{shadow:"never",class:"po-panel po-panel-rx border-gray-100 h-full relative overflow-hidden"},{header:n(()=>[a("div",Ko,[a("div",Yo,[e[139]||(e[139]=a("span",{class:"po-panel-rx-header__title font-medium text-[15px] leading-snug"},"处方详情",-1)),a("span",Qo," ID: "+r(c.value.prescription_id||"—"),1)]),c.value.doctor_name?(u(),m("div",Jo,[e[140]||(e[140]=p(" 开方人:",-1)),a("span",Xo,r(c.value.doctor_name),1)])):v("",!0),a("div",Zo,[c.value.prescription_id&&P.value&&!String(c.value.prescription_detail_error||"").trim()?T((u(),g(S,{key:0,type:"default",size:"small",link:"",onClick:vl},{default:n(()=>[...e[141]||(e[141]=[p(" 改患者信息 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/patchPrescriptionPatient"]]]):v("",!0),c.value.prescription_id&&me.value?(u(),g(S,{key:1,type:"primary",size:"small",link:"",onClick:e[24]||(e[24]=i=>ls(c.value))},{default:n(()=>[...e[142]||(e[142]=[p(" 详细 ",-1)])]),_:1})):v("",!0),c.value.id&&me.value?(u(),g(S,{key:2,type:"warning",size:"small",link:"",loading:Ne.value,icon:R(da),onClick:Ul},{default:n(()=>[...e[143]||(e[143]=[p(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):v("",!0)])])]),default:n(()=>[c.value.prescription_audit_status===1?(u(),m("div",Go,[...e[137]||(e[137]=[a("div",{class:"stamp-inner"},"审核通过",-1)])])):v("",!0),c.value.prescription_audit_status===2?(u(),m("div",Wo,[...e[138]||(e[138]=[a("div",{class:"stamp-inner"},"已驳回",-1)])])):v("",!0),String(c.value.prescription_detail_error||"").trim()?(u(),g(le,{key:2,title:c.value.prescription_detail_error,type:"warning",closable:!1,"show-icon":"",class:"mb-3"},null,8,["title"])):P.value?(u(),m(D,{key:3},[l(Ye,{column:1,border:"",size:"small",class:"po-desc bg-white"},{default:n(()=>[l(V,{label:"处方编号",span:2},{default:n(()=>[p(r(P.value.sn||"—"),1)]),_:1}),l(V,{label:"患者"},{default:n(()=>[p(r(P.value.patient_name||"—"),1)]),_:1}),l(V,{label:"性别 / 年龄"},{default:n(()=>[p(r(P.value.gender_desc||"—")+" · "+r(P.value.age??"—")+"岁 ",1)]),_:1}),l(V,{label:"手机"},{default:n(()=>[a("span",{class:j(Re.value?"rx-phone-mismatch text-red-600 font-bold":"")},r(P.value.phone||"—"),3),Re.value?(u(),g(d,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:n(()=>[...e[144]||(e[144]=[p(" 与订单手机不一致 ",-1)])]),_:1})):v("",!0)]),_:1}),l(V,{label:"处方日期"},{default:n(()=>[p(r(P.value.prescription_date||"—"),1)]),_:1}),l(V,{label:"医师"},{default:n(()=>[p(r(P.value.doctor_name||"—"),1)]),_:1}),l(V,{label:"类型"},{default:n(()=>[p(r(P.value.prescription_type||"—"),1)]),_:1}),l(V,{label:"临床诊断",span:2},{default:n(()=>[p(r(P.value.clinical_diagnosis||"—"),1)]),_:1}),me.value?(u(),g(V,{key:0,label:"剂数 / 用法",span:2},{default:n(()=>[p(r(c.value.dose_count??P.value.dose_count??"—")+" "+r(c.value.dose_unit||"剂")+" · "+r(P.value.usage_instruction||P.value.usage_method||"—"),1)]),_:1})):v("",!0),l(V,{label:"处方金额"},{default:n(()=>[a("span",eu,"¥"+r(P.value.amount??"—"),1)]),_:1}),l(V,{label:"消费者审核"},{default:n(()=>[l(d,{type:ol(P.value.audit_status),size:"small"},{default:n(()=>[p(r(rl(P.value.audit_status)),1)]),_:1},8,["type"])]),_:1}),l(V,{label:"用量"},{default:n(()=>[P.value.dosage_amount?(u(),m(D,{key:0},[p(r(P.value.dosage_amount)+r(P.value.dosage_unit||"g")+" ",1),P.value.prescription_type==="浓缩水丸"?(u(),m(D,{key:0},[p(" · "+r(Number(P.value.dosage_bag_count)>0?Number(P.value.dosage_bag_count):1)+"袋 ",1)],64)):v("",!0),P.value.prescription_type==="饮片"&&P.value.need_decoction!==null?(u(),m("span",tu," ("+r(P.value.need_decoction?"代煎":"不代煎")+") ",1)):v("",!0)],64)):(u(),m(D,{key:1},[p("—")],64))]),_:1}),l(V,{label:"服用方式"},{default:n(()=>[a("div",au,[a("div",null,[e[145]||(e[145]=a("span",{class:"text-gray-500"},"每天次数:",-1)),p(" "+r(P.value.times_per_day?P.value.times_per_day+" 次":"—"),1)]),a("div",null,[e[146]||(e[146]=a("span",{class:"text-gray-500"},"处方开立:",-1)),p(" "+r(P.value.usage_days!=null&&P.value.usage_days!==""?P.value.usage_days+" 天":"—"),1)]),a("div",null,[e[147]||(e[147]=a("span",{class:"text-gray-500"},"订单设置:",-1)),p(" "+r(c.value.medication_days!=null&&String(c.value.medication_days).trim()!==""?c.value.medication_days+" 天":"—"),1)])])]),_:1}),l(V,{label:"状态",span:2},{default:n(()=>[l(d,{type:Number(P.value.void_status)===1?"danger":"success",size:"small"},{default:n(()=>[p(r(Number(P.value.void_status)===1?"已作废":"正常"),1)]),_:1},8,["type"])]),_:1})]),_:1}),nl.value?(u(),m("div",su,[e[148]||(e[148]=a("div",{class:"text-xs font-medium text-gray-500 mb-2 px-1"},"药材明细",-1)),Ra.value.length?(u(),g(At,{key:0,data:Ra.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(),g(re,{key:1,description:"无处方药材明细","image-size":64}))])):v("",!0)],64)):(u(),g(re,{key:4,description:"无处方数据","image-size":72}))]),_:1}),a("div",lu,[l(s,{shadow:"never",class:"po-panel border-gray-100"},{header:n(()=>[...e[149]||(e[149]=[a("div",{class:"flex items-center justify-between"},[a("span",{class:"font-medium text-[15px]"},"未关联的收款记录"),a("span",{class:"text-xs text-gray-400"},"本诊单下未被占用的支付单")],-1)])]),default:n(()=>[he.value.length?(u(),g(At,{key:0,data:he.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:i})=>[p(r(i.order_type_desc||nt(i.order_type)),1)]),_:1}),l(U,{label:"金额",width:"86",align:"right"},{default:n(({row:i})=>[a("span",nu,"¥"+r(i.amount),1)]),_:1}),l(U,{label:"状态",width:"100",align:"center"},{default:n(({row:i})=>[l(d,{type:Da(i.status),size:"small"},{default:n(()=>[p(r(i.status_desc||Pa(i.status)),1)]),_:2},1032,["type"]),i.is_exempt===1?(u(),g(d,{key:0,type:"warning",size:"small",class:"ml-1"},{default:n(()=>[...e[150]||(e[150]=[p("豁免",-1)])]),_:1})):v("",!0)]),_:1}),l(U,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),l(U,{label:"创建时间","min-width":"136"},{default:n(({row:i})=>[p(r($a(i.create_time)),1)]),_:1})]),_:1},8,["data"])):(u(),g(re,{key:1,description:"无未关联的收款单","image-size":60}))]),_:1}),l(s,{shadow:"never",class:"po-panel po-panel-pay border-gray-100 relative overflow-hidden"},{header:n(()=>[a("div",ou,[a("div",uu,[e[154]||(e[154]=a("span",{class:"font-medium text-[15px]"},"关联收款记录",-1)),c.value.creator_name?(u(),m("span",du,[e[153]||(e[153]=p(" 创建人:",-1)),a("span",pu,r(c.value.creator_name),1)])):v("",!0)])])]),default:n(()=>[c.value.payment_slip_audit_status===1?(u(),m("div",iu,[...e[151]||(e[151]=[a("div",{class:"stamp-inner"},"审核通过",-1)])])):v("",!0),c.value.payment_slip_audit_status===2?(u(),m("div",ru,[...e[152]||(e[152]=[a("div",{class:"stamp-inner"},"已驳回",-1)])])):v("",!0),Lt.value.length?(u(),g(At,{key:2,data:Lt.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:i})=>[p(r(i.order_type_desc||nt(i.order_type)),1)]),_:1}),l(U,{label:"金额",width:"86",align:"right"},{default:n(({row:i})=>[a("span",cu,"¥"+r(i.amount),1)]),_:1}),l(U,{label:"状态",width:"100",align:"center"},{default:n(({row:i})=>[l(d,{type:Da(i.status),size:"small"},{default:n(()=>[p(r(i.status_desc||Pa(i.status)),1)]),_:2},1032,["type"]),i.is_exempt===1?(u(),g(d,{key:0,type:"warning",size:"small",class:"ml-1"},{default:n(()=>[...e[155]||(e[155]=[p("豁免",-1)])]),_:1})):v("",!0)]),_:1}),l(U,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),l(U,{label:"创建时间","min-width":"136"},{default:n(({row:i})=>[p(r($a(i.create_time)),1)]),_:1})]),_:1},8,["data"])):(u(),g(re,{key:3,description:"未关联收款单","image-size":60}))]),_:1})])]),l(s,{shadow:"never",class:"po-panel po-panel-biz border-gray-100 mb-4"},{header:n(()=>[...e[156]||(e[156]=[a("span",{class:"font-medium text-[15px]"},"履约与收货信息",-1)])]),default:n(()=>[l(Ye,{column:1,border:"",size:"small",class:"po-desc"},{default:n(()=>[l(V,{label:"诊单ID"},{default:n(()=>[a("div",_u,[a("div",mu,[e[157]||(e[157]=a("span",{class:"text-[11px] font-semibold uppercase tracking-[0.06em] text-slate-500"},"关联诊单",-1)),a("span",fu,r(c.value.diagnosis_id||"—"),1),e[158]||(e[158]=a("span",{class:"text-[12px] leading-snug text-slate-500"},"病历与体征以诊单为准,可全屏查看",-1))]),Number(c.value.diagnosis_id)>0?(u(),g(S,{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:R(ri),"aria-label":"打开关联诊单详情(患者与病历)",onClick:gs},{default:n(()=>[...e[159]||(e[159]=[p(" 查看诊单详情 ",-1)])]),_:1},8,["icon"])):v("",!0)])]),_:1}),l(V,{label:"创建时间"},{default:n(()=>[p(r(fe(c.value.create_time)),1)]),_:1}),l(V,{label:"收货人"},{default:n(()=>[p(r(c.value.recipient_name),1)]),_:1}),l(V,{label:"挂号关联",span:3},{default:n(()=>[W.value?(u(),m(D,{key:0},[a("div",vu,[a("span",null,[e[160]||(e[160]=p("预约 ",-1)),a("span",gu,"#"+r(W.value.id),1)]),a("span",yu,"时间:"+r(W.value.appointment_date)+" "+r(W.value.period)+" "+r(W.value.appointment_time),1),l(d,{size:"small",type:"info"},{default:n(()=>[p(r(W.value.appointment_type_desc),1)]),_:1}),l(d,{size:"small"},{default:n(()=>[p(r(W.value.status_desc),1)]),_:1}),W.value.doctor_name?(u(),m("span",bu,"接诊:"+r(W.value.doctor_name),1)):v("",!0),W.value.channel_source?(u(),m("span",xu,"渠道:"+r(W.value.channel_source),1)):v("",!0),Oa.value?(u(),g(d,{key:2,size:"small",effect:"plain"},{default:n(()=>[p(r(Oa.value),1)]),_:1})):v("",!0)]),String(W.value.remark||"").trim()?(u(),m("p",ku," 备注:"+r(W.value.remark),1)):v("",!0)],64)):(u(),m("span",hu,"暂无挂号预约记录(未绑定或诊单下无预约)"))]),_:1}),l(V,{label:"收货手机"},{default:n(()=>[a("span",{class:j(Re.value?"text-red-600 font-bold font-mono":"font-mono")},r(c.value.recipient_phone||"—"),3),Re.value?(u(),g(d,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:n(()=>[...e[161]||(e[161]=[p(" 与处方手机不一致 ",-1)])]),_:1})):v("",!0)]),_:1}),l(V,{label:"收货地址",span:2},{default:n(()=>[p(r(il.value),1)]),_:1}),l(V,{label:"复诊"},{default:n(()=>[p(r(c.value.is_follow_up?"是":"否"),1)]),_:1}),l(V,{label:"用药疗程"},{default:n(()=>[p(r(c.value.medication_days?c.value.medication_days+" 天":"—"),1)]),_:1}),l(V,{label:"上次医护"},{default:n(()=>[p(r(c.value.prev_staff||"—"),1)]),_:1}),l(V,{label:"服务渠道"},{default:n(()=>[p(r(c.value.service_channel||"—"),1)]),_:1}),l(V,{label:"服务套餐"},{default:n(()=>[p(r(Gs(c.value.service_package)),1)]),_:1}),l(V,{label:"费用类别"},{default:n(()=>[p(r(nt(c.value.fee_type)),1)]),_:1}),c.value.internal_cost!=null&&c.value.internal_cost!==""?(u(),g(V,{key:0,label:"内部成本"},{default:n(()=>[p(" ¥"+r(c.value.internal_cost),1)]),_:1})):v("",!0),l(V,{label:"快递单号",span:c.value.internal_cost!=null&&c.value.internal_cost!==""?1:2},{default:n(()=>[p(r(c.value.tracking_number||"—"),1)]),_:1},8,["span"]),l(V,{label:"快递公司"},{default:n(()=>[p(r(ml(c.value.express_company)),1)]),_:1}),T((u(),g(V,{label:"备注",span:3},{default:n(()=>[p(r(c.value.remark_extra||"—"),1)]),_:1})),[[q,["tcm.prescriptionOrder/editRemarkExtra"]]]),l(V,{label:"医助备注",span:3},{default:n(()=>[p(r(c.value.remark_assistant||"—"),1)]),_:1}),l(V,{label:"处方审核意见",span:3},{default:n(()=>[a("span",wu,r(c.value.prescription_audit_remark||"—"),1)]),_:1}),l(V,{label:"支付审核意见",span:3},{default:n(()=>[a("span",Su,r(c.value.payment_slip_audit_remark||"—"),1)]),_:1})]),_:1})]),_:1}),String(c.value.tracking_number||"").trim()?(u(),g(s,{key:1,shadow:"never",class:"po-panel po-panel-logistics border-gray-100"},{header:n(()=>[...e[162]||(e[162]=[a("span",{class:"font-medium text-[15px]"},"物流轨迹",-1)])]),default:n(()=>{var i,C,N,I,Qe,Je;return[e[168]||(e[168]=a("p",{class:"po-logistics-tip text-gray-400 text-xs mb-3 font-normal"}," 优先读库,无记录时走快递100。顺丰会校验单号+电话(快递100要求完整手机号更易通过);默认预填订单收货手机,若仍提示验证码错误请改成与顺丰面单一致的号码。 ",-1)),a("div",Vu,[l(k,{modelValue:De.value,"onUpdate:modelValue":e[25]||(e[25]=ue=>De.value=ue),clearable:"",maxlength:"20",placeholder:"收件手机(建议11位,与面单一致)",class:"po-logistics-toolbar__phone",onKeyup:Ze(Wt,["enter"])},null,8,["modelValue"]),l($,{modelValue:Ee.value,"onUpdate:modelValue":e[26]||(e[26]=ue=>Ee.value=ue),placeholder:"承运商",class:"po-logistics-toolbar__carrier"},{default:n(()=>[l(y,{label:"自动识别",value:"auto"}),l(y,{label:"顺丰速运",value:"sf"}),l(y,{label:"京东快递",value:"jd"}),l(y,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),T((u(),g(S,{type:"primary",plain:"",size:"default",loading:ct.value,class:"po-logistics-toolbar__btn",onClick:Wt},{icon:n(()=>[l(o,null,{default:n(()=>[l(R(oi))]),_:1})]),default:n(()=>[e[163]||(e[163]=p(" 刷新轨迹 ",-1))]),_:1},8,["loading"])),[[q,["tcm.prescriptionOrder/logisticsTrace"]]]),a("div",Nu,[l(ra,{href:Gt.value.sf,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:n(()=>[...e[164]||(e[164]=[p("顺丰官网",-1)])]),_:1},8,["href"]),l(ra,{href:Gt.value.jd,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:n(()=>[...e[165]||(e[165]=[p("京东物流",-1)])]),_:1},8,["href"]),l(ra,{href:Gt.value.jt,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:n(()=>[...e[166]||(e[166]=[p("极兔",-1)])]),_:1},8,["href"])])]),String(((i=H.value)==null?void 0:i.hint)||"").trim()?(u(),g(le,{key:0,title:String(((C=H.value)==null?void 0:C.hint)||""),type:"info",closable:!1,class:"mb-4","show-icon":""},null,8,["title"])):v("",!0),ct.value&&!H.value?(u(),m("div",Pu,[l(o,{class:"is-loading mr-1"},{default:n(()=>[l(R(ui))]),_:1}),e[167]||(e[167]=p("正在加载物流轨迹... ",-1))])):H.value?(u(),m("div",Cu,[(N=H.value)!=null&&N.state_text?(u(),m("div",Au,[a("span",Tu,"状态:"+r(H.value.state_text),1),(I=H.value)!=null&&I.carrier_label?(u(),g(d,{key:0,size:"small",type:"info"},{default:n(()=>[p(r(H.value.carrier_label),1)]),_:1})):v("",!0),(Qe=H.value)!=null&&Qe.source?(u(),m("span",Ou," ["+r(H.value.source==="database"?"数据库缓存":"API拉取")+"] ",1)):v("",!0),(Je=H.value)!=null&&Je.last_query_time?(u(),m("span",Ru," 更新时间:"+r(H.value.last_query_time),1)):v("",!0)])):v("",!0),Ua.value.length?(u(),g(us,{key:1,class:"mt-2 pl-2"},{default:n(()=>[(u(!0),m(D,null,B(Ua.value,(ue,be)=>(u(),g(os,{key:be,type:be===0?"primary":"info",hollow:be!==0,timestamp:ue.time,placement:"top"},{default:n(()=>[a("span",{class:j(be===0?"text-gray-800 font-medium":"text-gray-500")},r(ue.context),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(u(),g(re,{key:2,description:"暂无轨迹节点记录","image-size":64}))])):v("",!0)]}),_:1})):v("",!0),T((u(),g(s,{shadow:"never",class:"po-panel border-gray-100 mt-4"},{header:n(()=>[...e[169]||(e[169]=[a("span",{class:"font-medium text-[15px]"},"操作日志",-1)])]),default:n(()=>[we.value.length?(u(),g(us,{key:0,class:"mt-2 pl-2"},{default:n(()=>[(u(!0),m(D,null,B(we.value,(i,C)=>(u(),g(os,{key:i.id,type:C===0?"primary":"info",hollow:C!==0,timestamp:fe(i.create_time),placement:"top"},{default:n(()=>[a("div",Eu,[a("span",Du,r(i.admin_name),1),l(d,{size:"small",type:"info"},{default:n(()=>[p(r(_l(i.action)),1)]),_:2},1024)]),a("span",{class:j(C===0?"text-gray-800 font-medium":"text-gray-500")},r(i.summary),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(u(),g(re,{key:1,description:"暂无操作日志","image-size":64}))]),_:1})),[[q,["tcm.prescriptionOrder/logs"]]])])):v("",!0)]),_:1},8,["modelValue"]),l(ce,{modelValue:$e.value,"onUpdate:modelValue":e[30]||(e[30]=i=>$e.value=i),title:"修改订单金额",width:"92%","destroy-on-close":"","close-on-click-modal":!1,onClosed:yl},{footer:n(()=>[l(S,{onClick:e[29]||(e[29]=i=>$e.value=!1)},{default:n(()=>[...e[171]||(e[171]=[p("取消",-1)])]),_:1}),l(S,{type:"primary",loading:Bt.value,onClick:Fa},{default:n(()=>[...e[172]||(e[172]=[p(" 确认修改 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(F,{ref_key:"updateAmountFormRef",ref:_t,model:ie,rules:pl,"label-width":"84px",onSubmit:Ot(Fa,["prevent"])},{default:n(()=>[l(f,{label:"当前金额"},{default:n(()=>{var i;return[a("div",$u,"¥"+r(de((i=c.value)==null?void 0:i.amount)),1)]}),_:1}),l(f,{label:"新金额",prop:"amount"},{default:n(()=>[l(Ce,{modelValue:ie.amount,"onUpdate:modelValue":e[28]||(e[28]=i=>ie.amount=i),min:.01,step:.01,precision:2,"controls-position":"right",class:"w-full",placeholder:"请输入新金额"},null,8,["modelValue"])]),_:1}),e[170]||(e[170]=a("div",{class:"text-xs text-gray-400 pl-[84px] -mt-1 leading-relaxed"}," 已完成或已取消订单不可修改。提交成功后会刷新详情与操作日志。 ",-1))]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(ce,{modelValue:ve.value,"onUpdate:modelValue":e[51]||(e[51]=i=>ve.value=i),title:"编辑业务订单",width:"96%",top:"2vh","close-on-click-modal":!1,"destroy-on-close":"",class:"create-order-dialog create-order-dialog--h5",onClosed:Nl},{footer:n(()=>[a("div",fd,[a("div",vd,[a("span",gd,"第 "+r(L.value+1)+" / 3 步",1),L.value===2&&M.value>0?(u(),m("span",yd," 订单金额与关联支付单合计须 ≥ ¥"+r(de(M.value)),1)):v("",!0)]),a("div",bd,[l(S,{size:"large",onClick:e[50]||(e[50]=i=>ve.value=!1)},{default:n(()=>[...e[185]||(e[185]=[p("取消",-1)])]),_:1}),L.value>0?(u(),g(S,{key:0,size:"large",onClick:Pl},{default:n(()=>[...e[186]||(e[186]=[p("上一步",-1)])]),_:1})):v("",!0),L.value<2?(u(),g(S,{key:1,type:"primary",size:"large",onClick:Cl},{default:n(()=>[...e[187]||(e[187]=[p(" 下一步 ",-1)])]),_:1})):v("",!0),L.value===2?(u(),g(S,{key:2,type:"primary",size:"large",loading:Jt.value,onClick:Tl},{default:n(()=>[...e[188]||(e[188]=[p(" 确认保存 ",-1)])]),_:1},8,["loading"])):v("",!0)])])]),default:n(()=>[T((u(),m("div",Uu,[se.value?(u(),m("div",zu,[a("div",Fu,[e[173]||(e[173]=a("span",{class:"create-order-rx-card__badge"},"关联处方",-1)),a("div",Iu,[a("span",ju,"#"+r(se.value.id),1),se.value.sn?(u(),m("span",Lu,r(se.value.sn),1)):v("",!0),a("span",qu,r(se.value.patient_name||"—"),1)])]),l(ds,{content:ja.value,placement:"bottom","show-after":300},{default:n(()=>[a("div",Mu,r(ja.value),1)]),_:1},8,["content"])])):v("",!0),l(Ke,{active:L.value,"finish-status":"success","align-center":"",class:"create-order-steps"},{default:n(()=>[l(oe,{title:"患者与收货",description:"诊单与物流地址"}),l(oe,{title:"服务与支付单",description:"套餐与关联收款"}),l(oe,{title:"金额与确认",description:"费用与备注"})]),_:1},8,["active"]),a("p",Bu,r(kl.value),1),l(F,{ref_key:"editFormRef",ref:Se,model:_,rules:Vl.value,"label-width":"108px",class:"create-order-form"},{default:n(()=>[T(a("div",Hu,[l(pe,{gutter:20},{default:n(()=>[l(E,{span:12},{default:n(()=>[l(f,{label:"收货人",prop:"recipient_name"},{default:n(()=>[l(k,{modelValue:_.recipient_name,"onUpdate:modelValue":e[31]||(e[31]=i=>_.recipient_name=i),maxlength:"50",placeholder:"姓名"},null,8,["modelValue"])]),_:1})]),_:1}),l(E,{span:12},{default:n(()=>[l(f,{label:"收货手机",prop:"recipient_phone"},{default:n(()=>[l(k,{modelValue:_.recipient_phone,"onUpdate:modelValue":e[32]||(e[32]=i=>_.recipient_phone=i),maxlength:"20",placeholder:"物流联系"},null,8,["modelValue"])]),_:1})]),_:1}),l(E,{span:24},{default:n(()=>[l(f,{label:"省市区",prop:"region"},{default:n(()=>[l(pn,{modelValue:_.region,"onUpdate:modelValue":e[33]||(e[33]=i=>_.region=i),options:et.value,props:{emitPath:!0},placeholder:"省 / 市 / 区",clearable:"",filterable:"",class:"w-full"},null,8,["modelValue","options"])]),_:1})]),_:1}),l(E,{span:24},{default:n(()=>[l(f,{label:"详细地址",prop:"shipping_address"},{default:n(()=>[l(k,{modelValue:_.shipping_address,"onUpdate:modelValue":e[34]||(e[34]=i=>_.shipping_address=i),type:"textarea",rows:3,placeholder:"街道、小区、门牌号等详细地址",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[Tt,L.value===0]]),T(a("div",Gu,[me.value?(u(),g(pe,{key:0,gutter:20,class:"mb-1"},{default:n(()=>[l(E,{span:24},{default:n(()=>[a("div",Wu,[e[176]||(e[176]=a("span",{class:"text-sm font-medium text-gray-700 mr-1"},"处方",-1)),_.prescription_id?(u(),g(S,{key:0,type:"primary",size:"small",link:"",onClick:rn},{default:n(()=>[...e[174]||(e[174]=[p(" 详细 ",-1)])]),_:1})):v("",!0),_.id?(u(),g(S,{key:1,type:"warning",size:"small",link:"",loading:Ne.value,icon:R(da),onClick:$l},{default:n(()=>[...e[175]||(e[175]=[p(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):v("",!0),a("span",Ku,"ID: "+r(_.prescription_id||"—"),1)]),a("div",Yu,[La.value.length?(u(),m("div",Qu,[e[177]||(e[177]=a("div",{class:"text-gray-500"},"创建人所属部门",-1)),(u(!0),m(D,null,B(La.value,(i,C)=>(u(),m("div",{key:C,class:"pl-0 min-w-0"},[i.length?(u(),g(_n,{key:0,class:"po-diagnosis-creator-dept-breadcrumb text-[13px] leading-relaxed",separator:"/"},{default:n(()=>[(u(!0),m(D,null,B(i,(N,I)=>(u(),g(cn,{key:I},{default:n(()=>[a("span",Ju,r(N),1)]),_:2},1024))),128))]),_:2},1024)):v("",!0)]))),128))])):(u(),m("div",Xu,"创建人所属部门:—"))])]),_:1}),l(E,{xs:24,sm:8},{default:n(()=>[l(f,{label:"复诊"},{default:n(()=>[l(mn,{modelValue:_.is_follow_up,"onUpdate:modelValue":e[35]||(e[35]=i=>_.is_follow_up=i),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1}),l(E,{xs:24,sm:8},{default:n(()=>[l(f,{label:"服用天数",class:"create-order-form-item--inline-num"},{default:n(()=>[a("div",Zu,[l(Ce,{modelValue:_.medication_days,"onUpdate:modelValue":e[36]||(e[36]=i=>_.medication_days=i),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[178]||(e[178]=a("span",{class:"create-order-unit-suffix"},"天",-1))])]),_:1})]),_:1}),l(E,{xs:24,sm:8},{default:n(()=>[l(f,{label:"上次医生"},{default:n(()=>[l(k,{modelValue:_.prev_staff,"onUpdate:modelValue":e[37]||(e[37]=i=>_.prev_staff=i),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),l(E,{span:12},{default:n(()=>[l(f,{label:Ea.value,prop:"dose_count"},{default:n(()=>[l(Ce,{modelValue:_.dose_count,"onUpdate:modelValue":e[38]||(e[38]=i=>_.dose_count=i),min:1,placeholder:Ea.value,class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1}),l(E,{span:12},{default:n(()=>[l(f,{label:"剂量单位",prop:"dose_unit"},{default:n(()=>[l($,{modelValue:_.dose_unit,"onUpdate:modelValue":e[39]||(e[39]=i=>_.dose_unit=i),placeholder:"请选择",class:"w-full"},{default:n(()=>[l(y,{label:"剂",value:"剂"}),l(y,{label:"丸",value:"丸"}),l(y,{label:"袋",value:"袋"}),l(y,{label:"盒",value:"盒"}),l(y,{label:"瓶",value:"瓶"}),l(y,{label:"膏",value:"膏"}),l(y,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})):v("",!0),l(pe,{gutter:20},{default:n(()=>[l(E,{span:12},{default:n(()=>[l(f,{label:"服务渠道"},{default:n(()=>[l(k,{modelValue:_.service_channel,"onUpdate:modelValue":e[40]||(e[40]=i=>_.service_channel=i),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),l(E,{span:12},{default:n(()=>[l(f,{label:"服务套餐"},{default:n(()=>[l($,{modelValue:_.service_package,"onUpdate:modelValue":e[41]||(e[41]=i=>_.service_package=i),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"请选择服务套餐",clearable:"",class:"w-full"},{default:n(()=>[(u(!0),m(D,null,B(Te.value,i=>(u(),g(y,{key:i.value,label:i.name,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(E,{span:24},{default:n(()=>[l(f,{label:"物流设置"},{default:n(()=>[a("div",ed,[l($,{modelValue:_.express_company,"onUpdate:modelValue":e[42]||(e[42]=i=>_.express_company=i),placeholder:"承运商",class:"w-[140px] shrink-0"},{default:n(()=>[l(y,{label:"自动识别",value:"auto"}),l(y,{label:"顺丰速运",value:"sf"}),l(y,{label:"京东快递",value:"jd"}),l(y,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),l(k,{modelValue:_.tracking_number,"onUpdate:modelValue":e[43]||(e[43]=i=>_.tracking_number=i),maxlength:"80",placeholder:"快递单号",class:"flex-1 min-w-0"},null,8,["modelValue"])])]),_:1})]),_:1}),l(E,{span:24},{default:n(()=>[l(f,{label:"关联支付单",prop:"pay_order_ids",required:M.value>0},{default:n(()=>[l($,{modelValue:_.pay_order_ids,"onUpdate:modelValue":e[44]||(e[44]=i=>_.pay_order_ids=i),class:"w-full",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:M.value>0?"请至少选择一笔本诊单支付单(已开启门槛)":"多选本诊单支付单(可选)",loading:Xt.value},{default:n(()=>[(u(!0),m(D,null,B(ze.value,i=>(u(),g(y,{key:i.id,label:`${i.order_no} · ¥${i.amount} · ${Zt(i.order_type)}`,value:i.id,class:"!h-auto py-1.5"},{default:n(()=>[a("div",td,[a("div",ad,[a("span",sd,r(i.order_no),1),a("span",ld,"¥"+r(i.amount),1)]),a("div",nd,[a("span",id,[p(r(Zt(i.order_type)),1),i.remark?(u(),m(D,{key:0},[p(" · "+r(i.remark),1)],64)):v("",!0)]),a("span",rd,r(String(i.create_time||"").substring(0,16)),1)])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","loading"]),a("div",od,[M.value>0?(u(),m(D,{key:0},[a("span",ud,"当前已开启关联支付门槛(¥"+r(de(M.value))+"),须至少选择一笔支付单。",1),e[179]||(e[179]=a("span",{class:"mx-1"},null,-1))],64)):v("",!0),e[181]||(e[181]=p(" 主管/本诊单医助可见全部支付单;否则仅本人收款单。已被占用的支付单不列出。 ",-1)),l(ds,{content:"主管或本诊单医助可见该诊单全部支付单(待支付/已支付),否则仅本人创建的收款单。已被其他有效业务订单占用的支付单不会出现在此列表。",placement:"top"},{default:n(()=>[...e[180]||(e[180]=[a("span",{class:"text-primary cursor-help ml-0.5"},"详情",-1)])]),_:1})])]),_:1},8,["required"])]),_:1})]),_:1})],512),[[Tt,L.value===1]]),T(a("div",dd,[a("div",{class:j(["create-order-deposit-bar",ea.value>=M.value?"is-ok":"is-warn"])},[a("div",pd,[e[182]||(e[182]=a("span",{class:"create-order-deposit-bar__label"},"定金门槛",-1)),a("strong",null,"¥"+r(de(M.value)),1),a("span",cd,r(M.value>0?"须 ≥ 此值":"未设置"),1)]),e[184]||(e[184]=a("div",{class:"create-order-deposit-bar__sep"},null,-1)),a("div",_d,[e[183]||(e[183]=a("span",{class:"create-order-deposit-bar__label"},"已选收款",-1)),a("strong",null,"¥"+r(de(ea.value)),1),a("span",md,r(ea.value>=M.value?"已达标":"未达标"),1)])],2),l(pe,{gutter:20,class:"create-order-step-panel__row-after-bar"},{default:n(()=>[l(E,{span:12},{default:n(()=>[l(f,{label:"费用类别",prop:"fee_type"},{default:n(()=>[l($,{modelValue:_.fee_type,"onUpdate:modelValue":e[45]||(e[45]=i=>_.fee_type=i),placeholder:"请选择",class:"w-full"},{default:n(()=>[l(y,{label:"挂号费",value:1}),l(y,{label:"问诊费",value:2}),l(y,{label:"药品费用",value:3}),l(y,{label:"首付费用",value:4}),l(y,{label:"尾款费用",value:5}),l(y,{label:"其他费用",value:6}),l(y,{label:"全部费用",value:7}),l(y,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(E,{span:12},{default:n(()=>[l(f,{label:"总金额",prop:"amount"},{default:n(()=>[l(Ce,{modelValue:_.amount,"onUpdate:modelValue":e[46]||(e[46]=i=>_.amount=i),min:wl.value,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"元"},null,8,["modelValue","min"])]),_:1})]),_:1}),T((u(),g(E,{span:12},{default:n(()=>[l(f,{label:"内部成本"},{default:n(()=>[l(Ce,{modelValue:_.internal_cost,"onUpdate:modelValue":e[47]||(e[47]=i=>_.internal_cost=i),min:0,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"财务可见"},null,8,["modelValue"])]),_:1})]),_:1})),[[q,["finance.account_log/lists"]]]),l(E,{span:24},{default:n(()=>[T((u(),g(f,{label:"药房备注"},{default:n(()=>[l(k,{modelValue:_.remark_extra,"onUpdate:modelValue":e[48]||(e[48]=i=>_.remark_extra=i),type:"textarea",rows:3,placeholder:"选填,对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})),[[q,["tcm.prescriptionOrder/editRemarkExtra"]]]),l(f,{label:"医助备注"},{default:n(()=>[l(k,{modelValue:_.remark_assistant,"onUpdate:modelValue":e[49]||(e[49]=i=>_.remark_assistant=i),type:"textarea",rows:3,placeholder:"选填,医助对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[Tt,L.value===2]])]),_:1},8,["model","rules"])])),[[ye,Qt.value]])]),_:1},8,["modelValue"]),l(ce,{modelValue:Fe.value,"onUpdate:modelValue":e[56]||(e[56]=i=>Fe.value=i),title:Ol.value,width:"92%","destroy-on-close":"",class:"po-h5-dialog",onClosed:e[57]||(e[57]=i=>Ve.value="")},{footer:n(()=>[l(S,{onClick:e[53]||(e[53]=i=>Fe.value=!1)},{default:n(()=>[...e[190]||(e[190]=[p("取消",-1)])]),_:1}),l(S,{type:"primary",loading:ft.value,onClick:e[54]||(e[54]=i=>Ma("approve"))},{default:n(()=>[...e[191]||(e[191]=[p("同意通过",-1)])]),_:1},8,["loading"]),l(S,{type:"danger",loading:ft.value,onClick:e[55]||(e[55]=i=>Ma("reject"))},{default:n(()=>[...e[192]||(e[192]=[p("驳回阻止",-1)])]),_:1},8,["loading"])]),default:n(()=>[Ie.value&&Ie.value.completion_request===1?(u(),g(le,{key:0,title:"完单申请",type:"warning",closable:!1,"show-icon":"",class:"mb-3"},{default:n(()=>[a("div",xd,[e[189]||(e[189]=a("div",{class:"font-medium mb-1"},"该订单已申请完成",-1)),a("div",kd," 申请人:"+r(Ie.value.completion_request_by_name||"—"),1),a("div",hd," 申请时间:"+r(fe(Ie.value.completion_request_time)),1)])]),_:1})):v("",!0),e[193]||(e[193]=a("p",{class:"text-[13px] text-gray-500 mb-3 bg-gray-50/80 border border-gray-100 p-2 rounded"},"驳回时必须填写意见;通过时意见选填。",-1)),l(k,{modelValue:Ve.value,"onUpdate:modelValue":e[52]||(e[52]=i=>Ve.value=i),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"在此输入审核意见..."},null,8,["modelValue"])]),_:1},8,["modelValue","title"]),l(ce,{modelValue:je.value,"onUpdate:modelValue":e[61]||(e[61]=i=>je.value=i),title:"修改快递单号",width:"92%","destroy-on-close":"",class:"po-h5-dialog","close-on-click-modal":!1},{footer:n(()=>[l(S,{onClick:e[60]||(e[60]=i=>je.value=!1)},{default:n(()=>[...e[195]||(e[195]=[p("取消",-1)])]),_:1}),l(S,{type:"primary",loading:gt.value,onClick:Ga},{default:n(()=>[...e[196]||(e[196]=[p("保存单号",-1)])]),_:1},8,["loading"])]),default:n(()=>[T((u(),g(F,{"label-width":"90px",class:"pr-2",onSubmit:Ot(Ga,["prevent"])},{default:n(()=>[l(f,{label:"承运商"},{default:n(()=>[l($,{modelValue:Z.express_company,"onUpdate:modelValue":e[58]||(e[58]=i=>Z.express_company=i),class:"w-full",placeholder:"选择承运商"},{default:n(()=>[l(y,{label:"自动识别",value:"auto"}),l(y,{label:"顺丰速运",value:"sf"}),l(y,{label:"京东快递",value:"jd"}),l(y,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),l(f,{label:"快递单号"},{default:n(()=>[l(k,{modelValue:Z.tracking_number,"onUpdate:modelValue":e[59]||(e[59]=i=>Z.tracking_number=i),maxlength:"80",placeholder:"请输入快递单号",clearable:"",autofocus:""},null,8,["modelValue"])]),_:1}),e[194]||(e[194]=a("div",{class:"text-xs text-gray-400 pl-[90px] -mt-1 leading-relaxed"}," 仅更新快递信息,其他字段不受影响。 ",-1))]),_:1})),[[ye,gt.value]])]),_:1},8,["modelValue"]),l(ce,{modelValue:qe.value,"onUpdate:modelValue":e[66]||(e[66]=i=>qe.value=i),title:"确认发货",width:"92%","destroy-on-close":"",class:"po-h5-dialog","close-on-click-modal":!1},{footer:n(()=>[l(S,{onClick:e[65]||(e[65]=i=>qe.value=!1)},{default:n(()=>[...e[199]||(e[199]=[p("取消",-1)])]),_:1}),l(S,{type:"primary",loading:yt.value,onClick:Wa},{default:n(()=>[...e[200]||(e[200]=[p(" 确认发货 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(le,{title:"确认后订单状态将变更为「已发货」,请核对快递信息无误。",type:"warning",closable:!1,"show-icon":"",class:"mb-4"}),T((u(),g(F,{"label-width":"90px",class:"pr-2",onSubmit:Ot(Wa,["prevent"])},{default:n(()=>[l(f,{label:"发货方式"},{default:n(()=>[l(ua,{modelValue:Y.ship_mode,"onUpdate:modelValue":e[62]||(e[62]=i=>Y.ship_mode=i)},{default:n(()=>[l(Ae,{label:"gancao"},{default:n(()=>[...e[197]||(e[197]=[p("甘草药方发",-1)])]),_:1}),l(Ae,{label:"direct"},{default:n(()=>[...e[198]||(e[198]=[p("药房直发",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(f,{label:"承运商"},{default:n(()=>[l($,{modelValue:Y.express_company,"onUpdate:modelValue":e[63]||(e[63]=i=>Y.express_company=i),class:"w-full"},{default:n(()=>[l(y,{label:"自动识别",value:"auto"}),l(y,{label:"顺丰速运",value:"sf"}),l(y,{label:"京东快递",value:"jd"}),l(y,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),l(f,{label:"快递单号"},{default:n(()=>[l(k,{modelValue:Y.tracking_number,"onUpdate:modelValue":e[64]||(e[64]=i=>Y.tracking_number=i),maxlength:"80",placeholder:"请输入快递单号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1})),[[ye,yt.value]])]),_:1},8,["modelValue"]),l(ce,{modelValue:Me.value,"onUpdate:modelValue":e[69]||(e[69]=i=>Me.value=i),title:"完成订单",width:"92%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:e[70]||(e[70]=i=>sa.value=0)},{footer:n(()=>[l(S,{onClick:e[68]||(e[68]=i=>Me.value=!1)},{default:n(()=>[...e[201]||(e[201]=[p("取消",-1)])]),_:1}),l(S,{type:"primary",loading:la.value,onClick:jl},{default:n(()=>[...e[202]||(e[202]=[p(" 确定 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[e[203]||(e[203]=a("p",{class:"text-sm text-gray-600 mb-3"},"请选择本单结案状态。选择「已完成」时,实付将按已关联的支付单金额汇总。",-1)),l($,{modelValue:xt.value,"onUpdate:modelValue":e[67]||(e[67]=i=>xt.value=i),class:"w-full",placeholder:"请选择"},{default:n(()=>[(u(),m(D,null,B(Il,i=>l(y,{key:i.value,label:i.label,value:i.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"]),l(ce,{modelValue:Be.value,"onUpdate:modelValue":e[78]||(e[78]=i=>Be.value=i),title:"补齐支付单",width:"94%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:e[79]||(e[79]=i=>{var C;return(C=ht.value)==null?void 0:C.clearValidate()})},{footer:n(()=>[l(S,{onClick:e[77]||(e[77]=i=>Be.value=!1)},{default:n(()=>[...e[210]||(e[210]=[p("取消",-1)])]),_:1}),l(S,{type:"primary",loading:kt.value,onClick:Ml},{default:n(()=>[...e[211]||(e[211]=[p("确认新增",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(le,{title:"可以手动创建新支付单,或关联已存在但未绑定的支付单。",type:"info",closable:!1,"show-icon":"",class:"mb-4"}),T((u(),g(F,{ref_key:"addPayOrderFormRef",ref:ht,model:O,rules:Ll,"label-width":"90px",class:"pr-2"},{default:n(()=>[l(f,{label:"添加方式",prop:"add_mode"},{default:n(()=>[l(ua,{modelValue:O.add_mode,"onUpdate:modelValue":e[71]||(e[71]=i=>O.add_mode=i)},{default:n(()=>[l(Ae,{value:"create"},{default:n(()=>[...e[204]||(e[204]=[p("手动创建",-1)])]),_:1}),l(Ae,{value:"link"},{default:n(()=>[...e[205]||(e[205]=[p("关联已有",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),O.add_mode==="create"?(u(),m(D,{key:0},[l(f,{label:"费用类别",prop:"order_type"},{default:n(()=>[l($,{modelValue:O.order_type,"onUpdate:modelValue":e[72]||(e[72]=i=>O.order_type=i),class:"w-full"},{default:n(()=>[l(y,{label:"挂号费",value:1}),l(y,{label:"问诊费",value:2}),l(y,{label:"药品费用",value:3}),l(y,{label:"首付费用",value:4}),l(y,{label:"尾款费用",value:5}),l(y,{label:"其他费用",value:6}),l(y,{label:"全部费用",value:7}),l(y,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),l(f,{label:"支付金额",prop:"pay_amount"},{default:n(()=>[l(Ce,{modelValue:O.pay_amount,"onUpdate:modelValue":e[73]||(e[73]=i=>O.pay_amount=i),min:.01,step:.01,precision:2,class:"w-full",placeholder:"请输入支付金额(元)"},null,8,["modelValue"])]),_:1}),l(f,{label:"备注",prop:"pay_remark"},{default:n(()=>[l(k,{modelValue:O.pay_remark,"onUpdate:modelValue":e[74]||(e[74]=i=>O.pay_remark=i),type:"textarea",rows:3,maxlength:"200","show-word-limit":"",placeholder:"支付说明(选填)"},null,8,["modelValue"])]),_:1})],64)):(u(),g(f,{key:1,label:"选择支付单",prop:"link_pay_order_id"},{default:n(()=>[l($,{modelValue:O.link_pay_order_ids,"onUpdate:modelValue":e[75]||(e[75]=i=>O.link_pay_order_ids=i),class:"w-full",placeholder:"选择未绑定的支付单(可多选)",loading:na.value,multiple:"","collapse-tags":"","collapse-tags-tooltip":""},{default:n(()=>[(u(!0),m(D,null,B(wt.value,i=>(u(),g(y,{key:i.id,label:`${i.order_no} · ¥${i.amount} · ${Zt(i.order_type)}`,value:i.id},{default:n(()=>[a("div",wd,[a("span",Sd,r(i.order_no),1),a("span",Vd,"¥"+r(i.amount),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading"]),e[206]||(e[206]=a("div",{class:"text-xs text-gray-500 mt-1.5"}," 仅显示本诊单下未被其他业务订单占用的支付单,可同时选择多个 ",-1))]),_:1})),l(f,{label:"完单申请"},{default:n(()=>[l(ua,{modelValue:O.completion_request,"onUpdate:modelValue":e[76]||(e[76]=i=>O.completion_request=i)},{default:n(()=>[l(Ae,{value:0},{default:n(()=>[...e[207]||(e[207]=[p("不申请",-1)])]),_:1}),l(Ae,{value:1},{default:n(()=>[...e[208]||(e[208]=[p("申请完成订单",-1)])]),_:1})]),_:1},8,["modelValue"]),e[209]||(e[209]=a("div",{class:"text-xs text-gray-400 mt-1"},' 选择"申请完成订单"后,审核人员可在支付审核时看到此申请 ',-1))]),_:1})]),_:1},8,["model"])),[[ye,kt.value]])]),_:1},8,["modelValue"]),l(ce,{modelValue:Ue.value,"onUpdate:modelValue":e[83]||(e[83]=i=>Ue.value=i),title:"修改处方患者信息",width:"92%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:gl},{footer:n(()=>[l(S,{onClick:e[82]||(e[82]=i=>Ue.value=!1)},{default:n(()=>[...e[212]||(e[212]=[p("取消",-1)])]),_:1}),l(S,{type:"primary",loading:Kt.value,onClick:xl},{default:n(()=>[...e[213]||(e[213]=[p(" 保存 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(F,{ref_key:"patchRxPatientFormRef",ref:Yt,model:ae,rules:fl,"label-width":"96px"},{default:n(()=>[l(f,{label:"患者姓名",prop:"patient_name"},{default:n(()=>[l(k,{modelValue:ae.patient_name,"onUpdate:modelValue":e[80]||(e[80]=i=>ae.patient_name=i),maxlength:"50","show-word-limit":"",placeholder:"与处方笺一致",clearable:""},null,8,["modelValue"])]),_:1}),l(f,{label:"手机",prop:"phone"},{default:n(()=>[l(k,{modelValue:ae.phone,"onUpdate:modelValue":e[81]||(e[81]=i=>ae.phone=i),maxlength:"20",placeholder:"处方登记手机号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(oa,{modelValue:St.value,"onUpdate:modelValue":e[84]||(e[84]=i=>St.value=i),size:"100%",direction:"btt",class:"po-h5-drawer","close-on-click-modal":!1},{header:n(()=>[a("div",Nd,[e[216]||(e[216]=a("span",{class:"text-base font-medium text-gray-800"},"查看处方",-1)),h.value&&!Vt.value?(u(),m("div",Pd,[l(S,{size:"small",loading:Pe.value,onClick:un},{default:n(()=>[...e[214]||(e[214]=[p(" 下载图片 ",-1)])]),_:1},8,["loading"]),l(S,{size:"small",loading:Pe.value,onClick:dn},{default:n(()=>[...e[215]||(e[215]=[p(" 下载PDF ",-1)])]),_:1},8,["loading"])])):v("",!0)])]),default:n(()=>[T((u(),m("div",Cd,[h.value?(u(),m("div",Ad,[Number(h.value.void_status)===1?(u(),g(d,{key:0,type:"danger",size:"small"},{default:n(()=>[...e[217]||(e[217]=[p("已作废",-1)])]),_:1})):Number(h.value.business_prescription_audit_rejected)===1?(u(),g(d,{key:1,type:"danger",size:"small"},{default:n(()=>[...e[218]||(e[218]=[p("业务订单已驳回",-1)])]),_:1})):Number(h.value.audit_status)===1?(u(),g(d,{key:2,type:"success",size:"small"},{default:n(()=>[...e[219]||(e[219]=[p("已通过",-1)])]),_:1})):Number(h.value.audit_status)===0?(u(),g(d,{key:3,type:"warning",size:"small"},{default:n(()=>[...e[220]||(e[220]=[p("待审核",-1)])]),_:1})):(u(),g(d,{key:4,type:"danger",size:"small"},{default:n(()=>[...e[221]||(e[221]=[p("已驳回",-1)])]),_:1}))])):v("",!0),h.value&&Number(h.value.void_status)===1?(u(),m("div",Td," 作废人:"+r(h.value.void_by_name||"—")+",作废时间:"+r(sn(h.value.void_time)),1)):h.value&&Number(h.value.business_prescription_audit_rejected)===1?(u(),m("div",Od,[e[222]||(e[222]=a("div",{class:"font-medium"},"审核状态:已驳回(业务订单·处方审核)",-1)),h.value.business_prescription_audit_remark?(u(),m("div",Rd," 驳回意见:"+r(h.value.business_prescription_audit_remark),1)):v("",!0)])):h.value&&Number(h.value.audit_status)===2?(u(),m("div",Ed,[e[223]||(e[223]=a("div",{class:"font-medium"},"消费者处方审核:已驳回",-1)),h.value.audit_remark?(u(),m("div",Dd,"驳回意见:"+r(h.value.audit_remark),1)):v("",!0)])):v("",!0),h.value?(u(),m("div",{key:4,ref_key:"prescriptionSlipPrintRef",ref:Qa,class:"rx-paper"},[a("div",{class:"rx-title"},r(Gl)),a("div",$d,[e[228]||(e[228]=a("span",{class:"rx-notice-text"}," 服药前请核对姓名、电话、医生等信息以及服法、医嘱等要点 ",-1)),a("div",Ud,[a("div",zd,[e[224]||(e[224]=a("span",{class:"rx-meta-label"},"日期",-1)),a("span",Fd,r(Kl.value),1)]),a("div",Id,[e[225]||(e[225]=a("span",{class:"rx-meta-label"},"处方编号",-1)),a("span",jd,r(Yl.value),1)]),a("div",Ld,[e[226]||(e[226]=a("span",{class:"rx-meta-label"},"流转编号(挂号)",-1)),a("span",qd,r(Ql.value),1)]),Ja.value?(u(),m("div",Md,[e[227]||(e[227]=a("span",{class:"rx-meta-label"},"业务单号",-1)),a("span",Bd,r(Ja.value),1)])):v("",!0)])]),a("div",Hd,[a("div",Gd,[a("div",Wd,[e[229]||(e[229]=a("span",{class:"rx-key"},"姓名",-1)),a("span",Kd,r(h.value.patient_name||"—"),1)]),a("div",Yd,[e[230]||(e[230]=a("span",{class:"rx-key"},"性别",-1)),a("span",Qd,r(ln(h.value.gender)),1)]),a("div",Jd,[e[231]||(e[231]=a("span",{class:"rx-key"},"年龄",-1)),a("span",Xd,r(nn(h.value.age)),1)]),a("div",Zd,[e[232]||(e[232]=a("span",{class:"rx-key"},"电话",-1)),a("span",ep,r(h.value.phone||h.value.recipient_phone||"—"),1)])]),a("div",tp,[a("div",ap,[e[233]||(e[233]=a("span",{class:"rx-key"},"收件信息",-1)),a("span",sp,r(Jl.value),1)])]),a("div",lp,[a("div",np,[e[234]||(e[234]=a("span",{class:"rx-key"},"临床诊断",-1)),a("span",ip,r(h.value.clinical_diagnosis||"—"),1)])])]),a("div",rp,[e[235]||(e[235]=a("div",{class:"rx-watermark"},"药房联",-1)),e[236]||(e[236]=a("div",{class:"rx-rp-head"},[a("div",{class:"rx-rp-label"},"Rp."),a("div",{class:"rx-rp-cols-head"},[a("div",{class:"rx-rp-col-head"},[a("span",null,"用药 (单剂)"),a("span",null,"总量")]),a("div",{class:"rx-rp-col-head"},[a("span",null,"用药 (单剂)"),a("span",null,"总量")])])],-1)),a("div",op,[(u(!0),m(D,null,B(Nt.value,(i,C)=>(u(),m("div",{key:C,class:"rx-herb-cell"},[a("span",up,r(i.name)+" ("+r(i.dosage)+"克)",1),a("span",dp,r(Zl(i.dosage))+"克",1)]))),128))])]),a("div",pp,[a("p",null,"服法:"+r(tn.value),1),Za.value?(u(),m("p",cp,"医嘱:"+r(Za.value),1)):v("",!0),es.value?(u(),m("p",_p,"备注:"+r(es.value),1)):v("",!0),ts.value?(u(),m("p",mp," 药房备注:"+r(ts.value),1)):v("",!0),as.value?(u(),m("p",fp," 出丸:"+r(as.value),1)):v("",!0)]),a("div",vp,[a("div",gp,[a("div",yp,[e[237]||(e[237]=a("div",{class:"rx-bot-label rx-bot-label--doctor"},"医师",-1)),a("div",bp,[h.value.doctor_signature?(u(),m("img",{key:0,src:h.value.doctor_signature,alt:"医师签名",class:"rx-bot-sign-img"},null,8,xp)):v("",!0)])]),a("div",kp,[e[238]||(e[238]=a("span",{class:"rx-bot-meta-key"},"类型:",-1)),a("span",hp,r(en.value),1)]),a("div",wp,[e[239]||(e[239]=a("span",{class:"rx-bot-meta-key"},"天数:",-1)),a("span",Sp,r(c.value.medication_days!=null&&String(c.value.medication_days).trim()!==""?c.value.medication_days+" 天":"—"),1)]),a("div",Vp,[e[240]||(e[240]=a("span",{class:"rx-bot-meta-key"},"剂量:",-1)),a("span",Np,r(Xl.value)+"克",1)])])]),e[241]||(e[241]=a("div",{class:"rx-bot-row rx-hospital-row"},[a("div",{class:"rx-hospital-line"},"成都双流甄养堂互联网医院有限公司 联系方式:4001667339"),a("div",{class:"rx-hospital-line"},"地址:四川省成都市双流区黄甲街道黄龙大道二段280号")],-1))],512)):v("",!0),h.value&&(h.value.audit_by_name||h.value.audit_remark)?(u(),m("div",Pp,[h.value.audit_by_name?(u(),m("div",Cp,[p(" 审核人:"+r(h.value.audit_by_name)+" ",1),h.value.audit_time?(u(),m("span",Ap,r(ss(h.value.audit_time)),1)):v("",!0)])):v("",!0),h.value.audit_remark?(u(),m("div",Tp,"审核意见:"+r(h.value.audit_remark),1)):v("",!0)])):v("",!0)])),[[ye,Vt.value]])]),_:1},8,["modelValue"]),l(oa,{modelValue:vt.value,"onUpdate:modelValue":e[85]||(e[85]=i=>vt.value=i),title:"甘草预下单测试结果",size:"100%",direction:"btt",class:"po-h5-drawer","destroy-on-close":""},{default:n(()=>{var i,C;return[z.value?(u(),m("div",Op,[l(s,{shadow:"never",class:"mb-4"},{header:n(()=>[a("div",Rp,[e[243]||(e[243]=a("span",{class:"font-semibold"},"价格信息",-1)),l(d,{type:"success"},{default:n(()=>[...e[242]||(e[242]=[p("预下单成功",-1)])]),_:1})])]),default:n(()=>[l(Ye,{column:2,border:""},{default:n(()=>[l(V,{label:"药材成本"},{default:n(()=>{var N;return[a("span",Ep,"¥"+r(((N=z.value.fee)==null?void 0:N.m_cost)||"0.00"),1)]}),_:1}),l(V,{label:"制作费"},{default:n(()=>{var N;return[a("span",Dp,"¥"+r((((N=z.value.fee)==null?void 0:N.proces_cost)||0).toFixed(2)),1)]}),_:1}),l(V,{label:"物流费"},{default:n(()=>{var N;return[a("span",$p,"¥"+r((((N=z.value.fee)==null?void 0:N.lis_cost)||0).toFixed(2)),1)]}),_:1}),l(V,{label:"总计"},{default:n(()=>[a("div",null,[a("span",Up," ¥"+r(Ha(z.value.fee)),1),T((u(),m("div",zp,[e[244]||(e[244]=p(" 占订单总金额: ",-1)),a("span",Fp,r(El(z.value.fee,z.value.amount)),1),z.value.amount>0?(u(),m("span",Ip,"%(预报价 ÷ 订单金额 × 100)")):v("",!0)])),[[q,["prescription.order/finance"]]])])]),_:1})]),_:1})]),_:1}),l(s,{shadow:"never",class:"mb-4"},{header:n(()=>[...e[245]||(e[245]=[a("span",{class:"font-semibold"},"配送信息",-1)])]),default:n(()=>[l(Ye,{column:2,border:""},{default:n(()=>[l(V,{label:"调配中心"},{default:n(()=>{var N;return[p(r(((N=z.value.result)==null?void 0:N.ds_name)||"—"),1)]}),_:1}),l(V,{label:"调配中心ID"},{default:n(()=>{var N;return[p(r(((N=z.value.result)==null?void 0:N.ds_id)||"—"),1)]}),_:1}),l(V,{label:"服用天数范围",span:2},{default:n(()=>{var N,I,Qe,Je,ue,be;return[p(r(((I=(N=z.value.result)==null?void 0:N.take_days)==null?void 0:I.min)||"—")+" - "+r(((Je=(Qe=z.value.result)==null?void 0:Qe.take_days)==null?void 0:Je.max)||"—")+" 天 (默认: "+r(((be=(ue=z.value.result)==null?void 0:ue.take_days)==null?void 0:be.default)||"—")+" 天) ",1)]}),_:1})]),_:1})]),_:1}),(C=(i=z.value.result)==null?void 0:i.rule_check)!=null&&C.length?(u(),g(s,{key:0,shadow:"never",class:"mb-4"},{header:n(()=>[...e[246]||(e[246]=[a("span",{class:"font-semibold"},"医嘱备注",-1)])]),default:n(()=>[a("div",jp,r(z.value.result.rule_check.map(N=>N.msg).join(" ")),1)]),_:1})):v("",!0),l(s,{shadow:"never"},{header:n(()=>{var N,I;return[a("div",Lp,[e[247]||(e[247]=a("span",{class:"font-semibold"},"药材明细",-1)),a("span",qp,"共 "+r(((I=(N=z.value.result)==null?void 0:N.m_list)==null?void 0:I.length)||0)+" 味药",1)])]}),default:n(()=>{var N;return[l(At,{data:((N=z.value.result)==null?void 0:N.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(r(I.quantity)+r(I.unit),1)]),_:1}),l(U,{prop:"price",label:"单价(元/克)",width:"110",align:"right"},{default:n(({row:I})=>[p(" ¥"+r(Number(I.price).toFixed(4)),1)]),_:1}),l(U,{label:"小计",width:"100",align:"right"},{default:n(({row:I})=>[a("span",Mp," ¥"+r((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(r(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(s,{shadow:"never",class:"mt-4"},{header:n(()=>[...e[248]||(e[248]=[a("span",{class:"font-semibold"},"订单信息",-1)])]),default:n(()=>[l(Ye,{column:2,border:""},{default:n(()=>[l(V,{label:"订单号",span:2},{default:n(()=>[p(r(z.value.order_no||"—"),1)]),_:1}),l(V,{label:"剂数"},{default:n(()=>[a("span",Bp,r(z.value.dose_count||"—")+"剂",1)]),_:1}),l(V,{label:"单剂量"},{default:n(()=>{var N;return[a("span",Hp,r(Dl((N=z.value.result)==null?void 0:N.m_list))+"克 ",1)]}),_:1})]),_:1})]),_:1})])):v("",!0)]}),_:1},8,["modelValue"]),l(R(vs),{ref_key:"diagnosisViewRef",ref:ca},null,512)])}}}),Ic=Ri(Wp,[["__scopeId","data-v-fa902c3c"]]);export{Ic as default};
diff --git a/server/public/admin/assets/overflow-CqnJZryO.js b/server/public/admin/assets/overflow-Snd4Xmu_.js
similarity index 96%
rename from server/public/admin/assets/overflow-CqnJZryO.js
rename to server/public/admin/assets/overflow-Snd4Xmu_.js
index 0d8b3e68..195189d4 100644
--- a/server/public/admin/assets/overflow-CqnJZryO.js
+++ b/server/public/admin/assets/overflow-Snd4Xmu_.js
@@ -1 +1 @@
-import{J as m}from"./element-plus-lurTijPg.js";import{_ as i,o as p}from"./index-DF1MLuL8.js";import{ak as e,I as a,a as o,aN as n}from"./@vue/runtime-core-C6bnekPw.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const c={};function s(_,l){const t=p,r=m;return e(),a("div",null,[o(r,{header:"基础使用",shadow:"never",class:"!border-none"},{default:n(()=>[o(t,{class:"w-20 m-4",content:"超出自动打点,悬浮弹窗显示全部内容"}),o(t,{class:"w-60 m-4",content:"超出自动打点,悬浮弹窗显示全部内容"})]),_:1})])}const W=i(c,[["render",s]]);export{W as default};
+import{J as m}from"./element-plus-lurTijPg.js";import{_ as i,o as p}from"./index-FimllnSe.js";import{ak as e,I as a,a as o,aN as n}from"./@vue/runtime-core-C6bnekPw.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const c={};function s(_,l){const t=p,r=m;return e(),a("div",null,[o(r,{header:"基础使用",shadow:"never",class:"!border-none"},{default:n(()=>[o(t,{class:"w-20 m-4",content:"超出自动打点,悬浮弹窗显示全部内容"}),o(t,{class:"w-60 m-4",content:"超出自动打点,悬浮弹窗显示全部内容"})]),_:1})])}const W=i(c,[["render",s]]);export{W as default};
diff --git a/server/public/admin/assets/paiban-Coix8EhQ.js b/server/public/admin/assets/paiban-CIPKWE8C.js
similarity index 96%
rename from server/public/admin/assets/paiban-Coix8EhQ.js
rename to server/public/admin/assets/paiban-CIPKWE8C.js
index 7d61b115..9d79b14d 100644
--- a/server/public/admin/assets/paiban-Coix8EhQ.js
+++ b/server/public/admin/assets/paiban-CIPKWE8C.js
@@ -1 +1 @@
-import{D as J,B as P,G as U,I as q,W as H,i as O,J as Q}from"./element-plus-lurTijPg.js";import{d,g as K}from"./dayjs-DG77mNTn.js";import{g as X}from"./tcm-tCkhN6ch.js";import{r as Z,g as ee}from"./doctor-Lmz4K3Qd.js";import{i as y,_ as te}from"./index-DF1MLuL8.js";import{f as ae,b as oe,d as se,ak as c,I as u,a as g,aN as m,J as p,F as T,ap as E,G as k,O as B,H as le,A as I,n as re}from"./@vue/runtime-core-C6bnekPw.js";import{Q as Y,o as R}from"./@vue/shared-mAAVTE9n.js";import{n as b,r as ie}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ne={class:"paiban-container"},ce={class:"doctor-list"},de={key:2,class:"paiban-time-container"},me={class:"date-selector"},ue={key:0,class:"time-slots-container"},pe={class:"time-slots-grid"},ve=["onClick"],fe={class:"slot-time"},_e=ae({__name:"paiban",setup(ye){d.extend(K);const v=b(!1),h=b([]),f=b([]),l=b(0),i=b([]);let D=null,w=!1;const o=ie({date:"",selectedTime:""}),V=I(()=>{if(!l.value||i.value.length===0)return[];const e=[],s=["日","一","二","三","四","五","六"],a=d().startOf("day");for(const r of i.value){const n=d(r);if(n.isBefore(a))continue;const _=`${n.format("MM月DD日")} (${s[n.day()]})`;e.push({date:r,label:_})}return e}),$=I(()=>{if(!o.date||f.value.length===0)return[];const e=d().format("YYYY-MM-DD");if(!(o.date===e))return f.value;const a=d();return f.value.map(r=>{const n=d(`${o.date} ${r.time}`);return n.isBefore(a)||n.isSame(a,"minute")?{...r,available:!1}:r})}),N=async()=>{try{v.value=!0;const e=await X();h.value=e||[],h.value.length>0&&!l.value&&(l.value=h.value[0].id,await C())}catch(e){console.error("加载医生列表失败:",e),y.msgError("加载医生列表失败")}finally{v.value=!1}},C=async()=>{o.selectedTime="",o.date="",f.value=[],i.value=[],l.value&&await A()},A=async()=>{if(l.value)try{v.value=!0;const e=d().format("YYYY-MM-DD"),s=d().add(6,"day").format("YYYY-MM-DD"),a=await Z({doctor_id:l.value,start_date:e,end_date:s,status:1});if(a!=null&&a.lists&&a.lists.length>0){if(i.value=[...new Set(a.lists.map(r=>r.date))],i.value.sort(),await re(),i.value.length>0){const r=d().format("YYYY-MM-DD"),n=i.value.includes(r)?r:i.value[0];M(n)}}else i.value=[],y.msgWarning("该医生暂无排班")}catch(e){console.error("加载医生排班失败:",e),y.msgError("加载医生排班失败"),i.value=[]}finally{v.value=!1}},M=e=>{o.date=e,o.selectedTime="",l.value&&S()},S=async(e=!1)=>{if(!(!l.value||!o.date)){if(w){console.log("正在加载中,跳过本次请求");return}try{w=!0,e||(v.value=!0);const s=await ee({doctor_id:l.value,appointment_date:o.date,period:"all"});f.value=((s==null?void 0:s.slots)||[]).map(a=>({time:a.time,available:a.available,quota:a.available?1:0}))}catch(s){console.error("加载时间段失败:",s),e||y.msgError("加载时间段失败"),f.value=[]}finally{w=!1,e||(v.value=!1)}}},F=e=>{if(!e.available){y.msgWarning("该时间段不可预约");return}o.selectedTime=e.time},L=()=>{x(),D=window.setInterval(()=>{l.value&&o.date&&S(!0)},5e3)},x=()=>{D&&(clearInterval(D),D=null)};return oe(()=>{N(),L()}),se(()=>{x()}),(e,s)=>{const a=q,r=U,n=P,_=H,W=O,z=J,G=Q;return c(),u("div",ne,[g(G,{shadow:"never"},{header:m(()=>[...s[1]||(s[1]=[p("div",{class:"card-header"},[p("span",null,"医生排班管理")],-1)])]),default:m(()=>[g(z,{model:o,"label-width":"100px",class:"paiban-form"},{default:m(()=>[g(n,{label:"选择医生:"},{default:m(()=>[p("div",ce,[g(r,{modelValue:l.value,"onUpdate:modelValue":s[0]||(s[0]=t=>l.value=t),onChange:C},{default:m(()=>[(c(!0),u(T,null,E(h.value,t=>(c(),k(a,{key:t.id,value:t.id,class:"doctor-radio"},{default:m(()=>[B(Y(t.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])]),_:1}),g(n,{label:"排班时间:"},{default:m(()=>[l.value?l.value&&i.value.length===0?(c(),k(_,{key:1,description:"该医生暂无排班","image-size":80})):(c(),u("div",de,[p("div",me,[(c(!0),u(T,null,E(V.value,t=>(c(),k(W,{key:t.date,type:o.date===t.date?"primary":"",onClick:j=>M(t.date),class:"date-button"},{default:m(()=>[B(Y(t.label),1)]),_:2},1032,["type","onClick"]))),128))]),o.date?(c(),u("div",ue,[p("div",pe,[(c(!0),u(T,null,E($.value,t=>(c(),u("div",{key:t.time,class:R(["time-slot-item",{available:t.available,unavailable:!t.available,selected:o.selectedTime===t.time}]),onClick:j=>F(t)},[p("div",fe,Y(t.time),1),p("div",{class:R(["slot-status",{"status-available":t.available}])},Y(t.available?"可约":"已约"),3)],10,ve))),128))])])):le("",!0)])):(c(),k(_,{key:0,description:"请先选择医生","image-size":80}))]),_:1})]),_:1},8,["model"])]),_:1})])}}}),ot=te(_e,[["__scopeId","data-v-79f98e7f"]]);export{ot as default};
+import{D as J,B as P,G as U,I as q,W as H,i as O,J as Q}from"./element-plus-lurTijPg.js";import{d,g as K}from"./dayjs-DG77mNTn.js";import{g as X}from"./tcm-Bt45zV2E.js";import{r as Z,g as ee}from"./doctor-BjRQM6dq.js";import{i as y,_ as te}from"./index-FimllnSe.js";import{f as ae,b as oe,d as se,ak as c,I as u,a as g,aN as m,J as p,F as T,ap as E,G as k,O as B,H as le,A as I,n as re}from"./@vue/runtime-core-C6bnekPw.js";import{Q as Y,o as R}from"./@vue/shared-mAAVTE9n.js";import{n as b,r as ie}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ne={class:"paiban-container"},ce={class:"doctor-list"},de={key:2,class:"paiban-time-container"},me={class:"date-selector"},ue={key:0,class:"time-slots-container"},pe={class:"time-slots-grid"},ve=["onClick"],fe={class:"slot-time"},_e=ae({__name:"paiban",setup(ye){d.extend(K);const v=b(!1),h=b([]),f=b([]),l=b(0),i=b([]);let D=null,w=!1;const o=ie({date:"",selectedTime:""}),V=I(()=>{if(!l.value||i.value.length===0)return[];const e=[],s=["日","一","二","三","四","五","六"],a=d().startOf("day");for(const r of i.value){const n=d(r);if(n.isBefore(a))continue;const _=`${n.format("MM月DD日")} (${s[n.day()]})`;e.push({date:r,label:_})}return e}),$=I(()=>{if(!o.date||f.value.length===0)return[];const e=d().format("YYYY-MM-DD");if(!(o.date===e))return f.value;const a=d();return f.value.map(r=>{const n=d(`${o.date} ${r.time}`);return n.isBefore(a)||n.isSame(a,"minute")?{...r,available:!1}:r})}),N=async()=>{try{v.value=!0;const e=await X();h.value=e||[],h.value.length>0&&!l.value&&(l.value=h.value[0].id,await C())}catch(e){console.error("加载医生列表失败:",e),y.msgError("加载医生列表失败")}finally{v.value=!1}},C=async()=>{o.selectedTime="",o.date="",f.value=[],i.value=[],l.value&&await A()},A=async()=>{if(l.value)try{v.value=!0;const e=d().format("YYYY-MM-DD"),s=d().add(6,"day").format("YYYY-MM-DD"),a=await Z({doctor_id:l.value,start_date:e,end_date:s,status:1});if(a!=null&&a.lists&&a.lists.length>0){if(i.value=[...new Set(a.lists.map(r=>r.date))],i.value.sort(),await re(),i.value.length>0){const r=d().format("YYYY-MM-DD"),n=i.value.includes(r)?r:i.value[0];M(n)}}else i.value=[],y.msgWarning("该医生暂无排班")}catch(e){console.error("加载医生排班失败:",e),y.msgError("加载医生排班失败"),i.value=[]}finally{v.value=!1}},M=e=>{o.date=e,o.selectedTime="",l.value&&S()},S=async(e=!1)=>{if(!(!l.value||!o.date)){if(w){console.log("正在加载中,跳过本次请求");return}try{w=!0,e||(v.value=!0);const s=await ee({doctor_id:l.value,appointment_date:o.date,period:"all"});f.value=((s==null?void 0:s.slots)||[]).map(a=>({time:a.time,available:a.available,quota:a.available?1:0}))}catch(s){console.error("加载时间段失败:",s),e||y.msgError("加载时间段失败"),f.value=[]}finally{w=!1,e||(v.value=!1)}}},F=e=>{if(!e.available){y.msgWarning("该时间段不可预约");return}o.selectedTime=e.time},L=()=>{x(),D=window.setInterval(()=>{l.value&&o.date&&S(!0)},5e3)},x=()=>{D&&(clearInterval(D),D=null)};return oe(()=>{N(),L()}),se(()=>{x()}),(e,s)=>{const a=q,r=U,n=P,_=H,W=O,z=J,G=Q;return c(),u("div",ne,[g(G,{shadow:"never"},{header:m(()=>[...s[1]||(s[1]=[p("div",{class:"card-header"},[p("span",null,"医生排班管理")],-1)])]),default:m(()=>[g(z,{model:o,"label-width":"100px",class:"paiban-form"},{default:m(()=>[g(n,{label:"选择医生:"},{default:m(()=>[p("div",ce,[g(r,{modelValue:l.value,"onUpdate:modelValue":s[0]||(s[0]=t=>l.value=t),onChange:C},{default:m(()=>[(c(!0),u(T,null,E(h.value,t=>(c(),k(a,{key:t.id,value:t.id,class:"doctor-radio"},{default:m(()=>[B(Y(t.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])]),_:1}),g(n,{label:"排班时间:"},{default:m(()=>[l.value?l.value&&i.value.length===0?(c(),k(_,{key:1,description:"该医生暂无排班","image-size":80})):(c(),u("div",de,[p("div",me,[(c(!0),u(T,null,E(V.value,t=>(c(),k(W,{key:t.date,type:o.date===t.date?"primary":"",onClick:j=>M(t.date),class:"date-button"},{default:m(()=>[B(Y(t.label),1)]),_:2},1032,["type","onClick"]))),128))]),o.date?(c(),u("div",ue,[p("div",pe,[(c(!0),u(T,null,E($.value,t=>(c(),u("div",{key:t.time,class:R(["time-slot-item",{available:t.available,unavailable:!t.available,selected:o.selectedTime===t.time}]),onClick:j=>F(t)},[p("div",fe,Y(t.time),1),p("div",{class:R(["slot-status",{"status-available":t.available}])},Y(t.available?"可约":"已约"),3)],10,ve))),128))])])):le("",!0)])):(c(),k(_,{key:0,description:"请先选择医生","image-size":80}))]),_:1})]),_:1},8,["model"])]),_:1})])}}}),ot=te(_e,[["__scopeId","data-v-79f98e7f"]]);export{ot as default};
diff --git a/server/public/admin/assets/patient-CU85GrfB.js b/server/public/admin/assets/patient-DTMlM6EZ.js
similarity index 88%
rename from server/public/admin/assets/patient-CU85GrfB.js
rename to server/public/admin/assets/patient-DTMlM6EZ.js
index 7ac2cb45..c0954c90 100644
--- a/server/public/admin/assets/patient-CU85GrfB.js
+++ b/server/public/admin/assets/patient-DTMlM6EZ.js
@@ -1 +1 @@
-import{r as o}from"./index-DF1MLuL8.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-FimllnSe.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-C1iZJbwl.js b/server/public/admin/assets/patient-call-CbhSkuur.js
similarity index 99%
rename from server/public/admin/assets/patient-call-C1iZJbwl.js
rename to server/public/admin/assets/patient-call-CbhSkuur.js
index fb119ada..3c183599 100644
--- a/server/public/admin/assets/patient-call-C1iZJbwl.js
+++ b/server/public/admin/assets/patient-call-CbhSkuur.js
@@ -1 +1 @@
-import{E as a,K as H,i as Q,d as $,W as X,J as Y,b as M}from"./element-plus-lurTijPg.js";import{a6 as K}from"./@element-plus/icons-vue-HOEUG8sr.js";import{F as C,u as O,g as k,a as L,l as E,r as Z,y as T}from"./@tencentcloud/call-uikit-vue-DB7vt9Ht.js";import{u as ee,r as te,_ as oe}from"./index-DF1MLuL8.js";import{f as le,b as ae,n as V,d as ne,ak as m,I as d,a as r,aN as c,J as n,O as f,G as z,H as h,A as se}from"./@vue/runtime-core-C6bnekPw.js";import{Q as w,o as ie}from"./@vue/shared-mAAVTE9n.js";import{y as A,n as y}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@tencentcloud/call-engine-js-BX2W9Lhf.js";import"./@tencentcloud/chat-AC2Y2r2A.js";import"./rtc-detect-Chu-fZvE.js";import"./@tencentcloud/tui-core-8M7p1XHw.js";import"./tim-upload-plugin-HO4N4AW9.js";import"./tim-profanity-filter-plugin-Dn_Cf-mP.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const re={class:"patient-test"},ce={key:0,class:"init-section"},ue={key:1,class:"status"},pe={class:"flex items-center"},me={class:"mt-2"},fe={key:0},ve={key:0,class:"call-actions mt-4"},de={key:2,id:"call-container",class:"call-container phone-call-shell"},ge={key:3,class:"waiting-container"},Ie={key:4,class:"phone-call-kit-host phone-call-kit-host--offscreen","aria-hidden":"true"},_e=le({__name:"patient-call",setup(Ce){const B=ee(),S=se(()=>B.userInfo),U=y(!1),g=y(!1),D=y(""),o=y(!1),s=y(!1),p=y(null),v=y(null);let I=null;ae(()=>{G()});function b(t){try{const e=k.getData(L.CALL,E.CALL_STATUS),u=k.getData(L.CALL,E.CALL_ROLE),i=!!k.getData(L.CALL,E.IS_GROUP),_=o.value;if(e==="calling"&&u===Z.CALLEE){o.value=!0,p.value={isGroup:i,from:t},_||(a.info("检测到待接听的来电,请点击接听"),M({title:"来电提醒",message:"有待接听的视频通话",type:"warning",duration:0,position:"top-right"})),s.value=!1;return}if(e==="connected"){o.value=!1,p.value=null,s.value=!0;return}e==="idle"&&(o.value||s.value)&&(o.value=!1,s.value=!1,p.value=null)}catch(e){console.warn("syncIncomingFromTUIStore:",t,e)}}function x(){b("watch")}function P(){I&&(I(),I=null);const t={[E.CALL_STATUS]:x,[E.CALL_ROLE]:x};try{k.watch(L.CALL,t),I=()=>{try{k.unwatch(L.CALL,t)}catch{}}}catch(e){console.warn("TUIStore.watch 失败:",e)}}const R=()=>{v.value&&clearInterval(v.value);let t=0;const e=90;v.value=setInterval(()=>{t+=1,b("poll"),t>=e&&v.value&&(clearInterval(v.value),v.value=null)},500)},F=({oldStatus:t,newStatus:e})=>{console.log("========================================"),console.log("=== 通话状态变化回调触发 ==="),console.log("oldStatus:",t),console.log("newStatus:",e),console.log("STATUS 常量:",T),console.log("========================================"),e===T.BE_INVITED&&(console.log(">>> 收到来电邀请"),o.value=!0,p.value={oldStatus:t,newStatus:e},M({title:"来电提醒",message:"收到视频通话请求",type:"info",duration:0,position:"top-right"}),a.success("收到来电,请点击接听按钮")),(e===T.CALLING_C2C_VIDEO||e===T.CALLING_GROUP_VIDEO)&&(console.log(">>> 通话已接通"),a.success("通话已接通"),o.value=!1,s.value=!0),e===T.IDLE&&(o.value||s.value)&&(console.log(">>> 通话已结束"),o.value=!1,s.value=!1,p.value=null,a.info("通话已结束"))},G=async()=>{try{U.value=!0;const t=S.value.id;if(!t)throw new Error("未获取到当前用户ID,请重新登录");console.log("=== 开始初始化医疗助理端 ==="),console.log("当前用户ID:",t),a.info("正在获取签名...");const e=await te.get({url:"/tcm.diagnosis/getDoctorSignature",params:{patient_id:t}});if(!e)throw new Error("获取签名失败");const{sdkAppId:u,userId:i,userSig:_}=e;if(D.value=i,console.log("医疗助理签名获取成功:",{userId:i,sdkAppId:u,userSigLength:_.length}),console.log("完整签名信息:",e),a.info("正在初始化通话组件..."),console.log("=== 开始调用 TUICallKitServer.init ==="),!C||typeof C.init!="function")throw new Error("TUICallKitServer 未正确加载,请刷新页面重试");try{await C.init({userID:i,userSig:_,SDKAppID:Number(u)})}catch(l){console.warn("TUICallKitServer.init 出现错误,但继续执行:",l)}console.log("=== TUICallKitServer.init 完成 ===");const N={statusChanged:F,onError:l=>{console.error("=== TUICallKit 错误回调 ===",l),a.error(`通话错误: ${(l==null?void 0:l.message)||"未知错误"}`)},onInvited:l=>{console.log("=== 收到邀请回调 (onInvited) ===",l),a.info("收到通话邀请 (onInvited)")},afterCalling:()=>{console.log("=== afterCalling 回调 ===")}};try{C.setCallback(N)}catch(l){console.warn("设置回调时出现错误,但继续执行:",l)}console.log("回调设置完成"),a.info("等待初始化完成..."),await new Promise(l=>setTimeout(l,2e3)),g.value=!0,await V(),await new Promise(l=>setTimeout(l,300)),P(),b("post-init"),R(),a.success("医疗助理端初始化成功,等待来电..."),console.log("=== 医疗助理端初始化完成 ==="),console.log("userId:",i),console.log("等待来电中..."),console.log("请在医生端发起群组通话,目标用户ID应该是:",i)}catch(t){console.error("=== 初始化失败 ===",t),a.error(t.message||"初始化失败")}finally{U.value=!1}};async function j(){var t;await V(),await new Promise(e=>setTimeout(e,400));try{const e=C;if(typeof e.closeMicrophone=="function")return await e.closeMicrophone(),!0;const u=(t=e.getTUICallEngineInstance)==null?void 0:t.call(e);if(u&&typeof u.closeMicrophone=="function")return await u.closeMicrophone(),!0}catch(e){console.warn("接听后关闭麦克风失败(可在通话条手动关麦):",e)}return!1}const J=async()=>{try{console.log("接听来电"),await C.accept(),a.success("已接听通话"),o.value=!1,s.value=!0,await j()&&a.info("已关闭本地麦克风")}catch(t){console.error("接听失败:",t),a.error(t.message||"接听失败")}},W=async()=>{try{console.log("拒绝来电"),await C.reject(),a.info("已拒绝通话"),o.value=!1,p.value=null}catch(t){console.error("拒绝失败:",t),a.error(t.message||"拒绝失败")}},q=()=>{g.value=!1,D.value="",o.value=!1,s.value=!1,p.value=null};return ne(()=>{v.value&&(clearInterval(v.value),v.value=null),I&&(I(),I=null),g.value&&(o.value=!1,s.value=!1,p.value=null)}),(t,e)=>{const u=H,i=Q,_=$,N=X,l=Y;return m(),d("div",re,[r(l,null,{header:c(()=>[...e[0]||(e[0]=[n("div",{class:"card-header"},[n("span",null,"医疗助理端 - 接听来电")],-1)])]),default:c(()=>[g.value?h("",!0):(m(),d("div",ce,[r(u,{type:"info",closable:!1,class:"mb-4"},{default:c(()=>[n("p",null,[e[1]||(e[1]=n("strong",null,"当前登录用户:",-1)),f(" "+w(S.value.nickname||S.value.name||"未知"),1)]),n("p",null,[e[2]||(e[2]=n("strong",null,"用户ID:",-1)),f(" "+w(S.value.id||"未获取"),1)]),e[3]||(e[3]=n("p",null,[n("strong",null,"状态:"),f(" 正在初始化...")],-1))]),_:1}),U.value?h("",!0):(m(),z(i,{key:0,type:"primary",onClick:G,loading:U.value,size:"large"},{default:c(()=>[...e[4]||(e[4]=[f(" 重新初始化 ",-1)])]),_:1},8,["loading"]))])),g.value?(m(),d("div",ue,[r(u,{type:o.value?"warning":"success",closable:!1},{title:c(()=>[n("div",pe,[r(_,{class:ie(["mr-2",{"animate-pulse":o.value}])},{default:c(()=>[r(A(K))]),_:1},8,["class"]),n("span",null,w(o.value?"收到来电!":"医疗助理端已初始化,等待来电..."),1)])]),default:c(()=>[n("div",me,[n("p",null,[e[5]||(e[5]=n("strong",null,"医疗助理ID:",-1)),f(" "+w(D.value),1)]),n("p",null,[e[6]||(e[6]=n("strong",null,"状态:",-1)),f(" "+w(o.value?"来电中":"在线"),1)]),o.value&&p.value?(m(),d("p",fe,[e[7]||(e[7]=n("strong",null,"通话类型:",-1)),f(" "+w(p.value.isGroup?"群组视频通话":"视频通话"),1)])):h("",!0)])]),_:1},8,["type"]),o.value?(m(),d("div",ve,[r(i,{type:"success",size:"large",onClick:J,icon:A(K)},{default:c(()=>[...e[8]||(e[8]=[f(" 接听 ",-1)])]),_:1},8,["icon"]),r(i,{type:"danger",size:"large",onClick:W},{default:c(()=>[...e[9]||(e[9]=[f(" 拒绝 ",-1)])]),_:1})])):(m(),z(i,{key:1,type:"danger",onClick:q,class:"mt-4"},{default:c(()=>[...e[10]||(e[10]=[f(" 重置 ",-1)])]),_:1}))])):h("",!0),o.value||s.value?(m(),d("div",de,[r(A(O),{class:"TUICallKit-mobile"})])):g.value?(m(),d("div",ge,[r(N,{description:"等待来电中..."},{image:c(()=>[r(_,{size:80,color:"#909399"},{default:c(()=>[r(A(K))]),_:1})]),_:1})])):h("",!0),g.value&&!o.value&&!s.value?(m(),d("div",Ie,[r(A(O),{class:"TUICallKit-mobile"})])):h("",!0)]),_:1})])}}}),ut=oe(_e,[["__scopeId","data-v-56c22385"]]);export{ut as default};
+import{E as a,K as H,i as Q,d as $,W as X,J as Y,b as M}from"./element-plus-lurTijPg.js";import{a6 as K}from"./@element-plus/icons-vue-HOEUG8sr.js";import{F as C,u as O,g as k,a as L,l as E,r as Z,y as T}from"./@tencentcloud/call-uikit-vue-DB7vt9Ht.js";import{u as ee,r as te,_ as oe}from"./index-FimllnSe.js";import{f as le,b as ae,n as V,d as ne,ak as m,I as d,a as r,aN as c,J as n,O as f,G as z,H as h,A as se}from"./@vue/runtime-core-C6bnekPw.js";import{Q as w,o as ie}from"./@vue/shared-mAAVTE9n.js";import{y as A,n as y}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@tencentcloud/call-engine-js-BX2W9Lhf.js";import"./@tencentcloud/chat-AC2Y2r2A.js";import"./rtc-detect-Chu-fZvE.js";import"./@tencentcloud/tui-core-8M7p1XHw.js";import"./tim-upload-plugin-HO4N4AW9.js";import"./tim-profanity-filter-plugin-Dn_Cf-mP.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const re={class:"patient-test"},ce={key:0,class:"init-section"},ue={key:1,class:"status"},pe={class:"flex items-center"},me={class:"mt-2"},fe={key:0},ve={key:0,class:"call-actions mt-4"},de={key:2,id:"call-container",class:"call-container phone-call-shell"},ge={key:3,class:"waiting-container"},Ie={key:4,class:"phone-call-kit-host phone-call-kit-host--offscreen","aria-hidden":"true"},_e=le({__name:"patient-call",setup(Ce){const B=ee(),S=se(()=>B.userInfo),U=y(!1),g=y(!1),D=y(""),o=y(!1),s=y(!1),p=y(null),v=y(null);let I=null;ae(()=>{G()});function b(t){try{const e=k.getData(L.CALL,E.CALL_STATUS),u=k.getData(L.CALL,E.CALL_ROLE),i=!!k.getData(L.CALL,E.IS_GROUP),_=o.value;if(e==="calling"&&u===Z.CALLEE){o.value=!0,p.value={isGroup:i,from:t},_||(a.info("检测到待接听的来电,请点击接听"),M({title:"来电提醒",message:"有待接听的视频通话",type:"warning",duration:0,position:"top-right"})),s.value=!1;return}if(e==="connected"){o.value=!1,p.value=null,s.value=!0;return}e==="idle"&&(o.value||s.value)&&(o.value=!1,s.value=!1,p.value=null)}catch(e){console.warn("syncIncomingFromTUIStore:",t,e)}}function x(){b("watch")}function P(){I&&(I(),I=null);const t={[E.CALL_STATUS]:x,[E.CALL_ROLE]:x};try{k.watch(L.CALL,t),I=()=>{try{k.unwatch(L.CALL,t)}catch{}}}catch(e){console.warn("TUIStore.watch 失败:",e)}}const R=()=>{v.value&&clearInterval(v.value);let t=0;const e=90;v.value=setInterval(()=>{t+=1,b("poll"),t>=e&&v.value&&(clearInterval(v.value),v.value=null)},500)},F=({oldStatus:t,newStatus:e})=>{console.log("========================================"),console.log("=== 通话状态变化回调触发 ==="),console.log("oldStatus:",t),console.log("newStatus:",e),console.log("STATUS 常量:",T),console.log("========================================"),e===T.BE_INVITED&&(console.log(">>> 收到来电邀请"),o.value=!0,p.value={oldStatus:t,newStatus:e},M({title:"来电提醒",message:"收到视频通话请求",type:"info",duration:0,position:"top-right"}),a.success("收到来电,请点击接听按钮")),(e===T.CALLING_C2C_VIDEO||e===T.CALLING_GROUP_VIDEO)&&(console.log(">>> 通话已接通"),a.success("通话已接通"),o.value=!1,s.value=!0),e===T.IDLE&&(o.value||s.value)&&(console.log(">>> 通话已结束"),o.value=!1,s.value=!1,p.value=null,a.info("通话已结束"))},G=async()=>{try{U.value=!0;const t=S.value.id;if(!t)throw new Error("未获取到当前用户ID,请重新登录");console.log("=== 开始初始化医疗助理端 ==="),console.log("当前用户ID:",t),a.info("正在获取签名...");const e=await te.get({url:"/tcm.diagnosis/getDoctorSignature",params:{patient_id:t}});if(!e)throw new Error("获取签名失败");const{sdkAppId:u,userId:i,userSig:_}=e;if(D.value=i,console.log("医疗助理签名获取成功:",{userId:i,sdkAppId:u,userSigLength:_.length}),console.log("完整签名信息:",e),a.info("正在初始化通话组件..."),console.log("=== 开始调用 TUICallKitServer.init ==="),!C||typeof C.init!="function")throw new Error("TUICallKitServer 未正确加载,请刷新页面重试");try{await C.init({userID:i,userSig:_,SDKAppID:Number(u)})}catch(l){console.warn("TUICallKitServer.init 出现错误,但继续执行:",l)}console.log("=== TUICallKitServer.init 完成 ===");const N={statusChanged:F,onError:l=>{console.error("=== TUICallKit 错误回调 ===",l),a.error(`通话错误: ${(l==null?void 0:l.message)||"未知错误"}`)},onInvited:l=>{console.log("=== 收到邀请回调 (onInvited) ===",l),a.info("收到通话邀请 (onInvited)")},afterCalling:()=>{console.log("=== afterCalling 回调 ===")}};try{C.setCallback(N)}catch(l){console.warn("设置回调时出现错误,但继续执行:",l)}console.log("回调设置完成"),a.info("等待初始化完成..."),await new Promise(l=>setTimeout(l,2e3)),g.value=!0,await V(),await new Promise(l=>setTimeout(l,300)),P(),b("post-init"),R(),a.success("医疗助理端初始化成功,等待来电..."),console.log("=== 医疗助理端初始化完成 ==="),console.log("userId:",i),console.log("等待来电中..."),console.log("请在医生端发起群组通话,目标用户ID应该是:",i)}catch(t){console.error("=== 初始化失败 ===",t),a.error(t.message||"初始化失败")}finally{U.value=!1}};async function j(){var t;await V(),await new Promise(e=>setTimeout(e,400));try{const e=C;if(typeof e.closeMicrophone=="function")return await e.closeMicrophone(),!0;const u=(t=e.getTUICallEngineInstance)==null?void 0:t.call(e);if(u&&typeof u.closeMicrophone=="function")return await u.closeMicrophone(),!0}catch(e){console.warn("接听后关闭麦克风失败(可在通话条手动关麦):",e)}return!1}const J=async()=>{try{console.log("接听来电"),await C.accept(),a.success("已接听通话"),o.value=!1,s.value=!0,await j()&&a.info("已关闭本地麦克风")}catch(t){console.error("接听失败:",t),a.error(t.message||"接听失败")}},W=async()=>{try{console.log("拒绝来电"),await C.reject(),a.info("已拒绝通话"),o.value=!1,p.value=null}catch(t){console.error("拒绝失败:",t),a.error(t.message||"拒绝失败")}},q=()=>{g.value=!1,D.value="",o.value=!1,s.value=!1,p.value=null};return ne(()=>{v.value&&(clearInterval(v.value),v.value=null),I&&(I(),I=null),g.value&&(o.value=!1,s.value=!1,p.value=null)}),(t,e)=>{const u=H,i=Q,_=$,N=X,l=Y;return m(),d("div",re,[r(l,null,{header:c(()=>[...e[0]||(e[0]=[n("div",{class:"card-header"},[n("span",null,"医疗助理端 - 接听来电")],-1)])]),default:c(()=>[g.value?h("",!0):(m(),d("div",ce,[r(u,{type:"info",closable:!1,class:"mb-4"},{default:c(()=>[n("p",null,[e[1]||(e[1]=n("strong",null,"当前登录用户:",-1)),f(" "+w(S.value.nickname||S.value.name||"未知"),1)]),n("p",null,[e[2]||(e[2]=n("strong",null,"用户ID:",-1)),f(" "+w(S.value.id||"未获取"),1)]),e[3]||(e[3]=n("p",null,[n("strong",null,"状态:"),f(" 正在初始化...")],-1))]),_:1}),U.value?h("",!0):(m(),z(i,{key:0,type:"primary",onClick:G,loading:U.value,size:"large"},{default:c(()=>[...e[4]||(e[4]=[f(" 重新初始化 ",-1)])]),_:1},8,["loading"]))])),g.value?(m(),d("div",ue,[r(u,{type:o.value?"warning":"success",closable:!1},{title:c(()=>[n("div",pe,[r(_,{class:ie(["mr-2",{"animate-pulse":o.value}])},{default:c(()=>[r(A(K))]),_:1},8,["class"]),n("span",null,w(o.value?"收到来电!":"医疗助理端已初始化,等待来电..."),1)])]),default:c(()=>[n("div",me,[n("p",null,[e[5]||(e[5]=n("strong",null,"医疗助理ID:",-1)),f(" "+w(D.value),1)]),n("p",null,[e[6]||(e[6]=n("strong",null,"状态:",-1)),f(" "+w(o.value?"来电中":"在线"),1)]),o.value&&p.value?(m(),d("p",fe,[e[7]||(e[7]=n("strong",null,"通话类型:",-1)),f(" "+w(p.value.isGroup?"群组视频通话":"视频通话"),1)])):h("",!0)])]),_:1},8,["type"]),o.value?(m(),d("div",ve,[r(i,{type:"success",size:"large",onClick:J,icon:A(K)},{default:c(()=>[...e[8]||(e[8]=[f(" 接听 ",-1)])]),_:1},8,["icon"]),r(i,{type:"danger",size:"large",onClick:W},{default:c(()=>[...e[9]||(e[9]=[f(" 拒绝 ",-1)])]),_:1})])):(m(),z(i,{key:1,type:"danger",onClick:q,class:"mt-4"},{default:c(()=>[...e[10]||(e[10]=[f(" 重置 ",-1)])]),_:1}))])):h("",!0),o.value||s.value?(m(),d("div",de,[r(A(O),{class:"TUICallKit-mobile"})])):g.value?(m(),d("div",ge,[r(N,{description:"等待来电中..."},{image:c(()=>[r(_,{size:80,color:"#909399"},{default:c(()=>[r(A(K))]),_:1})]),_:1})])):h("",!0),g.value&&!o.value&&!s.value?(m(),d("div",Ie,[r(A(O),{class:"TUICallKit-mobile"})])):h("",!0)]),_:1})])}}}),ut=oe(_e,[["__scopeId","data-v-56c22385"]]);export{ut as default};
diff --git a/server/public/admin/assets/pay-C4WW4SoI.js b/server/public/admin/assets/pay-HtD20MXd.js
similarity index 85%
rename from server/public/admin/assets/pay-C4WW4SoI.js
rename to server/public/admin/assets/pay-HtD20MXd.js
index ec0c2a09..afac590b 100644
--- a/server/public/admin/assets/pay-C4WW4SoI.js
+++ b/server/public/admin/assets/pay-HtD20MXd.js
@@ -1 +1 @@
-import{r as a}from"./index-DF1MLuL8.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-FimllnSe.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-SFQhCRCg.js b/server/public/admin/assets/pc-C2bGGO7M.js
similarity index 94%
rename from server/public/admin/assets/pc-SFQhCRCg.js
rename to server/public/admin/assets/pc-C2bGGO7M.js
index a1859532..12c1f158 100644
--- a/server/public/admin/assets/pc-SFQhCRCg.js
+++ b/server/public/admin/assets/pc-C2bGGO7M.js
@@ -1 +1 @@
-import{i as x,D as v,B as D,C as b,J as g}from"./element-plus-lurTijPg.js";import{b as k}from"./decoration-Y1_ujmBv.js";import{f as n,ar as w,as as B,ak as s,I as C,a as o,aN as e,J as E,O as p,aP as V,G as N}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,n as P}from"./@vue/reactivity-DiY1c2vO.js";import{Q as I}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DF1MLuL8.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const F={class:"decoration-pc min-w-[1100px]"},J=n({name:"decorationPc"}),Dt=n({...J,setup(q){const r=P({update_time:"",pc_url:""});return(async()=>{try{r.value=await k()}catch(i){console.log(i)}})(),(i,t)=>{const m=x,c=w("router-link"),l=D,_=b,d=v,u=g,f=B("copy");return s(),C("div",F,[o(u,{shadow:"never",class:"!border-none flex-1 flex"},{default:e(()=>[t[3]||(t[3]=E("div",{class:"text-xl font-medium"},"首页装修",-1)),o(c,{to:{path:"/decoration/pc_details",query:{url:a(r).pc_url}}},{default:e(()=>[o(m,{class:"m-5",type:"primary",size:"large"},{default:e(()=>[...t[1]||(t[1]=[p("去装修",-1)])]),_:1})]),_:1},8,["to"]),o(d,null,{default:e(()=>[o(l,{label:"最近更新"},{default:e(()=>[p(I(a(r).update_time),1)]),_:1}),o(l,{label:"PC端链接"},{default:e(()=>[o(_,{style:{width:"350px"},modelValue:a(r).pc_url,"onUpdate:modelValue":t[0]||(t[0]=y=>a(r).pc_url=y),disabled:""},null,8,["modelValue"]),V((s(),N(m,{type:"primary"},{default:e(()=>[...t[2]||(t[2]=[p("复制",-1)])]),_:1})),[[f,a(r).pc_url]])]),_:1})]),_:1})]),_:1})])}}});export{Dt as default};
+import{i as x,D as v,B as D,C as b,J as g}from"./element-plus-lurTijPg.js";import{b as k}from"./decoration-DGMcF5KN.js";import{f as n,ar as w,as as B,ak as s,I as C,a as o,aN as e,J as E,O as p,aP as V,G as N}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,n as P}from"./@vue/reactivity-DiY1c2vO.js";import{Q as I}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-FimllnSe.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const F={class:"decoration-pc min-w-[1100px]"},J=n({name:"decorationPc"}),Dt=n({...J,setup(q){const r=P({update_time:"",pc_url:""});return(async()=>{try{r.value=await k()}catch(i){console.log(i)}})(),(i,t)=>{const m=x,c=w("router-link"),l=D,_=b,d=v,u=g,f=B("copy");return s(),C("div",F,[o(u,{shadow:"never",class:"!border-none flex-1 flex"},{default:e(()=>[t[3]||(t[3]=E("div",{class:"text-xl font-medium"},"首页装修",-1)),o(c,{to:{path:"/decoration/pc_details",query:{url:a(r).pc_url}}},{default:e(()=>[o(m,{class:"m-5",type:"primary",size:"large"},{default:e(()=>[...t[1]||(t[1]=[p("去装修",-1)])]),_:1})]),_:1},8,["to"]),o(d,null,{default:e(()=>[o(l,{label:"最近更新"},{default:e(()=>[p(I(a(r).update_time),1)]),_:1}),o(l,{label:"PC端链接"},{default:e(()=>[o(_,{style:{width:"350px"},modelValue:a(r).pc_url,"onUpdate:modelValue":t[0]||(t[0]=y=>a(r).pc_url=y),disabled:""},null,8,["modelValue"]),V((s(),N(m,{type:"primary"},{default:e(()=>[...t[2]||(t[2]=[p("复制",-1)])]),_:1})),[[f,a(r).pc_url]])]),_:1})]),_:1})]),_:1})])}}});export{Dt as default};
diff --git a/server/public/admin/assets/pc_details-BNyqetXG.js b/server/public/admin/assets/pc_details-B1HY_a5W.js
similarity index 65%
rename from server/public/admin/assets/pc_details-BNyqetXG.js
rename to server/public/admin/assets/pc_details-B1HY_a5W.js
index cac5c3a3..68865722 100644
--- a/server/public/admin/assets/pc_details-BNyqetXG.js
+++ b/server/public/admin/assets/pc_details-B1HY_a5W.js
@@ -1 +1 @@
-import{i as b,J as P}from"./element-plus-lurTijPg.js";import{o as B}from"./@element-plus/icons-vue-HOEUG8sr.js";import{a as N,s as V}from"./decoration-Y1_ujmBv.js";import{i as C,_ as E}from"./index-DF1MLuL8.js";import I from"./preview-pc-Ckc6HpPY.js";import{a as h}from"./vue-router-QlpZ4wdW.js";import{f as v,w as J,as as O,ak as d,I as S,a as p,aN as m,J as u,O as f,aP as M,G as R,A as T}from"./@vue/runtime-core-C6bnekPw.js";import{y as s,a as j,n as _,r as A}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-CM7Gp83V.js";import"./attr-C6GmvPAl.js";import"./index-mDy9ToMf.js";import"./picker-BSLSmuXD.js";import"./index-CnpV87Ke.js";import"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import"./article-DRL9P_tT.js";import"./usePaging-VsbTxSU0.js";import"./picker-BPfrB1Pn.js";import"./index-BP_YKY_y.js";import"./index-_ERDssCQ.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BdGKYRpa.js";import"./index.vue_vue_type_script_setup_true_lang-SfFZFG0h.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./content.vue_vue_type_script_setup_true_lang-YPzfu1Px.js";import"./decoration-img-jZo-A7ww.js";import"./attr.vue_vue_type_script_setup_true_lang-D5vjNTOg.js";import"./content-CKtrVqmT.js";import"./attr.vue_vue_type_script_setup_true_lang-BwSZweWe.js";import"./content.vue_vue_type_script_setup_true_lang-D5UrOWJr.js";import"./attr.vue_vue_type_script_setup_true_lang-BRh9kAoU.js";import"./add-nav.vue_vue_type_script_setup_true_lang-DxGp4xEM.js";import"./content-DArWsXpQ.js";import"./attr.vue_vue_type_script_setup_true_lang-CACMM4JD.js";import"./content.vue_vue_type_script_setup_true_lang-B2lKwu_D.js";import"./attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js";import"./content-CST-bl8G.js";import"./attr.vue_vue_type_script_setup_true_lang-CT2w_DZp.js";import"./index.vue_vue_type_script_setup_true_lang-8-xP7boW.js";import"./content-Dp6pW57F.js";import"./content.vue_vue_type_script_setup_true_lang-v7FIwbJY.js";import"./attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js";import"./content-Ct-LqBEP.js";import"./attr.vue_vue_type_script_setup_true_lang-Bq-qlGcP.js";import"./content.vue_vue_type_script_setup_true_lang-BSd_vcfN.js";import"./attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js";import"./content-DVM6yyCt.js";const G={class:"decoration-pages min-w-[1100px]"},H={class:"flex justify-between w-full"},U={class:"flex-1 h-full"},W=v({name:"decorationPc"}),q=v({...W,setup(z){const g=h();let n;(t=>{t.HOME="4"})(n||(n={}));const a=A({4:{id:4,type:4,name:"首页装修",pageData:[]}}),r=_("4"),e=_(0),i=T(()=>{var t;return((t=a[r.value])==null?void 0:t.pageData)??[]}),w=async()=>{await C.confirm("确定离开此页面?系统可能不会保存您所做的更改。"),g.back()},c=async()=>{const t=await N({id:r.value});a[String(t.id)].pageData=JSON.parse(t.data),e.value=i.value.findIndex(o=>!o.disabled)},D=async()=>{await V({...a[r.value],data:JSON.stringify(a[r.value].pageData)}),c()};return J(r,()=>{e.value=i.value.findIndex(t=>!t.disabled),c()},{immediate:!0}),(t,o)=>{const l=b,y=P,x=O("perms");return d(),S("div",G,[p(y,{shadow:"never",class:"!border-none !rounded-none !bg-primary"},{default:m(()=>[u("div",H,[p(l,{link:"",type:"primary",icon:s(B),style:{color:"#fff"},onClick:w},{default:m(()=>[...o[1]||(o[1]=[f(" 返回 ",-1)])]),_:1},8,["icon"]),M((d(),R(l,{onClick:D},{default:m(()=>[...o[2]||(o[2]=[f(" 保存 ",-1)])]),_:1})),[[x,["decorate:pages:save"]]])])]),_:1}),u("div",U,[p(I,{modelValue:s(e),"onUpdate:modelValue":o[0]||(o[0]=k=>j(e)?e.value=k:null),pageData:s(i)},null,8,["modelValue","pageData"])])])}}}),yo=E(q,[["__scopeId","data-v-9bc87a24"]]);export{yo as default};
+import{i as b,J as P}from"./element-plus-lurTijPg.js";import{o as B}from"./@element-plus/icons-vue-HOEUG8sr.js";import{a as N,s as V}from"./decoration-DGMcF5KN.js";import{i as C,_ as E}from"./index-FimllnSe.js";import I from"./preview-pc-CBs5C90M.js";import{a as h}from"./vue-router-QlpZ4wdW.js";import{f as v,w as J,as as O,ak as d,I as S,a as p,aN as m,J as u,O as f,aP as M,G as R,A as T}from"./@vue/runtime-core-C6bnekPw.js";import{y as s,a as j,n as _,r as A}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-CuDNSTop.js";import"./attr-jL893A3w.js";import"./index-BFPN4E1c.js";import"./picker-BaYYVbY4.js";import"./index-DPukmZrj.js";import"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import"./article-Bz45cESD.js";import"./usePaging-VsbTxSU0.js";import"./picker-cRsNDKaC.js";import"./index-C4BsY_iD.js";import"./index-DWt-lpdR.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-C3a0qLlq.js";import"./index.vue_vue_type_script_setup_true_lang-SfFZFG0h.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./content.vue_vue_type_script_setup_true_lang-CkK8DV97.js";import"./decoration-img-Czk31kD0.js";import"./attr.vue_vue_type_script_setup_true_lang-L3CtqPoX.js";import"./content-BCftQT2A.js";import"./attr.vue_vue_type_script_setup_true_lang-jEW8B7xX.js";import"./content.vue_vue_type_script_setup_true_lang-VZlG3144.js";import"./attr.vue_vue_type_script_setup_true_lang-C6pbWr3t.js";import"./add-nav.vue_vue_type_script_setup_true_lang-5M4N0Z7O.js";import"./content-BRiT2uVj.js";import"./attr.vue_vue_type_script_setup_true_lang-DZhgpsM5.js";import"./content.vue_vue_type_script_setup_true_lang-BNBblZEN.js";import"./attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js";import"./content-B6-FPvhQ.js";import"./attr.vue_vue_type_script_setup_true_lang-J94Enfnk.js";import"./index.vue_vue_type_script_setup_true_lang-8-xP7boW.js";import"./content-DllMmIdG.js";import"./content.vue_vue_type_script_setup_true_lang-CkSWJN2j.js";import"./attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js";import"./content-C6tigHSr.js";import"./attr.vue_vue_type_script_setup_true_lang-DnYY_hwO.js";import"./content.vue_vue_type_script_setup_true_lang-B77aRUfW.js";import"./attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js";import"./content-719Kg6Gs.js";const G={class:"decoration-pages min-w-[1100px]"},H={class:"flex justify-between w-full"},U={class:"flex-1 h-full"},W=v({name:"decorationPc"}),q=v({...W,setup(z){const g=h();let n;(t=>{t.HOME="4"})(n||(n={}));const a=A({4:{id:4,type:4,name:"首页装修",pageData:[]}}),r=_("4"),e=_(0),i=T(()=>{var t;return((t=a[r.value])==null?void 0:t.pageData)??[]}),w=async()=>{await C.confirm("确定离开此页面?系统可能不会保存您所做的更改。"),g.back()},c=async()=>{const t=await N({id:r.value});a[String(t.id)].pageData=JSON.parse(t.data),e.value=i.value.findIndex(o=>!o.disabled)},D=async()=>{await V({...a[r.value],data:JSON.stringify(a[r.value].pageData)}),c()};return J(r,()=>{e.value=i.value.findIndex(t=>!t.disabled),c()},{immediate:!0}),(t,o)=>{const l=b,y=P,x=O("perms");return d(),S("div",G,[p(y,{shadow:"never",class:"!border-none !rounded-none !bg-primary"},{default:m(()=>[u("div",H,[p(l,{link:"",type:"primary",icon:s(B),style:{color:"#fff"},onClick:w},{default:m(()=>[...o[1]||(o[1]=[f(" 返回 ",-1)])]),_:1},8,["icon"]),M((d(),R(l,{onClick:D},{default:m(()=>[...o[2]||(o[2]=[f(" 保存 ",-1)])]),_:1})),[[x,["decorate:pages:save"]]])])]),_:1}),u("div",U,[p(I,{modelValue:s(e),"onUpdate:modelValue":o[0]||(o[0]=k=>j(e)?e.value=k:null),pageData:s(i)},null,8,["modelValue","pageData"])])])}}}),yo=E(q,[["__scopeId","data-v-9bc87a24"]]);export{yo as default};
diff --git a/server/public/admin/assets/perm-DJQOTKtE.js b/server/public/admin/assets/perm-B9Vga-ll.js
similarity index 67%
rename from server/public/admin/assets/perm-DJQOTKtE.js
rename to server/public/admin/assets/perm-B9Vga-ll.js
index b69cf763..e0f295c1 100644
--- a/server/public/admin/assets/perm-DJQOTKtE.js
+++ b/server/public/admin/assets/perm-B9Vga-ll.js
@@ -1 +1 @@
-import{u as i}from"./index-DF1MLuL8.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-FimllnSe.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-BSLSmuXD.js b/server/public/admin/assets/picker-BaYYVbY4.js
similarity index 97%
rename from server/public/admin/assets/picker-BSLSmuXD.js
rename to server/public/admin/assets/picker-BaYYVbY4.js
index d961e734..0ba29556 100644
--- a/server/public/admin/assets/picker-BSLSmuXD.js
+++ b/server/public/admin/assets/picker-BaYYVbY4.js
@@ -1 +1 @@
-import{D as F,B as z,C as L,i as J,L as Q,M as W,N as X,H as Y,v as Z,r as ee,G as te,I as le,y as ae,w as ne,x as se}from"./element-plus-lurTijPg.js";import{_ as q,c as oe}from"./index-DF1MLuL8.js";import{w as ie,s as me}from"./@vue/runtime-dom-DDAG46FW.js";import{_ as de}from"./index-CnpV87Ke.js";import{_ as ue}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{N as pe}from"./@element-plus/icons-vue-HOEUG8sr.js";import{k as re}from"./article-DRL9P_tT.js";import{u as ce}from"./usePaging-VsbTxSU0.js";import{f as k,w as O,ak as r,I as V,a as d,aN as x,aP as _e,G as P,J as l,O as R,F as T,ap as $,H as b,A as N}from"./@vue/runtime-core-C6bnekPw.js";import{n as E,y as o,a as I,r as fe,q as xe}from"./@vue/reactivity-DiY1c2vO.js";import{Q as C,o as ve}from"./@vue/shared-mAAVTE9n.js";var w=(n=>(n.SHOP_PAGES="shop",n.APPTOOL="application_tool",n.OTHER_LINK="other_link",n))(w||{}),a=(n=>(n.SHOP_PAGES="shop",n.ARTICLE_LIST="article",n.CUSTOM_LINK="custom",n.MINI_PROGRAM="mini_program",n))(a||{});const ye={class:"article-list"},he={class:"flex row-center"},Se={class:"flex items-center"},ge={class:"ml-4 overflow-hidden"},Ve={class:"text-base line-clamp-2"},Pe={class:"flex justify-end mt-4"},we=k({__name:"article-list",props:{modelValue:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,m=E({path:"/pages/news_detail/news_detail",name:"",query:{},type:a.ARTICLE_LIST}),t=fe({name:"",is_show:1}),{pager:e,getLists:_,resetPage:s}=ce({fetchFun:re,params:t}),i=f=>f==Number(m.value.id),p=f=>{m.value={id:f.id,name:f.title,path:"/pages/news_detail/news_detail",query:{id:f.id},type:a.ARTICLE_LIST},y("update:modelValue",m.value)};return O(()=>c.modelValue,f=>{if(f.type!=a.ARTICLE_LIST)return m.value={id:"",name:"",path:"/pages/news_detail/news_detail",type:a.SHOP_PAGES};m.value=f},{immediate:!0}),_(),(f,v)=>{const u=L,S=J,A=z,G=F,M=Y,H=X,U=Z,K=ee,j=W,B=ue,D=Q;return r(),V("div",ye,[d(G,{ref:"formRef",model:o(t),inline:!0},{default:x(()=>[d(A,{class:"w-[280px]",label:"文章名称"},{default:x(()=>[d(u,{modelValue:o(t).name,"onUpdate:modelValue":v[0]||(v[0]=g=>o(t).name=g),placeholder:"请输入",clearable:"",onKeyup:ie(o(s),["enter"])},null,8,["modelValue","onKeyup"]),d(S,{type:"primary",class:"ml-4",icon:o(pe),onClick:o(s)},null,8,["icon","onClick"])]),_:1})]),_:1},8,["model"]),_e((r(),P(j,{size:"large",data:o(e).lists,height:"432px",onRowClick:p},{default:x(()=>[d(H,{label:"选择","min-width":"50"},{default:x(({row:g})=>[l("div",he,[d(M,{"model-value":i(g.id),size:"large",onChange:Qe=>p(g)},null,8,["model-value","onChange"])])]),_:1}),d(H,{label:"文章名称","min-width":"180"},{default:x(({row:g})=>[l("div",Se,[d(U,{fit:"cover",src:g.image,class:"flex-none w-[58px] h-[58px]"},null,8,["src"]),l("div",ge,[d(K,{effect:"dark",content:g.title,placement:"top"},{default:x(()=>[l("div",Ve,C(g.title),1)]),_:2},1032,["content"])])])]),_:1}),d(H,{label:"创建时间",prop:"create_time","min-width":"140"})]),_:1},8,["data"])),[[D,o(e).loading]]),l("div",Pe,[d(B,{modelValue:o(e),"onUpdate:modelValue":v[1]||(v[1]=g=>I(e)?e.value=g:null),onChange:o(_)},null,8,["modelValue","onChange"])])])}}}),Ie=q(we,[["__scopeId","data-v-1686cf19"]]),ke={class:"custom-link h-[530px]"},Oe={class:"flex flex-wrap items-center mt-4"},Ee={class:"ml-4 flex-1 min-w-[100px]"},Ae=k({__name:"custom-link",props:{modelValue:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(n,{emit:h}){const c=h,y=m=>{c("update:modelValue",{path:"/pages/webview/webview",query:{url:m},type:a.CUSTOM_LINK})};return(m,t)=>{var _;const e=L;return r(),V("div",ke,[t[1]||(t[1]=l("div",{class:"text-xl font-medium"},"自定义链接",-1)),l("div",Oe,[t[0]||(t[0]=l("div",{class:"w-[86px] text-right"},"自定义链接",-1)),l("div",Ee,[d(e,{class:"max-w-[320px]","model-value":(_=n.modelValue.query)==null?void 0:_.url,placeholder:"请输入链接地址",onInput:y},null,8,["model-value"])])]),t[2]||(t[2]=l("div",{class:"form-tips ml-[101px] max-w-[320px]"}," 请填写完整的带有“https://”或“http://”的链接地址,链接的域名必须在微信公众平台设置业务域名 ",-1))])}}}),be={class:"mini-program h-[530px]"},Ce={class:"flex flex-wrap items-center mt-4"},Le={class:"ml-4 flex-1 min-w-[100px]"},Ge={class:"flex flex-wrap items-center mt-4"},He={class:"ml-4 flex-1 min-w-[100px]"},Re={class:"flex flex-wrap items-center mt-4"},Te={class:"ml-4 flex-1 min-w-[100px]"},$e={class:"flex flex-wrap items-center mt-4"},qe={class:"ml-4 flex-1 min-w-[100px]"},Ne=k({__name:"mini-program",props:{modelValue:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,m=(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||m("env_version","release")},{immediate:!0}),(t,e)=>{var p,f,v,u;const _=L,s=le,i=te;return r(),V("div",be,[e[11]||(e[11]=l("div",{class:"text-xl font-medium"},"跳转小程序",-1)),l("div",Ce,[e[4]||(e[4]=l("div",{class:"w-[86px] text-right"},"小程序APPID",-1)),l("div",Le,[d(_,{class:"max-w-[320px]","model-value":(p=n.modelValue.query)==null?void 0:p.appId,placeholder:"请输入小程序appId",onInput:e[0]||(e[0]=S=>m("appId",S))},null,8,["model-value"])])]),l("div",Ge,[e[5]||(e[5]=l("div",{class:"w-[86px] text-right"},"小程序路径",-1)),l("div",He,[d(_,{class:"max-w-[320px]","model-value":(f=n.modelValue.query)==null?void 0:f.path,placeholder:"请输入小程序路径链接地址",onInput:e[1]||(e[1]=S=>m("path",S))},null,8,["model-value"])])]),l("div",Re,[e[6]||(e[6]=l("div",{class:"w-[86px] text-right"},"传递参数",-1)),l("div",Te,[d(_,{class:"max-w-[320px]","model-value":(v=n.modelValue.query)==null?void 0:v.query,placeholder:"请输入小程序跳转参数(选填)",onInput:e[2]||(e[2]=S=>m("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,[d(i,{"model-value":(u=n.modelValue.query)==null?void 0:u.env_version,onChange:e[3]||(e[3]=S=>m("env_version",S))},{default:x(()=>[d(s,{value:"release"},{default:x(()=>[...e[7]||(e[7]=[R("正式版",-1)])]),_:1}),d(s,{value:"trial"},{default:x(()=>[...e[8]||(e[8]=[R("体验版",-1)])]),_:1}),d(s,{value:"develop"},{default:x(()=>[...e[9]||(e[9]=[R("开发版",-1)])]),_:1})]),_:1},8,["model-value"])])]),e[13]||(e[13]=l("div",null,[l("div",{class:"form-tips ml-[100px] max-w-[320px]"},[l("div",{class:"mt-4"}," 1. 小程序APPID和小程序路径链接地址,小程序路径链接地址请填写小程序的页面路径,如:pages/index/index "),l("div",{class:"mt-2"},[l("span",null,"2. 如果是H5(浏览器)中需要跳转到小程序,则需要以下配置--->"),l("a",{href:"https://mp.weixin.qq.com/",class:"text-primary",target:"_blank",rel:"nofollow"}," 小程序管理后台 -> 设置 -> 隐私与安全 -> 明文 scheme 拉起此小程序 (点击跳转去配置) ")])])],-1))])}}}),Me={class:"shop-pages h-[530px]"},Ue={class:"link-list flex flex-wrap"},Ke=["onClick"],je=k({__name:"shop-pages",props:{modelValue:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(n,{emit:h}){const c=h,y=E([{path:"/pages/index/index",name:"商城首页",type:a.SHOP_PAGES,canTab:!0},{path:"/pages/news/news",name:"文章资讯",type:a.SHOP_PAGES,canTab:!0},{path:"/pages/user/user",name:"个人中心",type:a.SHOP_PAGES,canTab:!0},{path:"/pages/collection/collection",name:"我的收藏",type:a.SHOP_PAGES},{path:"/pages/customer_service/customer_service",name:"联系客服",type:a.SHOP_PAGES},{path:"/pages/user_set/user_set",name:"个人设置",type:a.SHOP_PAGES},{path:"/pages/as_us/as_us",name:"关于我们",type:a.SHOP_PAGES},{path:"/pages/user_data/user_data",name:"个人资料",type:a.SHOP_PAGES},{path:"/pages/agreement/agreement",name:"隐私政策",query:{type:"privacy"},type:a.SHOP_PAGES},{path:"/pages/agreement/agreement",name:"服务协议",query:{type:"service"},type:a.SHOP_PAGES},{path:"/pages/search/search",name:"搜索",type:a.SHOP_PAGES},{path:"/packages/pages/user_wallet/user_wallet",name:"我的钱包",type:a.SHOP_PAGES}]),m=t=>{c("update:modelValue",t)};return(t,e)=>(r(),V("div",Me,[l("div",Ue,[(r(!0),V(T,null,$(o(y),(_,s)=>(r(),V("div",{class:ve(["link-item border border-br px-5 py-[5px] rounded-[3px] cursor-pointer mr-[10px] mb-[10px]",{"border-primary text-primary":n.modelValue.path==_.path&&n.modelValue.name==_.name}]),key:s,onClick:i=>m(_)},C(_.name),11,Ke))),128))])]))}}),Be={class:"link flex"},De={class:"flex-1 ml-4 link-content"},Fe=k({__name:"index",props:{modelValue:{type:Object,required:!0}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,m=E([{name:"商城页面",type:w.SHOP_PAGES,children:[{name:"基础页面",type:a.SHOP_PAGES,link:{}}]},{name:"应用工具",type:w.APPTOOL,children:[{name:"文章资讯",type:a.ARTICLE_LIST,link:{}}]},{name:"其他",type:w.OTHER_LINK,children:[{name:"自定义链接",type:a.CUSTOM_LINK,link:{}},{name:"跳转小程序",type:a.MINI_PROGRAM,link:{}}]}]),t=N({get(){let s={};return m.value.forEach(i=>{const p=i.children.find(f=>f.type==e.value);p&&(s=p)}),s.link},set(s){m.value.forEach(i=>{i.children.forEach(p=>{p.type==e.value&&(p.link=s)})})}}),e=E(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=ne,f=se,v=ae;return r(),V("div",Be,[d(v,{"default-active":o(e),class:"flex-none w-[180px] min-h-[350px] link-menu","default-openeds":[o(w).SHOP_PAGES,o(w).APPTOOL,o(w).OTHER_LINK],onSelect:_},{default:x(()=>[(r(!0),V(T,null,$(o(m),(u,S)=>(r(),P(f,{index:u.type,key:S},{title:x(()=>[l("span",null,C(u.name),1)]),default:x(()=>[(r(!0),V(T,null,$(u.children,(A,G)=>(r(),P(p,{index:A.type,key:G,style:{"min-width":"160px"}},{default:x(()=>[l("span",null,C(A.name),1)]),_:2},1032,["index"]))),128))]),_:2},1032,["index"]))),128))]),_:1},8,["default-active","default-openeds"]),l("div",De,[o(a).SHOP_PAGES==o(e)?(r(),P(je,{key:0,modelValue:o(t),"onUpdate:modelValue":i[0]||(i[0]=u=>I(t)?t.value=u:null)},null,8,["modelValue"])):b("",!0),o(a).ARTICLE_LIST==o(e)?(r(),P(Ie,{key:1,modelValue:o(t),"onUpdate:modelValue":i[1]||(i[1]=u=>I(t)?t.value=u:null)},null,8,["modelValue"])):b("",!0),o(a).CUSTOM_LINK==o(e)?(r(),P(Ae,{key:2,modelValue:o(t),"onUpdate:modelValue":i[2]||(i[2]=u=>I(t)?t.value=u:null)},null,8,["modelValue"])):b("",!0),o(a).MINI_PROGRAM==o(e)?(r(),P(Ne,{key:3,modelValue:o(t),"onUpdate:modelValue":i[3]||(i[3]=u=>I(t)?t.value=u:null)},null,8,["modelValue"])):b("",!0)])])}}}),ze=q(Fe,[["__scopeId","data-v-e991fd93"]]),Je=k({__name:"picker",props:{modelValue:{type:Object},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,m=xe(),t=E({path:"",type:a.SHOP_PAGES}),e=()=>{y("update:modelValue",t.value)},_=N(()=>{var s,i,p;switch((s=c.modelValue)==null?void 0:s.type){case a.SHOP_PAGES:return c.modelValue.name;case a.ARTICLE_LIST:return c.modelValue.name;case a.CUSTOM_LINK:return(i=c.modelValue.query)==null?void 0:i.url;default:return(p=c.modelValue)==null?void 0:p.name}});return O(()=>c.modelValue,s=>{s!=null&&s.type&&(t.value=s)},{immediate:!0}),(s,i)=>{const p=oe,f=L;return r(),V("div",{class:"link-picker flex-1",onClick:i[2]||(i[2]=v=>{var u;return!n.disabled&&((u=o(m))==null?void 0:u.open())})},[d(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]=me(u=>!n.disabled&&y("update:modelValue",{}),["stop"]))})):(r(),P(p,{key:0,name:"el-icon-ArrowRight"}))]}),_:1},8,["model-value","disabled"]),d(de,{ref_key:"popupRef",ref:m,width:"1050px",title:"链接选择",onConfirm:e},{default:x(()=>[d(ze,{modelValue:o(t),"onUpdate:modelValue":i[1]||(i[1]=v=>I(t)?t.value=v:null)},null,8,["modelValue"])]),_:1},512)])}}}),it=q(Je,[["__scopeId","data-v-84fe1e25"]]);export{it as _};
+import{D as F,B as z,C as L,i as J,L as Q,M as W,N as X,H as Y,v as Z,r as ee,G as te,I as le,y as ae,w as ne,x as se}from"./element-plus-lurTijPg.js";import{_ as q,c as oe}from"./index-FimllnSe.js";import{w as ie,s as me}from"./@vue/runtime-dom-DDAG46FW.js";import{_ as de}from"./index-DPukmZrj.js";import{_ as ue}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{N as pe}from"./@element-plus/icons-vue-HOEUG8sr.js";import{k as re}from"./article-Bz45cESD.js";import{u as ce}from"./usePaging-VsbTxSU0.js";import{f as k,w as O,ak as r,I as V,a as d,aN as x,aP as _e,G as P,J as l,O as R,F as T,ap as $,H as b,A as N}from"./@vue/runtime-core-C6bnekPw.js";import{n as E,y as o,a as I,r as fe,q as xe}from"./@vue/reactivity-DiY1c2vO.js";import{Q as C,o as ve}from"./@vue/shared-mAAVTE9n.js";var w=(n=>(n.SHOP_PAGES="shop",n.APPTOOL="application_tool",n.OTHER_LINK="other_link",n))(w||{}),a=(n=>(n.SHOP_PAGES="shop",n.ARTICLE_LIST="article",n.CUSTOM_LINK="custom",n.MINI_PROGRAM="mini_program",n))(a||{});const ye={class:"article-list"},he={class:"flex row-center"},Se={class:"flex items-center"},ge={class:"ml-4 overflow-hidden"},Ve={class:"text-base line-clamp-2"},Pe={class:"flex justify-end mt-4"},we=k({__name:"article-list",props:{modelValue:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,m=E({path:"/pages/news_detail/news_detail",name:"",query:{},type:a.ARTICLE_LIST}),t=fe({name:"",is_show:1}),{pager:e,getLists:_,resetPage:s}=ce({fetchFun:re,params:t}),i=f=>f==Number(m.value.id),p=f=>{m.value={id:f.id,name:f.title,path:"/pages/news_detail/news_detail",query:{id:f.id},type:a.ARTICLE_LIST},y("update:modelValue",m.value)};return O(()=>c.modelValue,f=>{if(f.type!=a.ARTICLE_LIST)return m.value={id:"",name:"",path:"/pages/news_detail/news_detail",type:a.SHOP_PAGES};m.value=f},{immediate:!0}),_(),(f,v)=>{const u=L,S=J,A=z,G=F,M=Y,H=X,U=Z,K=ee,j=W,B=ue,D=Q;return r(),V("div",ye,[d(G,{ref:"formRef",model:o(t),inline:!0},{default:x(()=>[d(A,{class:"w-[280px]",label:"文章名称"},{default:x(()=>[d(u,{modelValue:o(t).name,"onUpdate:modelValue":v[0]||(v[0]=g=>o(t).name=g),placeholder:"请输入",clearable:"",onKeyup:ie(o(s),["enter"])},null,8,["modelValue","onKeyup"]),d(S,{type:"primary",class:"ml-4",icon:o(pe),onClick:o(s)},null,8,["icon","onClick"])]),_:1})]),_:1},8,["model"]),_e((r(),P(j,{size:"large",data:o(e).lists,height:"432px",onRowClick:p},{default:x(()=>[d(H,{label:"选择","min-width":"50"},{default:x(({row:g})=>[l("div",he,[d(M,{"model-value":i(g.id),size:"large",onChange:Qe=>p(g)},null,8,["model-value","onChange"])])]),_:1}),d(H,{label:"文章名称","min-width":"180"},{default:x(({row:g})=>[l("div",Se,[d(U,{fit:"cover",src:g.image,class:"flex-none w-[58px] h-[58px]"},null,8,["src"]),l("div",ge,[d(K,{effect:"dark",content:g.title,placement:"top"},{default:x(()=>[l("div",Ve,C(g.title),1)]),_:2},1032,["content"])])])]),_:1}),d(H,{label:"创建时间",prop:"create_time","min-width":"140"})]),_:1},8,["data"])),[[D,o(e).loading]]),l("div",Pe,[d(B,{modelValue:o(e),"onUpdate:modelValue":v[1]||(v[1]=g=>I(e)?e.value=g:null),onChange:o(_)},null,8,["modelValue","onChange"])])])}}}),Ie=q(we,[["__scopeId","data-v-1686cf19"]]),ke={class:"custom-link h-[530px]"},Oe={class:"flex flex-wrap items-center mt-4"},Ee={class:"ml-4 flex-1 min-w-[100px]"},Ae=k({__name:"custom-link",props:{modelValue:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(n,{emit:h}){const c=h,y=m=>{c("update:modelValue",{path:"/pages/webview/webview",query:{url:m},type:a.CUSTOM_LINK})};return(m,t)=>{var _;const e=L;return r(),V("div",ke,[t[1]||(t[1]=l("div",{class:"text-xl font-medium"},"自定义链接",-1)),l("div",Oe,[t[0]||(t[0]=l("div",{class:"w-[86px] text-right"},"自定义链接",-1)),l("div",Ee,[d(e,{class:"max-w-[320px]","model-value":(_=n.modelValue.query)==null?void 0:_.url,placeholder:"请输入链接地址",onInput:y},null,8,["model-value"])])]),t[2]||(t[2]=l("div",{class:"form-tips ml-[101px] max-w-[320px]"}," 请填写完整的带有“https://”或“http://”的链接地址,链接的域名必须在微信公众平台设置业务域名 ",-1))])}}}),be={class:"mini-program h-[530px]"},Ce={class:"flex flex-wrap items-center mt-4"},Le={class:"ml-4 flex-1 min-w-[100px]"},Ge={class:"flex flex-wrap items-center mt-4"},He={class:"ml-4 flex-1 min-w-[100px]"},Re={class:"flex flex-wrap items-center mt-4"},Te={class:"ml-4 flex-1 min-w-[100px]"},$e={class:"flex flex-wrap items-center mt-4"},qe={class:"ml-4 flex-1 min-w-[100px]"},Ne=k({__name:"mini-program",props:{modelValue:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,m=(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||m("env_version","release")},{immediate:!0}),(t,e)=>{var p,f,v,u;const _=L,s=le,i=te;return r(),V("div",be,[e[11]||(e[11]=l("div",{class:"text-xl font-medium"},"跳转小程序",-1)),l("div",Ce,[e[4]||(e[4]=l("div",{class:"w-[86px] text-right"},"小程序APPID",-1)),l("div",Le,[d(_,{class:"max-w-[320px]","model-value":(p=n.modelValue.query)==null?void 0:p.appId,placeholder:"请输入小程序appId",onInput:e[0]||(e[0]=S=>m("appId",S))},null,8,["model-value"])])]),l("div",Ge,[e[5]||(e[5]=l("div",{class:"w-[86px] text-right"},"小程序路径",-1)),l("div",He,[d(_,{class:"max-w-[320px]","model-value":(f=n.modelValue.query)==null?void 0:f.path,placeholder:"请输入小程序路径链接地址",onInput:e[1]||(e[1]=S=>m("path",S))},null,8,["model-value"])])]),l("div",Re,[e[6]||(e[6]=l("div",{class:"w-[86px] text-right"},"传递参数",-1)),l("div",Te,[d(_,{class:"max-w-[320px]","model-value":(v=n.modelValue.query)==null?void 0:v.query,placeholder:"请输入小程序跳转参数(选填)",onInput:e[2]||(e[2]=S=>m("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,[d(i,{"model-value":(u=n.modelValue.query)==null?void 0:u.env_version,onChange:e[3]||(e[3]=S=>m("env_version",S))},{default:x(()=>[d(s,{value:"release"},{default:x(()=>[...e[7]||(e[7]=[R("正式版",-1)])]),_:1}),d(s,{value:"trial"},{default:x(()=>[...e[8]||(e[8]=[R("体验版",-1)])]),_:1}),d(s,{value:"develop"},{default:x(()=>[...e[9]||(e[9]=[R("开发版",-1)])]),_:1})]),_:1},8,["model-value"])])]),e[13]||(e[13]=l("div",null,[l("div",{class:"form-tips ml-[100px] max-w-[320px]"},[l("div",{class:"mt-4"}," 1. 小程序APPID和小程序路径链接地址,小程序路径链接地址请填写小程序的页面路径,如:pages/index/index "),l("div",{class:"mt-2"},[l("span",null,"2. 如果是H5(浏览器)中需要跳转到小程序,则需要以下配置--->"),l("a",{href:"https://mp.weixin.qq.com/",class:"text-primary",target:"_blank",rel:"nofollow"}," 小程序管理后台 -> 设置 -> 隐私与安全 -> 明文 scheme 拉起此小程序 (点击跳转去配置) ")])])],-1))])}}}),Me={class:"shop-pages h-[530px]"},Ue={class:"link-list flex flex-wrap"},Ke=["onClick"],je=k({__name:"shop-pages",props:{modelValue:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(n,{emit:h}){const c=h,y=E([{path:"/pages/index/index",name:"商城首页",type:a.SHOP_PAGES,canTab:!0},{path:"/pages/news/news",name:"文章资讯",type:a.SHOP_PAGES,canTab:!0},{path:"/pages/user/user",name:"个人中心",type:a.SHOP_PAGES,canTab:!0},{path:"/pages/collection/collection",name:"我的收藏",type:a.SHOP_PAGES},{path:"/pages/customer_service/customer_service",name:"联系客服",type:a.SHOP_PAGES},{path:"/pages/user_set/user_set",name:"个人设置",type:a.SHOP_PAGES},{path:"/pages/as_us/as_us",name:"关于我们",type:a.SHOP_PAGES},{path:"/pages/user_data/user_data",name:"个人资料",type:a.SHOP_PAGES},{path:"/pages/agreement/agreement",name:"隐私政策",query:{type:"privacy"},type:a.SHOP_PAGES},{path:"/pages/agreement/agreement",name:"服务协议",query:{type:"service"},type:a.SHOP_PAGES},{path:"/pages/search/search",name:"搜索",type:a.SHOP_PAGES},{path:"/packages/pages/user_wallet/user_wallet",name:"我的钱包",type:a.SHOP_PAGES}]),m=t=>{c("update:modelValue",t)};return(t,e)=>(r(),V("div",Me,[l("div",Ue,[(r(!0),V(T,null,$(o(y),(_,s)=>(r(),V("div",{class:ve(["link-item border border-br px-5 py-[5px] rounded-[3px] cursor-pointer mr-[10px] mb-[10px]",{"border-primary text-primary":n.modelValue.path==_.path&&n.modelValue.name==_.name}]),key:s,onClick:i=>m(_)},C(_.name),11,Ke))),128))])]))}}),Be={class:"link flex"},De={class:"flex-1 ml-4 link-content"},Fe=k({__name:"index",props:{modelValue:{type:Object,required:!0}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,m=E([{name:"商城页面",type:w.SHOP_PAGES,children:[{name:"基础页面",type:a.SHOP_PAGES,link:{}}]},{name:"应用工具",type:w.APPTOOL,children:[{name:"文章资讯",type:a.ARTICLE_LIST,link:{}}]},{name:"其他",type:w.OTHER_LINK,children:[{name:"自定义链接",type:a.CUSTOM_LINK,link:{}},{name:"跳转小程序",type:a.MINI_PROGRAM,link:{}}]}]),t=N({get(){let s={};return m.value.forEach(i=>{const p=i.children.find(f=>f.type==e.value);p&&(s=p)}),s.link},set(s){m.value.forEach(i=>{i.children.forEach(p=>{p.type==e.value&&(p.link=s)})})}}),e=E(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=ne,f=se,v=ae;return r(),V("div",Be,[d(v,{"default-active":o(e),class:"flex-none w-[180px] min-h-[350px] link-menu","default-openeds":[o(w).SHOP_PAGES,o(w).APPTOOL,o(w).OTHER_LINK],onSelect:_},{default:x(()=>[(r(!0),V(T,null,$(o(m),(u,S)=>(r(),P(f,{index:u.type,key:S},{title:x(()=>[l("span",null,C(u.name),1)]),default:x(()=>[(r(!0),V(T,null,$(u.children,(A,G)=>(r(),P(p,{index:A.type,key:G,style:{"min-width":"160px"}},{default:x(()=>[l("span",null,C(A.name),1)]),_:2},1032,["index"]))),128))]),_:2},1032,["index"]))),128))]),_:1},8,["default-active","default-openeds"]),l("div",De,[o(a).SHOP_PAGES==o(e)?(r(),P(je,{key:0,modelValue:o(t),"onUpdate:modelValue":i[0]||(i[0]=u=>I(t)?t.value=u:null)},null,8,["modelValue"])):b("",!0),o(a).ARTICLE_LIST==o(e)?(r(),P(Ie,{key:1,modelValue:o(t),"onUpdate:modelValue":i[1]||(i[1]=u=>I(t)?t.value=u:null)},null,8,["modelValue"])):b("",!0),o(a).CUSTOM_LINK==o(e)?(r(),P(Ae,{key:2,modelValue:o(t),"onUpdate:modelValue":i[2]||(i[2]=u=>I(t)?t.value=u:null)},null,8,["modelValue"])):b("",!0),o(a).MINI_PROGRAM==o(e)?(r(),P(Ne,{key:3,modelValue:o(t),"onUpdate:modelValue":i[3]||(i[3]=u=>I(t)?t.value=u:null)},null,8,["modelValue"])):b("",!0)])])}}}),ze=q(Fe,[["__scopeId","data-v-e991fd93"]]),Je=k({__name:"picker",props:{modelValue:{type:Object},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,m=xe(),t=E({path:"",type:a.SHOP_PAGES}),e=()=>{y("update:modelValue",t.value)},_=N(()=>{var s,i,p;switch((s=c.modelValue)==null?void 0:s.type){case a.SHOP_PAGES:return c.modelValue.name;case a.ARTICLE_LIST:return c.modelValue.name;case a.CUSTOM_LINK:return(i=c.modelValue.query)==null?void 0:i.url;default:return(p=c.modelValue)==null?void 0:p.name}});return O(()=>c.modelValue,s=>{s!=null&&s.type&&(t.value=s)},{immediate:!0}),(s,i)=>{const p=oe,f=L;return r(),V("div",{class:"link-picker flex-1",onClick:i[2]||(i[2]=v=>{var u;return!n.disabled&&((u=o(m))==null?void 0:u.open())})},[d(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]=me(u=>!n.disabled&&y("update:modelValue",{}),["stop"]))})):(r(),P(p,{key:0,name:"el-icon-ArrowRight"}))]}),_:1},8,["model-value","disabled"]),d(de,{ref_key:"popupRef",ref:m,width:"1050px",title:"链接选择",onConfirm:e},{default:x(()=>[d(ze,{modelValue:o(t),"onUpdate:modelValue":i[1]||(i[1]=v=>I(t)?t.value=v:null)},null,8,["modelValue"])]),_:1},512)])}}}),it=q(Je,[["__scopeId","data-v-84fe1e25"]]);export{it as _};
diff --git a/server/public/admin/assets/picker-BPfrB1Pn.js b/server/public/admin/assets/picker-cRsNDKaC.js
similarity index 96%
rename from server/public/admin/assets/picker-BPfrB1Pn.js
rename to server/public/admin/assets/picker-cRsNDKaC.js
index f81c94f2..76012fa2 100644
--- a/server/public/admin/assets/picker-BPfrB1Pn.js
+++ b/server/public/admin/assets/picker-cRsNDKaC.js
@@ -1 +1 @@
-import{_ as j}from"./index-CnpV87Ke.js";import{s as le}from"./element-plus-lurTijPg.js";import{_ as se,a as J,F as ue}from"./index-BP_YKY_y.js";import{e as de,i as O,_ as pe,c as me}from"./index-DF1MLuL8.js";import{_ as fe}from"./index-mDy9ToMf.js";import{D as ge}from"./vuedraggable-5bKFmC7X.js";import{a as ve}from"./file-BdGKYRpa.js";import{f as ce,w as he,am as q,A as T,n as ye,ar as F,ak as we,I as De,a as f,M as Ce,aN as S,J as d,O as be,aP as Te,aq as Se}from"./@vue/runtime-core-C6bnekPw.js";import{K as Pe,n as s}from"./@vue/reactivity-DiY1c2vO.js";import{h as ke}from"./@vueuse/shared-Cl3lVqjz.js";import{s as h,q as $e}from"./@vue/runtime-dom-DDAG46FW.js";import{o as E,p as ze}from"./@vue/shared-mAAVTE9n.js";const Ve=ce({components:{Popup:j,Draggable:ge,FileItem:ue,Material:J,Preview:se},props:{modelValue:{type:[String,Array],default:()=>[]},type:{type:String,default:"image"},size:{type:String,default:"100px"},width:{type:String,default:""},height:{type:String,default:""},fileSize:{type:String,default:"100px"},limit:{type:Number,default:1},disabled:{type:Boolean,default:!1},hiddenUpload:{type:Boolean,default:!1},uploadClass:{type:String,default:""},excludeDomain:{type:Boolean,default:!1},uploadCid:{type:[Number,String],default:0}},emits:["change","update:modelValue"],setup(e,{emit:a}){const z=s(),V=s(),A=s(""),I=s(!1),o=s([]),P=s([]),c=s(!0),k=s(-1),g=s(0),y=s(!1),{disabled:v,limit:p,modelValue:i}=Pe(e),w=de(),D=t=>w.getImageUrl(t),C=T(()=>!e.hiddenUpload&&(e.type==="image"||e.type==="video"||e.type==="file")),K=T(()=>g.value>0);function R(t){if(!t)return!1;const n=Array.from(t.types);return n.includes("Files")||n.includes("application/x-moz-file")}function B(t,n){var l;if(n==="file")return!0;const r=t.includes(".")&&((l=t.split(".").pop())==null?void 0:l.toLowerCase())||"";return n==="image"?r?["jpg","jpeg","png","gif","ico"].includes(r):!0:n==="video"&&r?["wmv","avi","mpg","mpeg","3gp","mov","mp4","flv","rmvb","mkv"].includes(r):!0}function _(t){var l;if(!t||!t.startsWith("http"))return t;const n=String(((l=w.config)==null?void 0:l.oss_domain)||"").trim().replace(/\/$/,"");if(n&&t.startsWith(n))return t.slice(n.length).replace(/^\//,"");const r=typeof window<"u"?window.location.origin.replace(/\/$/,""):"";if(r&&t.startsWith(r))return t.slice(r.length).replace(/^\//,"");try{return new URL(t).pathname.replace(/^\//,"")}catch{return t}}function G(t){var b,$;const n=e.type,r=Array.from(((b=t.clipboardData)==null?void 0:b.files)||[]).filter(m=>B(m.name,n));if(r.length)return r;if(n!=="image")return[];const l=($=t.clipboardData)==null?void 0:$.items;if(!l)return[];const u=[];for(let m=0;m
接诊诊单:${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}]}}),Nt=N(()=>V.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),Pa=N(()=>{const t=[...V.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 W=Number(p.deal_order_count);return W>0?Number(p.deal_amount)/W:0},d=Math.max(...t.map(p=>Number(p.deal_amount)),1e-9),b=Math.max(...t.map(p=>Number(p.deal_order_count)),1e-9),h=Math.max(...t.map(n),1e-9),w=Math.max(...t.map(p=>Number(p.appointment_completed??0)),1e-9),T=Math.max(...t.map(s),1e-9),O=t.map(p=>({name:e(p),value:[Number(p.deal_amount)/d*100,Number(p.deal_order_count)/b*100,n(p)/h*100,Number(p.appointment_completed??0)/w*100,s(p)/T*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:O,emphasis:{lineStyle:{width:3}}}]}}),Ta=N(()=>{const t=[...V.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]}}]}}),Ia=N(()=>{const t=[...V.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 Ma(){var e,n;const t={};if(x.value&&(t.channel_code=x.value),A.value.length>0&&(t.dept_ids=A.value.join(",")),(e=Y.value)!=null&&e[0]&&((n=Y.value)!=null&&n[1]))t.start_date=Y.value[0],t.end_date=Y.value[1];else{const s=ut(new Date);t.start_date=s,t.end_date=s}return t}function Ht(t){return Number(t??0).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}function Wt(t){if(t==null||t==="")return"—";const e=Number(t);return Number.isFinite(e)?`${e.toFixed(2)}%`:"—"}function Oa(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]=`¥ ${Ht(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]=Wt(e.appointment_conversion_rate);break;default:n[d]=""}}),n}async function Dt(){if(!U.value){V.value=[],pe.value={},Te.value=null;return}Pe.value=!0;try{const t=await pl(Ma());V.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)&&(Te.value={start:t.start_date,end:t.end_date})}catch(t){if(ie.isCancel(t))return;V.value=[],pe.value={},Te.value=null}finally{Pe.value=!1}}const ne=f(!1),ye=f(!1),Je=f(""),Ge=f(""),be=f([]),ot=f(0),K=f(1),st=f(15),G=f("channel"),H=f(null),Ze=f(null),le=f(null),qt=N(()=>{const t=le.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}),Jt=N(()=>{const t=le.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}),Ea=N(()=>be.value.reduce((t,e)=>t+Number(e.amount??0),0)),Gt=N(()=>!!x.value&&ne.value),Ct=N(()=>{var e;const t=x.value;if(!t)return"";for(const n of et.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}),Fa=N(()=>{const t=H.value;return t&&G.value==="total"?Number.isFinite(t.channelAmount)?t.channelAmount:null:qt.value}),Ie=f(null),it=f(!1);function Va(){const t=new Date;return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}`}function Ba(t){const[e,n]=t.split("-").map(Number);return new Date(e,n,0).getDate()}async function Ya(){var t,e,n,s;if(!We.value){Ie.value=null;return}it.value=!0,Ie.value=null;try{let d=function(y,z=0){const $=[];for(const R of y??[])$.push({node:R,depth:z}),$.push(...d(R.children??[],z+1));return $},b=function(y){const z=je.value.find(J=>Number(J.id)===y);if(!z)return"";const $=Number(z.pid);if(!$)return"";const R=je.value.find(J=>Number(J.id)===$);return R!=null&&R.name?String(R.name):""},h=function(y){const z=[],$=[y];for(;$.length;){const R=$.shift();for(const J of je.value)Number(J.pid)===R&&(z.push(J.id),$.push(J.id))}return z},w=function(y,z){const $=new Map;for(const R of(y==null?void 0:y.rows)??[])$.set(Number(R.dept_id),Number(R[z]??0));return $};const T=Va(),O=await wl({year_month:T}),p=(O==null?void 0:O.rows)??[];if(!p.length)return;const W=d(p).filter(y=>y.depth>=1&&Number(y.node.target_amount)>0).map(y=>y.node);if(!W.length)return;const P=new Set,me=W.map(y=>{const z=Number(y.dept_id),$=h(z),R=$.length?$:[z];return R.forEach(J=>P.add(J)),{dept_id:z,dept_name:String(y.dept_name),target_amount:Number(y.target_amount),totalIds:R}});if(!P.size)return;const Oe=et.value.flatMap(y=>y.channels),q=(t=Oe.find(y=>y.channel_name.includes("自媒体1")))==null?void 0:t.channel_code,we=(e=Oe.find(y=>y.channel_name.includes("自媒体3")))==null?void 0:e.channel_code,Ee=(n=Oe.find(y=>y.channel_name.includes("自媒体4")))==null?void 0:n.channel_code,Fe=Array.from(P).join(","),[ke,B,l,g]=await Promise.all([Ke({dept_ids:Fe}),q?Ke({dept_ids:Fe,channel_code:q}):Promise.resolve(null),we?Ke({dept_ids:Fe,channel_code:we}):Promise.resolve(null),Ee?Ke({dept_ids:Fe,channel_code:Ee}):Promise.resolve(null)]),m=y=>{var z;return((y==null?void 0:y.tables)??[]).find($=>String($.label).includes("月"))??((z=y==null?void 0:y.tables)==null?void 0:z[0])},E=y=>{var z,$;return((y==null?void 0:y.tables)??[]).find(R=>String(R.label).includes("昨"))??(($=y==null?void 0:y.tables)==null?void 0:$[((z=y==null?void 0:y.tables)==null?void 0:z.length)-1])},fa=w(m(ke),"performance_amount"),Tn=w(E(ke),"performance_amount"),ya=B?w(m(B),"completed_performance_amount"):null,ba=l?w(m(l),"completed_performance_amount"):null,ha=g?w(m(g),"completed_performance_amount"):null,Xe=(y,z)=>z.reduce(($,R)=>$+(y.get(R)??0),0),Tt=new Date,In=Ba(T),Mn=Tt.getDate(),On=me.map(y=>{const z=Xe(fa,y.totalIds),$=Xe(Tn,y.totalIds),R=ya?Xe(ya,y.totalIds):null,J=ba?Xe(ba,y.totalIds):null,ga=ha?Xe(ha,y.totalIds):null,It=J!==null||ga!==null?(J??0)+(ga??0):null,Bn=Math.round(y.target_amount*(Mn/In)*100)/100,Yn=y.target_amount>0?z/y.target_amount:null;return{dept_id:y.dept_id,dept_name:y.dept_name,parent_dept_name:b(y.dept_id),target_amount:y.target_amount,total_amount:z,yesterday_amount:$,douyin_amount:R&&R>0?R:null,tuifen_amount:It&&It>0?It:null,target_progress:Bn,completion_rate:Yn}}),En=((s=p[0])==null?void 0:s.dept_name)??"",Fn=Tt.getMonth()+1,Vn=Tt.getDate();Ie.value={title:`${En}诊金-${Fn}.${Vn}`,sections:On}}catch{}finally{it.value=!1}}const Ua=N(()=>{var e;const t=(e=S.value)==null?void 0:e.leaderboards;return t?t.filter(n=>n.rows.length>0).length:0}),Zt=[{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 Ha(t){const e=t.value();Y.value=[ut(e[0]),ut(e[1])],Me()}async function Wa(){_t.value=!0;try{const t=await ml();je.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{_t.value=!1}}async function qa(){pt.value=!0;try{const t=await vl(),e=(t==null?void 0:t.groups)||[];et.value=e}catch{}finally{pt.value=!1}}async function Xt(t){if(!ae.value){S.value=null;return}de.value=!0;try{const e={start_date:t.start,end_date:t.end};A.value.length>0&&(e.dept_ids=A.value.join(",")),x.value&&(e.channel_code=x.value);const n=await bl(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(ie.isCancel(e))return;S.value=null}finally{de.value=!1}}async function Me(){if(ee.value=!0,S.value=null,!Re.value){re.value=[],ee.value=!1,U.value?Dt():(V.value=[],pe.value={},Te.value=null);return}try{const t={};if(A.value.length>0&&(t.dept_ids=A.value.join(",")),x.value&&(t.channel_code=x.value),Y.value&&Y.value[0]&&Y.value[1]){const[s,d]=Y.value,b={...t,start_date:s,end_date:d},h=await fl(b);re.value=[{label:s===d?s:`${s} ~ ${d}`,start_date:h.start_date,end_date:h.end_date,channel_code:h.channel_code||"",channel_name:h.channel_name||"",channel_group:h.channel_group||"",channel_filter_note:h.channel_filter_note||"",rows:h.rows||[],total:h.total}],await Xt({start:h.start_date,end:h.end_date});return}const e=await Ke(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=ut(new Date);await Xt({start:n,end:n})}catch(t){if(ie.isCancel(t))return;const e=t;se.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"加载失败")}finally{ee.value=!1,U.value?Dt():(V.value=[],pe.value={},Te.value=null)}}function Ja(){A.value=[],Y.value=null,x.value="",Me()}function Ga(t){return t<=0?!1:je.value.some(e=>Number(e.pid)===t)}function Za(t){return{1:"待双审通过",2:"待发货",3:"已完成",4:"已取消",5:"已发货",6:"已签收",7:"进行中",8:"暂不制药",9:"拒收",10:"退款",11:"保留药方",12:"制药缓发"}[Number(t)]??"—"}function rt(t){return t==null||!Number.isFinite(Number(t))?"—":Number(t).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}function Xa(t){return(K.value-1)*st.value+t+1}function Ka(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 Kt(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 Qa(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 b=d.getFullYear(),h=String(d.getMonth()+1).padStart(2,"0"),w=String(d.getDate()).padStart(2,"0"),T=String(d.getHours()).padStart(2,"0"),O=String(d.getMinutes()).padStart(2,"0");return`${b}-${h}-${w} ${T}:${O}`}}const n=String(t);return n.length>=16?n.slice(0,16):n}function Qt(){const t=Ze.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,A.value.length>0&&(e.dept_ids=A.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&&ne.value&&G.value==="channel"&&(e.channel_code=x.value),e}async function en(){const t=Qt();if(!t||!x.value)return;const e={...t,channel_code:x.value,page_no:1,page_size:1};try{const n=await wa(e),s=n!=null&&n.extend&&typeof n.extend=="object"?n.extend:null;s&&s.stats_yeji_drawer_total_performance_amount!=null&&(H.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 he(){const t=Qt();if(t){x.value&&G.value==="total"&&(H.value=null),ye.value=!0;try{const e={...t,page_no:K.value,page_size:st.value},n=await wa(e);be.value=Array.isArray(n==null?void 0:n.lists)?n.lists:[],ot.value=Number((n==null?void 0:n.count)??0),le.value=n!=null&&n.extend&&typeof n.extend=="object"?n.extend:null,x.value&&G.value==="channel"&&le.value&&le.value.stats_yeji_drawer_total_performance_amount!=null&&(H.value={totalAmount:Number(le.value.stats_yeji_drawer_total_performance_amount),totalOrderCount:Number(le.value.stats_yeji_drawer_total_performance_order_count??0),channelAmount:Number(le.value.stats_order_amount_performance??0),channelOrderCount:Number((n==null?void 0:n.count)??0)}),x.value&&ne.value&&G.value==="total"&&await en()}catch(e){if(ie.isCancel(e))return;const n=e;se.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载业务订单失败"),be.value=[],ot.value=0,le.value=null}finally{ye.value=!1}}}function ea(t,e,n){const s=!!(x.value&&t.channel_name);G.value=s?(n==null?void 0:n.listTab)??"channel":"channel",H.value=null,Ze.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)},Je.value=`业务订单 · ${e.dept_name}`,Ge.value=`创建时间:${t.start_date} ~ ${t.end_date} · 与「合计业绩 / 接诊诊单」同口径:订单创建人人事部门 ∈ 本部门子树 · 不含履约 4/9/10`,K.value=1,ne.value=!0,he()}function tn(t,e,n){const s=!!(x.value&&t.channel_name);G.value=s?n:"channel",H.value=null,Ze.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)},Je.value="业务订单 · 当前展示合计",Ge.value=`创建时间:${t.start_date} ~ ${t.end_date} · 已选展示部门 1 个根节点(含其下全部展示行)· 不含履约 4/9/10`,K.value=1,ne.value=!0,he()}function Lt(t,e,n){return!(ge(e)||e.dept_id<=0||n==="channel"&&!t.channel_name)}function zt(t,e){return!(A.value.length!==1||e==="channel"&&!t.channel_name)}function ta(t,e,n){if(!Lt(t,e,n))return;ea(t,e,{listTab:n==="total"?"total":"channel"})}function aa(t,e){if(!zt(t,e))return;const n=A.value[0];if(!n)return;tn(t,n,e==="total"?"total":"channel")}function an(t,e,n){G.value="channel",H.value=null,Ze.value={mode:"assistant",assistantId:t.admin_id,assistantName:t.name,start:e,end:n},Je.value=`业务订单 · ${t.name}`,Ge.value=`创建时间:${e} ~ ${n} · 创建人=${t.name}(与排行榜诊金同口径)· 不含履约 4/9/10`,K.value=1,ne.value=!0,he()}function $t(t,e,n,s){G.value="channel",H.value=null,Ze.value={mode:"assistant",assistantId:t.admin_id,assistantName:t.name,start:e,end:n,erCenterRevisitSlot:s};const d=s===0?"复诊合计":tt(s);Je.value=`业务订单 · ${t.name} · ${d}`,Ge.value=`创建时间:${e} ~ ${n} · 创建人=${t.name}(与部门表 / 排行榜复诊同口径)· 仅二中心复诊口径 · ${d} · 不含履约 4/9/10`,K.value=1,ne.value=!0,he()}function nn(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;$t({admin_id:t.admin_id,name:t.name},e,n,0)}function ln(t,e){if(!t||t.admin_id<=0||!S.value||te(t,e)<=0)return;const{start_date:n,end_date:s}=S.value;$t({admin_id:t.admin_id,name:t.name},n,s,e)}function on(){K.value=1,he()}function sn(t){K.value=t,he()}function rn(t){st.value=t,K.value=1,he()}function ge(t){return t.dept_id<=0&&t.dept_name==="未归属中心"}function dn(t,e){e.dept_id<=0||ge(e)||Number(e.revisit_count??0)<=0||la(t,e,0)}function un(t,e,n){e.dept_id<=0||ge(e)||te(e,n)<=0||la(t,e,n)}function na(t){const e=Vt.value;!e||Number(t.order_count)<=0||$t({admin_id:t.admin_id,name:t.name},e.start,e.end,e.revisitSlot)}async function la(t,e,n){const s=n===0?"复诊合计":tt(n);Ft.value=`${e.dept_name} · ${s} · ${t.start_date} ~ ${t.end_date}`,Vt.value={start:t.start_date,end:t.end_date,revisitSlot:n},Be.value="",De.value=[],yt.value=!0,Ne.value=!0;try{const d={start_date:t.start_date,end_date:t.end_date,dept_id:e.dept_id,revisit_slot:n};A.value.length>0&&(d.dept_ids=A.value.join(",")),x.value&&(d.channel_code=x.value);const b=await yl(d);De.value=Array.isArray(b==null?void 0:b.rows)?b.rows:[],Be.value=typeof(b==null?void 0:b.note)=="string"?b.note:""}catch(d){if(ie.isCancel(d))return;const b=d;se.error((b==null?void 0:b.msg)||(b==null?void 0:b.message)||"加载复诊拆解失败"),De.value=[],Be.value=""}finally{Ne.value=!1}}function oa(t){const e=[`区间:${t.start_date} ~ ${t.end_date}`];return x.value&&e.push(`渠道:${t.channel_name||x.value}`),A.value.length>0&&e.push(`已选展示部门 ${A.value.length} 个`),e.join(" · ")}async function cn(t){Et.value=oa(t),Ve.value="",Se.value=[],ft.value=!0,xe.value=!0;try{const e={start_date:t.start_date,end_date:t.end_date};A.value.length>0&&(e.dept_ids=A.value.join(",")),x.value&&(e.channel_code=x.value);const n=await hl(e);Se.value=Array.isArray(n==null?void 0:n.rows)?n.rows:[],Ve.value=typeof(n==null?void 0:n.note)=="string"?n.note:""}catch(e){if(ie.isCancel(e))return;const n=e;se.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载未归属拆解失败"),Se.value=[],Ve.value=""}finally{xe.value=!1}}function _n(t,e,n){n.dept_id<=0||Number(n.lead_count)<=0||(t.stopPropagation(),fn(e,n))}const sa=[{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 At(t,e,n){const{tb:s,row:d}=t,b={start_date:s.start_date,end_date:s.end_date,dept_id:d.dept_id,page:e,page_size:n};return A.value.length>0&&(b.dept_ids=A.value.join(",")),x.value&&(b.channel_code=x.value),b}function ia(t){const e=t==null?"":String(t);return/[",\n\r]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function pn(t){const e=sa.map(s=>ia(s.label)).join(","),n=t.map(s=>sa.map(d=>ia(s[d.key])).join(",")).join(`
`);return`\uFEFF${e}
${n}`}function mn(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 vn(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 Rt(){const t=ht.value;if(t){ue.value=!0;try{const e=await Mt(At(t,He.value,at.value));Ce.value=Array.isArray(e==null?void 0:e.lists)?e.lists:[],Le.value=Number((e==null?void 0:e.count)??0),Ue.value=typeof(e==null?void 0:e.note)=="string"?e.note:""}catch(e){if(ie.isCancel(e))return;const n=e;se.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载进线明细失败"),Ce.value=[],Le.value=0,Ue.value=""}finally{ue.value=!1}}}async function fn(t,e){ht.value={tb:t,row:e},Bt.value=`${e.dept_name} · ${oa(t)}`,Ue.value="",Ce.value=[],Le.value=0,He.value=1,at.value=20,bt.value=!0,await Rt()}function yn(t){He.value=t,Rt()}function bn(t){at.value=t,He.value=1,Rt()}async function hn(){const t=ht.value;if(!(!t||Ye.value)){Ye.value=!0;try{const n=await Mt(At(t,1,100)),s=Number((n==null?void 0:n.count)??0);if(s<=0){se.warning("暂无进线明细可导出");return}const d=Array.isArray(n==null?void 0:n.lists)?[...n.lists]:[],b=Math.ceil(s/100);for(let h=2;h<=b;h++){const w=await Mt(At(t,h,100)),T=Array.isArray(w==null?void 0:w.lists)?w.lists:[];d.push(...T)}mn(vn(t),pn(d)),se.success(`已导出 ${d.length} 条进线明细`)}catch(e){if(ie.isCancel(e))return;const n=e;se.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"导出进线明细失败")}finally{Ye.value=!1}}}function gn(t){return(fe.value-1)*Ae.value+t+1}function ra(t){return ge(t)?!0:t.dept_id>0}async function dt(){const t=wt.value;if(t){ve.value=!0;try{const e={start_date:t.start_date,end_date:t.end_date,page:fe.value,page_size:Ae.value};t.mode==="dept"?e.dept_id=t.dept_id:e.assistant_id=t.assistant_id,A.value.length>0&&(e.dept_ids=A.value.join(",")),x.value&&(e.channel_code=x.value);const n=await gl(e);ce.value=Array.isArray(n==null?void 0:n.lists)?n.lists:[],$e.value=Number((n==null?void 0:n.count)??0),ze.value=typeof(n==null?void 0:n.note)=="string"?n.note:""}catch(e){if(ie.isCancel(e))return;const n=e;se.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载挂号明细失败"),ce.value=[],$e.value=0,ze.value=""}finally{ve.value=!1}}}function wn(t){if(!t||t.admin_id<=0||!S.value||Number(t.appointment_count??0)<=0)return;const e=S.value;wt.value={mode:"assistant",assistant_id:t.admin_id,name:t.name,start_date:e.start_date,end_date:e.end_date},gt.value=`${t.name} · 医助 · ${e.start_date} ~ ${e.end_date}`,ze.value="",ce.value=[],$e.value=0,fe.value=1,Ae.value=20,nt.value=!0,dt()}function kn(t,e){!ra(e)||Number(e.appointment_booked_count??0)<=0||(wt.value={mode:"dept",dept_id:e.dept_id,dept_name:e.dept_name,start_date:t.start_date,end_date:t.end_date},gt.value=`${e.dept_name} · ${t.start_date} ~ ${t.end_date}`,ze.value="",ce.value=[],$e.value=0,fe.value=1,Ae.value=20,nt.value=!0,dt())}function jn(t){fe.value=t,dt()}function xn(t){Ae.value=t,fe.value=1,dt()}function Sn(t,e){if(ge(e)){cn(t);return}if(!(e.dept_id<=0)){if(Ga(e.dept_id)){A.value=[e.dept_id],Me();return}ea(t,e)}}function Nn(t){if(!t||t.admin_id<=0||!S.value)return;const{start_date:e,end_date:n}=S.value;an(t,e,n)}function da(t){const e=t.channel_name?` · ${t.channel_name}`:"";return`${t.label}${e}`}function Dn(t){const e=t.rows.filter(h=>h.dept_id>0),n=e.map(h=>h.dept_name.length>10?`${h.dept_name.slice(0,10)}…`:h.dept_name),s=["#64748b","#38bdf8","#6366f1"],d=[{name:"进线",type:"bar",data:e.map(h=>h.lead_count),yAxisIndex:0,barMaxWidth:16},{name:"接诊",type:"bar",data:e.map(h=>h.consult_count),yAxisIndex:0,barMaxWidth:16},{name:"成交单",type:"bar",data:e.map(h=>h.deal_order_count),yAxisIndex:0,barMaxWidth:16},{name:"合计业绩",type:"bar",data:e.map(h=>h.performance_amount),yAxisIndex:1,barMaxWidth:14,itemStyle:{color:"#d97706"}}];t.channel_name&&d.push({name:`${t.channel_name}业绩`,type:"bar",data:e.map(h=>h.completed_performance_amount),yAxisIndex:1,barMaxWidth:14,itemStyle:{color:"#0d9488"}});const b=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:b?56:28,containLabel:!1},dataZoom:b?[{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 Cn(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 ua(t){return t.rows.some(e=>Number(e.fee_amount)>0)}function Ln(t,e){const s=[...t.rows].filter(d=>Number(d.fee_amount)>0).sort((d,b)=>Number(b.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/index.html b/server/public/admin/index.html
index 53b5ad5e..f28e6505 100755
--- a/server/public/admin/index.html
+++ b/server/public/admin/index.html
@@ -60,7 +60,7 @@
document.head.appendChild(link);
})();
-
+