update:搜索key

This commit is contained in:
2026-01-22 11:40:18 +08:00
parent cb2ee815eb
commit 8643ee2a46
3 changed files with 42 additions and 21 deletions

View File

@@ -3,7 +3,7 @@
<el-input
v-if="item.inputMode === 'input'"
v-bind="attrs"
v-model="formData[item.key]"
v-model="formData[item.searchKey || item.key]"
:placeholder="item.disabled && showDisabled ? '' : '请输入'"
clearable
:disabled="attrs.disabled || (item.disabled && showDisabled)"
@@ -16,7 +16,7 @@
<el-input
v-if="item.inputMode === 'textarea'"
v-bind="attrs"
v-model="formData[item.key]"
v-model="formData[item.searchKey || item.key]"
type="textarea"
autosize
:placeholder="item.disabled && showDisabled ? '' : '请输入'"
@@ -30,7 +30,7 @@
<el-input-number
v-if="item.inputMode === 'inputNumber'"
v-bind="attrs"
v-model="formData[item.key]"
v-model="formData[item.searchKey || item.key]"
:placeholder="item.disabled && showDisabled ? '' : '请输入'"
:min="0"
:step="item.step"
@@ -42,7 +42,7 @@
<el-select
v-if="item.inputMode === 'select'"
v-bind="attrs"
v-model="formData[item.key]"
v-model="formData[item.searchKey || item.key]"
:placeholder="item.disabled && showDisabled ? '' : '请选择'"
clearable
:options="item.options"
@@ -59,7 +59,7 @@
<el-radio-group
v-if="item.inputMode === 'radio'"
v-bind="attrs"
v-model="formData[item.key]"
v-model="formData[item.searchKey || item.key]"
:disabled="attrs.disabled || (item.disabled && showDisabled)"
@change="(val: any) => changeFun(item.key, val)"
>
@@ -73,7 +73,7 @@
<el-checkbox-group
v-if="item.inputMode === 'checkbox'"
v-bind="attrs"
v-model="formData[item.key]"
v-model="formData[item.searchKey || item.key]"
:disabled="attrs.disabled || (item.disabled && showDisabled)"
@change="(val: any) => changeFun(item.key, val)"
>
@@ -87,7 +87,7 @@
<MultipleSelect
v-if="item.inputMode === 'multipleSelect'"
:attrs="attrs"
v-model="formData[item.key]"
v-model="formData[item.searchKey || item.key]"
:options="item.options"
:disabled="attrs.disabled || (item.disabled && showDisabled)"
@change="(val: any) => changeFun(item.key, val)"
@@ -96,7 +96,7 @@
<el-date-picker
v-if="item.inputMode === 'date'"
v-bind="attrs"
v-model="formData[item.key]"
v-model="formData[item.searchKey || item.key]"
type="datetime"
format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss"
@@ -109,7 +109,7 @@
<el-date-picker
v-if="item.inputMode === 'daterange'"
v-bind="attrs"
v-model="formData[item.key]"
v-model="formData[item.searchKey || item.key]"
type="datetimerange"
start-placeholder="开始时间"
format="YYYY-MM-DD HH:mm:ss"
@@ -123,7 +123,7 @@
<ChoseFile
v-if="item.inputMode === 'choseFile'"
:attrs="attrs"
v-model="formData[item.key]"
v-model="formData[item.searchKey || item.key]"
:disabled="attrs.disabled || (item.disabled && showDisabled)"
@change="(val: any) => changeFun(item.key, val)"
@remove="(val: any) => removeFun(item.key, val)"
@@ -131,14 +131,14 @@
<UploadImg
v-if="item.inputMode === 'uploadImg'"
:attrs="attrs"
v-model="formData[item.key]"
v-model="formData[item.searchKey || item.key]"
:disabled="attrs.disabled || (item.disabled && showDisabled)"
@change="(val: any) => changeFun(item.key, val)"
/>
<UserSelect
v-if="item.inputMode === 'userSelect'"
:attrs="attrs"
v-model="formData[item.key]"
v-model="formData[item.searchKey || item.key]"
:disabled="attrs.disabled || (item.disabled && showDisabled)"
@change="(val: any) => changeFun(item.key, val)"
@clear="clearFun"
@@ -147,7 +147,7 @@
v-if="['projectSelect', 'projectIdSelect'].includes(item.inputMode)"
:showCodeList="item.inputMode === 'projectSelect' ? false : true"
:attrs="attrs"
v-model="formData[item.key]"
v-model="formData[item.searchKey || item.key]"
:disabled="attrs.disabled || (item.disabled && showDisabled)"
@change="(val: any) => changeFun(item.key, val)"
@clear="clearFun"
@@ -155,7 +155,7 @@
<UserSelect
v-if="item.inputMode === 'userSelectMultiple'"
:attrs="attrs"
v-model="formData[item.key]"
v-model="formData[item.searchKey || item.key]"
multiple
:disabled="attrs.disabled || (item.disabled && showDisabled)"
@change="(val: any) => changeFun(item.key, val)"
@@ -165,7 +165,7 @@
v-if="['projectSelectMultiple', 'projectIdSelectMultiple'].includes(item.inputMode)"
:showCodeList="item.inputMode === 'projectSelectMultiple' ? false : true"
:attrs="attrs"
v-model="formData[item.key]"
v-model="formData[item.searchKey || item.key]"
multiple
:disabled="attrs.disabled || (item.disabled && showDisabled)"
@change="(val: any) => changeFun(item.key, val)"
@@ -174,7 +174,7 @@
<ApproveList
v-if="item.inputMode === 'approveList'"
:attrs="attrs"
v-model="formData[item.key]"
v-model="formData[item.searchKey || item.key]"
:disabled="attrs.disabled || (item.disabled && showDisabled)"
@change="(val: any) => changeFun(item.key, val)"
@clear="clearFun"
@@ -182,7 +182,7 @@
<FileName
v-if="item.inputMode === 'fileName'"
:attrs="attrs"
v-model="formData[item.key]"
v-model="formData[item.searchKey || item.key]"
:disabled="attrs.disabled || (item.disabled && showDisabled)"
@change="(val: any) => changeFun(item.key, val)"
@clear="clearFun"

View File

@@ -43,8 +43,13 @@
</div>
</template>
<template v-if="item.inputMode !== 'slot'" #reference>
<el-icon class="head-icon" :class="{ active: data[item.key] }" :size="16" @click="openFun">
<Finished v-if="data[item.key]" />
<el-icon
class="head-icon"
:class="{ active: data[item.searchKey || item.key] }"
:size="16"
@click="openFun"
>
<Finished v-if="data[item.searchKey || item.key]" />
<Filter v-else />
</el-icon>
</template>
@@ -92,12 +97,12 @@ const searchFun = () => {
popoverVisible.value = false;
emit('search', {
filterType: seq.value,
filterKey: props.item.key,
filterKey: props.item.searchKey || props.item.key,
});
};
const resetFun = () => {
searchForm.value[props.item.key] = '';
searchForm.value[props.item.searchKey || props.item.key] = '';
searchFun();
};
</script>

View File

@@ -205,6 +205,22 @@
<el-switch v-model="row.tableSearch" :disabled="disabled" />
</template>
</vxe-column>
<vxe-column
field="searchKey"
title="搜索key"
align="center"
header-align="center"
:min-width="120"
>
<template #default="{ row }">
<el-input
v-model="row.searchKey"
placeholder="请输入"
clearable
:disabled="disabled"
/>
</template>
</vxe-column>
<vxe-column
field="disabled"
title="不可编辑"