本文摘要
在泛微 EC9 中,可为查询列表每条数据添加自定义按钮,以申请客户为例,通过 JavaScript 调用接口实现对单条记录指定字段的更新,避免整批操作。文章还建议提交前校验字段值是否已变更,并在失败时给出重试或联系管理员提示,以提升体验与数据安全性,适合泛微 OA 二次开发人员参考。

📌

该文章由丸子引导AI辅助制作生成,如有改进意见,欢迎评论区留言。

在泛微 EC9 系统中,经常会遇到需要对查询列表中的单条数据进行修改的需求。本文将详细介绍如何为每条数据添加一个自定义的修改值按钮,实现单条数据的修改,以及如何改进以提高用户体验和数据安全性。

实现功能简介

在查询列表中,每条数据右侧添加一个自定义按钮,允许用户单独修改这条数据的特定字段值,而不是批量修改。

Demo演示

配置步骤

自定义按钮配置

  1. 自定义按钮名称:申请客户
  2. 链接目标方式:手动输入
  3. javascript方法名:javascript:applyCustomer();
  4. javascript方法参数:khxm(客户名称字段名)
  5. javascript方法定义:
function applyCustomer(id, khxm) {
var account = JSON.parse(localStorage.getItem("theme-account"));
var userid = account.userid;
console.log("User ID: " + userid);
console.log("Row ID: " + id);
ModeList.showConfirm(`确认申请“${khxm}”作为你的客户吗?`, function(){
var datas =[{
fieldname: "yyry",
changetype: "3",
fieldlabel: "邀约人员",
fieldvalue: userid,
fieldid: "11981"
}];
console.log("datas", datas);
var requestData = {
billids: id,
pageexpandid: 2043, //批量修改按钮id(先在模块中建立页面拓展批量修改)
datas: JSON.stringify(datas)
};
ecCom.WeaTools.callApi('/api/cube/search/saveBatchModifyField', 'POST', requestData)
.then(function (data) {
console.log(data);
ModeList.reloadTable();
ModeList.showMessage("申请成功", 3, 3);
});
});
}

配置内容

改进方案

为了提高用户体验和数据处理的准确性,我们提出以下两点改进方案:

判断值是否已变更

在提交数据变更请求之前,应该检查目标字段的当前值是否已经是期望修改的值或已被他人修改,以避免不必要的数据操作和重复的网络请求。

处理变更状态失败的情况

在数据变更操作失败时,应给予用户明确的失败提示,并提供重试或联系管理员的选项,以确保用户能够了解到当前操作的状态并采取相应的措施。

结论

通过为查询列表中的每条数据添加自定义修改按钮,我们不仅提升了用户操作的便捷性,同时,通过实施改进方案,也确保了数据操作的安全性和准确性。随着技术的进步,我们相信还有更多的方法可以进一步优化这一功能,提高系统的用户体验。