生产质量修改

dev-scheduling
jinna 1 month ago
parent 46c0338f5a
commit 390e99181d
  1. 8
      public/config.js
  2. 20
      src/api/qualityManagement/productionTesting/productionQuality.js
  3. 20
      src/views/inboundOutboundManagement/pickListPrinting.vue
  4. 229
      src/views/productionTesting/productionQuality.vue
  5. 6
      src/views/qualityManagement/inspectionArchiving/ERecord/index.vue
  6. 20
      src/views/qualityManagement/tankSolutionSystem/inspectionReport.vue
  7. 3
      src/views/qualityManagement/tankSolutionSystem/workTankLine.vue
  8. 7
      src/views/statisticalAnalysis/warehouseAnalysis/inventorySummary.vue

@ -15,3 +15,11 @@ window.WARE_MATERIAL_STOCK = "http://192.168.169.172:9000/jmreport/view/11869178
// 配套单打印 // 配套单打印
window.COMPANION = "http://192.168.169.172:9000/jmreport/view/1188705683594706944" window.COMPANION = "http://192.168.169.172:9000/jmreport/view/1188705683594706944"
// 领料单打印
window.WARE_MATERIAL_PRINT = "http://192.168.169.172:9000/jmreport/view/1181486341205573632"
// 领料单明细打印
// 库存汇总标签打印
window.WARE_MATERIAL_STOCK_TAG = "http://192.168.169.172:9000/jmreport/view/1181492297180168192"

@ -76,7 +76,7 @@ export const getHardnessList = (params) => {
// 刷新硬度数据 // 刷新硬度数据
export const refreshHardness = (params) => { export const refreshHardness = (params) => {
return request({ return request({
url: '/api/blade-desk/QA/IotHardness/getDataRefresh', url: '/api/blade-desk/QA/IotHardness/queryHardnessData',
method: 'get', method: 'get',
params params
}); });
@ -92,18 +92,18 @@ export const getThicknessList = (params) => {
}; };
// 质量记录跳转 // 质量记录跳转
export const goQualityRecord = (params) => { export const goQualityRecord = (data) => {
return request({ return request({
url: '/api/blade-desk/QA/InspectionTask/toQaRecord', url: '/api/blade-desk/QA/InspectionTask/reviewQualityRecords',
method: 'get', method: 'post',
params data
}); });
}; };
// 合格证跳转 // 合格证跳转
export const goCertificate = (params) => { export const goCertificate = (params) => {
return request({ return request({
url: '/api/blade-desk/QA/InspectionTask/toCertificate', url: '/api/blade-desk/QA/reviewQualification',
method: 'get', method: 'get',
params params
}); });
@ -117,3 +117,11 @@ export const getSubPackageList = (params) => {
params params
}); });
}; };
// 获取量具下拉列表
export const getMeasurement = () =>{
return request({
url:"/api/blade-desk/measurementRecords/listResult",
method:"get"
})
}

