@@ -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" />
< / el -form -item >
< el-form-item label = "设备名称" prop = "name" >
< el-input v-model = "queryParams.name" placeholder="请输入设备名称" clearable @keyup.enter.native="handleQuery" />
< / el -form -item >
< 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 ' ] " / >
< / 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 >
<!-- 操作工具栏 -- >
< 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']" > 新增 < / 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:export']" > 导出 < / el -button >
< / el-col >
< right-toolbar :showSearch.sync = "showSearch" @queryTable ="getList" > < / right -toolbar >
< / el-row >
< 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 >
< / templat e >
< / 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:update']" > 修改 < / el -button >
< el-button size = "mini" type = "text" icon = "el-icon-delete" @click ="handleDelete(scope.row)"
v-hasPermi = "['base:equipment:delete']" > 删除 < / el -button >
< / template >
< / el-table-column >
< / el-table >
< 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-tabl 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" :ru les = "ru les " label -width = " 80px " >
< base-dialog
:dialogTit le = "tit le"
:dialogVisible = "open"
@close ="cancel"
@cancel ="cancel"
@confirm ="submitForm" >
< DialogForm v-if = "open" ref="form" :dataForm="form" :rows="rows" / >
< / base-dialog >
<!-- 对话框 ( 添加 / 修改 ) -- >
< 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="请输入编码" / >
< / el-form-item >
@@ -76,18 +60,34 @@
< el-input v-model = "form.abbr" placeholder="请输入缩写" / >
< / el-form-item >
< 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 = "选择进厂日期" / >
< / el-form-item >
< 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 = "选择生产日期" / >
< / el-form-item >
< el-form-item label = "设备类型,关联设备类型表" prop = "equipmentTypeId" >
< el-select v-model = "form.equipmentTypeId" placeholder="请选择设备类型,关联设备类型表" >
< el-select
v-model = "form.equipmentTypeId"
placeholder = "请选择设备类型,关联设备类型表" >
< el-option label = "请选择字典生成" value = "" / >
< / el-select >
< / el-form-item >
< 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 = "" / >
< / el-select >
< / el-form-item >
@@ -95,7 +95,9 @@
< el-input v-model = "form.tvalue" placeholder="请输入每小时生产数量" / >
< / el-form-item >
< el-form-item label = "单件加工时间 s/件" prop = "processingTime" >
< el-input v-model = "form.processingTime" placeholder="请输入单件加工时间 s/件" / >
< el-input
v-model = "form.processingTime"
placeholder = "请输入单件加工时间 s/件" / >
< / el-form-item >
< el-form-item label = "制造商" prop = "manufacturer" >
< el-input v-model = "form.manufacturer" placeholder="请输入制造商" / >
@@ -104,7 +106,7 @@
< el-input v-model = "form.spec" placeholder="请输入规格" / >
< / el-form-item >
< el-form-item label = "功能描述" >
< editor v-model = "form.description" :min-height="192" / >
< editor v-model = "form.description" :min-height="192" / >
< / el-form-item >
< 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/equip ment" ;
import moment from 'mo ment' ;
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 : [ ] ,
// 弹出层标题
titl e: "" ,
searchBarKeys : [ 'name' , 'code' ] ,
tableBtn : [
this . $auth . hasPermi ( 'base:equipment:update' )
? {
type : 'edit' ,
btnName : '修改' ,
}
: undefined ,
this . $auth . hasPermi ( 'base:equipment:delete' )
? {
type : 'delete' ,
btnNam e : '删除' ,
}
: 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' } ] ,
// bind: {
// disabled: true, // some condition, like detail mode...
// }
} ,
{
input : true ,
label : '设备编码' ,
prop : 'code' ,
url : '/base/equipment/getCode' ,
} ,
] ,
[
{
input : true ,
label : '英文名称' ,
prop : 'enName' ,
// rules: [{ required: true, message: '不能为空', trigger: 'blur' }],
// bind: {
// disabled: true, // some condition, like detail mode...
// }
} ,
{
input : true ,
label : '缩写' ,
prop : 'abbr' ,
// rules: [{ required: true, message: '不能为空', trigger: 'blur' }],
// bind: {
// disabled: true, // some condition, like detail mode...
// }
} ,
] ,
[
{
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 : '制造商' ,
// rules: [{ required: true, message: '不能为空', trigger: 'blur' }],
prop : 'manufacturer' ,
} ,
{
select : true ,
label : '设备规格' ,
prop : 'spec' ,
} ,
] ,
[
{
textarea : true ,
label : '功能描述' ,
// rules: [{ required: true, message: '不能为空', trigger: 'blur' }],
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 >