feat 数据库问题修复

This commit is contained in:
Ironsp
2026-09-16 17:04:33 +08:00
parent edebda89fc
commit 4ea627c0c0
6 changed files with 25 additions and 19 deletions

View File

@@ -25,7 +25,7 @@ function onIconClick(name: string) {
}) })
} }
else { else {
console.log(`点击了${name}图标`) console.log(`点击了导航栏图标`)
} }
} }
</script> </script>
@@ -36,10 +36,10 @@ function onIconClick(name: string) {
<image class="nav-logo" src="/static/logo.png" mode="aspectFit" @tap="onIconClick('logo')" /> <image class="nav-logo" src="/static/logo.png" mode="aspectFit" @tap="onIconClick('logo')" />
<view class="nav-info"> <view class="nav-info">
<text class="nav-title"> <text class="nav-title">
{{ project?.project_name || '-----' }} {{ project?.project_name || '--' }}
</text> </text>
<text class="nav-subtitle"> <text class="nav-subtitle">
{{ project?.stake_range || '-----' }} {{ project?.stake_range || '--' }}
</text> </text>
</view> </view>
</view> </view>

View File

@@ -6,8 +6,8 @@ const props = defineProps<{
}>() }>()
const statusMap: Record<number, string> = { const statusMap: Record<number, string> = {
0: '未完成', 0: '已暂停',
1: '已完成', 1: '已结束',
2: '作业中', 2: '作业中',
} }

View File

@@ -10,9 +10,9 @@ defineProps<{
function getStatusText(status: number) { function getStatusText(status: number) {
const map: Record<number, string> = { const map: Record<number, string> = {
0: '未完成', 0: '已暂停',
1: '已结束', 1: '已结束',
2: '进行中', 2: '作业中',
} }
return map[status] || '未知' return map[status] || '未知'
} }

View File

@@ -13,17 +13,22 @@ definePage({
const db = useDbStore() const db = useDbStore()
const search = ref('') const search = ref('')
const activeTab = ref(0) // 0全部 1作业中 2已结束 const activeTab = ref(0) // 0全部 1作业中 2已暂停 3已结束
const tabs = ['全部', '作业中', '已结束'] const tabs = ['全部', '作业中', '已暂停', '已结束']
/** tab 下标对应项目 status:作业中=2,已暂停=0,已结束=1 */
const tabStatusMap: Record<number, 0 | 1 | 2> = {
1: 2,
2: 0,
3: 1,
}
const projects = computed(() => { const projects = computed(() => {
const keyword = search.value.trim().toLowerCase() const keyword = search.value.trim().toLowerCase()
const statusFilter = tabStatusMap[activeTab.value]
return db.project return db.project
.filter((item) => { .filter((item) => {
if (activeTab.value === 1 && item.status === 1) if (statusFilter !== undefined && item.status !== statusFilter)
return false
if (activeTab.value === 2 && item.status !== 1)
return false return false
if (keyword) { if (keyword) {
const name = (item.project_name || '').toLowerCase() const name = (item.project_name || '').toLowerCase()
@@ -135,6 +140,7 @@ onMounted(async () => {
.tabs { .tabs {
display: flex; display: flex;
flex-wrap: wrap;
gap: 12px; gap: 12px;
margin-top: 12px; margin-top: 12px;
} }

View File

@@ -33,7 +33,7 @@ export interface Project {
qualified_rate?: number // 压实合格率,默认 0 qualified_rate?: number // 压实合格率,默认 0
progress?: number // 完成进度,默认 0 progress?: number // 完成进度,默认 0
uncompacted_area?: number // 未压实面积 = 总面积 - 压实面积,默认 0 uncompacted_area?: number // 未压实面积 = 总面积 - 压实面积,默认 0
status: 0 | 1 | 2 // 项目状态,0:未完成,1:已完成,2:作业中, 默认0 status: 0 | 1 | 2 // 项目状态,0:已暂停,1:已结束,2:作业中,默认 0
created_at?: string // 创建时间,默认当前时间 created_at?: string // 创建时间,默认当前时间
updated_at?: string // 更新时间,默认当前时间 updated_at?: string // 更新时间,默认当前时间
} }
@@ -63,7 +63,7 @@ export async function selectById(id: number): Promise<Project | null> {
return DB.selectById(TABLE, id) return DB.selectById(TABLE, id)
} }
/** 按状态查询(0=进行中, 1=结束) */ /** 按状态查询(0=已暂停, 1=已完成, 2=作业中) */
export async function selectByStatus(status: 0 | 1): Promise<Project[]> { export async function selectByStatus(status: 0 | 1): Promise<Project[]> {
return DB.selectByField(TABLE, 'status', status) return DB.selectByField(TABLE, 'status', status)
} }

View File

@@ -3,7 +3,7 @@ import { insert as insertWorkRecord } from './workRecord'
/** /**
* 项目假数据 (6个) * 项目假数据 (6个)
* status: 0=未完成, 1=已完成, 2=作业中 * status: 0=已暂停, 1=已完成, 2=作业中
*/ */
async function seedProject() { async function seedProject() {
const data = [ const data = [
@@ -14,7 +14,7 @@ async function seedProject() {
total_area: 25000.0, total_area: 25000.0,
status: 2, status: 2,
}, },
// 未完成 (1个) // 已暂停 (1个)
{ {
project_name: '雄安新区市政道路', project_name: '雄安新区市政道路',
stake_range: 'A区 ~ C区', stake_range: 'A区 ~ C区',
@@ -55,7 +55,7 @@ async function seedProject() {
/** /**
* 当日工作记录假数据 * 当日工作记录假数据
* 仅作业中(1)和未完成(2)的项目各有3条 * 仅作业中和已暂停项目的各有3条
*/ */
async function seedWorkRecord() { async function seedWorkRecord() {
const data = [ const data = [
@@ -84,7 +84,7 @@ async function seedWorkRecord() {
compaction_area: 1520.0, compaction_area: 1520.0,
pass_count: 6, pass_count: 6,
}, },
// 项目2 (未完成) - 3条工作记录 // 项目2 (已暂停) - 3条工作记录
{ {
project_id: 2, project_id: 2,
start_time: '2026-09-15 08:00:00', start_time: '2026-09-15 08:00:00',
@@ -118,7 +118,7 @@ async function seedWorkRecord() {
/** /**
* RTK 轨迹假数据 * RTK 轨迹假数据
* 仅作业中和未完成项目的每个工作记录 120 条 * 仅作业中和已暂停项目的每个工作记录 120 条
*/ */
async function seedRtkTrack() { async function seedRtkTrack() {
const data: any[] = [] const data: any[] = []