|
|
|
@ -345,9 +345,9 @@
|
|
|
|
|
<a-tab-pane key="2" tab="配置">
|
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="col-12">
|
|
|
|
|
<button type="button" value="1" class="btn btn-success px-2 m-2 btn-sm" @click="execApi(device.number,'/Ir/MathAir1')">空调匹配</button>
|
|
|
|
|
<button type="button" value="2" class="btn btn-success px-2 m-2 btn-sm" @click="execApi(device.number,'/Ir/MathAir2')">电视匹配</button>
|
|
|
|
|
<button type="button" value="3" class="btn btn-success px-2 m-2 btn-sm" @click="execApi(device.number,'/Ir/MathAir3')">机顶盒匹配</button>
|
|
|
|
|
<button type="button" value="1" class="btn btn-success px-2 m-2 btn-sm" @click="execApi(device.number,'/Ir/Match1')">空调匹配</button>
|
|
|
|
|
<button type="button" value="2" class="btn btn-success px-2 m-2 btn-sm" @click="execApi(device.number,'/Ir/Match2')">电视匹配</button>
|
|
|
|
|
<button type="button" value="3" class="btn btn-success px-2 m-2 btn-sm" @click="execApi(device.number,'/Ir/Match3')">机顶盒匹配</button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="row">
|
|
|
|
@ -356,20 +356,51 @@
|
|
|
|
|
<tr>
|
|
|
|
|
<th>#</th>
|
|
|
|
|
<th>名称</th>
|
|
|
|
|
<th>按键</th>
|
|
|
|
|
<th>序号</th>
|
|
|
|
|
<th>按键</th>
|
|
|
|
|
<th>删除</th>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr v-for="(button,index) in getCustomButtons()">
|
|
|
|
|
<td>{{index+1}}</td>
|
|
|
|
|
<td>{{button.Order}}</td>
|
|
|
|
|
<td>{{button.Name}}</td>
|
|
|
|
|
<td>{{button.Value}}</td>
|
|
|
|
|
<td>{{button.Order}}</td>
|
|
|
|
|
<td><button class="btn btn-sm btn-success" @click="remove(button.name)">删除</button></td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="col-12">
|
|
|
|
|
<form class="form-horizontal">
|
|
|
|
|
<div class="form-group row">
|
|
|
|
|
<label class="col-sm-2 col-form-label">序号</label>
|
|
|
|
|
<div class="col-sm-10">
|
|
|
|
|
<input type="text" class="form-control" name="Order" value="100">
|
|
|
|
|
</div>
|
|
|
|
|
</div><div class="form-group row">
|
|
|
|
|
<label class="col-sm-2 col-form-label">名称</label>
|
|
|
|
|
<div class="col-sm-10">
|
|
|
|
|
<input type="text" class="form-control" name="Name" value="指令名称">
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-group row">
|
|
|
|
|
<label class="col-sm-2 col-form-label">按键</label>
|
|
|
|
|
<div class="col-sm-10">
|
|
|
|
|
<input type="text" class="form-control" name="Value" value="603">
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="col-sm-2"></div>
|
|
|
|
|
<div class="col-sm-10" style="text-align:left;">
|
|
|
|
|
<button class="btn btn-sm btn-success" @click.prevent="study">学习</button>
|
|
|
|
|
<button class="btn btn-sm btn-success" @click.prevent="test">测试</button>
|
|
|
|
|
<button class="btn btn-sm btn-success" @click.prevent="add">保存</button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</form>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</a-tab-pane>
|
|
|
|
|
</a-tabs>
|
|
|
|
|
</a-modal>
|
|
|
|
@ -386,6 +417,67 @@
|
|
|
|
|
code: this.value || 0
|
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
computed: {
|
|
|
|
|
pattern: function () {
|
|
|
|
|
var code = parseInt(getIoTDataValue(this.device, "空调按键"));
|
|
|
|
|
var pattern = { name: '制冷', value: 0 };
|
|
|
|
|
if (code > 480 + 2) {
|
|
|
|
|
pattern = { name: '通风', value: 480 };
|
|
|
|
|
}
|
|
|
|
|
else if (code > 360 + 2) {
|
|
|
|
|
pattern = { name: '抽湿', value: 360 };
|
|
|
|
|
}
|
|
|
|
|
else if (code > 240 + 2) {
|
|
|
|
|
pattern = { name: '制热', value: 240 };
|
|
|
|
|
}
|
|
|
|
|
else if (code > 120 + 2) {
|
|
|
|
|
pattern = { name: '自动', value: 120 };
|
|
|
|
|
}
|
|
|
|
|
return pattern;
|
|
|
|
|
},
|
|
|
|
|
direction: function () {
|
|
|
|
|
var code1 = parseInt(getIoTDataValue(this.device, "空调按键"));
|
|
|
|
|
var code = code1 - this.pattern.value;
|
|
|
|
|
var direction = { name: '自动', value: 0 };;
|
|
|
|
|
if (code > 60 + 2) {
|
|
|
|
|
direction = { name: '手动', value: 60 };
|
|
|
|
|
}
|
|
|
|
|
return direction;
|
|
|
|
|
},
|
|
|
|
|
wind: function () {
|
|
|
|
|
var code1 = parseInt(getIoTDataValue(this.device, "空调按键"));
|
|
|
|
|
var code = code1 - this.pattern.value - this.direction.value;
|
|
|
|
|
var wind = { name: '自动', value: 0 };
|
|
|
|
|
if (code > 45 + 2) {
|
|
|
|
|
wind = { name: '低', value: 45 };
|
|
|
|
|
}
|
|
|
|
|
else if (code > 30 + 2) {
|
|
|
|
|
wind = { name: '中', value: 30 };
|
|
|
|
|
}
|
|
|
|
|
else if (code > 15 + 2) {
|
|
|
|
|
wind = { name: '高', value: 15 };
|
|
|
|
|
}
|
|
|
|
|
return wind;
|
|
|
|
|
},
|
|
|
|
|
power: function () {
|
|
|
|
|
var code1 = parseInt(getIoTDataValue(this.device, "空调按键"));
|
|
|
|
|
var code = code1 - this.pattern.value - this.direction.value - this.wind.value;
|
|
|
|
|
var power = { name: '关', value: 1 };
|
|
|
|
|
if (code > 1) {
|
|
|
|
|
power = { name: '开', value: 2 };
|
|
|
|
|
}
|
|
|
|
|
return power;
|
|
|
|
|
},
|
|
|
|
|
temperature: function () {
|
|
|
|
|
var code1 = parseInt(getIoTDataValue(this.device, "空调按键"));
|
|
|
|
|
var code = code1 - this.pattern.value - this.direction.value - this.wind.value - this.power.value;
|
|
|
|
|
var temperature = { name: '16℃', value: 1 };
|
|
|
|
|
if (code > 1) {
|
|
|
|
|
temperature = { name: parseInt(code + 15) + '℃', value: code };
|
|
|
|
|
}
|
|
|
|
|
return temperature;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
watch: {
|
|
|
|
|
code(val) {
|
|
|
|
|
this.$emit('update:value', val);
|
|
|
|
@ -433,6 +525,9 @@
|
|
|
|
|
var newCode = code - oldValue + newValue;
|
|
|
|
|
this.send(newCode, 1);
|
|
|
|
|
},
|
|
|
|
|
send: function (value, type) {
|
|
|
|
|
execApi(this.device.number, '/Ir/Send', 'type=' + type + '&code=' + value);
|
|
|
|
|
},
|
|
|
|
|
change: function (v, min, max, step) {
|
|
|
|
|
var oldValue = parseInt(v);
|
|
|
|
|
var newValue = oldValue + step;
|
|
|
|
@ -443,69 +538,35 @@
|
|
|
|
|
var newCode = code - oldValue + newValue;
|
|
|
|
|
this.send(newCode, 1);
|
|
|
|
|
},
|
|
|
|
|
send: function (value, type) {
|
|
|
|
|
execApi(this.device.number, '/Ir/Send', 'type=' + type + '&code=' + value);
|
|
|
|
|
add: function () {
|
|
|
|
|
var array = $(event.target).parents('form').serializeArray();
|
|
|
|
|
var button = {};
|
|
|
|
|
$.map(array, function (n, i) {
|
|
|
|
|
button[n['name']] = n['value'];
|
|
|
|
|
});
|
|
|
|
|
var list = this.getCustomButtons();
|
|
|
|
|
list.push(button);
|
|
|
|
|
var value = JSON.stringify(list);
|
|
|
|
|
execApi(this.device.number, '/Ir/Buttons', 'buttons=' + value);
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
computed: {
|
|
|
|
|
pattern: function () {
|
|
|
|
|
var code = parseInt(getIoTDataValue(this.device, "空调按键"));
|
|
|
|
|
var pattern = { name: '制冷', value: 0 };
|
|
|
|
|
if (code > 480 + 2) {
|
|
|
|
|
pattern = { name: '通风', value: 480 };
|
|
|
|
|
remove: function (name) {
|
|
|
|
|
var buttons = this.getCustomButtons();
|
|
|
|
|
for (var i = buttons.length - 1; i >= 0; i--) {
|
|
|
|
|
if (buttons[i].name === name) {
|
|
|
|
|
buttons.splice(i, 1);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (code > 360 + 2) {
|
|
|
|
|
pattern = { name: '抽湿', value: 360 };
|
|
|
|
|
}
|
|
|
|
|
else if (code > 240 + 2) {
|
|
|
|
|
pattern = { name: '制热', value: 240 };
|
|
|
|
|
}
|
|
|
|
|
else if (code > 120 + 2) {
|
|
|
|
|
pattern = { name: '自动', value: 120 };
|
|
|
|
|
}
|
|
|
|
|
return pattern;
|
|
|
|
|
var value = JSON.stringify(buttons);
|
|
|
|
|
execApi(this.device.number, '/Ir/Buttons', 'buttons=' + value);
|
|
|
|
|
},
|
|
|
|
|
direction: function () {
|
|
|
|
|
var code1 = parseInt(getIoTDataValue(this.device, "空调按键"));
|
|
|
|
|
var code = code1 - this.pattern.value;
|
|
|
|
|
var direction = { name: '自动', value: 0 };;
|
|
|
|
|
if (code > 60 + 2) {
|
|
|
|
|
direction = { name: '手动', value: 60 };
|
|
|
|
|
}
|
|
|
|
|
return direction;
|
|
|
|
|
test: function (event) {
|
|
|
|
|
var code = $(event.target).parents('form').find("input[name='Value']").val();
|
|
|
|
|
execApi(this.device.number, '/Ir/Send', 'type=5&code=' + code);
|
|
|
|
|
},
|
|
|
|
|
wind: function () {
|
|
|
|
|
var code1 = parseInt(getIoTDataValue(this.device, "空调按键"));
|
|
|
|
|
var code = code1 - this.pattern.value - this.direction.value;
|
|
|
|
|
var wind = { name: '自动', value: 0 };
|
|
|
|
|
if (code > 45 + 2) {
|
|
|
|
|
wind = { name: '低', value: 45 };
|
|
|
|
|
}
|
|
|
|
|
else if (code > 30 + 2) {
|
|
|
|
|
wind = { name: '中', value: 30 };
|
|
|
|
|
}
|
|
|
|
|
else if (code > 15 + 2) {
|
|
|
|
|
wind = { name: '高', value: 15 };
|
|
|
|
|
}
|
|
|
|
|
return wind;
|
|
|
|
|
},
|
|
|
|
|
power: function () {
|
|
|
|
|
var code1 = parseInt(getIoTDataValue(this.device, "空调按键"));
|
|
|
|
|
var code = code1 - this.pattern.value - this.direction.value - this.wind.value;
|
|
|
|
|
var power = { name: '关', value: 1 };
|
|
|
|
|
if (code > 1) {
|
|
|
|
|
power = { name: '开', value: 2 };
|
|
|
|
|
}
|
|
|
|
|
return power;
|
|
|
|
|
},
|
|
|
|
|
temperature: function () {
|
|
|
|
|
var code1 = parseInt(getIoTDataValue(this.device, "空调按键"));
|
|
|
|
|
var code = code1 - this.pattern.value - this.direction.value - this.wind.value - this.power.value;
|
|
|
|
|
var temperature = { name: '16℃', value: 1 };
|
|
|
|
|
if (code > 1) {
|
|
|
|
|
temperature = { name: parseInt(code + 15) + '℃', value: code };
|
|
|
|
|
}
|
|
|
|
|
return temperature;
|
|
|
|
|
study: function (event) {
|
|
|
|
|
var code = $(event.target).parents('form').find("input[name='Value']").val();
|
|
|
|
|
execApi(this.device.number, '/Ir/Study', 'type=' + 5 + '&code=' + code);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|