From 6e88705bd5b443a259b24c17c8a299765d059d96 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Thu, 23 Jul 2026 16:50:41 +0800
Subject: [PATCH] Merge branch 'master' of http://139.196.74.78:10010/r/jagzwxm/ja_web
---
applications/drone-command/src/views/basicManage/deviceStock/DeviceTrackDiaLog.vue | 65 ++++++++++++++++++++++++++------
1 files changed, 52 insertions(+), 13 deletions(-)
diff --git a/applications/drone-command/src/views/basicManage/deviceStock/DeviceTrackDiaLog.vue b/applications/drone-command/src/views/basicManage/deviceStock/DeviceTrackDiaLog.vue
index 14b1184..757fb42 100644
--- a/applications/drone-command/src/views/basicManage/deviceStock/DeviceTrackDiaLog.vue
+++ b/applications/drone-command/src/views/basicManage/deviceStock/DeviceTrackDiaLog.vue
@@ -1,27 +1,36 @@
<template>
- <el-dialog v-model="visible" :title="dialogTitle" @closed="handleClosed" destroy-on-close>
- <el-form ref="formRef" :model="formData" :rules="rules" label-width="100px">
+ <el-dialog class="command-page-view-dialog" v-model="visible" :title="dialogTitle" @closed="handleClosed" destroy-on-close
+ :close-on-click-modal="false">
+ <el-form class="dialog-form" ref="formRef" :model="formData" :rules="rules" label-width="100px">
<el-row>
<el-col :span="12">
<el-form-item label="负责人" prop="charger">
- <el-select v-model="formData.charger" placeholder="请选择" clearable>
+ <el-select class="command-select" popper-class="command-select-popper" v-model="formData.charger" placeholder="请选择" clearable>
<el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.name" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系电话" prop="contactPhone">
- <el-input v-model="formData.contactPhone" maxlength="50" placeholder="请输入" clearable />
+ <el-input class="command-input" v-model="formData.contactPhone" maxlength="50" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="出库去向" prop="outTarget">
- <el-input v-model="formData.outTarget" maxlength="50" placeholder="请输入" clearable />
+ <el-select
+ class="command-select"
+ popper-class="command-select-popper"
+ v-model="formData.outTarget"
+ placeholder="请选择"
+ clearable
+ >
+ <el-option v-for="item in areaOptions" :key="item.value" :label="item.label" :value="item.value" />
+ </el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="出库时间" prop="outTime">
- <el-date-picker
+ <el-date-picker class="command-date-picker" popper-class="command-date-picker-popper"
v-model="formData.outTime"
type="date"
placeholder="选择日期"
@@ -32,16 +41,17 @@
</el-col>
<el-col :span="12">
<el-form-item label="用途" prop="purpose">
- <el-input v-model="formData.purpose" maxlength="50" placeholder="请输入" clearable />
+ <el-input class="command-input" v-model="formData.purpose" maxlength="50" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
</el-form>
<template #footer>
- <el-button @click="handleCancel">{{ dialogReadonly ? '关闭' : '取消' }}</el-button>
+ <el-button v-if="dialogMode != 'view'" color="#2B2B4C" @click="handleCancel">{{ dialogReadonly ? '关闭' : '取消' }}</el-button>
<el-button
v-if="!dialogReadonly"
type="primary"
+ color="#284FE3"
:loading="submitting"
:disabled="submitting"
@click="handleSubmit"
@@ -53,11 +63,14 @@
</template>
<script setup>
-import { computed, ref } from 'vue'
+import { computed, onMounted, ref } from 'vue'
import { ElMessage } from 'element-plus'
import { getUserListApi } from '@/api/system/user'
-import { fieldRules } from '@ztzf/utils'
+import { getLazyTree } from '@/api/base/region'
+import { contactPhoneRules, fieldRules } from '@ztzf/utils'
import { fwDeviceTrackSubmitApi } from '@/views/basicManage/deviceStock/fwDeviceTrackApi'
+import { saveOperationLog } from '@ztzf/apis'
+import { useRoute } from 'vue-router'
const initForm = () => ({
charger: '', // 负责人
@@ -72,6 +85,7 @@
const visible = ref(false) // 弹框显隐
const dialogMode = ref('add') // 弹框模式
const submitting = ref(false)
+const route = useRoute()
const dialogReadonly = computed(() => dialogMode.value === 'view')
const dialogTitle = computed(() => {
if (dialogMode.value === 'edit') {
@@ -83,15 +97,27 @@
}
})
+const areaOptions = ref([])
+
const rules = {
charger: fieldRules(true), // 负责人
- contactPhone: fieldRules(true, 50), // 联系电话
+ contactPhone: contactPhoneRules(true, 50), // 联系电话
outTarget: fieldRules(true, 50),
outTime: fieldRules(true),
purpose: fieldRules(true, 50), // 用途
}
const userList = ref([])
+function getAreaOptions() {
+ getLazyTree('360800000000').then(res => {
+ const list = res?.data?.data ?? []
+ areaOptions.value = list.map(item => ({
+ label: item.title,
+ value: item.value,
+ }))
+ })
+}
+
function getUserList() {
formData.value.charger = ''
getUserListApi().then(res => {
@@ -110,8 +136,20 @@
if (!isValid) return
submitting.value = true
try {
- await fwDeviceTrackSubmitApi(formData.value)
- ElMessage.success(dialogMode.value === 'add' ? '出库成功' : '更新成功')
+ const selected = areaOptions.value.find(item => item.value === formData.value.outTarget)
+
+ const payload = {
+ ...formData.value,
+ outTarget: selected?.label ?? formData.value.outTarget,
+ outTargetCode: formData.value.outTarget
+ }
+ await fwDeviceTrackSubmitApi(payload)
+ saveOperationLog({
+ requestUri: route.path,
+ title: `${route.name || '设备出入库'}-出库`,
+ type: 1
+ })
+ ElMessage.success('出库成功')
visible.value = false
emit('success')
} finally {
@@ -133,6 +171,7 @@
onMounted(() => {
getUserList()
+ getAreaOptions()
})
defineExpose({ open })
--
Gitblit v1.9.3