Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
M
muChangApp
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
WitCloud
muChangApp
Commits
b6931069
Commit
b6931069
authored
Nov 06, 2019
by
zhuangzhuang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
临时保存
parent
56932e6c
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
507 additions
and
71 deletions
+507
-71
package.json
package.json
+1
-1
app-routing.module.ts
src/app/app-routing.module.ts
+2
-0
app.module.ts
src/app/app.module.ts
+2
-0
env-add-model.module.ts
src/app/envCtrl/env-add-model/env-add-model.module.ts
+30
-0
env-add-model.page.html
src/app/envCtrl/env-add-model/env-add-model.page.html
+63
-0
env-add-model.page.scss
src/app/envCtrl/env-add-model/env-add-model.page.scss
+0
-0
env-add-model.page.spec.ts
src/app/envCtrl/env-add-model/env-add-model.page.spec.ts
+27
-0
env-add-model.page.ts
src/app/envCtrl/env-add-model/env-add-model.page.ts
+34
-0
env-cfg.page.html
src/app/envCtrl/env-cfg/env-cfg.page.html
+10
-4
env-cfg.page.scss
src/app/envCtrl/env-cfg/env-cfg.page.scss
+6
-0
env-cfg.page.ts
src/app/envCtrl/env-cfg/env-cfg.page.ts
+78
-66
env-change-model.module.ts
src/app/envCtrl/env-change-model/env-change-model.module.ts
+30
-0
env-change-model.page.html
src/app/envCtrl/env-change-model/env-change-model.page.html
+46
-0
env-change-model.page.scss
src/app/envCtrl/env-change-model/env-change-model.page.scss
+0
-0
env-change-model.page.spec.ts
...pp/envCtrl/env-change-model/env-change-model.page.spec.ts
+27
-0
env-change-model.page.ts
src/app/envCtrl/env-change-model/env-change-model.page.ts
+150
-0
environment.ts
src/environments/environment.ts
+1
-0
No files found.
package.json
View file @
b6931069
src/app/app-routing.module.ts
View file @
b6931069
...
...
@@ -22,6 +22,7 @@ import {EnvCfgPageModule} from './envCtrl/env-cfg/env-cfg.module';
import
{
EnvCfgPage
}
from
'./envCtrl/env-cfg/env-cfg.page'
;
import
{
EnvHomePage
}
from
'./envCtrl/env-home/env-home.page'
;
import
{
EnvHistoryPage
}
from
'./envCtrl/env-history/env-history.page'
;
import
{
EnvAddModelPage
}
from
'./envCtrl/env-add-model/env-add-model.page'
;
const
routes
:
Routes
=
[
{
...
...
@@ -67,6 +68,7 @@ const routes: Routes = [
{
path
:
'env-alarmDetail'
,
component
:
EnvAlarmDetailPage
},
{
path
:
'env-alarm-detail'
,
loadChildren
:
'./envCtrl/env-alarm-detail/env-alarm-detail.module#EnvAlarmDetailPageModule'
},
{
path
:
'tabs'
,
loadChildren
:
'./envCtrl/tabs/tabs.module#TabsPageModule'
},
{
path
:
'env-add-model'
,
component
:
EnvAddModelPage
},
];
@
NgModule
({
...
...
src/app/app.module.ts
View file @
b6931069
...
...
@@ -56,6 +56,7 @@ import {EnvLightPage} from './envCtrl/env-light/env-light.page';
import
{
NgxEchartsModule
}
from
'ngx-echarts'
;
import
{
NgxDatatableModule
}
from
'@swimlane/ngx-datatable'
;
import
{
EnvAlarmDetailPage
}
from
'./envCtrl/env-alarm-detail/env-alarm-detail.page'
;
import
{
EnvAddModelPage
}
from
'./envCtrl/env-add-model/env-add-model.page'
;
@
NgModule
({
declarations
:
[
...
...
@@ -85,6 +86,7 @@ import {EnvAlarmDetailPage} from './envCtrl/env-alarm-detail/env-alarm-detail.pa
EnvAlarmDetailPage
,
// EnvCfgPage,
// EnvHomePage,
EnvAddModelPage
,
],
entryComponents
:
[],
imports
:
[
...
...
src/app/envCtrl/env-add-model/env-add-model.module.ts
0 → 100644
View file @
b6931069
import
{
NgModule
}
from
'@angular/core'
;
import
{
CommonModule
}
from
'@angular/common'
;
import
{
FormsModule
}
from
'@angular/forms'
;
import
{
Routes
,
RouterModule
}
from
'@angular/router'
;
import
{
IonicModule
}
from
'@ionic/angular'
;
import
{
EnvAddModelPage
}
from
'./env-add-model.page'
;
import
{
WtModule
}
from
'../../components/wt/wt.module'
;
const
routes
:
Routes
=
[
{
path
:
''
,
component
:
EnvAddModelPage
,
}
];
@
NgModule
({
imports
:
[
CommonModule
,
FormsModule
,
IonicModule
,
WtModule
,
// for test
RouterModule
.
forChild
(
routes
)
],
declarations
:
[
EnvAddModelPage
,
]
})
export
class
EnvAddModelPageModule
{}
src/app/envCtrl/env-add-model/env-add-model.page.html
0 → 100644
View file @
b6931069
<ion-header>
<ion-toolbar
color=
"secondary"
>
<ion-buttons
slot=
"start"
>
<ion-back-button
text=
""
></ion-back-button>
</ion-buttons>
<ion-title
mode=
"ios"
class=
"title"
>
喷淋模式填写
</ion-title>
</ion-toolbar>
</ion-header>
<ion-content
style=
"background-color: #F3F4F4;"
>
<ion-item-sliding
*
ngFor=
"let cfg of controlConfig"
>
<ion-item
class=
"fanItem"
>
<ion-grid>
<ion-row
style=
"width: 100%"
>
<ion-col
size=
"auto"
style=
"font-size: 13px;"
>
<ion-item
class=
"fanItem"
lines=
"none"
>
<ion-label
style=
"width:80px"
>
模式名
</ion-label>
<ion-input
[(
ngModel
)]="
cfg
.
name
"
style=
"width:80px;"
></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
style=
"width:50px;"
[(
ngModel
)]="
cfg
.
interval
"
></ion-input>
<ion-label>
秒
</ion-label>
</ion-item>
</ion-col>
</ion-row>
<ion-row
style=
"width: 100%"
>
<ion-col
size=
"auto"
style=
"font-size: 13px;"
>
<ion-item
class=
"fanItem"
lines=
"none"
>
<ion-label
style=
"width:80px"
>
设置温度
</ion-label>
<ion-input
style=
"width:50px;"
[(
ngModel
)]="
cfg
.
T
"
(
ionFocus
)="
tempHaveTouch
($
event
)"
></ion-input>
<ion-label>
℃
</ion-label>
</ion-item>
</ion-col>
</ion-row>
<ion-row
style=
"width: 100%"
>
<ion-col
size=
"auto"
style=
"font-size: 13px;"
>
<ion-item
class=
"fanItem"
lines=
"none"
>
<ion-label
style=
"width:80px"
>
A区喷淋时间
</ion-label>
<ion-input
style=
"width:50px;"
[(
ngModel
)]="
cfg
.
A
"
></ion-input>
<ion-label>
秒
</ion-label>
</ion-item>
</ion-col>
<ion-col
size=
"auto"
style=
"font-size: 13px;"
>
<ion-item
class=
"fanItem"
lines=
"none"
>
<ion-label
style=
"width:80px"
>
B区喷淋时间
</ion-label>
<ion-input
style=
"width:50px;"
[(
ngModel
)]="
cfg
.
B
"
></ion-input>
<ion-label>
秒
</ion-label>
</ion-item>
</ion-col>
</ion-row>
</ion-grid>
</ion-item>
<ion-item-options
side=
"end"
>
<ion-button
color=
'danger'
expand=
"full"
style=
"width:15%;height:90%"
(
click
)="
deleteShowerModel
(
cfg
)"
>
删除
</ion-button>
</ion-item-options>
</ion-item-sliding>
<ion-item
width=
"100%"
lines=
"none"
>
<!--<ion-button color="secondary" class="addBtn" round (click)="onAddModel()">添加模式</ion-button>-->
<ion-icon
name=
"add-circle"
(
click
)="
addModel
()"
></ion-icon>
</ion-item>
</ion-content>
src/app/envCtrl/env-add-model/env-add-model.page.scss
0 → 100644
View file @
b6931069
src/app/envCtrl/env-add-model/env-add-model.page.spec.ts
0 → 100644
View file @
b6931069
import
{
CUSTOM_ELEMENTS_SCHEMA
}
from
'@angular/core'
;
import
{
async
,
ComponentFixture
,
TestBed
}
from
'@angular/core/testing'
;
import
{
EnvAddModelPage
}
from
'./env-add-model.page'
;
describe
(
'EnvAddModelPage'
,
()
=>
{
let
component
:
EnvAddModelPage
;
let
fixture
:
ComponentFixture
<
EnvAddModelPage
>
;
beforeEach
(
async
(()
=>
{
TestBed
.
configureTestingModule
({
declarations
:
[
EnvAddModelPage
],
schemas
:
[
CUSTOM_ELEMENTS_SCHEMA
],
})
.
compileComponents
();
}));
beforeEach
(()
=>
{
fixture
=
TestBed
.
createComponent
(
EnvAddModelPage
);
component
=
fixture
.
componentInstance
;
fixture
.
detectChanges
();
});
it
(
'should create'
,
()
=>
{
expect
(
component
).
toBeTruthy
();
});
});
src/app/envCtrl/env-add-model/env-add-model.page.ts
0 → 100644
View file @
b6931069
import
{
Component
,
OnInit
}
from
'@angular/core'
;
import
{
Api
}
from
'../../service/api'
;
import
{
NavController
}
from
'@ionic/angular'
;
import
{
ActivatedRoute
}
from
'@angular/router'
;
import
{
Load
}
from
'../../service/load'
;
import
{
Transfer
}
from
'../../service/transfer'
;
@
Component
({
selector
:
'v-env-add-model'
,
templateUrl
:
'./env-add-model.page.html'
,
styleUrls
:
[
'./env-add-model.page.scss'
],
})
export
class
EnvAddModelPage
implements
OnInit
{
constructor
(
public
nav
:
NavController
,
private
api
:
Api
,
private
ac
:
ActivatedRoute
,
private
load
:
Load
,
private
tf
:
Transfer
)
{}
controlConfig
=
[];
ngOnInit
()
{
this
.
init
();
}
init
()
{
this
.
controlConfig
=
[{
name
:
''
,
interval
:
''
,
T
:
''
,
A
:
''
,
B
:
''
}];
}
addModel
()
{
this
.
controlConfig
.
push
({
name
:
''
,
interval
:
''
,
T
:
''
,
A
:
''
,
B
:
''
});
}
}
src/app/envCtrl/env-cfg/env-cfg.page.html
View file @
b6931069
...
...
@@ -130,14 +130,14 @@
<ion-row
style=
"width: 100%"
>
<ion-col
size=
"auto"
style=
"font-size: 13px;"
>
<ion-item
class=
"fanItem"
lines=
"none"
>
<ion-label
style=
"width:80px"
>
A区喷
水
时间
</ion-label>
<ion-label
style=
"width:80px"
>
A区喷
淋
时间
</ion-label>
<ion-input
style=
"width:50px;"
[(
ngModel
)]="
cfg
.
A
"
></ion-input>
<ion-label>
秒
</ion-label>
</ion-item>
</ion-col>
<ion-col
size=
"auto"
style=
"font-size: 13px;"
>
<ion-item
class=
"fanItem"
lines=
"none"
>
<ion-label
style=
"width:80px"
>
B区喷
水
时间
</ion-label>
<ion-label
style=
"width:80px"
>
B区喷
淋
时间
</ion-label>
<ion-input
style=
"width:50px;"
[(
ngModel
)]="
cfg
.
B
"
></ion-input>
<ion-label>
秒
</ion-label>
</ion-item>
...
...
@@ -146,7 +146,10 @@
</ion-grid>
</ion-item>
<ion-item-options
side=
"end"
>
<ion-button
color=
'danger'
expand=
"full"
style=
"width:15%;height:90%"
(
click
)="
deleteShowerModel
(
cfg
)"
>
删除
</ion-button>
<!--<ion-button color='danger' expand="full" style="width:15%;height:90%" (click)="deleteShowerModel(cfg)">删除</ion-button>-->
<div
style=
"text-content: center; background-color: lightgray;"
>
<ion-icon
name=
"remove-circle"
color=
'danger'
class=
"deleteIcon"
(
click
)="
deleteShowerModel
(
cfg
)"
style=
"margin-top: 120px;"
></ion-icon>
</div>
</ion-item-options>
</ion-item-sliding>
<ion-item
width=
"100%"
lines=
"none"
>
...
...
@@ -213,7 +216,10 @@
</ion-grid>
</ion-item>
<ion-item-options
side=
"end"
>
<ion-button
color=
'danger'
expand=
"full"
style=
"width:15%;height:90%"
(
click
)="
deleteLightModel
(
cfg
)"
>
删除
</ion-button>
<!--<ion-button color='danger' expand="full" style="width:15%;height:90%" (click)="deleteLightModel(cfg)">删除</ion-button>-->
<div
style=
"text-content: center; background-color: lightgray;"
(
click
)="
deleteLightModel
(
cfg
)"
>
<ion-icon
name=
"remove-circle"
color=
'danger'
class=
"deleteIcon"
style=
"margin-top: 70px;"
></ion-icon>
</div>
</ion-item-options>
</ion-item-sliding>
<ion-item
width=
"100%"
lines=
"none"
*
ngIf=
"isOpenLight"
>
...
...
src/app/envCtrl/env-cfg/env-cfg.page.scss
View file @
b6931069
...
...
@@ -75,3 +75,9 @@
border-left
:
1px
solid
;
border-top
:
1px
solid
;
}
.deleteIcon
{
font-size
:
25px
;
margin-left
:
10px
;
margin-right
:
10px
;
}
src/app/envCtrl/env-cfg/env-cfg.page.ts
View file @
b6931069
import
{
Component
,
OnInit
}
from
'@angular/core'
;
import
{
PickerController
,
AlertController
}
from
'@ionic/angular'
;
import
{
PickerController
,
AlertController
,
NavController
}
from
'@ionic/angular'
;
import
{
Api
}
from
'../../service/api'
;
import
{
Load
}
from
'../../service/load'
;
import
{
shrink
,
stretch
,
zoomIn
,
zoomOut
,
fadeIn
,
fadeOut
,
up
,
down
}
from
'../../animations/animations'
;
import
{
Transfer
}
from
'../../service/transfer'
;
@
Component
({
selector
:
'v-env-cfg'
,
...
...
@@ -20,10 +21,8 @@ export class EnvCfgPage implements OnInit {
'selecting'
:
false
,
};
// light = {
// 'selecting': false,
// };
constructor
(
public
alerCtrl
:
AlertController
,
private
pickerController
:
PickerController
,
private
api
:
Api
,
private
load
:
Load
)
{
constructor
(
public
alerCtrl
:
AlertController
,
private
pickerController
:
PickerController
,
private
api
:
Api
,
private
load
:
Load
,
public
nav
:
NavController
,
private
tf
:
Transfer
)
{
}
isError
=
false
;
...
...
@@ -49,9 +48,6 @@ export class EnvCfgPage implements OnInit {
light
:
any
=
{};
waterChannel
:
any
=
{};
// 环境参数预警配置
environmentConfig
=
[];
// 设置菜单折叠/打开
isOpenProperty
=
false
;
isOpenFan
=
false
;
...
...
@@ -110,6 +106,62 @@ export class EnvCfgPage implements OnInit {
return
options
;
}
workModeEvent
(
item
)
{
// this.updateCowshed();
}
// async openCalendarPicker(numColumns = 1, numOptions = 5, columnOptions = this.defaultColumnOptions) {
// const picker = await this.pickerController.create({
// columns: this.getColumns(numColumns, numOptions, columnOptions),
// buttons: [
// {
// text: 'Cancel',
// role: 'cancel',
// handler: () => {
// this.fanMode.selecting = false;
// }
// },
// {
// text: 'Confirm',
// handler: (value) => {
// console.log(`Got Value ${value}`);
// this.fanMode.selecting = false;
// }
// }
// ]
// });
// await picker.present();
// }
tempHaveTouch
(
event
)
{
for
(
let
i
=
10
;
i
<=
50
;
i
++
)
{
this
.
defaultColumnOptions
[
0
][
i
-
10
]
=
i
.
toString
();
}
if
(
this
.
fanMode
.
selecting
===
false
)
{
this
.
fanMode
.
selecting
=
true
;
this
.
openPicker
(
1
,
41
,
this
.
defaultColumnOptions
,
event
);
}
}
humHaveTouch
(
event
)
{
for
(
let
i
=
0
;
i
<=
100
;
i
++
)
{
this
.
defaultColumnOptions
[
0
][
i
]
=
i
.
toString
();
}
if
(
this
.
fanMode
.
selecting
===
false
)
{
this
.
fanMode
.
selecting
=
true
;
this
.
openPicker
(
1
,
101
,
this
.
defaultColumnOptions
,
event
);
}
}
lightTimeHaveFouch
()
{
// console.log('lightTimeHaveFouch');
// if (this.light.selecting === false) {
// this.light.selecting = true;
// this.openPicker();
// }
}
ngOnInit
()
{
// this.pickerController = document.querySelector('ion-picker-controller');
this
.
init
();
...
...
@@ -206,62 +258,6 @@ export class EnvCfgPage implements OnInit {
// ----------------------------------------------------
}
workModeEvent
(
item
)
{
// this.updateCowshed();
}
// async openCalendarPicker(numColumns = 1, numOptions = 5, columnOptions = this.defaultColumnOptions) {
// const picker = await this.pickerController.create({
// columns: this.getColumns(numColumns, numOptions, columnOptions),
// buttons: [
// {
// text: 'Cancel',
// role: 'cancel',
// handler: () => {
// this.fanMode.selecting = false;
// }
// },
// {
// text: 'Confirm',
// handler: (value) => {
// console.log(`Got Value ${value}`);
// this.fanMode.selecting = false;
// }
// }
// ]
// });
// await picker.present();
// }
tempHaveTouch
(
event
)
{
for
(
let
i
=
10
;
i
<=
50
;
i
++
)
{
this
.
defaultColumnOptions
[
0
][
i
-
10
]
=
i
.
toString
();
}
if
(
this
.
fanMode
.
selecting
===
false
)
{
this
.
fanMode
.
selecting
=
true
;
this
.
openPicker
(
1
,
41
,
this
.
defaultColumnOptions
,
event
);
}
}
humHaveTouch
(
event
)
{
for
(
let
i
=
0
;
i
<=
100
;
i
++
)
{
this
.
defaultColumnOptions
[
0
][
i
]
=
i
.
toString
();
}
if
(
this
.
fanMode
.
selecting
===
false
)
{
this
.
fanMode
.
selecting
=
true
;
this
.
openPicker
(
1
,
101
,
this
.
defaultColumnOptions
,
event
);
}
}
lightTimeHaveFouch
()
{
// console.log('lightTimeHaveFouch');
// if (this.light.selecting === false) {
// this.light.selecting = true;
// this.openPicker();
// }
}
// 获取当前牛舍配置信息
selectCowshed
()
{
this
.
api
.
config
.
getAll
([{
'fieldRegionNo'
:
this
.
curFieldRegionNo
},
(
data
)
=>
{
...
...
@@ -557,7 +553,6 @@ export class EnvCfgPage implements OnInit {
const
modelCount
=
this
.
light
.
controlConfig
.
length
;
const
selectedModel
=
models
.
filter
(
data
=>
data
.
patternModelName
===
selectedName
);
selectedModel
[
0
].
configJson
.
id
=
modelCount
+
1
;
debugger
;
this
.
shower
.
controlConfig
.
push
(
selectedModel
[
0
].
configJson
);
}
}
...
...
@@ -599,7 +594,7 @@ export class EnvCfgPage implements OnInit {
handler
:
(
value
)
=>
{
// 自定义
if
(
value
===
'other'
)
{
// TODO
this
.
toNextPage
(
device
);
}
else
{
if
(
1
===
device
)
{
this
.
referenceModel
(
models
,
value
);
...
...
@@ -646,4 +641,21 @@ export class EnvCfgPage implements OnInit {
this
.
light
.
controlConfig
.
forEach
((
item
,
index
)
=>
item
.
id
=
index
+
1
);
}
toNextPage
(
device
)
{
debugger
;
let
query
=
''
;
if
(
device
===
2
)
{
query
=
'/env-add-model'
;
}
else
if
(
device
===
3
)
{
query
=
'/env-change-model'
;
}
this
.
tf
.
transfer
({
url
:
'/'
+
device
.
url
,
query
:
query
,
hash
:
''
});
this
.
nav
.
navigateForward
(
query
);
}
}
src/app/envCtrl/env-change-model/env-change-model.module.ts
0 → 100644
View file @
b6931069
import
{
NgModule
}
from
'@angular/core'
;
import
{
CommonModule
}
from
'@angular/common'
;
import
{
FormsModule
}
from
'@angular/forms'
;
import
{
Routes
,
RouterModule
}
from
'@angular/router'
;
import
{
IonicModule
}
from
'@ionic/angular'
;
import
{
EnvChangeModelPage
}
from
'./env-change-model.page'
;
import
{
WtModule
}
from
'../../components/wt/wt.module'
;
const
routes
:
Routes
=
[
{
path
:
''
,
component
:
EnvChangeModelPage
,
}
];
@
NgModule
({
imports
:
[
CommonModule
,
FormsModule
,
IonicModule
,
WtModule
,
// for test
RouterModule
.
forChild
(
routes
)
],
declarations
:
[
EnvChangeModelPage
,
]
})
export
class
EnvChangeModelPageModule
{}
src/app/envCtrl/env-change-model/env-change-model.page.html
0 → 100644
View file @
b6931069
<ion-header>
<ion-toolbar
color=
"secondary"
>
<ion-buttons
slot=
"start"
>
<ion-back-button
text=
""
></ion-back-button>
</ion-buttons>
<ion-title
mode=
"ios"
class=
"title"
>
{{item.fieldRegionName}}详情
</ion-title>
<ion-buttons
slot=
"end"
>
<ion-button
style=
"font-size: medium"
(
click
)="
toHistory
(
item
)"
>
历史
</ion-button>
</ion-buttons>
</ion-toolbar>
<div
class=
"top"
>
<span
[
ngClass
]="{'
online
'
:
item
.
online
,
'
offline
'
:
!
item
.
online
}"
>
{{item.online ? '在线' : '离线'}}
</span>
<span
*
ngIf=
"item.operationModel"
class=
"online"
>
{{item.operationModel ? '平控' :'现控'}}
</span>
<span
*
ngIf=
"item.operationModel"
[
ngClass
]="{'
online
'
:
item
.
isWisdomModel
,
'
offline
'
:
!
item
.
isWisdomModel
}"
class=
"online"
>
智控
</span>
<span
*
ngIf=
"item.ts"
class=
"right"
>
{{item.ts | date: 'yyyy-MM-dd HH:mm'}}
</span>
</div>
<div
style=
"background-color: #F0F0F0;"
align=
"center"
>
<v-kanban
class=
"home-bar"
name=
"温度"
[
inData
]="
item
.
temp
"
iconClass=
"vo v-wendu"
iconColor=
"#285B90"
iconSize=
"20px"
fontSize=
"14px"
></v-kanban>
<v-kanban
class=
"home-bar"
name=
"湿度"
[
inData
]="
item
.
humi
"
iconClass=
"vo v-shidu"
iconColor=
"#285B90"
iconSize=
"20px"
fontSize=
"14px"
></v-kanban>
<v-kanban
class=
"home-bar"
name=
"热应激"
[
inData
]="
item
.
heatStressLevelName
"
iconClass=
"vo v-nav-ico"
[
iconColor
]="
item
.
heatStressColor
"
iconSize=
"20px"
fontSize=
"14px"
></v-kanban>
<v-kanban
class=
"home-bar"
name=
"在舍状态"
[
inData
]="
item
.
inHouse
"
iconClass=
"vo v-dapeng-"
iconColor=
"#285B90"
iconSize=
"20px"
fontSize=
"14px"
></v-kanban>
</div>
<div
style=
"background-color: #F0F0F0; height: 30px; padding-right: 10px; padding-top: 5px;"
>
<ion-label
style=
"margin-left:15px; height: 30px; vertical-align: middle;"
>
在离舍开关控制
</ion-label>
<v-switch
(
click
)="
setInHouse
(
item
.
inHouse
)"
[
value
]="
item
.
inHouse
"
[
loading
]="
loading
"
></v-switch>
</div>
</ion-header>
<ion-content
style=
"background-color: #F3F4F4;"
>
<!--<ion-router-outlet></ion-router-outlet>-->
<ion-tabs>
<ion-tab-bar
slot=
"top"
>
<ion-tab-button
tab=
"fan"
class=
"tabSelected"
>
<ion-label>
风机
</ion-label>
</ion-tab-button>
<ion-tab-button
tab=
"shower"
class=
"tabSelected"
[
routerLink
]="
showerLink
"
>
<!--[rootParams]="fieldRegionNo"-->
<ion-label>
喷淋
</ion-label>
</ion-tab-button>
<ion-tab-button
tab=
"light"
class=
"tabSelected"
[
routerLink
]="
lightLink
"
>
<ion-label>
照明
</ion-label>
</ion-tab-button>
<ion-tab-button
tab=
"waterchannel"
class=
"tabSelected"
[
routerLink
]="
waterchannelLink
"
>
<ion-label>
水槽
</ion-label>
</ion-tab-button>
</ion-tab-bar>
</ion-tabs>
</ion-content>
src/app/envCtrl/env-change-model/env-change-model.page.scss
0 → 100644
View file @
b6931069
src/app/envCtrl/env-change-model/env-change-model.page.spec.ts
0 → 100644
View file @
b6931069
import
{
CUSTOM_ELEMENTS_SCHEMA
}
from
'@angular/core'
;
import
{
async
,
ComponentFixture
,
TestBed
}
from
'@angular/core/testing'
;
import
{
EnvChangeModelPage
}
from
'./env-change-model.page'
;
describe
(
'EnvChangeModelPage'
,
()
=>
{
let
component
:
EnvChangeModelPage
;
let
fixture
:
ComponentFixture
<
EnvChangeModelPage
>
;
beforeEach
(
async
(()
=>
{
TestBed
.
configureTestingModule
({
declarations
:
[
EnvChangeModelPage
],
schemas
:
[
CUSTOM_ELEMENTS_SCHEMA
],
})
.
compileComponents
();
}));
beforeEach
(()
=>
{
fixture
=
TestBed
.
createComponent
(
EnvChangeModelPage
);
component
=
fixture
.
componentInstance
;
fixture
.
detectChanges
();
});
it
(
'should create'
,
()
=>
{
expect
(
component
).
toBeTruthy
();
});
});
src/app/envCtrl/env-change-model/env-change-model.page.ts
0 → 100644
View file @
b6931069
import
{
Component
,
OnInit
}
from
'@angular/core'
;
import
{
Api
}
from
'../../service/api'
;
import
{
NavController
}
from
'@ionic/angular'
;
import
{
ActivatedRoute
}
from
'@angular/router'
;
import
{
Load
}
from
'../../service/load'
;
import
{
Transfer
}
from
'../../service/transfer'
;
@
Component
({
selector
:
'v-env-change-model'
,
templateUrl
:
'./env-change-model.page.html'
,
styleUrls
:
[
'./env-change-model.page.scss'
],
})
export
class
EnvChangeModelPage
implements
OnInit
{
constructor
(
public
nav
:
NavController
,
private
api
:
Api
,
private
ac
:
ActivatedRoute
,
private
load
:
Load
,
private
tf
:
Transfer
)
{}
item
:
any
=
{};
fieldRegionNo
=
''
;
loading
=
false
;
// 发送指令延时判断
comm
=
{
remain
:
20
,
isLoading
:
true
};
// fan = '/env-detail/fan';
showerLink
=
''
;
lightLink
=
''
;
waterchannelLink
=
''
;
ngOnInit
()
{
this
.
init
();
}
init
()
{
this
.
comm
.
isLoading
=
false
;
this
.
comm
.
remain
=
0
;
this
.
ac
.
queryParams
.
subscribe
((
data
)
=>
{
this
.
fieldRegionNo
=
data
.
no
;
});
this
.
getData
(
0
);
}
initLayout
()
{
// this.showerLink = '/env-detail/shower/' + this.fieldRegionNo;
// this.lightLink = '/env-detail/light/' + this.fieldRegionNo;
// this.waterchannelLink = '/env-detail/waterchannel/' + this.fieldRegionNo;
if
(
this
.
item
&&
this
.
item
.
heatStressLevel
&&
this
.
item
.
heatStressLevel
!==
''
)
{
this
.
item
.
heatStressColor
=
this
.
item
.
heatStressLevel
===
'0'
?
'#71fa1d'
:
this
.
item
.
heatStressLevel
===
'1'
?
'#71fa1d'
:
this
.
item
.
heatStressLevel
===
'2'
?
'#FAB139'
:
this
.
item
.
heatStressLevel
===
'3'
?
'#ff6a1f'
:
'#b22222'
;
}
}
getData
(
time
)
{
if
(
time
)
{
this
.
load
.
toLoad
(
'加载中...'
,
false
);
}
// this.api.cowshedApp.getRealDataByFieldRegionNo([{'fieldRegionNo' : this.fieldRegionNo}, (data) => {
// if (data) {
// this.item = data;
// this.initLayout();
// }
// }]);
// ----------------------------------------------
// TODO 测试用准备数据
this
.
item
=
{
// 3-重度热应激 在线 平控 非智控(自控) 有报警
fieldRegionNo
:
'FRN136641006052720640'
,
fieldRegionName
:
'1号牛舍'
,
temp
:
'23.5'
,
humi
:
'82.8'
,
heatStressLevel
:
'3'
,
heatStressLevelName
:
this
.
getHeatStressLevelName
(
'3'
),
online
:
1
,
// 0-离线,1-在线
operationModel
:
1
,
// 0-现控,1-平控
isWisdomModel
:
0
,
// 0-非智控(自控),1-智控
alarm
:
1
,
inHouse
:
this
.
getInHouseState
(
1
),
// 0-离舍,1-在舍
ts
:
'2019-08-05 23:44'
,
};
this
.
initLayout
();
// ----------------------------------------------
}
getHeatStressLevelName
(
id
)
{
let
levelName
=
''
;
switch
(
id
)
{
case
'0'
:
levelName
=
'无'
;
break
;
case
'1'
:
levelName
=
'轻'
;
break
;
case
'2'
:
levelName
=
'中'
;
break
;
case
'3'
:
levelName
=
'重'
;
break
;
case
'4'
:
levelName
=
'II重'
;
break
;
default
:
break
;
}
return
levelName
;
}
getInHouseState
(
id
)
{
let
stateName
=
''
;
switch
(
id
)
{
case
0
:
stateName
=
'离舍 '
;
break
;
case
1
:
stateName
=
'在舍'
;
break
;
default
:
break
;
}
return
stateName
;
}
toHistory
(
item
)
{
const
query
=
'env-history?no='
+
item
.
fieldRegionNo
;
this
.
nav
.
navigateForward
(
query
);
}
setInHouse
()
{
this
.
loading
=
true
;
// TODO 在离舍开关控制
this
.
loading
=
false
;
}
// doRefresh(event) {
// setTimeout(() => {
// this.getData(0);
// event.target.complete();
// }, 2000);
// }
}
src/environments/environment.ts
View file @
b6931069
...
...
@@ -9,6 +9,7 @@ export const environment = {
// url: 'http://172.16.1.53:8096', // cy
// url: 'http://172.16.1.51:8097', // lin
// url: 'http://211.161.200.169:19200', // zz
// url: 'http://172.16.1.52:8096', // zz
// url: 'http://172.16.1.13:8096', // 测试
mqttUrl
:
'172.16.1.24'
,
// mqttUrl: '172.16.1.24:48083',
// mqttUrl: '211.161.200.169', // 辉度外网访问mqtt地址
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment