1 line
6.8 KiB
JavaScript
1 line
6.8 KiB
JavaScript
import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as g,s as _}from"./index-Mgun2LFs.js";import"./request-DG5cMCYw.js";import{i as v}from"./crm-COsPApQ4.js";import{t as y}from"./room-CuFv9ddo.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},w={class:`px-2`},T={key:1,class:`text-gray-400 text-xs`},E={class:`px-5 py-3 border-t border-gray-50`},D={__name:`index`,setup(D){let O=u([]),k=u(0),A=u(!1),j=u(!1),M=u(!1),N=u([]),P=f({customer_id:``,handled:``,date:``}),F=f({page:1,per_page:20}),I=u(null),L=f({customer_id:``,room_no:``,call_type:`nurse`,content:``}),R={customer_id:[{required:!0,message:`请选择客户`,trigger:`change`}],call_type:[{required:!0,message:`请选择呼叫类型`,trigger:`change`}],content:[{required:!0,message:`请输入呼叫内容`,trigger:`blur`}]},z={nurse:`护理`,meal:`膳食`,service:`服务`,emergency:`紧急`},B={nurse:`primary`,meal:`success`,service:`info`,emergency:`danger`};async function V(){A.value=!0;try{let e=await y.getList({...P,...F});O.value=e.data?.list||e.data?.data||[],k.value=e.data?.total||0}finally{A.value=!1}}async function H(){try{let e=await v.getList({per_page:500});N.value=e.data?.list||e.data?.data||[]}catch{}}function U(){F.page=1,V()}function W(){Object.assign(P,{customer_id:``,handled:``,date:``}),U()}function G(){Object.assign(L,{customer_id:``,room_no:``,call_type:`nurse`,content:``}),j.value=!0}async function K(){I.value&&await I.value.validate(async e=>{if(e){M.value=!0;try{await y.create(L),_.success(`呼叫记录已创建`),j.value=!1,V()}finally{M.value=!1}}})}async function q(e){await g.confirm(`确定标记该呼叫为「已处理」吗?`,`处理确认`,{type:`info`});try{await y.handle(e.id,{}),_.success(`已标记为处理`),V()}catch(e){console.error(e)}}function J(e){F.page=e,V()}function Y(e){F.per_page=e,F.page=1,V()}return r(()=>{V(),H()}),(r,u)=>{let f=i(`el-option`),g=i(`el-select`),_=i(`el-date-picker`),v=i(`el-button`),y=i(`el-table-column`),D=i(`el-tag`),V=i(`el-table`),H=i(`el-pagination`),X=i(`el-form-item`),Z=i(`el-input`),Q=i(`el-form`),$=i(`el-dialog`),ee=t(`loading`);return n(),d(`div`,b,[p(`div`,x,[m(g,{modelValue:P.customer_id,"onUpdate:modelValue":u[0]||=e=>P.customer_id=e,placeholder:`选择客户`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),d(l,null,h(N.value,e=>(n(),s(f,{key:e.id,label:`${e.name}(${e.phone})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),m(g,{modelValue:P.handled,"onUpdate:modelValue":u[1]||=e=>P.handled=e,placeholder:`处理状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[m(f,{label:`未处理`,value:0}),m(f,{label:`已处理`,value:1})]),_:1},8,[`modelValue`]),m(_,{modelValue:P.date,"onUpdate:modelValue":u[2]||=e=>P.date=e,type:`date`,placeholder:`呼叫日期`,"value-format":`YYYY-MM-DD`,style:{width:`150px`}},null,8,[`modelValue`]),m(v,{type:`primary`,onClick:U},{default:e(()=>[...u[11]||=[o(`查询`,-1)]]),_:1}),m(v,{onClick:W},{default:e(()=>[...u[12]||=[o(`重置`,-1)]]),_:1})]),p(`div`,S,[p(`div`,C,[u[14]||=p(`div`,{class:`flex items-center gap-2`},[p(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),p(`span`,{class:`font-medium text-gray-700`},`呼叫记录`)],-1),m(v,{type:`primary`,onClick:G},{default:e(()=>[...u[13]||=[o(`新建呼叫记录`,-1)]]),_:1})]),p(`div`,w,[c((n(),s(V,{data:O.value,style:{width:`100%`},"row-class-name":({row:e})=>e.handled?``:`bg-rose-50/40`},{default:e(()=>[m(y,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.customer_name||e.customer?.name||`-`),1)]),_:1}),m(y,{prop:`room_no`,label:`房间号`,width:`90`,align:`center`}),m(y,{label:`呼叫类型`,width:`100`,align:`center`},{default:e(({row:t})=>[m(D,{type:B[t.call_type],size:`small`},{default:e(()=>[o(a(z[t.call_type]),1)]),_:2},1032,[`type`])]),_:1}),m(y,{prop:`content`,label:`呼叫内容`,"min-width":`180`,"show-overflow-tooltip":``}),m(y,{label:`处理状态`,width:`95`,align:`center`},{default:e(({row:t})=>[m(D,{type:t.handled?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.handled?`已处理`:`未处理`),1)]),_:2},1032,[`type`])]),_:1}),m(y,{label:`处理人`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.handler_name||e.handler?.name||`-`),1)]),_:1}),m(y,{prop:`handled_at`,label:`处理时间`,"min-width":`160`},{default:e(({row:e})=>[o(a(e.handled_at||`-`),1)]),_:1}),m(y,{prop:`created_at`,label:`呼叫时间`,"min-width":`160`}),m(y,{label:`操作`,width:`120`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.handled?(n(),d(`span`,T,`已完成`)):(n(),s(v,{key:0,size:`small`,type:`success`,text:``,onClick:e=>q(t)},{default:e(()=>[...u[15]||=[o(`标记处理`,-1)]]),_:1},8,[`onClick`]))]),_:1})]),_:1},8,[`data`,`row-class-name`])),[[ee,A.value]])]),p(`div`,E,[m(H,{"current-page":F.page,"onUpdate:currentPage":u[3]||=e=>F.page=e,"page-size":F.per_page,"onUpdate:pageSize":u[4]||=e=>F.per_page=e,total:k.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:J,onSizeChange:Y},null,8,[`current-page`,`page-size`,`total`])])]),m($,{modelValue:j.value,"onUpdate:modelValue":u[10]||=e=>j.value=e,title:`新建呼叫记录`,width:`500px`,"destroy-on-close":``},{footer:e(()=>[m(v,{onClick:u[9]||=e=>j.value=!1},{default:e(()=>[...u[16]||=[o(`取消`,-1)]]),_:1}),m(v,{type:`primary`,loading:M.value,onClick:K},{default:e(()=>[...u[17]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(Q,{ref_key:`formRef`,ref:I,model:L,rules:R,"label-width":`90px`},{default:e(()=>[m(X,{label:`客户`,prop:`customer_id`},{default:e(()=>[m(g,{modelValue:L.customer_id,"onUpdate:modelValue":u[5]||=e=>L.customer_id=e,filterable:``,placeholder:`请选择客户`,style:{width:`100%`}},{default:e(()=>[(n(!0),d(l,null,h(N.value,e=>(n(),s(f,{key:e.id,label:`${e.name}(${e.phone})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),m(X,{label:`房间号`},{default:e(()=>[m(Z,{modelValue:L.room_no,"onUpdate:modelValue":u[6]||=e=>L.room_no=e,placeholder:`请输入房间号`},null,8,[`modelValue`])]),_:1}),m(X,{label:`呼叫类型`,prop:`call_type`},{default:e(()=>[m(g,{modelValue:L.call_type,"onUpdate:modelValue":u[7]||=e=>L.call_type=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(z,(e,t)=>m(f,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(X,{label:`呼叫内容`,prop:`content`},{default:e(()=>[m(Z,{modelValue:L.content,"onUpdate:modelValue":u[8]||=e=>L.content=e,type:`textarea`,rows:3,placeholder:`请描述呼叫内容`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`])])}}};export{D as default}; |