From f1d079f9c0b3d384090477ca54e0548373d62b57 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Thu, 16 Jan 2025 11:56:39 +0800
Subject: [PATCH] 配置修改
---
web_src/src/components/dialog/deviceEdit.vue | 154 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 154 insertions(+), 0 deletions(-)
diff --git a/web_src/src/components/dialog/deviceEdit.vue b/web_src/src/components/dialog/deviceEdit.vue
new file mode 100644
index 0000000..3747ca4
--- /dev/null
+++ b/web_src/src/components/dialog/deviceEdit.vue
@@ -0,0 +1,154 @@
+<template>
+ <div id="deviceEdit" v-loading="isLoging">
+ <el-dialog
+ title="设备编辑"
+ width="40%"
+ top="2rem"
+ :close-on-click-modal="false"
+ :visible.sync="showDialog"
+ :destroy-on-close="true"
+ @close="close()"
+ >
+ <div id="shared" style="margin-top: 1rem;margin-right: 100px;">
+ <el-form ref="form" :rules="rules" :model="form" label-width="200px" >
+ <el-form-item label="设备编号" prop="deviceId">
+ <el-input v-if="isEdit" v-model="form.deviceId" disabled></el-input>
+ <el-input v-if="!isEdit" v-model="form.deviceId" clearable></el-input>
+ </el-form-item>
+
+ <el-form-item label="设备名称" prop="name">
+ <el-input v-model="form.name" clearable></el-input>
+ </el-form-item>
+ <el-form-item label="密码" prop="password">
+ <el-input type="password" v-model="form.password" clearable></el-input>
+ </el-form-item>
+ <el-form-item label="流媒体ID" prop="mediaServerId">
+ <el-select v-model="form.mediaServerId" style="float: left; width: 100%" >
+ <el-option key="auto" label="自动负载最小" value="auto"></el-option>
+ <el-option
+ v-for="item in mediaServerList"
+ :key="item.id"
+ :label="item.id"
+ :value="item.id">
+ </el-option>
+ </el-select>
+ </el-form-item>
+
+ <el-form-item label="字符集" prop="charset" >
+ <el-select v-model="form.charset" style="float: left; width: 100%" >
+ <el-option key="GB2312" label="GB2312" value="gb2312"></el-option>
+ <el-option key="UTF-8" label="UTF-8" value="utf-8"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="地理坐标系" prop="geoCoordSys" >
+ <el-select v-model="form.geoCoordSys" style="float: left; width: 100%" >
+ <el-option key="WGS84" label="WGS84" value="WGS84"></el-option>
+ <el-option key="GCJ02" label="GCJ02" value="GCJ02"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="目录结构" prop="treeType" >
+ <el-select v-model="form.treeType" style="float: left; width: 100%" >
+ <el-option key="WGS84" label="行政区划" value="CivilCode"></el-option>
+ <el-option key="GCJ02" label="业务分组" value="BusinessGroup"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item v-if="this.isEdit" label="目录订阅" title="0为取消订阅" prop="subscribeCycleForCatalog" >
+ <el-input v-model="form.subscribeCycleForCatalog" clearable ></el-input>
+ </el-form-item>
+ <el-form-item v-if="this.isEdit" label="移动位置订阅" title="0为取消订阅" prop="subscribeCycleForCatalog" >
+ <el-input v-model="form.subscribeCycleForMobilePosition" clearable ></el-input>
+ </el-form-item>
+ <el-form-item v-if="form.subscribeCycleForMobilePosition > 0" label="移动位置报送间隔" prop="subscribeCycleForCatalog" >
+ <el-input v-model="form.mobilePositionSubmissionInterval" clearable ></el-input>
+ </el-form-item>
+ <el-form-item label="其他选项">
+ <el-checkbox label="SSRC校验" v-model="form.ssrcCheck" style="float: left"></el-checkbox>
+ </el-form-item>
+ <el-form-item>
+ <div style="float: right;">
+ <el-button type="primary" @click="onSubmit" >确认</el-button>
+ <el-button @click="close">取消</el-button>
+ </div>
+
+ </el-form-item>
+ </el-form>
+ </div>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import MediaServer from '../service/MediaServer'
+export default {
+ name: "deviceEdit",
+ props: {},
+ computed: {},
+ created() {},
+ data() {
+ return {
+ listChangeCallback: null,
+ showDialog: false,
+ isLoging: false,
+ hostNames:[],
+ mediaServerList: [], // 滅体节点列表
+ mediaServerObj : new MediaServer(),
+ form: {},
+ isEdit: false,
+ rules: {
+ deviceId: [{ required: true, message: "请输入设备编号", trigger: "blur" }]
+ },
+ };
+ },
+ methods: {
+ openDialog: function (row, callback) {
+ console.log(row)
+ this.showDialog = true;
+ this.isEdit = false;
+ if (row) {
+ this.isEdit = true;
+ }
+ this.form = {};
+ this.listChangeCallback = callback;
+ if (row != null) {
+ this.form = row;
+ }
+ this.getMediaServerList();
+ },
+ getMediaServerList: function (){
+ let that = this;
+ that.mediaServerObj.getOnlineMediaServerList((data)=>{
+ that.mediaServerList = data.data;
+ })
+ },
+ onSubmit: function () {
+ console.log("onSubmit");
+ console.log(this.form);
+ this.form.subscribeCycleForCatalog = this.form.subscribeCycleForCatalog||0
+ this.form.subscribeCycleForMobilePosition = this.form.subscribeCycleForMobilePosition||0
+ this.form.mobilePositionSubmissionInterval = this.form.mobilePositionSubmissionInterval||0
+ this.$axios({
+ method: 'post',
+ url:`/api/device/query/device/${this.isEdit?'update':'add'}/`,
+ params: this.form
+ }).then((res) => {
+ console.log(res.data)
+ if (res.data.code === 0) {
+ this.listChangeCallback()
+ }else {
+ this.$message({
+ showClose: true,
+ message: res.data.msg,
+ type: "error",
+ });
+ }
+ }).catch(function (error) {
+ console.log(error);
+ });
+ },
+ close: function () {
+ this.showDialog = false;
+ this.$refs.form.resetFields();
+ },
+ },
+};
+</script>
--
Gitblit v1.9.3