Files
yuezi-saas/frontend/dist/assets/templates-1qMDe9-D.js
T

1 line
6.1 KiB
JavaScript

import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,_t as s,d as c,et as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as _,s as v}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{t as y}from"./iconify-f5JHLb1p.js";import{i as b}from"./meal-CL1Cz_RN.js";var x={class:`p-6 space-y-4`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},w={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},T={class:`px-2`},E={class:`px-5 py-3 border-t border-gray-50`},D={__name:`index`,setup(D){let O=d([]),k=d(0),A=d(!1),j=d(!1),M=d(!1),N=p({name:``}),P=p({page:1,per_page:20}),F=d(null),I=p({id:null,name:``,description:``,week_num:1,status:1}),L=d(!1),R=Array.from({length:6},(e,t)=>({label:`第 ${t+1} 周`,value:t+1})),z={1:`启用`,0:`停用`},B={name:[{required:!0,message:`请输入模板名称`,trigger:`blur`}],week_num:[{required:!0,message:`请选择适用周数`,trigger:`change`}]};async function V(){A.value=!0;try{let e=await b.getList({...N,...P});O.value=e.data?.list||e.data?.data||[],k.value=e.data?.total||0}catch{v.error(`加载失败`)}finally{A.value=!1}}function H(){P.page=1,V()}function U(){Object.assign(N,{name:``}),H()}function W(){L.value=!1,Object.assign(I,{id:null,name:``,description:``,week_num:1,status:1}),j.value=!0}async function G(e){L.value=!0;try{let t=await b.getDetail(e.id),n=t.data?.data||t.data||e;Object.assign(I,{id:n.id,name:n.name,description:n.description||``,week_num:n.week_num,status:n.status??1})}catch{Object.assign(I,{id:e.id,name:e.name,description:e.description||``,week_num:e.week_num,status:e.status??1})}j.value=!0}async function K(e){await _.confirm(`确定删除模板「${e.name}」吗?`,`删除确认`,{type:`warning`});try{await b.delete(e.id),v.success(`删除成功`),V()}catch{v.error(`删除失败`)}}async function q(){F.value&&await F.value.validate(async e=>{if(e){M.value=!0;try{L.value?await b.update(I.id,I):await b.create(I),v.success(L.value?`更新成功`:`创建成功`),j.value=!1,V()}catch{v.error(`操作失败`)}finally{M.value=!1}}})}function J(e){P.page=e,V()}function Y(e){P.per_page=e,P.page=1,V()}return r(()=>V()),(r,d)=>{let p=i(`el-input`),_=i(`el-button`),v=i(`el-table-column`),b=i(`el-tag`),D=i(`el-table`),V=i(`el-pagination`),X=i(`el-form-item`),Z=i(`el-option`),Q=i(`el-select`),$=i(`el-radio`),ee=i(`el-radio-group`),te=i(`el-form`),ne=i(`el-dialog`),re=t(`loading`);return n(),f(`div`,x,[m(`div`,S,[h(p,{modelValue:N.name,"onUpdate:modelValue":d[0]||=e=>N.name=e,placeholder:`模板名称`,clearable:``,style:{width:`200px`}},null,8,[`modelValue`]),h(_,{type:`primary`,onClick:H},{default:e(()=>[h(s(y),{icon:`solar:magnifer-bold-duotone`,class:`mr-1`}),d[9]||=o(`查询 `,-1)]),_:1}),h(_,{onClick:U},{default:e(()=>[...d[10]||=[o(`重置`,-1)]]),_:1})]),m(`div`,C,[m(`div`,w,[d[12]||=m(`div`,{class:`flex items-center gap-2`},[m(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),m(`span`,{class:`font-semibold text-gray-700`},`排餐模板管理`)],-1),h(_,{type:`primary`,onClick:W},{default:e(()=>[h(s(y),{icon:`solar:add-circle-bold-duotone`,class:`mr-1`}),d[11]||=o(`新建模板 `,-1)]),_:1})]),m(`div`,T,[l((n(),c(D,{data:O.value,style:{width:`100%`}},{default:e(()=>[h(v,{prop:`name`,label:`模板名称`,"min-width":`160`}),h(v,{label:`适用周数`,width:`100`,align:`center`},{default:e(({row:e})=>[o(`第 `+a(e.week_num)+` 周`,1)]),_:1}),h(v,{prop:`description`,label:`描述`,"min-width":`200`,"show-overflow-tooltip":``}),h(v,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[h(b,{type:t.status===1?`success`:`info`,size:`small`},{default:e(()=>[o(a(z[t.status]),1)]),_:2},1032,[`type`])]),_:1}),h(v,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),h(v,{label:`操作`,width:`140`,fixed:`right`,align:`center`},{default:e(({row:t})=>[h(_,{size:`small`,type:`primary`,text:``,onClick:e=>G(t)},{default:e(()=>[...d[13]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),h(_,{size:`small`,type:`danger`,text:``,onClick:e=>K(t)},{default:e(()=>[...d[14]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[re,A.value]])]),m(`div`,E,[h(V,{"current-page":P.page,"onUpdate:currentPage":d[1]||=e=>P.page=e,"page-size":P.per_page,"onUpdate:pageSize":d[2]||=e=>P.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`])])]),h(ne,{modelValue:j.value,"onUpdate:modelValue":d[8]||=e=>j.value=e,title:L.value?`编辑模板`:`新建排餐模板`,width:`520px`,"destroy-on-close":``},{footer:e(()=>[h(_,{onClick:d[7]||=e=>j.value=!1},{default:e(()=>[...d[17]||=[o(`取消`,-1)]]),_:1}),h(_,{type:`primary`,loading:M.value,onClick:q},{default:e(()=>[...d[18]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h(te,{ref_key:`formRef`,ref:F,model:I,rules:B,"label-width":`90px`},{default:e(()=>[h(X,{label:`模板名称`,prop:`name`},{default:e(()=>[h(p,{modelValue:I.name,"onUpdate:modelValue":d[3]||=e=>I.name=e,placeholder:`如:产后第1周营养餐模板`},null,8,[`modelValue`])]),_:1}),h(X,{label:`适用周数`,prop:`week_num`},{default:e(()=>[h(Q,{modelValue:I.week_num,"onUpdate:modelValue":d[4]||=e=>I.week_num=e,style:{width:`100%`}},{default:e(()=>[(n(!0),f(u,null,g(s(R),e=>(n(),c(Z,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),h(X,{label:`状态`},{default:e(()=>[h(ee,{modelValue:I.status,"onUpdate:modelValue":d[5]||=e=>I.status=e},{default:e(()=>[h($,{label:1},{default:e(()=>[...d[15]||=[o(`启用`,-1)]]),_:1}),h($,{label:0},{default:e(()=>[...d[16]||=[o(`停用`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1}),h(X,{label:`模板描述`},{default:e(()=>[h(p,{modelValue:I.description,"onUpdate:modelValue":d[6]||=e=>I.description=e,type:`textarea`,rows:3,placeholder:`简要说明此模板的膳食方向和特点`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{D as default};