通讯设置
This commit is contained in:
parent
c07a118964
commit
2bf510dced
@ -1,38 +1,37 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, onMounted } from 'vue'
|
import { ref, onMounted } from 'vue'
|
||||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||||
|
import { fetchDeviceNet, fetchDevicePort, saveDeviceConfig, verifyAccessPassword, fetchChannelConfig } from '@/api/platform'
|
||||||
// 表单数据
|
// 表单数据
|
||||||
const formData = ref({
|
const formData: any = ref({
|
||||||
networkCard: '网卡二',
|
nic: '',
|
||||||
ipAddress: '192.168.1.56',
|
ip: '',
|
||||||
subnetMask: '255.255.255.255',
|
mask: '',
|
||||||
gateway: '192.168.1.56',
|
gateway: '',
|
||||||
tcpProtocol: 'Modbus TCP',
|
protocol: '',
|
||||||
// 串口设置
|
|
||||||
comPort: 'COM3',
|
|
||||||
baudRate: 115200,
|
|
||||||
parity: 'NONE',
|
|
||||||
dataBits: 8,
|
|
||||||
stopBits: 1,
|
|
||||||
rtuProtocol: 'Modbus RTU'
|
|
||||||
})
|
})
|
||||||
|
const formData2: any = ref({
|
||||||
const networkCardOptions = [
|
port: '',
|
||||||
|
baud: null,
|
||||||
|
parity: '',
|
||||||
|
data_bits: null,
|
||||||
|
stop_bits: null,
|
||||||
|
protocol: ''
|
||||||
|
})
|
||||||
|
const networkCardOptions: any = ref([
|
||||||
{ label: '网卡一', value: '网卡一' },
|
{ label: '网卡一', value: '网卡一' },
|
||||||
{ label: '网卡二', value: '网卡二' }
|
{ label: '网卡二', value: '网卡二' },
|
||||||
]
|
])
|
||||||
|
|
||||||
const tcpProtocolOptions = [
|
const tcpProtocolOptions: any = [
|
||||||
{ label: 'Modbus TCP', value: 'Modbus TCP' },
|
{ label: 'Modbus TCP', value: 'Modbus TCP' },
|
||||||
{ label: 'IEC104 ', value: 'IEC104' }
|
{ label: 'IEC104 ', value: 'IEC104' }
|
||||||
]
|
]
|
||||||
|
|
||||||
const comPortOptions = [
|
const comPortOptions: any = ref([
|
||||||
{ label: 'COM1', value: 'COM1' },
|
{ label: 'COM1', value: 'COM1' },
|
||||||
{ label: 'COM2', value: 'COM2' },
|
{ label: 'COM2', value: 'COM2' },
|
||||||
{ label: 'COM3', value: 'COM3' }
|
])
|
||||||
]
|
|
||||||
|
|
||||||
const baudRateOptions = [
|
const baudRateOptions = [
|
||||||
{ label: '9600', value: 9600 },
|
{ label: '9600', value: 9600 },
|
||||||
@ -68,29 +67,70 @@ const rtuProtocolOptions = [
|
|||||||
// 保存
|
// 保存
|
||||||
const handleSave = () => {
|
const handleSave = () => {
|
||||||
ElMessageBox.prompt('请输入密码', '保存', {
|
ElMessageBox.prompt('请输入密码', '保存', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
closeOnClickModal: false,
|
closeOnClickModal: false,
|
||||||
// inputType: 'password',
|
|
||||||
})
|
|
||||||
.then(({ value }) => {
|
|
||||||
console.log(value)
|
|
||||||
|
|
||||||
// ElMessage({
|
|
||||||
// type: 'success',
|
|
||||||
// message: `密码正确,保存成功`,
|
|
||||||
// })
|
|
||||||
})
|
|
||||||
.catch(() => {
|
|
||||||
// ElMessage({
|
|
||||||
// type: 'info',
|
|
||||||
// message: '密码错误',
|
|
||||||
// })
|
|
||||||
})
|
})
|
||||||
|
.then(({ value }) => {
|
||||||
|
verifyAccessPassword(value).then((res: any) => {
|
||||||
|
if (res.code == 200) {
|
||||||
|
const params = {
|
||||||
|
net: [formData.value],
|
||||||
|
uart: [formData2.value],
|
||||||
|
password: config.value.password,
|
||||||
|
hardware_version: config.value.hardware_version,
|
||||||
|
software_version: config.value.software_version,
|
||||||
|
}
|
||||||
|
saveDeviceConfig(params).then((res: any) => {
|
||||||
|
if (res.code == 200) {
|
||||||
|
ElMessage({
|
||||||
|
type: 'success',
|
||||||
|
message: `保存成功`,
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
ElMessage({
|
||||||
|
type: 'info',
|
||||||
|
message: '保存失败',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
ElMessage({
|
||||||
|
type: 'info',
|
||||||
|
message: '密码错误',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
// ElMessage({
|
||||||
|
// type: 'info',
|
||||||
|
// message: '密码错误',
|
||||||
|
// })
|
||||||
|
})
|
||||||
console.log('保存配置:', formData.value)
|
console.log('保存配置:', formData.value)
|
||||||
}
|
}
|
||||||
|
const config: any = ref({})
|
||||||
|
const handleChange = (val: any) => {
|
||||||
|
fetchDeviceNet(val).then((res: any) => {
|
||||||
|
formData.value = res
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const handleChangePort = (val: any) => {
|
||||||
|
fetchDevicePort(val).then((res: any) => {
|
||||||
|
formData2.value = res
|
||||||
|
})
|
||||||
|
}
|
||||||
function init() {
|
function init() {
|
||||||
|
fetchDeviceNet('网卡一').then((res: any) => {
|
||||||
|
formData.value = res
|
||||||
|
})
|
||||||
|
fetchDevicePort('COM1').then((res: any) => {
|
||||||
|
formData2.value = res
|
||||||
|
})
|
||||||
|
fetchChannelConfig().then((res: any) => {
|
||||||
|
config.value = res
|
||||||
|
})
|
||||||
}
|
}
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
init()
|
init()
|
||||||
@ -108,18 +148,18 @@ onMounted(() => {
|
|||||||
</div>
|
</div>
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<el-form-item label="网卡号">
|
<el-form-item label="网卡号">
|
||||||
<el-select v-model="formData.networkCard" placeholder="请选择">
|
<el-select v-model="formData.nic" placeholder="请选择" @change="handleChange">
|
||||||
<el-option v-for="item in networkCardOptions" :key="item.value" :label="item.label"
|
<el-option v-for="item in networkCardOptions" :key="item.value" :label="item.label"
|
||||||
:value="item.value" />
|
:value="item.label" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="IP地址">
|
<el-form-item label="IP地址">
|
||||||
<el-input v-model="formData.ipAddress" />
|
<el-input v-model="formData.ip" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<el-form-item label="子网掩码">
|
<el-form-item label="子网掩码">
|
||||||
<el-input v-model="formData.subnetMask" />
|
<el-input v-model="formData.mask" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="默认网关">
|
<el-form-item label="默认网关">
|
||||||
<el-input v-model="formData.gateway" />
|
<el-input v-model="formData.gateway" />
|
||||||
@ -127,9 +167,9 @@ onMounted(() => {
|
|||||||
</div>
|
</div>
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<el-form-item label="通讯协议">
|
<el-form-item label="通讯协议">
|
||||||
<el-select v-model="formData.tcpProtocol" placeholder="请选择">
|
<el-select v-model="formData.protocol" placeholder="请选择">
|
||||||
<el-option v-for="item in tcpProtocolOptions" :key="item.value" :label="item.label"
|
<el-option v-for="item in tcpProtocolOptions" :key="item.value" :label="item.label"
|
||||||
:value="item.value" />
|
:value="item.label" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item />
|
<el-form-item />
|
||||||
@ -142,13 +182,13 @@ onMounted(() => {
|
|||||||
</div>
|
</div>
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<el-form-item label="串口号">
|
<el-form-item label="串口号">
|
||||||
<el-select v-model="formData.comPort" placeholder="请选择">
|
<el-select v-model="formData2.port" placeholder="请选择" @change="handleChangePort">
|
||||||
<el-option v-for="item in comPortOptions" :key="item.value" :label="item.label"
|
<el-option v-for="item in comPortOptions" :key="item.label" :label="item.label"
|
||||||
:value="item.value" />
|
:value="item.label" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="波特率">
|
<el-form-item label="波特率">
|
||||||
<el-select v-model="formData.baudRate" placeholder="请选择">
|
<el-select v-model="formData2.baud" placeholder="请选择">
|
||||||
<el-option v-for="item in baudRateOptions" :key="item.value" :label="item.label"
|
<el-option v-for="item in baudRateOptions" :key="item.value" :label="item.label"
|
||||||
:value="item.value" />
|
:value="item.value" />
|
||||||
</el-select>
|
</el-select>
|
||||||
@ -156,13 +196,13 @@ onMounted(() => {
|
|||||||
</div>
|
</div>
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<el-form-item label="校验位">
|
<el-form-item label="校验位">
|
||||||
<el-select v-model="formData.parity" placeholder="请选择">
|
<el-select v-model="formData2.parity" placeholder="请选择">
|
||||||
<el-option v-for="item in parityOptions" :key="item.value" :label="item.label"
|
<el-option v-for="item in parityOptions" :key="item.value" :label="item.label"
|
||||||
:value="item.value" />
|
:value="item.value" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="数据位">
|
<el-form-item label="数据位">
|
||||||
<el-select v-model="formData.dataBits" placeholder="请选择">
|
<el-select v-model="formData2.data_bits" placeholder="请选择">
|
||||||
<el-option v-for="item in dataBitsOptions" :key="item.value" :label="item.label"
|
<el-option v-for="item in dataBitsOptions" :key="item.value" :label="item.label"
|
||||||
:value="item.value" />
|
:value="item.value" />
|
||||||
</el-select>
|
</el-select>
|
||||||
@ -170,13 +210,13 @@ onMounted(() => {
|
|||||||
</div>
|
</div>
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<el-form-item label="停止位">
|
<el-form-item label="停止位">
|
||||||
<el-select v-model="formData.stopBits" placeholder="请选择">
|
<el-select v-model="formData2.stop_bits" placeholder="请选择">
|
||||||
<el-option v-for="item in stopBitsOptions" :key="item.value" :label="item.label"
|
<el-option v-for="item in stopBitsOptions" :key="item.value" :label="item.label"
|
||||||
:value="item.value" />
|
:value="item.value" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="通讯协议">
|
<el-form-item label="通讯协议">
|
||||||
<el-select v-model="formData.rtuProtocol" placeholder="请选择">
|
<el-select v-model="formData2.protocol" placeholder="请选择">
|
||||||
<el-option v-for="item in rtuProtocolOptions" :key="item.value" :label="item.label"
|
<el-option v-for="item in rtuProtocolOptions" :key="item.value" :label="item.label"
|
||||||
:value="item.value" />
|
:value="item.value" />
|
||||||
</el-select>
|
</el-select>
|
||||||
@ -197,6 +237,7 @@ onMounted(() => {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
|
|
||||||
.form-wrapper {
|
.form-wrapper {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
padding: 20px 50px;
|
padding: 20px 50px;
|
||||||
@ -204,6 +245,7 @@ onMounted(() => {
|
|||||||
padding-bottom: 120px;
|
padding-bottom: 120px;
|
||||||
box-shadow: 0px 0px 10px rgba(219, 225, 236, 1);
|
box-shadow: 0px 0px 10px rgba(219, 225, 236, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
.section {
|
.section {
|
||||||
margin-bottom: 24px;
|
margin-bottom: 24px;
|
||||||
padding-bottom: 16px;
|
padding-bottom: 16px;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user