feat(组件): 为多选组件添加全选功能并移除板面校验
- 在多选组件中增加全选选项和功能 - 移除异常管理中的板面校验逻辑 - 修复保存按钮加载状态显示问题
This commit is contained in:
@@ -1,25 +1,34 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="muti-select">
|
<div class="muti-select">
|
||||||
<!-- 下拉选择模式 -->
|
<!-- 下拉选择模式 -->
|
||||||
<el-select
|
<div v-if="type === 'select'" class="select-container">
|
||||||
v-if="type === 'select'"
|
<el-select
|
||||||
v-model="innerValue"
|
v-model="innerValue"
|
||||||
multiple
|
multiple
|
||||||
:placeholder="placeholder"
|
:placeholder="placeholder"
|
||||||
:filterable="filterable"
|
:filterable="filterable"
|
||||||
:clearable="clearable"
|
:clearable="clearable"
|
||||||
:allow-create="allowAdd"
|
:allow-create="allowAdd"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
:size="size"
|
:size="size"
|
||||||
@change="handleChange"
|
@change="handleChange"
|
||||||
>
|
>
|
||||||
<el-option
|
<!-- 全选选项 -->
|
||||||
v-for="item in options"
|
<el-option
|
||||||
:key="item.value"
|
v-if="showSelectAll && options.length > 0"
|
||||||
:label="item.label"
|
key="selectAll"
|
||||||
:value="item.value"
|
label="全选"
|
||||||
/>
|
value="selectAll"
|
||||||
</el-select>
|
@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">
|
<div v-else-if="type === 'checkbox'" class="checkbox-group">
|
||||||
@@ -33,14 +42,14 @@
|
|||||||
{{ item.label }}
|
{{ item.label }}
|
||||||
</el-checkbox>
|
</el-checkbox>
|
||||||
</el-checkbox-group>
|
</el-checkbox-group>
|
||||||
<!-- <el-button
|
<el-button
|
||||||
v-if="showSelectAll && options.length > 0"
|
v-if="showSelectAll && options.length > 0"
|
||||||
type="text"
|
type="text"
|
||||||
size="small"
|
size="small"
|
||||||
@click="toggleSelectAll"
|
@click="toggleSelectAll"
|
||||||
>
|
>
|
||||||
{{ isAllSelected ? '取消全选' : '全选' }}
|
{{ isAllSelected ? '取消全选' : '全选' }}
|
||||||
</el-button> -->
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -114,7 +123,9 @@
|
|||||||
methods: {
|
methods: {
|
||||||
// 处理选择变化
|
// 处理选择变化
|
||||||
handleChange(val) {
|
handleChange(val) {
|
||||||
this.$emit('change', val.join(','));
|
// 过滤掉 'selectAll' 选项
|
||||||
|
const filteredVal = val.filter(item => item !== 'selectAll');
|
||||||
|
this.$emit('change', filteredVal.join(','));
|
||||||
},
|
},
|
||||||
// 处理复选框变化
|
// 处理复选框变化
|
||||||
handleCheckboxChange(val) {
|
handleCheckboxChange(val) {
|
||||||
|
|||||||
@@ -82,10 +82,10 @@ export default {
|
|||||||
{ required: true, message: '请选择位置', trigger: 'change' },
|
{ required: true, message: '请选择位置', trigger: 'change' },
|
||||||
{ validator: this.validateArray, trigger: 'change' }
|
{ validator: this.validateArray, trigger: 'change' }
|
||||||
],
|
],
|
||||||
plateSurface: [
|
// plateSurface: [
|
||||||
{ required: true, message: '请选择上下板面', trigger: 'change' },
|
// { required: true, message: '请选择上下板面', trigger: 'change' },
|
||||||
{ validator: this.validateArray, trigger: 'change' }
|
// { validator: this.validateArray, trigger: 'change' }
|
||||||
],
|
// ],
|
||||||
startPosition: [
|
startPosition: [
|
||||||
{ required: true, message: '请输入开始位置', trigger: ['blur', 'change'] },
|
{ required: true, message: '请输入开始位置', trigger: ['blur', 'change'] },
|
||||||
{ validator: this.validateStartPosition, trigger: ['blur', 'change'] }
|
{ validator: this.validateStartPosition, trigger: ['blur', 'change'] }
|
||||||
|
|||||||
@@ -56,7 +56,7 @@
|
|||||||
<div class="section-header">
|
<div class="section-header">
|
||||||
<h4 class="section-title">异常记录</h4>
|
<h4 class="section-title">异常记录</h4>
|
||||||
<div>
|
<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"
|
<el-button type="default" icon="el-icon-refresh" plain size="mini" @click="refreshAbnormalList"
|
||||||
:loading="abnormalLoading">
|
:loading="abnormalLoading">
|
||||||
刷新
|
刷新
|
||||||
@@ -291,10 +291,10 @@ export default {
|
|||||||
this.$message.error(`第${rowIndex}行:请选择断面位置`)
|
this.$message.error(`第${rowIndex}行:请选择断面位置`)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (!row.plateSurface || row.plateSurface.length === 0) {
|
// if (!row.plateSurface || row.plateSurface.length === 0) {
|
||||||
this.$message.error(`第${rowIndex}行:请选择上下板面`)
|
// this.$message.error(`第${rowIndex}行:请选择上下板面`)
|
||||||
return
|
// return
|
||||||
}
|
// }
|
||||||
if (!row.defectCode) {
|
if (!row.defectCode) {
|
||||||
this.$message.error(`第${rowIndex}行:请选择缺陷代码`)
|
this.$message.error(`第${rowIndex}行:请选择缺陷代码`)
|
||||||
return
|
return
|
||||||
|
|||||||
Reference in New Issue
Block a user