在WebPC中为了做出比Excel客户端更加灵活更加强大的业务导航功能,我们采用了模板的方式来实现,这样做不但可以实现现有Excel客户端的导航功能,在这个基础上还可以使用模板的所有功能,比如取数公式、图表、链接打开等,结合起来就可以做出能满足复杂业务需求的导航功能或者综合报表

上图是一个导航模板,下图是导航的运行效果。

其实WebPC导航模板也就是在一个普通模板的基础上,加上一些图标和形状等,通过点击这些图标和形状就可以打开相应的模板,同时导航模板的基本功能还是可以照常使用,如上图所示,除了有图标和形状外,右上角还有一个通过取数公式获取数据的明细表,右下角还有一个对这个明细表进行展示的柱形图。如上图所示,左边是导航目录树,通过这个导航目录树可以组织一系列的多个导航模板,从而有条理地组成一个复杂的导航系统。

如何设计导航模板

在设计导航模板的时候,我们通常通过插入“图片”和”形状”来作为导航的触发控制点,如下如所示:

我们先新建模板(也要满足至少要有一个单一项目的条件),或者打开现有的模板,然后在适当的地方插入”图片”或者”形状”,如下图所示:

如果仅仅是插入”图片”或者”形状”,显示导航的时候它们也仅仅是一个静态的”图片”和”形状”,点击后没有任何反应,要实现点击后打开模板,我们还需要设置它们的“链接”,比如我们右击图标,

选择“链接”

默认是链接到“现有文件或网页”,然后在地址中填入一个平台专属的链接字符串,比如:“navi/new/订货单”,这个链接串的意思是点击时以填报的方式打开订货单。

设置导航目录

到目前为止,我们设置的导航模板也可以认为还是一个普通的模板,如果让这个模板出现在平台的“业务导航“区域成为一个真正的导航呢?这就需要我们建立相应的导航目录,并把导航模板跟这些目录绑定即可。

我们进入到 “系统管理” à “WebPC导航”,如下图所示:

点击 “新建“,出现设置窗体,如下图所示:

排序编码:每级的长度是4位,请输入一个4位的数,比如 0001

导航标题:输入一个你希望的名字

上级导航:这个会自动显示,也就是说导航支持多级的

导航图标:也就是显示在导航左边的图标,这个图标的设置方法跟JS按钮中的图标的设置

方法一样

关联模板:选择一个跟这个导航“目录项“关联的导航模板,也就是点击这个导航目录项就会

打开这个模板进行导航

“确定“关闭,完成后,效果如下入所示:

点击第一个图标就会填报打开“订货单“模板,如下图所示:

链接打开指令介绍

导航模板设置里支持丰富的打开方式,包括填报、查看、修改、打开数据中心、打开流程工作台等,指令格式是:

navi/动作/m弹出方式(可选)/模板/传入值或筛选条件&前置条件/不满足前置条件时的提示

说明:

  • 指令固定以”navi”开头,”/”是指令分隔符,其中“navi”、“动作”、“模板”是必须,其它是可选部分。
  • “m”表示窗体以弹出式显示,否则就是以页签式显示,如果是以弹出窗体显示的话,窗体默认是以最大化显示,也可以设置窗体的具体大小,如m(800_600)表示窗体的宽是800像素高是600像素,中间用下划线”_”隔开;除了用像素表示大小,也可以用百分比的方式表示大小,比如m(80%_60%)表示窗体的宽是主窗体的宽的80%,高是主窗体的高的60%,中间也是用下划线”_”隔开;另外,弹出式窗体还有个特点就是必须关闭当前窗体才可以点击其它导航。
  • 传入值,当“动作”是new或者newedit时可以设置传入值。
    格式是:项目名称1=传入值1,项目名称2=传入值2,…
    说 明:左边是接收传入值的数据项目的名称,右边是要传入的值,中间是等号,
    多个传入值之间用逗号隔开,注意:输入值不需要带上单引号
  • 筛选条件,当“动作”是view或者edit时,可以设置筛选条件,也就是通过筛选条件指定打开具体是哪一份数据。
    格式是:项目名称1=‘字符条件值1‘,项目名称2=’日期条件值2‘,项目名称3=数
    值条件值3,…
    说  明:左边是条件数据项目的名称,右边是要条件值,中间是等号,
    多个传入值之间用逗号隔开,注意:当条件值是字符类型或者日期类型时
    需要带上单引号
  • 条件值或者传入值
    既可以是固定值,
    如:客户名称='上海得一超市',日期='2024-1-1',数量=1000
    也可以来自的单元格,
    如:客户名称='(1_6_12)',收货地点='AAA'
    表示来自单元格的格式是:(Sheet顺序号_行号_列号),用括号括起来,依次是单元格所在的Sheet的顺序号(从1开始),接着是单元格的行和列,各部分用下划线“_”隔开;前面的例子表示”客户名称“是来自Sheet1的第6行第12列这个单元格,注意:因为”客户名称“是字符类型,所以在外面还有单引号。
  • 如果希望在满足某个条件后才能打开,那我们就可以设置一个前置条件,这个前置条件比较简单,就是:数据项目=值,只支持一个简单条件,在条件的前面需使用符号“&“与前面的指令部分隔开,如果不满足条件时还希望提示一下,那就可以紧接着在后面加上要提示的信息。

