mi-assessment/server/MiAssessment/src/MiAssessment.Admin/wwwroot/assets/index-C5_iNKYG.js
2026-02-20 17:57:17 +08:00

2 lines
11 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 re,r as U,a as N,v as ie,o as de,g as d,B as ue,c as S,k as V,e as t,C as me,w as a,b as c,t as u,l as p,D as pe,f as k,J as z,L as fe,s as ge,z as L,O as T,x as O,H as ce,P as _e,I as be,Q as we,E as b,_ as ye}from"./index-DZuPWKgj.js";import{g as Ve,p as xe,q as Ce,r as he,s as ve}from"./assessment-sWvvWKiZ.js";const De={class:"assessment-type-container"},Ee={class:"header-content"},Ie={class:"header-right"},Ue={class:"image-error"},Ne={key:1,class:"image-placeholder"},Se={class:"price-text"},ke={class:"pagination-wrapper"},ze=re({__name:"index",setup(Le){const f={OFFLINE:0,ONLINE:1,COMING:2},F=U(),y=U(),r=N({pageIndex:1,pageSize:10,name:"",code:"",status:void 0}),o=N({loading:!1,tableData:[],total:0,dialogVisible:!1,dialogTitle:"新增测评类型",formData:x(),formLoading:!1,isEdit:!1}),q=(l,e,s)=>{if(e==null){s(new Error("请输入价格"));return}if(e<=0){s(new Error("价格必须为正数"));return}s()},A=ie(()=>({name:[{required:!0,message:"请输入测评类型名称",trigger:"blur"},{max:50,message:"名称不能超过50个字符",trigger:"blur"}],code:[{required:!0,message:"请输入测评类型编码",trigger:"blur"},{max:50,message:"编码不能超过50个字符",trigger:"blur"}],price:[{required:!0,validator:q,trigger:"blur"}],status:[{required:!0,message:"请选择状态",trigger:"change"}]}));function x(){return{name:"",code:"",imageUrl:"",introContent:"",price:0,sort:0,status:f.OFFLINE}}function M(l){switch(l){case f.OFFLINE:return"info";case f.ONLINE:return"success";case f.COMING:return"warning";default:return"info"}}function R(l){switch(l){case f.OFFLINE:return"下线";case f.ONLINE:return"上线";case f.COMING:return"即将上线";default:return"未知"}}async function _(){var l,e;o.loading=!0;try{const s={pageIndex:r.pageIndex,pageSize:r.pageSize};r.name&&(s.name=r.name),r.code&&(s.code=r.code),r.status!==void 0&&r.status!==""&&(s.status=Number(r.status));const i=await Ve(s);if(i.code===0)o.tableData=((l=i.data)==null?void 0:l.list)||[],o.total=((e=i.data)==null?void 0:e.total)||0;else throw new Error(i.message||"获取测评类型列表失败")}catch(s){const i=s instanceof Error?s.message:"获取测评类型列表失败";b.error(i)}finally{o.loading=!1}}function C(){r.pageIndex=1,_()}function B(){r.name="",r.code="",r.status=void 0,r.pageIndex=1,_()}function G(l){r.pageSize=l,r.pageIndex=1,_()}function $(l){r.pageIndex=l,_()}function K({prop:l,order:e}){console.log("Sort changed:",l,e)}function P(){o.isEdit=!1,o.dialogTitle="新增测评类型",o.formData=x(),o.dialogVisible=!0}function j(l){o.isEdit=!0,o.dialogTitle="编辑测评类型",o.formData={id:l.id,name:l.name,code:l.code,imageUrl:l.imageUrl||"",introContent:l.introContent||"",price:l.price,sort:l.sort,status:l.status},o.dialogVisible=!0}async function H(l,e){if(l.status!==e)try{const s=await xe({id:l.id,status:e});if(s.code===0)b.success(J(e)),await _();else throw new Error(s.message||"状态更新失败")}catch(s){const i=s instanceof Error?s.message:"状态更新失败";b.error(i)}}function J(l){switch(l){case f.OFFLINE:return"已下线";case f.ONLINE:return"已上线";case f.COMING:return"已设为即将上线";default:return"状态已更新"}}async function Q(l){try{const e=await Ce(l.id);if(e.code===0)b.success("删除成功"),o.tableData.length===1&&r.pageIndex>1&&r.pageIndex--,await _();else throw new Error(e.message||"删除失败")}catch(e){const s=e instanceof Error?e.message:"删除失败";b.error(s)}}async function W(){if(y.value){try{await y.value.validate()}catch{return}o.formLoading=!0;try{const l=o.formData,e={name:l.name,code:l.code,imageUrl:l.imageUrl||void 0,introContent:l.introContent||void 0,price:l.price,sort:l.sort,status:Number(l.status)};let s;if(o.isEdit&&l.id?s=await he({...e,id:l.id}):s=await ve(e),s.code===0)b.success(o.isEdit?"更新成功":"创建成功"),o.dialogVisible=!1,await _();else throw new Error(s.message||(o.isEdit?"更新失败":"创建失败"))}catch(l){const e=l instanceof Error?l.message:o.isEdit?"更新失败":"创建失败";b.error(e)}finally{o.formLoading=!1}}}function X(){var l;(l=y.value)==null||l.resetFields(),o.formData=x()}return de(()=>{_()}),(l,e)=>{const s=d("el-icon"),i=d("el-button"),h=d("el-card"),w=d("el-input"),m=d("el-form-item"),E=d("el-form"),Y=d("el-image"),g=d("el-table-column"),Z=d("el-tag"),v=d("el-dropdown-item"),ee=d("el-dropdown-menu"),te=d("el-dropdown"),ae=d("el-popconfirm"),le=d("el-table"),oe=d("el-pagination"),I=d("el-input-number"),ne=d("el-dialog"),se=ue("loading");return V(),S("div",De,[t(h,{class:"page-header"},{default:a(()=>[c("div",Ee,[e[15]||(e[15]=c("div",{class:"header-left"},[c("h2",{class:"page-title"},"测评类型管理"),c("span",{class:"page-description"},"管理测评类型,配置测评产品的基本信息、价格和状态")],-1)),c("div",Ie,[t(i,{type:"primary",onClick:P},{default:a(()=>[t(s,null,{default:a(()=>[t(p(pe))]),_:1}),e[14]||(e[14]=u(" 新增测评类型 ",-1))]),_:1})])])]),_:1}),t(h,{class:"search-card"},{default:a(()=>[t(E,{model:r,inline:""},{default:a(()=>[t(m,{label:"名称"},{default:a(()=>[t(w,{modelValue:r.name,"onUpdate:modelValue":e[0]||(e[0]=n=>r.name=n),placeholder:"请输入名称",clearable:"",onKeyup:k(C,["enter"])},null,8,["modelValue"])]),_:1}),t(m,{label:"编码"},{default:a(()=>[t(w,{modelValue:r.code,"onUpdate:modelValue":e[1]||(e[1]=n=>r.code=n),placeholder:"请输入编码",clearable:"",onKeyup:k(C,["enter"])},null,8,["modelValue"])]),_:1}),t(m,{label:"状态"},{default:a(()=>[t(p(z),{modelValue:r.status,"onUpdate:modelValue":e[2]||(e[2]=n=>r.status=n),type:"assessment_status",placeholder:"请选择状态",clearable:""},null,8,["modelValue"])]),_:1}),t(m,null,{default:a(()=>[t(i,{type:"primary",onClick:C},{default:a(()=>[t(s,null,{default:a(()=>[t(p(fe))]),_:1}),e[16]||(e[16]=u(" 搜索 ",-1))]),_:1}),t(i,{onClick:B},{default:a(()=>[t(s,null,{default:a(()=>[t(p(ge))]),_:1}),e[17]||(e[17]=u(" 重置 ",-1))]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),me((V(),L(h,{class:"table-card"},{default:a(()=>[t(le,{ref_key:"tableRef",ref:F,data:o.tableData,"row-key":"id",stripe:"",onSortChange:K},{default:a(()=>[t(g,{label:"图片",width:"120",align:"center"},{default:a(({row:n})=>[n.imageUrl?(V(),L(Y,{key:0,src:n.imageUrl,"preview-src-list":[n.imageUrl],fit:"cover",style:{width:"80px",height:"80px","border-radius":"4px"},"preview-teleported":""},{error:a(()=>[c("div",Ue,[t(s,null,{default:a(()=>[t(p(T))]),_:1})])]),_:1},8,["src","preview-src-list"])):(V(),S("div",Ne,[t(s,null,{default:a(()=>[t(p(T))]),_:1})]))]),_:1}),t(g,{prop:"name",label:"名称","min-width":"150","show-overflow-tooltip":""}),t(g,{prop:"code",label:"编码",width:"120","show-overflow-tooltip":""}),t(g,{prop:"price",label:"价格",width:"100",align:"right"},{default:a(({row:n})=>[c("span",Se,"¥"+O(n.price.toFixed(2)),1)]),_:1}),t(g,{prop:"questionCount",label:"题目数",width:"80",align:"center"}),t(g,{label:"状态",width:"120",align:"center"},{default:a(({row:n})=>[t(Z,{type:M(n.status)},{default:a(()=>[u(O(n.statusName||R(n.status)),1)]),_:2},1032,["type"])]),_: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:"200",fixed:"right",align:"center"},{default:a(({row:n})=>[t(i,{type:"primary",link:"",size:"small",onClick:D=>j(n)},{default:a(()=>[t(s,null,{default:a(()=>[t(p(ce))]),_:1}),e[18]||(e[18]=u(" 编辑 ",-1))]),_:1},8,["onClick"]),t(te,{onCommand:D=>H(n,D)},{dropdown:a(()=>[t(ee,null,{default:a(()=>[t(v,{command:0,disabled:n.status===0},{default:a(()=>[...e[20]||(e[20]=[u("下线",-1)])]),_:1},8,["disabled"]),t(v,{command:1,disabled:n.status===1},{default:a(()=>[...e[21]||(e[21]=[u("上线",-1)])]),_:1},8,["disabled"]),t(v,{command:2,disabled:n.status===2},{default:a(()=>[...e[22]||(e[22]=[u("即将上线",-1)])]),_:1},8,["disabled"])]),_:2},1024)]),default:a(()=>[t(i,{type:"warning",link:"",size:"small"},{default:a(()=>[e[19]||(e[19]=u(" 状态 ",-1)),t(s,{class:"el-icon--right"},{default:a(()=>[t(p(_e))]),_:1})]),_:1})]),_:2},1032,["onCommand"]),t(ae,{title:"确定要删除这个测评类型吗?","confirm-button-text":"确定","cancel-button-text":"取消",onConfirm:D=>Q(n)},{reference:a(()=>[t(i,{type:"danger",link:"",size:"small"},{default:a(()=>[t(s,null,{default:a(()=>[t(p(be))]),_:1}),e[23]||(e[23]=u(" 删除 ",-1))]),_:1})]),_:1},8,["onConfirm"])]),_:1})]),_:1},8,["data"]),c("div",ke,[t(oe,{"current-page":r.pageIndex,"onUpdate:currentPage":e[3]||(e[3]=n=>r.pageIndex=n),"page-size":r.pageSize,"onUpdate:pageSize":e[4]||(e[4]=n=>r.pageSize=n),"page-sizes":[10,20,50,100],total:o.total,layout:"total, sizes, prev, pager, next, jumper",onSizeChange:G,onCurrentChange:$},null,8,["current-page","page-size","total"])])]),_:1})),[[se,o.loading]]),t(ne,{modelValue:o.dialogVisible,"onUpdate:modelValue":e[13]||(e[13]=n=>o.dialogVisible=n),title:o.dialogTitle,width:"700px","close-on-click-modal":!1,onClosed:X},{footer:a(()=>[t(i,{onClick:e[12]||(e[12]=n=>o.dialogVisible=!1)},{default:a(()=>[...e[25]||(e[25]=[u("取消",-1)])]),_:1}),t(i,{type:"primary",loading:o.formLoading,onClick:W},{default:a(()=>[...e[26]||(e[26]=[u(" 确定 ",-1)])]),_:1},8,["loading"])]),default:a(()=>[t(E,{ref_key:"formRef",ref:y,model:o.formData,rules:A.value,"label-width":"100px","label-position":"right"},{default:a(()=>[t(m,{label:"名称",prop:"name"},{default:a(()=>[t(w,{modelValue:o.formData.name,"onUpdate:modelValue":e[5]||(e[5]=n=>o.formData.name=n),placeholder:"请输入测评类型名称",maxlength:"50","show-word-limit":""},null,8,["modelValue"])]),_:1}),t(m,{label:"编码",prop:"code"},{default:a(()=>[t(w,{modelValue:o.formData.code,"onUpdate:modelValue":e[6]||(e[6]=n=>o.formData.code=n),placeholder:"请输入测评类型编码",maxlength:"50","show-word-limit":""},null,8,["modelValue"])]),_:1}),t(m,{label:"图片",prop:"imageUrl"},{default:a(()=>[t(p(we),{modelValue:o.formData.imageUrl,"onUpdate:modelValue":e[7]||(e[7]=n=>o.formData.imageUrl=n),placeholder:"点击上传测评类型图片",tip:"建议尺寸200x200支持 jpg、png、gif 格式","max-size":10},null,8,["modelValue"])]),_:1}),t(m,{label:"价格",prop:"price"},{default:a(()=>[t(I,{modelValue:o.formData.price,"onUpdate:modelValue":e[8]||(e[8]=n=>o.formData.price=n),min:.01,max:99999.99,precision:2,step:1,placeholder:"请输入价格",style:{width:"200px"}},null,8,["modelValue"]),e[24]||(e[24]=c("span",{class:"form-item-tip"},"元",-1))]),_:1}),t(m,{label:"介绍内容",prop:"introContent"},{default:a(()=>[t(w,{modelValue:o.formData.introContent,"onUpdate:modelValue":e[9]||(e[9]=n=>o.formData.introContent=n),type:"textarea",placeholder:"请输入测评类型介绍内容支持HTML格式",rows:6,maxlength:"5000","show-word-limit":""},null,8,["modelValue"])]),_:1}),t(m,{label:"排序",prop:"sort"},{default:a(()=>[t(I,{modelValue:o.formData.sort,"onUpdate:modelValue":e[10]||(e[10]=n=>o.formData.sort=n),min:0,max:9999,placeholder:"数值越小越靠前"},null,8,["modelValue"])]),_:1}),t(m,{label:"状态",prop:"status",required:""},{default:a(()=>[t(p(z),{modelValue:o.formData.status,"onUpdate:modelValue":e[11]||(e[11]=n=>o.formData.status=n),type:"assessment_status",placeholder:"请选择状态"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}}),Fe=ye(ze,[["__scopeId","data-v-4087ae8f"]]);export{Fe as default};