无人机管理后台前端(已迁走)
rain
2025-04-21 6dd59c94ce1f5947e5bc95e603a60d6998b88ee9
Merge branch 'master' of http://139.196.74.78:10010/r/drone/drone-web-manage
6 files modified
2 files added
1 files deleted
65 ■■■■■ changed files
index.html 2 ●●● patch | view | raw | blame | history
public/img/bg/index_logo.png patch | view | raw | blame | history
public/img/bg/logo.png patch | view | raw | blame | history
public/img/bg/mainLogo.png patch | view | raw | blame | history
src/api/device-setting/index.js 1 ●●●● patch | view | raw | blame | history
src/page/index/logo.vue 2 ●●● patch | view | raw | blame | history
src/views/base/region.vue 2 ●●● patch | view | raw | blame | history
src/views/device/components/DockControlPanel.vue 52 ●●●●● patch | view | raw | blame | history
src/views/tickets/orderLog.vue 6 ●●●● patch | view | raw | blame | history
index.html
@@ -11,7 +11,7 @@
  <meta name="apple-mobile-web-app-capable" content="yes" />
  <meta name="apple-mobile-web-app-status-bar-style" content="black" />
  <meta name="format-detection" content="telephone=no" />
  <link rel="icon" href="/favicon.png" />
  <link rel="icon" href="/img/bg/index_logo.png" />
  <link rel="stylesheet" href="/iconfont/index.css" />
  <link rel="stylesheet" href="/iconfont/avue/iconfont.css" />
  <link rel="stylesheet" href="/iconfont/saber/iconfont.css" />