(注意:以上所有指令都是小写字母,符号也是英文符号)

动作举例说明:

动作:new ,填报

navi/new/订货单

以页签方式,填报打开“订货单“

navi/new/m/订货单

以最大化的弹出窗体,填报打开“订货单“

navi/new/m(800_600)/订货单

以宽是800像素高是600像素的弹出窗体,填报打开”订货单”

navi/new/m(80%_60%)/订货单

以宽是80%高是60%的弹出窗体,填报打开”订货单”

navi/new/查询指定区域的客户明细/所属区域=华南,项目2=测试,项目3=2024-03-15

以页签方式,填报打开 “查询指定区域的客户明细”,并传入多个参数

navi/new/m/查询指定区域的客户明细/所属区域=华南,项目2=测试,项目3=2024-03-15

以最大化的弹出窗体,填报打开 “查询指定区域的客户明细”,并传入多个参数

navi/new/m(800_600)/查询指定区域的客户明细/所属区域=华南,项目2=测试,项目3=2024-03-15

以宽是800像素高是600像素的弹出窗体,填报打开 “查询指定区域的客户明细”,并传入多个参数

navi/new/m(800_600)/查询指定区域的客户明细/所属区域=(1_10_22),项目2=测试,项目3=2024-03-15

以宽是800像素高是600像素的弹出窗体,填报打开 “查询指定区域的客户明细”,并传入多个参数,其中“所属区域“是来自Sheet1的单元格(10,22)

动作:view,查看打开

navi/view/订货单/客户名称='上海得一超市',收货地点='AAA'

以页签方式,查看打开满足筛选条件是 客户名称='上海得一超市',收货地点='AAA' 的 “订货单“数据

navi/view/m/订货单/客户名称='上海得一超市',收货地点='AAA'

以最大化的弹出窗体,查看打开满足筛选条件是 客户名称='上海得一超市',收货地点='AAA' 的 “订货单“数据

动作:edit,修改打开

navi/edit/订货单/客户名称='上海得一超市',收货地点='AAA'

以页签方式,修改打开满足筛选条件是 客户名称='上海得一超市',收货地点='AAA' 的 “订货单“数据

navi/edit/m/订货单/客户名称='上海得一超市',收货地点='AAA'

以最大化的弹出窗体,修改打开满足筛选条件是 客户名称='上海得一超市',收货地点='AAA' 的 “订货单“数据

navi/edit/m(800_800)/订货单/客户名称='(1_6_12)',收货地点='AAA'

以宽是800像素高是600像素的弹出窗体,修改打开满足筛选条件的 “订货单”,其中“客户名称“是来自Sheet1的单元格(6,12)

动作:newedit ,数据存在就修改打开,否则就填报打开

navi/newedit/m(800_600)/查询指定区域的客户明细/所属区域=(1_10_22),项目2=测试,项目3=2024-03-15

以宽是800像素高是600像素的弹出窗体,填报或者修改打开 “查询指定区域的客户明细”,其中“所属区域“是来自Sheet1的单元格(10,22),如果有满足条件的数据,就以修改的方式打开它,否则直接填报一份新的,并传入条件值,(注意,在这个动作里条件值不需要单引号)

前置条件

navi/new/收款单&(1_5_12)=C/请输入A!

如果Sheet1的单元格(5,12)的值是“C“,那就填报打开”收款单“,否则就停止打开,并提示” 请输入A!“

动作:dc,打开数据中心

navi/dc/收款单

以页签方式,打开“收款单“的数据中心

navi/dc/m/收款单

以最大化的弹出窗体,打开“收款单“的数据中心

动作:todo,打开待处理工作台

navi/todo/订货单

以页签方式,打开“订货单“的待处理工作台

navi/todo/m/订货单

以最大化的弹出窗体,打开“订货单“的待处理工作台

动作:tocc,打开待阅工作台

navi/tocc/订货单

以页签方式,打开“订货单“的待阅工作台

navi/tocc/m/订货单

以最大化的弹出窗体,打开“订货单“的待阅工作台

关联JS

导航“图标“和”形状“除了可以通过navi指令操作模板,还可以通过js指令执行js方法,指令格式是: js/js名字,比如 js/test1 ,点击后就是执行名字为test1 的 js方法。

这里的js方法test1 来自模板属性中的“WebJS设置“的“取数公式触发的宏“,如下图所示

  • 因为导航模板本质就是一个普通模板,所有普通的模板的功能都可以使用,包括链接打开功能,所以除了上面的按钮方式外,你还可以使用链接打开的方式作为导航补充。
  • 导航内部在Sheet之间的跳转直接用Excel自己的链接功能即可,如下图所示:

 

 

 

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。