mirror of
https://github.com/geekgeekrun/geekgeekrun.git
synced 2026-08-28 03:26:42 +08:00
add the view for display auto start chat record
This commit is contained in:
@@ -6,6 +6,7 @@ const { ViewEntity, ViewColumn } = requireTypeorm();
|
|||||||
user_info.name as userName,
|
user_info.name as userName,
|
||||||
chat_startup_log.date,
|
chat_startup_log.date,
|
||||||
boss_info.name AS bossName,
|
boss_info.name AS bossName,
|
||||||
|
boss_info.title AS bossTitle,
|
||||||
company_info.name AS companyName
|
company_info.name AS companyName
|
||||||
FROM
|
FROM
|
||||||
chat_startup_log
|
chat_startup_log
|
||||||
@@ -58,6 +59,9 @@ export class VChatStartupLog {
|
|||||||
@ViewColumn()
|
@ViewColumn()
|
||||||
bossName: string;
|
bossName: string;
|
||||||
|
|
||||||
|
@ViewColumn()
|
||||||
|
bossTitle: string;
|
||||||
|
|
||||||
@ViewColumn()
|
@ViewColumn()
|
||||||
companyName: string;
|
companyName: string;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -261,6 +261,6 @@ export default function initIpc () {
|
|||||||
|
|
||||||
ipcMain.handle('get-auto-start-chat-record', async () => {
|
ipcMain.handle('get-auto-start-chat-record', async () => {
|
||||||
const a = await getAutoStartChatRecord()
|
const a = await getAutoStartChatRecord()
|
||||||
console.log(a)
|
return a
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,10 +52,4 @@ onMounted(async () => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
electron.ipcRenderer.invoke('get-auto-start-chat-record').then(() => {
|
|
||||||
debugger
|
|
||||||
}, () => {
|
|
||||||
debugger
|
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -0,0 +1,77 @@
|
|||||||
|
<template>
|
||||||
|
<div class="page-wrap flex flex-col of-hidden">
|
||||||
|
<div class="flex-0"><el-button @click="getAutoStartChatRecord" :loading="isTableLoading">刷新</el-button></div>
|
||||||
|
<div class="flex-1 of-hidden" v-loading="isTableLoading">
|
||||||
|
<div ref="tableContainerEl" class="h-100% of-hidden">
|
||||||
|
<ElTable :data="tableData" :max-height="tableMaxHeight">
|
||||||
|
<ElTableColumn prop="companyName" label="公司" />
|
||||||
|
<ElTableColumn prop="jobName" label="职位名称" />
|
||||||
|
<ElTableColumn prop="positionName" label="职位分类" />
|
||||||
|
<ElTableColumn
|
||||||
|
prop="date"
|
||||||
|
label="开聊时间"
|
||||||
|
:formatter="(_row, _col, val) => dayjs(val).format('YYYY-MM-DD HH:mm:ss')"
|
||||||
|
/>
|
||||||
|
<ElTableColumn prop="experienceName" label="工作经验" />
|
||||||
|
<ElTableColumn
|
||||||
|
label="薪资"
|
||||||
|
:formatter="(row, _col, _val) => `${row.salaryLow}-${row.salaryHeight}k`"
|
||||||
|
/>
|
||||||
|
<ElTableColumn prop="bossName" label="BOSS" />
|
||||||
|
<ElTableColumn prop="bossTitle" label="BOSS身份" />
|
||||||
|
</ElTable>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { ref, onMounted, onUnmounted, onBeforeUnmount } from 'vue'
|
||||||
|
import { ElTable, ElTableColumn, ElButton } from 'element-plus'
|
||||||
|
import { useRouter } from 'vue-router'
|
||||||
|
import { type VChatStartupLog } from '@geekgeekrun/sqlite-plugin/src/entity/VChatStartupLog'
|
||||||
|
import dayjs from 'dayjs'
|
||||||
|
const router = useRouter()
|
||||||
|
|
||||||
|
const tableData = ref<VChatStartupLog[]>([])
|
||||||
|
|
||||||
|
const isTableLoading = ref(false)
|
||||||
|
async function getAutoStartChatRecord() {
|
||||||
|
try {
|
||||||
|
isTableLoading.value = true
|
||||||
|
const res = (await electron.ipcRenderer.invoke('get-auto-start-chat-record')) as {
|
||||||
|
data: VChatStartupLog[]
|
||||||
|
}
|
||||||
|
tableData.value = res.data
|
||||||
|
} catch (err) {
|
||||||
|
console.log(err)
|
||||||
|
tableData.value = []
|
||||||
|
} finally {
|
||||||
|
isTableLoading.value = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
getAutoStartChatRecord()
|
||||||
|
|
||||||
|
const tableMaxHeight = ref<number | undefined>(undefined)
|
||||||
|
const tableContainerEl = ref<HTMLElement>()
|
||||||
|
const setTableMaxHeight = () =>
|
||||||
|
(tableMaxHeight.value = tableContainerEl.value?.clientHeight ?? undefined)
|
||||||
|
onMounted(() => {
|
||||||
|
setTableMaxHeight()
|
||||||
|
const ro = new ResizeObserver(() => setTableMaxHeight())
|
||||||
|
ro.observe(tableContainerEl.value!)
|
||||||
|
onBeforeUnmount(() => {
|
||||||
|
ro.disconnect()
|
||||||
|
})
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.page-wrap {
|
||||||
|
margin: 0 auto;
|
||||||
|
max-width: 1000px;
|
||||||
|
max-height: 100vh;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -1,4 +1,16 @@
|
|||||||
<template><RouterView /></template>
|
<template>
|
||||||
|
<div class="flex h100vh">
|
||||||
|
<div class="flex flex-col w160px pt50px pl30px bg-#e8fffb">
|
||||||
|
<RouterLink to="./GeekAutoStartChatWithBoss">Boss炸弹</RouterLink>
|
||||||
|
<RouterLink to="./StartChatRecord">开聊记录</RouterLink>
|
||||||
|
</div>
|
||||||
|
<RouterView #default="{ Component }" class="flex-1">
|
||||||
|
<KeepAlive>
|
||||||
|
<component :is="Component" />
|
||||||
|
</KeepAlive>
|
||||||
|
</RouterView>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { onMounted, onUnmounted } from 'vue'
|
import { onMounted, onUnmounted } from 'vue'
|
||||||
|
|||||||
@@ -18,7 +18,14 @@ const routes: Array<RouteRecordRaw> = [
|
|||||||
path: 'GeekAutoStartChatWithBoss',
|
path: 'GeekAutoStartChatWithBoss',
|
||||||
component: () => import('@renderer/page/Configuration/GeekAutoStartChatWithBoss.vue'),
|
component: () => import('@renderer/page/Configuration/GeekAutoStartChatWithBoss.vue'),
|
||||||
meta: {
|
meta: {
|
||||||
title: '"BOSS炸弹" 设置'
|
title: 'BOSS炸弹'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'StartChatRecord',
|
||||||
|
component: () => import('@renderer/page/Configuration/StartChatRecord.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '开聊记录'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user