这个是我现在的详情页面的代码
<template>
<div>
<dialog-edit
:visible.sync="open"
title="设备台账详情"
@close="handleCancel"
dialogType="dialog_detail"
width="800px"
height="600px"
>
<div slot="content" class="dialog_content">
<formlist
:form="form"
:form2="formData"
:dictData="dictData"
ref="formList"
:readonly="true"
:width="`120px`"
></formlist>
<div slot="footer" class="dialog_footer">
<el-button @click="handleCancel">关 闭</el-button>
</div>
</div>
</dialog-edit>
</div>
</template>
<script>
import { getDictionaries } from "@/utils";
export default {
data() {
return {
form: [
{
arr: [
{
code: "equipmentCode",
title: "设备编码",
type: 0,
readlyOnly: true,
verification: true,
rule: "0",
customTips: " ",
regular: " ",
dictionary: "",
multiple: false,
fileNum: 0,
single: true,
dateType: "date",
dateFormat: "yyyy-MM-dd",
},
{
code: "equipmentCategory",
title: "设备大类",
type: 1,
readlyOnly: true,
verification: true,
rule: "0",
customTips: " ",
regular: " ",
dictionary: "equipment_category",
multiple: false,
fileNum: 0,
single: true,
dateType: "date",
dateFormat: "yyyy-MM-dd",
},
{
code: "equipmentSubcategory",
title: "设备小类",
type: 1,
readlyOnly: true,
verification: true,
rule: "0",
customTips: " ",
regular: " ",
dictionary: "equipment_subcategory",
multiple: false,
fileNum: 0,
single: true,
dateType: "date",
dateFormat: "yyyy-MM-dd",
},
{
code: "modelDescription",
title: "燃气表型号描述",
type: 0,
readlyOnly: true,
verification: true,
rule: "0",
customTips: " ",
regular: " ",
dictionary: "",
multiple: false,
fileNum: 0,
single: true,
dateType: "date",
dateFormat: "yyyy-MM-dd",
},
{
code: "specificationModel",
title: "规格型号",
type: 0,
readlyOnly: true,
verification: true,
rule: "0",
customTips: " ",
regular: " ",
dictionary: "",
multiple: false,
fileNum: 0,
single: true,
dateType: "date",
dateFormat: "yyyy-MM-dd",
},
{
code: "accuracyLevel",
title: "器具准确度等级",
type: 1,
readlyOnly: true,
verification: true,
rule: "0",
customTips: " ",
regular: " ",
dictionary: "accuracy_level",
multiple: false,
fileNum: 0,
single: true,
dateType: "date",
dateFormat: "yyyy-MM-dd",
},
{
code: "manufacturer",
title: "器具生产单位",
type: 0,
readlyOnly: true,
verification: true,
rule: "0",
customTips: " ",
regular: " ",
dictionary: "",
multiple: false,
fileNum: 0,
single: true,
dateType: "date",
dateFormat: "yyyy-MM-dd",
},
{
code: "ownershipType",
title: "归属类型",
type: 1,
readlyOnly: true,
verification: true,
rule: "0",
customTips: " ",
regular: " ",
dictionary: "ownership_type",
multiple: false,
fileNum: 0,
single: true,
dateType: "date",
dateFormat: "yyyy-MM-dd",
},
{
code: "equipmentOwner",
title: "设备归属方",
type: 0,
readlyOnly: true,
verification: true,
rule: "0",
customTips: " ",
regular: " ",
dictionary: "",
multiple: false,
fileNum: 0,
single: true,
dateType: "date",
dateFormat: "yyyy-MM-dd",
},
{
code: "purchaseDate",
title: "采购日期",
type: 6,
readlyOnly: true,
verification: true,
rule: "0",
customTips: " ",
regular: " ",
dictionary: "",
multiple: false,
fileNum: 0,
single: true,
dateType: "date",
dateFormat: "yyyy-MM-dd",
},
{
code: "storageLocation",
title: "存放位置",
type: 0,
readlyOnly: true,
verification: true,
rule: "0",
customTips: " ",
regular: " ",
dictionary: "",
multiple: false,
fileNum: 0,
single: true,
dateType: "date",
dateFormat: "yyyy-MM-dd",
},
{
code: "overdueYears",
title: "超期年限(年)",
type: 0,
readlyOnly: true,
verification: true,
rule: "0",
customTips: " ",
regular: " ",
dictionary: "",
multiple: false,
fileNum: 0,
single: true,
dateType: "date",
dateFormat: "yyyy-MM-dd",
},
{
code: "lastVerificationDate",
title: "最后检定日期",
type: 6,
readlyOnly: true,
verification: true,
rule: "0",
customTips: " ",
regular: " ",
dictionary: "",
multiple: false,
fileNum: 0,
single: true,
dateType: "date",
dateFormat: "yyyy-MM-dd",
},
{
code: "equipmentStatus",
title: "设备状态",
type: 1,
readlyOnly: true,
verification: true,
rule: "0",
customTips: " ",
regular: " ",
dictionary: "equipment_status",
multiple: false,
fileNum: 0,
single: true,
dateType: "date",
dateFormat: "yyyy-MM-dd",
},
{
code: "storageStatus",
title: "仓储状态",
type: 1,
readlyOnly: true,
verification: true,
rule: "0",
customTips: " ",
regular: " ",
dictionary: "storage_status",
multiple: false,
fileNum: 0,
single: true,
dateType: "date",
dateFormat: "yyyy-MM-dd",
},
{
code: "inspectionStatus",
title: "检测状态",
type: 1,
readlyOnly: true,
verification: true,
rule: "0",
customTips: " ",
regular: " ",
dictionary: "inspection_status",
multiple: false,
fileNum: 0,
single: true,
dateType: "date",
dateFormat: "yyyy-MM-dd",
},
{
code: "equipmentPhoto",
title: "设备照片路径",
type: 30,
readlyOnly: true,
verification: true,
rule: "0",
customTips: " ",
regular: " ",
dictionary: "",
multiple: false,
fileNum: 0,
single: true,
dateType: "date",
dateFormat: "yyyy-MM-dd",
},
{
code: "remarks",
title: "备注",
type: 0,
readlyOnly: true,
verification: true,
rule: "0",
customTips: " ",
regular: " ",
dictionary: "",
multiple: false,
fileNum: 0,
single: true,
dateType: "date",
dateFormat: "yyyy-MM-dd",
},
],
},
],
formData: {},
open: false,
dictData: {},
};
},
methods: {
async init(row) {
await this.loadDictData();
this.open = true;
this.formData = JSON.parse(JSON.stringify(row));
// 格式化日期字段
if (this.formData.purchaseDate) {
this.formData.purchaseDate = this.formatDate(this.formData.purchaseDate);
}
if (this.formData.lastVerificationDate) {
this.formData.lastVerificationDate = this.formatDate(
this.formData.lastVerificationDate
);
}
},
async loadDictData() {
const arr = [
"equipment_category",
"equipment_subcategory",
"accuracy_level",
"ownership_type",
"equipment_status",
"storage_status",
"inspection_status",
];
const data = await getDictionaries(arr);
this.dictData = {
equipment_category: data["equipment_category"] || [],
equipment_subcategory: data["equipment_subcategory"] || [],
accuracy_level: data["accuracy_level"] || [],
ownership_type: data["ownership_type"] || [],
equipment_status: data["equipment_status"] || [],
storage_status: data["storage_status"] || [],
inspection_status: data["inspection_status"] || [],
};
},
formatDate(dateString) {
if (!dateString) return null;
return new Date(dateString).toISOString().split("T")[0];
},
handleCancel() {
this.open = false;
}
}
};
</script>