脚本
// 抽取公共接口请求函数(异步处理)
function requestApi(url, params) {
  return new Promise((resolve, reject) => {
    const proxy = viewModel.setProxy({
      tempApi: { // 使用临时key避免覆盖已有proxy
        url: url,
        method: 'post',
        options: { "domainKey": 'xlx001' }
      }
    });
    try {
      // 优先使用异步方法,避免阻塞UI
      proxy.tempApi(params, (err, result) => {
        if (err) {
          console.error('接口请求失败:', err);
          reject(err);
          return;
        }
        resolve(result);
      });
    } catch (e) {
      console.error('请求处理异常:', e);
      reject(e);
    }
  });
}

// 数据加载后事件
viewModel.on('afterLoadData', async function (data) {
  const mode = viewModel.getParams().mode;
  if (mode !== "browse") {
    const staffName = viewModel.get("staff_name").getValue();
    if (!staffName) {
      try {
        // 调用员工信息查询接口
        const retResult = await requestApi(
          window.location.origin + "/xlx001-be/xlxhr/qry-staffinfo",
          {}
        );
        const retDatas = retResult.result || {};
        if (retDatas.staffId) {
          // 触发参照选择
          cb.utils.triggerReferBrowse(
            viewModel.get("staff_name"),
            [{ field: "id", op: 'eq', value1: retDatas.staffId }]
          );
        } else {
          console.warn('未获取到有效的员工ID');
        }
      } catch (e) {
        console.error('自动填充员工信息失败:', e);
        // 可添加用户提示,如:cb.utils.alert('员工信息加载失败,请手动选择');
      }
    }
  }
});

// 员工姓名变化事件
viewModel.get("staff_name") && viewModel.get("staff_name").on("afterValueChange", async function (event) {
  const staffId = event.value?.id; // 可选链避免event.value为undefined时报错
  if (!staffId) return; // 无员工ID时不执行后续逻辑

  try {
    // 调用员工详情接口
    const retResult = await requestApi(
      window.location.origin + "/xlx001-be/xlxhr/qry-staff-detail-info",
      { staffId: staffId }
    );
    const { staffJobData = [] } = retResult.result || {}; // 解构赋值并默认空数组
    const firstJobData = staffJobData[0] || {}; // 避免访问undefined[0]

    // 填充部门信息
    if (firstJobData.deptId) {
      cb.utils.triggerReferBrowse(
        viewModel.get("staffDept_name"),
        [{ field: "id", op: 'eq', value1: firstJobData.deptId }]
      );
    }

    // 填充组织信息
    if (firstJobData.orgId) {
      cb.utils.triggerReferBrowse(
        viewModel.get("staffOrganize_name"),
        [{ field: "id", op: 'eq', value1: firstJobData.orgId }]
      );
    }

    // 填充职位信息(修正postId为psnclId)
    if (firstJobData.psnclId) {
      cb.utils.triggerReferBrowse(
        viewModel.get("staffPosition_name"),
        [{ field: "id", op: 'eq', value1: firstJobData.psnclId }]
      );
    }
  } catch (e) {
    console.error('填充员工关联信息失败:', e);
    // 可添加用户提示,如:cb.utils.alert('员工详情加载失败,请手动填写关联信息');
  }
});
博客内容均系原创,未经允许严禁转载!
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