From 5808f76456ca0d40de5074f132b73a5a488e3e13 Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Tue, 09 Dec 2025 09:12:03 +0800
Subject: [PATCH] Merge branch 'refs/heads/feature/v9.0/9.0.1' into test
---
src/views/dataCenter/components/searchData.vue | 93 ++++++++++++++++++++++++++++++++--------------
1 files changed, 64 insertions(+), 29 deletions(-)
diff --git a/src/views/dataCenter/components/searchData.vue b/src/views/dataCenter/components/searchData.vue
index 829b13e..8a4b29c 100644
--- a/src/views/dataCenter/components/searchData.vue
+++ b/src/views/dataCenter/components/searchData.vue
@@ -1,10 +1,11 @@
<template>
<div class="search-box-test">
<el-form :model="searchForm" inline>
- <div class="search-first">
+ <el-row :gutter="24">
+ <el-col :span="4">
<el-form-item label="行政区划:" >
<el-tree-select
- :disabled="foldersDisabled"
+ :disabled="viewDetailsDisabled"
popper-class="custom-tree-select"
v-model="searchForm.areaCode"
:data="deptTreeData"
@@ -15,9 +16,11 @@
@node-click="handleNodeClick"
/>
</el-form-item>
+ </el-col>
+ <el-col :span="4">
<el-form-item label="所属机巢:">
<el-select
- :disabled="foldersDisabled"
+ :disabled="viewDetailsDisabled"
:teleported="false"
v-model="searchForm.deviceSn"
placeholder="请选择"
@@ -32,11 +35,16 @@
/>
</el-select>
</el-form-item>
+ </el-col>
+ <el-col :span="4">
<el-form-item label="任务名称:">
- <el-input v-model="searchForm.jobName" placeholder="请输入" clearable />
+ <el-input :disabled="viewDetailsDisabled" v-model="searchForm.jobName" placeholder="请输入" clearable />
</el-form-item>
- <el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="选择日期:">
<el-date-picker
+ :disabled="viewDetailsDisabled"
popper-class="custom-date-picker"
v-model="dateRange"
type="daterange"
@@ -59,9 +67,11 @@
}"
/>
</el-form-item>
+ </el-col>
+ <el-col :span="4">
<el-form-item label="文件格式:">
<el-select
- :disabled="foldersDisabled"
+ :disabled="foldersDisabled || viewDetailsDisabled"
:teleported="false"
v-model="searchForm.resultType"
placeholder="请选择"
@@ -77,10 +87,12 @@
/>
</el-select>
</el-form-item>
+ </el-col>
+ <el-col :span="4">
<el-form-item label="文件类别:">
<el-select
-
- :disabled="disabled || foldersDisabled"
+
+ :disabled="disabled || foldersDisabled || viewDetailsDisabled"
:teleported="false"
v-model="searchForm.photoType"
placeholder="请选择"
@@ -96,22 +108,23 @@
/>
</el-select>
</el-form-item>
- </div>
- <div class="search-first">
+ </el-col>
+ <el-col :span="4">
<el-form-item label="文件名称:">
- <el-input :disabled="foldersDisabled" v-model="searchForm.name" placeholder="请输入" clearable />
+ <el-input :disabled="foldersDisabled || viewDetailsDisabled" v-model="searchForm.name" placeholder="请输入" clearable />
</el-form-item>
- <div class="search-btn">
- <el-button type="primary" icon="el-icon-search" @click="handleSearch">搜索</el-button>
- <el-button icon="el-icon-refresh" @click="handleReset">清空</el-button>
- </div>
- </div>
+ </el-col>
+ <el-col :span="4">
+ <el-button :disabled="viewDetailsDisabled" type="primary" icon="el-icon-search" @click="handleSearch">搜索</el-button>
+ <el-button :disabled="viewDetailsDisabled" icon="el-icon-refresh" @click="handleReset">清空</el-button>
+ </el-col>
+ </el-row>
<div class="search-first">
<div class="search-btn">
<!-- <el-button type="primary" icon="el-icon-download" @click="allDownloadFun"-->
<!-- >全部下载</el-button-->
<!-- >-->
- <el-button type="primary" plain @click="handleswitchFolders" ><el-icon><FolderOpened /></el-icon></el-button>
+ <el-button v-if="!viewDetailsDisabled" type="primary" plain @click="handleswitchFolders" ><el-icon><FolderOpened /></el-icon></el-button>
<div class="downloadBtn" @click="htsjzx === 100 && downloadFun()">
<el-progress v-if="htsjzx !== 100" :percentage="htsjzx" :show-text="false" striped striped-flow :duration="1" />
<div class="downloadBtnText">
@@ -121,6 +134,7 @@
</template>
</div>
</div>
+ <el-button v-if="viewDetailsDisabled" type="primary" plain @click="handleBack" >返回</el-button>
</div>
</div>
</el-form>
@@ -140,14 +154,13 @@
const userAreaCode = computed(() => store.getters.userInfo.detail.areaCode);
const selectedAreaCode = computed(() => store.state.user.selectedAreaCode);
const htsjzx = computed(() => store.state.common.downloadProgress?.htsjzx || 100)
-
-const emit = defineEmits(['search', 'downFun', 'allDownFun','handleswitchFolders']);
+const emit = defineEmits(['search', 'Reset','downFun', 'allDownFun','handleswitchFolders','handleBack']);
const startTime = dayjs().subtract(6, 'day').startOf('day');
const endTime = dayjs().endOf('day');
const timeRange = [startTime.format('YYYY-MM-DD HH:mm:ss'), endTime.format('YYYY-MM-DD HH:mm:ss')];
const dateRange = ref(timeRange);
const timeFormat = 'YYYY-MM-DD HH:mm:ss';
-const props = defineProps(['searchjobId','switchFolders'])
+const props = defineProps(['searchjobId','switchFolders','viewDetails'])
const searchForm = reactive({
jobName: '', //任务名称
name: '', //文件名称
@@ -226,6 +239,14 @@
foldersDisabled.value = false
}
});
+const viewDetailsDisabled = ref(false)
+watch(() => props.viewDetails, (newVal) => {
+if(newVal === true){
+ viewDetailsDisabled.value = true
+}else{
+ viewDetailsDisabled.value = false
+}
+});
const changePhotoType =(val)=>{
if(val === undefined){
searchForm.photoType = ''
@@ -260,13 +281,11 @@
searchForm.endTime = end.format(timeFormat);
handleSearch()
}
-
};
// 部门下得机巢
const requestDockInfo = () => {
getRegionTreeAll({ parentCode: userAreaCode.value }).then(res => {
deptTreeData.value = res.data.data ? [res.data.data] : [];
-
handleNodeClick({ id: userAreaCode.value });
});
};
@@ -274,19 +293,18 @@
// 处理机巢数据
searchForm.deviceSn = '';
machineData.value = '';
-
const droneList = await getDeviceRegion({ areaCode: data.id });
-
machineData.value = droneList?.data?.data;
+
// 默认选中值
if (signDevice_sn.value) {
searchForm.deviceSn = signDevice_sn.value;
}
// 所属部门重新请求值
-
deptData.value = [];
getDeptsByAreaCode();
handleSearch();
+
};
// 所属部门信息
const getDeptsByAreaCode = () => {
@@ -324,8 +342,10 @@
searchForm.deviceSn = '';
searchForm.resultType = '';
searchForm.photoType = '';
+ searchForm.wayLineJobId=''
handleNodeClick({ id: userAreaCode.value });
handleSearch();
+ emit('Reset', searchForm);
};
// 下载
const downloadFun = () => {
@@ -339,19 +359,29 @@
function cancelDownload() {
cancelDownloadApi({ type:'htsjzx' }).then(res =>{
ElMessage.success('取消成功')
+ }).catch(e =>{
+ EventBus.emit('useGlobalWS-messageHandler', {biz_code: 'DOWNLOAD_PROGRESS',data:{status: 'CANCELLED',type:'htsjzx'}})
})
}
// 切换文件夹
const handleswitchFolders =()=>{
emit('handleswitchFolders');
}
+// 返回按钮
+const handleBack = ()=>{
+ emit('handleBack');
+}
onMounted(() => {
requestDockInfo();
getDownloadStatusApi({type: 'htsjzx'}).then(res =>{
if (!['CANCELLED','COMPLETED'].includes(res.data.data?.status || 'COMPLETED')){
- EventBus.emit('useDownloadWs-messageHandler',res.data.data)
+ EventBus.emit('useGlobalWS-messageHandler',res.data.data)
}
})
+});
+
+defineExpose({
+ handleReset,
});
</script>
@@ -373,7 +403,7 @@
margin-right: 32px;
.downloadBtn{
- margin-left: 10px;
+ margin:0 10px;
position: relative;
display: flex;
align-items: center;
@@ -451,12 +481,17 @@
}
.el-form-item {
- margin-bottom: 0;
- width: 233px;
+ //margin-bottom: 0;
+ width: 100%;
.el-form-item__label {
color: #363636;
line-height: 32px;
+ width: 80px;
+ }
+ .el-form-item__content {
+ display: flex;
+ flex: 1;
}
}
}
--
Gitblit v1.9.3