feat(base): 添加设备参数预警功能和删除多个功能模块
- 在设备参数页面添加上限阈值、下限阈值、预警级别和启用预警字段 - 实现预警级别的标签显示(一般、重要、紧急) - 添加启用预警开关功能 - 在工艺预警页面添加检查预警按钮和功能 - 实现阈值检查预警API调用 - 删除工艺调试备份、参数变更记录、参数监控、参数追溯、工艺快照等功能模块 - 移除相关API接口文件master^2
parent
05e25b4e68
commit
0478d69ff1
@ -1,53 +0,0 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询调试备份列表
|
||||
export function listProcessDebugBackup(query) {
|
||||
return request({
|
||||
url: '/base/processDebugBackup/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询调试备份详细
|
||||
export function getProcessDebugBackup(backupId) {
|
||||
return request({
|
||||
url: '/base/processDebugBackup/' + backupId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增调试备份
|
||||
export function addProcessDebugBackup(data) {
|
||||
return request({
|
||||
url: '/base/processDebugBackup',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改调试备份
|
||||
export function updateProcessDebugBackup(data) {
|
||||
return request({
|
||||
url: '/base/processDebugBackup',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除调试备份
|
||||
export function delProcessDebugBackup(backupId) {
|
||||
return request({
|
||||
url: '/base/processDebugBackup/' + backupId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 获取调试备份列表(不分页)
|
||||
export function getProcessDebugBackupList(query) {
|
||||
return request({
|
||||
url: '/base/processDebugBackup/getProcessDebugBackupList',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
@ -1,44 +0,0 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询工艺参数变更记录列表
|
||||
export function listProcessParamChange(query) {
|
||||
return request({
|
||||
url: '/base/processParamChange/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询工艺参数变更记录详细
|
||||
export function getProcessParamChange(changeId) {
|
||||
return request({
|
||||
url: '/base/processParamChange/' + changeId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增工艺参数变更记录
|
||||
export function addProcessParamChange(data) {
|
||||
return request({
|
||||
url: '/base/processParamChange',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改工艺参数变更记录
|
||||
export function updateProcessParamChange(data) {
|
||||
return request({
|
||||
url: '/base/processParamChange',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除工艺参数变更记录
|
||||
export function delProcessParamChange(changeId) {
|
||||
return request({
|
||||
url: '/base/processParamChange/' + changeId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
@ -1,44 +0,0 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询工艺参数监控列表
|
||||
export function listProcessParamMonitor(query) {
|
||||
return request({
|
||||
url: '/base/processParamMonitor/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询工艺参数监控详细
|
||||
export function getProcessParamMonitor(monitorId) {
|
||||
return request({
|
||||
url: '/base/processParamMonitor/' + monitorId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增工艺参数监控
|
||||
export function addProcessParamMonitor(data) {
|
||||
return request({
|
||||
url: '/base/processParamMonitor',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改工艺参数监控
|
||||
export function updateProcessParamMonitor(data) {
|
||||
return request({
|
||||
url: '/base/processParamMonitor',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除工艺参数监控
|
||||
export function delProcessParamMonitor(monitorId) {
|
||||
return request({
|
||||
url: '/base/processParamMonitor/' + monitorId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
@ -1,44 +0,0 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询参数追溯列表
|
||||
export function listProcessParamTrace(query) {
|
||||
return request({
|
||||
url: '/base/processParamTrace/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询参数追溯详细
|
||||
export function getProcessParamTrace(traceId) {
|
||||
return request({
|
||||
url: '/base/processParamTrace/' + traceId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增参数追溯
|
||||
export function addProcessParamTrace(data) {
|
||||
return request({
|
||||
url: '/base/processParamTrace',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改参数追溯
|
||||
export function updateProcessParamTrace(data) {
|
||||
return request({
|
||||
url: '/base/processParamTrace',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除参数追溯
|
||||
export function delProcessParamTrace(traceId) {
|
||||
return request({
|
||||
url: '/base/processParamTrace/' + traceId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
@ -1,44 +0,0 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询工艺快照列表
|
||||
export function listProcessSnapshot(query) {
|
||||
return request({
|
||||
url: '/base/processSnapshot/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询工艺快照详细
|
||||
export function getProcessSnapshot(snapshotId) {
|
||||
return request({
|
||||
url: '/base/processSnapshot/' + snapshotId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增工艺快照
|
||||
export function addProcessSnapshot(data) {
|
||||
return request({
|
||||
url: '/base/processSnapshot',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改工艺快照
|
||||
export function updateProcessSnapshot(data) {
|
||||
return request({
|
||||
url: '/base/processSnapshot',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除工艺快照
|
||||
export function delProcessSnapshot(snapshotId) {
|
||||
return request({
|
||||
url: '/base/processSnapshot/' + snapshotId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
@ -1,216 +0,0 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
|
||||
<el-form-item label="备份编号" prop="backupCode">
|
||||
<el-input v-model="queryParams.backupCode" placeholder="请输入备份编号" clearable @keyup.enter.native="handleQuery"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="设备编码" prop="deviceCode">
|
||||
<el-input v-model="queryParams.deviceCode" placeholder="请输入设备编码" clearable @keyup.enter.native="handleQuery"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="产品编码" prop="productCode">
|
||||
<el-input v-model="queryParams.productCode" placeholder="请输入产品编码" clearable @keyup.enter.native="handleQuery"/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['base:processDebugBackup:add']">新增备份</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" v-hasPermi="['base:processDebugBackup:remove']">删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['base:processDebugBackup:export']">导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="backupList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center"/>
|
||||
<el-table-column label="备份编号" align="center" prop="backupCode"/>
|
||||
<el-table-column label="备份名称" align="center" prop="backupName" show-overflow-tooltip/>
|
||||
<el-table-column label="设备编码" align="center" prop="deviceCode"/>
|
||||
<el-table-column label="设备名称" align="center" prop="deviceName"/>
|
||||
<el-table-column label="模具编码" align="center" prop="moldCode"/>
|
||||
<el-table-column label="产品编码" align="center" prop="productCode"/>
|
||||
<el-table-column label="备份人" align="center" prop="backupUser"/>
|
||||
<el-table-column label="备份时间" align="center" prop="backupTime" width="160"/>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="text" icon="el-icon-view" @click="handleView(scope.row)">查看参数</el-button>
|
||||
<el-button size="mini" type="text" icon="el-icon-download" @click="handleApply(scope.row)">应用</el-button>
|
||||
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['base:processDebugBackup:remove']">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList"/>
|
||||
|
||||
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
|
||||
<el-form-item label="备份编号" prop="backupCode">
|
||||
<el-input v-model="form.backupCode" placeholder="请输入备份编号"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="备份名称" prop="backupName">
|
||||
<el-input v-model="form.backupName" placeholder="请输入备份名称"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="设备编码" prop="deviceCode">
|
||||
<el-input v-model="form.deviceCode" placeholder="请输入设备编码"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="设备名称" prop="deviceName">
|
||||
<el-input v-model="form.deviceName" placeholder="请输入设备名称"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="模具编码" prop="moldCode">
|
||||
<el-input v-model="form.moldCode" placeholder="请输入模具编码"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="产品编码" prop="productCode">
|
||||
<el-input v-model="form.productCode" placeholder="请输入产品编码"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="参数数据" prop="paramData">
|
||||
<el-input v-model="form.paramData" type="textarea" :rows="6" placeholder="请输入参数数据(JSON格式)"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注"/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog title="参数数据" :visible.sync="viewOpen" width="700px" append-to-body>
|
||||
<pre style="max-height: 400px; overflow: auto; background: #f5f5f5; padding: 15px; border-radius: 4px;">{{ viewParamData }}</pre>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="viewOpen = false">关 闭</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listProcessDebugBackup, getProcessDebugBackup, delProcessDebugBackup, addProcessDebugBackup } from "@/api/base/processDebugBackup";
|
||||
|
||||
export default {
|
||||
name: "ProcessDebugBackup",
|
||||
data() {
|
||||
return {
|
||||
loading: true,
|
||||
ids: [],
|
||||
single: true,
|
||||
multiple: true,
|
||||
showSearch: true,
|
||||
total: 0,
|
||||
backupList: [],
|
||||
title: "",
|
||||
open: false,
|
||||
viewOpen: false,
|
||||
viewParamData: "",
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
backupCode: null,
|
||||
deviceCode: null,
|
||||
productCode: null,
|
||||
},
|
||||
form: {},
|
||||
rules: {
|
||||
backupCode: [{ required: true, message: "备份编号不能为空", trigger: "blur" }],
|
||||
deviceCode: [{ required: true, message: "设备编码不能为空", trigger: "blur" }],
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listProcessDebugBackup(this.queryParams).then(response => {
|
||||
this.backupList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
reset() {
|
||||
this.form = {
|
||||
backupId: null,
|
||||
backupCode: null,
|
||||
backupName: null,
|
||||
deviceCode: null,
|
||||
deviceName: null,
|
||||
moldCode: null,
|
||||
moldName: null,
|
||||
productCode: null,
|
||||
productName: null,
|
||||
paramData: null,
|
||||
isFlag: "1",
|
||||
remark: null,
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.backupId);
|
||||
this.single = selection.length !== 1;
|
||||
this.multiple = !selection.length;
|
||||
},
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加调试备份";
|
||||
},
|
||||
handleView(row) {
|
||||
try {
|
||||
this.viewParamData = row.paramData ? JSON.stringify(JSON.parse(row.paramData), null, 2) : "暂无参数数据";
|
||||
} catch (e) {
|
||||
this.viewParamData = row.paramData || "暂无参数数据";
|
||||
}
|
||||
this.viewOpen = true;
|
||||
},
|
||||
handleApply(row) {
|
||||
this.$modal.confirm('是否确认应用备份编号为"' + row.backupCode + '"的参数数据?').then(() => {
|
||||
this.$modal.msgSuccess("参数应用成功(此功能需要与设备通信模块对接)");
|
||||
}).catch(() => {});
|
||||
},
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
addProcessDebugBackup(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
handleDelete(row) {
|
||||
const backupIds = row.backupId || this.ids;
|
||||
this.$modal.confirm('是否确认删除调试备份编号为"' + backupIds + '"的数据项?').then(function() {
|
||||
return delProcessDebugBackup(backupIds);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {});
|
||||
},
|
||||
handleExport() {
|
||||
this.download('base/processDebugBackup/export', { ...this.queryParams }, `processDebugBackup_${new Date().getTime()}.xlsx`);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@ -1,127 +0,0 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
|
||||
<el-form-item label="设备编码" prop="deviceCode">
|
||||
<el-input v-model="queryParams.deviceCode" placeholder="请输入设备编码" clearable @keyup.enter.native="handleQuery"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="参数名称" prop="paramName">
|
||||
<el-input v-model="queryParams.paramName" placeholder="请输入参数名称" clearable @keyup.enter.native="handleQuery"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="参数状态" prop="paramStatus">
|
||||
<el-select v-model="queryParams.paramStatus" placeholder="请选择状态" clearable>
|
||||
<el-option label="正常" value="0"/>
|
||||
<el-option label="异常" value="1"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['base:processParamMonitor:export']">导出</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button type="success" plain icon="el-icon-refresh" size="mini" @click="getList">刷新数据</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="monitorList" :row-class-name="tableRowClassName">
|
||||
<el-table-column label="设备编码" align="center" prop="deviceCode"/>
|
||||
<el-table-column label="设备名称" align="center" prop="deviceName"/>
|
||||
<el-table-column label="参数编码" align="center" prop="paramCode"/>
|
||||
<el-table-column label="参数名称" align="center" prop="paramName"/>
|
||||
<el-table-column label="参数值" align="center" prop="paramValue">
|
||||
<template slot-scope="scope">
|
||||
<span :class="{'text-danger': scope.row.paramStatus === '1'}">{{ scope.row.paramValue }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="单位" align="center" prop="paramUnit" width="80"/>
|
||||
<el-table-column label="标准值" align="center" prop="standardValue"/>
|
||||
<el-table-column label="上限" align="center" prop="upperLimit" width="80"/>
|
||||
<el-table-column label="下限" align="center" prop="lowerLimit" width="80"/>
|
||||
<el-table-column label="状态" align="center" prop="paramStatus" width="80">
|
||||
<template slot-scope="scope">
|
||||
<el-tag :type="scope.row.paramStatus === '0' ? 'success' : 'danger'">
|
||||
{{ scope.row.paramStatus === '0' ? '正常' : '异常' }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="采集时间" align="center" prop="collectTime" width="160"/>
|
||||
</el-table>
|
||||
|
||||
<pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listProcessParamMonitor } from "@/api/base/processParamMonitor";
|
||||
|
||||
export default {
|
||||
name: "ProcessParamMonitor",
|
||||
data() {
|
||||
return {
|
||||
loading: true,
|
||||
showSearch: true,
|
||||
total: 0,
|
||||
monitorList: [],
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
deviceCode: null,
|
||||
paramName: null,
|
||||
paramStatus: null,
|
||||
},
|
||||
refreshTimer: null,
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
beforeDestroy() {
|
||||
if (this.refreshTimer) {
|
||||
clearInterval(this.refreshTimer);
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listProcessParamMonitor(this.queryParams).then(response => {
|
||||
this.monitorList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
tableRowClassName({ row }) {
|
||||
if (row.paramStatus === '1') {
|
||||
return 'warning-row';
|
||||
}
|
||||
return '';
|
||||
},
|
||||
handleExport() {
|
||||
this.download('base/processParamMonitor/export', { ...this.queryParams }, `processParamMonitor_${new Date().getTime()}.xlsx`);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.text-danger {
|
||||
color: #F56C6C;
|
||||
font-weight: bold;
|
||||
}
|
||||
::v-deep .warning-row {
|
||||
background-color: #FEF0F0 !important;
|
||||
}
|
||||
</style>
|
||||
@ -1,102 +0,0 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
|
||||
<el-form-item label="设备编码" prop="deviceCode">
|
||||
<el-input v-model="queryParams.deviceCode" placeholder="请输入设备编码" clearable @keyup.enter.native="handleQuery"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="模具编码" prop="moldCode">
|
||||
<el-input v-model="queryParams.moldCode" placeholder="请输入模具编码" clearable @keyup.enter.native="handleQuery"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="产品编码" prop="productCode">
|
||||
<el-input v-model="queryParams.productCode" placeholder="请输入产品编码" clearable @keyup.enter.native="handleQuery"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="批次编码" prop="batchCode">
|
||||
<el-input v-model="queryParams.batchCode" placeholder="请输入批次编码" clearable @keyup.enter.native="handleQuery"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="追溯时间">
|
||||
<el-date-picker v-model="dateRange" style="width: 240px" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['base:processParamTrace:export']">导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="traceList">
|
||||
<el-table-column label="设备编码" align="center" prop="deviceCode"/>
|
||||
<el-table-column label="设备名称" align="center" prop="deviceName"/>
|
||||
<el-table-column label="模具编码" align="center" prop="moldCode"/>
|
||||
<el-table-column label="产品编码" align="center" prop="productCode"/>
|
||||
<el-table-column label="批次编码" align="center" prop="batchCode"/>
|
||||
<el-table-column label="模次" align="center" prop="moldCount" width="80"/>
|
||||
<el-table-column label="参数编码" align="center" prop="paramCode"/>
|
||||
<el-table-column label="参数名称" align="center" prop="paramName"/>
|
||||
<el-table-column label="参数值" align="center" prop="paramValue"/>
|
||||
<el-table-column label="单位" align="center" prop="paramUnit" width="80"/>
|
||||
<el-table-column label="追溯时间" align="center" prop="traceTime" width="160"/>
|
||||
</el-table>
|
||||
|
||||
<pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listProcessParamTrace } from "@/api/base/processParamTrace";
|
||||
|
||||
export default {
|
||||
name: "ProcessParamTrace",
|
||||
data() {
|
||||
return {
|
||||
loading: true,
|
||||
showSearch: true,
|
||||
total: 0,
|
||||
traceList: [],
|
||||
dateRange: [],
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
deviceCode: null,
|
||||
moldCode: null,
|
||||
productCode: null,
|
||||
batchCode: null,
|
||||
},
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.loading = true;
|
||||
let params = { ...this.queryParams };
|
||||
if (this.dateRange && this.dateRange.length === 2) {
|
||||
params.params = { beginTime: this.dateRange[0], endTime: this.dateRange[1] };
|
||||
}
|
||||
listProcessParamTrace(params).then(response => {
|
||||
this.traceList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
resetQuery() {
|
||||
this.dateRange = [];
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
handleExport() {
|
||||
this.download('base/processParamTrace/export', { ...this.queryParams }, `processParamTrace_${new Date().getTime()}.xlsx`);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@ -1,144 +0,0 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
|
||||
<el-form-item label="产品编码" prop="productCode">
|
||||
<el-input v-model="queryParams.productCode" placeholder="请输入产品编码" clearable @keyup.enter.native="handleQuery"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="工单编码" prop="orderCode">
|
||||
<el-input v-model="queryParams.orderCode" placeholder="请输入工单编码" clearable @keyup.enter.native="handleQuery"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="批次编码" prop="batchCode">
|
||||
<el-input v-model="queryParams.batchCode" placeholder="请输入批次编码" clearable @keyup.enter.native="handleQuery"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="设备编码" prop="deviceCode">
|
||||
<el-input v-model="queryParams.deviceCode" placeholder="请输入设备编码" clearable @keyup.enter.native="handleQuery"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="快照时间">
|
||||
<el-date-picker v-model="dateRange" style="width: 240px" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['base:processSnapshot:export']">导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="snapshotList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center"/>
|
||||
<el-table-column label="快照编号" align="center" prop="snapshotCode" width="120"/>
|
||||
<el-table-column label="产品编码" align="center" prop="productCode"/>
|
||||
<el-table-column label="产品名称" align="center" prop="productName" show-overflow-tooltip/>
|
||||
<el-table-column label="工单编码" align="center" prop="orderCode"/>
|
||||
<el-table-column label="批次编码" align="center" prop="batchCode"/>
|
||||
<el-table-column label="设备编码" align="center" prop="deviceCode"/>
|
||||
<el-table-column label="工位编码" align="center" prop="stationCode"/>
|
||||
<el-table-column label="工序步骤" align="center" prop="processStep" width="80"/>
|
||||
<el-table-column label="工序名称" align="center" prop="processName"/>
|
||||
<el-table-column label="快照时间" align="center" prop="snapshotTime" width="160"/>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="100">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="text" icon="el-icon-view" @click="handleView(scope.row)">查看参数</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList"/>
|
||||
|
||||
<el-dialog title="工艺参数快照" :visible.sync="viewOpen" width="700px" append-to-body>
|
||||
<el-descriptions :column="2" border>
|
||||
<el-descriptions-item label="产品编码">{{ currentRow.productCode }}</el-descriptions-item>
|
||||
<el-descriptions-item label="产品名称">{{ currentRow.productName }}</el-descriptions-item>
|
||||
<el-descriptions-item label="工单编码">{{ currentRow.orderCode }}</el-descriptions-item>
|
||||
<el-descriptions-item label="批次编码">{{ currentRow.batchCode }}</el-descriptions-item>
|
||||
<el-descriptions-item label="设备编码">{{ currentRow.deviceCode }}</el-descriptions-item>
|
||||
<el-descriptions-item label="工位编码">{{ currentRow.stationCode }}</el-descriptions-item>
|
||||
<el-descriptions-item label="工序步骤">{{ currentRow.processStep }}</el-descriptions-item>
|
||||
<el-descriptions-item label="工序名称">{{ currentRow.processName }}</el-descriptions-item>
|
||||
<el-descriptions-item label="快照时间" :span="2">{{ currentRow.snapshotTime }}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<div style="margin-top: 15px;">
|
||||
<h4>参数数据</h4>
|
||||
<pre style="max-height: 300px; overflow: auto; background: #f5f5f5; padding: 15px; border-radius: 4px;">{{ viewParamData }}</pre>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="viewOpen = false">关 闭</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listProcessSnapshot, getProcessSnapshot } from "@/api/base/processSnapshot";
|
||||
|
||||
export default {
|
||||
name: "ProcessSnapshot",
|
||||
data() {
|
||||
return {
|
||||
loading: true,
|
||||
ids: [],
|
||||
showSearch: true,
|
||||
total: 0,
|
||||
snapshotList: [],
|
||||
viewOpen: false,
|
||||
viewParamData: "",
|
||||
currentRow: {},
|
||||
dateRange: [],
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
productCode: null,
|
||||
orderCode: null,
|
||||
batchCode: null,
|
||||
deviceCode: null,
|
||||
},
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.loading = true;
|
||||
let params = { ...this.queryParams };
|
||||
if (this.dateRange && this.dateRange.length === 2) {
|
||||
params.params = { beginTime: this.dateRange[0], endTime: this.dateRange[1] };
|
||||
}
|
||||
listProcessSnapshot(params).then(response => {
|
||||
this.snapshotList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
resetQuery() {
|
||||
this.dateRange = [];
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.snapshotId);
|
||||
},
|
||||
handleView(row) {
|
||||
this.currentRow = row;
|
||||
try {
|
||||
this.viewParamData = row.paramData ? JSON.stringify(JSON.parse(row.paramData), null, 2) : "暂无参数数据";
|
||||
} catch (e) {
|
||||
this.viewParamData = row.paramData || "暂无参数数据";
|
||||
}
|
||||
this.viewOpen = true;
|
||||
},
|
||||
handleExport() {
|
||||
this.download('base/processSnapshot/export', { ...this.queryParams }, `processSnapshot_${new Date().getTime()}.xlsx`);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
Loading…
Reference in New Issue