rabin 7 years ago
parent
commit
e1ba44593f

+ 3 - 0
front/page/__load__.py

@@ -27,6 +27,9 @@ class Load(Base):
 
 		if 'farm' in self.data['setting'] and self.data['setting']['farm'] > 0:
 			self.data['setting']['farmInfo'] = self.service('common').one('farm', id=self.data['setting']['farm'])
+			self.data['setting']['farmInfo']['gateways'] = ''
+			if self.data['setting']['farmInfo']['gateway']:
+				self.data['setting']['farmInfo']['gateways'] = tuple(eval(self.data['setting']['farmInfo']['gateway']))
 		self.data['setting']['msgNum'] = len(self.service('common').list('msg', search={'status':False, "farm_id":self.data['setting']['farm']}, limit='0,100'))
 		if self.data['setting']['msgNum'] > 99:
 			self.data['setting']['msgNum'] = str(99) + '+'

+ 32 - 4
front/page/device.py

@@ -53,7 +53,7 @@ class screen_path(Load):
 		# 获取摄像头图片
 		self.data['camera'] = Device.get(self, search={'hardware_type':6,'farm_id':self.data['setting']['farm']})
 		# 获取当前数据
-		self.data['device'] = Device.get(self, search={'hardware_type--ins':(2,4,5),'farm_id':self.data['setting']['farm']})
+		self.data['device'] = Device.get(self, search={'id--ins':self.data['setting']['farmInfo']['gateway'], 'hardware_type--ins':(2,4,5),'farm_id':self.data['setting']['farm']})
 		deviceInfo = {}
 		if self.data['device']:
 			for key, value in enumerate(self.data['device']):
@@ -66,9 +66,15 @@ class screen_path(Load):
 		self.data['list'] = ({'name':'实时数据监测', 'device':self.data['device']},)
 
 		Device.statBase(self, deviceInfo)
-
+		log_search = {}
+		if device:
+			log_search['device_id'] = device
+		else:
+			log_search['device_id--ins'] = self.data['setting']['farmInfo']['gateways']
+		log_search['type_id'] = 2
+		log_search['farm_id'] = self.data['setting']['farm']
 		# 获取设备日志
-		self.data['logs'] = self.service('common').list('msg', search={'type_id':2,'farm_id':self.data['setting']['farm']}, limit='0,1')
+		self.data['logs'] = self.service('common').list('msg', search=log_search, limit='0,1')
 		if self.data['logs']:
 			for key, value in enumerate(self.data['logs']):
 				type_info = self.service('common').one('msg_type', id=value['type_id'])
@@ -82,6 +88,28 @@ class screen_path(Load):
 		self.data['stat'] = True
 		self.view("device/screen.html")
 
+#大屏幕设置
+class screen_set_path(Load):
+	@Web.auth
+	def get(self):
+		self.data['info'] = self.data['setting']['farmInfo']
+		self.data['info']['devices'] = self.data['info']['gateway']
+		self.data['gateway'] = self.service('common').list('device_gateway', search={'farm_id':self.data['setting']['farm']})
+		self.data['device'] = Device.getByGateway(self, search={'hardware_type--ins' : (2,4,5),'farm_id':self.data['setting']['farm']})
+		self.view("device/alert/screen.html")
+
+	@Web.auth
+	def post(self):
+		id = self.input('id')
+		update = {}
+		update['welcome'] = self.input('update_name')
+		update['gateway'] = self.inputs('update_devices')
+		if not update['gateway']:
+			self.out(u'请选择设备')
+			return
+		update['gateway'] = str(update['gateway'])
+		state = self.service('common').update('farm', id, update)
+		self.out('yes', {'id':state})
 
 #获取设备数据和设备控制
 class data_path(Load):
@@ -212,7 +240,7 @@ class update_group_path(Load):
 			self.data['info'] = self.service('common').one('device_group', id=id)
 
 		self.data['gateway'] = self.service('common').list('device_gateway', search={'farm_id':self.data['setting']['farm']})
-		self.data['device'] = Device.getByGateway(self)
+		self.data['device'] = Device.getByGateway(self, search={'farm_id':self.data['setting']['farm']})
 		self.view("device/alert/group.html")
 
 	@Web.auth

File diff suppressed because it is too large
+ 21 - 0
front/templates/mobile/device/data.html


+ 13 - 0
front/templates/mobile/device/inc/data.html

@@ -31,7 +31,20 @@
             <span>{{value['name']}}<b class="txt-block">{{value['value']}}</b><u class="degree">{{value['unit']}}</u></span><p>{% if value['status'] == False %}<span class="disable">离线</span>{% elif value['max'] != None and v > value['max'] %}<span class="error">上限超标</span>{% elif value['min'] != None and v < value['min'] %}<span class="error">下限超标</span>{% else %}<span>正常</span>{% end %}<i>&gt;</i></p>
         </a>
     </li>
