From 2e4d56e2ed95cb0f336522216fedc37167fb446d Mon Sep 17 00:00:00 2001
From: liuwh <964324856@qq.com>
Date: Mon, 09 Sep 2024 15:26:15 +0800
Subject: [PATCH] 小程序代码提交

---
 gz-wxparty/pages/AIAideDetail/index.js             |   93 +
 gz-wxparty/pages/AIAide/index.js                   |  116 ++
 gz-wxparty/utils/util.js                           |  762 +++++++-------
 gz-wxparty/pages/AIAide/index.wxss                 |   90 +
 gz-wxparty/pages/AIAide/index.wxml                 |   50 +
 gz-wxparty/pages/myRegisterList/index.json         |    4 
 gz-wxparty/pages/AIAideDetail/index.json           |    4 
 gz-wxparty/pages/register/index.wxss               |   79 +
 gz-wxparty/pages/homePage/index.wxml               |   27 
 gz-wxparty/pages/homePage/index.wxss               |   22 
 gz-wxparty/pages/register/index.wxml               |  105 +
 gz-wxparty/pages/DetailPerson/index.js             |   79 +
 gz-wxparty/pages/addPerson/index.wxss              |    5 
 gz-wxparty/pages/DetailPerson/index.json           |    4 
 gz-wxparty/pages/myRegisterList/index.wxss         |    2 
 gz-wxparty/pages/register/index.js                 |  289 +++++
 gz-wxparty/api/api.js                              |   67 
 gz-wxparty/components/steps/index.wxml             |    2 
 gz-wxparty/pages/myRegisterDetail/index.js         |   86 +
 gz-wxparty/pages/myRegisterDetail/index.json       |    4 
 gz-wxparty/components/personal-data-dom/index.js   |  335 +++---
 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/myRegisterDetail/index.wxss       |  128 ++
 gz-wxparty/app.json                                |    4 
 gz-wxparty/pages/DetailPerson/index.wxml           |   43 
 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-wxparty/pages/AIAideDetail/index.wxss           |   25 
 gz-wxparty/pages/myRegisterList/index.js           |   37 
 34 files changed, 2,113 insertions(+), 870 deletions(-)

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