2 lines
8.6 KiB
JavaScript
2 lines
8.6 KiB
JavaScript
import{D as G,B as W,R as X,P as Z,Q as ee,C as te,i as le,J as ae,M as oe,N as se,T as ne,L as ie}from"./element-plus-Bolc0EfP.js";import{_ as re}from"./index.vue_vue_type_script_setup_true_lang-EJPdzUeK.js";import{w as de}from"./@vue/runtime-dom-DDAG46FW.js";import{s as me,t as ce}from"./stats-DusALmU7.js";import{u as ue}from"./usePaging-VsbTxSU0.js";import{i as D,_ as _e}from"./index-DiYdpaIG.js";import{f as P,w as $,b as pe,as as be,ak as d,I as p,a,aN as o,O as m,J as c,aP as L,G as C,H as B,F as M}from"./@vue/runtime-core-C6bnekPw.js";import{Q as i}from"./@vue/shared-mAAVTE9n.js";import{y as N,a as fe,n as h,r as ge}from"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-B0jSCQ-G.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ke={class:"auto-assign-log-page"},he={class:"toolbar mb-3"},ye={key:0,class:"toolbar-tip"},ve={class:"cell-sub"},we={class:"cell-sub"},Ve={key:0,class:"cell-sub"},Ce={key:2},Ne={class:"cell-sub"},xe={key:1},Re={class:"cell-sub"},Ee={key:1,class:"cell-sub"},De={class:"flex justify-end mt-4"},Le=P({name:"statsAutoAssignLog"}),Se=P({...Le,setup(Ae){const y=h(null),v=h(null),x=h(),u=h([]),w=h(!1),s=ge({start_date:"",end_date:"",start_time:"",end_time:"",action:"",is_rollback:"",keyword:""});$(y,l=>{s.start_date=(l==null?void 0:l[0])??"",s.end_date=(l==null?void 0:l[1])??""}),$(v,l=>{s.start_time=(l==null?void 0:l[0])??"",s.end_time=(l==null?void 0:l[1])??""});const{pager:f,getLists:R,resetPage:U}=ue({fetchFun:me,params:s}),_=()=>{var l,t;u.value=[],(t=(l=x.value)==null?void 0:l.clearSelection)==null||t.call(l),U()},F=()=>{y.value=null,v.value=null,s.start_date="",s.end_date="",s.start_time="",s.end_time="",s.action="",s.is_rollback="",s.keyword="",_()},I=l=>l==null?"—":`${l}%`,T=l=>Number(l.can_rollback)===1,z=l=>{u.value=l.filter(t=>Number(t.can_rollback)===1)},S=async l=>{var t,g;if(l.length!==0){await D.confirm(`确认回退选中的 ${l.length} 条自动分配?将把诊单医助撤回到自动分配前的原医助,并写入指派日志。`),w.value=!0;try{const n=await ce({ids:l}),b=Number((n==null?void 0:n.success)??0),k=Number((n==null?void 0:n.failed)??0);k>0&&Array.isArray(n==null?void 0:n.messages)&&n.messages.length?D.msgWarning(`回退成功 ${b} 条,跳过/失败 ${k} 条:${n.messages.slice(0,3).join(";")}`):D.msgSuccess(`回退成功 ${b} 条`),u.value=[],(g=(t=x.value)==null?void 0:t.clearSelection)==null||g.call(t),await R()}finally{w.value=!1}}},H=()=>{const l=u.value.map(t=>Number(t.id)).filter(t=>t>0);return S(l)},j=l=>{const t=Number((l==null?void 0:l.id)??0);if(!(t<=0))return S([t])};return pe(()=>R()),(l,t)=>{const g=X,n=W,b=ee,k=Z,J=te,V=le,K=G,A=ae,r=se,E=ne,O=oe,Q=re,Y=be("perms"),q=ie;return d(),p("div",ke,[a(A,{class:"!border-none",shadow:"never"},{default:o(()=>[a(K,{inline:!0,class:"log-filter-form"},{default:o(()=>[a(n,{label:"记录时间"},{default:o(()=>[a(g,{modelValue:v.value,"onUpdate:modelValue":t[0]||(t[0]=e=>v.value=e),type:"datetimerange","range-separator":"至","start-placeholder":"开始时间","end-placeholder":"结束时间","value-format":"YYYY-MM-DD HH:mm:ss",clearable:"",onChange:_},null,8,["modelValue"])]),_:1}),a(n,{label:"执行日期"},{default:o(()=>[a(g,{modelValue:y.value,"onUpdate:modelValue":t[1]||(t[1]=e=>y.value=e),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",clearable:"",onChange:_},null,8,["modelValue"])]),_:1}),a(n,{label:"结果"},{default:o(()=>[a(k,{modelValue:s.action,"onUpdate:modelValue":t[2]||(t[2]=e=>s.action=e),clearable:"",placeholder:"全部",class:"w-[120px]",onChange:_},{default:o(()=>[a(b,{label:"已分配",value:"1"}),a(b,{label:"未分配",value:"0"})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"回退"},{default:o(()=>[a(k,{modelValue:s.is_rollback,"onUpdate:modelValue":t[3]||(t[3]=e=>s.is_rollback=e),clearable:"",placeholder:"全部",class:"w-[120px]",onChange:_},{default:o(()=>[a(b,{label:"未回退",value:"0"}),a(b,{label:"已回退",value:"1"})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"关键词"},{default:o(()=>[a(J,{modelValue:s.keyword,"onUpdate:modelValue":t[4]||(t[4]=e=>s.keyword=e),placeholder:"患者/手机号/医助/诊单ID",clearable:"",class:"w-[220px]",onKeyup:de(_,["enter"]),onClear:_},null,8,["modelValue"])]),_:1}),a(n,null,{default:o(()=>[a(V,{type:"primary",onClick:_},{default:o(()=>[...t[6]||(t[6]=[m("查询",-1)])]),_:1}),a(V,{onClick:F},{default:o(()=>[...t[7]||(t[7]=[m("重置",-1)])]),_:1})]),_:1})]),_:1}),t[8]||(t[8]=c("div",{class:"log-hint"}," 由每日定时任务「待分配诊单自动指派」写入:按上月二诊复诊接诊率分档轮询分配(>70% 每人3条/日,60%~70% 每人2条/日,50%~60% 每人1条/日,<50% 不分)。「回退」可将已分配医助撤回到自动分配前的原医助(通常为一中心),并写入指派日志。 ",-1))]),_:1}),a(A,{class:"!border-none mt-3",shadow:"never"},{default:o(()=>[c("div",he,[L((d(),C(V,{type:"warning",disabled:u.value.length===0,loading:w.value,onClick:H},{default:o(()=>[m(" 回退选中("+i(u.value.length)+") ",1)]),_:1},8,["disabled","loading"])),[[Y,["stats.autoAssignLog/rollback"]]]),u.value.length>0?(d(),p("span",ye," 已选 "+i(u.value.length)+" 条可回退记录 ",1)):B("",!0)]),L((d(),C(O,{ref_key:"tableRef",ref:x,data:N(f).lists,size:"default",stripe:"","row-key":"id",onSelectionChange:z},{default:o(()=>[a(r,{type:"selection",width:"48",selectable:T,"reserve-selection":""}),a(r,{label:"记录时间",width:"160"},{default:o(({row:e})=>[m(i(e.create_time_text||"—"),1)]),_:1}),a(r,{label:"诊单",width:"90",prop:"diagnosis_id"}),a(r,{label:"患者","min-width":"110"},{default:o(({row:e})=>[c("div",null,i(e.patient_name||"—"),1),c("div",ve,i(e.patient_phone||""),1)]),_:1}),a(r,{label:"结果",width:"90",align:"center"},{default:o(({row:e})=>[a(E,{type:Number(e.action)===1?"success":"info",size:"small"},{default:o(()=>[m(i(e.action_text),1)]),_:2},1032,["type"])]),_:1}),a(r,{label:"回退状态",width:"140"},{default:o(({row:e})=>[Number(e.is_rollback)===1?(d(),p(M,{key:0},[a(E,{type:"warning",size:"small"},{default:o(()=>[...t[9]||(t[9]=[m("已回退",-1)])]),_:1}),c("div",we,i(e.rollback_time_text),1),e.rollback_admin_name?(d(),p("div",Ve,i(e.rollback_admin_name),1)):B("",!0)],64)):Number(e.can_rollback)===1?(d(),C(E,{key:1,type:"success",size:"small"},{default:o(()=>[...t[10]||(t[10]=[m(" 可回退 ",-1)])]),_:1})):(d(),p("span",Ce,"—"))]),_:1}),a(r,{label:"医助","min-width":"110"},{default:o(({row:e})=>[Number(e.assistant_id)>0?(d(),p(M,{key:0},[c("div",null,i(e.assistant_name||"#"+e.assistant_id),1),c("div",Ne,"上月二诊接诊率 "+i(I(e.visit2_rate)),1)],64)):(d(),p("span",xe,"—"))]),_:1}),a(r,{label:"档位",width:"100",align:"center"},{default:o(({row:e})=>[m(i(e.tier_text||"—"),1)]),_:1}),a(r,{label:"轮次",width:"70",align:"center"},{default:o(({row:e})=>[m(i(Number(e.round_no)>0?"第"+e.round_no+"轮":"—"),1)]),_:1}),a(r,{label:"原因","min-width":"280","show-overflow-tooltip":""},{default:o(({row:e})=>[m(i(e.reason),1)]),_:1}),a(r,{label:"统计月",width:"90",prop:"stat_month",align:"center"}),a(r,{label:"批次",width:"160"},{default:o(({row:e})=>[c("span",Re,i(e.batch_no),1)]),_:1}),a(r,{label:"操作",width:"90",fixed:"right",align:"center"},{default:o(({row:e})=>[Number(e.can_rollback)===1?L((d(),C(V,{key:0,link:"",type:"warning",loading:w.value,onClick:Ye=>j(e)},{default:o(()=>[...t[11]||(t[11]=[m(" 回退 ",-1)])]),_:1},8,["loading","onClick"])),[[Y,["stats.autoAssignLog/rollback"]]]):(d(),p("span",Ee,"—"))]),_:1})]),_:1},8,["data"])),[[q,N(f).loading]]),c("div",De,[a(Q,{modelValue:N(f),"onUpdate:modelValue":t[5]||(t[5]=e=>fe(f)?f.value=e:null),onChange:N(R)},null,8,["modelValue","onChange"])])]),_:1})])}}}),yt=_e(Se,[["__scopeId","data-v-bc0fccd4"]]);export{yt as default};
|