import{h,K as k,L as $,z as F,A as x}from"./element-plus-DDINy080.js";import{f as A,ak as d,I as v,G as f,aN as N,F as C,ap as E,A as g}from"./@vue/runtime-core-C6bnekPw.js";import{Q as T}from"./@vue/shared-mAAVTE9n.js";import{y as I}from"./@vue/reactivity-DiY1c2vO.js";import{_ as M}from"./index-CucNzNKR.js";const O=2097152,q={diagnosis:"诊单资料",blood:"血糖 / 血压",diet:"饮食",exercise:"运动",tracking_note:"跟踪备注"},z={queued:"等待处理",running:"正在分析",review:"待人工审核",applied:"已采纳",failed:"处理失败",needs_reconciliation:"结果待核对",expired:"已过保留期"},L={transcribing:"正在转写",extracting:"正在提炼",validating:"正在校验",review:"待人工审核"};function U(e){return e.status==="running"&&L[e.stage]||z[e.status]||e.status}function ee(e){const t=e.pipeline_progress,r=t&&Number.isSafeInteger(t.transcribed)&&Number.isSafeInteger(t.total)&&t.total>0&&t.transcribed>=0&&t.transcribed<=t.total;return`${U(e)}${r?` · 转写片段 ${t.transcribed} / ${t.total}`:""};人工审核前不会写入业务记录。`}function te(e){return!e.transcript_available||!e.transcript.trim()?"":e.status==="failed"?"处理失败,已完成片段的转写仍可查看。保留转写不代表提炼成功,不能直接写入病历。":e.status==="needs_reconciliation"?"结果待核对,已完成片段的转写仍可查看。请先核对上游结果,不要重复发送。":""}function ne(e){return typeof e.start_ms!="number"||!Number.isFinite(e.start_ms)||e.start_ms<0||e.channel!==void 0&&e.channel!==0&&e.channel!==1?"":e.position_type==="segment"?!e.segment_id||typeof e.end_ms!="number"||!Number.isFinite(e.end_ms)||e.end_ms<=e.start_ms?"":`回听对话 ${b(e.start_ms)}–${b(e.end_ms)}`:`播放 ${b(e.start_ms)}`}function b(e){const t=Math.max(0,Math.floor(e/1e3));return`${Math.floor(t/60)}:${String(t%60).padStart(2,"0")}`}function D(e){return e==="left_service"||e==="right_service"?e:"unconfirmed"}function re(e=[]){return e.some(t=>t.channel===0)&&e.some(t=>t.channel===1)}function le(e,t="unconfirmed"){if(e!==0&&e!==1)return"未标注声道";const r=e===0?"左声道":"右声道",n=D(t);return n==="unconfirmed"?`${r} · 角色待确认`:`${r} · ${(n==="left_service"?e===0:e===1)?"客服端":"患者/家属端"}(人工标注)`}function ae(e){const t=new Map;for(const r of e){const n=`${r.start_ms}:${r.end_ms}`;t.has(n)||t.set(n,{id:n,start_ms:r.start_ms,end_ms:r.end_ms,segments:[]}),t.get(n).segments.push(r)}return[...t.values()].sort((r,n)=>r.start_ms-n.start_ms||r.end_ms-n.end_ms).map(r=>({...r,segments:[...r.segments].sort((n,l)=>(n.channel??-1)-(l.channel??-1))}))}function ie(e){return Number.isFinite(e)?Math.max(0,e-3e3):0}function oe(e,t){return t==="unconfirmed"?e===0?"只听左声道":"只听右声道":(t==="left_service"?e===0:e===1)?"只听客服":"只听患者/家属"}const R=e=>JSON.parse(JSON.stringify(e));function j(e,t){if(e==null||e===""||Array.isArray(e)&&!e.length)return"未记录";const r=n=>{var l,a;return((a=(l=t.options)==null?void 0:l.find(i=>String(i.value)===String(n)))==null?void 0:a.label)||String(n)};return Array.isArray(e)?e.map(r).join("、"):r(e)}function se(e,t){return Object.keys(e.values).some(r=>{var n;return(n=t[e.kind])==null?void 0:n.some(l=>l.key===r&&!l.readonly)})}function de(e,t){var n,l;const r=new Set;for(const a of e.filter(i=>i.selected))if(a.kind==="diagnosis")for(const i of Object.keys(a.values)){if(r.has(i))return`${((l=(n=t.diagnosis)==null?void 0:n.find(o=>o.key===i))==null?void 0:l.label)||i}存在多条选中建议,请合并内容到一项或仅保留一项后再确认写入`;r.add(i)}return""}function P(e,t){var r;if(!e.selected)return"";for(const n of Object.keys(e.values)){const l=(r=t[e.kind])==null?void 0:r.find(a=>a.key===n);if(!l||l.readonly)return`${(l==null?void 0:l.label)||n} 当前不可编辑,请先取消采纳该字段`}return""}function Y(e,t){return e.selected?e.needs_review?"请明确核对不确定、冲突或重复内容":e.kind!=="diagnosis"&&!t?"没有日常记录编辑权限":Object.keys(e.values).length?e.kind!=="diagnosis"&&!y(e.record_date)?"请核对并填写有效的记录日期":e.record_time&&!/^([01]\d|2[0-3]):[0-5]\d(?::[0-5]\d)?$/.test(e.record_time)?"请填写有效的记录时间":"":"至少填写一个有效字段":""}function B(e,t,r){return e.needs_review||!!P({...e,selected:!0},t)||!!Y({...e,selected:!0},r)}function ue(e,t,r){return{all:e.length,diagnosis:e.filter(n=>n.kind==="diagnosis").length,daily:e.filter(n=>n.kind!=="diagnosis").length,pending:e.filter(n=>B(n,t,r)).length,selected:e.filter(n=>n.selected).length}}function fe(e,t){const r=new Map(t.map(n=>[n.id,n]));return e.some(n=>{const l=r.get(n.id);return n.selected&&l&&(n.target_id!==l.target_id||n.record_date!==l.record_date)})}function ce(e){return e&&/^([01]\d|2[0-3]):[0-5]\d(?::[0-5]\d)?$/.test(e)?e.slice(0,5):null}function y(e){if(!e||!/^\d{4}-\d{2}-\d{2}$/.test(e))return!1;const[t,r,n]=e.split("-").map(Number),l=new Date(Date.UTC(t,r-1,n));return l.getUTCFullYear()===t&&l.getUTCMonth()===r-1&&l.getUTCDate()===n}function me(e,t){const r=new Map(e.map(n=>[n.id,n]));return R(t).map(n=>{const l=r.get(n.id);return l?{...n,values:{...l.values},record_date:l.record_date,record_time:l.record_time,time_period:l.time_period,target_id:l.target_id,selected:!1,needs_review:!0}:n})}function _(e){return!!(e!=null&&e.enabled)&&(!e.preview_only||e.test_scope_allowed===!0)}function w(e){return!!e&&(e.preview_only?e.preview_ready===!0&&e.test_scope_allowed===!0:e.audio_verified||e.manual_review_enabled===!0&&e.manual_review_ready===!0)}function pe(e,t=!1){return _(e)&&!!e&&(e.preview_only||t?e.can_review===!0:e.can_apply)}function ge(e,t=!1){return _(e)&&w(e)&&!!e&&!e.preview_only&&!t&&e.can_apply}function be(e,t,r,n,l){return l||!n||!_(n)||!w(n)||!n.can_upload?"当前不可上传录音":!e||!e.size?"请选择非空录音文件":e.size>n.limits.max_bytes?"录音文件超过大小限制":/\.(mp3|wav|m4a|amr)$/i.test(e.name)?!/^\d{4}-\d{2}-\d{2} ([01]\d|2[0-3]):[0-5]\d:[0-5]\d$/.test(t)||!y(t.slice(0,10))?"请填写实际录音时间(北京时间)":n.models.some(a=>a.value===r)?"":"请选择可用的分析模型":"请选择支持的录音格式"}function _e(){let e=0,t=new AbortController;return{capture:()=>({generation:e,signal:t.signal}),current:r=>r.generation===e&&!r.signal.aborted,invalidate(){t.abort(),e++,t=new AbortController}}}async function ve(e,t,r,n,l){if(!Number.isSafeInteger(t)||t<65536||t>O)throw new Error("服务端分片配置不匹配,请联系管理员");for(let a=0,i=0;ar.modelValue===null||r.modelValue===void 0||r.modelValue===""?void 0:Number(r.modelValue)),a=g(()=>r.modelValue===null||r.modelValue===void 0?"":String(r.modelValue)),i=g(()=>{const u=o=>{var c,m;return((m=(c=r.field.options)==null?void 0:c.find(p=>String(p.value)===String(o)))==null?void 0:m.value)??o};return r.field.type==="multiselect"?Array.isArray(r.modelValue)?r.modelValue.map(u):[]:typeof r.modelValue=="string"||typeof r.modelValue=="number"?u(r.modelValue):""});return(u,o)=>{const c=h,m=$,p=k,S=F,V=x;return e.readonly?(d(),v("span",K,T(I(j)(e.modelValue,e.field)),1)):e.field.type==="number"?(d(),f(c,{key:1,"model-value":l.value,disabled:e.disabled,controls:!1,"onUpdate:modelValue":o[0]||(o[0]=s=>n("update:modelValue",s??null))},null,8,["model-value","disabled"])):e.field.type==="select"||e.field.type==="multiselect"?(d(),f(p,{key:2,"model-value":i.value,multiple:e.field.type==="multiselect",disabled:e.disabled,clearable:"",filterable:"","onUpdate:modelValue":o[1]||(o[1]=s=>n("update:modelValue",s))},{default:N(()=>[(d(!0),v(C,null,E(e.field.options||[],s=>(d(),f(m,{key:String(s.value),label:s.label,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value","multiple","disabled"])):e.field.type==="date"?(d(),f(S,{key:3,"model-value":a.value,type:"date","value-format":"YYYY-MM-DD",disabled:e.disabled,"onUpdate:modelValue":o[2]||(o[2]=s=>n("update:modelValue",s||null))},null,8,["model-value","disabled"])):(d(),f(V,{key:4,"model-value":a.value,type:"textarea",autosize:{minRows:1,maxRows:5},disabled:e.disabled,"onUpdate:modelValue":o[3]||(o[3]=s=>n("update:modelValue",s))},null,8,["model-value","disabled"]))}}}),J=M(G,[["__scopeId","data-v-a6efa8ff"]]),we=Object.freeze(Object.defineProperty({__proto__:null,default:J},Symbol.toStringTag,{value:"Module"}));export{ce as A,q as B,ne as C,se as D,ue as E,J as F,we as G,ee as a,b,_e as c,oe as d,le as e,U as f,ye as g,ve as h,R as i,me as j,ie as k,ae as l,re as m,D as n,_ as o,w as p,pe as q,te as r,ge as s,B as t,be as u,fe as v,de as w,P as x,Y as y,j as z};