feat(组件): 为多选组件添加全选功能并移除板面校验

- 在多选组件中增加全选选项和功能
- 移除异常管理中的板面校验逻辑
- 修复保存按钮加载状态显示问题
This commit is contained in:
砂糖
2026-04-16 10:18:21 +08:00
parent 220a24da78
commit 440e70ee82
3 changed files with 43 additions and 32 deletions

View File

@@ -1,25 +1,34 @@
<template>
<div class="muti-select">
<!-- 下拉选择模式 -->
<el-select
v-if="type === 'select'"
v-model="innerValue"
multiple
:placeholder="placeholder"
:filterable="filterable"
:clearable="clearable"
:allow-create="allowAdd"
:disabled="disabled"
:size="size"
@change="handleChange"
>
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
<div v-if="type === 'select'" class="select-container">
<el-select
v-model="innerValue"
multiple
:placeholder="placeholder"
:filterable="filterable"
:clearable="clearable"
:allow-create="allowAdd"
:disabled="disabled"
:size="size"
@change="handleChange"
>
<!-- 全选选项 -->
<el-option
v-if="showSelectAll && options.length > 0"
key="selectAll"
label="全选"
value="selectAll"
@click="toggleSelectAll"
/>
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
<!-- 复选框模式 -->
<div v-else-if="type === 'checkbox'" class="checkbox-group">
@@ -33,14 +42,14 @@
{{ item.label }}
</el-checkbox>
</el-checkbox-group>
<!-- <el-button
<el-button
v-if="showSelectAll && options.length > 0"
type="text"
size="small"
@click="toggleSelectAll"
>
{{ isAllSelected ? '取消全选' : '全选' }}
</el-button> -->
</el-button>
</div>
</div>
</template>
@@ -114,7 +123,9 @@
methods: {
// 处理选择变化
handleChange(val) {
this.$emit('change', val.join(','));
// 过滤掉 'selectAll' 选项
const filteredVal = val.filter(item => item !== 'selectAll');
this.$emit('change', filteredVal.join(','));
},
// 处理复选框变化
handleCheckboxChange(val) {

View File

@@ -82,10 +82,10 @@ export default {
{ required: true, message: '请选择位置', trigger: 'change' },
{ validator: this.validateArray, trigger: 'change' }
],
plateSurface: [
{ required: true, message: '请选择上下板面', trigger: 'change' },
{ validator: this.validateArray, trigger: 'change' }
],
// plateSurface: [
// { required: true, message: '请选择上下板面', trigger: 'change' },
// { validator: this.validateArray, trigger: 'change' }
// ],
startPosition: [
{ required: true, message: '请输入开始位置', trigger: ['blur', 'change'] },
{ validator: this.validateStartPosition, trigger: ['blur', 'change'] }

View File

@@ -56,7 +56,7 @@
<div class="section-header">
<h4 class="section-title">异常记录</h4>
<div>
<el-button type="primary" size="mini" @click="handleSave">保存</el-button>
<el-button type="primary" size="mini" @click="handleSave" :loading="buttonLoading">保存</el-button>
<el-button type="default" icon="el-icon-refresh" plain size="mini" @click="refreshAbnormalList"
:loading="abnormalLoading">
刷新
@@ -291,10 +291,10 @@ export default {
this.$message.error(`${rowIndex}行:请选择断面位置`)
return
}
if (!row.plateSurface || row.plateSurface.length === 0) {
this.$message.error(`${rowIndex}行:请选择上下板面`)
return
}
// if (!row.plateSurface || row.plateSurface.length === 0) {
// this.$message.error(`第${rowIndex}行:请选择上下板面`)
// return
// }
if (!row.defectCode) {
this.$message.error(`${rowIndex}行:请选择缺陷代码`)
return
@@ -445,7 +445,7 @@ export default {
.exception-section {
background-color: #fafafa;
border-radius: 4px;
border-radius: 4px;
padding: 16px;
border: 1px solid #e4e7ed;
}