pc端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

151 lines
4.1 KiB

4 years ago
<template>
<!-- 设置站点选择 设备下发状态 -->
<DeviceSelectAndSelect @search="onSearch" :status="data.status" />
<el-form label-position="top" :model="data" ref="networkForm">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="上报IP1地址" prop="ip1">
<el-input v-model="data.ip1"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="上报端口号1" prop="port1">
<el-input v-model="data.port1"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="上报IP2地址" prop="ip2">
<el-input v-model="data.ip2"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="上报端口号2" prop="port2">
<el-input v-model="data.port2"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="上报IP3地址" prop="ip3">
<el-input v-model="data.ip3"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="上报端口号3" prop="port3">
<el-input v-model="data.port3"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="备用ip地址" prop="ipBackup">
<el-input v-model="data.ipBackup"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备用端口号" prop="portBackup">
<el-input v-model="data.portBackup"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="用户名" prop="account">
<el-input v-model="data.account"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="密码" prop="password">
<el-input v-model="data.password"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="APN" prop="apn">
<el-input v-model="data.apn"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" class="mt-5 pl-2">
<el-form-item>
<el-button type="primary" @click="onSubmit">提交</el-button>
<el-button @click="onReset">重置</el-button>
</el-form-item>
</el-row>
</el-form>
<!-- 刷新下发按钮 -->
<Refresh @refresh="onSearch(currentDeviceId, 1)" />
4 years ago
</template>
<script setup>
import { computed, ref } from 'vue';
import { useStore } from 'vuex';
4 years ago
import { ElMessage } from 'element-plus';
import { getConfigNetwork, createConfigNetwork } from 'apis/index';
import DeviceSelectAndSelect from 'components/device-select-and-status.vue';
import Refresh from 'components/refresh.vue';
4 years ago
const data = ref({
ip1: '',
port1: '',
ip2: '',
port2: '',
ip3: '',
port3: '',
ipBackup: '',
portBackup: '',
account: '',
password: '',
apn: '',
status: {
get: 0,
set: 0,
},
});
const networkForm = ref(null); // form
const store = useStore();
const currentDeviceId = computed(() => store.state.device.currentDeviceId);
// 提交表单
const onSubmit = () => {
networkForm.value.validate(async () => {
const param = { ...data.value, deviceId: currentDeviceId.value };
4 years ago
try {
await createConfigNetwork(param);
ElMessage.success('提交成功');
} catch (error) {
console.error('error: ', error);
4 years ago
ElMessage.error('提交失败, 请稍后重试');
}
});
};
// 重置表单
const onReset = () => {
networkForm.value.resetFields();
};
4 years ago
/**
* 查询网络参数配置
* @param {string} deviceId 设备id
* @param {number} type 0数据库查询 1刷新查询
*/
const onSearch = async (deviceId, type = 0) => {
const params = { deviceId, type };
store.commit('device/setCurrentDeviceId', deviceId);
const resData = await getConfigNetwork(params);
data.value = resData;
};
</script>