ykzz-web/src/views/Sbwh/Ssgcjl/form.js

197 lines
5.7 KiB
JavaScript
Raw Normal View History

2024-12-16 17:46:34 +08:00
import React, { useEffect, useState, useMemo, useRef } from 'react';
import { Form, Button, Input, Row, Upload, Col, Table, DatePicker, InputNumber, message, Image, Modal, Typography, Popconfirm } from 'antd';
2024-12-11 17:56:03 +08:00
import { formItemLayout, btnItemLayout } from '../../../components/crud/FormLayoutProps';
import apiurl from '../../../service/apiurl';
import FileUpload from '../../../components/fileUpload';
import NormalSelect from '../../../components/Form/NormalSelect';
2024-12-16 17:46:34 +08:00
import { httppost2 } from '../../../utils/request';
2024-12-11 17:56:03 +08:00
import "./index.less"
import moment from 'moment';
const { RangePicker } = DatePicker
const url = "http://223.75.53.141:9102/test.by-lyf.tmp"
const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => {
const types = [
{
label: "技术难题",
value: 0
},
{
label: "安全事故",
value: 1
2024-12-16 17:46:34 +08:00
}, {
2024-12-11 17:56:03 +08:00
label: "质量问题",
value: 2
},
]
const [form] = Form.useForm();
const [fileIds, setFileIds] = useState()
const onfinish = (values) => {
2024-12-16 17:46:34 +08:00
const userId = localStorage.getItem('userId')
const userName = localStorage.getItem('userName')
values.createUserId = userId;
values.createUserName = userName;
values.startTime = values.tm ? moment(values.tm[0]).format("YYYY-MM-DD 00:00:00") : '';
values.endTime = values.tm ? moment(values.tm[1]).format("YYYY-MM-DD 00:00:00") : '';
2024-12-11 17:56:03 +08:00
if (mode === 'edit') {
values.files = fileIds;
values.id = record.id;
2024-12-16 17:46:34 +08:00
onEdit(apiurl.sbwh.ssgcjl.edit, values)
2024-12-11 17:56:03 +08:00
}
if (mode === 'save') {
values.files = fileIds
2024-12-16 17:46:34 +08:00
onSave(apiurl.sbwh.ssgcjl.save, values)
2024-12-11 17:56:03 +08:00
}
}
2024-12-16 17:46:34 +08:00
// 获取方案list
const faList = async () => {
try {
const res = await httppost2(apiurl.sbwh.ssgcjl.list)
debugger
} catch (error) {
console.log(error);
}
}
useEffect(() => {
if (mode != 'save') {
let dataSo = record.startTime && record.endTime ?
[moment(record.startTime), moment(record.endTime)] : ''
form.setFieldValue("tm", dataSo)
}
}, [record, mode])
useEffect(() => {
faList()
}, [])
2024-12-11 17:56:03 +08:00
return (
<>
<Form
form={form}
{...formItemLayout}
onFinish={onfinish}
initialValues={record}
>
2024-12-16 17:46:34 +08:00
<Row>
2024-12-11 17:56:03 +08:00
<Col span={12}>
2024-12-16 17:46:34 +08:00
<Form.Item
label="项目名称"
name="projectName"
rules={[{ required: true }]}
>
<Input disabled={mode === 'view'} style={{ width: '100%' }} allowClear />
</Form.Item>
2024-12-11 17:56:03 +08:00
</Col>
<Col span={12}>
2024-12-16 17:46:34 +08:00
<Form.Item
label="方案名称"
name="planName"
rules={[{ required: true }]}
>
<Input disabled={mode === 'view'} style={{ width: '100%' }} allowClear />
</Form.Item>
2024-12-11 17:56:03 +08:00
</Col>
2024-12-16 17:46:34 +08:00
</Row>
<Row>
2024-12-11 17:56:03 +08:00
<Col span={12}>
2024-12-16 17:46:34 +08:00
<Form.Item
label="过程名称"
name="processName"
2024-12-11 17:56:03 +08:00
rules={[{ required: true }]}
2024-12-16 17:46:34 +08:00
>
<Input disabled={mode === 'view'} style={{ width: '100%' }} allowClear />
</Form.Item>
2024-12-11 17:56:03 +08:00
</Col>
<Col span={12}>
2024-12-16 17:46:34 +08:00
<Form.Item
label="完成情况(%"
name="completeStatus"
>
<InputNumber min={0} max={100} disabled={mode === 'view'} style={{ width: '100%' }} allowClear />
</Form.Item>
</Col>
</Row>
<Row>
2024-12-11 17:56:03 +08:00
<Col span={12}>
2024-12-16 17:46:34 +08:00
<Form.Item
label="问题类型"
name="problemType"
>
<NormalSelect
2024-12-11 17:56:03 +08:00
allowClear
2024-12-16 17:46:34 +08:00
disabled={mode === 'view'}
2024-12-11 17:56:03 +08:00
style={{ width: "100%" }}
options={types}
2024-12-16 17:46:34 +08:00
/>
</Form.Item>
2024-12-11 17:56:03 +08:00
</Col>
<Col span={12}>
2024-12-16 17:46:34 +08:00
<Form.Item
label="问题发生时间"
name="tm"
getValueFromEvent={(e, dateString) => dateString}
getValueProps={(value) => {
return {
value: value ? [value[0] && moment(value[0]), value[1] && moment(value[1])] : undefined
};
}}
>
<RangePicker disabled={mode === 'view'} format={'YYYY-MM-DD'} style={{ width: '100%' }} allowClear />
</Form.Item>
</Col>
</Row>
2024-12-11 17:56:03 +08:00
2024-12-16 17:46:34 +08:00
<Row>
2024-12-11 17:56:03 +08:00
<Col span={24}>
2024-12-16 17:46:34 +08:00
<Form.Item
label="问题描述"
name="problemDesc"
labelCol={{ span: 3 }}
wrapperCol={{ span: 19 }}
>
<Input.TextArea disabled={mode === 'view'} style={{ width: '100%', minHeight: '100px' }} allowClear />
</Form.Item>
2024-12-11 17:56:03 +08:00
</Col>
2024-12-16 17:46:34 +08:00
</Row>
<Row>
2024-12-11 17:56:03 +08:00
<Col span={24}>
2024-12-16 17:46:34 +08:00
<Form.Item
label="附件"
name="fieldId"
labelCol={{ span: 3 }}
wrapperCol={{ span: 19 }}
2024-12-11 17:56:03 +08:00
>
<FileUpload
2024-12-16 17:46:34 +08:00
uploadUrl={apiurl.sbwh.ssgcjl.uploadUrl}
downloadUrl={apiurl.sbwh.ssgcjl.downloadUrl}
2024-12-11 17:56:03 +08:00
mode={mode}
files={record?.files}
setFileIds={setFileIds}
/>
2024-12-16 17:46:34 +08:00
</Form.Item>
2024-12-11 17:56:03 +08:00
</Col>
</Row>
{
2024-12-16 17:46:34 +08:00
mode === 'view' ? null : (
<>
<Form.Item {...btnItemLayout}>
<Button type="primary" htmlType="submit">
{mode === 'save' ? '提交' : '修改'}
</Button>
</Form.Item>
</>
)
}
2024-12-11 17:56:03 +08:00
</Form>
2024-12-16 17:46:34 +08:00
2024-12-11 17:56:03 +08:00
</>
);
}
export default ModalForm;