质量模块接口联调

dev-scheduling
jinna 3 months ago
parent d38059e5f0
commit 1599fe450a
  1. 36
      src/api/qualityManagement/productionTesting/productionDisposition.js
  2. 74
      src/views/productionDisposition/hearingDialog.vue
  3. 54
      src/views/productionDisposition/index.vue
  4. 33
      src/views/productionTesting/productionQuality.vue
  5. 4
      src/views/qualityManagement/reviewFormMess/options.js

@ -81,4 +81,40 @@ export const getDispositionTypeList = (params) => {
method: 'get',
params
});
};
// 获取责任零件下拉
export const getResponsiblePartList = (params) => {
return request({
url: '/api/blade-desk/QA/ReviewSheet/getRSDutyPartList',
method: 'get',
params
});
};
// 获取责任批号下拉
export const getResponsibleBatchList = (params) => {
return request({
url: '/api/blade-desk/QA/ReviewSheet//getRSDutyBatchList',
method: 'get',
params
});
};
// 获取相关零件下拉
export const getRelatedPartList = (params) => {
return request({
url: '/api/blade-desk/QA/ReviewSheet/getRSRelevantPartList',
method: 'get',
params
});
};
// 获取相关批号下拉
export const getRelatedBatchList = (params) => {
return request({
url: '/api/blade-desk/QA/ReviewSheet/getRSRelevantBatchList',
method: 'get',
params
});
};

