add plc monitor and data transfer page
This commit is contained in:
parent
8aa4919ea8
commit
5a2796d185
|
@ -0,0 +1,26 @@
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
export function getList(data) {
|
||||||
|
return request({
|
||||||
|
url: '/alarmRule/selectAll',
|
||||||
|
method: 'get',
|
||||||
|
params: data || {}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function executeSql(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dataForward/executeSql',
|
||||||
|
method: 'get',
|
||||||
|
params: data || {}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function addRecord(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dataForward/addRecord',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 130 KiB |
|
@ -48,7 +48,7 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
showBreadcrumb() {
|
showBreadcrumb() {
|
||||||
const whiteList = ['overview', 'terminal/add', 'terminal/plc', 'data/value', 'configuration/development', 'dashboard', 'log/accessLog']
|
const whiteList = ['overview', 'terminal/add', 'terminal/plc', 'data/value', 'configuration/development', 'dashboard', 'log/accessLog', 'log/systemLog', 'rule/manage', 'rule/dataTransfer']
|
||||||
return whiteList.every((item) => this.$route.path.indexOf(item) === -1)
|
return whiteList.every((item) => this.$route.path.indexOf(item) === -1)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -116,22 +116,26 @@ export const constantRoutes = [
|
||||||
meta: { title: '概览', icon: 'overview' }
|
meta: { title: '概览', icon: 'overview' }
|
||||||
}]
|
}]
|
||||||
},
|
},
|
||||||
|
{ path: '*', redirect: '/404', hidden: true }
|
||||||
|
]
|
||||||
|
|
||||||
|
export const asyncRouter = [
|
||||||
{
|
{
|
||||||
path: '/dashboard',
|
path: '/dashboard',
|
||||||
component: Layout,
|
component: Layout,
|
||||||
meta: {},
|
meta: { permission: ['dashengda', 'hangxiao', 'qianjiangdianqi'] },
|
||||||
children: [{
|
children: [{
|
||||||
path: '',
|
path: '',
|
||||||
name: 'Dashboard',
|
name: 'Dashboard',
|
||||||
component: () => import('@/views/dashboard/index'),
|
component: () => import('@/views/dashboard/index'),
|
||||||
meta: { title: '设备看板', icon: 'dashboard' }
|
meta: { title: '设备看板', icon: 'dashboard', permission: ['dashengda', 'hangxiao', 'qianjiangdianqi'] }
|
||||||
}]
|
}]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/terminal',
|
path: '/terminal',
|
||||||
component: Layout,
|
component: Layout,
|
||||||
name: 'Terminal',
|
name: 'Terminal',
|
||||||
meta: { title: '设备管理', icon: 'terminal' },
|
meta: { title: '设备管理', icon: 'terminal', permission: ['dashengda', 'hangxiao', 'qianjiangdianqi', 'jiangxishida'] },
|
||||||
children: [
|
children: [
|
||||||
// {
|
// {
|
||||||
// path: 'product',
|
// path: 'product',
|
||||||
|
@ -143,37 +147,43 @@ export const constantRoutes = [
|
||||||
path: 'add',
|
path: 'add',
|
||||||
name: 'Add',
|
name: 'Add',
|
||||||
component: () => import('@/views/terminal/add/index'),
|
component: () => import('@/views/terminal/add/index'),
|
||||||
meta: { title: '设备新增' }
|
meta: { title: '设备新增', permission: ['dashengda', 'hangxiao', 'qianjiangdianqi'] }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'center',
|
path: 'center',
|
||||||
name: 'Center',
|
name: 'Center',
|
||||||
component: () => import('@/views/terminal/center/index'),
|
component: () => import('@/views/terminal/center/index'),
|
||||||
meta: { title: '设备参数' }
|
meta: { title: '设备参数', permission: ['dashengda', 'hangxiao', 'qianjiangdianqi'] }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'monitor',
|
path: 'monitor',
|
||||||
name: 'Monitor',
|
name: 'Monitor',
|
||||||
component: () => import('@/views/terminal/monitor/index'),
|
component: () => import('@/views/terminal/monitor/index'),
|
||||||
meta: { title: '设备监控' }
|
meta: { title: '设备监控', permission: ['dashengda', 'hangxiao', 'qianjiangdianqi'] }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'alarm',
|
path: 'alarm',
|
||||||
name: 'Alarm',
|
name: 'Alarm',
|
||||||
component: () => import('@/views/terminal/alarm/index'),
|
component: () => import('@/views/terminal/alarm/index'),
|
||||||
meta: { title: '设备告警' }
|
meta: { title: '设备告警', permission: ['dashengda', 'hangxiao', 'qianjiangdianqi'] }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'plc',
|
path: 'plc',
|
||||||
name: 'PLC',
|
name: 'PLC',
|
||||||
component: () => import('@/views/terminal/PLC/index'),
|
component: () => import('@/views/terminal/PLC/index'),
|
||||||
meta: { title: 'PLC管理' }
|
meta: { title: 'PLC管理', permission: ['dashengda', 'hangxiao', 'qianjiangdianqi'] }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'plcMonitor',
|
||||||
|
name: 'PLCMonitor',
|
||||||
|
component: () => import('@/views/terminal/PLC/monitor'),
|
||||||
|
meta: { title: 'PLC实时监控', permission: ['jiangxishida'] }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'ota',
|
path: 'ota',
|
||||||
name: 'OTA',
|
name: 'OTA',
|
||||||
component: () => import('@/views/terminal/OTA/index'),
|
component: () => import('@/views/terminal/OTA/index'),
|
||||||
meta: { title: 'OTA升级', disabled: true }
|
meta: { title: 'OTA升级', disabled: true, permission: ['dashengda', 'hangxiao', 'qianjiangdianqi'] }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -181,7 +191,7 @@ export const constantRoutes = [
|
||||||
path: '/rule',
|
path: '/rule',
|
||||||
component: Layout,
|
component: Layout,
|
||||||
name: 'Rule',
|
name: 'Rule',
|
||||||
meta: { title: '规则引擎', icon: 'rule' },
|
meta: { title: '规则引擎', icon: 'rule', permission: ['dashengda', 'hangxiao', 'qianjiangdianqi'] },
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: 'manage',
|
path: 'manage',
|
||||||
|
@ -190,10 +200,10 @@ export const constantRoutes = [
|
||||||
meta: { title: '规则管理' }
|
meta: { title: '规则管理' }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'message',
|
path: 'dataTransfer',
|
||||||
name: 'Message',
|
name: 'DataTransfer',
|
||||||
// component: () => import('@/views/terminal/add/index'),
|
component: () => import('@/views/rule/dataTransfer/index'),
|
||||||
meta: { title: '数据转发', disabled: true }
|
meta: { title: '数据转发' }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -233,13 +243,13 @@ export const constantRoutes = [
|
||||||
path: '/configureApp',
|
path: '/configureApp',
|
||||||
component: Layout,
|
component: Layout,
|
||||||
name: 'configureApp',
|
name: 'configureApp',
|
||||||
meta: { title: '组态应用', icon: 'configuration', disabled: true }
|
meta: { title: '组态应用', icon: 'configuration', disabled: true, permission: ['dashengda', 'hangxiao', 'qianjiangdianqi'] }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/log',
|
path: '/log',
|
||||||
component: Layout,
|
component: Layout,
|
||||||
name: 'Log',
|
name: 'Log',
|
||||||
meta: { title: '日志管理', icon: 'log' },
|
meta: { title: '日志管理', icon: 'log', permission: ['dashengda', 'hangxiao', 'qianjiangdianqi'] },
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: 'accessLog',
|
path: 'accessLog',
|
||||||
|
@ -255,14 +265,11 @@ export const constantRoutes = [
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{ path: '*', redirect: '/404', hidden: true }
|
{
|
||||||
]
|
|
||||||
|
|
||||||
export const asyncRouter = [{
|
|
||||||
path: '/data',
|
path: '/data',
|
||||||
component: Layout,
|
component: Layout,
|
||||||
name: 'Data',
|
name: 'Data',
|
||||||
meta: { title: '数据管理', icon: 'data', permission: ['dashengda'] },
|
meta: { title: '数据管理', icon: 'data', permission: ['dashengda', 'qianjiangdianqi'] },
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: 'realTime',
|
path: 'realTime',
|
||||||
|
@ -276,6 +283,12 @@ export const asyncRouter = [{
|
||||||
component: () => import('@/views/data/history/index'),
|
component: () => import('@/views/data/history/index'),
|
||||||
meta: { title: '历史数据', permission: ['dashengda'] }
|
meta: { title: '历史数据', permission: ['dashengda'] }
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: 'qjdq/history',
|
||||||
|
name: 'QJDQHistory',
|
||||||
|
component: () => import('@/views/data/history/qianjiang'),
|
||||||
|
meta: { title: '历史数据', permission: ['qianjiangdianqi'] }
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: 'value',
|
path: 'value',
|
||||||
name: 'Value',
|
name: 'Value',
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* @Author: 龚祖望 573413756@qq.com
|
* @Author: 龚祖望 573413756@qq.com
|
||||||
* @Date: 2022-05-16 09:16:41
|
* @Date: 2022-05-16 09:16:41
|
||||||
* @LastEditors: 龚祖望 573413756@qq.com
|
* @LastEditors: 龚祖望 573413756@qq.com
|
||||||
* @LastEditTime: 2022-09-01 20:13:59
|
* @LastEditTime: 2022-11-10 15:09:14
|
||||||
* @FilePath: \dashengda\src\utils\request.js
|
* @FilePath: \dashengda\src\utils\request.js
|
||||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
*/
|
*/
|
||||||
|
@ -16,7 +16,7 @@ import { method } from 'lodash'
|
||||||
const service = axios.create({
|
const service = axios.create({
|
||||||
baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url
|
baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url
|
||||||
// withCredentials: true, // send cookies when cross-domain requests
|
// withCredentials: true, // send cookies when cross-domain requests
|
||||||
timeout: 5000, // request timeout,
|
timeout: 10000, // request timeout,
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json;charset=UTF-8'
|
'Content-Type': 'application/json;charset=UTF-8'
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -114,8 +114,8 @@ export default {
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
loginForm: {
|
loginForm: {
|
||||||
username: 'aiitxios',
|
username: 'jxsd',
|
||||||
password: 'xiosaiit',
|
password: 'jxsd',
|
||||||
verifycode: ''
|
verifycode: ''
|
||||||
},
|
},
|
||||||
loginRules: {
|
loginRules: {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* @Author: 龚祖望 573413756@qq.com
|
* @Author: 龚祖望 573413756@qq.com
|
||||||
* @Date: 2022-05-16 09:16:41
|
* @Date: 2022-05-16 09:16:41
|
||||||
* @LastEditors: 龚祖望 573413756@qq.com
|
* @LastEditors: 龚祖望 573413756@qq.com
|
||||||
* @LastEditTime: 2022-10-09 15:42:31
|
* @LastEditTime: 2022-11-11 11:07:15
|
||||||
* @FilePath: \dashengda\src\views\dashboard\index.vue
|
* @FilePath: \dashengda\src\views\dashboard\index.vue
|
||||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
-->
|
-->
|
||||||
|
@ -56,6 +56,10 @@ export default {
|
||||||
this.slide1 = require('@/assets/images/hangxiao-slide1.png')
|
this.slide1 = require('@/assets/images/hangxiao-slide1.png')
|
||||||
this.slide2 = require('@/assets/images/hangxiao-slide2.png')
|
this.slide2 = require('@/assets/images/hangxiao-slide2.png')
|
||||||
break
|
break
|
||||||
|
case '江西师大':
|
||||||
|
this.slide1 = require('@/assets/images/hangxiao-slide1.png')
|
||||||
|
this.slide2 = require('@/assets/images/hangxiao-slide2.png')
|
||||||
|
break
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|
|
@ -0,0 +1,457 @@
|
||||||
|
<template>
|
||||||
|
<div class="app-container" style="min-height: calc(100vh - 50px)">
|
||||||
|
<el-row
|
||||||
|
type="flex"
|
||||||
|
justify="space-between"
|
||||||
|
style="align-items: baseline; margin-bottom: 30px"
|
||||||
|
>
|
||||||
|
<div class="header">
|
||||||
|
<h1 class="title">数据转发</h1>
|
||||||
|
<span class="date">{{ date }}</span>
|
||||||
|
</div>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
style="height: fit-content"
|
||||||
|
@click="add"
|
||||||
|
>新增数据转发</el-button>
|
||||||
|
</el-row>
|
||||||
|
<div v-for="(item, index) in list" :key="index" class="content-box">
|
||||||
|
<div class="header">
|
||||||
|
<span>
|
||||||
|
<svg-icon icon-class="alarm" class="alarm_icon" />
|
||||||
|
{{ '转发主题 xxxx' }}
|
||||||
|
</span>
|
||||||
|
<div class="line" />
|
||||||
|
</div>
|
||||||
|
<div class="body">
|
||||||
|
<p class="body-content">
|
||||||
|
<span
|
||||||
|
class="content-item"
|
||||||
|
><svg-icon icon-class="rule_name" class="content-icon" /><span
|
||||||
|
class="font"
|
||||||
|
>转发内容</span></span>
|
||||||
|
<span class="content-item">xxxxx</span>
|
||||||
|
</p>
|
||||||
|
<p class="body-content">
|
||||||
|
<span
|
||||||
|
class="content-item"
|
||||||
|
><svg-icon
|
||||||
|
icon-class="rule_terminal_no"
|
||||||
|
class="content-icon"
|
||||||
|
/><span class="font">转发方式</span></span>
|
||||||
|
<span class="content-item">邮件</span>
|
||||||
|
</p>
|
||||||
|
<p class="body-content">
|
||||||
|
<span
|
||||||
|
class="content-item"
|
||||||
|
><svg-icon icon-class="rule_msg_type" class="content-icon" /><span
|
||||||
|
class="font"
|
||||||
|
>转发地址</span></span>
|
||||||
|
<span class="content-item">xxxx</span>
|
||||||
|
</p>
|
||||||
|
<p class="body-content">
|
||||||
|
<span
|
||||||
|
class="content-item"
|
||||||
|
><svg-icon icon-class="rule_status" class="content-icon" /><span
|
||||||
|
class="font"
|
||||||
|
>转发时间</span></span>
|
||||||
|
<span class="content-item">xxxx</span>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="footer">
|
||||||
|
<el-button class="footer_btn" @click="view(index)">详情查询</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 详情弹窗 -->
|
||||||
|
<div v-show="visible" class="dialog_wrapper">
|
||||||
|
<div class="dialog-container">
|
||||||
|
<div class="dialog_header">
|
||||||
|
<p class="ip">{{ getTitle(type) }}</p>
|
||||||
|
<div class="remove_icon" @click="close">X</div>
|
||||||
|
</div>
|
||||||
|
<div class="dialog_content">
|
||||||
|
<el-form
|
||||||
|
ref="form"
|
||||||
|
class="form"
|
||||||
|
label-position="right"
|
||||||
|
label-width="150px"
|
||||||
|
>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="10">
|
||||||
|
<el-form-item label="转发主题:">
|
||||||
|
<el-input v-if="type === 0" v-model="form.topic" />
|
||||||
|
<span v-else>{{ form.topic }}</span>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="10" :offset="2">
|
||||||
|
<el-form-item label="转发内容:">
|
||||||
|
<el-input v-if="type === 0" v-model="form.content" />
|
||||||
|
<span v-else>{{ form.content }}</span>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<div class="sql-container">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="20">
|
||||||
|
<el-form-item label="SQL:">
|
||||||
|
<el-input
|
||||||
|
v-if="type === 0"
|
||||||
|
v-model="form.sql"
|
||||||
|
type="textarea"
|
||||||
|
:rows="3"
|
||||||
|
/>
|
||||||
|
<span v-else>{{ form.sql }}</span>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="3" :offset="1">
|
||||||
|
<el-button @click="runSql">在线运行</el-button>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="20">
|
||||||
|
<el-form-item label="输出结果:">
|
||||||
|
<!-- <el-input v-model="form.result" type="textarea" readonly :rows="6" /> -->
|
||||||
|
<ul>
|
||||||
|
<li v-for="(item, index) in form.datalist" :key="index">
|
||||||
|
{{ item }}
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
<el-row style="margin-top: 20px">
|
||||||
|
<el-col :span="10">
|
||||||
|
<el-form-item label="消息推送地址:">
|
||||||
|
<el-input v-if="type === 0" v-model="form.address">
|
||||||
|
<template slot="prepend"> 邮件 </template>
|
||||||
|
</el-input>
|
||||||
|
<span v-else>{{ form.address }}</span>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
<div v-if="type === 0" class="footer">
|
||||||
|
<el-button
|
||||||
|
size="medium"
|
||||||
|
class="cancel_btn"
|
||||||
|
@click="close"
|
||||||
|
>取消</el-button>
|
||||||
|
<el-button
|
||||||
|
size="medium"
|
||||||
|
style="border-radius: 4px"
|
||||||
|
type="primary"
|
||||||
|
@click="transfer"
|
||||||
|
>发送</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { mapGetters } from 'vuex'
|
||||||
|
import { getList, executeSql, addRecord } from '@/api/rule/dataTransfer'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
date: '',
|
||||||
|
list: [{}],
|
||||||
|
form: {
|
||||||
|
topic: '',
|
||||||
|
content: '',
|
||||||
|
type: 'email',
|
||||||
|
datalist: [],
|
||||||
|
sql: '',
|
||||||
|
result: ''
|
||||||
|
},
|
||||||
|
initform: {
|
||||||
|
topic: '',
|
||||||
|
content: '',
|
||||||
|
type: 'email',
|
||||||
|
datalist: [],
|
||||||
|
sql: '',
|
||||||
|
result: ''
|
||||||
|
},
|
||||||
|
visible: false,
|
||||||
|
type: 0 // 0-新增,1-查看
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
...mapGetters(['org'])
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.date = new Date().toLocaleDateString()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getList() {},
|
||||||
|
getTitle(type) {
|
||||||
|
switch (type) {
|
||||||
|
case 0:
|
||||||
|
return '数据转发新增'
|
||||||
|
case 1:
|
||||||
|
return '数据转发查看'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
runSql() {
|
||||||
|
executeSql({ sql: this.form.sql })
|
||||||
|
.then((res) => {
|
||||||
|
console.log('res', res)
|
||||||
|
if (res.data && res.data.length) {
|
||||||
|
this.form.datalist = res.data
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {})
|
||||||
|
},
|
||||||
|
add() {
|
||||||
|
this.visible = true
|
||||||
|
},
|
||||||
|
view(index) {
|
||||||
|
this.type = 1
|
||||||
|
this.form = this.list[index]
|
||||||
|
this.visible = true
|
||||||
|
},
|
||||||
|
close() {
|
||||||
|
this.form = { ...this.initform }
|
||||||
|
this.visible = false
|
||||||
|
},
|
||||||
|
transfer() {
|
||||||
|
const data = { ...this.form, org: this.org }
|
||||||
|
addRecord(data).then(res => {
|
||||||
|
if (res.code === '200000') {
|
||||||
|
this.$message.success('发送成功')
|
||||||
|
this.getList()
|
||||||
|
this.visible = false
|
||||||
|
}
|
||||||
|
}).catch(() => {})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.header {
|
||||||
|
font-family: Lato;
|
||||||
|
.title {
|
||||||
|
color: #174a84;
|
||||||
|
}
|
||||||
|
.date {
|
||||||
|
color: #a5c9ff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.content-box {
|
||||||
|
float: left;
|
||||||
|
margin-right: 30px;
|
||||||
|
margin-bottom: 40px;
|
||||||
|
width: 380px;
|
||||||
|
height: 350px;
|
||||||
|
border: 3px solid #ffb300;
|
||||||
|
color: #ffb300;
|
||||||
|
background: #fbf9f7;
|
||||||
|
box-shadow: 5px 12px 9px rgba(0, 0, 0, 0.16);
|
||||||
|
font-family: Microsoft YaHei;
|
||||||
|
padding: 10px 0;
|
||||||
|
.header {
|
||||||
|
text-align: center;
|
||||||
|
span {
|
||||||
|
.alarm_icon {
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
vertical-align: middle;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
font-size: 24px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.line {
|
||||||
|
margin-top: 15px;
|
||||||
|
margin-left: 5%;
|
||||||
|
width: 90%;
|
||||||
|
height: 2px;
|
||||||
|
background-image: linear-gradient(
|
||||||
|
to right,
|
||||||
|
#ffb300 0%,
|
||||||
|
#ffb300 50%,
|
||||||
|
transparent 50%
|
||||||
|
);
|
||||||
|
background-size: 18px 100%;
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.body {
|
||||||
|
.body-content {
|
||||||
|
line-height: 2;
|
||||||
|
.content-item {
|
||||||
|
display: inline-block;
|
||||||
|
width: 50%;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.font {
|
||||||
|
font-size: 17px;
|
||||||
|
color: #5f6874;
|
||||||
|
}
|
||||||
|
.content-icon {
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.footer {
|
||||||
|
text-align: center;
|
||||||
|
.footer_btn {
|
||||||
|
width: 150px;
|
||||||
|
height: 47px;
|
||||||
|
border-radius: 16px;
|
||||||
|
background: rgba(255, 179, 0, 0.8);
|
||||||
|
color: #fff;
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: bold;
|
||||||
|
text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.dialog_wrapper {
|
||||||
|
z-index: 2;
|
||||||
|
position: fixed;
|
||||||
|
left: 230px;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
margin: 0;
|
||||||
|
&::before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
left: -230px;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
background-color: rgba(0, 0, 0, 0.4);
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
|
.dialog-container {
|
||||||
|
z-index: 10;
|
||||||
|
width: 1100px;
|
||||||
|
transform: none;
|
||||||
|
margin: 15vh auto;
|
||||||
|
position: relative;
|
||||||
|
border-radius: 8px;
|
||||||
|
font-family: PingFangSC-Regular;
|
||||||
|
box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
|
||||||
|
.dialog_header {
|
||||||
|
background-color: #ffb300;
|
||||||
|
text-align: center;
|
||||||
|
color: #fff;
|
||||||
|
padding: 5px;
|
||||||
|
position: relative;
|
||||||
|
p {
|
||||||
|
font-size: 24px;
|
||||||
|
font-weight: bold;
|
||||||
|
margin: 5px auto;
|
||||||
|
}
|
||||||
|
.remove_icon {
|
||||||
|
position: absolute;
|
||||||
|
font-size: 18px;
|
||||||
|
right: 15px;
|
||||||
|
top: 10px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.dialog_content {
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 0 0 8px 8px;
|
||||||
|
padding: 30px 50px;
|
||||||
|
.sql-container {
|
||||||
|
background-color: rgba(255, 179, 0, 0.06);
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 26px 0;
|
||||||
|
}
|
||||||
|
.rule {
|
||||||
|
background-color: #f0ffee;
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 25px;
|
||||||
|
.header {
|
||||||
|
padding-bottom: 15px;
|
||||||
|
border-bottom: 1px solid #20be0b;
|
||||||
|
div {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.title {
|
||||||
|
font-size: 20px;
|
||||||
|
margin-left: 5px;
|
||||||
|
color: #20be0b;
|
||||||
|
}
|
||||||
|
.remove_icon {
|
||||||
|
font-size: 20px;
|
||||||
|
float: right;
|
||||||
|
margin-right: 10px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.body {
|
||||||
|
margin-top: 25px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.add {
|
||||||
|
margin-top: 30px;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
height: 53px;
|
||||||
|
line-height: 53px;
|
||||||
|
background: url('~@/assets/images/bg_green.png') no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 20px;
|
||||||
|
font-family: Montserrat;
|
||||||
|
font-weight: 600;
|
||||||
|
cursor: pointer;
|
||||||
|
img {
|
||||||
|
margin-right: 5px;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.footer {
|
||||||
|
text-align: center;
|
||||||
|
.el-button {
|
||||||
|
width: 80px;
|
||||||
|
}
|
||||||
|
.cancel_btn {
|
||||||
|
color: #1890ff;
|
||||||
|
border-color: #1890ff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
::v-deep .el-form-item {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
.el-select {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
::v-deep .el-form-item__label {
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: normal;
|
||||||
|
font-family: PingFangSC-Regular;
|
||||||
|
color: rgba(0, 0, 0, 0.85);
|
||||||
|
}
|
||||||
|
::v-deep .el-button--primary {
|
||||||
|
background-color: #789af3;
|
||||||
|
border-color: #789af3;
|
||||||
|
border-radius: 20px;
|
||||||
|
}
|
||||||
|
.el-form-item {
|
||||||
|
span {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ul {
|
||||||
|
max-height: 250px;
|
||||||
|
padding-left: 0;
|
||||||
|
margin-top: 0;
|
||||||
|
li {
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -650,6 +650,7 @@ export default {
|
||||||
::v-deep .el-button--primary {
|
::v-deep .el-button--primary {
|
||||||
background-color: #789AF3;
|
background-color: #789AF3;
|
||||||
border-color: #789AF3;
|
border-color: #789AF3;
|
||||||
|
border-radius: 20px;
|
||||||
}
|
}
|
||||||
.el-form-item{
|
.el-form-item{
|
||||||
span{
|
span{
|
||||||
|
|
|
@ -0,0 +1,344 @@
|
||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<ul>
|
||||||
|
<li>{{ '工业设备ID:'+data.deviceId }}</li>
|
||||||
|
<li>{{ '工业设备名称:'+data.deviceName }}</li>
|
||||||
|
<li>{{ 'plc IP:'+data.plcIp }}</li>
|
||||||
|
<li>{{ 'plc端口:'+data.port }}</li>
|
||||||
|
<li>{{ '扫描间隔:'+data.readPeriod }}</li>
|
||||||
|
<li v-for="(item,index) in data.readItemList" :key="index">{{ item.valueName+':'+item.value }}</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
data: {
|
||||||
|
'deviceId': 1500,
|
||||||
|
'deviceName': '码垛车',
|
||||||
|
'plcIp': '192.168.100.40',
|
||||||
|
'port': '102',
|
||||||
|
'readPeriod': 100,
|
||||||
|
'readItemList': [
|
||||||
|
{
|
||||||
|
'valueName': '检测-左1松绳检测',
|
||||||
|
'value': 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-左2松绳检测',
|
||||||
|
'value': 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-右1松绳检测',
|
||||||
|
'value': 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-右2松绳检测',
|
||||||
|
'value': 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-提升上极限',
|
||||||
|
'value': 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-1#防坠器正常',
|
||||||
|
'value': 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-2#防坠器正常',
|
||||||
|
'value': 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-车架子站油泵电机故障',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-车架子油泵电机运行',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-平台升降变频器就绪',
|
||||||
|
'value': 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-车架走行变频器就绪',
|
||||||
|
'value': 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-车架对位(常闭)',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-走行1#减速位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-走行2#减速位',
|
||||||
|
'value': 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-走行3#减速位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-走行4#减速位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-走行5#减速位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-走行6#减速位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-走行7#减速位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-走行8#减速位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-走行9#减速位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-走行左锁紧位',
|
||||||
|
'value': 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-走行左松开位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-走行右锁紧位',
|
||||||
|
'value': 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-走行右松开位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-顶推变频器就绪',
|
||||||
|
'value': 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-左窑抬门变频器就绪',
|
||||||
|
'value': 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-右窑抬门变频器就绪',
|
||||||
|
'value': 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-托架驱动变频器就绪',
|
||||||
|
'value': 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-托架子站油泵电机故障',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-托架子站油泵电机运行',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-顶推旋起位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-顶推旋下位',
|
||||||
|
'value': 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-倾角传感器X轴',
|
||||||
|
'value': 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-倾角传感器Y轴',
|
||||||
|
'value': 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-左窑开门位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-左窑关门位',
|
||||||
|
'value': 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-左窑抬门1#卡爪伸出位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-左窑抬门1#卡爪收回位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-左窑抬门2#卡爪伸出位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-左窑抬门2#卡爪收回位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-左窑顶推停止位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-左窑顶推减速位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-左窑顶推零位',
|
||||||
|
'value': 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-1#升降定位伸出',
|
||||||
|
'value': 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-1#升降定位收回',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-模板左窑减速位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-模板左窑顶推位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-模板左窑停止位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-中间顶推零位',
|
||||||
|
'value': 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-左窑窑门检测',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-右窑开门位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-右窑关门位',
|
||||||
|
'value': 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-右窑抬门1#卡爪伸出位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-右窑抬门1#卡爪收回位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-右窑抬门2#卡爪伸出位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-右窑抬门2#卡爪收回位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-右窑顶推停止位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-右窑顶推减速位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-右窑顶推零位',
|
||||||
|
'value': 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-2#升降定位伸出',
|
||||||
|
'value': 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-2#升降定位收回',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-模板右窑减速位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-模板右窑顶推位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-模板右窑停止位',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': '检测-右窑窑门检测',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': 'DB_车架当前位置',
|
||||||
|
'value': 6
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': 'MD_编码器实际值',
|
||||||
|
'value': 5856
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': 'DB_平台当前位置_层号',
|
||||||
|
'value': 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': 'DB_平台当前位置_位置号',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': 'DB_顶推当前位置',
|
||||||
|
'value': 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'valueName': 'DB_模台当前位置',
|
||||||
|
'value': -7
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'org': 'jxsd'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.openSocket()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
openSocket() {
|
||||||
|
const socketUrl = 'ws://192.168.23.100:8080/websocket/jxsd'
|
||||||
|
const socket = new WebSocket(socketUrl)
|
||||||
|
socket.onopen = () => {
|
||||||
|
console.log('socket已打开')
|
||||||
|
}
|
||||||
|
socket.onmessage = msg => {
|
||||||
|
console.log('msg', msg)
|
||||||
|
if (msg.data) {
|
||||||
|
this.data = JSON.parse(msg.data)
|
||||||
|
console.log('data', this.data)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
socket.onclose = function() {
|
||||||
|
console.log('websocket已关闭')
|
||||||
|
}
|
||||||
|
socket.onerror = function() {
|
||||||
|
console.log('websocket发生了错误')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
|
@ -139,118 +139,7 @@ import { getList } from '@/api/terminal/center'
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
deviceList: [
|
deviceList: [],
|
||||||
{
|
|
||||||
productname: '彩印车间',
|
|
||||||
status: 1,
|
|
||||||
statusdesc: '运行',
|
|
||||||
type: 'M-168-Lora-FM100',
|
|
||||||
kernel: 'rt-thread kenel',
|
|
||||||
webversion: '1.0',
|
|
||||||
no: 'A000001',
|
|
||||||
ipaddr: '192.168.131.29',
|
|
||||||
netmask: '255.255.254.0',
|
|
||||||
gateway: '192.168.130.1',
|
|
||||||
dnsserver0: '10.0.110.21',
|
|
||||||
dnsserver1: '10.0.110.20',
|
|
||||||
topic: '/broadcast/hf6mzwdVnJg/989898',
|
|
||||||
serveraddr: 'zwdVnJg.iot-as-mqtt.cn-shanghai.aliyuncs.com',
|
|
||||||
serverport: '1883',
|
|
||||||
username: 'test1&hf6mzwdVnJg',
|
|
||||||
clientid: '123|securemode=3,signmethod=hmacsha1|',
|
|
||||||
privateserveraddr: '192.168.131.30',
|
|
||||||
privateserverport: '9898',
|
|
||||||
privateserverusername: 'admin'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
productname: '生产车间',
|
|
||||||
status: 0,
|
|
||||||
statusdesc: '待机',
|
|
||||||
type: 'M528-A800-5G-HM100',
|
|
||||||
kernel: 'rt-thread kenel',
|
|
||||||
webversion: '1.0',
|
|
||||||
no: 'A000002',
|
|
||||||
ipaddr: '192.168.131.29',
|
|
||||||
netmask: '255.255.254.0',
|
|
||||||
gateway: '192.168.130.1',
|
|
||||||
dnsserver0: '10.0.110.21',
|
|
||||||
dnsserver1: '10.0.110.20',
|
|
||||||
topic: '/broadcast/hf6mzwdVnJg/989898',
|
|
||||||
serveraddr: 'zwdVnJg.iot-as-mqtt.cn-shanghai.aliyuncs.com',
|
|
||||||
serverport: '1883',
|
|
||||||
username: 'test1&hf6mzwdVnJg',
|
|
||||||
clientid: '123|securemode=3,signmethod=hmacsha1|',
|
|
||||||
privateserveraddr: '192.168.131.30',
|
|
||||||
privateserverport: '9898',
|
|
||||||
privateserverusername: 'admin'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
productname: '成型车间',
|
|
||||||
status: 1,
|
|
||||||
statusdesc: '运行',
|
|
||||||
type: 'RV400-NPU4T-5G-SR100',
|
|
||||||
kernel: 'rt-thread kenel',
|
|
||||||
webversion: '1.0',
|
|
||||||
no: 'A000003',
|
|
||||||
ipaddr: '192.168.131.29',
|
|
||||||
netmask: '255.255.254.0',
|
|
||||||
gateway: '192.168.130.1',
|
|
||||||
dnsserver0: '10.0.110.21',
|
|
||||||
dnsserver1: '10.0.110.20',
|
|
||||||
topic: '/broadcast/hf6mzwdVnJg/989898',
|
|
||||||
serveraddr: 'zwdVnJg.iot-as-mqtt.cn-shanghai.aliyuncs.com',
|
|
||||||
serverport: '1883',
|
|
||||||
username: 'test1&hf6mzwdVnJg',
|
|
||||||
clientid: '123|securemode=3,signmethod=hmacsha1|',
|
|
||||||
privateserveraddr: '192.168.131.30',
|
|
||||||
privateserverport: '9898',
|
|
||||||
privateserverusername: 'admin'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
productname: '打包车间',
|
|
||||||
status: 2,
|
|
||||||
statusdesc: '警告',
|
|
||||||
type: 'RV400-NPU16T-5G-AR100',
|
|
||||||
kernel: 'rt-thread kenel',
|
|
||||||
webversion: '1.0',
|
|
||||||
no: 'A000004',
|
|
||||||
ipaddr: '192.168.131.29',
|
|
||||||
netmask: '255.255.254.0',
|
|
||||||
gateway: '192.168.130.1',
|
|
||||||
dnsserver0: '10.0.110.21',
|
|
||||||
dnsserver1: '10.0.110.20',
|
|
||||||
topic: '/broadcast/hf6mzwdVnJg/989898',
|
|
||||||
serveraddr: 'zwdVnJg.iot-as-mqtt.cn-shanghai.aliyuncs.com',
|
|
||||||
serverport: '1883',
|
|
||||||
username: 'test1&hf6mzwdVnJg',
|
|
||||||
clientid: '123|securemode=3,signmethod=hmacsha1|',
|
|
||||||
privateserveraddr: '192.168.131.30',
|
|
||||||
privateserverport: '9898',
|
|
||||||
privateserverusername: 'admin'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
productname: '打包车间',
|
|
||||||
status: 1,
|
|
||||||
statusdesc: '运行',
|
|
||||||
type: 'RV400-NPU16T-5G-AR100',
|
|
||||||
kernel: 'rt-thread kenel',
|
|
||||||
webversion: '1.0',
|
|
||||||
no: 'A000005',
|
|
||||||
ipaddr: '192.168.131.29',
|
|
||||||
netmask: '255.255.254.0',
|
|
||||||
gateway: '192.168.130.1',
|
|
||||||
dnsserver0: '10.0.110.21',
|
|
||||||
dnsserver1: '10.0.110.20',
|
|
||||||
topic: '/broadcast/hf6mzwdVnJg/989898',
|
|
||||||
serveraddr: 'zwdVnJg.iot-as-mqtt.cn-shanghai.aliyuncs.com',
|
|
||||||
serverport: '1883',
|
|
||||||
username: 'test1&hf6mzwdVnJg',
|
|
||||||
clientid: '123|securemode=3,signmethod=hmacsha1|',
|
|
||||||
privateserveraddr: '192.168.131.30',
|
|
||||||
privateserverport: '9898',
|
|
||||||
privateserverusername: 'admin'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
visible: false,
|
visible: false,
|
||||||
current: {},
|
current: {},
|
||||||
protocol: 'TCP/IP'
|
protocol: 'TCP/IP'
|
||||||
|
|
|
@ -44,6 +44,13 @@ module.exports = {
|
||||||
pathRewrite: {
|
pathRewrite: {
|
||||||
'^/cgi-bin': '/cgi-bin'
|
'^/cgi-bin': '/cgi-bin'
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
'/qianjiang': {
|
||||||
|
target: 'http://115.238.53.61:33333/', // webnet
|
||||||
|
changeOrigin: true,
|
||||||
|
pathRewrite: {
|
||||||
|
'^/qianjiang': ''
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
open: true,
|
open: true,
|
||||||
|
|
Loading…
Reference in New Issue