mi-assessment/server/MiAssessment/src/MiAssessment.Admin/wwwroot/assets/index-BEe_fAZ_.js
2026-02-22 22:41:15 +08:00

2 lines
7.2 KiB
JavaScript

import{R as F,d as J,a as Q,o as W,g as r,B as Z,c as p,k as c,e as n,C as ee,w as o,b as u,z as y,G,F as te,y as ie,x as f,t as g,l as h,H as ne,S as oe,T as le,E as _,_ as ae}from"./index-Cz1Ax9N2.js";function se(){return F({url:"/admin/config/getList",method:"get"})}function K(x){return F({url:"/admin/config/update",method:"post",data:x})}const re={class:"config-container"},de={class:"group-title"},ce={class:"config-key"},ue={class:"config-description"},fe={key:0,class:"config-value rich-text-preview"},ge={key:1,class:"config-value"},me={key:0,class:"validation-error"},pe=J({__name:"index",setup(x){const D=["user_agreement","privacy_policy","about_us_content"],t=Q({loading:!1,configGroups:[],activeGroups:[],editingItem:null,editValue:"",richTextValue:"",dialogVisible:!1,richTextDialogVisible:!1,saving:!1,validationError:""});function b(i){return D.includes(i)}function L(i){if(!i)return"";const e=i.replace(/<[^>]+>/g,"").trim();return e.length>50?e.substring(0,50)+"...":e}function R(i){const e=parseFloat(i);return isNaN(e)?{valid:!1,error:"请输入有效的数字"}:e<=0?{valid:!1,error:"价格必须为正数"}:{valid:!0,error:""}}function B(i){const e=parseFloat(i);return isNaN(e)?{valid:!1,error:"请输入有效的数字"}:e<0||e>1?{valid:!1,error:"佣金率必须在 0 到 1 之间"}:{valid:!0,error:""}}function S(i,e){if(!e||e.trim()==="")return{valid:!1,error:"配置值不能为空"};const a=i.toLowerCase();return a.includes("price")||a.includes("amount")||a.includes("fee")?R(e):a.includes("commission")||a.includes("rate")||a.includes("ratio")?B(e):{valid:!0,error:""}}function U(i){const e=i.toLowerCase();return e.includes("price")||e.includes("amount")||e.includes("fee")?"请输入正数金额":e.includes("commission")||e.includes("rate")||e.includes("ratio")?"请输入 0-1 之间的数值":"请输入配置值"}function z(i){const e=i.configType.toLowerCase(),a=i.configValue;if(e.includes("price")||e.includes("amount")||e.includes("fee")){const d=parseFloat(a);if(!isNaN(d))return`¥${d.toFixed(2)}`}if(e.includes("commission")||e.includes("rate")||e.includes("ratio")){const d=parseFloat(a);if(!isNaN(d))return`${(d*100).toFixed(1)}%`}return a||"-"}async function v(){t.loading=!0;try{const i=await se();if(i.code===0)t.configGroups=i.data||[],t.activeGroups=t.configGroups.map(e=>e.configType);else throw new Error(i.message||"获取配置列表失败")}catch(i){const e=i instanceof Error?i.message:"获取配置列表失败";_.error(e)}finally{t.loading=!1}}function P(i){t.editingItem=i,t.validationError="",b(i.configKey)?(t.richTextValue=i.configValue||"",t.richTextDialogVisible=!0):(t.editValue=i.configValue,t.dialogVisible=!0)}function T(){t.dialogVisible=!1,t.editingItem=null,t.editValue="",t.validationError=""}function C(){t.richTextDialogVisible=!1,t.editingItem=null,t.richTextValue=""}async function $(){if(!t.editingItem)return;const i=S(t.editingItem.configType,t.editValue);if(!i.valid){t.validationError=i.error;return}t.saving=!0,t.validationError="";try{const e=await K({configKey:t.editingItem.configKey,configValue:t.editValue.trim()});if(e.code===0)_.success("配置更新成功"),T(),await v();else throw new Error(e.message||"更新配置失败")}catch(e){const a=e instanceof Error?e.message:"更新配置失败";_.error(a)}finally{t.saving=!1}}async function H(){if(t.editingItem){t.saving=!0;try{const i=await K({configKey:t.editingItem.configKey,configValue:t.richTextValue});if(i.code===0)_.success("配置更新成功"),C(),await v();else throw new Error(i.message||"更新配置失败")}catch(i){const e=i instanceof Error?i.message:"更新配置失败";_.error(e)}finally{t.saving=!1}}}return W(()=>{v()}),(i,e)=>{var I,N;const a=r("el-card"),d=r("el-icon"),M=r("el-tag"),V=r("el-table-column"),m=r("el-button"),q=r("el-table"),O=r("el-collapse-item"),X=r("el-collapse"),Y=r("el-empty"),w=r("el-input"),E=r("el-form-item"),j=r("el-form"),k=r("el-dialog"),A=Z("loading");return c(),p("div",re,[n(a,{class:"page-header"},{default:o(()=>[...e[5]||(e[5]=[u("div",{class:"header-content"},[u("h2",{class:"page-title"},"系统配置"),u("span",{class:"page-description"},"管理系统配置项,按配置类型分组显示")],-1)])]),_:1}),ee((c(),y(a,{class:"config-list"},{default:o(()=>[n(X,{modelValue:t.activeGroups,"onUpdate:modelValue":e[0]||(e[0]=l=>t.activeGroups=l)},{default:o(()=>[(c(!0),p(te,null,ie(t.configGroups,l=>(c(),y(O,{key:l.configType,name:l.configType},{title:o(()=>[u("div",de,[n(d,null,{default:o(()=>[n(h(oe))]),_:1}),u("span",null,f(l.typeName),1),n(M,{size:"small",type:"info"},{default:o(()=>[g(f(l.items.length)+" 项",1)]),_:2},1024)])]),default:o(()=>[n(q,{data:l.items,stripe:"",style:{width:"100%"}},{default:o(()=>[n(V,{prop:"configKey",label:"配置键","min-width":"180"},{default:o(({row:s})=>[u("span",ce,f(s.configKey),1)]),_:1}),n(V,{prop:"description",label:"描述","min-width":"200"},{default:o(({row:s})=>[u("span",ue,f(s.description||"-"),1)]),_:1}),n(V,{label:"配置值","min-width":"250"},{default:o(({row:s})=>[b(s.configKey)?(c(),p("span",fe,f(L(s.configValue)||"点击编辑设置内容"),1)):(c(),p("span",ge,f(z(s)),1))]),_:1}),n(V,{label:"操作",width:"180",fixed:"right"},{default:o(({row:s})=>[n(m,{type:"primary",size:"small",onClick:_e=>P(s)},{default:o(()=>[n(d,null,{default:o(()=>[n(h(ne))]),_:1}),e[6]||(e[6]=g(" 编辑 ",-1))]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])]),_:2},1032,["name"]))),128))]),_:1},8,["modelValue"]),!t.loading&&t.configGroups.length===0?(c(),y(Y,{key:0,description:"暂无配置数据"})):G("",!0)]),_:1})),[[A,t.loading]]),n(k,{modelValue:t.dialogVisible,"onUpdate:modelValue":e[2]||(e[2]=l=>t.dialogVisible=l),title:"编辑配置 - "+((I=t.editingItem)==null?void 0:I.description),width:"500px","close-on-click-modal":!1},{footer:o(()=>[n(m,{onClick:T},{default:o(()=>[...e[7]||(e[7]=[g("取消",-1)])]),_:1}),n(m,{type:"primary",loading:t.saving,onClick:$},{default:o(()=>[...e[8]||(e[8]=[g(" 保存 ",-1)])]),_:1},8,["loading"])]),default:o(()=>[n(j,{"label-width":"80px"},{default:o(()=>[n(E,{label:"配置键"},{default:o(()=>{var l;return[n(w,{"model-value":(l=t.editingItem)==null?void 0:l.configKey,disabled:""},null,8,["model-value"])]}),_:1}),n(E,{label:"配置值"},{default:o(()=>{var l;return[n(w,{modelValue:t.editValue,"onUpdate:modelValue":e[1]||(e[1]=s=>t.editValue=s),placeholder:U(((l=t.editingItem)==null?void 0:l.configType)||""),clearable:""},null,8,["modelValue","placeholder"]),t.validationError?(c(),p("span",me,f(t.validationError),1)):G("",!0)]}),_:1})]),_:1})]),_:1},8,["modelValue","title"]),n(k,{modelValue:t.richTextDialogVisible,"onUpdate:modelValue":e[4]||(e[4]=l=>t.richTextDialogVisible=l),title:"编辑 - "+((N=t.editingItem)==null?void 0:N.description),width:"900px","close-on-click-modal":!1,"destroy-on-close":""},{footer:o(()=>[n(m,{onClick:C},{default:o(()=>[...e[9]||(e[9]=[g("取消",-1)])]),_:1}),n(m,{type:"primary",loading:t.saving,onClick:H},{default:o(()=>[...e[10]||(e[10]=[g(" 保存 ",-1)])]),_:1},8,["loading"])]),default:o(()=>{var l;return[n(h(le),{modelValue:t.richTextValue,"onUpdate:modelValue":e[3]||(e[3]=s=>t.richTextValue=s),placeholder:"请输入"+(((l=t.editingItem)==null?void 0:l.description)||"内容"),height:"500px"},null,8,["modelValue","placeholder"])]}),_:1},8,["modelValue","title"])])}}}),ve=ae(pe,[["__scopeId","data-v-26ed34bd"]]);export{ve as default};