diff --git a/web/pages/dashboard.html b/web/pages/dashboard.html index bda40ad..8c42e67 100644 --- a/web/pages/dashboard.html +++ b/web/pages/dashboard.html @@ -616,6 +616,9 @@
+
+ +
@@ -654,6 +657,9 @@
+
+ +
@@ -688,6 +694,9 @@
+
+ +
diff --git a/web/pages/manual.html b/web/pages/manual.html index 9ab9967..02b627a 100644 --- a/web/pages/manual.html +++ b/web/pages/manual.html @@ -2,167 +2,205 @@ - -使用手册 -

使用手册

-

数据看板

-

数据看板的意义

-

看板为报表的集合,在日常平台使用过程中,将分析指标保存为报表,添加至看板中,方便日常数据的监控。X 支持将同一张报表放进多张数据看板。

-

- image-20210902183930969

-

数据看板由三部分组成:看板目录、看板配置区、数据展示区

- -

创建/编辑空间

-

创建空间

-
    -
  1. 点击右上角[+],选择[创建空间],默认 X 超管可创建空间。
  2. +
    +

    使用手册

    +

    数据看板

    +

    数据看板的意义

    +

    看板为报表的集合,在日常平台使用过程中,将分析指标保存为报表,添加至看板中,方便日常数据的监控。X 支持将同一张报表放进多张数据看板。

    +

    + image-20210902183930969

    +

    数据看板由三部分组成:看板目录、看板配置区、数据展示区

    +
-

image-20210902184656701

-

image-20210902185005780

-
    -
  1. 在创建空间弹框中选择空间成员、设置空间成员权限。空间内看板对空间成员默认可见。
  2. + +

    创建/编辑空间

    +

    创建空间

    +
      +
    1. 点击右上角[+],选择[创建空间],默认 X 超管可创建空间。
    2. -
    -

    image-20210902184930630

    -
+

C44C4A9A-E447-43ed-81F8-4BA9E9C748E0

+

89C5FCED-C155-409c-953F-32C54B5009EA

+
    +
  1. 在创建空间弹框中选择空间成员、设置空间成员权限。空间内看板对空间成员默认可见。
  2. - -

    编辑空间

    -

    鼠标移入空间名称,点击右侧的[成员]按钮,可打开查看/编辑空间设置:

    -

    image-20210902185404016

    -

     

    -
+

D6847611-0C3D-4ca2-B4B4-EA1C79454050

+ -

image-20210902185310749

-

看板管理

-

点击看板页右上角[看板管理],打开看板管理弹窗,该功能支持批量移动或删除自建看板

-

image-20210902185659059

-

看板报表

-

看板核心区由多个看板报表组成,报表在看板中的展现形式与模型中不完全一致

-

image-20210902190143612

-

点击报表名可进入该报表设计

-

 

-

报表管理

-

通过报表可以将经常使用的分析模型进行存储,方便每次进行分析时快速读取。也为看板中添加报表内容并进行用户间的分享提供便利。报表管理指整体管理自己所创建的报表。

-

报表创建与报表管理的位置

-

在任意分析模型中都有“保存报表”的按钮。保存报表成功后,可在任意分析模型的右上角,通过“已存报表”按钮,找到所有的已存报表。

-

报表将保存分析模型的完整条件信息、时间段及图表样式。

-

报表管理可以从看板的“报表”-“新增报表”或模型的“已存报表”选项进入。

-

image-20210902190656874

-

 

-

image-20210902190732097

-

报表的使用场景

-

创建报表

-

在任意分析模型中,点击“保存报表”时,会进行条件校验。校验成功时,可进行报表的保存,需要输入报表名称与简介(可选)

-

image-20210902190931374

-

查找已存报表

-

可在任意分析模型的右上角,找到“报表”按钮,点击后可查找所有已经创建的报表。默认将展示当前模型下的报表,可通过切换模型类型或搜索找到需要的报表。

-

image-20210902191011960

-

删除报表

-

可通过“删除 icon”删除不需要的报表。

-

特别地,当删除报表后,该报表将永久消失。如果有添加过该报表的看板,看板中将一并删除对应看板报表。

-

image-20210902191155738

-

编辑报表名或更新报表

-

选中并打开某个报表后,可以看到存储的完整条件。对报表更新后,可通过点击“保存报表”或“更新报表”更新报表的存储内容,并可在弹窗内修改报表的名称或编辑报表的简介。

-

事件分析

-

事件分析的意义

-

用户(USER)在 APP 或游戏中产生的行为数据被称为事件(EVENT),事件数据记录了用户产生各种行为的时间、行为的类型以及行为的详细信息。对这些事件数据进行筛选或分组,最终计算聚合指标的模型称为事件分析模型。

-

通过事件分析,可以计算一段时间内用户产生特定行为的聚合指标,了解各行为的用户参与情况以及指标的发展趋势,从而对产品获得宏观把控,优化决策。

-

以消费事件举例来说,可以解决如下问题:

-
    -
  1. 最近一月每日收入流水情况趋势?
  2. -
  3. 最近一月来各渠道的每日收入流水与分布情况?
  4. -
  5. 来自上海的用户,最近一月人均付费金额的趋势?
  6. -
  7. 来自上海和北京的用户,最近一月在购买会员卡上的总付费次数对比情况?
  8. + +

    编辑空间

    +

    鼠标移入空间名称,点击右侧的[成员]按钮,可打开查看/编辑空间设置:

    +

    83555E30-7BFB-4363-91BE-0936D47C3727

    +

     

    +
-

 

-

事件分析的位置

-

在顶部导航栏中的“行为分析”中选择“事件分析”,即可进入事件分析模型:

-

image-20210903134731096

-

事件分析的使用方法

-

分析指标即 「事件」 + 「属性」 + 「计算方法」 或直接 「事件」 + 「计算方法」:

-
- - - -
事件属性计算方法
任意事件 总次数、触发用户数、人均次数
事件 总次数、触发用户数、人均次数
事件事件属性(数值型)总和、均值、最大值、最小值、人均值、去重数
事件事件属性(非数值、布尔型)去重数
-

如:任意事件的触发用户数、购买商品的人均次数、购买商品的用户平均 VIP 等级、购买商品使用 WIFI 为真数、购买商品的用户省份的去重数。

-

添加公式

-

如果需要进行分析指标间的一些四则运算,可以通过”添加公式“来实现。如分析 ARPU 值(活跃用户的人均付费金额):

-
pay.unitPrice.sum/100/login.touch_user_count
-
-

 

-

image-20210903135306328

-

添加指标

-

可以通过“添加指标”对多个分析指标同时进行分析,实现某些对比和展示需求,如下图:

-

image-20210903135423026

-

分组项的选择

-

分组项可根据事件属性签进行

-

image-20210903150659046

-

设置多重分组

-

image-20210903150821918

-

筛选条件的选择

-

通过分析指标的“指标筛选”可选出符合某些特征的事件进行分析

-

image-20210903143523869

-

当有多个指标时可以进行全局筛选

-

image-20210903143917236

-

 

-

报表的设置、展示、下载与保存

-

当“分析角度设置区”选择完全后,点击“开始计算”,即可在“图表展示区”展示出图表结果

-

展示筛选区的设置

-

分析时段与分析粒度

-

即选择需要分析的时间区间与细分时间粒度:

-

分析时段默认选项为动态时间的“过去 7 日”,默认分析时间粒度为“每天”。

-

分析时段:可选择今天、昨天、近 7 天、近 14 天、近 30 天、本周、上周、本月、上月。

-

时间粒度可按分钟、按小时、按天、按周、按月、合计进行选择

-

image-20210903150920311

-

留存分析

-

留存分析的意义

-

留存分析主要分析用户的整体参与程度、活跃程度的情况,考查进行某项初始行为的用户中,会进行回访行为的人数和比例。

-

通过留存分析模型,可以分析一段时间内,完成某项初始事件用户的回访情况,从而对事件的影响能进行宏观把控,优化决策。

-

以从用户活跃到消费举例来说,可以解决如下问题:

