From 7f0df5047691bd3ee0d5b494cababa5c2514b7fe Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Fri, 23 Jan 2026 14:57:37 +0800
Subject: [PATCH] Merge branch 'master' of http://139.196.74.78:10010/r/jagzwxm/ja_web

---
 applications/task-work-order/src/store/modules/tags.js                                  |    1 
 applications/task-work-order/src/views/orderView/orderManage/orderManage/index.vue      |    2 
 applications/task-work-order/src/permission.js                                          |   16 ++--
 applications/task-work-order/src/views/orderView/orderManage/orderManage/FormDiaLog.vue |   23 ++-----
 uniapps/work-app/src/config/website.js                                                  |    4 
 applications/task-work-order/src/store/modules/user.js                                  |    5 +
 applications/task-work-order/src/styles/tags.scss                                       |    4 
 applications/task-work-order/src/api/zkxt/index.js                                      |   11 +++
 applications/task-work-order/src/router/views/index.js                                  |    2 
 applications/task-work-order/src/App.vue                                                |   20 +++---
 applications/task-work-order/src/axiosXT.js                                             |   30 ++--------
 uniapps/work-app/src/utils/requestGd/index.js                                           |    6 -
 applications/task-work-order/src/config/website.js                                      |    3 
 uniapps/work-app/src/pages/login/index.vue                                              |   31 ++--------
 uniapps/work-app/src/pages/voiceCall/index.vue                                          |    6 +-
 uniapps/work-app/src/subPackages/workDetail/index.vue                                   |   12 ++-
 16 files changed, 75 insertions(+), 101 deletions(-)

diff --git a/applications/task-work-order/src/App.vue b/applications/task-work-order/src/App.vue
index 50a0be4..45a5f68 100644
--- a/applications/task-work-order/src/App.vue
+++ b/applications/task-work-order/src/App.vue
@@ -1,27 +1,27 @@
 <template>
-  <router-view />
+	<router-view />
 </template>
 
 <script setup>
 import { loginWithMiniProgramApi } from '@/api/zkxt'
+import { useStore } from 'vuex'
 
+const store = useStore()
 
