增加数据转换功能
This commit is contained in:
parent
dbe37388af
commit
1d9cd42a42
@ -253,4 +253,12 @@ export function listTsFilesById(params:any){
|
||||
method:'post',
|
||||
params:params,
|
||||
})
|
||||
}
|
||||
// 解压缩接口
|
||||
export function splitFile(params:any){
|
||||
return request ({
|
||||
url:'/experimentalData/ts-files/splitFile',
|
||||
method:'post',
|
||||
params:params,
|
||||
})
|
||||
}
|
||||
BIN
web/src/assets/MenuIcon/datazh.png
Normal file
BIN
web/src/assets/MenuIcon/datazh.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 419 B |
71
web/src/views/testdata/datamanagement/index.vue
vendored
71
web/src/views/testdata/datamanagement/index.vue
vendored
@ -13,7 +13,10 @@ import { ElMessageBox, ElMessage, ElMain } from "element-plus";
|
||||
import Page from '@/components/Pagination/page.vue';
|
||||
import AudioPlayer from '@/components/file/preview/AudioPlayer.vue';
|
||||
import { batchDeleteReq } from "@/api/file-operator";
|
||||
import { tstaskList, obtaintestData, decompressionFolderData, getTsNodesTree, confirmDeleteNodes, addTsNodes, selectTsNodesByTskeId, updateTsNodes, deleteTsNodesById, tsFilesPage, addTsFiles, testDataScanById, updateTsFiles, deleteTsFilesById, listTsFiles, deleteTsFilesByIds, compress, Decompression, compare, downloadToLocal, uploadToBackup, addTsFile, list, moveFileFolder, copyFileFolder, startSimpleNavi, stopSimpleNavi, listTsFilesById } from "@/api/datamanagement";
|
||||
import {
|
||||
tstaskList, obtaintestData, decompressionFolderData, getTsNodesTree, confirmDeleteNodes, addTsNodes, selectTsNodesByTskeId, updateTsNodes, deleteTsNodesById, tsFilesPage, addTsFiles, testDataScanById, updateTsFiles, deleteTsFilesById, listTsFiles, deleteTsFilesByIds, compress, Decompression, compare, downloadToLocal, uploadToBackup, addTsFile, list, moveFileFolder, copyFileFolder,
|
||||
startSimpleNavi, stopSimpleNavi, listTsFilesById, splitFile
|
||||
} from "@/api/datamanagement";
|
||||
import ZUpload from '@/components/file/ZUpload.vue'
|
||||
import useFileUpload from "@/components/file/file/useFileUpload";
|
||||
import useHeaderStorageList from "@/components/header/useHeaderStorageList";
|
||||
@ -242,11 +245,11 @@ const treeForm = ref({
|
||||
//获取树数据
|
||||
const treeRef = ref();
|
||||
const filepath = ref('')
|
||||
function gettreedata(type:string) {
|
||||
function gettreedata(type: string) {
|
||||
treeloading.value = true
|
||||
if(type == '节点搜索' && treeForm.value.nodeName !== ''){
|
||||
if (type == '节点搜索' && treeForm.value.nodeName !== '') {
|
||||
treeForm.value.taskId = ''
|
||||
}else{
|
||||
} else {
|
||||
treeForm.value.taskId = projectId.value
|
||||
}
|
||||
let keyar = projectArr.value.find(item => item.id === projectId.value);
|
||||
@ -1639,7 +1642,7 @@ function openMap(row: any) {
|
||||
getSSELink()
|
||||
})
|
||||
.catch(() => {
|
||||
|
||||
|
||||
})
|
||||
}
|
||||
}
|
||||
@ -1720,7 +1723,7 @@ function mapClose() {
|
||||
}
|
||||
// 1s/10s/30s/1m/2m/5m
|
||||
const options = ref([
|
||||
{
|
||||
{
|
||||
name: '10秒钟'
|
||||
, id: 10
|
||||
},
|
||||
@ -1786,7 +1789,7 @@ function getSSELink() {
|
||||
try {
|
||||
const data = JSON.parse(e.data)
|
||||
console.log('SSE消息:', data)
|
||||
if(data.message == '配置文件选择错误,请重新选择!'){
|
||||
if (data.message == '配置文件选择错误,请重新选择!') {
|
||||
ElMessage.warning(data.message)
|
||||
return
|
||||
}
|
||||
@ -1863,6 +1866,34 @@ const formatFileSize = (size: number): string => {
|
||||
const txtradio: any = ref(null)
|
||||
const pngradio: any = ref(null)
|
||||
const configradio: any = ref(null)
|
||||
const dataConversionDialog = ref(false)
|
||||
const fvnsFileName = ref('')
|
||||
const vinsFileName = ref('')
|
||||
function dataConversionClose() {
|
||||
dataConversionDialog.value = false
|
||||
}
|
||||
function dataConversion(row: any) {
|
||||
const params = {
|
||||
id: row.id,
|
||||
taskId: row.taskId
|
||||
}
|
||||
loading.value = true
|
||||
splitFile(params).then((res: any) => {
|
||||
if (res.code == '0') {
|
||||
fvnsFileName.value = res.data.fvns.fileName
|
||||
vinsFileName.value = res.data.vins.fileName
|
||||
loading.value = false
|
||||
getdata()
|
||||
dataConversionDialog.value = true
|
||||
} else {
|
||||
ElMessage.error(res.message)
|
||||
loading.value = false
|
||||
}
|
||||
})
|
||||
}
|
||||
function isConversion(fileName: string) {
|
||||
return fileName.includes('ins_frameSimu') && fileName.endsWith('.txt')
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@ -1973,7 +2004,7 @@ const configradio: any = ref(null)
|
||||
</el-table-column>
|
||||
<el-table-column prop="uploader" width="80" label="上传人"></el-table-column>
|
||||
<el-table-column prop="updateTime" width="170" label="修改日期"></el-table-column>
|
||||
<el-table-column label="操作" width="140" align="center">
|
||||
<el-table-column label="操作" width="160" align="center">
|
||||
<template #default="scope">
|
||||
<span
|
||||
style="display: flex;display: -webkit-flex;justify-content: space-between;-webkit-justify-content: space-between; ">
|
||||
@ -1981,10 +2012,10 @@ const configradio: any = ref(null)
|
||||
style="cursor: pointer;"> -->
|
||||
<img src="@/assets/project/chong.png" alt="" title="重命名" @click="editfile(scope.row, false)"
|
||||
style="cursor: pointer;">
|
||||
|
||||
<img v-if="iftrackFile(scope.row.fileName)"
|
||||
src="@/assets/MenuIcon/guiji.png" alt="" @click="openMap(scope.row)" title="轨迹预览图"
|
||||
style="cursor: pointer;">
|
||||
<img v-if="isConversion(scope.row.fileName)" src="@/assets/MenuIcon/datazh.png" alt=""
|
||||
title="数据转换" @click="dataConversion(scope.row)" style="cursor: pointer;">
|
||||
<img v-if="iftrackFile(scope.row.fileName)" src="@/assets/MenuIcon/guiji.png" alt=""
|
||||
@click="openMap(scope.row)" title="轨迹预览图" style="cursor: pointer;">
|
||||
<img src="@/assets/MenuIcon/lbcz_xg.png" alt="" @click="editfile(scope.row, true)"
|
||||
title="修改" style="cursor: pointer;">
|
||||
<img v-if="scope.row.type == 'ZIP'" src="@/assets/images/jieyasuo.png" alt=""
|
||||
@ -2252,7 +2283,7 @@ const configradio: any = ref(null)
|
||||
</el-dialog>
|
||||
<!-- 轨迹地图 -->
|
||||
<el-dialog title="轨迹地图/图表" v-model="mapTrajectory" :close-on-click-modal="false" :before-close="mapClose"
|
||||
top="30px" draggable destroy-on-close>
|
||||
top="30px" draggable destroy-on-close>
|
||||
<div v-loading="pngloading">
|
||||
<div class="map_select" style="margin-top: 0px;">
|
||||
<div style="width: 220px;margin-top: 5px;">请选择配置文件(trj_config*.txt):</div>
|
||||
@ -2359,7 +2390,19 @@ const configradio: any = ref(null)
|
||||
top="30px" draggable width="60%" destroy-on-close>
|
||||
<txtexl :file-url="fileUrl" :rowId="rowId" :taskId="projectId" />
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog :close-on-click-modal="false" title="数据转换" v-model="dataConversionDialog" :before-close="dataConversionClose"
|
||||
top="30px" draggable width="30%" destroy-on-close>
|
||||
<div style="text-align: center;">
|
||||
<div style="color:#67c23a;font-size:16px;margin-bottom: 15px;"><span>数据转换成功!</span></div>
|
||||
<div style="font-size:16px;line-height: 1.5em;color:#409eff">
|
||||
<div>{{fvnsFileName}}</div>
|
||||
<div>{{vinsFileName}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width: 100%;display: flex;justify-content: end;margin-top: 10px;">
|
||||
<el-button type="primary" @click="dataConversionClose">确定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
35
web/src/views/testdata/testtask/index.vue
vendored
35
web/src/views/testdata/testtask/index.vue
vendored
@ -28,6 +28,7 @@ let result1 = ref([
|
||||
{ name: '载机名称', code: 'carrier_name' },
|
||||
{ name: '设备代号_编号', code: 'device_code' },
|
||||
{ name: '试验描述', code: 'test_describe' },
|
||||
{ name: '试验标签项', code: 'custom1' },
|
||||
{ name: '传感器描述', code: 'sensor_describe' },
|
||||
{ name: '本地存储空间', code: 'local_storage_id' },
|
||||
{ name: '备份存储空间', code: 'backup_storage_id' },
|
||||
@ -357,6 +358,7 @@ const projectForme: any = ref({
|
||||
backupStorageId: '',
|
||||
custom1: '',//试验标签项
|
||||
})
|
||||
const isdouble = ref(false)
|
||||
//表单确定
|
||||
async function submitForm(formEl: any) {
|
||||
if (!formEl) return
|
||||
@ -380,6 +382,10 @@ async function submitForm(formEl: any) {
|
||||
}else{
|
||||
projectForme.value.custom1 = ''
|
||||
}
|
||||
if(isdouble.value){
|
||||
return
|
||||
}
|
||||
isdouble.value = true
|
||||
if (projectForme.value.id) {
|
||||
updatetsTask(projectForme.value).then((res: any) => {
|
||||
if (res.code == 0) {
|
||||
@ -387,6 +393,7 @@ async function submitForm(formEl: any) {
|
||||
ElMessage.success("修改成功")
|
||||
frame.value = false
|
||||
}
|
||||
isdouble.value = false
|
||||
})
|
||||
} else {
|
||||
addtsTask(projectForme.value).then((res: any) => {
|
||||
@ -395,7 +402,7 @@ async function submitForm(formEl: any) {
|
||||
ElMessage.success("添加成功")
|
||||
frame.value = false
|
||||
}
|
||||
|
||||
isdouble.value = false
|
||||
})
|
||||
}
|
||||
}
|
||||
@ -995,6 +1002,7 @@ function customSelectionChange(val: any) {
|
||||
<template #default="scope">
|
||||
<span
|
||||
style="display: flex;display: -webkit-flex;justify-content: space-around;-webkit-justify-content: space-around; ">
|
||||
|
||||
<img src="@/assets/MenuIcon/lbcz_xg.png" alt="" title="修改" @click="editproject(scope.row)"
|
||||
style="cursor: pointer;">
|
||||
<img src="@/assets/MenuIcon/lbcz_sc.png" alt="" title="删除" @click="delproject(scope.row)"
|
||||
@ -1072,23 +1080,23 @@ function customSelectionChange(val: any) {
|
||||
<!-- <el-input :disabled="projectForme.id" v-model="projectForme.carrierName" maxlength="40"
|
||||
show-word-limit /> -->
|
||||
<div style="display: flex;width: 100%;">
|
||||
<el-select :disabled="projectForme.id" v-model="projectForme.carrierName" filterable
|
||||
<el-select :disabled="projectForme.modifiableStatus == '1' ? true : false" v-model="projectForme.carrierName" filterable
|
||||
remote reserve-keyword style="width:100%" placeholder="请选择载机名称"
|
||||
:remote-method="remoteMethod2" :loading="aircraftLoading"
|
||||
@blur="blurChange('aircraftName', $event)">
|
||||
<el-option v-for="item in aircraftOptions" :key="item" :label="item" :value="item">
|
||||
</el-option>
|
||||
</el-select>
|
||||
<el-button :disabled="projectForme.id" style="padding: 0px 5px;margin-left: 5px;"
|
||||
<el-button :disabled="projectForme.modifiableStatus == '1' ? true : false" style="padding: 0px 5px;margin-left: 5px;"
|
||||
@click="saveSelect('aircraftName')"><img src="@/assets/MenuIcon/save.png" title="保存"
|
||||
alt=""></el-button>
|
||||
<el-button :disabled="projectForme.id" style="padding: 0px 5px;margin-left: 5px;"
|
||||
<el-button :disabled="projectForme.modifiableStatus == '1' ? true : false" style="padding: 0px 5px;margin-left: 5px;"
|
||||
@click="showSelectList('aircraftName')"><img src="@/assets/MenuIcon/set.png"
|
||||
title="设置" alt=""></el-button>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="设备代号_编号" prop="deviceCode" style="width: 50%;margin-left: 15px;">
|
||||
<el-input :disabled="projectForme.id" v-model="projectForme.deviceCode" maxlength="40"
|
||||
<el-input :disabled="projectForme.modifiableStatus == '1' ? true : false" v-model="projectForme.deviceCode" maxlength="40"
|
||||
show-word-limit />
|
||||
</el-form-item>
|
||||
</div>
|
||||
@ -1107,40 +1115,37 @@ function customSelectionChange(val: any) {
|
||||
<el-option v-for="item in customMultpieOptions" :key="item" :label="item" :value="item">
|
||||
</el-option>
|
||||
</el-select> -->
|
||||
<el-select :disabled="projectForme.id" v-model="customList" filterable remote
|
||||
<el-select :disabled="projectForme.modifiableStatus == '1' ? true : false" v-model="customList" filterable remote
|
||||
reserve-keyword style="width:100%" multiple placeholder="请选择试验标签项"
|
||||
:remote-method="remoteMethod4" :loading="customMultpieLoading"
|
||||
@blur="blurChange('taskLabel', $event)">
|
||||
<el-option v-for="item in customMultpieOptions" :key="item" :label="item" :value="item">
|
||||
</el-option>
|
||||
</el-select>
|
||||
<el-button :disabled="projectForme.id" style="padding: 0px 5px;margin-left: 5px;" @click="saveMultpieSelect"><img
|
||||
<el-button :disabled="projectForme.modifiableStatus == '1' ? true : false" style="padding: 0px 5px;margin-left: 5px;" @click="saveMultpieSelect"><img
|
||||
src="@/assets/MenuIcon/save.png" title="保存" alt=""></el-button>
|
||||
<el-button :disabled="projectForme.id" style="padding: 0px 5px;margin-left: 5px;" @click="showMultpieSelectList"><img
|
||||
<el-button :disabled="projectForme.modifiableStatus == '1' ? true : false" style="padding: 0px 5px;margin-left: 5px;" @click="showMultpieSelectList"><img
|
||||
src="@/assets/MenuIcon/set.png" title="设置" alt=""></el-button>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="传感器描述">
|
||||
<!-- <el-input v-model="projectForme.sensorDescribe" :rows="7" type="textarea" show-word-limit /> -->
|
||||
<div style="display: flex;width: 100%;">
|
||||
<el-select :disabled="projectForme.id" v-model="projectForme.sensorDescribe" filterable
|
||||
<el-select v-model="projectForme.sensorDescribe" filterable
|
||||
remote reserve-keyword style="width:100%" placeholder="请选择传感器描述"
|
||||
:remote-method="remoteMethod3" :loading="aircraftLoading"
|
||||
@blur="blurChange('sensorDescription', $event)">
|
||||
<el-option v-for="item in sensorDescribeOptions" :key="item" :label="item" :value="item">
|
||||
</el-option>
|
||||
</el-select>
|
||||
<el-button :disabled="projectForme.id" style="padding: 0px 5px;margin-left: 5px;"
|
||||
<el-button style="padding: 0px 5px;margin-left: 5px;"
|
||||
@click="saveSelect('sensorDescription')"><img src="@/assets/MenuIcon/save.png"
|
||||
title="保存" alt=""></el-button>
|
||||
<el-button :disabled="projectForme.id" style="padding: 0px 5px;margin-left: 5px;"
|
||||
<el-button style="padding: 0px 5px;margin-left: 5px;"
|
||||
@click="showSelectList('sensorDescription')"><img src="@/assets/MenuIcon/set.png"
|
||||
title="设置" alt=""></el-button>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="设备名称">
|
||||
<el-input v-model="projectForme.deviceName" maxlength="40" show-word-limit />
|
||||
</el-form-item> -->
|
||||
<el-form-item v-for="(item, index) in formitemarr" :key="index" :label="item.name">
|
||||
<div style="width: 100%;display: flex;align-items: center;justify-content: space-between;">
|
||||
<el-input v-model="item.data" style="width: 92%;" />
|
||||
@ -1150,7 +1155,7 @@ function customSelectionChange(val: any) {
|
||||
<div v-if="standAlone == false"
|
||||
style="width: 100%;display: flex;justify-content: space-between;align-items: center;">
|
||||
<el-form-item label="本地存储空间" prop="localStorageId" style="width: 50%;">
|
||||
<el-select v-model="projectForme.localStorageId" clearable placeholder=" "
|
||||
<el-select v-model="projectForme.localStorageId" clearable placeholder=" "
|
||||
:disabled="!shidou">
|
||||
<el-option v-for="item in localarr" :key="item.id" :label="item.name"
|
||||
:value="item.id" />
|
||||
|
||||
Loading…
Reference in New Issue
Block a user