Browse Source

修改判断

xiaohaizhao 2 months ago
parent
commit
6a149139af

+ 0 - 264
src/operation/moduleNormal/controlPanel/model/MT02/index copy.vue

@@ -1,264 +0,0 @@
-
-
-<template>
-  <div :class="['control',{'wrapper':wrapper}]" v-if="detail">
-    <div class="control-left">
-      <div class="top">
-        <infoPanel></infoPanel>
-      </div>
-      <div class="bottom">
-        <controlPanel @onSuccess="detailFun"></controlPanel>
-      </div>
-    </div>
-    <div class="control-content" v-if="refresh">
-      <div class="map" :style="{transform:`scale(${calcSize})`}">
-        <div style="display: inline-block;position: relative">
-          <dataBlock 
-            v-if="detail.params.UpP"
-            :title="detail.params.UpP.paramname" 
-            :top="0" 
-            :left="50" 
-            :data="[{value:detail.params.UpP.lastvalue,unit:detail.params.UpP.unit}]"
-          ></dataBlock>
-          <dataBlock 
-            v-if="detail.params.DownP"
-            :title="detail.params.DownP.paramname" 
-            :top="0" 
-            :left="400" 
-            :data="[{value:detail.params.DownP.lastvalue,unit:detail.params.DownP.unit}]"
-          ></dataBlock>
-          <img :src="imgUrl" alt="">
-          <div style="clear: both;"></div>
-        </div>
-      </div>
-      <div class="chart">
-        <MyChart :options="[{label:'压力历史曲线图',value:'UpP',sumShow:true},{label:'流量历史曲线图',value:'CumFlow'}]"></MyChart>
-      </div>
-      <div class="message-header">
-        <customBtn :btnOptions="[{label:wrapper ? '退出全屏' : '进入全屏'}]" :btn="true" style="width:70px" @clickBtn="clickBtn"></customBtn>
-        <!-- <Message></Message> -->
-      </div>
-    </div>
-    <div class="control-right">
-      <timeControl></timeControl>
-    </div>
-  </div>
-</template>
-
-<script setup>
-import infoPanel from '../../modules/infoPanel.vue'
-import MyChart from '../../modules/MyChart.vue'
-import timeControl from './modules/timeControl.vue'
-import controlPanel from './modules/controlPanel.vue'
-import customBtn from '../../modules/customBtn.vue'
-import Message from '../../modules/message.vue'
-import dataBlock from '../../modules/dataBlock.vue'
-import updataBtn from '../../modules/updataBtn.vue'
-import {ref, defineProps, defineEmits, onMounted, provide, onBeforeMount, onUnmounted, computed, watch} from 'vue'
-import {Modal} from 'ant-design-vue'
-import { onBeforeRouteUpdate, useRouter } from 'vue-router'
-import { useAuthStore } from '@/stores/modules/auth'
-import Api from '@/api/api'
-import Http from '@/api/http'
-import utils from '@/utils/utils'
-import { calcSizeFun } from '../../modules/util.js'
-
-
-let AuthStore = useAuthStore()
-
-let router = useRouter()
-let emit = defineEmits(['onSuccess'])
-let props = defineProps({})
-
-let refresh = ref(true)
-let wrapper = ref(false)
-
-let detail = ref('')
-
-let modelList = ref([
-  {label:'就地模式',value:'LocalMode'},
-  {label:'远程开关阀模式',value:'SwitchMode'},
-  {label:'远程不利点模式',value:'DisadvantageMode'},
-  {label:'恒压控制',value:'ConstantConON'},
-])
-
-provide('detail',detail)
-provide('modelList',modelList)
-
-let calcSize = ref(1)
-calcSizeFun((size) => {
-  calcSize.value = size
-})
-
-let imgUrl = computed(() => {
-  let arr = detail.value.attinfos.filter(item => item.usetype == 'previewImage')
-  return arr[arr.length - 1] ? arr[arr.length - 1].url : ''
-})
-
-let clickBtn = (tag) => {
-  tag.label == '进入全屏' ? wrapper.value = true : wrapper.value = false
-  refresh.value = false
-  setTimeout(() => {
-    refresh.value = true
-  })
-}
-
-let detailFun = async () => {
-  let res = await Api.requested({
-    "id": "20230628084901",
-    "content": {
-      "w_deviceid": router.currentRoute.value.query.id
-    }
-  })
-  detail.value = res.data
-
-
-  for (let i=1;i<9;i++) {
-    if (detail.value.paramvalues[`T${i}H`]) {
-      detail.value.paramvalues[`start${i}`] = detail.value.paramvalues[`T${i}H`] ? detail.value.paramvalues[`T${i}H`] + ':' + detail.value.paramvalues[`T${i}M`] : ''
-      detail.value.paramvalues[`end${i}`] = detail.value.paramvalues[`T${i}H1`] ? detail.value.paramvalues[`T${i}H1`] + ':' + detail.value.paramvalues[`T${i}M1`] : ''
-      detail.value.paramcmdvalues[`start${i}`] = detail.value.paramcmdvalues[`T${i}H`] ? detail.value.paramcmdvalues[`T${i}H`] + ':' + detail.value.paramcmdvalues[`T${i}M`] : ''
-      detail.value.paramcmdvalues[`end${i}`] = detail.value.paramcmdvalues[`T${i}H1`] ? detail.value.paramcmdvalues[`T${i}H1`] + ':' + detail.value.paramcmdvalues[`T${i}M1`] : ''
-    } else {
-      detail.value.paramvalues[`start${i}`] = ''
-      detail.value.paramvalues[`end${i}`] = ''
-      detail.value.paramcmdvalues[`start${i}`] = ''
-      detail.value.paramcmdvalues[`end${i}`] = ''
-    }
-  }
-
-  modelList.value.forEach(item => {
-    console.log(detail.value.paramvalues[item.value]);
-    if (detail.value.paramvalues[item.value] == '1') {
-      detail.value.paramvalues.控制模式 = item.label
-    }
-    if (detail.value.paramcmdvalues[item.value] == '1') {
-      detail.value.paramcmdvalues.控制模式 = item.label
-    }
-  })
-
-  console.log(res.data);
-}
-
-let timer = setInterval(async () => {
-  let res = await Api.isRefreshDevice({
-    "w_deviceid":router.currentRoute.value.query.id,
-  },'get')
-  if (res) detailFun()
-},5000)
-
-onMounted( () => {
-  detailFun()
-  timer
-})
-onUnmounted(() => {
-  clearInterval(timer)
-})
-</script>
-
-<style scoped>
-*{
-  box-sizing: border-box;
-}
-.control {
-  display: flex;
-  height: calc(100vh - 60px);
-  width: 100%;
-  padding: 10px 0;
-  background: linear-gradient(90deg, #001D6A 0%, #0060B2 82%, #007BD5 100%) !important;
-}
-.wrapper {
-  position: absolute;
-  top: 0;
-  left: 0;
-  z-index: 999;
-  height: 100vh !important;
-  padding: 20px;
-}
-.control .control-left {
-  width: 290px;
-  height: 100%;
-  display: flex;
-  flex-direction: column;
-  justify-content: space-between;
-} 
-.control .control-left .top {
-  width: 100%;
-  height: 49.5%;
-  background:  rgb(0, 0, 0,.05);
-  padding: 10px;
-}
-.control .control-left .bottom {
-  width: 100%;
-  min-width: 290px;
-  height: 49.5%;
-  background:  rgb(0, 0, 0,.05);
-  padding: 10px;
-}
-
-.control .control-content {
-  flex:1 ;
-  height: 100%;
-  padding: 0 10px;
-  display: flex;
-  flex-direction: column;
-  justify-content: space-between;
-  position: relative;
-  overflow: hidden;
-}
-.control .control-content .message-header {
-  display: flex;
-  justify-content: space-between;
-  align-items: center;
-  position: absolute;
-  top: 0;
-  left: 0;
-  width: 100%;
-  padding-left: 10px;
-}
-.control .control-content .map {
-  width: 100%;
-  height: calc(100vh - 255px);
-  position: relative;
-  display: flex;
-  align-items: center;
-  width: 684px;
-  padding: 0 70px;
-  margin: auto;
-}
-.control .control-content .map img {
-  width: 100%;
-  object-fit: scale-down;
-  z-index: 1;
-}
-
-.control .control-content .chart {
-  width: 100%;
-  height: 255px;
-  background:  rgb(0, 0, 0,.05);
-  padding: 0 10px 10px 0;
-}
-
-.control .control-right {
-  width: 272px;
-  height: 100%;
-  background:  rgb(0, 0, 0,.05);
-  padding: 10px;
-}
-.stop {
-  /* border-radius: 50%;
-  background: #ffffff; */
-  position: absolute;
-  top: -30px;
-  right: -60px;
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-}
-/deep/ .stop .ant-btn {
-  border-radius: 50%;
-  width: 60px;
-  height: 60px;
-  font-size: 12px;
-}
-</style>

+ 4 - 11
src/operation/moduleNormal/controlPanel/model/MT02/index.vue

@@ -113,17 +113,10 @@ let detailFun = async () => {
 
 
   for (let i=1;i<9;i++) {
-    if (detail.value.paramvalues[`T${i}H`]) {
-      detail.value.paramvalues[`start${i}`] = detail.value.paramvalues[`T${i}H`] ? detail.value.paramvalues[`T${i}H`] + ':' + detail.value.paramvalues[`T${i}M`] : ''
-      detail.value.paramvalues[`end${i}`] = detail.value.paramvalues[`T${i}H1`] ? detail.value.paramvalues[`T${i}H1`] + ':' + detail.value.paramvalues[`T${i}M1`] : ''
-      detail.value.paramcmdvalues[`start${i}`] = detail.value.paramcmdvalues[`T${i}H`] ? detail.value.paramcmdvalues[`T${i}H`] + ':' + detail.value.paramcmdvalues[`T${i}M`] : ''
-      detail.value.paramcmdvalues[`end${i}`] = detail.value.paramcmdvalues[`T${i}H1`] ? detail.value.paramcmdvalues[`T${i}H1`] + ':' + detail.value.paramcmdvalues[`T${i}M1`] : ''
-    } else {
-      detail.value.paramvalues[`start${i}`] = ''
-      detail.value.paramvalues[`end${i}`] = ''
-      detail.value.paramcmdvalues[`start${i}`] = ''
-      detail.value.paramcmdvalues[`end${i}`] = ''
-    }
+      detail.value.paramvalues[`start${i}`] =  (detail.value.paramvalues[`T${i}H`] || 0) + ':' + (detail.value.paramvalues[`T${i}M`] || 0)
+      detail.value.paramvalues[`end${i}`] =  (detail.value.paramvalues[`T${i}H1`] || 0) + ':' + (detail.value.paramvalues[`T${i}M1`] || 0)
+      detail.value.paramcmdvalues[`start${i}`] =  (detail.value.paramcmdvalues[`T${i}H`] || 0) + ':' + (detail.value.paramcmdvalues[`T${i}M`] || 0)
+      detail.value.paramcmdvalues[`end${i}`] =  (detail.value.paramcmdvalues[`T${i}H1`] || 0) + ':' + (detail.value.paramcmdvalues[`T${i}M1`] || 0)
   }
 
   modelList.value.forEach(item => {

+ 0 - 301
src/operation/moduleNormal/controlPanel/model/MT02/modules/timeControl copy.vue

@@ -1,301 +0,0 @@
-<template>
-  <div class="header">
-    <span style="color:#ffffff">分时控制设置</span>
-    <!-- <customBtn :btnOptions="[{label:'保存',value:'timeshared'}]" @clickBtn="updateData" v-if="detailData.function['timeshared']"></customBtn> -->
-  </div>
-  <MyInput 
-      v-if="detailData.function['TimeCon'] && params.TimeConON"
-      :form="detailData.paramvalues"
-      name="TimeConON" 
-      :unit="params.TimeConON && params.TimeConON.unit" 
-      :title="detailData.function.TimeCon && detailData.function.TimeCon.funcname"
-      btnName="更新"
-      :text="detailData.params.TimeConON.options.filter(item => item.value == detailData.paramvalues.TimeConON).length && detailData.params.TimeConON.options.filter(item => item.value == detailData.paramvalues.TimeConON)[0].label"
-    >
-    <updataBtn :icon1="detailData.paramcmdvalues.TimeConON && detailData.isfeedback ? true : false">
-      <MyRadio
-        :data="cmdForm.TimeConON"
-        textColor="#000000" 
-        @Change="modelChange" 
-        v-model:value="cmdForm.TimeConON" 
-        :options="params.TimeConON.options" 
-      />
-    </updataBtn>
-  </MyInput>
-  
-  <div class="info">
-    <div class="info-item" v-for="(i,index) in 8">
-      <div class="title" v-if="params[`T${i}H`]">
-        <span>时间段{{ i }}</span>
-
-        <updataBtn v-if="detailData.function[`T${i}`]" :icon1="detailData.paramcmdvalues[`T${i}H`] && detailData.isfeedback ? true : false">
-          <customBtn 
-            style="text-align: right;padding-right: 10px;margin-bottom: 10px;" btnColor="rgb(22,255,246)" 
-            textColor="#000000" 
-            :btnOptions="[{label:'更新',value:'timeshared'}]" 
-            @clickBtn="updateData(i,$refs[`Input${i}`])" 
-          ></customBtn>
-          <div class="info-item_item">
-              <MyInput 
-                :ref="`Input${i}`"
-                :scale="params[`T${i}H`] && params[`T${i}H`].num_scale" 
-                v-model:value="detailData.paramvalues[`start${i}`]" 
-                :name="`start${i}`" 
-                title="开始时间"
-                type="h:m"
-                :form="detailData.paramvalues"
-                :isCheck="true"
-                time-split=":"
-                inputBorder="1px solid #ccc"
-              >
-            </MyInput>
-          </div>
-          <div class="info-item_item">
-              <MyInput 
-                :scale="params[`T${i}H1`] && params[`T${i}H1`].num_scale" 
-                v-model:value="detailData.paramvalues[`end${i}`]" 
-                :name="`end${i}`" 
-                title="结束时间"
-                :form="detailData.paramvalues"
-                :ref="`Input${i}`"
-                :isCheck="true"
-                type="h:m"
-                time-split=":"
-                inputBorder="1px solid #ccc"
-              >
-            </MyInput>
-          </div>
-          <div class="info-item_item" v-if="params[`T${i}_P`]">
-              <MyInput 
-                :scale="params[`T${i}_P`] && params[`T${i}_P`].num_scale" 
-                v-model:value="detailData.paramvalues[`T${i}_P`]" 
-                :name="`T${i}_P`" 
-                title="压力设置"
-                :form="detailData.paramvalues"
-                :ref="`Input${i}`"
-                :isCheck="true"
-                inputBorder="1px solid #ccc"
-                :max="params[`T${i}_P`] && params[`T${i}_P`].num_maxvalue"
-                :min="params[`T${i}_P`] && params[`T${i}_P`].num_minvalue"
-                :step="params[`T${i}_P`] && params[`T${i}_P`].num_step"
-              >
-            </MyInput>
-          </div>
-        </updataBtn>
-        
-      </div>
-      <div class="info-item_item">
-          <MyInput 
-            :scale="params[`T${i}_T`] && params[`T${i}H`].num_scale" 
-            v-model:value="detailData.paramvalues[`start${i}`]" 
-            :name="`T${i}H`" 
-            title="开始时间"
-            type="h:m"
-            :form="detailData.paramvalues"
-            :isCheck="true"
-            :disabled="true"
-          >
-        </MyInput>
-      </div>
-      <div class="info-item_item" v-if="params[`T${i}H1`]">
-          <MyInput 
-            :scale="params[`T${i}H1`] && params[`T${i}H1`].num_scale" 
-            v-model:value="detailData.paramvalues[`end${i}`]" 
-            :name="`T${i}H1`" 
-            title="结束时间"
-            :form="detailData.paramvalues"
-            :isCheck="true"
-            :disabled="true"
-          >
-        </MyInput>
-      </div>
-      <div class="info-item_item" v-if="params[`T${i}_P`]">
-          <MyInput 
-            :scale="params[`T${i}_P`] && params[`T${i}_P`].num_scale" 
-            v-model:value="detailData.paramvalues[`T${i}_P`]" 
-            :name="`T${i}_P`" 
-            title="压力设置"
-            :form="detailData.paramvalues"
-            :isCheck="true"
-            :disabled="true"
-          >
-        </MyInput>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script setup>
-import MyInput from '../../../modules/myInput.vue'
-import MyRadio from '../../../modules/myRadio.vue'
-import customBtn from '../../../modules/customBtn.vue'
-import updataBtn from '../../../modules/updataBtn.vue'
-import {ref, defineProps, defineEmits, inject, computed, onMounted} from 'vue'
-import {Modal} from 'ant-design-vue'
-import Api from '@/api/api'
-import utils from '@/utils/utils'
-import {useRouter} from 'vue-router'
-let emit = defineEmits([])
-let props = defineProps({})
-
-let router = useRouter()
-
-let detailData = inject('detail')
-let params = ref(detailData.value.params)
-let form = ref(detailData.value.paramvalues)
-let cmdForm = ref(detailData.value.paramcmdvalues)
-
-const radioStyle = ref({
-  color:'#ffffff',
-  marginBottom:'10px',
-  fontSize:'12px'
-});
-
-let timeArr = [
-  {label:1,value:'一'},
-  {label:2,value:'二'},
-  {label:3,value:'三'},
-  {label:4,value:'四'},
-  {label:5,value:'五'},
-  {label:6,value:'六'},
-  {label:7,value:'七'},
-  {label:8,value:'八'},
-]
-
-let Input = ref()
-
-let modelChange = (e) => {
-  let value = e.target.value
-  Modal.confirm({
-    title:'确定改变模式吗?',
-    async onOk () {
-      let model = value ? {
-        'TimeConON':1,
-        'TimeConOFF':0,
-        'LocalMode':1,
-        'SwitchMode':0,
-        'DisadvantageMode':0,
-        'ConstantConOFF':1,
-        'ConstantConON':0
-      }
-      : 
-      {
-        'TimeConON':0,
-        'TimeConOFF':1,
-        'LocalMode':0,
-        'SwitchMode':0,
-        'DisadvantageMode':0,
-        'ConstantConOFF':1,
-        'ConstantConON':0
-      }
-      let res = await Api.requested({
-        "id": "20230627163701",
-        "content": {
-          "w_deviceid": router.currentRoute.value.query.id,
-          "w_functionid": detailData.value.function.TimeCon.w_functionid,
-          "params": model
-        }
-      })
-      utils.message(res,'操作成功',() => {
-      })
-    },
-    onCancel () {
-      cmdForm.value.TimeConON = cmdForm.value.TimeConON == 1 ? 0 : 1 
-    }
-  })
-}
-
-let updateData = async (i,vm) => {
-  let check
-  for (var el of vm) {
-    check = await el.Form.validateFields()
-  }
-  if (!check) return
-  Modal.confirm({
-    title:'确定更新数据吗?',
-    async onOk () {
-      let keys = Object.keys(detailData.value.function[`T${i}`].params)
-      let obj = {}
-      let start = detailData.value.paramvalues[`start${i}`].split(':')
-      let end = detailData.value.paramvalues[`end${i}`].split(':')
-      obj[`T${i}H`] = start[0]
-      obj[`T${i}M`] = start[1]
-      obj[`T${i}H1`] = end[0]
-      obj[`T${i}M1`] = end[1]
-      obj[`T${i}_P`] = detailData.value.paramvalues[`T${i}_P`]
-      let res = await Api.requested({
-        "id": "20230627163701",
-        "content": {
-          "w_deviceid": router.currentRoute.value.query.id,
-          "w_functionid": detailData.value.function[`T${i}`].w_functionid,
-          "params": obj
-        }
-      })
-      utils.message(res,'操作成功',() => {
-      })
-    }
-  })
-}
-</script>
-
-<style scoped>
-*{
-  box-sizing: border-box;
-}
-.header {
-  display: flex;
-  justify-content: space-between;
-  margin-bottom: 10px;
-}
-.header:first-child {
-  font-size: 14px;
-}
-.header:last-child {
-  font-size: 12px;
-}
-.info {
-  display: flex;
-  flex-direction: column;
-  overflow-y: scroll;
-  height: calc(100% - 60px);
-  scrollbar-width: none;
-}
-.info .info-item {
-  display: flex;
-  flex-direction: column;
-  margin-bottom: 10px;
-}
-.info .info-item .title {
-  font-size: 14px;
-  color: #ffffff;
-  margin-bottom: 10px;
-  display: flex;
-  justify-content: space-between;
-}
-.info .info-item .info-item_item {
-  display: flex;
-  margin-bottom: 10px;
-}
-.info .info-item .info-item_item .name {
-  font-size: 12px;
-  color: #ffffff;
-  background: rgb(255, 225, 255,.25);
-  padding: 0 10px;
-  flex: 1;
-}
-.info .info-item .info-item_item .value {
-  font-size: 12px;
-  color:#16FFF6;
-  background: rgb(255, 225, 255,.10);
-  padding: 0 10px;
-  flex: 2.5;
-  text-align: right;
-}
-
-::-webkit-scrollbar {
-  display: none;
-}
-/deep/ .ant-form-item {
-  margin-bottom: 0 !important;
-}
-</style>