Files
klp-oa/klp-ui/src/components/ChecklistSelect/index.vue
砂糖 015ec7d70b feat(mes/eqp): 新增设备巡检管理模块及相关组件
本次提交新增了完整的设备巡检管理功能:
1.  新增QRCode组件,支持带文字描述的二维码展示
2.  新增检验部位、设备检验清单、巡检记录的CRUD API
3.  新增检验清单选择器组件
4.  新增巡检部位管理、检验清单管理、巡检记录管理页面
5.  新增设备巡检总览页面,支持拖拽分栏管理部位和检验清单,附带二维码生成打印功能
6.  新增单日设备巡检日报页面
2026-05-25 14:45:59 +08:00

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>