You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
haoliang-net/deploy-web/admin/assets/SettingsPage-BHwyet23.js

1 line
9.9 KiB
JavaScript

import{A as e,E as t,F as n,M as r,N as i,P as a,_ as o,a as s,b as c,g as l,h as u,k as d,m as f,o as p,p as m,r as h,w as g,x as _,y as v,z as y}from"./index-yNQwsZKK.js";import{t as b}from"./useMockMode-CGiTg8lx.js";import{t as x}from"./request-CbM-LIzp.js";var S={style:{"white-space":`nowrap`}},C={key:1,style:{display:`flex`,gap:`8px`,"align-items":`center`}},ee={class:`mb-16`},te={style:{"white-space":`nowrap`}},w=_({__name:`SettingsPage`,setup(_){let w=h(),{isMock:T}=b(),E=n(`config`),D=n(new Map);function O(e){return D.value.get(e)??!1}function k(e){let t=D.value.get(e)??!1;D.value.set(e,!t)}function A(e){let t=e.configKey;return j(t)?O(t)?String(e.configValue):`••••••••`:String(e.configValue)}function j(e){return!1}let M=n(!1),N=n([]),P=n(``),F=n(!1),I=n(!1),L=a({configKey:``,valueType:``,numberValue:0,stringValue:``,description:``,id:0,displayValue:``,originalValue:``}),R=m(()=>{if(!P.value)return N.value;let e=P.value.toLowerCase();return N.value.filter(t=>t.configKey.toLowerCase().includes(e)||t.description.toLowerCase().includes(e))});function ne(){}async function z(){M.value=!0;try{N.value=(await x.get(`/admin/sys-config`)).data?.items||[]}finally{M.value=!1}}function B(e){L.id=e.id,L.configKey=e.configKey,L.valueType=e.valueType,L.description=e.description,L.originalValue=e.configValue,e.valueType===`number`?L.numberValue=Number(e.configValue):j(e.configKey)?L.displayValue=`••••••••`:L.displayValue=String(e.configValue),F.value=!0}async function V(){I.value=!0;try{let e;if(L.valueType===`number`)e=String(L.numberValue);else{let t=L.configKey;e=j(t)&&L.displayValue===`••••••••`?L.originalValue:L.displayValue}await x.put(`/admin/sys-config/${L.id}`,{configValue:e}),p.success(`保存成功`),F.value=!1,z()}finally{I.value=!1}}async function H(e){await s.confirm(`确定重置${e.description}?重置后需同步更新相关服务配置。`,`提示`,{type:`warning`});let t=await x.post(`/admin/sys-config/reset-token`,{configKey:e.configKey});p.success(`重置成功,新值:`+(t.data?.newValue||`已生成`)),z()}let U=n(!1),W=n([]),G=n(!1),K=n(!1),q=n(null),J=n(),Y=a({name:``,sortOrder:0}),re={name:[{required:!0,message:`请输入车间名称`,trigger:`blur`}],sortOrder:[{required:!0,message:`请输入排序号`,trigger:`blur`}]};async function X(){U.value=!0;try{W.value=(await x.get(`/admin/workshop`)).data?.items||[]}finally{U.value=!1}}function ie(){q.value=null,Object.assign(Y,{name:``,sortOrder:W.value.length+1}),G.value=!0}function ae(e){q.value=e.id,Object.assign(Y,{name:e.name,sortOrder:e.sortOrder}),G.value=!0}async function oe(){if(await J.value?.validate().catch(()=>!1)){K.value=!0;try{await x[q.value?`put`:`post`](q.value?`/admin/workshop/${q.value}`:`/admin/workshop`,{...Y}),p.success(`保存成功`),G.value=!1,X()}finally{K.value=!1}}}async function se(e){await s.confirm(`确定${e.isEnabled?`停用`:`启用`}车间【${e.name}】?`,`提示`,{type:`warning`}),await x.put(`/admin/workshop/${e.id}/toggle`),p.success(`操作成功`),X()}async function ce(e){await s.confirm(`确定删除车间【${e.name}】?此操作不可恢复。`,`提示`,{type:`warning`}),await x.delete(`/admin/workshop/${e.id}`),p.success(`已删除`),X()}let Z=n(!1),Q=n(),$=a({currentPassword:``,newPassword:``,confirmPassword:``}),le={currentPassword:[{required:!0,message:`请输入当前密码`,trigger:`blur`}],newPassword:[{required:!0,message:`请输入新密码`,trigger:`blur`},{min:8,max:32,message:`密码长度8-32位`,trigger:`blur`}],confirmPassword:[{required:!0,message:`请确认密码`,trigger:`blur`},{validator:(e,t,n)=>{t===$.newPassword?n():n(Error(`两次输入密码不一致`))},trigger:`blur`}]};async function ue(){if(await Q.value?.validate().catch(()=>!1)){Z.value=!0;try{await x.post(`/admin/change-password`,{currentPassword:$.currentPassword,newPassword:$.newPassword}),p.success(`密码修改成功,请重新登录`),localStorage.removeItem(`token`),w.push(T.value?`/mock/login`:`/login`)}finally{Z.value=!1}}}return g(()=>{z(),X()}),(n,a)=>{let s=d(`el-input`),p=d(`el-form-item`),m=d(`el-form`),h=d(`el-table-column`),g=d(`el-button`),_=d(`el-table`),b=d(`el-input-number`),x=d(`el-dialog`),w=d(`el-tab-pane`),T=d(`el-tag`),D=d(`el-card`),O=d(`el-tabs`),N=e(`loading`);return t(),o(`div`,null,[c(O,{modelValue:E.value,"onUpdate:modelValue":a[15]||=e=>E.value=e},{default:r(()=>[c(w,{label:`系统配置`,name:`config`},{default:r(()=>[c(m,{inline:!0,class:`mb-16`},{default:r(()=>[c(p,null,{default:r(()=>[c(s,{modelValue:P.value,"onUpdate:modelValue":a[0]||=e=>P.value=e,placeholder:`配置项/说明`,clearable:``,onInput:ne},null,8,[`modelValue`])]),_:1})]),_:1}),i((t(),u(_,{data:R.value,border:``,stripe:``},{default:r(()=>[c(h,{prop:`configKey`,label:`配置项`,"show-overflow-tooltip":``}),c(h,{label:`配置值`,"show-overflow-tooltip":``},{default:r(({row:e})=>[f(`span`,null,y(A(e)),1),j(e.configKey)?(t(),u(g,{key:0,link:``,type:`primary`,onClick:t=>k(e.configKey),style:{"margin-left":`6px`}},{default:r(()=>[...a[16]||=[f(`i`,{class:`el-icon-view`},null,-1)]]),_:1},8,[`onClick`])):l(``,!0)]),_:1}),c(h,{prop:`valueType`,label:`类型`,align:`center`}),c(h,{prop:`description`,label:`说明`,"show-overflow-tooltip":``}),c(h,{label:`操作`,width:`160`,align:`center`},{default:r(({row:e})=>[f(`div`,S,[c(g,{link:``,type:`primary`,onClick:t=>B(e)},{default:r(()=>[...a[17]||=[v(`编辑`,-1)]]),_:1},8,[`onClick`]),j(e.configKey)?(t(),u(g,{key:0,link:``,type:`primary`,onClick:t=>H(e)},{default:r(()=>[...a[18]||=[v(`重置`,-1)]]),_:1},8,[`onClick`])):l(``,!0)])]),_:1})]),_:1},8,[`data`])),[[N,M.value]]),c(x,{modelValue:F.value,"onUpdate:modelValue":a[7]||=e=>F.value=e,title:`编辑配置项`,width:`500px`,"destroy-on-close":``},{footer:r(()=>[c(g,{onClick:a[6]||=e=>F.value=!1},{default:r(()=>[...a[20]||=[v(`取消`,-1)]]),_:1}),c(g,{type:`primary`,loading:I.value,onClick:V},{default:r(()=>[...a[21]||=[v(`保存`,-1)]]),_:1},8,[`loading`])]),default:r(()=>[c(m,{model:L,"label-width":`100px`},{default:r(()=>[c(p,{label:`配置项`},{default:r(()=>[c(s,{modelValue:L.configKey,"onUpdate:modelValue":a[1]||=e=>L.configKey=e,disabled:``},null,8,[`modelValue`])]),_:1}),c(p,{label:`配置值`,required:``},{default:r(()=>[L.valueType===`number`?(t(),u(b,{key:0,modelValue:L.numberValue,"onUpdate:modelValue":a[2]||=e=>L.numberValue=e,min:0,style:{width:`100%`}},null,8,[`modelValue`])):(t(),o(`div`,C,[c(s,{modelValue:L.displayValue,"onUpdate:modelValue":a[3]||=e=>L.displayValue=e,style:{flex:`1`}},null,8,[`modelValue`]),j(L.configKey)?(t(),o(`span`,{key:0,onClick:a[4]||=e=>k(L.configKey),style:{cursor:`pointer`,color:`#409EFF`,display:`flex`,"align-items":`center`,gap:`4px`}},[a[19]||=f(`i`,{class:`el-icon-view`},null,-1),f(`span`,null,y(L.displayValue===`••••••••`?`显示`:`隐藏`),1)])):l(``,!0)]))]),_:1}),c(p,{label:`说明`},{default:r(()=>[c(s,{modelValue:L.description,"onUpdate:modelValue":a[5]||=e=>L.description=e,disabled:``},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`])]),_:1}),c(w,{label:`车间管理`,name:`workshop`},{default:r(()=>[f(`div`,ee,[c(g,{type:`primary`,onClick:ie},{default:r(()=>[...a[22]||=[v(`+ 新增车间`,-1)]]),_:1})]),i((t(),u(_,{data:W.value,border:``,stripe:``},{default:r(()=>[c(h,{prop:`name`,label:`车间名称`,"show-overflow-tooltip":``}),c(h,{prop:`sortOrder`,label:`排序`,align:`center`,sortable:``}),c(h,{label:`状态`,align:`center`},{default:r(({row:e})=>[c(T,{type:e.isEnabled?`success`:`danger`,size:`small`},{default:r(()=>[v(y(e.isEnabled?`启用`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),c(h,{label:`操作`,width:`160`,align:`center`},{default:r(({row:e})=>[f(`div`,te,[c(g,{link:``,type:`primary`,onClick:t=>ae(e)},{default:r(()=>[...a[23]||=[v(`编辑`,-1)]]),_:1},8,[`onClick`]),c(g,{link:``,type:`primary`,onClick:t=>se(e)},{default:r(()=>[v(y(e.isEnabled?`停用`:`启用`),1)]),_:2},1032,[`onClick`]),c(g,{link:``,type:`danger`,onClick:t=>ce(e),disabled:e.machineCount>0},{default:r(()=>[...a[24]||=[v(`删除`,-1)]]),_:1},8,[`onClick`,`disabled`])])]),_:1})]),_:1},8,[`data`])),[[N,U.value]]),c(x,{modelValue:G.value,"onUpdate:modelValue":a[11]||=e=>G.value=e,title:q.value?`编辑车间`:`新增车间`,width:`400px`,"destroy-on-close":``},{footer:r(()=>[c(g,{onClick:a[10]||=e=>G.value=!1},{default:r(()=>[...a[25]||=[v(`取消`,-1)]]),_:1}),c(g,{type:`primary`,loading:K.value,onClick:oe},{default:r(()=>[...a[26]||=[v(`保存`,-1)]]),_:1},8,[`loading`])]),default:r(()=>[c(m,{ref_key:`workshopFormRef`,ref:J,model:Y,rules:re,"label-width":`100px`},{default:r(()=>[c(p,{label:`车间名称`,prop:`name`},{default:r(()=>[c(s,{modelValue:Y.name,"onUpdate:modelValue":a[8]||=e=>Y.name=e,maxlength:`100`},null,8,[`modelValue`])]),_:1}),c(p,{label:`排序号`,prop:`sortOrder`},{default:r(()=>[c(b,{modelValue:Y.sortOrder,"onUpdate:modelValue":a[9]||=e=>Y.sortOrder=e,min:0,max:99},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])]),_:1}),c(w,{label:`修改密码`,name:`password`},{default:r(()=>[c(D,{shadow:`hover`,style:{"max-width":`500px`}},{default:r(()=>[c(m,{ref_key:`pwdFormRef`,ref:Q,model:$,rules:le,"label-width":`100px`},{default:r(()=>[c(p,{label:`当前密码`,prop:`currentPassword`},{default:r(()=>[c(s,{modelValue:$.currentPassword,"onUpdate:modelValue":a[12]||=e=>$.currentPassword=e,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1}),c(p,{label:`新密码`,prop:`newPassword`},{default:r(()=>[c(s,{modelValue:$.newPassword,"onUpdate:modelValue":a[13]||=e=>$.newPassword=e,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1}),c(p,{label:`确认密码`,prop:`confirmPassword`},{default:r(()=>[c(s,{modelValue:$.confirmPassword,"onUpdate:modelValue":a[14]||=e=>$.confirmPassword=e,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1}),c(p,null,{default:r(()=>[c(g,{type:`primary`,loading:Z.value,onClick:ue},{default:r(()=>[...a[27]||=[v(`确认修改`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1},8,[`model`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])])}}});export{w as default};