网站关键词最多几个,苏州制作网页公司,英文网站备案,市场监督管理局权力大不大我们的需求是根据不同的厂配不同的多级表头,每个表头有需要合并的项,并且不确定
如图所示 对表格进行循环操作,此处不赘述,最下方有全部代码 表头是单独写在js方便后期更改,然后引入js文件,然后根据情况去调取 // 获取表头getHeader(nv) {this.factoryCodes nv;this.heade…我们的需求是根据不同的厂配不同的多级表头,每个表头有需要合并的项,并且不确定
如图所示 对表格进行循环操作,此处不赘述,最下方有全部代码 表头是单独写在js方便后期更改,然后引入js文件,然后根据情况去调取 // 获取表头getHeader(nv) {this.factoryCodes nv;this.headerRow2 [];// xx污水处理厂if (nv zgjn-H WS 0101) {//修改表头this.tableHeader deviceRunReportHead[1];this.headerRow2 [紫外线杀菌装置]; // 需要合并的表头名称数组} else if (nv zgjn-H WS 0106) {// xx污水处理厂this.tableHeader deviceRunReportHead[2];this.headerRow2 [紫外线杀菌装置, 除臭系统]; // 需要合并的表头名称数组} else if (nv zgjn-H WS 0105) {//xx污水处理厂this.tableHeader deviceRunReportHead[3];this.headerRow2 [紫外线杀菌装置, 除臭系统]; // 需要合并的表头名称数组} else {// 其他厂this.tableHeader deviceRunReportHead[3];}// 刷新表格样式this.$nextTick(() {this.$refs.slantTable.doLayout();this.getTableDom();});this.keyIndex; // 此处是重点,更新完表头之后必须强制刷新表格,否则上一次合并的信息会影响此次合并,keyIndex在el-table的key上,},以下是合并方法 //表头样式设置将“紫外线杀菌装置”字段设置为行高2默认是行高1并将其所占行偏移的部分设置为noneheaderStyle({ row, column, rowIndex, columnIndex }) {if (this.headerRow2.includes(column.label)) {this.$nextTick(() {if (document.getElementsByClassName(column.id).length ! 0) {document.getElementsByClassName(column.id)[0].setAttribute(rowSpan, 2); // 默认合并两行,因为我这都是最多只需要合并两行return false;}});return column;}if (column.label undefined) { // 最后一层是没有name的即没有label,则取消合并return { display: none };}},下方是全部vue代码
!-- 设备运行记录表 --
templatediv classdeviceRunReport-templatepageIndexTemp refreshrefreshTableDom!-- 查询框 --el-form refform slotsearchBox :modelform inline sizesmallel-form-item label日期 classdate_itemel-date-pickerv-modelform.queryTimeDaytypedateplaceholder选择日期value-formatyyyy-MM-dd:clearablefalsestylewidth: 160px/el-date-picker/el-form-itemel-form-item label城镇污水处理厂el-selectv-modelform.assetCodeplaceholder请选择城镇污水处理厂el-optionv-foritem in townSwagePlantList:keyitem.id:labelitem.aname:valueitem.acode/el-option/el-select/el-form-itemel-form-itemel-buttontypeprimaryiconel-icon-searchclickonSearchsizemini筛选/el-button/el-form-item/el-form!-- 右边按钮 --div slotbtnsRel-buttoniconel-icon-downloadclickonExport(1)sizeminitypeprimary按日导出/el-buttonel-buttoniconel-icon-downloadclickonExport(2)v-iftype 1sizeminitypeprimary按月导出/el-button/div!-- 表格 --div classtable slottablePage v-loadingLoadingdivclassslantTableStyle:style{--slantOneColWidth: tableOneColWidth px,--tableWidth: tableWidth,}el-table:datatableDatarefslantTable:header-cell-styleheaderStyleheight100%border:keykeyIndexel-table-columnv-for(column1, index) in tableHeader:keyindex:labelcolumn1.name:aligncolumn1.align ? column1.align : tableAlignDef:widthcolumn1.widthel-table-columnv-for(column2, index2) in column1.columns:keyindex2:propcolumn2.prop:labelcolumn2.name:aligncolumn2.align ? column2.align : tableAlignDef:widthcolumn2.width ? column2.width : tableMinColumnWidthel-table-columnv-for(column3, index3) in column2.columns:keyindex3:propcolumn3.prop:labelcolumn3.name:aligncolumn3.align ? column3.align : tableAlignDef:widthtableMinColumnWidthtemplate slot-scopescope!-- 编辑 --divv-if(type 3 scope.row.isEdit !disabledProp.includes(column3.prop)) ||(type 2 scope.row.isEdit scope.row.editProp.includes(column3.prop))el-selectv-modelscope.row[column3.prop]placeholder请选择sizeminiclearableel-optionv-foritem in options:keyitem.value:labelitem.label:valueitem.value/el-option/el-select/divdiv v-else{{disabledProp.includes(column3.prop)? formatTime(scope.row[column3.prop]): formatStatus(scope.row[column3.prop])}}/div/template/el-table-columntemplate slot-scopescope!-- 编辑 --divv-if(type 3 scope.row.isEdit !disabledProp.includes(column2.prop)) ||(type 2 scope.row.isEdit scope.row.editProp.includes(column2.prop))el-selectv-modelscope.row[column2.prop]placeholder请选择sizeminiclearableel-optionv-foritem in options:keyitem.value:labelitem.label:valueitem.value/el-option/el-select/divdiv v-else{{disabledProp.includes(column2.prop)? formatTime(scope.row[column2.prop]): formatStatus(scope.row[column2.prop])}}/div/template/el-table-columntemplate slot-scopescope!-- 编辑 --divv-if(type 3 scope.row.isEdit !disabledProp.includes(column1.prop)) ||(type 2 scope.row.isEdit scope.row.editProp.includes(column1.prop))el-selectv-modelscope.row[column1.prop]placeholder请选择sizeminiclearableel-optionv-foritem in options:keyitem.value:labelitem.label:valueitem.value/el-option/el-select/divdiv v-else{{disabledProp.includes(column1.prop)? formatTime(scope.row[column1.prop]): formatStatus(scope.row[column1.prop])}}/div/template/el-table-columnel-table-columnfixedrightlabel操作aligncenterwidth100v-iftype ! 1template slot-scopescopeel-buttontypeprimaryplainsizeminiv-iftype 3 !scope.row.isEdit compareTime(scope.row)clickhandleClickEdit(scope.$index, scope.row)编辑/el-buttonel-buttontypeprimaryplainsizeminiv-iftype 2 ifShowEdit(scope.row) !scope.row.isEdit compareTime(scope.row)clickhandleClickEdit(scope.$index, scope.row)编辑/el-buttonel-buttontypeprimarysizeminiv-ifscope.row.isEditclickhandleClickSaveRow(scope.$index, scope.row)保存/el-button/template/el-table-columndiv slotappend classappendTable填表要求1、正常运行√2、故障×3、备用停机△4、其他开机时间或停机时间等情况请填写备注栏/div/el-table/div/div/pageIndexTemp/div
/templatescript
import moment from moment;
import cloneDeep from lodash.clonedeep;
import { downloadXls, downloadZip } from /utils/download;
import pageIndexTemp from ../../../components/pageIndexTemp.vue;
import { deviceRunReportHead } from /utils/deviceRunReportHead.js;export default {name: deviceRunReport,components: { pageIndexTemp },props: {// 说明// 1 - 不可编辑仅展示默认值是1// 2 - 空白处可编辑保存后已填入部分不可编辑单行无空白不出现任何按钮// 3 - 除部分固定字段外数据可编辑出现按钮type: {type: Number,default: 1,},},filters: {},data() {return {//查询参数form: {queryTimeDay: moment().format(yyyy-MM-DD),assetCode: ,},Loading: false,// 城镇污水厂列表townSwagePlantList: [],//表格数据tableData: [],tableOneColWidth: 100,tableMinColumnWidth: 80,tableWidth: 0px,tableAlignDef: center,tableHeader: [],options: [{ label: √, value: 0 },{ label: △, value: 1 },{ label: ×, value: 2 },],disabledProp: [time],queryTime: ,assetCode: ,assetName: ,startForm: {},factoryCodes: ,headerRow2: [],keyIndex: 1,};},mounted() {this.getTableDom();},created() {this.getTownSwagePlantList();},methods: {//查询onSearch() {// this.getHeader(this.form.assetCode);this.getTableData();},// 查询城镇污水厂列表getTownSwagePlantList() {this.$api.reportManagement.getAssetList({ level: 1, cId: 42 }).then((res) {this.townSwagePlantList res.data || [];if (this.townSwagePlantList.length 0) {this.form.assetCode this.townSwagePlantList[0].acode;this.assetCode this.form.assetCode;// this.getHeader(this.form.assetCode); // 获取表头this.assetName this.townSwagePlantList[0].aname;this.getTableData();}});},// 获取表头getHeader(nv) {this.factoryCodes nv;this.headerRow2 [];// xx污水处理厂if (nv zgjn-H WS 0101) {//修改表头this.tableHeader deviceRunReportHead[1];this.headerRow2 [紫外线杀菌装置]; // 需要合并的表头} else if (nv zgjn-H WS 0106) {// xx污水处理厂this.tableHeader deviceRunReportHead[2];this.headerRow2 [紫外线杀菌装置, 除臭系统]; // 需要合并的表头} else if (nv zgjn-H WS 0105) {// xx污水处理厂this.tableHeader deviceRunReportHead[3];this.headerRow2 [紫外线杀菌装置, 除臭系统]; // 需要合并的表头} else {// 其他厂this.tableHeader deviceRunReportHead[3];}// 刷新表格样式this.$nextTick(() {this.$refs.slantTable.doLayout();this.getTableDom();});this.keyIndex;},//查询表格数据getTableData() {this.Loading true;this.queryTime this.form.queryTimeDay;this.assetCode this.form.assetCode;this.assetName this.townSwagePlantList.find((item) item.acode this.assetCode).aname || ;this.startForm JSON.parse(JSON.stringify(this.form));this.$api.reportManagement.getDeviceState(this.form).then((res) {if (res.code 200) {this.tableData res.data || [];this.getHeader(this.form.assetCode); // 获取表头} else {this.$message.error(res.msg);}this.Loading false;}).catch(() {this.Loading false;});},// 更新table domrefreshTableDom() {this.$nextTick(() {this.$refs.slantTable.doLayout();});},// 时间转换formatTime(val) {return moment(val).format(HH:mm);},//获取table的DOM元素筛查出el-table__header的DOM并获取其宽度用以控制append部分的宽度设置getTableDom() {let slantTable this.$refs.slantTable;let tableDom slantTable.$children.find((el) el.$el.className el-table__header);this.tableWidth tableDom.table.bodyWidth;},//表头样式设置将“紫外线杀菌装置”字段设置为行高2默认是行高1并将其所占行偏移的部分设置为noneheaderStyle({ row, column, rowIndex, columnIndex }) {if (this.headerRow2.includes(column.label)) {this.$nextTick(() {if (document.getElementsByClassName(column.id).length ! 0) {document.getElementsByClassName(column.id)[0].setAttribute(rowSpan, 2);return false;}});return column;}if (column.label undefined) {return { display: none };}},// 点击导出按钮onExport(val) {if (this.form.assetCode || this.form.queryTimeDay ) {this.$message.warning(请选择日期和污水厂后再进行导出);return;}let flag JSON.stringify(this.form) JSON.stringify(this.startForm);// 按日导出重新搜索列表if (val 1 !flag) {this.getTableData();}let obj this.townSwagePlantList.find((item) item.acode this.form.assetCode);let names val 1? this.form.queryTimeDay: moment(this.form.queryTimeDay).format(yyyy-MM) 月;if (obj) {this.handelDownload(obj, names, val);}},// 下载xls/zip文件handelDownload(obj, names, val) {let fileName obj.aname 设备运行记录表 names 导出数据;let newName val 1 ? .xls : .zip;this.$confirm(此操作将下载${fileName}${newName} 文件, 是否继续?,提示,{confirmButtonText: 确定,cancelButtonText: 取消,type: warning,}).then(() {const datas {type: val,...this.form,};this.$api.reportManagement.exportDeviceState(datas).then((res) {val 1 ? downloadXls(res, fileName) : downloadZip(res, fileName);});}).catch(() {this.$message({type: info,message: 已取消下载${names}数据,});});},// 判断是否显示编辑按钮ifShowEdit(row) {let cloneRow cloneDeep(row);let arr [];let keys Object.keys(cloneRow);for (let i 0; i keys.length; i) {if (!cloneRow[keys[i]]) {arr.push(keys[i]);}}return arr.length 0 ? true : false;},// 判断当前时间是否会显示编辑按钮compareTime(val) {let current moment(new Date()).valueOf();let time moment(val.time).valueOf();return time current ? true : false;},// 点击编辑按钮handleClickEdit(index, row) {if (this.queryTime ! this.form.queryTimeDay ||this.assetCode ! this.form.assetCode) {this.$message.warning(查询条件和列表数据不一致不可编辑);return false;}this.$set(row, isEdit, true);// 当type2时部分可编辑if (this.type 2) {this.$set(row, editProp, []);let keys Object.keys(row);for (let i 0; i keys.length; i) {if (!row[keys[i]]) {row.editProp.push(keys[i]);}}}},// 点击保存按钮handleClickSaveRow(index, row) {console.log(index, row);let arr this.multSaveIndexArr();if (arr.length 1) {this.$confirm(当前页面存在多条数据需要保存, 是否继续?, 提示, {confirmButtonText: 确定,cancelButtonText: 取消,type: warning,}).then(() {let times 0;arr.map((i) {this.$set(this.tableData[i], isEdit, false);let editRow cloneDeep(this.tableData[i]);if (this.type 2) {delete editRow.editProp;}delete editRow.isEdit;this.$set(editRow, acquisitionTime, editRow.time);delete editRow.time;this.$api.reportManagement[editRow.id ? editDeviceData : addDeviceData](editRow.id ? editRow : this.getAddRow(editRow)).then(() {times;if (times arr.length) {this.$message.success(编辑成功);this.getTableData();}});});}).catch(() {this.$message({type: info,message: 已取消,});});} else {this.$set(row, isEdit, false);if (this.type 2) {delete row.editProp;}let editRow cloneDeep(row);delete editRow.isEdit;delete editRow.time;this.$set(editRow, acquisitionTime, row.time);if (editRow.id) {this.editEvent(editRow);} else {let addRow this.getAddRow(editRow);console.log(addRow, addRow);this.addEvent(addRow);}}},//获取新增数据getAddRow(row) {this.$set(row, acode, this.assetCode);this.$set(row, aname, this.assetName);return row;},// 单条数据-新增事件addEvent(form) {this.$api.reportManagement.addDeviceData(form).then((res) {if (res.code 200) {this.$message.success(编辑成功);this.getTableData();} else {this.$message.error(res.msg);}});},// 单条数据-编辑事件editEvent(form) {console.log(form, form);this.$api.reportManagement.editDeviceData(form).then((res) {if (res.code 200) {this.$message.success(编辑成功);this.getTableData();} else {this.$message.error(res.msg);}});},// 判断当前是否有多个保存的需求multSaveIndexArr() {let arr [];this.tableData.map((item, index) {if (item.isEdit) {arr.push(index);}});return arr;},// 转换状态formatStatus(val) {if (val) {let obj this.options.find((item) item.value val);return obj ? obj.label : ;} else {return val;}},},
};
/script
style langless
import ../../../../assets/css/element-ui.less;
.deviceRunReport-template {width: 100%;height: 100%;.date_item {margin: 0 20px 0 24px;}.table {height: 100%;.slantTableStyle {width: 100%;height: 100%;.appendTable {box-sizing: border-box;padding: 12px;}.el-table {.el-table__header {position: relative;}.el-table__append-wrapper {width: var(--tableWidth);}.el-table__body-wrapper {overflow: auto;}thead {::before {width: var(--slantOneColWidth);height: 100%;position: absolute;top: 0;left: 0;display: block;content: ;z-index: 1;box-sizing: border-box;background-image: linear-gradient(to bottom left,transparent 49.5%,tableBorder,transparent 50.5%);}.is-group tr:first-of-type th:first-of-type {border-bottom: none;}}}}}
}
/style下面是js代码
/*** 工艺运行记录表表头*/
export const craftRunReportHead {1: [{name: 巡视时间,prop: time,},{name: 污水处理量,columns: [{name: 进水瞬时 流量m³/h,prop: inInstantFlow,rule: isFloat,columns: [{name: 1#系列,prop: inInstantFlow1,rule: isFloat,},{name: 2#系列,prop: inInstantFlow2,rule: isFloat,},],},{name: 出水瞬时 流量m³/h,prop: outInstantFlow,rule: isFloat,},{name: 内回流瞬时 流量m³/h,prop: inGyrusInstantFlow,rule: isFloat,columns: [{name: 1#系列,prop: inGyrusInstantFlow1,rule: isFloat,},{name: 2#系列,prop: inGyrusInstantFlow2,rule: isFloat,},],},{name: 外回流瞬时 流量m³/h,prop: exGyrusInstantFlow,rule: isFloat,columns: [{name: 1#系列,prop: exGyrusInstantFlow1,rule: isFloat,},{name: 2#系列,prop: exGyrusInstantFlow2,rule: isFloat,},],},],},{name: PH值,columns: [{columns: [{name: 进水,prop: inPh,rule: isFloat,},{name: 出水,prop: outPh,rule: isFloat,},],},],},{name: COD mg/L,columns: [{columns: [{name: 进水,prop: inCod,rule: isFloat,},{name: 出水,prop: outCod,rule: isFloat,},],},],},{name: 氨氮mg/L,columns: [{columns: [{name: 进水,prop: inNh3n,rule: isFloat,},{name: 出水,prop: outNh3n,rule: isFloat,},],},],},{name: 总磷mg/L,columns: [{columns: [{name: 进水,prop: inTp,rule: isFloat,},{name: 出水,prop: outTp,rule: isFloat,},],},],},{name: 总氮mg/L,columns: [{columns: [{name: 进水,prop: inTn,rule: isFloat,},{name: 出水,prop: outTn,rule: isFloat,},],},],},{name: DO仪表mg/L,columns: [{name: 厌氧池,columns: [{name: 1#系列,prop: anaerobicTank1,rule: isFloat,},{name: 2#系列,prop: anaerobicTank2,rule: isFloat,},],},{name: 缺氧池,columns: [{name: 1#系列,prop: anoxicPool1,rule: isFloat,},{name: 2#系列,prop: anoxicPool2,rule: isFloat,},],},{name: 1#好氧池,columns: [{name: 前端,prop: aerobicTank1Before,rule: isFloat,},{name: 后端,prop: aerobicTank1After,rule: isFloat,},],},{name: 2#好氧池,columns: [{name: 前端,prop: aerobicTank2Before,rule: isFloat,},{name: 后端,prop: aerobicTank2After,rule: isFloat,},],},],},{name: ORP仪表,columns: [{name: mv,columns: [{name: 厌氧池,prop: orpAnaerobicPool,rule: isFloat,},],},{name: mv,columns: [{name: 1#好氧池,prop: orpAerobicPool1,rule: isFloat,},],},{name: mv,columns: [{name: 2#好氧池,prop: orpAerobicPool2,rule: isFloat,},],},],},{name: MLSS (污泥浓度),columns: [{name: mg/L,columns: [{name: 1#好氧池,prop: mlss1,rule: isFloat,},],},{name: mg/L,columns: [{name: 2#好氧池,prop: mlss2,rule: isFloat,},],},],},{name: SV302-4次/天,columns: [{name: %,columns: [{name: 1#好氧池,prop: sv30One,rule: isFloat,},],},{name: %,columns: [{name: 2#好氧池,prop: sv30Two,rule: isFloat,},],},],},{name: 进水温度/盐度,prop: inTemOrSal,rule: isFloat,},],2: [{name: 巡视时间,prop: time,},{name: 污水处理量,columns: [{name: 进水瞬时 流量m³/h,prop: inInstantFlow,rule: isFloat,columns: [{name: 1#系列,prop: inInstantFlow1,rule: isFloat,},{name: 2#系列,prop: inInstantFlow2,rule: isFloat,},],},{name: 出水瞬时 流量m³/h,prop: outInstantFlow,rule: isFloat,},{name: 内回流瞬时 流量m³/h,prop: inGyrusInstantFlow,rule: isFloat,columns: [{name: 1#系列,prop: inGyrusInstantFlow1,rule: isFloat,},{name: 2#系列,prop: inGyrusInstantFlow2,rule: isFloat,},],},{name: 外回流瞬时 流量m³/h,prop: exGyrusInstantFlow,rule: isFloat,columns: [{name: 1#系列,prop: exGyrusInstantFlow1,rule: isFloat,},{name: 2#系列,prop: exGyrusInstantFlow2,rule: isFloat,},],},],},{name: PH值,columns: [{columns: [{name: 进水,prop: inPh,rule: isFloat,},{name: 出水,prop: outPh,rule: isFloat,},],},],},{name: COD mg/L,columns: [{columns: [{name: 进水,prop: inCod,rule: isFloat,},{name: 出水,prop: outCod,rule: isFloat,},],},],},{name: 氨氮mg/L,columns: [{columns: [{name: 进水,prop: inNh3n,rule: isFloat,},{name: 出水,prop: outNh3n,rule: isFloat,},],},],},{name: 总磷mg/L,columns: [{columns: [{name: 进水,prop: inTp,rule: isFloat,},{name: 出水,prop: outTp,rule: isFloat,},],},],},{name: 总氮mg/L,columns: [{columns: [{name: 进水,prop: inTn,rule: isFloat,},{name: 出水,prop: outTn,rule: isFloat,},],},],},{name: DO仪表mg/L,columns: [{name: 厌氧池,columns: [{name: 1#系列,prop: anaerobicTank1,rule: isFloat,},{name: 2#系列,prop: anaerobicTank2,rule: isFloat,},],},{name: 缺氧池,columns: [{name: 1#系列,prop: anoxicPool1,rule: isFloat,},{name: 2#系列,prop: anoxicPool2,rule: isFloat,},],},{name: 1#好氧池,columns: [{name: 前端,prop: aerobicTank1Before,rule: isFloat,},{name: 后端,prop: aerobicTank1After,rule: isFloat,},],},{name: 2#好氧池,columns: [{name: 前端,prop: aerobicTank2Before,rule: isFloat,},{name: 后端,prop: aerobicTank2After,rule: isFloat,},],},],},{name: MLSS (污泥浓度),columns: [{name: mg/L,columns: [{name: 1#好氧池,prop: mlss1,rule: isFloat,},],},{name: mg/L,columns: [{name: 2#好氧池,prop: mlss2,rule: isFloat,},],},],},{name: SV302-4次/天,columns: [{name: %,columns: [{name: 1#好氧池,prop: sv30One,rule: isFloat,},],},{name: %,columns: [{name: 2#好氧池,prop: sv30Two,rule: isFloat,},],},],},{name: 二沉池泥水界面仪,columns: [{name: m,columns: [{name: 1#二沉池,prop: sedimentationTank1,rule: isFloat,},],},{name: m,columns: [{name: 2#二沉池,prop: sedimentationTank2,rule: isFloat,},],},],},{name: 进水温度/盐度,prop: inTemOrSal,rule: isFloat,},],// 其他水厂3: [{name: 巡视时间,prop: time,},{name: 污水处理量,columns: [{name: 进水瞬时 流量m³/h,prop: inInstantFlow,rule: isFloat,columns: [{name: 1#系列,prop: inInstantFlow1,rule: isFloat,},{name: 2#系列,prop: inInstantFlow2,rule: isFloat,},],},{name: 出水瞬时 流量m³/h,prop: outInstantFlow,rule: isFloat,},{name: 内回流瞬时 流量m³/h,prop: inGyrusInstantFlow,rule: isFloat,columns: [{name: 1#系列,prop: inGyrusInstantFlow1,rule: isFloat,},{name: 2#系列,prop: inGyrusInstantFlow2,rule: isFloat,},],},{name: 外回流瞬时 流量m³/h,prop: exGyrusInstantFlow,rule: isFloat,columns: [{name: 1#系列,prop: exGyrusInstantFlow1,rule: isFloat,},{name: 2#系列,prop: exGyrusInstantFlow2,rule: isFloat,},],},],},{name: PH值,columns: [{columns: [{name: 进水,prop: inPh,rule: isFloat,},{name: 出水,prop: outPh,rule: isFloat,},],},],},{name: COD mg/L,columns: [{columns: [{name: 进水,prop: inCod,rule: isFloat,},{name: 出水,prop: outCod,rule: isFloat,},],},],},{name: 氨氮mg/L,columns: [{columns: [{name: 进水,prop: inNh3n,rule: isFloat,},{name: 出水,prop: outNh3n,rule: isFloat,},],},],},{name: 总磷mg/L,columns: [{columns: [{name: 进水,prop: inTp,rule: isFloat,},{name: 出水,prop: outTp,rule: isFloat,},],},],},{name: 总氮mg/L,columns: [{columns: [{name: 进水,prop: inTn,rule: isFloat,},{name: 出水,prop: outTn,rule: isFloat,},],},],},{name: DO仪表mg/L,columns: [{name: 厌氧池,columns: [{name: 1#系列,prop: anaerobicTank1,rule: isFloat,},{name: 2#系列,prop: anaerobicTank2,rule: isFloat,},],},{name: 缺氧池,columns: [{name: 1#系列,prop: anoxicPool1,rule: isFloat,},{name: 2#系列,prop: anoxicPool2,rule: isFloat,},],},{name: 1#好氧池,columns: [{name: 前端,prop: aerobicTank1Before,rule: isFloat,},{name: 后端,prop: aerobicTank1After,rule: isFloat,},],},{name: 2#好氧池,columns: [{name: 前端,prop: aerobicTank2Before,rule: isFloat,},{name: 后端,prop: aerobicTank2After,rule: isFloat,},],},],},{name: MLSS (污泥浓度),columns: [{name: mg/L,columns: [{name: 1#好氧池,prop: mlss1,rule: isFloat,},],},{name: mg/L,columns: [{name: 2#好氧池,prop: mlss2,rule: isFloat,},],},],},{name: SV302-4次/天,columns: [{name: %,columns: [{name: 1#好氧池,prop: sv30One,rule: isFloat,},],},{name: %,columns: [{name: 2#好氧池,prop: sv30Two,rule: isFloat,},],},],},{name: 二沉池泥水界面仪,columns: [{name: m,columns: [{name: 1#二沉池,prop: sedimentationTank1,rule: isFloat,},],},{name: m,columns: [{name: 2#二沉池,prop: sedimentationTank2,rule: isFloat,},],},{name: m,columns: [{name: 3#二沉池,prop: sedimentationTank3,rule: isFloat,},],},{name: m,columns: [{name: 4#二沉池,prop: sedimentationTank4,rule: isFloat,},],},],},{name: 进水温度/盐度,prop: inTemOrSal,rule: isFloat,},],
};