import React from 'react'; import Taro from '@tarojs/taro'; import { View } from '@tarojs/components'; import { Button, Dialog } from '@antmjs/vantui'; import OrgPicker from "@/components/OrgPicker"; import { postIssueAssignedAgain, putTaIssue, copyTaIssue } from '@/services/taissue'; import { warn } from '@/utils/message'; export default (props) => { const { issue } = props; const formDataRef = React.useRef(); const dialogId = React.useMemo(() => `dialog-${Math.random().toString(36).substring(2, 7)}`, []); const [loading1, setLoading1] = React.useState(false); const [loading2, setLoading2] = React.useState(false); const [showOrgPicker, setShowOrgPicker] = React.useState(false); // 交办 const onAssigned = () => { try { // warn(!formData.addr, '请填写地址') // warn(!formData.locId, '请选择点位') // warn(!formData.content, '请填写问题描述') // warn(!formData.typeId, '请选择问题分类') // warn(!formData.attachList || formData.attachList.length < 1, '请上传照片') warn(!formDataRef.current?.orgId, '请选择交办单位') // warn(!formData.expireDate, '请选择办结时间') } catch (e) { return; } setLoading1(true) const data = { ...issue, ...(formDataRef.current || {}) }; // 先提交修改 putTaIssue(issue.issueId, data).then(() => { // 再提交交办 postIssueAssignedAgain({ ...data, nextOrg: data.orgId }).then(() => { setLoading1(false); Taro.navigateBack({ delta: 1 }); }).catch(() => { setLoading1(false); }) }).catch(() => { setLoading1(false); }) } const onOrgChange = (_, it) => { const data = { ...(formDataRef.current || {}), orgId: it.orgId, orgName: it.name, }; formDataRef.current = data; setShowOrgPicker(false); onAssigned(); }; return ( <View style={{ marginTop: '20px', display: 'flex' }}> <Dialog id={dialogId} /> <OrgPicker parentId={issue.orgId} show={showOrgPicker} value={formDataRef.current?.orgName} onCancel={() => setShowOrgPicker(false)} onChange={onOrgChange} /> <Button block type="primary" loading={loading1} onClick={() => setShowOrgPicker(true)} >交办</Button> </View> ) }