| | |
| | | import React, { useState, useRef } from 'react'; |
| | | import { Form, Input, Tabs, Typography, Button, Modal, Select } from '@arco-design/web-react'; |
| | | import { Col, Space, Row, Tooltip } from 'antd'; |
| | | import { Form, Input, Button, Modal, Select, Tooltip } from '@arco-design/web-react'; |
| | | import { Col, Row } from 'antd'; |
| | | import ArcoUpload from '@/components/ArcoUpload'; |
| | | import * as $$ from '@/utils/utility'; |
| | | import { question1, } from '@/assets/images'; |
| | | import SelectObjModal from '@/components/SelectObjModal/selectPerson'; |
| | | |
| | | const FormItem = Form.Item; |
| | | const Option = Select.Option; |
| | | const appUrl = $$.appUrl; |
| | | |
| | | function delFile(id) { |
| | | return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'get', service: 'sys', data: { id } }); |
| | | } |
| | | |
| | | function postAssistApply(data) { |
| | | return $$.ax.request({ url: `caseAssistApply/addCaseAssistApply`, type: 'post', service: 'mediate', data }); |
| | | } |
| | | |
| | | const UniteHandle = ({ id, visible, handleOnCancel }) => { |
| | | |
| | | const UniteHandle = ({ id, visible, handleOnCancel, caseId, caseTaskId }) => { |
| | | const formRef = useRef(); |
| | | const [supervising, setSupervising] = useState(false); |
| | | const [fileVisible, setFileVisible] = useState(false); |
| | | |
| | | const options = [ |
| | | { value: '1', label: '一' }, { value: '2', label: '二' }, { value: '3', label: '三' } |
| | | ]; |
| | | |
| | | |
| | | |
| | | const [isModalVisible, setIsModalVisible] = useState(false); |
| | | const [wantUser, setWantUser] = useState([]); |
| | | const [selectOptions, setSelectOptions] = useState([]);//部门选择的options |
| | | |
| | | //删除文件 |
| | | const handleDelFile = async (id) => { |
| | |
| | | } |
| | | |
| | | const handleSupervising = () => { |
| | | setSupervising(!supervising) |
| | | formRef.current.validate(undefined, (errors, values) => { |
| | | if (!errors) { |
| | | handleJoint({ |
| | | id, |
| | | caseId, |
| | | applyContent: values.applyContent, |
| | | applyAssistUnitId: wantUser?.map(item => item.value).join(',') || '', |
| | | applyAssistUnitName: wantUser?.map(item => item.name).join(',') || '', |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | |
| | | //form数据同步要提交的数据 |
| | | const handleSync = (value) => { |
| | | let newList = wantUser.filter(item => value.indexOf(item.value) != -1) |
| | | setWantUser(newList); |
| | | } |
| | | |
| | | //联合处置请求 |
| | | const handleJoint = async (data) => { |
| | | const res = await postAssistApply(data) |
| | | if (res.type) { |
| | | $$.infoSuccess({ content: '提交申请成功!' }); |
| | | handleOnCancel(); |
| | | } |
| | | } |
| | | |
| | | return ( |
| | | <> |
| | | <Modal visible={visible} onCancel={handleOnCancel} title='联合处置申请' centered footer={null}> |
| | | <Modal |
| | | visible={visible} |
| | | onCancel={handleOnCancel} |
| | | title='联合处置申请' |
| | | centered |
| | | footer={null} |
| | | unmountOnExit={true} |
| | | maskClosable={false} |
| | | autoFocus={false} |
| | | focusLock={false} |
| | | > |
| | | <Form |
| | | ref={formRef} |
| | | layout='vertical' |
| | | requiredSymbol={false} |
| | | scrollToFirstError={true} |
| | | initialValues={{ |
| | | suggestion: '' |
| | | applyContent: '在事项办理过程中:\n因[......业务]涉及白云区新市街司法所\n因[......业务]涉及白云区新市街劳监大队\n特申请将上述部门列为配合部门,请审批' |
| | | }}//默认值 |
| | | > |
| | | <Row> |
| | | <Col span={24}> |
| | | <FormItem |
| | | label={<div style={{ display: 'flex' }}><div>添加配合部门</div><div style={{ color: '#86909C' }}>(可多选)</div></div>} |
| | | field='' |
| | | field='unit' |
| | | > |
| | | <Select |
| | | mode='multiple' |
| | | placeholder='请选择督办部门' |
| | | style={{}} |
| | | placeholder='请选择配合部门' |
| | | allowClear |
| | | onFocus={(e) => { |
| | | e.stopPropagation() |
| | | setIsModalVisible(true) |
| | | }} |
| | | options={selectOptions} |
| | | onChange={handleSync} |
| | | > |
| | | {options.map((option) => ( |
| | | <Option key={option.value} value={option.value} onChange={(v) => console.log(v, 'vvvvvv')}> |
| | | {option.label} |
| | | </Option> |
| | | ))} |
| | | </Select> |
| | | </FormItem> |
| | | </Col> |
| | | <Col span={24}> |
| | | <FormItem |
| | | field='suggestion' |
| | | field='applyContent' |
| | | label={(<div style={{ display: 'flex' }}>添加理由<div className="must">必填</div></div>)} |
| | | rules={[{ required: true, message: '请输入添加理由' }]} |
| | | > |
| | | <Input.TextArea |
| | | rows={5} |
| | | wrapperStyle={{ width: '700px' }} |
| | | value='在事项办理过程中:因[......业务]涉及白云区新市街司法所因[......业务]涉及白云区新市街劳监大队特申请将上述部门列为配合部门,请审批' |
| | | /> |
| | | </FormItem> |
| | | </Col> |
| | | <Col span={24}> |
| | | <FormItem |
| | | <ArcoUpload |
| | | params={{ |
| | | action: `${appUrl.fileUrl}/${appUrl.sys}/api/web/fileInfo/upload?mainId=${caseId}&&ownerId=${id}&ownerType=22_00018-508`, |
| | | }} |
| | | field='file' |
| | | label={ |
| | | <div> |
| | | 附件材料 |
| | | <Tooltip onClick={() => setFileVisible(true)}> |
| | | <Tooltip> |
| | | <img src={question1} alt="" style={{ width: '13px', height: '13px', margin: '-3px 4px 0px 4px' }} /> |
| | | </Tooltip> |
| | | </div> |
| | | } |
| | | field='caseDes' |
| | | rules={[{ message: '请填写事项概况', required: true }]} |
| | | > |
| | | <ArcoUpload |
| | | params={{ |
| | | action: `${appUrl.fileUrl}/${appUrl.sys}/api/web/fileInfo/upload?mainId='24083010062110001'&&ownerId=${id}&ownerType=22_00018-508`, |
| | | }} |
| | | field='file1' |
| | | // handleChangeFile={handleChangeFile} |
| | | label='' |
| | | // editData={props.editData} |
| | | handleDelFile={handleDelFile} |
| | | /> |
| | | </FormItem> |
| | | </Col> |
| | | <Button type='primary' style={{ marginTop: '-16px' }} onClick={() => handleSupervising()}>提交申请</Button> |
| | | <div className='dialogFooter'> |
| | | <Button type='primary' style={{ marginTop: '-16px' }} onClick={handleSupervising}>提交申请</Button> |
| | | </div> |
| | | </Row> |
| | | </Form> |
| | | <SelectObjModal |
| | | visible={isModalVisible} |
| | | checkKeys={wantUser} |
| | | onOk={(value) => { |
| | | console.log(value); |
| | | setWantUser(value.items) |
| | | setSelectOptions(value.items.map(item => ({ |
| | | label: item.name, |
| | | value: item.value |
| | | }))) |
| | | formRef.current.setFieldValue('unit', value.items.map(item => item.value)) |
| | | }} |
| | | onClose={() => setIsModalVisible(false)} |
| | | type='dept' |
| | | isCheckbox={true} |
| | | /> |
| | | </Modal> |
| | | </> |
| | | ) |
| | | } |
| | | |