Prechádzať zdrojové kódy

水泵风机风门配置

huangxingxing 6 mesiacov pred
rodič
commit
16876d3120

BIN
dist/static/Build/Build.data


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
dist/static/Build/Build.framework.js


BIN
dist/static/Build/Build.wasm


BIN
public/static/Build/Build.data


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
public/static/Build/Build.framework.js


BIN
public/static/Build/Build.wasm


+ 599 - 0
src/view/components/Menupump.vue

@@ -0,0 +1,599 @@
+<template>
+  <div class="l_Dialog bou tablebk">
+    <div class="common-layout" style="margin: 0">
+      <el-aside
+        width="480px"
+        class="L_aside L_aside1 asideg asidegbg leftbgimg1"
+        v-show="sendialogVisible"
+      >
+        <div class="demo-collapse">
+          <el-collapse v-model="coolactiveName1" accordion>
+            <el-collapse-item name="1" class="btnicon">
+              <template #title>
+                <el-icon class="iconimg Frame3" fit="contain"></el-icon>
+                水泵<el-icon class="header-icon"> </el-icon>
+              </template>
+              <div class="l_Dialog">
+                <div class="classtab">
+                  <div class="asides_content">
+                    <div class="jc_content tablecolor jc_content">
+                      <div class="font12 my_content1">
+                        <div class="btncolor tablefocus bmar">
+                          <el-table
+                            :data="tableData"
+                            style="width: 480px"
+                            :max-height="tableHeight"
+                            :highlight-current-row="currentrow"
+                            :row-class-name="tableRowClassName"
+                            @row-click="handleDelete($event)"
+                            :header-cell-style="{
+                              background: 'rgba(13, 22, 57, 0) '
+                            }"
+                          >
+                            <template v-slot:empty>
+                              <p>暂无数据</p>
+                            </template>
+                            <el-table-column
+                              type="index"
+                              label="编号"
+                              width="70"
+                            />
+                            <el-table-column prop="pumpname" label="水泵名称" />
+                            <el-table-column prop="pname" label="选择巷道" />
+                            <el-table-column prop="site" label="位置" />
+                            <el-table-column prop="onoff" label="开启状态">
+                              <template #default="scope">
+                                {{
+                                  scope.row.onoff == "0"
+                                    ? "否"
+                                    : scope.row.onoff == "1"
+                                    ? "是"
+                                    : "是"
+                                }}
+                              </template>
+                            </el-table-column>
+                            <el-table-column prop="openhig">
+                              <template v-slot:header>
+                                <span>开起高度</span><br />
+                                <span>(m)</span>
+                              </template>
+                            </el-table-column>
+                            <el-table-column prop="closehig">
+                              <template v-slot:header>
+                                <span>关闭高度</span><br />
+                                <span>(m)</span>
+                              </template>
+                            </el-table-column>
+                          </el-table>
+                        </div>
+                      </div>
+                      <div class="dialog-footer footer_div l_btn">
+                        <div class="footerbtn flex1">
+                          <div class="borderimg">
+                            <el-button @click="addsg()">添加</el-button>
+                          </div>
+                        </div>
+                        <div class="footerbtn flex1">
+                          <div class="borderimg">
+                            <el-button @click="amend()"> 修改 </el-button>
+                          </div>
+                        </div>
+                        <div class="footerbtn flex1">
+                          <div class="borderimg">
+                            <el-button @click="shanchu()"> 删除 </el-button>
+                          </div>
+                        </div>
+                      </div>
+
+                      <div
+                        class="xian tablefocus"
+                        style="margin-top: 20px"
+                        v-show="hfShow"
+                      >
+                        <div class="header_l header_z headerimg">
+                          <el-image :src="icon" fit="contain"></el-image>
+                          <h4 class="tianjia">性能曲线</h4>
+                          <div
+                            class="closeimg"
+                            @click="hfShow = false"
+                          >
+                            <el-image :src="closeimg" fit="contain"></el-image>
+                          </div>
+                        </div>
+                        <el-table
+                          :data="hfObjs"
+                          style="width: 100%"
+                          :max-height="tableHeight"
+                          :row-class-name="tableRowClassName"
+                          :header-cell-style="{
+                            background: 'rgba(13, 22, 57, 0) '
+                          }"
+                          @row-click="checkhfObjTable($event)"
+                          :highlight-current-row="currentrow"
+                        >
+                          <template v-slot:empty>
+                            <p>暂无数据</p>
+                          </template>
+                          <el-table-column prop="hight">
+                            <template v-slot:header>
+                              <span>水位高度</span>
+                              <span>(m)</span>
+                            </template>
+                          </el-table-column>
+                          <el-table-column prop="flow">
+                            <template v-slot:header>
+                              <span>流量</span>
+                              <span> (m³/s)</span>
+                            </template>
+                          </el-table-column>
+                        </el-table>
+                        <div class="asdis_btn">
+                          <div
+                            class="flex_a"
+                          >
+                            <div
+                              class="btns"
+                              @click="addhf()"
+                            >
+                              <span class="spantext">添加</span>
+                            </div>
+                          </div>
+                          <div class="flex_a">
+                            <div
+                              class="btns"
+                              @click="updatehf()"
+                            >
+                              <span class="spantext"> 修改</span>
+                            </div>
+                          </div>
+                          <div class="flex_a" >
+                            <div
+                              class="btns"
+                              @click="delhf()"
+                            >
+                              <span class="spantext">删除</span>
+                            </div>
+                          </div>
+                          <div
+                            class="flex_a"
+                            @click="hfShow = false"
+                          >
+                            <div class="btns">
+                              <span class="spantext">确定</span>
+                            </div>
+                          </div>
+                        </div>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+              </div>
+            </el-collapse-item>
+          </el-collapse>
+
+           <!--性能曲线的添加  -->
+    <el-dialog
+      v-model="hfDShow"
+      :append-to-body="true"
+      width="400"
+      align-center
+      class="dialog_class bgcolor tianjia"
+
+    >
+      <template #header="{ titleId, titleClass }">
+        <div class="my-header">
+          <el-image :src="icon" fit="contain"></el-image>
+          <h4 :id="titleId" :class="titleClass">{{  zhtext  }}</h4>
+        </div>
+      </template>
+      <div>
+        <el-form class="demo-form-inline inputnuber">
+          <el-form-item label="水位高度(m)" :label-width="formLabelWidth6">
+            <el-input v-model="hfObj.hight"  maxlength="10" oninput ="value=value.replace(/[^0-9.]/g,'')" class="w-50 m-2"  placeholder="请输入" />
+        </el-form-item>
+        <el-form-item label="流量(m³/s)" :label-width="formLabelWidth6">
+            <el-input v-model="hfObj.flow"  maxlength="10" oninput ="value=value.replace(/[^0-9.]/g,'')" class="w-50 m-2"  placeholder="请输入" />
+        </el-form-item>
+        
+        </el-form>
+      </div>
+      <div class="dialog-footer footer_div l_btn">
+        <div class="footerbtn flex1">
+          <div class="borderimg">
+            <el-button @click="hfDShow = false">取消</el-button>
+          </div>
+        </div>
+        <div class="footerbtn flex1">
+          <div class="borderimg">
+            <el-button
+              @click="savehf()"
+            >
+              确定
+            </el-button>
+          </div>
+        </div>
+      </div>
+    </el-dialog>
+
+          <!-- 添加 -->
+          <el-dialog
+            v-model="addVisible"
+            align-center
+            :append-to-body="true"
+            width="400"
+            class="dialog_class bgcolor tianjia foter_l tianjia"
+          >
+            <template #header="{ titleId, titleClass }">
+              <div class="my-header">
+                <el-image :src="icon" fit="contain"></el-image>
+                <h4 :id="titleId" :class="titleClass">{{ add }}</h4>
+              </div>
+            </template>
+            <el-form class="demo-form-inline" :inline="true" :model="senobj">
+              <el-form-item label="编码" :label-width="formLabelWidth6">
+                <el-input
+                  v-model="senobj.pumpcode"
+                  maxlength="15"
+                  class="w-50 m-2"
+                  placeholder="请输入"
+                />
+              </el-form-item>
+              <el-form-item label="水泵名称" :label-width="formLabelWidth6">
+                <el-input
+                  v-model="senobj.pumpname"
+                  maxlength="18"
+                  oninput="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,'')"
+                  class="w-50 m-2"
+                  placeholder="请输入"
+                />
+              </el-form-item>
+              <div class="demo-input-suffix firsttitle magintop guand_1">
+                <el-form-item label="巷道名称" :label-width="formLabelWidth6">
+                  <el-input
+                    v-model="senobj.pname"
+                    disabled
+                    class="w-50 m-2"
+                    placeholder="巷道名称"
+                  />
+                </el-form-item>
+                <div class="btn2">
+                  <el-button type="primary" @click="fireclick()"
+                    >选择巷道</el-button
+                  >
+                </div>
+              </div>
+
+              <div class="input">
+                <el-form-item label="位置" :label-width="formLabelWidth6">
+                  <el-input-number
+                    v-model="senobj.site"
+                    :min="0"
+                    :max="1"
+                    :precision="2"
+                    :step="0.1"
+                    controls-position="right"
+                    class="w-50 m-2"
+                    placeholder="位置"
+                  />
+                </el-form-item>
+              </div>
+              <div style="display: flex">
+                <span class="switchppm">开启状态</span>
+                <el-switch
+                  v-model="senobj.onoff"
+                  inline-prompt
+                  active-text="是"
+                  inactive-text="否"
+                  :active-value="1"
+                  :inactive-value="0"
+                />
+              </div>
+              <el-form-item label="开启高度(m)" :label-width="formLabelWidth6">
+                <el-input
+                  v-model="senobj.openhig"
+                  maxlength="10"
+                  oninput="value=value.replace(/[^0-9.]/g,'')"
+                  class="w-50 m-2"
+                  placeholder="请输入"
+                />
+              </el-form-item>
+              <el-form-item label="关闭高度(m)" :label-width="formLabelWidth6">
+                <el-input
+                  v-model="senobj.closehig"
+                  maxlength="10"
+                  oninput="value=value.replace(/[^0-9.]/g,'')"
+                  class="w-50 m-2"
+                  placeholder="请输入"
+                />
+              </el-form-item>
+            </el-form>
+
+            <div class="dialog-footer footer_div l_btn">
+              <div class="footerbtn flex1">
+                <div class="borderimg">
+                  <el-button @click="addVisible = false">取消</el-button>
+                </div>
+              </div>
+              <div class="footerbtn flex1">
+                <div class="borderimg">
+                  <el-button @click="addEied()"> 确定 </el-button>
+                </div>
+              </div>
+            </div>
+          </el-dialog>
+
+          <!-- 删除 -->
+          <el-dialog
+            v-model="dialogsgdelect"
+            align-center
+            :append-to-body="true"
+            width="400"
+            class="dialog_class bgcolor tianjia"
+          >
+            <template #header="{ titleId, titleClass }">
+              <div class="my-header">
+                <el-image :src="icon" fit="contain"></el-image>
+                <h4 :id="titleId" :class="titleClass">删除框</h4>
+              </div>
+            </template>
+            <h4 class="delecttitle">
+              是否确认删除: <span class="spanclad">{{ zqname }}</span>
+            </h4>
+            <div class="dialog-footer footer_div l_btn">
+              <div class="footerbtn flex1">
+                <div class="borderimg">
+                  <el-button @click="dialogsgdelect = false">取消</el-button>
+                </div>
+              </div>
+              <div class="footerbtn flex1">
+                <div class="borderimg">
+                  <el-button
+                    @click="fundeledata();dialogsgdelect = false"
+                  >
+                    确定
+                  </el-button>
+                </div>
+              </div>
+            </div>
+          </el-dialog>
+          <!-- 选择管道 -->
+          <pipelines
+            ref="pipeline"
+            :pname="senobj.pname"
+            @pipelineapi="pipelineapi"
+          />
+        </div>
+      </el-aside>
+    </div>
+  </div>
+</template>
+
+<script setup>
+import { computed, ref, onMounted, reactive, toRef } from "vue"
+import { request, uploadFile } from "@/utils/request"
+import { ElMessage, ElButton, ElDialog, ElSelect } from "element-plus"
+import zhCn from "element-plus/es/locale/lang/zh-cn"
+import icon from "@/assets/img/icon.png"
+import pipelines from "./PipeIine.vue"
+import { vtkmodel } from "@/control/vtkModel.js"
+import { timestampToTime } from "@/js/lindex.js"
+import closeimg from "@/assets/img/colse.png";
+
+
+
+let pipeline = ref()
+let currentrow = ref(true)
+let sendialogVisible = ref(false)
+let addVisible = ref(false)
+let dialogsgdelect = ref(false)
+let classradio1 = ref("Fire")
+const formLabelWidth6 = ref(100)
+let coolactiveName1 = ref(["1", "2"])
+let add = ref("")
+const resultactiveName = ref("first")
+let tableHeight = ref(200)
+let tableData = ref([])
+let tableobj = ref({})
+let zqname = ref()
+let tishi = ref()
+let senobj = ref({})
+
+//水泵曲线数据
+let hfObjs = ref([])
+let hfObj = ref({})
+let hfShow= ref(false);
+let hfDShow= ref(false);
+
+const tableRowClassName = ({ row, rowIndex }) => {
+  if (rowIndex % 2 != 0) {
+    return "evenRow"
+  }
+  return "oddRow"
+}
+
+// 选中一行
+const handleDelete = (val) => {
+  tableobj.value = val
+  currentrow.value = true
+  findhfObjs();
+  hfShow.value = true;
+}
+//选中曲线
+const checkhfObjTable=(val)=>{
+   hfObj.value =val;
+   currentrow.value = true
+}
+const updatehf=()=>{
+  if (JSON.stringify(hfObj.value) == "{}") {
+    ElMessage.error("你还没有选中删除的项目")
+  }else{
+    hfDShow.value = true;
+  }
+   
+}
+const addhf=()=>{
+    hfObj.value ={};
+    currentrow.value = false;
+    hfDShow.value = true;
+}
+const savehf=()=>{
+     const params = {
+        transCode: "D50005",
+        pumphfbaseid:hfObj.value.pumphfbaseid,
+        pumpbaseid:tableobj.value.pumpbaseid,
+        hight:parseFloat(hfObj.value.hight),
+        flow:parseFloat(hfObj.value.flow)
+    }
+    request(params)
+        .then((res) => {
+         findhfObjs();
+        hfDShow.value = false;
+        })
+        .catch((err) => {
+        ElMessage.error(err.returnMsg)
+        })
+}
+const delhf=()=>{
+ if (JSON.stringify(hfObj.value) == "{}") {
+    ElMessage.error("你还没有选中删除的项目")
+  } else {
+     const params = {
+        transCode: "D50006",
+        pumphfbaseid:hfObj.value.pumphfbaseid
+    }
+    request(params)
+        .then((res) => {
+        findhfObjs();
+        })
+        .catch((err) => {
+        ElMessage.error(err.returnMsg)
+        })
+  }
+}
+const hfObjTable=(val)=>{
+   hfObj.val =val;
+   currentrow.value = true
+}
+const findhfObjs=()=>{
+    const params = {
+    transCode: "D50004",
+    pumpbaseid:tableobj.value.pumpbaseid
+  }
+  request(params)
+    .then((res) => {
+      hfObjs.value = res.rows
+    })
+    .catch((err) => {
+      ElMessage.error(err.returnMsg)
+    })
+}
+
+// 删除
+const shanchu = () => {
+  if (JSON.stringify(tableobj.value) == "{}") {
+    ElMessage.error("你还没有选中删除的项目")
+  } else {
+    dialogsgdelect.value = true
+    zqname.value = tableobj.value.pname
+  }
+}
+const fundeledata = () => {
+  const params = {
+    transCode: "D50003",
+    pumpbaseid: tableobj.value.pumpbaseid
+  }
+  request(params)
+    .then((res) => {
+      ElMessage({
+        message: "水泵删除成功",
+        type: "success"
+      })
+      getsensor()
+    })
+    .catch((err) => {
+      ElMessage.error(err.returnMsg)
+    })
+}
+onMounted(() => {
+  getsensor()
+})
+// 查询
+const getsensor = () => {
+  const params = {
+    transCode: "D50001"
+  }
+  request(params)
+    .then((res) => {
+      tableData.value = res.rows
+      tableobj.value = {}
+    })
+    .catch((err) => {
+      ElMessage.error(err.returnMsg)
+    })
+}
+//添加
+const addsg = () => {
+  add.value = "添加"
+  tishi.value = add.value
+  currentrow.value = false
+  addVisible.value = true
+  tableobj.value = {}
+}
+// 添加修改的接口
+const addEied = () => {
+  const params = {
+    transCode: "D50002",
+    pumpbaseid: senobj.value.pumpbaseid,
+    pumpcode: senobj.value.pumpcode,
+    pumpname: senobj.value.pumpname,
+    openhig: parseFloat(senobj.value.openhig),
+    closehig: parseFloat(senobj.value.closehig),
+    pid: senobj.value.pid,
+    site: senobj.value.site,
+    onoff: senobj.value.onoff
+  }
+  console.log(params)
+  request(params)
+    .then((res) => {
+      ElMessage({
+        message: "水泵" + tishi.value + "成功",
+        type: "success"
+      })
+      // tableData.value = res.rows;
+      addVisible.value = false
+      getsensor()
+    })
+    .catch((err) => {
+      const regex = /字段\d*/g
+      let Msg = err.returnMsg.replace(regex, "")
+      ElMessage.error(Msg)
+    })
+}
+
+//修改
+const amend = () => {
+  add.value = "修改"
+  tishi.value = add.value
+  if (JSON.stringify(tableobj.value) == "{}") {
+    ElMessage.error("你还没有选中修改的项目")
+  } else {
+    senobj.value = tableobj.value
+    addVisible.value = true
+  }
+}
+// 巷道方法
+// 选择巷道
+const fireclick = () => {
+  pipeline.value.searchtaggd = ""
+  pipeline.value.dialogVisiblenode = true
+  pipeline.value.pipelinedata("")
+}
+//点击确定
+const pipelineapi = (row) => {
+  senobj.value.pid = row.id
+  senobj.value.pcode = row.code
+  senobj.value.pname = row.name
+  tableobj.value.pid = row.id
+}
+defineExpose({ sendialogVisible })
+</script>

