工艺管理逻辑提交

dev-scheduling
zhangdi 3 months ago
parent 799fe89486
commit d1dd509ec7
  1. 18
      src/api/processManagement/taskProcessing.js
  2. 106
      src/views/processManagement/components/processMainte/partDetails.vue
  3. 13
      src/views/processManagement/components/processMainte/processPlanning.vue
  4. 69
      src/views/processManagement/components/processMainte/reworkProcessPlanning.vue

@ -236,4 +236,22 @@ export const getPlatingList = (params) => {
method: 'get',
params: params,
});
}
// 检验项目
export const getProject = (params) =>{
return request({
url:"/api/blade-desk/QA/InspectionItem/list",
method:"get",
params
})
}
// 班组 blade-desk/BA/TeamSet/listForSelect
export const getTeamSetList = (params) => {
return request({
url: '/blade-desk/BA/TeamSet/listForSelect',
method: 'get',
params: params,
});
}

@ -30,28 +30,28 @@
class="vd-form-three"
>
<el-row :gutter="24">
<el-col :span="8">
<el-col :span="6">
<el-form-item label="零件号:" prop="partCode">
{{ formData.partCode }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="零件名称:" prop="partName">
{{ formData.partName }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="产品型号:" prop="productType">
{{ formData.productType }}
</el-form-item>
</el-col>
<el-col :span="8" v-if="partType == '烧结'">
<el-col :span="6" v-if="partType == '烧结'">
<el-form-item label="是否为玻璃饼:" prop="isGlassCake">
{{ formData.isGlassCake ? '是' : '否' }}
</el-form-item>
</el-col>
<el-col :span="8" v-if="partType == '烧结'">
<el-col :span="6" v-if="partType == '烧结'">
<el-form-item label="是否印字:" prop="isPrint">
<span v-if="!formData.isGlassCake">
{{ formData.isPrint == 1 ? '否' : formData.isPrint == 2 ? '单' : '双' }}
@ -61,38 +61,38 @@
</span>
</el-form-item>
</el-col>
<el-col :span="8" v-if="partType == '烧结' && formData.isGlassCake">
<el-col :span="6" v-if="partType == '烧结' && formData.isGlassCake">
<el-form-item label="材料:" prop="glassCailiao">
{{ formData.material }}
</el-form-item>
</el-col>
<el-col :span="8" v-if="partType == '烧结' && formData.isGlassCake">
<el-col :span="6" v-if="partType == '烧结' && formData.isGlassCake">
<el-form-item label="粉重:" prop="powderWeight">
{{ formData.powderWeight }}
</el-form-item>
</el-col>
<el-col :span="8" v-if="partType == '烧结' && formData.isGlassCake">
<el-col :span="6" v-if="partType == '烧结' && formData.isGlassCake">
<el-form-item label="成型厚度:" prop="formingThickness">
{{ formData.formingThickness }}
</el-form-item>
</el-col>
<el-col :span="8" v-if="partType == '烧结' && formData.isGlassCake">
<el-col :span="6" v-if="partType == '烧结' && formData.isGlassCake">
<el-form-item label="面积(dm²):" prop="area">
{{ formData.area }}
</el-form-item>
</el-col>
<el-col :span="8" v-if="partType == '热表'">
<el-col :span="6" v-if="partType == '热表'">
<el-form-item label="硬度:" prop="hardness">
{{ formData.hardness }}
</el-form-item>
</el-col>
<el-col :span="8" v-if="partType == '热表'">
<el-col :span="6" v-if="partType == '热表'">
<el-form-item label="材料:" prop="material">
{{ formData.material }}
</el-form-item>
</el-col>
<el-col
:span="8"
:span="6"
v-if="partType == '热表' || (partType == '烧结' && formData.isGlassCake)"
>
<el-form-item label="物料编码:" prop="wuliaobianma">
@ -104,13 +104,12 @@
clearable
filterable
>
<el-option label="物料一" value="1" />
<el-option label="物料二" value="2" />
<el-option label="物料三" value="3" />
<el-option :value="'04-05-023'" label="金钾-04-05-023" />
<el-option :value="'04-05-024'" label="银板-04-05-024" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-if="partType == '热表'">
<el-col :span="6" v-if="partType == '热表'">
<el-form-item label="镀种1:" prop="plate">
<el-select
v-model="formData.plate"
@ -120,23 +119,25 @@
clearable
filterable
>
<el-option label="镀种一" value="1" />
<el-option label="镀种二" value="2" />
<el-option label="镀种三" value="3" />
<el-option
v-for="item in plateList"
:label="item.plating"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-if="partType == '热表'">
<el-col :span="6" v-if="partType == '热表'">
<el-form-item label="镀层代号1:" prop="plateCode">
{{ formData.plateCode }}
</el-form-item>
</el-col>
<el-col :span="8" v-if="partType == '热表'">
<el-col :span="6" v-if="partType == '热表'">
<el-form-item label="面积1(dm²):" prop="area">
{{ formData.area }}
</el-form-item>
</el-col>
<el-col :span="8" v-if="partType == '热表'">
<el-col :span="6" v-if="partType == '热表'">
<el-form-item label="镀种2:" prop="plateTwo">
<el-select
v-model="formData.plateTwo"
@ -146,29 +147,31 @@
clearable
filterable
>
<el-option label="镀种一" value="1" />
<el-option label="镀种二" value="2" />
<el-option label="镀种三" value="3" />
<el-option
v-for="item in plateList"
:label="item.plating"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-if="partType == '热表'">
<el-col :span="6" v-if="partType == '热表'">
<el-form-item label="镀层代号2:" prop="plateCodeTwo">
{{ formData.plateCodeTwo }}
</el-form-item>
</el-col>
<el-col :span="8" v-if="partType == '热表'">
<el-col :span="6" v-if="partType == '热表'">
<el-form-item label="面积2(dm²):" prop="areaTwo">
{{ formData.areaTwo }}
</el-form-item>
</el-col>
<el-col :span="8" v-if="partType == '热表'">
<el-col :span="6" v-if="partType == '热表'">
<el-form-item label="镀层厚度:" prop="plateThickness">
{{ formData.plateThickness }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="产品应用领域:" prop="plateThickness">
{{ formData.productApplicationArea }}
</el-form-item>
@ -183,34 +186,34 @@
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-col :span="6">
<el-form-item label="有效期:" prop="periodOfValidity">
{{ formData.periodOfValidity == 1 ? '长期有效' : '自定义' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="有效周期(天):" prop="expirationPeriod">
{{ formData.expirationPeriod }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="到期提醒(天):" prop="advanceRemind">
{{ formData.advanceRemind }}
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-col :span="6">
<el-form-item label="涂色标个数:" prop="tsbNum">
{{ formData.tsbNum }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="涂色带个数:" prop="tsdNum">
{{ formData.tsdNum }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="涂箭头个数:" prop="tjtNum">
{{ formData.tjtNum }}
</el-form-item>
@ -403,6 +406,7 @@ import {
getPartDetail,
getProcessAuthorized,
getVersion,
getPlatingList,
} from '@/api/processManagement/taskProcessing';
export default {
@ -520,6 +524,13 @@ export default {
sortable: true,
overHidden: true,
},
{
label: '面积',
prop: 'area',
search: false,
sortable: true,
overHidden: true,
},
{
label: '数量',
prop: 'quota',
@ -529,7 +540,7 @@ export default {
},
{
label: '总面积',
prop: 'quota',
prop: 'totalArea',
search: false,
sortable: true,
overHidden: true,
@ -588,8 +599,9 @@ export default {
children: 'children',
label: 'label',
},
version:'',//
versionOptions:[],//
version: '', //
versionOptions: [], //
plateList: [], //
};
},
mounted() {
@ -597,15 +609,20 @@ export default {
this.getCcraftInfo();
this.getPartInfo();
this.getPlatingList();
},
methods: {
//
getPlatingList() {
getPlatingList().then(res => {
this.plateList = res.data.data;
});
},
//
partChange(partId) {
getVersion({ partId: partId }).then(res => {
this.versionOptions = res.data.data;
});
},//
}, //
handleNodeClick(nodes, node, self) {
if (nodes.disabled) {
return false;
@ -706,6 +723,11 @@ export default {
getPartDetail(this.rowData.id).then(res => {
this.formData = res.data.data.dsPartEntity;
this.dataTable = res.data.data.dsPartEntities;
if (this.dataTable.length > 0) {
this.dataTable.forEach(item => {
item.totalArea = (item.quota * item.area).toFixed(5); // 5
});
}
});
}
},
@ -796,7 +818,7 @@ export default {
.box-card {
display: flex;
flex-direction: row;
height: calc(100vh - 200px);
// height: calc(100vh - 200px);
.process-left {
// padding: 20px;

@ -276,7 +276,7 @@
clearable
filterable
>
<el-option label="是" value="1"></el-option>
<el-option v-for="(item, index) in projectOptions" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
</template>
@ -492,6 +492,7 @@ import {
getProcessSetList,
getCraftAbilityList,
getPartDetail,
getProject
} from '@/api/processManagement/taskProcessing';
import { getPqList } from '@/api/qualityManagement/remindRedeem/remindRedeem';
export default {
@ -594,6 +595,8 @@ export default {
treeNodes: {}, //
partInfoData: {}, //
tempId: 0,
projectOptions: [],//
};
},
mounted() {
@ -603,8 +606,14 @@ export default {
this.getProcessSetList();
this.getCraftAbilityList();
this.getPqList();
this.getProject()
},
methods: {
getProject(){
getProject({size: 999999, current: 1}).then(res => {
this.projectOptions = res.data.data.records;
});
},
//
processChange(row, index) {
let selectName = this.processSetOption.find(item => item.id == row.processCode);
@ -1104,7 +1113,7 @@ export default {
let qualityInfo = this.rankList.find(
item => item.code == this.treeNodes.rawData.qualityGradeCode
);
this.treeNodes.rawData.qualityGradeName = qualityInfo.name;
// this.treeNodes.rawData.qualityGradeName = qualityInfo.name;
}
let query_ = {
dsPart: this.partInfoData, //

@ -53,7 +53,7 @@
</el-select>
<el-button type="primary" @change="modelLevelChange()">导入模板</el-button>
</div>
<div class="table-btn-right-box">
<!-- <div class="table-btn-right-box">
<el-select
v-model="processLevel"
placeholder="选择零件"
@ -66,7 +66,7 @@
<el-option label="模板三" value="3" />
</el-select>
<el-button type="primary" @click="getProcessList()">零件导入</el-button>
</div>
</div> -->
<!-- <div class="table-btn-right-box">
<el-button type="primary">历史工序</el-button>
</div> -->
@ -129,6 +129,7 @@
placeholder="请选择"
clearable
filterable
@change="processChange(scope.row, scope.$index)"
>
<el-option
v-for="(item, index) in processSetOption"
@ -154,6 +155,7 @@
placeholder="请选择"
clearable
filterable
@change="craftChange(scope.row, scope.$index)"
>
<el-option
v-for="(item, index) in craftAbilityOption"
@ -173,18 +175,12 @@
clearable
filterable
>
<el-option label="班组1" :value="1"></el-option>
<el-option label="班组2" :value="2"></el-option>
<el-option label="班组2" :value="3"></el-option>
<el-option v-for="(item, index) in teamOptions" :label="item.name" :value="item.id"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column prop="ocId" label="外协厂商">
<template #default="scope">
<!-- <el-select v-model="scope.row.processInfo.ocId" placeholder="请选择">
<el-option label="是" value="1"></el-option>
<el-option label="否" value="2"></el-option>
</el-select> -->
<el-input
v-model="scope.row.processInfo.ocId"
placeholder="请输入"
@ -265,7 +261,7 @@
clearable
filterable
>
<el-option label="是" value="1"></el-option>
<el-option v-for="(item, index) in projectOptions" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
</template>
@ -452,6 +448,8 @@ import {
getProcessList,
getProcessSetList,
getCraftAbilityList,
getProject,
getTeamSetList
} from '@/api/processManagement/taskProcessing';
export default {
@ -564,6 +562,9 @@ export default {
craftAbilityOption: [],
treeNodes: {},
reworkNoNum: null, //
projectOptions:[],//
teamOptions:[],//
};
},
mounted() {
@ -571,8 +572,30 @@ export default {
this.getModelList();
this.getProcessSetList();
this.getCraftAbilityList();
this.getProject()
this.getTeamSetList()
},
methods: {
getTeamSetList(){
getTeamSetList().then(res => {
this.teamOptions = res.data.data;
});
},
getProject(){
getProject({size: 999999, current: 1}).then(res => {
this.projectOptions = res.data.data.records;
});
},
//
processChange(row, index) {
let selectName = this.processSetOption.find(item => item.id == row.processCode);
this.form1.tableData1[index].processName = selectName.name;
},
//
craftChange(row, index) {
let selectName = this.craftAbilityOption.find(item => item.id == row.craftCode);
this.form1.tableData1[index].craftName = selectName.name;
},
reworkNoNumSave() {
console.log(99999, this.reworkNoNum);
},
@ -596,7 +619,31 @@ export default {
},
//
modelLevelChange() {
getModelDetailList({ modelId: this.modelLevel }).then(res => {});
getModelDetailList({ modelId: this.modelLevel }).then(res => {
const templateData = res.data.data;
const existing = [...this.form1.tableData1];
//
const mappedData = templateData.map((item, index) => {
// 使
return {
id: null, // null
processNo: this.getProcessNo(this.form1.tableData1), //
processCode: item.processCode || item.id, // processCode id
processName: item.processName,
craftCode: item.craftCode,
craftName: item.craftName,
proDes: item.proDes || item.description,
proHours: item.proHours || '',
setoutHours: item.setoutHours || '',
isMain: item.isMain || '0',
// ...
};
});
// 12
this.form1.tableData1 = [...existing, ...mappedData]; //
this.$message.success('模板导入成功');
});
},
//
getProcessList() {

Loading…
Cancel
Save