|
@@ -29,28 +29,13 @@
|
|
|
<el-input @click.native="chooseWorkCenter" v-model="form.workCenterName" readonly />
|
|
<el-input @click.native="chooseWorkCenter" v-model="form.workCenterName" readonly />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
- <!-- <el-col :span="8">
|
|
|
|
|
- <el-form-item label="工序时间单位:" prop="timeUnit">
|
|
|
|
|
- <el-select v-model="form.timeUnit" filterable>
|
|
|
|
|
- <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-row>
|
|
</el-row>
|
|
|
- </el-form>
|
|
|
|
|
- <header-title title="工序节拍时间"></header-title>
|
|
|
|
|
- <el-form :model="form" label-width="120px">
|
|
|
|
|
|
|
|
|
|
|
|
+ <header-title title="工序节拍时间"></header-title>
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-row>
|
|
<el-row>
|
|
|
-
|
|
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
|
<el-form-item label="节拍生产数量" prop="beatProduceNum">
|
|
<el-form-item label="节拍生产数量" prop="beatProduceNum">
|
|
|
<el-row>
|
|
<el-row>
|
|
@@ -67,7 +52,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="对应物料基本数" prop="categoryNum">
|
|
|
|
|
|
|
+ <el-form-item label="对应物料基本数量" label-width="140px" prop="categoryNum">
|
|
|
<el-row>
|
|
<el-row>
|
|
|
<el-col :span="16">
|
|
<el-col :span="16">
|
|
|
<el-input placeholder="请输入" v-model.number="form.workBeat.categoryNum">
|
|
<el-input placeholder="请输入" v-model.number="form.workBeat.categoryNum">
|
|
@@ -111,53 +96,76 @@
|
|
|
</el-col>
|
|
</el-col>
|
|
|
|
|
|
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="节拍时间单位:" prop="workBeat.beatTimesUnit`">
|
|
|
|
|
- <DictSelection dictName="时间单位" v-model="form.workBeat.beatTimesUnit" />
|
|
|
|
|
|
|
+ <el-form-item label="节拍时间单位:" prop="workBeat.beatTimesUnit">
|
|
|
|
|
+ <el-select v-model="form.workBeat.beatTimesUnit">
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ v-for="item in timeType"
|
|
|
|
|
+ :key="item.code"
|
|
|
|
|
+ :label="item.label"
|
|
|
|
|
+ :value="item.code"
|
|
|
|
|
+ >
|
|
|
|
|
+ </el-option>
|
|
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
|
|
|
|
|
</el-row>
|
|
</el-row>
|
|
|
- </el-form>
|
|
|
|
|
- <header-title title="工序间隔时间"></header-title>
|
|
|
|
|
- <el-form :model="form" label-width="200px">
|
|
|
|
|
|
|
+
|
|
|
|
|
+ <header-title title="工序间隔时间"></header-title>
|
|
|
|
|
+
|
|
|
<el-row>
|
|
<el-row>
|
|
|
- <el-col :span="24">
|
|
|
|
|
|
|
+
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="间隔策略:">
|
|
|
|
|
|
|
+ <el-form-item label="间隔策略:" label-width="200px">
|
|
|
<el-select v-model="form.intervalTime.tactics" filterable>
|
|
<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-option>
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
|
|
+
|
|
|
|
|
+ <el-col :span="8">
|
|
|
|
|
+ <el-form-item label="间隔时间单位:" prop="timeUnit">
|
|
|
|
|
+ <el-select v-model="form.timeUnit">
|
|
|
|
|
+ <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>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="下工序标准准备时间:">
|
|
|
|
|
|
|
+ <el-form-item label="下工序标准准备时间:" label-width="200px">
|
|
|
<el-input v-model="form.intervalTime.nextStandardPreTime" placeholder="请输入" />
|
|
<el-input v-model="form.intervalTime.nextStandardPreTime" placeholder="请输入" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="下工序最短准备时间:">
|
|
|
|
|
|
|
+ <el-form-item label="下工序最短准备时间:" label-width="200px">
|
|
|
<el-input v-model="form.intervalTime.nextShortPreTime" placeholder="请输入" />
|
|
<el-input v-model="form.intervalTime.nextShortPreTime" placeholder="请输入" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="本工序标准等待时间:">
|
|
|
|
|
|
|
+ <el-form-item label="本工序标准等待时间:" label-width="200px">
|
|
|
<el-input v-model="form.intervalTime.thisStandardWaitTime" placeholder="请输入" />
|
|
<el-input v-model="form.intervalTime.thisStandardWaitTime" placeholder="请输入" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="本工序最短准备时间:">
|
|
|
|
|
|
|
+ <el-form-item label="本工序最短准备时间:" label-width="200px">
|
|
|
<el-input v-model="form.intervalTime.thisShortPreTime" placeholder="请输入" />
|
|
<el-input v-model="form.intervalTime.thisShortPreTime" placeholder="请输入" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="本工序结束后标准周转时间:">
|
|
|
|
|
|
|
+ <el-form-item label="本工序结束后标准周转时间:" label-width="200px">
|
|
|
<el-input v-model="form.intervalTime.thisStandardBoatTime" placeholder="请输入" />
|
|
<el-input v-model="form.intervalTime.thisStandardBoatTime" placeholder="请输入" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="本工序结束后周转最短时间:">
|
|
|
|
|
|
|
+ <el-form-item label="本工序结束后周转最短时间:" label-width="200px">
|
|
|
<el-input v-model="form.intervalTime.thisShortBoatTime" placeholder="请输入" />
|
|
<el-input v-model="form.intervalTime.thisShortBoatTime" placeholder="请输入" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
@@ -179,37 +187,7 @@
|
|
|
<script>
|
|
<script>
|
|
|
import producetask from '@/api/technology/production';
|
|
import producetask from '@/api/technology/production';
|
|
|
import WorkCenter from './WorkCenter.vue';
|
|
import WorkCenter from './WorkCenter.vue';
|
|
|
-const defaultForm = {
|
|
|
|
|
- id: null,
|
|
|
|
|
- code: '',
|
|
|
|
|
- name: '',
|
|
|
|
|
- controlId: '',
|
|
|
|
|
- workCenterId: '',
|
|
|
|
|
- workCenterName: '',
|
|
|
|
|
- timeUnit: '',
|
|
|
|
|
- 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: '',
|
|
|
|
|
- }
|
|
|
|
|
-};
|
|
|
|
|
export default {
|
|
export default {
|
|
|
components: {
|
|
components: {
|
|
|
WorkCenter
|
|
WorkCenter
|
|
@@ -222,14 +200,50 @@ export default {
|
|
|
controlList: Array
|
|
controlList: Array
|
|
|
},
|
|
},
|
|
|
data() {
|
|
data() {
|
|
|
|
|
+
|
|
|
|
|
+ const defaultForm = function () {
|
|
|
|
|
+ return {
|
|
|
|
|
+ id: null,
|
|
|
|
|
+ code: '',
|
|
|
|
|
+ name: '',
|
|
|
|
|
+ controlId: '',
|
|
|
|
|
+ workCenterId: '',
|
|
|
|
|
+ workCenterName: '',
|
|
|
|
|
+ timeUnit: '',
|
|
|
|
|
+ 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 {
|
|
return {
|
|
|
- defaultForm: this.$util.deepClone(defaultForm),
|
|
|
|
|
|
|
+ defaultForm,
|
|
|
// 表单数据
|
|
// 表单数据
|
|
|
- form: { ...this.$util.deepClone(defaultForm) },
|
|
|
|
|
|
|
+ form: defaultForm(),
|
|
|
|
|
+
|
|
|
timeType: [
|
|
timeType: [
|
|
|
- { code: 1, label: '分' },
|
|
|
|
|
- { code: 2, label: '时' }
|
|
|
|
|
- ],
|
|
|
|
|
|
|
+ { code: 1, label: '分' },
|
|
|
|
|
+ { code: 2, label: '时' }
|
|
|
|
|
+ ],
|
|
|
|
|
+
|
|
|
tacticsType: [
|
|
tacticsType: [
|
|
|
{ code: 1, label: '标准时间' },
|
|
{ code: 1, label: '标准时间' },
|
|
|
{ code: 2, label: '最短时间' }
|
|
{ code: 2, label: '最短时间' }
|
|
@@ -240,7 +254,7 @@ export default {
|
|
|
name: [
|
|
name: [
|
|
|
{ required: true, message: '请输入工序名称', trigger: 'blur' }
|
|
{ required: true, message: '请输入工序名称', trigger: 'blur' }
|
|
|
],
|
|
],
|
|
|
- code: [{ required: true, trigger: 'change' }],
|
|
|
|
|
|
|
+ code: [{ required: true, trigger: 'change', message: '工序编码', }],
|
|
|
controlId: [
|
|
controlId: [
|
|
|
{ required: true, message: '请选择控制码', trigger: 'blur' }
|
|
{ required: true, message: '请选择控制码', trigger: 'blur' }
|
|
|
],
|
|
],
|
|
@@ -248,7 +262,10 @@ export default {
|
|
|
{ required: true, message: '请选择工作中心', trigger: 'change' }
|
|
{ required: true, message: '请选择工作中心', trigger: 'change' }
|
|
|
],
|
|
],
|
|
|
'workBeat.beatTimesUnit': [
|
|
'workBeat.beatTimesUnit': [
|
|
|
- { required: true, message: '请选择时间单位', trigger: 'blur' }
|
|
|
|
|
|
|
+ { required: true, message: '请选择时间单位', trigger: 'change' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ timeUnit: [
|
|
|
|
|
+ { required: true, message: '请选择间隔时间单位', trigger: 'change' }
|
|
|
]
|
|
]
|
|
|
},
|
|
},
|
|
|
// 提交状态
|
|
// 提交状态
|
|
@@ -312,7 +329,7 @@ export default {
|
|
|
},
|
|
},
|
|
|
/* 更新visible */
|
|
/* 更新visible */
|
|
|
updateVisible(value) {
|
|
updateVisible(value) {
|
|
|
- this.form = this.$util.deepClone(defaultForm);
|
|
|
|
|
|
|
+ this.form = { ...this.defaultForm() };
|
|
|
this.$emit('update:visible', value);
|
|
this.$emit('update:visible', value);
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
@@ -329,13 +346,13 @@ export default {
|
|
|
this.isUpdate = true;
|
|
this.isUpdate = true;
|
|
|
} else {
|
|
} else {
|
|
|
const res = await producetask.getCode();
|
|
const res = await producetask.getCode();
|
|
|
- this.form = this.$util.deepClone(defaultForm);
|
|
|
|
|
|
|
+ this.form = { ...this.defaultForm() };
|
|
|
this.form.code = res;
|
|
this.form.code = res;
|
|
|
this.isUpdate = false;
|
|
this.isUpdate = false;
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
this.$refs.form.clearValidate();
|
|
this.$refs.form.clearValidate();
|
|
|
- this.form = this.$util.deepClone(defaultForm);
|
|
|
|
|
|
|
+ this.form = { ...this.defaultForm() };
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|