|
@@ -1,117 +1,145 @@
|
|
|
<template>
|
|
|
<div class="header">
|
|
|
- <span style="color:#ffffff">分时控制设置</span>
|
|
|
- <!-- <customBtn :btnOptions="[{label:'保存',value:'timeshared'}]" @clickBtn="updateData" v-if="detailData.function['timeshared']"></customBtn> -->
|
|
|
+ <span style="color: #ffffff">分时控制设置</span>
|
|
|
</div>
|
|
|
<div class="info">
|
|
|
- <div class="info-item" v-for="(i,index) in 12">
|
|
|
+ <div class="info-item" v-for="i in 12" :key="i">
|
|
|
<div class="title" v-if="detailData.function[`时段${i}`]">
|
|
|
<div class="left">
|
|
|
<span class="inline-16">时间段{{ i }}</span>
|
|
|
- <Lamp bgStart="green" bgEnd="rgb(0, 255, 0)" :isTrue="detailData.params[`C0${numberCale(16+i)}`] ? detailData.params[`C0${numberCale(16+i)}`].lastvalue == 1 : false" :marginB="false"></Lamp>
|
|
|
+ <Lamp
|
|
|
+ bgStart="green"
|
|
|
+ bgEnd="rgb(0, 255, 0)"
|
|
|
+ :isTrue="
|
|
|
+ detailData.params[`C0${numberCale(16 + i)}`]
|
|
|
+ ? detailData.params[`C0${numberCale(16 + i)}`].lastvalue == 1
|
|
|
+ : false
|
|
|
+ "
|
|
|
+ :marginB="false"
|
|
|
+ ></Lamp>
|
|
|
</div>
|
|
|
<div style="display: flex">
|
|
|
<customBtn
|
|
|
v-if="detailData.isSite"
|
|
|
- style="margin-right: 10px;"
|
|
|
- :icon1="detailData.paramcmdvalues[`C0${16+i}`] && detailData.isfeedback ? true : false"
|
|
|
+ style="margin-right: 10px"
|
|
|
+ :icon1="
|
|
|
+ detailData.paramcmdvalues[`C0${16 + i}`] && detailData.isfeedback
|
|
|
+ ? true
|
|
|
+ : false
|
|
|
+ "
|
|
|
:btn="true"
|
|
|
- :btnOptions="[{label:detailData.paramcmdvalues[`C0${16+i}`]==1?'切出':'投入',value:detailData.paramcmdvalues[`C0${16+i}`]==1?'切出':'投入'}]"
|
|
|
- @clickBtn="upStatus(i)"
|
|
|
+ :btnOptions="btnOptions(i)"
|
|
|
+ @clickBtn="upStatus(i)"
|
|
|
></customBtn>
|
|
|
- <updataBtn v-if="detailData.function[`时段${i}`] && detailData.isSite" :icon1="detailData.paramcmdvalues[`T0${48+i}`] && detailData.isfeedback ? true : false">
|
|
|
+ <updataBtn
|
|
|
+ v-if="detailData.function[`时段${i}`] && detailData.isSite"
|
|
|
+ :icon1="
|
|
|
+ detailData.paramcmdvalues[`T0${48 + i}`] && detailData.isfeedback
|
|
|
+ ? true
|
|
|
+ : false
|
|
|
+ "
|
|
|
+ >
|
|
|
<div class="info-item_item">
|
|
|
- <MyInput
|
|
|
- :ref="`Input${i}`"
|
|
|
- v-model:value="detailData.paramcmdvalues[`start${i}`]"
|
|
|
- :name="`start${i}`"
|
|
|
- title="开始时间"
|
|
|
- type="h:m"
|
|
|
- :form="detailData.paramcmdvalues"
|
|
|
- :isCheck="true"
|
|
|
- time-split=":"
|
|
|
- inputBorder="1px solid #ccc"
|
|
|
- :unit="params[`start${i}`] && params[`start${i}`].unit"
|
|
|
- >
|
|
|
+ <MyInput
|
|
|
+ :ref="`Input${i}`"
|
|
|
+ v-model:value="detailData.paramcmdvalues[`start${i}`]"
|
|
|
+ :name="`start${i}`"
|
|
|
+ title="开始时间"
|
|
|
+ type="h:m"
|
|
|
+ :form="detailData.paramcmdvalues"
|
|
|
+ :isCheck="true"
|
|
|
+ time-split=":"
|
|
|
+ inputBorder="1px solid #ccc"
|
|
|
+ :unit="params[`start${i}`] && params[`start${i}`].unit"
|
|
|
+ >
|
|
|
</MyInput>
|
|
|
</div>
|
|
|
<div class="info-item_item">
|
|
|
- <MyInput
|
|
|
- v-model:value="detailData.paramcmdvalues[`end${i}`]"
|
|
|
- :name="`end${i}`"
|
|
|
- title="结束时间"
|
|
|
- :form="detailData.paramcmdvalues"
|
|
|
- :ref="`Input${i}`"
|
|
|
- :isCheck="true"
|
|
|
- type="h:m"
|
|
|
- time-split=":"
|
|
|
- inputBorder="1px solid #ccc"
|
|
|
- :unit="params[`end${i}`] && params[`end${i}`].unit"
|
|
|
- >
|
|
|
+ <MyInput
|
|
|
+ v-model:value="detailData.paramcmdvalues[`end${i}`]"
|
|
|
+ :name="`end${i}`"
|
|
|
+ title="结束时间"
|
|
|
+ :form="detailData.paramcmdvalues"
|
|
|
+ :ref="`Input${i}`"
|
|
|
+ :isCheck="true"
|
|
|
+ type="h:m"
|
|
|
+ time-split=":"
|
|
|
+ inputBorder="1px solid #ccc"
|
|
|
+ :unit="params[`end${i}`] && params[`end${i}`].unit"
|
|
|
+ >
|
|
|
</MyInput>
|
|
|
</div>
|
|
|
- <div class="info-item_item" v-if="params[`T0${48+i}`]">
|
|
|
- <MyInput
|
|
|
- :scale="params[`T0${48+i}`] && params[`T0${48+i}`].num_scale"
|
|
|
- v-model:value="detailData.paramcmdvalues[`T0${48+i}`]"
|
|
|
- :name="`T0${48+i}`"
|
|
|
- title="压力设定"
|
|
|
- :form="detailData.paramcmdvalues"
|
|
|
- :ref="`Input${i}`"
|
|
|
- :isCheck="true"
|
|
|
- inputBorder="1px solid #ccc"
|
|
|
- :max="params[`T0${48+i}`] && params[`T0${48+i}`].num_maxvalue"
|
|
|
- :min="params[`T0${48+i}`] && params[`T0${48+i}`].num_minvalue"
|
|
|
- :step="params[`T0${48+i}`] && params[`T0${48+i}`].num_step"
|
|
|
- :unit="params[`T0${48+i}`] && params[`T0${48+i}`] .unit"
|
|
|
- >
|
|
|
+ <div class="info-item_item" v-if="params[`T0${48 + i}`]">
|
|
|
+ <MyInput
|
|
|
+ :scale="
|
|
|
+ params[`T0${48 + i}`] && params[`T0${48 + i}`].num_scale
|
|
|
+ "
|
|
|
+ v-model:value="detailData.paramcmdvalues[`T0${48 + i}`]"
|
|
|
+ :name="`T0${48 + i}`"
|
|
|
+ title="压力设定"
|
|
|
+ :form="detailData.paramcmdvalues"
|
|
|
+ :ref="`Input${i}`"
|
|
|
+ :isCheck="true"
|
|
|
+ inputBorder="1px solid #ccc"
|
|
|
+ :max="
|
|
|
+ params[`T0${48 + i}`] && params[`T0${48 + i}`].num_maxvalue
|
|
|
+ "
|
|
|
+ :min="
|
|
|
+ params[`T0${48 + i}`] && params[`T0${48 + i}`].num_minvalue
|
|
|
+ "
|
|
|
+ :step="params[`T0${48 + i}`] && params[`T0${48 + i}`].num_step"
|
|
|
+ :unit="params[`T0${48 + i}`] && params[`T0${48 + i}`].unit"
|
|
|
+ >
|
|
|
</MyInput>
|
|
|
</div>
|
|
|
- <div style="display: flex;justify-content: space-between;margin-top: 10px;">
|
|
|
- <customBtn
|
|
|
- btnColor="rgb(22,255,246)"
|
|
|
- textColor="#000000"
|
|
|
- :btnOptions="[{label:'更新',value:'timeshared'}]"
|
|
|
- @clickBtn="updateData(i,$refs[`Input${i}`])"
|
|
|
+ <div
|
|
|
+ style="
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ margin-top: 10px;
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <customBtn
|
|
|
+ btnColor="rgb(22,255,246)"
|
|
|
+ textColor="#000000"
|
|
|
+ :btnOptions="[{ label: '更新', value: 'timeshared' }]"
|
|
|
+ @clickBtn="updateData(i, $refs[`Input${i}`])"
|
|
|
></customBtn>
|
|
|
</div>
|
|
|
-
|
|
|
</updataBtn>
|
|
|
</div>
|
|
|
-
|
|
|
-
|
|
|
</div>
|
|
|
<div class="info-item_item">
|
|
|
- <MyInput
|
|
|
- v-model:value="detailData.paramvalues[`start${i}`]"
|
|
|
- :name="`时段${i}小时开始`"
|
|
|
- title="开始时间"
|
|
|
- type="h:m"
|
|
|
- :form="detailData.paramvalues"
|
|
|
- :disabled="true"
|
|
|
- >
|
|
|
+ <MyInput
|
|
|
+ v-model:value="detailData.paramvalues[`start${i}`]"
|
|
|
+ :name="`时段${i}小时开始`"
|
|
|
+ title="开始时间"
|
|
|
+ type="h:m"
|
|
|
+ :form="detailData.paramvalues"
|
|
|
+ :disabled="true"
|
|
|
+ >
|
|
|
</MyInput>
|
|
|
</div>
|
|
|
<div class="info-item_item">
|
|
|
- <MyInput
|
|
|
- v-model:value="detailData.paramvalues[`end${i}`]"
|
|
|
- :name="`时段${i}小时结束`"
|
|
|
- title="结束时间"
|
|
|
- :form="detailData.paramvalues"
|
|
|
- :disabled="true"
|
|
|
- >
|
|
|
+ <MyInput
|
|
|
+ v-model:value="detailData.paramvalues[`end${i}`]"
|
|
|
+ :name="`时段${i}小时结束`"
|
|
|
+ title="结束时间"
|
|
|
+ :form="detailData.paramvalues"
|
|
|
+ :disabled="true"
|
|
|
+ >
|
|
|
</MyInput>
|
|
|
</div>
|
|
|
- <div class="info-item_item" v-if="params[`T0${48+i}`]">
|
|
|
- <MyInput
|
|
|
- :scale="params[`T0${48+i}`] && params[`T0${48+i}`].num_scale"
|
|
|
- v-model:value="detailData.paramvalues[`T0${48+i}`]"
|
|
|
- :name="`T0${48+i}`"
|
|
|
- title="压力设定"
|
|
|
- :form="detailData.paramvalues"
|
|
|
- :unit="params[`T0${48+i}`] && params[`T0${48+i}`].unit"
|
|
|
- :disabled="true"
|
|
|
- >
|
|
|
+ <div class="info-item_item" v-if="params[`T0${48 + i}`]">
|
|
|
+ <MyInput
|
|
|
+ :scale="params[`T0${48 + i}`] && params[`T0${48 + i}`].num_scale"
|
|
|
+ v-model:value="detailData.paramvalues[`T0${48 + i}`]"
|
|
|
+ :name="`T0${48 + i}`"
|
|
|
+ title="压力设定"
|
|
|
+ :form="detailData.paramvalues"
|
|
|
+ :unit="params[`T0${48 + i}`] && params[`T0${48 + i}`].unit"
|
|
|
+ :disabled="true"
|
|
|
+ >
|
|
|
</MyInput>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -119,88 +147,105 @@
|
|
|
</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 Lamp from '../../../modules/lamp.vue'
|
|
|
-import {ref, defineProps, defineEmits, inject, computed, onMounted} from 'vue'
|
|
|
-import {message, 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({})
|
|
|
+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 Lamp from "../../../modules/lamp.vue";
|
|
|
+import {
|
|
|
+ ref,
|
|
|
+ defineProps,
|
|
|
+ defineEmits,
|
|
|
+ inject,
|
|
|
+ computed,
|
|
|
+ onMounted,
|
|
|
+} from "vue";
|
|
|
+import { message, 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 router = useRouter();
|
|
|
|
|
|
-let detailData = inject('detail')
|
|
|
-let params = ref(detailData.value.params)
|
|
|
-let form = ref(detailData.value.paramvalues)
|
|
|
-let cmdForm = ref(detailData.value.paramcmdvalues)
|
|
|
+let detailData = inject("detail");
|
|
|
+let params = ref(detailData.value.params);
|
|
|
+let form = ref(detailData.value.paramvalues);
|
|
|
+let cmdForm = ref(detailData.value.paramcmdvalues);
|
|
|
+console.log("detailData", form);
|
|
|
+let btnOptions = (i) => {
|
|
|
+ return [
|
|
|
+ {
|
|
|
+ label: cmdForm[`C0${16 + i}`] == 1 ? "切出" : "投入",
|
|
|
+ value: cmdForm[`C0${16 + i}`] == 1 ? "切出" : "投入",
|
|
|
+ },
|
|
|
+ ];
|
|
|
+};
|
|
|
|
|
|
-
|
|
|
-let Input = ref()
|
|
|
+let Input = ref();
|
|
|
let numberCale = (num) => {
|
|
|
- return (num+'').padStart(2,'0')
|
|
|
-}
|
|
|
-let updateData = async (i,vm) => {
|
|
|
- let check
|
|
|
+ return (num + "").padStart(2, "0");
|
|
|
+};
|
|
|
+let updateData = async (i, vm) => {
|
|
|
+ let check;
|
|
|
for (var el of vm) {
|
|
|
- check = await el.Form.validateFields()
|
|
|
+ check = await el.Form.validateFields();
|
|
|
}
|
|
|
- if (!check) return
|
|
|
+ if (!check) return;
|
|
|
Modal.confirm({
|
|
|
- title:'确定更新数据吗?',
|
|
|
- async onOk () {
|
|
|
- let keys = Object.keys(detailData.value.function[`时段${i}`].params)
|
|
|
- let obj = {}
|
|
|
- let start = detailData.value.paramcmdvalues[`start${i}`].split(':')
|
|
|
- let end = detailData.value.paramcmdvalues[`end${i}`].split(':')
|
|
|
- obj[`T0${numberCale(i*4-3)}`] = start[0]
|
|
|
- obj[`T0${numberCale(i*4-2)}`] = end[0]
|
|
|
- obj[`T0${numberCale(i*4-1)}`] = start[1]
|
|
|
- obj[`T0${numberCale(i*4)}`] = end[1]
|
|
|
- obj[`T0${numberCale(48+i)}`] = detailData.value.paramcmdvalues[`T0${numberCale(48+i)}`]
|
|
|
+ title: "确定更新数据吗?",
|
|
|
+ async onOk() {
|
|
|
+ let keys = Object.keys(detailData.value.function[`时段${i}`].params);
|
|
|
+ let obj = {};
|
|
|
+ let start = detailData.value.paramcmdvalues[`start${i}`].split(":");
|
|
|
+ let end = detailData.value.paramcmdvalues[`end${i}`].split(":");
|
|
|
+ obj[`T0${numberCale(i * 4 - 3)}`] = start[0];
|
|
|
+ obj[`T0${numberCale(i * 4 - 2)}`] = end[0];
|
|
|
+ obj[`T0${numberCale(i * 4 - 1)}`] = start[1];
|
|
|
+ obj[`T0${numberCale(i * 4)}`] = end[1];
|
|
|
+ obj[`T0${numberCale(48 + i)}`] =
|
|
|
+ detailData.value.paramcmdvalues[`T0${numberCale(48 + i)}`];
|
|
|
let res = await Api.requested({
|
|
|
- "id": "20230627163701",
|
|
|
- "content": {
|
|
|
- "w_deviceid": router.currentRoute.value.query.id,
|
|
|
- "w_functionid": detailData.value.function[`时段${i}`].w_functionid,
|
|
|
- "params": obj
|
|
|
- }
|
|
|
- })
|
|
|
- utils.message(res,'操作成功',() => {
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
-}
|
|
|
+ id: "20230627163701",
|
|
|
+ content: {
|
|
|
+ w_deviceid: router.currentRoute.value.query.id,
|
|
|
+ w_functionid: detailData.value.function[`时段${i}`].w_functionid,
|
|
|
+ params: obj,
|
|
|
+ },
|
|
|
+ });
|
|
|
+ utils.message(res, "操作成功", () => {});
|
|
|
+ },
|
|
|
+ });
|
|
|
+};
|
|
|
|
|
|
let upStatus = async (i) => {
|
|
|
- if (!detailData.value.paramcmdvalues[`T0${numberCale(48+i)}`]) return message.warning('请填写压力值')
|
|
|
+ if (!detailData.value.paramcmdvalues[`T0${numberCale(48 + i)}`])
|
|
|
+ return message.warning("请填写压力值");
|
|
|
Modal.confirm({
|
|
|
- title:`确认${detailData.value.paramcmdvalues[`C0${16+i}`]==1?'切出':'投入'}时间段${i}吗?`,
|
|
|
- async onOk () {
|
|
|
- let obj = {}
|
|
|
- obj[`C0${16+i}`] = detailData.value.paramcmdvalues[`C0${16+i}`]==1?0:1
|
|
|
+ title: `确认${
|
|
|
+ detailData.value.paramcmdvalues[`C0${16 + i}`] == 1 ? "切出" : "投入"
|
|
|
+ }时间段${i}吗?`,
|
|
|
+ async onOk() {
|
|
|
+ let obj = {};
|
|
|
+ obj[`C0${16 + i}`] =
|
|
|
+ detailData.value.paramcmdvalues[`C0${16 + i}`] == 1 ? 0 : 1;
|
|
|
let res = await Api.requested({
|
|
|
- "id": "20230627163701",
|
|
|
- "content": {
|
|
|
- "w_deviceid": router.currentRoute.value.query.id,
|
|
|
- "w_functionid": detailData.value.function[`时间段${i}`].w_functionid,
|
|
|
- "params": obj
|
|
|
- }
|
|
|
- })
|
|
|
- utils.message(res,'操作成功',() => {
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
-
|
|
|
-}
|
|
|
+ id: "20230627163701",
|
|
|
+ content: {
|
|
|
+ w_deviceid: router.currentRoute.value.query.id,
|
|
|
+ w_functionid: detailData.value.function[`时间段${i}`].w_functionid,
|
|
|
+ params: obj,
|
|
|
+ },
|
|
|
+ });
|
|
|
+ utils.message(res, "操作成功", () => {});
|
|
|
+ },
|
|
|
+ });
|
|
|
+};
|
|
|
</script>
|
|
|
|
|
|
<style scoped>
|
|
|
-*{
|
|
|
+* {
|
|
|
box-sizing: border-box;
|
|
|
}
|
|
|
.header {
|
|
@@ -244,14 +289,14 @@ let upStatus = async (i) => {
|
|
|
.info .info-item .info-item_item .name {
|
|
|
font-size: 12px;
|
|
|
color: #ffffff;
|
|
|
- background: rgb(255, 225, 255,.25);
|
|
|
+ background: rgb(255, 225, 255, 0.25);
|
|
|
padding: 0 10px;
|
|
|
flex: 1;
|
|
|
}
|
|
|
.info .info-item .info-item_item .value {
|
|
|
font-size: 12px;
|
|
|
- color:#16FFF6;
|
|
|
- background: rgb(255, 225, 255,.10);
|
|
|
+ color: #16fff6;
|
|
|
+ background: rgb(255, 225, 255, 0.1);
|
|
|
padding: 0 10px;
|
|
|
flex: 2.5;
|
|
|
text-align: right;
|