mi-assessment/server/MiAssessment/src/MiAssessment.Admin/wwwroot/assets/index-Cz4NR4-7.js
2026-03-19 07:13:46 +08:00

2 lines
9.2 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import{d as W,r as U,a as x,o as Y,g as d,B as ee,c as te,k as E,e as t,C as ae,w as i,b as c,t as m,l as u,D as oe,f as le,J as V,L as ie,s as ne,z as se,X as re,x as S,H as de,I as ue,Z as pe,E as _,_ as me}from"./index-vsZvN9E4.js";import{k as fe,l as ge,m as ce,n as _e,o as be}from"./content-bT7NID6L.js";const he={class:"promotion-container"},Ve={class:"header-content"},ye={class:"header-right"},ve={class:"image-error"},De={class:"pagination-wrapper"},we=W({__name:"index",setup(Ce){const k=U(),h=U(),n=x({page:1,pageSize:10,title:"",position:void 0,status:void 0}),o=x({loading:!1,tableData:[],total:0,dialogVisible:!1,dialogTitle:"新增宣传图",formData:y(),formLoading:!1,isEdit:!1}),z={imageUrl:[{required:!0,message:"请上传宣传图片",trigger:"change"}],position:[{required:!0,message:"请选择位置",trigger:"change"}],status:[{required:!0,message:"请选择状态",trigger:"change"}]};function y(){return{title:"",imageUrl:"",position:"",sort:0,status:"1"}}function L(a){const e=["primary","success","warning","info","danger"];return e[(a-1)%e.length]||"primary"}function N(a){return{1:"首页顶部",2:"首页中部",3:"首页底部",4:"详情页",5:"个人中心"}[a]||`位置${a}`}async function f(){var a,e;o.loading=!0;try{const s={page:n.page,pageSize:n.pageSize};n.title&&(s.title=n.title),n.position!==void 0&&n.position!==""&&(s.position=Number(n.position)),n.status!==void 0&&n.status!==""&&(s.status=Number(n.status));const r=await fe(s);if(r.code===0)o.tableData=((a=r.data)==null?void 0:a.list)||[],o.total=((e=r.data)==null?void 0:e.total)||0;else throw new Error(r.message||"获取宣传图列表失败")}catch(s){const r=s instanceof Error?s.message:"获取宣传图列表失败";_.error(r)}finally{o.loading=!1}}function D(){n.page=1,f()}function P(){n.title="",n.position=void 0,n.status=void 0,n.page=1,f()}function q(a){n.pageSize=a,n.page=1,f()}function T(a){n.page=a,f()}function R({prop:a,order:e}){console.log("Sort changed:",a,e)}function B(){o.isEdit=!1,o.dialogTitle="新增宣传图",o.formData=y(),o.dialogVisible=!0}function $(a){o.isEdit=!0,o.dialogTitle="编辑宣传图",o.formData={id:a.id,title:a.title||"",imageUrl:a.imageUrl,position:String(a.position),sort:a.sort,status:String(a.status)},o.dialogVisible=!0}async function M(a,e){a._statusLoading=!0;try{const s=await ge({id:a.id,status:e});if(s.code===0)_.success(e===1?"已启用":"已禁用");else throw a.status=e===1?0:1,new Error(s.message||"状态更新失败")}catch(s){const r=s instanceof Error?s.message:"状态更新失败";_.error(r)}finally{a._statusLoading=!1}}async function I(a){try{const e=await ce(a.id);if(e.code===0)_.success("删除成功"),o.tableData.length===1&&n.page>1&&n.page--,await f();else throw new Error(e.message||"删除失败")}catch(e){const s=e instanceof Error?e.message:"删除失败";_.error(s)}}async function j(){if(h.value){try{await h.value.validate()}catch{return}o.formLoading=!0;try{const a=o.formData,e={title:a.title||void 0,imageUrl:a.imageUrl,position:Number(a.position),sort:a.sort,status:Number(a.status)};let s;if(o.isEdit&&a.id?s=await _e({...e,id:a.id}):s=await be(e),s.code===0)_.success(o.isEdit?"更新成功":"创建成功"),o.dialogVisible=!1,await f();else throw new Error(s.message||(o.isEdit?"更新失败":"创建失败"))}catch(a){const e=a instanceof Error?a.message:o.isEdit?"更新失败":"创建失败";_.error(e)}finally{o.formLoading=!1}}}function F(){var a;(a=h.value)==null||a.resetFields(),o.formData=y()}return Y(()=>{f()}),(a,e)=>{const s=d("el-icon"),r=d("el-button"),v=d("el-card"),w=d("el-input"),p=d("el-form-item"),C=d("el-form"),K=d("el-image"),g=d("el-table-column"),A=d("el-tag"),H=d("el-switch"),J=d("el-popconfirm"),X=d("el-table"),Z=d("el-pagination"),G=d("el-input-number"),O=d("el-dialog"),Q=ee("loading");return E(),te("div",he,[t(v,{class:"page-header"},{default:i(()=>[c("div",Ve,[e[13]||(e[13]=c("div",{class:"header-left"},[c("h2",{class:"page-title"},"宣传图管理"),c("span",{class:"page-description"},"管理不同位置的宣传图,支持位置筛选、状态管理")],-1)),c("div",ye,[t(r,{type:"primary",onClick:B},{default:i(()=>[t(s,null,{default:i(()=>[t(u(oe))]),_:1}),e[12]||(e[12]=m(" 新增宣传图 ",-1))]),_:1})])])]),_:1}),t(v,{class:"search-card"},{default:i(()=>[t(C,{model:n,inline:""},{default:i(()=>[t(p,{label:"标题"},{default:i(()=>[t(w,{modelValue:n.title,"onUpdate:modelValue":e[0]||(e[0]=l=>n.title=l),placeholder:"请输入标题",clearable:"",onKeyup:le(D,["enter"])},null,8,["modelValue"])]),_:1}),t(p,{label:"位置"},{default:i(()=>[t(u(V),{modelValue:n.position,"onUpdate:modelValue":e[1]||(e[1]=l=>n.position=l),type:"promotion_position",placeholder:"请选择位置",clearable:""},null,8,["modelValue"])]),_:1}),t(p,{label:"状态"},{default:i(()=>[t(u(V),{modelValue:n.status,"onUpdate:modelValue":e[2]||(e[2]=l=>n.status=l),type:"common_status",placeholder:"请选择状态",clearable:""},null,8,["modelValue"])]),_:1}),t(p,null,{default:i(()=>[t(r,{type:"primary",onClick:D},{default:i(()=>[t(s,null,{default:i(()=>[t(u(ie))]),_:1}),e[14]||(e[14]=m(" 搜索 ",-1))]),_:1}),t(r,{onClick:P},{default:i(()=>[t(s,null,{default:i(()=>[t(u(ne))]),_:1}),e[15]||(e[15]=m(" 重置 ",-1))]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),ae((E(),se(v,{class:"table-card"},{default:i(()=>[t(X,{ref_key:"tableRef",ref:k,data:o.tableData,"row-key":"id",stripe:"",onSortChange:R},{default:i(()=>[t(g,{label:"图片",width:"120",align:"center"},{default:i(({row:l})=>[t(K,{src:l.imageUrl,"preview-src-list":[l.imageUrl],fit:"cover",style:{width:"80px",height:"60px","border-radius":"4px"},"preview-teleported":""},{error:i(()=>[c("div",ve,[t(s,null,{default:i(()=>[t(u(re))]),_:1})])]),_:1},8,["src","preview-src-list"])]),_:1}),t(g,{prop:"title",label:"标题","min-width":"150","show-overflow-tooltip":""},{default:i(({row:l})=>[m(S(l.title||"-"),1)]),_:1}),t(g,{prop:"positionName",label:"位置",width:"120",align:"center"},{default:i(({row:l})=>[t(A,{type:L(l.position)},{default:i(()=>[m(S(l.positionName||N(l.position)),1)]),_:2},1032,["type"])]),_:1}),t(g,{label:"状态",width:"100",align:"center"},{default:i(({row:l})=>[t(H,{modelValue:l.status,"onUpdate:modelValue":b=>l.status=b,"active-value":1,"inactive-value":0,loading:l._statusLoading,onChange:b=>M(l,b)},null,8,["modelValue","onUpdate:modelValue","loading","onChange"])]),_:1}),t(g,{prop:"sort",label:"排序",width:"80",align:"center",sortable:"custom"}),t(g,{prop:"createTime",label:"创建时间",width:"180",align:"center"}),t(g,{label:"操作",width:"150",fixed:"right",align:"center"},{default:i(({row:l})=>[t(r,{type:"primary",link:"",size:"small",onClick:b=>$(l)},{default:i(()=>[t(s,null,{default:i(()=>[t(u(de))]),_:1}),e[16]||(e[16]=m(" 编辑 ",-1))]),_:1},8,["onClick"]),t(J,{title:"确定要删除这条宣传图吗?","confirm-button-text":"确定","cancel-button-text":"取消",onConfirm:b=>I(l)},{reference:i(()=>[t(r,{type:"danger",link:"",size:"small"},{default:i(()=>[t(s,null,{default:i(()=>[t(u(ue))]),_:1}),e[17]||(e[17]=m(" 删除 ",-1))]),_:1})]),_:1},8,["onConfirm"])]),_:1})]),_:1},8,["data"]),c("div",De,[t(Z,{"current-page":n.page,"onUpdate:currentPage":e[3]||(e[3]=l=>n.page=l),"page-size":n.pageSize,"onUpdate:pageSize":e[4]||(e[4]=l=>n.pageSize=l),"page-sizes":[10,20,50,100],total:o.total,layout:"total, sizes, prev, pager, next, jumper",onSizeChange:q,onCurrentChange:T},null,8,["current-page","page-size","total"])])]),_:1})),[[Q,o.loading]]),t(O,{modelValue:o.dialogVisible,"onUpdate:modelValue":e[11]||(e[11]=l=>o.dialogVisible=l),title:o.dialogTitle,width:"600px","close-on-click-modal":!1,onClosed:F},{footer:i(()=>[t(r,{onClick:e[10]||(e[10]=l=>o.dialogVisible=!1)},{default:i(()=>[...e[18]||(e[18]=[m("取消",-1)])]),_:1}),t(r,{type:"primary",loading:o.formLoading,onClick:j},{default:i(()=>[...e[19]||(e[19]=[m(" 确定 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[t(C,{ref_key:"formRef",ref:h,model:o.formData,rules:z,"label-width":"100px","label-position":"right"},{default:i(()=>[t(p,{label:"标题",prop:"title"},{default:i(()=>[t(w,{modelValue:o.formData.title,"onUpdate:modelValue":e[5]||(e[5]=l=>o.formData.title=l),placeholder:"请输入标题(可选)",maxlength:"50","show-word-limit":""},null,8,["modelValue"])]),_:1}),t(p,{label:"宣传图片",prop:"imageUrl",required:""},{default:i(()=>[t(u(pe),{modelValue:o.formData.imageUrl,"onUpdate:modelValue":e[6]||(e[6]=l=>o.formData.imageUrl=l),placeholder:"点击上传宣传图",tip:"建议尺寸750x400支持 jpg、png、gif 格式","max-size":10},null,8,["modelValue"])]),_:1}),t(p,{label:"位置",prop:"position",required:""},{default:i(()=>[t(u(V),{modelValue:o.formData.position,"onUpdate:modelValue":e[7]||(e[7]=l=>o.formData.position=l),type:"promotion_position",placeholder:"请选择位置"},null,8,["modelValue"])]),_:1}),t(p,{label:"排序",prop:"sort"},{default:i(()=>[t(G,{modelValue:o.formData.sort,"onUpdate:modelValue":e[8]||(e[8]=l=>o.formData.sort=l),min:0,max:9999,placeholder:"数值越小越靠前"},null,8,["modelValue"])]),_:1}),t(p,{label:"状态",prop:"status",required:""},{default:i(()=>[t(u(V),{modelValue:o.formData.status,"onUpdate:modelValue":e[9]||(e[9]=l=>o.formData.status=l),type:"common_status",placeholder:"请选择状态"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),Ee=me(we,[["__scopeId","data-v-0a8be6c6"]]);export{Ee as default};