This commit is contained in:
luoshiwen 2023-02-24 15:12:08 +08:00
commit f39bff2153
9 changed files with 432 additions and 311 deletions

13
src/api/aboutMachine.js Normal file
View File

@ -0,0 +1,13 @@
import request from '@/utils/request.js';
import axios from 'axios';
export const getHostInfoApi = params => {
return axios.get('api/GetHostInfo', {
params
});
};
//保存主机名称
export const getSetHostName = params => {
return axios.get('api/SetHostName', {
params
});
};

13
src/api/iPSetting.js Normal file
View File

@ -0,0 +1,13 @@
import request from '@/utils/request.js';
import axios from 'axios';
export const getHostInfoApi = params => {
return axios.get('api/GetHostInfo', {
params
});
};
//保存主机名称
export const getSetHostName = params => {
return axios.get('api/SetHostName', {
params
});
};

View File

@ -1,9 +1,7 @@
import request from '@/utils/request.js';
export function loginApi(data) { // 登录接口
return request({
url: '/hxh/api-test/login',
method: 'post',
data: data
});
}
import axios from 'axios';
export const loginApi = params => {
return axios.get('api/GetZhanghLogin', {
params
});
};

View File

@ -6,7 +6,6 @@ if (process.env.NODE_ENV === 'development') {
}
//获取用户信息
export const getUserApi = params => {
return axios.get('api/GetZhanghDetails', {
params
});
return axios.get(`api/GetZhanghDetails?UserId=${params}`, {});
};
//修改密码

View File

@ -15,13 +15,14 @@ export default {
postSetQuanjsz: 'http://172.16.1.168:5000/api/SetQuanjsz',
saveRoleApi: 'http://172.16.1.168:5000/api/AddZhangh',
editRoleApi: 'http://172.16.1.168:5000/api/EditZhangh',
//保存主机名称
editRoleApi: 'http://172.16.1.168:5000/api/EditZhangh',
//新增图形接口
addFigure: 'http://172.16.1.168:5000/api/AddJianktx',
//编辑图形名称
editFigure: 'http://172.16.1.168:5000/api/EditTuxmc',
//编辑保存组件弹窗传参
editComponent: 'http://172.16.1.168:5000/api/SetMonqjkzjcs'
setHostName: 'http://172.16.1.168:5000/api/SetHostName'
// `http://${ipUurl}:5000/api/AddShipjk`
// dataUrl: `http://${ipUurl}:5000/api/AddShipjk`,

View File

@ -66,6 +66,7 @@ export default {
this.$router.push('/');
} else {
this.$message.error('请输入账号和密码');
console.log('error submit!!');
return false;
}
});

View File

@ -1,61 +1,55 @@
<template>
<div class="content-box">
<div class="container">
<p class="title">FTP设置</p>
<!-- <div class="test-div">
<i class="el-icon-edit"></i>
<i class="el-icon-share"></i>
<i class="el-icon-delete"></i>
</div> -->
<div class="content-box">
<div class="container">
<p class="title">FTP设置</p>
<el-form :model="form" label-position="left" label-width="110px" style="width:50%">
<el-form-item label="账号:">
<el-input placeholder="请输入账号名" v-model="form.ComponentPropsname" clearable></el-input>
</el-form-item>
<el-form-item label="密码:">
<el-input placeholder="请输入密码" v-model="form.password" show-password></el-input>
</el-form-item>
<el-form-item label="FTP">
<el-input placeholder="请输入账号名" v-model="form.FTP" clearable></el-input>
</el-form-item>
</el-form>
<el-form :model="form" label-position="left" label-width="110px" style="width:50%">
<el-form-item label="账号:">
<el-input placeholder="请输入账号名" v-model="form.ComponentPropsname" clearable></el-input>
</el-form-item>
<el-form-item label="密码:">
<el-input placeholder="请输入密码" v-model="form.password" show-password></el-input>
</el-form-item>
<el-form-item label="FTP">
<el-input placeholder="请输入账号名" v-model="form.FTP" clearable></el-input>
</el-form-item>
</el-form>
<el-button type="primary" @cilck="Submit">修改</el-button>
<el-button type="primary" @cilck="Submit">修改</el-button>
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
form: {
name: '',
password: '',
FTP: '',
}
data() {
return {
form: {
name: '',
password: '',
FTP: ''
}
};
},
methods: {
Submit() {
this.form;
}
}
},
methods:{
Submit() {
this.form;
}
}
}
};
</script>
<style scoped>
.title {
width: 95%;
font-size: 25px;
text-align: left;
border-bottom: 1px solid black;
margin-bottom: 20px;
}
.el-form-item{
margin-bottom: 15px;
width: 95%;
font-size: 25px;
text-align: left;
border-bottom: 1px solid black;
margin-bottom: 20px;
}
.el-form-item {
margin-bottom: 15px;
}
.test-div i {
font-size: 25px;
font-size: 25px;
}
</style>
</style>

