吉安感知网项目-前端
张含笑
2026-01-22 1cc5fd76248222cb6fa62a9db93c9716b635f480
feat:工单
7 files modified
639 ■■■■ changed files
uniapps/work-app/env/.env 2 ●●● patch | view | raw | blame | history
uniapps/work-app/src/api/work/index1.js 33 ●●●● patch | view | raw | blame | history
uniapps/work-app/src/config/env.js 4 ●●● patch | view | raw | blame | history
uniapps/work-app/src/pages/work/index.vue 497 ●●●●● patch | view | raw | blame | history
uniapps/work-app/src/plugins/index.js 3 ●●●●● patch | view | raw | blame | history
uniapps/work-app/src/subPackages/workDetail/index.vue 75 ●●●● patch | view | raw | blame | history
uniapps/work-app/src/utils/requestGd/index.js 25 ●●●●● patch | view | raw | blame | history
uniapps/work-app/env/.env
@@ -12,7 +12,7 @@
# API代理前缀
VITE_API_PREFIX=/api
VITE_API_PREFIX_GD=/api-gd
VITE_API_PREFIX_GD=/droneWork
# 删除console
VITE_DROP_CONSOLE=false
uniapps/work-app/src/api/work/index1.js
@@ -1,14 +1,7 @@
import { request } from "@/utils/requestGd/index.js"
import website from '@/config/website'
// 获取工单列表
export const getGdList = data => {
    return request({
        url: '/system/user/profile/update',
        method: 'post',
        data,
    });
};
// 工单用户登录接口
export const ticketLoginInterfaceApi = (tenantId, deptId, roleId, username, password, type, key, code) => {
    return request({
@@ -31,3 +24,27 @@
        },
    })
}
// 获取工单列表
export const getGdList = data => {
  return request({
    url: '/drone-gd/workOrder/gdClueEvent/list',
    method: 'get',
    data,
  });
};
// 获取详情
export const getGddetailedData = data => {
  return request({
    url: '/drone-gd/workOrder/gdClueEvent/detail',
    method: 'get',
    data,
  });
};
// 获取数量
export const getstatusCount = (params) => {
  return request({
    url: '/drone-gd/workOrder/gdClueEvent/count',
    method: 'get',
    params,
  })
}
uniapps/work-app/src/config/env.js
@@ -15,7 +15,7 @@
  VITE_APP_WEBVIEW_URL: 'https://wrj.shuixiongit.com/drone-app-web-view/#/webViewWrapper',
  // VITE_APP_WEBVIEW_URL: 'https://192.168.1.157:5176/mobile-web-view/#/webViewWrapper',
  VITE_API_BASE_URL: 'http://218.202.104.82:8200',
  VITE_API_BASE_URL_GD: 'https://wrj.shuixiongit.com/api',
  VITE_API_BASE_URL_GD: 'http://192.168.1.168',
  // VITE_API_BASE_URL: 'https://aisky.org.cn/api',
  VITE_APP_WS_API_URL:'wss://wrj.shuixiongit.com/drone-wss/api/v1/ws',
@@ -27,6 +27,7 @@
  VITE_APP_ENV: 'test',
  VITE_APP_WEBVIEW_URL: 'https://wrj.shuixiongit.com/drone-app-web-view/#/webViewWrapper',
  VITE_API_BASE_URL: 'https://wrj.shuixiongit.com/api',
  VITE_API_BASE_URL_GD: 'https://wrj.shuixiongit.com/api',
  VITE_APP_WS_API_URL: 'wss://wrj.shuixiongit.com/drone-wss/api/v1/ws',
  // 静态资源存放地址'
  VITE_APP_ASSETS_URL: 'https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_app_assets'
@@ -36,6 +37,7 @@
  VITE_APP_ENV: 'production',
  VITE_APP_WEBVIEW_URL: 'https://aisky.org.cn/drone-app-web-view/#/webViewWrapper',
  VITE_API_BASE_URL: 'https://aisky.org.cn/api',
  VITE_API_BASE_URL_GD: 'https://aisky.org.cn/api',
  VITE_APP_WS_API_URL: 'wss://aisky.org.cn/drone-wss/api/v1/ws',
  // 静态资源存放地址'
  VITE_APP_ASSETS_URL: 'https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_app_assets'
uniapps/work-app/src/pages/work/index.vue
@@ -8,14 +8,14 @@
      <div class="tabs-container">
        <up-tabs :list="tabList" @click="handleClick"></up-tabs>
      </div>
      <scroll-view class="eventBox" scroll-y :lower-threshold="80" @scrolltolower="loadMore">
