feat 数据修改
This commit is contained in:
@@ -16,7 +16,6 @@
|
||||
"navigationBarTitleText": "Road-Roller"
|
||||
},
|
||||
"pages": [
|
||||
// GENERATED BY UNI-PAGES, PLATFORM: APP
|
||||
{
|
||||
"path": "pages/Ahome/index",
|
||||
"type": "home",
|
||||
@@ -121,7 +120,6 @@
|
||||
"color": "@tabFontColor",
|
||||
"selectedColor": "@tabSelectedColor",
|
||||
"list": [
|
||||
// GENERATED BY UNI-PAGES, PLATFORM: APP
|
||||
{
|
||||
"pagePath": "pages/Ahome/index",
|
||||
"text": "首页",
|
||||
|
||||
@@ -2,29 +2,50 @@ import DB from '@/utils/sqlite'
|
||||
import { insert as insertWorkRecord } from './workRecord'
|
||||
|
||||
/**
|
||||
* 插入项目假数据(3条)
|
||||
* 字段:project_name / stake_range / total_area / status(0未完成 1已完成 2进行中)
|
||||
* 项目假数据 (6个)
|
||||
* status: 0=未完成, 1=已完成, 2=作业中
|
||||
*/
|
||||
async function seedProject() {
|
||||
const data = [
|
||||
// 作业中 (1个)
|
||||
{
|
||||
project_name: '京雄高速河北段',
|
||||
stake_range: 'K1+000 ~ K5+500',
|
||||
total_area: 12500.0,
|
||||
total_area: 25000.0,
|
||||
status: 2,
|
||||
},
|
||||
// 未完成 (1个)
|
||||
{
|
||||
project_name: '雄安新区市政道路',
|
||||
stake_range: 'A区 ~ C区',
|
||||
total_area: 8600.5,
|
||||
total_area: 18600.5,
|
||||
status: 0,
|
||||
},
|
||||
// 已完成 (4个)
|
||||
{
|
||||
project_name: '白沟产业园场地',
|
||||
stake_range: '1号地块',
|
||||
total_area: 5200.0,
|
||||
status: 1,
|
||||
},
|
||||
{
|
||||
project_name: '大兴机场配套道路',
|
||||
stake_range: '北侧路段',
|
||||
total_area: 8800.0,
|
||||
status: 1,
|
||||
},
|
||||
{
|
||||
project_name: '保定城区改造工程',
|
||||
stake_range: '朝阳路 ~ 裕华路',
|
||||
total_area: 12000.0,
|
||||
status: 1,
|
||||
},
|
||||
{
|
||||
project_name: '沧州港区道路',
|
||||
stake_range: 'B区 ~ D区',
|
||||
total_area: 9500.0,
|
||||
status: 1,
|
||||
},
|
||||
]
|
||||
|
||||
for (const item of data) {
|
||||
@@ -33,36 +54,61 @@ async function seedProject() {
|
||||
}
|
||||
|
||||
/**
|
||||
* 插入作业记录假数据(3条)
|
||||
* 走 workRecord.insert,事务同步累加 project 汇总字段
|
||||
* 字段:project_id / start_time / end_time / duration / compaction_area / pass_count
|
||||
* 当日工作记录假数据
|
||||
* 仅作业中(1)和未完成(2)的项目各有3条
|
||||
*/
|
||||
async function seedWorkRecord() {
|
||||
const data = [
|
||||
// 项目1 (作业中) - 3条工作记录
|
||||
{
|
||||
project_id: 1,
|
||||
start_time: '2026-09-10 08:00:00',
|
||||
end_time: '2026-09-10 12:00:00',
|
||||
duration: 4,
|
||||
compaction_area: 1250.5,
|
||||
pass_count: 6,
|
||||
},
|
||||
{
|
||||
project_id: 1,
|
||||
start_time: '2026-09-10 13:00:00',
|
||||
end_time: '2026-09-10 17:30:00',
|
||||
start_time: '2026-09-15 07:30:00',
|
||||
end_time: '2026-09-15 12:00:00',
|
||||
duration: 4.5,
|
||||
compaction_area: 1680.0,
|
||||
compaction_area: 1850.0,
|
||||
pass_count: 8,
|
||||
},
|
||||
{
|
||||
project_id: 1,
|
||||
start_time: '2026-09-15 13:00:00',
|
||||
end_time: '2026-09-15 17:30:00',
|
||||
duration: 4.5,
|
||||
compaction_area: 1680.0,
|
||||
pass_count: 7,
|
||||
},
|
||||
{
|
||||
project_id: 1,
|
||||
start_time: '2026-09-14 08:00:00',
|
||||
end_time: '2026-09-14 12:00:00',
|
||||
duration: 4.0,
|
||||
compaction_area: 1520.0,
|
||||
pass_count: 6,
|
||||
},
|
||||
// 项目2 (未完成) - 3条工作记录
|
||||
{
|
||||
project_id: 2,
|
||||
start_time: '2026-09-09 07:30:00',
|
||||
end_time: '2026-09-09 11:30:00',
|
||||
duration: 4,
|
||||
compaction_area: 980.3,
|
||||
start_time: '2026-09-15 08:00:00',
|
||||
end_time: '2026-09-15 11:30:00',
|
||||
duration: 3.5,
|
||||
compaction_area: 1200.0,
|
||||
pass_count: 5,
|
||||
},
|
||||
{
|
||||
project_id: 2,
|
||||
start_time: '2026-09-15 13:30:00',
|
||||
end_time: '2026-09-15 17:00:00',
|
||||
duration: 3.5,
|
||||
compaction_area: 1100.0,
|
||||
pass_count: 5,
|
||||
},
|
||||
{
|
||||
project_id: 2,
|
||||
start_time: '2026-09-14 07:30:00',
|
||||
end_time: '2026-09-14 12:00:00',
|
||||
duration: 4.5,
|
||||
compaction_area: 1450.0,
|
||||
pass_count: 6,
|
||||
},
|
||||
]
|
||||
|
||||
for (const item of data) {
|
||||
@@ -71,95 +117,87 @@ async function seedWorkRecord() {
|
||||
}
|
||||
|
||||
/**
|
||||
* 插入 RTK 轨迹假数据(3条)
|
||||
* 字段:work_record_id / latitude / longitude / speed / heading / steel_wheel_temp / compaction_value / pass_count / qualified_rate
|
||||
* RTK 轨迹假数据
|
||||
* 仅作业中和未完成项目的每个工作记录 120 条
|
||||
*/
|
||||
async function seedRtkTrack() {
|
||||
const data = [
|
||||
{
|
||||
work_record_id: 1,
|
||||
latitude: 38.9697,
|
||||
longitude: 115.9697,
|
||||
speed: 5.1,
|
||||
heading: 90.0,
|
||||
steel_wheel_temp: 65.2,
|
||||
compaction_value: 92.3,
|
||||
pass_count: 3,
|
||||
qualified_rate: 92.3,
|
||||
},
|
||||
{
|
||||
work_record_id: 1,
|
||||
latitude: 38.9698,
|
||||
longitude: 115.9699,
|
||||
speed: 5.2,
|
||||
heading: 92.5,
|
||||
steel_wheel_temp: 66.0,
|
||||
compaction_value: 93.1,
|
||||
pass_count: 4,
|
||||
qualified_rate: 93.1,
|
||||
},
|
||||
{
|
||||
work_record_id: 2,
|
||||
latitude: 38.9712,
|
||||
longitude: 115.9712,
|
||||
speed: 4.7,
|
||||
heading: 180.0,
|
||||
steel_wheel_temp: 68.5,
|
||||
compaction_value: 95.0,
|
||||
pass_count: 5,
|
||||
qualified_rate: 95.0,
|
||||
},
|
||||
]
|
||||
const data: any[] = []
|
||||
|
||||
// 项目1 的工作记录 (id: 1, 2, 3) - 各120条
|
||||
for (let wrId = 1; wrId <= 3; wrId++) {
|
||||
const baseLat = 38.9697 + (wrId - 1) * 0.001
|
||||
const baseLng = 115.9697 + (wrId - 1) * 0.001
|
||||
for (let i = 0; i < 120; i++) {
|
||||
data.push({
|
||||
work_record_id: wrId,
|
||||
latitude: baseLat + (i * 0.00001),
|
||||
longitude: baseLng + (i * 0.00001),
|
||||
speed: 4.5 + Math.random() * 2,
|
||||
heading: (i * 3) % 360,
|
||||
steel_wheel_temp: 60 + Math.random() * 20,
|
||||
compaction_value: 85 + Math.random() * 15,
|
||||
pass_count: Math.floor(1 + Math.random() * 8),
|
||||
qualified_rate: 88 + Math.random() * 12,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
// 项目2 的工作记录 (id: 4, 5, 6) - 各120条
|
||||
for (let wrId = 4; wrId <= 6; wrId++) {
|
||||
const baseLat = 38.9750 + (wrId - 4) * 0.001
|
||||
const baseLng = 115.9750 + (wrId - 4) * 0.001
|
||||
for (let i = 0; i < 120; i++) {
|
||||
data.push({
|
||||
work_record_id: wrId,
|
||||
latitude: baseLat + (i * 0.00001),
|
||||
longitude: baseLng + (i * 0.00001),
|
||||
speed: 4.0 + Math.random() * 2.5,
|
||||
heading: (i * 3) % 360,
|
||||
steel_wheel_temp: 55 + Math.random() * 25,
|
||||
compaction_value: 82 + Math.random() * 18,
|
||||
pass_count: Math.floor(1 + Math.random() * 7),
|
||||
qualified_rate: 85 + Math.random() * 15,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
// 批量插入
|
||||
for (const item of data) {
|
||||
await DB.insert('rtk_track', item)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 插入告警记录假数据(3条)
|
||||
* 字段:project_id / device_name
|
||||
* exception_type(0数据中断 1高温异常 2定位异常)
|
||||
* exception_level(0提醒 1警告 2严重)
|
||||
* occurred_at / site_description / disposal_record
|
||||
* disposal_type(0未处理 1现场恢复 2需要保修) / is_read
|
||||
* 告警记录假数据
|
||||
* 每个项目 3 条,分别对应 3 种异常类型
|
||||
*/
|
||||
async function seedWarningRecord() {
|
||||
const data = [
|
||||
{
|
||||
project_id: 1,
|
||||
device_name: 'XS-65H',
|
||||
exception_type: 0,
|
||||
exception_level: 1,
|
||||
occurred_at: '2026-09-10 09:15:00',
|
||||
site_description: '设备上报数据中断超过 30 秒',
|
||||
disposal_record: '',
|
||||
disposal_type: 0,
|
||||
const devices = ['XS-65H-01', 'XS-65H-02', 'RTK-01', 'RTK-02']
|
||||
|
||||
const data: any[] = []
|
||||
const baseTime = new Date('2026-09-15T08:00:00')
|
||||
|
||||
// 每个项目 3 条告警
|
||||
for (let projectId = 1; projectId <= 6; projectId++) {
|
||||
for (let excType = 0; excType <= 2; excType++) {
|
||||
const occurTime = new Date(baseTime.getTime() + projectId * 3600000 + excType * 1800000)
|
||||
data.push({
|
||||
project_id: projectId,
|
||||
device_name: devices[excType],
|
||||
exception_type: excType,
|
||||
exception_level: excType === 2 ? 2 : excType === 1 ? 1 : 0,
|
||||
occurred_at: occurTime.toISOString().replace('T', ' ').slice(0, 19),
|
||||
site_description: excType === 0
|
||||
? '设备上报数据中断超过 30 秒'
|
||||
: excType === 1
|
||||
? '钢轮温度超过安全阈值 (85°C)'
|
||||
: 'RTK 定位信号丢失,无法获取有效坐标',
|
||||
disposal_record: excType === 2 ? '设备故障,已登记报修' : '',
|
||||
disposal_type: excType === 2 ? 2 : 0,
|
||||
is_read: 0,
|
||||
},
|
||||
{
|
||||
project_id: 2,
|
||||
device_name: 'XS-65H',
|
||||
exception_type: 1,
|
||||
exception_level: 2,
|
||||
occurred_at: '2026-09-09 10:20:00',
|
||||
site_description: '钢轮温度超过安全阈值',
|
||||
disposal_record: '现场降温后恢复作业',
|
||||
disposal_type: 1,
|
||||
is_read: 0,
|
||||
},
|
||||
{
|
||||
project_id: 1,
|
||||
device_name: 'RTK-01',
|
||||
exception_type: 2,
|
||||
exception_level: 0,
|
||||
occurred_at: '2026-09-10 14:05:00',
|
||||
site_description: 'RTK 定位信号丢失,无法获取有效坐标',
|
||||
disposal_record: '设备故障,已登记报修',
|
||||
disposal_type: 2,
|
||||
is_read: 1,
|
||||
},
|
||||
]
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
for (const item of data) {
|
||||
await DB.insert('warning_record', item)
|
||||
@@ -167,60 +205,74 @@ async function seedWarningRecord() {
|
||||
}
|
||||
|
||||
/**
|
||||
* 插入历史报告假数据(3条)
|
||||
* 字段:project_id / report_name / device_id / construction_area
|
||||
* start_time / end_time / duration / compaction_area / pass_count
|
||||
* qualified_rate / avg_speed / avg_paving_temp / avg_compaction / exception_count
|
||||
* 历史报告假数据
|
||||
* 每个已完成项目 (id: 3, 4, 5, 6) 各生成 1 份最终报告
|
||||
*/
|
||||
async function seedHistoryReport() {
|
||||
const data = [
|
||||
{
|
||||
project_id: 1,
|
||||
report_name: '京雄高速K1段碾压报告',
|
||||
device_id: 'XS-65H-001',
|
||||
construction_area: 'K1+000 ~ K1+500',
|
||||
start_time: '2026-09-10 08:00:00',
|
||||
end_time: '2026-09-10 12:00:00',
|
||||
duration: 4,
|
||||
compaction_area: 1250.5,
|
||||
project_id: 3,
|
||||
report_name: '白沟产业园场地 碾压报告',
|
||||
device_id: 'XS-65H-01',
|
||||
construction_area: '1号地块',
|
||||
start_time: '2026-09-12 07:30:00',
|
||||
end_time: '2026-09-12 17:00:00',
|
||||
duration: 9.5,
|
||||
compaction_area: 5200.0,
|
||||
pass_count: 6,
|
||||
qualified_rate: 96.5,
|
||||
avg_speed: 5.2,
|
||||
avg_paving_temp: 145.0,
|
||||
avg_compaction: 92.3,
|
||||
qualified_rate: 96.8,
|
||||
avg_speed: 5.1,
|
||||
avg_paving_temp: 148.0,
|
||||
avg_compaction: 93.2,
|
||||
exception_count: 2,
|
||||
},
|
||||
{
|
||||
project_id: 4,
|
||||
report_name: '大兴机场配套道路 碾压报告',
|
||||
device_id: 'XS-65H-02',
|
||||
construction_area: '北侧路段',
|
||||
start_time: '2026-09-11 07:30:00',
|
||||
end_time: '2026-09-11 17:30:00',
|
||||
duration: 10.0,
|
||||
compaction_area: 8800.0,
|
||||
pass_count: 7,
|
||||
qualified_rate: 97.5,
|
||||
avg_speed: 4.9,
|
||||
avg_paving_temp: 152.0,
|
||||
avg_compaction: 94.1,
|
||||
exception_count: 1,
|
||||
},
|
||||
{
|
||||
project_id: 1,
|
||||
report_name: '京雄高速K2段碾压报告',
|
||||
device_id: 'XS-65H-001',
|
||||
construction_area: 'K2+000 ~ K2+350',
|
||||
start_time: '2026-09-10 13:00:00',
|
||||
end_time: '2026-09-10 17:30:00',
|
||||
duration: 4.5,
|
||||
compaction_area: 1680.0,
|
||||
project_id: 5,
|
||||
report_name: '保定城区改造工程 碾压报告',
|
||||
device_id: 'XS-65H-03',
|
||||
construction_area: '朝阳路 ~ 裕华路',
|
||||
start_time: '2026-09-10 07:30:00',
|
||||
end_time: '2026-09-10 17:00:00',
|
||||
duration: 9.5,
|
||||
compaction_area: 12000.0,
|
||||
pass_count: 8,
|
||||
qualified_rate: 98.2,
|
||||
avg_speed: 4.8,
|
||||
avg_paving_temp: 150.0,
|
||||
avg_compaction: 95.1,
|
||||
exception_count: 0,
|
||||
qualified_rate: 95.2,
|
||||
avg_speed: 5.3,
|
||||
avg_paving_temp: 145.0,
|
||||
avg_compaction: 91.8,
|
||||
exception_count: 3,
|
||||
},
|
||||
{
|
||||
project_id: 2,
|
||||
report_name: '雄安市政道路碾压报告',
|
||||
device_id: 'XS-65H-002',
|
||||
construction_area: 'A区施工段',
|
||||
start_time: '2026-09-09 07:30:00',
|
||||
end_time: '2026-09-09 11:30:00',
|
||||
duration: 4,
|
||||
compaction_area: 980.3,
|
||||
pass_count: 5,
|
||||
qualified_rate: 94.0,
|
||||
avg_speed: 6.0,
|
||||
avg_paving_temp: 138.5,
|
||||
avg_compaction: 88.7,
|
||||
exception_count: 2,
|
||||
project_id: 6,
|
||||
report_name: '沧州港区道路 碾压报告',
|
||||
device_id: 'XS-65H-04',
|
||||
construction_area: 'B区 ~ D区',
|
||||
start_time: '2026-09-09 08:00:00',
|
||||
end_time: '2026-09-09 17:30:00',
|
||||
duration: 9.5,
|
||||
compaction_area: 9500.0,
|
||||
pass_count: 6,
|
||||
qualified_rate: 98.1,
|
||||
avg_speed: 4.7,
|
||||
avg_paving_temp: 150.0,
|
||||
avg_compaction: 95.3,
|
||||
exception_count: 0,
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user