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