Commit 4be9e4f0 authored by yating.lin's avatar yating.lin

牛舍配置 90%

parent 6817aec5
...@@ -26,77 +26,71 @@ ...@@ -26,77 +26,71 @@
<ion-col> <ion-col>
<ion-item class="fanItem"> <ion-item class="fanItem">
<ion-label position="fixed">偏差温度</ion-label> <ion-label position="fixed">偏差温度</ion-label>
<ion-input placeholder="25" [(ngModel)]="curCowshed.propertyConfig.toft"></ion-input> <ion-input [(ngModel)]="curCowshed.propertyConfig.toft"></ion-input>
<ion-label position="fixed"></ion-label> <ion-label position="fixed"></ion-label>
</ion-item> </ion-item>
</ion-col> </ion-col>
<ion-col> <ion-col>
<ion-item class="fanItem"> <ion-item class="fanItem">
<ion-label position="fixed">偏差湿度</ion-label> <ion-label position="fixed">偏差湿度</ion-label>
<ion-input placeholder="25" [(ngModel)]="curCowshed.propertyConfig.hoft" (ionFocus)="fanTempHaveFouch()"></ion-input> <ion-input [(ngModel)]="curCowshed.propertyConfig.hoft"></ion-input>
<ion-label position="fixed"></ion-label> <ion-label position="fixed"></ion-label>
</ion-item> </ion-item>
</ion-col> </ion-col>
</ion-row> </ion-row>
</ion-grid> </ion-grid>
</ion-item> </ion-item>
<ion-item-divider> <div *ngIf="fengJi">
<ion-label>风机模式配置</ion-label> <ion-item-divider>
<ion-select multiple="false" cancelText="取消" okText="确认" [(ngModel)]="workModeSetting.workMode" [(value)]="workModeSetting.workMode" (ionChange)="workModeEvent()"> <ion-label>风机模式配置</ion-label>
<ion-select-option value="0">自控模式</ion-select-option> <ion-select multiple="false" cancelText="取消" okText="确认" [(ngModel)]="fengJi.controlModel" [(value)]="fengJi.controlModel" (ionChange)="workModeEvent(fengJi)">
<ion-select-option value="1">手控模式</ion-select-option> <ion-select-option value="0">手控模式</ion-select-option>
</ion-select> <ion-select-option value="1">自控模式</ion-select-option>
</ion-item-divider> </ion-select>
<ion-item class="fanItem" lines="none"> </ion-item-divider>
<ion-grid> <ion-item class="fanItem" lines="none">
<ion-row> <ion-grid>
<ion-col> <ion-row>
<ion-item class="fanItem"> <ion-col>
<ion-label>风机模式</ion-label> <ion-item class="fanItem">
<ion-input slot="end" placeholder="模式一"></ion-input> <ion-label position="fixed">开启温度</ion-label>
</ion-item> <ion-input (ionFocus)="fanTempHaveFouch()" [(ngModel)]="fengJi.controlConfig.TU"></ion-input>
</ion-col> <ion-label position="fixed"></ion-label>
</ion-row> </ion-item>
<ion-row> </ion-col>
<ion-col> <ion-col>
<ion-item class="fanItem"> <ion-item class="fanItem">
<ion-label position="fixed">开启温度</ion-label> <ion-label position="fixed">关闭温度</ion-label>
<ion-input placeholder="25" (ionFocus)="fanTempHaveFouch()"></ion-input> <ion-input (ionFocus)="fanTempHaveFouch()" [(ngModel)]="fengJi.controlConfig.TL"></ion-input>
<ion-label position="fixed"></ion-label> <ion-label position="fixed"></ion-label>
</ion-item> </ion-item>
</ion-col> </ion-col>
<ion-col> </ion-row>
<ion-item class="fanItem"> </ion-grid>
<ion-label position="fixed">关闭温度</ion-label> </ion-item>
<ion-input placeholder="25" (ionFocus)="fanTempHaveFouch()"></ion-input> </div>
<ion-label position="fixed"></ion-label> <div *ngIf="penLin">
</ion-item> <ion-item-divider>
</ion-col> <ion-label>喷淋模式配置</ion-label>
</ion-row> <ion-select multiple="false" cancelText="取消" okText="确认" [(ngModel)]="penLin.controlModel" [(value)]="penLin.controlModel" (ionChange)="workModeEvent(penLin)">
</ion-grid> <ion-select-option value="0">手控模式</ion-select-option>
</ion-item> <ion-select-option value="1">自控模式</ion-select-option>
</ion-select>
<ion-item-divider> </ion-item-divider>
<ion-label>喷淋模式配置</ion-label> <ion-item-sliding *ngFor="let cfg of penLin.controlConfig">
<ion-select multiple="false" cancelText="取消" okText="确认" [(ngModel)]="workModeSetting.workMode" [(value)]="workModeSetting.workMode" (ionChange)="workModeEvent()">
<ion-select-option value="0">自控模式</ion-select-option>
<ion-select-option value="1">手控模式</ion-select-option>
</ion-select>
</ion-item-divider>
<ion-item-sliding *ngFor="let cfg of fanCfg">
<ion-item class="fanItem"> <ion-item class="fanItem">
<ion-grid> <ion-grid>
<ion-row style="width: 100%"> <ion-row style="width: 100%">
<ion-col size="auto" style="font-size: 13px;"> <ion-col size="auto" style="font-size: 13px;">
<ion-item class="fanItem" lines="none"> <ion-item class="fanItem" lines="none">
<ion-label style="width:80px">模式名</ion-label> <ion-label style="width:80px">模式名</ion-label>
<ion-input placeholder={{cfg.name}} (ionFocus)="fanTempHaveFouch()" style="width:50px;"></ion-input> <ion-input [(ngModel)]="cfg.name" (ionFocus)="fanTempHaveFouch()" style="width:50px;"></ion-input>
</ion-item> </ion-item>
</ion-col> </ion-col>
<ion-col size="auto" style="font-size: 13px;"> <ion-col size="auto" style="font-size: 13px;">
<ion-item class="timepickerItem" lines="none"> <ion-item class="timepickerItem" lines="none">
<ion-label style="width:80px">间隔时间</ion-label> <ion-label style="width:80px">间隔时间</ion-label>
<ion-input placeholder={{cfg.timeInterval}} (ionFocus)="fanTempHaveFouch()" style="width:50px;"></ion-input> <ion-input [(ngModel)]="cfg.intverval" (ionFocus)="fanTempHaveFouch()" style="width:50px;"></ion-input>
</ion-item> </ion-item>
</ion-col> </ion-col>
</ion-row> </ion-row>
...@@ -104,27 +98,27 @@ ...@@ -104,27 +98,27 @@
<ion-col size="auto" style="font-size: 13px;"> <ion-col size="auto" style="font-size: 13px;">
<ion-item class="fanItem" lines="none"> <ion-item class="fanItem" lines="none">
<ion-label style="width:80px">设置温度</ion-label> <ion-label style="width:80px">设置温度</ion-label>
<ion-input placeholder={{cfg.tempSet}} (ionFocus)="fanTempHaveFouch()" style="width:50px;"></ion-input> <ion-input [(ngModel)]="cfg.T" (ionFocus)="fanTempHaveFouch()" style="width:50px;"></ion-input>
</ion-item>
</ion-col>
<ion-col size="auto" style="font-size: 13px;">
<ion-item class="fanItem" lines="none">
<ion-label style="width:80px">偏差温度</ion-label>
<ion-input placeholder={{cfg.tempOffset}} (ionFocus)="fanTempHaveFouch()" style="width:50px;"></ion-input>
</ion-item> </ion-item>
</ion-col> </ion-col>
<!-- <ion-col size="auto" style="font-size: 13px;">-->
<!-- <ion-item class="fanItem" lines="none">-->
<!-- <ion-label style="width:80px">偏差温度</ion-label>-->
<!-- <ion-input [(ngModel)]="penLinCfg.A" (ionFocus)="fanTempHaveFouch()" style="width:50px;"></ion-input>-->
<!-- </ion-item>-->
<!-- </ion-col>-->
</ion-row> </ion-row>
<ion-row style="width: 100%"> <ion-row style="width: 100%">
<ion-col size="auto" style="font-size: 13px;"> <ion-col size="auto" style="font-size: 13px;">
<ion-item class="fanItem" lines="none"> <ion-item class="fanItem" lines="none">
<ion-label style="width:80px">A区喷水时间</ion-label> <ion-label style="width:80px">A区喷水时间</ion-label>
<ion-input placeholder={{cfg.ATmr}} (ionFocus)="fanTempHaveFouch()" style="width:50px;"></ion-input> <ion-input [(ngModel)]="cfg.A" (ionFocus)="fanTempHaveFouch()" style="width:50px;"></ion-input>
</ion-item> </ion-item>
</ion-col> </ion-col>
<ion-col size="auto" style="font-size: 13px;"> <ion-col size="auto" style="font-size: 13px;">
<ion-item class="fanItem" lines="none"> <ion-item class="fanItem" lines="none">
<ion-label style="width:80px">B区喷水时间</ion-label> <ion-label style="width:80px">B区喷水时间</ion-label>
<ion-input placeholder={{cfg.BTmr}} (ionFocus)="fanTempHaveFouch()" style="width:50px;"></ion-input> <ion-input [(ngModel)]="cfg.B" (ionFocus)="fanTempHaveFouch()" style="width:50px;"></ion-input>
</ion-item> </ion-item>
</ion-col> </ion-col>
</ion-row> </ion-row>
...@@ -134,94 +128,98 @@ ...@@ -134,94 +128,98 @@
<ion-button color='danger' expand="full" style="width:15%;height:90%" >删除</ion-button> <ion-button color='danger' expand="full" style="width:15%;height:90%" >删除</ion-button>
</ion-item-options> </ion-item-options>
</ion-item-sliding> </ion-item-sliding>
</div>
<ion-item-divider> <div *ngIf="zhaoMing">
<ion-label>照明配置</ion-label> <ion-item-divider>
<ion-select multiple="false" cancelText="取消" okText="确认" [(ngModel)]="workModeSetting.workMode" [(value)]="workModeSetting.workMode" (ionChange)="workModeEvent()"> <ion-label>照明配置</ion-label>
<ion-select-option value="0">自控模式</ion-select-option> <ion-select multiple="false" cancelText="取消" okText="确认" [(ngModel)]="zhaoMing.controlModel" [(value)]="zhaoMing.controlModel" (ionChange)="workModeEvent(zhaoMing)">
<ion-select-option value="1">手控模式</ion-select-option> <ion-select-option value="0">手控模式</ion-select-option>
</ion-select> <ion-select-option value="1">自控模式</ion-select-option>
</ion-item-divider> </ion-select>
<ion-item-sliding *ngFor="let cfg of lightCfg"> </ion-item-divider>
<ion-item style="--padding-start: 0px"> <ion-item-sliding *ngFor="let cfg of zhaoMing.controlConfig">
<ion-grid> <ion-item style="--padding-start: 0px">
<ion-row style="width: 100%"> <ion-grid>
<ion-col size="auto" style="font-size: 13px;"> <ion-row style="width: 100%">
<ion-item style="font-size: 13px;--padding-start: 0px" lines="none"> <ion-col size="auto" style="font-size: 13px;">
<ion-label style="width:80px">模式名</ion-label> <ion-item style="font-size: 13px;--padding-start: 0px" lines="none">
<ion-input placeholder={{cfg.name}} (ionFocus)="fanTempHaveFouch()" style="width:50px;"></ion-input> <ion-label style="width:80px">模式名</ion-label>
</ion-item> <ion-input [(ngModel)]="cfg.name" (ionFocus)="fanTempHaveFouch()" style="width:50px;"></ion-input>
</ion-col> </ion-item>
</ion-row> </ion-col>
<ion-row style="width: 100%"> </ion-row>
<ion-col size="auto" style="font-size: 13px;"> <ion-row style="width: 100%">
<ion-item class="timepickerItem" lines="none"> <ion-col size="auto" style="font-size: 13px;">
<ion-label style="width:80px">日期范围</ion-label> <ion-item class="timepickerItem" lines="none">
<!--<ion-input placeholder={{cfg.startTime}} (ionFocus)="fanTempHaveFouch()" style="width:50px;"></ion-input>--> <ion-label style="width:80px">日期范围</ion-label>
<ion-datetime displayFormat="MM-DD" placeholder="Date" class="timepicker"></ion-datetime> <!--<ion-input placeholder={{cfg.startTime}} (ionFocus)="fanTempHaveFouch()" style="width:50px;"></ion-input>-->
</ion-item> <ion-datetime [(ngModel)]="cfg.startDate" displayFormat="MM-DD" class="timepicker"></ion-datetime>
</ion-col> </ion-item>
<ion-col size="auto" style="font-size: 13px;"> </ion-col>
<ion-item class="timepickerItem" lines="none"> <ion-col size="auto" style="font-size: 13px;">
<ion-label style="width:80px">~</ion-label> <ion-item class="timepickerItem" lines="none">
<!--<ion-input placeholder={{cfg.endTime}} (ionFocus)="fanTempHaveFouch()" style="width:50px;"></ion-input>--> <ion-label style="width:80px">~</ion-label>
<ion-datetime displayFormat="MM-DD" placeholder="Date" class="timepicker"></ion-datetime> <!--<ion-input placeholder={{cfg.endTime}} (ionFocus)="fanTempHaveFouch()" style="width:50px;"></ion-input>-->
</ion-item> <ion-datetime [(ngModel)]="cfg.stopDate" displayFormat="MM-DD" class="timepicker"></ion-datetime>
</ion-col> </ion-item>
</ion-row> </ion-col>
<ion-row style="width: 100%"> </ion-row>
<ion-col size="auto" style="font-size: 13px;"> <ion-row style="width: 100%">
<ion-item style="font-size: 13px;--padding-start: 0px" lines="none"> <ion-col size="auto" style="font-size: 13px;">
<ion-label style="width:80px">开灯时间</ion-label> <ion-item style="font-size: 13px;--padding-start: 0px" lines="none">
<ion-input placeholder={{cfg.onTime}} (ionFocus)="fanTempHaveFouch()" style="width:50px;"></ion-input> <ion-label style="width:80px">开灯时间</ion-label>
</ion-item> <ion-input [(ngModel)]="cfg.on" (ionFocus)="fanTempHaveFouch()" style="width:50px;"></ion-input>
</ion-col> </ion-item>
<ion-col size="auto" style="font-size: 13px;"> </ion-col>
<ion-item style="font-size: 13px;--padding-start: 0px" lines="none"> <ion-col size="auto" style="font-size: 13px;">
<ion-label style="width:80px">关灯时间</ion-label> <ion-item style="font-size: 13px;--padding-start: 0px" lines="none">
<ion-input placeholder={{cfg.offTime}} (ionFocus)="fanTempHaveFouch()" style="width:50px;"></ion-input> <ion-label style="width:80px">关灯时间</ion-label>
</ion-item> <ion-input [(ngModel)]="cfg.off" (ionFocus)="fanTempHaveFouch()" style="width:50px;"></ion-input>
</ion-col> </ion-item>
</ion-row> </ion-col>
</ion-grid> </ion-row>
</ion-item> </ion-grid>
<ion-item-options side="end"> </ion-item>
<ion-button color='danger' expand="full" style="width:15%;height:90%" >删除</ion-button> <ion-item-options side="end">
</ion-item-options> <ion-button color='danger' expand="full" style="width:15%;height:90%" >删除</ion-button>
</ion-item-sliding> </ion-item-options>
</ion-item-sliding>
</div>
<ion-item-divider> <div *ngIf="shuiCao">
<ion-label>水槽预警时间段配置</ion-label> <ion-item-divider>
</ion-item-divider> <ion-label>水槽预警时间段配置</ion-label>
<ion-item-sliding> </ion-item-divider>
<ion-item style="--padding-start: 0px"> <ion-item-sliding>
<ion-grid> <ion-item style="--padding-start: 0px">
<ion-row style="width: 100%"> <ion-grid>
<ion-col size="auto" style="font-size: 13px;"> <ion-row style="width: 100%">
<ion-item class="timepickerItem" lines="none"> <ion-col size="auto" style="font-size: 13px;">
<ion-label style="width:80px">日期范围</ion-label> <ion-item class="timepickerItem" lines="none">
<!--<ion-input placeholder={{cfg.startTime}} (ionFocus)="fanTempHaveFouch()" style="width:50px;"></ion-input>--> <ion-label style="width:80px">日期范围</ion-label>
<ion-datetime displayFormat="MM-DD" placeholder="Date" class="timepicker" [(ngModel)]="shuiCao.startDate"></ion-datetime> <!--<ion-input placeholder={{cfg.startTime}} (ionFocus)="fanTempHaveFouch()" style="width:50px;"></ion-input>-->
</ion-item> <ion-datetime [(ngModel)]="shuiCao.controlConfig.startDate" displayFormat="MM-DD" class="timepicker"></ion-datetime>
</ion-col> </ion-item>
<ion-col size="auto" style="font-size: 13px;"> </ion-col>
<ion-item class="timepickerItem" lines="none"> <ion-col size="auto" style="font-size: 13px;">
<ion-label style="width:80px">~</ion-label> <ion-item class="timepickerItem" lines="none">
<!--<ion-input placeholder={{cfg.endTime}} (ionFocus)="fanTempHaveFouch()" style="width:50px;"></ion-input>--> <ion-label style="width:80px">~</ion-label>
<ion-datetime displayFormat="MM-DD" placeholder="Date" class="timepicker" [(ngModel)]="shuiCao.stopDate"></ion-datetime> <!--<ion-input placeholder={{cfg.endTime}} (ionFocus)="fanTempHaveFouch()" style="width:50px;"></ion-input>-->
</ion-item> <ion-datetime [(ngModel)]="shuiCao.controlConfig.stopDate" displayFormat="MM-DD" class="timepicker"></ion-datetime>
</ion-col> </ion-item>
</ion-row> </ion-col>
<ion-row style="width: 100%"> </ion-row>
<ion-label text-wrap color="danger">上述时间段内,加热设备电流过低时,系统将会发出预警信息</ion-label> <ion-row style="width: 100%">
</ion-row> <ion-label text-wrap color="danger">上述时间段内,加热设备电流过低时,系统将会发出预警信息</ion-label>
</ion-grid> </ion-row>
</ion-item> </ion-grid>
<ion-item-options side="end"> </ion-item>
<ion-button color='danger' expand="full" style="width:15%;height:90%" >删除</ion-button> <ion-item-options side="end">
</ion-item-options> <ion-button color='danger' expand="full" style="width:15%;height:90%" >删除</ion-button>
</ion-item-sliding> </ion-item-options>
</ion-item-sliding>
</div>
<ion-item-divider> <ion-item-divider>
<ion-label>牛群在/离舍配置</ion-label> <ion-label>牛群在/离舍配置</ion-label>
...@@ -232,17 +230,23 @@ ...@@ -232,17 +230,23 @@
<ion-col>牛群回舍时需恢复上述的设备</ion-col> <ion-col>牛群回舍时需恢复上述的设备</ion-col>
</ion-row> </ion-row>
<ion-row> <ion-row>
<ion-col><ion-item lines="none" class="cow"><ion-label>风机</ion-label><ion-checkbox color="primary" class="cowCheckBox" slot="start"></ion-checkbox></ion-item></ion-col> <ion-col *ngFor="let device of curCowshed.leave">
<ion-col><ion-item lines="none" class="cow"><ion-label>喷淋</ion-label><ion-checkbox color="primary" class="cowCheckBox" slot="start"></ion-checkbox></ion-item></ion-col> <ion-item lines="none" class="cow">
<ion-col><ion-item lines="none" class="cow"><ion-label>照明</ion-label><ion-checkbox color="primary" class="cowCheckBox" slot="start"></ion-checkbox></ion-item></ion-col> <ion-label>{{device}}</ion-label>
<!-- <ion-checkbox color="primary" class="cowCheckBox" slot="start" [(ngModel)]="curCowshed.propertyConfig.toft"></ion-checkbox>-->
</ion-item>
</ion-col>
</ion-row> </ion-row>
<ion-row> <ion-row>
<ion-col>牛群离舍时需完全关闭的设备</ion-col> <ion-col>牛群离舍时需完全关闭的设备</ion-col>
</ion-row> </ion-row>
<ion-row> <ion-row>
<ion-col><ion-item lines="none" class="cow"><ion-label>风机</ion-label><ion-checkbox color="primary" class="cowCheckBox" slot="start"></ion-checkbox></ion-item></ion-col> <ion-col *ngFor="let device of curCowshed.back">
<ion-col><ion-item lines="none" class="cow"><ion-label>喷淋</ion-label><ion-checkbox color="primary" class="cowCheckBox" slot="start"></ion-checkbox></ion-item></ion-col> <ion-item lines="none" class="cow">
<ion-col><ion-item lines="none" class="cow"><ion-label>照明</ion-label><ion-checkbox color="primary" class="cowCheckBox" slot="start"></ion-checkbox></ion-item></ion-col> <ion-label>{{device}}</ion-label>
<!-- <ion-checkbox color="primary" class="cowCheckBox" slot="start" [(ngModel)]="curCowshed.propertyConfig.toft"></ion-checkbox>-->
</ion-item>
</ion-col>
</ion-row> </ion-row>
</ion-grid> </ion-grid>
</ion-item> </ion-item>
...@@ -265,65 +269,17 @@ ...@@ -265,65 +269,17 @@
<ion-row> <ion-row>
<ion-col class="thiItem">应激等级</ion-col> <ion-col class="thiItem">应激等级</ion-col>
<ion-col class="thiItem">THI值(<)</ion-col> <ion-col class="thiItem">THI值(<)</ion-col>
<ion-col class="thiItem">预警要否</ion-col> <ion-col class="thiItem">预警等级</ion-col>
</ion-row>
<ion-row>
<ion-col class="thiItem"><ion-label>无应激</ion-label></ion-col>
<ion-col class="thiItem"><ion-input placeholder="25" (ionFocus)="fanTempHaveFouch()"></ion-input></ion-col>
<ion-col class="thiItem">
<ion-select multiple="false" cancelText="取消" okText="确认" [(ngModel)]="workModeSetting.workMode" [(value)]="workModeSetting.workMode" (ionChange)="workModeEvent()">
<ion-select-option value="0"></ion-select-option>
<ion-select-option value="1"></ion-select-option>
<ion-select-option value="1"></ion-select-option>
<ion-select-option value="1"></ion-select-option>
</ion-select>
</ion-col>
</ion-row>
<ion-row>
<ion-col class="thiItem"><ion-label>轻度应激</ion-label></ion-col>
<ion-col class="thiItem"><ion-input placeholder="25" (ionFocus)="fanTempHaveFouch()"></ion-input></ion-col>
<ion-col class="thiItem">
<ion-select multiple="false" cancelText="取消" okText="确认" [(ngModel)]="workModeSetting.workMode" [(value)]="workModeSetting.workMode" (ionChange)="workModeEvent()">
<ion-select-option value="0"></ion-select-option>
<ion-select-option value="1"></ion-select-option>
<ion-select-option value="1"></ion-select-option>
<ion-select-option value="1"></ion-select-option>
</ion-select>
</ion-col>
</ion-row> </ion-row>
<ion-row> <ion-row *ngFor="let heatStress of curCowshed.heatStressList" align="center">
<ion-col class="thiItem"><ion-label>中度应激</ion-label></ion-col> <ion-col class="thiItem"><ion-label>{{heatStress.heatStressLevel}}</ion-label></ion-col>
<ion-col class="thiItem"><ion-input placeholder="25" (ionFocus)="fanTempHaveFouch()"></ion-input></ion-col> <ion-col class="thiItem"><ion-input (ionFocus)="fanTempHaveFouch()" disabled="true">{{heatStress.thi}}</ion-input></ion-col>
<ion-col class="thiItem">
<ion-select multiple="false" cancelText="取消" okText="确认" [(ngModel)]="workModeSetting.workMode" [(value)]="workModeSetting.workMode" (ionChange)="workModeEvent()">
<ion-select-option value="0"></ion-select-option>
<ion-select-option value="1"></ion-select-option>
<ion-select-option value="1"></ion-select-option>
<ion-select-option value="1"></ion-select-option>
</ion-select>
</ion-col>
</ion-row>
<ion-row>
<ion-col class="thiItem"><ion-label>重度应激</ion-label></ion-col>
<ion-col class="thiItem"><ion-input placeholder="25" (ionFocus)="fanTempHaveFouch()"></ion-input></ion-col>
<ion-col class="thiItem">
<ion-select multiple="false" cancelText="取消" okText="确认" [(ngModel)]="workModeSetting.workMode" [(value)]="workModeSetting.workMode" (ionChange)="workModeEvent()">
<ion-select-option value="0"></ion-select-option>
<ion-select-option value="1"></ion-select-option>
<ion-select-option value="1"></ion-select-option>
<ion-select-option value="1"></ion-select-option>
</ion-select>
</ion-col>
</ion-row>
<ion-row>
<ion-col class="thiItem"><ion-label>II重度应激</ion-label></ion-col>
<ion-col class="thiItem"><ion-input placeholder="25" (ionFocus)="fanTempHaveFouch()"></ion-input></ion-col>
<ion-col class="thiItem"> <ion-col class="thiItem">
<ion-select multiple="false" cancelText="取消" okText="确认" [(ngModel)]="workModeSetting.workMode" [(value)]="workModeSetting.workMode" (ionChange)="workModeEvent()"> <ion-select multiple="false" cancelText="取消" okText="确认" [(ngModel)]="heatStress.alarmLevel" [(value)]="heatStress.alarmLevel" (ionChange)="workModeEvent(heatStress)">
<ion-select-option value="0"></ion-select-option> <ion-select-option value=""></ion-select-option>
<ion-select-option value="1"></ion-select-option> <ion-select-option value="低"></ion-select-option>
<ion-select-option value="1"></ion-select-option> <ion-select-option value=""></ion-select-option>
<ion-select-option value="1"></ion-select-option> <ion-select-option value="高"></ion-select-option>
</ion-select> </ion-select>
</ion-col> </ion-col>
</ion-row> </ion-row>
......
...@@ -70,44 +70,26 @@ export class EnvCfgPage implements OnInit { ...@@ -70,44 +70,26 @@ export class EnvCfgPage implements OnInit {
} }
isError = false; isError = false;
cowshedList = []; cowshedList: any = [];
curFieldRegionNo = ''; curFieldRegionNo = '';
// 当前牛舍信息 // 当前牛舍信息
curCowshed = { curCowshed: any = {
factoryNo: '', factoryNo: '',
factoryName: '', factoryName: '',
fieldRegionNo: '', fieldRegionNo: '',
fieldRegionName: '', fieldRegionName: '',
isWisdomModel: 0, isWisdomModel: 0,
propertyConfig: {toft: '', hoft: ''}, propertyConfig: {toft: '', hoft: ''},
config: [{ config: [],
fieldDeviceType: '', controlModel: 0, controlConfig: [{
TU: 0,
TL: 0,
id: '',
name: '',
T: 0,
A: 0,
B: 0,
intverval: 0,
startDate: '',
stopDate: '',
on: '',
off: '',
power: 0
}
]
}],
leave: [], leave: [],
back: [], back: [],
environmentConfigJson: {TU: '', TL: '', HU: '', HL: ''}, environmentConfigJson: {TU: 0, TL: 0, HU: 0, HL: 0},
heatStressList: [] heatStressList: [] };
};
// 各设备配置信息 // 各设备配置信息
fengJi = {}; fengJi: any = {};
penLin = {}; penLin: any = {};
zhaoMing = {}; zhaoMing: any = {};
shuiCao = {}; shuiCao: any = {};
async openPicker(numColumns = 1, numOptions = 5, columnOptions = this.defaultColumnOptions) { async openPicker(numColumns = 1, numOptions = 5, columnOptions = this.defaultColumnOptions) {
const picker = await this.pickerController.create({ const picker = await this.pickerController.create({
...@@ -191,9 +173,76 @@ export class EnvCfgPage implements OnInit { ...@@ -191,9 +173,76 @@ export class EnvCfgPage implements OnInit {
} }
this.load.offLoad(); this.load.offLoad();
}]); }]);
// ----------------------------------------------------
// TODO 测试用准备数据
this.cowshedList = [
{
// 0-无热应激 离线 无报警
fieldRegionNo: 'FRN136641006052720640',
fieldRegionName: '1号牛舍',
temp: '23.5',
humi: '82',
heatStressLevel: '0',
online: 0, // 0-离线,1-在线
alarm: 0,
ts: '2019-08-05 23:44',
},
{
// 1-轻度热应激 在线 现控 无报警
fieldRegionNo: 'FN108050436279648256',
fieldRegionName: '2号牛舍',
temp: '23.5',
humi: '82',
heatStressLevel: '1',
online: 1, // 0-离线,1-在线
operationModel: 0, // 0-现控,1-平控
alarm: 0,
ts: '2019-08-05 23:44',
},
{
// 2-中度热应激 在线 平控 非智控(手控) 有报警
fieldRegionNo: 'FN108050436279648256',
fieldRegionName: '3号牛舍',
temp: '23.5',
humi: '82',
heatStressLevel: '2',
online: 1, // 0-离线,1-在线
operationModel: 1, // 0-现控,1-平控
isWisdomModel: 0, // 0-非智控(手控),1-智控
alarm: 1,
ts: '2019-08-05 23:44',
},
{
// 3-重度热应激 在线 平控 非智控(自控) 有报警
fieldRegionNo: 'FN108050436279648256',
fieldRegionName: '4号牛舍',
temp: '23.5',
humi: '82',
heatStressLevel: '3',
online: 1, // 0-离线,1-在线
operationModel: 1, // 0-现控,1-平控
isWisdomModel: 0, // 0-非智控(自控),1-智控
alarm: 1,
ts: '2019-08-05 23:44',
},
{
// 4-II重度热应激 在线 平控 智控 有报警
fieldRegionNo: 'FN108050436279648256',
fieldRegionName: '测试用5号牛舍',
temp: '23.5',
humi: '82',
heatStressLevel: '4',
online: 1, // 0-离线,1-在线
operationModel: 1, // 0-现控,1-平控
isWisdomModel: 1, // 0-非智控(自控),1-智控
alarm: 1,
ts: '2019-08-05 23:44',
},
];
} }
workModeEvent() { workModeEvent(item) {
// if ( this.workModeSetting.workModeOld === this.workModeSetting.workMode ) { // if ( this.workModeSetting.workModeOld === this.workModeSetting.workMode ) {
// return; // return;
// } // }
...@@ -258,69 +307,71 @@ export class EnvCfgPage implements OnInit { ...@@ -258,69 +307,71 @@ export class EnvCfgPage implements OnInit {
// 获取当前牛舍配置信息 // 获取当前牛舍配置信息
selectCowshed() { selectCowshed() {
this.api.config.getAll([{'fieldRegionNo': this.curFieldRegionNo}, (data) => { this.api.config.getAll([{'fieldRegionNo': this.curFieldRegionNo}, (data) => {
if (data) {
this.curCowshed = data;
// ---------------------------------------------------- // ----------------------------------------------------
// TODO 测试用准备数据 // TODO 测试用准备数据
this.curCowshed = { data = {
factoryNo: 'FN108050436279648256', factoryNo: 'FN108050436279648256',
factoryName: '一厂', factoryName: '一厂',
fieldRegionNo: 'FRN136641006052720640', fieldRegionNo: 'FRN136641006052720640',
fieldRegionName: '1号牛舍', fieldRegionName: '1号牛舍',
isWisdomModel: 1, isWisdomModel: 1,
propertyConfig: {toft: '1.5', hoft: '2'}, propertyConfig: {toft: '1.5', hoft: '2'},
config: [ config: [
{fieldDeviceType: '风机', {fieldDeviceType: '风机',
controlModel: 0, controlModel: '0',
controlConfig: [{TU: 28, TL: 20}], controlConfig: {TU: 28, TL: 20},
}, },
{fieldDeviceType: '喷淋', {fieldDeviceType: '喷淋',
controlModel: 1, controlModel: '1',
controlConfig: [{id: '111', name: '模式一', T: 21, A: 35, B: 45, intverval: 55}, {id: '222', name: '模式二', T: 21, A: 35, B: 45, intverval: 55}] controlConfig: [{id: '111', name: '模式一', T: 21, A: 35, B: 45, intverval: 55},
}, {id: '222', name: '模式二', T: 21, A: 35, B: 45, intverval: 55}]
{fieldDeviceType: '照明', },
controlModel: 1, {fieldDeviceType: '照明',
controlConfig: [{id: '111', name: '模式A', startDate: '10-01', stopDate: '11-02', on: '19:00', off: '05:00'}, {id: '111', name: '模式B', startDate: '10-01', stopDate: '11-02', on: '19:00', off: '05:00'}] controlModel: '1',
}, controlConfig: [{id: '111', name: '模式A', startDate: '10-01', stopDate: '11-02', on: '19:00', off: '05:00'},
{fieldDeviceType: '水槽', {id: '111', name: '模式B', startDate: '10-01', stopDate: '11-02', on: '19:00', off: '05:00'}]
controlModel: 0, },
controlConfig: [{power: 100, startDate: '10-01', stopDate: '11-02'}], {fieldDeviceType: '水槽',
} controlModel: '0',
], controlConfig: {power: 100, startDate: '10-01', stopDate: '11-02'},
leave: ['风机', '喷淋', '水槽'], }
back: ['风机', '喷淋', '水槽'], ],
environmentConfigJson: {HL: 0, HU: 100, TL: -10, TU: 50}, leave: ['风机', '喷淋', '水槽'],
heatStressList: [ back: ['风机', '喷淋', '水槽'],
{ environmentConfigJson: {HL: 0, HU: 100, TL: -10, TU: 50},
heatStressLevel: '无应激', heatStressList: [
'alarmLevel': '无', {
'thi': 68 heatStressLevel: '无应激',
}, 'alarmLevel': '无',
{ 'thi': 68
'heatStressLevel': '轻度应激', },
'alarmLevel': '低', {
'thi': 72 'heatStressLevel': '轻度应激',
}, 'alarmLevel': '低',
{ 'thi': 72
'heatStressLevel': '中度应激', },
'alarmLevel': '中', {
'thi': 80 'heatStressLevel': '中度应激',
}, 'alarmLevel': '中',
{ 'thi': 80
'heatStressLevel': '重度应激', },
'alarmLevel': '高', {
'thi': 90 'heatStressLevel': '重度应激',
}, 'alarmLevel': '高',
{ 'thi': 90
'heatStressLevel': 'II重度应激', },
'alarmLevel': '高', {
'thi': 100 'heatStressLevel': 'II重度应激',
} 'alarmLevel': '高',
] 'thi': 100
}; }
// ---------------------------------------------------- ]
};
// ----------------------------------------------------
if (data) {
this.curCowshed = data;
this.initConfig(); this.initConfig();
} else { } else {
this.api.presentMsgToast('获取数据失败'); this.api.presentMsgToast('获取数据失败');
...@@ -333,18 +384,51 @@ export class EnvCfgPage implements OnInit { ...@@ -333,18 +384,51 @@ export class EnvCfgPage implements OnInit {
// 显示牛舍配置信息 // 显示牛舍配置信息
initConfig() { initConfig() {
const configInfo = this.curCowshed.config; const configInfo = this.curCowshed.config;
const heatStressListInfo = this.curCowshed.heatStressList;
// 各设备配置情报
if (configInfo && configInfo.constructor === Array) { if (configInfo && configInfo.constructor === Array) {
configInfo.map((value, index) => { configInfo.map((value, index) => {
if ('风机' === value.fieldDeviceType) { switch (value.fieldDeviceType) {
this.fengJi = value; case '风机':
} else if ('喷淋' === value.fieldDeviceType) { this.fengJi = value;
this.penLin = value; break;
} else if ('照明' === value.fieldDeviceType) { case '喷淋' :
this.zhaoMing = value; this.penLin = value;
} else if ('水槽' === value.fieldDeviceType) { break;
this.shuiCao = value; case '照明' :
this.zhaoMing = value;
break;
case '水槽' :
this.shuiCao = value;
break;
default:
break;
} }
}); });
} }
// if (heatStressListInfo && heatStressListInfo.constructor === Array) {
// heatStressListInfo.map((value, index) => {
// switch (value.heatStressLevel) {
// case '无应激':
// this.heatStressLevel_0 = value;
// break;
// case '轻度应激' :
// this.heatStressLevel_1 = value;
// break;
// case '中度应激' :
// this.heatStressLevel_2 = value;
// break;
// case '重度应激' :
// this.heatStressLevel_3 = value;
// break;
// case 'II重度应激' :
// this.heatStressLevel_4 = value;
// break;
// default:
// break;
// }
//
// });
// }
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment