Bladeren bron

feat: 系统管理管理员设置

outaozhen 3 jaren geleden
bovenliggende
commit
af04a05753

+ 21 - 1
config/routes.ts

@@ -106,7 +106,27 @@
       }
     ]
   },
-
+  {
+    path: 'system',
+    name: 'system',
+    icon: 'icon-config',
+    routes: [
+      {
+        path: '/system',
+        redirect: '/system/setting'
+      },
+      {
+        path: 'setting',
+        name: 'setting',
+        component: './System/Setting'
+      },
+      {
+        path: 'adminUpdate',
+        name: 'adminUpdate',
+        component: './System/AdminUpdate'
+      }
+    ]
+  },
   {
     component: './404'
   }

+ 4 - 1
src/locales/zh-CN/menu.ts

@@ -25,7 +25,10 @@ export default {
   'menu.institutions.company.detail': '单位详情',
   'menu.work-setting': '业务设置',
   'menu.work-setting.schema': '基础数据设置',
-  'menu.work-setting.schema-detail': '编辑数据模型'
+  'menu.work-setting.schema-detail': '编辑数据模型',
+  'menu.system': '系统管理',
+  'menu.system.setting': '系统设置',
+  'menu.system.adminUpdate': '管理员'
   // 'menu.work-setting.schema.base': '基础数据设置',
   // 'menu.work-setting.schema.detail': '基础数据设置',
 }

+ 47 - 0
src/pages/System/AdminUpdate/index.tsx

@@ -0,0 +1,47 @@
+import { updateSetting } from '@/services/api/system'
+import { PageContainer } from '@ant-design/pro-layout'
+import { Card, Form, Input, Button, message } from 'antd'
+import React from 'react'
+
+const AdminUpdate = () => {
+  const [form] = Form.useForm()
+  return (
+    <PageContainer title={false}>
+      <Card>
+        <div className="text-2xl mb-7">管理员</div>
+        <Form
+          labelCol={{ span: 2 }}
+          wrapperCol={{ span: 8 }}
+          layout="horizontal"
+          form={form}
+          initialValues={{ username: 'admin' }}
+          onFinish={async values => {
+            await updateSetting(values)
+            form.resetFields()
+            message.success('更新成功')
+            return true
+          }}>
+          <Form.Item label="帐号" name="username">
+            <Input disabled />
+          </Form.Item>
+          <Form.Item label="旧密码" name="password">
+            <Input.Password />
+          </Form.Item>
+          <Form.Item label="新密码" name="newPassword">
+            <Input.Password />
+          </Form.Item>
+          <Form.Item label="确认新密码" name="confirmPassword">
+            <Input.Password />
+          </Form.Item>
+          <Form.Item wrapperCol={{ offset: 2, span: 8 }}>
+            <Button type="primary" htmlType="submit">
+              确认修改
+            </Button>
+          </Form.Item>
+        </Form>
+      </Card>
+    </PageContainer>
+  )
+}
+
+export default AdminUpdate

+ 15 - 0
src/pages/System/Setting/index.tsx

@@ -0,0 +1,15 @@
+import { PageContainer } from '@ant-design/pro-layout'
+import { Card } from 'antd'
+import React from 'react'
+
+const Setting = () => {
+  return (
+    <PageContainer title={false}>
+      <Card>
+        <h1>系统</h1>
+      </Card>
+    </PageContainer>
+  )
+}
+
+export default Setting

+ 17 - 0
src/services/api/system.ts

@@ -0,0 +1,17 @@
+import { request } from 'umi'
+
+/** 更改管理员密码 */
+export async function updateSetting(params: API.UpdateSettingParams) {
+  return request('/setting/update/admin', {
+    method: 'POST',
+    data: params
+  })
+}
+
+/** 更改管理员密码 */
+export async function getSetting(params: API.GetSettingParams) {
+  return request('/setting/detail', {
+    method: 'GET',
+    params
+  })
+}

+ 13 - 0
src/services/api/typings.d.ts

@@ -233,4 +233,17 @@ declare namespace API {
     dataID: string
     gender: string
   }
+
+  type UpdateSettingParams = {
+    password: string
+    newPassword: string
+    confirmPassword: string
+  }
+
+  type GetSettingParams = {
+    name: string
+    logo: string
+    backstageName: string
+    backstageLogo: string
+  }
 }