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

dev-scheduling
wangmeng 3 months ago
commit 741d7c8fa6
  1. 1
      index.html
  2. 2
      src/App.vue
  3. 56
      src/api/qualityManagement/productionTesting/productionDisposition.js
  4. 99
      src/api/qualityManagement/productionTesting/productionQuality.js
  5. 240
      src/views/productionDisposition/hearingDialog.vue
  6. 204
      src/views/productionDisposition/index.vue
  7. 30001
      src/views/productionTesting/components/sametankView.vue
  8. 30413
      src/views/productionTesting/productionQuality.vue
  9. 193
      src/views/qualityManagement/reviewFormMess/index.vue
  10. 238
      src/views/qualityManagement/reviewFormMess/options.js
  11. 3
      src/views/qualityManagement/tankSolutionSystem/components/addEditInfoDialog.vue
  12. 61
      src/views/qualityManagement/tankSolutionSystem/components/disposeDialog.vue
  13. 3
      src/views/qualityManagement/tankSolutionSystem/components/getMedicineDialog.vue
  14. 3
      src/views/qualityManagement/tankSolutionSystem/components/reportBasic.vue

@ -22,6 +22,7 @@
<!-- 导入需要的包 (一定要放到index.html中的head标签里) --> <!-- 导入需要的包 (一定要放到index.html中的head标签里) -->
<script src="/js/Sortable.min.js"></script> <script src="/js/Sortable.min.js"></script>
<script src="/js/xlsx.full.min.js"></script> <script src="/js/xlsx.full.min.js"></script>
<script src="/public/config.js"></script>
<title>电镀智能化生产管理系统</title> <title>电镀智能化生产管理系统</title>
</head> </head>

@ -76,7 +76,7 @@ body,
box-sizing: border-box; box-sizing: border-box;
padding-top: var(--el-dialog-padding-primary); padding-top: var(--el-dialog-padding-primary);
text-align: right; text-align: right;
z-index: 2; z-index: 200;
display: block; display: block;
padding: 10px 16px; padding: 10px 16px;
box-sizing: border-box; box-sizing: border-box;

@ -0,0 +1,56 @@
// 生产处置单
import request from '@/axios';
// 获取故障分类下拉
export const getFaultClassList = (params) => {
return request({
url: '/api/blade-desk/QA/Ng/listForSelectGZLB',
method: 'get',
params
});
};
// 获取问题大类下拉
export const getQuestionClassList = (params) => {
return request({
url: '/api/blade-desk/QA/Ng/listForSelectWTDL',
method: 'get',
params
});
};
// 获取问题小类下拉
export const getQuestionClassList2 = (params) => {
return request({
url: '/api/blade-desk/QA/Ng/listForSelectWTXL',
method: 'get',
params
});
};
// 生产处置单列表
export const getProductionDispositionList = (data) => {
return request({
url: '/api/blade-desk/QA/ReviewSheet/listInit',
method: 'post',
data
});
};
// 生产处置单详细
export const getProductionDispositionDetail = (params) => {
return request({
url: '/api/blade-desk/QA/ReviewSheet/detail',
method: 'get',
params
});
};
// 生产处置单提交
export const createProductionDisposition = (data) => {
return request({
url: '/api/blade-desk/QA/ReviewSheet/fill',
method: 'post',
data
});
};

