-
工作流函数例子
- 学习例子
(function (form, data) { // 业务相关代码 try { let taskId = window.$getQueryString("taskId"); // 刷新验收人控件,重新请求数据 if (data.value) { window.$refreshField("accepterGroup"); setTimeout(() => { // console.log('accepterGroup', window.taskCache.dataSource) if ( !taskId && window.taskCache.dataSource && window.taskCache.dataSource.accepterGroup.length > 0 ) { const currentUser = form.getFieldValue("currUserId"); // 判断登录用户是否存在当前场站 const isHasCurrentUser = window.taskCache.dataSource.accepterGroup.find( (accepter) => accepter.value === currentUser.value ); if (isHasCurrentUser) { form.setFieldsValue({ accepterGroup: [ { key: isHasCurrentUser.key, label: isHasCurrentUser.label, value: isHasCurrentUser.value, }, ], }); } else { form.setFieldsValue({ accepterGroup: [], }); } } }, 2000); } } catch (err) { console.log(err); } })(form, data);
- 字段初始化例子
(function (form, data) { // 业务相关代码 try { const fieldKey = "select_1670998497194"; const fieldMultiple = false; const fieldName = "责任部门负责人"; if (!data) { data = fieldMultiple ? [] : {}; } const taskId = window.$getQueryString("taskId"); const fieldValue = window.$getQueryString(fieldKey); setTimeout(() => { if ( !taskId && fieldValue && !(fieldMultiple ? data.length : data.key || data.value) && window.taskCache.dataSource && window.taskCache.dataSource[fieldKey] && window.taskCache.dataSource[fieldKey].length > 0 ) { const item = fieldMultiple ? window.taskCache.dataSource[fieldKey].filter((x) => fieldValue.split(",").includes(x.value) ) : window.taskCache.dataSource[fieldKey].find( (x) => fieldValue === x.value ); console.log(`${fieldName}初始化执行`, item); item && form.setFieldsValue({ [fieldKey]: item, }); } }, 2000); } catch (err) { console.log(err); } })(form, data);
- 表单初始化例子
(function (form, data) { // 业务相关代码 try { const fieldKey = "input_1670997824638"; const formName = "任务延期申请单"; const taskId = window.$getQueryString("taskId"); const fieldValue = window.$getQueryString(fieldKey); setTimeout(() => { if (!taskId && fieldValue && !(fieldMultiple ? data.length : data.key || data.value)) { const obj = { input_1670997824638: window.$getQueryString("input_1670997824638"), input_1670999952378: window.$getQueryString("input_1670999952378"), date_1670997855922: window.$getQueryString("date_1670997855922"), date_1670997884670: window.$getQueryString("date_1670997884670"), // select_1670997900197: window.$getQueryString("select_1670997900197"), // select_1670997909159: window.$getQueryString("select_1670997909159"), // select_1670997960052: window.$getQueryString("select_1670997960052"), date_1670998050147: window.$getQueryString("date_1670998050147"), input_1670998110780: window.$getQueryString("input_1670998110780"), businessData: window.$getQueryString("businessData"), }; console.log(`${formName}初始化事件`, obj); form.setFieldsValue(obj); } }, 100); } catch (err) { console.log(err); } })(form, data);
- 用户选择树例子
(function (form, data) { // 业务相关代码 try { const fieldKey = "select_1670998497194"; const fieldMultiple = false; const fieldName = "责任部门负责人"; console.log(`${fieldName}onChange事件`, data); if (!data) { data = fieldMultiple ? [] : {}; } const taskId = window.$getQueryString("taskId"); const fieldMzKey = fieldKey + "mz"; const fieldValue = window.$getQueryString(fieldKey); const fieldMzValue = window.$getQueryString(fieldMzKey); setTimeout(() => { if ( !taskId && fieldValue && fieldMzValue && !(fieldMultiple ? data.length : data.key || data.value) ) { console.log(`${fieldName}初始化执行`, fieldValue, fieldMzValue); form.setFieldsValue({ [fieldKey]: fieldMultiple ? [{ key: fieldValue, value: fieldValue, label: fieldMzValue }] : { key: fieldValue, value: fieldValue, label: fieldMzValue }, }); } }, 2000); } catch (err) { console.log(err); } })(form, data);
- 空白例子
(function (form, data) { // 业务相关代码 })(form, data);
- 表单初始化加查人
(function (form, data) { // 业务相关代码 const fieldName = "配合部门"; const fieldKey = "select_1670997283843"; const fieldMultiple = true; const fieldKeyLink = "select_1670998511081"; const fieldLinkMultiple = true; console.log(`${fieldName}onChange事件`, data); const taskId = window.$getQueryString("taskId"); if (!taskId) { init(); } else { // 延时调用link setTimeout(() => { link(); }, 2000); } function init() { const fieldValue = window.$getQueryString(fieldKey); // 如果有字段传参 继续 if (fieldValue) { // 如果没值,则进行延时 if (!(fieldMultiple ? data.length : data.key || data.value)) { setTimeout(() => { // 如果下拉选项加载好了,就查找对应选项 if ( window.taskCache.dataSource && window.taskCache.dataSource[fieldKey].length > 0 ) { const item = fieldMultiple ? window.taskCache.dataSource[fieldKey].filter((x) => fieldValue.split(",").includes(x.value) ) : window.taskCache.dataSource[fieldKey].find( (x) => fieldValue === x.value ); console.log(`${fieldName}初始化执行`, item); // 如果找到,就赋值 if (item) { form.setFieldsValue({ [fieldKey]: item, }); } } }, 2000); } else { // 如果有选中,就调用link link(); } } } function link() { // 如果有值,继续 if (fieldMultiple ? data.length : data.key || data.value) { console.log(`${fieldName}刷新关联`, fieldKeyLink); // 清空并刷新关联负责人组件 if (fieldKeyLink) { // form.setFieldsValue({ // [fieldKeyLink]: fieldLinkMultiple ? [] : undefined, // }); window.$refreshField(fieldKeyLink); } } } })(form, data);
- 表单提交事件
(function (form, data) { // 业务相关代码 // 获取责任部门和配合部门 console.log("submit form", data); const zrbm = data["select_1670997259007"] || {}; const phbm = data["select_1670997283843"] || {}; // 如果责任部门和配合部门都有选中,且是包含关系,则返false if (zrbm && phbm) { if (phbm.key === zrbm.key) { window.$message.warn("责任部门和配合部门不能相同"); return false; } } })(form, data); (function (form, data) { // 业务相关代码 // 获取责任部门和配合部门 console.log("submit form", data); const zrbm = data["select_1670997259007"] || {}; const phbm = data["select_1670997283843"] || []; // 如果责任部门和配合部门都有选中,且是包含关系,则返false if (zrbm && phbm.length) { if (phbm.map(v => v.key).includes(zrbm.key)) { window.$message.warn("责任部门和配合部门不能相同"); return false; } } })(form, data);
- 表单提交事件的计划延期判断
(function (form, data) { console.log("submit form", data); // 如果责任部门和配合部门都有选中,且是包含关系,则返false const zrbm = data["select_1670997900197"] || {}; const phbm = data["select_1670997909159"] || {}; if (zrbm && zrbm.key && phbm && phbm.key) { if (phbm.key === zrbm.key) { window.$message.warn("责任部门和配合部门不能相同"); return false; } } // 如果计划延期日期不大于计划完成日期,则返false const jhwcrq = data["date_1670997884670"]; const jhyqrq = data["date_1670998050147"]; if ( jhwcrq && jhwcrq && new Date(jhyqrq).getTime() <= new Date(jhwcrq).getTime() ) { window.$message.warn("计划延期完成日期限制在计划完成日期之后"); return false; } })(form, data);
工作流引擎函数配置(个人备用)
于 2023-01-13 16:14:47 首次发布
这些代码片段展示了在JavaScript环境中处理工作流函数的实例,涉及表单的初始化、字段初始化、用户选择处理以及表单提交事件的验证逻辑。主要操作包括根据查询参数设置表单字段值,刷新控件数据,并在提交时检查部门选择的合法性及日期顺序。
摘要由CSDN通过智能技术生成