+ 296 - 0
src/view/components/Menuventdoor.vue

@@ -0,0 +1,296 @@
+<template>
+   <div class="l_Dialog bou tablebk">
+    <!--风门-->
+    <div class="common-layout" style="margin: 0">
+      <el-aside
+        width="480px"
+        class="L_aside L_aside1 asideg asidegbg leftbgimg1"
+        v-show="sendialogVisible"
+      >
+        <div class="demo-collapse">
+          <el-collapse accordion>
+            <el-collapse-item name="1" class="btnicon">
+              <template #title>
+                <el-icon class="iconimg Frame3" fit="contain"></el-icon>
+                风门<el-icon class="header-icon"> </el-icon>
+              </template>
+              <div class="asides_content">
+                <div class="jc_content tablecolor">
+                  <div class="jc_padding font12">
+                    <div class="xian btncolor tablefocus bmar">
+                      <el-table
+                        :data="fmObjs"
+                        style="width: 100%"
+                        :max-height="tableHeight"
+                        :highlight-current-row="currentrow"
+                        :row-class-name="tableRowClassName"
+                        @row-click="fmtabxz($event)"
+                        :header-cell-style="{
+                          background: 'rgba(13, 22, 57, 0) '
+                        }"
+                      >
+                        <template v-slot:empty>
+                          <p>暂无数据</p>
+                        </template>
+                        <el-table-column prop="doorname" label="风门名称" />
+                        <el-table-column prop="pname" label="选择巷道" />
+                        <el-table-column prop="site" label="相对位置" />
+                        <el-table-column prop="dragcoe" label="阻力系数" />
+                        <el-table-column prop="onoff" label="开启状态">
+                          <template #default="scope">
+                            {{
+                              scope.row.onoff == 0
+                                ? "否"
+                                : scope.row.onoff == 1
+                                ? "是"
+                                : "是"
+                            }}
+                          </template>
+                        </el-table-column>
+                      </el-table>
+                      <div class="asdis_btn">
+                        <div class="flex_a">
+                          <div
+                            class="btns"
+                            @click="fmadd()"
+                          >
+                            <span class="spantext">添加</span>
+                          </div>
+                        </div>
+                        <div class="flex_a">
+                          <div class="btns" @click="fmupdate()">
+                            <span class="spantext">修改</span>
+                          </div>
+                        </div>
+                        <div class="flex_a">
+                          <div class="btns" @click="fmdel()">
+                            <span class="spantext">删除</span>
+                          </div>
+                        </div>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+              </div>
+            </el-collapse-item>
+          </el-collapse>
+
+          <!-- 风门的添加 -->
+          <el-dialog
+            v-model="fmDShow"
+            align-center  :append-to-body="true" width="400" class="dialog_class bgcolor tianjia  foter_l tianjia"
+          >
+            <template #header="{ titleId, titleClass }">
+              <div class="my-header">
+                <el-image :src="icon" fit="contain"></el-image>
+                <h4 :id="titleId" :class="titleClass">风门</h4>
+              </div>
+            </template>
+            <el-form>
+              <!--  只能输入引文oninput ="value=value.replace(/[^a-zA-Z]/g, '');" -->
+              <el-form-item label="编码" :label-width="formLabelWidth6">
+                <el-input
+                  v-model="fmObj.doorcode"
+                  maxlength="18"
+                  oninput="value=value.replace(/[^\w\\/]/ig,'')"
+                  class="w-50 m-2"
+                  placeholder="请输入"
+                />
+              </el-form-item>
+              <el-form-item label="风门名称" :label-width="formLabelWidth6">
+                <el-input
+                  v-model="fmObj.doorname"
+                  maxlength="18"
+                  oninput="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,'')"
+                  class="w-50 m-2"
+                  placeholder="请输入"
+                />
+              </el-form-item>
+              <div class="demo-input-suffix firsttitle magintop">
+                <el-form-item label="巷道名称" :label-width="formLabelWidth6">
+                  <el-input
+                    v-model="fmObj.pname"
+                    disabled
+                    class="w-50 m-2"
+                    placeholder="巷道名称"
+                  />
+                </el-form-item>
+                <div class="btn2">
+                  <el-button
+                    type="primary"
+                    @click="fireclick()"
+                    >选择巷道</el-button
+                  >
+                </div>
+              </div>
+              <div class="input">
+                <el-form-item label="位置" :label-width="formLabelWidth6">
+                  <el-input-number
+                    v-model="fmObj.site"
+                    :min="0"
+                    :max="1"
+                    :precision="2"
+                    :step="0.1"
+                    controls-position="right"
+                    class="w-50 m-2"
+                    placeholder="位置"
+                  />
+                </el-form-item>
+              </div>
+              <div style="display: flex">
+                <span class="switchppm">开启状态</span>
+                <el-switch
+                  v-model="fmObj.onoff"
+                  inline-prompt
+                  active-text="是"
+                  inactive-text="否"
+                  :active-value="1"
+                  :inactive-value="0"
+                />
+              </div>
+              <el-form-item label="阻力系数" :label-width="formLabelWidth6">
+                <el-input
+                  v-model="fmObj.dragcoe"
+                  maxlength="10"
+                  oninput="value=value.replace(/[^0-9.]/g,'')"
+                  class="w-50 m-2"
+                  placeholder="请输入"
+                />
+              </el-form-item>
+            </el-form>
+            <div class="dialog-footer footer_div l_btn">
+              <div class="footerbtn flex1">
+                <div class="borderimg">
+                  <el-button
+                   @click="fmDShow = false"
+                    >取消</el-button
+                  >
+                </div>
+              </div>
+              <div class="footerbtn flex1">
+                <div class="borderimg">
+                  <el-button @click="fmsave()"> 确定 </el-button>
+                </div>
+              </div>
+            </div>
+          </el-dialog>
+
+     
+          <!-- 选择管道 -->
+          <pipelines
+            ref="pipeline"
+            :selectstr="fmObj.pname"
+            @pipelineapi="pipelineapi"
+          />
+        </div>
+      </el-aside>
+    </div>
+  </div>
+</template>
+
+<script setup>
+import { computed, ref, onMounted, reactive, toRef } from "vue"
+import { request, uploadFile } from "@/utils/request"
+import { ElMessage, ElButton, ElDialog, ElSelect } from "element-plus"
+import zhCn from "element-plus/es/locale/lang/zh-cn"
+import icon from "@/assets/img/icon.png"
+import pipelines from "./PipeIine.vue"
+import { vtkmodel } from "@/control/vtkModel.js"
+import { timestampToTime } from "@/js/lindex.js"
+let tableHeight = ref(200)
+const formLabelWidth6 = ref(100);
+let pipeline = ref()
+const tableRowClassName = ({ row, rowIndex }) => {
+  if (rowIndex % 2 != 0) {
+    return "evenRow"
+  }
+  return "oddRow"
+}
+let currentrow=ref(false);
+let sendialogVisible=ref(false);
+let fmDShow =ref(false);
+let fmObjs=ref([]);
+let fmObj= ref({});
+
+const fmtabxz=(val)=>{
+  fmObj.value = val;
+  currentrow.value = true
+}
+const fmupdate=()=>{
+  if (JSON.stringify(fmObj.value) == "{}") {
+    ElMessage.error("你还没有选中删除的项目")
+  }else{
+    fmDShow.value = true;
+  }
+}
+const fmadd=()=>{
+  fmObj.value={};
+  fmDShow.value = true;
+}
+
+const fmsave=()=>{
+   const params = {
+    transCode: "D50011",
+    doorbaseid:fmObj.value.doorbaseid,
+    doorcode:fmObj.value.doorcode,
+    pid:fmObj.value.pid,
+    doorname:fmObj.value.doorname,
+    site:fmObj.value.site,
+    dragcoe:parseFloat(fmObj.value.dragcoe),
+    onoff:fmObj.value.onoff,
+  }
+  request(params)
+    .then((res) => {
+     fmfind();
+     fmDShow.value = false;
+    })
+    .catch((err) => {
+      ElMessage.error(err.returnMsg)
+    })
+}
+const fmdel=()=>{
+  if (JSON.stringify(fmObj.value) == "{}") {
+    ElMessage.error("你还没有选中删除的项目")
+  }else{
+  const params = {
+    transCode: "D50012",
+    doorbaseid:fmObj.value.doorbaseid,
+  }
+  request(params)
+    .then((res) => {
+      fmfind();
+    })
+    .catch((err) => {
+      ElMessage.error(err.returnMsg)
+    })
+  }
+}
+const fmfind=()=>{
+   const params = {
+    transCode: "D50010"
+  }
+  request(params)
+    .then((res) => {
+      fmObjs.value = res.rows
+    })
+    .catch((err) => {
+      ElMessage.error(err.returnMsg)
+    })
+}
+onMounted(() => {
+  fmfind()
+})
+// 选择巷道
+const fireclick = () => {
+  pipeline.value.searchtaggd = ""
+  pipeline.value.dialogVisiblenode = true
+  pipeline.value.pipelinedata("")
+}
+//点击确定
+const pipelineapi = (row) => {
+  fmObj.value.pid = row.id
+  fmObj.value.pcode = row.code
+  fmObj.value.pname = row.name
+}
+defineExpose({ sendialogVisible })
+</script>

