基础核心,设备基础
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2021-11-18 14:16:25
|
||||
* @LastEditors: DY
|
||||
* @LastEditTime: 2024-01-08 16:11:03
|
||||
* @LastEditTime: 2024-02-21 09:04:48
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@@ -27,7 +27,7 @@
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="产品名称" prop="name">
|
||||
<el-input v-model="dataForm.name" :disabled="isdetail" clearable placeholder="请输入产品名称" />
|
||||
<el-input v-model="dataForm.name" :disabled="isdetail || isedit" clearable placeholder="请输入产品名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
@@ -35,7 +35,7 @@
|
||||
<el-input
|
||||
v-model="dataForm.code"
|
||||
clearable
|
||||
:disabled="isdetail"
|
||||
:disabled="isdetail || isedit"
|
||||
placeholder="请输入产品编码" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -44,12 +44,12 @@
|
||||
<el-select
|
||||
v-model="dataForm.materialType"
|
||||
filterable
|
||||
:disabled="isdetail"
|
||||
:disabled="isdetail || isedit"
|
||||
style="width: 100%"
|
||||
placeholder="请选择物料类型">
|
||||
<el-option
|
||||
v-for="dict in getDictDatas('material_type')"
|
||||
:key="dict.value"
|
||||
v-for="(dict, index) in getDictDatas('material_type')"
|
||||
:key="index"
|
||||
:label="dict.label"
|
||||
:value="dict.value" />
|
||||
</el-select>
|
||||
@@ -62,12 +62,12 @@
|
||||
<el-select
|
||||
v-model="dataForm.productType"
|
||||
filterable
|
||||
:disabled="isdetail"
|
||||
:disabled="isdetail || isedit"
|
||||
style="width: 100%"
|
||||
placeholder="请选择产品类型">
|
||||
<el-option
|
||||
v-for="dict in getDictDatas(DICT_TYPE.PRODUCT_TYPE)"
|
||||
:key="dict.value"
|
||||
v-for="(dict, index) in getDictDatas(DICT_TYPE.PRODUCT_TYPE)"
|
||||
:key="index"
|
||||
:label="dict.label"
|
||||
:value="dict.value" />
|
||||
</el-select>
|
||||
@@ -78,12 +78,12 @@
|
||||
<el-select
|
||||
v-model="dataForm.unit"
|
||||
filterable
|
||||
:disabled="isdetail"
|
||||
:disabled="isdetail || isedit"
|
||||
style="width: 100%"
|
||||
placeholder="请选择单位">
|
||||
<el-option
|
||||
v-for="dict in getDictDatas(DICT_TYPE.UNIT_DICT)"
|
||||
:key="dict.value"
|
||||
v-for="(dict, index) in getDictDatas(DICT_TYPE.UNIT_DICT)"
|
||||
:key="index"
|
||||
:label="dict.label"
|
||||
:value="dict.value" />
|
||||
</el-select>
|
||||
@@ -91,24 +91,24 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="单位平方数" prop="area">
|
||||
<el-input-number v-model="dataForm.area" :precision="6" :min="0" style="width: 100%" :disabled="isdetail" clearable placeholder="请输入单位平方数" />
|
||||
<el-input-number v-model="dataForm.area" :precision="6" :min="0" style="width: 100%" :disabled="isdetail || isedit" clearable placeholder="请输入单位平方数" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="规格" prop="specifications">
|
||||
<el-input v-model="dataForm.specifications" :disabled="isdetail" @blur="setArea" @clear="clearArea" clearable placeholder="请输入规格" />
|
||||
<el-input v-model="dataForm.specifications" :disabled="isdetail || isedit" @blur="setArea" @clear="clearArea" clearable placeholder="请输入规格" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="产线生产单位用时(S)" prop="processTime">
|
||||
<el-form-item label="生产节拍(S)" prop="processTime">
|
||||
<el-input v-model.number="dataForm.processTime" :precision="4" :min="0" type="number" :disabled="isdetail" clearable placeholder="请输入产线生产单位用时" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="重量" prop="weight">
|
||||
<el-input-number v-model="dataForm.weight" :precision="6" :min="0" style="width: 100%" :disabled="isdetail" clearable placeholder="请输入重量" />
|
||||
<el-input-number v-model="dataForm.weight" :precision="6" :min="0" style="width: 100%" :disabled="isdetail || isedit" clearable placeholder="请输入重量" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -241,7 +241,7 @@ export default {
|
||||
productType: undefined,
|
||||
area: undefined,
|
||||
specifications: undefined,
|
||||
processTime: 0,
|
||||
processTime: undefined,
|
||||
remark: undefined,
|
||||
unit: undefined,
|
||||
weight: undefined
|
||||
@@ -249,14 +249,14 @@ export default {
|
||||
productAttrList: [],
|
||||
visible: false,
|
||||
isdetail: false,
|
||||
isedit: false,
|
||||
idAttrShow: false,
|
||||
dataRule: {
|
||||
code: [{ required: true, message: "产品编码不能为空", trigger: "blur" }],
|
||||
name: [{ required: true, message: "产品名称不能为空", trigger: "blur" }],
|
||||
specifications: [{ required: true, message: "规格不能为空", trigger: "blur" }],
|
||||
materialType: [{ required: true, message: "物料类型不能为空", trigger: "change" }],
|
||||
productType: [{ required: true, message: "产品类型不能为空", trigger: "change" }],
|
||||
processTime: [{ required: true, message: "产线生产单位用时不能为空", trigger: "blur" }]
|
||||
productType: [{ required: true, message: "产品类型不能为空", trigger: "change" }]
|
||||
}
|
||||
};
|
||||
},
|
||||
@@ -326,6 +326,8 @@ export default {
|
||||
this.initData();
|
||||
this.isdetail = isdetail || false;
|
||||
this.dataForm.id = id || undefined;
|
||||
this.isedit = id ? true : false;
|
||||
console.log('你好', this.isedit)
|
||||
this.visible = true;
|
||||
if (id) {
|
||||
this.idAttrShow = true
|
||||
@@ -343,10 +345,9 @@ export default {
|
||||
// this.dataForm.area = response.data.area || 0
|
||||
// this.dataForm.weight = response.data.weight || 0
|
||||
// this.dataForm.specifications = response.data.specifications || undefined
|
||||
console.log('11res112', this.dataForm.specifications, this.dataForm.weight, this.dataForm.area)
|
||||
if (this.dataForm.unit !== undefined) {
|
||||
this.dataForm.unit = String(this.dataForm.unit)
|
||||
}
|
||||
// if (this.dataForm.unit !== undefined) {
|
||||
// this.dataForm.unit = String(this.dataForm.unit)
|
||||
// }
|
||||
if (this.dataForm.materialType !== undefined) {
|
||||
this.dataForm.materialType = String(this.dataForm.materialType)
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2021-11-18 14:16:25
|
||||
* @LastEditors: DY
|
||||
* @LastEditTime: 2023-11-21 18:59:54
|
||||
* @LastEditTime: 2024-02-18 13:53:09
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@@ -12,18 +12,6 @@
|
||||
ref="dataForm"
|
||||
@keyup.enter.native="dataFormSubmit()"
|
||||
label-width="100px">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="产线名称" prop="name">
|
||||
<el-input v-model="dataForm.name" clearable placeholder="请输入产线名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="产线编号" prop="code">
|
||||
<el-input v-model="dataForm.code" clearable placeholder="请输入产线编号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="工厂名称" prop="factoryId">
|
||||
@@ -41,6 +29,36 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="车间名称" prop="roomNameDict">
|
||||
<el-select
|
||||
v-model="dataForm.roomNameDict"
|
||||
filterable
|
||||
:disabled="isdetail || isedit"
|
||||
style="width: 100%"
|
||||
placeholder="请选择车间名称">
|
||||
<el-option
|
||||
v-for="(dict, index) in getDictDatas('workshop')"
|
||||
:key="index"
|
||||
:label="dict.label"
|
||||
:value="dict.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="产线名称" prop="name">
|
||||
<el-input v-model="dataForm.name" clearable placeholder="请输入产线名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="产线编号" prop="code">
|
||||
<el-input v-model="dataForm.code" clearable placeholder="请输入产线编号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="产线TT值(h)" prop="tvalue">
|
||||
<el-input
|
||||
v-model.number="dataForm.tvalue"
|
||||
@@ -92,11 +110,13 @@ export default {
|
||||
tvalue: 0,
|
||||
factoryId: undefined,
|
||||
remark: undefined,
|
||||
roomNameDict: undefined
|
||||
},
|
||||
factoryList: [],
|
||||
dataRule: {
|
||||
code: [{ required: true, message: "产线编号不能为空", trigger: "blur" }],
|
||||
name: [{ required: true, message: "产线名称不能为空", trigger: "blur" }],
|
||||
roomNameDict: [{ required: true, message: "车间名称不能为空", trigger: "blur" }],
|
||||
factoryId: [{ required: true, message: "工厂不能为空", trigger: "blur" }]
|
||||
}
|
||||
};
|
||||
|
||||
@@ -47,6 +47,7 @@ import {
|
||||
} from '@/api/base/coreProductionLine';
|
||||
import { getStatus } from '@/api/core/base/productionLine';
|
||||
import codeFilter from '../../core/mixins/code-filter';
|
||||
import { publicFormatter } from '@/utils/dict';
|
||||
|
||||
const tableProps = [
|
||||
{
|
||||
@@ -58,6 +59,11 @@ const tableProps = [
|
||||
prop: 'factoryName',
|
||||
label: '工厂'
|
||||
},
|
||||
{
|
||||
prop: 'roomNameDict',
|
||||
label: '车间名称',
|
||||
filter: publicFormatter('workshop')
|
||||
},
|
||||
{
|
||||
prop: 'name',
|
||||
label: '产线名称'
|
||||
@@ -71,10 +77,10 @@ const tableProps = [
|
||||
label: '当前状态',
|
||||
filter: codeFilter('lineStatus')
|
||||
},
|
||||
{
|
||||
prop: 'tvalue',
|
||||
label: '产线TT值(h)'
|
||||
},
|
||||
// {
|
||||
// prop: 'tvalue',
|
||||
// label: '产线TT值(h)'
|
||||
// },
|
||||
{
|
||||
prop: 'description',
|
||||
label: '描述'
|
||||
@@ -82,7 +88,7 @@ const tableProps = [
|
||||
{
|
||||
prop: 'remark',
|
||||
label: '备注'
|
||||
},
|
||||
}
|
||||
];
|
||||
|
||||
export default {
|
||||
|
||||
@@ -116,6 +116,22 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span='8'>
|
||||
<el-form-item label="负责车间" prop="roomNameDict">
|
||||
<el-select
|
||||
v-model="dataForm.roomNameDict"
|
||||
filterable
|
||||
:disabled="isdetail || isedit"
|
||||
style="width: 100%"
|
||||
placeholder="请选择车间名称">
|
||||
<el-option
|
||||
v-for="(dict, index) in getDictDatas('workshop')"
|
||||
:key="index"
|
||||
:label="dict.label"
|
||||
:value="dict.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span='8'>
|
||||
<el-form-item label="关联产线" prop="productLineIds">
|
||||
<el-select v-model="dataForm.productLineIds" placeholder="请选择关联产线" multiple style="width: 100%;">
|
||||
@@ -180,6 +196,7 @@ export default {
|
||||
productLineIds: [],
|
||||
type: '',
|
||||
workers: '',
|
||||
roomNameDict: '',
|
||||
status: 1
|
||||
},
|
||||
rules: {
|
||||
@@ -187,6 +204,7 @@ export default {
|
||||
planProductId: [{ required: true, message: "产品名称不能为空", trigger: "change" }],
|
||||
planAssignQuantity: [{ required: true, message: "计划投入数量不能为空", trigger: "blur" }],
|
||||
planQuantity: [{ required: true, message: "计划生产数量不能为空", trigger: "blur" }],
|
||||
roomNameDict: [{ required: true, message: "车间名称不能为空", trigger: "blur" }],
|
||||
productLineIds: [{ required: true, message: "关联产线不能为空", trigger: "change" }]
|
||||
},
|
||||
productList: [],
|
||||
@@ -264,19 +282,19 @@ export default {
|
||||
this.urlOptions.createURL(this.dataForm).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.visible = false;
|
||||
this.$confirm('是否添加预使用主原料信息?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
console.log('121', this.dataForm.name)
|
||||
this.$emit("refreshDataList", {
|
||||
id: response.data,
|
||||
name: this.dataForm.name
|
||||
});
|
||||
}).catch(() => {
|
||||
this.$emit("refreshDataList");
|
||||
});
|
||||
// this.$confirm('是否添加预使用主原料信息?', '提示', {
|
||||
// confirmButtonText: '确定',
|
||||
// cancelButtonText: '取消',
|
||||
// type: 'warning'
|
||||
// }).then(() => {
|
||||
// console.log('121', this.dataForm.name)
|
||||
// this.$emit("refreshDataList", {
|
||||
// id: response.data,
|
||||
// name: this.dataForm.name
|
||||
// });
|
||||
// }).catch(() => {
|
||||
// this.$emit("refreshDataList");
|
||||
// });
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
@@ -60,6 +60,7 @@ import {
|
||||
getConOrderList,
|
||||
getCoreWOList
|
||||
} from '@/api/base/coreWorkOrder';
|
||||
import { publicFormatter } from '@/utils/dict';
|
||||
|
||||
|
||||
const tableProps = [
|
||||
@@ -82,6 +83,13 @@ const tableProps = [
|
||||
minWidth: 150,
|
||||
showOverflowtooltip: true
|
||||
},
|
||||
{
|
||||
prop: 'roomNameDict',
|
||||
label: '负责车间',
|
||||
minWidth: 120,
|
||||
filter: publicFormatter('workshop'),
|
||||
showOverflowtooltip: true
|
||||
},
|
||||
{
|
||||
prop: 'workers',
|
||||
label: '负责人',
|
||||
@@ -101,7 +109,7 @@ const tableProps = [
|
||||
{
|
||||
prop: 'status',
|
||||
label: '工单状态',
|
||||
filter: (val) => ['', '等待', '激活', '暂停', '完成', '', '', '', '', '作废'][val]
|
||||
filter: (val) => ['', '等待', '激活', '暂停', '完成', '作废', '终止'][val]
|
||||
},
|
||||
{
|
||||
prop: 'planFinishTime',
|
||||
@@ -223,6 +231,20 @@ export default {
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'stop',
|
||||
btnName: '终止',
|
||||
showParam: {
|
||||
type: '|',
|
||||
data: [
|
||||
{
|
||||
name: 'status',
|
||||
type: 'equal',
|
||||
value: 2
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
this.$auth.hasPermi(`base:core-work-order:detail`)
|
||||
? {
|
||||
type: 'detail',
|
||||
@@ -289,7 +311,8 @@ export default {
|
||||
{ id: 2, name: '激活' },
|
||||
{ id: 3, name: '暂停' },
|
||||
{ id: 4, name: '完成' },
|
||||
{ id: 9, name: '作废' }
|
||||
{ id: 5, name: '作废' },
|
||||
{ id: 6, name: '终止' }
|
||||
],
|
||||
param: 'status',
|
||||
clearable: true
|
||||
@@ -401,13 +424,17 @@ export default {
|
||||
opration = '暂停'
|
||||
}
|
||||
if (val.type === 'nullify') {
|
||||
param.status = 9
|
||||
opration = '报废'
|
||||
param.status = 5
|
||||
opration = '作废'
|
||||
}
|
||||
if (val.type === 'finish') {
|
||||
param.status = 4
|
||||
opration = '完成'
|
||||
}
|
||||
if (val.type === 'stop') {
|
||||
param.status = 6
|
||||
opration = '终止'
|
||||
}
|
||||
console.log('22',val)
|
||||
this.$confirm(`确定${opration}${'"工单' + val.data.name + '"'}?`, "提示", {
|
||||
confirmButtonText: "确定",
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2021-11-18 14:16:25
|
||||
* @LastEditors: DY
|
||||
* @LastEditTime: 2023-12-04 15:10:11
|
||||
* @LastEditTime: 2024-02-21 09:41:39
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@@ -59,7 +59,7 @@
|
||||
style="width: 100%"
|
||||
placeholder="请选择物料类型">
|
||||
<el-option
|
||||
v-for="dict in materialList"
|
||||
v-for="dict in getDictDatas('material_type')"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value" />
|
||||
@@ -238,7 +238,7 @@ export default {
|
||||
remark: undefined,
|
||||
unit: ''
|
||||
},
|
||||
materialList: [],
|
||||
// materialList: [],
|
||||
supplierList: [],
|
||||
materialAttrList: [],
|
||||
unitList: [],
|
||||
@@ -258,17 +258,18 @@ export default {
|
||||
methods: {
|
||||
async getDict() {
|
||||
// 物料类型列表
|
||||
const res = await listData({
|
||||
pageNo: 1,
|
||||
pageSize: 99,
|
||||
dictType: 'material_type',
|
||||
});
|
||||
this.materialList = res.data.list.map(item => {
|
||||
return {
|
||||
label: item.label,
|
||||
value: Number(item.value)
|
||||
}
|
||||
});
|
||||
// const res = await listData({
|
||||
// pageNo: 1,
|
||||
// pageSize: 99,
|
||||
// dictType: 'material_type',
|
||||
// });
|
||||
// this.materialList = res.data.list
|
||||
// this.materialList = res.data.list.map(item => {
|
||||
// return {
|
||||
// label: item.label,
|
||||
// value: Number(item.value)
|
||||
// }
|
||||
// });
|
||||
// 供应商列表
|
||||
const supplierRes = await getSupplierList();
|
||||
this.supplierList = supplierRes.data;
|
||||
@@ -348,6 +349,9 @@ export default {
|
||||
if (this.dataForm.unit) {
|
||||
this.dataForm.unit = String(this.dataForm.unit)
|
||||
}
|
||||
if (this.dataForm.type) {
|
||||
this.dataForm.type = String(this.dataForm.type)
|
||||
}
|
||||
});
|
||||
// 获取物料的属性列表
|
||||
this.getList();
|
||||
|
||||
Reference in New Issue
Block a user