503 lines
15 KiB
Plaintext
503 lines
15 KiB
Plaintext
<template>
|
|
<div class="app-container" style="width: 700px; height: 600px">
|
|
<el-form
|
|
label-width="120px"
|
|
ref="formData"
|
|
:model="formData"
|
|
:rules="rules"
|
|
style="padding-top: 10px; padding-right: 10px"
|
|
>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item label="设备名称" prop="deviceName">
|
|
<el-input
|
|
type="text"
|
|
placeholder="请输入设备名称"
|
|
v-model="formData.deviceName"
|
|
></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
|
|
<el-col :span="12">
|
|
<el-form-item label="设备编号" prop="deviceCode">
|
|
<el-input
|
|
type="text"
|
|
placeholder="请输入设备编号"
|
|
v-model="formData.deviceCode"
|
|
></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item label="规格型号" prop="specificationModel">
|
|
<el-input
|
|
type="text"
|
|
placeholder="请输入规格型号"
|
|
v-model="formData.specificationModel"
|
|
></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item label="使用年限">
|
|
<el-input
|
|
type="text"
|
|
onkeyup="value=value.replace(/[^\d]/g,'')"
|
|
placeholder="请输入使用年限"
|
|
v-model="formData.serviceLife"
|
|
></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item label="生产厂家" prop="manufacturer">
|
|
<el-input
|
|
type="text"
|
|
placeholder="请输入生产厂家"
|
|
v-model="formData.manufacturer"
|
|
></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item label="购入时间">
|
|
<el-date-picker
|
|
v-model="formData.buyTime"
|
|
type="datetime"
|
|
size="small"
|
|
format="yyyy-MM-dd HH:mm:ss"
|
|
value-format="yyyy-MM-dd HH:mm:ss"
|
|
style="width: 205px"
|
|
placeholder="购入时间"
|
|
>
|
|
</el-date-picker>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item label="保养时间">
|
|
<el-date-picker
|
|
v-model="formData.maintenanceTime"
|
|
type="datetime"
|
|
size="small"
|
|
format="yyyy-MM-dd HH:mm:ss"
|
|
value-format="yyyy-MM-dd HH:mm:ss"
|
|
style="width: 205px"
|
|
placeholder="保养时间"
|
|
>
|
|
</el-date-picker>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item label="下次保养时间">
|
|
<el-date-picker
|
|
v-model="formData.nextMaintenanceTime"
|
|
type="datetime"
|
|
size="small"
|
|
format="yyyy-MM-dd HH:mm:ss"
|
|
value-format="yyyy-MM-dd HH:mm:ss"
|
|
style="width: 205px"
|
|
placeholder="下次保养时间"
|
|
>
|
|
</el-date-picker>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item label="状态">
|
|
<el-select
|
|
style="width: 205px"
|
|
v-model="formData.status"
|
|
placeholder="状态"
|
|
>
|
|
<el-option
|
|
v-for="item in statusArr"
|
|
:key="item.key"
|
|
:label="item.value"
|
|
:value="item.key"
|
|
/>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
|
|
<el-form-item label="部门名称">
|
|
<!-- <el-input
|
|
type="text"
|
|
placeholder="请输入部门名称"
|
|
v-model="formData.deptName"
|
|
></el-input>-->
|
|
<el-input
|
|
v-model="formData.deptName"
|
|
class="input_inner"
|
|
size="small"
|
|
>
|
|
<i
|
|
slot="suffix"
|
|
v-if="true"
|
|
class="el-icon-circle-close "
|
|
style="margin-right: 10px"
|
|
@click.prevent="produceCleanDept"
|
|
></i>
|
|
<i
|
|
slot="suffix"
|
|
class="el-icon-search "
|
|
@click.prevent="selectDept"
|
|
></i>
|
|
></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item label="详细信息">
|
|
<el-input
|
|
type="text"
|
|
placeholder="请输入详细信息"
|
|
v-model="formData.description"
|
|
></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item label="折旧年限">
|
|
<el-input
|
|
type="text"
|
|
onkeyup="value=value.replace(/[^\d]/g,'')"
|
|
placeholder="请输入折旧年限"
|
|
v-model="formData.depreciationPeriod"
|
|
></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item label="请选择节点" prop="workCenterId">
|
|
<Treeselect
|
|
placeholder="请选择工作空间"
|
|
v-model="formData.workCenterId"
|
|
:multiple="false"
|
|
:normalizer="normalizer"
|
|
:isDefaultExpanded="true"
|
|
noResultsText="没有搜索到数据"
|
|
:options="treeOptions"
|
|
>
|
|
</Treeselect>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item label="设备类型" prop="dictEquipmentType">
|
|
<el-select
|
|
v-model="formData.dictEquipmentType"
|
|
placeholder="请选择设备类型"
|
|
>
|
|
<el-option
|
|
v-for="(item, index) in this.$dictType.getDict(
|
|
'apm_equipment_type'
|
|
)"
|
|
:key="index"
|
|
:label="item.text"
|
|
:value="item.key"
|
|
>
|
|
</el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-col :span="24">
|
|
<el-form-item style="float: right; margin-right: 20px">
|
|
<el-button type="primary" @click="save('formData')">确 定</el-button>
|
|
<el-button @click="goback">取 消</el-button>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-form>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import Treeselect from "@riophae/vue-treeselect";
|
|
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
|
import selectDept from "@/views/mes/warehouse/arriveBill/select-dept";
|
|
export default {
|
|
name: "edit",
|
|
components: { Treeselect },
|
|
props: {
|
|
layerid: {
|
|
type: String,
|
|
default: "",
|
|
},
|
|
lydata: {
|
|
type: Object,
|
|
default: () => {
|
|
return {};
|
|
},
|
|
},
|
|
},
|
|
mounted() {
|
|
this.ruleFormList();
|
|
this.getWorkCenterTree();
|
|
|
|
if (this.$parent.isAdd == false) {
|
|
this.formData = JSON.parse(JSON.stringify(this.lydata));
|
|
}
|
|
},
|
|
data() {
|
|
return {
|
|
normalizer(node) {
|
|
return {
|
|
id: node.value,
|
|
label: node.title,
|
|
children: node.children,
|
|
isDefaultExpanded: true,
|
|
};
|
|
},
|
|
ruleForm: {
|
|
type: "",
|
|
name: "",
|
|
value: "",
|
|
deviceCode: "",
|
|
},
|
|
statusArr: [
|
|
{ key: 0, value: "在库" },
|
|
{ key: 1, value: "在用" },
|
|
],
|
|
formData: {
|
|
deviceCode: undefined,
|
|
name: undefined,
|
|
specificationModel: undefined,
|
|
serviceLife: undefined,
|
|
manufacturer: undefined,
|
|
buyTime: undefined,
|
|
maintenanceTime: undefined,
|
|
nextMaintenanceTime: undefined,
|
|
status: undefined,
|
|
deptName: undefined,
|
|
description: undefined,
|
|
depreciationPeriod: undefined,
|
|
dictEquipmentType: undefined,
|
|
},
|
|
rules: {
|
|
deviceName: [{ required: true, message: "请输入设备名称", trigger: "blur" }],
|
|
deviceCode: [
|
|
{
|
|
required: true,
|
|
message: "请输入设备型号",
|
|
trigger: "blur",
|
|
},
|
|
],
|
|
specificationModel: [
|
|
{ required: true, message: "请输入规格型号", trigger: "blur" },
|
|
],
|
|
manufacturer: [
|
|
{ required: true, message: "请输入生产厂家", trigger: "blur" },
|
|
],
|
|
},
|
|
defaultProps: {
|
|
children: "children",
|
|
label: "label",
|
|
},
|
|
treeOptions: [],
|
|
options: [],
|
|
};
|
|
},
|
|
methods: {
|
|
ruleFormList() {
|
|
this.$FactoryModel.getTypetree().then((data) => {
|
|
console.log(data);
|
|
if (data.data.code === 200) {
|
|
this.options = data.data.data[0].children;
|
|
}
|
|
/* this.ruleForm.type = data.type;
|
|
this.ruleForm.name = data.label;*/
|
|
});
|
|
},
|
|
handleChange() {
|
|
console.log(this.ruleForm.value);
|
|
console.log(this.ruleForm.value[this.ruleForm.value.length - 1]);
|
|
},
|
|
getparentCode(list) {
|
|
if (list === undefined || this.formData.workCenterId === undefined) {
|
|
return;
|
|
}
|
|
list.forEach((value) => {
|
|
if (value.value === this.formData.workCenterId) {
|
|
this.formData.workCenterName = value.title;
|
|
} else {
|
|
this.getparentCode(value.children);
|
|
}
|
|
});
|
|
},
|
|
save() {
|
|
this.getparentCode(this.treeOptions);
|
|
if (this.$parent.isAdd) {
|
|
this.$refs["formData"].validate((valid) => {
|
|
if (valid) {
|
|
let params = {
|
|
deviceCode: this.formData.deviceCode,
|
|
deviceName: this.formData.deviceName,
|
|
specificationModel: this.formData.specificationModel,
|
|
serviceLife: this.formData.serviceLife,
|
|
manufacturer: this.formData.manufacturer,
|
|
buyTime: this.formData.buyTime,
|
|
maintenanceTime: this.formData.maintenanceTime,
|
|
nextMaintenanceTime: this.formData.nextMaintenanceTime,
|
|
status: this.formData.status,
|
|
deptName: this.formData.deptName,
|
|
description: this.formData.description,
|
|
depreciationPeriod: this.formData.depreciationPeriod,
|
|
workCenterId: this.formData.workCenterId,
|
|
workCenterName: this.formData.workCenterName,
|
|
dictEquipmentType: this.formData.dictEquipmentType,
|
|
};
|
|
this.$EquipmentAccount.addEquipment(params).then((resp) => {
|
|
if (resp.data.code == 200) {
|
|
this.$message.success("添加成功");
|
|
this.$parent.getList();
|
|
this.$layer.close(this.layerid);
|
|
} else {
|
|
this.$message.error(resp.data.message);
|
|
}
|
|
});
|
|
} else {
|
|
return false;
|
|
}
|
|
});
|
|
} else if (this.$parent.isAdd === false) {
|
|
this.$refs["formData"].validate((valid) => {
|
|
if (valid) {
|
|
let params = {
|
|
buyTime: this.formData.buyTime,
|
|
depreciationPeriod: this.formData.depreciationPeriod,
|
|
deptName: this.formData.deptName,
|
|
description: this.formData.description,
|
|
deviceCode: this.formData.deviceCode,
|
|
isSub: true,
|
|
deviceFieldsList: [
|
|
{
|
|
delFlag: 0,
|
|
enterType: 0,
|
|
equipmentId: 0,
|
|
fieldValue: "string",
|
|
id: 0,
|
|
name: "string",
|
|
propertyGroup: 0,
|
|
propertyId: 0,
|
|
propertyType: 0,
|
|
typeId: 0,
|
|
},
|
|
],
|
|
dna: "string",
|
|
id: this.lydata.id,
|
|
levelInfo: "string",
|
|
maintenanceTime: this.formData.maintenanceTime,
|
|
manufacturer: this.formData.manufacturer,
|
|
|
|
deviceName: this.formData.deviceName,
|
|
nextMaintenanceTime: this.formData.nextMaintenanceTime,
|
|
|
|
oeeId: 0,
|
|
orgId: this.formData.orgId,
|
|
orgName: "string",
|
|
picPath: "string",
|
|
serviceLife: this.formData.serviceLife,
|
|
|
|
specificationModel: this.formData.specificationModel,
|
|
|
|
status: this.formData.status,
|
|
/* tdeviceFields: [
|
|
{
|
|
delFlag: 0,
|
|
enterType: 0,
|
|
equipmentId: 0,
|
|
fieldValue: "string",
|
|
id: 0,
|
|
name: "string",
|
|
propertyGroup: 0,
|
|
propertyId: 0,
|
|
propertyType: 0,
|
|
typeId: 0,
|
|
},
|
|
],*/
|
|
topicCode: "string",
|
|
typeId: 0,
|
|
typeName: "string",
|
|
};
|
|
this.$EquipmentAccount.DpdataEquipment(params).then((resp) => {
|
|
if (resp.data.code == 200) {
|
|
this.$message.success("修改成功");
|
|
this.$parent.getList();
|
|
this.$layer.close(this.layerid);
|
|
} else {
|
|
this.$message.error(resp.data.message);
|
|
}
|
|
});
|
|
} else {
|
|
return false;
|
|
}
|
|
});
|
|
}
|
|
},
|
|
//打开选择部门弹窗
|
|
selectDept() {
|
|
this.$layer.iframe({
|
|
shadeClose: false,
|
|
content: {
|
|
content: selectDept, //传递的组件对象
|
|
parent: this, //当前的vue对象
|
|
shadeClose: false
|
|
},
|
|
title: "选择部门(双击选中单条数据)"
|
|
});
|
|
},
|
|
//选择部门
|
|
getDept(row) {
|
|
this.formData.deptName = row.deptName;
|
|
},
|
|
//清空部门
|
|
produceCleanDept() {
|
|
this.formData.deptName = null;
|
|
},
|
|
goback() {
|
|
this.$layer.close(this.layerid);
|
|
},
|
|
getWorkCenterTree() {
|
|
this.$plan.getWorkCenterTree().then((resp) => {
|
|
console.log(resp.data.data, "回家");
|
|
this.treeOptions = [];
|
|
|
|
this.treeOptions.push(resp.data.data);
|
|
|
|
this.removeBlackChildren(this.treeOptions);
|
|
});
|
|
},
|
|
removeBlackChildren(list) {
|
|
list.forEach((value) => {
|
|
if (value.children.length == 0) {
|
|
value.children = undefined;
|
|
} else {
|
|
this.removeBlackChildren(value.children);
|
|
}
|
|
});
|
|
},
|
|
},
|
|
};
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.el-tree {
|
|
top: 8px;
|
|
background: grey;
|
|
}
|
|
.is-current {
|
|
background-color: rgb(201, 188, 80) !important;
|
|
}
|
|
.vue-treeselect--single .vue-treeselect__input-container {
|
|
font-size: inherit;
|
|
/* height: 100%; */
|
|
}
|
|
.vue-treeselect--single .vue-treeselect__input {
|
|
height: 32px;
|
|
}
|
|
</style>
|