Merge branch 'dev-scheduling' of http://42.192.7.176:3000/suojin/jonhon-mes-web into dev-scheduling

dev-scheduling
zhangdi 3 months ago
commit ae5650c377
  1. 1
      .gitignore
  2. 10
      src/api/qualityManagement/productionTesting/productionDisposition.js
  3. 18
      src/api/qualityManagement/productionTesting/reviewFormMess.js
  4. 10
      src/views/basicData/warehouseMaintenance.vue
  5. 158
      src/views/productionDisposition/hearingDialog.vue
  6. 2
      src/views/productionTesting/InspectionTemplate.vue
  7. 4
      src/views/productionTesting/productionQuality.vue
  8. 101
      src/views/qualityManagement/reviewFormMess/index.vue
  9. 80
      src/views/qualityManagement/reviewFormMess/options.js
  10. 30
      src/views/qualityManagement/reworkOrderReview/components/reviewDialog.vue
  11. 2
      src/views/warehouseManagement/materialMaintenance.vue
  12. 35
      src/views/warehouseManagement/materialPreserve.vue

1
.gitignore vendored

@ -1,6 +1,7 @@
.DS_Store .DS_Store
node_modules node_modules
/dist /dist
dist*.zip
/tests/e2e/videos/ /tests/e2e/videos/
/tests/e2e/screenshots/ /tests/e2e/screenshots/

@ -71,4 +71,14 @@ export const setHistoryOrderValue = (params) => {
method: 'get', method: 'get',
params params
}); });
};
// 获取处置单类型
export const getDispositionTypeList = (params) => {
return request({
url: '/api/blade-system/dict/dictionary?code=ReviewSheet-Mode',
method: 'get',
params
});
}; };

@ -8,4 +8,22 @@ export const getInnerReviewList = (data) => {
method: 'post', method: 'post',
data data
}); });
};
// 内部审理单-审理
export const fillInnerReview = (params) => {
return request({
url: '/api/blade-desk/QA/ReviewSheet/reviewSelf',
method: 'get',
params
});
};
// erp审理单列表
export const getErpReviewList = (data) => {
return request({
url: '/api/blade-desk/QA/ReviewSheet/listErp',
method: 'post',
data
});
}; };

@ -20,14 +20,14 @@
@refresh-change="refreshChange" @refresh-change="refreshChange"
@on-load="onLoad" @on-load="onLoad"
> >
<template #menu="{ row }"> <!-- <template #menu="{ row }">
<el-button type="text" v-if="tabPosition == 'warehouseSetup'" <el-button type="text" v-if="tabPosition == 'warehouseSetup'"
>管理员设置</el-button >管理员设置</el-button
> >
</template> </template> -->
</avue-crud> </avue-crud>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="库管设置" name="inventorySetup"></el-tab-pane> <!-- <el-tab-pane label="库管设置" name="inventorySetup"></el-tab-pane> -->
<el-tab-pane label="库位设置" name="storageSetup"> <el-tab-pane label="库位设置" name="storageSetup">
<avue-crud <avue-crud
:option="storageOption" :option="storageOption"
@ -50,9 +50,9 @@
<template #menu-left> <template #menu-left>
<el-button type="primary" @click="handleAdd">新增</el-button> <el-button type="primary" @click="handleAdd">新增</el-button>
</template> </template>
<template #menu="{ row }"> <!-- <template #menu="{ row }">
<el-button type="text" v-if="tabPosition == 'warehouseSetup'">管理员设置</el-button> <el-button type="text" v-if="tabPosition == 'warehouseSetup'">管理员设置</el-button>
</template> </template> -->
</avue-crud> </avue-crud>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>

