|
|
@@ -1,209 +1,333 @@ |
|
|
|
<template> |
|
|
|
<div class="app-container"> |
|
|
|
<div class="app-container"> |
|
|
|
<!-- 搜索工作栏 --> |
|
|
|
<SearchBar |
|
|
|
:formConfigs="searchBarFormConfig" |
|
|
|
ref="search-bar" |
|
|
|
@headBtnClick="handleSearchBarBtnClick" /> |
|
|
|
|
|
|
|
<!-- 搜索工作栏 --> |
|
|
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> |
|
|
|
<el-form-item label="plc表iD" prop="plcId"> |
|
|
|
<el-input v-model="queryParams.plcId" placeholder="请输入plc表iD" clearable @keyup.enter.native="handleQuery"/> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="设备表id" prop="equipmentId"> |
|
|
|
<el-input v-model="queryParams.equipmentId" placeholder="请输入设备表id" clearable @keyup.enter.native="handleQuery"/> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item> |
|
|
|
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button> |
|
|
|
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<!-- 列表 --> |
|
|
|
<base-table |
|
|
|
:table-props="tableProps" |
|
|
|
:page="queryParams.pageNo" |
|
|
|
:limit="queryParams.pageSize" |
|
|
|
:table-data="list" |
|
|
|
@emitFun="handleEmitFun"> |
|
|
|
<method-btn |
|
|
|
v-if="tableBtn.length" |
|
|
|
slot="handleBtn" |
|
|
|
label="操作" |
|
|
|
:method-list="tableBtn" |
|
|
|
@clickBtn="handleTableBtnClick" /> |
|
|
|
</base-table> |
|
|
|
|
|
|
|
<!-- 操作工具栏 --> |
|
|
|
<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:equipment-plc-connect:create']">新增</el-button> |
|
|
|
</el-col> |
|
|
|
<el-col :span="1.5"> |
|
|
|
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading" |
|
|
|
v-hasPermi="['base:equipment-plc-connect:export']">导出</el-button> |
|
|
|
</el-col> |
|
|
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
|
|
|
</el-row> |
|
|
|
<!-- 分页组件 --> |
|
|
|
<pagination |
|
|
|
v-show="total > 0" |
|
|
|
:total="total" |
|
|
|
:page.sync="queryParams.pageNo" |
|
|
|
:limit.sync="queryParams.pageSize" |
|
|
|
@pagination="getList" /> |
|
|
|
|
|
|
|
<!-- 列表 --> |
|
|
|
<el-table v-loading="loading" :data="list"> |
|
|
|
<el-table-column label="id" align="center" prop="id" /> |
|
|
|
<el-table-column label="plc表iD" align="center" prop="plcId" /> |
|
|
|
<el-table-column label="设备表id" align="center" prop="equipmentId" /> |
|
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
|
|
|
<template v-slot="scope"> |
|
|
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" |
|
|
|
v-hasPermi="['base:equipment-plc-connect:update']">修改</el-button> |
|
|
|
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" |
|
|
|
v-hasPermi="['base:equipment-plc-connect:delete']">删除</el-button> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
<!-- 分页组件 --> |
|
|
|
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" |
|
|
|
@pagination="getList"/> |
|
|
|
|
|
|
|
<!-- 对话框(添加 / 修改) --> |
|
|
|
<el-dialog :title="title" :visible.sync="open" width="500px" v-dialogDrag append-to-body> |
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
|
|
|
<el-form-item label="plc表iD" prop="plcId"> |
|
|
|
<el-input v-model="form.plcId" placeholder="请输入plc表iD" /> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="设备表id" prop="equipmentId"> |
|
|
|
<el-input v-model="form.equipmentId" placeholder="请输入设备表id" /> |
|
|
|
</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> |
|
|
|
</div> |
|
|
|
<!-- 对话框(添加 / 修改) --> |
|
|
|
<base-dialog |
|
|
|
:dialogTitle="title" |
|
|
|
:dialogVisible="open" |
|
|
|
width="700px" |
|
|
|
@close="cancel" |
|
|
|
@cancel="cancel" |
|
|
|
@confirm="submitForm"> |
|
|
|
<DialogForm v-if="open" ref="form" :dataForm="form" :rows="rows" /> |
|
|
|
</base-dialog> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
import { createEquipmentPlcConnect, updateEquipmentPlcConnect, deleteEquipmentPlcConnect, getEquipmentPlcConnect, getEquipmentPlcConnectPage, exportEquipmentPlcConnectExcel } from "@/api/base/equipmentPlcConnect"; |
|
|
|
import { |
|
|
|
createEquipmentPlcConnect, |
|
|
|
updateEquipmentPlcConnect, |
|
|
|
deleteEquipmentPlcConnect, |
|
|
|
getEquipmentPlcConnect, |
|
|
|
getEquipmentPlcConnectPage, |
|
|
|
exportEquipmentPlcConnectExcel, |
|
|
|
} from '@/api/base/equipmentPlcConnect'; |
|
|
|
import moment from 'moment'; |
|
|
|
import basicPageMixin from '@/mixins/lb/basicPageMixin'; |
|
|
|
import './http'; |
|
|
|
|
|
|
|
export default { |
|
|
|
name: "EquipmentPlcConnect", |
|
|
|
components: { |
|
|
|
}, |
|
|
|
data() { |
|
|
|
return { |
|
|
|
// 遮罩层 |
|
|
|
loading: true, |
|
|
|
// 导出遮罩层 |
|
|
|
exportLoading: false, |
|
|
|
// 显示搜索条件 |
|
|
|
showSearch: true, |
|
|
|
// 总条数 |
|
|
|
total: 0, |
|
|
|
// 设备与实时采集关系表(一对多)列表 |
|
|
|
list: [], |
|
|
|
// 弹出层标题 |
|
|
|
title: "", |
|
|
|
// 是否显示弹出层 |
|
|
|
open: false, |
|
|
|
// 查询参数 |
|
|
|
queryParams: { |
|
|
|
pageNo: 1, |
|
|
|
pageSize: 10, |
|
|
|
plcId: null, |
|
|
|
equipmentId: null, |
|
|
|
}, |
|
|
|
// 表单参数 |
|
|
|
form: {}, |
|
|
|
// 表单校验 |
|
|
|
rules: { |
|
|
|
plcId: [{ required: true, message: "plc表iD不能为空", trigger: "blur" }], |
|
|
|
equipmentId: [{ required: true, message: "设备表id不能为空", trigger: "blur" }], |
|
|
|
} |
|
|
|
}; |
|
|
|
}, |
|
|
|
created() { |
|
|
|
this.getList(); |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
/** 查询列表 */ |
|
|
|
getList() { |
|
|
|
this.loading = true; |
|
|
|
// 执行查询 |
|
|
|
getEquipmentPlcConnectPage(this.queryParams).then(response => { |
|
|
|
this.list = response.data.list; |
|
|
|
this.total = response.data.total; |
|
|
|
this.loading = false; |
|
|
|
}); |
|
|
|
}, |
|
|
|
/** 取消按钮 */ |
|
|
|
cancel() { |
|
|
|
this.open = false; |
|
|
|
this.reset(); |
|
|
|
}, |
|
|
|
/** 表单重置 */ |
|
|
|
reset() { |
|
|
|
this.form = { |
|
|
|
id: undefined, |
|
|
|
plcId: undefined, |
|
|
|
equipmentId: undefined, |
|
|
|
}; |
|
|
|
this.resetForm("form"); |
|
|
|
}, |
|
|
|
/** 搜索按钮操作 */ |
|
|
|
handleQuery() { |
|
|
|
this.queryParams.pageNo = 1; |
|
|
|
this.getList(); |
|
|
|
}, |
|
|
|
/** 重置按钮操作 */ |
|
|
|
resetQuery() { |
|
|
|
this.resetForm("queryForm"); |
|
|
|
this.handleQuery(); |
|
|
|
}, |
|
|
|
/** 新增按钮操作 */ |
|
|
|
handleAdd() { |
|
|
|
this.reset(); |
|
|
|
this.open = true; |
|
|
|
this.title = "添加设备与实时采集关系表(一对多)"; |
|
|
|
}, |
|
|
|
/** 修改按钮操作 */ |
|
|
|
handleUpdate(row) { |
|
|
|
this.reset(); |
|
|
|
const id = row.id; |
|
|
|
getEquipmentPlcConnect(id).then(response => { |
|
|
|
this.form = response.data; |
|
|
|
this.open = true; |
|
|
|
this.title = "修改设备与实时采集关系表(一对多)"; |
|
|
|
}); |
|
|
|
}, |
|
|
|
/** 提交按钮 */ |
|
|
|
submitForm() { |
|
|
|
this.$refs["form"].validate(valid => { |
|
|
|
if (!valid) { |
|
|
|
return; |
|
|
|
} |
|
|
|
// 修改的提交 |
|
|
|
if (this.form.id != null) { |
|
|
|
updateEquipmentPlcConnect(this.form).then(response => { |
|
|
|
this.$modal.msgSuccess("修改成功"); |
|
|
|
this.open = false; |
|
|
|
this.getList(); |
|
|
|
}); |
|
|
|
return; |
|
|
|
} |
|
|
|
// 添加的提交 |
|
|
|
createEquipmentPlcConnect(this.form).then(response => { |
|
|
|
this.$modal.msgSuccess("新增成功"); |
|
|
|
this.open = false; |
|
|
|
this.getList(); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}, |
|
|
|
/** 删除按钮操作 */ |
|
|
|
handleDelete(row) { |
|
|
|
const id = row.id; |
|
|
|
this.$modal.confirm('是否确认删除设备与实时采集关系表(一对多)编号为"' + id + '"的数据项?').then(function() { |
|
|
|
return deleteEquipmentPlcConnect(id); |
|
|
|
}).then(() => { |
|
|
|
this.getList(); |
|
|
|
this.$modal.msgSuccess("删除成功"); |
|
|
|
}).catch(() => {}); |
|
|
|
}, |
|
|
|
/** 导出按钮操作 */ |
|
|
|
handleExport() { |
|
|
|
// 处理查询参数 |
|
|
|
let params = {...this.queryParams}; |
|
|
|
params.pageNo = undefined; |
|
|
|
params.pageSize = undefined; |
|
|
|
this.$modal.confirm('是否确认导出所有设备与实时采集关系表(一对多)数据项?').then(() => { |
|
|
|
this.exportLoading = true; |
|
|
|
return exportEquipmentPlcConnectExcel(params); |
|
|
|
}).then(response => { |
|
|
|
this.$download.excel(response, '设备与实时采集关系表(一对多).xls'); |
|
|
|
this.exportLoading = false; |
|
|
|
}).catch(() => {}); |
|
|
|
} |
|
|
|
} |
|
|
|
name: 'EquipmentPlcConnect', |
|
|
|
mixins: [basicPageMixin], |
|
|
|
components: {}, |
|
|
|
data() { |
|
|
|
return { |
|
|
|
searchBarKeys: ['name', 'plcTableName'], |
|
|
|
// tableBtn: [ |
|
|
|
// this.$auth.hasPermi('base:equipment-plc:update') |
|
|
|
// ? { |
|
|
|
// type: 'edit', |
|
|
|
// btnName: '修改', |
|
|
|
// } |
|
|
|
// : undefined, |
|
|
|
// this.$auth.hasPermi('base:equipment-plc:delete') |
|
|
|
// ? { |
|
|
|
// type: 'delete', |
|
|
|
// btnName: '删除', |
|
|
|
// } |
|
|
|
// : undefined, |
|
|
|
// ].filter((v) => v), |
|
|
|
tableBtn: [ |
|
|
|
{ |
|
|
|
type: 'edit', |
|
|
|
btnName: '修改', |
|
|
|
}, |
|
|
|
// { |
|
|
|
// type: 'params-bind', |
|
|
|
// btnName: '参数绑定', |
|
|
|
// }, |
|
|
|
{ |
|
|
|
type: 'delete', |
|
|
|
btnName: '删除', |
|
|
|
}, |
|
|
|
], |
|
|
|
tableProps: [ |
|
|
|
// { |
|
|
|
// prop: 'createTime', |
|
|
|
// label: '添加时间', |
|
|
|
// fixed: true, |
|
|
|
// width: 180, |
|
|
|
// filter: (val) => moment(val).format('yyyy-MM-DD HH:mm:ss'), |
|
|
|
// }, |
|
|
|
{ prop: 'productionLine', label: '产线', align: 'center' }, |
|
|
|
{ prop: 'workshopSection', label: '工段', align: 'center' }, |
|
|
|
{ prop: 'equipmentName', label: '设备名', align: 'center' }, |
|
|
|
{ prop: 'equipmentCode', label: '设备编码', align: 'center' }, |
|
|
|
{ prop: 'plcCode', label: '关联表编码', align: 'center' }, |
|
|
|
{ prop: 'plcTableName', label: '关联表名', align: 'center' }, |
|
|
|
{ prop: 'plcName', label: '标识名称', align: 'center' }, |
|
|
|
{ prop: 'bindingParameters', label: '绑定参数数量', align: 'center' }, |
|
|
|
{ |
|
|
|
_action: 'params-bind', |
|
|
|
label: '查看绑定', |
|
|
|
align: 'center', |
|
|
|
subcomponent: { |
|
|
|
props: ['injectData'], |
|
|
|
render: function (h) { |
|
|
|
const _this = this; |
|
|
|
return h( |
|
|
|
'el-button', |
|
|
|
{ |
|
|
|
props: { type: 'text' }, |
|
|
|
on: { |
|
|
|
click: function () { |
|
|
|
console.log('inejctdata', _this.injectData); |
|
|
|
_this.$emit('emitData', { |
|
|
|
action: _this.injectData._action, |
|
|
|
payload: _this.injectData, |
|
|
|
}); |
|
|
|
}, |
|
|
|
}, |
|
|
|
}, |
|
|
|
'查看绑定' |
|
|
|
); |
|
|
|
}, |
|
|
|
}, |
|
|
|
}, |
|
|
|
], |
|
|
|
searchBarFormConfig: [ |
|
|
|
{ |
|
|
|
type: 'input', |
|
|
|
label: '设备名', |
|
|
|
placeholder: '请输入设备名', |
|
|
|
param: 'equipmentId', |
|
|
|
}, |
|
|
|
{ |
|
|
|
type: 'input', |
|
|
|
label: '编码', |
|
|
|
placeholder: '请输入编码', |
|
|
|
param: 'plcId', |
|
|
|
}, |
|
|
|
{ |
|
|
|
type: 'button', |
|
|
|
btnName: '查询', |
|
|
|
name: 'search', |
|
|
|
color: 'primary', |
|
|
|
}, |
|
|
|
{ |
|
|
|
type: 'separate', |
|
|
|
}, |
|
|
|
{ |
|
|
|
// type: this.$auth.hasPermi('base:equipment-plc:create') |
|
|
|
// ? 'button' |
|
|
|
// : '', |
|
|
|
type: 'button', |
|
|
|
btnName: '新增', |
|
|
|
name: 'add', |
|
|
|
plain: true, |
|
|
|
color: 'success', |
|
|
|
}, |
|
|
|
// { |
|
|
|
// type: this.$auth.hasPermi('base:equipment-plc:export') ? 'button' : '', |
|
|
|
// btnName: '导出', |
|
|
|
// name: 'export', |
|
|
|
// color: 'warning', |
|
|
|
// }, |
|
|
|
], |
|
|
|
rows: [ |
|
|
|
[ |
|
|
|
{ |
|
|
|
select: true, |
|
|
|
label: '关联表名', |
|
|
|
prop: 'plcId', |
|
|
|
url: '/base/equipment-plc/listAll', |
|
|
|
rules: [{ required: true, message: '不能为空', trigger: 'blur' }], |
|
|
|
}, |
|
|
|
], |
|
|
|
[ |
|
|
|
{ |
|
|
|
select: true, |
|
|
|
label: '设备', |
|
|
|
prop: 'equipmentId', |
|
|
|
url: '/base/equipment/page?pageNo=1&pageSize=99', |
|
|
|
rules: [{ required: true, message: '不能为空', trigger: 'blur' }], |
|
|
|
}, |
|
|
|
], |
|
|
|
], |
|
|
|
open: false, |
|
|
|
// 查询参数 |
|
|
|
queryParams: { |
|
|
|
pageNo: 1, |
|
|
|
pageSize: 10, |
|
|
|
plcId: null, |
|
|
|
equipmentId: null, |
|
|
|
}, |
|
|
|
// 表单参数 |
|
|
|
form: {}, |
|
|
|
}; |
|
|
|
}, |
|
|
|
created() { |
|
|
|
this.getList(); |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
/** 覆盖 handleEmitFun 的默认实现 */ |
|
|
|
handleEmitFun({ action, payload }) { |
|
|
|
switch (action) { |
|
|
|
case 'params-bind': |
|
|
|
this.reset(); |
|
|
|
console.log('Cha看绑定参数弹窗') |
|
|
|
break; |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
/** 查询列表 */ |
|
|
|
getList() { |
|
|
|
this.loading = true; |
|
|
|
// 执行查询 |
|
|
|
getEquipmentPlcConnectPage(this.queryParams).then((response) => { |
|
|
|
this.list = response.data.list; |
|
|
|
this.total = response.data.total; |
|
|
|
this.loading = false; |
|
|
|
}); |
|
|
|
}, |
|
|
|
/** 取消按钮 */ |
|
|
|
cancel() { |
|
|
|
this.open = false; |
|
|
|
this.reset(); |
|
|
|
}, |
|
|
|
/** 表单重置 */ |
|
|
|
reset() { |
|
|
|
this.form = { |
|
|
|
id: undefined, |
|
|
|
plcId: undefined, |
|
|
|
equipmentId: undefined, |
|
|
|
}; |
|
|
|
this.resetForm('form'); |
|
|
|
}, |
|
|
|
/** 搜索按钮操作 */ |
|
|
|
handleQuery() { |
|
|
|
this.queryParams.pageNo = 1; |
|
|
|
this.getList(); |
|
|
|
}, |
|
|
|
/** 重置按钮操作 */ |
|
|
|
resetQuery() { |
|
|
|
this.resetForm('queryForm'); |
|
|
|
this.handleQuery(); |
|
|
|
}, |
|
|
|
/** 新增按钮操作 */ |
|
|
|
handleAdd() { |
|
|
|
this.reset(); |
|
|
|
this.open = true; |
|
|
|
this.title = '添加设备与实时采集关系表(一对多)'; |
|
|
|
}, |
|
|
|
/** 修改按钮操作 */ |
|
|
|
handleUpdate(row) { |
|
|
|
this.reset(); |
|
|
|
const id = row.id; |
|
|
|
getEquipmentPlcConnect(id).then((response) => { |
|
|
|
this.form = response.data; |
|
|
|
this.open = true; |
|
|
|
this.title = '修改设备与实时采集关系表(一对多)'; |
|
|
|
}); |
|
|
|
}, |
|
|
|
/** 提交按钮 */ |
|
|
|
submitForm() { |
|
|
|
this.$refs['form'].validate((valid) => { |
|
|
|
if (!valid) { |
|
|
|
return; |
|
|
|
} |
|
|
|
// 修改的提交 |
|
|
|
if (this.form.id != null) { |
|
|
|
updateEquipmentPlcConnect(this.form).then((response) => { |
|
|
|
this.$modal.msgSuccess('修改成功'); |
|
|
|
this.open = false; |
|
|
|
this.getList(); |
|
|
|
}); |
|
|
|
return; |
|
|
|
} |
|
|
|
// 添加的提交 |
|
|
|
createEquipmentPlcConnect(this.form).then((response) => { |
|
|
|
this.$modal.msgSuccess('新增成功'); |
|
|
|
this.open = false; |
|
|
|
this.getList(); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}, |
|
|
|
/** 删除按钮操作 */ |
|
|
|
handleDelete(row) { |
|
|
|
const id = row.id; |
|
|
|
this.$modal |
|
|
|
.confirm( |
|
|
|
'是否确认删除设备与实时采集关系表(一对多)编号为"' + |
|
|
|
id + |
|
|
|
'"的数据项?' |
|
|
|
) |
|
|
|
.then(function () { |
|
|
|
return deleteEquipmentPlcConnect(id); |
|
|
|
}) |
|
|
|
.then(() => { |
|
|
|
this.getList(); |
|
|
|
this.$modal.msgSuccess('删除成功'); |
|
|
|
}) |
|
|
|
.catch(() => {}); |
|
|
|
}, |
|
|
|
/** 导出按钮操作 */ |
|
|
|
handleExport() { |
|
|
|
// 处理查询参数 |
|
|
|
let params = { ...this.queryParams }; |
|
|
|
params.pageNo = undefined; |
|
|
|
params.pageSize = undefined; |
|
|
|
this.$modal |
|
|
|
.confirm('是否确认导出所有设备与实时采集关系表(一对多)数据项?') |
|
|
|
.then(() => { |
|
|
|
this.exportLoading = true; |
|
|
|
return exportEquipmentPlcConnectExcel(params); |
|
|
|
}) |
|
|
|
.then((response) => { |
|
|
|
this.$download.excel(response, '设备与实时采集关系表(一对多).xls'); |
|
|
|
this.exportLoading = false; |
|
|
|
}) |
|
|
|
.catch(() => {}); |
|
|
|
}, |
|
|
|
}, |
|
|
|
}; |
|
|
|
</script> |