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