@ -9,11 +9,11 @@
</div> </div>
<div class="test_type" v-if="testType == 1"> <div class="test_type" v-if="testType == 1">
<span>历史订单</span> <span>历史订单</span>
<el-select v-model="detailInfo.refWoId" placeholder="请选择" style="width: 400px;" :disabled="type == 'view'" <el-select v-model="detailInfo.refWoId" placeholder="请选择" style="width: 400px;" :disabled="type == 'view'">
@change="changeHistoryOrder">
<el-option v-for="item in historyList" :key="item.woId" :label="item.woInfo" :value="item.woId" /> <el-option v-for="item in historyList" :key="item.woId" :label="item.woInfo" :value="item.woId" />
<!-- <el-option label="订单2" value="2" /> --> <!-- <el-option label="订单2" value="2" /> -->
</el-select> </el-select>
<el-button @click="handleUse" type="primary" style="margin-left:10px;">应用</el-button>
</div> </div>
<el-descriptions title="订单信息" border :column="4" label-width="110"> <el-descriptions title="订单信息" border :column="4" label-width="110">
<el-descriptions-item label="车间订单号:">{{detailInfo.woCode}}</el-descriptions-item> <el-descriptions-item label="车间订单号:">{{detailInfo.woCode}}</el-descriptions-item>
@ -42,8 +42,8 @@
</el-descriptions-item> --> </el-descriptions-item> -->
<el-descriptions-item label="处置单类型:"> <el-descriptions-item label="处置单类型:">
<el-select v-model="detailInfo.reviewOrderMode" placeholder="请选择" style="width: 400px;" :disabled="type == 'view'"> <el-select v-model="detailInfo.reviewOrderMode" placeholder="请选择" style="width: 400px;" :disabled="type == 'view'">
<el-option label="零件模式" value="1" /> <el-option v-for="item in disposeTypeList" :key="item.id" :label="item.dictValue" :value="item.dictKey" />
<el-option label="装配模式" value="2" /> <!-- <el-option label="装配模式" value="2" /> -->
<!-- <el-option label="售后模式" value="3" /> --> <!-- <el-option label="售后模式" value="3" /> -->
</el-select> </el-select>
</el-descriptions-item> </el-descriptions-item>
@ -158,7 +158,7 @@
<el-button type="danger" :disabled="type == 'view'" plain @click="deleteFaultEvent()">删除选择行</el-button> <el-button type="danger" :disabled="type == 'view'" plain @click="deleteFaultEvent()">删除选择行</el-button>
</div> </div>
<div class="table_box"> <div class="table_box">
<el-table ref="faultTable" height="240" :data="faultList" @selection-change="handleSelectionChange" <el-table ref="faultTable" height="240" :data="faultList"
@select="selectChangeData" border> @select="selectChangeData" border>
<el-table-column type="selection" width="55"></el-table-column> <el-table-column type="selection" width="55"></el-table-column>
<el-table-column label="故障类别" prop="ngType2Id" align="center"> <el-table-column label="故障类别" prop="ngType2Id" align="center">
@ -178,7 +178,7 @@
</template> </template>
<template #default="scope"> <template #default="scope">
<el-select v-model="scope.row.ngType3Id" :disabled="!scope.row.ngType2Id || type == 'view'" <el-select v-model="scope.row.ngType3Id" :disabled="!scope.row.ngType2Id || type == 'view'"
@change="changeBigQuestion" > @change="(val) => changeBigQuestion(val,scope.$index)" >
<el-option v-for="item in errorBigArr" :key="item.id" :value="item.id" <el-option v-for="item in errorBigArr" :key="item.id" :value="item.id"
:label="item.name"></el-option> :label="item.name"></el-option>
</el-select> </el-select>
@ -191,7 +191,7 @@
<template #default="scope"> <template #default="scope">
<el-select v-model="scope.row.ngType4Id" <el-select v-model="scope.row.ngType4Id"
:disabled="!scope.row.ngType3Id || type == 'view'" > :disabled="!scope.row.ngType3Id || type == 'view'" >
<el-option v-for="item in errorSmallArr" :key="item.id" :value="item.id" <el-option v-for="item in scope.row.errorSmallArr" :key="item.id" :value="item.id"
:label="item.name"></el-option> :label="item.name"></el-option>
</el-select> </el-select>
</template> </template>
@ -222,7 +222,7 @@
<el-button type="danger" :disabled="type == 'view'" plain @click="deleteDutyEvent()">删除选择行</el-button> <el-button type="danger" :disabled="type == 'view'" plain @click="deleteDutyEvent()">删除选择行</el-button>
</div> </div>
<div class="table_box"> <div class="table_box">
<el-table :data="dutyList" height="240" @selection-change="handleDutyChange" <el-table :data="dutyList" height="240"
@select="selectChangeDutyData" border> @select="selectChangeDutyData" border>
<el-table-column type="selection" width="55px"></el-table-column> <el-table-column type="selection" width="55px"></el-table-column>
<el-table-column label="责任零件" prop="dutyPart" align="center"> <el-table-column label="责任零件" prop="dutyPart" align="center">
@ -300,7 +300,7 @@
</template> </template>
<script> <script>
import {getFaultClassList,getQuestionClassList,getQuestionClassList2,getProductionDispositionDetail, import {getFaultClassList,getQuestionClassList,getQuestionClassList2,getProductionDispositionDetail,
createProductionDisposition,getHistoryOrderList,setHistoryOrderValue} from "@/api/qualityManagement/productionTesting/productionDisposition" createProductionDisposition,getHistoryOrderList,setHistoryOrderValue,getDispositionTypeList} from "@/api/qualityManagement/productionTesting/productionDisposition"
export default { export default {
props: { props: {
showDialog: { showDialog: {
@ -335,6 +335,10 @@ export default {
detailInfo:{}, detailInfo:{},
checkList:[], checkList:[],
historyList:[], historyList:[],
checkWoId:'', //id
faultDeleteIds:[], //id
dutyDeleteIds:[], //id
disposeTypeList:[],
} }
}, },
mounted() { mounted() {
@ -343,43 +347,106 @@ export default {
this.getQuestionBig() this.getQuestionBig()
this.getDetail() this.getDetail()
this.getHistory() this.getHistory()
this.getDisposeType()
// this.getQuestionSmall() // this.getQuestionSmall()
}, },
methods: { methods: {
getDisposeType(){
getDispositionTypeList().then(res =>{
this.disposeTypeList = res.data.data
})
},
// //
getHistory(){ getHistory(){
getHistoryOrderList({}).then(res =>{ getHistoryOrderList({}).then(res =>{
this.historyList = res.data.data this.historyList = res.data.data
}) })
}, },
// handleUse(){
changeHistoryOrder(val){ if(!this.detailInfo.refWoId || this.detailInfo.refWoId == ''){
return
}
// this.checkWoId = this.detailInfo.refWoId
setHistoryOrderValue({ setHistoryOrderValue({
id:this.rsId, id:this.rsId,
woId:val woId:this.detailInfo.refWoId
}).then(res =>{ }).then(res =>{
console.log('res1----------------',res) console.log('res1----------------',res)
getProductionDispositionDetail({ getProductionDispositionDetail({
woId:val // woId:this.detailInfo.refWoId
id:this.rsId
}).then(res =>{ }).then(res =>{
console.log('res2--------------------------------',res) console.log('res2--------------------------------',res)
// this.getQuestionSmall()
this.checkList = []
this.checkList.push(
res.data.data.isBatProblem == 1 ? 'isBatProblem' : null,
res.data.data.isClassicProblem == 1 ? 'isClassicProblem' : null,
res.data.data.isLowError == 1 ? 'isLowError' : null,
res.data.data.isQualityProblem == 1 ? 'isQualityProblem' : null,
)
this.detailInfo = res.data.data
res.data.data.faultList.map((item,index) =>{
item._select = false
this.getQuestionSmall(item.ngType3Id,index)
})
this.faultList = res.data.data.faultList
res.data.data.dutyList.map(item =>{
item._select = false
})
this.dutyList = res.data.data.dutyList
}).catch(err =>{
this.detailInfo.refWoId = ''
}) })
}).catch(err =>{
this.detailInfo.refWoId = ''
}) })
}, },
// //
// changeHistoryOrder(val){
// },
getDetail(){ getDetail(){
getProductionDispositionDetail({ getProductionDispositionDetail({
id:this.rsId id:this.rsId
}).then(res =>{ }).then(res =>{
this.detailInfo = res.data.data this.detailInfo = res.data.data
this.testType = res.data.data.bizType == 3 ? 1 : 2 console.log('hace---------------',this.detailInfo.hasSaved)
this.disposalType = res.data.data.bizType == 3 ? '' : res.data.data.bizType if(this.detailInfo.hasSaved == 1){
this.checkList = [] this.testType = res.data.data.bizType == 3 ? 1 : 2
this.checkList.push( this.disposalType = res.data.data.bizType == 3 ? '' : res.data.data.bizType
res.data.data.isBatProblem == 1 ? 'isBatProblem' : null, this.checkList = []
res.data.data.isClassicProblem == 1 ? 'isClassicProblem' : null, this.checkList.push(
res.data.data.isLowError == 1 ? 'isLowError' : null, res.data.data.isBatProblem == 1 ? 'isBatProblem' : null,
res.data.data.isQualityProblem == 1 ? 'isQualityProblem' : null, res.data.data.isClassicProblem == 1 ? 'isClassicProblem' : null,
) res.data.data.isLowError == 1 ? 'isLowError' : null,
res.data.data.isQualityProblem == 1 ? 'isQualityProblem' : null,
)
res.data.data.faultList.map((item,index) =>{
item._select = false
this.getQuestionSmall(item.ngType3Id,index)
})
this.faultList = res.data.data.faultList
res.data.data.dutyList.map(item =>{
item._select = false
})
this.dutyList = res.data.data.dutyList
}else{
// this.detailInfo = res.data.data
this.detailInfo.refWoId = ''
this.detailInfo.poorReason = ''
this.detailInfo.poorDesc = ''
this.detailInfo.reviewOrderMode = ''
this.detailInfo.unqualifiedQty = ''
this.detailInfo.scale = ''
this.detailInfo.upCode = ''
this.detailInfo.scrapNum = ''
this.detailInfo.reDoNum = ''
this.checkList = []
this.faultList = []
this.dutyList = []
}
}) })
}, },
// //
@ -394,23 +461,54 @@ export default {
this.errorBigArr = res.data.data this.errorBigArr = res.data.data
}) })
}, },
changeBigQuestion(val){ changeBigQuestion(val,index){
this.getQuestionSmall(val) this.faultList[index].ngType4Id = ''
this.getQuestionSmall(val,index)
}, },
// //
getQuestionSmall(val){ getQuestionSmall(val,index){
console.log('val---------',val)
console.log('index---------',index)
getQuestionClassList2({ getQuestionClassList2({
parentId:val parentId:val
}).then(res => { }).then(res => {
this.errorSmallArr = res.data.data this.faultList[index].errorSmallArr = res.data.data
}) })
}, },
selectChangeData(list, row){
row._select = !row._select;
},
insertFaultEvent(){ insertFaultEvent(){
this.faultList.push({_select:false}) this.faultList.push({_select:false})
}, },
deleteFaultEvent(){
this.$confirm('确定将选择数据删除?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
let tmp = this.faultList.filter(item => item._select)
this.faultDeleteIds = tmp.filter(item => item.id).map(item => item.id);
this.faultList = this.faultList.filter(row => !row._select);
})
},
selectChangeDutyData(list, row){
row._select = !row._select;
},
insertDutyEvent(){ insertDutyEvent(){
this.dutyList.push({_select:false}) this.dutyList.push({_select:false})
}, },
deleteDutyEvent(){
this.$confirm('确定将选择数据删除?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
let tmp = this.dutyList.filter(item => item._select)
this.dutyDeleteIds = tmp.filter(item => item.id).map(item => item.id);
this.dutyList = this.dutyList.filter(row => !row._select);
})
},
closeDialog() { closeDialog() {
this.openShow = false this.openShow = false
this.$emit('closeDialog'); this.$emit('closeDialog');
@ -427,7 +525,15 @@ export default {
this.detailInfo.faultList = this.faultList this.detailInfo.faultList = this.faultList
this.detailInfo.dutyList = this.dutyList this.detailInfo.dutyList = this.dutyList
this.detailInfo.submitType = val this.detailInfo.submitType = val
this.detailInfo.faultDeleteIds = this.faultDeleteIds.join(',')
this.detailInfo.dutyDeleteIds = this.dutyDeleteIds.join(',')
console.log('detail---------------------',this.detailInfo) console.log('detail---------------------',this.detailInfo)
createProductionDisposition(this.detailInfo).then(res =>{
if(res.data.code == 200){
this.$message.success(val == '21' ? '保存成功' : '提交成功')
this.closeDialog(true)
}
})
}, },
// //
submitInside(){ submitInside(){

@ -184,7 +184,7 @@ export default {
editBtnText: '修改', editBtnText: '修改',
viewBtnText:'详情', viewBtnText:'详情',
labelWidth: 120, labelWidth: 120,
// menuWidth: 330, menuWidth: 120,
dialogWidth: 1200, dialogWidth: 1200,
dialogClickModal: false, dialogClickModal: false,
searchEnter: true, searchEnter: true,

@ -147,12 +147,12 @@
<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="mtId" align="center">
<template #default="scope"> <template #default="scope">
{{scope.row.mtName + '(' + scope.row.mtId + ')'}} {{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="scope">
<el-select v-model="value" placeholder="请输入"> <el-select v-model="scope.row.actMtId" placeholder="请输入">
<el-option label="量具1" value="1" /> <el-option label="量具1" value="1" />
</el-select> </el-select>
</template> </template>

@ -35,20 +35,20 @@
<span v-if="row.bizType == 2">{{row.scrapNum}}</span> <span v-if="row.bizType == 2">{{row.scrapNum}}</span>
</template> </template>
<template #menu="{ row }"> <template #menu="{ row }">
<el-button type="text">审理</el-button> <el-button type="text" @click="reviewFn(row)">审理</el-button>
</template> </template>
</avue-crud> </avue-crud>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
<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 { import {
add, add,
getRole, getRole,
@ -62,13 +62,17 @@ import {
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} from "@/api/qualityManagement/productionTesting/reviewFormMess" import {getInnerReviewList,getErpReviewList} from "@/api/qualityManagement/productionTesting/reviewFormMess"
export default { export default {
components: { components: {
reviewDialog
}, },
data() { data() {
return { return {
checkId:'',
insideQuery:{},
isReviewOpen:false,
tabPosition:'erpHear', tabPosition:'erpHear',
inBatchesOpen: false, inBatchesOpen: false,
platingSmallOpen: false, platingSmallOpen: false,
@ -112,18 +116,42 @@ export default {
}; };
}, },
methods: { methods: {
tabPositionChange(){ tabPositionChange(val){
this.tabPosition = val
if(this.tabPosition == 'erpHear'){ if(this.tabPosition == 'erpHear'){
this.getErpList()
}else if(this.tabPosition == 'insideHear'){ }else if(this.tabPosition == 'insideHear'){
this.getInsideList() this.getInsideList()
} }
}, },
reviewFn(row){
this.checkId = row.id
this.isReviewOpen = true
},
getErpList(){
this.loading = true;
getErpReviewList({
current:this.page.currentPage,
size:this.page.pageSize,
...this.query
}).then(res =>{
this.data = res.data.data.records
this.page.total = res.data.data.total
this.loading = false
})
},
getInsideList(){ getInsideList(){
if(this.insideQuery.crDate){
delete this.insideQuery.crDate
}
if(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
}).then(res =>{ }).then(res =>{
this.insideData = res.data.data.records this.insideData = res.data.data.records
this.insidePage.total = res.data.data.total this.insidePage.total = res.data.data.total
@ -169,9 +197,13 @@ export default {
rushFn() { rushFn() {
this.isRushOpen = true this.isRushOpen = true
}, },
closeDialog() { closeDialog(val) {
this.isRushOpen = false this.isRushOpen = false
this.isBatchOpen = false this.isBatchOpen = false
this.isReviewOpen = false
if(val){
this.tabPositionChange('insideHear')
}
}, },
inBatchesFn(row) { inBatchesFn(row) {
this.rowItem = row; this.rowItem = row;
@ -264,14 +296,34 @@ export default {
}, },
searchReset() { searchReset() {
this.query = {}; if(this.tabPosition == 'erpHear'){
this.onLoad(this.page); this.query = {}
this.getErpList()
}else if(this.tabPosition == 'insideHear'){
this.insideQuery = {}
this.getInsideList()
}
// this.query = {};
// this.onLoad(this.page);
}, },
searchChange(params, done) { searchChange(params, done) {
this.query = params; console.log('tab---------',this.tabPosition)
this.page.currentPage = 1; if(this.tabPosition == 'erpHear'){
this.onLoad(this.page, params); this.query = params;
done(); this.page.currentPage = 1;
this.getErpList();
done();
}else if(this.tabPosition == 'insideHear'){
this.insideQuery = params;
this.insideQuery.createTimeStart = params.crDate && params.crDate.length != 0 && params.crDate[0]
this.insideQuery.createTimeEnd = 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.getInsideList();
done();
}
}, },
selectionChange(list) { selectionChange(list) {
this.selectionList = list; this.selectionList = list;
@ -374,17 +426,18 @@ export default {
}, },
onLoad(page, params = {}) { onLoad(page, params = {}) {
this.loading = true; this.getErpList()
this.data = [ // this.loading = true;
// this.data = [
] // ]
this.page.total = this.data.length // this.page.total = this.data.length
// getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => { // // getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
// this.data = res.data.data.records; // // this.data = res.data.data.records;
this.loading = false; // this.loading = false;
// this.page.total = res.data.data.total // // this.page.total = res.data.data.total
// this.selectionClear(); // // this.selectionClear();
// }); // // });
}, },
}, },
mounted() { mounted() {

@ -154,14 +154,14 @@ export const insideOption = {
span: 12, span: 12,
width: 150 width: 150
}, },
{ // {
label: '审理状态', // label: '审理状态',
prop: 'reviewStatus', // prop: 'reviewStatus',
search: true, // search: true,
sortable: true, // sortable: true,
span: 12, // span: 12,
width: 150 // width: 150
}, // },
{ {
label: '审理结论', label: '审理结论',
prop: 'memo', prop: 'memo',
@ -181,6 +181,10 @@ export const insideOption = {
{ {
label: '提请日期', label: '提请日期',
prop: 'crDate', prop: 'crDate',
type: 'date',
searchRange: true,
format: 'YYYY-MM-DD',
valueFormat: 'YYYY-MM-DD',
search: true, search: true,
sortable: true, sortable: true,
span: 12, span: 12,
@ -189,6 +193,10 @@ export const insideOption = {
{ {
label: '审理时间', label: '审理时间',
prop: 'reviewDate', prop: 'reviewDate',
type: 'date',
searchRange: true,
format: 'YYYY-MM-DD',
valueFormat: 'YYYY-MM-DD',
search: true, search: true,
sortable: true, sortable: true,
span: 12, span: 12,
@ -266,8 +274,8 @@ export const erpOption = {
column: [ column: [
{ {
label: '审理单号', label: '审理单号',
prop: 'partCode', prop: 'rsCode',
bind: 'dsPart.partCode', // bind: 'dsPart.partCode',
search: true, search: true,
sortable: true, sortable: true,
span: 12, span: 12,
@ -276,8 +284,8 @@ export const erpOption = {
}, },
{ {
label: '责任零件', label: '责任零件',
prop: 'partCode', prop: 'dutyPart',
bind: 'dsPart.partCode', // bind: 'dsPart.partCode',
search: true, search: true,
sortable: true, sortable: true,
span: 12, span: 12,
@ -287,8 +295,8 @@ export const erpOption = {
{ {
label: '责任批号', label: '责任批号',
prop: 'plate', prop: 'dutyBatNo',
bind: 'dsPart.plate', // bind: 'dsPart.plate',
search: true, search: true,
sortable: true, sortable: true,
span: 12, span: 12,
@ -297,8 +305,8 @@ export const erpOption = {
}, },
{ {
label: '工序号', label: '工序号',
prop: 'plate', prop: 'processNo',
bind: 'dsPart.plate', // bind: 'dsPart.plate',
search: false, search: false,
sortable: true, sortable: true,
span: 12, span: 12,
@ -307,8 +315,8 @@ export const erpOption = {
}, },
{ {
label: '工序名称', label: '工序名称',
prop: 'plate', prop: 'processName',
bind: 'dsPart.plate', // bind: 'dsPart.plate',
search: false, search: false,
sortable: true, sortable: true,
span: 12, span: 12,
@ -317,8 +325,8 @@ export const erpOption = {
}, },
{ {
label: '上级编号', label: '上级编号',
prop: 'plate', prop: 'upCode',
bind: 'dsPart.plate', // bind: 'dsPart.plate',
search: false, search: false,
sortable: true, sortable: true,
span: 12, span: 12,
@ -327,8 +335,8 @@ export const erpOption = {
}, },
{ {
label: '返修路线', label: '返修路线',
prop: 'plate', prop: 'reDoPath',
bind: 'dsPart.plate', // bind: 'dsPart.plate',
search: false, search: false,
sortable: true, sortable: true,
span: 12, span: 12,
@ -337,8 +345,8 @@ export const erpOption = {
}, },
{ {
label: '发生单位', label: '发生单位',
prop: 'plate', prop: 'ngOrg',
bind: 'dsPart.plate', // bind: 'dsPart.plate',
search: false, search: false,
sortable: true, sortable: true,
span: 12, span: 12,
@ -347,8 +355,8 @@ export const erpOption = {
}, },
{ {
label: '责任部门', label: '责任部门',
prop: 'plate', prop: 'dutyDeptName',
bind: 'dsPart.plate', // bind: 'dsPart.plate',
search: false, search: false,
sortable: true, sortable: true,
span: 12, span: 12,
@ -357,8 +365,8 @@ export const erpOption = {
}, },
{ {
label: '审理人', label: '审理人',
prop: 'plate', prop: 'reviewUserRealName',
bind: 'dsPart.plate', // bind: 'dsPart.plate',
search: false, search: false,
sortable: true, sortable: true,
span: 12, span: 12,
@ -367,8 +375,8 @@ export const erpOption = {
}, },
{ {
label: '零件号', label: '零件号',
prop: 'plate', prop: 'partCode',
bind: 'dsPart.plate', // bind: 'dsPart.plate',
search: false, search: false,
sortable: true, sortable: true,
span: 12, span: 12,
@ -377,8 +385,8 @@ export const erpOption = {
}, },
{ {
label: '批次号', label: '批次号',
prop: 'plate', prop: 'batchNo',
bind: 'dsPart.plate', // bind: 'dsPart.plate',
search: false, search: false,
sortable: true, sortable: true,
span: 12, span: 12,
@ -387,8 +395,8 @@ export const erpOption = {
}, },
{ {
label: '备注', label: '备注',
prop: 'plate', prop: 'remark',
bind: 'dsPart.plate', // bind: 'dsPart.plate',
search: false, search: false,
sortable: true, sortable: true,
span: 12, span: 12,
@ -397,8 +405,8 @@ export const erpOption = {
}, },
{ {
label: '处理意见', label: '处理意见',
prop: 'plate', prop: 'memo',
bind: 'dsPart.plate', // bind: 'dsPart.plate',
search: false, search: false,
sortable: true, sortable: true,
span: 12, span: 12,

@ -1,13 +1,13 @@
<template> <template>
<el-dialog title="审批" append-to-body :modelValue="openShow" width="30%" @close="closeDialog"> <el-dialog title="审批" append-to-body :modelValue="openShow" width="30%" @close="closeDialog">
<el-form :model="auditForm" :rules="auditRules" ref="auditForm"> <el-form :model="auditForm" :rules="auditRules" ref="auditForm">
<el-form-item label="是否审核通过" prop="isAudit"> <el-form-item label="是否审核通过" prop="selfReviewFlag">
<el-radio :disabled="dialogType == 'view'" v-model="auditForm.isAudit" label="1"></el-radio> <el-radio :disabled="dialogType == 'view'" v-model="auditForm.selfReviewFlag" label="1"></el-radio>
<el-radio :disabled="dialogType == 'view'" v-model="auditForm.isAudit" label="2"></el-radio> <el-radio :disabled="dialogType == 'view'" v-model="auditForm.selfReviewFlag" label="2"></el-radio>
</el-form-item> </el-form-item>
<el-form-item label="审核意见"> <el-form-item label="审核意见">
<el-input type="textarea" :disabled="dialogType == 'view'" v-model="auditForm.auditOpinion"></el-input> <el-input type="textarea" :disabled="dialogType == 'view'" v-model="auditForm.memo"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -21,12 +21,17 @@
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import {fillInnerReview} from "@/api/qualityManagement/productionTesting/reviewFormMess"
export default { export default {
props: { props: {
showDialog: { showDialog: {
type: Boolean, type: Boolean,
default: false default: false
}, },
id:{
type: String,
default: ''
}
}, },
data() { data() {
return { return {
@ -35,7 +40,7 @@ export default {
}, },
auditRules: { auditRules: {
isAudit: [{ required: true, message: '请选择', trigger: 'blur' }], isAudit: [{ required: true, message: '请选择是否通过审核', trigger: 'blur' }],
} }
} }
}, },
@ -43,16 +48,25 @@ export default {
this.openShow = this.showDialog this.openShow = this.showDialog
}, },
methods: { methods: {
closeDialog() { closeDialog(val) {
this.openShow = false this.openShow = false
this.$emit('closeDialog'); this.$emit('closeDialog',val);
}, },
submit() { submit() {
let fieldsToValidate = {} let fieldsToValidate = {}
this.$refs.auditForm.validate(valid => { this.$refs.auditForm.validate(valid => {
console.log('valid', valid) console.log('valid', valid)
if (valid) { if (valid) {
this.closeDialog() fillInnerReview({
id:this.id,
...this.auditForm
}).then(res =>{
if(res.data.code == 200){
this.$message.success('审核成功')
this.closeDialog(true)
}
})
// this.closeDialog()
} }
}) })
}, },

@ -248,7 +248,7 @@ export default {
}, },
{ {
label: '是否停用', label: '是否停用',
editDisplay: false, editDisplay: true,
prop: 'used', prop: 'used',
type: 'switch', type: 'switch',
dicData: [ dicData: [

@ -93,10 +93,10 @@ export default {
column: [ column: [
{ {
label: '物料编码', label: '物料编码',
prop: 'goodsId', prop: 'goodsCode',
type: 'select', type: 'select',
addDisplay: true, addDisplay: false,
editDisplay: true, editDisplay: false,
span: 8, span: 8,
width: 200, width: 200,
search: true, search: true,
@ -108,10 +108,35 @@ export default {
trigger: 'click', trigger: 'click',
}, },
], ],
props: { dicUrl:"/api/blade-wms/stGoods/list",
remote: true,
props:{
label: 'goodsCode', label: 'goodsCode',
value: 'goodsId' value: 'goodsCode',
res: 'data.records',
}, },
// onChange:(value =>{
// let tmp = value.dic.find(item => item.id == value.value)
// this.form.goodsName = tmp.goodsName
// })
},
{
label: '物料编码',
prop: 'goodsId',
type: 'select',
addDisplay: true,
editDisplay: true,
span: 8,
width: 200,
search: false,
//
rules: [
{
required: true,
message: '请输入物料编码',
trigger: 'click',
},
],
dicUrl:"/api/blade-wms/stGoods/list", dicUrl:"/api/blade-wms/stGoods/list",
remote: true, remote: true,
props:{ props:{

Loading…
Cancel
Save