吉安感知网项目-前端
罗广辉
2026-01-16 4dcf21fb09e5fc5dd974cc20ec1e2f3baaef3924
feat: 细节调整
6 files modified
142 ■■■■■ changed files
applications/drone-command/src/views/basicManage/deviceScrap/index.vue 75 ●●●● patch | view | raw | blame | history
applications/drone-command/src/views/basicManage/deviceStock/DeviceScrapDiaLog.vue 2 ●●● patch | view | raw | blame | history
applications/drone-command/src/views/basicManage/deviceStock/index.vue 19 ●●●● patch | view | raw | blame | history
applications/drone-command/src/views/basicManage/maintainRecord/MaintenanceDiaLog.vue 24 ●●●● patch | view | raw | blame | history
applications/drone-command/src/views/detectionCountermeasure/deviceAppConfig/FormDiaLog.vue 16 ●●●● patch | view | raw | blame | history
applications/drone-command/src/views/detectionCountermeasure/deviceAppConfig/index.vue 6 ●●●● patch | view | raw | blame | history
applications/drone-command/src/views/basicManage/deviceScrap/index.vue
@@ -2,22 +2,45 @@
    <basic-container>
        <el-form ref="queryParamsRef" :model="searchParams" class="ztzf-page-history-search">
            <el-form-item label="设备名称" prop="deviceName">
                <el-input class="ztzf-data-cockpit-search-input" v-model="searchParams.deviceName" placeholder="请输入"
                    clearable @clear="handleSearch" />
                <el-input
                    class="ztzf-data-cockpit-search-input"
                    v-model="searchParams.deviceName"
                    placeholder="请输入"
                    clearable
                    @clear="handleSearch"
                />
            </el-form-item>
            <el-form-item label="设备类型" prop="deviceType">
                <el-select class="ztzf-data-cockpit-select" popper-class="ztzf-data-cockpit-select-popper"
                    v-model="searchParams.deviceType" placeholder="请选择" clearable @change="handleSearch">
                    <el-option v-for="item in dictObj.deviceType" :key="item.dictKey" :label="item.dictValue"
                        :value="item.dictKey" />
                <el-select
                    class="ztzf-data-cockpit-select"
                    popper-class="ztzf-data-cockpit-select-popper"
                    v-model="searchParams.deviceType"
                    placeholder="请选择"
                    clearable
                    @change="handleSearch"
                >
                    <el-option
                        v-for="item in dictObj.deviceType"
                        :key="item.dictKey"
                        :label="item.dictValue"
                        :value="item.dictKey"
                    />
                </el-select>
            </el-form-item>
            <el-form-item label="所属部门" prop="belongDept">
                <el-tree-select class="ztzf-data-cockpit-select" popper-class="ztzf-data-cockpit-tree-select-popper"
                    v-model="searchParams.belongDept" :data="deptTree" :props="treeProps" node-key="id" check-strictly
                    clearable @change="handleSearch" />
                <el-tree-select
                    class="ztzf-data-cockpit-select"
                    popper-class="ztzf-data-cockpit-tree-select-popper"
                    v-model="searchParams.belongDept"
                    :data="deptTree"
                    :props="treeProps"
                    node-key="id"
                    check-strictly
                    clearable
                    @change="handleSearch"
                />
            </el-form-item>
            <el-form-item class="history-search-actions">
@@ -42,7 +65,11 @@
                    <el-table-column prop="source" show-overflow-tooltip label="来源" />
                    <el-table-column prop="belongDeptName" show-overflow-tooltip label="所属部门" />
                    <el-table-column prop="charger" show-overflow-tooltip label="负责人" />
                    <el-table-column prop="scrapTime" show-overflow-tooltip label="报废时间" />
                    <el-table-column prop="scrapTime" show-overflow-tooltip label="报废时间">
                        <template v-slot="{ row }">
                            {{dayjs(row.scrapTime).format('YYYY-MM-DD')}}
                        </template>
                    </el-table-column>
                    <el-table-column prop="scrapReason" show-overflow-tooltip label="报废原因" />
                    <el-table-column prop="disposeWay" show-overflow-tooltip label="处置方式" />
                    <el-table-column label="操作" class-name="operation-btns">
@@ -54,9 +81,14 @@
            </div>
            <div class="ztzf-table-pagination">
                <el-pagination popper-class="ztzf-data-cockpit-select-popper"
                    v-model:current-page="searchParams.current" v-model:page-size="searchParams.size"
                    layout="total, prev, pager, next, sizes" :total="total" @change="getList" />
                <el-pagination
                    popper-class="ztzf-data-cockpit-select-popper"
                    v-model:current-page="searchParams.current"
                    v-model:page-size="searchParams.size"
                    layout="total, prev, pager, next, sizes"
                    :total="total"
                    @change="getList"
                />
            </div>
        </div>
