530 lines
19 KiB
Vue
530 lines
19 KiB
Vue
<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>
|