index-675d2700.js 4.3 KB

1
  1. var g=(S,h,r)=>new Promise((d,x)=>{var c=o=>{try{f(r.next(o))}catch(_){x(_)}},v=o=>{try{f(r.throw(o))}catch(_){x(_)}},f=o=>o.done?d(o.value):Promise.resolve(o.value).then(c,v);f((r=r.apply(S,h)).next())});import{_ as O}from"./componentMap-8020b34e.js";import{u as j}from"./useForm-64bbd444.js";import"./FormItem.vue_vue_type_script_lang-aa52e9e4.js";import{P as L}from"./ImportModal.vue_vue_type_style_index_0_scoped_a59c69fa_lang-367be871.js";import"./index-c733fbf6.js";import{l as Z}from"./index-fe06ec6c.js";import{aj as k,m as q,_ as A}from"./index.js";import{g as R}from"./suppliesStatsApi-9f2069c1.js";import{u as V,_ as M}from"./useTable-e37b46e3.js";import G from"./pie-3a6e0ef6.js";import{B as J,a5 as w,a6 as B}from"./antd-f204cf77.js";import{d as K,f as m,o as Q,Y as p,Z as u,_ as T,l as a,u as e,a7 as i,$ as C,a9 as y,F as b,E as F}from"./vue-b33f04cb.js";import"./index-2f799b33.js";import"./index-2f695166.js";import"./useFormItem-1a9613e7.js";import"./uuid-31b8b5a4.js";import"./useSortable-764357db.js";import"./download-7fff4f5c.js";import"./copyTextToClipboard-2136d900.js";import"./TextEditor-6383dadf.js";import"./onMountedOrActivated-3a1cee4e.js";import"./useWindowSizeFn-e2b93e2a.js";import"./useForm-b1e549d3.js";import"./componentMap-5ed4f2d1.js";import"./sortable.esm-4ae27e0b.js";import"./useECharts-b910d988.js";const U=[{title:"药品类型",dataIndex:"type",align:"left"},{title:"数量",dataIndex:"sum",align:"left"},{title:"占比",dataIndex:"proportion",align:"left"}],W=[{title:"药品名称",dataIndex:"type",align:"left"},{title:"数量",dataIndex:"sum",align:"left"},{title:"占比",dataIndex:"proportion",align:"left"}],X=[{field:"patrolTime",component:"RangePicker",componentProps:{format:"YYYY-MM-DD",valueFormat:"YYYY-MM-DD"}}],tt={class:"flex items-center xt-form"},et={class:"flex"},at={class:"mb-4"},ot={key:0},st=["onClick"],lt=K({__name:"index",setup(S){const h=m("药品用量统计"),r=m({}),d=m([]),x=m([]),c=m([]),v=m(""),[f,{getFieldsValue:o}]=j({schemas:X,autoSubmitOnEnter:!0,size:"large",rowProps:{gutter:16}}),[_,{setTableData:E}]=V({showIndexColumn:!1,bordered:!0,striped:!1,pagination:!1,maxHeight:400,showSummary:!0,summaryFunc:H,dataSource:d.value,columns:U}),[N,{setTableData:I}]=V({showIndexColumn:!1,bordered:!0,striped:!1,pagination:!1,maxHeight:400,dataSource:x.value,columns:W}),D=m();Q(()=>g(this,null,function*(){D.value=yield Z({dictCode:"pht"}),Y()}));function $(){return g(this,null,function*(){c.value=o().patrolTime||[],Y()})}function Y(){return g(this,null,function*(){const n={statsTime:c.value},s=yield R(n);d.value=s.data,yield E(s.data);const t={content:[],description:h.value};s.data.forEach(l=>{t.content.push({name:k(D.value,l.type,"label"),value:l.sum})}),r.value=t,P(d.value[0])})}function z(){}function P(n){return g(this,null,function*(){if(n){const s={statsTime:c.value,drugType:n.type},t=yield R(s);v.value=k(D.value,n.type,"label"),yield I(t.data)}else yield I([])})}function H(n){let s=0,t=0;return n.forEach(l=>{s+=l.sum,t+=parseFloat(parseFloat(l.proportion.split("%")[0]).toFixed(2))}),[{type:"合计",sum:s,proportion:t+"%"}]}return(n,s)=>(p(),u(b,null,[T("div",tt,[T("div",et,[a(e(O),{onRegister:e(f),onFieldValueChange:$,style:{width:"240px"},class:"mr-2"},null,8,["onRegister"])]),a(e(J),{type:"default",onClick:z,style:{height:"38px","margin-top":"-8px"}},{default:i(()=>[a(q,{icon:"icon-xt-download-download_default|iconfont",size:14})]),_:1})]),T("div",at,[a(e(L),{title:h.value},null,8,["title"])]),a(e(B),{style:{"max-height":"400px"}},{default:i(()=>[a(e(w),{span:16},{default:i(()=>[a(G,{data:r.value},null,8,["data"])]),_:1}),a(e(w),{span:8},{default:i(()=>[a(e(M),{onRegister:e(_)},{bodyCell:i(({column:t,record:l})=>[t.key==="type"?(p(),u("span",ot,C(e(k)(D.value,l.type,"label")),1)):y("",!0),t.key==="sum"?(p(),u("a",{key:1,onClick:nt=>P(l)},C(l.sum),9,st)):y("",!0)]),_:1},8,["onRegister"])]),_:1})]),_:1}),a(e(B),{style:{"max-height":"200px"}},{default:i(()=>[a(e(w),{span:24},{default:i(()=>[a(e(M),{onRegister:e(N)},{headerCell:i(({column:t})=>[t.key==="type"?(p(),u(b,{key:0},[F(C(v.value),1)],64)):y("",!0),t.key==="sum"?(p(),u(b,{key:1},[F(" 数量 ")],64)):y("",!0),t.key==="proportion"?(p(),u(b,{key:2},[F(" 占比 ")],64)):y("",!0)]),_:1},8,["onRegister"])]),_:1})]),_:1})],64))}});const Mt=A(lt,[["__scopeId","data-v-ee3f822d"]]);export{Mt as default};