4824 Commits

Author SHA1 Message Date
aixianling
17bf8599d1 提交一波 2024-10-10 10:38:50 +08:00
aixianling
45017af56d 接入nuxt 2024-09-30 18:02:54 +08:00
aixianling
2f93572701 Merge remote-tracking branch 'origin/build' into release 2024-09-29 15:25:35 +08:00
aixianling
f35c272a19 调整积分排名的样式 2024-09-29 14:51:31 +08:00
aixianling
3a5af5777c 调整积分排名的样式 2024-09-29 14:41:14 +08:00
aixianling
2cbddaeb4a 调整积分排名的样式 2024-09-29 14:37:58 +08:00
aixianling
e88658b1be 恢复下大屏开发的配置 2024-09-29 11:07:35 +08:00
aixianling
8e73c39c47 调整局部布局 2024-09-25 12:01:52 +08:00
aixianling
119cd5bad9 调整局部布局 2024-09-25 12:01:24 +08:00
aixianling
ddfdbf161a 变更大屏文件名 2024-09-25 11:09:09 +08:00
aixianling
0940462d70 Merge remote-tracking branch 'origin/build' into build 2024-09-25 10:58:00 +08:00
aixianling
80978d3794 为地图增加颜色 2024-09-25 10:50:28 +08:00
liuye
134b78189d page 2024-09-25 10:17:31 +08:00
liuye
0c9b5d522e 居民群管理,特殊人群 2024-09-20 16:54:12 +08:00
aixianling
c663bd52fc 修复村返回镇时,地图数据的刷新 2024-09-20 16:25:25 +08:00
aixianling
573349f864 大屏接入地图 2024-09-19 18:20:04 +08:00
aixianling
6a1d86b88a 接入地图了 2024-09-19 14:50:31 +08:00
aixianling
c1bca77b3f 修复地图 2024-09-14 15:41:15 +08:00
aixianling
f962d9db1d 修复计算问题 2024-09-14 15:06:41 +08:00
aixianling
78a3842e01 在搞地图了 2024-09-13 18:06:54 +08:00
aixianling
e69b66d2aa 村社区界面完成 2024-09-13 16:41:20 +08:00
aixianling
85c6d365b1 清除开发数据 2024-09-13 09:55:18 +08:00
aixianling
1131f98b27 区镇除地图以外都开发完成 2024-09-12 17:29:32 +08:00
aixianling
0188289e05 提交一部分图标 2024-09-11 18:12:27 +08:00
aixianling
1ae490f744 提交一波 2024-09-09 18:01:13 +08:00
aixianling
c842794d0d 完成两个柱状图 2024-09-09 17:34:02 +08:00
aixianling
f888c81508 基础样式完成 2024-09-06 15:43:07 +08:00
aixianling
6118304302 充电样式完成 2024-09-06 14:41:54 +08:00
aixianling
6b2906fb53 第一排样式完成 2024-09-04 15:22:48 +08:00
aixianling
4e33b3ae02 标题组件完成 2024-09-04 09:47:40 +08:00
aixianling
688834a86e 标题组件完成 2024-09-04 09:34:34 +08:00
aixianling
df49e1f9dc 标题组件正在开发 2024-09-03 18:02:30 +08:00
aixianling
4f36215dad 村/社区布局完成 2024-09-03 16:28:23 +08:00
aixianling
5bc9f859f4 完成布局 2024-09-03 15:49:06 +08:00
aixianling
05d4acf5da Merge remote-tracking branch 'origin/build' into build 2024-09-03 15:40:14 +08:00
aixianling
755719e228 兼容语音消息展示 2024-09-03 15:39:52 +08:00
liuye
41d74a9d57 所属小区 2024-09-03 10:48:57 +08:00
liuye
9ca1b4f161 所属小区 2024-09-02 16:48:09 +08:00
liuye
0a5592594b 所属小区 2024-09-02 16:32:42 +08:00
liuye
2c39458e98 网格员积分 2024-08-30 09:14:28 +08:00
liuye
aefe08d35e 网格员积分 2024-08-29 17:34:25 +08:00
liuye
6de9346d01 网格员积分 2024-08-29 15:48:11 +08:00
liuye
a02e0d575b 网格员积分 2024-08-29 09:11:43 +08:00
liuye
358f77b13b 网格员积分 2024-08-29 08:49:38 +08:00
liuye
494cc25c4d 积分规则 2024-08-28 17:55:36 +08:00
liuye
cd314f3da7 积分规则 2024-08-28 14:59:42 +08:00
liuye
065306e511 积分规则 2024-08-28 14:40:49 +08:00
aixianling
8b724e52b3 增加流式返回的开关 2024-08-27 18:00:04 +08:00
aixianling
155366d92e 定位加上loading和搜索按钮 2024-08-27 09:46:14 +08:00
aixianling
bcba8286cc 更改默认状态 2024-08-26 18:08:29 +08:00
aixianling
f007dc84e7 正常换行 2024-08-26 17:36:27 +08:00
aixianling
cb4c7dd623 流式返回完成 2024-08-26 17:28:14 +08:00
aixianling
10b44698e1 增加上传文件限制和悬浮样式 2024-08-26 10:39:09 +08:00
aixianling
83c782f3e6 修复文件重复上传 2024-08-23 16:26:00 +08:00
aixianling
f8c75eab5b 切换模型是,清理发送消息的缓存 2024-08-23 14:40:54 +08:00
aixianling
d5b1190492 修复文件提示 2024-08-23 14:06:02 +08:00
aixianling
2bac43eeda 调整拖拽位置为标题栏 2024-08-23 11:39:07 +08:00
aixianling
77176e5bf5 增加错误异常弹窗 2024-08-23 11:25:30 +08:00
aixianling
891757c7eb 修改定位弹窗的poi搜索优化 2024-08-23 11:18:18 +08:00
aixianling
47e31b127d 弥补组件对最小宽度的响应式绑定 2024-08-23 10:29:30 +08:00
aixianling
6ad47f207a 文件上传的问题 2024-08-23 09:58:01 +08:00
aixianling
0ff3eaff97 上传文件完成 2024-08-22 18:48:18 +08:00
aixianling
7d4c79ce1a 解决图层问题 2024-08-22 17:52:54 +08:00
aixianling
43e7f044f3 更新UI 2024-08-22 16:52:28 +08:00
aixianling
efd05d3298 更改定位弹窗标题.更新UI 2024-08-22 16:46:59 +08:00
aixianling
e6c143881d 更改定位弹窗标题.更新UI 2024-08-22 16:42:08 +08:00
aixianling
5b2ccae4ae 自动聚焦尝试处理没用 2024-08-22 15:23:07 +08:00
aixianling
de86b003fa 当需要定位的模型,在对话时未获取到位置
则该条对话记录 不应该发送出去
2024-08-22 14:17:12 +08:00
aixianling
70f8685b07 修改BUG1 无法自适应的问题 2024-08-22 11:42:37 +08:00
aixianling
64f08839e2 Merge branch 'refs/heads/build' into release 2024-08-19 17:43:32 +08:00
aixianling
df50f83ee2 增加loading 2024-08-19 17:41:23 +08:00
aixianling
d52cbffed7 Merge branch 'build' into release 2024-08-19 16:20:41 +08:00
aixianling
8a2015da4c 更换图标 2024-08-19 15:50:25 +08:00
aixianling
5ee3bfbc41 兼容渲染markdown格式的内容 2024-08-19 15:23:45 +08:00
aixianling
f7c2d03428 定位完成 2024-08-19 14:36:26 +08:00
aixianling
4889f8bc09 Merge remote-tracking branch 'origin/build' into build 2024-08-19 11:07:31 +08:00
aixianling
1ea55c9e13 WEB端的 弹框尺寸可以放大,但不做缩小。 2024-08-19 11:06:00 +08:00
aixianling
438cbaa978 连续点击机器人图标,实现对话窗口展开和最小化 2024-08-19 10:29:25 +08:00
liuye
6a295b67d8 工单 2024-08-15 16:39:18 +08:00
liuye
3f389d2f43 提示文字 2024-08-15 13:42:23 +08:00
liuye
c3f46fcd50 席位管理 2024-08-15 11:10:41 +08:00
liuye
daa79e7b1b 编辑 2024-08-15 10:55:03 +08:00
liuye
074f77fac0 xbot席位管理变更需求 2024-08-15 10:47:14 +08:00
aixianling
1c27e3e574 Merge remote-tracking branch 'origin/build' into build 2024-08-15 10:02:56 +08:00
aixianling
a4f430be3e 兼容异常(张硕提) 2024-08-15 10:02:28 +08:00
liuye
c6672bc712 编辑 2024-08-15 09:58:45 +08:00
aixianling
0e7cb83bd4 Merge branch 'build' into release 2024-08-14 09:18:29 +08:00
aixianling
5897590973 Merge remote-tracking branch 'origin/build' into build 2024-08-14 09:04:34 +08:00
aixianling
846ac803df 允许自定义大屏尺寸 2024-08-14 09:02:53 +08:00
liuye
b066edd428 迁移 2024-08-13 09:07:34 +08:00
liuye
9015cd06c0 工单 2024-08-09 17:48:03 +08:00
liuye
859a8198fe 工单 2024-08-08 10:44:49 +08:00
aixianling
077cb2cad2 Merge remote-tracking branch 'origin/build' into build 2024-08-08 10:26:54 +08:00
aixianling
bc1504cce5 允许积分设置负值@陈锐 2024-08-08 10:26:08 +08:00
liuye
4c01b277d2 工单 2024-08-07 10:23:57 +08:00
aixianling
bc8b161020 整合工程 2024-08-06 17:57:34 +08:00
aixianling
d2e63c2588 整合工程 2024-08-06 17:53:52 +08:00
liuye
01cd905669 工单管理 2024-08-06 14:02:56 +08:00
aixianling
eac706bfcb 修复二次编辑时,无法提交的问题 2024-07-23 10:46:19 +08:00
aixianling
be9aa08cd9 评分管理-需求变更 2024-07-19 09:44:34 +08:00
aixianling
1cac8ab8e0 取消参数status 2024-07-18 15:01:51 +08:00
liuye
4385ba2354 选人组件去掉status1 2024-07-18 14:47:01 +08:00
aixianling
8707b6d48d Merge remote-tracking branch 'origin/build' into build 2024-07-18 11:59:43 +08:00
aixianling
a10a09c979 调整电机modal不关闭Dialog 2024-07-18 11:59:22 +08:00
liuye
4a563fbc78 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2024-07-18 10:14:23 +08:00
liuye
4e790062c7 消息来源 2024-07-18 10:13:54 +08:00
aixianling
59a998ee70 Merge remote-tracking branch 'origin/build' into build 2024-07-18 10:12:09 +08:00
aixianling
ed809fe9f4 调整常用功能布局样式 2024-07-18 10:11:54 +08:00
liuye
ec9bc40fe0 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2024-07-18 09:43:55 +08:00
liuye
fb3ded6877 html 2024-07-18 09:43:33 +08:00
aixianling
870bc38f1c 增加常用功能高亮 2024-07-18 09:39:04 +08:00
aixianling
2a882cb3ee 调整左边的排版 2024-07-18 09:22:22 +08:00
aixianling
80b6a03999 校正字段传输 2024-07-18 09:01:02 +08:00
aixianling
f1ba9f7409 每次调用完毕刷新会话记录 2024-07-16 17:59:00 +08:00
aixianling
740c6497f1 调整传值为conversationId 2024-07-16 16:27:35 +08:00
aixianling
5cc073cb87 调整传值为conversationId 2024-07-16 16:23:50 +08:00
aixianling
809ef180a9 修复弹窗遮挡 2024-07-16 15:33:54 +08:00
aixianling
3ebed172ac 对控制面板进行跨域遮罩 2024-07-16 15:25:36 +08:00
aixianling
0220dc7f67 异步数据导致渲染过早无法加载监控 2024-07-16 15:04:26 +08:00
aixianling
08cb8b1be8 异步数据导致渲染过早无法加载监控 2024-07-16 14:56:50 +08:00
aixianling
9b7b1283a8 异步数据导致渲染过早无法加载监控 2024-07-16 14:46:04 +08:00
aixianling
a6af330500 copilot处理完成 2024-07-16 12:21:33 +08:00
aixianling
a9224b896b 增加入参判断是否调用接口 2024-07-16 12:11:12 +08:00
aixianling
308c7f8ab0 增加入参判断是否调用接口 2024-07-16 12:04:06 +08:00
aixianling
916fae5c36 增加入参判断是否调用接口 2024-07-16 11:54:49 +08:00
aixianling
42aca4d540 按测试意见调整 2024-07-16 09:08:47 +08:00
aixianling
af5c7fb279 Merge remote-tracking branch 'origin/build' into build 2024-07-15 17:31:26 +08:00
aixianling
01c9853f9e 捡起历史的垃圾 2024-07-15 17:10:00 +08:00
liuye
a52278552c echarts-wordcloud 2024-07-12 17:20:57 +08:00
aixianling
1c9a736274 copilot配置完成 2024-07-12 16:40:20 +08:00
aixianling
dbb986688c 修复异常 2024-07-12 09:19:55 +08:00
aixianling
0fd8a0e1fa 优化滚动 2024-07-10 09:39:27 +08:00
aixianling
60a4d6a1c8 优化样式 2024-07-09 10:22:38 +08:00
aixianling
bad99f9383 表单验证补充完整返回 2024-07-09 10:19:09 +08:00
aixianling
dc1eacdc7f Merge remote-tracking branch 'origin/build' into build 2024-07-04 17:54:54 +08:00
aixianling
9ecde574bc copilot新样式完成 2024-07-04 17:54:30 +08:00
liuye
a6362ee638 cv 2024-07-04 17:49:36 +08:00
liuye
c1e1ac4b8b cv 2024-07-04 17:31:16 +08:00
aixianling
f8a7ffaca9 Merge remote-tracking branch 'origin/build' into build 2024-07-02 15:23:50 +08:00
aixianling
a362764dad 随便改个宽度 2024-07-02 15:23:36 +08:00
wanglei
fc468044c6 fix: 修改文字 2024-07-02 13:52:45 +08:00
wanglei
1e9fd39349 Merge remote-tracking branch 'origin/build' into build 2024-07-02 13:49:51 +08:00
wanglei
dd3e60ee2f fix: 修改弹框标题文字 2024-07-02 13:49:37 +08:00
aixianling
ece1ef06c3 Merge remote-tracking branch 'origin/build' into build 2024-07-02 10:08:37 +08:00
aixianling
6683b51c2f 产品走查调整 2024-07-02 10:08:19 +08:00
wanglei
ff2d0a8315 fix: 非必填字段 2024-07-01 17:12:46 +08:00
wanglei
541d090fa7 fix: 非必填字段 2024-07-01 16:59:21 +08:00
wanglei
1f5b213ddd fix: 字段 2024-07-01 12:01:32 +08:00
wanglei
165ae97634 fix: 修改一些bug 2024-07-01 11:13:31 +08:00
wanglei
f72c34e802 fix: 修改一些bug 2024-06-30 17:41:54 +08:00
wanglei
57db3819bb fix: 修改一些bug 2024-06-29 20:47:37 +08:00
wanglei
d3d8e4f397 fix: 修改传参字段 2024-06-29 14:42:15 +08:00
wanglei
29e4d1ec4b fix: 修改参数 2024-06-29 14:27:03 +08:00
wanglei
388274ace5 fix: 改bug 2024-06-29 14:13:29 +08:00
wanglei
6fc848d164 fix: 修改传参方式和bug 2024-06-29 13:53:59 +08:00
wanglei
01b4f3abb8 feat: 导入导出 2024-06-28 17:24:41 +08:00
wanglei
7c34462adc fix: 445 2024-06-28 17:05:28 +08:00
wanglei
77664107fa fix: 统计 2024-06-28 10:38:07 +08:00
wanglei
9c5f594a58 fix: 445 447 2024-06-28 10:24:40 +08:00
wanglei
8a704eae3e feat: 时间校验 2024-06-28 10:12:04 +08:00
wanglei
09f9795cd8 Merge remote-tracking branch 'origin/build' into build 2024-06-28 09:26:13 +08:00
wanglei
0f1df0b87d fix: 评价类型字典 2024-06-28 09:25:56 +08:00
aixianling
b5a07c699a Merge remote-tracking branch 'origin/build' into build 2024-06-27 17:46:32 +08:00
aixianling
61852f86ec 解决显示问题 2024-06-27 17:43:44 +08:00
wanglei
e2d5d29d0c fix: 441 2024-06-27 17:29:02 +08:00
wanglei
23bfdb7ac5 feat: 门店评价批量删除 2024-06-27 17:23:35 +08:00
wanglei
172213cdc2 feat: 门店详情 2024-06-27 17:02:06 +08:00
wanglei
1e65208a4b fix: 414 2024-06-27 16:38:54 +08:00
wanglei
7aa17bd31c Merge remote-tracking branch 'origin/build' into build 2024-06-27 16:34:33 +08:00
wanglei
205f17b706 fix: 433 2024-06-27 16:33:52 +08:00
aixianling
2164d0f348 解决跳转问题 2024-06-27 15:25:49 +08:00
aixianling
72d69e5c8f 解决跳转问题 2024-06-27 15:24:37 +08:00
aixianling
91fd641845 Merge remote-tracking branch 'origin/build' into build 2024-06-27 15:13:46 +08:00
aixianling
ece292c45a 修复设置参数 2024-06-27 15:13:33 +08:00
wanglei
6b59beba0d fix: 419 2024-06-27 14:17:54 +08:00
wanglei
aba3e33e70 fix: 413 2024-06-27 11:23:15 +08:00
wanglei
5fd3ed4542 Merge remote-tracking branch 'origin/build' into build 2024-06-27 10:47:38 +08:00
wanglei
c707186f48 feat: 统计完成 2024-06-27 10:47:18 +08:00
aixianling
ebc5e3aeef Merge remote-tracking branch 'origin/build' into build 2024-06-27 10:32:06 +08:00
aixianling
52cbc12d20 增加aiEnable进行情况筛选 2024-06-27 10:31:52 +08:00
wanglei
00105f6a7d Merge remote-tracking branch 'origin/build' into build 2024-06-27 09:39:07 +08:00
wanglei
53bf64712e feat: 评分任务 2024-06-27 09:38:47 +08:00
aixianling
5ddb198c0e Merge remote-tracking branch 'origin/build' into build 2024-06-27 09:18:57 +08:00
aixianling
15e9f9d760 增加aiEnable进行情况筛选 2024-06-27 09:18:40 +08:00
wanglei
236404c5ba feat: 门店评价 2024-06-26 16:48:30 +08:00
wanglei
9b8f05e764 feat: 评选任务 2024-06-26 15:58:23 +08:00
wanglei
2dc62004e1 feat: 规则管理 2024-06-26 15:35:16 +08:00
wanglei
a4c5517b09 feat: 规则管理 2024-06-26 15:32:10 +08:00
wanglei
e1b9633ba4 fix: 门店评价 2024-06-26 11:56:47 +08:00
wanglei
e73dd17908 fix: 经营类型字典 2024-06-26 11:23:53 +08:00
wanglei
54880a9562 feat: 门店档案接口 2024-06-26 11:19:28 +08:00
wanglei
2ff20d4fc5 fix: 门店档案接口 2024-06-26 09:30:48 +08:00
wanglei
f719b71628 Merge remote-tracking branch 'origin/build' into build 2024-06-26 09:24:21 +08:00
wanglei
3e3f3349b4 feat: 门店档案接口 2024-06-26 09:24:04 +08:00
aixianling
be8698382a 增加areaId 2024-06-26 09:03:00 +08:00
wanglei
463e545c19 feat: 门店档案新增,详情 2024-06-25 16:36:01 +08:00
wanglei
210e410a26 feat: 门店评价 2024-06-25 15:43:43 +08:00
wanglei
4e051d9bee feat: 片区选择 2024-06-25 14:35:50 +08:00
wanglei
2796506449 feat: 档案批量删除 2024-06-25 11:37:09 +08:00
wanglei
f0f7f75bf3 feat: 档案详情列表生成二维码 2024-06-25 11:28:47 +08:00
wanglei
587b988ade feat: 档案详情字段 2024-06-25 11:24:55 +08:00
wanglei
8279b89ff5 feat: 档案详情 2024-06-25 11:23:15 +08:00
wanglei
2143da5dce feat: 新增档案 2024-06-25 11:13:29 +08:00
wanglei
f095e344f5 feat: 档案表单 2024-06-25 10:25:37 +08:00
wanglei
d59aef8a15 Merge remote-tracking branch 'origin/build' into build 2024-06-25 10:06:56 +08:00
wanglei
ebf726afd5 feat: 档案表单 2024-06-25 10:06:32 +08:00
aixianling
c0667636a5 挂载分屏所需 2024-06-25 09:39:56 +08:00
aixianling
892979ef1a 挂载分屏所需 2024-06-25 09:22:51 +08:00
aixianling
eca9fc8196 取消点击遮罩关闭弹窗的设置 2024-06-25 09:15:29 +08:00
aixianling
8566f8cd70 Merge remote-tracking branch 'origin/build' into build 2024-06-25 09:06:44 +08:00
aixianling
f7976b6022 菜单管理是否显示菜单默认为是 2024-06-25 09:05:38 +08:00
liuye
d17ae463e8 任务管理 2024-06-25 08:43:55 +08:00
wanglei
927a091075 Merge remote-tracking branch 'origin/build' into build 2024-06-25 08:39:56 +08:00
wanglei
b4234e30d8 feat: 规则和评选 2024-06-25 08:39:38 +08:00
aixianling
f2a513bd0e 完成 2024-06-24 19:52:36 +08:00
aixianling
90e89cd60d 日志完成 2024-06-24 19:42:17 +08:00
aixianling
cd4a5621bb 处理部分接口 2024-06-24 18:22:18 +08:00
aixianling
5c29d7ca5d 调整样式 2024-06-24 17:59:21 +08:00
aixianling
18dd1937ce 调整样式 2024-06-24 17:01:50 +08:00
aixianling
c65f06acc0 Merge remote-tracking branch 'origin/build' into build 2024-06-24 16:50:26 +08:00
aixianling
e7991254fa 调整接口 2024-06-24 16:50:05 +08:00
wanglei
46ea63390e feat: 评分管理 2024-06-24 14:27:26 +08:00
wanglei
17990fe640 fix: 字体样式 2024-06-24 10:34:13 +08:00
wanglei
615f83861e feat: 门店统计 2024-06-24 10:31:49 +08:00
wanglei
428eb3319f Merge remote-tracking branch 'origin/build' into build 2024-06-24 09:22:35 +08:00
wanglei
91f3956508 feat: 门店评价 2024-06-24 09:21:06 +08:00
liuye
5fa3d83f3e 任务管理 2024-06-24 09:18:20 +08:00
wanglei
d1c0c4a784 feat: 门店评价 2024-06-23 18:06:40 +08:00
wanglei
316e530943 feat: 门店评价 2024-06-23 18:06:24 +08:00
wanglei
692ffab0d9 feat: 门店档案评分 2024-06-23 17:41:30 +08:00
wanglei
a293259fb9 feat: 门店档案 2024-06-23 17:30:00 +08:00
aixianling
ea0ec60401 界面完成 2024-06-23 14:30:27 +08:00
aixianling
526af7828d Merge remote-tracking branch 'origin/build' into build 2024-06-23 10:35:14 +08:00
aixianling
3c9ac1b3d8 增加oms配置项 2024-06-23 10:34:53 +08:00
liuye
562a875219 注释 2024-06-21 17:59:17 +08:00
liuye
d21a9ba075 调用任务 2024-06-21 17:58:47 +08:00
liuye
777411294c 调用任务 2024-06-21 17:56:29 +08:00
aixianling
4dd5d85607 调整措辞 2024-06-17 16:45:18 +08:00
aixianling
4476215d1c 增加层级 2024-06-17 16:37:09 +08:00
aixianling
fccdcf735f 增加空白判断 2024-06-17 16:35:09 +08:00
aixianling
8c9db36978 copilot助手增加埋点 2024-06-17 16:04:46 +08:00
aixianling
aded396bd1 copilot助手完成 2024-06-17 15:55:26 +08:00
aixianling
fa6553c4f6 修复展开抖动 2024-06-06 18:42:57 +08:00
aixianling
180cc0778d 样式完成 2024-06-06 18:38:05 +08:00
aixianling
840934372e 提交AI聊天样式 2024-06-05 18:13:01 +08:00
aixianling
ec09a998f7 调整展开动画 2024-06-05 16:10:13 +08:00
aixianling
426f081cbc aiCopilot样式提交 2024-06-04 18:16:51 +08:00
liuye
890af51f30 调用任务 2024-05-20 15:35:49 +08:00
liuye
18fa7ac43f 席位管理 2024-05-17 11:41:16 +08:00
liuye
6b54d60ae0 变更需求 2024-05-17 11:34:33 +08:00
liuye
4753245f74 代码生成 2024-04-25 13:50:00 +08:00
liuye
a1c2cef0d9 search 2024-04-25 13:40:43 +08:00
liuye
5423483f1c 代码生成 2024-04-25 12:02:22 +08:00
aixianling
a20fcb413a 调整完毕 2024-04-18 19:17:17 +08:00
aixianling
f3e1580fef 参数调整 2024-04-18 17:36:31 +08:00
liuye
cd708b373c 删除web端巫溪会议代码 2024-04-18 15:30:32 +08:00
liuye
d025673c53 巫溪会议 2024-04-18 13:49:21 +08:00
liuye
a85f7b201c ct 2024-04-17 17:50:59 +08:00
liuye
6dbe6365e8 巫溪 2024-04-17 17:48:42 +08:00
aixianling
f909eae8c0 参数调整 2024-04-17 12:01:04 +08:00
aixianling
674ddb1fd6 修复样式和设置 2024-04-16 18:13:55 +08:00
aixianling
7dfd1c8d6c 布局调整 2024-04-16 17:51:49 +08:00
aixianling
7393eeb858 表格调整完毕 2024-04-16 17:42:57 +08:00
aixianling
8f21db5ca3 地图和图标样式调整 2024-04-16 14:55:21 +08:00
aixianling
7a0538dff0 大概可以看的一版 2024-04-15 15:35:57 +08:00
aixianling
fdfbaad6d8 提交一波,继续处理数据结构 2024-04-15 14:31:13 +08:00
e72f7c5e9f 地图数据颜色 2024-04-15 01:14:33 +08:00
bc50d76366 地图点击事件 2024-04-15 00:27:45 +08:00
fe7c6a5cb8 调整部分设置 2024-04-14 22:09:26 +08:00
aixianling
372f52e655 联动地图完成 2024-04-12 18:19:49 +08:00
aixianling
5d2a66b861 大屏自残术结构重构 2024-04-12 15:03:17 +08:00
aixianling
b5523f5f40 单独构建大屏ui库,避免引入混乱 2024-04-12 10:22:47 +08:00
aixianling
a4d4e3cea5 修复同一系列下,不同item下对应不同颜色的问题 2024-04-10 17:35:07 +08:00
aixianling
f50bd497be 修复黔西南异常 2024-04-02 18:15:49 +08:00
aixianling
de918d48dc 修复黔西南异常 2024-04-02 17:24:55 +08:00
aixianling
d599972b7f 更换corpId 2024-04-02 15:47:23 +08:00
aixianling
dee681d246 更换corpId 2024-04-02 15:16:37 +08:00
aixianling
8990e921ae 增加弹窗关闭 2024-03-27 14:24:54 +08:00
aixianling
67fb697136 修复一下 2024-03-27 14:00:44 +08:00
aixianling
f34d6bf108 大屏完成 2024-03-27 12:31:39 +08:00
aixianling
570476b2aa echarts调整升级 2024-03-26 17:05:24 +08:00
aixianling
0821d9b238 echarts调整升级,地图完成一部分 2024-03-26 16:57:18 +08:00
aixianling
c557433324 样式微调 2024-03-26 09:25:00 +08:00
aixianling
78d2c0ee21 多彩柱状完成 2024-03-25 18:49:59 +08:00
aixianling
03cd857bf3 多彩柱状完成 2024-03-25 18:49:22 +08:00
aixianling
5273f300ea 允许echart在组件内更换图标类型 2024-03-25 17:49:57 +08:00
aixianling
4c220621b5 给echart提供个性化的地方 2024-03-25 15:51:15 +08:00
aixianling
e2c0e919d3 调校列表 2024-03-25 13:48:28 +08:00
aixianling
bffb6d14e0 新增大屏饼图组件 2024-03-22 18:34:38 +08:00
aixianling
10b43594ca 修复双向绑定 2024-03-22 13:59:14 +08:00
aixianling
c7b37d645d 更换json编辑器 2024-03-22 11:52:39 +08:00
aixianling
bc17e11c47 增加统计组件 2024-03-21 15:46:13 +08:00
aixianling
0731de6926 保存下配置 2024-03-21 14:49:23 +08:00
aixianling
9710e0aa00 删除冗余代码 2024-03-20 11:04:16 +08:00
aixianling
59b4151e15 集成环境变量作为选项配置的 2024-03-20 10:41:28 +08:00
liuye
d0a695e874 席位管理 2024-03-14 10:50:41 +08:00
liuye
ec55f48a63 xbot 2024-03-13 17:37:30 +08:00
liuye
f69a6a75c8 xbot私聊放开 2024-03-13 16:54:24 +08:00
liuye
6f688a058c cv 2024-03-13 10:06:33 +08:00
liuye
9ea22ba66b cv 2024-03-13 10:01:22 +08:00
liuye
dbf63a0952 xbot个人微信放开私聊 2024-03-13 09:30:19 +08:00
liuye
2de8bc681b 席位 2024-03-13 09:16:04 +08:00
liuye
1ba2d12376 纠纷类别 2024-03-05 15:28:04 +08:00
liuye
cb24b1560d detail.judgeName 2024-03-05 08:54:16 +08:00
liuye
5656d35d71 事件上报 2024-03-04 17:55:43 +08:00
liuye
80734a0893 .info 2024-03-04 17:23:17 +08:00
liuye
2335d43070 详情 2024-03-04 14:13:34 +08:00
liuye
1a1ed43bd3 转交 2024-03-04 11:38:17 +08:00
liuye
32500deaee girdCode 2024-03-04 10:22:32 +08:00
liuye
5b56f03269 事件上报 2024-03-01 17:46:42 +08:00
liuye
f5dcdd3755 事件上报 2024-03-01 17:01:53 +08:00
liuye
68d4f8ac1b 事件上报 2024-03-01 14:06:55 +08:00
aixianling
4442b2c578 Merge remote-tracking branch 'origin/build' into build 2024-03-01 11:30:18 +08:00
aixianling
66d0f0c8ab 增加标题文字大小控制 2024-03-01 11:29:37 +08:00
liuye
a65bb62369 qujing 2024-03-01 09:46:31 +08:00
liuye
da02013346 事件上报 2024-02-29 17:03:54 +08:00
liuye
c30099b635 事件上报 2024-02-29 11:51:24 +08:00
aixianling
75f3efa38a 禁用v-viewer的日志输出 2024-02-28 15:13:46 +08:00
aixianling
f9e74f8362 清除注释 2024-02-28 15:11:56 +08:00
aixianling
13b779ff3e 修复切换组件时,数据的设置数据不更新的问题 2024-02-28 15:08:09 +08:00
aixianling
8a1fa07e9b 提交先能打包 2024-02-28 09:08:56 +08:00
aixianling
44a486fba6 还原配置 2024-02-27 17:21:58 +08:00
aixianling
99030da813 临时提交 2024-02-27 17:20:10 +08:00
aixianling
592981cdf8 Merge remote-tracking branch 'origin/build' into build 2024-02-27 17:03:46 +08:00
aixianling
ca9e65f0cf 静态数据兼容key和name作为列名项 2024-02-27 17:03:39 +08:00
liuye
e21be6d018 css 2024-02-27 14:02:11 +08:00
liuye
28439149b3 areaId 2024-02-26 10:49:23 +08:00
liuye
e259a3c411 name 2024-02-26 10:39:57 +08:00
liuye
124cb852aa 统计 2024-02-26 10:24:55 +08:00
liuye
d3fc263f4e 统计 2024-02-26 09:56:32 +08:00
liuye
f404055955 时间 2024-02-19 17:21:34 +08:00
aixianling
421d15e27e 大屏样式完成 2024-02-08 11:09:18 +08:00
aixianling
1994faf5b8 大屏样式完成 2024-02-07 17:24:55 +08:00
aixianling
6cca359c2a 兼容更多打静态数据格式 2024-02-07 15:27:16 +08:00
aixianling
304a64f65c 修复一下样式 2024-02-07 14:23:53 +08:00
aixianling
717328223a bigscreen style fixed 2024-02-06 17:23:42 +08:00
aixianling
f1ed3b9b54 bigscreen style fixed 2024-02-06 17:21:49 +08:00
aixianling
7b5cbdf010 bigscreen style fixed 2024-02-06 17:16:31 +08:00
aixianling
f1dd17b8f9 bigscreen style fixed 2024-02-06 17:10:18 +08:00
aixianling
4e145e8435 bigscreen style fixed 2024-02-06 17:08:29 +08:00
aixianling
066feca056 修复style 2024-02-05 17:05:43 +08:00
aixianling
9414658842 Merge remote-tracking branch 'origin/build' into build 2024-02-05 11:59:26 +08:00
aixianling
c494281257 修复大屏弹窗 2024-02-05 11:59:20 +08:00
liuye
0c940de38d AI统计 2024-02-05 10:48:56 +08:00
liuye
eaf7819d22 屏蔽群主 2024-02-05 10:35:40 +08:00
liuye
212413ae5f AI统计 2024-02-05 10:34:56 +08:00
aixianling
0e94cec311 clean exception 2024-02-02 09:11:00 +08:00
aixianling
9946553938 针对中移物联的监控只能使用一次的问题进行功能设置请求URL在使用前一刻抓取 2024-02-01 19:25:50 +08:00
aixianling
06eb7a30bf 喀左大屏改造,追加监控轮播大屏组件 2024-02-01 19:10:03 +08:00
aixianling
f9684bb0c4 fixed the add dvPage bug 2024-02-01 16:38:54 +08:00
aixianling
bafa145712 Merge remote-tracking branch 'origin/build' into build 2024-01-30 14:06:51 +08:00
aixianling
1f884ac990 提供87的运行脚本 2024-01-30 11:49:02 +08:00
aixianling
776539a32b 先占个坑 2024-01-29 10:32:11 +08:00
aixianling
f82d7f58e7 弹窗内容改成在弹窗中设置富文本 2024-01-26 14:06:06 +08:00
aixianling
a42aa166d1 预埋弹窗设置点 2024-01-24 16:34:57 +08:00
aixianling
7232b894f7 规范文件名 2024-01-24 10:45:43 +08:00
aixianling
4f3a5af06d 规范文件名 2024-01-24 10:25:35 +08:00
aixianling
ac3ea74b87 Merge remote-tracking branch 'origin/build' into build 2024-01-24 10:03:30 +08:00
aixianling
d18b879873 静态数据编辑器改造完成 2024-01-24 10:03:09 +08:00
liuye
8d477fd6b5 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2024-01-24 09:11:02 +08:00
liuye
4f446d5a09 AI关键词 2024-01-24 09:10:42 +08:00
aixianling
f77d943ba6 Merge remote-tracking branch 'origin/build' into build 2024-01-23 18:18:48 +08:00
aixianling
23d845f828 静态数据编辑器基本完成 2024-01-23 18:17:48 +08:00
liuye
f0c3ae6cd4 任务管理 2024-01-23 17:45:08 +08:00
liuye
7ec939c54d 任务管理 2024-01-23 17:09:23 +08:00
liuye
619858e595 任务管理 2024-01-23 17:01:34 +08:00
liuye
5e37673dba 统计 2024-01-23 11:09:18 +08:00
liuye
e45d794128 统计 2024-01-23 11:07:10 +08:00
liuye
74f31b61d2 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2024-01-23 10:53:17 +08:00
liuye
30f8f09645 统计 2024-01-23 10:52:52 +08:00
aixianling
40860776a0 接入avue 2024-01-22 18:19:56 +08:00
aixianling
ad0a91750c v-viewer转化成cdn文件,优化包 2024-01-22 17:12:32 +08:00
liuye
1aa2e264d7 任务数 2024-01-19 14:38:23 +08:00
liuye
7792ec186c 会话 2024-01-19 11:37:23 +08:00
liuye
60e9377f2e 快捷键 2024-01-19 11:17:06 +08:00
liuye
2f711f455a 会话存档 2024-01-19 11:11:55 +08:00
liuye
4943c4cd09 bug 2024-01-18 09:28:28 +08:00
liuye
c399e1a522 bug 2024-01-18 09:18:51 +08:00
liuye
6975bf7608 调用统计 2024-01-18 09:09:24 +08:00
liuye
f01445678d 调用明细 2024-01-17 17:08:46 +08:00
liuye
059112abba ai调用统计 2024-01-17 14:13:00 +08:00
liuye
eaba5f7be7 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2024-01-16 12:37:16 +08:00
liuye
ffa8e336b6 1000000 2024-01-16 12:36:50 +08:00
aixianling
10a67de2ba 刷一遍颜色 2024-01-16 09:35:10 +08:00
aixianling
9316a8749e 颜色调整 2024-01-16 09:14:40 +08:00
b6f7aac2cd 调整大屏展示内容 2024-01-16 02:53:07 +08:00
aixianling
194c9e59df 增加新的数据统计样式 2024-01-15 19:56:05 +08:00
aixianling
4fefcb8766 Merge remote-tracking branch 'origin/build' into build 2024-01-15 19:13:01 +08:00
aixianling
ee78546e7a Ai助手完成 2024-01-15 19:11:44 +08:00
liuye
35aedab466 任务管理 2024-01-15 16:34:29 +08:00
liuye
4574738593 调用次数 2024-01-15 14:17:06 +08:00
liuye
7a0577b1c3 任务管理 2024-01-15 12:01:46 +08:00
liuye
94300ec85c 任务管理 2024-01-15 10:25:19 +08:00
liuye
0256669afb Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2024-01-12 16:01:17 +08:00
liuye
42673696b4 任务管理 2024-01-12 16:01:00 +08:00
aixianling
fdb5226b31 大屏开发 2024-01-11 18:18:00 +08:00
aixianling
8f5b0a990e Merge remote-tracking branch 'origin/build' into build 2024-01-11 10:13:17 +08:00
aixianling
2e3671c1fa 调整打包脚本 2024-01-11 10:12:49 +08:00
liuye
1819bdf1b9 席位管理 2024-01-10 14:59:58 +08:00
liuye
37c81cb607 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2024-01-09 16:08:05 +08:00
liuye
d0a7759428 推送任务 2024-01-09 16:07:07 +08:00
aixianling
cf6a8cf71f Merge remote-tracking branch 'origin/build' into build 2024-01-09 15:54:01 +08:00
aixianling
d8efdc369c 调整在jenkins打包异常时,无法继续打包的问题 2024-01-09 15:53:25 +08:00
liuye
d38355ba37 新增禁用 2024-01-09 15:05:04 +08:00
aixianling
2603294bf9 增加最小文本设置 2024-01-09 10:53:29 +08:00
aixianling
b4a8363efe 增加最小文本设置 2024-01-09 10:52:16 +08:00
aixianling
c84e0d288e 先提交一波 2024-01-08 18:00:12 +08:00
aixianling
6168d5d4b2 增加AI助手 2024-01-08 16:36:34 +08:00
liuye
d7e8fa64fd bug 2024-01-05 11:32:25 +08:00
liuye
8f6917b10f 席位管理 2024-01-05 11:15:43 +08:00
liuye
312c17d985 席位 2024-01-05 10:59:54 +08:00
liuye
15f9f4f9d3 席位管理 2024-01-05 09:09:12 +08:00
liuye
94d27be493 bug 2024-01-02 09:46:11 +08:00
liuye
47c74b5d0a bug 2024-01-02 09:33:24 +08:00
liuye
fb0b73be04 bug 2024-01-02 09:07:19 +08:00
liuye
914fb11d48 & 2023-12-29 17:43:54 +08:00
liuye
950dd57d2d clientInfoId 2023-12-29 17:27:17 +08:00
liuye
293737d8ac 群发 2023-12-28 17:15:19 +08:00
liuye
258bf54607 积分统计 2023-12-21 17:13:26 +08:00
liuye
62a38d7d9e 积分统计 2023-12-21 10:25:31 +08:00
aixianling
bcfd770fc2 修复积分统计变更样式 2023-12-21 09:14:36 +08:00
liuye
07cff62073 积分统计 2023-12-20 17:09:04 +08:00
liuye
1312af0d5c 积分统计 2023-12-20 13:57:10 +08:00
liuye
791af1c397 ai 2023-12-19 11:51:36 +08:00
liuye
3be2c18960 百度ai 2023-12-19 11:07:53 +08:00
liuye
aa4cdb88a2 百度AI关键词 2023-12-19 10:56:31 +08:00
liuye
4d45905531 工作任务 2023-12-01 17:25:34 +08:00
liuye
4f4319150b 楼栋管理 2023-11-29 13:55:06 +08:00
liuye
7913e12144 网格员积分 2023-11-21 14:17:37 +08:00
liuye
a0113a6770 群发通知 2023-11-21 13:57:56 +08:00
liuye
088d91bb95 协同宣发 2023-11-21 11:44:11 +08:00
liuye
bdd2e7f5ee 账号管理 2023-11-21 11:16:39 +08:00
liuye
81f9744633 群发通知 2023-11-21 10:06:10 +08:00
liuye
5859210eb3 标品 2023-11-20 17:43:33 +08:00
liuye
a784c2c9b4 迁移 2023-11-20 10:25:54 +08:00
liuye
688437a068 cv 2023-11-17 10:22:53 +08:00
liuye
843476a24b 代码迁移 2023-11-17 10:10:36 +08:00
liuye
df464eae89 标品迁移 2023-11-17 09:34:34 +08:00
liuye
22023aa887 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-11-08 14:10:05 +08:00
liuye
5718b5bfa2 三会一课 2023-11-08 14:09:18 +08:00
liuye
3ac80e3bbb 三会一课 2023-11-08 14:08:30 +08:00
aixianling
ed6b0695f2 Merge remote-tracking branch 'origin/build' into build 2023-11-08 11:56:48 +08:00
aixianling
1370593dd0 调整平昌的党组织选择 2023-11-08 11:56:32 +08:00
liuye
acb6393f7d 巡查上报设置 2023-11-08 11:48:40 +08:00
liuye
0aaa71aa29 巡查上报 2023-11-08 11:33:28 +08:00
liuye
0c3dab491f 巡查上报设置 2023-11-08 11:20:40 +08:00
liuye
63d85b5c5b 三会一课 2023-11-08 10:45:48 +08:00
liuye
3473d09885 巡查上报设置 2023-11-08 09:31:03 +08:00
liuye
10ae557ad0 巡查上报 2023-11-07 14:18:28 +08:00
liuye
9307452a14 巡查上报设置 2023-11-06 15:36:13 +08:00
liuye
a2519d82a2 网格区块 2023-11-06 15:27:54 +08:00
liuye
ec8da18298 巡查上报设置 2023-11-03 16:06:48 +08:00
liuye
91701965e9 巡查上报设置 2023-11-03 15:59:19 +08:00
liuye
86171587a0 网格区块 2023-11-03 10:30:32 +08:00
liuye
6474d8d4a1 巡查上报设置 2023-11-02 14:55:23 +08:00
aixianling
dc45b610cc Merge remote-tracking branch 'origin/build' into build 2023-11-01 11:34:41 +08:00
aixianling
a0afde54ff 丰都大屏完成 2023-11-01 11:34:27 +08:00
liuye
329aeecb34 登陆 2023-11-01 08:47:20 +08:00
liuye
1b4f7d95bf Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-11-01 08:43:22 +08:00
liuye
2221b11742 登录页手机号换为账号 2023-11-01 08:42:22 +08:00
aixianling
4e07ff289e 丰都大屏完成 2023-10-31 18:06:18 +08:00
aixianling
542466d01a 丰都大屏完成 2023-10-31 18:03:52 +08:00
aixianling
b64f63ef9b 左下角交互调整 2023-10-31 16:09:11 +08:00
aixianling
ff9491490c 互助会地图交互完成 2023-10-31 11:36:39 +08:00
aixianling
9e720dd808 地图聚合 2023-10-30 17:48:04 +08:00
aixianling
985efd1a83 左下角互助会板面数据对接完成 2023-10-30 14:51:03 +08:00
liuye
9251ab86e3 党费缴纳 2023-10-30 11:56:50 +08:00
aixianling
961950bf5e 修复搜索栏显示BUG 2023-10-30 11:50:35 +08:00
aixianling
ed390fafc2 Merge remote-tracking branch 'origin/build' into build 2023-10-30 11:39:40 +08:00
aixianling
ddc099cffb 修复搜索栏显示BUG 2023-10-30 11:39:28 +08:00
liuye
c66b661779 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-10-30 11:16:27 +08:00
liuye
407b3ba2ac 党员管理 2023-10-30 11:15:58 +08:00
aixianling
d61c61d553 Merge remote-tracking branch 'origin/build' into build 2023-10-30 11:11:35 +08:00
aixianling
eaadc9ae9c 修复搜索栏显示BUG 2023-10-30 11:11:20 +08:00
liuye
667e2af2df 地图中心点 2023-10-27 15:19:30 +08:00
liuye
059df5fddf 党费缴纳 2023-10-26 14:24:10 +08:00
liuye
2d74465cf7 党费缴纳 2023-10-26 13:58:40 +08:00
liuye
8b0650641e 党费缴纳 2023-10-26 08:56:19 +08:00
liuye
c830b57f1f 党费缴纳 2023-10-25 16:20:06 +08:00
aixianling
f4b0e31858 更换兑换总积分图标 2023-10-25 12:07:12 +08:00
aixianling
24b7be6b32 修复自适应的返回异常 2023-10-25 10:54:41 +08:00
aixianling
5620d9aeb9 地图重置调整 2023-10-25 09:32:38 +08:00
aixianling
3cc973c3be 获取店铺信息调整参数为visibleId 2023-10-25 08:58:45 +08:00
aixianling
2546cadadd 修复地图切换地图变换 2023-10-24 18:17:56 +08:00
aixianling
1dd3a81607 地图尺寸还原 2023-10-24 18:12:13 +08:00
aixianling
67f1d0c45c 增加地图缩放及恢复 2023-10-24 18:10:46 +08:00
aixianling
ba05fbda15 地区切换修复 2023-10-24 16:04:19 +08:00
aixianling
6ea2e37243 缺失插件 2023-10-24 14:46:16 +08:00
aixianling
cd33176a79 增加互助会空白位补充 2023-10-24 14:27:33 +08:00
aixianling
8d19706bac Merge remote-tracking branch 'origin/build' into build 2023-10-24 13:49:18 +08:00
aixianling
ebb263cf2b 除了第三方数据均已开发完成 2023-10-24 13:48:50 +08:00
liuye
00e02114cf 丰都积分统计自定义范围两个日期不联动 2023-10-24 09:48:45 +08:00
aixianling
5a64f7ac7d 调整部分地图数据 2023-10-23 18:07:14 +08:00
aixianling
d5f959707a Merge remote-tracking branch 'origin/build' into build 2023-10-23 16:35:11 +08:00
aixianling
4ec643dd1a 除地图和对接数据外已完成 2023-10-23 16:32:13 +08:00
liuye
fd90613094 内容管理列表页面接口修改 2023-10-23 15:33:31 +08:00
liuye
1420676c7c 新增店铺 2023-10-23 14:09:52 +08:00
liuye
b37a7b0d04 积分超市店铺位置 2023-10-23 13:58:45 +08:00
aixianling
8c07c9a6cb 对接大部分接口 2023-10-23 10:48:30 +08:00
aixianling
189e7621ad 整体界面完成 2023-10-23 09:18:23 +08:00
aixianling
e55b5b8a8d 丰都图标样式基本完成 2023-10-19 17:19:15 +08:00
aixianling
b7b1431b20 平昌地图图例调整 2023-10-18 18:13:11 +08:00
aixianling
f9b7833e47 平昌地图图例调整 2023-10-18 17:47:54 +08:00
aixianling
82bd4af605 增加平昌地图图例 2023-10-18 15:22:17 +08:00
aixianling
da422ec320 丰都先提交一下 2023-10-18 14:59:52 +08:00
aixianling
8df77fb17a 丰都先提交一下 2023-10-18 10:34:41 +08:00
liuye
522b197279 话题设置,精选动态 2023-10-17 13:57:46 +08:00
liuye
e49b4840e3 巡查上报 2023-10-17 13:43:52 +08:00
liuye
ca7ad35d97 巡查上报 2023-10-17 13:42:24 +08:00
liuye
4ba346e72a 订单 2023-10-17 13:39:06 +08:00
liuye
eed32e32a7 卢龙web端功能迁移 2023-10-17 11:25:18 +08:00
aixianling
3ade163fbd 提交一部分丰都大屏 2023-10-13 18:10:45 +08:00
aixianling
ab92982e71 丰都大屏标题搞定 2023-10-12 18:17:46 +08:00
aixianling
6b7ff8e58c 增加自适应组件 2023-10-11 18:21:40 +08:00
aixianling
7be1dfd235 增加自适应组件 2023-10-11 16:32:13 +08:00
aixianling
76f8830a0e 修复样式 2023-10-10 17:52:30 +08:00
aixianling
de994686f7 增加轻量启动模式,只加载相关项目的代码,来减少构建,启动,刷新,调试所需要的时间 2023-10-10 16:46:43 +08:00
aixianling
5b09630e62 设置在高德API setFitView方法导致的中心点和缩放与初始化不一致的问题的问题调优 2023-10-10 10:25:46 +08:00
aixianling
c776c1d733 修复地图描点点击返回缩放等级与点击前不一致的问题 2023-10-10 09:27:23 +08:00
aixianling
21ed9dc914 修复联动表出现显示异常的问题 2023-10-10 09:03:53 +08:00
aixianling
cec6ccc78a 联动表问题修复 2023-10-09 20:08:00 +08:00
aixianling
6f6dc79702 追加毛玻璃效果 2023-10-09 19:23:39 +08:00
aixianling
656b4be0c3 追加毛玻璃效果 2023-10-09 19:17:35 +08:00
aixianling
e129575479 一维表转二维表完成 2023-10-09 19:11:01 +08:00
aixianling
1b2348ef73 修复轮播图编辑器 2023-10-09 17:37:22 +08:00
aixianling
3a9377fe4b 调整工程结构,并进行了优化 2023-10-09 16:46:02 +08:00
aixianling
d6d1b16a81 微心愿取消所属地区 2023-10-09 11:10:37 +08:00
aixianling
30b25883a8 第一书记跟随目录名称 2023-10-09 10:53:30 +08:00
aixianling
872e7afdd3 多维表功能完成 2023-10-08 18:16:51 +08:00
aixianling
4eeb00b093 紧急修复一老BUG 2023-10-08 14:14:27 +08:00
aixianling
dec9937830 紧急修复一老BUG 2023-10-08 13:48:30 +08:00
aixianling
c2a1ad2cd7 多维图数据设置已完成 2023-10-08 11:17:11 +08:00
aixianling
8dd48bc16c 多维图数据设置已完成 2023-10-08 11:14:00 +08:00
aixianling
8aaf56e9e9 增加如果大屏没有保存基本信息不允许添加大屏内容 2023-10-08 11:12:41 +08:00
aixianling
8224ebfb8a 暂时修复一下 2023-10-08 10:20:04 +08:00
aixianling
fa551fe618 多维表数据设置面板完成 2023-10-07 18:04:34 +08:00
aixianling
03272542b9 增加地图标记点删除功能 2023-10-07 11:52:56 +08:00
aixianling
1c69fc8366 增加地图图标面板修改功能 2023-10-07 11:38:45 +08:00
aixianling
50541832cc 已增加整轮播图和地图连线 2023-10-07 11:30:13 +08:00
aixianling
39a344b054 Merge remote-tracking branch 'origin/build' into build 2023-09-27 14:21:22 +08:00
aixianling
54d49f0d14 优化工程运行 2023-09-27 14:20:38 +08:00
liuye
b235b5a3dc 巡查上报导出 2023-09-21 16:52:20 +08:00
aixianling
54b4c6f7c3 -.-....-.---.-- -..-......----.. ---..---.-.-..- --....-....---- 2023-09-21 10:37:37 +08:00
aixianling
51aa329160 -.-....-.---.-- -..-......----.. ---..---.-.-..- --....-....---- 2023-09-21 09:38:22 +08:00
aixianling
6c60c3439a 调整统计数据度量 2023-09-21 09:18:02 +08:00
aixianling
e725476603 调整3D地图 2023-09-20 17:40:15 +08:00
aixianling
1604efdecc 调整样式 2023-09-20 16:18:47 +08:00
aixianling
7e1bf238a2 点击缩放层级改成16 2023-09-20 15:36:18 +08:00
aixianling
c300e4072b 调整轮播图正文样式 2023-09-20 15:20:34 +08:00
aixianling
c0199b7b27 修改弹窗完毕 2023-09-20 15:06:57 +08:00
liuye
068f041b1b Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-09-14 10:11:28 +08:00
liuye
2a35b7611d sdkFileUrl 2023-09-14 10:11:14 +08:00
aixianling
ec7048ac6b Merge remote-tracking branch 'origin/build' into build 2023-09-12 10:25:30 +08:00
aixianling
5a9a408bac 增加相似度匹配 2023-09-12 10:25:16 +08:00
liuye
449f315602 monitorGroupCount 2023-09-11 17:17:19 +08:00
liuye
d217c3a7d9 状态 2023-09-11 17:14:08 +08:00
liuye
12c3076fbf 席位管理 2023-09-11 17:08:30 +08:00
liuye
b2a6f5c09d 席位 2023-09-11 16:32:10 +08:00
liuye
aeb7a68940 群关联信息 2023-09-08 14:42:03 +08:00
liuye
adbf66aa00 关键词 2023-09-07 17:00:54 +08:00
liuye
20cd701073 关键词管理 2023-09-07 14:58:27 +08:00
liuye
8753f74791 xbot 2023-09-06 17:44:39 +08:00
liuye
39ad7e3a2f Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-09-06 16:46:36 +08:00
aixianling
e619acafd0 Merge remote-tracking branch 'origin/build' into build 2023-09-06 16:46:17 +08:00
liuye
9332c73979 xbot 2023-09-06 16:46:16 +08:00
aixianling
de826faffd npm升级到9之后需要调整npmrc配置 2023-09-06 16:45:58 +08:00
liuye
587b472194 xbot 2023-09-06 16:43:12 +08:00
liuye
7a67f0ebac xbot 2023-09-06 16:15:41 +08:00
liuye
74ddc88d00 xbot 2023-09-06 16:11:03 +08:00
liuye
87441df05d xbot 2023-09-06 15:54:49 +08:00
liuye
5b32a8d9f2 xbot 2023-09-06 15:37:52 +08:00
liuye
7075fed306 xbot 2023-09-06 15:29:18 +08:00
liuye
45083c459d xbot变更需求 2023-09-06 15:24:11 +08:00
liuye
390315d8fc 工单统计 2023-09-06 15:16:58 +08:00
liuye
e22bee323c 敏感词 2023-09-06 13:50:40 +08:00
liuye
f05e036bd0 统计 2023-09-06 13:36:05 +08:00
liuye
27be7e63fc 敏感词统计 2023-09-06 11:44:51 +08:00
liuye
075beeb66b 敏感词聊天记录第一页固定底部 2023-08-28 10:45:19 +08:00
liuye
a06537df58 工单 2023-08-25 10:21:14 +08:00
liuye
fc504404eb xbot 2023-08-25 09:10:55 +08:00
liuye
833b812a5f xbot 2023-08-25 08:53:06 +08:00
liuye
3dc9c0b86d 巡查上报 2023-08-24 15:48:34 +08:00
liuye
f146d3de01 lulong 2023-08-24 09:48:44 +08:00
liuye
0d772dd5d8 卢龙巡查上报 2023-08-24 09:47:22 +08:00
aixianling
a90f9be052 特征库对接 2023-08-23 16:55:51 +08:00
liuye
9038477862 xbot 2023-08-23 10:51:31 +08:00
liuye
468e05d75a xbot 2023-08-23 10:43:21 +08:00
liuye
673de90b92 xbot 2023-08-23 10:14:01 +08:00
liuye
4ce40daea1 xbot 2023-08-23 09:42:03 +08:00
liuye
21346a6798 xbot 2023-08-23 09:26:30 +08:00
liuye
fa6f4a6d96 xbot 2023-08-22 17:29:12 +08:00
liuye
71f3bce5c7 群状态 2023-08-22 16:54:42 +08:00
liuye
6ac9c8e569 xbot 2023-08-22 16:42:36 +08:00
liuye
cab95c1ae7 席位管理 2023-08-22 15:58:16 +08:00
liuye
59b65f1745 工单管理 2023-08-22 13:44:46 +08:00
liuye
d1bc5a27ce 会话存档 2023-08-22 10:22:59 +08:00
liuye
28bb272ea4 会话存档整理 2023-08-22 10:16:06 +08:00
liuye
97755bf7f9 敏感词地图 2023-08-18 10:29:43 +08:00
liuye
2146056299 敏感词 2023-08-18 09:38:01 +08:00
liuye
69e586d62b AppSensitiveWechat 2023-08-17 16:22:16 +08:00
liuye
be339c78ba 敏感词 2023-08-17 16:21:17 +08:00
liuye
c8c1e558b1 敏感词 2023-08-17 15:49:27 +08:00
liuye
e03b0a203a 敏感词 2023-08-17 15:48:39 +08:00
liuye
6c88de497b 席位管理 2023-08-17 15:23:57 +08:00
liuye
b8838d2171 地图 2023-08-17 15:21:12 +08:00
liuye
17249c16fa 敏感词 2023-08-17 14:14:33 +08:00
liuye
8e167df7e3 会话监管 2023-08-17 11:36:33 +08:00
liuye
378f4eba0b 席位管理 2023-08-14 17:52:23 +08:00
liuye
ed4b58e215 席位管理 2023-08-14 11:04:45 +08:00
liuye
c99a9a1332 席位,工单,特征库 2023-08-14 10:43:09 +08:00
aixianling
f342e7d672 巫溪迭代,代码提交一下 2023-08-09 14:16:36 +08:00
liuye
4f240ce79b 网上办事 2023-08-08 10:44:50 +08:00
liuye
3ef745acc6 msgId 2023-08-04 17:00:10 +08:00
liuye
d767bd4326 敏感词 2023-08-04 11:57:20 +08:00
liuye
36768dd5ca 个人微信版会话存档 2023-08-03 16:12:53 +08:00
liuye
0b024f86c2 绘画存档个人微信版 2023-08-02 09:49:51 +08:00
liuye
144d8be0d2 ct 2023-08-01 16:40:20 +08:00
liuye
ef371ae830 舆情监管 2023-08-01 16:39:50 +08:00
aixianling
45a6e9f468 地图描点图标调小到30px 2023-07-25 15:26:40 +08:00
aixianling
d05b98d6e1 地图描点图标调小到30px 2023-07-25 14:39:23 +08:00
liuye
14cbefd125 MP4 2023-07-18 10:19:01 +08:00
yanran200730
046f0bf729 登录日志 2023-07-13 09:05:15 +08:00
yanran200730
6b1c753d63 登录日志 2023-07-13 08:47:33 +08:00
liuye
356ce8a63c 积分类型 2023-07-12 09:36:34 +08:00
liuye
3a27e68a90 地图 2023-07-11 09:55:34 +08:00
yanran200730
6f414822de 1 2023-07-06 16:49:56 +08:00
yanran200730
783bd0c4a3 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-07-06 16:44:58 +08:00
yanran200730
f140ef743d bug 2023-07-06 16:44:50 +08:00
liuye
e87f7305af 会话存档 2023-07-06 11:10:05 +08:00
liuye
d076ac472c 会话存档配置 2023-07-06 10:57:03 +08:00
liuye
5949a8080b 会话存档配置 2023-07-06 10:41:03 +08:00
liuye
9a30b5aee0 关闭 2023-07-05 10:26:16 +08:00
liuye
b1959edcd3 居民信息 2023-07-05 09:38:12 +08:00
liuye
681088cb8d 会话存档 2023-07-04 09:08:59 +08:00
liuye
18009fdcb1 css 2023-06-30 17:16:35 +08:00
liuye
12712f55c8 css 2023-06-30 17:15:38 +08:00
liuye
2394a51cc0 更新图片base64 2023-06-30 16:36:29 +08:00
liuye
9582d09ab7 敏感词 2023-06-30 16:06:41 +08:00
liuye
fce4725783 小程序 2023-06-30 16:01:20 +08:00
liuye
7d90a45cf6 导出 2023-06-30 15:46:15 +08:00
liuye
e3c3058a14 导出 2023-06-30 15:35:27 +08:00
liuye
8b37b1236e 导出 2023-06-30 15:20:14 +08:00
liuye
20361ebe31 导出 2023-06-30 14:55:20 +08:00
liuye
d26ab93831 导出 2023-06-30 14:53:19 +08:00
liuye
d031e5d8e1 聊天记录导出 2023-06-30 14:32:21 +08:00
liuye
87f046d128 导出 2023-06-30 13:46:46 +08:00
liuye
60b14432b6 聊天记录导出 2023-06-30 10:59:43 +08:00
liuye
9e5c080c4d Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-06-30 09:21:11 +08:00
liuye
3824243527 导出按钮 2023-06-30 09:20:50 +08:00
yanran200730
408fcffb29 bug 2023-06-28 15:36:21 +08:00
liuye
e416bd4b33 协同宣发 2023-06-27 14:03:07 +08:00
liuye
376cd60edd 协同宣发 2023-06-27 11:45:40 +08:00
liuye
497db329be 协同宣发 2023-06-27 11:32:50 +08:00
liuye
f375ede115 协同宣发 2023-06-27 11:16:37 +08:00
liuye
406be50c27 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-06-27 11:10:35 +08:00
liuye
2840952a41 报错 2023-06-27 11:09:32 +08:00
aixianling
4d843a9917 修复初始化加载人员的问题 2023-06-27 11:08:30 +08:00
aixianling
853dfc5988 Merge remote-tracking branch 'origin/build' into build 2023-06-27 10:57:26 +08:00
aixianling
437b348d06 修复部门树问题 2023-06-27 10:57:12 +08:00
liuye
d143c6cc94 群发通知 2023-06-27 10:15:51 +08:00
liuye
15ca20f906 协同宣发 2023-06-27 09:57:06 +08:00
aixianling
0b2b613a7d Merge remote-tracking branch 'origin/build' into build 2023-06-27 09:50:18 +08:00
aixianling
8e0265232b 增加替换接口的参数 2023-06-27 09:49:10 +08:00
liuye
0bc282c796 注释发送范围网格 2023-06-27 09:06:34 +08:00
liuye
3acc7ef3d1 title 2023-06-21 10:11:25 +08:00
liuye
8f9d0d577f bug 2023-06-21 09:24:24 +08:00
yanran200730
ccf1be34be Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-06-20 17:36:13 +08:00
yanran200730
22c77339d2 bug 2023-06-20 17:36:02 +08:00
liuye
7c71eb3cb8 会话存档 2023-06-20 17:16:33 +08:00
liuye
3501165a3a 附件 2023-06-20 16:48:15 +08:00
liuye
b42d1a0502 文件 2023-06-20 16:41:17 +08:00
liuye
cc1026765f 会话存档 2023-06-20 15:25:19 +08:00
aixianling
16052ff00c 支持文件列表可指定下载文件名 2023-06-20 10:08:41 +08:00
aixianling
e983bd22a1 支持文件列表可指定下载文件名 2023-06-20 09:59:25 +08:00
aixianling
b09cfd62a5 Merge remote-tracking branch 'origin/build' into build 2023-06-20 09:57:26 +08:00
aixianling
42b77e095c 支持文件列表可指定下载文件名 2023-06-20 09:57:10 +08:00
liuye
a7e4c4528b 会话存档 2023-06-20 09:50:18 +08:00
liuye
852fa0346f 会话存档 2023-06-20 09:30:57 +08:00
liuye
295ff657e8 敏感词记录 2023-06-19 15:46:28 +08:00
liuye
56b12271b8 敏感词聊天记录 2023-06-19 11:18:33 +08:00
yanran200730
80438a6ef2 bug 2023-06-16 18:02:38 +08:00
yanran200730
a3f6cde2da bug 2023-06-16 17:53:25 +08:00
yanran200730
0f1e9d4815 bug 2023-06-16 16:18:08 +08:00
yanran200730
7cee782996 bug 2023-06-16 15:57:35 +08:00
yanran200730
129ea08723 bug 2023-06-16 15:46:01 +08:00
yanran200730
cf6b2ae087 大屏 2023-06-16 14:05:05 +08:00
yanran200730
cc6719a677 宣发统计 2023-06-16 13:52:23 +08:00
yanran200730
76523d1c9f Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-06-15 17:06:00 +08:00
yanran200730
545f796578 协同宣发 2023-06-15 17:05:54 +08:00
liuye
f2ff079d79 关键词管理 2023-06-15 16:21:46 +08:00
liuye
f51879a8af 商品名称 2023-06-15 15:29:32 +08:00
liuye
c6638f891d 注释商品链接 2023-06-15 15:20:33 +08:00
liuye
6c517b5f2f 文字修改 2023-06-15 14:39:45 +08:00
liuye
20d2cd8426 店铺地区查询 2023-06-15 14:38:00 +08:00
liuye
645b6c774f 丰都积分新需求 2023-06-15 14:23:45 +08:00
liuye
ac9b240a0f 内部外部标签 2023-06-14 17:55:18 +08:00
liuye
0164aaa924 内部外部 2023-06-14 17:40:08 +08:00
liuye
9c0330561c loading 2023-06-14 10:52:53 +08:00
liuye
2575c256c4 关键词管理 2023-06-14 10:29:52 +08:00
liuye
543636c180 会话存档交互效果 2023-06-14 09:34:49 +08:00
liuye
23383c28de 部门选择 2023-06-13 15:35:14 +08:00
liuye
c616e57b4f 关键词管理 2023-06-13 15:15:50 +08:00
liuye
4e5814b1a1 去掉网格 2023-06-12 16:31:34 +08:00
liuye
47779269b4 删除旧版协同宣发 2023-06-12 16:16:23 +08:00
yanran200730
fe62caea78 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-06-12 15:54:51 +08:00
yanran200730
0dd726ced9 bug 2023-06-12 15:54:45 +08:00
liuye
5549773805 隐藏名片用户id 2023-06-12 15:11:53 +08:00
liuye
56688f75d8 群发居民群 2023-06-12 09:56:08 +08:00
yanran200730
e3a9f8032b bug 2023-06-12 09:20:24 +08:00
liuye
06eaf1e59d ct 2023-06-09 17:55:17 +08:00
liuye
5dba7c558f 会话存档 2023-06-09 17:54:34 +08:00
yanran200730
47a1f52cde Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-06-09 17:44:37 +08:00
yanran200730
38d79cc0e2 BUG 2023-06-09 17:44:31 +08:00
liuye
f697a86440 小程序/链接 2023-06-09 17:05:02 +08:00
yanran200730
bcbdb81ad1 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-06-09 16:07:06 +08:00
yanran200730
a1dfc6483c bug 2023-06-09 16:06:59 +08:00
liuye
358ad78f13 小程序/链接 2023-06-09 16:04:43 +08:00
yanran200730
164fe19a4a bug 2023-06-09 15:49:51 +08:00
yanran200730
9c45f25e8d Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-06-09 14:50:33 +08:00
yanran200730
8af3b1b9fb Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-06-09 14:50:19 +08:00
liuye
5f92126be4 地图 2023-06-09 14:50:14 +08:00
yanran200730
8af5ea6f45 bug 2023-06-09 14:50:12 +08:00
liuye
cde4ef3ddf ct 2023-06-09 14:46:46 +08:00
liuye
44b4685257 消息类型地图,表情 2023-06-09 14:46:25 +08:00
yanran200730
b89581c900 bug 2023-06-09 14:40:51 +08:00
yanran200730
c18511ac01 bug 2023-06-09 14:30:26 +08:00
yanran200730
6e1b0a0684 bug 2023-06-09 14:29:35 +08:00
yanran200730
5b90115b80 每日收益明细导出 2023-06-09 14:20:20 +08:00
yanran200730
f4c3ad72c4 bug 2023-06-09 14:19:26 +08:00
yanran200730
4eb960b16b bug 2023-06-09 14:13:32 +08:00
yanran200730
f2a7cafc76 bug 2023-06-09 14:13:08 +08:00
yanran200730
96647bfa90 bug 2023-06-09 14:01:22 +08:00
yanran200730
2d943d4399 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-06-09 13:44:37 +08:00
yanran200730
fc0f92a7de bug 2023-06-09 13:44:31 +08:00
liuye
00340f1d21 会话 2023-06-09 11:53:52 +08:00
liuye
f59179e3bc 表情 2023-06-09 11:50:59 +08:00
yanran200730
27e6fe0eb2 bug 2023-06-09 11:33:45 +08:00
yanran200730
107515e876 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-06-09 11:14:47 +08:00
yanran200730
6a3cadf53d 公众号 2023-06-09 11:14:39 +08:00
liuye
feea70120c 会话 2023-06-09 11:09:12 +08:00
liuye
549d747a8c bug 2023-06-09 10:46:36 +08:00
liuye
201076e0fe 消息类型 2023-06-09 10:38:34 +08:00
liuye
75d33443f0 会话 2023-06-09 09:29:50 +08:00
liuye
b5afda4cce 会话存档 2023-06-09 09:28:05 +08:00
yanran200730
7e40790569 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-06-08 17:23:33 +08:00
yanran200730
507565de3d 账号管理 2023-06-08 17:23:28 +08:00
liuye
ad2e5bccab 会话存档 2023-06-08 17:17:36 +08:00
liuye
077fc80264 会话存档 2023-06-08 17:01:11 +08:00
liuye
7e0bc1ef61 会话存档 2023-06-08 16:53:49 +08:00
yanran200730
4392aed3f6 公众号设置 2023-06-08 14:48:10 +08:00
liuye
fe9b1cd542 会话存档 2023-06-08 09:43:39 +08:00
liuye
99d9d36549 会话存档 2023-06-08 09:37:11 +08:00
liuye
019e8262bb 会话存档 2023-06-07 17:57:27 +08:00
liuye
e89d9d8716 会话存档 2023-06-07 17:53:53 +08:00
yanran200730
6a828ff68c bug 2023-06-07 13:53:59 +08:00
yanran200730
31c18321ae 公众号设置 2023-06-06 11:13:46 +08:00
yanran200730
1763582623 公众号设置 2023-06-06 10:35:36 +08:00
yanran200730
d0a194e41b 公众号统计 2023-06-05 17:22:57 +08:00
yanran200730
a020f4c097 新闻统计 2023-06-05 16:28:10 +08:00
yanran200730
5d8ab39041 bug 2023-06-05 16:04:17 +08:00
yanran200730
e78a89a112 运营平台 2023-06-05 14:48:34 +08:00
yanran200730
3e440cfad9 大屏组件 2023-05-31 17:30:30 +08:00
yanran200730
0266acd77a 大屏组件 2023-05-29 15:41:55 +08:00
yanran200730
97306a8dc0 大屏标题组件 2023-05-29 15:26:47 +08:00
yanran200730
2598239ccd 大屏组件 2023-05-29 14:44:24 +08:00
aixianling
9623b426b0 调整字体大小 2023-05-26 17:28:50 +08:00
aixianling
68d122e38d 增加报错兼容 2023-05-26 14:07:59 +08:00
aixianling
d93a658666 增加填写时长的地方 2023-05-26 13:54:19 +08:00
aixianling
88a2955788 Merge remote-tracking branch 'origin/build' into build 2023-05-26 11:56:31 +08:00
aixianling
2cfa55841a 增加设置腾讯视频入口 2023-05-26 11:56:11 +08:00
yanran200730
8c77493f7a bug 2023-05-26 11:55:25 +08:00
yanran200730
2eedf9e7fc 大屏组件 2023-05-25 17:56:52 +08:00
yanran200730
cbda18f8e8 文字调整 2023-05-25 14:26:10 +08:00
aixianling
ce7db89626 Merge remote-tracking branch 'origin/build' into build 2023-05-25 14:19:04 +08:00
aixianling
be91cfe3b0 调整说明 2023-05-25 14:18:37 +08:00
yanran200730
99368c5f86 积分统计丰都 => 数字平昌 2023-05-25 14:15:23 +08:00
yanran200730
38d5f9d753 bug 2023-05-25 13:46:39 +08:00
aixianling
4a6732d816 调整说明 2023-05-25 10:26:21 +08:00
aixianling
44ce4979d7 积分统计完成 2023-05-25 10:15:21 +08:00
liuye
ccd8cdf9ba 订单管理 2023-05-24 15:34:06 +08:00
liuye
ba7987b7ff ct 2023-05-24 14:09:41 +08:00
liuye
9af8a19922 新加是否代兑换字段 2023-05-24 14:09:10 +08:00
yanran200730
f47a481076 bug 2023-05-24 09:08:32 +08:00
艾贤凌
84096c9bde 编码支持h265 2023-05-23 12:41:52 +00:00
yanran200730
73b7c5222b bug 2023-05-23 10:45:43 +08:00
yanran200730
6d435d32d7 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-05-23 10:35:43 +08:00
yanran200730
1fec63c027 bug 2023-05-23 10:34:19 +08:00
aixianling
383fcd00b0 Merge remote-tracking branch 'origin/build' into build 2023-05-23 09:16:42 +08:00
aixianling
5bd534c170 修复获取家庭成员时生日信息导致的异常 2023-05-23 09:16:15 +08:00
yanran200730
c71cb51e11 bug 2023-05-23 09:00:24 +08:00
yanran200730
a8ac7b14d4 bug 2023-05-22 16:38:45 +08:00
yanran200730
291d068c66 积分超市 2023-05-22 14:54:16 +08:00
yanran200730
57c1037871 积分超市 2023-05-22 14:42:21 +08:00
yanran200730
ca19697d1c 需求变更 2023-05-22 14:25:03 +08:00
yanran200730
6d037bbe8d Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-05-19 15:24:21 +08:00
yanran200730
c3f80c5fa6 bug 2023-05-19 15:24:13 +08:00
aixianling
8b320ece34 调整因ws而变更的引用路径 2023-05-19 09:53:47 +08:00
aixianling
e6f2d1e599 调整邻里互助集合,并追加话题设置模块 2023-05-19 09:46:28 +08:00
aixianling
fbf2ac5d12 邻里互助提升为标准应用 2023-05-19 09:07:20 +08:00
yanran200730
ccdbbc8562 bug 2023-05-17 16:55:44 +08:00
yanran200730
5181e9ec14 网格员积分 2023-05-17 15:15:11 +08:00
yanran200730
c90cdf7678 数字平昌 2023-05-17 15:12:35 +08:00
yanran200730
57120ca85f bug 2023-05-16 14:03:14 +08:00
yanran200730
df27cbefec bug 2023-05-15 15:42:26 +08:00
liuye
381eefb78f 网格选择 2023-05-12 16:45:39 +08:00
liuye
969785c47a css 2023-05-12 15:46:36 +08:00
liuye
02ae6b6280 评价组件 2023-05-12 15:45:15 +08:00
liuye
568c560e61 el-image 2023-05-12 15:40:11 +08:00
liuye
c9d6b0dd14 评价图片 2023-05-12 15:22:23 +08:00
liuye
4d0954fad5 评价图片 2023-05-12 15:12:34 +08:00
liuye
6ff5e64613 366 2023-05-12 11:59:06 +08:00
liuye
4100f0744d 399 2023-05-12 10:16:25 +08:00
yanran200730
81d4c7c174 大屏组件 2023-05-11 17:09:40 +08:00
yanran200730
66ee9806cf 大屏组件 2023-05-11 16:55:34 +08:00
yanran200730
09b9b308ff 大屏组件 2023-05-11 16:35:45 +08:00
yanran200730
1e6c7109f3 大屏组件 2023-05-11 16:08:59 +08:00
yanran200730
17dc4d48a4 考试统计 bug 2023-05-11 13:57:09 +08:00
yanran200730
3d927d8e8d Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-05-11 11:09:42 +08:00
yanran200730
66addd9ebe 考试统计 2023-05-11 11:09:25 +08:00
liuye
f92602a7c1 文字修改 2023-05-11 09:52:13 +08:00
liuye
ef06d88bd4 status 2023-05-11 09:45:12 +08:00
liuye
399180d2cf 事件上报 2023-05-10 17:18:54 +08:00
liuye
3ec7a262d4 事件上报 2023-05-10 17:02:33 +08:00
liuye
8acfa11f94 事件上报 2023-05-10 16:55:57 +08:00
aixianling
14bee51dbd Merge remote-tracking branch 'origin/build' into build 2023-05-10 10:22:35 +08:00
aixianling
1934cfaafc 巫溪复制平昌党建党员阵地 2023-05-10 10:22:21 +08:00
yanran200730
a20d1d893c Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-05-09 17:04:21 +08:00
yanran200730
a29f7b4aae 丰都积分规则 2023-05-09 17:04:15 +08:00
liuye
c73dba2cf0 事件上报 2023-05-09 16:51:27 +08:00
liuye
d15a9ee20e 事件上报 2023-05-09 15:54:07 +08:00
yanran200730
56e330588f Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-05-09 15:23:47 +08:00
yanran200730
c3ad840e0c bug 2023-05-09 15:23:41 +08:00
liuye
46e5ac38dc 事件上报 2023-05-09 15:02:37 +08:00
liuye
d662e2dc75 事件上报 2023-05-09 10:32:11 +08:00
liuye
3361aa300b 事件上报 2023-05-08 17:56:14 +08:00
liuye
6741eb17d4 事件上报 2023-05-08 14:22:01 +08:00
aixianling
44e2c25f5b 消除没有使用的接口 2023-05-08 11:14:09 +08:00
yanran200730
e238a9e052 网格排序 2023-05-06 15:03:40 +08:00
yanran200730
3087ca7ae9 居民信息 2023-05-06 10:52:17 +08:00
yanran200730
64226da7cf 曲靖-考试管理 2023-05-06 09:11:44 +08:00
yanran200730
0a5edffcf8 黔西南大屏 2023-05-06 09:03:33 +08:00
yanran200730
3e7ac24bd5 bug 2023-05-05 17:53:35 +08:00
yanran200730
80d487a726 bug 2023-05-05 17:45:00 +08:00
yanran200730
77cf1c1525 bug 2023-05-05 17:29:00 +08:00
yanran200730
2248485801 黔西南大屏 2023-05-05 17:03:30 +08:00
yanran200730
ed46bece45 黔西南大屏 2023-05-05 16:47:33 +08:00
yanran200730
da858fbe35 黔西南大屏 2023-05-05 16:46:12 +08:00
yanran200730
f2f3d5c8a7 bug 2023-05-05 16:36:08 +08:00
yanran200730
df160cbb2b 黔西南大屏 2023-05-05 16:33:53 +08:00
yanran200730
6cd0602536 bug 2023-05-05 16:32:42 +08:00
yanran200730
41a78266fe bug 2023-05-05 16:24:08 +08:00
yanran200730
ef639ba1c1 大屏 2023-05-05 16:17:36 +08:00
yanran200730
56b3240de7 大屏 2023-05-05 16:14:10 +08:00
yanran200730
e80e0c61d9 大屏 2023-05-05 15:40:16 +08:00
yanran200730
4398d76a91 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build
# Conflicts:
#	vue.config.js
2023-05-05 14:39:35 +08:00
yanran200730
c5784e268e 大屏 2023-05-05 14:37:54 +08:00
liuye
b6a55f5b9d 事件上报 2023-05-05 10:02:12 +08:00
liuye
7249809b09 事件上报 2023-05-05 09:50:49 +08:00
aixianling
892a308e0b 还原代理 2023-05-05 09:20:18 +08:00
yanran200730
0507cd9a89 大屏 2023-05-04 15:19:09 +08:00
yanran200730
60facb4d4d 黔西南大屏 2023-05-04 10:14:04 +08:00
yanran200730
d7ccdb3897 大屏 2023-04-28 17:51:54 +08:00
yanran200730
49ddfe9404 大屏 2023-04-28 16:37:35 +08:00
yanran200730
e84f8b4c18 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-04-28 16:02:15 +08:00
yanran200730
973ca20fb6 大屏 2023-04-28 16:01:08 +08:00
liuye
5b5fcd2a88 357 2023-04-28 14:28:39 +08:00
aixianling
1f20801f2c BUG 356 2023-04-28 14:25:54 +08:00
aixianling
fe1a7c6ced Merge remote-tracking branch 'origin/build' into build 2023-04-28 14:04:12 +08:00
aixianling
6d14c00acc BUG 353 2023-04-28 14:04:01 +08:00
yanran200730
f7cf905f93 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-04-28 13:47:47 +08:00
yanran200730
de3e4ef259 bug 2023-04-28 13:47:40 +08:00
aixianling
079f85eab9 Merge remote-tracking branch 'origin/build' into build 2023-04-28 11:52:35 +08:00
aixianling
c241d613fe BUG 352 2023-04-28 11:52:19 +08:00
yanran200730
f346e8289f bug 2023-04-27 17:49:35 +08:00
yanran200730
de018e95b5 bug 2023-04-27 17:25:42 +08:00
yanran200730
f5b9baac75 bug 2023-04-27 17:21:09 +08:00
yanran200730
8e501b0f7e bug 2023-04-27 16:58:49 +08:00
yanran200730
597189adb1 bug 2023-04-27 16:43:13 +08:00
yanran200730
6d28ab9d12 大屏bug 2023-04-27 16:19:09 +08:00
yanran200730
1090dc13f1 bug 2023-04-27 16:18:36 +08:00
yanran200730
8ae50f3852 bug 2023-04-27 16:16:28 +08:00
yanran200730
b098a4e294 bug 2023-04-27 15:18:57 +08:00
yanran200730
89ffcc639a bug 2023-04-27 14:39:06 +08:00
yanran200730
35105ddc05 大屏开发 2023-04-27 10:50:18 +08:00
yanran200730
de42648740 大屏bug 2023-04-27 09:18:48 +08:00
yanran200730
b1f62f868b 大屏 2023-04-26 18:02:48 +08:00
yanran200730
d026b4aa14 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-04-26 17:33:02 +08:00
yanran200730
9a3eeca0cf 大屏 2023-04-26 17:32:56 +08:00
liuye
16418ba1f5 会话存档 2023-04-26 16:57:26 +08:00
liuye
b5b530d1d7 积分统计 2023-04-26 16:33:55 +08:00
liuye
9370e764bb 积分兑换 2023-04-26 16:16:46 +08:00
liuye
4f4c4b1cb1 会话存档+积分统计 2023-04-26 14:23:45 +08:00
yanran200730
b77c5cc7ee 黔西南大屏 2023-04-26 14:14:37 +08:00
yanran200730
927747e95d bug 2023-04-26 11:05:49 +08:00
yanran200730
30b25e56b8 大屏 2023-04-26 09:52:49 +08:00
yanran200730
fff9891177 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-04-26 09:16:42 +08:00
yanran200730
7086b7af99 大屏 2023-04-26 09:15:42 +08:00
aixianling
bbdc9c3983 Merge remote-tracking branch 'origin/build' into build 2023-04-25 17:39:10 +08:00
aixianling
11ca29b3f6 字典加载 2023-04-25 17:39:01 +08:00
yanran200730
b126053e09 黔西南大屏 2023-04-25 17:25:37 +08:00
yanran200730
4d7b5949c1 黔西南大屏 2023-04-25 16:01:14 +08:00
yanran200730
0f752889fd Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-04-25 14:32:57 +08:00
yanran200730
aca3b38dab 大屏 2023-04-25 14:32:51 +08:00
aixianling
9c37fa0414 正则式工具增加身份证正则式 2023-04-25 14:05:52 +08:00
aixianling
1481bf7fa0 Merge remote-tracking branch 'origin/build' into build 2023-04-25 13:50:32 +08:00
aixianling
181a4018be 调整地图可能的加载顺序问题 2023-04-25 13:50:09 +08:00
yanran200730
3724b25e4c 黔西南大屏 2023-04-25 10:38:11 +08:00
yanran200730
dfc9a1cb03 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-04-24 17:49:57 +08:00
yanran200730
090d15dda1 大屏 2023-04-24 17:49:43 +08:00
aixianling
c3fa9b8d79 大屏设计增加地图图层设置 2023-04-24 16:24:34 +08:00
liuye
4f9c4c8d27 所属网格 2023-04-24 14:45:46 +08:00
liuye
a9959a8ed2 订单管理 2023-04-24 13:48:46 +08:00
liuye
fa9f36bca9 精选动态 2023-04-24 11:25:27 +08:00
yanran200730
4d8fd26ddd 黔西南大屏 2023-04-24 10:34:49 +08:00
liuye
f5a65e98be 351 2023-04-24 10:07:38 +08:00
yanran200730
5a4c1f9a61 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-04-23 17:50:44 +08:00
yanran200730
605f8a33f6 黔西南大屏 2023-04-23 17:50:36 +08:00
liuye
090fceabbe 居民订单 2023-04-23 15:30:02 +08:00
liuye
53d9e5f558 居民订单 2023-04-23 15:24:30 +08:00
liuye
fb3206a9ec 字典 2023-04-23 10:57:12 +08:00
liuye
3bf5efdd64 test 2023-04-23 10:10:25 +08:00
liuye
14fc3eff94 348 2023-04-23 09:16:28 +08:00
liuye
a1cb11b1d8 居民积分 2023-04-21 13:35:59 +08:00
liuye
8beb2a3699 积分审核 2023-04-21 10:46:27 +08:00
liuye
8b818e82b4 积分审核 2023-04-21 10:45:21 +08:00
liuye
deb5ef82e1 积分公示,编辑积分申请 2023-04-21 10:32:20 +08:00
liuye
1fc632f097 积分审核 2023-04-21 10:23:55 +08:00
liuye
ada5ef8bfe 326 2023-04-21 09:52:46 +08:00
liuye
7deff7e464 343 2023-04-21 09:48:07 +08:00
liuye
466192f7fd 345 2023-04-21 09:43:37 +08:00
liuye
cc74131f44 254 2023-04-21 09:42:29 +08:00
liuye
4f217788ca 居民积分 2023-04-21 09:21:26 +08:00
liuye
a8557de4d6 居民信息 2023-04-21 09:11:57 +08:00
yanran200730
69b2bd6b6f 245 2023-04-20 16:21:53 +08:00
yanran200730
bd5698a781 bug 2023-04-20 15:18:10 +08:00
yanran200730
7539d38294 336 2023-04-20 14:56:21 +08:00
yanran200730
32f819f16a bug 2023-04-20 14:37:23 +08:00
yanran200730
cf19a1ee7b bug 2023-04-20 14:06:58 +08:00
yanran200730
c0b9078a0b 324 2023-04-20 13:56:19 +08:00
yanran200730
09a161686c 333 2023-04-20 13:54:14 +08:00
yanran200730
c7a32d0319 330 2023-04-20 13:50:57 +08:00
yanran200730
5d42d5ad34 267 2023-04-20 11:51:27 +08:00
yanran200730
c0a513a1a7 285 2023-04-20 11:48:51 +08:00
yanran200730
d1fa008407 270 2023-04-19 14:23:55 +08:00
yanran200730
7d203cda5e 260 2023-04-19 14:16:52 +08:00
yanran200730
1846715f47 281 2023-04-19 14:15:43 +08:00
yanran200730
7ee414725c 282 2023-04-19 14:15:01 +08:00
yanran200730
d0361418cf 283 2023-04-19 14:13:57 +08:00
yanran200730
b202caec7f 310 2023-04-19 14:10:03 +08:00
yanran200730
4bed4bca66 284 2023-04-19 14:08:31 +08:00
yanran200730
61b11585b2 288 2023-04-19 14:05:33 +08:00
yanran200730
671d62d0cc 292 2023-04-19 14:00:15 +08:00
yanran200730
33695de84f 301 2023-04-19 13:57:56 +08:00
yanran200730
4b99f2768f 305 2023-04-19 13:53:24 +08:00
yanran200730
6b4051b984 306 2023-04-19 13:51:37 +08:00
yanran200730
a2747e7182 309 2023-04-19 13:49:59 +08:00
yanran200730
b36a3661a0 300 2023-04-19 11:48:51 +08:00
yanran200730
8a7dc2e798 居民信息 2023-04-19 10:58:34 +08:00
yanran200730
8c5e95859a 禁言 2023-04-19 10:13:37 +08:00
yanran200730
908a11d268 bug 2023-04-19 09:48:08 +08:00
yanran200730
2daeb761b1 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-04-19 09:16:26 +08:00
yanran200730
bb67491c2d bug 2023-04-19 09:16:19 +08:00
aixianling
c5b3f6daa2 Merge remote-tracking branch 'origin/build' into build 2023-04-19 09:15:18 +08:00
aixianling
8eb675f4a4 考试人数=>考试人次 2023-04-19 09:15:06 +08:00
yanran200730
6a9ca31b8f bug 2023-04-19 08:35:57 +08:00
yanran200730
f76f662aac bug 2023-04-18 18:01:55 +08:00
yanran200730
12c6feb238 居民信息 2023-04-18 17:39:34 +08:00
yanran200730
de50f365af 积分审核 2023-04-18 17:30:52 +08:00
yanran200730
14575cbb33 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-04-18 15:30:18 +08:00
yanran200730
4530440bd6 居民信息 2023-04-18 15:30:12 +08:00
aixianling
fdbe251c3e Merge remote-tracking branch 'origin/build' into build 2023-04-18 13:59:06 +08:00
aixianling
f4d7cebd8a 应雷雷要求修改默认值为1 2023-04-18 13:58:56 +08:00
yanran200730
113a7a174e 积分规则 2023-04-18 10:34:24 +08:00
yanran200730
693b85d0b0 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-04-18 10:05:10 +08:00
yanran200730
9dd6790b2d 积分规则需求变更的开发 2023-04-18 10:04:58 +08:00
aixianling
ca810d2da1 Merge remote-tracking branch 'origin/build' into build 2023-04-18 09:34:21 +08:00
aixianling
da9b3b2add 改造广播设备管理 2023-04-18 09:34:11 +08:00
yanran200730
5b4443f41f 274 2023-04-18 08:51:28 +08:00
yanran200730
4e54061671 260 2023-04-17 17:58:11 +08:00
yanran200730
e594478f16 262 2023-04-17 17:55:36 +08:00
yanran200730
6f7903b9ce 262 2023-04-17 17:54:12 +08:00
yanran200730
ff55cd42ba 266 2023-04-17 17:42:36 +08:00
yanran200730
36b34a190b Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-04-17 17:34:53 +08:00
yanran200730
18c0827f5a 264 2023-04-17 17:34:32 +08:00
aixianling
d49d93b19d 增加全选功能 2023-04-17 15:48:41 +08:00
yanran200730
7ec58be72d 270 2023-04-17 14:38:42 +08:00
yanran200730
9bc648f5b8 249 2023-04-17 14:36:24 +08:00
yanran200730
6be6b2626a 268 2023-04-17 14:33:13 +08:00
yanran200730
1320479c39 256 2023-04-17 14:30:21 +08:00
yanran200730
84f5c26cd3 257 2023-04-17 14:18:47 +08:00
yanran200730
a2fa56c2ad 251 2023-04-17 14:00:27 +08:00
yanran200730
49c967885c 248 2023-04-17 13:57:34 +08:00
yanran200730
40a62ead01 246 2023-04-17 13:55:17 +08:00
yanran200730
6b7e887ae8 259 2023-04-17 13:54:16 +08:00
yanran200730
fb01e4f84f 255 2023-04-17 13:52:15 +08:00
yanran200730
6d200ea43b 253 2023-04-17 13:50:02 +08:00
yanran200730
8be74f75fd 247 2023-04-17 13:49:12 +08:00
yanran200730
785ba26120 269 2023-04-17 13:45:35 +08:00
yanran200730
a461c9add7 积分公示 2023-04-17 10:27:32 +08:00
yanran200730
9ab6ed0f11 bug 2023-04-17 10:17:39 +08:00
yanran200730
e553c9c758 bug 2023-04-14 17:42:51 +08:00
yanran200730
42eff40f48 bug 2023-04-14 16:14:06 +08:00
yanran200730
87ae42f7fe 订单导出 2023-04-14 15:58:19 +08:00
yanran200730
c37a19036a 积分超市 2023-04-14 14:49:46 +08:00
yanran200730
7d72023ad7 积分订单 2023-04-14 14:04:38 +08:00
yanran200730
c72eb9c40e Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-04-14 10:06:11 +08:00
yanran200730
fd089d78ac 订单 2023-04-14 10:06:03 +08:00
aixianling
5b49e3ef7c Merge remote-tracking branch 'origin/build' into build 2023-04-14 09:15:33 +08:00
aixianling
4d97436d14 大屏地图标记弹窗完成 2023-04-14 09:15:16 +08:00
yanran200730
442f0deccb Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-04-13 18:01:42 +08:00
yanran200730
483a4d585f 积分超市 2023-04-13 18:01:11 +08:00
aixianling
1bd2bf44bb 大屏地图标记弹窗完成 2023-04-13 15:59:28 +08:00
yanran200730
62c927746b Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-04-13 14:26:47 +08:00
yanran200730
1cb5b85483 积分超市 2023-04-13 14:26:41 +08:00
aixianling
ea60eb2938 去除多余引用 2023-04-13 14:06:43 +08:00
aixianling
032b077bdc 修复异常 2023-04-13 11:38:49 +08:00
yanran200730
27b91ad6fa Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-04-12 17:49:48 +08:00
yanran200730
1971f36547 积分超市 2023-04-12 17:49:40 +08:00
aixianling
14cdb8bd31 Merge remote-tracking branch 'origin/build' into build 2023-04-12 17:12:19 +08:00
aixianling
a3a847aff6 增加地图标记点编辑 2023-04-12 17:12:04 +08:00
yanran200730
9084c6fd1b 积分超市 2023-04-12 16:39:14 +08:00
yanran200730
a698ef19cb 需求变更 2023-04-12 11:32:29 +08:00
yanran200730
2cdfa358eb bug 2023-04-12 09:55:12 +08:00
yanran200730
ef91ed6254 bug 2023-04-12 09:34:14 +08:00
yanran200730
c9b5dc63af Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-04-11 17:52:30 +08:00
yanran200730
f437e49ed2 积分超市 2023-04-11 17:52:24 +08:00
aixianling
1c64d0b827 兼容旧样式的埋点 2023-04-11 16:22:48 +08:00
aixianling
b48e60ea69 Merge remote-tracking branch 'origin/build' into build 2023-04-11 16:16:43 +08:00
aixianling
7330da14eb 强制重新加载地图,并增加兼容旧样式的埋点 2023-04-11 16:16:33 +08:00
yanran200730
3823968e95 bug 2023-04-11 16:05:07 +08:00
yanran200730
a69319b9e4 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-04-11 15:37:22 +08:00
yanran200730
895ca677cf 订单 2023-04-11 15:37:16 +08:00
aixianling
481f3f13b3 大屏地图修复 2023-04-11 14:33:36 +08:00
aixianling
c55de2e7ea Merge remote-tracking branch 'origin/build' into build 2023-04-11 10:31:42 +08:00
aixianling
9aa6d8f180 网格标绘增加图层切换 2023-04-11 10:29:57 +08:00
yanran200730
29b9e8fdd0 证书 2023-04-10 14:19:26 +08:00
yanran200730
b106b798eb 证书 2023-04-10 11:25:19 +08:00
yanran200730
f361599dc5 曲靖证书 2023-04-10 11:05:37 +08:00
yanran200730
e31ced26f9 bug 2023-04-07 18:06:55 +08:00
yanran200730
416d4a3a45 bug 2023-04-07 17:13:03 +08:00
yanran200730
930ce7bf70 bug 2023-04-07 17:11:17 +08:00
yanran200730
d6dc17553d bug 2023-04-07 17:09:08 +08:00
yanran200730
d64fab95f4 219 2023-04-07 17:06:26 +08:00
yanran200730
61d0e5b401 205 2023-04-07 16:59:29 +08:00
yanran200730
dcf5c019b9 232 2023-04-07 16:50:22 +08:00
yanran200730
b8dcf71057 231 2023-04-07 16:49:07 +08:00
yanran200730
25068e9f2d 204 2023-04-07 16:21:10 +08:00
yanran200730
eab6649474 224 2023-04-07 16:03:29 +08:00
yanran200730
16178ecbac 225 2023-04-07 16:02:49 +08:00
yanran200730
3a1e6a51cf bug 2023-04-07 16:00:10 +08:00
yanran200730
c39e347b28 227 2023-04-07 15:57:00 +08:00
yanran200730
657f31b6bc 215 2023-04-07 13:37:38 +08:00
yanran200730
6c2d460aa9 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-04-07 11:50:26 +08:00
yanran200730
eb0f04ebd7 223 2023-04-07 11:50:20 +08:00
aixianling
cf5e4e466e Merge remote-tracking branch 'origin/build' into build 2023-04-07 11:49:13 +08:00
aixianling
a1677cab63 事项配置重构 2023-04-07 11:49:01 +08:00
yanran200730
021c696120 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-04-07 11:44:15 +08:00
yanran200730
d5cd5e490b 188 2023-04-07 11:44:09 +08:00
aixianling
18d4919386 Merge remote-tracking branch 'origin/build' into build 2023-04-07 11:35:42 +08:00
aixianling
485a294fb4 事项配置重构 2023-04-07 11:35:09 +08:00
yanran200730
acfac42957 212 2023-04-07 11:34:50 +08:00
yanran200730
46dbf2e570 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-04-07 11:19:59 +08:00
yanran200730
c151ca3679 206 2023-04-07 11:19:53 +08:00
aixianling
aebf16936c 变量闭环 2023-04-07 09:09:01 +08:00
aixianling
e420628475 数组转树结构,删除空的子节点数组 2023-04-07 08:36:04 +08:00
aixianling
df940bc035 Merge remote-tracking branch 'origin/build' into build 2023-04-06 17:09:37 +08:00
aixianling
c13334c38a 图层切换添加完成 2023-04-06 17:09:21 +08:00
yanran200730
4248e915b3 189 2023-04-06 14:20:04 +08:00
yanran200730
6cafe6f9c5 186 2023-04-06 11:03:40 +08:00
yanran200730
b7563eebc8 185 2023-04-06 11:00:36 +08:00
yanran200730
8288b7d26a 居民积分 2023-04-06 10:32:34 +08:00
yanran200730
46f49f4686 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-04-06 10:02:35 +08:00
yanran200730
ec189139b6 bug 2023-04-06 10:02:28 +08:00
aixianling
4385d32cf6 数据模型修改 2023-04-04 18:08:12 +08:00
aixianling
0d309a158e 数据模型修改 2023-04-04 17:29:39 +08:00
aixianling
89c406d802 数据模型完成 2023-04-04 14:10:46 +08:00
yanran200730
75b7b01706 精选动态 2023-04-04 10:13:18 +08:00
aixianling
b377e98dbe Merge remote-tracking branch 'origin/build' into build 2023-04-04 10:08:51 +08:00
aixianling
ecda9aac4e 暂时提交一下 2023-04-04 10:08:35 +08:00
yanran200730
7e545b7b99 推送精选 2023-04-04 10:07:19 +08:00
aixianling
9dbc8bccf3 提交一下 2023-04-04 09:41:48 +08:00
aixianling
5cfc275876 清除不必要的代理 2023-04-04 09:24:43 +08:00
aixianling
f0dfc59828 优化调整web端内存溢出的问题 2023-04-04 09:20:21 +08:00
aixianling
f3cf8360c2 优化调整web端内存溢出的问题 2023-04-04 09:19:47 +08:00
yanran200730
5e7ef3d27a 积分 2023-04-03 16:29:03 +08:00
aixianling
dd4ab4ec0d 迁移位置,并清除多余的报错 2023-04-03 16:28:12 +08:00
aixianling
fdbe0c4c37 数据模型初步接入接口 2023-03-31 18:49:51 +08:00
yanran200730
8b3f831bbd Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-03-31 15:17:59 +08:00
yanran200730
8309afbbd8 山东移动 2023-03-31 15:17:52 +08:00
aixianling
22e22185b5 返回评价数据处理错误修复 2023-03-31 11:03:48 +08:00
aixianling
ad4772ce98 修复未展示评价的BUG 2023-03-31 10:47:51 +08:00
yanran200730
5d8088ce8c Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-03-31 09:13:31 +08:00
yanran200730
cbde0e30f7 180 2023-03-31 09:13:13 +08:00
aixianling
6c9d7f54d8 Merge remote-tracking branch 'origin/build' into build 2023-03-30 17:57:06 +08:00
aixianling
54f23228f8 先提交一波 2023-03-30 17:56:49 +08:00
yanran200730
1c557e3f63 bug 2023-03-30 17:40:53 +08:00
yanran200730
70172e2a98 bug 2023-03-30 17:26:40 +08:00
yanran200730
310a39cd3a 178 2023-03-30 16:45:11 +08:00
yanran200730
27fe4304b6 175 2023-03-30 15:57:36 +08:00
yanran200730
4d15f1eb10 172 2023-03-30 15:14:17 +08:00
yanran200730
6c75e81cb7 168 2023-03-30 15:13:35 +08:00
yanran200730
f86132fbb1 161 2023-03-30 14:39:41 +08:00
yanran200730
a0c331fbd4 163 2023-03-30 14:39:04 +08:00
yanran200730
7422040057 171 2023-03-30 14:37:33 +08:00
yanran200730
3bbdc89d6b 167 2023-03-30 14:36:14 +08:00
yanran200730
04caf5b569 bug 2023-03-30 12:02:22 +08:00
yanran200730
5721938ea2 159 2023-03-30 12:01:15 +08:00
yanran200730
04a0f81129 144 2023-03-30 12:00:32 +08:00
yanran200730
1e7632abe7 145 2023-03-30 10:00:55 +08:00
yanran200730
bd167224cb 146 2023-03-30 09:59:32 +08:00
yanran200730
068ae16f50 147 2023-03-30 09:57:54 +08:00
yanran200730
3d74da20e0 155 2023-03-30 09:56:52 +08:00
yanran200730
9533b4b1ba 148 2023-03-30 09:56:21 +08:00
yanran200730
86e53ab31d 149 2023-03-30 09:54:16 +08:00
yanran200730
1731e68364 150 2023-03-30 09:52:03 +08:00
yanran200730
f53c7b82ef 151 2023-03-30 09:49:08 +08:00
yanran200730
08225b7e1f 153 2023-03-30 09:46:28 +08:00
yanran200730
ebf1802374 152 2023-03-30 09:45:10 +08:00
aixianling
c848ad8063 数据模型提交 2023-03-29 18:27:47 +08:00
aixianling
9e3fdd0922 Merge remote-tracking branch 'origin/build' into build 2023-03-29 14:43:54 +08:00
aixianling
d0ed795da2 修复组件缺少名字的问题 2023-03-29 14:43:34 +08:00
yanran200730
c471549e0d bug 2023-03-29 10:55:10 +08:00
yanran200730
42fb9cd0aa 积分任务 2023-03-29 09:24:21 +08:00
aixianling
e29c00477b 先提交一波 2023-03-28 17:59:07 +08:00
yanran200730
b6b5254c80 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-03-28 17:02:01 +08:00
yanran200730
4e14121dbd 1 2023-03-28 17:01:54 +08:00
aixianling
06c5fc7af5 Merge remote-tracking branch 'origin/build' into build 2023-03-27 18:06:05 +08:00
aixianling
e653f84891 先提交一波 2023-03-27 18:03:05 +08:00
yanran200730
f497a3a658 大屏地图 2023-03-27 18:02:05 +08:00
liuye
ac0baae856 邻里互助 2023-03-27 11:38:38 +08:00
liuye
7a042222db 邻里互助 2023-03-27 11:24:20 +08:00
aixianling
5ed957b628 调整下权限指令 2023-03-27 11:20:37 +08:00
aixianling
0dda0201ba BUG 139 2023-03-24 15:24:18 +08:00
yanran200730
da27eaee98 bug 2023-03-24 11:32:32 +08:00
yanran200730
104e966604 bug 2023-03-24 10:49:52 +08:00
yanran200730
7a7896b3f1 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-03-24 10:37:39 +08:00
yanran200730
3da57e5351 bug 2023-03-24 10:37:33 +08:00
aixianling
acf90b3d7d 先版本回退一下 2023-03-24 10:19:37 +08:00
aixianling
d3b220ab50 Merge remote-tracking branch 'origin/build' into build 2023-03-24 09:02:18 +08:00
aixianling
8086251ef5 本地化字典增加企微端 2023-03-24 09:01:25 +08:00
yanran200730
a703350639 bug 2023-03-24 08:55:30 +08:00
yanran200730
e030c693b4 bug 2023-03-24 08:51:59 +08:00
yanran200730
19f308ee52 bug 2023-03-24 08:46:38 +08:00
yanran200730
2dadcfe4e6 bug 2023-03-24 08:39:40 +08:00
yanran200730
3aeeed7951 bug 2023-03-24 08:38:42 +08:00
aixianling
39dacc0b20 Merge remote-tracking branch 'origin/build' into build 2023-03-23 18:20:10 +08:00
aixianling
3a01fa9011 BUG 139 2023-03-23 18:19:52 +08:00
yanran200730
ffaf9e8aae Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-03-23 11:55:35 +08:00
yanran200730
4c65ce4df4 bug 2023-03-23 11:55:22 +08:00
aixianling
d4f1c04f07 Merge remote-tracking branch 'origin/build' into build 2023-03-23 11:30:02 +08:00
aixianling
c02b19f3eb 数据库乱搞,定制方案字典本地代码化 2023-03-23 11:29:50 +08:00
yanran200730
86bbb552c5 bug 2023-03-23 11:07:03 +08:00
yanran200730
a19b770b9f bug 2023-03-23 10:36:00 +08:00
yanran200730
e2e2e34f74 bug 2023-03-23 09:38:59 +08:00
yanran200730
d2a2f5d702 bug 2023-03-22 17:07:00 +08:00
yanran200730
9d1ebec018 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-03-22 17:00:57 +08:00
yanran200730
ae868f6525 曲靖需求变更 2023-03-22 17:00:49 +08:00
aixianling
99480dc8d3 防抖节流装饰器 2023-03-22 16:30:43 +08:00
aixianling
81dbd135e2 增加v-permit用来控制权限 2023-03-22 15:56:10 +08:00
aixianling
6633182efe Merge remote-tracking branch 'origin/build' into build 2023-03-22 15:41:46 +08:00
aixianling
2129a8ad8b 自定义命令统一管理,装饰器统一管理 2023-03-22 15:41:27 +08:00
yanran200730
24d16e65d3 考试管理 2023-03-22 14:27:21 +08:00
liuye
8f2ac6ed81 blur 2023-03-21 17:55:47 +08:00
liuye
b18e9ce7ae 引导页设置 2023-03-21 17:17:19 +08:00
liuye
30dad1ee7d Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-03-21 14:16:07 +08:00
liuye
cda8a68794 邻里互助 2023-03-21 14:15:47 +08:00
aixianling
33831736a9 BUG 34 2023-03-21 11:58:55 +08:00
aixianling
a0170b974d Merge remote-tracking branch 'origin/build' into build 2023-03-20 18:06:39 +08:00
aixianling
a009c8379a 增加引导页设置功能 2023-03-20 18:06:26 +08:00
liuye
d66ff0ede0 引导页配置 2023-03-20 17:38:47 +08:00
liuye
ce1d5ccb5d Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-03-20 09:52:41 +08:00
liuye
361a857ccd bug111 2023-03-20 09:52:19 +08:00
aixianling
a024aa6931 BUG 89 2023-03-20 09:20:25 +08:00
liuye
20408bb71f 引导页设置 2023-03-17 16:08:20 +08:00
liuye
b16d4a8af9 随手拍换名字 2023-03-17 09:36:36 +08:00
liuye
8f3dc49a76 邻里互动 2023-03-16 17:25:55 +08:00
liuye
024efa9bcb 邻里互助 2023-03-16 17:03:24 +08:00
liuye
a6122f481d 邻里互助 2023-03-16 17:01:59 +08:00
liuye
f1b4729b63 邻里互助 2023-03-16 16:55:25 +08:00
liuye
aebe3d75d7 邻里互助 2023-03-16 16:49:07 +08:00
liuye
05959f7e24 邻里互助 2023-03-16 15:12:41 +08:00
liuye
8614b5a369 邻里互助 2023-03-16 14:41:48 +08:00
liuye
7be3016bfa 邻里互助 2023-03-16 14:01:40 +08:00
liuye
72d6e63edc 邻里互助 2023-03-16 11:35:37 +08:00
liuye
7dca4813ed 邻里互助 2023-03-16 10:54:06 +08:00
liuye
ab11967a8e 话题设置 2023-03-15 17:32:00 +08:00
yanran200730
189186c988 bug 2023-03-15 17:10:04 +08:00
yanran200730
d1f6348ef3 大屏bug修复 2023-03-15 16:45:59 +08:00
yanran200730
328cff225d Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-03-15 16:10:48 +08:00
yanran200730
fe682e7a2b bug 2023-03-15 16:10:38 +08:00
liuye
0631d8ea2e Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-03-15 15:55:27 +08:00
liuye
e995c30eea 引导页设置 2023-03-15 15:54:48 +08:00
aixianling
8d4fa0c81d Merge remote-tracking branch 'origin/build' into build 2023-03-15 15:30:18 +08:00
aixianling
3808155201 丰都增加显示字段 2023-03-15 15:30:05 +08:00
yanran200730
529e0ddccf 表格组件 2023-03-15 15:18:25 +08:00
yanran200730
106535fc01 大屏组件 2023-03-15 11:18:38 +08:00
yanran200730
f053a06231 大屏组件 2023-03-15 11:18:12 +08:00
yanran200730
00d90dc8b7 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-03-15 11:02:27 +08:00
yanran200730
999f6190dc 大屏表格组件bug 2023-03-15 11:02:21 +08:00
aixianling
b4d4c3d46b Merge remote-tracking branch 'origin/build' into build 2023-03-15 10:54:12 +08:00
aixianling
a63bc61f4a 切换tab修复 2023-03-15 10:51:38 +08:00
yanran200730
d66760f9c2 大屏组件 2023-03-15 10:46:47 +08:00
yanran200730
76dfe48114 bug 2023-03-14 17:11:20 +08:00
yanran200730
23fae77443 大屏表格新增配置 2023-03-14 16:32:58 +08:00
yanran200730
0e31e19472 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-03-14 14:51:53 +08:00
yanran200730
8e09ea8efc 大屏组件 2023-03-14 14:51:44 +08:00
aixianling
0bd31e965d 调整下webpack策略 2023-03-14 11:25:21 +08:00
yanran200730
34e50b6406 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-03-14 10:13:37 +08:00
yanran200730
fb97afe39a 统计组件 2023-03-14 10:13:29 +08:00
aixianling
8ad3292630 调整下加载策略 2023-03-14 09:47:19 +08:00
aixianling
812e085795 增加装饰器类 确认弹窗,loading,节流 2023-03-13 15:42:49 +08:00
aixianling
d0cafeea6d 关闭页签 2023-03-13 09:13:46 +08:00
yanran200730
4a88944b9c 完成大屏党建主题的适配 2023-03-10 17:32:10 +08:00
yanran200730
f3570acc61 党建主题适配 2023-03-10 17:15:44 +08:00
yanran200730
e210352339 党建主题适配 2023-03-10 16:22:15 +08:00
aixianling
da6bbc2a40 删除大屏背景组件 2023-03-10 15:58:58 +08:00
aixianling
cada8f6972 取消测试数据 2023-03-10 15:52:45 +08:00
aixianling
663cb21eb2 党建主题 2023-03-10 15:52:05 +08:00
aixianling
8cd4546f9d Merge remote-tracking branch 'origin/build' into build 2023-03-10 14:10:52 +08:00
aixianling
4030225304 禁止小程序在定制方案中打包,下载更新,和群发通知 2023-03-10 14:10:42 +08:00
yanran200730
5b266397ee 大屏 2023-03-10 13:35:52 +08:00
aixianling
b5bfc24916 方方字体加入 2023-03-10 11:49:55 +08:00
aixianling
3e9090c6a4 方方字体加入 2023-03-10 11:48:20 +08:00
aixianling
2147a1dea8 Merge remote-tracking branch 'origin/build' into build 2023-03-10 11:47:58 +08:00
aixianling
a8f83afbf8 方方字体加入 2023-03-10 11:47:49 +08:00
yanran200730
c16559ea1e 图表组件 2023-03-10 10:55:02 +08:00
yanran200730
7c6a898bf0 大屏组件开发 2023-03-10 10:05:09 +08:00
aixianling
84689f602b 修复导航点击失效问题 2023-03-10 09:38:31 +08:00
aixianling
e8d89279d6 Merge remote-tracking branch 'origin/build' into build 2023-03-10 09:08:05 +08:00
aixianling
789a5673e3 清理测试数据 2023-03-10 09:07:54 +08:00
yanran200730
cef67555bf 图表组件 2023-03-09 18:01:23 +08:00
aixianling
b30ce1c9a2 调整默认背景 2023-03-09 16:50:12 +08:00
aixianling
8615e4cb34 新版大屏顶部 2023-03-09 16:47:32 +08:00
yanran200730
f2d0a09dc8 柱状图组件 2023-03-09 14:49:55 +08:00
aixianling
7a04aba3f9 Merge remote-tracking branch 'origin/build' into build 2023-03-09 11:09:01 +08:00
aixianling
bc2e68207f 大屏顶部旧样式归档处理 2023-03-09 11:08:49 +08:00
yanran200730
fd9260cc74 大屏组件排行榜 2023-03-09 10:40:12 +08:00
yanran200730
6f0fbde825 大屏表格组件 2023-03-09 08:52:14 +08:00
yanran200730
c8f6b546cb 大屏表格组件 2023-03-08 17:32:51 +08:00
yanran200730
341643a87e 大屏组件 2023-03-08 17:16:07 +08:00
yanran200730
452952670b 大屏组件开发 2023-03-08 17:03:14 +08:00
yanran200730
54bcd5979a 大屏组件开发 2023-03-08 15:46:00 +08:00
aixianling
0770065a43 触发点改为提交之后 2023-03-08 09:48:35 +08:00
aixianling
0b040a2192 Merge remote-tracking branch 'origin/build' into build 2023-03-08 09:33:24 +08:00
aixianling
cc748e1c99 整合样式,BUG 59 2023-03-08 09:33:10 +08:00
yanran200730
97b1cc0f8d Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-03-07 17:09:31 +08:00
yanran200730
8aa991ae07 素材库 2023-03-07 17:09:20 +08:00
aixianling
5a43d51436 曲靖复制郫都 商品管理,订单管理,网格员积分 2023-03-07 16:08:10 +08:00
aixianling
590dfcc348 BUG 52 2023-03-07 15:53:15 +08:00
aixianling
e2e347bd14 BUG 54 2023-03-07 15:52:23 +08:00
aixianling
4e8a30948d Merge remote-tracking branch 'origin/build' into build 2023-03-07 15:29:44 +08:00
aixianling
d61ad0c909 BUG 58 2023-03-07 15:29:27 +08:00
yanran200730
87a038b0ed Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-03-07 14:30:09 +08:00
yanran200730
ebf652932a 素材库 2023-03-07 14:30:02 +08:00
aixianling
8bd754064e 增加可信证书异常抛出 2023-03-07 09:59:28 +08:00
aixianling
8bce4caa97 Merge remote-tracking branch 'origin/build' into build 2023-03-07 09:44:57 +08:00
aixianling
acd7915be4 替换字典 2023-03-07 09:44:36 +08:00
yanran200730
5f6e420460 bug 2023-03-06 17:07:43 +08:00
yanran200730
d8b1251dd8 bug 2023-03-06 16:38:12 +08:00
yanran200730
495cea8064 bug 2023-03-06 16:18:24 +08:00
yanran200730
89390fa3ff 素材库 2023-03-06 11:45:33 +08:00
aixianling
a887fb8adf 调整接口 2023-03-06 10:27:06 +08:00
aixianling
ecd6a00c35 重名文件 2023-03-06 10:24:22 +08:00
aixianling
e75b6b8459 还原代理 2023-03-06 09:17:07 +08:00
aixianling
bc296e0cb9 曲靖矛盾调解迁移完成 2023-03-06 09:06:00 +08:00
yanran200730
c87cff02f7 bug 2023-03-03 16:41:48 +08:00
yanran200730
413219ac7a bug 2023-03-03 15:02:42 +08:00
yanran200730
b6189a2eda bug 2023-03-03 15:01:36 +08:00
yanran200730
9c4423b8bc 群发bug 2023-03-03 14:59:45 +08:00
yanran200730
0ac5a99433 素材管理 2023-03-03 14:20:49 +08:00
yanran200730
1b95c37826 素材库 2023-03-03 13:48:20 +08:00
yanran200730
cec0cf34e4 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-03-02 18:02:11 +08:00
yanran200730
152defa377 素材库 2023-03-02 18:02:00 +08:00
aixianling
499a57880f Merge remote-tracking branch 'origin/build' into build 2023-03-02 17:34:21 +08:00
aixianling
0dbf18c751 调整扫码跳转因一级域名目录导致的异常 2023-03-02 17:32:51 +08:00
yanran200730
6a91ea51c9 素材库 2023-03-02 15:23:27 +08:00
yanran200730
421c7ee0a5 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-03-02 13:45:09 +08:00
yanran200730
e08c522066 bug 2023-03-02 13:44:56 +08:00
aixianling
2d71a56011 优化样式 2023-03-02 11:17:19 +08:00
aixianling
50ab3b2edd Merge remote-tracking branch 'origin/build' into build 2023-03-02 10:47:11 +08:00
aixianling
230ce1822f 清洗数据 2023-03-02 10:47:00 +08:00
yanran200730
df8ef12198 bug 2023-03-02 09:40:57 +08:00
yanran200730
edfe9b2c2b bug 2023-03-02 09:39:39 +08:00
yanran200730
448e057ae8 bug 2023-03-02 09:13:17 +08:00
yanran200730
b042f60e41 bug 2023-03-02 09:12:16 +08:00
yanran200730
08a91c64db bug 2023-03-02 09:06:22 +08:00
yanran200730
f17509d6d7 关闭任务 2023-03-02 09:03:11 +08:00
yanran200730
021f60b7d7 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-03-02 09:00:38 +08:00
yanran200730
6039674de8 bug 2023-03-02 09:00:32 +08:00
aixianling
a4476570bd Merge remote-tracking branch 'origin/build' into build 2023-03-01 16:45:10 +08:00
aixianling
7df0f128a3 增加可信证书埋点 2023-03-01 16:44:58 +08:00
yanran200730
74e78c8e59 bug 2023-03-01 14:48:26 +08:00
yanran200730
36f401b165 bug 2023-03-01 14:40:06 +08:00
yanran200730
892cae075f bug 2023-03-01 14:36:49 +08:00
yanran200730
30f19c6431 文字修改 2023-03-01 14:24:44 +08:00
yanran200730
c67611f204 关闭任务 2023-03-01 14:21:48 +08:00
yanran200730
0bed36e832 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-03-01 14:17:31 +08:00
yanran200730
e45ebaa025 群发统计 2023-03-01 14:17:24 +08:00
aixianling
fcef2eb44b Merge remote-tracking branch 'origin/build' into build 2023-03-01 10:14:54 +08:00
aixianling
8ce27cbc55 更优雅的变更页签标题 2023-03-01 10:14:41 +08:00
yanran200730
d121bb6a73 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-03-01 10:05:12 +08:00
yanran200730
e709e1e74f 协同宣发 2023-03-01 10:05:04 +08:00
aixianling
a10971e126 修复主题设置 2023-02-28 16:40:00 +08:00
yanran200730
04c47c0387 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-02-28 14:53:34 +08:00
yanran200730
6a9ce60c47 bug 2023-02-28 14:53:16 +08:00
aixianling
93efa0608a Merge remote-tracking branch 'origin/build' into build 2023-02-28 10:43:45 +08:00
aixianling
7c8a9a28d7 慧治理代码更新调整 2023-02-28 10:43:31 +08:00
yanran200730
47f0099020 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-02-28 10:38:44 +08:00
yanran200730
1fb3f7cb5e 删除 2023-02-28 10:38:34 +08:00
aixianling
bf784f05ea 消除异常 2023-02-28 10:12:01 +08:00
aixianling
8539bd5d75 Dialog升级,支持可拖动,支持v-model控制显隐 2023-02-24 17:06:29 +08:00
aixianling
ff8665fbc4 Merge remote-tracking branch 'origin/build' into build 2023-02-24 16:54:30 +08:00
aixianling
eee3818332 Dialog升级,支持可拖动,支持v-model控制显隐 2023-02-24 16:54:17 +08:00
yanran200730
6be2744b49 居民积分bug修复 2023-02-24 10:54:12 +08:00
yanran200730
46b9e57ed1 bug 2023-02-24 09:37:57 +08:00
yanran200730
d62b0bafac bug 2023-02-23 15:53:45 +08:00
yanran200730
bfef93c8a8 积分 2023-02-23 15:33:25 +08:00
yanran200730
e7d30c38cd bug 2023-02-22 17:24:09 +08:00
yanran200730
780b520878 积分 2023-02-22 16:19:23 +08:00
yanran200730
c9f8b5939c 居民积分 2023-02-22 15:31:33 +08:00
yanran200730
2114486851 bug 2023-02-21 16:07:21 +08:00
yanran200730
59061827f1 bug 2023-02-21 14:21:33 +08:00
yanran200730
180e43924a bug 2023-02-21 13:50:26 +08:00
yanran200730
c3674e7e5a bug 2023-02-21 13:44:49 +08:00
yanran200730
1218923012 需求变更 2023-02-21 11:40:30 +08:00
yanran200730
0f7842c5c2 bug 2023-02-21 10:19:05 +08:00
yanran200730
b49521cf3a bug 2023-02-20 17:51:57 +08:00
yanran200730
8a7e27b58f bug 2023-02-20 17:09:28 +08:00
yanran200730
9493853fe4 bug 2023-02-20 16:41:39 +08:00
yanran200730
f8e91898af 优化显示 2023-02-20 15:13:38 +08:00
yanran200730
7036ed9bc8 bug 2023-02-20 14:45:45 +08:00
yanran200730
68bdd92126 评论次数 2023-02-20 11:02:27 +08:00
yanran200730
5bac0e1183 bug 2023-02-20 10:55:17 +08:00
yanran200730
d23eb73948 优化 2023-02-20 10:37:08 +08:00
yanran200730
403dfeb725 优化 2023-02-20 10:27:27 +08:00
yanran200730
be1b24568a bug 2023-02-20 10:14:17 +08:00
yanran200730
38a6ace8d2 新闻中心 新增评论模块 2023-02-20 10:13:44 +08:00
yanran200730
a1c7972f9d bug 2023-02-20 09:30:16 +08:00
yanran200730
0222a26313 权限控制 2023-02-20 08:53:43 +08:00
yanran200730
8564a6881e bug 2023-02-20 08:40:31 +08:00
yanran200730
580fbf1366 bug 2023-02-17 17:15:29 +08:00
yanran200730
567923139d bug 2023-02-17 16:11:26 +08:00
yanran200730
3d7d4655f5 bug 2023-02-17 15:27:38 +08:00
yanran200730
b9afe898b3 样式修改 2023-02-17 15:25:24 +08:00
yanran200730
4234539e65 bug 2023-02-17 13:58:19 +08:00
yanran200730
4214ccd49c Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-02-17 13:55:56 +08:00
yanran200730
dd0c6cf1ef bug 2023-02-17 13:55:40 +08:00
aixianling
8e293e0d9b 修复打包显示进度的问题 2023-02-17 11:48:54 +08:00
01bb09da30 修复ws返回信息 2023-02-17 11:12:51 +08:00
yanran200730
1e5085f4cc Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-02-17 10:37:46 +08:00
yanran200730
467a5d789b bug 2023-02-17 10:37:39 +08:00
aixianling
4c080b7b19 修复打包的问题 2023-02-16 17:30:50 +08:00
aixianling
31e79f88a3 修复打包的问题 2023-02-16 17:06:48 +08:00
aixianling
bc26d3af46 Merge remote-tracking branch 'origin/build' into build 2023-02-16 16:20:20 +08:00
aixianling
81dee66f6c 修复打包的问题 2023-02-16 16:20:05 +08:00
yanran200730
0cc8626866 数据统计 2023-02-16 15:41:24 +08:00
yanran200730
7652208a74 bug 2023-02-16 15:15:20 +08:00
yanran200730
1344fa92fe Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-02-16 14:17:10 +08:00
yanran200730
11e3bc06f0 证书 2023-02-16 14:17:02 +08:00
b2fde1c419 调整ws的调用方式 2023-02-16 12:29:26 +08:00
0c65313b35 调整ws的调用方式 2023-02-16 11:34:36 +08:00
yanran200730
28856c980c 学习记录 2023-02-15 17:29:10 +08:00
yanran200730
249917b3d9 考试记录 2023-02-15 17:16:59 +08:00
yanran200730
cea33b109f 学习统计 2023-02-15 14:45:07 +08:00
yanran200730
6302d125e8 评论管理 2023-02-14 15:37:55 +08:00
yanran200730
0a0913d922 课程管理 2023-02-14 11:48:54 +08:00
yanran200730
7aaf9cd6be bug 2023-02-14 10:13:41 +08:00
yanran200730
093d46ee4e Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-02-13 18:08:35 +08:00
yanran200730
d433c503e4 曲靖 2023-02-13 18:08:25 +08:00
aixianling
841c67b51d 发现监控接口自我报错后停止监控 2023-02-13 10:55:56 +08:00
aixianling
993db9585e Merge remote-tracking branch 'origin/build' into build 2023-02-13 10:47:30 +08:00
aixianling
870d2b27bc 默认监视接口节流5秒/次 2023-02-13 10:47:17 +08:00
aixianling
d111a4b95c 默认监视时间调整为30s 2023-02-13 10:46:00 +08:00
yanran200730
708a2193b0 完成试题库 2023-02-13 10:22:32 +08:00
刘仕伟
670ceae73c Update list.vue 2023-02-10 17:54:22 +00:00
刘仕伟
a17182c918 el-input 2023-02-10 12:15:56 +00:00
刘仕伟
f9e2fa0222 修改input样式 2023-02-10 12:07:41 +00:00
刘仕伟
bb07c913aa 新增打卡次数筛选条件 2023-02-10 11:55:28 +00:00
aixianling
7e5b68818f 打卡时间=>最新打卡时间 2023-02-10 18:44:49 +08:00
aixianling
695b30855e 调整统计角度 2023-02-10 18:40:04 +08:00
aixianling
29db1a13cc 排除frontjs的监控 2023-02-10 18:19:34 +08:00
aixianling
e977b079a8 铜仁反向同步到黔西南 2023-02-10 18:08:34 +08:00
aixianling
ea04b618cd 调整来源 2023-02-10 17:07:54 +08:00
aixianling
6c237e8f2f Merge remote-tracking branch 'origin/build' into build 2023-02-10 16:29:18 +08:00
aixianling
5f355e47f1 前端监控完成 2023-02-10 16:29:01 +08:00
yanran200730
addb18b2ef 曲靖 2023-02-10 11:48:28 +08:00
yanran200730
4846762d37 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-02-10 10:05:05 +08:00
yanran200730
dff66dca3e 曲靖数据统计 2023-02-10 10:04:58 +08:00
aixianling
89a7eb3441 铜仁复制黔西南账号管理 2023-02-09 16:10:49 +08:00
aixianling
609b6edbba 强制数字类型 2023-02-09 15:42:45 +08:00
aixianling
be3eca952d 铜仁打卡修改完成 2023-02-09 15:36:30 +08:00
aixianling
8fbf846ff9 Merge remote-tracking branch 'origin/build' into build 2023-02-09 11:53:49 +08:00
aixianling
ddee2e82b3 先提交一下前端监控机器人--观察者 2023-02-09 11:53:35 +08:00
yanran200730
8d52238a6f 居民学习记录 2023-02-09 10:27:05 +08:00
yanran200730
ea5850fb70 试题库 2023-02-09 10:03:12 +08:00
yanran200730
6a58457c36 题库 2023-02-08 17:53:38 +08:00
yanran200730
47596137ec 曲靖 2023-02-08 17:33:24 +08:00
yanran200730
124b588a66 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-02-08 16:36:48 +08:00
yanran200730
4670ffee85 bug 2023-02-08 16:36:40 +08:00
aixianling
6a5078dbb7 Merge remote-tracking branch 'origin/build' into build 2023-02-08 15:28:45 +08:00
aixianling
2c89032a7e 导出增加节流锁 2023-02-08 15:28:36 +08:00
yanran200730
bf508e8cb8 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-02-08 15:25:38 +08:00
yanran200730
d000c5f394 bug 2023-02-08 15:25:00 +08:00
aixianling
c2badb66e2 Merge remote-tracking branch 'origin/build' into build 2023-02-08 14:17:19 +08:00
aixianling
8d3a4ad6c2 导出增加节流锁 2023-02-08 14:17:07 +08:00
yanran200730
081effb3b3 bug 2023-02-08 14:14:04 +08:00
yanran200730
12331f8970 曲靖 2023-02-08 14:08:58 +08:00
yanran200730
4333cfa0ab Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-02-08 13:57:18 +08:00
yanran200730
93b364f049 bug 2023-02-08 13:57:10 +08:00
aixianling
27f208561e 账号管理增加账号角色筛选 2023-02-08 13:53:30 +08:00
aixianling
37893bb106 接口异常监控 2023-02-07 18:05:13 +08:00
aixianling
6a79f09476 修复异常 2023-02-07 17:51:19 +08:00
aixianling
377e1b8f93 瞎鸡儿改账号管理,后面乱七八糟了别找我 2023-02-07 16:15:46 +08:00
aixianling
561d24bade Merge remote-tracking branch 'origin/build' into build 2023-02-07 15:52:29 +08:00
aixianling
23b1b47a7d 瞎鸡儿改账号管理,后面乱七八糟了别找我 2023-02-07 15:52:17 +08:00
yanran200730
fba1d515b2 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-02-07 15:47:21 +08:00
yanran200730
35ad7b031d 曲靖 2023-02-07 15:46:53 +08:00
aixianling
5f67f637d3 Merge remote-tracking branch 'origin/build' into build 2023-02-07 15:19:33 +08:00
aixianling
ff75533025 更换接口 2023-02-07 15:19:22 +08:00
yanran200730
6ddadfe53c 曲靖 2023-02-07 13:36:09 +08:00
艾贤凌
182015e843 Update list.vue 2023-02-06 10:14:35 +00:00
aixianling
3f97c9e17e 修复样式 2023-02-06 17:48:05 +08:00
yanran200730
5320115e13 bug 2023-02-06 13:43:16 +08:00
yanran200730
f1f3e6fe5a 需求变更 2023-02-06 10:37:04 +08:00
刘仕伟
7e5c3c78e6 Update list.vue 2023-02-05 06:10:35 +00:00
刘仕伟
0da7a3e74a Update AppSignInfo.vue 2023-02-05 06:09:30 +00:00
aixianling
996c5ab75a 修复关闭当前页tab无法正常跳转的问题 2023-02-03 17:10:35 +08:00
aixianling
b1d8a3c1ca 增加目录的高亮 2023-02-03 16:55:35 +08:00
aixianling
9c4d0868cf 改成24小时制 2023-02-03 16:41:10 +08:00
aixianling
2f30da9156 签到完成 2023-02-03 15:20:53 +08:00
aixianling
e61cc019e8 Merge remote-tracking branch 'origin/build' into build 2023-02-03 15:19:48 +08:00
aixianling
0bed825f70 签到完成 2023-02-03 15:19:34 +08:00
yanran200730
ffeb1b182d bug 2023-02-03 13:50:32 +08:00
yanran200730
a6141078e0 bug 2023-02-03 09:58:15 +08:00
yanran200730
c68babb4d0 bug 2023-02-03 09:42:13 +08:00
yanran200730
77159304aa Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-02-03 09:00:54 +08:00
yanran200730
bddfa88823 bug 2023-02-03 09:00:48 +08:00
aixianling
5b41cd85e0 提交样式 2023-02-02 18:21:14 +08:00
aixianling
deb90a8574 提交样式 2023-02-02 18:20:46 +08:00
yanran200730
a8547275bd bug 2023-02-02 18:05:59 +08:00
yanran200730
a10ec22c99 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-02-02 16:42:06 +08:00
yanran200730
be61bf2166 bug 2023-02-02 16:42:00 +08:00
aixianling
d5f31cbe97 Merge remote-tracking branch 'origin/build' into build 2023-02-02 16:20:07 +08:00
aixianling
470cb4d398 页面标签完成底座部署 2023-02-02 16:19:47 +08:00
yanran200730
982612a1e7 bug 2023-02-02 16:00:32 +08:00
yanran200730
3d84a3afe7 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-02-02 15:38:51 +08:00
yanran200730
2c49e28a58 bug 2023-02-02 15:38:44 +08:00
aixianling
d5d7314af5 调整一下 2023-02-02 14:33:30 +08:00
aixianling
05453ed16d 调整一下 2023-02-02 14:33:12 +08:00
aixianling
51185a43ee 页面tab完成 2023-02-02 12:00:12 +08:00
yanran200730
e45f6ee040 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-02-01 17:39:16 +08:00
yanran200730
e3297fead4 营销活动 2023-02-01 17:38:37 +08:00
aixianling
543df34425 bin-code-editor=>bin-ace-editor 2023-02-01 15:29:12 +08:00
aixianling
76ccc36824 代码编辑器暂时用不到 2023-02-01 15:07:49 +08:00
aixianling
d0965fddfe bin-code-editor=>bin-ace-editor 2023-02-01 14:59:50 +08:00
yanran200730
d4d662a201 bug 2023-02-01 10:29:01 +08:00
yanran200730
40e2d71db4 bug 2023-01-30 17:53:59 +08:00
yanran200730
cd2f56db4f Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-01-30 17:11:49 +08:00
yanran200730
443ec1b082 bug 2023-01-30 17:11:42 +08:00
aixianling
46c6bc67ec Merge remote-tracking branch 'origin/build' into build 2023-01-30 14:41:32 +08:00
aixianling
18af0281b1 页签历史驻留,返回关闭功能完成 2023-01-30 14:41:19 +08:00
yanran200730
b947d4236d bug 2023-01-30 09:56:43 +08:00
yanran200730
1abd4c49b0 活动管理 2023-01-29 14:44:07 +08:00
yanran200730
a7072daf4a 活动管理 2023-01-29 14:37:45 +08:00
yanran200730
22f3a52a14 活动管理 2023-01-29 11:46:21 +08:00
yanran200730
cfcbef14c5 运营趋势 2023-01-29 10:40:51 +08:00
shijingjing
2193c950d9 群发居民群 2023-01-29 09:12:28 +08:00
aixianling
5eeef42174 测试git机器人 2023-01-28 18:07:57 +08:00
aixianling
34e23beaeb 新版打包监控,不再用前端轮询 2023-01-19 10:47:51 +08:00
liuye
e419339c10 居民档案 2023-01-18 15:52:14 +08:00
aixianling
ba6e3a0c95 Merge remote-tracking branch 'origin/build' into build 2023-01-18 14:45:32 +08:00
aixianling
a6401b44b2 修复组件 2023-01-18 14:45:21 +08:00
yanran200730
81e3a86776 运营分析 2023-01-18 14:17:12 +08:00
aixianling
feb76e4d63 增加为实际部署设置的域名根目录baseURL 2023-01-17 11:14:34 +08:00
aixianling
28ec0d0ef9 Merge remote-tracking branch 'origin/build' into build 2023-01-17 11:05:44 +08:00
aixianling
15fa0bfd38 增加为实际部署设置的域名根目录baseURL 2023-01-17 11:05:24 +08:00
liuye
ce36a373eb 学习问答 2023-01-17 09:57:43 +08:00
shijingjing
38bc07f0fd 类型恢复 2023-01-16 14:17:24 +08:00
shijingjing
9793ac502f 积分类型 2023-01-16 14:14:15 +08:00
shijingjing
00ee02ccb9 积分正负号 2023-01-16 14:06:57 +08:00
shijingjing
4cd0fa249c 郫都网格员积分 2023-01-16 13:56:50 +08:00
liuye
66c4ed2b79 问答详情 2023-01-12 13:42:18 +08:00
aixianling
eda173a5a7 更新图标库 2023-01-12 11:15:41 +08:00
aixianling
e7006873ca Merge remote-tracking branch 'origin/build' into build 2023-01-12 11:11:13 +08:00
aixianling
1d0f10ddca 新增若干sass常用场景样式:内外边距,吸顶,悬浮 2023-01-12 11:11:01 +08:00
shijingjing
c81e461cb5 默认时间 2023-01-11 16:14:42 +08:00
liuye
a1f9f71d31 学习问答 2023-01-11 15:37:18 +08:00
liuye
79eb498a83 学习问答 2023-01-11 15:15:34 +08:00
liuye
fb89cb1a8d css 2023-01-11 15:11:44 +08:00
liuye
90fa4f53f8 我也把头像换成圆的 2023-01-11 14:57:19 +08:00
liuye
ba22e5f039 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-01-11 11:00:34 +08:00
liuye
894f3b7952 学习问答 2023-01-11 10:59:56 +08:00
aixianling
5aff9d6bc2 BUG 26 2023-01-11 10:20:14 +08:00
aixianling
565d053224 小程序发布增加删除按钮 2023-01-11 09:40:19 +08:00
yanran200730
ee7f70734b Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-01-10 15:03:49 +08:00
yanran200730
7d3169b077 bug 2023-01-10 15:03:42 +08:00
shijingjing
fd33eb238d 残疾人+吸毒删除 2023-01-10 14:11:41 +08:00
yanran200730
22494d28d3 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-01-10 10:41:58 +08:00
yanran200730
e95986c93a 修改 2023-01-10 10:41:52 +08:00
liuye
a63e704b1e 学习问答 2023-01-10 10:40:01 +08:00
aixianling
5aa5438dd6 Merge remote-tracking branch 'origin/build' into build 2023-01-09 17:28:41 +08:00
aixianling
7cc92ee011 渲染地图增加判断条件是否有元素再渲染加载 2023-01-09 17:28:30 +08:00
liuye
642276cbdc 学习问答 2023-01-09 16:38:58 +08:00
aixianling
039cfb5673 Merge remote-tracking branch 'origin/build' into build 2023-01-09 13:53:30 +08:00
aixianling
a176ee54fa 大屏滚动列表 2023-01-09 13:53:19 +08:00
shijingjing
825c7210e2 多了个分号 2023-01-09 11:29:57 +08:00
shijingjing
14abc276c3 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-01-09 10:38:05 +08:00
shijingjing
a6b5c47251 变更记录 2023-01-09 10:37:42 +08:00
aixianling
26ad1124bf 增加统一的分页设置 2023-01-09 10:17:07 +08:00
aixianling
b576a61551 优化aitable 2023-01-09 09:36:10 +08:00
shijingjing
275461a474 组织变更 2023-01-09 09:26:42 +08:00
shijingjing
d9e4901336 组织变更记录 2023-01-06 17:59:43 +08:00
shijingjing
66ad57066a 提示 2023-01-06 17:00:44 +08:00
shijingjing
af3ad4ff63 发展党员转正 2023-01-06 16:27:31 +08:00
shijingjing
7850eb9bb9 特殊人群导入功能 2023-01-06 16:09:43 +08:00
liuye
feaa79e1b1 黔西南-群发 2023-01-06 11:43:15 +08:00
liuye
904d6f8c49 积分统计 2023-01-06 08:53:01 +08:00
liuye
b6f0b27b9b 居民分类 2023-01-05 17:49:10 +08:00
yanran200730
9ca7094ee4 bug 2023-01-05 17:35:36 +08:00
yanran200730
c6487873b8 bug 2023-01-05 17:17:12 +08:00
yanran200730
a6e46660cc bug 2023-01-05 17:13:12 +08:00
liuye
31f41cbff5 积分规则 2023-01-05 16:32:56 +08:00
liuye
725c68ad18 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-01-05 16:06:41 +08:00
liuye
2d62200297 轮播图片编辑,详情 2023-01-05 16:06:20 +08:00
shijingjing
29495c0ee3 居民活动 2023-01-05 11:15:33 +08:00
shijingjing
554db4fe72 选人组件更换 2023-01-05 09:59:13 +08:00
aixianling
39707d88d5 定制方案-小程序-底部导航栏增加 添加按钮和位置控制 2023-01-05 09:49:07 +08:00
aixianling
c42f6006b8 优化当获取不到应用时,出现的逻辑错误 2023-01-05 09:10:12 +08:00
liuye
b69b0e878a Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-01-04 16:56:55 +08:00
liuye
a37da5cfd0 天府星 2023-01-04 16:56:28 +08:00
shijingjing
83210f5501 bug24 2023-01-04 16:45:35 +08:00
shijingjing
81a7a77f2c AiTableSelect 2023-01-04 16:28:57 +08:00
liuye
17463ed691 bug 2023-01-04 15:10:59 +08:00
liuye
793c384d58 事件汇总统计 2023-01-04 15:04:40 +08:00
liuye
5595f0295d 积分导出 2023-01-04 14:52:48 +08:00
liuye
8a478fa108 积分明细导出 2023-01-04 14:43:21 +08:00
liuye
f14212d1a3 群发通知 2023-01-04 14:32:14 +08:00
liuye
44e142d935 文字修改 2023-01-04 13:48:30 +08:00
liuye
36a795c585 黔西南-积分 2023-01-04 11:41:07 +08:00
yanran200730
d2aa32ee18 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-01-04 11:30:34 +08:00
yanran200730
890d263017 bug 2023-01-04 11:30:28 +08:00
liuye
4ff8f5c9e1 积分规则 2023-01-04 11:12:50 +08:00
liuye
377c48d4a0 字典更换 2023-01-04 09:12:33 +08:00
liuye
c29791c904 居民分类信息 2023-01-04 09:07:15 +08:00
liuye
489c36ac00 积分规则 2023-01-04 09:01:39 +08:00
liuye
fef2f1d781 字典 2023-01-04 08:52:19 +08:00
liuye
e3d316d374 黔西南-居民分类信息 2023-01-03 15:28:15 +08:00
yanran200730
f7fc731773 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-01-03 13:47:43 +08:00
yanran200730
94a6972bda bug 2023-01-03 13:47:37 +08:00
liuye
838f61b16e Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-01-03 11:54:42 +08:00
liuye
1a9be3bc1a 黔西南积分 2023-01-03 11:54:23 +08:00
yanran200730
36a1e17314 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2023-01-03 10:41:42 +08:00
yanran200730
aa29336164 bug 2023-01-03 10:41:29 +08:00
liuye
e19b9bcc4a qxn 2023-01-03 09:41:45 +08:00
yanran200730
8fe8b65535 投票记录 2023-01-03 09:03:34 +08:00
yanran200730
3277618a05 投票 2022-12-30 17:17:58 +08:00
yanran200730
2833cd589a 丰都 投票 2022-12-30 14:55:38 +08:00
yanran200730
02e4b80ba1 bug 2022-12-29 15:07:57 +08:00
aixianling
5e9f44e5c4 企微H5增加自定义登录开关 2022-12-29 09:24:31 +08:00
aixianling
8a830a53d9 增加群机器人通知等功能 2022-12-28 17:50:17 +08:00
liuye
30a77df14e 积分统计 2022-12-28 15:31:00 +08:00
shijingjing
d707dea56b 详情 2022-12-28 14:22:54 +08:00
liuye
3aa20736a5 郫都积分 2022-12-28 14:20:13 +08:00
liuye
c61941e6ba 积分 2022-12-28 14:09:42 +08:00
shijingjing
8b2c78636e 网格员积分 2022-12-28 14:09:17 +08:00
shijingjing
36a4e6a533 网格员积分 2022-12-28 13:56:49 +08:00
liuye
7f5cb892af Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-12-28 10:46:06 +08:00
liuye
e03f33a334 事件类型 2022-12-28 10:45:42 +08:00
yanran200730
8379a5be40 bug 2022-12-28 10:12:38 +08:00
liuye
79539038b7 郫都积分 2022-12-28 09:56:06 +08:00
yanran200730
7083bf34a6 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-12-27 16:46:44 +08:00
yanran200730
992cf9a870 需求变更 2022-12-27 16:46:36 +08:00
aixianling
4db8bb7001 去除多余的npm配置 2022-12-27 16:05:37 +08:00
yanran200730
bab8ba857e Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-12-27 15:34:27 +08:00
yanran200730
8f89d2355f bug 2022-12-27 15:34:15 +08:00
liuye
5848c05c9c 群发朋友圈 2022-12-27 14:26:52 +08:00
liuye
07fbf08f78 web端宣发 2022-12-27 14:08:17 +08:00
aixianling
4185ce15ae Merge remote-tracking branch 'origin/build' into build 2022-12-27 11:48:48 +08:00
aixianling
2235f5411c 调整播发广播在任意时刻可撤回 2022-12-27 11:48:32 +08:00
shijingjing
f47f9ad336 7改1 2022-12-27 11:04:20 +08:00
yanran200730
dc91f5b104 bug 2022-12-26 15:46:35 +08:00
yanran200730
372d69ea85 bug 2022-12-26 14:49:51 +08:00
yanran200730
b7647d87bc bug 2022-12-26 14:04:57 +08:00
yanran200730
4d3f12785c bug 2022-12-26 11:38:07 +08:00
yanran200730
fde725abb2 bug 2022-12-26 11:18:55 +08:00
yanran200730
0e09eea6cf Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-12-26 11:17:16 +08:00
yanran200730
a6bad0cba2 bug 2022-12-26 11:17:10 +08:00
aixianling
a271861fb1 node-ipc的傻逼作者开源供应链投毒 2022-12-26 11:08:24 +08:00
yanran200730
be0e713f5b Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-12-26 11:02:49 +08:00
yanran200730
3b5d99072a bug 2022-12-26 11:02:42 +08:00
aixianling
ae15375d55 Merge remote-tracking branch 'origin/build' into build 2022-12-26 10:28:05 +08:00
aixianling
d9082683cc 新版小程序打包 2022-12-26 10:27:53 +08:00
yanran200730
4b31a9bbbc Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-12-26 10:22:50 +08:00
yanran200730
741460d55b bug 2022-12-26 10:22:32 +08:00
aixianling
9ca1f09fc5 新版小程序打包 2022-12-23 18:02:29 +08:00
yanran200730
e270cb25ee bug 2022-12-23 16:09:45 +08:00
yanran200730
c8429cac20 bug 2022-12-23 16:08:31 +08:00
yanran200730
7e51b443c2 bug 2022-12-23 16:04:49 +08:00
yanran200730
09f9256f06 bug 2022-12-23 15:35:16 +08:00
yanran200730
7f33c522ea 微盘bug 2022-12-23 14:13:50 +08:00
yanran200730
da8c1bdaf2 微盘权限设置 2022-12-23 14:01:55 +08:00
yanran200730
0f122aad76 bug 2022-12-23 10:28:49 +08:00
aixianling
7c19380b22 火影は 俺の夢だから 2022-12-23 10:10:53 +08:00
liuye
599c04ab62 网格员积分 2022-12-21 10:17:03 +08:00
yanran200730
0bafb6ad26 考核评分 2022-12-20 17:01:19 +08:00
yanran200730
dd764c99ff 评分考核 2022-12-20 09:26:19 +08:00
yanran200730
97fd249134 bug 2022-12-19 14:12:18 +08:00
yanran200730
4a434b4009 工作考核 2022-12-19 08:40:21 +08:00
yanran200730
cc3af06617 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-12-13 16:05:11 +08:00
yanran200730
01c48a1cd6 bug 2022-12-13 16:05:01 +08:00
艾贤凌
f42b272636 变更仓库地址,并启用新的仓库 2022-12-13 15:30:30 +08:00
艾贤凌
bebb4bbf04 人员调整 2022-12-13 09:44:36 +08:00
yanran200730
e8ff014598 工作考核 2022-12-08 13:36:47 +08:00
yanran200730
240b1537da 审批管理 2022-12-08 09:45:28 +08:00
yanran200730
c561494d7b 考核评分 2022-12-08 08:37:21 +08:00
shijingjing
a4ce4af297 积分明细 默认显示七天数据 2022-12-07 16:59:52 +08:00
yanran200730
4d3c2ec149 审批管理 2022-12-06 14:52:14 +08:00
yanran200730
3279bdb348 返乡登记 2022-12-06 14:08:40 +08:00
yanran200730
2d6094153e Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-12-06 11:41:05 +08:00
yanran200730
fed26bc925 模板评分 2022-12-06 11:40:59 +08:00
aixianling
5f715dedb2 Merge remote-tracking branch 'origin/build' into build 2022-12-06 09:26:13 +08:00
aixianling
0028854ea5 调整样式 2022-12-06 09:25:58 +08:00
yanran200730
632ae0c86c Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-12-05 17:46:01 +08:00
yanran200730
fc017fcc5a 考核评分 2022-12-05 17:45:48 +08:00
aixianling
8138515a4c 优化在获取不到主体配置时正常展示 2022-12-05 10:57:02 +08:00
liuye
c2a4261ac4 微心愿导入 2022-12-02 17:41:48 +08:00
aixianling
c17bdd2b2f 调整package.json配置 2022-12-02 16:22:51 +08:00
aixianling
66ec58a21e 调整发布包内容 2022-12-02 08:53:04 +08:00
aixianling
5f320d5a3b Merge remote-tracking branch 'origin/build' into union 2022-12-01 17:06:26 +08:00
aixianling
553b49eb13 应用配置完成 2022-12-01 17:05:48 +08:00
yanran200730
d3c4d69781 bug 2022-12-01 16:47:02 +08:00
aixianling
9b4b16fc57 Merge remote-tracking branch 'origin/build' into union 2022-12-01 15:30:23 +08:00
aixianling
c91826f741 调整配置 2022-12-01 11:25:59 +08:00
yanran200730
69e419d9cf bug 2022-12-01 11:02:31 +08:00
yanran200730
e20a06fa4f bug 2022-12-01 10:18:44 +08:00
yanran200730
a9ad0a47ae 平昌疫情防控 2022-12-01 09:50:43 +08:00
yanran200730
370f0093ff bug 2022-12-01 09:41:28 +08:00
aixianling
35ee47189f Merge remote-tracking branch 'origin/build' into union 2022-12-01 09:38:35 +08:00
yanran200730
0314be9515 bug 2022-12-01 09:36:16 +08:00
aixianling
883ec09a0e ::v-deep=>:deep() 2022-12-01 09:35:20 +08:00
aixianling
d12c7b2c5e Merge remote-tracking branch 'origin/build' into union 2022-12-01 09:15:34 +08:00
aixianling
02a4b50fc0 ui库合并版本完成 2022-12-01 09:13:53 +08:00
yanran200730
5030e55f84 bug 2022-12-01 09:13:44 +08:00
yanran200730
5e27020f77 订单导出 2022-12-01 08:38:19 +08:00
yanran200730
dc13def187 bug 2022-11-30 17:14:06 +08:00
yanran200730
4e9be55405 bug 2022-11-30 17:00:50 +08:00
yanran200730
127c018d83 bug 2022-11-30 16:46:59 +08:00
yanran200730
3835a9a470 bug 2022-11-30 16:21:30 +08:00
yanran200730
28f52973f3 bug 2022-11-30 16:17:59 +08:00
yanran200730
7a936f8a9f bug 2022-11-30 15:20:57 +08:00
yanran200730
6b55a574d8 bug 2022-11-30 15:18:47 +08:00
yanran200730
1182f5b3af 商品管理bug 2022-11-30 14:40:42 +08:00
yanran200730
6858e8eca6 图片剪裁 2022-11-30 14:28:17 +08:00
aixianling
fe3e06e654 Merge remote-tracking branch 'origin/build' into union 2022-11-30 14:03:46 +08:00
yanran200730
78e9e20a5d 31159 2022-11-30 14:03:05 +08:00
yanran200730
394975f4d5 31157 2022-11-30 14:00:37 +08:00
yanran200730
57107ae4ad 31161 2022-11-30 13:59:20 +08:00
yanran200730
b4ae677932 bug 2022-11-30 13:48:31 +08:00
aixianling
4ab84b7766 Merge remote-tracking branch 'origin/build' into union
# Conflicts:
#	.npmrc
2022-11-30 10:22:42 +08:00
yanran200730
7f4607c3ba 平昌 2022-11-30 09:58:49 +08:00
yanran200730
823e382748 积分审核 2022-11-30 09:33:22 +08:00
yanran200730
b1ae10b570 积分审核 2022-11-30 09:13:47 +08:00
yanran200730
82baab5401 积分申请 2022-11-30 09:07:12 +08:00
8bf6c57668 ui库和web端产品库合并版本(还需修复细节) 2022-11-29 18:27:14 +08:00
yanran200830
5e4bd93238 bug 2022-11-29 18:08:57 +08:00
yanran200830
5f4aa6034f 积分 2022-11-29 18:06:04 +08:00
yanran200830
101d67ad48 bug 2022-11-29 15:55:21 +08:00
yanran200830
7d2fded062 bug 2022-11-28 15:33:22 +08:00
yanran200830
a79a165d60 疫情防控 2022-11-28 14:53:15 +08:00
yanran200830
ddd4bfc033 bug 2022-11-25 17:06:13 +08:00
yanran200830
ae1edfe384 积分商城 2022-11-25 16:37:08 +08:00
yanran200830
44ffb4f607 积分商城 + 导出bug 2022-11-25 15:25:28 +08:00
yanran200830
060900ebc7 bug 2022-11-25 13:35:42 +08:00
yanran200830
8673ab0197 平昌党建 2022-11-24 16:39:29 +08:00
yanran200830
bc30cc3e03 卡口排序 2022-11-24 11:16:25 +08:00
yanran200830
0de2f5ecf4 平昌疫情防控 2022-11-23 16:24:18 +08:00
yanran200830
ee933c3460 卡口登记 2022-11-23 16:19:32 +08:00
yanran200830
243def0a2f 积分商品 2022-11-23 14:00:29 +08:00
yanran200830
991310f9b8 积分商城 2022-11-22 17:57:05 +08:00
yanran200830
30b9a137c2 积分商城 2022-11-22 15:18:30 +08:00
yanran200830
2320fcd462 走访慰问 2022-11-22 14:20:01 +08:00
yanran200830
288e652f93 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-11-21 17:07:09 +08:00
yanran200830
9b845a04bf bug 2022-11-21 17:07:01 +08:00
2362f194cf node服务线上设置 2022-11-21 16:39:36 +08:00
yanran200830
2bf45e799f 调查走访 2022-11-21 16:19:20 +08:00
yanran200830
d28e02d004 bug 2022-11-21 16:15:26 +08:00
yanran200830
c7e7ab69ea Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-11-21 15:50:39 +08:00
yanran200830
fe1639c89d 平昌疫情防控 2022-11-21 15:50:17 +08:00
d1219caea7 Merge branch 'dev' into build 2022-11-21 14:58:40 +08:00
bdbff3c9bd 代理设置已完成 2022-11-21 14:50:29 +08:00
yanran200830
68a7c57e0b 工作任务 2022-11-21 11:54:03 +08:00
e968059ecd 适应远程办公设置 2022-11-21 10:59:28 +08:00
aixianling
c5f9f3f3b0 修正页面 2022-11-18 17:20:28 +08:00
aixianling
cc96fa6d65 Merge remote-tracking branch 'origin/build' into build 2022-11-18 16:39:29 +08:00
aixianling
4ac0d0b7d8 优化web库的体积 2022-11-18 16:39:09 +08:00
yanran200730
b4a5343ce6 bug 2022-11-18 14:26:52 +08:00
yanran200730
a07cd5f295 bug 2022-11-18 14:12:51 +08:00
yanran200730
e73c339a99 bug 2022-11-18 13:58:50 +08:00
yanran200730
92b94b2289 bug 2022-11-18 09:35:55 +08:00
yanran200730
d7c406b0e9 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-11-18 08:51:09 +08:00
yanran200730
6f8b6a01a1 bug 2022-11-18 08:50:59 +08:00
liuye
9e4bcaa6a4 评价 2022-11-17 16:43:41 +08:00
liuye
df45607495 导入按钮隐藏 2022-11-17 15:52:19 +08:00
liuye
99fab7d22b css 2022-11-17 11:46:54 +08:00
shijingjing
c3d404dcbf 100字 2022-11-17 10:44:57 +08:00
liuye
9fc84a5ebf 门店照片 2022-11-16 16:59:58 +08:00
liuye
ffc48ff3fa 微心愿 2022-11-16 16:26:53 +08:00
liuye
dea5786a85 微心愿 2022-11-16 14:37:38 +08:00
liuye
851e7a1bbb 微心愿 2022-11-16 14:12:27 +08:00
liuye
6542952597 微心愿 2022-11-16 13:41:18 +08:00
yanran200730
c9cc263d52 需求变更 2022-11-16 09:04:40 +08:00
liuye
2f54bd3054 微心愿-事件分组 2022-11-16 08:37:24 +08:00
liuye
34dd1da3f5 办事评价 2022-11-15 16:22:18 +08:00
liuye
0cd43bc229 realName 2022-11-15 15:26:23 +08:00
liuye
ce5e2a3330 微心愿 2022-11-15 15:13:48 +08:00
shijingjing
5ca7516c5e bug 2022-11-15 09:56:44 +08:00
aixianling
d2961c2760 BUG 31154 2022-11-14 18:16:19 +08:00
shijingjing
262897223b 审核党员 2022-11-14 15:05:48 +08:00
liuye
33034b6db2 搜索字段 2022-11-14 14:48:00 +08:00
aixianling
bb192c6e68 Merge remote-tracking branch 'origin/build' into build 2022-11-14 11:38:58 +08:00
aixianling
654cc3e644 BUG 31147 2022-11-14 11:38:38 +08:00
yanran200730
dc607c2c91 bug 2022-11-14 11:29:54 +08:00
yanran200730
ec06d22c00 bug 2022-11-14 11:28:48 +08:00
shijingjing
74f7f7a340 审核党员 2022-11-14 10:40:35 +08:00
shijingjing
9bf9905bf7 平昌党员管理 2022-11-11 17:20:00 +08:00
aixianling
31d7c5b75d 定制方案提供应用名称更换 2022-11-11 17:13:36 +08:00
liuye
874851f6ee 党员阵地 2022-11-11 11:35:01 +08:00
liuye
eb8862ad1f 商户管理-店铺照片 2022-11-10 17:43:24 +08:00
liuye
ecd5c5c4bd Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-11-10 16:40:58 +08:00
liuye
43565daed4 店铺照片 2022-11-10 16:40:26 +08:00
aixianling
50631a3e36 增加地图是否只显示指定区域的地图 2022-11-10 14:57:08 +08:00
aixianling
b2b85d4f2d 提供3D旋转和覆盖物标签隐藏/显示切换 2022-11-09 18:00:57 +08:00
aixianling
e7d1bd2af0 修改属性及时刷新地图预览 2022-11-09 17:00:49 +08:00
aixianling
35498105ec 大屏提供3D地图 2022-11-09 16:55:13 +08:00
aixianling
13e503cc55 地图组件改造 2022-11-09 16:29:44 +08:00
aixianling
29dba7eab7 Merge remote-tracking branch 'origin/build' into build 2022-11-09 14:41:56 +08:00
aixianling
d39f1d793b 解决大屏拖拽卡顿的问题 2022-11-09 14:40:36 +08:00
shijingjing
120e10d348 bug 2022-11-09 14:29:41 +08:00
aixianling
8e7a8488b3 Merge remote-tracking branch 'origin/build' into build 2022-11-09 11:54:27 +08:00
aixianling
8252fca39f 设计页面驻留调整 2022-11-09 11:54:15 +08:00
liuye
32a02f04bd 地图 2022-11-09 11:49:13 +08:00
shijingjing
b20b9bd30c 定位中心点 2022-11-09 11:45:26 +08:00
aixianling
c48d86ee42 修复图标 2022-11-08 18:33:05 +08:00
shijingjing
33107d6a6e bug 2022-11-08 13:55:06 +08:00
liuye
9ce1c89d90 商户名称 2022-11-08 13:52:08 +08:00
shijingjing
a4311f7acd bug 2022-11-08 10:57:09 +08:00
liuye
48cbeefa39 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-11-08 10:56:02 +08:00
liuye
97520a33ea 文字 2022-11-08 10:55:46 +08:00
shijingjing
265ec48919 字典 2022-11-08 10:51:22 +08:00
liuye
c56e8127d7 商户管理 2022-11-08 10:33:06 +08:00
shijingjing
8031358f60 api 2022-11-08 08:49:19 +08:00
shijingjing
10cea217bf 搜索框样式 2022-11-08 08:47:47 +08:00
aixianling
4466f66584 随机数据工具完成,包含①页面数据填充;②自动生成业务数据 2022-11-07 16:03:02 +08:00
aixianling
2e9cd1c5a9 接入mock准备测试自动化和随机数据生成 2022-11-04 18:12:28 +08:00
liuye
4b560896f6 状态 2022-11-04 16:19:35 +08:00
liuye
6055ddb90f Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-11-04 16:18:26 +08:00
liuye
85ae4d8036 天府星2.0搞定 2022-11-04 16:18:10 +08:00
shijingjing
9383a41500 商户优惠 2022-11-04 15:33:30 +08:00
shijingjing
f016cd338c 商户优惠 2022-11-04 14:05:47 +08:00
yanran200730
3af39ca6a9 bug 2022-11-03 16:30:48 +08:00
shijingjing
5089b071dd 2022-11-03 15:35:56 +08:00
shijingjing
07ce838056 地图 2022-11-03 15:27:56 +08:00
shijingjing
7e00aa30a9 地图 2022-11-03 15:01:20 +08:00
liuye
8fa66aeed5 用户管理 2022-11-03 13:58:11 +08:00
shijingjing
791c3a72fd 位置调整 2022-11-03 12:00:00 +08:00
shijingjing
b09d4980c2 详情 2022-11-03 11:58:41 +08:00
liuye
37d61417ad 字典 2022-11-03 11:45:08 +08:00
liuye
5f691befb0 任务审核 2022-11-03 11:28:30 +08:00
shijingjing
33babd6b2f 进场打卡开始时间不能小于当前时间 2022-11-03 11:20:43 +08:00
liuye
4e5c201cd2 nickName 2022-11-03 10:52:54 +08:00
shijingjing
309b1cdffa 位置调整 2022-11-03 10:40:27 +08:00
liuye
8bd0f97911 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-11-03 10:39:27 +08:00
liuye
c4caac27f7 任务审核 2022-11-03 10:39:04 +08:00
shijingjing
caa7c809ab css 2022-11-03 10:36:23 +08:00
liuye
fc40512a8e 用户姓名 2022-11-03 10:27:05 +08:00
liuye
73980d8dde 字典 2022-11-03 10:23:35 +08:00
shijingjing
5f46e2f3d0 漏了 2022-11-03 10:22:49 +08:00
shijingjing
965a3552c8 字典 2022-11-03 10:17:07 +08:00
shijingjing
d13d61a17d 活动列表 2022-11-03 10:14:09 +08:00
liuye
7f5fcdadb6 天府星配置 2022-11-03 10:11:01 +08:00
aixianling
6021b64cd7 小程序设置单服务 2022-11-02 17:51:48 +08:00
shijingjing
dfbc0ee705 bug 2022-11-02 17:49:49 +08:00
liuye
b71845155e 审核判断 2022-11-02 17:46:21 +08:00
aixianling
ad01c3f8f7 Merge remote-tracking branch 'origin/build' into build 2022-11-02 17:38:08 +08:00
aixianling
37dfaf7a6d 小程序设置单服务 2022-11-02 17:37:56 +08:00
shijingjing
c9ab9f853d 去console 2022-11-02 17:12:58 +08:00
aixianling
062eb8eb5f 允许小程序自由编辑底部导航栏 2022-11-02 16:51:03 +08:00
shijingjing
7fb28c7fd4 时间限制 2022-11-02 16:39:30 +08:00
shijingjing
e79d98d623 活动管理 2022-11-02 16:11:19 +08:00
shijingjing
cb2d64f92a 活动管理 2022-11-02 15:16:14 +08:00
aixianling
48dc4a3d33 允许小程序自由设置底部导航栏个数 2022-11-02 14:42:18 +08:00
liuye
f1534ffc71 用户管理 2022-11-02 10:13:03 +08:00
liuye
7edeb5124e Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-11-01 18:27:20 +08:00
liuye
7b085f916b 用户管理,等级配置,任务审核 2022-11-01 18:27:03 +08:00
shijingjing
7aef39843a 列表 2022-11-01 18:25:16 +08:00
aixianling
4098093a1c Merge remote-tracking branch 'origin/build' into build 2022-11-01 16:20:24 +08:00
aixianling
3f87bffd17 天府星配置 2022-11-01 16:20:13 +08:00
shijingjing
14cd66cf13 活动管理 2022-11-01 16:01:41 +08:00
liuye
5acb635f6b 审核任务 2022-11-01 14:44:44 +08:00
liuye
7d111f90e4 等级配置 2022-11-01 11:52:21 +08:00
liuye
cbc57959e3 天府星 2022-11-01 09:37:29 +08:00
aixianling
c56e28081a 保险产品业务办理二维码 2022-11-01 08:55:45 +08:00
aixianling
5237a6edbb BUG 31153 2022-10-31 16:58:03 +08:00
aixianling
4f5963697b 修复换届提醒人回显问题 2022-10-31 16:44:29 +08:00
aixianling
eae8459ca5 修复换届提醒人回显问题 2022-10-31 16:44:02 +08:00
aixianling
3efb7f43d2 BUG 31152 2022-10-31 16:40:18 +08:00
aixianling
ee8dda577b 在线管理完成 2022-10-31 15:51:58 +08:00
aixianling
87e7fa45ce BUG 31149 2022-10-31 13:59:09 +08:00
aixianling
d6cdc715b5 BUG 31150 2022-10-31 11:23:30 +08:00
aixianling
d04559427e 在线管理界面完成模块 2022-10-31 11:12:41 +08:00
aixianling
d11670366d 增加在线管理模块 2022-10-31 10:08:40 +08:00
aixianling
3e393880b1 BUG 31144 2022-10-28 17:48:37 +08:00
aixianling
9c9146ca8c BUG 31142 2022-10-28 17:13:40 +08:00
aixianling
22174f431d BUG 31141 2022-10-28 17:01:47 +08:00
aixianling
ea5e35d8b4 BUG 31143 2022-10-28 17:00:11 +08:00
aixianling
e0b7c76b9a 调整组织换届的布局 2022-10-28 16:32:02 +08:00
aixianling
3284aaca02 修复详情数据缺失 2022-10-28 15:45:31 +08:00
aixianling
c9db239b23 修复异常 2022-10-28 11:51:24 +08:00
aixianling
8806c1357f BUG 31138 2022-10-28 11:48:54 +08:00
aixianling
dbe55db84d BUG 31139 2022-10-28 11:19:39 +08:00
aixianling
9dbe2fde3f BUG 31140 2022-10-28 11:15:37 +08:00
liuye
e7301e6cb9 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-27 18:08:02 +08:00
liuye
a86f37ecfc bug 2022-10-27 18:07:44 +08:00
aixianling
531ab674f3 Merge remote-tracking branch 'origin/build' into build 2022-10-27 18:07:16 +08:00
aixianling
31cbb5d2bf 组织换届重构完成 2022-10-27 18:07:02 +08:00
liuye
96acf75571 党员报到按钮禁用 2022-10-27 15:52:28 +08:00
liuye
f09c27abb2 日志审核 2022-10-27 14:13:57 +08:00
liuye
ccea7494e6 css 2022-10-27 10:26:54 +08:00
liuye
856b27fd33 树结构选中css 2022-10-27 09:53:15 +08:00
liuye
19b2ec07d9 报到统计 2022-10-27 09:28:14 +08:00
liuye
19fde2b445 报名截止时间 2022-10-27 09:12:19 +08:00
liuye
8c3c5f8876 bug 2022-10-27 09:10:25 +08:00
liuye
042139091a bug 2022-10-27 09:05:42 +08:00
liuye
1a318d4d2a css 2022-10-26 17:49:00 +08:00
liuye
225b2eb035 bug 2022-10-26 17:38:19 +08:00
yanran200730
a477039f7c bug 2022-10-26 14:49:21 +08:00
yanran200730
1b63596355 bug 2022-10-26 14:42:35 +08:00
yanran200730
69f4fe5f36 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-26 14:12:50 +08:00
yanran200730
056730c338 bug 2022-10-26 14:12:42 +08:00
liuye
cb549dd492 最后更新时间 2022-10-26 11:23:39 +08:00
yanran200730
0f8859cf3c bug 2022-10-26 10:35:47 +08:00
yanran200730
1d4e69460a bug 2022-10-26 10:24:29 +08:00
yanran200730
bdf6459fd6 bug 2022-10-26 10:09:28 +08:00
yanran200730
6e5657e446 bug 2022-10-26 09:15:15 +08:00
yanran200730
1f41eb6acc bug 2022-10-26 09:01:27 +08:00
yanran200730
9e80281542 bug 2022-10-26 08:53:06 +08:00
yanran200730
26d1fbf8be bug 2022-10-25 17:20:50 +08:00
yanran200730
75e646832b bug 2022-10-25 16:41:05 +08:00
yanran200730
a12ea7d641 bug 2022-10-25 16:38:56 +08:00
yanran200730
aeb4fcd452 bug 2022-10-25 16:31:16 +08:00
yanran200730
a62913ee6c bug 2022-10-25 16:06:40 +08:00
yanran200730
b1a8a70bdd bug 2022-10-25 15:51:32 +08:00
yanran200730
549ef25edf bug 2022-10-25 15:33:07 +08:00
yanran200730
fd70858523 bug 2022-10-25 15:24:40 +08:00
yanran200730
850dd34da9 bug 2022-10-25 15:24:11 +08:00
yanran200730
ee67948bc0 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-25 14:03:45 +08:00
yanran200730
7561f7af27 2 2022-10-25 14:03:39 +08:00
liuye
6813e9d75b Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-25 09:53:32 +08:00
liuye
ef51d99f66 css 2022-10-25 09:53:14 +08:00
yanran200730
b482e6d691 bug 2022-10-25 09:33:05 +08:00
yanran200730
91cbb0928b Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-24 17:49:57 +08:00
yanran200730
1e9ac9d65a 考核评分 2022-10-24 17:49:20 +08:00
shijingjing
2757dcf19c tips 2022-10-24 16:19:58 +08:00
aixianling
f895172405 Merge remote-tracking branch 'origin/build' into build 2022-10-24 16:13:18 +08:00
aixianling
a9351c58d3 平昌党建先提交挂起 2022-10-24 16:13:01 +08:00
yanran200730
0d5ae1bf0c Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-24 15:58:35 +08:00
yanran200730
84605fd1e7 bug 2022-10-24 15:57:31 +08:00
shijingjing
9209ac9fae 换届选举 2022-10-24 14:47:23 +08:00
aixianling
e78cdbe81d Merge remote-tracking branch 'origin/build' into build 2022-10-24 11:59:01 +08:00
aixianling
f178667db8 追加关于党组织的抽象类 2022-10-24 11:58:47 +08:00
yanran200730
fb0354221d 问卷表单 2022-10-24 11:18:07 +08:00
aixianling
bda2b10c7f 先提交一波整理的代码 2022-10-21 18:10:58 +08:00
liuye
719a45a4c2 css 2022-10-21 17:47:21 +08:00
liuye
69eead6c28 css 2022-10-21 17:44:17 +08:00
liuye
40a2cb39b8 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-21 17:37:59 +08:00
liuye
657dcea2a1 两新组织功能迁移 2022-10-21 17:37:41 +08:00
shijingjing
5d6d98abc2 yData3 2022-10-21 17:31:54 +08:00
shijingjing
0d3d163aec 投票实况 2022-10-21 17:22:38 +08:00
shijingjing
a83b4746f9 结束投票&bug 2022-10-21 15:20:09 +08:00
shijingjing
458b41b5f6 换届选举 2022-10-21 14:43:15 +08:00
yanran200730
3c04ca7c5a Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-21 14:00:24 +08:00
yanran200730
81d437399c 优化 2022-10-21 13:59:38 +08:00
aixianling
cc3fc6a8bd Merge remote-tracking branch 'origin/build' into build 2022-10-21 11:54:16 +08:00
aixianling
bd41857962 先提交一波整理的代码 2022-10-21 11:53:29 +08:00
liuye
ff4f83959a 在职党员社区报到 2022-10-21 11:28:16 +08:00
yanran200730
46d5a004d4 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-21 10:41:22 +08:00
yanran200730
3f49a771c5 表单 2022-10-21 10:41:09 +08:00
liuye
9fddbc5e6a Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-20 17:01:43 +08:00
liuye
d3036b3b89 在职党员社区报到 2022-10-20 17:01:26 +08:00
aixianling
1e59444e0e Merge remote-tracking branch 'origin/build' into build 2022-10-20 16:35:40 +08:00
aixianling
1fa3081b08 随手拍改造完成 2022-10-20 16:35:11 +08:00
yanran200730
ec1860cece 表单 2022-10-20 15:20:57 +08:00
liuye
cc1dc9173d 报到数据 2022-10-20 11:01:16 +08:00
liuye
025eb8e865 在职党员社区报到 报到数据统计 2022-10-20 10:07:37 +08:00
liuye
3e5acf655e 在职党员社区报到 2022-10-19 17:04:26 +08:00
liuye
bf31cb10da 报到组织管理 2022-10-19 14:16:14 +08:00
liuye
ffcf343915 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-19 13:38:32 +08:00
liuye
86e99e0c74 在职党员社区报到 2022-10-19 13:38:16 +08:00
aixianling
f0e20994a2 增加评分等级文本 2022-10-19 11:17:48 +08:00
yanran200730
9739073178 bug 2022-10-18 17:59:12 +08:00
yanran200730
07f27ac44c Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-18 17:54:45 +08:00
yanran200730
281acb69be 调试 2022-10-18 17:54:38 +08:00
shijingjing
6bf1d00455 新增换届 2022-10-18 17:50:46 +08:00
yanran200730
290bb93b49 bug 2022-10-18 17:48:09 +08:00
yanran200730
f7bf8f8f35 bug 2022-10-18 17:28:49 +08:00
yanran200730
d93ae197e3 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-18 17:10:01 +08:00
yanran200730
2dee5e3b37 bug 2022-10-18 17:09:55 +08:00
shijingjing
5d95afe99d 新增换届 2022-10-18 16:55:17 +08:00
shijingjing
9bb702549e 新增换届 2022-10-18 16:48:27 +08:00
yanran200730
5360102236 bug 2022-10-18 16:40:20 +08:00
yanran200730
e6cebd42b3 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-18 16:06:33 +08:00
yanran200730
6f41acf447 bug 2022-10-18 16:06:27 +08:00
shijingjing
c7c8f1d72e 组织换届 2022-10-18 15:56:46 +08:00
yanran200730
8f8e8afa83 2 2022-10-18 15:56:02 +08:00
yanran200730
6fae11838c bug 2022-10-18 15:14:55 +08:00
yanran200730
6577e406a4 bug 2022-10-18 15:13:39 +08:00
shijingjing
53aeb4c43a 党员 2022-10-17 18:03:38 +08:00
yanran200730
8c85768a4d Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-17 18:03:10 +08:00
yanran200730
f7de5fc391 bug 2022-10-17 18:03:03 +08:00
shijingjing
c0d80e528e 编辑 2022-10-17 17:35:03 +08:00
yanran200730
361012c80e bug 2022-10-17 17:22:12 +08:00
yanran200730
8832a8365c Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-17 17:08:58 +08:00
yanran200730
fa2e1968bb 31106 2022-10-17 17:05:03 +08:00
shijingjing
91ac09a2e3 列表 2022-10-17 17:00:13 +08:00
shijingjing
f1b35354dc 列表 2022-10-17 16:56:42 +08:00
liuye
34694492b9 发展党员 2022-10-17 16:51:21 +08:00
liuye
b1b35b05cf 发展党员 2022-10-17 16:49:47 +08:00
liuye
1c8d53cec5 发展党员 2022-10-17 16:43:05 +08:00
liuye
8efb289cc4 发展党员 2022-10-17 16:40:00 +08:00
yanran200730
b2ddce303f 31103 2022-10-17 16:09:07 +08:00
yanran200730
ade9638c13 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-17 16:06:02 +08:00
yanran200730
c762999f67 31102 2022-10-17 16:05:55 +08:00
shijingjing
026fd37a22 详情 2022-10-17 15:59:19 +08:00
shijingjing
7691c392e4 新增成功 2022-10-17 14:18:32 +08:00
shijingjing
32f8cbf995 校验 2022-10-17 11:38:11 +08:00
shijingjing
2894dac5d8 换届 2022-10-17 11:09:47 +08:00
shijingjing
99f086a75a 新增 2022-10-14 17:32:19 +08:00
yanran200730
6eac863f34 31101 2022-10-14 16:37:04 +08:00
yanran200730
e917c16c2c bug 2022-10-14 16:32:14 +08:00
yanran200730
bb3015f626 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-14 16:13:56 +08:00
yanran200730
a9e63cca54 导出 2022-10-14 16:13:47 +08:00
shijingjing
f753f534a4 换届 2022-10-14 15:27:43 +08:00
shijingjing
046715d4b6 换届 2022-10-14 14:47:48 +08:00
aixianling
cfb0177a45 清理idCardNoUtils,改使用ID对象 2022-10-14 13:58:35 +08:00
aixianling
12b3a48baa Merge remote-tracking branch 'origin/build' into build 2022-10-14 11:54:20 +08:00
aixianling
e710fc4604 清理$calcAge 2022-10-14 11:53:24 +08:00
shijingjing
edc371ed30 当前届次 2022-10-14 11:36:06 +08:00
yanran200730
54f1356756 bug 2022-10-14 10:05:43 +08:00
yanran200730
e02fcd6a08 bug 2022-10-14 09:25:12 +08:00
yanran200730
2ac19ef81f Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-14 08:38:57 +08:00
yanran200730
10d9d5ee65 bug 2022-10-14 08:38:50 +08:00
liuye
c8fd7fa5f2 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-13 17:58:28 +08:00
liuye
f9f2812344 发展党员 2022-10-13 17:58:16 +08:00
shijingjing
f9411b7278 组织换届 2022-10-13 17:57:48 +08:00
yanran200730
2f01516cff Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-13 17:10:42 +08:00
shijingjing
1940a24a05 组织换届 2022-10-13 17:10:36 +08:00
yanran200730
0a9ce48880 31090 2022-10-13 17:10:35 +08:00
yanran200730
3bec4fc26d Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-13 16:39:01 +08:00
yanran200730
d9499cae4a 31096 2022-10-13 16:38:53 +08:00
liuye
a2207a781f init 2022-10-13 14:49:19 +08:00
liuye
c3d761d05f 删除 2022-10-13 14:48:27 +08:00
shijingjing
4fd7e4ee2a 换届选举 2022-10-13 14:42:24 +08:00
yanran200730
9f9eb7d23a bug 2022-10-13 14:38:04 +08:00
yanran200730
ab3604d613 bug 2022-10-13 14:05:30 +08:00
liuye
f210317222 发展党员 2022-10-13 13:52:35 +08:00
yanran200730
5a56b3be3f 31095 2022-10-13 11:49:04 +08:00
yanran200730
7c1aedd461 31094 2022-10-13 10:45:41 +08:00
yanran200730
2a7dec2811 31093 2022-10-13 09:04:00 +08:00
yanran200730
0530e553eb 数据比对 2022-10-13 08:58:54 +08:00
yanran200730
2b33f221d6 bug 2022-10-13 08:37:15 +08:00
yanran200730
6c1167a98a 数据比对 2022-10-13 08:35:30 +08:00
yanran200730
464a12ad1e 数据比对 2022-10-13 08:21:49 +08:00
yanran200730
f431ddb5f8 数据比对 2022-10-13 08:17:08 +08:00
yanran200730
1295278175 bug 2022-10-12 18:08:51 +08:00
yanran200730
fe87373cfb 31092 2022-10-12 15:50:26 +08:00
yanran200730
30078c1755 2 2022-10-12 15:47:21 +08:00
yanran200730
c11b74d689 31088 2022-10-12 15:37:11 +08:00
yanran200730
ac5400fb6c 31086 2022-10-12 15:16:55 +08:00
yanran200730
919612648a 31085 2022-10-12 15:15:38 +08:00
yanran200730
c78b43c01c 31084 2022-10-12 15:14:35 +08:00
yanran200730
bfd0b7767b 31083 2022-10-12 15:11:51 +08:00
yanran200730
0067f9ecbc Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-12 10:03:26 +08:00
yanran200730
3ede04c0c3 bug 2022-10-12 10:03:20 +08:00
shijingjing
36f979a67a 资源管理编辑 删除 2022-10-12 09:22:59 +08:00
yanran200730
2f42c353e4 bug 2022-10-12 09:20:48 +08:00
yanran200730
28d958ecc9 健康上报 2022-10-11 17:05:52 +08:00
yanran200730
880a144cc1 健康上报 2022-10-11 15:38:28 +08:00
yanran200730
7857bfab40 bug 2022-10-11 14:31:03 +08:00
yanran200730
0303017f2b 返乡报备 2022-10-11 13:57:43 +08:00
yanran200730
ab4692b655 bug 2022-10-11 10:53:11 +08:00
yanran200730
b26eb2e1dc bug 2022-10-11 09:55:59 +08:00
yanran200730
88e9c450b5 bug 2022-10-11 09:30:43 +08:00
yanran200730
08c8fe0366 bug 2022-10-11 09:22:37 +08:00
yanran200730
0284997d6a Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-10 18:04:40 +08:00
yanran200730
b03ba3b988 bug 2022-10-10 18:04:33 +08:00
liuye
298bae5301 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-10 17:59:10 +08:00
liuye
39a4916939 areaId 2022-10-10 17:58:41 +08:00
yanran200730
77bd0c256f Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-10 17:52:34 +08:00
yanran200730
3ba14427a5 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-10 17:52:14 +08:00
liuye
ac869994a7 地图 2022-10-10 17:52:05 +08:00
yanran200730
3f30a1cbd1 bug 2022-10-10 17:50:21 +08:00
shijingjing
2421df4995 地区展示 2022-10-10 17:44:14 +08:00
liuye
71261b4a82 地图 2022-10-10 17:19:16 +08:00
yanran200730
9df5e447eb Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-10 17:10:30 +08:00
yanran200730
9b25a8fa0e bug 2022-10-10 17:10:21 +08:00
shijingjing
e898b55fa3 限制地区 2022-10-10 17:07:03 +08:00
shijingjing
f740372e71 地图key值 2022-10-10 16:44:17 +08:00
yanran200730
8f73ddb063 31081 2022-10-10 11:07:27 +08:00
yanran200730
90fed1bae2 31079 2022-10-10 10:27:07 +08:00
yanran200730
4d5b7f3664 31078 2022-10-10 10:18:48 +08:00
yanran200730
cb7493c6c9 31077 2022-10-10 10:18:10 +08:00
yanran200730
9c69aab95c Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-09 11:42:12 +08:00
yanran200730
c228aaa7af bug 2022-10-09 11:42:03 +08:00
liuye
a8d4dede1d 资源地图 2022-10-09 11:05:50 +08:00
liuye
b07607a932 ct 2022-10-09 10:22:44 +08:00
liuye
962ea61fa5 资源地图 2022-10-09 10:21:00 +08:00
yanran200730
57e8a411c2 bug 2022-10-09 10:19:36 +08:00
yanran200730
2a48e816f4 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-09 09:11:24 +08:00
yanran200730
97611a8dc8 大屏 2022-10-09 09:11:18 +08:00
shijingjing
ce113372e8 路由 2022-10-08 17:41:45 +08:00
shijingjing
f204f3fff3 地区切换 2022-10-08 17:27:01 +08:00
shijingjing
aa9a3a92f1 校验 2022-10-08 17:15:54 +08:00
liuye
edddb02dfe Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-08 16:58:38 +08:00
liuye
407c1a8db0 资源地图 2022-10-08 16:58:09 +08:00
shijingjing
7d265446c4 校验规则 2022-10-08 16:48:22 +08:00
shijingjing
575606766f 新增资源管理 2022-10-08 15:31:25 +08:00
yanran200730
4a0f4535d0 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-10-08 14:05:21 +08:00
yanran200730
06e75084bb 资源地图 2022-10-08 14:05:13 +08:00
shijingjing
89a22c82c9 资源分类 2022-10-08 11:33:13 +08:00
shijingjing
1bbb14bf5d 转数组 2022-10-08 10:56:24 +08:00
shijingjing
b082164ff6 资源分类 2022-10-08 10:16:49 +08:00
liuye
2a0b67be09 资源场所 2022-10-08 09:28:09 +08:00
shijingjing
e437812fd5 资源分类 2022-10-08 08:52:46 +08:00
shijingjing
fb0291ff99 资源分类 2022-09-30 18:01:15 +08:00
shijingjing
fd90a48b9c 资源管理列表 2022-09-30 16:14:56 +08:00
yanran200730
ba1fdf332b Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-09-30 16:03:07 +08:00
yanran200730
c1ca2fa181 监护大屏 2022-09-30 16:02:59 +08:00
shijingjing
8549f68fbd 社会资源 2022-09-30 13:47:38 +08:00
shijingjing
b597eb5916 社会资源 2022-09-30 11:44:35 +08:00
yanran200730
646902cc53 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-09-30 11:34:02 +08:00
yanran200730
48535c313e 监控大屏 2022-09-30 11:33:54 +08:00
shijingjing
368a490502 彭刘杨 2022-09-30 11:26:07 +08:00
yanran200730
8f5cf47c75 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-09-30 10:59:35 +08:00
yanran200730
3a4dabae4e 房屋大屏 2022-09-30 10:59:29 +08:00
shijingjing
e608ab6204 彭刘杨 2022-09-30 10:45:57 +08:00
shijingjing
45b4c5ad24 删除dev分支的彭刘杨 2022-09-30 10:40:01 +08:00
shijingjing
a2d506a56d 彭刘杨 2022-09-30 10:31:04 +08:00
yanran200730
d97f650fb5 bug 2022-09-30 10:21:48 +08:00
yanran200730
4c6142d0b6 bug 2022-09-30 10:03:17 +08:00
yanran200730
5ed1532762 bug 2022-09-30 10:02:34 +08:00
yanran200730
368ec56181 bug 2022-09-30 09:46:10 +08:00
yanran200730
65455afb58 bug 2022-09-30 09:13:14 +08:00
yanran200730
21d32a888d bug 2022-09-30 08:57:56 +08:00
yanran200730
8da835bd0b bug 2022-09-30 08:40:29 +08:00
yanran200730
843a5b83c5 彭刘杨大屏 2022-09-29 17:53:38 +08:00
yanran200730
a8347e622d 房屋大屏 2022-09-29 15:20:52 +08:00
yanran200730
ef3c99e086 优化图表 2022-09-29 10:27:35 +08:00
yanran200730
0acae3b222 bug 2022-09-29 09:40:47 +08:00
yanran200730
73442de46c bug 2022-09-29 09:28:48 +08:00
yanran200730
8a73e9cb2c bug 2022-09-28 16:25:40 +08:00
yanran200730
b13b8a0ded bug 2022-09-28 14:52:23 +08:00
yanran200730
9c05b0d79c bug 2022-09-28 13:58:59 +08:00
yanran200730
5dfa42880e bug 2022-09-28 09:52:40 +08:00
yanran200730
9af93d42f7 bug 2022-09-28 09:21:09 +08:00
yanran200730
58def567cd bug 2022-09-28 09:18:02 +08:00
yanran200730
b944c0f25f bug 2022-09-27 16:54:57 +08:00
yanran200730
5e2fcdea28 导出 2022-09-27 15:54:02 +08:00
yanran200730
adee39f37f bug 2022-09-27 15:20:45 +08:00
yanran200730
d00b876181 bug 2022-09-27 14:56:32 +08:00
yanran200730
039d65c94d 31059 2022-09-27 14:54:16 +08:00
yanran200730
39849cea5a 31054 2022-09-27 14:50:04 +08:00
yanran200730
2e13f43057 31055 2022-09-27 14:43:34 +08:00
yanran200730
aff79a6d5f 31057 2022-09-27 14:43:01 +08:00
yanran200730
f90c7c2c6f 31058 2022-09-27 14:41:58 +08:00
yanran200730
7c49db0a33 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-09-27 14:36:53 +08:00
yanran200730
5992e78365 bug 2022-09-27 14:36:44 +08:00
aixianling
71e7bb68ab 监护地图路由更新 2022-09-27 11:07:48 +08:00
aixianling
ff684ffe83 Merge remote-tracking branch 'origin/build' into build 2022-09-27 10:35:40 +08:00
aixianling
854fb197bb 监护地图路由更新 2022-09-27 10:35:21 +08:00
yanran200730
6716deb004 卡口登记 2022-09-26 17:11:00 +08:00
yanran200730
b631420500 卡口登记 2022-09-26 17:08:06 +08:00
yanran200730
43527038aa 社区管理 2022-09-26 15:21:17 +08:00
yanran200730
419469b52d Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-09-26 15:19:09 +08:00
yanran200730
b206dfa77f 社区管理 2022-09-26 15:19:03 +08:00
aixianling
7ef87ef44f 修复因字典节流加载导致的异步正常结束异常 2022-09-26 09:41:56 +08:00
aixianling
45432afb6f Merge remote-tracking branch 'origin/build' into build
# Conflicts:
#	project/pingchang/apps/AppRiskArea/components/List.vue
2022-09-23 18:21:47 +08:00
aixianling
4daab388ab 同步国家卫健委风险地区数据 2022-09-23 18:20:29 +08:00
yanran200730
a50e13a8df 大屏 2022-09-23 11:12:32 +08:00
yanran200730
dd662e8d22 大屏 2022-09-23 09:47:53 +08:00
yanran200730
ece325a45e bug 2022-09-23 09:43:39 +08:00
yanran200730
f7de989f59 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-09-23 09:18:49 +08:00
yanran200730
3be7075a08 测试 2022-09-23 09:18:44 +08:00
aixianling
2ca0518c98 Merge remote-tracking branch 'origin/build' into build 2022-09-22 14:40:25 +08:00
aixianling
60a8791e92 BUG 31039 2022-09-22 14:40:07 +08:00
yanran200730
1f9295f1a7 风险区域配置 2022-09-22 14:28:26 +08:00
yanran200730
769d69b8be bug 2022-09-22 11:22:38 +08:00
yanran200730
6e12c5d4ce Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-09-22 11:19:00 +08:00
yanran200730
fcda3b5e8e bug 2022-09-22 11:18:48 +08:00
aixianling
d4692f883d Merge remote-tracking branch 'origin/build' into build 2022-09-22 10:43:24 +08:00
aixianling
a08f2525ee BUG 31039 2022-09-22 10:43:07 +08:00
yanran200730
5ad966a025 大屏 2022-09-22 10:34:19 +08:00
yanran200730
b2f9169f9f Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-09-22 10:31:28 +08:00
yanran200730
54d4ebcd4d 大屏 2022-09-22 10:30:35 +08:00
aixianling
c661413585 统一字眼 2022-09-21 17:46:33 +08:00
aixianling
87739cf75e 修复跳转异常,和文字说明 2022-09-21 17:22:49 +08:00
aixianling
3ef31d3631 修复跳转异常 2022-09-21 17:02:01 +08:00
aixianling
398e0890ba 修复跳转异常 2022-09-21 16:43:11 +08:00
aixianling
b70bff5807 BUG 31036 2022-09-21 16:11:15 +08:00
aixianling
15f5d59794 BUG 31035 2022-09-21 15:54:58 +08:00
aixianling
25edd8b7df 小程序配置中追加半屏小程序兼容2.23版本一下设置 2022-09-21 11:46:54 +08:00
aixianling
34ca42cfa3 BUG 31034 2022-09-21 11:29:43 +08:00
aixianling
efd31eaaa5 Merge remote-tracking branch 'origin/build' into build 2022-09-20 15:28:17 +08:00
aixianling
de4eccb8c8 同步queryType和金融机构类型保持一致 2022-09-20 15:27:58 +08:00
yanran200730
7368889731 bug 2022-09-20 14:57:01 +08:00
yanran200730
1c38847eff 优化选择器 2022-09-20 10:28:16 +08:00
yanran200730
e68efdd6fe bug 2022-09-19 17:55:25 +08:00
yanran200730
e0a0cea985 bug 2022-09-19 16:38:02 +08:00
yanran200730
6d5eeb2174 bug 2022-09-19 11:40:01 +08:00
yanran200730
4700c71a44 Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-09-19 11:38:34 +08:00
yanran200730
552c91eb23 22 2022-09-19 11:38:26 +08:00
aixianling
cf582b359a Merge remote-tracking branch 'origin/build' into build 2022-09-19 11:31:23 +08:00
aixianling
1ec38cb03d 保险产品需求调整完毕 2022-09-19 11:31:01 +08:00
yanran200730
05129aa200 黔西南大屏 2022-09-19 11:06:52 +08:00
yanran200730
57abf72ecd bug 2022-09-16 09:16:30 +08:00
yanran200730
b0051271da Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build 2022-09-15 18:05:38 +08:00
yanran200730
f46198b63f 22 2022-09-15 18:05:30 +08:00
aixianling
d5246f6863 Merge remote-tracking branch 'origin/build' into build 2022-09-15 16:53:38 +08:00
aixianling
eff73b831b 协同宣发临时版本(beta) 2022-09-15 16:47:29 +08:00
yanran200730
a804b82b06 网格区块 2022-09-15 16:18:04 +08:00
yanran200730
e16c1d6c85 bug 2022-09-15 15:26:52 +08:00
yanran200730
0fc014b17b 1 2022-09-15 15:00:09 +08:00
yanran200730
05aad4b68e bug 2022-09-15 14:21:44 +08:00
yanran200730
653e441f55 bug 2022-09-15 13:48:25 +08:00
yanran200730
cf80182740 群发居民群需求变更 2022-09-15 13:44:27 +08:00
yanran200730
0c2ac4808a 协同宣发 2022-09-14 18:04:56 +08:00
yanran200730
ebce8b7025 协同宣发 2022-09-13 18:19:57 +08:00
yanran200730
fc1e0812f5 协同宣发 2022-09-13 15:57:16 +08:00
yanran200730
81f3a4b35d 2 2022-09-09 17:58:34 +08:00
yanran200730
3f1084a542 bug 2022-09-09 10:16:24 +08:00
yanran200730
6f129181f3 bug 2022-09-09 10:07:01 +08:00
aixianling
f6ab2c9306 Merge remote-tracking branch 'origin/dev' into build 2022-09-09 09:40:08 +08:00
yanran200730
aed4f4bdc7 大屏 2022-09-09 09:10:26 +08:00
yanran200730
7a30018e52 大屏 2022-09-09 09:02:48 +08:00
yanran200730
95eb08e8c1 兴义大屏 2022-09-08 18:09:30 +08:00
yanran200730
52d7c20639 兴义大屏 2022-09-08 17:39:57 +08:00
aixianling
9ea39b1386 Merge remote-tracking branch 'origin/dev' into build 2022-09-08 16:17:08 +08:00
yanran200730
3f713a8d15 兴义大屏 2022-09-08 16:06:01 +08:00
aixianling
6e98d28b88 Merge remote-tracking branch 'origin/dev' into build 2022-09-08 13:23:39 +08:00
yanran200730
36f4283374 郫都大屏 2022-09-08 13:18:33 +08:00
yanran200730
a9ae034fcd 兴义大屏 2022-09-08 10:35:13 +08:00
yanran200730
ec379e6b72 兴义大屏 2022-09-08 09:03:41 +08:00
aixianling
cae010c2fc 清除不用的资源 2022-09-07 17:42:46 +08:00
aixianling
1b9c231a08 动效优化 2022-09-07 17:38:57 +08:00
aixianling
8883aaceb1 Merge remote-tracking branch 'origin/dev' into build 2022-09-07 16:01:57 +08:00
yanran200730
85caf086b7 兴义大屏 2022-09-07 14:54:41 +08:00
yanran200730
db431af916 大屏 2022-09-07 14:33:22 +08:00
yanran200730
022a15cc9d 大屏 2022-09-07 14:04:28 +08:00
yanran200730
6dfb287c9f 兴义大屏 2022-09-07 10:09:29 +08:00
aixianling
afeb2ffbec 修复预览界面 2022-09-06 15:19:28 +08:00
aixianling
1d6f9d4928 Merge remote-tracking branch 'origin/dev' into build 2022-09-06 11:47:02 +08:00
aixianling
7b11e728ff BUG 30994 2022-09-05 17:40:26 +08:00
yanran200730
5ed578faa0 30948 2022-09-05 17:35:23 +08:00
aixianling
2e2c38848a BUG 30994 2022-09-05 17:28:27 +08:00
yanran200730
faffbaeafe 协同宣发 2022-09-05 14:31:44 +08:00
aixianling
617ef4b9c9 企业微信设置调整,系统信息科在修改调整 2022-09-05 11:11:10 +08:00
aixianling
efc537a45b 慧治理设置完毕 2022-09-05 11:08:44 +08:00
yanran200730
9cf8ffc5c1 协同宣发 2022-09-05 10:54:11 +08:00
aixianling
1ae777d0d5 兼容登录页做调整 2022-09-05 10:00:38 +08:00
aixianling
dd33829b39 Merge remote-tracking branch 'origin/dev' into build 2022-09-05 09:18:06 +08:00
yanran200730
e2acdacf1f Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-09-02 16:11:50 +08:00
yanran200730
db077cb9d5 协同宣发 2022-09-02 16:11:29 +08:00
aixianling
8edddb8cda 增加手动同步库信息脚本 2022-09-02 15:36:44 +08:00
aixianling
f68fef4012 Merge remote-tracking branch 'origin/dev' into build 2022-09-02 15:34:39 +08:00
aixianling
5a287a627a 增加手动同步库信息脚本 2022-09-02 15:25:46 +08:00
liuye
0aa51096a3 企微配置 2022-09-02 14:16:20 +08:00
aixianling
37c6f38354 Merge remote-tracking branch 'origin/dev' into build 2022-09-02 09:20:59 +08:00
liuye
a863c70ea4 企微应用配置 2022-09-01 17:46:23 +08:00
aixianling
68b8c4f43d Merge remote-tracking branch 'origin/dev' into build 2022-09-01 16:06:13 +08:00
liuye
9f8f035b83 企微配置 2022-09-01 15:58:10 +08:00
liuye
71bebd8048 企微应用配置 2022-09-01 15:31:58 +08:00
yanran200730
4a75301322 协同宣发 2022-09-01 15:08:54 +08:00
yanran200730
ec24628e02 协同宣发 2022-09-01 13:47:14 +08:00
yanran200730
7f51812208 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-09-01 13:45:49 +08:00
yanran200730
9f5b6e10a3 协同宣发 2022-09-01 13:45:42 +08:00
shijingjing
7e918cbf4a 取绝对值 2022-09-01 11:10:02 +08:00
aixianling
422b809a08 BUG 31009 2022-09-01 10:30:07 +08:00
aixianling
d34a69d143 BUG 31009 2022-09-01 10:00:53 +08:00
shijingjing
3383deabd2 31011 2022-09-01 09:30:23 +08:00
aixianling
e8b49517e2 Merge remote-tracking branch 'origin/dev' into build 2022-09-01 09:02:27 +08:00
shijingjing
6c99807d85 size 2022-08-31 17:43:01 +08:00
aixianling
b1d31708da 修复接口代理问题 2022-08-31 17:29:17 +08:00
aixianling
6c44cf5a65 Merge remote-tracking branch 'origin/dev' into build
# Conflicts:
#	packages/bigscreen/designer/components/Add.vue
2022-08-31 16:32:37 +08:00
aixianling
06f02e3435 更换新组件 2022-08-31 16:15:25 +08:00
yanran200730
564a4e57d8 31001 2022-08-31 15:16:37 +08:00
yanran200730
dd8e0b8f5f 31006 2022-08-31 14:36:52 +08:00
yanran200730
f50166c297 协同宣发 2022-08-31 14:25:01 +08:00
yanran200730
aea4f4e5c0 协同宣发 2022-08-31 14:19:04 +08:00
aixianling
28968f7cbb 统一文件名 2022-08-31 11:49:32 +08:00
aixianling
bc5408bfbc Merge remote-tracking branch 'origin/dev' into build 2022-08-31 10:58:04 +08:00
yanran200730
8a91728452 协同宣发 2022-08-31 10:29:57 +08:00
aixianling
072c780824 Merge remote-tracking branch 'origin/dev' into build 2022-08-30 18:01:05 +08:00
aixianling
c0cbb61731 定制大屏调整位置 2022-08-30 17:49:35 +08:00
aixianling
73355a8f07 定制大屏调整位置 2022-08-30 17:29:29 +08:00
aixianling
eef6c52ac5 定制大屏调整位置 2022-08-30 17:20:15 +08:00
yanran200730
70ddb69006 群发居民群 2022-08-30 17:05:02 +08:00
aixianling
33a5d975ce Merge remote-tracking branch 'origin/dev' into build 2022-08-30 16:22:31 +08:00
yanran200730
72eae2fb4b 协同宣发 2022-08-30 16:02:41 +08:00
aixianling
ee91eeb7c5 Merge branch 'dev' into build 2022-08-30 11:00:57 +08:00
yanran200730
e92613391f 郫都优化 2022-08-30 10:48:59 +08:00
yanran200730
bef847e128 bug 2022-08-30 10:37:15 +08:00
aixianling
c85c6f85fa 控制样式,当前节点,当前节点model 2022-08-29 17:20:12 +08:00
yanran200730
8f17c453e1 秀山 2022-08-29 17:17:44 +08:00
aixianling
7b6640a42e 增加权限码控制 2022-08-29 17:07:29 +08:00
aixianling
4b2aee6d04 [图片] 2022-08-29 15:45:31 +08:00
aixianling
49426284fc BUG 30987 2022-08-29 14:50:59 +08:00
aixianling
2c7a536d28 BUG 30997 2022-08-29 14:44:52 +08:00
aixianling
6b9dd3d898 BUG 30993 2022-08-29 14:30:00 +08:00
aixianling
da7691db33 BUG 30991 2022-08-29 14:21:55 +08:00
aixianling
e4aa26de64 BUG 30981 2022-08-29 14:14:36 +08:00
aixianling
d6b806bd02 BUG 30977 2022-08-29 14:12:26 +08:00
aixianling
61afcd2d98 更换cdn源 2022-08-29 14:07:10 +08:00
aixianling
183885134d 更换cdn源 2022-08-29 13:43:56 +08:00
aixianling
981c6cf3f8 增加全部审批页签 2022-08-29 11:43:20 +08:00
aixianling
6a847bd991 BUG 30988 2022-08-29 11:37:17 +08:00
aixianling
99ee6f83f9 BUG 30987 2022-08-29 11:35:16 +08:00
aixianling
9454c5a1de BUG 30986 2022-08-29 11:32:50 +08:00
aixianling
4130d0ceb4 BUG 30984 2022-08-29 11:31:30 +08:00
aixianling
be394a53c2 BUG 30983 2022-08-29 11:26:56 +08:00
aixianling
d037a7d938 BUG 30982 2022-08-29 11:21:55 +08:00
aixianling
bbdd34f0ec BUG 30981 2022-08-29 11:16:25 +08:00
aixianling
c09ead4515 BUG 30979 2022-08-29 11:05:29 +08:00
aixianling
90293be2fa BUG 30978 2022-08-29 10:58:48 +08:00
aixianling
3d58a98b38 BUG 30977 2022-08-29 10:55:16 +08:00
aixianling
fc395682d8 添加api 2022-08-29 10:02:59 +08:00
aixianling
6ee02bb486 增加favicon埋点 2022-08-29 09:51:46 +08:00
aixianling
43a4d05d60 修复异常 2022-08-29 09:16:50 +08:00
aixianling
2760adc7b9 umd引入大屏组件 2022-08-29 09:12:16 +08:00
aixianling
de8d58766c Merge branch 'dev' into build 2022-08-29 09:05:20 +08:00
aixianling
9a56c2ee8a Merge remote-tracking branch 'origin/build' into build 2022-08-29 08:59:10 +08:00
aixianling
945d538bad 大屏预览提升为组件 2022-08-29 08:58:52 +08:00
艾贤凌
4a5e04c2be Update AppAccountXiushan.vue 2022-08-26 11:59:54 +00:00
aixianling
7a0d77770d 调整审批显示 2022-08-26 18:49:20 +08:00
aixianling
623fc73640 接口因为代理做整合 2022-08-26 18:37:40 +08:00
aixianling
ccf21dacb5 手机APP导航栏埋点 2022-08-26 18:22:22 +08:00
aixianling
1744f27b75 手机APP导航栏埋点 2022-08-26 18:06:40 +08:00
aixianling
e3d8559ff6 全局增加关于登录信息的扩展埋点 2022-08-26 17:59:20 +08:00
aixianling
7137263693 全局增加关于登录信息的扩展埋点 2022-08-26 17:44:30 +08:00
aixianling
05baf15363 全局增加关于登录信息的扩展埋点 2022-08-26 17:39:18 +08:00
aixianling
2b50fdf5a4 全局增加关于登录信息的扩展埋点 2022-08-26 17:20:08 +08:00
aixianling
b70e270475 工作台样式优化 2022-08-26 16:57:08 +08:00
aixianling
80704876f0 网格员积分应用名称可随菜单变化 2022-08-26 15:13:18 +08:00
shijingjing
57628dc429 网格员积分优化 2022-08-26 15:09:02 +08:00
aixianling
ded1bbfcb9 秀山需求变更完成 2022-08-26 14:58:53 +08:00
aixianling
ce1fd46b7e 修正接口请求 2022-08-26 14:24:34 +08:00
aixianling
44ca30cbf3 修正接口请求 2022-08-26 14:17:03 +08:00
aixianling
3e69a37fa6 修正接口请求 2022-08-26 14:16:32 +08:00
aixianling
eaa57ebec8 秀山工作台入库 2022-08-26 14:10:10 +08:00
aixianling
dc4a9761e9 修复引优化导致的产品库目录路径异常的问题 2022-08-26 14:03:04 +08:00
aixianling
fc695b80f7 转移副标题的json字符串 2022-08-26 10:12:37 +08:00
aixianling
1938c91e05 允许增加logo文字 2022-08-26 09:54:23 +08:00
aixianling
d0ccae9c1a web端主库应用不展示核心库应用 2022-08-25 17:56:09 +08:00
aixianling
5bc00ec520 Merge branch 'dev' into build
# Conflicts:
#	project/oms/apps/develop/AppDeployCustom/add.vue
2022-08-25 17:34:56 +08:00
aixianling
20b04d1789 同步整合文件名 2022-08-25 17:30:35 +08:00
aixianling
5a9f0ae9d1 针对主库应用扩展分页数量 2022-08-25 16:58:57 +08:00
aixianling
a75d96561c 系统设置数据结构适应,定制方案增加web端系统信息设置 2022-08-25 11:21:58 +08:00
aixianling
e86f473fc0 调整隐藏工具栏 2022-08-25 09:54:56 +08:00
yanran200730
53aa333967 bug 2022-08-25 09:48:47 +08:00
yanran200730
d2f611623b bug 2022-08-25 09:39:56 +08:00
yanran200730
8fa7e9c083 优化 2022-08-25 09:34:43 +08:00
yanran200730
ff973bf62f bug 2022-08-25 09:19:16 +08:00
aixianling
d3c8292035 头部导航增加埋点设置 2022-08-24 18:18:17 +08:00
yanran200730
c7718b024b Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-08-24 17:58:14 +08:00
yanran200730
7e52c337c3 优化 2022-08-24 17:56:10 +08:00
aixianling
e5591db83a 头部导航增加埋点设置 2022-08-24 17:50:15 +08:00
shijingjing
3c37b1b4ad css 2022-08-24 17:29:47 +08:00
shijingjing
0538342491 人员类别 2022-08-24 16:53:32 +08:00
aixianling
af298ca17e Merge branch 'dev' into build 2022-08-24 16:35:06 +08:00
yanran200730
883aca74e1 优化网格选择组件 2022-08-24 16:07:00 +08:00
aixianling
c112e7cde8 允许一级菜单为应用且可设置图标 2022-08-24 15:13:23 +08:00
yanran200730
64d2edd2cd bug 2022-08-24 15:11:43 +08:00
aixianling
100d75fec0 百度流量开关 2022-08-24 14:44:26 +08:00
aixianling
d8fcd77b4f 工作台入库埋点设置 2022-08-24 14:43:43 +08:00
aixianling
95d22d59f6 工作台入库埋点设置 2022-08-24 13:44:19 +08:00
aixianling
f4fe01797d 工作台入库 2022-08-24 13:40:40 +08:00
aixianling
f2b9834cb1 工作台入库 2022-08-24 11:51:27 +08:00
aixianling
0d7c0a9671 工作台入库 2022-08-24 11:46:01 +08:00
aixianling
ccc6455274 构建版收录web端产品库 2022-08-24 11:16:47 +08:00
aixianling
083c1ff068 Merge branch 'dev' into build 2022-08-24 11:08:04 +08:00
aixianling
36dc08d8ab 构建版收录web端产品库 2022-08-24 11:04:18 +08:00
aixianling
be15c94417 Merge branch 'dev' into build 2022-08-24 10:51:00 +08:00
aixianling
b42d755e9b BUG 30974 2022-08-23 16:57:42 +08:00
aixianling
afa698cf72 BUG 30970 2022-08-23 16:04:42 +08:00
aixianling
8bebe9f661 统一一下字典加载 2022-08-23 16:00:44 +08:00
aixianling
e1bc2c9c2e BUG 30967 2022-08-23 15:54:03 +08:00
aixianling
831faf4a34 BUG 30968 2022-08-23 15:47:47 +08:00
aixianling
07c7c267aa BUG 30968 2022-08-23 15:45:28 +08:00
aixianling
2650c69ff7 BUG 30969 2022-08-23 15:40:57 +08:00
aixianling
d8db5ef7bb BUG 30961 2022-08-23 15:39:17 +08:00
aixianling
11d24d2f2c BUG 30961 2022-08-23 15:37:21 +08:00
aixianling
9de3f32d6c Merge branch 'dev' into build
# Conflicts:
#	project/oms/apps/develop/AppDeployCustom/add.vue
2022-08-23 15:20:21 +08:00
aixianling
ae1c7ce5eb 百度流量埋点设置 2022-08-23 15:19:35 +08:00
aixianling
e8774de7d4 BUG 30961 2022-08-23 14:59:30 +08:00
aixianling
df89da46f1 BUG 30957 2022-08-23 14:24:35 +08:00
aixianling
35ac06a05b BUG 30962 2022-08-23 14:22:37 +08:00
aixianling
cef6c224ee 调整名字 2022-08-23 14:18:35 +08:00
aixianling
6ac1f0a87a BUG 30961 2022-08-23 14:15:04 +08:00
aixianling
ec729eb1e9 BUG 30959 2022-08-23 11:27:01 +08:00
aixianling
7590a5bcb2 减少冗余代码 2022-08-23 11:05:24 +08:00
aixianling
7bbdaee6d3 Merge branch 'dev' into build
# Conflicts:
#	components/AiOkrTree/AiOkrTree.vue
#	project/dv/apps/AppGridDV.vue
2022-08-23 11:04:07 +08:00
aixianling
de190a9076 减少冗余代码 2022-08-23 10:58:14 +08:00
aixianling
efdb76ff0c 异常修复 2022-08-23 10:53:03 +08:00
aixianling
a0d348748c 重新构建一遍okr-tree 2022-08-23 10:41:16 +08:00
aixianling
3c499a1f8d Merge remote-tracking branch 'origin/dev' into dev 2022-08-23 10:39:04 +08:00
aixianling
df498efd2f 重新构建一遍okr-tree 2022-08-23 10:38:33 +08:00
aixianling
e445063afc 重新构建一遍okr-tree 2022-08-23 10:37:38 +08:00
liuye
6561f31e2d css 2022-08-23 08:58:46 +08:00
aixianling
59542c73b3 Merge branch 'dev' into build
# Conflicts:
#	package.json
#	project/dv/apps/AppGridDV.vue
2022-08-22 18:07:04 +08:00
aixianling
f0edad2b97 okrtree改成cdn加载 2022-08-22 18:04:00 +08:00
aixianling
37e37540f8 okrtree改成cdn加载 2022-08-22 18:03:06 +08:00
shijingjing
8312807917 30953 2022-08-22 17:51:57 +08:00
yanran200730
b52c178051 bug 2022-08-22 17:06:11 +08:00
yanran200730
8c0f9451b7 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-08-22 16:00:16 +08:00
yanran200730
0a262cbb25 郫都大屏 2022-08-22 16:00:09 +08:00
aixianling
e7fb16bd70 修复状态显示异常 2022-08-22 15:24:36 +08:00
aixianling
4bb6e3be77 Merge branch 'dev' into build 2022-08-22 15:23:01 +08:00
liuye
41810a8b80 宣发统计 2022-08-22 15:03:55 +08:00
aixianling
88296e0f3e okrtree 2022-08-22 14:39:08 +08:00
aixianling
425cb93e8d 兼容判断 2022-08-22 14:20:06 +08:00
liuye
53ee346ba0 上架宣发 2022-08-22 11:42:30 +08:00
liuye
fbfa584d55 30710 2022-08-22 11:30:27 +08:00
aixianling
f18a7fd85c 调整目录结构使其能够被引用 2022-08-22 11:27:05 +08:00
aixianling
e67a8c4ac2 Merge branch 'dev' into build 2022-08-22 11:17:02 +08:00
aixianling
dbbd384221 调整目录结构使其能够被引用 2022-08-22 11:16:34 +08:00
aixianling
bca314e635 增加web端埋点 2022-08-22 11:09:55 +08:00
liuye
2d834a57d5 宣发统计 2022-08-22 10:44:41 +08:00
aixianling
7b5841122e 更新引入路径为相对路径 2022-08-22 09:28:16 +08:00
aixianling
58ec778b3e Merge branch 'dev' into build 2022-08-19 13:55:42 +08:00
aixianling
a8041026a9 临时处理一下 2022-08-19 13:55:13 +08:00
aixianling
c04bcbf90e 大屏组件做一下切割 2022-08-19 13:54:37 +08:00
aixianling
89b39916d7 构建版产品库组件整合 2022-08-19 13:39:28 +08:00
aixianling
b388d03536 Merge branch 'dev' into build 2022-08-19 11:54:33 +08:00
aixianling
e6c3c1c857 BUG 30939 2022-08-19 11:12:07 +08:00
aixianling
37df0942ff BUG 30868 2022-08-19 11:03:44 +08:00
aixianling
3f51798bc1 Merge remote-tracking branch 'origin/dev' into dev 2022-08-19 10:32:25 +08:00
aixianling
85e34eda3d 增加信息标注 2022-08-19 10:32:12 +08:00
liuye
329f7562db 回调 2022-08-19 10:24:51 +08:00
yanran200730
a80efb09c0 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-08-19 09:42:59 +08:00
yanran200730
122d12fec0 bug 2022-08-19 09:42:46 +08:00
liuye
17bc8ad651 30941 2022-08-19 09:15:46 +08:00
liuye
587028883a fix 2022-08-19 09:01:42 +08:00
liuye
79bfd71a8e fix 2022-08-19 09:00:10 +08:00
yanran200730
8aae3b84a5 bug 2022-08-18 18:33:01 +08:00
yanran200730
238a6807ac Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-08-18 18:25:09 +08:00
yanran200730
49bd61c376 bug 2022-08-18 18:24:59 +08:00
aixianling
097b434712 更换列表上标绘接口 2022-08-18 17:36:39 +08:00
aixianling
392ffee1ea Merge branch 'dev' into build
# Conflicts:
#	package.json
#	vue.config.js
2022-08-18 17:33:48 +08:00
aixianling
5dac5a8829 Merge remote-tracking branch 'origin/dev' into dev 2022-08-18 17:28:04 +08:00
aixianling
35e612d35c 特制化,使标题跟随菜单目录变化 2022-08-18 17:27:50 +08:00
yanran200730
21fcd206db Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-08-18 17:14:18 +08:00
yanran200730
dd81c894e0 协同宣发 2022-08-18 17:14:11 +08:00
aixianling
3b7ee0c6cc 固定版本 2022-08-18 16:13:37 +08:00
aixianling
bdc0f0861f BUG 30925 2022-08-18 16:10:11 +08:00
aixianling
a694d33a9c Merge remote-tracking branch 'origin/dev' into dev 2022-08-18 15:36:42 +08:00
aixianling
a92123566d 秀山需求变更调整完毕 2022-08-18 15:36:24 +08:00
shijingjing
8fbdee3a22 分页和日期 2022-08-18 13:49:16 +08:00
shijingjing
583b210687 去掉echerts背景色 2022-08-18 12:21:45 +08:00
shijingjing
378c634c4a sortable: "custom" 2022-08-18 11:45:46 +08:00
shijingjing
3f9deb61f0 30907 2022-08-18 09:53:15 +08:00
yanran200730
154506ec6e 协同宣发 2022-08-18 09:40:09 +08:00
shijingjing
320f9b9948 漏了 2022-08-18 09:32:58 +08:00
aixianling
8b1669ccfc Merge remote-tracking branch 'origin/dev' into dev 2022-08-18 09:24:01 +08:00
aixianling
5eaada7828 BUG 30916 2022-08-18 09:23:44 +08:00
shijingjing
6c3686232c 正负号格式化 2022-08-18 09:12:35 +08:00
shijingjing
34672ebfda 正负号 2022-08-18 09:02:34 +08:00
shijingjing
371ec0c8dd bug 2022-08-17 20:22:25 +08:00
shijingjing
7e974c8de3 事件类型 2022-08-17 20:08:27 +08:00
shijingjing
c153846191 网格 2022-08-17 19:52:30 +08:00
shijingjing
13a56c373c 积分规则 2022-08-17 19:15:57 +08:00
shijingjing
91c4e94609 bug 2022-08-17 19:02:52 +08:00
shijingjing
78d6d9d52d 30916 2022-08-17 18:46:03 +08:00
shijingjing
0df75a6dfa 30915 2022-08-17 18:13:00 +08:00
aixianling
18d00de5fc 增加测试节点 2022-08-17 18:12:35 +08:00
aixianling
1ff28c6969 Merge remote-tracking branch 'origin/dev' into dev 2022-08-17 17:40:57 +08:00
aixianling
f49e5cd8a7 BUG 30910 2022-08-17 17:40:41 +08:00
shijingjing
8a0a805af1 30908 2022-08-17 17:34:21 +08:00
shijingjing
a3da9bacb0 30909 2022-08-17 17:30:10 +08:00
shijingjing
c0de94aca9 30848 2022-08-17 17:21:26 +08:00
aixianling
7500bf286e BUG 30889 2022-08-17 14:48:56 +08:00
aixianling
e3937d2ed6 企微定制方案新增埋点 2022-08-17 13:52:27 +08:00
aixianling
f3b799c56f 企微定制方案新增埋点 2022-08-17 11:52:38 +08:00
aixianling
0e250bbaba BUG 30886 2022-08-17 11:38:23 +08:00
aixianling
69b9001a99 网格选择调整完毕 2022-08-17 11:25:50 +08:00
aixianling
0682de1644 Merge remote-tracking branch 'origin/dev' into dev 2022-08-17 10:51:09 +08:00
aixianling
70e455b88d 修复异常 2022-08-17 10:50:56 +08:00
shijingjing
9a575cff69 log 2022-08-17 09:28:57 +08:00
aixianling
d14371d7dc Merge remote-tracking branch 'origin/dev' into dev 2022-08-17 08:44:17 +08:00
aixianling
b0bd16a53b BUG 30873 2022-08-17 08:43:47 +08:00
shijingjing
00796025a6 30875 2022-08-16 18:28:57 +08:00
shijingjing
59804f5891 30802 2022-08-16 17:36:44 +08:00
shijingjing
ac6d877af9 30836 2022-08-16 16:54:54 +08:00
shijingjing
e3824895b8 漏了 2022-08-16 16:18:18 +08:00
shijingjing
ffe6dc3c8f 默认展开选中节点 2022-08-16 16:17:55 +08:00
shijingjing
492af31f57 网格树 2022-08-16 16:03:08 +08:00
shijingjing
302391894b 30843 2022-08-16 15:06:00 +08:00
shijingjing
16c4b2dfa7 table 2022-08-16 11:36:29 +08:00
shijingjing
baed2d91b7 30839 2022-08-16 11:00:43 +08:00
shijingjing
f7964ebe60 30832 30821 2022-08-16 10:49:10 +08:00
shijingjing
960f5c4940 30830 2022-08-16 09:44:32 +08:00
shijingjing
c4214725be 30826 2022-08-16 09:43:21 +08:00
shijingjing
0ee41d9046 30828 2022-08-16 09:40:23 +08:00
shijingjing
dc9e2278cc 网格回显 2022-08-15 20:22:02 +08:00
shijingjing
c3f7b017f5 校验 2022-08-15 18:59:40 +08:00
shijingjing
e2cae6f692 输入正数最多保留两位小数 2022-08-15 18:56:57 +08:00
shijingjing
e9f63c464f 30825 2022-08-15 18:11:14 +08:00
shijingjing
ba2d83dd43 userName换name 2022-08-15 17:19:12 +08:00
shijingjing
609eb457d8 30823 2022-08-15 17:12:45 +08:00
shijingjing
9e85d12824 积分类型 2022-08-15 16:42:57 +08:00
shijingjing
037547a1d4 30810 2022-08-15 16:38:08 +08:00
shijingjing
f641de929f 余额变动 2022-08-15 15:57:11 +08:00
shijingjing
322cd677b2 30818 2022-08-15 15:19:18 +08:00
shijingjing
83722c8b7d 30817 2022-08-15 15:06:42 +08:00
shijingjing
deed632085 30815 2022-08-15 15:02:55 +08:00
shijingjing
ef00fa435c 30814 2022-08-15 14:56:57 +08:00
shijingjing
1e5b01a446 121183 2022-08-15 14:46:11 +08:00
shijingjing
ad3e7b5f7e 表格排序 2022-08-15 14:41:16 +08:00
shijingjing
3fb0b4bec0 30805 2022-08-15 14:03:18 +08:00
aixianling
ebcb37cdf6 Merge remote-tracking branch 'origin/dev' into dev 2022-08-15 13:52:48 +08:00
aixianling
82063280f7 监测对象增加导出名单 2022-08-15 13:52:34 +08:00
shijingjing
eddd56a0de 文件名称 2022-08-15 13:52:24 +08:00
aixianling
84299df63e Merge branch 'dev' into build 2022-08-15 13:51:24 +08:00
aixianling
4e1cf8a814 删除无用文件 2022-08-15 13:51:06 +08:00
yanran200730
fc7f522524 郫都大屏 2022-08-15 11:30:32 +08:00
shijingjing
418cc69634 网格员积分 2022-08-15 11:24:25 +08:00
aixianling
de53dfed54 Merge branch 'dev' into build 2022-08-15 09:31:48 +08:00
shijingjing
40a73c2a34 echarts label字段超出显示省略号 2022-08-15 08:42:49 +08:00
shijingjing
040cef5028 默认值 2022-08-12 19:01:09 +08:00
shijingjing
a275e873fa 规则 2022-08-12 18:35:02 +08:00
aixianling
cc06862696 图片压缩并把图片转移至cdn 2022-08-12 17:16:21 +08:00
aixianling
2d76c3fee4 Merge branch 'dev' into build 2022-08-12 17:06:29 +08:00
shijingjing
9961da1d25 bug 2022-08-12 16:15:34 +08:00
shijingjing
7032ea6e4f bug 2022-08-12 16:13:25 +08:00
yanran200730
ab2207b109 郫都大屏 2022-08-12 16:11:03 +08:00
aixianling
d7d6f12142 Merge branch 'dev' into build 2022-08-12 15:02:57 +08:00
yanran200730
1f1dc5eec8 bug 2022-08-12 14:07:46 +08:00
aixianling
cf2de900f0 Merge remote-tracking branch 'origin/dev' into build 2022-08-12 13:58:33 +08:00
shijingjing
b0b3193457 事件汇总 2022-08-12 11:50:37 +08:00
aixianling
6a39364b03 Merge remote-tracking branch 'origin/dev' into build 2022-08-12 11:50:33 +08:00
aixianling
38d01b37fd 修复大华视频播放 2022-08-12 11:50:04 +08:00
aixianling
98946c1e28 构建版本修改 2022-08-12 11:20:51 +08:00
yanran200730
ffc5682a36 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-08-12 09:47:41 +08:00
yanran200730
347bd16bb1 bug 2022-08-12 09:47:34 +08:00
aixianling
c3f6fbbffe Merge remote-tracking branch 'origin/dev' into dev 2022-08-12 09:29:56 +08:00
aixianling
d5b104fefd 增加es6兼容 2022-08-12 09:29:37 +08:00
shijingjing
b879c1b0c4 导出 2022-08-11 17:27:21 +08:00
shijingjing
23c5d65e0f 滚动条 2022-08-11 16:49:51 +08:00
yanran200730
bad3028a83 郫都大屏 2022-08-11 16:36:36 +08:00
yanran200730
86dbba831f Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-08-11 16:14:34 +08:00
yanran200730
52d60210c7 郫都大屏 2022-08-11 16:14:28 +08:00
shijingjing
15eb67168f 统计 2022-08-11 15:11:05 +08:00
aixianling
c08514c60f 增加工作流全局埋点 2022-08-11 15:01:52 +08:00
aixianling
1711b37750 Merge remote-tracking branch 'origin/dev' into dev 2022-08-11 14:25:01 +08:00
aixianling
d5c1bfe913 工作流台账对接完成 2022-08-11 14:24:49 +08:00
shijingjing
c4bee85e6f 统计 2022-08-11 11:41:58 +08:00
aixianling
509379e704 增加权限码控制 2022-08-11 11:14:27 +08:00
aixianling
84aa2f5f62 Merge remote-tracking branch 'origin/dev' into dev 2022-08-11 10:45:35 +08:00
aixianling
277029ad85 上架直接使用标准版居民档案 2022-08-11 10:45:21 +08:00
yanran200730
6861f7f754 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-08-11 10:31:48 +08:00
yanran200730
5132d41b14 郫都大屏 2022-08-11 10:31:35 +08:00
aixianling
53f9434f53 Merge remote-tracking branch 'origin/dev' into dev 2022-08-11 10:30:51 +08:00
aixianling
cb57ac7b48 整合代码 2022-08-11 10:30:31 +08:00
shijingjing
e404cc1417 积分 2022-08-11 09:54:52 +08:00
yanran200730
bcec48bdbf Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-08-11 09:28:51 +08:00
yanran200730
188d0ed258 郫都大屏 2022-08-11 09:28:44 +08:00
liuye
a9a466cca5 选择部门 2022-08-11 09:15:22 +08:00
yanran200730
ff8120d1b5 30786 2022-08-11 08:21:56 +08:00
yanran200730
e4707cb090 30798 2022-08-11 08:14:04 +08:00
shijingjing
3d13fd5d54 积分明细 2022-08-10 18:53:38 +08:00
aixianling
54c79d94fb Merge remote-tracking branch 'origin/dev' into dev 2022-08-10 18:06:22 +08:00
aixianling
bcabbb8a6a 新增流程组件 2022-08-10 18:06:09 +08:00
yanran200730
98f732a7cf Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-08-10 18:01:26 +08:00
yanran200730
9c47fb9a16 郫都大屏 2022-08-10 18:01:19 +08:00
aixianling
5ba4df87fb 展示流程ID 2022-08-10 17:44:06 +08:00
aixianling
6b173f2c29 Merge remote-tracking branch 'origin/dev' into dev 2022-08-10 17:41:56 +08:00
aixianling
55da7871ee 流程台账界面完成 2022-08-10 17:41:42 +08:00
yanran200730
bd67f05f91 郫都大屏 2022-08-10 17:26:44 +08:00
yanran200730
f871cefbad 郫都大屏 2022-08-10 17:25:31 +08:00
yanran200730
83b7bdef8d 郫都大屏 2022-08-10 17:19:01 +08:00
yanran200730
46124ecf9c Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-08-10 17:03:25 +08:00
yanran200730
97181c4e8d 30796 2022-08-10 17:03:18 +08:00
aixianling
bf1348fa63 Merge remote-tracking branch 'origin/dev' into dev 2022-08-10 16:59:09 +08:00
aixianling
c5b2b233b2 工作流配置完成 2022-08-10 16:58:52 +08:00
yanran200730
36e189f569 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-08-10 16:49:39 +08:00
yanran200730
43976b674a bug 2022-08-10 16:49:32 +08:00
shijingjing
c9c552bd4a 积分管理 2022-08-10 16:47:22 +08:00
yanran200730
7b0a7bf741 郫都大屏 2022-08-10 15:19:57 +08:00
yanran200730
1c41f96f04 郫都大屏 2022-08-10 14:54:19 +08:00
yanran200730
bd228bcd91 郫都大屏 2022-08-10 14:49:21 +08:00
yanran200730
fbb9271966 郫都大屏 2022-08-10 11:37:02 +08:00
yanran200730
6598c138c0 郫都大屏 2022-08-10 11:28:34 +08:00
yanran200730
01a9997c86 郫都大屏 2022-08-10 11:27:25 +08:00
yanran200730
605599efc4 大屏 2022-08-10 11:15:13 +08:00
yanran200730
25ca7f4027 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-08-10 11:14:05 +08:00
yanran200730
f28e915c4a 大屏 2022-08-10 11:14:00 +08:00
aixianling
3d386d76e4 BUG 30793 2022-08-10 11:10:36 +08:00
aixianling
b001ef0bd5 Merge remote-tracking branch 'origin/dev' into dev 2022-08-10 11:07:05 +08:00
aixianling
73a26d8560 优化字典类 2022-08-10 11:06:49 +08:00
yanran200730
fa37a9cfc0 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-08-10 10:59:19 +08:00
yanran200730
b33faf19f7 大屏 2022-08-10 10:59:13 +08:00
aixianling
09d96a3c95 Merge remote-tracking branch 'origin/dev' into dev 2022-08-10 10:18:55 +08:00
aixianling
eb2d76de61 BUG 30794 2022-08-10 10:18:35 +08:00
yanran200730
4f6d6b9e77 bug 2022-08-10 09:55:22 +08:00
shijingjing
c0302ce05c 数组转树形结构 2022-08-10 09:47:45 +08:00
liuye
c06d38bb5f 宣发效果时间格式 2022-08-10 09:29:47 +08:00
aixianling
9bd1f380be Merge remote-tracking branch 'origin/dev' into dev 2022-08-09 17:56:18 +08:00
aixianling
caeaccef37 BUG 30792 2022-08-09 17:55:59 +08:00
yanran200730
9bd9a1375c Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-08-09 17:52:39 +08:00
yanran200730
e2c7e81482 30791 2022-08-09 17:52:30 +08:00
shijingjing
c6f3552c56 no message 2022-08-09 17:39:20 +08:00
shijingjing
215e13d19d 统计 2022-08-09 17:07:09 +08:00
yanran200730
5aead81caa 30782 2022-08-09 16:26:59 +08:00
yanran200730
37b470cc6c 30779 2022-08-09 14:49:42 +08:00
yanran200730
01fd644312 30783 2022-08-09 14:40:52 +08:00
yanran200730
cb3f7da491 30784 2022-08-09 14:36:08 +08:00
yanran200730
1ce37c38af 30780 2022-08-09 14:29:10 +08:00
yanran200730
f8dbd96dc2 30778 2022-08-09 14:25:55 +08:00
yanran200730
61716196cd 30778 2022-08-09 14:24:39 +08:00
yanran200730
9bf8f4f754 30782 2022-08-09 14:19:57 +08:00
yanran200730
8229258af4 30785 2022-08-09 14:17:17 +08:00
yanran200730
a12a2b2d72 30781 2022-08-09 14:03:58 +08:00
yanran200730
dc1075f865 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-08-09 11:20:07 +08:00
yanran200730
fe14f74288 bug 2022-08-09 11:20:00 +08:00
shijingjing
75f2349e76 统计 2022-08-09 10:19:22 +08:00
yanran200730
c6a515554f bug 2022-08-09 09:37:22 +08:00
yanran200730
4aa1d4259d 30769 2022-08-09 09:26:20 +08:00
yanran200730
5d9ea10cb0 优化 2022-08-09 09:01:41 +08:00
yanran200730
d1b6b69807 30770 2022-08-08 17:57:41 +08:00
yanran200730
068af5e40e 30762 2022-08-08 17:48:34 +08:00
yanran200730
067410f636 30771 2022-08-08 17:44:49 +08:00
aixianling
8a7867d6ea Merge remote-tracking branch 'origin/dev' into dev 2022-08-08 17:39:52 +08:00
aixianling
ab531d3b08 scss全局变量预加载处理 2022-08-08 17:39:39 +08:00
shijingjing
11ce529591 网格员详情 2022-08-08 17:39:01 +08:00
yanran200730
bc1a226039 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-08-08 17:24:16 +08:00
yanran200730
8934545c00 30765 2022-08-08 17:24:08 +08:00
shijingjing
a8056ae1ca css调整 2022-08-08 16:00:12 +08:00
aixianling
c4ca30768b Merge remote-tracking branch 'origin/dev' into dev 2022-08-08 15:39:33 +08:00
aixianling
1f4081e2bb 迁移saas版首页应用进入产品库 2022-08-08 15:39:13 +08:00
shijingjing
8d4d986332 名字写错了 2022-08-08 15:34:44 +08:00
liuye
55cbd9c60c 30774 2022-08-08 14:51:34 +08:00
shijingjing
697b561cac 结构调整 2022-08-08 14:09:47 +08:00
aixianling
868149e480 Merge remote-tracking branch 'origin/dev' into dev 2022-08-08 14:08:28 +08:00
aixianling
488e2298de 企微构建新增指定默认首页 2022-08-08 14:07:53 +08:00
yanran200730
5c60f1ffb7 bug 2022-08-08 11:54:09 +08:00
yanran200730
b957c92533 优化 2022-08-08 11:31:16 +08:00
yanran200730
941b7c80d4 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-08-08 11:24:29 +08:00
yanran200730
2ee8676c4e 优化 2022-08-08 11:24:21 +08:00
shijingjing
6b0852bbbc css调整 2022-08-08 11:06:43 +08:00
aixianling
8eda688d37 企微控制是否为单服务 2022-08-08 11:06:32 +08:00
shijingjing
6d90c17ed3 网格员积分 2022-08-08 09:32:36 +08:00
shijingjing
3b467c3e51 积分详情 2022-08-05 16:57:02 +08:00
shijingjing
567bde994f 积分统计 2022-08-05 14:30:31 +08:00
shijingjing
efd7d00fa9 新闻详情 2022-08-05 10:03:08 +08:00
shijingjing
8d245eea07 版本回退 2022-08-05 09:16:52 +08:00
shijingjing
8e9db3ddf8 详情 2022-08-04 18:03:12 +08:00
yanran200730
1dacec1de0 bug 2022-08-04 17:57:45 +08:00
aixianling
f005576cb6 Merge remote-tracking branch 'origin/dev' into dev 2022-08-04 16:36:21 +08:00
aixianling
a01f1cb547 BUG 30759 2022-08-04 16:36:02 +08:00
shijingjing
c9e74b7a8c aititle插槽 2022-08-04 16:16:39 +08:00
shijingjing
3e03d087b2 详情弹窗 2022-08-04 16:08:34 +08:00
shijingjing
3452420e52 积分统计 2022-08-04 15:05:54 +08:00
shijingjing
f321fc8986 积分统计 2022-08-04 14:40:43 +08:00
shijingjing
59a4be64b5 网格员积分详情 2022-08-04 11:34:43 +08:00
aixianling
22b51bf673 Merge remote-tracking branch 'origin/dev' into dev 2022-08-04 09:09:10 +08:00
aixianling
31d641fdab 政策申办=>贷款联审 傻逼设计 2022-08-04 09:08:46 +08:00
shijingjing
81b309fa1c 积分 2022-08-03 15:57:55 +08:00
shijingjing
9816eca8a2 积分规则 2022-08-03 14:16:25 +08:00
shijingjing
f75885415c 网格员积分 2022-08-03 11:11:42 +08:00
yanran200730
2e90b6adf0 大屏 2022-08-02 17:47:11 +08:00
yanran200730
845db90a35 bug 2022-08-02 16:03:29 +08:00
yanran200730
192277c870 bug 2022-08-02 15:37:10 +08:00
yanran200730
53e318a27c Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-08-02 14:48:45 +08:00
yanran200730
4189b41a2f 30720 2022-08-02 14:48:39 +08:00
liuye
d32f771452 30731 2022-08-02 14:36:48 +08:00
yanran200730
1ddb0a1149 bug 2022-08-02 13:48:49 +08:00
yanran200730
02a30ee546 30717 2022-08-02 08:32:57 +08:00
yanran200730
a1c0de83f0 需求变更 2022-08-01 17:45:24 +08:00
yanran200730
875301eb1d 30718 2022-08-01 16:56:57 +08:00
yanran200730
8e352fa027 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-08-01 16:35:00 +08:00
yanran200730
874e8fa677 bug 2022-08-01 16:34:53 +08:00
liuye
ce6b11f384 宣发统计 2022-08-01 15:38:12 +08:00
liuye
ee64166f8c 宣发统计 2022-08-01 15:36:14 +08:00
yanran200730
f1fc975d79 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-08-01 14:24:43 +08:00
yanran200730
988c3b4c91 30693 2022-08-01 14:24:35 +08:00
liuye
068c039d47 30710 2022-08-01 14:06:04 +08:00
yanran200730
af109a9060 30706 2022-08-01 11:05:27 +08:00
yanran200730
f11e892232 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-08-01 11:01:15 +08:00
yanran200730
0c279f3d2e 大屏新增启用、停用功能 2022-08-01 11:01:06 +08:00
liuye
2d2da59305 css 2022-08-01 10:14:53 +08:00
yanran200730
f448d214b5 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-08-01 09:52:56 +08:00
yanran200730
d918bbe8b3 郫都大屏 2022-08-01 09:52:43 +08:00
aixianling
edcd2c19f1 Merge remote-tracking branch 'origin/dev' into dev 2022-08-01 08:56:43 +08:00
aixianling
ef38382da9 BUG 30687 2022-08-01 08:56:15 +08:00
yanran200730
e3b9eca251 bug 2022-07-29 18:39:49 +08:00
yanran200730
41faad8172 bug 2022-07-29 18:29:15 +08:00
yanran200730
8695290834 bug 2022-07-29 17:57:30 +08:00
yanran200730
7d9ec29847 30693 2022-07-29 16:48:53 +08:00
yanran200730
efc1a5a0b0 30601 2022-07-29 16:45:40 +08:00
yanran200730
5008d89ee4 30690 2022-07-29 16:27:54 +08:00
liuye
8b8e5885a0 同步成员 2022-07-29 14:22:24 +08:00
yanran200730
f834d71ca5 优化 2022-07-29 11:44:24 +08:00
yanran200730
a701d94402 bug 2022-07-29 11:42:06 +08:00
yanran200730
1a262d8859 bug 2022-07-29 11:29:09 +08:00
yanran200730
ef6009f0cc bug 2022-07-29 11:27:03 +08:00
yanran200730
aca483c7a0 bug 2022-07-29 11:25:26 +08:00
yanran200730
f1a289ca05 30665 2022-07-29 11:01:20 +08:00
yanran200730
c5e68bed86 bug 2022-07-29 10:35:44 +08:00
yanran200730
6c8071aa83 优化 2022-07-29 10:23:38 +08:00
yanran200730
6ac0b993ba Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-07-29 10:01:08 +08:00
yanran200730
0d18199cdf 郫都大屏 2022-07-29 10:01:00 +08:00
liuye
b532e9ce90 30680 2022-07-29 09:59:28 +08:00
aixianling
2cb1dc69df Merge remote-tracking branch 'origin/dev' into dev 2022-07-29 09:14:14 +08:00
aixianling
be079b0615 提取背景图,并埋点 2022-07-29 09:13:55 +08:00
liuye
d91e5ed550 显示部门+数字 2022-07-28 17:39:07 +08:00
liuye
20455c96d3 显示数字 2022-07-28 17:38:01 +08:00
liuye
f595909d73 test 2022-07-28 17:27:08 +08:00
liuye
0d77f909b8 只显示数字 2022-07-28 17:26:07 +08:00
liuye
b87c13c233 test 2022-07-28 17:17:24 +08:00
liuye
11ff8c8405 test 2022-07-28 17:11:00 +08:00
liuye
791e4d829b test 2022-07-28 17:03:57 +08:00
liuye
201cc49865 test 2022-07-28 16:56:43 +08:00
liuye
ea622b0378 test 2022-07-28 16:47:36 +08:00
liuye
e66d26f195 test 2022-07-28 16:44:05 +08:00
liuye
ab23f91b7c test 2022-07-28 16:24:16 +08:00
liuye
31231817b6 test 2022-07-28 16:22:53 +08:00
liuye
61ba2521e4 test 2022-07-28 16:11:33 +08:00
liuye
d34889997b test 2022-07-28 15:50:50 +08:00
liuye
e96726b8de Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-07-28 15:31:15 +08:00
liuye
84c679941c 打印data 2022-07-28 15:30:53 +08:00
yanran200730
f794bc6ab0 优化 2022-07-28 14:26:55 +08:00
yanran200730
471d00b47c 30663 2022-07-28 13:46:04 +08:00
yanran200730
fe44893e15 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-07-28 13:43:52 +08:00
yanran200730
b6cab0818c 30643 2022-07-28 13:43:45 +08:00
liuye
3bd3fb4950 type 2022-07-28 12:00:15 +08:00
yanran200730
e0e0329cfe Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-07-28 11:10:19 +08:00
yanran200730
4abe2b7bf5 30657 2022-07-28 11:10:11 +08:00
liuye
ec70dc13bc 宣发统计 2022-07-28 10:52:45 +08:00
liuye
19c20944e4 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-07-28 10:48:33 +08:00
liuye
e5d1e8eb55 echart部门id转换 2022-07-28 10:48:02 +08:00
yanran200730
a1b4574bae 30648 2022-07-28 10:45:07 +08:00
aixianling
720adb7e86 引导页图片资源往oms的服务器上传 2022-07-28 10:02:43 +08:00
aixianling
b8c7e03f29 Merge remote-tracking branch 'origin/dev' into dev 2022-07-27 17:32:58 +08:00
aixianling
2a8d1f17a5 实时渲染 2022-07-27 17:32:43 +08:00
yanran200730
9d0047e071 30636 2022-07-27 17:25:40 +08:00
yanran200730
fb491446c7 30574 2022-07-27 17:23:14 +08:00
yanran200730
3f4633677b Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-07-27 17:19:49 +08:00
yanran200730
d7f0b63eb9 30638 2022-07-27 17:19:42 +08:00
aixianling
32eaae40d7 消除错误异常 2022-07-27 17:09:40 +08:00
aixianling
36f516c037 Merge remote-tracking branch 'origin/dev' into dev 2022-07-27 17:00:02 +08:00
aixianling
663ddc8386 全屏展示 2022-07-27 16:59:45 +08:00
liuye
253d90b15a Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-07-27 16:53:52 +08:00
liuye
94b86e2a0b 30634 写死 群发居民群 2022-07-27 16:53:03 +08:00
yanran200730
b3f0ed96e9 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-07-27 16:17:27 +08:00
yanran200730
9e6532194f 30612 2022-07-27 16:17:20 +08:00
aixianling
c5e2bef011 Merge remote-tracking branch 'origin/dev' into dev 2022-07-27 15:59:33 +08:00
aixianling
4b3e287a5f 主题设置页面完成 2022-07-27 15:59:13 +08:00
yanran200730
b89e7db2a2 30628 2022-07-27 15:51:08 +08:00
yanran200730
0dcc74b567 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-07-27 15:49:56 +08:00
yanran200730
5b128adddb 30626 2022-07-27 15:49:48 +08:00
liuye
17f59a1954 30611时间回显 2022-07-27 15:08:30 +08:00
yanran200730
9b24504528 30609 2022-07-27 14:52:40 +08:00
yanran200730
aafcec25fb 30612 2022-07-27 14:50:58 +08:00
yanran200730
8f1c25043d Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-07-27 14:47:24 +08:00
yanran200730
26f5483182 30605 2022-07-27 14:47:17 +08:00
liuye
4cd600d285 bug 2022-07-27 14:34:57 +08:00
aixianling
ac1d17c216 联合调整 2022-07-27 14:26:26 +08:00
yanran200730
4f62c5cb9d Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-07-27 11:23:07 +08:00
yanran200730
658a29853b 30603 2022-07-27 11:22:56 +08:00
liuye
a35a78ef00 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-07-27 10:54:10 +08:00
liuye
6d3fe01c99 30584 2022-07-27 10:53:55 +08:00
yanran200730
aa6579d040 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-07-27 10:36:32 +08:00
yanran200730
d57890c0a9 30600 2022-07-27 10:36:21 +08:00
aixianling
cf99b2730a 增加路由展示 2022-07-27 10:31:56 +08:00
aixianling
9997f732dc Merge remote-tracking branch 'origin/dev' into dev 2022-07-27 10:25:00 +08:00
aixianling
3329cd4bf1 去除formatContent 2022-07-27 10:24:38 +08:00
yanran200730
f16f3457dd bug 2022-07-27 10:17:10 +08:00
yanran200730
2282183509 路由跳转 2022-07-27 10:04:48 +08:00
yanran200730
5cb525d9a2 30595 2022-07-27 09:55:23 +08:00
yanran200730
7f82c5b4cf 30569 2022-07-27 09:14:27 +08:00
yanran200730
f4d64555d0 30570 2022-07-26 18:05:45 +08:00
yanran200730
7813ddb003 30576 2022-07-26 18:02:03 +08:00
yanran200730
3eff2139dc 30577 2022-07-26 17:57:18 +08:00
yanran200730
b5c85e0031 bug 2022-07-26 17:55:40 +08:00
yanran200730
8d727d4f39 30571 2022-07-26 17:42:21 +08:00
yanran200730
b2002d5989 30572 2022-07-26 17:37:15 +08:00
yanran200730
4f357b1dd4 bug 2022-07-26 15:20:20 +08:00
yanran200730
d85ab06f68 郫都大屏 2022-07-26 15:09:46 +08:00
yanran200730
f0099ecd92 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-07-26 09:43:29 +08:00
yanran200730
d5a20de52b bug 2022-07-26 09:43:22 +08:00
aixianling
7101bdff2c Merge remote-tracking branch 'origin/dev' into dev 2022-07-26 09:34:20 +08:00
aixianling
2831c8b5af 接口兼容 2022-07-26 09:34:00 +08:00
yanran200730
d896db5d4d 协同宣发 2022-07-26 09:26:54 +08:00
liuye
59db5a1568 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-07-25 17:54:16 +08:00
yanran200730
7dc3032824 协同宣发 2022-07-25 17:53:53 +08:00
liuye
28bba07f22 宣发统计 2022-07-25 17:51:59 +08:00
yanran200730
5da0f4b651 bug 2022-07-25 16:38:05 +08:00
yanran200730
07fac1c94e 协同宣发 优化 2022-07-25 15:40:13 +08:00
yanran200730
f1f8b2bf93 协同宣发 接口对接 2022-07-25 15:07:23 +08:00
yanran200730
f89deadcb2 宣发统计 2022-07-25 14:10:51 +08:00
yanran200730
bd3ef507cc 协同宣发 2022-07-25 11:36:38 +08:00
liuye
12c6d325ce Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-07-25 10:51:15 +08:00
liuye
7063fd5cd9 id转文字 2022-07-25 10:50:59 +08:00
yanran200730
e051460e31 协同宣发 2022-07-25 10:39:51 +08:00
yanran200730
4413821d1b bug 2022-07-22 14:54:45 +08:00
yanran200730
0eb642a625 bug 2022-07-22 14:44:55 +08:00
yanran200730
04beb515d0 bug 2022-07-22 14:19:59 +08:00
yanran200730
5996377c2d bug 2022-07-22 14:13:07 +08:00
yanran200730
74c47dcba0 bug 2022-07-22 14:01:36 +08:00
yanran200730
db07381bbd bug 2022-07-22 13:49:43 +08:00
yanran200730
a170cf7b1f bug 2022-07-22 13:46:02 +08:00
yanran200730
156bdba217 大屏 2022-07-22 13:45:09 +08:00
yanran200730
34afcbf84e Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-07-22 11:54:46 +08:00
yanran200730
aae17797b7 大屏 2022-07-22 11:53:58 +08:00
aixianling
65e49790e8 Merge remote-tracking branch 'origin/dev' into dev 2022-07-22 10:32:20 +08:00
aixianling
0ab2a0f5b7 追加字典初始化 2022-07-22 10:32:02 +08:00
yanran200730
d9e1f83d05 bug 2022-07-22 08:53:00 +08:00
yanran200730
cf18beb6dc bug 2022-07-22 08:36:11 +08:00
yanran200730
fe09fa4983 大屏 2022-07-21 19:04:54 +08:00
yanran200730
7a310007b1 大屏 2022-07-21 18:33:21 +08:00
yanran200730
f5abfa0084 bug 2022-07-21 18:28:55 +08:00
yanran200730
d7b7de09f7 bug 2022-07-21 18:22:58 +08:00
yanran200730
c1131c0b54 大屏 2022-07-21 18:19:47 +08:00
yanran200730
2f05a88e56 大屏 2022-07-21 17:44:49 +08:00
yanran200730
b804a7e5aa 大屏 2022-07-21 17:36:09 +08:00
yanran200730
73080b55f8 大屏 2022-07-21 17:20:05 +08:00
yanran200730
5e5e0d9b57 大屏 2022-07-21 16:50:53 +08:00
yanran200730
552c6888e5 大屏 2022-07-21 15:07:15 +08:00
yanran200730
d650dedcb6 大屏 2022-07-21 14:33:10 +08:00
yanran200730
e85ef5ff6f 大屏 2022-07-21 13:58:28 +08:00
yanran200730
2d53a8a31d 宣发 2022-07-21 09:38:02 +08:00
yanran200730
12bb196de3 bug 2022-07-20 18:04:10 +08:00
yanran200730
a29a934e95 协同宣发 2022-07-20 16:36:29 +08:00
liuye
8aee36e808 宣发统计 2022-07-20 14:25:28 +08:00
liuye
0fa2950bb7 选择部门 2022-07-20 10:22:22 +08:00
yanran200730
68e26624be 宣发 2022-07-19 17:31:27 +08:00
liuye
c29d493159 日历 2022-07-19 16:11:06 +08:00
liuye
837c31abeb Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-07-19 15:24:32 +08:00
liuye
1836d989ca 日历 2022-07-19 15:24:23 +08:00
aixianling
d1c92c569f 整合通讯录组件渲染 2022-07-19 15:20:10 +08:00
aixianling
d58b590200 Merge remote-tracking branch 'origin/dev' into dev 2022-07-19 14:56:13 +08:00
aixianling
b5a0522fb9 整合通讯录组件渲染 2022-07-19 14:55:51 +08:00
yanran200730
62f92569b3 协同宣发 2022-07-19 10:58:21 +08:00
yanran200730
6d50374606 宣发 2022-07-19 10:02:58 +08:00
liuye
4b67e33ae9 自定义时间选择 2022-07-19 09:43:11 +08:00
yanran200730
a5bc5689a3 宣发 2022-07-18 17:15:01 +08:00
aixianling
bd410a9559 修复接口调用 2022-07-18 14:46:00 +08:00
aixianling
351667a8a0 应用,我的入库 2022-07-15 19:03:58 +08:00
aixianling
1c40a78bae 首页入库 2022-07-15 18:42:59 +08:00
aixianling
d388123410 首页入库 2022-07-15 18:12:50 +08:00
liuye
2d307db6ce Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-07-15 17:39:57 +08:00
liuye
09974cb43b 宣发日历 2022-07-15 17:39:36 +08:00
yanran200730
ed9a206ad6 bug 2022-07-15 14:37:09 +08:00
yanran200730
8317137068 1 2022-07-15 10:40:05 +08:00
aixianling
edda197051 Merge remote-tracking branch 'origin/dev' into dev 2022-07-14 18:00:24 +08:00
aixianling
5e91aee82e 定制方案全新升级 2022-07-14 18:00:07 +08:00
liuye
1bfe8afc8b 宣发日历 2022-07-14 17:10:58 +08:00
aixianling
a6cd4d2578 BUG 30542 2022-07-14 16:56:36 +08:00
aixianling
c6f7d4e449 优化小程序发布 2022-07-14 14:53:40 +08:00
yanran200730
ea4f22c2b9 群发 2022-07-14 14:00:31 +08:00
aixianling
a50c9ce240 优化展示 2022-07-14 12:01:12 +08:00
aixianling
0f03dc9d04 进村入库,修复定制方案的BUG 2022-07-14 11:52:00 +08:00
aixianling
4b4baf4952 贷款审批默认审核状态为待审批 2022-07-14 11:16:12 +08:00
aixianling
baccd4505b 定制方案小程序完成 2022-07-14 10:11:17 +08:00
aixianling
7ee49a5367 Merge remote-tracking branch 'origin/dev' into dev 2022-07-14 09:05:26 +08:00
aixianling
6522a101ea BUG 30542 2022-07-14 09:04:25 +08:00
yanran200730
f114c9497a 协同宣发 2022-07-13 18:15:32 +08:00
yanran200730
20c61297c6 协同宣发 2022-07-13 16:54:03 +08:00
aixianling
2bf8c5d150 Merge remote-tracking branch 'origin/dev' into dev 2022-07-13 16:25:18 +08:00
aixianling
8b133291a4 驻村辅警迁移至山东版本 2022-07-13 16:25:02 +08:00
liuye
980f8e1f5a Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-07-13 16:06:32 +08:00
liuye
0cec1b0a20 宣发日历 2022-07-13 16:06:10 +08:00
aixianling
1e64e12d49 AiDialogBtn升级到UI库 2022-07-13 15:17:35 +08:00
yanran200730
f529e4bb32 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-07-13 12:01:29 +08:00
yanran200730
c8a3e74ae5 bug 2022-07-13 12:01:18 +08:00
aixianling
a2fa966ccd Merge remote-tracking branch 'origin/dev' into dev 2022-07-13 11:09:25 +08:00
aixianling
7d0fd6b907 应用库搜索优化 2022-07-13 11:09:06 +08:00
yanran200730
6b1797e36d 协同宣发 2022-07-13 10:54:26 +08:00
aixianling
9764c831d7 Merge remote-tracking branch 'origin/dev' into dev 2022-07-13 10:48:30 +08:00
aixianling
53bf46fac5 添加应用分类字典,增加定制方案应用概览 2022-07-13 10:48:15 +08:00
yanran200730
fb8ea2a195 协同宣发 2022-07-13 09:13:41 +08:00
yanran200730
cebe4ce80f bug 2022-07-13 08:34:45 +08:00
aixianling
031faeff50 小程序构建模式初步规划 2022-07-12 18:25:42 +08:00
aixianling
422dcdc6be 多选优化,可以全选了 2022-07-12 18:13:13 +08:00
aixianling
7d63ea0c19 定制项目调整定位为定制方案 2022-07-12 16:49:41 +08:00
aixianling
ad8f080643 增加快速启动的研发模式fast 2022-07-12 16:43:32 +08:00
aixianling
44bd3c95c3 配置引导页完成 2022-07-11 17:00:58 +08:00
aixianling
86451a245f 配置引导页完成一部分 2022-07-08 18:01:58 +08:00
aixianling
d12705b4f6 全量企微包 2022-07-07 18:07:21 +08:00
shijingjing
0e96395d98 fpPrtpStatus 2022-07-07 10:11:01 +08:00
shijingjing
5c7e2e4098 30530 2022-07-07 09:27:48 +08:00
aixianling
b8401c34c9 BUG 30527 2022-07-07 09:15:18 +08:00
shijingjing
92f8fd0af8 bug 2022-07-06 18:25:49 +08:00
aixianling
e3626ea7ba BUG 30521 2022-07-06 18:06:36 +08:00
aixianling
7c3620eea1 BUG 30518 2022-07-06 17:58:53 +08:00
aixianling
dd4b58312e BUG 30522 2022-07-06 17:20:58 +08:00
aixianling
d87c947ca1 BUG 30522 2022-07-06 16:50:12 +08:00
aixianling
83580d9ef3 BUG 30522 2022-07-06 16:49:35 +08:00
aixianling
8db4f1bb30 BUG 30522 2022-07-06 16:49:04 +08:00
aixianling
2c1430b88a BUG 29625 2022-07-06 16:09:55 +08:00
aixianling
7a0d0322da BUG 30520 2022-07-06 15:52:23 +08:00
aixianling
67b9c61eef BUG 30385 2022-07-06 15:50:28 +08:00
aixianling
37ea4d4db6 BUG 30521 2022-07-06 15:15:16 +08:00
aixianling
bcd90e0706 BUG 30508 2022-07-06 15:14:23 +08:00
aixianling
108c486240 BUG 30503 2022-07-06 15:02:48 +08:00
aixianling
489b39f9e6 BUG 29591 2022-07-06 14:55:34 +08:00
aixianling
6e3f72092c BUG 30518 2022-07-06 14:49:34 +08:00
aixianling
292b4720e3 BUG 30510 2022-07-06 14:26:45 +08:00
aixianling
eb408e0bfb 整合 2022-07-06 12:08:28 +08:00
aixianling
83a30fda7d BUG 30501 2022-07-06 11:42:39 +08:00
aixianling
88ac20bbcd 金融产品增加办理渠道 2022-07-06 11:39:24 +08:00
aixianling
e73641d6de Merge remote-tracking branch 'origin/dev' into dev 2022-07-06 11:12:43 +08:00
aixianling
d57fd8a7a2 BUG 30387 2022-07-06 11:12:15 +08:00
shijingjing
62752263c0 30499 2022-07-06 10:20:07 +08:00
shijingjing
2f5aba907e 工作考核 2022-07-05 17:05:45 +08:00
aixianling
2a924caacd 信用=>信息 2022-07-05 17:01:46 +08:00
aixianling
8eb0c51937 信用报告完成 2022-07-05 16:59:28 +08:00
aixianling
9693df6e26 完善产品库 2022-07-05 16:08:00 +08:00
aixianling
f8105d5422 完善产品库 2022-07-05 16:05:58 +08:00
aixianling
2f351dbd68 信用报告下载完成 2022-07-05 15:23:25 +08:00
aixianling
7ee368e6db Merge remote-tracking branch 'origin/dev' into dev 2022-07-05 15:10:19 +08:00
aixianling
a75c2d254f 信用报告查询完成 2022-07-05 15:09:53 +08:00
shijingjing
86b1349a46 bug 2022-07-05 10:58:43 +08:00
aixianling
5219ca9a3f 修复下锁屏未关闭的问题 2022-07-04 15:47:44 +08:00
aixianling
f67bdea66f 定制项目提交一波 2022-07-04 15:13:36 +08:00
aixianling
7cf7d41c23 定制项目提交一波 2022-07-04 14:48:21 +08:00
shijingjing
d046ca1dd6 监测对象 2022-07-04 14:24:27 +08:00
shijingjing
e02aad528e 30487 2022-07-04 14:21:57 +08:00
aixianling
b0f0e693aa Merge remote-tracking branch 'origin/dev' into dev 2022-07-04 14:16:24 +08:00
aixianling
59d0a80043 定制项目提交一波 2022-07-04 14:16:07 +08:00
shijingjing
0d5a9fed10 30486 2022-07-04 14:13:55 +08:00
aixianling
3e87d2afca 增加通讯录同步 2022-07-04 11:49:07 +08:00
aixianling
acb8bd9d1c 回复调整 2022-07-04 10:46:39 +08:00
aixianling
52485cb63e 调解link 2022-07-04 10:46:03 +08:00
aixianling
8e31b662ce 定制项目模块界面完成 2022-07-01 18:26:52 +08:00
aixianling
a632cefb3b 修复低代码平台 2022-07-01 18:00:00 +08:00
shijingjing
96b7c8bbeb 30450 30461 2022-07-01 14:55:59 +08:00
shijingjing
9c61fde48d 阶梯 2022-07-01 14:49:33 +08:00
aixianling
065e474c86 Merge remote-tracking branch 'origin/dev' into dev 2022-07-01 14:09:08 +08:00
aixianling
9e0f38c0e3 BUG 30390 2022-07-01 14:08:41 +08:00
shijingjing
7dd7e6483c 权限码 2022-07-01 14:03:14 +08:00
aixianling
0dc6a67f9f Merge remote-tracking branch 'origin/dev' into dev 2022-07-01 14:02:18 +08:00
aixianling
4a3063bd8c BUG 30385 2022-07-01 14:01:19 +08:00
shijingjing
efb7ebeeee 去掉权限码 2022-07-01 13:59:37 +08:00
shijingjing
792d270446 判断 2022-07-01 13:43:25 +08:00
shijingjing
59f8671e90 total 2022-07-01 12:34:19 +08:00
shijingjing
da929c20a2 漏了 2022-07-01 11:24:31 +08:00
shijingjing
4be5825cf1 push 2022-07-01 11:23:08 +08:00
shijingjing
e9d5e63a3e bug 2022-07-01 11:11:58 +08:00
shijingjing
cd76b41ba7 bug 2022-07-01 10:22:03 +08:00
shijingjing
53daf5309b 30459 2022-07-01 09:48:26 +08:00
shijingjing
0b0b15fd55 30465 2022-07-01 09:41:51 +08:00
shijingjing
d8f13f09c5 30411 2022-07-01 09:23:55 +08:00
shijingjing
fc7067cff3 bug 2022-06-30 21:35:22 +08:00
shijingjing
0ec77d5a48 bug 2022-06-30 21:22:29 +08:00
shijingjing
9d36bbbf06 bug 2022-06-30 20:44:27 +08:00
shijingjing
6a09277e2b 30462 2022-06-30 20:42:20 +08:00
shijingjing
fa6ea7a9b3 30461 2022-06-30 20:41:03 +08:00
shijingjing
1b55f8d643 bug 2022-06-30 20:30:34 +08:00
shijingjing
4e3632e4b5 30451 2022-06-30 20:17:20 +08:00
shijingjing
de03942d0e 30459 2022-06-30 20:14:58 +08:00
shijingjing
6bfc039364 30413 2022-06-30 20:06:48 +08:00
shijingjing
21e1fa71b8 30453 2022-06-30 20:05:02 +08:00
shijingjing
4db8628b87 30448 2022-06-30 20:01:50 +08:00
shijingjing
b784d81020 30447 2022-06-30 20:00:01 +08:00
shijingjing
62b5ff4458 30443 2022-06-30 19:49:26 +08:00
shijingjing
324edf7569 30442 2022-06-30 19:42:27 +08:00
shijingjing
c17cebfe2a 30441 2022-06-30 19:29:07 +08:00
shijingjing
33e38db789 30440 2022-06-30 19:26:51 +08:00
shijingjing
1c2381c9b1 30437 2022-06-30 19:25:59 +08:00
shijingjing
071bd9daf5 30418 2022-06-30 19:21:09 +08:00
shijingjing
5d2c1279d8 党员积分 2022-06-30 18:39:39 +08:00
shijingjing
bb7406c7c9 30425 2022-06-30 18:02:37 +08:00
shijingjing
36ccc9ace2 30421 2022-06-30 17:43:14 +08:00
shijingjing
d8c652762a 30413 2022-06-30 17:23:50 +08:00
shijingjing
10ded04b7d no message 2022-06-30 17:18:18 +08:00
shijingjing
9587b1acfe 30398 2022-06-30 16:59:55 +08:00
shijingjing
a08aca7afe 30395 2022-06-30 16:31:52 +08:00
shijingjing
7a0ae3143b 30394 2022-06-30 16:29:50 +08:00
shijingjing
b29ddfc2fc 30392 30392 2022-06-30 16:24:42 +08:00
shijingjing
555a888ab7 auditIntegralItem字段 2022-06-30 15:56:13 +08:00
shijingjing
27afc15796 30404 2022-06-30 15:51:18 +08:00
shijingjing
d601b1d4c2 30406 2022-06-30 15:46:49 +08:00
shijingjing
844fad5301 30406 2022-06-30 15:27:00 +08:00
aixianling
1c9490427b 增加指定npm脚本构建选项 2022-06-30 15:24:36 +08:00
aixianling
f80c5a3b41 恢复标准版 2022-06-30 13:58:57 +08:00
shijingjing
fbd7680927 bug 2022-06-30 11:57:34 +08:00
shijingjing
392ba406bc 党员积分 2022-06-30 11:41:57 +08:00
shijingjing
0e15dca25b 日期 2022-06-30 11:27:46 +08:00
shijingjing
d53bc8fe20 积分维护 2022-06-30 11:25:47 +08:00
aixianling
3d1e68b29d 修复大屏设计滚动 2022-06-30 10:17:05 +08:00
aixianling
2c00ad961c Merge remote-tracking branch 'origin/dev' into dev 2022-06-30 10:14:15 +08:00
shijingjing
6ecad30626 编辑 2022-06-30 10:14:10 +08:00
aixianling
9ccf4e2a3b 修复相同appid不同版本数据混淆问题 2022-06-30 10:14:01 +08:00
shijingjing
6de41e883a name 2022-06-30 10:05:00 +08:00
shijingjing
584eec0e78 三涧溪党员积分 2022-06-30 09:56:49 +08:00
shijingjing
3624b48511 积分审核 2022-06-29 19:02:10 +08:00
shijingjing
47ce4ba424 党员积分 2022-06-29 18:50:57 +08:00
shijingjing
39f5bcbd5a 积分维护 2022-06-29 18:44:06 +08:00
shijingjing
d7568eb799 积分规则 2022-06-29 17:57:36 +08:00
shijingjing
0f3276ceca label 2022-06-29 16:07:06 +08:00
shijingjing
ef6855c3a6 积分规则 积分维护 2022-06-29 16:05:30 +08:00
aixianling
fdf441c8e8 BUG 30384 2022-06-29 14:03:58 +08:00
aixianling
d4bb5d2de0 BUG 30357 2022-06-29 14:03:07 +08:00
shijingjing
bc1f9ba4cb 积分 2022-06-29 10:17:54 +08:00
刘仕伟
024cb5831b Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-06-28 18:18:46 +08:00
刘仕伟
84bf07717a 设备配置 2022-06-28 18:18:43 +08:00
aixianling
cc211cd22b 优化大屏组件 2022-06-28 18:18:37 +08:00
刘仕伟
b117cf9d51 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-06-28 16:13:09 +08:00
刘仕伟
8341473672 设备配置页面调整 2022-06-28 16:13:03 +08:00
shijingjing
d021781d75 经办人 2022-06-28 16:05:19 +08:00
aixianling
059da71d6d 优化第三方包加载 2022-06-28 16:04:04 +08:00
aixianling
52c62f7955 大屏支持渲染3D模型 2022-06-28 16:02:37 +08:00
aixianling
352ae43faa 大屏支持渲染3D模型 2022-06-28 15:48:12 +08:00
aixianling
361792c48d 集中升级 2022-06-28 15:37:13 +08:00
aixianling
2b248b0177 BUG 30381 2022-06-28 15:28:36 +08:00
刘仕伟
d923fd5420 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-06-28 15:08:20 +08:00
刘仕伟
92d5b99384 查询条件 2022-06-28 15:08:13 +08:00
aixianling
315d852eaf BUG 30381 2022-06-28 15:03:50 +08:00
aixianling
e1760adf4e Merge remote-tracking branch 'origin/dev' into dev 2022-06-28 14:55:08 +08:00
aixianling
f69550c015 BUG 30380 2022-06-28 14:54:50 +08:00
刘仕伟
393846b836 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-06-28 14:42:55 +08:00
刘仕伟
18e4ffa7a1 列表调整 2022-06-28 14:42:51 +08:00
aixianling
0056a31dcb 清理门户,删除垃圾依赖库 2022-06-28 14:37:48 +08:00
aixianling
40ebb8630a Merge remote-tracking branch 'origin/dev' into dev 2022-06-28 14:25:30 +08:00
aixianling
d51918b713 升级大屏组件 2022-06-28 14:25:12 +08:00
刘仕伟
51d2b8eaf9 设备配置 2022-06-28 14:20:35 +08:00
liuye
1605d280b8 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-06-28 11:54:32 +08:00
liuye
7ae4e92a93 设备管理 2022-06-28 11:53:49 +08:00
aixianling
d5fe146cec BUG 30376 2022-06-28 11:42:55 +08:00
aixianling
f239508b87 BUG 30358 2022-06-28 11:19:02 +08:00
aixianling
a6924dac90 Merge remote-tracking branch 'origin/dev' into dev 2022-06-28 11:16:25 +08:00
aixianling
9ea41700c7 BUG 30357 2022-06-28 11:16:08 +08:00
liuye
09cced8bc3 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-06-28 10:40:43 +08:00
liuye
4b893b6c49 设备管理 2022-06-28 10:40:13 +08:00
shijingjing
6eb7b5d13d 30377 2022-06-28 10:36:31 +08:00
liuye
781c0f1543 fix 2022-06-28 09:15:35 +08:00
liuye
b9964d64b0 fix 2022-06-28 09:15:10 +08:00
liuye
6896dfd197 fix 2022-06-28 09:14:39 +08:00
aixianling
e0221ae9ee BUG 30351 2022-06-27 18:03:37 +08:00
aixianling
d212d1ea1f Merge remote-tracking branch 'origin/dev' into dev 2022-06-27 17:56:49 +08:00
aixianling
513db9b4b9 BUG 30350 2022-06-27 17:56:32 +08:00
shijingjing
4b93111ae0 30371 2022-06-27 17:54:50 +08:00
aixianling
bfa2985b2f Merge remote-tracking branch 'origin/dev' into dev 2022-06-27 17:42:03 +08:00
aixianling
0ac30e762e BUG 30372 2022-06-27 17:41:44 +08:00
shijingjing
d5fadfc498 格式化 2022-06-27 17:33:31 +08:00
aixianling
7b3fcef56e BUG 30360 2022-06-27 17:22:52 +08:00
shijingjing
a9e4aae662 30355 2022-06-27 14:37:00 +08:00
shijingjing
0a154f0c1f 30346 2022-06-27 11:17:22 +08:00
shijingjing
a59a96b092 30344 2022-06-27 11:10:14 +08:00
yanran200730
ed30be74bc Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-06-27 11:01:04 +08:00
yanran200730
96aec2e69f bug 2022-06-27 11:00:52 +08:00
aixianling
6e5a1c3921 BUG 30340 2022-06-27 10:45:29 +08:00
shijingjing
aa846b62a7 bug 30322 2022-06-27 10:34:15 +08:00
yanran200730
b5ae298ee9 bug 2022-06-27 09:43:09 +08:00
shijingjing
a3cb513b57 删除多余代码 2022-06-27 09:03:16 +08:00
aixianling
54127cc668 Merge remote-tracking branch 'origin/dev' into dev 2022-06-27 08:55:21 +08:00
aixianling
3e466e01cb BUG 30330 2022-06-27 08:54:51 +08:00
shijingjing
47b681c99d 列表 详情 2022-06-24 23:21:18 +08:00
aixianling
a1ca224a98 完成 2022-06-24 23:12:16 +08:00
aixianling
07bc1389c1 Merge remote-tracking branch 'origin/dev' into dev
# Conflicts:
#	packages/wxwork/AppMassNotification/components/Add.vue
#	packages/wxwork/AppMassNotification/components/List.vue
2022-06-24 20:52:39 +08:00
aixianling
9292429c8c 页面整合 2022-06-24 20:50:47 +08:00
shijingjing
356758a184 群发 2022-06-24 20:45:45 +08:00
aixianling
d979943852 BUG 29877 2022-06-24 20:41:54 +08:00
aixianling
8a7d6f746f BUG 30302 2022-06-24 19:58:27 +08:00
aixianling
6deb734d94 Merge remote-tracking branch 'origin/dev' into dev 2022-06-24 17:04:21 +08:00
aixianling
e55e0fc2cc 大屏应用位置整合 2022-06-24 17:03:35 +08:00
shijingjing
d8817261ca 群发消息 2022-06-24 15:08:02 +08:00
aixianling
8e04ec040a 大屏应用位置整合 2022-06-24 13:51:32 +08:00
aixianling
05db88644c 秀山需求变更 2022-06-23 16:54:06 +08:00
aixianling
90ab2dec01 秀山需求变更 2022-06-23 15:58:25 +08:00
aixianling
16128af70f 秀山需求变更 2022-06-23 14:59:54 +08:00
aixianling
1a3827e541 样式整合 2022-06-23 14:28:48 +08:00
aixianling
cc283155a1 BUG 30299 2022-06-23 14:00:34 +08:00
aixianling
a751e3e70b 修复异常 2022-06-23 11:06:48 +08:00
aixianling
3b58dec324 增加手动控制取消打包 2022-06-23 10:29:59 +08:00
aixianling
503416902c BUG 30288 2022-06-22 17:45:00 +08:00
aixianling
1c54bac79c 低代码前端完成 2022-06-22 16:54:27 +08:00
aixianling
ff322874e2 低代码前端完成 2022-06-22 11:24:21 +08:00
aixianling
03bd52194b 低代码前端完成 2022-06-22 11:20:42 +08:00
aixianling
17e2d3b12a Merge remote-tracking branch 'origin/dev' into dev 2022-06-22 11:09:13 +08:00
aixianling
834132fec2 低代码前端完成 2022-06-22 11:08:55 +08:00
yanran200730
e7e69d72e3 bug 2022-06-22 10:56:41 +08:00
shijingjing
98762e996c instance 2022-06-22 09:13:47 +08:00
shijingjing
11e8588e0d css 2022-06-22 08:43:38 +08:00
shijingjing
0ac92994bc 视频 2022-06-21 18:52:25 +08:00
shijingjing
3ac9250f38 屏蔽居民统计 2022-06-21 14:22:45 +08:00
shijingjing
340e40b6d1 党员积分明细 2022-06-21 10:58:33 +08:00
aixianling
87215e6352 Merge remote-tracking branch 'origin/dev' into dev 2022-06-20 18:31:47 +08:00
aixianling
d3aa3eef94 低代码平台 2022-06-20 18:31:30 +08:00
shijingjing
7db8828e0b 积分 2022-06-20 17:44:13 +08:00
shijingjing
25b4572ec8 添加积分规则 2022-06-20 16:59:20 +08:00
shijingjing
5f208c4510 积分审核 2022-06-20 14:52:15 +08:00
shijingjing
c378806112 积分明细 2022-06-20 14:25:33 +08:00
shijingjing
dd9394b9eb 党员积分 2022-06-20 13:48:16 +08:00
aixianling
169c3afc06 Merge remote-tracking branch 'origin/dev' into dev 2022-06-20 11:40:00 +08:00
aixianling
4567edbd5f 增加本地调试配置 2022-06-20 11:39:43 +08:00
shijingjing
387b25c678 积分管理 2022-06-20 11:26:42 +08:00
aixianling
918b88e5e2 优化设置 2022-06-20 11:01:12 +08:00
aixianling
b66d14f53e 迁移位置 2022-06-20 10:24:39 +08:00
aixianling
c7c72ddd26 Merge remote-tracking branch 'origin/dev' into dev 2022-06-20 10:03:22 +08:00
aixianling
c03be59b18 迁移位置 2022-06-20 10:03:03 +08:00
6b80930bc0 变更字段说明 2022-06-19 22:30:03 +08:00
aixianling
768304bf9d 优化打包脚本,自动构建打包 2022-06-17 18:42:59 +08:00
aixianling
3e2a01339d 增加打包功能 2022-06-17 11:29:49 +08:00
aixianling
7b70dafbaf 增加打包功能 2022-06-17 11:25:26 +08:00
aixianling
62248f1ac6 BUG 30199 2022-06-16 17:56:42 +08:00
aixianling
ddc87afed2 BUG 30199 2022-06-16 17:43:18 +08:00
shijingjing
531f1a55fd 其他类型 2022-06-16 17:02:53 +08:00
aixianling
db71cb58d3 Merge remote-tracking branch 'origin/dev' into dev 2022-06-16 15:31:53 +08:00
aixianling
345f1c10b0 更新部署打包 2022-06-16 15:31:40 +08:00
yanran200730
f95dc9adcc Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-06-16 14:01:23 +08:00
yanran200730
3dce3cd497 网格大屏bug 2022-06-16 14:01:17 +08:00
aixianling
fb44d8888a Merge remote-tracking branch 'origin/dev' into dev 2022-06-16 13:48:21 +08:00
aixianling
ca38041eec BUG 30204 2022-06-16 13:48:07 +08:00
yanran200730
2dbdc7a4c4 网格大屏需求变更 2022-06-16 11:47:08 +08:00
yanran200730
942078e3fd 数据源管理 2022-06-16 11:29:22 +08:00
yanran200730
5bc5bf0672 大屏 2022-06-16 11:21:30 +08:00
yanran200730
307f835cec 去除九分屏 2022-06-16 10:57:55 +08:00
shijingjing
a5bfb77e2a 群发通知 2022-06-15 16:18:57 +08:00
aixianling
fd755fa58a Merge remote-tracking branch 'origin/dev' into dev 2022-06-15 09:49:14 +08:00
aixianling
318b7d7748 BUG 30199 2022-06-15 09:48:53 +08:00
shijingjing
ffd792acaa bug 2022-06-14 17:37:10 +08:00
aixianling
7f76715aeb 秀山需求变更完成 2022-06-14 16:11:55 +08:00
aixianling
c09236b06f Merge remote-tracking branch 'origin/dev' into dev 2022-06-14 15:15:11 +08:00
aixianling
00142f0935 秀山端口调整39896 2022-06-14 15:14:53 +08:00
shijingjing
190afb8d9d 消息群发 2022-06-14 14:47:49 +08:00
shijingjing
447a9703ac 消息类容 2022-06-14 14:39:52 +08:00
shijingjing
7235fd4834 消息群发 2022-06-14 14:04:00 +08:00
shijingjing
dc44b85d69 调整一下 2022-06-14 09:31:16 +08:00
yanran200730
db8b9b82da 监控视频样式bug 2022-06-14 09:11:57 +08:00
shijingjing
abc33595df 消息列表 2022-06-13 22:54:51 +08:00
aixianling
bf29282de6 BUG 30031 2022-06-13 21:10:58 +08:00
shijingjing
1b07cef1d5 bug 2022-06-13 18:22:04 +08:00
shijingjing
dd8ba7e3ce 30198 2022-06-13 17:49:04 +08:00
shijingjing
d862c250fa 群发消息 2022-06-13 17:23:16 +08:00
shijingjing
8ebac73812 群发通知 2022-06-13 17:18:21 +08:00
shijingjing
e941dda29c css 2022-06-13 16:36:40 +08:00
shijingjing
f74ca9402a 户类型 2022-06-13 16:07:42 +08:00
shijingjing
08f8739a80 防返贫 2022-06-13 16:03:08 +08:00
shijingjing
4066e61fba 类型 2022-06-13 15:08:43 +08:00
shijingjing
55be902080 撤回 - 30158 2022-06-13 14:50:39 +08:00
aixianling
2c2bc040ca Merge remote-tracking branch 'origin/dev' into dev 2022-06-13 14:32:58 +08:00
aixianling
a3f5bc03d0 BUG 30150 2022-06-13 14:32:40 +08:00
shijingjing
2f1e902885 状态 2022-06-13 14:14:47 +08:00
shijingjing
bf6d86bf4e 媒资类型 2022-06-13 13:59:03 +08:00
aixianling
95ac3d55ae Merge remote-tracking branch 'origin/dev' into dev 2022-06-13 13:50:28 +08:00
aixianling
733e873785 BUG 30174 2022-06-13 13:50:11 +08:00
shijingjing
a0b90c4299 30165 2022-06-13 13:42:19 +08:00
shijingjing
3ab05fc552 v-show 2022-06-13 11:25:35 +08:00
shijingjing
1c44c9e776 监听 2022-06-13 11:13:36 +08:00
shijingjing
f34a0ac163 taskType 2022-06-13 11:03:44 +08:00
aixianling
570256341d 优化开发展示 2022-06-13 10:51:55 +08:00
aixianling
6e8b6b41df 优化开发展示 2022-06-13 10:49:25 +08:00
aixianling
94ee820ace 优化开发展示 2022-06-13 10:48:23 +08:00
aixianling
3080718d95 Merge remote-tracking branch 'origin/dev' into dev 2022-06-13 10:47:09 +08:00
aixianling
b35314bf83 优化开发展示 2022-06-13 10:46:55 +08:00
shijingjing
1dbe9c1a2b bug 2022-06-13 10:44:58 +08:00
shijingjing
241395d610 30164 2022-06-13 10:34:12 +08:00
shijingjing
2062bc6160 撤回 2022-06-13 10:30:16 +08:00
shijingjing
41687a386b 30163 2022-06-13 10:26:14 +08:00
shijingjing
c1c046971e 30159 2022-06-13 10:20:34 +08:00
shijingjing
b25222b93e 30161 2022-06-13 10:04:01 +08:00
shijingjing
ea85e1c82b 30155 2022-06-13 09:56:13 +08:00
shijingjing
8fe7970b81 30156 2022-06-13 09:40:10 +08:00
aixianling
2a4d9b2b1c 无等级网格版合并 2022-06-13 09:39:19 +08:00
shijingjing
0736ea98d0 30151 2022-06-13 09:09:45 +08:00
shijingjing
81a61c4ec4 防返贫 2022-06-11 15:45:50 +08:00
shijingjing
c5d3b941dc 防返贫 2022-06-11 15:08:40 +08:00
shijingjing
9a2623232c 撤回 2022-06-11 14:42:04 +08:00
shijingjing
96f565bbe4 播发记录 2022-06-11 14:36:19 +08:00
shijingjing
231717f862 任务列表 2022-06-11 13:16:21 +08:00
shijingjing
ca02cfc24e 大喇叭播放 2022-06-11 12:21:07 +08:00
aixianling
8e94580b56 山东移动版本追加 招工就业 2022-06-10 18:56:03 +08:00
shijingjing
3fdc528ffe 加载效果 2022-06-10 17:52:23 +08:00
liuye
35de4f51de Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-06-10 15:29:59 +08:00
liuye
3e5427633a 极光推送 2022-06-10 15:29:09 +08:00
aixianling
05ff4c5a0e Merge remote-tracking branch 'origin/dev' into dev 2022-06-10 15:24:36 +08:00
aixianling
ff8491c0f3 BUG 30148 2022-06-10 15:24:21 +08:00
liuye
fbb77ace5d 日期 2022-06-10 11:41:28 +08:00
liuye
438a24101d 分类查询 2022-06-10 11:18:19 +08:00
liuye
e6fe7b224b 极光推送 2022-06-10 11:09:16 +08:00
liuye
a407d007be 极光推送 2022-06-10 11:07:21 +08:00
shijingjing
d4534c7dca 设备 2022-06-10 10:06:55 +08:00
shijingjing
2b3925abf0 播发记录详情 2022-06-10 09:37:47 +08:00
aixianling
1fb21fdbd3 BUG 30099 2022-06-09 16:51:17 +08:00
shijingjing
0a49f98892 task 2022-06-09 16:42:46 +08:00
aixianling
a4348368e0 BUG 30139 2022-06-09 16:30:52 +08:00
aixianling
0dfe3125c7 BUG 30129 2022-06-09 16:24:21 +08:00
aixianling
c924ed7c71 BUG 30139 2022-06-09 16:23:05 +08:00
aixianling
ccb99b00c1 BUG 30132 2022-06-09 14:40:51 +08:00
shijingjing
c67633eda5 设备 2022-06-09 10:19:06 +08:00
shijingjing
55a7cd8624 选择设备 2022-06-09 08:39:26 +08:00
aixianling
b2600d0de5 BUG 29336 2022-06-08 19:23:25 +08:00
aixianling
f550ae832b Merge remote-tracking branch 'origin/dev' into dev 2022-06-08 19:20:21 +08:00
aixianling
6d338b8324 BUG 30066 2022-06-08 19:20:02 +08:00
shijingjing
92645d9c17 内容 2022-06-08 18:52:07 +08:00
aixianling
6d75362672 修复引入错误 2022-06-08 18:23:27 +08:00
aixianling
d5ecc2579b Merge remote-tracking branch 'origin/dev' into dev 2022-06-08 18:02:45 +08:00
aixianling
6dab0e1f72 BUG 30117 2022-06-08 18:02:08 +08:00
shijingjing
d24898b558 任务详情 2022-06-08 17:57:19 +08:00
shijingjing
fc220c7868 任务列表 2022-06-08 17:19:32 +08:00
shijingjing
33294ac8e7 详情 2022-06-08 16:51:45 +08:00
aixianling
07ca7dc8a7 埋点调整 2022-06-08 16:32:01 +08:00
aixianling
3365fcb1ef 迁移一个代码生成 2022-06-08 15:44:13 +08:00
aixianling
fa7c5428c5 BUG 30095 2022-06-08 10:19:42 +08:00
aixianling
c9dc8940ed BUG 30094 2022-06-08 10:06:18 +08:00
aixianling
e20e479697 BUG 30065 2022-06-08 09:29:15 +08:00
aixianling
c752a1c92b BUG 30069 2022-06-08 09:28:11 +08:00
aixianling
05af474916 随手拍 2022-06-07 18:23:10 +08:00
aixianling
b4e54b8fdc 异常值处理 2022-06-07 17:55:01 +08:00
aixianling
0b89f4c0a1 BUG 30044 2022-06-07 17:46:19 +08:00
aixianling
70e1337980 BUG 30043 2022-06-07 17:37:49 +08:00
aixianling
4b04209e62 BUG 30031 2022-06-07 17:04:38 +08:00
aixianling
0d31afa0a5 BUG 30045 2022-06-07 16:56:37 +08:00
aixianling
893ec0efc9 BUG 30045 2022-06-07 16:46:14 +08:00
aixianling
47d44a94b8 BUG 30018 2022-06-07 16:34:09 +08:00
aixianling
a1ee74f4c8 换个毛玻璃试试看 2022-06-07 14:49:04 +08:00
aixianling
61bacc2742 BUG 30021 2022-06-07 14:04:06 +08:00
aixianling
6c581378e8 BUG 30022 2022-06-07 11:34:05 +08:00
aixianling
d819783b21 增加beta测试开发环境和包环境 2022-06-06 16:02:33 +08:00
aixianling
a0cf4601b7 BUG 29998 2022-06-06 13:59:52 +08:00
aixianling
3a39248f9c BUG 29992 2022-06-06 11:36:12 +08:00
aixianling
f8f4c2ffec BUG 30004 2022-06-06 11:30:04 +08:00
aixianling
94331d6ba0 BUG 30003 2022-06-06 11:22:15 +08:00
aixianling
34dd2fcbcc Merge remote-tracking branch 'origin/dev' into dev 2022-06-06 10:49:58 +08:00
aixianling
53d0350259 增加corpId显示 2022-06-06 10:49:39 +08:00
yanran200730
d510da6e71 大屏 2022-06-06 10:43:28 +08:00
aixianling
eda3252c95 评论调整 2022-06-06 09:16:39 +08:00
liuye
c353a19fe5 30006 2022-06-02 18:03:13 +08:00
liuye
15877d15f4 积分 2022-06-02 17:54:06 +08:00
yanran200730
8ee4054eff Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-06-02 09:58:49 +08:00
yanran200730
94e27be64b 素材 支持视频 2022-06-02 09:58:41 +08:00
liuye
10e658af76 员工积分 2022-06-02 09:47:42 +08:00
aixianling
c93c5b6c93 小程序发布展示更多的信息和匹配更多的查询 2022-06-01 11:06:48 +08:00
aixianling
b7dfd189a0 山东迁移积分申请到标准版 2022-06-01 10:13:00 +08:00
aixianling
58c3d89297 网格调整完毕 2022-06-01 10:10:34 +08:00
aixianling
49aa0a6276 网格基础设置调整 2022-06-01 09:57:15 +08:00
aixianling
e71d1fcf12 网格区块基本调整完毕 2022-05-31 18:33:43 +08:00
aixianling
a09048af63 BUG 29970 2022-05-31 16:51:23 +08:00
aixianling
f446104dda 调整部分框架 2022-05-30 18:46:47 +08:00
aixianling
c17018ae9d BUG 29777 2022-05-30 15:07:25 +08:00
aixianling
69509c43f1 添加山东移动构建发布 2022-05-27 18:14:43 +08:00
aixianling
8a25040a26 优化打包交互 2022-05-27 15:19:16 +08:00
aixianling
aaf7631ef3 增加web端产品库模块,并增加埋点 2022-05-27 15:13:14 +08:00
aixianling
a134902bd6 BUG 29893 2022-05-27 13:59:27 +08:00
aixianling
768c0759ac BUG 29882 2022-05-27 13:52:48 +08:00
aixianling
442296a414 优化打包 2022-05-27 12:05:46 +08:00
aixianling
90ab577eb1 排除grid进行打包 2022-05-27 12:03:00 +08:00
aixianling
bf799bdd93 小程序发布跟新 2022-05-27 11:58:51 +08:00
aixianling
0debe23873 新网格应用调整目录完成 2022-05-27 11:51:18 +08:00
aixianling
79e06e38ae 优化打包交互 2022-05-27 10:10:04 +08:00
aixianling
d94fdb9f86 优化打包查询服务 2022-05-27 09:12:29 +08:00
aixianling
6d35edee98 更新部署打包服务 2022-05-26 19:00:53 +08:00
aixianling
45cde1e2e7 BUG 29874 2022-05-26 17:23:12 +08:00
liuye
b63cd4b427 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-05-26 16:17:53 +08:00
liuye
97d5c51a12 屏蔽积分类型 2022-05-26 16:17:36 +08:00
aixianling
1ea7bf16f2 山东移动追加应用积分维护和员工积分 2022-05-26 09:25:15 +08:00
aixianling
3a7506e0f6 BUG 29875 2022-05-26 08:57:44 +08:00
aixianling
09bc287157 BUG 29874 2022-05-26 08:53:46 +08:00
aixianling
99555c3924 Merge remote-tracking branch 'origin/dev' into dev 2022-05-25 18:50:03 +08:00
aixianling
82d93a1266 BUG 29869 2022-05-25 18:49:44 +08:00
liuye
0913a70ac7 导出 2022-05-25 18:11:36 +08:00
liuye
75d1f34b5d 禅道bug 2022-05-25 16:19:22 +08:00
aixianling
8424a06217 消除警告 2022-05-25 13:39:30 +08:00
aixianling
67d3ad9bca 增加是否可评论 2022-05-25 11:55:34 +08:00
aixianling
bcef93975e 修复核心库发布功能 2022-05-25 09:42:18 +08:00
aixianling
cf6610153f 秀山金融大屏完成 2022-05-23 21:04:48 +08:00
aixianling
e46dc98f58 url参数控制请求的代理指向 2022-05-23 15:03:57 +08:00
aixianling
261a6c6ffa Merge remote-tracking branch 'origin/dev' into dev 2022-05-23 14:42:49 +08:00
aixianling
4eb47552b3 BUG 29775 2022-05-23 14:42:25 +08:00
liuye
a4ac8060ba 29753 2022-05-23 11:40:27 +08:00
aixianling
4d99866e39 BUG 29657 2022-05-23 10:36:10 +08:00
aixianling
f6d36a132d BUG 29681 2022-05-23 10:32:09 +08:00
aixianling
97c43de5ce BUG 29681 2022-05-23 10:31:19 +08:00
aixianling
4bcf08213f BUG 29751 2022-05-23 10:09:04 +08:00
aixianling
1643123b77 BUG 29733 2022-05-23 09:16:41 +08:00
aixianling
48a6abc8b0 BUG 29766 2022-05-23 09:13:53 +08:00
aixianling
ffcd58a34a BUG 29657 2022-05-20 17:28:32 +08:00
aixianling
7eb409548b BUG 29672 2022-05-20 17:25:56 +08:00
aixianling
81701253cd BUG 29675 2022-05-20 17:22:39 +08:00
aixianling
89bcc1c27b BUG 29677 2022-05-20 17:16:30 +08:00
aixianling
f39003c785 BUG 29678 2022-05-20 17:15:29 +08:00
aixianling
a2c7c4628d BUG 29668 2022-05-20 17:13:04 +08:00
aixianling
7b2a394d9c BUG 29680 2022-05-20 17:11:54 +08:00
aixianling
5916681635 BUG 29716 2022-05-20 17:10:30 +08:00
aixianling
b578e07243 BUG 29751 2022-05-20 16:45:38 +08:00
aixianling
a73749b450 BUG 29681 2022-05-20 16:40:34 +08:00
aixianling
c27a19a06b BUG 29700 2022-05-20 15:43:28 +08:00
aixianling
234b9f34d5 BUG 29733 2022-05-20 15:41:38 +08:00
aixianling
93f1523caa Merge remote-tracking branch 'origin/dev' into dev 2022-05-20 15:39:35 +08:00
aixianling
b22c153f3d BUG 29744 2022-05-20 15:39:12 +08:00
liuye
2a416e8177 29743 2022-05-20 15:33:27 +08:00
aixianling
3bca9a4865 清理复制代码 2022-05-20 15:28:56 +08:00
liuye
b0457b8161 帮扶申报 2022-05-20 13:55:42 +08:00
liuye
16aaa2e95a 29709 2022-05-20 11:59:04 +08:00
liuye
be0c55de75 帮扶申报 2022-05-20 11:53:51 +08:00
aixianling
e0d1860aaa 增加企微应用产品库台账 2022-05-20 09:34:06 +08:00
aixianling
a73d93c1ca 增设埋点 2022-05-20 09:28:55 +08:00
aixianling
9ce09b38de BUG 29657 2022-05-19 18:33:38 +08:00
aixianling
ad856bfaae BUG 29658 2022-05-19 18:32:33 +08:00
aixianling
f17b80abba BUG 29659 2022-05-19 18:31:24 +08:00
aixianling
9b36b9de6d BUG 29661 2022-05-19 18:29:55 +08:00
aixianling
479163c50e BUG 29663 2022-05-19 18:12:52 +08:00
aixianling
305345a955 BUG 29662 2022-05-19 18:05:30 +08:00
aixianling
4414bd3416 BUG 29664 2022-05-19 18:03:01 +08:00
aixianling
c5d1030940 BUG 29666 2022-05-19 18:01:14 +08:00
aixianling
b0ea8c451b BUG 29667 2022-05-19 17:58:29 +08:00
aixianling
61217e07b8 BUG 29673 2022-05-19 17:52:51 +08:00
aixianling
79efa10aa1 完善正则式 2022-05-19 17:35:08 +08:00
liuye
63286e3f48 帮扶申报 2022-05-19 15:33:51 +08:00
liuye
5f853d5ac3 29576 2022-05-19 14:16:53 +08:00
liuye
6abe23d791 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-05-19 11:44:31 +08:00
liuye
4e36387bb2 帮扶申报 2022-05-19 11:43:39 +08:00
aixianling
fd03bba979 去掉新增 2022-05-19 11:00:43 +08:00
aixianling
a084961c0b 小程序产品库台账 2022-05-19 10:43:21 +08:00
aixianling
150760f6ce 小程序发布完成 2022-05-18 18:44:56 +08:00
aixianling
59931236ba BUG 29649 2022-05-18 14:21:47 +08:00
liuye
fd5f976dcf 29586 2022-05-18 11:47:31 +08:00
liuye
932733839f Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-05-18 11:38:51 +08:00
liuye
4fc53f7519 28305 2022-05-18 11:38:25 +08:00
aixianling
f71e163e0a Merge remote-tracking branch 'origin/dev' into dev 2022-05-18 11:34:30 +08:00
aixianling
18c7277d7b 标签信息增加权限码控制 2022-05-18 11:34:13 +08:00
liuye
829e2f5ab8 29576 2022-05-18 11:31:48 +08:00
liuye
79c6636fb2 话术库bug 2022-05-18 10:02:15 +08:00
liuye
5403db62fa 居民档案bug 2022-05-18 09:40:28 +08:00
liuye
425db08622 党员添加 2022-05-17 16:03:43 +08:00
liuye
0e7f0b4d26 29642 2022-05-17 15:47:43 +08:00
aixianling
697b0a5eaf 排查故障 2022-05-17 15:05:20 +08:00
aixianling
364f042e9b 员工积分完成 2022-05-17 14:27:32 +08:00
aixianling
da259ebec6 修复一下tab页签 2022-05-17 10:54:34 +08:00
aixianling
dbca23bb6d 增加积分规则表单验证 2022-05-16 17:55:51 +08:00
aixianling
64eafa988b 积分规则调整完毕 2022-05-16 17:44:21 +08:00
aixianling
355a0fe50e 党员积分导入按钮 2022-05-16 16:35:50 +08:00
aixianling
46c5474b4e 党员积分导入按钮 2022-05-16 16:35:41 +08:00
aixianling
23d677bc82 调整接口工具类 2022-05-16 11:10:11 +08:00
aixianling
5eaf8f996a 保存历史操作 2022-05-16 10:53:21 +08:00
shijingjing
733871805a 字典 2022-05-16 09:21:11 +08:00
shijingjing
86dbce3da8 29126 2022-05-16 09:03:16 +08:00
aixianling
d4ab166fe0 Merge remote-tracking branch 'origin/dev' into dev 2022-05-13 18:10:55 +08:00
aixianling
0705687d12 积分规则调整 2022-05-13 18:10:34 +08:00
yanran200730
246aaee5b1 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-05-13 18:02:46 +08:00
yanran200730
ca4a465312 大华大屏 2022-05-13 18:02:38 +08:00
aixianling
e4ce3d7c45 Merge remote-tracking branch 'origin/dev' into dev 2022-05-13 17:50:05 +08:00
aixianling
b90cc9065f BUG 29587 2022-05-13 17:49:45 +08:00
yanran200730
69ea4af045 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-05-13 17:33:53 +08:00
yanran200730
7e89712bd9 大华监控视频组件 2022-05-13 17:33:45 +08:00
aixianling
dfa29e1677 积分整合 2022-05-13 17:29:46 +08:00
aixianling
aef1ebc8c9 积分整合 2022-05-13 17:06:55 +08:00
aixianling
5d656a9e65 积分整合 2022-05-13 16:14:55 +08:00
yanran200730
e04acbcf5b Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-05-13 14:55:21 +08:00
yanran200730
1f7e2b4d84 党建大屏 2022-05-13 14:55:13 +08:00
aixianling
d6d2e7b909 BUG 29578 2022-05-12 18:42:30 +08:00
aixianling
7de09aa195 BUG 29580 2022-05-12 18:28:58 +08:00
aixianling
6835f1da50 BUG 29587 2022-05-12 18:26:57 +08:00
aixianling
2004368c90 BUG 29594 2022-05-12 18:14:24 +08:00
aixianling
ec41626868 整合积分integralDetailBizType 2022-05-12 16:25:22 +08:00
aixianling
d1acd1de71 Merge remote-tracking branch 'origin/dev' into dev 2022-05-12 16:22:50 +08:00
aixianling
f6d8a737df 整合积分等报错 2022-05-12 16:22:31 +08:00
yanran200730
37e16f5795 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-05-12 15:25:46 +08:00
yanran200730
d5d5fa6055 党建大屏 2022-05-12 15:25:35 +08:00
shijingjing
6ec577f14d 29128 2022-05-12 15:22:38 +08:00
liuye
9300dac087 融资统计 2022-05-12 14:53:59 +08:00
liuye
3f25e3a753 29132 2022-05-12 14:42:44 +08:00
shijingjing
5dc1ba2230 29128 2022-05-12 10:53:05 +08:00
shijingjing
208b440c86 29165 2022-05-12 10:30:04 +08:00
shijingjing
8bc6655ec7 改一下 2022-05-12 09:49:25 +08:00
shijingjing
d2bec8554d 29592 2022-05-12 09:43:20 +08:00
yanran200730
7453962f52 党建大屏 2022-05-11 18:07:04 +08:00
yanran200730
4b518445ef Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-05-11 16:47:22 +08:00
yanran200730
f9d5e51222 大屏 环形图组件 2022-05-11 16:47:15 +08:00
aixianling
5b94b47e02 Merge remote-tracking branch 'origin/dev' into dev 2022-05-11 14:26:35 +08:00
aixianling
1464cfa2de 修复node和esm兼容问题 2022-05-11 14:24:24 +08:00
yanran200730
e4d1e85156 echart 组件 2022-05-11 11:37:44 +08:00
yanran200730
8998e9a664 bug 2022-05-11 10:20:59 +08:00
yanran200730
97d29d0d7e Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-05-11 09:47:29 +08:00
yanran200730
a4d48f643b 新增饼图组件 2022-05-11 09:47:09 +08:00
shijingjing
5d4a8af8d7 28735 28741 2022-05-11 09:33:32 +08:00
aixianling
0f221d2f9d 目录代码整合 2022-05-11 08:54:06 +08:00
aixianling
322d0cb479 目录代码整合 2022-05-10 20:18:12 +08:00
aixianling
036ee91533 目录代码整合 2022-05-10 20:02:37 +08:00
aixianling
71049f7f65 调整界面和底座风格基本保持一致 2022-05-10 19:16:02 +08:00
aixianling
f39746e303 调整界面和底座风格基本保持一致 2022-05-10 18:46:57 +08:00
aixianling
c0d890a0a8 优化一下产品库加载 2022-05-10 16:54:21 +08:00
liuye
b4446a24a6 运营平台bug 2022-05-10 11:02:57 +08:00
aixianling
e8c8c1cba6 BUG 29560 2022-05-10 09:56:08 +08:00
yanran200730
3dd57db73b Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-05-09 16:07:17 +08:00
yanran200730
a2925da21b 网格bug 2022-05-09 16:07:07 +08:00
aixianling
c3d92c18d0 Merge remote-tracking branch 'origin/dev' into dev 2022-05-09 14:33:01 +08:00
aixianling
ae24b4d6b4 BUG 29559 2022-05-09 14:32:42 +08:00
liuye
61de1da32d 29553 2022-05-09 08:43:37 +08:00
aixianling
70557adefd 地图标绘调整 2022-05-07 19:31:07 +08:00
aixianling
7894fb68f8 Merge remote-tracking branch 'origin/dev' into dev 2022-05-07 18:14:56 +08:00
aixianling
409fcd6f44 标绘重新调整 2022-05-07 18:14:37 +08:00
yanran200730
61fed1f99f bug 2022-05-07 15:58:00 +08:00
yanran200730
32aae8fe4f 29536 2022-05-07 09:17:23 +08:00
yanran200730
74e34e52e8 2 2022-05-06 20:10:09 +08:00
yanran200730
4b9bd8ffa8 bug 2022-05-06 19:55:29 +08:00
yanran200730
018b926c6c bug 2022-05-06 19:54:02 +08:00
yanran200730
1355ef7509 29511 2022-05-06 19:20:36 +08:00
yanran200730
a076c7b331 29513 2022-05-06 19:08:34 +08:00
yanran200730
195c6e3aa6 29512 2022-05-06 19:06:42 +08:00
yanran200730
046b1d0c5a bug 2022-05-06 18:54:19 +08:00
yanran200730
b6a686a021 bug 2022-05-06 18:53:49 +08:00
yanran200730
bc8cc63d17 bug 2022-05-06 18:47:16 +08:00
yanran200730
db406eb8fa 29519 2022-05-06 17:49:34 +08:00
yanran200730
c1010119aa 29520 2022-05-06 17:47:43 +08:00
yanran200730
a0cc85027c 29522 2022-05-06 17:36:13 +08:00
yanran200730
1db79c53a0 党建大屏 2022-05-06 16:31:28 +08:00
yanran200730
39f6cb1ff2 党建大屏 2022-05-06 16:26:11 +08:00
aixianling
55e3ab0612 BUG 29505 2022-05-05 18:22:27 +08:00
yanran200730
84954bcc84 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-05-05 18:00:31 +08:00
yanran200730
a0c2bf8f67 党建大屏 2022-05-05 18:00:21 +08:00
aixianling
bd2b066e9a BUG 29508 2022-05-05 16:45:19 +08:00
aixianling
7d99c2fb5f BUG 29505 2022-05-05 16:25:17 +08:00
aixianling
6d3984654c BUG 29503 2022-05-05 16:21:13 +08:00
aixianling
64202161dd BUG 29507 2022-05-05 16:02:58 +08:00
yanran200730
6f14126a2e Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-05-05 15:29:02 +08:00
yanran200730
f757852ac4 大屏组件 2022-05-05 15:28:56 +08:00
aixianling
f38eff6564 BUG 29501 2022-05-05 15:26:44 +08:00
aixianling
92516a7753 优化打包脚本 2022-05-05 15:16:28 +08:00
aixianling
890cbaa0b9 BUG 29468 2022-04-29 19:47:51 +08:00
aixianling
376a4778b8 BUG 29467 2022-04-29 19:39:17 +08:00
aixianling
cc46a5a9c8 BUG 29441 2022-04-29 17:53:10 +08:00
aixianling
e8439fe40a BUG 29454 2022-04-29 16:47:21 +08:00
aixianling
3464798fd9 BUG 29452 2022-04-29 16:44:14 +08:00
aixianling
5a730afb99 BUG 29451 2022-04-29 16:42:40 +08:00
aixianling
46596b6d57 BUG 29451 2022-04-29 16:42:26 +08:00
aixianling
8a0141bf2d BUG 29450 2022-04-29 16:39:37 +08:00
aixianling
869d9a4635 BUG 29446 2022-04-29 16:24:13 +08:00
aixianling
6eb9dd2ee6 BUG 29441 2022-04-29 16:13:28 +08:00
aixianling
47024dde2a BUG 29439 2022-04-29 16:11:09 +08:00
aixianling
f764b37c8a BUG 29436 2022-04-29 16:08:43 +08:00
aixianling
85324959a0 BUG 29420 2022-04-29 16:04:32 +08:00
aixianling
6298eeaae3 BUG 29306 2022-04-29 15:53:42 +08:00
aixianling
c398a354b9 BUG 29286 2022-04-29 15:44:01 +08:00
aixianling
abe2f9892e 合并网格管理员并权限控制 2022-04-29 14:32:08 +08:00
aixianling
cf4ae0bc58 Merge remote-tracking branch 'origin/dev' into dev 2022-04-28 18:40:10 +08:00
aixianling
4cb734cbe0 网格管理调整完毕 2022-04-28 18:39:32 +08:00
liuye
a4e7a9ff30 29412 2022-04-28 18:08:34 +08:00
liuye
572f155bf5 29411 2022-04-28 17:39:07 +08:00
liuye
99ef026ff0 bug 2022-04-28 17:23:10 +08:00
aixianling
86a1128d9a Merge remote-tracking branch 'origin/dev' into dev 2022-04-28 16:25:47 +08:00
aixianling
38f3ecc288 saas研发配置及网格调整 2022-04-28 16:25:30 +08:00
liuye
ec29f1dc11 29370 2022-04-28 15:41:43 +08:00
yanran200730
c186b95ae7 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-04-28 15:18:53 +08:00
yanran200730
d5fa92d90f bug 2022-04-28 15:18:36 +08:00
aixianling
6f5a918bd1 BUG 29401 2022-04-28 15:16:32 +08:00
aixianling
96ad4ac999 Merge remote-tracking branch 'origin/dev' into dev 2022-04-28 15:01:07 +08:00
aixianling
efc3252c1b BUG 29400 2022-04-28 15:00:51 +08:00
liuye
197201d923 29399 2022-04-28 14:49:04 +08:00
liuye
8baf806758 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-04-28 14:32:43 +08:00
liuye
192af31223 风险消除 收入情况 2022-04-28 14:32:15 +08:00
aixianling
dc2e2ff079 Merge remote-tracking branch 'origin/dev' into dev 2022-04-28 14:30:42 +08:00
aixianling
97759ee9d2 调整一下名字 2022-04-28 14:30:20 +08:00
yanran200730
ea42e0e53a 29391 2022-04-28 14:26:46 +08:00
yanran200730
b85a5a9cfb Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-04-28 14:02:08 +08:00
yanran200730
001fc94d95 29392 2022-04-28 14:02:01 +08:00
liuye
5f8fff9943 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-04-28 11:50:55 +08:00
liuye
476dec8d17 去掉备注说明 2022-04-28 11:50:35 +08:00
aixianling
0a815cbb35 调整一下名字 2022-04-28 11:49:23 +08:00
liuye
74b98805a5 脱贫年度 2022-04-28 11:35:48 +08:00
liuye
b5d7ee5c58 bug 2022-04-28 11:21:28 +08:00
yanran200730
d970a443ce 29266 2022-04-28 10:50:39 +08:00
yanran200730
22cbb0c6bf 29369 2022-04-28 10:30:53 +08:00
yanran200730
a23dc0b0cd Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-04-28 10:28:24 +08:00
yanran200730
7bbeb88804 bug 2022-04-28 10:28:18 +08:00
aixianling
27f9d4740d BUG 29277 2022-04-28 10:08:46 +08:00
aixianling
c0c5cd79ee Merge remote-tracking branch 'origin/dev' into dev 2022-04-28 10:00:28 +08:00
aixianling
a6c9430a42 BUG 29300 2022-04-28 10:00:09 +08:00
liuye
b468befe67 29379 2022-04-28 09:55:30 +08:00
aixianling
b6bcf204f5 Merge remote-tracking branch 'origin/dev' into dev 2022-04-28 09:41:36 +08:00
aixianling
7bc5f87471 BUG 29286 2022-04-28 09:41:21 +08:00
liuye
bb46e123fe bug 2022-04-28 09:28:18 +08:00
yanran200730
e99ea5b2de Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-04-28 09:27:17 +08:00
yanran200730
40dfa8686b 视频回放bug 2022-04-28 09:27:12 +08:00
aixianling
731389d4a2 BUG 29112 2022-04-28 09:03:18 +08:00
liuye
7c13051ce1 格式化 2022-04-27 18:34:00 +08:00
liuye
bfde95f6ca 监测对象 2022-04-27 18:32:22 +08:00
liuye
9861b4718e bug 2022-04-27 18:24:03 +08:00
liuye
2f612a074c 监测对象字段 2022-04-27 18:08:01 +08:00
liuye
11eda3d90b 监测对象字段 2022-04-27 17:53:58 +08:00
liuye
c78a75718a 监测对象 2022-04-27 09:48:09 +08:00
aixianling
ee93320cad Merge remote-tracking branch 'origin/dev' into dev 2022-04-27 08:59:20 +08:00
aixianling
35fcde4dca BUG 29252 2022-04-27 08:59:01 +08:00
liuye
054f8b8a50 监测对象列表删除按钮 2022-04-26 17:48:26 +08:00
liuye
8f79d72950 29305 2022-04-26 17:26:13 +08:00
liuye
3ba4c9089c 29289 2022-04-26 17:16:37 +08:00
liuye
471609f59c 监测对象 2022-04-26 16:43:48 +08:00
liuye
ffcd6f2943 宣传资讯列表 2022-04-26 16:11:03 +08:00
liuye
abdeeef32f 标题居左 2022-04-26 16:04:04 +08:00
liuye
fa64373189 宣传资讯 2022-04-26 15:57:14 +08:00
liuye
10cb930034 宣传资讯 2022-04-26 15:52:03 +08:00
liuye
ab3e8ad93f 权限 2022-04-26 15:14:46 +08:00
liuye
a45e5a8844 网格员id 2022-04-26 14:53:21 +08:00
liuye
91f8c77e34 回撤 2022-04-26 14:33:47 +08:00
liuye
98a228e644 审核状态 2022-04-26 14:30:16 +08:00
liuye
bc9a255a3f 29290 2022-04-26 14:15:12 +08:00
liuye
5c3e626df1 选择人员 2022-04-26 14:00:40 +08:00
liuye
4db2c45c4a bug 2022-04-26 13:44:36 +08:00
liuye
c921eec601 bug 2022-04-26 11:45:01 +08:00
liuye
ab146f9a69 bug 2022-04-26 11:36:59 +08:00
liuye
48b3839eca 29279 2022-04-26 11:18:30 +08:00
liuye
7e19978d7a 监测对象 2022-04-26 10:36:06 +08:00
liuye
050f76c1be 监测对象 2022-04-25 18:09:11 +08:00
f4873d924f BUG 29255 2022-04-25 15:58:51 +08:00
6fedce8dac Merge remote-tracking branch 'origin/dev' into dev 2022-04-25 15:55:31 +08:00
9f4c44d75d BUG 29162 2022-04-25 15:55:08 +08:00
liuye
f0e3aaa3ab bug 2022-04-25 15:39:32 +08:00
liuye
9521730bae 宣传资讯 2022-04-25 14:37:24 +08:00
liuye
ac99e83459 政策申办统计导入 2022-04-25 11:57:02 +08:00
liuye
3ce7f47a6b 政策申办 2022-04-25 10:49:34 +08:00
liuye
c430bbf467 政策申办统计 2022-04-25 10:30:08 +08:00
liuye
ea36a748c8 宣传资讯 2022-04-25 08:58:10 +08:00
2c5542d985 BUG 29263 2022-04-24 10:17:14 +08:00
722d861dfd Merge remote-tracking branch 'origin/dev' into dev 2022-04-24 10:12:27 +08:00
5ea1728dbb BUG 29268 2022-04-24 10:12:13 +08:00
yanran200730
53a4e5ea27 优化 2022-04-24 09:53:36 +08:00
6a75a3470f BUG 29264 2022-04-22 17:12:06 +08:00
8600eb20bc BUG 29263 2022-04-22 17:04:00 +08:00
yanran200730
2074d29e55 bug 2022-04-22 16:33:22 +08:00
yanran200730
9283c0c283 29259 2022-04-22 16:14:31 +08:00
yanran200730
b25f4ff713 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-04-22 16:09:19 +08:00
yanran200730
17c74dd956 29258 2022-04-22 16:09:09 +08:00
e0bb149e44 Merge remote-tracking branch 'origin/dev' into dev 2022-04-22 16:00:20 +08:00
f81e56feab BUG 29262 2022-04-22 16:00:07 +08:00
刘仕伟
4b994d76e9 修改三涧溪apps的引入 2022-04-22 07:54:53 +00:00
426ce5f49a Merge remote-tracking branch 'origin/dev' into dev 2022-04-22 15:45:07 +08:00
460a2b0ab7 BUG 29252 2022-04-22 15:44:55 +08:00
yanran200730
9c0685e4ff 29257 2022-04-22 15:44:04 +08:00
3abcf75a3f BUG 29255 2022-04-22 15:29:53 +08:00
01e1bc3d7a BUG 29245 2022-04-22 15:28:08 +08:00
4d1df90887 Merge remote-tracking branch 'origin/dev' into dev 2022-04-22 15:24:09 +08:00
e687a6b572 BUG 29253 2022-04-22 15:23:59 +08:00
yanran200730
53a185fec6 优化 2022-04-22 14:21:21 +08:00
yanran200730
74adde5a40 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-04-22 14:13:13 +08:00
yanran200730
03d990f8b5 优化 2022-04-22 14:13:07 +08:00
d52d2b352d BUG 29254 2022-04-22 10:57:44 +08:00
41bc5e8750 BUG 29253 2022-04-22 10:49:44 +08:00
f796fbc536 BUG 29249 2022-04-22 10:48:21 +08:00
c6a9856689 BUG 29247 2022-04-22 10:39:46 +08:00
6359ceecb3 BUG 29247 2022-04-22 10:38:14 +08:00
f2bcbffde4 BUG 29245 2022-04-22 10:36:58 +08:00
8bdc53d7ca BUG 29244 2022-04-22 10:34:33 +08:00
d697c5213f BUG 29243 2022-04-22 10:33:49 +08:00
b7104acd58 BUG 29242 2022-04-22 10:30:18 +08:00
b84d3bec66 BUG 29227 2022-04-22 10:29:21 +08:00
d2264c90d1 Merge remote-tracking branch 'origin/dev' into dev 2022-04-22 09:57:33 +08:00
1d0de7a9c5 BUG 29241 2022-04-22 09:57:16 +08:00
yanran200730
cce3c47466 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-04-21 16:11:56 +08:00
yanran200730
a01d79fe2f 视频监控 2022-04-21 16:11:49 +08:00
283fb8767d BUG 29229 2022-04-21 15:08:31 +08:00
9baf7fe2ef Merge remote-tracking branch 'origin/dev' into dev 2022-04-21 15:07:38 +08:00
4ff43d632e BUG 29236 2022-04-21 15:07:22 +08:00
yanran200730
49dabf912c 视频监控 2022-04-21 15:04:23 +08:00
2fe01ec7cf BUG 29223 2022-04-21 15:02:24 +08:00
7250ff3a45 BUG 29202 2022-04-21 14:53:36 +08:00
832be3f1ec BUG 29192 2022-04-21 14:52:55 +08:00
69347cde15 BUG 29186 2022-04-21 14:47:53 +08:00
f384b4c73d BUG 29174 2022-04-21 14:32:31 +08:00
刘仕伟
0c2b0c6733 三涧溪添加标签管理 2022-04-21 10:04:10 +08:00
aixianling
a49fb6016b 增加删除按钮 2022-04-20 18:15:33 +08:00
aixianling
0370ea61d9 BUG 29228 2022-04-20 18:09:00 +08:00
aixianling
25bdc08ede BUG 29226 2022-04-20 18:07:44 +08:00
aixianling
e2583c25f9 BUG 29225 2022-04-20 18:07:04 +08:00
aixianling
d01a7b58fa BUG 29227 2022-04-20 18:04:59 +08:00
aixianling
d3cb80666e BUG 29205 2022-04-20 18:03:38 +08:00
aixianling
a52c3a1eca BUG 29172 2022-04-20 17:58:19 +08:00
aixianling
38fcdfdb70 BUG 29193 2022-04-20 17:55:05 +08:00
aixianling
2360db1924 BUG 29190 2022-04-20 17:53:12 +08:00
aixianling
9baf96b0c2 BUG 29194 2022-04-20 17:51:47 +08:00
aixianling
44e8683cd5 BUG 29196 2022-04-20 17:50:18 +08:00
aixianling
9efa58ad49 BUG 29200 2022-04-20 17:47:59 +08:00
aixianling
71631bf2ca BUG 29221 2022-04-20 17:46:45 +08:00
aixianling
22e7c83a74 BUG 29222 2022-04-20 17:22:39 +08:00
aixianling
2a6563a6c1 BUG 29197 2022-04-20 17:19:49 +08:00
aixianling
fe15dcdad9 Merge remote-tracking branch 'origin/dev' into dev 2022-04-20 17:08:42 +08:00
aixianling
bff298f5c9 标签管理完成 2022-04-20 17:08:25 +08:00
yanran200730
53d7b3fc85 监控视频回放 2022-04-20 16:37:04 +08:00
aixianling
893a75c582 增加学习强国积分 2022-04-20 14:51:51 +08:00
aixianling
86c8722638 居民档案结构重组 2022-04-20 14:19:14 +08:00
aixianling
d1e3e69006 标签管理完成 2022-04-20 13:44:25 +08:00
aixianling
8719b9d851 BUG 29168 2022-04-20 09:33:43 +08:00
aixianling
7cc8b5be93 BUG 29162 2022-04-20 09:31:05 +08:00
aixianling
b095835e62 BUG 29169 2022-04-20 09:25:57 +08:00
aixianling
8cc46723f0 Merge remote-tracking branch 'origin/dev' into dev 2022-04-20 08:56:45 +08:00
aixianling
4f52add246 BUG 29169 2022-04-20 08:56:25 +08:00
yanran200730
867ab92be8 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-04-19 17:59:29 +08:00
yanran200730
e36ebca88c 视频回放 2022-04-19 17:59:23 +08:00
aixianling
e854868514 车辆信息和房屋信息完成 2022-04-19 17:59:14 +08:00
aixianling
4ec129a695 标签管理样式完成 2022-04-19 15:39:30 +08:00
aixianling
99e8432ea7 标签管理样式完成 2022-04-19 15:36:41 +08:00
aixianling
31b3e6c670 居民档案样式调整完成 2022-04-19 15:11:48 +08:00
aixianling
459485c83b 居民档案调整完成 2022-04-19 12:14:59 +08:00
aixianling
5a14c5373b 补充未加载字典 2022-04-19 10:00:51 +08:00
aixianling
0c25c114d0 解绑字典工具类和vuex的强绑定,字典类可单独使用 2022-04-19 09:48:30 +08:00
aixianling
23edcd62d9 优化动态选择项 2022-04-18 19:16:37 +08:00
aixianling
7db829566c 调整调用接口 2022-04-18 19:04:47 +08:00
aixianling
7feea057bc 四邻联动记录完成 2022-04-18 19:02:37 +08:00
aixianling
52da9be2fc BUG 29162 2022-04-18 18:22:07 +08:00
aixianling
fb33d84784 BUG 29146 2022-04-18 18:18:46 +08:00
aixianling
506e4d5dac 区分下应用 2022-04-18 17:57:22 +08:00
aixianling
b16b5d5e6c 接口对接完毕 2022-04-18 17:52:54 +08:00
aixianling
96c2a69872 Merge remote-tracking branch 'origin/dev' into dev 2022-04-18 17:46:16 +08:00
aixianling
9bcbb2c851 党员积分明细完成 2022-04-18 17:46:02 +08:00
yanran200730
d0b56ba0d1 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-04-18 17:36:44 +08:00
yanran200730
a72cbd4811 视频协同 2022-04-18 17:36:38 +08:00
aixianling
0c69a922a5 党员积分 列表完成 2022-04-18 16:36:09 +08:00
aixianling
285fc7aaa9 Merge remote-tracking branch 'origin/dev' into dev 2022-04-18 16:21:57 +08:00
aixianling
d04eb1a4a7 党员积分 界面完成 2022-04-18 16:21:15 +08:00
刘仕伟
00a1adaf82 Update AiSlwVideo.vue 2022-04-18 07:41:05 +00:00
aixianling
ec93e7cc0d 增加党员简介完成 2022-04-18 15:29:42 +08:00
aixianling
f4f23b4814 四邻设置开发完成 2022-04-18 15:20:35 +08:00
刘仕伟
8002d58294 Update AiSlwVideo.vue 2022-04-18 03:08:02 +00:00
aixianling
222789a438 BUG 29118 2022-04-18 09:54:31 +08:00
aixianling
6ede9e8871 BUG 29142 2022-04-18 09:53:11 +08:00
aixianling
178d254bf8 BUG 29156 2022-04-18 09:50:11 +08:00
aixianling
8f01e046e0 BUG 29148 2022-04-18 09:30:36 +08:00
aixianling
99a9433c92 优秀党员追加 2022-04-15 16:43:18 +08:00
aixianling
9ff75ba4b5 Merge remote-tracking branch 'origin/dev' into dev 2022-04-15 16:06:41 +08:00
aixianling
e90f40671d 四邻联动页面完成 2022-04-15 16:06:29 +08:00
yanran200730
6ee61ae682 视频回放 2022-04-15 16:01:23 +08:00
yanran200730
669b56c5f9 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-04-15 14:41:18 +08:00
yanran200730
f42f6a165d 视频回放 2022-04-15 14:41:12 +08:00
aixianling
586f3746ad 三涧溪村项目配置 2022-04-15 14:06:23 +08:00
aixianling
f134ee8f26 Merge remote-tracking branch 'origin/dev' into dev 2022-04-15 14:04:46 +08:00
aixianling
e036ae13aa 三涧溪村项目配置 2022-04-15 14:04:27 +08:00
yanran200730
3d27008b40 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-04-15 14:04:13 +08:00
yanran200730
2aa6092938 视频回放 2022-04-15 14:04:08 +08:00
shijingjing
3e036b221f 29123 2022-04-15 11:35:41 +08:00
shijingjing
2d2865213e 29122 2022-04-15 11:26:39 +08:00
aixianling
9497074b72 BUG 29125 2022-04-15 11:26:22 +08:00
aixianling
19a18e34a5 BUG 29121 2022-04-15 11:22:27 +08:00
aixianling
e72ffbf7d0 BUG 29119 2022-04-15 11:19:14 +08:00
aixianling
a0c547c510 BUG 29117 2022-04-15 11:16:20 +08:00
aixianling
761c93541b BUG 29115 2022-04-15 11:13:45 +08:00
aixianling
9d73267f8b 2.把贷款统计、融资统计中的交易记录,单独做个菜单(只要结果数据/放款和驳回) 2022-04-14 17:53:11 +08:00
aixianling
a6a38ef099 BUG 29105 2022-04-14 17:23:34 +08:00
aixianling
c997a099dc 2.申办业务时查看个人的报告信息(信息待定) 2022-04-14 17:21:18 +08:00
aixianling
46044e21fc 配置表单时所属部门字典改为非必填,选项中增加金融机构(富农贷是农行产品) 2022-04-14 14:58:50 +08:00
aixianling
04648a7ac6 BUG 29059 2022-04-14 14:53:37 +08:00
aixianling
babbb28d07 配置表单时所属部门字典改为非必填,选项中增加金融机构(富农贷是农行产品) 2022-04-14 14:47:42 +08:00
aixianling
64a98b4712 BUG 29102 2022-04-14 14:39:29 +08:00
aixianling
6291f35dca BUG 29108 2022-04-14 14:32:40 +08:00
aixianling
fcf81210fe BUG 29058 2022-04-14 14:29:24 +08:00
aixianling
89271cd829 配置表单时所属部门字典改为非必填,选项中增加金融机构(富农贷是农行产品) 2022-04-14 14:23:14 +08:00
aixianling
1f8810ad22 BUG 29073 2022-04-14 14:01:03 +08:00
aixianling
034961e472 BUG 29101 2022-04-14 13:57:02 +08:00
aixianling
831175383f BUG 29097 2022-04-14 11:41:47 +08:00
aixianling
17788948fd BUG 29104 2022-04-14 11:28:31 +08:00
aixianling
05a6149cd1 BUG 29103 2022-04-14 11:01:37 +08:00
aixianling
56c72397c1 BUG 29095 2022-04-14 09:41:50 +08:00
aixianling
48df62ac7b BUG 29093 2022-04-14 09:29:24 +08:00
aixianling
1da5d7aab5 Merge remote-tracking branch 'origin/dev' into dev 2022-04-14 09:29:12 +08:00
aixianling
143a3f1996 BUG 29093 2022-04-14 09:28:54 +08:00
yanran200730
9857d683cf Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-04-13 18:58:00 +08:00
yanran200730
a184ca666e 需求变更 2022-04-13 18:57:54 +08:00
aixianling
61b86011cc 信用积分多店铺改造 2022-04-13 18:31:07 +08:00
aixianling
fac5ed82bb 信用积分多店铺改造 2022-04-13 18:27:25 +08:00
aixianling
5e5d0b4308 新增机构时,需要选择LOGO范围 2022-04-13 18:09:37 +08:00
aixianling
67dab486e3 新增机构时,需要选择LOGO范围 2022-04-13 17:34:57 +08:00
aixianling
7ed3cc17a1 详情页咨询改为企业微信二维码 2022-04-13 17:30:55 +08:00
aixianling
d94bdc362d 详情页咨询改为企业微信二维码 2022-04-13 17:29:42 +08:00
aixianling
67ba57b994 详情页咨询改为企业微信二维码 2022-04-13 17:27:09 +08:00
aixianling
e326cf1f55 Merge remote-tracking branch 'origin/dev' into dev 2022-04-13 17:14:31 +08:00
aixianling
9410f2586a 产品已发布状态下也支持编辑,编辑提交后需再次审核 2022-04-13 17:13:32 +08:00
liuye
8a06fa7b2c 29083 2022-04-13 14:21:31 +08:00
shijingjing
d40905e60b 29069 2022-04-13 14:00:28 +08:00
shijingjing
5a850b066a 29038 2022-04-13 09:58:26 +08:00
shijingjing
dff04e7289 bug 2022-04-13 09:15:06 +08:00
shijingjing
a053a01777 bug 2022-04-13 09:13:30 +08:00
aixianling
c90615b313 Merge remote-tracking branch 'origin/dev' into dev 2022-04-13 09:01:45 +08:00
aixianling
8134ef2516 BUG 29070 2022-04-13 09:01:23 +08:00
shijingjing
b3b85f65fd bug 2022-04-12 18:12:45 +08:00
shijingjing
c71a44d7f1 29038 2022-04-12 17:53:01 +08:00
shijingjing
d671d5fc8b 29066 28996 2022-04-12 17:48:12 +08:00
aixianling
a6dfe82012 BUG 29032 2022-04-12 17:18:05 +08:00
aixianling
202ff931bd Merge remote-tracking branch 'origin/dev' into dev 2022-04-12 17:17:30 +08:00
aixianling
a8e6cb1710 BUG 29023 2022-04-12 17:17:10 +08:00
shijingjing
4e8670dcfa 29063 2022-04-12 17:16:55 +08:00
aixianling
8c3735fd6e Merge remote-tracking branch 'origin/dev' into dev 2022-04-12 16:01:38 +08:00
aixianling
f4f7963fff 山东移动监控应用=>标准版智能安防 2022-04-12 16:01:21 +08:00
liuye
6e5de10982 29026 2022-04-12 15:57:36 +08:00
liuye
427f890aa1 屏蔽放贷数量 2022-04-12 13:39:27 +08:00
aixianling
3607bc86e9 BUG 29059 2022-04-12 11:45:51 +08:00
aixianling
d7dc92ff4a BUG 29015 2022-04-12 11:44:26 +08:00
liuye
19453c366a 29060 2022-04-12 11:33:55 +08:00
aixianling
8779b59856 BUG 29051 2022-04-12 10:45:20 +08:00
aixianling
00afdc8f0a Merge remote-tracking branch 'origin/dev' into dev 2022-04-12 10:29:25 +08:00
aixianling
f84c90dbf7 BUG 29053 2022-04-12 10:28:22 +08:00
yanran200730
f06cc9b112 大屏复制功能 2022-04-12 10:13:24 +08:00
liuye
eb1f4a4a4e bug 2022-04-11 17:59:48 +08:00
liuye
72485b4ab9 bug 2022-04-11 16:15:30 +08:00
liuye
9f3b8d7416 29046 2022-04-11 16:11:47 +08:00
aixianling
a6f4458327 BUG 29045 2022-04-11 15:22:06 +08:00
aixianling
492a64ffb4 BUG 29043 2022-04-11 14:12:02 +08:00
aixianling
58bf9d0050 Merge remote-tracking branch 'origin/dev' into dev 2022-04-11 14:04:02 +08:00
aixianling
3dbf097447 BUG 28978 2022-04-11 14:03:42 +08:00
shijingjing
def72781e7 29042 2022-04-11 13:38:35 +08:00
liuye
ae749f9b25 29041 2022-04-11 11:53:16 +08:00
liuye
4a7a8b204f 查询机构列表 2022-04-11 11:30:50 +08:00
liuye
b29694352d 初始化数据 2022-04-11 11:28:20 +08:00
aixianling
15bdd4951d BUG 28859 2022-04-11 11:18:01 +08:00
aixianling
7b949beaac 统计地区筛选条件 2022-04-11 11:12:34 +08:00
aixianling
cf84815c54 Merge remote-tracking branch 'origin/dev' into dev 2022-04-11 11:04:02 +08:00
aixianling
698fd5f5f2 BUG 29030 2022-04-11 11:03:46 +08:00
shijingjing
f0a3cf91ad 28986 2022-04-11 10:59:15 +08:00
aixianling
f106c220e3 Merge remote-tracking branch 'origin/dev' into dev
# Conflicts:
#	project/xiushan/apps/financing/AppFinancingNeeds/AppFinancingNeeds.vue
2022-04-11 10:58:42 +08:00
aixianling
8502f94796 BUG 29018 2022-04-11 10:57:21 +08:00
liuye
61e30c8dbe 融资统计 2022-04-11 10:54:05 +08:00
liuye
4a138c52a6 组织id 2022-04-11 10:42:42 +08:00
liuye
2ef7f2a91d 29022 2022-04-11 10:26:58 +08:00
aixianling
4d16c8c2cc Merge remote-tracking branch 'origin/dev' into dev 2022-04-11 10:14:31 +08:00
aixianling
63649d631f BUG 29015 2022-04-11 10:13:48 +08:00
liuye
87c0493629 bug 2022-04-11 10:05:34 +08:00
liuye
09d107514b 金融机构查询 2022-04-11 09:50:44 +08:00
liuye
8cf11b7167 29016 2022-04-11 09:41:29 +08:00
shijingjing
0c7c690af1 29010 2022-04-11 08:59:32 +08:00
aixianling
499dcfb026 BUG 28997 2022-04-08 21:21:18 +08:00
aixianling
cf2e255253 Merge remote-tracking branch 'origin/dev' into dev 2022-04-08 21:19:07 +08:00
aixianling
446facac7e 下次坚决不听你们说迁移积分应用了 2022-04-08 21:18:52 +08:00
shijingjing
bf8bd66b85 29001 2022-04-08 21:10:11 +08:00
liuye
db814b24de 融资统计 2022-04-08 21:09:38 +08:00
aixianling
5c309c0321 调整企业文字logo 2022-04-08 21:06:25 +08:00
shijingjing
0e2c0cb3b5 宽度 2022-04-08 20:51:37 +08:00
shijingjing
5b1fc1317d 表格 2022-04-08 20:49:00 +08:00
aixianling
dc1d009dad 抽取企业详情组件 2022-04-08 20:47:13 +08:00
aixianling
dcfa2eeada 抽取企业详情组件 2022-04-08 20:33:58 +08:00
shijingjing
4b5d7459f4 信用代码 2022-04-08 20:31:06 +08:00
shijingjing
5da70389cc 公共事业欠费 2022-04-08 20:28:35 +08:00
aixianling
c4b6b382ad BUG 28974 2022-04-08 19:16:48 +08:00
aixianling
f8b0290497 BUG 28875 2022-04-08 18:55:33 +08:00
aixianling
c4d579a301 Merge remote-tracking branch 'origin/dev' into dev 2022-04-08 18:37:31 +08:00
aixianling
f05c9703c5 BUG 28972 2022-04-08 18:37:13 +08:00
shijingjing
966a94483a 28994 2022-04-08 18:31:50 +08:00
aixianling
8f1ef4dc7e BUG 28975 2022-04-08 18:30:35 +08:00
aixianling
67d29e2a89 Merge remote-tracking branch 'origin/dev' into dev 2022-04-08 18:15:50 +08:00
aixianling
d9f873a399 信贷统计完成 2022-04-08 18:15:36 +08:00
shijingjing
55afb5b471 28991 2022-04-08 18:07:36 +08:00
shijingjing
f8cfb45fa2 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-04-08 18:01:17 +08:00
shijingjing
4875195a90 28991 2022-04-08 18:00:10 +08:00
aixianling
3d6b1c9b7c Merge remote-tracking branch 'origin/dev' into dev 2022-04-08 17:59:00 +08:00
aixianling
999e1c895e 统计基本完成 2022-04-08 17:58:47 +08:00
shijingjing
ecb6a02a46 28948 2022-04-08 17:43:02 +08:00
shijingjing
a0c42b0053 28985 2022-04-08 17:26:50 +08:00
yanran200730
c429617241 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-04-08 17:25:16 +08:00
yanran200730
38de1f36f2 bug 2022-04-08 17:25:08 +08:00
shijingjing
c46a1c7e26 28983 28984 2022-04-08 17:20:18 +08:00
aixianling
7e63f5d911 Merge remote-tracking branch 'origin/dev' into dev 2022-04-08 17:08:06 +08:00
aixianling
67166d2b25 秀山接入大屏设计 2022-04-08 17:07:49 +08:00
liuye
fa8967084c ct 2022-04-08 17:07:17 +08:00
liuye
8ef80e4f0d 字典 2022-04-08 17:06:50 +08:00
shijingjing
645034f0af 28946 2022-04-08 17:04:23 +08:00
shijingjing
7bedfeca11 28981 2022-04-08 16:48:09 +08:00
shijingjing
fd2bbcb344 28980 2022-04-08 16:45:03 +08:00
shijingjing
8a31e47e7b bug 2022-04-08 15:58:38 +08:00
shijingjing
f557e5222c 股权总数 股金总额 2022-04-08 15:54:26 +08:00
shijingjing
5b2b5eb799 bug 2022-04-08 15:30:39 +08:00
shijingjing
c1aa8bfa1d 28965 2022-04-08 15:08:22 +08:00
shijingjing
a5859f0077 28962 2022-04-08 15:05:10 +08:00
shijingjing
b386c5d952 28946 2022-04-08 15:02:39 +08:00
shijingjing
7c0874b7b3 滚动条 2022-04-08 14:54:29 +08:00
shijingjing
821236713c 右侧滚动条 2022-04-08 14:49:41 +08:00
shijingjing
d0ed71cf8f 28948 2022-04-08 14:36:51 +08:00
shijingjing
a02e127a42 28950 2022-04-08 14:19:09 +08:00
liuye
43f1e688e1 bug 2022-04-08 14:17:34 +08:00
shijingjing
ec853d63f1 导入 2022-04-08 14:13:05 +08:00
shijingjing
43b3e253b6 集体股权 2022-04-08 14:12:06 +08:00
aixianling
abed0e85dd Merge remote-tracking branch 'origin/dev' into dev 2022-04-08 11:54:17 +08:00
aixianling
3398d39e11 企业微信配置调优 2022-04-08 11:53:59 +08:00
liuye
510f9f14b1 bug 2022-04-08 11:49:59 +08:00
shijingjing
3c8104554a 集体经济股权 2022-04-08 11:30:42 +08:00
aixianling
ce55f3db03 积分规则需求变更 2022-04-08 10:34:23 +08:00
aixianling
5da77df064 贷款审批调整界面 2022-04-08 10:10:59 +08:00
aixianling
f3c3b00367 贷款审批调整界面 2022-04-08 10:10:00 +08:00
aixianling
32398ece08 贷款审批调整界面 2022-04-08 10:08:23 +08:00
shijingjing
bf3eda9a10 土地流转 宅基地管理 模糊查询 2022-04-08 09:08:44 +08:00
liuye
4de7b17f57 地区 2022-04-07 21:12:41 +08:00
shijingjing
8165380828 28935 2022-04-07 20:41:16 +08:00
liuye
11465a2190 28938 2022-04-07 20:11:01 +08:00
liuye
dc27ac30e9 bug· 2022-04-07 19:47:59 +08:00
shijingjing
478b4025a7 宅基地增删改查 2022-04-07 18:46:45 +08:00
liuye
037da98f84 需求 2022-04-07 18:44:33 +08:00
liuye
5dadee4a3a ct 2022-04-07 18:36:03 +08:00
liuye
aea786945f bug 2022-04-07 18:35:43 +08:00
shijingjing
fb93f70776 土地流转 增删改查 2022-04-07 18:03:54 +08:00
shijingjing
d5acaec0ba 宅基地验证 2022-04-07 15:55:15 +08:00
shijingjing
cbd022aed3 宅基地新增 2022-04-07 15:35:23 +08:00
shijingjing
80617aada2 土地流转 新增 2022-04-07 15:11:49 +08:00
aixianling
bd62cf7b8b Merge remote-tracking branch 'origin/dev' into dev 2022-04-07 09:44:10 +08:00
aixianling
3241623df2 推送随手拍样式 2022-04-07 09:43:52 +08:00
yanran200730
3b89905b0b Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-04-06 19:22:14 +08:00
yanran200730
b929880b7a bug 2022-04-06 19:22:09 +08:00
shijingjing
f5ea57d30c 28867 2022-04-06 17:54:35 +08:00
shijingjing
42a386c38a 28868 2022-04-06 17:53:48 +08:00
shijingjing
faf2742b68 28839 2022-04-06 17:50:01 +08:00
shijingjing
c227b0ec34 28857 2022-04-06 16:35:05 +08:00
shijingjing
0a767cef46 type 2022-04-06 16:19:43 +08:00
shijingjing
e37efe0ce0 28849 2022-04-06 16:06:19 +08:00
aixianling
b5b797bab5 Merge remote-tracking branch 'origin/dev' into dev 2022-04-06 15:56:35 +08:00
aixianling
dbdb0601f3 BUG 积分维护 2022-04-06 15:56:14 +08:00
shijingjing
fbd6a41acf 失信新增 2022-04-06 15:48:17 +08:00
shijingjing
21fe0d1b25 信用代码18位 2022-04-06 15:35:27 +08:00
shijingjing
2bafd745b7 28830 2022-04-06 15:30:49 +08:00
shijingjing
8eaef01fb7 28828 2022-04-06 15:29:10 +08:00
shijingjing
58bbec13fe 28838 2022-04-06 15:19:44 +08:00
shijingjing
6bd1423e57 bug 28827 2022-04-06 13:53:39 +08:00
yanran200730
2e92a69c4d Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-04-06 11:59:27 +08:00
yanran200730
e67d711db3 bug 2022-04-06 11:59:21 +08:00
shijingjing
9900189039 土地流转 宅基地 2022-04-06 11:38:35 +08:00
shijingjing
0a30b0b091 样式调整 2022-04-06 10:49:34 +08:00
shijingjing
a480902ce6 失信导入导出 2022-04-06 10:21:41 +08:00
yanran200730
7c413fa9b2 2 2022-04-06 10:19:55 +08:00
shijingjing
35e1dd482e 纳税 2022-04-02 17:53:17 +08:00
shijingjing
4da06c2b26 行政处罚导入导出 2022-04-02 16:32:08 +08:00
shijingjing
9f0f41554b 土地管理列表 2022-04-02 15:16:51 +08:00
shijingjing
546e3dd993 背景色 2022-04-02 15:07:10 +08:00
shijingjing
4d1368ea62 导入 导出 2022-04-02 14:37:44 +08:00
shijingjing
f40382b6d1 纳税等级 2022-04-02 14:13:26 +08:00
shijingjing
b3ec72ac6c 详情 2022-04-02 13:59:27 +08:00
shijingjing
a9aa0c32e8 详情 2022-04-02 11:25:44 +08:00
liuye
4780045b21 企微配置 2022-04-02 10:33:56 +08:00
shijingjing
6294795ab5 纳税 2022-04-01 18:21:35 +08:00
aixianling
8911edde23 Merge remote-tracking branch 'origin/dev' into dev 2022-04-01 17:28:28 +08:00
aixianling
b6b3266a3e 优化打包流程 2022-04-01 17:28:15 +08:00
shijingjing
2d75d69b1e 新增失信人员 2022-04-01 17:21:12 +08:00
aixianling
3dad000a72 Merge remote-tracking branch 'origin/dev' into dev 2022-04-01 16:10:07 +08:00
aixianling
5e5fc139de 优化打包流程 2022-04-01 16:09:49 +08:00
shijingjing
6db56c17a7 行政许可增删查 2022-04-01 15:48:09 +08:00
shijingjing
f831af9f88 详情页 2022-04-01 14:04:05 +08:00
shijingjing
c181c821c1 行政许可 2022-04-01 13:37:56 +08:00
shijingjing
8962d5c1ad 纳税信息 2022-04-01 11:48:01 +08:00
shijingjing
71ca1ebd4b 行政处罚 2022-04-01 11:26:35 +08:00
shijingjing
1bfcccaaec 失信被执行人 2022-04-01 11:03:06 +08:00
shijingjing
1ed3d03e5b 行政许可信息 2022-04-01 09:30:35 +08:00
aixianling
b14c36ce16 优化打包流程 2022-03-31 18:25:28 +08:00
aixianling
fe10a5870c 优化打包流程 2022-03-31 18:23:20 +08:00
yanran200730
3c8988afe2 大屏设计 2022-03-31 17:04:54 +08:00
shijingjing
3e7057e189 股权结构 2022-03-31 16:50:09 +08:00
yanran200730
b10bc5209c Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-31 16:03:52 +08:00
yanran200730
49a2d392ad bug 2022-03-31 16:03:46 +08:00
shijingjing
8f4c2a21b9 股权结构 2022-03-31 15:32:22 +08:00
aixianling
ab3bece353 增加筛选条件和下载部署包方法 2022-03-31 15:28:16 +08:00
aixianling
e84081c42c Merge remote-tracking branch 'origin/dev' into dev 2022-03-31 15:08:32 +08:00
aixianling
d50b295bc7 BUG 28743 2022-03-31 15:08:05 +08:00
shijingjing
725b1eea0c 经营主体 企业类型筛选 认证状态筛选 2022-03-31 14:28:50 +08:00
aixianling
2785af1829 监测对象需求变更完成 2022-03-31 11:05:02 +08:00
aixianling
723fbdce2a Merge remote-tracking branch 'origin/dev' into dev 2022-03-31 09:57:36 +08:00
aixianling
31a3290a7b BUG 28707 2022-03-31 09:57:19 +08:00
yanran200730
27ab36b3ce Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-31 09:10:07 +08:00
yanran200730
94f5713f89 更新 2022-03-31 09:09:38 +08:00
aixianling
4675ebf883 加入git分支 2022-03-31 09:08:03 +08:00
aixianling
5478611712 新增部署发布模块 2022-03-30 19:20:44 +08:00
aixianling
395bc26bb1 BUG 28495 2022-03-30 17:17:01 +08:00
aixianling
df0ac93042 bug 28688 2022-03-30 16:22:11 +08:00
yanran200730
1a616bc084 bug 2022-03-30 10:51:50 +08:00
yanran200730
e6f0c7f004 bug 2022-03-29 18:15:34 +08:00
yanran200730
10f1ffbe4e bug 2022-03-29 18:13:03 +08:00
yanran200730
ae5f41df8c 走访进度 2022-03-29 18:03:29 +08:00
yanran200730
026cabbc16 28652 2022-03-29 17:57:55 +08:00
yanran200730
e960e95e06 28646 2022-03-29 17:49:20 +08:00
yanran200730
d80c3c6092 28572 2022-03-29 17:17:24 +08:00
yanran200730
28d917645d 28603 2022-03-29 17:09:40 +08:00
yanran200730
f4c15159d1 28637 2022-03-29 16:43:09 +08:00
yanran200730
826fb5f4dd 28638 2022-03-29 16:34:27 +08:00
yanran200730
6c338a5dd4 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-29 16:31:17 +08:00
yanran200730
6aa4d5a6d8 28647 2022-03-29 16:31:04 +08:00
aixianling
abd55bd413 BUG 28634 2022-03-29 15:59:47 +08:00
aixianling
a1d439104e BUG 28633 2022-03-29 15:54:50 +08:00
aixianling
087165af50 Merge remote-tracking branch 'origin/dev' into dev 2022-03-29 15:53:53 +08:00
aixianling
d0daec7694 BUG 28632 2022-03-29 15:53:35 +08:00
yanran200730
de2eff8ce6 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-29 14:18:56 +08:00
yanran200730
195a1d460d bug 2022-03-29 14:18:51 +08:00
aixianling
a7f9c41667 Merge remote-tracking branch 'origin/dev' into dev 2022-03-29 13:56:43 +08:00
aixianling
eed93b27b4 BUG 28631 2022-03-29 13:56:21 +08:00
yanran200730
92853d3f5e Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-29 13:41:42 +08:00
yanran200730
47c52e3ef7 大屏数据源配置 2022-03-29 13:41:35 +08:00
aixianling
4c4240e3c8 BUG 28626 2022-03-29 11:49:43 +08:00
aixianling
2d35cdc95a BUG 28622 2022-03-29 10:48:30 +08:00
aixianling
30f28a4941 BUG 28623 2022-03-29 10:47:42 +08:00
aixianling
b1d93bb65f BUG 28614 2022-03-29 09:55:50 +08:00
yanran200730
8f0f4e7106 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-29 09:40:02 +08:00
yanran200730
45a1f53627 bug 2022-03-29 09:39:56 +08:00
aixianling
f3e003dfd6 BUG 28608 2022-03-29 09:29:14 +08:00
aixianling
ace4a8314b BUG 28575 2022-03-29 09:24:05 +08:00
aixianling
780a912b57 Merge remote-tracking branch 'origin/dev' into dev 2022-03-29 09:21:17 +08:00
aixianling
ad0040260e BUG 28600 2022-03-29 09:20:56 +08:00
yanran200730
34631c0668 28588 2022-03-29 09:17:02 +08:00
aixianling
d4ee80b802 Merge remote-tracking branch 'origin/dev' into dev 2022-03-28 18:12:23 +08:00
aixianling
efd0842832 BUG 28607 2022-03-28 18:12:10 +08:00
yanran200730
78c9c2a40c 大屏 数据源管理 2022-03-28 18:01:13 +08:00
yanran200730
746927e826 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-28 17:47:59 +08:00
yanran200730
1089e784db 大屏 2022-03-28 17:47:53 +08:00
aixianling
bfd7c20187 BUG 28599 2022-03-28 17:36:48 +08:00
yanran200730
c955e7016c Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-28 17:29:01 +08:00
yanran200730
0ead6bdffb 视频监控 2022-03-28 17:28:55 +08:00
aixianling
352c573251 BUG 28596 2022-03-28 17:26:45 +08:00
aixianling
4b20cd2dee BUG 28594 2022-03-28 17:22:51 +08:00
aixianling
d7b59ba7e1 BUG 28591 2022-03-28 17:21:54 +08:00
aixianling
d79cb21929 BUG 28593 2022-03-28 17:21:10 +08:00
aixianling
4db6925d38 BUG 28582 2022-03-28 16:59:04 +08:00
aixianling
30047204e1 BUG 28581 2022-03-28 16:57:25 +08:00
aixianling
76154527ef Merge remote-tracking branch 'origin/dev' into dev 2022-03-28 16:49:02 +08:00
aixianling
8879a71b51 BUG 28580 2022-03-28 16:48:41 +08:00
yanran200730
a3dac13b53 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-28 16:41:40 +08:00
yanran200730
5c8e207a57 28579 2022-03-28 16:41:33 +08:00
aixianling
8aae62c071 Merge remote-tracking branch 'origin/dev' into dev 2022-03-28 16:34:02 +08:00
aixianling
84f60ce32f BUG 28576 2022-03-28 16:33:45 +08:00
yanran200730
64c1ae7656 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-28 16:30:52 +08:00
yanran200730
ca3fbd9a89 28570 2022-03-28 16:30:42 +08:00
aixianling
a54d30684d BUG 28568 2022-03-28 16:27:15 +08:00
aixianling
cd21fd3e73 自动路由规则过滤优化 2022-03-28 15:27:07 +08:00
aixianling
2d4edcfc21 Merge remote-tracking branch 'origin/dev' into dev 2022-03-28 14:56:39 +08:00
aixianling
2611a72508 BUG 28556 28553 2022-03-28 14:56:24 +08:00
yanran200730
c4b597c409 统计 2022-03-28 14:23:56 +08:00
yanran200730
92dfebc1d4 28557 2022-03-28 13:54:24 +08:00
yanran200730
0eb5036b11 28536 2022-03-28 10:39:08 +08:00
yanran200730
52c854661a 28550 2022-03-28 10:29:55 +08:00
yanran200730
f160760526 28552 2022-03-28 10:02:31 +08:00
yanran200730
68d5b27194 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-28 09:54:32 +08:00
yanran200730
e37950d54b 28552 2022-03-28 09:54:25 +08:00
aixianling
8f0670265b Merge remote-tracking branch 'origin/dev' into dev 2022-03-26 17:42:37 +08:00
aixianling
a0e2cfc6cf 检测对象完成 2022-03-26 17:41:57 +08:00
aixianling
b0b03d00d4 检测对象完成 2022-03-26 17:41:38 +08:00
yanran200730
66826caf94 统计 2022-03-26 16:59:16 +08:00
yanran200730
9281f18ecb 统计 2022-03-26 16:56:26 +08:00
yanran200730
82778173bb 监测对象 2022-03-26 15:47:24 +08:00
yanran200730
8fe222ba4b 走访情况 2022-03-26 15:34:58 +08:00
yanran200730
88775a9bdb 风险 2022-03-26 14:35:52 +08:00
yanran200730
c2b9333e29 工作考核 2022-03-25 18:41:21 +08:00
yanran200730
29fdd4a222 审批负责人 2022-03-25 18:29:20 +08:00
yanran200730
8650c0dd09 审批负责人 2022-03-25 18:27:05 +08:00
yanran200730
c5c1645054 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-25 18:07:07 +08:00
yanran200730
4ce4dd0a3c bug 2022-03-25 18:06:59 +08:00
aixianling
3503c2314d Merge remote-tracking branch 'origin/dev' into dev 2022-03-25 17:43:42 +08:00
aixianling
9e8e1788fb 监测对象字段对完了 2022-03-25 17:43:22 +08:00
yanran200730
d484770b2f 预警 2022-03-25 17:39:40 +08:00
yanran200730
e6cb2bf706 网格权限 2022-03-25 16:32:22 +08:00
yanran200730
110c909c50 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-25 16:27:29 +08:00
yanran200730
ee58c2b938 监控视频 2022-03-25 16:27:23 +08:00
aixianling
5160f82b65 Merge remote-tracking branch 'origin/dev' into dev 2022-03-25 16:19:10 +08:00
aixianling
9f21513075 取消引入 2022-03-25 16:17:58 +08:00
yanran200730
8505c995ed Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-25 16:16:20 +08:00
yanran200730
5712a7e111 网格员权限 2022-03-25 16:16:14 +08:00
aixianling
374a6a1ddf 尝试一下大屏设计的问题 2022-03-25 16:06:05 +08:00
aixianling
208e6de3e4 尝试一下大屏设计的问题 2022-03-25 16:04:19 +08:00
aixianling
87231fdb1f dvui更换设置 2022-03-25 14:36:46 +08:00
aixianling
760db2bb82 修复异常 2022-03-25 14:18:40 +08:00
aixianling
b1ffe2afde Merge remote-tracking branch 'origin/dev' into dev 2022-03-25 14:17:17 +08:00
aixianling
7640fe085b 修复异常 2022-03-25 14:17:00 +08:00
yanran200730
dd901c005d 网格员 2022-03-25 11:41:15 +08:00
yanran200730
7808526ee7 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-25 11:30:25 +08:00
yanran200730
c94fe15ced 视频监控 2022-03-25 11:29:49 +08:00
aixianling
ce5cb61eb4 Merge remote-tracking branch 'origin/dev' into dev 2022-03-25 11:13:13 +08:00
aixianling
cc87206dbc 迁移大屏UI库和应用 2022-03-25 11:09:26 +08:00
yanran200730
708342d09b Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-25 10:33:26 +08:00
yanran200730
464c5d5663 居民档案导出 2022-03-25 10:33:19 +08:00
aixianling
60bd0b1dff Merge remote-tracking branch 'origin/dev' into dev 2022-03-24 18:23:15 +08:00
aixianling
40efa96ba1 监测对象界面完成 2022-03-24 18:22:55 +08:00
yanran200730
fe3a637255 监控视频 2022-03-24 17:52:58 +08:00
yanran200730
a8db0542d7 视频监控优化 2022-03-24 17:33:39 +08:00
yanran200730
c2d9aa6d06 视频监控 2022-03-24 16:43:02 +08:00
yanran200730
476bc5c74d 接口地址 2022-03-24 16:30:03 +08:00
yanran200730
1ae5558c65 监控视频 2022-03-24 16:29:41 +08:00
yanran200730
8abfcb0e55 28509 2022-03-24 15:18:03 +08:00
yanran200730
06240d2b09 bug 2022-03-24 15:07:54 +08:00
yanran200730
d9701c366d 风险预警 2022-03-24 11:03:26 +08:00
yanran200730
c33eb0e6f2 bug 2022-03-24 09:36:19 +08:00
yanran200730
5f116d6984 接口地址 2022-03-24 09:13:48 +08:00
liuye
d84400e89b ct 2022-03-24 08:44:14 +08:00
liuye
0bbb816f3f 路径 2022-03-24 08:43:07 +08:00
yanran200730
3400df5fd4 bug 2022-03-23 17:44:57 +08:00
yanran200730
9e44eddddf 监控视频 2022-03-23 17:28:30 +08:00
yanran200730
4dad5e1ab2 屏蔽网格员申报 2022-03-23 16:57:02 +08:00
yanran200730
627b4e15cb 28504 2022-03-23 16:51:52 +08:00
yanran200730
ed9ac12226 28421 2022-03-23 16:47:11 +08:00
yanran200730
195dca851c 28412 2022-03-23 16:41:27 +08:00
yanran200730
8589cbe29a 28497 2022-03-23 16:37:49 +08:00
yanran200730
ea63a41b47 28508 2022-03-23 16:21:41 +08:00
yanran200730
76986d7803 视频监控 2022-03-23 14:19:15 +08:00
yanran200730
cbdc4a8b65 视频监控 2022-03-23 13:52:23 +08:00
aixianling
3ca0ba0f11 内容发布详情异常修复 2022-03-23 11:29:39 +08:00
aixianling
3d805694bc 针对上架做产品库登录调整 2022-03-23 11:23:32 +08:00
aixianling
26d3d1e7a7 BUG 28475 2022-03-23 11:11:08 +08:00
aixianling
6ce2044471 BUG 28490 2022-03-23 10:41:53 +08:00
aixianling
6f99497129 BUG 28494 2022-03-23 10:38:28 +08:00
aixianling
ba92b068d8 BUG 28491 2022-03-23 10:26:54 +08:00
aixianling
18a7fead0b BUG 28489 2022-03-23 10:19:19 +08:00
aixianling
111e10b434 BUG 28439 2022-03-23 10:18:00 +08:00
aixianling
934c2b0a78 BUG 28484 2022-03-23 09:58:27 +08:00
aixianling
c50141a411 增加角色权限 2022-03-23 09:47:04 +08:00
aixianling
5c339ccdfa BUG 28493 2022-03-23 09:42:45 +08:00
aixianling
54f71407ad 可查看详情 2022-03-22 22:52:01 +08:00
aixianling
3fe0c5ab05 BUG 28486 2022-03-22 22:38:12 +08:00
aixianling
b86cb09212 BUG 28483 2022-03-22 22:36:52 +08:00
aixianling
a77aff56aa BUG 28484 2022-03-22 22:35:46 +08:00
aixianling
fff005a6a1 BUG 28482 2022-03-22 22:32:04 +08:00
aixianling
e686914023 BUG 28469 2022-03-22 22:11:33 +08:00
aixianling
97ab7c1204 BUG 28481 2022-03-22 22:09:34 +08:00
aixianling
12873f180c BUG 28470 2022-03-22 22:05:45 +08:00
aixianling
941641f917 BUG 28461 2022-03-22 22:02:36 +08:00
aixianling
797342111f BUG 28455 2022-03-22 22:01:16 +08:00
aixianling
199a75971f BUG 28453 2022-03-22 22:00:28 +08:00
aixianling
3ea9d7e23e BUG 28450 2022-03-22 21:41:04 +08:00
aixianling
f478cb6606 BUG 28447 2022-03-22 21:39:58 +08:00
aixianling
99be5be77d BUG 28477 2022-03-22 21:38:12 +08:00
aixianling
0b0bd5729c BUG 28475 2022-03-22 21:35:50 +08:00
aixianling
9e10f2b77c BUG 28456 2022-03-22 21:11:18 +08:00
aixianling
18d2614b13 BUG 28456 2022-03-22 21:01:16 +08:00
aixianling
26177d03d4 BUG 28443 2022-03-22 20:57:09 +08:00
aixianling
af7e1c72a4 清理地区组件 2022-03-22 20:33:07 +08:00
aixianling
bd65a54b2c BUG 28444 2022-03-22 20:26:57 +08:00
aixianling
d4c11d65e6 调整金融机构 2022-03-22 19:44:04 +08:00
aixianling
6bbc40ef41 积分继续调整 2022-03-22 19:39:23 +08:00
aixianling
26f96dd6b1 贷款审核调整 2022-03-22 19:25:45 +08:00
aixianling
d2f1b25b67 积分统计基本完成 2022-03-22 19:08:56 +08:00
aixianling
afe315af26 推荐产品修复 2022-03-22 18:47:30 +08:00
aixianling
c84bb0fbdc Merge remote-tracking branch 'origin/dev' into dev 2022-03-22 18:41:27 +08:00
aixianling
f45692df45 推荐产品完成 2022-03-22 18:41:13 +08:00
yanran200730
7bcf923c64 28432 2022-03-22 17:58:53 +08:00
yanran200730
1ddf31185c bug 2022-03-22 17:51:57 +08:00
yanran200730
1b290214f6 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-22 17:31:11 +08:00
yanran200730
07e4320b23 查询组件 2022-03-22 17:31:05 +08:00
aixianling
433ff4476f 积分应用暂时修改 2022-03-22 17:20:15 +08:00
aixianling
900ff5ce83 Merge remote-tracking branch 'origin/dev' into dev 2022-03-22 16:46:14 +08:00
aixianling
edbf34a2e3 视频宣传 2022-03-22 16:46:00 +08:00
yanran200730
f55b55e406 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-22 16:17:41 +08:00
yanran200730
9282baa7fa 28338 2022-03-22 16:17:28 +08:00
aixianling
30ecf5b154 群众留言完成 2022-03-22 15:24:33 +08:00
aixianling
25fddf63db Merge remote-tracking branch 'origin/dev' into dev 2022-03-22 15:07:06 +08:00
aixianling
59d1e952d5 接入动态表单模块 2022-03-22 15:06:52 +08:00
yanran200730
a6dafbff38 28368 2022-03-22 14:37:11 +08:00
yanran200730
b3b46e6724 28384 2022-03-22 14:19:23 +08:00
yanran200730
7291113d2f Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-22 11:33:04 +08:00
yanran200730
d0bc1c1508 28414 2022-03-22 11:32:59 +08:00
aixianling
2c5026145d 迁移积分应用 2022-03-22 10:05:15 +08:00
aixianling
729d644e8b 先提交一波群众留言 2022-03-21 21:29:06 +08:00
yanran200730
5364c2571a 28338 2022-03-21 20:11:20 +08:00
yanran200730
f0c1efb4b1 会议通知 2022-03-21 15:58:39 +08:00
yanran200730
39ff23507b bug 2022-03-21 15:52:53 +08:00
yanran200730
f4514c087b 28379 2022-03-21 15:48:43 +08:00
yanran200730
4f5cea34b3 28379 2022-03-21 15:47:20 +08:00
yanran200730
19e3b730db 28383 2022-03-21 15:04:44 +08:00
yanran200730
d8e4916bbc 28383 2022-03-21 15:01:54 +08:00
yanran200730
9039ece985 28384 2022-03-21 14:31:06 +08:00
yanran200730
7ef72ab71e 28321 2022-03-21 14:01:55 +08:00
yanran200730
01248798a7 导出 2022-03-21 13:59:03 +08:00
yanran200730
16db054fb9 28366 2022-03-21 11:15:34 +08:00
yanran200730
fd104efd54 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-21 08:33:12 +08:00
yanran200730
9f2343075a 山东移动需求变更 2022-03-21 08:33:05 +08:00
aixianling
ba709d089c Merge remote-tracking branch 'origin/dev' into dev 2022-03-18 17:06:15 +08:00
aixianling
f2c152a3fc BUG 28357 2022-03-18 17:05:04 +08:00
yanran200730
872d05f47a 导航配置 2022-03-18 16:54:09 +08:00
yanran200730
b9159b8e15 清除多余代码 2022-03-18 15:05:47 +08:00
yanran200730
e67e0fbb82 内容发布新增审核功能 2022-03-18 14:31:08 +08:00
yanran200730
af65ba44ab 内容发布 2022-03-18 13:47:44 +08:00
yanran200730
a93b78de4f 网格员申办 2022-03-18 10:58:11 +08:00
yanran200730
585b2fcf85 特殊人群详情bug 2022-03-18 09:10:20 +08:00
yanran200730
fa608965ba bug 2022-03-18 09:07:56 +08:00
yanran200730
fee4c0c28f 特殊人群 2022-03-17 17:48:49 +08:00
yanran200730
63ce994265 28332 2022-03-17 17:42:20 +08:00
yanran200730
214ced7029 28307 2022-03-17 17:30:24 +08:00
yanran200730
fffb87b45f 27140 2022-03-16 15:43:01 +08:00
yanran200730
8099941802 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-16 15:31:40 +08:00
yanran200730
5f4b48eba7 28269 2022-03-16 15:31:34 +08:00
aixianling
92249196a4 BUG 28264 2022-03-16 12:02:38 +08:00
yanran200730
458b03dd0c 28216 2022-03-15 17:51:34 +08:00
yanran200730
82bfdc6c3c 28246 2022-03-15 17:23:34 +08:00
yanran200730
8d354eee32 28215 2022-03-15 16:14:41 +08:00
yanran200730
38c5ae5e25 28239 2022-03-15 16:11:03 +08:00
yanran200730
77625d872f 28238 2022-03-15 16:06:47 +08:00
yanran200730
091a2761cf 28239 2022-03-15 16:03:15 +08:00
yanran200730
dff68edcbb 28242 2022-03-15 15:57:56 +08:00
yanran200730
2ffc1d06cf 山东移动新增需求 2022-03-15 11:36:15 +08:00
yanran200730
2fe8814dce 居民档案屏蔽导出功能 2022-03-15 10:41:43 +08:00
yanran200730
9ee83ea972 28209 2022-03-15 09:48:03 +08:00
yanran200730
7879070993 28211 2022-03-15 09:45:30 +08:00
yanran200730
0af394b0ed Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-15 09:36:33 +08:00
yanran200730
53397bcdbf 28189 2022-03-15 09:36:28 +08:00
aixianling
36bde01ed9 BUG 28165 2022-03-15 09:34:01 +08:00
aixianling
0df2fcbee3 BUG 28183 2022-03-14 20:38:05 +08:00
aixianling
721a351708 Merge remote-tracking branch 'origin/dev' into dev 2022-03-14 18:08:15 +08:00
aixianling
057c45869a BUG 28166 2022-03-14 18:07:54 +08:00
yanran200730
fa6ccb5cde Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-14 17:44:37 +08:00
yanran200730
1384f7495c 28161 2022-03-14 17:44:31 +08:00
aixianling
c3be9537bd 调整屏蔽居民档案导出按钮 2022-03-14 17:24:28 +08:00
aixianling
c41730e9a4 山东移动居民档案合并至通用版应用 2022-03-14 16:17:59 +08:00
aixianling
cb2aa2c46a 群众留言界面完成 2022-03-14 15:25:07 +08:00
aixianling
dcbe39d228 接入 意见反馈 2022-03-14 12:22:56 +08:00
aixianling
edf03dbb5d 调整村务公开 2022-03-14 12:21:24 +08:00
aixianling
f2508c5823 调整企业管理 2022-03-14 12:07:48 +08:00
aixianling
66fad244d9 oms接入3.0产品库 2022-03-14 11:38:06 +08:00
aixianling
fcb6bbf956 定制化个人中心 2022-03-14 10:43:58 +08:00
aixianling
41dc57f1ac BUG 28163 2022-03-11 13:48:07 +08:00
yanran200730
0c484a0092 走访慰问、居民档案 2022-03-11 11:19:09 +08:00
yanran200730
610631133a 特殊人群 2022-03-10 12:27:52 +08:00
yanran200730
7f2d6942dc 表单配置 2022-03-09 17:01:16 +08:00
yanran200730
f1d34435e5 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-09 15:19:33 +08:00
yanran200730
ecc1500d50 配置表单 2022-03-09 15:19:28 +08:00
aixianling
22fe4f6373 BUG 28149 2022-03-09 14:43:56 +08:00
aixianling
2f21766b4f Merge remote-tracking branch 'origin/dev' into dev 2022-03-09 14:22:33 +08:00
aixianling
6fe2cafabb 清除异常 2022-03-09 14:22:04 +08:00
yanran200730
975e4599d1 表单配置 2022-03-09 14:20:41 +08:00
aixianling
071666f0fe 产品库升级,不用再改加载路径了 2022-03-09 12:00:24 +08:00
aixianling
7940cffc3c 产品库升级,不用再改加载路径了 2022-03-09 11:58:28 +08:00
aixianling
93b1a3a69d BUG 28137 2022-03-09 09:45:36 +08:00
aixianling
4c8c8d5ab8 Merge remote-tracking branch 'origin/dev' into dev 2022-03-09 09:05:34 +08:00
aixianling
aa426ef1da BUG 28073 2022-03-09 09:05:17 +08:00
刘仕伟
0563fbe718 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-08 18:27:52 +08:00
刘仕伟
a61fd5656e 28057 2022-03-08 18:27:42 +08:00
aixianling
4718b60941 BUG 27673 2022-03-08 17:19:32 +08:00
aixianling
61f8d7fea4 BUG 28137 2022-03-08 17:12:44 +08:00
aixianling
af674d4324 BUG 28125 2022-03-08 14:48:51 +08:00
aixianling
905db58f57 BUG 28124 2022-03-08 14:44:26 +08:00
aixianling
b16720420d BUG 27632 2022-03-08 14:40:56 +08:00
aixianling
74f84fe07b BUG 28086 2022-03-08 14:33:32 +08:00
aixianling
cdd570fae0 BUG 28073 2022-03-08 14:21:38 +08:00
aixianling
65b407e744 BUG 28046 2022-03-08 14:18:45 +08:00
aixianling
37f54ace01 简写部分代码 2022-03-08 11:50:44 +08:00
aixianling
77fbf07625 BUG 27519 2022-03-08 11:20:40 +08:00
yanran200730
7bcc4469cc 28073 2022-03-07 14:00:25 +08:00
yanran200730
9f485e897a Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-07 13:59:15 +08:00
yanran200730
5274499468 28085 2022-03-07 13:59:09 +08:00
aixianling
99ac6ffbad 名字异常 2022-03-07 11:59:19 +08:00
yanran200730
192e143b5c 28039 2022-03-04 17:08:57 +08:00
yanran200730
6fc8928032 28020 2022-03-04 17:06:24 +08:00
yanran200730
d06b22878c 大屏 2022-03-04 15:48:24 +08:00
yanran200730
117153324f Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-04 15:46:27 +08:00
yanran200730
505b41fbd6 1 2022-03-04 15:46:18 +08:00
刘仕伟
8c21b368bd 28017 2022-03-04 09:55:38 +08:00
刘仕伟
961993ae2b bug 2022-03-04 09:19:56 +08:00
刘仕伟
047279fe16 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-03 18:52:02 +08:00
刘仕伟
ebce7fab92 bug 2022-03-03 18:51:57 +08:00
yanran200730
8975cdf0f6 bug 2022-03-03 17:53:11 +08:00
yanran200730
39170c953c 28013 2022-03-03 17:21:53 +08:00
yanran200730
b6e200f635 28013 2022-03-03 17:20:51 +08:00
yanran200730
a183f874b4 28015 2022-03-03 17:18:54 +08:00
yanran200730
f3be7e21c9 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-03 16:39:59 +08:00
yanran200730
920847b105 28020 2022-03-03 16:39:54 +08:00
aixianling
e3aef2c7f2 BUG 28004 2022-03-03 12:04:10 +08:00
aixianling
2fb2334e1d BUG 28002 2022-03-03 12:03:29 +08:00
aixianling
31935a80b9 BUG 27996 2022-03-03 10:37:44 +08:00
aixianling
e303901262 BUG 27988 2022-03-03 10:06:28 +08:00
aixianling
5883f4123e BUG 27987 2022-03-03 09:01:37 +08:00
刘仕伟
38b46442aa 版本管理调整 2022-03-02 18:07:26 +08:00
aixianling
93faabe2f5 补充详情跳详情 2022-03-02 18:04:24 +08:00
aixianling
f9b623b538 BUG 27978 2022-03-02 17:47:54 +08:00
aixianling
22113c33ed Merge remote-tracking branch 'origin/dev' into dev 2022-03-02 17:45:48 +08:00
aixianling
55a0e44d79 BUG 27980 2022-03-02 17:45:33 +08:00
刘仕伟
66093030c2 27979 2022-03-02 17:43:28 +08:00
aixianling
4d30281c5b 增加版本管理 2022-03-02 17:25:35 +08:00
aixianling
b9d07f88c8 BUG 27972 2022-03-02 16:45:47 +08:00
aixianling
fcc4518cb1 BUG 27970 2022-03-02 15:56:24 +08:00
aixianling
8fee098a0a BUG 27969 2022-03-02 15:45:38 +08:00
aixianling
29c6d31eca 调整判断 2022-03-02 14:53:20 +08:00
aixianling
914f1bc4fd BUG 27964 2022-03-02 14:29:57 +08:00
yanran200730
22e6340ba9 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-02 14:07:39 +08:00
yanran200730
1552fa3ba9 入口文件 2022-03-02 14:07:33 +08:00
aixianling
7dbc4146a5 Merge remote-tracking branch 'origin/dev' into dev 2022-03-02 11:01:12 +08:00
aixianling
dd4e0e1260 逻辑调整 2022-03-02 11:00:55 +08:00
刘仕伟
e4398f80df Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-02 10:52:34 +08:00
刘仕伟
ac0ca2966a 27881 2022-03-02 10:52:28 +08:00
aixianling
66fd58a69d BUG 27951 2022-03-02 10:48:46 +08:00
aixianling
9d3378bc93 BUG 27951 2022-03-02 10:48:22 +08:00
aixianling
ff72b0f104 BUG 27907 2022-03-02 10:47:22 +08:00
aixianling
813f299ad1 Merge remote-tracking branch 'origin/dev' into dev 2022-03-02 10:27:53 +08:00
aixianling
5ff593ee0a 调整提示 2022-03-02 10:27:37 +08:00
yanran200730
2237b065c3 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-02 10:06:43 +08:00
yanran200730
7a667e6f2b 27926 2022-03-02 10:06:37 +08:00
刘仕伟
04e043cf9d Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-02 10:05:01 +08:00
刘仕伟
6ce01389c8 27881 2022-03-02 10:04:52 +08:00
yanran200730
15555a9304 bug 2022-03-02 10:01:43 +08:00
aixianling
375574a901 bug 27937 2022-03-02 09:52:05 +08:00
aixianling
7cc8089813 BUG 27935 2022-03-02 09:31:09 +08:00
aixianling
26aa5377c5 BUG 27907 2022-03-02 09:28:11 +08:00
aixianling
7a3e6ceb8f 山东移动接入党建模块 2022-03-02 09:21:41 +08:00
aixianling
57ceab5d13 接入党史题库 2022-03-02 09:07:45 +08:00
aixianling
27445b1bba Merge remote-tracking branch 'origin/dev' into dev 2022-03-02 09:01:47 +08:00
aixianling
a0f8e79c85 BUG 27890 2022-03-02 09:01:28 +08:00
刘仕伟
e86d35858c 27879 2022-03-01 19:55:36 +08:00
刘仕伟
3031392f89 单个分配 2022-03-01 19:31:39 +08:00
刘仕伟
c79fc16b0a 功能分配 2022-03-01 19:13:25 +08:00
aixianling
252ead5945 BUG 27920 2022-03-01 18:28:48 +08:00
aixianling
0d7f0ad424 BUG 27918 2022-03-01 18:27:10 +08:00
aixianling
22d951a7b2 BUG 27917 2022-03-01 18:26:22 +08:00
aixianling
3feed4ee0f BUG 27913 2022-03-01 18:22:28 +08:00
aixianling
cbdbae2c57 BUG 27872 2022-03-01 18:18:14 +08:00
aixianling
c58c7140d0 Merge remote-tracking branch 'origin/dev' into dev 2022-03-01 18:16:45 +08:00
aixianling
f0aa42b8f3 BUG 27803 2022-03-01 18:16:14 +08:00
刘仕伟
05e92437c8 27921 2022-03-01 18:10:26 +08:00
刘仕伟
eda06af5c4 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-01 15:46:43 +08:00
刘仕伟
5d8cdf3bb6 27898 2022-03-01 15:46:40 +08:00
aixianling
e98d1babd2 BUG 27830 2022-03-01 15:28:42 +08:00
aixianling
7a87dd25d2 BUG 27827 2022-03-01 15:27:33 +08:00
aixianling
7bcee2b1b6 BUG 27826 2022-03-01 15:26:06 +08:00
aixianling
57a9d329ba BUG 27825 2022-03-01 15:23:02 +08:00
aixianling
8936a026df BUG 27822 2022-03-01 15:21:52 +08:00
aixianling
727d05f861 BUG 27822 2022-03-01 15:19:25 +08:00
aixianling
d6201819c1 BUG 27852 2022-03-01 14:58:14 +08:00
aixianling
e1a89b5d78 BUG 27853 2022-03-01 14:54:17 +08:00
aixianling
b15eca92a4 BUG 27872 2022-03-01 14:52:06 +08:00
aixianling
08a7208cc4 BUG 27873 2022-03-01 14:47:39 +08:00
aixianling
9c0019087b BUG 27900 2022-03-01 14:41:49 +08:00
aixianling
349a869311 BUG 27894 2022-03-01 14:40:17 +08:00
aixianling
02d6343d8e BUG 27894 2022-03-01 14:40:00 +08:00
aixianling
3880e8bc0f BUG 27895 2022-03-01 14:39:29 +08:00
aixianling
570c6cf82c BUG 27892 2022-03-01 14:37:00 +08:00
aixianling
1a7e06f480 BUG 27844 2022-03-01 14:22:26 +08:00
aixianling
70aa2ef31e BUG 27847 2022-03-01 14:18:45 +08:00
aixianling
a251149452 BUG 27803 2022-03-01 14:14:29 +08:00
aixianling
9d1e81b492 BUG 27840 2022-03-01 14:10:57 +08:00
aixianling
4ac2f5a134 BUG 27835 2022-03-01 12:17:18 +08:00
aixianling
c6b293d4bd BUG 27833 2022-03-01 12:13:59 +08:00
aixianling
2e7adce3db Merge remote-tracking branch 'origin/dev' into dev 2022-03-01 12:10:40 +08:00
aixianling
30965d9bdf BUG 27881 2022-03-01 12:10:26 +08:00
刘仕伟
19e82479e4 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-01 12:02:37 +08:00
刘仕伟
6d7492cebe 去掉areaId 2022-03-01 12:02:32 +08:00
aixianling
6f5d6c6ee7 BUG 27803 2022-03-01 12:00:13 +08:00
aixianling
e887776b57 BUG 27790 2022-03-01 11:58:30 +08:00
aixianling
6f1b930a54 BUG 27782 2022-03-01 11:57:51 +08:00
aixianling
6618bc07cb BUG 27773 2022-03-01 11:56:58 +08:00
aixianling
9fefb8fe7e BUG 27749 2022-03-01 11:55:29 +08:00
aixianling
1b70874b25 BUG 27802 2022-03-01 11:54:22 +08:00
aixianling
54f35593d3 Merge remote-tracking branch 'origin/dev' into dev 2022-03-01 11:19:57 +08:00
aixianling
d2244a049c BUG 27801 2022-03-01 11:19:44 +08:00
刘仕伟
a64d93f2e6 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-03-01 11:06:40 +08:00
刘仕伟
1188f2532e 27869 2022-03-01 11:06:37 +08:00
aixianling
f32f109095 BUG 27811 2022-03-01 10:36:47 +08:00
aixianling
f20a2d8146 BUG 27793 2022-03-01 10:34:44 +08:00
aixianling
d6ca31c7b1 BUG 27783 2022-03-01 10:31:18 +08:00
aixianling
adac56a1c1 BUG 27779 2022-03-01 10:30:01 +08:00
aixianling
f01a37a883 BUG 27778 2022-03-01 10:28:54 +08:00
aixianling
3c7983bf65 BUG 27776 2022-03-01 10:27:50 +08:00
aixianling
c0a7716606 BUG 27748 2022-03-01 10:24:16 +08:00
aixianling
04b2f02a13 BUG 27747 2022-03-01 10:15:44 +08:00
aixianling
47c22cb822 Merge remote-tracking branch 'origin/dev' into dev 2022-03-01 10:04:09 +08:00
aixianling
c01c66c8ca BUG 27819 2022-03-01 10:03:49 +08:00
刘仕伟
00bd53dd3a 设置最热 2022-03-01 10:01:03 +08:00
刘仕伟
d9ba2bc1c5 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-02-28 18:09:24 +08:00
刘仕伟
8790f07496 27816 2022-02-28 18:09:21 +08:00
yanran200730
7381b11f0f 27614 2022-02-28 17:53:46 +08:00
刘仕伟
5b668855f3 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-02-28 17:48:48 +08:00
刘仕伟
7c187894b3 审批意见 2022-02-28 17:48:45 +08:00
yanran200730
6818260611 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev
# Conflicts:
#	examples/entries.js
2022-02-28 17:16:09 +08:00
yanran200730
0f96320a9b 27658 2022-02-28 17:15:31 +08:00
刘仕伟
73bfdcb4c3 27791 2022-02-28 17:08:55 +08:00
刘仕伟
835502ba9f 27794 2022-02-28 16:56:04 +08:00
刘仕伟
6f395305bf 27799 2022-02-28 16:54:50 +08:00
刘仕伟
6a70b457de 27804 2022-02-28 16:49:12 +08:00
刘仕伟
82d8c9a826 27797 2022-02-28 16:32:49 +08:00
刘仕伟
1c884e1b1b Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-02-28 16:25:39 +08:00
刘仕伟
da306f69ea 新闻调整 2022-02-28 16:25:36 +08:00
yanran200730
fd7897694c 27638 2022-02-28 10:16:21 +08:00
yanran200730
0eddd90703 27480 2022-02-28 10:06:44 +08:00
yanran200730
0da9b78a13 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-02-28 10:03:59 +08:00
yanran200730
3c44b2580d 27723 2022-02-28 10:03:53 +08:00
刘仕伟
82b11cd362 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-02-28 10:01:29 +08:00
刘仕伟
0369ac26db 调整权限 2022-02-28 10:01:25 +08:00
aixianling
1f17f126d0 经营主体账号改造完成 2022-02-25 18:13:30 +08:00
aixianling
cb60468d0e 新闻中心已完成 2022-02-25 17:27:11 +08:00
aixianling
05d923b924 Merge remote-tracking branch 'origin/dev' into dev 2022-02-25 15:59:26 +08:00
aixianling
f52201095f 数据公示下架 2022-02-25 15:59:05 +08:00
yanran200730
cbc608e3dd 27707 2022-02-25 14:40:31 +08:00
yanran200730
845019c1c3 27681 2022-02-25 14:38:40 +08:00
yanran200730
c5fa3901e1 27582 2022-02-25 14:35:50 +08:00
yanran200730
769e12aac1 27653 2022-02-25 14:33:12 +08:00
yanran200730
40f8cf4984 27622 2022-02-25 14:31:22 +08:00
yanran200730
916129957e 27635 2022-02-25 14:21:47 +08:00
yanran200730
5086a196f8 27637 2022-02-25 14:13:10 +08:00
aixianling
28a466a5d4 样式补充 2022-02-25 14:08:38 +08:00
aixianling
4370c8d923 跳转抢单界面 2022-02-25 14:02:38 +08:00
aixianling
85b51faa89 补充修复 2022-02-25 13:50:14 +08:00
aixianling
f71db402d3 抢单记录完成 2022-02-25 11:52:22 +08:00
aixianling
ce01784c46 抢单记录完成 2022-02-25 11:46:39 +08:00
aixianling
502239ac2e 抢单记录完成 2022-02-25 11:46:21 +08:00
aixianling
397cde8383 更正贷款应用名 2022-02-25 10:32:47 +08:00
aixianling
164203adab 融资需求核对完成 2022-02-25 10:07:29 +08:00
aixianling
829f03e68c 贷款完成 2022-02-25 09:36:07 +08:00
刘仕伟
c228161701 轮播图 2022-02-24 14:54:48 +08:00
刘仕伟
9fa1d90c15 BUG 2022-02-23 13:12:30 +00:00
aixianling
9fa78fa280 贷款审核基本完成 2022-02-23 20:11:38 +08:00
aixianling
864dca4525 产品 2022-02-23 18:49:17 +08:00
aixianling
0e9ef44843 经营主体修复 2022-02-23 18:48:02 +08:00
aixianling
86eaa9178e 经营主体修复 2022-02-23 16:37:58 +08:00
aixianling
01a10159ff 经营主体审核修复 2022-02-23 16:32:19 +08:00
aixianling
58e8f0fd71 经营主体审核修复 2022-02-23 16:26:37 +08:00
aixianling
016eb5a75c 金融机构成员修复 2022-02-23 16:23:10 +08:00
aixianling
e78cc0cbe5 金融机构成员修复 2022-02-23 16:22:26 +08:00
aixianling
f1f928dd39 金融机构成员修复 2022-02-23 16:17:59 +08:00
aixianling
0c403ae92b 智能搜索字段修复 2022-02-23 16:05:17 +08:00
aixianling
6f66cc7503 修复金融机构异常 2022-02-23 15:50:51 +08:00
aixianling
1365cea288 抢单记录页面完成 2022-02-23 09:56:01 +08:00
aixianling
be19bc7005 融资需求池 页面完成 2022-02-23 09:24:55 +08:00
aixianling
f47e6c9acb 金融机构成员完成 2022-02-22 20:48:07 +08:00
aixianling
3982ed8b04 金融机构完成 2022-02-22 19:50:36 +08:00
aixianling
0a50030333 核对一波字典 2022-02-22 19:33:06 +08:00
aixianling
4ec69ad495 贷款审核页面完成 2022-02-22 19:00:42 +08:00
aixianling
b3cd8f7a88 金融产品页面完成 2022-02-22 18:40:57 +08:00
aixianling
6b873efacf 经营主体完成 2022-02-22 17:09:44 +08:00
aixianling
2c16718a9c 经营主体审批基本完成 2022-02-22 17:05:06 +08:00
aixianling
01c843cde1 用户账号提交一部分 2022-02-22 15:04:03 +08:00
aixianling
4922c3cb2b linux下打包包缺失问题修复尝试3 2022-02-22 14:50:22 +08:00
aixianling
bb6a28867e linux下打包包缺失问题修复尝试2 2022-02-22 14:35:13 +08:00
aixianling
741680265a linux下打包包缺失问题修复尝试 2022-02-22 14:20:37 +08:00
aixianling
efcec7ac90 秀山账号管理完成 2022-02-22 11:35:33 +08:00
aixianling
aae44c489e 秀山账号管理完成 2022-02-22 11:34:52 +08:00
aixianling
70e733a7b5 秀山账号管理完成 2022-02-22 11:31:29 +08:00
aixianling
39c459c04c 山东移动接入便民通讯录 2022-02-22 10:59:52 +08:00
aixianling
94f7cb748d 山东移动接入便民通讯录 2022-02-22 10:59:28 +08:00
aixianling
6803ec7670 山东移动接入小程序导航配置 2022-02-22 10:25:53 +08:00
aixianling
815bee9dcc 数据公示页面上传 2022-02-21 18:11:24 +08:00
aixianling
3884316d22 秀山分包 2022-02-21 15:22:21 +08:00
yanran200730
4106c48877 村民圈 2022-02-18 17:31:10 +08:00
yanran200730
dfd9282d01 积分审核 2022-02-18 16:03:09 +08:00
yanran200730
5c32b8e240 27469 2022-02-18 15:21:54 +08:00
yanran200730
3cd4954d6c 27476 2022-02-18 15:05:33 +08:00
yanran200730
2503ee1947 27473 2022-02-18 14:51:20 +08:00
yanran200730
09cf11a5fc 27471 2022-02-18 14:49:16 +08:00
yanran200730
e98949990a 27470 2022-02-18 14:47:25 +08:00
yanran200730
5f78476130 27479 2022-02-18 14:44:21 +08:00
yanran200730
3c424b63ff 监控 2022-02-18 13:55:01 +08:00
yanran200730
745a22a8e2 村民圈 2022-02-18 13:49:08 +08:00
yanran200730
6b96dfe939 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-02-18 13:44:31 +08:00
yanran200730
fd76ce7ac1 表单 2022-02-18 13:44:25 +08:00
aixianling
d98b1ae982 Merge remote-tracking branch 'origin/dev' into dev 2022-02-18 10:15:17 +08:00
aixianling
8a9e591316 名字里多了一个空格 2022-02-18 10:14:32 +08:00
yanran200730
2a8c3cd45f 表单配置 2022-02-18 08:35:26 +08:00
yanran200730
8c400f9168 村民圈 2022-02-17 17:59:19 +08:00
yanran200730
3dbc129e46 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-02-17 17:39:27 +08:00
yanran200730
99fc7cf835 村民圈 2022-02-17 17:39:21 +08:00
aixianling
54e7daea44 配置主库应用到山东移动分包 2022-02-17 17:08:19 +08:00
aixianling
aa39a450e4 Merge remote-tracking branch 'origin/dev' into dev 2022-02-17 16:28:15 +08:00
aixianling
89a564c2dd 完善统一构建多包发布 2022-02-17 16:27:59 +08:00
yanran200730
c80ef26ad5 村民圈 2022-02-17 16:25:52 +08:00
aixianling
512e30a84b Merge remote-tracking branch 'origin/dev' into dev 2022-02-17 16:15:28 +08:00
aixianling
2491c8e906 统一构建多包发布 2022-02-17 16:15:13 +08:00
yanran200730
1df841804a 动态表单 2022-02-17 15:40:24 +08:00
yanran200730
fe66924093 便民通讯录 2022-02-17 13:42:54 +08:00
yanran200730
3f9b98d32c 积分审核 2022-02-17 09:36:16 +08:00
yanran200730
aecc216dc1 居民审核 2022-02-16 15:04:22 +08:00
yanran200730
165df7ee8a 村民圈 2022-02-15 10:37:07 +08:00
yanran200730
c6839f602a Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-02-14 18:22:57 +08:00
yanran200730
5fd231cf2f 27397 2022-02-14 18:22:51 +08:00
aixianling
a634abfbef Merge remote-tracking branch 'origin/dev' into dev 2022-02-14 18:19:36 +08:00
aixianling
31a496e6b3 BUG 27402 2022-02-14 18:19:10 +08:00
yanran200730
ea52e27e77 27389 2022-02-14 18:13:28 +08:00
yanran200730
18edb3aebc 27403 2022-02-14 18:10:07 +08:00
yanran200730
cce0956e6e 27396 2022-02-14 18:09:00 +08:00
yanran200730
a41dac0467 27381 2022-02-14 18:01:33 +08:00
yanran200730
4a8896a16c 山东移动 2022-02-14 17:48:17 +08:00
yanran200730
bec0762630 27383 2022-02-14 14:32:26 +08:00
yanran200730
20a6f55368 27382 2022-02-14 14:23:26 +08:00
yanran200730
71a0c5e638 27307 2022-02-11 15:25:39 +08:00
yanran200730
df0324f904 网格区块 2022-02-11 14:36:02 +08:00
yanran200730
b8e464e299 27245 2022-02-11 14:34:19 +08:00
yanran200730
c8cb33b723 27245 2022-02-11 14:33:21 +08:00
yanran200730
5acedc6aac 27245 2022-02-11 14:19:24 +08:00
yanran200730
40b6043eed 特殊人群 2022-02-11 14:10:39 +08:00
yanran200730
724b52c538 吸毒人员 2022-02-11 14:09:25 +08:00
yanran200730
8b89646069 精神病人 2022-02-11 14:08:25 +08:00
yanran200730
57564bcc1c 27321 2022-02-11 13:59:17 +08:00
yanran200730
f7d5efd4ae 矛盾调解 2022-02-11 13:48:09 +08:00
yanran200730
f29d9e15c8 27314 2022-02-11 13:47:24 +08:00
yanran200730
a4c6fc3175 27264 2022-02-11 13:38:28 +08:00
yanran200730
41ca00537a 27296 2022-02-11 11:45:58 +08:00
yanran200730
b571982b11 27264 2022-02-11 11:28:16 +08:00
yanran200730
7d31bbe3d0 27262 2022-02-11 10:31:30 +08:00
yanran200730
76af1c2d14 27250 2022-02-11 10:11:55 +08:00
yanran200730
9a68f2ec8a 27248 2022-02-11 10:00:53 +08:00
yanran200730
f1e49518e9 27245 2022-02-11 09:43:57 +08:00
yanran200730
ae4e5e3e78 27229 2022-02-10 18:04:08 +08:00
yanran200730
2cd8f476b6 楼栋统计 2022-02-10 17:59:32 +08:00
yanran200730
badf483642 27223 2022-02-10 17:11:48 +08:00
yanran200730
2af7808ccc 27222 2022-02-10 17:04:41 +08:00
yanran200730
cb6cf2e19f 27220 2022-02-10 17:01:37 +08:00
yanran200730
2ea4771df4 27217 2022-02-10 16:55:40 +08:00
yanran200730
567a0ba434 27195 2022-02-10 15:29:51 +08:00
yanran200730
5374862df7 27194 2022-02-10 15:28:28 +08:00
yanran200730
6a5d923739 27196 2022-02-10 15:26:58 +08:00
yanran200730
fb6fee0ae2 27126 2022-02-10 14:10:48 +08:00
yanran200730
a90dfd3037 27132 2022-02-10 13:59:44 +08:00
yanran200730
9654b024b2 27133 2022-02-10 13:56:54 +08:00
yanran200730
14abe686a4 27159 2022-02-10 13:37:38 +08:00
yanran200730
d1a7c2fd17 27152 2022-02-10 12:03:27 +08:00
yanran200730
de30d29b53 27145 2022-02-10 11:33:33 +08:00
yanran200730
2645898031 27144 2022-02-10 11:31:24 +08:00
yanran200730
d6fc0e005f 27141 2022-02-10 11:30:14 +08:00
yanran200730
ebcb526f60 27143 2022-02-10 11:14:20 +08:00
yanran200730
2900c27c70 27143 2022-02-10 11:12:43 +08:00
yanran200730
7a85950d29 轮播图 2022-02-10 10:42:52 +08:00
yanran200730
e98fd640fa 27136 2022-02-10 10:42:33 +08:00
yanran200730
0ad5cc6fd3 27139 2022-02-10 10:41:09 +08:00
yanran200730
312f09a06e 27137 2022-02-10 10:33:47 +08:00
yanran200730
b007cd13df 走访慰问 2022-02-10 10:13:49 +08:00
yanran200730
ab6624266c 健康上报 2022-02-09 18:28:48 +08:00
yanran200730
01bec4be03 bug 2022-02-09 18:14:22 +08:00
yanran200730
69371730b2 网格 2022-02-09 17:53:23 +08:00
yanran200730
f04f01bdba 网格区块 2022-02-09 17:07:46 +08:00
yanran200730
52f1b5d0ed 特殊人群 2022-02-09 15:13:46 +08:00
yanran200730
7f44ee66fd 特殊人群 2022-02-09 14:59:49 +08:00
yanran200730
407d8d4baa 迁移 2022-02-09 10:15:44 +08:00
yanran200730
8440693bbd 矛盾调解 2022-02-09 09:21:33 +08:00
yanran200730
dc1bfcb1bb 事件上报 2022-02-09 08:16:02 +08:00
yanran200730
9c0f4324da 矛盾调解 2022-02-08 14:57:21 +08:00
yanran200730
22855cf70e 村微上架 2022-02-08 14:50:48 +08:00
yanran200730
bd5de25e4b 健康上报 2022-02-08 09:30:49 +08:00
yanran200730
e6d8b3c6c8 轮播图 2022-02-08 09:09:20 +08:00
yanran200730
e91b292d8b 轮播图 2022-02-08 08:59:11 +08:00
yanran200730
a558bbdfe5 轮播图 2022-02-08 08:53:50 +08:00
yanran200730
9781699c2b 轮播图 2022-02-07 18:04:31 +08:00
yanran200730
2e48b7c427 bug 2022-02-07 17:00:23 +08:00
yanran200730
fe9df9d2c5 bug 2022-02-07 15:05:24 +08:00
yanran200730
07569481f1 27043 2022-02-07 14:42:45 +08:00
yanran200730
ac52cd0d59 27047 2022-02-07 14:38:10 +08:00
yanran200730
c452f12eb9 bug 2022-02-07 13:55:52 +08:00
aixianling
571babf236 BUG 27051 2022-01-28 09:43:59 +08:00
yanran200730
296de1c452 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-01-27 10:03:21 +08:00
yanran200730
394917d3ff 企业微信配置 2022-01-27 10:03:05 +08:00
aixianling
20fc23d183 Merge remote-tracking branch 'origin/dev' into dev 2022-01-26 18:09:39 +08:00
aixianling
af9f54b06a BUG 27038 2022-01-26 18:09:06 +08:00
yanran200730
d66067c1f1 通讯录 2022-01-26 18:05:03 +08:00
yanran200730
f8e1535a52 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-01-26 18:03:50 +08:00
yanran200730
4f10fa559a 通讯录 2022-01-26 18:03:44 +08:00
aixianling
eb769a93a1 BUG 27038 2022-01-26 17:41:48 +08:00
yanran200730
b1cbf09a50 27037 2022-01-26 17:06:15 +08:00
yanran200730
b7a1d77fc1 网格大屏 2022-01-26 16:59:00 +08:00
yanran200730
3f4a61090f Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-01-26 16:43:42 +08:00
yanran200730
c2d156cc16 27035 2022-01-26 16:43:37 +08:00
aixianling
6a472a0092 Merge remote-tracking branch 'origin/dev' into dev 2022-01-26 16:36:31 +08:00
aixianling
e71a1f5d69 迁移轮播图片管理 2022-01-26 16:36:19 +08:00
yanran200730
13f0c0ba15 优化大屏 2022-01-26 16:30:39 +08:00
yanran200730
5b88c90de0 优化 2022-01-26 16:20:16 +08:00
yanran200730
05e9e882f0 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-01-26 16:13:39 +08:00
yanran200730
196c1b112e bug 2022-01-26 16:13:33 +08:00
aixianling
0568882c64 Merge remote-tracking branch 'origin/dev' into dev 2022-01-26 16:12:48 +08:00
aixianling
aff3830463 迁移轮播图片管理 2022-01-26 16:12:37 +08:00
yanran200730
f701080b71 大屏更新 2022-01-26 16:03:55 +08:00
yanran200730
92c9a5c1c2 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-01-26 15:58:20 +08:00
yanran200730
b26d8f71f6 27027 2022-01-26 15:58:14 +08:00
aixianling
bce382fcc1 上架版接入菜单管理,账号角色管理 2022-01-26 15:34:01 +08:00
aixianling
e2ca682872 Merge remote-tracking branch 'origin/dev' into dev 2022-01-26 15:12:21 +08:00
aixianling
b148035c40 BUG 26970 2022-01-26 15:11:56 +08:00
yanran200730
7a9acdb7c1 27016 2022-01-26 14:24:33 +08:00
yanran200730
8d8bb29f13 27015 2022-01-26 14:22:15 +08:00
yanran200730
602b4f06ef 27028 2022-01-26 11:40:44 +08:00
yanran200730
2d45ddf2be 网格员选择器优化 2022-01-26 11:26:09 +08:00
yanran200730
d37554d317 bug 2022-01-26 11:13:51 +08:00
yanran200730
e95360fc81 26929 2022-01-26 11:10:42 +08:00
yanran200730
be95736987 26995 2022-01-26 09:40:43 +08:00
yanran200730
b4d98ab335 bug 2022-01-26 09:09:08 +08:00
yanran200730
979128036c bug 2022-01-26 09:08:39 +08:00
yanran200730
3dcf5d23c4 json编辑器 2022-01-26 09:06:15 +08:00
yanran200730
a74a7c7b1d bug 2022-01-26 08:56:52 +08:00
yanran200730
d982651545 1 2022-01-25 19:42:59 +08:00
yanran200730
664c0e7751 bug 2022-01-25 19:39:34 +08:00
yanran200730
18ad905525 bug 2022-01-25 18:58:53 +08:00
yanran200730
769fa6b534 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-01-25 18:31:29 +08:00
yanran200730
8a06bea864 大屏 2022-01-25 18:31:23 +08:00
aixianling
0c55497fb3 BUG 27025 2022-01-25 18:11:05 +08:00
aixianling
636e396303 Merge remote-tracking branch 'origin/dev' into dev 2022-01-25 17:53:50 +08:00
aixianling
3c0a4c9372 BUG 27019 2022-01-25 17:53:38 +08:00
yanran200730
e7b02865fc bug 2022-01-25 17:36:00 +08:00
yanran200730
99b451ac8e Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-01-25 17:09:28 +08:00
yanran200730
145c1bb2d2 bug 2022-01-25 17:09:22 +08:00
aixianling
33d69091f8 Merge remote-tracking branch 'origin/dev' into dev 2022-01-25 17:06:55 +08:00
aixianling
48fa10a21b BUG 26973 2022-01-25 17:06:41 +08:00
yanran200730
6e0c8efbf4 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-01-25 17:03:42 +08:00
yanran200730
db27bfd8f2 bug 2022-01-25 17:03:36 +08:00
aixianling
2a43a20531 BUG 26974 2022-01-25 16:23:40 +08:00
yanran200730
958c7107ce 网格大屏优化 2022-01-25 15:48:22 +08:00
yanran200730
d734a5063c bug 2022-01-25 14:42:41 +08:00
yanran200730
9ca98d43ee bug 2022-01-25 14:24:42 +08:00
yanran200730
211d3f9ac7 大屏 2022-01-25 11:05:45 +08:00
yanran200730
b5e1cfb4fa 26891 2022-01-24 17:55:28 +08:00
yanran200730
72cff8560b 27013 2022-01-24 17:37:25 +08:00
yanran200730
1caf337e60 bug 2022-01-24 17:11:06 +08:00
yanran200730
b279d2ef2b 26935 2022-01-24 17:03:08 +08:00
yanran200730
2fec5f513e bug 2022-01-24 16:53:21 +08:00
yanran200730
65cca6165c 26956 2022-01-24 16:44:57 +08:00
yanran200730
75c1c0d478 优化 2022-01-24 16:39:17 +08:00
yanran200730
9d4ef66fa5 26980 2022-01-24 15:21:54 +08:00
yanran200730
80adcac8b8 bug 2022-01-24 14:32:57 +08:00
yanran200730
69aca8781d 26996 2022-01-24 14:27:45 +08:00
yanran200730
4a8944cc83 网格大屏 2022-01-24 14:08:10 +08:00
yanran200730
0297cb2187 网格大屏 2022-01-22 14:49:43 +08:00
liuye
69131b57f7 党员管理 2022-01-22 11:13:10 +08:00
liuye
9c700ae28f 课程简介 2022-01-22 09:26:01 +08:00
liuye
b90376286c 26955 2022-01-21 17:06:46 +08:00
liuye
b3992b98a9 26954 2022-01-21 16:59:58 +08:00
liuye
4baae80558 26953 2022-01-21 16:58:26 +08:00
liuye
fda3bf95f1 提示文字 2022-01-21 16:53:09 +08:00
liuye
9e54a0e47e bug 2022-01-21 16:45:20 +08:00
liuye
c14ad320e3 26952 2022-01-21 16:37:32 +08:00
liuye
e544551627 26946 2022-01-21 15:24:41 +08:00
liuye
ba6160f7e2 bug 2022-01-21 14:57:40 +08:00
liuye
9e4ebbf29d bug 2022-01-21 14:19:12 +08:00
liuye
5c02f3702b bug 2022-01-21 11:31:00 +08:00
liuye
01ff6c00be bug 2022-01-21 11:23:46 +08:00
liuye
b45557e366 bug 2022-01-21 11:05:11 +08:00
liuye
8b5e387806 网格管理 2022-01-21 09:18:21 +08:00
liuye
2296fe413b ct 2022-01-21 09:17:45 +08:00
liuye
6135040b52 网格需求 2022-01-21 09:17:21 +08:00
yanran200730
158e3ae50e Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-01-20 17:50:08 +08:00
yanran200730
5e29b75f20 网格 2022-01-20 17:50:02 +08:00
liuye
c77259734a 26911 2022-01-20 16:24:11 +08:00
yanran200730
775eba0b0b Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-01-20 15:25:24 +08:00
yanran200730
de8c4a6fc7 26722 2022-01-20 15:25:19 +08:00
liuye
a792483409 26818 2022-01-20 15:05:53 +08:00
yanran200730
271b24ade6 26431 2022-01-20 14:00:49 +08:00
yanran200730
185f4174d8 bug 2022-01-20 11:45:01 +08:00
yanran200730
dc0d258b3f 26430 2022-01-20 10:42:45 +08:00
yanran200730
d6800add0c Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-01-20 09:52:36 +08:00
yanran200730
952e264949 25609 2022-01-20 09:52:31 +08:00
liuye
0a832e3c4b 撤回 2022-01-20 09:47:50 +08:00
liuye
15c1d01b29 重复次数 2022-01-20 09:47:15 +08:00
yanran200730
555cd377ac bug 2022-01-20 09:34:54 +08:00
yanran200730
b4178e1e49 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-01-20 09:16:39 +08:00
yanran200730
31aba06df6 26880 2022-01-20 09:16:33 +08:00
liuye
6e8e9dfe52 26883 2022-01-19 18:08:02 +08:00
liuye
91441487ed 26889 2022-01-19 18:04:57 +08:00
花有清香月有阴
faa7a42ed1 bug 2022-01-19 16:17:02 +08:00
yanran200730
41c95db700 26857 2022-01-19 09:39:47 +08:00
yanran200730
408eb40cc9 26869 2022-01-19 09:35:02 +08:00
yanran200730
ac4811c507 26868 2022-01-18 18:46:10 +08:00
yanran200730
a53adf001f 26855 2022-01-18 18:40:32 +08:00
yanran200730
23ae3efec1 bug 2022-01-18 18:09:37 +08:00
yanran200730
25900aab78 26864 2022-01-18 18:09:01 +08:00
yanran200730
58b712cda4 26865 2022-01-18 18:08:10 +08:00
yanran200730
6a53c29da5 bug 2022-01-18 17:34:39 +08:00
yanran200730
a7ab45c070 26823 2022-01-18 16:30:08 +08:00
yanran200730
e7c90dbe7e 26802 2022-01-18 16:22:09 +08:00
yanran200730
cd8aef1c06 26804 2022-01-18 16:09:39 +08:00
yanran200730
55b6b0c94a 26826 2022-01-18 15:48:27 +08:00
yanran200730
d74989f048 26805 2022-01-18 15:29:15 +08:00
yanran200730
5b458e177d 26858 2022-01-18 15:28:22 +08:00
yanran200730
a03563f3ed 26823 2022-01-18 15:26:26 +08:00
yanran200730
32f80734fb 26852 2022-01-18 15:08:01 +08:00
yanran200730
4d62b19ebe 26849 2022-01-18 15:01:17 +08:00
yanran200730
7ddfd8d394 26806 2022-01-18 14:51:41 +08:00
yanran200730
f1231284d6 26807 2022-01-18 14:35:18 +08:00
yanran200730
f8d5828960 26805 2022-01-18 14:32:29 +08:00
yanran200730
4bba3674f6 26803 2022-01-18 13:54:27 +08:00
yanran200730
392411fbbc 26791 2022-01-18 13:47:40 +08:00
yanran200730
920484cbd6 26375 2022-01-18 11:57:10 +08:00
yanran200730
0f3ca3bc4e 26375 2022-01-18 11:54:59 +08:00
yanran200730
c31eb17b14 26719 2022-01-18 11:51:07 +08:00
yanran200730
252752e5d4 26303 2022-01-18 11:34:37 +08:00
yanran200730
42e76152b6 26320 2022-01-18 11:19:29 +08:00
yanran200730
f31c158bf3 26299 2022-01-18 11:04:48 +08:00
yanran200830
5b10416a14 报错 2022-01-17 19:45:54 +08:00
yanran200730
661c393ab3 26797 2022-01-17 18:19:17 +08:00
yanran200730
a533a2c845 26814 2022-01-17 17:53:28 +08:00
yanran200730
9b0130e3a7 网格大屏 2022-01-17 17:10:20 +08:00
yanran200730
18406063a9 26787 2022-01-14 18:52:57 +08:00
yanran200730
04fe86fe28 26782 2022-01-14 18:09:16 +08:00
yanran200730
143f583ea5 bug 2022-01-14 17:38:56 +08:00
yanran200730
75bf4c48a2 26745 2022-01-14 17:36:54 +08:00
yanran200730
6c09a8a464 26740 2022-01-14 17:26:40 +08:00
yanran200730
85fefcb74b 26752 2022-01-14 17:25:17 +08:00
yanran200730
f56d427d0d 26753 2022-01-14 17:23:34 +08:00
yanran200730
5d6a962a36 26762 2022-01-14 17:15:01 +08:00
yanran200730
9d4bd598f8 26761 2022-01-14 17:09:22 +08:00
yanran200730
f557ad2d86 会议管理 2022-01-14 13:33:01 +08:00
yanran200730
ff40e53f99 bug 2022-01-14 11:27:07 +08:00
yanran200730
a084f65663 优化 2022-01-14 11:11:21 +08:00
yanran200730
aa73246705 26730 2022-01-14 10:31:41 +08:00
yanran200730
e40058b688 26305 2022-01-14 10:27:33 +08:00
yanran200730
44f563d94e 26729 2022-01-14 10:25:44 +08:00
yanran200730
6da2c9de38 26323 2022-01-14 10:19:00 +08:00
yanran200730
0ec0d2444c 网格管理 2022-01-13 17:59:28 +08:00
yanran200730
bd925ea426 网格员 2022-01-13 17:50:33 +08:00
yanran200730
8ea705ba54 26710 2022-01-13 15:37:19 +08:00
yanran200730
b7327e5613 26682 2022-01-13 15:32:49 +08:00
yanran200730
2dd0c6dfe1 26713 2022-01-13 15:31:33 +08:00
yanran200730
11df20b022 26708 2022-01-13 15:27:51 +08:00
yanran200730
2226b3733b 26705 2022-01-13 15:26:00 +08:00
yanran200730
ad69011405 26720 2022-01-13 15:21:20 +08:00
yanran200730
f091321ac7 网格员-责任家庭 2022-01-13 14:56:49 +08:00
yanran200730
ca29a77dd2 防返贫 2022-01-13 10:22:20 +08:00
yanran200730
bfbb21228e Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-01-13 10:11:17 +08:00
yanran200730
f18f98f3ea 网格 2022-01-13 10:11:10 +08:00
刘仕伟
354db2f937 修改字段长度 2022-01-12 17:51:32 +08:00
yanran200730
3a52cbb083 26687 2022-01-12 17:45:13 +08:00
yanran200730
37ec666235 26686 2022-01-12 17:43:25 +08:00
yanran200730
a8bad5b96f 26684 2022-01-12 17:41:28 +08:00
yanran200730
f01a900c3d 26683 2022-01-12 17:40:29 +08:00
yanran200730
cab34aa178 统计 2022-01-12 17:38:25 +08:00
yanran200730
c685f3c081 26680 2022-01-12 17:37:00 +08:00
yanran200730
75840e02a4 26668 2022-01-12 17:34:02 +08:00
yanran200730
40412844ed 26665 2022-01-12 17:30:43 +08:00
yanran200730
565fb6fcb2 26662 2022-01-12 17:30:00 +08:00
yanran200730
dde67c0626 26681 2022-01-12 17:28:12 +08:00
yanran200730
ff312a5b1d bug 2022-01-12 17:26:16 +08:00
yanran200730
afcfd6caa8 健康上报 2022-01-12 16:42:42 +08:00
yanran200730
41e5b2665a 26669 2022-01-12 16:40:49 +08:00
yanran200730
7d8e50d5c8 26662 2022-01-12 16:37:31 +08:00
yanran200730
327d38f356 26663 2022-01-12 16:35:40 +08:00
yanran200730
e0e4385e35 26664 2022-01-12 16:34:50 +08:00
yanran200730
ec9ef47eb6 26665 2022-01-12 16:34:11 +08:00
yanran200730
b8e09562b1 26677 2022-01-12 16:32:30 +08:00
yanran200730
8d0b8d17a0 26658 2022-01-12 16:30:20 +08:00
yanran200730
befcbf25c8 26657 2022-01-12 16:28:51 +08:00
yanran200730
b818df0599 26655 2022-01-12 16:24:50 +08:00
yanran200730
ac37668cd6 26667 2022-01-12 16:23:13 +08:00
yanran200730
bace1def3d 26653 2022-01-12 16:21:28 +08:00
yanran200730
9715c28362 26652 2022-01-12 16:20:37 +08:00
yanran200730
0d2fb84436 26671 2022-01-12 16:14:40 +08:00
yanran200730
2e729a3394 26671 2022-01-12 16:13:30 +08:00
yanran200730
ac8957511b 26672 2022-01-12 16:12:59 +08:00
yanran200730
f4adb2fab0 26673 2022-01-12 16:12:01 +08:00
yanran200730
97ae55bc1f 26651 2022-01-12 16:11:08 +08:00
yanran200730
9ab95599ab 26650 2022-01-12 16:09:31 +08:00
yanran200730
b967fbd71a 26648 2022-01-12 16:08:34 +08:00
yanran200730
eca0aeb263 高风险地区 2022-01-12 11:34:02 +08:00
yanran200730
7f56764456 疫情防控 2022-01-12 10:49:10 +08:00
yanran200730
bdfc9cf3c7 疫情防控 2022-01-12 08:36:23 +08:00
yanran200730
3f27a09ffa bug 2022-01-07 18:52:36 +08:00
yanran200730
0de774d55e 26305 2022-01-07 18:15:39 +08:00
yanran200730
58eceb751a bgu 2022-01-07 18:06:45 +08:00
yanran200730
27e24ee0be 26446 2022-01-07 16:34:50 +08:00
yanran200730
65710e72bb content 2022-01-07 16:33:19 +08:00
yanran200730
b73b7e9c61 26516 2022-01-07 16:32:23 +08:00
yanran200730
4b5e0d70b8 居民议事 2022-01-07 13:52:22 +08:00
yanran200730
3ffcd119f7 居民议事 2022-01-07 13:50:29 +08:00
yanran200730
12134cff51 bug 2022-01-07 11:48:19 +08:00
yanran200730
55634c2b4d 26480 2022-01-07 11:43:26 +08:00
yanran200730
ca9913726e 26397 2022-01-07 11:41:43 +08:00
yanran200730
662527611f 26445 2022-01-07 11:36:49 +08:00
yanran200730
d0666073b6 26326 2022-01-07 11:33:20 +08:00
yanran200730
decf828911 26441 2022-01-07 10:59:42 +08:00
yanran200730
8903d4553a 26467 2022-01-07 10:21:56 +08:00
yanran200730
281af87870 26468 2022-01-07 10:20:53 +08:00
yanran200730
bbf3cc1c6c 26469 2022-01-07 10:20:16 +08:00
yanran200730
22dc407215 26470 2022-01-07 10:17:59 +08:00
yanran200730
a86910bc6e 26362 2022-01-07 09:26:00 +08:00
yanran200730
ad0161d8e7 26426 2022-01-07 09:17:24 +08:00
yanran200730
ed9d612e23 26427 2022-01-07 09:16:44 +08:00
yanran200730
fb6a398380 26433 2022-01-07 09:15:15 +08:00
yanran200730
77c480cf89 26435 2022-01-07 09:13:51 +08:00
yanran200730
c09b2a01d5 26437 2022-01-07 09:06:54 +08:00
yanran200730
2aea462902 26443 2022-01-07 08:52:32 +08:00
yanran200730
d4d686b9d1 26446 2022-01-07 08:47:37 +08:00
yanran200730
74c4e9613b 26416 2022-01-06 17:43:24 +08:00
yanran200730
c3eb1db619 26412 2022-01-06 17:38:46 +08:00
yanran200730
3e51259802 26410 2022-01-06 17:33:10 +08:00
yanran200730
16622b5649 26374 2022-01-06 17:31:58 +08:00
yanran200730
b82cf2a0e1 26419 2022-01-06 17:28:41 +08:00
yanran200730
252ea72212 随手拍 2022-01-06 17:06:27 +08:00
yanran200730
06839ecf21 26363 2022-01-06 09:15:13 +08:00
yanran200730
446f80d5fd 26398 2022-01-06 09:04:47 +08:00
yanran200730
4f1f6fb229 26395 2022-01-06 08:59:17 +08:00
yanran200730
6734034782 bug 2022-01-06 08:54:12 +08:00
yanran200730
f18e443338 26374 2022-01-05 18:14:55 +08:00
yanran200730
41857e98ac 26358 2022-01-05 18:11:25 +08:00
yanran200730
8f7cd4fbcc 26349 2022-01-05 18:10:31 +08:00
yanran200730
8a28963138 26361 2022-01-05 18:09:27 +08:00
yanran200730
75b7d3d79a 26356 2022-01-05 17:46:58 +08:00
yanran200730
27ad71a856 26356 2022-01-05 17:46:39 +08:00
yanran200730
b5e65c4086 26355 2022-01-05 17:45:34 +08:00
yanran200730
a4e1dde375 26354 2022-01-05 17:45:04 +08:00
yanran200730
a22e8fa0d5 26352 2022-01-05 17:44:20 +08:00
yanran200730
6328209ffc 26351 2022-01-05 17:39:19 +08:00
yanran200730
4de93ae3b4 26350 2022-01-05 17:38:37 +08:00
yanran200730
d3bc288558 26349 2022-01-05 17:34:41 +08:00
yanran200730
742281f807 26340 2022-01-05 17:33:54 +08:00
yanran200730
d6146ef600 26370 2022-01-05 17:32:45 +08:00
yanran200730
a3b633f510 26364 2022-01-05 17:31:27 +08:00
yanran200730
296fedb89d Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2022-01-05 09:28:47 +08:00
yanran200730
89cad98a82 村民议事 2022-01-05 09:28:41 +08:00
aixianling
4499445db6 BUG 26305 2022-01-04 18:38:27 +08:00
艾贤凌
76484f4b95 BUG 26305 2022-01-04 10:25:31 +00:00
yanran200730
4cbe34c08c 村民议事 2022-01-04 18:03:46 +08:00
yanran200730
945a087f1b 村民议事 2022-01-04 18:02:13 +08:00
aixianling
56e73bf7ad BUG 26199 2021-12-31 18:23:14 +08:00
aixianling
1013f2b29c 功能分配增加防抖 2021-12-31 17:19:59 +08:00
yanran200730
1020513f13 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2021-12-31 16:45:56 +08:00
yanran200730
2fee0695a1 大屏适配 2021-12-31 16:45:49 +08:00
aixianling
5d2c90bbab BUG 26291 2021-12-31 16:38:34 +08:00
aixianling
4f5b1e65aa BUG 26289 2021-12-31 16:37:13 +08:00
aixianling
57b048cba0 BUG 26287 2021-12-31 15:44:18 +08:00
aixianling
454d77a0df BUG 26264 2021-12-31 15:11:45 +08:00
aixianling
309a75a7c8 BUG 26272 2021-12-31 14:54:10 +08:00
aixianling
a0a34eb431 BUG 26273 2021-12-31 14:37:08 +08:00
aixianling
1c60cc9403 BUG 26246 2021-12-31 11:32:40 +08:00
aixianling
f1ba40f33a BUG 26253 2021-12-31 11:30:49 +08:00
aixianling
1e406154d3 BUG 26247 2021-12-31 11:29:26 +08:00
aixianling
01b59534fe BUG 26247 2021-12-31 11:29:18 +08:00
aixianling
73be1b2646 BUG 26199 2021-12-31 11:09:56 +08:00
aixianling
34abb465d2 BUG 26248 2021-12-31 11:06:54 +08:00
刘仕伟
f22eb9a004 同步部门调整 2021-12-30 21:29:03 +08:00
刘仕伟
42255fa183 bug25876 2021-12-30 19:43:32 +08:00
刘仕伟
17ac94b44a 添加客服类型 2021-12-30 17:57:42 +08:00
yanran200730
a744f90b35 走访慰问 2021-12-30 09:27:12 +08:00
yanran200730
1f4bd475ef 26092 2021-12-29 11:34:53 +08:00
yanran200730
60bd2ad03d Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2021-12-29 09:13:17 +08:00
yanran200730
929408e1e5 bug 2021-12-29 09:13:11 +08:00
aixianling
dd7ba62505 Merge remote-tracking branch 'origin/dev' into dev 2021-12-28 17:59:39 +08:00
aixianling
cb9edd72d6 调整菜单目录交互 2021-12-28 17:59:23 +08:00
yanran200730
94dca3d6c4 大屏设计新增图片素材管理 2021-12-28 16:34:27 +08:00
yanran200730
f7add33031 26088 2021-12-28 14:57:49 +08:00
yanran200730
b33e9f8b85 26091 2021-12-28 14:39:17 +08:00
yanran200730
f2fd618255 小程序公告 2021-12-28 14:26:24 +08:00
yanran200730
f8d2ac641e 26121 2021-12-28 14:23:01 +08:00
yanran200730
9d8f35581c 26116 2021-12-28 14:15:56 +08:00
yanran200730
a6300e7163 25619 2021-12-28 14:12:50 +08:00
yanran200730
bba329a41c 大屏设计页面更换json编辑器 2021-12-28 09:45:57 +08:00
yanran200730
0014d989a0 26061 2021-12-27 14:56:44 +08:00
yanran200730
2765b66115 26086 2021-12-27 14:54:43 +08:00
yanran200730
ae2b788a65 26063 2021-12-27 14:53:27 +08:00
yanran200730
087bd470ec Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2021-12-27 14:49:19 +08:00
yanran200730
a8e0988970 26074 2021-12-27 14:49:13 +08:00
aixianling
18b60f9fa2 Merge remote-tracking branch 'origin/dev' into dev 2021-12-27 11:47:37 +08:00
aixianling
ef4c0d20e5 BUG 26056 2021-12-27 11:47:10 +08:00
yanran200730
a9046bb89a 26054 2021-12-27 11:36:44 +08:00
yanran200730
1a611ae18e 26027 2021-12-24 22:56:37 +08:00
yanran200730
31df5592bf 三会一课 2021-12-24 20:21:39 +08:00
yanran200730
11150f2eea 三会一课 2021-12-24 20:12:05 +08:00
yanran200730
1d2510f465 党组织 2021-12-24 20:04:01 +08:00
yanran200730
53df0f957c 内容发布 2021-12-24 20:01:57 +08:00
yanran200730
d6c3c2b130 25623 2021-12-24 19:54:11 +08:00
yanran200730
539311d192 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2021-12-24 19:47:45 +08:00
yanran200730
52b742f503 25623 2021-12-24 19:46:20 +08:00
aixianling
83674cf6bb BUG 26014 2021-12-24 19:45:16 +08:00
yanran200730
63dd7c0fd7 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2021-12-24 18:50:57 +08:00
yanran200730
99f1cbd934 内容发布 2021-12-24 18:50:51 +08:00
aixianling
f29d742a49 Merge remote-tracking branch 'origin/dev' into dev 2021-12-24 18:30:40 +08:00
aixianling
41d5eba0bb BUG 25607 2021-12-24 18:30:25 +08:00
yanran200730
390288d0f4 视频封面 2021-12-24 18:25:01 +08:00
yanran200730
ee39c87bf7 bug 2021-12-24 18:20:22 +08:00
yanran200730
bd4861e4c1 25624 2021-12-24 18:12:00 +08:00
yanran200730
115cd0b4ae Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2021-12-24 17:43:22 +08:00
yanran200730
ce8be993fe 大屏设计 2021-12-24 17:42:51 +08:00
aixianling
c857a9af4d BUG 26003 2021-12-24 17:40:27 +08:00
aixianling
f692f1eca2 BUG 26002 2021-12-24 17:38:01 +08:00
aixianling
2fd57b9404 BUG 25560 2021-12-24 16:32:42 +08:00
aixianling
585d896cc3 BUG 25559 2021-12-24 16:16:05 +08:00
aixianling
2cd746f1d1 BUG 25869 2021-12-24 15:23:43 +08:00
aixianling
8b56199ce7 Merge remote-tracking branch 'origin/dev' into dev 2021-12-24 15:09:27 +08:00
aixianling
cd09934080 BUG 25975 2021-12-24 15:09:16 +08:00
yanran200730
4a7895b0e2 25987 2021-12-24 15:03:32 +08:00
yanran200730
4253d7eb8e 25990 2021-12-24 15:02:30 +08:00
yanran200730
cee0a1112f 25960 2021-12-24 14:48:15 +08:00
yanran200730
053467032d 25709 2021-12-24 14:44:58 +08:00
yanran200730
a7b261a734 问卷表单 2021-12-24 14:43:32 +08:00
yanran200730
816c6505d7 问卷表单 2021-12-24 14:38:44 +08:00
yanran200730
17d08ef94c 25973 2021-12-24 14:38:00 +08:00
yanran200730
009a1a98df 25978 2021-12-24 14:31:25 +08:00
yanran200730
abf728c500 25945 2021-12-24 13:49:51 +08:00
yanran200730
9ec03075eb 居民档案 2021-12-24 13:48:27 +08:00
yanran200730
9b5a92d113 导航配置 新增认证类型 2021-12-24 11:55:33 +08:00
yanran200730
75b9400571 bug 2021-12-24 10:59:19 +08:00
yanran200730
d141f4a908 25629 2021-12-24 10:58:38 +08:00
yanran200730
5370e51f8a 25906 2021-12-24 10:40:02 +08:00
yanran200730
ef9f3c6517 25899 2021-12-24 09:43:56 +08:00
yanran200730
8756b51ab8 内容发布 2021-12-24 09:25:13 +08:00
yanran200730
b355aa642c 特殊人群 2021-12-24 09:19:48 +08:00
yanran200730
27f4a48e92 25868 2021-12-23 19:11:20 +08:00
yanran200730
18182ea5a1 25866 2021-12-23 19:04:19 +08:00
yanran200730
6ec6c4a73e 25871 2021-12-23 19:03:00 +08:00
yanran200730
ac46ebb348 25600 2021-12-23 18:05:50 +08:00
yanran200730
aa1f45e10a 25616 2021-12-23 17:51:51 +08:00
yanran200730
5e51bfaaa4 25855 2021-12-23 17:41:59 +08:00
yanran200730
14578a575e 25841 2021-12-23 17:39:17 +08:00
yanran200730
298c5b9f8a 25843 2021-12-23 17:14:37 +08:00
yanran200730
e93f2d9d42 25845 2021-12-23 16:56:52 +08:00
yanran200730
6e7d0dd8b2 25840 2021-12-23 16:42:20 +08:00
yanran200730
b89ab13f2d 招工就业 2021-12-23 16:37:59 +08:00
yanran200730
196daf7860 招工就业 2021-12-23 16:32:55 +08:00
yanran200730
c39483fb3e 25623 2021-12-23 16:26:28 +08:00
yanran200730
720a36c8de 25624 2021-12-23 16:18:20 +08:00
yanran200730
f48f191273 25667 2021-12-23 16:10:21 +08:00
yanran200730
3b3a728b7d 25571 2021-12-23 16:02:56 +08:00
yanran200730
d42606f99a 三会一课 2021-12-23 15:50:06 +08:00
yanran200730
14da3b1a52 25755 2021-12-23 15:40:09 +08:00
yanran200730
4a33e17110 25775 2021-12-23 15:29:44 +08:00
yanran200730
bdee85e334 25804 2021-12-23 15:21:48 +08:00
yanran200730
376034d4c4 25807 2021-12-23 15:16:40 +08:00
yanran200730
d8a9b2df48 25803 2021-12-23 15:05:59 +08:00
yanran200730
bba21ea9f4 25799 2021-12-23 14:32:37 +08:00
yanran200730
0dc5f5d7b2 25797 2021-12-23 14:19:47 +08:00
yanran200730
5ad75b217f 25561 2021-12-23 14:16:17 +08:00
yanran200730
4ae1b1ec2e 25702 2021-12-23 11:42:10 +08:00
yanran200730
72269da46f 25701 2021-12-23 11:41:39 +08:00
yanran200730
37cfd3fd46 25762 2021-12-23 11:38:58 +08:00
yanran200730
5c8af74966 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2021-12-23 11:19:34 +08:00
yanran200730
de1035eb08 25720 2021-12-23 11:19:26 +08:00
aixianling
563e15136c Merge remote-tracking branch 'origin/dev' into dev 2021-12-22 19:31:55 +08:00
aixianling
49bc304960 更新腾讯地图 2021-12-22 19:31:43 +08:00
yanran200730
ca7d06b6a6 活动统计 2021-12-22 19:10:18 +08:00
yanran200730
1553352c88 25695 2021-12-22 19:04:43 +08:00
yanran200730
87deb83ed5 村民活动 2021-12-22 18:38:15 +08:00
yanran200730
3bff647de9 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2021-12-22 18:36:23 +08:00
yanran200730
d826f0b095 25690 2021-12-22 18:36:17 +08:00
aixianling
49f6fd00d8 BUG 25650 2021-12-22 17:54:28 +08:00
aixianling
a0c77542ea BUG 25578 2021-12-22 17:43:49 +08:00
aixianling
5d1211ba7a BUG 25578 2021-12-22 17:43:33 +08:00
aixianling
40dfe9e804 Merge remote-tracking branch 'origin/dev' into dev 2021-12-22 17:33:36 +08:00
aixianling
224caa595d BUG 25642 2021-12-22 17:33:25 +08:00
yanran200730
16c8a24163 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2021-12-22 17:32:02 +08:00
yanran200730
bc5c90ca47 婚丧嫁娶 2021-12-22 17:31:52 +08:00
aixianling
c239b6aa04 调整摄像头状态 2021-12-22 17:09:00 +08:00
aixianling
c2dd5e8d29 Merge remote-tracking branch 'origin/dev' into dev
# Conflicts:
#	packages/2.0.5/AppGridMap/components/list.vue
2021-12-22 17:08:32 +08:00
aixianling
302674273a 调整摄像头状态 2021-12-22 17:06:27 +08:00
yanran200730
f9cfba00bc 内容发布去掉缩略图 2021-12-22 17:02:55 +08:00
yanran200730
1ed59569e6 25619 2021-12-22 16:55:57 +08:00
yanran200730
a2208f04c3 25618 2021-12-22 16:51:13 +08:00
yanran200730
242bc9a759 25589 2021-12-22 16:46:41 +08:00
yanran200730
980b461d59 25639 2021-12-22 16:45:36 +08:00
yanran200730
9a7399c2b9 25615 2021-12-22 16:37:10 +08:00
yanran200730
def00addab 25613 2021-12-22 16:31:42 +08:00
yanran200730
b8767dfe76 25608 2021-12-22 16:15:38 +08:00
yanran200730
543ed3d746 小程序公告 2021-12-22 15:55:37 +08:00
yanran200730
d4749cbe7a 25556 2021-12-22 15:53:42 +08:00
yanran200730
4f10eb59a9 25554 2021-12-22 15:51:54 +08:00
yanran200730
cf3dc96e0b 25545 2021-12-22 15:49:51 +08:00
yanran200730
96072cf9b0 25543 2021-12-22 15:46:46 +08:00
yanran200730
56ba5a5a89 25598 2021-12-22 15:37:03 +08:00
yanran200730
0833e55c9d 新闻中心 2021-12-22 14:24:17 +08:00
yanran200730
2f1896b7c4 25643 2021-12-22 13:49:29 +08:00
yanran200730
b0021631b4 25617 2021-12-22 13:47:14 +08:00
yanran200730
65779c1fec 25630 2021-12-22 13:45:43 +08:00
yanran200730
defaa13849 25638 2021-12-22 13:40:24 +08:00
yanran200730
751679be2f 25631 2021-12-22 13:38:43 +08:00
yanran200730
f95d7e54f3 25645 2021-12-22 13:37:37 +08:00
yanran200730
11a897c366 25644 2021-12-22 13:35:21 +08:00
yanran200730
b711509609 25627 2021-12-22 13:34:37 +08:00
yanran200730
a2be11dee6 居民活动 2021-12-22 13:33:18 +08:00
yanran200730
7ee751973a 25604 2021-12-22 13:32:38 +08:00
yanran200730
dc8baff6d3 25595 2021-12-22 11:52:35 +08:00
yanran200730
7204db7887 25590 2021-12-22 11:48:11 +08:00
yanran200730
a2ba873ee0 25588 2021-12-22 11:46:22 +08:00
yanran200730
178d7e77a2 25586 2021-12-22 11:44:08 +08:00
yanran200730
24673e87ca 25585 2021-12-22 11:41:43 +08:00
yanran200730
48774e5853 bug 2021-12-22 11:36:50 +08:00
yanran200730
704498ed13 图片上传 2021-12-22 11:35:40 +08:00
yanran200730
75594e3e54 25583 2021-12-22 11:34:04 +08:00
yanran200730
ffbe06071f 25582 2021-12-22 11:30:36 +08:00
yanran200730
2a23f72102 25581 2021-12-22 11:29:02 +08:00
yanran200730
b75a945a7a 25579 2021-12-22 11:27:32 +08:00
yanran200730
ec5ab626d9 25575 2021-12-22 11:24:07 +08:00
yanran200730
96eae682c0 25576 2021-12-22 11:21:32 +08:00
yanran200730
a6d286d62d 25576 2021-12-22 11:14:44 +08:00
yanran200730
3964cc2769 内容发布 2021-12-22 11:05:32 +08:00
yanran200730
543b247d72 25562 2021-12-22 10:57:58 +08:00
yanran200730
92f5b6789e 25557 2021-12-22 10:54:00 +08:00
yanran200730
6e03eaebe4 25544 2021-12-22 10:13:07 +08:00
yanran200730
b0b5796ece 25542 2021-12-22 10:09:38 +08:00
yanran200730
627d688c2d 导航配置 2021-12-22 09:56:07 +08:00
yanran200730
062af00b20 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2021-12-22 09:48:46 +08:00
yanran200730
f59c178d65 导航配置 2021-12-22 09:48:39 +08:00
aixianling
aeab27e00c Merge remote-tracking branch 'origin/dev' into dev 2021-12-21 18:31:12 +08:00
aixianling
d9fed5e75f 清除党史教育 2021-12-21 18:31:01 +08:00
yanran200730
fd260eaefb Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2021-12-21 18:16:08 +08:00
yanran200730
6b1e4556d8 完成本村活动 2021-12-21 18:16:02 +08:00
aixianling
59c9757ca3 BUG 25629 2021-12-21 18:15:18 +08:00
aixianling
7a4fb1146e Merge remote-tracking branch 'origin/dev' into dev 2021-12-21 18:12:32 +08:00
aixianling
19e26af1a4 BUG 25628 2021-12-21 18:12:18 +08:00
yanran200730
c760419680 村民统计 2021-12-21 18:09:28 +08:00
yanran200730
0575dcadda Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2021-12-21 17:53:44 +08:00
yanran200730
ed55273d5a 居民活动统计页面 2021-12-21 17:53:38 +08:00
aixianling
7c3f031e6e 雷雷要加搜索过滤 2021-12-21 17:02:25 +08:00
aixianling
c83712640a BUG 25578 2021-12-21 16:52:49 +08:00
yanran200730
2526a22e38 招工就业 2021-12-21 16:51:36 +08:00
yanran200730
0dc777d02b 招工就业 2021-12-21 16:47:14 +08:00
yanran200730
47e0b485ab 内容发布 2021-12-21 15:31:55 +08:00
yanran200730
9dc6dbb4b7 内容发布 2021-12-21 14:40:05 +08:00
yanran200730
c32e22ac80 驻村辅警 2021-12-20 17:52:22 +08:00
yanran200730
931eca4fb3 驻村辅警 2021-12-20 17:50:06 +08:00
yanran200730
ae5cc0e0a4 内容管理 2021-12-20 17:31:30 +08:00
yanran200730
5fe29a09fb 乡村相册 2021-12-20 16:36:09 +08:00
yanran200730
354750e04a 乡村相册 2021-12-20 16:17:01 +08:00
yanran200730
b70dba7144 便民通讯录 2021-12-20 15:48:56 +08:00
yanran200730
b1e80ec0ca 本村活动 2021-12-20 15:33:16 +08:00
yanran200730
0b6c9ed68b 表单配置 2021-12-20 10:35:34 +08:00
yanran200730
2a88c51405 小程序公告 2021-12-20 10:25:02 +08:00
yanran200730
fe582353bb Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2021-12-20 09:35:46 +08:00
yanran200730
32dfdc495c 表单配置 2021-12-20 09:35:40 +08:00
aixianling
72e4300677 web端党史迁移完毕 2021-12-20 09:32:07 +08:00
aixianling
d21e874718 Merge remote-tracking branch 'origin/dev' into dev 2021-12-18 18:29:44 +08:00
aixianling
a0e5ca3656 迁移三会一课 2021-12-18 18:29:28 +08:00
yanran200730
63b12899f0 婚丧嫁娶 2021-12-18 17:50:37 +08:00
yanran200730
91c49e48d7 晒农产品 2021-12-18 17:42:41 +08:00
yanran200730
a2e9a4831a 晒农产品 2021-12-18 17:41:26 +08:00
yanran200730
238f9e5538 完成内容发布 2021-12-18 17:16:50 +08:00
aixianling
35a2b6f11d 释放管控逻辑 2021-12-18 17:03:13 +08:00
aixianling
947e07a1f3 Merge remote-tracking branch 'origin/dev' into dev 2021-12-18 16:47:56 +08:00
aixianling
5f0769868f 菜单优化 2021-12-18 16:47:40 +08:00
yanran200730
c3650e0b9c Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2021-12-18 14:16:57 +08:00
yanran200730
7527cdc8c2 本村活动 2021-12-18 14:16:50 +08:00
aixianling
9d8cd07b8a 调整样式 2021-12-18 11:45:22 +08:00
aixianling
dbf81a44e9 调整样式 2021-12-18 11:43:53 +08:00
aixianling
c30278f104 Merge remote-tracking branch 'origin/dev' into dev 2021-12-18 11:39:30 +08:00
aixianling
af0903a979 增加账号角色管理 2021-12-18 11:39:14 +08:00
yanran200730
3188da1ad3 本村活动 2021-12-18 11:27:59 +08:00
yanran200730
5134ae67f1 Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev 2021-12-18 10:29:55 +08:00
yanran200730
eb05a503ac 村民议事 2021-12-18 10:29:49 +08:00
aixianling
6f0f5d40b0 Merge remote-tracking branch 'origin/dev' into dev 2021-12-18 09:52:14 +08:00
aixianling
79b0a142cf 修改NPM脚本 2021-12-18 09:51:59 +08:00
yanran200730
6892ecf6df bug 2021-12-18 09:22:17 +08:00
aixianling
fc76fd16fc 增加系统信息管理在企微设置中 2021-12-17 15:10:38 +08:00
yanran200730
0cb223e80b bug 2021-12-17 09:51:09 +08:00
yanran200730
942a8c4106 完成村民活动 2021-12-16 19:10:31 +08:00
yanran200730
2e10daef30 完成本村相册 2021-12-16 18:10:43 +08:00
yanran200730
fee27b681b 完成本村辅警 2021-12-16 16:56:44 +08:00
yanran200730
9e7c39103f 本村简介,村规民约 2021-12-16 16:34:45 +08:00
yanran200730
7d15d4a1cb 完成本村简介和村规民约 2021-12-16 16:31:26 +08:00
yanran200730
3ce4c2f542 完成导航配置接口对接 2021-12-16 15:36:01 +08:00
yanran200730
f6ec0d0d96 小程序公告详情 2021-12-16 15:08:03 +08:00
yanran200730
0ed6cdb32e 完成小程序通告和便民通讯录 2021-12-16 15:04:47 +08:00
yanran200730
e39d41ec1a 导航配置 2021-12-16 14:17:10 +08:00
yanran200730
5464e830af 专题活动 2021-12-15 18:26:53 +08:00
yanran200730
e4af824c41 专题配置 2021-12-15 18:21:44 +08:00
yanran200730
af161676dd 婚丧嫁娶 2021-12-15 16:30:41 +08:00
yanran200730
62681fee0c 晒农产品 2021-12-15 15:43:33 +08:00
yanran200730
45ae210236 走访慰问 2021-12-15 15:13:28 +08:00
aixianling
0dbbbc40d3 调整自动路由 2021-12-14 18:54:03 +08:00
aixianling
a8dff862d2 初始化 2021-12-14 18:36:19 +08:00
1729 changed files with 422592 additions and 0 deletions

2
.env.ai Normal file
View File

@@ -0,0 +1,2 @@
VUE_APP_SCOPE=ai
VUE_APP_API=http://192.168.1.87:9000

5
.env.biaopin Normal file
View File

@@ -0,0 +1,5 @@
VUE_APP_SCOPE=biaopin
#VUE_APP_API=https://web.fdfengshou.cn/
#VUE_APP_API=http://192.168.1.87:9000/
VUE_APP_API=https://www.wyzzb.com
#VUE_APP_API=http://test87web.cunwuyun.cn/

2
.env.dv Normal file
View File

@@ -0,0 +1,2 @@
VUE_APP_SCOPE=dv
VUE_APP_API=http://192.168.1.87:9000

4
.env.fengdu Normal file
View File

@@ -0,0 +1,4 @@
VUE_APP_SCOPE=fengdu
#VUE_APP_API=https://web.fdfengshou.cn/
VUE_APP_API=http://192.168.1.87:9000/
#VUE_APP_API=http://test87web.cunwuyun.cn/

4
.env.oms Normal file
View File

@@ -0,0 +1,4 @@
VUE_APP_SCOPE=oms
VUE_APP_API=http://192.168.1.87:19897
VUE_APP_IS_SIMPLE_SERVER=1
VUE_APP_PORT=19897

58
.gitignore vendored Normal file
View File

@@ -0,0 +1,58 @@
.DS_Store
node_modules
/dist
# local env files
.env.local
.env.*.local
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
/package-lock.json
/lib
.prettierrc
/oms/dist/
/project/*/index.js
/project/*/dist
/ui/package-lock.json
/examples/modules.json
/src/apps/
/src/config.json
/.nuxt/components/nuxt.js
/.nuxt/components/nuxt-build-indicator.vue
/.nuxt/components/nuxt-child.js
/.nuxt/components/nuxt-error.vue
/.nuxt/components/nuxt-link.client.js
/.nuxt/components/nuxt-link.server.js
/.nuxt/components/nuxt-loading.vue
/.nuxt/layouts/default.vue
/.nuxt/mixins/fetch.client.js
/.nuxt/mixins/fetch.server.js
/.nuxt/views/app.template.html
/.nuxt/views/error.html
/.nuxt/App.js
/.nuxt/client.js
/.nuxt/empty.js
/.nuxt/index.js
/.nuxt/jsonp.js
/.nuxt/loading.html
/.nuxt/middleware.js
/.nuxt/router.js
/.nuxt/router.scrollBehavior.js
/.nuxt/routes.json
/.nuxt/server.js
/.nuxt/store.js
/.nuxt/utils.js

14
.npmignore Normal file
View File

@@ -0,0 +1,14 @@
# 忽略目录
examples/
packages/
subPackages/
core/
public/
project/
.idea/
ui/lib/
# 忽略指定文件
vue.config.js
babel.config.js
*.map

4
.npmrc Normal file
View File

@@ -0,0 +1,4 @@
email=aixianling@sinoecare.com
package-lock=false
registry=http://registry.npmmirror.com
legacy-peer-deps=true

11
babel.config.js Normal file
View File

@@ -0,0 +1,11 @@
module.exports = {
presets: [
'@vue/app',
],
plugins: [
// 可选链插件, 其他babel插件也是一样的安装方式
"@babel/plugin-proposal-optional-chaining",
"@babel/plugin-proposal-nullish-coalescing-operator",
"@babel/plugin-proposal-logical-assignment-operators"
]
}

38
bin/appsSync.js Normal file
View File

@@ -0,0 +1,38 @@
const axios = require("axios");
const {chalkTag, findApp, fs} = require("./tools");
const compiler = require('vue-template-compiler')
const saveApps = app => {
if (app.list.length > 0) {
return axios.post("http://192.168.1.87:12525/node/wechatapps/addOrUpdate", app, {timeout: 1000}).then(res => {
if (res.data.code == 0) chalkTag.done("产品库目录已同步至后台数据库...")
}).catch(() => 0)
} else return Promise.reject("没有应用")
}
const getAppInfo = (file, apps) => {
if (/[\\\/](App[A-Z][^\\\/]+)\.vue$/g.test(file)) {
const name = file.replace(/.+[\\\/](App[^\\\/]+)\.vue$/, '$1'),
source = fs.readFileSync(file).toString(),
parsed = compiler.parseComponent(source),
script = parsed.script?.content || "",
label = script.match(/label:[^,]+/)?.[0]?.replace(/.+["']([^"']+).+/, '$1')
apps.push({
id: file.replace(/\.vue$/, '').replace(/[\\\/]/g, '_'),
label: label || name,
libPath: `/${file.replace(/\.vue$/, '').replace(/[\\\/]/g, '/')}`,
name,
type: 'web'
})
}
}
const sync = () => {
chalkTag.info("开始扫描库工程...")
const list = []
Promise.all([
findApp('packages', app => getAppInfo(app, list)),
findApp('project', app => getAppInfo(app, list)),
]).then(() => {
chalkTag.info("正在同步...")
saveApps({type: "web", list}).catch(() => 0).finally(() => chalkTag.done("同步成功!"))
})
}
sync()

33
bin/mods.js Normal file
View File

@@ -0,0 +1,33 @@
const {chalkTag, findApp, fs, fsExtra} = require("./tools");
const compiler = require('vue-template-compiler')
const getAppInfo = (file, apps) => {
if (/[\\\/](App[A-Z][^\\\/]+)\.vue$/g.test(file)) {
const name = file.replace(/.+[\\\/](App[^\\\/]+)\.vue$/, '$1'),
source = fs.readFileSync(file).toString(),
parsed = compiler.parseComponent(source),
script = parsed.script?.content || "",
label = script.match(/label:[^,]+/)?.[0]?.replace(/.+["']([^"']+).+/, '$1')
const paths = file.split(/[\\\/]/)
apps.push({
id: file.replace(/\.vue$/, '').replace(/[\\\/]/g, '_'),
label: label || name,
path: `/${file.replace(/\.vue$/, '').replace(/[\\\/]/g, '/')}`,
workspace: paths.at(0),
esm: ['.', paths.slice(1)].flat().join("/"),
name
})
}
}
const start = () => {
chalkTag.info("开始扫描库工程...")
const list = []
Promise.all([
findApp('packages', app => getAppInfo(app, list)),
findApp('project', app => getAppInfo(app, list)),
]).then(() => {
fsExtra.outputJson('examples/modules.json', {apps: list})
chalkTag.done("扫描完毕")
})
}
start()

70
bin/tools.js Normal file
View File

@@ -0,0 +1,70 @@
const fsExtra = require('fs-extra')
const path = require('path')
const chalk = require('chalk')
const fs = require('fs')
/**
* 将函数封装成promise
*/
const promisify = fn => {
return function () {
let args = arguments;
return new Promise(function (resolve, reject) {
[].push.call(args, function (err, result) {
if (err) {
console.log(err)
reject(err);
} else {
resolve(result);
}
});
fn.apply(null, args);
});
}
}
const readdir = promisify(fs.readdir)
const stat = promisify(fs.stat)
/**
* 封装打印工具
*/
const {log} = console
const chalkTag = {
info: msg => log([chalk.bgBlue.black(' INFO '), msg].join(' ')),
done: msg => log([chalk.bgGreen.black(' DONE '), msg].join(' ')),
warn: msg => log([chalk.bgYellow.black(' WARN '), msg].join(' ')),
error: msg => log([chalk.bgRed.black(' ERROR '), msg].join(' ')),
}
/**
* 遍历应用的方法
*/
const findApp = (dir, cb) => {
fsExtra.ensureDirSync(dir)
return readdir(dir).then(apps => {
return Promise.all(apps.map(e => {
let cPath = path.join(dir, e)
return stat(cPath).then(state => {
if (state.isDirectory()) {
return findApp(cPath, cb)
} else if (state.isFile()) {
cb && cb(cPath)
}
})
}) || [])
})
}
const copyFiles = (dir, source = 'src/mods') => {
chalkTag.info(`开始扫描${source}...`)
return new Promise(resolve => {
fsExtra.emptyDir(dir, err => {
if (!err) {
fsExtra.copy(source, dir).then(() => {
chalkTag.done(source + ' 扫描完毕')
resolve()
})
}
})
})
}
module.exports = {findApp, chalkTag, fsExtra, copyFiles, fs, path}

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
examples/assets/file.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1,271 @@
<template>
<div class="headerNav navBg">
<div style="position: relative">
<ai-icon type="logo" :icon="'iconcunwei'"/>
<ai-icon type="logo" :icon="'iconcunwei'" class="textShadow"/>
</div>
<span class="headerTitle">{{ title }}<div class="textShadow" v-html="title"/></span>
<el-row type="flex" align="middle" class="toolbar">
<slot v-if="$slots.right" name="right"/>
</el-row>
<el-dropdown @visible-change="v=>isClick=v" @command="doMenu" class="rightDropdown">
<el-row type="flex" align="middle">
<el-avatar :src="user.info.avatar">
{{ defaultAvatar }}
</el-avatar>
<span v-text="defaultName"/>
<i :class="dropdownIcon"/>
</el-row>
<el-dropdown-menu>
<el-dropdown-item command="user">用户中心</el-dropdown-item>
<el-dropdown-item command="signOut">退出</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
<script>
import {mapState} from "vuex";
export default {
name: 'headerNav',
props: {
title: {default: ""}
},
data() {
return {
isClick: false,
drawer: false,//抽屉
count: 0,
filesList: [],
fileName: '',
badgeNum: 0,
dvOptions: []
}
},
computed: {
...mapState(['user']),
dropdownIcon: v => v.isClick ? 'el-icon-caret-top' : 'el-icon-caret-bottom',
defaultAvatar: v => v.user.info.name?.slice(-2) || "无名",
defaultName: v => [v.user.info.name, v.user.info.roleName].filter(Boolean)?.join(" - ") || "请先登录"
},
methods: {
// 获取最新的安卓、ios下载二维码
doMenu(comm) {
switch (comm) {
case 'signOut':
//登出
this.$confirm("是否要登出?", {type: "warning"}).then(() => {
this.$store.commit("SignOut")
}).catch(() => {
})
break;
case 'user':
this.$router.push({name: "个人中心"})
break;
}
},
}
}
</script>
<style lang="scss" scoped>
.headerNav {
display: flex;
align-items: center;
width: 100%;
background-repeat: no-repeat;
background-size: 100% 48px;
position: fixed;
z-index: 99;
height: 48px;
padding-left: 24px;
box-sizing: border-box;
top: 0;
color: white;
font-size: 14px;
.AiIcon {
font-size: 38px;
width: auto;
height: auto;
background: linear-gradient(180deg, #FFFFFF 0%, #CCDBF6 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
&:hover {
color: white;
}
}
.headerTitle {
flex: 1;
min-width: 0;
font-size: 24px;
color: #FFF;
line-height: 28px;
background: linear-gradient(180deg, #FFFFFF 0%, #CCDBF6 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
font-weight: bold;
margin-left: 8px;
position: relative;
}
.textShadow {
position: absolute;
top: 0;
text-shadow: 0 2px 0 #384DC3;
color: transparent;
z-index: -1;
}
:deep(.toolbar) {
gap: 12px;
margin-right: 32px;
& > div, .toolbarBtn {
color: #fff;
padding: 0 12px;
&:hover {
cursor: pointer;
color: rgba(#fff, .8);
}
}
}
.el-dropdown {
height: 48px;
line-height: 48px;
color: #fff;
padding: 0 12px;
&:hover {
background-color: rgba(46, 51, 68, .15);
color: white;
}
}
.el-image {
margin: 12px 0 12px 16px;
}
.rightDropdown {
font-size: 12px;
padding: 0 16px;
height: 48px;
background: rgba(#fff, .1);
.el-row {
gap: 4px;
}
}
}
:deep( .downLoad_main ) {
width: 100%;
height: 100%;
padding: 16px;
box-sizing: border-box;
.search_top {
display: flex;
justify-content: space-between;
align-items: center;
padding-bottom: 8px;
}
.infinite-list {
width: 100%;
height: 100%;
.infinite-list-item {
width: 100%;
padding: 8px;
box-sizing: border-box;
background: rgba(255, 255, 255, 1);
border-radius: 4px;
border: 1px solid rgba(208, 212, 220, 1);
margin-bottom: 8px;
display: flex;
justify-content: space-between;
.left {
display: flex;
justify-content: center;
align-items: center;
width: 30px;
.svg {
width: 24px;
height: 24px;
vertical-align: middle;
}
}
.middle {
flex: 1;
.fileName {
color: #333333;
font-size: 14px;
}
p:nth-child(2) {
color: #999999;
font-size: 12px;
span {
padding: 0 4px;
}
span:nth-child(2) {
border-right: solid 1px #999999;
}
span:nth-child(3) {
border-right: solid 1px #999999;
}
}
}
.right {
display: flex;
justify-content: center;
align-items: center;
font-size: 12px;
width: 90px;
text-align: center;
span {
color: #999999;
}
i {
display: block;
width: 50px;
color: #5088FF;
font-size: 12px;
cursor: pointer;
}
}
}
}
::-webkit-scrollbar {
width: 4px;
background-color: #eee;
}
::-webkit-scrollbar-thumb {
background-color: #8888;
}
}
</style>

View File

@@ -0,0 +1,32 @@
<template>
<section class="mainContent">
<ai-nav-tab :routes="apps"/>
<div class="fill">
<router-view/>
<ai-empty v-if="isHome">欢迎使用村微产品库</ai-empty>
</div>
</section>
</template>
<script>
import AiNavTab from "dui/packages/basic/AiNavTab";
import {mapState} from "vuex"
export default {
name: "mainContent",
components: {AiNavTab},
computed: {
...mapState(['apps']),
isHome: v => v.$route.path == '/',
},
}
</script>
<style lang="scss" scoped>
.mainContent {
height: 100%;
width: 100%;
display: flex;
flex-direction: column;
}
</style>

View File

@@ -0,0 +1,110 @@
<template>
<section class="mock">
<el-dropdown>
<div class="toolbarBtn" v-text="`生成随机数据`"/>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item>
<ai-dialog-btn dialogTitle="随机数据配置" :customFooter="false" @onConfirm="submit" appendToBody @open="getBeans" width="500px">
<div class="btn" slot="btn">生成数据</div>
<el-form size="small" label-width="60px">
<el-form-item label="接口">
<el-input v-model="action" placeholder="请输入接口" @change="handleAction"/>
</el-form-item>
</el-form>
</ai-dialog-btn>
</el-dropdown-item>
<el-dropdown-item>
<ai-dialog-btn dialogTitle="随机数据配置" :customFooter="false" @onConfirm="generateForm" appendToBody @open="getBeans" width="500px">
<div class="btn" slot="btn">页面数据</div>
<el-form size="small" label-width="60px">
<el-form-item label="接口">
<el-input v-model="action" placeholder="请输入接口" @change="handleAction"/>
</el-form-item>
</el-form>
</ai-dialog-btn>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</section>
</template>
<script>
import Mock from "mockjs"
import instance from "../router/axios";
export default {
name: "mock",
data() {
return {
instance,
action: "",
config: "",
swagger: {},//swagger接口对象集合
}
},
computed: {
url: v => /addOrUpdate/.test(v.action) ? v.action : `/${v.action}/addOrUpdate`
},
methods: {
handleAction() {
let formName = this.swagger.paths[this.url]?.post.parameters.find(e => e.in == "body")?.name || ""
const {Random} = Mock
if (formName) {
formName = Random.capitalize(formName)
const props = this.swagger.definitions[formName]?.properties || {}
Object.keys(props).map(e => {
const item = props[e]
if (item.format == "date-time") {
props[e] = () => Random.datetime()
} else if (/[0-9a-zA-Z]/.test(item.description)) {
props[e] = () => Random.pick(item.description?.match(/\b[0-9a-zA-Z]+\b/g))
} else if (/address/i.test(e)) {
props[e] = () => Random.county(true)
} else if (/userName/i.test(e)) {
props[e] = () => Random.cname()
} else if (/lat/.test(e)) {
props[e] = () => Random.float(3, 53, 6, 8)
} else if (/lng/.test(e)) {
props[e] = () => Random.float(73, 135, 6, 8)
} else if (item.type == "number") {
props[e] = () => Random.float(0, 1000, 0, 2)
} else if (item.type == "integer") {
props[e] = () => Random.integer(0, 1000)
} else if (item.type == "string") {
props[e] = () => Random.ctitle()
} else props[e] = null
})
this.config = props
}
},
getBeans() {
this.instance.get("/app/v2/api-docs", {withoutToken: true}).then(res => this.swagger = res)
},
generateForm() {
const {mock} = Mock
this.$vm.$emit("mock", mock(this.config))
},
submit() {
const {mock} = Mock
const data = mock({
'list|50-100': [this.config]
})
Promise.all(data.list.map(e => this.instance.post(this.url, e))).then(() => this.$message.success("随机数据生成,执行完毕!"))
}
}
}
</script>
<style lang="scss" scoped>
.mock {
.btn {
cursor: pointer;
user-select: none;
padding: 0 12px;
&:hover {
color: rgba(#fff, .8);
}
}
}
</style>

View File

@@ -0,0 +1,259 @@
<template>
<section class="sliderNav">
<el-input class="searchApp" size="small" v-model="searchApp" placeholder="搜索应用" clearable
prefix-icon="iconfont iconSearch" @change="recordSearch"/>
<el-scrollbar class="ai-menu">
<div v-for="(item,i) in navs" :key="i">
<div class="rootMenu" :class="{isActive:menuPath.includes(item.name)}"
@click.stop="openKidMenu(item)">
<i class="prep-icon" :class="item.style||'iconfont iconloudongmoxing'"/>
<span class="menuName fill" v-text="item.label"/>
<el-badge type="warning" :hidden="!item.project" :value="item.project"/>
<i v-if="item.children" class="iconfont" :class="arrowIcon(item.showChildren)"/>
</div>
<div class="kidMenu" v-if="item.showChildren" @click.stop>
<div class="kidPane">
<div class="submenu wrap" flex v-for="menu in item.children" :key="menu.name">
<b v-text="menu.label" :class="{menuBtn:menu.type==1,current:menuPath.includes(menu.name)}"
@click="handleSelect(menu)"/>
<div class="menuBtn" v-for="kid in menu.children" :key="kid.name" v-text="kid.label"
@click="handleSelect(kid)"
:class="{current:menuPath.includes(kid.name)}"/>
</div>
</div>
</div>
</div>
<div class="divider"/>
</el-scrollbar>
</section>
</template>
<script>
import {mapState} from "vuex";
export default {
name: "sliderNav",
data() {
return {
searchApp: "",
}
},
computed: {
...mapState(['user', 'apps']),
navs() {
let reg = new RegExp(`.*${this.searchApp?.replace(/-/g,'')||''}.*`, 'gi')
return (this.apps || []).filter(e => !this.searchApp || reg?.test(e.name) || reg?.test(e.label)).map(e => {
if (/\/project\//.test(e.path)) {
e.project = process.env.VUE_APP_SCOPE || e.path.replace(/.*project\/([^\/]+)\/.+/, '$1')
} else if (/\/core\//.test(e.path)) {
e.project = "core"
}
return e
})
},
menuPath() {
let paths = [], current = this.apps?.find(e => e.name == this.$route.name)
const findParent = name => {
let menu = this.apps?.find(e => e.name == name)
if (menu) {
paths.push(menu.name)
if (!!menu.parentId) findParent(menu.parentId)
}
}
if (current) {
findParent(current.name)
}
return paths
}
},
methods: {
openKidMenu(parent) {
if (parent.children) {
parent.showChildren = !parent.showChildren
} else {
this.handleSelect(parent)
}
},
handleSelect(item) {
if (!item.path) return
if (item.name == this.$route.name) {
//避免同一路由跳转的BUG vue-router官方BUG
} else {
let {name, path} = item
if (/\?app=/.test(path)) {
this.goto({name, query: {app: path.replace(/.+\?app=/, '')}})
} else if (/\?moduleId=/.test(path)) {
this.goto({name, query: {moduleId: path.replace(/.+\?moduleId=/, '')}})
} else {
this.goto({name})
}
}
},
goto(item) {
this.$router.push(item)
},
subMenuIcon(flag) {
return flag ? 'iconfont iconArrow_Down' : "iconfont iconArrow_Right"
},
arrowIcon(v) {
return v ? "iconArrow_Down" : "iconArrow_Right"
},
recordSearch() {
localStorage.setItem("searchApp", this.searchApp)
},
},
mounted() {
this.searchApp = localStorage.getItem("searchApp") || ""
}
}
</script>
<style lang="scss" scoped>
.sliderNav {
min-width: 200px;
height: 100%;
transition: width .1s;
display: flex;
justify-content: space-between;
flex-direction: column;
border-right: 1px solid #e5e5e5;
flex-shrink: 0;
box-sizing: border-box;
background: #EFF1F4;
color: #222;
position: relative;
.kidMenu {
padding: 0 16px;
background: #EFF1F4;
.rootName {
font-size: 20px;
color: #333;
cursor: default;
}
.kidPane {
font-size: 13px;
.submenu {
margin-top: 8px;
width: 100%;
color: #aaa;
& > b {
width: 100%;
line-height: 28px;
}
& > * {
cursor: default;
}
}
.menuBtn {
display: block;
width: 50%;
cursor: pointer;
line-height: 32px;
color: #333;
flex-shrink: 0;
&:hover {
color: #26f;
}
&.current {
color: #26f;
}
}
}
}
.rootMenu {
padding: 0 16px;
display: flex;
align-items: center;
height: 44px;
cursor: pointer;
box-shadow: 0px -1px 0px 0px #D8DCE3 inset, 0px 1px 0px 0px #FFF inset, -1px 0px 0px 0px #E5E5E5 inset;
gap: 8px;
font-size: 13px;
.iconfont {
color: #89B;
font-size: 20px;
}
&.isActive {
color: #26f;
.iconfont {
color: #26f !important;
}
}
&:hover {
color: #26f;
}
}
:deep( .ai-menu ) {
padding-left: 0;
flex: 1;
min-height: 0;
.el-scrollbar__wrap {
overflow-x: auto;
}
&::-webkit-scrollbar {
display: none;
}
}
:deep( .searchApp ) {
display: flex;
align-items: center;
height: 44px;
padding: 0 16px;
box-shadow: 0px -1px 0px 0px #E5E5E5 inset;
.el-input__inner {
border: none;
background: inherit;
padding: 0 28px;
}
.el-input__prefix {
left: 16px;
.iconSearch {
font-size: 20px;
width: fit-content;
color: #89B;
line-height: 44px;
}
}
}
.divider {
color: #aaa;
border-top: 1px solid #ddd;
position: relative;
font-size: 12px;
margin: 16px 16px 32px;
&:before {
content: "到达底部";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
padding: 0 16px;
background: #EFF1F4;
white-space: nowrap;
}
}
}
</style>

29
examples/main.js Normal file
View File

@@ -0,0 +1,29 @@
import Vue from 'vue';
import App from './App.vue';
import router from './router/router';
import axios from './router/axios';
import utils from './utils';
import dui from 'dui';
import store from './store';
import dataV from '@jiaminghi/data-view';
Vue.use(dataV)
Vue.use(dui);
//富文本编辑器配置
Vue.config.productionTip = false;
Object.keys(utils).map((e) => (Vue.prototype[e] = utils[e]));
Vue.prototype.$request = axios
const app = new Vue({
router,
store,
render: h => h(App)
});
let theme = null
store.dispatch('getSystem').then(res => {
theme = JSON.parse(res?.colorScheme || null)
Vue.prototype.$theme = theme?.web || "blue"
return import(`dui/lib/styles/theme.${theme?.web}.scss`).catch(() => 0)
}).finally(() => {
import(`dui/lib/styles/common.scss`).finally(() => app.$mount('#app'))
})

21
examples/nuxt.config.js Normal file
View File

@@ -0,0 +1,21 @@
import {resolve} from 'path'
export default {
css: ['ui/lib/styles/common.scss'],
dev: process.env.NODE_ENV !== 'production',
alias: {
'style': resolve(__dirname, './assets/style'),
'dui': resolve(__dirname, '../ui')
},
srcDir: "examples",
dir: {
pages: 'views',
},
build: {
postcss: null,
transpile: [/^ui/]
},
plugins: [
'~plugins/ui.js'
],
}

7
examples/plugins/ui.js Normal file
View File

@@ -0,0 +1,7 @@
import Vue from 'vue';
import ElementUI from 'element-ui';
import dui from 'dui/packages';
import 'dui/lib/styles/common.scss';
Vue.use(ElementUI);
Vue.use(dui)

View File

@@ -0,0 +1,81 @@
import store from "../store";
import {waiting} from "../utils";
import appEntry from "../views/appEntry";
import router from "./router";
export default {
routes: () => store.state.apps,
init() {
//约束正则式
store.commit("cleanApps")
// 自动化本工程应用
waiting.init({innerHTML: '应用加载中..'})
let startTime = new Date().getTime()
/**
* require.context 的路径变量范式只能为静态字符串
*/
switch (process.env.VUE_APP_SCOPE) {
case 'dv':
this.esm = {
packages: require.context('../../packages/bigscreen', true, /\.(\/.+)\/App[A-Z][^\/]+\.vue$/, 'lazy')
}
break
case 'fengdu':
this.esm = {
project: require.context('../../project/fengdu', true, /\.(\/.+)\/App[A-Z][^\/]+\.vue$/, 'lazy')
}
break
case 'ai':
this.esm = {
biaopin: require.context('../../project/biaopin/AppCopilotConfig', true, /\.\/App[A-Z][^\/]+\.vue$/, 'lazy'),
project: require.context('../../project/ai', true, /\.(\/.+)\/App[A-Z][^\/]+\.vue$/, 'lazy')
}
break
case 'oms':
this.esm = {
project: require.context('../../project/oms', true, /\.(\/.+)\/App[A-Z][^\/]+\.vue$/, 'lazy')
}
break
default:
this.esm = {
packages: require.context('../../packages/', true, /\.(\/.+)\/App[A-Z][^\/]+\.vue$/, 'lazy'),
project: require.context('../../project/', true, /\.(\/.+)\/App[A-Z][^\/]+\.vue$/, 'lazy')
}
}
console.log('模块引用用了%s秒', (new Date().getTime() - startTime) / 1000)
startTime = new Date().getTime()
this.loadApps().finally(() => {
console.log('模块加载用了%s秒', (new Date().getTime() - startTime) / 1000)
waiting.close()
})
},
loadMods() {
// return Promise.all(mods.apps.map(e => {
// Vue.component(e.name, this.esm[e.workspace](e.esm))
// const addApp = {...e, component: appEntry}
// waiting.setContent(`加载${e.name}...`)
// //命名规范入口文件必须以App开头
// return store.commit("addApp", addApp)
// }))
},
loadApps() {
//新App的自动化格式
const promise = (mods, base) => Promise.all(mods.keys().map(path => mods(path).then(file => {
if (file.default) {
const {name, label} = file.default
const addApp = {
name: [base, path.replace(/\.\/?(vue)?/g, '')?.split("/")].flat().join("_"),
label: label || name,
path: `/${base}${path.replace(/\.(\/.+\/App.+)\.vue$/, '$1')}`,
component: appEntry,
esm: file.default
}
waiting.setContent(`加载${name}...`)
router.addRoute(addApp)
//命名规范入口文件必须以App开头
return store.commit("addApp", addApp)
} else return 0
}).catch(err => console.log(err))))
return Promise.all(Object.entries(this.esm).map(([root, mods]) => promise(mods, root))).catch(console.error)
}
}

42
examples/router/axios.js Normal file
View File

@@ -0,0 +1,42 @@
import {Message} from 'element-ui'
import instance from '../../ui/lib/js/request'
let baseURLs = {
production: "/",
development: '/lan'
}
instance.defaults.baseURL = baseURLs[process.env.NODE_ENV]
instance.interceptors.request.use(config => {
if (config.url.startsWith("/node")) {
config.baseURL = "/ns"
} else if (config.url.startsWith("/sse")) {
config.baseURL = "/"
} else if (/\/project\/activeAnalysis/.test(location.pathname)) {
config.baseURL = "/analysis"
} else if (/\/project\/beta/.test(location.pathname)) {
config.baseURL = "/wg"
} else if (/\/project\/sass/.test(location.pathname)) {
config.baseURL = "/saas"
} else if (/\/tianfuxing/.test(location.pathname)) {
config.baseURL = "/tfx"
} else if (/\/qianxinan/.test(location.pathname)) {
// config.baseURL = "/qxn"
} else if (/\/xiushan/.test(location.pathname)) {
config.baseURL = "/xsjr"
} else if (/project\/oms/.test(location.pathname)) {
config.baseURL = "/omsapi"
} else if (/#url-/.test(location.hash)) {
config.baseURL = location.hash.replace(/#url-/, '/')
}
if (["/xsjr", "/tfx", "/omsapi"].includes(config.baseURL)) {
config.url = config.url.replace(/(app|auth|admin|api)\//, "api/")
}
if (['/qxn', '/analysis'].includes(config.baseURL)) {
config.url = config.url.replace(/(app|auth|admin)\//, "api/")
}
if (process.env.VUE_APP_IS_SIMPLE_SERVER == 1) {
config.url = config.url.replace(/(app|auth|admin)\//, "api/")
}
return config
}, error => Message.error(error))
export default instance

18
examples/router/router.js Normal file
View File

@@ -0,0 +1,18 @@
import Vue from 'vue'
import VueRouter from 'vue-router'
import autoRoutes from './autoRoutes'
Vue.use(VueRouter)
autoRoutes.init()
export default new VueRouter({
mode: 'history',
hashbang: false,
routes: autoRoutes.routes(),
scrollBehavior(to) {
if (to.hash) {
return {
selector: to.hash
}
}
}
})

26
examples/store/index.js Normal file
View File

@@ -0,0 +1,26 @@
import Vue from 'vue'
import Vuex from 'vuex'
import * as modules from "dui/lib/js/modules"
import xsActions from "../../project/xiushan/actions"
Vue.use(Vuex)
export const state = () => ({
apps: []
})
export const mutations = {
addApp(state, app) {
state.apps.push(app)
},
cleanApps(state) {
state.apps = []
}
}
const actions = {
...xsActions
}
export default {
state,
mutations,
actions,
modules,
}

102
examples/utils/index.js Normal file
View File

@@ -0,0 +1,102 @@
import {MessageBox} from 'element-ui'
import store from '../store'
import tools from 'dui/lib/js/utils'
const addChildParty = (parent, pending) => {
let doBeforeCount = pending.length
parent["children"] = parent["children"] || []
pending.map((e, index, arr) => {
if (e.partyOrgParentId == parent.partyOrgId) {
parent.children.push(e)
arr.splice(index, 1)
addChildParty(parent, arr)
}
})
if (parent.children.length == 0) {
delete parent.children
}
if (pending.length > 0 && doBeforeCount > pending.length) {
parent.children.map(c => addChildParty(c, pending))
}
}
/**
* 封装提示框
*/
const $confirm = (content, options) => {
return MessageBox.confirm(content, {
type: "warning",
confirmButtonText: "确认",
closeOnClickModal: false,
center: true,
title: "提示",
dangerouslyUseHTMLString: true,
...options
})
}
/**
* 封装权限判断方法
*/
const $permissions = flag => {
const buttons = store.state.user.info.buttons
if (buttons) return buttons.some(b => b.id == flag || b.permission == flag)
else return false
}
const $decimalCalc = (...arr) => {
//确认提升精度
let decimalLengthes = arr.map(e => {
let index = ("" + e).indexOf(".")
return ("" + e).length - index
})
let maxDecimal = Math.max(...decimalLengthes), precision = Math.pow(10, maxDecimal)
//计算
let intArr = arr.map(e => (Number(e) || 0) * precision)
//返回计算值
return intArr.reduce((t, a) => t + a) / precision
}
export const waiting = {
init(ops, count) {
if (document.body) {
let div = document.createElement('div')
div.id = "ai-waiting"
div.className = "el-loading-mask is-fullscreen"
div.style.zIndex = '202204271710'
div.style.textAlign = 'center'
div.style.lineHeight = '100vh'
div.style.color = '#26f'
div.style.fontSize = '20px'
div.style.background = 'rgba(255,255,255,.6)'
div.style.backdropFilter = 'blur(6px)'
document.body.appendChild(div)
} else if (count < 10) {
setTimeout(() => this.init(ops, ++count), 500)
}
},
getDom() {
return document.querySelector('#ai-waiting')
},
setContent(html) {
let div = this.getDom()
div.innerHTML = html
},
close() {
let div = this.getDom()
div.parentElement.removeChild(div)
}
}
export default {
...tools,
addChildParty,
$confirm,
$permissions,
$decimalCalc,
$waiting: waiting
}

View File

@@ -0,0 +1,36 @@
<template>
<section class="appEntry">
<component v-if="app" :is="app" ref="currentPage" :instance="$request" :dict="$dict" :permissions="$permissions"/>
<ai-empty v-else>无法找到应用文件</ai-empty>
</section>
</template>
<script>
import {mapState} from "vuex";
export default {
name: "appEntry",
label: "应用库-应用",
computed: {
...mapState(['apps']),
app() {
const app = this.apps.find(e => e.name == this.$route.name)
return app.esm ?? ""
}
},
}
</script>
<style lang="scss" scoped>
.appEntry {
width: 100%;
flex: 1;
min-width: 0;
min-height: 0;
height: 100%;
& > * {
height: 100%;
}
}
</style>

139
examples/views/index.vue Normal file
View File

@@ -0,0 +1,139 @@
<template>
<div id="app">
<header-nav v-if="showTools" title="web端产品库">
<template #right>
<mock/>
<div @click="showTools=false,dvDev=true">大屏开发</div>
<div @click="showTools=false">隐藏工具栏</div>
<div @click="handleLogin">点此登录</div>
</template>
</header-nav>
<ai-dv-wrapper class="fill" v-if="dvDev">
<router-view/>
</ai-dv-wrapper>
<el-row v-else-if="showTools" class="fill mar-t48" type="flex">
<slider-nav/>
<main-content class="fill"/>
</el-row>
<router-view class="fill" v-else/>
<div v-if="dialog" class="sign-box">
<ai-sign style="margin: auto" :instance="$request" :action="{login}"
visible @login="getToken" :showScanLogin="false"/>
</div>
<el-button type="info" v-if="!showTools" class="fixedBtn" @click="showTools=true">显示工具栏</el-button>
</div>
</template>
<script>
import SliderNav from "../components/sliderNav";
import MainContent from "../components/mainContent";
import HeaderNav from "../components/headerNav";
import {mapActions, mapMutations, mapState} from "vuex";
import Mock from "../components/mock";
export default {
name: 'app',
components: {Mock, HeaderNav, MainContent, SliderNav},
computed: {
...mapState(['user']),
login() {
let url = '/auth/oauth/token';
/project\/sass/g.test(location.pathname) && (url += "?corpId=ww596787bb70f08288")
return url
},
},
data() {
return {
dialog: false,
showTools: true,
dvDev: false
}
},
watch: {
showTools(v) {
v && (this.dvDev = false)
}
},
methods: {
...mapMutations(['setToken']),
...mapActions(['getUserInfo', 'getFinanceUser']),
getToken(params) {
if (params.access_token) {
this.setToken([params.token_type, params.access_token].join(' '))
this.dialog = false
this.$message.success("登录成功,正在刷新页面...")
location.reload()
} else this.$message.error(params.msg || "登录失败!")
},
handleLogin() {
this.$request.delete("/auth/token/logout").finally(() => {
this.dialog = true
})
},
handleMock() {
}
},
mounted() {
const {jWeixin} = window
window.wx = jWeixin
if (this.user.token) this.getUserInfo().finally(() => {
if (/^\/project\/xiushan/.test(location.pathname)) {
this.getFinanceUser()
}
})
}
}
</script>
<style lang="scss">
html, body {
width: 100%;
height: 100%;
margin: 0;
}
.mar-t48 {
margin-top: 48px;
}
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
color: #2c3e50;
overflow: hidden;
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
.fixedBtn {
position: fixed;
top: 0;
right: 60px;
opacity: 0;
z-index: 999;
&:hover {
opacity: 1;
}
}
li {
list-style-type: none;
}
.sign-box {
z-index: 99;
margin: -10px;
display: flex;
position: fixed;
top: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.2);
}
}
</style>

77
package.json Normal file
View File

@@ -0,0 +1,77 @@
{
"name": "dvcp-web",
"version": "4.0.0",
"private": false,
"author": "kubbo",
"scripts": {
"dev": "nuxt -c examples/nuxt.config.js",
"build": "vue-cli-service build",
"dev:ai": "vue-cli-service serve examples/main.js --mode ai",
"dev:oms": "vue-cli-service serve examples/main.js --mode oms",
"dev:biaopin": "vue-cli-service serve examples/main.js --mode biaopin",
"dev:dv": "vue-cli-service serve examples/main.js --mode dv",
"dev:fengdu": "vue-cli-service serve examples/main.js --mode fengdu",
"sync": "node bin/appsSync.js",
"preview": "vue-cli-service serve",
"prebuild": ""
},
"dependencies": {
"@amap/amap-jsapi-loader": "^1.0.1",
"@ckeditor/ckeditor5-vue2": "^3.0.1",
"@jiaminghi/data-view": "^2.10.0",
"@logicflow/core": "^1.2.1",
"bin-ace-editor": "^3.2.0",
"crypto-js": "^4.1.1",
"dayjs": "^1.8.35",
"echarts-wordcloud": "^2.0.0",
"hash.js": "^1.1.7",
"html2canvas": "^1.4.1",
"mp4box": "^0.4.1",
"print-js": "^1.0.63",
"serialize-javascript": "^6.0.0",
"sortablejs": "^1.12.0",
"vue-carousel": "^0.18.0",
"vue-cropper": "^0.6.5",
"vue-draggable-resizable": "^2.3.0",
"vue-qr": "^4.0.9",
"vue-ruler-tool": "^1.2.4",
"vue-style-loader": "^4.1.3",
"vuedraggable": "^2.24.3"
},
"devDependencies": {
"@babel/plugin-proposal-logical-assignment-operators": "^7.10.4",
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.4",
"@babel/plugin-proposal-optional-chaining": "^7.10.4",
"@vue/cli-plugin-babel": "^3.6.0",
"@vue/cli-plugin-eslint": "^3.6.0",
"@vue/cli-service": "^3.6.0",
"axios": "^0.19.2",
"babel-eslint": "^10.1.0",
"core-js": "^2.6.11",
"element-ui": "^2.15.9",
"eslint": "^5.16.0",
"eslint-plugin-vue": "^5.0.0",
"image-webpack-loader": "^6.0.0",
"inquirer": "^6.5.2",
"mockjs": "^1.1.0",
"node-ipc": "^9.2.1",
"nuxt": "^2.18.1",
"readline": "^1.3.0",
"sass": "~1.32.6",
"sass-loader": "^7.3.1",
"uglifyjs-webpack-plugin": "^2.2.0",
"vue": "^2.7.14",
"vue-router": "^3.3.4",
"vue-template-compiler": "^2.7.14",
"vuex": "^3.5.1",
"vuex-persistedstate": "^2.7.1"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 8"
],
"resolutions": {
"sass": "1.32.6"
}
}

View File

@@ -0,0 +1,289 @@
<template>
<ai-detail>
<template slot="title">
<ai-title :title="isEdit ? '编辑项目' : '添加项目'" isShowBack isShowBottomBorder @onBackClick="cancel"/>
</template>
<template slot="content">
<el-form ref="form" :model="form" label-width="110px" label-position="right">
<ai-card title="基本信息">
<template #content>
<div class="ai-form">
<el-form-item label="名称" prop="name"
:rules="[{ required: true, message: '请输入大屏项目名称', trigger: 'blur' }]">
<el-input size="small" :maxlength="30" placeholder="请输入大屏项目名称" v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="描述" style="width: 100%;" prop="description">
<el-input size="small" :maxlength="200" :rows="5" type="textarea" style="width: 100%;"
placeholder="请输入描述"
v-model="form.description"></el-input>
</el-form-item>
<el-form-item label="是否开启" style="width: 100%;" prop="status">
<el-switch
v-model="form.status"
active-value="1"
inactive-value="0">
</el-switch>
</el-form-item>
</div>
</template>
</ai-card>
<ai-card title="大屏" v-if="isEdit">
<template #right>
<el-button @click="gotoDesign()" type="primary">添加大屏</el-button>
<el-button @click="dialog=true" type="primary">定制大屏</el-button>
</template>
<template #content>
<ai-table
:tableData="tableData"
:col-configs="colConfigs"
:total="total"
style="margin-top: 6px;"
:border="true"
row-key="id"
:isShowPagination="false"
@getList="() => {}">
<el-table-column slot="options" label="状态" align="center">
<template slot-scope="{ row }">
<el-switch
v-model="row.status"
active-value="1"
@change="() => onStatusChange(row.id)">
</el-switch>
</template>
</el-table-column>
<el-table-column slot="options" width="160px" fixed="right" label="操作" align="center">
<template slot-scope="{ row, column, $index }">
<div class="table-options">
<el-button type="text" @click="toEdit(row.id, row.isCustom, row)">编辑</el-button>
<el-button type="text" @click="toViewer(row.id)">预览</el-button>
<el-button type="text" @click="remove($index)">删除</el-button>
</div>
</template>
</el-table-column>
</ai-table>
</template>
</ai-card>
</el-form>
<ai-dialog :visible.sync="dialog" title="定制大屏" @closed="custom={}" @onConfirm="handleCustomizedDV">
<el-form ref="CustomDVFrom" size="small" :model="custom" :rules="rules" label-width="80px">
<el-form-item label="大屏标题" prop="title">
<el-input v-model="custom.title" clearable placeholder="请填写"/>
</el-form-item>
<el-form-item label="选择大屏" prop="dv">
<ai-select v-model="custom.dv" :selectList="dict.getDict('customizedDVs')"/>
</el-form-item>
<el-form-item label="静态数据">
<el-input type="textarea" rows="5" v-model="custom.meta"/>
</el-form-item>
</el-form>
</ai-dialog>
</template>
<template #footer>
<el-button @click="cancel">取消</el-button>
<el-button type="primary" @click="confirm">提交</el-button>
</template>
</ai-detail>
</template>
<script>
import Layout from './viewport.vue'
import Sortable from 'sortablejs'
import {mapActions} from "vuex"
export default {
name: 'Add',
props: {
instance: Function,
dict: Object,
urlPrefix: String
},
inject: {
home: {default: ''}
},
components: {
Layout
},
data() {
return {
info: {},
department: [],
form: {
name: '',
relationLsIds: '',
relationLsNames: '',
status: '1',
description: ''
},
screenId: '',
query: {},
total: 0,
colConfigs: [
{prop: 'title', label: '标题'},
{prop: 'id', label: 'ID'}
],
tableData: [],
id: '',
dialog: false,
custom: {},
rules: {
dv: [{required: true, message: "请选择 定制大屏"}],
title: [{required: true, message: "请输入 大屏标题"}],
},
config: {
backgroundImage: []
}
}
},
computed: {
isEdit: v => !!v.$route.query.id
},
created() {
this.dict.load('customizedDVs')
this.getInfo().then(() => this.$route.params?.id && this.onChange(this.$route.params))
},
methods: {
...mapActions(['closePage']),
getInfo() {
let {id} = this.$route.query
if (!id) return Promise.reject()
return this.instance.post(`${this.urlPrefix}/appdiylargescreen/queryLargeScreenProjectDetailById?id=${id}`).then(res => {
if (res?.data) {
this.form = {
...res.data
}
if (res.data.relationLsIds) {
this.tableData = res.data.lsList.map(v => {
let conf = JSON.parse(v.config || '') || {}
return {
id: v.id,
title: v.title,
dv: conf.custom || '',
meta: JSON.stringify(conf.meta),
isCustom: !!conf.custom,
status: v.status
}
})
this.total = res.data.lsList.length
this.$nextTick(() => {
this.rowDrop()
})
}
}
})
},
onStatusChange(id) {
this.instance.post(`${this.urlPrefix}/appdiylargescreen/enableLargeScreen?id=${id}`).then(res => {
if (res.code === 0) {
this.$message.success('操作成功')
}
})
},
rowDrop() {
const tbody = document.querySelector('.el-table__body-wrapper tbody')
const _this = this
Sortable.create(tbody, {
onEnd({newIndex, oldIndex}) {
const currRow = _this.tableData.splice(oldIndex, 1)[0]
_this.tableData.splice(newIndex, 0, currRow)
}
})
},
toViewer(id) {
this.$router.push({query: {id}, hash: "#preview"})
},
onChange(e) {
const ids = this.tableData.map(v => v.id)
if (ids.indexOf(e.id) < 0) {
this.tableData.push({
title: e.title,
id: e.id,
status: '1'
})
} else {
const index = this.tableData.findIndex(v => v.id === e.id)
this.$set(this.tableData[index], 'title', e.title)
}
this.$nextTick(() => {
if (this.$route.query.id) {
const ids = this.tableData.map(v => v.id).join(',')
const names = this.tableData.map(v => v.name).join(',')
this.instance.post(`${this.urlPrefix}/appdiylargescreen/addOrUpdateLargeScreenProject`, {
...this.form,
relationLsIds: ids,
relationLsNames: names
})
}
})
},
gotoDesign(did) {
const {id} = this.$route.query
this.$router.push({hash: "#design", query: {id, did, name: this.form.name}})
},
toEdit(id, isCustom, form) {
if (!isCustom) {
this.gotoDesign(id)
} else {
this.dialog = true
this.custom = form
}
},
remove(index) {
this.tableData.splice(index, 1)
},
confirm() {
this.$refs.form.validate((valid) => {
if (valid) {
const ids = this.tableData.map(v => v.id).join(',')
const names = this.tableData.map(v => v.name).join(',')
this.instance.post(`${this.urlPrefix}/appdiylargescreen/addOrUpdateLargeScreenProject`, {
...this.form,
relationLsIds: ids,
relationLsNames: names
}).then(res => {
if (res.code == 0) {
this.$message.success('提交成功')
this.home && this.home.refreshDvOptions && this.home.refreshDvOptions()
setTimeout(() => {
this.cancel()
}, 600)
}
})
}
})
},
cancel() {
this.closePage()
this.$router.push({})
},
handleCustomizedDV() {
this.$refs.CustomDVFrom.validate(v => {
if (v) {
this.instance.post(`${this.urlPrefix}/appdiylargescreen/addOrUpdateLargeScreen`, {
config: JSON.stringify({
custom: this.custom.dv,
meta: JSON.parse(this.custom.meta?.replace(/\\n/g, '') || null)
}),
status: 1,
id: this.custom.id,
title: this.custom.title,
}).then(res => {
if (res?.code == 0 && res?.data) {
this.$message.success('保存成功')
this.onChange(res.data)
this.dialog = false
}
})
}
})
}
}
}
</script>
<style scoped lang="scss">
</style>

View File

@@ -0,0 +1,83 @@
<template>
<section class="AppDesigner">
<component :is="currentPage" v-bind="$props"/>
</section>
</template>
<script>
import List from './List.vue'
import Add from './Add.vue'
import SourceData from './SourceData.vue'
import Preview from "./preview.vue";
import DesignDashboard from "./viewport.vue";
export default {
name: 'AppDesigner',
label: '大屏设计',
components: {DesignDashboard, Preview, List, Add, SourceData},
props: {
instance: Function,
dict: Object,
permissions: Function,
urlPrefix: {
type: String,
default: '/app'
}
},
computed: {
currentPage() {
const {hash} = this.$route
return hash == "#sourceData" ? SourceData :
hash == "#add" ? Add :
hash == "#preview" ? Preview :
hash == "#design" ? DesignDashboard : List
},
tabs() {
return [
{label: '大屏列表', name: 'FormList', comp: List, permission: ''}
].filter(() => {
return true
})
}
},
data() {
return {
currIndex: '0',
componentName: '',
params: {},
areaId: '',
isShowDetail: false
}
},
methods: {
onChange(data) {
if (data.type === 'list') {
this.componentName = 'List'
this.isShowDetail = false
this.params = data.params
}
if (data.type === 'add') {
this.componentName = 'Add'
this.isShowDetail = true
this.params = data.params
}
if (data.type === 'SourceData') {
this.componentName = 'SourceData'
this.isShowDetail = true
this.params = data.params
}
}
},
}
</script>
<style lang="scss" scoped>
.AppDesigner {
height: 100%;
}
</style>

View File

@@ -0,0 +1,167 @@
<template>
<ai-list>
<ai-title slot="title" title="大屏列表" isShowBottomBorder/>
<template slot="content">
<ai-search-bar>
<template #left>
<ai-select
v-model="search.status"
@change="search.current = 1, getList()"
placeholder="发布状态"
:selectList="dict.getDict('cwpStatus')">
</ai-select>
<el-button type="primary" @click="toEdit('')">添加大屏</el-button>
<el-button type="primary" @click="toAddData">数据源管理</el-button>
</template>
<template #right>
<el-input
v-model="search.name"
size="small"
placeholder="请输入模板名称或创建人"
clearable
v-throttle="() => {search.current = 1, getList()}"
@clear="search.current = 1, search.title = '', getList()"
suffix-icon="iconfont iconSearch">
</el-input>
</template>
</ai-search-bar>
<ai-table
:tableData="tableData"
:col-configs="colConfigs"
:total="total"
v-loading="loading"
style="margin-top: 6px;"
:current.sync="search.current"
:size.sync="search.size"
@getList="getList" :dict="dict">
<el-table-column slot="options" width="160px" fixed="right" label="操作" align="center">
<template slot-scope="{ row }">
<div class="table-options">
<el-button type="text" @click="toEdit(row.id)">编辑</el-button>
<el-button type="text" @click="copy(row.id)">复制</el-button>
</div>
</template>
</el-table-column>
</ai-table>
<ai-dialog
:visible.sync="isShowAdd"
width="780px"
title="复制大屏"
@close="onClose"
@onConfirm="onConfirm">
<el-form ref="form" :model="form" label-width="110px" label-position="right">
<div class="ai-form" :model="form" label-width="110px" label-position="right">
<el-form-item label="名称" prop="name" style="width: 100%;" :rules="[{ required: true, message: '请输入名称', trigger: 'blur' }]">
<el-input size="small" placeholder="请输入名称" v-model="form.name"></el-input>
</el-form-item>
</div>
</el-form>
</ai-dialog>
</template>
</ai-list>
</template>
<script>
export default {
name: 'FormList',
props: {
instance: Function,
dict: Object,
areaId: String,
urlPrefix: String
},
data() {
return {
search: {
current: 1,
status: '',
size: 10,
name: ''
},
form: {
name: ''
},
id: '',
isShowAdd: false,
colConfigs: [
{prop: 'name', label: '模板名称'},
{prop: 'createUserName', align: 'center', label: '创建人'},
{prop: 'description', align: 'center', label: '描述'},
{prop: 'status', align: 'center', label: '状态', dict:"cwpStatus"},
{prop: 'createTime', align: 'center', label: '创建时间'}
],
tableData: [],
total: 0,
loading: false
}
},
created() {
this.dict.load('cwpStatus').then(() => {
this.getList()
})
},
mounted() {
this.loading = true
},
methods: {
copy(id) {
this.id = id
this.isShowAdd = true
},
onClose() {
this.id = ''
this.form.name = ''
},
onConfirm() {
this.$refs.form.validate((valid) => {
if (valid) {
this.instance.post(`${this.urlPrefix}/appdiylargescreen/copyLargeScreenProject`, null, {
params: {
...this.form,
id: this.id
}
}).then(res => {
if (res.code === 0) {
this.$message.success('复制成功')
this.isShowAdd = false
this.getList()
}
})
}
})
},
getList() {
this.instance.post(`${this.urlPrefix}/appdiylargescreen/allLargeScreenProjectByPage`, null, {
params: {
...this.search
}
}).then(res => {
if (res.code == 0) {
this.tableData = res.data.records
this.total = res.data.total
this.loading = false
} else {
this.loading = false
}
}).catch(() => {
this.loading = false
})
},
toEdit(id) {
this.$router.push({hash: "#add", query: {id}})
},
toAddData() {
this.$router.push({hash: "#sourceData"})
}
}
}
</script>

View File

@@ -0,0 +1,460 @@
<template>
<ai-detail>
<template slot="title">
<ai-title title="数据源" isShowBack isShowBottomBorder @onBackClick="cancel">
</ai-title>
</template>
<template slot="content">
<ai-card title="数据源列表">
<template #right>
<el-button type="primary" @click="isShow = true">添加数据源</el-button>
</template>
<template #content>
<ai-search-bar class="search-bar">
<template slot="right">
<el-input
v-model="search.name"
size="small"
v-throttle="() => {search.current = 1, getList()}"
placeholder="请输入名字"
clearable
@clear="search.current = 1, search.name = '', getList()"
suffix-icon="iconfont iconSearch">
</el-input>
</template>
</ai-search-bar>
<ai-table
:tableData="tableData"
:col-configs="colConfigs"
:total="total"
style="margin-top: 6px;"
:border="true"
:current.sync="search.current"
:size.sync="search.size"
@getList="getList">
<el-table-column slot="options" width="160px" fixed="right" label="操作" align="center">
<template slot-scope="{ row }">
<div class="table-options">
<el-button type="text" @click="toEdit(row)">编辑</el-button>
<el-button type="text" @click="remove(row.id)">删除</el-button>
</div>
</template>
</el-table-column>
</ai-table>
</template>
</ai-card>
<ai-dialog
:visible.sync="isShow"
width="920px"
title="数据源"
@close="onClose"
@onConfirm="onConfirm">
<el-form ref="form" :model="form" label-width="110px" label-position="right">
<div class="ai-form">
<el-form-item label="数据源描述" style="width: 100%;" prop="description" :rules="[{ required: true, message: '请输入数据源描述', trigger: 'blur' }]">
<el-input
size="small"
placeholder="请输入数据源描述"
v-model="form.description">
</el-input>
</el-form-item>
<el-form-item label="类型" style="width: 100%;" prop="dataRange" :rules="[{ required: true, message: '请选择数据范围', trigger: 'change' }]">
<el-radio-group v-model="form.type">
<el-radio label="0">村微应用</el-radio>
<el-radio label="1">SQL</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-if="form.type === '1'" label="sql语句" style="width: 100%;" prop="description"
:rules="[{ required: true, message: '请输入sql语句', trigger: 'blur' }]">
<el-input
:rows="8"
size="small"
type="textarea"
placeholder="请输入数据源描述"
v-model="form.sqlContent">
</el-input>
</el-form-item>
<el-form-item v-if="form.type === '0'" label="村微应用" style="width: 100%;" prop="appId"
:rules="[{ required: true, message: '请选择村微应用', trigger: 'change' }]">
<el-select size="small" style="width: 100%;" v-model="form.appId" placeholder="请选择村微应用" @change="onAppChange">
<el-option
v-for="item in appList"
:key="item.id"
:label="item.appName"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item v-if="form.type === '0'" label="数据范围" style="width: 100%;" prop="dataRange"
:rules="[{ required: true, message: '请选择数据范围', trigger: 'change' }]">
<el-radio-group v-model="form.dataRange">
<el-radio label="0">全部</el-radio>
<el-radio label="1">自定义条数</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="数据条数" style="width: 100%;" v-if="form.dataRange === '1' && form.type === '0'" prop="count"
:rules="[{ required: true, message: '请输入数据条数', trigger: 'blur' }]">
<el-input
size="small"
placeholder="请输入数据条数"
v-model="form.count">
</el-input>
</el-form-item>
<div v-if="form.type === '0'">
<el-form-item :label="'统计项' + index" style="width: 100%;" v-for="(item, index) in form.statisticsConfigs" :key="'statisticsConfigs' + index">
<div class="form-flex">
<div>
<el-select size="small" style="width: 160px;" v-model="item.fieldName" @change="e => onChooseField('statisticsConfigs', e, index)"
placeholder="请选择" clearable>
<el-option
v-for="(item, index) in filedList"
:key="index"
:label="item.fieldCnName"
:value="item.fieldName">
</el-option>
</el-select>
<el-select size="small" style="margin: 0 10px; width: 160px;" v-model="item.calcType" placeholder="请选择" clearable>
<el-option
v-for="item in dict.getDict('diyLargeScreenDatasourceCalcType2')"
:key="item.id"
:label="item.dictName"
:value="item.dictValue">
</el-option>
</el-select>
<el-input size="small" style="width: 165px;" placeholder="请输入别名" v-model="item.alias"></el-input>
</div>
<el-button type="danger" v-if="index > 0" @click="removeConfig('statisticsConfigs', index)">删除</el-button>
</div>
</el-form-item>
</div>
<el-form-item style="width: 100%;" v-if="form.type === '0'">
<el-button type="primary" @click="add('statisticsConfigs')">添加统计项</el-button>
</el-form-item>
<div v-if="form.type === '0'">
<el-form-item :label="'分组' + index" style="width: 100%;" v-for="(item, index) in form.groupConfigs" :key="'groupConfigs' + item.fieldName">
<div class="form-flex">
<div>
<el-select size="small" style="width: 160px;" v-model="item.fieldName" placeholder="请选择" clearable>
<el-option
v-for="item in filedList"
:key="item.id"
:label="item.fieldCnName"
:value="item.fieldName">
</el-option>
</el-select>
</div>
<el-button type="danger" @click="removeConfig('groupConfigs', index)">删除</el-button>
</div>
</el-form-item>
</div>
<el-form-item style="width: 100%;" v-if="form.type === '0'">
<el-button type="primary" @click="add('groupConfigs')">添加分组</el-button>
</el-form-item>
<div v-if="form.type === '0'">
<el-form-item :label="'统计项' + index" style="width: 100%;" v-for="(item, index) in form.orderConfigs" :key="'orderConfigs' + item.fieldName">
<div class="form-flex">
<div>
<el-select size="small" style="width: 160px;" v-model="item.fieldName" placeholder="请选择" clearable>
<el-option
v-for="item in filedList"
:key="item.id"
:label="item.fieldCnName"
:value="item.fieldName">
</el-option>
</el-select>
<el-select size="small" style="width: 160px; margin-left: 10px;" v-model="item.orderType" placeholder="请选择" clearable>
<el-option
v-for="item in orderTypeDict"
:key="item.id"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
<el-button type="danger" @click="removeConfig('orderConfigs', index)">删除</el-button>
</div>
</el-form-item>
</div>
<el-form-item style="width: 100%;" v-if="form.type === '0'">
<el-button type="primary" @click="add('orderConfigs')">添加排序</el-button>
</el-form-item>
</div>
</el-form>
</ai-dialog>
</template>
</ai-detail>
</template>
<script>
export default {
name: 'SourceData',
props: {
instance: Function,
dict: Object,
params: Object,
urlPrefix: String
},
data() {
return {
isShow: false,
search: {
current: 1,
size: 10,
name: ''
},
total: 0,
colConfigs: [
{prop: 'appName', label: '应用名'},
{prop: 'appTableName', align: 'center', label: '表名'},
{prop: 'description', align: 'center', label: '描述'},
{prop: 'type', align: 'center', label: '类型', format: v => v === '0' ? '村微应用' : 'sql语句'},
{prop: 'createUserName', align: 'center', label: '创建人'},
{prop: 'createTime', align: 'center', label: '创建时间'}
],
tableData: [],
filedList: [],
appList: [],
form: {
orderType: 'asc',
dataRange: '0',
type: '0',
sqlContent: '',
appId: '',
description: '',
appName: '',
appTableName: '',
count: '100',
statisticsConfigs: [{
alias: '',
calcType: '',
dictCode: '',
fieldCnName: '',
fieldName: ''
}],
orderConfigs: [{
alias: '',
calcType: '',
dictCode: '',
fieldCnName: '',
fieldName: ''
}],
groupConfigs: [{
alias: '',
calcType: '',
dictCode: '',
fieldCnName: '',
fieldName: ''
}]
},
id: '',
orderTypeDict: [
{
value: 'asc',
label: '升序'
},
{
value: 'desc',
label: '降序'
}
]
}
},
created() {
this.dict.load(['diyLargeScreenDatasourceCalcType2']).then(() => {
this.getList()
this.getAppList()
})
},
methods: {
getInfo(id) {
this.instance.post(`${this.urlPrefix}/wxcp/wxuser/queryDetailById?id=${id}`).then(res => {
if (res.code === 0) {
this.form = {
...res.data
}
}
})
},
onChooseField(type, fieldName, index) {
const dictCode = this.filedList.filter(v => v.fieldName === fieldName)[0].dictCode
this.$set(this.form[type][index], 'dictCode', dictCode)
},
add(type) {
this.form[type].push({
alias: '',
calcType: '',
dictCode: '',
fieldCnName: '',
fieldName: ''
})
},
removeConfig(type, index) {
this.form[type].splice(index, 1)
},
toEdit(e) {
this.id = e.id
this.instance.post(`${this.urlPrefix}/appdiylargescreen/queryDatasourceDetailById?id=${e.id}`).then(res => {
if (res.code === 0) {
this.form = {
...res.data
}
this.form.dataRange = this.form.dataRange === '0' ? '0' : '1'
this.form.count = res.data.dataRange
this.filedList = this.appList.filter(v => v.id === res.data.appId).length && this.appList.filter(v => v.id === res.data.appId)[0].fields.map(item => {
let value = []
res.data.configs.forEach(v => {
if (v.fieldName === item.fieldName) {
value.push(v.calcType)
}
})
return {
...item,
value
}
})
this.isShow = true
}
})
},
remove(id) {
this.$confirm('确定删除该数据?').then(() => {
this.instance.post(`${this.urlPrefix}/appquestionnairetemplate/delete?id=${id}`).then(res => {
if (res.code == 0) {
this.$message.success('删除成功!')
this.getList()
}
})
})
},
getList() {
this.instance.post(`${this.urlPrefix}/appdiylargescreen/allDatasourceByPage`, null, {
params: {
...this.search
}
}).then(res => {
if (res.code == 0) {
this.tableData = res.data.records
this.total = res.data.total
}
})
},
getAppList() {
this.instance.post(`${this.urlPrefix}/appdiylargescreen/allDatasourceApp`).then(res => {
if (res.code === 0) {
this.appList = res.data
}
})
},
onClose() {
this.id = ''
this.form.orderType = 'asc'
this.form.dataRange = 0
this.form.appId = ''
this.form.description = ''
this.form.appName = ''
this.form.appTableName = ''
this.form.count = 100
},
onAppChange(e) {
const value = this.appList.filter(v => v.id === e)[0]
this.form.appTableName = value.appTableName
this.form.appName = value.appName
this.form.statisticsConfigs = [{
alias: '',
calcType: '',
dictCode: '',
fieldCnName: '',
fieldName: ''
}]
this.form.orderConfigs = [{
alias: '',
calcType: '',
dictCode: '',
fieldCnName: '',
fieldName: ''
}]
this.form.groupConfigs = [{
alias: '',
calcType: '',
dictCode: '',
fieldCnName: '',
fieldName: ''
}]
this.filedList = value.fields.map(v => {
return {
...v,
value: ''
}
})
},
onConfirm() {
this.$refs.form.validate((valid) => {
if (valid) {
let configs = []
if (this.filedList.length) {
this.filedList.forEach(item => {
if (item.value.length) {
item.value.forEach(v => {
configs.push({
alias: item.fieldCnName,
calcType: v,
fieldCnName: item.fieldCnName,
fieldName: item.fieldName,
dictCode: item.dictCode,
orderType: this.orderType
})
})
}
})
}
this.instance.post(`${this.urlPrefix}/appdiylargescreen/addOrUpdateDatasource`, {
...this.form,
configs,
id: this.id ? this.id : '',
dataRange: this.form.dataRange === '0' ? 0 : this.form.count
}).then(res => {
if (res.code === 0) {
this.$message.success(this.id ? '编辑成功' : '添加成功')
this.search.current = 1
this.isShow = false
this.getList()
}
})
}
})
},
cancel() {
this.$router.push({})
}
}
}
</script>
<style scoped lang="scss">
.form-flex {
display: flex;
justify-content: space-between;
align-items: center;
}
</style>

View File

@@ -0,0 +1,459 @@
<template>
<div class="layout-config__group--wrapper">
<template v-if="options.type=='map'">
<ai-fold>
<div slot="title" class="flex w100">
<span class="layoutTitle fill">标记点设置</span>
<el-button type="text" icon="iconfont iconAdd" @click="handleMapMarker()">添加</el-button>
</div>
<config-item v-for="(item,i) in markers" :key="i" :label="item.label">
<el-input :value="[item.lat,item.lng].join(',')" readonly size="small"/>
<el-button type="text" icon="el-icon-edit" @click="handleMapMarker(item,i)"/>
<el-button type="text" icon="el-icon-delete" @click="removeMapMarker(i)"/>
</config-item>
</ai-fold>
<ai-fold title="标记点连线">
<ai-dialog-btn :modal="false" dialog-title="设置标记点连线" :customFooter="false" @confirm="savePolylines"
@open="handleMapPolylines">
<code-editor slot="btn" readonly :value="JSON.stringify(options.staticData.polylines, null, 2)" lang="json"
theme="github" width="100%" height="250" placeholder="测试默认值"/>
<el-button class="m-center" type="text" @click="handleMapPolylineDoc" :closable="false">
点击查看连线设置参考文档
</el-button>
<code-editor v-model="json" lang="json" theme="github" width="100%" height="440"/>
</ai-dialog-btn>
</ai-fold>
</template>
<template v-else-if="isPlot">
<ai-fold v-for="(chart,i) in options.charts" :key="i">
<div slot="title" class="flex w100">
<span class="layoutTitle fill" v-text="chart.title"/>
<el-button type="text" icon="el-icon-delete" @click="options.charts.splice(i,1)"/>
</div>
<config-item label="图表名">
<el-input size="small" v-model="chart.title"/>
</config-item>
<config-item label="图表模板">
<chart-picker v-model="chart.chart"/>
</config-item>
<datasource-picker v-model="chart.ds" :instance="instance" class="mar-b10"
@input="chart={...chart,...chart.ds},$emit('change',options)"/>
<config-item label="数据维度" v-if="chart.dataType !== 'staticData'">
<code-editor v-model="chart.djson" lang="json" theme="github" width="100%" height="100"
placeholder="参照echarts配置数据维度,为一个数组,数组的第一个值为维度值"
@change="v=>chart.dimensions=JSON.parse(v)"/>
</config-item>
</ai-fold>
<el-button type="text" icon="el-icon-plus" @click="options.charts.push({title:'新图表'})">添加图表</el-button>
</template>
<template v-else-if="options.type=='monitorCarousel'">
<config-item label="监控列表">
<el-button type="text" icon="el-icon-plus" @click="options.list.push({})"/>
</config-item>
<el-table size="mini" :data="options.list" border :row-style="{backgroundColor:'transparent'}">
<el-table-column label="监控类型">
<template v-slot="{row}">
<ai-select size="mini" v-model="row.monitorType" :select-list="monitorTypes"/>
</template>
</el-table-column>
<el-table-column label="监控地址">
<template v-slot="{row}">
<el-input v-if="['hik','dahua'].includes(row.monitorType)" size="mini" v-model="row.src" clearable/>
<div v-else-if="['cmcc','slw'].includes(row.monitorType)">
<el-input size="mini" v-model="row.api" clearable placeholder="请输入监控列表接口"/>
<ai-select v-model="row.did" :instance="instance" @change="handleMonitor(row)" size="mini"
:prop="{label:'name'}" :condition="e=>!!e.name&&!!e.id" class="mar-t8" :action="row.api"/>
</div>
</template>
</el-table-column>
<el-table-column width="60px" label="操作">
<template v-slot="{row,i}">
<el-button type="text" @click="$confirm('是否删除该监控?').then(()=>options.list.splice(i,1))">删除
</el-button>
</template>
</el-table-column>
</el-table>
</template>
<div class="layout-config__group" v-else-if="['hik','dahua'].includes(options.monitorType)">
<h2>基础设置</h2>
<config-item label="视频地址">
<el-input size="mini" v-model="options.src"/>
</config-item>
</div>
<div class="layout-config__group" v-else>
<h2>基础设置</h2>
<datasource-picker :options="options" :instance="instance" @input="$emit('change',options)"/>
</div>
<div class="layout-config__group" v-if="isTable">
<h2>表格设置</h2>
<code-editor v-model="json" theme="github" width="100%" height="440"
placeholder="参照dvScrollBoard设置表格"
@change="v=>options.tableConfig=JSON.parse(v)"/>
</div>
<div v-if="options.dataType!='staticData'&&options.type=='monitor'&&['cmcc','slw'].includes(options.monitorType)"
class="layout-config__group">
<h2>字段设置</h2>
<config-item label="监控视频">
<el-select size="mini" v-model="options.moniterId" placeholder="请选择监控视频" @change="onMoniterId">
<el-option
v-for="(item, index) in monitorList"
:key="index"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</config-item>
</div>
<div v-if="options.dataType!='staticData'&& keys.length &&!['table','monitor','map','plot'].includes(options.type)"
class="layout-config__group">
<h2>字段设置</h2>
<config-item label="X轴设置">
<el-select size="mini" v-model="options.dataX" placeholder="请选择X轴" @change="onChooseChange">
<el-option
v-for="(item, index) in keys"
:key="index"
:label="item"
:value="item">
</el-option>
</el-select>
</config-item>
<config-item label="Y轴设置">
<el-select size="mini" multiple :multiple-limit="options.type.indexOf('pie') > -1 ? 1 : 100"
v-model="options.dataY" collapse-tags placeholder="请选择Y轴"
@change="onChooseChange">
<el-option
v-for="(item, index) in keys"
:key="index"
:label="item"
:value="item">
</el-option>
</el-select>
</config-item>
</div>
<ai-dialog class="layout-config__edit" v-model="showMapEditor" title="设置地图标记点" append-to-body
@close="form={}" @confirm="saveMarker">
<el-form :model="form" size="small" ref="mapMarker" label-width="120px">
<el-form-item label="标记点名称" :rules="{required:true,message:'请填写标记点名称'}">
<el-input placeholder="用于地图上展示对标记点的文字标签" v-model="form.label" clearable/>
</el-form-item>
<el-form-item label="标记点图标">
<el-input placeholder="用于地图上展示对标记点的显示图标" v-model="form.icon" clearable/>
</el-form-item>
<div flex>
<el-form-item class="fill" label="经度" :rules="{required:true,message:'请填写标记点经度'}">
<el-input v-model="form.lng" clearable placeholder="小数点位保留至少6位数"/>
</el-form-item>
<el-form-item class="fill" label="纬度" :rules="{required:true,message:'请填写标记点纬度'}">
<el-input v-model="form.lat" clearable placeholder="小数点位保留至少6位数"/>
</el-form-item>
</div>
<el-form-item label="弹窗内容">
<ai-editor v-model="form.infoWindowHtml" :instance="instance"/>
</el-form-item>
</el-form>
</ai-dialog>
</div>
</template>
<script>
import CodeEditor from 'bin-ace-editor'
import 'brace/mode/json'
import 'brace/snippets/json';
import 'brace/theme/github';
import 'brace/theme/monokai';
import AiDialogBtn from "dui/packages/layout/AiDialogBtn.vue";
import AiFold from "dui/packages/layout/AiFold.vue";
import ChartPicker from "./chartPicker.vue";
import {monitorTypes} from "../config";
import ConfigItem from "./configItem.vue";
import DatasourcePicker from "./datasourcePicker.vue";
import AiSelect from "dui/packages/basic/AiSelect.vue";
import {DvCompData} from "@dui/dv";
export default {
name: 'dataConfig',
model: {
prop: "options",
event: "change"
},
props: {
options: Object,
instance: Function,
dict: Object,
},
data() {
return {
dataTypes: Object.entries(DvCompData.types).map(e => ({id: e[0], label: e[1]})),
json: "",
keys: [],
monitorList: [],
list: [],
showMapEditor: false,
form: {},
datasource: {},
monitorTypes
}
},
computed: {
markers: v => v.options.staticData?.markers || [],
isTable: v => v.options.type == 'table',
isPlot: v => v.options.type == 'plot'
},
components: {
AiSelect,
DatasourcePicker,
ConfigItem,
ChartPicker,
AiFold,
AiDialogBtn,
CodeEditor,
},
created() {
if (this.options.type == "map" && Array.isArray(this.options.staticData)) {//处理历史数据,并更新最新数据结构
const values = this.$copy(this.options)
values.staticData = {markers: this.$copy(this.options.staticData)}
this.$emit("change", values)
} else if (this.isTable) {
this.json = JSON.stringify(this.options.tableConfig)
} else if (this.options.type == "monitorCarousel") {
const {list = []} = this.options
this.$set(this.options, 'list', list)
} else if (this.isPlot) {
this.options.charts = this.options.charts.map(e => ({...e, ds: e}))
}
},
mounted() {
if ((this.options.dataY && this.options.dataY.length && this.options.dataX) || this.options.type === 'monitor') {
const api = this.options.dataType === 'apiData' ? this.options.api : `/app/appdiylargescreen/statisticsByLsid?id=${this.options.sourceDataId}`
this.instance.post(api).then(res => {
if (res.code == 0) {
if (res.data.length && this.options.type !== 'monitor') {
this.list = res.data
this.keys = Object.keys(res.data[0])
this.$nextTick(() => {
this.onChooseChange()
})
} else if (this.options.type === 'monitor') {
this.monitorList = res.data
if (this.options.src) {
const obj = res.data.filter(v => this.options.title === v.name)
if (obj.length) {
this.options.src = obj[0].url
}
}
}
}
})
}
},
methods: {
onMoniterId(e) {
this.instance.post(`/app/appzyvideoequipment/getWebSdkUrl?deviceId=${e}`).then(res => {
if (res.code == 0) {
this.options.src = JSON.parse(res.data).url
}
})
},
handleMonitor(row) {
this.instance.post(`/app/appzyvideoequipment/getWebSdkUrl?deviceId=${row.did}`).then(res => {
if (res.code == 0) {
this.$set(row, 'src', JSON.parse(res.data).url)
}
})
},
onChooseChange() {
let arr = []
if (this.options.dataX && this.options.dataY.length) {
this.list.forEach(item => {
let obj = {}
this.options.dataY.forEach(v => {
obj[v] = item[v]
})
arr.push({
[this.options.dataX]: item[this.options.dataX],
...obj
})
})
this.options[this.options.dataType] = arr
}
},
handleMapMarker(v = {}, index) {
this.form = this.$copy({...v, index})
this.showMapEditor = true
},
saveMarker() {
this.$refs.mapMarker.validate().then(() => {
const i = this.$copy(this.form.index)
delete this.form.index
if (i > -1) {
this.options.staticData.markers.splice(i, 1, this.form)
} else this.options.staticData.markers.push(this.form)
this.showMapEditor = false
})
},
removeMapMarker(i) {
this.$confirm("是否要删除该标记点").then(() => {
this.options.staticData.markers.splice(i, 1)
})
},
savePolylines() {
this.$set(this.options.staticData, 'polylines', JSON.parse(this.json))
},
handleMapPolylines() {
this.json = JSON.stringify(this.options.staticData.polylines || [{path: [[31.547706, 107.224325], [31.552456, 107.201185]]}])
},
handleMapPolylineDoc() {
window.open('https://lbs.amap.com/api/javascript-api-v2/documentation#polyline')
}
}
}
</script>
<style lang="scss">
.el-dialog__body {
.jsoneditor-vue {
height: 480px;
.jsoneditor-poweredBy {
display: none;
}
}
}
.ai-dialog__wrapper {
color: #333;
}
.layout-config__group--wrapper {
:deep(.layout-config__group) {
padding: 10px 10px 20px;
border-bottom: 1px solid #000000;
&:last-child {
border: none;
}
& > h2 {
margin-bottom: 20px;
color: #FFFFFF;
font-size: 15px;
font-weight: 700;
}
.layoutTitle {
color: #FFFFFF;
font-size: 15px;
font-weight: 700;
}
}
:deep(.layout-config__item) {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 10px;
&:last-child {
margin-bottom: 0;
}
label {
flex-shrink: 0;
width: 60px;
color: #FFFFFF;
font-size: 12px;
text-align: right;
}
.el-select .el-tag {
color: #fff;
background: transparent;
}
.el-input__icon {
color: #fff;
}
.el-switch__label {
color: #fff;
}
.el-select {
width: 100%;
&:last-child {
margin-right: 0;
}
input {
background: #262C33;
font-size: 12px;
color: #fff;
border: 1px solid #030411;
}
.el-input__icon {
color: #fff;
}
}
:deep(.el-collapse) {
height: 18px;
}
}
.el-icon-delete {
color: #f46;
}
.el-button--text + .el-button--text {
margin-left: 0;
}
input {
background: #262C33;
font-size: 12px;
color: #fff;
border: 1px solid #030411;
}
.layout-config__item--right {
display: flex;
align-items: center;
justify-content: flex-end;
text-align: right;
margin-left: 30px;
}
.el-table {
background-color: transparent;
tr {
background-color: transparent;
}
.el-table__cell {
color: white;
background-color: #1D2127 !important;
input:disabled {
background-color: transparent;
border-color: transparent;
color: white;
padding: 0;
}
&:last-of-type {
border-left: 1px solid #fff;
}
}
}
}
</style>

View File

@@ -0,0 +1,91 @@
<template>
<section class="chartPicker">
<ai-dialog-btn :modal="false" dialog-title="选择图表模板" :customFooter="false"
@confirm="handleConfirm" @open="handleOpenDialog">
<template #btn>
<img class="pointer thumb" v-if="current.thumb" :src="current.thumb"/>
<el-button v-else type="text">选择图表</el-button>
</template>
<div class="charts">
<div class="item pointer" v-for="(tpl,i) in tpls" :key="i" :class="{selected:selected==tpl.type}"
@click="selected=tpl.type">
<img :src="tpl.thumb"/>
<div v-text="tpl.label"/>
</div>
</div>
</ai-dialog-btn>
</section>
</template>
<script>
import AiDialogBtn from "dui/packages/layout/AiDialogBtn";
import {chartTpl} from "../config";
export default {
name: "chartPicker",
components: {AiDialogBtn},
model: {
prop: "value",
event: "input"
},
props: {
value: String,
tpls: {default: () => chartTpl.map(e => e.list).flat()}
},
data() {
return {
selected: null
}
},
computed: {
current: v => v.tpls.find(e => e.type == v.value) || {}
},
watch: {
value(v) {
v && this.$emit("config", this.$echartTpls[v])
}
},
methods: {
handleConfirm() {
this.$emit("input", this.selected)
},
handleOpenDialog() {
this.selected = this.$copy(this.value)
}
},
}
</script>
<style scoped lang="scss">
.chartPicker {
text-align: left;
.pointer {
cursor: pointer;
}
.thumb {
width: 200px;
height: 90px;
}
.charts {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
gap: 8px;
.item {
text-align: center;
padding: 2px;
border: 2px solid transparent;
& > img {
width: 100%;
height: 90px;
}
&.selected, &:hover {
border-color: #46f;
}
}
}
}
</style>

View File

@@ -0,0 +1,89 @@
<template>
<section class="componentConfig">
<div class="layout-right__content--wrapper">
<div class="layout-config__group">
<h2>基础设置</h2>
<div class="layout-config__item">
<label>图表尺寸</label>
<div class="layout-config__item--right">
<el-input-number size="mini" :min="0" v-model="config.width" controls-position="right"/>
<el-input-number size="mini" :min="0" v-model="config.height" controls-position="right"/>
</div>
</div>
<div class="layout-config__item">
<label>图表位置</label>
<div class="layout-config__item--right">
<el-input-number size="mini" :min="0" v-model="config.left" controls-position="right"/>
<el-input-number size="mini" :min="0" v-model="config.top" controls-position="right"/>
</div>
</div>
<config-item label="內边距">
<el-input size="mini" v-model="config.padding" clearable placeholder="请输入符合css的padding合法值"/>
</config-item>
</div>
</div>
<div class="layout-right__content--wrapper">
<div class="layout-config__group">
<h2>组件设置</h2>
<config-extra v-model="config"/>
</div>
</div>
<div class="layout-right__content--wrapper">
<div class="layout-config__group">
<h2>弹窗设置</h2>
<config-item label="标题">
<el-input size="mini" clearable placeholder="请输入弹窗标题" v-model="config.dialogTitle"/>
</config-item>
<config-item label="内容" v-if="!['table','AiDvTable','AiDvMap','linkageMap'].includes(config.type)">
<ai-dialog-btn dialog-title="弹窗内容" text="打开编辑器" :modal="false">
<ai-editor clearable placeholder="请输入弹窗内容" v-model="config.dialogContent" :instance="instance"/>
</ai-dialog-btn>
</config-item>
</div>
</div>
</section>
</template>
<script>
import ConfigItem from "./configItem";
import ConfigExtra from "./configExtra.vue";
export default {
name: 'componentConfig',
components: {ConfigExtra, ConfigItem},
props: {
config: {default: () => ({})},
instance: Function,
dict: Object,
},
}
</script>
<style lang="scss" scoped>
.componentConfig {
.table-config {
& > div {
display: flex;
align-items: center;
justify-content: space-between;
width: 232px;
:deep( .el-select ) {
width: 80px;
}
.el-select {
width: 100%;
.el-input {
width: 100%;
:deep( input ) {
width: 80px
}
}
}
}
}
}
</style>

View File

@@ -0,0 +1,239 @@
<script>
import GroupItem from "./groupItem";
import ConfigItem from "./configItem";
import ChartPicker from "./chartPicker";
import JsonEditor from "./jsonEditor";
import {layers, monitorTypes} from "../config";
import AiDvSummary from "@dui/dv/layout/AiDvSummary/AiDvSummary";
export default {
name: "configExtra",
components: {JsonEditor, ChartPicker, ConfigItem, GroupItem},
props: ['config'],
model: {
prop: 'config',
event: 'input'
},
data() {
return {
borderList: ['border0', 'border1', 'border2', 'border3', 'border4', 'border5', 'border6', 'border7', 'border8', 'border9', 'border10',
'border11', 'border12', 'border13', 'border14', 'border15'],//边框待选项
layers, monitorTypes,
tableStatus: [
{label: '是', value: '1'},
{label: '否', value: '0'}
],
positionList: [
{label: "左上", id: "lt"},
{label: "右上", id: "rt"},
{label: "左下", id: "lb"},
{label: "右下", id: "rb"}
],
}
},
computed: {
summaryOps: () => Object.keys(AiDvSummary.components).map(e => ({label: e, id: e})),
values: v => v.config?.[v.config?.dataType] || v.config.data
},
watch: {
values: {
immediate: true, deep: true,
handler() {
if (this.config.type === 'AiDvTable') {
this.config.config = this.values?.map((v, i) => {
return {
color: this.config.config?.[i]?.color || '',
width: this.config.config?.[i]?.width || '',
align: this.config.config?.[i]?.align || '',
}
})
}
}
}
},
}
</script>
<template>
<section class="configExtra">
<config-item label="标题">
<el-input v-model="config.summaryTitle" size="mini" v-if="config.display === 'summary2'" placeholder="请输入标题"/>
<el-input v-else v-model="config.title" size="mini" placeholder="请输入标题"/>
</config-item>
<config-item label="边框" v-if="config.type !== 'display'">
<el-select size="mini" v-model="config.border" placeholder="请选择边框" clearable>
<el-option
v-for="(item, index) in borderList"
:key="index"
:label="item"
:value="item">
</el-option>
</el-select>
</config-item>
<config-item label="图表模板">
<chart-picker v-model="config.type" :tpls="layers" @input="v=>config.echartOps=$echartTpls[v]"/>
</config-item>
<template v-if="/(AiDvMap|linkageMap)/.test(config.type)">
<config-item label="地图数据(geoJSON)">
<el-input v-model="config.geoJson" size="mini" clearable placeholder="请输入geoJson的URL地址"/>
</config-item>
</template>
<template v-if="/linkageMap/.test(config.type)">
<config-item v-for="(item,i) in config.summaryConfigs" :key="i" :label="`统计${i+1}`">
<ai-select placeholder="请选择位置" v-model="item.pos" :select-list="positionList" size="mini"/>
<ai-select placeholder="请选择类型" v-model="item.display" :select-list="summaryOps" size="mini"/>
</config-item>
</template>
<template v-if="/tabs/.test(config.type)">
<group-item v-for="(tab,i) in values" :key="i" :label="i">
<group-item v-for="(comp,j) in tab" :key="j" :label="comp.name">
<config-extra v-model="tab[j]"/>
</group-item>
</group-item>
</template>
<template v-if="/Chart/.test(config.type)">
<config-item label="图表配置项" top-label>
<json-editor v-model="config.echartOps"/>
</config-item>
</template>
<config-item label="视频地址" v-if="config.type === 'video'">
<el-input v-model="config.src" size="mini"/>
</config-item>
<config-item label="图片URL" v-if="config.type=='img'">
<el-input v-model="config.src" size="mini" clearable placeholder="请输入图片URL"/>
</config-item>
<config-item label="视频类型" v-if="config.type === 'monitor'">
<ai-select size="mini" v-model="config.monitorType" :select-list="monitorTypes"/>
</config-item>
<config-item label="样式" v-if="config.type === 'AiRanking'">
<el-select size="mini" v-model="config.subType" placeholder="请选择样式" clearable>
<el-option label="样式1" value="Ranking1"></el-option>
<el-option label="样式2" value="Ranking2"></el-option>
<el-option label="样式3" value="Ranking3"></el-option>
</el-select>
</config-item>
<template v-if="config.type === 'table' || config.type === 'AiDvTable'">
<config-item label="显示排名">
<el-select size="mini" v-model="config.isShowIndex" placeholder="请选择" clearable>
<el-option
v-for="(item, index) in tableStatus"
:key="index"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</config-item>
<config-item label="斑马纹" v-if="config.type === 'AiDvTable'">
<el-select size="mini" v-model="config.stripe" placeholder="请选择" clearable>
<el-option
label="是"
value="1">
</el-option>
<el-option
label="否"
value="0">
</el-option>
</el-select>
</config-item>
<config-item label="简易样式" v-if="config.type === 'AiDvTable'">
<el-select size="mini" v-model="config.simple" placeholder="请选择" clearable>
<el-option
label="是"
value="1">
</el-option>
<el-option
label="否"
value="0">
</el-option>
</el-select>
</config-item>
<config-item label="表格行数" v-if="config.type !== 'AiDvTable'">
<el-input-number size="mini" style="width: 232px" :min="0" v-model="config.rowNum" controls-position="right"/>
</config-item>
<config-item v-if="config.type === 'AiDvTable'" v-for="(item, i) in config.config" :key="i" :label="`第${i+1}列`">
<el-select size="mini" style="width: 80px;" v-model="item.align" placeholder="请选择" clearable>
<el-option label="居中" value="center"></el-option>
<el-option label="居左" value="left"></el-option>
<el-option label="居右" value="right"></el-option>
</el-select>
<el-color-picker v-model="item.color" class="mar-h10" size="mini"/>
<el-input-number v-model="item.width" label="描述文字" controls-position="right" size="mini"/>
</config-item>
</template>
<template v-if="config.type === 'map'">
<div class="layout-config__item">
<label>遮罩层</label>
<div class="layout-config__item--right">
<el-select size="mini" v-model="config.mask" placeholder="请选择" clearable>
<el-option label="是" value="1"></el-option>
<el-option label="否" value="2"></el-option>
</el-select>
</div>
</div>
<div class="layout-config__item">
<label>地图图层</label>
<div class="layout-config__item--right">
<el-select size="mini" v-model="config.layers" placeholder="请选择" clearable>
<el-option label="地图" value="vector"/>
<el-option label="卫星" value="satellite"/>
</el-select>
</div>
</div>
<div class="layout-config__item">
<label>选择地区</label>
<div class="layout-config__item--right">
<AiAreaGet :instance="instance" :valueLevel="3" v-model="config.areaId" placeholder="地图展示的中心"/>
</div>
</div>
<div class="layout-config__item">
<label>限制地区</label>
<div class="layout-config__item--right">
<ai-select v-model="config.limitArea" :selectList="dict.getDict('yesOrNo')"/>
</div>
</div>
<div class="layout-config__item">
<label>显示标签</label>
<div class="layout-config__item--right">
<ai-select v-model="config.alwaysShow" :selectList="dict.getDict('yesOrNo')"/>
</div>
</div>
<div class="layout-config__item">
<label>展示光轨</label>
<div class="layout-config__item--right">
<ai-select v-model="config.pulseLines" :selectList="dict.getDict('yesOrNo')"/>
</div>
</div>
<div class="layout-config__item layout-config__item--input">
<label>地图样式</label>
<div class="layout-config__item--right">
<el-input size="mini" v-model="config.mapStyle" clearable placeholder="请输入地图样式ID,从UI处获取.."/>
</div>
</div>
<div class="layout-config__item layout-config__item--input">
<label>3D地图</label>
<div class="layout-config__item--right">
<ai-select v-model="config.is3d" :selectList="dict.getDict('yesOrNo')"/>
</div>
</div>
<div class="layout-config__item layout-config__item--input" v-if="config.is3d==1">
<label>3D环绕</label>
<div class="layout-config__item--right">
<ai-select v-model="config.is3dAround" :selectList="dict.getDict('yesOrNo')"/>
</div>
</div>
<div class="layout-config__item layout-config__item--input">
<label>显示图例</label>
<div class="layout-config__item--right">
<ai-select v-model="config.showPingchangMapLegend" :selectList="dict.getDict('yesOrNo')"/>
</div>
</div>
</template>
<config-item label="数据汇总" v-if="config.type === 'summary'">
<ai-select size="mini" v-model="config.display" placeholder="请选择类型" :select-list="summaryOps"/>
</config-item>
</section>
</template>
<style scoped lang="scss">
</style>

View File

@@ -0,0 +1,111 @@
<template>
<section class="configItem" :class="{topLabel}">
<label :class="{bold}" v-text="label"/>
<div class="content fill">
<slot v-if="$slots.default"/>
<div v-else-if="value" v-html="value"/>
</div>
</section>
</template>
<script>
export default {
name: "configItem",
props: {
label: String,
value: {default: null},
topLabel: Boolean,
bold: Boolean
},
}
</script>
<style scoped lang="scss">
.configItem {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 10px;
&:last-child {
margin-bottom: 0;
}
& > label {
flex-shrink: 0;
width: 60px;
color: #FFFFFF;
font-size: 12px;
text-align: right;
&.bold {
font-weight: bold;
}
}
.el-select .el-tag {
color: #fff;
background: transparent;
}
.el-input__icon {
color: #fff;
}
.el-switch__label {
color: #fff;
}
.el-select, .ai-select {
width: 100%;
&:last-child {
margin-right: 0;
}
input {
background: #262C33;
font-size: 12px;
color: #fff;
border: 1px solid #030411;
}
.el-input__icon {
color: #fff;
}
}
:deep(.el-collapse) {
height: 18px;
}
:deep(.content) {
display: flex;
align-items: center;
justify-content: flex-end;
text-align: right;
margin-left: 27px;
input, textarea {
background: #262C33;
font-size: 12px;
color: #fff;
border: 1px solid #030411;
}
}
&.topLabel {
flex-direction: column;
align-items: normal;
& > label {
margin-bottom: 8px;
}
.content {
flex-shrink: 0;
width: 100%;
margin-left: 0;
}
}
}
</style>

View File

@@ -0,0 +1,119 @@
<template>
<section class="datasourcePicker">
<config-item label="数据类型">
<ai-select v-model="source.dataType" placeholder="请选择数据类型" :select-list="dataTypes"/>
</config-item>
<div class="codeEditor" v-if="['htmlData'].includes(source.dataType)">
<ai-dialog-btn :modal="false" dialog-title="编辑器" :customFooter="false"
@confirm="changeData(JSON.parse(content))" @open="content=contentstr">
<code-editor slot="btn" readonly :value="contentstr" :lang="dataLang" theme="github" width="100%" height="250"/>
<code-editor v-model="content" :lang="dataLang" theme="github" width="100%" height="440" wrap/>
</ai-dialog-btn>
</div>
<template v-else-if="source.dataType === 'staticData'">
<config-item label="设置数据" topLabel>
<json-editor v-model="options.staticData" mainMenuBar/>
</config-item>
</template>
<config-item v-else-if="source.dataType === 'dynamicData'" label="数据源">
<ai-select v-model="source.sourceDataId" placeholder="请选择数据源" :instance="instance"
:prop="{label:'description'}" @change="changeData"
action="/app/appdiylargescreen/allDatasourceByPage"/>
</config-item>
<config-item label="接口地址" v-else-if="source.dataType === 'apiData'">
<el-input size="small" v-model="source.api" @change="changeData" placeholder="请输入数据接口URL"/>
</config-item>
</section>
</template>
<script>
import AiDialogBtn from "dui/packages/layout/AiDialogBtn.vue";
import ConfigItem from "./configItem.vue";
import CodeEditor from 'bin-ace-editor'
import 'brace/mode/json'
import 'brace/snippets/json';
import 'brace/theme/github';
import 'brace/theme/monokai';
import JsonEditor from "./jsonEditor.vue";
import {DvCompData} from "@dui/dv";
export default {
name: "datasourcePicker",
components: {JsonEditor, ConfigItem, AiDialogBtn, CodeEditor},
model: {
event: "input",
prop: "options"
},
props: {
options: Object,
instance: Function
},
data() {
return {
dataTypes: Object.entries(DvCompData.types).map(e => ({id: e[0], label: e[1]})),
content: "",
loading: false,
}
},
computed: {
contentstr: v => JSON.stringify(v.options.staticData),
dataLang: v => v.options.dataType == 'htmlData' ? 'html' : 'json',
source: {
set(v) {
this.$emit("input", v)
},
get() {
return this.options
}
},
staticDataOps() {
const columnProp = "name", ops = {colConfigs: [], tableData: []}
if (Array.isArray(this.options.staticData)) {
const columns = []
ops.colConfigs = []
this.options.staticData.map((row, i) => {
const prop = `c${i || ""}`
ops.colConfigs.push({label: row[columnProp] || row.key, prop})
Object.entries(row).map(([k, v]) => {
if (/^v/.test(k) && k != "value") {
const item = ops.tableData[k.substring(1) || 0] || {}
item[prop] = v
ops.tableData[k.substring(1) || 0] = item
} else if (![columnProp, 'key'].includes(k)) {
const index = columns.findIndex(e => k == e)
if (index > -1) {
const item = ops.tableData[index] || {}
item[prop] = v
ops.tableData[index] = item
} else {
columns.push(k)
const newIndex = columns.length - 1
const item = ops.tableData[newIndex] || {}
item[prop] = v
ops.tableData[newIndex] = item
}
}
})
})
ops.tableData = ops.tableData.map(e => ({...e, $cellEdit: false}))
}
return ops
}
},
methods: {
changeData(sdata) {
this.source.dataType == 'staticData' ? this.source.staticData = sdata :
new DvCompData(this.source, this.instance).getData().then(data => {
this.source[this.source.dataType] = data
})
}
}
}
</script>
<style scoped lang="scss">
.datasourcePicker {
.codeEditor {
position: relative;
padding-left: 10px;
}
}
</style>

View File

@@ -0,0 +1,32 @@
<script>
export default {
name: "groupItem",
props: ['label']
}
</script>
<template>
<section class="groupItem">
<h2 v-if="label" v-text="label"/>
<slot/>
</section>
</template>
<style scoped lang="scss">
.groupItem {
padding: 10px 10px 20px;
border-bottom: 1px solid #000000;
&:last-child {
border: none;
}
& > h2 {
margin-bottom: 20px;
color: #FFFFFF;
font-size: 15px;
font-weight: 700;
}
}
</style>

View File

@@ -0,0 +1,98 @@
<script>
export default {
name: "jsonEditor",
model: {
event: "input",
prop: "value"
},
props: {
value: {default: () => ({})}
},
data() {
return {
editor: null,
fullscreen: false
}
},
watch: {
value(v) {
const content = this.editor.get()
if (v && content && JSON.stringify(v) != JSON.stringify(content)) {
this.editor?.set(v)
}
}
},
methods: {
init() {
const {JSONEditor} = window
if (!this.editor && JSONEditor) {
const {mode, search, mainMenuBar, navigationBar} = this.$attrs
this.editor = new JSONEditor(this.$el, {
modes: ['code', 'form', 'tree'],
language: 'zh-CN', mode, search, mainMenuBar, navigationBar, statusBar: true,
onChange: () => {
this.$emit("input", this.editor.get())
},
}, this.value)
} else setTimeout(() => this.init(), 500)
const fullscreenBtn = this.$el.querySelector(".fullscreenBtn")
if (!fullscreenBtn) {
const btn = document.createElement("div")
btn.className = "fullscreenBtn el-icon-full-screen"
btn.onclick = evt => {
evt.stopPropagation()
this.fullscreen = !this.fullscreen
}
this.$el.appendChild(btn)
}
}
},
mounted() {
this.init()
},
beforeDestroy() {
this.editor?.destroy()
}
}
</script>
<template>
<section class="jsoneditor" @contextmenu.stop :class="{fullscreen}"/>
</template>
<style scoped lang="scss">
.jsoneditor {
position: relative;
&.fullscreen {
position: fixed;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
width: 80vw;
height: 80vh;
z-index: 202403221146;
}
:deep(.ace-jsoneditor) {
font-size: 14px !important;
}
:deep(.fullscreenBtn) {
position: absolute;
z-index: 202403221132;
right: 6px;
top: 0;
height: 35px;
color: white;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
&:hover {
color: rgba(white, .6);
}
}
}
</style>

View File

@@ -0,0 +1,794 @@
/**
* 大屏设计资产库,模板设置中心
*
*/
export const chartTpl = [{
label: '柱状图', type: 'bar', list: [{
code: 'widget-linechart',
type: 'barChart1',
label: '柱状图1',
title: '柱状图',
border: 'border6',
icon: 'icontext_box',
value: '',
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/bar1.png',
width: 500,
sourceDataId: '',
height: 300,
dataX: '',
zIndex: 1,
dataY: [],
top: 0,
left: 0,
api: '',
apiData: [],
dataType: 'staticData',
staticData: [{name: '阿斯达', v1: 23}, {name: '水电费', v1: 12}, {name: '凡哥', v1: 67}, {name: '党费', v1: 98}],
config: 'barChart1',
dynamicData: []
}, {
code: 'widget-linechart',
type: 'barChart2',
label: '柱状图2',
icon: 'icontext_box',
value: '',
title: '柱状图2',
width: 500,
border: 'border6',
sourceDataId: '',
height: 300,
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/bar2.png',
dataX: '',
dataY: [],
top: 0,
zIndex: 1,
left: 0,
dataType: 'staticData',
api: '',
apiData: [],
staticData: [{name: '阿斯达', v1: 23}, {name: '水电费', v1: 12}, {name: '凡哥', v1: 67}, {name: '党费', v1: 98}],
config: 'barChart2',
dynamicData: []
}, {
code: 'widget-linechart',
type: 'barChart3',
label: '柱状图3',
title: '柱状图3',
icon: 'icontext_box',
value: '',
width: 500,
sourceDataId: '',
height: 300,
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/bar3.png',
dataX: '',
dataY: [],
border: 'border6',
top: 0,
left: 0,
zIndex: 1,
dataType: 'staticData',
api: '',
apiData: [],
staticData: [{name: '阿斯达', v1: 23}, {name: '水电费', v1: 12}, {name: '凡哥', v1: 67}, {name: '党费', v1: 98}],
config: 'barChart3',
dynamicData: []
}, {
code: 'widget-linechart',
type: 'barChart5',
label: '柱状图4',
title: '柱状图4',
icon: 'icontext_box',
value: '',
width: 500,
sourceDataId: '',
height: 300,
dataX: '',
dataY: [],
zIndex: 1,
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/bar5.png',
top: 0,
left: 0,
border: 'border6',
api: '',
apiData: [],
dataType: 'staticData',
staticData: [{name: '阿斯达', v1: 23}, {name: '水电费', v1: 12}, {name: '凡哥', v1: 67}, {name: '党费', v1: 98}],
config: 'barChart5',
dynamicData: []
}, {
code: 'widget-linechart',
type: 'barChart7',
label: '柱状图5',
title: '柱状图5',
icon: 'icontext_box',
value: '',
width: 500,
sourceDataId: '',
height: 300,
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/bar7.png',
dataX: '',
zIndex: 1,
dataY: [],
top: 0,
left: 0,
api: '',
apiData: [],
dataType: 'staticData',
staticData: [{name: '阿斯达', v1: 23}, {name: '水电费', v1: 12}, {name: '凡哥', v1: 67}, {name: '党费', v1: 98}],
config: 'barChart7',
dynamicData: []
}, {
code: 'widget-linechart',
type: 'barChart8',
label: '柱状图6',
title: '柱状图6',
icon: 'icontext_box',
value: '',
width: 500,
sourceDataId: '',
border: 'border6',
height: 300,
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/bar8.png',
dataX: '',
dataY: [],
zIndex: 1,
top: 0,
left: 0,
api: '',
apiData: [],
dataType: 'staticData',
staticData: [{name: '阿斯达', v1: 23}, {name: '水电费', v1: 12}, {name: '凡哥', v1: 67}, {name: '党费', v1: 98}],
config: 'barChart8',
dynamicData: []
}, {
code: 'widget-linechart',
type: 'barChart9',
label: '柱状图7',
title: '柱状图7',
border: 'border6',
icon: 'icontext_box',
value: '',
width: 500,
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/bar9.png',
sourceDataId: '',
height: 300,
dataX: '',
dataY: [],
zIndex: 1,
top: 0,
left: 0,
api: '',
apiData: [],
dataType: 'staticData',
staticData: [{name: '阿斯达', v1: 23}, {name: '水电费', v1: 12}, {name: '凡哥', v1: 67}, {name: '党费', v1: 98}],
config: 'barChart9',
dynamicData: []
}, {
type: 'barChart10',
label: '柱状图8',
title: '柱状图8',
border: 'border13',
width: 500,
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/bar10.png',
height: 300,
dataType: 'staticData',
staticData: [{name: '阿斯达', v1: 23}, {name: '水电费', v1: 12}],
config: 'barChart10'
},
]
}, {
label: '折线图', type: 'line', list: [{
code: 'widget-linechart',
type: 'lineChart1',
label: '折线图1',
title: '折线图1',
border: 'border6',
icon: 'icontext_box',
value: '',
width: 500,
height: 300,
top: 0,
left: 0,
zIndex: 1,
api: '',
apiData: [],
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/line1.png',
dataX: '',
dataY: [],
dataType: 'staticData',
staticData: [{name: '阿斯达', v1: 23, v2: 33}, {name: '水电费', v1: 12, v2: 34}, {
name: '凡哥',
v1: 67,
v2: 25
}, {name: '党费', v1: 98, v2: 85}],
config: 'lineChart1',
sourceDataId: '',
dynamicData: []
}, {
code: 'widget-linechart',
type: 'lineChart2',
label: '折线图2',
title: '折线图2',
border: 'border6',
icon: 'icontext_box',
value: '',
width: 500,
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/line2.png',
height: 300,
top: 0,
left: 0,
dataX: '',
dataY: [],
zIndex: 1,
api: '',
apiData: [],
dataType: 'staticData',
staticData: [{name: '阿斯达', v1: 23, v2: 33}, {name: '水电费', v1: 12, v2: 34}, {
name: '凡哥',
v1: 67,
v2: 25
}, {name: '党费', v1: 98, v2: 85}],
config: 'lineChart2',
sourceDataId: '',
dynamicData: []
}, {
code: 'widget-linechart',
type: 'lineChart3',
label: '折线图3',
title: '折线图3',
icon: 'icontext_box',
border: 'border6',
value: '',
width: 500,
height: 300,
zIndex: 1,
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/line3.png',
top: 0,
left: 0,
dataX: '',
dataY: [],
api: '',
apiData: [],
dataType: 'staticData',
staticData: [{name: '阿斯达', v1: 23, v2: 33}, {name: '水电费', v1: 12, v2: 34}, {
name: '凡哥',
v1: 67,
v2: 25
}, {name: '党费', v1: 98, v2: 85}],
config: 'lineChart3',
sourceDataId: '',
dynamicData: []
}, {
code: 'widget-linechart',
type: 'lineChart4',
label: '折线图4',
title: '折线图4',
icon: 'icontext_box',
value: '',
border: 'border6',
width: 500,
height: 300,
zIndex: 1,
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/line4.png',
top: 0,
left: 0,
dataX: '',
dataY: [],
api: '',
apiData: [],
dataType: 'staticData',
staticData: [{name: '阿斯达', v1: 23, v2: 33}, {name: '水电费', v1: 12, v2: 34}, {
name: '凡哥',
v1: 67,
v2: 25
}, {name: '党费', v1: 98, v2: 85}],
config: 'lineChart4',
sourceDataId: '',
dynamicData: []
}, {
code: 'widget-linechart',
type: 'lineChart5',
label: '折线图5',
title: '折线图5',
icon: 'icontext_box',
value: '',
border: 'border6',
width: 500,
height: 300,
zIndex: 1,
top: 0,
left: 0,
dataX: '',
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/line5.png',
dataY: [],
api: '',
apiData: [],
dataType: 'staticData',
staticData: [{name: '阿斯达', v1: 23, v2: 33}, {name: '水电费', v1: 12, v2: 34}, {
name: '凡哥',
v1: 67,
v2: 25
}, {name: '党费', v1: 98, v2: 85}],
config: 'lineChart5',
sourceDataId: '',
dynamicData: []
}]
},
{
label: '饼图', type: 'pie', list: [{
code: 'widget-linechart',
type: 'pieChart2',
config: 'pieChart2',
label: '饼图',
title: '饼图',
icon: 'icontext_box',
value: '',
border: 'border6',
width: 500,
height: 300,
zIndex: 1,
top: 0,
left: 0,
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/pie.png',
dataX: '',
dataY: [],
api: '',
apiData: [],
dataType: 'staticData',
staticData: [{name: '阿斯达', v1: 23, v2: 33}, {name: '水电费', v1: 12, v2: 34}, {
name: '凡哥',
v1: 67,
v2: 25
}, {name: '党费', v1: 98, v2: 85}],
sourceDataId: '',
dynamicData: []
}, {
code: 'widget-linechart',
type: 'pieChart1',
label: '饼图',
title: '饼图',
icon: 'icontext_box',
value: '',
border: 'border6',
width: 500,
height: 300,
zIndex: 1,
top: 0,
left: 0,
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/pie.png',
dataX: '',
dataY: [],
api: '',
apiData: [],
dataType: 'staticData',
staticData: [{name: '阿斯达', v1: 23, v2: 33}, {name: '水电费', v1: 12, v2: 34}, {
name: '凡哥',
v1: 67,
v2: 25
}, {name: '党费', v1: 98, v2: 85}],
config: 'pieChart1',
sourceDataId: '',
dynamicData: []
}, {
code: 'widget-linechart',
type: 'pieChart3',
label: '饼图',
title: '饼图',
icon: 'icontext_box',
value: '',
border: 'border6',
width: 500,
height: 300,
zIndex: 1,
top: 0,
left: 0,
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/pie.png',
dataX: '',
dataY: [],
api: '',
apiData: [],
dataType: 'staticData',
staticData: [{name: '阿斯达', v1: 23, v2: 33}, {name: '水电费', v1: 12, v2: 34}, {
name: '凡哥',
v1: 67,
v2: 25
}, {name: '党费', v1: 98, v2: 85}],
config: 'pieChart3',
sourceDataId: '',
dynamicData: []
}, {
type: 'summary',
label: '进度饼图',
title: '进度饼图',
border: 'border15',
display: 'processPie',
width: 500,
height: 300,
zIndex: 1,
top: 0,
left: 0,
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/processPieChart.png',
dataType: 'staticData',
staticData: {name: '综合调处率', label: "累计调解成功", v1: 23, totalLabel: "累计排查受理", total: 33},
},]
}, {
label: '关系图', type: 'graph', list: [{
type: "graphChart1",
label: "气泡图", title: "气泡图", border: 'border15',
width: 500,
height: 300,
top: 0,
left: 0,
dataType: 'staticData',
staticData: [],
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/graphChart1.png',
}]
}]
const maps = [{
type: 'map',
label: '地图',
display: 'map',
width: 840,
height: 534,
left: 0,
top: 0,
mask: '2',
pulseLines: '1',
mapStyle: "e51987628aee5206d4c9ca8c6e98b4f7",
areaId: '',
zIndex: 1,
apiData: [],
dataType: 'staticData',
dynamicData: [],
staticData: [{
label: '中卫慧通', lng: 117.1339399, lat: 36.7190487,
}],
api: '',
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/map.png',
is3dAround: '0',
limitArea: '0',
layers: 'vector'
}, {
type: 'AiDvMap',
label: 'echart地图',
display: 'map',
width: 840,
height: 534,
left: 0,
top: 0,
mask: '2',
pulseLines: '1',
mapStyle: "e51987628aee5206d4c9ca8c6e98b4f7",
areaId: '',
zIndex: 1,
apiData: [],
dataType: 'staticData',
dynamicData: [],
staticData: [{
label: '中卫慧通', lng: 117.1339399, lat: 36.7190487,
}],
api: '',
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/map.png',
is3dAround: '0',
limitArea: '0',
}, {type: "linkageMap", label: "联动地图", width: 800, height: 964, top: 0, left: 560, thumb: "https://cdn.cunwuyun.cn/dvcp/dv/tpl/linkageMap.png", dataType: 'staticData'}]
const customHtml = {
label: "HTML块", type: "html", list: [{
type: 'html',
label: '自定义HTML',
title: '自定义HTML',
border: 'border0',
width: 500,
height: 300,
top: 0,
left: 0,
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/pie.png',
html: `<div style="width: 100%;height: 100%;background: #fff;text-align: center;line-height: 300px;font-size: 20px;color: #000;">自定义HTML</div>`
}]
}
const tables = [{
type: 'table',
label: '表格',
title: '表格',
border: 'border6',
width: 650,
height: 400,
zIndex: 1,
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/table.png',
dataX: '',
dataY: [],
rowNum: 7,
isShowIndex: '1',
sourceDataId: '',
api: '',
apiData: [],
dataType: 'staticData',
dynamicData: [],
staticData: [{name: '列1', v: 23, v2: 3}, {name: '列2', v: 12, v2: 4}, {name: '列2', v: 12, v2: 4}]
}, {
type: 'AiDvTable',
label: '新版表格',
title: '新版表格',
border: 'border6',
width: 650,
height: 400,
zIndex: 1,
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/table.png',
dataX: '',
dataY: [],
rowNum: 7,
stripe: '1',
isShowIndex: '1',
sourceDataId: '',
api: '',
config: [{
width: '', color: '', align: ''
}, {
width: '', color: '', align: ''
}, {
width: '', color: '', align: ''
}],
apiData: [],
dataType: 'staticData',
dynamicData: [],
staticData: [{name: '列1', v: 23, v2: 3}, {name: '列2', v: 12, v2: 4}, {name: '列2', v: 12, v2: 4}]
}, {
type: 'AiRanking',
label: '排行榜',
title: '排行榜',
border: 'border6',
width: 523,
height: 400,
zIndex: 1,
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/table.png',
dataX: '',
dataY: [],
rowNum: 7,
subType: 'Ranking1',
stripe: '1',
isShowIndex: '1',
sourceDataId: '',
api: '',
apiData: [],
dataType: 'staticData',
dynamicData: [],
staticData: [{name: '列1', value: 23}, {name: '列2', value: 12}, {name: '列2', value: 12}]
}]
const layouts = [
{
type: 'display',
label: '装饰',
display: 'display0',
width: 840,
height: 540,
isZoom: false,
zIndex: 1,
title: '标题',
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/display.png',
sourceDataId: '',
dataType: 'staticData',
staticData: [{
label: '个人服务办理', value: 247
}, {
label: '同比上月', value: 247
}]
}, {
type: 'panel',
label: '边框',
title: '边框',
border: 'border0',
width: 400,
height: 400,
isZoom: false,
zIndex: 1,
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/border.png'
}, {
type: 'summary',
label: '数据统计',
display: 'summary0',
width: 480,
height: 240,
zIndex: 1,
top: 0,
left: 0,
dataX: '',
dataY: [],
summaryTitle: '',
border: 'border3',
sourceDataId: '',
title: '数据统计',
dataType: 'staticData',
staticData: [{
key: '个人服务办理', value: 247
}, {
key: '同比上月', value: 247
}],
dynamicData: [],
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/total.png'
},
]
const others = [
{
label: "图片", list: [
{
label: "普通图片",
type: "img",
width: 500,
height: 400,
thumb: "https://cdn.cunwuyun.cn/dvcp/dv/img/display0-bg.png"
}
]
},
{
label: '党组织', type: 'partyOrg', list: [{
type: 'partyOrg',
label: '党组织',
width: 840,
height: 800,
zIndex: 1,
top: 0,
left: 0,
dataX: '',
dataY: [],
title: '党组织',
border: 'border3',
sourceDataId: '',
dataType: 'staticData',
staticData: [{
key: '个人服务办理', value: 247
}, {
key: '同比上月', value: 247
}],
dynamicData: [],
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/total.png'
}]
}, {
label: '轮播图', list: [{
type: 'swiper',
label: '轮播图',
width: 400,
height: 300,
zIndex: 1,
border: 'border2',
dataType: 'staticData',
staticData: [{
img: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/pie.png', title: '湖羊', content: `歙县众城湖羊养殖专业合作社
徐晓红 - 18273645627
歙县郑村镇唐跃村碉墅`
}],
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/swiper.png'
}, {
type: 'swiper',
label: '轮播图(点指示器)',
width: 800,
height: 358,
zIndex: 1,
border: 'border14',
dataType: 'staticData',
staticData: [{
content: `歙县众城湖羊养殖专业合作社
徐晓红 - 18273645627
歙县郑村镇唐跃村碉墅`
}, {
content: `歙县众城湖羊养殖专业合作社
徐晓红 - 18273645627
歙县郑村镇唐跃村碉墅`
},],
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/swiper.png',
dotIndicator: true
}]
}, {
label: '视频播放器', type: 'video', list: [{
type: 'video',
label: '视频播放器',
width: 400,
height: 300,
zIndex: 1,
src: '',
border: 'border2',
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/swiper.png'
}]
}, {
label: '视频监控', list: [
{
type: 'monitor',
label: '视频监控',
src: '',
width: 480,
height: 240,
zIndex: 1,
top: 0,
left: 0,
title: '',
moniterId: '',
monitorType: 'cmcc',
api: '/app/appzyvideoequipment/list2',
border: 'border2',
sourceDataId: '',
dataType: 'staticData',
staticData: '',
dynamicData: '',
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/video.png'
},
{
type: "monitorCarousel",
label: "视频轮播",
width: 480,
height: 480,
zIndex: 1,
title: "视频轮播",
thumb: "https://cdn.cunwuyun.cn/dvcp/dv/tpl/video.png"
}
]
}, customHtml]
const components = [{
label: '图表', list: [...chartTpl, {
label: "多维图", type: "plot", list: [{
type: 'plot',
label: '多维图表',
title: '多维图表',
border: 'border0',
width: 500,
height: 300,
top: 0,
left: 0,
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/pie.png',
charts: [{
title: "饼状图统计",
chart: "pieChart2",
dataType: 'staticData',
data: [{name: '阿斯达', v1: 23, v2: 33}, {name: '水电费', v1: 12, v2: 34}, {
name: '凡哥',
v1: 67,
v2: 25
}, {name: '党费', v1: 98, v2: 85}]
}],
}]
}]
},
{label: '表格', list: tables},
{
label: "样式", list: [...layouts, {
type: "tabs", label: "TAB页签", border: "border13", width: 480,
height: 240, thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/tabs.png', top: 0, left: 0,
dataType: 'staticData', staticData: {}, title: "TAB页签"
}]
},
{label: '地图', list: maps}, {
type: 'ai3d', label: "3D", list: [{
label: "3D楼栋", type: 'building', list: [{
type: 'building1',
label: "楼栋模型1",
width: 840,
height: 800,
zIndex: 1,
title: "楼栋模型1",
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/total.png'
}]
}]
}, {
label: "AI", list: [{
type: "aiAssist",
label: "AI助手",
width: 134,
height: 140,
zIndex: 1,
title: "AI助手",
thumb: "https://cdn.cunwuyun.cn/dvcp/dv/aiIcon.png"
}]
}, {
label: '其他', list: others
}]
export const layers = [...chartTpl.map(e => e.list), maps, tables, layouts, ...others.map(e => e.list)].flat()
export {components}
/**
* 监控类型
*/
export const monitorTypes = [
{dictName: "中国移动", dictValue: "cmcc"},
{dictName: "海康威视", dictValue: "hik"},
{dictName: "大华", dictValue: "dahua"},
{dictName: "视联网", dictValue: "slw"},
]

View File

@@ -0,0 +1,58 @@
<template>
<section class="preview">
<ai-dv-wrapper :views="[{label: '返回'}]" :theme="config.theme" @change="handleBack" v-if="screenId" :title="info.name" :background="bgImg" :titleSize="config.titleSize">
<ai-dv-viewer :urlPrefix="urlPrefix" :instance="instance" :dict="dict" :id="screenId"/>
</ai-dv-wrapper>
</section>
</template>
<script>
import {mapActions} from "vuex"
export default {
name: "preview",
props: {
instance: Function,
dict: Object,
permissions: Function,
urlPrefix: {
type: String,
default: '/app'
}
},
computed: {
screenId: v => v.$route.query.id,
bgImg: v => v.config.theme == 1 ? 'https://cdn.cunwuyun.cn/dvcp/dv/img/dj_bg.png' : (v.config.backgroundImage?.[0]?.url || "")
},
data() {
return {
info: {},
config: {}
}
},
methods: {
...mapActions(['closePage']),
getDvData() {
let {id} = this.$route.query
this.instance.post(`/app/appdiylargescreen/queryLargeScreenDetailById?id=${id}`).then(res => {
if (res?.data) {
this.info = res.data
this.config = JSON.parse(res.data.config).dashboard
}
})
},
handleBack() {
this.$router.back()
this.closePage()
}
},
created() {
this.getDvData()
}
}
</script>
<style lang="scss" scoped>
.preview {
}
</style>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,133 @@
<template>
<section class="AppCentralTaskDV">
<!-- <ai-dv-background :src="bgImage"/>-->
<div class="coreTask">
<div class="leftBox">
<div class="boxTitle">{{ coreTaskData.titleText }}</div>
<dv-scroll-board v-if="refresh" :config="coreTaskData"/>
</div>
</div>
</section>
</template>
<script>
import {scrollBoard} from '@jiaminghi/data-view'
import bgImage from './assets/centralTask/bg.png'
import Vue from "vue";
Vue.use(scrollBoard)
export default {
name: "AppCentralTaskDV",
label: "数据大屏-重点工作",
props: {
nav: {default: () => ({})}
},
inject: {
dv: {default: ""}
},
computed: {
coreTaskData() {
return {
headerHeight: 52,
header: ['基层组织建设', "社区治理", "便民服务效能", "城市管理"],
headerBGC: 'rgba(0, 113, 255, 0.5)',
oddRowBGC: "rgba(5, 65, 139, 0.5)",
evenRowBGC: "rgba(5, 65, 139, 0.5)",
waitTime: 6000,
align: ["center", "start", "center", "center"],
rowNum: 5,
...this.nav.data,
}
},
},
data() {
return {bgImage, refresh: true}
},
watch: {
nav: {
deep: true,
handler() {
this.refresh = false
this.$nextTick(() => this.refresh = true)
}
}
}
}
</script>
<style lang="scss" scoped>
.AppCentralTaskDV {
height: 100%;
padding: 0 0 60px;
box-sizing: border-box;
display: flex;
flex-direction: column;
.coreTask {
flex: 1;
min-height: 0;
display: flex;
flex-direction: column;
gap: 53px;
margin-top: 56px;
.leftBox {
width: 100%;
height: 100%;
background-image: url("./assets/centralTask/box.png");
background-size: 100% 100%;
background-repeat: no-repeat;
display: flex;
flex-direction: column;
align-items: center;
padding: 0 40px 42px;
box-sizing: border-box;
}
}
.boxTitle {
height: 68px;
width: 534px;
background-image: url("./assets/centralTask/titleBox.png");
text-align: center;
font-size: 22px;
font-weight: 400;
color: #71F8FF;
transform: translateY(-32px);
line-height: 68px;
}
:deep( .dv-scroll-board ){
width: 100%;
flex: 1;
min-height: 0;
border-radius: 6px;
overflow: hidden;
.header {
color: #9FDBFB;
font-size: 20px;
.header-item {
text-align: center;
border: 1px solid #054596;
}
}
.row-item {
color: #68F0FC;
font-size: 18px;
overflow: hidden;
.ceil {
border: 1px solid #054596;
border-top: none;
position: relative;
line-height: 30px;
white-space: normal;
padding: 20px;
}
}
}
}
</style>

View File

@@ -0,0 +1,479 @@
<template>
<section class="AppGovInteractionDV">
<el-row type="flex" justify="space-between" align="bottom">
<div flex class="framePane column top">
<div class="titlePane" v-text="'事件内容'"/>
<div class="fill">
<dv-scroll-board :config="topLeftData"/>
</div>
</div>
<div class="centerTopPane" id="centerTopPane">
<b class="title gradientFont">事件统计</b>
<el-row type="flex" justify="space-between" align="middle"
v-for="(row,i) in topCenterData" :key="i">
<div class="dataPane" v-for="(op,j) in row" :key="j">
<span class="gradientFont" v-text="op.label"/>
<dv-digital-flop class="gradientFont" :config="op.v1"/>
</div>
</el-row>
</div>
<div flex class="framePane column top">
<div class="titlePane" v-text="'政务微信群'"/>
<div class="totalPane" flex>
<div class="dataPanel fill" flex v-for="(op,i) in rightTopData.total" :key="i">
<span v-text="op.label"/>
<b v-text="op.v1"/>
</div>
</div>
<div class="fill">
<ai-echart class="chart" :data="rightTopData.list" :ops="rightTopData.ops"/>
</div>
</div>
</el-row>
<div flex class="gap fill">
<div flex class="framePane fill column" v-for="c in charts" :key="c.id">
<div class="titlePane" v-text="c.label"/>
<div class="fill">
<ai-echart class="chart" :data="chartData[c.id]" :ops="c.ops"/>
</div>
</div>
</div>
</section>
</template>
<script>
import {digitalFlop, scrollBoard} from '@jiaminghi/data-view'
import Vue from "vue";
Vue.use(digitalFlop)
Vue.use(scrollBoard)
export default {
name: "AppGovInteractionDV",
label: "数据大屏-政民互动",
props: {
instance: Function
},
computed: {
topCenterData() {
let meta = [
[{label: "待受理", name: 'pending'}, {label: "累计上报", name: 'total_case'}],
[{label: "办理中", name: 'processing'}, {label: "累计受理", name: 'total_accepted'}],
[{label: "今日上报", name: "added_today"}, {label: "累计办结", name: 'total_solved'}],
[{label: "今日办结", name: 'solved_today'}, {label: "累计办结率", name: 'total_solved_percent'}],
]
return meta.map(e => e.map(s => {
let v1 = {
number: [this.meta.residentCategoryReport?.[s.name] || 0],
style: {
fontFamily: 'dineng',
fontWeight: 'bold',
fontSize: 40,
gradientType: 'linear',
gradientColor: ['#fff', '#fff', '#6BC7FF'],
gradientParams: [0, 0, 0, 40],
gradientWith: 'fill',
gradientStops: [0, .18, 1]
}
}
if (s.name == 'total_solved_percent') {
v1 = {
...v1,
number: [v1.number * 100], content: '{nt}%'
}
}
return {...s, v1}
}))
},
topLeftData() {
let statusColor = {
0: 'doing',
1: 'done',
2: 'pending',
},
statusLabel = {
0: '处理中',
1: '已处理'
},
list = this.meta.residentOrderList?.map(e => {
let status = e.process_list.slice(-1)?.[0]?.status
return {
...e, status, statusLabel: statusLabel[status]
}
})
return {
oddRowBGC: 'transparent',
evenRowBGC: 'transparent',
rowNum: 10,
data: list?.map(e => [`
<div flex class="eventItem">
<span class="tag ${statusColor[e.status]}">${e.statusLabel}</span>
<div class="fill">${e.desc}</div>
</div>`]) || []
}
},
rightTopData() {
let obj = this.meta.groupMap?.list || {},
list = Object.keys(obj).map(e => {
let {total, increase, decrease} = obj?.[e],
time = this.$moment(e).format('MM-DD')
return {time, total, increase, decrease}
})
return {
total: [
{label: '群聊总数', v1: this.meta.groupMap?.groupSum || 0},
{label: '群成员数', v1: this.meta.groupMap?.today?.total || 0},
],
ops: {
color: ['rgba(54, 165, 255, 0.2)', 'rgba(28, 212, 68, 0.2)', 'rgba(255, 215, 109, 0.2)'],
legend: {
itemWidth: 16,
itemHeight: 16,
textStyle: {color: '#82C5FF', padding: [0, 0, 0, 8], fontSize: 14},
icon: 'rect',
itemGap: 40
},
tooltip: {},
xAxis: {
type: 'category', axisTick: false,
nameGap: 20,
axisLabel: {color: '#fff'},
axisLine: {lineStyle: {color: '#263763'}}
},
// 声明一个 Y 轴,数值轴。
yAxis: {
nameGap: 30, minInterval: 1,
splitLine: {lineStyle: {color: '#263763'}},
axisLabel: {color: 'rgba(255,255,255,.8)'}
},
series: [
{
type: 'line', name: "群成员数", symbol: 'none', lineStyle: {color: '#36A5FF', borderWidth: 1},
itemStyle: {borderColor: '#36A5FF', borderWidth: 1},
},
{
type: 'line', name: "新增人数", symbol: 'none', lineStyle: {color: '#1CD444', borderWidth: 1},
itemStyle: {borderColor: '#1CD444', borderWidth: 1},
},
{
type: 'line', name: "退群人数", symbol: 'none', lineStyle: {color: '#FFD76D', borderWidth: 1},
itemStyle: {borderColor: '#FFD76D', borderWidth: 1},
}
],
grid: {left: 60, bottom: 58, right: 20}
},
list
}
},
chartData() {
return {
EventType: this.meta.residentCategoryReportList?.map(e => {
let {category_name: name, total_case, total_solved} = e
return {name, total_case, total_solved}
}) || [],
EventSource: this.meta.unitReportList?.map(e => {
let {grid_name: name, total_case, total_solved} = e
return {name, total_case, total_solved}
}) || []
}
},
},
data() {
return {
charts: [
{
label: "事件类型", id: "EventType", ops: {
color: ['rgba(54, 165, 255, 0.2)', 'rgba(28, 212, 68, 0.2)'],
legend: {
itemWidth: 16,
itemHeight: 16,
textStyle: {color: '#82C5FF', padding: [0, 0, 0, 8], fontSize: 14},
icon: 'rect',
itemGap: 40
},
tooltip: {},
xAxis: {
type: 'category', nameGap: 20, axisTick: false,
axisLabel: {color: '#fff'},
axisLine: {lineStyle: {color: '#263763'}}
},
// 声明一个 Y 轴,数值轴。
yAxis: {
nameGap: 23, minInterval: 1,
splitLine: {lineStyle: {color: '#263763'}},
axisLabel: {color: 'rgba(255,255,255,.8)'}
},
series: [
{
type: 'bar',
name: "累计受理",
barWidth: 10,
barGap: '20%',
itemStyle: {borderColor: '#36A5FF', borderWidth: 1}
},
{
type: 'bar',
name: "累计办结",
barWidth: 10,
barGap: '20%',
itemStyle: {borderColor: '#1CD444', borderWidth: 1}
}
],
grid: {left: 40, bottom: 58, right: 20}
}
},
{
label: "上报来源", id: "EventSource", ops: {
color: ['rgba(54, 165, 255, 0.2)', 'rgba(28, 212, 68, 0.2)'],
legend: {
itemWidth: 16,
itemHeight: 16,
textStyle: {color: '#82C5FF', padding: [0, 0, 0, 8], fontSize: 14},
icon: 'rect',
itemGap: 40
},
tooltip: {},
xAxis: {
type: 'category', axisTick: false,
nameGap: 20,
axisLabel: {color: '#fff'},
axisLine: {lineStyle: {color: '#263763'}}
},
// 声明一个 Y 轴,数值轴。
yAxis: {
nameGap: 30, minInterval: 1,
splitLine: {lineStyle: {color: '#263763'}},
axisLabel: {color: 'rgba(255,255,255,.8)'}
},
series: [
{
type: 'line', name: "事件数", symbol: 'none', lineStyle: {color: '#36A5FF', borderWidth: 1},
itemStyle: {borderColor: '#36A5FF', borderWidth: 1, show: false},
areaStyle: {
color: {
type: 'linear', x2: 0, y2: 1, colorStops: [
{offset: 0, color: 'rgba(37, 161, 255, 0.5)'}, {offset: 1, color: 'rgba(37, 161, 255, 0)'}]
}
}
},
{
type: 'line', name: "办理数", symbol: 'none', lineStyle: {color: '#1CD444', borderWidth: 1},
itemStyle: {borderColor: '#1CD444', borderWidth: 1, show: false},
areaStyle: {
color: {
type: 'linear', x2: 0, y2: 1, colorStops: [
{offset: 0, color: 'rgba(37, 206, 55, 0.5)'}, {offset: 1, color: 'rgba(37, 206, 55, 0)'}]
}
}
}
],
grid: {left: 40, bottom: 58, right: 20}
}
},
],
meta: {},
}
},
methods: {
getData() {
this.instance.post("/app/statistics/governmentPeople/queryResidentReport").then(res => {
if (res?.data) this.meta = res.data
})
},
},
created() {
this.getData()
}
}
</script>
<style lang="scss" scoped>
.AppGovInteractionDV {
height: 100%;
padding: 6px 0 10px;
gap: 20px;
font-size: 16px;
color: #82C5FF;
display: flex;
flex-direction: column;
:deep( .eventItem ){
width: 100%;
color: #82C5FF;
& > .fill {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}
:deep( .communityEvent ){
list-style-type: circle;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
height: 40px;
line-height: 40px;
padding-left: 1px;
color: #82C5FF;
}
:deep( .tag ){
padding: 0 10px;
border-radius: 4px;
margin-right: 10px;
font-size: 14px;
line-height: 28px;
color: #fff;
box-sizing: border-box;
&.doing {
background-image: radial-gradient(rgba(#1B1BD6, .4), #208FFF);
}
&.pending {
background-image: radial-gradient(rgba(#FF9333, .4), #FFE959);
}
&.done {
background-image: radial-gradient(rgba(#1BD622, .4), #2CFF7C);
}
}
.centerTopPane {
background-image: url("./assets/govInteraction/globe_map.png");
background-repeat: no-repeat;
background-size: 100% 100%;
height: 540px;
width: 940px;
flex-shrink: 0;
position: relative;
padding: 30px 50px 50px;
box-sizing: border-box;
.title {
font-size: 60px;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
:deep( .gradientFont ){
background-image: linear-gradient(180deg, #FFFFFF 0%, #FFFFFF 18%, #6BC7FF 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.el-row {
&:first-of-type, &:last-of-type {
margin: 0 110px;
}
}
:deep( .dataPane ){
width: 122px;
height: 114px;
background-image: url("./assets/govInteraction/kuaikuai.png");
background-repeat: no-repeat;
background-size: 100% 80px;
background-position: bottom center;
display: flex;
flex-direction: column;
align-items: center;
font-weight: bold;
& > b {
font-size: 50px;
line-height: 50px;
span {
font-weight: normal;
font-size: 32px;
}
}
& > span {
font-size: 18px;
line-height: 18px;
}
}
}
.framePane {
width: 100%;
height: 100%;
background: rgba(7, 11, 35, 0.4);
border: 1px solid #14345F;
display: flex;
flex-direction: column;
&.top {
width: 440px;
height: 520px;
}
& > .fill {
width: 100%;
height: 100%;
padding: 20px;
box-sizing: border-box;
overflow-y: auto;
}
}
.titlePane {
width: 100%;
background-image: url("./assets/govInteraction/title.png");
background-repeat: no-repeat;
background-size: 309px 100%;
height: 60px;
padding-left: 30px;
color: #fff;
font-weight: bold;
font-size: 20px;
line-height: 48px;
}
.chart {
width: 100%;
}
.el-image {
width: 100%;
height: 100%;
}
.totalPane {
width: 100%;
.dataPanel {
height: 60px;
background: linear-gradient(270deg, rgba(119, 169, 255, 0.1) 0%, rgba(66, 112, 255, 0.25) 100%);
border-radius: 4px;
padding: 0 10px;
font-size: 16px;
justify-content: space-between;
margin-left: 20px;
& > span {
white-space: nowrap;
}
& > b {
font-size: 24px;
color: #fff;
font-family: Arial-BoldMT, Arial, serif;
}
&:last-of-type {
margin-right: 20px;
}
}
}
}
</style>

View File

@@ -0,0 +1,848 @@
<template>
<div class="griddv">
<div class="left">
<div class="griddv-title">
<h2>网格列表</h2>
</div>
<div class="griddv-tree">
<el-tree
:data="treeList"
:props="defaultProps"
@node-click="handleNodeClick"
node-key="id"
ref="tree"
default-expand-all
:expand-on-click-node="false"
highlight-current>
</el-tree>
</div>
</div>
<div class="middle" :class="[girdLevel == '2' ? 'middle-active' : '']" ref="container" v-loading="isLoading"
element-loading-background="rgba(0, 0, 0, 0.5)">
<div
ref="middleTree"
id="tree"
class="tree"
:style="{left: x, top: y, transform: `scale(${scale}) translate(-50%, -50%) `, 'transform-origin': `${0} ${0}`}">
<ai-okr-tree ref="VueOkrTree" v-if="chartData.length"
:data="chartData"
node-key="id"
show-collapsable
aniamte
animate-name="okr-fade-in-linear"
:render-content="renderContent"
default-expand-all/>
</div>
</div>
<div class="right">
<div class="right-top">
<div class="griddv-title">
<h2>网格内人员情况</h2>
</div>
<div class="right-chart">
<ai-echart
style="height: 100%; width: 100%;"
:data="userInfo"
:ops="barChart1">
</ai-echart>
</div>
</div>
<div class="right-bottom">
<div class="griddv-title">
<h2>事件上报情况</h2>
</div>
<div class="right-chart">
<ai-echart
style="height: 100%; width: 100%;"
:data="eventInfo"
:ops="pieChart2">
</ai-echart>
</div>
</div>
</div>
<el-dialog :visible.sync="isShowInfo" width="640px" :close-on-click-modal="false" :modal-append-to-body="false">
<template slot="title">
<h2>家庭信息</h2>
<img src="./assets/grid/close.png" @click="isShowInfo = false">
</template>
<div class="grid-info">
<div class="grid-info__title">
<h2>家庭地址</h2>
<span>{{ residentInfo.currentAreaName }}</span>
</div>
<ai-table
style="width: 558px"
:tableData="tableData"
:col-configs="colConfigs"
:total="total"
:isShowPagination="false"
:current.sync="search.current"
:size.sync="search.size"
@getList="() => {}">
</ai-table>
</div>
</el-dialog>
</div>
</template>
<script>
import {barChart1, pieChart2} from "./components/chartOps"
export default {
name: 'AppGridDV',
label: '网格数据大屏',
props: {
instance: Function,
dict: Object,
},
data() {
return {
isLoading: false,
treeList: [],
search: {
size: 100,
current: 1
},
barChart1,
userInfo: [],
eventInfo: [],
pieChart2,
total: 0,
isShowInfo: false,
defaultProps: {
children: 'girdList',
label: 'girdName',
},
colConfigs: [
{prop: 'name', label: '姓名', align: 'center', width: 120},
{
prop: 'householdRelation',
label: '与户主关系',
align: 'center',
render: (h, {row}) => {
return h('span', {
style: {
color: row.householdName === '1' ? '#1DE94D' : '#A8D7F3'
}
}, row.householdName === '1' ? '户主' : (this.dict.getLabel('householdRelation', row.householdRelation) || '-'))
},
format: v => this.dict.getLabel('householdRelation', v)
},
{
prop: 'idNumber',
label: '身份证号',
align: 'center',
width: 220,
format: v => v ? v.replace(/^(\d{10})\d{4}(.{4}$)/g, `$1${Array(5).join('*')}$2`) : '-'
},
{prop: 'phone', label: '联系方式', align: 'center'}
],
girdId: '',
residentInfo: {},
tableData: [],
chartData: [],
girdLevel: '0',
scale: 1,
x: '50%',
y: '50%',
offsetX: 0,
offsetY: 0,
defaultUrl: 'https://cdn.cunwuyun.cn/dvcp/dv/avatar.png'
}
},
created() {
this.dict.load('householdRelation')
this.getTreeList()
this.getGirdInfo()
},
mounted() {
this.bindEvent()
},
destroyed() {
document.querySelector('body').removeEventListener('mousewheel', this.onMousewheel)
document.querySelector('body').removeEventListener('mouseup', this.onMouseUp)
document.querySelector('body').removeEventListener('mousedown', this.onMousedown)
document.querySelector('body').removeEventListener('mousemove', this.onMouseMove)
},
methods: {
bindEvent() {
document.querySelector('body').addEventListener('mousewheel', this.onMousewheel, true)
document.querySelector('body').addEventListener('mouseup', this.onMouseUp, true)
document.querySelector('body').addEventListener('mousedown', this.onMousedown, true)
document.querySelector('body').addEventListener('mousemove', this.onMouseMove, true)
},
onMousewheel(event) {
if (!event) return false
const elClass = event.target.className
if (elClass === 'tree' || elClass === 'middle' || (elClass && (elClass.indexOf('chart') > -1 || elClass.indexOf('user') > -1))) {
var dir = event.deltaY > 0 ? 'Up' : 'Down'
if (dir === 'Up') {
this.scale = this.scale - 0.2 <= 0.1 ? 0.1 : this.scale - 0.2
} else {
this.scale = this.scale + 0.2
}
}
return false
},
onMousedown(e) {
const elClass = e.target.className
if ((elClass && (elClass.indexOf('chart') > -1 || elClass.indexOf('user') > -1))) {
const left = document.querySelector('#tree').offsetLeft
const top = document.querySelector('#tree').offsetTop
this.isMove = true
this.offsetX = e.clientX - left
this.offsetY = e.clientY - top
}
},
onMouseMove(e) {
if (!this.isMove) return
this.x = (e.clientX - this.offsetX) + 'px'
this.y = (e.clientY - this.offsetY) + 'px'
},
onMouseUp() {
this.isMove = false
},
debounce(func, wait = 1000) {
let timeout
return function (event) {
clearTimeout(timeout)
timeout = setTimeout(() => {
func.call(this, event)
}, wait)
}
},
handleNodeClick(e) {
this.girdLevel = e.girdLevel
this.isLoading = true
this.getGirdInfo(e.id, e.girdLevel)
this.getStatisticsInfo(e.id)
},
getStatisticsInfo(id) {
this.instance.post(`/app/appgirdmemberinfo/girdMemberAndResidentStatistic?girdId=${id}`).then((res) => {
if (res.code == 0) {
this.userInfo = [
{
'name': '网格长',
'人数': res.data['网格长'] || 0
},
{
'name': '网格员',
'人数': res.data['网格员'] || 0
},
{
'name': '责任家庭数',
'人数': res.data['责任家庭数'] || 0
}
]
}
})
this.instance.post(`/app/appclapeventinfo/clapEventStatistic?girdId=${id}`).then((res) => {
if (res.code == 0) {
this.eventInfo = Object.keys(res.data).map(v => {
return {
'事件类型': v,
v1: res.data[v]
}
})
}
})
},
renderContent(h, node) {
return h('div', {
class: 'userlist-container'
}, [h('div', {
class: `userlist ${node.data.label === '子节点' ? 'last-level' : ''} ${node.data.girdLevel > 1 ? 'userlist-wrapper' : ''} userlist-${node.data.girdLevel}`
}, node.data.userList.map(v => {
return h('div', {
class: `user-item user-item-${v.girdLevel}`
}, [h('img', {
class: 'user-img',
attrs: {
src: v.photo || this.defaultUrl
},
on: {
dragstart: e => {
e.preventDefault()
e.stopPropagation()
return false
}
}
}), h('p', {
class: 'user-p',
attrs: {
title: v.label,
'data-id': v.id
},
on: {
click: () => {
if (node.data.label === '子节点') {
this.getResidentInfo(v.id)
}
}
}
}, v.label), h('span', {
class: 'user-span',
style: {
display: v.girdLevel === '2' ? 'block' : 'none',
fontSize: v.girdLevel === '2' ? '12px' : ''
}
}, v.checkType ? (v.checkType === '1' ? '网格员' : '网格长') : '-')])
})), h('div', {
class: 'user-gridName',
style: {
display: node.data.label === '子节点' ? 'none' : 'block',
color: 'rgba(255, 255, 255, 0.8)',
fontSize: '12px',
margin: '4px 0'
}
}, node.data.label)])
},
getResidentInfo(id) {
this.isLoading = true
this.instance.post(`/app/appresident/detail?id=${id}`).then((res) => {
if (res.code == 0) {
this.residentInfo.resident = res.data
this.tableData = res.data.family || []
this.isShowInfo = true
}
this.isLoading = false
})
},
autoScale() {
const treeWidth = this.$refs.middleTree.offsetWidth
const containerWidth = this.$refs.container.offsetWidth
this.scale = treeWidth < containerWidth ? 1 : containerWidth / treeWidth
this.x = '50%'
this.y = '50%'
},
getGirdInfo(id) {
this.instance.post(`/app/appgirdinfo/listAllGirdAndMemberByTop?id=${id || ''}`).then((res) => {
if (res.code == 0) {
const chartData = this.formatList([res.data])
this.chartData = chartData
this.$nextTick(() => {
if (id) {
this.getUserList(id, chartData[0].id)
} else {
this.isLoading = false
this.autoScale()
}
})
}
})
},
getUserList(id, parentId) {
this.instance.post(`/app/appgirdmemberresident/listByGirdMember`, null, {
params: {
size: 1000,
girdId: id
}
}).then(res => {
if (res.code == 0) {
const userList = res.data.records.map(v => {
return {
...v,
isLast: true,
label: v.name
}
})
this.isLoading = false
if (!userList.length) {
this.autoScale()
return false
}
const node = this.$refs.VueOkrTree.getNode(parentId)
this.$refs.VueOkrTree.append({
id: new Date().getTime(),
label: '子节点',
userList: userList || []
}, node)
this.$nextTick(() => {
this.autoScale()
})
}
})
},
formatList(list) {
return list.map(item => {
let userList = []
const girdMemberManageList = item.girdMemberManageList ? item.girdMemberManageList.map(v => {
return {
...v,
label: v.name,
id: v.id,
checkType: '2',
girdName: item.girdName,
girdLevel: item.girdLevel,
isUser: true
}
}) : []
const girdMemberList = item.girdMemberList ? item.girdMemberList.map(v => {
return {
...v,
label: v.name,
id: v.id,
checkType: '1',
girdName: item.girdName,
girdLevel: item.girdLevel,
isUser: true
}
}) : []
if (this.girdLevel === '2' && item.girdLevel === '2' && girdMemberList.length) {
userList = girdMemberManageList
item.girdList = [{
girdLevel: '2',
id: item.id,
isUser: false,
userList: girdMemberList,
label: item.girdName,
children: []
}]
} else {
userList = [...girdMemberManageList, ...girdMemberList]
}
if (!userList.length) {
userList = [{
label: '-',
id: item.id,
girdLevel: item.girdLevel,
girdName: item.girdName
}]
}
const obj = {
label: item.girdName,
id: `${new Date().getTime()}-${item.id}`,
girdLevel: item.girdLevel,
isUser: false,
userList: userList,
children: item.girdList || []
}
if (obj.children && obj.children.length && this.girdLevel !== '2') {
obj.children = this.formatList(obj.children)
}
return obj
})
},
getTreeList() {
this.instance.post('/app/appgirdinfo/listAll').then((res) => {
if (res.code == 0) {
this.treeList = [...res.data]
this.$nextTick(() => {
this.$refs.tree.setCurrentKey(res.data[0].id)
this.getStatisticsInfo(res.data[0].id)
})
}
})
}
}
}
</script>
<style lang="scss" scoped>
.griddv {
display: flex;
align-items: center;
height: 100%;
user-select: none;
::-webkit-scrollbar {
width: 6px;
}
::-webkit-scrollbar-track {
border-radius: 5px;
background: rgba(93, 163, 255, 0.1);
}
::-webkit-scrollbar-thumb {
border-radius: 5px;
background: rgba(173, 208, 255, 0.5);
}
.grid-info {
width: 100%;
.grid-info__title {
display: flex;
align-items: center;
margin-bottom: 20px;
h2, span {
color: #fff;
font-size: 14px;
font-weight: 500;
}
}
}
:deep( .el-dialog__body ){
padding: 10px 40px 30px;
.el-table {
background-color: transparent;
}
.el-table__body tr td:first-child .cell, .ai-table .el-table__header tr th:first-child .cell {
padding-left: 0 !important;
}
.el-table th, .el-table tr {
color: #fff;
font-size: 14px;
background-color: rgba(28, 39, 65, 0.9);
}
.el-table__row--striped, .el-table--striped .el-table__body tr.el-table__row--striped td {
background-color: transparent !important;
}
.el-table__header-wrapper {
display: none;
}
.el-table--enable-row-hover .el-table__body tr:hover > td, .el-table-filter {
background-color: transparent;
}
}
:deep( .el-dialog ){
position: absolute;
top: 50%;
left: 50%;
margin: 0 !important;
transform: translate(-50%, -50%);
background: rgba(2, 13, 43, 0.9);
box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.5), inset 0px 0px 10px 0px #2C7CFF;
border: 1px solid #2D65C9;
.el-dialog__header {
display: flex;
align-items: center;
justify-content: space-between;
background: transparent;
box-shadow: none;
h2 {
color: #fff;
font-size: 18px;
}
img {
cursor: pointer;
width: 16px;
height: 16px;
&:hover {
opacity: 0.6;
}
}
}
.el-dialog__headerbtn {
display: none;
}
}
:deep( .userlist-container ){
.userlist {
display: flex;
align-items: center;
justify-content: center;
padding: 10px;
background: rgba(76, 166, 255, 0.1);
border: 1px solid rgba(255, 255, 255, 0.2);
.user-item {
margin-right: 10px;
color: #fff;
font-size: 0;
&:last-child {
margin-right: 0;
}
img {
width: 58px;
height: 80px;
object-fit: cover;
user-select: none;
}
p {
max-width: 120px;
margin: 4px 0 0 0;
font-size: 19px;
text-align: center;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
span {
display: block;
max-width: 120px;
font-size: 17px;
color: #9DD3FF;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
&.user-item-0 {
img {
width: 86px;
height: 120px;
}
}
&.user-item-2 {
p {
line-height: 14px;
font-size: 12px;
margin-bottom: 4px;
}
span {
line-height: 14px;
}
img {
width: 40px;
height: 56px;
}
}
}
&.userlist-2 {
justify-content: space-between;
max-width: 130px;
flex-wrap: wrap;
padding-bottom: 0;
width: fit-content;
margin: 0 auto;
.user-item {
width: 48px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
margin-bottom: 10px;
&:nth-of-type(2n) {
margin-right: 0;
}
}
}
&.last-level {
flex-wrap: wrap;
max-width: 690px;
font-size: 0;
background: rgba(0, 0, 0, 0.1);
border: 1px solid rgba(255, 255, 255, 0.2);
padding: 12px 12px 0 12px;
box-sizing: border-box;
.user-item {
margin-bottom: 12px;
}
img {
display: none;
}
p {
padding: 8px;
font-size: 12px;
background: #0B477D;
border-radius: 4px;
}
span {
display: none !important;
}
}
}
}
* {
box-sizing: border-box;
}
.griddv-title {
display: flex;
width: 320px;
height: 62px;
background-image: url(assets/grid/title-bg.png);
background-size: 100% 100%;
h2 {
width: 100%;
height: 50px;
line-height: 50px;
padding-left: 24px;
font-weight: 600;
font-size: 20px;
letter-spacing: 1px;
color: #fff;
}
}
& > div {
height: 100%;
}
.right {
display: flex;
justify-content: space-between;
flex-direction: column;
width: 440px;
margin-left: 20px;
& > div {
flex: 1;
width: 100%;
padding-bottom: 20px;
background: rgba(7, 11, 35, 0.4);
border: 1px solid #2D50B5;
box-sizing: border-box;
.right-chart {
height: calc(100% - 82px);
padding: 0 20px;
}
&:last-child {
margin-top: 20px;
}
}
}
.middle {
position: relative;
flex: 1;
margin-left: 20px;
background: rgba(7, 11, 35, 0.4);
border: 1px solid #2D50B5;
overflow: hidden;
#tree {
display: flex;
position: absolute;
align-items: center;
justify-content: center;
left: 50%;
top: 50%;
padding: 20px;
overflow: hidden;
width: max-content;
height: 300%;
}
:deep( .org-chart-container ){
display: flex;
justify-content: center;
.org-chart-node-children:before, .org-chart-node:after, .org-chart-node:last-child:before,
.org-chart-node.is-leaf:before {
border-radius: 0;
border-color: #9CD7FF !important;
}
.vertical .org-chart-node:after, .vertical .org-chart-node:before {
border-radius: 0;
border-color: #9CD7FF !important;
}
.org-chart-node-label-inner {
padding: 0 !important;
}
.org-chart-node-btn {
margin-left: 0;
transform: translateX(-50%);
}
.org-chart-node {
// max-width: 500px;
}
}
:deep( .org-chart-node-children ){
display: flex;
justify-content: center;
}
}
.left {
width: 320px;
background: rgba(7, 11, 35, 0.4);
border: 1px solid #2D50B5;
.griddv-tree {
height: calc(100% - 62px);
overflow-y: auto;
margin: 0 8px;
padding-bottom: 8px;
}
:deep( .el-tree ){
background: transparent;
.el-tree-node__expand-icon {
color: #eaeff9;
}
.el-tree-node__expand-icon.is-leaf {
color: transparent;
}
.el-tree-node__content {
height: 32px;
color: #eaeff9;
font-size: 14px;
user-select: none;
font-weight: normal !important;
background: transparent;
}
.is-current > .el-tree-node__content, .el-tree-node__content:hover {
background: linear-gradient(270deg, #4895D9 0%, #2D52CA 100%);
}
}
}
}
</style>

View File

@@ -0,0 +1,812 @@
<template>
<div style="height:100%;" class="AppHouseMapDv">
<div class="map">
<div id="map" ref="rootmap" @click="hidePopup"/>
<div class="community-info" v-show="isShowInfo">
<div class="community-info__close" title="关闭" @click="info = {}, isShowInfo = false,chooseBuildId=''">
<i class="iconClean iconfont"></i>
</div>
<div class="community-info__header">
<h2 v-if="!info.name">{{ info.createAddress }}</h2>
<h2 v-if="info.name">{{ info.homesteadAddress }}</h2>
<div>{{ info.lng }},{{ info.lat }}</div>
</div>
<div class="community-info__wrapper" v-if="info.name">
<h2>户主信息</h2>
<div class="community-info__item">
<label>所属村</label>
<span>{{ info.areaName }}</span>
</div>
<div class="community-info__item">
<label>姓名</label>
<span style="color:#2266FF;">{{ info.name }}</span>
</div>
<div class="community-info__item">
<label>联系电话</label>
<span style="color:#2266FF;">{{ info.phone }}</span>
</div>
<div class="community-info__item">
<label>性别</label>
<span>{{ info.sex == 1 ? '男' : '女' }}</span>
</div>
<div class="community-info__item">
<label>年龄</label>
<span>{{ info.age }}</span>
</div>
</div>
<div class="community-info__wrapper" v-if="info.name">
<h2>宅基地信息</h2>
<div class="community-info__item">
<label>住宅建筑面积</label>
<span>{{ info.liveBuildingArea }}</span>
</div>
<div class="community-info__item">
<label>建筑层数</label>
<span>{{ info.buildingFloorNumber }}</span>
</div>
<div class="community-info__item">
<label>建筑高度</label>
<span>{{ info.buildingHeight }}m</span>
</div>
</div>
<div class="community-info__wrapper" v-if="!info.name">
<h2>房屋信息</h2>
<div class="community-info__item">
<label>所属社区</label>
<span>{{ info.areaName }}</span>
</div>
<div class="community-info__item">
<label>所属小区</label>
<span>{{ info.communityName }}</span>
</div>
<div class="community-info__item">
<label>房屋类型</label>
<span>{{ dict.getLabel("communityBuildingType", info.buildingType) }}</span>
</div>
<div class="community-info__item">
<label>楼长姓名</label>
<span>{{ info.managerName }}</span>
</div>
<div class="community-info__item">
<label>楼长电话</label>
<span>{{ info.managerPhone }}</span>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import AMapLoader from '@amap/amap-jsapi-loader'
import {mapState} from 'vuex'
export default {
name: 'AppHouseMapDv',
label: '房屋地图',
provide() {
return {
root: this
}
},
props: {
instance: Function,
dict: Object
},
data() {
return {
map: null,
mapLib: null,
community: '',
areaData: {},
isShowInfo: false,
areaId: '',
areaName: '',
list: [],
info: {},
resident: null,
satellite: null,
zoom: 11,
chooseBuildId: '',
buildList: [],
searchList: [],
house: null,
center: [],
type: '',
showStatistics: false
}
},
computed: {
...mapState(['user'])
},
watch: {
community: {
deep: true,
handler() {
this.debounce(this.search, 500)
}
},
showStatistics: {
deep: true,
handler() {
this.debounce(this.getCorpLocation, 500)
}
},
},
created() {
this.dict.load('householdRelation', 'communityBuildingType')
},
mounted() {
this.areaId = this.user.info.areaId
this.areaName = this.user.info.areaName
this.getCorpLocation()
},
methods: {
getCorpLocation() {
if (this.showStatistics) {
return
}
this.instance.post("/app/appdvcpconfig/getCorpLocation").then(res => {
if (res.code == 0) {
this.initMap(res.data)
}
})
},
changeZoom(isAdd) {
const zoom = isAdd ? this.map.getZoom() + 1 : this.map.getZoom() - 1
this.map.setZoom(zoom, false, 600)
},
getBuildInfo(id, type) {
var url = `/app/apphomesteadinfo/queryDetailById?id=${id}`
if (type == 0) {
url = `/app/appcommunityhouseinfo/queryDetailByIdWithBuilding?buildId=${id}`
}
this.instance.post(url).then(res => {
if (res.code === 0) {
if (type == 1) {
this.info = res.data
} else {
this.info = res.data.build
this.resident = null;
}
this.$nextTick(() => {
this.isShowInfo = true
})
}
})
},
chooseCommunity(item) {
if (item.name) { //宅基地
if (!item.lng || !item.lat) {
return this.$message.error('未获取到该房屋坐标信息')
} else {
this.map.setZoomAndCenter(18, [item.lng, item.lat], false, 600)
this.info = item
this.$nextTick(() => {
this.isShowSearch = false
this.isShowInfo = true
})
}
} else { //楼栋
this.instance.post(`/app/appcommunityhouseinfo/queryDetailByIdWithBuilding`, null, {
params: {
buildId: item.buildingId,
houseId: item.id,
residentId: item.residentId
}
}).then(res => {
if (res.code === 0) {
if (!res.data.build?.lng || !res.data.build?.lat) {
this.isShowInfo = true
this.isShowSearch = false
this.info = res.data.build;
return this.$message.error('未获取到该房屋坐标信息')
} else {
this.chooseBuildId = res.data.build.id
this.house = res.data.house
this.resident = res.data.resident;
}
this.map.setZoomAndCenter(18, [res.data.build?.lng, res.data.build?.lat], false, 600)
this.info = res.data.build
this.$nextTick(() => {
this.isShowSearch = false
this.isShowInfo = true
})
}
})
}
},
toCenter() {
this.map.setZoomAndCenter(this.zoom, this.center, false, 600)
},
renderClusterMarker(context) {
let el = `<div class="polymeric">
<div class="polymeric-container">
<p>${context.count}</p>
</div>
</div>`
let {mapLib: AMap} = this
let offset = new AMap.Pixel(-9, -9)
context.marker.setContent(el)
context.marker.setOffset(offset)
context.marker.lnglat = context.clusterData[0].lnglat
context.marker.on('click', e => {
this.map.setZoomAndCenter(this.map.getZoom() + 2, e.target.lnglat, false, 500)
})
},
renderMarker(context) {
const buildId = context.data[0].id
let el = ''
var urlType = ''
if (context.data[0].communityName == context.data[0].buildingNumber) { //宅基地
urlType = 1
el = `<div id="buildId-${buildId}" class="mark ${buildId === this.chooseBuildId ? 'mark-active' : ''}">
<div class="mark-contaienr">
<span>${context.data[0].areaName}</span>&nbsp;&nbsp;
<span>${context.data[0].communityName}</span>
</div>
</div>`
} else {
urlType = 0
el = `<div id="buildId-${buildId}" class="mark ${buildId === this.chooseBuildId ? 'mark-active' : ''}">
<div class="mark-contaienr">
<span>${context.data[0].communityName}</span>&nbsp;&nbsp;
<span>${context.data[0].buildingNumber}栋</span>
</div>
</div>`
}
context.marker.setContent(el);
context.marker.setAnchor("center")
context.marker.id = `${buildId}`
context.marker.lnglat = context.data[0].lnglat
context.marker.urlType = urlType
context.marker.on('click', e => {
this.chooseBuildId = e.target.id
this.getBuildInfo(e.target.id, e.target.urlType)
context.marker.setContent(el);
document.querySelectorAll('.mark').forEach(el => {
el.classList.remove('mark-active')
})
document.querySelector(`#buildId-${e.target.id}`).classList.add('mark-active')
})
},
addMakert(points) {
let {mapLib: AMap} = this
new AMap.MarkerClusterer(this.map, points, {
gridSize: 60,
maxZoom: 15,
clusterByZoomChange: false,
renderClusterMarker: this.renderClusterMarker,
renderMarker: this.renderMarker
})
},
getCommunityList() {
this.instance.post('/app/appcommunitybuildinginfo/listByBuilding', null, {
params: {
current: 1,
size: 1000000
}
}).then(res => {
if (res.code === 0) {
this.buildList = res.data
const points = res.data.map(item => {
return {
lnglat: [item.lng, item.lat],
id: item.id,
corpId: item.corpId,
areaName: item.areaName,
buildingNumber: item.name || item.buildingNumber,
communityName: item.name || item.communityName,
}
})
this.addMakert(points)
}
})
},
hidePopup() {
this.isShowArea = false
this.isShowSearch = false
},
initMap({lng, lat}) {
this.center = [lng, lat];
AMapLoader.load({
key: '54a02a43d9828a8f9cd4f26fe281e74e',
version: '2.0',
plugins: ['AMap.ToolBar', 'AMap.Scale', 'AMap.MouseTool', 'AMap.MarkerClusterer'],
AMapUI: {
version: '1.1',
plugins: []
}
}).then((AMap) => {
this.mapLib = AMap
this.map = new AMap.Map('map', {
resizeEnable: true,
zooms: [6, 20],
center: [lng, lat],
zoom: this.zoom,
mapStyle: 'amap://styles/40f6fba77127e061a058f670433a67ec'
})
this.satellite = new AMap.TileLayer.Satellite()
this.getCommunityList()
})
}
}
}
</script>
<style lang="scss" scoped>
.map {
:deep( .amap-logo), :deep( .amap-copyright ){
display: none !important;
}
:deep( .amap-icon ){
width: 40px !important;
height: 40px !important;
img {
width: 100%;
height: 100%;
}
}
}
.community-info__star {
margin-top: 4px;
margin-bottom: 8px;
.community-info__star--content {
display: flex;
align-items: center;
height: 36px;
padding: 0 12px;
color: #666666;
font-size: 12px;
span {
flex: 1;
text-align: center;
&:first-child {
text-align: left;
}
&:last-child {
text-align: right;
}
}
&:nth-of-type(2n) {
background: #fff;
}
}
.community-info__star--tab {
display: flex;
align-items: center;
height: 36px;
padding: 0 12px;
user-select: none;
background: #fff;
span {
height: 100%;
line-height: 36px;
color: #999999;
font-size: 12px;
font-weight: 700;
cursor: pointer;
border-bottom: 2px solid transparent;
&:first-child {
margin-right: 16px;
}
&.star-active {
color: #2266FF;
border-bottom: 2px solid #2266FF;
}
}
}
}
.community-info__item--imgs {
display: block !important;
height: auto !important;
label {
height: 36px;
line-height: 36px;
}
.community-info__item--img {
display: flex;
align-items: center;
flex-wrap: wrap;
padding-bottom: 10px;
overflow: hidden;
img {
width: 69px;
height: 69px;
margin-right: 4px;
margin-bottom: 4px;
cursor: pointer;
&:nth-of-type(4n) {
margin-right: 0;
}
&:last-child {
margin-right: 0;
}
}
}
}
.map {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
:deep( .ol-zoom ){
display: none !important;
top: inherit !important;
bottom: 0.5em !important;
}
div {
box-sizing: border-box;
}
#map {
width: 100%;
height: 100%;
}
}
.community {
display: flex;
align-items: center;
position: relative;
height: 28px;
padding: 0 10px;
background: #0F8F64;
border-radius: 26px;
color: #fff;
font-size: 12px;
cursor: pointer;
&.color1 {
background: #2266FF;
em:after {
border-top-color: #2266FF !important;
}
}
&.color2 {
background: #F46159;
em:after {
border-top-color: #F46159 !important;
}
}
em {
position: absolute;
bottom: -6px;
left: 50%;
transform: translate(-50%, 0);
&::after {
position: absolute;
bottom: -6px;
left: 0;
width: 0;
height: 0;
border: 6px solid #0F8F64;
border-bottom-color: transparent;
border-left-color: transparent;
border-right-color: transparent;
transform: translate(-50%, 0);
overflow: hidden;
content: ' ';
}
}
i {
padding-right: 2px;
position: relative;
color: #ffc928;
font-size: 16px;
font-style: normal;
}
}
:deep( .polymeric ){
display: flex;
position: relative;
align-items: center;
justify-content: center;
width: 62px;
height: 62px;
border-radius: 50%;
cursor: pointer;
user-select: none;
&.polymeric-active {
.polymeric-container {
background: #F46159;
}
&::after {
background-color: #F46159;
}
}
&::after {
position: absolute;
z-index: -1;
width: 62px;
height: 62px;
border-radius: 50%;
-webkit-animation: warn 1s ease-out 0s infinite;
animation: warn 1s ease-out 0s infinite;
background-color: rgba(15, 143, 100, 1);
transform: translate(-50%, -50%);
content: " ";
}
.polymeric-container {
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
width: 62px;
height: 62px;
border-radius: 50%;
background: rgba(15, 143, 100, 1);
p {
text-align: center;
width: 58px;
color: #fff;
font-size: 18px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
p:first-child {
font-size: 14px;
}
h2 {
color: #fff;
font-weight: normal;
font-size: 12px;
}
}
}
:deep( .mark ){
user-select: none;
cursor: pointer;
height: 32px;
border-radius: 26px;
position: relative;
display: flex;
align-items: center;
justify-content: center;
box-sizing: border-box;
padding: 0 12px;
background: rgba(0,39,100,0.50);
border: 1px solid #36A5FF;
border-radius: 30px;
&.mark-active {
background: #004AC0;
border: 1px solid transparent;
box-shadow: inset 0 0 8px 2px #33BBFF;
}
.mark-contaienr {
color: white;
font-size: 14px;
position: relative;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: flex;
align-items: center;
justify-content: center;
}
.arrow {
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: -21px;
width: 0;
height: 0;
border: 12px solid transparent;
border-top: 12px solid #0F8F64;
}
}
@-webkit-keyframes warn {
0% {
transform: scale(.5);
opacity: 1
}
30% {
opacity: .5
}
to {
transform: scale(1.8);
opacity: 0
}
}
@keyframes warn {
0% {
transform: scale(.5);
opacity: 1
}
30% {
opacity: .5
}
to {
transform: scale(1.4);
opacity: 0
}
}
.community-info {
position: absolute;
top: 58px;
right: 10px;
width: 400px;
height: calc(100% - 117px);
overflow-y: auto;
overflow-x: hidden;
z-index: 111;
border-radius: 2px;
background: rgba(0,15,38,0.30);
border: 1px solid #103588;
// filter: blur(5px);
.community-info__close {
position: absolute;
right: 0;
top: 0;
padding: 16px 12px 0 12px;
font-size: 16px;
color: #fff;
cursor: pointer;
&:hover {
opacity: 0.6;
}
}
&::-webkit-scrollbar {
width: 6px;
height: 1px;
}
&::-webkit-scrollbar-thumb {
border-radius: 6px;
background: rgba(144, 147, 153, .5);
}
.community-info__header {
padding: 12px 20px;
background-image: linear-gradient(270deg, rgba(11, 158, 255, 0.2) 0%, rgba(2, 81, 227, 0.2) 100%);
h2 {
max-width: 360px;
line-height: 28px;
margin: 0;
color: #fff;
font-size: 20px;
font-weight: 600;
margin-bottom: 10px;
}
div {
display: flex;
align-items: center;
color: #D2E0FF;
font-size: 12px;
}
span {
display: block;
margin-top: 4px;
font-style: normal;
color: #82C5FF;
font-size: 14px;
}
}
.community-info__wrapper {
h2 {
margin: 20px 0 20px 20px;
padding: 0 20px;
font-size: 15px;
color: #fff;
font-weight: 600;
background: url(https://cdn.cunwuyun.cn/dvcp/ply/title-bg.png) no-repeat;
background-size: 169px 30px;
background-position-y: -5px;
background-position-x: -10px;
}
.community-info__item {
display: flex;
align-items: center;
justify-content: space-between;
margin: 0 20px;
padding: 12px 12px;
font-size: 14px;
color: #fff;
background: rgba(63, 136, 255, 0.15);
&:nth-of-type(2n) {
background: transparent;
}
span {
max-width: 70%;
text-align: right;
}
label {
flex-shrink: 1;
color: #82C5FF;
}
}
&.community-info__wrapper--last {
.community-info__item {
background: #fff;
&:nth-of-type(2n-1) {
background: #fff;
}
}
}
.bg-fff {
background-color: #fff !important;
}
}
}
</style>

View File

@@ -0,0 +1,887 @@
<template>
<div class="map">
<div id="map" ref="rootmap" />
<div class="community-info" v-show="isShowInfo">
<div class="community-info__close" title="关闭" @click="closeInfo">
<i class="iconClean iconfont"></i>
</div>
<div class="community-info__header">
<div class="user" :style="userStyle">
<span>{{ formatName(info.name) }}</span>
</div>
<h2>{{ info.name }}</h2>
<h3>{{ info.gpsDesc }}</h3>
<p>最后更新时间{{ info.lastUpdateTime }}</p>
<div class="community-info__header--status">
<div :style="{color: info.onlineStatus === '1' ? '#2EA222' : '#F46' }">
<i class="iconfont iconzhuangtai"></i>
<span>设备{{ info.onlineStatus === '1' ? '在线' : '离线' }}</span>
</div>
<div>
<i class="iconfont icondianliang"></i>
<span>剩余{{ info.electricQuantity }}%</span>
</div>
</div>
<div class="community-info__header--info">
<div class="community-info__header--info-item" v-for="(item, index) in testItem" :key="item.name" v-if="index !== 0">
<div class="left">
<div :style="{backgroundColor: item.color}">
<i :class="item.icon" class="iconfont"></i>
</div>
<span>{{ item.name }}</span>
</div>
<i :style="{color: (testData[index] && testData[index].abnormalStatus === '1') ? '#F46' : ''}">{{ testData[index] ? testData[index].itemValue : '-' }}{{ index === '1' ? '℃' : '' }}</i>
</div>
</div>
</div>
<div class="community-info__wrapper">
<div class="community-info__title">
<h2>人员信息</h2>
<span :style="userStatusColor">{{ userStatus }}</span>
</div>
<div class="community-info__item">
<label>姓名</label>
<span>{{ info.name}}</span>
</div>
<div class="community-info__item">
<label>性别</label>
<span>{{ info.sex === '1' ? '男' : '女' }}</span>
</div>
<div class="community-info__item">
<label>年龄</label>
<span>{{ info.age }}</span>
</div>
<div class="community-info__item">
<label>所属地区</label>
<span>{{ info.areaName }}</span>
</div>
<div class="community-info__item">
<label>联系电话</label>
<span>{{ info.phone }}</span>
</div>
</div>
</div>
</div>
</template>
<script>
import AMapLoader from '@amap/amap-jsapi-loader'
import {mapState} from 'vuex'
export default {
name: 'AppMonitorMapDv',
label: '监护地图',
provide() {
return {
root: this
}
},
props: {
instance: Function,
dict: Object
},
data() {
return {
map: null,
community: '',
isShowInfo: false,
info: {},
satellite: null,
zoom: 11,
choosedId: '',
testItem: [{
name: '体温',
icon: 'icontiwen',
color: '#6BA3DB'
}, {
name: '心率',
icon: 'iconxinlv',
color: '#72BB5C'
}, {
name: '血压',
icon: 'iconxueya',
color: '#7577CB'
}, {
name: '血氧',
icon: 'iconxueyang',
color: '#FF5656'
}],
testData: [],
center: []
}
},
computed: {
...mapState(['user']),
userStatus () {
if (this.info.abnormalStatus === '2') {
return '求助'
}
if (this.info.abnormalStatus === '1') {
return '异常'
}
if (this.info.abnormalStatus === '0') {
return '正常'
}
return '-'
},
userStatusColor () {
if (this.info.abnormalStatus === '2') {
return {
color: '#FF69DD',
border: '1px solid #FF69DD'
}
}
if (this.info.abnormalStatus === '1') {
return {
color: '#FF6969',
border: '1px solid #FF6969'
}
}
return {
color: '#22FF81',
border: '1px solid #22FF81'
}
},
userStyle () {
if (this.info.abnormalStatus === '2') {
return {
background: 'rgba(96,8,102,0.80)',
border: '1px solid #FF69DD',
boxShadow: '0 4px 4px 0 #000000, inset 0 0 8px 4px #C312CA'
}
}
if (this.info.abnormalStatus === '1') {
return {
background: 'rgba(79,14,7,0.80)',
border: '1px solid #FF6969',
boxShadow: '0 4px 4px 0 #000000, inset 0 0 8px 4px #C60E0E'
}
}
return {
background: 'rgba(8,73,35,0.80)',
border: '1px solid #22FF81',
boxShadow: '0 4px 4px 0 #000000, inset 0 0 8px 4px #15BE55'
}
}
},
mounted() {
this.getCorpLocation()
},
methods: {
getIdInfo (UUserCard, num) {
if (num == 1) {
var birth = UUserCard.substring(6, 10) + '-' + UUserCard.substring(10, 12) + '-' + UUserCard.substring(12, 14)
return birth
}
if (num == 2) {
if (parseInt(UUserCard.substr(16, 1)) % 2 == 1) {
return '1'
} else {
return '0'
}
}
if (num == 3) {
var myDate = new Date()
var month = myDate.getMonth() + 1
var day = myDate.getDate()
var age = myDate.getFullYear() - UUserCard.substring(6, 10) - 1;
if (UUserCard.substring(10, 12) < month || UUserCard.substring(10, 12) == month && UUserCard.substring(12, 14) <= day) {
age ++
}
return age
}
},
getCorpLocation(){
this.instance.post("/app/appdvcpconfig/getCorpLocation").then(res=>{
if(res.code==0){
this.initMap(res.data);
}
})
},
getList () {
this.instance.post(`/app/appintelligentguardianshipdevice/list`, null, {
params: {
size: 8000,
current: 1
}
}).then(res => {
if (res.code == 0) {
const points = res.data.records.map(item => {
return {
...item,
lnglat: [item.lng, item.lat],
id: item.id,
corpId: item.corpId,
areaName:item.areaName,
name: item.name
}
})
this.addMakert(points)
if (this.$route.query.id) {
this.onTreeChange({
type: '1',
deviceId: this.$route.query.id,
lng: this.$route.query.lng,
lat: this.$route.query.lat
})
}
}
})
},
formatName (str) {
if (!str) return ''
return str.substr(str.length - 2)
},
getInfo (id) {
this.instance.post(`/app/appintelligentguardianshipdevice/queryMonitorList?deviceId=${id}&type=1`).then(res => {
if (res.code === 0) {
let obj = {}
this.testData = res.data.records.forEach(item => {
obj[item.item] = item
})
this.testData = obj
}
})
this.instance.post(`/app/appintelligentguardianshipdevice/queryDetailById?id=${id}`).then(res => {
if (res.code === 0) {
this.info = res.data
this.info.age = this.getIdInfo(res.data.idNumber, 3)
this.isShowInfo = true
}
})
},
toCenter() {
this.map.setZoomAndCenter(this.zoom, this.center, false, 600)
},
renderClusterMarker(context) {
let el = `<div class="polymeric">
<div class="polymeric-container">
<p>${context.count}</p>
</div>
</div>`
let offset = new AMap.Pixel(-9, -9)
context.marker.setContent(el)
context.marker.setOffset(offset)
context.marker.lnglat = context.clusterData[0].lnglat
context.marker.on('click', e => {
this.map.setZoomAndCenter(this.map.getZoom() + 3, e.target.lnglat, false, 500)
})
},
renderMarker(context) {
const buildId = context.data[0].id
let el = `<div class="mark mark${context.data[0].abnormalStatus}" id="buildId-${buildId}">
<div class="mark-contaienr">
<span>${context.data[0].name}</span>
</div>
</div>`
context.marker.setContent(el);
context.marker.setAnchor("center")
context.marker.id = `${buildId}`
context.marker.data = JSON.stringify(context.data[0])
context.marker.lnglat = context.data[0].lnglat
context.marker.on('click', e => {
this.choosedId = e.target.id
this.getInfo(e.target.id)
context.marker.setContent(el);
document.querySelectorAll('.mark').forEach(el => {
el.classList.remove('mark-active')
})
document.querySelector(`#buildId-${e.target.id}`).add('mark-active')
this.map.setZoomAndCenter(this.map.getZoom() + 0.000000001, e.target.lnglat, false, 300)
})
},
closeInfo () {
this.info = {}
this.isShowInfo = false
this.choosedId = ''
this.map.setZoom(this.map.getZoom() + 0.0001)
},
addMakert(points) {
new AMap.MarkerClusterer(this.map, points, {
gridSize: 60,
maxZoom: 15,
clusterByZoomChange: false,
renderClusterMarker: this.renderClusterMarker,
renderMarker: this.renderMarker
})
},
initMap({lng,lat}) {
this.center = [lng,lat];
AMapLoader.load({
key: '54a02a43d9828a8f9cd4f26fe281e74e',
version: '2.0',
plugins: ['AMap.ToolBar', 'AMap.Scale', 'AMap.MouseTool', 'AMap.MarkerClusterer'],
AMapUI: {
version: '1.1',
plugins: []
}
}).then((AMap) => {
this.map = new AMap.Map('map', {
resizeEnable: true,
zooms: [6, 20],
center: [lng, lat],
zoom: this.zoom,
mapStyle: 'amap://styles/40f6fba77127e061a058f670433a67ec'
})
this.satellite = new AMap.TileLayer.Satellite()
this.getList()
})
}
}
}
</script>
<style lang="scss" scoped>
.map {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
.community-info {
position: absolute;
top: 10px;
right: 10px;
width: 400px;
max-height: calc(100% - 20px);
overflow-y: overlay;
overflow-x: hidden;
z-index: 111;
background: rgba(7,11,35,0.50);
border: 1px solid #14345F;
.community-info__close {
position: absolute;
right: 0;
top: 0;
padding: 16px 12px 0 12px;
font-size: 16px;
color: #8899bb;
cursor: pointer;
&:hover {
opacity: 0.6;
}
}
&::-webkit-scrollbar {
width: 6px;
height: 1px;
}
&::-webkit-scrollbar-thumb {
border-radius: 6px;
background: rgba(144, 147, 153, .5);
}
.community-info__header {
padding-top: 40px;
text-align: center;
.user {
display: flex;
align-items: center;
justify-content: center;
width: 50px;
height: 50px;
margin: 0 auto 8px;
border-radius: 50%;
background: #2266FF;
span {
color: #fff;
font-size: 16px;
}
}
h2 {
line-height: 24px;
margin-bottom: 12px;
font-weight: Bold;
font-size: 16px;
color: #FFFFFF;
}
h3, p {
width: 300px;
line-height: 22px;
margin: 0 auto 4px;
font-size: 13px;
color: #82C5FF;
text-align: center;
font-weight: normal;
}
& > h3 {
line-height: 1.4;
color: #82C5FF;
}
.community-info__header--info {
display: flex;
flex-wrap: wrap;
padding: 0 20px;
.community-info__header--info-item {
display: flex;
align-items: center;
justify-content: space-between;
width: 174px;
height: 56px;
margin-bottom: 10px;
padding: 0 12px;
background-image: linear-gradient(270deg, rgba(119,169,255,0.20) 0%, rgba(66,112,255,0.50) 100%);
border-radius: 4px;
&:nth-of-type(2n - 1) {
margin-right: 10px;
}
& > i {
position: relative;
top: 2px;
font-style: normal;
color: #fff;
font-size: 16px;
font-weight: 700;
}
.left {
display: flex;
align-items: center;
span {
font-size: 14px;
color: rgba(130, 197, 255, 1);
}
div {
display: flex;
align-items: center;
justify-content: center;
margin-right: 8px;
width: 24px;
height: 24px;
border-radius: 50%;
background: #6BA3DB;
i {
color: #fff;
font-size: 16px;
}
}
}
}
}
.community-info__header--status {
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 20px;
div {
display: flex;
align-items: center;
color: #74FF66;
}
span {
font-size: 14px;
}
div:first-child {
margin-right: 20px;
}
i {
position: relative;
margin-right: 2px;
font-size: 16px;
}
div:last-child {
color: #fff;
span {
font-size: 12px;
}
}
}
}
.community-info__wrapper {
padding: 0 20px 40px;
.community-info__title {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
h2 {
position: relative;
width: 169px;
padding: 0 20px;
font-size: 15px;
color: #fff;
font-weight: 700;
background: url(https://cdn.cunwuyun.cn/dvcp/ply/title-bg.png) no-repeat;
background-size: 169px 30px;
background-position-y: -5px;
background-position-x: -10px;
}
span {
width: 52px;
height: 24px;
line-height: 24px;
color: #fff;
font-size: 14px;
text-align: center;
border-radius: 12px;
}
}
.community-info__item {
display: flex;
align-items: center;
justify-content: space-between;
height: 40px;
padding: 0 12px;
font-size: 12px;
color: #fff;
background: transparent;
&:nth-of-type(2n) {
background-image: linear-gradient(270deg, rgba(119,169,255,0.20) 0%, rgba(66,112,255,0.50) 100%);
}
span {
max-width: 70%;
text-align: right;
}
label {
flex-shrink: 1;
color: rgba(130, 197, 255, 1);
}
}
&.community-info__wrapper--last {
.community-info__item {
background: #fff;
&:nth-of-type(2n) {
background: #F3F6F9;
}
}
}
}
}
:deep( .ol-zoom ){
display: none !important;
top: inherit !important;
bottom: 0.5em !important;
}
div {
box-sizing: border-box;
}
#map {
width: 100%;
height: 100%;
}
:deep( .amap-logo), :deep( .amap-copyright ){
display: none !important;
}
:deep( .amap-icon ){
width: 40px !important;
height: 40px !important;
img {
width: 100%;
height: 100%;
}
}
.no-more {
display: block;
height: 60px;
line-height: 60px;
margin-top: 2px;
text-align: center;
font-size: 12px;
color: #999;
width: 100%;
}
}
.community {
display: flex;
align-items: center;
position: relative;
height: 28px;
padding: 0 10px;
background: #0F8F64;
border-radius: 26px;
color: #fff;
font-size: 12px;
cursor: pointer;
&.color1 {
background: #2266FF;
em:after {
border-top-color: #2266FF !important;
}
}
&.color2 {
background: #F46159;
em:after {
border-top-color: #F46159 !important;
}
}
em {
position: absolute;
bottom: -6px;
left: 50%;
transform: translate(-50%, 0);
&::after {
position: absolute;
bottom: -6px;
left: 0;
width: 0;
height: 0;
border: 6px solid #0F8F64;
border-bottom-color: transparent;
border-left-color: transparent;
border-right-color: transparent;
transform: translate(-50%, 0);
overflow: hidden;
content: ' ';
}
}
i {
padding-right: 2px;
position: relative;
color: #ffc928;
font-size: 16px;
font-style: normal;
}
}
:deep( .polymeric ){
display: flex;
position: relative;
align-items: center;
justify-content: center;
width: 62px;
height: 62px;
border-radius: 50%;
cursor: pointer;
user-select: none;
&.polymeric-active {
.polymeric-container {
background: #F46159;
}
&::after {
background-color: #F46159;
}
}
&::after {
position: absolute;
z-index: -1;
width: 62px;
height: 62px;
border-radius: 50%;
-webkit-animation: warn 1s ease-out 0s infinite;
animation: warn 1s ease-out 0s infinite;
background-color: rgba(15, 143, 100, 1);
transform: translate(-50%, -50%);
content: " ";
}
.polymeric-container {
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
width: 62px;
height: 62px;
border-radius: 50%;
background: rgba(15, 143, 100, 1);
p {
text-align: center;
width: 58px;
color: #fff;
font-size: 18px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
p:first-child{
font-size: 14px;
}
h2 {
color: #fff;
font-weight: normal;
font-size: 12px;
}
}
}
:deep( .mark){
display: flex;
align-items: center;
justify-content: center;
position: relative;
user-select: none;
cursor: pointer;
width: 56px;
height: 56px;
background: rgba(108,94,14,0.80);
border: 1px solid #FFDF54;
box-shadow: 0 4px 4px 0 #000000, inset 0 0 8px 4px #D1A818;
border-radius: 50%;
box-sizing: border-box;
font-size: 14px;
color: #FFFFFF;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
text-shadow: 0 2px 4px rgba(0,0,0,0.50);
&.mark0 {
background: rgba(8,73,35,0.80);
border: 1px solid #22FF81;
box-shadow: 0 4px 4px 0 #000000, inset 0 0 8px 4px #15BE55;
}
&.mark1 {
background: rgba(79,14,7,0.80);
border: 1px solid #FF6969;
box-shadow: 0 4px 4px 0 #000000, inset 0 0 8px 4px #C60E0E;
}
&.mark2 {
background: rgba(96,8,102,0.80);
border: 1px solid #FF69DD;
box-shadow: 0 4px 4px 0 #000000, inset 0 0 8px 4px #C312CA;
}
.mark-contaienr {
width: 56px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
text-align: center;
}
// &.mark1::after {
// position: absolute;
// z-index: -1;
// width: 100px;
// height: 100px;
// border-radius: 50%;
// -webkit-animation: warn 1s ease-out 0s infinite;
// animation: warn 1s ease-out 0s infinite;
// background-color: #FF6969;
// transform: translate(-50%, -50%);
// content: " ";
// }
// &.mark2::after {
// position: absolute;
// z-index: -1;
// width: 100px;
// height: 100px;
// border-radius: 50%;
// -webkit-animation: warn 1s ease-out 0s infinite;
// animation: warn 1s ease-out 0s infinite;
// background-color: #FF69DD;
// transform: translate(-50%, -50%);
// content: " ";
// }
}
@-webkit-keyframes warn {
0% {
transform: scale(.5);
opacity: 1
}
30% {
opacity: .5
}
to {
transform: scale(1.8);
opacity: 0
}
}
@keyframes warn {
0% {
transform: scale(.5);
opacity: 1
}
30% {
opacity: .5
}
to {
transform: scale(1.4);
opacity: 0
}
}
</style>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,505 @@
<template>
<div class="map">
<div id="map" ref="rootmap" />
<div class="community-info" v-show="isShowInfo">
<div class="community-info__close" title="关闭" @click="closeInfo">
<i class="iconClean iconfont"></i>
</div>
<div class="community-info__header">
<h2>{{ info.resourceName }}</h2>
<el-tag type="success" size="small" style="margin: 6px 0;">{{ info.categoryName }}</el-tag>
<div>{{ info.areaName }}{{ info.address }}</div>
</div>
<div class="community-info__wrapper">
<div class="community-info__title">
<h2>资源信息</h2>
</div>
<p>{{ info.information }}</p>
</div>
</div>
</div>
</template>
<script>
import AMapLoader from '@amap/amap-jsapi-loader'
import {mapState} from 'vuex'
export default {
name: 'AppResourceMapDv',
label: '资源地图',
provide() {
return {
root: this
}
},
props: {
instance: Function,
dict: Object
},
data() {
return {
map: null,
community: '',
isShowInfo: false,
info: {},
satellite: null,
zoom: 11,
choosedId: '',
center: [],
list: []
}
},
computed: {
...mapState(['user'])
},
mounted() {
this.getCorpLocation()
},
methods: {
getCorpLocation(){
this.instance.post("/app/appdvcpconfig/getCorpLocation").then(res=>{
if(res.code==0){
this.initMap(res.data)
}
})
},
getList () {
this.instance.post(`/app/appresourceinfo/listAll`).then(res => {
if (res.code == 0) {
const points = res.data.map(item => {
return {
...item,
lnglat: [item.lng, item.lat],
id: item.id,
corpId: item.corpId,
areaName:item.areaName,
name: item.resourceName
}
})
this.list = points
this.addMakert(points)
}
})
},
getInfo (id) {
this.info = this.list.filter(v => id === v.id)[0]
this.isShowInfo = true
},
renderClusterMarker(context) {
let el = `<div class="polymeric">
<div class="polymeric-container">
<p>${context.count}</p>
</div>
</div>`
let offset = new AMap.Pixel(-9, -9)
context.marker.setContent(el)
context.marker.setOffset(offset)
context.marker.lnglat = context.clusterData[0].lnglat
context.marker.on('click', e => {
this.map.setZoomAndCenter(this.map.getZoom() + 3, e.target.lnglat, false, 500)
})
},
renderMarker(context) {
const buildId = context.data[0].id
let el = `<div id="buildId-${buildId}" class="mark ${buildId === this.choosedId ? 'mark-active' : ''}">
<img src="${context.data[0].categoryIcon || 'https://cdn.cunwuyun.cn/dvcp/ply/icon.png'}">
</div>`
context.marker.setContent(el);
context.marker.setAnchor("center")
context.marker.id = `${buildId}`
context.marker.data = JSON.stringify(context.data[0])
context.marker.lnglat = context.data[0].lnglat
context.marker.on('click', e => {
this.choosedId = e.target.id
this.getInfo(e.target.id)
context.marker.setContent(el);
document.querySelectorAll('.mark').forEach(el => {
el.classList.remove('mark-active')
})
document.querySelector(`#buildId-${e.target.id}`).classList.add('mark-active')
})
},
closeInfo () {
this.info = {}
this.isShowInfo = false
this.choosedId = ''
this.map.setZoom(this.map.getZoom() + 0.0001)
},
addMakert(points) {
new AMap.MarkerClusterer(this.map, points, {
gridSize: 60,
maxZoom: 15,
clusterByZoomChange: false,
renderClusterMarker: this.renderClusterMarker,
renderMarker: this.renderMarker
})
},
initMap({lng,lat}) {
this.center = [lng,lat];
AMapLoader.load({
key: '54a02a43d9828a8f9cd4f26fe281e74e',
version: '2.0',
plugins: ['AMap.ToolBar', 'AMap.Scale', 'AMap.MouseTool', 'AMap.MarkerClusterer'],
AMapUI: {
version: '1.1',
plugins: []
}
}).then((AMap) => {
this.map = new AMap.Map('map', {
resizeEnable: true,
zooms: [6, 20],
center: [lng, lat],
zoom: this.zoom,
mapStyle: 'amap://styles/40f6fba77127e061a058f670433a67ec'
})
this.satellite = new AMap.TileLayer.Satellite()
this.getList()
})
}
}
}
</script>
<style lang="scss" scoped>
.map {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
.community-info__header {
margin-bottom: 10px;
padding: 12px 20px;
background-image: linear-gradient(270deg, rgba(11, 158, 255, 0.2) 0%, rgba(2, 81, 227, 0.2) 100%);
h2 {
max-width: 360px;
line-height: 28px;
margin: 0;
color: #fff;
font-size: 20px;
font-weight: 500;
}
div {
display: flex;
align-items: center;
color: #D2E0FF;
font-size: 12px;
}
}
.community-info {
position: absolute;
top: 10px;
right: 10px;
width: 400px;
max-height: calc(100% - 20px);
overflow-y: overlay;
overflow-x: hidden;
z-index: 111;
background: rgba(7,11,35,0.50);
border: 1px solid #14345F;
.community-info__close {
position: absolute;
right: 0;
top: 0;
padding: 16px 12px 0 12px;
font-size: 16px;
color: #8899bb;
cursor: pointer;
&:hover {
opacity: 0.6;
}
}
&::-webkit-scrollbar {
width: 6px;
height: 1px;
}
&::-webkit-scrollbar-thumb {
border-radius: 6px;
background: rgba(144, 147, 153, .5);
}
.community-info__wrapper {
padding: 0 20px 40px;
.community-info__title {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
h2 {
position: relative;
width: 169px;
padding: 0 20px;
font-size: 15px;
color: #fff;
font-weight: 700;
background: url(https://cdn.cunwuyun.cn/dvcp/ply/title-bg.png) no-repeat;
background-size: 169px 30px;
background-position-y: -5px;
background-position-x: -10px;
}
span {
width: 52px;
height: 24px;
line-height: 24px;
color: #fff;
font-size: 14px;
text-align: center;
border-radius: 12px;
}
}
p {
line-height: 1.5;
font-size: 14px;
color: #82C5FF;
}
}
}
:deep( .ol-zoom ){
display: none !important;
top: inherit !important;
bottom: 0.5em !important;
}
div {
box-sizing: border-box;
}
#map {
width: 100%;
height: 100%;
}
:deep( .amap-logo), :deep( .amap-copyright ){
display: none !important;
}
:deep( .amap-icon ){
width: 40px !important;
height: 40px !important;
img {
width: 100%;
height: 100%;
}
}
.no-more {
display: block;
height: 60px;
line-height: 60px;
margin-top: 2px;
text-align: center;
font-size: 12px;
color: #999;
width: 100%;
}
}
.community {
display: flex;
align-items: center;
position: relative;
height: 28px;
padding: 0 10px;
background: #0F8F64;
border-radius: 26px;
color: #fff;
font-size: 12px;
cursor: pointer;
&.color1 {
background: #2266FF;
em:after {
border-top-color: #2266FF !important;
}
}
&.color2 {
background: #F46159;
em:after {
border-top-color: #F46159 !important;
}
}
em {
position: absolute;
bottom: -6px;
left: 50%;
transform: translate(-50%, 0);
&::after {
position: absolute;
bottom: -6px;
left: 0;
width: 0;
height: 0;
border: 6px solid #0F8F64;
border-bottom-color: transparent;
border-left-color: transparent;
border-right-color: transparent;
transform: translate(-50%, 0);
overflow: hidden;
content: ' ';
}
}
i {
padding-right: 2px;
position: relative;
color: #ffc928;
font-size: 16px;
font-style: normal;
}
}
:deep( .polymeric ){
display: flex;
position: relative;
align-items: center;
justify-content: center;
width: 62px;
height: 62px;
border-radius: 50%;
cursor: pointer;
user-select: none;
&.polymeric-active {
.polymeric-container {
background: #F46159;
}
&::after {
background-color: #F46159;
}
}
&::after {
position: absolute;
z-index: -1;
width: 62px;
height: 62px;
border-radius: 50%;
-webkit-animation: warn 1s ease-out 0s infinite;
animation: warn 1s ease-out 0s infinite;
background-color: rgba(15, 143, 100, 1);
transform: translate(-50%, -50%);
content: " ";
}
.polymeric-container {
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
width: 62px;
height: 62px;
border-radius: 50%;
background: rgba(15, 143, 100, 1);
p {
text-align: center;
width: 58px;
color: #fff;
font-size: 18px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
p:first-child{
font-size: 14px;
}
h2 {
color: #fff;
font-weight: normal;
font-size: 12px;
}
}
}
:deep( .mark){
position: relative;
user-select: none;
width: 50px;
height: 50px;
border-radius: 50%;
cursor: pointer;
img {
width: 50px;
height: 50px;
border-radius: 50%;
}
&:hover {
opacity: 0.8;
}
&.mark-active {
transform: scale(1.2);
}
}
@-webkit-keyframes warn {
0% {
transform: scale(.5);
opacity: 1
}
30% {
opacity: .5
}
to {
transform: scale(1.8);
opacity: 0
}
}
@keyframes warn {
0% {
transform: scale(.5);
opacity: 1
}
30% {
opacity: .5
}
to {
transform: scale(1.4);
opacity: 0
}
}
</style>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,522 @@
<template>
<section class="AppVideoMonitoringDV">
<el-row type="flex" justify="space-between" class="body">
<div class="left-wrap column" flex>
<div class="left-top fill">
<label class="label">设备统计</label>
<dv-scroll-board :header="config.header" :config="config" class="table"/>
</div>
<div class="left-bottom">
<label class="label">电子地图</label>
<ai-map :areaId="user.info.areaId"/>
</div>
</div>
<div class="center-wrap column" flex>
<div flex style="width: 100%">
<div :span="6" class="card fill" v-for="(item,index) in cardList" :key="index">
<span>{{ item.label }}</span>
<span>{{ item.value }}</span>
</div>
</div>
<div class="center-bottom fill">
<label class="label">视频监控</label>
<div class="video-wrap">
<div class="item" v-for="(item,index) in videoData.slice(0,2)"
:key="index">
<template v-if="flag">
<iframe class="video" :src="item.url" allow="autoplay *; microphone *; fullscreen *"
allowfullscreen allowtransparency="true" allowusermedia="true" frameBorder="no"></iframe>
</template>
<template v-else>
<div class="video"></div>
</template>
<div class="info">
<span>{{ item.name }}</span>
</div>
</div>
</div>
<div class="video-wrap">
<div class="item" v-for="(item,index) in videoData.slice(2,4)"
:key="index">
<template v-if="flag">
<iframe class="video" :src="item.url" allow="autoplay *; microphone *; fullscreen *"
allowfullscreen allowtransparency="true" allowusermedia="true" frameBorder="no"></iframe>
</template>
<template v-else>
<div class="video"></div>
</template>
<div class="info">
<span>{{ item.name }}</span>
</div>
</div>
</div>
</div>
</div>
<div class="right-wrap column" flex>
<div class="right-top fill">
<label class="label">人员统计</label>
<label class="total">人员总数
<span>0</span>
<span></span>
</label>
<dv-scroll-board :config="config1" class="total-table"/>
</div>
<div class="right-middle">
<label class="label">动作告警统计</label>
<div class="tag">
<span></span>
</div>
<ai-echart :ops="getOpt()"/>
<div class="info">
今日
<span>0</span>
<span></span>
本月
<span>0</span>
<span></span>
</div>
</div>
<div class="right-bottom">
<label class="label">声音告警统计</label>
<div class="tag">
<span></span>
</div>
<ai-echart :ops="getOpt('1')"/>
<div class="info">
今日
<span style="color:#00FFDF">0</span>
<span></span>
本月
<span style="color:#00FFDF">0</span>
<span></span>
</div>
</div>
</div>
</el-row>
</section>
</template>
<script>
import {mapState} from "vuex";
import Vue from "vue";
import {scrollBoard} from "@jiaminghi/data-view";
Vue.use(scrollBoard)
export default {
name: "AppVideoMonitoringDV",
label: "数据大屏-平安小区",
inject: {
dv: {default: ""}
},
props: {
instance: Function
},
computed: {
...mapState(['user']),
cardList() {
return [
{label: "总设备数", value: "0"},
{label: "在线设备", value: "0"},
{label: "离线设备", value: "0"},
{label: "设备在线率", value: "0%"},
]
},
},
data() {
return {
meta: {},
config: {
data: [
],
columnWidth: [60, 140],
header: ["机构", "设备在线率"],
headerBGC: '',
headerHeight: 41,
oddRowBGC: "",
evenRowBGC: "",
align: ["center", "center", "center"],
rowNum: 10,
index: true,
indexHeader: "排名"
},
config1: {
data: [
['普通用户', '-'],
['村级管理员', '-'],
['超级管理员', '-'],
['测试', '-'],
],
headerHeight: 41,
oddRowBGC: "",
evenRowBGC: "",
align: ["left", "left", "right"],
index: true,
rowNum: 6,
columnWidth: [50]
},
start: 0,
end: 40,
start1: 0,
end1: 40,
interval: null,
videoData: [],
flag: false,
}
},
methods: {
jsonObj(val) {
return JSON.parse(val || "{}")?.url
},
getOpt(type = "0") {
let opt = {
"0": {
xData: ['2020/7/1', "2020/7/2", "2020/7/3", "2020/7/4", "2020/7/5", "2020/7/6", "2020/7/7", "2020/7/8", "2020/7/9", "2020/7/10", "2020/7/11"],
yData: Array(11).fill(0),
color: "#FFEA2F",
areaStyle: 'rgba(255,234,47,0.2)',
unit: '',
},
"1": {
xData: ["1:00", "2:00", "3:00", "4:00", "5:00", "6:00", "7:00", "8:00", "9:00", "10:00"],
yData: Array(10).fill(0),
color: "#13B5B1",
areaStyle: 'rgba(255,234,47,0.2)',
unit: '次',
},
}
return {
grid: {
top: "5%",
left: "16%",
right: "3%",
bottom: "12%"
},
xAxis: {
show: true,
boundaryGap: false,
type: 'category',
axisLabel: {
show: true,
textStyle: {
color: "#5E9CEA",
fontSize: 12
}
},
axisLine: {
show: false
},
axisTick: {
show: false
},
data: opt[type]["xData"]
},
yAxis: {
type: 'value',
show: true,
axisTick: {
show: false
},
axisLine: {
show: false
},
splitLine: {
show: true,
lineStyle: {
color: ['#103066'],
}
},
axisLabel: {
show: true,
formatter: (val) => `${val}${opt[type]["unit"]}`,
textStyle: {
color: "#5E9CEA",
fontSize: 12
}
},
},
series: [{
symbol: "none",
data: opt[type]["yData"],
type: 'line',
itemStyle: {
normal: {
color: opt[type]["color"],
areaStyle: {
color: {
type: 'linear', x2: 0, y2: 1, colorStops: [
{offset: 0, color: opt[type]["areaStyle"]}, {offset: 1, color: '#000000'}]
}
}
}
}
}]
}
},
getWebSdkUrlForScreen() {
this.instance.post(`/app/appzyvideoequipment/getWebSdkUrlForTianQiaoScreen`).then(res => {
if (res.code == 0) {
this.videoData = res.data
this.flag = true
}
})
}
},
beforeDestroy() {
this.interval && clearInterval(this.interval);
},
mounted() {
// this.getWebSdkUrlForScreen()
},
}
</script>
<style lang="scss" scoped>
.AppVideoMonitoringDV {
height: 100%;
padding: 6px 0 10px;
display: flex;
flex-direction: column;
gap: 24px;
.body {
height: 100%;
.left-wrap {
width: 307px;
height: 100%;
.left-top {
width: 100%;
background-image: url("./assets/videoMonitor/box1.png");
background-size: 100% 100%;
position: relative;
overflow: hidden;
.table {
box-sizing: border-box;
padding: 63px 17px 17px;
}
}
.left-bottom {
width: 100%;
height: 311px;
background-image: url("./assets/videoMonitor/box2.png");
background-size: 100% 100%;
margin-top: 7px;
display: flex;
align-items: center;
justify-content: center;
position: relative;
.AiMap {
width: 274px;
height: 247px;
margin-top: 40px;
}
}
}
.center-wrap {
width: 1183px;
height: 100%;
.card {
height: 93.3px;
display: flex;
align-items: center;
justify-content: center;
background-image: url("./assets/videoMonitor/card.png");
background-size: 100% 100%;
margin-right: 24px;
&:last-child {
margin-right: 0;
}
& > span:first-child {
font-size: 20px;
font-weight: 400;
color: #FFFFFF;
}
& > span:last-child {
font-size: 38px;
font-family: dineng, serif;
font-weight: bold;
color: #00EDFF;
margin-left: 13px;
}
}
.center-bottom {
width: 100%;
height: 789px;
background-image: url("./assets/videoMonitor/middlebox.png");
background-size: 100% 100%;
margin-top: 40px;
position: relative;
box-sizing: border-box;
padding: 61px;
.video-wrap {
width: 100%;
height: 344px;
display: flex;
justify-content: space-between;
margin-bottom: 12px;
.item {
.video {
width: 522px;
height: 296px;
object-fit: fill;
vertical-align: bottom;
border: 2px solid #122C7D;
}
.info {
height: 48px;
display: flex;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
padding: 0 12px;
background-color: #071153;
font-size: 14px;
color: #FFFFFF;
}
}
}
}
}
.right-wrap {
width: 297px;
height: 100%;
.right-top {
width: 100%;
height: 333px;
background-image: url("./assets/videoMonitor/box3.png");
background-size: 100% 100%;
position: relative;
overflow: hidden;
.total {
font-size: 16px;
color: #979AB7;
display: inline-block;
margin: 65px 0 16px 23px;
& > span:nth-child(1) {
font-size: 28px;
font-family: dineng, serif;
font-weight: bold;
color: #01CAFF;
}
& > span:nth-child(2) {
font-size: 16px;
color: #01CAFF;
}
}
.total-table {
height: 200px;
box-sizing: border-box;
padding: 0 23px;
}
}
.right-middle, .right-bottom {
width: 100%;
height: 276px;
background-image: url("./assets/videoMonitor/box4.png");
background-size: 100% 100%;
margin: 19px 0;
position: relative;
overflow: hidden;
.tag {
margin: 28px 18px 0 0;
display: flex;
justify-content: flex-end;
font-size: 12px;
color: #5E9CEA;
& > span {
font-size: 12px;
color: #FFFFFF;
display: inline-block;
width: 34px;
height: 17px;
text-align: center;
line-height: 18px;
margin-left: 14px;
}
}
:deep( .AiEchart ){
width: 251px;
height: 175px;
margin: 11px auto 0;
}
.info {
font-size: 12px;
color: #FFFFFF;
line-height: 24px;
box-sizing: border-box;
padding: 15px 19px 0;
& > span:nth-child(2n+1) {
font-size: 18px;
font-weight: 400;
line-height: 24px;
color: #FFE930;
}
& > span:nth-child(2n) {
font-size: 14px;
font-weight: 400;
color: #FFE930;
line-height: 24px;
margin: 0 5px;
}
& > span:nth-child(2) {
margin-right: 22px;
}
}
}
.right-bottom {
margin: 0;
}
}
}
.label {
position: absolute;
left: 24px;
top: 23px;
font-size: 16px;
font-weight: 600;
color: #FFFFFF;
}
:deep( .index ){
background-color: transparent !important;
}
:deep( .header ){
background: url("./assets/videoMonitor/titlebox.png");
}
:deep( .row-item div:nth-child(3) ){
font-size: 13px;
color: #00CDFF;
}
}
</style>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 693 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 445 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

View File

@@ -0,0 +1,275 @@
<template>
<div class="AiGrid" ref="container">
<div
class="AiGrid-wrapper"
ref="tree"
id="tree"
:style="{left: x, top: y, transform: `scale(${scale}) translate(-50%, -50%) `, 'transform-origin': `${0} ${0}`}">
<ai-okr-tree
:props="props"
node-key="id"
show-collapsable
show-node-num
current-lable-class-name="aigrid-active"
:default-expanded-keys="defaultExpandedKeys"
ref="VueOkrTree"
@node-click="onNodeClick"
:data="treeData">
</ai-okr-tree>
</div>
</div>
</template>
<script>
export default {
name: 'AiGrid',
props: ['instance'],
data() {
return {
scale: 1,
x: '50%',
y: '50%',
defaultExpandedKeys: [],
treeData: [],
props: {
label: 'girdName',
children: 'children'
}
}
},
mounted() {
this.bindEvent()
this.getPartyOrg()
},
destroyed() {
document.querySelector('body').removeEventListener('mousewheel', this.onMousewheel)
document.querySelector('body').removeEventListener('mouseup', this.onMouseUp)
document.querySelector('body').removeEventListener('mousedown', this.onMousedown)
document.querySelector('body').removeEventListener('mousemove', this.onMouseMove)
},
methods: {
bindEvent() {
document.querySelector('body').addEventListener('mousewheel', this.onMousewheel, true)
document.querySelector('body').addEventListener('mouseup', this.onMouseUp, true)
document.querySelector('body').addEventListener('mousedown', this.onMousedown, true)
document.querySelector('body').addEventListener('mousemove', this.onMouseMove, true)
},
onMousewheel(event) {
if (!event) return false
const elClass = event.target.className
if (elClass === 'tree' || elClass === 'middle' || (elClass && (elClass.indexOf('chart') > -1 || elClass.indexOf('user') > -1))) {
var dir = event.deltaY > 0 ? 'Up' : 'Down'
if (dir === 'Up') {
this.scale = this.scale - 0.12 <= 0.1 ? 0.1 : this.scale - 0.12
} else {
this.scale = this.scale + 0.12
}
}
return false
},
onMousedown(e) {
const elClass = e.target.className
if ((elClass && (elClass.indexOf('chart') > -1 || elClass.indexOf('user') > -1))) {
const left = document.querySelector('#tree').offsetLeft
const top = document.querySelector('#tree').offsetTop
this.isMove = true
this.offsetX = e.clientX - left
this.offsetY = e.clientY - top
}
},
onMouseMove(e) {
if (!this.isMove) return
this.x = (e.clientX - this.offsetX) + 'px'
this.y = (e.clientY - this.offsetY) + 'px'
},
onMouseUp() {
this.isMove = false
},
onNodeClick(e) {
this.$emit('nodeClick', e)
},
getPartyOrg() {
this.instance.post('/app/appgirdinfo/listAll3').then(res => {
if (res.code === 0) {
this.treeData = res.data.filter(e => !e.parentGirdId)
const parentGirdId = this.treeData[0].id
this.treeData.map(p => this.addChild(p, res.data.map(v => {
if (v.id === parentGirdId) {
this.defaultExpandedKeys.push(v.id)
}
return {
...v,
girdName: v.girdName.substr(0, 11)
}
}), {
parent: 'parentGirdId'
}))
this.$nextTick(() => {
this.autoScale()
this.$refs.VueOkrTree.setCurrentKey(parentGirdId)
})
}
})
},
autoScale() {
const treeWidth = this.$refs.tree.offsetWidth
const containerWidth = this.$refs.container.offsetWidth - 100
this.scale = treeWidth < containerWidth ? 1 : containerWidth / treeWidth
this.x = '50%'
this.y = '50%'
}
}
}
</script>
<style lang="scss" scoped>
.AiGrid {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
box-sizing: border-box;
.AiGrid-wrapper {
display: flex;
position: absolute;
align-items: center;
left: 50%;
top: 50%;
padding: 20px;
overflow: hidden;
width: max-content;
height: 300%;
}
.aigrid-active {
background: linear-gradient(180deg, #42C6CE 0%, #307598 100%);
}
:deep( .org-chart-container ){
color: #FFFFFF;
font-size: 16px;
.org-chart-node-children {
display: flex;
justify-content: center;
float: initial !important;
}
.org-chart-node-btn {
border: 1px solid #23A0AC !important;
font-size: 16px;
font-weight: bold;
background: #071030;
color: #FF9A02;
&:after, &::before {
display: none;
}
&.expanded::before {
display: block;
position: absolute;
top: 50%;
left: 4px;
right: 4px;
height: 0;
border-top: 1px solid #FF9A02;
content: "";
}
.org-chart-node-btn-text {
background: transparent;
color: #FF9A02;
}
}
.org-chart-node {
// overflow: hidden;
.org-chart-node-label {
width: 40px;
height: 254px;
margin-right: 15px;
padding: 0 0;
.org-chart-node-label-inner {
width: 40px !important;
height: 254px !important;
border: 1px solid;
background: linear-gradient(180deg, rgba(69, 210, 218, 0.2500) 0%, rgba(69, 210, 218, 0.1000) 100%) !important;
border-image: linear-gradient(180deg, rgba(5, 185, 203, 1), rgba(73, 214, 207, 1)) 1 1 !important;
line-height: 1.3;
padding: 10px 8px;
text-align: center;
font-size: 18px;
color: rgba(255, 255, 255, 0.8);
&.aigrid-active {
background: linear-gradient(180deg, #42C6CE 0%, #307598 100%) !important;
}
}
&.is-root-label {
width: auto !important;
min-width: 240px;
height: 40px !important;
line-height: 40px !important;
min-height: 40px !important;
text-align: center;
.org-chart-node-label-inner {
padding: 0 30px !important;
color: #fff !important;
width: auto !important;
min-width: 240px;
height: 40px !important;
line-height: 40px !important;
min-height: 40px !important;
text-align: center;
background: linear-gradient(180deg, rgba(69, 210, 218, 0.2500) 0%, rgba(69, 210, 218, 0.1000) 100%) !important;
border-image: linear-gradient(180deg, rgba(5, 185, 203, 1), rgba(73, 214, 207, 1)) 1 1 !important;
&.aigrid-active {
background: linear-gradient(180deg, #42C6CE 0%, #307598 100%) !important;
}
}
}
}
&:last-child {
.org-chart-node-label {
margin-right: 0;
}
}
}
.org-chart-node-children:before, .org-chart-node:after, .org-chart-node:last-child:before,
.org-chart-node.is-leaf:before {
border-radius: 0;
border-color: #23A0AC !important;
}
.vertical .org-chart-node:after, .vertical .org-chart-node:before {
border-radius: 0;
border-color: #23A0AC !important;
}
}
}
</style>

View File

@@ -0,0 +1,133 @@
<template>
<div class="DonutChart" :id="id">
<canvas :id="canvasId"></canvas>
<div class="DonutChart-text">
<span>{{ ratio || 0 }}%</span>
<i>{{ text }}</i>
</div>
</div>
</template>
<script>
export default {
props: ['ratio', 'text'],
data () {
return {
id: `DonutChart-${Math.ceil(Math.random() * 10000)}`,
canvasId: `DonutChartCanvas-${Math.ceil(Math.random() * 10000)}`,
canvasWidth: 90,
canvasHeight: 90
}
},
mounted () {
this.$nextTick(() => {
this.init()
})
},
methods: {
drawLine(ctx, options) {
const { beginX, beginY, endX, endY, lineColor, lineWidth } = options
ctx.lineWidth = lineWidth
ctx.strokeStyle = lineColor
ctx.beginPath()
ctx.moveTo(beginX, beginY)
ctx.lineTo(endX, endY)
ctx.closePath()
ctx.stroke()
},
angle (a, i, ox, oy, or) {
var hudu = (2 * Math.PI / 360) * a * i
var x = ox + Math.sin(hudu) * or
var y = oy - Math.cos(hudu) * or
return x + '_' + y
},
mapColor (value) {
if (value < 25) {
return '#FFC139'
}
if (value < 50) {
return '#21E03E'
}
return '#05C8FF'
},
init () {
const ctx = document.querySelector(`#${this.canvasId}`).getContext('2d')
const canvasWidth = document.querySelector(`#${this.id}`).offsetWidth
const canvasHeight = document.querySelector(`#${this.id}`).offsetHeight
const angle = this.ratio / 100 * 2
let radian = 0
ctx.width = canvasWidth
ctx.height = canvasHeight
const x = canvasWidth / 2
const y = canvasHeight / 2
ctx.lineWidth = 2
ctx.strokeStyle = '#383f56'
ctx.beginPath();
ctx.arc(x, y, x - 3, 0, 2 * Math.PI)
ctx.stroke()
ctx.beginPath()
ctx.lineWidth = 4
ctx.strokeStyle = 'rgba(76, 202, 227, 1)'
if (this.ratio < 25) {
radian = 3 / 2 + angle
ctx.arc(x, y, x - 4, Math.PI + Math.PI / 2, Math.PI * radian, false)
} else if (this.ratio === 100) {
ctx.arc(x, y, x - 4, 0, Math.PI * 2)
} else {
radian = (this.ratio - 25) / 100 * 2
ctx.arc(x, y, x - 4, Math.PI + Math.PI / 2, Math.PI * radian, false)
}
ctx.stroke()
}
}
}
</script>
<style lang="scss" scoped>
.DonutChart {
position: relative;
width: 84px;
height: 84px;
overflow: hidden;
.DonutChart-text {
display: flex;
position: absolute;
align-items: center;
justify-content: center;
flex-direction: column;
top: 50%;
left: 50%;
z-index: 1;
width: 100%;
height: 100%;
line-height: 1;
transform: translate(-50%, -50%);
span {
margin-bottom: 8px;
font-size: 20px;
font-weight: bold;
color: #fff;
font-style: oblique;
}
i {
font-size: 12px;
font-style: normal;
color: rgba(42, 183, 209, 1);
}
}
}
</style>

View File

@@ -0,0 +1,190 @@
<template>
<div class="DoughnutChart-wrapper">
<div class="DoughnutChart" :id="id">
<canvas :id="canvasId"></canvas>
<div class="DonutChart-text">
<span>{{ ratio }}%</span>
</div>
</div>
<div class="DoughnutChart-explain">
<div class="item" v-for="(item, index) in value" :key="index">
<i></i>
<span :style="labelStyle">{{ item.key }}</span>
<p>{{ item.value }}</p>
</div>
</div>
</div>
</template>
<script>
export default {
props: ['ratio', 'value', 'labelStyle'],
data () {
return {
id: `DonutChart-${Math.ceil(Math.random() * 10000)}`,
canvasId: `DonutChartCanvas-${Math.ceil(Math.random() * 10000)}`,
canvasWidth: 90,
canvasHeight: 90
}
},
watch: {
ratio () {
this.init()
}
},
mounted () {
this.$nextTick(() => {
this.init()
})
},
methods: {
drawLine(ctx, options) {
const { beginX, beginY, endX, endY, lineColor, lineWidth } = options
ctx.lineWidth = lineWidth
ctx.strokeStyle = lineColor
ctx.beginPath()
ctx.moveTo(beginX, beginY)
ctx.lineTo(endX, endY)
ctx.closePath()
ctx.stroke()
},
angle (a, i, ox, oy, or) {
var hudu = (2 * Math.PI / 360) * a * i
var x = ox + Math.sin(hudu) * or
var y = oy - Math.cos(hudu) * or
return x + '_' + y
},
mapColor (value) {
if (value < 25) {
return '#FFC139'
}
if (value < 50) {
return '#21E03E'
}
return '#05C8FF'
},
init () {
const ctx = document.querySelector(`#${this.canvasId}`).getContext('2d')
const canvasWidth = document.querySelector(`#${this.id}`).offsetWidth
const canvasHeight = document.querySelector(`#${this.id}`).offsetHeight
const angle = this.ratio / 100 * 2
let radian = 0
ctx.width = canvasWidth
ctx.height = canvasHeight
const x = canvasWidth / 2
const y = canvasHeight / 2
ctx.lineWidth = 4
ctx.strokeStyle = 'rgba(102, 121, 138, 0.3)'
ctx.beginPath();
ctx.arc(x, y, x - 8, 0, 2 * Math.PI)
ctx.stroke()
ctx.beginPath()
ctx.lineWidth = 4
var g = ctx.createLinearGradient(0, 0, 0, 80)
g.addColorStop(0, 'rgba(44, 150, 231, 0.8)')
g.addColorStop(1, 'rgba(92, 255, 243, 1)')
ctx.strokeStyle = g
if (this.ratio < 25) {
radian = 3 / 2 + angle
ctx.arc(x, y, x - 8, Math.PI + Math.PI / 2, Math.PI * radian, false)
} else if (this.ratio === 100) {
ctx.arc(x, y, x - 8, 0, Math.PI * 2)
} else {
radian = (this.ratio - 25) / 100 * 2
ctx.arc(x, y, x - 8, Math.PI + Math.PI / 2, Math.PI * radian, false)
}
ctx.stroke()
ctx.beginPath()
ctx.strokeStyle = 'rgba(102, 121, 138, 0.4)'
ctx.lineWidth = 1
ctx.arc(x, y, x - 15, 0, 2 * Math.PI)
ctx.stroke()
}
}
}
</script>
<style lang="scss" scoped>
.DoughnutChart-wrapper {
display: flex;
align-items: center;
justify-content: space-between;
height: 100%;
padding-top: 12px;
.DoughnutChart-explain {
flex: 1;
margin-left: 10px;
.item {
display: flex;
align-items: center;
&:first-child {
margin-bottom: 10px;
}
i {
width: 8px;
height: 8px;
margin-right: 6px;
border-radius: 50%;
background: #5AF9F0;
}
span {
width: 78px;
font-weight: 400;
font-size: 14px;
color: #9BB7D4;
}
p {
font-size: 14px;
color: #FFFFFF;
}
&:last-child i {
background: rgba(102, 121, 138, 0.3);
}
}
}
.DoughnutChart {
position: relative;
width: 90px;
height: 90px;
overflow: hidden;
.DonutChart-text {
display: flex;
position: absolute;
justify-content: center;
top: 50%;
left: 50%;
z-index: 1;
transform: translate(-50%, -50%);
span {
font-size: 17px;
font-weight: bold;
color: #02FEFF;
}
}
}
}
</style>

View File

@@ -0,0 +1,386 @@
<template>
<div class="AiDvMap">
<div class="chart-map" :class="v" style="width: 100%; height: 100%"></div>
<transition name="fade">
<div class="info" v-if="isShowInfo">
<div class="info-mask" @click="isShowInfo = false"></div>
<div class="info-content">
<div class="info-title">
<h2>{{ title }}</h2>
</div>
<img src="https://cdn.cunwuyun.cn/dvcp/dv/qxn/close.png" @click="isShowInfo = false" />
<div class="info-wrapper" v-if="type === '0'">
<div class="info-wrapper__item">
<label>下属单位</label>
<span>{{ info['派出所数量'] }}个派出所</span>
</div>
<div class="info-wrapper__item">
<label>居民群</label>
<span>{{ info['群数量'] }}</span>
</div>
<div class="info-wrapper__item">
<label>成员人数</label>
<span>{{ info['成员总数'] }}</span>
</div>
<div class="info-wrapper__item">
<label>群人数</label>
<span>{{ info['群成员数量'] }}</span>
</div>
<div class="info-wrapper__item">
<label>激活比例</label>
<span>{{ rate }}</span>
</div>
<div class="info-wrapper__item">
<label>好友人数</label>
<span>{{ info['外部联系人数量'] }}</span>
</div>
<div class="info-wrapper__item">
<label>群主人数</label>
<span>{{ info['群主人数'] }}</span>
</div>
</div>
<div class="info-wrapper" v-else>
<div class="info-wrapper__item">
<label>负责人</label>
<span>{{ info['负责人'] }}</span>
</div>
<div class="info-wrapper__item">
<label>下属警格数</label>
<span>{{ info['下属警格数量'] }}</span>
</div>
<div class="info-wrapper__item">
<label>警格人数</label>
<span>{{ info['外部联系人数量'] }}</span>
</div>
<div class="info-wrapper__item">
<label>事件处理率</label>
<span>{{ rate }}</span>
</div>
<div class="info-wrapper__item">
<label>待处理</label>
<span>{{ info['待受理'] }}</span>
</div>
<div class="info-wrapper__item">
<label>处理中</label>
<span>{{ info['办理中'] }}</span>
</div>
<div class="info-wrapper__item">
<label>已办理</label>
<span>{{ info['已办结'] }}</span>
</div>
<div class="info-wrapper__item">
<label>事件总数</label>
<span>{{ info['事件总数'] }}</span>
</div>
</div>
</div>
</div>
</transition>
</div>
</template>
<script>
export default {
name: 'AiDvMap',
props: {
instance: Function,
type: String
},
data() {
return {
info: {},
timer: null,
title: '',
v: `AiDvMap-${new Date().getTime()}`,
chart: null,
isShowInfo: false,
geoJSON: require('./geoJSon/qxnGeoJSON.json')
}
},
computed: {
rate () {
if (!this.info['事件总数']) {
return '0%'
}
return ((this.info['事件总数'] - this.info['待受理']) / this.info['事件总数']).toFixed(4) * 100 + '%'
}
},
mounted() {
this.$nextTick(() => {
this.initChart()
})
},
methods: {
initChart() {
this.chart = echarts.init(document.querySelector(`.${this.v}`))
echarts.registerMap('黔西南', this.geoJSON)
let option = {
geo: [
{
map: "黔西南",
aspectScale: 1,
zoom: 0.65,
layoutCenter: ["50%", "50%"],
layoutSize: "180%",
show: true,
roam: false,
emphasis: {
show: true,
label: {
textStyle: {
color: "#FFFFFF"
},
},
itemStyle: {
// areaColor: '#fff'
}
},
label: {
normal: {
show: true,
color: '#fff',
fontSize: '14'
}
},
itemStyle: {
normal: {
borderColor: "rgba(2, 254, 255, 0.7)",
borderWidth: 2,
shadowColor: "rgba(2, 254, 255, 0.1)",
shadowOffsetY: 10,
shadowBlur: 120,
areaColor: "#0f7295",
},
}
},
// 重影
{
type: "map",
map: "黔西南",
zlevel: -1,
aspectScale: 1,
zoom: 0.65,
layoutCenter: ["50%", "51%"],
layoutSize: "180%",
roam: false,
silent: true,
itemStyle: {
normal: {
borderWidth: 1,
// borderColor:"rgba(17, 149, 216,0.6)",
borderColor: "rgba(2, 254, 255, 0.3)",
shadowColor: "rgba(2, 254, 255, 0.3)",
shadowOffsetY: 5,
shadowBlur: 15,
areaColor: "rgba(5,21,35,0.1)",
},
},
},
{
type: "map",
map: "黔西南",
zlevel: -2,
aspectScale: 1,
zoom: 0.65,
layoutCenter: ["50%", "52%"],
layoutSize: "180%",
roam: false,
silent: true,
itemStyle: {
normal: {
borderWidth: 1,
// borderColor: "rgba(57, 132, 188,0.4)",
borderColor: "rgba(2, 254, 255, 0.2)",
shadowColor: "rgba(2, 254, 255, 0.24)",
shadowOffsetY: 5,
shadowBlur: 15,
areaColor: "transpercent",
},
},
},
{
type: "map",
map: "黔西南",
zlevel: -3,
aspectScale: 1,
zoom: 0.65,
layoutCenter: ["50%", "53%"],
layoutSize: "180%",
roam: false,
silent: true,
itemStyle: {
normal: {
borderWidth: 1,
// borderColor: "rgba(11, 43, 97,0.8)",
borderColor: "rgba(2, 254, 255, 0.1)",
shadowColor: "rgba(2, 254, 255, 0.1)",
shadowOffsetY: 15,
shadowBlur: 10,
areaColor: "transpercent",
},
},
}
],
series: [
{
type: 'scatter',
map: "黔西南",
coordinateSystem: 'geo',
z: 3,
zlevel: 3,
// symbol: 'none',
symbolSize: 16,
rippleEffect: {
period: 2,
scale: 4,
brushType: 'fill'
},
label: {
show: false
},
roam: false,
itemStyle: {
normal: {
areaColor: '#000',
borderColor: '#a18a3a',
borderWidth: 1
},
emphasis: {
show: false,
areaColor: null
}
},
data: []
}
]
}
this.chart.setOption(option)
this.chart.on('click', e => {
this.getInfo(e.name)
})
},
getInfo (name) {
this.title = `${name}公安局`
this.instance.post(`/api/wxgridinfo/comprehensiveOverviewMap`, null, {
params: {
gridName: `${name}公安局`,
corpId: 'wwb182f88f0327b37f'
}
}).then(res => {
if (res.code === 0) {
this.info = res.data
this.isShowInfo = true
}
})
}
}
}
</script>
<style lang="scss" scoped>
.AiDvMap {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
.info {
position: fixed;
left: 0;
top: 0;
z-index: 111;
width: 100%;
height: 100%;
overflow: hidden;
.info-mask {
position: absolute;
left: 0;
top: 0;
z-index: 1;
width: 100%;
height: 100%;
background: rgba($color: #000000, $alpha: 0.1);
}
.info-content {
position: absolute;
top: 50%;
left: 50%;
z-index: 11;
width: 390px;
height: 262px;
padding: 15px 18px 0;
background: url(https://cdn.cunwuyun.cn/dvcp/dv/qxn/info-bg.png);
background-size: 100% 100%;
transform: translate(-50%, -50%);
.info-wrapper {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-top: 40px;
.info-wrapper__item {
display: flex;
align-items: center;
width: 50%;
line-height: 1;
margin-bottom: 20px;
label {
width: 90px;
margin-right: 10px;
color: #fff;
text-align: right;
font-size: 14px;
font-weight: 500;
}
span {
flex: 1;
font-size: 14px;
color: #FF8533;
}
}
}
img {
position: absolute;
top: 30px;
right: 18px;
z-index: 1;
width: 24px;
height: 24px;
cursor: pointer;
transition: all ease 300ms;
&:hover {
opacity: 0.6;
}
}
.info-title {
display: flex;
align-items: center;
h2 {
font-size: 16px;
color: #fff;
}
}
}
}
}
</style>

View File

@@ -0,0 +1,483 @@
<template>
<div class="pdgrid">
<div class="pdgrid-title">
<h2>{{ currGird }}</h2>
</div>
<div class="pdgrid-grid__title" @click="isShowGrid2 = true">
<h2 :title="girdName2">{{ girdName2 }}</h2>
</div>
<div class="pdgrid-body">
<div class="pdgrid-body__item" @click="isShowGrid3 = true">
<h2>{{ girdNum3 }}</h2>
<div class="bottom">
<i></i>
<p>{{ girdName3 }}</p>
<i class="right"></i>
</div>
</div>
<div class="pdgrid-body__item" @click.stop="isShowGrid4 = true">
<h2>{{ girdNum4 }}</h2>
<div class="bottom">
<i></i>
<p>{{ girdName4 }}</p>
<i class="right"></i>
</div>
</div>
<div class="pdgrid-body__item" @click="isShowGrid5 = true">
<h2>{{ girdNum5 }}</h2>
<div class="bottom">
<i></i>
<p>{{ girdName5 }}</p>
<i class="right"></i>
</div>
</div>
</div>
<transition name="fade">
<div class="grid-dialog" v-show="isShowGrid2">
<div class="mask" @click="isShowGrid2 = false"></div>
<div class="grid-container">
<h2 :title="girdName2">{{ girdName2 }}</h2>
<div class="grid-list">
<div
:class="[currIndex2 === index ? 'grid-active' : '']"
v-for="(item, index) in girdInfoList2"
:key="index"
:title="item.girdName"
@click.stop="onGrid2Click(item, index)">
{{ item.girdName }}
</div>
</div>
</div>
</div>
</transition>
<transition name="fade">
<div class="grid-dialog" v-show="isShowGrid3">
<div class="mask" @click="isShowGrid3 = false"></div>
<div class="grid-container">
<h2 :title="girdName3">{{ girdName3 }}</h2>
<div class="grid-list">
<div
:class="[currIndex3 === index ? 'grid-active' : '']"
v-for="(item, index) in girdInfoList3"
:key="index"
:title="item.girdName"
@click.stop="onGrid3Click(item, index)">
{{ item.girdName }}
</div>
</div>
</div>
</div>
</transition>
<transition name="fade">
<div class="grid-dialog" v-show="isShowGrid4">
<div class="mask" @click="isShowGrid4 = false"></div>
<div class="grid-container">
<h2 :title="girdName4">{{ girdName4 }}</h2>
<div class="grid-list">
<div
:class="[currIndex4 === index ? 'grid-active' : '']"
v-for="(item, index) in girdInfoList4"
:key="index"
:title="item.girdName"
@click.stop="onGrid4Click(item, index)">
{{ item.girdName }}
</div>
</div>
</div>
</div>
</transition>
<transition name="fade">
<div class="grid-dialog" v-show="isShowGrid5">
<div class="mask" @click="isShowGrid5 = false"></div>
<div class="grid-container">
<h2 :title="girdName5">{{ girdName5 }}</h2>
<div class="grid-list">
<div
:class="[currIndex5 === index ? 'grid-active' : '']"
v-for="(item, index) in girdInfoList5"
:key="index"
:title="item.girdName"
@click.stop="onGrid5Click(item, index)">
{{ item.girdName }}
</div>
</div>
</div>
</div>
</transition>
</div>
</template>
<script>
export default {
name: 'pdgrid',
props: ['instance'],
data () {
return {
isShowGrid2: false,
isShowGrid3: false,
isShowGrid4: false,
isShowGrid5: false,
currIndex2: 0,
currIndex3: 0,
currIndex4: 0,
currIndex5: 0,
girdInfoList2: [],
girdInfoList3: [],
girdInfoList4: [],
girdInfoList5: [],
girdName2: '',
girdName3: '',
girdName4: '',
girdName5: '',
girdNum3: 0,
girdNum4: 0,
girdNum5: 0,
currGird: ''
}
},
mounted () {
this.$nextTick(() => {
document.addEventListener('keydown', this.onKeyDown)
})
this.getInfo()
},
destroyed () {
document.removeEventListener('keydown', this.onKeyDown)
},
methods: {
onKeyDown (e) {
if (e.keyCode == 27) {
this.isShowGrid2 = false
this.isShowGrid3 = false
this.isShowGrid4 = false
this.isShowGrid5 = false
}
},
onGrid2Click (item, index) {
this.currIndex2 = index
this.girdName2 = item.girdName
this.currIndex3 = -1
this.currIndex4 = -1
this.currIndex5 = -1
this.isShowGrid2 = false
this.girdInfoList3 = []
this.girdInfoList4 = []
this.girdInfoList5 = []
this.$emit('nodeClick', item.id)
this.currGird = item.girdName
this.getInfo(item.id)
},
onGrid3Click (item, index) {
this.currIndex3 = index
this.girdName3 = item.girdName
this.currIndex4 = -1
this.currIndex5 = -1
this.girdNum3 = 1
this.isShowGrid3 = false
this.$emit('nodeClick', item.id)
this.girdInfoList4 = []
this.girdInfoList5 = []
this.currGird = item.girdName
this.getInfo(item.id)
},
onGrid4Click (item, index) {
this.currIndex4 = index
this.girdName4 = item.girdName
this.currIndex5 = -1
this.girdNum4 = 1
this.isShowGrid4 = false
this.$emit('nodeClick', item.id)
this.girdInfoList5 = []
this.currGird = item.girdName
this.getInfo(item.id)
},
onGrid5Click (item, index) {
this.currIndex5 = index
this.girdName5 = item.girdName
this.isShowGrid5 = false
this.girdNum5 = 1
this.$emit('nodeClick', item.id)
this.currGird = item.girdName
this.getInfo(item.id)
},
getInfo (id) {
this.instance.post(`/app/appgirdinfo/queryPdDetailByGirdId?id=${id || ''}`).then(res => {
if (res.code === 0) {
res.data.girdInfoList2 && (this.girdInfoList2 = res.data.girdInfoList2)
res.data.girdInfoList3 && (this.girdInfoList3 = res.data.girdInfoList3)
res.data.girdInfoList4 && (this.girdInfoList4 = res.data.girdInfoList4)
res.data.girdInfoList5 && (this.girdInfoList5 = res.data.girdInfoList5)
res.data.girdName2 && (this.girdName2 = res.data.girdName2)
res.data.girdName3 && (this.girdName3 = res.data.girdName3)
res.data.girdName4 && (this.girdName4 = res.data.girdName4)
res.data.girdName5 && (this.girdName5 = res.data.girdName5)
res.data.girdNum3 != null && (this.girdNum3 = res.data.girdNum3)
res.data.girdNum4 != null && (this.girdNum4 = res.data.girdNum4)
res.data.girdNum5 != null && (this.girdNum5 = res.data.girdNum5)
if (!id) {
this.currGird = res.data.girdName2
this.currIndex2 = res.data.girdInfoList2.findIndex(v => res.data.girdName2 === v.girdName)
}
}
})
}
}
}
</script>
<style lang="scss">
.pdgrid {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
box-sizing: border-box;
background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/middle-bg.png) no-repeat center;
background-size: contain;
.fade-enter-active, .fade-leave-active {
transition: opacity .3s ease-in-out;
}
.fade-enter, .fade-leave-to {
opacity: 0;
}
* {
box-sizing: border-box;
}
.pdgrid-grid__title {
position: absolute;
top: 40px;
left: 50%;
width: 271px;
height: 53px;
line-height: 53px;
text-align: center;
background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/grid-title-sbg.png) no-repeat center;
background-size: 100% 100%;
cursor: pointer;
transform: translateX(-50%);
transition: opacity ease 0.3s;
&:hover {
opacity: 0.8;
}
h2 {
width: 182px;
margin: 0 auto;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: #FFFFFF;
font-size: 21px;
text-shadow: 0px 0px 13px rgb(59 182 255 / 80%);
background: #fff;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
}
.pdgrid-title {
position: absolute;
top: 200px;
left: 50%;
min-width: 640px;
height: 80px;
line-height: 80px;
text-align: center;
background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/middle-titlebg.png) no-repeat center;
background-size: 100% 100%;
transform: translateX(-50%);
h2 {
color: #FFFFFF;
font-size: 22px;
white-space: nowrap;
text-shadow: 0px 0px 13px rgb(59 182 255 / 80%);
background: #fff;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
}
.pdgrid-body {
display: flex;
position: absolute;
justify-content: space-between;
bottom: 200px;
left: 0;
width: 100%;
padding: 0 112px;
.pdgrid-body__item {
display: flex;
flex-direction: column;
width: 200px;
height: 187px;
align-items: center;
padding-top: 71px;
cursor: pointer;
background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/item-bg.png) no-repeat center;
background-size: 100% 100%;
transition: opacity ease 0.3s;
&:hover {
opacity: 0.8;
}
&:nth-of-type(2) {
position: relative;
top: 67px;
}
h2 {
font-size: 36px;
color: #FFFFFF;
text-shadow: 0px 0px 13px rgb(59 182 255 / 80%);
background: #fff;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
p {
max-width: 164px;
margin-top: 4px;
padding: 0 16px;
font-size: 16px;
color: #FFFFFF;
text-shadow: 0px 0px 13px rgb(59 182 255 / 80%);
background: #fff;
-webkit-background-clip: text;
font-weight: 600;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
-webkit-text-fill-color: transparent;
}
.bottom {
display: flex;
align-items: center;
i {
width: 0px;
height: 0px;
border: 6px solid transparent;
border-top-color: transparent;
border-bottom-color: transparent;
border-left-color: transparent;
border-right-color: #FFCB42;
&.right {
width: 0px;
height: 0px;
border: 6px solid transparent;
border-top-color: transparent;
border-bottom-color: transparent;
border-left-color: #FFCB42;
border-right-color: transparent;
}
}
}
}
}
.grid-dialog {
position: fixed;
top: 0;
left: 0;
z-index: 111;
width: 100%;
height: 100%;
& > .mask {
position: absolute;
left: 0;
top: 0;
z-index: 1;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
}
.grid-container {
display: flex;
position: absolute;
flex-direction: column;
left: 50%;
top: 50%;
z-index: 2;
width: 640px;
height: 640px;
background: rgba(7,13,41,0.9);
border: 1px solid #144662;
transform: translate(-50%, -50%);
& > h2 {
width: 100%;
height: 67px;
line-height: 67px;
padding: 0 20px;
text-align: center;
color: #FFFFFF;
font-size: 24px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
text-shadow: 0px 0px 13px rgb(59 182 255 / 80%);
background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/grid-title-bg.png) no-repeat center;
background-size: 100% 100%;
}
.grid-list {
flex: 1;
overflow-y: auto;
& > div {
height: 67px;
line-height: 67px;
padding: 0 20px;
text-align: center;
color: #FFFFFF;
font-size: 27px;
cursor: pointer;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
transition: all ease 0.5s;
&.grid-active {
background: linear-gradient(270deg, rgba(0,48,124,0) 0%, #00307C 16%, rgba(0,99,255,0.9100) 50%, rgba(0,48,124,0.8200) 87%, rgba(0,48,124,0) 100%);
box-shadow: inset 0px -1px 0px 0px rgba(16,34,54,1);
text-shadow: 0px 3px 5px rgba(0,0,0,0.5000);
}
&:hover {
background: linear-gradient(270deg, rgba(0,48,124,0) 0%, #00307C 16%, rgba(0,99,255,0.9100) 50%, rgba(0,48,124,0.8200) 87%, rgba(0,48,124,0) 100%);
box-shadow: inset 0px -1px 0px 0px rgba(16,34,54,1);
text-shadow: 0px 3px 5px rgba(0,0,0,0.5000);
}
}
}
}
}
}
</style>

View File

@@ -0,0 +1,334 @@
<template>
<div class="PlyGird">
<div class="pdgrid-title">
<h2>{{ currGird }}</h2>
</div>
<div class="pdgrid-body">
<div class="pdgrid-body__item" @click="isShowGrid2 = true">
<h2>{{ girdNum2 }}</h2>
<div class="bottom">
<i></i>
<p>{{ girdName2 }}</p>
<i class="right"></i>
</div>
</div>
</div>
<transition name="fade">
<div class="grid-dialog" v-show="isShowGrid2">
<div class="mask" @click="isShowGrid2 = false"></div>
<div class="grid-container">
<h2 :title="girdName2">{{ girdName2 }}</h2>
<div class="grid-list">
<div
:class="[currIndex2 === index ? 'grid-active' : '']"
v-for="(item, index) in girdInfoList2"
:key="index"
:title="item.girdName"
@click.stop="onGrid2Click(item, index)">
{{ item.girdName }}
</div>
</div>
</div>
</div>
</transition>
</div>
</template>
<script>
export default {
name: 'pdgrid',
props: ['instance'],
data () {
return {
isShowGrid2: false,
currIndex2: 0,
girdInfoList2: [],
girdName2: '',
girdNum2: 0,
currGird: ''
}
},
mounted () {
this.$nextTick(() => {
document.addEventListener('keydown', this.onKeyDown)
})
this.getInfo()
},
destroyed () {
document.removeEventListener('keydown', this.onKeyDown)
},
methods: {
onKeyDown (e) {
if (e.keyCode == 27) {
this.isShowGrid2 = false
}
},
onGrid2Click (item, index) {
this.currIndex2 = index
this.girdName2 = item.girdName
this.isShowGrid2 = false
this.$emit('nodeClick', item.id)
this.currGird = item.girdName
this.getInfo(item.id)
},
getInfo (id) {
this.instance.post(`/app/appgirdinfo/queryPlyDetailByGirdId?id=${id || ''}`).then(res => {
if (res.code === 0) {
res.data.girdInfoList2 && (this.girdInfoList2 = res.data.girdInfoList2)
res.data.girdName2 && (this.girdName2 = res.data.girdName2)
res.data.girdNum2 != null && (this.girdNum2 = res.data.girdNum2)
res.data.girdName1 && (this.currGird = res.data.girdName1)
if (!id) {
this.currIndex2 = res.data.girdInfoList2.findIndex(v => res.data.girdName2 === v.girdName)
}
}
})
}
}
}
</script>
<style lang="scss" scoped>
.PlyGird {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
box-sizing: border-box;
background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/middle-bg.png) no-repeat center;
background-size: contain;
.fade-enter-active, .fade-leave-active {
transition: opacity .3s ease-in-out;
}
.fade-enter, .fade-leave-to {
opacity: 0;
}
* {
box-sizing: border-box;
}
.pdgrid-grid__title {
position: absolute;
top: 40px;
left: 50%;
width: 271px;
height: 53px;
line-height: 53px;
text-align: center;
background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/grid-title-sbg.png) no-repeat center;
background-size: 100% 100%;
cursor: pointer;
transform: translateX(-50%);
transition: opacity ease 0.3s;
&:hover {
opacity: 0.8;
}
h2 {
width: 182px;
margin: 0 auto;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: #FFFFFF;
font-size: 21px;
text-shadow: 0px 0px 13px rgb(59 182 255 / 80%);
background: #fff;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
}
.pdgrid-title {
position: absolute;
top: 200px;
left: 50%;
min-width: 640px;
height: 80px;
line-height: 80px;
text-align: center;
background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/middle-titlebg.png) no-repeat center;
background-size: 100% 100%;
transform: translateX(-50%);
h2 {
color: #FFFFFF;
font-size: 22px;
white-space: nowrap;
text-shadow: 0px 0px 13px rgb(59 182 255 / 80%);
background: #fff;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
}
.pdgrid-body {
display: flex;
position: absolute;
justify-content: center;
bottom: 133px;
left: 0;
width: 100%;
padding: 0 112px;
.pdgrid-body__item {
display: flex;
flex-direction: column;
width: 200px;
height: 187px;
align-items: center;
padding-top: 71px;
cursor: pointer;
background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/item-bg.png) no-repeat center;
background-size: 100% 100%;
transition: opacity ease 0.3s;
&:hover {
opacity: 0.8;
}
h2 {
font-size: 36px;
color: #FFFFFF;
text-shadow: 0px 0px 13px rgb(59 182 255 / 80%);
background: #fff;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
p {
max-width: 164px;
margin-top: 4px;
padding: 0 16px;
font-size: 16px;
color: #FFFFFF;
text-shadow: 0px 0px 13px rgb(59 182 255 / 80%);
background: #fff;
-webkit-background-clip: text;
font-weight: 600;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
-webkit-text-fill-color: transparent;
}
.bottom {
display: flex;
align-items: center;
i {
width: 0px;
height: 0px;
border: 6px solid transparent;
border-top-color: transparent;
border-bottom-color: transparent;
border-left-color: transparent;
border-right-color: #FFCB42;
&.right {
width: 0px;
height: 0px;
border: 6px solid transparent;
border-top-color: transparent;
border-bottom-color: transparent;
border-left-color: #FFCB42;
border-right-color: transparent;
}
}
}
}
}
.grid-dialog {
position: fixed;
top: 0;
left: 0;
z-index: 111;
width: 100%;
height: 100%;
& > .mask {
position: absolute;
left: 0;
top: 0;
z-index: 1;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
}
.grid-container {
display: flex;
position: absolute;
flex-direction: column;
left: 50%;
top: 50%;
z-index: 2;
width: 640px;
height: 640px;
background: rgba(7,13,41,0.9);
border: 1px solid #144662;
transform: translate(-50%, -50%);
& > h2 {
width: 100%;
height: 67px;
line-height: 67px;
padding: 0 20px;
text-align: center;
color: #FFFFFF;
font-size: 24px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
text-shadow: 0px 0px 13px rgb(59 182 255 / 80%);
background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/grid-title-bg.png) no-repeat center;
background-size: 100% 100%;
}
.grid-list {
flex: 1;
overflow-y: auto;
& > div {
height: 67px;
line-height: 67px;
padding: 0 20px;
text-align: center;
color: #FFFFFF;
font-size: 27px;
cursor: pointer;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
transition: all ease 0.5s;
&.grid-active {
background: linear-gradient(270deg, rgba(0,48,124,0) 0%, #00307C 16%, rgba(0,99,255,0.9100) 50%, rgba(0,48,124,0.8200) 87%, rgba(0,48,124,0) 100%);
box-shadow: inset 0px -1px 0px 0px rgba(16,34,54,1);
text-shadow: 0px 3px 5px rgba(0,0,0,0.5000);
}
&:hover {
background: linear-gradient(270deg, rgba(0,48,124,0) 0%, #00307C 16%, rgba(0,99,255,0.9100) 50%, rgba(0,48,124,0.8200) 87%, rgba(0,48,124,0) 100%);
box-shadow: inset 0px -1px 0px 0px rgba(16,34,54,1);
text-shadow: 0px 3px 5px rgba(0,0,0,0.5000);
}
}
}
}
}
}
</style>

View File

@@ -0,0 +1,498 @@
<template>
<div class="pdgrid">
<div class="pdgrid-title">
<h2>{{ currGird }}</h2>
</div>
<div class="pdgrid-grid__title" @click="isShowGrid2 = true">
<h2 :title="girdName2">{{ girdName2 }}</h2>
</div>
<div class="pdgrid-body">
<div class="pdgrid-body__item" @click="isShowGrid3 = true">
<h2>{{ girdNum3 || 0 }}</h2>
<div class="bottom">
<i></i>
<p>{{ girdName3 }}</p>
<i class="right"></i>
</div>
</div>
<div class="pdgrid-body__item" @click.stop="isShowGrid4 = true">
<h2>{{ girdNum4 || 0 }}</h2>
<div class="bottom">
<i></i>
<p>{{ girdName4 }}</p>
<i class="right"></i>
</div>
</div>
<div class="pdgrid-body__item" @click="isShowGrid5 = true">
<h2>{{ girdNum5 || 0 }}</h2>
<div class="bottom">
<i></i>
<p>{{ girdName5 }}</p>
<i class="right"></i>
</div>
</div>
</div>
<transition name="fade">
<div class="grid-dialog" v-show="isShowGrid2">
<div class="mask" @click="isShowGrid2 = false"></div>
<div class="grid-container">
<h2 :title="girdName2">{{ girdName2 }}</h2>
<div class="grid-list">
<div @click.stop="onGrid2Click(girdId1, girdName2)">{{ girdName2 }}</div>
<!-- <div
:class="[currIndex2 === index ? 'grid-active' : '']"
v-for="(item, index) in girdInfoList2"
:key="index"
:title="item.girdName"
@click.stop="onGrid2Click(item, index)">
{{ item.girdName }}
</div> -->
</div>
</div>
</div>
</transition>
<transition name="fade">
<div class="grid-dialog" v-show="isShowGrid3">
<div class="mask" @click="isShowGrid3 = false"></div>
<div class="grid-container">
<h2 :title="girdName3">{{ girdName3 }}</h2>
<div class="grid-list">
<div
:class="[currIndex3 === index ? 'grid-active' : '']"
v-for="(item, index) in girdInfoList3"
:key="index"
:title="item.girdName"
@click.stop="onGrid3Click(item, index)">
{{ item.girdName }}
</div>
</div>
</div>
</div>
</transition>
<transition name="fade">
<div class="grid-dialog" v-show="isShowGrid4">
<div class="mask" @click="isShowGrid4 = false"></div>
<div class="grid-container">
<h2 :title="girdName4">{{ girdName4 }}</h2>
<div class="grid-list">
<div
:class="[currIndex4 === index ? 'grid-active' : '']"
v-for="(item, index) in girdInfoList4"
:key="index"
:title="item.girdName"
@click.stop="onGrid4Click(item, index)">
{{ item.girdName }}
</div>
</div>
</div>
</div>
</transition>
<transition name="fade">
<div class="grid-dialog" v-show="isShowGrid5">
<div class="mask" @click="isShowGrid5 = false"></div>
<div class="grid-container">
<h2 :title="girdName5">{{ girdName5 }}</h2>
<div class="grid-list">
<div
:class="[currIndex5 === index ? 'grid-active' : '']"
v-for="(item, index) in girdInfoList5"
:key="index"
:title="item.girdName"
@click.stop="onGrid5Click(item, index)">
{{ item.girdName }}
</div>
</div>
</div>
</div>
</transition>
</div>
</template>
<script>
export default {
name: 'XyGrid',
props: ['instance'],
data () {
return {
isShowGrid2: false,
isShowGrid3: false,
isShowGrid4: false,
isShowGrid5: false,
currIndex2: 0,
girdId1: '',
currIndex3: 0,
currIndex4: 0,
currIndex5: 0,
girdInfoList2: [],
girdInfoList3: [],
girdInfoList4: [],
girdInfoList5: [],
girdName2: '',
girdName3: '',
girdName4: '',
girdName5: '',
girdNum3: 0,
girdNum4: 0,
girdNum5: 0,
currGird: '',
girdName1: ''
}
},
mounted () {
this.$nextTick(() => {
document.addEventListener('keydown', this.onKeyDown)
})
this.getInfo()
},
destroyed () {
document.removeEventListener('keydown', this.onKeyDown)
},
methods: {
onKeyDown (e) {
if (e.keyCode == 27) {
this.isShowGrid2 = false
this.isShowGrid3 = false
this.isShowGrid4 = false
this.isShowGrid5 = false
}
},
onGrid2Click (id, name) {
// this.currIndex2 = index
// this.girdName2 = item.girdName
this.currIndex3 = -1
this.currIndex4 = -1
this.currIndex5 = -1
this.isShowGrid2 = false
this.girdInfoList3 = []
this.girdInfoList4 = []
this.girdInfoList5 = []
this.$emit('nodeClick', id)
this.currGird = name
this.getInfo(id)
},
onGrid3Click (item, index) {
this.currIndex3 = index
this.girdName3 = item.girdName
this.currIndex4 = -1
this.currIndex5 = -1
this.girdNum3 = 1
this.isShowGrid3 = false
this.$emit('nodeClick', {
id: item.id,
level: 2
})
this.girdInfoList4 = []
this.girdInfoList5 = []
this.currGird = item.girdName
this.getInfo(item.id)
},
onGrid4Click (item, index) {
this.currIndex4 = index
this.girdName4 = item.girdName
this.currIndex5 = -1
this.girdNum4 = 1
this.isShowGrid4 = false
this.$emit('nodeClick', {
id: item.id,
level: 3
})
this.girdInfoList5 = []
this.currGird = item.girdName
this.getInfo(item.id)
},
onGrid5Click (item, index) {
this.currIndex5 = index
this.girdName5 = item.girdName
this.isShowGrid5 = false
this.girdNum5 = 1
this.$emit('nodeClick', {
id: item.id,
level: 4
})
this.currGird = item.girdName
this.getInfo(item.id)
},
getInfo (id) {
this.instance.post(`/app/qxn_appgirdinfo/queryGirdInfo?id=${id || ''}`).then(res => {
if (res.code === 0) {
res.data.girdInfoList2 && (this.girdInfoList3 = res.data.girdInfoList2)
res.data.girdInfoList3 && (this.girdInfoList4 = res.data.girdInfoList3)
res.data.girdInfoList4 && (this.girdInfoList5 = res.data.girdInfoList4)
res.data.girdName1 && (this.girdName2 = res.data.girdName1)
res.data.girdName2 && (this.girdName3 = res.data.girdName2)
res.data.girdName3 && (this.girdName4 = res.data.girdName3)
res.data.girdName4 && (this.girdName5 = res.data.girdName4)
if (this.girdId1) {
this.girdName2 = res.data.girdName1
this.girdId1 = res.data.girdId1
}
res.data.girdNum2 != null && (this.girdNum3 = res.data.girdNum2)
res.data.girdNum3 != null && (this.girdNum4 = res.data.girdNum3)
res.data.girdNum4 != null && (this.girdNum5 = res.data.girdNum4)
if (!id) {
this.currGird = res.data.girdName1
}
}
})
}
}
}
</script>
<style lang="scss">
.pdgrid {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
box-sizing: border-box;
background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/middle-bg.png) no-repeat center;
background-size: contain;
.fade-enter-active, .fade-leave-active {
transition: opacity .3s ease-in-out;
}
.fade-enter, .fade-leave-to {
opacity: 0;
}
* {
box-sizing: border-box;
}
.pdgrid-grid__title {
position: absolute;
top: 40px;
left: 50%;
width: 271px;
height: 53px;
line-height: 53px;
text-align: center;
background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/grid-title-sbg.png) no-repeat center;
background-size: 100% 100%;
cursor: pointer;
transform: translateX(-50%);
transition: opacity ease 0.3s;
&:hover {
opacity: 0.8;
}
h2 {
width: 182px;
margin: 0 auto;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: #FFFFFF;
font-size: 21px;
text-shadow: 0px 0px 13px rgb(59 182 255 / 80%);
background: #fff;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
}
.pdgrid-title {
position: absolute;
top: 200px;
left: 50%;
min-width: 640px;
height: 80px;
line-height: 80px;
text-align: center;
background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/middle-titlebg.png) no-repeat center;
background-size: 100% 100%;
transform: translateX(-50%);
h2 {
color: #FFFFFF;
font-size: 22px;
white-space: nowrap;
text-shadow: 0px 0px 13px rgb(59 182 255 / 80%);
background: #fff;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
}
.pdgrid-body {
display: flex;
position: absolute;
justify-content: space-between;
bottom: 200px;
left: 0;
width: 100%;
padding: 0 112px;
.pdgrid-body__item {
display: flex;
flex-direction: column;
width: 200px;
height: 187px;
align-items: center;
padding-top: 71px;
cursor: pointer;
background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/item-bg.png) no-repeat center;
background-size: 100% 100%;
transition: opacity ease 0.3s;
&:hover {
opacity: 0.8;
}
&:nth-of-type(2) {
position: relative;
top: 67px;
}
h2 {
font-size: 36px;
color: #FFFFFF;
text-shadow: 0px 0px 13px rgb(59 182 255 / 80%);
background: #fff;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
p {
max-width: 164px;
margin-top: 4px;
padding: 0 16px;
font-size: 16px;
color: #FFFFFF;
text-shadow: 0px 0px 13px rgb(59 182 255 / 80%);
background: #fff;
-webkit-background-clip: text;
font-weight: 600;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
-webkit-text-fill-color: transparent;
}
.bottom {
display: flex;
align-items: center;
i {
width: 0px;
height: 0px;
border: 6px solid transparent;
border-top-color: transparent;
border-bottom-color: transparent;
border-left-color: transparent;
border-right-color: #FFCB42;
&.right {
width: 0px;
height: 0px;
border: 6px solid transparent;
border-top-color: transparent;
border-bottom-color: transparent;
border-left-color: #FFCB42;
border-right-color: transparent;
}
}
}
}
}
.grid-dialog {
position: fixed;
top: 0;
left: 0;
z-index: 111;
width: 100%;
height: 100%;
& > .mask {
position: absolute;
left: 0;
top: 0;
z-index: 1;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
}
.grid-container {
display: flex;
position: absolute;
flex-direction: column;
left: 50%;
top: 50%;
z-index: 2;
width: 640px;
height: 640px;
background: rgba(7,13,41,0.9);
border: 1px solid #144662;
transform: translate(-50%, -50%);
& > h2 {
width: 100%;
height: 67px;
line-height: 67px;
padding: 0 20px;
text-align: center;
color: #FFFFFF;
font-size: 24px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
text-shadow: 0px 0px 13px rgb(59 182 255 / 80%);
background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/grid-title-bg.png) no-repeat center;
background-size: 100% 100%;
}
.grid-list {
flex: 1;
overflow-y: auto;
& > div {
height: 67px;
line-height: 67px;
padding: 0 20px;
text-align: center;
color: #FFFFFF;
font-size: 27px;
cursor: pointer;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
transition: all ease 0.5s;
&.grid-active {
background: linear-gradient(270deg, rgba(0,48,124,0) 0%, #00307C 16%, rgba(0,99,255,0.9100) 50%, rgba(0,48,124,0.8200) 87%, rgba(0,48,124,0) 100%);
box-shadow: inset 0px -1px 0px 0px rgba(16,34,54,1);
text-shadow: 0px 3px 5px rgba(0,0,0,0.5000);
}
&:hover {
background: linear-gradient(270deg, rgba(0,48,124,0) 0%, #00307C 16%, rgba(0,99,255,0.9100) 50%, rgba(0,48,124,0.8200) 87%, rgba(0,48,124,0) 100%);
box-shadow: inset 0px -1px 0px 0px rgba(16,34,54,1);
text-shadow: 0px 3px 5px rgba(0,0,0,0.5000);
}
}
}
}
}
}
</style>

View File

@@ -0,0 +1,498 @@
<template>
<div class="pdgrid">
<div class="pdgrid-title">
<h2>{{ currGird }}</h2>
</div>
<div class="pdgrid-grid__title" @click="isShowGrid2 = true">
<h2 :title="girdName2">{{ girdName2 }}</h2>
</div>
<div class="pdgrid-body">
<div class="pdgrid-body__item" @click="isShowGrid3 = true">
<h2>{{ girdNum3 || 0 }}</h2>
<div class="bottom">
<i></i>
<p>{{ girdName3 }}</p>
<i class="right"></i>
</div>
</div>
<div class="pdgrid-body__item" @click.stop="isShowGrid4 = true">
<h2>{{ girdNum4 || 0 }}</h2>
<div class="bottom">
<i></i>
<p>{{ girdName4 }}</p>
<i class="right"></i>
</div>
</div>
<div class="pdgrid-body__item" @click="isShowGrid5 = true">
<h2>{{ girdNum5 || 0 }}</h2>
<div class="bottom">
<i></i>
<p>{{ girdName5 }}</p>
<i class="right"></i>
</div>
</div>
</div>
<transition name="fade">
<div class="grid-dialog" v-show="isShowGrid2">
<div class="mask" @click="isShowGrid2 = false"></div>
<div class="grid-container">
<h2 :title="girdName2">{{ girdName2 }}</h2>
<div class="grid-list">
<div @click.stop="onGrid2Click(girdId1, girdName2)">{{ girdName2 }}</div>
<!-- <div
:class="[currIndex2 === index ? 'grid-active' : '']"
v-for="(item, index) in girdInfoList2"
:key="index"
:title="item.girdName"
@click.stop="onGrid2Click(item, index)">
{{ item.girdName }}
</div> -->
</div>
</div>
</div>
</transition>
<transition name="fade">
<div class="grid-dialog" v-show="isShowGrid3">
<div class="mask" @click="isShowGrid3 = false"></div>
<div class="grid-container">
<h2 :title="girdName3">{{ girdName3 }}</h2>
<div class="grid-list">
<div
:class="[currIndex3 === index ? 'grid-active' : '']"
v-for="(item, index) in girdInfoList3"
:key="index"
:title="item.girdName"
@click.stop="onGrid3Click(item, index)">
{{ item.girdName }}
</div>
</div>
</div>
</div>
</transition>
<transition name="fade">
<div class="grid-dialog" v-show="isShowGrid4">
<div class="mask" @click="isShowGrid4 = false"></div>
<div class="grid-container">
<h2 :title="girdName4">{{ girdName4 }}</h2>
<div class="grid-list">
<div
:class="[currIndex4 === index ? 'grid-active' : '']"
v-for="(item, index) in girdInfoList4"
:key="index"
:title="item.girdName"
@click.stop="onGrid4Click(item, index)">
{{ item.girdName }}
</div>
</div>
</div>
</div>
</transition>
<transition name="fade">
<div class="grid-dialog" v-show="isShowGrid5">
<div class="mask" @click="isShowGrid5 = false"></div>
<div class="grid-container">
<h2 :title="girdName5">{{ girdName5 }}</h2>
<div class="grid-list">
<div
:class="[currIndex5 === index ? 'grid-active' : '']"
v-for="(item, index) in girdInfoList5"
:key="index"
:title="item.girdName"
@click.stop="onGrid5Click(item, index)">
{{ item.girdName }}
</div>
</div>
</div>
</div>
</transition>
</div>
</template>
<script>
export default {
name: 'XyGrid',
props: ['instance'],
data () {
return {
isShowGrid2: false,
isShowGrid3: false,
isShowGrid4: false,
isShowGrid5: false,
currIndex2: 0,
girdId1: '',
currIndex3: 0,
currIndex4: 0,
currIndex5: 0,
girdInfoList2: [],
girdInfoList3: [],
girdInfoList4: [],
girdInfoList5: [],
girdName2: '',
girdName3: '',
girdName4: '',
girdName5: '',
girdNum3: 0,
girdNum4: 0,
girdNum5: 0,
currGird: '',
girdName1: ''
}
},
mounted () {
this.$nextTick(() => {
document.addEventListener('keydown', this.onKeyDown)
})
this.getInfo()
},
destroyed () {
document.removeEventListener('keydown', this.onKeyDown)
},
methods: {
onKeyDown (e) {
if (e.keyCode == 27) {
this.isShowGrid2 = false
this.isShowGrid3 = false
this.isShowGrid4 = false
this.isShowGrid5 = false
}
},
onGrid2Click (id, name) {
// this.currIndex2 = index
// this.girdName2 = item.girdName
this.currIndex3 = -1
this.currIndex4 = -1
this.currIndex5 = -1
this.isShowGrid2 = false
this.girdInfoList3 = []
this.girdInfoList4 = []
this.girdInfoList5 = []
this.$emit('nodeClick', id)
this.currGird = name
this.getInfo(id)
},
onGrid3Click (item, index) {
this.currIndex3 = index
this.girdName3 = item.girdName
this.currIndex4 = -1
this.currIndex5 = -1
this.girdNum3 = 1
this.isShowGrid3 = false
this.$emit('nodeClick', {
id: item.id,
level: 2
})
this.girdInfoList4 = []
this.girdInfoList5 = []
this.currGird = item.girdName
this.getInfo(item.id)
},
onGrid4Click (item, index) {
this.currIndex4 = index
this.girdName4 = item.girdName
this.currIndex5 = -1
this.girdNum4 = 1
this.isShowGrid4 = false
this.$emit('nodeClick', {
id: item.id,
level: 3
})
this.girdInfoList5 = []
this.currGird = item.girdName
this.getInfo(item.id)
},
onGrid5Click (item, index) {
this.currIndex5 = index
this.girdName5 = item.girdName
this.isShowGrid5 = false
this.girdNum5 = 1
this.$emit('nodeClick', {
id: item.id,
level: 4
})
this.currGird = item.girdName
this.getInfo(item.id)
},
getInfo (id) {
this.instance.post(`/app/yyx_appgirdinfo/queryGirdInfo?id=${id || ''}`).then(res => {
if (res.code === 0) {
res.data.girdInfoList2 && (this.girdInfoList3 = res.data.girdInfoList2)
res.data.girdInfoList3 && (this.girdInfoList4 = res.data.girdInfoList3)
res.data.girdInfoList4 && (this.girdInfoList5 = res.data.girdInfoList4)
res.data.girdName1 && (this.girdName2 = res.data.girdName1)
res.data.girdName2 && (this.girdName3 = res.data.girdName2)
res.data.girdName3 && (this.girdName4 = res.data.girdName3)
res.data.girdName4 && (this.girdName5 = res.data.girdName4)
if (this.girdId1) {
this.girdName2 = res.data.girdName1
this.girdId1 = res.data.girdId1
}
res.data.girdNum2 != null && (this.girdNum3 = res.data.girdNum2)
res.data.girdNum3 != null && (this.girdNum4 = res.data.girdNum3)
res.data.girdNum4 != null && (this.girdNum5 = res.data.girdNum4)
if (!id) {
this.currGird = res.data.girdName1
}
}
})
}
}
}
</script>
<style lang="scss">
.pdgrid {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
box-sizing: border-box;
background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/middle-bg.png) no-repeat center;
background-size: contain;
.fade-enter-active, .fade-leave-active {
transition: opacity .3s ease-in-out;
}
.fade-enter, .fade-leave-to {
opacity: 0;
}
* {
box-sizing: border-box;
}
.pdgrid-grid__title {
position: absolute;
top: 40px;
left: 50%;
width: 271px;
height: 53px;
line-height: 53px;
text-align: center;
background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/grid-title-sbg.png) no-repeat center;
background-size: 100% 100%;
cursor: pointer;
transform: translateX(-50%);
transition: opacity ease 0.3s;
&:hover {
opacity: 0.8;
}
h2 {
width: 182px;
margin: 0 auto;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: #FFFFFF;
font-size: 21px;
text-shadow: 0px 0px 13px rgb(59 182 255 / 80%);
background: #fff;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
}
.pdgrid-title {
position: absolute;
top: 200px;
left: 50%;
min-width: 640px;
height: 80px;
line-height: 80px;
text-align: center;
background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/middle-titlebg.png) no-repeat center;
background-size: 100% 100%;
transform: translateX(-50%);
h2 {
color: #FFFFFF;
font-size: 22px;
white-space: nowrap;
text-shadow: 0px 0px 13px rgb(59 182 255 / 80%);
background: #fff;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
}
.pdgrid-body {
display: flex;
position: absolute;
justify-content: space-between;
bottom: 200px;
left: 0;
width: 100%;
padding: 0 112px;
.pdgrid-body__item {
display: flex;
flex-direction: column;
width: 200px;
height: 187px;
align-items: center;
padding-top: 71px;
cursor: pointer;
background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/item-bg.png) no-repeat center;
background-size: 100% 100%;
transition: opacity ease 0.3s;
&:hover {
opacity: 0.8;
}
&:nth-of-type(2) {
position: relative;
top: 67px;
}
h2 {
font-size: 36px;
color: #FFFFFF;
text-shadow: 0px 0px 13px rgb(59 182 255 / 80%);
background: #fff;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
p {
max-width: 164px;
margin-top: 4px;
padding: 0 16px;
font-size: 16px;
color: #FFFFFF;
text-shadow: 0px 0px 13px rgb(59 182 255 / 80%);
background: #fff;
-webkit-background-clip: text;
font-weight: 600;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
-webkit-text-fill-color: transparent;
}
.bottom {
display: flex;
align-items: center;
i {
width: 0px;
height: 0px;
border: 6px solid transparent;
border-top-color: transparent;
border-bottom-color: transparent;
border-left-color: transparent;
border-right-color: #FFCB42;
&.right {
width: 0px;
height: 0px;
border: 6px solid transparent;
border-top-color: transparent;
border-bottom-color: transparent;
border-left-color: #FFCB42;
border-right-color: transparent;
}
}
}
}
}
.grid-dialog {
position: fixed;
top: 0;
left: 0;
z-index: 111;
width: 100%;
height: 100%;
& > .mask {
position: absolute;
left: 0;
top: 0;
z-index: 1;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
}
.grid-container {
display: flex;
position: absolute;
flex-direction: column;
left: 50%;
top: 50%;
z-index: 2;
width: 640px;
height: 640px;
background: rgba(7,13,41,0.9);
border: 1px solid #144662;
transform: translate(-50%, -50%);
& > h2 {
width: 100%;
height: 67px;
line-height: 67px;
padding: 0 20px;
text-align: center;
color: #FFFFFF;
font-size: 24px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
text-shadow: 0px 0px 13px rgb(59 182 255 / 80%);
background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/grid-title-bg.png) no-repeat center;
background-size: 100% 100%;
}
.grid-list {
flex: 1;
overflow-y: auto;
& > div {
height: 67px;
line-height: 67px;
padding: 0 20px;
text-align: center;
color: #FFFFFF;
font-size: 27px;
cursor: pointer;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
transition: all ease 0.5s;
&.grid-active {
background: linear-gradient(270deg, rgba(0,48,124,0) 0%, #00307C 16%, rgba(0,99,255,0.9100) 50%, rgba(0,48,124,0.8200) 87%, rgba(0,48,124,0) 100%);
box-shadow: inset 0px -1px 0px 0px rgba(16,34,54,1);
text-shadow: 0px 3px 5px rgba(0,0,0,0.5000);
}
&:hover {
background: linear-gradient(270deg, rgba(0,48,124,0) 0%, #00307C 16%, rgba(0,99,255,0.9100) 50%, rgba(0,48,124,0.8200) 87%, rgba(0,48,124,0) 100%);
box-shadow: inset 0px -1px 0px 0px rgba(16,34,54,1);
text-shadow: 0px 3px 5px rgba(0,0,0,0.5000);
}
}
}
}
}
}
</style>

View File

@@ -0,0 +1,187 @@
export const pieChart2 = {
legend: {
bottom: 0,
itemGap: 14,
itemWidth: 16,
itemHeight: 5,
textStyle: {color: "#fff", fontSize: 14}
},
grid: {
height: 260
},
xAxis: {show: false},
yAxis: {show: false},
tooltip: {
backgroundColor: "rgba(14, 51, 111, 0.9)",
borderColor: "#1A6ABC",
textStyle: {color: "#fff"}
},
series: {
type: "pie",
minShowLabelAngle: 10,
radius: [70, 81],
itemStyle: {
borderColor: "#fff",
borderWidth: 2
},
label: {
color: "#A8D7F3",
fontSize: 14,
formatter: "{name|{b}}\n{v|{d}%}",
minMargin: 5,
edgeDistance: 10,
lineHeight: 22,
rich: {
v: {
color: "#fff"
}
}
},
labelLine: {},
labelLayout: function (params) {
let points = params.labelLinePoints,
isLeft = points[2][0] < points[1][0]
points[2][0] =
points[2][0] + (params.labelRect.width + 4) * (isLeft ? -1 : 1)
return {
labelLinePoints: points
}
}
},
render: (h, params) => {
const formatNum = num => {
if (num >= 10000000) {
return num / 10000000 + "千万"
}
if (num >= 10000) {
return num / 10000 + "万"
}
return parseFloat(num.toFixed(2))
}
let total = params.data.reduce((t, e) => {
return t + Number(Object.values(e)?.[1] || 0)
}, 0)
return h(
"div",
{
style: {
height: "162px",
width: "162px",
color: "#8BCCFF",
left: "50%",
top: "50%",
display: "flex",
alignItems: "center",
justifyContent: "center",
flexDirection: "column",
position: "absolute",
transform: "translate(-50%,-50%)",
backgroundImage: `url('https://cdn.cunwuyun.cn/dvcp/dv/tpl/pie2Circle.png')`,
backgroundPosition: "center"
}
},
[
h(
"span",
{style: {fontSize: "28px", color: "#fff", fontFamily: "DIN"}},
formatNum(total)
),
h("span", null, "总量")
]
)
}
}
export const barChart1 = {
legend: {
right: 0,
itemHeight: 5,
itemWidth: 16,
textStyle: { color: '#fff' }
},
yAxis: {
nameGap: 23,
minInterval: 1,
splitLine: { lineStyle: { color: 'rgba(255,255,255,.2)', type: 'dashed' } },
axisLabel: { color: '#fff' },
axisPointer: { show: false }
},
axisPointer: {
type: 'shadow',
triggerTooltip: false,
shadowStyle: { color: 'rgba(46, 153, 255, .2)' }
},
color: [
{
type: 'linear',
x: 0,
x2: 0,
y: 0,
y2: 1,
colorStops: [
{ offset: 0, color: 'rgba(66, 187, 255, 1)' },
{ offset: 1, color: 'rgba(37, 143, 255, 0.2)' }
]
},
{
type: 'linear',
x: 0,
x2: 0,
y: 0,
y2: 1,
colorStops: [
{ offset: 0, color: 'rgba(66, 255, 254, 1)' },
{ offset: 1, color: 'rgba(37, 255, 246, 0.2)' }
]
},
{
type: 'linear',
x: 0,
x2: 0,
y: 0,
y2: 1,
colorStops: [
{ offset: 0, color: 'rgba(97, 253, 185, 1)' },
{ offset: 1, color: 'rgba(97, 253, 185, 0.2)' }
]
},
{
type: 'linear',
x: 0,
x2: 0,
y: 0,
y2: 1,
colorStops: [
{ offset: 0, color: 'rgba(253, 108, 57, 1)' },
{ offset: 1, color: 'rgba(253, 108, 57, 0.2)' }
]
},
{
type: 'linear',
x: 0,
x2: 0,
y: 0,
y2: 1,
colorStops: [
{ offset: 0, color: 'rgba(248, 187, 25, 1)' },
{ offset: 1, color: 'rgba(55, 39, 5, 1)' }
]
}
],
daemon: {
type: 'bar',
label: {
show: true,
position: 'top',
color: '#fff',
formatter: e => {
return e.data[e.seriesName] || ''
}
},
barWidth: 16,
barCategoryGap: 40,
itemStyle: {}
}
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,66 @@
<template>
<div class="doc-circulation ailist-wrapper">
<keep-alive :include="['List']">
<component ref="component" :is="component" @change="onChange" :params="params" :instance="instance" :dict="dict"></component>
</keep-alive>
</div>
</template>
<script>
import List from './components/List'
import Add from './components/Add'
export default {
name: 'AppConvenienceAddressBook',
label: '便民通讯录',
props: {
instance: Function,
dict: Object
},
data () {
return {
component: 'List',
params: {},
include: []
}
},
components: {
Add,
List
},
mounted () {
},
methods: {
onChange (data) {
if (data.type === 'Add') {
this.component = 'Add'
this.params = data.params
}
if (data.type === 'list') {
this.component = 'List'
this.params = data.params
this.$nextTick(() => {
if (data.isRefresh) {
this.$refs.component.getList()
}
})
}
}
}
}
</script>
<style lang="scss">
.doc-circulation {
height: 100%;
background: #F3F6F9;
overflow: auto;
}
</style>

View File

@@ -0,0 +1,132 @@
<template>
<ai-detail>
<template slot="title">
<ai-title :title="params.id ? '编辑通讯录' : '添加通讯录'" isShowBack isShowBottomBorder @onBackClick="cancel(false)">
</ai-title>
</template>
<template slot="content">
<ai-card title="基本信息">
<template #content>
<el-form ref="CBookForm" class="ai-form" :model="form" label-width="110px" label-position="right">
<el-form-item label="地区" style="width: 100%;" prop="codeName">
<span style="color: #666;">{{ form.areaName }}</span>
</el-form-item>
<el-form-item style="width: 100%" label="名称" prop="name" :rules="[{ required: true, message: '请输入名称', trigger: 'blur' }]">
<el-input size="small" placeholder="请输入名称" show-word-limit v-model="form.name" :maxlength="30"></el-input>
</el-form-item>
<el-form-item style="width: 100%" label="类型" prop="type" :rules="[{ required: true, message: '请输入类型', trigger: 'change' }]">
<el-input size="small" placeholder="请输入类型" v-model="form.type"></el-input>
</el-form-item>
<el-form-item style="width: 100%" label="电话" prop="phone" :rules="[{required: true, validator: regPhone, trigger: 'blur' }]">
<el-input size="small" placeholder="请输入电话" show-word-limit maxlength="11" v-model="form.phone"></el-input>
</el-form-item>
<el-form-item style="width: 100%;" label="是否公开" prop="isPublic" :rules="[{ required: true, message: '请选择是否公开', trigger: 'change' }]">
<el-radio-group v-model="form.isPublic">
<el-radio label="1"></el-radio>
<el-radio label="0"></el-radio>
</el-radio-group>
</el-form-item>
</el-form>
</template>
</ai-card>
</template>
<template #footer>
<el-button @click="cancel">取消</el-button>
<el-button type="primary" @click="confirm">提交</el-button>
</template>
</ai-detail>
</template>
<script>
export default {
name: 'Add',
props: {
instance: Function,
dict: Object,
params: Object
},
data () {
var regPhone = (rule, value, callback) => {
if (!value) {
return callback(new Error('请输入电话'))
} else {
const reg = /^[0-9]{3,11}$/
if (reg.test(value)) {
callback()
} else {
return callback(new Error('请输入正确的电话号码'))
}
}
}
return {
info: {},
form: {
areaId: '',
name: '',
areaName: '',
phone: '',
isPublic: '1',
type: '',
},
id: '',
regPhone,
}
},
created () {
if (this.params && this.params.areaId && !this.params.id) {
this.form.areaId = this.params.areaId
this.form.areaName = this.params.areaName
}
if (this.params && this.params.id) {
this.id = this.params.id
this.getInfo(this.params.id)
}
},
methods: {
getInfo (id) {
this.instance.post(`/app/appconvenientaddressbook/queryDetailById?id=${id}`).then(res => {
if (res?.data) {
this.form = res.data
}
})
},
onClose () {
this.form.explain = ''
},
confirm () {
this.$refs.CBookForm.validate((valid) => {
if (valid) {
this.instance.post(`/app/appconvenientaddressbook/addOrUpdate`, {
...this.form,
id: this.params.id || ''
}).then(res => {
if (res.code == 0) {
this.$message.success('提交成功')
setTimeout(() => {
this.cancel(true)
}, 600)
}
})
}
})
},
cancel (isRefresh) {
this.$emit('change', {
type: 'list',
isRefresh: !!isRefresh
})
}
}
}
</script>
<style scoped lang="scss">
</style>

View File

@@ -0,0 +1,438 @@
<template>
<ai-list class="villagecode">
<template slot="title">
<ai-title title="便民通讯录" isShowBottomBorder></ai-title>
</template>
<template #left>
<div class="villagecode-left">
<div class="villagecode-left__title">
<h2>地区</h2>
</div>
<div class="addressBook-left__list">
<div class="addressBook-left__list--title">
<el-input
class="addressBook-left__list--search"
size="mini"
clearable
placeholder="请输入地区名称"
v-model="unitName"
suffix-icon="iconfont iconSearch">
</el-input>
</div>
<el-tree
:filter-node-method="filterNode"
ref="tree"
:props="defaultProps"
node-key="id"
:data="areaTree"
highlight-current
:current-node-key="search.areaId"
:default-expanded-keys="defaultExpanded"
:default-checked-keys="defaultChecked"
@current-change="onTreeChange">
</el-tree>
</div>
</div>
</template>
<template slot="content">
<ai-search-bar class="search-bar">
<template #left>
<el-button size="small" type="primary" :disabled="isShowAdd" icon="iconfont iconAdd" @click="toAdd('')">添加
</el-button>
<ai-import :instance="instance" :dict="dict" type="appconvenientaddressbook" name="便民通讯录"
@success="getList()">
<el-button icon="iconfont iconImport">导入</el-button>
</ai-import>
<ai-download :instance="instance" url="/app/appconvenientaddressbook/export" :params="search" fileName="便民通讯录"
:disabled="tableData.length == 0">
<el-button icon="iconfont iconExported" :disabled="tableData.length == 0">导出</el-button>
</ai-download>
</template>
<template slot="right">
<el-input
v-model="search.name"
class="search-input"
size="small"
v-throttle="() => {search.current = 1, getList()}"
placeholder="请输入名称/电话/类型"
clearable
@clear="search.current = 1, search.name = '', getList()"
suffix-icon="iconfont iconSearch">
</el-input>
</template>
</ai-search-bar>
<ai-table
:tableData="tableData"
:col-configs="colConfigs"
:total="total"
style="margin-top: 6px;"
:current.sync="search.current"
:size.sync="search.size"
@getList="getList">
<el-table-column slot="isPublic" label="是否公开" align="center">
<template slot-scope="{ row }">
<el-switch
v-model="row.isPublic"
active-value="1"
@change="e => onChange(row.id, e)"
inactive-value="0">
</el-switch>
</template>
</el-table-column>
<el-table-column slot="options" width="120px" fixed="right" label="操作" align="center">
<template slot-scope="{ row }">
<div class="table-options">
<el-button type="text" @click="toAdd(row.id)">编辑</el-button>
<el-button type="text" @click="remove(row.id)">删除</el-button>
</div>
</template>
</el-table-column>
</ai-table>
</template>
</ai-list>
</template>
<script>
import {mapState} from 'vuex'
export default {
name: 'List',
props: {
instance: Function,
dict: Object
},
data() {
return {
search: {
current: 1,
size: 10,
name: '',
areaId: ''
},
defaultExpanded: [],
defaultChecked: [],
areaTree: [],
defaultProps: {
children: 'children',
label: 'name'
},
currIndex: -1,
total: 10,
colConfigs: [
{prop: 'name', label: '名称', align: 'left'},
{prop: 'type', label: '类型', align: 'center'},
{prop: 'phone', label: '电话', align: 'center'},
{prop: 'createTime', align: 'center', label: '创建时间'},
{slot: 'isPublic', label: '是否公开', align: 'center'}
],
areaName: '',
unitName: '',
tableData: []
}
},
computed: {
...mapState(['user']),
isShowAdd() {
return false
}
},
watch: {
unitName(val) {
this.$refs.tree.filter(val)
}
},
created() {
this.search.areaId = this.user.info.areaId
this.areaName = this.user.info.areaName
this.getTree()
this.getList()
this.$nextTick(() => {
})
},
methods: {
getList() {
this.instance.post(`/app/appconvenientaddressbook/list`, null, {
params: {
...this.search
}
}).then(res => {
if (res.code == 0) {
this.tableData = res.data.records
this.total = res.data.total
}
})
},
onChange(id) {
this.instance.post(`/app/appconvenientaddressbook/enable?id=${id}`).then(res => {
if (res.code == 0) {
this.$message.success('修改成功')
this.getList()
}
})
},
filterNode(value, data) {
if (!value) return true
return data.name.indexOf(value) !== -1
},
onTreeChange(e) {
this.search.areaId = e.id
this.areaName = e.name
this.search.current = 1
this.$nextTick(() => {
this.getList()
})
},
getTree() {
this.instance.post(`/admin/area/queryAllArea?id=${this.user.info.areaId}`).then(res => {
if (res.code === 0) {
let parent = res.data.map(v => {
v.label = v.name
v.children = []
return v
}).filter(e => !e.parentid)[0]
this.defaultExpanded = [parent.id]
this.defaultChecked = [parent.id]
this.search.areaId = parent.id
this.addChild(parent, res.data)
this.areaTree = [parent]
this.$nextTick(() => {
this.$refs.tree.setCurrentKey(parent.id)
})
}
})
},
addChild(parent, list) {
for (let i = 0; i < list.length; i++) {
if (list[i].parentId === parent.id) {
parent.children.push(list[i])
}
}
if (list.length > 0) {
parent['children'].map(v => this.addChild(v, list))
}
},
remove(id) {
this.$confirm('确定删除该数据?').then(() => {
this.instance.post(`/app/appconvenientaddressbook/delete?ids=${id}`).then(res => {
if (res.code == 0) {
this.$message.success('删除成功!')
this.getList()
}
})
})
},
toAdd(id) {
this.$emit('change', {
type: 'Add',
params: {
areaName: this.areaName,
id: id || '',
areaId: this.search.areaId
}
})
}
}
}
</script>
<style lang="scss" scoped>
.villagecode {
.table-tags {
.el-tag {
margin-right: 8px;
&:last-child {
margin-right: 0;
}
}
}
.addressBook-left__list {
height: calc(100% - 40px);
padding: 8px 8px;
overflow: auto;
.addressBook-left__tags--item {
display: flex;
align-items: center;
justify-content: space-between;
height: 40px;
padding: 0 8px 0 16px;
color: #222222;
&.addressBook-left__tags--item-active, &:hover {
background: #E8EFFF;
color: #2266FF;
i, span {
color: #2266FF;
}
}
span {
font-size: 14px;
}
i {
cursor: pointer;
color: #8e9ebf;
font-size: 16px;
}
}
.addressBook-left__list--title {
display: flex;
align-items: center;
margin-bottom: 8px;
.addressBook-left__list--search {
flex: 1;
:deep( input ){
width: 100%;
}
}
.el-button {
width: 84px;
flex-shrink: 1;
margin-right: 8px;
}
}
span {
color: #222222;
font-size: 14px;
}
:deep( .el-tree ){
background: transparent;
.el-tree-node__expand-icon.is-leaf {
color: transparent !important;
}
.el-tree-node__content > .el-tree-node__expand-icon {
padding: 4px;
}
.el-tree-node__content {
height: 32px;
}
.el-tree__empty-text {
color: #222;
font-size: 14px;
}
.el-tree-node__children .el-tree-node__content {
height: 32px;
}
.el-tree-node__content:hover {
background: #E8EFFF;
color: #222222;
border-radius: 2px;
}
.is-current > .el-tree-node__content {
&:hover {
background: #2266FF;
color: #fff;
}
background: #2266FF;
span {
color: #fff;
}
}
}
}
:deep( .ai-list__content--left ){
margin-right: 2px;
}
.villagecode-left {
width: 100%;
height: auto;
background: #FAFAFB;
.villagecode-left__title {
display: flex;
align-items: center;
height: 40px;
padding: 0 16px;
background: #fff;
h2 {
color: #222;
font-size: 14px;
}
}
.villagecode-left__list {
height: calc(100% - 40px);
padding: 8px 0;
overflow: auto;
span {
display: block;
height: 40px;
line-height: 40px;
padding: 0 24px;
color: #222222;
font-size: 14px;
cursor: pointer;
border-right: 2px solid transparent;
background: transparent;
&:hover {
color: #2266FF;
background: #E8EFFF;
}
&.left-active {
color: #2266FF;
border-color: #2266FF;
background: #E8EFFF;
}
}
}
}
:deep( .ai-list__content--right ){
.ai-list__content--right-wrapper {
min-height: 100%;
}
}
}
.message-info__img {
font-size: 0;
width: 144px;
height: 144px;
}
</style>

View File

@@ -0,0 +1,87 @@
<template>
<ai-list class="AppDeviceConfig">
<template slot="title">
<ai-title title="设备配置" :isShowBottomBorder="false" :fullname.sync="areaName" v-model="areaId" :instance="instance" @change="onAreaChange"></ai-title>
</template>
<template slot="tabs">
<el-tabs v-model="currIndex">
<el-tab-pane v-for="(tab,i) in tabs" :key="i" :label="tab.label">
<component :areaId="areaId" :ref="String(i)" v-if="currIndex == i" :is="tab.comp" @change="onChange" lazy :instance="instance" :dict="dict" :permissions="permissions"/>
</el-tab-pane>
</el-tabs>
</template>
</ai-list>
</template>
<script>
import eyeList from './components/eyeList.vue'
import videoList from './components/videoList.vue'
import { mapState } from 'vuex'
export default {
name: 'AppDeviceConfig',
label: '设备配置',
components: {
eyeList,
videoList,
},
props: {
instance: Function,
dict: Object,
permissions: Function
},
computed: {
...mapState(['user']),
tabs () {
const tabList = [
{label: '千里眼', name: 'eyeList', comp: eyeList, permission: ''},
{label: '视联网', name: 'videoList', comp: videoList, permission: ''}
]
return tabList
}
},
data () {
return {
currIndex: '0',
component: 'eyeList',
params: {},
areaId: '',
areaName: ''
}
},
created () {
this.areaId = this.user.info.areaId
},
methods: {
onChange (data) {
this.component = data.type
this.params = data.params
this.$nextTick(() => {
if (data.isRefresh) {
this.$refs.component.getList()
}
})
},
onAreaChange () {
this.$refs[this.currIndex][0].changeArea()
}
}
}
</script>
<style lang="scss" scoped>
.AppDeviceConfig {
height: 100%;
}
</style>

View File

@@ -0,0 +1,237 @@
<template>
<ai-list class="eyeList" isTabs>
<template slot="content">
<ai-search-bar bottomBorder>
<template #left>
<el-button type="primary" icon="iconfont iconAdd" size="small" @click="add('添加设备配置', {})">添加</el-button>
<el-button icon="el-icon-delete" class="delete-btn del-btn-list" :disabled="!ids.length" @click="remove(ids)">删除</el-button>
</template>
<template slot="right">
<el-input
v-model="search.condition"
class="search-input"
size="small"
v-throttle="() => {search.current = 1, getList()}"
placeholder="请输入CorpId"
clearable
@change="getList"
@clear="search.current = 1, search.condition = '', getList()"
suffix-icon="iconfont iconSearch">
</el-input>
</template>
</ai-search-bar>
<ai-table
:tableData="tableData"
:col-configs="colConfigs"
:total="total"
v-loading="loading"
style="margin-top: 16px;"
:current.sync="search.current"
:size.sync="search.size"
@getList="getList"
@selection-change="v=>ids=v.map(e=>e.id)">
<el-table-column slot="options" width="140px" fixed="right" label="操作" align="center">
<template slot-scope="{ row }">
<div class="table-options">
<el-button type="text" @click="add('编辑设备配置', row)">编辑</el-button>
<el-button type="text" @click="refresh(row)">刷新</el-button>
<el-button type="text" @click="remove(row.id)">删除</el-button>
</div>
</template>
</el-table-column>
<el-table-column slot="flag" align="center" label="状态" width="100">
<template v-slot="{ row }">
<el-switch v-model="row.flag" @change="onChange(row)" active-value="1" inactive-value="0"
active-color="#5088FF" inactive-color="#D0D4DC"></el-switch>
</template>
</el-table-column>
</ai-table>
<ai-dialog :title="dialogTitle" :visible.sync="dialog" width="800px" @onConfirm="addForm" @closed="dialogForm={}">
<el-form ref="addForm" :model="dialogForm" :rules="rules" size="small" label-width="160px">
<el-form-item label="CorpId" prop="corpId">
<el-input v-model.trim="dialogForm.corpId" placeholder="请输入..." clearable :maxLength="50"/>
</el-form-item>
<el-form-item required label="状态">
<el-radio-group v-model="dialogForm.flag">
<el-radio :label="0">关闭</el-radio>
<el-radio :label="1">开启</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="AppId">
<el-input v-model.trim="dialogForm.appId" placeholder="请输入..." clearable :maxLength="50" />
</el-form-item>
<el-form-item label="RSA">
<el-input v-model.trim="dialogForm.rsa" placeholder="请输入..." clearable :maxLength="5000" type="textarea" :rows="5"/>
</el-form-item>
<el-form-item label="SECRET">
<el-input v-model.trim="dialogForm.secret" placeholder="请输入..." clearable :maxLength="50" />
</el-form-item>
<el-form-item label="TOKEN">
<el-input v-model.trim="dialogForm.token" placeholder="请输入..." clearable :maxLength="200" type="textarea" :rows="2"/>
</el-form-item>
<el-form-item label="结点ids">
<el-input v-model.trim="dialogForm.orgIds" placeholder="请输入..." clearable :maxLength="50" />
</el-form-item>
<el-form-item label="版本号">
<el-input v-model.trim="dialogForm.version" placeholder="请输入..." clearable :maxLength="50" />
</el-form-item>
<el-form-item label="大喇叭账号">
<el-input v-model.trim="dialogForm.dlbName" placeholder="请输入..." clearable :maxLength="50" />
</el-form-item>
<el-form-item label="大喇叭密码">
<el-input v-model.trim="dialogForm.dlbPwd" placeholder="请输入..." clearable :maxLength="50" />
</el-form-item>
<el-form-item label="大喇叭Token">
<el-input v-model.trim="dialogForm.dlbToken" placeholder="请输入..." clearable :maxLength="50" />
</el-form-item>
</el-form>
</ai-dialog>
</template>
</ai-list>
</template>
<script>
import { mapState } from 'vuex'
export default {
name: 'eyeList',
props: {
instance: Function,
dict: Object,
areaId: String
},
data () {
return {
search: {
current: 1,
condition: '',
size: 10,
},
ids: [],
tableData: [],
total: 0,
loading: false,
dialog: false,
dialogTitle: '',
dialogForm: {}
}
},
computed: {
...mapState(['user']),
param () {
return this.search
},
rules() {
return {
corpId: [{required: true, message: "请输入CorpId"}],
}
},
colConfigs() {
return [
{type: "selection"},
{ prop: 'corpId', label: 'CorpId', fixed: 'left', width: 220 },
{ slot: 'flag', align: 'center', label: '状态', fixed: 'left', width: 120 },
{ prop: 'appId', align: 'center', label: 'AppId', width: 240 },
{ prop: 'rsa', align: 'center', label: 'RSA', width: 240 },
{ prop: 'secret', align: 'center', label: 'SECRET', width: 180 },
{ prop: 'token', align: 'center', label: 'TOKEN', width: 120 },
{ prop: 'orgIds', align: 'center', label: '结点ids', width: 120 },
{ prop: 'version', align: 'center', label: '版本号', width: 120 },
{ prop: 'dlbName', align: 'center', label: '大喇叭账号', width: 140 },
{ prop: 'dlbPwd', align: 'center', label: '大喇叭密码', width: 140 },
{ prop: 'dlbToken', align: 'center', label: '大喇叭Token', width: 180 },
{ prop: 'createTime', align: 'center', label: '创建时间', fixed: 'right', width: 180 },
{ slot: 'options'},
]
}
},
created () {
this.getList()
},
methods: {
getListInit() {
this.search.current = 1
this.getList()
},
getList () {
this.instance.post(`/app/appzyaccountconfig/list`, null, {
params: {
...this.search,
type: 0
}
}).then(res => {
if (res.code == 0) {
this.tableData = res.data.records
this.total = res.data.total
this.loading = false
} else {
this.loading = false
}
}).catch(() => {
this.loading = false
})
},
remove(id) {
this.$confirm('确定删除该数据?').then(() => {
this.instance.post(`/app/appzyaccountconfig/delete?ids=${id}`).then(res => {
if (res.code == 0) {
this.$message.success('删除成功!')
this.getList()
}
})
})
},
add(title, item) {
this.dialog = true
this.dialogTitle = title
this.dialogForm = item
if(title == '添加设备配置') {
this.dialogForm.flag = 1
this.dialogForm.version = '1.0.0'
}
},
addForm() {
this.$refs.addForm.validate((valid) => {
if (valid) {
this.dialogForm.type = 0
this.instance.post(`/app/appzyaccountconfig/addOrUpdate`, this.dialogForm).then((res) => {
if (res.code == 0) {
this.$message.success(`${this.dialogForm.id ? '编辑成功' : '添加成功'}`)
this.getListInit()
this.dialog = false;
}
});
} else {
return false;
}
});
},
refresh(row) {
this.$confirm('确定刷新该数据token').then(() => {
this.instance.post(`/app/appzyaccountconfig/initQlyToken?id=${row.id}`).then(res => {
if (res.code == 0) {
this.$message.success('刷新成功!')
this.getList()
}
})
})
},
onChange(row) {
this.instance.post(`/app/appzyaccountconfig/setFlag`, null, {
params: {
id: row.id,
flag: row.flag
}
}).then((res) => {
if (res.code == 0) {
this.$message.success(+row.flag ? '已启用' : '已禁用');
this.getList();
}
})
},
}
}
</script>

View File

@@ -0,0 +1,224 @@
<template>
<ai-list class="videoList" isTabs>
<template slot="content">
<ai-search-bar bottomBorder>
<template #left>
<el-button type="primary" icon="iconfont iconAdd" size="small" @click="add('添加设备配置', {})">添加</el-button>
<el-button icon="el-icon-delete" class="delete-btn del-btn-list" :disabled="!Boolean(ids.length)" @click="remove(ids)">删除</el-button>
</template>
<template #right>
<el-input
v-model="search.condition"
class="search-input"
size="small"
v-throttle="() => {search.current = 1, getList()}"
placeholder="请输入CorpId"
clearable
@change="getList"
@clear="search.current = 1, search.condition = '', getList()"
suffix-icon="iconfont iconSearch">
</el-input>
</template>
</ai-search-bar>
<ai-table
:tableData="tableData"
:col-configs="colConfigs"
:total="total"
v-loading="loading"
style="margin-top: 16px;"
:current.sync="search.current"
:size.sync="search.size"
@getList="getList"
@selection-change="v=>ids=v.map(e=>e.id)">
<el-table-column slot="options" width="140px" fixed="right" label="操作" align="center">
<template slot-scope="{ row }">
<div class="table-options">
<el-button type="text" @click="add('编辑设备配置', row)">编辑</el-button>
<el-button type="text" @click="refresh(row)">刷新</el-button>
<el-button type="text" @click="remove(row.id)">删除</el-button>
</div>
</template>
</el-table-column>
<el-table-column slot="flag" align="center" label="状态" width="100">
<template v-slot="{ row }">
<el-switch v-model="row.flag" @change="onChange(row)" active-value="1" inactive-value="0"
active-color="#5088FF" inactive-color="#D0D4DC"></el-switch>
</template>
</el-table-column>
</ai-table>
<ai-dialog :title="dialogTitle" :visible.sync="dialog" width="800px" @onConfirm="addForm" @closed="dialogForm={}">
<el-form ref="addForm" :model="dialogForm" :rules="rules" size="small" label-width="160px">
<el-form-item label="CorpId" prop="corpId">
<el-input v-model.trim="dialogForm.corpId" placeholder="请输入..." clearable :maxLength="50"/>
</el-form-item>
<el-form-item required label="状态">
<el-radio-group v-model="dialogForm.flag">
<el-radio :label="0">关闭</el-radio>
<el-radio :label="1">开启</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="用户ID">
<el-input v-model.trim="dialogForm.slwUserId" placeholder="请输入..." clearable :maxLength="50" />
</el-form-item>
<el-form-item label="地区编码">
<el-input v-model.trim="dialogForm.slwAreaId" placeholder="请输入..." clearable :maxLength="50" />
</el-form-item>
<el-form-item label="TOKEN">
<el-input v-model.trim="dialogForm.slwToken" placeholder="请输入..." clearable :maxLength="50" />
</el-form-item>
<el-form-item label="大喇叭账号">
<el-input v-model.trim="dialogForm.dlbName" placeholder="请输入..." clearable :maxLength="50" />
</el-form-item>
<el-form-item label="大喇叭密码">
<el-input v-model.trim="dialogForm.dlbPwd" placeholder="请输入..." clearable :maxLength="50" />
</el-form-item>
<el-form-item label="大喇叭Token">
<el-input v-model.trim="dialogForm.dlbToken" placeholder="请输入..." clearable :maxLength="50" />
</el-form-item>
</el-form>
</ai-dialog>
</template>
</ai-list>
</template>
<script>
import { mapState } from 'vuex'
export default {
name: 'eyeList',
props: {
instance: Function,
dict: Object,
areaId: String
},
data () {
return {
search: {
current: 1,
condition: '',
size: 10,
},
ids: [],
tableData: [],
total: 0,
loading: false,
dialog: false,
dialogTitle: '',
dialogForm: {}
}
},
computed: {
...mapState(['user']),
param () {
return this.search
},
rules() {
return {
corpId: [{required: true, message: "请输入CorpId"}],
}
},
colConfigs() {
return [
{type: "selection"},
{ prop: 'corpId', label: 'CorpId', fixed: 'left', width: 220 },
{ slot: 'flag', align: 'center', label: '状态', fixed: 'left', width: 120 },
{ prop: 'slwUserId', align: 'center', label: '用户ID', width: 180 },
{ prop: 'slwAreaId', align: 'center', label: '地区编码', width: 180 },
{ prop: 'slwToken', align: 'center', label: 'TOKEN', width: 220 },
{ prop: 'dlbName', align: 'center', label: '大喇叭账号', width: 140 },
{ prop: 'dlbPwd', align: 'center', label: '大喇叭密码', width: 140 },
{ prop: 'dlbToken', align: 'center', label: '大喇叭Token', width: 180 },
{ prop: 'createTime', align: 'center', label: '创建时间', width: 180 },
{ slot: 'options'},
]
}
},
created () {
this.getList()
},
methods: {
getListInit() {
this.search.current = 1
this.getList()
},
getList () {
this.instance.post(`/app/appzyaccountconfig/list`, null, {
params: {
...this.search,
type: 1
}
}).then(res => {
if (res.code == 0) {
this.tableData = res.data.records
this.total = res.data.total
this.loading = false
} else {
this.loading = false
}
}).catch(() => {
this.loading = false
})
},
remove(id) {
this.$confirm('确定删除该数据?').then(() => {
this.instance.post(`/app/appzyaccountconfig/delete?ids=${id}`).then(res => {
if (res.code == 0) {
this.$message.success('删除成功!')
this.getList()
}
})
})
},
add(title, item) {
this.dialog = true
this.dialogTitle = title
this.dialogForm = item
if(title == '添加设备配置') {
this.dialogForm.flag = 1
}
},
addForm() {
this.$refs.addForm.validate((valid) => {
if (valid) {
this.dialogForm.type = 1
this.instance.post(`/app/appzyaccountconfig/addOrUpdate`, this.dialogForm).then((res) => {
if (res.code == 0) {
this.$message.success(`${this.dialogForm.id ? '编辑成功' : '添加成功'}`)
this.getListInit()
this.dialog = false;
}
});
} else {
return false;
}
});
},
refresh(row) {
this.$confirm('确定刷新该数据token').then(() => {
this.instance.post(`/app/appzyaccountconfig/initSlwToken?id=${row.id}`).then(res => {
if (res.code == 0) {
this.$message.success('刷新成功!')
this.getList()
}
})
})
},
onChange(row) {
this.instance.post(`/app/appzyaccountconfig/setFlag`, null, {
params: {
id: row.id,
flag: row.flag
}
}).then((res) => {
if (res.code == 0) {
this.$message.success(+row.flag ? '已启用' : '已禁用');
this.getList();
}
})
}
}
}
</script>

View File

@@ -0,0 +1,55 @@
<template>
<section class="AppEventReporting">
<component ref="component" :is="currentPage" @change="onChange" :params="params" :instance="instance" :dict="dict" :menuName="menuName" />
</section>
</template>
<script>
import List from './components/List'
import Detail from './components/Detail'
import Setting from './components/Setting'
export default {
name: 'AppEventReporting',
label: '巡查上报',
props: {
instance: Function,
dict: Object,
menuName: {default: '巡查上报'}
},
data() {
return {
component: 'List',
params: {}
}
},
computed: {
currentPage() {
let {hash, query: {id}} = this.$route
return hash == "#Setting" ? Setting :
!!id ? Detail : List
}
},
components: {
List,
Detail,
Setting
},
methods: {
onChange(data) {
this.$router.push({query: data.params, hash: data.type == "Setting" ? "#Setting" : ""})
}
}
}
</script>
<style lang="scss">
.AppEventReporting {
height: 100%;
background: #F3F6F9;
overflow: auto;
}
</style>

View File

@@ -0,0 +1,592 @@
<template>
<ai-detail class="reportAtWillDetail" v-loading="isLoading">
<template #title>
<ai-title title="详情" isShowBack isShowBottomBorder @onBackClick="cancel(false)">
<template #rightBtn>
<div class="title-btns">
<el-button type="primary" icon="iconfont iconPerson_Transfered" @click="isShowForward = true" v-if="detail.powerTransmit">指派事件</el-button>
<el-button type="primary" icon="iconfont iconRegister" @click="isShowAdd = true" v-if="detail.powerHandle">处理事件</el-button>
</div>
</template>
</ai-title>
</template>
<template #content>
<div class="detail-content__wrapper">
<div class="detail-content__wrapper--left">
<ai-card title="基础信息">
<template #content>
<ai-wrapper>
<ai-info-item label="上报人员" :value="detail.name"></ai-info-item>
<ai-info-item label="当前状态" :value="dict.getLabel('clapEventStatus', detail.eventStatus)"></ai-info-item>
<ai-info-item label="联系方式">{{ detail.phone }}</ai-info-item>
<ai-info-item label="上报时间">{{ detail.createTime }}</ai-info-item>
<ai-info-item label="事件来源">{{ dict.getLabel('residentEventSource', detail.eventSource) }}</ai-info-item>
<ai-info-item label="事件类型">{{ detail.groupName }}</ai-info-item>
<ai-info-item label="事件描述" isLine>{{ detail.content }}</ai-info-item>
<ai-info-item label="现场照片" isLine>
<ai-uploader :instance="instance" disabled v-model="detail.files"></ai-uploader>
</ai-info-item>
<ai-info-item label="所属网格">{{ detail.girdName }}</ai-info-item>
<ai-info-item label="事件位置" isLine>
<div id="map" style="width: 500px; height: 280px;"></div>
</ai-info-item>
</ai-wrapper>
</template>
</ai-card>
<ai-evaluation v-if="!!detail.id" :bid="detail.id" :info.sync="evaluation"/>
</div>
<div class="rightZone">
<ai-card title="办理进度">
<template #content>
<el-steps direction="vertical" :active="1">
<el-step
v-for="(item, i) in process"
:key="i"
:title="item.systemExplain"
:description="item.doTime">
<template #title>
<h2 class="step-title" style="font-weight: 500; font-size: 14px;">
{{ item.systemExplain }}
</h2>
</template>
<template #description>
<p style="color: #888; margin: 0 4px 10px 0; font-size: 14px;">{{ item.doTime }}</p>
<div style="color: #444;margin-bottom: 10px;" v-if="item.doExplain">{{ item.doExplain }}</div>
<ai-uploader :instance="instance" disabled v-model="item.files"></ai-uploader>
</template>
</el-step>
</el-steps>
</template>
</ai-card>
</div>
</div>
<ai-dialog
:visible.sync="isShowAdd"
width="800px"
title="事件处理"
@closed="onClose"
@onConfirm="handleEvent">
<el-form class="ai-form" label-width="120px" :model="form" ref="form">
<el-form-item label="事件分类" prop="groupId" style="width: 100%;" :rules="[{ required: true, message: '请选择事件分类' }]">
<ai-select
v-model="form.groupId"
placeholder="请选择事件分类"
:selectList="dictList">
</ai-select>
</el-form-item>
<el-form-item label="处理结果" prop="eventStatus" style="width: 100%;" :rules="[{ required: true, message: '请选择处理结果' }]">
<el-radio-group v-model="form.eventStatus">
<el-radio label="1">已办结</el-radio>
<el-radio label="0">已拒绝</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="处理意见" prop="content" style="width: 100%;" :rules="[{ required: true, message: '请输入处理意见' }]">
<el-input type="textarea" :rows="5" :maxlength="500" v-model="form.content" clearable placeholder="请输入处理意见" show-word-limit></el-input>
</el-form-item>
<el-form-item label="图片" prop="files" style="width: 100%;">
<ai-uploader
:instance="instance"
isShowTip
v-model="form.files"
:limit="9">
</ai-uploader>
</el-form-item>
</el-form>
</ai-dialog>
<ai-dialog
:visible.sync="isShowForward"
width="800px"
@close="onClose"
title="事件指派"
@onConfirm="onForwardConfirm">
<el-form class="ai-form" label-width="120px" :model="forwardForm" ref="forwardForm">
<el-form-item label="转交" prop="name" style="width: 100%;" :rules="[{ required: true, message: '请选择网格员或网格' }]">
<el-input disabled size="small" v-model="forwardForm.name" clearable placeholder="请选择网格员或网格">
<template slot="append">
<el-button @click="getGirdList().then(()=>isShowUser=true )">选择</el-button>
</template>
</el-input>
</el-form-item>
<el-form-item label="办理意见" prop="content" style="width: 100%;" :rules="[{ required: true, message: '请输入办理意见' }]">
<el-input type="textarea" :rows="5" :maxlength="500" v-model="forwardForm.content" clearable placeholder="请输入办理意见" show-word-limit></el-input>
</el-form-item>
<el-form-item label="图片" prop="files" style="width: 100%;">
<ai-uploader
:instance="instance"
v-model="forwardForm.files"
isShowTip
:limit="9">
</ai-uploader>
</el-form-item>
</el-form>
</ai-dialog>
<ai-dialog
:visible.sync="isShowUser"
width="800px"
title="选择网格员"
@onConfirm="onConfirm">
<div class="grid-wrapper">
<el-input
style="margin-bottom: 10px;"
size="small"
placeholder="请输入网格名称/网格员姓名/网格员电话"
v-model="name" @change="$refs.tree.filter(name)"
suffix-icon="iconfont iconSearch">
</el-input>
<el-tree
:filter-node-method="filterNode"
ref="tree"
:props="defaultProps"
node-key="id"
:data="tree"
highlight-current
@current-change="onTreeChange">
<div class="tree-container" slot-scope="{ data }">
<div class="tree-container__user">
<div class="tree-user__item">
<span v-if="!data.isUser">{{ data.girdName }}</span>
<span v-else>{{data.name}}<span v-if="data.phone">-{{data.phone}}</span></span>
</div>
</div>
</div>
</el-tree>
</div>
</ai-dialog>
</template>
</ai-detail>
</template>
<script>
import AMapLoader from '@amap/amap-jsapi-loader'
import {mapState} from 'vuex'
export default {
name: 'Detail',
props: ['dict', 'instance'],
data() {
return {
forwardForm: {
content: '',
girdId: '',
girdName: '',
girdMemberId: '',
girdMemberName: '',
name: ''
},
isLoading: true,
name: '',
detail: {},
isShowUser: false,
eventList: [],
isShowAdd: false,
userList: [],
processList: [],
dictList: [],
defaultProps: {
label: 'girdName'
},
isShowForward: false,
tree: [],
gridInfo: {},
form: {
files: [],
groupId: '',
groupName: '',
content: [],
eventStatus: '1'
},
evaluation: {}
}
},
computed: {
...mapState(['user']),
process: v => [v.evaluation.id ? {
systemExplain: `${v.evaluation.createUserName}完成评价 (${v.evaluation.score}星评价)`,
doTime: v.evaluation.createTime,
doExplain: v.evaluation.rateText,
} : null, v.processList].flat().filter(Boolean)
},
created() {
this.getDict()
this.dict.load('clapEventStatus', 'residentEventSource').then(() => {
this.getDetail()
})
},
methods: {
getDetail() {
this.instance.post('/app/apppatrolreportinfov2/queryDetailById', null, {
params: {id: this.$route.query.id}
}).then(res => {
if (res?.data) {
this.detail = res.data
this.processList = res.data.processList
this.form.groupId = res.data.groupId
this.$nextTick(() => {
this.initMap()
})
this.isLoading = false
}
}).catch(() => {
this.isLoading = false
})
},
getGirdList() {
return this.instance.post(`/app/apppatrolreportinfov2/listGirdInfoByTransfer?id=${this.$route.query.id}`).then(res => {
if (res?.data) {
// return this.tree = this.formatList([res.data])
this.tree = res.data
this.tree.map((item) => {
item.children = [item.girdMemberList?.map(e => ({
...e, isUser: true, girdName: item.girdName
})) || []].flat()
})
}
})
},
onClose() {
this.form.files = []
this.form.groupId = ''
this.form.groupName = ''
this.form.content = ''
this.form.eventStatus = ''
this.forwardForm.content = ''
this.forwardForm.girdId = ''
this.forwardForm.girdName = ''
this.forwardForm.girdMemberId = ''
this.forwardForm.girdMemberName = ''
this.forwardForm.name = ''
this.forwardForm.files = []
},
formatList(list) {
for (let item of list) {
item.children = [item.girdList, item.girdMemberList?.map(e => ({
...e, isUser: true, girdName: item.girdName,
girdId: item.id
})) || []].flat()
if (item.girdList?.length > 0) {
this.formatList(item.girdList)
}
}
return list
},
filterNode(value, data) {
if (!value) return true
return (data.girdName && data.girdName.indexOf(value) !== -1) || (data.name && data.name.indexOf(value) !== -1) || (data.name && data.phone.indexOf(value) !== -1)
},
onTreeChange(e) {
this.gridInfo = e
},
onForwardConfirm() {
this.$refs.forwardForm.validate(v => {
if (v) {
this.instance.post('/app/apppatrolreportinfov2/transfer', {
...this.forwardForm,
id: this.$route.query.id
}).then(res => {
if (res?.code == 0) {
this.isShowForward = false
this.onClose()
this.getDetail()
this.$message.success('转交成功!')
}
})
}
})
},
onConfirm() {
// if (this.gridInfo.userId) {
// this.forwardForm.girdId = this.gridInfo.girdId
// this.forwardForm.girdName = this.gridInfo.girdName
// this.forwardForm.girdMemberId = this.gridInfo.id
// this.forwardForm.girdMemberName = this.gridInfo.name
// } else {
// this.forwardForm.girdId = this.gridInfo.id
// }
// this.forwardForm.girdName = this.gridInfo.girdName
// this.forwardForm.name = `${this.gridInfo.girdName}${this.gridInfo.name ? '-' + this.gridInfo.name : ''}`
// this.isShowUser = false
if(!this.gridInfo.userId) {
return this.$message.error('请选择网格员!')
}
this.forwardForm.girdId = this.gridInfo.girdId
this.forwardForm.girdName = this.gridInfo.girdName
this.forwardForm.girdMemberId = this.gridInfo.id
this.forwardForm.girdMemberName = this.gridInfo.name
this.forwardForm.name = `${this.gridInfo.girdName}${this.gridInfo.name ? '-' + this.gridInfo.name : ''}`
this.isShowUser = false
},
getDict() {
this.instance.post(`/app/apppatrolreportgroupv2/list?current=1&size=100000`).then(res => {
if (res.code == 0) {
this.dictList = res.data.records.map(v => {
return {
dictValue: v.id,
dictName: v.groupName
}
})
}
})
},
close() {
this.$confirm('确定关闭该事件?').then(() => {
this.instance.post(`/app/apppatrolreportinfov2/delete?ids=${this.$route.query.id}`).then(res => {
if (res.code == 0) {
this.$message.success('删除成功!')
this.getList()
}
})
})
},
cancel(isRefresh) {
this.$emit('change', {
type: 'list',
isRefresh: !!isRefresh
})
},
initMap() {
let {lng, lat} = this.detail
let center = [lng, lat]
AMapLoader.load({
key: 'b553334ba34f7ac3cd09df9bc8b539dc',
version: '2.0'
}).then(AMap => {
let map = new AMap.Map('map', {
center,
zoom: 14
})
let marker = new AMap.Marker({
position: new AMap.LngLat(lng, lat),
title: this.detail.address
})
map.add(marker)
})
},
handleEvent() {
this.$refs.form.validate(v => {
if (v) {
this.instance.post('/app/apppatrolreportinfov2/finish', {
...this.form,
groupName: this.dictList.filter(v => v.dictValue === this.form.groupId)[0].dictName,
id: this.$route.query.id
}).then(res => {
if (res?.code == 0) {
this.isShowAdd = false
this.getDetail()
this.$message.success('处理成功!')
}
})
}
})
}
}
}
</script>
<style lang="scss" scoped>
.reportAtWillDetail {
height: 100%;
.grid-wrapper {
min-height: 360px;
}
.title-btns {
display: flex;
align-items: center;
}
:deep( .el-tree ) {
background: transparent;
.el-tree-node__expand-icon.is-leaf {
color: transparent !important;
}
.el-tree-node__content > .el-tree-node__expand-icon {
padding: 4px;
}
.el-tree-node__content {
height: 32px;
}
.el-tree__empty-text {
color: #222;
font-size: 14px;
}
.el-tree-node__children .el-tree-node__content {
height: 32px;
}
.el-tree-node__content:hover {
background: #E8EFFF;
color: #222222;
border-radius: 2px;
}
.is-current > .el-tree-node__content {
&:hover {
background: #2266FF;
color: #fff;
}
background: #2266FF;
span {
color: #fff;
}
}
}
.el-steps {
:deep( .el-step__icon ) {
font-size: 12px;
color: #555555;
border-color: #d0d4dc;
}
:deep( .el-step__head.is-finish ) {
.el-step__icon.is-text {
border: none;
color: #fff;
font-size: 12px;
background: #2266ff;
}
}
:deep( .el-step__line ) {
background-color: #d0d4dc;
}
}
.imgs {
font-size: 0;
img {
width: 108px;
height: 108px;
margin-right: 4px;
margin-bottom: 4px;
cursor: pointer;
user-select: none;
&:hover {
opacity: 0.8;
}
&:nth-of-type(2n) {
margin-right: 0;
}
}
}
:deep( .report-dialog ) {
.el-select {
width: 100%;
}
}
:deep( .el-step__head.is-process ) {
color: #555;
border-color: #555;
}
:deep( .is-finish h2 ) {
color: #2266ff;
}
.step-title {
color: #555;
}
.detail-content__wrapper {
display: flex;
width: 100%;
flex-wrap: wrap;
.detail-content__wrapper--left {
flex: 1;
margin-right: 20px;
}
}
:deep( .ai-detail__content ) {
background: #f3f6f9;
.ai-detail__content--wrapper {
display: flex;
gap: 16px;
width: 100%;
max-width: 100%;
padding: 16px;
box-sizing: border-box;
& > .el-card {
flex: 1;
min-width: 0;
}
.rightZone {
width: 400px;
flex-shrink: 0;
display: flex;
flex-direction: column;
gap: 16px;
}
}
}
:deep( .el-card ) {
.el-card__header {
padding: 12px 16px;
font-weight: bold;
}
.el-card__body {
padding: 8px;
}
#amap {
width: 466px;
height: 232px;
}
.el-steps {
margin-left: 8px;
}
.imgFormItem > .el-form-item__content {
display: flex;
gap: 16px;
flex-wrap: wrap;
&:before {
content: none;
}
.el-image__inner {
width: 82px;
height: 82px;
}
}
}
}
</style>

View File

@@ -0,0 +1,249 @@
<template>
<ai-list>
<template #title>
<ai-title :title="menuName" isShowBottomBorder>
<el-button type="primary" slot="rightBtn" @click="toSetting">事件类型设置</el-button>
</ai-title>
</template>
<template #content>
<ai-search-bar>
<template #left>
<ai-select
v-model="search.eventStatus"
clearable
placeholder="处理状态"
:selectList="dict.getDict('clapEventStatus')"
@change="search.current = 1, getList()">
</ai-select>
<ai-select
v-model="search.eventSource"
clearable
placeholder="事件来源"
:selectList="dict.getDict('residentEventSource')"
@change="search.current = 1, getList()">
</ai-select>
<ai-select
v-model="search.groupId"
clearable
placeholder="事件类型"
:selectList="typeList"
@change="search.current = 1, getList()">
</ai-select>
<el-cascader ref="cascader1" v-model="girdArr" :options="girdOptions" placeholder="所属网格" size="small"
:props="defaultProps" :show-all-levels="false" @change="gridChange" clearable></el-cascader>
<el-date-picker size="small" v-model="searchDotime" type="daterange" range-separator="至" @change="timeChange"
start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd" format="yyyy-MM-dd"></el-date-picker>
</template>
<template #right>
<ai-download :instance="instance" url="/app/apppatrolreportinfov2/export" :params="search" fileName="巡查上报"
:disabled="tableData.length == 0">
<el-button icon="iconfont iconExported" :disabled="tableData.length == 0">导出</el-button>
</ai-download>
<el-input
v-model="search.content"
class="search-input"
size="small"
v-throttle="() => {search.current = 1, getList()}"
placeholder="请输入内容描述/上报人员/联系方式"
clearable
@change="getList"
@clear="search.current = 1, search.content = '', getList()"
suffix-icon="iconfont iconSearch">
</el-input>
</template>
</ai-search-bar>
<ai-table :tableData="tableData" :colConfigs="colConfigs" :total="total" :current.sync="search.current" :size.sync="search.size" @getList="getList">
<el-table-column slot="options" label="操作" fixed="right" width="120" align="center">
<div class="table-options" slot-scope="{row}">
<el-button type="text" title="详情" @click="toDetail(row.id)">详情</el-button>
<el-button type="text" title="删除" @click="handleDelete(row.id)">删除</el-button>
</div>
</el-table-column>
</ai-table>
</template>
</ai-list>
</template>
<script>
import {mapState} from 'vuex'
export default {
name: 'List',
label: "巡查上报",
props: {
instance: Function,
dict: Object,
menuName: String
},
data() {
return {
userList: [],
search: {
current: 1,
size: 10,
eventStatus: '',
content: '',
eventSource: '',
groupId: '',
createTimeStart: '',
createTimeEnd: '',
girdId: ''
},
total: 0,
tableData: [],
content: '',
id: '',
girdId: '',
girdArr: [],
girdOptions: [],
defaultProps: {
label: 'girdName',
value: 'id',
children: 'children',
checkStrictly: true,
},
searchDotime: [],
typeList: []
}
},
computed: {
...mapState(['user']),
colConfigs() {
return [
{prop: 'content', label: '内容描述', width: '300px'},
{prop: 'eventSource', label: '事件来源', align: 'center', dict: 'residentEventSource'},
{prop: 'groupName', label: '事件类型', align: 'center'},
{prop: 'girdName', label: '所属网格', align: 'center'},
{prop: 'createTime', label: '上报时间', align: 'center'},
{prop: 'name', label: '上报人员', align: 'center'},
{prop: 'phone', label: '联系方式', align: 'center'},
{prop: 'eventStatus', label: '处理状态', align: 'center', format: v => this.dict.getLabel('clapEventStatus', v)},
{prop: 'processTime', label: '处理时长', align: 'center'},
{slot: 'options'}
]
},
handleStatusOps() {
return this.dict.getDict("reportAtWillHandleStatus").map(e => ({label: e.dictName, value: e.dictValue}))
}
},
created() {
this.dict.load('clapEventStatus', 'residentEventSource').then(() => {
this.getList()
this.getGridList()
this.getTypeList()
})
},
methods: {
timeChange() {
if (this.searchDotime) {
this.search.createTimeStart = this.searchDotime[0]
this.search.createTimeEnd = this.searchDotime[1]
} else {
this.search.createTimeStart = null
this.search.createTimeEnd = null
}
this.search.current = 1
this.getList()
},
// 所有网格
getGridList() {
this.instance.post(`/app/appgirdinfo/listAll3`).then((res) => {
if (res?.code == 0) {
this.girdOptions = this.toTree(res.data)
}
})
},
// 转树形结构
toTree(data) {
let result = [];
if (!Array.isArray(data)) {
return result
}
let map = {};
data.forEach(item => {
map[item.id] = item;
});
data.forEach(item => {
let parent = map[item.parentGirdId];
if (parent) {
(parent.children || (parent.children = [])).push(item);
} else {
result.push(item);
}
});
return result;
},
gridChange(val) {
this.girdArr = val
this.search.girdId = val?.[val.length - 1]
this.$refs.cascader1.dropDownVisible = false;
this.search.current = 1
this.getList()
},
getList() {
this.instance.post(`/app/apppatrolreportinfov2/list`, null, {
params: {
...this.search
}
}).then(res => {
if (res.code == 0) {
this.tableData = res.data.records
this.total = res.data.total
}
})
},
toDetail(id) {
this.$emit('change', {
type: 'Detail',
params: {
id: id || ''
}
})
},
toSetting() {
this.$emit('change', {
type: 'Setting',
params: {
id: ''
}
})
},
handleDelete(ids) {
this.$confirm("是否要进行删除?").then(() => {
this.instance.post("/app/apppatrolreportinfov2/delete", null, {
params: {ids}
}).then(res => {
if (res?.code == 0) {
this.$message.success("删除成功!")
this.getList()
}
})
}).catch(() => 0)
},
getTypeList() {
this.instance.post(`/app/apppatrolreportgroupv2/list?size=10000`).then(res => {
if (res.code == 0) {
res.data.records.map((item) => {
item.dictName = item.groupName
item.dictValue = item.id
})
this.typeList = res.data.records
}
})
}
},
}
</script>
<style lang="scss" scoped>
</style>

View File

@@ -0,0 +1,178 @@
<template>
<ai-list class="notice">
<template slot="title">
<ai-title isShowBack isShowBottomBorder title="事件类型" @onBackClick="cancel(false)"></ai-title>
</template>
<template slot="content">
<ai-search-bar class="search-bar">
<template #left>
<el-button size="small" type="primary" icon="iconfont iconAdd" @click="isShowAdd = true">添加事件类型</el-button>
</template>
<template slot="right">
<el-input
v-model="search.groupName"
class="search-input"
size="small"
v-throttle="() => {search.current = 1, getList()}"
placeholder="请输入事件类型名称"
clearable
@change="getList"
@clear="search.current = 1, search.groupName = '', getList()"
suffix-icon="iconfont iconSearch">
</el-input>
</template>
</ai-search-bar>
<ai-table
:tableData="tableData"
:col-configs="colConfigs"
:total="total"
style="margin-top: 6px;"
:current.sync="search.current"
:size.sync="search.size"
@getList="getList">
<el-table-column slot="tags" label="标签">
<template slot-scope="{ row }">
<div class="table-tags">
<el-tag type="info" v-for="(item, index) in row.tags" size="small" :key="index">{{ item }}</el-tag>
</div>
</template>
</el-table-column>
<el-table-column slot="options" width="120px" fixed="right" label="操作" align="center">
<div class="table-options" slot-scope="{ row }">
<el-button type="text" @click="edit(row)">编辑</el-button>
<el-button type="text" @click="remove(row.id)">删除</el-button>
</div>
</el-table-column>
</ai-table>
<ai-dialog
:visible.sync="isShowAdd"
width="780px"
height="580px"
:title="id ? '编辑事件类型' : '添加事件类型'"
@close="onClose"
@onConfirm="onConfirm">
<el-form ref="form" class="ai-form" :model="form" label-width="110px" label-position="right">
<el-form-item label="事件类型" prop="groupName" style="width: 100%;" :rules="[{ required: true, message: '请输入事件类型名称', trigger: 'blur' }]">
<el-input size="small" :maxlength="10" show-word-limit placeholder="请输入事件类型名称" v-model="form.groupName"></el-input>
</el-form-item>
<el-form-item label="排序" prop="showIndex" style="width: 100%;" :rules="[{ required: true, message: '请输入排序', trigger: 'blur' }]">
<el-input-number size="small" v-model="form.showIndex" :min="1" :max="100" label="请输入排序"></el-input-number>
</el-form-item>
</el-form>
</ai-dialog>
</template>
</ai-list>
</template>
<script>
import { mapState } from 'vuex'
export default {
name: 'List',
props: {
instance: Function,
dict: Object
},
data() {
return {
search: {
current: 1,
size: 10,
groupName: ''
},
form: {
groupName: '',
showIndex: ''
},
id: '',
isShowAdd: false,
total: 0,
colConfigs: [
{prop: 'groupName', label: '事件类型', align: 'left'},
{prop: 'showIndex', label: '排序', align: 'center'},
{slot: 'options', label: '操作'}
],
tableData: []
}
},
computed: {
...mapState(['user'])
},
mounted() {
this.getList()
},
methods: {
getList() {
this.instance.post(`/app/apppatrolreportgroupv2/list`, null, {
params: {
...this.search
}
}).then(res => {
if (res.code == 0) {
this.tableData = res.data.records
this.total = res.data.total
}
})
},
edit (e) {
this.id = e.id
this.form.groupName = e.groupName
this.form.showIndex = ''
this.$nextTick(() => {
this.isShowAdd = true
})
},
onClose () {
this.id = ''
this.form.showIndex = ''
this.form.groupName = ''
},
onConfirm () {
this.$refs.form.validate((valid) => {
if (valid) {
this.instance.post(`/app/apppatrolreportgroupv2/addOrUpdate`, {
...this.form,
id: this.id || null
}).then(res => {
if (res.code === 0) {
this.$message.success('添加成功')
this.isShowAdd = false
this.getList()
}
})
}
})
},
cancel (isRefresh) {
this.$emit('change', {
type: 'list',
isRefresh: !!isRefresh
})
},
remove(id) {
this.$confirm('确定删除该数据?').then(() => {
this.instance.post(`/app/apppatrolreportgroupv2/delete?ids=${id}`).then(res => {
if (res.code == 0) {
this.$message.success('删除成功!')
this.getList()
}
})
})
}
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@@ -0,0 +1,397 @@
<template>
<ai-detail class="AppPatrolReportSet">
<ai-title slot="title" title="巡查上报设置" isShowBottomBorder>
<el-button size="small" type="primary" icon="iconfont iconAdd" slot="rightBtn" @click="add">添加节点</el-button>
</ai-title>
<template slot="content">
<div class="list" v-if="list.length">
<div class="item" v-for="(item, index) in list" :key="index">
<div class="btn">
<el-button type="text" @click="edit(index)">编辑</el-button>
<el-button type="text" @click="del(index)">删除</el-button>
</div>
<div class="index">{{index < 9 ? `0${index+1}` : `${index+1}`}}</div>
<div class="info">
<div class="label">节点类型</div>
<div class="value">{{item.nodeType == 0 ? '首节点' : $dict.getLabel('prfcNodeType', item.nodeType)}}</div>
</div>
<div class="info">
<div class="label">上级节点网络</div>
<div class="value">{{item.girdName}}<span class="span" v-if="item.nodeType == 2 && item.onlyCoordination == '1'">仅协同部门</span></div>
</div>
<div class="flex">
<div class="info">
<div class="label">生效功能</div>
<div class="value">
<span v-if="item.functionAdd == 1">添加</span>
<span v-if="item.functionHandle == 1">办理</span>
<span v-if="item.functionTransmit == 1">转交</span>
</div>
</div>
<div class="info">
<div class="label">生效身份</div>
<div class="value">
<span v-if="item.roleMember == 1">网格员</span>
<span v-if="item.roleAdmin == 1">网格长</span>
</div>
</div>
</div>
<div v-if="item.nodeType == 3">
<div class="info">
<div class="label">同级节点网络</div>
<div class="value">{{item.girdName2}}<span class="span" v-if="item.nodeType == 3 && item.onlyCoordination == '1'">仅协同部门</span></div>
</div>
<div class="flex">
<div class="info">
<div class="label">生效功能</div>
<div class="value">
<span v-if="item.functionAdd2 == 1">添加</span>
<span v-if="item.functionHandle2 == 1">办理</span>
<span v-if="item.functionTransmit2 == 1">转交</span>
</div>
</div>
<div class="info">
<div class="label">生效身份</div>
<div class="value">
<span v-if="item.roleMember2 == 1">网格员</span>
<span v-if="item.roleAdmin2 == 1">网格长</span>
</div>
</div>
<!-- <div class="info">
<div class="label">条件约束</div>
<div class="value">名称约束</div>
</div> -->
</div>
</div>
</div>
</div>
<ai-empty v-else>暂无数据</ai-empty>
<ai-dialog :visible.sync="dialog" :title="dialogTitle" @closed="$refs.form.resetFields()" @onConfirm="onConfirm" width="70%">
<el-form ref="form" :rules="rules" size="small" :model="form" label-width="110px">
<el-form-item label="节点类型" prop="nodeType" v-if="form.nodeType === '0'">
<ai-select disabled
v-model="form.nodeType"
clearable
placeholder="请选择..."
:selectList="nodeTypeDictList">
</ai-select>
</el-form-item>
<el-form-item label="节点类型" prop="nodeType" v-else>
<ai-select :disabled="getGirdList.length == 1 && form.nodeType == '1'"
v-model="form.nodeType"
clearable
placeholder="请选择..."
:selectList="dict.getDict('prfcNodeType')" @change="changeNodeType">
</ai-select>
</el-form-item>
<el-form-item label="选择节点网格" prop="girdId" >
<ai-picker v-if="form.nodeType === '0'"
:ops="{label: 'girdName'}"
dialogTitle="选择节点网格"
action="/app/appgirdinfo/girdList"
:instance="instance"
@pick="onGirdChange"
v-model="form.girdIdList">
<div class="userSelcet">
<span style="color: #606266;" v-if="form.girdIdList.length">{{ form.girdName }}</span>
<span v-else>选择节点网格</span>
<i class="el-icon-arrow-down"></i>
</div>
</ai-picker>
<el-input placeholder="节点网格" v-model="form.girdName" disabled v-else></el-input>
<el-checkbox v-model="sameLevelUsed" disabled>当前选中网格层级生效</el-checkbox>
<el-checkbox v-model="form.onlyCoordination" v-if="form.nodeType == '2'" true-label="1" false-label="0">仅协同部门</el-checkbox>
</el-form-item>
<el-form-item label="生效功能">
<el-checkbox v-model="form.functionAdd" true-label="1" false-label="0">添加</el-checkbox>
<el-checkbox v-model="form.functionHandle" true-label="1" false-label="0">办理</el-checkbox>
<el-checkbox v-model="form.functionTransmit" true-label="1" false-label="0">转交</el-checkbox>
</el-form-item>
<el-form-item label="生效身份">
<el-checkbox v-model="form.roleMember" true-label="1" false-label="0">网格员</el-checkbox>
<el-checkbox v-model="form.roleAdmin" true-label="1" false-label="0">网格长</el-checkbox>
</el-form-item>
<div v-if="form.nodeType == 3">
<el-form-item label="同级节点网格" prop="girdId2">
<el-input placeholder="节点网格" v-model="form.girdName2" disabled></el-input>
<el-checkbox v-model="sameLevelUsed" disabled>当前选中网格层级生效</el-checkbox>
<el-checkbox v-model="form.onlyCoordination" v-if="form.nodeType == '3'" true-label="1" false-label="0">仅协同部门</el-checkbox>
</el-form-item>
<el-form-item label="生效功能">
<el-checkbox v-model="form.functionAdd2" true-label="1" false-label="0">添加</el-checkbox>
<el-checkbox v-model="form.functionHandle2" true-label="1" false-label="0">办理</el-checkbox>
<el-checkbox v-model="form.functionTransmit2" true-label="1" false-label="0">转交</el-checkbox>
</el-form-item>
<el-form-item label="生效身份">
<el-checkbox v-model="form.roleMember2" true-label="1" false-label="0">网格员</el-checkbox>
<el-checkbox v-model="form.roleAdmin2" true-label="1" false-label="0">网格长</el-checkbox>
</el-form-item>
</div>
</el-form>
</ai-dialog>
</template>
<template slot="footer">
<el-button @click="getList">返回</el-button>
<el-button type="primary" @click="confirm">提交</el-button>
</template>
</ai-detail>
</template>
<script>
export default {
name: 'AppPatrolReportSet',
label: '巡查上报设置',
props: {
instance: Function,
dict: Object,
permissions: Function
},
data () {
return {
dialog: false,
dialogTitle: '',
form: {
nodeType: '', //0首节点、1上级、2同级、3混合
girdIdList: [],
girdId: '',
girdCode: '',
girdLevel: '',
girdName: '',
functionAdd: '1',
functionHandle: '1',
functionTransmit: '1',
roleAdmin: '1',
roleMember: '1',
girdId2: '',
girdCode2: '',
girdLevel2: '',
girdName2: '',
functionAdd2: '1',
functionHandle2: '1',
functionTransmit2: '1',
roleAdmin2: '1',
roleMember2: '1',
onlyCoordination: '1'
},
list: [],
nodeTypeDictList: [{dictName: '首节点', dictValue: '0'}],
sameLevelUsed: true,
getGirdList: [],
editIndex: ''
}
},
computed: {
rules() {
return {
nodeType: [{ required: true, message: '请选择节点类型', trigger: 'change'}],
girdId: [{ required: true, message: '请选择节点网络', trigger: 'change'}],
girdId2: [{ required: true, message: '请选择同级节点网格', trigger: 'change'}],
}
},
},
created() {
this.dict.load('prfcNodeType').then(() => {
this.getList()
})
},
methods: {
add() {
this.form = {
nodeType: '', //0首节点、1上级、2同级、3混合
girdIdList: [],
girdId: '',
girdCode: '',
girdLevel: '',
girdName: '',
functionAdd: '1',
functionHandle: '1',
functionTransmit: '1',
roleAdmin: '1',
roleMember: '1',
girdId2: '',
girdCode2: '',
girdLevel2: '',
girdName2: '',
functionAdd2: '1',
functionHandle2: '1',
functionTransmit2: '1',
roleAdmin2: '1',
roleMember2: '1',
onlyCoordination: '1'
}
if(this.list.length > 0) {
this.getGird(this.list.length-1)
}else { //首节点
this.form.nodeType = '0'
}
this.dialogTitle = '添加节点'
this.dialog = true
this.$refs.form.resetFields()
},
del(index) {
this.$confirm('确定删除该节点?').then(() => {
this.list.splice(index, 1)
})
},
edit(index) {
this.editIndex = index
this.form = {...this.list[index]}
if(this.form.nodeType != '0') {
this.getGird(index-1)
}
this.dialogTitle = '编辑节点'
this.dialog = true
},
onConfirm() {
this.$refs.form.validate((valid) => {
if (valid) {
if(this.dialogTitle == '添加节点') {
this.list.push(this.form)
}else {
this.list.splice(this.editIndex, 1, this.form)
}
this.dialog = false
}
})
},
getList() {
this.instance.post(`/app/apppatrolreportflowconfigv2/queryNew`).then(res => {
if (res.code == 0) {
this.list = res.data
}
})
},
onGirdChange(e) {
this.form.girdId = e[0].id
this.form.girdCode = e[0].girdCode
this.form.girdLevel = e[0].girdLevel
this.form.girdName = e[0].girdName
},
changeNodeType(e) { //1 上下级节点取数组02同级节点选择数组1; 3混合节点主取数组0同级选择数组1
console.log(e)
var arr = []
if(e == 1) {
arr.push(this.getGirdList[0])
}
if(e == 2) {
arr.push(this.getGirdList[1])
}
if(e == 3) {
arr.push(this.getGirdList[0])
this.form.girdId2 = this.getGirdList[1].id
this.form.girdCode2 = this.getGirdList[1].girdCode
this.form.girdLevel2 = this.getGirdList[1].girdLevel
this.form.girdName2 = this.getGirdList[1].girdName
}
this.onGirdChange(arr)
},
getGird(index) {
var girdCode = this.list[index].girdCode
this.instance.post(`app/apppatrolreportflowconfigv2/choiseGird?previousGirdCode=${girdCode}`).then(res => {
if (res.code == 0) {
this.getGirdList = res.data
if(res.data.length == 1 && this.dialogTitle == '添加节点') { //返回数据一条表示nodeType 1 上下级节点混合节点主去数组0同级选择数组1同级节点选择数组1
this.form.nodeType = '1'
this.onGirdChange(res.data)
}
}
})
},
confirm() {
this.instance.post(`/app/apppatrolreportflowconfigv2/addOrUpdate`, this.list).then(res => {
if (res.code == 0) {
this.$message.success('提交成功')
this.getList()
}
})
}
}
}
</script>
<style lang="scss" scoped>
.AppPatrolReportSet {
height: 100%;
.list {
padding: 0 16px 16px;
background-color: #fff;
}
.item {
padding: 16px 0 4px 26px;
position: relative;
border-bottom: 1px solid #F2F2F2;
.info {
height: 22px;
font-family: MicrosoftYaHei;
font-size: 14px;
color: #888;
line-height: 22px;
margin-bottom: 16px;
.label {
display: inline-block;
width: 112px;
color: #888;
}
.value {
display: inline-block;
width: calc(100% - 112px);
color: #222;
span {
display: inline-block;
margin-right: 24px;
}
.span {
margin-left: 16px;
}
}
}
.index {
position: absolute;
top: 16px;
left: 0;
height: 21px;
font-family: DINAlternate-Bold;
font-weight: 700;
font-size: 18px;
color: #666;
}
.btn {
position: absolute;
right: 0;
top: 16px;
}
.flex {
display: flex;
.info {
width: 33.3%;
}
}
}
:deep(.ai-select),
:deep(.el-input) {
display: inline-block;
width: 50%;
margin-right: 16px;
}
:deep(.AiPicker) {
display: inline-block;
width: 50%;
margin-right: 16px;
border: 1px solid #d0d4dc;
padding-left: 16px;
box-sizing: border-box;
border-radius: 4px;
position: relative;
.el-icon-arrow-down {
position: absolute;
top: 8px;
right: 8px;
}
}
}
</style>

View File

@@ -0,0 +1,55 @@
<template>
<section class="AppReportAtWill">
<component ref="component" :is="currentPage" @change="onChange" :params="params" :instance="instance" :dict="dict" :menuName="menuName" />
</section>
</template>
<script>
import List from './components/List'
import Detail from './components/Detail'
import Setting from './components/Setting'
export default {
name: 'AppReportAtWill',
label: '随手拍',
props: {
instance: Function,
dict: Object,
menuName: {default: '随手拍'}
},
data() {
return {
component: 'List',
params: {}
}
},
computed: {
currentPage() {
let {hash, query: {id}} = this.$route
return hash == "#Setting" ? Setting :
!!id ? Detail : List
}
},
components: {
List,
Detail,
Setting
},
methods: {
onChange(data) {
this.$router.push({query: data.params, hash: data.type == "Setting" ? "#Setting" : ""})
}
}
}
</script>
<style lang="scss">
.AppReportAtWill {
height: 100%;
background: #F3F6F9;
overflow: auto;
}
</style>

View File

@@ -0,0 +1,581 @@
<template>
<ai-detail class="reportAtWillDetail" v-loading="isLoading">
<template #title>
<ai-title title="详情" isShowBack isShowBottomBorder @onBackClick="cancel(false)">
<template #rightBtn>
<div class="title-btns">
<el-button type="primary" icon="iconfont iconPerson_Transfered" @click="isShowForward = true" v-if="detail.eventStatus < 2">指派事件</el-button>
<el-button type="primary" icon="iconfont iconRegister" @click="isShowAdd = true" v-if="detail.eventStatus < 2">处理事件</el-button>
</div>
</template>
</ai-title>
</template>
<template #content>
<div class="detail-content__wrapper">
<div class="detail-content__wrapper--left">
<ai-card title="基础信息">
<template #content>
<ai-wrapper>
<ai-info-item label="上报人员" :value="detail.name"></ai-info-item>
<ai-info-item label="当前状态" :value="dict.getLabel('clapEventStatus', detail.eventStatus)"></ai-info-item>
<ai-info-item label="联系方式">{{ detail.phone }}</ai-info-item>
<ai-info-item label="上报时间">{{ detail.createTime }}</ai-info-item>
<ai-info-item label="事件类型">{{ detail.groupName }}</ai-info-item>
<ai-info-item label="事件描述" isLine>{{ detail.content }}</ai-info-item>
<ai-info-item label="现场照片" isLine>
<ai-uploader :instance="instance" disabled v-model="detail.files"></ai-uploader>
</ai-info-item>
<ai-info-item label="所属网格">{{ detail.girdName }}</ai-info-item>
<ai-info-item label="事件位置" isLine>
<div id="map" style="width: 500px; height: 280px;"></div>
</ai-info-item>
</ai-wrapper>
</template>
</ai-card>
<ai-evaluation v-if="!!detail.id" :bid="detail.id" :info.sync="evaluation"/>
</div>
<div class="rightZone">
<ai-card title="办理进度">
<template #content>
<el-steps direction="vertical" :active="1">
<el-step
v-for="(item, i) in process"
:key="i"
:title="item.systemExplain"
:description="item.doTime">
<template #title>
<h2 class="step-title" style="font-weight: 500; font-size: 14px;">
{{ item.systemExplain }}
</h2>
</template>
<template #description>
<p style="color: #888; margin: 0 4px 10px 0; font-size: 14px;">{{ item.doTime }}</p>
<div style="color: #444;margin-bottom: 10px;" v-if="item.doExplain">{{ item.doExplain }}</div>
<ai-uploader :instance="instance" disabled v-model="item.files"></ai-uploader>
</template>
</el-step>
</el-steps>
</template>
</ai-card>
</div>
</div>
<ai-dialog
:visible.sync="isShowAdd"
width="800px"
title="事件处理"
@closed="onClose"
@onConfirm="handleEvent">
<el-form class="ai-form" label-width="120px" :model="form" ref="form">
<el-form-item label="事件分类" prop="groupId" style="width: 100%;" :rules="[{ required: true, message: '请选择事件分类' }]">
<ai-select
v-model="form.groupId"
placeholder="请选择事件分类"
:selectList="dictList">
</ai-select>
</el-form-item>
<el-form-item label="处理结果" prop="eventStatus" style="width: 100%;" :rules="[{ required: true, message: '请选择处理结果' }]">
<el-radio-group v-model="form.eventStatus">
<el-radio label="2">已办结</el-radio>
<el-radio label="3">已拒绝</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="处理意见" prop="content" style="width: 100%;" :rules="[{ required: true, message: '请输入处理意见' }]">
<el-input type="textarea" :rows="5" :maxlength="500" v-model="form.content" clearable placeholder="请输入处理意见" show-word-limit></el-input>
</el-form-item>
<el-form-item label="图片" prop="files" style="width: 100%;">
<ai-uploader
:instance="instance"
isShowTip
v-model="form.files"
:limit="9">
</ai-uploader>
</el-form-item>
</el-form>
</ai-dialog>
<ai-dialog
:visible.sync="isShowForward"
width="800px"
@close="onClose"
title="事件指派"
@onConfirm="onForwardConfirm">
<el-form class="ai-form" label-width="120px" :model="forwardForm" ref="forwardForm">
<el-form-item label="转交" prop="name" style="width: 100%;" :rules="[{ required: true, message: '请选择网格员或网格' }]">
<el-input disabled size="small" v-model="forwardForm.name" clearable placeholder="请选择网格员或网格">
<template slot="append">
<el-button @click="getGirdList().then(()=>isShowUser=true )">选择</el-button>
</template>
</el-input>
</el-form-item>
<el-form-item label="办理意见" prop="content" style="width: 100%;" :rules="[{ required: true, message: '请输入办理意见' }]">
<el-input type="textarea" :rows="5" :maxlength="500" v-model="forwardForm.content" clearable placeholder="请输入办理意见" show-word-limit></el-input>
</el-form-item>
<el-form-item label="图片" prop="files" style="width: 100%;">
<ai-uploader
:instance="instance"
v-model="forwardForm.files"
isShowTip
:limit="9">
</ai-uploader>
</el-form-item>
</el-form>
</ai-dialog>
<ai-dialog
:visible.sync="isShowUser"
width="800px"
title="选择网格或网格员"
@onConfirm="onConfirm">
<div class="grid-wrapper">
<el-input
style="margin-bottom: 10px;"
size="small"
placeholder="请输入网格名称/网格员姓名/网格员电话"
v-model="name" @change="$refs.tree.filter(name)"
suffix-icon="iconfont iconSearch">
</el-input>
<el-tree
:filter-node-method="filterNode"
ref="tree"
:props="defaultProps"
node-key="id"
:data="tree"
highlight-current
@current-change="onTreeChange">
<div class="tree-container" slot-scope="{ data }">
<div class="tree-container__user">
<div class="tree-user__item">
<span>{{ data.isUser ? `${data.name}-${data.phone}` : data.girdName }}</span>
</div>
</div>
</div>
</el-tree>
</div>
</ai-dialog>
</template>
</ai-detail>
</template>
<script>
import AMapLoader from '@amap/amap-jsapi-loader'
import {mapState} from 'vuex'
export default {
name: 'Detail',
props: ['dict', 'instance'],
data() {
return {
forwardForm: {
content: '',
girdId: '',
girdName: '',
girdMemberId: '',
girdMemberName: '',
name: ''
},
isLoading: true,
name: '',
detail: {},
isShowUser: false,
eventList: [],
isShowAdd: false,
userList: [],
processList: [],
dictList: [],
defaultProps: {
label: 'girdName'
},
isShowForward: false,
tree: [],
gridInfo: {},
form: {
files: [],
groupId: '',
groupName: '',
content: [],
eventStatus: '2'
},
evaluation: {}
}
},
computed: {
...mapState(['user']),
process: v => [v.evaluation.id ? {
systemExplain: `${v.evaluation.createUserName}完成评价 (${v.evaluation.score}星评价)`,
doTime: v.evaluation.createTime,
doExplain: v.evaluation.rateText
} : null, v.processList].flat().filter(Boolean)
},
created() {
this.getDict()
this.dict.load('clapEventStatus').then(() => {
this.getDetail()
})
},
methods: {
getDetail() {
this.instance.post('/app/appclapeventinfo/queryDetailById', null, {
params: {id: this.$route.query.id}
}).then(res => {
if (res?.data) {
this.detail = res.data
this.processList = res.data.processList
this.form.groupId = res.data.groupId
this.$nextTick(() => {
this.initMap()
})
this.isLoading = false
}
}).catch(() => {
this.isLoading = false
})
},
getGirdList() {
return this.instance.post(`/app/appgirdinfo/listAllByTop`).then(res => {
if (res?.data) {
return this.tree = this.formatList([res.data])
}
})
},
onClose() {
this.form.files = []
this.form.groupId = ''
this.form.groupName = ''
this.form.content = ''
this.form.eventStatus = ''
this.forwardForm.content = ''
this.forwardForm.girdId = ''
this.forwardForm.girdName = ''
this.forwardForm.girdMemberId = ''
this.forwardForm.girdMemberName = ''
this.forwardForm.name = ''
},
formatList(list) {
for (let item of list) {
item.children = [item.girdList, item.girdMemberList?.map(e => ({
...e, isUser: true, girdName: item.girdName,
girdId: item.id
})) || []].flat()
if (item.girdList?.length > 0) {
this.formatList(item.girdList)
}
}
return list
},
filterNode(value, data = {}) {
if (!value) return true
return ["girdName", "name", "phone"].some(e => data[e]?.includes(value))
},
onTreeChange(e) {
this.gridInfo = e
},
onForwardConfirm() {
this.$refs.forwardForm.validate(v => {
if (v) {
this.instance.post('/app/appclapeventinfo/transferByManager', {
...this.forwardForm,
id: this.$route.query.id
}).then(res => {
if (res?.code == 0) {
this.isShowForward = false
this.getDetail()
this.$message.success('转交成功!')
}
})
}
})
},
onConfirm() {
if (this.gridInfo.userId) {
this.forwardForm.girdId = this.gridInfo.girdId
this.forwardForm.girdName = this.gridInfo.girdName
this.forwardForm.girdMemberId = this.gridInfo.id
this.forwardForm.girdMemberName = this.gridInfo.name
} else {
this.forwardForm.girdId = this.gridInfo.id
}
this.forwardForm.girdName = this.gridInfo.girdName
this.forwardForm.name = `${this.gridInfo.girdName}${this.gridInfo.name ? '-' + this.gridInfo.name : ''}`
this.isShowUser = false
},
getDict() {
this.instance.post(`/app/appclapeventgroup/list?current=1&size=100000`).then(res => {
if (res.code == 0) {
this.dictList = res.data.records.map(v => {
return {
dictValue: v.id,
dictName: v.groupName
}
})
}
})
},
close() {
this.$confirm('确定关闭该事件?').then(() => {
this.instance.post(`/app/appmininotice/delete?ids=${this.$route.query.id}`).then(res => {
if (res.code == 0) {
this.$message.success('删除成功!')
this.getList()
}
})
})
},
cancel(isRefresh) {
this.$emit('change', {
type: 'list',
isRefresh: !!isRefresh
})
},
onChange(e) {
this.instance.post(`/app/appvillagerintegralrule/list?size=1000&classification=${e}&ruleStatus=1`).then(res => {
if (res.code === 0) {
this.form.ruleId = ''
this.eventList = res.data.records
}
})
},
initMap() {
let {lng, lat} = this.detail
let center = [lng, lat]
AMapLoader.load({
key: 'b553334ba34f7ac3cd09df9bc8b539dc',
version: '2.0'
}).then(AMap => {
let map = new AMap.Map('map', {
center,
zoom: 14
})
let marker = new AMap.Marker({
position: new AMap.LngLat(lng, lat),
title: this.detail.address
})
map.add(marker)
})
},
handleEvent() {
this.$refs.form.validate(v => {
if (v) {
this.instance.post('/app/appclapeventinfo/finishByManager', {
...this.form,
groupName: this.dictList.filter(v => v.dictValue === this.form.groupId)[0].dictName,
id: this.$route.query.id
}).then(res => {
if (res?.code == 0) {
this.isShowAdd = false
this.getDetail()
this.$message.success('处理成功!')
}
})
}
})
}
}
}
</script>
<style lang="scss" scoped>
.reportAtWillDetail {
height: 100%;
.grid-wrapper {
min-height: 360px;
}
.title-btns {
display: flex;
align-items: center;
}
:deep( .el-tree ) {
background: transparent;
.el-tree-node__expand-icon.is-leaf {
color: transparent !important;
}
.el-tree-node__content > .el-tree-node__expand-icon {
padding: 4px;
}
.el-tree-node__content {
height: 32px;
}
.el-tree__empty-text {
color: #222;
font-size: 14px;
}
.el-tree-node__children .el-tree-node__content {
height: 32px;
}
.el-tree-node__content:hover {
background: #E8EFFF;
color: #222222;
border-radius: 2px;
}
.is-current > .el-tree-node__content {
&:hover {
background: #2266FF;
color: #fff;
}
background: #2266FF;
span {
color: #fff;
}
}
}
.el-steps {
:deep( .el-step__icon ) {
font-size: 12px;
color: #555555;
border-color: #d0d4dc;
}
:deep( .el-step__head.is-finish ) {
.el-step__icon.is-text {
border: none;
color: #fff;
font-size: 12px;
background: #2266ff;
}
}
:deep( .el-step__line ) {
background-color: #d0d4dc;
}
}
.imgs {
font-size: 0;
img {
width: 108px;
height: 108px;
margin-right: 4px;
margin-bottom: 4px;
cursor: pointer;
user-select: none;
&:hover {
opacity: 0.8;
}
&:nth-of-type(2n) {
margin-right: 0;
}
}
}
:deep( .report-dialog ) {
.el-select {
width: 100%;
}
}
:deep( .el-step__head.is-process ) {
color: #555;
border-color: #555;
}
:deep( .is-finish h2 ) {
color: #2266ff;
}
.step-title {
color: #555;
}
.detail-content__wrapper {
display: flex;
width: 100%;
flex-wrap: wrap;
.detail-content__wrapper--left {
flex: 1;
margin-right: 20px;
}
}
:deep( .ai-detail__content ) {
background: #f3f6f9;
.ai-detail__content--wrapper {
display: flex;
gap: 16px;
width: 100%;
max-width: 100%;
padding: 16px;
box-sizing: border-box;
& > .el-card {
flex: 1;
min-width: 0;
}
.rightZone {
width: 400px;
flex-shrink: 0;
display: flex;
flex-direction: column;
gap: 16px;
}
}
}
:deep( .el-card ) {
.el-card__header {
padding: 12px 16px;
font-weight: bold;
}
.el-card__body {
padding: 8px;
}
#amap {
width: 466px;
height: 232px;
}
.el-steps {
margin-left: 8px;
}
.imgFormItem > .el-form-item__content {
display: flex;
gap: 16px;
flex-wrap: wrap;
&:before {
content: none;
}
.el-image__inner {
width: 82px;
height: 82px;
}
}
}
}
</style>

View File

@@ -0,0 +1,150 @@
<template>
<ai-list>
<template #title>
<ai-title :title="menuName" isShowBottomBorder>
<el-button type="primary" slot="rightBtn" @click="toSetting">设置</el-button>
</ai-title>
</template>
<template #content>
<ai-search-bar>
<template #left>
<ai-select
v-model="search.eventStatus"
clearable
placeholder="处理状态"
:selectList="dict.getDict('clapEventStatus')"
@change="search.current = 1, getList()">
</ai-select>
</template>
<template #right>
<el-input
v-model="search.content"
class="search-input"
size="small"
v-throttle="() => {search.current = 1, getList()}"
placeholder="请输入内容描述/上报居民/联系方式"
clearable
@change="getList"
@clear="search.current = 1, search.content = '', getList()"
suffix-icon="iconfont iconSearch">
</el-input>
</template>
</ai-search-bar>
<ai-table :tableData="tableData" :colConfigs="colConfigs" :total="total" :current.sync="search.current" :size.sync="search.size" @getList="getList">
<el-table-column slot="options" label="操作" fixed="right" width="120" align="center">
<div class="table-options" slot-scope="{row}">
<el-button type="text" title="详情" @click="toDetail(row.id)">详情</el-button>
<el-button type="text" title="删除" @click="handleDelete(row.id)">删除</el-button>
</div>
</el-table-column>
</ai-table>
</template>
</ai-list>
</template>
<script>
import {mapState} from 'vuex'
export default {
name: 'List',
label: "随手拍",
props: {
instance: Function,
dict: Object,
menuName: String
},
data() {
return {
userList: [],
search: {
current: 1,
size: 10,
eventStatus: '',
content: ''
},
total: 0,
tableData: [],
content: '',
id: ''
}
},
computed: {
...mapState(['user']),
colConfigs() {
return [
{prop: 'content', label: '内容描述', width: '300px'},
{prop: 'groupName', label: '事件类型', align: 'center'},
{prop: 'girdName', label: '所属网格', align: 'center'},
{prop: 'createTime', label: '上报时间', align: 'center'},
{prop: 'name', label: '上报居民', align: 'center'},
{prop: 'phone', label: '联系方式', align: 'center'},
{prop: 'eventStatus', label: '处理状态', align: 'center', format: v => this.dict.getLabel('clapEventStatus', v)},
{prop: 'processTime', label: '处理时长', align: 'center'},
{slot: 'options'}
]
},
handleStatusOps() {
return this.dict.getDict("reportAtWillHandleStatus").map(e => ({label: e.dictName, value: e.dictValue}))
}
},
created() {
this.dict.load('clapEventStatus').then(() => {
this.getList()
})
},
methods: {
getList() {
this.instance.post(`/app/appclapeventinfo/list`, null, {
params: {
...this.search
}
}).then(res => {
if (res.code == 0) {
this.tableData = res.data.records
this.total = res.data.total
}
})
},
toDetail(id) {
this.$emit('change', {
type: 'Detail',
params: {
id: id || ''
}
})
},
toSetting() {
this.$emit('change', {
type: 'Setting',
params: {
id: ''
}
})
},
handleDelete(ids) {
this.$confirm("是否要进行删除?").then(() => {
this.instance.post("/app/appclapeventinfo/delete", null, {
params: {ids}
}).then(res => {
if (res?.code == 0) {
this.$message.success("删除成功!")
this.getList()
}
})
}).catch(() => 0)
}
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@@ -0,0 +1,178 @@
<template>
<ai-list class="notice">
<template slot="title">
<ai-title isShowBack isShowBottomBorder title="事件类型" @onBackClick="cancel(false)"></ai-title>
</template>
<template slot="content">
<ai-search-bar class="search-bar">
<template #left>
<el-button size="small" type="primary" icon="iconfont iconAdd" @click="isShowAdd = true">添加事件类型</el-button>
</template>
<template slot="right">
<el-input
v-model="search.groupName"
class="search-input"
size="small"
v-throttle="() => {search.current = 1, getList()}"
placeholder="请输入事件类型名称"
clearable
@change="getList"
@clear="search.current = 1, search.groupName = '', getList()"
suffix-icon="iconfont iconSearch">
</el-input>
</template>
</ai-search-bar>
<ai-table
:tableData="tableData"
:col-configs="colConfigs"
:total="total"
style="margin-top: 6px;"
:current.sync="search.current"
:size.sync="search.size"
@getList="getList">
<el-table-column slot="tags" label="标签">
<template slot-scope="{ row }">
<div class="table-tags">
<el-tag type="info" v-for="(item, index) in row.tags" size="small" :key="index">{{ item }}</el-tag>
</div>
</template>
</el-table-column>
<el-table-column slot="options" width="120px" fixed="right" label="操作" align="center">
<div class="table-options" slot-scope="{ row }">
<el-button type="text" @click="edit(row)">编辑</el-button>
<el-button type="text" @click="remove(row.id)">删除</el-button>
</div>
</el-table-column>
</ai-table>
<ai-dialog
:visible.sync="isShowAdd"
width="780px"
height="580px"
:title="id ? '编辑事件类型' : '添加事件类型'"
@close="onClose"
@onConfirm="onConfirm">
<el-form ref="form" class="ai-form" :model="form" label-width="110px" label-position="right">
<el-form-item label="事件类型" prop="groupName" style="width: 100%;" :rules="[{ required: true, message: '请输入事件类型名称', trigger: 'blur' }]">
<el-input size="small" :maxlength="10" show-word-limit placeholder="请输入事件类型名称" v-model="form.groupName"></el-input>
</el-form-item>
<el-form-item label="排序" prop="showIndex" style="width: 100%;" :rules="[{ required: true, message: '请输入排序', trigger: 'blur' }]">
<el-input-number size="small" v-model="form.showIndex" :min="1" :max="100" label="请输入排序"></el-input-number>
</el-form-item>
</el-form>
</ai-dialog>
</template>
</ai-list>
</template>
<script>
import { mapState } from 'vuex'
export default {
name: 'List',
props: {
instance: Function,
dict: Object
},
data() {
return {
search: {
current: 1,
size: 10,
groupName: ''
},
form: {
groupName: '',
showIndex: ''
},
id: '',
isShowAdd: false,
total: 0,
colConfigs: [
{prop: 'groupName', label: '事件类型', align: 'left'},
{prop: 'showIndex', label: '排序', align: 'center'},
{slot: 'options', label: '操作'}
],
tableData: []
}
},
computed: {
...mapState(['user'])
},
mounted() {
this.getList()
},
methods: {
getList() {
this.instance.post(`/app/appclapeventgroup/list`, null, {
params: {
...this.search
}
}).then(res => {
if (res.code == 0) {
this.tableData = res.data.records
this.total = res.data.total
}
})
},
edit (e) {
this.id = e.id
this.form.groupName = e.groupName
this.form.showIndex = ''
this.$nextTick(() => {
this.isShowAdd = true
})
},
onClose () {
this.id = ''
this.form.showIndex = ''
this.form.groupName = ''
},
onConfirm () {
this.$refs.form.validate((valid) => {
if (valid) {
this.instance.post(`/app/appclapeventgroup/addOrUpdate`, {
...this.form,
id: this.id || null
}).then(res => {
if (res.code === 0) {
this.$message.success('添加成功')
this.isShowAdd = false
this.getList()
}
})
}
})
},
cancel (isRefresh) {
this.$emit('change', {
type: 'list',
isRefresh: !!isRefresh
})
},
remove(id) {
this.$confirm('确定删除该数据?').then(() => {
this.instance.post(`/app/appclapeventgroup/delete?ids=${id}`).then(res => {
if (res.code == 0) {
this.$message.success('删除成功!')
this.getList()
}
})
})
}
}
}
</script>
<style lang="scss" scoped>
</style>

Some files were not shown because too many files have changed in this diff Show More