调用预算余额表接口,过滤出xmid 相等的记录到子表单中

这是一个button,功能是1、取主表单xmid的值,然后
调用预算余额表接口,过滤出xmid 相等的记录到子表单中,帮我看下啥问题:



xmbtn() {
    debugger;
    console.log(formData.value.xmid)
    // ========== 1. 保留原有正常代码 ==========
    useFun.setPropConfig('cgdh', { display: true });

    watch(() => tableForm.value.cwzcmxb, (list) => {
      let num = 0;
      if (list) {
        list.forEach(item => num += (Number(item.cgsl) || 0));
      }
      tableForm.value.cgje = num;
    }, { deep: true });

    // ========== 2. 核心逻辑(修复消息提示API) ==========
    // ① 获取当前选中的xmid
    // const subTable = subTableRef.value.cwzcmxb
    const currentXmid = FormData.value.xmid
    //tableForm.value.xmid;
    //const currTable = componentRef.value.tableView_26746.controlRef.tableSelect
    // 修复:替换useFun.message为平台兼容的消息提示API
    if (!currentXmid) {
      // 方案1:JeeLowCode通用消息提示(优先试这个)
      window.$message?.warning('请先选择项目ID!');
      // 方案2:如果方案1无效,试这个(平台低版本)
      // useFun.showMessage('请先选择项目ID!', 'warning');
      return;
    }

    // ② 调用预算余额表接口
    useFun.requestApi('post', '/jeelowcode/dbform-data/list/2018569791187410946', {
      data: {
        xmid: currentXmid
      }
    }).then(res => {
      // ③ 设置表格参数+打开弹窗
      const controlData = tableView_26746.value?.params; // 加?.防止controlData undefined
      if (controlData?.enhanceData) { // 加判断,避免报错
        controlData.enhanceData.selectId = tableForm.value.cwzcmxb?.map(item => item.wlbm) || [];
      }
      if (tableView_26746.value) {
        tableView_26746.value.show = true;
      }

      if (res.records && res.records.length) {
        useFun.openModal('预算余额表弹窗的实际编码', {
          tableData: res.records,
          extraParams: { xmid: currentXmid }
        });
      } else {
        // 修复:消息提示API
        window.$message?.info('暂无该项目的预算余额数据!');
        // useFun.showMessage('暂无该项目的预算余额数据!', 'info'); // 备选方案
        useFun.openModal('预算余额表弹窗的实际编码', { tableData: [] });
      }
    }).catch(err => {
      console.error('获取预算余额数据失败:', err);
      // 修复:消息提示API
      window.$message?.error('加载预算余额数据失败,请重试!');
      // useFun.showMessage('加载预算余额数据失败,请重试!', 'error'); // 备选方案
    });

    // const controlData = tableView_26746.value.params //TableView的d置
    //设置当前选中的产品id给产品表
    // controlData.enhanceData.selectId = tableForm.value.cwzcmxb.map(item => item.wlbm)
    //  tableView_26746.value.show = true


  },


评论区

刘锋 2026-02-06 09:26

首先是没有取到主表单xmid的值: const currentXmid = FormData.value.xmid

刘锋 2026-02-06 11:09

为何:formData is not defined

超级管理员 2026-02-06 11:50

@刘锋

表单开发是 tableForm.value  自定义表单是 formData.value

回复

扫码关注

添加客服
图片未加载,请刷新后再试
联系我们