@ -23,10 +23,10 @@
<!-- <el-button type="text" @click="showDetail(scope.row)">详情</el-button> --> <!-- <el-button type="text" @click="showDetail(scope.row)">详情</el-button> -->
</template> </template>
<template #menu-left> <template #menu-left>
<el-button type="primary" :disabled="selectionList.length == 0" @click="printRequisition" <el-button type="primary" :disabled="selectionList.length == 0 || selectionList.length > 1" @click="printRequisition"
>领用单打印</el-button >领用单打印</el-button
> >
<el-button type="primary" :disabled="selectionList.length == 0" <el-button type="primary" :disabled="selectionList.length == 0 || selectionList.length > 1" @click="printDetail"
>领用单明细打印</el-button >领用单明细打印</el-button
> >
</template> </template>
@ -2320,12 +2320,16 @@ export default {
this.onLoad() this.onLoad()
}, },
printRequisition(){ printRequisition(){
getRequisition({ window.open(window.WARE_MATERIAL_PRINT+'?id='+this.selectionList[0].id);
idList:this.selectionList.map(item=>item.id).join(","), // getRequisition({
exportType:1 // idList:this.selectionList.map(item=>item.id).join(","),
}).then(rse =>{ // exportType:1
console.log('res--------------',res) // }).then(rse =>{
}) // console.log('res--------------',res)
// })
},
printDetail(){
window.open(window.WARE_MATERIAL_PRINT_DETAIL+'?id='+this.selectionList[0].id);
}, },
onLoad() { onLoad() {
getList({ getList({

@ -102,7 +102,8 @@
</el-form-item> --> </el-form-item> -->
</el-col> </el-col>
<el-col :span="17"> <el-col :span="17">
<div style="float: right;"> <div style="float: right;display: flex;align-items: center;">
<el-checkbox style="color:#284c89;margin-right:10px;font-seze:14px;">同步同炉/同槽</el-checkbox>
<el-button <el-button
@click="gainYDValue" @click="gainYDValue"
link link
@ -140,61 +141,62 @@
<el-table <el-table
:data="scope.row.wpItemDetailList" :data="scope.row.wpItemDetailList"
show-overflow-tooltip show-overflow-tooltip
v-if="scope.row.item.specialType == 3" v-if="scope.row.item.specialType == 3 && scope.row.wpItemDetailList.length > 0"
style="margin: 12px" style="margin: 12px"
> >
<el-table-column label="镀前镀后" prop="testType" align="center"></el-table-column> <el-table-column label="镀前镀后" prop="testType" align="center"></el-table-column>
<el-table-column label="尺寸" prop="ruleSize" align="center"></el-table-column> <el-table-column label="尺寸" prop="ruleSize" align="center"></el-table-column>
<el-table-column label="量具" prop="mtId" align="center"> <el-table-column label="量具" prop="tools" align="center">
<template #default="scope"> <template #default="scope">
{{scope.row.mtName}} {{scope.row.mtName}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="量具编号" prop="trialNo" align="center"> <el-table-column label="量具编号" prop="trialNo" align="center">
<template #default="scope"> <template #default="scope1">
<el-select v-model="scope.row.actMtId" placeholder="请输入" :disabled="scope.row.checkUserRealName != ''"> <!-- {{scope.row}} -->
<el-option label="量具1" value="1" /> <el-select v-model="scope1.row.actMtId" placeholder="请输入" :disabled="scope.row.checkUserRealName != ''">
<el-option v-for="item in measureList" :key="item.id" :label="item.mcName" :value="item.id" />
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="测量值1" prop="gaugeValue1" align="center"> <el-table-column label="测量值1" prop="gaugeValue1" align="center">
<template #default="scope"> <template #default="scope1">
<el-input v-model="scope.row.gaugeValue1" :disabled="scope.row.checkUserRealName != ''"></el-input> <el-input v-model="scope1.row.gaugeValue1" :disabled="scope.row.checkUserRealName != ''"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="测量值2" prop="gaugeValue2" align="center"> <el-table-column label="测量值2" prop="gaugeValue2" align="center">
<template #default="scope"> <template #default="scope1">
<el-input v-model="scope.row.gaugeValue2" :disabled="scope.row.checkUserRealName != ''"></el-input> <el-input v-model="scope1.row.gaugeValue2" :disabled="scope.row.checkUserRealName != ''"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="测量值3" prop="gaugeValue3" align="center"> <el-table-column label="测量值3" prop="gaugeValue3" align="center">
<template #default="scope"> <template #default="scope1">
<el-input v-model="scope.row.gaugeValue3" :disabled="scope.row.checkUserRealName != ''"></el-input> <el-input v-model="scope1.row.gaugeValue3" :disabled="scope.row.checkUserRealName != ''"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="测量值4" prop="gaugeValue4" align="center"> <el-table-column label="测量值4" prop="gaugeValue4" align="center">
<template #default="scope"> <template #default="scope1">
<el-input v-model="scope.row.gaugeValue4" :disabled="scope.row.checkUserRealName != ''"></el-input> <el-input v-model="scope1.row.gaugeValue4" :disabled="scope.row.checkUserRealName != ''"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="测量值5" prop="gaugeValue5" align="center"> <el-table-column label="测量值5" prop="gaugeValue5" align="center">
<template #default="scope"> <template #default="scope1">
<el-input v-model="scope.row.gaugeValue5" :disabled="scope.row.checkUserRealName != ''"></el-input> <el-input v-model="scope1.row.gaugeValue5" :disabled="scope.row.checkUserRealName != ''"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="测量值6" prop="gaugeValue6" align="center"> <el-table-column label="测量值6" prop="gaugeValue6" align="center">
<template #default="scope"> <template #default="scope1">
<el-input v-model="scope.row.gaugeValue6" :disabled="scope.row.checkUserRealName != ''"></el-input> <el-input v-model="scope1.row.gaugeValue6" :disabled="scope.row.checkUserRealName != ''"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="测量值7" prop="gaugeValue7" align="center"> <el-table-column label="测量值7" prop="gaugeValue7" align="center">
<template #default="scope"> <template #default="scope1">
<el-input v-model="scope.row.gaugeValue7" :disabled="scope.row.checkUserRealName != ''"></el-input> <el-input v-model="scope1.row.gaugeValue7" :disabled="scope.row.checkUserRealName != ''"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="测量值8" prop="gaugeValue8" align="center"> <el-table-column label="测量值8" prop="gaugeValue8" align="center">
<template #default="scope"> <template #default="scope1">
<el-input v-model="scope.row.gaugeValue8" :disabled="scope.row.checkUserRealName != ''"></el-input> <el-input v-model="scope1.row.gaugeValue8" :disabled="scope.row.checkUserRealName != ''"></el-input>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -367,22 +369,22 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- v-if="dialogData.ppsName == '烧结包装防护'" --> <!-- -->
<el-descriptions title="子件" :column="5" border style="margin-top: 24px"></el-descriptions> <el-descriptions v-if="dialogData.ppsName == '烧结包装防护'" title="子件" :column="5" border style="margin-top: 24px"></el-descriptions>
<el-table :data="vxeTableData1" show-overflow-tooltip> <el-table v-if="dialogData.ppsName == '烧结包装防护'" :data="vxeTableData1" show-overflow-tooltip>
<el-table-column label="子件号" prop="subPartCode" align="center"></el-table-column> <el-table-column label="子件号" prop="partCode" align="center"></el-table-column>
<el-table-column label="子件名称" prop="subPartName" align="center"></el-table-column> <el-table-column label="子件名称" prop="partName" align="center"></el-table-column>
<el-table-column label="数量" prop="qty" align="center"></el-table-column> <el-table-column label="数量" prop="qty" align="center"></el-table-column>
<el-table-column label="产品型号" prop="prodTypeName" align="center"></el-table-column> <el-table-column label="产品型号" prop="productType" align="center"></el-table-column>
<el-table-column label="子件类型" prop="subPartTypeName" align="center"></el-table-column> <el-table-column label="子件类型" prop="sinTerType" align="center"></el-table-column>
<el-table-column label="镀种" prop="plateName" align="center"></el-table-column> <el-table-column label="镀种" prop="plate" align="center"></el-table-column>
<el-table-column label="材料" prop="material" align="center"></el-table-column> <el-table-column label="材料" prop="material" align="center"></el-table-column>
<el-table-column label="面积(d㎡)" prop="area" align="center"></el-table-column> <el-table-column label="面积(d㎡)" prop="area" align="center"></el-table-column>
<el-table-column label="总面积(d㎡)" prop="totalArea" align="center"> </el-table-column> <el-table-column label="总面积(d㎡)" prop="totalArea" align="center"> </el-table-column>
<el-table-column label="镀层代码" prop="matCode" align="center"></el-table-column> <el-table-column label="镀层代码" prop="matCode" align="center"></el-table-column>
<el-table-column label="镀层厚度" prop="thickness" align="center"></el-table-column> <el-table-column label="镀层厚度" prop="plateThickness" align="center"></el-table-column>
<el-table-column label="备注" prop="remark" align="center"></el-table-column> <el-table-column label="备注" prop="remarks" align="center"></el-table-column>
<el-table-column label="修改人" prop="updateUserRealName" align="center"></el-table-column> <el-table-column label="修改人" prop="lastUpdateUser" align="center"></el-table-column>
</el-table> </el-table>
<template #footer> <template #footer>
@ -404,7 +406,7 @@
<script> <script>
import {dateFormat} from '@/utils/date' import {dateFormat} from '@/utils/date'
import {createInspection,getInspectionList,getInspectionDetail,fillInspection,getSameLotList,applySameLot,getHardnessList, import {createInspection,getInspectionList,getInspectionDetail,fillInspection,getSameLotList,applySameLot,getHardnessList,
refreshHardness,getThicknessList,goQualityRecord,goCertificate,getSubPackageList, getSupplierList} from '@/api/qualityManagement/productionTesting/productionQuality.js' refreshHardness,getThicknessList,goQualityRecord,goCertificate,getSubPackageList, getSupplierList,getMeasurement} from '@/api/qualityManagement/productionTesting/productionQuality.js'
import sametankView from './components/sametankView.vue'; import sametankView from './components/sametankView.vue';
export default { export default {
components: { sametankView }, components: { sametankView },
@ -437,6 +439,7 @@ export default {
vxeTableData2: [], vxeTableData2: [],
remindMsgList:[], // remindMsgList:[], //
thicknessData:[], thicknessData:[],
measureList:[],
option: { option: {
tip: false, tip: false,
height: 'auto', height: 'auto',
@ -684,7 +687,7 @@ export default {
], ],
}, },
{ {
label: '当前工序', label: '工序',
prop: 'currentProcessId', prop: 'currentProcessId',
search: true, search: true,
type: 'select', type: 'select',
@ -698,7 +701,7 @@ export default {
rules: [ rules: [
{ {
required: true, required: true,
message: '请输入当前工序', message: '工序',
trigger: 'blur', trigger: 'blur',
}, },
], ],
@ -709,76 +712,76 @@ export default {
res: 'data.records', res: 'data.records',
}, },
}, },
{ // {
label: '下序', // label: '',
prop: 'nextProcessId', // prop: 'nextProcessId',
search: true, // search: true,
type: 'select', // type: 'select',
sortable: true, // sortable: true,
filter: true, // filter: true,
addDisplay: false, // addDisplay: false,
editDisplay: false, // editDisplay: false,
viewDisplay: false, // viewDisplay: false,
span: 24, // span: 24,
width: 110, // width: 110,
rules: [ // rules: [
{ // {
required: true, // required: true,
message: '请输入下序', // message: '',
trigger: 'blur', // trigger: 'blur',
}, // },
], // ],
dicUrl:'/api/blade-desk/bsProcessSet/list?curtent=1&size=99999', // dicUrl:'/api/blade-desk/bsProcessSet/list?curtent=1&size=99999',
props: { // props: {
label: 'name', // label: 'name',
value: 'id', // value: 'id',
res: 'data.records', // res: 'data.records',
}, // },
}, // },
{ // {
label: '状态', // label: '',
prop: 'status', // prop: 'status',
search: true, // search: true,
type: 'select', // type: 'select',
sortable: true, // sortable: true,
filter: true, // filter: true,
addDisplay: false, // addDisplay: false,
editDisplay: false, // editDisplay: false,
viewDisplay: false, // viewDisplay: false,
span: 24, // span: 24,
width: 90, // width: 90,
rules: [ // rules: [
{ // {
required: true, // required: true,
message: '请输入状态', // message: '',
trigger: 'blur', // trigger: 'blur',
}, // },
], // ],
props:{ // props:{
label:'dictValue', // label:'dictValue',
value:'dictKey', // value:'dictKey',
}, // },
dicUrl:'/api/blade-system/dict/dictionary?code=InspectionTask-Status', // // dicUrl:'/api/blade-system/dict/dictionary?code=InspectionTask-Status', //
// dicData: [ // // dicData: [
// { // // {
// value: 1, // // value: 1,
// label: '', // // label: '',
// }, // // },
// { // // {
// value: 2, // // value: 2,
// label: '', // // label: '',
// }, // // },
// { // // {
// value: 3, // // value: 3,
// label: 'NA()', // // label: 'NA()',
// }, // // },
// { // // {
// value: -1, // // value: -1,
// label: '', // // label: '',
// }, // // },
// ], // // ],
}, // },
{ {
label: '面积(dm²)', label: '面积(dm²)',
prop: 'area', prop: 'area',
@ -881,7 +884,11 @@ export default {
}, },
}; };
}, },
mounted() {}, mounted() {
getMeasurement().then(res =>{
this.measureList = res.data.data
})
},
methods: { methods: {
handleCreate(){ handleCreate(){
createInspection({}).then(res => { createInspection({}).then(res => {
@ -1227,6 +1234,7 @@ export default {
}) })
}, },
handleResult(row) { handleResult(row) {
console.log('row------------------',row)
this.checkedId = row.id this.checkedId = row.id
getInspectionDetail({ getInspectionDetail({
id: row.id, id: row.id,
@ -1238,7 +1246,6 @@ export default {
this.remindMsgList = res.data.data.remindMsgList; this.remindMsgList = res.data.data.remindMsgList;
this.vxeTableData = res.data.data.wpItemList; this.vxeTableData = res.data.data.wpItemList;
this.getSameList(row.id) this.getSameList(row.id)
console.log('window.YINGDU_Trigger----------------',window.YINGDU_Trigger)
this.vxeTableData.forEach(item =>{ this.vxeTableData.forEach(item =>{
if(item.item.specialType == '2'){ if(item.item.specialType == '2'){
this.ydInterval = setInterval(() =>{ this.ydInterval = setInterval(() =>{
@ -1253,11 +1260,11 @@ export default {
} }
}) })
if(this.dialogData.ppsName == '烧结包装防护'){ if(this.dialogData.ppsName === '烧结包装防护'){
getSubPackageList({ getSubPackageList({
id:row.id yoId:res.data.data.orderInfo.yoId
}).then(res =>{ }).then(res3 =>{
this.vxeTableData1 = [...res.data.data] this.vxeTableData1 = res3.data.data
console.log('vxeTableData1------------------',this.vxeTableData1) console.log('vxeTableData1------------------',this.vxeTableData1)
}) })
} }

@ -155,7 +155,7 @@ export default {
editBtnText: '修改', editBtnText: '修改',
viewBtnText:'详情', viewBtnText:'详情',
labelWidth: 120, labelWidth: 120,
menuWidth: 230, menuWidth: 160,
dialogWidth: 1200, dialogWidth: 1200,
dialogClickModal: false, dialogClickModal: false,
searchEnter: true, searchEnter: true,
@ -184,7 +184,7 @@ export default {
editDisplay: false, editDisplay: false,
span: 24, span: 24,
search:true, search:true,
width:200, // width:200,
rules: [ rules: [
{ {
required: true, required: true,
@ -201,7 +201,7 @@ export default {
hide:true, hide:true,
span: 24, span: 24,
search:true, search:true,
width:200, // width:200,
rules: [ rules: [
{ {
required: true, required: true,

@ -318,23 +318,23 @@ export default {
}, },
{ {
label: '槽号', label: '槽号',
prop: 'workTankId', prop: 'workTankName',
search: false, search: false,
type: 'select', // type: 'select',
sortable: true, // sortable: true,
filter: true, filter: true,
addDisplay: false, addDisplay: false,
editDisplay: false, editDisplay: false,
viewDisplay: false, viewDisplay: false,
span: 24, span: 24,
width: 180, width: 180,
// disbled:true, // // disbled:true,
// cell: true, // // cell: true,
dicUrl:'/api/blade-desk/BA/WorkTank/listForSelect', // dicUrl:'/api/blade-desk/BA/WorkTank/listForSelect',
props:{ // props:{
label:'name', // label:'workTankCode',
value:'id' // value:'id'
} // }
}, },
{ {

@ -76,7 +76,7 @@
<div style="width: 33%;margin-bottom: 15px;">作业中心{{ detailForm.workCenterName }}</div> <div style="width: 33%;margin-bottom: 15px;">作业中心{{ detailForm.workCenterName }}</div>
<!-- <div style="width: 33%;margin-bottom: 15px;">槽号{{ detailForm.slotNo }}</div> <!-- <div style="width: 33%;margin-bottom: 15px;">槽号{{ detailForm.slotNo }}</div>
<div style="width: 33%;margin-bottom: 15px;">检测成分{{ detailForm.testName }}</div> --> <div style="width: 33%;margin-bottom: 15px;">检测成分{{ detailForm.testName }}</div> -->
<div style="width: 33%;">曲线时间范围{{ detailForm.lineTime }}</div> <div style="width: 33%;">曲线时间范围{{ detailForm.createTimeStart }} ~ {{detailForm.createTimeEnd}}</div>
<div style="width: 33%;">操作人{{ detailForm.updateUserRealName }}</div> <div style="width: 33%;">操作人{{ detailForm.updateUserRealName }}</div>
<div style="width: 33%;">曲线生成时间{{ detailForm.createTime }}</div> <div style="width: 33%;">曲线生成时间{{ detailForm.createTime }}</div>
</div> </div>
@ -381,6 +381,7 @@ export default {
} }
] ]
}; };
chart.clear();
chart.setOption(option); chart.setOption(option);
}) })
}, },

@ -616,7 +616,12 @@ export default {
this.$message.error('请先选择数据') this.$message.error('请先选择数据')
return return
} }
this.showPrint = true if(this.selectionList.length > 1){
this.$message.error('请选择一条数据')
return
}
window.open(window.WARE_MATERIAL_STOCK_TAG+'?id='+this.selectionList[0].id);
// this.showPrint = true
}, },
handlePrintCard() { handlePrintCard() {
if (this.selectionList.length == 0) { if (this.selectionList.length == 0) {

Loading…
Cancel
Save