2 lines
9.7 KiB
JavaScript
2 lines
9.7 KiB
JavaScript
import{O as B,d as W,r as Y,a as L,o as ee,g as r,B as te,c as k,k as V,e as t,C as ae,w as n,b as g,t as p,l as f,D as le,f as oe,J as E,L as ne,s as ie,z as S,X as se,F as T,x as A,H as re,I as de,G as ue,Z as me,E as b,_ as pe}from"./index-DOLqYH-e.js";function fe(u){return B({url:"/admin/businessPage/getList",method:"get",params:u})}function ge(u){return B({url:"/admin/businessPage/create",method:"post",data:u})}function ce(u){return B({url:"/admin/businessPage/update",method:"post",data:u})}function _e(u){return B({url:"/admin/businessPage/delete",method:"post",data:{id:u}})}function be(u){return B({url:"/admin/businessPage/updateStatus",method:"post",data:u})}const he={class:"business-page-container"},Ve={class:"header-content"},Be={class:"header-right"},ye={class:"image-error"},ve={style:{"font-size":"12px",color:"#999","margin-top":"4px"}},xe={class:"pagination-wrapper"},De=W({__name:"index",setup(u){const y=Y(),i=L({page:1,pageSize:10,title:"",status:void 0}),a=L({loading:!1,tableData:[],total:0,dialogVisible:!1,dialogTitle:"新增介绍页",formData:x(),formLoading:!1,isEdit:!1}),P={title:[{required:!0,message:"请输入标题",trigger:"blur"}],imageUrl:[{required:!0,message:"请上传介绍图片",trigger:"change"}],status:[{required:!0,message:"请选择状态",trigger:"change"}]};function x(){return{title:"",imageUrl:"",hasActionButton:!1,actionButtonText:"",actionButtonLink:"",sort:0,status:"1"}}async function c(){var l,e;a.loading=!0;try{const s={page:i.page,pageSize:i.pageSize};i.title&&(s.title=i.title),i.status!==void 0&&i.status!==""&&(s.status=Number(i.status));const d=await fe(s);if(d.code===0)a.tableData=((l=d.data)==null?void 0:l.list)||[],a.total=((e=d.data)==null?void 0:e.total)||0;else throw new Error(d.message||"获取列表失败")}catch(s){b.error(s instanceof Error?s.message:"获取列表失败")}finally{a.loading=!1}}function U(){i.page=1,c()}function q(){i.title="",i.status=void 0,i.page=1,c()}function N(l){i.pageSize=l,i.page=1,c()}function F(l){i.page=l,c()}function R(){a.isEdit=!1,a.dialogTitle="新增介绍页",a.formData=x(),a.dialogVisible=!0}function $(l){a.isEdit=!0,a.dialogTitle="编辑介绍页",a.formData={id:l.id,title:l.title||"",imageUrl:l.imageUrl,hasActionButton:l.hasActionButton,actionButtonText:l.actionButtonText||"",actionButtonLink:l.actionButtonLink||"",sort:l.sort,status:String(l.status)},a.dialogVisible=!0}async function I(l,e){l._statusLoading=!0;try{const s=await be({id:l.id,status:e});if(s.code===0)b.success(e===1?"已启用":"已禁用");else throw l.status=e===1?0:1,new Error(s.message||"状态更新失败")}catch(s){b.error(s instanceof Error?s.message:"状态更新失败")}finally{l._statusLoading=!1}}async function j(l){try{const e=await _e(l.id);if(e.code===0)b.success("删除成功"),a.tableData.length===1&&i.page>1&&i.page--,await c();else throw new Error(e.message||"删除失败")}catch(e){b.error(e instanceof Error?e.message:"删除失败")}}async function K(){if(y.value){try{await y.value.validate()}catch{return}a.formLoading=!0;try{const l=a.formData,e={title:l.title,imageUrl:l.imageUrl,hasActionButton:l.hasActionButton,actionButtonText:l.hasActionButton?l.actionButtonText:void 0,actionButtonLink:l.hasActionButton?l.actionButtonLink:void 0,sort:l.sort,status:Number(l.status)};let s;if(a.isEdit&&l.id?s=await ce({...e,id:l.id}):s=await ge(e),s.code===0)b.success(a.isEdit?"更新成功":"创建成功"),a.dialogVisible=!1,await c();else throw new Error(s.message||(a.isEdit?"更新失败":"创建失败"))}catch(l){b.error(l instanceof Error?l.message:"操作失败")}finally{a.formLoading=!1}}}function M(){var l;(l=y.value)==null||l.resetFields(),a.formData=x()}return ee(()=>{c()}),(l,e)=>{const s=r("el-icon"),d=r("el-button"),D=r("el-card"),v=r("el-input"),m=r("el-form-item"),C=r("el-form"),G=r("el-image"),_=r("el-table-column"),w=r("el-tag"),z=r("el-switch"),H=r("el-popconfirm"),J=r("el-table"),O=r("el-pagination"),X=r("el-input-number"),Z=r("el-dialog"),Q=te("loading");return V(),k("div",he,[t(D,{class:"page-header"},{default:n(()=>[g("div",Ve,[e[14]||(e[14]=g("div",{class:"header-left"},[g("h2",{class:"page-title"},"业务介绍页管理"),g("span",{class:"page-description"},"管理小程序业务详情页内容,支持配置长图和操作按钮")],-1)),g("div",Be,[t(d,{type:"primary",onClick:R},{default:n(()=>[t(s,null,{default:n(()=>[t(f(le))]),_:1}),e[13]||(e[13]=p(" 新增介绍页 ",-1))]),_:1})])])]),_:1}),t(D,{class:"search-card"},{default:n(()=>[t(C,{model:i,inline:""},{default:n(()=>[t(m,{label:"标题"},{default:n(()=>[t(v,{modelValue:i.title,"onUpdate:modelValue":e[0]||(e[0]=o=>i.title=o),placeholder:"请输入标题",clearable:"",onKeyup:oe(U,["enter"])},null,8,["modelValue"])]),_:1}),t(m,{label:"状态"},{default:n(()=>[t(f(E),{modelValue:i.status,"onUpdate:modelValue":e[1]||(e[1]=o=>i.status=o),type:"common_status",placeholder:"请选择状态",clearable:""},null,8,["modelValue"])]),_:1}),t(m,null,{default:n(()=>[t(d,{type:"primary",onClick:U},{default:n(()=>[t(s,null,{default:n(()=>[t(f(ne))]),_:1}),e[15]||(e[15]=p("搜索 ",-1))]),_:1}),t(d,{onClick:q},{default:n(()=>[t(s,null,{default:n(()=>[t(f(ie))]),_:1}),e[16]||(e[16]=p("重置 ",-1))]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),ae((V(),S(D,{class:"table-card"},{default:n(()=>[t(J,{data:a.tableData,"row-key":"id",stripe:""},{default:n(()=>[t(_,{label:"图片",width:"120",align:"center"},{default:n(({row:o})=>[t(G,{src:o.imageUrl,"preview-src-list":[o.imageUrl],fit:"cover",style:{width:"80px",height:"60px","border-radius":"4px"},"preview-teleported":""},{error:n(()=>[g("div",ye,[t(s,null,{default:n(()=>[t(f(se))]),_:1})])]),_:1},8,["src","preview-src-list"])]),_:1}),t(_,{prop:"title",label:"标题","min-width":"150","show-overflow-tooltip":""}),t(_,{label:"操作按钮",width:"200",align:"center"},{default:n(({row:o})=>[o.hasActionButton?(V(),k(T,{key:0},[t(w,{type:"success",size:"small"},{default:n(()=>[p(A(o.actionButtonText||"按钮"),1)]),_:2},1024),g("div",ve,A(o.actionButtonLink),1)],64)):(V(),S(w,{key:1,type:"info",size:"small"},{default:n(()=>[...e[17]||(e[17]=[p("无按钮",-1)])]),_:1}))]),_:1}),t(_,{label:"状态",width:"100",align:"center"},{default:n(({row:o})=>[t(z,{modelValue:o.status,"onUpdate:modelValue":h=>o.status=h,"active-value":1,"inactive-value":0,loading:o._statusLoading,onChange:h=>I(o,h)},null,8,["modelValue","onUpdate:modelValue","loading","onChange"])]),_:1}),t(_,{prop:"sort",label:"排序",width:"80",align:"center"}),t(_,{prop:"createTime",label:"创建时间",width:"180",align:"center"}),t(_,{label:"操作",width:"150",fixed:"right",align:"center"},{default:n(({row:o})=>[t(d,{type:"primary",link:"",size:"small",onClick:h=>$(o)},{default:n(()=>[t(s,null,{default:n(()=>[t(f(re))]),_:1}),e[18]||(e[18]=p("编辑 ",-1))]),_:1},8,["onClick"]),t(H,{title:"确定要删除这条业务介绍页吗?","confirm-button-text":"确定","cancel-button-text":"取消",onConfirm:h=>j(o)},{reference:n(()=>[t(d,{type:"danger",link:"",size:"small"},{default:n(()=>[t(s,null,{default:n(()=>[t(f(de))]),_:1}),e[19]||(e[19]=p("删除 ",-1))]),_:1})]),_:1},8,["onConfirm"])]),_:1})]),_:1},8,["data"]),g("div",xe,[t(O,{"current-page":i.page,"onUpdate:currentPage":e[2]||(e[2]=o=>i.page=o),"page-size":i.pageSize,"onUpdate:pageSize":e[3]||(e[3]=o=>i.pageSize=o),"page-sizes":[10,20,50,100],total:a.total,layout:"total, sizes, prev, pager, next, jumper",onSizeChange:N,onCurrentChange:F},null,8,["current-page","page-size","total"])])]),_:1})),[[Q,a.loading]]),t(Z,{modelValue:a.dialogVisible,"onUpdate:modelValue":e[12]||(e[12]=o=>a.dialogVisible=o),title:a.dialogTitle,width:"600px","close-on-click-modal":!1,onClosed:M},{footer:n(()=>[t(d,{onClick:e[11]||(e[11]=o=>a.dialogVisible=!1)},{default:n(()=>[...e[20]||(e[20]=[p("取消",-1)])]),_:1}),t(d,{type:"primary",loading:a.formLoading,onClick:K},{default:n(()=>[...e[21]||(e[21]=[p("确定",-1)])]),_:1},8,["loading"])]),default:n(()=>[t(C,{ref_key:"formRef",ref:y,model:a.formData,rules:P,"label-width":"110px","label-position":"right"},{default:n(()=>[t(m,{label:"标题",prop:"title"},{default:n(()=>[t(v,{modelValue:a.formData.title,"onUpdate:modelValue":e[4]||(e[4]=o=>a.formData.title=o),placeholder:"请输入标题",maxlength:"100","show-word-limit":""},null,8,["modelValue"])]),_:1}),t(m,{label:"介绍图片",prop:"imageUrl",required:""},{default:n(()=>[t(f(me),{modelValue:a.formData.imageUrl,"onUpdate:modelValue":e[5]||(e[5]=o=>a.formData.imageUrl=o),placeholder:"点击上传介绍长图",tip:"建议宽度750px,支持 jpg、png 格式","max-size":10},null,8,["modelValue"])]),_:1}),t(m,{label:"操作按钮",prop:"hasActionButton"},{default:n(()=>[t(z,{modelValue:a.formData.hasActionButton,"onUpdate:modelValue":e[6]||(e[6]=o=>a.formData.hasActionButton=o)},null,8,["modelValue"])]),_:1}),a.formData.hasActionButton?(V(),k(T,{key:0},[t(m,{label:"按钮文字",prop:"actionButtonText"},{default:n(()=>[t(v,{modelValue:a.formData.actionButtonText,"onUpdate:modelValue":e[7]||(e[7]=o=>a.formData.actionButtonText=o),placeholder:"如:立即参与",maxlength:"50"},null,8,["modelValue"])]),_:1}),t(m,{label:"按钮链接",prop:"actionButtonLink"},{default:n(()=>[t(v,{modelValue:a.formData.actionButtonLink,"onUpdate:modelValue":e[8]||(e[8]=o=>a.formData.actionButtonLink=o),placeholder:"如:/pages/assessment/info/index",maxlength:"500"},null,8,["modelValue"])]),_:1})],64)):ue("",!0),t(m,{label:"排序",prop:"sort"},{default:n(()=>[t(X,{modelValue:a.formData.sort,"onUpdate:modelValue":e[9]||(e[9]=o=>a.formData.sort=o),min:0,max:9999},null,8,["modelValue"])]),_:1}),t(m,{label:"状态",prop:"status",required:""},{default:n(()=>[t(f(E),{modelValue:a.formData.status,"onUpdate:modelValue":e[10]||(e[10]=o=>a.formData.status=o),type:"common_status",placeholder:"请选择状态"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),Ue=pe(De,[["__scopeId","data-v-fbd7ee84"]]);export{Ue as default};
|