123
parent
b026d8f8cf
commit
f7af27b6ed
|
@ -136,6 +136,14 @@ const infoApi = {
|
|||
getSet(params) {
|
||||
return postPBRequest('/driver', params, 54010, params.driver_name)
|
||||
},
|
||||
// 获取详情
|
||||
getD(params) {
|
||||
return postPBRequest('/driver', params, 54003, params.driver_name)
|
||||
},
|
||||
// 重置
|
||||
resetCount(params) {
|
||||
return postPBRequest('/driver', params, 54201, params.driver_name)
|
||||
},
|
||||
// 删除设备
|
||||
delSet(params) {
|
||||
return postPBRequest('/driver', params, 54310, params.driver_name)
|
||||
|
@ -143,19 +151,19 @@ const infoApi = {
|
|||
|
||||
// 通讯服务启用,停用
|
||||
startStatus(params) {
|
||||
return postPBRequest("/driver", params, 54202,params.name);
|
||||
return postPBRequest("/driver", params, 54400,params.name);
|
||||
},
|
||||
// 通讯服务停止
|
||||
stopStatus(params) {
|
||||
return postPBRequest("/driver", params, 54203,params.name);
|
||||
return postPBRequest("/driver", params, 54500,params.name);
|
||||
},
|
||||
//保存配置
|
||||
addPz(params, header) {
|
||||
return postPBRequest("/driver", params, 54201, header.driver_name);
|
||||
return postPBRequest("/driver", params, 54202, header.driver_name);
|
||||
},
|
||||
// 获取com
|
||||
getCom() {
|
||||
return postPBRequest("/info", null, 51001);
|
||||
getCom(params) {
|
||||
return postPBRequest("/info", null, 51001, params.name);
|
||||
},
|
||||
// // 获取上报列表
|
||||
// getSc(params) {
|
||||
|
|
|
@ -0,0 +1,109 @@
|
|||
<template>
|
||||
<el-drawer v-model="visible" title= "详情" direction="rtl" :before-close="closeDialog">
|
||||
<el-form label-width="130px">
|
||||
<el-form-item label="驱动名称:">
|
||||
{{ name }}
|
||||
</el-form-item>
|
||||
<el-form-item label="健康状态">
|
||||
<el-input disabled v-model="health[healthObj.status]"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="最后一次成功时间">
|
||||
<el-input disabled v-model="healthObj.last_success_time"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="最后一次失败时间">
|
||||
<el-input disabled v-model="healthObj.last_failure_ctime"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="最后一次失败原因">
|
||||
<el-input disabled v-model="healthObj.last_failure_cause"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-form label-width="130px">
|
||||
<el-form-item label="总计数">
|
||||
<el-input disabled v-model="countObj.total_count"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="失败计数">
|
||||
<el-input disabled v-model="countObj.failure_count"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="成功计数">
|
||||
<el-input disabled v-model="countObj.success_count"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div class="btns">
|
||||
<el-button type="primary" @click="resetCount">重置计数</el-button>
|
||||
<el-button @click="closeDialog">取消</el-button>
|
||||
</div>
|
||||
|
||||
</el-drawer>
|
||||
</template>
|
||||
<script>
|
||||
import { onMounted, reactive, ref, toRefs, computed, nextTick } from "vue";
|
||||
import infoApi from "@/api/infoApi.js";
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
export default {
|
||||
props: ["dialogVisible", "formData"],
|
||||
emits: ["dialogClose", "dialogSuccess"],
|
||||
setup(props, ctx) {
|
||||
const ruleFormRef = ref(null);
|
||||
const state = reactive({
|
||||
health: {
|
||||
0: 'null',
|
||||
1: 'ok',
|
||||
2: 'error',
|
||||
},
|
||||
name: '',
|
||||
healthObj: {},
|
||||
countObj: {}
|
||||
})
|
||||
|
||||
const visible = computed(() => {
|
||||
return props.dialogVisible;
|
||||
});
|
||||
|
||||
onMounted(() => {
|
||||
getD();
|
||||
});
|
||||
const getD = async () => {
|
||||
const parm = {
|
||||
name: props.formData.name
|
||||
}
|
||||
const res = await infoApi.getD(parm);
|
||||
if (res.code == 0) {
|
||||
state.name = res.data.name
|
||||
state.healthObj = res.data.health;
|
||||
state.countObj = res.data.count;
|
||||
}
|
||||
};
|
||||
const resetCount = async () => {
|
||||
const parm = {
|
||||
name: props.formData.name
|
||||
}
|
||||
const res = await infoApi.resetCount(parm);
|
||||
if (res.code == 0) {
|
||||
getD();
|
||||
}
|
||||
}
|
||||
const closeDialog = () => {
|
||||
ctx.emit("dialogClose");
|
||||
};
|
||||
|
||||
|
||||
return {
|
||||
...toRefs(state),
|
||||
visible,
|
||||
closeDialog,
|
||||
getD,
|
||||
resetCount
|
||||
};
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
::v-deep .el-form-item__content {
|
||||
display: flex;
|
||||
flex-wrap: nowrap;
|
||||
>span {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -27,8 +27,8 @@
|
|||
<el-form-item label="失败重试时间" prop="faile_retry_time">
|
||||
<el-input-number v-model="form2.faile_retry_time" :min="1" placeholder="(单位:秒)" clearable/><span>秒</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="COM" prop="driver_name">
|
||||
<el-select v-model="form2.driver_name" clearable>
|
||||
<el-form-item label="COM" prop="com_name">
|
||||
<el-select v-model="form2.com_name" clearable>
|
||||
<el-option
|
||||
v-for="item in comArr"
|
||||
:label="item.name"
|
||||
|
@ -87,7 +87,7 @@
|
|||
</el-form-item>
|
||||
</el-form>
|
||||
<!-- 3: 'plc_s7' -->
|
||||
<el-form :model="form3" label-width="120px" :rules="rules3" ref="ruleFormRef3" v-if="pztypecode === 3">
|
||||
<!-- <el-form :model="form3" label-width="120px" :rules="rules3" ref="ruleFormRef3" v-if="pztypecode === 3">
|
||||
<el-form-item label="轮询时间" prop="polling_time">
|
||||
<el-input-number v-model="form3.polling_time" :min="1" placeholder="(单位:秒)" clearable/><span>秒</span>
|
||||
</el-form-item>
|
||||
|
@ -107,7 +107,7 @@
|
|||
<el-button type="primary" @click="onSubmit">保存</el-button>
|
||||
<el-button @click="closeDialog">取消</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-form> -->
|
||||
|
||||
|
||||
</el-drawer>
|
||||
|
@ -121,6 +121,8 @@ export default {
|
|||
emits: ["dialogClose", "dialogSuccess"],
|
||||
setup(props, ctx) {
|
||||
const ruleFormRef = ref(null);
|
||||
const ruleFormRef2= ref(null);
|
||||
const ruleFormRef3 = ref(null);
|
||||
const state = reactive({
|
||||
form: {
|
||||
polling_time: "",
|
||||
|
@ -132,12 +134,12 @@ export default {
|
|||
form2: {
|
||||
polling_time: "",
|
||||
faile_retry_time: "",
|
||||
driver_name: '',
|
||||
com_name: '',
|
||||
dataBits: 5,
|
||||
baudRate: 2480,
|
||||
baudRate: 2400,
|
||||
stopBits: 1,
|
||||
parity: 'N',
|
||||
id: 1
|
||||
id: 1,
|
||||
},
|
||||
form3: {
|
||||
polling_time: "",
|
||||
|
@ -149,11 +151,11 @@ export default {
|
|||
},
|
||||
comArr: [],// com
|
||||
baudRateArr: [{
|
||||
name: 2480,
|
||||
value: 2480
|
||||
name: 2400,
|
||||
value: 2400
|
||||
},{
|
||||
name: 4880,
|
||||
value: 4880
|
||||
name: 4800,
|
||||
value: 4800
|
||||
},
|
||||
{
|
||||
name:9600,
|
||||
|
@ -224,7 +226,7 @@ export default {
|
|||
rules2: {
|
||||
polling_time: [{ required: true, message: "请输入轮询时间", trigger: "blur" }],
|
||||
faile_retry_time: [{ required: true, message: "请输入失败重试时间", trigger: "blur" }],
|
||||
driver_name: [{ required: true, message: "请选择COM口", trigger: "blur" }],
|
||||
com_name: [{ required: true, message: "请选择COM口", trigger: "blur" }],
|
||||
dataBits: [{ required: true, message: "请选择数据位", trigger: "blur" }],
|
||||
baudRate: [{ required: true, message: "请选择波特率", trigger: "blur" }],
|
||||
stopBits: [{ required: true, message: "请选择停止位", trigger: "blur" }],
|
||||
|
@ -274,16 +276,28 @@ export default {
|
|||
} else if (props.pztypecode === 2) {
|
||||
await ruleFormRef2.value.validate(async (valid) => {
|
||||
if (valid) {
|
||||
var param = {
|
||||
polling_time:Number(state.form2.polling_time),
|
||||
faile_retry_time: Number(state.form2.faile_retry_time),
|
||||
dataBits: Number(state.form2.dataBits),
|
||||
baudRate: Number(state.form2.baudRate),
|
||||
stopBits: Number(state.form2.stopBits),
|
||||
driver_name: state.form2.driver_name,
|
||||
parity: state.form2.parity,
|
||||
id: Number(state.form2.id)
|
||||
}
|
||||
// var param = {
|
||||
// polling_time:Number(state.form2.polling_time),
|
||||
// faile_retry_time: Number(state.form2.faile_retry_time),
|
||||
// dataBits: Number(state.form2.dataBits),
|
||||
// baudRate: Number(state.form2.baudRate),
|
||||
// stopBits: Number(state.form2.stopBits),
|
||||
// driver_name: state.form2.driver_name,
|
||||
// parity: state.form2.parity,
|
||||
// id: Number(state.form2.id)
|
||||
// }
|
||||
var param = {
|
||||
name: props.formData.name,
|
||||
polling_time: Number(state.form2.polling_time),
|
||||
faile_retry_time: Number(state.form2.faile_retry_time),
|
||||
com: {
|
||||
name: state.form2.com_name,
|
||||
dataBits: Number(state.form2.dataBits),
|
||||
baudRate: Number(state.form2.baudRate),
|
||||
stopBits: Number(state.form2.stopBits),
|
||||
parity: state.form2.parity
|
||||
}
|
||||
}
|
||||
const res = await infoApi.addPz(param, header);
|
||||
if (res.code == 0) {
|
||||
ElMessage.success(res.message || "请求成功");
|
||||
|
@ -328,11 +342,14 @@ export default {
|
|||
getCom();
|
||||
});
|
||||
const getCom = async () => {
|
||||
const res = await infoApi.getCom();
|
||||
const parm = {
|
||||
name: props.formData.name
|
||||
}
|
||||
const res = await infoApi.getCom(parm);
|
||||
if (res.code == 0) {
|
||||
state.comArr = res.data;
|
||||
console.log(44, state.comArr);
|
||||
state.form2.driver_name = state.comArr[0].name;
|
||||
state.form2.com_name = state.comArr[0].name;
|
||||
}
|
||||
};
|
||||
const closeDialog = () => {
|
||||
|
@ -350,6 +367,8 @@ export default {
|
|||
exportData,
|
||||
onSubmit,
|
||||
ruleFormRef,
|
||||
ruleFormRef2,
|
||||
ruleFormRef3,
|
||||
getCom
|
||||
};
|
||||
},
|
||||
|
|
|
@ -236,3 +236,7 @@ s {
|
|||
|
||||
}
|
||||
}
|
||||
.btns {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
|
@ -41,6 +41,9 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" show-overflow-tooltip>
|
||||
<template #default="scope">
|
||||
<el-button type="primary" @click="openDetails(scope.row)">
|
||||
详情
|
||||
</el-button>
|
||||
<el-button type="primary" @click="openPz(scope.row)">
|
||||
配置
|
||||
</el-button>
|
||||
|
@ -77,6 +80,14 @@
|
|||
@dialogSuccess="dialogSuccess3"
|
||||
>
|
||||
</PzSet>
|
||||
<Details
|
||||
:formData="formData"
|
||||
:dialogVisible="dialogVisible4"
|
||||
v-if="dialogVisible4"
|
||||
@dialogClose="dialogClose4"
|
||||
@dialogSuccess="dialogSuccess4"
|
||||
>
|
||||
</Details>
|
||||
<AddData :formData="formData" :type="type" :qudongOptions="qudongOptions" :dialogVisible="dialogVisible"
|
||||
v-if="dialogVisible" @dialogClose="dialogClose" @dialogSuccess="dialogSuccess"></AddData>
|
||||
<ViewSet :formData="formData" :qudongOptions="qudongOptions" :dialogVisible="dialogVisible2" v-if="dialogVisible2" @dialogClose="dialogClose"
|
||||
|
@ -91,12 +102,14 @@ import infoApi from "@/api/infoApi.js";
|
|||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
import AddData from "@/components/AddData.vue";
|
||||
import PzSet from "@/components/PzSet.vue";
|
||||
import Details from "@/components/Details.vue";
|
||||
import ViewSet from "@/components/ViewSet.vue";
|
||||
export default {
|
||||
name: "page",
|
||||
components: {
|
||||
AddData,
|
||||
PzSet,
|
||||
Details,
|
||||
ViewSet
|
||||
},
|
||||
setup() {
|
||||
|
@ -108,6 +121,7 @@ export default {
|
|||
dialogVisible1: false,
|
||||
dialogVisible2: false,
|
||||
dialogVisible3: false,
|
||||
dialogVisible4: false,
|
||||
type: '0', // 0新增 1 编辑
|
||||
pztype: '',
|
||||
pztypecode: '',
|
||||
|
@ -168,10 +182,16 @@ export default {
|
|||
const dialogClose3 = () => {
|
||||
state.dialogVisible3 = false;
|
||||
};
|
||||
const dialogClose4 = () => {
|
||||
state.dialogVisible4 = false;
|
||||
};
|
||||
const dialogSuccess3 = () => {
|
||||
state.dialogVisible3 = false;
|
||||
getTableData();
|
||||
};
|
||||
const dialogSuccess4 = () => {
|
||||
state.dialogVisible4 = false;
|
||||
};
|
||||
|
||||
const dialogSuccess1 = () => {
|
||||
state.dialogVisible1 = false;
|
||||
|
@ -235,7 +255,7 @@ export default {
|
|||
const param = {
|
||||
name: item.name,
|
||||
}
|
||||
const res = item.enable ? await infoApi.startStatus(param) : await infoApi.stopStatus(param);
|
||||
const res = !item.enable ? await infoApi.startStatus(param) : await infoApi.stopStatus(param);
|
||||
if (res.code == 0) {
|
||||
ElMessage.success(res.msg || "请求成功");
|
||||
getTableData();
|
||||
|
@ -251,7 +271,11 @@ export default {
|
|||
state.pztypecode = item.type;
|
||||
state.formData = JSON.parse(JSON.stringify(item));
|
||||
}
|
||||
|
||||
const openDetails = (item) => {
|
||||
state.formData = JSON.parse(JSON.stringify(item));
|
||||
state.dialogVisible4 = true;
|
||||
|
||||
}
|
||||
return {
|
||||
...toRefs(state),
|
||||
addData,
|
||||
|
@ -264,8 +288,11 @@ export default {
|
|||
dialogClose1,
|
||||
dialogSuccess1,
|
||||
dialogClose3,
|
||||
dialogClose4,
|
||||
dialogSuccess3,
|
||||
dialogSuccess4,
|
||||
openPz,
|
||||
openDetails,
|
||||
viewData
|
||||
};
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue