工艺管理问题修改

dev-scheduling
zhangdi 3 weeks ago
parent 5701e2338c
commit 57f3761c0b
  1. 15
      src/views/processManagement/procepssPlanning.vue
  2. 19
      src/views/processManagement/sinTer/index.vue
  3. 4
      src/views/productionManagement/components/outsourceDialog.vue
  4. 53
      src/views/productionManagement/productionMonitoring/index.vue
  5. 10
      src/views/productionSchedulingPlan/basic/components/addEquipment.vue
  6. 1
      src/views/productionSchedulingPlan/basic/equipmentCapacity.vue

@ -25,7 +25,7 @@
<el-button type="primary" @click="setIndate()">有效期维护</el-button> <el-button type="primary" @click="setIndate()">有效期维护</el-button>
</template> </template>
<template #partCode="scope"> <template #partCode="scope">
<el-button type="text" @click="openPage(scope.row)">{{scope.row.partCode}}</el-button> <span class="partSel" @dblclick="openPage(scope.row)">{{scope.row.partCode}}</span>
</template> </template>
<!-- <template #menu-right="{ size }"> </template> --> <!-- <template #menu-right="{ size }"> </template> -->
@ -107,7 +107,7 @@ export default {
tip: false, tip: false,
simplePage: true, simplePage: true,
searchShow: true, searchShow: true,
searchMenuSpan: 18, searchMenuSpan: 6,
searchIcon: true, searchIcon: true,
searchIndex: 3, searchIndex: 3,
tree: false, tree: false,
@ -148,7 +148,7 @@ export default {
{ {
label: '零件号', label: '零件号',
prop: 'partCode', prop: 'partCode',
search: false, search: true,
sortable: true, sortable: true,
overHidden: true, overHidden: true,
width: 210, width: 210,
@ -160,7 +160,7 @@ export default {
label: '零件名称', label: '零件名称',
prop: 'partName', prop: 'partName',
sortable: true, sortable: true,
search: false, search: true,
overHidden: true, overHidden: true,
width: 170, width: 170,
headerAlign: 'center', headerAlign: 'center',
@ -348,3 +348,10 @@ export default {
}, },
}; };
</script> </script>
<style lang="scss" scoped>
.partSel{
cursor: pointer;
color:#284c89 !important;
font-weight: 600;
}
</style>

@ -31,7 +31,8 @@
<div class="form-box"> <div class="form-box">
<div v-if="isComponentOpen"> <div v-if="isComponentOpen">
<div class="form-bom" ref="lineChart"></div> <div v-if="dataTree.length > 0" class="form-bom" ref="lineChart"></div>
<el-empty v-else description="数据为空"></el-empty>
</div> </div>
<div v-if="isSubOpen"> <div v-if="isSubOpen">
<avue-crud <avue-crud
@ -163,6 +164,7 @@ export default {
isSubOpen: false, isSubOpen: false,
isComponentOpen: false, isComponentOpen: false,
data: [], data: [],
dataTree: [],
}; };
}, },
methods: { methods: {
@ -190,6 +192,7 @@ export default {
this.isSubOpen = false; this.isSubOpen = false;
getDsPartTree({ partCode: this.form.bujian, zPartCode: this.form.zijian }).then(res => { getDsPartTree({ partCode: this.form.bujian, zPartCode: this.form.zijian }).then(res => {
let resData = res.data.data; let resData = res.data.data;
this.dataTree = res.data.data;
let arr = JSON.parse(JSON.stringify(resData).replace(/partName/g, 'name')); let arr = JSON.parse(JSON.stringify(resData).replace(/partName/g, 'name'));
this.$nextTick(() => { this.$nextTick(() => {
this.createBarChart(arr); this.createBarChart(arr);
@ -201,8 +204,6 @@ export default {
this.isComponentOpen = false; this.isComponentOpen = false;
} }
}, },
//
// //
resetFn() { resetFn() {
@ -240,6 +241,7 @@ export default {
borderWidth: 2, borderWidth: 2,
borderColor: '#fff', borderColor: '#fff',
borderRadius: 4, // borderRadius: 4, //
paddingLeft: 10,
}, },
// ==*+ // ==*+
symbolSize: (val, params) => { symbolSize: (val, params) => {
@ -247,9 +249,18 @@ export default {
const nodeName = params?.name || '未知节点'; const nodeName = params?.name || '未知节点';
const childCount = params?.children?.length || 0; const childCount = params?.children?.length || 0;
const childText = `${childCount}个子件`; const childText = `${childCount}个子件`;
const nodeQuota = nodeData?.quota !== undefined ? nodeData.quota : '';
// //
const textWidth = Math.max(nodeName.length * 12, childText.length * 12) + 30; const textWidth = Math.max(nodeName.length * 12, childText.length * 12) + 30;
return [Math.max(textWidth, 100), 60]; // 60px //
let lineCount = 2; // 2 partCode + name
if (nodeQuota !== '' && nodeQuota !== null) {
lineCount = 3; // quota 3
}
// 20px + 20px
const height = lineCount * 20 + 10;
return [Math.max(textWidth, 100), height]; // 60px
}, },
label: { label: {

@ -142,7 +142,9 @@ export default {
this.$message.error('当前数据列表为空'); this.$message.error('当前数据列表为空');
return; return;
} }
this.itemData.forEach(item=>{
item.runType = 1
})
let query={ let query={
workOrderRuns:this.itemData, workOrderRuns:this.itemData,
workPlanRuns:this.outsourceData workPlanRuns:this.outsourceData

@ -37,46 +37,22 @@
<el-button type="text" @click="printCraftCard_new(scope.row)">流程卡</el-button> <el-button type="text" @click="printCraftCard_new(scope.row)">流程卡</el-button>
</el-col> </el-col>
<el-col :span="6" v-if="scope.row.runStatus === 2"> <el-col :span="6" v-if="scope.row.runStatus === 2">
<el-button type="text" @click="priorityFn(scope.row)" <el-button type="text" @click="priorityFn(scope.row)">优先级</el-button>
>优先级</el-button
>
</el-col> </el-col>
<el-col :span="6" v-if="[2, 3, 4, 6].includes(scope.row.runStatus)"> <el-col :span="6" v-if="[2, 3, 4, 6].includes(scope.row.runStatus)">
<el-button <el-button type="text" @click="handleBatches(scope.row)">分批</el-button>
type="text"
@click="handleBatches(scope.row)"
>分批</el-button
>
</el-col> </el-col>
<el-col :span="6" v-if="scope.row.runStatus === 3 || scope.row.runStatus === 4"> <el-col :span="6" v-if="scope.row.runStatus === 3 || scope.row.runStatus === 4">
<el-button <el-button type="text" @click="handleAbnormal(scope.row)">异常申报</el-button>
type="text"
@click="handleAbnormal(scope.row)"
>异常申报</el-button
>
</el-col> </el-col>
<el-col :span="6" v-if="scope.row.runStatus <= 6 && scope.row.runStatus !== 5"> <el-col :span="6" v-if="scope.row.runStatus <= 6 && scope.row.runStatus !== 5">
<el-button <el-button type="text" @click="handleOutsource(scope.row)">转外协</el-button>
type="text"
@click="handleOutsource(scope.row)"
>转外协</el-button
>
</el-col> </el-col>
<el-col :span="6" v-if="scope.row.runStatus <= 6 && scope.row.runStatus !== 5"> <el-col :span="6" v-if="scope.row.runStatus <= 6 && scope.row.runStatus !== 5">
<el-button <el-button type="text" @click="handleSintering(scope.row)">转烧结</el-button>
type="text"
@click="handleSintering(scope.row)"
>转烧结</el-button
>
</el-col> </el-col>
<el-col :span="6" v-if="scope.row.runStatus < 15"> <el-col :span="6" v-if="scope.row.runStatus < 15">
<el-button type="text" @click="handleClose(scope.row)" <el-button type="text" @click="handleClose(scope.row)">关闭</el-button>
>关闭</el-button
>
</el-col> </el-col>
</el-row> </el-row>
</template> </template>
@ -191,7 +167,7 @@ export default {
option: { option: {
height: 'auto', height: 'auto',
calcHeight: 32, calcHeight: 32,
rowKey: 'cardNo', rowKey: 'woId',
tip: false, tip: false,
simplePage: true, simplePage: true,
searchShow: true, searchShow: true,
@ -341,7 +317,7 @@ export default {
sortable: true, sortable: true,
overHidden: true, overHidden: true,
width: 150, width: 150,
searchOrder:19, searchOrder: 19,
}, },
{ {
label: '批次号', label: '批次号',
@ -350,7 +326,7 @@ export default {
sortable: true, sortable: true,
overHidden: true, overHidden: true,
width: 150, width: 150,
searchOrder:18, searchOrder: 18,
}, },
{ {
label: '流程卡号', label: '流程卡号',
@ -359,7 +335,7 @@ export default {
sortable: true, sortable: true,
overHidden: true, overHidden: true,
width: 150, width: 150,
searchOrder:20, searchOrder: 20,
}, },
{ {
label: '产品型号', label: '产品型号',
@ -658,7 +634,6 @@ export default {
handleClose(row) { handleClose(row) {
this.itemData = [row]; this.itemData = [row];
this.showClose = true; this.showClose = true;
}, },
// //
@ -698,6 +673,14 @@ export default {
submitPrint() { submitPrint() {
this.$refs.printForm.validate(valid => { this.$refs.printForm.validate(valid => {
if (valid) { if (valid) {
let ids = this.selectionList.map(item => item.woId);
window.open(
window.PROCESS_FLOW_CARD_PRINT +
'?wolds' +
ids.join(',') +
'&num=' +
this.printForm.quantity
);
this.printDialog = false; this.printDialog = false;
} }
}); });

@ -113,13 +113,13 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="工序" width="150"> <el-table-column align="center" label="工序" width="150">
<template #header> <!-- <template #header>
<span><i style="color: red">*</i>工序</span> <span><i style="color: red">*</i>工序</span>
</template> </template> :rules="formRules.processId"-->
<template #default="scope"> <template #default="scope">
<el-form-item <el-form-item
:prop="`tableData[${scope.$index}].processId`" :prop="`tableData[${scope.$index}].processId`"
:rules="formRules.processId"
> >
<el-select <el-select
v-model="scope.row.processId" v-model="scope.row.processId"
@ -567,7 +567,7 @@ export default {
this.form.tableData[index].abilityList.push({ this.form.tableData[index].abilityList.push({
startNum: null, startNum: null,
endNum: null, endNum: null,
standardTime: null, standardProcessAbility: null,
}); });
this.onAbilityChange(index); this.onAbilityChange(index);
}, },
@ -611,7 +611,7 @@ export default {
_select: false, // _select: false, //
partType: 0, partType: 0,
standardProcessAbility: null, standardProcessAbility: null,
abilityList: [{ startNum: null, endNum: null, standardTime: null }], abilityList: [{ startNum: null, endNum: null, standardProcessAbility: null }],
}); });
}, },

@ -372,7 +372,6 @@ export default {
for (let i = 0; i < this.spanArr.length; i++) { for (let i = 0; i < this.spanArr.length; i++) {
const ele = this.spanArr[i]; const ele = this.spanArr[i];
if (column.property == ele.prop) { if (column.property == ele.prop) {
console.log(8989, column, ele);
const _row = ele.span[rowIndex]; const _row = ele.span[rowIndex];
// span 0 // span 0
if (_row === undefined || _row === 0) { if (_row === undefined || _row === 0) {

Loading…
Cancel
Save