Former-commit-id: c45e874c2ee4c1070436459522775ba38eaa18e5
TangShanKaiPing
wanggang 6 years ago
parent 6c06b7867b
commit af669f195d

@ -0,0 +1,9 @@
namespace Application.Models
{
public class ButtonModel
{
public string Name { get; set; }
public string Value { get; set; }
public int Order { get; set; }
}
}

@ -343,10 +343,10 @@
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-3"> <div class="col-md-2">
<span class="btn">温度:{{getCode1(GetDataValue('按键')).temperature+15}}℃</span> <span class="btn">温度:{{getCode1(GetDataValue('按键')).temperature+15}}℃</span>
</div> </div>
<div class="col-md-9"> <div class="col-md-10">
<input v-on:click="SendCode1($event)" name="temperature" type="range" step="1" min="1" max="15" :value="getCode1(GetDataValue('按键')).temperature" /> <input v-on:click="SendCode1($event)" name="temperature" type="range" step="1" min="1" max="15" :value="getCode1(GetDataValue('按键')).temperature" />
</div> </div>
</div> </div>
@ -451,7 +451,7 @@
<input type="hidden" name="Type" value="5" /> <input type="hidden" name="Type" value="5" />
<div class="row"> <div class="row">
<div class="col-md-12 col-xs-12"> <div class="col-md-12 col-xs-12">
<label class="btn btn-sm btn-success" v-for="btn in GetButtons()"><input v-on:click="SendCode1($event)" name="Code" type="radio" :value="btn.Value" />{{btn.Key}}</label> <label class="btn btn-sm btn-success" v-for="btn in GetButtons()"><input v-on:click="SendCode1($event)" name="Code" type="radio" :value="btn.Value" />{{btn.Name}}</label>
</div> </div>
</div> </div>
</form> </form>
@ -473,15 +473,19 @@
</div> </div>
<div class="card-body" id="irbuttons" v-if="GetButtons().length"> <div class="card-body" id="irbuttons" v-if="GetButtons().length">
<div class="row form-group irbtn" v-for="btn in GetButtons()"> <div class="row form-group irbtn" v-for="btn in GetButtons()">
<label class="col-md-2 col-form-label">按键名称:</label> <label class="col-md-1 col-form-label">名称:</label>
<div class="col-md-3"> <div class="col-md-2">
<input class="form-control" type="text" name="key" :value="btn.Key" /> <input class="form-control" type="text" name="name" :value="btn.Name" />
</div> </div>
<label class="col-md-2 col-form-label">按键编码:</label> <label class="col-md-1 col-form-label">编码:</label>
<div class="col-md-3"> <div class="col-md-2">
<input class="form-control" type="text" name="value" :value="btn.Value" /> <input class="form-control" type="text" name="value" :value="btn.Value" />
</div> </div>
<label class="col-md-1 col-form-label">序号:</label>
<div class="col-md-2"> <div class="col-md-2">
<input class="form-control" type="text" name="order" :value="btn.Order" />
</div>
<div class="col-md-3">
<button class="btn btn-sm btn-success" v-on:click="Study(btn.Value)">学习</button> <button class="btn btn-sm btn-success" v-on:click="Study(btn.Value)">学习</button>
<button class="btn btn-sm btn-success" v-on:click="RemoveButton(btn.Key)">移除</button> <button class="btn btn-sm btn-success" v-on:click="RemoveButton(btn.Key)">移除</button>
</div> </div>

