|
@@ -94,13 +94,22 @@
|
|
|
<!-- <el-table-column prop="unlockPassword" label="开锁密码" width="150"></el-table-column>
|
|
|
<el-table-column prop="codeAddress" label="二维码地址" width="180"></el-table-column>-->
|
|
|
<el-table-column prop="typeN" label="类型" width="80"></el-table-column>
|
|
|
- <el-table-column label="操作" width="150">
|
|
|
+ <el-table-column label="操作" width="250">
|
|
|
<template slot-scope="{row}">
|
|
|
- <el-button size="mini" type="warning" @click="handleEdit(row)">编辑</el-button>
|
|
|
- <!-- <el-button size="mini" type="primary" @click="handleRestart(row)">重启</el-button>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-link type="primary" @click="handleEdit(row)">编辑</el-link>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <!-- <el-button size="mini" type="primary" @click="handleRestart(row)">重启</el-button>
|
|
|
<el-button size="mini" type="primary" @click="handleClear(row)">清除人脸数据</el-button>
|
|
|
- <el-button size="mini" type="primary" @click="handleQRcode(row)">二维码地址</el-button>-->
|
|
|
- <el-button size="mini" type="danger" @click="handleDelete(row)">删除</el-button>
|
|
|
+ <el-button size="mini" type="primary" @click="handleQRcode(row)">二维码地址</el-button>-->
|
|
|
+ <el-link type="danger" @click="handleDelete(row)">删除</el-link>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-link type="primary" @click="handleEditRule(row)">验证规则</el-link>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -120,6 +129,131 @@
|
|
|
:companyResult="companyResult"
|
|
|
@close="onDetailModalClose"
|
|
|
></deviceInfo-detail>
|
|
|
+ <!-------------设备验证规则start------------------>
|
|
|
+ <el-dialog
|
|
|
+ title="设备验证规则"
|
|
|
+ :visible.sync="dialogVisible"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ append-to-body
|
|
|
+ width="30%"
|
|
|
+ >
|
|
|
+ <el-form
|
|
|
+ :model="ruleModel"
|
|
|
+ ref="ruleForm"
|
|
|
+ :rules="ruleValidate"
|
|
|
+ inline
|
|
|
+ :label-width="'100px'"
|
|
|
+ style="text-align:left;"
|
|
|
+ >
|
|
|
+ <el-row>
|
|
|
+ <el-col>
|
|
|
+ <el-form-item label="安全帽">
|
|
|
+ <el-radio-group v-model="ruleModel.needCap">
|
|
|
+ <el-radio :label="1">是</el-radio>
|
|
|
+ <el-radio :label="0">否</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col>
|
|
|
+ <el-form-item label="口罩">
|
|
|
+ <el-radio-group v-model="ruleModel.needMask">
|
|
|
+ <el-radio :label="1">是</el-radio>
|
|
|
+ <el-radio :label="0">否</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col>
|
|
|
+ <el-form-item label="测温">
|
|
|
+ <el-radio-group v-model="ruleModel.measureTemperature">
|
|
|
+ <el-radio :label="1">是</el-radio>
|
|
|
+ <el-radio :label="0">否</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row v-if="ruleModel.measureTemperature == 1">
|
|
|
+ <el-row>
|
|
|
+ <el-col>
|
|
|
+ <el-form-item label="位置">
|
|
|
+ <el-radio-group v-model="ruleModel.type">
|
|
|
+ <el-radio :label="0">额头</el-radio>
|
|
|
+ <el-radio :label="1">手腕</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col>
|
|
|
+ <el-form-item label="最低温度" prop="minimum">
|
|
|
+ <el-input-number
|
|
|
+ v-model="ruleModel.minimum"
|
|
|
+ placeholder="请输入最低温度"
|
|
|
+ :precision="2"
|
|
|
+ :step="0.1"
|
|
|
+ :max="45"
|
|
|
+ :min="30"
|
|
|
+ style="width:200px"
|
|
|
+ ></el-input-number>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col>
|
|
|
+ <el-form-item label="最高温度" prop="maximum">
|
|
|
+ <el-input-number
|
|
|
+ v-model="ruleModel.maximum"
|
|
|
+ placeholder="请输入最高温度"
|
|
|
+ :precision="2"
|
|
|
+ :step="0.1"
|
|
|
+ :max="45"
|
|
|
+ :min="30"
|
|
|
+ style="width:200px"
|
|
|
+ ></el-input-number>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col>
|
|
|
+ <el-form-item label="温度误差" prop="preAlarmOffset">
|
|
|
+ <el-input-number
|
|
|
+ v-model="ruleModel.preAlarmOffset"
|
|
|
+ placeholder="请输入温度误差"
|
|
|
+ :precision="2"
|
|
|
+ :step="0.1"
|
|
|
+ :max="1"
|
|
|
+ :min="0.1"
|
|
|
+ style="width:200px"
|
|
|
+ ></el-input-number>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col>
|
|
|
+ <el-form-item label="报警温度" prop="alarmThreshold">
|
|
|
+ <el-input-number
|
|
|
+ v-model="ruleModel.alarmThreshold"
|
|
|
+ placeholder="请输入报警温度"
|
|
|
+ :precision="2"
|
|
|
+ :step="0.1"
|
|
|
+ :max="45"
|
|
|
+ :min="30"
|
|
|
+ style="width:200px"
|
|
|
+ ></el-input-number>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="dialogVisible = false">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="saveDeviceRule">确 定</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+ <!-------------设备验证规则end------------------>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
@@ -137,6 +271,13 @@ export default {
|
|
|
var self = this;
|
|
|
|
|
|
return {
|
|
|
+ ruleValidate: {
|
|
|
+ minimum: [{ required: true, message: "不能为空", trigger: "blur" }],
|
|
|
+ maximum: [{ required: true, message: "不能为空", trigger: "blur" }],
|
|
|
+ alarmThreshold: [
|
|
|
+ { required: true, message: "不能为空", trigger: "blur" }
|
|
|
+ ]
|
|
|
+ },
|
|
|
queryModel: {
|
|
|
deviceNo: "",
|
|
|
aliasName: "",
|
|
@@ -157,7 +298,21 @@ export default {
|
|
|
businessKey: "",
|
|
|
typeData: [],
|
|
|
companyResult: "",
|
|
|
- tableHeight: ""
|
|
|
+ tableHeight: "",
|
|
|
+ dialogVisible: false,
|
|
|
+ ruleDeviceId: "",
|
|
|
+ // ruleList: [],
|
|
|
+ // temperatureRule: "",
|
|
|
+ ruleModel: {
|
|
|
+ needCap: "",
|
|
|
+ needMask: "",
|
|
|
+ measureTemperature: "",
|
|
|
+ type: "",
|
|
|
+ minimum: "",
|
|
|
+ maximum: "",
|
|
|
+ preAlarmOffset: "",
|
|
|
+ alarmThreshold: ""
|
|
|
+ }
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
@@ -303,6 +458,78 @@ export default {
|
|
|
},
|
|
|
handleQRcode(record) {
|
|
|
//二维码地址
|
|
|
+ },
|
|
|
+ handleEditRule(record) {
|
|
|
+ var self = this;
|
|
|
+ self.loading = true;
|
|
|
+ var formData = new FormData();
|
|
|
+ formData.append("deviceId", record.id);
|
|
|
+ self.ruleDeviceId = record.id;
|
|
|
+ deviceInfoApi.getDeviceRule(formData).then(function(response) {
|
|
|
+ var jsonData = response.data;
|
|
|
+ if (jsonData.result) {
|
|
|
+ self.loading = false;
|
|
|
+ self.dialogVisible = true;
|
|
|
+ console.log(jsonData.data);
|
|
|
+ //开关列表
|
|
|
+ var ruleList = jsonData.data.RuleList;
|
|
|
+ ruleList.forEach((item, index) => {
|
|
|
+ if (item.Mode == "1") {
|
|
|
+ self.ruleModel.needCap = item.Enabled;
|
|
|
+ } else if (item.Mode == "2") {
|
|
|
+ self.ruleModel.needMask = item.Enabled;
|
|
|
+ } else if (item.Mode == "3") {
|
|
|
+ self.ruleModel.measureTemperature = item.Enabled;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ //获取温度设置列表
|
|
|
+ var temperatureRule = jsonData.data.TemperatureRule;
|
|
|
+ self.ruleModel.type = temperatureRule.Type;
|
|
|
+ self.ruleModel.minimum = temperatureRule.Minimum;
|
|
|
+ self.ruleModel.maximum = temperatureRule.Maximum;
|
|
|
+ self.ruleModel.preAlarmOffset = temperatureRule.PreAlarmOffset;
|
|
|
+ self.ruleModel.alarmThreshold = temperatureRule.AlarmThreshold;
|
|
|
+ } else {
|
|
|
+ self.loading = false;
|
|
|
+ self.$alert(jsonData.message, "提示", {
|
|
|
+ confirmButtonText: "确定"
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ saveDeviceRule() {
|
|
|
+ var self = this;
|
|
|
+ this.$refs["ruleForm"].validate(valid => {
|
|
|
+ if (valid) {
|
|
|
+ var formData = new FormData();
|
|
|
+ formData.append("deviceInfoId", self.ruleDeviceId);
|
|
|
+ formData.append("needCap", self.ruleModel.needCap);
|
|
|
+ formData.append("needMask", self.ruleModel.needMask);
|
|
|
+ formData.append(
|
|
|
+ "measureTemperature",
|
|
|
+ self.ruleModel.measureTemperature
|
|
|
+ );
|
|
|
+ formData.append("type", self.ruleModel.type);
|
|
|
+ formData.append("minTemper", self.ruleModel.minimum);
|
|
|
+ formData.append("maxTemper", self.ruleModel.maximum);
|
|
|
+ formData.append("alarmThreshold", self.ruleModel.alarmThreshold);
|
|
|
+ deviceInfoApi.saveDeviceRule(formData).then(function(response) {
|
|
|
+ var jsonData = response.data;
|
|
|
+ if (jsonData.result) {
|
|
|
+ self.$message({
|
|
|
+ type: "success",
|
|
|
+ message: "成功"
|
|
|
+ });
|
|
|
+ self.dialogVisible = false;
|
|
|
+ } else {
|
|
|
+ self.$message({
|
|
|
+ type: "success",
|
|
|
+ message: jsonData.message
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
},
|
|
|
mounted: function() {
|