-
    -
  1. 用户使用产品后的 1 个月内,进行消费转化的人数和占比情况?
  2. -
  3. 用户使用产品后的 1 个月内,完成消费,且消费金额达到 200 元的人数和占比情况?
  4. -
  5. 上海用户使用产品后的 1 个月内,进行消费转化的人数和占比情况?
  6. -
  7. 一线城市用户使用产品后的 1 个月内,完成消费,且消费金额达到 200 元的人数和占比情况?
  8. + +

    2C0884A6-9C0A-4933-B131-0140CAAB2DE5

    + 看板管理 +

    点击看板页右上角[看板管理],打开看板管理弹窗,该功能支持批量移动或删除自建看板

    +

    EE4EE700-F1A1-48ac-8BFE-69C89709E1E7

    +

    看板报表

    +

    看板核心区由多个看板报表组成,报表在看板中的展现形式与模型中不完全一致

    +

    AB63EE0E-EBBE-41d6-821D-EA8ADA79AE54

    +

    点击报表名可进入该报表设计

    +

     

    +

    报表管理

    +

    通过报表可以将经常使用的分析模型进行存储,方便每次进行分析时快速读取。也为看板中添加报表内容并进行用户间的分享提供便利。报表管理指整体管理自己所创建的报表。

    +

    报表创建与报表管理的位置

    +

    在任意分析模型中都有“保存报表”的按钮。保存报表成功后,可在任意分析模型的右上角,通过“已存报表”按钮,找到所有的已存报表。

    +

    报表将保存分析模型的完整条件信息、时间段及图表样式。

    +

    报表管理可以从看板的“报表”-“新增报表”或模型的“已存报表”选项进入。

    +

    9A48CAD0-A539-4c3d-8E5E-CF00DC455972

    +

     

    +

    4C93670F-3182-41b3-913F-A41B3FE1EE69

    +

    报表的使用场景

    +

    保存报表

    +

    在任意分析模型中,点击“保存报表”时,会进行条件校验。校验成功时,可进行报表的保存,需要输入报表名称与简介(可选)

    +

    04B6F50F-A306-479b-A538-C81F1EEF10FD

    +

    查找已存报表

    +

    可在任意分析模型的右上角,找到“报表”按钮,点击后可查找所有已经创建的报表。默认将展示当前模型下的报表,可通过切换模型类型或搜索找到需要的报表。

    +

    7B0ABCFE-4B72-4ccf-8389-FCB2322C5DD4

    +

    删除报表

    +

    可通过“删除 icon”删除不需要的报表。

    +

    特别地,当删除报表后,该报表将永久消失。如果有添加过该报表的看板,看板中将一并删除对应看板报表。

    +

    43DCC732-7C23-42d2-BBD1-B4601FC95442

    +

    编辑报表名或更新报表

    +

    选中并打开某个报表后,可以看到存储的完整条件。对报表更新后,可通过点击“保存报表”或“更新报表”更新报表的存储内容,并可在弹窗内修改报表的名称或编辑报表的简介。

    +

    事件分析

    +

    事件分析的意义

    +

    用户(USER)在 APP 或游戏中产生的行为数据被称为事件(EVENT),事件数据记录了用户产生各种行为的时间、行为的类型以及行为的详细信息。对这些事件数据进行筛选或分组,最终计算聚合指标的模型称为事件分析模型。

    +

    通过事件分析,可以计算一段时间内用户产生特定行为的聚合指标,了解各行为的用户参与情况以及指标的发展趋势,从而对产品获得宏观把控,优化决策。

    +

    以消费事件举例来说,可以解决如下问题:

    +
      +
    1. 最近一月每日收入流水情况趋势?
    2. +
    3. 最近一月来各渠道的每日收入流水与分布情况?
    4. +
    5. 来自上海的用户,最近一月人均付费金额的趋势?
    6. +
    7. 来自上海和北京的用户,最近一月在购买会员卡上的总付费次数对比情况?
    8. -
    -

    留存分析的页面概览

    -

    留存分析分为指标设置区、展示设置区、展示图表区三部分。可以通过设置分析角度来确定分析的内容。并通过选择展示筛选选项,在图表区绘制出需要的分析表格或图形

    -

    image-20210903153456381

    -

    常用的几种分析场景

    -

    角色留存

    -

    image-20210903154127886

    -

    完成新手引导留存

    -

    image-20210903154153865

    -

    参与任务留存

    -

    image-20210903154405728

    -

    分析指标的设置

    -

    初始事件的选择

    -

    有过初始事件行为的用户将作为分析样本的数据源,并在整个分析中起作用。选框中可以选择某“元事件”或“任意事件”。含义即是在特定日期中做过该事件的用户。对于在特定日期中做过任意事件的用户可以理解为“他们在这段时间中活跃过”。

    -

    筛选条件的选择

    -
    事件筛选
    -

    筛选条件主要为了精确查看特定人群的使用情况而设计,如分析上海男性用户的留存情况。可以同时对初始事件和回访事件进行条件筛选。通过”筛选条件“可选出符合某些特征的事件,再进行分析。

    -

    回访事件的选择

    -

    回访用户是指满足初始事件用户在特定时间后,完成回访事件的用户。选框中可以选择某“元事件”或“任意事件”。即是在特定日期中做过该回访事件的用户。对于在特定日期中做过任意事件的用户可以理解为“他们在这段时间中活跃过”。

    -

    LTV分析

    -

    LTV分析的意义

    -

    LTV是在一定时间内,每一位玩家的平均付费。观测及预估用户的成本回收情况,如难以收回成本则考虑回炉大改或放弃。

    -

    LTV分析的页面概览

    -

    用户维度可按 角色或设备

    -

    订单筛选可筛选符合条件的订单

    -

    image-20210903161103557

    +
+

 

+

事件分析的位置

+

在顶部导航栏中的“行为分析”中选择“事件分析”,即可进入事件分析模型:

+

A6B5F942-67AF-4477-B940-17E45225B70E

+

事件分析的使用方法

+

分析指标即 「事件」 + 「属性」 + 「计算方法」 或直接 「事件」 + 「计算方法」:

+
+ + + +
事件属性计算方法
任意事件 总次数、触发用户数、人均次数
事件 总次数、触发用户数、人均次数
事件事件属性(数值型)总和、均值、最大值、最小值、人均值、去重数
事件事件属性(非数值、布尔型)去重数
+

如:任意事件的触发用户数、购买商品的人均次数、购买商品的用户平均 VIP 等级、购买商品使用 WIFI 为真数、购买商品的用户省份的去重数。

+

添加公式

+

如果需要进行分析指标间的一些四则运算,可以通过”添加公式“来实现。如分析 ARPU 值(活跃用户的人均付费金额):

+
pay.unitPrice.sum/100/login.touch_user_count
+            
+

 

+

image-20210903135306328

+

添加指标

+

可以通过“添加指标”对多个分析指标同时进行分析,实现某些对比和展示需求,如下图:

+

image-20210903135423026

+

分组项的选择

+

分组项可根据事件属性签进行

+

image-20210903150659046

+

设置多重分组

+

image-20210903150821918

+

筛选条件的选择

+

通过分析指标的“指标筛选”可选出符合某些特征的事件进行分析

+

image-20210903143523869

+

当有多个指标时可以进行全局筛选

+

image-20210903143917236

+

 

+

报表的设置、展示、下载与保存

+

当“分析角度设置区”选择完全后,点击“开始计算”,即可在“图表展示区”展示出图表结果

+

展示筛选区的设置

+

分析时段与分析粒度

+

即选择需要分析的时间区间与细分时间粒度:

+

分析时段默认选项为动态时间的“过去 7 日”,默认分析时间粒度为“每天”。

+

分析时段:可选择今天、昨天、近 7 天、近 14 天、近 30 天、本周、上周、本月、上月。

+

时间粒度可按分钟、按小时、按天、按周、按月、合计进行选择

+

F90EFA33-FC17-4497-BDD6-72F68B10F02D

+

留存分析

+

留存分析的意义

+

留存分析主要分析用户的整体参与程度、活跃程度的情况,考查进行某项初始行为的用户中,会进行回访行为的人数和比例。

+

通过留存分析模型,可以分析一段时间内,完成某项初始事件用户的回访情况,从而对事件的影响能进行宏观把控,优化决策。

+

以从用户活跃到消费举例来说,可以解决如下问题:

+
    +
  1. 用户使用产品后的 1 个月内,进行消费转化的人数和占比情况?
  2. +
  3. 用户使用产品后的 1 个月内,完成消费,且消费金额达到 200 元的人数和占比情况?
  4. +
  5. 上海用户使用产品后的 1 个月内,进行消费转化的人数和占比情况?
  6. +
  7. 一线城市用户使用产品后的 1 个月内,完成消费,且消费金额达到 200 元的人数和占比情况?
  8. + +
+

留存分析的页面概览

+

留存分析分为指标设置区、展示设置区、展示图表区三部分。可以通过设置分析角度来确定分析的内容。并通过选择展示筛选选项,在图表区绘制出需要的分析表格或图形

+

image-20210903153456381

+

常用的几种分析场景

+

角色留存

+

image-20210903154127886

+

完成新手引导留存

+

image-20210903154153865

+

参与任务留存

+

image-20210903154405728

+

分析指标的设置

+

初始事件的选择

+

有过初始事件行为的用户将作为分析样本的数据源,并在整个分析中起作用。选框中可以选择某“元事件”或“任意事件”。含义即是在特定日期中做过该事件的用户。对于在特定日期中做过任意事件的用户可以理解为“他们在这段时间中活跃过”。

+

筛选条件的选择

+
事件筛选
+

筛选条件主要为了精确查看特定人群的使用情况而设计,如分析上海男性用户的留存情况。可以同时对初始事件和回访事件进行条件筛选。通过”筛选条件“可选出符合某些特征的事件,再进行分析。

+

回访事件的选择

+

回访用户是指满足初始事件用户在特定时间后,完成回访事件的用户。选框中可以选择某“元事件”或“任意事件”。即是在特定日期中做过该回访事件的用户。对于在特定日期中做过任意事件的用户可以理解为“他们在这段时间中活跃过”。

+

LTV分析

+

LTV分析的意义

+

LTV是在一定时间内,每一位玩家的平均付费。观测及预估用户的成本回收情况,如难以收回成本则考虑回炉大改或放弃。

