From b2a8ee3a7c3628d7c8f6ee330630c18e58da92c3 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Fri, 09 Jan 2026 11:36:37 +0800
Subject: [PATCH] feat: 完成基础设备入库
---
applications/drone-command/src/views/basicManage/deviceStock/deviceStock.vue | 16 +++++++-
applications/drone-command/src/views/basicManage/deviceStock/FormDiaLog.vue | 20 ++++++----
packages/constants/fwDevice.js | 9 ++++
packages/constants/index.js | 1
applications/drone-command/src/views/basicManage/deviceStock/DeviceTrackDiaLog.vue | 2
applications/drone-command/src/views/aICrudTemplate/FormDiaLog.vue | 22 ++++++----
6 files changed, 50 insertions(+), 20 deletions(-)
diff --git a/applications/drone-command/src/views/aICrudTemplate/FormDiaLog.vue b/applications/drone-command/src/views/aICrudTemplate/FormDiaLog.vue
index 0190b96..8bfaeb0 100644
--- a/applications/drone-command/src/views/aICrudTemplate/FormDiaLog.vue
+++ b/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>
diff --git a/applications/drone-command/src/views/basicManage/deviceStock/DeviceTrackDiaLog.vue b/applications/drone-command/src/views/basicManage/deviceStock/DeviceTrackDiaLog.vue
index 36182af..c3a880d 100644
--- a/applications/drone-command/src/views/basicManage/deviceStock/DeviceTrackDiaLog.vue
+++ b/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>
diff --git a/applications/drone-command/src/views/basicManage/deviceStock/FormDiaLog.vue b/applications/drone-command/src/views/basicManage/deviceStock/FormDiaLog.vue
index f862525..495db6d 100644
--- a/applications/drone-command/src/views/basicManage/deviceStock/FormDiaLog.vue
+++ b/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
diff --git a/applications/drone-command/src/views/basicManage/deviceStock/deviceStock.vue b/applications/drone-command/src/views/basicManage/deviceStock/deviceStock.vue
index 90e54f5..d6cbde7 100644
--- a/applications/drone-command/src/views/basicManage/deviceStock/deviceStock.vue
+++ b/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 = () => ({
diff --git a/packages/constants/fwDevice.js b/packages/constants/fwDevice.js
new file mode 100644
index 0000000..56a09b6
--- /dev/null
+++ b/packages/constants/fwDevice.js
@@ -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] }))
diff --git a/packages/constants/index.js b/packages/constants/index.js
index 78b00a9..05fd3f4 100644
--- a/packages/constants/index.js
+++ b/packages/constants/index.js
@@ -5,3 +5,4 @@
export * from './assetMetricEnums';
export * from './publicEnums';
export * from './workEnums';
+export * from './fwDevice';
--
Gitblit v1.9.3