无人机管理后台前端(已迁走)
罗广辉
2025-11-21 6eca24250a74c3631e75b4cea1d3189c083a3bd4
Merge branch 'feature/v8.0/8.0.31' into feature/v8.0/8.0.3
5 files modified
102 ■■■■ changed files
src/views/device/airport.vue 4 ●●● patch | view | raw | blame | history
src/views/job/components/DeviceJobDetails.vue 4 ●●●● patch | view | raw | blame | history
src/views/system/user.vue 12 ●●●● patch | view | raw | blame | history
src/views/tickets/orderLog.vue 78 ●●●● patch | view | raw | blame | history
src/views/tickets/ticket.vue 4 ●●●● patch | view | raw | blame | history
src/views/device/airport.vue
@@ -85,7 +85,7 @@
                </el-button>
              </el-dropdown-item>
              <el-dropdown-item command="e"><el-button type="primary" text icon="el-icon-document-delete"
                  v-if="permission.fly_device_offline" @click.stop="handleDeviceOffline(scope.row)">注销</el-button>
                  v-if="permission.fly_device_offline && scope.row.mode_code !==0" @click.stop="handleDeviceOffline(scope.row)">注销</el-button>
              </el-dropdown-item>
              <el-dropdown-item command="e">
                <el-button type="primary" text icon="el-icon-document-delete" v-if="permission.fly_device_offline"
@@ -729,6 +729,7 @@
            prop: 'login_time',
            type: 'date',
            viewDisplay: true, //查看显示
            editDisabled: true,
            labelWidth: 145,
            overHidden: true,
            format: 'YYYY-MM-DD HH:mm:ss',
@@ -762,6 +763,7 @@
            type: 'date',
            hide: true,
            viewDisplay: true, //查看显示
            editDisabled: true,
            overHidden: true,
            labelWidth: 145,
            width: 160,
