| | |
| | | import SupervisingView from '../../matterDetail/Supervising' |
| | | import UniteHandle from '../../matterDetail/UniteHandle'; |
| | | import { useNavigate } from 'react-router-dom'; |
| | | import MyUpload from '@/components/MyUpload'; |
| | | |
| | | |
| | | |
| | | const Option = Select.Option; |
| | |
| | | return $$.ax.request({ url: `caseTask/listCaseFlow?caseId=` + caseId, type: 'get', service: 'mediate' }); |
| | | } |
| | | |
| | | //删除经办人 |
| | | function deletePrincipalApi(caseId) { |
| | | return $$.ax.request({ url: `caseInfoUnfold/deletePrincipal?caseId=` + caseId, type: 'get', service: 'mediate' }); |
| | | } |
| | | |
| | | const Handle = ({ authorData, caseTaskId, caseId }) => { |
| | | const formRef = useRef(); |
| | | const navigate = useNavigate(); |
| | | const [selectedTab, setSelectedTab] = useState('1'); // 默认选中第一个 tab |
| | | const [selectedTab1, setSelectedTab1] = useState('1'); // 默认选中第一个 tab |
| | | const [wantUser, setWantUser] = useState({}); |
| | | const [formView, setFormView] = useState(false); |
| | |
| | | setScannerVisible(false); |
| | | }; |
| | | |
| | | const handleWantUserClose = () => { |
| | | setWantUser({ wantUserId: null, wantUserName: null }) |
| | | deletePrincipalApi(caseId) |
| | | } |
| | | |
| | | const handleCancel = () => { |
| | | // 处理取消逻辑 |
| | | setScannerVisible(false); |
| | |
| | | |
| | | |
| | | const choosePrincipal = async (id) => { |
| | | console.log(id, 'choosePrincipalId') |
| | | const res = await choosePrincipalApi(caseId, id) |
| | | if (res.type) { |
| | | let data = res.data |
| | | console.log(data, 'choosePrincipalchoosePrincipal') |
| | | getFeedbackInfo() |
| | | } |
| | | |
| | | } |
| | | |
| | | const getByIdRole = async () => { |
| | | console.log(feedbackInfoData?.handleUserId, 'feedbackInfoData?.handleUserId') |
| | | const res = await getByIdRoleApi(feedbackInfoData?.handleUserId) |
| | | if(res.type){ |
| | | if (res.type) { |
| | | setPersonView(!personView) |
| | | setPersonData(res.data) |
| | | } |
| | |
| | | |
| | | //新增、编辑办理理由 |
| | | const saveFeedback = async (submitData) => { |
| | | console.log(submitData, 'submitData1111') |
| | | if (submitData.id) { |
| | | //编辑 |
| | | const res = await updateFeedbackApi({ |
| | |
| | | const getFeedbackInfo = async () => { |
| | | const res = await getFeedbackInfoApi(caseId) |
| | | if (res.type) { |
| | | setFeedbackInfoData(() => res.data) |
| | | console.log(res.data, 'res.data') |
| | | // getByIdRole(); |
| | | let data = res.data; |
| | | setFeedbackInfoData(data); |
| | | setWantUser({ wantUserName: data?.handleUserName }) |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | const handleSubmit = async () => { |
| | | if (formRef.current) { |
| | | formRef.current.validate(undefined, (errors, values) => { |
| | | if (!errors) { |
| | | const params = formRef.current.getFields() |
| | | |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | |
| | | //添加办理记录 |
| | | const addMark = () => { |
| | | setFormView(!formView); |
| | |
| | | |
| | | //保存信息 |
| | | const handleFinish = () => { |
| | | let submitData = formRef.current.getFields() |
| | | saveFeedback(submitData) |
| | | setFormView(!formView); |
| | | if (formRef.current) { |
| | | formRef.current.validate(undefined, (errors, values) => { |
| | | if (!errors) { |
| | | let submitData = formRef.current.getFields() |
| | | saveFeedback(submitData) |
| | | setFormView(!formView); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | //点击编辑办理事由 |
| | |
| | | |
| | | return ( |
| | | <> |
| | | <div className='container'> |
| | | <div className='container' style={{ height: 'calc(-307px + 100vh)' }}> |
| | | <div className='container-top'> |
| | | <Col span={24}> |
| | | <Space size='small'> |
| | | <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>办理信息</h5> |
| | | <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>办理信息</h4> |
| | | </Space> |
| | | </Col> |
| | | <Row gutter={[16, 16]}> |
| | |
| | | </Col> |
| | | <Col span={8} style={{ display: 'flex' }}> |
| | | <div><div className="title-text">经办人:</div></div> |
| | | <div style={{ display: 'flex' }}> |
| | | <div style={{ marginTop: '-4px' }}> |
| | | { |
| | | feedbackInfoData?.handleUserName ? |
| | | wantUser.wantUserName ? |
| | | <> |
| | | <div>{feedbackInfoData?.handleUserName}</div> |
| | | <img onClick={() => handlePersonView()} src={register} alt='' style={{ width: '14px', height: '14px', marginLeft: '8px', marginTop: '4px' }} /> |
| | | </> : '-' |
| | | <WantUserTag name={wantUser.wantUserName} onClose={() => handleWantUserClose()} /> </> |
| | | : |
| | | <Button onClick={() => { setIsModalVisible(true); }} style={{ color: '#1A6FB8', marginTop: '-2px' }} type='outline'>选择</Button> |
| | | } |
| | | </div> |
| | | </Col> |
| | |
| | | </Col> |
| | | <Col span={8} style={{ display: 'flex' }}> |
| | | <div><div className="title-text">受理时间:</div></div> |
| | | <div>{feedbackInfoData?.acceptTime}</div> |
| | | <div>{$$.minuteFormat(feedbackInfoData?.acceptTime)}</div> |
| | | </Col> |
| | | </Row> |
| | | |
| | |
| | | |
| | | <div className='container-bottom'> |
| | | <div className='container-bottom-left'> |
| | | <Col span={24} style={{ marginBottom: '8px' }}> |
| | | <Col span={24} style={{}}> |
| | | <Space size='small'> |
| | | <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>办理反馈</h5> |
| | | <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>办理反馈</h4> |
| | | </Space> |
| | | </Col> |
| | | <Form |
| | |
| | | requiredSymbol={false} |
| | | scrollToFirstError={true} |
| | | > |
| | | <Col span={8}> |
| | | <FormItem label={<div style={{ display: 'flex' }}> |
| | | <span style={{ color: '#86909C' }}>经办人</span> |
| | | <Tooltip> |
| | | <img src={question1} alt="" style={{ width: '13px', height: '13px', margin: '4px 4px 0px 4px' }} /> |
| | | </Tooltip> |
| | | </div> |
| | | } |
| | | field='level' > |
| | | {wantUser.wantUserId ? |
| | | <WantUserTag name={wantUser.wantUserName} onClose={() => setWantUser({ wantUserId: null, wantUserName: null })} /> |
| | | : |
| | | caseId && managerName ? |
| | | <WantUserTag name={managerName} onClose={() => setWantUser({ wantUserId: null, wantUserName: null })} /> |
| | | : |
| | | <Button onClick={() => { setIsModalVisible(true); }} style={{ color: '#1A6FB8', border: '1px solid #1A6FB8' }} type='outline'>选择</Button> |
| | | } |
| | | </FormItem> |
| | | </Col> |
| | | <Col span={24}> |
| | | <div style={{ color: 'rgb(134, 144, 156)' }}>办理记录</div> |
| | | <HandleRecord isReview={false} handleEdit={handleEdit} data={list} /> |
| | | {/* {formView && */} |
| | | <div className='Form' style={{ display: formView ? '' : 'none' }}> |
| | | <div className='Form' style={{ display: formView ? '' : 'none', marginBottom: '50px' }}> |
| | | <Col span={24} style={{ marginBottom: '8px' }}> |
| | | <Space size='small'> |
| | | <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>添加办理记录</h5> |
| | | <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>添加办理记录</h4> |
| | | </Space> |
| | | </Col> |
| | | <Col span={24}> |
| | |
| | | </div> |
| | | } |
| | | field='handleContent' |
| | | rules={[{ message: '请填写事项概况', required: true }]} |
| | | rules={[{ message: '请填写办理意见', required: true }]} |
| | | > |
| | | <Input.TextArea |
| | | maxLength={200} |
| | | showWordLimit |
| | | rows={5} |
| | | placeholder='请完整描述事项概况,应具备5要素:发生时间+发生地点+人物情况+事项起因+事项经过' |
| | | rows={7} |
| | | placeholder='办理意见应该填写完整,办理意见应具备5要素:调解时间+调解参与部门/人+调解地点+调解过程+调解结果' |
| | | wrapperStyle={{ width: '100%' }} |
| | | /> |
| | | </FormItem> |
| | |
| | | 办理附件 |
| | | </div> |
| | | } |
| | | field='caseDes' |
| | | rules={[{ message: '请填写事项概况', required: true }]} |
| | | field='file' |
| | | > |
| | | <ArcoUpload |
| | | params={{ |
| | |
| | | {/* } */} |
| | | </Col> |
| | | </Form> |
| | | <Space style={{ marginTop: '38px', bottom: '4px' }}> |
| | | <Button type="primary" style={{ backgroundColor: '#1A6FB8' }} onClick={() => addMark()}>添加办理记录</Button> |
| | | <Button type='outline' style={{ color: '#1A6FB8', border: '1px solid #1A6FB8' }} onClick={() => uniteHandle()}>联合处置申请</Button> |
| | | <Button type='outline' style={{ color: '#1A6FB8', border: '1px solid #1A6FB8' }} onClick={() => handleCaseResultApply()} >结案申请</Button> |
| | | <Button type='outline' style={{ color: '#EF6C24', border: '1px solid #EF6C24' }} onClick={() => Supervising()}>督办</Button> |
| | | <Button type='secondary' onClick={() => navigate(-1)}>返回上级页面</Button> |
| | | </Space> |
| | | {!formView && |
| | | <div className="dataSync-excel"> |
| | | <Space size="middle" style={{ margin: '4px 14px' }}> |
| | | <Button type="primary" style={{ backgroundColor: '#1A6FB8' }} onClick={() => addMark()}>添加办理记录</Button> |
| | | <Button type='outline' style={{ color: '#1A6FB8', border: '1px solid #1A6FB8' }} onClick={() => uniteHandle()}>联合处置申请</Button> |
| | | <Button type='outline' style={{ color: '#1A6FB8', border: '1px solid #1A6FB8' }} onClick={() => handleCaseResultApply()} >结案申请</Button> |
| | | <Button type='outline' style={{ color: '#EF6C24', border: '1px solid #EF6C24' }} onClick={() => Supervising()}>督办</Button> |
| | | <Button type='secondary' onClick={() => navigate(-1)}>返回上级页面</Button> |
| | | </Space> |
| | | </div> |
| | | |
| | | } |
| | | </div> |
| | | <div className='container-bottom-right'> |
| | | <Tabs defaultActiveTab='1' className='tabs-container' > |
| | | <TabPane |
| | | key='1' |
| | | title={ |
| | | <span style={{ fontSize: '15px' }}> |
| | | <span style={{ fontSize: '15px', paddingTop: '-16px' }}> |
| | | 流转进度 |
| | | </span> |
| | | } |
| | | > |
| | | <Typography.Paragraph> |
| | | <div className='progress'> |
| | | <div className='progress' style={{ paddingBottom: '16px', marginTop: '0px' }} > |
| | | <ProgressStep progressData={progressData} hasTab={true} /> |
| | | </div> |
| | | |
| | |
| | | visible={isModalVisible} |
| | | checkKeys={wantUser.wantUserId ? [{ label: wantUser.wantUserName, value: wantUser.wantUserId }] : undefined} |
| | | onOk={(value) => { |
| | | console.log(value, 'value') |
| | | console.log(value.key, value, 'value.key', 'value') |
| | | setIsModalVisible(false); |
| | | setWantUser({ wantUserId: value.keys[0], wantUserName: value.items[0].name }); |
| | | handleCheckedKeys(value.keys?.[0]) |
| | | handleCheckedKeys(value.keys?.[0]); |
| | | |
| | | }} |
| | | onClose={() => setIsModalVisible(false)} |
| | |
| | | allowClear |
| | | > |
| | | {options.map((option) => ( |
| | | <Option key={option.value} value={option.value} onChange={(v) => console.log(v, 'vvvvvv')}> |
| | | <Option key={option.value} value={option.value}> |
| | | {option.label} |
| | | </Option> |
| | | ))} |