chore: initial commit of ai site platform

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
whm
2026-07-31 10:19:22 +08:00
commit 6366859bb3
222 changed files with 47313 additions and 0 deletions

2
test/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
.ai-code-tracker.json
_out/

29
test/README.md Normal file
View File

@@ -0,0 +1,29 @@
# test 联调素材(无代码)
本目录**只放某一业务的示例素材**,用于验证通用系统能否按上传内容还原。
**系统本身不绑定任何行业**;文案、图例、字段、坐标方向一律来自蓝图 / 上传,不写死在产品代码里。
```
test/
prompts/ 需求说明(研发对照)
refs/ 参考截图 + 页面 HTML
data/ 可上传数据 / 抓包
_out/ 临时验收截图(可删)
```
## 控制台怎么用
登录 → 上传下列素材 → 生成 → 发布 → 打开应用。换另一套业务时,只换素材,无需改系统代码。
| 素材 | 路径 |
|------|------|
| 数据 | `data/whm_articles.xlsx` / `whm_articles.csv` / `whm_articles.json`(企业官网文章样例,可导入模块 `whm` |
| 其它数据 | `data/url.config``data/chart_source.json` |
| 截图 | `refs/board_a.png``refs/board_b.png` |
| 页面源码 | `refs/nav.html``refs/dashboard.html` |
| 说明(可选) | `prompts/prompt.txt` + `prompts/prompt_1.txt` |
### 往已发布模块灌数
登录控制台 → 打开模块 `whm` → 文章列表 →「导入 Excel」→ 选 `data/whm_articles.xlsx`(或 `.csv`)。
字段:`title` / `content` / `status`(草稿|已发布)/ `created_at`

883
test/data/chart_source.json Normal file

File diff suppressed because one or more lines are too long

BIN
test/data/settlement.xlsx Normal file

Binary file not shown.

3506
test/data/url.config Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,9 @@
title,content,status,created_at
公司简介,我们是一家专注数字化转型的科技企业,服务覆盖官网建设、内容运营与品牌传播。,已发布,2026-07-01 09:00:00
产品发布:智能建站 2.0,全新版本支持模块化发布、草稿预览与 Excel 批量导入,帮助运营团队更快上线页面。,已发布,2026-07-10 14:30:00
客户案例:华东制造企业官网升级,通过内容管理模块,客户将资讯更新效率提升 3 倍,并统一了品牌视觉规范。,已发布,2026-07-15 11:20:00
招聘:前端工程师,负责业务后台与生成式页面渲染,要求熟悉 React / TypeScript。,草稿,2026-07-18 16:05:00
行业洞察2026 官网内容运营趋势,结构化内容、可复用模块与 AI 辅助撰稿正在成为企业官网标配能力。,草稿,2026-07-20 10:12:00
活动预告:线上产品开放日,本周五 14:00 直播演示一键生成与发布流程,欢迎报名。,已发布,2026-07-22 08:45:00
服务条款更新说明,我们对隐私政策与服务条款进行了修订,请查阅最新版本。,已发布,2026-07-23 17:00:00
未命名草稿,待补充正文与配图后发布。,草稿,2026-07-24 09:30:00
1 title content status created_at
2 公司简介 我们是一家专注数字化转型的科技企业,服务覆盖官网建设、内容运营与品牌传播。 已发布 2026-07-01 09:00:00
3 产品发布:智能建站 2.0 全新版本支持模块化发布、草稿预览与 Excel 批量导入,帮助运营团队更快上线页面。 已发布 2026-07-10 14:30:00
4 客户案例:华东制造企业官网升级 通过内容管理模块,客户将资讯更新效率提升 3 倍,并统一了品牌视觉规范。 已发布 2026-07-15 11:20:00
5 招聘:前端工程师 负责业务后台与生成式页面渲染,要求熟悉 React / TypeScript。 草稿 2026-07-18 16:05:00
6 行业洞察:2026 官网内容运营趋势 结构化内容、可复用模块与 AI 辅助撰稿正在成为企业官网标配能力。 草稿 2026-07-20 10:12:00
7 活动预告:线上产品开放日 本周五 14:00 直播演示一键生成与发布流程,欢迎报名。 已发布 2026-07-22 08:45:00
8 服务条款更新说明 我们对隐私政策与服务条款进行了修订,请查阅最新版本。 已发布 2026-07-23 17:00:00
9 未命名草稿 待补充正文与配图后发布。 草稿 2026-07-24 09:30:00

View File

@@ -0,0 +1,53 @@
{
"entity": "article",
"items": [
{
"title": "公司简介",
"content": "我们是一家专注数字化转型的科技企业,服务覆盖官网建设、内容运营与品牌传播。",
"status": "已发布",
"created_at": "2026-07-01 09:00:00"
},
{
"title": "产品发布:智能建站 2.0",
"content": "全新版本支持模块化发布、草稿预览与 Excel 批量导入,帮助运营团队更快上线页面。",
"status": "已发布",
"created_at": "2026-07-10 14:30:00"
},
{
"title": "客户案例:华东制造企业官网升级",
"content": "通过内容管理模块,客户将资讯更新效率提升 3 倍,并统一了品牌视觉规范。",
"status": "已发布",
"created_at": "2026-07-15 11:20:00"
},
{
"title": "招聘:前端工程师",
"content": "负责业务后台与生成式页面渲染,要求熟悉 React / TypeScript。",
"status": "草稿",
"created_at": "2026-07-18 16:05:00"
},
{
"title": "行业洞察2026 官网内容运营趋势",
"content": "结构化内容、可复用模块与 AI 辅助撰稿正在成为企业官网标配能力。",
"status": "草稿",
"created_at": "2026-07-20 10:12:00"
},
{
"title": "活动预告:线上产品开放日",
"content": "本周五 14:00 直播演示一键生成与发布流程,欢迎报名。",
"status": "已发布",
"created_at": "2026-07-22 08:45:00"
},
{
"title": "服务条款更新说明",
"content": "我们对隐私政策与服务条款进行了修订,请查阅最新版本。",
"status": "已发布",
"created_at": "2026-07-23 17:00:00"
},
{
"title": "未命名草稿",
"content": "待补充正文与配图后发布。",
"status": "草稿",
"created_at": "2026-07-24 09:30:00"
}
]
}

BIN
test/data/whm_articles.xlsx Normal file

Binary file not shown.

100
test/prompts/prompt.txt Normal file
View File

@@ -0,0 +1,100 @@
# AI 建站 — 通用生成提示词(框架层 · 研发对照)
#
# 控制台用户不必粘贴本文件。同等规则由 ai-service/generation_rules.py 在生成时自动注入。
# 用法:框架(本文件)+ 可选领域说明(如 prompts/prompt_1.txt+ 数据 + 截图 + 可选 HTML。
# 素材见 test/全部操作在系统控制台完成test 目录不含脚本。
你是业务前端生成器。
输入:用户需求 + 可选数据Excel/CSV/JSON+ 可选界面截图 + 可选页面 HTML/MHTML。
输出:可发布的 App Blueprintentities / apis / pages / widgets以及按蓝图渲染的业务页。
## 1. 分层(禁止写死行业)
- 本文件只约束「怎么生成」,不绑定任何行业文案。
- 行业细节(字段含义、筛选选项、图表系列名、告警规则、业务标题)只来自:
用户文字 / 领域说明 / 数据表头与枚举 / 截图 / HTML。
- 没有材料时:用通用标题(列表 / 新增 / 看板 / 趋势图 / 状态 / 明细),禁止臆造路基、桥梁、沉降等词。
## 2. 视觉真源优先级
有截图或 HTML且用户未声明「不要还原截图」时
- `meta.ui_preset = screenshot_faithful`
- dashboard `layout.preset = screenshot_faithful`
- **文案与控件名**HTML > 用户文字 > 截图理解
- **分区与配色**:截图 > HTML
- 未点名修改处必须与原图一致;禁止改成绿主题通用 CRUD 壳。
无截图无 HTML严格按用户文字 + 数据字段生成,勿套默认「记录列表 / 概览」。
## 2.1 生成闭环(有截图时服务端自动跑)
1. **视觉模型**理解参考截图 → 结构化摘录
2. **代码模型**生成/润色蓝图(写入 meta.ui 等)
3. 用蓝图生成「界面计划」+ 可选壳层预览截图
4. **视觉模型**对照原图打分并列出差异fails
5. **代码模型**按 fails 改蓝图 → 回到第 3 步
6. 直到还原度 ≥ 95%(或达到最大轮次)
目标分与轮次:环境变量 `FIDELITY_TARGET`(默认 95、`FIDELITY_MAX_ROUNDS`(默认 4`FIDELITY_LOOP=0` 可关闭。
## 3. 蓝图里必须写全的展示元信息meta
生成时尽量填齐(有则写,无则空,禁止编造):
| 字段 | 含义 |
|------|------|
| `meta.name` | 系统名称(顶栏居中) |
| `meta.platform_title` | 平台抬头(顶栏左侧) |
| `meta.project_context` | 筛选条左侧工程/业务上下文 |
| `meta.ui_preset` | `screenshot_faithful` 或 `default` |
| `meta.ui.nav_items` | 次级导航页签原文(可多于实际 pages |
| `meta.ui.shell_links` | 顶栏右侧链(如 欢迎您 / 系统首页 / 退出 / 帮助) |
| `meta.ui.filter_radios` / `section_options` | 筛选单选选项(不含「全部」) |
| `meta.ui.radio_field` | 单选绑定字段(常为分类 enum 字段) |
| `meta.ui.select_field` | 下拉绑定字段(如工点/门店) |
| `meta.ui.filter_hint` | 筛选条右侧提示(常为红色短句) |
| `meta.ui.chart_side_label` / `strip_side_label` / `table_side_label` | 左侧竖排分区标签 |
| `meta.ui.table_title` | 表区横标题 |
| `meta.ui.stats_left_label` / `stats_right_label` | 统计文案(如 断面/测点、分组/记录) |
| `meta.ui.table_headers` | 表头原文(优先于字段名) |
用户文字里推荐用固定句式(便于解析):
```
平台抬头:……
系统名称:……
推荐 slug`snake_case`
工程上下文:……
单选:全部 / A / B / C
操作:新增、刷新、导入 Excel、导出 Excel
点击……查看……
```
## 4. 数据 → 表结构
- Excel/CSV表头 → 字段;类型推断;**低基数**才做 enum。
- JSON
- `list[object]` → 一张表
- 多个 `list[object]` 顶层键 → 多表
- 并行数组图表 JSON → 先展成行表,再按共用键拆关联表
- 标识符一律 `snake_case`。
- 高基数字段(编号、编码、颜色、时间戳)不要做成 enum。
- 全量导入:识别到的行数应可完整导入;校验失败只记错误,不中断整批。
## 5. 页面与 widgets
- RESTlist/get/create/update/delete/import/export。
- 列表:`columns` + `filters` + `actions` + `action_labels`(按钮原文)。
- 看板 widgets 按材料取舍,常见组合:
- `line_chart` / `bar_chart`(多系列 metrics + x_field
- `status_strip`label_field / value_field双段条时加 secondary_field + variant=stacked_days + cycle_days
- `table`columns + 可选 filter_field/op/value
- `kpi` / `pie_chart`(无截图忠实要求时可用;有截图主区时勿用 KPI 顶栏破坏布局)
- 字段 `label` 用中文业务名;图表图例显示 label不显示裸字段名。
## 6. 禁止
- 没有材料时编造行业专用字段或筛选项。
- 忽略截图/HTML 另起一套后台壳。
- 把所有应用统一成同一种列表模板。
- 发布后丢掉 `meta.ui*`(平台必须原样保留这些字段)。

110
test/prompts/prompt_1.txt Normal file
View File

@@ -0,0 +1,110 @@
# 领域说明包沉降变形观测信息系统prompt_1
#
# 与 prompts/prompt.txt 通用框架配合:先框架,再本文件。
# 在系统控制台粘贴本文件(或等价要点),并上传:
# data/settlement.xlsx 或 data/url.config + refs 截图 + refs/*.html
# 解析与发布均在系统内完成,勿依赖 test 下本地脚本。
## 参考截图状态(必读)
- `refs/board_a.png` 与 `refs/board_b.png` 为**同一看板页**的两种状态,不是两个不同页面。
- 一张为**展开态**(主图 + 按时测量监督条 + 超限表均可见),一张为**收起态**(监督条/侧栏或底部区收起后的布局)。
- 还原时按**同一页面**理解:合并两图信息,以**展开态为完整布局基准**;收起态仅作交互/控件对照,勿拆成两个独立页面或两套布局。
平台抬头:铁路工程管理平台
系统名称:沉降变形观测信息系统
推荐 slug`settlement_observation_system`
工程上下文:川藏铁路雅林段 CZXZZQ-14标断面/测点数量以实际上传数据为准)
单选:全部 / 路基 / 桥梁 / 隧道 / 过渡段
操作:新增、刷新、导入 Excel、导出 Excel
点击沉降观测点查看测量信息
## 数据
- 可接受Excel / CSV / JSON含 `mcljChartData` + `cljdChartData` 并行数组)。
- 也可上传首页抓包 `url.config`key=接口 URLvalue=回包):
1. `left!newleftmenu` → 次级导航
2. `hightchartCjlAndJianDu` → 主图+监督条数据(必填)
3. `aaa` → 统计计数(可空/全 0
4. `hightchartGonghouCjlCX` → 工后超限表;**若 value 为空**,超限表由主图数据按 `exceed_mm>0` 推导,不报错中断。
- 主表字段snake_case有则用、无则按表头推断
`dkilo`, `chainage`, `point_code`, `section_type`, `worksite`,
`cjl_value`, `cjl_color`, `design_settlement_mm`, `cum_settlement_mm`,
`pred_settlement_mm`, `exceed_mm`, `exceed_days`, `supervise_days`,
`overdue_days`, `before_day`, `next_day`, `frequency`, `workinfo_kilo`, `status`
- 筛选绑定:单选 → `section_type`;下拉 → `worksite`。
- 导入须全量;校验失败只记错误,不得中断整批。
## 展示页screenshot_faithful对齐参考截图
### 顶栏
- 左:铁路工程管理平台
- 中:沉降变形观测信息系统
- 右:欢迎您、系统首页、退出、帮助(另保留返回控制台)
### 次级导航(写入 meta.ui.nav_items可多于实际功能页
记录汇总、关注信息、断面测点、工作基点、预设水准线路、水准线路、设计沉降量、断链信息、观测人员、仪器设备、测点筛选;
并保证可进入:记录汇总(列表)、新增测点(表单)、沉降变形观测(看板)。
### 列表页
- 筛选:全部 / 路基 / 桥梁 / 隧道 / 过渡段;工点下拉;状态可选。
- 列:里程、工点、测点、断面类型、设计沉降、累积沉降、超限量、状态。
### 看板(纵向三区 + 左侧竖标签)
1. 纵断面沉降示意图:`line_chart`X=`chainage`;系列=观测值/设计总沉降/累积沉降/预测沉降;可横向滚动。
2. 按时测量监督(天)`status_strip`**双段竖条**(不要单色数字格)
- label=`chainage`(条上不显示里程文字,里程在上图轴)
- `value_field`=`before_day`(上段灰色天数)
- `secondary_field`=`next_day`(下段绿色天数)
- `variant`=`stacked_days``cycle_days`=30
- 说明:`before_day`/`next_day` 源数据多为百分比和≈100展示时换算成周期内天数例如 14.29/85.71 → 上 4 / 下 26停测格显示「停」。
- 侧栏竖标签:按时测量监督(天)
3. 工点下的沉降量超限测点:`table`;列=工点、测点、设计总沉降量(mm)、累积沉降量(mm)、超限量(mm)、累计天数(天)`exceed_mm > 0`。
- 侧栏竖标签:沉降量超限工点
筛选条展示:工程上下文 + 断面/测点统计 + 单选 + 工点下拉 + 红色提示「点击沉降观测点查看测量信息」。
## 规则
- 超限:`exceed_mm > 0` 或状态为「超限」。
- 不要用「记录列表 / 概览 / 数据管理」替代上述业务标题。
- 不要把里程、测点编号、颜色推断成 enum。
- 有截图/HTML 时未点名修改处必须与原图一致。
## 截图视觉摘录(由 DashScope 视觉模型根据参考截图生成,生成时可与上文合并理解)
> 两图为同页展开/收起态;以下文案以展开态为主,收起态仅补充可见文案与控件。
### 顶栏
- 左侧平台抬头:铁路工程管理平台 Railway Engineering Management Platform
- 中间系统名:沉降变形观测信息系统
- 右侧链接原文:欢迎您、退出、帮助
### 次级导航
- 页签原文:沉降观测、记录汇总、关注信息、断面测点、工作基点、预设水准线路、水准线路、设计沉降量、断链信息、观测人员、仪器设备、测点筛选
### 筛选条
- 工程上下文原文:川藏铁路雅林段 CZSCZQ-6 断面:290个 测点: 929个
- 统计文案:断面:290个 测点: 929个
- 单选选项原文:全部、路基、桥涵、隧道、过渡段
- 下拉标签原文:工点: --请选择--
- 右侧红色提示原文:点击沉降断面点查看测量信息
### 主图区
- 左侧竖排标签原文:纵断面沉降示意图
- 图例系列名原文:路基断面累计沉降量、桥涵断面累计沉降量、隧道断面累计沉降量、设计总沉降量曲线
- 图表类型与坐标含义:折线/柱状混合图。纵轴为沉降量(-50mm 至 100mm横轴为里程桩号DK300+698 至 DK301+798
### 监督/状态条
- 左侧竖排标签原文:按时测量监督 (天)
- 形态:**上灰下绿双段竖条**(非单色数字格);上段灰为已耗/逾期类天数,下段绿为剩余天数;可出现整格「停」
- 数据字段:`before_day` + `next_day`常为百分比和≈100→ `variant=stacked_days``cycle_days=30`(例 14.29/85.71 → 上4/下26
- 条上是否显示里程文字:否(里程在上方主图横轴);条与主图滚动对齐
### 表格区
- 左侧竖排标签:沉降量超限工点 (未)
- 表头横标题:工点下的沉降量超限测点
- 列名原文:序号、工点、测点、设计总沉降量(mm)、累积沉降量(mm)、超限量(mm)、累计天数(天)
### 操作按键
- 操作:客服、电话、点击隐藏

BIN
test/refs/board_a.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

BIN
test/refs/board_b.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

1070
test/refs/dashboard.html Normal file

File diff suppressed because it is too large Load Diff

658
test/refs/nav.html Normal file
View File

@@ -0,0 +1,658 @@
<!DOCTYPE html>
<!-- saved from url=(0117)https://apps.r93535.com/cjgc/riskcontrol/subsidence/statisticsindex!gotoIndexBiaoduanPage.action?type=4&managerFlag=0 -->
<html style="display: block;"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=uft-8">
<meta name="keywords" content="">
<meta name="description" content="">
<title>沉降变形观测信息系统</title>
<link rel="stylesheet" href="./沉降变形观测信息系统_files/base.css" type="text/css">
<link rel="stylesheet" href="./沉降变形观测信息系统_files/styles.css" type="text/css">
<script src="./沉降变形观测信息系统_files/jquery.js.下载" type="text/javascript"></script>
<!--[if IE 6]>
<script type="text/javascript" src="theme/default/js/correctPNG.js"></script>
<![endif]-->
<!-- 以下是jQuery的引用 -->
<script src="./沉降变形观测信息系统_files/jquery-1.10.2.min.js.下载" type="text/javascript"></script>
<link href="./沉降变形观测信息系统_files/jquery-ui-1.10.3.custom.min.css" type="text/css" rel="stylesheet">
<script src="./沉降变形观测信息系统_files/jquery-ui-1.10.3.custom.min.js.下载" type="text/javascript"></script>
<script src="./沉降变形观测信息系统_files/jquery.MultiFile.js.下载" type="text/javascript"></script>
<script src="./沉降变形观测信息系统_files/jquery-1.3.2.min.js.下载" type="text/javascript"></script>
<link href="./沉降变形观测信息系统_files/jquery.validate.css" type="text/css" rel="stylesheet">
<script src="./沉降变形观测信息系统_files/jquery.validate.js.下载" type="text/javascript"></script>
<script src="./沉降变形观测信息系统_files/jquery-ui-1.7.1.custom.min.js.下载" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="./沉降变形观测信息系统_files/jquery-ui-1.7.1.custom.css">
<script src="./沉降变形观测信息系统_files/WdatePicker.js.下载" type="text/javascript"></script><link href="./沉降变形观测信息系统_files/WdatePicker.css" rel="stylesheet" type="text/css">
<script src="./沉降变形观测信息系统_files/BubbleTooltips.js.下载" type="text/javascript"></script>
<script src="./沉降变形观测信息系统_files/gzmetro.js.下载"></script>
<script src="./沉降变形观测信息系统_files/textselect.js.下载" type="text/javascript"></script></head><body style="background-color: rgb(255, 255, 255);" scroll="no" class="objbody"><div id="SELECT_DIV_" style="position: absolute;cursor: default;border: 1px solid #B2B2B2;background-color: #fff;display: none;font-size:12px;"></div><div id="NODE_DIV_" style="position: absolute;cursor: default;border: 1px solid #B2B2B2;background-color:#ffffd9;display: none;font-size:12px;overflow-x:auto;word-wrap:break-word"></div>
<link href="./沉降变形观测信息系统_files/bt.css" type="text/css" rel="stylesheet">
<script src="./沉降变形观测信息系统_files/aofsoft.js.下载" type="text/javascript"></script>
<script src="./沉降变形观测信息系统_files/textselect(1).js.下载" type="text/javascript"></script>
<script type="text/javascript" src="./沉降变形观测信息系统_files/jquery.min.js.下载"></script>
<script type="text/javascript" src="./沉降变形观测信息系统_files/tootip.js.下载"></script>
<link href="./沉降变形观测信息系统_files/menu_style.css" rel="stylesheet" type="text/css">
<style type="text/css">
html,body {
padding: 0;
margin: 0;
}
#leftMain h3 {
cursor: pointer;
}
.upimageMenu {
background: url("/cjgc/theme/default/images/bootstrapimg.png")
no-repeat scroll -455px -70px;
}
.downimageMenu {
background: url("/cjgc/theme/default/images/bootstrapimg.png")
no-repeat scroll -312px -117px;
}
.sunmenuColor {
background: turquoise;
}
#header {
margin: 0;
height: 60px;
width: 100%;
min-width: 1050px;
background: #1b437e;
border-bottom: 1px solid #fff;
}
#header .logo {
float: left;
line-height: 1px;
height: 60px;
}
#header .topnav {
/* float: right; */
height: 24px;
padding: 18px 0;
font: 12px/24px "Microsoft YaHei";
padding-right: 15px;
text-align: right;
}
#header .topnav a {
color: #fff;
padding: 0 15px;
}
#header .topnav a.yh {
background: url(../images/pic-2.gif) no-repeat left center;
padding: 0 15px 0 18px;
}
#header .topnav a.help {
background: url(../images/pic-3.gif) no-repeat left center;
padding: 0 15px 0 18px;
}
.STYLE1 {
color: #FF0000;
cursor: pointer;
}
.STYLE4 {
color: #3333CC;
}
.menuSelect {
background-color: #3300FF;
padding: 0;
}
#content {
font-weight: bold;
font-size: 13px;
height: 23px;
}
input{
margin: 0;
}
</style>
<style>
.ant-row {
content: '';
position: fixed;
z-index: 2147483647;
width: 38px;
height: 38px;
text-align: center;
right: 35px;
cursor: pointer;
font-size: 12px;
bottom: calc(23vh - 56px);
background-color: #dae0e6;
}
.ant-row:hover {
color: #1890ff;
}
.telC {
display: flex;
align-items: center;
}
#zc__sdk__sys__btn::before {
content: '';
display: block;
width: 34px;
height: 34px;
position: absolute;
top: 5px;
left: 14px;
background: url(/cjgc//images/zckf/kf.png) no-repeat;
}
#zc__sdk__sys__btn:hover {
color: #1890ff;
}
#zc__sdk__sys__btn::after {
content: '客服';
display: block;
width: 50px;
position: absolute;
bottom: 5px;
font-size: 12px;
left: 0;
}
#zc__sdk__sys__btn {
background-color: #dae0e6;
bottom: 23vh !important;
right: 35px !important;
}
#zc__sdk__sys__btn>div {
display: none;
}
#close_hidden {
content: '';
position: fixed;
z-index: 2147483647;
width: 50px;
height: 25px;
line-height: 25px;
text-align: center;
right: 35px;
font-size: 10px;
cursor: pointer;
bottom: calc(23vh - 88px);
background-color: #dae0e6;
}
#close_hidden:hover {
color: #1890ff
}
#close_customer {
content: '';
position: fixed;
z-index: 2147483647;
width: 30px;
height: 30px;
text-align: center;
right: -10px;
cursor: pointer;
background: url(/cjgc//images/zckf/yc.png) no-repeat;
bottom: calc(23vh - 130px);
background-size: 100%;
}
.tool-tip-box {
display: flex;
align-items: center;
z-index: 2147483647;
}
.tip_table {
font-size:12px;
border:1px solid #000000;
text-align: left;
width: 100%;
line-height: 25px;
background-color: #fff;
}
</style>
<script type="text/javascript">
function reLogin() {
if (window.confirm("您确定要\"退出系统\"吗?")) {
$.ajax({
type : "POST",
url : "/cjgc/riskbase/userinfo!logout.action",
success : function(msg) {
if (msg == "true") {
/* window.open('', '_top');
window.top.close(); */
window.opener=null;
window.open('','_self');
window.close();
}
}
});
}
}
</script>
<div>
<div id="close_customer_tel">
<div class="ant-row" style="text-align: center; padding: 6px;">
<img width="22px" height="22px" src="./沉降变形观测信息系统_files/tel.png">
<div style="margin-top: 1px">电话</div>
</div>
</div>
<div id="close_hidden" onclick="clickHandle(&#39;1&#39;)">
<div>点击隐藏</div>
</div>
<div>
<div id="close_customer" onclick="clickHandle(&#39;2&#39;)" style="display: none;"></div>
</div>
</div>
<div id="header">
<div class="logo">
<img src="./沉降变形观测信息系统_files/logo.jpg">
</div>
<div class="topnav">
<a>欢迎您</a>
<img src="./沉降变形观测信息系统_files/ico02.gif">
<a id="username">韩双虎</a>
<a href="javascript:reLogin();">退出</a>
<a href="https://apps.r93535.com/cjgc/help/helppdf.jsp" target="_blank">帮助</a>
</div>
</div>
<div class="nav" id="myContent">
<table style="width: 100%">
<tbody><tr>
<td style="width: 200px"> <!-- 沉降信息img -->
<!-- 应用管理员隐藏首页 3 应用管理员 2 普通用户 -->
<div class="home1" id="home1">
<a class="menuSelect" onclick="toChildrenPage(this)" style="display: block; height: 35px;" data="/cjgc/riskcontrol/subsidence/statisticsindex-projectSectionIndexM.action?type=4">
<img src="./沉降变形观测信息系统_files/pic-1.png" style="cursor: pointer; margin: 0">
</a>
</div> <!-- 一级菜单begin-->
</td>
<td>
<div class="table" id="leftMain"><ul class="select"><li id="FUN12141"><a onclick="toChildrenPage(this)" data="/cjgc/riskcontrol/subsidence/section-treecdjlhz.action?funmenuId=12141" target="mainFrame">记录汇总 </a></li><li id="FUN12175"><a onclick="toChildrenPage(this)" data="/cjgc/riskcontrol/subsidence2018/alertdispose!list.action?funmenuId=12175" target="mainFrame">关注信息 </a></li><li id="FUN12120"><a onclick="toChildrenPage(this)" data="/cjgc/riskcontrol/subsidence/section!list.action?funmenuId=12120" target="mainFrame">断面测点 </a></li><li id="FUN12060"><a onclick="toChildrenPage(this)" data="/cjgc/riskcontrol/subsidence/workbasepoint-treelist.action?funmenuId=12060" target="mainFrame">工作基点 </a></li><li id="FUN12138"><a onclick="toChildrenPage(this)" data="/cjgc/riskcontrol/subsidence/levelingline-treelist.action?funmenuId=12138" target="mainFrame">预设水准线路 </a></li><li id="FUN12156"><a onclick="toChildrenPage(this)" data="/cjgc/riskcontrol/subsidence/subresultnew!levellinetreelist.action?flagLevelinfo=Y&amp;funmenuId=12156" target="mainFrame">水准线路 </a></li><li id="FUN12132"><a onclick="toChildrenPage(this)" data="/cjgc/riskcontrol/subsidence/subdesign-tree.action?typeView=1&amp;funmenuId=12132" target="mainFrame">设计沉降量 </a></li><li id="FUN12104"><a onclick="toChildrenPage(this)" data="/cjgc/riskcontrol/subsidence/brkchain-treelist.action?funmenuId=12104" target="mainFrame">断链信息 </a></li><li id="FUN12137"><a onclick="toChildrenPage(this)" data="/cjgc/riskcontrol/subsidence/subsurveyor-centertree.action?funmenuId=12137" target="mainFrame">观测人员 </a></li><li id="FUN12134"><a onclick="toChildrenPage(this)" data="/cjgc/riskcontrol/subsidence/subdevice!tree.action?funmenuId=12134" target="mainFrame">仪器设备 </a></li><li id="FUN12164"><a onclick="toChildrenPage(this)" data="/cjgc/riskcontrol/subsidence/checkpoint!filterpoint.action?flag=cdsx&amp;funmenuId=12164" target="mainFrame">测点筛选 </a></li></ul></div>
</td>
</tr>
</tbody></table>
<!-- 一级菜单begin-->
</div>
<div style="clear: both;"></div>
<!-- 下拉列表页begin ronglj-->
<div class="middle sel" id="content" style="width: auto;">
<input type="hidden" name="projectSectionId" id="projectSectionId" value="11364">
<input type="hidden" name="projectInfoId" id="projectInfoId" value="1043">
<input type="hidden" name="projectSectName" id="projectSectName" value="CZXZZQ-14B">
<span class="STYLE1"></span><strong>川藏铁路雅林段</strong>&nbsp;&nbsp;
<span class="STYLE1"></span><strong>CZXZZQ-14B</strong>&nbsp;&nbsp;
<span id="sectionAndPoint">
<strong>断面:</strong><strong>347个</strong>&nbsp;&nbsp;<strong>测点:</strong><strong>
1293个</strong>&nbsp;&nbsp;
</span>
<span id="gdinfoDiv">
<label><input type="radio" name="structtype" value="0" checked="checked" onclick="changeZhuanye();"><strong>全部</strong>&nbsp;&nbsp;</label><label id="structtype"><input type="radio" name="structtype" value="3" onclick="changeZhuanye();"><strong>路基</strong></label>&nbsp;&nbsp;<label><input type="radio" name="structtype" value="4" onclick="changeZhuanye();"><strong>桥涵</strong></label>&nbsp;&nbsp;<label><input type="radio" name="structtype" value="5" onclick="changeZhuanye();"><strong>隧道</strong></label>&nbsp;&nbsp;<label><input type="radio" name="structtype" value="6" onclick="changeZhuanye();"><strong>过渡段</strong></label>&nbsp;&nbsp;<span id="gdspan"><label><strong>工点:</strong><select name="projectSiteSelect" id="projectSite" onchange="changeProjectsite();"><option value="0">--请选择--</option><option value="233607">色沟1号特大桥</option><option value="233611">区间路基D2K790+021.735D2K790+279.992</option><option value="233608">色沟2号特大桥</option><option value="233612">区间路基D2K795+331.675D2K795+406.16</option><option value="233609">色沟3号特大桥</option><option value="233613">区间路基D2K796+792.774D2K796+944.031</option><option value="233610">汪布曲特大桥</option></select></label><span id="zyimgTuli"><label><span class="STYLE1">点击沉降断面点查看测量信息 </span></label></span></span>
<!-- 以上代码请勿格式化否则低版本360浏览器会出现很多的多余空格造成样式混乱 -->
<!-- 中心人员标示, 1是中心用户2是建设单位用户3是标段用户5是工区用户 -->
<!-- <span id="sectionDivNew">
<label>
<span class="STYLE4">断面</span>
<select name="sectionSelect" id="section" onchange="changeSectionBySelect();">
</select>
</label>
</span> -->
</span>
</div>
<!-- 下拉列表页end ronglj-->
<div id="mainFramediv" style="overflow: hidden; height: 791px;">
<iframe name="mainFrame" id="mainFrame" src="./沉降变形观测信息系统_files/statisticsindex-projectSectionIndexM.html" frameborder="false" allowtransparency="yes" scrolling="auto" style="border-width: medium; border-style: none; border-color: currentcolor; border-image: none; height: 791px;" width="100%">
</iframe>
</div>
<div style="clear: both;"></div>
<script type="text/javascript">
if (!Array.prototype.map)
Array.prototype.map = function(fn, scope) {
var result = [], ri = 0;
for ( var i = 0, n = this.length; i < n; i++) {
if (i in this) {
result[ri++] = fn.call(scope, this[i], i, this);
}
}
return result;
};
var getWindowSize = function() {
return [ "Height", "Width" ].map(function(name) {
return window["inner" + name]
|| document.compatMode === "CSS1Compat"
&& document.documentElement["client" + name]
|| document.body["client" + name]
});
}
window.onload = function() {
if (!+"\v1" && !document.querySelector) { // for IE6 IE7
document.body.onresize = resize;
} else {
window.onresize = resize;
}
function resize() {
wSize();
return false;
}
}
function wSize() {
//这是一字符串
var str = getWindowSize();
var strs = new Array(); //定义一数组
strs = str.toString().split(","); //字符分割
var heights = strs[0] - 120, Body = $('body');
$('#mainFrame').height(heights);
$('#mainFramediv').height(heights);
if (strs[1] < 980) {
$('.header').css('width', 980 + 'px');
$('#content').css('width', 980 + 'px');
Body.attr('scroll', '');
Body.removeClass('objbody');
} else {
$('.header').css('width', 'auto');
$('#content').css('width', 'auto');
Body.attr('scroll', 'no');
Body.addClass('objbody');
}
}
wSize();
function getLeftMenu(projectSecId) {
// alert(111);
// $.post(
// "/cjgc/riskbase/left!newleftmenu.action?d="
// + Math.random(),
// {sysmenu : 24},
// function(result) {
// alert(result);
// document.getElementById("leftMain").innerHTML = result; // 设置左侧树结构
// if (result != "") {
// $("#projectSectionId").val(projectSecId);
// }
// });
$.ajax({
type : "POST",
data : {sysmenu : 24},
url : "/cjgc/riskbase/left!newleftmenu.action?d=" + Math.random(),
success : function(result) {
// alert("获取到result="+result);
document.getElementById("leftMain").innerHTML = result; // 设置左侧树结构
if (result != "") {
$("#projectSectionId").val(projectSecId);
}
},
error:function(){
alert("获取m列表失败");
}
});
}
$(function() {
var search = document.location.search;
var searchs = search.substring(1, search.length);
var params0 = ((searchs.split('&'))[0]).split('=');
var params1 = ((searchs.split('&'))[1]).split('=');
var type = params0[1];
var projectSectId = params1[1];
if (type == 4) {
projectSectId = $("#projectSectionId").val();
}
getLeftMenu(projectSectId);
changeProjectsite();
$("#sectionDivNew").hide();
});
//改变专业
function changeZhuanye() {
var type = $("input:radio:checked").val();
var projectSectId = $("#projectSectionId").val();
var url = "/cjgc/riskcontrol/subsidence/statisticsindex!getProjectSiteAjax.action?type="
+ type + "&projectSectionId=" + projectSectId;
$.ajax({
type : "GET",
dataType : "text",
url : url,
async : false,
cache : false,
success : function(data) {
$("#projectSite").find("option").remove();
$("#projectSite").append(data);
//if (data != null && data != "") {
changeProjectsite();
//}
},
error : function(data) {
alert("查询无数据,请检查数据的正确性!");
}
});
}
//改变工点刷新iFrame
function changeProjectsite() {
var projectSectId = $("#projectSectionId").val();
var selProjectSiteValue = $("#projectSite").val();
// alert("projectSectId="+projectSectId+" projectSite="+selProjectSiteValue);
var structType = $("input:radio:checked").val();
//changeSectionInitData(selProjectSiteValue);
if(selProjectSiteValue==null||selProjectSiteValue=='null'){
selProjectSiteValue = 0 ;
}
var href = $("#myContent .menuSelect").attr('data');
document.getElementById("mainFrame").src = href
+ "&projectSectionId=" + projectSectId
+ "&selProjectSiteValue=" + selProjectSiteValue
+ "&structType=" + structType;
return false;
}
/**
* 首页切换子页面公共方法
*/
function toChildrenPage(obj) {
$("#myContent a").each(function() {
$(this).removeClass("menuSelect");
});
$(obj).addClass("menuSelect");
var href = $(obj).attr('data');
if (href.indexOf("Index.action") >= 0) {
$("#zyimgTuli").show();
}
if (href.indexOf("SectionIndexM.action") >= 0) {
$("#zyimgTuli").show();
}
if (href.indexOf("Index.action") == -1
&& href.indexOf("SectionIndexM.action") == -1) {
$("#zyimgTuli").hide();
}
//隐藏工点的菜单
if (href.indexOf("subsurveyor") >= 0
|| href.indexOf("suboriginal") >= 0
|| href.indexOf("subdevice") >= 0
|| href.indexOf("pinggudata") >= 0
|| href.indexOf("levelline") >= 0
|| href.indexOf("workbasepoint") >= 0
|| href.indexOf("levelingline") >= 0
|| href.indexOf("brkchain") >= 0
|| href.indexOf("jlreport") >= 0
|| href.indexOf("subgrandsite") >= 0
|| href.indexOf("subabnormalmeasure") >= 0
|| href.indexOf("subsalearea") >= 0
|| href.indexOf("maybeproblem") >= 0
|| href.indexOf("alertdispose") >= 0
|| href.indexOf("overtimeupd") >= 0) {//overtimeupd
$("#gdinfoDiv").hide();
$("#sectionDivNew").hide();
} else {
if (href.indexOf("subresult-treelist") >= 0) {
$("#sectionDivNew").show();
} else {
$("#sectionDivNew").hide();
}
$("#gdinfoDiv").show();
}
if(href.indexOf("maybeproblem") >= 0){ //疑似问题隐藏 标段项目信息
$("#sectionAndPoint").hide();
}else{
$("#sectionAndPoint").show();
}
var projectSectId = $("#projectSectionId").val();
var selProjectSiteValue = $("#projectSite").val();
var structType = $("input:radio:checked").val();
if(selProjectSiteValue==null||selProjectSiteValue=='null'){
selProjectSiteValue = 0 ;
}
document.getElementById("mainFrame").src = href
+ "&projectSectionId=" + projectSectId
+ "&selProjectSiteValue=" + selProjectSiteValue
+ "&structType=" + structType;
return false;
}
</script>
<script>
(function (w, d, e, x) {
w[e] = function () {
w.cbk = w.cbk || [];
w.cbk.push(arguments);
}
x = d.createElement('script');
x.async = true;
x.id = 'zhichiScript';
x.src = 'https://kefu.remplat.com:4430/chat/frame/v2/entrance.js?sysnum=b8aa72c161684145b13344e82eb3aad4';
d.body.appendChild(x);
})(window, document, 'zc');
var obj = {
platformId:'GT' //平台标识
};
zc('config',{
uname:'',
custom:false, //设置自定义生效 第二步
partnerid:'334600', //用户ID
channelid:'5', //应用标识
params:JSON.stringify(obj)
});
function clickHandle(flag) {
if ("1" == flag) {
// 点击隐藏按钮时,隐藏信息,并显示展开按钮
document.getElementById("zc__sdk__sys__btn").style.display = "none";
document.getElementById("close_customer_tel").style.display = "none";
document.getElementById("close_hidden").style.display = "none";
document.getElementById("close_customer").style.display = "block";
} else {
document.getElementById("zc__sdk__sys__btn").style.display = "block";
document.getElementById("close_customer_tel").style.display = "block";
document.getElementById("close_hidden").style.display = "block";
document.getElementById("close_customer").style.display = "none";
}
};
$(function() {
$('.ant-row').on('mouseenter', function(e) {
var $this = $(this);
var v_message = '<table class="tip_table" border="0" cellspacing="0" cellpadding="0">'
+ '<tr><td>'
+ '<span><img width="16px" height="16px" style="vertical-align: middle;margin-left:8px;" src="/cjgc//images/zckf/ld.png">路电021-93535</span>'
+ '</td></tr><tr><td>'
+ '<span vertical-align: middle;><img width="16px" height="16px" style="vertical-align: middle;margin-left:8px;" src="/cjgc//images/zckf/sd.png">市电010-5189353</span>'
+ '</td></tr></table>';
$.tip({
element : $this,
message : v_message,
width : '150px',
height : '50px'
});
});
});
</script><script async="" id="zhichiScript" src="./沉降变形观测信息系统_files/entrance.js.下载"></script>
<div id="zc__sdk__sys__btn" style="position: fixed; z-index: 2147483647; width: 50px; height: 50px; text-align: center; right: 40px; cursor: pointer; outline: none; bottom: 20px;">
<div>
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1892" width="50" height="50">
<path d="M983.199516 313.600729a511.508046 511.508046 0 0 0-109.828458-163.77126 506.388051 506.388051 0 0 0-163.428404-110.05703A507.325193 507.325193 0 0 0 512 0.001051h-2.285712c-69.142786 0.342857-135.99986 14.057128-198.971224 41.02853a507.519479 507.519479 0 0 0-161.942691 110.285601 508.570906 508.570906 0 0 0-108.571317 163.199832A514.159472 514.159472 0 0 0 1.143382 514.400523c0.342857 79.314204 19.314266 158.056981 54.742801 228.456909v173.714107c0 29.028542 23.542833 52.571375 52.457089 52.571374h173.485536a511.679475 511.679475 0 0 0 227.999766 54.857087h2.399997c68.342787 0 134.514148-13.257129 196.914084-39.19996A506.513766 506.513766 0 0 0 871.99963 876.000152c47.085666-46.742809 84.114199-101.371324 110.05703-162.285548 26.857115-63.08565 40.571387-130.171295 40.914244-199.428366 0.228571-69.599929-13.257129-137.142716-39.771388-200.685509zM283.885949 566.857612c-30.171398 0-54.742801-24.571403-54.742801-54.857086s24.571403-54.857087 54.742801-54.857087 54.742801 24.571403 54.7428 54.857087-24.457118 54.857087-54.7428 54.857086z m228.114051 0c-30.171398 0-54.742801-24.571403-54.742801-54.857086s24.571403-54.857087 54.742801-54.857087 54.742801 24.571403 54.742801 54.857087-24.571403 54.857087-54.742801 54.857086z m228.114051 0c-30.171398 0-54.742801-24.571403-54.7428-54.857086s24.571403-54.857087 54.7428-54.857087 54.742801 24.571403 54.742801 54.857087-24.571403 54.857087-54.742801 54.857086z" p-id="1893" fill="#0076f6"></path></svg>
<i id="zc__sysbtn__unread__count" style="
position: absolute;
background: #F3303A;
padding: 0 5px;
min-width: 20px;
border-radius: 10px;
color: #fff;
font-style: normal;
height: 20px;
line-height: 20px;
font-size: 12px;
left: 26px;
top: -9px;
display:none;
"></i>
<span id="zc__consult__tips" style="
box-shadow: rgba(107, 113, 114, 0.15) 0px 2px 4px 0px;
border: 1px solid rgb(235, 239, 240);
font-family: Microsoft Yahei, Arial, Helvetica;
color: rgb(85, 85, 86);
font-size: 13px;
margin: 0px;
text-align: right;
background: rgb(255, 255, 255);
position: absolute;
top: 10px;
text-overflow: ellipsis;
white-space: nowrap;
word-break: normal;
border-radius: 3px;
padding: 0px 5px;
height: 30px;
line-height: 30px;
display: none;
right:55px;
">咨询在线客服</span>
</div></div><div id="zc__sdk__container" style="background: rgb(255, 255, 255); z-index: 2147483647; position: fixed; bottom: 80px; width: 360px; right: 40px; max-height: 720px; max-width: 640px; box-shadow: rgba(0, 0, 0, 0.16) 0px 5px 40px; opacity: 1; height: 0px; border-radius: 8px; overflow: hidden;"><iframe id="zc__frame__chat_container" style="width: 100%; height: 100%; border-width: medium !important; border-style: none !important; border-color: currentcolor !important; border-image: none !important;" src="./沉降变形观测信息系统_files/saved_resource.html"></iframe></div><div id="zc__wapper__shadow" style="width: 100%; z-index: 10000; height: 100%; background: rgba(0, 0, 0, 0.5); padding: 0px; margin: 0px; top: 0px; bottom: 0px; left: 0px; display: none;"></div><div id="zc__bubble_container"></div></body></html>