public/img/bg/index_logo.png
public/img/bg/logo.png
Binary files differ
public/img/bg/mainLogo.png
src/api/device-setting/index.js
@@ -30,6 +30,7 @@
export const setThermalCurrentPaletteStyle = (deviceSn, workspaceId, body) => {
  return request({
    // /manage/api/v1/devices/selectDevicePage
    // url: `/localApi/manage/api/v1/devices/${workspaceId}/devices/${deviceSn}/setThermalCurrentPaletteStyle`,
    url: `/drone-device-core/manage/api/v1/devices/${workspaceId}/devices/${deviceSn}/setThermalCurrentPaletteStyle`,
    method: 'put',
    body,
src/page/index/logo.vue
@@ -8,7 +8,7 @@
    <transition-group name="fade">
      <template v-if="getScreen(!isCollapse)">
        <div style="display: flex; align-items: left; gap: 5px; margin: 8px 8px 10px 20px;">
    <img class="img" src="/img/logo.png" alt="" width="50%" height="50%" />
    <img class="img" src="/img/bg/mainLogo.png" alt="" width="50%" height="50%" />
    <!-- <span style="font-size: 20px;"  key="1">
        {{ this.parentDeptInfo.sysName }}
    </span> -->
src/views/base/region.vue
@@ -95,7 +95,7 @@
        nodeKey: 'id',
        lazy: true,
        treeLoad: function (node, resolve) {
          const parentCode = node.level === 0 ? '00' : node.data.id;
          const parentCode = node.level === 0 ? '000000000000' : node.data.id;
          getLazyTree(parentCode).then(res => {
            resolve(
              res.data.data.map(item => {
src/views/device/components/DockControlPanel.vue
@@ -26,14 +26,13 @@
          </div>
        </div>
      </div>
      <el-divider>无人机设置</el-divider>
      <el-divider v-if="deviceInfo">无人机设置</el-divider>
      <!-- 设置 0:白热,1:黑热,2:描红,3:医疗,5:彩虹 1,6:铁红,8:北极,11:熔岩,12:热铁,13:彩虹 2 -->
      <div class="control-cmd-box">
        <div class="control-cmd-item">
          <div class="control-cmd-item-left">调色盘样式</div>
        <div class="control-cmd-item" v-for="(item, index) in cameras">
          <div class="control-cmd-item-left">调色盘样式 {{ item.payload_index }}</div>
          <div class="control-cmd-item-right">
            <el-select @change="changs" v-model="valueStyle" placeholder="请选择">
            <el-select @change="changs($event, item)" v-model="valueStyle" placeholder="请选择">
              <el-option v-for="item in paletteOptions" :key="item.value" :label="item.label" :value="item.value">
              </el-option>
            </el-select>
@@ -62,6 +61,10 @@
// 定义一个数据videoList
const videoList = reactive([])
// 摄像头信息
let cameras = reactive([])
// 无人机信息
let deviceInfo = ref()
// 调色盘选项数据
const paletteOptions = [
@@ -100,19 +103,19 @@
watch(
  () => Store.state.device.videoSurveillance,
  newObj => {
    // console.log('视频类型监听中', newObj)
    // if (newObj && newObj.live_status && newObj.live_status.length) {
    //   let arr = newObj.live_status || []
    //   if (videoList.length == arr.length) {
    //     return
    //   }
    //   arr.forEach(element => {
    //      let video_id = element.video_id
    //     element.payIndex = video_id.split('/')[1].split('-')[1]
    //   })
    //   // videoList.length = 0 // 清空数组
    //   videoList.push(...arr) // 添加新元素
    // }
    console.log('视频类型监听中', newObj)
    if (newObj && newObj.live_status && newObj.live_status.length) {
      let arr = newObj.live_status || []
      if (videoList.length == arr.length) {
        return
      }
      arr.forEach(element => {
        let video_id = element.video_id
        element.payIndex = video_id.split('/')[1].split('-')[1]
      })
      // videoList.length = 0 // 清空数组
      videoList.push(...arr) // 添加新元素
    }
  },
  {
    immediate: true,
@@ -131,6 +134,9 @@
      devices['device'] = value.deviceInfo[props.deviceInfo.child_sn]
      devices['dock'] = value.dockInfo[props.deviceInfo.device_sn]
      devices['gateway'] = value.gatewayInfo
      let cameraList = value.deviceInfo[props.deviceInfo.child_sn]?.cameras || []
      cameras = reactive([...cameraList])
      deviceInfo = ref(value.deviceInfo[props.deviceInfo.child_sn])
      updateDeviceCmdInfoByOsd(cmdList.value, devices)
    }
  },
@@ -264,13 +270,13 @@
useConnectWebSocket(messageHandler, webSorketUrl)
// 添加 changs 方法
async function changs (value) {
async function changs (value, item) {
  const payload = {
    thermal_current_palette_style: value
    [item.payload_index]: {
      thermal_current_palette_style: value
    }
  }
  console.log('payload1111111', payload)
  console.log('deviceInfo22222222', props.sn)
  console.log('deviceInfo22222222', props.deviceInfo.workspace_id)
  console.log('payload', payload)
  let data = await setThermalCurrentPaletteStyle(props.sn, props.deviceInfo.workspace_id, payload)
  if (data.code === 0) {
    message.success('修改成功')
src/views/tickets/orderLog.vue
@@ -197,7 +197,7 @@
        </el-dialog>
        <!-- 工单详情对话框 -->
        <el-dialog v-model="detailVisible" title="工单详情" width="70%" :close-on-click-modal="false" @close="resetForm" >
        <el-dialog v-model="detailVisible" title="编辑工单" width="70%" :close-on-click-modal="false" @close="resetForm" >
            <el-form :model="form" ref="testform" label-width="100px">
                <div class="custom-steps-container">
                    <!-- 标题行 -->
@@ -287,8 +287,8 @@
                        <el-button type="danger"
                            v-if="form.status == 0 || (form.status == 2 && userInfo.user_id == form.create_user)"
                            @click="submitForm(1)">发布</el-button>
                        <el-button type="primary" v-if="form.status == 0 || userInfo.user_id == form.create_user"
                            @click="submitForm(0)">保存</el-button>
                        <!-- <el-button type="primary" v-if="form.status == 0 || userInfo.user_id == form.create_user"
                            @click="submitForm(0)">保存</el-button> -->
                        <el-button type="primary" v-if="form.status == 1 && userInfo.user_id != form.create_user"
                            @click="orderLogPass(form.id)">通过</el-button>