质量缺陷修复

dev-scheduling
jinna 3 weeks ago
parent 8ee0e7b255
commit baff048dec
  1. 9
      src/views/productionTesting/prPlanTestRec.vue
  2. 32
      src/views/productionTesting/productionQuality.vue
  3. 231
      src/views/qualityManagement/reviewFormMess/index.vue

@ -66,7 +66,7 @@ export default {
labelWidth: 120, labelWidth: 120,
searchLabelWidth: 120, searchLabelWidth: 120,
menu: true, menu: true,
menuWidth: 120, menuWidth: 80,
dialogWidth: 1200, dialogWidth: 1200,
dialogClickModal: false, dialogClickModal: false,
searchEnter: true, searchEnter: true,
@ -81,13 +81,14 @@ export default {
searchLabelPosition:'left', searchLabelPosition:'left',
searchGutter:24, searchGutter:24,
searchSpan:6, searchSpan:6,
menuAlign: 'left', menuAlign: 'center',
gridBtn:false, gridBtn:false,
searchMenuPosition:'right', searchMenuPosition:'right',
column: [ column: [
{ {
label: '流程卡号', label: '流程卡号',
prop: 'cardNo', prop:"code",
// prop: 'cardNo',
// bind: 'prWorkPlan.prWorkOrder.cardNo', // bind: 'prWorkPlan.prWorkOrder.cardNo',
width: 200, width: 200,
search: true, search: true,
@ -103,7 +104,7 @@ export default {
}, },
{ {
label: '转试人', label: '转试人',
prop: 'testUserRealName', prop: 'testUserName',
// bind: 'testUser.userName', // bind: 'testUser.userName',
width: 200, width: 200,
search: false, search: false,

@ -165,24 +165,28 @@
circle circle
type="danger" type="danger"
icon="el-icon-delete" icon="el-icon-delete"
@click="removeRules(scope.row.wpItemDetailList,subScope.$index, subScope.row)" @click="removeRules(scope.row.wpItemDetailList,subScope.$index, scope.row)"
/> />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="镀前镀后" prop="testType" align="center"> <el-table-column label="镀前镀后" prop="testType" align="center">
<template #default="scope"> <template #default="scope1">
<el-input v-model="scope.row.testType" :disabled="scope.row.checkUserRealName != null && scope.row.checkUserRealName != '' "></el-input> <el-input v-model="scope1.row.testType"
:disabled="scope.row.checkUserRealName != null && scope.row.checkUserRealName != '' "
></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="尺寸" prop="ruleSize" align="center"> <el-table-column label="尺寸" prop="ruleSize" align="center">
<template #default="scope"> <template #default="scope1">
<el-input v-model="scope.row.ruleSize" :disabled="scope.row.checkUserRealName != null && scope.row.checkUserRealName != '' "></el-input> <el-input v-model="scope1.row.ruleSize"
:disabled="scope.row.checkUserRealName != null && scope.row.checkUserRealName != '' "
></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="量具" prop="tools" align="center"> <el-table-column label="量具" prop="tools" align="center">
<template #default="scope"> <template #default="scope1">
<!-- {{scope.row.mtName}} --> <!-- {{scope.row.mtName}} -->
<el-input v-model="scope.row.mtName" :disabled="scope.row.checkUserRealName != null && scope.row.checkUserRealName != '' "></el-input> <el-input v-model="scope1.row.mtName" :disabled="scope.row.checkUserRealName != null && scope.row.checkUserRealName != '' "></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="量具编号" prop="trialNo" align="center"> <el-table-column label="量具编号" prop="trialNo" align="center">
@ -261,7 +265,7 @@
circle circle
type="danger" type="danger"
icon="el-icon-delete" icon="el-icon-delete"
@click="removeSpecimen(subScope.$index, subScope.row)" @click="removeSpecimen(subScope.$index, subScope.row,scope.row)"
/> />
</template> </template>
</el-table-column> </el-table-column>
@ -344,17 +348,17 @@
> >
<template #default="scope"> {{scope.row.standard && scope.row.standard.name}} </template> <template #default="scope"> {{scope.row.standard && scope.row.standard.name}} </template>
</el-table-column> </el-table-column>
<el-table-column label="标准值" prop="trialStandard" align="center" width="150px"> <!-- <el-table-column label="标准值" prop="trialStandard" align="center" width="150px">
<template #default="scope"> <template #default="scope"> -->
<!-- {{scope.row.standard && scope.row.standard.standardValue}} <!-- {{scope.row.standard && scope.row.standard.standardValue}}
{{'(' + scope.row.standard && scope.row.standard.downValue + '~' + scope.row.standard && scope.row.standard.upValue+ ')'}} --> {{'(' + scope.row.standard && scope.row.standard.downValue + '~' + scope.row.standard && scope.row.standard.upValue+ ')'}} -->
<span v-if="scope.row.standard"> <!-- <span v-if="scope.row.standard">
{{scope.row.standard.standardValue}} {{scope.row.standard.standardValue}}
<span v-if="scope.row.standard.downValue && scope.row.standard.upValue">{{'(' + scope.row.standard.downValue + '~' + scope.row.standard.upValue+ ')'}}</span> <span v-if="scope.row.standard.downValue && scope.row.standard.upValue">{{'(' + scope.row.standard.downValue + '~' + scope.row.standard.upValue+ ')'}}</span>
</span> </span>
<span v-else></span> <span v-else></span>
</template> </template>
</el-table-column> </el-table-column> -->
<!-- <el-table-column label="上下限" prop="trialStandard" align="center"></el-table-column> <!-- <el-table-column label="上下限" prop="trialStandard" align="center"></el-table-column>
<el-table-column label="下限" prop="trialStandard" align="center"></el-table-column> --> <el-table-column label="下限" prop="trialStandard" align="center"></el-table-column> -->
<el-table-column <el-table-column
@ -975,8 +979,8 @@ export default {
} }
this.thicknessData.push({}) this.thicknessData.push({})
}, },
removeSpecimen(index,row){ removeSpecimen(index,row,val){
if(row.checkUserRealName != null && row.checkUserRealName != ''){ if(val.checkUserRealName != null && val.checkUserRealName != ''){
return return
} }
this.thicknessData.splice(index,1) this.thicknessData.splice(index,1)

@ -2,53 +2,81 @@
<template> <template>
<basic-container> <basic-container>
<el-tabs v-model="tabPosition" class="demo-tabs" @tab-change="tabPositionChange"> <el-tabs v-model="tabPosition" class="demo-tabs" @tab-change="tabPositionChange">
<el-tab-pane label="erp审理" name="erpHear"> <el-tab-pane label="erp审理" name="erpHear"> </el-tab-pane>
<avue-crud :option="option" :table-loading="loading" :data="data" v-model="form" v-model:page="page" ref="crud" <el-tab-pane label="内部审理" name="insideHear"> </el-tab-pane>
@row-del="rowDel" @search-change="searchChange" @search-reset="searchReset" </el-tabs>
@selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange" <div v-if="tabPosition == 'erpHear'">
@refresh-change="refreshChange" @on-load="onLoad"> <avue-crud
<template #menu-left> :option="option"
</template> :table-loading="loading"
<template #menu-right> :data="data"
</template> v-model="form"
<template #menu="{ row }"> v-model:page="page"
ref="crud"
</template> @row-del="rowDel"
@search-change="searchChange"
@search-reset="searchReset"
@selection-change="selectionChange"
@current-change="currentChange"
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
>
<template #menu-left> </template>
<template #menu-right> </template>
<template #menu="{ row }"> </template>
<template #heatTreat="scope"> <template #heatTreat="scope">
<el-tag v-if="scope.row.afterPlating" type="success"></el-tag> <el-tag v-if="scope.row.afterPlating" type="success"></el-tag>
<el-tag v-else type="warning"></el-tag> <el-tag v-else type="warning"></el-tag>
</template> </template>
</avue-crud> </avue-crud>
</el-tab-pane> </div>
<el-tab-pane label="内部审理" name="insideHear"> <div v-if="tabPosition == 'insideHear'">
<avue-crud :option="insideOption" :table-loading="loading" :data="insideData" v-model="form" v-model:page="insidePage" ref="crud" <avue-crud
@row-del="rowDel" @search-change="searchChange" @search-reset="searchReset" :option="insideOption"
@selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange" :table-loading="loading"
@refresh-change="refreshChange" @on-load="onLoad"> :data="insideData"
<template #menu-left> v-model="form"
</template> v-model:page="insidePage"
<template #menu-right> ref="crud"
</template> @row-del="rowDel"
<template #qty="{row}"> @search-change="searchChange"
<span v-if="row.bizType == 1">{{row.reDoNum}}</span> @search-reset="searchReset"
<span v-if="row.bizType == 2">{{row.scrapNum}}</span> @selection-change="selectionChange"
@current-change="currentChange"
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
>
<template #menu-left> </template>
<template #menu-right> </template>
<template #qty="{ row }">
<span v-if="row.bizType == 1">{{ row.reDoNum }}</span>
<span v-if="row.bizType == 2">{{ row.scrapNum }}</span>
</template> </template>
<template #menu="{ row }"> <template #menu="{ row }">
<el-button type="text" @click="reviewFn(row)" v-if="row.selfReviewFlag != 1 && row.selfReviewFlag != 2">审理</el-button> <el-button
type="text"
@click="reviewFn(row)"
v-if="row.selfReviewFlag != 1 && row.selfReviewFlag != 2"
>审理</el-button
>
</template> </template>
</avue-crud> </avue-crud>
</el-tab-pane> </div>
</el-tabs>
<reviewDialog v-if="isReviewOpen" :id="checkId" :showDialog="isReviewOpen" @closeDialog="closeDialog"></reviewDialog>
<reviewDialog
v-if="isReviewOpen"
:id="checkId"
:showDialog="isReviewOpen"
@closeDialog="closeDialog"
></reviewDialog>
</basic-container> </basic-container>
</template> </template>
<script> <script>
import reviewDialog from "@/views/qualityManagement/reworkOrderReview/components/reviewDialog.vue" import reviewDialog from '@/views/qualityManagement/reworkOrderReview/components/reviewDialog.vue';
import { import {
add, add,
getRole, getRole,
@ -61,19 +89,22 @@ import {
} from '@/api/system/role'; } from '@/api/system/role';
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
import { validatenull } from '@/utils/validate'; import { validatenull } from '@/utils/validate';
import {insideOption,erpOption} from './options' import { insideOption, erpOption } from './options';
import {getInnerReviewList,getErpReviewList} from "@/api/qualityManagement/productionTesting/reviewFormMess" import {
getInnerReviewList,
getErpReviewList,
} from '@/api/qualityManagement/productionTesting/reviewFormMess';
export default { export default {
components: { components: {
reviewDialog reviewDialog,
}, },
data() { data() {
return { return {
checkId:'', checkId: '',
insideQuery:{}, insideQuery: {},
isReviewOpen:false, isReviewOpen: false,
tabPosition:'erpHear', tabPosition: 'erpHear',
inBatchesOpen: false, inBatchesOpen: false,
platingSmallOpen: false, platingSmallOpen: false,
planOrderArr: [], planOrderArr: [],
@ -102,60 +133,62 @@ export default {
total: 0, total: 0,
}, },
option: erpOption, option: erpOption,
insideOption:insideOption, insideOption: insideOption,
data: [], data: [],
isRushOpen: false,// isRushOpen: false, //
isBatchOpen: false,// isBatchOpen: false, //
insideData:[], insideData: [],
insidePage:{ insidePage: {
pageSize: 10, pageSize: 10,
currentPage: 1, currentPage: 1,
total: 0, total: 0,
} },
}; };
}, },
methods: { methods: {
tabPositionChange(val){ tabPositionChange(val) {
this.tabPosition = val this.tabPosition = val;
if(this.tabPosition == 'erpHear'){ if (this.tabPosition == 'erpHear') {
this.getErpList() this.getErpList();
}else if(this.tabPosition == 'insideHear'){ } else if (this.tabPosition == 'insideHear') {
this.getInsideList() this.getInsideList();
} }
}, },
reviewFn(row){ reviewFn(row) {
this.checkId = row.id this.checkId = row.id;
this.isReviewOpen = true this.isReviewOpen = true;
}, },
getErpList(){ getErpList() {
this.loading = true; this.loading = true;
getErpReviewList({ getErpReviewList({
current:this.page.currentPage, current: this.page.currentPage,
size:this.page.pageSize, size: this.page.pageSize,
...this.query ...this.query,
}).then(res =>{ }).then(res => {
this.data = res.data.data.records this.data = res.data.data.records;
this.page.total = res.data.data.total this.page.total = res.data.data.total;
this.loading = false this.loading = false;
}) });
}, },
getInsideList(){ getInsideList() {
if(this.insideQuery.crDate){ this.loading = true;
delete this.insideQuery.crDate if (this.insideQuery.crDate) {
delete this.insideQuery.crDate;
} }
if(this.insideQuery.reviewDate){ if (this.insideQuery.reviewDate) {
delete this.insideQuery.reviewDate delete this.insideQuery.reviewDate;
} }
getInnerReviewList({ getInnerReviewList({
current:this.insidePage.currentPage, current: this.insidePage.currentPage,
size:this.insidePage.pageSize, size: this.insidePage.pageSize,
// bizType:0, // bizType:0,
...this.insideQuery ...this.insideQuery,
}).then(res =>{ }).then(res => {
this.insideData = res.data.data.records this.loading = false;
this.insidePage.total = res.data.data.total this.insideData = res.data.data.records;
}) this.insidePage.total = res.data.data.total;
});
}, },
// //
batchReceiving() { batchReceiving() {
@ -195,14 +228,14 @@ export default {
}, },
// //
rushFn() { rushFn() {
this.isRushOpen = true this.isRushOpen = true;
}, },
closeDialog(val) { closeDialog(val) {
this.isRushOpen = false this.isRushOpen = false;
this.isBatchOpen = false this.isBatchOpen = false;
this.isReviewOpen = false this.isReviewOpen = false;
if(val){ if (val) {
this.tabPositionChange('insideHear') this.tabPositionChange('insideHear');
} }
}, },
inBatchesFn(row) { inBatchesFn(row) {
@ -296,34 +329,37 @@ export default {
}, },
searchReset() { searchReset() {
if(this.tabPosition == 'erpHear'){ if (this.tabPosition == 'erpHear') {
this.query = {} this.query = {};
this.getErpList() this.getErpList();
}else if(this.tabPosition == 'insideHear'){ } else if (this.tabPosition == 'insideHear') {
this.insideQuery = {} this.insideQuery = {};
this.getInsideList() this.getInsideList();
} }
// this.query = {}; // this.query = {};
// this.onLoad(this.page); // this.onLoad(this.page);
}, },
searchChange(params, done) { searchChange(params, done) {
console.log('tab---------',this.tabPosition) console.log('tab---------', this.tabPosition);
if(this.tabPosition == 'erpHear'){ if (this.tabPosition == 'erpHear') {
this.query = params; this.query = params;
this.page.currentPage = 1; this.page.currentPage = 1;
this.getErpList(); this.getErpList();
done(); done();
}else if(this.tabPosition == 'insideHear'){ } else if (this.tabPosition == 'insideHear') {
this.insideQuery = params; this.insideQuery = params;
this.insideQuery.createTimeStart = params.crDate && params.crDate.length != 0 && params.crDate[0] this.insideQuery.createTimeStart =
this.insideQuery.createTimeEnd = params.crDate && params.crDate.length != 0 && params.crDate[1] params.crDate && params.crDate.length != 0 && params.crDate[0];
this.insideQuery.reviewTimeStart = params.reviewDate && params.reviewDate.length != 0 && params.reviewDate[1] this.insideQuery.createTimeEnd =
this.insideQuery.reviewTimeEnd = params.reviewDate && params.reviewDate.length != 0 && params.reviewDate[1] params.crDate && params.crDate.length != 0 && params.crDate[1];
this.insideQuery.reviewTimeStart =
params.reviewDate && params.reviewDate.length != 0 && params.reviewDate[1];
this.insideQuery.reviewTimeEnd =
params.reviewDate && params.reviewDate.length != 0 && params.reviewDate[1];
this.insidePage.currentPage = 1; this.insidePage.currentPage = 1;
this.getInsideList(); this.getInsideList();
done(); done();
} }
}, },
selectionChange(list) { selectionChange(list) {
this.selectionList = list; this.selectionList = list;
@ -426,7 +462,7 @@ export default {
}, },
onLoad(page, params = {}) { onLoad(page, params = {}) {
this.getErpList() this.getErpList();
// this.loading = true; // this.loading = true;
// this.data = [ // this.data = [
@ -440,7 +476,6 @@ export default {
// // }); // // });
}, },
}, },
mounted() { mounted() {},
}
}; };
</script> </script>

Loading…
Cancel
Save