Dawn1Ocean 2024-05-09 14:56:56 +08:00
commit 1caeba1225
2 changed files with 82 additions and 72 deletions

View File

@ -1,4 +1,4 @@
import { getDutyInfo, updateDutyInfo } from '@/services/api';
import { getDutyInfo } from '@/services/api';
import {
EditableProTable,
PageContainer,
@ -12,6 +12,7 @@ import {
} from '@ant-design/pro-components';
import { Card, message } from 'antd';
import { useEffect, useState } from 'react';
import request from 'umi-request';
import { Info } from './info';
type Shift = {
@ -91,7 +92,21 @@ const DutyInfo: React.FC = () => {
return <div style={{ textAlign: 'center' }}>{doms}</div>;
},
}}
onFinish={updateDutyInfo}
onFinish={async (values) => {
setLoading(true);
request('/admin/duty/update', {
method: 'POST',
data: values,
})
.then(() => {
setLoading(false);
message.success('提交成功');
})
.catch((err) => {
setLoading(false);
message.error('提交失败:' + err);
});
}}
initialValues={dutyInfo}
>
<div style={{ justifyContent: 'center', display: 'flex' }}>
@ -125,11 +140,13 @@ const DutyInfo: React.FC = () => {
name="offDutyReason"
label="值班暂停原因"
placeholder="请输入暂停值班的原因"
rules={[{ required: true }]}
/>
<ProFormDateTimePicker
name="dutyRecoverTime"
width="md"
label="值班恢复时间"
rules={[{ required: true }]}
/>
</div>
);
@ -142,6 +159,7 @@ const DutyInfo: React.FC = () => {
width="md"
min={0}
max={10}
rules={[{ required: true }]}
/>
);
}}
@ -158,6 +176,7 @@ const DutyInfo: React.FC = () => {
initialValue={dutyInfo?.otherDutyTime}
trigger="onValuesChange"
style={{ width: '80%' }}
rules={[{ required: true }]}
>
<EditableProTable<Shift>
rowKey="id"

View File

@ -1,6 +1,6 @@
// @ts-ignore
/* eslint-disable */
import { Info, ServerInfo } from '@/pages/Admin/DutyInfo/info';
import { ServerInfo } from '@/pages/Admin/DutyInfo/info';
import { Stat } from '@/pages/Welcome/stat';
import { request } from '@umijs/max';
import { API } from './typings';
@ -54,12 +54,3 @@ export async function getDutyInfo(options?: { [key: string]: any }) {
...(options || {}),
});
}
/** 上传当前值班信息 POST /admin/duty/update */
export async function updateDutyInfo(body: Info, options?: { [key: string]: any }) {
return request<boolean | void>('/admin/duty/update', {
method: 'POST',
data: body,
...(options || {}),
});
}