|
|
@@ -1,13 +1,26 @@
|
|
|
<!-- 用户编辑弹窗 -->
|
|
|
<template>
|
|
|
- <ele-modal width="960px" :visible="visible" :append-to-body="true" :close-on-click-modal="false"
|
|
|
- custom-class="ele-dialog-form" :title="isUpdate ? '修改工序' : '添加工序'" @update:visible="updateVisible" :maxable="true">
|
|
|
+ <ele-modal
|
|
|
+ width="960px"
|
|
|
+ :visible="visible"
|
|
|
+ :append-to-body="true"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ custom-class="ele-dialog-form"
|
|
|
+ :title="isUpdate ? '修改工序' : '添加工序'"
|
|
|
+ @update:visible="updateVisible"
|
|
|
+ :maxable="true"
|
|
|
+ >
|
|
|
<header-title title="基本信息"></header-title>
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
|
|
<el-row>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="工序编码:">
|
|
|
- <el-input disabled v-model="form.code" clearable placeholder="请输入"></el-input>
|
|
|
+ <el-input
|
|
|
+ disabled
|
|
|
+ v-model="form.code"
|
|
|
+ clearable
|
|
|
+ placeholder="请输入"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
<!-- <el-form-item label="工序编码:" v-else prop="code">
|
|
|
<el-input :disabled="isUpdate" v-model="form.code" clearable placeholder="请输入" />
|
|
|
@@ -22,28 +35,46 @@
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="控制码:" prop="controlId">
|
|
|
<el-select v-model="form.controlId" filterable>
|
|
|
- <el-option v-for="item in controlList" :key="item.id" :label="item.name" :value="item.id">
|
|
|
+ <el-option
|
|
|
+ v-for="item in controlList"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id"
|
|
|
+ >
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="工作中心:" prop="workCenterName">
|
|
|
- <el-input @click.native="chooseWorkCenter" v-model="form.workCenterName" readonly />
|
|
|
+ <el-input
|
|
|
+ @click.native="chooseWorkCenter"
|
|
|
+ v-model="form.workCenterName"
|
|
|
+ readonly
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="所属工厂:" prop="factoriesName">
|
|
|
+ <el-input v-model="form.factoriesName" readonly disabled />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="工序类型:" prop="type">
|
|
|
<el-select v-model="form.type" filterable>
|
|
|
- <el-option :label="item.label" :value="item.value" v-for="(item, index) in typeList" :key="index">
|
|
|
+ <el-option
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ v-for="(item, index) in typeList"
|
|
|
+ :key="index"
|
|
|
+ >
|
|
|
</el-option>
|
|
|
-
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
-
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="排序:" prop="sort">
|
|
|
<el-input v-model="form.sort" />
|
|
|
@@ -54,50 +85,69 @@
|
|
|
<fileUpload v-model="form.files"></fileUpload>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
-
|
|
|
</el-row>
|
|
|
|
|
|
<header-title title="工序节拍时间"></header-title>
|
|
|
|
|
|
-
|
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="节拍生产数量" prop="beatProduceNum">
|
|
|
<el-row>
|
|
|
<el-col :span="16">
|
|
|
- <el-input placeholder="请输入" type="number" v-model="form.workBeat.beatProduceNum">
|
|
|
- </el-input></el-col>
|
|
|
+ <el-input
|
|
|
+ placeholder="请输入"
|
|
|
+ type="number"
|
|
|
+ v-model="form.workBeat.beatProduceNum"
|
|
|
+ >
|
|
|
+ </el-input
|
|
|
+ ></el-col>
|
|
|
<el-col :span="1"> </el-col>
|
|
|
<el-col :span="7">
|
|
|
- <DictSelection dictName="计量单位" v-model="form.workBeat.beatProduceUnit" />
|
|
|
+ <DictSelection
|
|
|
+ dictName="计量单位"
|
|
|
+ v-model="form.workBeat.beatProduceUnit"
|
|
|
+ />
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="工序休息时长:">
|
|
|
- <el-input v-model="form.workBeat.restTimes" placeholder="请输入" type="number" />
|
|
|
+ <el-input
|
|
|
+ v-model="form.workBeat.restTimes"
|
|
|
+ placeholder="请输入"
|
|
|
+ type="number"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="工序准备时长:">
|
|
|
- <el-input v-model="form.workBeat.preTimes" clearable placeholder="请输入" type="number" />
|
|
|
+ <el-input
|
|
|
+ v-model="form.workBeat.preTimes"
|
|
|
+ clearable
|
|
|
+ placeholder="请输入"
|
|
|
+ type="number"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="设备生产时长:">
|
|
|
- <el-input v-model="form.workBeat.proTimes" placeholder="请输入" type="number" />
|
|
|
+ <el-input
|
|
|
+ v-model="form.workBeat.proTimes"
|
|
|
+ placeholder="请输入"
|
|
|
+ type="number"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="其他时长:">
|
|
|
- <el-input placeholder="请输入" v-model="form.workBeat.otherTimes" type="number" />
|
|
|
+ <el-input
|
|
|
+ placeholder="请输入"
|
|
|
+ v-model="form.workBeat.otherTimes"
|
|
|
+ type="number"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
@@ -107,67 +157,103 @@
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="节拍时间单位:" >
|
|
|
+ <el-form-item label="节拍时间单位:">
|
|
|
<el-select v-model="form.workBeat.beatTimesUnit">
|
|
|
- <el-option v-for="item in timeType2" :key="item.code" :label="item.label" :value="item.code">
|
|
|
+ <el-option
|
|
|
+ v-for="item in timeType2"
|
|
|
+ :key="item.code"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.code"
|
|
|
+ >
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
-
|
|
|
</el-row>
|
|
|
|
|
|
<header-title title="工序间隔时间"></header-title>
|
|
|
|
|
|
<el-row>
|
|
|
-
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="间隔策略:" label-width="200px">
|
|
|
<el-select v-model="form.intervalTime.tactics" filterable>
|
|
|
- <el-option v-for="item in tacticsType" :key="item.code" :label="item.label" :value="item.code">
|
|
|
+ <el-option
|
|
|
+ v-for="item in tacticsType"
|
|
|
+ :key="item.code"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.code"
|
|
|
+ >
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="间隔时间单位:" >
|
|
|
+ <el-form-item label="间隔时间单位:">
|
|
|
<el-select v-model="form.timeUnit">
|
|
|
- <el-option v-for="item in timeType" :key="item.code" :label="item.label" :value="item.code">
|
|
|
+ <el-option
|
|
|
+ v-for="item in timeType"
|
|
|
+ :key="item.code"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.code"
|
|
|
+ >
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
-
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="下工序标准准备时间:" label-width="200px">
|
|
|
- <el-input v-model="form.intervalTime.nextStandardPreTime" placeholder="请输入" type="number" />
|
|
|
+ <el-input
|
|
|
+ v-model="form.intervalTime.nextStandardPreTime"
|
|
|
+ placeholder="请输入"
|
|
|
+ type="number"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="下工序最短准备时间:" label-width="200px">
|
|
|
- <el-input v-model="form.intervalTime.nextShortPreTime" placeholder="请输入" type="number" />
|
|
|
+ <el-input
|
|
|
+ v-model="form.intervalTime.nextShortPreTime"
|
|
|
+ placeholder="请输入"
|
|
|
+ type="number"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="本工序标准等待时间:" label-width="200px">
|
|
|
- <el-input v-model="form.intervalTime.thisStandardWaitTime" placeholder="请输入" type="number" />
|
|
|
+ <el-input
|
|
|
+ v-model="form.intervalTime.thisStandardWaitTime"
|
|
|
+ placeholder="请输入"
|
|
|
+ type="number"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="本工序最短准备时间:" label-width="200px">
|
|
|
- <el-input v-model="form.intervalTime.thisShortPreTime" placeholder="请输入" type="number" />
|
|
|
+ <el-input
|
|
|
+ v-model="form.intervalTime.thisShortPreTime"
|
|
|
+ placeholder="请输入"
|
|
|
+ type="number"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="本工序结束后标准周转时间:" label-width="200px">
|
|
|
- <el-input v-model="form.intervalTime.thisStandardBoatTime" placeholder="请输入" type="number" />
|
|
|
+ <el-input
|
|
|
+ v-model="form.intervalTime.thisStandardBoatTime"
|
|
|
+ placeholder="请输入"
|
|
|
+ type="number"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="本工序结束后周转最短时间:" label-width="200px">
|
|
|
- <el-input v-model="form.intervalTime.thisShortBoatTime" placeholder="请输入" type="number" />
|
|
|
+ <el-input
|
|
|
+ v-model="form.intervalTime.thisShortBoatTime"
|
|
|
+ placeholder="请输入"
|
|
|
+ type="number"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -175,11 +261,15 @@
|
|
|
<header-title title="工序配置"></header-title>
|
|
|
|
|
|
<el-row>
|
|
|
-
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="投料是否要添加周转车:" label-width="200px">
|
|
|
<el-radio-group v-model="form.feedNeedTurnover">
|
|
|
- <el-radio :label="item.value" v-for="(item, i) in radioList" :key="i">{{ item.name }}</el-radio>
|
|
|
+ <el-radio
|
|
|
+ :label="item.value"
|
|
|
+ v-for="(item, i) in radioList"
|
|
|
+ :key="i"
|
|
|
+ >{{ item.name }}</el-radio
|
|
|
+ >
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
@@ -187,7 +277,12 @@
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="报工是否要添加周转车:" label-width="200px">
|
|
|
<el-radio-group v-model="form.reportNeedTurnover">
|
|
|
- <el-radio :label="item.value" v-for="(item, i) in radioList" :key="i">{{ item.name }}</el-radio>
|
|
|
+ <el-radio
|
|
|
+ :label="item.value"
|
|
|
+ v-for="(item, i) in radioList"
|
|
|
+ :key="i"
|
|
|
+ >{{ item.name }}</el-radio
|
|
|
+ >
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
@@ -195,7 +290,12 @@
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="是否需要投料再报工:" label-width="200px">
|
|
|
<el-radio-group v-model="form.reportNeedFeed">
|
|
|
- <el-radio :label="item.value" v-for="(item, i) in radioList" :key="i">{{ item.name }}</el-radio>
|
|
|
+ <el-radio
|
|
|
+ :label="item.value"
|
|
|
+ v-for="(item, i) in radioList"
|
|
|
+ :key="i"
|
|
|
+ >{{ item.name }}</el-radio
|
|
|
+ >
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
@@ -204,15 +304,24 @@
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="投料是否要添加生产设备:" label-width="200px">
|
|
|
<el-radio-group v-model="form.feedNeedEquipment">
|
|
|
- <el-radio :label="item.value" v-for="(item, i) in radioList" :key="i">{{ item.name }}</el-radio>
|
|
|
+ <el-radio
|
|
|
+ :label="item.value"
|
|
|
+ v-for="(item, i) in radioList"
|
|
|
+ :key="i"
|
|
|
+ >{{ item.name }}</el-radio
|
|
|
+ >
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
-
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="报工是否要添加生产设备:" label-width="200px">
|
|
|
<el-radio-group v-model="form.reportNeedEquipment">
|
|
|
- <el-radio :label="item.value" v-for="(item, i) in radioList" :key="i">{{ item.name }}</el-radio>
|
|
|
+ <el-radio
|
|
|
+ :label="item.value"
|
|
|
+ v-for="(item, i) in radioList"
|
|
|
+ :key="i"
|
|
|
+ >{{ item.name }}</el-radio
|
|
|
+ >
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
@@ -220,58 +329,97 @@
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="投料是否要添加模具:" label-width="200px">
|
|
|
<el-radio-group v-model="form.feedNeedMould">
|
|
|
- <el-radio :label="item.value" v-for="(item, i) in radioList" :key="i">{{ item.name }}</el-radio>
|
|
|
+ <el-radio
|
|
|
+ :label="item.value"
|
|
|
+ v-for="(item, i) in radioList"
|
|
|
+ :key="i"
|
|
|
+ >{{ item.name }}</el-radio
|
|
|
+ >
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="投料是否要添加舟皿:" label-width="200px">
|
|
|
<el-radio-group v-model="form.feedNeedBoat">
|
|
|
- <el-radio :label="item.value" v-for="(item, i) in radioList" :key="i">{{ item.name }}</el-radio>
|
|
|
+ <el-radio
|
|
|
+ :label="item.value"
|
|
|
+ v-for="(item, i) in radioList"
|
|
|
+ :key="i"
|
|
|
+ >{{ item.name }}</el-radio
|
|
|
+ >
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="投料是否要添加消耗材料:" label-width="200px">
|
|
|
<el-radio-group v-model="form.feedNeedConsumableMaterial">
|
|
|
- <el-radio :label="item.value" v-for="(item, i) in radioList" :key="i">{{ item.name }}</el-radio>
|
|
|
+ <el-radio
|
|
|
+ :label="item.value"
|
|
|
+ v-for="(item, i) in radioList"
|
|
|
+ :key="i"
|
|
|
+ >{{ item.name }}</el-radio
|
|
|
+ >
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="投料是否要添加物料:" label-width="200px">
|
|
|
<el-radio-group v-model="form.feedNeedMateriel">
|
|
|
- <el-radio :label="item.value" v-for="(item, i) in radioList" :key="i">{{ item.name }}</el-radio>
|
|
|
+ <el-radio
|
|
|
+ :label="item.value"
|
|
|
+ v-for="(item, i) in radioList"
|
|
|
+ :key="i"
|
|
|
+ >{{ item.name }}</el-radio
|
|
|
+ >
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
-
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="投料是否要添加产品:" label-width="200px">
|
|
|
<el-radio-group v-model="form.feedNeedProduct">
|
|
|
- <el-radio :label="item.value" v-for="(item, i) in radioList" :key="i">{{ item.name }}</el-radio>
|
|
|
+ <el-radio
|
|
|
+ :label="item.value"
|
|
|
+ v-for="(item, i) in radioList"
|
|
|
+ :key="i"
|
|
|
+ >{{ item.name }}</el-radio
|
|
|
+ >
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="投料是否要添加半成品:" label-width="200px">
|
|
|
<el-radio-group v-model="form.feedNeedSemiProduct">
|
|
|
- <el-radio :label="item.value" v-for="(item, i) in radioList" :key="i">{{ item.name }}</el-radio>
|
|
|
+ <el-radio
|
|
|
+ :label="item.value"
|
|
|
+ v-for="(item, i) in radioList"
|
|
|
+ :key="i"
|
|
|
+ >{{ item.name }}</el-radio
|
|
|
+ >
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="投料是否要添加废品:" label-width="200px">
|
|
|
<el-radio-group v-model="form.feedNeedJunkProduct">
|
|
|
- <el-radio :label="item.value" v-for="(item, i) in radioList" :key="i">{{ item.name }}</el-radio>
|
|
|
+ <el-radio
|
|
|
+ :label="item.value"
|
|
|
+ v-for="(item, i) in radioList"
|
|
|
+ :key="i"
|
|
|
+ >{{ item.name }}</el-radio
|
|
|
+ >
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="投料是否要添加返工反修品:" label-width="200px">
|
|
|
<el-radio-group v-model="form.feedNeedReworkProduct">
|
|
|
- <el-radio :label="item.value" v-for="(item, i) in radioList" :key="i">{{ item.name }}</el-radio>
|
|
|
+ <el-radio
|
|
|
+ :label="item.value"
|
|
|
+ v-for="(item, i) in radioList"
|
|
|
+ :key="i"
|
|
|
+ >{{ item.name }}</el-radio
|
|
|
+ >
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
@@ -279,40 +427,64 @@
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="投料是否要添加干燥区:" label-width="200px">
|
|
|
<el-radio-group v-model="form.feedNeedAridRegion">
|
|
|
- <el-radio :label="item.value" v-for="(item, i) in radioList" :key="i">{{ item.name }}</el-radio>
|
|
|
+ <el-radio
|
|
|
+ :label="item.value"
|
|
|
+ v-for="(item, i) in radioList"
|
|
|
+ :key="i"
|
|
|
+ >{{ item.name }}</el-radio
|
|
|
+ >
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="投料是否要添加生产辅助设备:" label-width="200px">
|
|
|
<el-radio-group v-model="form.feedNeedAuxiliaryEquipment">
|
|
|
- <el-radio :label="item.value" v-for="(item, i) in radioList" :key="i">{{ item.name }}</el-radio>
|
|
|
+ <el-radio
|
|
|
+ :label="item.value"
|
|
|
+ v-for="(item, i) in radioList"
|
|
|
+ :key="i"
|
|
|
+ >{{ item.name }}</el-radio
|
|
|
+ >
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="投料是否要添加仪表计量设备:" label-width="200px">
|
|
|
<el-radio-group v-model="form.feedNeedMeasuringEquipment">
|
|
|
- <el-radio :label="item.value" v-for="(item, i) in radioList" :key="i">{{ item.name }}</el-radio>
|
|
|
+ <el-radio
|
|
|
+ :label="item.value"
|
|
|
+ v-for="(item, i) in radioList"
|
|
|
+ :key="i"
|
|
|
+ >{{ item.name }}</el-radio
|
|
|
+ >
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="投料是否需要质检:" label-width="200px">
|
|
|
<el-radio-group v-model="form.feedNeedQuality">
|
|
|
- <el-radio :label="item.value" v-for="(item, i) in radioList" :key="i">{{ item.name }}</el-radio>
|
|
|
+ <el-radio
|
|
|
+ :label="item.value"
|
|
|
+ v-for="(item, i) in radioList"
|
|
|
+ :key="i"
|
|
|
+ >{{ item.name }}</el-radio
|
|
|
+ >
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="生产质检是否需要处置再报工:" label-width="200px">
|
|
|
<el-radio-group v-model="form.isReportProcessProduce">
|
|
|
- <el-radio :label="item.value" v-for="(item, i) in radioList" :key="i">{{ item.name }}</el-radio>
|
|
|
+ <el-radio
|
|
|
+ :label="item.value"
|
|
|
+ v-for="(item, i) in radioList"
|
|
|
+ :key="i"
|
|
|
+ >{{ item.name }}</el-radio
|
|
|
+ >
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
-
|
|
|
</el-form>
|
|
|
|
|
|
<template v-slot:footer>
|
|
|
@@ -323,236 +495,233 @@
|
|
|
</template>
|
|
|
|
|
|
<!-- 工作中心弹窗 -->
|
|
|
- <WorkCenter ref="centerRefs" @changeCenter='determineChoose' />
|
|
|
+ <WorkCenter ref="centerRefs" @changeCenter="determineChoose" />
|
|
|
</ele-modal>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import producetask from '@/api/technology/production';
|
|
|
-import WorkCenter from './WorkCenter.vue';
|
|
|
-import fileUpload from '@/components/addDoc/fileUpload.vue'
|
|
|
-import { pageList } from '@/api/technology/version/version.js';
|
|
|
-
|
|
|
-export default {
|
|
|
- components: {
|
|
|
- WorkCenter,
|
|
|
- fileUpload
|
|
|
- },
|
|
|
- props: {
|
|
|
- // 弹窗是否打开
|
|
|
- visible: Boolean,
|
|
|
- // 修改回显的数据
|
|
|
- data: Object,
|
|
|
- controlList: Array,
|
|
|
- typeList: Array
|
|
|
- },
|
|
|
- data() {
|
|
|
-
|
|
|
- const defaultForm = function () {
|
|
|
+ import producetask from '@/api/technology/production';
|
|
|
+ import WorkCenter from './WorkCenter.vue';
|
|
|
+ import fileUpload from '@/components/addDoc/fileUpload.vue';
|
|
|
+ import { pageList } from '@/api/technology/version/version.js';
|
|
|
+
|
|
|
+ export default {
|
|
|
+ components: {
|
|
|
+ WorkCenter,
|
|
|
+ fileUpload
|
|
|
+ },
|
|
|
+ props: {
|
|
|
+ // 弹窗是否打开
|
|
|
+ visible: Boolean,
|
|
|
+ // 修改回显的数据
|
|
|
+ data: Object,
|
|
|
+ controlList: Array,
|
|
|
+ typeList: Array
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ const defaultForm = function () {
|
|
|
+ return {
|
|
|
+ id: null,
|
|
|
+ code: '',
|
|
|
+ name: '',
|
|
|
+ controlId: '',
|
|
|
+ type: 1,
|
|
|
+ workCenterId: '',
|
|
|
+ workCenterName: '',
|
|
|
+ produceVersionId: '',
|
|
|
+ timeUnit: '',
|
|
|
+ factoriesId: '',
|
|
|
+ factoriesName: '',
|
|
|
+ feedNeedTurnover: '',
|
|
|
+ reportNeedTurnover: '',
|
|
|
+ reportNeedFeed: '',
|
|
|
+ feedNeedEquipment: '',
|
|
|
+ reportNeedEquipment: '',
|
|
|
+ feedNeedMould: '',
|
|
|
+ feedNeedBoat: '',
|
|
|
+ feedNeedConsumableMaterial: '',
|
|
|
+ feedNeedMateriel: '',
|
|
|
+ feedNeedProduct: '',
|
|
|
+ feedNeedSemiProduct: '',
|
|
|
+ feedNeedJunkProduct: '',
|
|
|
+ feedNeedReworkProduct: '',
|
|
|
+ feedNeedAridRegion: '',
|
|
|
+ feedNeedAuxiliaryEquipment: '',
|
|
|
+ feedNeedMeasuringEquipment: '',
|
|
|
+ feedNeedQuality: '',
|
|
|
+ isReportProcessProduce: '',
|
|
|
+ sort: null,
|
|
|
+ intervalTime: {
|
|
|
+ nextShortPreTime: '', // 时间单位转换后的下一个短周期的时间,格式为YYYY-MM-DDTHH'
|
|
|
+ nextStandardPreTime: '', // 时间单位转换后的下一个正式的周期的时间,格式为YYYY-MM-DD'
|
|
|
+ tactics: 1, // 周期工艺描述,格式为JSON字符串或数组形式的对象形式的数据类
|
|
|
+ thisShortBoatTime: '',
|
|
|
+ thisShortPreTime: '',
|
|
|
+ thisStandardBoatTime: '',
|
|
|
+ thisStandardWaitTime: ''
|
|
|
+ },
|
|
|
+
|
|
|
+ workBeat: {
|
|
|
+ beatProduceNum: '',
|
|
|
+ beatProduceUnit: '',
|
|
|
+ categoryNum: '',
|
|
|
+ categoryUnit: '',
|
|
|
+ beatTimes: '',
|
|
|
+ otherTimes: '',
|
|
|
+ preTimes: '',
|
|
|
+ proTimes: '',
|
|
|
+ restTimes: '',
|
|
|
+ beatTimesUnit: ''
|
|
|
+ }
|
|
|
+ };
|
|
|
+ };
|
|
|
return {
|
|
|
- id: null,
|
|
|
- code: '',
|
|
|
- name: '',
|
|
|
- controlId: '',
|
|
|
- type: 1,
|
|
|
- workCenterId: '',
|
|
|
- workCenterName: '',
|
|
|
- produceVersionId:'',
|
|
|
- timeUnit: '',
|
|
|
- feedNeedTurnover: '',
|
|
|
- reportNeedTurnover: '',
|
|
|
- reportNeedFeed:'',
|
|
|
- feedNeedEquipment: '',
|
|
|
- reportNeedEquipment: '',
|
|
|
- feedNeedMould: '',
|
|
|
- feedNeedBoat: '',
|
|
|
- feedNeedConsumableMaterial: '',
|
|
|
- feedNeedMateriel: '',
|
|
|
- feedNeedProduct: '',
|
|
|
- feedNeedSemiProduct: '',
|
|
|
- feedNeedJunkProduct: '',
|
|
|
- feedNeedReworkProduct: '',
|
|
|
- feedNeedAridRegion: '',
|
|
|
- feedNeedAuxiliaryEquipment: '',
|
|
|
- feedNeedMeasuringEquipment: '',
|
|
|
- feedNeedQuality: '',
|
|
|
- isReportProcessProduce:'',
|
|
|
- sort: null,
|
|
|
- intervalTime: {
|
|
|
- nextShortPreTime: '', // 时间单位转换后的下一个短周期的时间,格式为YYYY-MM-DDTHH'
|
|
|
- nextStandardPreTime: '', // 时间单位转换后的下一个正式的周期的时间,格式为YYYY-MM-DD'
|
|
|
- tactics: 1, // 周期工艺描述,格式为JSON字符串或数组形式的对象形式的数据类
|
|
|
- thisShortBoatTime: '',
|
|
|
- thisShortPreTime: '',
|
|
|
- thisStandardBoatTime: '',
|
|
|
- thisStandardWaitTime: ''
|
|
|
- },
|
|
|
-
|
|
|
- workBeat: {
|
|
|
- beatProduceNum: '',
|
|
|
- beatProduceUnit: '',
|
|
|
- categoryNum: '',
|
|
|
- categoryUnit: '',
|
|
|
- beatTimes: '',
|
|
|
- otherTimes: '',
|
|
|
- preTimes: '',
|
|
|
- proTimes: '',
|
|
|
- restTimes: '',
|
|
|
- beatTimesUnit: ''
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- return {
|
|
|
- defaultForm,
|
|
|
- // 表单数据
|
|
|
- form: defaultForm(),
|
|
|
-
|
|
|
- timeType: [
|
|
|
- { code: 1, label: '分' },
|
|
|
- { code: 2, label: '时' }
|
|
|
- ],
|
|
|
- radioList: [
|
|
|
- {
|
|
|
- name: '是',
|
|
|
- value: 1
|
|
|
- },
|
|
|
- {
|
|
|
- name: '否',
|
|
|
- value: 0
|
|
|
- }
|
|
|
- ],
|
|
|
-
|
|
|
- timeType2: [
|
|
|
- { code: '1', label: '分' },
|
|
|
- { code: '2', label: '时' }
|
|
|
- ],
|
|
|
+ defaultForm,
|
|
|
+ // 表单数据
|
|
|
+ form: defaultForm(),
|
|
|
|
|
|
-
|
|
|
- tacticsType: [
|
|
|
- { code: 1, label: '标准时间' },
|
|
|
- { code: 2, label: '最短时间' }
|
|
|
- ],
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- // 表单验证规则
|
|
|
- rules: {
|
|
|
- name: [
|
|
|
- { required: true, message: '请输入工序名称', trigger: 'blur' }
|
|
|
- ],
|
|
|
- code: [{ required: true, trigger: 'change', message: '工序编码', }],
|
|
|
- controlId: [
|
|
|
- { required: true, message: '请选择控制码', trigger: 'blur' }
|
|
|
+ timeType: [
|
|
|
+ { code: 1, label: '分' },
|
|
|
+ { code: 2, label: '时' }
|
|
|
],
|
|
|
- workCenterName: [
|
|
|
- { required: true, message: '请选择工作中心', trigger: 'change' }
|
|
|
+ radioList: [
|
|
|
+ {
|
|
|
+ name: '是',
|
|
|
+ value: 1
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: '否',
|
|
|
+ value: 0
|
|
|
+ }
|
|
|
],
|
|
|
- 'workBeat.beatTimesUnit': [
|
|
|
- { required: true, message: '请选择时间单位', trigger: 'change' }
|
|
|
+
|
|
|
+ timeType2: [
|
|
|
+ { code: '1', label: '分' },
|
|
|
+ { code: '2', label: '时' }
|
|
|
],
|
|
|
- timeUnit: [
|
|
|
- { required: true, message: '请选择间隔时间单位', trigger: 'change' }
|
|
|
- ]
|
|
|
- },
|
|
|
- // 提交状态
|
|
|
- loading: false,
|
|
|
- // 是否是修改
|
|
|
- isUpdate: false,
|
|
|
- chooseItem: null,
|
|
|
- };
|
|
|
- },
|
|
|
- computed: {
|
|
|
-
|
|
|
- totalTime() {
|
|
|
- let to =
|
|
|
- (-this.form.workBeat.restTimes +
|
|
|
- -this.form.workBeat.preTimes +
|
|
|
- -this.form.workBeat.proTimes +
|
|
|
- -this.form.workBeat.otherTimes) *
|
|
|
- -1;
|
|
|
- return to;
|
|
|
- },
|
|
|
- // 是否开启响应式布局
|
|
|
- styleResponsive() {
|
|
|
- return this.$store.state.theme.styleResponsive;
|
|
|
- }
|
|
|
- },
|
|
|
- methods: {
|
|
|
- async getVersionList() {
|
|
|
- const res = await pageList({
|
|
|
- pageNum: 1,
|
|
|
- size: 100
|
|
|
- });
|
|
|
|
|
|
- this.versionList = res.list;
|
|
|
+ tacticsType: [
|
|
|
+ { code: 1, label: '标准时间' },
|
|
|
+ { code: 2, label: '最短时间' }
|
|
|
+ ],
|
|
|
|
|
|
+ // 表单验证规则
|
|
|
+ rules: {
|
|
|
+ name: [
|
|
|
+ { required: true, message: '请输入工序名称', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ code: [{ required: true, trigger: 'change', message: '工序编码' }],
|
|
|
+ controlId: [
|
|
|
+ { required: true, message: '请选择控制码', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ workCenterName: [
|
|
|
+ { required: true, message: '请选择工作中心', trigger: 'change' }
|
|
|
+ ],
|
|
|
+ 'workBeat.beatTimesUnit': [
|
|
|
+ { required: true, message: '请选择时间单位', trigger: 'change' }
|
|
|
+ ],
|
|
|
+ timeUnit: [
|
|
|
+ { required: true, message: '请选择间隔时间单位', trigger: 'change' }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ // 提交状态
|
|
|
+ loading: false,
|
|
|
+ // 是否是修改
|
|
|
+ isUpdate: false,
|
|
|
+ chooseItem: null
|
|
|
+ };
|
|
|
},
|
|
|
- chooseWorkCenter() {
|
|
|
- this.$refs.centerRefs.open(this.form)
|
|
|
- },
|
|
|
- determineChoose(row) {
|
|
|
- this.$set(this.form, 'workCenterName', row.name)
|
|
|
- this.$set(this.form, 'workCenterId', row.id)
|
|
|
+ computed: {
|
|
|
+ totalTime() {
|
|
|
+ let to =
|
|
|
+ (-this.form.workBeat.restTimes +
|
|
|
+ -this.form.workBeat.preTimes +
|
|
|
+ -this.form.workBeat.proTimes +
|
|
|
+ -this.form.workBeat.otherTimes) *
|
|
|
+ -1;
|
|
|
+ return to;
|
|
|
+ },
|
|
|
+ // 是否开启响应式布局
|
|
|
+ styleResponsive() {
|
|
|
+ return this.$store.state.theme.styleResponsive;
|
|
|
+ }
|
|
|
},
|
|
|
- /* 保存编辑 */
|
|
|
- save() {
|
|
|
- this.$refs.form.validate((valid) => {
|
|
|
- if (!valid) {
|
|
|
- return false;
|
|
|
- }
|
|
|
- if (!this.isUpdate) {
|
|
|
- delete this.form.id;
|
|
|
- }
|
|
|
-
|
|
|
- this.form.workBeat.beatTimes = this.totalTime;
|
|
|
-
|
|
|
- this.loading = true;
|
|
|
- producetask
|
|
|
- .save(this.form)
|
|
|
- .then((msg) => {
|
|
|
- this.loading = false;
|
|
|
- this.$message.success(
|
|
|
- (this.isUpdate ? '修改' : '新建') + msg.message
|
|
|
- );
|
|
|
- this.updateVisible(false);
|
|
|
- this.$emit('done');
|
|
|
- })
|
|
|
- .catch((e) => {
|
|
|
- this.loading = false;
|
|
|
- // this.$message.error(e.message);
|
|
|
- });
|
|
|
- });
|
|
|
+ methods: {
|
|
|
+ async getVersionList() {
|
|
|
+ const res = await pageList({
|
|
|
+ pageNum: 1,
|
|
|
+ size: 100
|
|
|
+ });
|
|
|
+
|
|
|
+ this.versionList = res.list;
|
|
|
+ },
|
|
|
+ chooseWorkCenter() {
|
|
|
+ this.$refs.centerRefs.open(this.form);
|
|
|
+ },
|
|
|
+ determineChoose(row) {
|
|
|
+ this.$set(this.form, 'factoriesId', row.factoryId);
|
|
|
+ this.$set(this.form, 'factoriesName', row.factoryName);
|
|
|
+ this.$set(this.form, 'workCenterName', row.name);
|
|
|
+ this.$set(this.form, 'workCenterId', row.id);
|
|
|
+ },
|
|
|
+ /* 保存编辑 */
|
|
|
+ save() {
|
|
|
+ this.$refs.form.validate((valid) => {
|
|
|
+ if (!valid) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if (!this.isUpdate) {
|
|
|
+ delete this.form.id;
|
|
|
+ }
|
|
|
+
|
|
|
+ this.form.workBeat.beatTimes = this.totalTime;
|
|
|
+
|
|
|
+ this.loading = true;
|
|
|
+ producetask
|
|
|
+ .save(this.form)
|
|
|
+ .then((msg) => {
|
|
|
+ this.loading = false;
|
|
|
+ this.$message.success(
|
|
|
+ (this.isUpdate ? '修改' : '新建') + msg.message
|
|
|
+ );
|
|
|
+ this.updateVisible(false);
|
|
|
+ this.$emit('done');
|
|
|
+ })
|
|
|
+ .catch((e) => {
|
|
|
+ this.loading = false;
|
|
|
+ // this.$message.error(e.message);
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /* 更新visible */
|
|
|
+ updateVisible(value) {
|
|
|
+ this.form = { ...this.defaultForm() };
|
|
|
+ this.$emit('update:visible', value);
|
|
|
+ }
|
|
|
},
|
|
|
- /* 更新visible */
|
|
|
- updateVisible(value) {
|
|
|
- this.form = { ...this.defaultForm() };
|
|
|
- this.$emit('update:visible', value);
|
|
|
- }
|
|
|
- },
|
|
|
|
|
|
- watch: {
|
|
|
- async visible(visible) {
|
|
|
- if (visible) {
|
|
|
- this.getVersionList();
|
|
|
- console.log(this.form, 'this.form');
|
|
|
- if (this.data) {
|
|
|
- const res = await producetask.getById(this.data.id);
|
|
|
-
|
|
|
- this.$util.assignObject(this.form, {
|
|
|
- ...res
|
|
|
- });
|
|
|
-
|
|
|
- this.isUpdate = true;
|
|
|
+ watch: {
|
|
|
+ async visible(visible) {
|
|
|
+ if (visible) {
|
|
|
+ this.getVersionList();
|
|
|
+ console.log(this.form, 'this.form');
|
|
|
+ if (this.data) {
|
|
|
+ const res = await producetask.getById(this.data.id);
|
|
|
+
|
|
|
+ this.$util.assignObject(this.form, {
|
|
|
+ ...res
|
|
|
+ });
|
|
|
+
|
|
|
+ this.isUpdate = true;
|
|
|
+ } else {
|
|
|
+ this.form = { ...this.defaultForm() };
|
|
|
+ this.isUpdate = false;
|
|
|
+ }
|
|
|
} else {
|
|
|
+ this.$refs.form.clearValidate();
|
|
|
this.form = { ...this.defaultForm() };
|
|
|
- this.isUpdate = false;
|
|
|
}
|
|
|
- } else {
|
|
|
- this.$refs.form.clearValidate();
|
|
|
- this.form = { ...this.defaultForm() };
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
-};
|
|
|
+ };
|
|
|
</script>
|