10 changed files with 5377 additions and 1 deletions
-
82src/api/qc/qc.js
-
1src/views/modules/common/Chooselist_eam.vue
-
311src/views/modules/qc/qcCheckOutMethod.vue
-
917src/views/modules/qc/qcCheckOutModel.vue
-
621src/views/modules/qc/qcFamily.vue
-
271src/views/modules/qc/qcInformation.vue
-
371src/views/modules/qc/qcInspector.vue
-
884src/views/modules/qc/qcItemMaintenance.vue
-
784src/views/modules/qc/qcMasterInformationModel.vue
-
1136src/views/modules/qc/qcResultEntry.vue
@ -0,0 +1,82 @@ |
|||||
|
import { createAPI } from "@/utils/httpRequest.js"; |
||||
|
|
||||
|
// ===================================== 检验方法 =====================================
|
||||
|
export const qcCheckOutMethodSearch = data => createAPI(`/pms/qc/qcCheckOutMethodSearch`,'post',data) |
||||
|
export const qcCheckOutMethodSave = data => createAPI(`/pms/qc/qcCheckOutMethodSave`,'post',data) |
||||
|
export const qcCheckOutMethodUpdate = data => createAPI(`/pms/qc/qcCheckOutMethodUpdate`,'post',data) |
||||
|
export const qcCheckOutMethodDelete = data => createAPI(`/pms/qc/qcCheckOutMethodDelete`,'post',data) |
||||
|
|
||||
|
|
||||
|
// ===================================== 检验项目 =====================================
|
||||
|
export const qcCheckOutItemSearch = data => createAPI(`/pms/qc/qcCheckOutItemSearch`,'post',data) |
||||
|
export const qcCheckOutItemSave = data => createAPI(`/pms/qc/qcCheckOutItemSave`,'post',data) |
||||
|
export const qcCheckOutItemUpdate = data => createAPI(`/pms/qc/qcCheckOutItemUpdate`,'post',data) |
||||
|
export const qcCheckOutItemDelete = data => createAPI(`/pms/qc/qcCheckOutItemDelete`,'post',data) |
||||
|
export const searchItemAvailable = data => createAPI(`/pms/qc/searchItemAvailable`,'post',data) |
||||
|
export const saveItemAvailable = data => createAPI(`/pms/qc/saveItemAvailable`,'post',data) |
||||
|
export const deleteItemAvailable = data => createAPI(`/pms/qc/deleteItemAvailable`,'post',data) |
||||
|
export const searchItemDetails = data => createAPI(`/pms/qc/searchItemDetails`,'post',data) |
||||
|
export const deleteItemDetails = data => createAPI(`/pms/qc/deleteItemDetails`,'post',data) |
||||
|
export const saveItemDetails = data => createAPI(`/pms/qc/saveItemDetails`,'post',data) |
||||
|
|
||||
|
|
||||
|
// ===================================== 检验模板 =====================================
|
||||
|
export const qcCheckOutModelSearch = data => createAPI(`/pms/qc/qcCheckOutModelSearch`,'post',data) |
||||
|
export const qcCheckOutModelSave = data => createAPI(`/pms/qc/qcCheckOutModelSave`,'post',data) |
||||
|
export const qcCheckOutModelUpdate = data => createAPI(`/pms/qc/qcCheckOutModelUpdate`,'post',data) |
||||
|
export const qcCheckOutModelDelete = data => createAPI(`/pms/qc/qcCheckOutModelDelete`,'post',data) |
||||
|
export const searchModalDetails = data => createAPI(`/pms/qc/searchModalDetails`,'post',data) |
||||
|
export const saveModalDetails = data => createAPI(`/pms/qc/saveModalDetails`,'post',data) |
||||
|
export const deleteModalDetails = data => createAPI(`/pms/qc/deleteModalDetails`,'post',data) |
||||
|
export const getItemLists= data => createAPI(`/pms/qc/getItemLists`,'post',data) |
||||
|
|
||||
|
// ===================================== 检验分类 =====================================
|
||||
|
export const qcFamilySearch = data => createAPI(`/pms/qc/qcFamilySearch`,'post',data) |
||||
|
export const qcFamilySave = data => createAPI(`/pms/qc/qcFamilySave`,'post',data) |
||||
|
export const qcFamilyUpdate = data => createAPI(`/pms/qc/qcFamilyUpdate`,'post',data) |
||||
|
export const qcFamilyDelete = data => createAPI(`/pms/qc/qcFamilyDelete`,'post',data) |
||||
|
export const saveFamilyDetails = data => createAPI(`/pms/qc/saveFamilyDetails`,'post',data) |
||||
|
export const searchFamilyDetails = data => createAPI(`/pms/qc/searchFamilyDetails`,'post',data) |
||||
|
export const deleteFamilyDetails = data => createAPI(`/pms/qc/deleteFamilyDetails`,'post',data) |
||||
|
|
||||
|
// ===================================== 检验录入 =====================================
|
||||
|
export const qcInspectionInformationSearch = data => createAPI(`/pms/qc/qcInspectionInformationSearch`,'post',data) |
||||
|
export const modalCodeBlur = data => createAPI(`/pms/qc/modalCodeBlur`,'post',data) |
||||
|
export const qcInspectionInformationSave = data => createAPI(`/pms/qc/qcInspectionInformationSave`,'post',data) |
||||
|
export const masterInformationSearch = data => createAPI(`/pms/qc/masterInformationSearch`,'post',data) |
||||
|
export const saveMasterInformationValue = data => createAPI(`/pms/qc/saveMasterInformationValue`,'post',data) |
||||
|
export const searchModelTree = data => createAPI(`/pms/qc/searchModelTree`,'post',data) |
||||
|
export const detailInformationSearch = data => createAPI(`/pms/qc/detailInformationSearch`,'post',data) |
||||
|
export const saveDetailInformation = data => createAPI(`/pms/qc/saveDetailInformation`,'post',data) |
||||
|
export const qcInspectionInformationDelete = data => createAPI(`/pms/qc/qcInspectionInformationDelete`,'post',data) |
||||
|
|
||||
|
|
||||
|
// ===================================== 主记录栏信息 =====================================
|
||||
|
export const searchMasterInformation = data => createAPI(`/pms/qc/searchMasterInformation`,'post',data) |
||||
|
export const saveMasterInformation = data => createAPI(`/pms/qc/saveMasterInformation`,'post',data) |
||||
|
export const getInformationLists = data => createAPI(`/pms/qc/getInformationLists`,'post',data) |
||||
|
export const deleteMasterInformation = data => createAPI(`/pms/qc/deleteMasterInformation`,'post',data) |
||||
|
export const qcMasterInformationModelDelete = data => createAPI(`/pms/qc/qcMasterInformationModelDelete`,'post',data) |
||||
|
|
||||
|
|
||||
|
// ===================================== 主记录栏信息 =====================================
|
||||
|
export const qcInformationSearch = data => createAPI(`/pms/qc/qcInformationSearch`,'post',data) |
||||
|
export const qcInformationSave = data => createAPI(`/pms/qc/qcInformationSave`,'post',data) |
||||
|
export const qcInformationUpdate = data => createAPI(`/pms/qc/qcInformationUpdate`,'post',data) |
||||
|
export const qcInformationDelete = data => createAPI(`/pms/qc/qcInformationDelete`,'post',data) |
||||
|
|
||||
|
|
||||
|
// ===================================== 质检员信息 =====================================
|
||||
|
export const inspectorSearch = data => createAPI(`/pms/qc/inspectorSearch`,'post',data) |
||||
|
export const inspectorSave = data => createAPI(`/pms/qc/inspectorSave`,'post',data) |
||||
|
export const inspectorUpdate = data => createAPI(`/pms/qc/inspectorUpdate`,'post',data) |
||||
|
export const inspectorDelete = data => createAPI(`/pms/qc/inspectorDelete`,'post',data) |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
@ -0,0 +1,311 @@ |
|||||
|
<template> |
||||
|
<div class="mod-config"> |
||||
|
<!-- 条件查询 --> |
||||
|
<el-form :inline="true" label-position="top" :model="searchData" @keyup.enter.native="getDataList()"> |
||||
|
<el-form-item :label="'检验方法编码'"> |
||||
|
<el-input v-model="searchData.methodNo" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'检验方法名称'"> |
||||
|
<el-input v-model="searchData.methodName" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="' '"> |
||||
|
<el-button type="primary" @click="getDataList()">查询</el-button> |
||||
|
<el-button type="primary" @click="addModal()">新增</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
|
||||
|
<!-- 展示列表 --> |
||||
|
<el-table |
||||
|
:height="height" |
||||
|
:data="dataList" |
||||
|
border |
||||
|
v-loading="dataListLoading" |
||||
|
style="width: 100%;"> |
||||
|
<el-table-column |
||||
|
v-for="(item,index) in columnList" :key="index" |
||||
|
:sortable="item.columnSortable" |
||||
|
:prop="item.columnProp" |
||||
|
:header-align="item.headerAlign" |
||||
|
:show-overflow-tooltip="item.showOverflowTooltip" |
||||
|
:align="item.align" |
||||
|
:fixed="item.fixed==''?false:item.fixed" |
||||
|
:min-width="item.columnWidth" |
||||
|
:label="item.columnLabel"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span> |
||||
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
fixed="right" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
width="160" |
||||
|
label="操作"> |
||||
|
<template slot-scope="scope"> |
||||
|
<a type="text" size="small" @click="updateModal(scope.row)">修改</a> |
||||
|
<a type="text" size="small" @click="deleteEamPropertiesItem(scope.row)">删除</a> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
|
||||
|
<!-- 新增和修改 --> |
||||
|
<el-dialog title="检验方法" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" width="430px"> |
||||
|
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
||||
|
<el-form-item label="检验方法编码:"> |
||||
|
<el-input v-model="modalData.methodNo" :disabled="modalDisableFlag" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="检验方法名称:"> |
||||
|
<el-input v-model="modalData.methodName" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
||||
|
<el-form-item label="检验方法说明:"> |
||||
|
<el-input v-model="modalData.methodRemark" style="width: 254px"></el-input> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<el-footer style="height:40px;margin-top: 20px;text-align:center"> |
||||
|
<el-button type="primary" @click="saveData()">保存</el-button> |
||||
|
<el-button type="primary" @click="modalFlag = false">关闭</el-button> |
||||
|
</el-footer> |
||||
|
</el-dialog> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { |
||||
|
qcCheckOutMethodSearch, |
||||
|
qcCheckOutMethodSave, |
||||
|
qcCheckOutMethodUpdate, |
||||
|
qcCheckOutMethodDelete, |
||||
|
} from "@/api/qc/qc.js" |
||||
|
export default { |
||||
|
watch: { |
||||
|
searchData: { |
||||
|
deep: true, |
||||
|
handler: function (newV, oldV) { |
||||
|
this.searchData.methodNo = this.searchData.methodNo.toUpperCase() |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
methodData: { |
||||
|
deep: true, |
||||
|
handler: function (newV, oldV) { |
||||
|
this.methodData.methodNo = this.methodData.methodNo.toUpperCase() |
||||
|
} |
||||
|
}, |
||||
|
modalData: { |
||||
|
deep: true, |
||||
|
handler: function (newV, oldV) { |
||||
|
this.modalData.methodNo = this.modalData.methodNo.toUpperCase() |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
data () { |
||||
|
return { |
||||
|
searchData: { |
||||
|
methodNo: '', |
||||
|
methodName: '', |
||||
|
methodType: 'D' |
||||
|
}, |
||||
|
height: 200, |
||||
|
dataList: [], |
||||
|
dataListLoading: false, |
||||
|
modalFlag: false, |
||||
|
modalDisableFlag: false, |
||||
|
methodData: { |
||||
|
methodNo: '', |
||||
|
valueNo: '', |
||||
|
availableValue: '', |
||||
|
methodType: 'D', |
||||
|
createdBy: this.$store.state.user.name |
||||
|
}, |
||||
|
modalData: { |
||||
|
flag: '', |
||||
|
methodNo: '', |
||||
|
methodName: '', |
||||
|
createdBy: this.$store.state.user.name, |
||||
|
methodRemark: '', |
||||
|
methodType: 'D' |
||||
|
}, |
||||
|
// 标头展示 |
||||
|
columnList: [ |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101008, |
||||
|
serialNumber: '101008TableEamPropertiesItemID', |
||||
|
tableId: '101008Table', |
||||
|
tableName: 'common', |
||||
|
columnProp: 'methodNo', |
||||
|
headerAlign: 'center', |
||||
|
align: 'left', |
||||
|
columnLabel: '检验方法编码', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 100 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101008, |
||||
|
serialNumber: '101008TableEamPropertiesItemDesc', |
||||
|
tableId: '101008Table', |
||||
|
tableName: 'common', |
||||
|
columnProp: 'methodName', |
||||
|
headerAlign: 'center', |
||||
|
align: 'left', |
||||
|
columnLabel: '检验方法名称', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 140 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101008, |
||||
|
serialNumber: '101008TableEamPropertiesItemRemark', |
||||
|
tableId: '101008Table', |
||||
|
tableName: 'common', |
||||
|
columnProp: 'methodRemark', |
||||
|
headerAlign: 'center', |
||||
|
align: 'left', |
||||
|
columnLabel: '检验方法说明', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 140 |
||||
|
}, |
||||
|
] |
||||
|
} |
||||
|
}, |
||||
|
mounted () { |
||||
|
this.$nextTick(() => { |
||||
|
this.height = window.innerHeight - 180 |
||||
|
}) |
||||
|
}, |
||||
|
created () { |
||||
|
this.getDataList() |
||||
|
}, |
||||
|
methods: { |
||||
|
// 查询获取数据列表 |
||||
|
getDataList () { |
||||
|
qcCheckOutMethodSearch(this.searchData).then(({data}) => { |
||||
|
this.dataList = data.rows |
||||
|
}) |
||||
|
}, |
||||
|
// 新增按钮 |
||||
|
addModal () { |
||||
|
this.modalData = { |
||||
|
flag: '1', |
||||
|
methodNo: '', |
||||
|
methodName: '', |
||||
|
createdBy: this.$store.state.user.name, |
||||
|
methodRemark: '', |
||||
|
methodType: 'D' |
||||
|
} |
||||
|
this.modalDisableFlag = false |
||||
|
this.modalFlag = true |
||||
|
}, |
||||
|
// 修改按钮 |
||||
|
updateModal (row) { |
||||
|
this.modalData = { |
||||
|
flag: '2', |
||||
|
methodNo: row.methodNo, |
||||
|
methodName: row.methodName, |
||||
|
createdBy: this.$store.state.user.name, |
||||
|
methodRemark: row.methodRemark, |
||||
|
methodType: 'D' |
||||
|
} |
||||
|
this.modalDisableFlag = true |
||||
|
this.modalFlag = true |
||||
|
}, |
||||
|
// 删除方法 |
||||
|
deleteEamPropertiesItem (row) { |
||||
|
this.$confirm(`是否删除这个点检方法?`, '提示', { |
||||
|
confirmButtonText: '确定', |
||||
|
cancelButtonText: '取消', |
||||
|
type: 'warning' |
||||
|
}).then(() => { |
||||
|
qcCheckOutMethodDelete(row).then(({data}) => { |
||||
|
if (data && data.code === '0') { |
||||
|
this.getDataList() |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}).catch(() => { |
||||
|
}) |
||||
|
}, |
||||
|
// 新增/修改方法 |
||||
|
saveData () { |
||||
|
if (this.modalData.methodNo == '' || this.modalData.methodNo == null) { |
||||
|
this.$alert('请输入检验方法编码!', '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if (this.modalData.methodName == '' || this.modalData.methodName == null) { |
||||
|
this.$alert('请输入检验方法名称!', '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if (this.modalData.flag == '1') { // 新增 |
||||
|
qcCheckOutMethodSave(this.modalData).then(({data}) => { |
||||
|
if (data && data.code === '0') { |
||||
|
this.getDataList() |
||||
|
this.modalFlag = false |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} else { // 修改 |
||||
|
qcCheckOutMethodUpdate(this.modalData).then(({data}) => { |
||||
|
if (data && data.code === '0') { |
||||
|
this.getDataList() |
||||
|
this.modalFlag = false |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
@ -0,0 +1,917 @@ |
|||||
|
<template> |
||||
|
<div class="mod-config"> |
||||
|
<!-- 条件查询 --> |
||||
|
<el-form :inline="true" label-position="top" :model="searchData" @keyup.enter.native="getDataList()"> |
||||
|
<el-form-item :label="'检验模板编码'"> |
||||
|
<el-input v-model="searchData.codeNo" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'检验模板名称'"> |
||||
|
<el-input v-model="searchData.codeDesc" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'是否在用'"> |
||||
|
<el-select filterable v-model="searchData.active" style="width: 130px"> |
||||
|
<el-option label="请选择" value=""></el-option> |
||||
|
<el-option label="是" value="Y"></el-option> |
||||
|
<el-option label="否" value="N"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="' '"> |
||||
|
<el-button @click="getDataList()">查询</el-button> |
||||
|
<el-button type="primary" @click="addModal()">新增</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
|
||||
|
<!-- 展示列表 --> |
||||
|
<el-table |
||||
|
:height="height" |
||||
|
:data="dataList" |
||||
|
border |
||||
|
v-loading="dataListLoading" |
||||
|
style="width: 100%;"> |
||||
|
<el-table-column |
||||
|
v-for="(item,index) in columnList" :key="index" |
||||
|
:sortable="item.columnSortable" |
||||
|
:prop="item.columnProp" |
||||
|
:header-align="item.headerAlign" |
||||
|
:show-overflow-tooltip="item.showOverflowTooltip" |
||||
|
:align="item.align" |
||||
|
:fixed="item.fixed==''?false:item.fixed" |
||||
|
:min-width="item.columnWidth" |
||||
|
:label="item.columnLabel"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span> |
||||
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
fixed="right" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
width="160" |
||||
|
label="操作"> |
||||
|
<template slot-scope="scope"> |
||||
|
<a type="text" size="small" @click="updateModal(scope.row)">修改</a> |
||||
|
<a type="text" size="small" @click="detailModal(scope.row)">检验项目</a> |
||||
|
<a type="text" size="small" @click="deletePropertiesModel(scope.row)">删除</a> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
|
||||
|
<!-- 分页栏 --> |
||||
|
<el-pagination |
||||
|
@size-change="sizeChangeHandle" |
||||
|
@current-change="currentChangeHandle" |
||||
|
:current-page="pageIndex" |
||||
|
:page-sizes="[20, 50, 100, 1000]" |
||||
|
:page-size="pageSize" |
||||
|
:total="totalPage" |
||||
|
layout="total, sizes, prev, pager, next, jumper"> |
||||
|
</el-pagination> |
||||
|
|
||||
|
<!-- 检验模板新增/修改 --> |
||||
|
<el-dialog title="检验模板" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" width="430px"> |
||||
|
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
||||
|
<el-form-item label="检验模板编码:"> |
||||
|
<el-input v-model="modalData.codeNo" :disabled="modalDisableFlag" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="检验模板名称:"> |
||||
|
<el-input v-model="modalData.codeDesc" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="是否在用:"> |
||||
|
<el-select filterable v-model="modalData.active" style="width: 120px"> |
||||
|
<el-option label="是" value="Y"></el-option> |
||||
|
<el-option label="否" value="N"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<el-footer style="height:40px;margin-top: 10px;text-align:center"> |
||||
|
<el-button type="primary" @click="saveData()">保存</el-button> |
||||
|
<el-button type="primary" @click="modalFlag = false">关闭</el-button> |
||||
|
</el-footer> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<!-- 检验项目 --> |
||||
|
<el-dialog title="检验项目清单" :close-on-click-modal="false" v-drag :visible.sync="detailModelFlag" width="830px"> |
||||
|
<el-form :inline="true" label-position="top" @keyup.enter.native="getDataList()"> |
||||
|
<el-form-item :label="'检验模板编码'"> |
||||
|
<el-input v-model="detailData.codeNo" readonly style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'检验模板名称'"> |
||||
|
<el-input v-model="detailData.codeDesc" readonly style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="' '"> |
||||
|
<el-button type="primary" @click="addDetailModal()">新增</el-button> |
||||
|
<el-button type="primary" @click="addFastModal()">快速新增</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<!-- 检验项目展示列表 --> |
||||
|
<el-table |
||||
|
:height="300" |
||||
|
:data="detailList" |
||||
|
border |
||||
|
v-loading="dataListLoading" |
||||
|
style="width: 100%;"> |
||||
|
<el-table-column |
||||
|
v-for="(item,index) in columnDetailList" :key="index" |
||||
|
:sortable="item.columnSortable" |
||||
|
:prop="item.columnProp" |
||||
|
:header-align="item.headerAlign" |
||||
|
:show-overflow-tooltip="item.showOverflowTooltip" |
||||
|
:align="item.align" |
||||
|
:fixed="item.fixed==''?false:item.fixed" |
||||
|
:min-width="item.columnWidth" |
||||
|
:label="item.columnLabel"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span> |
||||
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
|
||||
|
<el-table-column |
||||
|
fixed="right" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
width="130" |
||||
|
label="操作"> |
||||
|
<template slot-scope="scope"> |
||||
|
<a type="text" size="small" v-if="scope.row.valueChooseFlag=='Y'" @click="chooseModal(scope.row)">可选值</a> |
||||
|
<a type="text" size="small" @click="deleteModalDetails(scope.row)">删除项目</a> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
|
||||
|
</el-table> |
||||
|
<el-footer style="height:40px;margin-top: 20px;text-align:center"> |
||||
|
<el-button type="primary" @click="detailModelFlag = false">关闭</el-button> |
||||
|
</el-footer> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<!-- 检验项目->新增 --> |
||||
|
<el-dialog title="添加项目" :close-on-click-modal="false" v-drag :visible.sync="addDetailModalFlag" width="300px"> |
||||
|
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
||||
|
<el-form-item > |
||||
|
<span slot="label" style="" @click="getBaseList(1034)"><a herf="#">检验项目编码</a></span> |
||||
|
<el-input v-model="detailData.itemNo" @blur="itemNoBlur" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="检验项目名称:"> |
||||
|
<el-input v-model="detailData.itemDesc" disabled style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<el-footer style="height:40px;margin-top: 10px;text-align:center"> |
||||
|
<el-button type="primary" @click="saveModalDetails()">保存</el-button> |
||||
|
<el-button type="primary" @click="addDetailModalFlag = false">关闭</el-button> |
||||
|
</el-footer> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<!-- 检验项目->快速新增 --> |
||||
|
<el-dialog title="快速添加" @close="refreshDetailList" :close-on-click-modal="false" v-drag :visible.sync="fastAddFlag" width="800px"> |
||||
|
<div style="font-size: 12px"> |
||||
|
检验模板编码:<el-input v-model="detailData.codeNo" readonly style="width: 120px"></el-input> |
||||
|
检验模板名称:<el-input v-model="detailData.codeDesc" readonly style="width: 120px"></el-input> |
||||
|
</div> |
||||
|
<el-container style="margin-top: -12px;"> |
||||
|
<el-main style="width: 300px"> |
||||
|
<span style="font-size: 12px" >可选项目:</span> |
||||
|
<el-table |
||||
|
height="300px" |
||||
|
:data="itemList1" |
||||
|
border |
||||
|
@row-click="clickItem1" |
||||
|
highlight-current-row |
||||
|
v-loading="dataListLoading" |
||||
|
style="width: 100%"> |
||||
|
<el-table-column |
||||
|
prop="itemNo" |
||||
|
header-align="center" |
||||
|
align="left" |
||||
|
min-width="110" |
||||
|
label="项目编码"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="itemDesc" |
||||
|
header-align="center" |
||||
|
align="left" |
||||
|
min-width="170" |
||||
|
label="项目名称"> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
</el-main> |
||||
|
<el-main style="width: 100px"> |
||||
|
<div style="margin-top: 100px"> |
||||
|
<el-button type="primary" @click="addItem()">添加>></el-button> |
||||
|
</div> |
||||
|
<div style="margin-top: 20px"> |
||||
|
<el-button type="primary" @click="deleteItem()">删除<<</el-button> |
||||
|
</div> |
||||
|
</el-main> |
||||
|
<el-main style="width: 300px"> |
||||
|
<span style="font-size: 12px" >已有项目:</span> |
||||
|
<el-table |
||||
|
height="300px" |
||||
|
:data="itemList2" |
||||
|
border |
||||
|
@row-click="clickItem2" |
||||
|
highlight-current-row |
||||
|
v-loading="dataListLoading" |
||||
|
style="width: 100%"> |
||||
|
<el-table-column |
||||
|
prop="itemNo" |
||||
|
header-align="center" |
||||
|
align="left" |
||||
|
min-width="110" |
||||
|
label="项目编码"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="itemDesc" |
||||
|
header-align="center" |
||||
|
align="left" |
||||
|
min-width="170" |
||||
|
label="项目名称"> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
</el-main> |
||||
|
</el-container> |
||||
|
<el-footer style="height:40px;margin-top: 20px;text-align:center"> |
||||
|
<el-button type="primary" @click="fastAddFlag = false">关闭</el-button> |
||||
|
</el-footer> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<!-- 检验项目->可选值 --> |
||||
|
<el-dialog title="可选值" :close-on-click-modal="false" v-drag :visible.sync="chooseModalFlag" width="350px"> |
||||
|
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
||||
|
<el-form-item label="检验项目名称:"> |
||||
|
<el-input v-model="chooseModalData.itemDesc" disabled style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'检测值类型'"> |
||||
|
<el-select filterable v-model="chooseModalData.valueTypeDb" disabled style="width: 120px"> |
||||
|
<el-option label="文本" value="T"></el-option> |
||||
|
<el-option label="数字" value="N"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<el-table |
||||
|
:height="300" |
||||
|
:data="chooseTableData" |
||||
|
border |
||||
|
style="width: 100%"> |
||||
|
<el-table-column |
||||
|
prop="availableValue" |
||||
|
header-align="center" |
||||
|
align="left" |
||||
|
min-width="200" |
||||
|
label="属性值"> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
<el-footer style="height:40px;margin-top: 10px;text-align:center"> |
||||
|
<el-button type="primary" @click="chooseModalFlag = false">关闭</el-button> |
||||
|
</el-footer> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { |
||||
|
qcCheckOutModelSearch, |
||||
|
qcCheckOutModelSave, |
||||
|
qcCheckOutModelUpdate, |
||||
|
qcCheckOutModelDelete, |
||||
|
searchItemAvailable, |
||||
|
searchModalDetails, |
||||
|
saveModalDetails, |
||||
|
deleteModalDetails, |
||||
|
qcCheckOutItemSearch, // 搜索项目 |
||||
|
getItemLists // 获取项目列表 |
||||
|
} from "@/api/qc/qc.js" |
||||
|
import Chooselist from '@/views/modules/common/Chooselist_eam' |
||||
|
export default { |
||||
|
components: { |
||||
|
Chooselist |
||||
|
}, |
||||
|
watch: { |
||||
|
searchData: { |
||||
|
deep: true, |
||||
|
handler: function (newV, oldV) { |
||||
|
this.searchData.codeNo = this.searchData.codeNo.toUpperCase() |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
itemData: { |
||||
|
deep: true, |
||||
|
handler: function (newV, oldV) { |
||||
|
this.itemData.itemNo = this.itemData.itemNo.toUpperCase() |
||||
|
} |
||||
|
}, |
||||
|
modalData: { |
||||
|
deep: true, |
||||
|
handler: function (newV, oldV) { |
||||
|
this.modalData.codeNo = this.modalData.codeNo.toUpperCase() |
||||
|
} |
||||
|
}, |
||||
|
detailData: { |
||||
|
deep: true, |
||||
|
handler: function (newV, oldV) { |
||||
|
this.detailData.codeNo = this.detailData.codeNo.toUpperCase() |
||||
|
this.detailData.itemNo = this.detailData.itemNo.toUpperCase() |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
data () { |
||||
|
return { |
||||
|
tagNo:'', |
||||
|
searchData: { |
||||
|
codeNo: '', |
||||
|
codeDesc: '', |
||||
|
active:'', |
||||
|
functionType:'D', |
||||
|
page: 1, |
||||
|
limit: 10, |
||||
|
}, |
||||
|
height: 200, |
||||
|
pageIndex: 1, |
||||
|
pageSize: 100, |
||||
|
totalPage: 0, |
||||
|
addDetailModalFlag:false, |
||||
|
modalFlag:false, |
||||
|
modalDisableFlag:false, |
||||
|
modalData:{ |
||||
|
flag:'', |
||||
|
codeNo:'', |
||||
|
codeDesc:'', |
||||
|
active:'', |
||||
|
functionType:'D', |
||||
|
userId:this.$store.state.user.name |
||||
|
}, |
||||
|
detailData:{ |
||||
|
codeNo:'', |
||||
|
codeDesc:'', |
||||
|
functionType:'D', |
||||
|
itemNo:'', |
||||
|
itemDesc:'', |
||||
|
itemType:'D', |
||||
|
userId:this.$store.state.user.name |
||||
|
}, |
||||
|
columnList: [ |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 301003, |
||||
|
serialNumber: '301003TableCodeNo', |
||||
|
tableId: "301003Table", |
||||
|
tableName: "检验模板表", |
||||
|
columnProp: 'codeNo', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '检验模板编码', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 120, |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 301003, |
||||
|
serialNumber: '301003TableCodeDesc', |
||||
|
tableId: "301003Table", |
||||
|
tableName: "检验模板表", |
||||
|
columnProp: 'codeDesc', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '检验模板名称', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 140, |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 301003, |
||||
|
serialNumber: '301003TableActive', |
||||
|
tableId: "301003Table", |
||||
|
tableName: "检验模板表", |
||||
|
columnProp: 'active', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '在用', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 40, |
||||
|
}, |
||||
|
], |
||||
|
detailModelFlag:false, |
||||
|
detailList: [], |
||||
|
chooseTableData:[], |
||||
|
dataListLoading: false, |
||||
|
dataListSelections: [], |
||||
|
|
||||
|
// modalDisableFlag:false, |
||||
|
chooseModalFlag:false, |
||||
|
itemFlag:'text', |
||||
|
itemData:{ |
||||
|
itemNo:'', |
||||
|
valueNo:'', |
||||
|
availableValue:'', |
||||
|
itemType:'D', |
||||
|
createdBy: this.$store.state.user.name |
||||
|
}, |
||||
|
dataList:[], |
||||
|
departmentList:[], |
||||
|
// 展示列集 |
||||
|
columnDetailList: [ |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 301003, |
||||
|
serialNumber: '301003Table2EamPropertiesItemID', |
||||
|
tableId: "301003Table2", |
||||
|
tableName: "检验项目表", |
||||
|
columnProp: 'itemNo', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '检验项目编码', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 90, |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 301003, |
||||
|
serialNumber: '301003Table2EamPropertiesItemDesc', |
||||
|
tableId: "301003Table2", |
||||
|
tableName: "检验项目表", |
||||
|
columnProp: 'itemDesc', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '检验项目名称', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 90, |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 301003, |
||||
|
serialNumber: '301003Table2ValueType', |
||||
|
tableId: "301003Table2", |
||||
|
tableName: "检验项目表", |
||||
|
columnProp: 'valueType', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '检测值类型', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 70, |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 301003, |
||||
|
serialNumber: '301003Table2DefaultValue', |
||||
|
tableId: "301003Table2", |
||||
|
tableName: "检验项目表", |
||||
|
columnProp: 'defaultValue', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '参照值', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 70, |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 301003, |
||||
|
serialNumber: '301003Table2MaxValue', |
||||
|
tableId: "301003Table2", |
||||
|
tableName: "检验项目表", |
||||
|
columnProp: 'maxValue', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '最大值', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 70, |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 301003, |
||||
|
serialNumber: '301003Table2MinValue', |
||||
|
tableId: "301003Table2", |
||||
|
tableName: "检验项目表", |
||||
|
columnProp: 'minValue', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '最小值', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 70, |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 301003, |
||||
|
serialNumber: '301003TableValueChooseFlag', |
||||
|
tableId: "301003Table2", |
||||
|
tableName: "common", |
||||
|
columnProp: 'valueChooseFlag', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '是否值可选', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 70, |
||||
|
}, |
||||
|
], |
||||
|
levelList:[], |
||||
|
chooseModalData:{ |
||||
|
itemNo: '', |
||||
|
itemDesc: '', |
||||
|
itemType:'D', |
||||
|
valueTypeDb:'', |
||||
|
}, |
||||
|
// 快速添加 |
||||
|
fastAddFlag:false, |
||||
|
itemList1:[], |
||||
|
itemList2:[], |
||||
|
itemListRow1:{}, |
||||
|
itemListRow2:{}, |
||||
|
} |
||||
|
}, |
||||
|
mounted () { |
||||
|
this.$nextTick(() => { |
||||
|
this.height = window.innerHeight - 210 |
||||
|
}) |
||||
|
}, |
||||
|
created () { |
||||
|
this.getDataList(); |
||||
|
}, |
||||
|
methods: { |
||||
|
// 获取基础数据列表S |
||||
|
getBaseList (val,type) { |
||||
|
this.tagNo = val |
||||
|
this.$nextTick(() => { |
||||
|
let strVal = '' |
||||
|
if (val === 1034) { |
||||
|
strVal = this.detailData.itemNo |
||||
|
} |
||||
|
this.$refs.baseList.init(val, strVal) |
||||
|
}) |
||||
|
}, |
||||
|
/* 列表方法的回调 */ |
||||
|
getBaseData (val) { |
||||
|
if (this.tagNo === 1034) { |
||||
|
this.detailData.itemNo = val.ItemNo |
||||
|
this.detailData.itemDesc = val.ItemDesc |
||||
|
} |
||||
|
}, |
||||
|
// 获取数据列表 |
||||
|
getDataList () { |
||||
|
this.searchData.limit = this.pageSize |
||||
|
this.searchData.page = this.pageIndex |
||||
|
qcCheckOutModelSearch(this.searchData).then(({data}) => { |
||||
|
if (data.code == 0) { |
||||
|
this.dataList = data.page.list |
||||
|
this.pageIndex = data.page.currPage |
||||
|
this.pageSize = data.page.pageSize |
||||
|
this.totalPage = data.page.totalCount |
||||
|
} |
||||
|
this.dataListLoading = false |
||||
|
}) |
||||
|
}, |
||||
|
// 每页数 |
||||
|
sizeChangeHandle (val) { |
||||
|
this.pageSize = val |
||||
|
this.pageIndex = 1 |
||||
|
this.getDataList() |
||||
|
}, |
||||
|
// 当前页 |
||||
|
currentChangeHandle (val) { |
||||
|
this.pageIndex = val |
||||
|
this.getDataList() |
||||
|
}, |
||||
|
addModal(){ |
||||
|
this.modalData={ |
||||
|
flag:'1', |
||||
|
codeNo:'', |
||||
|
codeDesc:'', |
||||
|
active:'Y', |
||||
|
functionType:'D', |
||||
|
userId:this.$store.state.user.name |
||||
|
}; |
||||
|
this.modalDisableFlag=false; |
||||
|
this.modalFlag=true; |
||||
|
}, |
||||
|
updateModal(row){ |
||||
|
this.modalData={ |
||||
|
flag:'2', |
||||
|
codeNo:row.codeNo, |
||||
|
codeDesc:row.codeDesc, |
||||
|
active:row.active, |
||||
|
functionType:'D', |
||||
|
userId:this.$store.state.user.name |
||||
|
}; |
||||
|
this.modalDisableFlag=true; |
||||
|
this.modalFlag=true; |
||||
|
}, |
||||
|
// 删除 |
||||
|
deletePropertiesModel (row) { |
||||
|
this.$confirm(`是否删除这个检验模板?`, '提示', { |
||||
|
confirmButtonText: '确定', |
||||
|
cancelButtonText: '取消', |
||||
|
type: 'warning' |
||||
|
}).then(() => { |
||||
|
qcCheckOutModelDelete(row).then(({data}) => { |
||||
|
if (data && data.code === 0) { |
||||
|
this.getDataList() |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}).catch(() => { |
||||
|
}) |
||||
|
}, |
||||
|
saveData(){ |
||||
|
if (this.modalData.codeNo == '' || this.modalData.codeNo == null) { |
||||
|
this.$alert('请输入检验模板编码!', '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if (this.modalData.codeDesc == '' || this.modalData.codeDesc == null) { |
||||
|
this.$alert('请输入检验模板名称!', '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if (this.modalData.active == '' || this.modalData.active == null) { |
||||
|
this.$alert('选择是否在用!', '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if(this.modalData.flag=='1'){ |
||||
|
qcCheckOutModelSave(this.modalData).then(({data}) => { |
||||
|
if (data && data.code === 0) { |
||||
|
this.getDataList() |
||||
|
this.modalFlag=false |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}else { |
||||
|
qcCheckOutModelUpdate(this.modalData).then(({data}) => { |
||||
|
if (data && data.code === 0) { |
||||
|
this.getDataList() |
||||
|
this.modalFlag=false |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
}, |
||||
|
//打开检验项目清单 |
||||
|
detailModal(row){ |
||||
|
this.detailData.codeNo = row.codeNo |
||||
|
this.detailData.codeDesc = row.codeDesc |
||||
|
searchModalDetails(this.detailData).then(({data}) => { |
||||
|
this.detailList = data.rows |
||||
|
}) |
||||
|
this.detailModelFlag = true; |
||||
|
}, |
||||
|
|
||||
|
// 普通新增 |
||||
|
addDetailModal(){ |
||||
|
this.detailData.itemNo = ''; |
||||
|
this.detailData.itemDesc = ''; |
||||
|
this.addDetailModalFlag = true; |
||||
|
}, |
||||
|
|
||||
|
// 快速新增 |
||||
|
addFastModal(){ |
||||
|
this.itemListRow2 = null |
||||
|
this.itemListRow1 = null |
||||
|
getItemLists(this.detailData).then(({data}) => { |
||||
|
this.itemList1 = data.row1; |
||||
|
this.itemList2 = data.row2; |
||||
|
}) |
||||
|
this.fastAddFlag = true; |
||||
|
}, |
||||
|
|
||||
|
clickItem1(row){ |
||||
|
this.itemListRow1 = JSON.parse(JSON.stringify(row)); |
||||
|
}, |
||||
|
clickItem2(row){ |
||||
|
this.itemListRow2 = JSON.parse(JSON.stringify(row)); |
||||
|
}, |
||||
|
// 添加项目 |
||||
|
addItem(){ |
||||
|
if(this.itemListRow1==null){ |
||||
|
this.$alert("请选择可选项目!", '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false; |
||||
|
} |
||||
|
let inData={ |
||||
|
codeNo:this.detailData.codeNo, |
||||
|
codeDesc:this.detailData.codeDesc, |
||||
|
functionType:this.detailData.functionType, |
||||
|
itemNo: this.itemListRow1.itemNo, |
||||
|
itemDesc:this.itemListRow1.itemDesc, |
||||
|
itemType:this.detailData.itemType, |
||||
|
userId:this.$store.state.user.name |
||||
|
} |
||||
|
saveModalDetails(inData).then(({data}) => { |
||||
|
if (data && data.code == 0) { |
||||
|
getItemLists(this.detailData).then(({data}) => { |
||||
|
this.itemList1=data.row1; |
||||
|
this.itemList2=data.row2; |
||||
|
}) |
||||
|
this.itemListRow1=null |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
// 删除项目 |
||||
|
deleteItem(){ |
||||
|
if(this.itemListRow2 == null){ |
||||
|
this.$alert("请选择已选项目!", '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false; |
||||
|
} |
||||
|
let inData = { |
||||
|
codeNo:this.detailData.codeNo, |
||||
|
codeDesc:this.detailData.codeDesc, |
||||
|
functionType:this.detailData.functionType, |
||||
|
itemNo: this.itemListRow2.itemNo, |
||||
|
itemDesc:this.itemListRow2.itemDesc, |
||||
|
itemType:this.detailData.itemType, |
||||
|
userId:this.$store.state.user.name |
||||
|
} |
||||
|
deleteModalDetails(inData).then(({data}) => { |
||||
|
if (data && data.code === 0) { |
||||
|
getItemLists(this.detailData).then(({data}) => { |
||||
|
this.itemList1 = data.row1; |
||||
|
this.itemList2 = data.row2; |
||||
|
}) |
||||
|
this.itemListRow2 = null |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
// 关闭后刷新列表 |
||||
|
refreshDetailList(){ |
||||
|
searchModalDetails(this.detailData).then(({data}) => { |
||||
|
this.detailList = data.rows |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
// 保存模板中的项目明细 |
||||
|
saveModalDetails(){ |
||||
|
if(this.detailData.itemNo == "" || this.detailData.itemNo == null){ |
||||
|
this.$alert('请选择检验项目编码!', '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
saveModalDetails(this.detailData).then(({data}) => { |
||||
|
if (data && data.code == 0) { |
||||
|
searchModalDetails(this.detailData).then(({data}) => { |
||||
|
this.detailList = data.rows |
||||
|
}) |
||||
|
this.addDetailModalFlag=false; |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
itemNoBlur(){ |
||||
|
let inData={ |
||||
|
itemType:'D', |
||||
|
itemNo:this.detailData.itemNo |
||||
|
} |
||||
|
qcCheckOutItemSearch(inData).then(({data}) => { |
||||
|
if(data.rows.length>0){ |
||||
|
this.detailData.itemDesc = data.rows[0].itemDesc |
||||
|
}else { |
||||
|
this.detailData.itemDesc='' |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
// 删除模板中的项目 |
||||
|
deleteModalDetails(row){ |
||||
|
console.log(row) |
||||
|
this.$confirm(`是否删除这个检验项目?`, '提示', { |
||||
|
confirmButtonText: '确定', |
||||
|
cancelButtonText: '取消', |
||||
|
type: 'warning' |
||||
|
}).then(() => { |
||||
|
deleteModalDetails(row).then(({data}) => { |
||||
|
if (data && data.code === 0) { |
||||
|
searchModalDetails(this.detailData).then(({data}) => { |
||||
|
this.detailList = data.rows |
||||
|
}) |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}).catch(() => { |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
chooseModal(row){ |
||||
|
this.chooseModalData.itemNo=row.itemNo; |
||||
|
this.chooseModalData.itemDesc=row.itemDesc; |
||||
|
this.chooseModalData.valueTypeDb=row.valueTypeDb; |
||||
|
searchItemAvailable(this.chooseModalData).then(({data}) => { |
||||
|
this.chooseTableData = data.rows |
||||
|
}) |
||||
|
this.chooseModalFlag=true; |
||||
|
}, |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
@ -0,0 +1,621 @@ |
|||||
|
<template> |
||||
|
<div class="mod-config"> |
||||
|
<!-- 条件查询 --> |
||||
|
<el-form :inline="true" label-position="top" :model="searchData" @keyup.enter.native="getDataList()"> |
||||
|
<el-form-item :label="'工厂编码'"> |
||||
|
<el-input v-model="searchData.site" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'分类编码'"> |
||||
|
<el-input v-model="searchData.familyID" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'分类名称'"> |
||||
|
<el-input v-model="searchData.familyDesc" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'是否在用'"> |
||||
|
<el-select filterable v-model="searchData.active" style="width: 130px"> |
||||
|
<el-option label="全部" value=""></el-option> |
||||
|
<el-option label="是" value="Y"></el-option> |
||||
|
<el-option label="否" value="N"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="' '"> |
||||
|
<el-button @click="getDataList()">查询</el-button> |
||||
|
<el-button type="primary" @click="addModal()">新增</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
|
||||
|
<!-- 展示列表 --> |
||||
|
<el-table |
||||
|
:height="height" |
||||
|
:data="dataList" |
||||
|
border |
||||
|
v-loading="dataListLoading" |
||||
|
|
||||
|
style="width: 100%;"> |
||||
|
<el-table-column |
||||
|
v-for="(item,index) in columnList" :key="index" |
||||
|
:sortable="item.columnSortable" |
||||
|
:prop="item.columnProp" |
||||
|
:header-align="item.headerAlign" |
||||
|
:show-overflow-tooltip="item.showOverflowTooltip" |
||||
|
:align="item.align" |
||||
|
:fixed="item.fixed==''?false:item.fixed" |
||||
|
:min-width="item.columnWidth" |
||||
|
:label="item.columnLabel"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span> |
||||
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
fixed="right" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
width="160" |
||||
|
label="操作"> |
||||
|
<template slot-scope="scope"> |
||||
|
<a type="text" size="small" @click="updateModal(scope.row)">修改</a> |
||||
|
<a type="text" size="small" @click="detailFamily(scope.row)">检验模板</a> |
||||
|
<a type="text" size="small" @click="deleteFamily(scope.row)">删除</a> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
|
||||
|
<el-pagination |
||||
|
@size-change="sizeChangeHandle" |
||||
|
@current-change="currentChangeHandle" |
||||
|
:current-page="pageIndex" |
||||
|
:page-sizes="[20, 50, 100, 1000]" |
||||
|
:page-size="pageSize" |
||||
|
:total="totalPage" |
||||
|
layout="total, sizes, prev, pager, next, jumper"> |
||||
|
</el-pagination> |
||||
|
|
||||
|
<!-- 新增/修改分类 --> |
||||
|
<el-dialog title="检验分类" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" width="430px"> |
||||
|
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
||||
|
<el-form-item label="分类编码:"> |
||||
|
<el-input v-model="modalData.familyID" :disabled="modalDisableFlag" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="分类名称:"> |
||||
|
<el-input v-model="modalData.familyDesc" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="是否在用:"> |
||||
|
<el-select filterable v-model="modalData.active" style="width: 120px"> |
||||
|
<el-option label="是" value="Y"></el-option> |
||||
|
<el-option label="否" value="N"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<el-footer style="height:40px;margin-top: 10px;text-align:center"> |
||||
|
<el-button type="primary" @click="saveData()">保存</el-button> |
||||
|
<el-button type="primary" @click="modalFlag = false">关闭</el-button> |
||||
|
</el-footer> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<!-- 检验模板 --> |
||||
|
<el-dialog title="检验模板清单" :close-on-click-modal="false" v-drag :visible.sync="detailFamilyFlag" width="830px"> |
||||
|
<el-form :inline="true" label-position="top" @keyup.enter.native="getDataList()"> |
||||
|
<el-form-item :label="'检验分类编码'"> |
||||
|
<el-input v-model="detailData.familyID" readonly style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'检验分类名称'"> |
||||
|
<el-input v-model="detailData.familyDesc" readonly style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="' '"> |
||||
|
<el-button type="primary" @click="addDetailFamily()">新增</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<!-- 检验模板展示列表 --> |
||||
|
<el-table |
||||
|
:height="300" |
||||
|
:data="detailList" |
||||
|
border |
||||
|
v-loading="dataListLoading" |
||||
|
style="width: 100%;"> |
||||
|
<el-table-column |
||||
|
v-for="(item,index) in columnDetailList" :key="index" |
||||
|
:sortable="item.columnSortable" |
||||
|
:prop="item.columnProp" |
||||
|
:header-align="item.headerAlign" |
||||
|
:show-overflow-tooltip="item.showOverflowTooltip" |
||||
|
:align="item.align" |
||||
|
:fixed="item.fixed==''?false:item.fixed" |
||||
|
:min-width="item.columnWidth" |
||||
|
:label="item.columnLabel"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span> |
||||
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
fixed="right" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
width="130" |
||||
|
label="操作"> |
||||
|
<template slot-scope="scope"> |
||||
|
<a type="text" size="small" @click="deleteFamilyDetails(scope.row)">删除模板</a> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
<el-footer style="height:40px;margin-top: 20px;text-align:center"> |
||||
|
<el-button type="primary" @click="detailFamilyFlag = false">关闭</el-button> |
||||
|
</el-footer> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<!-- 检验模板->新增 --> |
||||
|
<el-dialog title="添加项目" :close-on-click-modal="false" v-drag :visible.sync="addDetailFamilyFlag" width="300px"> |
||||
|
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
||||
|
<el-form-item > |
||||
|
<span slot="label" style="" @click="getBaseList(1035)"><a herf="#">检验模板编码</a></span> |
||||
|
<el-input v-model="detailData.codeNo" @blur="modelNoBlur" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="检验模板名称:"> |
||||
|
<el-input v-model="detailData.codeDesc" disabled style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<el-footer style="height:40px;margin-top: 10px;text-align:center"> |
||||
|
<el-button type="primary" @click="saveFamilyDetails()">保存</el-button> |
||||
|
<el-button type="primary" @click="addDetailFamilyFlag = false">关闭</el-button> |
||||
|
</el-footer> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { |
||||
|
qcFamilySearch, |
||||
|
qcFamilySave, |
||||
|
qcFamilyUpdate, |
||||
|
qcFamilyDelete, |
||||
|
qcCheckOutModelSearch, // 查询模板集合 |
||||
|
saveFamilyDetails, // 新增类别中的模板明细 |
||||
|
searchFamilyDetails, // 查询类别中的模板详情 |
||||
|
deleteFamilyDetails // 删除分类中的模板 |
||||
|
} from "@/api/qc/qc.js" |
||||
|
import Chooselist from '@/views/modules/common/Chooselist_eam' |
||||
|
export default { |
||||
|
components: { |
||||
|
Chooselist |
||||
|
}, |
||||
|
watch: { |
||||
|
searchData: { |
||||
|
deep: true, |
||||
|
handler: function (newV, oldV) { |
||||
|
this.searchData.familyID = this.searchData.familyID.toUpperCase() |
||||
|
} |
||||
|
}, |
||||
|
modalData: { |
||||
|
deep: true, |
||||
|
handler: function (newV, oldV) { |
||||
|
this.modalData.familyID = this.modalData.familyID.toUpperCase() |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
data () { |
||||
|
return { |
||||
|
tagNo:'', |
||||
|
searchData: { |
||||
|
site: this.$store.state.user.site, |
||||
|
familyID: '', |
||||
|
familyDesc: '', |
||||
|
active: 'Y', |
||||
|
familyType:'D', |
||||
|
page: 1, |
||||
|
limit: 10 |
||||
|
}, |
||||
|
detailData: { |
||||
|
familyID:'', |
||||
|
familyDesc:'', |
||||
|
familyType:'D', |
||||
|
codeNo:'', |
||||
|
codeDesc:'', |
||||
|
functionType:'D', |
||||
|
userId:this.$store.state.user.name |
||||
|
}, |
||||
|
height: 200, |
||||
|
pageIndex: 1, |
||||
|
pageSize: 100, |
||||
|
totalPage: 0, |
||||
|
dataList: [], |
||||
|
detailList: [], |
||||
|
dataListLoading: false, |
||||
|
dataListSelections: [], |
||||
|
modalFlag:false, |
||||
|
modalDisableFlag:false, |
||||
|
detailFamilyFlag:false, |
||||
|
addDetailFamilyFlag:false, |
||||
|
modalData:{ |
||||
|
flag:'', |
||||
|
site: this.$store.state.user.site, |
||||
|
familyID:'', |
||||
|
familyDesc:'', |
||||
|
active:'', |
||||
|
familyType:'D', |
||||
|
}, |
||||
|
departmentList:[], |
||||
|
// 展示列集 |
||||
|
columnList: [ |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 301004, |
||||
|
serialNumber: '301004TableSite', |
||||
|
tableId: "301004Table", |
||||
|
tableName: "common", |
||||
|
columnProp: 'site', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '工厂编码', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 80 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 301004, |
||||
|
serialNumber: '301004TableFamilyID', |
||||
|
tableId: "301004Table", |
||||
|
tableName: "common", |
||||
|
columnProp: 'familyID', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '分类编码', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 120 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 301004, |
||||
|
serialNumber: '301004TableFamilyDesc', |
||||
|
tableId: "301004Table", |
||||
|
tableName: "common", |
||||
|
columnProp: 'familyDesc', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '分类名称', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 140 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 301004, |
||||
|
serialNumber: '301004TableActive', |
||||
|
tableId: "301004Table", |
||||
|
tableName: "common", |
||||
|
columnProp: 'active', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '是否在用', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 40 |
||||
|
} |
||||
|
], |
||||
|
columnDetailList: [ |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 301004, |
||||
|
serialNumber: '301004Table2CodeNo', |
||||
|
tableId: "301004Table2", |
||||
|
tableName: "检验模板表", |
||||
|
columnProp: 'codeNo', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '检验模板编码', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 90, |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 301004, |
||||
|
serialNumber: '301004Table2CodeDesc', |
||||
|
tableId: "301004Table2", |
||||
|
tableName: "检验模板表", |
||||
|
columnProp: 'codeDesc', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '检验模板名称', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 90, |
||||
|
} |
||||
|
], |
||||
|
levelList:[] |
||||
|
} |
||||
|
}, |
||||
|
mounted () { |
||||
|
this.$nextTick(() => { |
||||
|
this.height = window.innerHeight - 210 |
||||
|
}) |
||||
|
}, |
||||
|
created () { |
||||
|
this.getDataList() |
||||
|
}, |
||||
|
methods: { |
||||
|
|
||||
|
// 获取基础数据列表 |
||||
|
getBaseList (val,type) { |
||||
|
this.tagNo = val |
||||
|
this.$nextTick(() => { |
||||
|
let strVal = '' |
||||
|
if (val === 1035) { |
||||
|
strVal = this.detailData.codeNo |
||||
|
} |
||||
|
this.$refs.baseList.init(val, strVal) |
||||
|
}) |
||||
|
}, |
||||
|
/* 列表方法的回调 */ |
||||
|
getBaseData (val) { |
||||
|
if (this.tagNo === 1035) { |
||||
|
this.detailData.codeNo = val.code_no |
||||
|
this.detailData.codeDesc = val.code_desc |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
// 点击查询模板集合 |
||||
|
modelNoBlur(){ |
||||
|
let inData={ |
||||
|
functionType:'D', |
||||
|
codeNo:this.detailData.codeNo |
||||
|
} |
||||
|
qcCheckOutModelSearch(inData).then(({data}) => { |
||||
|
if(data.rows.length>0){ |
||||
|
this.detailData.codeDesc = data.rows[0].codeDesc |
||||
|
}else { |
||||
|
this.detailData.codeDesc='' |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
// 保存分类中的模板明细 |
||||
|
saveFamilyDetails(){ |
||||
|
if(this.detailData.codeNo == "" || this.detailData.codeNo == null){ |
||||
|
this.$alert('请选择检验模板编码!', '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
saveFamilyDetails(this.detailData).then(({data}) => { |
||||
|
if (data && data.code == 0) { |
||||
|
searchFamilyDetails(this.detailData).then(({data}) => { |
||||
|
this.detailList = data.rows |
||||
|
}) |
||||
|
this.addDetailFamilyFlag = false; |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
// 删除分类中的模板 |
||||
|
deleteFamilyDetails(row){ |
||||
|
console.log(row) |
||||
|
this.$confirm(`是否删除这个检验模板?`, '提示', { |
||||
|
confirmButtonText: '确定', |
||||
|
cancelButtonText: '取消', |
||||
|
type: 'warning' |
||||
|
}).then(() => { |
||||
|
deleteFamilyDetails(row).then(({data}) => { |
||||
|
if (data && data.code === 0) { |
||||
|
searchFamilyDetails(this.detailData).then(({data}) => { |
||||
|
this.detailList = data.rows |
||||
|
}) |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}).catch(() => { |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
// 获取数据列表 |
||||
|
getDataList () { |
||||
|
this.searchData.limit = this.pageSize |
||||
|
this.searchData.page = this.pageIndex |
||||
|
qcFamilySearch(this.searchData).then(({data}) => { |
||||
|
if (data.code == 0) { |
||||
|
this.dataList = data.page.list |
||||
|
this.pageIndex = data.page.currPage |
||||
|
this.pageSize = data.page.pageSize |
||||
|
this.totalPage = data.page.totalCount |
||||
|
} |
||||
|
this.dataListLoading = false |
||||
|
}) |
||||
|
}, |
||||
|
// 每页数 |
||||
|
sizeChangeHandle (val) { |
||||
|
this.pageSize = val |
||||
|
this.pageIndex = 1 |
||||
|
this.getDataList() |
||||
|
}, |
||||
|
// 当前页 |
||||
|
currentChangeHandle (val) { |
||||
|
this.pageIndex = val |
||||
|
this.getDataList() |
||||
|
}, |
||||
|
// 多选 |
||||
|
selectionChangeHandle (val) { |
||||
|
this.dataListSelections = val |
||||
|
}, |
||||
|
|
||||
|
//打开检验模板清单 |
||||
|
detailFamily(row){ |
||||
|
this.detailData.familyID = row.familyID |
||||
|
this.detailData.familyDesc = row.familyDesc |
||||
|
searchFamilyDetails(this.detailData).then(({data}) => { |
||||
|
this.detailList = data.rows |
||||
|
}) |
||||
|
this.detailFamilyFlag = true; |
||||
|
}, |
||||
|
|
||||
|
addDetailFamily(){ |
||||
|
console.log(this.detailData) |
||||
|
this.detailData.codeNo = ''; |
||||
|
this.detailData.codeDesc = ''; |
||||
|
this.addDetailFamilyFlag = true; |
||||
|
}, |
||||
|
|
||||
|
// 新增检验分类 |
||||
|
addModal(){ |
||||
|
this.modalData={ |
||||
|
flag:'1', |
||||
|
site: this.$store.state.user.site, |
||||
|
familyID:'', |
||||
|
familyDesc:'', |
||||
|
active:'', |
||||
|
familyType:'D' |
||||
|
}; |
||||
|
this.modalDisableFlag = false; |
||||
|
this.modalFlag = true; |
||||
|
}, |
||||
|
|
||||
|
// 修改检验分类 |
||||
|
updateModal(row){ |
||||
|
this.modalData = { |
||||
|
flag:'2', |
||||
|
site: row.site, |
||||
|
familyID:row.familyID, |
||||
|
familyDesc:row.familyDesc, |
||||
|
active:row.active, |
||||
|
familyType:'D' |
||||
|
}; |
||||
|
this.modalDisableFlag = true; |
||||
|
this.modalFlag = true; |
||||
|
}, |
||||
|
|
||||
|
// 删除检验分类 |
||||
|
deleteFamily (row) { |
||||
|
this.$confirm(`是否删除这个分类?`, '提示', { |
||||
|
confirmButtonText: '确定', |
||||
|
cancelButtonText: '取消', |
||||
|
type: 'warning' |
||||
|
}).then(() => { |
||||
|
qcFamilyDelete(row).then(({data}) => { |
||||
|
if (data && data.code === '0') { |
||||
|
this.getDataList() |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}).catch(() => { |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
// 执行新增/修改方法 |
||||
|
saveData(){ |
||||
|
if (this.modalData.familyID == '' || this.modalData.familyID == null) { |
||||
|
this.$alert('请输入分类编码!', '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if (this.modalData.familyDesc == '' || this.modalData.familyDesc == null) { |
||||
|
this.$alert('请输入分类名称!', '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if (this.modalData.active == '' || this.modalData.active == null) { |
||||
|
this.$alert('选择是否在用!', '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if(this.modalData.flag == '1'){ |
||||
|
qcFamilySave(this.modalData).then(({data}) => { |
||||
|
if (data && data.code === '0') { |
||||
|
this.getDataList() |
||||
|
this.modalFlag = false |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}else { |
||||
|
qcFamilyUpdate(this.modalData).then(({data}) => { |
||||
|
if (data && data.code === '0') { |
||||
|
this.getDataList() |
||||
|
this.modalFlag = false |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
@ -0,0 +1,271 @@ |
|||||
|
<template> |
||||
|
<div class="mod-config"> |
||||
|
<!-- 条件查询 --> |
||||
|
<el-form :inline="true" label-position="top" :model="searchData" @keyup.enter.native="getDataList()"> |
||||
|
<el-form-item :label="'主记录信息编码'"> |
||||
|
<el-input v-model="searchData.informationNo" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'主记录信息名称'"> |
||||
|
<el-input v-model="searchData.informationName" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="' '"> |
||||
|
<el-button type="primary" @click="getDataList()">查询</el-button> |
||||
|
<el-button type="primary" @click="addModal()">新增</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
|
||||
|
<!-- 展示列表 --> |
||||
|
<el-table |
||||
|
:height="height" |
||||
|
:data="dataList" |
||||
|
border |
||||
|
v-loading="dataListLoading" |
||||
|
style="width: 100%;"> |
||||
|
<el-table-column |
||||
|
v-for="(item,index) in columnList" :key="index" |
||||
|
:sortable="item.columnSortable" |
||||
|
:prop="item.columnProp" |
||||
|
:header-align="item.headerAlign" |
||||
|
:show-overflow-tooltip="item.showOverflowTooltip" |
||||
|
:align="item.align" |
||||
|
:fixed="item.fixed==''?false:item.fixed" |
||||
|
:min-width="item.columnWidth" |
||||
|
:label="item.columnLabel"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span> |
||||
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
fixed="right" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
width="160" |
||||
|
label="操作"> |
||||
|
<template slot-scope="scope"> |
||||
|
<a type="text" size="small" @click="updateModal(scope.row)">修改</a> |
||||
|
<a type="text" size="small" @click="deleteModal(scope.row)">删除</a> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
|
||||
|
<!-- 新增和修改 --> |
||||
|
<el-dialog title="主记录信息" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" width="430px"> |
||||
|
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
||||
|
<el-form-item label="主记录信息编码:"> |
||||
|
<el-input v-model="modalData.informationNo" :disabled="modalDisableFlag" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="主记录信息名称:"> |
||||
|
<el-input v-model="modalData.informationName" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<el-footer style="height:40px;margin-top: 20px;text-align:center"> |
||||
|
<el-button type="primary" @click="saveData()">保存</el-button> |
||||
|
<el-button type="primary" @click="modalFlag = false">关闭</el-button> |
||||
|
</el-footer> |
||||
|
</el-dialog> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { |
||||
|
qcInformationSearch, // 搜索信息 |
||||
|
qcInformationSave, // 新增信息 |
||||
|
qcInformationUpdate, // 修改信息 |
||||
|
qcInformationDelete, // 删除信息 |
||||
|
} from "@/api/qc/qc.js" |
||||
|
export default { |
||||
|
watch: { |
||||
|
searchData: { |
||||
|
deep: true, |
||||
|
handler: function (newV, oldV) { |
||||
|
this.searchData.methodNo = this.searchData.methodNo.toUpperCase() |
||||
|
} |
||||
|
}, |
||||
|
modalData: { |
||||
|
deep: true, |
||||
|
handler: function (newV, oldV) { |
||||
|
this.modalData.methodNo = this.modalData.methodNo.toUpperCase() |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
data () { |
||||
|
return { |
||||
|
searchData: { |
||||
|
informationNo: '', |
||||
|
informationName: '', |
||||
|
informationType: 'E' |
||||
|
}, |
||||
|
height: 200, |
||||
|
dataList: [], |
||||
|
dataListLoading: false, |
||||
|
modalFlag: false, |
||||
|
modalDisableFlag: false, |
||||
|
modalData: { |
||||
|
flag: '', |
||||
|
informationNo: '', |
||||
|
informationName: '', |
||||
|
createdBy: this.$store.state.user.name, |
||||
|
informationType: 'E' |
||||
|
}, |
||||
|
// 标头展示 |
||||
|
columnList: [ |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101008, |
||||
|
serialNumber: '101008TableEamPropertiesItemID', |
||||
|
tableId: '101008Table', |
||||
|
tableName: 'common', |
||||
|
columnProp: 'informationNo', |
||||
|
headerAlign: 'center', |
||||
|
align: 'left', |
||||
|
columnLabel: '主记录信息编码', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 100 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101008, |
||||
|
serialNumber: '101008TableEamPropertiesItemDesc', |
||||
|
tableId: '101008Table', |
||||
|
tableName: 'common', |
||||
|
columnProp: 'informationName', |
||||
|
headerAlign: 'center', |
||||
|
align: 'left', |
||||
|
columnLabel: '主记录信息名称', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 140 |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
}, |
||||
|
mounted () { |
||||
|
this.$nextTick(() => { |
||||
|
this.height = window.innerHeight - 180 |
||||
|
}) |
||||
|
}, |
||||
|
created () { |
||||
|
this.getDataList() |
||||
|
}, |
||||
|
methods: { |
||||
|
// 查询获取数据列表 |
||||
|
getDataList () { |
||||
|
qcInformationSearch(this.searchData).then(({data}) => { |
||||
|
this.dataList = data.rows |
||||
|
}) |
||||
|
}, |
||||
|
// 新增按钮 |
||||
|
addModal () { |
||||
|
this.modalData = { |
||||
|
flag: '1', |
||||
|
informationNo: '', |
||||
|
informationName: '', |
||||
|
createdBy: this.$store.state.user.name, |
||||
|
informationType: 'E' |
||||
|
} |
||||
|
this.modalDisableFlag = false |
||||
|
this.modalFlag = true |
||||
|
}, |
||||
|
// 修改按钮 |
||||
|
updateModal (row) { |
||||
|
this.modalData = { |
||||
|
flag: '2', |
||||
|
informationNo: row.informationNo, |
||||
|
informationName: row.informationName, |
||||
|
createdBy: this.$store.state.user.name, |
||||
|
informationType: 'E' |
||||
|
} |
||||
|
this.modalDisableFlag = true |
||||
|
this.modalFlag = true |
||||
|
}, |
||||
|
// 删除方法 |
||||
|
deleteModal (row) { |
||||
|
this.$confirm(`是否删除这个点检方法?`, '提示', { |
||||
|
confirmButtonText: '确定', |
||||
|
cancelButtonText: '取消', |
||||
|
type: 'warning' |
||||
|
}).then(() => { |
||||
|
qcInformationDelete(row).then(({data}) => { |
||||
|
if (data && data.code === '0') { |
||||
|
this.getDataList() |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}).catch(() => { |
||||
|
}) |
||||
|
}, |
||||
|
// 新增/修改方法 |
||||
|
saveData () { |
||||
|
if (this.modalData.informationNo == '' || this.modalData.informationNo == null) { |
||||
|
this.$alert('请输入检验方法编码!', '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if (this.modalData.informationName == '' || this.modalData.informationName == null) { |
||||
|
this.$alert('请输入检验方法名称!', '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if (this.modalData.flag == '1') { // 新增 |
||||
|
qcInformationSave(this.modalData).then(({data}) => { |
||||
|
if (data && data.code === '0') { |
||||
|
this.getDataList() |
||||
|
this.modalFlag = false |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} else { // 修改 |
||||
|
qcInformationUpdate(this.modalData).then(({data}) => { |
||||
|
if (data && data.code === '0') { |
||||
|
this.getDataList() |
||||
|
this.modalFlag = false |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
@ -0,0 +1,371 @@ |
|||||
|
<template> |
||||
|
<div class="mod-config"> |
||||
|
<!-- 条件查询 --> |
||||
|
<el-form :inline="true" label-position="top" :model="searchData" @keyup.enter.native="getDataList()"> |
||||
|
<el-form-item :label="'质检员工号'"> |
||||
|
<el-input v-model="searchData.inspectorNo" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'质检员姓名'"> |
||||
|
<el-input v-model="searchData.inspectorName" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'所处检验工序'"> |
||||
|
<el-input v-model="searchData.inspectorType" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'是否在岗'"> |
||||
|
<el-select filterable v-model="searchData.inspectorActive" style="width: 120px"> |
||||
|
<el-option label="请选择" value=""></el-option> |
||||
|
<el-option label="是" value="Y"></el-option> |
||||
|
<el-option label="否" value="N"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="' '"> |
||||
|
<el-button type="primary" @click="getDataList()">查询</el-button> |
||||
|
<el-button type="primary" @click="addModal()">新增</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
|
||||
|
<!-- 展示列表 --> |
||||
|
<el-table |
||||
|
:height="height" |
||||
|
:data="dataList" |
||||
|
border |
||||
|
v-loading="dataListLoading" |
||||
|
style="width: 100%;"> |
||||
|
<el-table-column |
||||
|
v-for="(item,index) in columnList" :key="index" |
||||
|
:sortable="item.columnSortable" |
||||
|
:prop="item.columnProp" |
||||
|
:header-align="item.headerAlign" |
||||
|
:show-overflow-tooltip="item.showOverflowTooltip" |
||||
|
:align="item.align" |
||||
|
:fixed="item.fixed==''?false:item.fixed" |
||||
|
:min-width="item.columnWidth" |
||||
|
:label="item.columnLabel"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span> |
||||
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
fixed="right" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
width="160" |
||||
|
label="操作"> |
||||
|
<template slot-scope="scope"> |
||||
|
<a type="text" size="small" @click="updateModal(scope.row)">修改</a> |
||||
|
<a type="text" size="small" @click="deleteModal(scope.row)">删除</a> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
|
||||
|
<!-- 新增和修改 --> |
||||
|
<el-dialog title="质检员信息" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" width="430px"> |
||||
|
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
||||
|
<el-form-item label="质检员工号:"> |
||||
|
<el-input v-model="modalData.inspectorNo" :disabled="modalDisableFlag" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="质检员姓名:"> |
||||
|
<el-input v-model="modalData.inspectorName" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="质检员电话:"> |
||||
|
<el-input v-model="modalData.inspectorPhone" type="number" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'所处检验工序'"> |
||||
|
<el-input v-model="modalData.inspectorType" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'是否在岗'"> |
||||
|
<el-select filterable v-model="modalData.inspectorActive" style="width: 120px"> |
||||
|
<el-option label="是" value="Y"></el-option> |
||||
|
<el-option label="否" value="N"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<el-footer style="height:40px;margin-top: 20px;text-align:center"> |
||||
|
<el-button type="primary" @click="saveData()">保存</el-button> |
||||
|
<el-button type="primary" @click="modalFlag = false">关闭</el-button> |
||||
|
</el-footer> |
||||
|
</el-dialog> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { |
||||
|
inspectorSearch, // 搜索质检员信息 |
||||
|
inspectorSave, // 新增质检员信息 |
||||
|
inspectorUpdate, // 修改质检员信息 |
||||
|
inspectorDelete, // 删除质检员信息 |
||||
|
} from "@/api/qc/qc.js" |
||||
|
export default { |
||||
|
watch: { |
||||
|
searchData: { |
||||
|
deep: true, |
||||
|
handler: function (newV, oldV) { |
||||
|
this.searchData.inspectorNo = this.searchData.inspectorNo.toUpperCase() |
||||
|
} |
||||
|
}, |
||||
|
modalData: { |
||||
|
deep: true, |
||||
|
handler: function (newV, oldV) { |
||||
|
this.modalData.inspectorNo = this.modalData.inspectorNo.toUpperCase() |
||||
|
this.modalData.inspectorType = this.modalData.inspectorType.toUpperCase() |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
data () { |
||||
|
return { |
||||
|
searchData: { |
||||
|
inspectorNo: '', |
||||
|
inspectorName: '', |
||||
|
inspectorPhone: '', |
||||
|
inspectorType: '', |
||||
|
inspectorActive: '' |
||||
|
}, |
||||
|
height: 200, |
||||
|
dataList: [], |
||||
|
dataListLoading: false, |
||||
|
modalFlag: false, |
||||
|
modalDisableFlag: false, |
||||
|
modalData: { |
||||
|
flag: '', |
||||
|
inspectorNo: '', |
||||
|
inspectorName: '', |
||||
|
inspectorPhone: '', |
||||
|
inspectorType: '', |
||||
|
inspectorActive: '' |
||||
|
}, |
||||
|
// 标头展示 |
||||
|
columnList: [ |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101008, |
||||
|
serialNumber: '101008TableEamPropertiesItemID', |
||||
|
tableId: '101008Table', |
||||
|
tableName: 'common', |
||||
|
columnProp: 'inspectorNo', |
||||
|
headerAlign: 'center', |
||||
|
align: 'left', |
||||
|
columnLabel: '质检员工号', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 100 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101008, |
||||
|
serialNumber: '101008TableEamPropertiesItemDesc', |
||||
|
tableId: '101008Table', |
||||
|
tableName: 'common', |
||||
|
columnProp: 'inspectorName', |
||||
|
headerAlign: 'center', |
||||
|
align: 'left', |
||||
|
columnLabel: '质检员姓名', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 140 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101008, |
||||
|
serialNumber: '101008TableEamPropertiesItemDesc', |
||||
|
tableId: '101008Table', |
||||
|
tableName: 'common', |
||||
|
columnProp: 'inspectorPhone', |
||||
|
headerAlign: 'center', |
||||
|
align: 'left', |
||||
|
columnLabel: '质检员电话', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 140 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101008, |
||||
|
serialNumber: '101008TableEamPropertiesItemDesc', |
||||
|
tableId: '101008Table', |
||||
|
tableName: 'common', |
||||
|
columnProp: 'inspectorType', |
||||
|
headerAlign: 'center', |
||||
|
align: 'left', |
||||
|
columnLabel: '所处检验工序', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 140 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101008, |
||||
|
serialNumber: '101008TableEamPropertiesItemDesc', |
||||
|
tableId: '101008Table', |
||||
|
tableName: 'common', |
||||
|
columnProp: 'inspectorActive', |
||||
|
headerAlign: 'center', |
||||
|
align: 'left', |
||||
|
columnLabel: '是否在岗', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 140 |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
}, |
||||
|
mounted () { |
||||
|
this.$nextTick(() => { |
||||
|
this.height = window.innerHeight - 180 |
||||
|
}) |
||||
|
}, |
||||
|
created () { |
||||
|
this.getDataList() |
||||
|
}, |
||||
|
methods: { |
||||
|
// 查询获取数据列表 |
||||
|
getDataList () { |
||||
|
inspectorSearch(this.searchData).then(({data}) => { |
||||
|
this.dataList = data.rows |
||||
|
}) |
||||
|
}, |
||||
|
// 新增按钮 |
||||
|
addModal () { |
||||
|
this.modalData = { |
||||
|
flag: '1', |
||||
|
inspectorNo: '', |
||||
|
inspectorName: '', |
||||
|
inspectorPhone: '', |
||||
|
inspectorType: '', |
||||
|
inspectorActive: '' |
||||
|
} |
||||
|
this.modalDisableFlag = false |
||||
|
this.modalFlag = true |
||||
|
}, |
||||
|
// 修改按钮 |
||||
|
updateModal (row) { |
||||
|
this.modalData = { |
||||
|
flag: '2', |
||||
|
inspectorNo: row.inspectorNo, |
||||
|
inspectorName: row.inspectorName, |
||||
|
inspectorPhone: row.inspectorPhone, |
||||
|
inspectorType: row.inspectorType, |
||||
|
inspectorActive: row.inspectorActive |
||||
|
} |
||||
|
this.modalDisableFlag = true |
||||
|
this.modalFlag = true |
||||
|
}, |
||||
|
// 删除方法 |
||||
|
deleteModal (row) { |
||||
|
this.$confirm(`是否删除这个质检员信息?`, '提示', { |
||||
|
confirmButtonText: '确定', |
||||
|
cancelButtonText: '取消', |
||||
|
type: 'warning' |
||||
|
}).then(() => { |
||||
|
inspectorDelete(row).then(({data}) => { |
||||
|
if (data && data.code === '0') { |
||||
|
this.getDataList() |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}).catch(() => { |
||||
|
}) |
||||
|
}, |
||||
|
// 新增/修改方法 |
||||
|
saveData () { |
||||
|
if (this.modalData.inspectorNo == '' || this.modalData.inspectorNo == null) { |
||||
|
this.$alert('请输入质检员工号!', '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if (this.modalData.inspectorName == '' || this.modalData.inspectorName == null) { |
||||
|
this.$alert('请输入质检员姓名!', '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if (this.modalData.inspectorPhone == '' || this.modalData.inspectorPhone == null) { |
||||
|
this.$alert('请输入质检员电话!', '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if (this.modalData.inspectorType == '' || this.modalData.inspectorType == null) { |
||||
|
this.$alert('请输入质检员职责!', '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if (this.modalData.inspectorActive == '' || this.modalData.inspectorActive == null) { |
||||
|
this.$alert('请选择质检员是否在岗!', '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if (this.modalData.flag == '1') { // 新增 |
||||
|
inspectorSave(this.modalData).then(({data}) => { |
||||
|
if (data && data.code === '0') { |
||||
|
this.getDataList() |
||||
|
this.modalFlag = false |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} else { // 修改 |
||||
|
inspectorUpdate(this.modalData).then(({data}) => { |
||||
|
if (data && data.code === '0') { |
||||
|
this.getDataList() |
||||
|
this.modalFlag = false |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
@ -0,0 +1,884 @@ |
|||||
|
<template> |
||||
|
<div class="mod-config"> |
||||
|
|
||||
|
<!-- 条件查询 --> |
||||
|
<el-form :inline="true" label-position="top" :model="searchData" @keyup.enter.native="getDataList()"> |
||||
|
<el-form-item :label="'检验项目编码'"> |
||||
|
<el-input v-model="searchData.itemNo" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'检验项目名称'"> |
||||
|
<el-input v-model="searchData.itemDesc" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="' '"> |
||||
|
<el-button type="primary" @click="getDataList()">查询</el-button> |
||||
|
<el-button type="primary" @click="addModal()">新增</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
|
||||
|
<!-- 展示列表 --> |
||||
|
<el-table |
||||
|
:height="height" |
||||
|
:data="dataList" |
||||
|
border |
||||
|
v-loading="dataListLoading" |
||||
|
style="width: 100%;"> |
||||
|
<el-table-column |
||||
|
v-for="(item,index) in columnList" :key="index" |
||||
|
:sortable="item.columnSortable" |
||||
|
:prop="item.columnProp" |
||||
|
:header-align="item.headerAlign" |
||||
|
:show-overflow-tooltip="item.showOverflowTooltip" |
||||
|
:align="item.align" |
||||
|
:fixed="item.fixed==''?false:item.fixed" |
||||
|
:min-width="item.columnWidth" |
||||
|
:label="item.columnLabel"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span> |
||||
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
fixed="right" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
width="160" |
||||
|
label="操作"> |
||||
|
<template slot-scope="scope"> |
||||
|
<a type="text" size="small" @click="updateModal(scope.row)">修改</a> |
||||
|
<!-- <a type="text" size="small" @click="detailModal(scope.row)">检验方法</a>--> |
||||
|
<a type="text" size="small" @click="deleteEamPropertiesItem(scope.row)">删除</a> |
||||
|
<a type="text" size="small" v-if="scope.row.valueChooseFlag=='Y'" @click="chooseModal(scope.row)">可选值</a> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
|
||||
|
<!-- 新增和修改 --> |
||||
|
<el-dialog title="检验项目" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" width="430px"> |
||||
|
|
||||
|
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
||||
|
<el-form-item label="检验项目编码:"> |
||||
|
<el-input v-model="modalData.itemNo" :disabled="modalDisableFlag" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="检验项目名称:"> |
||||
|
<el-input v-model="modalData.itemDesc" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'检验值类型'"> |
||||
|
<el-select filterable v-model="modalData.valueTypeDb" style="width: 120px"> |
||||
|
<el-option label="文本" value="T"></el-option> |
||||
|
<el-option label="数字" value="N"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
|
||||
|
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
||||
|
<el-form-item > |
||||
|
<span slot="label" style="" @click="getBaseList(1036)"><a herf="#">检验方法编码</a></span> |
||||
|
<el-input v-model="modalData.methodNo" @blur="itemNoBlur" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="检验方法名称:"> |
||||
|
<el-input v-model="modalData.methodName" disabled style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'是否值可选'"> |
||||
|
<el-select filterable v-model="modalData.valueChooseFlag" style="width: 120px"> |
||||
|
<el-option label="是" value="Y"></el-option> |
||||
|
<el-option label="否" value="N"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
|
||||
|
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
||||
|
<el-form-item label="参照值:"> |
||||
|
<el-input v-model="modalData.defaultValue" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="最大值:"> |
||||
|
<el-input v-model="modalData.maxValue" type="number" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="最小值:"> |
||||
|
<el-input v-model="modalData.minValue" type="number" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
|
||||
|
<el-footer style="height:40px;margin-top: 20px;text-align:center"> |
||||
|
<el-button type="primary" @click="saveData()">保存</el-button> |
||||
|
<el-button type="primary" @click="modalFlag = false">关闭</el-button> |
||||
|
</el-footer> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<!-- 操作->可选值 --> |
||||
|
<el-dialog title="可选值" :close-on-click-modal="false" v-drag :visible.sync="chooseModalFlag" width="430px"> |
||||
|
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
||||
|
<el-form-item label="检验项目名称:"> |
||||
|
<el-input v-model="chooseModalData.itemDesc" disabled style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'检验值类型'"> |
||||
|
<el-select filterable v-model="chooseModalData.valueTypeDb" disabled style="width: 120px"> |
||||
|
<el-option label="文本" value="T"></el-option> |
||||
|
<el-option label="数字" value="N"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="' '"> |
||||
|
<el-button type="primary" @click="addChooseModal()">新增</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<el-table |
||||
|
:height="300" |
||||
|
:data="chooseTableData" |
||||
|
border |
||||
|
style="width: 100%"> |
||||
|
<el-table-column |
||||
|
prop="availableValue" |
||||
|
header-align="center" |
||||
|
align="left" |
||||
|
min-width="200" |
||||
|
label="属性值"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
min-width="100" |
||||
|
label="操作"> |
||||
|
<template slot-scope="scope"> |
||||
|
<a type="text" size="small" @click="updateChooseModal(scope.row)">修改</a> |
||||
|
<a type="text" size="small" @click="deleteItemAvailable(scope.row)">删除</a> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<!-- 检验方法 --> |
||||
|
<el-dialog title="检验方法清单" :close-on-click-modal="false" v-drag :visible.sync="detailModelFlag" width="830px"> |
||||
|
<el-form :inline="true" label-position="top" @keyup.enter.native="getDataList()"> |
||||
|
<el-form-item :label="'检验项目编码'"> |
||||
|
<el-input v-model="detailData.itemNo" readonly style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'检验项目名称'"> |
||||
|
<el-input v-model="detailData.itemDesc" readonly style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="' '"> |
||||
|
<el-button type="primary" @click="addItemMethods()">新增</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<!-- 检验方法展示列表 --> |
||||
|
<el-table |
||||
|
:height="300" |
||||
|
:data="detailList" |
||||
|
border |
||||
|
v-loading="dataListLoading" |
||||
|
style="width: 100%;"> |
||||
|
<el-table-column |
||||
|
v-for="(item,index) in columnDetailList" :key="index" |
||||
|
:sortable="item.columnSortable" |
||||
|
:prop="item.columnProp" |
||||
|
:header-align="item.headerAlign" |
||||
|
:show-overflow-tooltip="item.showOverflowTooltip" |
||||
|
:align="item.align" |
||||
|
:fixed="item.fixed==''?false:item.fixed" |
||||
|
:min-width="item.columnWidth" |
||||
|
:label="item.columnLabel"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span> |
||||
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
fixed="right" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
width="130" |
||||
|
label="操作"> |
||||
|
<template slot-scope="scope"> |
||||
|
<a type="text" size="small" @click="deleteItemDetails(scope.row)">删除方法</a> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
<el-footer style="height:40px;margin-top: 20px;text-align:center"> |
||||
|
<el-button type="primary" @click="detailModelFlag = false">关闭</el-button> |
||||
|
</el-footer> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<!-- 检验方法->新增 --> |
||||
|
<el-dialog title="添加方法" :close-on-click-modal="false" v-drag :visible.sync="addItemMethodFlag" width="300px"> |
||||
|
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
||||
|
<el-form-item > |
||||
|
<span slot="label" style="" @click="getBaseList(1036)"><a herf="#">检验方法编码</a></span> |
||||
|
<el-input v-model="detailData.methodNo" @blur="itemNoBlur" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="检验方法名称:"> |
||||
|
<el-input v-model="detailData.methodName" disabled style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<el-footer style="height:40px;margin-top: 10px;text-align:center"> |
||||
|
<el-button type="primary" @click="saveItemDetails()">保存</el-button> |
||||
|
<el-button type="primary" @click="addItemMethodFlag = false">关闭</el-button> |
||||
|
</el-footer> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<!-- 可选值->新增/修改可选值 --> |
||||
|
<el-dialog title="可选值维护" :close-on-click-modal="false" v-drag :visible.sync="itemModalFlag" width="215px" > |
||||
|
<el-form :inline="true" label-position="top" style="margin-left: 22px;margin-top: -5px;" @submit.native.prevent> |
||||
|
<el-form-item :label="'可选值:'"> |
||||
|
<el-input v-model="itemData.availableValue" :type="itemFlag" style="width: 130px;"></el-input> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<el-footer style="height:40px;margin-top: 20px;text-align:center"> |
||||
|
<el-button type="primary" @click="saveItemAvailable()">保存</el-button> |
||||
|
<el-button type="primary" @click="itemModalFlag = false">关闭</el-button> |
||||
|
</el-footer> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { |
||||
|
qcCheckOutItemSearch, // 查询项目 |
||||
|
qcCheckOutItemSave, // 新增项目 |
||||
|
qcCheckOutItemUpdate, // 修改项目 |
||||
|
qcCheckOutItemDelete, // 删除项目 |
||||
|
searchItemAvailable, // 搜索项目的可选值 |
||||
|
saveItemAvailable, // 新增项目的可选值 |
||||
|
deleteItemAvailable, // 删除项目的可选值 |
||||
|
searchItemDetails, // 检查项目里的方法详情 |
||||
|
deleteItemDetails, // 删除项目里的方法详情 |
||||
|
qcCheckOutMethodSearch, // 查询方法 |
||||
|
saveItemDetails // 新增项目中的方法明细 |
||||
|
} from "@/api/qc/qc.js" |
||||
|
import Chooselist from '@/views/modules/common/Chooselist_eam' |
||||
|
export default { |
||||
|
components: { |
||||
|
Chooselist |
||||
|
}, |
||||
|
watch: { |
||||
|
searchData: { |
||||
|
deep: true, |
||||
|
handler: function (newV, oldV) { |
||||
|
this.searchData.itemNo = this.searchData.itemNo.toUpperCase() |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
itemData: { |
||||
|
deep: true, |
||||
|
handler: function (newV, oldV) { |
||||
|
this.itemData.itemNo = this.itemData.itemNo.toUpperCase() |
||||
|
} |
||||
|
}, |
||||
|
modalData: { |
||||
|
deep: true, |
||||
|
handler: function (newV, oldV) { |
||||
|
this.modalData.itemNo = this.modalData.itemNo.toUpperCase() |
||||
|
} |
||||
|
}, |
||||
|
chooseModalData: { |
||||
|
deep: true, |
||||
|
handler: function (newV, oldV) { |
||||
|
this.chooseModalData.itemNo = this.chooseModalData.itemNo.toUpperCase() |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
data () { |
||||
|
return { |
||||
|
searchData: { |
||||
|
itemNo: '', |
||||
|
itemDesc: '', |
||||
|
itemType: 'D' |
||||
|
}, |
||||
|
height: 200, |
||||
|
dataList: [], |
||||
|
chooseTableData: [], |
||||
|
dataListLoading: false, |
||||
|
dataListSelections: [], |
||||
|
modalFlag: false, |
||||
|
modalDisableFlag: false, |
||||
|
chooseModalFlag: false, |
||||
|
itemModalFlag: false, |
||||
|
detailModelFlag:false, |
||||
|
addItemMethodFlag:false, |
||||
|
itemFlag: 'text', |
||||
|
itemData: { |
||||
|
itemNo: '', |
||||
|
valueNo: '', |
||||
|
availableValue: '', |
||||
|
itemType: 'D', |
||||
|
createdBy: this.$store.state.user.name |
||||
|
}, |
||||
|
modalData: { |
||||
|
flag: '', |
||||
|
itemNo: '', |
||||
|
itemDesc: '', |
||||
|
valueTypeDb: '', |
||||
|
defaultValue: '', |
||||
|
valueChooseFlag: '', |
||||
|
createdBy: this.$store.state.user.name, |
||||
|
maxValue: '', |
||||
|
minValue: '', |
||||
|
itemRemark: '', |
||||
|
itemType: 'D', |
||||
|
methodNo:'', |
||||
|
methodName:'' |
||||
|
}, |
||||
|
detailData:{ |
||||
|
itemNo:'', |
||||
|
itemDesc:'', |
||||
|
itemType:'D', |
||||
|
methodNo:'', |
||||
|
methodName:'', |
||||
|
methodType:'D', |
||||
|
createdBy:this.$store.state.user.name |
||||
|
}, |
||||
|
departmentList: [], |
||||
|
// 检验项目展示标头 |
||||
|
columnList: [ |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101008, |
||||
|
serialNumber: '101008TableEamPropertiesItemID', |
||||
|
tableId: '101008Table', |
||||
|
tableName: 'common', |
||||
|
columnProp: 'itemNo', |
||||
|
headerAlign: 'center', |
||||
|
align: 'left', |
||||
|
columnLabel: '检验项目编码', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 100 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101008, |
||||
|
serialNumber: '101008TableEamPropertiesItemDesc', |
||||
|
tableId: '101008Table', |
||||
|
tableName: 'common', |
||||
|
columnProp: 'itemDesc', |
||||
|
headerAlign: 'center', |
||||
|
align: 'left', |
||||
|
columnLabel: '检验项目名称', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 140 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101008, |
||||
|
serialNumber: '101008TableEamPropertiesItemRemark', |
||||
|
tableId: '101008Table', |
||||
|
tableName: 'common', |
||||
|
columnProp: 'itemRemark', |
||||
|
headerAlign: 'center', |
||||
|
align: 'left', |
||||
|
columnLabel: '检验方法说明', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 140 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101008, |
||||
|
serialNumber: '101008TableValueType', |
||||
|
tableId: '101008Table', |
||||
|
tableName: 'common', |
||||
|
columnProp: 'valueType', |
||||
|
headerAlign: 'center', |
||||
|
align: 'left', |
||||
|
columnLabel: '检验值类型', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 100 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101008, |
||||
|
serialNumber: '101008TableDefaultValue', |
||||
|
tableId: '101008Table', |
||||
|
tableName: 'common', |
||||
|
columnProp: 'defaultValue', |
||||
|
headerAlign: 'center', |
||||
|
align: 'left', |
||||
|
columnLabel: '参照值', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 100 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101008, |
||||
|
serialNumber: '101008TableMaxValue', |
||||
|
tableId: '101008Table', |
||||
|
tableName: 'common', |
||||
|
columnProp: 'maxValue', |
||||
|
headerAlign: 'center', |
||||
|
align: 'left', |
||||
|
columnLabel: '最大值', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 100 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101008, |
||||
|
serialNumber: '101008TableMinValue', |
||||
|
tableId: '101008Table', |
||||
|
tableName: 'common', |
||||
|
columnProp: 'minValue', |
||||
|
headerAlign: 'center', |
||||
|
align: 'left', |
||||
|
columnLabel: '最小值', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 100 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101008, |
||||
|
serialNumber: '101008TableValueChooseFlag', |
||||
|
tableId: '101008Table', |
||||
|
tableName: 'common', |
||||
|
columnProp: 'valueChooseFlag', |
||||
|
headerAlign: 'center', |
||||
|
align: 'left', |
||||
|
columnLabel: '是否值可选', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 100 |
||||
|
} |
||||
|
], |
||||
|
// 检验方法展示标头 |
||||
|
columnDetailList: [ |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 301002, |
||||
|
serialNumber: '301002Table2EamPropertiesItemID', |
||||
|
tableId: "301002Table2", |
||||
|
tableName: "检验方法表", |
||||
|
columnProp: 'methodNo', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '检验方法编码', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 90, |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 301002, |
||||
|
serialNumber: '301002Table2EamPropertiesItemDesc', |
||||
|
tableId: "301002Table2", |
||||
|
tableName: "检验方法表", |
||||
|
columnProp: 'methodName', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '检验方法名称', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 90, |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 301002, |
||||
|
serialNumber: '301002Table2EamPropertiesItemRemark', |
||||
|
tableId: "301002Table2", |
||||
|
tableName: "检验方法表", |
||||
|
columnProp: 'methodRemark', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '检验方法说明', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 120, |
||||
|
} |
||||
|
], |
||||
|
detailList: [], |
||||
|
levelList: [], |
||||
|
chooseModalData: { |
||||
|
itemNo: '', |
||||
|
itemDesc: '', |
||||
|
itemType: 'D', |
||||
|
valueTypeDb: '' |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
mounted () { |
||||
|
this.$nextTick(() => { |
||||
|
this.height = window.innerHeight - 180 |
||||
|
}) |
||||
|
}, |
||||
|
created () { |
||||
|
this.getDataList() |
||||
|
}, |
||||
|
methods: { |
||||
|
// 获取数据列表 |
||||
|
getDataList () { |
||||
|
qcCheckOutItemSearch(this.searchData).then(({data}) => { |
||||
|
this.dataList = data.rows |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
// 获取方法数据列表 |
||||
|
getBaseList (val,type) { |
||||
|
this.tagNo = val |
||||
|
this.$nextTick(() => { |
||||
|
let strVal = '' |
||||
|
if (val === 1036) { |
||||
|
strVal = this.detailData.methodNo |
||||
|
} |
||||
|
this.$refs.baseList.init(val, strVal) |
||||
|
}) |
||||
|
}, |
||||
|
/* 列表方法的回调 */ |
||||
|
getBaseData (val) { |
||||
|
if (this.tagNo === 1036) { |
||||
|
this.detailData.methodNo = val.method_no |
||||
|
this.detailData.methodName = val.method_name |
||||
|
this.modalData.methodNo = val.method_no |
||||
|
this.modalData.methodName = val.method_name |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
// 点击查询并显示方法列表 |
||||
|
itemNoBlur(){ |
||||
|
let inData = { |
||||
|
methodType:'D', |
||||
|
methodNo:this.detailData.methodNo |
||||
|
} |
||||
|
qcCheckOutMethodSearch(inData).then(({data}) => { |
||||
|
if(data.rows.length > 0){ |
||||
|
this.detailData.methodName = data.rows[0].methodName |
||||
|
}else { |
||||
|
this.detailData.methodName = '' |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
// 保存项目中的方法明细 |
||||
|
saveItemDetails(){ |
||||
|
if(this.detailData.methodNo == "" || this.detailData.methodNo == null){ |
||||
|
this.$alert('请选择检验项目编码!', '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
saveItemDetails(this.detailData).then(({data}) => { |
||||
|
if (data && data.code == 0) { |
||||
|
searchItemDetails(this.detailData).then(({data}) => { |
||||
|
this.detailList = data.rows |
||||
|
}) |
||||
|
this.addItemMethodFlag = false; |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
// 新增项目中的方法 |
||||
|
addItemMethods(){ |
||||
|
this.detailData.methodNo=''; |
||||
|
this.detailData.methodName=''; |
||||
|
this.addItemMethodFlag = true; |
||||
|
}, |
||||
|
|
||||
|
//打开方法清单 |
||||
|
detailModal(row){ |
||||
|
this.detailData.itemNo = row.itemNo |
||||
|
this.detailData.itemDesc = row.itemDesc |
||||
|
searchItemDetails(this.detailData).then(({data}) => { |
||||
|
this.detailList = data.rows |
||||
|
}) |
||||
|
this.detailModelFlag=true; |
||||
|
}, |
||||
|
|
||||
|
// 删除项目中的方法 |
||||
|
deleteItemDetails(row){ |
||||
|
this.$confirm(`是否删除这个检验方法?`, '提示', { |
||||
|
confirmButtonText: '确定', |
||||
|
cancelButtonText: '取消', |
||||
|
type: 'warning' |
||||
|
}).then(() => { |
||||
|
deleteItemDetails(row).then(({data}) => { |
||||
|
if (data && data.code === 0) { |
||||
|
searchItemDetails(this.detailData).then(({data}) => { |
||||
|
this.detailList = data.rows |
||||
|
}) |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}).catch(() => { |
||||
|
}) |
||||
|
}, |
||||
|
addModal () { |
||||
|
this.modalData = { |
||||
|
flag: '1', |
||||
|
itemNo: '', |
||||
|
itemDesc: '', |
||||
|
valueTypeDb: 'T', |
||||
|
defaultValue: '', |
||||
|
valueChooseFlag: 'N', |
||||
|
createdBy: this.$store.state.user.name, |
||||
|
maxValue: '', |
||||
|
minValue: '', |
||||
|
itemRemark: '', |
||||
|
itemType: 'D' |
||||
|
} |
||||
|
this.modalDisableFlag = false |
||||
|
this.modalFlag = true |
||||
|
}, |
||||
|
chooseModal (row) { |
||||
|
this.chooseModalData.itemNo = row.itemNo |
||||
|
this.chooseModalData.itemDesc = row.itemDesc |
||||
|
this.chooseModalData.valueTypeDb = row.valueTypeDb |
||||
|
searchItemAvailable(this.chooseModalData).then(({data}) => { |
||||
|
this.chooseTableData = data.rows |
||||
|
}) |
||||
|
this.chooseModalFlag = true |
||||
|
}, |
||||
|
updateModal (row) { |
||||
|
console.log(row) |
||||
|
this.modalData = { |
||||
|
flag: '2', |
||||
|
itemNo: row.itemNo, |
||||
|
itemDesc: row.itemDesc, |
||||
|
valueTypeDb: row.valueTypeDb, |
||||
|
defaultValue: row.defaultValue, |
||||
|
valueChooseFlag: row.valueChooseFlag, |
||||
|
createdBy: this.$store.state.user.name, |
||||
|
maxValue: row.maxValue, |
||||
|
minValue: row.minValue, |
||||
|
itemRemark: row.itemRemark, |
||||
|
itemType: 'D', |
||||
|
methodNo: row.methodNo, |
||||
|
methodName: row.methodName |
||||
|
} |
||||
|
this.modalDisableFlag = true |
||||
|
this.modalFlag = true |
||||
|
}, |
||||
|
// 删除 |
||||
|
deleteEamPropertiesItem (row) { |
||||
|
this.$confirm(`是否删除这个点检项目?`, '提示', { |
||||
|
confirmButtonText: '确定', |
||||
|
cancelButtonText: '取消', |
||||
|
type: 'warning' |
||||
|
}).then(() => { |
||||
|
qcCheckOutItemDelete(row).then(({data}) => { |
||||
|
if (data && data.code === '0') { |
||||
|
this.getDataList() |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}).catch(() => { |
||||
|
}) |
||||
|
}, |
||||
|
saveData () { |
||||
|
if (this.modalData.itemNo == '' || this.modalData.itemNo == null) { |
||||
|
this.$alert('请输入检验项目编码!', '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if (this.modalData.itemDesc == '' || this.modalData.itemDesc == null) { |
||||
|
this.$alert('请输入检验项目名称!', '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if (this.modalData.methodNo == '' || this.modalData.methodNo == null) { |
||||
|
this.$alert('请输入检验方法编码!', '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if (this.modalData.methodName == '' || this.modalData.methodName == null) { |
||||
|
this.$alert('请输入检验方法名称!', '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if (this.modalData.flag == '1') { |
||||
|
qcCheckOutItemSave(this.modalData).then(({data}) => { |
||||
|
if (data && data.code === '0') { |
||||
|
this.getDataList() |
||||
|
this.modalFlag = false |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
qcCheckOutItemUpdate(this.modalData).then(({data}) => { |
||||
|
if (data && data.code === '0') { |
||||
|
this.getDataList() |
||||
|
this.modalFlag = false |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
}, |
||||
|
addChooseModal () { |
||||
|
this.itemFlag = this.chooseModalData.valueTypeDb == 'T' ? 'text' : 'number' |
||||
|
this.itemData = { |
||||
|
itemNo: this.chooseModalData.itemNo, |
||||
|
valueNo: 0, |
||||
|
availableValue: '', |
||||
|
itemType: 'D', |
||||
|
createdBy: this.$store.state.user.name |
||||
|
} |
||||
|
this.itemModalFlag = true |
||||
|
}, |
||||
|
updateChooseModal (row) { |
||||
|
this.itemFlag = this.chooseModalData.valueTypeDb == 'T' ? 'text' : 'number' |
||||
|
this.itemData = { |
||||
|
itemNo: this.chooseModalData.itemNo, |
||||
|
valueNo: row.valueNo, |
||||
|
availableValue: row.availableValue, |
||||
|
itemType: 'D', |
||||
|
createdBy: row.createdBy |
||||
|
} |
||||
|
this.itemModalFlag = true |
||||
|
}, |
||||
|
saveItemAvailable () { |
||||
|
if (this.itemData.availableValue == '' || this.itemData.availableValue == null) { |
||||
|
this.$alert('请输入可选值!', '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
saveItemAvailable(this.itemData).then(({data}) => { |
||||
|
if (data && data.code === 0) { |
||||
|
searchItemAvailable(this.chooseModalData).then(({data}) => { |
||||
|
this.chooseTableData = data.rows |
||||
|
}) |
||||
|
this.itemModalFlag = false |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
deleteItemAvailable (row) { |
||||
|
this.$confirm(`是否删除这个可选值?`, '提示', { |
||||
|
confirmButtonText: '确定', |
||||
|
cancelButtonText: '取消', |
||||
|
type: 'warning' |
||||
|
}).then(() => { |
||||
|
deleteItemAvailable(row).then(({data}) => { |
||||
|
if (data && data.code === 0) { |
||||
|
searchItemAvailable(this.chooseModalData).then(({data}) => { |
||||
|
this.chooseTableData = data.rows |
||||
|
}) |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}).catch(() => { |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
@ -0,0 +1,784 @@ |
|||||
|
<template> |
||||
|
<div class="mod-config"> |
||||
|
<!-- 条件查询 --> |
||||
|
<el-form :inline="true" label-position="top" :model="searchData" @keyup.enter.native="getDataList()"> |
||||
|
<el-form-item :label="'主记录栏模板编码'"> |
||||
|
<el-input v-model="searchData.codeNo" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'主记录栏模板名称'"> |
||||
|
<el-input v-model="searchData.codeDesc" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'在用'"> |
||||
|
<el-select filterable v-model="searchData.active" style="width: 130px"> |
||||
|
<el-option label="全部" value=""></el-option> |
||||
|
<el-option label="是" value="Y"></el-option> |
||||
|
<el-option label="否" value="N"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="' '"> |
||||
|
<el-button @click="getDataList()">查询</el-button> |
||||
|
<el-button type="primary" @click="addModal()">新增</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
|
||||
|
<!-- 展示列表 --> |
||||
|
<el-table |
||||
|
:height="height" |
||||
|
:data="dataList" |
||||
|
border |
||||
|
v-loading="dataListLoading" |
||||
|
style="width: 100%;"> |
||||
|
<el-table-column |
||||
|
v-for="(item,index) in columnList" :key="index" |
||||
|
:sortable="item.columnSortable" |
||||
|
:prop="item.columnProp" |
||||
|
:header-align="item.headerAlign" |
||||
|
:show-overflow-tooltip="item.showOverflowTooltip" |
||||
|
:align="item.align" |
||||
|
:fixed="item.fixed==''?false:item.fixed" |
||||
|
:min-width="item.columnWidth" |
||||
|
:label="item.columnLabel"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span> |
||||
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
fixed="right" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
width="160" |
||||
|
label="操作"> |
||||
|
<template slot-scope="scope"> |
||||
|
<a type="text" size="small" @click="updateModal(scope.row)">修改</a> |
||||
|
<a type="text" size="small" @click="detailModal(scope.row)">检验项目</a> |
||||
|
<a type="text" size="small" @click="deleteMasterInformationModel(scope.row)">删除</a> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
|
||||
|
<!-- 分页栏 --> |
||||
|
<el-pagination |
||||
|
@size-change="sizeChangeHandle" |
||||
|
@current-change="currentChangeHandle" |
||||
|
:current-page="pageIndex" |
||||
|
:page-sizes="[20, 50, 100, 1000]" |
||||
|
:page-size="pageSize" |
||||
|
:total="totalPage" |
||||
|
layout="total, sizes, prev, pager, next, jumper"> |
||||
|
</el-pagination> |
||||
|
|
||||
|
<!-- 检验模板新增/修改 --> |
||||
|
<el-dialog title="检验模板" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" width="430px"> |
||||
|
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
||||
|
<el-form-item label="主记录模板编码:"> |
||||
|
<el-input v-model="modalData.codeNo" :disabled="modalDisableFlag" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="主记录模板名称:"> |
||||
|
<el-input v-model="modalData.codeDesc" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="是否在用:"> |
||||
|
<el-select filterable v-model="modalData.active" style="width: 120px"> |
||||
|
<el-option label="是" value="Y"></el-option> |
||||
|
<el-option label="否" value="N"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<el-footer style="height:40px;margin-top: 10px;text-align:center"> |
||||
|
<el-button type="primary" @click="saveData()">保存</el-button> |
||||
|
<el-button type="primary" @click="modalFlag = false">关闭</el-button> |
||||
|
</el-footer> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<!-- 检验项目 --> |
||||
|
<el-dialog title="检验项目清单" :close-on-click-modal="false" v-drag :visible.sync="detailModelFlag" width="830px"> |
||||
|
<el-form :inline="true" label-position="top" @keyup.enter.native="getDataList()"> |
||||
|
<el-form-item :label="'主记录模板编码'"> |
||||
|
<el-input v-model="detailData.codeNo" readonly style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="'主记录模板名称'"> |
||||
|
<el-input v-model="detailData.codeDesc" readonly style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item :label="' '"> |
||||
|
<el-button type="primary" @click="addDetailModal()">新增</el-button> |
||||
|
<el-button type="primary" @click="addFastModal()">快速新增</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<!-- 检验项目展示列表 --> |
||||
|
<el-table |
||||
|
:height="300" |
||||
|
:data="detailList" |
||||
|
border |
||||
|
v-loading="dataListLoading" |
||||
|
style="width: 100%;"> |
||||
|
<el-table-column |
||||
|
v-for="(item,index) in columnDetailList" :key="index" |
||||
|
:sortable="item.columnSortable" |
||||
|
:prop="item.columnProp" |
||||
|
:header-align="item.headerAlign" |
||||
|
:show-overflow-tooltip="item.showOverflowTooltip" |
||||
|
:align="item.align" |
||||
|
:fixed="item.fixed==''?false:item.fixed" |
||||
|
:min-width="item.columnWidth" |
||||
|
:label="item.columnLabel"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span> |
||||
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
|
||||
|
<el-table-column |
||||
|
fixed="right" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
width="130" |
||||
|
label="操作"> |
||||
|
<template slot-scope="scope"> |
||||
|
<a type="text" size="small" @click="deleteMasterInformation(scope.row)">删除信息</a> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
|
||||
|
</el-table> |
||||
|
<el-footer style="height:40px;margin-top: 20px;text-align:center"> |
||||
|
<el-button type="primary" @click="detailModelFlag = false">关闭</el-button> |
||||
|
</el-footer> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<!-- 主记录信息->新增 --> |
||||
|
<el-dialog title="添加项目" :close-on-click-modal="false" v-drag :visible.sync="addDetailModalFlag" width="300px"> |
||||
|
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
||||
|
<el-form-item > |
||||
|
<span slot="label" style="" @click="getBaseList(1041)"><a herf="#">主记录信息编码</a></span> |
||||
|
<el-input v-model="detailData.informationNo" @blur="itemNoBlur" style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="主记录信息名称:"> |
||||
|
<el-input v-model="detailData.informationName" disabled style="width: 120px"></el-input> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<el-footer style="height:40px;margin-top: 10px;text-align:center"> |
||||
|
<el-button type="primary" @click="saveMasterInformation()">保存</el-button> |
||||
|
<el-button type="primary" @click="addDetailModalFlag = false">关闭</el-button> |
||||
|
</el-footer> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<!-- 检验项目->快速新增 --> |
||||
|
<el-dialog title="快速添加" @close="refreshDetailList" :close-on-click-modal="false" v-drag :visible.sync="fastAddFlag" width="800px"> |
||||
|
<div style="font-size: 12px"> |
||||
|
主记录模板编码:<el-input v-model="detailData.codeNo" readonly style="width: 120px"></el-input> |
||||
|
主记录模板名称:<el-input v-model="detailData.codeDesc" readonly style="width: 120px"></el-input> |
||||
|
</div> |
||||
|
<el-container style="margin-top: -12px;"> |
||||
|
<el-main style="width: 300px"> |
||||
|
<span style="font-size: 12px" >可选信息:</span> |
||||
|
<el-table |
||||
|
height="300px" |
||||
|
:data="itemList1" |
||||
|
border |
||||
|
@row-click="clickItem1" |
||||
|
highlight-current-row |
||||
|
v-loading="dataListLoading" |
||||
|
style="width: 100%"> |
||||
|
<el-table-column |
||||
|
prop="informationNo" |
||||
|
header-align="center" |
||||
|
align="left" |
||||
|
min-width="110" |
||||
|
label="信息编码"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="informationName" |
||||
|
header-align="center" |
||||
|
align="left" |
||||
|
min-width="170" |
||||
|
label="信息名称"> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
</el-main> |
||||
|
<el-main style="width: 100px"> |
||||
|
<div style="margin-top: 100px"> |
||||
|
<el-button type="primary" @click="addItem()">添加>></el-button> |
||||
|
</div> |
||||
|
<div style="margin-top: 20px"> |
||||
|
<el-button type="primary" @click="deleteItem()">删除<<</el-button> |
||||
|
</div> |
||||
|
</el-main> |
||||
|
<el-main style="width: 300px"> |
||||
|
<span style="font-size: 12px" >已有信息:</span> |
||||
|
<el-table |
||||
|
height="300px" |
||||
|
:data="itemList2" |
||||
|
border |
||||
|
@row-click="clickItem2" |
||||
|
highlight-current-row |
||||
|
v-loading="dataListLoading" |
||||
|
style="width: 100%"> |
||||
|
<el-table-column |
||||
|
prop="informationNo" |
||||
|
header-align="center" |
||||
|
align="left" |
||||
|
min-width="110" |
||||
|
label="信息编码"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="informationName" |
||||
|
header-align="center" |
||||
|
align="left" |
||||
|
min-width="170" |
||||
|
label="信息名称"> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
</el-main> |
||||
|
</el-container> |
||||
|
<el-footer style="height:40px;margin-top: 20px;text-align:center"> |
||||
|
<el-button type="primary" @click="fastAddFlag = false">关闭</el-button> |
||||
|
</el-footer> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { |
||||
|
qcCheckOutModelSearch, |
||||
|
qcCheckOutModelSave, |
||||
|
qcCheckOutModelUpdate, |
||||
|
qcMasterInformationModelDelete, // 删除主记录信息模板 |
||||
|
searchMasterInformation, // 查询模板中的主信息 |
||||
|
saveMasterInformation, // 新增模板中的主信息 |
||||
|
deleteMasterInformation, // 删除模板中的主信息 |
||||
|
qcCheckOutItemSearch, // 搜索项目 |
||||
|
getInformationLists // 获取项目列表 |
||||
|
} from "@/api/qc/qc.js" |
||||
|
import Chooselist from '@/views/modules/common/Chooselist_eam' |
||||
|
export default { |
||||
|
components: { |
||||
|
Chooselist |
||||
|
}, |
||||
|
watch: { |
||||
|
searchData: { |
||||
|
deep: true, |
||||
|
handler: function (newV, oldV) { |
||||
|
this.searchData.codeNo = this.searchData.codeNo.toUpperCase() |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
itemData: { |
||||
|
deep: true, |
||||
|
handler: function (newV, oldV) { |
||||
|
this.itemData.itemNo = this.itemData.itemNo.toUpperCase() |
||||
|
} |
||||
|
}, |
||||
|
modalData: { |
||||
|
deep: true, |
||||
|
handler: function (newV, oldV) { |
||||
|
this.modalData.codeNo = this.modalData.codeNo.toUpperCase() |
||||
|
} |
||||
|
}, |
||||
|
detailData: { |
||||
|
deep: true, |
||||
|
handler: function (newV, oldV) { |
||||
|
this.detailData.codeNo = this.detailData.codeNo.toUpperCase() |
||||
|
this.detailData.itemNo = this.detailData.itemNo.toUpperCase() |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
data () { |
||||
|
return { |
||||
|
tagNo:'', |
||||
|
searchData: { |
||||
|
codeNo: '', |
||||
|
codeDesc: '', |
||||
|
active:'Y', |
||||
|
functionType:'E', |
||||
|
page: 1, |
||||
|
limit: 10, |
||||
|
}, |
||||
|
height: 200, |
||||
|
pageIndex: 1, |
||||
|
pageSize: 100, |
||||
|
totalPage: 0, |
||||
|
addDetailModalFlag:false, |
||||
|
modalFlag:false, |
||||
|
modalDisableFlag:false, |
||||
|
modalData:{ |
||||
|
flag:'', |
||||
|
codeNo:'', |
||||
|
codeDesc:'', |
||||
|
active:'', |
||||
|
functionType:'E', |
||||
|
userId:this.$store.state.user.name |
||||
|
}, |
||||
|
detailData:{ |
||||
|
codeNo:'', |
||||
|
codeDesc:'', |
||||
|
functionType:'E', |
||||
|
informationNo:'', |
||||
|
informationName:'', |
||||
|
informationType:'E', |
||||
|
userId:this.$store.state.user.name |
||||
|
}, |
||||
|
columnList: [ |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 301003, |
||||
|
serialNumber: '301003TableCodeNo', |
||||
|
tableId: "301003Table", |
||||
|
tableName: "检验模板表", |
||||
|
columnProp: 'codeNo', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '主记录模板编码', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 120, |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 301003, |
||||
|
serialNumber: '301003TableCodeDesc', |
||||
|
tableId: "301003Table", |
||||
|
tableName: "检验模板表", |
||||
|
columnProp: 'codeDesc', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '主记录模板名称', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 140, |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 301003, |
||||
|
serialNumber: '301003TableActive', |
||||
|
tableId: "301003Table", |
||||
|
tableName: "检验模板表", |
||||
|
columnProp: 'active', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '是否在用', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 40, |
||||
|
}, |
||||
|
], |
||||
|
detailModelFlag:false, |
||||
|
detailList: [], |
||||
|
chooseTableData:[], |
||||
|
dataListLoading: false, |
||||
|
dataListSelections: [], |
||||
|
|
||||
|
// modalDisableFlag:false, |
||||
|
chooseModalFlag:false, |
||||
|
itemFlag:'text', |
||||
|
itemData:{ |
||||
|
itemNo:'', |
||||
|
valueNo:'', |
||||
|
availableValue:'', |
||||
|
itemType:'E', |
||||
|
createdBy: this.$store.state.user.name |
||||
|
}, |
||||
|
dataList:[], |
||||
|
departmentList:[], |
||||
|
// 展示列集 |
||||
|
columnDetailList: [ |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 301003, |
||||
|
serialNumber: '301003Table2EamPropertiesItemID', |
||||
|
tableId: "301003Table2", |
||||
|
tableName: "主信息表", |
||||
|
columnProp: 'informationNo', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '主信息编码', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 90, |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 301003, |
||||
|
serialNumber: '301003Table2EamPropertiesItemDesc', |
||||
|
tableId: "301003Table2", |
||||
|
tableName: "主信息表", |
||||
|
columnProp: 'informationName', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '主信息名称', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 90, |
||||
|
} |
||||
|
], |
||||
|
levelList:[], |
||||
|
chooseModalData:{ |
||||
|
itemNo: '', |
||||
|
itemDesc: '', |
||||
|
itemType:'E', |
||||
|
valueTypeDb:'', |
||||
|
}, |
||||
|
// 快速添加 |
||||
|
fastAddFlag:false, |
||||
|
itemList1:[], |
||||
|
itemList2:[], |
||||
|
itemListRow1:{}, |
||||
|
itemListRow2:{}, |
||||
|
} |
||||
|
}, |
||||
|
mounted () { |
||||
|
this.$nextTick(() => { |
||||
|
this.height = window.innerHeight - 210 |
||||
|
}) |
||||
|
}, |
||||
|
created () { |
||||
|
this.getDataList(); |
||||
|
}, |
||||
|
methods: { |
||||
|
// 获取基础数据列表S |
||||
|
getBaseList (val,type) { |
||||
|
this.tagNo = val |
||||
|
this.$nextTick(() => { |
||||
|
let strVal = '' |
||||
|
if (val === 1041) { |
||||
|
strVal = this.detailData.informationNo |
||||
|
} |
||||
|
this.$refs.baseList.init(val, strVal) |
||||
|
}) |
||||
|
}, |
||||
|
/* 列表方法的回调 */ |
||||
|
getBaseData (val) { |
||||
|
if (this.tagNo === 1041) { |
||||
|
this.detailData.informationNo = val.information_no |
||||
|
this.detailData.informationName = val.information_name |
||||
|
} |
||||
|
}, |
||||
|
// 获取数据列表 |
||||
|
getDataList () { |
||||
|
this.searchData.limit = this.pageSize |
||||
|
this.searchData.page = this.pageIndex |
||||
|
qcCheckOutModelSearch(this.searchData).then(({data}) => { |
||||
|
if (data.code == 0) { |
||||
|
this.dataList = data.page.list |
||||
|
this.pageIndex = data.page.currPage |
||||
|
this.pageSize = data.page.pageSize |
||||
|
this.totalPage = data.page.totalCount |
||||
|
} |
||||
|
this.dataListLoading = false |
||||
|
}) |
||||
|
}, |
||||
|
// 每页数 |
||||
|
sizeChangeHandle (val) { |
||||
|
this.pageSize = val |
||||
|
this.pageIndex = 1 |
||||
|
this.getDataList() |
||||
|
}, |
||||
|
// 当前页 |
||||
|
currentChangeHandle (val) { |
||||
|
this.pageIndex = val |
||||
|
this.getDataList() |
||||
|
}, |
||||
|
addModal(){ |
||||
|
this.modalData={ |
||||
|
flag:'1', |
||||
|
codeNo:'', |
||||
|
codeDesc:'', |
||||
|
active:'Y', |
||||
|
functionType:'E', |
||||
|
userId:this.$store.state.user.name |
||||
|
}; |
||||
|
this.modalDisableFlag = false; |
||||
|
this.modalFlag = true; |
||||
|
}, |
||||
|
updateModal(row){ |
||||
|
this.modalData={ |
||||
|
flag:'2', |
||||
|
codeNo:row.codeNo, |
||||
|
codeDesc:row.codeDesc, |
||||
|
active:row.active, |
||||
|
functionType:'E', |
||||
|
userId:this.$store.state.user.name |
||||
|
}; |
||||
|
this.modalDisableFlag=true; |
||||
|
this.modalFlag=true; |
||||
|
}, |
||||
|
// 删除 |
||||
|
deleteMasterInformationModel (row) { |
||||
|
this.$confirm(`是否删除这个主记录信息模板?`, '提示', { |
||||
|
confirmButtonText: '确定', |
||||
|
cancelButtonText: '取消', |
||||
|
type: 'warning' |
||||
|
}).then(() => { |
||||
|
qcMasterInformationModelDelete(row).then(({data}) => { |
||||
|
if (data && data.code === 0) { |
||||
|
this.getDataList() |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}).catch(() => { |
||||
|
}) |
||||
|
}, |
||||
|
saveData(){ |
||||
|
if (this.modalData.codeNo == '' || this.modalData.codeNo == null) { |
||||
|
this.$alert('请输入检验模板编码!', '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if (this.modalData.codeDesc == '' || this.modalData.codeDesc == null) { |
||||
|
this.$alert('请输入检验模板名称!', '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if (this.modalData.active == '' || this.modalData.active == null) { |
||||
|
this.$alert('选择是否在用!', '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if(this.modalData.flag=='1'){ |
||||
|
qcCheckOutModelSave(this.modalData).then(({data}) => { |
||||
|
if (data && data.code === 0) { |
||||
|
this.getDataList() |
||||
|
this.modalFlag=false |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}else { |
||||
|
qcCheckOutModelUpdate(this.modalData).then(({data}) => { |
||||
|
if (data && data.code === 0) { |
||||
|
this.getDataList() |
||||
|
this.modalFlag=false |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
}, |
||||
|
//打开检验项目清单 |
||||
|
detailModal(row){ |
||||
|
this.detailData.codeNo = row.codeNo |
||||
|
this.detailData.codeDesc = row.codeDesc |
||||
|
searchMasterInformation(this.detailData).then(({data}) => { |
||||
|
this.detailList = data.rows |
||||
|
}) |
||||
|
this.detailModelFlag = true; |
||||
|
}, |
||||
|
|
||||
|
// 普通新增 |
||||
|
addDetailModal(){ |
||||
|
this.detailData.informationNo = ''; |
||||
|
this.detailData.informationName = ''; |
||||
|
this.addDetailModalFlag = true; |
||||
|
}, |
||||
|
|
||||
|
// 快速新增 |
||||
|
addFastModal(){ |
||||
|
this.itemListRow2 = null |
||||
|
this.itemListRow1 = null |
||||
|
getInformationLists(this.detailData).then(({data}) => { |
||||
|
this.itemList1 = data.row1; |
||||
|
this.itemList2 = data.row2; |
||||
|
}) |
||||
|
this.fastAddFlag = true; |
||||
|
}, |
||||
|
|
||||
|
clickItem1(row){ |
||||
|
this.itemListRow1 = JSON.parse(JSON.stringify(row)); |
||||
|
}, |
||||
|
clickItem2(row){ |
||||
|
this.itemListRow2 = JSON.parse(JSON.stringify(row)); |
||||
|
}, |
||||
|
// 添加项目 |
||||
|
addItem(){ |
||||
|
if(this.itemListRow1==null){ |
||||
|
this.$alert("请选择可选项目!", '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false; |
||||
|
} |
||||
|
let inData={ |
||||
|
codeNo: this.detailData.codeNo, |
||||
|
codeDesc: this.detailData.codeDesc, |
||||
|
functionType: this.detailData.functionType, |
||||
|
informationNo: this.itemListRow1.informationNo, |
||||
|
informationName: this.itemListRow1.informationName, |
||||
|
informationType: this.detailData.informationType, |
||||
|
userId: this.$store.state.user.name |
||||
|
} |
||||
|
saveMasterInformation(inData).then(({data}) => { |
||||
|
if (data && data.code == 0) { |
||||
|
getInformationLists(this.detailData).then(({data}) => { |
||||
|
this.itemList1 = data.row1; |
||||
|
this.itemList2 = data.row2; |
||||
|
}) |
||||
|
this.itemListRow1=null |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
// 删除信息 |
||||
|
deleteItem(){ |
||||
|
if(this.itemListRow2 == null){ |
||||
|
this.$alert("请选择已选项目!", '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false; |
||||
|
} |
||||
|
let inData = { |
||||
|
codeNo: this.detailData.codeNo, |
||||
|
codeDesc: this.detailData.codeDesc, |
||||
|
functionType: this.detailData.functionType, |
||||
|
informationNo: this.itemListRow2.informationNo, |
||||
|
informationName: this.itemListRow2.informationName, |
||||
|
informationType: this.detailData.informationType, |
||||
|
userId: this.$store.state.user.name |
||||
|
} |
||||
|
deleteMasterInformation(inData).then(({data}) => { |
||||
|
if (data && data.code === 0) { |
||||
|
getInformationLists(this.detailData).then(({data}) => { |
||||
|
this.itemList1 = data.row1; |
||||
|
this.itemList2 = data.row2; |
||||
|
}) |
||||
|
this.itemListRow2 = null |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
// 关闭后刷新列表 |
||||
|
refreshDetailList(){ |
||||
|
searchMasterInformation(this.detailData).then(({data}) => { |
||||
|
this.detailList = data.rows |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
// 保存模板中的信息明细 |
||||
|
saveMasterInformation(){ |
||||
|
if(this.detailData.informationNo == "" || this.detailData.informationNo == null){ |
||||
|
this.$alert('请选择主记录信息编码!', '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
saveMasterInformation(this.detailData).then(({data}) => { |
||||
|
if (data && data.code == 0) { |
||||
|
searchMasterInformation(this.detailData).then(({data}) => { |
||||
|
this.detailList = data.rows |
||||
|
}) |
||||
|
this.addDetailModalFlag = false; |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
itemNoBlur(){ |
||||
|
let inData={ |
||||
|
itemType:'E', |
||||
|
itemNo:this.detailData.itemNo |
||||
|
} |
||||
|
qcCheckOutItemSearch(inData).then(({data}) => { |
||||
|
if(data.rows.length>0){ |
||||
|
this.detailData.itemDesc = data.rows[0].itemDesc |
||||
|
}else { |
||||
|
this.detailData.itemDesc='' |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
// 删除模板中的信息 |
||||
|
deleteMasterInformation(row){ |
||||
|
console.log(row) |
||||
|
this.$confirm(`是否删除这个检验项目?`, '提示', { |
||||
|
confirmButtonText: '确定', |
||||
|
cancelButtonText: '取消', |
||||
|
type: 'warning' |
||||
|
}).then(() => { |
||||
|
deleteMasterInformation(row).then(({data}) => { |
||||
|
if (data && data.code === 0) { |
||||
|
searchMasterInformation(this.detailData).then(({data}) => { |
||||
|
this.detailList = data.rows |
||||
|
}) |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$alert(data.msg, '错误', { |
||||
|
confirmButtonText: '确定' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}).catch(() => { |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
1136
src/views/modules/qc/qcResultEntry.vue
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
Write
Preview
Loading…
Cancel
Save
Reference in new issue