View File

@ -1,264 +1,304 @@
<template>
<div class="content-box">
<div class="container">
<el-form ref="form" :model="sizeForm" label-width="140px" >
<p>主机</p>
<el-form-item label="名称:" :label-width="formLabelWidth">
<!-- <el-col :span="6"> -->
<el-input v-model="sizeForm.name" autocomplete="off" style="width:50%"></el-input>
<!-- </el-col> -->
</el-form-item>
<el-form-item label="时间:" :label-width="formLabelWidth">
<!-- <el-col :span="6"> -->
<el-date-picker type="date" placeholder="选择日期" v-model="sizeForm.date1" style="width: 50%;" autocomplete="off" ></el-date-picker>
<!-- </el-col> -->
<!-- <el-col :span="2"> -->
<el-button type="primary" style="margin-left:10px" size="small">自动校验</el-button>
<!-- </el-col> -->
</el-form-item>
<p>备份&恢复</p>
<el-form-item label="备份服务器设置:">
<el-col :span="12">
<el-button type="primary" size="small">备份</el-button>
</el-col>
</el-form-item>
<el-form-item label="还原服务器设置:">
<el-col :span="3">
<el-button type="primary" disabled size="small">备份</el-button>
</el-col>
<el-col :span="4">
<el-upload
class="upload-demo"
action="https://jsonplaceholder.typicode.com/posts/"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
multiple
:limit="3"
:on-exceed="handleExceed"
:file-list="fileList">
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</el-col>
</el-form-item>
<p>出厂默认值</p>
<el-form-item label="还原服务器设置:">
<el-col :span="12">
<el-button type="primary" @click="handleReset()" size="small">重置默认值</el-button>
</el-col>
</el-form-item>
<p>重新启动</p>
<el-form-item label="重新启动系统:">
<el-col :span="12">
<el-button type="primary" @click="handleagain()" size="small">重新启动</el-button>
</el-col>
</el-form-item>
<p>全局设置</p>
<el-form-item label="视频接入上限:">
<el-input-number v-model="videoNumber" :min="1" size="mini"
:max="8"></el-input-number>
<i class="el-icon-warning" style="color: #409EFF; margin: 0 3px 0 10px;"></i>范围1-8默认6
</el-form-item>
<div class="content-box">
<div class="container">
<el-form ref="form" :model="sizeForm" label-width="140px">
<p>主机</p>
<el-form-item label="名称:" :label-width="formLabelWidth">
<el-input v-model="sizeForm.name" autocomplete="off" style="width:50%"></el-input>
<el-button type="primary" style="margin-left:10px" @click="saveHostName" size="small">保存</el-button>
</el-form-item>
<el-form-item label="时间:" :label-width="formLabelWidth">
<el-date-picker
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择日期"
v-model="sizeForm.date1"
style="width: 50%;"
autocomplete="off"
></el-date-picker>
<el-form-item label="跳帧设置:">
<!-- <el-input-number v-model="FPS" @change="handleChange" size="mini"></el-input-number> -->
<el-select v-model="FPS" size="mini" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<i class="el-icon-warning" style="color: #409EFF; margin: 0 3px 0 10px;"></i>默认取值单路视频流 0 2-3 路视频流 14-6 路视频流 4
</el-form-item>
<el-button type="primary" size="small" @click="commit()">保存</el-button>
</el-form>
</div>
</div>
<el-button type="primary" style="margin-left:10px" size="small">自动校验</el-button>
</el-form-item>
<p>备份&恢复</p>
<el-form-item label="备份服务器设置:">
<el-col :span="12">
<el-button type="primary" size="small">备份</el-button>
</el-col>
</el-form-item>
<el-form-item label="还原服务器设置:">
<el-col :span="3">
<el-button type="primary" disabled size="small">备份</el-button>
</el-col>
<el-col :span="4">
<el-upload
class="upload-demo"
action="https://jsonplaceholder.typicode.com/posts/"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
multiple
:limit="3"
:on-exceed="handleExceed"
:file-list="fileList"
>
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</el-col>
</el-form-item>
<p>出厂默认值</p>
<el-form-item label="还原服务器设置:">
<el-col :span="12">
<el-button type="primary" @click="handleReset()" size="small">重置默认值</el-button>
</el-col>
</el-form-item>
<p>重新启动</p>
<el-form-item label="重新启动系统:">
<el-col :span="12">
<el-button type="primary" @click="handleagain()" size="small">重新启动</el-button>
</el-col>
</el-form-item>
<p>全局设置</p>
<el-form-item label="视频接入上限:">
<el-input-number v-model="videoNumber" :min="1" size="mini" :max="8"></el-input-number>
<i class="el-icon-warning" style="color: #409EFF; margin: 0 3px 0 10px;"></i>范围1-8默认6
</el-form-item>
<el-form-item label="跳帧设置:">
<el-select v-model="FPS" size="mini" placeholder="请选择">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option>
</el-select>
<i class="el-icon-warning" style="color: #409EFF; margin: 0 3px 0 10px;"></i>默认取值单路视频流 0 2-3 路视频流
14-6 路视频流 4
</el-form-item>
<el-button type="primary" size="small" @click="commit()">保存</el-button>
</el-form>
</div>
</div>
</template>
<script>
import {getQuanjszData} from "../../api/index";
import serverUrl from "../../config/apiurl.js"
import {setQuanjsz} from "@/api/index"
import axios from 'axios'
import { getHostInfoApi } from '../../api/aboutMachine';
import { getQuanjszData } from '../../api/index';
import serverUrl from '../../config/apiurl.js';
import { setQuanjsz } from '@/api/index';
import axios from 'axios';
export default {
data(){
return{
formLabelWidth: '120px',
sizeForm: {
name: '',
region: '',
date1: '',
date2: '',
delivery: false,
type: [],
resource: '',
desc: ''
},
fileList:[],
videoNumber: 6,
FPS: '0',
id:'',
options:[
{
value: '0',
label: '0'
},
{
value: '1',
label: '1'
},
{
value: '4',
label: '4'
},
],
}
},
mounted() {
this.getShipjkDatalist()
},
methods:{
handleagain(){
this.$confirm('此操作将重新启动系统, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
// this.$message({
// type: 'success',
// message: '!'
// });
}).catch(() => {
this.$message({
type: 'info',
message: '已取消'
});
});
data() {
return {
formLabelWidth: '120px',
sizeForm: {
name: '',
region: '',
date1: '',
date2: '',
delivery: false,
type: [],
resource: '',
desc: ''
},
fileList: [],
videoNumber: 6,
FPS: '0',
id: '',
options: [
{
value: '0',
label: '0'
},
{
value: '1',
label: '1'
},
{
value: '4',
label: '4'
}
]
};
},
handleReset(){
this.$confirm('此操作将重置默认值, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
// this.$message({
// type: 'success',
// message: '!'
// });
}).catch(() => {
this.$message({
type: 'info',
message: '已取消重置'
});
});
mounted() {
this.getShipjkDatalist();
this.getInfo();
},
handleRemove(file, fileList) {
console.log(file, fileList);
},
handlePreview(file) {
console.log(file);
},
handleExceed(files, fileList) {
this.$message.warning(`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
},
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${ file.name }`);
},
handleChangeVideoNumber(value){
console.log("videoNumber",value)
this.videoNumber=value
let formData = new FormData();
formData.append("F_NB_SHIPJRSX",value);
formData.append("F_NB_TIAOZSZ",this.FPS);
formData.append("F_VC_ID",this.id);
axios({
method: "post",
url: serverUrl.postSetQuanjsz,
data:formData
}).then((res) => {
console.log("res",res)
if(res.data.code==200){
this.$message({
message: res.data.msg,
type: 'success'
});
}else{
this.$message({
message: res.data.msg,
type: 'warning'
});
}
})
},
handleChange(value) {
console.log("FPS",value)
this.FPS=value
const formData = new URLSearchParams();
// let formData = new FormData();
formData.append("VideoAccessLimit",this.videoNumber);
formData.append("SkipFrame",value);
formData.append("GlobalSettingId",this.id);
formData(formData).then(res=>{
this.$message({
message: res.data.msg,
type: 'success'
});
})
},
//
getShipjkDatalist(){
getQuanjszData().then(res=>{
console.log("res11111",res)
if(res.data.code==200){
this.videoNumber=res.data.data.videoAccessLimit
this.FPS=res.data.data.skipFrame
this.id = res.data.data.globalSettingId
}
})
},
//
commit(){
const formData = new URLSearchParams();
// let formData = new FormData();
formData.append("VideoAccessLimit",this.videoNumber);
formData.append("SkipFrame",this.FPS);
formData.append("GlobalSettingId",this.id);
setQuanjsz(formData).then(res=>{
this.$message({
message: res.data.msg,
type: 'success'
methods: {
//
saveHostName(value) {
let formData = new FormData();
formData.append('HostName', this.sizeForm.name);
axios({
method: 'post',
url: serverUrl.setHostName,
data: formData
}).then(res => {
console.log('res', res);
if (res.data.code == 200) {
this.$message({
message: res.data.msg,
type: 'success'
});
} else {
this.$message({
message: res.data.msg,
type: 'warning'
});
}
});
})
}
}
}
},
//
getInfo() {
getHostInfoApi()
.then(res => {
this.sizeForm.name = res.data.data.hostname;
this.sizeForm.date1 = res.data.data.time;
console.log(res.data.data, 11111);
})
.catch(err => {
this.$message.error(res.data.msg);
});
},
handleagain() {
this.$confirm('此操作将重新启动系统, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
// this.$message({
// type: 'success',
// message: '!'
// });
})
.catch(() => {
this.$message({
type: 'info',
message: '已取消'
});
});
},
handleReset() {
this.$confirm('此操作将重置默认值, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
// this.$message({
// type: 'success',
// message: '!'
// });
})
.catch(() => {
this.$message({
type: 'info',
message: '已取消重置'
});
});
},
handleRemove(file, fileList) {
console.log(file, fileList);
},
handlePreview(file) {
console.log(file);
},
handleExceed(files, fileList) {
this.$message.warning(
`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`
);
},
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}`);
},
handleChangeVideoNumber(value) {
this.videoNumber = value;
let formData = new FormData();
formData.append('F_NB_SHIPJRSX', value);
formData.append('F_NB_TIAOZSZ', this.FPS);
formData.append('F_VC_ID', this.id);
axios({
method: 'post',
url: serverUrl.postSetQuanjsz,
data: formData
}).then(res => {
console.log('res', res);
if (res.data.code == 200) {
this.$message({
message: res.data.msg,
type: 'success'
});
} else {
this.$message({
message: res.data.msg,
type: 'warning'
});
}
});
},
handleChange(value) {
console.log('FPS', value);
this.FPS = value;
const formData = new URLSearchParams();
// let formData = new FormData();
formData.append('VideoAccessLimit', this.videoNumber);
formData.append('SkipFrame', value);
formData.append('GlobalSettingId', this.id);
formData(formData).then(res => {
this.$message({
message: res.data.msg,
type: 'success'
});
});
},
//
getShipjkDatalist() {
getQuanjszData().then(res => {
console.log('res11111', res);
if (res.data.code == 200) {
this.videoNumber = res.data.data.videoAccessLimit;
this.FPS = res.data.data.skipFrame;
this.id = res.data.data.globalSettingId;
}
});
},
//
commit() {
const formData = new URLSearchParams();
// let formData = new FormData();
formData.append('VideoAccessLimit', this.videoNumber);
formData.append('SkipFrame', this.FPS);
formData.append('GlobalSettingId', this.id);
setQuanjsz(formData).then(res => {
this.$message({
message: res.data.msg,
type: 'success'
});
});
}
}
};
</script>
<style>
.test-div i{
font-size: 25px;
.test-div i {
font-size: 25px;
}
</style>
<style lang="scss" scoped>
/deep/ .el-form-item__label{
text-align: left;
font-size: 15px;
}
/deep/ .el-form-item{
margin-bottom: 15px;
}
.container{
width: 100%;
height: 100%;
p{
width: 95%;
font-size: 25px;
/deep/ .el-form-item__label {
text-align: left;
border-bottom: 1px solid black;
margin-bottom: 20px;
}
font-size: 15px;
}
/deep/ .el-form-item {
margin-bottom: 15px;
}
.container {
width: 100%;
height: 100%;
p {
width: 95%;
font-size: 25px;
text-align: left;
border-bottom: 1px solid black;
margin-bottom: 20px;
}
}
</style>

View File

@ -4,7 +4,7 @@
<p class="title">我的账号</p>
<el-form label-position="left" label-width="60px" :model="formLabelAlign">
<el-form-item label="名称:">
{{ formLabelAlign.name }}
{{ formLabelAlign.userName }}
</el-form-item>
<el-form-item label="账号:">
{{ formLabelAlign.account }}
@ -13,26 +13,88 @@
{{ formLabelAlign.password }}
</el-form-item>
</el-form>
<el-button @click="editPassword" slot="prepend" size="small" type="primary">修改密码</el-button>
</div>
<el-dialog title="修改密码" :visible.sync="dialogVisible" width="30%" @close="dialogClosed">
<el-input v-model="password"></el-input>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="savePassword">确定</el-button>
<el-button @click="dialogVisible = false">取消</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { getUserApi } from '@/api/myld.js';
import serverUrl from '@/config/apiurl.js';
import axios from 'axios';
export default {
data() {
return {
password: '',
dialogVisible: false,
formLabelAlign: {
name: 'admin',
account: 'admin',
password: '123456'
userName: '',
account: '',
password: ''
}
};
},
methods: {
dialogClosed() {
this.password = '';
},
//
savePassword() {
let formData = new FormData();
formData.append('userName', this.formLabelAlign.userName);
formData.append('account', this.formLabelAlign.account);
formData.append('roleId', this.formLabelAlign.roleId);
formData.append('IsEnable', 1);
formData.append('passWord', this.password);
formData.append('userId', this.formLabelAlign.userId);
axios({
method: 'post',
url: serverUrl.editRoleApi,
data: formData
}).then(res => {
if (res.data.code == 200) {
this.$message({
message: res.data.msg,
type: 'success'
});
this.dialogVisible = false;
this.$router.push('/Login');
this.getUser();
} else {
this.$message({
message: res.data.msg,
type: 'warning'
});
}
});
},
editPassword() {
this.dialogVisible = true;
},
getUser() {
console.log(window.localStorage.getItem(''));
if (window.localStorage.getItem('user')) {
let form = JSON.parse(window.localStorage.getItem('user'));
getUserApi(form.userId)
.then(res => {
if (res.data.code == 200) {
this.formLabelAlign = res.data.data;
this.formLabelAlign.password = '******';
console.log(this.formLabelAlign);
} else {
this.$message.error(res.data.msg);
}
})
.catch(err => {
this.$message.error(err.data.msg);
});
}
}
},
mounted() {