@ -13,7 +13,7 @@
<el-option v-for="item in historyList" :key="item.woId" :label="item.woInfo" :value="item.woId" />
<!-- <el-option label="订单2" value="2" /> -->
</el-select>
<el-button @click="handleUse" type="primary" style="margin-left:10px;">应用</el-button>
<el-button @click="handleUse" type="primary" style="margin-left:10px;" :disabled="type == 'view'">应用</el-button>
</div>
<el-descriptions title="订单信息" border :column="4" label-width="110">
<el-descriptions-item label="车间订单号:">{{detailInfo.woCode}}</el-descriptions-item>
@ -82,10 +82,10 @@
</el-radio-group>
</el-descriptions-item>
<el-descriptions-item label="返修数量:">
<el-input v-model="detailInfo.reDoNum" placeholder="请输入" style="width: 400px;" :disabled="type == 'view'"/>
<el-input v-model="detailInfo.reDoNum" placeholder="请输入" style="width: 400px;" :disabled="type == 'view' || disposalType == 2"/>
</el-descriptions-item>
<el-descriptions-item label="报废数量:">
<el-input v-model="detailInfo.scrapNum" placeholder="请输入" style="width: 400px;" :disabled="type == 'view'"/>
<el-input v-model="detailInfo.scrapNum" placeholder="请输入" style="width: 400px;" :disabled="type == 'view' || disposalType == 1"/>
</el-descriptions-item>
<el-descriptions-item label="">
<el-checkbox-group v-model="checkList" :disabled="type == 'view'">
@ -232,8 +232,8 @@
<template #default="scope">
<el-input v-model="scope.row.dutyPart" v-if="detailInfo.reviewOrderMode == 1" :disabled="type == 'view'"></el-input>
<el-select v-model="scope.row.dutyPart" v-if="detailInfo.reviewOrderMode == 2" :disabled="type == 'view'">
<el-option v-for="item in dutyPartArr" :key="item.rstId" :value="item.rstId"
:label="item.rstName"></el-option>
<el-option v-for="item in dutyPartArr" :key="item.dutyPart" :value="item.dutyPart"
:label="item.dutyPart"></el-option>
</el-select>
</template>
</el-table-column>
@ -243,8 +243,8 @@
</template>
<template #default="scope">
<el-select v-model="scope.row.dutyBatch" :disabled="type == 'view'">
<el-option v-for="item in dutyBatchArr" :key="item.value" :value="item.value"
:label="item.label"></el-option>
<el-option v-for="item in dutyBatchArr" :key="item.dutyBatch" :value="item.dutyBatch"
:label="item.dutyBatch"></el-option>
<!-- <el-option v-for="item in dutyBatchArr" :key="item.rstId" :value="item.rstId" :label="item.rstName"></el-option> -->
</el-select>
</template>
@ -252,16 +252,16 @@
<el-table-column label="相关零件" prop="relevantPart" align="center">
<template #default="scope">
<el-select v-model="scope.row.relevantPart" :disabled="type == 'view'">
<el-option v-for="item in relevantPartArr" :key="item.rstId" :value="item.rstId"
:label="item.rstName"></el-option>
<el-option v-for="item in relevantPartArr" :key="item.relevantPart" :value="item.relevantPart"
:label="item.relevantPart"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="相关批号" prop="relevantBatch" align="center">
<template #default="scope">
<el-select v-model="scope.row.relevantBatch" :disabled="type == 'view'">
<el-option v-for="item in relevantBatchArr" :key="item.rstId" :value="item.rstId"
:label="item.rstName"></el-option>
<el-option v-for="item in relevantBatchArr" :key="item.relevantBatch" :value="item.relevantBatch"
:label="item.relevantBatch"></el-option>
</el-select>
</template>
</el-table-column>
@ -300,7 +300,8 @@
</template>
<script>
import {getFaultClassList,getQuestionClassList,getQuestionClassList2,getProductionDispositionDetail,
createProductionDisposition,getHistoryOrderList,setHistoryOrderValue,getDispositionTypeList} from "@/api/qualityManagement/productionTesting/productionDisposition"
createProductionDisposition,getHistoryOrderList,setHistoryOrderValue,getDispositionTypeList,getResponsiblePartList,
getResponsibleBatchList,getRelatedPartList,getRelatedBatchList} from "@/api/qualityManagement/productionTesting/productionDisposition"
export default {
props: {
showDialog: {
@ -339,6 +340,10 @@ export default {
faultDeleteIds:[], //id
dutyDeleteIds:[], //id
disposeTypeList:[],
dutyPartArr:[], //
dutyBatchArr:[], //
relevantPartArr:[], //
relevantBatchArr:[], //
}
},
mounted() {
@ -348,9 +353,45 @@ export default {
this.getDetail()
this.getHistory()
this.getDisposeType()
this.getResponsiblePart()
this.getResponsibleBatch()
this.getRelatedPart()
this.getRelatedBatch()
// this.getQuestionSmall()
},
methods: {
//
getResponsiblePart(){
getResponsiblePartList({
id:this.rsId
}).then(res =>{
this.dutyPartArr = res.data.data
})
},
//
getResponsibleBatch(){
getResponsibleBatchList({
id:this.rsId
}).then(res =>{
this.dutyBatchArr = res.data.data
})
},
//
getRelatedPart(){
getRelatedPartList({
id:this.rsId
}).then(res =>{
this.relevantPartArr = res.data.data
})
},
//
getRelatedBatch(){
getRelatedBatchList({
id:this.rsId
}).then(res =>{
this.relevantBatchArr = res.data.data
})
},
getDisposeType(){
getDispositionTypeList().then(res =>{
this.disposeTypeList = res.data.data
@ -413,8 +454,11 @@ export default {
this.detailInfo = res.data.data
console.log('hace---------------',this.detailInfo.hasSaved)
if(this.detailInfo.hasSaved == 1){
this.detailInfo.refWoId = res.data.data.refWoId == 0 ? '' : res.data.data.refWoId
this.testType = res.data.data.bizType == 3 ? 1 : 2
this.disposalType = res.data.data.bizType == 3 ? '' : res.data.data.bizType
this.detailInfo.scrapNum = this.disposalType == 1 ? '' : res.data.data.scrapNum
this.detailInfo.reDoNum = this.disposalType == 2 ? '' : res.data.data.reDoNum
this.checkList = []
this.checkList.push(
res.data.data.isBatProblem == 1 ? 'isBatProblem' : null,
@ -439,7 +483,7 @@ export default {
this.detailInfo.reviewOrderMode = ''
this.detailInfo.unqualifiedQty = ''
this.detailInfo.scale = ''
this.detailInfo.upCode = ''
// this.detailInfo.upCode = ''
this.detailInfo.scrapNum = ''
this.detailInfo.reDoNum = ''
this.checkList = []
@ -509,9 +553,9 @@ export default {
this.dutyList = this.dutyList.filter(row => !row._select);
})
},
closeDialog() {
closeDialog(val) {
this.openShow = false
this.$emit('closeDialog');
this.$emit('closeDialog',val);
},
changeType(val){
console.log('val---------------------',val)

@ -14,7 +14,7 @@
</template>
<template #menu="{ row }">
<el-button type="text" @click="addReview(row.trialType, row.id)">详情</el-button>
<el-button type="text" @click="hearingFn(row.trialType, row.id)">提交</el-button>
<el-button type="text" v-if="row.status == 0 || row.status == -1" @click="hearingFn(row.trialType, row.id)">提交</el-button>
</template>
<!-- <template #proNo="{ row }">
{{ row.prWorkCheck.prWorkPlan.prWorkOrder.pjYieldOrder.partCode }}
@ -256,6 +256,7 @@ export default {
{
label: '生产标识',
prop: 'prodIdent',
type: 'select',
addDisplay: false,
editDisplay: false,
span: 24,
@ -268,6 +269,8 @@ export default {
trigger: 'click',
},
],
dicUrl:"/api/blade-desk/BA/ProdMark/listForSelect",
props:{label:"name",value:"id"}
},
{
label: '批次号',
@ -353,6 +356,10 @@ export default {
{
label: '建立时间',
prop: 'createTime',
type:"date",
format:"YYYY-MM-DD",
valueFormat:"YYYY-MM-DD",
searchRange: true,
addDisplay: false,
editDisplay: false,
span: 24,
@ -383,18 +390,23 @@ export default {
trigger: 'click',
},
],
dicData: [
{
value: 1,
label: '零件模式'
}, {
value: 2,
label: '装配模式'
}, {
value: 3,
label: '售后模式'
}
]
dicUrl:"/api/blade-system/dict/dictionary?code=ReviewSheet-Mode",
props:{
label: 'dictValue',
value: 'dictKey'
}
// dicData: [
// {
// value: 1,
// label: ''
// }, {
// value: 2,
// label: ''
// }, {
// value: 3,
// label: ''
// }
// ]
},
{
label: '当前状态',
@ -554,9 +566,12 @@ export default {
this.dialogType = 'submit'
this.hearingOpen = true
},
closeDialog() {
closeDialog(val) {
this.showDialog = false
this.hearingOpen = false
if(val){
this.onLoad()
}
},
//
openZlSystem() {
@ -582,6 +597,8 @@ export default {
searchChange(params, done) {
this.query = params;
this.page.currentPage = 1;
this.query.createTimeStart = params.createTime && params.createTime.length != 0 && params.createTime[0]
this.query.createTimeEnd = params.createTime && params.createTime.length != 0 && params.createTime[1]
this.onLoad(this.page, params);
done();
},
@ -602,10 +619,17 @@ export default {
this.onLoad(this.page, this.query);
},
onLoad() {
// if(this.query.createTime){
// delete this.query.createTime
// }
getProductionDispositionList({
current:this.page.currentPage,
size:this.page.pageSize
size:this.page.pageSize,
...this.query
}).then(res =>{
res.data.data.records.map(item =>{
item.status = item.status == -1 ? '' : item.status + ''
})
this.data = res.data.data.records
this.page.total = res.data.data.total
})

@ -586,6 +586,7 @@ export default {
{
label: '生产标识',
prop: 'prodIdent',
type: 'select',
search: true,
sortable: true,
filter: true,
@ -601,6 +602,8 @@ export default {
trigger: 'blur',
},
],
dicUrl:"/api/blade-desk/BA/ProdMark/listForSelect",
props:{label:"name",value:"id"}
},
{
label: '流程卡号',
@ -839,6 +842,8 @@ export default {
prop: 'receiveDate',
search: true,
type: 'date',
format:"YYYY-MM-DD",
valueFormat:"YYYY-MM-DD",
searchRange: true,
startPlaceholder: '开始时间',
endPlaceholder: '结束时间',
@ -1137,17 +1142,20 @@ export default {
}).then(res => {
console.log('res----------------', res);
res.data.data.wpItemList.map(item =>{
this.vxeTableData.map(item1 =>{
if(item.item.name == item1.item.name){
if(item.item.specialType != '1' && item.item.specialType != '2' && item.item.specialType != '3'){
item1.checkValue = item.checkValue
this.vxeTableData.map(item1 =>{
if(item1.checkUserRealName == ''){
if(item.item.name == item1.item.name){
if(item.item.specialType != '1' && item.item.specialType != '2' && item.item.specialType != '3'){
item1.checkValue = item.checkValue
}
item1.testQty = item.testQty
item1.lossQty = item.lossQty
item1.checkQty = item.checkQty
item1.checkResult = item.checkResult
}
}
item1.testQty = item.testQty
item1.lossQty = item.lossQty
item1.checkQty = item.checkQty
item1.checkResult = item.checkResult
}
})
})
})
// this.dialogData = res.data.data.orderInfo;
// this.remindMsgList = res.data.data.remindMsgList;
@ -1185,6 +1193,8 @@ export default {
searchChange(params, done) {
this.query = params;
this.page.currentPage = 1;
this.query.receiveDateStart = params.receiveDate && params.receiveDate.length > 0 && params.receiveDate[0]
this.query.receiveDateEnd = params.receiveDate && params.receiveDate.length > 0 && params.receiveDate[0]
this.onLoad();
done();
},
@ -16153,6 +16163,9 @@ export default {
},
onLoad() {
console.log('query----------------',this.query)
if(this.query.receiveDate){
delete this.query.receiveDate
}
getInspectionList({
current:this.page.currentPage,
size:this.page.pageSize,

@ -48,7 +48,7 @@ export const insideOption = {
search: true,
sortable: true,
span: 12,
width: 150
width: 200
},
{
@ -279,7 +279,7 @@ export const erpOption = {
search: true,
sortable: true,
span: 12,
width:150
width:200
},
{

Loading…
Cancel
Save