From 0ad93f9314ffa6db1c4da2c0be5cec1c02f10bea Mon Sep 17 00:00:00 2001
From: dminyi <1301963064@qq.com>
Date: Tue, 10 Sep 2024 10:33:54 +0800
Subject: [PATCH] Merge branch 'master' of http://120.79.193.119:9090/r/gzzfw/frontEnd/gzDyh into master

---
 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                        |   20 
 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, 596 insertions(+), 92 deletions(-)

diff --git a/gz-customerSystem/src/api/appUrl.js b/gz-customerSystem/src/api/appUrl.js
index 392f863..dbd813c 100644
--- a/gz-customerSystem/src/api/appUrl.js
+++ b/gz-customerSystem/src/api/appUrl.js
@@ -2,8 +2,8 @@
  * @Company: hugeInfo
  * @Author: ldh
  * @Date: 2022-02-16 11:25:57
- * @LastEditTime: 2024-09-10 09:48:04
- * @LastEditors: dminyi 1301963064@qq.com
+ * @LastEditTime: 2024-09-10 09:56:16
+ * @LastEditors: lwh
  * @Version: 1.0.0
  * @Description: api地址
  */
@@ -44,14 +44,14 @@
   // 附件服务
   fileUrl: "https://zfw-dyh.by.gov.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: "gzdyh-mediate", // dyh-mediate
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 9ab1fef..6c5ada9 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-09 15:48:38
- * @LastEditors: dminyi 1301963064@qq.com
+ * @LastEditTime: 2024-09-10 10:14:40
+ * @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/:caseTaskId?/:caseId?" 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