吉安感知网项目-前端
罗广辉
2026-01-09 b2a8ee3a7c3628d7c8f6ee330630c18e58da92c3
feat: 完成基础设备入库
5 files modified
1 files added
70 ■■■■ changed files
applications/drone-command/src/views/aICrudTemplate/FormDiaLog.vue 22 ●●●●● patch | view | raw | blame | history
applications/drone-command/src/views/basicManage/deviceStock/DeviceTrackDiaLog.vue 2 ●●● patch | view | raw | blame | history
applications/drone-command/src/views/basicManage/deviceStock/FormDiaLog.vue 20 ●●●●● patch | view | raw | blame | history
applications/drone-command/src/views/basicManage/deviceStock/deviceStock.vue 16 ●●●● patch | view | raw | blame | history
packages/constants/fwDevice.js 9 ●●●●● patch | view | raw | blame | history
packages/constants/index.js 1 ●●●● patch | view | raw | blame | history
applications/drone-command/src/views/aICrudTemplate/FormDiaLog.vue
@@ -69,7 +69,7 @@
                            :data="deptTree"
                            :props="treeProps"
                            check-strictly
                            @change="getUserList"
                            @change="belongDeptChange"
                            clearable
                        />
                    </el-form-item>
@@ -77,7 +77,7 @@
                <el-col :span="12">
                    <el-form-item label="负责人" prop="charger">
                        <el-select v-model="formData.charger" placeholder="请选择" :disabled="!formData.belongDept" clearable>
                            <el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.id" />
                            <el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.name" />
                        </el-select>
                    </el-form-item>
                </el-col>
@@ -155,14 +155,16 @@
    charger: fieldRules(true, 0),
}
// 获取用户列表
function getUserList(val) {
// 部门重置
function belongDeptChange() {
    formData.value.charger = ''
    if (val) {
        getUserListApi(val).then(res => {
            userList.value = res.data.data.records
        })
    }
}
// 获取用户列表
function getUserList() {
    getUserListApi(formData.value.belongDept).then(res => {
        userList.value = res.data.data.records ?? []
    })
}
// 关闭弹框
@@ -209,5 +211,7 @@
    }
}
watch(() => formData.value.belongDept, getUserList)
defineExpose({ open })
</script>
applications/drone-command/src/views/basicManage/deviceStock/DeviceTrackDiaLog.vue
@@ -5,7 +5,7 @@
                <el-col :span="12">
                    <el-form-item label="负责人" prop="charger">
                        <el-select v-model="formData.charger" placeholder="请选择" clearable>
                            <el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.id" />
                            <el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.name" />
                        </el-select>
                    </el-form-item>
                </el-col>
applications/drone-command/src/views/basicManage/deviceStock/FormDiaLog.vue
@@ -116,7 +116,7 @@
                            :data="deptTree"
                            :props="treeProps"
                            check-strictly
                            @change="getUserList"
                            @change="belongDeptChange"
                            clearable
                        />
                    </el-form-item>
@@ -124,7 +124,7 @@
                <el-col :span="12">
                    <el-form-item label="负责人" prop="charger">
                        <el-select v-model="formData.charger" placeholder="请选择" :disabled="!formData.belongDept" clearable>
                            <el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.id" />
                            <el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.name" />
                        </el-select>
                    </el-form-item>
                </el-col>
@@ -216,15 +216,19 @@
}
const userList = ref([])
function getUserList(val) {
function belongDeptChange() {
    formData.value.charger = ''
    if (val) {
        getUserListApi(val).then(res => {
            userList.value = res.data.data.records
        })
    }
}
function getUserList() {
    getUserListApi(formData.value.belongDept).then(res => {
        userList.value = res.data.data.records
    })
}
watch(() => formData.value.belongDept, getUserList)
// 关闭弹框
function handleCancel() {
    visible.value = false
applications/drone-command/src/views/basicManage/deviceStock/deviceStock.vue
@@ -63,14 +63,25 @@
        <el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange">
            <el-table-column type="selection" width="55" />
            <el-table-column type="index" width="60" label="序号" />
            <el-table-column prop="deviceName" label="名称" />
            <el-table-column prop="deviceName" label="设备名称" />
            <el-table-column prop="deviceType" label="类型">
                <template v-slot="{ row }">
                    {{ getDictLabel(row.deviceType, dictObj.deviceType) }}
                </template>
            </el-table-column>
            <el-table-column prop="deviceModel" label="设备型号" />
            <el-table-column prop="deviceModel" label="型号" />
            <el-table-column prop="deviceSpecification" label="规格" />
            <el-table-column prop="manufacturer" label="生产厂商" />
            <el-table-column prop="createTime" label="入库时间" />
            <el-table-column prop="source" label="来源" />
            <el-table-column prop="purpose" label="用途" />
            <el-table-column prop="belongDeptName" label="所属部门" />
            <el-table-column prop="charger" label="负责人" />
            <el-table-column prop="yxzt" label="运行状态">
                <template v-slot="{ row }">
                    {{ DEVICE_STATUS[row.status] || '-' }}
                </template>
            </el-table-column>
            <el-table-column label="操作">
                <template v-slot="{ row }">
                    <el-link @click="handleView(row)" type="primary">查看</el-link>
@@ -102,6 +113,7 @@
import { getDictionaryByCode } from '@/api/system/dictbiz'
import { getDeptTree } from '@/api/system/dept'
import { blobDownload, dateRangeFormat, getDictLabel } from '@ztzf/utils'
import { DEVICE_STATUS } from '@ztzf/constants'
import DeviceTrackDiaLog from '@/views/basicManage/deviceStock/DeviceTrackDiaLog.vue'
const initSearchParams = () => ({
packages/constants/fwDevice.js
New file
@@ -0,0 +1,9 @@
// 设备状态
export const DEVICE_STATUS = {
    0: '在线',
    1: '离线',
    2: '故障',
    3: '报废',
}
export const DEVICE_STATUS_LIST = Object.keys(DEVICE_STATUS).map(key => ({ value: key, label: DEVICE_STATUS[key] }))
packages/constants/index.js
@@ -5,3 +5,4 @@
export * from './assetMetricEnums';
export * from './publicEnums';
export * from './workEnums';
export * from './fwDevice';