Files
50-XiAn204-MacroinfManage_MES/src/views/BasicDataMaintenance/BasicVariableQuery/index.vue

530 lines
19 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<div class="app-container">
<el-card class="topCard">
<div class="topDiv">
<span style="margin-left: 10px">工位号</span>
<el-select v-model="dataTypeValue" placeholder="工位号" clearable size="small" style="width:100px">
<el-option
v-for="item in dataType"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<span style="margin-left: 10px">变量类型</span>
<el-select v-model="valueTypeValue" placeholder="变量类型" clearable size="small" style="width:100px">
<el-option
v-for="item in valueType"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<span style="margin-left: 10px">是否启用</span>
<el-select v-model="valueUsedValue" placeholder="是否启用" clearable size="small" style="width:100px">
<el-option
v-for="item in valueUsed"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<span style="margin-left: 10px">是否监控</span>
<el-select v-model="valueMonitorValue" placeholder="是否监控" clearable size="small" style="width:100px">
<el-option
v-for="item in valueMonitor"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<el-button type="primary" plain size="small" icon="el-icon-search" style="margin-left: 5px" @click="pageSize=50;pageCurrent=1;searchTable()">查询</el-button>
</div>
<el-table
v-loading="loading"
:data="tableData"
:key="isUpdate"
highlight-current-row
border
size="mini"
height="670"
center
style="width: 100%"
@cell-dblclick="showEdit">
<el-table-column type="index" width="60" label="序号" align="center"/>
<el-table-column label="是否启用" align="center">
<template slot-scope="scope">
<el-switch
v-model="scope.row.是否启用_Value"
size="mini"
active-color="#13ce66"
inactive-color="#ff4949"
@change="switchChange($event, 1, scope.row)"/>
</template>
</el-table-column>
<el-table-column label="是否监控" align="center">
<template slot-scope="scope">
<el-switch
v-model="scope.row.是否监控_Value"
size="mini"
active-color="#13ce66"
inactive-color="#ff0000"
@change="switchChange($event, 2, scope.row)"/>
</template>
</el-table-column>
<el-table-column label="变量类型代码" align="center">
<template slot-scope="scope">
{{ scope.row.变量类型代码 }}
</template>
</el-table-column>
<el-table-column label="测量位置" align="center" min-width="200px">
<template slot-scope="scope">
{{ scope.row.测量位置 }}
</template>
</el-table-column>
<el-table-column label="测量项目" align="center" min-width="200px">
<template slot-scope="scope">
{{ scope.row.测量项目 }}
</template>
</el-table-column>
<el-table-column label="TagID" align="center">
<template slot-scope="scope">
{{ scope.row.TagID }}
</template>
</el-table-column>
<el-table-column label="TagName" width="200px" align="center">
<template slot-scope="scope">
{{ scope.row.TagName }}
</template>
</el-table-column>
<el-table-column label="工位号" align="center">
<template slot-scope="scope">
{{ scope.row.工位号 }}
</template>
</el-table-column>
<el-table-column label="数据来源" align="center">
<template slot-scope="scope">
{{ scope.row.数据来源 }}
</template>
</el-table-column>
<el-table-column label="IP" align="center" min-width="100">
<template slot-scope="scope">
{{ scope.row.IP }}
</template>
</el-table-column>
<el-table-column label="TagTypeID" width="90px" align="center">
<template slot-scope="scope">
{{ scope.row.TagTypeID }}
</template>
</el-table-column>
<el-table-column label="TagLong" align="center">
<template slot-scope="scope">
{{ scope.row.TagLong }}
</template>
</el-table-column>
<el-table-column label="DbName" align="center">
<template slot-scope="scope">
{{ scope.row.DbName }}
</template>
</el-table-column>
<el-table-column label="变量类型" align="center">
<template slot-scope="scope">
{{ scope.row.变量类型 }}
</template>
</el-table-column>
<el-table-column label="变量地址" align="center">
<template slot-scope="scope">
{{ scope.row.变量地址 }}
</template>
</el-table-column>
<el-table-column label="变量其它" align="center">
<template slot-scope="scope">
{{ scope.row.变量其它 }}
</template>
</el-table-column>
<el-table-column label="演示偏移" align="center">
<template slot-scope="scope">
{{ scope.row.演示偏移 }}
</template>
</el-table-column>
<el-table-column label="列位置" align="center">
<template slot-scope="scope">
{{ scope.row.列位置 }}
</template>
</el-table-column>
<el-table-column label="测量单位" align="center">
<template slot-scope="scope">
{{ scope.row.测量单位 }}
</template>
</el-table-column>
<el-table-column label="变量类型名称" min-width="300px" align="center">
<template slot-scope="scope">
{{ scope.row.变量类型名称 }}
</template>
</el-table-column>
<el-table-column label="机体类型" align="center">
<template slot-scope="scope">
{{ scope.row.机体类型 }}
</template>
</el-table-column>
<el-table-column label="线体类型" align="center">
<template slot-scope="scope">
{{ scope.row.线体类型 }}
</template>
</el-table-column>
<el-table-column label="TagAdrDemo" align="center">
<template slot-scope="scope">
{{ scope.row.TagAdrDemo }}
</template>
</el-table-column>
<el-table-column label="监控组" align="center" min-width="120px">
<template slot-scope="scope">
{{ scope.row.监控组 }}
</template>
</el-table-column>
<el-table-column label="监控时间间隔" align="center">
<template slot-scope="scope">
{{ scope.row.监控时间间隔 }}
</template>
</el-table-column>
<el-table-column label="OpcServer_OPNAME" width="100px" align="center">
<template slot-scope="scope">
{{ scope.row.OpcServer_OPNAME }}
</template>
</el-table-column>
<el-table-column label="变量特点" align="center">
<template slot-scope="scope">
{{ scope.row.变量特点 }}
</template>
</el-table-column>
<el-table-column label="变量排序" align="center">
<template slot-scope="scope">
{{ scope.row.变量排序 }}
</template>
</el-table-column>
<el-table-column label="工序能力" align="center">
<template slot-scope="scope">
{{ scope.row.工序能力 }}
</template>
</el-table-column>
<el-table-column label="监控属性代码" align="center">
<template slot-scope="scope">
{{ scope.row.监控属性代码 }}
</template>
</el-table-column>
<el-table-column label="测量位置短" align="center">
<template slot-scope="scope">
{{ scope.row.测量位置短 }}
</template>
</el-table-column>
<el-table-column label="上限值" align="center">
<template slot-scope="scope">
{{ scope.row.上限值 }}
</template>
</el-table-column>
<el-table-column label="下限值" align="center">
<template slot-scope="scope">
{{ scope.row.下限值 }}
</template>
</el-table-column>
<el-table-column label="理论值" align="center">
<template slot-scope="scope">
{{ scope.row.理论值 }}
</template>
</el-table-column>
<el-table-column label="IsGoodBad" align="center">
<template slot-scope="scope">
{{ scope.row.IsGoodBad }}
</template>
</el-table-column>
<el-table-column label="IsSaveToSql" align="center">
<template slot-scope="scope">
{{ scope.row.IsSaveToSql }}
</template>
</el-table-column>
<el-table-column label="IsWebSocket" align="center">
<template slot-scope="scope">
{{ scope.row.IsWebSocket }}
</template>
</el-table-column>
<el-table-column label="连接名称" align="center">
<template slot-scope="scope">
{{ scope.row.连接名称 }}
</template>
</el-table-column>
<el-table-column label="OpcServer_MIS" align="center">
<template slot-scope="scope">
{{ scope.row.OpcServer_MIS }}
</template>
</el-table-column>
<el-table-column label="操作" fixed="right" width="150" align="center">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
plain
icon="el-icon-edit"
@click="editShiftTable(scope.row)">编辑</el-button>
<el-button
size="mini"
type="text"
plain
icon="el-icon-delete"
style="color: #ff0000"
@click="handleDelete(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<div class="block" style="margin-top: 10px;">
<el-pagination
v-if="!loading"
:current-page="pageCurrent"
:page-sizes="[50, 100, 200]"
:page-size="pageSize"
:total="total"
layout="total, sizes, prev, pager, next, jumper"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"/>
</div>
<el-dialog :visible.sync="dialogFormVisible3" :title="title" center style="min-height: 200px" width="400px">
<el-form ref="form" :model="form" :rules="rules" label-position="right" label-width="110px">
<el-form-item label="原始值" prop="oldValue" style="display: inline-block">
<el-input
v-model="form.oldValue"
readonly
size="small"
placeholder="原始值"/>
</el-form-item>
<el-form-item label="修改值" prop="newValue" style="display: inline-block">
<el-input
v-model="form.newValue"
clearable
size="small"
placeholder="修改值"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button size="small" @click="callOff('form')">取消</el-button>
<el-button type="primary" size="small" @click="submitAdd('form')">确定</el-button>
</div>
</el-dialog>
</el-card>
</div>
</template>
<script>
import request from '@/utils/request'
export default {
data() {
return {
form: {
tagID: '',
oldValue: '',
newValue: '',
filed: ''
},
rules: {
tagID: [{ required: true, message: '请输入tagID', trigger: 'blur' }],
oldValue: [{ required: true, message: '请输入oldValue', trigger: 'blur' }],
newValue: [{ required: true, message: '请输入newValue', trigger: 'blur' }],
filed: [{ required: true, message: '请输入filed', trigger: 'blur' }]
},
title: '',
dialogFormVisible3: false,
loading: false,
isUpdate: false,
tableData: [],
dataType: [], // 工位数组
dataTypeValue: '', // 工位信息
valueType: [
{
label: '基本变量',
value: 8
}, {
label: '报警变量',
value: 9
}, {
label: '质量变量',
value: 7
}
],
valueUsed: [
{
label: '启用',
value: 1
}, {
label: '禁用',
value: 0
}
],
valueMonitor: [
{
label: '监控',
value: 1
}, {
label: '不监控',
value: 0
}
],
valueTypeValue: '',
valueUsedValue: 1,
valueMonitorValue: '',
total: 0, // 总条数
pageList: 100, // 每页显示条数
pageSize: 50, // 每页显示条数
pageCurrent: 1 // 后台获取页
}
},
created() {
this.getNumber()
// this.searchTable()
},
methods: {
// 初始化获取产品型号
getNumber() {
this.dataType = []
request({
url: '',
method: 'post',
data: {
type: '3',
name: `SELECT [工位号] FROM [dbo].[MES_计划BOM_工位与名称]`
}
}).then(response => {
if (response.data.length) {
for (let i = 0; i < response.data.length; i++) {
this.dataType.push({
label: response.data[i].工位号,
value: response.data[i].工位号
})
}
}
})
},
searchTable() {
this.loading = true
this.tableData = []
let stationNumberValue_check, valueType_check, valueUsed_check, monitor_check
// this.engineTypeValue ? engineTypeValue_check = 1 : (engineTypeValue_check = 0, this.engineTypeValue = '')
this.dataTypeValue ? stationNumberValue_check = 1 : stationNumberValue_check = 0
this.valueTypeValue ? valueType_check = 1 : valueType_check = 0
this.valueUsedValue !== 0 && this.valueUsedValue !== 1 ? valueUsed_check = 0 : valueUsed_check = 1
this.valueMonitorValue !== 0 && this.valueMonitorValue !== 1 ? monitor_check = 0 : monitor_check = 1
var param = []
param[0] = ['变量类型_ischeck', valueType_check]
param[1] = ['变量类型', this.valueTypeValue]
param[2] = ['工位号_ischeck', stationNumberValue_check]
param[3] = ['工位号', this.dataTypeValue]
param[4] = ['启用_ischeck', valueUsed_check]
param[5] = ['启用', this.valueUsedValue]
param[6] = ['监控_ischeck', monitor_check]
param[7] = ['监控', this.valueMonitorValue]
param[8] = ['PageCurrent', this.pageCurrent]
param[9] = ['PageSize', this.pageSize]
param[10] = ['PageCount', '1111', 'int', '1']
param[11] = ['ItemCount', '1111', 'int', '1']
var Data = this.CreateData('11', 'MES_基本变量_查询数据', param)
this.ExecDatabase(Data).then(response => {
if (response.data.result.length !== 0) {
this.tableData = response.data.result
}
for (const valueUsedCheckElement of this.tableData) {
valueUsedCheckElement['是否启用_Value'] = !!parseInt(valueUsedCheckElement['是否启用'])
valueUsedCheckElement['是否监控_Value'] = !!parseInt(valueUsedCheckElement['是否监控'])
}
this.total = parseInt(response.data.output[0].ItemCount)
this.loading = false
})
},
searchTableAfterEdit(tagID) {
var param = []
param[0] = ['TagId', tagID]
var Data = this.CreateData('11', 'MES_基本变量_查询数据_TagId', param)
this.ExecDatabase(Data).then(response => {
if (response.data.length !== 0) {
for (let i = 0; i < this.tableData.length; i++) {
if (this.tableData[i]['TagID'] === tagID) {
response.data[0]['是否启用_Value'] = !!parseInt(response.data[0]['是否启用'])
response.data[0]['是否监控_Value'] = !!parseInt(response.data[0]['是否监控'])
console.log(response.data[0])
this.$set(this.tableData, i, response.data[0])
// this.tableData[i] = response.data[0]
return
}
}
}
this.isUpdate = !this.isUpdate
})
},
editShiftTable(row) {},
handleDelete(row) {},
switchChange(status, type, row) {
var param = []
param[0] = ['Value_type', parseInt(type)]
param[1] = ['Value_edit', status ? 1 : 0]
param[2] = ['TagID', row.TagID]
var Data = this.CreateData('12', 'MES_基本变量_启用与监控编辑', param)
this.ExecDatabase(Data).then(response => {
if (response.data[0].result === '1') {
this.$message({
message: '修改成功',
type: 'success'
})
this.searchTableAfterEdit(row.TagID)
} else {
this.$message.error('修改失败!')
}
})
},
showEdit(row, column, cell, event) {
console.log(row, column, cell, event)
this.title = `${column.label}】 修改信息`
this.form.filed = column.label
this.form.oldValue = row[column.label]
this.form.tagID = row.TagID
this.form.newValue = ''
this.dialogFormVisible3 = true
},
submitAdd() {
var param = []
param[0] = ['newValue', this.form.newValue]
param[1] = ['filed', this.form.filed]
param[2] = ['TagID', this.form.tagID]
var Data = this.CreateData('12', 'MES_基本变量_字段信息_编辑', param)
this.ExecDatabase(Data).then(response => {
if (response.data[0].result === '1') {
this.$message({
message: '修改成功',
type: 'success'
})
this.searchTableAfterEdit(this.form.tagID)
this.dialogFormVisible3 = false
} else {
this.$message.error('修改失败!')
}
})
},
callOff() {
this.title = ''
this.form.filed = ''
this.form.oldValue = ''
this.form.tagID = ''
this.form.newValue = ''
this.dialogFormVisible3 = false
},
// 分页
handleSizeChange(val) {
this.pageCurrent = 1
this.pageSize = val
this.searchTable()
},
handleCurrentChange(val) {
this.pageCurrent = val
this.searchTable()
}
}
}
</script>
<style scoped>
.topDiv{
margin-bottom: 10px;
}
</style>