+    {% elif value['hardware_type'] == 3 and value['unit'] == 'button' %}
+    <li class="form-input buttons">
+        <label><span>{{value['name']}}</span>
+        <p>
+        <button onclick="Farm.Button(this, '/device/update', '{{value['id']}}', 1, '#button_down_{{value['id']}}')" id="button_up_{{value['id']}}" class="btn btn-switch {% if value['value'] in ('2','3') %}disabled{% end %} {% if value['value'] in ('1','4') %}open{% end %}"></button>
 
+        <button onclick="Farm.Button(this, '/device/update', '{{value['id']}}', 5)" id="button_stop_{{value['id']}}" class="btn btn-switch {% if value['value'] == '5' %}open{% end %}"></button>
+
+        <button onclick="Farm.Button(this, '/device/update', '{{value['id']}}', 2, '#button_up_{{value['id']}}')" id="button_down_{{value['id']}}" class="btn btn-switch {% if value['value'] in ('1','4') %}disabled{% end %} {% if value['value'] in ('2','3') %}open{% end %}"></button>
+        </p>
+        </label>
+            
+        </dt>    
+    </li>
     {% elif value['hardware_type'] == 3 %}
     <li class="form-input">
         <label><span>{{value['name']}}</span><p><a href="javascript:;" data-status="{% if value['value'] == '1' %}0{% else %}1{% end %}"  onclick="Farm.Switch(this, '/device/update', '{{value['id']}}')" class="btn btn-switch {% if value['value'] == '1' %}open{% end %}"><i></i></a></p></label>

+ 1 - 1
front/templates/pc/device/group.html

@@ -2,7 +2,7 @@
 
 {% block content %}
 <div class="crumbs">
-    <h2><i class="icons ico-dt"></i>设备分组管理 <a style="margin-left:10px;" href="javascript:;" onclick="Farm.Page('添加页面', '/device/update_page')" class="btn">添加</a></h2>
+    <h2><i class="icons ico-dt"></i>设备分组管理 <a style="margin-left:10px;" href="javascript:;" onclick="Farm.Page('添加页面', '/device/update_page')" class="btn">添加</a> <a style="margin-left:10px;" href="javascript:;" onclick="Farm.Page('大屏幕设置', '/device/screen_set')" class="btn">大屏幕设置</a></h2>
 </div>
 
 {% for v in data['page'] %}

+ 6 - 6
front/templates/pc/device/set/menu.html

@@ -1,17 +1,17 @@
 <div class="crumbs">
-    <h2><i class="icons ico-dt"></i>{{data['name']}}</h2>
+    <h2><i class="icons ico-dt"></i>{{data['name']}}
     {% if data['set_cur'] == 'mul' %}
-    <a style="margin-left:10px;margin-top:5px;" href="javascript:;" onclick="Farm.Page('添加批量控制', '/device/update_set_mul')" class="btn">添加</a></h2>
+    <a style="margin-left:10px;margin-top:5px;" href="javascript:;" onclick="Farm.Page('添加批量控制', '/device/update_set_mul')" class="btn">添加</a>
     {% elif data['set_cur'] == 'timing' %}
-    <a style="margin-left:10px;margin-top:5px;" href="javascript:;" onclick="Farm.Page('添加定时命令', '/device/update_set_timing')" class="btn">添加</a></h2>
+    <a style="margin-left:10px;margin-top:5px;" href="javascript:;" onclick="Farm.Page('添加定时命令', '/device/update_set_timing')" class="btn">添加</a>
 
     {% elif data['set_cur'] == 'loop' %}
-    <a style="margin-left:10px;margin-top:5px;" href="javascript:;" onclick="Farm.Page('添加周期命令', '/device/update_set_loop')" class="btn">添加</a></h2>
+    <a style="margin-left:10px;margin-top:5px;" href="javascript:;" onclick="Farm.Page('添加周期命令', '/device/update_set_loop')" class="btn">添加</a>
 
     {% elif data['set_cur'] == 'condition' %}
-    <a style="margin-left:10px;margin-top:5px;" href="javascript:;" onclick="Farm.Page('添加条件控制', '/device/update_set_condition')" class="btn">添加</a></h2>
+    <a style="margin-left:10px;margin-top:5px;" href="javascript:;" onclick="Farm.Page('添加条件控制', '/device/update_set_condition')" class="btn">添加</a>
     {% end %}
-
+    </h2>
     <ul>
         <li {% if data['set_cur'] == 'mul' %}class="cur"{% end %}><a href="{{data['url']['mul']}}">批量控制</a></li>
         <li><span>/</span></li>

+ 1 - 1
model/farm.py

@@ -20,6 +20,6 @@ class Farm(Model):
 	welcome = Fields(type='varchar(200)', comment='欢迎语')
 	master_name = Fields(type='varchar(50)', comment='农场主姓名')
 	master_pic = Fields(type='varchar(255)', comment='农场主照片')
-	gateway = Fields(type='text', comment='网关ID')
+	gateway = Fields(type='text', comment='用于大屏幕的设备设置')
 	state = Fields(type='boolean', default='True', comment='数据存在状态')
 	cdate = Fields(type='int', default='time', comment='创建时间')

Some files were not shown because too many files changed in this diff