From deddc102a8481a01e6b9ca62d142f5a7a80e21cf Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Thu, 26 Feb 2026 17:24:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 applications/drone-command/src/api/system/user.js                                                         |    3 
 applications/task-work-order/src/views/orderView/organizational/userMange/index.vue                       |    4 
 applications/task-work-order/src/views/orderView/deviceInvocation/deviceCallRecord/deviceCallRecordApi.js |   19 +++
 applications/task-work-order/src/views/orderView/deviceInvocation/deviceCallRecord/index.vue              |  178 ++++++++++++++++-------------------
 applications/task-work-order/src/api/system/user.js                                                       |    3 
 applications/task-work-order/src/views/orderView/deviceInvocation/deviceCallRecord/FormDiaLog.vue         |   56 ++--------
 applications/drone-command/src/views/permissionManage/permissionUser/index.vue                            |    4 
 7 files changed, 124 insertions(+), 143 deletions(-)

diff --git a/applications/drone-command/src/api/system/user.js b/applications/drone-command/src/api/system/user.js
index c987df1..30dbc5c 100644
--- a/applications/drone-command/src/api/system/user.js
+++ b/applications/drone-command/src/api/system/user.js
@@ -1,6 +1,6 @@
 import request from '@/axios';
 
-export const getList = (current, size,params, deptId) => {
+export const getList = (current, size,sysType,params, deptId) => {
   return request({
     url: '/blade-system/user/page',
     method: 'get',
@@ -8,6 +8,7 @@
       ...params,
       current,
       size,
+      sysType,
       deptId,
     },
   });
diff --git a/applications/drone-command/src/views/permissionManage/permissionUser/index.vue b/applications/drone-command/src/views/permissionManage/permissionUser/index.vue
index e3a4c1f..246c55d 100644
--- a/applications/drone-command/src/views/permissionManage/permissionUser/index.vue
+++ b/applications/drone-command/src/views/permissionManage/permissionUser/index.vue
@@ -110,7 +110,7 @@
 	deptId: '',
 	current: 1,
 	size: 10,
-	// sysType: 5,
+	sysType: 5,
 })
 
 const searchParams = ref(initSearchParams())
