3 lines
31 KiB
JavaScript
3 lines
31 KiB
JavaScript
import{o as Nl,M as k,R as Ll,n as Le,ap as Hl,aq as Yl,ac as hl,q as o,r,s as i,v as a,bf as Il,D as n,be as Wl,L as m,O as x,P as y,K as Fl,bk as Al,bl as zl,F as $,G as Y,bc as al,aw as ql,ae as Pl,a1 as Ol,T as g,u as Kl,cL as jl,B as Gl,bC as Jl,bm as Ql,aa as Xl,aB as Zl,bd as et,bb as lt,az as tt,c6 as at,J as nt,aA as it,bE as ot,bh as st,bi as ut,bn as dt,p as v}from"./.pnpm-CyuAWpdG.js";import{_ as rt}from"./picker-BDO86vcM.js";import mt from"./DiagnosisTodoList-CE1isNg2.js";import{h as vt}from"./perm-DOfZAzJJ.js";import{_ as pt,$ as ft,a0 as _t,a1 as gt,a2 as yt,a3 as bt,a4 as ct,a5 as kt,a6 as xt}from"./tcm-QAkeqQ9Q.js";import{f as nl,b as Vt,c as wt,d as Dt,e as Ct}from"./blood-thresholds-QpDuElbH.js";import{j as W,_ as $t}from"./index-Dxvz9lb1.js";import"./index-BnfLT5cB.js";import"./index-yD39j6dM.js";import"./index.vue_vue_type_script_setup_true_lang-DHxCVAKu.js";import"./index-ClBYIwNX.js";import"./index-BU3OYnKm.js";import"./file-CefRfHD9.js";import"./index.vue_vue_type_script_setup_true_lang-jh5rtxiA.js";import"./usePaging-CghUEVfD.js";const Rt={class:"daily-matrix"},St={class:"daily-matrix__toolbar"},Tt={class:"daily-matrix__toolbar-left"},Et={key:0,class:"daily-matrix__toolbar-right"},Ut={key:0,class:"daily-matrix__legend"},Bt={key:1,class:"daily-matrix__toolbar-right"},Mt={key:0,class:"daily-matrix__legend"},Nt=["role","tabindex","onClick","onKeydown"],Lt={class:"daily-matrix__tracking-tooltip"},Ht={class:"daily-matrix__tracking-preview"},Yt={key:0,class:"daily-matrix__record-count"},ht={key:1,class:"daily-matrix__cell-up"},It={key:0,class:"daily-matrix__record-count"},Wt={key:1},Ft={class:"daily-matrix__chart"},At={key:0,class:"daily-matrix__todo"},zt={class:"daily-matrix__detail-section"},qt={class:"daily-matrix__detail-heading"},Pt={class:"daily-matrix__detail-heading"},Ot={class:"daily-matrix__detail-tags"},Kt={key:3,class:"daily-matrix__cell-patient"},jt={key:0,class:"daily-matrix__time-evidence"},Gt={class:"daily-matrix__detail-fields"},Jt={class:"daily-matrix__detail-section"},Qt={class:"daily-matrix__detail-heading"},Xt={class:"daily-matrix__detail-heading"},Zt={class:"daily-matrix__detail-fields"},ea={key:0,class:"daily-matrix__detail-images"},la={class:"daily-matrix__detail-section"},ta={class:"daily-matrix__detail-heading"},aa={class:"daily-matrix__detail-heading"},na={class:"daily-matrix__detail-fields"},ia={key:0,class:"daily-matrix__detail-images"},oa={class:"daily-matrix__time-evidence"},sa={key:0,class:"ml-2 text-info"},ua={class:"daily-matrix__tracking-existing"},da=120,ra=Nl({__name:"DailyMatrix",props:{diagnosisId:{},patientId:{},age:{default:void 0},readOnly:{type:Boolean,default:!1},patientName:{default:""}},setup(il,{expose:ol}){const sl=["tcm.diagnosis/dailyRecord"],h=il,C=v(()=>Number(h.diagnosisId||0)),oe=v(()=>Number(h.patientId||0)),He=v(()=>!!h.readOnly),ul=v(()=>h.patientName||""),Ye=v(()=>vt(sl)),D=v(()=>Ye.value&&!He.value),dl=v(()=>Ye.value),se=k(!1),F=k("7"),G=k(null),z=k([]),J=k([]),Q=k([]),X=k([]),q=k(!1),P=k(!1),O=k(!1),K=k(!1),ue=k(!1),T=k(""),he=k(""),de=k(!1),re=k(!1),me=k(!1),ve=k(!1),p=k(ze()),V=k(qe()),c=k(Pe()),Ie=v({get:()=>c.value.intensity??"",set:l=>{c.value.intensity=l===""?null:l}}),S=k({note_date:"",existing_content:"",content:""}),rl=v(()=>p.value.id?"编辑血糖血压记录":"新增血糖血压记录"),ml=v(()=>V.value.id?"编辑饮食记录":"新增饮食记录"),vl=v(()=>c.value.id?"编辑运动记录":"新增运动记录"),$e=v(()=>ee(new Date)),j=v(()=>D.value&&S.value.note_date===$e.value),pl=v(()=>j.value?"新增/追加跟踪备注":"查看跟踪备注"),We=k(null),Fe=k(0),fl=[{key:"fasting",label:"空腹血糖"},{key:"postprandial",label:"餐后2h血糖"},{key:"other",label:"其他血糖"},{key:"bp",label:"血压"},{key:"western",label:"西药"},{key:"insulin",label:"胰岛素"},{key:"breakfast",label:"早餐"},{key:"lunch",label:"午餐"},{key:"dinner",label:"晚餐"},{key:"exercise",label:"运动"},{key:"tracking",label:"跟踪备注"}],_l=v(()=>[...fl]),gl=v(()=>{const l=te.value.length;if(l<=0||l>7)return 100;const e=Math.max(Fe.value-da-2,0),d=e>0?Math.floor(e/l):100;return Math.max(100,d)});let Z=0;function ee(l){return`${l.getFullYear()}-${String(l.getMonth()+1).padStart(2,"0")}-${String(l.getDate()).padStart(2,"0")}`}function Ae(l){return new Date(`${l}T00:00:00`)}function le(){var l;Fe.value=((l=We.value)==null?void 0:l.clientWidth)||0}function ze(l=""){return{id:"",diagnosis_id:C.value,patient_id:oe.value,record_date:l,record_time:"",fasting_blood_sugar:0,postprandial_blood_sugar:0,other_blood_sugar:"",systolic_pressure:0,diastolic_pressure:0,western_medicine:"",insulin:"",remark:""}}function qe(l=""){return{id:"",diagnosis_id:C.value,patient_id:oe.value,record_date:l,breakfast_foods:"",breakfast_images:[],lunch_foods:"",lunch_images:[],dinner_foods:"",dinner_images:[],note:""}}function Pe(l=""){return{id:"",diagnosis_id:C.value,patient_id:oe.value,record_date:l,exercise_type:"",duration:0,intensity:1,images:[],note:""}}function yl(l){return l.getTime()>Date.now()}function Oe(l){if(l==="custom"){const[b,s]=G.value||["",""];return{start:b||"",end:s||""}}const e=l==="7"?7:30,d=new Date;d.setHours(0,0,0,0);const f=new Date(d);return f.setDate(f.getDate()-(e-1)),{start:ee(f),end:ee(d)}}const Ke=v(()=>Oe(F.value)),te=v(()=>{const{start:l,end:e}=Ke.value;if(!l||!e)return[];const d=[],f=Ae(e),b=Ae(l).getTime();for(;f.getTime()>=b;)d.push(ee(f)),f.setDate(f.getDate()-1);return d}),je=v(()=>z.value.some(l=>Number(l.source)===1));function Re(l){const e=new Map;for(const d of l){const f=String(d.record_date||"");if(!f)continue;const b=e.get(f)||[];b.push(d),e.set(f,b)}return e}const ae=v(()=>Re(z.value)),pe=v(()=>Re(J.value)),fe=v(()=>Re(Q.value)),Se=v(()=>ae.value.get(T.value)||[]),Te=v(()=>pe.value.get(T.value)||[]),Ee=v(()=>fe.value.get(T.value)||[]),bl=[{key:"breakfast",label:"早餐"},{key:"lunch",label:"午餐"},{key:"dinner",label:"晚餐"}];function Ue(l){return l.record_time?String(l.record_time):"未记录具体时间"}function Ge(l){const e={dawn:"凌晨",early_morning:"清晨",morning:"上午",noon:"中午",afternoon:"下午",evening:"晚上",night:"夜间",bedtime:"睡前"},d=String(l.record_time_period||"");return e[d]||d||"未提供时段"}function cl(l){return{1:"低强度",2:"中强度",3:"高强度"}[Number(l)]||"未记录"}function kl(l){const e=d=>d==null||d===""?"—":String(d);return[{label:"空腹血糖",value:`${e(l.fasting_blood_sugar)} mmol/L`},{label:"餐后2h血糖",value:`${e(l.postprandial_blood_sugar)} mmol/L`},{label:"其他血糖",value:`${e(l.other_blood_sugar)} mmol/L`},{label:"血压",value:l.systolic_pressure||l.diastolic_pressure?`${nl(l)} mmHg`:"—"},{label:"西药",value:e(l.western_medicine)},{label:"胰岛素",value:e(l.insulin)},{label:"备注",value:e(l.remark)}]}function ne(l,e){var d,f,b;return["breakfast","lunch","dinner"].includes(l)?((d=pe.value.get(e))==null?void 0:d.length)||0:l==="exercise"?((f=fe.value.get(e))==null?void 0:f.length)||0:l==="tracking"?0:((b=ae.value.get(e))==null?void 0:b.length)||0}const Be=v(()=>{const l=new Map;for(const e of X.value){const d=String(e.note_date||"");!d||l.has(d)||l.set(d,e)}return l}),Je=v(()=>[...te.value].reverse()),_e=v(()=>Je.value.reduce((l,e)=>{const d=ae.value.get(e)||[],f=b=>d.map(s=>wl(s[b])).find(s=>s!==null)??null;return l.fasting.push(f("fasting_blood_sugar")),l.postprandial.push(f("postprandial_blood_sugar")),l},{fasting:[],postprandial:[]})),xl=v(()=>[..._e.value.fasting,..._e.value.postprandial].some(l=>l!=null)),Vl=v(()=>({tooltip:{trigger:"axis"},legend:{top:0,data:["空腹血糖","餐后血糖"]},grid:{left:24,right:24,top:52,bottom:20,containLabel:!0},xAxis:{type:"category",boundaryGap:!1,data:Je.value.map(l=>Qe(l))},yAxis:{type:"value",name:"mmol/L",splitLine:{lineStyle:{color:"#e5e7eb"}}},series:[{name:"空腹血糖",type:"line",smooth:!0,connectNulls:!0,data:_e.value.fasting,symbolSize:7,itemStyle:{color:"#2563eb"},lineStyle:{width:3,color:"#2563eb"}},{name:"餐后血糖",type:"line",smooth:!0,connectNulls:!0,data:_e.value.postprandial,symbolSize:7,itemStyle:{color:"#f97316"},lineStyle:{width:3,color:"#f97316"}}]}));function Qe(l){return l.slice(5)}function wl(l){if(l===""||l==null)return null;const e=Number(l);return!Number.isFinite(e)||e===0?null:e}function I(l,e){const d=ae.value.get(e)||[],f=pe.value.get(e)||[],b=fe.value.get(e)||[],s=Be.value.get(e),U={fasting:"fasting_blood_sugar",postprandial:"postprandial_blood_sugar",other:"other_blood_sugar",western:"western_medicine",insulin:"insulin"}[l];if(U||l==="bp"){const R=d.filter(w=>l==="bp"?!!(w.systolic_pressure||w.diastolic_pressure):w[U]!=null&&w[U]!==""),L=w=>l==="fasting"?Vt(w.fasting_blood_sugar,h.age):l==="postprandial"?wt(w.postprandial_blood_sugar,h.age):l==="other"?Dt(w.other_blood_sugar,h.age):l==="bp"&&Ct(w);return{value:R.map(w=>l==="bp"?nl(w):String(w[U])).join(" / "),isHigh:R.some(L),hasRecord:R.length>0,isPatientSelf:R.some(w=>Number(w.source)===1)}}if(["breakfast","lunch","dinner"].includes(l)){const R=f.filter(L=>{var w;return L[l]||L[`${l}_foods`]||((w=L[`${l}_images`])==null?void 0:w.length)}).length;return{value:R?"✓":"",isHigh:!1,hasRecord:R>0}}return l==="exercise"?{value:b.map(R=>R.duration!=null?`${R.duration}min`:R.exercise_type||"已记录").join(" / "),isHigh:!1,hasRecord:b.length>0}:l==="tracking"?{value:s!=null&&s.content?Ze(s.content):"",isHigh:!1,hasRecord:!!(s!=null&&s.content)}:{value:"",isHigh:!1,hasRecord:!1}}async function E(){const l=++Z,e=C.value;if(!e){se.value=!1,z.value=[],J.value=[],Q.value=[],X.value=[];return}const{start:d,end:f}=Ke.value;if(F.value==="custom"&&(!d||!f))return;const b=[...te.value];se.value=!0;try{const s=await pt({id:e,start_date:d,end_date:f}),N=await ft({diagnosis_id:e});if(l!==Z||e!==C.value)return;z.value=Array.isArray(s==null?void 0:s.blood_records)?s.blood_records:[],J.value=Array.isArray(s==null?void 0:s.diet_records)?s.diet_records:[],Q.value=Array.isArray(s==null?void 0:s.exercise_records)?s.exercise_records:[],X.value=Array.isArray(N)?N.filter(U=>b.includes(String((U==null?void 0:U.note_date)||""))):[]}catch{l===Z&&(z.value=[],J.value=[],Q.value=[],X.value=[])}finally{l===Z&&(se.value=!1)}}function Dl(){if(F.value==="custom"&&!G.value){const l=Oe("7");G.value=[l.start,l.end]}E(),Le(le)}function Cl(){F.value==="custom"&&E()}function Xe(l){const e=String(l||"");return/^\d{2}:\d{2}$/.test(e)?`${e}:00`:e}function ge(l,e){D.value&&(p.value={...ze(e),...l},he.value=Xe(l==null?void 0:l.record_time),q.value=!0)}function ye(l,e){D.value&&(V.value={...qe(e),...l,breakfast_images:[...(l==null?void 0:l.breakfast_images)||[]],lunch_images:[...(l==null?void 0:l.lunch_images)||[]],dinner_images:[...(l==null?void 0:l.dinner_images)||[]]},P.value=!0)}function be(l,e){D.value&&(c.value={...Pe(e),...l,...l?{duration:l.duration??null,intensity:l.intensity??null}:{},images:[...(l==null?void 0:l.images)||[]]},O.value=!0)}function ce(l){if(!D.value)return;const e=te.value[0]||ee(new Date);if(l==="blood")return ge(void 0,e);if(l==="diet")return ye(void 0,e);if(l==="exercise")return be(void 0,e);ke("tracking",$e.value)}function ke(l,e){var f,b,s;if(!Ve(l,e))return;if(l==="tracking"){const N=Be.value.get(e);S.value={note_date:e,existing_content:String((N==null?void 0:N.content)||""),content:""},K.value=!0;return}if((((f=ae.value.get(e))==null?void 0:f.length)||0)+(((b=pe.value.get(e))==null?void 0:b.length)||0)+(((s=fe.value.get(e))==null?void 0:s.length)||0)){T.value=e,ue.value=!0;return}if(["breakfast","lunch","dinner"].includes(l))return ye(void 0,e);if(l==="exercise")return be(void 0,e);ge(void 0,e)}async function $l(){if(!D.value||de.value)return;if(!p.value.record_date){W.msgWarning("请选择记录日期");return}const l=C.value,e={...p.value};"record_time_estimated"in e&&Xe(e.record_time)!==he.value&&(e.record_time_estimated=0,e.record_time_period="",e.record_time_text=""),de.value=!0;try{if(e.id?await _t(e):await gt(e),l!==C.value)return;q.value=!1,await E()}finally{de.value=!1}}async function Rl(){if(!D.value||re.value)return;if(!V.value.record_date){W.msgWarning("请选择记录日期");return}const l=C.value,e={...V.value};re.value=!0;try{if(e.id?await yt(e):await bt(e),l!==C.value)return;P.value=!1,await E()}finally{re.value=!1}}async function Sl(){if(!D.value||me.value)return;if(!c.value.record_date){W.msgWarning("请选择记录日期");return}if(!c.value.exercise_type){W.msgWarning("请选择运动类型");return}if(!c.value.id&&!c.value.duration){W.msgWarning("请输入运动时长");return}const l=C.value,e={...c.value,duration:c.value.duration??null,intensity:c.value.intensity??null};me.value=!0;try{if(e.id?await ct(e):await kt(e),l!==C.value)return;O.value=!1,await E()}finally{me.value=!1}}async function Tl(){if(ve.value)return;if(!S.value.note_date){W.msgWarning("请选择记录日期");return}if(!j.value){W.msgWarning("仅支持给今天追加跟踪备注");return}const l=S.value.content.trim();if(!l){W.msgWarning("请输入跟踪备注");return}const e=C.value;ve.value=!0;try{if(await xt({diagnosis_id:e,tracking_content:l}),e!==C.value)return;K.value=!1,await E()}finally{ve.value=!1}}function Ze(l){return Me(l)[0]||""}function Me(l){return l.split(`
|
|
`).map(e=>e.trim()).filter(Boolean)}function xe(l){var e;return String(((e=Be.value.get(l))==null?void 0:e.content)||"")}function El(l){return Ze(l)}function Ve(l,e){return l==="tracking"?!!xe(e)||D.value&&e===$e.value:D.value||ne(l,e)>0}return Ll(()=>h.diagnosisId,()=>{ue.value=!1,q.value=!1,P.value=!1,O.value=!1,K.value=!1,z.value=[],J.value=[],Q.value=[],X.value=[],E(),Le(le)}),Hl(()=>{h.diagnosisId&&E(),Le(le),window.addEventListener("resize",le)}),Yl(()=>{Z++,window.removeEventListener("resize",le)}),ol({refresh:E}),(l,e)=>{const d=Wl,f=Il,b=tt,s=Fl,N=zl,U=Ol,R=Al,L=Jl,w=Ql,el=Xl,Ul=Gl,_=lt,Bl=at,ie=nt,H=it,we=et,De=Zl,Ne=ot,Ce=rt,B=ut,ll=st,Ml=dt;return hl((o(),r("div",Rt,[i("div",St,[i("div",Tt,[a(f,{modelValue:F.value,"onUpdate:modelValue":e[0]||(e[0]=t=>F.value=t),onChange:Dl},{default:n(()=>[a(d,{value:"7"},{default:n(()=>[...e[44]||(e[44]=[m("最近7天",-1)])]),_:1}),a(d,{value:"30"},{default:n(()=>[...e[45]||(e[45]=[m("最近30天",-1)])]),_:1}),a(d,{value:"custom"},{default:n(()=>[...e[46]||(e[46]=[m("自定义",-1)])]),_:1})]),_:1},8,["modelValue"]),F.value==="custom"?(o(),x(b,{key:0,modelValue:G.value,"onUpdate:modelValue":e[1]||(e[1]=t=>G.value=t),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",clearable:!1,"disabled-date":yl,onChange:Cl},null,8,["modelValue"])):y("",!0)]),D.value?(o(),r("div",Et,[je.value?(o(),r("span",Ut,[...e[47]||(e[47]=[i("span",{class:"daily-matrix__cell-patient"},"自录",-1),i("span",{class:"daily-matrix__legend-text"},"= 患者在小程序自录",-1)])])):y("",!0),a(s,{type:"primary",onClick:e[2]||(e[2]=t=>ce("blood"))},{default:n(()=>[...e[48]||(e[48]=[m("+血糖",-1)])]),_:1}),a(s,{onClick:e[3]||(e[3]=t=>ce("diet"))},{default:n(()=>[...e[49]||(e[49]=[m("+饮食",-1)])]),_:1}),a(s,{onClick:e[4]||(e[4]=t=>ce("exercise"))},{default:n(()=>[...e[50]||(e[50]=[m("+运动",-1)])]),_:1}),a(s,{onClick:e[5]||(e[5]=t=>ce("tracking"))},{default:n(()=>[...e[51]||(e[51]=[m("+备注",-1)])]),_:1}),a(s,{onClick:E},{default:n(()=>[...e[52]||(e[52]=[m("刷新",-1)])]),_:1})])):(o(),r("div",Bt,[je.value?(o(),r("span",Mt,[...e[53]||(e[53]=[i("span",{class:"daily-matrix__cell-patient"},"自录",-1),i("span",{class:"daily-matrix__legend-text"},"= 患者在小程序自录",-1)])])):y("",!0),a(s,{onClick:E},{default:n(()=>[...e[54]||(e[54]=[m("刷新",-1)])]),_:1})]))]),i("div",{ref_key:"tableWrapRef",ref:We,class:"daily-matrix__table-wrap"},[a(R,{data:_l.value,border:"",stripe:"","row-key":"key",class:"daily-matrix__table","empty-text":"暂无记录"},{default:n(()=>[a(N,{prop:"label",label:"指标",fixed:"left",width:"120"}),(o(!0),r($,null,Y(te.value,t=>(o(),x(N,{key:t,label:Qe(t),"min-width":gl.value,align:"center"},{default:n(({row:u})=>[i("div",{class:Pl(["daily-matrix__cell",{"is-clickable":Ve(u.key,t),"is-empty":!I(u.key,t).hasRecord,"is-high":I(u.key,t).isHigh,"is-patient-self":I(u.key,t).isPatientSelf&&I(u.key,t).hasRecord}]),role:Ve(u.key,t)?"button":void 0,tabindex:Ve(u.key,t)?0:void 0,onClick:M=>ke(u.key,t),onKeydown:[al(M=>ke(u.key,t),["enter"]),al(ql(M=>ke(u.key,t),["prevent"]),["space"])]},[u.key==="tracking"&&xe(t)?(o(),x(U,{key:0,placement:"top",effect:"light","show-after":150},{content:n(()=>[i("div",Lt,[(o(!0),r($,null,Y(Me(xe(t)),(M,A)=>(o(),r("div",{key:`${t}-${A}`,class:"daily-matrix__tracking-tooltip-line"},g(M),1))),128))])]),default:n(()=>[i("div",Ht,g(El(xe(t))),1)]),_:2},1024)):I(u.key,t).value?(o(),r($,{key:1},[i("span",null,g(I(u.key,t).value),1),ne(u.key,t)>1?(o(),r("span",Yt,g(ne(u.key,t))+"条 ",1)):y("",!0),I(u.key,t).isHigh?(o(),r("span",ht,"↑")):y("",!0),I(u.key,t).isPatientSelf?(o(),x(U,{key:2,content:"患者在小程序自录的数据",placement:"top","show-after":120},{default:n(()=>[...e[55]||(e[55]=[i("span",{class:"daily-matrix__cell-patient"},"自录",-1)])]),_:1})):y("",!0)],64)):(o(),r($,{key:2},[ne(u.key,t)>0?(o(),r("span",It,"查看"+g(ne(u.key,t))+"条",1)):(o(),r("span",Wt,"—"))],64))],42,Nt)]),_:2},1032,["label","min-width"]))),128))]),_:1},8,["data"])],512),i("div",Ft,[e[56]||(e[56]=i("div",{class:"daily-matrix__section-title"},"血糖趋势",-1)),e[57]||(e[57]=i("p",{class:"daily-matrix__hint"},"按日展示最新有效血糖值;点击表格查看当天全部原始记录。",-1)),xl.value?(o(),x(Kl(jl),{key:0,class:"daily-matrix__chart-canvas",option:Vl.value,autoresize:""},null,8,["option"])):(o(),x(L,{key:1,description:"当前时间范围暂无血糖数据","image-size":84}))]),dl.value?(o(),r("div",At,[e[58]||(e[58]=i("div",{class:"daily-matrix__section-title"},"待办事项",-1)),a(mt,{"diagnosis-id":C.value,"patient-id":oe.value,"patient-name":ul.value,"read-only":He.value},null,8,["diagnosis-id","patient-id","patient-name","read-only"])])):y("",!0),a(Ul,{modelValue:ue.value,"onUpdate:modelValue":e[9]||(e[9]=t=>ue.value=t),title:`${T.value} 日常记录明细`,size:"min(640px, 100vw)"},{default:n(()=>[e[72]||(e[72]=i("p",{class:"daily-matrix__hint"},"每张卡片是一条独立记录;相同数值也不会合并。请在对应记录上点击编辑。",-1)),i("section",zt,[i("div",qt,[i("h3",null,"血糖血压 · "+g(Se.value.length)+"条",1),D.value?(o(),x(s,{key:0,link:"",type:"primary",onClick:e[6]||(e[6]=t=>ge(void 0,T.value))},{default:n(()=>[...e[59]||(e[59]=[m("新增一条",-1)])]),_:1})):y("",!0)]),Se.value.length?y("",!0):(o(),x(L,{key:0,description:"当天暂无血糖血压记录","image-size":48})),(o(!0),r($,null,Y(Se.value,t=>(o(),r("article",{key:t.id,class:"daily-matrix__detail-record"},[i("header",Pt,[i("strong",null,[m(g(Ue(t))+" ",1),i("small",null,"#"+g(t.id),1)]),D.value?(o(),x(s,{key:0,link:"",type:"primary",onClick:u=>ge(t,T.value)},{default:n(()=>[...e[60]||(e[60]=[m("编辑此条",-1)])]),_:1},8,["onClick"])):y("",!0)]),i("div",Ot,[Number(t.record_time_estimated)===1?(o(),x(w,{key:0,type:"warning",size:"small"},{default:n(()=>[...e[61]||(e[61]=[m("估计时间",-1)])]),_:1})):y("",!0),t.record_time_period?(o(),x(w,{key:1,type:"info",size:"small"},{default:n(()=>[m("时段:"+g(Ge(t)),1)]),_:2},1024)):y("",!0),t.followup_audio_task_id?(o(),x(w,{key:2,size:"small"},{default:n(()=>[...e[62]||(e[62]=[m("随访录音",-1)])]),_:1})):y("",!0),Number(t.source)===1?(o(),r("span",Kt,"患者自录")):y("",!0)]),t.record_time_text?(o(),r("p",jt,"时间原文:"+g(t.record_time_text),1)):y("",!0),i("dl",Gt,[(o(!0),r($,null,Y(kl(t),u=>(o(),r($,{key:u.label},[i("dt",null,g(u.label),1),i("dd",null,g(u.value),1)],64))),128))])]))),128))]),i("section",Jt,[i("div",Qt,[i("h3",null,"饮食 · "+g(Te.value.length)+"条",1),D.value?(o(),x(s,{key:0,link:"",type:"primary",onClick:e[7]||(e[7]=t=>ye(void 0,T.value))},{default:n(()=>[...e[63]||(e[63]=[m("新增一条",-1)])]),_:1})):y("",!0)]),Te.value.length?y("",!0):(o(),x(L,{key:0,description:"当天暂无饮食记录","image-size":48})),(o(!0),r($,null,Y(Te.value,t=>(o(),r("article",{key:t.id,class:"daily-matrix__detail-record"},[i("header",Xt,[i("strong",null,[m(g(Ue(t))+" ",1),i("small",null,"#"+g(t.id),1)]),D.value?(o(),x(s,{key:0,link:"",type:"primary",onClick:u=>ye(t,T.value)},{default:n(()=>[...e[64]||(e[64]=[m("编辑此条",-1)])]),_:1},8,["onClick"])):y("",!0)]),i("dl",Zt,[(o(),r($,null,Y(bl,u=>{var M;return o(),r($,{key:u.key},[i("dt",null,g(u.label),1),i("dd",null,[m(g(t[`${u.key}_foods`]||t[u.key]||"—")+" ",1),(M=t[`${u.key}_images`])!=null&&M.length?(o(),r("div",ea,[(o(!0),r($,null,Y(t[`${u.key}_images`],(A,tl)=>(o(),x(el,{key:`${A}-${tl}`,src:A,"preview-src-list":t[`${u.key}_images`],"initial-index":tl,"preview-teleported":"",fit:"cover"},null,8,["src","preview-src-list","initial-index"]))),128))])):y("",!0)])],64)}),64)),e[65]||(e[65]=i("dt",null,"备注",-1)),i("dd",null,g(t.note||"—"),1)])]))),128))]),i("section",la,[i("div",ta,[i("h3",null,"运动 · "+g(Ee.value.length)+"条",1),D.value?(o(),x(s,{key:0,link:"",type:"primary",onClick:e[8]||(e[8]=t=>be(void 0,T.value))},{default:n(()=>[...e[66]||(e[66]=[m("新增一条",-1)])]),_:1})):y("",!0)]),Ee.value.length?y("",!0):(o(),x(L,{key:0,description:"当天暂无运动记录","image-size":48})),(o(!0),r($,null,Y(Ee.value,t=>{var u;return o(),r("article",{key:t.id,class:"daily-matrix__detail-record"},[i("header",aa,[i("strong",null,[m(g(Ue(t))+" ",1),i("small",null,"#"+g(t.id),1)]),D.value?(o(),x(s,{key:0,link:"",type:"primary",onClick:M=>be(t,T.value)},{default:n(()=>[...e[67]||(e[67]=[m("编辑此条",-1)])]),_:1},8,["onClick"])):y("",!0)]),i("dl",na,[e[68]||(e[68]=i("dt",null,"运动",-1)),i("dd",null,g(t.exercise_type||"—"),1),e[69]||(e[69]=i("dt",null,"时长",-1)),i("dd",null,g(t.duration==null?"未记录":`${t.duration} 分钟`),1),e[70]||(e[70]=i("dt",null,"强度",-1)),i("dd",null,g(cl(t.intensity)),1),e[71]||(e[71]=i("dt",null,"备注",-1)),i("dd",null,g(t.note||"—"),1)]),(u=t.images)!=null&&u.length?(o(),r("div",ia,[(o(!0),r($,null,Y(t.images,(M,A)=>(o(),x(el,{key:`${M}-${A}`,src:M,"preview-src-list":t.images,"initial-index":A,"preview-teleported":"",fit:"cover"},null,8,["src","preview-src-list","initial-index"]))),128))])):y("",!0)])}),128))])]),_:1},8,["modelValue","title"]),a(De,{modelValue:q.value,"onUpdate:modelValue":e[21]||(e[21]=t=>q.value=t),title:rl.value,width:"600px","close-on-click-modal":!1},{footer:n(()=>[a(s,{onClick:e[20]||(e[20]=t=>q.value=!1)},{default:n(()=>[...e[78]||(e[78]=[m("取消",-1)])]),_:1}),a(s,{type:"primary",loading:de.value,disabled:!D.value,onClick:$l},{default:n(()=>[...e[79]||(e[79]=[m("确定",-1)])]),_:1},8,["loading","disabled"])]),default:n(()=>[a(we,{model:p.value,"label-width":"120px"},{default:n(()=>[a(_,{label:"记录日期",required:""},{default:n(()=>[a(b,{modelValue:p.value.record_date,"onUpdate:modelValue":e[10]||(e[10]=t=>p.value.record_date=t),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),a(_,{label:"记录时间"},{default:n(()=>[a(Bl,{modelValue:p.value.record_time,"onUpdate:modelValue":e[11]||(e[11]=t=>p.value.record_time=t),placeholder:"选择时间",format:"HH:mm","value-format":"HH:mm",class:"w-full"},null,8,["modelValue"])]),_:1}),Number(p.value.record_time_estimated)===1?(o(),x(_,{key:0,label:"时间说明"},{default:n(()=>[i("div",oa," 估计时间 · "+g(Ge(p.value))+";原文:"+g(p.value.record_time_text||"未提供")+"。 手动修改记录时间后会清除估计标记;只改数值则保留来源。 ",1)]),_:1})):y("",!0),a(_,{label:"空腹血糖"},{default:n(()=>[a(ie,{modelValue:p.value.fasting_blood_sugar,"onUpdate:modelValue":e[12]||(e[12]=t=>p.value.fasting_blood_sugar=t),precision:2,step:.1,min:0,max:50},null,8,["modelValue"]),e[73]||(e[73]=i("span",{class:"ml-2"},"mmol/L",-1))]),_:1}),a(_,{label:"餐后2小时血糖"},{default:n(()=>[a(ie,{modelValue:p.value.postprandial_blood_sugar,"onUpdate:modelValue":e[13]||(e[13]=t=>p.value.postprandial_blood_sugar=t),precision:2,step:.1,min:0,max:50},null,8,["modelValue"]),e[74]||(e[74]=i("span",{class:"ml-2"},"mmol/L",-1))]),_:1}),a(_,{label:"其他血糖"},{default:n(()=>[a(H,{modelValue:p.value.other_blood_sugar,"onUpdate:modelValue":e[14]||(e[14]=t=>p.value.other_blood_sugar=t),type:"number",style:{width:"200px"}},null,8,["modelValue"]),e[75]||(e[75]=i("span",{class:"ml-2"},"mmol/L",-1))]),_:1}),a(_,{label:"收缩压(高压)"},{default:n(()=>[a(ie,{modelValue:p.value.systolic_pressure,"onUpdate:modelValue":e[15]||(e[15]=t=>p.value.systolic_pressure=t),min:0,max:300},null,8,["modelValue"]),e[76]||(e[76]=i("span",{class:"ml-2"},"mmHg",-1))]),_:1}),a(_,{label:"舒张压(低压)"},{default:n(()=>[a(ie,{modelValue:p.value.diastolic_pressure,"onUpdate:modelValue":e[16]||(e[16]=t=>p.value.diastolic_pressure=t),min:0,max:200},null,8,["modelValue"]),e[77]||(e[77]=i("span",{class:"ml-2"},"mmHg",-1))]),_:1}),a(_,{label:"西药"},{default:n(()=>[a(H,{modelValue:p.value.western_medicine,"onUpdate:modelValue":e[17]||(e[17]=t=>p.value.western_medicine=t)},null,8,["modelValue"])]),_:1}),a(_,{label:"胰岛素"},{default:n(()=>[a(H,{modelValue:p.value.insulin,"onUpdate:modelValue":e[18]||(e[18]=t=>p.value.insulin=t)},null,8,["modelValue"])]),_:1}),a(_,{label:"备注"},{default:n(()=>[a(H,{modelValue:p.value.remark,"onUpdate:modelValue":e[19]||(e[19]=t=>p.value.remark=t),type:"textarea",rows:3},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),a(De,{modelValue:P.value,"onUpdate:modelValue":e[31]||(e[31]=t=>P.value=t),title:ml.value,width:"800px","close-on-click-modal":!1},{footer:n(()=>[a(s,{onClick:e[30]||(e[30]=t=>P.value=!1)},{default:n(()=>[...e[83]||(e[83]=[m("取消",-1)])]),_:1}),a(s,{type:"primary",loading:re.value,disabled:!D.value,onClick:Rl},{default:n(()=>[...e[84]||(e[84]=[m("确定",-1)])]),_:1},8,["loading","disabled"])]),default:n(()=>[a(we,{model:V.value,"label-width":"100px"},{default:n(()=>[a(_,{label:"记录日期",required:""},{default:n(()=>[a(b,{modelValue:V.value.record_date,"onUpdate:modelValue":e[22]||(e[22]=t=>V.value.record_date=t),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),a(Ne,{"content-position":"left"},{default:n(()=>[...e[80]||(e[80]=[m("早餐",-1)])]),_:1}),a(_,{label:"食物描述"},{default:n(()=>[a(H,{modelValue:V.value.breakfast_foods,"onUpdate:modelValue":e[23]||(e[23]=t=>V.value.breakfast_foods=t),type:"textarea",rows:2,placeholder:"请输入早餐食物"},null,8,["modelValue"])]),_:1}),a(_,{label:"图片"},{default:n(()=>[a(Ce,{modelValue:V.value.breakfast_images,"onUpdate:modelValue":e[24]||(e[24]=t=>V.value.breakfast_images=t),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),a(Ne,{"content-position":"left"},{default:n(()=>[...e[81]||(e[81]=[m("午餐",-1)])]),_:1}),a(_,{label:"食物描述"},{default:n(()=>[a(H,{modelValue:V.value.lunch_foods,"onUpdate:modelValue":e[25]||(e[25]=t=>V.value.lunch_foods=t),type:"textarea",rows:2,placeholder:"请输入午餐食物"},null,8,["modelValue"])]),_:1}),a(_,{label:"图片"},{default:n(()=>[a(Ce,{modelValue:V.value.lunch_images,"onUpdate:modelValue":e[26]||(e[26]=t=>V.value.lunch_images=t),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),a(Ne,{"content-position":"left"},{default:n(()=>[...e[82]||(e[82]=[m("晚餐",-1)])]),_:1}),a(_,{label:"食物描述"},{default:n(()=>[a(H,{modelValue:V.value.dinner_foods,"onUpdate:modelValue":e[27]||(e[27]=t=>V.value.dinner_foods=t),type:"textarea",rows:2,placeholder:"请输入晚餐食物"},null,8,["modelValue"])]),_:1}),a(_,{label:"图片"},{default:n(()=>[a(Ce,{modelValue:V.value.dinner_images,"onUpdate:modelValue":e[28]||(e[28]=t=>V.value.dinner_images=t),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),a(_,{label:"备注"},{default:n(()=>[a(H,{modelValue:V.value.note,"onUpdate:modelValue":e[29]||(e[29]=t=>V.value.note=t),type:"textarea",rows:3,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),a(De,{modelValue:O.value,"onUpdate:modelValue":e[39]||(e[39]=t=>O.value=t),title:vl.value,width:"600px","close-on-click-modal":!1},{footer:n(()=>[a(s,{onClick:e[38]||(e[38]=t=>O.value=!1)},{default:n(()=>[...e[85]||(e[85]=[m("取消",-1)])]),_:1}),a(s,{type:"primary",loading:me.value,disabled:!D.value,onClick:Sl},{default:n(()=>[...e[86]||(e[86]=[m("确定",-1)])]),_:1},8,["loading","disabled"])]),default:n(()=>[a(we,{model:c.value,"label-width":"120px"},{default:n(()=>[a(_,{label:"记录日期",required:""},{default:n(()=>[a(b,{modelValue:c.value.record_date,"onUpdate:modelValue":e[32]||(e[32]=t=>c.value.record_date=t),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),a(_,{label:"运动类型",required:""},{default:n(()=>[a(ll,{modelValue:c.value.exercise_type,"onUpdate:modelValue":e[33]||(e[33]=t=>c.value.exercise_type=t),placeholder:"请选择运动类型",class:"w-full"},{default:n(()=>[a(B,{label:"散步",value:"散步"}),a(B,{label:"慢跑",value:"慢跑"}),a(B,{label:"游泳",value:"游泳"}),a(B,{label:"瑜伽",value:"瑜伽"}),a(B,{label:"骑自行车",value:"骑自行车"}),a(B,{label:"打太极拳",value:"打太极拳"}),a(B,{label:"其他",value:"其他"})]),_:1},8,["modelValue"])]),_:1}),a(_,{label:"运动时长(分钟)",required:!c.value.id},{default:n(()=>[a(ie,{modelValue:c.value.duration,"onUpdate:modelValue":e[34]||(e[34]=t=>c.value.duration=t),min:0,max:300,placeholder:"未记录"},null,8,["modelValue"]),c.value.id?(o(),r("span",sa,"留空表示未记录")):y("",!0)]),_:1},8,["required"]),a(_,{label:"运动强度"},{default:n(()=>[a(ll,{modelValue:Ie.value,"onUpdate:modelValue":e[35]||(e[35]=t=>Ie.value=t),placeholder:"未记录",class:"w-full"},{default:n(()=>[a(B,{label:"未记录",value:""}),a(B,{label:"低强度",value:1}),a(B,{label:"中强度",value:2}),a(B,{label:"高强度",value:3})]),_:1},8,["modelValue"])]),_:1}),a(_,{label:"运动图片"},{default:n(()=>[a(Ce,{modelValue:c.value.images,"onUpdate:modelValue":e[36]||(e[36]=t=>c.value.images=t),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),a(_,{label:"备注"},{default:n(()=>[a(H,{modelValue:c.value.note,"onUpdate:modelValue":e[37]||(e[37]=t=>c.value.note=t),type:"textarea",rows:3},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),a(De,{modelValue:K.value,"onUpdate:modelValue":e[43]||(e[43]=t=>K.value=t),title:pl.value,width:"600px","close-on-click-modal":!1},{footer:n(()=>[a(s,{onClick:e[42]||(e[42]=t=>K.value=!1)},{default:n(()=>[...e[87]||(e[87]=[m("取消",-1)])]),_:1}),j.value?(o(),x(s,{key:0,type:"primary",loading:ve.value,onClick:Tl},{default:n(()=>[...e[88]||(e[88]=[m("确定",-1)])]),_:1},8,["loading"])):y("",!0)]),default:n(()=>[a(we,{model:S.value,"label-width":"100px"},{default:n(()=>[a(_,{label:"记录日期",required:""},{default:n(()=>[a(b,{modelValue:S.value.note_date,"onUpdate:modelValue":e[40]||(e[40]=t=>S.value.note_date=t),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full",disabled:!0},null,8,["modelValue"])]),_:1}),S.value.existing_content?(o(),x(_,{key:0,label:"已有备注"},{default:n(()=>[i("div",ua,[(o(!0),r($,null,Y(Me(S.value.existing_content),(t,u)=>(o(),r("div",{key:`${S.value.note_date}-${u}`,class:"daily-matrix__tracking-line"},g(t),1))),128))])]),_:1})):y("",!0),a(_,{label:j.value?"追加备注":"备注内容",required:""},{default:n(()=>[a(H,{modelValue:S.value.content,"onUpdate:modelValue":e[41]||(e[41]=t=>S.value.content=t),type:"textarea",rows:5,maxlength:"1000","show-word-limit":"",disabled:!j.value,placeholder:j.value?"请输入跟踪备注":"历史跟踪备注仅支持查看"},null,8,["modelValue","disabled","placeholder"])]),_:1},8,["label"])]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])),[[Ml,se.value]])}}}),$a=$t(ra,[["__scopeId","data-v-2663c148"]]);export{$a as default};
|