Files
scrq-hd/.svn/pristine/01/01a1d49aab2460a2912cc5a3552004366b1b10b7.svn-base
2025-07-03 10:34:04 +08:00

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>