myems/admin/views/settings/store/store.html

277 lines
12 KiB
HTML

<div class="wrapper wrapper-content" ng-controller="StoreMasterController">
<div class="row">
<div class="col-lg-12">
<div class="tabs-container">
<uib-tabset>
<uib-tab heading="{{'COMMON.STORE' | translate}}">
<div class="panel-body" ng-controller="StoreController">
<a ng-click="addStore()" class="btn btn-primary btn-rounded btn-outline" href=""><i class="fa fa-plus-circle"></i> {{'SETTING.ADD_STORE' | translate}}</a>
<table class="table table-bordered table-hover" >
<thead>
<tr>
<th class="text-center">{{'SETTING.ID' | translate}}</th>
<th class="text-center">{{'SETTING.NAME' | translate}}</th>
<th class="text-center">{{'STORE.ADDRESS' | translate}}</th>
<th class="text-center">{{'STORE.LATITUDE' | translate}}</th>
<th class="text-center">{{'STORE.LONGITUDE' | translate}}</th>
<th class="text-center">{{'SETTING.AREA' | translate}}</th>
<th class="text-center">{{'STORE.TYPE' | translate}}</th>
<th class="text-center">{{'SETTING.CONTACT' | translate}}</th>
<th class="text-center">{{'SETTING.IS_INPUT_COUNTED' | translate}}</th>
<th class="text-center">{{'SETTING.COSTCENTER' | translate}}</th>
<th class="text-center">{{'STORE.DESCRIPTION' | translate}} ({{'SETTING.OPTIONAL' | translate}})</th>
<th class="text-center">{{'SETTING.ACTION' | translate}}</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="store in stores">
<td class="text-center">{{ store.id }}</td>
<td class="text-center">{{ store.name }}</td>
<td class="text-center">{{ store.address }}</td>
<td class="text-center">{{ store.latitude }}</td>
<td class="text-center">{{ store.longitude }}</td>
<td class="text-center">{{ store.area }}</td>
<td class="text-center">{{ store.store_type.name }}</td>
<td class="text-center">{{ store.contact.name }}</td>
<td class="text-center">{{ store.is_input_counted==false?'SETTING.NO':'SETTING.YES' | translate }}</td>
<td class="text-center">{{store.cost_center.name}}</td>
<td class="text-center">{{ store.description }}</td>
<td class="text-center">
<a ng-click="editStore(store)" class="btn btn-primary btn-rounded btn-xs" >{{'SETTING.EDIT' | translate}}</a>
<a ng-click="deleteStore(store)" class="btn btn-danger btn-rounded btn-xs" >{{'SETTING.DELETE' | translate}}</a>
</td>
</tr>
</tbody>
</table>
</div>
</uib-tab>
<uib-tab heading="{{'SETTING.BIND_METER' | translate}}">
<div class="panel-body" ng-controller="StoreMeterController">
<div class="row">
<div class="col-lg-3">
<div class="panel panel-info">
<div class="panel-heading">
{{'COMMON.STORE' | translate}}
</div>
<div class="panel-body" >
<form role="form">
<div class="form-group no-margin"><label>{{'SETTING.SELECT_STORE' | translate}}</label>
<ui-select on-select="changeStore($item,$model)" ng-model="currentStore.selected" theme="bootstrap">
<ui-select-match placeholder="{{'COMMON.PLACEHOLDER' | translate}}">{{$select.selected.name}}</ui-select-match>
<ui-select-choices repeat="store.id as store in stores | filter: $select.search">
<div ng-bind-html="store.name | highlight: $select.search"></div>
</ui-select-choices>
</ui-select>
</div>
</form>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel panel-primary">
<div class="panel-heading">
{{currentStore.name}}{{'SETTING.N_S_METER' | translate}}
</div>
<div class="panel-body maxheight"
x-hjc-drop-target="true"
x-on-drop="pairMeter(dragEl,dropEl)"
uib-tooltip="{{'SETTING.DRAG_TO_UNBIND' | translate}}" >
<div class="btn btn-rounded btn-block"
ng-class="colorMeterType(storemeter.metertype)"
ng-repeat="storemeter in storemeters"
x-hjc-draggable="true"
title="{{storemeter.metertype}}">({{storemeter.energy_category.name}}){{storemeter.name}}</div>
</div>
</div>
<div class="panel panel-danger">
<div class="panel-heading">
{{'SETTING.TRASH' | translate}}
</div>
<div class="panel-body trash" >
<img class="trashcan"
src="img/trashcan.png"
x-hjc-drop-target="true"
x-on-drop="deleteMeterPair(dragEl,dropEl)">
</div>
</div>
</div>
<div class="col-lg-4">
<!-- according panel-->
<div class="panel panel-primary">
<div class="panel-heading">
{{'SETTING.METER' | translate}}
</div>
<div class="panel-body" uib-tooltip="{{'SETTING.DRAG_TO_BIND' | translate}}"
slim-scroll box-height="765px">
<div class="form-group no-margin"><label>{{'SETTING.METER_TYPE' | translate}}</label>
<select ng-change="changeMeterType()" ng-model="currentMeterType" class="form-control m-b" name="metertype">
<option value="meters">{{'SETTING.METER' | translate}}</option>
<option value="virtualmeters">{{'SETTING.VIRTUAL_METER' | translate}}</option>
<option value="offlinemeters">{{'SETTING.OFFLINE_METER' | translate}}</option>
</select>
</div>
<div class="source btn btn-primary btn-rounded btn-block"
ng-repeat="meter in currentmeters"
x-hjc-draggable="true"
ng-class="colorMeterType(currentMeterType)"
> ({{meter.energy_category.name}}){{meter.name}}</div>
</div>
</div>
</div>
</div>
</div>
</uib-tab>
<uib-tab heading="{{'SETTING.BIND_POINT' | translate}}">
<div class="panel-body" ng-controller="StorePointController">
<div class="row">
<div class="col-lg-3">
<div class="panel panel-info">
<div class="panel-heading">
{{'COMMON.STORE' | translate}}
</div>
<div class="panel-body">
<form role="form">
<div class="form-group no-margin"><label>{{'SETTING.SELECT_STORE' | translate}}</label>
<ui-select on-select="changeStore($item,$model)" ng-model="currentStore.selected" theme="bootstrap">
<ui-select-match placeholder="{{'COMMON.PLACEHOLDER' | translate}}">{{$select.selected.name}}</ui-select-match>
<ui-select-choices repeat="store.id as store in stores | filter: $select.search">
<div ng-bind-html="store.name | highlight: $select.search"></div>
</ui-select-choices>
</ui-select>
</div>
</form>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel panel-primary">
<div class="panel-heading">
{{currentStore.name}}{{'SETTING.N_S_POINT' | translate}}
</div>
<div class="panel-body maxheight"
x-hjc-drop-target="true"
x-on-drop="pairPoint(dragEl,dropEl)"
uib-tooltip="{{'SETTING.DRAG_TO_UNBIND' | translate}}" >
<div class="btn btn-primary btn-rounded btn-block"
title="{{'COMMON.STORE' | translate}}:{{storepoint.data_source.name}}"
ng-repeat="storepoint in storepoints"
x-hjc-draggable="true"> {{storepoint.name}}</div>
</div>
</div>
<div class="panel panel-danger">
<div class="panel-heading">
{{'SETTING.TRASH' | translate}}
</div>
<div class="panel-body trash" >
<img class="trashcan"
src="img/trashcan.png"
x-hjc-drop-target="true"
x-on-drop="deletePointPair(dragEl,dropEl)">
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel panel-info">
<div class="panel-heading">
{{'SETTING.POINT_LIST' | translate}}
</div>
<div class="panel-body" slim-scroll box-height="765px"
uib-tooltip="{{'SETTING.DRAG_TO_BIND' | translate}}">
<form role="form">
<div class="form-group no-margin"><label>{{'DATA_SOURCE.SELECT_DATA_SOURCE' | translate}}</label>
<ui-select on-select="changeDataSource($item, $model)" ng-model="currentDataSource" theme="bootstrap">
<ui-select-match placeholder="{{'COMMON.PLACEHOLDER' | translate}}">{{$select.selected.name}}</ui-select-match>
<ui-select-choices repeat="datasource.id as datasource in datasources | filter: $select.search">
<div ng-bind-html="datasource.name | highlight: $select.search"></div>
</ui-select-choices>
</ui-select>
</div>
</form>
<h5>{{'SETTING.POINT_LIST' | translate}}</h5>
<div class="source btn btn-info btn-rounded btn-block"
ng-repeat="point in points"
x-hjc-draggable="true"> {{point.name}}</div>
</div>
</div>
</div>
</div>
</div>
</uib-tab>
<uib-tab heading="{{'SETTING.BIND_SENSOR' | translate}}">
<div class="panel-body" ng-controller="StoreSensorController">
<div class="row">
<div class="col-lg-3">
<div class="panel panel-info">
<div class="panel-heading">
{{'COMMON.STORE' | translate}}
</div>
<div class="panel-body">
<form role="form">
<div class="form-group no-margin"><label>{{'SETTING.SELECT_STORE' | translate}}</label>
<ui-select on-select="changeStore($item,$model)" ng-model="currentStore.selected" theme="bootstrap">
<ui-select-match placeholder="{{'COMMON.PLACEHOLDER' | translate}}">{{$select.selected.name}}</ui-select-match>
<ui-select-choices repeat="store.id as store in stores | filter: $select.search">
<div ng-bind-html="store.name | highlight: $select.search"></div>
</ui-select-choices>
</ui-select>
</div>
</form>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel panel-primary">
<div class="panel-heading">
{{currentStore.name}}{{'SETTING.N_S_SENSOR' | translate}}
</div>
<div class="panel-body"
x-hjc-drop-target="true"
x-on-drop="pairSensor(dragEl,dropEl)"
uib-tooltip="{{'SETTING.DRAG_TO_UNBIND' | translate}}" >
<div class="btn btn-primary btn-rounded btn-block"
title="{{'COMMON.STORE' | translate}}:{{storesensor.data_source.name}}"
ng-repeat="storesensor in storesensors"
x-hjc-draggable="true"> {{storesensor.name}}
</div>
</div>
</div>
<div class="panel panel-danger">
<div class="panel-heading">
{{'SETTING.TRASH' | translate}}
</div>
<div class="panel-body trash" >
<img class="trashcan"
src="img/trashcan.png"
x-hjc-drop-target="true"
x-on-drop="deleteSensorPair(dragEl,dropEl)">
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel panel-info">
<div class="panel-heading">
{{'SENSOR.SELECT_SENSOR' | translate}}
</div>
<div class="panel-body" slim-scroll box-height="765px"
uib-tooltip="{{'SETTING.DRAG_TO_BIND' | translate}}">
<h5>{{'SETTING.SENSOR_LIST' | translate}}</h5>
<div class="source btn btn-info btn-rounded btn-block"
ng-repeat="sensor in sensors"
x-hjc-draggable="true"> {{sensor.name}}</div>
</div>
</div>
</div>
</div>
</div>
</uib-tab>
</uib-tabset>
</div>
</div>
</div>
</div>