Browse Source

comparators are used for filtering

pull/734/head
cKey 3 years ago
parent
commit
41871db738
  1. 19
      apps/vue/src/components/Table/src/components/AdvancedSearch.vue
  2. 2
      apps/vue/src/components/Table/src/types/advancedSearch.ts
  3. 2
      aspnet-core/services/LY.MicroService.TaskManagement.HttpApi.Host/appsettings.Development.json

19
apps/vue/src/components/Table/src/components/AdvancedSearch.vue

@ -34,7 +34,7 @@
<Select <Select
style="width: 100%;" style="width: 100%;"
v-model:value="record.comparison" v-model:value="record.comparison"
:options="comparisonOptions" :options="getAvailableComparisonOptions(record)"
/> />
</template> </template>
<template v-else-if="column.dataIndex==='value'"> <template v-else-if="column.dataIndex==='value'">
@ -231,6 +231,23 @@
return defineParams.filter(dp => !formMdel.paramters.some(fp => fp.field === dp.name)); return defineParams.filter(dp => !formMdel.paramters.some(fp => fp.field === dp.name));
}); });
const getAvailableComparisonOptions = computed(() => {
return (paramter: DynamicParamter) => {
const defineParams = unref(defineParamsRef);
const defineParam = defineParams.find(p => p.name === paramter.field);
if (!defineParam) {
return comparisonOptions;
}
const availableComparator = defineParam.availableComparator ?? [];
if (availableComparator.length === 0) {
return comparisonOptions;
}
//
return comparisonOptions
.filter(c => availableComparator.includes(c.value));
}
});
const filterOption = (input: string, option: any) => { const filterOption = (input: string, option: any) => {
return option.description.toLowerCase().indexOf(input.toLowerCase()) >= 0; return option.description.toLowerCase().indexOf(input.toLowerCase()) >= 0;
}; };

2
apps/vue/src/components/Table/src/types/advancedSearch.ts

@ -30,6 +30,8 @@ export interface DefineParamter {
type: string; type: string;
/** 数据类型(js) */ /** 数据类型(js) */
javaScriptType: string; javaScriptType: string;
/** 可用运算条件列表, 用于进一步约束字段可用比较符 */
availableComparator?: DynamicComparison[];
} }
/** 连接条件 */ /** 连接条件 */

2
aspnet-core/services/LY.MicroService.TaskManagement.HttpApi.Host/appsettings.Development.json

@ -1,6 +1,6 @@
{ {
"AgileConfig": { "AgileConfig": {
"IsEnabled": false, "IsEnabled": true,
"env": "DEV", "env": "DEV",
"appId": "LINGYUN.Abp.TaskManagement", "appId": "LINGYUN.Abp.TaskManagement",
"secret": "1q2w3E*", "secret": "1q2w3E*",

Loading…
Cancel
Save