发布时间:2025-06-24 18:00:44 作者:北方职教升学中心 阅读量:411
')+'数据为空,请重新输入后上传'console.log(errorMessage)this.$confirm(errorMessage,'系统提示',{confirmButtonText:'确定',showCancelButton:false,type:'warning',}).then(()=>{console.log('确定')})return}else{console.log('所有字段均有值,可以上传')}this.tableHeader =tableHeader this.excelData =formatExcelDataA(excelData,dayjs)this.dealExcelData()//处理成表格的数据模板}},XLSX,dayjs )},//处理数据dealExcelData(){// 获取第一个对象的键数组作为表头,并确保顺序与对象中属性的顺序相同this.tableHeader =transformTableHeader(this.tableHeader)console.log('表头:',this.tableHeader)this.tableData =transformTableData(this.tableHeader,this.excelData)// 转换数据格式console.log('这里是表数据tableData:',this.tableData)this.tableHeader =processTableHeaderLabel(this.tableHeader)this.$refs.singleTable.doLayout()},//监听下拉框变化handleSelectChange(number){constdateTimeRegex =/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/switch(number){case1:this.stationCodeTemp =this.tableData.map((row)=>row[this.formLabelTop.stationCode])console.log('🚀 ~ handleSelectChange ~ this.stationCodeTemp :',this.stationCodeTemp)breakcase2:this.curveNameTemp =this.tableData.map((row)=>row[this.formLabelTop.curveName])console.log('🚀 ~ handleSelectChange ~ this.curveNameTemp:',this.curveNameTemp)breakcase3:for(leti =0;i <this.tableData.length;i++){constrow =this.tableData[i]constvalue =row[this.formLabelTop.enableTime]console.log('🚀 ~ handleSelectChange ~ value:',value)// 判断值是否不是 'YYYY-MM-DD HH:mm:ss' 格式if(!dateTimeRegex.test(value)){console.log('value不是YYYY-MM-DD HH:mm:ss格式')this.formLabelTop.enableTime =''this.$modal.msgWarning('BGTM字段需为日期,字段类型不匹配,请重新选择')return}}this.enableTimeTemp =this.tableData.map((row)=>row[this.formLabelTop.enableTime])console.log('🚀 ~ handleSelectChange ~ this.enableTimeTemp :',this.enableTimeTemp)breakcase4:for(leti =0;i <this.tableData.length;i++){constrow =this.tableData[i]constvalue =row[this.formLabelTop.pointNum]console.log('🚀 ~ handleSelectChange ~ value:',value)// 在这里放置对 value 值的判断逻辑if(typeofvalue !=='number'||!Number.isInteger(value)){console.log('value不是整数')this.formLabelTop.pointNum =''this.$modal.msgWarning('PTNO字段需为整型,字段类型不匹配,请重新选择')return}}this.pointNumTemp =this.tableData.map((row)=>row[this.formLabelTop.pointNum])console.log('🚀 ~ handleSelectChange ~ this.pointNumTemp:',this.pointNumTemp)breakcase5:for(leti =0;i <this.tableData.length;i++){constrow =this.tableData[i]constvalue =row[this.formLabelTop.waterLevel]console.log('🚀 ~ handleSelectChange ~ value:',value)// 在这里放置对 value 值的判断逻辑if(typeofvalue !=='number'){console.log('waterLevel中有数据不是number')this.formLabelTop.waterLevel =''this.$modal.msgWarning('Z字段需为浮点型,字段类型不匹配,请重新选择')return}}this.waterLevelTemp =this.tableData.map((row)=>row[this.formLabelTop.waterLevel])console.log('🚀 ~ handleSelectChange ~ this.waterLevelTemp:',this.waterLevelTemp)breakcase6:for(leti =0;i <this.tableData.length;i++){constrow =this.tableData[i]constvalue =row[this.formLabelTop.flow]console.log('🚀 ~ handleSelectChange ~ value:',value)// 在这里放置对 value 值的判断逻辑if(typeofvalue !=='number'){console.log('flow中有数据不是number')this.formLabelTop.flow =''this.$modal.msgWarning('Q字段需为浮点型,字段类型不匹配,请重新选择')return}}console.log('flow++++++')this.flowTemp =this.tableData.map((row)=>row[this.formLabelTop.flow])console.log('🚀 ~ handleSelectChange ~ this.flowTemp:',this.flowTemp)breakcase7:this.columnCommentsTemp =this.tableData.map((row)=>row[this.formLabelTop.columnComments])console.log('🚀 ~ handleSelectChange ~ this.columnCommentsTemp:',this.columnCommentsTemp)breakcase8:for(leti =0;i <this.tableData.length;i++){constrow =this.tableData[i]constvalue =row[this.formLabelTop.columnModitime]console.log('🚀 ~ handleSelectChange ~ value:',value)// 判断值是否不是 'YYYY-MM-DD HH:mm:ss' 格式if(!dateTimeRegex.test(value)){console.log('value不是YYYY-MM-DD HH:mm:ss格式')this.formLabelTop.columnModitime =''this.$modal.msgWarning('MODITIME字段需为日期,字段类型不匹配,请重新选择')return}}this.columnModitimeTemp =this.tableData.map((row)=>row[this.formLabelTop.columnModitime])console.log('🚀 ~ handleSelectChange ~ this.columnModitimeTemp:',this.columnModitimeTemp)breakcase9:console.log('🚀 ~ handleSelectChange ~ this.tableData:',this.tableData)this.columnExkeyTemp =this.tableData.map((row)=>row[this.formLabelTop.columnExkey])console.log('🚀 ~ handleSelectChange ~ this.columnExkeyTemp:',this.columnExkeyTemp)breakdefault:console.log('number 参数不正确')break}},//处理下拉框的曲线数据dealData2(){// 定义属性数组letpropArrays =[this.stationCodeTemp,this.curveNameTemp,this.enableTimeTemp,this.pointNumTemp,this.waterLevelTemp,this.flowTemp,this.columnCommentsTemp,this.columnModitimeTemp,this.columnExkeyTemp,]// 遍历属性数组for(leti =0;i <Math.max(...propArrays.map((arr)=>arr.length));i++){// 创建新的对象letnewObj ={formulaId:null,stationCode:'',curveName:'',enableTime:'',pointNum:'',waterLevel:'',flow:'',columnComments:'',columnModitime:'',columnExkey:'',}// 遍历属性数组并赋值propArrays.forEach((arr,index)=>{if(i <arr.length){newObj[Object.keys(newObj)[index +1]]=arr[i]}})// 将对象添加到结果数组中this.curveInfoTemp.push(newObj)}constobj ={tableHeader:this.tableHeader,fileName:this.responseName,stationCode:this.formLabelTop.stationCode,curveName:this.formLabelTop.curveName,enableTime:this.formLabelTop.enableTime,pointNum:this.formLabelTop.pointNum,waterLevel:this.formLabelTop.waterLevel,flow:this.formLabelTop.flow,columnComments:this.formLabelTop.columnComments,columnModitime:this.formLabelTop.columnModitime,columnExkey:this.formLabelTop.columnExkey,}this.curveColumnMappingTemp =JSON.stringify(obj)console.log(this.curveInfoTemp)},//移除文件beforeRemove(file,fileList){this.isUpload =falsethis.tableHeader =[]this.tableData =[]this.responseName =''this.formLabelTop ={stationCode:'',curveName:'',enableTime:'',pointNum:'',waterLevel:'',flow:'',columnComments:'',columnModitime:'',columnExkey:'',}this.$nextTick(()=>{this.$refs['formLabelTop'].clearValidate()})},},}</script><style></style>