帖子
帖子
用户
博客
课程
显示全部楼层
22
帖子
2
勋章
1645
Y币

文件是否上传校验异步问题

[复制链接]
发表于 2023-12-30 14:19:01
  1. viewModel.on('beforeWorkflowAction', function(param) {
  2.   let flag
  3.         var actionCode = param.data.actionName;
  4.         if (actionCode == 'agree' && param.data.taskName == '活动2' ) {
  5.           const requestList = [{
  6.                 businessId: '61219783-9905-4edc-b7c9-91978c995553',
  7.                 objectName: 'diwork_yuncai',
  8.         }];
  9.         window.YYCooperationBridge.YYFormFileGetAllListByObjectId(requestList, false).then((data) => {
  10.                   if(data.length==0){
  11.             flag = false
  12.                   cb.utils.alert("请上传采购商盖章合同附件", 'error');                    
  13.                   }
  14.         })
  15.         }
  16.         return flag
  17. });
复制代码
需求是采购合同终审节点审核通过前校验附件是否上传,但是window.YYCooperationBridge.YYFormFileGetAllListByObjectId是异步执行的,试过使用promise和flag都没有效果,请问有什么方法解决吗
22
帖子
2
勋章
1645
Y币
不会处理异步的我只能在UI模板加个字段然后监听页面初始化以及附件上传删除事件将附件数量赋值到字段里....还有更好的办法吗大佬们
22
帖子
2
勋章
1645
Y币
本帖最后由 BIP422709 于 2023-12-30 20:08 编辑

另外移动端上监听附件上传删除的ecsuiteFileChange函数也没进入断点,还有监听审批动作的beforeWorkflowAction函数也拦截不了动作,也不知道该如何解决
143
帖子
2
勋章
4万+
Y币
本帖最后由 yonyouhmm 于 2023-12-30 21:36 编辑
BIP422709 · 2023-12-30 15:03
不会处理异步的我只能在UI模板加个字段然后监听页面初始化以及附件上传删除事件将附件数量赋值到字段里....还有更好的办法吗大佬们


之前有相同场景的就是这种方式控制。可以尝试下自己的租户环境是否能使用 业务活动规则,如果可以使用就能配置实现。参考https://success.yonyou.com/community/askDetail?aId=e8cdde8e7737cb3d462def3bb3387510ffad035cf6566343&cid=f534db71f1f5da2d&themeType=3   
143
帖子
2
勋章
4万+
Y币
BIP422709 · 2023-12-30 20:07
另外移动端上监听附件上传删除的ecsuiteFileChange函数也没进入断点,还有监听审批动作的beforeWorkflowAction函数也拦截不了动作,也不知道该如何解决

移动端事件在论坛里搜一下
22
帖子
2
勋章
1645
Y币
yonyouhmm · 2023-12-30 21:35之前有相同场景的就是这种方式控制。可以尝试下自己的租户环境是否能使用 业务活动规则,如果可以使用就能配置实现。参考https://success.yonyou.com/community/askDetail?aId=e8cdde8e7737cb3d462def3bb3387510ff ...

但是这个应该是不能校验附件字段的吧,目前附件默认是有值的(附件初始化的时候生成一个唯一的id),所以就算必填他也是有值的
22
帖子
2
勋章
1645
Y币
yonyouhmm · 2023-12-30 21:35之前有相同场景的就是这种方式控制。可以尝试下自己的租户环境是否能使用 业务活动规则,如果可以使用就能配置实现。参考https://success.yonyou.com/community/askDetail?aId=e8cdde8e7737cb3d462def3bb3387510ff ...

附件字段设置必传也没有用呀,附件本身就是有值的
22
帖子
2
勋章
1645
Y币
  1. const checkAttachmentCount = async (viewmodel, requestList) => {
  2.     // requestList = [{objectId: 'xxxx', objectName: 'mdf'}]
  3.     data = await window?.YYCooperationBridge?.YYFormFileGetAllListByObjectId(requestList, false);
  4.     if(data?.length<1){
  5.       cb.utils.alert('无附件,请上传')
  6.       return false
  7.     }else{
  8.       return true
  9.     }
  10.   }
  11. viewModel.on('beforeWorkflowAction', function(param) {
  12. checkAttachmentCount(viewModel, [{objectId: viewModel.get('stockStampFileId').getValue(), objectName: viewModel.getEnv('appCode') || 'diwork_yuncai'}])
  13. });
复制代码
好像这样弄也没有用。能弹出提示但是还是没有成功拦截动作
143
帖子
2
勋章
4万+
Y币
BIP422709 · 2024-1-3 11:33好像这样弄也没有用。能弹出提示但是还是没有成功拦截动作

按照增加一个联动字段的方式来控制
22
帖子
2
勋章
1645
Y币
yonyouhmm · 2024-1-3 11:39
按照增加一个联动字段的方式来控制

老师能详细说一下方法吗
您需要登录后才可以回帖 登录

本版积分规则