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

2 lines
9.0 KiB
JavaScript

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