src/views/job/components/DeviceJobDetails.vue
@@ -189,6 +189,7 @@
    { name: '任务时间', value: '', field: 'cycle_time_value' },
    { name: '关联算法', value: '', field: 'ai_type_str' },
    { name: '任务描述', value: '', field: 'remark' },
  { name: '自定义识别区', value: '', field: 'enable_custom_area' },
    // { name: '任务执行次数', value: '', field: 'job_num' },
])
// 机巢状态
@@ -272,6 +273,9 @@
                    droneEventList.filter(({ value }) => actionActuatorFunc === value)
                )
            }
      if (item.name === '自定义识别区') {
        item.value = res.data.data.enable_custom_area ? '是': '否'
      }
                getJobsAllFiles({
            wayLineJobId: detailsData.value.way_lines.map(item => item.job_id).join(','),
            resultTypes: [0, 2, 4, 5],
src/views/system/user.vue
@@ -26,9 +26,9 @@
            <el-button type="danger" plain icon="el-icon-delete" v-if="permission.user_delete && !auditMode"
              @click="handleDelete">删 除
            </el-button>
            <el-button type="primary" plain icon="el-icon-operation"
              v-if="userInfo.role_name.includes('admin') && !auditMode" @click="handleAudit">审 核
            </el-button>
<!--            <el-button type="primary" plain icon="el-icon-operation"-->
<!--              v-if="userInfo.role_name.includes('admin') && !auditMode" @click="handleAudit">审 核-->
<!--            </el-button>-->
            <el-button type="success" plain icon="el-icon-check"
              v-if="userInfo.role_name.includes('admin') && auditMode" @click="handleAuditPass">通 过
            </el-button>
@@ -44,9 +44,9 @@
            <el-button type="info" plain v-if="permission.user_reset && !auditMode" icon="el-icon-refresh"
              @click="handleReset">密码重置
            </el-button>
            <el-button type="info" plain v-if="userInfo.role_name.includes('admin') && !auditMode"
              icon="el-icon-setting" @click="handlePlatform">平台配置
            </el-button>
<!--            <el-button type="info" plain v-if="userInfo.role_name.includes('admin') && !auditMode"-->
<!--              icon="el-icon-setting" @click="handlePlatform">平台配置-->
<!--            </el-button>-->
            <el-button type="info" plain v-if="userInfo.role_name.includes('admin') && !auditMode"
              icon="el-icon-coordinate" @click="handleLock">账号解封
            </el-button>
src/views/tickets/orderLog.vue
@@ -207,11 +207,16 @@
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="12">
          <el-col :span="6">
            <el-form-item label="关联算法" prop="ai_types">
              <el-select v-model="form.ai_types" placeholder="请选择关联算法" multiple>
                <el-option v-for="item in ai_types" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey" />
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="6">
            <el-form-item label="自定义识别区" prop="enable_custom_area" class="safe-height">
              <el-checkbox v-model="form.enable_custom_area"></el-checkbox>
            </el-form-item>
          </el-col>
        </el-row>
@@ -224,15 +229,15 @@
            </el-form-item>
          </el-col>
          <el-col :span="8">
          <el-col :span="7">
            <el-form-item label="周期频次" prop="date_range">
              <el-date-picker v-model="form.date_range" type="daterange" range-separator="至" start-placeholder="开始日期"
                              end-placeholder="结束日期" :disabled-date="disabledDate" />
            </el-form-item>
          </el-col>
          <el-col :span="4">
          <el-col :span="5">
            <div class="flex">
              <div class="flex-1">
              <div class="flex-1 flex-3">
                <el-select v-model="form.rep_fre_type" placeholder="请选择频次">
                  <el-option v-for="item in cycles" :key="item" :label="item" :value="item" />
                </el-select>
@@ -264,7 +269,7 @@
      <template #footer>
        <div class="dialog-footer">
          <el-button type="danger" @click="submitForm(1)" icon="el-icon-position">发起</el-button>
          <el-button type="primary" @click="submitForm(0)" icon="el-icon-document-add">存草稿</el-button>
          <!-- <el-button type="primary" @click="submitForm(0)" icon="el-icon-document-add">存草稿</el-button> -->
          <el-button @click="dialogVisible = false" icon="el-icon-circle-close">取消</el-button>
        </div>
      </template>
@@ -333,11 +338,16 @@
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="12">
          <el-col :span="6">
            <el-form-item label="关联算法" prop="ai_types">
              <el-select v-model="form.ai_types" placeholder="请选择关联算法" multiple :disabled="detailTitle === '工单详情'">
                <el-option v-for="item in ai_types" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey" />
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="6">
            <el-form-item label="自定义识别区" prop="enable_custom_area" class="safe-height">
              <el-checkbox v-model="form.enable_custom_area" :disabled="detailTitle === '工单详情'"></el-checkbox>
            </el-form-item>
          </el-col>
        </el-row>
@@ -349,25 +359,35 @@
            </el-form-item>
          </el-col>
          <el-col :span="6">
          <el-col :span="7">
            <el-form-item label="周期频次" prop="date_range">
              <el-date-picker v-model="form.date_range" type="daterange" range-separator="至" start-placeholder="开始日期"
                              end-placeholder="结束日期" :disabled-date="disabledDate" :disabled="detailTitle === '工单详情'" />
            </el-form-item>
          </el-col>
          <el-col :span="3">
          <el-col :span="5">
            <div class="flex">
              <div class="flex-1 flex-3">
            <el-select v-model="form.rep_fre_type" placeholder="请选择频次" :disabled="detailTitle === '工单详情'">
              <el-option v-for="item in cycles" :key="item" :label="item" :value="item" />
            </el-select>
          </el-col>
          <el-col :span="3">
            <el-time-picker class="timeStyle" :style="{ width: pxToRem(140) }" v-model="form.deal_time" prop="deal_time"
              </div>
              <div class="flex-1">
            <el-time-picker v-model="form.deal_time" prop="deal_time"
                            value-format="HH:mm" :picker-options="{
                selectableRange: '00:00 - 23:59',
              }" :disabled="detailTitle === '工单详情'" />
              </div>
            </div>
          </el-col>
<!--          <el-col :span="3">-->
<!--            <el-time-picker class="timeStyle" :style="{ width: pxToRem(140) }" v-model="form.deal_time" prop="deal_time"-->
<!--                            value-format="HH:mm" :picker-options="{-->
<!--                selectableRange: '00:00 - 23:59',-->
<!--              }" :disabled="detailTitle === '工单详情'" />-->
<!--          </el-col>-->
        </el-row>
        <el-row :gutter="20">
