吉安感知网项目-前端
张含笑
2026-01-26 59e915a48a4626a7c22813ccc67d30e7839c750b
Merge remote-tracking branch 'origin/master'
17 files modified
2 files added
363 ■■■■ changed files
applications/task-work-order/src/api/zkxt/index.js 8 ●●●●● patch | view | raw | blame | history
applications/task-work-order/src/assets/images/common/checkbox.png patch | view | raw | blame | history
applications/task-work-order/src/assets/images/common/n-checkbox.png patch | view | raw | blame | history
applications/task-work-order/src/styles/common.scss 1 ●●●● patch | view | raw | blame | history
applications/task-work-order/src/styles/common/cockpit.scss 196 ●●●● patch | view | raw | blame | history
applications/task-work-order/src/styles/tags.scss 13 ●●●● patch | view | raw | blame | history
applications/task-work-order/src/views/orderView/orderDataManage/appInnovation/index.vue 6 ●●●● patch | view | raw | blame | history
applications/task-work-order/src/views/orderView/orderDataManage/dataObjection/index.vue 6 ●●●● patch | view | raw | blame | history
applications/task-work-order/src/views/orderView/orderDataManage/evaluate/index.vue 6 ●●●● patch | view | raw | blame | history
applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/index.vue 6 ●●●● patch | view | raw | blame | history
applications/task-work-order/src/views/orderView/orderManage/clueEvents/ViewDiaLog.vue 6 ●●●●● patch | view | raw | blame | history
applications/task-work-order/src/views/orderView/orderManage/clueEvents/index.vue 2 ●●● patch | view | raw | blame | history
applications/task-work-order/src/views/orderView/orderManage/inspectionReport/index.vue 6 ●●●● patch | view | raw | blame | history
applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/FormDiaLog.vue 13 ●●●● patch | view | raw | blame | history
applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/ViewDiaLog.vue 75 ●●●● patch | view | raw | blame | history
applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/index.vue 3 ●●●● patch | view | raw | blame | history
applications/task-work-order/src/views/orderView/orderManage/operatingIncome/index.vue 6 ●●●● patch | view | raw | blame | history
applications/task-work-order/src/views/orderView/orderManage/orderManage/FormDiaLog.vue 4 ●●●● patch | view | raw | blame | history
applications/task-work-order/src/views/orderView/orderManage/orderManage/index.vue 6 ●●●● patch | view | raw | blame | history
applications/task-work-order/src/api/zkxt/index.js
@@ -37,4 +37,12 @@
    })
}
// 获取航线详情
export const queryAirById = (id) => {
    return request({
        url: `/webservice/webservice/airline/queryById/${id}`,
        method: 'get',
    })
}
applications/task-work-order/src/assets/images/common/checkbox.png
applications/task-work-order/src/assets/images/common/n-checkbox.png
applications/task-work-order/src/styles/common.scss
@@ -107,6 +107,7 @@
    height: 100%;
    box-sizing: border-box;
    background: url('@/assets/images/layoutBg.png') repeat;
    background-position: 0 -20px;
    .layer-content-bottom {
      width: 100%;
applications/task-work-order/src/styles/common/cockpit.scss
@@ -4,6 +4,12 @@
$form-bg-gray: #DDE2ED;
$form-tips-gray: #A1A3D4;
$search-item-icon-color: #383874;
$search-item-symbol-color: #383874;
$search-item-symbol-bg: #fff;
$search-item-symbol-txt: #4E5969;
.gd-input {
  --bg: #{$form-bg};
  --tips: #{$form-tips};
@@ -13,12 +19,15 @@
    --tips: #{$form-tips-gray};
  }
  .el-input__wrapper, .el-textarea__inner {
  .el-input__wrapper,
  .el-textarea__inner {
    box-shadow: none !important;
    background: var(--bg);
    border: none;
  }
  .el-input__inner, .el-textarea__inner {
  .el-input__inner,
  .el-textarea__inner {
    &::placeholder {
      color: var(--tips);
    }
@@ -43,7 +52,7 @@
  color: #ffffff;
}
.gd-select, {
.gd-select {
  --bg: #{$form-bg};
  --tips: #{$form-tips};
@@ -57,6 +66,13 @@
    background: var(--bg);
    box-shadow: none !important;
    border: none;
    .el-select__suffix {
      .el-icon {
        color: $search-item-icon-color;
      }
    }
  }
  .el-select__placeholder {
@@ -77,6 +93,14 @@
  &.gray {
    --bg: #{$form-bg-gray};
    --tips: #{$form-tips-gray};
  }
  .el-icon {
    color: $search-item-icon-color;
  }
  .el-range-separator {
    color: $search-item-symbol-color !important;
  }
  box-shadow: none !important;
@@ -126,7 +150,7 @@
      background: none !important;
    }
    .el-tree-node.is-current > .el-tree-node__content {
    .el-tree-node.is-current>.el-tree-node__content {
      color: #479dff !important;
    }
  }
@@ -184,26 +208,26 @@
}
.gd-date-picker-popper {
  background: #DDE2ED !important;
  background: #fff !important;
  border: none !important;
  border-radius: 0px 0px 8px 8px;
  .el-date-picker__prev-btn,
  .el-date-picker__next-btn {
    .el-icon {
      color: #fff !important;
      color: #4E5969 !important;
    }
  }
  .el-date-picker__header-label {
    color: #fff !important;
    color: #4E5969 !important;
  }
  .el-picker-panel {
    .el-picker-panel__body-wrapper {
      .el-picker-panel__body {
        background: #DDE2ED !important;
        color: #fff !important;
        background: #fff !important;
        color: #4E5969 !important;
        .el-date-range-picker__time-header {
          .el-input__wrapper {
@@ -271,7 +295,7 @@
        .el-picker-panel__content {
          .el-date-range-picker__header {
            .el-picker-panel__icon-btn {
              color: #fff !important;
              color: #4E5969 !important;
              &:hover {
                color: var(--el-color-primary) !important;
@@ -284,9 +308,9 @@
              }
            }
            & > div {
            &>div {
              span {
                color: #fff !important;
                color: #4E5969 !important;
              }
            }
          }
@@ -311,14 +335,15 @@
            td.start-date span,
            td.start-date span,
            td.end-date span {
              background-color: #DDE2ED !important;
              color: #fff !important;
              background-color: #354DFF !important;
            }
            td.in-range div,
            td.in-range div:hover,
            &.is-week-mode .el-date-table__row.current div,
            &.is-week-mode .el-date-table__row:hover div {
              background-color: rgba(60, 121, 202) !important;
              background-color: rgba(71, 126, 255, .1) !important;
            }
          }
        }
@@ -392,12 +417,14 @@
.el-overlay-dialog {
  display: flex;
  justify-content: center; /* 水平居中 */
  align-items: center; /* 垂直居中 */
  justify-content: center;
  /* 水平居中 */
  align-items: center;
  /* 垂直居中 */
}
.gd-dialog {
  padding: 30px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  background: #FFFFFF;
@@ -406,6 +433,9 @@
  max-height: 90vh;
  .el-dialog__header {
    padding-bottom: 20px;
    position: relative;
    span {
      font-family: Source Han Sans CN, Source Han Sans CN;
      font-weight: bold;
@@ -415,6 +445,13 @@
      text-align: left;
      font-style: normal;
      text-transform: none;
    }
    &>button {
      width: auto;
      height: auto;
      display: flex;
      align-items: center;
    }
    .el-icon {
@@ -472,6 +509,13 @@
        }
      }
    }
    .el-upload {
      button {
        background: #4C34FF;
        border: none;
      }
    }
  }
  .el-dialog__footer {
@@ -495,15 +539,14 @@
  flex: 1;
  background: transparent !important;
  .el-table--border .el-table__inner-wrapper:after,
  .el-table--border:after,
  .el-table--border:before,
  .el-table__inner-wrapper:before {
    height: 0;
  }
  tr {
    background: transparent !important;
  }
  tr.el-table__row {
    &:hover {
      background: #F7F8FC !important;
    }
  }
  th.el-table__cell {
@@ -541,17 +584,38 @@
  td.operation-btns .cell {
    display: flex;
    flex-wrap: nowrap;
    gap: 12px;
    /* 按钮间距(推荐) */
    white-space: nowrap;
    /* 双保险 */
    a {
      display: flex;
      align-items: center;
      position: relative;
      margin: 0 10px;
      min-width: 28px;
      color: #0075FF;
      &:first-child {
        margin-left: 0;
      }
      &::before {
        content: '';
        position: absolute;
        top: 50%;
        right: -10px;
        width: 1px;
        height: 12px;
        background: #BCC8E3;
        transform: translateY(calc(-50% - 1px));
      }
      &:last-child {
        margin-right: 0;
        &::before {
          display: none;
        }
      }
    }
  }
@@ -561,8 +625,53 @@
    background: transparent !important;
  }
  .el-checkbox {
    width: 16px;
    height: 16px;
    .el-checkbox__input {
      width: 16px;
      height: 16px;
      .el-checkbox__inner {
        width: 16px;
        height: 16px;
        border: none;
        background: url("@/assets/images/common/n-checkbox.png") no-repeat center / 100% 100% !important;
      }
    }
    &.is-checked {
      .el-checkbox__input {
        .el-checkbox__inner {
          border: none;
          background: url("@/assets/images/common/checkbox.png") no-repeat center / 100% 100% !important;
          &::after {
            content: none;
          }
        }
      }
    }
  }
  .fixed-column {
    background-color: #1A1A2A !important;
  }
}
.el-table {
  .el-table--border .el-table__inner-wrapper:after,
  .el-table--border:after,
  .el-table--border:before,
  .el-table__inner-wrapper:before {
    height: 0;
  }
  td.el-table__cell {
    border: none !important;
  }
}
@@ -635,16 +744,16 @@
}
.gd-confirm-custom {
  background: #1A1A2A;
  background: #fff;
  border-radius: 6px;
  border: 1px solid #2E2E46;
  border: none;
  .el-message-box__header {
    .el-message-box__title {
      font-family: Source Han Sans CN, Source Han Sans CN;
      font-weight: bold;
      font-size: 18px;
      color: #FFFFFF;
      color: #383874;
      line-height: 22px;
      text-align: left;
      font-style: normal;
@@ -653,7 +762,7 @@
  }
  .el-message-box__content {
    color: #D4D5D7;
    color: #4E5969;
  }
  .el-message-box__btns {
@@ -673,14 +782,15 @@
}
.gd-confirm-button {
  background: #284FE3 !important;
  border-color: #284FE3 !important;
  background: #4C34FF !important;
  border: none !important;
  color: #fff !important;
}
.gd-confirm-cancel-button {
  background: #2B2B4C !important;
  border-color: #2B2B4C !important;
  color: #FFFFFF !important;
  background: #F2F3F5 !important;
  border: none !important;
  color: #161B2C !important;
}
.gd-search-form {
@@ -797,14 +907,14 @@
.gd-select-popper {
  border: none;
  background: $form-bg !important;
  background: $search-item-symbol-bg !important;
  .el-select-dropdown {
    .el-scrollbar {
      .el-select-dropdown__wrap {
        .el-select-dropdown__list {
          .el-select-dropdown__item {
            color: #4E5969;
            color: $search-item-symbol-txt;
            &.hover {
              background-color: rgba(0, 120, 233, 0.63) !important;
@@ -873,3 +983,15 @@
    }
  }
}
.gd-tabs {
  .el-tabs__header {
    .el-tabs__item.is-active {
      color: #3247E5;
    }
    .el-tabs__active-bar {
      background: #3247E5;
    }
  }
}
applications/task-work-order/src/styles/tags.scss
@@ -37,11 +37,20 @@
    border-radius: 3px 3px 3px 3px;
    &:active  {
      color: #FFFFFF !important;
      background: #5B6BFF !important;
      span {
        color: #fff !important;
      }
    }
    &.is-active {
      //padding: 0 !important;
      //padding-left: 20px !important;
      color: #FFFFFF;
      background: #5B6BFF;
      color: #FFFFFF !important;
      background: #5B6BFF !important;
      .is-icon-close {
        //margin: 0 10px;
applications/task-work-order/src/views/orderView/orderDataManage/appInnovation/index.vue
@@ -62,9 +62,9 @@
                    <el-table-column prop="caseDesc" show-overflow-tooltip label="案例描述" />
                    <el-table-column label="操作" class-name="operation-btns" width="180">
                        <template v-slot="{ row }">
                            <el-link @click="openForm('view', row)">查看</el-link>
<!--                            <el-link @click="openForm('edit', row)">编辑</el-link>-->
                            <el-link @click="handleDelete(row)" v-if="!['1', '2'].includes(row.innovationStatus)">删除</el-link>
                            <el-link  type="primary"  @click="openForm('view', row)">查看</el-link>
<!--                            <el-link  type="primary"  @click="openForm('edit', row)">编辑</el-link>-->
                            <el-link  type="primary"  @click="handleDelete(row)" v-if="!['1', '2'].includes(row.innovationStatus)">删除</el-link>
                        </template>
                    </el-table-column>
                </el-table>
applications/task-work-order/src/views/orderView/orderDataManage/dataObjection/index.vue
@@ -71,9 +71,9 @@
                    <el-table-column prop="reviewOpinion" show-overflow-tooltip label="审核意见" />
                    <el-table-column label="操作" class-name="operation-btns" width="180">
                        <template v-slot="{ row }">
                            <el-link @click="openForm('view', row)">查看</el-link>
                            <el-link @click="openForm('edit', row)" v-if="!['1', '2'].includes(row.objectionStatus)">编辑</el-link>
                            <el-link @click="handleDelete(row)" v-if="!['1', '2'].includes(row.objectionStatus)">删除</el-link>
                            <el-link  type="primary"  @click="openForm('view', row)">查看</el-link>
                            <el-link  type="primary"  @click="openForm('edit', row)" v-if="!['1', '2'].includes(row.objectionStatus)">编辑</el-link>
                            <el-link  type="primary"  @click="handleDelete(row)" v-if="!['1', '2'].includes(row.objectionStatus)">删除</el-link>
                        </template>
                    </el-table-column>
                </el-table>
applications/task-work-order/src/views/orderView/orderDataManage/evaluate/index.vue
@@ -55,9 +55,9 @@
                    <el-table-column prop="evaluationContent" show-overflow-tooltip label="评价内容" />
                    <el-table-column label="操作" class-name="operation-btns" width="180">
                        <template v-slot="{ row }">
                            <el-link @click="openForm('view', row)">查看</el-link>
                            <el-link @click="openForm('edit', row)">编辑</el-link>
                            <el-link @click="handleDelete(row)">删除</el-link>
                            <el-link  type="primary"  @click="openForm('view', row)">查看</el-link>
                            <el-link  type="primary"  @click="openForm('edit', row)">编辑</el-link>
                            <el-link  type="primary"  @click="handleDelete(row)">删除</el-link>
                        </template>
                    </el-table-column>
                </el-table>
applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/index.vue
@@ -78,10 +78,10 @@
                    <el-table-column prop="demandInfo" show-overflow-tooltip label="需求信息项" />
                    <el-table-column label="操作" class-name="operation-btns" width="180">
                        <template v-slot="{ row }">
                            <el-link @click="openForm('view', row)">查看</el-link>
                            <el-link  type="primary"  @click="openForm('view', row)">查看</el-link>
                            <!-- 只对非审批状态显示编辑和删除按钮 -->
                            <el-link @click="openForm('edit', row)" v-if="!['1', '2', '3'].includes(row.demandStatus)">编辑</el-link>
                            <el-link @click="handleDelete(row)" v-if="!['1', '2', '3'].includes(row.demandStatus)">删除</el-link>
                            <el-link  type="primary"  @click="openForm('edit', row)" v-if="!['1', '2', '3'].includes(row.demandStatus)">编辑</el-link>
                            <el-link  type="primary"  @click="handleDelete(row)" v-if="!['1', '2', '3'].includes(row.demandStatus)">删除</el-link>
                        </template>
                    </el-table-column>
                </el-table>
applications/task-work-order/src/views/orderView/orderManage/clueEvents/ViewDiaLog.vue
@@ -32,10 +32,12 @@
                    <el-table-column prop="distributeUserName" show-overflow-tooltip label="分发人员" />
                    <el-table-column label="操作" class-name="operation-btns" width="140">
                        <template v-slot="{ row }">
                            <el-link v-if="row.distributeStatus === 0" @click="openDistributeDialog(row)" :disabled="row.distributeStatus === 1">
                            <el-link  type="primary"
                                @click="openDistributeDialog(row)"
                                :disabled="row.distributeStatus === 1 || currentRow.taskStatus !== '50'"
                            >
                                转为事件并分发
                            </el-link>
                            <div class="disabled-text" v-else>转为事件并分发</div>
                        </template>
                    </el-table-column>
                </el-table>
applications/task-work-order/src/views/orderView/orderManage/clueEvents/index.vue
@@ -92,7 +92,7 @@
                    <el-table-column prop="taskDesc" show-overflow-tooltip label="巡查任务描述" />
                    <el-table-column label="操作" class-name="operation-btns">
                        <template v-slot="{ row }">
                            <el-link @click="viewDiaLogView(row)">查看线索</el-link>
                            <el-link  type="primary"  @click="viewDiaLogView(row)">查看线索</el-link>
                        </template>
                    </el-table-column>
                </el-table>
applications/task-work-order/src/views/orderView/orderManage/inspectionReport/index.vue
@@ -57,9 +57,9 @@
                    </el-table-column>
                    <el-table-column label="操作" class-name="operation-btns">
                        <template v-slot="{ row }">
                            <el-link @click="seeOnlineWord(row)">查看</el-link>
                            <el-link @click="openForm(row)">在线编辑</el-link>
                            <el-link @click="handleDelete(row)">删除</el-link>
                            <el-link  type="primary"  @click="seeOnlineWord(row)">查看</el-link>
                            <el-link  type="primary"  @click="openForm(row)">在线编辑</el-link>
                            <el-link  type="primary"  @click="handleDelete(row)">删除</el-link>
                        </template>
                    </el-table-column>
                </el-table>
applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/FormDiaLog.vue
@@ -221,7 +221,7 @@
const dialogMode = ref('add') // 弹框模式
const submitting = ref(false) // 提交中
const dialogReadonly = computed(() => dialogMode.value === 'view')
const titleEnum = ref({ edit: '编辑', view: '查看', add: '新增' })
const titleEnum = ref({ edit: '新增', view: '查看', add: '新增' })
// 工单相关
const workOrderList = ref([]) // 工单列表
@@ -270,7 +270,7 @@
// 获取工单列表
async function getWorkOrderList() {
    const res = await gdWorkOrderPageApi({ size: 999, workOrderStatus: '20' })
    const res = await gdWorkOrderPageApi({ size: 999, workOrderStatus: dialogMode.value ==='add' ?  '20' : '' })
    workOrderList.value = res?.data?.data?.records ?? []
}
@@ -294,7 +294,7 @@
// 获取设备列表
async function getDeviceList() {
    const res = await gdManageDeviceListApi({
        deviceIds: selectedWorkOrder.value.recommendDeviceIds,
        deviceIds: selectedWorkOrder.value?.recommendDeviceIds,
    })
    deviceList.value = res?.data?.data ?? []
}
@@ -302,6 +302,7 @@
watch(
    () => selectedWorkOrderId.value,
    () => {
        handleWorkOrderChange(selectedWorkOrderId.value)
        getDeviceList()
    }
)
@@ -364,9 +365,9 @@
// 打开弹框
async function open({ mode = 'add', row } = {}) {
    console.log(row, 'rowrow')
    dialogMode.value = mode
    if (mode === 'add') {
    await getWorkOrderList()
    if (dialogMode.value === 'add') {
        selectedWorkOrderId.value = null
        selectedWorkOrder.value = null
        taskList.value = [initTaskRow()]
@@ -385,7 +386,7 @@
}
onMounted(() => {
    getWorkOrderList()
})
defineExpose({ open })
applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/ViewDiaLog.vue
@@ -66,9 +66,11 @@
                        </el-col>
                    </el-row>
                    <template v-if="['6', '7', '8'].includes(taskStatus)">
                        <div class="detail-title" :style="{ marginTop: pxToRem(10) }">任务成功({{ list.length || 0 }}条)</div>
                        <div class="detail-title" :style="{ marginTop: pxToRem(10) }">
                            任务成果({{ taskResultList.length || 0 }}条)
                        </div>
                        <div class="imgBox">
                            <div v-for="item in list">
                            <div v-for="item in taskResultList">
                                <el-image
                                    v-if="item.resultUrl"
                                    :src="item.resultUrl"
@@ -190,14 +192,13 @@
                    :layer-mode="4"
                    :boundary="false"
                    :zoomToBoundary="false"
                    @ready="() => mapRef.flyBoundary()"
                    @ready="readyMap"
                />
            </div>
        </div>
        <template #footer>
            <template v-if="requester">
                <el-button v-if="['1', '4'].includes(taskStatus)" @click="viewDescription" color="#F2F3F5">
                    {{ gdStatusObj[taskStatus].reason }}
                </el-button>
@@ -237,7 +238,7 @@
<script setup>
import { computed, ref, onMounted } from 'vue'
import { ElMessage } from 'element-plus'
import { fieldRules, getDictLabel } from '@ztzf/utils'
import { fieldRules, flyVisual, getDictLabel } from '@ztzf/utils'
import { gdPatrolTaskRepublish, gdFlyerPageApi, gdPatrolTaskAuditApi } from './inspectionRequestApi'
import { gdWorkOrderFlowListApi, gdWorkOrderPageApi } from '../orderManage/orderManageApi'
import { gdManageDeviceListApi } from '../orderManage/gdManageDeviceApi'
@@ -247,6 +248,8 @@
import RefuseOrderDialog from '@/views/orderView/orderManage/orderManage/RefuseOrderDialog.vue'
import RefuseOrderDialog1 from '@/views/orderView/orderManage/inspectionRequest/RefuseOrderDialog1.vue'
import { Check } from '@element-plus/icons-vue'
import { queryAirById } from '@/api/zkxt'
import * as Cesium from 'cesium'
// 初始化表单数据
const initForm = () => ({
@@ -388,7 +391,7 @@
const processList = ref([])
// 加载时间线list
function loadList() {
    gdWorkOrderFlowListApi({ workOrderId: formData.value.id,type: '1' }).then(res => {
    gdWorkOrderFlowListApi({ workOrderId: formData.value.id, type: '1' }).then(res => {
        processList.value = res.data.data
    })
}
@@ -408,25 +411,74 @@
    }
}
let list = ref([])
let taskResultList = ref([])
// 获取成果列表
async function getList() {
async function getTaskResultList() {
    if (!formData.value?.id) return
    try {
        const res = await gdTaskResultListApi({ patrolTaskId: formData.value.id })
        list.value = res?.data?.data ?? []
        taskResultList.value = res?.data?.data ?? []
    } finally {
    }
}
// 获取航线详情
function getAirDetails() {
    queryAirById(formData.value.patrolRouteUrl).then(res => {
        const list = res.data.data.airlineWaypoints
        if (!list.length) return mapRef.value?.flyBoundary()
        const result = list.map(item => [Number(item.longitude), Number(item.latitude)]).flat()
        viewer.entities.add({
            polyline: {
                positions: Cesium.Cartesian3.fromDegreesArray(result),
                clampToGround: true,
                width: 3,
                material: Cesium.Color.RED,
            },
        })
        // 渲染起点(蓝色)
        const startPoint = list[0]
        viewer.entities.add({
            position: Cesium.Cartesian3.fromDegrees(Number(startPoint.longitude), Number(startPoint.latitude), startPoint.height || 0),
            point: {
                pixelSize: 12,
                color: Cesium.Color.BLUE,
                outlineColor: Cesium.Color.WHITE,
                outlineWidth: 2,
                heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
            },
        })
        // 渲染终点(红色)
        const endPoint = list[list.length - 1]
        viewer.entities.add({
            position: Cesium.Cartesian3.fromDegrees(Number(endPoint.longitude), Number(endPoint.latitude), endPoint.height || 0),
            point: {
                pixelSize: 12,
                color: Cesium.Color.RED,
                outlineColor: Cesium.Color.WHITE,
                outlineWidth: 2,
                heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
            },
        })
        flyVisual({
            positionsData: list.map(i => [Number(i.longitude), Number(i.latitude), i.height || 0]),
            viewer,
        })
    })
}
// 打开弹框
async function open({ mode = 'view', row } = {}) {
    dialogMode.value = mode
    formData.value = { ...initForm(), ...row }
    console.log(row)
    ;['6', '7', '8'].includes(row.taskStatus) && getList()
    ;['6', '7', '8'].includes(row.taskStatus) && getTaskResultList()
    loadList()
    initMap()
}
const readyMap = () => {
    // mapRef.value?.flyBoundary()
    getAirDetails()
}
// 初始化地图实例
@@ -456,7 +508,6 @@
            width: 100%;
            height: 423px;
        }
    }
    .processBox {
        width: 312px;
applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/index.vue
@@ -98,8 +98,7 @@
                    <el-table-column prop="taskDesc" show-overflow-tooltip label="巡查任务描述" />
                    <el-table-column label="操作" class-name="operation-btns">
                        <template v-slot="{ row }">
                            <el-link @click="viewDiaLogView(row)">查看</el-link>
                            <!--                            <el-link @click="openForm('edit', row)">编辑</el-link>-->
                            <el-link  type="primary"  @click="viewDiaLogView(row)">查看</el-link>
                        </template>
                    </el-table-column>
                </el-table>
applications/task-work-order/src/views/orderView/orderManage/operatingIncome/index.vue
@@ -17,11 +17,11 @@
        <el-table-column prop="marketSpace" label="市场空间" align="center" show-overflow-tooltip></el-table-column>
        <el-table-column prop="createTime" label="创建时间" align="center"></el-table-column>
        <el-table-column prop="nickName" label="创建人" align="center"></el-table-column>
                <el-table-column label="操作" width="180" align="center">
                <el-table-column label="操作" width="180" align="center" class-name="operation-btns">
                    <template #default="scope">
            <!-- <el-button icon="el-icon-view" type="text" @click="handleDetail(scope.row)">查看</el-button> -->
            <el-button type="text" @click="handleEdit(scope.row)">编辑</el-button>
                        <el-button type="text" @click="handleDelete(scope.row)">删除</el-button>
                            <el-link @click="handleEdit(scope.row)">编辑</el-link>
                            <el-link @click="handleDelete(scope.row)">删除</el-link>
                    </template>
                </el-table-column>
            </el-table>
applications/task-work-order/src/views/orderView/orderManage/orderManage/FormDiaLog.vue
@@ -633,7 +633,11 @@
    }
    .processBox {
        margin-right: 20px;
        padding: 24px 0;
        width: 312px;
        border: 1px solid #E4E4E4;
        .item-content {
            position: relative;
            .flowName {
applications/task-work-order/src/views/orderView/orderManage/orderManage/index.vue
@@ -112,9 +112,9 @@
                    <el-table-column prop="createTime" show-overflow-tooltip label="工单创建时间" />
                    <el-table-column label="操作" class-name="operation-btns">
                        <template v-slot="{ row }">
                            <el-link @click="openFormChange(row)">查看</el-link>
                            <!--<el-link @click="openForm('edit', row)">编辑</el-link>-->
                            <el-link @click="handleDelete(row)" v-if="requester">删除</el-link>
                            <el-link  type="primary"  @click="openFormChange(row)">查看</el-link>
                            <!--<el-link  type="primary"  @click="openForm('edit', row)">编辑</el-link>-->
                            <el-link  type="primary"  @click="handleDelete(row)" v-if="requester">删除</el-link>
                        </template>
                    </el-table-column>
                </el-table>