@@ -1,253 +1,357 @@
< 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 = "工段ID" prop = "workshopSectionId" >
< el-input v-model = "queryParams.workshopSectionId" placeholder="请输入工段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-bind-section: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-bind-section: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 = "工段ID" align = "center" prop = "workshopSectionId" / >
< el-table-column label = "设备ID" align = "center" prop = "equipmentId" / >
< el-table-column label = "排序" align = "center" prop = "sort" / >
< el-table-column label = "产线数据类型 0.无类型 1.进口计数 2.出口计数" align = "center" prop = "lineDataType" >
< template v-slot = "scope " >
< dict -tag :type = "DICT_TYPE.EQU_DATA_TYPE" :value = "scope.row.lineDataType" / >
< / template >
< / el-table-column >
< el-table-column label = "工段数据类型 0.无类型 1.进口计数 2.出口计数" align = "center" prop = "sectionDataType" >
< template v-slot = "scope" >
< dict -tag :type = "DICT_TYPE.EQU_DATA_TYPE" :value = "scope.row.sectionDataType" / >
< / template >
< / el-table-column >
< el-table-column label = "备注" align = "center" prop = "remark" / >
< el-table-column label = "版本号" align = "center" prop = "version" / >
< el-table-column label = "创建时间" align = "center" prop = "createTime" width = "180" >
< template v-slot = "scope" >
< span > { { parseTime ( scope . row . createTime ) } } < / span >
< / template >
< / el-table-column >
< 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-bind-section:update']" > 修改 < / el -button >
< el-button size = "mini" type = "text" icon = "el-icon-delete" @click ="handleDelete(scope.row)"
v-hasPermi = "['base:equipment-bind-section: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 = "工段ID" prop = "workshopSectionId" >
< el-input v-model = "form.workshopSectionId" placeholder="请输入工段ID" / >
< / el-form-item >
< el-form-item label = "设备ID" prop = "equipmentId" >
< el-input v-model = "form.equipmentId" placeholder="请输入设备ID" / >
< / el-form-item >
< el-form-item label = "排序" prop = "sort" >
< el-input v-model = "form.sort" placeholder="请输入排序" / >
< / el-form-item >
< el-form-item label = "产线数据类型 0.无类型 1.进口计数 2.出口计数" prop = "lineDataType" >
< el-select v-model = "form.lineDataType" placeholder="请选择产线数据类型 0.无类型 1.进口计数 2.出口计数" >
< el -option v-for = "dict in this.getDictDatas(DICT_TYPE.EQU_DATA_TYPE)"
:key = "dict.value" :label = "dict.label" :value = "dict.value" / >
< / el-select >
< / el-form-item >
< el-form-item label = "工段数据类型 0.无类型 1.进口计数 2.出口计数" prop = "sectionDataType" >
< el-select v-model = "form.sectionDataType" placeholder="请选择工段数据类型 0.无类型 1.进口计数 2.出口计数" >
< el -option v-for = "dict in this.getDictDatas(DICT_TYPE.EQU_DATA_TYPE)"
:key = "dict.value" :label = "dict.label" :value = "dict.value" / >
< / el-select >
< / el-form-item >
< el-form-item label = "备注" prop = "remark" >
< el-input v-model = "form.remark" placeholder="请输入备注" / >
< / el-form-item >
< el-form-item label = "版本号" prop = "version" >
< el-input v-model = "form.version" 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 >
< / 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 { createEquipmentBindSection , updateEquipmentBindSection , deleteEquipmentBindSection , getEquipmentBindSection , getEquipmentBindSectionPage , exportEquipmentBindSectionExcel } from "@/api/base/equipmentBindSection" ;
import {
createEquipmentBindSection ,
updateEquipmentBindSection ,
deleteEquipmentBindSection ,
getEquipmentBindSection ,
getEquipmentBindSectionPage ,
exportEquipmentBindSectionExcel ,
} from '@/api/base/equipmentBindSection' ;
import moment from 'moment' ;
import basicPageMixin from '@/mixins/lb/basicPageMixin' ;
export default {
name : " EquipmentBindSection" ,
components : {
} ,
data ( ) {
return {
// 遮罩层
loading : true ,
// 导出遮罩层
exportLoading : false ,
// 显示搜索条件
showSearch : true ,
// 总条数
total : 0 ,
// 工段设备绑定列表
list : [ ] ,
// 弹出层标题
titl e: "" ,
// 是否显示弹出层
open : false ,
// 查询参数
queryParam s: {
pageNo : 1 ,
pageSize : 10 ,
workshopSectionId : null ,
equipmentI d : null ,
} ,
// 表单参数
form : { } ,
// 表单校验
rules : {
workshopSectionId : [ { required : true , message : "工段ID不能为空" , trigger : "blur" } ] ,
equipmentId : [ { required : true , message : "设备ID不能为空" , trigger : "blur" } ] ,
}
} ;
} ,
created ( ) {
this . getList ( ) ;
} ,
methods : {
/** 查询列表 */
getList ( ) {
this . loading = true ;
// 执行查询
getEquipmentBindSectionPage ( 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 ,
workshopSectionId : undefined ,
equipmentId : undefined ,
sort : undefined ,
lineDataType : undefined ,
sectionDataType : undefined ,
remark : undefined ,
version : 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 ;
getEquipmentBindSection ( 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 ) {
updateEquipmentBindSection ( this . form ) . then ( response => {
this . $modal . msgSuccess ( "修改成功" ) ;
this . open = false ;
this . getList ( ) ;
} ) ;
return ;
}
// 添加的提交
createEquipmentBindSection ( 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 deleteEquipmentBindSection ( 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 exportEquipmentBindSectionExcel ( params ) ;
} ) . then ( response => {
this . $download . excel ( response , '工段设备绑定.xls' ) ;
this . exportLoading = false ;
} ) . catch ( ( ) => { } ) ;
}
}
name : ' EquipmentBindSection' ,
components : { } ,
mixins : [ basicPageMixin ] ,
data ( ) {
return {
searchBarKeys : [ 'workshopSectionId' , 'equipmentName' ] ,
tableBtn : [
this . $auth . hasPermi ( 'base:equipment-bind-section:update' )
? {
type : 'edit' ,
btnName : '修改' ,
}
: undefined ,
this . $auth . hasPermi ( 'base:equipment-bind-section:delete' )
? {
type : 'delete' ,
btnNam e : '删除' ,
}
: undefined ,
] . filter ( ( v ) => v ) ,
tableProp s : [
{
prop : 'createTime' ,
label : '添加时间' ,
fixe d : 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 : 'equipment' , label : '设备名称' , align : 'center' } ,
{ prop : 'sort' , label : '工段中排序' , align : 'center' } ,
{
prop : 'lineDataType' ,
label : '产线数据类型' ,
align : 'center' ,
filter : ( val ) =>
val != null ? [ '无类型' , '进口计数' , '出口计数' ] [ val ] : '-' ,
} ,
{
prop : 'sectionDataType' ,
label : '工段数据类型' ,
align : 'center' ,
filter : ( val ) =>
val != null ? [ '无类型' , '进口计数' , '出口计数' ] [ val ] : '-' ,
} ,
// {
// action: 'show-alert',
// label: '报警',
// align: 'center',
// subcomponent: {
// props: ['injectData'],
// render: function (h) {
// const _this = this;
// return h(
// 'el-button',
// {
// props: { type: 'text', size: 'mini' },
// on: {
// click: function () {
// console.log('inejctdata', _this.injectData);
// _this.$emit('emitData', {
// action: _this.injectData.action,
// value: _this.injectData.id,
// });
// },
// },
// },
// '查看报警'
// );
// },
// },
// },
] ,
searchBarFormConfig : [
{
type : 'select' ,
label : '工段' ,
placeholder : '请选择工段' ,
param : 'workshopSectionId' ,
} ,
{
type : 'input' ,
label : '设备' ,
placeholder : '请输入设备' ,
param : 'equipmentName' ,
} ,
{
type : 'button' ,
btnName : '查询' ,
name : 'search' ,
color : 'primary' ,
} ,
{
type : 'separate' ,
} ,
{
type : this . $auth . hasPermi ( 'base:equipment-bind-section:create' )
? 'button'
: '' ,
btnName : '新增' ,
name : 'add' ,
plain : true ,
color : 'success' ,
} ,
// {
// type: this.$auth.hasPermi('base:equipment-group:export') ? 'button' : '',
// btnName: '导出',
// name: 'export',
// color: 'warning',
// },
] ,
rows : [
[
{
select : true ,
label : '产线' ,
url : '/base/production-line/listAll' ,
// prop: '__product_line', // __开头代表不传递给服务器
prop : 'productionLineId' , // 编辑接口返回的产线id, 所以不能使用上面那种形式
rules : [ { required : true , message : '不能为空' , trigger : 'blur' } ] ,
} ,
{
select : true ,
label : '工段' ,
url : '/base/workshop-section/listByParentId' , // 根据产线获取
// depends: '__product_line', // 依赖产线获取数据
depends : 'productionLineId' ,
prop : 'workshopSectionId' ,
rules : [ { required : true , message : '不能为空' , trigger : 'blur' } ] ,
} ,
] ,
[
{
select : true ,
label : '设备' ,
url : '/base/equipment/page?pageNo=1&pageSize=100' ,
prop : 'equipmentId' ,
rules : [ { required : true , message : '不能为空' , trigger : 'blur' } ] ,
} ,
{
input : true ,
label : '工段排序' ,
prop : 'sort' ,
// url: '/base/equipment-group/getCode',
} ,
] ,
[
{
select : true ,
label : '产线数据类型' ,
options : [
{ label : '无类型' , value : 0 } ,
{ label : '进口统计' , value : 1 } ,
{ label : '出口统计' , value : 2 } ,
] ,
prop : 'lineDataType' ,
} ,
{
select : true ,
label : '工段数据类型' ,
options : [
{ label : '无类型' , value : 0 } ,
{ label : '进口统计' , value : 1 } ,
{ label : '出口统计' , value : 2 } ,
] ,
prop : 'sectionDataType' ,
} ,
] ,
] ,
// 是否显示弹出层
open : false ,
// 查询参数
queryParams : {
pageNo : 1 ,
pageSize : 10 ,
workshopSectionId : null ,
equipmentId : null ,
} ,
// 表单参数
form : { } ,
} ;
} ,
created ( ) {
this . getList ( ) ;
} ,
methods : {
/** 查询列表 */
getList ( ) {
this . loading = true ;
// 执行查询
getEquipmentBindSectionPage ( 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 ,
workshopSectionId : undefined ,
equipmentId : undefined ,
sort : undefined ,
lineDataType : undefined ,
sectionDataType : undefined ,
remark : undefined ,
version : 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 ;
getEquipmentBindSection ( 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 ) {
updateEquipmentBindSection ( this . form ) . then ( ( response ) => {
this . $modal . msgSuccess ( '修改成功' ) ;
this . open = false ;
this . getList ( ) ;
} ) ;
return ;
}
// 添加的提交
createEquipmentBindSection ( 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 deleteEquipmentBindSection ( 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 exportEquipmentBindSectionExcel ( params ) ;
} )
. then ( ( response ) => {
this . $download . excel ( response , '工段设备绑定.xls' ) ;
this . exportLoading = false ;
} )
. catch ( ( ) => { } ) ;
} ,
} ,
} ;
< / script >