From 2ff67a5096a3fe43c2967c5a84fd78cbb1c0a459 Mon Sep 17 00:00:00 2001 From: liuwh <964324856@qq.com> Date: Tue, 10 Sep 2024 10:13:35 +0800 Subject: [PATCH] 修改 --- gz-customerSystem/src/components/NewTableSearch/index.jsx | 150 +++++++++++ gz-wxparty/pages/register/index.js | 14 gz-customerSystem/src/views/comprehensive/index.jsx | 324 ++++++++++++++++++++++++ gz-wxparty/api/api.js | 8 gz-customerSystem/src/api/appUrl.js | 93 +++--- gz-wxparty/pages/myRegisterDetail/index.js | 13 + gz-wxparty/pages/myRegisterList/index.wxml | 2 gz-customerSystem/src/views/comprehensive/index.less | 0 gz-customerSystem/src/components/NewTableSearch/index.less | 16 + gz-customerSystem/src/router/router.js | 141 +++++----- 10 files changed, 633 insertions(+), 128 deletions(-) diff --git a/gz-customerSystem/src/api/appUrl.js b/gz-customerSystem/src/api/appUrl.js index 9338a21..88a915c 100644 --- a/gz-customerSystem/src/api/appUrl.js +++ b/gz-customerSystem/src/api/appUrl.js @@ -2,62 +2,63 @@ * @Company: hugeInfo * @Author: ldh * @Date: 2022-02-16 11:25:57 - * @LastEditTime: 2024-09-09 10:07:53 - * @LastEditors: dminyi 1301963064@qq.com + * @LastEditTime: 2024-09-10 09:56:16 + * @LastEditors: lwh * @Version: 1.0.0 * @Description: api地址 */ export const debug = { - // web服务 - // baseUrl: 'http://gz.hugeinfo.com.cn', - baseUrl: "http://192.168.3.108:9002", - // baseUrl: 'http://mdqgnh.natappfree.cc', + // web服务 + // baseUrl: 'http://gz.hugeinfo.com.cn', + // baseUrl: "http://192.168.3.108:9002", + // baseUrl: 'http://6dycet.natappfree.cc', //yj + baseUrl: 'http://8pxgs3.natappfree.cc', + // 附件服务 + // fileUrl: "http://192.168.3.108:9002", + // fileUrl: 'http://gz.hugeinfo.com.cn', + // fileUrl: 'http://6dycet.natappfree.cc', + fileUrl: 'http://8pxgs3.natappfree.cc', + // 文件查看url 后面接附件编号 + fileShowUrl: '/dyh-sys/api/v1/fileInfo/show/', + // 文件下载url 后面接附件编号 + fileDownUrl: '/dyh-sys/api/v1/fileInfo/down/', + // 在线文档编辑链接 + fileDocx: '/word/docDraft/showWord', + // 签章的文档编辑链接 + fileDocx2: '/InsertSeal/Word/AddSeal1/Word1', - // 附件服务 - fileUrl: "http://192.168.3.108:9002", - // fileUrl: 'http://gz.hugeinfo.com.cn', - - // 文件查看url 后面接附件编号 - fileShowUrl: "/dyh-sys/api/v1/fileInfo/show/", - // 文件下载url 后面接附件编号 - fileDownUrl: "/dyh-sys/api/v1/fileInfo/down/", - // 在线文档编辑链接 - fileDocx: "/word/docDraft/showWord", - // 签章的文档编辑链接 - 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: "/gz-dyh", - // baseUrl: 'http://146.4.99.61:8088/byzfw', + // web服务 + baseUrl: '/gz-dyh', + // baseUrl: 'http://146.4.99.61:8088/byzfw', - // 附件服务 - fileUrl: "https://dyh.hugeinfo.com.cn", + // 附件服务 + fileUrl: 'https://dyh.hugeinfo.com.cn', - // 文件查看url 后面接附件编号 - fileShowUrl: "/dyh-sys/api/v1/fileInfo/show/", - // 文件下载url 后面接附件编号 - fileDownUrl: "/dyh-sys/api/v1/fileInfo/down/", - // 在线文档编辑链接 - fileDocx: "/word/docDraft/showWord", - // 签章的文档编辑链接 - fileDocx2: "/InsertSeal/Word/AddSeal1/Word1", + // 文件查看url 后面接附件编号 + fileShowUrl: '/dyh-sys/api/v1/fileInfo/show/', + // 文件下载url 后面接附件编号 + fileDownUrl: '/dyh-sys/api/v1/fileInfo/down/', + // 在线文档编辑链接 + fileDocx: '/word/docDraft/showWord', + // 签章的文档编辑链接 + 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', }; diff --git a/gz-customerSystem/src/components/NewTableSearch/index.jsx b/gz-customerSystem/src/components/NewTableSearch/index.jsx new file mode 100644 index 0000000..5964455 --- /dev/null +++ b/gz-customerSystem/src/components/NewTableSearch/index.jsx @@ -0,0 +1,150 @@ +import React, { useState } from 'react'; +import PropTypes from 'prop-types'; +import { Form, Row, Col, Input, DatePicker, Select, Button, TreeSelect } from 'antd'; +import { DownOutlined } from '@ant-design/icons'; +import * as $$ from '../../utils/utility'; +import './index.less'; + +const { RangePicker } = DatePicker; + +const { Option } = Select; + +/** + * form, // form组件 + * itemData, // 搜索的数据数组 + * labelLength, // form的label标签字符串的长度 + * rowNum, // 一行放多少个搜索item + * handleRest, // 重置 + * handleSearch, // 搜索 + */ +const NewTableSearch = ({ form, itemData, labelLength = 5, rowNum = 3, handleReset, handleSearch }) => { + const [searchMore, setSearchMore] = useState(false); + + const span = 24 / rowNum; + + let display = false; + + // 是否需要展开 or 收起 + const lineNum = rowNum * 2; + if (itemData.length > lineNum) display = true; + + // 系统字体大小 + const fontSize = parseInt(getComputedStyle(window.document.getElementsByTagName('HTML')[0]).fontSize); + + // 输出placeholder + function setPlaceholder(key, type) { + let str = ''; + switch (key) { + case 'caseNo': + str = '输入查询案号'; + break; + case 'judicNo': + str = '输入查询司法确认案号'; + break; + case 'plaintiffs': + str = '申请方当事人/代理人姓名'; + break; + case 'defendants': + str = '被申请方当事人/代理人姓名'; + break; + case 'addr': + str = '输入纠纷发生详细地址的关键词'; + break; + default: + str = type === 'Select' ? '全部' : '请输入'; + break; + } + return str; + } + + return ( + <Form form={form} labelAlign="right" className="tableSearch"> + <Row gutter={[24, 16]}> + {itemData.map((x, t) => { + let placeholder = x.placeholder || setPlaceholder(x.name, x.type); + let allowClear = x.allowClear || true; + let dom = null; + let rules = {}; + if (x.type === 'Input') { + dom = <Input placeholder={placeholder} allowClear {...x} />; + rules = { max: x.max || 32, message: '搜索内容过长' }; + } + if (x.type === 'Select') { + dom = ( + <Select allowClear placeholder={placeholder} {...x}> + {x.selectdata?.map((y) => ( + <Option key={y.value}>{y.label}</Option> + ))} + </Select> + ); + } + if (x.type === 'RangePicker') { + rules = { type: 'array' }; + dom = ( + <RangePicker + style={{ width: '100%' }} + ranges={{ + '今日': [$$.myMoment(), $$.myMoment()], + '本月': [$$.myMoment().startOf('month'), $$.myMoment().endOf('month')], + }} + allowClear + {...x} + /> + ); + } + if (x.type === 'TreeSelect') { + dom = ( + <TreeSelect + showSearch + placeholder={placeholder} + dropdownStyle={{ maxHeight: 500, overflow: 'auto' }} + treeData={x.treedata} + treeDefaultExpandAll + allowClear + filterTreeNode={(inputValue, treeNode) => (treeNode.label.indexOf(inputValue) !== -1 ? true : false)} + {...x} + /> + ); + } + return ( + <> + <Col span={8} style={display && { display: searchMore ? 'block' : t < lineNum ? 'block' : 'none' }} key={t + 1}> + <Form.Item name={x.name} rules={[rules]} label={<div style={{ width: `${fontSize * labelLength}px` }}>{x.label}</div>}> + {dom} + </Form.Item> + </Col> + <Col span={8}></Col> + <Col span={8}></Col> + </> + ); + })} + </Row> + <Row style={{ marginTop: '16px' }}> + <Col span={24} style={{ textAlign: 'right' }}> + <Button className="public-buttonMargin" onClick={handleReset}> + 重置 + </Button> + <Button type="primary" htmlType="submit" onClick={handleSearch}> + 查询 + </Button> + {display && ( + <span className="tableSearch-searchMore" onClick={() => setSearchMore(!searchMore)}> + {!searchMore ? '展开' : '折叠'} + <DownOutlined className={`tableSearch-searchMore-icon ${searchMore && 'tableSearch-searchMore-iconRotate'}`} /> + </span> + )} + </Col> + </Row> + </Form> + ); +}; + +NewTableSearch.propTypes = { + itemData: PropTypes.array, + labelLength: PropTypes.number, + rowNum: PropTypes.number, + handleReset: PropTypes.func, + handleSearch: PropTypes.func, +}; + +export default NewTableSearch; diff --git a/gz-customerSystem/src/components/NewTableSearch/index.less b/gz-customerSystem/src/components/NewTableSearch/index.less new file mode 100644 index 0000000..3d00342 --- /dev/null +++ b/gz-customerSystem/src/components/NewTableSearch/index.less @@ -0,0 +1,16 @@ +@import '../../styles/theme.less'; + +// 查看更多 +.tableSearch-searchMore { + color: @main-color; + margin-left: 16px; + cursor: pointer; + + &-icon { + transition: transform 0.3s; + } + + &-iconRotate { + transform: rotate(180deg); + } +} diff --git a/gz-customerSystem/src/router/router.js b/gz-customerSystem/src/router/router.js index 59db9ab..d8852de 100644 --- a/gz-customerSystem/src/router/router.js +++ b/gz-customerSystem/src/router/router.js @@ -2,88 +2,83 @@ * @Company: hugeInfo * @Author: ldh * @Date: 2022-03-28 11:22:41 - * @LastEditTime: 2024-09-08 15:15:51 - * @LastEditors: dminyi 1301963064@qq.com + * @LastEditTime: 2024-09-10 09:35:19 + * @LastEditors: lwh * @Version: 1.0.0 * @Description: 路由 */ -import React, { useState } from "react"; -import { ConfigProvider, Empty } from "antd"; -import "moment/locale/zh-cn"; -import zhCN from "antd/es/locale/zh_CN"; -import { - HashRouter as Router, - Route, - Routes, - Navigate, -} from "react-router-dom"; -import Loading from "../components/Loading"; +import React, { useState } from 'react'; +import { ConfigProvider, Empty } from 'antd'; +import 'moment/locale/zh-cn'; +import zhCN from 'antd/es/locale/zh_CN'; +import { HashRouter as Router, Route, Routes, Navigate } from 'react-router-dom'; +import Loading from '../components/Loading'; -import Layout from "../components/Layout"; +import Layout from '../components/Layout'; // 工作台 -import Workbench from "../views/workbench"; +import Workbench from '../views/workbench'; //登录注册 -import LogAndSign from "../views/logAndSign"; +import LogAndSign from '../views/logAndSign'; // 基础信息管理 - 角色管理 -import Role from "../views/basicInformation/role"; +import Role from '../views/basicInformation/role'; // 基础信息管理 - 部门组织 -import Organization from "../views/basicInformation/organization"; +import Organization from '../views/basicInformation/organization'; // 基础信息管理 - 人员管理 -import Personnel from "../views/basicInformation/personnel"; +import Personnel from '../views/basicInformation/personnel'; // 纠纷登记 - 快速登记 -import Register from "../views/disputeRegistration/register"; +import Register from '../views/disputeRegistration/register'; // 纠纷登记 - 常规登记 -import CasePerfection from "../views/disputeRegistration/casePerfection"; +import CasePerfection from '../views/disputeRegistration/casePerfection'; // 纠纷登记 - 草稿箱 -import RegisterList from "../views/disputeRegistration/registerList"; +import RegisterList from '../views/disputeRegistration/registerList'; // 签收列表 -import SignForList from "../views/signForList"; +import SignForList from '../views/signForList'; // 文件查看页面 -import FilesCheck from "../views/filesCheck"; +import FilesCheck from '../views/filesCheck'; // 案件详情页 -import CaseDetail from "../views/caseDetail"; +import CaseDetail from '../views/caseDetail'; // 调解总览修改页面 -import Modify from "../views/caseDetail/components/modify"; +import Modify from '../views/caseDetail/components/modify'; // 调度处理 - 调度中心 -import MediateList from "../views/dispatch/mediateList"; +import MediateList from '../views/dispatch/mediateList'; // 调度处理 - 调度历史 -import MediateHis from "../views/dispatch/mediateHis"; +import MediateHis from '../views/dispatch/mediateHis'; // 调度处理 - 预审异常 -import MediateAbnormal from "../views/dispatch/mediateAbnormal"; +import MediateAbnormal from '../views/dispatch/mediateAbnormal'; // 任务处理 - 我的待办,我的已办 -import TaskProcessing from "../views/task/taskProcessing"; +import TaskProcessing from '../views/task/taskProcessing'; // 任务处理 - 我的退回 -import MyReturn from "../views/task/myReturn"; +import MyReturn from '../views/task/myReturn'; // 调解 - 我的调解 -import MyMediation from "../views/mediate/myMediation"; +import MyMediation from '../views/mediate/myMediation'; // 调解-一本账 -import Ledger from "../views/mediate/ledger"; -import LedgerEdit from "../views/mediate/ledger/ledgerEdit"; +import Ledger from '../views/mediate/ledger'; +import LedgerEdit from '../views/mediate/ledger/ledgerEdit'; // 调解 - 调解档案 -import MediateArchives from "../views/mediate/mediateArchives"; +import MediateArchives from '../views/mediate/mediateArchives'; // 调解 - 调解总览 -import MediateAll from "../views/mediate/mediateAll"; +import MediateAll from '../views/mediate/mediateAll'; //调解 - 调解大数据 -import MediateBigData from "../views/mediate/mediateBigData"; +import MediateBigData from '../views/mediate/mediateBigData'; // 司法联动 -import JudicialLinkage from "../views/judicialLinkage"; +import JudicialLinkage from '../views/judicialLinkage'; // 网格联动 -import GridLinkage from "../views/gridLinkage"; +import GridLinkage from '../views/gridLinkage'; // 人民调解联动 -import RmtjLinkage from "../views/mediate/rmtjLinkage"; +import RmtjLinkage from '../views/mediate/rmtjLinkage'; // 人民调解初审 -import FirstTrial from "../views/mediate/firstTrial"; +import FirstTrial from '../views/mediate/firstTrial'; // 司法局审核 -import JudicialExamine from "../views/mediate/judicialExamine"; +import JudicialExamine from '../views/mediate/judicialExamine'; // 调解视窗 import MediationWindow from '../views/mediationWindow'; @@ -91,63 +86,66 @@ import MediationWindowDetail from '../views/mediationWindow/detail'; // 调解视窗 - 调解成功 -import MediationWindowSuccess from "../views/mediationWindow/success"; +import MediationWindowSuccess from '../views/mediationWindow/success'; // 司法确认视窗 -import JudicialWindow from "../views/judicialWindow"; +import JudicialWindow from '../views/judicialWindow'; // 司法确认 - 申请列表 -import ApplicationList from "../views/judicialConfirmation/applicationList"; +import ApplicationList from '../views/judicialConfirmation/applicationList'; // 司法确认 - 申请列表 - 发起申请 -import ApplyJudicial from "../views/judicialConfirmation/applicationList/ApplyJudicial"; +import ApplyJudicial from '../views/judicialConfirmation/applicationList/ApplyJudicial'; // 司法确认 - 申请列表 - 详情查看 -import JudicialApplyDetail from "../views/judicialConfirmation/applicationList/JudicialApplyDetail"; +import JudicialApplyDetail from '../views/judicialConfirmation/applicationList/JudicialApplyDetail'; // 司法确认 - 申请审查列表 -import CourtOffice from "../views/judicialConfirmation/courtOffice"; +import CourtOffice from '../views/judicialConfirmation/courtOffice'; // 司法确认 - 申请审查列表 - 审查 -import JudicialAudit from "../views/judicialConfirmation/courtOffice/JudicialAudit"; +import JudicialAudit from '../views/judicialConfirmation/courtOffice/JudicialAudit'; // 司法确认 - 审查历史列表 -import CourtReview from "../views/judicialConfirmation/courtReview"; +import CourtReview from '../views/judicialConfirmation/courtReview'; // 司法确认 - 审查历史列表 - 详情 -import JudicialAuditDetail from "../views/judicialConfirmation/courtReview/JudicialAuditDetail"; +import JudicialAuditDetail from '../views/judicialConfirmation/courtReview/JudicialAuditDetail'; // 司法确认 - 司法确认分案 -import JudicialDivision from "../views/judicialConfirmation/judicialDivision"; +import JudicialDivision from '../views/judicialConfirmation/judicialDivision'; // 司法确认 - 司法确认分案 - 分案 -import JudicialDivisionDetail from "../views/judicialConfirmation/judicialDivision/JudicialDivisionDetail"; +import JudicialDivisionDetail from '../views/judicialConfirmation/judicialDivision/JudicialDivisionDetail'; // 司法确认 - 我的司法确认 -import MyConfirmation from "../views/judicialConfirmation/myConfirmation"; +import MyConfirmation from '../views/judicialConfirmation/myConfirmation'; // 司法确认 - 总览 -import JudicialOverview from "../views/judicialConfirmation/overview"; +import JudicialOverview from '../views/judicialConfirmation/overview'; // 工作流 // 工作流模板管理 -import WorkflowTemplate from "../views/workflow/workflowTemplate"; +import WorkflowTemplate from '../views/workflow/workflowTemplate'; // 工作流模板管理 - 工作流模板新建,修改 -import WorkflowTemplateEdit from "../views/workflow/workflowTemplate/WorkflowTemplateEdit"; +import WorkflowTemplateEdit from '../views/workflow/workflowTemplate/WorkflowTemplateEdit'; // 工作流管理 -import WorkflowManage from "../views/workflow/workflowManage"; +import WorkflowManage from '../views/workflow/workflowManage'; // 工作流管理 - 工作流新建,修改 -import WorkflowManageEdit from "../views/workflow/workflowManage/WorkflowManageEdit"; +import WorkflowManageEdit from '../views/workflow/workflowManage/WorkflowManageEdit'; // 工作流管理 - 工作流详情查看 -import WorkflowManageDetail from "../views/workflow/workflowManage/WorkflowManageDetail"; +import WorkflowManageDetail from '../views/workflow/workflowManage/WorkflowManageDetail'; + +// 综合查询 +import Comprehensive from '../views/comprehensive'; // 数据分析 -import DataSearch from "../views/statistic/dataSearch"; +import DataSearch from '../views/statistic/dataSearch'; //来访登记 -import Visit from "../views/register/visit"; +import Visit from '../views/register/visit'; //事件流转 -import EventFlow from "../views/register/eventFlow"; +import EventFlow from '../views/register/eventFlow'; //办理反馈 -import HandleFeedback from "../views/register/handleFeedback"; +import HandleFeedback from '../views/register/handleFeedback'; //档案信息 -import FileMessage from "../views/register/matterDetail/fileMessage"; +import FileMessage from '../views/register/matterDetail/fileMessage'; //结案审核 -import ClosingReview from "../views/register/closingReview"; +import ClosingReview from '../views/register/closingReview'; //工作台 -import VisitWorkBench from "../views/register"; +import VisitWorkBench from '../views/register'; -import Test from "../views/test"; +import Test from '../views/test'; const Routers = () => { // 判断用户修改自身信息时更新头部的用户名称 @@ -222,8 +220,8 @@ <Route path="visit/eventFlow/:caseTaskId?/:caseId?" element={<EventFlow />} /> <Route path="visit/handleFeedback/:caseTaskId?/:caseId?" element={<HandleFeedback />} /> <Route path="visit/fileMessage" element={<FileMessage />} /> - <Route path="visit/closingReview/:caseTaskId?/:caseId?" element={<ClosingReview />}/> - <Route path="visit/visitWorkBench" element={<VisitWorkBench />}/> + <Route path="visit/closingReview/:caseTaskId?/:caseId?" element={<ClosingReview />} /> + <Route path="visit/visitWorkBench" element={<VisitWorkBench />} /> {/* 工作流模块 */} <Route path="workflowTemplate" element={<WorkflowTemplate />} /> @@ -231,12 +229,13 @@ <Route path="workflowManage" element={<WorkflowManage />} /> <Route path="workflowManage/workflowManageEdit" element={<WorkflowManageEdit />} /> <Route path="workflowManage/workflowManageDetail" element={<WorkflowManageDetail />} /> + {/* 综合查询 */} + <Route path="comprehensive" element={<Comprehensive />} /> {/* 数据分析 */} <Route path="dataSearch" element={<DataSearch />} /> {/* 调解视窗成功页 */} <Route path="myAdjust/mediationWindowSuccess" element={<MediationWindowSuccess />} /> </Route> - <Route path="/operation" element={<Navigate to="/operation/personnel" />} /> {/* 基础信息管理 */} diff --git a/gz-customerSystem/src/views/comprehensive/index.jsx b/gz-customerSystem/src/views/comprehensive/index.jsx new file mode 100644 index 0000000..993e94a --- /dev/null +++ b/gz-customerSystem/src/views/comprehensive/index.jsx @@ -0,0 +1,324 @@ + +import React, { useEffect, useState } from 'react'; +import Page from '../../components/Page/index'; +import { Form, Typography, Space, Tooltip } from 'antd'; +import { FolderFilled } from '@ant-design/icons'; +import * as $$ from '../../utils/utility'; +import { useLocation, useNavigate } from 'react-router-dom'; +import TableView from '../../components/TableView'; +import NewTableSearch from '../../components/NewTableSearch'; +import MyTabs from '../../components/MyTabs'; + +const { Link } = Typography; + +// 获取数据 +function getMyMediationDataApi(submitData) { + return $$.ax.request({ url: 'caseTask/pageMyMediate', type: 'get', data: submitData, service: 'mediate' }); +} + +function getCacheLatjCaseGuideApi(submitData) { + return $$.ax.request({ url: 'guide/cacheLatjCaseGuide', type: 'get', data: submitData, service: 'mediate' }); +} + + +function getCacheOpenAiCaseGuideApi(submitData) { + return $$.ax.request({ url: 'guide/cacheOpenAiCaseGuideList', type: 'get', data: submitData, service: 'mediate' }); +} + + +const Comprehensive = () => { + const [form] = Form.useForm(); + + let location = useLocation(); + + let navigate = useNavigate(); + + // 搜索 + const [search, setSearch] = useState({ page: 1, size: 10, pageType: '1', joinRole: '1' }); + + // 数据 + const [data, setData] = useState({ tableData: [] }); + + // 表头 + const columns = () => { + const columnOne = + search.pageType === '3' + ? [ + { + title: '调解结果', + dataIndex: 'mediResultName', + record: (text, record) => + !text ? '-' : <div className={`public-tag public-tag-${record.mediResult === '22_00025-1' ? 'tagGreen' : 'tagRed'}`}>{text}</div>, + }, + ] + : []; + const columnTwo = + search.pageType === '3' + ? [{ title: '调解结束时间', dataIndex: 'mediEndTime' }] + : [ + // TODO:暂时取消,后续可根据需求改动 + // { + // title: '处理时限', + // dataIndex: 'expireTime', + // render: (text, record) => { + // let obj = $$.getHours(text); + // return record.status === '1' ? ( + // <span className={obj.isNegativeNum ? 'tableView-dangerTime' : ''}>{!!text ? `${obj.hours}小时` : '-'}</span> + // ) : ( + // '-' + // ); + // }, + // }, + ]; + const columnThree = search.joinRole === '2' ? [{ title: '调解员', dataIndex: 'mediator' }] : []; + const columnsData = [ + { + title: '调解案号', + dataIndex: 'caseNo', + render: (text, record) => ( + <Space size={0}> + {record.taskType === '2' && <div className="myMediation-tuiTag">退</div>} + {record.serieStatus === '2' ? ( + <Space size={4}> + <FolderFilled className="public-folder" /> + <span>系列案</span> + </Space> + ) : ( + <Tooltip placement="topLeft" title={text}> + {text} + </Tooltip> + )} + </Space> + ), + }, + { title: '调解进度', dataIndex: 'processName' }, + ...columnOne, + { title: '申请人', dataIndex: 'plaintiffs' }, + { title: '被申请人', dataIndex: 'defendants' }, + { title: '纠纷发生地', dataIndex: 'addr' }, + { title: '调解类型', dataIndex: 'mediTypeName' }, + { title: '纠纷类型', dataIndex: 'caseTypeName' }, + { title: '申请渠道', dataIndex: 'canalName' }, + { title: '纠纷受理时间', dataIndex: 'acceptTime' }, + ...columnTwo, + ...columnThree, + { title: '协助调解员', width: 100, dataIndex: 'otherMediator' }, + { + title: '操作', + dataIndex: 'action', + width: 50, + render: (_, record) => { + let type = 'check'; + if (search.joinRole === '2') { + type = 'check' + } else if (search.joinRole === '1') { + if (search.pageType == '3') { + type = 'check'; + } else { + type = 'handle' + } + } + // if (search.joinRole === '1' && (search.pageType === '1' || search.pageType === '2')) { + // type = 'handle'; + // } + // if (search.joinRole === '2' && (search.pageType === '1' || search.pageType === '2')) { + // type = 'feedback'; + // } + // if (search.joinRole === '2' && search.pageType === '3' && record.feedbackStatus === '1') { + // type = 'feedback'; + // } + return <Link onClick={() => handleJump(type, record)}>{type === 'check' ? '查看' : '调解'}</Link>; + }, + }, + ]; + return columnsData; + }; + + // 跳转详情页 + function handleJump(type, info) { + if (type === 'feedback') { + // 协助反馈 + $$.setSessionStorage(location.pathname, { + search, + breadcrumbData: [{ title: '我的调解', url: '/mediate/myAdjust' }, { title: '我协助的' }], + title: info.caseNo, + tableActive: info.id, + tabs: [{ label: '调解', key: 'feedBack' }], + pageFrom: 'myMediationFeedBack', + }); + navigate(`/mediate/caseDetail?caseId=${info.id}&taskId=${info.taskId}&back=${location.pathname}`); + } + // 查看 + if (type === 'check') { + $$.setSessionStorage(location.pathname, { + search, + breadcrumbData: [{ title: '我的调解', url: '/mediate/myAdjust' }, { title: '查看' }], + title: info.caseNo, + tableActive: info.id, + pageFrom: 'myMediation', + }); + navigate(`/mediate/caseDetail?caseId=${info.id}&taskId=${info.taskId}&back=${location.pathname}`); + } + // 调解 + if (type === 'handle') { + + // getCacheOpenAiCaseGuide({ caseId: info.id, guideType: 3 }) + + // getCacheLatjCaseGuide({ caseId: info.id }) + if (info.serieStatus === '2') { + // 系列案 + $$.setSessionStorage(location.pathname, { + search, + breadcrumbData: [{ title: '我的调解', url: '/mediate/myAdjust' }, { title: '我负责的' }], + title: info.caseNo, + tableActive: info.id, + tabs: [{ label: '调解', key: 'caseFolderFeedBack' }], + pageFrom: 'myMediationCaseFolderFeedBack', + }); + navigate(`/mediate/caseDetail?caseId=${info.id}&taskId=${info.taskId}&back=${location.pathname}`); + } else { + // 非系列案 + $$.setSessionStorage(location.pathname, { + search, + tableActive: info.id, + }); + navigate(`/mediate/myAdjust/mediationWindow?caseId=${info.id}&taskId=${info.taskId}&taskType=${info.taskType}&back=${location.pathname}`); + } + } + } + + // 页码修改 + function handleChangePage(page, pageSize) { + let paramsObj = Object.assign(search, { page, size: pageSize }); + setSearch(paramsObj); + getMyMediationData(paramsObj); + } + + // 搜索 or 重置 + function handleSearch(type, session) { + let paramsObj = {}; + if (type === 'search') { + paramsObj = { ...search, ...form.getFieldsValue(), page: 1 }; + $$.changeTimeFormat(paramsObj, 'acceptTime', 'acceptStart', 'acceptEnd'); + $$.changeTimeFormat(paramsObj, 'mediEndTime', 'mediEndTimeStart', 'mediEndTimeEnd'); + $$.changeTimeFormat(paramsObj, 'mediStartTime', 'mediStartTimeStart', 'mediStartTimeEnd'); + } + if (type === 'reset') { + paramsObj = { page: 1, size: 10, pageType: '1', joinRole: '1' }; + form.resetFields(); + form.setFieldsValue({ joinRole: '1' }); + } + if (type === 'recurrent') { + paramsObj = { ...search, ...session.search }; + let copyObj = { ...paramsObj }; + if (copyObj.acceptStart) { + copyObj.acceptTime = [$$.myMoment(copyObj.acceptStart), $$.myMoment(copyObj.acceptEnd)]; + } + if (copyObj.mediEndTimeStart) { + copyObj.mediEndTime = [$$.myMoment(copyObj.mediEndTimeStart), $$.myMoment(copyObj.mediEndTimeEnd)]; + } + if (copyObj.mediStartTimeStart) { + copyObj.mediStartTime = [$$.myMoment(copyObj.mediStartTimeStart), $$.myMoment(copyObj.mediStartTimeEnd)]; + } + form.setFieldsValue(copyObj); + } + getMyMediationData(paramsObj, session?.tableActive); + } + + // 获取数据 + async function getMyMediationData(submitData, tableActive) { + global.setSpinning(true); + const res = await getMyMediationDataApi(submitData); + global.setSpinning(false); + if (res.type) { + setSearch(submitData); + setData({ + total: res.data?.dtoPage?.totalElements, + tableData: res.data?.dtoPage?.content || [], + tableActive, + countDtj: res.data.countDtj, + countTjz: res.data.countTjz, + countTjjs: res.data.countTjjs, + }); + } + } + + // 初始化 + useEffect(() => { + let type = false; + let values = $$.getSessionStorage(location.pathname); + type = $$.getQueryString('isBack') && !!values; + type ? handleSearch('recurrent', values) : handleSearch('reset'); + if (!!values) { + $$.clearSessionStorage(location.pathname); + } + }, []); + + const countDtj = (search.pageType === '1' ? data.total : data.countDtj) || 0; + + const countTjz = (search.pageType === '2' ? data.total : data.countTjz) || 0; + + const countTjjs = (search.pageType === '3' ? data.total : data.countTjjs) || 0; + + return ( + <Page pageHead={{ title: '综合查询', subtitle: '管理员名下综合查询列表' }}> + <div className="myMediation"> + <div className="myMediation-search"> + <NewTableSearch + labelLength={6} + form={form} + itemData={[ + { type: 'RangePicker', name: 'acceptTime', label: '办结时间' }, + { type: 'RangePicker', name: 'acceptTime', label: '归档时间' }, + { type: 'Input', name: 'defendants', label: '被申请人' }, + { type: 'Input', name: 'caseNo', label: '调解案号' }, + { type: 'Input', name: 'addr', label: '纠纷发生地' }, + { + type: 'Select', + name: 'joinRole', + label: '参与角色', + selectdata: [ + { label: '我负责的', value: '1' }, + { label: '我协助的', value: '2' }, + ], + }, + { type: 'RangePicker', name: 'mediStartTime', label: '调解开始时间' }, + { type: 'RangePicker', name: 'mediEndTime', label: '调解结束时间' }, + { type: 'Select', name: 'mediResult', label: '调解结果', selectdata: $$.options.mediResult }, + ]} + handleReset={() => handleSearch('reset')} + handleSearch={() => handleSearch('search')} + /> + </div> + <div className="pageTabs"> + <MyTabs + tabs={[ + { key: '1', label: `待调解(${$$.showMoreNum(countDtj)})` }, + { key: '2', label: `调解中(${$$.showMoreNum(countTjz)})` }, + { key: '3', label: `调解结束(${$$.showMoreNum(countTjjs)})` }, + ]} + activeKey={search.pageType} + onChange={(activeKey) => getMyMediationData({ ...search, page: 1, size: 10, pageType: activeKey })} + /> + </div> + <div className="pageTable"> + <TableView + showHeader + title="查询结果" + columns={columns()} + dataSource={data.tableData} + pagination={{ + current: search.page, + pageSize: search.size, + total: data.total, + onChange: (page, pageSize) => handleChangePage(page, pageSize), + }} + rowClassName={(record) => (record.id === data.tableActive ? 'tableRowActive' : '')} + /> + </div> + </div> + </Page> + ); +}; + +export default Comprehensive; diff --git a/gz-customerSystem/src/views/comprehensive/index.less b/gz-customerSystem/src/views/comprehensive/index.less new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/gz-customerSystem/src/views/comprehensive/index.less diff --git a/gz-wxparty/api/api.js b/gz-wxparty/api/api.js index 06113a8..3a6da1c 100644 --- a/gz-wxparty/api/api.js +++ b/gz-wxparty/api/api.js @@ -20,11 +20,11 @@ assets: 'https://zfw-dyh.by.gov.cn/gz/wechat/js/', txt: 'https://zfw-dyh.by.gov.cn/gz/wechat/txt/', - // 文件查看url 后面接附件编号 - fileShowUrl: 'gzdyh-sys/api/v1/fileInfo/show/', // 文件下载url 后面接附件编号 - fileDownUrl: 'gzdyh-sys/api/v1/fileInfo/down/', + // 不同服务接口type + // fileShowUrl: 'dyh-sys', + // fileDownUrl: 'dyh-sys', // mediate: 'dyh-mediate', // dyh-mediate // cust: 'dyh-cust', // dyh-cust // oper: 'dyh-oper', // dyh-oper @@ -33,6 +33,8 @@ // 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 diff --git a/gz-wxparty/pages/myRegisterDetail/index.js b/gz-wxparty/pages/myRegisterDetail/index.js index 7e8c800..7d47145 100644 --- a/gz-wxparty/pages/myRegisterDetail/index.js +++ b/gz-wxparty/pages/myRegisterDetail/index.js @@ -29,6 +29,7 @@ */ data: { imgUrl: $$.url.img, + fileUrl: $$.baseUrl + $$.url.fileShowUrl, submitData: {}, oneList: [], fileList: [] @@ -57,6 +58,18 @@ }); }, + // 预览图片 + handlePreviewImage(e) { + let item = e.currentTarget.dataset.item; + let index = e.currentTarget.dataset.index; + console.log('item,', item); + console.log('item,', `${this.data.fileUrl}${item.showUrl}`); + wx.previewImage({ + current: `${this.data.fileUrl}${item.showUrl}`, + urls: [`${this.data.fileUrl}${item.showUrl}`] // 需要预览的图片http链接列表 + }); + }, + // 获取纠纷案件详情 async getById(data) { $$.showLoading(); diff --git a/gz-wxparty/pages/myRegisterList/index.wxml b/gz-wxparty/pages/myRegisterList/index.wxml index 30dc67a..e1f654e 100644 --- a/gz-wxparty/pages/myRegisterList/index.wxml +++ b/gz-wxparty/pages/myRegisterList/index.wxml @@ -13,7 +13,7 @@ <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>2024年7月12日反映诉求</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> <van-icon wx:if="{{item.show}}" size='16' bindtap="changeShow" data-index="{{ index }}" name="{{imgUrl}}myRegisterList_1.png" /> diff --git a/gz-wxparty/pages/register/index.js b/gz-wxparty/pages/register/index.js index 676c490..1b78edc 100644 --- a/gz-wxparty/pages/register/index.js +++ b/gz-wxparty/pages/register/index.js @@ -382,13 +382,13 @@ }); return; } - if (!this.data.fileList?.length <= 0) { - // 附件上传提示 - this.setData({ - showFileTip: true - }) - return; - } + // if (!this.data.fileList?.length <= 0) { + // // 附件上传提示 + // this.setData({ + // showFileTip: true + // }) + // return; + // } // 提交AI接口 this.getaw(newData); this.setData({ -- Gitblit v1.8.0