3 lines
25 KiB
JavaScript
3 lines
25 KiB
JavaScript
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/PrescriptionOrderDetailDrawer-BcCZtcbd.js","assets/element-plus-DDINy080.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-CbYn5zW9.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-CyhMqouw.css","assets/tcm-GunznPcd.js","assets/index-CucNzNKR.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-pi6f6xld.css","assets/prescription-order-utils-CXfs2Bra.js","assets/PrescriptionOrderDetailDrawer-B4rggqa1.css","assets/edit-BmzpoZBi.js","assets/perm-BnhoH_X2.js","assets/DailyMatrix-fJaMn06t.js","assets/picker-CjyOL5ux.js","assets/index-Dyen3QYL.js","assets/index-B3imPWFk.css","assets/index-BdAQ7-sl.js","assets/index.vue_vue_type_script_setup_true_lang-9cmfzJ44.js","assets/index-qDgvWZbM.js","assets/index-D0f1Mn00.css","assets/index-B5hK-bbc.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-SIgfRLK3.js","assets/index.vue_vue_type_script_setup_true_lang-2wpGl-Qs.js","assets/usePaging-DofycyjW.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-CDVPxzWT.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-QpDuElbH.js","assets/DailyMatrix-CsOKtKmM.css","assets/FollowupAudioPanel-CHS6LBA_.js","assets/FollowupAudioReview-Cv2ObmWa.js","assets/FollowupAudioField-D4JqpESK.js","assets/FollowupAudioField-oZ__2Vqy.css","assets/FollowupAudioReview-BI71yCJD.css","assets/FollowupAudioPanel-DUnFkw1b.css","assets/CaseRecordList-TG_D08_F.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel--Ny_OHkF.js","assets/RecordingPlaybackBlock-1kkz8uQC.js","assets/RecordingVideoPlayer-DurIQa72.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-sb0_KR9f.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-CNRZQxnD.css","assets/AssignLogPanel-CsmEkfch.js","assets/AssignLogPanel-DP_rYm0w.css","assets/AppointmentRecordPanel-DuEtS9rH.js","assets/doctor-314tn1XV.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-DUReticg.js","assets/patient-BxRRKxoO.js","assets/NoteTimeline-I2FSxX4s.css","assets/PatientOrderList-CwUDKfCY.js","assets/PatientOrderList-D8-uh2iu.css","assets/index-BVU-JUq4.js","assets/index-DZ-AELs_.js","assets/medicine-B9SVZ633.js","assets/index-Bu4RT9fX.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-DkiaPm7c.js","assets/index-AnyUcdTT.css","assets/html2canvas-QH1iLAAe.js","assets/index-DiBxknCJ.css","assets/edit-DssfAaML.css","assets/TrackingNoteTimeline-B9T8pFso.css"])))=>i.map(i=>d[i]);
|
||
import{_ as pe}from"./jspdf-BsthCvR5.js";import{G as Le,F as Pe,z as Me,Z as Ae,I as Fe,H as Ie,i as Be,a2 as ze,d as Ye,M as Ue,N as Ge,O as He,U as Qe,r as Je,Q as Ke,P as Ze,B as je}from"./element-plus-DDINy080.js";import{i as $}from"./@element-plus/icons-vue-CbYn5zW9.js";import{z as qe,x as We,A as Xe,B as et}from"./stats-Bz24MGMf.js";import{h as B}from"./perm-BnhoH_X2.js";import{f as fe,b as tt,ak as o,I as c,a,aN as n,O as r,J as i,F as R,ap as _e,H as E,aP as ce,G as h,P as me,A as j}from"./@vue/runtime-core-C6bnekPw.js";import{Q as s,o as lt}from"./@vue/shared-mAAVTE9n.js";import{y as m,n as f}from"./@vue/reactivity-DiY1c2vO.js";import{_ as nt}from"./index-CucNzNKR.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const at={class:"revisit-rate-page"},it={class:"rate-caliber-trigger"},st={class:"rate-caliber"},ot={key:1},rt={class:"rate-kpi-grid"},dt=["onClick"],ut={class:"rate-kpi-label"},pt={class:"rate-kpi-value"},_t={key:0,class:"rate-kpi-sub"},ct={class:"rate-card-header"},mt={key:0,class:"rate-dept-cell"},ft={class:"rate-dept-count"},vt={key:1},ht={key:1},bt={key:1},gt={key:1},kt={key:1},yt={class:"rate-cell"},$t={class:"rate-cell-main"},Ct={key:0,class:"rate-cell-sub"},Nt={key:1},Et={class:"rate-cell"},wt={class:"rate-cell-main"},xt={key:0,class:"rate-cell-sub"},Dt={key:1},Vt={key:1},Rt={key:1},Ot={class:"rate-detail-footer"},Tt=fe({name:"revisitRateStatsPage"}),St=fe({...Tt,setup(Lt){const ve=me(()=>pe(()=>import("./PrescriptionOrderDetailDrawer-BcCZtcbd.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]))),he=me(()=>pe(()=>import("./edit-BmzpoZBi.js"),__vite__mapDeps([44,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,0,42,43,98,99,100,101,102,103,104,105,106,107,108,109]))),O=B(["stats.revisitRate/assignLines"]),T=B(["stats.revisitRate/visitOrderLines"]),q=B(["tcm.prescriptionOrder/detail"]),z=B(["tcm.diagnosis/detail"]),Y=f([2,3,4]),W=["零","一","二","三","四","五","六","七","八","九","十"],g=e=>e===0?"复诊合计":e>=2&&e<=10?`${W[e]}诊`:e>10&&e<20?`十${W[e-10]}诊`:`${e}诊`,X=new Date,ee=`${X.getFullYear()}-${String(X.getMonth()+1).padStart(2,"0")}`,w=f(ee),S=f(void 0),x=f(""),L=f(!1),te=f([]),U=f(null),G=f([]),be={value:"id",label:"name",children:"children"},b=j(()=>x.value!=="exclude"),H=j(()=>{const[e,t]=w.value.split("-");return e&&t?`${e}年${Number(t)}月`:w.value}),P=e=>e==null?"—":`${e}%`,Q=(e,t)=>{const d=Number(e[`${t}_count`]??0),u=e[`${t}_den`];return`${d} / ${u??"—"}`},ge=e=>b.value?`${g(e)}单数 ÷ ${g(e)}分母;分母 = 当月新指派数 + 起算诊次 ≤ ${e} 的继承数;分母为 0 显示「—」`:`${g(e)}单数 ÷ 当月新指派数(旧口径:继承不计分母);分母为 0 显示「—」`,ke=e=>{const t=Number(e??0);return t<=0?"—":t>50?`${t}(仅计合计)`:g(t)},J=()=>({month:w.value,dept_ids:S.value?String(S.value):"",inherit_mode:x.value||void 0}),ye=j(()=>{const e=U.value,t=[{key:"assigned",label:b.value?"当月新指派数":"当月被指派数",value:e?String(e.assigned_count):"—",sub:e&&b.value?`继承 ${e.inherit_count??0} · 被指派合计 ${e.assigned_total_count??0}`:"",clickable:!!(O&&e&&e.assigned_count>0),onClick:()=>F(null,"new")}];for(const d of Y.value){const u=e?e[`visit${d}_count`]:null,_=e?e[`visit${d}_rate`]:null;t.push({key:`visit${d}`,label:`当月${g(d)}接诊率`,value:e?P(_):"—",sub:e?`${g(d)}下单 ${u} 单 / 分母 ${e[`visit${d}_den`]??"—"}`:"",clickable:!!(T&&u>0),onClick:()=>I(d,null)})}return t.push({key:"visit_all",label:"当月复诊合计接诊率",value:e?P(e.visit_all_rate):"—",sub:e?`复诊下单 ${e.visit_all_count??0} 单 / 被指派合计 ${e.visit_all_den??"—"}`:"",clickable:!!(T&&e&&Number(e.visit_all_count)>0),onClick:()=>I(0,null)}),t}),$e=({columns:e})=>{const t=U.value;return e.map((d,u)=>{if(u===0)return"合计";if(!t)return"";const _=String(d.property||"");if(_==="assigned_count"||_==="inherit_count"||_==="assigned_total_count")return String(t[_]??0);const k=/^visit(\d+|all)_(count|den|rate)$/.exec(_);return k?k[2]==="rate"?`${P(t[_])}(${Q(t,`visit${k[1]}`)})`:String(t[_]??""):""})},Ce=e=>{const t=new Date;return e.getFullYear()*12+e.getMonth()>t.getFullYear()*12+t.getMonth()},D=async()=>{L.value=!0;try{const e=await qe(J());te.value=(e==null?void 0:e.rows)??[],U.value=(e==null?void 0:e.total)??null,Array.isArray(e==null?void 0:e.slots)&&e.slots.length&&(Y.value=e.slots.map(t=>Number(t)).filter(t=>t>=2)),e!=null&&e.month&&(w.value=e.month),((e==null?void 0:e.inherit_mode)==="slot"||(e==null?void 0:e.inherit_mode)==="exclude")&&(x.value=e.inherit_mode)}finally{L.value=!1}},Ne=e=>{const t=new Map;for(const _ of e)t.set(_.id,{..._,children:[]});const d=[];for(const _ of e){const k=t.get(_.id);_.pid>0&&t.has(_.pid)?t.get(_.pid).children.push(k):d.push(k)}const u=_=>{var k;(k=_.children)!=null&&k.length?_.children.forEach(u):delete _.children};return d.forEach(u),d},Ee=async()=>{try{const e=await We();G.value=Ne((e==null?void 0:e.rows)??[])}catch{G.value=[]}},A=f(!1),K=f("assign"),Z=f(""),M=f(!1),V=f([]),le=f(2),ne=e=>e?e.is_dept?{dept_id:e.dept_id,label:e.dept_name}:{assistant_id:e.assistant_id,label:e.assistant_name||""}:{label:"合计"},we={new:"新指派明细",inherit:"继承明细",all:"被指派合计明细"},F=async(e,t="all")=>{if(!O)return;const d=ne(e);K.value="assign",Z.value=`${d.label} · ${we[t]}(${H.value})`,A.value=!0,M.value=!0,V.value=[];try{const u=await Xe({...J(),assistant_id:d.assistant_id,dept_id:d.dept_id,kind:t});V.value=(u==null?void 0:u.rows)??[]}finally{M.value=!1}},I=async(e,t)=>{if(!T)return;const d=ne(t);K.value="orders",le.value=e,Z.value=`${d.label} · ${g(e)}订单明细(${H.value})`,A.value=!0,M.value=!0,V.value=[];try{const u=await et({...J(),slot:e,assistant_id:d.assistant_id,dept_id:d.dept_id});V.value=(u==null?void 0:u.rows)??[]}finally{M.value=!1}},ae=f(null),xe=e=>{var t;!q||!e||(t=ae.value)==null||t.open(e)},ie=f(null),se=e=>{var t;!z||!e||(t=ie.value)==null||t.openViewOnly(e)},De=()=>{w.value=ee,S.value=void 0,x.value="",D()};return tt(()=>{Ee(),D()}),(e,t)=>{const d=Me,u=Pe,_=Ae,k=Ie,Ve=Fe,oe=Be,y=Ye,Re=ze,Oe=Le,re=Ue,p=He,C=Je,N=Qe,de=Ge,Te=Ze,Se=je,ue=Ke;return o(),c("div",at,[a(re,{class:"!border-none",shadow:"never"},{default:n(()=>[a(Oe,{inline:!0,class:"rate-filter-form"},{default:n(()=>[a(u,{label:"统计月份"},{default:n(()=>[a(d,{modelValue:w.value,"onUpdate:modelValue":t[0]||(t[0]=l=>w.value=l),type:"month","value-format":"YYYY-MM",placeholder:"选择月份",clearable:!1,"disabled-date":Ce,style:{width:"160px"},onChange:D},null,8,["modelValue"])]),_:1}),a(u,{label:"部门"},{default:n(()=>[a(_,{modelValue:S.value,"onUpdate:modelValue":t[1]||(t[1]=l=>S.value=l),data:G.value,placeholder:"二中心(全部)",clearable:"",filterable:"","check-strictly":"","node-key":"id","default-expand-all":!0,props:be,style:{width:"220px"},onChange:D},null,8,["modelValue","data"])]),_:1}),a(u,{label:"口径"},{default:n(()=>[a(Ve,{modelValue:x.value,"onUpdate:modelValue":t[2]||(t[2]=l=>x.value=l),size:"small",onChange:D},{default:n(()=>[a(k,{value:"exclude"},{default:n(()=>[...t[4]||(t[4]=[r("原口径(继承不计分母)",-1)])]),_:1}),a(k,{value:"slot"},{default:n(()=>[...t[5]||(t[5]=[r("新口径(继承按继承时诊次计入)",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(u,null,{default:n(()=>[a(oe,{type:"primary",loading:L.value,onClick:D},{default:n(()=>[...t[6]||(t[6]=[r("查询",-1)])]),_:1},8,["loading"]),a(oe,{disabled:L.value,onClick:De},{default:n(()=>[...t[7]||(t[7]=[r("重置",-1)])]),_:1},8,["disabled"])]),_:1}),a(u,null,{default:n(()=>[a(Re,{placement:"bottom-start",width:560,trigger:"hover"},{reference:n(()=>[i("span",it,[a(y,null,{default:n(()=>[a(m($))]),_:1}),t[8]||(t[8]=r(" 统计口径 ",-1))])]),default:n(()=>[i("div",st,[i("p",null,[i("b",null,s(b.value?"新指派数":"当月被指派数"),1),t[9]||(t[9]=r(":当月内诊单被指派给医助(按指派操作时间落月,",-1)),t[10]||(t[10]=i("b",null,"不含勾选「继承」的指派",-1)),t[11]||(t[11]=r(")的诊单数,按「医助 × 诊单」去重;部门行 / 合计行按诊单去重;",-1)),t[12]||(t[12]=i("b",null,"再剔除",-1)),t[13]||(t[13]=r("名下存在履约「拒收 / 退款」业务订单的诊单。与业绩看板「被指派数」同口径。 ",-1))]),b.value?(o(),c(R,{key:0},[t[14]||(t[14]=i("p",null,[i("b",null,"继承数"),r(":当月勾选「继承」转接给该医助的诊单数(同一诊单多次继承取最早;同月既新指派又继承给同一医助只算新指派;历史「回退自动分配」行按继承处理;指派给自己的记录忽略)。"),i("b",null,"继承时诊次 k"),r(" = 继承时刻之前患者已完成的诊次(有效实单数 + 偏移),"),i("b",null,"起算诊次 = max(2, k+1)"),r(":继承者只对第 k+1 诊及以后负责。 ")],-1)),t[15]||(t[15]=i("p",null,[i("b",null,"N 诊分母"),r(" = 新指派数 + 起算诊次 ≤ N 的继承数(每列独立);"),i("b",null,"N 诊接诊率"),r(" = N 诊单数 ÷ N 诊分母,分母为 0 显示「—」。"),i("b",null,"复诊合计"),r(":单数 = 各诊次单数之和,分母 = 新指派 ∪ 继承(被指派合计),比率可超过 100%(人均复诊成交单数)。 ")],-1)),t[16]||(t[16]=i("p",{class:"rate-caliber-note"}," 继承分母依赖指派记录的「继承」标记(2026-06 起写入),之前的转接无法回溯;切换为「旧口径」可对照上线前数字。 ",-1))],64)):(o(),c("p",ot,[...t[17]||(t[17]=[i("b",null,"旧口径",-1),r(":继承指派不计入分母,N 诊分母 = 新指派数(对所有 N 相同),新指派数 / N 诊单数 / N 诊接诊率与 2026-10 之前完全一致;继承数恒为 0。切换为「新口径」后继承按继承时诊次计入每列独立分母。 ",-1)])])),t[18]||(t[18]=i("p",null,[i("b",null,"诊次(第 N 次下单)"),r(":患者(诊单)名下计入业绩的业务订单(剔除已取消 / 拒收 / 退款)按下单时间升序编号为「实单序号」,"),i("b",null,"统计诊次 = 实单序号 + 诊单偏移"),r("(默认偏移 0 → 第 1 笔实单为一诊)。诊次"),i("b",null,"跨月累计不重置"),r("。诊单可在「业务订单」tab 配置偏移量。 ")],-1)),t[19]||(t[19]=i("p",null,[i("b",null,"当月 N 诊单数"),r(":当月内下单且诊次为 N 的订单数,归属下单时点"),i("b",null,"持有该患者的医助"),r("(指派可在往月;释放后不再归属;继承会转移持有人)。往月指派、当月成交会推高分子,比率可能超过 100%。 ")],-1)),t[20]||(t[20]=i("p",null,[r(" 医助按人事部门归组;"),i("b",null,"仅统计「二中心」及其组织下级"),r(";部门下拉与未选时的默认范围均限定在该子树,选定部门时含其组织下级。 ")],-1))])]),_:1})]),_:1})]),_:1})]),_:1}),i("div",rt,[(o(!0),c(R,null,_e(ye.value,l=>(o(),c("div",{key:l.key,class:lt(["rate-kpi-card",{"is-clickable":l.clickable}]),onClick:v=>l.clickable&&l.onClick&&l.onClick()},[i("div",ut,s(l.label),1),i("div",pt,s(l.value),1),l.sub?(o(),c("div",_t,s(l.sub),1)):E("",!0)],10,dt))),128))]),a(re,{class:"!border-none mt-4",shadow:"never"},{header:n(()=>[i("div",ct,[i("span",null,"部门 · 医助明细("+s(H.value)+")",1),t[21]||(t[21]=i("span",{class:"rate-card-hint"}," 点击「新指派数 / 继承数 / 被指派合计 / N诊单数 / 复诊合计单数」可查看具体诊单与订单;接诊率下方灰字为「单数 / 分母」;底栏合计按诊单去重 ",-1))])]),default:n(()=>[ce((o(),h(de,{data:te.value,size:"small",border:"","row-key":"row_key","tree-props":{children:"children"},"default-expand-all":!0,"show-summary":"","summary-method":$e},{default:n(()=>[a(p,{label:"部门 / 医助","min-width":"200",fixed:""},{default:n(({row:l})=>[l.is_dept?(o(),c("span",mt,[r(s(l.dept_name)+" ",1),i("span",ft,s(l.assistant_count)+" 人",1)])):(o(),c("span",vt,s(l.assistant_name),1))]),_:1}),a(p,{prop:"assigned_count",label:b.value?"新指派数":"当月被指派数","min-width":"96",align:"right"},{header:n(()=>[i("span",null,s(b.value?"新指派数":"当月被指派数"),1),a(C,{effect:"dark",placement:"top",content:"当月非继承指派的「医助 × 诊单」去重数(剔除名下有拒收/退款订单的诊单),与业绩看板「被指派数」同口径"},{default:n(()=>[a(y,{class:"rate-th-hint"},{default:n(()=>[a(m($))]),_:1})]),_:1})]),default:n(({row:l})=>[m(O)&&l.assigned_count>0?(o(),h(N,{key:0,type:"primary",underline:!1,onClick:v=>F(l,"new")},{default:n(()=>[r(s(l.assigned_count),1)]),_:2},1032,["onClick"])):(o(),c("span",ht,s(l.assigned_count),1))]),_:1},8,["label"]),b.value?(o(),h(p,{key:0,prop:"inherit_count",label:"继承数","min-width":"88",align:"right"},{header:n(()=>[t[22]||(t[22]=i("span",null,"继承数",-1)),a(C,{effect:"dark",placement:"top",content:"当月勾选「继承」转接给该医助的诊单数(按继承时诊次 k 从第 k+1 诊起计入分母;点击查看每条的继承时诊次与起算诊次)"},{default:n(()=>[a(y,{class:"rate-th-hint"},{default:n(()=>[a(m($))]),_:1})]),_:1})]),default:n(({row:l})=>[m(O)&&l.inherit_count>0?(o(),h(N,{key:0,type:"primary",underline:!1,onClick:v=>F(l,"inherit")},{default:n(()=>[r(s(l.inherit_count),1)]),_:2},1032,["onClick"])):(o(),c("span",bt,s(l.inherit_count??0),1))]),_:1})):E("",!0),b.value?(o(),h(p,{key:1,prop:"assigned_total_count",label:"被指派合计","min-width":"100",align:"right"},{header:n(()=>[t[23]||(t[23]=i("span",null,"被指派合计",-1)),a(C,{effect:"dark",placement:"top",content:"新指派 ∪ 继承(按诊单去重),即「复诊合计接诊率」的分母"},{default:n(()=>[a(y,{class:"rate-th-hint"},{default:n(()=>[a(m($))]),_:1})]),_:1})]),default:n(({row:l})=>[m(O)&&l.assigned_total_count>0?(o(),h(N,{key:0,type:"primary",underline:!1,onClick:v=>F(l,"all")},{default:n(()=>[r(s(l.assigned_total_count),1)]),_:2},1032,["onClick"])):(o(),c("span",gt,s(l.assigned_total_count??0),1))]),_:1})):E("",!0),(o(!0),c(R,null,_e(Y.value,l=>(o(),c(R,{key:l},[a(p,{prop:`visit${l}_count`,label:`${g(l)}单数`,"min-width":"96",align:"right"},{header:n(()=>[i("span",null,s(g(l))+"单数",1),a(C,{effect:"dark",placement:"top",content:`当月内下单、诊次为第 ${l} 次的订单数(诊次跨月累计;归属下单时点持有患者的医助)`},{default:n(()=>[a(y,{class:"rate-th-hint"},{default:n(()=>[a(m($))]),_:1})]),_:1},8,["content"])]),default:n(({row:v})=>[m(T)&&v[`visit${l}_count`]>0?(o(),h(N,{key:0,type:"primary",underline:!1,onClick:Pt=>I(l,v)},{default:n(()=>[r(s(v[`visit${l}_count`]),1)]),_:2},1032,["onClick"])):(o(),c("span",kt,s(v[`visit${l}_count`]),1))]),_:2},1032,["prop","label"]),a(p,{prop:`visit${l}_rate`,label:`${g(l)}接诊率`,"min-width":"104",align:"right"},{header:n(()=>[i("span",null,s(g(l))+"接诊率",1),a(C,{effect:"dark",placement:"top",content:ge(l)},{default:n(()=>[a(y,{class:"rate-th-hint"},{default:n(()=>[a(m($))]),_:1})]),_:1},8,["content"])]),default:n(({row:v})=>[i("div",yt,[i("span",$t,s(P(v[`visit${l}_rate`])),1),b.value?(o(),c("span",Ct,s(Q(v,`visit${l}`)),1)):E("",!0)])]),_:2},1032,["prop","label"])],64))),128)),a(p,{prop:"visit_all_count",label:"复诊合计单数","min-width":"110",align:"right"},{header:n(()=>[t[24]||(t[24]=i("span",null,"复诊合计单数",-1)),a(C,{effect:"dark",placement:"top",content:"当月内下单、诊次 ≥ 2 的订单数之和(= 各 N 诊单数之和)"},{default:n(()=>[a(y,{class:"rate-th-hint"},{default:n(()=>[a(m($))]),_:1})]),_:1})]),default:n(({row:l})=>[m(T)&&l.visit_all_count>0?(o(),h(N,{key:0,type:"primary",underline:!1,onClick:v=>I(0,l)},{default:n(()=>[r(s(l.visit_all_count),1)]),_:2},1032,["onClick"])):(o(),c("span",Nt,s(l.visit_all_count??0),1))]),_:1}),a(p,{prop:"visit_all_rate",label:"复诊合计接诊率","min-width":"118",align:"right"},{header:n(()=>[t[25]||(t[25]=i("span",null,"复诊合计接诊率",-1)),a(C,{effect:"dark",placement:"top",content:b.value?"复诊合计单数 ÷ 被指派合计(新指派 ∪ 继承);可超过 100%,语义为人均复诊成交单数":"复诊合计单数 ÷ 新指派数(旧口径继承不计分母);可超过 100%"},{default:n(()=>[a(y,{class:"rate-th-hint"},{default:n(()=>[a(m($))]),_:1})]),_:1},8,["content"])]),default:n(({row:l})=>[i("div",Et,[i("span",wt,s(P(l.visit_all_rate)),1),b.value?(o(),c("span",xt,s(Q(l,"visit_all")),1)):E("",!0)])]),_:1})]),_:1},8,["data"])),[[ue,L.value]])]),_:1}),a(Se,{modelValue:A.value,"onUpdate:modelValue":t[3]||(t[3]=l=>A.value=l),title:Z.value,width:"1080px",top:"6vh","destroy-on-close":""},{default:n(()=>[ce((o(),h(de,{data:V.value,size:"small",border:"",stripe:"","max-height":"60vh"},{default:n(()=>[K.value==="assign"?(o(),c(R,{key:0},[a(p,{prop:"diagnosis_id",label:"诊单ID",width:"90"}),a(p,{prop:"patient_name",label:"患者","min-width":"100"},{default:n(({row:l})=>[m(z)&&l.diagnosis_id?(o(),h(N,{key:0,type:"primary",underline:!1,onClick:v=>se(l.diagnosis_id)},{default:n(()=>[r(s(l.patient_name||`诊单#${l.diagnosis_id}`),1)]),_:2},1032,["onClick"])):(o(),c("span",Dt,s(l.patient_name||"—"),1))]),_:1}),a(p,{prop:"patient_phone",label:"联系电话","min-width":"120"},{default:n(({row:l})=>[r(s(l.patient_phone||"—"),1)]),_:1}),a(p,{prop:"assistant_names",label:"被指派医助","min-width":"140","show-overflow-tooltip":""}),b.value?(o(),h(p,{key:0,prop:"assign_type",label:"指派类型",width:"110",align:"center"},{default:n(({row:l})=>[a(Te,{type:l.assign_type==="inherit"?"warning":"success",size:"small"},{default:n(()=>[r(s(l.assign_type_text||(l.assign_type==="inherit"?"继承":"新指派")),1)]),_:2},1032,["type"])]),_:1})):E("",!0),b.value?(o(),h(p,{key:1,prop:"inherit_visit_slot",label:"继承时诊次",width:"100",align:"center"},{header:n(()=>[t[26]||(t[26]=i("span",null,"继承时诊次",-1)),a(C,{effect:"dark",placement:"top",content:"k:继承时刻之前患者已完成的诊次(有效实单数 + 偏移);新指派无此值"},{default:n(()=>[a(y,{class:"rate-th-hint"},{default:n(()=>[a(m($))]),_:1})]),_:1})]),default:n(({row:l})=>[r(s(l.assign_type==="inherit"?`第 ${Number(l.inherit_visit_slot??0)} 诊`:"—"),1)]),_:1})):E("",!0),a(p,{prop:"entry_slot",label:"起算诊次",width:"96",align:"center"},{header:n(()=>[t[27]||(t[27]=i("span",null,"起算诊次",-1)),a(C,{effect:"dark",placement:"top",content:"从该诊次列起计入分母:继承 = max(2, k+1);新指派 = 2(二诊)"},{default:n(()=>[a(y,{class:"rate-th-hint"},{default:n(()=>[a(m($))]),_:1})]),_:1})]),default:n(({row:l})=>[r(s(ke(l.entry_slot)),1)]),_:1}),a(p,{prop:"assign_count",label:"当月指派次数",width:"110",align:"right"}),a(p,{prop:"last_assign_time_text",label:"最近指派时间","min-width":"160"})],64)):(o(),c(R,{key:1},[a(p,{prop:"order_no",label:"订单号","min-width":"180","show-overflow-tooltip":""},{default:n(({row:l})=>[m(q)&&l.order_id?(o(),h(N,{key:0,type:"primary",underline:!1,onClick:v=>xe(l.order_id)},{default:n(()=>[r(s(l.order_no||`#${l.order_id}`),1)]),_:2},1032,["onClick"])):(o(),c("span",Vt,s(l.order_no||`#${l.order_id}`),1))]),_:1}),le.value===0?(o(),h(p,{key:0,prop:"visit_slot",label:"诊次",width:"80",align:"center"},{default:n(({row:l})=>[r(s(g(Number(l.visit_slot))),1)]),_:1})):E("",!0),a(p,{prop:"diagnosis_id",label:"诊单ID",width:"90"}),a(p,{prop:"patient_name",label:"患者","min-width":"100"},{default:n(({row:l})=>[m(z)&&l.diagnosis_id?(o(),h(N,{key:0,type:"primary",underline:!1,onClick:v=>se(l.diagnosis_id)},{default:n(()=>[r(s(l.patient_name||`诊单#${l.diagnosis_id}`),1)]),_:2},1032,["onClick"])):(o(),c("span",Rt,s(l.patient_name||"—"),1))]),_:1}),a(p,{prop:"amount",label:"金额",width:"100",align:"right"},{default:n(({row:l})=>[r("¥ "+s(l.amount),1)]),_:1}),a(p,{prop:"create_time_text",label:"下单时间","min-width":"160"}),a(p,{prop:"assistant_name",label:"持有医助","min-width":"100"}),a(p,{prop:"creator_name",label:"订单创建人","min-width":"100"})],64))]),_:1},8,["data"])),[[ue,M.value]]),i("div",Ot,"共 "+s(V.value.length)+" 条",1)]),_:1},8,["modelValue","title"]),a(m(ve),{ref_key:"orderDetailRef",ref:ae,readonly:"","append-to-body":""},null,512),a(m(he),{ref_key:"diagnosisEditRef",ref:ie},null,512)])}}}),yl=nt(St,[["__scopeId","data-v-db331ba1"]]);export{yl as default};
|