本次提交新增了完整的设备巡检管理功能: 1. 新增QRCode组件,支持带文字描述的二维码展示 2. 新增检验部位、设备检验清单、巡检记录的CRUD API 3. 新增检验清单选择器组件 4. 新增巡检部位管理、检验清单管理、巡检记录管理页面 5. 新增设备巡检总览页面,支持拖拽分栏管理部位和检验清单,附带二维码生成打印功能 6. 新增单日设备巡检日报页面
73 lines
1.5 KiB
Vue
73 lines
1.5 KiB
Vue
<template>
|
|
<el-select
|
|
v-model="innerValue"
|
|
filterable
|
|
:loading="loading"
|
|
placeholder="请选择检验清单"
|
|
clearable
|
|
@change="handleChange"
|
|
style="width: 100%"
|
|
>
|
|
<el-option
|
|
v-for="item in options"
|
|
:key="item.checkId"
|
|
:label="`${item.checkNo || '无编号'} - ${item.partName || ''}`"
|
|
:value="item.checkId"
|
|
/>
|
|
</el-select>
|
|
</template>
|
|
|
|
<script>
|
|
import { listEquipmentChecklist } from "@/api/mes/eqp/equipmentChecklist";
|
|
|
|
export default {
|
|
name: "ChecklistSelect",
|
|
props: {
|
|
value: {
|
|
type: [String, Number],
|
|
default: ""
|
|
}
|
|
},
|
|
data() {
|
|
return {
|
|
loading: false,
|
|
options: [],
|
|
innerValue: this.value
|
|
};
|
|
},
|
|
watch: {
|
|
value(val) {
|
|
this.innerValue = val;
|
|
}
|
|
},
|
|
mounted() {
|
|
this.loadAll();
|
|
},
|
|
methods: {
|
|
async loadAll() {
|
|
this.loading = true;
|
|
try {
|
|
const res = await listEquipmentChecklist({ pageNum: 1, pageSize: 9999 });
|
|
if (res.code === 200) {
|
|
this.options = res.rows || [];
|
|
}
|
|
} catch (e) {
|
|
console.error("获取检验清单列表失败", e);
|
|
} finally {
|
|
this.loading = false;
|
|
}
|
|
},
|
|
handleChange(val) {
|
|
if (!val) {
|
|
this.$emit('input', "");
|
|
this.$emit('change', "", null);
|
|
} else {
|
|
this.$emit('input', val);
|
|
const row = this.options.find(o => o.checkId === val);
|
|
this.$emit('change', val, row || null);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
</script>
|