From b7f85801605d9146399e9009f617be5d43165d46 Mon Sep 17 00:00:00 2001
From: songshankun <songshankun@foxmail.com>
Date: 星期四, 26 十月 2023 19:33:05 +0800
Subject: [PATCH] feat: PLC地址配置 接口方式选项添加modbudRTU选中项,选中modbusRTU时添加数据位/停止位/校验方式表单
---
src/views/set.vue | 202 ++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 155 insertions(+), 47 deletions(-)
diff --git a/src/views/set.vue b/src/views/set.vue
index 3311d97..eea93c9 100644
--- a/src/views/set.vue
+++ b/src/views/set.vue
@@ -282,42 +282,123 @@
style="width: 100%"
>
<el-option label="modbusTCP" value="modbusTCP"></el-option>
- <el-option label="serial" value="serial"></el-option>
+ <el-option label="涓插彛" value="serial"></el-option>
+ <el-option label="modbusRTU" value="modbusRTU"></el-option>
</el-select>
</el-form-item>
- <el-form-item
- label="娉㈢壒鐜�"
- prop="baudRate"
- v-if="form.method == 'serial'"
- class="form-item float_right"
- >
- <el-input
- v-model="form.baudRate"
- placeholder="璇疯緭鍏�"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="涓插彛鍚嶇О"
- prop="serialName"
- v-if="form.method == 'serial'"
- class="form-item float_right"
- >
- <el-input
- v-model="form.serialName"
- placeholder="璇疯緭鍏�"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="PLC鍦板潃"
- v-if="form.method == 'modbusTCP'"
- prop="address"
- class="form-item float_right"
- >
- <el-input
- v-model="form.address"
- placeholder="璇疯緭鍏�"
- ></el-input>
- </el-form-item>
+ <template v-if="form.method === 'modbusTCP'">
+ <el-form-item
+ label="PLC鍦板潃"
+ prop="address"
+ class="form-item float_right"
+ >
+ <el-input
+ v-model="form.address"
+ placeholder="璇疯緭鍏�"
+ ></el-input>
+ </el-form-item>
+
+ <el-form-item
+ label="绔彛鍙�"
+ prop="port"
+ class="form-item float_right"
+ >
+ <el-input
+ v-model.number="form.port"
+ placeholder="璇疯緭鍏�"
+ ></el-input>
+ </el-form-item>
+ </template>
+
+ <template v-if="form.method === 'serial'">
+ <el-form-item
+ label="娉㈢壒鐜�"
+ prop="baudRate"
+
+ class="form-item float_right"
+ >
+ <el-input
+ type="number"
+ min="1"
+ v-model="form.baudRate"
+ placeholder="璇疯緭鍏�"
+ ></el-input>
+ </el-form-item>
+ <el-form-item
+ label="涓插彛鍚嶇О"
+ prop="serialName"
+ class="form-item float_right"
+ >
+ <el-input
+ v-model="form.serialName"
+ placeholder="璇疯緭鍏�"
+ ></el-input>
+ </el-form-item>
+ </template>
+
+ <template v-if="form.method === 'modbusRTU'">
+ <el-form-item
+ label="鏁版嵁浣�"
+ prop="dataBit"
+ class="form-item float_right"
+ >
+ <el-input
+ type="number"
+ min="1"
+ v-model="form.dataBit"
+ placeholder="璇疯緭鍏�"
+ ></el-input>
+ </el-form-item>
+
+ <el-form-item
+ label="鍋滄浣�"
+ prop="stopBit"
+ class="form-item float_right"
+ >
+ <el-input
+ type="number"
+ min="1"
+ v-model="form.stopBit"
+ placeholder="璇疯緭鍏�"
+ ></el-input>
+ </el-form-item>
+
+ <el-form-item label="鏍¢獙鏂瑰紡" prop="parity" class="form-item">
+ <el-select
+ v-model="form.parity"
+ placeholder="璇烽�夋嫨"
+ style="width: 100%"
+ >
+ <el-option label="濂囨牎楠�" :value="1"></el-option>
+ <el-option label="鍋舵牎楠�" :value="2"></el-option>
+ <el-option label="鏃犳牎楠�" :value="3"></el-option>
+ </el-select>
+ </el-form-item>
+
+ <el-form-item
+ label="娉㈢壒鐜�"
+ prop="baudRate"
+ class="form-item float_right"
+ >
+ <el-input
+ v-model="form.baudRate"
+ placeholder="璇疯緭鍏�"
+ ></el-input>
+ </el-form-item>
+
+ <el-form-item
+ label="涓插彛鍚嶇О"
+ prop="serialName"
+ class="form-item float_right"
+ >
+ <el-input
+ v-model="form.serialName"
+ placeholder="璇疯緭鍏�"
+ ></el-input>
+ </el-form-item>
+ </template>
+
+
<!-- <el-form-item label="绔彛鍚嶇О" prop="portName" class="form-item2">
<el-select
v-model="form.portName"
@@ -333,17 +414,6 @@
></el-option>
</el-select>
</el-form-item> -->
- <el-form-item
- label="绔彛鍙�"
- prop="port"
- v-if="form.method == 'modbusTCP'"
- class="form-item float_right"
- >
- <el-input
- v-model.number="form.port"
- placeholder="璇疯緭鍏�"
- ></el-input>
- </el-form-item>
</div>
<!-- <el-button
style="margin-bottom: 10px; float: right"
@@ -511,8 +581,13 @@
portName: "",
port: "",
address: "",
- baudRate:'',
+ // 娉㈢壒鐜囬粯璁�9600
+ baudRate: 0,
serialName:'',
+ dataBit: 0,
+ stopBit: 0,
+ // 鏍¢獙鏂瑰紡 1濂囨牎楠�2鍋舵牎楠�3鏃犳牎楠�
+ parity: 3,
},
rules: {
@@ -657,6 +732,14 @@
getPlc().then((res) => {
if (res.code == 200) {
this.form = JSON.parse(JSON.stringify(res.data));
+ this.form = {
+ ...this.form,
+ dataBit: this.form?.dataBit || 0,
+ stopBit: this.form?.stopBit || 0,
+ parity: this.form?.parity || 3,
+ baudRate: this.form?.baudRate || 0,
+ }
+ console.log('f',this.form)
this.pclList = res.data.details
? JSON.parse(JSON.stringify(res.data.details))
: [];
@@ -907,7 +990,32 @@
saveThree() {
let params = JSON.parse(JSON.stringify(this.form));
- params.details = this.pclList;
+ params = {
+ ...params,
+ details : this.pclList,
+ dataBit: +params.dataBit,
+ stopBit: +params.stopBit,
+ parity: +params.parity,
+ baudRate: +params.baudRate
+ }
+
+ if (params.method === 'modbusRTU'){
+ if (!params.dataBit){
+ this.$message.error("鏁版嵁浣嶄笉鑳戒负 0")
+ return
+ }
+
+ if (!params.stopBit){
+ this.$message.error("鍋滄浣嶄笉鑳戒负 0")
+ return
+ }
+
+ if (!params.baudRate){
+ this.$message.error("娉㈢壒鐜囦笉鑳戒负 0")
+ return
+ }
+ }
+
setPlc(params).then((res) => {
if (res.code == 200) {
this.$message.success("PLC閰嶇疆鎴愬姛锛�");
--
Gitblit v1.8.0