Files
zyt/server/public/admin/assets/CallRecordPanel-DyvpDU6-.js
T
2026-05-08 18:32:39 +08:00

2 lines
5.2 KiB
JavaScript

import{i as P,L as V,N as $,_ as z,M as D}from"./element-plus-NSC30APV.js";import{U as v}from"./index-CFOWc_EU.js";import{i as n,_ as F}from"./index-CwtlLwRh.js";import{a4 as G,a5 as M,a6 as w}from"./tcm-BNagiAsz.js";import{f as J,aG as O,w as Q,ak as l,I as d,J as f,a as r,aN as s,O as m,aP as j,G as k,F as q,ap as A}from"./@vue/runtime-core-tF_2qJHK.js";import{Q as _}from"./@vue/shared-mAAVTE9n.js";import{n as x}from"./@vue/reactivity-BmZ-20sQ.js";import"./@vue/runtime-dom-CEiKlVMn.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CCtJZkK4.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"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-ByJn2Em4.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-BjeWxBI0.js";import"./pinia-CTWOnonq.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-QlbCbZWN.js";import"./@vueuse/shared-Bl-RnC0s.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-Bm7NQW9r.js";const H={class:"call-record-panel"},K={class:"call-record-toolbar"},W={key:0,class:"text-primary"},X={key:1,class:"text-gray-400"},Y={key:0,class:"recording-list"},Z=["src"],tt={key:1,class:"text-gray-400"},at=J({__name:"CallRecordPanel",props:{diagnosisId:{}},setup(U,{expose:R}){const c=U,g=x(!1),y=x([]),E=O("toolbarUploadRef"),u=async()=>{if(c.diagnosisId){g.value=!0;try{y.value=await G({diagnosis_id:c.diagnosisId})||[]}catch(t){console.error(t),y.value=[]}finally{g.value=!1}}};Q(()=>c.diagnosisId,()=>{u()},{immediate:!0}),R({refresh:u});function I(t){return{1:"进行中",2:"已结束",3:"未接听",4:"已取消"}[t]??"—"}function S(t){return!t||typeof t!="string"?!1:/\.(mp4|webm|ogg|mov|mkv)(\?|$)/i.test(t)}async function C(t){const e=b(t);if(!e){n.msgError("上传成功但未返回视频地址");return}try{const a=await M({diagnosis_id:c.diagnosisId});await w({diagnosis_id:c.diagnosisId,call_record_id:Number((a==null?void 0:a.id)||0),file_url:e}),n.msgSuccess("视频回放上传成功"),await u()}catch(a){n.msgError((a==null?void 0:a.message)||"写入回放失败")}}async function N(t,e){const a=b(e);if(!a){n.msgError("上传成功但未返回视频地址");return}try{await w({diagnosis_id:c.diagnosisId,call_record_id:Number(t.id||0),file_url:a}),n.msgSuccess("视频回放上传成功"),await u()}catch(i){n.msgError((i==null?void 0:i.message)||"写入回放失败")}}function b(t){var e,a;return String(((e=t==null?void 0:t.data)==null?void 0:e.uri)||((a=t==null?void 0:t.data)==null?void 0:a.url)||"").trim()}return(t,e)=>{const a=P,i=$,T=z,B=D,L=V;return l(),d("div",H,[f("div",K,[r(v,{ref_key:"toolbarUploadRef",ref:E,type:"video",direct:"",multiple:!1,limit:1,"show-progress":!0,onSuccess:C},{default:s(()=>[r(a,{type:"primary"},{default:s(()=>[...e[0]||(e[0]=[m("上传视频",-1)])]),_:1})]),_:1},512)]),j((l(),k(B,{data:y.value,border:"",stripe:""},{empty:s(()=>[...e[1]||(e[1]=[f("div",{class:"call-record-empty"},[f("div",{class:"call-record-empty__title"},"暂无通话记录"),f("div",{class:"call-record-empty__desc"}," 现在可以直接点击上方“上传视频”。系统会自动生成一条默认通话记录来承载回放。 ")],-1)])]),default:s(()=>[r(i,{label:"开始时间",width:"170",prop:"start_time_text"}),r(i,{label:"结束时间",width:"170",prop:"end_time_text"}),r(i,{label:"通话类型",width:"100"},{default:s(({row:o})=>[m(_(o.call_type===1?"语音":"视频"),1)]),_:1}),r(i,{label:"房间号",width:"180"},{default:s(({row:o})=>[o.room_id?(l(),d("span",W,_(o.room_id),1)):(l(),d("span",X,"—"))]),_:1}),r(i,{label:"时长",width:"110",prop:"duration_text"}),r(i,{label:"状态",width:"90"},{default:s(({row:o})=>[m(_(I(o.status)),1)]),_:1}),r(i,{label:"录制",width:"100"},{default:s(({row:o})=>[m(_(o.recording_status_text||"—"),1)]),_:1}),r(i,{label:"上传回放",width:"180"},{default:s(({row:o})=>[r(v,{type:"video",direct:"",multiple:!1,limit:1,"show-progress":!0,onSuccess:p=>N(o,p)},{default:s(()=>[r(a,{type:"primary",plain:"",size:"small"},{default:s(()=>[...e[2]||(e[2]=[m("上传视频",-1)])]),_:1})]),_:1},8,["onSuccess"])]),_:1}),r(i,{label:"录制回放","min-width":"320"},{default:s(({row:o})=>[(o.recording_urls_list||[]).length?(l(),d("div",Y,[(l(!0),d(q,null,A(o.recording_urls_list,(p,h)=>(l(),d("div",{key:`${o.id}-${h}`,class:"recording-item"},[S(p)?(l(),d("video",{key:0,src:p,controls:"",preload:"metadata",class:"recording-video"},null,8,Z)):(l(),k(T,{key:1,href:p,target:"_blank",type:"primary"},{default:s(()=>[m(" 打开链接 "+_(h+1),1)]),_:2},1032,["href"]))]))),128))])):(l(),d("span",tt,"暂无"))]),_:1})]),_:1},8,["data"])),[[L,g.value]])])}}}),Ot=F(at,[["__scopeId","data-v-ccdd4cff"]]);export{Ot as default};