You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
QHD_ZhongYiYuan_YiJiYuYue/Laravel/public/admin/assets/DeviceCheckItemBind-bbca051...

2 lines
5.1 KiB
JavaScript

import{_ as ee,Z as te,o as ae,r as h,c as le,d as r,e as _,h as U,i as l,k as i,F as G,t as ne,x as E,v as S,f as n,w as c,j,l as V,g as s,ap as ie,E as m,aL as se,$ as oe,q as C,aM as de,aN as ue,N as ce,aO as re}from"./index-ec8e3d2a.js";const ve={class:"page-container"},pe={class:"left-panel"},_e={class:"device-list"},me=["onClick"],ge={class:"device-name"},fe={class:"device-count"},he={key:0,class:"empty-tip"},be={class:"right-panel"},ye={class:"panel-header"},ke={class:"panel-title"},xe={key:0,class:"right-content"},Be={style:{"margin-bottom":"12px"}},Ce={key:0,class:"empty-tip",style:{"margin-top":"20px"}},we={style:{display:"flex",gap:"12px","margin-bottom":"12px"}},De={style:{display:"flex","justify-content":"space-between","align-items":"center","margin-top":"12px"}},Ie={style:{color:"#909399","font-size":"13px"}},ze={__name:"DeviceCheckItemBind",setup(Se){let w=s(!1),b=s([]),d=s(null),L=s([]),y=s(!1),k=s(!1),p=s(""),g=s([]),D=s(!1),T=null,o=s(1),x=s(10),B=s(0),I=s(null);const R=te(()=>g.value),$=()=>{w.value=!0,ie().then(t=>{w.value=!1,t.status?(b.value=t.data,b.value.length>0&&F(b.value[0])):m.error(t.msg)}).catch(()=>{w.value=!1})},F=t=>{d.value=t,N(t.id)},N=t=>{y.value=!0,se({device_id:t}).then(e=>{y.value=!1,e.status?L.value=e.data:m.error(e.msg)}).catch(()=>{y.value=!1})},f=()=>{D.value=!0,de({device_id:d.value.id,keyword:p.value,page:o.value,pageSize:x.value}).then(t=>{D.value=!1,t.status?(g.value=t.data.list||[],B.value=t.data.count||0):m.error(t.msg)}).catch(()=>{D.value=!1})},q=()=>{k.value=!0,p.value="",o.value=1,f()},K=()=>{T&&clearTimeout(T),T=setTimeout(()=>{o.value=1,f()},300)},O=()=>{o.value=1,f()},Z=()=>{f()},A=t=>{o.value=t,f()},H=t=>{I.value=t.id,ue({item_id:t.id,device_id:d.value.id}).then(e=>{if(I.value=null,e.status){m.success(`已绑定 ${t.item_name}`);const v=g.value.findIndex(u=>u.id===t.id);v!==-1&&g.value.splice(v,1),B.value--,g.value.length===0&&o.value>1&&(o.value--,f()),N(d.value.id)}else m.error(e.msg)}).catch(()=>{I.value=null})},J=()=>{p.value="",g.value=[],B.value=0,o.value=1},Q=t=>{ce.confirm(`确定解绑 ${t.item_name} 吗?`,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{re({item_id:t.id,device_id:d.value.id}).then(e=>{e.status?(m.success("解绑成功"),N(d.value.id)):m.error(e.msg)})}).catch(()=>{})};return ae(()=>{$()}),(t,e)=>{const v=h("el-button"),u=h("el-table-column"),M=h("el-table"),W=h("el-input"),X=h("el-pagination"),Y=h("el-dialog"),P=le("loading");return r(),_(G,null,[U((r(),_("div",null,[i("div",ve,[i("div",pe,[e[4]||(e[4]=i("div",{class:"panel-header"},[i("span",{class:"panel-title"},"排班")],-1)),i("div",_e,[(r(!0),_(G,null,ne(l(b),a=>{var z;return r(),_("div",{key:a.id,class:oe(["device-item",{active:((z=l(d))==null?void 0:z.id)===a.id}]),onClick:Ve=>F(a)},[i("div",ge,S(a.device_name),1),i("div",fe,"已绑定 "+S(a.bind_count||0)+" 项",1)],10,me)}),128)),l(b).length===0?(r(),_("div",he," 暂无服务组 ")):E("",!0)])]),i("div",be,[i("div",ye,[i("span",ke,S(l(d)?l(d).device_name+" - 已绑定的检查项目":"请选择一个排班"),1)]),l(d)?(r(),_("div",xe,[i("div",Be,[n(v,{type:"primary",onClick:q},{default:c(()=>[...e[5]||(e[5]=[C("添加绑定",-1)])]),_:1})]),U((r(),j(M,{data:l(L),style:{width:"100%"},"row-key":"id"},{default:c(()=>[n(u,{prop:"item_code",label:"项目编号",width:"160"}),n(u,{prop:"item_name",label:"检查项目名称"}),n(u,{prop:"item_class_name",label:"医嘱类别"}),n(u,{prop:"",label:"操作",width:"100"},{default:c(a=>[n(v,{type:"danger",size:"small",onClick:z=>Q(a.row)},{default:c(()=>[...e[6]||(e[6]=[C("解绑",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[P,l(y)]]),l(L).length===0&&!l(y)?(r(),_("div",Ce," 暂无绑定的检查项目 ")):E("",!0)])):E("",!0)])])])),[[P,l(w)]]),n(Y,{modelValue:l(k),"onUpdate:modelValue":e[3]||(e[3]=a=>V(k)?k.value=a:k=a),title:"添加检查项目绑定",width:"60%",onClosed:J},{default:c(()=>[i("div",null,[i("div",we,[n(W,{modelValue:l(p),"onUpdate:modelValue":e[0]||(e[0]=a=>V(p)?p.value=a:p=a),placeholder:"输入项目编号/名称搜索",clearable:"",style:{flex:"1"},onInput:K},null,8,["modelValue"]),n(v,{type:"primary",onClick:O},{default:c(()=>[...e[7]||(e[7]=[C("搜索",-1)])]),_:1}),n(v,{onClick:Z},{default:c(()=>[...e[8]||(e[8]=[C("刷新",-1)])]),_:1})]),U((r(),j(M,{data:R.value,style:{width:"100%"},"row-key":"id"},{default:c(()=>[n(u,{prop:"item_code",label:"项目编号",width:"160"}),n(u,{prop:"item_name",label:"检查项目名称"}),n(u,{prop:"item_class_name",label:"医嘱类别"}),n(u,{prop:"",label:"操作",width:"100"},{default:c(a=>[n(v,{type:"primary",size:"small",onClick:z=>H(a.row),loading:l(I)===a.row.id},{default:c(()=>[...e[9]||(e[9]=[C("添加",-1)])]),_:1},8,["onClick","loading"])]),_:1})]),_:1},8,["data"])),[[P,l(D)]]),i("div",De,[i("span",Ie,"共 "+S(l(B))+" 条",1),n(X,{"current-page":l(o),"onUpdate:currentPage":e[1]||(e[1]=a=>V(o)?o.value=a:o=a),"page-size":l(x),"onUpdate:pageSize":e[2]||(e[2]=a=>V(x)?x.value=a:x=a),"page-sizes":[10],layout:"prev, pager, next",total:l(B),onCurrentChange:A},null,8,["current-page","page-size","total"])])])]),_:1},8,["modelValue"])],64)}}},Te=ee(ze,[["__scopeId","data-v-bd956dc7"]]);export{Te as default};