yfy 3 years ago
parent
commit
60d3a4323a
  1. 11
      src/api/qc/qc.js
  2. 0
      src/views/modules/qc/qcFamilyAttribute.vue
  3. 618
      src/views/modules/qc/qcPartAttribute.vue
  4. 279
      src/views/modules/qc/qcTemplate.vue

11
src/api/qc/qc.js

@ -64,6 +64,7 @@ export const templateSave = data => createAPI(`/pms/qc/templateSave`,'post',data
export const templateUpdate = data => createAPI(`/pms/qc/templateUpdate`,'post',data)
export const templateDelete = data => createAPI(`/pms/qc/templateDelete`,'post',data)
export const InspectionTypeSearch = data => createAPI(`/pms/qc/InspectionTypeSearch`,'post',data)
export const objectSearch = data => createAPI(`/pms/qc/objectSearch`,'post',data)
export const ItemDetailsSearch = data => createAPI(`/pms/qc/ItemDetailsSearch`,'post',data)
export const addItemDetails = data => createAPI(`/pms/qc/addItemDetails`,'post',data)
export const getItemList = data => createAPI(`/pms/qc/getItemList`,'post',data)
@ -95,8 +96,14 @@ export const samplingInspectionPlanSave = data => createAPI(`/pms/qc/samplingIns
export const samplingInspectionPlanUpdate = data => createAPI(`/pms/qc/samplingInspectionPlanUpdate`,'post',data)
export const samplingInspectionPlanDelete = data => createAPI(`/pms/qc/samplingInspectionPlanDelete`,'post',data)
// ===================================== 物料属性设置 =====================================
export const qcPartAttributeSearch = data => createAPI(`/pms/qc/qcPartAttributeSearch`,'post',data)
export const qcPartAttributeSave = data => createAPI(`/pms/qc/qcPartAttributeSave`,'post',data)
export const qcPartAttributeDelete = data => createAPI(`/pms/qc/qcPartAttributeDelete`,'post',data)
export const searchPartAttributeDetails = data => createAPI(`/pms/qc/searchPartAttributeDetails`,'post',data)
export const savePartAttributeDetails = data => createAPI(`/pms/qc/savePartAttributeDetails`,'post',data)
export const deletePartAttributeDetails = data => createAPI(`/pms/qc/deletePartAttributeDetails`,'post',data)
export const saveAttributeDetailed = data => createAPI(`/pms/qc/saveAttributeDetailed`,'post',data)

0
src/views/modules/qc/qcFamilyModel.vue → src/views/modules/qc/qcFamilyAttribute.vue

618
src/views/modules/qc/qcPartAttribute.vue
File diff suppressed because it is too large
View File

279
src/views/modules/qc/qcTemplate.vue

@ -14,7 +14,6 @@
<el-form-item :label="'检验模板名称'">
<el-input v-model="searchData.templateName" style="width: 120px"></el-input>
</el-form-item>
<el-form-item label="检验类型">
<el-select v-model="searchData.inspectionTypeNo" placeholder="请选择">
<el-option
@ -25,7 +24,6 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="' '">
<el-button @click="doEmpty()">清空</el-button>
<el-button type="primary" @click="getDataList()">查询</el-button>
@ -76,7 +74,7 @@
width="160"
label="操作">
<template slot-scope="scope">
<a type="text" size="small" @click="updateModal(scope.row)">修改</a>
<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="deleteModel(scope.row)">删除</a>
</template>
@ -101,18 +99,11 @@
<el-form-item label="检验模板名称:">
<el-input v-model="modalData.templateName" style="width: 120px"></el-input>
</el-form-item>
<el-form-item >
<span slot="label" style="" @click="getBaseList(1049)"><a herf="#">抽样方案</a></span>
<el-input v-model="modalData.samplingPlanNo" style="width: 120px"></el-input>
<el-form-item label="检验周期:">
<el-input v-model="modalData.inspectionCycle" type="number" style="width: 120px"></el-input>
</el-form-item>
<el-form-item label="版本号:">
<el-input v-model="modalData.templateVersion" :disabled="modalDisableFlag" 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-select v-model="modalData.inspectionTypeNo" placeholder="请选择">
<el-select v-model="modalData.inspectionTypeNo" placeholder="请选择" style="width: 120px">
<el-option
v-for = "i in options"
:key = "i.inspectionTypeNo"
@ -124,8 +115,16 @@
</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.templateRemark" style="width: 390px"></el-input>
<el-form-item >
<span slot="label" style="" @click="getBaseList(1049)"><a herf="#">抽样方案</a></span>
<el-input v-model="modalData.samplingPlanNo" style="width: 120px"></el-input>
</el-form-item>
<el-form-item >
<span slot="label" style="" @click="getBaseList(1048)"><a herf="#">检验水平编码</a></span>
<el-input v-model="modalData.samplingLevelNo" style="width: 120px"></el-input>
</el-form-item>
<el-form-item label="检验水平名称:">
<el-input v-model="modalData.samplingLevelDesc" disabled style="width: 120px"></el-input>
</el-form-item>
</el-form>
@ -141,13 +140,22 @@
</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.templateVersion" :disabled="modalDisableFlag" style="width: 120px"></el-input>
</el-form-item>
<el-form-item label="检验模板备注:">
<el-input v-model="modalData.templateRemark" style="width: 255px"></el-input>
</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="820px">
<el-form :inline="true" label-position="top" @keyup.enter.native="getDataList()">
<el-form-item :label="'检验模板编码'">
@ -157,8 +165,7 @@
<el-input v-model="detailData.templateName" 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-button type="primary" @click="addFastModal()">新增</el-button>
</el-form-item>
</el-form>
<!-- 检验项目展示列表 -->
@ -190,7 +197,7 @@
header-align="center"
align="right"
min-width="80"
label="参照值">
label="标准值">
<template slot-scope="scope">
<el-input v-model="scope.row.defaultValue" style="height: 11px;padding: 0px " allow-create>;width:98%"></el-input>
</template>
@ -200,7 +207,7 @@
header-align="center"
align="right"
min-width="80"
label="最大值">
label="上限值">
<template slot-scope="scope">
<el-input v-if="scope.row.valueTypeDb == 'T'" v-model="scope.row.maxValue" disabled style="height: 11px;padding: 0px " allow-create>;width:98%"></el-input>
<el-input v-if="scope.row.valueTypeDb != 'T'" v-model="scope.row.maxValue" style="height: 11px;padding: 0px " allow-create>;width:98%"></el-input>
@ -211,12 +218,29 @@
header-align="center"
align="right"
min-width="80"
label="最小值">
label="下限值">
<template slot-scope="scope">
<el-input v-if="scope.row.valueTypeDb == 'T'" v-model="scope.row.minValue" disabled style="height: 11px;padding: 0px " allow-create>;width:98%"></el-input>
<el-input v-if="scope.row.valueTypeDb != 'T'" v-model="scope.row.minValue" style="height: 11px;padding: 0px " allow-create>;width:98%"></el-input>
</template>
</el-table-column>
<el-table-column
prop=""
header-align="center"
align="right"
min-width="80"
label="检验设备">
<template slot-scope="scope">
<el-select v-model="scope.row.objectID" placeholder="请选择" >
<el-option
v-for = "i in objects"
:key = "i.objectID"
:label = "i.objectDesc"
:value = "i.objectID">
</el-option>
</el-select>
</template>
</el-table-column>
<el-table-column
fixed="right"
header-align="center"
@ -224,7 +248,7 @@
width="100"
label="操作">
<template slot-scope="scope">
<a type="text" size="small" @click="delItemDetails(scope.row)">删除明细</a>
<a type="text" size="small" @click="delItemDetails(scope.row)">删除项目</a>
</template>
</el-table-column>
@ -236,23 +260,6 @@
</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="addItemDetails()">保存</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">
@ -368,6 +375,7 @@
templateUpdate, //
templateDelete, //
InspectionTypeSearch, //
objectSearch, //
ItemDetailsSearch, //
addItemDetails, //
getItemList, //
@ -408,6 +416,7 @@
limit: 10,
},
options: [],
objects: [],
height: 200,
pageIndex: 1,
pageSize: 100,
@ -425,8 +434,11 @@
templateVersion: '',
samplingPlanNo: '',
inspectionTypeNo: '',
inspectionCycle: '',
createTime: '',
createBy: this.$store.state.user.name,
samplingLevelNo: '',
samplingLevelDesc: '',
aql: '',
ac: '',
re: '',
@ -440,8 +452,11 @@
templateVersion: '',
samplingPlanNo: '',
inspectionTypeNo: '',
inspectionCycle: '',
createTime: '',
createBy: this.$store.state.user.name,
samplingLevelNo: '',
samplingLevelDesc: '',
aql: '',
ac: '',
re: '',
@ -489,20 +504,20 @@
{
userId: this.$store.state.user.name,
functionId: 301003,
serialNumber: '301003TableCodeNo',
serialNumber: '301003TableCodeDesc',
tableId: "301003Table",
tableName: "检验模板表",
columnProp: 'templateRemark',
columnProp: 'samplingPlanNo',
headerAlign: "center",
align: "left",
columnLabel: '检验模板备注',
columnLabel: '抽样方案',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120,
columnWidth: 100,
},
{
userId: this.$store.state.user.name,
@ -510,10 +525,64 @@
serialNumber: '301003TableCodeDesc',
tableId: "301003Table",
tableName: "检验模板表",
columnProp: 'samplingPlanNo',
columnProp: 'samplingLevelDesc',
headerAlign: "center",
align: "left",
columnLabel: '抽样方案',
columnLabel: '检验水平',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
},
{
userId: this.$store.state.user.name,
functionId: 301003,
serialNumber: '301003TableCodeDesc',
tableId: "301003Table",
tableName: "检验模板表",
columnProp: 'inspectionCycle',
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: 301003,
serialNumber: '301003TableCodeDesc',
tableId: "301003Table",
tableName: "检验模板表",
columnProp: 'defaultSamplingQuantity',
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: 301003,
serialNumber: '301003TableCodeDesc',
tableId: "301003Table",
tableName: "检验模板表",
columnProp: 'defaultSamplingProportion',
headerAlign: "center",
align: "left",
columnLabel: '默认抽样比例',
columnHidden: false,
columnImage: false,
columnSortable: false,
@ -594,6 +663,24 @@
fixed: '',
columnWidth: 100,
},
{
userId: this.$store.state.user.name,
functionId: 301003,
serialNumber: '301003TableCodeNo',
tableId: "301003Table",
tableName: "检验模板表",
columnProp: 'templateRemark',
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,
@ -723,60 +810,6 @@
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,
// },
],
levelList:[],
chooseModalData:{
@ -813,6 +846,15 @@
})
},
//
objectSearch(){
objectSearch().then(({data}) => {
if (data.code === 0) {
this.objects = data.rows
}
})
},
//
doEmpty(){
this.searchData = {
@ -834,8 +876,8 @@
strVal = this.modalData.samplingPlanNo
this.$refs.baseList.init(val, strVal)
}
if (val === 1034) {
strVal = this.detailData.itemNo
if (val === 1048) {
strVal = this.detailData.samplingLevelNo
this.$refs.baseList.init(val, strVal)
}
})
@ -845,9 +887,9 @@
if (this.tagNo === 1049) {
this.modalData.samplingPlanNo = val.sampling_plan_no
}
if (this.tagNo === 1034) {
this.detailData.itemNo = val.ItemNo
this.detailData.itemDesc = val.ItemDesc
if (this.tagNo === 1048) {
this.modalData.samplingLevelNo = val.sampling_level_no
this.modalData.samplingLevelDesc = val.sampling_level_desc
}
},
//
@ -886,7 +928,10 @@
templateVersion: '',
samplingPlanNo: '',
inspectionTypeNo: '',
inspectionCycle: '',
createBy: this.$store.state.user.name,
samplingLevelNo: '',
samplingLevelDesc: '',
aql: '',
ac: '',
re: ''
@ -906,6 +951,9 @@
samplingPlanNo: row.samplingPlanNo,
inspectionTypeNo: row.inspectionTypeNo,
createBy: this.$store.state.user.name,
samplingLevelNo: row.samplingLevelNo,
samplingLevelDesc: row.samplingLevelDesc,
inspectionCycle: row.inspectionCycle,
aql: row.aql,
ac: row.ac,
re: row.re,
@ -952,14 +1000,14 @@
})
return false
}
if (this.modalData.templateVersion == '' || this.modalData.templateVersion == null) {
this.$alert('请输入版本号!', '错误', {
if (this.modalData.inspectionTypeNo == '' || this.modalData.inspectionTypeNo == null) {
this.$alert('请选择检验类型!', '错误', {
confirmButtonText: '确定'
})
return false
}
if (this.modalData.inspectionTypeNo == '' || this.modalData.inspectionTypeNo == null) {
this.$alert('请选择检验类型!', '错误', {
if (this.modalData.samplingLevelNo == '' || this.modalData.samplingLevelNo == null) {
this.$alert('请选择检验水平!', '错误', {
confirmButtonText: '确定'
})
return false
@ -1026,13 +1074,13 @@
this.detailData.templateName = row.templateName
ItemDetailsSearch(this.detailData).then(({data}) => {
this.detailList = data.rows
this.objectSearch()
})
this.detailModelFlag = true;
},
//
//
saveDetail(){
for (let i = 0; i < this.detailList.length; i++) {
if (this.detailList[i].valueTypeDb == 'N'){
saveItemDetailed(this.detailList[i]).then(({data}) => {
if (data && data.code === 0) {
this.getDataList()
@ -1052,16 +1100,15 @@
})
}
})
}
}
},
//
addDetailModal(){
this.detailData.itemNo = '';
this.detailData.itemDesc = '';
this.addDetailModalFlag = true;
},
// addDetailModal(){
// this.detailData.itemNo = '';
// this.detailData.itemDesc = '';
// this.addDetailModalFlag = true;
// },
//
addFastModal(){

Loading…
Cancel
Save