|  | @@ -48,42 +48,42 @@
 | 
	
		
			
				|  |  |      <!-- 监测点 -->
 | 
	
		
			
				|  |  |      <!-- 监测点 -->
 | 
	
		
			
				|  |  |      <div class="l_Dialog">
 | 
	
		
			
				|  |  | -    <div class=" jiancedian asideg1" v-show="monitor">
 | 
	
		
			
				|  |  | -      <div class="jc_header he_pading color1">
 | 
	
		
			
				|  |  | -        <el-form-item label="污染物选择:">
 | 
	
		
			
				|  |  | -          <el-select v-model="formInline.region" placeholder="请选择">
 | 
	
		
			
				|  |  | -            <el-option
 | 
	
		
			
				|  |  | -              v-for="item in strResultFormatlist"
 | 
	
		
			
				|  |  | -              :key="item.id"
 | 
	
		
			
				|  |  | -              :label="item.name"
 | 
	
		
			
				|  |  | -              :value="item.value"
 | 
	
		
			
				|  |  | -            ></el-option>
 | 
	
		
			
				|  |  | -          </el-select>
 | 
	
		
			
				|  |  | -        </el-form-item>
 | 
	
		
			
				|  |  | -      </div>
 | 
	
		
			
				|  |  | -      <div class="jc_content tablecolor">
 | 
	
		
			
				|  |  | -        <div class="jc_padding">
 | 
	
		
			
				|  |  | -          <div class="xian">
 | 
	
		
			
				|  |  | -            <el-table
 | 
	
		
			
				|  |  | -              :data="tableData2"
 | 
	
		
			
				|  |  | -              style="width: 100%"
 | 
	
		
			
				|  |  | -              @current-change="handleCurrentChange"
 | 
	
		
			
				|  |  | -              :row-class-name="tableRowClassName"
 | 
	
		
			
				|  |  | -              :header-cell-style="{ background: 'rgba(13, 22, 57, 0.96) ' }"
 | 
	
		
			
				|  |  | -            >
 | 
	
		
			
				|  |  | -              <el-table-column prop="date" label="监测点名称" width="120" />
 | 
	
		
			
				|  |  | -              <el-table-column prop="name" label="水位(m)" />
 | 
	
		
			
				|  |  | -              <el-table-column prop="name" label="流量(m³/s)" />
 | 
	
		
			
				|  |  | -            </el-table>
 | 
	
		
			
				|  |  | -          </div>
 | 
	
		
			
				|  |  | +      <div class="jiancedian asideg1" v-show="monitor">
 | 
	
		
			
				|  |  | +        <div class="jc_header he_pading color1">
 | 
	
		
			
				|  |  | +          <el-form-item label="污染物选择:">
 | 
	
		
			
				|  |  | +            <el-select v-model="formInline.region" placeholder="请选择">
 | 
	
		
			
				|  |  | +              <el-option
 | 
	
		
			
				|  |  | +                v-for="item in strResultFormatlist"
 | 
	
		
			
				|  |  | +                :key="item.id"
 | 
	
		
			
				|  |  | +                :label="item.name"
 | 
	
		
			
				|  |  | +                :value="item.value"
 | 
	
		
			
				|  |  | +              ></el-option>
 | 
	
		
			
				|  |  | +            </el-select>
 | 
	
		
			
				|  |  | +          </el-form-item>
 | 
	
		
			
				|  |  |          </div>
 | 
	
		
			
				|  |  | -        <div class="jc_header color1">
 | 
	
		
			
				|  |  | -          <span class="jc_tile">锋面定义</span>
 | 
	
		
			
				|  |  | +        <div class="jc_content tablecolor">
 | 
	
		
			
				|  |  | +          <div class="jc_padding">
 | 
	
		
			
				|  |  | +            <div class="xian">
 | 
	
		
			
				|  |  | +              <el-table
 | 
	
		
			
				|  |  | +                :data="tableData2"
 | 
	
		
			
				|  |  | +                style="width: 100%"
 | 
	
		
			
				|  |  | +                @current-change="handleCurrentChange"
 | 
	
		
			
				|  |  | +                :row-class-name="tableRowClassName"
 | 
	
		
			
				|  |  | +                :header-cell-style="{ background: 'rgba(13, 22, 57, 0.96) ' }"
 | 
	
		
			
				|  |  | +              >
 | 
	
		
			
				|  |  | +                <el-table-column prop="date" label="监测点名称" width="120" />
 | 
	
		
			
				|  |  | +                <el-table-column prop="name" label="水位(m)" />
 | 
	
		
			
				|  |  | +                <el-table-column prop="name" label="流量(m³/s)" />
 | 
	
		
			
				|  |  | +              </el-table>
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  | +          </div>
 | 
	
		
			
				|  |  | +          <div class="jc_header color1">
 | 
	
		
			
				|  |  | +            <span class="jc_tile">锋面定义</span>
 | 
	
		
			
				|  |  | +          </div>
 | 
	
		
			
				|  |  | +          <div style="height: 200px"></div>
 | 
	
		
			
				|  |  |          </div>
 | 
	
		
			
				|  |  | -        <div style="height: 200px"></div>
 | 
	
		
			
				|  |  |        </div>
 | 
	
		
			
				|  |  |      </div>
 | 
	
		
			
				|  |  | -    </div>
 | 
	
		
			
				|  |  |    </div>
 | 
	
		
			
				|  |  |  </template>
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -125,13 +125,13 @@ import vtkSphereSource from "@kitware/vtk.js/Filters/Sources/SphereSource";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import vtkAxesActor from "@kitware/vtk.js/Rendering/Core/AxesActor";
 | 
	
		
			
				|  |  |  import vtkCubeAxesActor from "@kitware/vtk.js/Rendering/Core/CubeAxesActor";
 | 
	
		
			
				|  |  | -import vtk2DShape from '@kitware/vtk.js/Filters/Sources/Arrow2DSource';
 | 
	
		
			
				|  |  | -import vtkTriangleFilter from '@kitware/vtk.js/Filters/General/TriangleFilter';;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +import vtk2DShape from "@kitware/vtk.js/Filters/Sources/Arrow2DSource";
 | 
	
		
			
				|  |  | +import vtkTriangleFilter from "@kitware/vtk.js/Filters/General/TriangleFilter";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const renderWindowWith = vtkFullScreenRenderWindow.newInstance();
 | 
	
		
			
				|  |  | +// renderWindowWith.setBackground(22, 26, 42);
 | 
	
		
			
				|  |  |  const renderer = renderWindowWith.getRenderer();
 | 
	
		
			
				|  |  | -// renderer.setBackground([0.1,0.2,0]);
 | 
	
		
			
				|  |  | +// renderer.setBackground(0, 0, 0);
 | 
	
		
			
				|  |  |  const renderWindow = renderWindowWith.getRenderWindow();
 | 
	
		
			
				|  |  |  const resetCamera = renderer.resetCamera;
 | 
	
		
			
				|  |  |  const render = renderWindow.render;
 | 
	
	
		
			
				|  | @@ -139,9 +139,7 @@ const mapper = vtkMapper.newInstance();
 | 
	
		
			
				|  |  |  const actor = vtkActor.newInstance();
 | 
	
		
			
				|  |  |  const reader = vtkUnstructuredDataReader.newInstance();
 | 
	
		
			
				|  |  |  const scalarBarActor = vtkScalarBarActor.newInstance();
 | 
	
		
			
				|  |  | -actor.getProperty().setRepresentation(Representation.SURFACE);//面
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +actor.getProperty().setRepresentation(Representation.SURFACE); //面
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  let emit = defineEmits([]);
 | 
	
		
			
				|  |  |  const props = defineProps({
 | 
	
	
		
			
				|  | @@ -205,48 +203,103 @@ const tableData2 = [
 | 
	
		
			
				|  |  |  const handleCurrentChange = ({ row, rowIndex }) => {
 | 
	
		
			
				|  |  |    console.log(row);
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +const min = ref(0);
 | 
	
		
			
				|  |  | +const max = ref(1);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +const job = ref({
 | 
	
		
			
				|  |  | +  jid: 0, //	任务ID
 | 
	
		
			
				|  |  | +  aid: 0, //	事故ID
 | 
	
		
			
				|  |  | +  starttime: "", //	结束时间
 | 
	
		
			
				|  |  | +  endtime: "", //	开始时间
 | 
	
		
			
				|  |  | +  state: "", //	状态
 | 
	
		
			
				|  |  | +  faildes: "", //	失败原因
 | 
	
		
			
				|  |  | +  dt: "", //	时间步长
 | 
	
		
			
				|  |  | +  dx: "", //	空间步长
 | 
	
		
			
				|  |  | +  reportstep: "", //	输出步长
 | 
	
		
			
				|  |  | +  interactionstep: "", //	交互步长
 | 
	
		
			
				|  |  | +  acctime: "", //	事故开始时间
 | 
	
		
			
				|  |  | +  totaltime: "", //	模拟时长
 | 
	
		
			
				|  |  | +  coids: "", //	物理属性ID逗号分隔
 | 
	
		
			
				|  |  | +});
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  // aid获取
 | 
	
		
			
				|  |  |  const accident5 = (val) => {
 | 
	
		
			
				|  |  |    aid.value = val;
 | 
	
		
			
				|  |  |    console.log(aid.value);
 | 
	
		
			
				|  |  |    console.log(11111);
 | 
	
		
			
				|  |  | +  console.log("props.classradio",props.classradio);
 | 
	
		
			
				|  |  |    if (props.classradio == "Fire") {
 | 
	
		
			
				|  |  |      monitor.value = true;
 | 
	
		
			
				|  |  |    } else if (props.classradio == "Water") {
 | 
	
		
			
				|  |  |      monitor.value = true;
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  | -  fireRead()
 | 
	
		
			
				|  |  | +  //获取任务信息
 | 
	
		
			
				|  |  | +  readJob();
 | 
	
		
			
				|  |  | +  // fireRead()
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const init = () => {};
 | 
	
		
			
				|  |  |  onMounted(() => {
 | 
	
		
			
				|  |  | -  console.log();
 | 
	
		
			
				|  |  |    init();
 | 
	
		
			
				|  |  | -  const timestamp = new Date().getTime();
 | 
	
		
			
				|  |  | -  timestampToTime(timestamp);
 | 
	
		
			
				|  |  | -  newtime.value = timestampToTime(timestamp);
 | 
	
		
			
				|  |  | + 
 | 
	
		
			
				|  |  |  });
 | 
	
		
			
				|  |  | +const fcon = createFireControl();
 | 
	
		
			
				|  |  | +async function readJob() {
 | 
	
		
			
				|  |  | +  const params = {
 | 
	
		
			
				|  |  | +    transCode: "D10017",
 | 
	
		
			
				|  |  | +    aid: aid.value,
 | 
	
		
			
				|  |  | +  };
 | 
	
		
			
				|  |  | +  await request(params)
 | 
	
		
			
				|  |  | +    .then((res) => {
 | 
	
		
			
				|  |  | +      if (res.returnCode == "000000000") {
 | 
	
		
			
				|  |  | +        //成功
 | 
	
		
			
				|  |  | +        job.value = res;
 | 
	
		
			
				|  |  | +        console.log("job", job.value);
 | 
	
		
			
				|  |  | +        reddate(new Date());
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        ElMessage({
 | 
	
		
			
				|  |  | +          message: res.returnMsg,
 | 
	
		
			
				|  |  | +          type: "error",
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    })
 | 
	
		
			
				|  |  | +    .catch((err) => {});
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +//获取当前时间最近的步数 读取文件
 | 
	
		
			
				|  |  | +//当前时间=开始时间+输出步长*输出次数
 | 
	
		
			
				|  |  | +function reddate(date){
 | 
	
		
			
				|  |  | +  //当前时间
 | 
	
		
			
				|  |  | +  const timestamp =date.getTime();
 | 
	
		
			
				|  |  | +  newtime.value = timestampToTime(timestamp);
 | 
	
		
			
				|  |  | +  const accstamp = Date.parse(job.value.acctime);
 | 
	
		
			
				|  |  | +  var timeDifference = timestamp - accstamp;
 | 
	
		
			
				|  |  | +  fcon.stepsum=parseInt(job.value.totaltime)/parseInt(job.value.reportstep);
 | 
	
		
			
				|  |  | +  if(timeDifference<parseInt(job.value.totaltime)){//最长时间范围
 | 
	
		
			
				|  |  | +   fcon.step=timeDifference/parseInt(job.value.reportstep);
 | 
	
		
			
				|  |  | +  }else{
 | 
	
		
			
				|  |  | +    fcon.step=fcon.stepsum;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  vtkRead();
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -const min = ref(0);
 | 
	
		
			
				|  |  | -const max = ref(1);
 | 
	
		
			
				|  |  | -function fireRead() {
 | 
	
		
			
				|  |  | -  var fcon = createFireControl();
 | 
	
		
			
				|  |  | -  fcon.aid=aid.value;
 | 
	
		
			
				|  |  | +function vtkRead() {
 | 
	
		
			
				|  |  | +  fcon.aid = aid.value;
 | 
	
		
			
				|  |  |    fcon
 | 
	
		
			
				|  |  |      .initGemetry()
 | 
	
		
			
				|  |  |      .then((result) => {
 | 
	
		
			
				|  |  | -        console.log(fcon.polydata);
 | 
	
		
			
				|  |  | +      console.log(fcon.polydata);
 | 
	
		
			
				|  |  |        fcon
 | 
	
		
			
				|  |  | -        .getScalrsByStep(1)
 | 
	
		
			
				|  |  | +        .getScalrsByStep(fcon.step)
 | 
	
		
			
				|  |  |          .then((result) => {
 | 
	
		
			
				|  |  | -         console.log(fcon.scalar);
 | 
	
		
			
				|  |  | -          const scalarArray = fcon.scalar.get("Pressure");
 | 
	
		
			
				|  |  | +          console.log(fcon.scalar);
 | 
	
		
			
				|  |  | +          const scalarArray = fcon.scalar.get("Height");
 | 
	
		
			
				|  |  |            console.log("scalarArray:", scalarArray);
 | 
	
		
			
				|  |  | -          const dataArray = vtkDataArray.newInstance({ 
 | 
	
		
			
				|  |  | -            name: "Pressure",
 | 
	
		
			
				|  |  | +          const dataArray = vtkDataArray.newInstance({
 | 
	
		
			
				|  |  | +            name: "Height",
 | 
	
		
			
				|  |  |              size: fcon.polydata.getNumberOfPoints(),
 | 
	
		
			
				|  |  |            });
 | 
	
		
			
				|  |  | -          console.log(dataArray)
 | 
	
		
			
				|  |  | +          console.log(dataArray);
 | 
	
		
			
				|  |  |            dataArray.setData(scalarArray);
 | 
	
		
			
				|  |  |            fcon.polydata.getPointData().setScalars(dataArray);
 | 
	
		
			
				|  |  |            mapper.setInputData(fcon.polydata);
 | 
	
	
		
			
				|  | @@ -259,7 +312,7 @@ function fireRead() {
 | 
	
		
			
				|  |  |            renderWindow.render();
 | 
	
		
			
				|  |  |          })
 | 
	
		
			
				|  |  |          .catch((err) => {
 | 
	
		
			
				|  |  | -            console.log(err)
 | 
	
		
			
				|  |  | +          console.log(err);
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |      })
 | 
	
		
			
				|  |  |      .catch((err) => {});
 | 
	
	
		
			
				|  | @@ -271,7 +324,7 @@ function initScalarBar() {
 | 
	
		
			
				|  |  |    // console.log("lut:", lut.getRange());
 | 
	
		
			
				|  |  |    // Change the number of ticks (TODO: add numberOfTicks to ScalarBarActor)
 | 
	
		
			
				|  |  |    scalarBarActor.setGenerateTicks(generateTicks(5));
 | 
	
		
			
				|  |  | -  scalarBarActor.setAxisLabel("Pressure");
 | 
	
		
			
				|  |  | +  scalarBarActor.setAxisLabel("Height");
 | 
	
		
			
				|  |  |    scalarBarActor.setDrawAboveRangeSwatch(true);
 | 
	
		
			
				|  |  |    //修改设条颜色
 | 
	
		
			
				|  |  |    const ctf = vtkColorTransferFunction.newInstance();
 |