@ -404,18 +404,6 @@
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="pattern" type="radio" value="240" v-model="getCode1(GetDataValue(device.Number,'按键')).pattern" />制热</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="pattern" type="radio" value="240" v-model="getCode1(GetDataValue(device.Number,'按键')).pattern" />制热</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="pattern" type="radio" value="360" v-model="getCode1(GetDataValue(device.Number,'按键')).pattern" />抽湿</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="pattern" type="radio" value="360" v-model="getCode1(GetDataValue(device.Number,'按键')).pattern" />抽湿</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="pattern" type="radio" value="480" v-model="getCode1(GetDataValue(device.Number,'按键')).pattern" />送风</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="pattern" type="radio" value="480" v-model="getCode1(GetDataValue(device.Number,'按键')).pattern" />送风</label>
</div>
</div>
<div class="row">
<div class="col-md-2">
<span class="btn">温度</span>
</div>
<div class="col-md-10">
<input v-on:click="SendCode1($event)" name="temperature" type="range" step="1" min="1" max="15" :value="getCode1(GetDataValue(device.Number,'按键')).temperature" />
</div>
</div>
<div class="row">
<div class="col-md-12">
<lable class="btn">风向</lable> <lable class="btn">风向</lable>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="direction" type="radio" value="0" v-model="getCode1(GetDataValue(device.Number,'按键')).direction" />任意</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="direction" type="radio" value="0" v-model="getCode1(GetDataValue(device.Number,'按键')).direction" />任意</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="direction" type="radio" value="60" v-model="getCode1(GetDataValue(device.Number,'按键')).direction" />手动</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="direction" type="radio" value="60" v-model="getCode1(GetDataValue(device.Number,'按键')).direction" />手动</label>
@ -427,6 +415,14 @@
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="wind" type="radio" value="45" v-model="getCode1(GetDataValue(device.Number,'按键')).wind" />低</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="wind" type="radio" value="45" v-model="getCode1(GetDataValue(device.Number,'按键')).wind" />低</label>
</div> </div>
</div> </div>
<div class="row">
<div class="col-md-3">
<span class="btn">温度:{{getCode1(GetDataValue(device.Number,'按键')).temperature+15}}℃</span>
</div>
<div class="col-md-9">
<input v-on:click="SendCode1($event)" name="temperature" type="range" step="1" min="1" max="15" :value="getCode1(GetDataValue(device.Number,'按键')).temperature" />
</div>
</div>
</form> </form>
</div> </div>
<div class="tab-pane" :id="'tab_2'+device.Number"> <div class="tab-pane" :id="'tab_2'+device.Number">
@ -448,10 +444,6 @@
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="10" />8</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="10" />8</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="11" />9</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="11" />9</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="12" />0</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="12" />0</label>
</div>
</div>
<div class="row">
<div class="col-md-12 col-xs-12">
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="13" />返回</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="13" />返回</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="14" />退出</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="14" />退出</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="15" />静音</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="15" />静音</label>
@ -462,20 +454,12 @@
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="20" />下</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="20" />下</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="21" />左</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="21" />左</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="22" />右</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="22" />右</label>
</div>
</div>
<div class="row">
<div class="col-md-12 col-xs-12">
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="26" />快退</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="26" />快退</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="27" />播放</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="27" />播放</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="28" />快进</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="28" />快进</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="29" />录像</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="29" />录像</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="30" />暂停</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="30" />暂停</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="31" />停止</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="31" />停止</label>
</div>
</div>
<div class="row">
<div class="col-md-12 col-xs-12">
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="23" />OK</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="23" />OK</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="24" />ch+</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="24" />ch+</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="25" />ch-</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="25" />ch-</label>
@ -506,10 +490,6 @@
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="10" />8</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="10" />8</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="11" />9</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="11" />9</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="12" />0</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="12" />0</label>
</div>
</div>
<div class="row">
<div class="col-md-12 col-xs-12">
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="13" />CLEAR</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="13" />CLEAR</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="14" />退出</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="14" />退出</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="15" />静音</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="15" />静音</label>
@ -520,20 +500,12 @@
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="20" />下</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="20" />下</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="21" />左</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="21" />左</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="22" />右</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="22" />右</label>
</div>
</div>
<div class="row">
<div class="col-md-12 col-xs-12">
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="26" />鼠标L</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="26" />鼠标L</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="27" />节能</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="27" />节能</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="28" />鼠标R</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="28" />鼠标R</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="29" />局部放大+</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="29" />局部放大+</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="30" />局部放大-</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="30" />局部放大-</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="31" />冻结</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="31" />冻结</label>
</div>
</div>
<div class="row">
<div class="col-md-12 col-xs-12">
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="23" />ENTER</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="23" />ENTER</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="24" />page+</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="24" />page+</label>
<label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="25" />page-</label> <label class="btn btn-sm btn-success"><input v-on:click="SendCode1($event)" name="Code" type="radio" value="25" />page-</label>
@ -546,6 +518,16 @@
</form> </form>
</div> </div>
<div class="tab-pane" :id="'tab_4'+device.Number"> <div class="tab-pane" :id="'tab_4'+device.Number">
<form class="ir type3" method="get" action="/App/ExecApi">
<input type="hidden" name="Number" :value="model.Number" />
<input type="hidden" name="Method" value="/Ir/Send" />
<input type="hidden" name="Type" value="5" />
<div class="row">
<div class="col-md-12 col-xs-12">
<label class="btn btn-sm btn-success" v-for="btn in GetButtons(device.Number)"><input v-on:click="SendCode1($event)" name="Code" type="radio" :value="btn.Value" />{{btn.Name}}</label>
</div>
</div>
</form>
</div> </div>
</div> </div>
</div> </div>

