|
@@ -16,13 +16,13 @@
|
|
|
<div class="user-panel" v-loading="loading">
|
|
|
<el-form ref="form" :model="formModel" :rules="ruleValidate" :label-width="'100px'">
|
|
|
<el-row>
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="13">
|
|
|
<el-form-item label="单位" prop="companyId">
|
|
|
<el-select
|
|
|
v-model="formModel.companyId"
|
|
|
filterable
|
|
|
placeholder="请选择"
|
|
|
- style="width:280px"
|
|
|
+ style="width:240px"
|
|
|
>
|
|
|
<el-option
|
|
|
v-for="company in companyResult"
|
|
@@ -35,74 +35,39 @@
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="ip地址" prop="ipAddress">
|
|
|
- <el-input
|
|
|
- v-model="formModel.ipAddress"
|
|
|
- @blur="queryDeviceNo"
|
|
|
- placeholder="请输入ip地址"
|
|
|
- style="width:200px"
|
|
|
- ></el-input>
|
|
|
+ <el-col :span="13">
|
|
|
+ <el-form-item label="姓名" prop="name">
|
|
|
+ <el-input v-model="formModel.name" placeholder="请输入姓名" style="width:200px"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="端口" prop="port">
|
|
|
- <el-input
|
|
|
- v-model="formModel.port"
|
|
|
- @blur="queryDeviceNo"
|
|
|
- placeholder="请输入端口"
|
|
|
- style="width:200px"
|
|
|
- ></el-input>
|
|
|
+ <el-col :span="11">
|
|
|
+ <el-form-item label="手机号" prop="phone">
|
|
|
+ <el-input v-model="formModel.phone" placeholder="请输入手机号" style="width:200px"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="设备编号" prop="deviceNo">
|
|
|
- <el-input v-model="formModel.deviceNo" placeholder="请输入设备编号" style="width:200px"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="设备别名" prop="aliasName">
|
|
|
- <el-input v-model="formModel.aliasName" placeholder="请输入设备别名" style="width:200px"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="运行状态" prop="isOnline">
|
|
|
- <el-select v-model="formModel.isOnline" filterable style="width:200px">
|
|
|
- <el-option :key="true" label="在线" :value="true"></el-option>
|
|
|
- <el-option :key="false" label="离线" :value="false"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="开锁密码" prop="unlockPassword">
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="备注" prop="remark">
|
|
|
<el-input
|
|
|
- v-model="formModel.unlockPassword"
|
|
|
- placeholder="请输入开锁密码"
|
|
|
- style="width:200px"
|
|
|
+ type="textarea"
|
|
|
+ v-model="formModel.remark"
|
|
|
+ :rows="2"
|
|
|
+ style="width:80%;"
|
|
|
+ placeholder="请输入备注"
|
|
|
></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="类型" prop="type">
|
|
|
- <el-select v-model="formModel.type" filterable placeholder="请选择" style="width:200px">
|
|
|
- <el-option
|
|
|
- v-for="result in typeData"
|
|
|
- :key="result.id"
|
|
|
- :label="result.name"
|
|
|
- :value="result.value"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
+ <el-col :span="13">
|
|
|
+ <el-form-item label="预警温度" prop="temperature">
|
|
|
+ <el-input v-model="formModel.temperature" placeholder="请输入预警温度" style="width:200px"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="二维码地址" prop="codeAddress">
|
|
|
- <el-input v-model="formModel.codeAddress" placeholder="请输入二维码地址" style="width:200px"></el-input>
|
|
|
+ <el-col :span="11">
|
|
|
+ <el-form-item label="报警触发次数" prop="times">
|
|
|
+ <el-input v-model="formModel.times" placeholder="请输入报警触发次数" style="width:200px"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -116,35 +81,53 @@
|
|
|
</template>
|
|
|
<script>
|
|
|
import Constant from "@/constant";
|
|
|
-import deviceInfoApi from "@/api/base/deviceInfo";
|
|
|
+import warningPusherApi from "@/api/base/warningPusher";
|
|
|
|
|
|
export default {
|
|
|
- props: ["businessKey", "title", "typeData", "companyResult"],
|
|
|
+ props: ["businessKey", "title", "companyResult"],
|
|
|
data() {
|
|
|
+ let checkPhone = (rule, value, callback) => {
|
|
|
+ if (!value) {
|
|
|
+ return callback(new Error("手机号不能为空"));
|
|
|
+ } else {
|
|
|
+ const reg = /^1[3|4|5|7|8][0-9]\d{8}$/;
|
|
|
+ console.log(reg.test(value));
|
|
|
+ if (reg.test(value)) {
|
|
|
+ callback();
|
|
|
+ } else {
|
|
|
+ return callback(new Error("请输入正确的手机号"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
return {
|
|
|
formModel: {},
|
|
|
ruleValidate: {
|
|
|
- aliasName: [
|
|
|
- { required: true, message: "设备别名不能为空", trigger: "blur" }
|
|
|
- ],
|
|
|
- isOnline: [
|
|
|
+ name: [{ required: true, message: "姓名不能为空", trigger: "blur" }],
|
|
|
+ companyId: [
|
|
|
{
|
|
|
required: true,
|
|
|
- message: "运行状态不能为空",
|
|
|
- trigger: "blur"
|
|
|
+ message: "单位不能为空",
|
|
|
+ trigger: "change"
|
|
|
}
|
|
|
],
|
|
|
- // unlockPassword: [
|
|
|
- // { required: true, message: "开锁密码不能为空", trigger: "blur" }
|
|
|
- // ],
|
|
|
- // codeAddress: [
|
|
|
- // { required: true, message: "二维码地址不能为空", trigger: "blur" }
|
|
|
- // ],
|
|
|
- ipAddress: [
|
|
|
- { required: true, message: "ip地址不能为空", trigger: "blur" }
|
|
|
+ phone: [
|
|
|
+ { required: true, message: "手机不能为空", trigger: "blur" },
|
|
|
+ {
|
|
|
+ validator: checkPhone,
|
|
|
+ trigger: "blur"
|
|
|
+ }
|
|
|
],
|
|
|
- port: [{ required: true, message: "端口不能为空", trigger: "blur" }],
|
|
|
- type: [{ required: true, message: "类型不能为空", trigger: "blur" }]
|
|
|
+ temperature: [
|
|
|
+ { required: true, message: "预警度数不能为空", trigger: "blur" },
|
|
|
+ {
|
|
|
+ type: "number",
|
|
|
+ message: "请输入数字格式",
|
|
|
+ trigger: "blur",
|
|
|
+ transform(value) {
|
|
|
+ return Number(value);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ]
|
|
|
},
|
|
|
showDialog: true,
|
|
|
loading: false,
|
|
@@ -165,9 +148,9 @@ export default {
|
|
|
var id = self.formModel.id;
|
|
|
|
|
|
if (id == null || id.length == 0) {
|
|
|
- return deviceInfoApi.add(self.formModel);
|
|
|
+ return warningPusherApi.add(self.formModel);
|
|
|
} else {
|
|
|
- return deviceInfoApi.update(self.formModel);
|
|
|
+ return warningPusherApi.update(self.formModel);
|
|
|
}
|
|
|
})().then(function(response) {
|
|
|
var jsonData = response.data;
|
|
@@ -190,37 +173,15 @@ export default {
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
- },
|
|
|
- queryDeviceNo() {
|
|
|
- var self = this;
|
|
|
- if (self.canQuery) {
|
|
|
- self.canQuery = false;
|
|
|
- var formData = new FormData();
|
|
|
- formData.append("ipAddress", self.formModel.ipAddress);
|
|
|
- formData.append("port", self.formModel.port);
|
|
|
- deviceInfoApi.getByIpAddressAndPort(formData).then(function(response) {
|
|
|
- var jsonData = response.data;
|
|
|
- setTimeout(() => {
|
|
|
- self.canQuery = true;
|
|
|
- //延迟1秒
|
|
|
- }, 1000);
|
|
|
- if (jsonData.result) {
|
|
|
- if (jsonData.data != null) {
|
|
|
- let deviceNo = jsonData.data.deviceNo;
|
|
|
- self.formModel.deviceNo = deviceNo;
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
}
|
|
|
},
|
|
|
mounted: function() {
|
|
|
var self = this;
|
|
|
(function() {
|
|
|
if (self.businessKey.length == 0) {
|
|
|
- return deviceInfoApi.create();
|
|
|
+ return warningPusherApi.create();
|
|
|
} else {
|
|
|
- return deviceInfoApi.edit(self.businessKey);
|
|
|
+ return warningPusherApi.edit(self.businessKey);
|
|
|
}
|
|
|
})()
|
|
|
.then(response => {
|