mirror of
https://github.com/geekgeekrun/geekgeekrun.git
synced 2026-05-30 20:50:44 +08:00
add jobDetailRegExpMatchLogic option in UI
This commit is contained in:
@@ -13,6 +13,7 @@
|
||||
"expectCityList": [],
|
||||
"expectCityNotMatchStrategy": 3,
|
||||
"strategyScopeOptionWhenMarkJobCityNotMatch": 2,
|
||||
"jobDetailRegExpMatchLogic": 1,
|
||||
"autoReminder": {
|
||||
"throttleIntervalMinutes": 10,
|
||||
"rechatLimitDay": 21,
|
||||
|
||||
@@ -22,4 +22,9 @@ export enum StrategyScopeOptionWhenMarkJobNotMatch {
|
||||
export enum SalaryCalculateWay {
|
||||
MONTH_SALARY = 1,
|
||||
ANNUAL_PACKAGE = 2,
|
||||
}
|
||||
}
|
||||
|
||||
export enum JobDetailRegExpMatchLogic {
|
||||
EVERY = 1,
|
||||
SOME = 2,
|
||||
}
|
||||
|
||||
@@ -149,6 +149,9 @@ export default function initIpc() {
|
||||
bossConfig.strategyScopeOptionWhenMarkJobWorkExpNotMatch =
|
||||
payload.strategyScopeOptionWhenMarkJobWorkExpNotMatch
|
||||
}
|
||||
if (hasOwn(payload, 'jobDetailRegExpMatchLogic')) {
|
||||
bossConfig.jobDetailRegExpMatchLogic = payload.jobDetailRegExpMatchLogic
|
||||
}
|
||||
|
||||
promiseArr.push(writeConfigFile('boss.json', bossConfig))
|
||||
|
||||
|
||||
@@ -584,6 +584,23 @@
|
||||
</el-dropdown>
|
||||
</div>
|
||||
</div>
|
||||
<div :style="{ width: '100%' }">
|
||||
<el-form-item mb0 prop="expectJobNameRegExpStr">
|
||||
<div font-size-12px>职位名称/类型/描述正则匹配筛选逻辑</div>
|
||||
<el-select
|
||||
v-model="formContent.jobDetailRegExpMatchLogic"
|
||||
@change="(value) => gtagRenderer('job_detail_re_ml_change', { value })"
|
||||
>
|
||||
<el-option
|
||||
v-for="op in jobDetailRegExpMatchLogicOptions"
|
||||
:key="op.value"
|
||||
:label="op.name"
|
||||
:value="op.value"
|
||||
>{{ op.name }}</el-option
|
||||
>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div
|
||||
:style="{
|
||||
display: 'grid',
|
||||
@@ -784,7 +801,8 @@ import { ArrowDown } from '@element-plus/icons-vue'
|
||||
import {
|
||||
MarkAsNotSuitOp,
|
||||
StrategyScopeOptionWhenMarkJobNotMatch,
|
||||
SalaryCalculateWay
|
||||
SalaryCalculateWay,
|
||||
JobDetailRegExpMatchLogic
|
||||
} from '@geekgeekrun/sqlite-plugin/src/enums'
|
||||
import { debounce } from 'lodash-es'
|
||||
import mittBus from '../../../utils/mitt'
|
||||
@@ -819,7 +837,8 @@ const formContent = ref({
|
||||
expectWorkExpList: [],
|
||||
expectWorkExpNotMatchStrategy: MarkAsNotSuitOp.NO_OP,
|
||||
strategyScopeOptionWhenMarkJobWorkExpNotMatch:
|
||||
StrategyScopeOptionWhenMarkJobNotMatch.ONLY_COMPANY_MATCHED_JOB
|
||||
StrategyScopeOptionWhenMarkJobNotMatch.ONLY_COMPANY_MATCHED_JOB,
|
||||
jobDetailRegExpMatchLogic: JobDetailRegExpMatchLogic.EVERY
|
||||
})
|
||||
|
||||
const currentAnyCombineRecommendJobFilterCombinationCount = computed(() => {
|
||||
@@ -919,6 +938,8 @@ electron.ipcRenderer.invoke('fetch-config-file-content').then((res) => {
|
||||
formContent.value.strategyScopeOptionWhenMarkJobWorkExpNotMatch =
|
||||
res.config['boss.json'].strategyScopeOptionWhenMarkJobWorkExpNotMatch ??
|
||||
StrategyScopeOptionWhenMarkJobNotMatch.ONLY_COMPANY_MATCHED_JOB
|
||||
formContent.value.jobDetailRegExpMatchLogic =
|
||||
res.config['boss.json'].jobDetailRegExpMatchLogic ?? JobDetailRegExpMatchLogic.EVERY
|
||||
})
|
||||
|
||||
const formRules = {
|
||||
@@ -1153,6 +1174,17 @@ const strategyScopeOptionWhenMarkJobNotMatch = [
|
||||
}
|
||||
]
|
||||
|
||||
const jobDetailRegExpMatchLogicOptions = [
|
||||
{
|
||||
name: '“且”模式 - 所有正则匹配时才认为职位匹配',
|
||||
value: JobDetailRegExpMatchLogic.EVERY
|
||||
},
|
||||
{
|
||||
name: '“或”模式 - 任一正则匹配时即认为职位匹配',
|
||||
value: JobDetailRegExpMatchLogic.SOME
|
||||
}
|
||||
]
|
||||
|
||||
async function handleExpectSalaryCalculateWayChanged(value) {
|
||||
gtagRenderer('expect_salary_calculate_way_changed', { value })
|
||||
|
||||
|
||||
Reference in New Issue
Block a user