开发者社区> 问答> 正文

子表新增时,会填写若干条数据,提交的时候,如何和这个表单中的历史子表数据做校验呢?

子表新增时,会填写若干条数据,提交的时候,如何和这个表单中的历史子表数据做校验呢?比如我报销的时候,会上传多张发票,我如何判断这些发票是否已经存在了

展开
收起
游客halgzspmzwdke 2024-05-21 10:10:39 146 0
来自:钉钉宜搭
1 条回答
写回答
取消 提交回答
  • 若回答对您有帮助,记得点下赞同哦~

    您好如果需要输入时校验参考一下下列代码:
    image.png

    `/${window.pageConfig.appType || window.g_config.appKey}/query/formProcInstData/getInstanceDatasLight.json`
    

    image.png

    image.png
    image.png

    export function didMount() {
      this.setState({
        options: {
          formUuid: 'formUuid', // 需要参与校验的表 formUuid
          checkedTable: 'tableField', // 需要参与校验的子表单组件唯一标识
          checkedField: 'textField' // 需要参与校验的子表单内组件唯一标识
        }
      });
    
      if (!this.utils.isSubmissionPage()) {
        // 获取未修改前的被校验子表单数据
        const { options } = this.state;
        const oldData = this.$(options.checkedTable).getValue();
        this.setState({
          oldData,
        });
      };
    }
    

    image.png

    async function validateRule(value) {
      if (!value) { return true };
      const { options, oldData } = this.state;
      if (!this.utils.isSubmissionPage() && oldData.length && oldData[this.index] && (value == oldData[this.index][options.checkedField])) {
        return true;
      } else {
        return await this.dataSourceMap.checkOnly.load({
          formUuid: options.formUuid,
          searchField: JSON.stringify([{ "key": options.checkedField, "value": value, "type": "TEXT", "operator": "eq", "componentName": "TextField", "parentId": options.checkedTable }]),
          pageSize: 10,
          currentPage: 1,
          page: 1,
          limit: 10
        }).then(res => {
          if (!res.totalCount) { return true };
          return false;
        }).catch(error => {
          this.utils.toast({
            title: error.message,
            type: 'error',
          });
          return true;
        });
      }
    }
    
    2024-05-21 10:18:11
    赞同 3 展开评论 打赏
问答分类:
问答地址:
关联地址:
来源圈子
更多
收录在圈子:
+ 订阅
「宜搭」是云钉原生低代码平台(钉钉 PaaS - aPaaS),让企业应用搭建更简单! 帮助中小企业降本提效,加强组织的数字化自主权; 帮助大型企业释放个体创新力,助力组织创新涌现。
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载