2 lines
7.5 KiB
JavaScript
2 lines
7.5 KiB
JavaScript
import{o as U,R as $,ap as J,be as Q,q as r,r as b,v as t,D as s,b9 as X,b6 as Z,bp as ee,bm as le,bn as ae,b7 as te,b8 as se,K as ne,L as u,s as c,bg as oe,ac as D,O as C,T as i,P as B,bj as ie,u as N,bk as de,br as re,F as M,bi as ue,C as ce,M as h,ba as _e}from"./.pnpm-9dA1PEvN.js";import{_ as me}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{s as be,t as pe}from"./stats-Cp2ee5KL.js";import{u as fe}from"./usePaging-Boz1Q6w3.js";import{i as L,_ as ge}from"./index-CJvXnF8Y.js";const ke={class:"auto-assign-log-page"},he={class:"toolbar mb-3"},ye={key:0,class:"toolbar-tip"},ve={class:"cell-sub"},we={class:"cell-sub"},Ve={key:0,class:"cell-sub"},Ce={key:2},Ne={class:"cell-sub"},xe={key:1},Re={class:"cell-sub"},Ee={key:1,class:"cell-sub"},De={class:"flex justify-end mt-4"},Le=U({name:"statsAutoAssignLog"}),Se=U({...Le,setup(Ae){const y=h(null),v=h(null),x=h(),_=h([]),w=h(!1),n=_e({start_date:"",end_date:"",start_time:"",end_time:"",action:"",is_rollback:"",keyword:""});$(y,a=>{n.start_date=(a==null?void 0:a[0])??"",n.end_date=(a==null?void 0:a[1])??""}),$(v,a=>{n.start_time=(a==null?void 0:a[0])??"",n.end_time=(a==null?void 0:a[1])??""});const{pager:f,getLists:R,resetPage:F}=fe({fetchFun:be,params:n}),m=()=>{var a,l;_.value=[],(l=(a=x.value)==null?void 0:a.clearSelection)==null||l.call(a),F()},P=()=>{y.value=null,v.value=null,n.start_date="",n.end_date="",n.start_time="",n.end_time="",n.action="",n.is_rollback="",n.keyword="",m()},T=a=>a==null?"—":`${a}%`,z=a=>Number(a.can_rollback)===1,I=a=>{_.value=a.filter(l=>Number(l.can_rollback)===1)},S=async a=>{var l,g;if(a.length!==0){await L.confirm(`确认回退选中的 ${a.length} 条自动分配?将把诊单医助撤回到自动分配前的原医助,并写入指派日志。`),w.value=!0;try{const o=await pe({ids:a}),p=Number((o==null?void 0:o.success)??0),k=Number((o==null?void 0:o.failed)??0);k>0&&Array.isArray(o==null?void 0:o.messages)&&o.messages.length?L.msgWarning(`回退成功 ${p} 条,跳过/失败 ${k} 条:${o.messages.slice(0,3).join(";")}`):L.msgSuccess(`回退成功 ${p} 条`),_.value=[],(g=(l=x.value)==null?void 0:l.clearSelection)==null||g.call(l),await R()}finally{w.value=!1}}},j=()=>{const a=_.value.map(l=>Number(l.id)).filter(l=>l>0);return S(a)},K=a=>{const l=Number((a==null?void 0:a.id)??0);if(!(l<=0))return S([l])};return J(()=>R()),(a,l)=>{const g=ee,o=Z,p=ae,k=le,q=te,V=ne,H=X,A=oe,d=de,E=re,O=ie,W=me,Y=Q("perms"),G=ue;return r(),b("div",ke,[t(A,{class:"!border-none",shadow:"never"},{default:s(()=>[t(H,{inline:!0,class:"log-filter-form"},{default:s(()=>[t(o,{label:"记录时间"},{default:s(()=>[t(g,{modelValue:v.value,"onUpdate:modelValue":l[0]||(l[0]=e=>v.value=e),type:"datetimerange","range-separator":"至","start-placeholder":"开始时间","end-placeholder":"结束时间","value-format":"YYYY-MM-DD HH:mm:ss",clearable:"",onChange:m},null,8,["modelValue"])]),_:1}),t(o,{label:"执行日期"},{default:s(()=>[t(g,{modelValue:y.value,"onUpdate:modelValue":l[1]||(l[1]=e=>y.value=e),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",clearable:"",onChange:m},null,8,["modelValue"])]),_:1}),t(o,{label:"结果"},{default:s(()=>[t(k,{modelValue:n.action,"onUpdate:modelValue":l[2]||(l[2]=e=>n.action=e),clearable:"",placeholder:"全部",class:"w-[120px]",onChange:m},{default:s(()=>[t(p,{label:"已分配",value:"1"}),t(p,{label:"未分配",value:"0"})]),_:1},8,["modelValue"])]),_:1}),t(o,{label:"回退"},{default:s(()=>[t(k,{modelValue:n.is_rollback,"onUpdate:modelValue":l[3]||(l[3]=e=>n.is_rollback=e),clearable:"",placeholder:"全部",class:"w-[120px]",onChange:m},{default:s(()=>[t(p,{label:"未回退",value:"0"}),t(p,{label:"已回退",value:"1"})]),_:1},8,["modelValue"])]),_:1}),t(o,{label:"关键词"},{default:s(()=>[t(q,{modelValue:n.keyword,"onUpdate:modelValue":l[4]||(l[4]=e=>n.keyword=e),placeholder:"患者/手机号/医助/诊单ID",clearable:"",class:"w-[220px]",onKeyup:se(m,["enter"]),onClear:m},null,8,["modelValue"])]),_:1}),t(o,null,{default:s(()=>[t(V,{type:"primary",onClick:m},{default:s(()=>[...l[6]||(l[6]=[u("查询",-1)])]),_:1}),t(V,{onClick:P},{default:s(()=>[...l[7]||(l[7]=[u("重置",-1)])]),_:1})]),_:1})]),_:1}),l[8]||(l[8]=c("div",{class:"log-hint"}," 由每日定时任务「待分配诊单自动指派」写入:按上月二诊复诊接诊率分档轮询分配(>70% 每人3条/日,60%~70% 每人2条/日,50%~60% 每人1条/日,<50% 不分)。「回退」可将已分配医助撤回到自动分配前的原医助(通常为一中心),并写入指派日志。 ",-1))]),_:1}),t(A,{class:"!border-none mt-3",shadow:"never"},{default:s(()=>[c("div",he,[D((r(),C(V,{type:"warning",disabled:_.value.length===0,loading:w.value,onClick:j},{default:s(()=>[u(" 回退选中("+i(_.value.length)+") ",1)]),_:1},8,["disabled","loading"])),[[Y,["stats.autoAssignLog/rollback"]]]),_.value.length>0?(r(),b("span",ye," 已选 "+i(_.value.length)+" 条可回退记录 ",1)):B("",!0)]),D((r(),C(O,{ref_key:"tableRef",ref:x,data:N(f).lists,size:"default",stripe:"","row-key":"id",onSelectionChange:I},{default:s(()=>[t(d,{type:"selection",width:"48",selectable:z,"reserve-selection":""}),t(d,{label:"记录时间",width:"160"},{default:s(({row:e})=>[u(i(e.create_time_text||"—"),1)]),_:1}),t(d,{label:"诊单",width:"90",prop:"diagnosis_id"}),t(d,{label:"患者","min-width":"110"},{default:s(({row:e})=>[c("div",null,i(e.patient_name||"—"),1),c("div",ve,i(e.patient_phone||""),1)]),_:1}),t(d,{label:"结果",width:"90",align:"center"},{default:s(({row:e})=>[t(E,{type:Number(e.action)===1?"success":"info",size:"small"},{default:s(()=>[u(i(e.action_text),1)]),_:2},1032,["type"])]),_:1}),t(d,{label:"回退状态",width:"140"},{default:s(({row:e})=>[Number(e.is_rollback)===1?(r(),b(M,{key:0},[t(E,{type:"warning",size:"small"},{default:s(()=>[...l[9]||(l[9]=[u("已回退",-1)])]),_:1}),c("div",we,i(e.rollback_time_text),1),e.rollback_admin_name?(r(),b("div",Ve,i(e.rollback_admin_name),1)):B("",!0)],64)):Number(e.can_rollback)===1?(r(),C(E,{key:1,type:"success",size:"small"},{default:s(()=>[...l[10]||(l[10]=[u(" 可回退 ",-1)])]),_:1})):(r(),b("span",Ce,"—"))]),_:1}),t(d,{label:"医助","min-width":"110"},{default:s(({row:e})=>[Number(e.assistant_id)>0?(r(),b(M,{key:0},[c("div",null,i(e.assistant_name||"#"+e.assistant_id),1),c("div",Ne,"上月二诊接诊率 "+i(T(e.visit2_rate)),1)],64)):(r(),b("span",xe,"—"))]),_:1}),t(d,{label:"档位",width:"100",align:"center"},{default:s(({row:e})=>[u(i(e.tier_text||"—"),1)]),_:1}),t(d,{label:"轮次",width:"70",align:"center"},{default:s(({row:e})=>[u(i(Number(e.round_no)>0?"第"+e.round_no+"轮":"—"),1)]),_:1}),t(d,{label:"原因","min-width":"280","show-overflow-tooltip":""},{default:s(({row:e})=>[u(i(e.reason),1)]),_:1}),t(d,{label:"统计月",width:"90",prop:"stat_month",align:"center"}),t(d,{label:"批次",width:"160"},{default:s(({row:e})=>[c("span",Re,i(e.batch_no),1)]),_:1}),t(d,{label:"操作",width:"90",fixed:"right",align:"center"},{default:s(({row:e})=>[Number(e.can_rollback)===1?D((r(),C(V,{key:0,link:"",type:"warning",loading:w.value,onClick:Ye=>K(e)},{default:s(()=>[...l[11]||(l[11]=[u(" 回退 ",-1)])]),_:1},8,["loading","onClick"])),[[Y,["stats.autoAssignLog/rollback"]]]):(r(),b("span",Ee,"—"))]),_:1})]),_:1},8,["data"])),[[G,N(f).loading]]),c("div",De,[t(W,{modelValue:N(f),"onUpdate:modelValue":l[5]||(l[5]=e=>ce(f)?f.value=e:null),onChange:N(R)},null,8,["modelValue","onChange"])])]),_:1})])}}}),Pe=ge(Se,[["__scopeId","data-v-0a150f73"]]);export{Pe as default};
|