1 line
9.8 KiB
JavaScript
1 line
9.8 KiB
JavaScript
import{$ as e,H as t,L as n,P as r,V as i,Vt as a,Wt as o,_ as s,_t as c,d as l,et as u,f as d,i as f,lt as p,p as m,st as h,u as g,v as _,z as v}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as y,s as b}from"./index-DK5nh4op.js";import"./request-BcX6wdRT.js";import{t as x}from"./iconify-f5JHLb1p.js";import{t as S}from"./care-Bu8b27GM.js";import{i as C}from"./crm-D8MwtJCV.js";var w={class:`p-6 space-y-4`},T={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},E={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},D={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},O={class:`px-2`},ee={class:`px-5 py-3 border-t border-gray-50`},k={__name:`index`,setup(k){let A=p([]),j=p(0),M=p(!1),N=p(!1),P=p(!1),F=p(!1),I=p([]),L=p(null),R=h({customer_id:``,level:``,status:``,date:``}),z=h({page:1,per_page:20}),B=p(null),V=h({id:null,customer_id:``,care_record_id:``,level:``,exception_type:``,description:``,action_taken:``}),H=p(!1),U={mild:`轻度`,moderate:`中度`,severe:`重度`},W={open:`待处理`,resolved:`已解决`},G={mild:`bg-yellow-100 text-yellow-700 border-yellow-200`,moderate:`bg-orange-100 text-orange-700 border-orange-200`,severe:`bg-red-100 text-red-700 border-red-200`},K={mild:``,moderate:`bg-orange-50`,severe:`bg-red-50`},q={customer_id:[{required:!0,message:`请选择客户`,trigger:`change`}],level:[{required:!0,message:`请选择严重程度`,trigger:`change`}],exception_type:[{required:!0,message:`请输入异常类型`,trigger:`blur`}],description:[{required:!0,message:`请输入异常描述`,trigger:`blur`}]};async function J(){M.value=!0;try{let e=await S.getList({...R,...z});A.value=e.data?.list||e.data?.data||[],j.value=e.data?.total||0}catch{b.error(`加载失败`)}finally{M.value=!1}}async function Y(){try{let e=await C.getList({per_page:500,status:3});I.value=e.data?.list||e.data?.data||[]}catch{}}function X(){z.page=1,J()}function te(){Object.assign(R,{customer_id:``,level:``,status:``,date:``}),X()}function ne(){H.value=!1,Object.assign(V,{id:null,customer_id:``,care_record_id:``,level:``,exception_type:``,description:``,action_taken:``}),N.value=!0}function re(e){H.value=!0,Object.assign(V,{id:e.id,customer_id:e.customer_id,care_record_id:e.care_record_id||``,level:e.level,exception_type:e.exception_type,description:e.description,action_taken:e.action_taken||``}),N.value=!0}function ie(e){L.value=e,P.value=!0}async function ae(e){await y.confirm(`确认将该异常标记为已解决?`,`标记解决`,{type:`success`,confirmButtonText:`确认解决`});try{await S.resolve(e.id),b.success(`已标记为解决`),J()}catch{b.error(`操作失败`)}}async function oe(){B.value&&await B.value.validate(async e=>{if(e){F.value=!0;try{H.value?await S.update(V.id,V):await S.create(V),b.success(H.value?`更新成功`:`创建成功`),N.value=!1,J()}catch{b.error(`操作失败`)}finally{F.value=!1}}})}function se(e){z.page=e,J()}function ce(e){z.per_page=e,z.page=1,J()}function le({row:e}){return K[e.level]||``}return r(()=>{J(),Y()}),(r,p)=>{let h=i(`el-option`),y=i(`el-select`),b=i(`el-date-picker`),S=i(`el-button`),C=i(`el-table-column`),k=i(`el-tag`),K=i(`el-table`),J=i(`el-pagination`),Y=i(`el-form-item`),Z=i(`el-input`),ue=i(`el-form`),Q=i(`el-dialog`),$=i(`el-descriptions-item`),de=i(`el-descriptions`),fe=t(`loading`);return n(),m(`div`,w,[g(`div`,T,[_(y,{modelValue:R.customer_id,"onUpdate:modelValue":p[0]||=e=>R.customer_id=e,placeholder:`选择客户`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),m(f,null,v(I.value,e=>(n(),l(h,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),_(y,{modelValue:R.level,"onUpdate:modelValue":p[1]||=e=>R.level=e,placeholder:`严重程度`,clearable:``,style:{width:`130px`}},{default:e(()=>[(n(),m(f,null,v(U,(e,t)=>_(h,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),_(y,{modelValue:R.status,"onUpdate:modelValue":p[2]||=e=>R.status=e,placeholder:`处理状态`,clearable:``,style:{width:`130px`}},{default:e(()=>[(n(),m(f,null,v(W,(e,t)=>_(h,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),_(b,{modelValue:R.date,"onUpdate:modelValue":p[3]||=e=>R.date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`异常日期`,style:{width:`160px`}},null,8,[`modelValue`]),_(S,{type:`primary`,onClick:X},{default:e(()=>[_(c(x),{icon:`solar:magnifer-bold-duotone`,class:`mr-1`}),p[16]||=s(`查询 `,-1)]),_:1}),_(S,{onClick:te},{default:e(()=>[...p[17]||=[s(`重置`,-1)]]),_:1})]),g(`div`,E,[g(`div`,D,[p[19]||=g(`div`,{class:`flex items-center gap-2`},[g(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),g(`span`,{class:`font-semibold text-gray-700`},`护理异常记录`)],-1),_(S,{type:`primary`,onClick:ne},{default:e(()=>[_(c(x),{icon:`solar:add-circle-bold-duotone`,class:`mr-1`}),p[18]||=s(`新建异常 `,-1)]),_:1})]),g(`div`,O,[u((n(),l(K,{data:A.value,style:{width:`100%`},"row-class-name":le},{default:e(()=>[_(C,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[s(o(e.customer_name||`-`),1)]),_:1}),_(C,{label:`严重程度`,width:`90`,align:`center`},{default:e(({row:e})=>[g(`span`,{class:a([`text-xs font-medium px-2 py-0.5 rounded border`,G[e.level]])},o(U[e.level]||`-`),3)]),_:1}),_(C,{prop:`exception_type`,label:`异常类型`,"min-width":`120`}),_(C,{prop:`description`,label:`描述`,"min-width":`200`,"show-overflow-tooltip":``}),_(C,{prop:`action_taken`,label:`处理措施`,"min-width":`150`,"show-overflow-tooltip":``}),_(C,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[_(k,{type:t.status===`resolved`?`success`:`danger`,size:`small`},{default:e(()=>[s(o(W[t.status]||`-`),1)]),_:2},1032,[`type`])]),_:1}),_(C,{prop:`created_at`,label:`记录时间`,"min-width":`160`}),_(C,{label:`操作`,width:`200`,fixed:`right`,align:`center`},{default:e(({row:t})=>[_(S,{size:`small`,type:`primary`,text:``,onClick:e=>ie(t)},{default:e(()=>[...p[20]||=[s(`详情`,-1)]]),_:1},8,[`onClick`]),t.status===`open`?(n(),l(S,{key:0,size:`small`,type:`primary`,text:``,onClick:e=>re(t)},{default:e(()=>[...p[21]||=[s(`编辑`,-1)]]),_:1},8,[`onClick`])):d(``,!0),t.status===`open`?(n(),l(S,{key:1,size:`small`,type:`success`,text:``,onClick:e=>ae(t)},{default:e(()=>[...p[22]||=[s(`标记解决`,-1)]]),_:1},8,[`onClick`])):d(``,!0)]),_:1})]),_:1},8,[`data`])),[[fe,M.value]])]),g(`div`,ee,[_(J,{"current-page":z.page,"onUpdate:currentPage":p[4]||=e=>z.page=e,"page-size":z.per_page,"onUpdate:pageSize":p[5]||=e=>z.per_page=e,total:j.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:se,onSizeChange:ce},null,8,[`current-page`,`page-size`,`total`])])]),_(Q,{modelValue:N.value,"onUpdate:modelValue":p[13]||=e=>N.value=e,title:H.value?`编辑异常`:`新建异常`,width:`560px`,"destroy-on-close":``},{footer:e(()=>[_(S,{onClick:p[12]||=e=>N.value=!1},{default:e(()=>[...p[23]||=[s(`取消`,-1)]]),_:1}),_(S,{type:`primary`,loading:F.value,onClick:oe},{default:e(()=>[...p[24]||=[s(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[_(ue,{ref_key:`formRef`,ref:B,model:V,rules:q,"label-width":`90px`},{default:e(()=>[_(Y,{label:`客户`,prop:`customer_id`},{default:e(()=>[_(y,{modelValue:V.customer_id,"onUpdate:modelValue":p[6]||=e=>V.customer_id=e,filterable:``,style:{width:`100%`},placeholder:`请选择客户`},{default:e(()=>[(n(!0),m(f,null,v(I.value,e=>(n(),l(h,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),_(Y,{label:`严重程度`,prop:`level`},{default:e(()=>[_(y,{modelValue:V.level,"onUpdate:modelValue":p[7]||=e=>V.level=e,style:{width:`100%`}},{default:e(()=>[(n(),m(f,null,v(U,(e,t)=>_(h,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),_(Y,{label:`异常类型`,prop:`exception_type`},{default:e(()=>[_(Z,{modelValue:V.exception_type,"onUpdate:modelValue":p[8]||=e=>V.exception_type=e,placeholder:`如:体温异常、血压偏高等`},null,8,[`modelValue`])]),_:1}),_(Y,{label:`护理记录ID`},{default:e(()=>[_(Z,{modelValue:V.care_record_id,"onUpdate:modelValue":p[9]||=e=>V.care_record_id=e,placeholder:`关联护理记录(可选)`},null,8,[`modelValue`])]),_:1}),_(Y,{label:`异常描述`,prop:`description`},{default:e(()=>[_(Z,{modelValue:V.description,"onUpdate:modelValue":p[10]||=e=>V.description=e,type:`textarea`,rows:3,placeholder:`详细描述异常情况`},null,8,[`modelValue`])]),_:1}),_(Y,{label:`处理措施`},{default:e(()=>[_(Z,{modelValue:V.action_taken,"onUpdate:modelValue":p[11]||=e=>V.action_taken=e,type:`textarea`,rows:2,placeholder:`已采取的处理措施`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),_(Q,{modelValue:P.value,"onUpdate:modelValue":p[15]||=e=>P.value=e,title:`异常详情`,width:`500px`},{footer:e(()=>[_(S,{onClick:p[14]||=e=>P.value=!1},{default:e(()=>[...p[25]||=[s(`关闭`,-1)]]),_:1})]),default:e(()=>[L.value?(n(),l(de,{key:0,column:2,border:``},{default:e(()=>[_($,{label:`客户`},{default:e(()=>[s(o(L.value.customer_name||`-`),1)]),_:1}),_($,{label:`严重程度`},{default:e(()=>[g(`span`,{class:a([`text-xs font-medium px-2 py-0.5 rounded border`,G[L.value.level]])},o(U[L.value.level]||`-`),3)]),_:1}),_($,{label:`异常类型`},{default:e(()=>[s(o(L.value.exception_type||`-`),1)]),_:1}),_($,{label:`状态`},{default:e(()=>[_(k,{type:L.value.status===`resolved`?`success`:`danger`,size:`small`},{default:e(()=>[s(o(W[L.value.status]||`-`),1)]),_:1},8,[`type`])]),_:1}),_($,{label:`异常描述`,span:2},{default:e(()=>[s(o(L.value.description||`-`),1)]),_:1}),_($,{label:`处理措施`,span:2},{default:e(()=>[s(o(L.value.action_taken||`-`),1)]),_:1}),_($,{label:`记录时间`},{default:e(()=>[s(o(L.value.created_at||`-`),1)]),_:1}),_($,{label:`解决时间`},{default:e(()=>[s(o(L.value.resolved_at||`-`),1)]),_:1})]),_:1})):d(``,!0)]),_:1},8,[`modelValue`])])}}};export{k as default}; |