| | |
| | | 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; |
| | | const FormItem = Form.Item; |
| | | const TabPane = Tabs.TabPane; |
| | | const appUrl = $$.appUrl; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | function choosePrincipalApi(caseId, userId) { |
| | | return $$.ax.request({ url: `caseInfoUnfold/choosePrincipal?caseId=${caseId}&userId=` + userId, type: 'get', service: 'mediate' }); |
| | |
| | | const [caseResultId, setCaseResultId] = useState(''); |
| | | const [managerName, setManagerName] = useState('') |
| | | const [progressData, setProgressData] = useState({}); |
| | | const [staticButtonList, setStaticButtonList] = useState([]); |
| | | const [scannerVisible, setScannerVisible] = useState(false); |
| | | |
| | | |
| | | |
| | | |
| | | const myButton = [ |
| | | { |
| | | label: '添加办理记录', |
| | | type: 'primary', |
| | | click: () => addMark(), |
| | | key: 'tjbljl', |
| | | }, |
| | | { |
| | | label: '联合处置申请', |
| | | type: 'outline', |
| | | click: () => uniteHandle(), |
| | | key: 'lhczsq', |
| | | }, |
| | | { |
| | | label: '结案申请', |
| | | type: 'outline', |
| | | click: () => handleCaseResultApply(), |
| | | key: 'jasq', |
| | | }, |
| | | { |
| | | label: '督办', |
| | | type: 'outline', |
| | | click: () => Supervising(), |
| | | key: 'db', |
| | | status: 'danger' |
| | | }, |
| | | ] |
| | | const tabs1 = [ |
| | | { index: '1', label: '公共模板:提醒尽快启动调解程序督办模板' }, |
| | | { index: '2', label: '个人模板:推动事件尽快办结督办模板' } |
| | | ] |
| | | |
| | | const options = [ |
| | | { value: '1', label: '一' }, { value: '2', label: '二' }, { value: '3', label: '三' } |
| | | ]; |
| | | const content = selectedTab1 === '1' |
| | | ? `鉴于本事项的重要性及紧迫性,现要求你尽快启动调解程序,并确保案件能够得到及时有效的处理。请您务必于本周内完成以下事项:XX、XX、XX。请确保在事项办理的过程中,遵循公平、公正的原则,并积极促进双方达成共识` |
| | | : '1'; |
| | | |
| | | useEffect(() => { |
| | | listFeedback(caseId); |
| | | getData(caseId) |
| | | getFeedbackInfo(); |
| | | }, []) |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | useEffect(() => { |
| | | if (authorData) { |
| | | const { buttonList } = authorData; |
| | | setStaticButtonList(myButton.filter(item => { |
| | | const flag = buttonList.some(result => { |
| | | if (result.id === item.key) { |
| | | return true |
| | | } |
| | | }) |
| | | return flag |
| | | })) |
| | | } |
| | | }, [authorData]) |
| | | |
| | | const handleCheckedKeys = (userId) => { |
| | | choosePrincipal(userId) |
| | | } |
| | | |
| | | const [scannerVisible, setScannerVisible] = useState(false); |
| | | |
| | | const handleConfirm = () => { |
| | | // 处理确认逻辑 |
| | |
| | | setScannerVisible(false); |
| | | }; |
| | | |
| | | const openScanner = () => { |
| | | setScannerVisible(true); |
| | | }; |
| | | |
| | | |
| | | const choosePrincipal = async (id) => { |
| | | const res = await choosePrincipalApi(caseId, id) |
| | | if (res.type) { |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | //删除文件 |
| | | const handleDelFile = async (id) => { |
| | | const res = await delFile(id) |
| | |
| | | $$.infoSuccess({ content: '删除成功!' }); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | //新增、编辑办理理由 |
| | | const saveFeedback = async (submitData) => { |
| | |
| | | if (type === 'uniteHandle') { |
| | | setUniteHandleId(res.data) |
| | | } |
| | | if (type === 'addMark') |
| | | if (type === 'addMark') { |
| | | setId(res.data) |
| | | } |
| | | if (type === 'caseResult') { |
| | | setCaseResultId(res.data) |
| | | } |
| | |
| | | const res = await getListCaseFlow(id) |
| | | if (res.type) { |
| | | setProgressData(res.data) |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | const handleSubmit = async () => { |
| | | if (formRef.current) { |
| | | formRef.current.validate(undefined, (errors, values) => { |
| | | if (!errors) { |
| | | const params = formRef.current.getFields() |
| | | |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | |
| | | setUniteHandleView(!uniteHandleView) |
| | | } |
| | | |
| | | |
| | | |
| | | const handleTabChange1 = (newTabIndex) => { |
| | | setSelectedTab1(newTabIndex); |
| | | }; |
| | | |
| | | const content = selectedTab1 === '1' |
| | | ? `鉴于本事项的重要性及紧迫性,现要求你尽快启动调解程序,并确保案件能够得到及时有效的处理。请您务必于本周内完成以下事项:XX、XX、XX。请确保在事项办理的过程中,遵循公平、公正的原则,并积极促进双方达成共识` |
| | | : '1'; |
| | | |
| | | const handleSupervising = () => { |
| | | setSupervising(!supervising) |
| | | } |
| | | |
| | | const handlePersonView = () => { |
| | | getByIdRole(); |
| | | |
| | | } |
| | | |
| | | const handleCaseResultApply = () => { |
| | | SetCaseResult(!caseResult) |
| | | getNewTimeId('caseResult') |
| | | } |
| | | |
| | | |
| | | useEffect(() => { |
| | | listFeedback(caseId); |
| | | getData(caseId) |
| | | getFeedbackInfo(); |
| | | }, []) |
| | | |
| | | // useEffect(() => { |
| | | // if (authorData) { |
| | | // const { buttonList } = authorData; |
| | | // setStaticButtonList(myButton.filter(item => { |
| | | // const flag = buttonList.some(result => { |
| | | // if (result.id === item.key) { |
| | | // return true |
| | | // } |
| | | // }) |
| | | // return flag |
| | | // })) |
| | | // } |
| | | // }, [authorData]) |
| | | |
| | | |
| | | |
| | | return ( |
| | | <> |
| | |
| | | <Row gutter={[32, 0]}> |
| | | <Col span={24}> |
| | | <FormItem |
| | | label={<div style={{ display: 'flex' }}> |
| | | 办理意见 |
| | | <img src={scan} alt="" style={{ marginRight: '-2px', marginLeft: '8px' }} /> |
| | | <div style={{ marginLeft: '8px', color: '#1A6FB8', fontSize: '14px', cursor: 'pointer' }} onClick={openScanner}>识别材料</div> |
| | | </div> |
| | | } |
| | | label={(<div style={{ display: 'flex' }}>办理意见<div className="must">必填</div></div>)} |
| | | field='handleContent' |
| | | rules={[{ message: '请填写办理意见', required: true }]} |
| | | > |
| | |
| | | {/* } */} |
| | | </Col> |
| | | </Form> |
| | | {!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> |
| | | {staticButtonList?.map(item => { |
| | | const { label, key, click, ...rest } = item; |
| | | return <Button key={key} onClick={click} {...rest} >{label}</Button> |
| | | })} |
| | | <Button type='secondary' onClick={() => navigate(-1)}>返回上级页面</Button> |
| | | </Space> |
| | | </div> |
| | | |
| | | } |
| | | </div> |
| | | <div className='container-bottom-right'> |
| | | <Tabs defaultActiveTab='1' className='tabs-container' > |
| | |
| | | <div className='progress' style={{ paddingBottom: '16px', marginTop: '0px' }} > |
| | | <ProgressStep progressData={progressData} hasTab={true} /> |
| | | </div> |
| | | |
| | | {/* <div style={{ display: 'flex', marginLeft: '16px', gap: '16px' }}> |
| | | {tabs.map((tab) => ( |
| | | <div |
| | | key={tab.index} |
| | | style={{ |
| | | color: selectedTab === tab.index ? 'rgba(26,111,184,1)' : 'rgba(0,0,0,0.45)', |
| | | padding: '6px 12px', |
| | | border: `1px solid ${selectedTab === tab.index ? 'rgba(26,111,184,1)' : 'rgba(229,230,235,1)'}`, |
| | | borderRadius: '4px', |
| | | cursor: 'pointer', |
| | | }} |
| | | onClick={() => handleTabChange(tab.index)} |
| | | > |
| | | {tab.label} |
| | | </div> |
| | | ))} |
| | | </div> |
| | | {selectedTab === '1' && |
| | | <div className='progress'> |
| | | <ProgressStep progressData={fakeData} /> |
| | | </div> |
| | | } */} |
| | | </Typography.Paragraph> |
| | | </TabPane> |
| | | <TabPane |
| | |
| | | onConfirm={handleConfirm} |
| | | onCancel={handleCancel} |
| | | /> |
| | | <Modal visible={personView} onCancel={() => setPersonView(false)} title='工作人员信息' centered footer={null}> |
| | | <table border="1" align="center" cellpadding="5" className="table"> |
| | | <tr> |
| | | <th bgcolor="#F7F8FA" className="table-title" width="120">姓名</th> |
| | | <td width='380'><div style={{ display: 'flex' }}><div>{personData?.trueName}</div></div></td> |
| | | <th bgcolor="#F7F8FA" className="table-title" width="120">登录账号</th> |
| | | <td width='380'>{personData?.acc}</td> |
| | | </tr> |
| | | <tr> |
| | | <th bgcolor="#F7F8FA" className="table-title">手机号码</th> |
| | | <td>{personData?.mobile}</td> |
| | | <th bgcolor="#F7F8FA" className="table-title">工作电话</th> |
| | | <td>-</td> |
| | | </tr> |
| | | <tr> |
| | | <th bgcolor="#F7F8FA" className="table-title">所属部门</th> |
| | | <td>{personData?.unitName}</td> |
| | | <th bgcolor="#F7F8FA" className="table-title">职务</th> |
| | | <td>{personData?.userRoles}</td> |
| | | </tr> |
| | | </table> |
| | | </Modal> |
| | | <Modal visible={supervising} onCancel={() => setSupervising(false)} title='督办' centered footer={null}> |
| | | <Form |
| | | ref={formRef} |
| | |
| | | </Row> |
| | | </Form> |
| | | </Modal> |
| | | <UniteHandle id={uniteHandleId} visible={uniteHandleView} handleOnCancel={() => setUniteHandleView(false)} /> |
| | | <UniteHandle id={uniteHandleId} visible={uniteHandleView} handleOnCancel={() => setUniteHandleView(false)} caseId={caseId} caseTaskId={caseTaskId} /> |
| | | <CaseResult visible={caseResult} handleOnCancel={() => SetCaseResult(false)} caseResultId={caseResultId} caseId={caseId} caseTaskId={caseTaskId} /> |
| | | |
| | | </div> |