@ -10,6 +10,15 @@ export const getSupplierList = (params) => {
}); });
}; };
// 手动生成质量检验
export const createInspection = (data) => {
return request({
url: '/api/blade-desk/QA/InspectionTask/startNew',
method: 'post',
data
});
};
// 获取生产质量检验 // 获取生产质量检验
export const getInspectionList = (data) => { export const getInspectionList = (data) => {
return request({ return request({
@ -17,4 +26,94 @@ export const getInspectionList = (data) => {
method: 'post', method: 'post',
data data
}); });
};
// 生产质量检验详情
export const getInspectionDetail = (params) => {
return request({
url: '/api/blade-desk/QA/InspectionTask/detail',
method: 'get',
params
});
};
// 生产质量检验结果填报
export const fillInspection = (data) => {
return request({
url: '/api/blade-desk/QA/InspectionTask/fill',
method: 'post',
data
});
};
// 获取同炉同槽列表
export const getSameLotList = (params) => {
return request({
url: '/api/blade-desk/QA/InspectionTask/getSameList',
method: 'get',
params
});
};
// 同槽同炉结果应用
export const applySameLot = (params) => {
return request({
url: '/api/blade-desk/QA/InspectionTask/sameResultCopy',
method: 'get',
params
});
};
// 获取硬度数据列表
export const getHardnessList = (params) => {
return request({
url: '/api/blade-desk/QA/IotHardness/getDataFirst',
method: 'get',
params
});
};
// 刷新硬度数据
export const refreshHardness = (params) => {
return request({
url: '/api/blade-desk/QA/IotHardness/getDataRefresh',
method: 'get',
params
});
};
// 获取测厚数据
export const getThicknessList = (params) => {
return request({
url: '/api/blade-desk/QA/IotThickness/getData',
method: 'get',
params
});
};
// 质量记录跳转
export const goQualityRecord = (params) => {
return request({
url: '/api/blade-desk/QA/InspectionTask/toQaRecord',
method: 'get',
params
});
};
// 合格证跳转
export const goCertificate = (params) => {
return request({
url: '/api/blade-desk/QA/InspectionTask/toCertificate',
method: 'get',
params
});
};
// 烧结包装防护-子件
export const getSubPackageList = (params) => {
return request({
url: '/api/blade-desk/QA/InspectionTask/subPartList',
method: 'get',
params
});
}; };

@ -2,89 +2,96 @@
<el-dialog title="新增" append-to-body :modelValue="openShow" width="70%" @close="closeDialog" fullscreen> <el-dialog title="新增" append-to-body :modelValue="openShow" width="70%" @close="closeDialog" fullscreen>
<div class="test_type"> <div class="test_type">
<span>审理类型</span> <span>审理类型</span>
<el-radio-group v-model="testType" @change="changeType"> <el-radio-group v-model="testType" @change="changeType" :disabled="type == 'view'">
<el-radio :value="1">erp审理</el-radio> <el-radio :value="1">erp审理</el-radio>
<el-radio :value="2">内部审理</el-radio> <el-radio :value="2">内部审理</el-radio>
</el-radio-group> </el-radio-group>
</div> </div>
<div class="test_type" v-if="testType == 1">
<span>历史订单</span>
<el-select v-model="value" placeholder="请选择" style="width: 400px;" :disabled="type == 'view'">
<el-option label="订单1" value="1" />
<el-option label="订单2" value="2" />
</el-select>
</div>
<el-descriptions title="订单信息" border :column="4" label-width="110"> <el-descriptions title="订单信息" border :column="4" label-width="110">
<el-descriptions-item label="车间订单号:">WO-898789988WO</el-descriptions-item> <el-descriptions-item label="车间订单号:">{{detailInfo.woCode}}</el-descriptions-item>
<el-descriptions-item label="发现工序:">镀后检验</el-descriptions-item> <el-descriptions-item label="发现工序:">{{detailInfo.productionDisposition}}</el-descriptions-item>
<el-descriptions-item label="流程卡号:">9887898</el-descriptions-item> <el-descriptions-item label="流程卡号:">{{detailInfo.cardNo}}</el-descriptions-item>
<el-descriptions-item label="批次号:">9088909887</el-descriptions-item> <el-descriptions-item label="批次号:">{{detailInfo.batchNo}}</el-descriptions-item>
<el-descriptions-item label="总数量:">78</el-descriptions-item> <el-descriptions-item label="总数量:">{{detailInfo.totalNum}}</el-descriptions-item>
<el-descriptions-item label="物料号:">78765688</el-descriptions-item> <el-descriptions-item label="物料号:">{{detailInfo.partCode}}</el-descriptions-item>
<el-descriptions-item label="物料名称:">物料1</el-descriptions-item> <el-descriptions-item label="物料名称:">{{detailInfo.materialName}}</el-descriptions-item>
<el-descriptions-item label="不良原因:"> <el-descriptions-item label="不良原因:">
<el-input v-model="input" placeholder="请输入" /> <el-input v-model="detailInfo.poorReason" placeholder="请输入" :disabled="type == 'view'" />
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="不良描述:"> <el-descriptions-item label="不良描述:">
<el-input v-model="input" type="textarea" :rows="3" placeholder="请输入" style="width: 40%;" /> <el-input v-model="detailInfo.poorDesc" type="textarea" :rows="3" placeholder="请输入" :disabled="type == 'view'" style="width: 40%;" />
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
<el-descriptions v-if="testType == 1" class="margin-top" title="质量信息" border :column="3" label-width="110" style="margin-bottom: 24px;"> <el-descriptions v-if="testType == 1" class="margin-top" title="质量信息" border :column="3" label-width="110" style="margin-bottom: 24px;">
<el-descriptions-item label="历史订单:"> <!-- <el-descriptions-item label="历史订单:">
<el-select v-model="value" placeholder="请选择" style="width: 400px;"> <el-select v-model="value" placeholder="请选择" style="width: 400px;" :disabled="type == 'view'">
<el-option label="订单1" value="1" /> <el-option label="订单1" value="1" />
<el-option label="订单2" value="2" /> <el-option label="订单2" value="2" />
</el-select> </el-select>
</el-descriptions-item> </el-descriptions-item> -->
<el-descriptions-item label="处置单类型:"> <el-descriptions-item label="处置单类型:">
<el-select v-model="value" placeholder="请选择" style="width: 400px;"> <el-select v-model="detailInfo.reviewOrderMode" placeholder="请选择" style="width: 400px;" :disabled="type == 'view'">
<el-option label="零件模式" value="1" /> <el-option label="零件模式" value="1" />
<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>
<el-descriptions-item label="不合格数:"> <el-descriptions-item label="不合格数:">
<el-input v-model="input" placeholder="请输入" style="width: 400px;"/> <el-input v-model="detailInfo.unqualifiedQty" placeholder="请输入" style="width: 400px;" :disabled="type == 'view'"/>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="比例:"> <el-descriptions-item label="比例:">
<el-input v-model="input" placeholder="请输入" style="width: 400px;"/> <el-input v-model="detailInfo.scale" placeholder="请输入" style="width: 400px;" :disabled="type == 'view'"/>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="上级编码:"> <el-descriptions-item label="上级编码:">
<el-input v-model="input" placeholder="请输入" style="width: 400px;"/> <el-input v-model="detailInfo.upCode" placeholder="请输入" style="width: 400px;" :disabled="type == 'view'"/>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label=""> <el-descriptions-item label="">
<el-checkbox-group v-model="checkList"> <el-checkbox-group v-model="checkList" :disabled="type == 'view'">
<el-checkbox label="批次性问题" value="Value A" /> <el-checkbox label="批次性问题" value="isBatProblem" />
<el-checkbox label="典型问题" value="Value B" /> <el-checkbox label="典型问题" value="isClassicProblem" />
<el-checkbox label="低级错误" value="Value C" /> <el-checkbox label="低级错误" value="isLowError" />
<el-checkbox label="质量问题" value="Value disabled" /> <el-checkbox label="质量问题" value="isQualityProblem" />
</el-checkbox-group> </el-checkbox-group>
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
<el-descriptions v-if="testType == 2" class="margin-top" title="质量信息" border :column="3" label-width="110" style="margin-bottom: 24px;"> <el-descriptions v-if="testType == 2" class="margin-top" title="质量信息" border :column="3" label-width="110" style="margin-bottom: 24px;">
<el-descriptions-item label="比例:"> <el-descriptions-item label="比例:">
<el-input v-model="input" placeholder="请输入" style="width: 400px;"/> <el-input v-model="detailInfo.scale" placeholder="请输入" style="width: 400px;" :disabled="type == 'view'"/>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="不合格数:"> <el-descriptions-item label="不合格数:">
<el-input v-model="input" placeholder="请输入" style="width: 400px;"/> <el-input v-model="detailInfo.unqualifiedQty" placeholder="请输入" style="width: 400px;" :disabled="type == 'view'"/>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="处置类型"> <el-descriptions-item label="处置类型">
<el-radio-group v-model="disposalType"> <el-radio-group v-model="disposalType" :disabled="type == 'view'">
<el-radio :value="1">返修</el-radio> <el-radio :value="1">返修</el-radio>
<el-radio :value="2">报废</el-radio> <el-radio :value="2">报废</el-radio>
</el-radio-group> </el-radio-group>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="返修数量:"> <el-descriptions-item label="返修数量:">
<el-input v-model="input" placeholder="请输入" style="width: 400px;"/> <el-input v-model="detailInfo.reDoNum" placeholder="请输入" style="width: 400px;" :disabled="type == 'view'"/>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="报废数量:"> <el-descriptions-item label="报废数量:">
<el-input v-model="input" placeholder="请输入" style="width: 400px;"/> <el-input v-model="detailInfo.scrapNum" placeholder="请输入" style="width: 400px;" :disabled="type == 'view'"/>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label=""> <el-descriptions-item label="">
<el-checkbox-group v-model="checkList"> <el-checkbox-group v-model="checkList" :disabled="type == 'view'">
<el-checkbox label="批次性问题" value="Value A" /> <el-checkbox label="批次性问题" value="isBatProblem" />
<el-checkbox label="典型问题" value="Value B" /> <el-checkbox label="典型问题" value="isClassicProblem" />
<el-checkbox label="低级错误" value="Value C" /> <el-checkbox label="低级错误" value="isLowError" />
<el-checkbox label="质量问题" value="Value disabled" /> <el-checkbox label="质量问题" value="isQualityProblem" />
</el-checkbox-group> </el-checkbox-group>
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
@ -146,62 +153,63 @@
<el-row :gutter="24" v-if="testType == 1" > <el-row :gutter="24" v-if="testType == 1" >
<el-col :span="24" style="margin-bottom: 24px;"> <el-col :span="24" style="margin-bottom: 24px;">
<div class="btn_box"> <div class="btn_box">
<el-button type="primary" plain @click="insertFaultEvent()">插入一行</el-button> <el-button type="primary" :disabled="type == 'view'" plain @click="insertFaultEvent()">插入一行</el-button>
<el-button type="danger" 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" @selection-change="handleSelectionChange"
@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="faultType.rstId" align="center"> <el-table-column label="故障类别" prop="ngType2Id" align="center">
<template #header> <template #header>
<span><i style="color:red">*</i>故障类别</span> <span><i style="color:red">*</i>故障类别</span>
</template> </template>
<template #default="scope"> <template #default="scope">
<el-select v-model="scope.row.faultType.rstId"> <el-select v-model="scope.row.ngType2Id" :disabled="type == 'view'">
<el-option v-for="item in errorTypeArr" :key="item.rstId" :value="item.rstId" <el-option v-for="item in errorTypeArr" :key="item.id" :value="item.id"
:label="item.rstName"></el-option> :label="item.name"></el-option>
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="问题大类" prop="questClass.rstId" align="center"> <el-table-column label="问题大类" prop="ngType3Id" align="center">
<template #header> <template #header>
<span><i style="color:red">*</i>问题大类</span> <span><i style="color:red">*</i>问题大类</span>
</template> </template>
<template #default="scope"> <template #default="scope">
<el-select v-model="scope.row.questClass.rstId" :disabled="!scope.row.faultType.rstId"> <el-select v-model="scope.row.ngType3Id" :disabled="!scope.row.ngType2Id || type == 'view'"
<el-option v-for="item in errorBigArr" :key="item.rstId" :value="item.rstId" @change="changeBigQuestion" >
:label="item.rstName"></el-option> <el-option v-for="item in errorBigArr" :key="item.id" :value="item.id"
:label="item.name"></el-option>
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="问题小类" prop="questSubClass.rstId" align="center"> <el-table-column label="问题小类" prop="ngType4Id" align="center">
<template #header> <template #header>
<span><i style="color:red">*</i>问题小类</span> <span><i style="color:red">*</i>问题小类</span>
</template> </template>
<template #default="scope"> <template #default="scope">
<el-select v-model="scope.row.questSubClass.rstId" <el-select v-model="scope.row.ngType4Id"
:disabled="!scope.row.questClass.rstId"> :disabled="!scope.row.ngType3Id || type == 'view'" >
<el-option v-for="item in errorSmallArr" :key="item.rstId" :value="item.rstId" <el-option v-for="item in errorSmallArr" :key="item.id" :value="item.id"
:label="item.rstName"></el-option> :label="item.name"></el-option>
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="比例" prop="proportion" align="center"> <el-table-column label="比例" prop="scale" align="center">
<template #default="scope"> <template #default="scope">
<el-input v-model="scope.row.proportion" <el-input v-model="scope.row.scale" :disabled="type == 'view'"
@input="(value) => changeProportion(value, scope.$index)"></el-input> @input="(value) => changeProportion(value, scope.$index)"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="数量" prop="faultQty" align="center"> <el-table-column label="数量" prop="qty" align="center">
<template #default="scope"> <template #default="scope">
<el-input v-model="scope.row.faultQty" <el-input v-model="scope.row.qty" :disabled="type == 'view'"
@input="(value) => changeFaultQty(value, scope.$index)"></el-input> @input="(value) => changeFaultQty(value, scope.$index)"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="备注" prop="memo" align="center"> <el-table-column label="备注" prop="memo" align="center">
<template #default="scope"> <template #default="scope">
<el-input v-model="scope.row.memo"></el-input> <el-input v-model="scope.row.memo" :disabled="type == 'view'"></el-input>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -209,8 +217,8 @@
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<div class="btn_box"> <div class="btn_box">
<el-button type="primary" plain @click="insertDutyEvent()">插入一行</el-button> <el-button type="primary" :disabled="type == 'view'" plain @click="insertDutyEvent()">插入一行</el-button>
<el-button type="danger" 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" @selection-change="handleDutyChange"
@ -221,8 +229,8 @@
<span><i style="color:red">*</i>责任零件</span> <span><i style="color:red">*</i>责任零件</span>
</template> </template>
<template #default="scope"> <template #default="scope">
<el-input v-model="scope.row.dutyPart" v-if="trialType == 1"></el-input> <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="trialType == 2"> <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" <el-option v-for="item in dutyPartArr" :key="item.rstId" :value="item.rstId"
:label="item.rstName"></el-option> :label="item.rstName"></el-option>
</el-select> </el-select>
@ -233,7 +241,7 @@
<span><i style="color:red">*</i>责任批号</span> <span><i style="color:red">*</i>责任批号</span>
</template> </template>
<template #default="scope"> <template #default="scope">
<el-select v-model="scope.row.dutyBatch"> <el-select v-model="scope.row.dutyBatch" :disabled="type == 'view'">
<el-option v-for="item in dutyBatchArr" :key="item.value" :value="item.value" <el-option v-for="item in dutyBatchArr" :key="item.value" :value="item.value"
:label="item.label"></el-option> :label="item.label"></el-option>
<!-- <el-option v-for="item in dutyBatchArr" :key="item.rstId" :value="item.rstId" :label="item.rstName"></el-option> --> <!-- <el-option v-for="item in dutyBatchArr" :key="item.rstId" :value="item.rstId" :label="item.rstName"></el-option> -->
@ -242,7 +250,7 @@
</el-table-column> </el-table-column>
<el-table-column label="相关零件" prop="relevantPart" align="center"> <el-table-column label="相关零件" prop="relevantPart" align="center">
<template #default="scope"> <template #default="scope">
<el-select v-model="scope.row.relevantPart"> <el-select v-model="scope.row.relevantPart" :disabled="type == 'view'">
<el-option v-for="item in relevantPartArr" :key="item.rstId" :value="item.rstId" <el-option v-for="item in relevantPartArr" :key="item.rstId" :value="item.rstId"
:label="item.rstName"></el-option> :label="item.rstName"></el-option>
</el-select> </el-select>
@ -250,25 +258,25 @@
</el-table-column> </el-table-column>
<el-table-column label="相关批号" prop="relevantBatch" align="center"> <el-table-column label="相关批号" prop="relevantBatch" align="center">
<template #default="scope"> <template #default="scope">
<el-select v-model="scope.row.relevantBatch"> <el-select v-model="scope.row.relevantBatch" :disabled="type == 'view'">
<el-option v-for="item in relevantBatchArr" :key="item.rstId" :value="item.rstId" <el-option v-for="item in relevantBatchArr" :key="item.rstId" :value="item.rstId"
:label="item.rstName"></el-option> :label="item.rstName"></el-option>
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="数量(件)" prop="dutyQty" align="center"> <el-table-column label="数量(件)" prop="qty" align="center">
<template #default="scope"> <template #default="scope">
<el-input v-model="scope.row.dutyQty"></el-input> <el-input v-model="scope.row.qty" :disabled="type == 'view'"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="单位" prop="unit"> <el-table-column label="单位" prop="unit">
<template #default="scope"> <template #default="scope">
<el-input v-model="scope.row.unit"></el-input> <el-input v-model="scope.row.unit" :disabled="type == 'view'"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="备注" prop="memo"> <el-table-column label="备注" prop="memo">
<template #default="scope"> <template #default="scope">
<el-input v-model="scope.row.memo"></el-input> <el-input v-model="scope.row.memo" :disabled="type == 'view'"></el-input>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -279,17 +287,19 @@
<template #footer> <template #footer>
<span class="dialog-footer"> <span class="dialog-footer">
<el-button plain @click="closeDialog">取消</el-button> <el-button plain @click="closeDialog">取消</el-button>
<el-button type="primary" v-if="testType == 1" @click="submit(-1)">保存</el-button> <el-button type="primary" v-if="testType == 1 && type != 'view'" @click="submit(-1)">保存</el-button>
<el-button type="primary" v-if="testType == 2" @click="submitInside">提交</el-button> <el-button type="primary" v-if="testType == 2 && type != 'view'" @click="submitInside">提交</el-button>
<el-button type="primary" v-if="testType == 1" plain @click="submit(1)">提交质保</el-button> <el-button type="primary" v-if="testType == 1 && type != 'view'" plain @click="submit(1)">提交质保</el-button>
<el-button type="primary" v-if="testType == 1" plain @click="submit(2)">提交工艺</el-button> <el-button type="primary" v-if="testType == 1 && type != 'view'" plain @click="submit(2)">提交工艺</el-button>
<el-button type="primary" v-if="testType == 1" plain @click="submit(3)">提交设计</el-button> <el-button type="primary" v-if="testType == 1 && type != 'view'" plain @click="submit(3)">提交设计</el-button>
<el-button type="primary" v-if="testType == 1" plain @click="submit(4)">提交设计变更</el-button> <el-button type="primary" v-if="testType == 1 && type != 'view'" plain @click="submit(4)">提交设计变更</el-button>
</span> </span>
</template> </template>
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import {getFaultClassList,getQuestionClassList,getQuestionClassList2,getProductionDispositionDetail,
createProductionDisposition} from "@/api/qualityManagement/productionTesting/productionDisposition"
export default { export default {
props: { props: {
showDialog: { showDialog: {
@ -299,6 +309,14 @@ export default {
moldAddMore: { moldAddMore: {
type: Boolean, type: Boolean,
default: false default: false
},
rsId:{
type: String,
default: ''
},
type:{
type: String,
default: ''
} }
}, },
data() { data() {
@ -310,12 +328,61 @@ export default {
disposalType:1, // disposalType:1, //
faultList:[], faultList:[],
dutyList:[], dutyList:[],
errorTypeArr:[], //
errorBigArr:[], //
errorSmallArr:[], //
detailInfo:{},
checkList:[],
} }
}, },
mounted() { mounted() {
this.openShow = this.showDialog this.openShow = this.showDialog
this.getError()
this.getQuestionBig()
this.getDetail()
// this.getQuestionSmall()
}, },
methods: { methods: {
getDetail(){
getProductionDispositionDetail({
id:this.rsId
}).then(res =>{
console.log('res---------------',res)
this.detailInfo = res.data.data
this.testType = res.data.data.bizType == 3 ? 1 : 2
this.disposalType = res.data.data.bizType == 3 ? '' : res.data.data.bizType
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,
)
})
},
//
getError(){
getFaultClassList().then(res => {
this.errorTypeArr = res.data.data
})
},
//
getQuestionBig(){
getQuestionClassList().then(res => {
this.errorBigArr = res.data.data
})
},
changeBigQuestion(val){
this.getQuestionSmall(val)
},
//
getQuestionSmall(val){
getQuestionClassList2({
parentId:val
}).then(res => {
this.errorSmallArr = res.data.data
})
},
insertFaultEvent(){ insertFaultEvent(){
this.faultList.push({_select:false}) this.faultList.push({_select:false})
}, },
@ -329,13 +396,40 @@ export default {
changeType(val){ changeType(val){
console.log('val---------------------',val) console.log('val---------------------',val)
}, },
submit(val){
this.detailInfo.bizType = this.testType == 1 ? 3 : this.testType == 2 ? this.disposalType == 1 ? 1 : 2 : ''
this.detailInfo.isBatProblem = this.checkList.includes('isBatProblem') ? 1 : 0
this.detailInfo.isClassicProblem = this.checkList.includes('isClassicProblem') ? 1 : 0
this.detailInfo.isLowError = this.checkList.includes('isLowError') ? 1 : 0
this.detailInfo.isQualityProblem = this.checkList.includes('isQualityProblem') ? 1 : 0
this.detailInfo.faultList = this.faultList
this.detailInfo.dutyList = this.dutyList
console.log('detail---------------------',this.detailInfo)
},
// //
submitInside(){ submitInside(){
if(this.disposalType == 1){ // if(this.disposalType == 1){
let params = { // let params = {
// }
// }
// this.detailInfo = {
// ...this.detailInfo,
// bizType:this.testType == 1 ? 3 : this.testType == 2 ? this.disposalType == 1 ? 1 : 2 : ''
// }
console.log('check===============',this.checkList.includes('isQualityProblem'))
this.detailInfo.bizType = this.testType == 1 ? 3 : this.testType == 2 ? this.disposalType == 1 ? 1 : 2 : ''
this.detailInfo.isBatProblem = this.checkList.includes('isBatProblem') ? 1 : 0
this.detailInfo.isClassicProblem = this.checkList.includes('isClassicProblem') ? 1 : 0
this.detailInfo.isLowError = this.checkList.includes('isLowError') ? 1 : 0
this.detailInfo.isQualityProblem = this.checkList.includes('isQualityProblem') ? 1 : 0
console.log('detailInfo-----------------',this.detailInfo)
createProductionDisposition(this.detailInfo).then(res =>{
if(res.data.code == 200){
this.$message.success('提交成功')
this.closeDialog(true)
} }
} })
}, },
} }

@ -13,10 +13,10 @@
<el-button type="primary" plain @click="openZlSystem">质量系统 </el-button> <el-button type="primary" plain @click="openZlSystem">质量系统 </el-button>
</template> </template>
<template #menu="{ row }"> <template #menu="{ row }">
<el-button type="text" @click="addReview(row.trialType, row.rsId)">详情</el-button> <el-button type="text" @click="addReview(row.trialType, row.id)">详情</el-button>
<el-button type="text" @click="hearingFn(row.trialType, row.rsId)">提交</el-button> <el-button type="text" @click="hearingFn(row.trialType, row.id)">提交</el-button>
</template> </template>
<template #proNo="{ row }"> <!-- <template #proNo="{ row }">
{{ row.prWorkCheck.prWorkPlan.prWorkOrder.pjYieldOrder.partCode }} {{ row.prWorkCheck.prWorkPlan.prWorkOrder.pjYieldOrder.partCode }}
</template> </template>
<template #proName="{ row }"> <template #proName="{ row }">
@ -39,7 +39,7 @@
</template> </template>
<template #userName="{ row }"> <template #userName="{ row }">
{{ row.createMan.userName }} {{ row.createMan.userName }}
</template> </template> -->
<template #proNo-form="{ type }"> <template #proNo-form="{ type }">
<span v-show="type == 'view'"> <span v-show="type == 'view'">
{{ form.prWorkCheck.prWorkPlan.prWorkOrder.pjYieldOrder.partCode }} {{ form.prWorkCheck.prWorkPlan.prWorkOrder.pjYieldOrder.partCode }}
@ -85,11 +85,12 @@
:trial-type="trialType"></pattern-dialog> :trial-type="trialType"></pattern-dialog>
<!-- 提交 --> <!-- 提交 -->
<hearingDialog v-if="hearingOpen" :show-dialog="hearingOpen" @closeDialog="closeDialog"></hearingDialog> <hearingDialog v-if="hearingOpen" :type="dialogType" :rs-id="rsId" :show-dialog="hearingOpen" @closeDialog="closeDialog"></hearingDialog>
</basic-container> </basic-container>
</template> </template>
<script> <script>
import {getProductionDispositionList} from "@/api/qualityManagement/productionTesting/productionDisposition.js"
import patternDialog from './patternDialog.vue' import patternDialog from './patternDialog.vue'
import hearingDialog from './hearingDialog.vue' import hearingDialog from './hearingDialog.vue'
export default { export default {
@ -109,6 +110,7 @@ export default {
trialType: null, trialType: null,
showDialog: false, showDialog: false,
rsId: null, rsId: null,
dialogType:'',
form: {}, form: {},
option: { option: {
tip: false, tip: false,
@ -152,7 +154,7 @@ export default {
column: [ column: [
{ {
label: '上级编号', label: '上级编号',
prop: 'supCode', prop: 'upCode',
addDisplay: false, addDisplay: false,
editDisplay: false, editDisplay: false,
span: 24, span: 24,
@ -168,7 +170,7 @@ export default {
}, },
{ {
label: '单据编号', label: '单据编号',
prop: 'rsCode', prop: 'docCode',
addDisplay: false, addDisplay: false,
editDisplay: false, editDisplay: false,
span: 24, span: 24,
@ -184,7 +186,7 @@ export default {
}, },
{ {
label: '车间订单号', label: '车间订单号',
prop: 'rsCode', prop: 'woCode',
addDisplay: false, addDisplay: false,
editDisplay: false, editDisplay: false,
span: 24, span: 24,
@ -202,7 +204,8 @@ export default {
{ {
label: '产品号', label: '产品号',
prop: 'proNo', prop: 'prodCode',
// bind:"base.prodCode",
addDisplay: false, addDisplay: false,
editDisplay: false, editDisplay: false,
span: 24, span: 24,
@ -218,7 +221,8 @@ export default {
}, },
{ {
label: '产品名称', label: '产品名称',
prop: 'proName', prop: 'prodName',
// bind:"base.prodName",
addDisplay: false, addDisplay: false,
editDisplay: false, editDisplay: false,
span: 24, span: 24,
@ -234,7 +238,8 @@ export default {
}, },
{ {
label: '产品型号', label: '产品型号',
prop: 'proClass', prop: 'prodTypeName',
// bind:"base.prodTypeName",
addDisplay: false, addDisplay: false,
editDisplay: false, editDisplay: false,
span: 24, span: 24,
@ -250,7 +255,7 @@ export default {
}, },
{ {
label: '生产标识', label: '生产标识',
prop: 'identification', prop: 'prodIdent',
addDisplay: false, addDisplay: false,
editDisplay: false, editDisplay: false,
span: 24, span: 24,
@ -282,7 +287,7 @@ export default {
}, },
{ {
label: '流程卡号', label: '流程卡号',
prop: 'rsCode', prop: 'cardNo',
addDisplay: false, addDisplay: false,
editDisplay: false, editDisplay: false,
span: 24, span: 24,
@ -298,7 +303,7 @@ export default {
}, },
{ {
label: '生产数量', label: '生产数量',
prop: 'qualifiedQty', prop: 'poQty',
addDisplay: false, addDisplay: false,
editDisplay: false, editDisplay: false,
span: 24, span: 24,
@ -314,7 +319,7 @@ export default {
}, },
{ {
label: '不合格数量', label: '不合格数量',
prop: 'unqualQty', prop: 'unqualifiedQty',
addDisplay: false, addDisplay: false,
editDisplay: false, editDisplay: false,
span: 24, span: 24,
@ -331,6 +336,7 @@ export default {
{ {
label: '申请人', label: '申请人',
prop: 'userName', prop: 'userName',
bind:'base.createUserRealName',
addDisplay: false, addDisplay: false,
editDisplay: false, editDisplay: false,
span: 24, span: 24,
@ -362,7 +368,7 @@ export default {
}, },
{ {
label: '处置单类型', label: '处置单类型',
prop: 'trialTypeTitle', prop: 'reviewOrderMode',
addDisplay: false, addDisplay: false,
editDisplay: false, editDisplay: false,
span: 24, span: 24,
@ -392,7 +398,7 @@ export default {
}, },
{ {
label: '当前状态', label: '当前状态',
prop: 'curStatusTitle', prop: 'status',
addDisplay: false, addDisplay: false,
editDisplay: false, editDisplay: false,
span: 24, span: 24,
@ -424,7 +430,7 @@ export default {
}, },
{ {
label: '打回人', label: '打回人',
prop: 'repulseMan', prop: 'backUserRealName',
addDisplay: false, addDisplay: false,
editDisplay: false, editDisplay: false,
span: 24, span: 24,
@ -439,7 +445,7 @@ export default {
}, },
{ {
label: '打回时间', label: '打回时间',
prop: 'repulseTime', prop: 'backDate',
addDisplay: false, addDisplay: false,
editDisplay: false, editDisplay: false,
span: 24, span: 24,
@ -454,7 +460,7 @@ export default {
}, },
{ {
label: '打回原因', label: '打回原因',
prop: 'repulseMemo', prop: 'backReason',
addDisplay: false, addDisplay: false,
editDisplay: false, editDisplay: false,
span: 24, span: 24,
@ -469,7 +475,7 @@ export default {
}, },
{ {
label: '审理状态', label: '审理状态',
prop: 'reviewStatusTitle', prop: 'reviewStatus',
addDisplay: false, addDisplay: false,
editDisplay: false, editDisplay: false,
span: 24, span: 24,
@ -484,7 +490,7 @@ export default {
}, },
{ {
label: '审理人', label: '审理人',
prop: 'reviewMan', prop: 'reviewUserRealName',
addDisplay: false, addDisplay: false,
editDisplay: false, editDisplay: false,
span: 24, span: 24,
@ -499,7 +505,7 @@ export default {
}, },
{ {
label: '审理时间', label: '审理时间',
prop: 'reviewTime', prop: 'reviewDate',
addDisplay: false, addDisplay: false,
editDisplay: false, editDisplay: false,
span: 24, span: 24,
@ -538,7 +544,9 @@ export default {
}, },
methods: { methods: {
// //
hearingFn() { hearingFn(val,id) {
this.rsId = id
this.dialogType = 'submit'
this.hearingOpen = true this.hearingOpen = true
}, },
closeDialog() { closeDialog() {
@ -552,8 +560,9 @@ export default {
}, },
addReview(type, id) { addReview(type, id) {
this.rsId = id this.rsId = id
this.dialogType = 'view'
this.trialType = type this.trialType = type
this.showDialog = true this.hearingOpen = true
}, },
rowSave(row, done, loading) { rowSave(row, done, loading) {
@ -588,75 +597,82 @@ export default {
this.onLoad(this.page, this.query); this.onLoad(this.page, this.query);
}, },
onLoad() { onLoad() {
this.data = [ getProductionDispositionList({
{ current:this.page.currentPage,
rsId: 22, size:this.page.pageSize
supCode: 'WO-S23041025-R02', rsCode: 'DJ-S23041025-R02', }).then(res =>{
prWorkCheck: { this.data = res.data.data.records
prWorkPlan: { this.page.total = res.data.data.total
prWorkOrder: { })
pjYieldOrder: { // this.data = [
partCode: 'CP-S23041025-R02', // {
partName: '产品名称', // rsId: 22,
productType: '产品型号', // supCode: 'WO-S23041025-R02', rsCode: 'DJ-S23041025-R02',
prodIdent: '生产标识', // prWorkCheck: {
batchNo: '批次号' // prWorkPlan: {
} // prWorkOrder: {
}, // pjYieldOrder: {
qualifiedQty: 10, // partCode: 'CP-S23041025-R02',
unqualifiedQty: 5, // partName: '',
} // productType: '',
}, // prodIdent: '',
createMan: { // batchNo: ''
userName: '张三' // }
}, // },
createTime: '2024-12-21 10:05:22', // qualifiedQty: 10,
trialTypeTitle: '零件模式', // unqualifiedQty: 5,
trialType: 1, // }
curStatusTitle: '新建', // },
repulseMan: '李四', // createMan: {
repulseTime: '2024-12-24 11:02:23', // userName: ''
repulseMemo: '不合格', // },
reviewStatusTitle: '审理中', // createTime: '2024-12-21 10:05:22',
reviewMan: '李四', // trialTypeTitle: '',
reviewTime: '2024-12-30 15:23:32', // trialType: 1,
memo: '通过' // curStatusTitle: '',
}, // repulseMan: '',
{ // repulseTime: '2024-12-24 11:02:23',
rsId: 23, // repulseMemo: '',
supCode: 'WO-S23041025-R02', rsCode: 'DJ-S23041025-R02', // reviewStatusTitle: '',
prWorkCheck: { // reviewMan: '',
prWorkPlan: { // reviewTime: '2024-12-30 15:23:32',
prWorkOrder: { // memo: ''
pjYieldOrder: { // },
partCode: 'CP-S23041025-R02', // {
partName: '产品名称', // rsId: 23,
productType: '产品型号', // supCode: 'WO-S23041025-R02', rsCode: 'DJ-S23041025-R02',
prodIdent: '生产标识', // prWorkCheck: {
batchNo: '批次号' // prWorkPlan: {
} // prWorkOrder: {
}, // pjYieldOrder: {
qualifiedQty: 10, // partCode: 'CP-S23041025-R02',
unqualifiedQty: 5, // partName: '',
} // productType: '',
}, // prodIdent: '',
createMan: { // batchNo: ''
userName: '张三' // }
}, // },
createTime: '2024-12-21 10:05:22', // qualifiedQty: 10,
trialTypeTitle: '零件模式', // unqualifiedQty: 5,
trialType: 1, // }
curStatusTitle: '新建', // },
repulseMan: '李四', // createMan: {
repulseTime: '2024-12-24 11:02:23', // userName: ''
repulseMemo: '不合格', // },
reviewStatusTitle: '审理中', // createTime: '2024-12-21 10:05:22',
reviewMan: '李四', // trialTypeTitle: '',
reviewTime: '2024-12-30 15:23:32', // trialType: 1,
memo: '通过' // curStatusTitle: '',
} // repulseMan: '',
] // repulseTime: '2024-12-24 11:02:23',
this.page.total = this.data.length // repulseMemo: '',
// reviewStatusTitle: '',
// reviewMan: '',
// reviewTime: '2024-12-30 15:23:32',
// memo: ''
// }
// ]
// this.page.total = this.data.length
}, },
} }
} }

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -31,7 +31,7 @@
<template #menu-right> <template #menu-right>
</template> </template>
<template #menu="{ row }"> <template #menu="{ row }">
<el-button type="text">审理</el-button>
</template> </template>
</avue-crud> </avue-crud>
@ -57,7 +57,7 @@ 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} from './options' import {insideOption,erpOption} from './options'
export default { export default {
components: { components: {
@ -92,193 +92,8 @@ export default {
currentPage: 1, currentPage: 1,
total: 0, total: 0,
}, },
option: { option: erpOption,
columnSort: true, insideOption:insideOption,
tip: false,
height: 'auto',
calcHeight: 32,
simplePage: false,
searchShow: true,
searchMenuSpan: 6,
searchIcon: true,
searchIndex: 3,
tree: false,
border: true,
index: true,
selection: false,
addBtn: false,
editBtn: false,
viewBtn: false,
delBtn: false,
editBtnText: '修改',
labelWidth: 120,
menuWidth: 80,
dialogWidth: 900,
dialogClickModal: false,
searchEnter: true,
excelBtn: false,
filterBtn: true,
searchShowBtn: false,
excelBtn: true,
showOverflowTooltip: true,
addBtnIcon: ' ',
viewBtnIcon: ' ',
delBtnIcon: ' ',
editBtnIcon: ' ',
gridBtn: false,
searchLabelPosition: 'left',
searchGutter: 24,
searchSpan: 6,
menuAlign: 'left',
gridBtn: false,
searchMenuPosition: 'right',
align: 'center',
menu:false,
column: [
{
label: '审理单号',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
span: 12,
width:150
},
{
label: '责任零件',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
span: 12,
width:150
},
{
label: '责任批号',
prop: 'plate',
bind: 'dsPart.plate',
search: true,
sortable: true,
span: 12,
display: false,
width:150
},
{
label: '工序号',
prop: 'plate',
bind: 'dsPart.plate',
search: false,
sortable: true,
span: 12,
display: false,
width:150
},
{
label: '工序名称',
prop: 'plate',
bind: 'dsPart.plate',
search: false,
sortable: true,
span: 12,
display: false,
width:150
},
{
label: '上级编号',
prop: 'plate',
bind: 'dsPart.plate',
search: false,
sortable: true,
span: 12,
display: false,
width:150
},
{
label: '返修路线',
prop: 'plate',
bind: 'dsPart.plate',
search: false,
sortable: true,
span: 12,
display: false,
width:150
},
{
label: '发生单位',
prop: 'plate',
bind: 'dsPart.plate',
search: false,
sortable: true,
span: 12,
display: false,
width:150
},
{
label: '责任部门',
prop: 'plate',
bind: 'dsPart.plate',
search: false,
sortable: true,
span: 12,
display: false,
width:150
},
{
label: '审理人',
prop: 'plate',
bind: 'dsPart.plate',
search: false,
sortable: true,
span: 12,
display: false,
width:150
},
{
label: '零件号',
prop: 'plate',
bind: 'dsPart.plate',
search: false,
sortable: true,
span: 12,
display: false,
width:150
},
{
label: '批次号',
prop: 'plate',
bind: 'dsPart.plate',
search: false,
sortable: true,
span: 12,
display: false,
width:150
},
{
label: '备注',
prop: 'plate',
bind: 'dsPart.plate',
search: false,
sortable: true,
span: 12,
display: false,
width:150
},
{
label: '处理意见',
prop: 'plate',
bind: 'dsPart.plate',
search: false,
sortable: true,
span: 12,
display: false,
width:150
},
],
},
insideOption,
data: [], data: [],
isRushOpen: false,// isRushOpen: false,//

@ -33,13 +33,13 @@ export const insideOption = {
editBtnIcon: ' ', editBtnIcon: ' ',
gridBtn: false, gridBtn: false,
searchLabelPosition: 'left', searchLabelPosition: 'left',
searchLabelWidth: 100,
searchGutter: 24, searchGutter: 24,
searchSpan: 6, searchSpan: 6,
menuAlign: 'left', menuAlign: 'left',
gridBtn: false, gridBtn: false,
searchMenuPosition: 'right', searchMenuPosition: 'right',
align: 'center', align: 'center',
menu: false,
column: [ column: [
{ {
label: '审理单号', label: '审理单号',
@ -53,7 +53,7 @@ export const insideOption = {
}, },
{ {
label: '车间订单号', label: '车间订单号',
prop: 'partCode', prop: 'woCode',
search: true, search: true,
sortable: true, sortable: true,
span: 12, span: 12,
@ -61,7 +61,7 @@ export const insideOption = {
}, },
{ {
label: '物料号', label: '物料号',
prop: 'partCode', prop: 'productCode',
search: true, search: true,
sortable: true, sortable: true,
span: 12, span: 12,
@ -69,7 +69,7 @@ export const insideOption = {
}, },
{ {
label: '物料名称', label: '物料名称',
prop: 'partCode', prop: 'goodName',
search: false, search: false,
sortable: true, sortable: true,
span: 12, span: 12,
@ -77,7 +77,7 @@ export const insideOption = {
}, },
{ {
label: '批次号', label: '批次号',
prop: 'partCode', prop: 'batchNo',
search: false, search: false,
sortable: true, sortable: true,
span: 12, span: 12,
@ -85,7 +85,7 @@ export const insideOption = {
}, },
{ {
label: '生产标识', label: '生产标识',
prop: 'partCode', prop: 'prodIdent',
search: false, search: false,
sortable: true, sortable: true,
span: 12, span: 12,
@ -93,7 +93,7 @@ export const insideOption = {
}, },
{ {
label: '供应商代码', label: '供应商代码',
prop: 'partCode', prop: 'ocCode',
search: false, search: false,
sortable: true, sortable: true,
span: 12, span: 12,
@ -101,7 +101,7 @@ export const insideOption = {
}, },
{ {
label: '供应商名称', label: '供应商名称',
prop: 'partCode', prop: 'ocName',
search: true, search: true,
sortable: true, sortable: true,
span: 12, span: 12,
@ -109,15 +109,22 @@ export const insideOption = {
}, },
{ {
label: '审理类型', label: '审理类型',
prop: 'partCode', prop: 'testType',
type:'select',
search: true, search: true,
sortable: true, sortable: true,
span: 12, span: 12,
width: 150 width: 150,
dicUrl:'/api/blade-system/dict/dictionary?code=ReviewSheet-Self-Type',
props: { label: 'dictValue', value: 'dictKey' },
// props:{
// label:'dictValue',
// value:'dicKey'
// }
}, },
{ {
label: '比例', label: '比例',
prop: 'partCode', prop: 'scale',
search: false, search: false,
sortable: true, sortable: true,
span: 12, span: 12,
@ -125,7 +132,7 @@ export const insideOption = {
}, },
{ {
label: '需求数量', label: '需求数量',
prop: 'partCode', prop: 'needValue',
search: false, search: false,
sortable: true, sortable: true,
span: 12, span: 12,
@ -133,7 +140,7 @@ export const insideOption = {
}, },
{ {
label: '返修/报废数量', label: '返修/报废数量',
prop: 'partCode', prop: 'qty',
search: false, search: false,
sortable: true, sortable: true,
span: 12, span: 12,
@ -141,7 +148,7 @@ export const insideOption = {
}, },
{ {
label: '故障原因', label: '故障原因',
prop: 'partCode', prop: 'faultReason',
search: false, search: false,
sortable: true, sortable: true,
span: 12, span: 12,
@ -149,7 +156,7 @@ export const insideOption = {
}, },
{ {
label: '审理状态', label: '审理状态',
prop: 'partCode', prop: 'reviewStatus',
search: true, search: true,
sortable: true, sortable: true,
span: 12, span: 12,
@ -157,7 +164,7 @@ export const insideOption = {
}, },
{ {
label: '审理结论', label: '审理结论',
prop: 'partCode', prop: 'result',
search: false, search: false,
sortable: true, sortable: true,
span: 12, span: 12,
@ -165,7 +172,7 @@ export const insideOption = {
}, },
{ {
label: '提请人员', label: '提请人员',
prop: 'partCode', prop: 'crUserRealName',
search: false, search: false,
sortable: true, sortable: true,
span: 12, span: 12,
@ -173,7 +180,7 @@ export const insideOption = {
}, },
{ {
label: '提请日期', label: '提请日期',
prop: 'partCode', prop: 'crDate',
search: true, search: true,
sortable: true, sortable: true,
span: 12, span: 12,
@ -181,7 +188,7 @@ export const insideOption = {
}, },
{ {
label: '审理时间', label: '审理时间',
prop: 'partCode', prop: 'reviewDate',
search: true, search: true,
sortable: true, sortable: true,
span: 12, span: 12,
@ -189,7 +196,7 @@ export const insideOption = {
}, },
{ {
label: '审理人', label: '审理人',
prop: 'partCode', prop: 'reviewUserRealName',
search: false, search: false,
sortable: true, sortable: true,
span: 12, span: 12,
@ -197,7 +204,7 @@ export const insideOption = {
}, },
{ {
label: '打回原因', label: '打回原因',
prop: 'partCode', prop: 'backReason',
search: false, search: false,
sortable: true, sortable: true,
span: 12, span: 12,
@ -205,11 +212,198 @@ export const insideOption = {
}, },
{ {
label: '镀前价格', label: '镀前价格',
prop: 'partCode', prop: 'price',
search: false, search: false,
sortable: true, sortable: true,
span: 12, span: 12,
width: 150 width: 150
}, },
] ]
}
export const erpOption = {
columnSort: true,
tip: false,
height: 'auto',
calcHeight: 32,
simplePage: false,
searchShow: true,
searchMenuSpan: 6,
searchIcon: true,
searchIndex: 3,
tree: false,
border: true,
index: true,
selection: false,
addBtn: false,
editBtn: false,
viewBtn: false,
delBtn: false,
editBtnText: '修改',
labelWidth: 120,
menuWidth: 80,
dialogWidth: 900,
dialogClickModal: false,
searchEnter: true,
excelBtn: false,
filterBtn: true,
searchShowBtn: false,
excelBtn: true,
showOverflowTooltip: true,
addBtnIcon: ' ',
viewBtnIcon: ' ',
delBtnIcon: ' ',
editBtnIcon: ' ',
gridBtn: false,
searchLabelPosition: 'left',
searchGutter: 24,
searchSpan: 6,
menuAlign: 'left',
gridBtn: false,
searchMenuPosition: 'right',
align: 'center',
menu:false,
column: [
{
label: '审理单号',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
span: 12,
width:150
},
{
label: '责任零件',
prop: 'partCode',
bind: 'dsPart.partCode',
search: true,
sortable: true,
span: 12,
width:150
},
{
label: '责任批号',
prop: 'plate',
bind: 'dsPart.plate',
search: true,
sortable: true,
span: 12,
display: false,
width:150
},
{
label: '工序号',
prop: 'plate',
bind: 'dsPart.plate',
search: false,
sortable: true,
span: 12,
display: false,
width:150
},
{
label: '工序名称',
prop: 'plate',
bind: 'dsPart.plate',
search: false,
sortable: true,
span: 12,
display: false,
width:150
},
{
label: '上级编号',
prop: 'plate',
bind: 'dsPart.plate',
search: false,
sortable: true,
span: 12,
display: false,
width:150
},
{
label: '返修路线',
prop: 'plate',
bind: 'dsPart.plate',
search: false,
sortable: true,
span: 12,
display: false,
width:150
},
{
label: '发生单位',
prop: 'plate',
bind: 'dsPart.plate',
search: false,
sortable: true,
span: 12,
display: false,
width:150
},
{
label: '责任部门',
prop: 'plate',
bind: 'dsPart.plate',
search: false,
sortable: true,
span: 12,
display: false,
width:150
},
{
label: '审理人',
prop: 'plate',
bind: 'dsPart.plate',
search: false,
sortable: true,
span: 12,
display: false,
width:150
},
{
label: '零件号',
prop: 'plate',
bind: 'dsPart.plate',
search: false,
sortable: true,
span: 12,
display: false,
width:150
},
{
label: '批次号',
prop: 'plate',
bind: 'dsPart.plate',
search: false,
sortable: true,
span: 12,
display: false,
width:150
},
{
label: '备注',
prop: 'plate',
bind: 'dsPart.plate',
search: false,
sortable: true,
span: 12,
display: false,
width:150
},
{
label: '处理意见',
prop: 'plate',
bind: 'dsPart.plate',
search: false,
sortable: true,
span: 12,
display: false,
width:150
},
],
} }

@ -379,7 +379,8 @@ export default {
getDetail({id:this.rowId}).then(res =>{ getDetail({id:this.rowId}).then(res =>{
this.form = { this.form = {
...res.data.data, ...res.data.data,
isPutOff:res.data.data.isPutOff == 1 ? true : false isPutOff:res.data.data.isPutOff == 1 ? true : false,
teamId:res.data.data.teamId + ''
} }
if(this.form.jobType == 1){ if(this.form.jobType == 1){
this.form = { this.form = {

@ -60,7 +60,7 @@
<el-col :span="6"> <el-col :span="6">
<span>任务结束时间</span><span>{{ detailForm.finishDate }}</span> <span>任务结束时间</span><span>{{ detailForm.finishDate }}</span>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6" v-show="detailForm.status == 10">
<span>任务结束原因</span><span>{{ detailForm.finishReason }}</span> <span>任务结束原因</span><span>{{ detailForm.finishReason }}</span>
</el-col> </el-col>
</el-row> </el-row>
@ -469,35 +469,36 @@ export default {
// //
submit() { submit() {
let fieldsToValidate = {} let fieldsToValidate = {}
if (this.detailForm.status == 1) { this.closeDialog()
this.$refs.initialInspectionForm.validate(valid => { // if (this.detailForm.status == 1) {
console.log('valid', valid) // this.$refs.initialInspectionForm.validate(valid => {
if (valid) { // console.log('valid', valid)
this.closeDialog() // if (valid) {
} // this.closeDialog()
}) // }
} else if (this.detailForm.status == 2) { // })
this.$refs.auditForm.validate(valid => { // } else if (this.detailForm.status == 2) {
console.log('valid', valid) // this.$refs.auditForm.validate(valid => {
if (valid) { // console.log('valid', valid)
this.closeDialog() // if (valid) {
} // this.closeDialog()
}) // }
} else if (this.detailForm.status == 3) { // })
this.$refs.drugForm.validate(valid => { // } else if (this.detailForm.status == 3) {
console.log('valid', valid) // this.$refs.drugForm.validate(valid => {
if (valid) { // console.log('valid', valid)
this.closeDialog() // if (valid) {
} // this.closeDialog()
}) // }
} else if (this.detailForm.status == 4) { // })
this.$refs.recheckForm.validate(valid => { // } else if (this.detailForm.status == 4) {
console.log('valid', valid) // this.$refs.recheckForm.validate(valid => {
if (valid) { // console.log('valid', valid)
this.closeDialog() // if (valid) {
} // this.closeDialog()
}) // }
} // })
// }
}, },
} }

@ -221,6 +221,9 @@ export default {
list: { list: {
handler(newVal) { handler(newVal) {
// 使 lodash // 使 lodash
newVal.map(item =>{
item.teamId = item.teamId + ''
})
this.data = JSON.parse(JSON.stringify(newVal)); this.data = JSON.parse(JSON.stringify(newVal));
// JSON // JSON
// this.localData = JSON.parse(JSON.stringify(newVal)); // this.localData = JSON.parse(JSON.stringify(newVal));

@ -162,6 +162,9 @@ export default {
this.onLoad() this.onLoad()
done() done()
} }
}).catch(err=>{
console.log('err----------------',err)
done()
}) })
}, },
rowUpdate(row, index, done, loading) { rowUpdate(row, index, done, loading) {

Loading…
Cancel
Save