前端初次提交
@ -30,9 +30,11 @@
|
||||
"element-ui": "^2.15.14",
|
||||
"enquire.js": "^2.1.6",
|
||||
"exceljs": "^4.4.0",
|
||||
"file-saver": "^2.0.5",
|
||||
"html2canvas": "^1.4.1",
|
||||
"iview": "^3.5.4",
|
||||
"js-cookie": "^2.2.0",
|
||||
"jszip": "^3.10.1",
|
||||
"leaflet": "^1.9.4",
|
||||
"lodash.get": "^4.4.2",
|
||||
"lodash.pick": "^4.4.0",
|
||||
@ -42,7 +44,7 @@
|
||||
"pdfjs-dist": "^2.10.377",
|
||||
"plotly.js": "^2.35.2",
|
||||
"qiankun": "^2.5.1",
|
||||
"qrcodejs2": "^0.0.2",
|
||||
"qrcode": "^1.5.4",
|
||||
"sass": "^1.25.0",
|
||||
"sass-loader": "^8.0.2",
|
||||
"tinymce": "5.4.1",
|
||||
|
||||
2
jeecg-device-master/public/index.html
vendored
@ -5,7 +5,7 @@
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||
<title>27号线车辆段设备数字化管理平台</title>
|
||||
<title>13号线车辆段设备数字化管理平台</title>
|
||||
<link rel="icon" href="<%= BASE_URL %>动车段图标.jpg">
|
||||
<!-- <link rel="shortcut icon" href="<%= BASE_URL %>favicon.ico" type="image/x-icon">-->
|
||||
<script src="<%= BASE_URL %>cdn/babel-polyfill/polyfill_7_2_5.js"></script>
|
||||
|
||||
BIN
jeecg-device-master/src/assets/homescreen/01.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
jeecg-device-master/src/assets/homescreen/02.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
jeecg-device-master/src/assets/homescreen/03.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
jeecg-device-master/src/assets/homescreen/04.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
jeecg-device-master/src/assets/homescreen/05.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
jeecg-device-master/src/assets/homescreen/06.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
jeecg-device-master/src/assets/homescreen/bj.png
Normal file
|
After Width: | Height: | Size: 452 KiB |
BIN
jeecg-device-master/src/assets/homescreen/button1.png
Normal file
|
After Width: | Height: | Size: 9.8 KiB |
BIN
jeecg-device-master/src/assets/homescreen/button2.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
jeecg-device-master/src/assets/homescreen/deviceName_bg.png
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
BIN
jeecg-device-master/src/assets/homescreen/deviceName_bg2.png
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
BIN
jeecg-device-master/src/assets/homescreen/device_bg.png
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
BIN
jeecg-device-master/src/assets/homescreen/fault.png
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
BIN
jeecg-device-master/src/assets/homescreen/g61529.png
Normal file
|
After Width: | Height: | Size: 61 KiB |
BIN
jeecg-device-master/src/assets/homescreen/images/image10.png
Normal file
|
After Width: | Height: | Size: 9.1 MiB |
BIN
jeecg-device-master/src/assets/homescreen/item_title_bg.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
jeecg-device-master/src/assets/homescreen/item_title_bg111.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
jeecg-device-master/src/assets/homescreen/label_bg.png
Normal file
|
After Width: | Height: | Size: 381 B |
BIN
jeecg-device-master/src/assets/homescreen/loading.png
Normal file
|
After Width: | Height: | Size: 4.3 KiB |
BIN
jeecg-device-master/src/assets/homescreen/normal.png
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
BIN
jeecg-device-master/src/assets/homescreen/tabs_bg.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
jeecg-device-master/src/assets/homescreen/tabs_current.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
jeecg-device-master/src/assets/homescreen/title_bg.png
Normal file
|
After Width: | Height: | Size: 163 KiB |
BIN
jeecg-device-master/src/assets/homescreen/title_bg111.png
Normal file
|
After Width: | Height: | Size: 94 KiB |
BIN
jeecg-device-master/src/assets/homescreen/top.png
Normal file
|
After Width: | Height: | Size: 165 KiB |
BIN
jeecg-device-master/src/assets/homescreen/中心图.png
Normal file
|
After Width: | Height: | Size: 667 KiB |
BIN
jeecg-device-master/src/assets/homescreen/中心图1.png
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
jeecg-device-master/src/assets/homescreen/中心图2.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
jeecg-device-master/src/assets/homescreen/中心图3.png
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
jeecg-device-master/src/assets/homescreen/中心图4.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
jeecg-device-master/src/assets/homescreen/中心图5.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
jeecg-device-master/src/assets/homescreen/中心图6.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
jeecg-device-master/src/assets/homescreen/中心图7.png
Normal file
|
After Width: | Height: | Size: 53 KiB |
BIN
jeecg-device-master/src/assets/homescreen/中心图文字框中.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
jeecg-device-master/src/assets/homescreen/中心图文字框右.png
Normal file
|
After Width: | Height: | Size: 8.0 KiB |
BIN
jeecg-device-master/src/assets/homescreen/中心图文字框左.png
Normal file
|
After Width: | Height: | Size: 8.1 KiB |
BIN
jeecg-device-master/src/assets/homescreen/二级标题.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
jeecg-device-master/src/assets/homescreen/停机.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
jeecg-device-master/src/assets/homescreen/商务管理.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
jeecg-device-master/src/assets/homescreen/小标题.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
jeecg-device-master/src/assets/homescreen/底图.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
jeecg-device-master/src/assets/homescreen/待机.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
jeecg-device-master/src/assets/homescreen/故障.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
jeecg-device-master/src/assets/homescreen/期初数据.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
jeecg-device-master/src/assets/homescreen/组件@2x.png
Normal file
|
After Width: | Height: | Size: 92 KiB |
BIN
jeecg-device-master/src/assets/homescreen/运行.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
jeecg-device-master/src/assets/homescreen/鏁呴殰.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
jeecg-device-master/src/assets/homescreen/风险提示.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
@ -17,8 +17,8 @@
|
||||
:type="collapsed ? 'menu-unfold' : 'menu-fold'"
|
||||
@click="toggle"/>
|
||||
|
||||
<span v-if="device === 'desktop'" style="font-size: 16px;">欢迎进入27号线车辆段设备数字化管理平台</span>
|
||||
<span v-else>欢迎进入27号线车辆段设备数字化管理平台</span>
|
||||
<span v-if="device === 'desktop'" style="font-size: 16px;">欢迎进入13号线车辆段设备数字化管理平台</span>
|
||||
<span v-else>欢迎进入13号线车辆段设备数字化管理平台</span>
|
||||
|
||||
<user-menu :theme="theme"/>
|
||||
</div>
|
||||
|
||||
@ -34,10 +34,12 @@
|
||||
<a-list-item :key="index" v-for="(record, index) in announcement2">
|
||||
<div style="margin-left: 5%;width: 80%">
|
||||
<p><a>{{ record.toolId_dictText }}</a></p>
|
||||
<p style="color: rgba(0,0,0,.45);margin-bottom: 0px">{{ record.lastCheckDate == null ? '从未检测 ·': '上次:'+record.lastCheckDate }} 需检测</p>
|
||||
<p style="color: rgba(0,0,0,.45);margin-bottom: 0px">{{ formatDate(record.lastCheckDate) }}</p>
|
||||
</div>
|
||||
<div style="text-align: right">
|
||||
<a-tag color="red">待检测</a-tag>
|
||||
<a-tag :color="record.type === 'overdue' ? 'red' : 'orange'">
|
||||
{{ record.type === 'overdue' ? '已超期' : '临近检定' }}
|
||||
</a-tag>
|
||||
</div>
|
||||
</a-list-item>
|
||||
</a-list>
|
||||
|
||||
@ -17,6 +17,14 @@ import xss from "xss"
|
||||
:title="record.spare"
|
||||
:description="'发布人:'+record.sender + ' 发布时间: ' + record.sendTime">
|
||||
</a-card-meta>
|
||||
<a-row type="flex" align="middle">
|
||||
<a-col>
|
||||
<a-button type="primary" @click="speakText">播报语音</a-button>
|
||||
</a-col>
|
||||
<a-col>
|
||||
<a-button style="margin-left: 8px" @click="stopSpeech">停止朗读</a-button>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-divider />
|
||||
<span v-html="record.msgContent" class="article-content"></span>
|
||||
</a-card>
|
||||
@ -33,7 +41,10 @@ import xss from "xss"
|
||||
data () {
|
||||
return {
|
||||
title:"通知消息",
|
||||
textToSpeak: '',
|
||||
record: {},
|
||||
timer333: null,
|
||||
hasUnsavedChanges: false,
|
||||
labelCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 5 },
|
||||
@ -59,48 +70,101 @@ import xss from "xss"
|
||||
}
|
||||
},
|
||||
created () {
|
||||
console.log("组件创建");
|
||||
// this.startAutoSpeech();todo
|
||||
},
|
||||
mounted() {
|
||||
console.log("组件挂载完成");
|
||||
},
|
||||
watch: {
|
||||
visible(newVal) {
|
||||
if (newVal) {
|
||||
// this.startAutoSpeech(); todo
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
speakText() {
|
||||
console.log("开始语音播报");
|
||||
if ('speechSynthesis' in window) {
|
||||
const utterance = new SpeechSynthesisUtterance(this.textToSpeak);
|
||||
utterance.lang = 'zh-CN';
|
||||
utterance.rate = 1;
|
||||
utterance.pitch = 1;
|
||||
utterance.volume = 1;
|
||||
// window.speechSynthesis.speak(utterance);
|
||||
const result = window.speechSynthesis.speak(utterance);
|
||||
} else {
|
||||
alert('您的浏览器不支持语音合成');
|
||||
}
|
||||
},
|
||||
|
||||
stopSpeech() {
|
||||
window.speechSynthesis.cancel();
|
||||
},
|
||||
|
||||
startAutoSpeech(intervalTime = 1800) {
|
||||
console.log("启动自动语音播报");
|
||||
if (this.timer333) clearInterval(this.timer333);
|
||||
this.timer333 = setInterval(() => {
|
||||
this.speakText();
|
||||
}, intervalTime);
|
||||
},
|
||||
|
||||
detail(record) {
|
||||
//update-begin---author:wangshuai ---date:20220107 for:将其它页面传递过来的用户名改成用户真实姓名
|
||||
console.log("查看详情",record)
|
||||
if (record.sender) {
|
||||
getUserList({ "username": record.sender }).then((res) => {
|
||||
if (res.success && res.result.records.length > 0) {
|
||||
record.sender = res.result.records[0].realname
|
||||
record.sender = res.result.records[0].realname;
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
//update-end---author:wangshuai ---date:20220107 for:将其它页面传递过来的用户名改成用户真实姓名
|
||||
|
||||
this.visible = true;
|
||||
//update-begin-author:taoyan date:2022-7-14 for: VUEN-1702 【禁止问题】sql注入漏洞
|
||||
|
||||
if (record.msgContent) {
|
||||
record.msgContent = xss(record.msgContent)
|
||||
record.msgContent = xss(record.msgContent);
|
||||
this.textToSpeak = record.msgContent;
|
||||
}
|
||||
//update-end-author:taoyan date:2022-7-14 for: VUEN-1702 【禁止问题】sql注入漏洞
|
||||
|
||||
this.record = record;
|
||||
},
|
||||
|
||||
handleCancel() {
|
||||
this.stopSpeech();
|
||||
if (this.timer333) {
|
||||
console.log('清除定时器');
|
||||
clearInterval(this.timer333);
|
||||
this.timer333 = null;
|
||||
}
|
||||
this.visible = false;
|
||||
},
|
||||
/** 切换全屏显示 */
|
||||
|
||||
handleClickToggleFullScreen() {
|
||||
let mode = !this.modelStyle.fullScreen
|
||||
let mode = !this.modelStyle.fullScreen;
|
||||
if (mode) {
|
||||
this.modelStyle.width = '100%'
|
||||
this.modelStyle.style.top = '20px'
|
||||
this.modelStyle.width = '100%';
|
||||
this.modelStyle.style.top = '20px';
|
||||
} else {
|
||||
this.modelStyle.width = '60%'
|
||||
this.modelStyle.style.top = '50px'
|
||||
this.modelStyle.width = '60%';
|
||||
this.modelStyle.style.top = '50px';
|
||||
}
|
||||
this.modelStyle.fullScreen = mode
|
||||
this.modelStyle.fullScreen = mode;
|
||||
},
|
||||
|
||||
toHandle() {
|
||||
if (this.record.openType === 'url') {
|
||||
this.visible = false;
|
||||
//链接跳转
|
||||
this.$router.push({path: this.record.openPage})
|
||||
this.$router.push({ path: this.record.openPage });
|
||||
}
|
||||
}
|
||||
},
|
||||
beforeDestroy() {
|
||||
if (this.timer333) {
|
||||
clearInterval(this.timer333);
|
||||
this.timer333 = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@ -149,6 +149,17 @@ export const constantRouterMap = [
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
path: '/homescreen',
|
||||
name: 'homescreen',
|
||||
component: () => import('@views/dashboard/homescreen.vue'),
|
||||
meta: {
|
||||
requiresAuth: false, // 明确不需要登录[1,6](@ref)
|
||||
hidden: true, // 隐藏菜单
|
||||
hideLayout: true, // 隐藏所有布局元素
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
path: '/test',
|
||||
component: BlankLayout,
|
||||
|
||||
@ -9,7 +9,7 @@ import { generateIndexRouter, isOAuth2AppEnv } from '@/utils/util'
|
||||
|
||||
NProgress.configure({ showSpinner: false }) // NProgress Configuration
|
||||
|
||||
const whiteList = ['/user/login', '/user/register', '/user/register-result','/user/alteration'] // no redirect whitelist
|
||||
const whiteList = ['/user/login', '/user/register', '/user/register-result','/user/alteration', '/homescreen'] // no redirect whitelist
|
||||
whiteList.push(OAUTH2_LOGIN_PAGE_PATH)
|
||||
|
||||
router.beforeEach((to, from, next) => {
|
||||
|
||||
25
jeecg-device-master/src/store/mainquanju.js
Normal file
@ -0,0 +1,25 @@
|
||||
// src/store/index.js
|
||||
import Vue from 'vue'
|
||||
import Vuex from 'vuex'
|
||||
|
||||
Vue.use(Vuex)
|
||||
|
||||
export default new Vuex.Store({
|
||||
state: {
|
||||
isPlaying: false, // 控制语音播放的全局状态
|
||||
},
|
||||
mutations: {
|
||||
setIsPlaying(state, value) {
|
||||
state.isPlaying = value;
|
||||
}
|
||||
},
|
||||
actions: {
|
||||
updateIsPlaying({ commit }, value) {
|
||||
commit('setIsPlaying', value);
|
||||
}
|
||||
},
|
||||
getters: {
|
||||
isPlaying: state => state.isPlaying
|
||||
},
|
||||
modules: {}
|
||||
});
|
||||
136
jeecg-device-master/src/utils/qrcodeUtil.js
Normal file
@ -0,0 +1,136 @@
|
||||
import QRCode from "qrcode"
|
||||
import JSZip from "jszip"
|
||||
import { saveAs } from "file-saver"
|
||||
|
||||
|
||||
/**
|
||||
* 自动换行
|
||||
*/
|
||||
function wrapText(ctx, text, maxWidth) {
|
||||
|
||||
const chars = text.split("")
|
||||
const lines = []
|
||||
let current = ""
|
||||
|
||||
chars.forEach(c => {
|
||||
|
||||
const testLine = current + c
|
||||
const width = ctx.measureText(testLine).width
|
||||
|
||||
if (width <= maxWidth) {
|
||||
current = testLine
|
||||
} else {
|
||||
lines.push(current)
|
||||
current = c
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
if (current) lines.push(current)
|
||||
|
||||
return lines
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 生成二维码canvas
|
||||
*/
|
||||
export async function generateQRCodeCanvas(id, text) {
|
||||
|
||||
const TEXT_SIZE = 15
|
||||
const TEXT_TOP_MARGIN = -4
|
||||
const TEXT_BOTTOM_PADDING = 2
|
||||
const SCALE = 4
|
||||
|
||||
const qrCanvas = document.createElement("canvas")
|
||||
|
||||
await QRCode.toCanvas(qrCanvas, id, {
|
||||
errorCorrectionLevel: "L",
|
||||
margin: 1,
|
||||
scale: SCALE
|
||||
})
|
||||
|
||||
const qrWidth = qrCanvas.width
|
||||
|
||||
const canvas = document.createElement("canvas")
|
||||
const ctx = canvas.getContext("2d")
|
||||
|
||||
ctx.font = TEXT_SIZE + "px Arial"
|
||||
|
||||
const lines = wrapText(ctx, text, qrWidth+30)
|
||||
|
||||
const lineHeight = TEXT_SIZE + 1
|
||||
const textHeight = lines.length * lineHeight
|
||||
|
||||
const totalHeight =
|
||||
qrWidth +
|
||||
TEXT_TOP_MARGIN +
|
||||
textHeight +
|
||||
TEXT_BOTTOM_PADDING
|
||||
|
||||
canvas.width = qrWidth
|
||||
canvas.height = totalHeight
|
||||
|
||||
ctx.fillStyle = "#fff"
|
||||
ctx.fillRect(0, 0, canvas.width, canvas.height)
|
||||
|
||||
ctx.drawImage(qrCanvas, 0, 0)
|
||||
|
||||
ctx.fillStyle = "#000"
|
||||
ctx.textAlign = "center"
|
||||
|
||||
let y = qrWidth + TEXT_TOP_MARGIN + lineHeight
|
||||
|
||||
lines.forEach(line => {
|
||||
|
||||
ctx.fillText(line, qrWidth / 2, y)
|
||||
|
||||
y += lineHeight
|
||||
|
||||
})
|
||||
|
||||
return canvas
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 单个下载
|
||||
*/
|
||||
export async function downloadSingleQRCode(id, text) {
|
||||
|
||||
const canvas = await generateQRCodeCanvas(id, text)
|
||||
|
||||
const link = document.createElement("a")
|
||||
link.href = canvas.toDataURL("image/png")
|
||||
link.download = text + ".png"
|
||||
link.click()
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 批量ZIP下载
|
||||
*/
|
||||
export async function downloadBatchQRCodeZip(list, zipName = "qrcode") {
|
||||
|
||||
const zip = new JSZip()
|
||||
|
||||
for (let item of list) {
|
||||
|
||||
const canvas = await generateQRCodeCanvas(item.id, item.code)
|
||||
|
||||
const base64 = canvas.toDataURL("image/png").split(",")[1]
|
||||
|
||||
zip.file(`${item.code}.png`, base64, { base64: true })
|
||||
|
||||
}
|
||||
|
||||
const content = await zip.generateAsync({
|
||||
type: "blob",
|
||||
compression: "DEFLATE",
|
||||
compressionOptions: { level: 6 }
|
||||
})
|
||||
|
||||
saveAs(content, `${zipName}.zip`)
|
||||
|
||||
}
|
||||
@ -0,0 +1,609 @@
|
||||
<template>
|
||||
<a-card :bordered="false">
|
||||
<!-- 查询区域 -->
|
||||
<div class="table-page-search-wrapper" style="background: #f0f2f5; padding: 16px; margin-bottom: 16px; border-radius: 4px;">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="24">
|
||||
<a-form-item label="查询类型">
|
||||
<a-select v-model="queryType" placeholder="请选择查询类型" @change="handleQueryTypeChange">
|
||||
<a-select-option value="online">在线数据</a-select-option>
|
||||
<a-select-option value="history">历史数据</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<template v-if="queryType === 'history'">
|
||||
<a-col :md="6" :sm="24">
|
||||
<a-form-item label="开始时间">
|
||||
<a-date-picker v-model="startTime" placeholder="请选择开始时间" show-time valueFormat="YYYY-MM-DD HH:mm:ss" style="width: 100%" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="24">
|
||||
<a-form-item label="结束时间">
|
||||
<a-date-picker v-model="endTime" placeholder="请选择结束时间" show-time valueFormat="YYYY-MM-DD HH:mm:ss" style="width: 100%" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</template>
|
||||
<a-col :md="6" :sm="24">
|
||||
<div style="margin-top: 4px;">
|
||||
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button v-if="queryType === 'history'" type="primary" @click="switchToOnline" style="margin-left: 8px">返回在线数据</a-button>
|
||||
<a-button v-else type="primary" @click="switchToHistory" style="margin-left: 8px">查询历史数据</a-button>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<!-- 查询区域-END -->
|
||||
|
||||
<!-- 操作按钮区域 -->
|
||||
<div class="table-operator">
|
||||
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
|
||||
<a-button type="primary" icon="download" @click="handleExportXls('bu_zy_exp_data_online')">导出</a-button>
|
||||
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
|
||||
<a-button type="primary" icon="import">导入</a-button>
|
||||
</a-upload>
|
||||
<!-- 高级查询区域 -->
|
||||
<j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>
|
||||
<a-dropdown v-if="selectedRowKeys.length > 0">
|
||||
<a-menu slot="overlay">
|
||||
<a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
|
||||
</a-menu>
|
||||
<a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
|
||||
</a-dropdown>
|
||||
</div>
|
||||
|
||||
<!-- table区域-begin -->
|
||||
<div>
|
||||
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;" v-if="selectedRowKeys.length > 0">
|
||||
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
|
||||
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
|
||||
</div>
|
||||
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
:scroll="{x:true}"
|
||||
bordered
|
||||
rowKey="id"
|
||||
:columns="columns"
|
||||
:dataSource="dataSource"
|
||||
:pagination="ipagination"
|
||||
:loading="loading"
|
||||
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
||||
class="j-table-force-nowrap"
|
||||
@change="handleTableChange">
|
||||
|
||||
<template slot="htmlSlot" slot-scope="text">
|
||||
<div v-html="text"></div>
|
||||
</template>
|
||||
<template slot="imgSlot" slot-scope="text,record">
|
||||
<span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
|
||||
<img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
|
||||
</template>
|
||||
<template slot="fileSlot" slot-scope="text">
|
||||
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
|
||||
<a-button
|
||||
v-else
|
||||
:ghost="true"
|
||||
type="primary"
|
||||
icon="download"
|
||||
size="small"
|
||||
@click="downloadFile(text)">
|
||||
下载
|
||||
</a-button>
|
||||
</template>
|
||||
|
||||
<span slot="action" slot-scope="text, record">
|
||||
<a @click="handleEdit(record)">编辑</a>
|
||||
|
||||
<a-divider type="vertical" />
|
||||
<a-dropdown>
|
||||
<a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
|
||||
<a-menu slot="overlay">
|
||||
<a-menu-item>
|
||||
<a @click="handleDetail(record)">详情</a>
|
||||
</a-menu-item>
|
||||
<a-menu-item>
|
||||
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
|
||||
<a>删除</a>
|
||||
</a-popconfirm>
|
||||
</a-menu-item>
|
||||
</a-menu>
|
||||
</a-dropdown>
|
||||
</span>
|
||||
|
||||
</a-table>
|
||||
</div>
|
||||
|
||||
<bu-zy-exp-data-online-modal ref="modalForm" @ok="modalFormOk" :queryType="queryType" :queryMonth="queryMonth"></bu-zy-exp-data-online-modal>
|
||||
</a-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import '@/assets/less/TableExpand.less'
|
||||
import { mixinDevice } from '@/utils/mixin'
|
||||
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
||||
import BuZyExpDataOnlineModal from './modules/BuZyExpDataOnlineModal'
|
||||
|
||||
export default {
|
||||
name: 'BuZyExpDataOnlineList',
|
||||
mixins:[JeecgListMixin, mixinDevice],
|
||||
components: {
|
||||
BuZyExpDataOnlineModal
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
description: 'bu_zy_exp_data_online管理页面',
|
||||
// 查询类型: online/history
|
||||
queryType: 'online',
|
||||
// 历史数据查询月份
|
||||
queryMonth: undefined,
|
||||
// 历史数据查询开始时间
|
||||
startTime: undefined,
|
||||
// 历史数据查询结束时间
|
||||
endTime: undefined,
|
||||
// 表头
|
||||
columns: [
|
||||
{
|
||||
title: '#',
|
||||
dataIndex: '',
|
||||
key:'rowIndex',
|
||||
width:60,
|
||||
align:"center",
|
||||
customRender:function (t,r,index) {
|
||||
return parseInt(index)+1;
|
||||
}
|
||||
},
|
||||
{
|
||||
title:'上传服务器名',
|
||||
align:"center",
|
||||
dataIndex: 'serverName'
|
||||
},
|
||||
{
|
||||
title:'传感器',
|
||||
align:"center",
|
||||
dataIndex: 'sensorId_dictText'
|
||||
},
|
||||
{
|
||||
title:'状态 (0正常 1预警 2报警)',
|
||||
align:"center",
|
||||
dataIndex: 'status'
|
||||
},
|
||||
{
|
||||
title:'报警字段名 逗号分隔',
|
||||
align:"center",
|
||||
dataIndex: 'statusname'
|
||||
},
|
||||
{
|
||||
title:'采集时间',
|
||||
align:"center",
|
||||
dataIndex: 'createTime',
|
||||
customRender: function (text) {
|
||||
if (!text) {
|
||||
return '';
|
||||
}
|
||||
// 格式化日期时间显示
|
||||
return text.length > 10 ? text : text + ' 00:00:00';
|
||||
}
|
||||
},
|
||||
{
|
||||
title:'协议版本',
|
||||
align:"center",
|
||||
dataIndex: 'data01'
|
||||
},
|
||||
{
|
||||
title:'备注符号',
|
||||
align:"center",
|
||||
dataIndex: 'data02'
|
||||
},
|
||||
{
|
||||
title:'ANSII/binär',
|
||||
align:"center",
|
||||
dataIndex: 'data03'
|
||||
},
|
||||
{
|
||||
title:'数据隔离符号',
|
||||
align:"center",
|
||||
dataIndex: 'data05'
|
||||
},
|
||||
{
|
||||
title:'部件数据隔离符号',
|
||||
align:"center",
|
||||
dataIndex: 'data06'
|
||||
},
|
||||
{
|
||||
title:'机床类型',
|
||||
align:"center",
|
||||
dataIndex: 'data12'
|
||||
},
|
||||
{
|
||||
title:'机床号码',
|
||||
align:"center",
|
||||
dataIndex: 'data13'
|
||||
},
|
||||
{
|
||||
title:'当前日期',
|
||||
align:"center",
|
||||
dataIndex: 'data19'
|
||||
},
|
||||
{
|
||||
title:'当前时间',
|
||||
align:"center",
|
||||
dataIndex: 'data110'
|
||||
},
|
||||
{
|
||||
title:'用户名称',
|
||||
align:"center",
|
||||
dataIndex: 'data21'
|
||||
},
|
||||
{
|
||||
title:'操作者姓名',
|
||||
align:"center",
|
||||
dataIndex: 'data24'
|
||||
},
|
||||
{
|
||||
title:'当前轮对识别号',
|
||||
align:"center",
|
||||
dataIndex: 'data311'
|
||||
},
|
||||
{
|
||||
title:'车辆编码',
|
||||
align:"center",
|
||||
dataIndex: 'data313'
|
||||
},
|
||||
{
|
||||
title:'加工原因',
|
||||
align:"center",
|
||||
dataIndex: 'data314n'
|
||||
},
|
||||
{
|
||||
title:'车辆方向',
|
||||
align:"center",
|
||||
dataIndex: 'data34'
|
||||
},
|
||||
{
|
||||
title:'当前车辆车轴配置',
|
||||
align:"center",
|
||||
dataIndex: 'data35'
|
||||
},
|
||||
{
|
||||
title:'车辆号码',
|
||||
align:"center",
|
||||
dataIndex: 'data38'
|
||||
},
|
||||
{
|
||||
title:'当前轮对号/车轴号码',
|
||||
align:"center",
|
||||
dataIndex: 'data39'
|
||||
},
|
||||
{
|
||||
title:'轮廓号码',
|
||||
align:"center",
|
||||
dataIndex: 'data43sn'
|
||||
},
|
||||
{
|
||||
title:'轮廓变量',
|
||||
align:"center",
|
||||
dataIndex: 'data44sn'
|
||||
},
|
||||
{
|
||||
title:'公里数',
|
||||
align:"center",
|
||||
dataIndex: 'data55'
|
||||
},
|
||||
{
|
||||
title:'内侧距',
|
||||
align:"center",
|
||||
dataIndex: 'data58n'
|
||||
},
|
||||
{
|
||||
title:'预测量左侧径向跳动',
|
||||
align:"center",
|
||||
dataIndex: 'data611sn'
|
||||
},
|
||||
{
|
||||
title:'预测量右侧径向跳动',
|
||||
align:"center",
|
||||
dataIndex: 'data612sn'
|
||||
},
|
||||
{
|
||||
title:'data661',
|
||||
align:"center",
|
||||
dataIndex: 'data661'
|
||||
},
|
||||
{
|
||||
title:'data662',
|
||||
align:"center",
|
||||
dataIndex: 'data662'
|
||||
},
|
||||
{
|
||||
title:'data68',
|
||||
align:"center",
|
||||
dataIndex: 'data68'
|
||||
},
|
||||
{
|
||||
title:'后测量左侧径向跳动',
|
||||
align:"center",
|
||||
dataIndex: 'data6111sn'
|
||||
},
|
||||
{
|
||||
title:'后测量右侧径向跳动',
|
||||
align:"center",
|
||||
dataIndex: 'data6112sn'
|
||||
},
|
||||
{
|
||||
title:'后测量左侧轴向跳动',
|
||||
align:"center",
|
||||
dataIndex: 'data6121sn'
|
||||
},
|
||||
{
|
||||
title:'后测量右侧轴向跳动',
|
||||
align:"center",
|
||||
dataIndex: 'data6122sn'
|
||||
},
|
||||
{
|
||||
title:'后测量左侧直径',
|
||||
align:"center",
|
||||
dataIndex: 'data6131sn'
|
||||
},
|
||||
{
|
||||
title:'后测量右侧直径',
|
||||
align:"center",
|
||||
dataIndex: 'data6132sn'
|
||||
},
|
||||
{
|
||||
title:'预测量左侧轴向跳动',
|
||||
align:"center",
|
||||
dataIndex: 'data621sn'
|
||||
},
|
||||
{
|
||||
title:'预测量右侧轴向跳动',
|
||||
align:"center",
|
||||
dataIndex: 'data622sn'
|
||||
},
|
||||
{
|
||||
title:'data731',
|
||||
align:"center",
|
||||
dataIndex: 'data731'
|
||||
},
|
||||
{
|
||||
title:'data732',
|
||||
align:"center",
|
||||
dataIndex: 'data732'
|
||||
},
|
||||
{
|
||||
title:'data741',
|
||||
align:"center",
|
||||
dataIndex: 'data741'
|
||||
},
|
||||
{
|
||||
title:'data742',
|
||||
align:"center",
|
||||
dataIndex: 'data742'
|
||||
},
|
||||
{
|
||||
title:'后测量左侧轮缘厚度',
|
||||
align:"center",
|
||||
dataIndex: 'data7121sn'
|
||||
},
|
||||
{
|
||||
title:'后测量右侧轮缘厚度',
|
||||
align:"center",
|
||||
dataIndex: 'data7122sn'
|
||||
},
|
||||
{
|
||||
title:'后测量左侧轮缘高度',
|
||||
align:"center",
|
||||
dataIndex: 'data7131sn'
|
||||
},
|
||||
{
|
||||
title:'后测量右侧轮缘高度',
|
||||
align:"center",
|
||||
dataIndex: 'data7132sn'
|
||||
},
|
||||
{
|
||||
title:'左侧名义轮缘厚度',
|
||||
align:"center",
|
||||
dataIndex: 'data7211sn'
|
||||
},
|
||||
{
|
||||
title:'右侧名义轮缘厚度',
|
||||
align:"center",
|
||||
dataIndex: 'data7212sn'
|
||||
},
|
||||
{
|
||||
title:'左侧轮廓测量点坐标',
|
||||
align:"center",
|
||||
dataIndex: 'data7221sn'
|
||||
},
|
||||
{
|
||||
title:'右侧轮廓测量点坐标',
|
||||
align:"center",
|
||||
dataIndex: 'data7222sn'
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align:"center",
|
||||
fixed:"right",
|
||||
width:147,
|
||||
scopedSlots: { customRender: 'action' }
|
||||
}
|
||||
],
|
||||
url: {
|
||||
list: "/ZyExpDataOnline/buZyExpDataOnline/list",
|
||||
historyList: "/ZyExpDataOnline/buZyExpDataOnline/historyListByTimeRange",
|
||||
delete: "/ZyExpDataOnline/buZyExpDataOnline/delete",
|
||||
deleteBatch: "/ZyExpDataOnline/buZyExpDataOnline/deleteBatch",
|
||||
exportXlsUrl: "/ZyExpDataOnline/buZyExpDataOnline/exportXls",
|
||||
importExcelUrl: "ZyExpDataOnline/buZyExpDataOnline/importExcel",
|
||||
|
||||
},
|
||||
dictOptions:{},
|
||||
superFieldList:[],
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getSuperFieldList();
|
||||
},
|
||||
computed: {
|
||||
importExcelUrl: function(){
|
||||
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
initDictConfig(){
|
||||
},
|
||||
getSuperFieldList(){
|
||||
let fieldList=[];
|
||||
fieldList.push({type:'string',value:'serverName',text:'上传服务器名'})
|
||||
fieldList.push({type:'string',value:'sensorId',text:'传感器ID'})
|
||||
fieldList.push({type:'int',value:'status',text:'状态 (0正常 1预警 2报警)'})
|
||||
fieldList.push({type:'string',value:'statusname',text:'报警字段名 逗号分隔'})
|
||||
fieldList.push({type:'string',value:'createTime',text:'采集时间'})
|
||||
fieldList.push({type:'string',value:'data01',text:'协议版本 protocol revision 协议版本'})
|
||||
fieldList.push({type:'string',value:'data02',text:'备注符号 sign of comments 备注符号'})
|
||||
fieldList.push({type:'string',value:'data03',text:'ANSII / binär'})
|
||||
fieldList.push({type:'string',value:'data05',text:'数据隔离符号 data set seperator 数据隔离符号'})
|
||||
fieldList.push({type:'string',value:'data06',text:'部件数据隔离符号 part data seperator 部件数据隔离符号'})
|
||||
fieldList.push({type:'string',value:'data12',text:'机床类型 machine typ 机床类型'})
|
||||
fieldList.push({type:'string',value:'data13',text:'机床号码 machine number 机床号码'})
|
||||
fieldList.push({type:'string',value:'data19',text:'当前日期 current date 当前日期'})
|
||||
fieldList.push({type:'string',value:'data110',text:'当前时间 current time 当前时间'})
|
||||
fieldList.push({type:'string',value:'data21',text:'用户名称 customer name 用户名称'})
|
||||
fieldList.push({type:'string',value:'data24',text:'操作者姓名 operator name 操作者姓名'})
|
||||
fieldList.push({type:'string',value:'data311',text:'当前轮对识别号 current wheel set identification 当前轮对识别号'})
|
||||
fieldList.push({type:'string',value:'data313',text:'车辆编码 vehicle number 车辆编码'})
|
||||
fieldList.push({type:'string',value:'data314n',text:'加工原因 reason of maching 加工原因'})
|
||||
fieldList.push({type:'string',value:'data34',text:'车辆方向 direction of vehicle (0-1)车辆方向'})
|
||||
fieldList.push({type:'string',value:'data35',text:'当前车辆车轴配置 current vehicle axis configuration 当前车辆车轴配置'})
|
||||
fieldList.push({type:'string',value:'data38',text:'车辆号码 vehicle number 车辆号码'})
|
||||
fieldList.push({type:'string',value:'data39',text:'当前轮对号 current wheel set number // axis number 当前轮对号//车轴号码'})
|
||||
fieldList.push({type:'string',value:'data43sn',text:'轮廓号码 profile number 轮廓号码'})
|
||||
fieldList.push({type:'string',value:'data44sn',text:'轮廓变量 profile variances 轮廓变量'})
|
||||
fieldList.push({type:'string',value:'data55',text:'公里数 Milages 公里数'})
|
||||
fieldList.push({type:'string',value:'data58n',text:'内侧距 back to back dimension 内侧距'})
|
||||
fieldList.push({type:'string',value:'data611sn',text:'预测量左侧径向跳动 radial run out left pre measuring 预测量左侧径向跳动'})
|
||||
fieldList.push({type:'string',value:'data612sn',text:'预测量右侧径向跳动 radial run out right pre measuring 预测量右侧径向跳动'})
|
||||
fieldList.push({type:'string',value:'data661',text:'data661'})
|
||||
fieldList.push({type:'string',value:'data662',text:'data662'})
|
||||
fieldList.push({type:'string',value:'data68',text:'data68'})
|
||||
fieldList.push({type:'string',value:'data6111SN',text:'后测量左侧径向跳动 radial run out left post measuring 后测量左侧径向跳动'})
|
||||
fieldList.push({type:'string',value:'data6112SN',text:'后测量右侧径向跳动 radial run out right post measuring 后测量右侧径向跳动'})
|
||||
fieldList.push({type:'string',value:'data6121SN',text:'后测量左侧轴向跳动 axial run out left post measuring 后测量左侧轴向跳动'})
|
||||
fieldList.push({type:'string',value:'data6122SN',text:'后测量右侧轴向跳动 axial run out right post measuring 后测量右侧轴向跳动'})
|
||||
fieldList.push({type:'string',value:'data6131SN',text:'后测量左侧直径 diameter post measuring left 后测量左侧直径'})
|
||||
fieldList.push({type:'string',value:'data6132SN',text:'后测量右侧直径 diameter post measuring right 后测量右侧直径'})
|
||||
fieldList.push({type:'string',value:'data621SN',text:'预测量左侧轴向跳动 axial run out left pre measuring 预测量左侧轴向跳动'})
|
||||
fieldList.push({type:'string',value:'data622SN',text:'预测量右侧轴向跳动 axial run out right pre measuring 预测量右侧轴向跳动'})
|
||||
fieldList.push({type:'string',value:'data731',text:'data731'})
|
||||
fieldList.push({type:'string',value:'data732',text:'data732'})
|
||||
fieldList.push({type:'string',value:'data741',text:'data741'})
|
||||
fieldList.push({type:'string',value:'data742',text:'data742'})
|
||||
fieldList.push({type:'string',value:'data7121SN',text:'后测量左侧轮缘厚度 flange thickness left post measuring 后测量左侧轮缘厚度'})
|
||||
fieldList.push({type:'string',value:'data7122SN',text:'后测量右侧轮缘厚度 flange thickness right post measuring 后测量右侧轮缘厚度'})
|
||||
fieldList.push({type:'string',value:'data7131SN',text:'后测量左侧轮缘高度 flange hight left post measuring 后测量左侧轮缘高度'})
|
||||
fieldList.push({type:'string',value:'data7132SN',text:'后测量右侧轮缘高度 flange hight right post measuring 后测量右侧轮缘高度'})
|
||||
fieldList.push({type:'string',value:'data7211SN',text:'左侧名义轮缘厚度 flang thickness nominal left 左侧名义轮缘厚度'})
|
||||
fieldList.push({type:'string',value:'data7212SN',text:'右侧名义轮缘厚度 flange thickness nominal right 右侧名义轮缘厚度'})
|
||||
fieldList.push({type:'string',value:'data7221SN',text:'左侧轮廓测量点坐标 X datas profile measuring points left 左侧轮廓测量点坐标'})
|
||||
fieldList.push({type:'string',value:'data7222SN',text:'右侧轮廓测量点坐标 X datas profile measuring points right 右侧轮廓测量点坐标'})
|
||||
this.superFieldList = fieldList
|
||||
},
|
||||
// 查询类型变更
|
||||
handleQueryTypeChange(value) {
|
||||
if (value === 'online') {
|
||||
// 切换到在线数据查询
|
||||
this.loadData(1)
|
||||
}
|
||||
},
|
||||
// 切换到历史数据查询
|
||||
switchToHistory() {
|
||||
this.queryType = 'history'
|
||||
},
|
||||
// 切换到在线数据查询
|
||||
switchToOnline() {
|
||||
this.queryType = 'online'
|
||||
this.queryMonth = undefined
|
||||
this.startTime = undefined
|
||||
this.endTime = undefined
|
||||
this.loadData(1)
|
||||
},
|
||||
// 重写加载数据方法
|
||||
loadData(arg) {
|
||||
if (!this.url.list) {
|
||||
this.$message.error('请设置url.list属性!')
|
||||
return
|
||||
}
|
||||
// 加载数据 若传入参数1则加载第一页的内容
|
||||
if (arg === 1) {
|
||||
this.ipagination.current = 1
|
||||
}
|
||||
let params = this.getQueryParams()// 查询条件
|
||||
if (this.queryType === 'history') {
|
||||
// 历史数据查询
|
||||
if (!this.startTime || !this.endTime) {
|
||||
this.$message.warning('请选择完整的起止时间')
|
||||
return
|
||||
}
|
||||
|
||||
if (this.startTime >= this.endTime) {
|
||||
this.$message.warning('开始时间必须小于结束时间')
|
||||
return
|
||||
}
|
||||
|
||||
params.startTime = this.startTime
|
||||
params.endTime = this.endTime
|
||||
|
||||
this.loading = true
|
||||
this.$http({
|
||||
url: this.url.historyList,
|
||||
method: 'get',
|
||||
params: params
|
||||
}).then((res) => {
|
||||
if (res.success) {
|
||||
this.dataSource = res.result.records
|
||||
this.ipagination.total = res.result.total
|
||||
} else {
|
||||
// 处理后端返回的错误信息
|
||||
this.$message.error(res.message)
|
||||
// 清空表格数据
|
||||
this.dataSource = []
|
||||
this.ipagination.total = 0
|
||||
}
|
||||
this.loading = false
|
||||
})
|
||||
} else {
|
||||
// 在线数据查询
|
||||
this.loading = true
|
||||
this.$http({
|
||||
url: this.url.list,
|
||||
method: 'get',
|
||||
params: params
|
||||
}).then((res) => {
|
||||
if (res.success) {
|
||||
this.dataSource = res.result.records
|
||||
this.ipagination.total = res.result.total
|
||||
} else {
|
||||
// 处理后端返回的错误信息
|
||||
this.$message.error(res.message)
|
||||
// 清空表格数据
|
||||
this.dataSource = []
|
||||
this.ipagination.total = 0
|
||||
}
|
||||
this.loading = false
|
||||
})
|
||||
}
|
||||
},
|
||||
handleEdit(record) {
|
||||
// 将查询类型和月份信息传递给编辑模态框
|
||||
this.$refs.modalForm.edit(record, this.queryType, this.queryMonth);
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
@import '~@assets/less/common.less';
|
||||
</style>
|
||||
@ -0,0 +1,378 @@
|
||||
<template>
|
||||
<a-spin :spinning="confirmLoading">
|
||||
<j-form-container :disabled="formDisabled">
|
||||
<a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
|
||||
<a-row>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="上传服务器名" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="serverName">
|
||||
<a-input v-model="model.serverName" placeholder="请输入上传服务器名" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="传感器ID" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sensorId">
|
||||
<a-input v-model="model.sensorId" placeholder="请输入传感器ID" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="状态 (0正常 1预警 2报警)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="status">
|
||||
<a-input-number v-model="model.status" placeholder="请输入状态 (0正常 1预警 2报警)" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="报警字段名" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="statusname">
|
||||
<a-input v-model="model.statusname" placeholder="请输入报警字段名 逗号分隔" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="协议版本" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data01">
|
||||
<a-input v-model="model.data01" placeholder="请输入协议版本" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="备注符号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data02">
|
||||
<a-input v-model="model.data02" placeholder="请输入备注符号" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="ANSII/binär" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data03">
|
||||
<a-input v-model="model.data03" placeholder="请输入ANSII/binär" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="数据隔离符号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data05">
|
||||
<a-input v-model="model.data05" placeholder="请输入数据隔离符号" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="部件数据隔离符号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data06">
|
||||
<a-input v-model="model.data06" placeholder="请输入部件数据隔离符号" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="机床类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data12">
|
||||
<a-input v-model="model.data12" placeholder="请输入机床类型" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="机床号码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data13">
|
||||
<a-input v-model="model.data13" placeholder="请输入机床号码" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="当前日期" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data19">
|
||||
<a-input v-model="model.data19" placeholder="请输入当前日期" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="当前时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data110">
|
||||
<a-input v-model="model.data110" placeholder="请输入当前时间" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="用户名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data21">
|
||||
<a-input v-model="model.data21" placeholder="请输入用户名称" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="操作者姓名" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data24">
|
||||
<a-input v-model="model.data24" placeholder="请输入操作者姓名" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="当前轮对识别号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data311">
|
||||
<a-input v-model="model.data311" placeholder="请输入当前轮对识别号" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="车辆编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data313">
|
||||
<a-input v-model="model.data313" placeholder="请输入车辆编码" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="加工原因" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data314n">
|
||||
<a-input v-model="model.data314n" placeholder="请输入加工原因" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="车辆方向" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data34">
|
||||
<a-input v-model="model.data34" placeholder="请输入车辆方向" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="当前车辆车轴配置" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data35">
|
||||
<a-input v-model="model.data35" placeholder="请输入当前车辆车轴配置" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="车辆号码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data38">
|
||||
<a-input v-model="model.data38" placeholder="请输入车辆号码" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="当前轮对号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data39">
|
||||
<a-input v-model="model.data39" placeholder="请输入当前轮对号" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="轮廓号码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data43sn">
|
||||
<a-input v-model="model.data43sn" placeholder="请输入轮廓号码" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="轮廓变量" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data44sn">
|
||||
<a-input v-model="model.data44sn" placeholder="请输入轮廓变量" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="公里数" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data55">
|
||||
<a-input v-model="model.data55" placeholder="请输入公里数" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="内侧距" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data58n">
|
||||
<a-input v-model="model.data58n" placeholder="请输入内侧距" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="预测量左侧径向跳动" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data611sn">
|
||||
<a-input v-model="model.data611sn" placeholder="请输入预测量左侧径向跳动" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="预测量右侧径向跳动" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data612sn">
|
||||
<a-input v-model="model.data612sn" placeholder="请输入预测量右侧径向跳动" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="data661" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data661">
|
||||
<a-input v-model="model.data661" placeholder="请输入data661" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="data662" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data662">
|
||||
<a-input v-model="model.data662" placeholder="请输入data662" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="data68" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data68">
|
||||
<a-input v-model="model.data68" placeholder="请输入data68" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="后测量左侧径向跳动" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data6111sn">
|
||||
<a-input v-model="model.data6111sn" placeholder="请输入后测量左侧径向跳动" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="后测量右侧径向跳动" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data6112sn">
|
||||
<a-input v-model="model.data6112sn" placeholder="请输入后测量右侧径向跳动" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="后测量左侧轴向跳动" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data6121sn">
|
||||
<a-input v-model="model.data6121sn" placeholder="请输入后测量左侧轴向跳动" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="后测量右侧轴向跳动" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data6122sn">
|
||||
<a-input v-model="model.data6122sn" placeholder="请输入后测量右侧轴向跳动" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="后测量左侧直径" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data6131sn">
|
||||
<a-input v-model="model.data6131sn" placeholder="请输入后测量左侧直径" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="后测量右侧直径" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data6132sn">
|
||||
<a-input v-model="model.data6132sn" placeholder="请输入后测量右侧直径" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="预测量左侧轴向跳动" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data621sn">
|
||||
<a-input v-model="model.data621sn" placeholder="请输入预测量左侧轴向跳动" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="预测量右侧轴向跳动" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data622sn">
|
||||
<a-input v-model="model.data622sn" placeholder="请输入预测量右侧轴向跳动" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="data731" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data731">
|
||||
<a-input v-model="model.data731" placeholder="请输入data731" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="data732" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data732">
|
||||
<a-input v-model="model.data732" placeholder="请输入data732" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="data741" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data741">
|
||||
<a-input v-model="model.data741" placeholder="请输入data741" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="data742" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data742">
|
||||
<a-input v-model="model.data742" placeholder="请输入data742" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="后测量左侧轮缘厚度" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data7121sn">
|
||||
<a-input v-model="model.data7121sn" placeholder="请输入后测量左侧轮缘厚度" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="后测量右侧轮缘厚度" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data7122sn">
|
||||
<a-input v-model="model.data7122sn" placeholder="请输入后测量右侧轮缘厚度" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="后测量左侧轮缘高度" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data7131sn">
|
||||
<a-input v-model="model.data7131sn" placeholder="请输入后测量左侧轮缘高度" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="后测量右侧轮缘高度" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data7132sn">
|
||||
<a-input v-model="model.data7132sn" placeholder="请输入后测量右侧轮缘高度" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="左侧名义轮缘厚度" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data7211sn">
|
||||
<a-input v-model="model.data7211sn" placeholder="请输入左侧名义轮缘厚度" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="右侧名义轮缘厚度" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data7212sn">
|
||||
<a-input v-model="model.data7212sn" placeholder="请输入右侧名义轮缘厚度" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="左侧轮廓测量点坐标" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data7221sn">
|
||||
<a-input v-model="model.data7221sn" placeholder="请输入左侧轮廓测量点坐标" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="右侧轮廓测量点坐标" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="data7222sn">
|
||||
<a-input v-model="model.data7222sn" placeholder="请输入右侧轮廓测量点坐标" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form-model>
|
||||
</j-form-container>
|
||||
</a-spin>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import { httpAction, getAction } from '@/api/manage'
|
||||
import { validateDuplicateValue } from '@/utils/util'
|
||||
|
||||
export default {
|
||||
name: 'BuZyExpDataOnlineForm',
|
||||
components: {
|
||||
},
|
||||
props: {
|
||||
//表单禁用
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
required: false
|
||||
},
|
||||
queryType: {
|
||||
type: String,
|
||||
default: 'online'
|
||||
},
|
||||
queryMonth: {
|
||||
type: String,
|
||||
default: undefined
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
model:{
|
||||
},
|
||||
labelCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 5 },
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 16 },
|
||||
},
|
||||
confirmLoading: false,
|
||||
validatorRules: {
|
||||
},
|
||||
url: {
|
||||
add: "/ZyExpDataOnline/buZyExpDataOnline/add",
|
||||
edit: "/ZyExpDataOnline/buZyExpDataOnline/edit",
|
||||
queryById: "/ZyExpDataOnline/buZyExpDataOnline/queryById"
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
formDisabled(){
|
||||
return this.disabled
|
||||
},
|
||||
},
|
||||
created () {
|
||||
//备份model原始值
|
||||
this.modelDefault = JSON.parse(JSON.stringify(this.model));
|
||||
},
|
||||
methods: {
|
||||
add () {
|
||||
this.edit(this.modelDefault);
|
||||
},
|
||||
edit (record, queryType, queryMonth) {
|
||||
this.model = Object.assign({}, record);
|
||||
this.visible = true;
|
||||
// Store the query type and month for use during submission
|
||||
this.currentQueryType = queryType;
|
||||
this.currentQueryMonth = queryMonth;
|
||||
},
|
||||
submitForm () {
|
||||
const that = this;
|
||||
// 触发表单验证
|
||||
this.$refs.form.validate(valid => {
|
||||
if (valid) {
|
||||
that.confirmLoading = true;
|
||||
let httpurl = '';
|
||||
let method = '';
|
||||
if(!this.model.id){
|
||||
httpurl+=this.url.add;
|
||||
method = 'post';
|
||||
}else{
|
||||
httpurl+=this.url.edit;
|
||||
method = 'put';
|
||||
|
||||
// If editing historical data, add query parameters
|
||||
if (this.currentQueryType === 'history' && this.currentQueryMonth) {
|
||||
httpurl += '?dataType=history&month=' + this.currentQueryMonth;
|
||||
}
|
||||
}
|
||||
|
||||
console.log('准备提交编辑请求:', {url: httpurl, data: this.model, method: method});
|
||||
|
||||
httpAction(httpurl,this.model,method).then((res)=>{
|
||||
console.log('收到编辑响应:', res);
|
||||
if(res.success){
|
||||
that.$message.success(res.message);
|
||||
that.$emit('ok');
|
||||
}else{
|
||||
that.$message.warning(res.message);
|
||||
console.error('编辑失败:', res);
|
||||
}
|
||||
}).catch((error) => {
|
||||
console.error('编辑请求异常:', error);
|
||||
that.$message.error('编辑请求异常: ' + (error.message || '网络错误'));
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false;
|
||||
})
|
||||
}
|
||||
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@ -0,0 +1,84 @@
|
||||
<template>
|
||||
<a-drawer
|
||||
:title="title"
|
||||
:width="width"
|
||||
placement="right"
|
||||
:closable="false"
|
||||
@close="close"
|
||||
destroyOnClose
|
||||
:visible="visible">
|
||||
<bu-zy-exp-data-online-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit" normal></bu-zy-exp-data-online-form>
|
||||
<div class="drawer-footer">
|
||||
<a-button @click="handleCancel" style="margin-bottom: 0;">关闭</a-button>
|
||||
<a-button v-if="!disableSubmit" @click="handleOk" type="primary" style="margin-bottom: 0;">提交</a-button>
|
||||
</div>
|
||||
</a-drawer>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import BuZyExpDataOnlineForm from './BuZyExpDataOnlineForm'
|
||||
|
||||
export default {
|
||||
name: 'BuZyExpDataOnlineModal',
|
||||
components: {
|
||||
BuZyExpDataOnlineForm
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
title:"操作",
|
||||
width:800,
|
||||
visible: false,
|
||||
disableSubmit: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
add () {
|
||||
this.visible=true
|
||||
this.$nextTick(()=>{
|
||||
this.$refs.realForm.add();
|
||||
})
|
||||
},
|
||||
edit (record) {
|
||||
this.visible=true
|
||||
this.$nextTick(()=>{
|
||||
this.$refs.realForm.edit(record);
|
||||
});
|
||||
},
|
||||
close () {
|
||||
this.$emit('close');
|
||||
this.visible = false;
|
||||
},
|
||||
submitCallback(){
|
||||
this.$emit('ok');
|
||||
this.visible = false;
|
||||
},
|
||||
handleOk () {
|
||||
this.$refs.realForm.submitForm();
|
||||
},
|
||||
handleCancel () {
|
||||
this.close()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
/** Button按钮间距 */
|
||||
.ant-btn {
|
||||
margin-left: 30px;
|
||||
margin-bottom: 30px;
|
||||
float: right;
|
||||
}
|
||||
.drawer-footer{
|
||||
position: absolute;
|
||||
bottom: -8px;
|
||||
width: 100%;
|
||||
border-top: 1px solid #e8e8e8;
|
||||
padding: 10px 16px;
|
||||
text-align: right;
|
||||
left: 0;
|
||||
background: #fff;
|
||||
border-radius: 0 0 2px 2px;
|
||||
}
|
||||
</style>
|
||||
@ -0,0 +1,70 @@
|
||||
<template>
|
||||
<j-modal
|
||||
:title="title"
|
||||
:width="width"
|
||||
:visible="visible"
|
||||
switchFullscreen
|
||||
@ok="handleOk"
|
||||
:okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
|
||||
@cancel="handleCancel"
|
||||
cancelText="关闭">
|
||||
<bu-zy-exp-data-online-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit" :query-type="queryType" :query-month="queryMonth"></bu-zy-exp-data-online-form>
|
||||
</j-modal>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import BuZyExpDataOnlineForm from './BuZyExpDataOnlineForm'
|
||||
export default {
|
||||
name: 'BuZyExpDataOnlineModal',
|
||||
components: {
|
||||
BuZyExpDataOnlineForm
|
||||
},
|
||||
props: {
|
||||
queryType: {
|
||||
type: String,
|
||||
default: 'online'
|
||||
},
|
||||
queryMonth: {
|
||||
type: String,
|
||||
default: undefined
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
title:'',
|
||||
width:800,
|
||||
visible: false,
|
||||
disableSubmit: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
add () {
|
||||
this.visible=true
|
||||
this.$nextTick(()=>{
|
||||
this.$refs.realForm.add();
|
||||
})
|
||||
},
|
||||
edit (record, queryType, queryMonth) {
|
||||
this.visible=true
|
||||
this.$nextTick(()=>{
|
||||
this.$refs.realForm.edit(record, queryType, queryMonth);
|
||||
})
|
||||
},
|
||||
close () {
|
||||
this.$emit('close');
|
||||
this.visible = false;
|
||||
},
|
||||
handleOk () {
|
||||
this.$refs.realForm.submitForm();
|
||||
},
|
||||
submitCallback(){
|
||||
this.$emit('ok');
|
||||
this.visible = false;
|
||||
},
|
||||
handleCancel () {
|
||||
this.close()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
1119
jeecg-device-master/src/views/ZyNrgcc/BuZyNrgccOnlineList.vue
Normal file
@ -0,0 +1,766 @@
|
||||
<template>
|
||||
<a-spin :spinning="confirmLoading">
|
||||
<j-form-container :disabled="formDisabled">
|
||||
<a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
|
||||
<a-row>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="上传服务器名" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="serverName">
|
||||
<a-input v-model="model.serverName" placeholder="请输入上传服务器名" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="传感器ID" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sensorId">
|
||||
<a-input v-model="model.sensorId" placeholder="请输入传感器ID" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="status">
|
||||
<a-input-number v-model="model.status" placeholder="请输入状态" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="报警字段名" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="statusname">
|
||||
<a-textarea v-model="model.statusname" rows="4" placeholder="请输入报警字段名" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="机车速度" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="vw4500">
|
||||
<a-input-number v-model="model.vw4500" placeholder="请输入机车速度" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="传动箱子转速" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="vw4502">
|
||||
<a-input-number v-model="model.vw4502" placeholder="请输入传动箱子转速" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="蓄电池电流" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="vw4504">
|
||||
<a-input-number v-model="model.vw4504" placeholder="请输入蓄电池电流" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="蓄电池电压" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="vw4506">
|
||||
<a-input-number v-model="model.vw4506" placeholder="请输入蓄电池电压" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="柴油机转速" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="vw4508">
|
||||
<a-input-number v-model="model.vw4508" placeholder="请输入柴油机转速" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="蓄电池电压" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="vw4510">
|
||||
<a-input-number v-model="model.vw4510" placeholder="请输入蓄电池电压" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="传动箱油温" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="vw4512">
|
||||
<a-input-number v-model="model.vw4512" placeholder="请输入传动箱油温" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="传动箱压力" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="vw4514">
|
||||
<a-input-number v-model="model.vw4514" placeholder="请输入传动箱压力" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="冷却水温度" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="vw4516">
|
||||
<a-input-number v-model="model.vw4516" placeholder="请输入冷却水温度" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="滑油压力" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="vw4518">
|
||||
<a-input-number v-model="model.vw4518" placeholder="请输入滑油压力" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="滑油温度" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="vw4520">
|
||||
<a-input-number v-model="model.vw4520" placeholder="请输入滑油温度" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="负载反馈" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="vw4522">
|
||||
<a-input-number v-model="model.vw4522" placeholder="请输入负载反馈" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="柴油机工作计时H" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="vw4526">
|
||||
<a-input-number v-model="model.vw4526" placeholder="请输入柴油机工作计时H" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="燃料温度" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="vw4530">
|
||||
<a-input-number v-model="model.vw4530" placeholder="请输入燃料温度" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="燃油压力" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="vw4532">
|
||||
<a-input-number v-model="model.vw4532" placeholder="请输入燃油压力" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="前进输入" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45345">
|
||||
<a-input-number v-model="model.v45345" placeholder="请输入前进输入" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="后退输入" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45346">
|
||||
<a-input-number v-model="model.v45346" placeholder="请输入后退输入" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="加载0位输入" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45347">
|
||||
<a-input-number v-model="model.v45347" placeholder="请输入加载0位输入" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="加载1位输入" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45350">
|
||||
<a-input-number v-model="model.v45350" placeholder="请输入加载1位输入" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="升输入" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45351">
|
||||
<a-input-number v-model="model.v45351" placeholder="请输入升输入" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="保输入" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45352">
|
||||
<a-input-number v-model="model.v45352" placeholder="请输入保输入" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="降输入" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45353">
|
||||
<a-input-number v-model="model.v45353" placeholder="请输入降输入" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="自动换档输入" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45354">
|
||||
<a-input-number v-model="model.v45354" placeholder="请输入自动换档输入" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="手动1档输入" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45355">
|
||||
<a-input-number v-model="model.v45355" placeholder="请输入手动1档输入" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="手动2档输入" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45356">
|
||||
<a-input-number v-model="model.v45356" placeholder="请输入手动2档输入" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="手动3档输入" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45357">
|
||||
<a-input-number v-model="model.v45357" placeholder="请输入手动3档输入" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="手动4档输入" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45360">
|
||||
<a-input-number v-model="model.v45360" placeholder="请输入手动4档输入" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="柴油机起动按钮输入" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45361">
|
||||
<a-input-number v-model="model.v45361" placeholder="请输入柴油机起动按钮输入" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="紧急制动按钮输入" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45362">
|
||||
<a-input-number v-model="model.v45362" placeholder="请输入紧急制动按钮输入" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="停放制动继电器反馈" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45363">
|
||||
<a-input-number v-model="model.v45363" placeholder="请输入停放制动继电器反馈" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="加载保护继电器反馈" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45364">
|
||||
<a-input-number v-model="model.v45364" placeholder="请输入加载保护继电器反馈" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="撒砂输入" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45367">
|
||||
<a-input-number v-model="model.v45367" placeholder="请输入撒砂输入" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="柴油机报警输入" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45370">
|
||||
<a-input-number v-model="model.v45370" placeholder="请输入柴油机报警输入" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="总风缸压力开关输入" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45371">
|
||||
<a-input-number v-model="model.v45371" placeholder="请输入总风缸压力开关输入" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="空压机过温输入" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45373">
|
||||
<a-input-number v-model="model.v45373" placeholder="请输入空压机过温输入" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="3km低恒速" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45374">
|
||||
<a-input-number v-model="model.v45374" placeholder="请输入3km低恒速" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="5km低恒速" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45375">
|
||||
<a-input-number v-model="model.v45375" placeholder="请输入5km低恒速" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="8km低恒速" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45376">
|
||||
<a-input-number v-model="model.v45376" placeholder="请输入8km低恒速" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="紧急停机" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45377">
|
||||
<a-input-number v-model="model.v45377" placeholder="请输入紧急停机" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="通风" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45380">
|
||||
<a-input-number v-model="model.v45380" placeholder="请输入通风" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="启动" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45381">
|
||||
<a-input-number v-model="model.v45381" placeholder="请输入启动" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="制冷" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45382">
|
||||
<a-input-number v-model="model.v45382" placeholder="请输入制冷" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="制热" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45383">
|
||||
<a-input-number v-model="model.v45383" placeholder="请输入制热" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="他车主机信号入" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45384">
|
||||
<a-input-number v-model="model.v45384" placeholder="请输入他车主机信号入" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="补车柴油机起动按钮" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45385">
|
||||
<a-input-number v-model="model.v45385" placeholder="请输入补车柴油机起动按钮" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="检测车停放制动重联" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45386">
|
||||
<a-input-number v-model="model.v45386" placeholder="请输入检测车停放制动重联" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="他车柴油机停机按钮" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45387">
|
||||
<a-input-number v-model="model.v45387" placeholder="请输入他车柴油机停机按钮" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="空调电机启动器反馈" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45390">
|
||||
<a-input-number v-model="model.v45390" placeholder="请输入空调电机启动器反馈" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="相序继电器反馈" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45392">
|
||||
<a-input-number v-model="model.v45392" placeholder="请输入相序继电器反馈" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="高压压力保护" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45393">
|
||||
<a-input-number v-model="model.v45393" placeholder="请输入高压压力保护" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="低压压力保护" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45394">
|
||||
<a-input-number v-model="model.v45394" placeholder="请输入低压压力保护" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="过热保护" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45395">
|
||||
<a-input-number v-model="model.v45395" placeholder="请输入过热保护" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="后向电磁阀输出" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45402">
|
||||
<a-input-number v-model="model.v45402" placeholder="请输入后向电磁阀输出" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="前向电磁阀输出" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45403">
|
||||
<a-input-number v-model="model.v45403" placeholder="请输入前向电磁阀输出" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="四档电磁阀输出" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45404">
|
||||
<a-input-number v-model="model.v45404" placeholder="请输入四档电磁阀输出" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="三档电磁阀输出" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45405">
|
||||
<a-input-number v-model="model.v45405" placeholder="请输入三档电磁阀输出" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="二档电磁阀输出" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45406">
|
||||
<a-input-number v-model="model.v45406" placeholder="请输入二档电磁阀输出" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="一档电磁阀输出" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45407">
|
||||
<a-input-number v-model="model.v45407" placeholder="请输入一档电磁阀输出" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="蜂鸣器输出" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45410">
|
||||
<a-input-number v-model="model.v45410" placeholder="请输入蜂鸣器输出" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="前向撒砂输出" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45411">
|
||||
<a-input-number v-model="model.v45411" placeholder="请输入前向撒砂输出" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="后向撒砂输出" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45412">
|
||||
<a-input-number v-model="model.v45412" placeholder="请输入后向撒砂输出" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="排水阀输出" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45414">
|
||||
<a-input-number v-model="model.v45414" placeholder="请输入排水阀输出" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="空压机进气输出" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45415">
|
||||
<a-input-number v-model="model.v45415" placeholder="请输入空压机进气输出" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="放风阀输出" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45416">
|
||||
<a-input-number v-model="model.v45416" placeholder="请输入放风阀输出" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="柴油机起动输出" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45424">
|
||||
<a-input-number v-model="model.v45424" placeholder="请输入柴油机起动输出" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="柴油机停机输出" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45425">
|
||||
<a-input-number v-model="model.v45425" placeholder="请输入柴油机停机输出" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="PTO允许输出" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45426">
|
||||
<a-input-number v-model="model.v45426" placeholder="请输入PTO允许输出" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="PTO升速输出" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45427">
|
||||
<a-input-number v-model="model.v45427" placeholder="请输入PTO升速输出" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="PTO降速输出" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45430">
|
||||
<a-input-number v-model="model.v45430" placeholder="请输入PTO降速输出" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="干燥器" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45432">
|
||||
<a-input-number v-model="model.v45432" placeholder="请输入干燥器" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="前向风笛10K输出" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45433">
|
||||
<a-input-number v-model="model.v45433" placeholder="请输入前向风笛10K输出" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="后向风笛9K输出" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45434">
|
||||
<a-input-number v-model="model.v45434" placeholder="请输入后向风笛9K输出" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="本车从机确认" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45435">
|
||||
<a-input-number v-model="model.v45435" placeholder="请输入本车从机确认" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="柴油机工作" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45436">
|
||||
<a-input-number v-model="model.v45436" placeholder="请输入柴油机工作" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="空调电源相序错误报警" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45440">
|
||||
<a-input-number v-model="model.v45440" placeholder="请输入空调电源相序错误报警" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="滑油液位低禁止启机" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45441">
|
||||
<a-input-number v-model="model.v45441" placeholder="请输入滑油液位低禁止启机" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="列车管风压低报警卸载" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45442">
|
||||
<a-input-number v-model="model.v45442" placeholder="请输入列车管风压低报警卸载" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="紧急制动报警卸载" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45443">
|
||||
<a-input-number v-model="model.v45443" placeholder="请输入紧急制动报警卸载" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="停放制动报警卸载" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45444">
|
||||
<a-input-number v-model="model.v45444" placeholder="请输入停放制动报警卸载" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="紧急停机报警" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45447">
|
||||
<a-input-number v-model="model.v45447" placeholder="请输入紧急停机报警" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="传动箱油温高报警" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45450">
|
||||
<a-input-number v-model="model.v45450" placeholder="请输入传动箱油温高报警" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="传动箱油温高报警卸载" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45451">
|
||||
<a-input-number v-model="model.v45451" placeholder="请输入传动箱油温高报警卸载" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="传动箱油压高报警" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45452">
|
||||
<a-input-number v-model="model.v45452" placeholder="请输入传动箱油压高报警" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="传动箱油压高报警卸载" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45453">
|
||||
<a-input-number v-model="model.v45453" placeholder="请输入传动箱油压高报警卸载" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="冷却水水温高报警" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45454">
|
||||
<a-input-number v-model="model.v45454" placeholder="请输入冷却水水温高报警" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="冷却水水温高报警卸载" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45455">
|
||||
<a-input-number v-model="model.v45455" placeholder="请输入冷却水水温高报警卸载" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="滑油压力低报警" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45456">
|
||||
<a-input-number v-model="model.v45456" placeholder="请输入滑油压力低报警" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="滑油温度高报警" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45457">
|
||||
<a-input-number v-model="model.v45457" placeholder="请输入滑油温度高报警" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="传动箱油温高卸载停机" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45460">
|
||||
<a-input-number v-model="model.v45460" placeholder="请输入传动箱油温高卸载停机" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="柴油机超速卸停机" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45461">
|
||||
<a-input-number v-model="model.v45461" placeholder="请输入柴油机超速卸停机" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="柴油机硬线报警" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45462">
|
||||
<a-input-number v-model="model.v45462" placeholder="请输入柴油机硬线报警" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="机车超速报警" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45463">
|
||||
<a-input-number v-model="model.v45463" placeholder="请输入机车超速报警" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="机车超速卸载" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45464">
|
||||
<a-input-number v-model="model.v45464" placeholder="请输入机车超速卸载" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="冷却水液位低报警" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45465">
|
||||
<a-input-number v-model="model.v45465" placeholder="请输入冷却水液位低报警" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="换向降柴油机转速" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45466">
|
||||
<a-input-number v-model="model.v45466" placeholder="请输入换向降柴油机转速" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="空调电机过载" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45467">
|
||||
<a-input-number v-model="model.v45467" placeholder="请输入空调电机过载" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="空调过热保护" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45471">
|
||||
<a-input-number v-model="model.v45471" placeholder="请输入空调过热保护" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="空调高压故障锁死" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45473">
|
||||
<a-input-number v-model="model.v45473" placeholder="请输入空调高压故障锁死" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="空调高压故障" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45474">
|
||||
<a-input-number v-model="model.v45474" placeholder="请输入空调高压故障" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="空档" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45480">
|
||||
<a-input-number v-model="model.v45480" placeholder="请输入空档" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="换挡1档" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45481">
|
||||
<a-input-number v-model="model.v45481" placeholder="请输入换挡1档" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="换挡2档" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45482">
|
||||
<a-input-number v-model="model.v45482" placeholder="请输入换挡2档" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="换挡3档" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45483">
|
||||
<a-input-number v-model="model.v45483" placeholder="请输入换挡3档" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="换挡4档" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45484">
|
||||
<a-input-number v-model="model.v45484" placeholder="请输入换挡4档" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="机车前向" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45485">
|
||||
<a-input-number v-model="model.v45485" placeholder="请输入机车前向" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="机车后向" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45486">
|
||||
<a-input-number v-model="model.v45486" placeholder="请输入机车后向" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="机车前向加载" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45487">
|
||||
<a-input-number v-model="model.v45487" placeholder="请输入机车前向加载" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="机车后向加载" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45490">
|
||||
<a-input-number v-model="model.v45490" placeholder="请输入机车后向加载" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="空调低压故障锁死" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45491">
|
||||
<a-input-number v-model="model.v45491" placeholder="请输入空调低压故障锁死" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="空调低压故障" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45492">
|
||||
<a-input-number v-model="model.v45492" placeholder="请输入空调低压故障" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="机车超速紧急制动" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45495">
|
||||
<a-input-number v-model="model.v45495" placeholder="请输入机车超速紧急制动" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="柴油机停机硬线" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45496">
|
||||
<a-input-number v-model="model.v45496" placeholder="请输入柴油机停机硬线" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="燃油压力低报警" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45497">
|
||||
<a-input-number v-model="model.v45497" placeholder="请输入燃油压力低报警" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="机车里程" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="vw4550">
|
||||
<a-input-number v-model="model.vw4550" placeholder="请输入机车里程" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="机车程序版本号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="vw4554">
|
||||
<a-input-number v-model="model.vw4554" placeholder="请输入机车程序版本号" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="理论换档速度升" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="vw4556">
|
||||
<a-input-number v-model="model.vw4556" placeholder="请输入理论换档速度升" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="理论换档速度降" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="vw4558">
|
||||
<a-input-number v-model="model.vw4558" placeholder="请输入理论换档速度降" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="柴油机停机" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45601">
|
||||
<a-input-number v-model="model.v45601" placeholder="请输入柴油机停机" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="他车从机" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45602">
|
||||
<a-input-number v-model="model.v45602" placeholder="请输入他车从机" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="低水位报警" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45603">
|
||||
<a-input-number v-model="model.v45603" placeholder="请输入低水位报警" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="柴油机停机报警" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45604">
|
||||
<a-input-number v-model="model.v45604" placeholder="请输入柴油机停机报警" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="风笛按钮输入" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45605">
|
||||
<a-input-number v-model="model.v45605" placeholder="请输入风笛按钮输入" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="旁路制动按钮输入" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45606">
|
||||
<a-input-number v-model="model.v45606" placeholder="请输入旁路制动按钮输入" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="电加热器" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45624">
|
||||
<a-input-number v-model="model.v45624" placeholder="请输入电加热器" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="室内风机" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45625">
|
||||
<a-input-number v-model="model.v45625" placeholder="请输入室内风机" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="室外风机" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45626">
|
||||
<a-input-number v-model="model.v45626" placeholder="请输入室外风机" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="压缩机" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="v45627">
|
||||
<a-input-number v-model="model.v45627" placeholder="请输入压缩机" style="width: 100%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form-model>
|
||||
</j-form-container>
|
||||
</a-spin>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import { httpAction, getAction } from '@/api/manage'
|
||||
import { validateDuplicateValue } from '@/utils/util'
|
||||
|
||||
export default {
|
||||
name: 'BuZyNrgccOnlineForm',
|
||||
components: {
|
||||
},
|
||||
props: {
|
||||
//表单禁用
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
required: false
|
||||
},
|
||||
// 添加查询类型和月份参数
|
||||
queryType: {
|
||||
type: String,
|
||||
default: 'online'
|
||||
},
|
||||
queryMonth: {
|
||||
type: String,
|
||||
default: undefined
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
model:{
|
||||
},
|
||||
labelCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 5 },
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 16 },
|
||||
},
|
||||
confirmLoading: false,
|
||||
validatorRules: {
|
||||
},
|
||||
url: {
|
||||
add: "/ZyNrgcc/buZyNrgccOnline/add",
|
||||
edit: "/ZyNrgcc/buZyNrgccOnline/edit",
|
||||
queryById: "/ZyNrgcc/buZyNrgccOnline/queryById"
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
formDisabled(){
|
||||
return this.disabled
|
||||
},
|
||||
},
|
||||
created () {
|
||||
//备份model原始值
|
||||
this.modelDefault = JSON.parse(JSON.stringify(this.model));
|
||||
},
|
||||
methods: {
|
||||
add () {
|
||||
this.edit(this.modelDefault);
|
||||
},
|
||||
edit (record) {
|
||||
this.model = Object.assign({}, record);
|
||||
this.visible = true;
|
||||
// Store the query type and month for use during submission
|
||||
this.currentQueryType = queryType;
|
||||
this.currentQueryMonth = queryMonth;
|
||||
},
|
||||
submitForm () {
|
||||
const that = this;
|
||||
// 触发表单验证
|
||||
this.$refs.form.validate(valid => {
|
||||
if (valid) {
|
||||
that.confirmLoading = true;
|
||||
let httpurl = '';
|
||||
let method = '';
|
||||
if(!this.model.id){
|
||||
httpurl+=this.url.add;
|
||||
method = 'post';
|
||||
}else{
|
||||
httpurl+=this.url.edit;
|
||||
method = 'put';
|
||||
}
|
||||
httpAction(httpurl,this.model,method).then((res)=>{
|
||||
if(res.success){
|
||||
that.$message.success(res.message);
|
||||
that.$emit('ok');
|
||||
}else{
|
||||
that.$message.warning(res.message);
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false;
|
||||
})
|
||||
}
|
||||
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@ -0,0 +1,84 @@
|
||||
<template>
|
||||
<a-drawer
|
||||
:title="title"
|
||||
:width="width"
|
||||
placement="right"
|
||||
:closable="false"
|
||||
@close="close"
|
||||
destroyOnClose
|
||||
:visible="visible">
|
||||
<bu-zy-nrgcc-online-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit" normal></bu-zy-nrgcc-online-form>
|
||||
<div class="drawer-footer">
|
||||
<a-button @click="handleCancel" style="margin-bottom: 0;">关闭</a-button>
|
||||
<a-button v-if="!disableSubmit" @click="handleOk" type="primary" style="margin-bottom: 0;">提交</a-button>
|
||||
</div>
|
||||
</a-drawer>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import BuZyNrgccOnlineForm from './BuZyNrgccOnlineForm'
|
||||
|
||||
export default {
|
||||
name: 'BuZyNrgccOnlineModal',
|
||||
components: {
|
||||
BuZyNrgccOnlineForm
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
title:"操作",
|
||||
width:800,
|
||||
visible: false,
|
||||
disableSubmit: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
add () {
|
||||
this.visible=true
|
||||
this.$nextTick(()=>{
|
||||
this.$refs.realForm.add();
|
||||
})
|
||||
},
|
||||
edit (record) {
|
||||
this.visible=true
|
||||
this.$nextTick(()=>{
|
||||
this.$refs.realForm.edit(record);
|
||||
});
|
||||
},
|
||||
close () {
|
||||
this.$emit('close');
|
||||
this.visible = false;
|
||||
},
|
||||
submitCallback(){
|
||||
this.$emit('ok');
|
||||
this.visible = false;
|
||||
},
|
||||
handleOk () {
|
||||
this.$refs.realForm.submitForm();
|
||||
},
|
||||
handleCancel () {
|
||||
this.close()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
/** Button按钮间距 */
|
||||
.ant-btn {
|
||||
margin-left: 30px;
|
||||
margin-bottom: 30px;
|
||||
float: right;
|
||||
}
|
||||
.drawer-footer{
|
||||
position: absolute;
|
||||
bottom: -8px;
|
||||
width: 100%;
|
||||
border-top: 1px solid #e8e8e8;
|
||||
padding: 10px 16px;
|
||||
text-align: right;
|
||||
left: 0;
|
||||
background: #fff;
|
||||
border-radius: 0 0 2px 2px;
|
||||
}
|
||||
</style>
|
||||
@ -0,0 +1,70 @@
|
||||
<template>
|
||||
<j-modal
|
||||
:title="title"
|
||||
:width="width"
|
||||
:visible="visible"
|
||||
switchFullscreen
|
||||
@ok="handleOk"
|
||||
:okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
|
||||
@cancel="handleCancel"
|
||||
cancelText="关闭">
|
||||
<bu-zy-nrgcc-online-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></bu-zy-nrgcc-online-form>
|
||||
</j-modal>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import BuZyNrgccOnlineForm from './BuZyNrgccOnlineForm'
|
||||
export default {
|
||||
name: 'BuZyNrgccOnlineModal',
|
||||
components: {
|
||||
BuZyNrgccOnlineForm
|
||||
},
|
||||
props: {
|
||||
queryType: {
|
||||
type: String,
|
||||
default: 'online'
|
||||
},
|
||||
queryMonth: {
|
||||
type: String,
|
||||
default: undefined
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
title:'',
|
||||
width:800,
|
||||
visible: false,
|
||||
disableSubmit: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
add () {
|
||||
this.visible=true
|
||||
this.$nextTick(()=>{
|
||||
this.$refs.realForm.add();
|
||||
})
|
||||
},
|
||||
edit (record) {
|
||||
this.visible=true
|
||||
this.$nextTick(()=>{
|
||||
this.$refs.realForm.edit(record, this.queryType, this.queryMonth);
|
||||
})
|
||||
},
|
||||
close () {
|
||||
this.$emit('close');
|
||||
this.visible = false;
|
||||
},
|
||||
handleOk () {
|
||||
this.$refs.realForm.submitForm();
|
||||
},
|
||||
submitCallback(){
|
||||
this.$emit('ok');
|
||||
this.visible = false;
|
||||
},
|
||||
handleCancel () {
|
||||
this.close()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
332
jeecg-device-master/src/views/accessoryLedger/css/style.css
Normal file
@ -0,0 +1,332 @@
|
||||
body{
|
||||
margin: 0;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "HanSans";
|
||||
src: url('../font/SourceHanSansCN-Bold.otf');
|
||||
}
|
||||
@font-face {
|
||||
font-family: "HanSansRegular";
|
||||
src: url('../font/SourceHanSansCN-Regular.otf');
|
||||
}
|
||||
@font-face {
|
||||
font-family: "HanSansMedium";
|
||||
src: url('../font/SourceHanSansCNMedium.otf');
|
||||
}
|
||||
body *{
|
||||
box-sizing: border-box;
|
||||
font-family: 'HanSansMedium';
|
||||
}
|
||||
.container{
|
||||
width: 100vw;
|
||||
height: 56.25vw;
|
||||
background-image: url(../images/bg.png);
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
background-position: center;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
overflow: hidden;
|
||||
}
|
||||
.container-title {
|
||||
width: 100%;
|
||||
height: 7.407vh;
|
||||
line-height: 7.407vh;
|
||||
font-size: 1.875vw;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
font-weight: 600;
|
||||
|
||||
}
|
||||
.container-slide {
|
||||
width: 480px;
|
||||
height: 92.593vh;
|
||||
margin: 0 20px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin-top: -20px;
|
||||
}
|
||||
.container-center-item,
|
||||
.container-slide-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.container-slide-item-title {
|
||||
width: 100%;
|
||||
height: 36px;
|
||||
font-size: 16px;
|
||||
letter-spacing: 4px;
|
||||
color: rgb(219, 228, 255);
|
||||
padding-left: 22px;
|
||||
background-image: url(../images/item_title.png);
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
margin-bottom: 8px;
|
||||
background-position: left bottom;
|
||||
margin-top: 2px;
|
||||
}
|
||||
.container-slide-item-content {
|
||||
padding: 14px 20px;
|
||||
}
|
||||
.container-slide-chart {
|
||||
width: 100%;
|
||||
height: 20vh;
|
||||
}
|
||||
.container-center {
|
||||
height: 92.593vh;
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.container-center-item-title {
|
||||
width: 100%;
|
||||
height: 36px;
|
||||
font-size: 16px;
|
||||
letter-spacing: 4px;
|
||||
color: #DBE4FF;
|
||||
padding-left: 22px;
|
||||
background-image: url(../images/center_title.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: left bottom;
|
||||
background-size: 100% 100%;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
/* 中间配件状态 */
|
||||
.container-center-schedule-info{
|
||||
width: 100%;
|
||||
padding: 14px;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
/* background-color: #031227; */
|
||||
}
|
||||
.container-center-schedule-item{
|
||||
width: 180px;
|
||||
height: 140px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 98% 98%;
|
||||
background-image: url(../images/free.png);
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
margin-right: 40px;
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
.container-center-schedule-item:nth-child(4n){
|
||||
margin-right: 0;
|
||||
}
|
||||
.container-center-schedule-running{
|
||||
background-image: url(../images/running.png);
|
||||
}
|
||||
.container-center-schedule-repair{
|
||||
background-image: url(../images/repair.png);
|
||||
}
|
||||
.container-center-schedule-warning{
|
||||
background-image: url(../images/warning.png);
|
||||
}
|
||||
.container-center-schedule-number{
|
||||
font-size: 20px;
|
||||
line-height: 34px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
.container-center-schedule-status{
|
||||
font-size: 12px;
|
||||
line-height: 14px;
|
||||
margin-top: 4px;
|
||||
margin-bottom: 14px;
|
||||
}
|
||||
.container-center-schedule-text{
|
||||
font-size: 12px;
|
||||
line-height: 24px;
|
||||
}
|
||||
/* 表格 */
|
||||
.container-table{
|
||||
display: table;
|
||||
width: 100%;
|
||||
color: #fff;
|
||||
font-size: 12px;
|
||||
text-align: center;
|
||||
}
|
||||
.container-table-row{
|
||||
display: table-row;
|
||||
width: 100%;
|
||||
color: #eeeeee;
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
.container-table-row:nth-of-type(1) {
|
||||
display: table-header-group;
|
||||
background-color: #133163;
|
||||
color: #cccccc;
|
||||
}
|
||||
.container-table-cell, .container-table-head {
|
||||
display: table-cell;
|
||||
padding: 6px 8px;
|
||||
line-height: 24px;
|
||||
}
|
||||
.container-table-head{
|
||||
font-weight: bold;
|
||||
|
||||
}
|
||||
.container-table-cell{
|
||||
border-bottom: 1px solid #eeeeee40;
|
||||
}
|
||||
.container-table-cell span{
|
||||
display: inline-block;
|
||||
width: 52px;
|
||||
padding: 0px 8px;
|
||||
border-radius: 9px;
|
||||
line-height: 18px;
|
||||
}
|
||||
/* 排名 */
|
||||
.container-data-item{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
height: 48px;
|
||||
align-items: center;
|
||||
background-image: url(../images/data_bg.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-size: 100%;
|
||||
font-size: 14px;
|
||||
font-weight: 300;
|
||||
padding: 0 24px;
|
||||
margin-top: 14px;
|
||||
opacity: 0.5;
|
||||
}
|
||||
.container-data-item-icon{
|
||||
width: 28px;
|
||||
height: 32px;
|
||||
background-image: url(../images/icon_bg.svg);
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-size: 100%;
|
||||
margin-right: 18px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.container-data-item *{
|
||||
color: #4EE5CA;
|
||||
}
|
||||
.container-data-item-icon img{
|
||||
width: 24px;
|
||||
}
|
||||
.container-data-item-label{
|
||||
width: 200px;
|
||||
}
|
||||
.container-data-item-data{
|
||||
flex: 1;
|
||||
}
|
||||
.container-data-item:nth-child(1){
|
||||
opacity: 0.8;
|
||||
margin-top: 0;
|
||||
}
|
||||
.container-data-item:nth-child(1) .container-data-item-icon{
|
||||
background-image: url(../images/icon_bg1.svg);
|
||||
}
|
||||
.container-data-item:nth-child(1) *{
|
||||
color: #F83F55;
|
||||
}
|
||||
.container-data-item:nth-child(2){
|
||||
opacity: 0.7;
|
||||
}
|
||||
.container-data-item:nth-child(2) .container-data-item-icon{
|
||||
background-image: url(../images/icon_bg2.svg);
|
||||
}
|
||||
.container-data-item:nth-child(2) *{
|
||||
color: #E3E54E;
|
||||
}
|
||||
.container-data-item:nth-child(3){
|
||||
opacity: 0.6;
|
||||
}
|
||||
.container-data-item:nth-child(3) .container-data-item-icon{
|
||||
background-image: url(../images/icon_bg3.svg);
|
||||
}
|
||||
.container-data-item:nth-child(3) *{
|
||||
color: #00a6ff;
|
||||
}
|
||||
/* 告警信息 */
|
||||
.container-item-warning-info{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-around;
|
||||
padding: 0 28px;
|
||||
}
|
||||
.container-item-warning-item{
|
||||
width: 100px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.container-item-warning-number{
|
||||
width: 90px;
|
||||
height: 110px;
|
||||
background-image: url(../images/warn_number.png);
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 88%;
|
||||
font-size: 28px;
|
||||
color: #fff;
|
||||
font-weight: 600;
|
||||
line-height: 100px;
|
||||
text-align: center;
|
||||
}
|
||||
.container-item-warning-type{
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
font-weight: 300;
|
||||
color: #C9E9FE;
|
||||
margin-top: 14px;
|
||||
}
|
||||
.container-item-warning-list{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.container-item-warning-message{
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
display: flex;
|
||||
background-image: url(../images/message4.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-size: 100% 100%;
|
||||
color: #ebebeb;
|
||||
margin: 2px 0;
|
||||
}
|
||||
.container-item-warning-message:nth-child(1){
|
||||
background-image: url(../images/message1.png);
|
||||
color: #F83F55;
|
||||
}
|
||||
.container-item-warning-message:nth-child(2){
|
||||
background-image: url(../images/message2.png);
|
||||
color: #E3E54E;
|
||||
}
|
||||
.container-item-warning-message:nth-child(3){
|
||||
background-image: url(../images/message3.png);
|
||||
color: #4EE5CA;
|
||||
}
|
||||
.container-item-warning-message-number{
|
||||
width: 16px;
|
||||
text-align: center;
|
||||
margin-left: 14px;
|
||||
margin-right: 12px;
|
||||
}
|
||||
.container-item-warning-message-content{
|
||||
flex: 1;
|
||||
}
|
||||
.container-item-warning-message-date{
|
||||
width: 96px;
|
||||
text-align: center;
|
||||
margin-left: 14px;
|
||||
}
|
||||
BIN
jeecg-device-master/src/views/accessoryLedger/font/impact.ttf
Normal file
BIN
jeecg-device-master/src/views/accessoryLedger/font/思源黑体R.ttf
Normal file
BIN
jeecg-device-master/src/views/accessoryLedger/images/bg.png
Normal file
|
After Width: | Height: | Size: 461 KiB |
|
After Width: | Height: | Size: 912 B |
BIN
jeecg-device-master/src/views/accessoryLedger/images/data_bg.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 673 B |
BIN
jeecg-device-master/src/views/accessoryLedger/images/free.png
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
jeecg-device-master/src/views/accessoryLedger/images/icon_bg.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
@ -0,0 +1,64 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="81.6436mm"
|
||||
height="94.273903mm"
|
||||
viewBox="0 0 81.6436 94.273903"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
|
||||
sodipodi:docname="icon_bg.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview7"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:zoom="0.763461"
|
||||
inkscape:cx="201.71299"
|
||||
inkscape:cy="222.67018"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs2" />
|
||||
<g
|
||||
inkscape:label="图层 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-51.709121,-89.753363)">
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="opacity:0.4;fill:#06d486;stroke-width:5;paint-order:markers fill stroke;fill-opacity:1"
|
||||
id="path934"
|
||||
inkscape:flatsided="true"
|
||||
sodipodi:sides="6"
|
||||
sodipodi:cx="292.09088"
|
||||
sodipodi:cy="447.96002"
|
||||
sodipodi:r1="178.15541"
|
||||
sodipodi:r2="154.28711"
|
||||
sodipodi:arg1="1.5707963"
|
||||
sodipodi:arg2="2.0943951"
|
||||
inkscape:rounded="0"
|
||||
inkscape:randomized="0"
|
||||
d="m 292.09089,626.11543 -154.28712,-89.0777 0,-178.15541 154.28711,-89.07771 154.28711,89.0777 10e-6,178.15541 z"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,15.248541,18.367561)"
|
||||
inkscape:transform-center-y="-1.4932e-06" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 21 KiB |
@ -0,0 +1,64 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="81.6436mm"
|
||||
height="94.273903mm"
|
||||
viewBox="0 0 81.6436 94.273903"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
|
||||
sodipodi:docname="icon_bg1.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview7"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:zoom="0.763461"
|
||||
inkscape:cx="201.71299"
|
||||
inkscape:cy="222.67018"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs2" />
|
||||
<g
|
||||
inkscape:label="图层 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-51.709121,-89.753363)">
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="opacity:0.4;fill:#f73013;stroke-width:5;paint-order:markers fill stroke;fill-opacity:1"
|
||||
id="path934"
|
||||
inkscape:flatsided="true"
|
||||
sodipodi:sides="6"
|
||||
sodipodi:cx="292.09088"
|
||||
sodipodi:cy="447.96002"
|
||||
sodipodi:r1="178.15541"
|
||||
sodipodi:r2="154.28711"
|
||||
sodipodi:arg1="1.5707963"
|
||||
sodipodi:arg2="2.0943951"
|
||||
inkscape:rounded="0"
|
||||
inkscape:randomized="0"
|
||||
d="m 292.09089,626.11543 -154.28712,-89.0777 0,-178.15541 154.28711,-89.07771 154.28711,89.0777 10e-6,178.15541 z"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,15.248541,18.367561)"
|
||||
inkscape:transform-center-y="-1.4932e-06" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 661 B |
|
After Width: | Height: | Size: 22 KiB |
@ -0,0 +1,64 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="81.6436mm"
|
||||
height="94.273903mm"
|
||||
viewBox="0 0 81.6436 94.273903"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
|
||||
sodipodi:docname="icon_bg2.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview7"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:zoom="0.763461"
|
||||
inkscape:cx="201.71299"
|
||||
inkscape:cy="222.67018"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs2" />
|
||||
<g
|
||||
inkscape:label="图层 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-51.709121,-89.753363)">
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="opacity:0.4;fill:#fd7f23;stroke-width:5;paint-order:markers fill stroke;fill-opacity:1"
|
||||
id="path934"
|
||||
inkscape:flatsided="true"
|
||||
sodipodi:sides="6"
|
||||
sodipodi:cx="292.09088"
|
||||
sodipodi:cy="447.96002"
|
||||
sodipodi:r1="178.15541"
|
||||
sodipodi:r2="154.28711"
|
||||
sodipodi:arg1="1.5707963"
|
||||
sodipodi:arg2="2.0943951"
|
||||
inkscape:rounded="0"
|
||||
inkscape:randomized="0"
|
||||
d="m 292.09089,626.11543 -154.28712,-89.0777 0,-178.15541 154.28711,-89.07771 154.28711,89.0777 10e-6,178.15541 z"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,15.248541,18.367561)"
|
||||
inkscape:transform-center-y="-1.4932e-06" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 21 KiB |
@ -0,0 +1,64 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="81.6436mm"
|
||||
height="94.273903mm"
|
||||
viewBox="0 0 81.6436 94.273903"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
|
||||
sodipodi:docname="icon_bg3.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview7"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:zoom="0.763461"
|
||||
inkscape:cx="201.71299"
|
||||
inkscape:cy="222.67018"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs2" />
|
||||
<g
|
||||
inkscape:label="图层 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-51.709121,-89.753363)">
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="opacity:0.4;fill:#06c9ed;stroke-width:5;paint-order:markers fill stroke;fill-opacity:1"
|
||||
id="path934"
|
||||
inkscape:flatsided="true"
|
||||
sodipodi:sides="6"
|
||||
sodipodi:cx="292.09088"
|
||||
sodipodi:cy="447.96002"
|
||||
sodipodi:r1="178.15541"
|
||||
sodipodi:r2="154.28711"
|
||||
sodipodi:arg1="1.5707963"
|
||||
sodipodi:arg2="2.0943951"
|
||||
inkscape:rounded="0"
|
||||
inkscape:randomized="0"
|
||||
d="m 292.09089,626.11543 -154.28712,-89.0777 0,-178.15541 154.28711,-89.07771 154.28711,89.0777 10e-6,178.15541 z"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,15.248541,18.367561)"
|
||||
inkscape:transform-center-y="-1.4932e-06" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 816 B |
|
After Width: | Height: | Size: 8.9 KiB |
|
After Width: | Height: | Size: 9.2 KiB |
|
After Width: | Height: | Size: 8.9 KiB |
|
After Width: | Height: | Size: 9.5 KiB |
BIN
jeecg-device-master/src/views/accessoryLedger/images/repair.png
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
jeecg-device-master/src/views/accessoryLedger/images/running.png
Normal file
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 92 KiB |
BIN
jeecg-device-master/src/views/accessoryLedger/images/warning.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
433
jeecg-device-master/src/views/accessoryLedger/index.html
Normal file
@ -0,0 +1,433 @@
|
||||
<!--
|
||||
* @Author: error: error: git config user.name & please set dead value or install git && error: git config user.email & please set dead value or install git & please set dead value or install git
|
||||
* @Date: 2025-08-13 13:15:10
|
||||
* @LastEditors: error: error: git config user.name & please set dead value or install git && error: git config user.email & please set dead value or install git & please set dead value or install git
|
||||
* @LastEditTime: 2025-08-14 09:30:07
|
||||
* @FilePath: \云监测大屏\index.html
|
||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>车互换配件点算记录台账</title>
|
||||
<link rel="stylesheet" href="./css/style.css">
|
||||
<script src=""></script>
|
||||
<script src="./lib/echarts.min.js"></script>
|
||||
<script src="./lib/jquery-3.6.0.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="container-title">车互换配件点算记录台账</div>
|
||||
<div class="container-slide">
|
||||
<div class="container-slide-item">
|
||||
<div class="container-slide-item-title">车互换配件数量统计</div>
|
||||
<div class="container-slide-item-content">
|
||||
<div class="container-slide-chart" id="numberChart"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container-slide-item">
|
||||
<div class="container-slide-item-title">车互换配件状态统计</div>
|
||||
<div class="container-slide-item-content">
|
||||
<div class="container-slide-chart" id="statusChart"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container-slide-item">
|
||||
<div class="container-slide-item-title">车互换配件异常信息</div>
|
||||
<div class="container-slide-item-content">
|
||||
<div class="container-item-warning-info">
|
||||
<div class="container-item-warning-item">
|
||||
<div class="container-item-warning-number">2</div>
|
||||
<div class="container-item-warning-type">运营告警</div>
|
||||
</div>
|
||||
<div class="container-item-warning-item">
|
||||
<div class="container-item-warning-number">5</div>
|
||||
<div class="container-item-warning-type">检修告警</div>
|
||||
</div>
|
||||
<div class="container-item-warning-item">
|
||||
<div class="container-item-warning-number">3</div>
|
||||
<div class="container-item-warning-type">故障告警</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container-item-warning-list">
|
||||
<div class="container-item-warning-message">
|
||||
<div class="container-item-warning-message-number">1</div>
|
||||
<div class="container-item-warning-message-content">TMC1车2架充电接触器卡分故障</div>
|
||||
<div class="container-item-warning-message-date">2025-5-15</div>
|
||||
</div>
|
||||
<div class="container-item-warning-message">
|
||||
<div class="container-item-warning-message-number">2</div>
|
||||
<div class="container-item-warning-message-content">TMC1车2架充电接触器卡分故障</div>
|
||||
<div class="container-item-warning-message-date">2025-5-15</div>
|
||||
</div>
|
||||
<div class="container-item-warning-message">
|
||||
<div class="container-item-warning-message-number">3</div>
|
||||
<div class="container-item-warning-message-content">TMC1车2架充电接触器卡分故障</div>
|
||||
<div class="container-item-warning-message-date">2025-5-15</div>
|
||||
</div>
|
||||
<div class="container-item-warning-message">
|
||||
<div class="container-item-warning-message-number">4</div>
|
||||
<div class="container-item-warning-message-content">TMC1车2架充电接触器卡分故障</div>
|
||||
<div class="container-item-warning-message-date">2025-5-15</div>
|
||||
</div>
|
||||
<div class="container-item-warning-message">
|
||||
<div class="container-item-warning-message-number">5</div>
|
||||
<div class="container-item-warning-message-content">TMC1车2架充电接触器卡分故障</div>
|
||||
<div class="container-item-warning-message-date">2025-5-15</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container-center">
|
||||
<div class="container-center-schedule-info">
|
||||
<div class="container-center-schedule-item container-center-schedule-repair">
|
||||
<div class="container-center-schedule-number">013</div>
|
||||
<div class="container-center-schedule-status">列检</div>
|
||||
<div class="container-center-schedule-text">列检库</div>
|
||||
<div class="container-center-schedule-text">11股道</div>
|
||||
<div class="container-center-schedule-text">2H</div>
|
||||
</div>
|
||||
<div class="container-center-schedule-item container-center-schedule-running">
|
||||
<div class="container-center-schedule-number">015</div>
|
||||
<div class="container-center-schedule-status">运行中</div>
|
||||
<div class="container-center-schedule-text">——</div>
|
||||
<div class="container-center-schedule-text">——</div>
|
||||
<div class="container-center-schedule-text">4.4H</div>
|
||||
</div>
|
||||
<div class="container-center-schedule-item">
|
||||
<div class="container-center-schedule-number">016</div>
|
||||
<div class="container-center-schedule-status">空闲</div>
|
||||
<div class="container-center-schedule-text">列检库</div>
|
||||
<div class="container-center-schedule-text">7股道</div>
|
||||
<div class="container-center-schedule-text">1H</div>
|
||||
</div>
|
||||
<div class="container-center-schedule-item container-center-schedule-repair">
|
||||
<div class="container-center-schedule-number">013</div>
|
||||
<div class="container-center-schedule-status">列检</div>
|
||||
<div class="container-center-schedule-text">列检库</div>
|
||||
<div class="container-center-schedule-text">11股道</div>
|
||||
<div class="container-center-schedule-text">2H</div>
|
||||
</div>
|
||||
<div class="container-center-schedule-item container-center-schedule-running">
|
||||
<div class="container-center-schedule-number">015</div>
|
||||
<div class="container-center-schedule-status">运行中</div>
|
||||
<div class="container-center-schedule-text">——</div>
|
||||
<div class="container-center-schedule-text">——</div>
|
||||
<div class="container-center-schedule-text">4.4H</div>
|
||||
</div>
|
||||
<div class="container-center-schedule-item">
|
||||
<div class="container-center-schedule-number">016</div>
|
||||
<div class="container-center-schedule-status">空闲</div>
|
||||
<div class="container-center-schedule-text">列检库</div>
|
||||
<div class="container-center-schedule-text">7股道</div>
|
||||
<div class="container-center-schedule-text">1H</div>
|
||||
</div>
|
||||
<div class="container-center-schedule-item container-center-schedule-repair">
|
||||
<div class="container-center-schedule-number">013</div>
|
||||
<div class="container-center-schedule-status">列检</div>
|
||||
<div class="container-center-schedule-text">列检库</div>
|
||||
<div class="container-center-schedule-text">11股道</div>
|
||||
<div class="container-center-schedule-text">2H</div>
|
||||
</div>
|
||||
<div class="container-center-schedule-item">
|
||||
<div class="container-center-schedule-number">015</div>
|
||||
<div class="container-center-schedule-status">周检</div>
|
||||
<div class="container-center-schedule-text">检修库</div>
|
||||
<div class="container-center-schedule-text">6股道</div>
|
||||
<div class="container-center-schedule-text">14H</div>
|
||||
</div>
|
||||
<div class="container-center-schedule-item container-center-schedule-warning">
|
||||
<div class="container-center-schedule-number">016</div>
|
||||
<div class="container-center-schedule-status">故障</div>
|
||||
<div class="container-center-schedule-text">检修库</div>
|
||||
<div class="container-center-schedule-text">7股道</div>
|
||||
<div class="container-center-schedule-text">1H</div>
|
||||
</div>
|
||||
<div class="container-center-schedule-item container-center-schedule-repair">
|
||||
<div class="container-center-schedule-number">013</div>
|
||||
<div class="container-center-schedule-status">列检</div>
|
||||
<div class="container-center-schedule-text">列检库</div>
|
||||
<div class="container-center-schedule-text">11股道</div>
|
||||
<div class="container-center-schedule-text">2H</div>
|
||||
</div>
|
||||
<div class="container-center-schedule-item">
|
||||
<div class="container-center-schedule-number">015</div>
|
||||
<div class="container-center-schedule-status">周检</div>
|
||||
<div class="container-center-schedule-text">检修库</div>
|
||||
<div class="container-center-schedule-text">6股道</div>
|
||||
<div class="container-center-schedule-text">14H</div>
|
||||
</div>
|
||||
<div class="container-center-schedule-item container-center-schedule-warning">
|
||||
<div class="container-center-schedule-number">016</div>
|
||||
<div class="container-center-schedule-status">故障</div>
|
||||
<div class="container-center-schedule-text">检修库</div>
|
||||
<div class="container-center-schedule-text">7股道</div>
|
||||
<div class="container-center-schedule-text">1H</div>
|
||||
</div>
|
||||
<div class="container-center-schedule-item">
|
||||
<div class="container-center-schedule-number">016</div>
|
||||
<div class="container-center-schedule-status">空闲</div>
|
||||
<div class="container-center-schedule-text">列检库</div>
|
||||
<div class="container-center-schedule-text">7股道</div>
|
||||
<div class="container-center-schedule-text">1H</div>
|
||||
</div>
|
||||
<div class="container-center-schedule-item">
|
||||
<div class="container-center-schedule-number">016</div>
|
||||
<div class="container-center-schedule-status">空闲</div>
|
||||
<div class="container-center-schedule-text">列检库</div>
|
||||
<div class="container-center-schedule-text">7股道</div>
|
||||
<div class="container-center-schedule-text">1H</div>
|
||||
</div>
|
||||
<div class="container-center-schedule-item">
|
||||
<div class="container-center-schedule-number">016</div>
|
||||
<div class="container-center-schedule-status">空闲</div>
|
||||
<div class="container-center-schedule-text">列检库</div>
|
||||
<div class="container-center-schedule-text">7股道</div>
|
||||
<div class="container-center-schedule-text">1H</div>
|
||||
</div>
|
||||
<div class="container-center-schedule-item">
|
||||
<div class="container-center-schedule-number">016</div>
|
||||
<div class="container-center-schedule-status">空闲</div>
|
||||
<div class="container-center-schedule-text">列检库</div>
|
||||
<div class="container-center-schedule-text">7股道</div>
|
||||
<div class="container-center-schedule-text">1H</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container-center-item">
|
||||
<div class="container-center-item-title">车互换配件台账</div>
|
||||
<div class="container-center-item-content">
|
||||
<div class="container-table" id="centerTable">
|
||||
<div class="container-table-row">
|
||||
<div class="container-table-head">配件名称</div>
|
||||
<div class="container-table-head">规格</div>
|
||||
<div class="container-table-head">单位</div>
|
||||
<div class="container-table-head">定量数</div>
|
||||
<div class="container-table-head">良好</div>
|
||||
<div class="container-table-head">待修</div>
|
||||
<div class="container-table-head">在修</div>
|
||||
<div class="container-table-head">报废</div>
|
||||
<div class="container-table-head">备注</div>
|
||||
<div class="container-table-head">状态</div>
|
||||
</div>
|
||||
<div class="container-table-row">
|
||||
<div class="container-table-cell">#135</div>
|
||||
<div class="container-table-cell">1628</div>
|
||||
<div class="container-table-cell">2024/07/17 12:12:14</div>
|
||||
<div class="container-table-cell">100</div>
|
||||
<div class="container-table-cell"></div>
|
||||
<div class="container-table-cell"></div>
|
||||
<div class="container-table-cell">2024/07/17 12:12:14</div>
|
||||
<div class="container-table-cell">100</div>
|
||||
<div class="container-table-cell"></div>
|
||||
<div class="container-table-cell"></div>
|
||||
</div>
|
||||
<div class="container-table-row">
|
||||
<div class="container-table-cell">#135</div>
|
||||
<div class="container-table-cell">1628</div>
|
||||
<div class="container-table-cell">2024/07/17 12:12:14</div>
|
||||
<div class="container-table-cell">100</div>
|
||||
<div class="container-table-cell"></div>
|
||||
<div class="container-table-cell"></div>
|
||||
<div class="container-table-cell">2024/07/17 12:12:14</div>
|
||||
<div class="container-table-cell">100</div>
|
||||
<div class="container-table-cell"></div>
|
||||
<div class="container-table-cell"></div>
|
||||
</div>
|
||||
<div class="container-table-row">
|
||||
<div class="container-table-cell">#135</div>
|
||||
<div class="container-table-cell">1628</div>
|
||||
<div class="container-table-cell">2024/07/17 12:12:14</div>
|
||||
<div class="container-table-cell">100</div>
|
||||
<div class="container-table-cell"></div>
|
||||
<div class="container-table-cell"></div>
|
||||
<div class="container-table-cell">2024/07/17 12:12:14</div>
|
||||
<div class="container-table-cell">100</div>
|
||||
<div class="container-table-cell"></div>
|
||||
<div class="container-table-cell"></div>
|
||||
</div>
|
||||
<div class="container-table-row">
|
||||
<div class="container-table-cell">#135</div>
|
||||
<div class="container-table-cell">1628</div>
|
||||
<div class="container-table-cell">2024/07/17 12:12:14</div>
|
||||
<div class="container-table-cell">100</div>
|
||||
<div class="container-table-cell"></div>
|
||||
<div class="container-table-cell"></div>
|
||||
<div class="container-table-cell">2024/07/17 12:12:14</div>
|
||||
<div class="container-table-cell">100</div>
|
||||
<div class="container-table-cell"></div>
|
||||
<div class="container-table-cell"></div>
|
||||
</div>
|
||||
<div class="container-table-row">
|
||||
<div class="container-table-cell">#135</div>
|
||||
<div class="container-table-cell">1628</div>
|
||||
<div class="container-table-cell">2024/07/17 12:12:14</div>
|
||||
<div class="container-table-cell">100</div>
|
||||
<div class="container-table-cell"></div>
|
||||
<div class="container-table-cell"></div>
|
||||
<div class="container-table-cell">2024/07/17 12:12:14</div>
|
||||
<div class="container-table-cell">100</div>
|
||||
<div class="container-table-cell"></div>
|
||||
<div class="container-table-cell"></div>
|
||||
</div>
|
||||
<div class="container-table-row">
|
||||
<div class="container-table-cell">#135</div>
|
||||
<div class="container-table-cell">1628</div>
|
||||
<div class="container-table-cell">2024/07/17 12:12:14</div>
|
||||
<div class="container-table-cell">100</div>
|
||||
<div class="container-table-cell"></div>
|
||||
<div class="container-table-cell"></div>
|
||||
<div class="container-table-cell">2024/07/17 12:12:14</div>
|
||||
<div class="container-table-cell">100</div>
|
||||
<div class="container-table-cell"></div>
|
||||
<div class="container-table-cell"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container-slide">
|
||||
<div class="container-slide-item">
|
||||
<div class="container-slide-item-title">车互换配件任务统计</div>
|
||||
<div class="container-slide-item-content">
|
||||
<div class="container-slide-chart" id="taskChart"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container-slide-item">
|
||||
<div class="container-slide-item-title">配件良好率排名</div>
|
||||
<div class="container-slide-item-content">
|
||||
<div class="container-data-goodlist" id="goodList">
|
||||
<div class="container-data-item">
|
||||
<div class="container-data-item-icon">1</div>
|
||||
<div class="container-data-item-label">牵引电动机DF11</div>
|
||||
<div class="container-data-item-data">良好百分比:40.00%</div>
|
||||
</div>
|
||||
<div class="container-data-item">
|
||||
<div class="container-data-item-icon">2</div>
|
||||
<div class="container-data-item-label">牵引电动机电柜(109B)</div>
|
||||
<div class="container-data-item-data">良好百分比:44.44%</div>
|
||||
</div>
|
||||
<div class="container-data-item">
|
||||
<div class="container-data-item-icon">3</div>
|
||||
<div class="container-data-item-label">奉引电动机120109CJ</div>
|
||||
<div class="container-data-item-data">良好百分比:55.00%</div>
|
||||
</div>
|
||||
<div class="container-data-item">
|
||||
<div class="container-data-item-icon">4</div>
|
||||
<div class="container-data-item-label">牵引电动机电柜C20BCWV</div>
|
||||
<div class="container-data-item-data">良好百分比:75.00%</div>
|
||||
</div>
|
||||
<div class="container-data-item">
|
||||
<div class="container-data-item-icon">5</div>
|
||||
<div class="container-data-item-label">牵引发电机JP2D4D</div>
|
||||
<div class="container-data-item-data">良好百分比:100.00%</div>
|
||||
</div>
|
||||
<div class="container-data-item">
|
||||
<div class="container-data-item-icon">3</div>
|
||||
<div class="container-data-item-label">奉引电动机120109CJ</div>
|
||||
<div class="container-data-item-data">良好百分比:55.00%</div>
|
||||
</div>
|
||||
<div class="container-data-item">
|
||||
<div class="container-data-item-icon">4</div>
|
||||
<div class="container-data-item-label">牵引电动机电柜C20BCWV</div>
|
||||
<div class="container-data-item-data">良好百分比:75.00%</div>
|
||||
</div>
|
||||
<div class="container-data-item">
|
||||
<div class="container-data-item-icon">5</div>
|
||||
<div class="container-data-item-label">牵引发电机JP2D4D</div>
|
||||
<div class="container-data-item-data">良好百分比:100.00%</div>
|
||||
</div>
|
||||
<div class="container-data-item">
|
||||
<div class="container-data-item-icon">4</div>
|
||||
<div class="container-data-item-label">牵引电动机电柜C20BCWV</div>
|
||||
<div class="container-data-item-data">良好百分比:75.00%</div>
|
||||
</div>
|
||||
<div class="container-data-item">
|
||||
<div class="container-data-item-icon">5</div>
|
||||
<div class="container-data-item-label">牵引发电机JP2D4D</div>
|
||||
<div class="container-data-item-data">良好百分比:100.00%</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
let ip = "172.15.23.99"
|
||||
let port = "18080"
|
||||
let frontUrl = "/jeecg-boot/chhpjd/chhpjds/list"
|
||||
function getData(){
|
||||
var defer = $.Deferred();
|
||||
$.ajax({
|
||||
url:'http://' + ip + ':' + port + frontUrl,
|
||||
type:'get',
|
||||
async : true,
|
||||
success:function(res){
|
||||
defer.resolve(res)
|
||||
},
|
||||
complete: function (XHR, TS) {
|
||||
XHR = null
|
||||
},
|
||||
error: function(error){
|
||||
console.log(error)
|
||||
}
|
||||
})
|
||||
return defer.promise();
|
||||
}
|
||||
let dataList = []
|
||||
var getDataList = getData()
|
||||
$.when(getDataList).done(function(getDataList){
|
||||
console.log(getDataList)
|
||||
dataList=getDataList.result.records
|
||||
$('#centerTable').html('')
|
||||
$('#goodList').html('')
|
||||
$('#centerTable').append("<div class='container-table-row'>"+
|
||||
"<div class='container-table-head'>配件名称</div>"+
|
||||
"<div class='container-table-head'>规格</div>"+
|
||||
"<div class='container-table-head'>单位</div>"+
|
||||
"<div class='container-table-head'>定量数</div>"+
|
||||
"<div class='container-table-head'>良好</div>"+
|
||||
"<div class='container-table-head'>待修</div>"+
|
||||
"<div class='container-table-head'>在修</div>"+
|
||||
"<div class='container-table-head'>报废</div>"+
|
||||
"<div class='container-table-head'>良好百分比</div>"+
|
||||
"<div class='container-table-head'>备注</div>"+
|
||||
"<div class='container-table-head'>状态</div>"+
|
||||
"</div>")
|
||||
// 台账表格
|
||||
dataList.forEach(element => {
|
||||
if(element.accessoryname === null) return
|
||||
$('#centerTable').append("<div class='container-table-row'>"+
|
||||
"<div class='container-table-cell'>"+ element.accessoryname +"</div>"+
|
||||
"<div class='container-table-cell'>"+ element.specification +"</div>"+
|
||||
"<div class='container-table-cell'>"+ element.unit +"</div>"+
|
||||
"<div class='container-table-cell'>"+ element.quantitativenumbers +"</div>"+
|
||||
"<div class='container-table-cell'>"+ element.good +"</div>"+
|
||||
"<div class='container-table-cell'>"+ element.good +"</div>"+
|
||||
"<div class='container-table-cell'>"+ element.good +"</div>"+
|
||||
"<div class='container-table-cell'>"+ element.good +"</div>"+
|
||||
"<div class='container-table-cell'>"+ element.goodpercentage +"</div>"+
|
||||
"<div class='container-table-cell'>"+ element.remark +"</div>"+
|
||||
"<div class='container-table-cell'>"+ element.state +"</div>"+
|
||||
"</div>")
|
||||
});
|
||||
// 良好排序
|
||||
let sortList = dataList.sort((a, b) => a.goodpercentage - b.goodpercentage);
|
||||
sortList.forEach((element, index) => {
|
||||
if(element.accessoryname === null) return
|
||||
$('#goodList').append("<div class='container-data-item'>"+
|
||||
"<div class='container-data-item-icon'>"+ index +"</div>"+
|
||||
"<div class='container-data-item-label'>"+ element.accessoryname +"</div>"+
|
||||
"<div class='container-data-item-data'>良好百分比:"+ element.goodpercentage +"%</div>"+
|
||||
"</div>")
|
||||
});
|
||||
})
|
||||
</script>
|
||||
<script src="./js/main_charts.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
14
jeecg-device-master/src/views/accessoryLedger/js/main.js
Normal file
@ -0,0 +1,14 @@
|
||||
// Copyright 2025 ASUS
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// https://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
246
jeecg-device-master/src/views/accessoryLedger/js/main_charts.js
Normal file
@ -0,0 +1,246 @@
|
||||
// 车互换配件数量统计
|
||||
var WHChartDom = document.getElementById('numberChart');
|
||||
var WHChart = echarts.init(WHChartDom);
|
||||
var WHOption;
|
||||
|
||||
let data = [220, 182, 191, 234, 290, 330, 310, 123, 442, 321, 90, 149];
|
||||
WHOption = {
|
||||
grid: {
|
||||
top: '6%',
|
||||
left: '3%',
|
||||
right: '4%',
|
||||
bottom: '3%',
|
||||
containLabel: true
|
||||
},
|
||||
xAxis: {
|
||||
data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月', ],
|
||||
axisLabel: {
|
||||
color: '#999',
|
||||
interval: 0,
|
||||
},
|
||||
axisTick: {
|
||||
show: false
|
||||
},
|
||||
axisLine: {
|
||||
show: false
|
||||
},
|
||||
},
|
||||
yAxis: {
|
||||
axisLine: {
|
||||
show: false
|
||||
},
|
||||
axisTick: {
|
||||
show: false
|
||||
},
|
||||
axisLabel: {
|
||||
color: '#999'
|
||||
},
|
||||
splitLine: {
|
||||
lineStyle: {
|
||||
color: '#ffffff20'
|
||||
}
|
||||
},
|
||||
},
|
||||
series: [
|
||||
{
|
||||
type: 'bar',
|
||||
showBackground: false,
|
||||
itemStyle: {
|
||||
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{ offset: 0, color: '#83bff6' },
|
||||
{ offset: 0.5, color: '#188df0' },
|
||||
{ offset: 1, color: '#188df0' }
|
||||
])
|
||||
},
|
||||
emphasis: {
|
||||
itemStyle: {
|
||||
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{ offset: 0, color: '#2378f7' },
|
||||
{ offset: 0.7, color: '#2378f7' },
|
||||
{ offset: 1, color: '#83bff6' }
|
||||
])
|
||||
}
|
||||
},
|
||||
barMaxWidth: 24,
|
||||
data: data
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
WHOption && WHChart.setOption(WHOption);
|
||||
|
||||
// 车互换配件状态统计
|
||||
var JXJHChartDom = document.getElementById('statusChart');
|
||||
var JXJHmyChart = echarts.init(JXJHChartDom);
|
||||
var JXJHoption;
|
||||
|
||||
let JXJHdata = [220, 182, 191, 234, 290, 330, 310, 123, 442, 321, 90, 149];
|
||||
JXJHoption = {
|
||||
title: {
|
||||
text: "车辆检修计划",
|
||||
textStyle: {
|
||||
fontSize: 14,
|
||||
color: '#fff'
|
||||
},
|
||||
left: 'center'
|
||||
},
|
||||
grid: {
|
||||
top: '12%',
|
||||
left: '3%',
|
||||
right: '4%',
|
||||
bottom: '3%',
|
||||
containLabel: true
|
||||
},
|
||||
xAxis: {
|
||||
data: ['013', '015', '016', '018', '022', '023', '027', '031', '035', '038', '042', '043', ],
|
||||
axisLabel: {
|
||||
color: '#999',
|
||||
interval: 0,
|
||||
},
|
||||
axisTick: {
|
||||
show: false
|
||||
},
|
||||
axisLine: {
|
||||
show: false
|
||||
},
|
||||
},
|
||||
yAxis: {
|
||||
axisLine: {
|
||||
show: false
|
||||
},
|
||||
axisTick: {
|
||||
show: false
|
||||
},
|
||||
axisLabel: {
|
||||
color: '#999'
|
||||
},
|
||||
splitLine: {
|
||||
lineStyle: {
|
||||
color: '#ffffff20'
|
||||
}
|
||||
},
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '列检',
|
||||
type: 'bar',
|
||||
data: [
|
||||
2, 4, 7, 23, 25, 76, 135, 162, 32, 20, 6, 3
|
||||
],
|
||||
markPoint: {
|
||||
data: [
|
||||
{ type: 'max', name: 'Max' },
|
||||
{ type: 'min', name: 'Min' }
|
||||
]
|
||||
},
|
||||
markLine: {
|
||||
data: [{ type: 'average', name: 'Avg' }]
|
||||
}
|
||||
},
|
||||
{
|
||||
name: '日检',
|
||||
type: 'bar',
|
||||
data: [
|
||||
2, 5, 9, 26, 28, 70, 175, 182, 48, 18, 6, 2
|
||||
],
|
||||
markPoint: {
|
||||
data: [
|
||||
{ name: 'Max', value: 182.2, xAxis: 7, yAxis: 183 },
|
||||
{ name: 'Min', value: 2.3, xAxis: 11, yAxis: 3 }
|
||||
]
|
||||
},
|
||||
markLine: {
|
||||
data: [{ type: 'average', name: 'Avg' }]
|
||||
}
|
||||
},
|
||||
{
|
||||
name: '周检',
|
||||
type: 'bar',
|
||||
data: [
|
||||
2, 3, 5, 16, 18, 30, 55, 42, 48, 18, 6, 2
|
||||
],
|
||||
markPoint: {
|
||||
data: [
|
||||
{ name: 'Max', value: 182.2, xAxis: 7, yAxis: 183 },
|
||||
{ name: 'Min', value: 2.3, xAxis: 11, yAxis: 3 }
|
||||
]
|
||||
},
|
||||
markLine: {
|
||||
data: [{ type: 'average', name: 'Avg' }]
|
||||
}
|
||||
},
|
||||
]
|
||||
};
|
||||
|
||||
JXJHoption && JXJHmyChart.setOption(JXJHoption);
|
||||
|
||||
// 车互换配件数量统计
|
||||
var WHChartDom1 = document.getElementById('taskChart');
|
||||
var WHChart1 = echarts.init(WHChartDom1);
|
||||
var WHOption1;
|
||||
|
||||
let data1 = [220, 182, 191, 234, 290, 330, 310, 123, 442, 321, 90, 149];
|
||||
WHOption1 = {
|
||||
grid: {
|
||||
top: '6%',
|
||||
left: '3%',
|
||||
right: '4%',
|
||||
bottom: '3%',
|
||||
containLabel: true
|
||||
},
|
||||
xAxis: {
|
||||
data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月', ],
|
||||
axisLabel: {
|
||||
color: '#999',
|
||||
interval: 0,
|
||||
},
|
||||
axisTick: {
|
||||
show: false
|
||||
},
|
||||
axisLine: {
|
||||
show: false
|
||||
},
|
||||
},
|
||||
yAxis: {
|
||||
axisLine: {
|
||||
show: false
|
||||
},
|
||||
axisTick: {
|
||||
show: false
|
||||
},
|
||||
axisLabel: {
|
||||
color: '#999'
|
||||
},
|
||||
splitLine: {
|
||||
lineStyle: {
|
||||
color: '#ffffff20'
|
||||
}
|
||||
},
|
||||
},
|
||||
series: [
|
||||
{
|
||||
type: 'bar',
|
||||
showBackground: false,
|
||||
itemStyle: {
|
||||
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{ offset: 0, color: '#83bff6' },
|
||||
{ offset: 0.5, color: '#188df0' },
|
||||
{ offset: 1, color: '#188df0' }
|
||||
])
|
||||
},
|
||||
emphasis: {
|
||||
itemStyle: {
|
||||
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{ offset: 0, color: '#2378f7' },
|
||||
{ offset: 0.7, color: '#2378f7' },
|
||||
{ offset: 1, color: '#83bff6' }
|
||||
])
|
||||
}
|
||||
},
|
||||
barMaxWidth: 24,
|
||||
data: data1
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
WHOption1 && WHChart1.setOption(WHOption1);
|
||||
@ -0,0 +1,21 @@
|
||||
let ip = "127.0.0.1"
|
||||
let port = "18080"
|
||||
let frontUrl = "/jeecg-boot/chhpjd/chhpjds/list"
|
||||
function getData(){
|
||||
var defer = $.Deferred();
|
||||
$.ajax({
|
||||
url:'http://' + ip + ':' + port + frontUrl,
|
||||
type:'get',
|
||||
async : true,
|
||||
success:function(res){
|
||||
defer.resolve(res)
|
||||
},
|
||||
complete: function (XHR, TS) {
|
||||
XHR = null
|
||||
},
|
||||
error: function(error){
|
||||
console.log(error)
|
||||
}
|
||||
})
|
||||
return defer.promise();
|
||||
}
|
||||