@ -72,7 +72,7 @@ methods = {
}, },
GetButtons() { GetButtons() {
return Enumerable.from(JSON.parse(this.GetDataValue("指令"))) return Enumerable.from(JSON.parse(this.GetDataValue("指令")))
//.orderBy(function (o) { return o.Value; }) .orderBy(function (o) { return o.Order; })
.toArray(); .toArray();
}, },
Study(code) { Study(code) {
@ -83,17 +83,17 @@ methods = {
.where(function (o) { return o.Name === "指令" }) .where(function (o) { return o.Name === "指令" })
.firstOrDefault(); .firstOrDefault();
var buttons = this.GetButtons(); var buttons = this.GetButtons();
var newBtn = { Key:"测试", Value:603}; var newBtn = { Name:"测试", Value:"603",Order:1};
buttons.push(newBtn); buttons.push(newBtn);
data.Value = JSON.stringify(buttons); data.Value = JSON.stringify(buttons);
}, },
RemoveButton(key) { RemoveButton(name) {
var data = Enumerable.from(this.model.Data) var data = Enumerable.from(this.model.Data)
.where(function (o) { return o.Name === "指令" }) .where(function (o) { return o.Name === "指令" })
.firstOrDefault(); .firstOrDefault();
var buttons = this.GetButtons(); var buttons = this.GetButtons();
for (var i = buttons.length - 1; i >= 0; i--) { for (var i = buttons.length - 1; i >= 0; i--) {
if (buttons[i].Key == key) { if (buttons[i].Name == name) {
buttons.splice(i, 1); buttons.splice(i, 1);
break; break;
} }
@ -104,8 +104,9 @@ methods = {
var buttons = []; var buttons = [];
$('#irbuttons').find('.irbtn').each(function () { $('#irbuttons').find('.irbtn').each(function () {
buttons.push({ buttons.push({
Key: $(this).find("input[name='key']").val(), Name: $(this).find("input[name='name']").val(),
Value: $(this).find("input[name='value']").val() Value: $(this).find("input[name='value']").val(),
Order: $(this).find("input[name='order']").val()
}); });
}); });
var value = JSON.stringify(buttons); var value = JSON.stringify(buttons);

@ -69,6 +69,11 @@ methods = {
ajax(url, null, 'get'); ajax(url, null, 'get');
}); });
}, },
GetButtons(deviceNumber) {
return Enumerable.from(JSON.parse(this.GetDataValue(deviceNumber,"指令")))
.orderBy(function (o) { return o.Order; })
.toArray();
},
SendCode1(event) { SendCode1(event) {
console.log(event.target + ',' + event.type + ',' + event.target.checked); console.log(event.target + ',' + event.type + ',' + event.target.checked);
var form = $(event.target).parents('form'); var form = $(event.target).parents('form');

@ -485,6 +485,16 @@
</form> </form>
</f7-tab> </f7-tab>
<f7-tab class="block block-strong" :id="'tab_4'+device.Number"> <f7-tab class="block block-strong" :id="'tab_4'+device.Number">
<form class="ir type3" method="get" action="/App/ExecApi">
<input type="hidden" name="Number" :value="model.Number" />
<input type="hidden" name="Method" value="/Ir/Send" />
<input type="hidden" name="Type" value="5" />
<div class="row">
<div class="col-md-12 col-xs-12">
<label class="button button-raised" v-for="btn in GetButtons(device.Number)"><input v-on:click="SendCode1($event)" name="Code" type="radio" :value="btn.Value" />{{btn.Name}}</label>
</div>
</div>
</form>
</f7-tab> </f7-tab>
</f7-tabs> </f7-tabs>
</div> </div>

@ -66,7 +66,7 @@ namespace IoTNode.DeviceServices.FBee
var data = device.Data.FirstOrDefault(o => o.Key == Keys.Buttons); var data = device.Data.FirstOrDefault(o => o.Key == Keys.Buttons);
if (data != null) if (data != null)
{ {
data.Value = buttons.FromJson<List<KeyValuePair<string, int>>>().ToJson(); data.Value = buttons.FromJson<List<ButtonModel>>().ToJson();
if (deviceRepo.SaveChanges() > 0) if (deviceRepo.SaveChanges() > 0)
{ {
this.SendDataToServer(data); this.SendDataToServer(data);
@ -519,7 +519,7 @@ namespace IoTNode.DeviceServices.FBee
this.UpdateDevice(deviceRepo, device); this.UpdateDevice(deviceRepo, device);
if (device.Name == "红外转发器") if (device.Name == "红外转发器")
{ {
var buttons = new List<KeyValuePair<string, int>>() { new KeyValuePair<string, int>("测试", 603) }.ToJson(); var buttons = new List<ButtonModel>() { new ButtonModel { Name = "测试", Value = "603", Order = 0 } }.ToJson();
this.UpdateData(deviceRepo, device, device.CreateData(Keys.Buttons, buttons, DeviceDataType.String, "指令", timestamp: timestamp)); this.UpdateData(deviceRepo, device, device.CreateData(Keys.Buttons, buttons, DeviceDataType.String, "指令", timestamp: timestamp));
} }
} }

Loading…
Cancel
Save