+ 295 - 0
src/view/components/Menuventfan.vue

@@ -0,0 +1,295 @@
+<template>
+   <div class="l_Dialog bou tablebk">
+    <!--风机-->
+    <div class="common-layout" style="margin: 0">
+      <el-aside
+        width="480px"
+        class="L_aside L_aside1 asideg asidegbg leftbgimg1"
+        v-show="sendialogVisible"
+      >
+        <div class="demo-collapse">
+          <el-collapse accordion>
+            <el-collapse-item name="1" class="btnicon">
+              <template #title>
+                <el-icon class="iconimg Frame3" fit="contain"></el-icon>
+                风机<el-icon class="header-icon"> </el-icon>
+              </template>
+              <div class="asides_content">
+                <div class="jc_content tablecolor">
+                  <div class="jc_padding font12">
+                    <div class="xian btncolor tablefocus bmar">
+                      <el-table
+                        :data="femObjs"
+                        style="width: 100%"
+                        :max-height="tableHeight"
+                        :highlight-current-row="currentrow"
+                        :row-class-name="tableRowClassName"
+                        @row-click="femtabxz($event)"
+                        :header-cell-style="{
+                          background: 'rgba(13, 22, 57, 0) '
+                        }"
+                      >
+                        <template v-slot:empty>
+                          <p>暂无数据</p>
+                        </template>
+                        <el-table-column prop="fanname" label="风机名称" />
+                          <el-table-column prop="pname" label="选择巷道" />
+                        <el-table-column prop="site" label="相对位置" />
+                        <el-table-column prop="pa" >
+                            <template v-slot:header>
+                            <span >增压</span><br>
+                            <span >(kpa)</span>
+                          </template>
+                        </el-table-column>
+                          <el-table-column prop="onoff" label="开启状态">
+                          <template #default="scope">
+                            {{
+                              scope.row.onoff == "0"
+                                ? "否"
+                                : scope.row.onoff == "1"
+                                ? "是"
+                                : "是"
+                            }}
+                          </template>
+                        </el-table-column>
+                      </el-table>
+                      <div class="asdis_btn">
+                        <div class="flex_a">
+                          <div
+                            class="btns"
+                            @click="femadd()"
+                          >
+                            <span class="spantext">添加</span>
+                          </div>
+                        </div>
+                        <div class="flex_a">
+                          <div class="btns" @click="femupdate()">
+                            <span class="spantext">修改</span>
+                          </div>
+                        </div>
+                        <div class="flex_a">
+                          <div class="btns" @click="femdel()">
+                            <span class="spantext">删除</span>
+                          </div>
+                        </div>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+              </div>
+            </el-collapse-item>
+          </el-collapse>
+
+          <!-- 风门的添加 -->
+          <el-dialog
+            v-model="femDShow"
+            align-center  :append-to-body="true" width="400" class="dialog_class bgcolor tianjia  foter_l tianjia"
+          >
+            <template #header="{ titleId, titleClass }">
+              <div class="my-header">
+                <el-image :src="icon" fit="contain"></el-image>
+                <h4 :id="titleId" :class="titleClass">风机</h4>
+              </div>
+            </template>
+            <el-form>
+              <!--  只能输入引文oninput ="value=value.replace(/[^a-zA-Z]/g, '');" -->
+              <el-form-item label="编码" :label-width="formLabelWidth6">
+                <el-input
+                  v-model="femObj.fancode"
+                  maxlength="18"
+                  oninput="value=value.replace(/[^\w\\/]/ig,'')"
+                  class="w-50 m-2"
+                  placeholder="请输入"
+                />
+              </el-form-item>
+              <el-form-item label="风机名称" :label-width="formLabelWidth6">
+                <el-input
+                  v-model="femObj.fanname"
+                  maxlength="18"
+                  oninput="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,'')"
+                  class="w-50 m-2"
+                  placeholder="请输入"
+                />
+              </el-form-item>
+              <div class="demo-input-suffix firsttitle magintop">
+                <el-form-item label="巷道名称" :label-width="formLabelWidth6">
+                  <el-input
+                    v-model="femObj.pname"
+                    disabled
+                    class="w-50 m-2"
+                    placeholder="巷道名称"
+                  />
+                </el-form-item>
+                <div class="btn2">
+                  <el-button
+                    type="primary"
+                    @click="fireclick()"
+                    >选择巷道</el-button
+                  >
+                </div>
+              </div>
+              <div class="input">
+                <el-form-item label="位置" :label-width="formLabelWidth6">
+                  <el-input-number
+                    v-model="femObj.site"
+                    :min="0"
+                    :max="1"
+                    :precision="2"
+                    :step="0.1"
+                    controls-position="right"
+                    class="w-50 m-2"
+                    placeholder="位置"
+                  />
+                </el-form-item>
+              </div>
+              <div style="display: flex">
+                <span class="switchppm">开启状态</span>
+                <el-switch
+                  v-model="femObj.onoff"
+                  inline-prompt
+                  active-text="是"
+                  inactive-text="否"
+                  :active-value="1"
+                  :inactive-value="0"
+                />
+              </div>
+            <el-form-item label="增压(kpa)" :label-width="formLabelWidth6">
+            <el-input v-model="femObj.pa"  maxlength="10" oninput ="value=value.replace(/[^0-9.]/g,'')" class="w-50 m-2"  placeholder="请输入" />
+        </el-form-item>
+            </el-form>
+            <div class="dialog-footer footer_div l_btn">
+              <div class="footerbtn flex1">
+                <div class="borderimg">
+                  <el-button
+                   @click="femDShow = false"
+                    >取消</el-button
+                  >
+                </div>
+              </div>
+              <div class="footerbtn flex1">
+                <div class="borderimg">
+                  <el-button @click="femsave()"> 确定 </el-button>
+                </div>
+              </div>
+            </div>
+          </el-dialog>
+
+     
+          <!-- 选择管道 -->
+          <pipelines
+            ref="pipeline"
+            :selectstr="femObj.pname"
+            @pipelineapi="pipelineapi"
+          />
+        </div>
+      </el-aside>
+    </div>
+  </div>
+</template>
+
+<script setup>
+import { computed, ref, onMounted, reactive, toRef } from "vue"
+import { request, uploadFile } from "@/utils/request"
+import { ElMessage, ElButton, ElDialog, ElSelect } from "element-plus"
+import zhCn from "element-plus/es/locale/lang/zh-cn"
+import icon from "@/assets/img/icon.png"
+import pipelines from "./PipeIine.vue"
+import { vtkmodel } from "@/control/vtkModel.js"
+import { timestampToTime } from "@/js/lindex.js"
+let tableHeight = ref(200)
+const formLabelWidth6 = ref(100);
+let pipeline = ref()
+const tableRowClassName = ({ row, rowIndex }) => {
+  if (rowIndex % 2 != 0) {
+    return "evenRow"
+  }
+  return "oddRow"
+}
+let currentrow=ref(false);
+let sendialogVisible=ref(false);
+let femDShow =ref(false);
+let femObjs=ref([]);
+let femObj= ref({});
+
+const femtabxz=(val)=>{
+  femObj.value = val;
+  currentrow.value = true
+}
+const femupdate=()=>{
+  if (JSON.stringify(femObj.value) == "{}") {
+    ElMessage.error("你还没有选中删除的项目")
+  }else{
+    femDShow.value = true;
+  }
+}
+const femadd=()=>{
+  femObj.value={};
+  femDShow.value = true;
+}
+
+const femsave=()=>{
+   const params = {
+    transCode: "D50008",
+    fanbaseid:femObj.value.fanbaseid,
+    fancode:femObj.value.fancode,
+    pid:femObj.value.pid,
+    fanname:femObj.value.fanname,
+    site:femObj.value.site,
+    pa:parseFloat(femObj.value.pa),
+    onoff:femObj.value.onoff,
+  }
+  request(params)
+    .then((res) => {
+     femfind();
+     femDShow.value = false;
+    })
+    .catch((err) => {
+      ElMessage.error(err.returnMsg)
+    })
+}
+const femdel=()=>{
+  if (JSON.stringify(femObj.value) == "{}") {
+    ElMessage.error("你还没有选中删除的项目")
+  }else{
+  const params = {
+    transCode: "D50009",
+    fanbaseid:femObj.value.fanbaseid,
+  }
+  request(params)
+    .then((res) => {
+      femfind();
+    })
+    .catch((err) => {
+      ElMessage.error(err.returnMsg)
+    })
+  }
+}
+const femfind=()=>{
+   const params = {
+    transCode: "D50007"
+  }
+  request(params)
+    .then((res) => {
+      femObjs.value = res.rows
+    })
+    .catch((err) => {
+      ElMessage.error(err.returnMsg)
+    })
+}
+onMounted(() => {
+  femfind()
+})
+// 选择巷道
+const fireclick = () => {
+  pipeline.value.searchtaggd = ""
+  pipeline.value.dialogVisiblenode = true
+  pipeline.value.pipelinedata("")
+}
+//点击确定
+const pipelineapi = (row) => {
+  femObj.value.pid = row.id
+  femObj.value.pcode = row.code
+  femObj.value.pname = row.name
+}
+defineExpose({ sendialogVisible })
+</script>

