问题修改

dev-scheduling
zhangdi 1 day ago
parent 4a132eba5f
commit b6bcd23f34
  1. 2
      src/api/equiptManagement/maintenancetools.js
  2. 11
      src/api/processManagement/taskProcessing.js
  3. 23
      src/views/flowManagement/addDialog.vue
  4. 2
      src/views/flowManagement/projectExecution.vue
  5. 235
      src/views/oem/oemOrder/index.vue
  6. 432
      src/views/processManagement/components/processMainte/reworkProcessPlanning.vue

@ -31,7 +31,7 @@ export const addRecorder = (params) => {
// 量具保养申请
export const applyRecorder = (params) => {
return request({
url: '/blade-desk/measuringUpkeep/maintenanceAppFun',
url: '/blade-desk/measuringUpkeep/addMaintenance',
method: 'post',
params,
});

@ -221,7 +221,7 @@ export const reworkAuthorizedAccomplish = data => {
// 返工零件工序导入
export const getProcessList = data => {
return request({
url: '/blade-desk/dsProcess/getProcessList',
url: '/blade-desk/dsProcess/getProcessLis',
method: 'post',
data:data
});
@ -307,4 +307,13 @@ export const getInspectionDetail = (params) =>{
method:'get',
params
})
}
// 返工编制 查询零件信
export const getReturnPartInfo = (params) =>{
return request({
url:'/api/blade-desk/dsCraft/listByPartCode',
method:'get',
params
})
}

@ -103,7 +103,7 @@
<el-table :data="addForm.stoneList" ref="detailTable" border @select="selectChange" class="table_project"
:cell-class-name="tableCellClassName">
<el-table-column type="selection"></el-table-column>
<el-table-column type="index" width="80" label="序号"></el-table-column>
<el-table-column prop="paIndex" width="80" label="序号"></el-table-column>
<el-table-column align="center" :width="isDetail || isStatusEdit ? '120' : ''" label="里程碑计划">
<template #header>
<span><i style="color: red">*</i>里程碑计划</span>
@ -171,8 +171,9 @@
format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
</el-form-item>
</template>
<template v-else>
<span>{{ scope.row.milestoneNode }}</span>
<span>{{ scope.row.milestoneNode ? scope.row.milestoneNode.substring(0, 10) : '' }}</span>
</template>
</template>
</el-table-column>
@ -180,17 +181,23 @@
<el-table-column v-if="isDetail || isStatusEdit" align="center" label="执行类型" prop="executeType"
:width="isDetail ? '120' : ''">
<template #default="scope">
{{ scope.row.executeTypeText }}
{{ executeTypeFn(scope.row.executeType) }}
</template>
</el-table-column>
<el-table-column v-if="isDetail || isStatusEdit" align="center" label="延期时间" prop="delayTime"
:width="isDetail || isStatusEdit ? '120' : ''"></el-table-column>
:width="isDetail || isStatusEdit ? '120' : ''">
{{ scope.row.delayTime ? scope.row.delayTime.substring(0, 10) : '' }}
</el-table-column>
<el-table-column v-if="isDetail || isStatusEdit" align="center" label="核查结果" prop="checkResult"
:width="isDetail || isStatusEdit ? '120' : ''">
<template #default="scope">
<span v-if="scope.row.checkResult === 0">未核查</span>
<span v-else-if="scope.row.checkResult === 1">已核查</span>
<span v-else-if="scope.row.checkResult === 2">已核准</span>
<div v-if="scope.row.executeType == '3'">
<span v-if="scope.row.checkResult === 0">未核查</span>
<span v-else-if="scope.row.checkResult === 1">已核查</span>
<span v-else-if="scope.row.checkResult === 2">已核准</span>
</div>
<div v-else>-</div>
</template>
</el-table-column>
<el-table-column v-if="isDetail || isStatusEdit" align="center" label="核查人" prop="checkMan"
@ -219,7 +226,7 @@
<template #footer>
<span class="dialog-footer">
<el-button @click="handleClose" :loading="loadingShow"> </el-button>
<el-button type="primary" @click="handleSubmitForm" :loading="loadingShow"> </el-button>
<el-button v-if="title != '详情'" type="primary" @click="handleSubmitForm" :loading="loadingShow"> </el-button>
</span>
</template>
</el-dialog>

@ -25,7 +25,7 @@
type="text"
v-if="
scope.row.approvalStatus == '3' &&
scope.row.checkResult == 0 &&
scope.row.checkResult == 0 &&(scope.row.executeType!='2') &&
permissionList.executeBtn
"
@click="executeRow(scope.row, scope.row)"

@ -1,140 +1,68 @@
<template>
<basic-container>
<avue-crud
:option="option"
:table-loading="loading"
:data="data"
v-model="form"
v-model:page="page"
v-model:search="searchForm"
ref="crud"
@row-del="rowDel"
@search-change="searchChange"
@search-reset="searchReset"
@selection-change="selectionChange"
@current-change="currentChange"
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
:row-class-name="rowCLassName"
@sort-change="sortChange"
>
<avue-crud :option="option" :table-loading="loading" :data="data" v-model="form" v-model:page="page"
v-model:search="searchForm" ref="crud" @row-del="rowDel" @search-change="searchChange" @search-reset="searchReset"
@selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
@refresh-change="refreshChange" @on-load="onLoad" :row-class-name="rowCLassName" @sort-change="sortChange">
<template #menu-left>
<!-- <el-button type="primary" @click="materialFormPrint">领料单打印</el-button> -->
</template>
<template #menu-right="{ size }">
<!-- 加工中 -->
<el-button type="warning" @click="filterFun('3')" plain v-if="permission.oemOrder_processing"
>加工中</el-button
>
<el-button type="warning" @click="filterFun('3')" plain v-if="permission.oemOrder_processing">加工中</el-button>
<!-- 检验中 -->
<el-button type="danger" @click="filterFun('4')" plain v-if="permission.oemOrder_inspection"
>检验中</el-button
>
<el-button type="danger" @click="filterFun('4')" plain v-if="permission.oemOrder_inspection">检验中</el-button>
<!-- 已下达 -->
<el-button type="success" @click="filterFun('2')" plain v-if="permission.oemOrder_issued"
>已下达</el-button
>
<el-button type="success" @click="filterFun('2')" plain v-if="permission.oemOrder_issued">已下达</el-button>
<!-- 已完成 -->
<el-button type="success" plain @click="filterFun('15')" v-if="permission.oemOrder_completed"
>已完成</el-button
>
<el-button type="success" plain @click="filterFun('15')" v-if="permission.oemOrder_completed">已完成</el-button>
<!-- 全部 -->
<el-button type="primary" @click="filterFun()" plain v-if="permission.oemOrder_all"
>全部</el-button
>
<el-button type="primary" @click="filterFun()" plain v-if="permission.oemOrder_all">全部</el-button>
</template>
<template #menu="scope">
<el-button type="primary" link @click="clickProduction(scope.row)">生产监控</el-button>
<!-- <el-button type="primary" link @click="memoDialogFun(scope.row)">关闭</el-button> -->
<!-- <template v-if="scope.row.approvalStatus == 2"> -->
<!-- <el-button type="primary" link @click="takeBack(scope.row)"
>领料单打印</el-button
> -->
<el-button type="primary" link @click="changeFn(scope.row)" v-if="permission.oemOrder_change_factiry">厂家更改</el-button>
<!-- </template> -->
<template
v-if="scope.row.approvalStatus != 2 && scope.row.runStatus < 15"
>
<el-button type="text" @click="takeBack(scope.row)" v-if="permission.oemOrder_takeBack">收回</el-button>
<el-button type="text" v-if="scope.row.oemStatus == 1 && permission.oemOrder_turnFacInner" @click="turnFacInner(scope.row)" >转厂内</el-button>
<el-button type="text" @click="inBatches(scope.row)" v-if="permission.oemOrder_batch">分批</el-button>
</template>
<template
v-if="scope.row.approvalStatus != 2 && scope.row.runStatus >= 15">
<!-- <span style="color: red">订单{{ scope.row.runStatusTitle }}</span> -->
<el-button type="text" @click="qualityRecords(scope.row)" v-if="permission.oemOrder_quality">质量记录</el-button>
<el-button type="text" @click="certificate(scope.row)" v-if="permission.oemOrder_certificate">合格证</el-button>
<el-button type="primary" link @click="changeFn(scope.row)"
v-if="permission.oemOrder_change_factiry && scope.row.oemStatus == 2">厂家更改</el-button>
<el-button type="text" @click="takeBack(scope.row)"
v-if="permission.oemOrder_takeBack && scope.row.oemStatus == 2">收回</el-button>
<el-button type="text" v-if="scope.row.oemStatus == 2 && permission.oemOrder_turnFacInner"
@click="turnFacInner(scope.row)">转厂内</el-button>
<el-button type="text" @click="inBatches(scope.row)"
v-if="permission.oemOrder_batch && scope.row.oemStatus == 2">分批</el-button>
<template v-if="scope.row.approvalStatus != 2 && scope.row.runStatus >= 15">
<el-button type="text" @click="qualityRecords(scope.row)" v-if="permission.oemOrder_quality">质量记录</el-button>
<el-button type="text" @click="certificate(scope.row)" v-if="permission.oemOrder_certificate">合格证</el-button>
</template>
</template>
<!-- <template #virtualMac="scope">
<span>
{{ scope.row.virtualMac ? "是" : "否" }}
</span>
</template>
<template #virtualMac-form="{ type, disabled }">
<el-checkbox v-model="form.virtualMac">虚拟设备</el-checkbox>
</template>
<template #virtualMac-label="{ type, disabled }">
<span></span>
</template> -->
<!-- <template #name="{ row }">
<i :class="row.source" style="margin-right: 5px" />
<span>{{ row.name }}</span>
</template>
<template #source="{ row }">
<div style="text-align: center">
<i :class="row.source" />
</div>
</template> -->
</avue-crud>
<!-- 关闭 -->
<memoDialog
:memoDialogOpen="memoDialogOpen"
v-if="memoDialogOpen"
@memoDialogCancel="memoDialogCancel"
>
<memoDialog :memoDialogOpen="memoDialogOpen" v-if="memoDialogOpen" @memoDialogCancel="memoDialogCancel">
</memoDialog>
<!-- 收回 -->
<takeBack
:wor-id="worId"
:take-back-open="takeBackOpen"
v-if="takeBackOpen"
@cancel="cancel"
></takeBack>
<takeBack :wor-id="worId" :take-back-open="takeBackOpen" v-if="takeBackOpen" @cancel="cancel"></takeBack>
<!-- 转厂内 -->
<turn-fac-inner
:row-item="rowItem"
:turn-fac-inner-open="turnFacInnerOpen"
v-if="turnFacInnerOpen"
@cancel="cancel"
/>
<turn-fac-inner :row-item="rowItem" :turn-fac-inner-open="turnFacInnerOpen" v-if="turnFacInnerOpen"
@cancel="cancel" />
<!-- 厂家更改 -->
<manufacturerChange
@cancel="cancel"
:takeBackOpen="changeOpen"
v-if="changeOpen"
:wor-id="worId"
></manufacturerChange>
<manufacturerChange @cancel="cancel" :takeBackOpen="changeOpen" v-if="changeOpen" :wor-id="worId">
</manufacturerChange>
<!-- 领料单打印 -->
<materialPrint v-if="showPrint" :showPrint="showPrint" @cancel="cancel"></materialPrint>
<!-- 分批处理 -->
<batch-dialog v-if="showBatch" :showBatch="showBatch" :checkRow="checkRow" @cancel="cancel"></batch-dialog>
<!-- 生产监控 -->
<workRate
v-if="isWorkRateOpen"
:showDialog="isWorkRateOpen"
@closeDialog="closeDialog"
:rowItem="rowItem"
></workRate>
<!-- 生产监控 -->
<workRate v-if="isWorkRateOpen" :showDialog="isWorkRateOpen" @closeDialog="cancel" :rowItem="rowItem"></workRate>
</basic-container>
</template>
<script>
import {getList,oemBack,turnQuality,turnCertificate} from "@/api/outsourcingManagement/oemOrder"
import { getList, oemBack, turnQuality, turnCertificate } from "@/api/outsourcingManagement/oemOrder"
import { mapGetters } from "vuex";
import memoDialog from "./memoDialog.vue";
import takeBack from "./takeBack.vue";
@ -157,13 +85,13 @@ export default {
},
data() {
return {
isWorkRateOpen:false,
showPrint:false,
isWorkRateOpen: false,
showPrint: false,
turnFacInnerOpen: false,
rowItem: {},
takeBackOpen: false,
worId: "",
showBatch:false,
showBatch: false,
memoDialogOpen: false,
parameter: {},
ocId: "89889",
@ -171,12 +99,12 @@ export default {
showIp: false,
ecId: "89889",
bcId: "89889",
searchForm:{},
searchForm: {},
setCrewOpen: false,
form: {},
query: {},
loading: true,
query:{},
query: {},
selectionList: [],
parentId: "",
page: {
@ -294,10 +222,10 @@ export default {
searchOrder: 20,
hide: true,
searchValue: ['3', '2'],
dicUrl:"/api/blade-system/dict/dictionary?code=order_run_status",
props:{
label:"dictValue",
value:"dictKey"
dicUrl: "/api/blade-system/dict/dictionary?code=order_run_status",
props: {
label: "dictValue",
value: "dictKey"
}
// dicData: [
// {
@ -333,15 +261,15 @@ export default {
{
label: "外协状态",
prop: "oemStatusList",
type:"select",
type: "select",
// bind: 'prWorkOrder.runStatus',
sortable: 'custom',
hide: true,
search: true,
dicData:[
{label:"待外协",value:'1'},
{label:"外协中",value:'2'},
{label:"已完成",value:'3'},
dicData: [
{ label: "待外协", value: '1' },
{ label: "外协中", value: '2' },
{ label: "已完成", value: '3' },
]
},
{
@ -390,10 +318,10 @@ export default {
// ],
},
{
label:'外协状态',
prop:"oemStatusTitle",
search:false,
width:100,
label: '外协状态',
prop: "oemStatusTitle",
search: false,
width: 100,
sortable: 'custom',
},
{
@ -465,10 +393,10 @@ export default {
type: "select",
headerAlign: "center",
// align: "left",
dicUrl:"/api/blade-system/dict/dictionary?code=orderPriority",
props:{
label:"dictValue",
value:"dictKey"
dicUrl: "/api/blade-system/dict/dictionary?code=orderPriority",
props: {
label: "dictValue",
value: "dictKey"
}
// dicData: [
// {
@ -609,7 +537,7 @@ export default {
},
data: [],
changeOpen: false,
checkRow:{},
checkRow: {},
};
},
computed: {
@ -630,11 +558,11 @@ export default {
return ids.join(",");
},
},
created(){
this.searchForm.orderStatus = ['3','2']
created() {
this.searchForm.orderStatus = ['3', '2']
this.query = {
...this.searchForm,
orderStatus:this.searchForm.orderStatus && this.searchForm.orderStatus.length != 0 && this.searchForm.orderStatus.join(",")
orderStatus: this.searchForm.orderStatus && this.searchForm.orderStatus.length != 0 && this.searchForm.orderStatus.join(",")
};
},
methods: {
@ -645,8 +573,8 @@ export default {
},
//
sortChange({ prop, order }) {
console.log('prop----------',prop)
console.log('order----------',order)
console.log('prop----------', prop)
console.log('order----------', order)
this.query.ascs = undefined;
this.query.descs = undefined;
const orderByFieldKey = order === 'ascending' ? 'ascs' : 'descs';
@ -672,13 +600,13 @@ export default {
this.closeObj = { woId, status };
this.memoDialogOpen = true;
},
qualityRecords(row){
turnQuality({key:row.deliverKey}).then(res =>{
qualityRecords(row) {
turnQuality({ key: row.deliverKey }).then(res => {
window.open(res.data.msg)
})
},
certificate(row){
turnCertificate({key:row.deliverKey}).then(res =>{
certificate(row) {
turnCertificate({ key: row.deliverKey }).then(res => {
window.open(res.data.msg)
})
},
@ -703,7 +631,7 @@ export default {
filterFun(curStatus) {
this.searchForm.orderStatus = curStatus ? [curStatus] : null;
this.query.orderStatus = curStatus
console.log('sear---------',this.searchForm)
console.log('sear---------', this.searchForm)
this.onLoad();
},
//
@ -715,8 +643,8 @@ export default {
this.ecId = ecId;
this.showIp = true;
},
inBatches(row){
this.checkRow = row
inBatches(row) {
this.checkRow = row
this.showBatch = true
},
cancel(isRefresh) {
@ -731,6 +659,7 @@ export default {
this.memoDialogOpen = false;
this.changeOpen = false;
this.showBatch = false
this.isWorkRateOpen = false
if (isRefresh) {
this.refresh();
}
@ -821,7 +750,7 @@ export default {
this.query = {};
this.parentId = 0;
this.searchForm = {
orderStatus: ['3','2'],
orderStatus: ['3', '2'],
}
this.onLoad(this.page);
},
@ -862,7 +791,7 @@ export default {
}
done();
},
materialFormPrint(){
materialFormPrint() {
this.showPrint = true
},
// beforeClose
@ -890,26 +819,26 @@ export default {
this.loading = true;
let searchParams = {
...this.query,
planIssuanceTimeStart:this.query.planIssuanceTime && this.query.planIssuanceTime.length != 0 && this.query.planIssuanceTime[0],
planIssuanceTimeEnd:this.query.planIssuanceTime && this.query.planIssuanceTime.length != 0 && this.query.planIssuanceTime[1],
demandDateStart:this.query.demandDate && this.query.demandDate.length != 0 && this.query.demandDate[0],
demandDateEnd:this.query.demandDate && this.query.demandDate.length != 0 && this.query.demandDate[1],
postPlatingStorageTimeStart:this.query.postPlatingStorageTime && this.query.postPlatingStorageTime.length != 0 && this.query.postPlatingStorageTime[0],
postPlatingStorageTimeEnd:this.query.postPlatingStorageTime && this.query.postPlatingStorageTime.length != 0 && this.query.postPlatingStorageTime[1],
planIssuanceTimeStart: this.query.planIssuanceTime && this.query.planIssuanceTime.length != 0 && this.query.planIssuanceTime[0],
planIssuanceTimeEnd: this.query.planIssuanceTime && this.query.planIssuanceTime.length != 0 && this.query.planIssuanceTime[1],
demandDateStart: this.query.demandDate && this.query.demandDate.length != 0 && this.query.demandDate[0],
demandDateEnd: this.query.demandDate && this.query.demandDate.length != 0 && this.query.demandDate[1],
postPlatingStorageTimeStart: this.query.postPlatingStorageTime && this.query.postPlatingStorageTime.length != 0 && this.query.postPlatingStorageTime[0],
postPlatingStorageTimeEnd: this.query.postPlatingStorageTime && this.query.postPlatingStorageTime.length != 0 && this.query.postPlatingStorageTime[1],
}
const {planIssuanceTime,demandDate,postPlatingStorageTime,...searchData} = searchParams
const { planIssuanceTime, demandDate, postPlatingStorageTime, ...searchData } = searchParams
getList({
current:this.page.currentPage,
size:this.page.pageSize,
current: this.page.currentPage,
size: this.page.pageSize,
...searchData
}).then(res =>{
}).then(res => {
this.data = res.data.data.records
this.page.total = res.data.data.total
this.loading = false;
}).catch(err=>{
}).catch(err => {
this.loading = false;
})
},
},
};

@ -1,16 +1,8 @@
<template>
<div class="box-card">
<div class="process-left">
<el-tree
style="width: 240px"
:data="data"
:props="defaultProps"
@node-click="handleNodeClick"
:default-expand-all="true"
:expand-on-click-node="false"
node-key="id"
ref="tree"
/>
<el-tree style="width: 240px" :data="data" :props="defaultProps" @node-click="handleNodeClick"
:default-expand-all="true" :expand-on-click-node="false" node-key="id" ref="tree" />
</div>
<div class="process-right" v-loading="treeLoading">
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
@ -36,74 +28,33 @@
</el-input>
</div>
<div class="table-btn-right-box">
<el-select
v-model="modelLevel"
placeholder="选择工艺模板"
style="width: 220px; margin-right: 12px"
clearable
filterable
:filter-method="handleFilter"
>
<el-option
v-for="(item, index) in filteredList"
:key="index"
:label="item.name"
:value="item.id"
/>
</el-select>
<el-button type="primary" @click="modelLevelChange()" :loading="modelLevelLoading"
>导入模板</el-button
>
<el-cascader v-model="modelLevel" :options="filteredList" :props="{ expandTrigger: 'hover' }"
placeholder="选择工艺模板" style="width: 150px; margin-right: 12px" clearable filterable></el-cascader>
<el-button type="primary" @click="modelLevelChange()" :loading="modelLevelLoading">导入模板</el-button>
</div>
<!-- <div class="table-btn-right-box">
<el-select
v-model="processLevel"
placeholder="选择零件"
style="width: 220px; margin-right: 12px"
clearable
filterable
>
<el-option label="模板一" value="1" />
<el-option label="模板二" value="2" />
<el-option label="模板三" value="3" />
<div class="table-btn-right-box">
<el-select v-model="processLevel" placeholder="选择零件" style="width: 150px; margin-right: 12px" clearable
filterable>
<el-option v-for="(item, index) in returnPartList" :key="index" :label="item.partCode" :value="item.id" />
</el-select>
<el-button type="primary" @click="getProcessList()">零件导入</el-button>
</div> -->
<el-button type="primary" @click="importProcessList()">零件导入</el-button>
</div>
<!-- <div class="table-btn-right-box">
<el-button type="primary">历史工序</el-button>
</div> -->
</div>
</div>
<el-form
ref="tableForm1"
:model="form1"
:rules="formRules1"
label-width="0px"
v-if="activeName == '1'"
>
<el-table
:data="form1.tableData1"
style="width: 100%"
v-if="activeName == '1'"
@selection-change="handleSelectionChange1"
:height="tableHeight"
header-row-class-name="header_height"
>
<el-form ref="tableForm1" :model="form1" :rules="formRules1" label-width="0px" v-if="activeName == '1'">
<el-table :data="form1.tableData1" style="width: 100%" v-if="activeName == '1'"
@selection-change="handleSelectionChange1" :height="tableHeight" header-row-class-name="header_height">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="processInfo.reworkNo" label="返工序号">
<template #header>
<span><i style="color: red">*</i>返工序号</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData1[${scope.$index}].processInfo.reworkNo`"
:rules="formRules1.reworkNo"
>
<el-input
v-model="scope.row.processInfo.reworkNo"
placeholder="请输入"
style="width: 100%"
></el-input>
<el-form-item :prop="`tableData1[${scope.$index}].processInfo.reworkNo`" :rules="formRules1.reworkNo">
<el-input v-model="scope.row.processInfo.reworkNo" placeholder="请输入" style="width: 100%"></el-input>
</el-form-item>
</template>
</el-table-column>
@ -112,15 +63,8 @@
<span><i style="color: red">*</i>工序号</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData1[${scope.$index}].processInfo.processNo`"
:rules="formRules1.processNo"
>
<el-input
v-model="scope.row.processInfo.processNo"
placeholder="请输入"
style="width: 100%"
></el-input>
<el-form-item :prop="`tableData1[${scope.$index}].processInfo.processNo`" :rules="formRules1.processNo">
<el-input v-model="scope.row.processInfo.processNo" placeholder="请输入" style="width: 100%"></el-input>
</el-form-item>
</template>
</el-table-column>
@ -129,23 +73,11 @@
<span><i style="color: red">*</i>工序</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData1[${scope.$index}].processInfo.ppsId`"
:rules="formRules1.ppsId"
>
<el-select
v-model="scope.row.processInfo.ppsId"
placeholder="请选择"
clearable
filterable
@change="processChange(scope.row, scope.$index)"
>
<el-option
v-for="(item, index) in processSetOption"
:key="index"
:label="`${item.code}-${item.name}`"
:value="item.id"
></el-option>
<el-form-item :prop="`tableData1[${scope.$index}].processInfo.ppsId`" :rules="formRules1.ppsId">
<el-select v-model="scope.row.processInfo.ppsId" placeholder="请选择" clearable filterable
@change="processChange(scope.row, scope.$index)">
<el-option v-for="(item, index) in processSetOption" :key="index" :label="`${item.code}-${item.name}`"
:value="item.id"></el-option>
</el-select>
</el-form-item>
</template>
@ -155,55 +87,27 @@
<span><i style="color: red">*</i>工艺能力</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData1[${scope.$index}].processInfo.caId`"
:rules="formRules1.caId"
>
<el-select
v-model="scope.row.processInfo.caId"
placeholder="请选择"
clearable
filterable
@change="craftChange(scope.row, scope.$index)"
>
<el-option
v-for="(item, index) in craftAbilityOption"
:key="index"
:label="`${item.caCode}-${item.caName}`"
:value="item.id"
></el-option>
<el-form-item :prop="`tableData1[${scope.$index}].processInfo.caId`" :rules="formRules1.caId">
<el-select v-model="scope.row.processInfo.caId" placeholder="请选择" clearable filterable
@change="craftChange(scope.row, scope.$index)">
<el-option v-for="(item, index) in craftAbilityOption" :key="index"
:label="`${item.caCode}-${item.caName}`" :value="item.id"></el-option>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="makeMemo" label="工序描述">
<template #default="scope">
<el-form-item
:prop="`tableData1[${scope.$index}].processInfo.makeMemo`"
:rules="formRules1.makeMemo"
>
<el-input
v-model="scope.row.processInfo.makeMemo"
placeholder="请输入"
style="width: 100%"
></el-input>
<el-form-item :prop="`tableData1[${scope.$index}].processInfo.makeMemo`" :rules="formRules1.makeMemo">
<el-input v-model="scope.row.processInfo.makeMemo" placeholder="请输入" style="width: 100%"></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="makeTeam" label="加工班组">
<template #default="scope">
<el-select
v-model="scope.row.processInfo.makeTeam"
placeholder="请选择"
clearable
filterable
@change="changeMakeTeam(scope.row, scope.$index)"
>
<el-option
v-for="(item, index) in teamOptions"
:label="item.tsName"
:value="item.id"
></el-option>
<el-select v-model="scope.row.processInfo.makeTeam" placeholder="请选择" clearable filterable
@change="changeMakeTeam(scope.row, scope.$index)">
<el-option v-for="(item, index) in teamOptions" :label="item.tsName" :value="item.id"></el-option>
</el-select>
</template>
</el-table-column>
@ -214,18 +118,9 @@
placeholder="请输入"
style="width: 100%"
></el-input> -->
<el-select
v-model="scope.row.processInfo.ocId"
placeholder="请选择"
clearable
filterable
@change="changeOcId(scope.row, scope.$index)"
>
<el-option
v-for="(item, index) in oemList"
:label="item.ocName"
:value="item.id"
></el-option>
<el-select v-model="scope.row.processInfo.ocId" placeholder="请选择" clearable filterable
@change="changeOcId(scope.row, scope.$index)">
<el-option v-for="(item, index) in oemList" :label="item.ocName" :value="item.id"></el-option>
</el-select>
</template>
</el-table-column>
@ -234,16 +129,9 @@
<span><i style="color: red">*</i>主工序</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData1[${scope.$index}].processInfo.cruxProcess`"
:rules="formRules1.cruxProcess"
>
<el-select
v-model="scope.row.processInfo.cruxProcess"
placeholder="请选择"
clearable
filterable
>
<el-form-item :prop="`tableData1[${scope.$index}].processInfo.cruxProcess`"
:rules="formRules1.cruxProcess">
<el-select v-model="scope.row.processInfo.cruxProcess" placeholder="请选择" clearable filterable>
<el-option label="是" value="1"></el-option>
<el-option label="否" value="0"></el-option>
</el-select>
@ -252,34 +140,17 @@
</el-table-column>
</el-table>
</el-form>
<el-form
ref="tableForm2"
:model="form2"
:rules="formRules2"
label-width="0px"
v-if="activeName == '2'"
>
<el-table
:data="form2.tableData2"
style="width: 100%"
@selection-change="handleSelectionChange2"
:height="tableHeight"
>
<el-form ref="tableForm2" :model="form2" :rules="formRules2" label-width="0px" v-if="activeName == '2'">
<el-table :data="form2.tableData2" style="width: 100%" @selection-change="handleSelectionChange2"
:height="tableHeight">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="date" label="工序号">
<template #header>
<span><i style="color: red">*</i>工序号</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData2[${scope.$index}].trialNo`"
:rules="formRules2.trialNo"
>
<el-input
v-model="scope.row.trialNo"
placeholder="请输入"
style="width: 100%"
></el-input>
<el-form-item :prop="`tableData2[${scope.$index}].trialNo`" :rules="formRules2.trialNo">
<el-input v-model="scope.row.trialNo" placeholder="请输入" style="width: 100%"></el-input>
</el-form-item>
</template>
</el-table-column>
@ -288,22 +159,11 @@
<span><i style="color: red">*</i>检验项目</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData2[${scope.$index}].projectCode`"
:rules="formRules2.projectCode"
>
<el-select
v-model="scope.row.projectCode"
placeholder="请选择"
clearable
filterable
@change="projectChange(scope.row, scope.$index)"
>
<el-option
v-for="(item, index) in projectOptions"
:label="`${item.code}-${item.name}`"
:value="item.id"
></el-option>
<el-form-item :prop="`tableData2[${scope.$index}].projectCode`" :rules="formRules2.projectCode">
<el-select v-model="scope.row.projectCode" placeholder="请选择" clearable filterable
@change="projectChange(scope.row, scope.$index)">
<el-option v-for="(item, index) in projectOptions" :label="`${item.code}-${item.name}`"
:value="item.id"></el-option>
</el-select>
</el-form-item>
</template>
@ -313,22 +173,11 @@
<span><i style="color: red">*</i>检验标准</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData2[${scope.$index}].projectStandard`"
:rules="formRules2.projectStandard"
>
<el-select
v-model="scope.row.projectStandard"
placeholder="请选择"
clearable
filterable
@change="standardChange(scope.row, scope.$index)"
>
<el-option
v-for="(item, index) in standardList"
:label="`${item.code}-${item.name}`"
:value="item.id"
></el-option>
<el-form-item :prop="`tableData2[${scope.$index}].projectStandard`" :rules="formRules2.projectStandard">
<el-select v-model="scope.row.projectStandard" placeholder="请选择" clearable filterable
@change="standardChange(scope.row, scope.$index)">
<el-option v-for="(item, index) in standardList" :label="`${item.code}-${item.name}`"
:value="item.id"></el-option>
</el-select>
</el-form-item>
</template>
@ -339,50 +188,25 @@
<span><i style="color: red">*</i>定额工时(分钟)</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData2[${scope.$index}].proHours`"
:rules="formRules2.proHours"
>
<el-input
v-model="scope.row.proHours"
placeholder="请输入"
style="width: 100%"
></el-input>
<el-form-item :prop="`tableData2[${scope.$index}].proHours`" :rules="formRules2.proHours">
<el-input v-model="scope.row.proHours" placeholder="请输入" style="width: 100%"></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="prepareHours" label="准备工时(分钟)">
<template #default="scope">
<el-input
v-model="scope.row.prepareHours"
placeholder="请输入"
style="width: 100%"
></el-input>
<el-input v-model="scope.row.prepareHours" placeholder="请输入" style="width: 100%"></el-input>
</template>
</el-table-column>
</el-table>
</el-form>
<el-form
ref="tableForm3"
:model="form3"
:rules="formRules3"
label-width="0px"
v-if="activeName == '3'"
>
<el-table
:data="form3.tableData3"
style="width: 100%"
@selection-change="handleSelectionChange3"
:height="tableHeight"
>
<el-form ref="tableForm3" :model="form3" :rules="formRules3" label-width="0px" v-if="activeName == '3'">
<el-table :data="form3.tableData3" style="width: 100%" @selection-change="handleSelectionChange3"
:height="tableHeight">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="trialNo" label="工序号">
<template #default="scope">
<el-input
v-model="scope.row.trialNo"
placeholder="请输入"
style="width: 100%"
></el-input>
<el-input v-model="scope.row.trialNo" placeholder="请输入" style="width: 100%"></el-input>
</template>
</el-table-column>
<el-table-column prop="date" label="镀前镀后">
@ -390,10 +214,7 @@
<span><i style="color: red">*</i>镀前镀后</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData3[${scope.$index}].testType`"
:rules="formRules3.testType"
>
<el-form-item :prop="`tableData3[${scope.$index}].testType`" :rules="formRules3.testType">
<el-select v-model="scope.row.testType" placeholder="请选择" clearable filterable>
<el-option label="是" value="1"></el-option>
<el-option label="否" value="2"></el-option>
@ -407,55 +228,29 @@
</template>
<template #default="scope">
<el-form-item :prop="`tableData3[${scope.$index}].tool`" :rules="formRules3.tool">
<el-input
v-model="scope.row.tool"
placeholder="请输入"
style="width: 100%"
></el-input>
<el-input v-model="scope.row.tool" placeholder="请输入" style="width: 100%"></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="date" label="量具尺寸">
<template #default="scope">
<el-input
v-model="scope.row.toolSize"
placeholder="请输入"
style="width: 100%"
></el-input>
<el-input v-model="scope.row.toolSize" placeholder="请输入" style="width: 100%"></el-input>
</template>
</el-table-column>
<el-table-column prop="date" label="图纸尺寸">
<template #default="scope">
<el-input
v-model="scope.row.toolSize"
placeholder="请输入"
style="width: 100%"
></el-input>
<el-input v-model="scope.row.toolSize" placeholder="请输入" style="width: 100%"></el-input>
</template>
</el-table-column>
</el-table>
</el-form>
<el-form
ref="tableForm4"
:model="form4"
:rules="formRules4"
label-width="0px"
v-if="activeName == '4'"
>
<el-table
:data="form4.tableData4"
style="width: 100%"
@selection-change="handleSelectionChange4"
:height="tableHeight"
>
<el-form ref="tableForm4" :model="form4" :rules="formRules4" label-width="0px" v-if="activeName == '4'">
<el-table :data="form4.tableData4" style="width: 100%" @selection-change="handleSelectionChange4"
:height="tableHeight">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="date" label="工序号">
<template #default="scope">
<el-input
v-model="scope.row.trialNo"
placeholder="请输入"
style="width: 100%"
></el-input>
<el-input v-model="scope.row.trialNo" placeholder="请输入" style="width: 100%"></el-input>
</template>
</el-table-column>
<el-table-column prop="date" label="对应工装">
@ -463,52 +258,29 @@
<span><i style="color: red">*</i>对应工装</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData4[${scope.$index}].moldCode`"
:rules="formRules4.moldCode"
>
<el-input
v-model="scope.row.moldCode"
placeholder="请输入"
style="width: 100%"
></el-input>
<el-form-item :prop="`tableData4[${scope.$index}].moldCode`" :rules="formRules4.moldCode">
<el-input v-model="scope.row.moldCode" placeholder="请输入" style="width: 100%"></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="date" label="工装名称">
<template #default="scope">
<el-input
v-model="scope.row.moldName"
placeholder="请输入"
style="width: 100%"
></el-input>
<el-input v-model="scope.row.moldName" placeholder="请输入" style="width: 100%"></el-input>
</template>
</el-table-column>
<el-table-column prop="date" label="是否印字">
<template #default="scope">
<el-input
v-model="scope.row.isPrint"
placeholder="请输入"
style="width: 100%"
></el-input>
<el-input v-model="scope.row.isPrint" placeholder="请输入" style="width: 100%"></el-input>
</template>
</el-table-column>
<el-table-column prop="date" label="印字版编号">
<template #default="scope">
<el-input
v-model="scope.row.printNo"
placeholder="请输入"
style="width: 100%"
></el-input>
<el-input v-model="scope.row.printNo" placeholder="请输入" style="width: 100%"></el-input>
</template>
</el-table-column>
<el-table-column prop="date" label="测试夹具号">
<template #default="scope">
<el-input
v-model="scope.row.testFixtureNo"
placeholder="请输入"
style="width: 100%"
></el-input>
<el-input v-model="scope.row.testFixtureNo" placeholder="请输入" style="width: 100%"></el-input>
</template>
</el-table-column>
</el-table>
@ -531,6 +303,7 @@ import {
getTeamSetList,
getStandardList,
getOemList,
getReturnPartInfo
} from '@/api/processManagement/taskProcessing';
// import {getPartList} from '@/api/orderManagement/getPartList';
import { getDictionary } from '@/api/system/dict';
@ -666,6 +439,7 @@ export default {
dictionaryData: [],
tableHeight: 0,
oemList: [], //
returnPartList: [],//
};
},
mounted() {
@ -678,6 +452,7 @@ export default {
this.getStandardList();
this.getDictionary();
this.getOemList();
},
methods: {
getOemList() {
@ -805,7 +580,18 @@ export default {
//
getModelList() {
getModelList().then(res => {
this.modelOption = res.data.data;
let data_ = res.data.data;
data_.forEach(item => {
item.label = item.platingTypeStr;
if (item.children.length > 0) {
item.children.forEach(item_ => {
item_.label = item_.name;
item_.value = item_.id;
});
}
});
this.modelOption = data_;
this.filteredList = [...this.modelOption];
});
},
@ -872,9 +658,14 @@ export default {
// this.$message.success('');
});
},
getReturnPartInfo(val) {
getReturnPartInfo({ partCode: val }).then(res => {
this.returnPartList = res.data.data;
});
},
//
getProcessList() {
getProcessList().then(res => {});
importProcessList() {
getProcessList().then(res => { });
},
//
getDetails() {
@ -891,8 +682,10 @@ export default {
this.$nextTick(() => {
this.autoSelectFirstProcess();
this.calculateTableHeight();
});
this.partInfoData = res.data.data;
this.getReturnPartInfo(this.partInfoData.partInfo.partCode)
})
.catch(err => {
this.treeLoading = false;
@ -967,12 +760,12 @@ export default {
}),
},
];
console.log(tree,'tree');
console.log(tree, 'tree');
return tree;
},
autoSelectFirstProcess() {
if (!this.data || this.data.length === 0) return;
if(this.data[0].children.length>0){
if (this.data[0].children.length > 0) {
let rootNode = this.data[0].children[0];
this.handleNodeClick(rootNode, {
level: 2,
@ -982,10 +775,10 @@ export default {
},
});
this.$nextTick(() => {
if (this.$refs.tree) {
this.$refs.tree.setCurrentKey(rootNode.id);
}
});
if (this.$refs.tree) {
this.$refs.tree.setCurrentKey(rootNode.id);
}
});
}
// const rootNode = this.data[0];
// this.handleNodeClick(rootNode, {
@ -995,7 +788,7 @@ export default {
// isRoot: true,
// },
// });
},
//
handleNodeClick(nodes, node, self) {
@ -1264,6 +1057,7 @@ export default {
flex-direction: row;
height: 100%;
border: 1px solid #ccc;
.process-left {
border-right: 1px solid #ccc;
height: 100%;
@ -1275,19 +1069,23 @@ export default {
background: #e4e7ed;
}
}
:deep(.el-form-item) {
margin-bottom: 0px !important;
}
.process-right {
padding: 12px;
flex: 1;
border-left: 0;
.table-btn {
width: 100%;
height: 40px;
display: flex;
justify-content: space-between;
align-items: center;
.table-btn-left {
display: flex;
gap: 8px;
@ -1297,6 +1095,7 @@ export default {
float: right;
display: flex;
margin-right: 40px;
.table-btn-right-box {
margin-right: 12px;
}
@ -1304,15 +1103,19 @@ export default {
}
}
}
:deep(.el-table .el-table__body-wrapper .el-table__cell) {
height: 50px !important;
padding: 0 !important;
line-height: 50px !important;
}
:deep(.header_height) {
height: 36px !important; /* 设置你想要的高度 */
height: 36px !important;
/* 设置你想要的高度 */
line-height: 36px !important;
}
:deep(.el-tree-node.is-current > .el-tree-node__content) {
background-color: rgba(40, 76, 135, 0.9) !important;
@ -1320,6 +1123,7 @@ export default {
color: #fff;
}
}
:deep(.el-tree-node__label) {
font-size: 14px;
}

Loading…
Cancel
Save