+

LTV分析的页面概览

+

用户维度可按 角色或设备

+

订单筛选可筛选符合条件的订单

+

image-20210903161103557

+ + +
+
X平台流程
+
1.数据看板
+
2.创建空间
+
3.编辑空间
+
4.看板管理
+
5.看板报表
+
6.报表创建与报表管理的位置
+
7.保存报表
+
8.查找已存报表
+
9.删除报表
+
10.编辑报表名或更新报表
+
11.事件分析
+
12.报表的设置、展示、下载与保存
+
13.留存分析
+
14.LTV分析
+
+ \ No newline at end of file diff --git a/web/pages/screen.html b/web/pages/screen.html index b76b859..770fe07 100644 --- a/web/pages/screen.html +++ b/web/pages/screen.html @@ -30,28 +30,22 @@ {{# layui.each(d, function(index, item){ }} -
-
- - {{item.conditionone}} -
- -
- - -
- - -
-
-
- -
-
+
+
+ + {{item.columnDesc}}
+
+
{{item.comparator_name}}
+
+ {{# if(item.comparator != "is null" && item.comparator != "is not null" && item.comparator !="not null" && item.comparator != "range"){ }} +
+ +
+ {{# } }} + +
+
{{# }); }} diff --git a/web/src/x.min.js b/web/src/x.min.js index 232b001..a2769c7 100644 --- a/web/src/x.min.js +++ b/web/src/x.min.js @@ -1558,7 +1558,7 @@ var X = window.X || { X.pageLogic['adduser'] = { init : function(){ - $(".adduser-top-box img").click(function(){ + $(document).off('click','.adduser-top-box img').on('click','.adduser-top-box img',function(){ layer.closeAll(); }) @@ -1580,7 +1580,7 @@ var X = window.X || { // }) var adduserData =[]; //以创建账号 - $(".adduser-subject-add-box div").click(function(){ + $(document).off('click','.adduser-subject-add-box div').on('click','.adduser-subject-add-box div',function(){ var txt = $(".adduser-subject-add-box input").val(); var titarr = txt.split(","); for(let i in titarr){ @@ -1596,24 +1596,23 @@ var X = window.X || { $(".adduser-subject-add-box input").val(""); }) - $('body').on("click",".adduser-table-title-cz img",function(){ + $(document).off('click','.adduser-table-title-cz img').on('click','.adduser-table-title-cz img',function(){ var index = $(this).attr("data-index"); adduserData.splice(index,1); - - update(); }) var cprojectindex = '';//获取点击的项目角色的index var cprojectdiv = '';//获取点击的项目角色的div - $("body").on("click",".adduser-role span",function(){ + $(document).off('click','.adduser-role span').on('click','.adduser-role span',function(){ cprojectindex = $(this).attr("data-index"); cprojectdiv = $(this); }) var cdatarightsindex = "";//获取点击的数据权限index var cdatarightsdiv = "";//获取点击的数据权限div - $("body").on("click",".adduser-attr span",function(){ + + $(document).off('click','.adduser-attr span').on('click','.adduser-attr span',function(){ cdatarightsindex = $(this).attr("data-index"); cdatarightsdiv = $(this); }) @@ -1637,12 +1636,11 @@ var X = window.X || { // }) } - $("body").on("click",".adduser-but-box .adduser-btn",function(){ + $(document).off('click','.adduser-but-box .adduser-btn').on('click','.adduser-but-box .adduser-btn',function(){ layer.closeAll(); - }) + }); - - $("body").on("click",".adduser-but-box .adduser-btn2",function(){ + $(document).off('click','.adduser-but-box .adduser-btn2').on('click','.adduser-but-box .adduser-btn2',function(){ console.log(adduserData); var namearr = []; for(let i in adduserData){ @@ -1657,8 +1655,7 @@ var X = window.X || { }else { layer.msg("请先添加账号"); } - - }) + }); } }; @@ -4068,8 +4065,8 @@ var X = window.X || { //筛选 $(document).off('click','.tab-right-box .tjsx').on("click",".tab-right-box .tjsx",function(){ - // layer.msg('该功能暂未开放'); - // return; + layer.msg('该功能暂未开放'); + return; X.open({ type: 1, title: false, @@ -4082,6 +4079,21 @@ var X = window.X || { }) }) + // 单个表格筛选 + $(document).off('click','.tishi-tjsx').on('click','.tishi-tjsx',function(){ + var id = $(this).attr('data-id'); + X.open({ + type: 1, + title: false, + closeBtn: 0, + shade:0, + shadeClose: false, + offset: [120,270], + url: "screen", + extData : id + }) + }); + // 侧边栏搜索 $('.sousuo-txt').bind('input propertychange', function() { var tit = $(this).val() @@ -5698,8 +5710,8 @@ var X = window.X || { $(document).off('click','.dropdownlist-list').on('click','.dropdownlist-list',function(){ var index = $(this).attr("data-index"); var dataArr = listdata[index]; - layer.closeAll(); me.callback && me.callback(dataArr); + layer.close( me.parms.layIndex ); }) } @@ -10087,12 +10099,32 @@ var X = window.X || { // srczip/logic/screen.js (function(){ X.pageLogic['screen'] = { - init : function(){ + init : function(parms){ var width = window.innerWidth - 270; $(".screen-box").css("width",width+"px"); + var me = this; + this.parms = parms; + this.callback = parms.callback; //选择后执行的回调 + var reportid = parms.extData;//获取到上层弹窗传的数据 + + + var my_event,load_filter_props,filter_map; + X.api("data_auth/my_event","get",{},function(d){ + my_event = d; + X.api("data_auth/load_filter_props","post",{event_name:my_event[0]['category'][0]['event_name']},function(val){ + load_filter_props = val; + X.api("data_auth/filter_map","get",{},function(d){ + filter_map = d; + // console.log(my_event); + // console.log(load_filter_props); + // console.log(filter_map); + updatascreencon(); + }) + }) + }); // 显示隐藏添加条件按钮 - $(".screen-right-box .img").click(function(){ + $(document).off('click','.screen-right-box .img').on('click','.screen-right-box .img',function(){ if($(".screen-buttom-box").css('display') == 'block'){ $(".screen-buttom-box").hide(); $(".screen-left-qei").css('bottom','0px'); @@ -10105,175 +10137,103 @@ var X = window.X || { }); //清空按钮 - $(".screen-right-box .qingkong").click(function(){ + $(document).off('click','.screen-right-box .qingkong').on('click','.screen-right-box .qingkong',function(){ layer.closeAll(); }); - $(".screen-left-box .screen-left-qei").click(function(){ + $(document).off('click','.screen-left-box .screen-left-qei').on('click','.screen-left-box .screen-left-qei',function(){ if($(this).html() == "且"){ $(this).html("或"); }else { $(this).html("且"); } - }) + }); - var dataid = 1;//给添加的数据一个id,方便后面好对应数据 //默认开始时有一个数据 var data = []; - - // { - // 'dataid': 0, - // 'conditionone': '来源渠道' , - // 'conditiononeid': '1' , - // 'conditiontwo':'等于' , - // 'conditiontwotime': true , - // 'conditiontwotimestart':'0000000000', - // 'conditionthree':'' } - //初始一个数据 - // X.laytpldata ("#screen-con-box-dot" ,data,".screen-con-box"); - // X.laydropdown(rightboxid,arr,function(d){ - // console.log(d); - // }); - updatascreencon(); + function updatascreencon(){ - var index = dataid; - var Divcon = `
-
- - 来源渠道 -
- -
- - -
- - -
-
-
- -
-
-
` - $(".screen-con-box").append(Divcon); - var rightboxid = "#right-box"+index+" .screen-right-txt"; - X.laydropdown(rightboxid,X.DATA.search.condition,function(d){ - $(rightboxid).val(d.title); - }); - // 添加数据 - var arr = { - 'dataid':dataid++, - 'conditionone': '来源渠道' , - 'conditiononeid': '1' , - 'conditiontwo':'等于' , - 'conditiontwotime': true , - 'conditiontwotimestart':'0000000000', - 'conditionthree':'' - }; - data.push(arr); - X.daterender("#time-box-timechoice"+index); - if(data.length > 1){ - $(".screen-left-qei").show(); - } - } + var drr={ + "columnName":load_filter_props[0]['category'][0]['id'],//事件id + "columnDesc":load_filter_props[0]['category'][0]['title'],//事件中文显示 + 'data_type':load_filter_props[0]['category'][0]['data_type'],//类型 + 'comparator_name':'等于',//默认等于 + "comparator":'==',//符号id + "ftv":[],//条件 + "strftv":'',//显示条件 + "section":[-1,1],//区间 + "tableType":load_filter_props[0]['id'] + }; + data.push(drr); + X.laytpldata("#screen-con-box-dot",data,".screen-con-box"); + }; //条件添加按钮 - $(".screen-buttom-box .screen-buttom").click(function(){ + $(document).off('click','.screen-buttom-box .screen-buttom').on('click','.screen-buttom-box .screen-buttom',function(){ updatascreencon(); }); X.daterender("#time-box-timechoice1"); - $(document).on("click",".screen-con-bg .left-type",function(){ + $(document).off('click','.screen-con-bg .left-type').on('click','.screen-con-bg .left-type',function(){ var obj = $(this); var offset = obj.offset(); + var index = obj.attr('data-index'); //点击按钮,数据,向左偏移,向右偏移 - X.querycriteriapop(X.DATA.search,'category',offset.left,offset.top+obj.height(),function(val){ - var id = obj.attr("data-id"); - $("#"+id+" "+"span").html(val.title); //修改筛选项一 - var idarr = id.split('type'); - var index = idarr[1]; //获取到点击的第几个 - data[index]['conditionone'] = val.title; //修改数组里面title的值 - data[index]['conditiononeid'] = val.id; - if(val.type == "time"){ - $("#screen-content-time-box"+index).show();//显示时间选择 - $("#screen-content-sel"+index).hide();//隐藏下拉框 - $("#right-box"+index).hide();//隐藏文本框 - data[index]['conditiontwotimestart'] = $("#time-box-timechoice"+index).val(); - }else { - $("#screen-content-time-box"+index).hide();//隐藏时间选择 - $("#screen-content-sel"+index).show();//显示下拉框 - var txtval = $("#screen-content-sel"+index).val(); - if(txtval == 4 || txtval == 5 ){ - $("#right-box"+index).hide();//隐藏文本框 - }else { - $("#right-box"+index).show();//隐藏文本框 - } - } - // console.log(data); + X.querycriteriapop(load_filter_props,'category',offset.left,offset.top+obj.height(),function(val){ + obj.html(val.title); + data[index]['columnDesc'] = val.title; + data[index]['columnName'] = val.id; + data[index]['data_type'] = val.type; + data[index]['tableType'] = val.table_type; + X.laytpldata("#screen-con-box-dot",data,".screen-con-box"); }); }); //下拉选项触发事件 - $(".screen-content-sel").change(function(){ - var val = $(this).val(); - var dataid = $(this).attr("data-id"); - var arr = dataid.split('sel'); - var index = arr[1]; - data[index]['conditiontwo'] = val; - // console.log(data); + $(document).off('click','.screen-content-sel').on('click','.screen-content-sel',function(){ + var obj = $(this); + var offset = obj.offset(); + var index = obj.attr('data-index'); + var type =obj.attr('data-type'); + + X.parametersopen(filter_map[type],'dropdownlist',[offset.top+obj.height(),offset.left],function(val){ + obj.html(val.title); + data[index]['comparator_name'] = val.title; + data[index]['comparator'] = val.id; + if(val.id == "range"){ + data[index]['ftv'] = [-1,1]; + } + X.laytpldata("#screen-con-box-dot",data,".screen-con-box"); + }) }); - //时间选择框数字发生改变 - $('.screen-content-time-box .timechoice').bind('input propertychange', function() { - var txt = $(this).val() - var dataid = $(this).attr("data-id"); - var arr = dataid.split('timechoice'); - var index = arr[1]; - data[index]['conditiontwotimestart'] = txt; - // console.log(data); - }) - //文本框条件输入触发事件 - $('.screen-right-txt').bind('input propertychange', function() { - var txt = $(this).val(); - var index = $(this).attr("data-id"); - data[index]['conditionthree'] = txt; - console.log(data); - }) + $(document).off('click','.screen-right-txt').on('change','.screen-right-txt',function(){ + var index = $(this).attr('data-index'); + var val = $(this).val(); + var valarr = val.split(","); + data[index]['ftv']=valarr; + data[index]['strftv']=val; + }); //删除按钮 - $(document).on("click",".screen-con-bg .screen-del",function(){ + $(document).off('click','.screen-con-bg .screen-del').on('click','.screen-con-bg .screen-del',function(){ + var index = $(this).attr('data-index'); if(data.length > 1){ - var dataid = $(this).attr('data-id'); - var arr = dataid.split('del'); - var index = arr[1]; - for(let i in data){ - if(index == data[i]['dataid']){ - data.splice(i, 1); - $("#screen-con-bg"+index).remove(); - } - } - if(data.length == 1){ - $(".screen-left-box .screen-left-qei").hide(); - } + data.splice(index, 1); + X.laytpldata("#screen-con-box-dot",data,".screen-con-box"); }else { layer.closeAll(); } - - }) + }); // 计算按钮 - $(".screen-right-box .jisuan").click(function(){ + $(document).off('click','.screen-right-box .jisuan').on('click','.screen-right-box .jisuan',function(){ console.log(data); - // 刷新看板里的数据暂时没有 - - - }) + console.log(reportid); + // 刷新看板里的数据暂时没有 + }); } }; diff --git a/web/srczip/logic/adduser.js b/web/srczip/logic/adduser.js index ac615b3..e69055b 100644 --- a/web/srczip/logic/adduser.js +++ b/web/srczip/logic/adduser.js @@ -2,7 +2,7 @@ X.pageLogic['adduser'] = { init : function(){ - $(".adduser-top-box img").click(function(){ + $(document).off('click','.adduser-top-box img').on('click','.adduser-top-box img',function(){ layer.closeAll(); }) @@ -24,7 +24,7 @@ // }) var adduserData =[]; //以创建账号 - $(".adduser-subject-add-box div").click(function(){ + $(document).off('click','.adduser-subject-add-box div').on('click','.adduser-subject-add-box div',function(){ var txt = $(".adduser-subject-add-box input").val(); var titarr = txt.split(","); for(let i in titarr){ @@ -40,24 +40,23 @@ $(".adduser-subject-add-box input").val(""); }) - $('body').on("click",".adduser-table-title-cz img",function(){ + $(document).off('click','.adduser-table-title-cz img').on('click','.adduser-table-title-cz img',function(){ var index = $(this).attr("data-index"); adduserData.splice(index,1); - - update(); }) var cprojectindex = '';//获取点击的项目角色的index var cprojectdiv = '';//获取点击的项目角色的div - $("body").on("click",".adduser-role span",function(){ + $(document).off('click','.adduser-role span').on('click','.adduser-role span',function(){ cprojectindex = $(this).attr("data-index"); cprojectdiv = $(this); }) var cdatarightsindex = "";//获取点击的数据权限index var cdatarightsdiv = "";//获取点击的数据权限div - $("body").on("click",".adduser-attr span",function(){ + + $(document).off('click','.adduser-attr span').on('click','.adduser-attr span',function(){ cdatarightsindex = $(this).attr("data-index"); cdatarightsdiv = $(this); }) @@ -81,12 +80,11 @@ // }) } - $("body").on("click",".adduser-but-box .adduser-btn",function(){ + $(document).off('click','.adduser-but-box .adduser-btn').on('click','.adduser-but-box .adduser-btn',function(){ layer.closeAll(); - }) + }); - - $("body").on("click",".adduser-but-box .adduser-btn2",function(){ + $(document).off('click','.adduser-but-box .adduser-btn2').on('click','.adduser-but-box .adduser-btn2',function(){ console.log(adduserData); var namearr = []; for(let i in adduserData){ @@ -101,8 +99,7 @@ }else { layer.msg("请先添加账号"); } - - }) + }); } }; diff --git a/web/srczip/logic/dashboard.js b/web/srczip/logic/dashboard.js index 2e1c34d..3b403a0 100644 --- a/web/srczip/logic/dashboard.js +++ b/web/srczip/logic/dashboard.js @@ -127,8 +127,8 @@ //筛选 $(document).off('click','.tab-right-box .tjsx').on("click",".tab-right-box .tjsx",function(){ - // layer.msg('该功能暂未开放'); - // return; + layer.msg('该功能暂未开放'); + return; X.open({ type: 1, title: false, @@ -141,6 +141,21 @@ }) }) + // 单个表格筛选 + $(document).off('click','.tishi-tjsx').on('click','.tishi-tjsx',function(){ + var id = $(this).attr('data-id'); + X.open({ + type: 1, + title: false, + closeBtn: 0, + shade:0, + shadeClose: false, + offset: [120,270], + url: "screen", + extData : id + }) + }); + // 侧边栏搜索 $('.sousuo-txt').bind('input propertychange', function() { var tit = $(this).val() diff --git a/web/srczip/logic/dropdownlist.js b/web/srczip/logic/dropdownlist.js index 8617736..1a53cc7 100644 --- a/web/srczip/logic/dropdownlist.js +++ b/web/srczip/logic/dropdownlist.js @@ -12,8 +12,8 @@ $(document).off('click','.dropdownlist-list').on('click','.dropdownlist-list',function(){ var index = $(this).attr("data-index"); var dataArr = listdata[index]; - layer.closeAll(); me.callback && me.callback(dataArr); + layer.close( me.parms.layIndex ); }) } diff --git a/web/srczip/logic/screen.js b/web/srczip/logic/screen.js index b948b9c..7f63a7a 100644 --- a/web/srczip/logic/screen.js +++ b/web/srczip/logic/screen.js @@ -1,11 +1,31 @@ (function(){ X.pageLogic['screen'] = { - init : function(){ + init : function(parms){ var width = window.innerWidth - 270; $(".screen-box").css("width",width+"px"); + var me = this; + this.parms = parms; + this.callback = parms.callback; //选择后执行的回调 + var reportid = parms.extData;//获取到上层弹窗传的数据 + + + var my_event,load_filter_props,filter_map; + X.api("data_auth/my_event","get",{},function(d){ + my_event = d; + X.api("data_auth/load_filter_props","post",{event_name:my_event[0]['category'][0]['event_name']},function(val){ + load_filter_props = val; + X.api("data_auth/filter_map","get",{},function(d){ + filter_map = d; + // console.log(my_event); + // console.log(load_filter_props); + // console.log(filter_map); + updatascreencon(); + }) + }) + }); // 显示隐藏添加条件按钮 - $(".screen-right-box .img").click(function(){ + $(document).off('click','.screen-right-box .img').on('click','.screen-right-box .img',function(){ if($(".screen-buttom-box").css('display') == 'block'){ $(".screen-buttom-box").hide(); $(".screen-left-qei").css('bottom','0px'); @@ -18,175 +38,103 @@ }); //清空按钮 - $(".screen-right-box .qingkong").click(function(){ + $(document).off('click','.screen-right-box .qingkong').on('click','.screen-right-box .qingkong',function(){ layer.closeAll(); }); - $(".screen-left-box .screen-left-qei").click(function(){ + $(document).off('click','.screen-left-box .screen-left-qei').on('click','.screen-left-box .screen-left-qei',function(){ if($(this).html() == "且"){ $(this).html("或"); }else { $(this).html("且"); } - }) + }); - var dataid = 1;//给添加的数据一个id,方便后面好对应数据 //默认开始时有一个数据 var data = []; - - // { - // 'dataid': 0, - // 'conditionone': '来源渠道' , - // 'conditiononeid': '1' , - // 'conditiontwo':'等于' , - // 'conditiontwotime': true , - // 'conditiontwotimestart':'0000000000', - // 'conditionthree':'' } - //初始一个数据 - // X.laytpldata ("#screen-con-box-dot" ,data,".screen-con-box"); - // X.laydropdown(rightboxid,arr,function(d){ - // console.log(d); - // }); - updatascreencon(); + function updatascreencon(){ - var index = dataid; - var Divcon = `
-
- - 来源渠道 -
- -
- - -
- - -
-
-
- -
-
-
` - $(".screen-con-box").append(Divcon); - var rightboxid = "#right-box"+index+" .screen-right-txt"; - X.laydropdown(rightboxid,X.DATA.search.condition,function(d){ - $(rightboxid).val(d.title); - }); - // 添加数据 - var arr = { - 'dataid':dataid++, - 'conditionone': '来源渠道' , - 'conditiononeid': '1' , - 'conditiontwo':'等于' , - 'conditiontwotime': true , - 'conditiontwotimestart':'0000000000', - 'conditionthree':'' - }; - data.push(arr); - X.daterender("#time-box-timechoice"+index); - if(data.length > 1){ - $(".screen-left-qei").show(); - } - } + var drr={ + "columnName":load_filter_props[0]['category'][0]['id'],//事件id + "columnDesc":load_filter_props[0]['category'][0]['title'],//事件中文显示 + 'data_type':load_filter_props[0]['category'][0]['data_type'],//类型 + 'comparator_name':'等于',//默认等于 + "comparator":'==',//符号id + "ftv":[],//条件 + "strftv":'',//显示条件 + "section":[-1,1],//区间 + "tableType":load_filter_props[0]['id'] + }; + data.push(drr); + X.laytpldata("#screen-con-box-dot",data,".screen-con-box"); + }; //条件添加按钮 - $(".screen-buttom-box .screen-buttom").click(function(){ + $(document).off('click','.screen-buttom-box .screen-buttom').on('click','.screen-buttom-box .screen-buttom',function(){ updatascreencon(); }); X.daterender("#time-box-timechoice1"); - $(document).on("click",".screen-con-bg .left-type",function(){ + $(document).off('click','.screen-con-bg .left-type').on('click','.screen-con-bg .left-type',function(){ var obj = $(this); var offset = obj.offset(); + var index = obj.attr('data-index'); //点击按钮,数据,向左偏移,向右偏移 - X.querycriteriapop(X.DATA.search,'category',offset.left,offset.top+obj.height(),function(val){ - var id = obj.attr("data-id"); - $("#"+id+" "+"span").html(val.title); //修改筛选项一 - var idarr = id.split('type'); - var index = idarr[1]; //获取到点击的第几个 - data[index]['conditionone'] = val.title; //修改数组里面title的值 - data[index]['conditiononeid'] = val.id; - if(val.type == "time"){ - $("#screen-content-time-box"+index).show();//显示时间选择 - $("#screen-content-sel"+index).hide();//隐藏下拉框 - $("#right-box"+index).hide();//隐藏文本框 - data[index]['conditiontwotimestart'] = $("#time-box-timechoice"+index).val(); - }else { - $("#screen-content-time-box"+index).hide();//隐藏时间选择 - $("#screen-content-sel"+index).show();//显示下拉框 - var txtval = $("#screen-content-sel"+index).val(); - if(txtval == 4 || txtval == 5 ){ - $("#right-box"+index).hide();//隐藏文本框 - }else { - $("#right-box"+index).show();//隐藏文本框 - } - } - // console.log(data); + X.querycriteriapop(load_filter_props,'category',offset.left,offset.top+obj.height(),function(val){ + obj.html(val.title); + data[index]['columnDesc'] = val.title; + data[index]['columnName'] = val.id; + data[index]['data_type'] = val.type; + data[index]['tableType'] = val.table_type; + X.laytpldata("#screen-con-box-dot",data,".screen-con-box"); }); }); //下拉选项触发事件 - $(".screen-content-sel").change(function(){ - var val = $(this).val(); - var dataid = $(this).attr("data-id"); - var arr = dataid.split('sel'); - var index = arr[1]; - data[index]['conditiontwo'] = val; - // console.log(data); + $(document).off('click','.screen-content-sel').on('click','.screen-content-sel',function(){ + var obj = $(this); + var offset = obj.offset(); + var index = obj.attr('data-index'); + var type =obj.attr('data-type'); + + X.parametersopen(filter_map[type],'dropdownlist',[offset.top+obj.height(),offset.left],function(val){ + obj.html(val.title); + data[index]['comparator_name'] = val.title; + data[index]['comparator'] = val.id; + if(val.id == "range"){ + data[index]['ftv'] = [-1,1]; + } + X.laytpldata("#screen-con-box-dot",data,".screen-con-box"); + }) }); - //时间选择框数字发生改变 - $('.screen-content-time-box .timechoice').bind('input propertychange', function() { - var txt = $(this).val() - var dataid = $(this).attr("data-id"); - var arr = dataid.split('timechoice'); - var index = arr[1]; - data[index]['conditiontwotimestart'] = txt; - // console.log(data); - }) - //文本框条件输入触发事件 - $('.screen-right-txt').bind('input propertychange', function() { - var txt = $(this).val(); - var index = $(this).attr("data-id"); - data[index]['conditionthree'] = txt; - console.log(data); - }) + $(document).off('click','.screen-right-txt').on('change','.screen-right-txt',function(){ + var index = $(this).attr('data-index'); + var val = $(this).val(); + var valarr = val.split(","); + data[index]['ftv']=valarr; + data[index]['strftv']=val; + }); //删除按钮 - $(document).on("click",".screen-con-bg .screen-del",function(){ + $(document).off('click','.screen-con-bg .screen-del').on('click','.screen-con-bg .screen-del',function(){ + var index = $(this).attr('data-index'); if(data.length > 1){ - var dataid = $(this).attr('data-id'); - var arr = dataid.split('del'); - var index = arr[1]; - for(let i in data){ - if(index == data[i]['dataid']){ - data.splice(i, 1); - $("#screen-con-bg"+index).remove(); - } - } - if(data.length == 1){ - $(".screen-left-box .screen-left-qei").hide(); - } + data.splice(index, 1); + X.laytpldata("#screen-con-box-dot",data,".screen-con-box"); }else { layer.closeAll(); } - - }) + }); // 计算按钮 - $(".screen-right-box .jisuan").click(function(){ + $(document).off('click','.screen-right-box .jisuan').on('click','.screen-right-box .jisuan',function(){ console.log(data); - // 刷新看板里的数据暂时没有 - - - }) + console.log(reportid); + // 刷新看板里的数据暂时没有 + }); } }; diff --git a/web/static/css/style.css b/web/static/css/style.css index 051fd5e..bddf6d6 100644 --- a/web/static/css/style.css +++ b/web/static/css/style.css @@ -541,9 +541,9 @@ label:not(.form-check-label):not(.custom-file-label) { font-weight: 400; } .screen-con-box { width: calc(100% - 212px); display: flex; flex-flow: row wrap; align-items: center } .screen-con-bg { display: flex; align-items: center; min-height: 36px; color: #42546d; margin: 4px 4px 0 0; padding: 2px 24px 2px 4px; } .screen-con-bg:hover > .screen-del { display: block; } -.screen-con-bg .left-type { background-color: #f0f2f5; border-radius: 2px; cursor: pointer; padding: 0 6px; min-width: 40px; font-size: 13px; line-height: 29px; height: 28px; } +.screen-con-bg .left-type { background-color: #f0f2f5; color: #67729d; border-radius: 2px; cursor: pointer; padding: 0 6px; min-width: 40px; font-size: 13px; line-height: 29px; height: 28px; } .screen-con-bg .left-type img { position: relative; top: -2px; } -.screen-con-bg .content-type { cursor: pointer; height: 28px; margin-left: 4px; padding: 0 6px; color: #67729d; background-color: #f0f2f5; } +.screen-con-bg .content-type { cursor: pointer; height: 28px; line-height: 28px; margin-left: 4px; padding: 0 6px; color: #67729d; background-color: #f0f2f5; } .screen-con-bg .content-type .screen-content-sel { height: 28px; border: 0; background-color: #f0f2f5; color: #67729d; } .screen-con-bg .right-box { margin-left: 4px; background-color: #f0f2f5; padding: 0 6px; color: #67729d; height: 28px; } diff --git a/web/static/img/guolv.png b/web/static/img/guolv.png index ba7c3a2..1291d3d 100644 Binary files a/web/static/img/guolv.png and b/web/static/img/guolv.png differ diff --git a/web/static/img/manual/04B6F50F-A306-479b-A538-C81F1EEF10FD.png b/web/static/img/manual/04B6F50F-A306-479b-A538-C81F1EEF10FD.png new file mode 100644 index 0000000..283592f Binary files /dev/null and b/web/static/img/manual/04B6F50F-A306-479b-A538-C81F1EEF10FD.png differ diff --git a/web/static/img/manual/2C0884A6-9C0A-4933-B131-0140CAAB2DE5.png b/web/static/img/manual/2C0884A6-9C0A-4933-B131-0140CAAB2DE5.png new file mode 100644 index 0000000..3d2765e Binary files /dev/null and b/web/static/img/manual/2C0884A6-9C0A-4933-B131-0140CAAB2DE5.png differ diff --git a/web/static/img/manual/43DCC732-7C23-42d2-BBD1-B4601FC95442.png b/web/static/img/manual/43DCC732-7C23-42d2-BBD1-B4601FC95442.png new file mode 100644 index 0000000..414ae74 Binary files /dev/null and b/web/static/img/manual/43DCC732-7C23-42d2-BBD1-B4601FC95442.png differ diff --git a/web/static/img/manual/4C93670F-3182-41b3-913F-A41B3FE1EE69.png b/web/static/img/manual/4C93670F-3182-41b3-913F-A41B3FE1EE69.png new file mode 100644 index 0000000..e8a4f3a Binary files /dev/null and b/web/static/img/manual/4C93670F-3182-41b3-913F-A41B3FE1EE69.png differ diff --git a/web/static/img/manual/7B0ABCFE-4B72-4ccf-8389-FCB2322C5DD4.png b/web/static/img/manual/7B0ABCFE-4B72-4ccf-8389-FCB2322C5DD4.png new file mode 100644 index 0000000..0e93875 Binary files /dev/null and b/web/static/img/manual/7B0ABCFE-4B72-4ccf-8389-FCB2322C5DD4.png differ diff --git a/web/static/img/manual/83555E30-7BFB-4363-91BE-0936D47C3727.png b/web/static/img/manual/83555E30-7BFB-4363-91BE-0936D47C3727.png new file mode 100644 index 0000000..3a053a9 Binary files /dev/null and b/web/static/img/manual/83555E30-7BFB-4363-91BE-0936D47C3727.png differ diff --git a/web/static/img/manual/89C5FCED-C155-409c-953F-32C54B5009EA.png b/web/static/img/manual/89C5FCED-C155-409c-953F-32C54B5009EA.png new file mode 100644 index 0000000..4ded534 Binary files /dev/null and b/web/static/img/manual/89C5FCED-C155-409c-953F-32C54B5009EA.png differ diff --git a/web/static/img/manual/9A48CAD0-A539-4c3d-8E5E-CF00DC455972.png b/web/static/img/manual/9A48CAD0-A539-4c3d-8E5E-CF00DC455972.png new file mode 100644 index 0000000..c4ac874 Binary files /dev/null and b/web/static/img/manual/9A48CAD0-A539-4c3d-8E5E-CF00DC455972.png differ diff --git a/web/static/img/manual/A6B5F942-67AF-4477-B940-17E45225B70E.png b/web/static/img/manual/A6B5F942-67AF-4477-B940-17E45225B70E.png new file mode 100644 index 0000000..d09b09c Binary files /dev/null and b/web/static/img/manual/A6B5F942-67AF-4477-B940-17E45225B70E.png differ diff --git a/web/static/img/manual/AB63EE0E-EBBE-41d6-821D-EA8ADA79AE54.png b/web/static/img/manual/AB63EE0E-EBBE-41d6-821D-EA8ADA79AE54.png new file mode 100644 index 0000000..d05350e Binary files /dev/null and b/web/static/img/manual/AB63EE0E-EBBE-41d6-821D-EA8ADA79AE54.png differ diff --git a/web/static/img/manual/C44C4A9A-E447-43ed-81F8-4BA9E9C748E0.png b/web/static/img/manual/C44C4A9A-E447-43ed-81F8-4BA9E9C748E0.png new file mode 100644 index 0000000..edf95fc Binary files /dev/null and b/web/static/img/manual/C44C4A9A-E447-43ed-81F8-4BA9E9C748E0.png differ diff --git a/web/static/img/manual/D6847611-0C3D-4ca2-B4B4-EA1C79454050.png b/web/static/img/manual/D6847611-0C3D-4ca2-B4B4-EA1C79454050.png new file mode 100644 index 0000000..004bc25 Binary files /dev/null and b/web/static/img/manual/D6847611-0C3D-4ca2-B4B4-EA1C79454050.png differ diff --git a/web/static/img/manual/EE4EE700-F1A1-48ac-8BFE-69C89709E1E7.png b/web/static/img/manual/EE4EE700-F1A1-48ac-8BFE-69C89709E1E7.png new file mode 100644 index 0000000..7f5d7ce Binary files /dev/null and b/web/static/img/manual/EE4EE700-F1A1-48ac-8BFE-69C89709E1E7.png differ diff --git a/web/static/img/manual/F90EFA33-FC17-4497-BDD6-72F68B10F02D.png b/web/static/img/manual/F90EFA33-FC17-4497-BDD6-72F68B10F02D.png new file mode 100644 index 0000000..54481d1 Binary files /dev/null and b/web/static/img/manual/F90EFA33-FC17-4497-BDD6-72F68B10F02D.png differ diff --git a/web/static/img/manual/image-20210513145217188.png b/web/static/img/manual/image-20210513145217188.png deleted file mode 100644 index 1f3a178..0000000 Binary files a/web/static/img/manual/image-20210513145217188.png and /dev/null differ diff --git a/web/static/img/manual/image-20210601182528665.png b/web/static/img/manual/image-20210601182528665.png deleted file mode 100644 index 38abc08..0000000 Binary files a/web/static/img/manual/image-20210601182528665.png and /dev/null differ diff --git a/web/static/img/manual/image-20210601182947135.png b/web/static/img/manual/image-20210601182947135.png deleted file mode 100644 index 994c785..0000000 Binary files a/web/static/img/manual/image-20210601182947135.png and /dev/null differ diff --git a/web/static/img/manual/image-20210603191713543.png b/web/static/img/manual/image-20210603191713543.png deleted file mode 100644 index 5ff1a16..0000000 Binary files a/web/static/img/manual/image-20210603191713543.png and /dev/null differ diff --git a/web/static/img/manual/image-20210603191800320.png b/web/static/img/manual/image-20210603191800320.png deleted file mode 100644 index 2e2097f..0000000 Binary files a/web/static/img/manual/image-20210603191800320.png and /dev/null differ diff --git a/web/static/img/manual/image-20210603192409910.png b/web/static/img/manual/image-20210603192409910.png deleted file mode 100644 index 5d49820..0000000 Binary files a/web/static/img/manual/image-20210603192409910.png and /dev/null differ diff --git a/web/static/img/manual/image-20210603192513416.png b/web/static/img/manual/image-20210603192513416.png deleted file mode 100644 index 7326bf7..0000000 Binary files a/web/static/img/manual/image-20210603192513416.png and /dev/null differ diff --git a/web/static/img/manual/image-20210603194816518.png b/web/static/img/manual/image-20210603194816518.png deleted file mode 100644 index 8dcab4f..0000000 Binary files a/web/static/img/manual/image-20210603194816518.png and /dev/null differ diff --git a/web/static/img/manual/image-20210603194917426.png b/web/static/img/manual/image-20210603194917426.png deleted file mode 100644 index 9cc5211..0000000 Binary files a/web/static/img/manual/image-20210603194917426.png and /dev/null differ diff --git a/web/static/img/manual/image-20210611183044187.png b/web/static/img/manual/image-20210611183044187.png deleted file mode 100644 index 08f0150..0000000 Binary files a/web/static/img/manual/image-20210611183044187.png and /dev/null differ diff --git a/web/static/img/manual/image-20210611184200191.png b/web/static/img/manual/image-20210611184200191.png deleted file mode 100644 index f6dabf5..0000000 Binary files a/web/static/img/manual/image-20210611184200191.png and /dev/null differ diff --git a/web/static/img/manual/image-20210616175500703.png b/web/static/img/manual/image-20210616175500703.png deleted file mode 100644 index 49d6213..0000000 Binary files a/web/static/img/manual/image-20210616175500703.png and /dev/null differ diff --git a/web/static/img/manual/image-20210616175713552.png b/web/static/img/manual/image-20210616175713552.png deleted file mode 100644 index c5f949d..0000000 Binary files a/web/static/img/manual/image-20210616175713552.png and /dev/null differ diff --git a/web/static/img/manual/image-20210618211051474.png b/web/static/img/manual/image-20210618211051474.png deleted file mode 100644 index 0501f85..0000000 Binary files a/web/static/img/manual/image-20210618211051474.png and /dev/null differ diff --git a/web/static/img/manual/image-20210618211412144.png b/web/static/img/manual/image-20210618211412144.png deleted file mode 100644 index 552c9a0..0000000 Binary files a/web/static/img/manual/image-20210618211412144.png and /dev/null differ diff --git a/web/static/img/manual/image-20210625180757522.png b/web/static/img/manual/image-20210625180757522.png deleted file mode 100644 index 121fc64..0000000 Binary files a/web/static/img/manual/image-20210625180757522.png and /dev/null differ diff --git a/web/static/img/manual/image-20210625182009566.png b/web/static/img/manual/image-20210625182009566.png deleted file mode 100644 index 07852a7..0000000 Binary files a/web/static/img/manual/image-20210625182009566.png and /dev/null differ diff --git a/web/static/img/manual/image-20210628120004550.png b/web/static/img/manual/image-20210628120004550.png deleted file mode 100644 index b315701..0000000 Binary files a/web/static/img/manual/image-20210628120004550.png and /dev/null differ diff --git a/web/static/img/manual/image-20210628120043544.png b/web/static/img/manual/image-20210628120043544.png deleted file mode 100644 index 36f0a7a..0000000 Binary files a/web/static/img/manual/image-20210628120043544.png and /dev/null differ diff --git a/web/static/img/manual/image-20210628120315999.png b/web/static/img/manual/image-20210628120315999.png deleted file mode 100644 index 50ad344..0000000 Binary files a/web/static/img/manual/image-20210628120315999.png and /dev/null differ diff --git a/web/static/img/manual/image-20210628133858203.png b/web/static/img/manual/image-20210628133858203.png deleted file mode 100644 index 3bdadc4..0000000 Binary files a/web/static/img/manual/image-20210628133858203.png and /dev/null differ diff --git a/web/static/img/manual/image-20210628134042560.png b/web/static/img/manual/image-20210628134042560.png deleted file mode 100644 index 8faf9ff..0000000 Binary files a/web/static/img/manual/image-20210628134042560.png and /dev/null differ diff --git a/web/static/img/manual/image-20210628134652233.png b/web/static/img/manual/image-20210628134652233.png deleted file mode 100644 index b13857c..0000000 Binary files a/web/static/img/manual/image-20210628134652233.png and /dev/null differ diff --git a/web/static/img/manual/image-20210628134843733.png b/web/static/img/manual/image-20210628134843733.png deleted file mode 100644 index f7a437a..0000000 Binary files a/web/static/img/manual/image-20210628134843733.png and /dev/null differ diff --git a/web/static/img/manual/image-20210701195631711.png b/web/static/img/manual/image-20210701195631711.png deleted file mode 100644 index 31fba3b..0000000 Binary files a/web/static/img/manual/image-20210701195631711.png and /dev/null differ diff --git a/web/static/img/manual/image-20210701195647992.png b/web/static/img/manual/image-20210701195647992.png deleted file mode 100644 index 5cf7ee3..0000000 Binary files a/web/static/img/manual/image-20210701195647992.png and /dev/null differ diff --git a/web/static/img/manual/image-20210701195733071.png b/web/static/img/manual/image-20210701195733071.png deleted file mode 100644 index f1f543f..0000000 Binary files a/web/static/img/manual/image-20210701195733071.png and /dev/null differ diff --git a/web/static/img/manual/image-20210701200116684.png b/web/static/img/manual/image-20210701200116684.png deleted file mode 100644 index 23ab472..0000000 Binary files a/web/static/img/manual/image-20210701200116684.png and /dev/null differ diff --git a/web/static/img/manual/image-20210701200224486.png b/web/static/img/manual/image-20210701200224486.png deleted file mode 100644 index cd636fb..0000000 Binary files a/web/static/img/manual/image-20210701200224486.png and /dev/null differ diff --git a/web/static/img/manual/image-20210701200309132.png b/web/static/img/manual/image-20210701200309132.png deleted file mode 100644 index d322f8e..0000000 Binary files a/web/static/img/manual/image-20210701200309132.png and /dev/null differ diff --git a/web/static/img/manual/image-20210701200832588.png b/web/static/img/manual/image-20210701200832588.png deleted file mode 100644 index e411102..0000000 Binary files a/web/static/img/manual/image-20210701200832588.png and /dev/null differ diff --git a/web/static/img/manual/image-20210701201646996.png b/web/static/img/manual/image-20210701201646996.png deleted file mode 100644 index 244a5f4..0000000 Binary files a/web/static/img/manual/image-20210701201646996.png and /dev/null differ diff --git a/web/static/img/manual/image-20210701202043873.png b/web/static/img/manual/image-20210701202043873.png deleted file mode 100644 index bbefbee..0000000 Binary files a/web/static/img/manual/image-20210701202043873.png and /dev/null differ diff --git a/web/static/img/manual/image-20210702095003316.png b/web/static/img/manual/image-20210702095003316.png deleted file mode 100644 index de8af9e..0000000 Binary files a/web/static/img/manual/image-20210702095003316.png and /dev/null differ diff --git a/web/static/img/manual/image-20210702095009317.png b/web/static/img/manual/image-20210702095009317.png deleted file mode 100644 index de8af9e..0000000 Binary files a/web/static/img/manual/image-20210702095009317.png and /dev/null differ diff --git a/web/static/img/manual/image-20210702095022509.png b/web/static/img/manual/image-20210702095022509.png deleted file mode 100644 index cca35ea..0000000 Binary files a/web/static/img/manual/image-20210702095022509.png and /dev/null differ diff --git a/web/static/img/manual/image-20210702095035159.png b/web/static/img/manual/image-20210702095035159.png deleted file mode 100644 index cca35ea..0000000 Binary files a/web/static/img/manual/image-20210702095035159.png and /dev/null differ diff --git a/web/static/img/manual/image-20210709171738832.png b/web/static/img/manual/image-20210709171738832.png deleted file mode 100644 index 9a8ffc4..0000000 Binary files a/web/static/img/manual/image-20210709171738832.png and /dev/null differ diff --git a/web/static/img/manual/image-20210712112641471.png b/web/static/img/manual/image-20210712112641471.png deleted file mode 100644 index 8808cd6..0000000 Binary files a/web/static/img/manual/image-20210712112641471.png and /dev/null differ diff --git a/web/static/img/manual/image-20210712112755605.png b/web/static/img/manual/image-20210712112755605.png deleted file mode 100644 index 66a0bc1..0000000 Binary files a/web/static/img/manual/image-20210712112755605.png and /dev/null differ diff --git a/web/static/img/manual/image-20210712112815446.png b/web/static/img/manual/image-20210712112815446.png deleted file mode 100644 index 4a8b9af..0000000 Binary files a/web/static/img/manual/image-20210712112815446.png and /dev/null differ diff --git a/web/static/img/manual/image-20210712112845245.png b/web/static/img/manual/image-20210712112845245.png deleted file mode 100644 index 5e02cd7..0000000 Binary files a/web/static/img/manual/image-20210712112845245.png and /dev/null differ diff --git a/web/static/img/manual/image-20210712112922433.png b/web/static/img/manual/image-20210712112922433.png deleted file mode 100644 index 7fe73a4..0000000 Binary files a/web/static/img/manual/image-20210712112922433.png and /dev/null differ diff --git a/web/static/img/manual/image-20210712113219173.png b/web/static/img/manual/image-20210712113219173.png deleted file mode 100644 index 8c79f15..0000000 Binary files a/web/static/img/manual/image-20210712113219173.png and /dev/null differ diff --git a/web/static/img/manual/image-20210712114509442.png b/web/static/img/manual/image-20210712114509442.png deleted file mode 100644 index 961632a..0000000 Binary files a/web/static/img/manual/image-20210712114509442.png and /dev/null differ diff --git a/web/static/img/manual/image-20210712114534600.png b/web/static/img/manual/image-20210712114534600.png deleted file mode 100644 index 9b82969..0000000 Binary files a/web/static/img/manual/image-20210712114534600.png and /dev/null differ diff --git a/web/static/img/manual/image-20210712114541133.png b/web/static/img/manual/image-20210712114541133.png deleted file mode 100644 index 41cdc92..0000000 Binary files a/web/static/img/manual/image-20210712114541133.png and /dev/null differ diff --git a/web/static/img/manual/image-20210712114547558.png b/web/static/img/manual/image-20210712114547558.png deleted file mode 100644 index 174cec5..0000000 Binary files a/web/static/img/manual/image-20210712114547558.png and /dev/null differ diff --git a/web/static/img/manual/image-20210712140049364.png b/web/static/img/manual/image-20210712140049364.png deleted file mode 100644 index 01502de..0000000 Binary files a/web/static/img/manual/image-20210712140049364.png and /dev/null differ diff --git a/web/static/img/manual/image-20210826180456415.png b/web/static/img/manual/image-20210826180456415.png deleted file mode 100644 index 4c234cf..0000000 Binary files a/web/static/img/manual/image-20210826180456415.png and /dev/null differ diff --git a/web/static/img/manual/image-20210831155846959.png b/web/static/img/manual/image-20210831155846959.png deleted file mode 100644 index f8a4ae3..0000000 Binary files a/web/static/img/manual/image-20210831155846959.png and /dev/null differ diff --git a/web/static/img/manual/image-20210831155911925.png b/web/static/img/manual/image-20210831155911925.png deleted file mode 100644 index f8a4ae3..0000000 Binary files a/web/static/img/manual/image-20210831155911925.png and /dev/null differ diff --git a/web/static/img/manual/image-20210831155931086.png b/web/static/img/manual/image-20210831155931086.png deleted file mode 100644 index ebdb752..0000000 Binary files a/web/static/img/manual/image-20210831155931086.png and /dev/null differ diff --git a/web/static/img/manual/image-20210831161423729.png b/web/static/img/manual/image-20210831161423729.png deleted file mode 100644 index 7bceae3..0000000 Binary files a/web/static/img/manual/image-20210831161423729.png and /dev/null differ diff --git a/web/static/img/manual/image-20210831164618422.png b/web/static/img/manual/image-20210831164618422.png deleted file mode 100644 index 34aa8b1..0000000 Binary files a/web/static/img/manual/image-20210831164618422.png and /dev/null differ diff --git a/web/static/img/manual/image-20210831175231277.png b/web/static/img/manual/image-20210831175231277.png deleted file mode 100644 index 64e958b..0000000 Binary files a/web/static/img/manual/image-20210831175231277.png and /dev/null differ diff --git a/web/static/img/manual/image-20210902183623008.png b/web/static/img/manual/image-20210902183623008.png deleted file mode 100644 index 6faaa83..0000000 Binary files a/web/static/img/manual/image-20210902183623008.png and /dev/null differ diff --git a/web/static/img/manual/image-20210902184656701.png b/web/static/img/manual/image-20210902184656701.png deleted file mode 100644 index b0e78be..0000000 Binary files a/web/static/img/manual/image-20210902184656701.png and /dev/null differ diff --git a/web/static/img/manual/image-20210902184826397.png b/web/static/img/manual/image-20210902184826397.png deleted file mode 100644 index 8efdea2..0000000 Binary files a/web/static/img/manual/image-20210902184826397.png and /dev/null differ diff --git a/web/static/img/manual/image-20210902184930630.png b/web/static/img/manual/image-20210902184930630.png deleted file mode 100644 index eadd63b..0000000 Binary files a/web/static/img/manual/image-20210902184930630.png and /dev/null differ diff --git a/web/static/img/manual/image-20210902185005780.png b/web/static/img/manual/image-20210902185005780.png deleted file mode 100644 index 170ebfc..0000000 Binary files a/web/static/img/manual/image-20210902185005780.png and /dev/null differ diff --git a/web/static/img/manual/image-20210902185310749.png b/web/static/img/manual/image-20210902185310749.png deleted file mode 100644 index 5470bea..0000000 Binary files a/web/static/img/manual/image-20210902185310749.png and /dev/null differ diff --git a/web/static/img/manual/image-20210902185404016.png b/web/static/img/manual/image-20210902185404016.png deleted file mode 100644 index 3f85e1a..0000000 Binary files a/web/static/img/manual/image-20210902185404016.png and /dev/null differ diff --git a/web/static/img/manual/image-20210902185659059.png b/web/static/img/manual/image-20210902185659059.png deleted file mode 100644 index 505ad3e..0000000 Binary files a/web/static/img/manual/image-20210902185659059.png and /dev/null differ diff --git a/web/static/img/manual/image-20210902190143612.png b/web/static/img/manual/image-20210902190143612.png deleted file mode 100644 index 36ffdef..0000000 Binary files a/web/static/img/manual/image-20210902190143612.png and /dev/null differ diff --git a/web/static/img/manual/image-20210902190656874.png b/web/static/img/manual/image-20210902190656874.png deleted file mode 100644 index 98beafe..0000000 Binary files a/web/static/img/manual/image-20210902190656874.png and /dev/null differ diff --git a/web/static/img/manual/image-20210902190732097.png b/web/static/img/manual/image-20210902190732097.png deleted file mode 100644 index d2df979..0000000 Binary files a/web/static/img/manual/image-20210902190732097.png and /dev/null differ diff --git a/web/static/img/manual/image-20210902190931374.png b/web/static/img/manual/image-20210902190931374.png deleted file mode 100644 index fc0e38c..0000000 Binary files a/web/static/img/manual/image-20210902190931374.png and /dev/null differ diff --git a/web/static/img/manual/image-20210902191011960.png b/web/static/img/manual/image-20210902191011960.png deleted file mode 100644 index e434634..0000000 Binary files a/web/static/img/manual/image-20210902191011960.png and /dev/null differ diff --git a/web/static/img/manual/image-20210902191155738.png b/web/static/img/manual/image-20210902191155738.png deleted file mode 100644 index c74a772..0000000 Binary files a/web/static/img/manual/image-20210902191155738.png and /dev/null differ diff --git a/web/static/img/manual/image-20210903134731096.png b/web/static/img/manual/image-20210903134731096.png deleted file mode 100644 index 9e06b94..0000000 Binary files a/web/static/img/manual/image-20210903134731096.png and /dev/null differ diff --git a/web/static/img/manual/image-20210903135220420.png b/web/static/img/manual/image-20210903135220420.png deleted file mode 100644 index e8738a6..0000000 Binary files a/web/static/img/manual/image-20210903135220420.png and /dev/null differ diff --git a/web/static/img/manual/image-20210903150920311.png b/web/static/img/manual/image-20210903150920311.png deleted file mode 100644 index 3d25c2d..0000000 Binary files a/web/static/img/manual/image-20210903150920311.png and /dev/null differ diff --git a/web/static/img/manual/image-20210907155421889.png b/web/static/img/manual/image-20210907155421889.png deleted file mode 100644 index e95a4b2..0000000 Binary files a/web/static/img/manual/image-20210907155421889.png and /dev/null differ diff --git a/web/static/img/manual/image-20210907155426984.png b/web/static/img/manual/image-20210907155426984.png deleted file mode 100644 index e95a4b2..0000000 Binary files a/web/static/img/manual/image-20210907155426984.png and /dev/null differ diff --git a/web/static/img/manual/image-20210907155447676.png b/web/static/img/manual/image-20210907155447676.png deleted file mode 100644 index e95a4b2..0000000 Binary files a/web/static/img/manual/image-20210907155447676.png and /dev/null differ diff --git a/web/static/img/manual/image-20210907155532882.png b/web/static/img/manual/image-20210907155532882.png deleted file mode 100644 index 3c88a0d..0000000 Binary files a/web/static/img/manual/image-20210907155532882.png and /dev/null differ diff --git a/web/static/img/manual/image-20210907155603723.png b/web/static/img/manual/image-20210907155603723.png deleted file mode 100644 index 0ddcbfa..0000000 Binary files a/web/static/img/manual/image-20210907155603723.png and /dev/null differ diff --git a/web/static/img/manual/image-20210907155839073.png b/web/static/img/manual/image-20210907155839073.png deleted file mode 100644 index 911338c..0000000 Binary files a/web/static/img/manual/image-20210907155839073.png and /dev/null differ diff --git a/web/static/img/manual/image-20210907155936959.png b/web/static/img/manual/image-20210907155936959.png deleted file mode 100644 index 48665c8..0000000 Binary files a/web/static/img/manual/image-20210907155936959.png and /dev/null differ diff --git a/web/static/img/manual/image-20210907160020695.png b/web/static/img/manual/image-20210907160020695.png deleted file mode 100644 index 7dc400b..0000000 Binary files a/web/static/img/manual/image-20210907160020695.png and /dev/null differ diff --git a/web/static/img/manual/image-20210909100223317.png b/web/static/img/manual/image-20210909100223317.png deleted file mode 100644 index 8045a6e..0000000 Binary files a/web/static/img/manual/image-20210909100223317.png and /dev/null differ diff --git a/web/static/img/manual/image-20210909100229353.png b/web/static/img/manual/image-20210909100229353.png deleted file mode 100644 index 8045a6e..0000000 Binary files a/web/static/img/manual/image-20210909100229353.png and /dev/null differ diff --git a/web/static/img/manual/image-20210909100904338.png b/web/static/img/manual/image-20210909100904338.png deleted file mode 100644 index 0aa8c8c..0000000 Binary files a/web/static/img/manual/image-20210909100904338.png and /dev/null differ