@@ -469,11 +489,16 @@
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="12">
          <el-col :span="6">
            <el-form-item label="关联算法" prop="ai_types">
              <el-select v-model="form.ai_types" placeholder="请选择关联算法" multiple :disabled="true">
                <el-option v-for="item in ai_types" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey" />
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="6">
            <el-form-item label="自定义识别区" prop="enable_custom_area" class="safe-height">
              <el-checkbox v-model="form.enable_custom_area" :disabled="true"></el-checkbox>
            </el-form-item>
          </el-col>
        </el-row>
@@ -485,24 +510,34 @@
            </el-form-item>
          </el-col>
          <el-col :span="6">
          <el-col :span="7">
            <el-form-item label="周期频次" prop="date_range">
              <el-date-picker v-model="form.date_range" type="daterange" range-separator="至" start-placeholder="开始日期"
                              end-placeholder="结束日期" :disabled="true" />
            </el-form-item>
          </el-col>
          <el-col :span="3">
          <el-col :span="5">
            <div class="flex">
              <div class="flex-1 flex-3">
            <el-select v-model="form.rep_fre_type" placeholder="请选择频次" :disabled="true">
              <el-option v-for="item in cycles" :key="item" :label="item" :value="item" />
            </el-select>
          </el-col>
          <el-col :span="3">
              </div>
              <div class="flex-1">
            <el-time-picker style="width: 100px" v-model="form.deal_time" prop="deal_time" :disabled="true"
                            value-format="HH:mm" :picker-options="{
                selectableRange: '00:00 - 23:59',
              }" />
              </div>
            </div>
          </el-col>
<!--          <el-col :span="3">-->
<!--            <el-time-picker style="width: 100px" v-model="form.deal_time" prop="deal_time" :disabled="true"-->
<!--                            value-format="HH:mm" :picker-options="{-->
<!--                selectableRange: '00:00 - 23:59',-->
<!--              }" />-->
<!--          </el-col>-->
        </el-row>
        <el-row :gutter="20">
@@ -593,7 +628,7 @@
        { label: '待审核', name: 'WAIT_AUDIT', value: 1, count: 0 },
        { label: '已驳回', name: 'REJECTED', value: 2, count: 0 },
        { label: '已通过', name: 'PASS', value: 3, count: 0 },
        { label: '草稿', name: 'DRAFT', value: 0, count: 0 }
        // { label: '草稿', name: 'DRAFT', value: 0, count: 0 }
      ],
      filters: {
        key_word: '',
@@ -614,7 +649,7 @@
      detailVisibleCopy: false,
      statuses: [
        { label: '草稿', value: '0' },
        // { label: '草稿', value: '0' },
        { label: '待审核', value: '1' },
        { label: '已驳回', value: '2' },
        { label: '已通过', value: '3' }
@@ -1665,4 +1700,7 @@
    width: 100% !important;
  }
}
.flex-3 {
  margin-right: 4px;
}
</style>
src/views/tickets/ticket.vue
@@ -458,14 +458,14 @@
            icon="el-icon-position"
            >发布
          </el-button>
          <el-button
          <!-- <el-button
            type="infoprimary"
            plain
            :loading="draftLoading"
            @click="saveDraft"
            icon="el-icon-document-add"
            >存草稿
          </el-button>
          </el-button> -->
          <el-button @click="handleCancel" icon="el-icon-circle-close">取 消</el-button>
        </div>