diff --git a/packages/ui/src/main/flow/OPEN_SETTING_WINDOW/ipc/index.ts b/packages/ui/src/main/flow/OPEN_SETTING_WINDOW/ipc/index.ts
index 14691be..04d6ede 100644
--- a/packages/ui/src/main/flow/OPEN_SETTING_WINDOW/ipc/index.ts
+++ b/packages/ui/src/main/flow/OPEN_SETTING_WINDOW/ipc/index.ts
@@ -107,6 +107,8 @@ export default function initIpc() {
if (hasOwn(payload, 'autoReminder')) {
bossConfig.autoReminder = payload.autoReminder
}
+
+ // city
if (hasOwn(payload, 'expectCityList')) {
bossConfig.expectCityList = payload.expectCityList
}
@@ -117,6 +119,8 @@ export default function initIpc() {
bossConfig.strategyScopeOptionWhenMarkJobCityNotMatch =
payload.strategyScopeOptionWhenMarkJobCityNotMatch
}
+
+ // salary
if (hasOwn(payload, 'expectSalaryCalculateWay')) {
bossConfig.expectSalaryCalculateWay = payload.expectSalaryCalculateWay
}
@@ -134,6 +138,18 @@ export default function initIpc() {
bossConfig.expectSalaryHigh = payload.expectSalaryHigh
}
+ // work exp
+ if (hasOwn(payload, 'expectWorkExpList')) {
+ bossConfig.expectWorkExpList = payload.expectWorkExpList
+ }
+ if (hasOwn(payload, 'expectWorkExpNotMatchStrategy')) {
+ bossConfig.expectWorkExpNotMatchStrategy = payload.expectWorkExpNotMatchStrategy
+ }
+ if (hasOwn(payload, 'strategyScopeOptionWhenMarkJobWorkExpNotMatch')) {
+ bossConfig.strategyScopeOptionWhenMarkJobWorkExpNotMatch =
+ payload.strategyScopeOptionWhenMarkJobWorkExpNotMatch
+ }
+
promiseArr.push(writeConfigFile('boss.json', bossConfig))
if (hasOwn(payload, 'expectCompanies')) {
diff --git a/packages/ui/src/renderer/src/page/MainLayout/GeekAutoStartChatWithBoss/index.vue b/packages/ui/src/renderer/src/page/MainLayout/GeekAutoStartChatWithBoss/index.vue
index 278c31c..e4f87ab 100644
--- a/packages/ui/src/renderer/src/page/MainLayout/GeekAutoStartChatWithBoss/index.vue
+++ b/packages/ui/src/renderer/src/page/MainLayout/GeekAutoStartChatWithBoss/index.vue
@@ -106,7 +106,6 @@
>
-
薪资(暂不支持日结职位,日结职位将直接跳过)
+
+ 薪资(仅支持按月计算薪资的职位;非按月计算薪资职位(例如兼职职位、实习职位)将直接跳过)
+
+
+
工作经验
+
+
+ 认为匹配的工作经验
+
+ gtagRenderer('expect_work_exp_list_changed', { value })"
+ >
+
+ {{
+ op.name
+ }}
+
+
+
+
+
+
+
+ 当前工作经验不匹配时:
+ gtagRenderer('expect_we_not_match_strategy_changed', { value })
+ "
+ >
+ {{ op.name }}
+
+
+
+ 标记不合适针对的职位范围:
+ gtagRenderer('strategy_scope_option_wmjwenm_changed', { value })
+ "
+ >
+ {{ op.name }}
+
+
+
+
+
@@ -687,6 +783,7 @@ import {
import { debounce } from 'lodash-es'
import mittBus from '../../../utils/mitt'
import CityChooser from './components/CityChooser.vue'
+import conditions from '@geekgeekrun/geek-auto-start-chat-with-boss/internal-config/job-filter-conditions-20241002.json'
const router = useRouter()
@@ -700,6 +797,7 @@ const formContent = ref({
jobNotMatchStrategy: MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_BOSS,
jobNotActiveStrategy: MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_BOSS,
markAsNotActiveSelectedTimeRange: 7,
+ // city
expectCityList: [],
expectCityNotMatchStrategy: MarkAsNotSuitOp.NO_OP,
strategyScopeOptionWhenMarkJobCityNotMatch:
@@ -710,7 +808,12 @@ const formContent = ref({
strategyScopeOptionWhenMarkSalaryNotMatch:
StrategyScopeOptionWhenMarkJobNotMatch.ONLY_COMPANY_MATCHED_JOB,
expectSalaryLow: null,
- expectSalaryHigh: null
+ expectSalaryHigh: null,
+ // work exp
+ expectWorkExpList: [],
+ expectWorkExpNotMatchStrategy: MarkAsNotSuitOp.NO_OP,
+ strategyScopeOptionWhenMarkJobWorkExpNotMatch:
+ StrategyScopeOptionWhenMarkJobNotMatch.ONLY_COMPANY_MATCHED_JOB
})
const currentAnyCombineRecommendJobFilterCombinationCount = computed(() => {
@@ -773,6 +876,7 @@ electron.ipcRenderer.invoke('fetch-config-file-content').then((res) => {
? res.config['boss.json'].jobNotActiveStrategy
: MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_BOSS
+ // city
formContent.value.expectCityList = res.config['boss.json']?.expectCityList ?? []
formContent.value.expectCityNotMatchStrategy = strategyOptionWhenCurrentJobNotMatch
.map((it) => it.value)
@@ -782,7 +886,9 @@ electron.ipcRenderer.invoke('fetch-config-file-content').then((res) => {
formContent.value.strategyScopeOptionWhenMarkJobCityNotMatch =
res.config['boss.json']?.strategyScopeOptionWhenMarkJobCityNotMatch ??
StrategyScopeOptionWhenMarkJobNotMatch.ONLY_COMPANY_MATCHED_JOB
- formContent.value.strategyScopeOptionWhenMarkJobCityNotMatch =
+
+ // salary
+ formContent.value.expectSalaryCalculateWay =
res.config['boss.json'].expectSalaryCalculateWay ?? SalaryCalculateWay.MONTH_SALARY
formContent.value.expectSalaryNotMatchStrategy =
res.config['boss.json'].expectSalaryNotMatchStrategy ?? MarkAsNotSuitOp.NO_OP
@@ -792,6 +898,18 @@ electron.ipcRenderer.invoke('fetch-config-file-content').then((res) => {
formContent.value.expectSalaryLow = parseFloat(res.config['boss.json'].expectSalaryLow) || null
formContent.value.expectSalaryHigh = parseFloat(res.config['boss.json'].expectSalaryHigh) || null
ensureSalaryRangeCorrect()
+
+ // work exp
+ formContent.value.expectWorkExpList =
+ Array.isArray(res.config['boss.json'].expectWorkExpList) &&
+ res.config['boss.json'].expectWorkExpList.length
+ ? res.config['boss.json'].expectWorkExpList
+ : []
+ formContent.value.expectWorkExpNotMatchStrategy =
+ res.config['boss.json'].expectWorkExpNotMatchStrategy ?? MarkAsNotSuitOp.NO_OP
+ formContent.value.strategyScopeOptionWhenMarkJobWorkExpNotMatch =
+ res.config['boss.json'].strategyScopeOptionWhenMarkJobWorkExpNotMatch ??
+ StrategyScopeOptionWhenMarkJobNotMatch.ONLY_COMPANY_MATCHED_JOB
})
const formRules = {