Browse Source

2025/5/28

master
Aoi_Tori 9 months ago
parent
commit
f92ed038c0
  1. 5
      src/api/part/workCenter.js
  2. 446
      src/views/modules/part/routingManagement.vue

5
src/api/part/workCenter.js

@ -6,3 +6,8 @@ import { createAPI } from "@/utils/httpRequest.js";
* @returns {*}
*/
export const searchWorkCenter = data => createAPI(`/plm/workCenter/searchWorkCenter`,'get',data);
/**
* 分页查询工作中心列表
*/
export const queryWorkCenterList = data => createAPI(`/plm/workCenter/queryWorkCenterList`,'post',data);

446
src/views/modules/part/routingManagement.vue

@ -67,12 +67,16 @@
:label="item.columnLabel">
<template slot-scope="scope">
<div v-if="item.columnProp === 'ifsPartNo'">
<el-link style="cursor:pointer;" v-if="!item.columnHidden" @click="toPartMenu(scope.row.ifsPartNo)"> {{ scope.row[item.columnProp] }}</el-link>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
<el-link style="cursor:pointer;" v-if="!item.columnHidden" @click="toPartMenu(scope.row.ifsPartNo)">
{{ scope.row[item.columnProp] }}
</el-link>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
</div>
<div v-else>
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
</div>
</template>
</el-table-column>
@ -104,12 +108,14 @@
</el-pagination>
<!-- routing新增/编辑模态框 -->
<el-dialog :close-on-click-modal="false" top="8vh" v-drag :before-close="closeModalX" :visible.sync="modalFlag" width="1110px">
<el-dialog :close-on-click-modal="false" top="8vh" v-drag :before-close="closeModalX" :visible.sync="modalFlag"
width="1110px">
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 5px">
<el-form-item prop="partNo" :rules="rules.partNo">
<span v-if="!modalDisableFlag" slot="label" @click="queryPartList"><a herf="#">物料编码</a></span>
<span v-else slot="label">物料编码</span>
<el-input v-model="modalData.partNo" :disabled="modalDisableFlag" @blur="partNoBlur" style="width: 221px"></el-input>
<el-input v-model="modalData.partNo" :disabled="modalDisableFlag" @blur="partNoBlur"
style="width: 221px"></el-input>
</el-form-item>
<el-form-item :label="'物料名称'" prop="partDesc" :rules="rules.partDesc">
<el-input v-model="modalData.partDesc" disabled style="width: 221px"></el-input>
@ -118,14 +124,16 @@
<el-input v-model="modalData.printUnit" disabled style="width: 221px"></el-input>
</el-form-item>
<el-form-item :label="'工艺类型'" prop="routingType" :rules="rules.routingType">
<el-select v-model="modalData.routingType" @change="routingTypeChange" :disabled="modalDisableFlag" style="width: 120px">
<el-select v-model="modalData.routingType" @change="routingTypeChange" :disabled="modalDisableFlag"
style="width: 120px">
<el-option label="Manufacturing" value="Manufacturing"></el-option>
<el-option label="Repair" value="Repair"></el-option>
<el-option label="Prototype" value="Prototype"></el-option>
</el-select>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules"
style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="生效日期" prop="phaseInDate" :rules="rules.phaseInDate">
<el-date-picker
style="width: 221px"
@ -150,16 +158,22 @@
<el-input v-model="modalData.routingRevision" type="number" disabled style="width: 221px"></el-input>
</el-form-item>
<el-form-item>
<el-button v-if="modalData.flag === '1' && headerSaveFlag" :loading="saveHeaderLoading" type="primary" @click="saveRoutingHeader" style="margin-top: 23px;width: 120px">保存</el-button>
<el-button v-else-if="modalData.flag === '2'" type="primary" @click="copyRoutingRevision" style="margin-top: 23px;width: 120px">Copy</el-button>
<el-button v-if="modalData.flag === '1' && headerSaveFlag" :loading="saveHeaderLoading" type="primary"
@click="saveRoutingHeader" style="margin-top: 23px;width: 120px">保存
</el-button>
<el-button v-else-if="modalData.flag === '2'" type="primary" @click="copyRoutingRevision"
style="margin-top: 23px;width: 120px">Copy
</el-button>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="备注">
<el-input type="textarea" v-model="modalData.noteText" :rows="3" resize='none' show-word-limit style="width: 1082px;height: 20px"></el-input>
<el-input type="textarea" v-model="modalData.noteText" :rows="3" resize='none' show-word-limit
style="width: 1082px;height: 20px"></el-input>
</el-form-item>
</el-form>
<el-tabs v-model="detailTable" style="margin-top: 50px; width: 100%" type="border-card" @tab-click="tabDetailClick" class="detail-tab">
<el-tabs v-model="detailTable" style="margin-top: 50px; width: 100%" type="border-card"
@tab-click="tabDetailClick" class="detail-tab">
<!-- Routing明细信息页签 -->
<el-tab-pane label="Routings" name="routing_detail">
<el-form label-position="top" style="margin-top: -10px">
@ -168,9 +182,16 @@
<el-button type="primary" @click="deleteRoutingDetail">删除</el-button>
<el-button type="primary" @click="updateRoutingDetail">编辑</el-button>
<el-button v-if="modalData.flag === '2'" type="primary" @click="copyRoutingAlternative">Copy</el-button>
<el-button v-if="detailData.status === 'Tentative' || detailData.status === 'Obsolete'" type="primary" @click="updateStatusToBuildable">Build</el-button>
<el-button v-if="detailData.status === 'Buildable' && (modalData.effPhaseOutDate == null || modalData.effPhaseOutDate === '')" type="primary" @click="updateStatusToObsolete">Retire</el-button>
<el-button v-if="modalData.flag === '2' && detailData.officialFlag !== 'Y'" type="primary" @click="toBecomeOfficialRouting" :loading="toBecomeOfficialLoading">转正式Routing</el-button>
<el-button v-if="detailData.status === 'Tentative' || detailData.status === 'Obsolete'" type="primary"
@click="updateStatusToBuildable">Build
</el-button>
<el-button
v-if="detailData.status === 'Buildable' && (modalData.effPhaseOutDate == null || modalData.effPhaseOutDate === '')"
type="primary" @click="updateStatusToObsolete">Retire
</el-button>
<el-button v-if="modalData.flag === '2' && detailData.officialFlag !== 'Y'" type="primary"
@click="toBecomeOfficialRouting" :loading="toBecomeOfficialLoading">转正式Routing
</el-button>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="detailData" :rules="rules" style="margin-left: 7px">
@ -193,7 +214,8 @@
</el-form>
<el-form :inline="true" label-position="top" :model="detailData" style="margin-left: 7px">
<el-form-item label="备注">
<el-input type="textarea" v-model="detailData.detailNoteText" :rows="3" resize='none' show-word-limit readonly style="width: 1073px;height: 20px"></el-input>
<el-input type="textarea" v-model="detailData.detailNoteText" :rows="3" resize='none' show-word-limit
readonly style="width: 1073px;height: 20px"></el-input>
</el-form-item>
</el-form>
</el-tab-pane>
@ -226,7 +248,8 @@
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
<el-table-column
@ -242,7 +265,8 @@
</el-table>
</el-tab-pane>
</el-tabs>
<el-tabs v-show="detailTable === 'routing_detail'" v-model="subDetailTable" style="width: 100%; min-height: 330px" type="border-card" @tab-click="tabSubDetailClick" class="sub_detail-tab">
<el-tabs v-show="detailTable === 'routing_detail'" v-model="subDetailTable" style="width: 100%; min-height: 330px"
type="border-card" @tab-click="tabSubDetailClick" class="sub_detail-tab">
<!-- Routing子明细信息页签 -->
<el-tab-pane label="Operations" name="routing_sub_detail">
<el-form label-position="top" style="margin-top: 5px">
@ -273,7 +297,8 @@
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
<el-table-column
@ -298,8 +323,10 @@
<!-- 明细新增模态框 -->
<el-dialog title="替代" :close-on-click-modal="false" v-drag :visible.sync="saveDetailModalFlag" width="730px">
<el-form :inline="true" label-position="top" :model="saveDetailData" :rules="detailRules" style="margin-left: 5px">
<el-form-item :label="'替代编码'" prop="alternativeNo" :disabled="saveDetailModalDisable" :rules="detailRules.alternativeNo">
<el-form :inline="true" label-position="top" :model="saveDetailData" :rules="detailRules"
style="margin-left: 5px">
<el-form-item :label="'替代编码'" prop="alternativeNo" :disabled="saveDetailModalDisable"
:rules="detailRules.alternativeNo">
<el-input v-model="saveDetailData.alternativeNo" style="width: 221px"></el-input>
</el-form-item>
<el-form-item :label="'替代名称'" prop="alternativeDescription" :rules="detailRules.alternativeDescription">
@ -311,7 +338,8 @@
</el-form>
<el-form :inline="true" label-position="top" :model="saveDetailData" style="margin-left: 5px">
<el-form-item label="备注">
<el-input type="textarea" v-model="saveDetailData.detailNoteText" :rows="3" resize='none' show-word-limit style="width: 690px;height: 20px"></el-input>
<el-input type="textarea" v-model="saveDetailData.detailNoteText" :rows="3" resize='none' show-word-limit
style="width: 690px;height: 20px"></el-input>
</el-form-item>
</el-form>
<el-footer style="height:35px;margin-top:65px;text-align:center">
@ -377,7 +405,8 @@
</el-dialog>
<!-- 子明细工序模态框 -->
<el-dialog title="工序清单" :close-on-click-modal="false" v-drag :visible.sync="componentPartModelFlag" width="520px">
<el-dialog title="工序清单" :close-on-click-modal="false" v-drag :visible.sync="componentPartModelFlag"
width="520px">
<el-form :inline="true" label-position="top" :model="operationData">
<el-form-item :label="'工序编码'">
<el-input v-model="operationData.operationNo" clearable style="width: 120px"></el-input>
@ -407,7 +436,8 @@
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
</el-table>
@ -472,17 +502,20 @@
<!-- 子明细新增模态框 -->
<el-dialog title="工序" :close-on-click-modal="false" v-drag :visible.sync="componentSaveModal" width="500px">
<el-form :inline="true" label-position="top" :model="componentData" :rules="componentRules" style="margin-left: 5px">
<el-form :inline="true" label-position="top" :model="componentData" :rules="componentRules"
style="margin-left: 5px">
<el-form-item :label="'工序编码'" prop="operationNo" :rules="componentRules.operationNo">
<el-input-number :controls="false" :step="0" v-model="componentData.operationNo" style="width: 221px"></el-input-number>
<el-input-number :controls="false" :step="0" v-model="componentData.operationNo"
style="width: 221px"></el-input-number>
</el-form-item>
<el-form-item :label="'工序名称'" prop="operationName" :rules="componentRules.operationName">
<el-input v-model="componentData.operationName" style="width: 221px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="componentData" :rules="componentRules" style="margin-left: 5px">
<el-form :inline="true" label-position="top" :model="componentData" :rules="componentRules"
style="margin-left: 5px">
<el-form-item prop="workCenterNo" :rules="componentRules.workCenterNo">
<span style="cursor: pointer" slot="label" @click="getBaseList(119)"><a herf="#">加工中心编码</a></span>
<span style="cursor: pointer" slot="label" @click="queryWorkCenter"><a herf="#">加工中心编码</a></span>
<el-input v-model="componentData.workCenterNo" @blur="workCenterBlur(119)" style="width: 103px"></el-input>
</el-form-item>
<el-form-item label=" ">
@ -492,35 +525,48 @@
<el-input v-model="componentData.workCenterDesc" disabled style="width: 221px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="componentData" :rules="componentRules" style="margin-left: 5px">
<el-form :inline="true" label-position="top" :model="componentData" :rules="componentRules"
style="margin-left: 5px">
<el-form-item :label="'机器调机时间'" prop="machSetupTime" :rules="componentRules.machSetupTime">
<el-input-number :controls="false" :step="0" v-model="componentData.machSetupTime" @change="changeMachSetupTime" style="width: 221px"></el-input-number>
<el-input-number :controls="false" :step="0" v-model="componentData.machSetupTime"
@change="changeMachSetupTime" style="width: 221px"></el-input-number>
</el-form-item>
<el-form-item :label="'人工调机时间'" prop="laborSetupTime" :rules="componentRules.laborSetupTime">
<el-input-number :controls="false" :step="0" v-model="componentData.laborSetupTime" style="width: 221px"></el-input-number>
<el-input-number :controls="false" :step="0" v-model="componentData.laborSetupTime"
style="width: 221px"></el-input-number>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="componentData" :rules="componentRules" style="margin-left: 5px">
<el-form :inline="true" label-position="top" :model="componentData" :rules="componentRules"
style="margin-left: 5px">
<el-form-item style="margin-left: 235px" prop="setupLaborClassNo" :rules="componentRules.setupLaborClassNo">
<span style="cursor: pointer" slot="label" @click="getBaseList(118, 2)"><a herf="#">调机过程中人员等级</a></span>
<el-input v-model="componentData.setupLaborClassNo" @blur="setupLaborClassBlur(118)" style="width: 90px"></el-input>
<span style="cursor: pointer" slot="label" @click="getBaseList(118, 2)"><a
herf="#">调机过程中人员等级</a></span>
<el-input v-model="componentData.setupLaborClassNo" @blur="setupLaborClassBlur(118)"
style="width: 90px"></el-input>
<el-input v-model="componentData.setupLaborClassDesc" disabled style="width: 127px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="componentData" :rules="componentRules" style="margin-left: 5px">
<el-form-item :label="'调机过程中人数'" style="margin-left: 235px" prop="setupCrewSize" :rules="componentRules.setupCrewSize">
<el-input-number :controls="false" :step="0" v-model="componentData.setupCrewSize" style="width: 221px"></el-input-number>
<el-form :inline="true" label-position="top" :model="componentData" :rules="componentRules"
style="margin-left: 5px">
<el-form-item :label="'调机过程中人数'" style="margin-left: 235px" prop="setupCrewSize"
:rules="componentRules.setupCrewSize">
<el-input-number :controls="false" :step="0" v-model="componentData.setupCrewSize"
style="width: 221px"></el-input-number>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="componentData" :rules="componentRules" style="margin-left: 5px">
<el-form :inline="true" label-position="top" :model="componentData" :rules="componentRules"
style="margin-left: 5px">
<el-form-item :label="'机器单位产出'" prop="machRunFactor" :rules="componentRules.machRunFactor">
<el-input-number :controls="false" :step="0" v-model="componentData.machRunFactor" @change="changeMachRunFactor" style="width: 221px"></el-input-number>
<el-input-number :controls="false" :step="0" v-model="componentData.machRunFactor"
@change="changeMachRunFactor" style="width: 221px"></el-input-number>
</el-form-item>
<el-form-item :label="'人工单位产出'" prop="laborRunFactor" :rules="componentRules.laborRunFactor">
<el-input-number :controls="false" :step="0" v-model="componentData.laborRunFactor" style="width: 221px"></el-input-number>
<el-input-number :controls="false" :step="0" v-model="componentData.laborRunFactor"
style="width: 221px"></el-input-number>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="componentData" :rules="componentRules" style="margin-left: 5px">
<el-form :inline="true" label-position="top" :model="componentData" :rules="componentRules"
style="margin-left: 5px">
<el-form-item :label="'产出单位'" prop="runTimeCode" :rules="componentRules.runTimeCode">
<el-select v-model="componentData.runTimeCode" clearable style="width: 221px">
<el-option label="单位/小时" value="Units/Hour"></el-option>
@ -534,22 +580,27 @@
<el-input v-model="componentData.laborClassDesc" disabled style="width: 127px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="componentData" :rules="componentRules" style="margin-left: 5px">
<el-form :inline="true" label-position="top" :model="componentData" :rules="componentRules"
style="margin-left: 5px">
<el-form-item :label="'效率%'" prop="efficiencyFactor" :rules="componentRules.efficiencyFactor">
<el-input-number :controls="false" :step="0" min="0" max="100" v-model="componentData.efficiencyFactor" style="width: 221px"></el-input-number>
<el-input-number :controls="false" :step="0" min="0" max="100" v-model="componentData.efficiencyFactor"
style="width: 221px"></el-input-number>
</el-form-item>
<el-form-item :label="'生产过程中人数'" prop="crewSize" :rules="componentRules.crewSize">
<el-input-number :controls="false" :step="0" v-model="componentData.crewSize" style="width: 221px"></el-input-number>
<el-input-number :controls="false" :step="0" v-model="componentData.crewSize"
style="width: 221px"></el-input-number>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="componentData" style="margin-left: 5px">
<el-form-item :label="'外协采购料号'">
<el-input v-model="componentData.outsideOpItem" :readonly="componentData.workCenterType !== '外部'" style="width: 456px"></el-input>
<el-input v-model="componentData.outsideOpItem" :readonly="componentData.workCenterType !== '外部'"
style="width: 456px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="componentData" style="margin-left: 5px">
<el-form-item label="备注">
<el-input type="textarea" v-model="componentData.noteText" :rows="3" resize='none' show-word-limit style="width: 456px;height: 20px"></el-input>
<el-input type="textarea" v-model="componentData.noteText" :rows="3" resize='none' show-word-limit
style="width: 456px;height: 20px"></el-input>
</el-form-item>
</el-form>
<el-footer style="height:35px;margin-top:65px;text-align:center">
@ -561,39 +612,51 @@
<!-- routingTool 新增模态框 -->
<el-dialog title="工艺工具" :close-on-click-modal="false" v-drag :visible.sync="saveRoutingToolModal" width="500px">
<el-form :inline="true" label-position="top" :model="routingToolData" :rules="RoutingToolRules" style="margin-left: 5px">
<el-form :inline="true" label-position="top" :model="routingToolData" :rules="RoutingToolRules"
style="margin-left: 5px">
<el-form-item :label="'替代'" prop="alternativeNo" :rules="RoutingToolRules.alternativeNo">
<el-select v-model="routingToolData.alternativeNo" placeholder="请选择" :disabled="saveRoutingToolDisableModal" style="width: 464px">
<el-select v-model="routingToolData.alternativeNo" placeholder="请选择"
:disabled="saveRoutingToolDisableModal" style="width: 464px">
<el-option
v-for="i in alternativeList"
:key="i.alternativeNo"
:label="i.alternativeDescription"
:value="i.alternativeNo">
<span style="float: left;width: 100px">{{ i.alternativeNo }}</span>
<span style="float: right; color: #8492a6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; font-size: 11px;width: 150px">{{ i.alternativeDescription }}</span>
<span
style="float: right; color: #8492a6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; font-size: 11px;width: 150px">{{
i.alternativeDescription
}}</span>
</el-option>
</el-select>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="routingToolData" :rules="RoutingToolRules" style="margin-left: 5px">
<el-form :inline="true" label-position="top" :model="routingToolData" :rules="RoutingToolRules"
style="margin-left: 5px">
<el-form-item prop="operationNo" :rules="RoutingToolRules.operationNo">
<span style="cursor: pointer" slot="label" v-if="saveRoutingToolDisableModal === false" @click="queryOperationList()"><a>工序</a></span>
<span style="cursor: pointer" slot="label" v-if="saveRoutingToolDisableModal === false"
@click="queryOperationList()"><a>工序</a></span>
<span v-else slot="label">工序</span>
<el-input v-model="routingToolData.operationNo" :disabled="saveRoutingToolDisableModal" @change="routingToolOperationBlur()" style="width: 120px"></el-input>
<el-input v-model="routingToolData.operationNo" :disabled="saveRoutingToolDisableModal"
@change="routingToolOperationBlur()" style="width: 120px"></el-input>
<el-input v-model="routingToolData.operationName" disabled style="width: 340px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="routingToolData" :rules="RoutingToolRules" style="margin-left: 5px">
<el-form :inline="true" label-position="top" :model="routingToolData" :rules="RoutingToolRules"
style="margin-left: 5px">
<el-form-item prop="toolId" :rules="RoutingToolRules.toolId">
<span style="cursor: pointer" slot="label" v-if="!saveRoutingToolDisableModal" @click="queryToolList()"><a>工具</a></span>
<span style="cursor: pointer" slot="label" v-if="!saveRoutingToolDisableModal"
@click="queryToolList()"><a>工具</a></span>
<span v-else slot="label">工具</span>
<el-input v-model="routingToolData.toolId" :disabled="saveRoutingToolDisableModal" @change="routingToolBlur(122)" style="width: 120px"></el-input>
<el-input v-model="routingToolData.toolId" :disabled="saveRoutingToolDisableModal"
@change="routingToolBlur(122)" style="width: 120px"></el-input>
<el-input v-model="routingToolData.toolDescription" disabled style="width: 340px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="routingToolData" style="margin-left: 5px">
<el-form-item :label="'工具数量'" prop="toolQty" :rules="RoutingToolRules.toolQty">
<el-input-number :controls="false" :step="0" v-model="routingToolData.toolQty" style="width: 120px"></el-input-number>
<el-input-number :controls="false" :step="0" v-model="routingToolData.toolQty"
style="width: 120px"></el-input-number>
</el-form-item>
<el-form-item :label="'备注'">
<el-input v-model="routingToolData.remark" style="width: 340px;margin-left: -10px"></el-input>
@ -606,7 +669,8 @@
</el-dialog>
<!-- copyRouting -->
<el-dialog title="Copy Structure Revision" :close-on-click-modal="false" v-drag :visible.sync="copyRoutingModelFlag" width="450px">
<el-dialog title="Copy Structure Revision" :close-on-click-modal="false" v-drag :visible.sync="copyRoutingModelFlag"
width="450px">
<fieldset style="width: 426px">
<legend>Source Revision</legend>
<el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">
@ -630,10 +694,12 @@
</el-form>
<el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="生效日期">
<el-date-picker style="width: 185px" v-model="modalData.phaseInDate" readonly type="date" value-format="yyyy-MM-dd"></el-date-picker>
<el-date-picker style="width: 185px" v-model="modalData.phaseInDate" readonly type="date"
value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="失效日期">
<el-date-picker style="width: 185px" v-model="modalData.phaseOutDate" readonly type="date" value-format="yyyy-MM-dd"></el-date-picker>
<el-date-picker style="width: 185px" v-model="modalData.phaseOutDate" readonly type="date"
value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
</el-form>
<el-table
@ -660,16 +726,19 @@
</fieldset>
<fieldset style="width: 426px">
<legend>Destination Revision</legend>
<el-form :inline="true" label-position="top" :model="copyRoutingData" style="margin-left: 7px;margin-top: -5px;">
<el-form :inline="true" label-position="top" :model="copyRoutingData"
style="margin-left: 7px;margin-top: -5px;">
<el-form-item>
<span slot="label" @click="queryCopyPartModal"><a herf="#">物料编码</a></span>
<el-input v-model="copyRoutingData.partNo" @change="copyRoutingTypeChange" @blur="copyPartBlur" style="width: 120px"></el-input>
<el-input v-model="copyRoutingData.partNo" @change="copyRoutingTypeChange" @blur="copyPartBlur"
style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'物料名称'">
<el-input v-model="copyRoutingData.partDesc" disabled style="width: 249px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="copyRoutingData" style="margin-left: 7px;margin-top: -5px;">
<el-form :inline="true" label-position="top" :model="copyRoutingData"
style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="Site">
<el-input v-model="copyRoutingData.site" disabled style="width: 85px"></el-input>
</el-form-item>
@ -684,12 +753,15 @@
</el-select>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="copyRoutingData" style="margin-left: 7px;margin-top: -5px;">
<el-form :inline="true" label-position="top" :model="copyRoutingData"
style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="生效日期">
<el-date-picker style="width: 185px" v-model="copyRoutingData.phaseInDate" type="date" value-format="yyyy-MM-dd" placeholder="选择日期"></el-date-picker>
<el-date-picker style="width: 185px" v-model="copyRoutingData.phaseInDate" type="date"
value-format="yyyy-MM-dd" placeholder="选择日期"></el-date-picker>
</el-form-item>
<el-form-item label="失效日期">
<el-date-picker style="width: 185px" v-model="copyRoutingData.phaseOutDate" type="date" value-format="yyyy-MM-dd" placeholder="选择日期"></el-date-picker>
<el-date-picker style="width: 185px" v-model="copyRoutingData.phaseOutDate" type="date"
value-format="yyyy-MM-dd" placeholder="选择日期"></el-date-picker>
</el-form-item>
</el-form>
</fieldset>
@ -700,7 +772,8 @@
</el-dialog>
<!-- copyAlternative -->
<el-dialog title="Copy Alternate" :close-on-click-modal="false" v-drag :visible.sync="copyAlternativeModelFlag" width="450px">
<el-dialog title="Copy Alternate" :close-on-click-modal="false" v-drag :visible.sync="copyAlternativeModelFlag"
width="450px">
<fieldset style="width: 426px">
<legend>Source Revision</legend>
<el-form :inline="true" label-position="top" :model="detailData" style="margin-left: 7px;margin-top: -5px;">
@ -733,7 +806,8 @@
</fieldset>
<fieldset style="width: 426px">
<legend>Destination Revision</legend>
<el-form :inline="true" label-position="top" :model="copyAlternativeData" style="margin-left: 7px;margin-top: -5px;">
<el-form :inline="true" label-position="top" :model="copyAlternativeData"
style="margin-left: 7px;margin-top: -5px;">
<el-form-item>
<span slot="label" @click="queryCopyPartModal"><a herf="#">物料编码</a></span>
<el-input v-model="copyAlternativeData.partNo" @blur="copyPartBlur" style="width: 120px"></el-input>
@ -742,7 +816,8 @@
<el-input v-model="copyAlternativeData.partDesc" disabled style="width: 249px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="copyAlternativeData" style="margin-left: 7px;margin-top: -5px;">
<el-form :inline="true" label-position="top" :model="copyAlternativeData"
style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="Site">
<el-input v-model="copyAlternativeData.site" disabled style="width: 85px"></el-input>
</el-form-item>
@ -757,7 +832,8 @@
</el-select>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="copyAlternativeData" style="margin-left: 7px;margin-top: -5px;">
<el-form :inline="true" label-position="top" :model="copyAlternativeData"
style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="替代编码">
<el-input v-model="copyAlternativeData.alternativeNo" style="width: 185px"></el-input>
</el-form-item>
@ -773,7 +849,8 @@
</el-dialog>
<!-- workGuideline -->
<el-dialog title="工艺指导" :close-on-click-modal="false" v-drag :visible.sync="queryWorkGuidelineModal" width="1000px">
<el-dialog title="工艺指导" :close-on-click-modal="false" v-drag :visible.sync="queryWorkGuidelineModal"
width="1000px">
<el-form :inline="true" label-position="top" :model="workGuidelineData" style="margin-left: 5px">
<el-form-item :label="'物料编码'">
<el-input v-model="workGuidelineData.partNo" readonly style="width: 120px"></el-input>
@ -834,7 +911,8 @@
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
<el-table-column
@ -856,10 +934,13 @@
</el-dialog>
<!-- workGuideline 新增模态框 -->
<el-dialog title="工艺指导" :close-on-click-modal="false" v-drag :visible.sync="saveWorkGuidelineModal" width="664px">
<el-form :inline="true" label-position="top" :model="saveWorkGuidelineData" :rules="guidelineRules" style="margin-left: 5px">
<el-dialog title="工艺指导" :close-on-click-modal="false" v-drag :visible.sync="saveWorkGuidelineModal"
width="664px">
<el-form :inline="true" label-position="top" :model="saveWorkGuidelineData" :rules="guidelineRules"
style="margin-left: 5px">
<el-form-item :label="'序号'" prop="guidelineSeq" :rules="guidelineRules.guidelineSeq">
<el-input-number :controls="false" :step="0" v-model="saveWorkGuidelineData.guidelineSeq" style="width: 60px"></el-input-number>
<el-input-number :controls="false" :step="0" v-model="saveWorkGuidelineData.guidelineSeq"
style="width: 60px"></el-input-number>
</el-form-item>
<el-form-item :label="'工艺指导名称'" prop="guidelineDesc" :rules="guidelineRules.guidelineDesc">
<el-input v-model="saveWorkGuidelineData.guidelineDesc" style="width: 126px"></el-input>
@ -868,7 +949,8 @@
<el-input v-model="saveWorkGuidelineData.guidelineText" style="width: 413px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="saveWorkGuidelineData" :rules="guidelineRules" style="margin-left: 5px">
<el-form :inline="true" label-position="top" :model="saveWorkGuidelineData" :rules="guidelineRules"
style="margin-left: 5px">
<el-form-item :label="'工艺指导类型'" prop="guidelineType" :rules="guidelineRules.guidelineType">
<el-select v-model="saveWorkGuidelineData.guidelineType" style="width: 200px">
<el-option label="Subtask" value="Subtask"></el-option>
@ -881,7 +963,8 @@
<el-option label="Not Required" value="Not Required"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="'检验签字'" prop="inspectionSignOffRequired" :rules="guidelineRules.inspectionSignOffRequired">
<el-form-item :label="'检验签字'" prop="inspectionSignOffRequired"
:rules="guidelineRules.inspectionSignOffRequired">
<el-select v-model="saveWorkGuidelineData.inspectionSignOffRequired" style="width: 200px">
<el-option label="Required to Shop Order" value="Required to Shop Order"></el-option>
<el-option label="Required to Close Operation" value="Required to Close Operation"></el-option>
@ -896,7 +979,8 @@
</el-dialog>
<!-- copy物料模态框 -->
<el-dialog title="物料清单" top="17vh" :close-on-click-modal="false" v-drag :visible.sync="copyPartModelFlag" width="700px">
<el-dialog title="物料清单" top="17vh" :close-on-click-modal="false" v-drag :visible.sync="copyPartModelFlag"
width="700px">
<el-form :inline="true" label-position="top" :model="copyPartData">
<el-form-item :label="'PLM物料编码'">
<el-input v-model="copyPartData.plmPartNo" clearable style="width: 120px"></el-input>
@ -929,7 +1013,8 @@
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
</el-table>
@ -951,6 +1036,59 @@
<!-- chooseList模态框 -->
<ChooseList ref="baseList" @getBaseData="getBaseData"></ChooseList>
<!-- 加工中心模态框 -->
<el-dialog title="加工中心" top="17vh" :close-on-click-modal="false" v-drag :visible.sync="workCenterModelFlag"
width="940px">
<el-form :inline="true" label-position="top" :model="searchData">
<el-form-item :label="'编码'" @keyup.enter.native="queryWorkCenter">
<el-input v-model="searchData.workCenterNo" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'物料名称'" @keyup.enter.native="queryWorkCenter">
<el-input v-model="searchData.workCenterDesc" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="' '">
<el-button type="primary" @click="queryWorkCenter">查询</el-button>
</el-form-item>
</el-form>
<el-table
:height="250"
:data="workCenterList"
@row-dblclick="getWorkCenterRowData"
border
style="width: 100%;">
<el-table-column
v-for="(item,index) in workCenterColumnList" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed==''?false:item.fixed"
:min-width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
</el-table>
<!-- 分页插件 -->
<el-pagination
style="margin-top: 5px"
@size-change="sizeChangeHandle3"
@current-change="currentChangeHandle3"
:current-page="pageIndex3"
:page-sizes="[20, 50, 100, 200, 500]"
:page-size="pageSize3"
:total="totalPage3"
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
<el-footer style="height:35px;margin-top:10px;text-align:center">
<el-button type="primary" @click="componentPartModelFlag = false">关闭</el-button>
</el-footer>
</el-dialog>
</div>
</template>
@ -998,6 +1136,7 @@ import {
} from '@/api/part/routingOperationWorkGuidelines.js'
import {getChooselistData, verifyData} from "@/api/chooselist/chooselist.js"
import ChooseList from '@/views/modules/common/Chooselist'
import {queryWorkCenterList} from "../../../api/part/workCenter";
export default {
//
@ -1087,7 +1226,9 @@ export default {
routingType: '',
routingRevision: '',
page: 1,
limit: 10
limit: 10,
workCenterNo: '',
workCenterDesc: ''
},
// loading
queryLoading: false,
@ -1096,6 +1237,7 @@ export default {
saveAllLoading: false,
toBecomeOfficialLoading: false,
copyLoading: false,
workCenterModelFlag: false,
//
detailTable: 'routing_detail',
subDetailTable: 'routing_sub_detail',
@ -1343,6 +1485,7 @@ export default {
workGuidelineList: [],
copyPartList: [],
toolList: [],
workCenterList: [],
// ======== ========
columnList: [
{
@ -2325,6 +2468,47 @@ export default {
columnWidth: 80
}
],
workCenterColumnList: [
{
userId: this.$store.state.user.name,
tableName: '加工中心表',
columnProp: 'workCenterNo',
headerAlign: "center",
align: "left",
columnLabel: '编码',
columnHidden: false,
columnImage: false,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
tableName: '加工中心表',
columnProp: 'workCenterDesc',
headerAlign: "center",
align: "left",
columnLabel: '名称',
columnHidden: false,
columnImage: false,
status: true,
fixed: '',
columnWidth: 200
},
{
userId: this.$store.state.user.name,
tableName: '加工中心表',
columnProp: 'workCenterType',
headerAlign: "center",
align: "left",
columnLabel: '类型',
columnHidden: false,
columnImage: false,
status: true,
fixed: '',
columnWidth: 100
},
],
componentPartColumnList: [
{
columnProp: 'plmPartNo',
@ -2687,7 +2871,8 @@ export default {
})
},
created () {},
created() {
},
activated() {
if (this.$route.params && this.$route.params.type && this.$route.params.type === 'quote') {
@ -2757,13 +2942,13 @@ export default {
sizeChangeHandle3(val) {
this.pageSize3 = val
this.pageIndex3 = 1
this.queryToolList()
this.queryWorkCenter()
},
//
currentChangeHandle3(val) {
this.pageIndex3 = val
this.queryToolList()
this.queryWorkCenter()
},
//
@ -3367,7 +3552,8 @@ export default {
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {
@ -3386,7 +3572,8 @@ export default {
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {
@ -3430,7 +3617,8 @@ export default {
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {
@ -3671,7 +3859,8 @@ export default {
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {
@ -3771,7 +3960,8 @@ export default {
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {
@ -3788,7 +3978,8 @@ export default {
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {
@ -3859,7 +4050,8 @@ export default {
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {
@ -3932,7 +4124,8 @@ export default {
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {
@ -4120,7 +4313,8 @@ export default {
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {
@ -4137,7 +4331,8 @@ export default {
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {
@ -4171,7 +4366,8 @@ export default {
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {
@ -4210,7 +4406,8 @@ export default {
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {
@ -4261,7 +4458,8 @@ export default {
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {
@ -4281,7 +4479,8 @@ export default {
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {
@ -4318,7 +4517,8 @@ export default {
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {
@ -4346,7 +4546,8 @@ export default {
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {confirmButtonText: '确定'})
@ -4373,7 +4574,8 @@ export default {
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {confirmButtonText: '确定'})
@ -4411,7 +4613,8 @@ export default {
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {
@ -4451,7 +4654,8 @@ export default {
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {
@ -4468,7 +4672,8 @@ export default {
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {
@ -4501,7 +4706,8 @@ export default {
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {
@ -4684,9 +4890,11 @@ export default {
return this.resultList
},
startDownload () {},
startDownload() {
},
finishDownload () {},
finishDownload() {
},
fields() {
let json = '{'
@ -4719,6 +4927,31 @@ export default {
this.$router.push({name: `part-partInformation`, params: {ifsPartNo: ifsPartNo},})
}
},
//
queryWorkCenter() {
this.searchData.limit = this.pageSize3
this.searchData.page = this.pageIndex3
queryWorkCenterList(this.searchData).then(({data}) => {
if (data && data.code === 0) {
this.workCenterList = data.page.list
this.pageIndex3 = data.page.currPage
this.pageSize3 = data.page.pageSize
this.totalPage3 = data.page.totalCount
this.workCenterModelFlag = true
} else {
this.workCenterList = []
}
})
},
//
getWorkCenterRowData (row) {
this.modalData.workCenterNo = row.workCenterNo
this.modalData.workCenterDesc = row.workCenterDesc
this.modalData.workCenterType = row.workCenterType
this.workCenterModelFlag = false
},
}
}
</script>
@ -4727,22 +4960,27 @@ export default {
/deep/ .customer-tab .el-tabs__content {
padding: 0px !important;
}
/deep/ .detail-tab .el-tabs__content {
height: 165px;
padding: 15px 0px 0px 0px;
}
/deep/ .sub_detail-tab .el-tabs__content {
height: 280px;
padding: 0px;
}
.numInput /deep/ .el-input__inner {
text-align: right;
}
/deep/ .inlineNumber input::-webkit-outer-spin-button,
/deep/ .inlineNumber input::-webkit-inner-spin-button {
-webkit-appearance: none;
}
/deep/ .inlineNumber input[type="number"] {
-moz-appearance: textfield;
padding-right: 5px !important;

Loading…
Cancel
Save