@ -1,68 +1,52 @@
< template >
< div class = "app-container" >
<!-- 搜索工作栏 -- >
< el -form :model ="queryParams" ref = "queryForm" size = "small" :inline ="true" v-show ="showSearch" label-width="68px" >
< el -form -item label = "编码" prop = "code" >
< el -input v -model = " queryParams.code " placeholder = "请输入编码" clearable @keyup.enter.native ="handleQuery" / >
< / e l - f o r m - i t e m >
< el -form -item label = "设备名称" prop = "name" >
< el -input v -model = " queryParams.name " placeholder = "请输入设备名称" clearable @keyup.enter.native ="handleQuery" / >
< / e l - f o r m - i t e m >
< el -form -item label = "创建时间" prop = "createTime" >
< el -date -picker v -model = " queryParams.createTime " style = "width: 240px" value -format = " yyyy -MM -dd HH : mm : ss " type = "daterange"
range - separator = "-" start - placeholder = "开始日期" end - placeholder = "结束日期" : default - time = "['00:00:00', '23:59:59']" / >
< / e l - f o r m - i t e m >
< 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 >
< / e l - f o r m - i t e m >
< / e l - f o r m >
<!-- 操作工具栏 -- >
< 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:create']" > 新增 < / e l - b u t t o n >
< / e l - c o l >
< el -col :span ="1.5" >
< el -button type = "warning" plain icon = "el-icon-download" size = "mini" @click ="handleExport" :loading ="exportLoading"
v - hasPermi = "['base:equipment:export']" > 导出 < / e l - b u t t o n >
< / e l - c o l >
< right -toolbar :showSearch.sync ="showSearch" @queryTable ="getList" > < / right -toolbar >
< / e l - r o w >
< SearchBar
: formConfigs = "searchBarFormConfig"
ref = "search-bar"
@ headBtnClick = "handleSearchBarBtnClick" / >
<!-- 列表 -- >
< el -table v-loading ="loading" :data ="list" >
< el -table -column label = "id" align = "center" prop = "id" / >
< el -table -column label = "编码" align = "center" prop = "code" / >
< el -table -column label = "设备名称" align = "center" prop = "name" / >
< el -table -column label = "英文名称" align = "center" prop = "enName" / >
< el -table -column label = "缩写" align = "center" prop = "abbr" / >
< el -table -column label = "设备类型,关联设备类型表" align = "center" prop = "equipmentTypeId" / >
< el -table -column label = "分组id (关联 base_equipment_GROUP) " align = "center" prop = "groupId" / >
< el -table -column label = "备注" align = "center" prop = "remark" / >
< el -table -column label = "创建时间" align = "center" prop = "createTime" width = "180" >
< template v-slot ="scope" >
< span > { { parseTime ( scope . row . createTime ) } } < / span >
< / template >
< / e l - t a b l e - c o l u m n >
< 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:update']" > 修改 < / e l - b u t t o n >
< el -button size = "mini" type = "text" icon = "el-icon-delete" @click ="handleDelete(scope.row)"
v - hasPermi = "['base:equipment:delete']" > 删除 < / e l - b u t t o n >
< / template >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e >
< 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" / >
< / b a s e - t a b l e >
<!-- 分页组件 -- >
< pagination v -show = " total > 0 " :total=" total " :page.sync=" queryParams . pageNo " :limit.sync=" queryParams . pageSize "
@ pagination = "getList" / >
< 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 " >
< base -dialog
: dialogTitle = "title"
: dialogVisible = "open"
@ close = "cancel"
@ cancel = "cancel"
@ confirm = "submitForm" >
< DialogForm v -if = " open " ref = "form" :dataForm ="form" :rows ="rows" / >
< / b a s e - d i a l o g >
<!-- 对话框 ( 添加 / 修改 ) -- >
< el -dialog
: title = "title"
: visible . sync = "open"
width = "500px"
v - dialogDrag
append - to - body >
< el -form ref = "form" :model ="form" label -width = " 80px " >
< el -form -item label = "编码" prop = "code" >
< el -input v -model = " form.code " placeholder = "请输入编码" / >
< / e l - f o r m - i t e m >
@ -76,18 +60,34 @@
< el -input v -model = " form.abbr " placeholder = "请输入缩写" / >
< / e l - f o r m - i t e m >
< el -form -item label = "进厂日期" prop = "enterTime" >
< el -date -picker clearable v -model = " form.enterTime " type = "date" value -format = " timestamp " placeholder = "选择进厂日期" / >
< el -date -picker
clearable
v - model = "form.enterTime"
type = "date"
value - format = "timestamp"
placeholder = "选择进厂日期" / >
< / e l - f o r m - i t e m >
< el -form -item label = "生产日期" prop = "productionTime" >
< el -date -picker clearable v -model = " form.productionTime " type = "date" value -format = " timestamp " placeholder = "选择生产日期" / >
< el -date -picker
clearable
v - model = "form.productionTime"
type = "date"
value - format = "timestamp"
placeholder = "选择生产日期" / >
< / e l - f o r m - i t e m >
< el -form -item label = "设备类型,关联设备类型表" prop = "equipmentTypeId" >
< el -select v-model ="form.equipmentTypeId" placeholder="请选择设备类型,关联设备类型表" >
< el -select
v - model = "form.equipmentTypeId"
placeholder = "请选择设备类型,关联设备类型表" >
< el -option label = "请选择字典生成" value = "" / >
< / e l - s e l e c t >
< / e l - f o r m - i t e m >
< el -form -item label = "分组id (关联 base_equipment_GROUP) " prop = "groupId" >
< el -select v-model ="form.groupId" placeholder="请选择分组id (关联 base_equipment_GROUP) " >
< el -form -item
label = "分组id (关联 base_equipment_GROUP) "
prop = "groupId" >
< el -select
v - model = "form.groupId"
placeholder = "请选择分组id (关联 base_equipment_GROUP) " >
< el -option label = "请选择字典生成" value = "" / >
< / e l - s e l e c t >
< / e l - f o r m - i t e m >
@ -95,7 +95,9 @@
< el -input v -model = " form.tvalue " placeholder = "请输入每小时生产数量" / >
< / e l - f o r m - i t e m >
< el -form -item label = "单件加工时间 s/件" prop = "processingTime" >
< el -input v -model = " form.processingTime " placeholder = "请输入单件加工时间 s/件" / >
< el -input
v - model = "form.processingTime"
placeholder = "请输入单件加工时间 s/件" / >
< / e l - f o r m - i t e m >
< el -form -item label = "制造商" prop = "manufacturer" >
< el -input v -model = " form.manufacturer " placeholder = "请输入制造商" / >
@ -104,7 +106,7 @@
< el -input v -model = " form.spec " placeholder = "请输入规格" / >
< / e l - f o r m - i t e m >
< el -form -item label = "功能描述" >
< editor v -model = " form.description " :min-height ="192" / >
< editor v -model = " form.description " :min-height ="192" / >
< / e l - f o r m - i t e m >
< el -form -item label = "备注" prop = "remark" >
< el -input v -model = " form.remark " placeholder = "请输入备注" / >
@ -119,28 +121,263 @@
< / template >
< script >
import { createEquipment , updateEquipment , deleteEquipment , getEquipment , getEquipmentPage , exportEquipmentExcel } from "@/api/base/equipment" ;
import moment from 'moment' ;
import basicPageMixin from '../mixin/basicPageMixin' ;
import { getAccessToken } from '@/utils/auth' ;
import {
createEquipment ,
updateEquipment ,
deleteEquipment ,
getEquipment ,
getEquipmentPage ,
exportEquipmentExcel ,
} from '@/api/base/equipment' ;
import Editor from '@/components/Editor' ;
export default {
name : "Equipment" ,
name : 'Equipment' ,
components : {
Editor
Editor ,
} ,
mixins : [ basicPageMixin ] ,
data ( ) {
return {
/ / 遮 罩 层
loading : true ,
/ / 导 出 遮 罩 层
exportLoading : false ,
/ / 显 示 搜 索 条 件
showSearch : true ,
/ / 总 条 数
total : 0 ,
/ / 设 备 列 表
list : [ ] ,
/ / 弹 出 层 标 题
title : "" ,
searchBarKeys : [ 'name' , 'code' ] ,
tableBtn : [
this . $auth . hasPermi ( 'base:equipment:update' )
? {
type : 'edit' ,
btnName : '修改' ,
}
: undefined ,
this . $auth . hasPermi ( 'base:equipment:delete' )
? {
type : 'delete' ,
btnName : '删除' ,
}
: undefined ,
] . filter ( ( v ) => v ) ,
tableProps : [
{
prop : 'createTime' ,
label : '添加时间' ,
fixed : true ,
width : 180 ,
filter : ( val ) => moment ( val ) . format ( 'yyyy-MM-DD HH:mm:ss' ) ,
} ,
{ prop : 'name' , label : '设备名称' , align : 'center' } ,
{ prop : 'code' , label : '检测编码' , align : 'center' } ,
{ prop : 'equipmentType' , label : '设备类型' , align : 'center' } ,
{ prop : 'equipmentGroup' , label : '设备分组' , align : 'center' } ,
{ prop : 'enName' , label : '英文名称' , align : 'center' } ,
{ prop : 'abbr' , label : '缩写' , align : 'center' } ,
{
action : 'show-detail' ,
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 : 'input' ,
label : '名称' ,
placeholder : '请输入设备名称' ,
param : 'name' ,
} ,
{
type : 'input' ,
label : '编码' ,
placeholder : '请输入设备编码' ,
param : 'codes' ,
} ,
{
type : 'button' ,
btnName : '查询' ,
name : 'search' ,
color : 'primary' ,
} ,
{
type : 'separate' ,
} ,
{
type : this . $auth . hasPermi ( 'base:equipment:create' ) ? 'button' : '' ,
btnName : '新增' ,
name : 'add' ,
plain : true ,
color : 'success' ,
} ,
{
type : this . $auth . hasPermi ( 'base:equipment:export' ) ? 'button' : '' ,
btnName : '导出' ,
name : 'export' ,
color : 'warning' ,
} ,
] ,
rows : [
[
{
input : true ,
label : '设备名称' ,
prop : 'name' ,
rules : [ { required : true , message : '不能为空' , trigger : 'blur' } ] ,
/ / b i n d : {
/ / d i s a b l e d : t r u e , / / s o m e c o n d i t i o n , l i k e d e t a i l m o d e . . .
/ / }
} ,
{
input : true ,
label : '设备编码' ,
prop : 'code' ,
url : '/base/equipment/getCode' ,
} ,
] ,
[
{
input : true ,
label : '英文名称' ,
prop : 'enName' ,
/ / r u l e s : [ { r e q u i r e d : t r u e , m e s s a g e : ' 不 能 为 空 ' , t r i g g e r : ' b l u r ' } ] ,
/ / b i n d : {
/ / d i s a b l e d : t r u e , / / s o m e c o n d i t i o n , l i k e d e t a i l m o d e . . .
/ / }
} ,
{
input : true ,
label : '缩写' ,
prop : 'abbr' ,
/ / r u l e s : [ { r e q u i r e d : t r u e , m e s s a g e : ' 不 能 为 空 ' , t r i g g e r : ' b l u r ' } ] ,
/ / b i n d : {
/ / d i s a b l e d : t r u e , / / s o m e c o n d i t i o n , l i k e d e t a i l m o d e . . .
/ / }
} ,
] ,
[
{
select : true ,
label : '设备类型' ,
prop : 'equipmentTypeId' ,
url : '/base/equipment-type/page?pageNo=1&pageSize=100' ,
} ,
{
select : true ,
label : '设备分组' ,
prop : 'groupId' ,
url : '/base/equipment-group/page?pageNo=1&pageSize=100' ,
} ,
] ,
[
{
select : true ,
label : '生产日期' ,
prop : 'productionTime' ,
} ,
{
select : true ,
label : '进厂日期' ,
prop : 'enterTime' ,
} ,
] ,
[
{
select : true ,
label : '设备TT值' ,
rules : [
{ required : true , message : '不能为空' , trigger : 'blur' } ,
{
type : 'number' ,
message : '请输入正确的数字值' ,
trigger : 'blur' ,
transform : ( val ) => Number ( val ) ,
} ,
] ,
prop : 'tvalue' ,
} ,
{
select : true ,
label : '单件产品加工时间' ,
prop : 'processingTime' ,
rules : [
{
type : 'number' ,
message : '请输入正确的数字值' ,
trigger : 'blur' ,
transform : ( val ) => Number ( val ) ,
} ,
] ,
} ,
] ,
[
{
select : true ,
label : '制造商' ,
/ / r u l e s : [ { r e q u i r e d : t r u e , m e s s a g e : ' 不 能 为 空 ' , t r i g g e r : ' b l u r ' } ] ,
prop : 'manufacturer' ,
} ,
{
select : true ,
label : '设备规格' ,
prop : 'spec' ,
} ,
] ,
[
{
textarea : true ,
label : '功能描述' ,
/ / r u l e s : [ { r e q u i r e d : t r u e , m e s s a g e : ' 不 能 为 空 ' , t r i g g e r : ' b l u r ' } ] ,
prop : 'description' ,
} ,
] ,
[
{
upload : true ,
label : '上传资料' ,
prop : 'uploadFiles' ,
url : process . env . VUE _APP _BASE _API + '/admin-api/infra/file/upload' , / / 请 求 地 址
bind : {
headers : { Authorization : 'Bearer ' + getAccessToken ( ) } ,
'show-file-list' : false ,
} ,
} ,
] ,
[
{
diy : true ,
label : '设备资料' ,
prop : 'fileNames' ,
} ,
] ,
[ { input : true , label : '备注' , prop : 'remark' } ] ,
[
{
diy : true ,
label : '设备图片' ,
prop : 'fileUrls' ,
} ,
] ,
] ,
/ / 是 否 显 示 弹 出 层
open : false ,
/ / 查 询 参 数
@ -153,12 +390,6 @@ export default {
} ,
/ / 表 单 参 数
form : { } ,
/ / 表 单 校 验
rules : {
code : [ { required : true , message : "编码不能为空" , trigger : "blur" } ] ,
name : [ { required : true , message : "设备名称不能为空" , trigger : "blur" } ] ,
groupId : [ { required : true , message : "分组id (关联 base_equipment_GROUP) 不能为空" , trigger : "change" } ] ,
}
} ;
} ,
created ( ) {
@ -169,7 +400,7 @@ export default {
getList ( ) {
this . loading = true ;
/ / 执 行 查 询
getEquipmentPage ( this . queryParams ) . then ( response => {
getEquipmentPage ( this . queryParams ) . then ( ( response ) => {
this . list = response . data . list ;
this . total = response . data . total ;
this . loading = false ;
@ -199,7 +430,7 @@ export default {
description : undefined ,
remark : undefined ,
} ;
this . resetForm ( "form" ) ;
this . resetForm ( 'form' ) ;
} ,
/** 搜索按钮操作 */
handleQuery ( ) {
@ -208,43 +439,43 @@ export default {
} ,
/** 重置按钮操作 */
resetQuery ( ) {
this . resetForm ( "queryForm" ) ;
this . resetForm ( 'queryForm' ) ;
this . handleQuery ( ) ;
} ,
/** 新增按钮操作 */
handleAdd ( ) {
this . reset ( ) ;
this . open = true ;
this . title = "添加设备" ;
this . title = '添加设备' ;
} ,
/** 修改按钮操作 */
handleUpdate ( row ) {
this . reset ( ) ;
const id = row . id ;
getEquipment ( id ) . then ( response => {
getEquipment ( id ) . then ( ( response ) => {
this . form = response . data ;
this . open = true ;
this . title = "修改设备" ;
this . title = '修改设备' ;
} ) ;
} ,
/** 提交按钮 */
submitForm ( ) {
this . $refs [ "form" ] . validate ( valid => {
this . $refs [ 'form' ] . validate ( ( valid ) => {
if ( ! valid ) {
return ;
}
/ / 修 改 的 提 交
if ( this . form . id != null ) {
updateEquipment ( this . form ) . then ( response => {
this . $modal . msgSuccess ( "修改成功" ) ;
updateEquipment ( this . form ) . then ( ( response ) => {
this . $modal . msgSuccess ( '修改成功' ) ;
this . open = false ;
this . getList ( ) ;
} ) ;
return ;
}
/ / 添 加 的 提 交
createEquipment ( this . form ) . then ( response => {
this . $modal . msgSuccess ( "新增成功" ) ;
createEquipment ( this . form ) . then ( ( response ) => {
this . $modal . msgSuccess ( '新增成功' ) ;
this . open = false ;
this . getList ( ) ;
} ) ;
@ -253,27 +484,35 @@ export default {
/** 删除按钮操作 */
handleDelete ( row ) {
const id = row . id ;
this . $modal . confirm ( '是否确认删除设备编号为"' + id + '"的数据项?' ) . then ( function ( ) {
this . $modal
. confirm ( '是否确认删除设备编号为"' + id + '"的数据项?' )
. then ( function ( ) {
return deleteEquipment ( id ) ;
} ) . then ( ( ) => {
} )
. then ( ( ) => {
this . getList ( ) ;
this . $modal . msgSuccess ( "删除成功" ) ;
} ) . catch ( ( ) => { } ) ;
this . $modal . msgSuccess ( '删除成功' ) ;
} )
. catch ( ( ) => { } ) ;
} ,
/** 导出按钮操作 */
handleExport ( ) {
/ / 处 理 查 询 参 数
let params = { ... this . queryParams } ;
let params = { ... this . queryParams } ;
params . pageNo = undefined ;
params . pageSize = undefined ;
this . $modal . confirm ( '是否确认导出所有设备数据项?' ) . then ( ( ) => {
this . $modal
. confirm ( '是否确认导出所有设备数据项?' )
. then ( ( ) => {
this . exportLoading = true ;
return exportEquipmentExcel ( params ) ;
} ) . then ( response => {
} )
. then ( ( response ) => {
this . $download . excel ( response , '设备.xls' ) ;
this . exportLoading = false ;
} ) . catch ( ( ) => { } ) ;
}
}
} )
. catch ( ( ) => { } ) ;
} ,
} ,
} ;
< / script >