Merge branch 'master' of http://120.79.193.119:9090/r/gzzfw/frontEnd/gzDyh into master
1 files added
30 files modified
| | |
| | | * @Company: hugeInfo |
| | | * @Author: ldh |
| | | * @Date: 2022-02-16 11:25:57 |
| | | * @LastEditTime: 2024-09-10 10:36:24 |
| | | * @LastEditTime: 2024-09-10 16:55:40 |
| | | * @LastEditors: lwh |
| | | * @Version: 1.0.0 |
| | | * @Description: api地址 |
| | |
| | | // 签章的文档编辑链接 |
| | | fileDocx2: "/InsertSeal/Word/AddSeal1/Word1", |
| | | |
| | | // 不同服务接口type |
| | | mediate: "dyh-mediate", // dyh-mediate |
| | | cust: "dyh-cust", // dyh-cust |
| | | oper: "dyh-oper", // dyh-oper |
| | | sys: "dyh-sys", // dyh-sys |
| | | disp: "dyh-disp", //dyh-disp |
| | | utils: "dyh-utils", |
| | | // 不同服务接口type |
| | | mediate: 'dyh-mediate', // dyh-mediate |
| | | cust: 'dyh-cust', // dyh-cust |
| | | oper: 'dyh-oper', // dyh-oper |
| | | sys: 'dyh-sys', // dyh-sys |
| | | disp: 'dyh-disp', //dyh-disp |
| | | utils: 'dyh-utils', |
| | | }; |
| | | |
| | | // 正式版 |
| | | export const web = { |
| | | // web服务 |
| | | baseUrl: "https://zfw-dyh.by.gov.cn", |
| | | // baseUrl: 'http://146.4.99.61:8088/byzfw', |
| | | // web服务 |
| | | baseUrl: 'https://zfw-dyh.by.gov.cn', |
| | | // baseUrl: 'http://146.4.99.61:8088/byzfw', |
| | | |
| | | // 附件服务 |
| | | fileUrl: "https://zfw-dyh.by.gov.cn", |
| | | // 附件服务 |
| | | fileUrl: 'https://zfw-dyh.by.gov.cn', |
| | | |
| | | // 文件查看url 后面接附件编号 |
| | | fileShowUrl: '/dyh-sys/api/v1/fileInfo/show/', |
| | |
| | | // 签章的文档编辑链接 |
| | | fileDocx2: '/InsertSeal/Word/AddSeal1/Word1', |
| | | |
| | | // 不同服务接口type |
| | | mediate: "gzdyh-mediate", // dyh-mediate |
| | | cust: "gzdyh-cust", // dyh-cust |
| | | oper: "gzdyh-oper", // dyh-oper |
| | | sys: "gzdyh-sys", // dyh-sys |
| | | disp: "gzdyh-disp", //dyh-disp |
| | | utils: "gzdyh-utils", |
| | | // 不同服务接口type |
| | | mediate: 'gzdyh-mediate', // dyh-mediate |
| | | cust: 'gzdyh-cust', // dyh-cust |
| | | oper: 'gzdyh-oper', // dyh-oper |
| | | sys: 'gzdyh-sys', // dyh-sys |
| | | disp: 'gzdyh-disp', //dyh-disp |
| | | utils: 'gzdyh-utils', |
| | | }; |
| | |
| | | } |
| | | |
| | | function delFile(id) { |
| | | return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'delete', service: 'sys', data: { id } }); |
| | | return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'get', service: 'sys', data: { id } }); |
| | | } |
| | | |
| | | function submit(data) { |
| | |
| | | } |
| | | |
| | | function delFile(id) { |
| | | return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'delete', service: 'sys', data: { id } }); |
| | | return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'get', service: 'sys', data: { id } }); |
| | | } |
| | | |
| | | export default function BackModel(props) { |
| | |
| | | } |
| | | |
| | | function delFile(id) { |
| | | return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'delete', service: 'sys', data: { id } }); |
| | | return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'get', service: 'sys', data: { id } }); |
| | | } |
| | | |
| | | function returnApply(data) { |
| | |
| | | } |
| | | |
| | | function delFile(id) { |
| | | return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'delete', service: 'sys', data: { id } }); |
| | | return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'get', service: 'sys', data: { id } }); |
| | | } |
| | | |
| | | function appearApply(data) { |
| | |
| | | } |
| | | |
| | | function delFile(id) { |
| | | return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'delete', service: 'sys', data: { id } }); |
| | | return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'get', service: 'sys', data: { id } }); |
| | | } |
| | | |
| | | export default function Examine(props) { |
| | |
| | | |
| | | |
| | | function delFile(id) { |
| | | return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'delete', service: 'sys', data: { id } }); |
| | | return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'get', service: 'sys', data: { id } }); |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | function delFile(id) { |
| | | return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'delete', service: 'sys', data: { id } }); |
| | | return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'get', service: 'sys', data: { id } }); |
| | | } |
| | | |
| | | function getNewTimeIdApi(id) { |
| | |
| | | const appUrl = $$.appUrl; |
| | | |
| | | function delFile(id) { |
| | | return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'delete', service: 'sys', data: { id } }); |
| | | return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'get', service: 'sys', data: { id } }); |
| | | } |
| | | |
| | | function deleteFileByIdApi(data) { |
| | | return $$.ax.request({ url: `fileInfo/deleteFileByIds`, type: 'delete', service: 'sys', data }); |
| | | return $$.ax.request({ url: `fileInfo/deleteFileByIds`, type: 'get', service: 'sys', data }); |
| | | } |
| | | |
| | | //表格数据 |
| | |
| | | return ( |
| | | <Col span={12} key={t}> |
| | | <div |
| | | onClick={() => { x.value !== sourceType && setSourceType(x.value) }} |
| | | className={`casePerfection-cardTab-tab ${x.value === sourceType && 'casePerfection-cardTab-tabActive'}`} |
| | | > |
| | | <img src={x.value === sourceType ? personIconType(x.value)?.[1] : personIconType(x.value)?.[0]} alt="" style={{ width: '40px', height: '40px' }} /> |
| | |
| | | import * as $$ from '@/utils/utility'; |
| | | import { Form, Input, Modal, Upload } from '@arco-design/web-react'; |
| | | import { IconLink } from '@arco-design/web-react/icon'; |
| | | |
| | | import './index.less' |
| | | |
| | | const FormItem = Form.Item; |
| | | const appUrl = $$.appUrl; |
| | |
| | | |
| | | return ( |
| | | <> |
| | | |
| | | <Modal |
| | | style={{ width: '944px' }} |
| | | visible={scanImage} |
| | | onCancel={() => setScanImage(false)} |
| | | footer={null} |
| | | title='选择识别范围' |
| | | centered |
| | | unmountOnExit={true} |
| | | maskClosable={false} |
| | | > |
| | | <img |
| | | src={fileView?.url} |
| | | alt="" |
| | | style={{ |
| | | display: 'block', |
| | | margin: 'auto', |
| | | maxWidth: '100%', |
| | | maxHeight: '100%', |
| | | objectFit: 'contain', |
| | | }} |
| | | /> |
| | | <div><Button type="primary" onClick={() => handleScaned()} style={{ marginTop: '20px' }}>开始识别</Button></div> |
| | | </Modal> |
| | | <Modal |
| | | style={{ width: '1200px' }} |
| | | visible={visible} |
| | |
| | | |
| | | </Form> |
| | | |
| | | </Modal> |
| | | </Modal > |
| | | <Modal |
| | | style={{ width: '944px' }} |
| | | visible={scanImage} |
| | | onCancel={() => setScanImage(false)} |
| | | footer={null} |
| | | title='选择识别范围' |
| | | centered |
| | | unmountOnExit={true} |
| | | maskClosable={false} |
| | | > |
| | | <img |
| | | src={fileView?.url} |
| | | alt="" |
| | | style={{ |
| | | display: 'block', |
| | | margin: 'auto', |
| | | maxWidth: '100%', |
| | | maxHeight: '100%', |
| | | objectFit: 'contain', |
| | | }} |
| | | /> |
| | | <div><Button type="primary" onClick={() => handleScaned()} style={{ marginTop: '20px' }}>开始识别</Button></div> |
| | | </Modal> |
| | | <Modal |
| | | className='scan-modal' |
| | | style={{ width: '1200px' }} |
| | | wrapStyle={{ zIndex: 1002 }} |
| | | visible={scaned} |
| | | onCancel={() => setScaned(false)} |
| | | footer={null} |
| | |
| | | const appUrl = $$.appUrl; |
| | | |
| | | function delFile(id) { |
| | | return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'delete', service: 'sys', data: { id } }); |
| | | return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'get', service: 'sys', data: { id } }); |
| | | } |
| | | |
| | | |
| | |
| | | const appUrl = $$.appUrl; |
| | | |
| | | function delFile(id) { |
| | | return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'delete', service: 'sys', data: { id } }); |
| | | return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'get', service: 'sys', data: { id } }); |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | function delFile(id) { |
| | | return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'delete', service: 'sys', data: { id } }); |
| | | return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'get', service: 'sys', data: { id } }); |
| | | } |
| | | |
| | | export default function AgentDialog(props) { |
| | |
| | | } |
| | | |
| | | function delFile(id) { |
| | | return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'delete', service: 'sys', data: { id } }); |
| | | return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'get', service: 'sys', data: { id } }); |
| | | } |
| | | |
| | | export default function ApplyDialog(props) { |
| | |
| | | const [addVisabled, setAddVisabled] = useState(false);//添加当事人弹窗控制 |
| | | const [fakeData, setFakeData] = useState([]);//当事人信息数据 |
| | | const [scanFile, setScanFile] = useState(false); |
| | | const [ocrText, setOcrText] = useState(''); |
| | | |
| | | const [mapView, setMapView] = useState(false); |
| | | const [visible, setVisible] = useState(false); |
| | |
| | | |
| | | const handleConfirm = (scanContent) => { |
| | | // 处理确认逻辑 |
| | | props.formRef.current.setFieldValue('caseDes', scanContent) |
| | | props.formRef.current.setFieldValue(ocrText, scanContent) |
| | | setScanFile(false); |
| | | console.log(scanContent, 'scanContent') |
| | | |
| | |
| | | </Tooltip> |
| | | <div className="must" style={{ marginLeft: '4px' }}>必填</div> |
| | | <img src={scan} alt="" style={{ marginRight: '-2px', marginLeft: '8px' }} /> |
| | | <div style={{ marginLeft: '8px', color: '#1A6FB8', fontSize: '14px', cursor: 'pointer' }} onClick={() => setScanFile(true)}>识别上传材料</div> |
| | | <div style={{ marginLeft: '8px', color: '#1A6FB8', fontSize: '14px', cursor: 'pointer' }} onClick={() => { setScanFile(true); setOcrText('caseDes') }}>识别上传材料</div> |
| | | </div> |
| | | } |
| | | field='caseDes' |
| | |
| | | </Tooltip> */} |
| | | <div className="must">必填</div> |
| | | <img src={scan} alt="" style={{ marginRight: '-2px', marginLeft: '8px' }} /> |
| | | <div style={{ marginLeft: '8px', color: '#1A6FB8', fontSize: '14px', cursor: 'pointer' }} onClick={() => setScanFile(true)}>识别上传材料</div> |
| | | <div style={{ marginLeft: '8px', color: '#1A6FB8', fontSize: '14px', cursor: 'pointer' }} onClick={() => { setScanFile(true); setOcrText('caseClaim') }}>识别上传材料</div> |
| | | </div> |
| | | } |
| | | field='caseClaim' |
| | |
| | | </div> |
| | | </Row> |
| | | |
| | | </Form> |
| | | </Form > |
| | | <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '8px', marginTop: '20px' }}> |
| | | <Space size='small'> |
| | | <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>事件材料</h4> |
| | |
| | | <div style={{ marginBottom: '65px' }}> |
| | | <FileTable mainId={props.mainId} fileInfoList={props.fileInfoList} isReview={false} /> |
| | | </div> |
| | | |
| | | |
| | | <DocumentScanner |
| | | visible={scanFile} |
| | | onConfirm={handleConfirm} |
| | |
| | | /* |
| | | * @Author: dminyi 1301963064@qq.com |
| | | * @Date: 2024-08-09 09:59:43 |
| | | * @LastEditors: dminyi 1301963064@qq.com |
| | | * @LastEditTime: 2024-09-10 10:10:03 |
| | | * @LastEditors: lwh |
| | | * @LastEditTime: 2024-09-10 16:59:07 |
| | | * @FilePath: \gzDyh\gz-customerSystem\src\views\basicInformation\organization\index.jsx |
| | | * @Description: 来访登记 |
| | | */ |
| | |
| | | const Step = Steps.Step; |
| | | |
| | | function saveDispute(data) { |
| | | return $$.ax.request({ url: `casedraftInfo/caseDraftRegister`, type: 'post', service: 'mediate', data }); |
| | | return $$.ax.request({ url: `casedraftInfo/caseDraftRegister`, type: 'post', service: 'mediate', data }); |
| | | } |
| | | |
| | | function getId() { |
| | | return $$.ax.request({ url: `caseUtils/getNewTimeCaseId`, type: 'get', service: 'utils' }); |
| | | return $$.ax.request({ url: `caseUtils/getNewTimeCaseId`, type: 'get', service: 'utils' }); |
| | | } |
| | | |
| | | function submitDispute(data) { |
| | | return $$.ax.request({ url: `caseInfo/caseRegister`, type: 'post', service: 'mediate', data }); |
| | | return $$.ax.request({ url: `caseInfo/caseRegister`, type: 'post', service: 'mediate', data }); |
| | | } |
| | | |
| | | function getDetailData(id) { |
| | | return $$.ax.request({ url: `casedraftInfo/getCasedraftInfo?id=${id}`, type: 'get', service: 'mediate' }); |
| | | return $$.ax.request({ url: `casedraftInfo/getCasedraftInfo?id=${id}`, type: 'get', service: 'mediate' }); |
| | | } |
| | | |
| | | |
| | | const Organization = (props) => { |
| | | const formRef = useRef(); |
| | | const routeData = useParams(); |
| | | const navigate = useNavigate(); |
| | | const [isReview, setIsReview] = useState(false);//预览页面控制 |
| | | const [current, setCurrent] = useState(1); |
| | | const [id, setId] = useState(); |
| | | const [editData, setEditData] = useState({});//回显数据 |
| | | const formRef = useRef(); |
| | | const routeData = useParams(); |
| | | const navigate = useNavigate(); |
| | | const [isReview, setIsReview] = useState(false);//预览页面控制 |
| | | const [current, setCurrent] = useState(1); |
| | | const [id, setId] = useState(); |
| | | const [editData, setEditData] = useState({});//回显数据 |
| | | |
| | | useEffect(() => { |
| | | if (routeData.id) { |
| | | getDeatil(routeData.id) |
| | | setId(routeData.id) |
| | | } else { |
| | | getAppId() |
| | | } |
| | | useEffect(() => { |
| | | if (routeData.id) { |
| | | getDeatil(routeData.id) |
| | | setId(routeData.id) |
| | | } else { |
| | | getAppId() |
| | | } |
| | | |
| | | }, []) |
| | | }, []) |
| | | |
| | | //编辑 |
| | | const getDeatil = async (id) => { |
| | | const res = await getDetailData(id) |
| | | if (res.type) { |
| | | const { agentList, personList, ...rest } = res.data |
| | | const parList = agentList.concat(personList) |
| | | const obj = { |
| | | ...rest, |
| | | fakeData: parList, |
| | | myCaseType: [rest.caseTypeFirst, rest.caseType], |
| | | myQuesAddress: rest.queRoad ? [rest.queProv, rest.queCity, rest.queArea, rest.queRoad] : undefined |
| | | } |
| | | formRef.current.setFieldsValue(obj) |
| | | setEditData(obj) |
| | | } |
| | | } |
| | | //编辑 |
| | | const getDeatil = async (id) => { |
| | | const res = await getDetailData(id) |
| | | if (res.type) { |
| | | const { agentList, personList, ...rest } = res.data |
| | | const parList = agentList.concat(personList) |
| | | const obj = { |
| | | ...rest, |
| | | fakeData: parList, |
| | | myCaseType: [rest.caseTypeFirst, rest.caseType], |
| | | myQuesAddress: rest.queRoad ? [rest.queProv, rest.queCity, rest.queArea, rest.queRoad] : undefined |
| | | } |
| | | formRef.current.setFieldsValue(obj) |
| | | setEditData(obj) |
| | | } |
| | | } |
| | | |
| | | //获取id |
| | | const getAppId = async () => { |
| | | const res = await getId() |
| | | if (res.type) { |
| | | setId(res.data) |
| | | } |
| | | } |
| | | //获取id |
| | | const getAppId = async () => { |
| | | const res = await getId() |
| | | if (res.type) { |
| | | setId(res.data) |
| | | } |
| | | } |
| | | |
| | | //提交信息,需要校验规则 |
| | | const handleSubmit = async () => { |
| | | if (formRef.current) { |
| | | formRef.current.validate(undefined, (errors, values) => { |
| | | if (!errors) { |
| | | const { myCaseType, myQuesAddress, ...rest } = formRef.current.getFields() |
| | | const params = handleData(rest) |
| | | reauestSubmit({ |
| | | ...params, |
| | | isSelfAccept: 0, |
| | | isDraft: 0, |
| | | operateType: 0, |
| | | }) |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | //提交信息,需要校验规则 |
| | | const handleSubmit = async () => { |
| | | if (formRef.current) { |
| | | formRef.current.validate(undefined, (errors, values) => { |
| | | if (!errors) { |
| | | const { myCaseType, myQuesAddress, ...rest } = formRef.current.getFields() |
| | | const params = handleData(rest) |
| | | $$.modalInfo({ |
| | | title: '提醒', |
| | | content: '确定提交吗?', |
| | | cancelText: '我再想想', |
| | | onOk: () => { |
| | | reauestSubmit({ |
| | | ...params, |
| | | isSelfAccept: 0, |
| | | isDraft: 0, |
| | | operateType: 0, |
| | | }) |
| | | }, |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | //保存草稿信息,不需要校验规则 |
| | | const handleSave = () => { |
| | | if (formRef.current) { |
| | | const { myCaseType, myQuesAddress, ...rest } = formRef.current.getFields() |
| | | const params = handleData(rest) |
| | | requestSave(params) |
| | | } |
| | | } |
| | | //保存草稿信息,不需要校验规则 |
| | | const handleSave = () => { |
| | | if (formRef.current) { |
| | | const { myCaseType, myQuesAddress, ...rest } = formRef.current.getFields() |
| | | const params = handleData(rest) |
| | | requestSave(params) |
| | | } |
| | | } |
| | | |
| | | //数据处理 |
| | | const handleData = (data) => { |
| | | const { fakeData, ...newObj } = data |
| | | if (data.id) { |
| | | return { |
| | | ...newObj, |
| | | personList: fakeData?.filter(item => item.perType === "15_020008-1" || item.perType === "15_020008-2"), |
| | | agentList: fakeData?.filter(item => item.perType === "24_00006-1" || item.perType === "24_00006-2").map(item => { |
| | | return { |
| | | ...item, |
| | | personId: item.personId.join(',') |
| | | } |
| | | }), |
| | | } |
| | | } else { |
| | | return { |
| | | ...newObj, |
| | | personList: fakeData?.filter(item => item.perType === "15_020008-1" || item.perType === "15_020008-2"), |
| | | agentList: fakeData?.filter(item => item.perType === "24_00006-1" || item.perType === "24_00006-2").map(item => { |
| | | return { |
| | | ...item, |
| | | personId: item.personId.join(',') |
| | | } |
| | | }), |
| | | id: id |
| | | } |
| | | } |
| | | } |
| | | //数据处理 |
| | | const handleData = (data) => { |
| | | const { fakeData, ...newObj } = data |
| | | if (data.id) { |
| | | return { |
| | | ...newObj, |
| | | personList: fakeData?.filter(item => item.perType === "15_020008-1" || item.perType === "15_020008-2"), |
| | | agentList: fakeData?.filter(item => item.perType === "24_00006-1" || item.perType === "24_00006-2").map(item => { |
| | | return { |
| | | ...item, |
| | | personId: item.personId.join(',') |
| | | } |
| | | }), |
| | | } |
| | | } else { |
| | | return { |
| | | ...newObj, |
| | | personList: fakeData?.filter(item => item.perType === "15_020008-1" || item.perType === "15_020008-2"), |
| | | agentList: fakeData?.filter(item => item.perType === "24_00006-1" || item.perType === "24_00006-2").map(item => { |
| | | return { |
| | | ...item, |
| | | personId: item.personId.join(',') |
| | | } |
| | | }), |
| | | id: id |
| | | } |
| | | } |
| | | } |
| | | |
| | | //预览信息 |
| | | const handleReview = () => { |
| | | setIsReview(!isReview) |
| | | } |
| | | //预览信息 |
| | | const handleReview = () => { |
| | | setIsReview(!isReview) |
| | | } |
| | | |
| | | function selfAcceptance() { |
| | | $$.modalInfo({ |
| | | title: '自行受理确认', |
| | | content: '确定自行受理吗?', |
| | | okText: '确定受理', |
| | | cancelText: '我再想想', |
| | | onOk: async () => { |
| | | setCurrent(3); |
| | | navigate(`mediate/visit/handleFeedback`, { replace: true }) |
| | | }, |
| | | }); |
| | | } |
| | | function selfAcceptance() { |
| | | $$.modalInfo({ |
| | | title: '自行受理确认', |
| | | content: '确定自行受理吗?', |
| | | okText: '确定受理', |
| | | cancelText: '我再想想', |
| | | onOk: async () => { |
| | | setCurrent(3); |
| | | navigate(`mediate/visit/handleFeedback`, { replace: true }) |
| | | }, |
| | | }); |
| | | } |
| | | |
| | | //保存请求 |
| | | const requestSave = async (data) => { |
| | | const response = await saveDispute(data) |
| | | if (response.type) { |
| | | Message.success('保存草稿成功!') |
| | | } |
| | | } |
| | | //保存请求 |
| | | const requestSave = async (data) => { |
| | | const response = await saveDispute(data) |
| | | if (response.type) { |
| | | Message.success('保存草稿成功!') |
| | | } |
| | | } |
| | | |
| | | //提交请求 |
| | | const reauestSubmit = async (data) => { |
| | | const response = await submitDispute(data) |
| | | if (response.type) { |
| | | Message.success('提交成功!') |
| | | navigate(`/mediate/visit/visitWorkBench`, { replace: true }) |
| | | setCurrent(2) |
| | | } |
| | | } |
| | | //提交请求 |
| | | const reauestSubmit = async (data) => { |
| | | const response = await submitDispute(data) |
| | | if (response.type) { |
| | | Message.success('提交成功!') |
| | | navigate(`/mediate/visit/visitWorkBench`, { replace: true }) |
| | | setCurrent(2) |
| | | } |
| | | } |
| | | |
| | | return ( |
| | | <div style={{ position: 'relative' }}> |
| | | <NewPage |
| | | pageHead={ |
| | | { breadcrumbData: [{ title: '工作台' }, { title: '来访登记' }], title: '来访登记' } |
| | | } |
| | | > |
| | | <Fragment> |
| | | <div style={{ backgroundColor: '#fff', margin: '12px 16px 0px 16px', paddingTop: '16px', paddingLeft: '91px' }}> |
| | | <Steps type='navigation' current={current}> |
| | | <Step title='来访登记' disabled /> |
| | | <Step title='事件流转' disabled /> |
| | | <Step title='办理反馈' disabled /> |
| | | <Step title='结案审核' disabled /> |
| | | <Step title='当事人评价' disabled /> |
| | | <Step title='结案归档' disabled /> |
| | | </Steps> |
| | | </div> |
| | | <div style={{ backgroundColor: '#ffff', margin: '8px 8px 0px 16px', padding: '12px 18px 16px 16px', height: 'calc(100vh - 228px)', overflowY: 'scroll', display: isReview ? '' : 'none' }}> |
| | | <Preview style={{ display: isReview ? '' : 'none' }} data={formRef?.current?.getFields()} mainId={id} /> |
| | | </div> |
| | | <VisitorRegister |
| | | formRef={formRef} |
| | | style={{ display: isReview ? 'none' : '' }} |
| | | mainId={id} |
| | | partyList={editData.fakeData} |
| | | fileInfoList={editData.fileInfoList} |
| | | /> |
| | | <div className="dataSync-excel"> |
| | | <Space size="large" style={{ margin: '4px 14px' }}> |
| | | <Button type="primary" style={{ backgroundColor: '#1A6FB8' }} onClick={handleSave} >保存</Button> |
| | | <Button type='outline' style={{ color: '#1A6FB8', border: '1px solid #1A6FB8' }} onClick={handleReview}>预览</Button> |
| | | <Button type='outline' style={{ color: '#1A6FB8', border: '1px solid #1A6FB8' }} onClick={handleSubmit}>提交</Button> |
| | | <Button type='outline' style={{ color: '#1A6FB8', border: '1px solid #1A6FB8' }} onClick={() => selfAcceptance()}>自行受理</Button> |
| | | <Button type='secondary' onClick={handleReview}>返回上级页面</Button> |
| | | </Space> |
| | | </div> |
| | | </Fragment> |
| | | </NewPage> |
| | | </div> |
| | | ) |
| | | return ( |
| | | <div style={{ position: 'relative' }}> |
| | | <NewPage |
| | | pageHead={ |
| | | { breadcrumbData: [{ title: '工作台' }, { title: '来访登记' }], title: '来访登记' } |
| | | } |
| | | > |
| | | <Fragment> |
| | | <div style={{ backgroundColor: '#fff', margin: '12px 16px 0px 16px', paddingTop: '16px', paddingLeft: '91px' }}> |
| | | <Steps type='navigation' current={current}> |
| | | <Step title='来访登记' disabled /> |
| | | <Step title='事件流转' disabled /> |
| | | <Step title='办理反馈' disabled /> |
| | | <Step title='结案审核' disabled /> |
| | | <Step title='当事人评价' disabled /> |
| | | <Step title='结案归档' disabled /> |
| | | </Steps> |
| | | </div> |
| | | <div style={{ backgroundColor: '#ffff', margin: '8px 8px 0px 16px', padding: '12px 18px 16px 16px', height: 'calc(100vh - 228px)', overflowY: 'scroll', display: isReview ? '' : 'none' }}> |
| | | <Preview style={{ display: isReview ? '' : 'none' }} data={formRef?.current?.getFields()} mainId={id} /> |
| | | </div> |
| | | <VisitorRegister |
| | | formRef={formRef} |
| | | style={{ display: isReview ? 'none' : '' }} |
| | | mainId={id} |
| | | partyList={editData.fakeData} |
| | | fileInfoList={editData.fileInfoList} |
| | | /> |
| | | <div className="dataSync-excel"> |
| | | <Space size="large" style={{ margin: '4px 14px' }}> |
| | | <Button type="primary" style={{ backgroundColor: '#1A6FB8' }} onClick={handleSave} >保存</Button> |
| | | <Button type='outline' style={{ color: '#1A6FB8', border: '1px solid #1A6FB8' }} onClick={handleReview}>预览</Button> |
| | | <Button type='outline' style={{ color: '#1A6FB8', border: '1px solid #1A6FB8' }} onClick={handleSubmit}>提交</Button> |
| | | <Button type='outline' style={{ color: '#1A6FB8', border: '1px solid #1A6FB8' }} onClick={() => selfAcceptance()}>自行受理</Button> |
| | | <Button type='secondary' onClick={handleReview}>返回上级页面</Button> |
| | | </Space> |
| | | </div> |
| | | </Fragment> |
| | | </NewPage> |
| | | </div> |
| | | ) |
| | | } |
| | | |
| | | export default Organization; |
| | |
| | | |
| | | // === 测试环境 === |
| | | // debug: 'https://gz.hugeinfo.com.cn/', |
| | | debug: 'http://8pxgs3.natappfree.cc/', |
| | | debug: 'http://b5qpdu.natappfree.cc/', |
| | | img: 'http://120.79.193.119:9103/wx414ae04ac3f10b4e/images/', |
| | | assets: 'http://120.79.193.119:9103/wx414ae04ac3f10b4e/js/', |
| | | txt: 'http://120.79.193.119:9103/wx414ae04ac3f10b4e/txt/', |
| | |
| | | // 文件下载url 后面接附件编号 |
| | | |
| | | // 不同服务接口type |
| | | // fileShowUrl: 'dyh-sys', |
| | | // fileDownUrl: 'dyh-sys', |
| | | // mediate: 'dyh-mediate', // dyh-mediate |
| | | // cust: 'dyh-cust', // dyh-cust |
| | | // oper: 'dyh-oper', // dyh-oper |
| | | // sys: 'dyh-sys', // dyh-sys |
| | | // disp: 'dyh-disp', //dyh-disp |
| | | // utils: 'dyh-utils', //dyh-utils |
| | | fileShowUrl: 'dyh-sys', |
| | | fileDownUrl: 'dyh-sys', |
| | | mediate: 'dyh-mediate', // dyh-mediate |
| | | cust: 'dyh-cust', // dyh-cust |
| | | oper: 'dyh-oper', // dyh-oper |
| | | sys: 'dyh-sys', // dyh-sys |
| | | disp: 'dyh-disp', //dyh-disp |
| | | utils: 'dyh-utils', //dyh-utils |
| | | |
| | | // 正式环境 |
| | | fileShowUrl: 'gzdyh-sys', |
| | | fileDownUrl: 'gzdyh-sys', |
| | | mediate: 'gzdyh-mediate', // gzdyh-mediate |
| | | cust: 'gzdyh-cust', // gzdyh-cust |
| | | oper: 'gzdyh-oper', // gzdyh-oper |
| | | sys: 'gzdyh-sys', // gzdyh-sys |
| | | disp: 'gzdyh-disp', //gzdyh-disp |
| | | utils: 'gzdyh-utils', //gzdyh-utils |
| | | // fileShowUrl: 'gzdyh-sys', |
| | | // fileDownUrl: 'gzdyh-sys', |
| | | // mediate: 'gzdyh-mediate', // gzdyh-mediate |
| | | // cust: 'gzdyh-cust', // gzdyh-cust |
| | | // oper: 'gzdyh-oper', // gzdyh-oper |
| | | // sys: 'gzdyh-sys', // gzdyh-sys |
| | | // disp: 'gzdyh-disp', //gzdyh-disp |
| | | // utils: 'gzdyh-utils', //gzdyh-utils |
| | | }; |
| | | |
| | | module.exports = { |
| | |
| | | { |
| | | "navigationBarTitleText": "解纷助手", |
| | | "navigationBarTitleText": "穗调解数智人", |
| | | "usingComponents": {} |
| | | } |
| | |
| | | }) |
| | | }, |
| | | |
| | | // 前往查看 |
| | | AiModalClick(e) { |
| | | let item = e.currentTarget.dataset.item; |
| | | wx.navigateTo({ |
| | | url: '../../pages/AIAide/index?caseDes=' + item.caseDes + '&caseClaim=' + item.caseClaim + '&caseId=' + item.caseId |
| | | }); |
| | | this.setData({ |
| | | AiModal: false |
| | | }) |
| | | }, |
| | | |
| | | // 关闭AI弹窗 |
| | | addClosePopup() { |
| | | this.setData({ |
| | | AiModal: false |
| | | }) |
| | | }, |
| | | |
| | | /** |
| | | * 生命周期函数--监听页面加载 |
| | | */ |
| | |
| | | return |
| | | } |
| | | let userInfo = wx.getStorageSync('userInfo') || {}; |
| | | let AICase = wx.getStorageSync('AICase') || ''; |
| | | if (AICase) { |
| | | this.setData({ |
| | | AiModal: AICase |
| | | }) |
| | | wx.removeStorage({ |
| | | key: 'AICase' |
| | | }) |
| | | } |
| | | let appid = wx.getAccountInfoSync().miniProgram.appId; |
| | | this.setData({ |
| | | userInfo |
| | |
| | | <van-button bind:click="handleClickPopupMsg" block data-index="{{ index }}" data-t="0" data-item="{{ item }}" type="primary">{{ item.buttonText }}</van-button> |
| | | </view> |
| | | </van-popup> |
| | | </block> |
| | | </block> |
| | | |
| | | <!-- AI弹窗 --> |
| | | |
| | | <van-overlay show="{{ AiModal.caseDes?true:false }}" bind:click="addClosePopup"> |
| | | |
| | | </van-overlay> |
| | | |
| | | <view wx:if="{{ AiModal.caseDes?true:false }}" class="AiModal-search"> |
| | | <view class="AiModal"> |
| | | <image src="{{imgUrl}}AICase.png" mode="" /> |
| | | <view class="AiModal-title">穗调解数智人提醒您</view> |
| | | <view class="AiModal-subTitle">为了更好的帮助您解决问题,向您推荐了与您反映问题相似的典型案例和相关法条</view> |
| | | <van-button bind:click="AiModalClick" class="AiModal-button" round block data-item="{{ AiModal }}" type="primary">前往查看</van-button> |
| | | </view> |
| | | </view> |
| | | |
| | | <van-overlay show="{{ showModal }}" bind:click="addClosePopup"> |
| | | |
| | | </van-overlay> |
| | | |
| | | <view wx:if="{{ showModal }}" class="showModal-search"> |
| | | <view bindtap="searchChange" class="search"> |
| | | <view class="search-title">{{searchValue}}</view> |
| | | <van-icon size='9' name="{{imgUrl}}down.png" /> |
| | | </view> |
| | | <view class="showModal-select"> |
| | | <view class="showModal-select-title">办理进度</view> |
| | | <view bindtap="searchSelect" class="showModal-select-flex" wx:for="{{processStatusList}}" data-item="{{ item }}" data-index="{{ index }}" wx:key="index"> |
| | | <view class="showModal-select-flex-text {{item.hover&& 'public-color'}}">{{item.label}}</view> |
| | | <van-icon wx:if="{{item.hover}}" size='15' name="{{imgUrl}}myRegisterList_5.png" /> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | padding: 32rpx 0; |
| | | margin: 0 32rpx; |
| | | border-top: 2rpx solid var(--border-color); |
| | | } |
| | | |
| | | .AiModal { |
| | | display: flex; |
| | | background-color: #fff; |
| | | flex-direction: column; |
| | | margin: 120rpx 94rpx 0; |
| | | padding: 24rpx 40rpx; |
| | | align-items: center; |
| | | border-radius: 8px; |
| | | } |
| | | |
| | | .AiModal image { |
| | | width: 264rpx; |
| | | height: 352rpx; |
| | | margin-bottom: 20rpx; |
| | | } |
| | | |
| | | .AiModal-search { |
| | | position: absolute; |
| | | top: 96rpx; |
| | | width: 100%; |
| | | z-index: 991; |
| | | } |
| | | |
| | | .AiModal-title { |
| | | font-size: 34rpx; |
| | | line-height: 50rpx; |
| | | color: var(--main-color); |
| | | margin-bottom:24rpx; |
| | | } |
| | | |
| | | .AiModal-subTitle { |
| | | color: rgba(23,26,29,0.60); |
| | | text-align: center; |
| | | margin-bottom: 24rpx; |
| | | } |
| | | .AiModal-button { |
| | | width: 100%; |
| | | } |
| | |
| | | } |
| | | }, |
| | | |
| | | // 前往查看 |
| | | AiModalClick(e) { |
| | | let item = e.currentTarget.dataset.item; |
| | | wx.navigateTo({ |
| | | url: '../../pages/AIAide/index?caseDes=' + item.caseDes + '&caseClaim=' + item.caseClaim + '&caseId=' + item.caseId |
| | | }); |
| | | this.setData({ |
| | | AiModal: false |
| | | }) |
| | | }, |
| | | |
| | | // 关闭AI弹窗 |
| | | addClosePopup() { |
| | | this.setData({ |
| | | AiModal: false |
| | | }) |
| | | }, |
| | | |
| | | /** |
| | | * 生命周期函数--监听页面加载 |
| | | */ |
| | |
| | | this.pageQuery(this.data.search) |
| | | }, |
| | | |
| | | |
| | | onShow() { |
| | | let AICase = wx.getStorageSync('AICase') || ''; |
| | | if (AICase) { |
| | | this.setData({ |
| | | AiModal: AICase |
| | | }) |
| | | wx.removeStorage({ |
| | | key: 'AICase' |
| | | }) |
| | | } |
| | | } |
| | | }) |
| | |
| | | |
| | | <view class="list" wx:for="{{dataList}}" data-item="{{ item }}" data-index="{{ index }}" wx:key="index"> |
| | | <view style="{{!item.show&&'border-bottom:none'}}" class="list-top"> |
| | | <view><time-format format="YYYY年MM月DD日" value="{{item.createTime}}" />反映诉求</view> |
| | | <view> |
| | | <time-format format="YYYY年MM月DD日" value="{{item.createTime}}" />反映诉求 |
| | | </view> |
| | | <view class="list-top-r"> |
| | | <view class="list-top-r-tag">{{item.processStatusName||'-'}}</view> |
| | | <view wx:if="{{item.processStatus===1}}" class="list-top-r-tag">{{item.processStatusName||'-'}}</view> |
| | | <view wx:if="{{item.processStatus===2}}" class="list-top-r-tag">{{item.processStatusName||'-'}}</view> |
| | | <view wx:if="{{item.processStatus===3}}" class="list-top-r-tag list-top-r-tag-grey">{{item.processStatusName||'-'}}</view> |
| | | <view wx:if="{{item.processStatus===4}}" class="list-top-r-tag">{{item.processStatusName||'-'}}</view> |
| | | <van-icon wx:if="{{item.show}}" size='16' bindtap="changeShow" data-index="{{ index }}" name="{{imgUrl}}myRegisterList_1.png" /> |
| | | <van-icon wx:else size='16' bindtap="changeShow" data-index="{{ index }}" name="{{imgUrl}}myRegisterList_4.png" /> |
| | | </view> |
| | |
| | | <view class="list-content-title">被申请方</view> |
| | | <view class="list-content-value">{{item.defendantNames}}</view> |
| | | </view> |
| | | <view wx:if="{{item.processStatus>1}}" class="list-content-flex margin-top"> |
| | | <view class="list-content-title">承办部门</view> |
| | | <view class="list-content-value">{{item.mediateDeptName||'-'}}</view> |
| | | </view> |
| | | <view wx:if="{{item.processStatus>2}}" class="list-content-flex margin-top"> |
| | | <view class="list-content-title">化解结果</view> |
| | | <view wx:if="{{item.mediResult===1}}" class="list-content-value green-title">{{item.mediResultName||'-'}}</view> |
| | | <view wx:if="{{item.mediResult===2}}" class="list-content-value red-title">{{item.mediResultName||'-'}}</view> |
| | | </view> |
| | | <view class="list-border"></view> |
| | | <view class="list-detail" bindtap="GoPage" data-url="{{'../../pages/myRegisterDetail/index?id='+item.id}}"> |
| | | <view class="list-detail-l"> |
| | | <van-icon size='16' name="{{imgUrl}}myRegisterList_1.png" /> |
| | | <van-icon size='16' name="{{imgUrl}}myRegisterList_6.svg" /> |
| | | <view class="list-detail-title">事项详情</view> |
| | | </view> |
| | | <view class="list-detail-r">查看</view> |
| | | </view> |
| | | <view class="list-detail" bindtap="GoPage" data-url="{{'../../pages/AIAide/index?caseDes='+item.caseDes+'&caseClaim='+item.caseClaim+'&caseId='+item.id}}"> |
| | | <view wx:if="{{item.processStatus<3}}" class="list-detail" bindtap="GoPage" data-url="{{'../../pages/AIAide/index?caseDes='+item.caseDes+'&caseClaim='+item.caseClaim+'&caseId='+item.id}}"> |
| | | <view class="list-detail-l"> |
| | | <van-icon size='16' name="{{imgUrl}}myRegisterList_2.png" /> |
| | | <view class="list-detail-title">解纷助手</view> |
| | | <van-icon size='16' name="{{imgUrl}}myRegisterList_7.png" /> |
| | | <view class="list-detail-title">穗调解数智人</view> |
| | | </view> |
| | | <view class="list-detail-r">查看</view> |
| | | </view> |
| | | <view wx:if="{{item.processStatus !==1}}" bindtap="GoPage" data-url="../../pages/myRegisterFlow/index" class="list-detail"> |
| | | <view wx:if="{{item.processStatus>1}}" bindtap="GoPage" data-url="../../pages/myRegisterFlow/index" class="list-detail"> |
| | | <view class="list-detail-l"> |
| | | <van-icon size='16' name="{{imgUrl}}myRegisterList_3.png" /> |
| | | <view class="list-detail-title">办理流程</view> |
| | |
| | | color: var(--main-color); |
| | | } |
| | | |
| | | .list-top-r-tag-grey { |
| | | background: #f2f3f5; |
| | | color: #1d2129; |
| | | } |
| | | |
| | | .green-title { |
| | | color: #00B42A; |
| | | } |
| | | |
| | | .red-title { |
| | | color: #F53F3F; |
| | | } |
| | | |
| | | .list-content { |
| | | padding: 24rpx; |
| | | } |
| | |
| | | <van-icon name="search" /> |
| | | <van-field bind:change="handleChange" border="{{ false }}" custom-style="padding:0;background-color:#f2f3f5" data-key="keyword" placeholder="请输入中心名称" value="{{ search.keyword }}" /> |
| | | <view style="color:#E5E6EB">|</view> |
| | | <view bindtap="searchButton" class="public-color">查询</view> |
| | | <view bindtap="searchButton" class="ssimList-title public-color">查询</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | <view class="card-box" wx:for="{{ data }}" wx:key="index"> |
| | | <view class="card-list" bindtap="_handleGoPage" data-id="{{ item.id }}" data-url="../../pages/organizeDetail/index"> |
| | | <view class="card-title">{{item.unitName}}</view> |
| | | <view class="card-subTitle"><text class="card-subTitle-l">办公地址:</text>{{item.addr}}</view> |
| | | <view class="card-subTitle"><text class="card-subTitle-l">联系电话:</text>{{item.dutyMobile}}</view> |
| | | <view class="card-subTitle"><text class="card-subTitle-l">办公地址:</text>{{item.addr||'-'}}</view> |
| | | <view class="card-subTitle"><text class="card-subTitle-l">联系电话:</text>{{item.dutyMobile||'-'}}</view> |
| | | </view> |
| | | </view> |
| | | <block> |
| | |
| | | |
| | | .card-subTitle-l { |
| | | color: rgba(23, 26, 29, 0.60); |
| | | } |
| | | |
| | | .ssimList-title { |
| | | font-size: 32rpx; |
| | | white-space: nowrap; |
| | | } |
| | |
| | | }); |
| | | } |
| | | |
| | | // 获取案例 |
| | | function getCaseApi(submitData) { |
| | | return $$.request({ |
| | | url: 'case-law/get-case', |
| | | type: 'post', |
| | | ai: true, |
| | | submitData, |
| | | service: 'mediate', |
| | | }); |
| | | } |
| | | |
| | | function caseRegisterSaveApi(submitData) { |
| | | return $$.request({ |
| | |
| | | saveStatus: true |
| | | }) |
| | | } |
| | | const res1 = await getCaseApi({ |
| | | caseDes: params.caseDes, |
| | | caseClaim: params.caseClaim, |
| | | caseId: params.id, |
| | | }); |
| | | if (res1.type) { |
| | | wx.setStorage({ |
| | | key: 'AICase', |
| | | data: { |
| | | caseDes: params.caseDes, |
| | | caseClaim: params.caseClaim, |
| | | caseId: params.id, |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | //选择纠纷类型 、跳转事项概况语音描述,跳转事项申请语音描述 |
| | |
| | | <van-icon name="search" /> |
| | | <van-field bind:change="handleChange" border="{{ false }}" custom-style="padding:0;background-color:#f2f3f5" data-key="keyword" placeholder="请输入中心名称" value="{{ search.keyword }}" /> |
| | | <view style="color:#E5E6EB">|</view> |
| | | <view bindtap="searchButton" class="public-color">查询</view> |
| | | <view bindtap="searchButton" class="ssimList-title public-color">查询</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | <view class="card-box" wx:for="{{ data }}" wx:key="index"> |
| | | <view class="card-list" bindtap="_handleGoPage" data-id="{{ item.id }}" data-url="../../pages/ssimDetail/index"> |
| | | <view class="card-title">{{item.unitName}}</view> |
| | | <view class="card-subTitle"><text class="card-subTitle-l">办公地址:</text>{{item.addr}}</view> |
| | | <view class="card-subTitle"><text class="card-subTitle-l">联系电话:</text>{{item.dutyMobile}}</view> |
| | | <view class="card-subTitle"><text class="card-subTitle-l">办公地址:</text>{{item.addr||'-'}}</view> |
| | | <view class="card-subTitle"><text class="card-subTitle-l">联系电话:</text>{{item.dutyMobile||'-'}}</view> |
| | | </view> |
| | | </view> |
| | | <block> |
| | |
| | | |
| | | .card-subTitle-l { |
| | | color: rgba(23, 26, 29, 0.60); |
| | | } |
| | | |
| | | .ssimList-title { |
| | | font-size: 32rpx; |
| | | white-space: nowrap; |
| | | } |
| | |
| | | const url = api.url; |
| | | |
| | | // 是否是开发环境 |
| | | const isDebug = false; |
| | | const isDebug = true; |
| | | |
| | | const baseUrl = isDebug ? api.url.debug : api.url.web; |
| | | |