You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Script级联菜单选择房间后无法展示对应负责人问题求助

问题排查

直接列出所有可复现的错误点:

  1. 前端updatedQtyOnHand函数存在变量声明错误:
    你重复声明了zone变量,将房间下拉的值错误赋值给了zone,且未声明salle变量,导致调用服务端getQtyOnHand时传的salle参数为undefined,服务端始终无法匹配到房间维度的负责人数据。
  2. 四级下拉联动逻辑缺失:
    房间(item-salle)下拉没有绑定change事件回调,用户手动选择房间后不会触发负责人更新逻辑。
  3. 边缘情况未处理:
    服务端无匹配数据时返回数值0,前端直接调用split方法会抛出类型错误,导致负责人渲染失败。

修正代码

1. 修正后的前端updatedQtyOnHand函数

function updatedQtyOnHand(){
  var site = document.getElementById("item-site").value;
  var secteur = document.getElementById("item-secteur").value;        
  var zone = document.getElementById("item-zone").value;        
  var salle = document.getElementById("item-salle").value; 
  google.script.run.withSuccessHandler(afterQtyOnHandReturned).getQtyOnHand(site,secteur,zone,salle);  
}

2. 补充房间下拉的change事件绑定

在页面初始化逻辑(比如afterDropDownArrayReturned执行末尾)添加如下代码:

// 绑定房间下拉变更事件,选择房间后自动更新负责人
document.getElementById("item-salle").addEventListener("change", updatedQtyOnHand);

3. 优化前端返回处理逻辑,避免空值报错

function afterQtyOnHandReturned(qty){
  document.getElementById("on-hand").textContent = ""; 
  if(!qty.filtreSecteur || qty.filtreSecteur === 0) {
    document.getElementById("on-hand").textContent = "未匹配到负责人";
    return;
  }
  var responsable = qty.filtreSecteur.toString().split("@");
  var nomPrenomResp = responsable[0];
  var adresseResponsable = nomPrenomResp+"@test.com";    
  document.getElementById("on-hand").textContent = adresseResponsable; 
}

4. 可选优化:服务端逻辑兼容空值

function getQtyOnHand(site, secteur, zone, salle){
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const ws = ss.getSheetByName("Table");
  const data = ws.getRange(2, 1, ws.getLastRow()-1, 7).getValues();
  const filteredData = data.filter(r => r[0] === site && r[1] === secteur && r[2] === zone && r[4] === salle);
  return {
    filtreSecteur: filteredData.length === 0 ? "" : filteredData.reduce((subtotal, r) => subtotal + r[6],"")
  };
}

内容的提问来源于stack exchange,提问作者Damien

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 16:09:01