找回密码
 立即注册

QQ登录

只需一步,快速开始

lv_da

初级会员

22

主题

34

帖子

354

积分

初级会员

积分
354
lv_da
初级会员   /  发表于:2019-9-19 10:26  /   查看:3753  /  回复:6
1金币
本帖最后由 lv_da 于 2019-9-19 10:27 编辑

在收到工作后,弹出一个窗口提示有需办理的事项,如何制作?单击确定后,窗口不再弹出,选择取消后,每隔几分钟重复弹出。

最佳答案

查看完整内容

你好,我之前做过一个请假系统的例子,类似你的需求:如果待审批人有新的审批,就会有弹窗,除非点击弹窗的确认,否则弹窗后间隔一段时间后弹出。 主要是两个知识点: 1. 使用 ODATA查找开启工作流表中的担当者字段 2. 使用JavaScript代码处理定时逻辑。如下: 注:自定义自己系统的等待时间修改代码第二行的数字就好了,单位为毫秒。 实现详情见附件

6 个回复

倒序浏览
最佳答案
最佳答案
LukeLiu
超级版主   /  发表于:2019-9-19 10:26:32
来自 5#
你好,我之前做过一个请假系统的例子,类似你的需求:如果待审批人有新的审批,就会有弹窗,除非点击弹窗的确认,否则弹窗后间隔一段时间后弹出。
主要是两个知识点:
1. 使用 ODATA查找开启工作流表中的担当者字段
2. 使用JavaScript代码处理定时逻辑。如下:

  1. const CELL_NAME = "user_tasks"
  2. const EXPECT_SECONDS = 3000 // 定义等待的时间

  3. let timer = null // 定时器计数器

  4. function internalFlow() {
  5.     timer = setInterval(() => confirm("新审批!") && clearInterval(timer), EXPECT_SECONDS)
  6. }

  7. function getCellValueByName(cell_name) {
  8.     var page = Forguncy.Page
  9.     return page.getCell(cell_name).getValue()
  10. }

  11. function main() {
  12.     let task_numbers = getCellValueByName(CELL_NAME)
  13.     task_numbers && internalFlow()
  14. }

  15. main()
复制代码
注:自定义自己系统的等待时间修改代码第二行的数字就好了,单位为毫秒。

实现详情见附件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 1金币 +1000 收起 理由
Eric.Liang + 1000 很给力!

查看全部评分

回复 使用道具 举报
谢厅讲师达人认证 悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2019-9-19 17:07:24
3#
如果,对时效性要求不高的话,可以通过定时刷新表格+一点点js代码解决
如果,对时效性要求极高,必须实时通知的话,你可以联系我,有现成的案例
回复 使用道具 举报
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2019-9-19 17:35:29
4#
谢厅 发表于 2019-9-19 17:07
如果,对时效性要求不高的话,可以通过定时刷新表格+一点点js代码解决
如果,对时效性要求极高,必须实时 ...

我谢老板这个广告刚刚的~
回复 使用道具 举报
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2019-9-20 13:41:57
6#
哇,楼上的小哥哥好棒~
回复 使用道具 举报
夏雪冬阳
论坛元老   /  发表于:2019-10-24 10:03:54
7#
本帖最后由 夏雪冬阳 于 2019-10-24 10:11 编辑
LukeLiu 发表于 2019-9-19 19:21
你好,我之前做过一个请假系统的例子,类似你的需求:如果待审批人有新的审批,就会有弹窗,除非点击弹窗的 ...

这个功能还是蛮实用的,天天学习 天天进步,如果把弹出窗口固定在屏幕右下方就完美了
回复 使用道具 举报
LukeLiu
超级版主   /  发表于:2019-10-24 10:33:19
8#
本帖最后由 LukeLiu 于 2019-10-24 10:47 编辑
夏雪冬阳 发表于 2019-10-24 10:03
这个功能还是蛮实用的,天天学习 天天进步,如果把弹出窗口固定在屏幕右下方就完美了

目前,不论使用的是浏览器弹窗的方式,还是让活字格弹出页面的方式,都是居中显示的。
固定在屏幕右下方需要适配更多的代码,你可能需要查找解决如下问题:
1. 寻找一个适合你 对话框组件,以JS的方式引入进来。
2. 适配CSS样式文件到对话框组件上,让其实现固定位置的定位。
3. 适配我之前本帖第一次回答的代码,其中要修改的部分为:下面这个函数中调用“confirm("新审批!") ”改为调用你新设计的弹窗。
  1. function internalFlow() {
  2.      timer = setInterval(() => confirm("新审批!") && clearInterval(timer), EXPECT_SECONDS)
  3. }
复制代码

帮你找了一些可能对你有帮助的相关网站:

1. https://developer.mozilla.org/zh-CN/docs/Web/JavaScript
2. https://developer.mozilla.org/zh-CN/docs/Web/CSS
3. https://sweetalert.js.org/guides/

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部