-function getToken() {
-	loginWithMiniProgramApi({username: 'admin'}).then(res => {
-		console.log(res)
+function getXTToken() {
+	loginWithMiniProgramApi({ username: 'admin' }).then(res => {
+		store.commit('setXtToken', res.data.data.access_token)
 	})
 }
-getToken()
-setInterval(() => {
-	getToken()
-}, 600000)
+getXTToken()
+setInterval(getXTToken, 600000)
 </script>
 
 <style>
 html,
 body,
 #app {
-  width: 100%;
-  height: 100%;
+	width: 100%;
+	height: 100%;
 }
 </style>
diff --git a/applications/task-work-order/src/api/zkxt/index.js b/applications/task-work-order/src/api/zkxt/index.js
index b8b1570..98c05e5 100644
--- a/applications/task-work-order/src/api/zkxt/index.js
+++ b/applications/task-work-order/src/api/zkxt/index.js
@@ -1,9 +1,20 @@
 import request from '@/axiosXT'
 
+// 免密登陆
 export const loginWithMiniProgramApi = (data) => {
 	return request({
 		url: `/auth/loginWithMiniProgram`,
 		method: 'post',
 		data,
+		authorization: false,
+	})
+}
+
+// 字典
+export const dictListApi = (data) => {
+	return request({
+		url: `/system/dict/type/list`,
+		method: 'post',
+		data:{"size":100,"current":1},
 	})
 }
diff --git a/applications/task-work-order/src/axiosXT.js b/applications/task-work-order/src/axiosXT.js
index edc95df..6929039 100644
--- a/applications/task-work-order/src/axiosXT.js
+++ b/applications/task-work-order/src/axiosXT.js
@@ -1,36 +1,24 @@
 import axios from 'axios'
 import store from '@/store/'
 import { serialize } from '@/utils/util'
-import { getToken, removeToken, removeRefreshToken } from '@/utils/auth'
-import { isURL, validatenull } from '@/utils/validate'
 import { ElMessage } from 'element-plus'
-import website from '@/config/website'
-import { Base64 } from 'js-base64'
-import { baseUrl } from '@/config/env'
-import crypto from '@/utils/crypto'
 // 全局未授权错误提示状态,只提示一次
 const { VITE_APP_API_XT } = import.meta.env
 
-// 创建作用域的 axios 实例
 const serviceXT = axios.create({
-	// 超时时间设置为10分钟,部分接口上传比较慢,如固件上传
 	timeout: 600000,
 	baseURL: VITE_APP_API_XT,
-	//返回其他状态码
-	validateStatus: function (status) {
-		return status >= 200 && status <= 500 // 默认的
-	},
 	//跨域请求,允许保存cookie
-	withCredentials: true,
+	withCredentials: false,
 })
 
 //http request拦截
 serviceXT.interceptors.request.use(
 	config => {
-		//headers判断是否需要
 		const authorization = config.authorization === false
-		if (!authorization) {
-			config.headers['Authorization'] = `Basic ${Base64.encode(`${website.clientId}:${website.clientSecret}`)}`
+		const xtToken = store.state.user.xtToken
+		if (xtToken && !authorization) {
+			config.headers['Authorization'] = xtToken
 		}
 		const meta = config.meta || {}
 
@@ -51,17 +39,11 @@
 //http response拦截
 serviceXT.interceptors.response.use(
 	res => {
-		const status = res.data.error_code || res.data.code || res.status
-		const statusWhiteList = website.statusWhiteList || []
+		const status = res?.data?.code || res?.data?.error_code || res?.status
 		const message = res?.data?.msg || res?.data?.message || '系统错误'
-		//如果在白名单里则自行catch逻辑处理
-		if (statusWhiteList.includes(status)) return Promise.reject(res)
 		// 如果请求为非200默认统一处理
 		if (status !== 200 && status !== 0) {
-			ElMessage({
-				message: message,
-				type: 'error',
-			})
+			ElMessage({ message: message, type: 'error', })
 			return Promise.reject(new Error(message))
 		}
 		return res
diff --git a/applications/task-work-order/src/config/website.js b/applications/task-work-order/src/config/website.js
index 4a718b0..0230b1d 100644
--- a/applications/task-work-order/src/config/website.js
+++ b/applications/task-work-order/src/config/website.js
@@ -42,8 +42,7 @@
 		menu: true,
 	},
 	fistPage: {
-		name: '测试页',
-		path: '/test',
+		path: '/',
 	},
 	//配置菜单的属性
 	menu: {
diff --git a/applications/task-work-order/src/permission.js b/applications/task-work-order/src/permission.js
index 6df8ee9..ecc2b51 100644
--- a/applications/task-work-order/src/permission.js
+++ b/applications/task-work-order/src/permission.js
@@ -59,14 +59,14 @@
 
           let toMenu = findRouteByPath(newMenu, to.path)
 
-          store.commit('ADD_TAG', {
-            name: firstMenu.name,
-            path: firstMenu.path,
-            fullPath: firstMenu.path,
-            params: firstMenu.params || {},
-            query: firstMenu.query || {},
-            meta: firstMenu.meta || {},
-          })
+          // store.commit('ADD_TAG', {
+          //   name: firstMenu.name,
+          //   path: firstMenu.path,
+          //   fullPath: firstMenu.path,
+          //   params: firstMenu.params || {},
+          //   query: firstMenu.query || {},
+          //   meta: firstMenu.meta || {},
+          // })
           store.commit('ADD_TAG', {
             name: toMenu.name,
             path: toMenu.path,
diff --git a/applications/task-work-order/src/router/views/index.js b/applications/task-work-order/src/router/views/index.js
index e28fcdf..de30ead 100644
--- a/applications/task-work-order/src/router/views/index.js
+++ b/applications/task-work-order/src/router/views/index.js
@@ -4,7 +4,7 @@
 export default [
 	{
 		path: '/',
-		redirect: '/test/index',
+		redirect: '/orderView/orderManage/orderManage/index',
 	},
   {
     path: '/wel',
diff --git a/applications/task-work-order/src/store/modules/tags.js b/applications/task-work-order/src/store/modules/tags.js
index e606691..a0473b5 100644
--- a/applications/task-work-order/src/store/modules/tags.js
+++ b/applications/task-work-order/src/store/modules/tags.js
@@ -15,6 +15,7 @@
       setStore({ name: 'tag', content: state.tag })
       if (state.bsTagList.some(ele => ele.fullPath == action.fullPath)) return
       state.bsTagList.push(action)
+			console.log(state.bsTagList,'99')
       setStore({ name: 'bsTagList', content: state.bsTagList })
     },
     DEL_TAG: (state, action) => {
diff --git a/applications/task-work-order/src/store/modules/user.js b/applications/task-work-order/src/store/modules/user.js
index 969c21a..d24ebf6 100644
--- a/applications/task-work-order/src/store/modules/user.js
+++ b/applications/task-work-order/src/store/modules/user.js
@@ -33,6 +33,7 @@
 		token: getStore({ name: 'token' }) || '',
 		refreshToken: getStore({ name: 'refreshToken' }) || '',
 		parentDeptInfo: getStore({ name: 'parentDeptInfo' }) || '',
+		xtToken: getStore({ name: 'xtToken' }) || '',
 	},
 	actions: {
 		//根据用户名登录
@@ -297,6 +298,10 @@
 		},
 	},
 	mutations: {
+		setXtToken:(state,token) =>{
+			state.xtToken = token
+			setStore({ name: 'xtToken', content: token })
+		},
 		SET_PARENT_DEPT_INFO(state, deptId) {
 			getParentDeptInfo({ deptId: deptId }).then(res => {
 				const data = res.data.data
diff --git a/applications/task-work-order/src/styles/tags.scss b/applications/task-work-order/src/styles/tags.scss
index e6fc23c..2a0ad17 100644
--- a/applications/task-work-order/src/styles/tags.scss
+++ b/applications/task-work-order/src/styles/tags.scss
@@ -44,7 +44,7 @@
       background: #5B6BFF;
 
       .is-icon-close {
-        margin: 0 10px;
+        //margin: 0 10px;
       }
     }
 
@@ -114,4 +114,4 @@
     padding: 1px 0 0 15px;
     box-sizing: border-box;
   }
-}
\ No newline at end of file
+}
diff --git a/applications/task-work-order/src/views/orderView/orderManage/orderManage/FormDiaLog.vue b/applications/task-work-order/src/views/orderView/orderManage/orderManage/FormDiaLog.vue
index ea78133..31d3a20 100644
--- a/applications/task-work-order/src/views/orderView/orderManage/orderManage/FormDiaLog.vue
+++ b/applications/task-work-order/src/views/orderView/orderManage/orderManage/FormDiaLog.vue
@@ -76,13 +76,8 @@
 								</template>
 							</el-table-column>
 							<el-table-column prop="executeTime" show-overflow-tooltip label="任务执行时间" />
-							<el-table-column prop="feishou" show-overflow-tooltip label="选择飞手" />
-							<el-table-column prop="deviceId" show-overflow-tooltip label="选择设备" />
-							<el-table-column label="操作" class-name="operation-btns">
-								<template v-slot="{ row }">
-									<el-link type="primary" @click="">查看</el-link>
-								</template>
-							</el-table-column>
+							<el-table-column prop="recommendFlyerName" show-overflow-tooltip label="选择飞手" />
+							<el-table-column prop="deviceName" show-overflow-tooltip label="选择设备" />
 						</el-table>
 					</template>
 				</div>
@@ -187,7 +182,7 @@
 						<el-table-column prop="devicePayload" label="设备负载" />
 					</el-table>
 				</template>
-				<div v-else>请先选择设备需求并绘制范围</div>
+				<div v-else>请先选择设备需求并在地图上绘制工单范围</div>
 			</div>
 		</div>
 
@@ -215,10 +210,10 @@
 				</el-button>
 				<el-button v-if="gdStatus === '10'" @click="addDescription">拒绝接单</el-button>
 				<el-button v-if="gdStatus === '10'" @click="statusChange(1)">接单</el-button>
-				<el-button v-if="gdStatus === '22'" @click="statusChange(7)">同意修改</el-button>
 				<el-button v-if="gdStatus === '22'" @click="statusChange(8)">不同意修改</el-button>
-				<el-button v-if="gdStatus === '21'" @click="statusChange(5)">同意取消</el-button>
+				<el-button v-if="gdStatus === '22'" @click="statusChange(7)">同意修改</el-button>
 				<el-button v-if="gdStatus === '21'" @click="addDescription">不同意取消</el-button>
+				<el-button v-if="gdStatus === '21'" @click="statusChange(5)">同意取消</el-button>
 				<el-button v-if="gdStatus === '30'" @click="addDescription">协商修改</el-button>
 				<el-button v-if="gdStatus === '31'" @click="statusChange(10)">同意</el-button>
 			</template>
@@ -561,7 +556,6 @@
 		hasPatrolTaskList.value && gdPatrolTaskPage()
 		dialogMode.value === 'edit' ? editPolygon() : viewPolygon()
 	}
-	await getDeviceList()
 	// setMapDevice()
 	await nextTick()
 	syncSelection()
@@ -609,18 +603,17 @@
 
 	.processBox {
 		width: 312px;
-		.el-timeline{
+		.el-timeline {
 			padding-left: 100px;
 		}
-		.item-content{
+		.item-content {
 			position: relative;
-			.flowName{
+			.flowName {
 				position: absolute;
 				left: -100px;
 				top: 0;
 			}
 		}
-
 	}
 }
 
diff --git a/applications/task-work-order/src/views/orderView/orderManage/orderManage/index.vue b/applications/task-work-order/src/views/orderView/orderManage/orderManage/index.vue
index 524292f..df3b2c3 100644
--- a/applications/task-work-order/src/views/orderView/orderManage/orderManage/index.vue
+++ b/applications/task-work-order/src/views/orderView/orderManage/orderManage/index.vue
@@ -45,7 +45,7 @@
 					<el-option
 						v-for="item in dictObj.workOrderStatus"
 						:key="item.dictKey"
-						:label="item.dictValue"
+						:label="item.dictValue.split('_')[1]"
 						:value="item.dictKey"
 					/>
 				</el-select>
diff --git a/uniapps/work-app/src/config/website.js b/uniapps/work-app/src/config/website.js
index 53305b7..506aee1 100644
--- a/uniapps/work-app/src/config/website.js
+++ b/uniapps/work-app/src/config/website.js
@@ -6,8 +6,8 @@
 	logo: 'S',
 	key: 'saber', //配置主键,目前用于存储
 	indexTitle: 'BladeX 微服务平台',
-	clientId: 'drone', // 客户端id
-	clientSecret: 'drone_secret', // 客户端密钥
+	clientId: 'saber', // 客户端id
+	clientSecret: 'saber_secret', // 客户端密钥
 	tenantMode: false, // 是否开启租户模式
 	tenantId: '000000', // 管理组租户编号
 	captchaMode: false, // 是否开启验证码模式
diff --git a/uniapps/work-app/src/pages/login/index.vue b/uniapps/work-app/src/pages/login/index.vue
index 552eac3..94a7f89 100644
--- a/uniapps/work-app/src/pages/login/index.vue
+++ b/uniapps/work-app/src/pages/login/index.vue
@@ -31,12 +31,6 @@
     </div>
 
     <button class="login-btn" :style="[inputStyle]" @tap="submit">登录</button>
-  <!--  <view class="agreement">
-      <label>
-        <checkbox :checked="agreed" @click="agreed = !agreed" />
-        同意《用户协议》与《隐私政策》
-      </label>
-    </view> -->
   </view>
 </template>
 
@@ -88,12 +82,11 @@
   });
 }
 const loginFormGd = ref({
-  username: "zhx",
-  password: "123456",
+  username: "admin",
+  password: "admin",
 });
 async function submit() {
-  // 调用工单登录接口
-  await gdLogin();
+
   if (!loginForm.value.username.trim()) {
     uni.showToast({
       title: "请输入用户名",
@@ -159,7 +152,8 @@
       console.error('处理位置服务失败:', error);
     }
 
-
+ // 调用工单登录接口
+    await gdLogin()
 
     uni.reLaunch({
       url: "/pages/work/index",
@@ -223,7 +217,6 @@
 // 从本地存储加载记住的密码
 onMounted(() => {
   const savedUserInfo = uni.getStorageSync("rememberedUser");
-  console.log("记住密码", savedUserInfo);
   if (savedUserInfo) {
     loginForm.value.username = savedUserInfo.username;
     loginForm.value.password = savedUserInfo.password;
@@ -366,10 +359,10 @@
     background: #1d6fe9;
     color: white;
     width: 670rpx;
-    height: 100rpx;
+    height: 76rpx;
     border-radius: 8rpx 8rpx 8rpx 8rpx;
     margin-top: 184rpx;
-    font-size: 36rpx;
+    font-size: 28rpx;
     font-weight: 400;
     font-family: Source Han Sans CN, Source Han Sans CN;
     &::after {
@@ -414,16 +407,6 @@
   .link {
     color: $u-warning;
   }
-}
-.agreement {
-  position: absolute;
-  bottom: 40rpx;
-  left: 0;
-  right: 0;
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  text-align: center;
 }
 .forgotPassword {
   font-family: PingFang SC, PingFang SC;
diff --git a/uniapps/work-app/src/pages/voiceCall/index.vue b/uniapps/work-app/src/pages/voiceCall/index.vue
index b018ccc..80a3506 100644
--- a/uniapps/work-app/src/pages/voiceCall/index.vue
+++ b/uniapps/work-app/src/pages/voiceCall/index.vue
@@ -151,7 +151,7 @@
 }
 
 .searchBar {
-  padding: 20rpx;
+  padding: 20rpx 20rpx 0 20rpx;
   display: flex;
   align-items: center;
   height: 108rpx;
@@ -166,7 +166,7 @@
 }
 
 .contactList {
-  margin: 0 24rpx;
+  margin: 0 20rpx 20rpx 20rpx;
   background: #fff;
   border-radius: 12rpx;
   overflow-y: auto;
@@ -178,7 +178,7 @@
 .contactItem {
   display: flex;
   align-items: center;
-  padding: 0 24rpx;
+  padding: 0 20rpx;
 
 }
 
diff --git a/uniapps/work-app/src/subPackages/workDetail/index.vue b/uniapps/work-app/src/subPackages/workDetail/index.vue
index 102ea91..035f5c9 100644
--- a/uniapps/work-app/src/subPackages/workDetail/index.vue
+++ b/uniapps/work-app/src/subPackages/workDetail/index.vue
@@ -4,7 +4,7 @@
 		<!-- 自定义导航栏 -->
 		<u-navbar title="工单详情" :is-back="true" back-text="" :back-icon-size="40" @left-click="onBackClick">
 			<template #right>
-				<div class="share-btn" @click="onShareClick"><img src="@/static/images/work/share.svg" alt=""></div>
+				<div class="share-btn" @click="onShareClick"></div>
 			</template>
 		</u-navbar>
 		<div class="detailTop">
@@ -296,10 +296,12 @@
   padding-top: 88rpx;
   // 分享按钮样式
   .share-btn {
-    img {
-      width: 40rpx;
-      height: 40rpx;
-    }
+    width: 40rpx;
+    height: 40rpx;
+    background-image: url('/static/images/work/share.svg');
+    background-size: contain;
+    background-repeat: no-repeat;
+    background-position: center;
   }
   .detailTop {
     .image-container {
diff --git a/uniapps/work-app/src/utils/requestGd/index.js b/uniapps/work-app/src/utils/requestGd/index.js
index 2f8613e..a9b1c8f 100644
--- a/uniapps/work-app/src/utils/requestGd/index.js
+++ b/uniapps/work-app/src/utils/requestGd/index.js
@@ -27,8 +27,7 @@
   httpGd.interceptors.request.use((config) => {
     const {detail} = useUserStore().$state?.userInfo || {}
     // 假设有token值需要在头部需要携带
-    // let accessToken = useUserStore()?.$state?.userInfo?.gd_access_token;
-    let accessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRfaWQiOiIwMDAwMDAiLCJ1c2VyX25hbWUiOiJhZG1pbiIsInJlYWxfbmFtZSI6IueuoeeQhuWRmCIsImF2YXRhciI6Imh0dHBzOi8vZ3cuYWxpcGF5b2JqZWN0cy5jb20vem9zL3Jtc3BvcnRhbC9CaWF6ZmFueG1hbU5Sb3h4VnhrYS5wbmciLCJhdXRob3JpdGllcyI6WyJhZG1pbmlzdHJhdG9yIl0sImNsaWVudF9pZCI6InNhYmVyIiwicm9sZV9uYW1lIjoiYWRtaW5pc3RyYXRvciIsImxpY2Vuc2UiOiJwb3dlcmVkIGJ5IGJsYWRleCIsInBvc3RfaWQiOiIxMTIzNTk4ODE3NzM4Njc1MjAxIiwidXNlcl9pZCI6IjExMjM1OTg4MjE3Mzg2NzUyMDEiLCJyb2xlX2lkIjoiMTEyMzU5ODgxNjczODY3NTIwMSIsInNjb3BlIjpbImFsbCJdLCJuaWNrX25hbWUiOiLnrqHnkIblkZgiLCJvYXV0aF9pZCI6IiIsImRldGFpbCI6eyJhcmVhQ29kZSI6bnVsbCwiYXJlYU5hbWUiOiLmsZ_opb_nnIEiLCJhY3RpdmVMb2Fuc0FyZWFDb2RlIjpbXX0sImV4cCI6MTc2OTEzNjM3OSwiZGVwdF9pZCI6IjExMjM1OTg4MTM3Mzg2NzUyMDEiLCJqdGkiOiI4MmIxOTdlYi0zY2NhLTQ0YmEtYjQ1OS0zODE5ZWIzZjUxN2IiLCJhY2NvdW50IjoiYWRtaW4ifQ.Mf--eQ96cYH1GhsySwoceM1c3dF-F7qt5RmQZ3MzYWY'
+    let accessToken = useUserStore()?.$state?.userInfo?.gd_access_token;
     if (accessToken) {
       config.header['Blade-Auth'] = 'bearer ' + accessToken;
     }
@@ -38,8 +37,7 @@
     // 安全请求header
     config.header['Blade-Requested-With'] = 'BladeHttpRequest';
     // 客户端认证参数
-    // config.header['Authorization'] = 'Basic ' + Base64.encode(website.clientId + ':' + website.clientSecret);
-    config.header['Authorization'] = 'Basic ' + 'c2FiZXI6c2FiZXJfc2VjcmV0';
+    config.header['Authorization'] = 'Basic ' + Base64.encode(website.clientId + ':' + website.clientSecret);
     return config
   }, config => { // 可使用async await 做异步操作
     return Promise.reject(config)

--
Gitblit v1.9.3