<!-- @scrolltolower="loadMore" -->
      <scroll-view class="eventBox" scroll-y :lower-threshold="80" >
        <div class="eventList">
          <div class="eventItem"  v-for="(item,index) in dataList" :key="index">
            <img :src="item.photo_url" alt="" @click="detailHandle(item)" />
            <img :src="item.eventImageUrl" alt="" @click="detailHandle(item)" />
            <div class="informationDisplay">
              <!--              <div class="itemTitle">{{item.event_name}}</div>-->
              <div class="itemContent">{{formatDate(item.create_time) }}</div>
              <div class="itemContent">{{formatDate(item.createTime) }}</div>
            </div>
          </div>
        </div>
@@ -35,410 +35,12 @@
<script setup>
import { useUserStore } from '@/store/index.js'
import {getList,getstatusCount} from '/src/api/work/index.js'
import {getGdList,getstatusCount} from '/src/api/work/index1.js'
import dayjs from 'dayjs';
import { getStatusBarHeight } from '@/utils/common';
const userStore = useUserStore()
const userInfo = userStore.userInfo
const dataList = ref([
  {
    "id": 8474,
    "wayline_job_id": "51835088-cd94-42f8-b2ec-a9069ced4e7b",
    "event_name": "测试",
    "device_sn": "7CTDM5E00B3H61",
    "status": 3,
    "photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260113/f090f03fdc52499473ab9cbfcdc0876d.jpeg",
    "file_path": "upload/20260113/f090f03fdc52499473ab9cbfcdc0876d.jpeg",
    "longitude": "115.85649472222222",
    "latitude": "28.624301527777778",
    "create_time": "2026-01-13 16:51:57",
    "media_type": "PHOTO_TYPE",
    "event_num": "BHJC20260113002",
    "ai_types": "道路裂缝",
    "ai_type_key_list": [
      "DLLFSB"
    ],
    "work_order_type_dict_key": "ZHZLL",
    "work_order_type": "交通运输与交管​",
    "create_user": "曾超杰",
    "update_user": "管理员",
    "dept_name": "中图智飞(江西省)",
    "create_user_id": "2009140684346388482",
    "user_id": "1991745495648227330",
    "handle_user_id": "1123598821738675201",
    "address": "江西省南昌市西湖区朝农街道抚生南路1806号南昌台湾健康产业城",
    "update_photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260113/f090f03fdc52499473ab9cbfcdc0876d.jpeg",
    "content": "测试",
    "work_type": "3",
    "job_name": "定向拍照2",
    "is_review": 0,
    "job_create_time": "2026-01-13 16:51:57"
  },
  {
    "id": 8472,
    "wayline_job_id": "6beae73e-2d5d-47e5-859b-e2a1955d6e3b",
    "event_name": "车事件",
    "event_dict_key": "Traffic_flow",
    "device_sn": "7CTDM5E00B3H61",
    "status": 3,
    "photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket//6beae73e-2d5d-47e5-859b-e2a1955d6e3b/DJI_202601091336_002_6beae73e-2d5d-47e5-859b-e2a1955d6e3b/车AI20260112144421001.jpeg",
    "file_path": "/6beae73e-2d5d-47e5-859b-e2a1955d6e3b/DJI_202601091336_002_6beae73e-2d5d-47e5-859b-e2a1955d6e3b/车AI20260112144421001.jpeg",
    "longitude": "115.85502433333333",
    "latitude": "28.623021472222224",
    "create_time": "2026-01-12 14:44:25",
    "media_type": "PHOTO_TYPE",
    "event_num": "AI20260112144421001",
    "remark": "江西省南昌市西湖区朝农街道翠菊路银燕物流基地发生车事件",
    "ai_types": "车",
    "ai_type_key_list": [
      "CGL_CLLTJ"
    ],
    "work_order_type_dict_key": "ZHZLL",
    "work_order_type": "交通运输与交管​",
    "create_user": "曾超杰",
    "update_user": "空间大厦管理员",
    "dept_name": "中图智飞(江西省)",
    "create_user_id": "2009140684346388482",
    "user_id": "1991745495648227330",
    "handle_user_id": "1979075301412524033",
    "address": "江西省南昌市西湖区朝农街道翠菊路银燕物流基地",
    "content": "测试",
    "work_type": "2",
    "job_name": "马上智飞202601091336",
    "is_review": 0,
    "job_create_time": "2026-01-09 13:36:42"
  },
  {
    "id": 8464,
    "wayline_job_id": "8b4b7529-13ee-4885-a7b8-4a52667444fb",
    "event_name": "1212",
    "device_sn": "7CTDM5E00B3H61",
    "status": 3,
    "photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260107/5e6bc6ecedd830f2415a959667b3841a.jpeg",
    "file_path": "upload/20260107/5e6bc6ecedd830f2415a959667b3841a.jpeg",
    "longitude": "115.85803208048642",
    "latitude": "28.625135341676483",
    "create_time": "2026-01-07 11:18:35",
    "media_type": "PHOTO_TYPE",
    "event_num": "BHJC20260107003",
    "ai_types": "水体污染",
    "ai_type_key_list": [
      "STWLSB"
    ],
    "work_order_type_dict_key": "SLL",
    "work_order_type": "生态环境与水务",
    "create_user": "罗广辉",
    "update_user": "空间大厦管理员",
    "dept_name": "中图智飞(江西省)",
    "create_user_id": "1896495271624384514",
    "user_id": "1991745495648227330",
    "handle_user_id": "1979075301412524033",
    "address": "江西省南昌市西湖区朝农街道抚生南路世纪吉的堡幼儿园",
    "update_photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260107/5e6bc6ecedd830f2415a959667b3841a.jpeg",
    "content": "2121",
    "work_type": "3",
    "job_name": "马上智飞202601051720",
    "is_review": 0,
    "job_create_time": "2026-01-07 11:18:35"
  },
  {
    "id": 8463,
    "wayline_job_id": "8b4b7529-13ee-4885-a7b8-4a52667444fb",
    "event_name": "122112",
    "device_sn": "7CTDM5E00B3H61",
    "status": 3,
    "photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260107/a52b1adda405b94a4f9436e43e1b3185.jpeg",
    "file_path": "upload/20260107/a52b1adda405b94a4f9436e43e1b3185.jpeg",
    "longitude": "115.85780692063119",
    "latitude": "28.624775436656122",
    "create_time": "2026-01-07 11:17:47",
    "media_type": "PHOTO_TYPE",
    "event_num": "BHJC20260107002",
    "ai_types": "水体污染",
    "ai_type_key_list": [
      "STWLSB"
    ],
    "work_order_type_dict_key": "SLL",
    "work_order_type": "生态环境与水务",
    "create_user": "罗广辉",
    "update_user": "空间大厦管理员",
    "dept_name": "中图智飞(江西省)",
    "create_user_id": "1896495271624384514",
    "user_id": "1991745495648227330",
    "handle_user_id": "1979075301412524033",
    "address": "江西省南昌市西湖区朝农街道抚生南路世纪吉的堡幼儿园",
    "update_photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260107/a52b1adda405b94a4f9436e43e1b3185.jpeg",
    "content": "1",
    "work_type": "3",
    "job_name": "马上智飞202601051720",
    "is_review": 0,
    "job_create_time": "2026-01-07 11:17:48"
  },
  {
    "id": 8462,
    "wayline_job_id": "8b4b7529-13ee-4885-a7b8-4a52667444fb",
    "event_name": "1",
    "device_sn": "7CTDM5E00B3H61",
    "status": 3,
    "photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260107/a138491d214cc0ce7a5a3eedf6b79680.jpeg",
    "file_path": "upload/20260107/a138491d214cc0ce7a5a3eedf6b79680.jpeg",
    "longitude": "115.85763536212585",
    "latitude": "28.626095211224335",
    "create_time": "2026-01-07 11:14:41",
    "media_type": "PHOTO_TYPE",
    "event_num": "BHJC20260107001",
    "ai_types": "水体污染",
    "ai_type_key_list": [
      "STWLSB"
    ],
    "work_order_type_dict_key": "SLL",
    "work_order_type": "生态环境与水务",
    "create_user": "罗广辉",
    "update_user": "江西融媒",
    "dept_name": "中图智飞(江西省)",
    "create_user_id": "1896495271624384514",
    "user_id": "1991745495648227330",
    "handle_user_id": "1993119267150655490",
    "address": "江西省南昌市西湖区朝农街道国贸天琴湾东区",
    "update_photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260107/a138491d214cc0ce7a5a3eedf6b79680.jpeg",
    "content": "1",
    "work_type": "3",
    "job_name": "马上智飞202601051720",
    "is_review": 0,
    "job_create_time": "2026-01-07 11:14:42"
  },
  {
    "id": 8461,
    "wayline_job_id": "038b8f48-1704-4adc-abb7-7deb85eba101",
    "event_name": "测试",
    "device_sn": "7CTDM5E00B3H61",
    "status": 3,
    "photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260106/c94dca50d34e13f53fd5a5c05abfe03f.jpeg",
    "file_path": "upload/20260106/c94dca50d34e13f53fd5a5c05abfe03f.jpeg",
    "longitude": "115.85623975",
    "latitude": "28.624919472222224",
    "create_time": "2026-01-06 13:38:03",
    "media_type": "PHOTO_TYPE",
    "event_num": "BHJC20260106018",
    "ai_types": "水体污染",
    "ai_type_key_list": [
      "STWLSB"
    ],
    "work_order_type_dict_key": "SLL",
    "work_order_type": "生态环境与水务",
    "create_user": "张含笑",
    "update_user": "张含笑",
    "dept_name": "中图智飞(江西省)",
    "create_user_id": "1909067460995813377",
    "user_id": "1991745495648227330",
    "handle_user_id": "1909067460995813377",
    "address": "江西省南昌市西湖区朝农街道抚生南路1818号国贸天琴湾",
    "update_photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260106/c94dca50d34e13f53fd5a5c05abfe03f.jpeg",
    "content": "123",
    "work_type": "3",
    "job_name": "定向拍照-1-5",
    "is_review": 0,
    "job_create_time": "2026-01-06 13:38:03"
  },
  {
    "id": 8460,
    "wayline_job_id": "8b4b7529-13ee-4885-a7b8-4a52667444fb",
    "event_name": "11",
    "device_sn": "7CTDM5E00B3H61",
    "status": 3,
    "photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260106/6ef9355b143d4e89d83c77d18f4e312f.jpeg",
    "file_path": "upload/20260106/6ef9355b143d4e89d83c77d18f4e312f.jpeg",
    "longitude": "115.85763536212585",
    "latitude": "28.626095211224335",
    "create_time": "2026-01-06 11:08:51",
    "media_type": "PHOTO_TYPE",
    "event_num": "BHJC20260106017",
    "ai_types": "建筑垃圾",
    "ai_type_key_list": [
      "GCL_JZLJSB"
    ],
    "work_order_type_dict_key": "CGL",
    "work_order_type": "城市管理与综合执法",
    "create_user": "张含笑",
    "update_user": "罗广辉",
    "dept_name": "中图智飞(江西省)",
    "create_user_id": "1909067460995813377",
    "user_id": "1991745495648227330",
    "handle_user_id": "1896495271624384514",
    "address": "江西省南昌市西湖区朝农街道国贸天琴湾东区",
    "update_photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260106/6ef9355b143d4e89d83c77d18f4e312f.jpeg",
    "content": "12",
    "work_type": "3",
    "job_name": "马上智飞202601051720",
    "is_review": 0,
    "job_create_time": "2026-01-06 11:08:52"
  },
  {
    "id": 8459,
    "wayline_job_id": "038b8f48-1704-4adc-abb7-7deb85eba101",
    "event_name": "122",
    "device_sn": "7CTDM5E00B3H61",
    "status": 3,
    "photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260106/96c7769b12f2e55b7e788e8f35b0364b.jpeg",
    "file_path": "upload/20260106/96c7769b12f2e55b7e788e8f35b0364b.jpeg",
    "longitude": "115.85623975",
    "latitude": "28.624919472222224",
    "create_time": "2026-01-06 11:08:00",
    "media_type": "PHOTO_TYPE",
    "event_num": "BHJC20260106016",
    "ai_types": "水生植物漂浮物",
    "ai_type_key_list": [
      "SMPFWSB"
    ],
    "work_order_type_dict_key": "SLL",
    "work_order_type": "生态环境与水务",
    "create_user": "张含笑",
    "update_user": "张含笑",
    "dept_name": "中图智飞(江西省)",
    "create_user_id": "1909067460995813377",
    "user_id": "1991745495648227330",
    "handle_user_id": "1909067460995813377",
    "address": "江西省南昌市西湖区朝农街道抚生南路1818号国贸天琴湾",
    "update_photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260106/96c7769b12f2e55b7e788e8f35b0364b.jpeg",
    "content": "1",
    "work_type": "3",
    "job_name": "定向拍照-1-5",
    "is_review": 0,
    "job_create_time": "2026-01-06 11:08:00"
  },
  {
    "id": 8458,
    "wayline_job_id": "8b4b7529-13ee-4885-a7b8-4a52667444fb",
    "event_name": "12",
    "device_sn": "7CTDM5E00B3H61",
    "status": 3,
    "photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260106/2e065c4f0e78d4fa1cfdd15f65397b85.jpeg",
    "file_path": "upload/20260106/2e065c4f0e78d4fa1cfdd15f65397b85.jpeg",
    "longitude": "115.85677911492691",
    "latitude": "28.62569394530331",
    "create_time": "2026-01-06 11:00:53",
    "media_type": "PHOTO_TYPE",
    "event_num": "BHJC20260106015",
    "ai_types": "水体污染",
    "ai_type_key_list": [
      "STWLSB"
    ],
    "work_order_type_dict_key": "SLL",
    "work_order_type": "生态环境与水务",
    "create_user": "张含笑",
    "update_user": "罗广辉",
    "dept_name": "中图智飞(江西省)",
    "create_user_id": "1909067460995813377",
    "user_id": "1991745495648227330",
    "handle_user_id": "1896495271624384514",
    "address": "江西省南昌市西湖区朝农街道抚生南路1836号国贸天琴湾东区",
    "update_photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260106/2e065c4f0e78d4fa1cfdd15f65397b85.jpeg",
    "content": "22",
    "work_type": "3",
    "job_name": "马上智飞202601051720",
    "is_review": 0,
    "job_create_time": "2026-01-06 11:00:54"
  },
  {
    "id": 8457,
    "wayline_job_id": "038b8f48-1704-4adc-abb7-7deb85eba101",
    "event_name": "发布事件",
    "device_sn": "7CTDM5E00B3H61",
    "status": 3,
    "photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260106/ecdfe6c661dba2fa03efcc19a5863680.jpeg",
    "file_path": "upload/20260106/ecdfe6c661dba2fa03efcc19a5863680.jpeg",
    "longitude": "115.85623975",
    "latitude": "28.624919472222224",
    "create_time": "2026-01-06 10:43:29",
    "media_type": "PHOTO_TYPE",
    "event_num": "BHJC20260106014",
    "ai_types": "水体污染",
    "ai_type_key_list": [
      "STWLSB"
    ],
    "work_order_type_dict_key": "SLL",
    "work_order_type": "生态环境与水务",
    "create_user": "张含笑",
    "update_user": "张含笑",
    "dept_name": "中图智飞(江西省)",
    "create_user_id": "1909067460995813377",
    "user_id": "1991745495648227330",
    "handle_user_id": "1909067460995813377",
    "address": "江西省南昌市西湖区朝农街道抚生南路1818号国贸天琴湾",
    "update_photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260106/ecdfe6c661dba2fa03efcc19a5863680.jpeg",
    "content": "11",
    "work_type": "3",
    "job_name": "定向拍照-1-5",
    "is_review": 0,
    "job_create_time": "2026-01-06 10:43:30"
  },
  {
    "id": 8456,
    "wayline_job_id": "038b8f48-1704-4adc-abb7-7deb85eba101",
    "event_name": "122",
    "device_sn": "7CTDM5E00B3H61",
    "status": 3,
    "photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260106/fc9820c440da478fa5312e8647e1e311.jpeg",
    "file_path": "upload/20260106/fc9820c440da478fa5312e8647e1e311.jpeg",
    "longitude": "115.85623975",
    "latitude": "28.624919472222224",
    "create_time": "2026-01-06 10:38:20",
    "media_type": "PHOTO_TYPE",
    "event_num": "BHJC20260106013",
    "ai_types": "水体污染",
    "ai_type_key_list": [
      "STWLSB"
    ],
    "work_order_type_dict_key": "SLL",
    "work_order_type": "生态环境与水务",
    "create_user": "张含笑",
    "update_user": "张含笑",
    "dept_name": "中图智飞(江西省)",
    "create_user_id": "1909067460995813377",
    "user_id": "1991745495648227330",
    "handle_user_id": "1909067460995813377",
    "address": "江西省南昌市西湖区朝农街道抚生南路1818号国贸天琴湾",
    "update_photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260106/fc9820c440da478fa5312e8647e1e311.jpeg",
    "content": "3",
    "work_type": "3",
    "job_name": "定向拍照-1-5",
    "is_review": 0,
    "job_create_time": "2026-01-06 10:38:20"
  },
  {
    "id": 8455,
    "wayline_job_id": "038b8f48-1704-4adc-abb7-7deb85eba101",
    "event_name": "122",
    "device_sn": "7CTDM5E00B3H61",
    "status": 3,
    "photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260106/d9a152ab1484348be5e126f854eca86a.jpeg",
    "file_path": "upload/20260106/d9a152ab1484348be5e126f854eca86a.jpeg",
    "longitude": "115.85623975",
    "latitude": "28.624919472222224",
    "create_time": "2026-01-06 10:38:18",
    "media_type": "PHOTO_TYPE",
    "event_num": "BHJC20260106012",
    "ai_types": "水体污染",
    "ai_type_key_list": [
      "STWLSB"
    ],
    "work_order_type_dict_key": "SLL",
    "work_order_type": "生态环境与水务",
    "create_user": "张含笑",
    "update_user": "张含笑",
    "dept_name": "中图智飞(江西省)",
    "create_user_id": "1909067460995813377",
    "user_id": "1991745495648227330",
    "handle_user_id": "1909067460995813377",
    "address": "江西省南昌市西湖区朝农街道抚生南路1818号国贸天琴湾",
    "update_photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260106/d9a152ab1484348be5e126f854eca86a.jpeg",
    "content": "3",
    "work_type": "3",
    "job_name": "定向拍照-1-5",
    "is_review": 0,
    "job_create_time": "2026-01-06 10:38:18"
  }
])
const dataList = ref([])
const currentTab=ref('all')
const loading = ref(false)
const hasMore = ref(true)
@@ -447,7 +49,7 @@
    name: '全部工单',
    key: 'all',
    badge: {
      value: 2
      value: 0
    },
    status: null
  },