+ 222 - 195
src/view/configurator.vue

@@ -1,40 +1,47 @@
 <template>
-    <div class="appmian">
-      <div class="lfetflex">
-            <MenuMine ref="menumine"/>
-            <MenuSensor ref="menusen"/>
-            <Menumap ref="Menumapref"/>
-            <Menudisaster ref="Menudisasterref"/>
-          </div>
-            <div class="rightflex">
-              <div class="hie">
-            <MenuCheck ref="menucheck"/>
-            <menuphysics2 ref="menuphysics"/>
-            <Menupath ref="menupath"/>
-   
-          </div>
-          </div>
+  <div class="appmian">
+    <div class="lfetflex">
+      <MenuMine ref="menumine" />
+      <MenuSensor ref="menusen" />
+      <Menumap ref="Menumapref" />
+      <Menuventfan ref="Menuventfanpref" />
+      <Menuventdoor ref="Menuventdoorpref" />
+      <Menupump ref="Menupumppref" />
+    
+      <Menudisaster ref="Menudisasterref" />
     </div>
-  </template>
+    <div class="rightflex">
+      <div class="hie">
+        <MenuCheck ref="menucheck" />
+        <menuphysics2 ref="menuphysics" />
+        <Menupath ref="menupath" />
+      </div>
+    </div>
+  </div>
+</template>
   
   <script setup>
