@@ -52,8 +52,69 @@
< el-button @click ="cancel" > 取 消 < / el -button >
< / div >
< / el-dialog >
<!-- 添加现有检查项对话框 -- >
< el-dialog title = "添加现有检查项" :visible.sync = "addItemOpen" width = "500px" append -to -body >
< el-form ref = "addItemForm" :model = "addItemForm" label -width = " 80px " >
< el-form-item label = "检查项" prop = "itemId" >
< el-select v-model = "addItemForm.itemId" placeholder="请选择检查项" filterable >
< el-option v-for = "item in availableCheckItems" :key="item.itemId" :label="item.itemName" :value="item.itemId" >
< span > { { item . itemName } } < / span >
< span style = "float: right; color: #8492a6; font-size: 13px" >
( { { item . qualitativeQuantitative === 0 ? '定性' : '定量' } } )
< / span >
< / el-option >
< / el-select >
< / el-form-item >
< / el-form >
< div slot = "footer" class = "dialog-footer" >
< el-button :loading = "buttonLoading" type = "primary" @click ="submitAddItem" > 确 定 < / el -button >
< el-button @click ="addItemOpen = false" > 取 消 < / el -button >
< / div >
< / el-dialog >
<!-- 新建 / 修改检查项对话框 -- >
< el-dialog :title = "itemTitle" :visible.sync = "itemOpen" width = "600px" append -to -body >
< el-form ref = "itemForm" :model = "itemForm" :rules = "itemRules" label -width = " 100px " >
< el-form-item label = "检查项名称" prop = "itemName" >
< el-input v-model = "itemForm.itemName" placeholder="请输入检查项名称" / >
< / el-form-item >
< el-form-item label = "标准目标" prop = "standardTarget" >
< el-input v-model = "itemForm.standardTarget" placeholder="请输入标准目标" / >
< / el-form-item >
< el-form-item label = "目标上限" prop = "targetUpper" >
< el-input v-model = "itemForm.targetUpper" placeholder="请输入目标上限" / >
< / el-form-item >
< el-form-item label = "目标下限" prop = "targetLower" >
< el-input v-model = "itemForm.targetLower" placeholder="请输入目标下限" / >
< / el-form-item >
< el-form-item label = "单位" prop = "unit" >
< el-input v-model = "itemForm.unit" placeholder="请输入单位" / >
< / el-form-item >
< el-form-item label = "定性定量" prop = "qualitativeQuantitative" >
< el-radio-group v-model = "itemForm.qualitativeQuantitative" >
< el -radio :label = "0" > 定性 < / el-radio >
< el-radio :label = "1" > 定量 < / el-radio >
< / el-radio-group >
< / el-form-item >
< el-form-item label = "备注" prop = "remark" >
< el-input v-model = "itemForm.remark" type="textarea" placeholder="请输入备注" / >
< / el-form-item >
< / el-form >
< div slot = "footer" class = "dialog-footer" >
< el-button :loading = "buttonLoading" type = "primary" @click ="submitItemForm" > 确 定 < / el -button >
< el-button @click ="itemOpen = false" > 取 消 < / el -button >
< / div >
< / el-dialog >
< / el-col >
< el-col :span = "16" v-loading = "rightLoading" >
< el -row :gutter = "10" class = "mb8" v-if = "currentTemplate" >
< el -col :span = "1.5" >
< el-button type = "primary" plain icon = "el-icon-plus" size = "mini" @click ="handleAddExistingItem" > 添加现有检查项 < / el -button >
< el-button type = "success" plain icon = "el-icon-plus" size = "mini" @click ="handleAddNewItem" > 新建检查项 < / el -button >
< / el-col >
< / el-row >
< KLPTable v-if = "checkItemList.length > 0" v-loading="loading" :data="checkItemList"
@ selection -change = " handleSelectionChange " >
< el-table-column label = "检查项名称" align = "center" prop = "itemName" / >
@@ -67,6 +128,12 @@
< / template >
< / el-table-column >
< el-table-column label = "备注" align = "center" prop = "remark" / >
< el-table-column label = "操作" align = "center" class -name = " small -padding fixed -width " width = "180" >
< template slot -scope = " scope " >
< el-button size = "mini" type = "text" icon = "el-icon-edit" @click ="handleEditItem(scope.row)" > 修改 < / el -button >
< el-button size = "mini" type = "text" icon = "el-icon-delete" @click ="handleDeleteItem(scope.row)" > 删除 < / el -button >
< / template >
< / el-table-column >
< / KLPTable >
< el-empty v-else description = "暂无数据" / >
@@ -78,6 +145,7 @@
< script >
import { listInspectionItemTemplate , getInspectionItemTemplate , delInspectionItemTemplate , addInspectionItemTemplate , updateInspectionItemTemplate , getInfoByInspectionItem } from "@/api/mes/qc/inspectionItemTemplate" ;
import { listCheckItem , getCheckItem , addCheckItem , updateCheckItem , delCheckItem } from "@/api/mes/qc/checkItem" ;
import CheckItemTransfer from '@/components/KLPService/CheckItemSelect/index'
export default {
@@ -122,6 +190,20 @@ export default {
} ,
checkItemList : [ ] ,
rightLoading : false ,
currentTemplate : null ,
addItemOpen : false ,
addItemForm : {
itemId : null
} ,
itemOpen : false ,
itemTitle : '' ,
itemForm : { } ,
itemRules : {
itemName : [
{ required : true , message : '检查项名称不能为空' , trigger : 'blur' }
]
} ,
availableCheckItems : [ ] ,
} ;
} ,
created ( ) {
@@ -138,12 +220,102 @@ export default {
} ) ;
} ,
handleRowClick ( row ) {
this . currentTemplate = row ;
this . rightLoading = true ;
getInfoByInspectionItem ( row . inspectionItem ) . then ( response => {
this . checkItemList = response . data || [ ] ;
this . rightLoading = false ;
} ) ;
} ,
loadAvailableCheckItems ( ) {
listCheckItem ( { pageNum : 1 , pageSize : 9999 } ) . then ( response => {
const currentItemIds = this . currentTemplate ? . inspectionItem ? this . currentTemplate . inspectionItem . split ( ',' ) . map ( id => id . trim ( ) ) : [ ] ;
this . availableCheckItems = response . rows . filter ( item => ! currentItemIds . includes ( String ( item . itemId ) ) ) ;
} ) ;
} ,
handleAddExistingItem ( ) {
this . addItemForm . itemId = null ;
this . loadAvailableCheckItems ( ) ;
this . addItemOpen = true ;
} ,
submitAddItem ( ) {
if ( ! this . addItemForm . itemId ) {
this . $modal . msgError ( '请选择检查项' ) ;
return ;
}
const currentItemIds = this . currentTemplate . inspectionItem ? this . currentTemplate . inspectionItem . split ( ',' ) . filter ( id => id . trim ( ) ) : [ ] ;
currentItemIds . push ( this . addItemForm . itemId ) ;
this . currentTemplate . inspectionItem = currentItemIds . join ( ',' ) ;
updateInspectionItemTemplate ( this . currentTemplate ) . then ( ( ) => {
this . $modal . msgSuccess ( '添加成功' ) ;
this . addItemOpen = false ;
this . handleRowClick ( this . currentTemplate ) ;
this . getList ( ) ;
} ) ;
} ,
handleAddNewItem ( ) {
this . itemForm = {
itemName : undefined ,
standardTarget : undefined ,
targetUpper : undefined ,
targetLower : undefined ,
unit : undefined ,
qualitativeQuantitative : 0 ,
remark : undefined
} ;
this . itemTitle = '新建检查项' ;
this . itemOpen = true ;
} ,
handleEditItem ( row ) {
this . itemForm = { ... row } ;
this . itemTitle = '修改检查项' ;
this . itemOpen = true ;
} ,
submitItemForm ( ) {
this . $refs [ 'itemForm' ] . validate ( valid => {
if ( valid ) {
this . buttonLoading = true ;
if ( this . itemForm . itemId ) {
updateCheckItem ( this . itemForm ) . then ( ( ) => {
this . $modal . msgSuccess ( '修改成功' ) ;
this . itemOpen = false ;
this . handleRowClick ( this . currentTemplate ) ;
} ) . finally ( ( ) => {
this . buttonLoading = false ;
} ) ;
} else {
addCheckItem ( this . itemForm ) . then ( response => {
this . $modal . msgSuccess ( '新增成功' ) ;
const newItemId = response . data || response . msg ;
const currentItemIds = this . currentTemplate . inspectionItem ? this . currentTemplate . inspectionItem . split ( ',' ) . filter ( id => id . trim ( ) ) : [ ] ;
currentItemIds . push ( newItemId ) ;
this . currentTemplate . inspectionItem = currentItemIds . join ( ',' ) ;
updateInspectionItemTemplate ( this . currentTemplate ) . then ( ( ) => {
this . itemOpen = false ;
this . handleRowClick ( this . currentTemplate ) ;
this . getList ( ) ;
} ) ;
} ) . finally ( ( ) => {
this . buttonLoading = false ;
} ) ;
}
}
} ) ;
} ,
handleDeleteItem ( row ) {
this . $modal . confirm ( '是否确认删除检查项"' + row . itemName + '"? ' ) . then ( ( ) => {
return delCheckItem ( row . itemId ) ;
} ) . then ( ( ) => {
const currentItemIds = this . currentTemplate . inspectionItem ? this . currentTemplate . inspectionItem . split ( ',' ) . filter ( id => id . trim ( ) ) : [ ] ;
const newIds = currentItemIds . filter ( id => id !== String ( row . itemId ) ) ;
this . currentTemplate . inspectionItem = newIds . join ( ',' ) ;
return updateInspectionItemTemplate ( this . currentTemplate ) ;
} ) . then ( ( ) => {
this . handleRowClick ( this . currentTemplate ) ;
this . getList ( ) ;
this . $modal . msgSuccess ( '删除成功' ) ;
} ) . catch ( ( ) => { } ) ;
} ,
// 取消按钮
cancel ( ) {
this . open = false ;
@@ -204,6 +376,9 @@ export default {
this . $refs [ "form" ] . validate ( valid => {
if ( valid ) {
this . buttonLoading = true ;
if ( ! this . form . inspectionItem ) {
this . form . inspectionItem = '' ;
}
if ( this . form . templateId != null ) {
updateInspectionItemTemplate ( this . form ) . then ( response => {
this . $modal . msgSuccess ( "修改成功" ) ;