From cee01cbfea118cb90a8d34b220315c9a9444941e Mon Sep 17 00:00:00 2001
From: zhangyongtian <1181606322@qq.com>
Date: Mon, 09 Sep 2024 17:17:38 +0800
Subject: [PATCH] Merge branch 'master' of http://120.79.193.119:9090/r/gzzfw/frontEnd/gzDyh
---
gz-customerSystem/src/assets/images/tab3.png | 0
gz-customerSystem/src/assets/font/douYuZhuiGuangTi2.0.ttf | 0
gz-wxparty/pages/AIAideDetail/index.js | 93 +
gz-customerSystem/src/assets/images/checkInto.png | 0
gz-wxparty/utils/util.js | 762 ++++----
gz-wxparty/pages/AIAide/index.wxss | 90 +
gz-customerSystem/src/views/register/index.jsx | 854 ++++++++++
gz-customerSystem/src/views/register/index.less | 87
gz-customerSystem/src/assets/images/tab2.png | 0
gz-wxparty/pages/homePage/index.wxml | 27
gz-wxparty/pages/register/index.wxml | 105
gz-customerSystem/src/assets/images/index.js | 22
gz-wxparty/pages/register/index.js | 289 +++
gz-wxparty/api/api.js | 67
gz-customerSystem/src/assets/images/tab1.png | 0
gz-wxparty/components/personal-data-dom/index.js | 335 +--
gz-customerSystem/src/router/router.js | 6
gz-wxparty/components/personal-data-dom/index.wxml | 2
gz-wxparty/pages/homePage/index.js | 6
gz-wxparty/pages/myRegisterDetail/index.wxml | 82 +
gz-wxparty/pages/AIAide/index.json | 4
gz-wxparty/pages/DetailPerson/index.wxss | 16
gz-wxparty/pages/myRegisterList/index.wxml | 18
gz-wxparty/pages/AIAideDetail/index.wxml | 17
gz-wxparty/pages/realNameAuthentication/index.js | 376 ++--
gz-customerSystem/src/assets/images/floating.png | 0
gz-wxparty/pages/AIAide/index.js | 116 +
gz-customerSystem/src/assets/images/visitInto.png | 0
gz-customerSystem/src/views/register/matterDetail/fileMessage.jsx | 203 +-
gz-wxparty/pages/AIAide/index.wxml | 50
gz-wxparty/pages/myRegisterList/index.json | 4
gz-customerSystem/src/assets/images/tab6.png | 0
gz-wxparty/pages/AIAideDetail/index.json | 4
gz-wxparty/pages/register/index.wxss | 79
gz-wxparty/pages/homePage/index.wxss | 22
gz-wxparty/pages/DetailPerson/index.js | 79 +
gz-wxparty/pages/addPerson/index.wxss | 5
gz-wxparty/pages/DetailPerson/index.json | 4
gz-customerSystem/src/styles/public.less | 5
gz-wxparty/pages/myRegisterList/index.wxss | 2
gz-wxparty/components/steps/index.wxml | 2
gz-customerSystem/src/api/appUrl.js | 6
gz-customerSystem/src/assets/images/tab5.png | 0
gz-wxparty/pages/myRegisterDetail/index.js | 86 +
gz-wxparty/pages/myRegisterDetail/index.json | 4
gz-customerSystem/src/utils/caseTypeSelect.js | 414 +++++
gz-wxparty/pages/myRegisterDetail/index.wxss | 128 +
gz-wxparty/app.json | 4
gz-wxparty/pages/DetailPerson/index.wxml | 43
gz-customerSystem/src/assets/images/tab4.png | 0
gz-wxparty/pages/AIAideDetail/index.wxss | 25
gz-wxparty/pages/myRegisterList/index.js | 37
52 files changed, 3,565 insertions(+), 1,015 deletions(-)
diff --git a/gz-customerSystem/src/api/appUrl.js b/gz-customerSystem/src/api/appUrl.js
index cb77419..9338a21 100644
--- a/gz-customerSystem/src/api/appUrl.js
+++ b/gz-customerSystem/src/api/appUrl.js
@@ -2,7 +2,7 @@
* @Company: hugeInfo
* @Author: ldh
* @Date: 2022-02-16 11:25:57
- * @LastEditTime: 2024-09-07 16:35:00
+ * @LastEditTime: 2024-09-09 10:07:53
* @LastEditors: dminyi 1301963064@qq.com
* @Version: 1.0.0
* @Description: api地址
@@ -10,11 +10,11 @@
export const debug = {
// web服务
// baseUrl: 'http://gz.hugeinfo.com.cn',
- baseUrl: "http://w88bsz.natappfree.cc",
+ baseUrl: "http://192.168.3.108:9002",
// baseUrl: 'http://mdqgnh.natappfree.cc',
// 附件服务
- fileUrl: "http://w88bsz.natappfree.cc",
+ fileUrl: "http://192.168.3.108:9002",
// fileUrl: 'http://gz.hugeinfo.com.cn',
// 文件查看url 后面接附件编号
diff --git a/gz-customerSystem/src/assets/font/douYuZhuiGuangTi2.0.ttf b/gz-customerSystem/src/assets/font/douYuZhuiGuangTi2.0.ttf
new file mode 100644
index 0000000..6ef0c63
--- /dev/null
+++ b/gz-customerSystem/src/assets/font/douYuZhuiGuangTi2.0.ttf
Binary files differ
diff --git a/gz-customerSystem/src/assets/images/checkInto.png b/gz-customerSystem/src/assets/images/checkInto.png
new file mode 100644
index 0000000..9852049
--- /dev/null
+++ b/gz-customerSystem/src/assets/images/checkInto.png
Binary files differ
diff --git a/gz-customerSystem/src/assets/images/floating.png b/gz-customerSystem/src/assets/images/floating.png
new file mode 100644
index 0000000..9229380
--- /dev/null
+++ b/gz-customerSystem/src/assets/images/floating.png
Binary files differ
diff --git a/gz-customerSystem/src/assets/images/index.js b/gz-customerSystem/src/assets/images/index.js
index 9a8f3c0..9c21414 100644
--- a/gz-customerSystem/src/assets/images/index.js
+++ b/gz-customerSystem/src/assets/images/index.js
@@ -2,7 +2,7 @@
* @Company: hugeInfo
* @Author: lwh
* @Date: 2023-04-24 16:12:00
- * @LastEditTime: 2024-09-07 14:08:18
+ * @LastEditTime: 2024-09-09 15:35:32
* @LastEditors: dminyi 1301963064@qq.com
* @Version: 1.0.0
* @Description:
@@ -64,6 +64,15 @@
import Audit from "./Audit.png";
import aiPerson from "./aiPerson.png";
import caselogo from "./caselogo.png";
+import tab1 from "./tab1.png";
+import tab2 from "./tab2.png";
+import tab3 from "./tab3.png";
+import tab4 from "./tab4.png";
+import tab5 from "./tab5.png";
+import tab6 from "./tab6.png";
+import visitInto from "./visitInto.png";
+import checkInto from "./checkInto.png";
+import floating from "./floating.png";
export {
ledger_1,
@@ -122,5 +131,14 @@
up,
Audit,
aiPerson,
- caselogo
+ caselogo,
+ tab1,
+ tab2,
+ tab3,
+ tab4,
+ tab5,
+ tab6,
+ visitInto,
+ checkInto,
+ floating
};
\ No newline at end of file
diff --git a/gz-customerSystem/src/assets/images/tab1.png b/gz-customerSystem/src/assets/images/tab1.png
new file mode 100644
index 0000000..923701f
--- /dev/null
+++ b/gz-customerSystem/src/assets/images/tab1.png
Binary files differ
diff --git a/gz-customerSystem/src/assets/images/tab2.png b/gz-customerSystem/src/assets/images/tab2.png
new file mode 100644
index 0000000..57a3b63
--- /dev/null
+++ b/gz-customerSystem/src/assets/images/tab2.png
Binary files differ
diff --git a/gz-customerSystem/src/assets/images/tab3.png b/gz-customerSystem/src/assets/images/tab3.png
new file mode 100644
index 0000000..200fb5c
--- /dev/null
+++ b/gz-customerSystem/src/assets/images/tab3.png
Binary files differ
diff --git a/gz-customerSystem/src/assets/images/tab4.png b/gz-customerSystem/src/assets/images/tab4.png
new file mode 100644
index 0000000..4e52d4a
--- /dev/null
+++ b/gz-customerSystem/src/assets/images/tab4.png
Binary files differ
diff --git a/gz-customerSystem/src/assets/images/tab5.png b/gz-customerSystem/src/assets/images/tab5.png
new file mode 100644
index 0000000..c7f6b49
--- /dev/null
+++ b/gz-customerSystem/src/assets/images/tab5.png
Binary files differ
diff --git a/gz-customerSystem/src/assets/images/tab6.png b/gz-customerSystem/src/assets/images/tab6.png
new file mode 100644
index 0000000..b5b18fe
--- /dev/null
+++ b/gz-customerSystem/src/assets/images/tab6.png
Binary files differ
diff --git a/gz-customerSystem/src/assets/images/visitInto.png b/gz-customerSystem/src/assets/images/visitInto.png
new file mode 100644
index 0000000..87f653b
--- /dev/null
+++ b/gz-customerSystem/src/assets/images/visitInto.png
Binary files differ
diff --git a/gz-customerSystem/src/router/router.js b/gz-customerSystem/src/router/router.js
index fc2e138..9ab1fef 100644
--- a/gz-customerSystem/src/router/router.js
+++ b/gz-customerSystem/src/router/router.js
@@ -2,7 +2,7 @@
* @Company: hugeInfo
* @Author: ldh
* @Date: 2022-03-28 11:22:41
- * @LastEditTime: 2024-09-08 15:15:51
+ * @LastEditTime: 2024-09-09 15:48:38
* @LastEditors: dminyi 1301963064@qq.com
* @Version: 1.0.0
* @Description: 路由
@@ -221,12 +221,10 @@
<Route path="visit/:id?" element={<Visit />} />
<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/fileMessage/:caseTaskId?/:caseId?" element={<FileMessage />} />
<Route path="visit/closingReview/:caseTaskId?/:caseId?" element={<ClosingReview />}/>
<Route path="visit/visitWorkBench" element={<VisitWorkBench />}/>
-
-
{/* 工作流模块 */}
<Route path="workflowTemplate" element={<WorkflowTemplate />} />
<Route path="workflowTemplate/workflowTemplateEdit" element={<WorkflowTemplateEdit />} />
diff --git a/gz-customerSystem/src/styles/public.less b/gz-customerSystem/src/styles/public.less
index 7381840..d54605e 100644
--- a/gz-customerSystem/src/styles/public.less
+++ b/gz-customerSystem/src/styles/public.less
@@ -15,6 +15,11 @@
src: url('../assets/font/DingTalk_JinBuTi_Regular.ttf');
}
+@font-face {
+ font-family: DouYu;
+ src: url('../assets/font/DingTalk_JinBuTi_Regular.ttf');
+}
+
html,
body {
margin: 0;
diff --git a/gz-customerSystem/src/utils/caseTypeSelect.js b/gz-customerSystem/src/utils/caseTypeSelect.js
index bf234b7..ef41fe4 100644
--- a/gz-customerSystem/src/utils/caseTypeSelect.js
+++ b/gz-customerSystem/src/utils/caseTypeSelect.js
@@ -10,40 +10,412 @@
let caseTypeSelect = [
{
- 'label': '家庭邻里',
- 'value': '24_000010-1',
- 'parentId': 'root',
- 'children': [
+ "label": "城市管理",
+ "value": "24_01-3",
+ "icon": null,
+ "parentId": "root",
+ "children": [
{
- 'label': '邻里纠纷',
- 'value': '24_000011-1',
- 'parentId': '24_000010-1',
+ "label": "施工问题",
+ "value": "24_02-20",
+ "icon": null,
+ "parentId": "24_01-3",
+ "children": null
},
{
- 'label': '婚姻家庭纠纷',
- 'value': '24_000011-2',
- 'parentId': '24_000010-1',
+ "label": "违章建筑",
+ "value": "24_02-21",
+ "icon": null,
+ "parentId": "24_01-3",
+ "children": null
+ },
+ {
+ "label": "路桥坑洼、破损",
+ "value": "24_02-22",
+ "icon": null,
+ "parentId": "24_01-3",
+ "children": null
+ },
+ {
+ "label": "消防隐患举报",
+ "value": "24_02-23",
+ "icon": null,
+ "parentId": "24_01-3",
+ "children": null
+ },
+ {
+ "label": "噪声、气味、污水等环境问题",
+ "value": "24_02-25",
+ "icon": null,
+ "parentId": "24_01-3",
+ "children": null
+ },
+ {
+ "label": "乱摆卖、垃圾清理等街面问题",
+ "value": "24_02-24",
+ "icon": null,
+ "parentId": "24_01-3",
+ "children": null
}
]
},
{
- 'label': '劳动社保',
- 'value': '24_000010-2',
- 'parentId': 'root',
- 'children': [
+ "label": "家庭邻里",
+ "value": "24_01-8",
+ "icon": null,
+ "parentId": "root",
+ "children": [
{
- 'label': '拖欠、克扣工资',
- 'value': '24_000011-3',
- 'parentId': '24_000010-2',
+ "label": "邻里纠纷",
+ "value": "24_02-48",
+ "icon": null,
+ "parentId": "24_01-8",
+ "children": null
},
{
- 'label': '门诊及住院待遇',
- 'value': '24_000011-4',
- 'parentId': '24_000010-2',
+ "label": "婚姻家庭纠纷",
+ "value": "24_02-47",
+ "icon": null,
+ "parentId": "24_01-8",
+ "children": null
+ },
+ {
+ "label": "男女情感问题",
+ "value": "24_02-49",
+ "icon": null,
+ "parentId": "24_01-8",
+ "children": null
}
]
},
-
+ {
+ "label": "交通运输",
+ "value": "24_01-4",
+ "icon": null,
+ "parentId": "root",
+ "children": [
+ {
+ "label": "出租车、公交车、站点等营运问题",
+ "value": "24_02-32",
+ "icon": null,
+ "parentId": "24_01-4",
+ "children": null
+ },
+ {
+ "label": "交通灯、电子警察等公安设施",
+ "value": "24_02-28",
+ "icon": null,
+ "parentId": "24_01-4",
+ "children": null
+ },
+ {
+ "label": "交通拥堵",
+ "value": "24_02-27",
+ "icon": null,
+ "parentId": "24_01-4",
+ "children": null
+ },
+ {
+ "label": "道路违章举报",
+ "value": "24_02-29",
+ "icon": null,
+ "parentId": "24_01-4",
+ "children": null
+ },
+ {
+ "label": "物流快递管理",
+ "value": "24_02-30",
+ "icon": null,
+ "parentId": "24_01-4",
+ "children": null
+ },
+ {
+ "label": "驾校纠纷",
+ "value": "24_02-31",
+ "icon": null,
+ "parentId": "24_01-4",
+ "children": null
+ },
+ {
+ "label": "车辆乱停放",
+ "value": "24_02-26",
+ "icon": null,
+ "parentId": "24_01-4",
+ "children": null
+ },
+ {
+ "label": "电动车违规问题",
+ "value": "24_02-33",
+ "icon": null,
+ "parentId": "24_01-4",
+ "children": null
+ },
+ {
+ "label": "其他(社会治安、限行、养犬等)",
+ "value": "24_02-34",
+ "icon": null,
+ "parentId": "24_01-4",
+ "children": null
+ }
+ ]
+ },
+ {
+ "label": "教育医疗",
+ "value": "24_01-5",
+ "icon": null,
+ "parentId": "root",
+ "children": [
+ {
+ "label": "教育事务、培训机构投诉",
+ "value": "24_02-35",
+ "icon": null,
+ "parentId": "24_01-5",
+ "children": null
+ },
+ {
+ "label": "医疗服务",
+ "value": "24_02-36",
+ "icon": null,
+ "parentId": "24_01-5",
+ "children": null
+ }
+ ]
+ },
+ {
+ "label": "劳动社保",
+ "value": "24_01-2",
+ "icon": null,
+ "parentId": "root",
+ "children": [
+ {
+ "label": "社保费用补缴",
+ "value": "24_02-16",
+ "icon": null,
+ "parentId": "24_01-2",
+ "children": null
+ },
+ {
+ "label": "生育待遇",
+ "value": "24_02-12",
+ "icon": null,
+ "parentId": "24_01-2",
+ "children": null
+ },
+ {
+ "label": "异地就医办理",
+ "value": "24_02-13",
+ "icon": null,
+ "parentId": "24_01-2",
+ "children": null
+ },
+ {
+ "label": "养老待遇",
+ "value": "24_02-14",
+ "icon": null,
+ "parentId": "24_01-2",
+ "children": null
+ },
+ {
+ "label": "失业保险待遇",
+ "value": "24_02-15",
+ "icon": null,
+ "parentId": "24_01-2",
+ "children": null
+ },
+ {
+ "label": "参保流程",
+ "value": "24_02-17",
+ "icon": null,
+ "parentId": "24_01-2",
+ "children": null
+ },
+ {
+ "label": "其他(职业技能、社保补贴等)",
+ "value": "24_02-18",
+ "icon": null,
+ "parentId": "24_01-2",
+ "children": null
+ },
+ {
+ "label": "港澳青年来穗服务",
+ "value": "24_02-19",
+ "icon": null,
+ "parentId": "24_01-2",
+ "children": null
+ },
+ {
+ "label": "医保个人账户",
+ "value": "24_02-11",
+ "icon": null,
+ "parentId": "24_01-2",
+ "children": null
+ },
+ {
+ "label": "门诊及住院待遇",
+ "value": "24_02-10",
+ "icon": null,
+ "parentId": "24_01-2",
+ "children": null
+ },
+ {
+ "label": "拖欠、克扣工资",
+ "value": "24_02-9",
+ "icon": null,
+ "parentId": "24_01-2",
+ "children": null
+ }
+ ]
+ },
+ {
+ "label": "房屋规划",
+ "value": "24_01-7",
+ "icon": null,
+ "parentId": "root",
+ "children": [
+ {
+ "label": "物业/业委会管理",
+ "value": "24_02-41",
+ "icon": null,
+ "parentId": "24_01-7",
+ "children": null
+ },
+ {
+ "label": "不动产登记",
+ "value": "24_02-42",
+ "icon": null,
+ "parentId": "24_01-7",
+ "children": null
+ },
+ {
+ "label": "开发商/中介纠纷",
+ "value": "24_02-43",
+ "icon": null,
+ "parentId": "24_01-7",
+ "children": null
+ },
+ {
+ "label": "电梯加装",
+ "value": "24_02-44",
+ "icon": null,
+ "parentId": "24_01-7",
+ "children": null
+ },
+ {
+ "label": "建设项目规划",
+ "value": "24_02-45",
+ "icon": null,
+ "parentId": "24_01-7",
+ "children": null
+ },
+ {
+ "label": "租赁纠纷",
+ "value": "24_02-46",
+ "icon": null,
+ "parentId": "24_01-7",
+ "children": null
+ }
+ ]
+ },
+ {
+ "label": "公共服务",
+ "value": "24_01-6",
+ "icon": null,
+ "parentId": "root",
+ "children": [
+ {
+ "label": "个人危险行为",
+ "value": "24_02-40",
+ "icon": null,
+ "parentId": "24_01-6",
+ "children": null
+ },
+ {
+ "label": "停水/电/气",
+ "value": "24_02-37",
+ "icon": null,
+ "parentId": "24_01-6",
+ "children": null
+ },
+ {
+ "label": "自然灾害",
+ "value": "24_02-38",
+ "icon": null,
+ "parentId": "24_01-6",
+ "children": null
+ },
+ {
+ "label": "公共卫生安全",
+ "value": "24_02-39",
+ "icon": null,
+ "parentId": "24_01-6",
+ "children": null
+ }
+ ]
+ },
+ {
+ "label": "市场监管",
+ "value": "24_01-1",
+ "icon": null,
+ "parentId": "root",
+ "children": [
+ {
+ "label": "金融纠纷",
+ "value": "24_02-6",
+ "icon": null,
+ "parentId": "24_01-1",
+ "children": null
+ },
+ {
+ "label": "网购及其他消费纠纷",
+ "value": "24_02-5",
+ "icon": null,
+ "parentId": "24_01-1",
+ "children": null
+ },
+ {
+ "label": "其他经济违法举报",
+ "value": "24_02-7",
+ "icon": null,
+ "parentId": "24_01-1",
+ "children": null
+ },
+ {
+ "label": "无证/无照/冒用信息等违法经营行为举报",
+ "value": "24_02-4",
+ "icon": null,
+ "parentId": "24_01-1",
+ "children": null
+ },
+ {
+ "label": "食品消费纠纷",
+ "value": "24_02-3",
+ "icon": null,
+ "parentId": "24_01-1",
+ "children": null
+ },
+ {
+ "label": "旅游消费纠纷",
+ "value": "24_02-2",
+ "icon": null,
+ "parentId": "24_01-1",
+ "children": null
+ },
+ {
+ "label": "通讯、宽带消费纠纷",
+ "value": "24_02-1",
+ "icon": null,
+ "parentId": "24_01-1",
+ "children": null
+ },
+ {
+ "label": "电费问题",
+ "value": "24_02-8",
+ "icon": null,
+ "parentId": "24_01-1",
+ "children": null
+ }
+ ]
+ }
]
const obj = {
diff --git a/gz-customerSystem/src/views/register/index.jsx b/gz-customerSystem/src/views/register/index.jsx
index 2da95a0..0c63274 100644
--- a/gz-customerSystem/src/views/register/index.jsx
+++ b/gz-customerSystem/src/views/register/index.jsx
@@ -1,63 +1,809 @@
-import React from 'react';
+/*
+ * @Author: dminyi 1301963064@qq.com
+ * @Date: 2024-09-08 15:14:12
+ * @LastEditors: dminyi 1301963064@qq.com
+ * @LastEditTime: 2024-09-09 17:06:20
+ * @FilePath: \gzDyh\gz-customerSystem\src\views\register\index.jsx
+ * @Description: 工作台
+ */
+import React, { useEffect, useState } from 'react';
+import { useNavigate } from 'react-router-dom';
+import { tab1, tab2, tab3, tab4, tab5, tab6, visitInto, checkInto } from '@/assets/images'
+import TableView from '../../components/TableView';
+import { Space } from 'antd';
+import { Tabs, Typography, Radio } from '@arco-design/web-react';
+import * as $$ from '@/utils/utility';
+
+const TabPane = Tabs.TabPane;
+
+function pageMyTaskBlApi(data) {
+ return $$.ax.request({ url: `caseTask/pageMyTaskBl`, type: 'get', service: 'mediate', data });
+}
+
+function getCountListApi(data) {
+ return $$.ax.request({ url: `caseTask/getCountList`, type: 'get', service: 'mediate', data });
+}
const VisitWorkBench = () => {
-
+ const navigate = useNavigate();
+ const [tabActivekey, setTabActivekey] = useState('1')
+ const [CountList, setCountList] = useState({})
+ const [direction, setDirection] = useState('回退审核')
const tabsList = [
{
key: '1',
label: '待分派',
bgColor: '#E8F8FF',
- num: 10,
+ num: `${CountList?.waitDisp}`,
+ img: tab1
},
{
key: '2',
label: '待签收',
bgColor: '#E8FFEA',
- num: 30,
+ num: `${CountList?.waitSign}`,
+ img: tab2
},
{
key: '3',
label: '待受理',
bgColor: '#F5E8FF',
- num: 50,
+ num: `${CountList?.waitAccept}`,
+ img: tab3
},
{
key: '4',
label: '办理中',
bgColor: '#E6FFFB',
- num: 60,
+ num: `${CountList?.waitReview}`,
+ img: tab4
},
{
key: '5',
label: '待审核',
bgColor: '#E8F7FF',
- num: 70,
+ num: `${CountList?.supervise}`,
+ img: tab5
},
{
key: '6',
label: '督办',
bgColor: '#FFF7E6',
- num: 80,
+ num: `${CountList?.processing}`,
+ img: tab6
+
},
]
+
+ const fakeData1 =
+ [
+ {
+ id: 1,
+ caseNo: 'A20230101',
+ judicNo: '申请材料',
+ perClassName: '李晓明的纠纷化解申请表、身份证...',
+ inputUserName: '0',
+ mediateUserName: '2024-7-12 12:00',
+ judgeName: '王五',
+ mediator: '赵六',
+ handlerUserName: '钱七',
+ returnUserName: '孙八',
+ expireTime: '2023-08-10T08:00:00.000Z',
+ processName: '进行中',
+ otherMediator: '周九',
+ canalName: '网络',
+ judicResult: '通过',
+ assistName: '吴十',
+ mediTypeName: '民事调解',
+ serieStatus: '1', // 1 表示非系列案,2 表示系列案
+ // 更多字段...
+ },
+ {
+ id: 2,
+ caseNo: 'A20230101',
+ judicNo: '证据材料',
+ perClassName: '李晓明的纠纷化解申请表、身份证...',
+ inputUserName: '0',
+ mediateUserName: '2024-7-12 12:00',
+ judgeName: '王五',
+ mediator: '赵六',
+ handlerUserName: '钱七',
+ returnUserName: '孙八',
+ expireTime: '2023-08-10T08:00:00.000Z',
+ processName: '进行中',
+ otherMediator: '周九',
+ canalName: '网络',
+ judicResult: '通过',
+ assistName: '吴十',
+ mediTypeName: '民事调解',
+ serieStatus: '1', // 1 表示非系列案,2 表示系列案
+ // 更多字段...
+ },
+ {
+ id: 3,
+ caseNo: 'A20230101',
+ judicNo: '证据材料',
+ perClassName: '李晓明的纠纷化解申请表、身份证...',
+ inputUserName: '0',
+ mediateUserName: '2024-7-12 12:00',
+ judgeName: '王五',
+ mediator: '赵六',
+ handlerUserName: '钱七',
+ returnUserName: '孙八',
+ expireTime: '2023-08-10T08:00:00.000Z',
+ processName: '进行中',
+ otherMediator: '周九',
+ canalName: '网络',
+ judicResult: '通过',
+ assistName: '吴十',
+ mediTypeName: '民事调解',
+ serieStatus: '1', // 1 表示非系列案,2 表示系列案
+ // 更多字段...
+ },
+ {
+ id: 4,
+ caseNo: 'A20230101',
+ judicNo: '证据材料',
+ perClassName: '李晓明的纠纷化解申请表、身份证...',
+ inputUserName: '0',
+ mediateUserName: '2024-7-12 12:00',
+ judgeName: '王五',
+ mediator: '赵六',
+ handlerUserName: '钱七',
+ returnUserName: '孙八',
+ expireTime: '2023-08-10T08:00:00.000Z',
+ processName: '进行中',
+ otherMediator: '周九',
+ canalName: '网络',
+ judicResult: '通过',
+ assistName: '吴十',
+ mediTypeName: '民事调解',
+ serieStatus: '1', // 1 表示非系列案,2 表示系列案
+ // 更多字段...
+ },
+ {
+ id: 5,
+ caseNo: 'A20230101',
+ judicNo: '证据材料',
+ perClassName: '李晓明的纠纷化解申请表、身份证...',
+ inputUserName: '0',
+ mediateUserName: '2024-7-12 12:00',
+ judgeName: '王五',
+ mediator: '赵六',
+ handlerUserName: '钱七',
+ returnUserName: '孙八',
+ expireTime: '2023-08-10T08:00:00.000Z',
+ processName: '进行中',
+ otherMediator: '周九',
+ canalName: '网络',
+ judicResult: '通过',
+ assistName: '吴十',
+ mediTypeName: '民事调解',
+ serieStatus: '1', // 1 表示非系列案,2 表示系列案
+ // 更多字段...
+ },
+ {
+ id: 6,
+ caseNo: 'A20230101',
+ judicNo: '证据材料',
+ perClassName: '李晓明的纠纷化解申请表、身份证...',
+ inputUserName: '0',
+ mediateUserName: '2024-7-12 12:00',
+ judgeName: '王五',
+ mediator: '赵六',
+ handlerUserName: '钱七',
+ returnUserName: '孙八',
+ expireTime: '2023-08-10T08:00:00.000Z',
+ processName: '进行中',
+ otherMediator: '周九',
+ canalName: '网络',
+ judicResult: '通过',
+ assistName: '吴十',
+ mediTypeName: '民事调解',
+ serieStatus: '1', // 1 表示非系列案,2 表示系列案
+ // 更多字段...
+ },
+ {
+ id: 7,
+ caseNo: 'A20230101',
+ judicNo: '证据材料',
+ perClassName: '李晓明的纠纷化解申请表、身份证...',
+ inputUserName: '0',
+ mediateUserName: '2024-7-12 12:00',
+ judgeName: '王五',
+ mediator: '赵六',
+ handlerUserName: '钱七',
+ returnUserName: '孙八',
+ expireTime: '2023-08-10T08:00:00.000Z',
+ processName: '进行中',
+ otherMediator: '周九',
+ canalName: '网络',
+ judicResult: '通过',
+ assistName: '吴十',
+ mediTypeName: '民事调解',
+ serieStatus: '1', // 1 表示非系列案,2 表示系列案
+ // 更多字段...
+ },
+ {
+ id: 8,
+ caseNo: 'A20230101',
+ judicNo: '证据材料',
+ perClassName: '李晓明的纠纷化解申请表、身份证...',
+ inputUserName: '0',
+ mediateUserName: '2024-7-12 12:00',
+ judgeName: '王五',
+ mediator: '赵六',
+ handlerUserName: '钱七',
+ returnUserName: '孙八',
+ expireTime: '2023-08-10T08:00:00.000Z',
+ processName: '进行中',
+ otherMediator: '周九',
+ canalName: '网络',
+ judicResult: '通过',
+ assistName: '吴十',
+ mediTypeName: '民事调解',
+ serieStatus: '1', // 1 表示非系列案,2 表示系列案
+ // 更多字段...
+ },
+ {
+ id: 9,
+ caseNo: 'A20230101',
+ judicNo: '证据材料',
+ perClassName: '李晓明的纠纷化解申请表、身份证...',
+ inputUserName: '0',
+ mediateUserName: '2024-7-12 12:00',
+ judgeName: '王五',
+ mediator: '赵六',
+ handlerUserName: '钱七',
+ returnUserName: '孙八',
+ expireTime: '2023-08-10T08:00:00.000Z',
+ processName: '进行中',
+ otherMediator: '周九',
+ canalName: '网络',
+ judicResult: '通过',
+ assistName: '吴十',
+ mediTypeName: '民事调解',
+ serieStatus: '1', // 1 表示非系列案,2 表示系列案
+ // 更多字段...
+ },
+ {
+ id: 10,
+ caseNo: 'A20230101',
+ judicNo: '证据材料',
+ perClassName: '李晓明的纠纷化解申请表、身份证...',
+ inputUserName: '0',
+ mediateUserName: '2024-7-12 12:00',
+ judgeName: '王五',
+ mediator: '赵六',
+ handlerUserName: '钱七',
+ returnUserName: '孙八',
+ expireTime: '2023-08-10T08:00:00.000Z',
+ processName: '进行中',
+ otherMediator: '周九',
+ canalName: '网络',
+ judicResult: '通过',
+ assistName: '吴十',
+ mediTypeName: '民事调解',
+ serieStatus: '1', // 1 表示非系列案,2 表示系列案
+ // 更多字段...
+ },
+
+ // 更多数据...
+ ]
+
+ const [columnType, setColumnType] = useState([
+ {
+ title: '流转时间',
+ dataIndex: 'turnaroundTime',
+ key: 'turnaroundTime',
+ width: 100,
+ },
+ {
+ title: '分派时限',
+ dataIndex: 'timeLimit',
+ key: 'timeLimit',
+ width: 60,
+ },
+ {
+ title: '事项等级',
+ dataIndex: 'caseGrade',
+ key: 'caseGrade',
+ width: 180,
+ },
+ {
+ title: '事项来源',
+ dataIndex: 'caseSource',
+ key: 'caseSource',
+ width: 180,
+ },
+ {
+ title: '事项类型',
+ dataIndex: 'caseType',
+ key: 'caseType',
+ width: 180,
+ },
+ {
+ title: '申请方',
+ dataIndex: 'plaintiffs',
+ key: 'plaintiffs',
+ width: 180,
+ },
+ {
+ title: '被申请方',
+ dataIndex: 'defendants',
+ key: 'defendants',
+ width: 180,
+ },
+ {
+ title: '操作',
+ dataIndex: 'actions',
+ key: 'actions',
+ width: 180,
+ render: (text, record) => (
+ <Space style={{ color: '#1A6FB8' }}>
+ <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>详情</div>
+ <div onClick={() => navigate(`/mediate/visit/eventFlow?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>处理</div>
+ </Space>
+ ),
+ },
+ ])
+
+ // 列配置
+ const fakeColumns3 = [
+ {
+ title: '流转时间',
+ dataIndex: 'turnaroundTime',
+ key: 'turnaroundTime',
+ width: 100,
+ render: (text, record, index) => <span>{index + 1}</span>,
+ },
+ {
+ title: '分派时限',
+ dataIndex: 'timeLimit',
+ key: 'timeLimit',
+ width: 60,
+ },
+ {
+ title: '事项等级',
+ dataIndex: 'caseGrade',
+ key: 'caseGrade',
+ width: 180,
+ },
+ {
+ title: '事项来源',
+ dataIndex: 'caseSource',
+ key: 'caseSource',
+ width: 180,
+ },
+ {
+ title: '事项类型',
+ dataIndex: 'caseType',
+ key: 'caseType',
+ width: 180,
+ },
+ {
+ title: '申请方',
+ dataIndex: 'plaintiffs',
+ key: 'plaintiffs',
+ width: 180,
+ },
+ {
+ title: '被申请方',
+ dataIndex: 'defendants',
+ key: 'defendants',
+ width: 180,
+ },
+ {
+ title: '操作',
+ dataIndex: 'actions',
+ key: 'actions',
+ width: 180,
+ render: (text, record) => (
+ <Space style={{ color: '#1A6FB8' }}>
+ <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>详情</div>
+ <div onClick={() => navigate(`/mediate/visit/eventFlow?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>处理</div>
+ </Space>
+ ),
+ },
+ ];
+ const fakeColumns1 = [
+ {
+ title: '流转时间',
+ dataIndex: 'turnaroundTime',
+ key: 'turnaroundTime',
+ width: 100,
+ render: (text, record, index) => <span>{index + 1}</span>,
+ },
+ {
+ title: '签收时限',
+ dataIndex: 'timeLimit',
+ key: 'timeLimit',
+ width: 60,
+ },
+ {
+ title: '事项等级',
+ dataIndex: 'caseGrade',
+ key: 'caseGrade',
+ width: 180,
+ },
+ {
+ title: '事项来源',
+ dataIndex: 'caseSource',
+ key: 'caseSource',
+ width: 180,
+ },
+ {
+ title: '事项类型',
+ dataIndex: 'caseType',
+ key: 'caseType',
+ width: 180,
+ },
+ {
+ title: '申请方',
+ dataIndex: 'plaintiffs',
+ key: 'plaintiffs',
+ width: 180,
+ },
+ {
+ title: '被申请方',
+ dataIndex: 'defendants',
+ key: 'defendants',
+ width: 180,
+ },
+ {
+ title: '操作',
+ dataIndex: 'actions',
+ key: 'actions',
+ width: 180,
+ render: (text, record) => (
+ <Space style={{ color: '#1A6FB8' }}>
+ <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>详情</div>
+ <div>签收</div>
+ </Space>
+ ),
+ },
+ ];
+ const fakeColumns2 = [
+ {
+ title: '流转时间',
+ dataIndex: 'turnaroundTime',
+ key: 'turnaroundTime',
+ width: 100,
+ },
+ {
+ title: '受理时限',
+ dataIndex: 'timeLimit',
+ key: 'timeLimit',
+ width: 60,
+ },
+ {
+ title: '事项等级',
+ dataIndex: 'caseGrade',
+ key: 'caseGrade',
+ width: 180,
+ },
+ {
+ title: '事项来源',
+ dataIndex: 'caseSource',
+ key: 'caseSource',
+ width: 180,
+ },
+ {
+ title: '事项类型',
+ dataIndex: 'caseType',
+ key: 'caseType',
+ width: 180,
+ },
+ {
+ title: '申请方',
+ dataIndex: 'plaintiffs',
+ key: 'plaintiffs',
+ width: 180,
+ },
+ {
+ title: '被申请方',
+ dataIndex: 'defendants',
+ key: 'defendants',
+ width: 180,
+ },
+ {
+ title: '操作',
+ dataIndex: 'actions',
+ key: 'actions',
+ width: 180,
+ render: (text, record) => (
+ <Space style={{ color: '#1A6FB8' }}>
+ <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>详情</div>
+ <div onClick={() => navigate(`/mediate/visit/eventFlow?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>处理</div>
+ </Space>
+ ),
+ },
+ ];
+
+ const [column, setColumn] = useState([
+ {
+ title: '流转时间',
+ dataIndex: 'turnaroundTime',
+ key: 'turnaroundTime',
+ width: 100,
+ },
+ {
+ title: '已办天数',
+ dataIndex: 'processingDays',
+ key: 'processingDays',
+ width: 60,
+ },
+ {
+ title: '事项等级',
+ dataIndex: 'caseGrade',
+ key: 'caseGrade',
+ width: 180,
+ },
+ {
+ title: '事项来源',
+ dataIndex: 'caseSource',
+ key: 'caseSource',
+ width: 180,
+ },
+ {
+ title: '事项类型',
+ dataIndex: 'caseType',
+ key: 'caseType',
+ width: 180,
+ },
+ {
+ title: '承办部门',
+ dataIndex: 'organizingUnit',
+ key: 'organizingUnit',
+ width: 180,
+ },
+ {
+ title: '配合部门',
+ dataIndex: 'cooperatingUnit',
+ key: 'cooperatingUnit',
+ width: 180,
+ },
+ {
+ title: '经办人',
+ dataIndex: 'manager',
+ key: 'manager',
+ width: 180,
+ },
+ {
+ title: '申请方',
+ dataIndex: 'plaintiffs',
+ key: 'plaintiffs',
+ width: 180,
+ },
+ {
+ title: '被申请方',
+ dataIndex: 'defendants',
+ key: 'defendants',
+ width: 180,
+ },
+ {
+ title: '操作',
+ dataIndex: 'actions',
+ key: 'actions',
+ width: 180,
+ render: (text, record) => (
+ <Space>
+ <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>详情</div>
+ <div onClick={() => navigate(`/mediate/visit/handleFeedback?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>处理</div>
+ </Space>
+ ),
+ },
+ ])
+
+ const [backColumn, setBackColumn] = useState([
+ {
+ title: '回退时间',
+ dataIndex: 'turnaroundTime',
+ key: 'turnaroundTime',
+ width: 100,
+ },
+ {
+ title: '回退部门',
+ dataIndex: 'backUnit',
+ key: 'backUnit',
+ width: 60,
+ },
+ {
+ title: '回退理由',
+ dataIndex: 'reason',
+ key: 'reason',
+ width: 180,
+ },
+ {
+ title: '事项等级',
+ dataIndex: 'caseGrade',
+ key: 'caseGrade',
+ width: 180,
+ },
+ {
+ title: '事项来源',
+ dataIndex: 'caseSource',
+ key: 'caseSource',
+ width: 180,
+ },
+ {
+ title: '事项类型',
+ dataIndex: 'caseType',
+ key: 'caseType',
+ width: 180,
+ },
+ {
+ title: '申请方',
+ dataIndex: 'plaintiffs',
+ key: 'plaintiffs',
+ width: 180,
+ },
+ {
+ title: '被申请方',
+ dataIndex: 'defendants',
+ key: 'defendants',
+ width: 180,
+ },
+ {
+ title: '操作',
+ dataIndex: 'actions',
+ key: 'actions',
+ width: 180,
+ render: (text, record) => (
+ <Space>
+ <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>详情</div>
+ {/* <div onClick={() => navigate(`/mediate/visit/handleFeedback?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>处理</div> */}
+ {(direction === '回退审核' || direction === '上报审核') &&
+ <div onClick={() => navigate(`/mediate/visit/eventFlow?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>处理</div>
+
+ }
+ {(direction === '结案申请审核' || direction === '联合处置审核') &&
+ <div onClick={() => navigate(`/mediate/visit/handleFeedback?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>处理</div>
+ }
+ </Space>
+ ),
+ },
+ ])
+
+ const [mangeColumn, setMangeColumn] = useState([
+ {
+ title: '督办时间',
+ dataIndex: 'turnaroundTime',
+ key: 'turnaroundTime',
+ width: 100,
+ render: (text, record, index) => <span>{index + 1}</span>,
+ },
+ {
+ title: '回复时限',
+ dataIndex: 'timeLimit',
+ key: 'timeLimit',
+ width: 60,
+ },
+ {
+ title: '督办部门',
+ dataIndex: 'caseGrade',
+ key: 'caseGrade',
+ width: 180,
+ },
+ {
+ title: '督办意见',
+ dataIndex: 'opinion',
+ key: 'opinion',
+ width: 180,
+ },
+ {
+ title: '事项等级',
+ dataIndex: 'caseGrade',
+ key: 'caseGrade',
+ width: 180,
+ },
+ {
+ title: '事项来源',
+ dataIndex: 'caseSource',
+ key: 'caseSource',
+ width: 180,
+ },
+ {
+ title: '事项类型',
+ dataIndex: 'caseType',
+ key: 'caseType',
+ width: 180,
+ },
+ {
+ title: '申请方',
+ dataIndex: 'plaintiffs',
+ key: 'plaintiffs',
+ width: 180,
+ },
+ {
+ title: '被申请方',
+ dataIndex: 'defendants',
+ key: 'defendants',
+ width: 180,
+ },
+ {
+ title: '操作',
+ dataIndex: 'actions',
+ key: 'actions',
+ width: 180,
+ render: (text, record) => (
+ <Space>
+ <div>回复</div>
+ <div>详情</div>
+ </Space>
+ ),
+ },
+ ])
+
+
+
+
+ const tabActive = (key) => {
+ console.log(key, 'key')
+ setTabActivekey(key);
+ if (key === '1') {
+ setColumnType(fakeColumns3)
+ }
+ if (key === '2') {
+ setColumnType(fakeColumns1)
+ }
+ if (key === '3') {
+ setColumnType(fakeColumns2)
+ }
+ if (key === '4') {
+ setColumnType(column)
+ }
+ if (key === '5') {
+ setColumnType(backColumn)
+ }
+ if (key === '6') {
+ setColumnType(mangeColumn)
+ }
+ }
+
+ const pageMyTaskBl = async () => {
+ const res = await pageMyTaskBlApi({ page: 1, size: 10, timeStart: '', timeEnd: '', partyName: '', sortType: '', sortColmn: '' })
+ if (res.type) {
+ console.log(res.data, 'res.data')
+ // setColumn(res.data)
+ }
+ }
+
+ const getCountList = async () => {
+ const res = await getCountListApi()
+ if (res.type) {
+ const data = res.data
+ setCountList(data)
+ }
+ }
+
+
+
+ useEffect(() => {
+ // pageMyTaskBl();
+ getCountList();
+ }, [columnType,direction])
+
+
+
return (
<div className='VisitWorkBench'>
<div className='VisitWorkBench-top'>
- 工作总览
+ <span style={{ fontWeight: 600 }}>工作总览</span>
<div className='VisitWorkBench-top-list'>
{
tabsList.map((item, index) => (
- <div key={index} className='VisitWorkBench-top-list-tabsItem' style={{ backgroundColor: item.bgColor }}>
+ <div key={index} className='VisitWorkBench-top-list-tabsItem' style={{ backgroundColor: item.bgColor }} onClick={() => tabActive(item.key)}>
<div>
<div>{item.label}</div>
- <div>{item.num}件</div>
+ <span className='VisitWorkBench-top-list-tabsItem-title'>{item.num}</span>件
</div>
<div>
- <img src={item.img} alt=''/>
+ <img src={item.img} alt='' className='VisitWorkBench-top-list-tabsItem-imgView' />
</div>
</div>
))
@@ -65,10 +811,90 @@
</div>
</div>
<div className='VisitWorkBench-middle'>
- 222
+ <Tabs defaultActiveTab='1'>
+ <TabPane
+ // onChange={handleColumnType}
+ key='1'
+ title={
+ <span style={{ fontSize: '15px' }}>
+ {tabActivekey === '1' ? '待分派' :
+ tabActivekey === '2' ? '待签收' :
+ tabActivekey === '3' ? '待受理' :
+ tabActivekey === '4' ? '办理中' :
+ tabActivekey === '5' ? '待审核' : '督办-未回复'
+ }
+ </span>
+ }
+ >
+ <Typography.Paragraph>
+ {tabActivekey === '5' &&
+ <Radio.Group
+ type='button'
+ name='direction'
+ value={direction}
+ onChange={(e) => setDirection(e)}
+ style={{ marginBottom: 16 }}
+ options={['回退审核', '上报审核', '结案申请审核', '联合处置审核']}
+ ></Radio.Group>
+ }
+ <TableView
+ columns={columnType}
+ dataSource={fakeData1}
+ size="small"
+ rowKey="id"
+ bordered={true}
+ // style={{ marginBottom: '65px', marginTop: '-16px' }}
+ rowSelection={{
+ type: 'Checkbox'
+ }}
+ />
+ </Typography.Paragraph>
+ </TabPane>
+ <TabPane
+ key='2'
+ title={
+ <span style={{ fontSize: '15px' }}>
+ {tabActivekey === '1' ? '已分派' :
+ tabActivekey === '2' ? '已签收' :
+ tabActivekey === '3' ? '已受理' :
+ tabActivekey === '4' ? '结案申请' :
+ tabActivekey === '5' ? '已审核' : '督办-未回复'
+ }
+ </span>
+ }
+ >
+ <Typography.Paragraph>
+ </Typography.Paragraph>
+ </TabPane>
+ {tabActivekey === '4' &&
+ <TabPane
+ key='3'
+ title={
+ <span style={{ fontSize: '15px' }}>
+ 已结案
+ </span>
+ }
+ >
+ <Typography.Paragraph>
+ </Typography.Paragraph>
+ </TabPane>
+ }
+
+ </Tabs>
+
</div>
<div className='VisitWorkBench-bottom'>
- 333333
+ 自行排查
+ <div style={{ display: 'flex', justifyContent: 'space-evenly' }}>
+ <div className='bottomTab1'>
+ <div className='VisitWorkBench-bottom-title' onClick={() => navigate(`/mediate/visit`)} style={{ color: '#206BCD' }}>大厅来访</div>
+ <img src={visitInto} alt='' className='VisitWorkBench-bottom-img' />
+ </div>
+ <div className='bottomTab2'>
+ <div className='VisitWorkBench-bottom-title' style={{ color: '#D46B08' }}>自行排查</div>
+ <img src={checkInto} alt='' className='VisitWorkBench-bottom-img' />
+ </div>
+ </div>
</div>
</div>
)
diff --git a/gz-customerSystem/src/views/register/index.less b/gz-customerSystem/src/views/register/index.less
index 94212ee..463f38a 100644
--- a/gz-customerSystem/src/views/register/index.less
+++ b/gz-customerSystem/src/views/register/index.less
@@ -760,13 +760,13 @@
height: 24px;
}
- &-name{
+ &-name {
margin: 0px 16px 0px 8px;
max-width: 828px;
width: fit-content;
}
- &-btn{
+ &-btn {
color: #1A6FB8;
width: 30px;
}
@@ -774,66 +774,115 @@
}
}
-.marginLeft{
+.marginLeft {
margin-left: 55px;
//fontWeight: '600', marginBottom: '16px'
- &-title{
+ &-title {
font-weight: 600;
margin-bottom: 16px;
}
}
-.layerDetail{
+.layerDetail {
margin-top: -8px;
- &-title{
+ &-title {
color: rgb(26, 111, 184);
margin-bottom: 16px;
}
- &-name{
+ &-name {
font-size: 16px;
margin-bottom: 16px;
max-width: 400px;
}
- &-littleTitle{
+ &-littleTitle {
margin-bottom: 16px;
}
- &-content{
+ &-content {
margin-bottom: 16px;
}
}
-.VisitWorkBench{
- &-top{
- background: #ffffff;
- padding: 12px 16px 16px 16px;
+.VisitWorkBench {
+ margin: 16px;
- &-list{
+ &-top {
+ background: #ffffff;
+ padding: 12px 16px 16px 16px;
+
+ &-list {
display: flex;
- &-tabsItem{
+ gap: 24px;
+ margin-top: 16px;
+
+ &-tabsItem {
+ display: flex;
padding: 12px 16px;
flex: 1;
+ justify-content: space-between;
+
+ &-title {
+ font-size: 18px;
+ margin-right: 4px;
+ }
+
+ &-imgView {
+ width: 48px;
+ height: 48px;
+ }
}
-
+
}
}
- &-middle{
+ &-middle {
+ background: #ffffff;
+ padding: 12px 16px 16px 16px;
+ margin-top: 12px;
}
- &-bottom{}
+ &-bottom {
+ background-color: #fff;
+ padding: 12px 16px 16px 16px;
+ margin-top: 12px;
+
+ &-title{
+ width: 140px;
+ font-family: DingTalk;
+ font-size: 22px;
+ }
+
+ &-img {
+ width: 72px;
+ height: 72px;
+ }
+ }
}
-.modeMore{
+.modeMore {
display: flex;
justify-content: space-between;
align-items: center;
+}
+
+.bottomTab1{
+ // display: 'flex', background: linear-gradient(to right, #6a1b9a, #e040fb)
+ display: flex;
+ background: linear-gradient(to right, #E8F7FF, #9FD4FD);
+ padding: 12px 16px 16px 16px;
+}
+
+.bottomTab2{
+ display: flex;
+ background: linear-gradient(to right, #FFF7E6, #FFD591);
+ padding: 12px 16px 16px 16px;
+
}
\ No newline at end of file
diff --git a/gz-customerSystem/src/views/register/matterDetail/fileMessage.jsx b/gz-customerSystem/src/views/register/matterDetail/fileMessage.jsx
index a0bc307..13869c8 100644
--- a/gz-customerSystem/src/views/register/matterDetail/fileMessage.jsx
+++ b/gz-customerSystem/src/views/register/matterDetail/fileMessage.jsx
@@ -2,13 +2,17 @@
import NewPage from '@/components/NewPage';
import { Row, Col, Space } from 'antd';
import { Steps, Tabs, Typography, Rate, Button } from '@arco-design/web-react';
-import { apply } from '@/assets/images';
+import { apply,floating } from '@/assets/images';
import { result } from '@/assets/images/icon';
import * as $$ from '@/utils/utility';
-import { ApplyDialog, AgentDialog, Respondent } from '../visit/component/previewTable';
import TableView from '../../../components/TableView';
import { register, fold, down, empty, link } from '@/assets/images';
import ProgressStep from '@/components/ProgressStep/VisitStep';
+import { ApplyDialog, AgentDialog, Respondent, Company } from '../visit/component/previewTable';
+import HandleRecord from './HandleRecord';
+import { useParams } from 'react-router-dom';
+import ApplyInfo from './ApplyInfo'
+
const Step = Steps.Step;
const TabPane = Tabs.TabPane;
@@ -21,15 +25,27 @@
return $$.ax.request({ url: `caseEvaluate/getByCaseId?caseId=${caseId}`, type: 'get', service: 'mediate' });
}
+function getCaseInfoApi(id) {
+ return $$.ax.request({ url: 'caseInfo/getCaseInfo?id=' + id, type: 'get', service: 'mediate' });
+}
+
+function listFeedbackApi(id) {
+ return $$.ax.request({ url: `caseFeedback/listFeedback?id=` + id, type: 'get', service: 'mediate' });
+}
+
+function getListCaseFlow(data) {
+ return $$.ax.request({ url: `caseTask/listCaseFlow`, type: 'get', service: 'mediate', data });
+}
+
const FileMessage = (props) => {
-
+ const routeData = useParams();
const [tabsActive, setTabsActive] = useState('1');
const [current, setCurrent] = useState(7);
const [grade, setGrade] = useState(0);
+ const [caseInfo, setCaseInfo] = useState({})
const [TransactResult, setTransactResult] = useState({})
const [filesCheck, setFilesCheck] = useState(false);
- const [infoData, setInfoData] = useState({});
const [tabsList, setTabList] = useState([
{
img: result,
@@ -38,13 +54,19 @@
isNeedStep: true
},
{
+ img: floating,
+ label: '流转督办',
+ key: '2',
+ },
+ {
img: apply,
label: '申请记录',
- key: '2',
- isNeedStep: true,//加上这个就有进度条
+ key: '3',
},
])
const [selectedTab, setSelectedTab] = useState('1'); // 默认选中第一个 tab
+ const [list, setList] = useState([])
+ const [progressData, setProgressData] = useState({})
const tabs = [
@@ -120,59 +142,29 @@
console.log(res, 'resrs')
}
- const applyDialog = [
- {
- trueName: '李四',
- perClassName: '高级',
- phone: '13700137000',
- sex: '女',
- certiTypeName: '护照',
- certiNo: 'G12345678',
- nationName: '满',
- addr: '上海市浦东新区某公寓2号楼2单元202室',
- placeAddr: '上海市黄浦区某路3号',
- extreme: '否',
- workUnit: '上海某金融公司',
- person: '/path/to/anotherPerson.jpg', // 这应该是图片的实际路径
- link: '/path/to/anotherLink.png', // 这应该是链接图标的实际路径
+ const getCaseInfo = async () => {
+ const res = await getCaseInfoApi('24083010062110001')
+ if (res.type) {
+ setCaseInfo(res.data)
}
- // 可以根据需要添加更多的对象来模拟更多条目的数据
- ];
+ }
- const agentDialog = [
- {
- trueName: '王五',
- perClassName: '自然人',
- phone: '13600136000',
- sex: '男',
- certiTypeName: '身份证',
- certiNo: '110101199501012345',
- nationName: '汉',
- addr: '广州市天河区某大厦A座501室',
- placeAddr: '广州市越秀区某街4号',
- extreme: '否',
- workUnit: '广州某贸易公司',
- agentRelateName: '配偶',
- agentTypeName: '法定代理人',
- perTypeName: '成年人',
- person: '/path/to/person.jpg', // 应该是图片的实际路径
- link: '/path/to/link.png', // 应该是链接图标的实际路径
- },
- ];
+ const listFeedback = async (id) => {
+ const res = await listFeedbackApi(id)
+ if (res.type) {
+ let data = res.data.caseFeedbackList
+ setList(data)
+ }
+ }
- const respondent = [
- {
- orgaType: '广东好又多贸易有限公司',
- perClassName: '企业法人',
- phone: '020-12345678',
- address: '广州市天河区珠江新城花城大道66号',
- companyType: '有限责任公司',
- legalPerson: '江照月',
- creditCode: '914401011234567890',
- president: '广州市天河区珠江新城花城大道66号A座20层',
- link: '/path/to/link.png', // 应该是链接图标的实际路径
- },
- ];
+ const getData = async () => {
+ const res = await getListCaseFlow({
+ caseId: routeData.caseId
+ })
+ if (res.type) {
+ setProgressData(res.data)
+ }
+ }
const fakeColumns = [
{
@@ -350,9 +342,21 @@
useEffect(() => {
getByCaseId();
getTransactResult();
+ getCaseInfo();
+ listFeedback('24083010062110001');
+ getData()
}, [])
+ const applyData = caseInfo?.personList?.filter(item => item.perTypeName === "申请方当事人" && item.perClassName === "自然人");
+ const agentData = caseInfo?.personList?.filter(item => item.perTypeName === "申请方代理人");
+ const company = caseInfo?.personList?.filter(item => item.perTypeName === "申请方当事人" && item.perClassName === "非法人组织");
+ const respondentData = caseInfo?.personList?.filter(item => item.perTypeName === "申请方当事人" && item.perClassName === "法人");
+
+ const applyData1 = caseInfo?.personList?.filter(item => item.perTypeName === "被申请方当事人" && item.perClassName === "自然人");
+ const agentData1 = caseInfo?.personList?.filter(item => item.perTypeName === "被申请方代理人");
+ const company1 = caseInfo?.personList?.filter(item => item.perTypeName === "被申请方当事人" && item.perClassName === "非法人组织");
+ const respondentData1 = caseInfo?.personList?.filter(item => item.perTypeName === "被申请方当事人" && item.perClassName === "法人");
@@ -399,22 +403,52 @@
<div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>当事人信息</h4>
</Space>
</Col>
-
<div style={{ marginBottom: '8px' }}>申请方</div>
<div className="line-container" style={{ marginBottom: '20px' }}>
<div className="line left-line"></div>
<div className="line middle-line"></div>
<div className="line right-line"></div>
</div>
- <ApplyDialog applyDialog={applyDialog} />
- <AgentDialog agentDialog={agentDialog} />
+ {/* ApplyDialog 只有在 applyData 存在且不为空时才渲染 */}
+ {applyData && applyData.length > 0 ? (
+ <ApplyDialog applyDialog={applyData} />
+ ) : null}
+
+ {/* AgentDialog 只有在 agentData 存在且不为空时才渲染 */}
+ {agentData && agentData.length > 0 ? (
+ <AgentDialog agentDialog={agentData} />
+ ) : null}
+
+ {/* Respondent 只有在 respondentData 存在且不为空时才渲染 */}
+ {respondentData && respondentData.length > 0 ? (
+ <Respondent respondent={respondentData} />
+ ) : null}
+
+ {company && company.length > 0 ? (
+ <Company company={company} />
+ ) : null}
+
<div style={{ marginBottom: '8px' }}>被申请方</div>
<div className="line-container" style={{ marginBottom: '20px' }}>
<div className="line left-line"></div>
<div className="line middle-line"></div>
<div className="line right-line"></div>
</div>
- <Respondent respondent={respondent} />
+ {applyData1 && applyData1.length > 0 ? (
+ <ApplyDialog applyDialog={applyData1} />
+ ) : null}
+
+ {agentData1 && agentData1.length > 0 ? (
+ <AgentDialog agentDialog={agentData1} />
+ ) : null}
+
+ {respondentData1 && respondentData1.length > 0 ? (
+ <Respondent respondent={respondentData1} />
+ ) : null}
+
+ {company1 && company1.length > 0 ? (
+ <Company company={company1} />
+ ) : null}
<Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '4px' }}>
<Space size='small'>
<div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>纠纷基本情况</h5>
@@ -423,68 +457,68 @@
<Row gutter={[16, 16]}>
<Col span={8}>
<div><div className="title-text">事项状态</div></div>
- <div style={{ color: '#1A6FB8' }}>{infoData?.statusName || '-'}</div>
+ <div style={{ color: '#1A6FB8' }}>{caseInfo?.statusName || '-'}</div>
</Col>
<Col span={16}>
<div><div className="title-text">事项编号</div></div>
- <div>{infoData?.caseRef || '-'}</div>
+ <div>{caseInfo?.caseRef || '-'}</div>
</Col>
{/*事项等级分为三级,颜色需要做判断*/}
<Col span={8}>
<div className="title"><div className="title-text">事项等级</div></div>
- <div style={{ display: 'flex' }}><div style={{ backgroundColor: '#00B42A', marginRight: '4px', borderRadius: '4px' }}><div style={{ color: '#FFFFFF', padding: '0px 6px' }}>{infoData.caseLevel || '-'}</div></div>级</div>
+ <div style={{ display: 'flex' }}><div style={{ backgroundColor: '#00B42A', marginRight: '4px', borderRadius: '4px' }}><div style={{ color: '#FFFFFF', padding: '0px 6px' }}>{caseInfo?.caseLevel || '-'}</div></div>级</div>
</Col>
<Col span={8}>
<div><div className="title-text">来访时间</div></div>
- <div>{infoData.visitTime || '-'}</div>
+ <div>{caseInfo?.visitTime || '-'}</div>
</Col>
<Col span={8}>
<div ><div className="title-text">来访人数(人)</div></div>
- <div>{infoData.visitPeopleNum || '-'}</div>
+ <div>{caseInfo?.visitPeopleNum || '-'}</div>
</Col>
<Col span={8}>
<div ><div className="title-text">纠纷类型</div></div>
- <div>{infoData.caseType || '-'}</div>
+ <div>{caseInfo?.caseType || '-'}</div>
</Col>
<Col span={8}>
<div ><div className="title-text">纠纷发生时间</div></div>
- <div>{infoData.occurTime || '-'}</div>
+ <div>{caseInfo?.occurTime || '-'}</div>
</Col>
<Col span={8}>
<div ><div className="title-text">纠纷发生地点</div></div>
- <div>{infoData.addr || '-'}</div>
+ <div>{caseInfo?.addr || '-'}</div>
</Col>
<Col span={8}>
<div ><div className="title-text">问题属地</div></div>
- <div>{infoData.questionName || '-'}</div>
+ <div>{caseInfo?.questionName || '-'}</div>
</Col>
<Col span={8}>
<div ><div className="title-text">涉及人数(人)</div></div>
- <div>{infoData.peopleNum || '-'}</div>
+ <div>{caseInfo?.peopleNum || '-'}</div>
</Col>
<Col span={8}>
<div ><div className="title-text">涉及金额(元)</div></div>
- <div>{$$.thousands(infoData.amount) || '-'}</div>
+ <div>{$$.thousands(caseInfo?.amount) || '-'}</div>
</Col>
<Col span={8}>
<div ><div className="title-text">事项来源</div></div>
- <div>{infoData.canalName || '-'}</div>
+ <div>{caseInfo?.canalName || '-'}</div>
</Col>
<Col span={16}>
<div ><div className="title-text">来访形式</div></div>
- <div>{infoData.visitWayName || '-'}</div>
+ <div>{caseInfo?.visitWayName || '-'}</div>
</Col>
<Col span={24}>
<div className="title"><div className="title-text">事项概况</div></div>
- <div>{infoData.caseDes || '-'}</div>
+ <div>{caseInfo?.caseDes || '-'}</div>
</Col>
<Col span={24}>
<div className="title"><div className="title-text">事项申请</div></div>
- <div>{infoData.caseClaim || '-'}</div>
+ <div>{caseInfo?.caseClaim || '-'}</div>
</Col>
<Col span={16}>
<div className="title"><div className="title-text">是否重大矛盾纠纷</div></div>
- <div>{infoData.majorStatus === '0' ? '否' : '是'}</div>
+ <div>{caseInfo?.majorStatus === '0' ? '否' : '是'}</div>
</Col>
</Row>
<Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '16px', marginTop: '20px' }}>
@@ -548,7 +582,9 @@
<div className='gap'></div>
<Col span={24} style={{ marginTop: '12px' }}>
<div style={{ color: 'rgb(134, 144, 156)' }}>办理记录</div>
- <div>
+ <HandleRecord isReview={false} data={list} />
+
+ {/* <div>
{records.map(record => (
<div key={record.id} className='container-bottom-left-record'>
<div className='container-bottom-left-record-top'>
@@ -574,7 +610,7 @@
</div>
</div>
))}
- </div>
+ </div> */}
</Col>
<div className='gap'></div>
<div style={{ marginLeft: '-16px' }}>
@@ -668,14 +704,14 @@
<div className="title">
<div className="title-text">登记机构</div>
</div>
- <div>天河区棠下街道综治中心</div>
+ <div>{caseInfo?.inputUnitName || '-'}</div>
</Col>
<Col span={8}>
<div className="title">
<div className="title-text">登记人</div>
</div>
<div>
- 李晓明
+ {caseInfo.inputUserName}
<img src={register} alt='' style={{ width: '14px', height: '14px', marginLeft: '8px', marginTop: '4px' }} />
</div>
</Col>
@@ -683,7 +719,7 @@
<div className="title">
<div className="title-text">登记时间</div>
</div>
- <div>2024-7-8 10:00</div>
+ <div>{caseInfo?.visitTime || '-'}</div>
</Col>
</Row>
</div>
@@ -697,7 +733,10 @@
}
{
tabsActive === '2' &&
- <></>
+ <ProgressStep progressData={progressData} />
+ }
+ {tabsActive === '3' &&
+ <ApplyInfo />
}
</TabPane>
})}
diff --git a/gz-wxparty/api/api.js b/gz-wxparty/api/api.js
index 7ae9632..06113a8 100644
--- a/gz-wxparty/api/api.js
+++ b/gz-wxparty/api/api.js
@@ -1,37 +1,46 @@
const url = {
- // === 测试环境 ===
- // debug: 'http://47mhcb.natappfree.cc/',
- // img: 'https://gz.hugeinfo.com.cn/dyh/wx414ae04ac3f10b4e/images/',
- // assets: 'https://gz.hugeinfo.com.cn/dyh/wx414ae04ac3f10b4e/js/',
+ // === 测试环境 ===
+ // debug: 'http://47mhcb.natappfree.cc/',
+ // img: 'https://gz.hugeinfo.com.cn/dyh/wx414ae04ac3f10b4e/images/',
+ // assets: 'https://gz.hugeinfo.com.cn/dyh/wx414ae04ac3f10b4e/js/',
// txt: 'https://gz.hugeinfo.com.cn/dyh/wx414ae04ac3f10b4e/txt/',
-
- // === 测试环境 ===
- // debug: 'https://gz.hugeinfo.com.cn/',
- debug: 'http://n3uvrw.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/',
-
-
+
+ // === 测试环境 ===
+ // debug: 'https://gz.hugeinfo.com.cn/',
+ debug: 'http://8pxgs3.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/',
+
+
// === 正式环境 ===
- // web: 'https://zfw-dyh.by.gov.cn/',
- // img: 'https://zfw-dyh.by.gov.cn/wechat/images/',
- // assets: 'https://zfw-dyh.by.gov.cn/wechat/js/',
- // txt: 'https://zfw-dyh.by.gov.cn/wechat/txt/',
+ web: 'https://zfw-dyh.by.gov.cn/',
+ img: 'https://zfw-dyh.by.gov.cn/gz/wechat/images/',
+ assets: 'https://zfw-dyh.by.gov.cn/gz/wechat/js/',
+ txt: 'https://zfw-dyh.by.gov.cn/gz/wechat/txt/',
- // 文件查看url 后面接附件编号
- fileShowUrl: 'dyh-sys/api/v1/fileInfo/show/',
- // 文件下载url 后面接附件编号
- fileDownUrl: 'dyh-sys/api/v1/fileInfo/down/',
- // 不同服务接口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
+ // 文件查看url 后面接附件编号
+ fileShowUrl: 'gzdyh-sys/api/v1/fileInfo/show/',
+ // 文件下载url 后面接附件编号
+ fileDownUrl: 'gzdyh-sys/api/v1/fileInfo/down/',
+ // 不同服务接口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', //dyh-utils
+
+ // 正式环境
+ 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 = {
- url,
-};
+ url,
+};
\ No newline at end of file
diff --git a/gz-wxparty/app.json b/gz-wxparty/app.json
index daecd87..08abce1 100644
--- a/gz-wxparty/app.json
+++ b/gz-wxparty/app.json
@@ -8,8 +8,12 @@
"pages/addAddress/index",
"pages/speechToText/index",
"pages/addPerson/index",
+ "pages/DetailPerson/index",
+ "pages/AIAide/index",
+ "pages/AIAideDetail/index",
"pages/myRegisterList/index",
"pages/myRegisterFlow/index",
+ "pages/myRegisterDetail/index",
"pages/autograph/index",
"pages/course/index",
"pages/orderConfirm/index",
diff --git a/gz-wxparty/components/personal-data-dom/index.js b/gz-wxparty/components/personal-data-dom/index.js
index 570bc6c..3ff2859 100644
--- a/gz-wxparty/components/personal-data-dom/index.js
+++ b/gz-wxparty/components/personal-data-dom/index.js
@@ -5,194 +5,161 @@
// 获取信息
function getUserInfoApi() {
- return $$.request({
- url: 'paUser/getUserInfo',
- type: 'get',
- service: 'cust'
- });
+ return $$.request({
+ url: 'paUser/getUserInfo',
+ type: 'get',
+ service: 'cust'
+ });
}
Component({
- /**
- * 组件的属性列表
- * submitData: object form数据
- * type: string 判断当前使用组件的页面realNameAuthentication为实名认证页面
- * isCheck: boolean 判断是否只读不可修改
- * isImproveData: boolean 判断是否是完善资料,则不显示证件信息
- */
- properties: {
- submitData: {
- type: Object,
- value: {},
- },
- type: {
- type: String,
- value: '',
- },
- isCheck: {
- type: Boolean,
- value: false,
- },
- isImproveData: {
- type: Boolean,
- value: false,
- },
+ /**
+ * 组件的属性列表
+ * submitData: object form数据
+ * type: string 判断当前使用组件的页面realNameAuthentication为实名认证页面
+ * isCheck: boolean 判断是否只读不可修改
+ * isImproveData: boolean 判断是否是完善资料,则不显示证件信息
+ */
+ properties: {
+ submitData: {
+ type: Object,
+ value: {},
},
-
- /**
- * 组件的初始数据
- */
- select: {}, // 下拉框资源
- location: [],
- data: {},
-
- pageLifetimes: {
- show() {
- $$.showLoading();
- this._getSelectOptionData();
- this._getLocationData();
- this._getUserInfo();
- },
+ type: {
+ type: String,
+ value: '',
},
-
- /**
- * 组件的方法列表
- */
- methods: {
- //
- _handleChange(e) {
- let key = e.currentTarget.dataset.key;
- if (key === 'clearidcard') {
- this.triggerEvent('handleChange', {
- key: 'idcard',
- value: ''
- });
- } else {
- this.triggerEvent('handleChange', {
- key,
- value: e.detail
- });
- }
- },
- // 展示弹出层
- _handleShowPopup(e) {
- if (this.data.isCheck) {
- return false;
- }
- let type = e.currentTarget.dataset.type;
- let title = e.currentTarget.dataset.title;
- let selectData = [];
- if (type === 'location') {
- let selectOption = JSON.parse(JSON.stringify(this.location));
- let indexArr = $$.getLocationIndex(selectOption, this.data.submitData);
- selectData = [{
- values: selectOption,
- defaultIndex: indexArr[0]
- },
- {
- values: selectOption[indexArr[0]].children,
- defaultIndex: indexArr[1]
- },
- {
- values: selectOption[indexArr[0]].children[indexArr[1]].children || [],
- defaultIndex: indexArr[2]
- },
- {
- values: selectOption[indexArr[0]].children[indexArr[1]].children[indexArr[2]].children || [],
- defaultIndex: indexArr[3]
- },
- ];
- selectData.forEach((x) => {
- x.values.forEach((y) => {
- delete y.children;
- });
- });
- } else {
- let selectOption = this.select[type];
- selectData = selectOption;
- }
- this.triggerEvent('handleShowPopup', {
- visible: true,
- title: title,
- type: type,
- selectData: selectData,
- });
- },
- // 获取手机号码
- _handleGetPhoneNumber(e) {
- console.log('eeeee',e);
- this.triggerEvent('handleGetPhoneNumber', e.detail.code);
- },
- // 获取个人信息
- async _getUserInfo() {
- console.log('个人信息')
- console.log(app.globalData.access_token, 'app.globalData.access_token1111111')
- // const res = await getUserInfoApi();
- // $$.hideLoading();
- // if (res.type) {
- // this.triggerEvent('getUserInfo', res.data);
- // }
- const res = await getUserInfoApi();
- $$.hideLoading();
- if (res.type) {
- if(res.data.trueName !== null)
- this.triggerEvent('getUserInfo', res.data);
- }
- if (app.globalData.access_token && res.data.trueName === null) {
- let actoken = app.globalData.access_token;
- wx.request({
- url: 'https://xcx.pinganbaiyun.cn/p_060_cs_intf/api_001/sv_002_get_paby_login_info', //仅为示例,并非真实的接口地址
- data: {
- "access_token": '测试token',
- "app_id": "测试",
- "secret": "测试"
- },
- method: 'post',
- success: (res1) => {
- $$.hideLoading();
- this.triggerEvent('getUserInfo', {
- ...res1.data[0],
- trueName: res1.data[0].XM,
- idcard: res1.data[0].ZJHM,
- mobile: res1.data[0].LXDH
- });
- }
- })
- }
-
-
-
- },
- // 请求下拉框资源
- async _getSelectOptionData() {
- const res = await $$.commonRequest({
- url: `${$$.url.assets}selectOption.json`,
- type: 'get'
- });
- if (res) {
- this.select = {
- cardType: [],
- sex: [],
- };
- this.select.cardType = res.data.cardType || [];
- this.select.sex = res.data.sex || [];
- }
- },
- // 获取省市区等地理资源
- async _getLocationData() {
- $$.showLoading();
- const res = await $$.commonRequest({
- url: `${$$.url.assets}locationSelect.json`,
- type: 'get'
- });
- $$.hideLoading();
- if (res) {
- let location = [];
- $$.province.forEach((x) => {
- location.push(res[x][0]);
- });
- this.location = location;
- }
- },
+ isCheck: {
+ type: Boolean,
+ value: false,
},
+ isImproveData: {
+ type: Boolean,
+ value: false,
+ },
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ select: {}, // 下拉框资源
+ location: [],
+ data: {},
+
+ pageLifetimes: {
+ show() {
+ $$.showLoading();
+ this._getSelectOptionData();
+ this._getLocationData();
+ this._getUserInfo();
+ },
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ //
+ _handleChange(e) {
+ let key = e.currentTarget.dataset.key;
+ if (key === 'clearidcard') {
+ this.triggerEvent('handleChange', {
+ key: 'idcard',
+ value: ''
+ });
+ } else {
+ this.triggerEvent('handleChange', {
+ key,
+ value: e.detail
+ });
+ }
+ },
+ // 展示弹出层
+ _handleShowPopup(e) {
+ if (this.data.isCheck) {
+ return false;
+ }
+ let type = e.currentTarget.dataset.type;
+ let title = e.currentTarget.dataset.title;
+ let selectData = [];
+ if (type === 'location') {
+ let selectOption = JSON.parse(JSON.stringify(this.location));
+ let indexArr = $$.getLocationIndex(selectOption, this.data.submitData);
+ selectData = [{
+ values: selectOption,
+ defaultIndex: indexArr[0]
+ },
+ {
+ values: selectOption[indexArr[0]].children,
+ defaultIndex: indexArr[1]
+ },
+ {
+ values: selectOption[indexArr[0]].children[indexArr[1]].children || [],
+ defaultIndex: indexArr[2]
+ },
+ ];
+ selectData.forEach((x) => {
+ x.values.forEach((y) => {
+ delete y.children;
+ });
+ });
+ } else {
+ let selectOption = this.select[type];
+ selectData = selectOption;
+ }
+ this.triggerEvent('handleShowPopup', {
+ visible: true,
+ title: title,
+ type: type,
+ selectData: selectData,
+ });
+ },
+ // 获取手机号码
+ _handleGetPhoneNumber(e) {
+ console.log('eeeee', e);
+ this.triggerEvent('handleGetPhoneNumber', e.detail.code);
+ },
+ // 获取个人信息
+ async _getUserInfo() {
+ console.log('个人信息')
+ console.log(app.globalData.access_token, 'app.globalData.access_token1111111')
+ const res = await getUserInfoApi();
+ $$.hideLoading();
+ if (res.type) {
+ if (res.data.trueName !== null)
+ this.triggerEvent('getUserInfo', res.data);
+ }
+ },
+ // 请求下拉框资源
+ async _getSelectOptionData() {
+ const res = await $$.commonRequest({
+ url: `${$$.url.assets}selectOption.json`,
+ type: 'get'
+ });
+ if (res) {
+ this.select = {
+ cardType: [],
+ sex: [],
+ };
+ this.select.cardType = res.data.cardType || [];
+ this.select.sex = res.data.sex || [];
+ }
+ },
+ // 获取省市区等地理资源
+ async _getLocationData() {
+ $$.showLoading();
+ const res = await $$.commonRequest({
+ url: `${$$.url.assets}locationSelect.json`,
+ type: 'get'
+ });
+ $$.hideLoading();
+ if (res) {
+ let location = [];
+ $$.province.forEach((x) => {
+ location.push(res[x][0]);
+ });
+ this.location = location;
+ }
+ },
+ },
});
\ No newline at end of file
diff --git a/gz-wxparty/components/personal-data-dom/index.wxml b/gz-wxparty/components/personal-data-dom/index.wxml
index da3c114..0202a98 100644
--- a/gz-wxparty/components/personal-data-dom/index.wxml
+++ b/gz-wxparty/components/personal-data-dom/index.wxml
@@ -66,7 +66,7 @@
data-type="location"
is-link="{{ !isCheck }}"
label="居住地"
- placeholder="省/市/区(县)/街道"
+ placeholder="市/区(县)/街道"
readonly
value="{{ submitData.prov ? wxs.showLocation(submitData) : '' }}"
/>
diff --git a/gz-wxparty/components/steps/index.wxml b/gz-wxparty/components/steps/index.wxml
index e343597..10806b9 100644
--- a/gz-wxparty/components/steps/index.wxml
+++ b/gz-wxparty/components/steps/index.wxml
@@ -12,7 +12,7 @@
<van-icon name="{{ imgUrl }}steps-arrow.png" size="14" />
</block>
<block wx:else>
- <van-icon name="{{ imgUrl }}steps-arrow-active.png" size="14" />
+ <van-icon custom-style="font-weight:600" name="arrow" size="14" />
</block>
</view>
</view>
diff --git a/gz-wxparty/pages/AIAide/index.js b/gz-wxparty/pages/AIAide/index.js
new file mode 100644
index 0000000..8d8c61f
--- /dev/null
+++ b/gz-wxparty/pages/AIAide/index.js
@@ -0,0 +1,116 @@
+// pages/AIAide/index.js
+const $$ = require('../../utils/util');
+const app = getApp();
+
+function getawApi(submitData) {
+ return $$.request({
+ url: 'case-law/get-law',
+ type: 'post',
+ ai: true,
+ submitData,
+ service: 'mediate',
+ });
+}
+// 获取案例
+function getCaseApi(submitData) {
+ return $$.request({
+ url: 'case-law/get-case',
+ type: 'post',
+ ai: true,
+ submitData,
+ service: 'mediate',
+ });
+}
+
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ imgUrl: $$.url.img,
+ AIData: [], //法条
+ caseData: [], //案例
+ },
+
+ async getaw(data) {
+ let newData = {
+ caseDes: data.caseDes,
+ caseClaim: data.caseClaim,
+ caseId: data.caseId,
+ }
+ $$.showLoading();
+ const res = await getawApi(newData);
+ $$.hideLoading();
+ if (res.type) {
+ let nowData = res.data || []
+ this.setData({
+ AIData: nowData.map(i => ({
+ ...i,
+ show: false
+ }))
+ })
+ }
+ },
+
+ // 案例
+ async getCase(data) {
+ let newData = {
+ caseDes: data.caseDes,
+ caseClaim: data.caseClaim,
+ caseId: data.caseId,
+ }
+ $$.showLoading();
+ const res = await getCaseApi(newData);
+ $$.hideLoading();
+ if (res.type) {
+ this.setData({
+ caseData: res.data || []
+ })
+ }
+ },
+
+ // 打开折叠法条
+ lawClick(e) {
+ let item = e.currentTarget.dataset.item;
+ let index = e.currentTarget.dataset.index;
+ this.setData({
+ AIData: this.data.AIData.map((i, idx) => ({
+ ...i,
+ show: idx === index ? i.show ? false : true : false,
+ }))
+ })
+ },
+
+ // 跳转案例详情
+ caseClick(e) {
+ let url = e.currentTarget.dataset.url;
+ let caseId = e.currentTarget.dataset.caseid;
+ let caseType = e.currentTarget.dataset.casetype;
+
+ wx.navigateTo({
+ url: url + '?caseId=' + caseId + '&type=' + caseType,
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+ console.log('options', options);
+ let {
+ caseDes,
+ caseClaim,
+ caseId,
+ } = options;
+ this.getaw({
+ caseDes,
+ caseClaim,
+ caseId,
+ })
+ this.getCase({
+ caseDes,
+ caseClaim,
+ caseId,
+ })
+ },
+})
\ No newline at end of file
diff --git a/gz-wxparty/pages/AIAide/index.json b/gz-wxparty/pages/AIAide/index.json
new file mode 100644
index 0000000..f48d0c8
--- /dev/null
+++ b/gz-wxparty/pages/AIAide/index.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "解纷助手",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/gz-wxparty/pages/AIAide/index.wxml b/gz-wxparty/pages/AIAide/index.wxml
new file mode 100644
index 0000000..fb1679f
--- /dev/null
+++ b/gz-wxparty/pages/AIAide/index.wxml
@@ -0,0 +1,50 @@
+<!--pages/AIAide/index.wxml-->
+
+<wxs module="wxs" src="../../utils/wxs/util.wxs" />
+
+<view class="card">
+ <view class="card_main">
+ <block wx:if="{{caseData.length>0}}">
+ <view class="caseList_head">
+ <van-icon size="22" name="{{imgUrl}}AIAide_1.png" />为您推荐与申请相似的典型案例({{caseData.length}})
+ </view>
+ <view class="caseList" bindtap="caseClick" data-caseId="{{item.caseId}}" data-caseType="{{item.caseType}}" data-url="../../pages/AIAideDetail/index" wx:for="{{caseData}}" wx:key="index">
+ <view class="caseList_flex">
+ <text class="ellipsis">{{item.caseName}}</text>
+ <view class="cell-arrow">
+ <van-icon color="#1A6FB8" size="14" name="arrow" />
+ </view>
+ </view>
+ <view class="caseList_title">相似度:{{'-'}}% | 发生地:广东省 广州市</view>
+ </view>
+ </block>
+ <block wx:if="{{AIData.length>0}}">
+ <view class="line"></view>
+ <view class="caseList_head">
+ <van-icon size="22" name="{{imgUrl}}AIAide_2.png" />为您推荐与申请相关的专业法条({{AIData.length}})
+ </view>
+ <view class="caseList" wx:for="{{AIData}}" wx:key="index">
+ <view bindtap="lawClick" data-item="{{item}}" data-index="{{index}}" class="caseList_flex">
+ <text class="ellipsis">《{{item.lawTitle}}》{{item.lawIndex}}</text>
+ <view wx:if="{{item.show}}" class="cell-arrow">
+ <van-icon color="#1A6FB8" size="14" name="arrow-down" />
+ </view>
+ <view wx:else class="cell-arrow">
+ <van-icon color="#1A6FB8" size="14" name="arrow-up" />
+ </view>
+ </view>
+ <view wx:if="{{item.show}}" class="show-line">
+
+ </view>
+ <view wx:if="{{item.show}}" class="show-Law">
+ {{item.lawDesc}}
+ </view>
+ </view>
+ <view class="assess">
+ <van-icon size="18" name="{{imgUrl}}AIAide_3.png" />
+ <van-icon size="18" name="{{imgUrl}}AIAide_4.png" />
+ </view>
+ </block>
+ <view wx:if="{{caseData.length}}" class="flex_end">以上内容均由人工智能模型生成,其生成内容的准确性和完整性无法保证,不代表我们的态度或观点</view>
+ </view>
+</view>
\ No newline at end of file
diff --git a/gz-wxparty/pages/AIAide/index.wxss b/gz-wxparty/pages/AIAide/index.wxss
new file mode 100644
index 0000000..130560b
--- /dev/null
+++ b/gz-wxparty/pages/AIAide/index.wxss
@@ -0,0 +1,90 @@
+/* pages/AIAide/index.wxss */
+
+.card {
+ padding: 24rpx;
+ height: 100%;
+ background-color: #fff;
+ position: relative;
+}
+
+.card_main {
+ background-color: #F6F7FB;
+ border-radius: 8px;
+}
+
+.flex_end {
+ /* position: fixed;
+ bottom: 40rpx; */
+ color: rgba(23, 26, 29, 0.24);
+ font-size: 28rpx;
+ /* padding: 0 52rpx; */
+ text-align: center;
+ padding: 24rpx 0;
+}
+
+.caseList {
+ border-radius: 4px;
+ background-color: #fff;
+ padding: 24rpx;
+ margin: 0 24rpx 16rpx 24rpx;
+}
+
+.caseList_flex {
+ display: flex;
+ justify-content: space-between;
+ margin-bottom: 8rpx;
+}
+
+.cell-arrow {
+ width: 16px;
+ height: 16px;
+ background: #f6f7fb;
+ border-radius: 50%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ padding: 6rpx;
+}
+
+.caseList_title {
+ color: rgba(23, 26, 29, 0.60);
+ font-size: 24rpx;
+ line-height: 40rpx;
+}
+
+.caseList_head {
+ display: flex;
+ gap: 8rpx;
+ padding: 24rpx 24rpx;
+ margin-top: 24rpx;
+}
+
+.line {
+ border: 1px dashed #e5e6eb;
+ margin: 32rpx 24rpx 0;
+}
+
+.assess {
+ display: flex;
+ gap: 32rpx;
+ justify-content: flex-end;
+ padding: 12rpx 24rpx 32rpx;
+}
+
+.ellipsis {
+ overflow: hidden;
+ /* 确保超出容器的文本会被裁剪 */
+ white-space: nowrap;
+ /* 保证文本在一行内显示 */
+ text-overflow: ellipsis;
+ /* 使用省略号表示文本超出 */
+}
+
+.show-line {
+ margin: 24rpx 0;
+ border-top: 1px solid #F0F0F0;
+}
+
+.show-Law {
+ color: var(--main-color);
+}
\ No newline at end of file
diff --git a/gz-wxparty/pages/AIAideDetail/index.js b/gz-wxparty/pages/AIAideDetail/index.js
new file mode 100644
index 0000000..68555a5
--- /dev/null
+++ b/gz-wxparty/pages/AIAideDetail/index.js
@@ -0,0 +1,93 @@
+// pages/AIAideDetail/index.js
+const $$ = require('../../utils/util');
+const app = getApp();
+
+function getCaseDetail(submitData) {
+ return $$.request({
+ url: 'case-law/get-case-detail',
+ type: 'get',
+ ai: true,
+ submitData,
+ service: 'mediate',
+ });
+}
+
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ data: {}
+ },
+
+ async getaw(data) {
+ $$.showLoading();
+ const res = await getCaseDetail(data);
+ $$.hideLoading();
+ if (res.type) {
+ this.setData({
+ data: res.data || {}
+ })
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+ let nowData = {
+ ...options
+ }
+ this.getaw(nowData)
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/gz-wxparty/pages/AIAideDetail/index.json b/gz-wxparty/pages/AIAideDetail/index.json
new file mode 100644
index 0000000..10a2bec
--- /dev/null
+++ b/gz-wxparty/pages/AIAideDetail/index.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "典型案例",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/gz-wxparty/pages/AIAideDetail/index.wxml b/gz-wxparty/pages/AIAideDetail/index.wxml
new file mode 100644
index 0000000..744816f
--- /dev/null
+++ b/gz-wxparty/pages/AIAideDetail/index.wxml
@@ -0,0 +1,17 @@
+<!--pages/AIAideDetail/index.wxml-->
+<view class="title">{{data.caseTitle||'-'}}</view>
+<view class="line"></view>
+<view class="card">
+ <view class="subtitle">【案件描述】</view>
+ <view class="text">
+ {{data.caseDesc||'-'}}
+ </view>
+ <view class="subtitle">【和解协议】</view>
+ <view class="text">
+ {{data.agreeContent||'-'}}
+ </view>
+ <view class="subtitle">【立案依据】</view>
+ <view class="text">
+ {{data.legalBasis||'-'}}
+ </view>
+</view>
\ No newline at end of file
diff --git a/gz-wxparty/pages/AIAideDetail/index.wxss b/gz-wxparty/pages/AIAideDetail/index.wxss
new file mode 100644
index 0000000..8c90eaa
--- /dev/null
+++ b/gz-wxparty/pages/AIAideDetail/index.wxss
@@ -0,0 +1,25 @@
+/* pages/AIAideDetail/index.wxss */
+.card {
+ padding: 24rpx;
+}
+
+.title {
+ text-align: center;
+ padding: 24rpx;
+ font-size: 34rpx;
+ line-height: 50rpx;
+ font-weight: 600;
+}
+
+.line {
+ border: 1px dashed #e5e6eb;
+ margin: 0 24rpx 24rpx 24rpx;
+}
+
+.subtitle {
+ color: var(--main-color);
+}
+
+.text {
+ padding-bottom: 24rpx;
+}
\ No newline at end of file
diff --git a/gz-wxparty/pages/DetailPerson/index.js b/gz-wxparty/pages/DetailPerson/index.js
new file mode 100644
index 0000000..1c26238
--- /dev/null
+++ b/gz-wxparty/pages/DetailPerson/index.js
@@ -0,0 +1,79 @@
+// pages/DetailPerson/index.js
+const $$ = require('../../utils/util');
+
+// 详情接口
+function getByIdApi(param) {
+ return $$.request({
+ url: 'casePerson/getById',
+ type: 'get',
+ submitData: param || {},
+ service: 'mediate'
+ })
+}
+
+function getByIdAgentApi(param) {
+ return $$.request({
+ url: 'caseAgent/getById',
+ type: 'get',
+ submitData: param || {},
+ service: 'mediate'
+ })
+}
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ data: {}
+ },
+
+
+ //获取申请人详情
+ async getById(id) {
+ $$.showLoading();
+ const res = await getByIdApi({
+ id
+ });
+ $$.hideLoading();
+ if (res.type) {
+ let data = res.data || {};
+ this.setData({
+ data
+ });
+ }
+ },
+
+
+ //获取被申请人详情
+ async getagenById(id) {
+ $$.showLoading();
+ const res = await getByIdAgentApi({
+ id
+ });
+ $$.hideLoading();
+ if (res.type) {
+ let data = res.data || {};
+ this.setData({
+ data
+ });
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+ let id = options.id;
+ let perType = options.perType;
+ // 15_020008-1申请方 24_00006-1 申请方代理人 15_020008-2被申请方 24_00006-2 被申请方代理人
+ if (perType === '15_020008-1' || perType === '15_020008-2') {
+ this.getById(id)
+ }
+ if (perType === '24_00006-1' || perType === '24_00006-2') {
+ this.getagenById(id)
+ }
+ },
+
+
+})
\ No newline at end of file
diff --git a/gz-wxparty/pages/DetailPerson/index.json b/gz-wxparty/pages/DetailPerson/index.json
new file mode 100644
index 0000000..95018e3
--- /dev/null
+++ b/gz-wxparty/pages/DetailPerson/index.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "当事人信息",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/gz-wxparty/pages/DetailPerson/index.wxml b/gz-wxparty/pages/DetailPerson/index.wxml
new file mode 100644
index 0000000..d8b9179
--- /dev/null
+++ b/gz-wxparty/pages/DetailPerson/index.wxml
@@ -0,0 +1,43 @@
+<!--pages/DetailPerson/index.wxml-->
+<view class="card">
+ <view class="cell3">
+ <view class="cell-title-placeholder">人员类型</view>
+ <view>{{ data.perTypeName || '-' }}</view>
+ </view>
+ <view class="cell3">
+ <view class="cell-title-placeholder">姓名</view>
+ <view>{{ data.trueName || '-' }}</view>
+ </view>
+ <view class="cell3">
+ <view class="cell-title-placeholder">联系方式</view>
+ <view>{{ data.mobile || '-' }}</view>
+ </view>
+ <view class="cell3">
+ <view class="cell-title-placeholder">证件类型</view>
+ <view>{{ data.certiTypeName || '-' }}</view>
+ </view>
+ <view class="cell3">
+ <view class="cell-title-placeholder">证件号码</view>
+ <view>{{ data.certiNo || '-' }}</view>
+ </view>
+ <view class="cell3">
+ <view class="cell-title-placeholder">联系地址</view>
+ <view>{{ data.addr || '-' }}</view>
+ </view>
+ <view class="cell3">
+ <view class="cell-title-placeholder">户籍地址</view>
+ <view>{{ data.placeAddr || '-' }}</view>
+ </view>
+ <view class="cell3">
+ <view class="cell-title-placeholder">工作单位</view>
+ <view>{{ data.workUnit || '-' }}</view>
+ </view>
+ <view class="cell3">
+ <view class="cell-title-placeholder">民族</view>
+ <view>{{ data.nationName || '-' }}</view>
+ </view>
+ <view class="cell3">
+ <view class="cell-title-placeholder">性别</view>
+ <view>{{ data.sexName || '-' }}</view>
+ </view>
+</view>
\ No newline at end of file
diff --git a/gz-wxparty/pages/DetailPerson/index.wxss b/gz-wxparty/pages/DetailPerson/index.wxss
new file mode 100644
index 0000000..661923c
--- /dev/null
+++ b/gz-wxparty/pages/DetailPerson/index.wxss
@@ -0,0 +1,16 @@
+/* pages/DetailPerson/index.wxss */
+
+.card {
+ background-color: #fff;
+ padding: 24rpx;
+}
+
+.cell3 {
+ margin-bottom: 16rpx;
+}
+
+.cell-title-placeholder {
+ font-size: 28rpx;
+ line-height: 44rpx;
+ color: rgba(0, 0, 0, 0.5);
+}
\ No newline at end of file
diff --git a/gz-wxparty/pages/addPerson/index.wxss b/gz-wxparty/pages/addPerson/index.wxss
index dddfd18..22a8d69 100644
--- a/gz-wxparty/pages/addPerson/index.wxss
+++ b/gz-wxparty/pages/addPerson/index.wxss
@@ -19,6 +19,11 @@
.cell-item-select {}
+.addPerson-main {
+ display: flex;
+ flex-direction: column;
+}
+
.cell-idCard {
color: var(--main-color);
display: flex;
diff --git a/gz-wxparty/pages/homePage/index.js b/gz-wxparty/pages/homePage/index.js
index 6dabba8..f101002 100644
--- a/gz-wxparty/pages/homePage/index.js
+++ b/gz-wxparty/pages/homePage/index.js
@@ -379,14 +379,10 @@
}
},
});
- let agreement = wx.getStorageSync('agreement');
// 获取弹窗信息提醒
if (app.globalData.token) {
- if (!agreement) {
- this.getAgreement();
- return;
- }
+
if (!$$.userTest('realName', 'bottom')) {
this.setData({
popupMsg: [{
diff --git a/gz-wxparty/pages/homePage/index.wxml b/gz-wxparty/pages/homePage/index.wxml
index ffe903b..ad04745 100644
--- a/gz-wxparty/pages/homePage/index.wxml
+++ b/gz-wxparty/pages/homePage/index.wxml
@@ -22,20 +22,26 @@
<view class="main_title">服务申请</view>
<view class="flex">
<view bindtap="handleNavigateTo" data-url="../../pages/register/index" data-type="register" class="flex_1 flex_blue">
- <view class="main_subTitle">反映诉求</view>
- <view>轻松来访</view>
+ <view>
+ <view class="main_subTitle">反映诉求</view>
+ <!-- <view>轻松来访</view> -->
+ </view>
+ <image class="home-image" src="{{imgUrl}}home_3.png" mode="" />
</view>
<view bindtap="handleNavigateTo" data-url="../../pages/myRegisterList/index" data-type="register" class="flex_1 flex_orange">
- <view class="main_subTitle">我的申请</view>
- <view>申请进度查询</view>
+ <view>
+ <view class="main_subTitle">进度查询</view>
+ <!-- <view>申请进度查询</view> -->
+ </view>
+ <image class="home-image" src="{{imgUrl}}home_4.png" mode="" />
</view>
</view>
- <view class="flex marginTop_12">
+ <!-- <view class="flex marginTop_12">
<view class="flex_1 flex_green">
<view class="main_subTitle">事项咨询</view>
<view>解决您身边的问题</view>
</view>
- </view>
+ </view> -->
</view>
<!-- 化解资源 -->
<view>
@@ -62,8 +68,9 @@
<view>
<view class="flex_dt">
<view class="main_title">咨询动态</view>
- <view bindtap="handleGetMore" data-type="newMsg" wx:if="{{ newMessageMore }}" class=" flex_dt_more">查看更多
- <image class="flex_dt_more_img" src="./../../img/right.png" />
+ <view bindtap="handleGetMore" data-type="newMsg" wx:if="{{ newMessageMore }}" class=" flex_dt_more">
+ <text>查看更多</text>
+ <van-icon name="arrow" size="16" />
</view>
</view>
<view class="dt_card" bindtap="goSeeMessage" wx:for="{{ newMessage }}" style="margin-top:{{index===0?0:'8px'}}" wx:key="index">
@@ -73,7 +80,9 @@
<time-format format="YYYY-MM-DD" value="{{ item.pushTime }}" /> {{item.playNum}}人阅读
</view>
</view>
- <view class="dt_card_r"></view>
+ <view class="dt_card_r">
+ <image src="{{item.showUrl}}" mode="" />
+ </view>
</view>
</view>
</view>
diff --git a/gz-wxparty/pages/homePage/index.wxss b/gz-wxparty/pages/homePage/index.wxss
index b692ea1..38d767a 100644
--- a/gz-wxparty/pages/homePage/index.wxss
+++ b/gz-wxparty/pages/homePage/index.wxss
@@ -49,11 +49,23 @@
}
+.home-image {
+ width: 112rpx;
+ height: 100rpx;
+ position: absolute;
+ right: 10rpx;
+ bottom: 0;
+}
+
.flex_1 {
flex: 1;
color: #fff;
padding: 12px;
border-radius: 4px;
+ display: flex;
+ justify-content: space-between;
+ position: relative;
+ align-items: center;
}
.flex_2 {
@@ -121,7 +133,13 @@
.dt_card_r {
flex: 1;
- background: #ef6c24;
+ width: 184rpx;
+ height: 136rpx;
+}
+
+.dt_card_r image {
+ width: 100%;
+ height: 100%;
}
.dt_card_title {
@@ -129,10 +147,12 @@
}
.flex_blue {
+ height: 80rpx;
background: linear-gradient(90deg, #5fa6d4, #3a8ac6 50%, #1a6fb8 100%);
}
.flex_orange {
+ height: 80rpx;
background: linear-gradient(90deg, #ffa940, #fa8c16 50%, #ef6c24 100%);
}
diff --git a/gz-wxparty/pages/myRegisterDetail/index.js b/gz-wxparty/pages/myRegisterDetail/index.js
new file mode 100644
index 0000000..7e8c800
--- /dev/null
+++ b/gz-wxparty/pages/myRegisterDetail/index.js
@@ -0,0 +1,86 @@
+// pages/myRegisterDetail/index.js
+const $$ = require('../../utils/util');
+
+// 详情接口
+function getByIdApi(param) {
+ return $$.request({
+ url: 'caseInfo/getCaseInfo',
+ type: 'get',
+ submitData: param || {},
+ service: 'mediate'
+ })
+}
+
+// 附件查询接口
+function getfilesApi(param) {
+ return $$.request({
+ url: 'fileInfo/listByMainId',
+ type: 'get',
+ submitData: param || {},
+ service: 'sys'
+ })
+}
+
+
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ imgUrl: $$.url.img,
+ submitData: {},
+ oneList: [],
+ fileList: []
+ },
+
+ // 获取附件信息
+ async getFilesId(id) {
+ $$.showLoading();
+ const res = await getfilesApi({
+ mainId: id
+ });
+ $$.hideLoading();
+ if (res.type) {
+ let data = res.data || {};
+ this.setData({
+ fileList: data
+ });
+ }
+ },
+
+ detailPerson(e) {
+ let item = e.currentTarget.dataset.item;
+ console.log('item', item);
+ wx.navigateTo({
+ url: '../../pages/DetailPerson/index?id=' + item.id + '&perType=' + item.perType,
+ });
+ },
+
+ // 获取纠纷案件详情
+ async getById(data) {
+ $$.showLoading();
+ const res = await getByIdApi({
+ id: data.id
+ });
+ $$.hideLoading();
+ if (res.type) {
+ let data = res.data || {};
+ this.setData({
+ submitData: data,
+ oneList: [...data.personList, ...data.agentList]
+ });
+ this.getFilesId(data.id)
+
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+ this.getById(options);
+ },
+
+
+})
\ No newline at end of file
diff --git a/gz-wxparty/pages/myRegisterDetail/index.json b/gz-wxparty/pages/myRegisterDetail/index.json
new file mode 100644
index 0000000..2f4869c
--- /dev/null
+++ b/gz-wxparty/pages/myRegisterDetail/index.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "事项详情",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/gz-wxparty/pages/myRegisterDetail/index.wxml b/gz-wxparty/pages/myRegisterDetail/index.wxml
new file mode 100644
index 0000000..8879281
--- /dev/null
+++ b/gz-wxparty/pages/myRegisterDetail/index.wxml
@@ -0,0 +1,82 @@
+<!--pages/myRegisterDetail/index.wxml-->
+<view class="three-tag">
+ <van-tabs bind:click="threeTagChange" active="{{threeAvtice}}">
+ <!-- 人员信息 -->
+ <van-tab title="人员信息" name="1">
+ <view style="padding:24rpx">
+ <view wx:for="{{oneList}}" data-item="{{ item }}" data-index="{{ index }}" wx:key="index">
+ <view class='one-list' bindtap="detailPerson" data-item="{{ item }}" wx:if="{{item.perType==='15_020008-1'||item.perType==='24_00006-1'}}">
+ <view class="one-list-l green">申请方</view>
+ <view class="one-list-r">
+ <view class="one-list-r-t">
+ <view class="one-list-text">{{item.trueName}}</view>
+ <view class="one-list-phone">{{item.mobile}}</view>
+ <view wx:if="{{item.perType==='24_00006-1'}}" class="one-list-tag">代理人</view>
+ </view>
+ <view class="one-list-r-b">{{item.perClassName}} | {{item.certiNo}} </view>
+ </view>
+ </view>
+ <view class='one-list' bindtap="detailPerson" data-item="{{ item }}" wx:else>
+ <view class="one-list-l orange"><text>被申\n请方</text></view>
+ <view class="one-list-r">
+ <view class="one-list-r-t">
+ <view class="one-list-text">{{item.trueName}}</view>
+ <view class="one-list-phone">{{item.mobile}}</view>
+ <view wx:if="{{item.perType==='24_00006-2'}}" class="one-list-tag-orange">代理人</view>
+ </view>
+ <view class="one-list-r-b">{{item.perClassName}} |{{item.certiNo}}</view>
+ </view>
+ </view>
+ </view>
+ </view>
+ </van-tab>
+ <van-tab title="纠纷信息" name="2">
+ <view class="three-tag2">
+ <view class="cell3">
+ <view class="cell-title-placeholder">纠纷类型</view>
+ <view>{{ submitData.caseTypeName || '-' }}</view>
+ </view>
+ <view class="cell3">
+ <view class="cell-title-placeholder">纠纷发生时间</view>
+ <view>{{ submitData.occurTime || '-' }}</view>
+ </view>
+ <view class="cell3">
+ <view class="cell-title-placeholder">纠纷发生地点</view>
+ <view>{{ submitData.addr || '-' }}</view>
+ </view>
+ <view class="cell3">
+ <view class="cell-title-placeholder">涉及人数(人)</view>
+ <view>{{ submitData.peopleNum || '-' }}</view>
+ </view>
+ <view class="cell3">
+ <view class="cell-title-placeholder">涉及金额(元)</view>
+ <view>{{ submitData.amount || '-' }}</view>
+ </view>
+ <view class="cell3">
+ <view class="cell-title-placeholder">事项概况</view>
+ <view>{{ submitData.caseDes || '-' }}</view>
+ </view>
+ <view class="cell3">
+ <view class="cell-title-placeholder">事项申请</view>
+ <view>{{ submitData.caseClaim || '-' }}</view>
+ </view>
+ <!-- todo 人工智能提醒 -->
+ </view>
+
+ </van-tab>
+ <van-tab title="事件材料" name="3">
+ <view style="height: 16rpx;">
+
+ </view>
+ <view style="padding: 24rpx 32rpx 0; background-color: #fff;" wx:for="{{fileList}}" wx:key="index" data-item="{{item}}" data-index="{{index}}">
+ <view class="fileList_border">
+ <image class="fileList_img" src="{{imgUrl}}image_1.png" mode="" />
+ <view class="flex_1">
+ <view style="margin-bottom: 10rpx;">{{item.name}}</view>
+ <view style="display: flex;gap:16rpx"><text class="fileList_title">{{item.size}}{{item.unit}}</text><text data-item="{{item}}" data-index="{{index}}" bindtap="handlePreviewImage" class="public-color">预览</text></view>
+ </view>
+ </view>
+ </view>
+ </van-tab>
+ </van-tabs>
+</view>
\ No newline at end of file
diff --git a/gz-wxparty/pages/myRegisterDetail/index.wxss b/gz-wxparty/pages/myRegisterDetail/index.wxss
new file mode 100644
index 0000000..070ac66
--- /dev/null
+++ b/gz-wxparty/pages/myRegisterDetail/index.wxss
@@ -0,0 +1,128 @@
+/* pages/myRegisterDetail/index.wxss */
+@import '../../styles/public_components.wxss';
+
+.one-list {
+ background: #fff;
+ padding: 24rpx;
+ display: flex;
+ position: relative;
+ gap: 8px;
+ margin-bottom: 12px;
+ border-radius: 8px;
+}
+
+.one-list-l {
+ height: 96rpx;
+ width: 96rpx;
+ border-radius: 4px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ color: #fff;
+ font-size: 28rpx;
+ text-align: center;
+}
+
+.one-list-r-t {
+ display: flex;
+ gap: 8px;
+ font-size: 28rpx;
+ line-height: 44rpx;
+}
+
+.one-list-phone {
+ color: rgba(23, 26, 29, 0.60);
+}
+
+.one-list-tag {
+ font-size: 24rpx;
+ line-height: 40rpx;
+ border-radius: 2px;
+ background: #e6fffb;
+ color: #13C2C2;
+ padding: 0 8rpx;
+}
+
+.one-list-tag-orange {
+ font-size: 24rpx;
+ line-height: 40rpx;
+ border-radius: 2px;
+ background: #FFF2E6;
+ color: #EF6C24;
+ padding: 0 8rpx;
+}
+
+.one-list-r-b {
+ color: rgba(23, 26, 29, 0.60);
+ font-size: 24rpx;
+ line-height: 40rpx;
+ margin-top: 8rpx;
+}
+
+.three-tag {}
+
+.three-tag .van-tabs__wrap {
+ height: 96rpx !important;
+}
+
+.three-tag .van-tabs__nav {
+ height: 100%;
+}
+
+.three-tag .van-tabs__scroll--line {
+ height: 100%;
+}
+
+.three-tag .van-tab {
+ height: 100%;
+ line-height: 96rpx !important;
+}
+
+.three-tag2 {
+ background-color: #fff;
+ margin-top: 16rpx;
+ padding: 24rpx 32rpx;
+}
+
+.green {
+ background-color: #13C2C2;
+}
+
+.orange {
+ background-color: #EF6C24;
+}
+
+.fileList {
+ background-color: #fff;
+ padding: 24rpx 32rpx;
+ display: flex;
+ gap: 32rpx;
+ align-items: center;
+}
+
+.fileList_border {
+ padding-bottom: 24rpx;
+ display: flex;
+ gap: 32rpx;
+ align-items: center;
+ border-bottom: 1px solid rgba(126, 134, 142, 0.16);
+}
+
+.fileList_img {
+ width: 84rpx;
+ height: 96rpx;
+}
+
+.fileList_title {
+ color: rgba(23, 26, 29, 0.40);
+ font-size: 28rpx;
+}
+
+.fileList_img_del {
+ width: 32rpx;
+ height: 32rpx;
+}
+
+.flex_1 {
+ flex: 1;
+}
\ No newline at end of file
diff --git a/gz-wxparty/pages/myRegisterList/index.js b/gz-wxparty/pages/myRegisterList/index.js
index e4fdbf1..f6d2055 100644
--- a/gz-wxparty/pages/myRegisterList/index.js
+++ b/gz-wxparty/pages/myRegisterList/index.js
@@ -44,13 +44,7 @@
label: '不予受理',
value: '4'
}],
- dataList: [{
- title: '',
- show: true
- }, {
- title: '',
- show: false
- }]
+ dataList: []
},
// 查看
@@ -78,6 +72,7 @@
searchSelect(e) {
let idx = e.currentTarget.dataset.index;
let item = e.currentTarget.dataset.item;
+ console.log('item', item);
let searchData = {
...this.data.search,
processStatus: item.value
@@ -88,19 +83,23 @@
...item,
hover: index === idx ? true : false
})),
- searchValue: item.label
+ searchValue: item.label,
+ showModal: false
})
},
// 切换tab
threeTagChange(e) {
- value = e.detail;
+ let value = e.detail;
+ console.log(value, );
+ let data = {
+ ...this.data.search,
+ personType: value.name,
+ }
this.setData({
- search: {
- ...this.data.search,
- personType: value,
- }
+ search: data
});
+ this.pageQuery(data)
},
// 折叠列表
@@ -122,14 +121,20 @@
});
}
if (res.type) {
+ let list = []
if (params.page === 1) {
- this.data.data = res.data.content || [];
+ list = res.data.content || [];
} else {
- this.data.data = this.data.data.concat(res.data.content || []);
+ list = this.data.data.concat(res.data.content || []);
}
this.setData({
search: params,
- data: this.data.data,
+ dataList: list.map((i, index) => ({
+ ...i,
+ plaintiffNames: i.plaintiffList.length > 0 ? i.plaintiffList.map(i => i.trueName).join('、') : '-',
+ defendantNames: i.defendantList.length > 0 ? i.defendantList.map(i => i.trueName).join('、') : '-',
+ show: index === 0 ? true : false
+ })),
total: res.data.totalElements || 0
});
if (type === 'onPullDownRefresh') {
diff --git a/gz-wxparty/pages/myRegisterList/index.json b/gz-wxparty/pages/myRegisterList/index.json
index fc37723..df0995d 100644
--- a/gz-wxparty/pages/myRegisterList/index.json
+++ b/gz-wxparty/pages/myRegisterList/index.json
@@ -1,4 +1,6 @@
{
"navigationBarTitleText": "进度查询",
- "usingComponents": {}
+ "usingComponents": {
+ "time-format": "../../components/time-format/index"
+ }
}
\ No newline at end of file
diff --git a/gz-wxparty/pages/myRegisterList/index.wxml b/gz-wxparty/pages/myRegisterList/index.wxml
index 49e12f7..30dc67a 100644
--- a/gz-wxparty/pages/myRegisterList/index.wxml
+++ b/gz-wxparty/pages/myRegisterList/index.wxml
@@ -7,7 +7,7 @@
</view>
<!-- 筛选 -->
<view bindtap="searchChange" class="search">
- <view class="search-title">全部</view>
+ <view class="search-title">{{searchValue}}</view>
<van-icon size='9' name="{{imgUrl}}down.png" />
</view>
@@ -15,7 +15,7 @@
<view style="{{!item.show&&'border-bottom:none'}}" class="list-top">
<view>2024年7月12日反映诉求</view>
<view class="list-top-r">
- <view class="list-top-r-tag">待受理</view>
+ <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" />
<van-icon wx:else size='16' bindtap="changeShow" data-index="{{ index }}" name="{{imgUrl}}myRegisterList_4.png" />
</view>
@@ -23,32 +23,34 @@
<view class="list-content" wx:if="{{item.show}}">
<view class="list-content-flex">
<view class="list-content-title">申请时间</view>
- <view class="list-content-value">2024-7-12 12:00</view>
+ <view class="list-content-value">
+ <time-format format="YYYY-MM-DD" value="{{item.createTime}}" />
+ </view>
</view>
<view class="list-content-flex margin-top">
<view class="list-content-title">申请方</view>
- <view class="list-content-value">李晓明</view>
+ <view class="list-content-value">{{item.plaintiffNames}}</view>
</view>
<view class="list-content-flex margin-top">
<view class="list-content-title">被申请方</view>
- <view class="list-content-value">广东好又多贸易有限公司、张菲菲</view>
+ <view class="list-content-value">{{item.defendantNames}}</view>
</view>
<view class="list-border"></view>
- <view class="list-detail">
+ <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" />
<view class="list-detail-title">事项详情</view>
</view>
<view class="list-detail-r">查看</view>
</view>
- <view class="list-detail">
+ <view 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>
</view>
<view class="list-detail-r">查看</view>
</view>
- <view 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>
diff --git a/gz-wxparty/pages/myRegisterList/index.wxss b/gz-wxparty/pages/myRegisterList/index.wxss
index 229e5ba..525df12 100644
--- a/gz-wxparty/pages/myRegisterList/index.wxss
+++ b/gz-wxparty/pages/myRegisterList/index.wxss
@@ -123,6 +123,8 @@
gap: 8rpx;
}
+
+
.list-detail-title {
font-size: 28rpx;
}
diff --git a/gz-wxparty/pages/realNameAuthentication/index.js b/gz-wxparty/pages/realNameAuthentication/index.js
index 0e1203a..75064e1 100644
--- a/gz-wxparty/pages/realNameAuthentication/index.js
+++ b/gz-wxparty/pages/realNameAuthentication/index.js
@@ -3,182 +3,226 @@
// 实名认证
function realNameAuthenticationApi(submitData) {
- return $$.request({ url: 'paUser/realAuth', type: 'post', submitData, service: 'cust' });
+ return $$.request({
+ url: 'paUser/realAuth',
+ type: 'post',
+ submitData,
+ service: 'cust'
+ });
}
Page({
- /**
- * 页面的初始数据
- */
- backNum: 1, // 如果从完善资料进入则返回两级到个人中心
- data: {
- steps: ['完善信息', '刷脸认证'],
- submitData: {
- trueName: '',
- mobile: '',
- idcardType: '09_00015-1',
- idcardTypeName: '身份证',
- idcard: '',
- prov: '',
- provName: '',
- city: '',
- cityName: '',
- area: '',
- areaName: '',
- road: '',
- roadName: '',
- village: '',
- villageName: '',
- addr: '',
- agree: false,
- },
- popup: {}, // 下拉弹出框数据
- },
+ /**
+ * 页面的初始数据
+ */
+ backNum: 1, // 如果从完善资料进入则返回两级到个人中心
+ data: {
+ steps: ['完善信息', '刷脸认证'],
+ submitData: {
+ trueName: '',
+ mobile: '',
+ idcardType: '09_00015-1',
+ idcardTypeName: '身份证',
+ idcard: '',
+ prov: '',
+ provName: '',
+ city: '',
+ cityName: '',
+ area: '',
+ areaName: '',
+ road: '',
+ roadName: '',
+ village: '',
+ villageName: '',
+ addr: '',
+ agree: false,
+ },
+ popup: {}, // 下拉弹出框数据
+ },
- // 展示弹出层
- handleShowPopup(e) {
- this.setData({ popup: e.detail });
- },
+ // 展示弹出层
+ handleShowPopup(e) {
+ this.setData({
+ popup: e.detail
+ });
+ },
- // 关闭弹出层
- handleClosePopup() {
- this.data.popup.visible = false;
- this.setData({ popup: this.data.popup });
- },
+ // 关闭弹出层
+ handleClosePopup() {
+ this.data.popup.visible = false;
+ this.setData({
+ popup: this.data.popup
+ });
+ },
- // 下拉框确认选择
- handleConfirmPicker({ detail }) {
- let type = this.data.popup.type;
- let value = detail.detail.value;
- let arr = [];
- this.data.popup.visible = false;
- if (type === 'location') {
- arr = [
- ['prov', 'provName'],
- ['city', 'cityName'],
- ['area', 'areaName'],
- ['road', 'roadName'],
- ['village', 'villageName'],
- ];
- arr.forEach((x, t) => {
- this.data.submitData[x[0]] = value[t]?.value || '';
- this.data.submitData[x[1]] = value[t]?.label || '';
- });
- } else {
- if (type === 'cardType') {
- arr = ['idcardType', 'idcardTypeName'];
- } else if (type === 'sex') {
- arr = ['sex', 'sexName'];
- }
- arr.forEach((x, t) => {
- this.data.submitData[x] = value[t === 0 ? 'value' : 'label'];
- });
- }
- this.setData({ popup: this.data.popup, submitData: this.data.submitData });
- },
+ // 下拉框确认选择
+ handleConfirmPicker({
+ detail
+ }) {
+ let type = this.data.popup.type;
+ let value = detail.detail.value;
+ let arr = [];
+ this.data.popup.visible = false;
+ if (type === 'location') {
+ arr = [
+ ['prov', 'provName'],
+ ['city', 'cityName'],
+ ['area', 'areaName'],
+ ['road', 'roadName'],
+ ['village', 'villageName'],
+ ];
+ arr.forEach((x, t) => {
+ this.data.submitData[x[0]] = value[t]?.value || '';
+ this.data.submitData[x[1]] = value[t]?.label || '';
+ });
+ } else {
+ if (type === 'cardType') {
+ arr = ['idcardType', 'idcardTypeName'];
+ } else if (type === 'sex') {
+ arr = ['sex', 'sexName'];
+ }
+ arr.forEach((x, t) => {
+ this.data.submitData[x] = value[t === 0 ? 'value' : 'label'];
+ });
+ }
+ this.setData({
+ popup: this.data.popup,
+ submitData: this.data.submitData
+ });
+ },
- // form的change
- handleChange(e) {
- const { key, value } = e.detail;
- this.data.submitData[key] = value;
- this.setData({ submitData: this.data.submitData });
- },
+ // form的change
+ handleChange(e) {
+ const {
+ key,
+ value
+ } = e.detail;
+ this.data.submitData[key] = value;
+ this.setData({
+ submitData: this.data.submitData
+ });
+ },
- // 修改picker的列时触发
- handleChangeColumns(e) {
- if (this.data.popup.type === 'location') {
- let selectData = $$.changeLocation(e, this.selectComponent('#personal-data-dom').location, this.data.popup.selectData);
- this.setData({ popup: { ...this.data.popup, selectData } });
- }
- },
+ // 修改picker的列时触发
+ handleChangeColumns(e) {
+ if (this.data.popup.type === 'location') {
+ let selectData = $$.changeLocation(e, this.selectComponent('#personal-data-dom').location, this.data.popup.selectData);
+ this.setData({
+ popup: {
+ ...this.data.popup,
+ selectData
+ }
+ });
+ }
+ },
- // 进行刷脸认证
- handleRealName() {
- let submitData = this.data.submitData;
- let msg = '';
- if (!submitData.trueName) {
- msg = '请输入姓名';
- } else if (!submitData.idcard) {
- msg = '请输入证件号码';
- } else if (!$$.mobileRegExp(submitData.mobile)) {
- msg = '请输入正确的手机号码';
- } else if (!submitData.agree) {
- msg = '请勾选确认信息';
- }
- if (msg) {
- $$.showToast({ title: msg });
- return false;
- }
- let that = this;
- wx.checkIsSupportFacialRecognition({
- success() {
- wx.startFacialRecognitionVerify({
- name: that.data.submitData.trueName,
- idCardNumber: that.data.submitData.idcard,
- success() {
- console.log('识别成功');
- that.realNameAuthentication();
- },
- fail() {
- $$.showToast({ title: '抱歉!识别失败,请稍后重试' });
- },
- });
- },
- fail(res) {
- $$.showToast({ title: '抱歉!请求失败,稍后重试' });
- },
- });
- },
-
- // 上传实名认证数据
- async realNameAuthentication() {
- $$.showLoading();
- const res = await realNameAuthenticationApi(this.data.submitData);
- $$.hideLoading();
- if (res.type) {
- wx.getStorage({
- key: 'userInfo',
- success(res2) {
- res2.data.realStatus = '1';
- wx.setStorage({ key: 'userInfo', data: res2.data });
- },
- });
- $$.showToast({ icon: 'success', title: '实名认证成功' });
- wx.removeStorage({
- key: 'access_token'
+ // 进行刷脸认证
+ handleRealName() {
+ let submitData = this.data.submitData;
+ let msg = '';
+ if (!submitData.trueName) {
+ msg = '请输入姓名';
+ } else if (!submitData.idcard) {
+ msg = '请输入证件号码';
+ } else if (!$$.mobileRegExp(submitData.mobile)) {
+ msg = '请输入正确的手机号码';
+ } else if (!submitData.agree) {
+ msg = '请勾选确认信息';
+ }
+ if (msg) {
+ $$.showToast({
+ title: msg
+ });
+ return false;
+ }
+ let that = this;
+ wx.checkIsSupportFacialRecognition({
+ success() {
+ wx.startFacialRecognitionVerify({
+ name: that.data.submitData.trueName,
+ idCardNumber: that.data.submitData.idcard,
+ success() {
+ console.log('识别成功');
+ that.realNameAuthentication();
+ },
+ fail() {
+ $$.showToast({
+ title: '抱歉!识别失败,请稍后重试'
});
- await $$.sleep();
- wx.navigateBack({
- delta: this.backNum || 1,
- });
- }
- },
+ },
+ });
+ },
+ fail(res) {
+ $$.showToast({
+ title: '抱歉!请求失败,稍后重试'
+ });
+ },
+ });
+ },
- // 获取个人信息
- async getUserInfo(e) {
- let data = e.detail || {};
- let keys = Object.keys(this.data.submitData);
- keys.forEach((x) => {
- if (data[x]) {
- this.data.submitData[x] = data[x];
- }
- });
- this.setData({ submitData: this.data.submitData });
- },
+ // 上传实名认证数据
+ async realNameAuthentication() {
+ $$.showLoading();
+ const res = await realNameAuthenticationApi(this.data.submitData);
+ $$.hideLoading();
+ if (res.type) {
+ wx.getStorage({
+ key: 'userInfo',
+ success(res2) {
+ console.log('res2', res2);
+ let nowData = {
+ ...res2.data,
+ realStatus: 1,
+ }
+ wx.setStorage({
+ key: 'userInfo',
+ data: nowData
+ });
+ },
+ });
+ $$.showToast({
+ icon: 'success',
+ title: '实名认证成功'
+ });
+ wx.removeStorage({
+ key: 'access_token'
+ });
+ await $$.sleep();
+ wx.navigateBack({
+ delta: this.backNum || 1,
+ });
+ }
+ },
- // 获取手机号码
- async handleGetPhoneNumber(e) {
- let phone = await this.selectComponent('#common-page').handleGetPhoneNumber(e.detail);
- this.data.submitData.mobile = phone;
- this.setData({ submitData: this.data.submitData });
- },
+ // 获取个人信息
+ async getUserInfo(e) {
+ let data = e.detail || {};
+ let keys = Object.keys(this.data.submitData);
+ keys.forEach((x) => {
+ if (data[x]) {
+ this.data.submitData[x] = data[x];
+ }
+ });
+ this.setData({
+ submitData: this.data.submitData
+ });
+ },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function (options) {
- if (options.backNum) {
- this.backNum = 2;
- }
- },
-});
+ // 获取手机号码
+ async handleGetPhoneNumber(e) {
+ let phone = await this.selectComponent('#common-page').handleGetPhoneNumber(e.detail);
+ this.data.submitData.mobile = phone;
+ this.setData({
+ submitData: this.data.submitData
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.backNum) {
+ this.backNum = 2;
+ }
+ },
+});
\ No newline at end of file
diff --git a/gz-wxparty/pages/register/index.js b/gz-wxparty/pages/register/index.js
index b290991..676c490 100644
--- a/gz-wxparty/pages/register/index.js
+++ b/gz-wxparty/pages/register/index.js
@@ -12,6 +12,36 @@
});
}
+// 附件上传的id
+function getByIdApi(param) {
+ return $$.request({
+ url: 'caseUtils/getNewTimeCaseId',
+ type: 'get',
+ submitData: param || {},
+ service: 'utils'
+ });
+}
+
+// 删除附件
+function delfileApi(id) {
+ return $$.request({
+ url: 'fileInfo/deleteFileById?id=' + id,
+ type: 'get',
+ service: 'sys',
+ });
+}
+
+function getawApi(submitData) {
+ return $$.request({
+ url: 'case-law/get-clain-rise-case',
+ type: 'post',
+ ai: true,
+ submitData,
+ service: 'mediate',
+ });
+}
+
+
function caseRegisterSaveApi(submitData) {
return $$.request({
url: 'caseInfo/caseRegister',
@@ -30,6 +60,7 @@
select: {}, // 下拉框数据
goToMaterialSave: false, // 避免跳转到材料上传页面重复保存草稿
agreementMsg: '', // 服务协议
+ ownerId: '', //附件上传id
data: {
stepText: 5, //用户须知倒计时5秒
timer: null, // 用于存储定时器的引用
@@ -71,9 +102,8 @@
amount: '',
caseDes: '',
caseClaim: '',
- plaintiffList: [],
- defendantList: [],
}, // 表单数据
+ fileList: [], //表单附件
addPersonData: {}, //添加的当事人
materialNum: 0, // 纠纷材料总数量
userInfoVisible: false, // 是否采用个人信息更新申请人信息
@@ -283,15 +313,28 @@
this.setData({
popupVisible: false
});
+ if (this.data.oneList?.length === 0) {
+ this.setData({
+ addMePlaintiff: true
+ })
+ }
},
// 下一步 or 上一步
handleNext(e) {
let type = e.currentTarget.dataset.type;
if (type === 'next' && this.data.stepsActive === 0) {
- this.setData({
- stepsActive: 1
- });
+ if (this.data.oneList?.length <= 0) {
+ $$.showToast({
+ title: '请至少添加一名当事人',
+ duration: 500
+ });
+ } else {
+ this.setData({
+ stepsActive: 1
+ });
+ this.getById();
+ }
return;
}
if (type === 'back' && this.data.stepsActive === 1) {
@@ -301,12 +344,58 @@
return;
}
if (type === 'next' && this.data.stepsActive === 1) {
+ let newData = this.data.submitData;
+
+ console.log('this.data.submitData', this.data.submitData);
+ if (!newData.caseType) {
+ $$.showToast({
+ title: '请选择纠纷类型',
+ duration: 500
+ });
+ return;
+ }
+ if (!newData.occurTime) {
+ $$.showToast({
+ title: '请选择纠纷发生时间',
+ duration: 500
+ });
+ return;
+ }
+ if (!newData.addr) {
+ $$.showToast({
+ title: '请选择纠纷发生地',
+ duration: 500
+ });
+ return;
+ }
+ if (!newData.caseDes) {
+ $$.showToast({
+ title: '请填写事项概况',
+ duration: 500
+ });
+ return;
+ }
+ if (!newData.caseClaim) {
+ $$.showToast({
+ title: '请填写事项申请',
+ duration: 500
+ });
+ return;
+ }
+ if (!this.data.fileList?.length <= 0) {
+ // 附件上传提示
+ this.setData({
+ showFileTip: true
+ })
+ return;
+ }
+ // 提交AI接口
+ this.getaw(newData);
this.setData({
stepsActive: 2
});
return;
}
-
if (type === 'back' && this.data.stepsActive === 2) {
this.setData({
stepsActive: 1
@@ -324,8 +413,35 @@
this.caseRegisterSave({
...data,
personList,
- agentList
+ agentList,
+ id: this.data.ownerId,
});
+ }
+ },
+
+ async getaw(data) {
+ let newData = {
+ caseDes: data.caseDes,
+ caseClaim: data.caseClaim,
+ caseId: this.data.ownerId,
+ }
+ const res = await getawApi(newData);
+ if (res.type) {
+ console.log('res.data', res.data);
+ this.setData({
+ AIData: res.data || {}
+ })
+ }
+ },
+
+ async getById() {
+ $$.showLoading();
+ const res = await getByIdApi();
+ $$.hideLoading();
+ if (res.type) {
+ this.setData({
+ ownerId: res.data || ''
+ })
}
},
@@ -334,7 +450,10 @@
const res = await caseRegisterSaveApi(params);
$$.hideLoading();
if (res.type) {
- Toast('提交成功');
+ // Toast('提交成功');
+ this.setData({
+ saveStatus: true
+ })
}
},
@@ -343,6 +462,54 @@
let url = e.currentTarget.dataset.url;
wx.navigateTo({
url: url,
+ });
+ },
+
+ // 图片识别
+ ocrClick(e) {
+ let key = e.currentTarget.dataset.key;
+ let keyNum = e.currentTarget.dataset.keyNum;
+ let that = this;
+ wx.chooseMedia({
+ count: 1,
+ mediaType: ['image'],
+ success(res2) {
+ const tempFiles = res2.tempFiles[0];
+ $$.showLoading();
+ wx.uploadFile({
+ url: `${$$.baseUrl}${$$.url.sys}/api/wechat/fileInfo/recognitionText`,
+ filePath: tempFiles.tempFilePath,
+ name: 'file',
+ header: {
+ Authorization: app.globalData.token
+ },
+ complete(res3) {
+ $$.hideLoading();
+ if (res3.errMsg === 'uploadFile:ok') {
+ let {
+ code,
+ data
+ } = JSON.parse(res3.data);
+ if (code == -1) {
+ $$.errorModal({
+ content: '识别失败'
+ });
+ return;
+ }
+ let wordsResult = data?.ocrResult?.wordsResult.join('');
+ let wordsResultNum = data?.ocrResult?.wordsResultNum;
+ console.log('wordsResult', wordsResult);
+ that.setData({
+ submitData: {
+ ...that.data.submitData,
+ [key]: wordsResult
+ },
+ [keyNum]: wordsResultNum
+ });
+ }
+ },
+ });
+ },
});
},
@@ -384,21 +551,98 @@
})
},
- // 获取省市区等地理资源
- async getLocationData() {
- $$.showLoading();
- const res = await $$.commonRequest({
- url: `${$$.url.assets}locationSelect.json`,
- type: 'get'
+ // 上传文件图片
+ async handleUploadFile(e) {
+ let id = e.currentTarget.dataset.id;
+ let type = e.currentTarget.dataset.type;
+ let that = this;
+ this.filesArr = [];
+ wx.chooseMedia({
+ mediaType: ['image'],
+ success(res2) {
+ const tempFiles = res2.tempFiles;
+ // 多个文件逐一上传
+ tempFiles.forEach((x, t) => {
+ $$.showLoading('上传中...');
+ wx.uploadFile({
+ url: `${$$.baseUrl}${$$.url.sys}/api/wechat/fileInfo/upload?mainId=${id}&ownerId=${id}&ownerType=${type}`,
+ filePath: x.tempFilePath,
+ name: 'file',
+ header: {
+ Authorization: app.globalData.token
+ },
+ complete(res) {
+ $$.hideLoading();
+ if (res.errMsg === 'uploadFile:ok') {
+ const getData = JSON.parse(res.data)
+ const file = {
+ ...getData.data[0],
+ wxurl: x.tempFilePath
+ };
+ that.setData({
+ fileList: that.data.fileList.concat(file)
+ })
+ $$.showToast({
+ icon: 'success',
+ title: '上传成功',
+ duration: 500
+ });
+ } else {
+ $$.showToast({
+ title: '上传失败',
+ duration: 500
+ });
+ }
+
+ },
+ });
+ });
+ },
});
- $$.hideLoading();
- if (res) {
- let location = [];
- $$.province.forEach((x) => {
- location.push(res[x][0]);
- });
- this.location = location;
- }
+ },
+
+ // 预览图片
+ handlePreviewImage(e) {
+ let item = e.currentTarget.dataset.item;
+ console.log('item', item);
+ let index = e.currentTarget.dataset.index;
+ wx.previewImage({
+ current: item.wxurl,
+ urls: [item.wxurl] // 需要预览的图片http链接列表
+ });
+ },
+
+ // 删除图片
+ async handleDelImage(e) {
+ let item = e.currentTarget.dataset.item;
+ let index = e.currentTarget.dataset.index;
+ let id = e.currentTarget.dataset.id;
+ let type = e.currentTarget.dataset.type;
+ $$.showModal({
+ title: '删除材料确认',
+ content: '确定删除材料' + item.name + '吗?',
+ cancelText: '我再想想',
+ confirmText: '确定删除',
+ success: async (res) => {
+ if (res.confirm) {
+ $$.showLoading();
+ const res = await delfileApi(id);
+ if (res.type) {
+ $$.showToast({
+ icon: 'success',
+ title: '删除成功',
+ duration: 500
+ });
+ let list = this.data.fileList.filter((i, idx) => idx !== index);
+ console.log('list', list);
+ this.setData({
+ fileList: list
+ })
+ }
+ }
+ },
+ });
+
},
// 请求下拉框资源
@@ -521,7 +765,6 @@
* 生命周期函数--监听页面加载
*/
onLoad: function () {
- this.getLocationData();
let agreement = wx.getStorageSync('agreement');
if (!agreement) {
this.getAgreement();
diff --git a/gz-wxparty/pages/register/index.wxml b/gz-wxparty/pages/register/index.wxml
index 27c5aee..2087f2d 100644
--- a/gz-wxparty/pages/register/index.wxml
+++ b/gz-wxparty/pages/register/index.wxml
@@ -66,7 +66,7 @@
</block>
<!-- 描述纠纷 -->
- <block wx:elif="{{stepsActive === 1}}">
+ <view class="page-flex" wx:elif="{{stepsActive === 1}}">
<view class="popupMsg-form">
<view bindtap="caseTypeGoPage" data-url="../../pages/caseType/index" class="cell cell-item" data-title="纠纷类型" data-key="certiType" data-type="cardType">
<view class="cell-title"><text><text class="cell-required">*</text> 纠纷类型</text></view>
@@ -105,13 +105,13 @@
<view class="cell-item">
<view class="cell-title1">涉及人数(人)</view>
<view class="cell-select">
- <van-field bind:change="handleChange" border="{{ false }}" custom-style="padding:0" data-key="peopleNum" input-align="right" placeholder="请填写" value="{{ submitData.peopleNum || '' }}" />
+ <van-field type='number' bind:change="handleChange" border="{{ false }}" custom-style="padding:0" data-key="peopleNum" input-align="right" placeholder="请填写" value="{{ submitData.peopleNum || '' }}" />
</view>
</view>
<view class="cell-item">
<view class="cell-title1">涉及金额(元)</view>
<view class="cell-select">
- <van-field bind:change="handleChange" border="{{ false }}" custom-style="padding:0" data-key="amount" input-align="right" placeholder="请填写" value="{{ submitData.amount || '' }}" />
+ <van-field type='number' bind:change="handleChange" border="{{ false }}" custom-style="padding:0" data-key="amount" input-align="right" placeholder="请填写" value="{{ submitData.amount || '' }}" />
</view>
</view>
<view style="height: 16rpx;"></view>
@@ -123,7 +123,7 @@
<view class="textarea-foot">
<view class="textarea-limit">{{caseDesNum||0}}/2000字</view>
<view class="textarea-ability">
- <view class="textarea-img">
+ <view bindtap="ocrClick" data-keyNum="caseDesNum" data-key="caseDes" class=" textarea-img">
<image src="{{imgUrl}}imgOcr.png" mode="" />识别图片
</view>
<view style="padding: 0 8rpx;">|</view>
@@ -142,7 +142,7 @@
<view class="textarea-foot">
<view class="textarea-limit">{{caseClaimNum||0}}/500字</view>
<view class="textarea-ability">
- <view class="textarea-img">
+ <view bindtap="ocrClick" data-keyNum="caseClaimNum" data-key="caseClaim" class="textarea-img">
<image src="{{imgUrl}}imgOcr.png" mode="" />识别图片
</view>
<view style="padding: 0 8rpx;">|</view>
@@ -154,7 +154,7 @@
</block>
<view style="height: 16rpx;"></view>
<block>
- <view style="padding-left: 32rpx;" class="cell-item">
+ <view style="padding-left: 32rpx;" bindtap="handleUploadFile" data-id="{{ownerId}}" data-type="22_00014-1" class="cell-item">
<view class="upload-title">
事件材料
<image src="{{imgUrl}}upload-add.png" mode="" />
@@ -163,25 +163,33 @@
说明:建议上传人员身份证及纠纷涉及的证件材料,代理人请上传身份证及授权委托书
</view>
</view>
- </block>
- <view class="submitButton" catch:tap="">
- <view style="flex: 1;">
- <view class="two-button">
- <view class="two-button-flex1">
- <van-button bind:click="handleNext" block data-type="back">上一步</van-button>
- </view>
- <view class="two-button-flex2">
- <van-button bind:click="handleNext" block data-type="next" type="primary">下一步</van-button>
- </view>
+ <view class="fileList" wx:for="{{fileList}}" wx:key="index" data-item="{{item}}" data-index="{{index}}">
+ <image class="fileList_img" src="{{imgUrl}}image_1.png" mode="" />
+ <view class="flex_1">
+ <view style="margin-bottom: 10rpx;">{{item.name}}</view>
+ <view style="display: flex;gap:16rpx"><text class="fileList_title">{{item.size}}{{item.unit}}</text><text data-item="{{item}}" data-index="{{index}}" bindtap="handlePreviewImage" class="public-color">预览</text></view>
</view>
- <view class="safeHeight" />
+ <image data-id="{{item.id}}" data-type="22_00014-1" data-item="{{item}}" data-index="{{index}}" bindtap="handleDelImage" class="fileList_img_del" src="{{imgUrl}}image_del.png" mode="" />
</view>
+ </block>
+ </view>
+ <view class="submitButton" catch:tap="">
+ <view style="flex: 1;">
+ <view class="two-button">
+ <view class="two-button-flex1">
+ <van-button bind:click="handleNext" block data-type="back">上一步</van-button>
+ </view>
+ <view class="two-button-flex2">
+ <van-button bind:click="handleNext" block data-type="next" type="primary">下一步</van-button>
+ </view>
+ </view>
+ <view class="safeHeight" />
</view>
</view>
- </block>
+ </view>
<!-- 提交申请 -->
- <block wx:elif="{{stepsActive === 2}}">
+ <view class="page-flex" wx:elif="{{stepsActive === 2}}">
<view class="popupMsg-form">
<view class="three-tag">
<van-tabs bind:click="threeTagChange" active="{{threeAvtice}}">
@@ -244,43 +252,56 @@
<view class="cell-title-placeholder">事项申请</view>
<view>{{ submitData.caseClaim || '-' }}</view>
</view>
- <!-- todo 人工智能提醒 -->
+ <!-- 人工智能提醒 -->
+ <!-- <view class="Ai_tip"> -->
+ <view class="Ai_tip" wx:if="{{AIData.isClaimRisk===1}}">
+ <view class="Ai_tip_title">{{AIData.analysisProcess||''}}</view>
+ <view class="Ai_tip_line"></view>
+ <view class="Ai_tip_text">内容依据人工智能技术和相关法律数据提供,仅供参考</view>
+ </view>
</view>
</van-tab>
- <van-tab title="事件材料" name="3">内容 3</van-tab>
+ <van-tab title="事件材料" name="3">
+ <view style="height: 16rpx;">
+
+ </view>
+ <view style="padding: 24rpx 32rpx 0; background-color: #fff;" wx:for="{{fileList}}" wx:key="index" data-item="{{item}}" data-index="{{index}}">
+ <view class="fileList_border">
+ <image class="fileList_img" src="{{imgUrl}}image_1.png" mode="" />
+ <view class="flex_1">
+ <view style="margin-bottom: 10rpx;">{{item.name}}</view>
+ <view style="display: flex;gap:16rpx"><text class="fileList_title">{{item.size}}{{item.unit}}</text><text data-item="{{item}}" data-index="{{index}}" bindtap="handlePreviewImage" class="public-color">预览</text></view>
+ </view>
+ </view>
+ </view>
+ </van-tab>
</van-tabs>
</view>
-
- <view class="submitButton" catch:tap="">
- <view style="flex: 1;">
- <view class="two-button">
- <view class="two-button-flex1">
- <van-button bind:click="handleNext" block data-type="back">上一步</van-button>
- </view>
- <view class="two-button-flex2">
- <van-button bind:click="handleNext" block data-type="next" type="primary">提交申请</van-button>
- </view>
+ </view>
+ <view class="submitButton" catch:tap="">
+ <view style="flex: 1;">
+ <view class="two-button">
+ <view class="two-button-flex1">
+ <van-button bind:click="handleNext" block data-type="back">上一步</van-button>
</view>
- <view class="safeHeight" />
+ <view class="two-button-flex2">
+ <van-button bind:click="handleNext" block data-type="next" type="primary">提交申请</van-button>
+ </view>
</view>
+ <view class="safeHeight" />
</view>
</view>
- </block>
+ </view>
</block>
<!-- 已提交 -->
<block wx:else>
<view class="success">
- <van-icon color="#07c160" name="checked" size="106rpx" />
- <view class="success-title">申请已经提交</view>
- <view class="success-subTitle">可通过小程序首页<navigator class="success-link" style="display: inline;" url="/pages/myMediate/index">我的调解</navigator>功能跟进调解进度</view>
- <view class="success-NewButton">
- <view class="success-RedButton">
- <navigator url="/pages/myMediate/index" style="color: #fff;font-size: 14px;">我的调解</navigator>
- </view>
- </view>
- <view>
+ <van-icon name="{{imgUrl}}success.png" size="200rpx" />
+ <view class="success-title">申请已提交</view>
+ <view class="success-subTitle">您已成功提交申请,请保持联系方式畅通。您可以通过“穗好办”微信公众号了解处理进度</view>
+ <view style="margin-top: 40rpx;">
<navigator class="success-link" style="display: inline;" url="/pages/homePage/index">返回首页</navigator>
</view>
<!-- <view class="success-button">
diff --git a/gz-wxparty/pages/register/index.wxss b/gz-wxparty/pages/register/index.wxss
index cbd90dc..3169dd2 100644
--- a/gz-wxparty/pages/register/index.wxss
+++ b/gz-wxparty/pages/register/index.wxss
@@ -206,9 +206,44 @@
align-items: center;
}
-.two-addr-img image{
+.two-addr-img image {
width: 15px;
height: 15px;
+}
+
+.fileList {
+ background-color: #fff;
+ padding: 24rpx 32rpx;
+ display: flex;
+ gap: 32rpx;
+ align-items: center;
+}
+
+.fileList_border {
+ padding-bottom: 24rpx;
+ display: flex;
+ gap: 32rpx;
+ align-items: center;
+ border-bottom: 1px solid rgba(126, 134, 142, 0.16);
+}
+
+.fileList_img {
+ width: 84rpx;
+ height: 96rpx;
+}
+
+.fileList_title {
+ color: rgba(23, 26, 29, 0.40);
+ font-size: 28rpx;
+}
+
+.fileList_img_del {
+ width: 32rpx;
+ height: 32rpx;
+}
+
+.flex_1 {
+ flex: 1;
}
.three-tag {
@@ -245,6 +280,33 @@
background-color: #fff;
align-items: center;
padding-left: 32rpx;
+}
+
+.Ai_tip {
+ background: #FFECE8;
+ padding: 8px 12px;
+ border-radius: 4px;
+}
+
+.Ai_tip_title {
+ color: #F53F3F;
+ line-height: 46rpx;
+}
+
+.page-flex {
+ display: flex;
+ flex-direction: column;
+}
+
+.Ai_tip_line {
+ margin: 16rpx 0;
+ border-bottom: 1px solid rgba(245, 63, 63, 0.60);
+}
+
+.Ai_tip_text {
+ color: rgba(245, 63, 63, 0.60);
+ font-size: 24rpx;
+ line-height: 40rpx;
}
.textarea-limit {
@@ -621,14 +683,13 @@
}
.success-title {
- font-size: 34rpx;
- line-height: 50rpx;
- font-weight: 600;
+ font-size: 32rpx;
+ line-height: 48rpx;
padding: 32rpx 0;
}
.success-subTitle {
- width: 383rpx;
+ width: 498rpx;
color: var(--second-text-color);
margin: auto;
}
@@ -683,7 +744,13 @@
}
.success-link {
- color: #D1021C;
+ color: #fff;
+ width: 116px;
+ height: 36px;
+ background: #1a6fb8;
+ border-radius: 6px;
+ padding: 6px 26px;
+ margin-top: 32px;
}
.success-NewButton {
diff --git a/gz-wxparty/utils/util.js b/gz-wxparty/utils/util.js
index 492cb22..175157e 100644
--- a/gz-wxparty/utils/util.js
+++ b/gz-wxparty/utils/util.js
@@ -5,7 +5,7 @@
const url = api.url;
// 是否是开发环境
-const isDebug = true;
+const isDebug = false;
const baseUrl = isDebug ? api.url.debug : api.url.web;
@@ -17,479 +17,485 @@
// request
const request = ({
- url,
- type,
- submitData,
- service,
- v1,
- noToken
+ url,
+ type,
+ submitData,
+ service,
+ v1,
+ ai,
+ noToken
}) => {
- const app = getApp();
+ const app = getApp();
- let token = app.globalData.token;
- if (!token && !noToken) {
- console.log(typeof app.globalData.access_token, 'app.globalData.access_token1111111111111')
- if (!app.globalData.access_token) {
- showModal({
+ let token = app.globalData.token;
+ if (!token && !noToken) {
+ console.log(typeof app.globalData.access_token, 'app.globalData.access_token1111111111111')
+ if (!app.globalData.access_token) {
+ showModal({
+ title: '提示信息',
+ content: '抱歉!登录状态已失效,请重新登录',
+ confirmText: '重新登录',
+ showCancel: false,
+ success: (res) => {
+ if (res.confirm) {
+ loginOutClearData();
+ wx.navigateTo({
+ url: '../../pages/login/index',
+ });
+ }
+ },
+ });
+ return false;
+ }
+ }
+
+ let baseUrl = isDebug ? api.url.debug : api.url.web;
+
+ let visitUrl = `${baseUrl}${api.url[service] || ''}/api/${v1 ? 'v1' :ai ? 'ai' : 'wechat'}/${url}`;
+
+ return new Promise((resolve, reject) => {
+ wx.request({
+ url: visitUrl,
+ data: submitData,
+ method: type,
+ header: {
+ Authorization: token,
+ },
+ success: (res) => {
+ if (res.errMsg === 'request:ok') {
+ const {
+ statusCode
+ } = res;
+ if (statusCode >= 400) {
+ errorModal({
+ content: '抱歉!请求失败,稍后重试'
+ });
+ resolve({
+ type: false
+ });
+ return false;
+ }
+ const {
+ code,
+ data,
+ msg
+ } = res.data;
+ let obj = {};
+ if (code === '0' || code === 0) {
+ obj = {
+ type: true,
+ data
+ };
+ } else if (code === 401 || code === '401') {
+ if (app.globalData.access_token !== 1) {
+ errorModal({
title: '提示信息',
content: '抱歉!登录状态已失效,请重新登录',
confirmText: '重新登录',
- showCancel: false,
- success: (res) => {
- if (res.confirm) {
- loginOutClearData();
- wx.navigateTo({
- url: '../../pages/login/index',
- });
- }
+ success: () => {
+ loginOutClearData();
+ wx.navigateTo({
+ url: '../../pages/login/index'
+ });
},
+ });
+
+ }
+ obj = {
+ type: false
+ };
+ } else {
+ errorModal({
+ content: msg
});
- return false;
+ obj = {
+ type: false
+ };
+ }
+ resolve(obj);
+ } else {
+ errorModal({
+ content: '抱歉!请求失败,稍后重试'
+ });
+ resolve({
+ type: false
+ });
}
- }
-
- let baseUrl = isDebug ? api.url.debug : api.url.web;
-
- let visitUrl = `${baseUrl}${api.url[service] || ''}/api/${v1 ? 'v1' : 'wechat'}/${url}`;
-
- return new Promise((resolve, reject) => {
- wx.request({
- url: visitUrl,
- data: submitData,
- method: type,
- header: {
- Authorization: token,
- },
- success: (res) => {
- if (res.errMsg === 'request:ok') {
- const {
- statusCode
- } = res;
- if (statusCode >= 400) {
- errorModal({
- content: '抱歉!请求失败,稍后重试'
- });
- resolve({
- type: false
- });
- return false;
- }
- const {
- code,
- data,
- msg
- } = res.data;
- let obj = {};
- if (code === '0' || code === 0) {
- obj = {
- type: true,
- data
- };
- } else if (code === 401 || code === '401') {
- if (app.globalData.access_token !== 1) {
- errorModal({
- title: '提示信息',
- content: '抱歉!登录状态已失效,请重新登录',
- confirmText: '重新登录',
- success: () => {
- loginOutClearData();
- wx.navigateTo({
- url: '../../pages/login/index'
- });
- },
- });
-
- }
- obj = {
- type: false
- };
- } else {
- errorModal({
- content: msg
- });
- obj = {
- type: false
- };
- }
- resolve(obj);
- } else {
- errorModal({
- content: '抱歉!请求失败,稍后重试'
- });
- resolve({
- type: false
- });
- }
- },
- fail: () => {
- errorModal({
- content: '抱歉!服务器出现错误,稍后重试'
- });
- resolve({
- type: false
- });
- },
+ },
+ fail: () => {
+ errorModal({
+ content: '抱歉!服务器出现错误,稍后重试'
});
+ resolve({
+ type: false
+ });
+ },
});
+ });
};
//
const commonRequest = ({
- url,
- submitData,
- type
+ url,
+ submitData,
+ type
}) => {
- return new Promise((resolve, reject) => {
- wx.request({
- url: url,
- data: submitData,
- method: type,
- header: {
- 'content-type': 'application/json; charset=utf-8', // 默认值
- },
- scriptCharset: 'utf-8',
- success: (res) => {
- const {
- statusCode,
- errMsg,
- data
- } = res;
- if (statusCode >= 400) {
- errorModal({
- content: '抱歉!请求错误,稍后重试'
- });
- resolve(false);
- return false;
- }
- if (errMsg === 'request:ok') {
- resolve(data);
- } else {
- resolve(false);
- }
- },
- fail: () => {
- resolve(false);
- },
- });
+ return new Promise((resolve, reject) => {
+ wx.request({
+ url: url,
+ data: submitData,
+ method: type,
+ header: {
+ 'content-type': 'application/json; charset=utf-8', // 默认值
+ },
+ scriptCharset: 'utf-8',
+ success: (res) => {
+ const {
+ statusCode,
+ errMsg,
+ data
+ } = res;
+ if (statusCode >= 400) {
+ errorModal({
+ content: '抱歉!请求错误,稍后重试'
+ });
+ resolve(false);
+ return false;
+ }
+ if (errMsg === 'request:ok') {
+ resolve(data);
+ } else {
+ resolve(false);
+ }
+ },
+ fail: () => {
+ resolve(false);
+ },
});
+ });
};
// 消息提示框
const showToast = ({
- title,
- icon = 'none',
- mask = true,
- duration = 2000,
- success
+ title,
+ icon = 'none',
+ mask = true,
+ duration = 2000,
+ success
}) => {
- return wx.showToast({
- title: title,
- icon: icon,
- mask: mask,
- duration: duration,
- success: (res) => {
- success && success(res);
- },
- });
+ return wx.showToast({
+ title: title,
+ icon: icon,
+ mask: mask,
+ duration: duration,
+ success: (res) => {
+ success && success(res);
+ },
+ });
+};
+
+const ellipsis = ({
+ value,
+ len
+}) => {
+ if (!value) return '';
+
+ if (value.length > len) {
+ return value.slice(0, len) + '...';
+ }
+ return value;
};
//api错误modal框消息提示
let errorNum = false; //控制报错信息不会重复弹出
const errorModal = ({
- title,
- content,
- confirmText,
- success,
- className
+ title,
+ content,
+ confirmText,
+ success,
+ className
}) => {
- if (errorNum) {
- return false;
- }
- errorNum = true;
- return wx.showModal({
- title: title || '错误提示',
- content: content,
- className: className,
- showCancel: false,
- confirmColor: '#d10202',
- confirmText: confirmText || '知道了',
- success: (res) => {
- if (res.confirm) {
- errorNum = false;
- success && success(res);
- }
- },
- });
+ if (errorNum) {
+ return false;
+ }
+ errorNum = true;
+ return wx.showModal({
+ title: title || '错误提示',
+ content: content,
+ className: className,
+ showCancel: false,
+ confirmColor: '#d10202',
+ confirmText: confirmText || '知道了',
+ success: (res) => {
+ if (res.confirm) {
+ errorNum = false;
+ success && success(res);
+ }
+ },
+ });
};
//modal提示操作
const showModal = ({
- title = '温馨提示',
- content,
- showCancel = true,
- cancelText = '取消',
- confirmText = '确定',
- success
+ title = '温馨提示',
+ content,
+ showCancel = true,
+ cancelText = '取消',
+ confirmText = '确定',
+ success
}) => {
- return wx.showModal({
- content: content,
- showCancel: showCancel,
- confirmColor: '#1A6FB8',
- title: title,
- cancelText: cancelText,
- confirmText: confirmText,
- success: (res) => {
- success && success(res);
- },
- });
+ return wx.showModal({
+ content: content,
+ showCancel: showCancel,
+ confirmColor: '#1A6FB8',
+ title: title,
+ cancelText: cancelText,
+ confirmText: confirmText,
+ success: (res) => {
+ success && success(res);
+ },
+ });
};
//loading
let loadingVisible = 0;
const showLoading = (title = '加载中...', mask = true) => {
- if (loadingVisible) {
- loadingVisible = loadingVisible + 1;
- return;
- }
- loadingVisible = 1;
- return wx.showLoading({
- title: title,
- mask: mask,
- });
+ if (loadingVisible) {
+ loadingVisible = loadingVisible + 1;
+ return;
+ }
+ loadingVisible = 1;
+ return wx.showLoading({
+ title: title,
+ mask: mask,
+ });
};
const hideLoading = () => {
- loadingVisible = loadingVisible - 1;
- if (loadingVisible) return;
- return wx.hideLoading();
+ loadingVisible = loadingVisible - 1;
+ if (loadingVisible) return;
+ return wx.hideLoading();
};
// 时间格式化
const timeFormat = (time, type) => {
- let formatType = type ? type : 'YYYY-MM-DD HH:mm';
- return time ? moment(time).format(formatType) : '';
+ let formatType = type ? type : 'YYYY-MM-DD HH:mm';
+ return time ? moment(time).format(formatType) : '';
};
// 计算消息时间距离当前时间
const getMsgTime = (endTime, startTime = new Date()) => {
- let end = moment(endTime),
- start = moment(startTime),
- minDiff = end.diff(start, 'minute');
- if (minDiff < 60) {
- return `${minDiff}分钟`;
- }
- let hoursDiff = minDiff / 60;
- if (hoursDiff < 24) {
- return `${hoursDiff}小时`;
- }
- let dayDiff = hoursDiff / 24;
- return `${dayDiff}天`;
+ let end = moment(endTime),
+ start = moment(startTime),
+ minDiff = end.diff(start, 'minute');
+ if (minDiff < 60) {
+ return `${minDiff}分钟`;
+ }
+ let hoursDiff = minDiff / 60;
+ if (hoursDiff < 24) {
+ return `${hoursDiff}小时`;
+ }
+ let dayDiff = hoursDiff / 24;
+ return `${dayDiff}天`;
};
// 退出登录清除数据
const loginOutClearData = () => {
- const app = getApp();
- app.globalData.token = '';
- wx.removeStorage({
- key: 'userInfo'
- });
+ const app = getApp();
+ app.globalData.token = '';
+ wx.removeStorage({
+ key: 'userInfo'
+ });
};
// 手机号码正则
const mobileRegExp = (value) => {
- return /^1(3[0-9]|5[0-3,5-9]|7[1-3,5-8]|8[0-9]|9[0-9])\d{8}$/g.test(value);
+ return /^1(3[0-9]|5[0-3,5-9]|7[1-3,5-8]|8[0-9]|9[0-9])\d{8}$/g.test(value);
};
// 睡眠
const sleep = (timeout = 500) => {
- return new Promise((resolve) => setTimeout(resolve, timeout));
+ return new Promise((resolve) => setTimeout(resolve, timeout));
};
// 获取唯一的key
const getBusinessId = () => {
- let four = `${parseInt(Math.random() * 10)}${parseInt(Math.random() * 10)}${parseInt(Math.random() * 10)}${parseInt(Math.random() * 10)}`;
- let result = `${moment().format('YYYYMMDDHHmmss')}${four}`;
- return result;
+ let four = `${parseInt(Math.random() * 10)}${parseInt(Math.random() * 10)}${parseInt(Math.random() * 10)}${parseInt(Math.random() * 10)}`;
+ let result = `${moment().format('YYYYMMDDHHmmss')}${four}`;
+ return result;
};
// 省市区选择
const changeLocation = (e, location, selectData) => {
- const {
- value,
- index
- } = e.detail.detail;
- let value_id = value[index].value;
- let faterArr = location;
- for (let i = 0; i < index; i++) {
- faterArr = faterArr[selectData[i].defaultIndex].children || [];
- }
- faterForEach: for (let i = 0; i <= faterArr.length - 1; i++) {
- if (faterArr[i].value === value_id) {
- selectData[index].defaultIndex = i;
- let arr = faterArr[i];
- for (let y = index + 1; y < value.length; y++) {
- selectData[y].values = JSON.parse(JSON.stringify(arr.children)) || [];
- selectData[y].defaultIndex = 0;
- // 当children不存在时赋值
- if (arr.children) {
- arr = arr.children[0];
- }
- selectData[y].values.forEach((x) => {
- delete x.children;
- });
- }
- break faterForEach;
+ const {
+ value,
+ index
+ } = e.detail.detail;
+ let value_id = value[index].value;
+ let faterArr = location;
+ for (let i = 0; i < index; i++) {
+ faterArr = faterArr[selectData[i].defaultIndex].children || [];
+ }
+ faterForEach: for (let i = 0; i <= faterArr.length - 1; i++) {
+ if (faterArr[i].value === value_id) {
+ selectData[index].defaultIndex = i;
+ let arr = faterArr[i];
+ for (let y = index + 1; y < value.length; y++) {
+ selectData[y].values = JSON.parse(JSON.stringify(arr.children)) || [];
+ selectData[y].defaultIndex = 0;
+ // 当children不存在时赋值
+ if (arr.children) {
+ arr = arr.children[0];
}
+ selectData[y].values.forEach((x) => {
+ delete x.children;
+ });
+ }
+ break faterForEach;
}
- return selectData;
+ }
+ return selectData;
};
// 计算默认的省市区下标
const getLocationIndex = (data, currentData) => {
- let selectOption = JSON.parse(JSON.stringify(data));
- let submitData = currentData;
- let arr = [0, 0, 0, 0];
- if (submitData.prov) {
- forEach: for (let i = 0; i < selectOption.length; i++) {
- if (selectOption[i].value === submitData.prov) {
- arr[0] = i;
- break forEach;
- }
- }
+ let selectOption = JSON.parse(JSON.stringify(data));
+ let submitData = currentData;
+ let arr = [0, 0, 0];
+ if (submitData.city) {
+ forEach: for (let i = 0; i < selectOption[arr[0]].children.length; i++) {
+ if (selectOption[arr[0]].children[i].value === submitData.city) {
+ arr[1] = i;
+ break forEach;
+ }
}
- if (submitData.city) {
- forEach: for (let i = 0; i < selectOption[arr[0]].children.length; i++) {
- if (selectOption[arr[0]].children[i].value === submitData.city) {
- arr[1] = i;
- break forEach;
- }
- }
+ }
+ if (submitData.area) {
+ forEach: for (let i = 0; i < selectOption[arr[0]].children[arr[1]].children.length; i++) {
+ if (selectOption[arr[0]].children[arr[1]].children[i].value === submitData.area) {
+ arr[2] = i;
+ break forEach;
+ }
}
- if (submitData.area) {
- forEach: for (let i = 0; i < selectOption[arr[0]].children[arr[1]].children.length; i++) {
- if (selectOption[arr[0]].children[arr[1]].children[i].value === submitData.area) {
- arr[2] = i;
- break forEach;
- }
- }
- }
- if (submitData.road) {
- forEach: for (let i = 0; i < selectOption[arr[0]].children[arr[1]].children[arr[2]].children.length; i++) {
- if (selectOption[arr[0]].children[arr[1]].children[arr[2]].children[i].value === submitData.road) {
- arr[3] = i;
- break forEach;
- }
- }
- }
- return arr;
+ }
+ // if (submitData.road) {
+ // forEach: for (let i = 0; i < selectOption[arr[0]].children[arr[1]].children[arr[2]].children.length; i++) {
+ // if (selectOption[arr[0]].children[arr[1]].children[arr[2]].children[i].value === submitData.road) {
+ // arr[3] = i;
+ // break forEach;
+ // }
+ // }
+ // }
+ return arr;
};
// 判断附件打开形式
const openFiles = (type, url, urls) => {
- let visible = false;
- if (type === '22_00017-3') {
- wx.previewImage({
- current: url,
- urls: urls,
+ let visible = false;
+ if (type === '22_00017-3') {
+ wx.previewImage({
+ current: url,
+ urls: urls,
+ });
+ visible = true;
+ } else if (['22_00017-4', '22_00017-5', '22_00017-6', '22_00017-9'].includes(type)) {
+ showLoading();
+ wx.downloadFile({
+ url: url,
+ success: function (res) {
+ const filePath = res.tempFilePath;
+ wx.openDocument({
+ filePath: filePath,
+ complete: () => {
+ hideLoading();
+ },
});
- visible = true;
- } else if (['22_00017-4', '22_00017-5', '22_00017-6', '22_00017-9'].includes(type)) {
- showLoading();
- wx.downloadFile({
- url: url,
- success: function (res) {
- const filePath = res.tempFilePath;
- wx.openDocument({
- filePath: filePath,
- complete: () => {
- hideLoading();
- },
- });
- },
- });
- visible = true;
- } else {
- showToast({
- title: '抱歉!您所点击的附件暂不支持查看'
- });
- visible = false;
- }
- return visible;
+ },
+ });
+ visible = true;
+ } else {
+ showToast({
+ title: '抱歉!您所点击的附件暂不支持查看'
+ });
+ visible = false;
+ }
+ return visible;
};
// 校验登录'login' and 实名'realName' and 'all'
const userTest = (type, direction) => {
- const app = getApp();
- if (!app.globalData.token && (type === 'login' || type === 'all')) {
- showModal({
- content: '抱歉您未登录,是否前往登录?',
- success: (res) => {
- if (res.confirm) {
- wx.navigateTo({
- url: '../../pages/login/index',
- });
- }
- },
- });
- return false;
- }
- let realStatus = wx.getStorageSync('userInfo')?.realStatus;
- if (realStatus !== 1 && (type === 'realName' || type === 'all')) {
- if (direction !== 'bottom') {
- showModal({
- content: '检测到您未进行实名认证,该操作需先进行实名认证,是否前往认证?',
- success: (res) => {
- if (res.confirm) {
- wx.navigateTo({
- url: '../../pages/realNameAuthentication/index',
- });
- }
- },
- });
+ const app = getApp();
+ if (!app.globalData.token && (type === 'login' || type === 'all')) {
+ showModal({
+ content: '抱歉您未登录,是否前往登录?',
+ success: (res) => {
+ if (res.confirm) {
+ wx.navigateTo({
+ url: '../../pages/login/index',
+ });
}
- return false;
+ },
+ });
+ return false;
+ }
+ let realStatus = wx.getStorageSync('userInfo')?.realStatus;
+ if (realStatus !== 1 && (type === 'realName' || type === 'all')) {
+ if (direction !== 'bottom') {
+ showModal({
+ content: '检测到您未进行实名认证,该操作需先进行实名认证,是否前往认证?',
+ success: (res) => {
+ if (res.confirm) {
+ wx.navigateTo({
+ url: '../../pages/realNameAuthentication/index',
+ });
+ }
+ },
+ });
}
- return true;
+ return false;
+ }
+ return true;
};
// 地址栏截取
function getQueryString(href, name) {
- let result = href.match(new RegExp('[?&]' + name + '=([^&]+)', 'i'));
- if (!result || result.length < 1) {
- return null;
- }
- return decodeURI(result[1]);
+ let result = href.match(new RegExp('[?&]' + name + '=([^&]+)', 'i'));
+ if (!result || result.length < 1) {
+ return null;
+ }
+ return decodeURI(result[1]);
}
// 清除字符串中的空格,用于判断是否为空
function verifyEmpty(value) {
- return value?.replace(/\s+/g, '');
+ return value?.replace(/\s+/g, '');
}
module.exports = {
- moment,
- url,
- request,
- commonRequest,
- isDebug,
- baseUrl,
- version,
- province,
- showToast,
- errorModal,
- showModal,
- showLoading,
- hideLoading,
- timeFormat,
- getMsgTime,
- loginOutClearData,
- mobileRegExp,
- sleep,
- getBusinessId,
- changeLocation,
- getLocationIndex,
- openFiles,
- userTest,
- getQueryString,
- verifyEmpty,
+ moment,
+ url,
+ request,
+ commonRequest,
+ isDebug,
+ baseUrl,
+ version,
+ province,
+ showToast,
+ errorModal,
+ showModal,
+ ellipsis,
+ showLoading,
+ hideLoading,
+ timeFormat,
+ getMsgTime,
+ loginOutClearData,
+ mobileRegExp,
+ sleep,
+ getBusinessId,
+ changeLocation,
+ getLocationIndex,
+ openFiles,
+ userTest,
+ getQueryString,
+ verifyEmpty,
};
\ No newline at end of file
--
Gitblit v1.8.0