-import { ref, onMounted,watch,reactive,nextTick} from "vue";
-import {RouterView,RouterLink,useRouter,createRouter } from "vue-router"
-import MenuMine  from "./components/MenuMine.vue"
-import MenuSensor  from "./components/MenuSensor.vue"
-import Menudisaster  from "./components/Menudisaster.vue"
-import MenuCheck  from "./components/MenuCheck.vue"
-import menuphysics2  from "./components/MenuPhysics.vue"
-import Menupath  from "./components/Menupath.vue"
-import Menumap  from "./components/Menumap.vue"
-import Vector from "@/assets/img/Vector.png";
-import icon from "@/assets/img/icon.png";
-import logo from "@/assets/logo.png";
+import { ref, onMounted, watch, reactive, nextTick } from "vue"
+import { RouterView, RouterLink, useRouter, createRouter } from "vue-router"
+import MenuMine from "./components/MenuMine.vue"
+import MenuSensor from "./components/MenuSensor.vue"
+import Menudisaster from "./components/Menudisaster.vue"
+import MenuCheck from "./components/MenuCheck.vue"
+import menuphysics2 from "./components/MenuPhysics.vue"
+import Menupath from "./components/Menupath.vue"
+import Menumap from "./components/Menumap.vue"
+import Menuventdoor from "./components/Menuventdoor.vue"
+import Menuventfan from "./components/Menuventfan.vue"
+
+import Menupump from "./components/Menupump.vue"
 