@@ -455,7 +57,7 @@
    name: '我的工单',
    key: 'myTickets',
    badge: {
      value: 1
      value: 0
    }
  }
@@ -480,29 +82,26 @@
  const params = {
    current: listParams.value.current,
    size: listParams.value.size,
    source: 1,
    status:listParams.value.status,
    event_name:listParams.value.keyword,
    user_id:currentTab.value=== 'myTickets' ?userInfo.user_id : undefined
    // event_name:listParams.value.keyword,
    onlyMine:currentTab.value=== 'myTickets' ? 1 : 0
  }
  getList(params).then(res => {
  getGdList(params).then(res => {
    const response = res.data.data
    const records = response.records || []
    dataList.value = response
    console.log('获取工单列表:', res.data.data)
    // 根据当前页码决定是替换还是追加数据
    if (listParams.value.current === 1) {
      dataList.value = records
    } else {
      dataList.value = [...dataList.value, ...records]
    }
    // if (listParams.value.current === 1) {
    //   dataList.value = response
    // } else {
    //   dataList.value = [...dataList.value, ...response]
    // }
    // 判断是否还有更多数据
    if (records.length < listParams.value.size || response.current >= response.pages) {
      hasMore.value = false
    } else {
      hasMore.value = true
    }
    // // 判断是否还有更多数据
    // if (response.length < listParams.value.size || response.current >= response.pages) {
    //   hasMore.value = false
    // } else {
    //   hasMore.value = true
    // }
  }).finally(() => {
    loading.value = false
  })
@@ -510,24 +109,25 @@
// const getstatusCountData=()=>{
//     getstatusCount().then(res=>{
//         const response = res.data.data
//          const { statusCount, totalCount, userCount } = response
//         tabList.value.forEach(tab=>{
//
//             if(tab.key === 'all'){
//                 tab.badge.value = totalCount || 0
//
//             }else if(tab.key === 'myTickets'){
//                 tab.badge.value = userCount || 0
//             }else{
//                 tab.badge.value=statusCount[String(tab.status)] || 0
//             }
//         })
//
//     })
// }
const getstatusCountData=()=>{
    getstatusCount().then(res=>{
        const response = res.data.data
    console.log('获取工单统计数据:', response)
         const {  totalCount,myCount } = response
        tabList.value.forEach(tab=>{
            if(tab.key === 'all'){
                tab.badge.value = totalCount || 0
            }else if(tab.key === 'myTickets'){
                tab.badge.value = myCount || 0
            }else{
                tab.badge.value=statusCount[String(tab.status)] || 0
            }
        })
    })
}
const handleClick = (item) => {
  currentTab.value = item.key
@@ -545,15 +145,16 @@
const detailHandle = (val) => {
  uni.navigateTo({
    url: `/subPackages/workDetail/index?eventNum=${val.event_num}`,
    url: `/subPackages/workDetail/index?id=${val.id}`,
  })
}
const topMargin = getStatusBarHeight()
onShow(() => {
  // listParams.value.current = 1
  // hasMore.value = true
  // dataList.value = []
  // getDataList()
  listParams.value.current = 1
  hasMore.value = true
  dataList.value = []
  getDataList()
  getstatusCountData()
})
</script>
uniapps/work-app/src/plugins/index.js
@@ -1,6 +1,7 @@
import setupI18n from "@/locales"
import setupStore from "@/store"
import setupRequest from "@/utils/request"
import setupRequestGd from "@/utils/requestGd"
import setupPermission from "./permission"
import setupUI from "./ui"
@@ -16,5 +17,7 @@
    setupPermission()
    // 网络请求
    setupRequest()
    // 工单网络请求
    setupRequestGd()
  }
}
uniapps/work-app/src/subPackages/workDetail/index.vue
@@ -61,36 +61,36 @@
        <div class="workOrderContainer">
          <div class="orderRow">
            <div class="rowTitle">工单编号</div>
            <div>{{ workDetailData.event_num }}</div>
            <div>{{ workDetailData.eventCode }}</div>
          </div>
          <div class="orderRow">
            <div class="rowTitle">工单处置人</div>
            <div>{{ workDetailData.event_num?.slice(0, 2) === 'AI' ? 'AI 小飞' : workDetailData.creator }}</div>
            <div>{{ workDetailData.disposeUserName }}</div>
          </div>
          <div class="orderRow">
            <div class="rowTitle">处置部门</div>
            <div>{{ workDetailData.dept_name }}</div>
            <div>{{ workDetailData.disposeDept }}</div>
          </div>
          <div class="orderRow">
            <div class="rowTitle">拍摄时间</div>
            <div>{{ workDetailData.create_time }}</div>
            <div>{{ workDetailData.shootTime }}</div>
          </div>
          <div class="orderRow">
            <div class="rowTitle">分发人员</div>
            <div>{{ workDetailData.remark }}</div>
            <div>{{ workDetailData.distributeUserName }}</div>
          </div>
          <div class="orderRow">
            <div class="rowTitle">分发部门</div>
            <div>{{ workDetailData.remark }}</div>
            <div>{{ workDetailData.distributeDeptName }}</div>
          </div>
          <div class="orderRow">
            <div class="rowTitle">分发时间</div>
            <div>{{ workDetailData.create_time }}</div>
            <div>{{ workDetailData.distributeTime }}</div>
          </div>
          <div class="orderRow">
            <div class="rowTitle">工单位置</div>
            <div class="rowAddress" @click="jumpMap(workDetailData)">{{ workDetailData.address }}</div>
            <div class="rowAddress" @click="jumpMap(workDetailData)">{{ workDetailData.eventLocation }}</div>
          </div>
        </div>
      </div>
@@ -108,63 +108,28 @@
<script setup>
// import { getShowImg, getSmallImg } from '@/utils/util'
import { ref, computed } from 'vue'
import { getList, flowEvent } from '/src/api/work/index.js'
import {getGddetailedData} from '/src/api/work/index1.js'
import dayjs from 'dayjs'
const formatDate = dateString => {
  return dayjs(dateString).format('MM/DD HH:mm')
}
const eventNum = ref('')
// 工单内容
const workDetailData = ref({
  "id": 8474,
  "wayline_job_id": "51835088-cd94-42f8-b2ec-a9069ced4e7b",
  "event_name": "测试",
  "device_sn": "7CTDM5E00B3H61",
  "status": 3,
  "photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260113/f090f03fdc52499473ab9cbfcdc0876d.jpeg",
  "file_path": "upload/20260113/f090f03fdc52499473ab9cbfcdc0876d.jpeg",
  "longitude": "115.85649472222222",
  "latitude": "28.624301527777778",
  "create_time": "2026-01-13 16:51:57",
  "media_type": "PHOTO_TYPE",
  "event_num": "BHJC20260113002",
  "ai_types": "道路裂缝",
  "ai_type_key_list": [
    "DLLFSB"
  ],
  "work_order_type_dict_key": "ZHZLL",
  "work_order_type": "交通运输与交管​",
  "create_user": "曾超杰",
  "update_user": "管理员",
  "dept_name": "中图智飞(江西省)",
  "create_user_id": "2009140684346388482",
  "user_id": "1991745495648227330",
  "handle_user_id": "1123598821738675201",
  "address": "江西省南昌市西湖区朝农街道抚生南路1806号南昌台湾健康产业城",
  "update_photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260113/f090f03fdc52499473ab9cbfcdc0876d.jpeg",
  "content": "测试",
  "work_type": "3",
  "job_name": "定向拍照2",
  "is_review": 0,
  "job_create_time": "2026-01-13 16:51:57"
},)
const workDetailData = ref({})
onLoad(async options => {
  eventNum.value = options.eventNum
  // await getDataList(eventNum.value)
  eventNum.value = options.id
  await getDataList(options.id)
})
const getDataList = async val => {
  const params = {
    current: 1,
    size: 9999,
    source: 1,
    event_name: val,
    id: val,
  }
  const res = await getList(params)
  const response = res.data.data.records
  workDetailData.value = response[0]
  const res = await getGddetailedData(params)
  const response = res.data.data
  workDetailData.value = response
  console.log('详情', workDetailData.value)
  console.log('详情', response)
}
// 图片预览
@@ -179,8 +144,8 @@
const getImageList = computed(() => {
  const imageArr = []
  const detail = workDetailData.value
  if (detail.photo_url) {
    const smallUrl = detail.photo_url
  if (detail.eventImageUrl) {
    const smallUrl = detail.eventImageUrl
    imageArr.push(smallUrl)
  }
  if (detail.update_photo_url) {
uniapps/work-app/src/utils/requestGd/index.js
@@ -5,11 +5,11 @@
import website from '@/config/website'
import { Base64} from 'js-base64'
const http = new Request()
const httpGd = new Request()
export function request (config) {
  return new Promise((resolve, reject) => {
    http
    httpGd
      .request(config)
      .then(res => {
        resolve(res)
@@ -22,12 +22,13 @@
// 请求拦截器
function requestInterceptors(http) {
function requestInterceptors(httpGd) {
  http.interceptors.request.use((config) => {
  httpGd.interceptors.request.use((config) => {
    const {detail} = useUserStore().$state?.userInfo || {}
    // 假设有token值需要在头部需要携带
    let accessToken = useUserStore()?.$state?.userInfo?.gd_access_token;
    // let accessToken = useUserStore()?.$state?.userInfo?.gd_access_token;
    let accessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRfaWQiOiIwMDAwMDAiLCJ1c2VyX25hbWUiOiJ5ankiLCJyZWFsX25hbWUiOiJ5ankiLCJhdmF0YXIiOiIiLCJhdXRob3JpdGllcyI6WyJrZmpzIl0sImNsaWVudF9pZCI6InNhYmVyIiwicm9sZV9uYW1lIjoia2ZqcyIsImxpY2Vuc2UiOiJwb3dlcmVkIGJ5IGJsYWRleCIsInBvc3RfaWQiOiIiLCJ1c2VyX2lkIjoiMjAwODc5MzU1MDA1OTkyNTUwNSIsInJvbGVfaWQiOiIyMDA4NzMzNDY5MTg3MzY2OTE0Iiwic2NvcGUiOlsiYWxsIl0sIm5pY2tfbmFtZSI6InlqeSIsIm9hdXRoX2lkIjoiIiwiZGV0YWlsIjp7ImFyZWFDb2RlIjpudWxsLCJhcmVhTmFtZSI6Iuaxn-ilv-ecgSIsImFjdGl2ZUxvYW5zQXJlYUNvZGUiOltdfSwiZXhwIjoxNzY5MDc1MzY1LCJkZXB0X2lkIjoiMTEyMzU5ODgxMzczODY3NTIwMSIsImp0aSI6ImUwMGFhNzIzLTU5YjgtNDNmNy1hZmU2LTNiMjZlNTM5NTUxMiIsImFjY291bnQiOiJ5ankifQ.CJTDqgL2wu2KgrUNncBz34VYPoxUfKXxgScBUUE-BhM'
    if (accessToken) {
      config.header['Blade-Auth'] = 'bearer ' + accessToken;
    }
@@ -37,15 +38,16 @@
    // 安全请求header
    config.header['Blade-Requested-With'] = 'BladeHttpRequest';
    // 客户端认证参数
    config.header['Authorization'] = 'Basic ' + Base64.encode(website.clientId + ':' + website.clientSecret);
    // config.header['Authorization'] = 'Basic ' + Base64.encode(website.clientId + ':' + website.clientSecret);
    config.header['Authorization'] = 'Basic ' + 'c2FiZXI6c2FiZXJfc2VjcmV0';
    return config
  }, config => { // 可使用async await 做异步操作
    return Promise.reject(config)
  })
}
function responseInterceptors(http) {
    http.interceptors.response.use((response) => {
function responseInterceptors(httpGd) {
    httpGd.interceptors.response.use((response) => {
        let res = response
        const status = res.data.error_code || res.data.code || res.statusCode
        const message = res?.data?.msg || res?.data?.error_description || res?.data?.message || '系统错误'
@@ -72,7 +74,8 @@
// 引入拦截器配置
export function setupRequest () {
  http.setConfig(defaultConfig => {
  httpGd.setConfig(defaultConfig => {
    /* defaultConfig 为默认全局配置 */
    defaultConfig.baseURL = getEnvObj().VITE_API_BASE_URL_GD
    // #ifdef H5
@@ -82,8 +85,8 @@
    // #endif
    return defaultConfig
  })
  requestInterceptors(http)
  responseInterceptors(http)
  requestInterceptors(httpGd)
  responseInterceptors(httpGd)
}