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

359 lines
12 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:150px">
<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>-->
<el-button type="primary" plain size="small" icon="el-icon-search" style="margin-left: 5px" @click="pageSize=50;pageCurrent=1;searchTable()">查询</el-button>
<!-- <el-button type="success" plain icon="el-icon-document-copy" size="small" @click="copyData('form4')">复制</el-button>-->
</div>
<el-table
v-loading="loading"
:data="tableData"
highlight-current-row
border
size="mini"
height="740"
center
style="width: 100%">
<el-table-column width="60" label="序号" align="center">
<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.DbName }}{{ scope.row.变量类型 }}{{ scope.row.变量地址 }} {{ 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="操作" width="100" align="center">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
plain
icon="el-icon-edit"
@click="editShiftTable(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-card>
<el-dialog :visible.sync="dialogFormVisible" :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="measurementItems" style="display: inline-block">
<el-select v-model="form.measurementItems" placeholder="IP" size="small">
<el-option
v-for="item in alarmType"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
<el-form-item label="报警内容" prop="valueName" style="display: inline-block">
<el-input
v-model="form.valueName"
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="submitAdd1('form')">确定</el-button>
</div>
</el-dialog>
<el-dialog :visible.sync="dialogFormVisible4" title="数据复制" center style="min-height: 200px" width="400px">
<el-form ref="form1" :model="form4" :rules="rules4" label-position="right" label-width="110px">
<el-form-item label="工位号" prop="engineTypeValue" style="display: inline-block">
<el-select v-model="form4.engineTypeValue" placeholder="请选择工位号" size="small">
<el-option
v-for="item in dataType"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini"/>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button size="small" @click="callOff4()">取消</el-button>
<el-button type="primary" size="small" @click="submitAdd4()">确定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import request from '@/utils/request'
export default {
data() {
return {
loading: false,
tableData: [],
dataType: [], // 工位数组
dataTypeValue: '', // 工位信息
valueType: [
{
label: '基本变量',
value: 8
}, {
label: '报警变量',
value: 9
}, {
label: '质量变量',
value: 7
}
],
valueTypeValue: '9',
alarmType: [],
alarmTypeValue: '',
dialogFormVisible: false,
dialogFormVisible4: false,
form4: {
engineTypeValue: ''
},
rules4: { // 订单下发验证
engineTypeValue: [{ required: true, message: '请选择', trigger: 'blur' }]
},
title: '',
form: {
tagID: '',
stationNo: '',
measurementItems: '',
valueName: ''
},
rules: { // 表单验证规则
},
total: 0, // 总条数
pageList: 50, // 每页显示条数
pageSize: 50, // 每页显示条数
pageCurrent: 1 // 后台获取页
}
},
created() {
this.getNumber()
this.getAlarmType()
},
methods: {
// 初始化获取产品型号
getNumber() {
this.dataType = []
request({
url: '',
method: 'post',
data: {
type: '3',
name: `SELECT [工位号] FROM [dbo].[MES_计划BOM_工位与名称]`
}
}).then(response => {
if (response.data.length) {
this.dataTypeValue = response.data[0].工位号
for (let i = 0; i < response.data.length; i++) {
this.dataType.push({
label: response.data[i].工位号,
value: response.data[i].工位号
})
}
}
}).then(() => {
this.searchTable()
})
}, // 初始化获取报警类型
getAlarmType() {
this.alarmType = []
request({
url: '',
method: 'post',
data: {
type: '3',
name: `SELECT [ID], [报警类型] FROM [dbo].[MES_基本变量_报警类型]`
}
}).then(response => {
if (response.data.length) {
// console.log(response.data, 'response.data')
for (let i = 0; i < response.data.length; i++) {
this.alarmType.push({
label: response.data[i].报警类型,
value: response.data[i].报警类型
})
}
}
})
},
searchTable() {
this.loading = true
this.tableData = []
let stationNumberValue_check, valueType_check
// this.engineTypeValue ? engineTypeValue_check = 1 : (engineTypeValue_check = 0, this.engineTypeValue = '')
this.dataTypeValue ? stationNumberValue_check = 1 : (stationNumberValue_check = 0, this.dataTypeValue = '')
this.valueTypeValue ? valueType_check = 1 : (valueType_check = 0, this.valueTypeValue = '')
var param = []
param[0] = ['变量类型_ischeck', valueType_check]
param[1] = ['变量类型', this.valueTypeValue]
param[2] = ['工位号_ischeck', stationNumberValue_check]
param[3] = ['工位号', this.dataTypeValue]
param[4] = ['PageCurrent', this.pageCurrent]
param[5] = ['PageSize', this.pageSize]
param[6] = ['PageCount', '1111', 'int', '1']
param[7] = ['ItemCount', '1111', 'int', '1']
var Data = this.CreateData('11', 'MES_基本变量_查询数据', param)
this.ExecDatabase(Data).then(response => {
console.log(response, 66)
if (response.data.result.length !== 0) {
this.tableData = response.data.result
}
this.total = parseInt(response.data.output[0].ItemCount)
this.loading = false
})
},
editShiftTable(row) {
if (this.$refs['form'] !== undefined) {
this.$refs['form'].resetFields()
}
this.form.tagID = row.TagID
this.form.measurementItems = row.测量位置
this.form.stationNo = row.工位号
this.form.valueName = row.测量项目
this.title = '编辑'
this.dialogFormVisible = true
},
submitAdd1() {
this.$refs['form'].validate((valid) => {
if (valid) {
var param = []
param[0] = ['工位号', this.form.stationNo]
param[1] = ['TagID', this.form.tagID]
param[2] = ['测量项目', this.form.measurementItems]
param[3] = ['变量类型名称', this.form.valueName]
var Data = this.CreateData('12', '基础数据_报警变量维护_编辑', param)
this.ExecDatabase(Data).then(response => {
if (response.data[0].result === '1') {
this.$message({
message: '修改成功',
type: 'success'
})
this.searchTable()
} else {
this.$message.error('修改失败!')
}
})
this.dialogFormVisible = false
} else {
return false
}
})
},
callOff() {
this.dialogFormVisible = false
},
copyData(formName) {
if (this.tableData.length) {
if (this.$refs[formName] !== undefined) {
this.$refs[formName].resetFields()
}
this.dialogFormVisible4 = true
} else {
this.$message({
message: '暂无可复制的数据!',
type: 'error'
})
}
},
callOff4() {
this.dialogFormVisible4 = false
},
submitAdd4() {
var param = []
param[0] = ['原始工位号', this.dataTypeValue]
param[1] = ['复制工位号', this.form4.engineTypeValue]
var Data = this.CreateData('12', '基础数据_报警变量维护_复制', param)
this.ExecDatabase(Data).then(response => {
if (response.data[0].result === '1') {
this.$message({
message: '修改成功',
type: 'success'
})
this.dataTypeValue = this.form4.engineTypeValue
this.searchTable()
this.dialogFormVisible4 = false
} else {
this.$message.error('修改失败!')
}
})
this.dialogFormVisible = 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>