-const title = "灾情推演软件";
-const activeIndex = ref('')
-  onMounted(() => {
-  });
+import Vector from "@/assets/img/Vector.png"
+import icon from "@/assets/img/icon.png"
+import logo from "@/assets/logo.png"
+
+const title = "灾情推演软件"
+const activeIndex = ref("")
+onMounted(() => {})
 //   beforeRouteLeave((to,from,next)=>{
 //    to.meta.keepAlive = true
 //    next(0)
@@ -43,33 +50,42 @@ const activeIndex = ref('')
 //     to.meta.keepAlive = true;
 //     next(0);
 //   }
-  let router=useRouter();
-  let menumine=ref();
-let menusen=ref();
-let menucheck =ref();
-let menuphysics=ref();
-let menupath=ref();
-let Menumapref=ref();
-let Menudisasterref=ref();
-const clickreture=()=>{
-}
-const showmenum=()=>{
-  menumine.value.dialogVisible=true;
-  menusen.value.sendialogVisible=true;
-  Menudisasterref.value.dialogVisible=true
-  menucheck.value.sendialogVisible=true;
-  menuphysics.value.sendialogVisible=true;
-  menupath.value.sendialogVisible=true;
-  Menumapref.value.sendialogVisible=true;
+let router = useRouter()
+let menumine = ref()
+let menusen = ref()
+let menucheck = ref()
+let menuphysics = ref()
+let menupath = ref()
+let Menumapref = ref()
+let Menupumppref = ref()
+let Menuventfanpref = ref()
+
+let Menuventdoorpref = ref()
+let Menudisasterref = ref()
+const clickreture = () => {}
+const showmenum = () => {
+  menumine.value.dialogVisible = true
+  menusen.value.sendialogVisible = true
+  Menudisasterref.value.dialogVisible = true
+  menucheck.value.sendialogVisible = true
+  menuphysics.value.sendialogVisible = true
+  menupath.value.sendialogVisible = true
+  Menumapref.value.sendialogVisible = true
+  Menupumppref.value.sendialogVisible = true
+  Menuventfanpref.value.sendialogVisible = true
+  Menuventdoorpref.value.sendialogVisible=true
 }
-const menumfalse=()=>{
-  menumine.value.dialogVisible=false;
-  menusen.value.sendialogVisible=false;
-  Menudisasterref.value.dialogVisible=false
-  menucheck.value.sendialogVisible=false;
-  menuphysics.value.sendialogVisible=false;
-  menupath.value.sendialogVisible=false;
-  Menumapref.value.sendialogVisible=false;
+const menumfalse = () => {
+  menumine.value.dialogVisible = false
+  menusen.value.sendialogVisible = false
+  Menudisasterref.value.dialogVisible = false
+  menucheck.value.sendialogVisible = false
+  menuphysics.value.sendialogVisible = false
+  menupath.value.sendialogVisible = false
+  Menumapref.value.sendialogVisible = false
+  Menupumppref.value.sendialogVisible = false
+  Menuventfanpref.value.sendialogVisible = false
+  Menuventdoorpref.value.sendialogVisible=false
 }
 // const handleSelect = (key,keyPath) => {
 //     switch (key) {
@@ -101,181 +117,192 @@ const menumfalse=()=>{
 //         break;
 // }
 // }
-defineExpose({showmenum,menumfalse});
-  </script>
+defineExpose({ showmenum, menumfalse })
+</script>
   
   <style lang="scss" scoped>
- 
-.appmian{
- 
-    .el-main{
-        --el-main-padding: 0 !important;
-    }
-    .el-header{
-    padding:0;
+.appmian {
+  .el-main {
+    --el-main-padding: 0 !important;
+  }
+  .el-header {
+    padding: 0;
     margin: 0;
     width: 100%;
     position: absolute;
     z-index: 206;
     top: 0;
-    }
+  }
 }
 .ve_menu_logo {
-    width: 100%;
-    height:70px;
-    background: #0D1639;
-    white-space: nowrap;
-    text-align: left;
-    overflow: hidden;
-    display: flex;
-    background: #0D1639;
-    box-shadow: inset 0px 0px 17px 5px rgba(12,97,197,0.2);
-    border-radius: 0px 0px 0px 0px;
-    border-bottom: 1px solid;
+  width: 100%;
+  height: 70px;
+  background: #0d1639;
+  white-space: nowrap;
+  text-align: left;
+  overflow: hidden;
+  display: flex;
+  background: #0d1639;
+  box-shadow: inset 0px 0px 17px 5px rgba(12, 97, 197, 0.2);
+  border-radius: 0px 0px 0px 0px;
+  border-bottom: 1px solid;
+  box-sizing: border-box;
+  border-image: linear-gradient(
+      28deg,
+      rgba(31, 107, 255, 1),
+      rgba(31, 107, 255, 0)
+    )
+    1 1;
+  .ve_title {
+  }
+  .ve_logo_img {
+    padding-left: 30px;
+    height: 100%;
+    display: inline-block;
     box-sizing: border-box;
-    border-image: linear-gradient(28deg, rgba(31, 107, 255, 1), rgba(31, 107, 255, 0)) 1 1;
-    .ve_title{
-     
-    }
-    .ve_logo_img {
-        padding-left: 30px;
-        height: 100%;
-        display: inline-block;
-        box-sizing: border-box;
-        vertical-align: middle;
-        padding: 15px;
-    }
-    .ve_logo_title {
-        width: 160px;
+    vertical-align: middle;
+    padding: 15px;
+  }
+  .ve_logo_title {
+    width: 160px;
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
     display: inline-block;
     margin: 0;
     vertical-align: middle;
-    color: #68ADFF;
+    color: #68adff;
     font-size: 20px;
-    }
-    .el-menu-demo{
-        width:60% !important;
-   height: 70px;
-   border: none !important;
-   background: rgba(12,97,197,0);
-   .el-menu-item{
-    position: relative;
-    width: 97px;
-    font-family: Microsoft YaHei UI, Microsoft YaHei UI;
-    font-weight: bold;
-    font-size: 13px;
-    color: #68ADFF;
-    line-height: 15px;
-    text-align: center;
-    font-style: normal;
-    text-transform: none;
-    width: 110px;
-    height: 70px;
-    border-radius: 0px 0px 0px 0px;
-  border:none;
-   }
-   .is-active{
-    width: 110px;
+  }
+  .el-menu-demo {
+    width: 60% !important;
     height: 70px;
-    background:radial-gradient(ellipse at 54px 0px, #3AA0FF -37%, #123066 53%);
-    border-radius: 0px 0px 0px 0px;
-     border: 1px solid;
-    border-left: 1px solid rgba(16, 92, 240, 1);
-    border-right: 1px solid rgba(18, 48, 102, 1);
-     border-image: linear-gradient(347deg, rgba(16, 92, 240, 1), rgba(18, 48, 102, 1)) 1 1;
-    &:after {
-    width: 24px;
-    height: 1px;
-    background-color: #fff;
-    -webkit-transition: all ease-out 0.2s;
-    transition: all ease-out 0.2s;
-    content: "";
-    position: absolute;
-    left: 50%;
-    bottom: 15px;
-    webkit-transform: translate(-50%, 0%);
-    -moz-transform: translate(-50%,0%);
-    transform: translate(-50%, 0%);
-}
-   }
-}
-.ve_right{
+    border: none !important;
+    background: rgba(12, 97, 197, 0);
+    .el-menu-item {
+      position: relative;
+      width: 97px;
+      font-family: Microsoft YaHei UI, Microsoft YaHei UI;
+      font-weight: bold;
+      font-size: 13px;
+      color: #68adff;
+      line-height: 15px;
+      text-align: center;
+      font-style: normal;
+      text-transform: none;
+      width: 110px;
+      height: 70px;
+      border-radius: 0px 0px 0px 0px;
+      border: none;
+    }
+    .is-active {
+      width: 110px;
+      height: 70px;
+      background: radial-gradient(
+        ellipse at 54px 0px,
+        #3aa0ff -37%,
+        #123066 53%
+      );
+      border-radius: 0px 0px 0px 0px;
+      border: 1px solid;
+      border-left: 1px solid rgba(16, 92, 240, 1);
+      border-right: 1px solid rgba(18, 48, 102, 1);
+      border-image: linear-gradient(
+          347deg,
+          rgba(16, 92, 240, 1),
+          rgba(18, 48, 102, 1)
+        )
+        1 1;
+      &:after {
+        width: 24px;
+        height: 1px;
+        background-color: #fff;
+        -webkit-transition: all ease-out 0.2s;
+        transition: all ease-out 0.2s;
+        content: "";
+        position: absolute;
+        left: 50%;
+        bottom: 15px;
+        webkit-transform: translate(-50%, 0%);
+        -moz-transform: translate(-50%, 0%);
+        transform: translate(-50%, 0%);
+      }
+    }
+  }
+  .ve_right {
     height: 70px;
     overflow: hidden;
-    position:absolute;
+    position: absolute;
     right: 0;
     display: flex;
-  .ve_time{
-    height: 55px;
-    padding-top: 15px;
-    height: 70px;
-    border-radius: 0px 0px 0px 0px;
-    border-left: 2px solid rgba(12, 97, 197, 0.20);
-    border-right: 2px  solid rgba(12, 97, 197, 0.20);;
-    box-sizing: border-box;
-   // border-image: linear-gradient(347deg, rgba(31, 107, 255, 1), rgba(164, 195, 255, 1)) 1 1;
-    span{
-       display: block;  
-       font-family: Microsoft YaHei UI, Microsoft YaHei UI;
-        color: #FFFFFF;
+    .ve_time {
+      height: 55px;
+      padding-top: 15px;
+      height: 70px;
+      border-radius: 0px 0px 0px 0px;
+      border-left: 2px solid rgba(12, 97, 197, 0.2);
+      border-right: 2px solid rgba(12, 97, 197, 0.2);
+      box-sizing: border-box;
+      // border-image: linear-gradient(347deg, rgba(31, 107, 255, 1), rgba(164, 195, 255, 1)) 1 1;
+      span {
+        display: block;
+        font-family: Microsoft YaHei UI, Microsoft YaHei UI;
+        color: #ffffff;
         text-align: center;
         font-style: normal;
         text-transform: none;
       }
-      .l_huoqing{
+      .l_huoqing {
         font-size: 13px;
         line-height: 15px;
         font-weight: bold;
         line-height: 2;
       }
-      .l_time{
+      .l_time {
         font-size: 12px;
         line-height: 14px;
         font-weight: 400;
       }
     }
-    .ve_timeioc{
-        width: 150px;
-        height: 70px;
-        // border-radius: 0px 0px 0px 0px;
-        // border: 1px solid;
-        // border-image: linear-gradient(347deg, rgba(16, 92, 240, 1), rgba(164, 195, 255, 1)) 1 1;
-        font-family: Microsoft YaHei UI, Microsoft YaHei UI;
-        font-weight: bold;
-        font-size: 13px;
-        color: #68ADFF;
-        line-height: 15px;
-        text-align: center;
-        font-style: normal;
-        text-transform: none;
-        display: flex;
-        justify-content: center;
-        align-items: center;
-        span{
-            padding-left: 15px;
-        }
-            }
-}
+    .ve_timeioc {
+      width: 150px;
+      height: 70px;
+      // border-radius: 0px 0px 0px 0px;
+      // border: 1px solid;
+      // border-image: linear-gradient(347deg, rgba(16, 92, 240, 1), rgba(164, 195, 255, 1)) 1 1;
+      font-family: Microsoft YaHei UI, Microsoft YaHei UI;
+      font-weight: bold;
+      font-size: 13px;
+      color: #68adff;
+      line-height: 15px;
+      text-align: center;
+      font-style: normal;
+      text-transform: none;
+      display: flex;
+      justify-content: center;
+      align-items: center;
+      span {
+        padding-left: 15px;
+      }
+    }
+  }
 }
-  </style>
+</style>
   <style>
-   body{
-    width: 100%;
-    height: 100vh;
-    background: #161A2A ; 
-  }
-  button:focus, button:focus-visible{
-    outline:none;
-  }
-  .l_Dialog{
-    /* position: absolute; */
-    z-index: 206;
-    top: 0;
-
-  }
+body {
+  width: 100%;
+  height: 100vh;
+  background: #161a2a;
+}
+button:focus,
+button:focus-visible {
+  outline: none;
+}
+.l_Dialog {
+  /* position: absolute; */
+  z-index: 206;
+  top: 0;
+}
 </style>
   
   

Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov