wenlele
1 year ago
24 changed files with 1540 additions and 1017 deletions
@ -0,0 +1,14 @@ |
|||
alter table maintenance_plan |
|||
add record_id integer[]; |
|||
|
|||
comment on column maintenance_plan.record_id is '响应记录id'; |
|||
|
|||
|
|||
|
|||
alter table maintenance_record |
|||
add files jsonb; |
|||
|
|||
comment on column maintenance_record.files is '文件'; |
|||
|
|||
|
|||
|
@ -0,0 +1,87 @@ |
|||
import React, { useState, useEffect, useRef } from 'react' |
|||
import { connect } from 'react-redux'; |
|||
import moment from 'moment' |
|||
import { Button, Table, Modal, Form } from '@douyinfe/semi-ui'; |
|||
|
|||
|
|||
const PlanAddmodal = (props) => { |
|||
const { visible, onClose, recordRow, actions, dispatch } = props |
|||
const { service, install } = actions |
|||
const [pepList, setPepList] = useState([])//角色分配 |
|||
|
|||
const api = useRef(); |
|||
const [selectValue, setSelectValue] = useState([]) |
|||
|
|||
useEffect(() => { |
|||
dispatch(install.getOrganizationDeps()).then((res) => {//获取项企(PEP)全部部门及其下用户 |
|||
setPepList(res.payload.data) |
|||
}) |
|||
}, []) |
|||
//编辑和新增的逻辑 |
|||
const okHandler = () => { |
|||
api.current.validate().then((res) => { |
|||
const query = { |
|||
actualFinishTime: res.realityTime, |
|||
planFinishTime: res.planTime, |
|||
remark: res.notes, |
|||
state: res.status, |
|||
type: 'period', |
|||
missionName: res.taskName, |
|||
manger: res.manger, |
|||
recordId: [recordRow.id], |
|||
msg: '添加周期性计划' |
|||
} |
|||
dispatch(service.editMaintenancePlan(query)).then((res) => { |
|||
if (res.success) onClose(); api.current.reset() |
|||
|
|||
|
|||
}) |
|||
|
|||
}) |
|||
} |
|||
return (<div> |
|||
<Modal visible={visible} onCancel={() => { onClose() }} title={'添加周期性计划'} |
|||
onOk={okHandler} |
|||
|
|||
> |
|||
<Form |
|||
getFormApi={formApi => api.current = formApi} |
|||
labelCol={{ span: 6 }} |
|||
labelPosition='left' |
|||
> |
|||
<Form.Input field='taskName' label='任务名称:' maxLength={30} rules={[ |
|||
{ required: true, message: '请输入任务名称' }, |
|||
]} ></Form.Input> |
|||
<Form.Select field='manger' label='责任人' rules={[{ required: true, message: '请输入责任人' }]} trigger='blur' style={{ width: '100%' }} |
|||
multiple filter> |
|||
{pepList?.map((item) => { |
|||
return (<Form.Select.OptGroup label={item.name}> |
|||
{item.users.map((item1) => { |
|||
return <Form.Select.Option value={item1.id} label={item1.name}></Form.Select.Option> |
|||
})} |
|||
</Form.Select.OptGroup>) |
|||
})} |
|||
</Form.Select> |
|||
<Form.Select label='完成情况' style={{ width: 200 }} field='status'> |
|||
<Form.Select.Option value='未完成'>未完成</Form.Select.Option> |
|||
<Form.Select.Option value='进行中'>进行中</Form.Select.Option> |
|||
<Form.Select.Option value='已完成'>已完成</Form.Select.Option> |
|||
<Form.Select.Option value='挂起'>挂起</Form.Select.Option> |
|||
</Form.Select> |
|||
<Form.TextArea label='备注' field='notes' placeholder='故障发生原因及解决方案'></Form.TextArea> |
|||
<Form.DatePicker label='计划完成时间:' field='planTime' rules={[{ required: true, message: '请选择计划完成时间' },]}></Form.DatePicker> |
|||
<Form.DatePicker label='实际完成时间:' field='realityTime'></Form.DatePicker> |
|||
</Form> |
|||
</Modal> |
|||
|
|||
</div>) |
|||
} |
|||
|
|||
|
|||
function mapStateToProps (state) { |
|||
const { global } = state; |
|||
return { |
|||
actions: global.actions, |
|||
}; |
|||
} |
|||
export default connect(mapStateToProps)(PlanAddmodal) |
Loading…
Reference in new issue