@@ -135,7 +135,7 @@
 		const res = await getUserList(
 			searchParams.value.current,
 			searchParams.value.size,
-			// searchParams.value.sysType,
+			searchParams.value.sysType,
 			{
 				account: searchParams.value.account,
 				realName: searchParams.value.realName,
diff --git a/applications/task-work-order/src/api/system/user.js b/applications/task-work-order/src/api/system/user.js
index 63ecdf7..75b3fe9 100644
--- a/applications/task-work-order/src/api/system/user.js
+++ b/applications/task-work-order/src/api/system/user.js
@@ -1,6 +1,6 @@
 import request from '@/axios';
 
-export const getList = (current, size, params, deptId) => {
+export const getList = (current, size,sysType, params, deptId) => {
   return request({
     url: '/blade-system/user/page',
     method: 'get',
@@ -8,6 +8,7 @@
       ...params,
       current,
       size,
+      sysType,
       deptId,
     },
   });
diff --git a/applications/task-work-order/src/views/orderView/deviceInvocation/deviceCallRecord/FormDiaLog.vue b/applications/task-work-order/src/views/orderView/deviceInvocation/deviceCallRecord/FormDiaLog.vue
index ddb6a4f..aa66534 100644
--- a/applications/task-work-order/src/views/orderView/deviceInvocation/deviceCallRecord/FormDiaLog.vue
+++ b/applications/task-work-order/src/views/orderView/deviceInvocation/deviceCallRecord/FormDiaLog.vue
@@ -2,10 +2,10 @@
 	<el-dialog class="gd-dialog" v-model="visible" :title="dialogTitle" @closed="handleClosed" destroy-on-close
 						 :close-on-click-modal="false">
 		<!--		<div class="detail-row-view" v-if="dialogReadonly">-->
-		<el-table :data="list" class="gd-dialog-table">
-			<el-table-column prop="resultCode" show-overflow-tooltip label="序号" />
-			<el-table-column prop="resultCode" show-overflow-tooltip label="设备状态" />
-			<el-table-column prop="shootTime" show-overflow-tooltip label="发生时间" />
+		<el-table :data="detailsList" class="gd-dialog-table">
+			<el-table-column type="index" show-overflow-tooltip label="序号" />
+			<el-table-column prop="deviceStatus" show-overflow-tooltip label="设备状态" />
+			<el-table-column prop="occurTime" show-overflow-tooltip label="发生时间" />
 		</el-table>
 	</el-dialog>
 </template>
@@ -13,28 +13,19 @@
 <script setup>
 import { computed, onMounted, ref } from 'vue'
 import { ElMessage } from 'element-plus'
-import { add, getUser, update } from '@/api/system/user'
+import { getDeviceCallRecordDetails } from './deviceCallRecordApi'
 import { getDeptTree } from '@/api/system/dept'
 import { getRoleTree } from '@/api/system/role'
 import func from '@/utils/func'
 import { saveOperationLog } from '@ztzf/apis'
 import { useRoute } from 'vue-router'
 
-const list = ref([])
+const detailsList = ref([])
 
 const initForm = () => ({
-	account: '',
-	password: '',
-	password2: '',
-	realName: '',
-	phone: '',
-	email: '',
-	sex: null,
-	birthday: '',
-	code: '',
-	roleId: '',
-	deptId: '',
-	// sysType: 6
+	callId: '',
+	size: 10,
+	current: 1
 })
 
 const treeProps = {
@@ -80,28 +71,16 @@
 	}
 }
 
-async function getRoleTreeData() {
-	const res = await getRoleTree('000000')
-	roleTree.value = res.data.data
-}
 
-async function getDeptTreeData() {
-	const res = await getDeptTree('000000')
-	deptTree.value = res.data.data
-}
 
 function handleCancel() {
 	visible.value = false
 }
 
-async function loadDetail() {
-	if (!formData.value.id) return
-	const res = await getUser(formData.value.id)
-	const data = res?.data?.data ?? {}
-	if (data.roleId) {
-		data.roleId = func.split(data.roleId)[0] || data.roleId
-	}
-	formData.value = data
+async function loadDetail(id) {
+	formData.value.id = id
+	const res = await getDeviceCallRecordDetails(formData)
+	detailsList.value = res?.data?.data.records
 }
 
 function handleClosed() {
@@ -111,17 +90,10 @@
 async function open({ mode, row } = {}) {
 	dialogMode.value = mode || 'add'
 	visible.value = true
-	if (dialogMode.value === 'add') {
-		formData.value = initForm()
-		return
-	}
-	formData.value = { id: row.id }
-	await loadDetail()
+	await loadDetail(row.id)
 }
 
 onMounted(() => {
-	getRoleTreeData()
-	getDeptTreeData()
 })
 
 defineExpose({ open })
diff --git a/applications/task-work-order/src/views/orderView/deviceInvocation/deviceCallRecord/deviceCallRecordApi.js b/applications/task-work-order/src/views/orderView/deviceInvocation/deviceCallRecord/deviceCallRecordApi.js
new file mode 100644
index 0000000..480753d
--- /dev/null
+++ b/applications/task-work-order/src/views/orderView/deviceInvocation/deviceCallRecord/deviceCallRecordApi.js
@@ -0,0 +1,19 @@
+import request from '@/axios'
+
+// 设备分页查询
+export function getDeviceCallRecordPage(params) {
+	return request({
+		url: '/drone-gd/workorder/gdDeviceCall/page',
+		method: 'get',
+		params
+	})
+}
+
+export function getDeviceCallRecordDetails(params) {
+	return request({
+		url: `/drone-gd/workorder/gdDeviceCallDetail/page`,
+		method: 'get',
+		params
+	})
+}
+
diff --git a/applications/task-work-order/src/views/orderView/deviceInvocation/deviceCallRecord/index.vue b/applications/task-work-order/src/views/orderView/deviceInvocation/deviceCallRecord/index.vue
index 862a156..f8ec6bd 100644
--- a/applications/task-work-order/src/views/orderView/deviceInvocation/deviceCallRecord/index.vue
+++ b/applications/task-work-order/src/views/orderView/deviceInvocation/deviceCallRecord/index.vue
@@ -1,38 +1,50 @@
 <template>
 	<basic-container>
 		<el-form ref="queryParamsRef" :model="searchParams" class="gd-search-form">
-			<el-form-item label="登录账号" prop="account">
+			<el-form-item label="任务名称" prop="patrolTaskName">
 				<el-input
 					class="gd-input gray"
-					v-model="searchParams.account"
+					v-model="searchParams.patrolTaskName"
 					placeholder="请输入"
 					clearable
 					@clear="handleSearch"
 				/>
 			</el-form-item>
 
-			<el-form-item label="用户姓名" prop="realName">
-				<el-input
-					class="gd-input gray"
-					v-model="searchParams.realName"
-					placeholder="请输入"
-					clearable
-					@clear="handleSearch"
-				/>
-			</el-form-item>
-
-			<el-form-item label="所属部门" prop="deptId">
-				<el-tree-select
+			<el-form-item label="执行设备" prop="deviceId">
+				<el-select
 					class="gd-select gray"
 					popper-class="gd-select-popper"
-					v-model="searchParams.deptId"
-					:data="deptTree"
-					:props="treeProps"
-					node-key="id"
-					check-strictly
+					v-model="searchParams.deviceId"
+					placeholder="请选择"
 					clearable
 					@change="handleSearch"
-				/>
+				>
+					<el-option
+						v-for="item in deviceList"
+						:key="item.id"
+						:label="item.nickname"
+						:value="item.id"
+					/>
+				</el-select>
+			</el-form-item>
+
+			<el-form-item label="任务发起人" prop="">
+				<el-select
+					class="gd-select gray"
+					popper-class="gd-select-popper"
+					v-model="searchParams.taskInitiator"
+					placeholder="请选择"
+					clearable
+					@change="handleSearch"
+				>
+					<el-option
+						v-for="item in userList"
+						:key="item.id"
+						:label="item.realName"
+						:value="item.id"
+					/>
+				</el-select>
 			</el-form-item>
 
 			<el-form-item class="gd-search-actions">
@@ -41,33 +53,33 @@
 			</el-form-item>
 		</el-form>
 
-		<div class="gd-table-toolbar">
-			<el-button v-if="permission.orderUser_add" :icon="Plus" color="#4C34FF" type="primary" @click="handleAdd">
-				新增
-			</el-button>
-			<el-button
-				v-if="permission.orderUser_remove"
-				:icon="Delete"
-				:disabled="!selectedIds.length"
-				@click="handleDelete()"
-			>
-				删除
-			</el-button>
-		</div>
+<!--		<div class="gd-table-toolbar">-->
+<!--			<el-button v-if="permission.orderUser_add" :icon="Plus" color="#4C34FF" type="primary" @click="handleAdd">-->
+<!--				新增-->
+<!--			</el-button>-->
+<!--			<el-button-->
+<!--				v-if="permission.orderUser_remove"-->
+<!--				:icon="Delete"-->
+<!--				:disabled="!selectedIds.length"-->
+<!--				@click="handleDelete()"-->
+<!--			>-->
+<!--				删除-->
+<!--			</el-button>-->
+<!--		</div>-->
 
 		<div class="gd-table-container" v-loading="loading">
 			<div class="gd-table-content gd-table-content-bg">
-				<el-table class="gd-table" :data="list" @selection-change="handleSelectionChange">
+				<el-table class="gd-table" :data="list">
 					<el-table-column type="selection" width="46" />
 					<el-table-column type="index" show-overflow-tooltip width="64" label="序号" />
-					<el-table-column prop="account" show-overflow-tooltip label="任务名称" />
-					<el-table-column prop="realName" show-overflow-tooltip label="发起任务部门" />
-					<el-table-column prop="roleName" show-overflow-tooltip label="任务发起人" />
-					<el-table-column prop="deptName" show-overflow-tooltip label="飞行时长" />
-					<el-table-column prop="phone" show-overflow-tooltip label="飞行里程(m)" />
-					<el-table-column prop="phone" show-overflow-tooltip label="执行设备" />
-					<el-table-column prop="phone" show-overflow-tooltip label="计划执行时间" />
-					<el-table-column prop="phone" show-overflow-tooltip label="实际执行时间" />
+					<el-table-column prop="patrolTaskName" show-overflow-tooltip label="任务名称" />
+					<el-table-column prop="taskDepartment" show-overflow-tooltip label="发起任务部门" />
+					<el-table-column prop="taskInitiator" show-overflow-tooltip label="任务发起人" />
+					<el-table-column prop="flightDuration" show-overflow-tooltip label="飞行时长" />
+					<el-table-column prop="flightDistance" show-overflow-tooltip label="飞行里程(m)" />
+					<el-table-column prop="deviceName" show-overflow-tooltip label="执行设备" />
+					<el-table-column prop="planExecuteTime" show-overflow-tooltip label="计划执行时间" />
+					<el-table-column prop="actualExecuteTime" show-overflow-tooltip label="实际执行时间" />
 					<el-table-column label="操作" class-name="operation-btns" width="180">
 						<template v-slot="{ row }">
 							<el-link  @click="handleView(row)">查看</el-link>
@@ -97,19 +109,20 @@
 import { computed, onMounted, ref } from 'vue'
 import { ElMessage, ElMessageBox } from 'element-plus'
 import { getDeptTree } from '@/api/system/dept'
-import { getList as getUserList, remove } from '@/api/system/user'
+import { getDeviceCallRecordPage } from './deviceCallRecordApi'
+import { getEquipmentPage } from '../equipmentResource/equipmentResourceApi'
+import { getList as getUserList } from '@/api/system/user'
 import { useStore } from 'vuex'
 import FormDiaLog from './FormDiaLog.vue'
 import { saveOperationLog } from '@ztzf/apis'
 import { useRoute } from 'vue-router'
 
 const initSearchParams = () => ({
-	account: '',
-	realName: '',
-	deptId: '',
+	deviceId: '',
+	patrolTaskName: '',
+	taskInitiator: '',
 	current: 1,
 	size: 10,
-	// sysType: 6
 })
 
 const searchParams = ref(initSearchParams())
@@ -131,21 +144,32 @@
 async function getList() {
 	loading.value = true
 	try {
-		const res = await getUserList(
-			searchParams.value.current,
-			searchParams.value.size,
-			// searchParams.value.sysType,
-			{
-				account: searchParams.value.account,
-				realName: searchParams.value.realName,
-			},
-			searchParams.value.deptId
-		)
+		const res = await getDeviceCallRecordPage(searchParams)
 		list.value = res?.data?.data?.records ?? []
 		total.value = res?.data?.data?.total ?? 0
 	} finally {
 		loading.value = false
 	}
+}
+
+// 获取设备列表
+const deviceList = ref([])
+async function getDeviceList(row) {
+	const params = {
+		deviceType: 1, // 设备类型
+		modeCode: '', // 设备状态
+		current: 1, // 当前页
+		size: 999, // 每页大小
+	}
+	const res = await getEquipmentPage(params)
+	deviceList.value = res?.data?.data?.records ?? []
+}
+
+// 获取用户列表
+const userList = ref([])
+async function getUserListPage() {
+	const res = await getUserList(1,999)
+	userList.value = res?.data?.data?.records ?? []
 }
 
 function handleSearch() {
@@ -160,51 +184,15 @@
 	getList()
 }
 
-function handleAdd() {
-	dialogRef.value?.open({ mode: 'add' })
-}
 
 function handleView(row) {
 	dialogRef.value?.open({ mode: 'view', row: { ...row } })
 }
 
-function handleEdit(row) {
-	dialogRef.value?.open({ mode: 'edit', row: { ...row } })
-}
-
-async function handleDelete(row) {
-	const tips = row ? '该条' : '选中的项'
-	await ElMessageBox.confirm(`确认删除${tips}吗?`, '提示', {
-		type: 'warning',
-		customClass: 'command-page-view-message-box',
-		confirmButtonClass: 'command-message-box-confirm',
-		cancelButtonClass: 'command-message-box-cancel',
-	})
-	const ids = row ? row.id : selectedIds.value.join(',')
-	await remove(ids)
-	saveOperationLog({
-		requestUri: route.path,
-		title: `${route.name || '用户管理'}-删除`,
-		type: 1
-	})
-	ElMessage.success('删除成功')
-	selectedIds.value = []
-	getList()
-}
-
-function handleSelectionChange(rows) {
-	selectedIds.value = rows.map(item => item.id)
-}
-
-function getDeptTreeList() {
-	getDeptTree().then(res => {
-		deptTree.value = res?.data?.data ?? []
-	})
-}
-
 onMounted(() => {
+	getDeviceList()
+	getUserListPage()
 	getList()
-	getDeptTreeList()
 })
 </script>
 
diff --git a/applications/task-work-order/src/views/orderView/organizational/userMange/index.vue b/applications/task-work-order/src/views/orderView/organizational/userMange/index.vue
index 86d8deb..e98fbd8 100644
--- a/applications/task-work-order/src/views/orderView/organizational/userMange/index.vue
+++ b/applications/task-work-order/src/views/orderView/organizational/userMange/index.vue
@@ -108,7 +108,7 @@
 	deptId: '',
 	current: 1,
 	size: 10,
-	// sysType: 6
+	sysType: 6
 })
 
 const searchParams = ref(initSearchParams())
@@ -133,7 +133,7 @@
 		const res = await getUserList(
 			searchParams.value.current,
 			searchParams.value.size,
-			// searchParams.value.sysType,
+			searchParams.value.sysType,
 			{
 				account: searchParams.value.account,
 				realName: searchParams.value.realName,

--
Gitblit v1.9.3