@@ -73,6 +105,7 @@
import FormDiaLog from './FormDiaLog.vue'
import MaintenanceDiaLog from '@/views/basicManage/maintainRecord/MaintenanceDiaLog.vue'
import { fwDeviceScrapPageApi } from '@/views/basicManage/deviceStock/fwDeviceScrapApi'
import dayjs from 'dayjs'
const initSearchParams = () => ({
    deviceName: '', // 设备名称
@@ -106,7 +139,7 @@
provide('planCycleOptions', planCycleOptions)
// 获取列表
async function getList () {
async function getList() {
    loading.value = true
    try {
        const res = await fwDeviceScrapPageApi(searchParams.value)
@@ -118,43 +151,43 @@
}
// 查询
function handleSearch () {
function handleSearch() {
    searchParams.value.current = 1
    getList()
}
// 重置查询
function resetForm () {
function resetForm() {
    queryParamsRef.value?.resetFields()
    searchParams.value.current = 1
    getList()
}
// 查看
function handleView (row) {
function handleView(row) {
    dialogRef.value?.open({ mode: 'view', row: { ...row } })
}
// 获取字典
function getDictList () {
function getDictList() {
    getDictionaryByCode('deviceType,deviceAtt').then(res => {
        dictObj.value = res.data.data
    })
}
// 获取部门树
function getDeptTreeFun () {
function getDeptTreeFun() {
    getDeptTree().then(res => {
        deptTree.value = res.data.data
    })
}
// 新增
function handleAdd () {
function handleAdd() {
    dialogRef.value?.open({ mode: 'add' })
}
function getPlanCycleLabel (row) {
function getPlanCycleLabel(row) {
    const item = planCycleOptions.find(option => option.value === row.planCycleType)
    return item?.label + '-' + row.planCycleValue.join(',')
}
applications/drone-command/src/views/basicManage/deviceStock/DeviceScrapDiaLog.vue
@@ -16,7 +16,7 @@
                    <el-form-item label="报废时间" prop="scrapTime">
                        <el-date-picker class="ztzf-data-cockpit-date-picker" popper-class="ztzf-data-cockpit-date-picker-popper"
                            v-model="formData.scrapTime"
                            type="date"
                            type="datetime"
                            placeholder="选择日期"
                            value-format="YYYY-MM-DD HH:mm:ss"
                            clearable
applications/drone-command/src/views/basicManage/deviceStock/index.vue
@@ -48,21 +48,6 @@
                    @change="handleSearch"
                />
            </el-form-item>
            <el-form-item label="时间">
                <el-date-picker
                    popper-class="ztzf-data-cockpit-date-picker-popper"
                    class="ztzf-data-cockpit-date-picker"
                    v-model="dateRange"
                    type="daterange"
                    range-separator="至"
                    start-placeholder="开始日期"
                    end-placeholder="结束日期"
                    value-format="YYYY-MM-DD HH:mm:ss"
                    @change="handleSearch"
                />
            </el-form-item>
            <el-form-item class="history-search-actions">
                <el-button :icon="RefreshRight" @click="resetForm"></el-button>
                <el-button class="search-btn" :icon="Search" @click="handleSearch"></el-button>
@@ -71,7 +56,6 @@
        <div class="ztzf-table-toolbar">
            <el-button :icon="Plus" color="#284FE3" type="primary" @click="handleAdd">设备建档</el-button>
            <el-button :icon="Download" color="#1A2652" type="primary" @click="exportFile" :loading="exportLoading">导出</el-button>
            <!--            <el-button type="danger" :disabled="!selectedIds.length" @click="handleDelete()">删除</el-button>-->
        </div>
@@ -91,7 +75,7 @@
                    <el-table-column prop="manufacturer" show-overflow-tooltip width="130" label="生产厂商" />
                    <el-table-column prop="createTime" show-overflow-tooltip width="96" label="入库时间">
                        <template v-slot="{ row }">
                            {{ formatDateToSlash(row.createTime) }}
                            {{ dayjs(row.createTime).format('YYYY-MM-DD') }}
                        </template>
                    </el-table-column>
                    <el-table-column prop="source" show-overflow-tooltip width="112" label="来源" />
@@ -147,6 +131,7 @@
import DeviceChart1 from '@/views/basicManage/deviceStock/DeviceChart1.vue'
import DeviceChart2 from '@/views/basicManage/deviceStock/DeviceChart2.vue'
import DeviceChart3 from '@/views/basicManage/deviceStock/DeviceChart3.vue'
import dayjs from 'dayjs'
const initSearchParams = () => ({
    deviceName: '', // 设备名称
applications/drone-command/src/views/basicManage/maintainRecord/MaintenanceDiaLog.vue
@@ -1,6 +1,11 @@
<template>
    <el-dialog class="ztzf-page-view-dialog" v-model="visible" :title="titleEnum[dialogMode]" @closed="handleClosed"
        destroy-on-close>
    <el-dialog
        class="ztzf-page-view-dialog"
        v-model="visible"
        :title="titleEnum[dialogMode]"
        @closed="handleClosed"
        destroy-on-close
    >
        <div class="detail-container" v-if="dialogReadonly">
            <div class="detail-title">设备详情</div>
            <el-row>
@@ -14,8 +19,15 @@
                </el-col>
            </el-row>
        </div>
        <el-form class="dialog-form" v-else ref="formRef" :model="formData" :rules="rules"
            :disabled="dialogReadonly" label-width="110px">
        <el-form
            class="dialog-form"
            v-else
            ref="formRef"
            :model="formData"
            :rules="rules"
            :disabled="dialogReadonly"
            label-width="110px"
        >
            <el-row>
                <el-col :span="24">
                    <el-form-item label="维护内容" prop="maintainContent">
@@ -47,7 +59,7 @@
                            class="ztzf-data-cockpit-date-picker"
                            popper-class="ztzf-data-cockpit-date-picker-popper"
                            v-model="formData.maintainTime"
                            type="date"
                            type="datetime"
                            placeholder="选择日期"
                            value-format="YYYY-MM-DD HH:mm:ss"
                            clearable
@@ -102,7 +114,7 @@
const deviceList = ref([]) // 设备列表
const dialogReadonly = computed(() => dialogMode.value === 'view')
const titleEnum = ref({ edit: '编辑', view: '查看', add: '维护计划' })
const titleEnum = ref({ edit: '维护', view: '查看', add: '维护计划' })
const planCycleLabel = computed(() => {
    const item = planCycleOptions.find(option => option.value === formData.value.planCycleType)
applications/drone-command/src/views/detectionCountermeasure/deviceAppConfig/FormDiaLog.vue
@@ -45,8 +45,9 @@
            </el-row>
        </div>
        <el-form v-else ref="formRef" :model="formData" :rules="rules" label-width="120px" class="dialog-form">
        <el-form v-else ref="formRef" :model="formData" :rules="rules" label-width="120" class="dialog-form">
            <el-row>
                <el-col :span="24"><h3 style="color: #ffffff">工作模式</h3></el-col>
                <el-col :span="12">
                    <el-form-item label="起始扇区" prop="startSector">
                        <el-input
@@ -93,6 +94,7 @@
                        />
                    </el-form-item>
                </el-col>
                <el-col :span="24"><h3 style="color: #ffffff">工作模式</h3></el-col>
                <el-col :span="12">
                    <el-form-item label="伺服模式" prop="servoMode">
                        <el-select
@@ -169,7 +171,7 @@
<script setup>
import { computed, ref } from 'vue'
import { ElMessage } from 'element-plus'
import { fwDeviceConfigSubmitApi } from './deviceAppConfigApi'
import { fwDeviceConfigDetailApi, fwDeviceConfigSubmitApi } from './deviceAppConfigApi'
import { fieldRules } from '@ztzf/utils'
const configKeys = [
@@ -204,7 +206,7 @@
const dialogMode = ref('view') // 弹框模式
const submitting = ref(false) // 提交中
const readonly = computed(() => dialogMode.value === 'view')
const titleEnum = ref({ edit: '编辑', view: '查看' })
const titleEnum = ref({ edit: '配置接口', view: '查看' })
const searchModeOptions = [
    { label: '0', value: '0' },
@@ -267,10 +269,18 @@
    }
}
function loadingDetails() {
    fwDeviceConfigDetailApi({ deviceId: formData.value.deviceId }).then(res => {
        const configJson = res.data.data ? JSON.parse(res.data.data.configJson) : {}
        formData.value = { ...formData.value, ...configJson }
    })
}
// 打开弹框
async function open({ mode, row } = {}) {
    dialogMode.value = mode || 'view'
    formData.value = { ...initForm(), deviceId: row.id }
    loadingDetails()
}
defineExpose({ open })
applications/drone-command/src/views/detectionCountermeasure/deviceAppConfig/index.vue
@@ -78,17 +78,17 @@
                    <el-table-column prop="manufacturer" show-overflow-tooltip label="厂商" />
                    <el-table-column prop="contactPhone" show-overflow-tooltip label="联系方式" />
                    <el-table-column prop="sceneName" show-overflow-tooltip label="所属场景" />
                    <el-table-column label="设置配置" class-name="operation-btns">
                    <el-table-column label="操作" class-name="operation-btns">
                        <template v-slot="{ row }">
                            <el-link @click="openForm('edit', row)" type="warning">配置接口</el-link>
                        </template>
                    </el-table-column>
                    <el-table-column label="操作" class-name="operation-btns">
<!--                    <el-table-column label="操作" class-name="operation-btns">
                        <template v-slot="{ row }">
                            <el-link @click="handleEdit(row)">编辑</el-link>
                            <el-link @click="handleDelete(row)" type="danger">删除</el-link>
                        </template>
                    </el-table-column>
                    </el-table-column>-->
                </el-table>
            </div>