mi-assessment/server/MiAssessment/src/MiAssessment.Admin/wwwroot/assets/index-DA5CDPqA.js
2026-02-25 18:21:11 +08:00

2 lines
9.3 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 ee,r as ae,a as z,o as te,g as r,B as le,c as S,k as y,e as a,C as oe,w as t,b as c,t as u,l as p,D as ne,f as se,L as ie,s as re,z as L,T as de,x as N,U as ue,H as me,I as pe,V as fe,E as _,_ as ge}from"./index-cO0XwfvV.js";import{e as ce,f as _e,h as be,i as ve,j as ye}from"./content--vppuXPD.js";const Ve={class:"navigation-container"},we={class:"header-content"},Ue={class:"header-right"},he={class:"image-error"},De={key:1,class:"text-placeholder"},ke={class:"pagination-wrapper"},Ce=ee({__name:"index",setup(xe){const v=ae(),i=z({page:1,pageSize:10,name:"",status:void 0}),l=z({loading:!1,tableData:[],total:0,dialogVisible:!1,dialogTitle:"新增导航",formData:V(),formLoading:!1,isEdit:!1}),T={name:[{required:!0,message:"请输入导航名称",trigger:"blur"}],status:[{required:!0,message:"请选择状态",trigger:"change"}]};function V(){return{name:"",imageUrl:"",linkUrl:"",sort:0,status:1}}function k(o){return{0:"下线",1:"上线",2:"即将上线"}[o]??"未知"}function q(o){return{0:"info",1:"success",2:"warning"}[o]??"info"}async function f(){var o,e;l.loading=!0;try{const s={page:i.page,pageSize:i.pageSize};i.name&&(s.name=i.name),i.status!==void 0&&i.status!==""&&(s.status=Number(i.status));const d=await ce(s);if(d.code===0)l.tableData=((o=d.data)==null?void 0:o.list)||[],l.total=((e=d.data)==null?void 0:e.total)||0;else throw new Error(d.message||"获取导航列表失败")}catch(s){const d=s instanceof Error?s.message:"获取导航列表失败";_.error(d)}finally{l.loading=!1}}function C(){i.page=1,f()}function B(){i.name="",i.status=void 0,i.page=1,f()}function R(o){i.pageSize=o,i.page=1,f()}function $(o){i.page=o,f()}function j(){l.isEdit=!1,l.dialogTitle="新增导航",l.formData=V(),l.dialogVisible=!0}function I(o){l.isEdit=!0,l.dialogTitle="编辑导航",l.formData={id:o.id,name:o.name,imageUrl:o.imageUrl||"",linkUrl:o.linkUrl||"",sort:o.sort,status:o.status},l.dialogVisible=!0}async function F(o,e){o.status,o._statusLoading=!0;try{const s=await _e({id:o.id,status:e});if(s.code===0)o.status=e,_.success(`已设为${k(e)}`);else throw new Error(s.message||"状态更新失败")}catch(s){const d=s instanceof Error?s.message:"状态更新失败";_.error(d)}finally{o._statusLoading=!1}}async function K(o){try{const e=await be(o.id);if(e.code===0)_.success("删除成功"),l.tableData.length===1&&i.page>1&&i.page--,await f();else throw new Error(e.message||"删除失败")}catch(e){const s=e instanceof Error?e.message:"删除失败";_.error(s)}}async function M(){if(v.value){try{await v.value.validate()}catch{return}l.formLoading=!0;try{const o=l.formData,e={name:o.name,imageUrl:o.imageUrl||void 0,linkUrl:o.linkUrl||void 0,sort:o.sort,status:o.status};let s;if(l.isEdit&&o.id?s=await ve({...e,id:o.id}):s=await ye(e),s.code===0)_.success(l.isEdit?"更新成功":"创建成功"),l.dialogVisible=!1,await f();else throw new Error(s.message||(l.isEdit?"更新失败":"创建失败"))}catch(o){const e=o instanceof Error?o.message:l.isEdit?"更新失败":"创建失败";_.error(e)}finally{l.formLoading=!1}}}function P(){var o;(o=v.value)==null||o.resetFields(),l.formData=V()}return te(()=>{f()}),(o,e)=>{const s=r("el-icon"),d=r("el-button"),w=r("el-card"),U=r("el-input"),m=r("el-form-item"),b=r("el-option"),x=r("el-select"),E=r("el-form"),A=r("el-image"),g=r("el-table-column"),H=r("el-tag"),h=r("el-dropdown-item"),G=r("el-dropdown-menu"),J=r("el-dropdown"),O=r("el-popconfirm"),Q=r("el-table"),W=r("el-pagination"),X=r("el-input-number"),Y=r("el-dialog"),Z=le("loading");return y(),S("div",Ve,[a(w,{class:"page-header"},{default:t(()=>[c("div",we,[e[12]||(e[12]=c("div",{class:"header-left"},[c("h2",{class:"page-title"},"首页导航管理"),c("span",{class:"page-description"},"管理小程序首页导航入口卡片,支持图标上传、跳转配置和状态管理")],-1)),c("div",Ue,[a(d,{type:"primary",onClick:j},{default:t(()=>[a(s,null,{default:t(()=>[a(p(ne))]),_:1}),e[11]||(e[11]=u(" 新增导航 ",-1))]),_:1})])])]),_:1}),a(w,{class:"search-card"},{default:t(()=>[a(E,{model:i,inline:""},{default:t(()=>[a(m,{label:"名称"},{default:t(()=>[a(U,{modelValue:i.name,"onUpdate:modelValue":e[0]||(e[0]=n=>i.name=n),placeholder:"请输入导航名称",clearable:"",onKeyup:se(C,["enter"])},null,8,["modelValue"])]),_:1}),a(m,{label:"状态"},{default:t(()=>[a(x,{modelValue:i.status,"onUpdate:modelValue":e[1]||(e[1]=n=>i.status=n),placeholder:"请选择状态",clearable:""},{default:t(()=>[a(b,{label:"上线",value:1}),a(b,{label:"下线",value:0}),a(b,{label:"即将上线",value:2})]),_:1},8,["modelValue"])]),_:1}),a(m,null,{default:t(()=>[a(d,{type:"primary",onClick:C},{default:t(()=>[a(s,null,{default:t(()=>[a(p(ie))]),_:1}),e[13]||(e[13]=u(" 搜索 ",-1))]),_:1}),a(d,{onClick:B},{default:t(()=>[a(s,null,{default:t(()=>[a(p(re))]),_:1}),e[14]||(e[14]=u(" 重置 ",-1))]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),oe((y(),L(w,{class:"table-card"},{default:t(()=>[a(Q,{data:l.tableData,"row-key":"id",stripe:""},{default:t(()=>[a(g,{label:"图标",width:"100",align:"center"},{default:t(({row:n})=>[n.imageUrl?(y(),L(A,{key:0,src:n.imageUrl,"preview-src-list":[n.imageUrl],fit:"cover",style:{width:"50px",height:"50px","border-radius":"8px"},"preview-teleported":""},{error:t(()=>[c("div",he,[a(s,null,{default:t(()=>[a(p(de))]),_:1})])]),_:1},8,["src","preview-src-list"])):(y(),S("span",De,"无图标"))]),_:1}),a(g,{prop:"name",label:"名称","min-width":"120","show-overflow-tooltip":""}),a(g,{prop:"linkUrl",label:"跳转链接","min-width":"200","show-overflow-tooltip":""},{default:t(({row:n})=>[u(N(n.linkUrl||"-"),1)]),_:1}),a(g,{label:"状态",width:"140",align:"center"},{default:t(({row:n})=>[a(J,{trigger:"click",onCommand:D=>F(n,D)},{dropdown:t(()=>[a(G,null,{default:t(()=>[a(h,{command:1,disabled:n.status===1},{default:t(()=>[...e[15]||(e[15]=[u("上线",-1)])]),_:1},8,["disabled"]),a(h,{command:0,disabled:n.status===0},{default:t(()=>[...e[16]||(e[16]=[u("下线",-1)])]),_:1},8,["disabled"]),a(h,{command:2,disabled:n.status===2},{default:t(()=>[...e[17]||(e[17]=[u("即将上线",-1)])]),_:1},8,["disabled"])]),_:2},1024)]),default:t(()=>[a(H,{type:q(n.status),style:{cursor:"pointer"},loading:n._statusLoading},{default:t(()=>[u(N(k(n.status))+" ",1),a(s,{class:"el-icon--right"},{default:t(()=>[a(p(ue))]),_:1})]),_:2},1032,["type","loading"])]),_:2},1032,["onCommand"])]),_:1}),a(g,{prop:"sort",label:"排序",width:"80",align:"center"}),a(g,{prop:"createTime",label:"创建时间",width:"180",align:"center"}),a(g,{label:"操作",width:"150",fixed:"right",align:"center"},{default:t(({row:n})=>[a(d,{type:"primary",link:"",size:"small",onClick:D=>I(n)},{default:t(()=>[a(s,null,{default:t(()=>[a(p(me))]),_:1}),e[18]||(e[18]=u(" 编辑 ",-1))]),_:1},8,["onClick"]),a(O,{title:"确定要删除这条导航吗?","confirm-button-text":"确定","cancel-button-text":"取消",onConfirm:D=>K(n)},{reference:t(()=>[a(d,{type:"danger",link:"",size:"small"},{default:t(()=>[a(s,null,{default:t(()=>[a(p(pe))]),_:1}),e[19]||(e[19]=u(" 删除 ",-1))]),_:1})]),_:1},8,["onConfirm"])]),_:1})]),_:1},8,["data"]),c("div",ke,[a(W,{"current-page":i.page,"onUpdate:currentPage":e[2]||(e[2]=n=>i.page=n),"page-size":i.pageSize,"onUpdate:pageSize":e[3]||(e[3]=n=>i.pageSize=n),"page-sizes":[10,20,50],total:l.total,layout:"total, sizes, prev, pager, next, jumper",onSizeChange:R,onCurrentChange:$},null,8,["current-page","page-size","total"])])]),_:1})),[[Z,l.loading]]),a(Y,{modelValue:l.dialogVisible,"onUpdate:modelValue":e[10]||(e[10]=n=>l.dialogVisible=n),title:l.dialogTitle,width:"550px","close-on-click-modal":!1,onClosed:P},{footer:t(()=>[a(d,{onClick:e[9]||(e[9]=n=>l.dialogVisible=!1)},{default:t(()=>[...e[20]||(e[20]=[u("取消",-1)])]),_:1}),a(d,{type:"primary",loading:l.formLoading,onClick:M},{default:t(()=>[...e[21]||(e[21]=[u(" 确定 ",-1)])]),_:1},8,["loading"])]),default:t(()=>[a(E,{ref_key:"formRef",ref:v,model:l.formData,rules:T,"label-width":"100px","label-position":"right"},{default:t(()=>[a(m,{label:"导航名称",prop:"name"},{default:t(()=>[a(U,{modelValue:l.formData.name,"onUpdate:modelValue":e[4]||(e[4]=n=>l.formData.name=n),placeholder:"请输入导航名称",maxlength:"50","show-word-limit":""},null,8,["modelValue"])]),_:1}),a(m,{label:"图标图片",prop:"imageUrl"},{default:t(()=>[a(p(fe),{modelValue:l.formData.imageUrl,"onUpdate:modelValue":e[5]||(e[5]=n=>l.formData.imageUrl=n),placeholder:"点击上传图标",tip:"建议尺寸200x200支持 jpg、png 格式","max-size":5},null,8,["modelValue"])]),_:1}),a(m,{label:"跳转链接",prop:"linkUrl"},{default:t(()=>[a(U,{modelValue:l.formData.linkUrl,"onUpdate:modelValue":e[6]||(e[6]=n=>l.formData.linkUrl=n),placeholder:"请输入跳转链接,如:/pages/assessment/info/index",clearable:""},null,8,["modelValue"])]),_:1}),a(m,{label:"排序",prop:"sort"},{default:t(()=>[a(X,{modelValue:l.formData.sort,"onUpdate:modelValue":e[7]||(e[7]=n=>l.formData.sort=n),min:0,max:9999,placeholder:"数值越大越靠前"},null,8,["modelValue"])]),_:1}),a(m,{label:"状态",prop:"status",required:""},{default:t(()=>[a(x,{modelValue:l.formData.status,"onUpdate:modelValue":e[8]||(e[8]=n=>l.formData.status=n),placeholder:"请选择状态"},{default:t(()=>[a(b,{label:"上线",value:1}),a(b,{label:"下线",value:0}),a(b,{label:"即将上线",value:2})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),Se=ge(Ce,[["__scopeId","data-v-1beed022"]]);export{Se as default};