|
|
|
|
@ -207,6 +207,12 @@
|
|
|
|
|
prop="materialDesc"
|
|
|
|
|
width="120"
|
|
|
|
|
/>
|
|
|
|
|
<el-table-column
|
|
|
|
|
label="库位编码"
|
|
|
|
|
align="center"
|
|
|
|
|
prop="wlCode"
|
|
|
|
|
width="120"
|
|
|
|
|
/>
|
|
|
|
|
<el-table-column
|
|
|
|
|
label="所属设备名称"
|
|
|
|
|
align="center"
|
|
|
|
|
@ -226,6 +232,32 @@
|
|
|
|
|
prop="spareMode"
|
|
|
|
|
width="200"
|
|
|
|
|
/>
|
|
|
|
|
<el-table-column
|
|
|
|
|
width="120"
|
|
|
|
|
label="备件类型"
|
|
|
|
|
align="center"
|
|
|
|
|
prop="spareType"
|
|
|
|
|
>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<dict-tag
|
|
|
|
|
:options="dict.type.spare_part_type"
|
|
|
|
|
:value="scope.row.spareType"
|
|
|
|
|
/>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column
|
|
|
|
|
width="120"
|
|
|
|
|
label="备件品类"
|
|
|
|
|
align="center"
|
|
|
|
|
prop="spareCategory"
|
|
|
|
|
>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<dict-tag
|
|
|
|
|
:options="categoryList"
|
|
|
|
|
:value="scope.row.spareCategory"
|
|
|
|
|
/>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column
|
|
|
|
|
label="单机装配数量"
|
|
|
|
|
align="center"
|
|
|
|
|
@ -396,115 +428,7 @@
|
|
|
|
|
<!-- 添加或修改备品备件台账管理对话框 -->
|
|
|
|
|
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
|
|
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
|
|
|
|
<!--
|
|
|
|
|
<el-form-item label="唯一序列" prop="storageId">
|
|
|
|
|
<el-input v-model="form.storageId" placeholder="请输入唯一序列" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="仓库编码" prop="whCode">
|
|
|
|
|
<el-input v-model="form.whCode" placeholder="请输入仓库编码" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="区域编号" prop="regionCode">
|
|
|
|
|
<el-input v-model="form.regionCode" placeholder="请输入区域编号" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="库区编码" prop="waCode">
|
|
|
|
|
<el-input v-model="form.waCode" placeholder="请输入库区编码" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="库位编码" prop="wlCode">
|
|
|
|
|
<el-input v-model="form.wlCode" placeholder="请输入库位编码" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="物料号" prop="materialCode">
|
|
|
|
|
<el-input v-model="form.materialCode" placeholder="请输入物料号" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="物料描述" prop="materialDesc">
|
|
|
|
|
<el-input v-model="form.materialDesc" placeholder="请输入物料描述" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
-->
|
|
|
|
|
<!-- <el-form-item label="占用数量" prop="occupyAmount">
|
|
|
|
|
<el-input v-model="form.occupyAmount" placeholder="请输入占用数量" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="LPN" prop="lpn">
|
|
|
|
|
<el-input v-model="form.lpn" placeholder="请输入LPN" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="入库批次号" prop="productBatch">
|
|
|
|
|
<el-input v-model="form.productBatch" placeholder="请输入入库批次号" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="入库时间x" prop="receiveDate">
|
|
|
|
|
<el-date-picker clearable
|
|
|
|
|
v-model="form.receiveDate"
|
|
|
|
|
type="date"
|
|
|
|
|
value-format="yyyy-MM-dd"
|
|
|
|
|
placeholder="请选择入库时间x">
|
|
|
|
|
</el-date-picker>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="生产时间" prop="productDate">
|
|
|
|
|
<el-date-picker clearable
|
|
|
|
|
v-model="form.productDate"
|
|
|
|
|
type="date"
|
|
|
|
|
value-format="yyyy-MM-dd"
|
|
|
|
|
placeholder="请选择生产时间">
|
|
|
|
|
</el-date-picker>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="SAP库位" prop="userDefined2">
|
|
|
|
|
<el-input v-model="form.userDefined2" placeholder="请输入SAP库位" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="备用3" prop="userDefined3">
|
|
|
|
|
<el-input v-model="form.userDefined3" placeholder="请输入备用3" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="备用4" prop="userDefined4">
|
|
|
|
|
<el-input v-model="form.userDefined4" placeholder="请输入备用4" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="备用5" prop="userDefined5">
|
|
|
|
|
<el-input v-model="form.userDefined5" placeholder="请输入备用5" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="备用6" prop="userDefined6">
|
|
|
|
|
<el-input v-model="form.userDefined6" placeholder="请输入备用6" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="备用7" prop="userDefined7">
|
|
|
|
|
<el-input v-model="form.userDefined7" placeholder="请输入备用7" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="备用8" prop="userDefined8">
|
|
|
|
|
<el-input v-model="form.userDefined8" placeholder="请输入备用8" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="备用9" prop="userDefined9">
|
|
|
|
|
<el-input v-model="form.userDefined9" placeholder="请输入备用9" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="备用10" prop="userDefined10">
|
|
|
|
|
<el-input v-model="form.userDefined10" placeholder="请输入备用10" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="创建时间" prop="gmtCreate">
|
|
|
|
|
<el-date-picker clearable
|
|
|
|
|
v-model="form.gmtCreate"
|
|
|
|
|
type="date"
|
|
|
|
|
value-format="yyyy-MM-dd"
|
|
|
|
|
placeholder="请选择创建时间">
|
|
|
|
|
</el-date-picker>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="最后更新人" prop="lastModifiedBy">
|
|
|
|
|
<el-input v-model="form.lastModifiedBy" placeholder="请输入最后更新人" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="最后更新时间" prop="gmtModified">
|
|
|
|
|
<el-date-picker clearable
|
|
|
|
|
v-model="form.gmtModified"
|
|
|
|
|
type="date"
|
|
|
|
|
value-format="yyyy-MM-dd"
|
|
|
|
|
placeholder="请选择最后更新时间">
|
|
|
|
|
</el-date-picker>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="有效标记" prop="activeFlag">
|
|
|
|
|
<el-input v-model="form.activeFlag" placeholder="请输入有效标记" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="工厂号" prop="factoryCode">
|
|
|
|
|
<el-input v-model="form.factoryCode" placeholder="请输入工厂号" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="SAP工厂号" prop="sapFactoryCode">
|
|
|
|
|
<el-input v-model="form.sapFactoryCode" placeholder="请输入SAP工厂号" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="库位名称" prop="wlName">
|
|
|
|
|
<el-input v-model="form.wlName" placeholder="请输入库位名称" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="0存在" prop="delFlag">
|
|
|
|
|
<el-input v-model="form.delFlag" placeholder="请输入0存在" />
|
|
|
|
|
</el-form-item> -->
|
|
|
|
|
|
|
|
|
|
<el-row :gutter="10" class="mb8">
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="备件编码" prop="materialCode">
|
|
|
|
|
@ -524,6 +448,39 @@
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="备件类型" prop="spareType">
|
|
|
|
|
<el-select v-model="form.spareType" placeholder="备件类型" clearable @change="changeType">
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="dict in dict.type.spare_part_type"
|
|
|
|
|
:key="dict.value"
|
|
|
|
|
:label="dict.label"
|
|
|
|
|
:value="dict.value"
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="备件品类" prop="spareCategory">
|
|
|
|
|
<el-select v-model="form.spareCategory" placeholder="备件品类" clearable>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="dict in categoryList"
|
|
|
|
|
:key="dict.value"
|
|
|
|
|
:label="dict.label"
|
|
|
|
|
:value="dict.value"
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="库位编码" prop="wlCode">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="form.wlCode"
|
|
|
|
|
placeholder="请输入库位编码"
|
|
|
|
|
style="width: 250px"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="所属设备编码" prop="ownEquipmentCode">
|
|
|
|
|
<el-input
|
|
|
|
|
@ -782,10 +739,11 @@ import {
|
|
|
|
|
} from "@/api/device/sparePartsLedger";
|
|
|
|
|
import { getToken } from "@/utils/auth";
|
|
|
|
|
import QRCode from 'qrcode';
|
|
|
|
|
import dict from "@/utils/dict";
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
name: "SparePartsLedger",
|
|
|
|
|
dicts: ['safety_stock'],
|
|
|
|
|
dicts: ['safety_stock', 'spare_part_type', 'fastening_sealing_parts','general_pipeline_parts','process_consumables','electric_control','pneumatic_components','hydraulic_components','power_transmission_parts'],
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
// 导入数据
|
|
|
|
|
@ -924,14 +882,43 @@ export default {
|
|
|
|
|
procurementMethod: [
|
|
|
|
|
{ required: true, message: "采购方式不能为空", trigger: "blur" },
|
|
|
|
|
],
|
|
|
|
|
spareType: [
|
|
|
|
|
{ required: true, message: "备件类型不能为空", trigger: "blur" },
|
|
|
|
|
],
|
|
|
|
|
spareCategory: [
|
|
|
|
|
{ required: true, message: "备件品类不能为空", trigger: "blur" },
|
|
|
|
|
],
|
|
|
|
|
wlCode: [
|
|
|
|
|
{ required: true, message: "库位不能为空", trigger: "blur" },
|
|
|
|
|
{ validator: this.validateWlCodeBlur, trigger: ["blur"] }
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
categoryList:[]
|
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
created() {
|
|
|
|
|
this.getList();
|
|
|
|
|
},
|
|
|
|
|
mounted(){
|
|
|
|
|
this.$nextTick(() => {
|
|
|
|
|
this.initCategoryList();
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
dict,
|
|
|
|
|
validateWlCodeBlur(rule, value, callback){
|
|
|
|
|
if (typeof value !== 'string') {
|
|
|
|
|
callback(new Error('请输入正确的库位编码'));
|
|
|
|
|
}else {
|
|
|
|
|
const reg = /^[a-zA-Z0-9]+$/;
|
|
|
|
|
if (reg.test(value)){
|
|
|
|
|
callback();
|
|
|
|
|
}else {
|
|
|
|
|
callback(new Error('请输入正确的库位编码'));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
// 生成表头序号
|
|
|
|
|
indexMethod(index) {
|
|
|
|
|
return index + 1;
|
|
|
|
|
@ -1172,6 +1159,43 @@ export default {
|
|
|
|
|
`sparePartsLedger_template_${new Date().getTime()}.xlsx`
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
initCategoryList(){
|
|
|
|
|
// 同时监听两个字典,任意一个变化都会触发回调
|
|
|
|
|
this.$watch(
|
|
|
|
|
() => [
|
|
|
|
|
this.dict.type.power_transmission_parts,
|
|
|
|
|
this.dict.type.hydraulic_components,
|
|
|
|
|
this.dict.type.pneumatic_components,
|
|
|
|
|
this.dict.type.electric_control,
|
|
|
|
|
this.dict.type.process_consumables,
|
|
|
|
|
this.dict.type.general_pipeline_parts,
|
|
|
|
|
this.dict.type.fastening_sealing_parts
|
|
|
|
|
],
|
|
|
|
|
([val1, val2, val3, val4, val5, val6, val7,]) => {
|
|
|
|
|
// 确保两个字典都已加载完成(非undefined)
|
|
|
|
|
if (val1 && val2 && val3 && val4 && val5 && val6 && val7) {
|
|
|
|
|
this.categoryList = [
|
|
|
|
|
...val1,
|
|
|
|
|
...val2,
|
|
|
|
|
...val3,
|
|
|
|
|
...val4,
|
|
|
|
|
...val5,
|
|
|
|
|
...val6,
|
|
|
|
|
...val7
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{ immediate: true, deep: true }
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
changeType(res){
|
|
|
|
|
if (!res){
|
|
|
|
|
this.initCategoryList()
|
|
|
|
|
this.form.spareCategory = ''
|
|
|
|
|
}else {
|
|
|
|
|
this.categoryList = this.dict.type[res]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
</script>
|
|
|
|
|
|