// ======== 获取相关字段ID ========
const sfzxFieldMark = formSdk.convertFieldNameToId("sfzx"); // 是否执行
const clkcsFieldMark = formSdk.convertFieldNameToId("clkcs"); // 材料库存数
const zzsFieldMark = formSdk.convertFieldNameToId("zzs"); // 在制数
const cpkcsFieldMark = formSdk.convertFieldNameToId("cpkcs"); // 成品库存数
const jhczwcrqFieldMark = formSdk.convertFieldNameToId("jhczwcrq"); // 计划处置完成日期
const bzxyyFieldMark = formSdk.convertFieldNameToId("bzxyy"); // 不执行原因
const yclsfczFieldMark = formSdk.convertFieldNameToId("yclsfcz"); // 原材料是否处置
const yldd1FieldMark = formSdk.convertFieldNameToId("yldd1"); // 原料担当1
const yldd2FieldMark = formSdk.convertFieldNameToId("yldd2"); // 原料担当2
const yclslqrFieldMark = formSdk.convertFieldNameToId("yclslqr"); // 实际数量确认
const yclczfsFieldMark = formSdk.convertFieldNameToId("yclczfs"); // 产品处置方式
const yclqtFieldMark = formSdk.convertFieldNameToId("yclqt"); // 其他处置方式
const yclwcrqFieldMark = formSdk.convertFieldNameToId("yclwcrq"); // 实际处置完成日期
const lcpsfczFieldMark = formSdk.convertFieldNameToId("lcpsfcz"); // 量产品是否处置
const lcpsxzzbFieldMark = formSdk.convertFieldNameToId("lcpsxzzb"); // 量产品所需制造部
const lcpzzbpdd1FieldMark = formSdk.convertFieldNameToId("lcpzzbpdd1"); // 量产品制造部负责人
const lcpzzybslqrFieldMark = formSdk.convertFieldNameToId("lcpzzybslqr"); // 量产品制造一部数量确认
const lcpzzybczfsFieldMark = formSdk.convertFieldNameToId("lcpzzybczfs"); // 量产品制造一部处置方式
const lcpzzybqtFieldMark = formSdk.convertFieldNameToId("lcpzzybqt"); // 量产品制造一部其他
const lcpzzybwcrqFieldMark = formSdk.convertFieldNameToId("lcpzzybwcrq"); // 量产品制造一部完成日期
const lcpzzebslqrFieldMark = formSdk.convertFieldNameToId("lcpzzebslqr"); // 量产品制造二部数量确认
const lcpzzebczfsFieldMark = formSdk.convertFieldNameToId("lcpzzebczfs"); // 量产品制造二部处置方式
const lcpzzebqtFieldMark = formSdk.convertFieldNameToId("lcpzzebqt"); // 量产品制造二部其他
const lcpzzebwcrqFieldMark = formSdk.convertFieldNameToId("lcpzzebwcrq"); // 量产品制造二部完成日期
const lcpzzsbslqr1FieldMark = formSdk.convertFieldNameToId("lcpzzsbslqr1"); // 量产品制造三部数量确认
const lcpzzsbczfs1FieldMark = formSdk.convertFieldNameToId("lcpzzsbczfs1"); // 量产品制造三部处置方式
const lcpzzsbqt1FieldMark = formSdk.convertFieldNameToId("lcpzzsbqt1"); // 量产品制造三部其他
const lcpzzsbwcrq1FieldMark = formSdk.convertFieldNameToId("lcpzzsbwcrq1"); // 量产品制造三部完成日期
const lcpzzsbslqr2FieldMark = formSdk.convertFieldNameToId("lcpzzsbslqr2"); // 量产品制造四部数量确认
const lcpzzsbczfs2FieldMark = formSdk.convertFieldNameToId("lcpzzsbczfs2"); // 量产品制造四部处置方式
const lcpzzsbqt2FieldMark = formSdk.convertFieldNameToId("lcpzzsbqt2"); // 量产品制造四部其他
const lcpzzsbwcrq2FieldMark = formSdk.convertFieldNameToId("lcpzzsbwcrq2"); // 量产品制造四部完成日期
const xpsfczFieldMark = formSdk.convertFieldNameToId("xpsfcz"); // 新品是否处置
const xpsxzzbFieldMark = formSdk.convertFieldNameToId("xpsxzzb"); // 新品所需制造部
const xpzzbddFieldMark = formSdk.convertFieldNameToId("xpzzbdd"); // 新品制造部负责人
const xpzzybslqrFieldMark = formSdk.convertFieldNameToId("xpzzybslqr"); // 新品-制造一部数量确认
const xpzzybczfsFieldMark = formSdk.convertFieldNameToId("xpzzybczfs"); // 新品-制造一部处置方式
const xpzzybqtFieldMark = formSdk.convertFieldNameToId("xpzzybqt"); // 新品-制造一部其他
const xpzzybwcrqFieldMark = formSdk.convertFieldNameToId("xpzzybwcrq"); // 新品-制造一部完成日期
const xpzzebslqrFieldMark = formSdk.convertFieldNameToId("xpzzebslqr"); // 新品-制造二部数量确认
const xpzzebczfsFieldMark = formSdk.convertFieldNameToId("xpzzebczfs"); // 新品-制造二部处置方式
const xpzzebqtFieldMark = formSdk.convertFieldNameToId("xpzzebqt"); // 新品-制造二部其他
const xpzzebwcrqFieldMark = formSdk.convertFieldNameToId("xpzzebwcrq"); // 新品-制造二部完成日期
const xpzzsbslqr1FieldMark = formSdk.convertFieldNameToId("xpzzsbslqr1"); // 新品-制造三部数量确认
const xpzzsbczfsFieldMark = formSdk.convertFieldNameToId("xpzzsbczfs"); // 新品-制造三部处置方式
const xpzzsbqt1FieldMark = formSdk.convertFieldNameToId("xpzzsbqt1"); // 新品-制造三部其他
const xpzzsbwcrq1FieldMark = formSdk.convertFieldNameToId("xpzzsbwcrq1"); // 新品-制造三部完成日期
const xpzzsbslqr2FieldMark = formSdk.convertFieldNameToId("xpzzsbslqr2"); // 新品-制造四部数量确认
const xpFieldMark = formSdk.convertFieldNameToId("xp"); // 新品-制造四部处置方式
const xpzzsbqtFieldMark = formSdk.convertFieldNameToId("xpzzsbqt"); // 新品-制造四部其他
const xpzzsbwcrq2FieldMark = formSdk.convertFieldNameToId("xpzzsbwcrq2"); // 新品-制造四部完成日期
const xpyfbFieldMark = formSdk.convertFieldNameToId("xpyfb"); // 新品-研发部
const sjslqrrrFieldMark = formSdk.convertFieldNameToId("sjslqrrr"); // 新品-研发部-实际数量确认
const cpczfsssFieldMark = formSdk.convertFieldNameToId("cpczfsss"); // 新品-研发部-处置方式
const yfbxpqtFieldMark = formSdk.convertFieldNameToId("yfbxpqt"); // 新品-研发部-其他说明
const sjczwcrq22FieldMark = formSdk.convertFieldNameToId("sjczwcrq22"); // 新品-研发部-完成日期
const xpzbbFieldMark = formSdk.convertFieldNameToId("xpzbb"); // 新品-质保部
const xpzbbczfsFieldMark = formSdk.convertFieldNameToId("xpzbbczfs"); // 新品质保部-处置方式
const xpzbbqtFieldMark = formSdk.convertFieldNameToId("xpzbbqt"); // 新品质保部-其他说明
const xpzbbwcrqFieldMark = formSdk.convertFieldNameToId("xpzbbwcrq"); // 新品质保部-完成日期
const cpbcpsfczFieldMark = formSdk.convertFieldNameToId("cpbcpsfcz"); // 成品(半成品)是否处置
const cpbcpdd1FieldMark = formSdk.convertFieldNameToId("cpbcpdd1"); // 成品(半成品)担当1
const cpbcpdd2FieldMark = formSdk.convertFieldNameToId("cpbcpdd2"); // 成品(半成品)担当2
const sjslqrFieldMark = formSdk.convertFieldNameToId("sjslqr"); // 成品-实际数量确认
const cpczfsFieldMark = formSdk.convertFieldNameToId("cpczfs"); // 成品-处置方式
const qtczfsFieldMark = formSdk.convertFieldNameToId("qtczfs"); // 成品-其他处置方式
const sjczwcrqFieldMark = formSdk.convertFieldNameToId("sjczwcrq"); // 成品-完成日期
// ======== 定义 viewAttr 常量 ========
const REQUIRED_ATTR = 3; // 显示且必填
const EDITABLE_ATTR = 2; // 显示可编辑
const HIDE_ATTR = 4; // 隐藏
// ======== 工具函数:安全解析多选字段值 ========
function parseMultiSelectValue(value) {
if (Array.isArray(value)) {
return value.map(String);
} else if (typeof value === 'string') {
return value.split(',').map(s => s.trim()).filter(Boolean);
} else if (value == null || value === undefined) {
return [];
} else {
return [String(value)];
}
}
// ======== 辅助函数:控制“其他说明”字段 —— 主字段为 "3" 时必填,否则隐藏 ========
function handleOtherRequired(sourceField, targetField) {
const value = formSdk.getFieldValue(sourceField);
return {
[targetField]: value === "3" ? REQUIRED_ATTR : HIDE_ATTR
};
}
// ======== 初始化字段状态缓存(避免重复更新) ========
const fieldStateCache = new Map();
// ======== 批量更新字段(仅变化时触发) ========
function updateFields(updates) {
const changes = {};
for (const [field, attr] of Object.entries(updates)) {
if (fieldStateCache.get(field) !== attr) {
changes[field] = { viewAttr: attr };
fieldStateCache.set(field, attr);
}
}
if (Object.keys(changes).length > 0) {
formSdk.changeMoreField({}, changes);
}
}
// ======== 设置初始显隐状态 ========
function setInitialVisibility() {
const value = formSdk.getFieldValue(sfzxFieldMark);
updateFieldVisibility(value);
}
// ======== 核心逻辑:字段显隐控制 ========
function updateFieldVisibility(value) {
const isExecuting = value === "1"; // 是否执行
// 获取当前字段值
const yclsfcz = formSdk.getFieldValue(yclsfczFieldMark) || "";
const lcpsfcz = formSdk.getFieldValue(lcpsfczFieldMark) || "";
const xpsfcz = formSdk.getFieldValue(xpsfczFieldMark) || "";
const xpyfb = formSdk.getFieldValue(xpyfbFieldMark) || "";
const xpzbb = formSdk.getFieldValue(xpzbbFieldMark) || "";
const cpbcpsfcz = formSdk.getFieldValue(cpbcpsfczFieldMark) || "";
// 解析多选字段
const lcpsxzzbRaw = formSdk.getFieldValue(lcpsxzzbFieldMark);
const xpsxzzbRaw = formSdk.getFieldValue(xpsxzzbFieldMark);
const lcpsxzzbValues = parseMultiSelectValue(lcpsxzzbRaw);
const xpsxzzbValues = parseMultiSelectValue(xpsxzzbRaw);
const updates = {};
// ======== 1. 最高优先级:是否执行控制整体布局 ========
if (!isExecuting) {
// 不执行:显示不执行字段,隐藏所有处置字段
Object.assign(updates, {
[clkcsFieldMark]: REQUIRED_ATTR,
[zzsFieldMark]: REQUIRED_ATTR,
[cpkcsFieldMark]: REQUIRED_ATTR,
[bzxyyFieldMark]: REQUIRED_ATTR,
[jhczwcrqFieldMark]: HIDE_ATTR,
[yclsfczFieldMark]: HIDE_ATTR,
[yldd1FieldMark]: HIDE_ATTR,
[yldd2FieldMark]: HIDE_ATTR,
[lcpsfczFieldMark]: HIDE_ATTR,
[lcpsxzzbFieldMark]: HIDE_ATTR,
[lcpzzbpdd1FieldMark]: HIDE_ATTR,
[xpsfczFieldMark]: HIDE_ATTR,
[xpsxzzbFieldMark]: HIDE_ATTR,
[xpzzbddFieldMark]: HIDE_ATTR,
[xpyfbFieldMark]: HIDE_ATTR,
[xpzbbFieldMark]: HIDE_ATTR,
[cpbcpsfczFieldMark]: HIDE_ATTR,
[cpbcpdd1FieldMark]: HIDE_ATTR,
[cpbcpdd2FieldMark]: HIDE_ATTR,
// 原材料
[yclslqrFieldMark]: HIDE_ATTR,
[yclczfsFieldMark]: HIDE_ATTR,
[yclqtFieldMark]: HIDE_ATTR,
[yclwcrqFieldMark]: HIDE_ATTR,
// 量产品各部
[lcpzzybslqrFieldMark]: HIDE_ATTR,
[lcpzzybczfsFieldMark]: HIDE_ATTR,
[lcpzzybqtFieldMark]: HIDE_ATTR,
[lcpzzybwcrqFieldMark]: HIDE_ATTR,
[lcpzzebslqrFieldMark]: HIDE_ATTR,
[lcpzzebczfsFieldMark]: HIDE_ATTR,
[lcpzzebqtFieldMark]: HIDE_ATTR,
[lcpzzebwcrqFieldMark]: HIDE_ATTR,
[lcpzzsbslqr1FieldMark]: HIDE_ATTR,
[lcpzzsbczfs1FieldMark]: HIDE_ATTR,
[lcpzzsbqt1FieldMark]: HIDE_ATTR,
[lcpzzsbwcrq1FieldMark]: HIDE_ATTR,
[lcpzzsbslqr2FieldMark]: HIDE_ATTR,
[lcpzzsbczfs2FieldMark]: HIDE_ATTR,
[lcpzzsbqt2FieldMark]: HIDE_ATTR,
[lcpzzsbwcrq2FieldMark]: HIDE_ATTR,
// 新品各部
[xpzzybslqrFieldMark]: HIDE_ATTR,
[xpzzybczfsFieldMark]: HIDE_ATTR,
[xpzzybqtFieldMark]: HIDE_ATTR,
[xpzzybwcrqFieldMark]: HIDE_ATTR,
[xpzzebslqrFieldMark]: HIDE_ATTR,
[xpzzebczfsFieldMark]: HIDE_ATTR,
[xpzzebqtFieldMark]: HIDE_ATTR,
[xpzzebwcrqFieldMark]: HIDE_ATTR,
[xpzzsbslqr1FieldMark]: HIDE_ATTR,
[xpzzsbczfsFieldMark]: HIDE_ATTR,
[xpzzsbqt1FieldMark]: HIDE_ATTR,
[xpzzsbwcrq1FieldMark]: HIDE_ATTR,
[xpzzsbslqr2FieldMark]: HIDE_ATTR,
[xpFieldMark]: HIDE_ATTR,
[xpzzsbqtFieldMark]: HIDE_ATTR,
[xpzzsbwcrq2FieldMark]: HIDE_ATTR,
// 研发部 & 质保部
[sjslqrrrFieldMark]: HIDE_ATTR,
[cpczfsssFieldMark]: HIDE_ATTR,
[yfbxpqtFieldMark]: HIDE_ATTR,
[sjczwcrq22FieldMark]: HIDE_ATTR,
[xpzbbczfsFieldMark]: HIDE_ATTR,
[xpzbbqtFieldMark]: HIDE_ATTR,
[xpzbbwcrqFieldMark]: HIDE_ATTR,
// 成品
[sjslqrFieldMark]: HIDE_ATTR,
[cpczfsFieldMark]: HIDE_ATTR,
[qtczfsFieldMark]: HIDE_ATTR,
[sjczwcrqFieldMark]: HIDE_ATTR
});
} else {
// 执行:隐藏不执行字段,显示基础字段
Object.assign(updates, {
[bzxyyFieldMark]: HIDE_ATTR,
[clkcsFieldMark]: HIDE_ATTR,
[zzsFieldMark]: HIDE_ATTR,
[cpkcsFieldMark]: HIDE_ATTR,
[jhczwcrqFieldMark]: REQUIRED_ATTR,
[yclsfczFieldMark]: REQUIRED_ATTR,
[yldd1FieldMark]: REQUIRED_ATTR,
[yldd2FieldMark]: REQUIRED_ATTR,
[lcpsfczFieldMark]: REQUIRED_ATTR,
[lcpzzbpdd1FieldMark]: REQUIRED_ATTR,
[xpsfczFieldMark]: REQUIRED_ATTR,
[xpzzbddFieldMark]: REQUIRED_ATTR,
[xpyfbFieldMark]: REQUIRED_ATTR,
[xpzbbFieldMark]: REQUIRED_ATTR,
[cpbcpsfczFieldMark]: REQUIRED_ATTR,
[cpbcpdd1FieldMark]: REQUIRED_ATTR,
[cpbcpdd2FieldMark]: REQUIRED_ATTR
});
}
// ======== 2. 原材料处置 ========
if (isExecuting && yclsfcz === "1") {
Object.assign(updates, {
[yclslqrFieldMark]: REQUIRED_ATTR,
[yclczfsFieldMark]: REQUIRED_ATTR,
[yclwcrqFieldMark]: REQUIRED_ATTR
});
} else {
Object.assign(updates, {
[yclslqrFieldMark]: HIDE_ATTR,
[yclczfsFieldMark]: HIDE_ATTR,
[yclqtFieldMark]: HIDE_ATTR,
[yclwcrqFieldMark]: HIDE_ATTR
});
}
// ======== 3. 量产品处置 ========
if (isExecuting && lcpsfcz === "1") {
updates[lcpsxzzbFieldMark] = REQUIRED_ATTR;
updates[lcpzzbpdd1FieldMark] = REQUIRED_ATTR;
// 制造一部
if (lcpsxzzbValues.includes("0")) {
updates[lcpzzybslqrFieldMark] = REQUIRED_ATTR;
updates[lcpzzybczfsFieldMark] = REQUIRED_ATTR;
updates[lcpzzybwcrqFieldMark] = REQUIRED_ATTR;
} else {
updates[lcpzzybslqrFieldMark] = HIDE_ATTR;
updates[lcpzzybczfsFieldMark] = HIDE_ATTR;
updates[lcpzzybqtFieldMark] = HIDE_ATTR;
updates[lcpzzybwcrqFieldMark] = HIDE_ATTR;
}
// 制造二部
if (lcpsxzzbValues.includes("1")) {
updates[lcpzzebslqrFieldMark] = REQUIRED_ATTR;
updates[lcpzzebczfsFieldMark] = REQUIRED_ATTR;
updates[lcpzzebwcrqFieldMark] = REQUIRED_ATTR;
} else {
updates[lcpzzebslqrFieldMark] = HIDE_ATTR;
updates[lcpzzebczfsFieldMark] = HIDE_ATTR;
updates[lcpzzebqtFieldMark] = HIDE_ATTR;
updates[lcpzzebwcrqFieldMark] = HIDE_ATTR;
}
// 制造三部
if (lcpsxzzbValues.includes("2")) {
updates[lcpzzsbslqr1FieldMark] = REQUIRED_ATTR;
updates[lcpzzsbczfs1FieldMark] = REQUIRED_ATTR;
updates[lcpzzsbwcrq1FieldMark] = REQUIRED_ATTR;
} else {
updates[lcpzzsbslqr1FieldMark] = HIDE_ATTR;
updates[lcpzzsbczfs1FieldMark] = HIDE_ATTR;
updates[lcpzzsbqt1FieldMark] = HIDE_ATTR;
updates[lcpzzsbwcrq1FieldMark] = HIDE_ATTR;
}
// 制造四部
if (lcpsxzzbValues.includes("3")) {
updates[lcpzzsbslqr2FieldMark] = REQUIRED_ATTR;
updates[lcpzzsbczfs2FieldMark] = REQUIRED_ATTR;
updates[lcpzzsbwcrq2FieldMark] = REQUIRED_ATTR;
} else {
updates[lcpzzsbslqr2FieldMark] = HIDE_ATTR;
updates[lcpzzsbczfs2FieldMark] = HIDE_ATTR;
updates[lcpzzsbqt2FieldMark] = HIDE_ATTR;
updates[lcpzzsbwcrq2FieldMark] = HIDE_ATTR;
}
} else {
updates[lcpsxzzbFieldMark] = HIDE_ATTR;
updates[lcpzzbpdd1FieldMark] = HIDE_ATTR;
updates[lcpzzybslqrFieldMark] = HIDE_ATTR;
updates[lcpzzybczfsFieldMark] = HIDE_ATTR;
updates[lcpzzybqtFieldMark] = HIDE_ATTR;
updates[lcpzzybwcrqFieldMark] = HIDE_ATTR;
updates[lcpzzebslqrFieldMark] = HIDE_ATTR;
updates[lcpzzebczfsFieldMark] = HIDE_ATTR;
updates[lcpzzebqtFieldMark] = HIDE_ATTR;
updates[lcpzzebwcrqFieldMark] = HIDE_ATTR;
updates[lcpzzsbslqr1FieldMark] = HIDE_ATTR;
updates[lcpzzsbczfs1FieldMark] = HIDE_ATTR;
updates[lcpzzsbqt1FieldMark] = HIDE_ATTR;
updates[lcpzzsbwcrq1FieldMark] = HIDE_ATTR;
updates[lcpzzsbslqr2FieldMark] = HIDE_ATTR;
updates[lcpzzsbczfs2FieldMark] = HIDE_ATTR;
updates[lcpzzsbqt2FieldMark] = HIDE_ATTR;
updates[lcpzzsbwcrq2FieldMark] = HIDE_ATTR;
}
// ======== 4. 新品处置 ========
if (isExecuting && xpsfcz === "1") {
updates[xpsxzzbFieldMark] = REQUIRED_ATTR;
updates[xpzzbddFieldMark] = REQUIRED_ATTR;
updates[xpyfbFieldMark] = REQUIRED_ATTR;
updates[xpzbbFieldMark] = REQUIRED_ATTR;
// 新品制造一部
if (xpsxzzbValues.includes("0")) {
updates[xpzzybslqrFieldMark] = REQUIRED_ATTR;
updates[xpzzybczfsFieldMark] = REQUIRED_ATTR;
updates[xpzzybwcrqFieldMark] = REQUIRED_ATTR;
} else {
updates[xpzzybslqrFieldMark] = HIDE_ATTR;
updates[xpzzybczfsFieldMark] = HIDE_ATTR;
updates[xpzzybqtFieldMark] = HIDE_ATTR;
updates[xpzzybwcrqFieldMark] = HIDE_ATTR;
}
// 新品制造二部
if (xpsxzzbValues.includes("1")) {
updates[xpzzebslqrFieldMark] = REQUIRED_ATTR;
updates[xpzzebczfsFieldMark] = REQUIRED_ATTR;
updates[xpzzebwcrqFieldMark] = REQUIRED_ATTR;
} else {
updates[xpzzebslqrFieldMark] = HIDE_ATTR;
updates[xpzzebczfsFieldMark] = HIDE_ATTR;
updates[xpzzebqtFieldMark] = HIDE_ATTR;
updates[xpzzebwcrqFieldMark] = HIDE_ATTR;
}
// 新品制造三部
if (xpsxzzbValues.includes("2")) {
updates[xpzzsbslqr1FieldMark] = REQUIRED_ATTR;
updates[xpzzsbczfsFieldMark] = REQUIRED_ATTR;
updates[xpzzsbwcrq1FieldMark] = REQUIRED_ATTR;
} else {
updates[xpzzsbslqr1FieldMark] = HIDE_ATTR;
updates[xpzzsbczfsFieldMark] = HIDE_ATTR;
updates[xpzzsbqt1FieldMark] = HIDE_ATTR;
updates[xpzzsbwcrq1FieldMark] = HIDE_ATTR;
}
// 新品制造四部
if (xpsxzzbValues.includes("3")) {
updates[xpzzsbslqr2FieldMark] = REQUIRED_ATTR;
updates[xpFieldMark] = REQUIRED_ATTR;
updates[xpzzsbwcrq2FieldMark] = REQUIRED_ATTR;
} else {
updates[xpzzsbslqr2FieldMark] = HIDE_ATTR;
updates[xpFieldMark] = HIDE_ATTR;
updates[xpzzsbqtFieldMark] = HIDE_ATTR;
updates[xpzzsbwcrq2FieldMark] = HIDE_ATTR;
}
} else {
updates[xpsxzzbFieldMark] = HIDE_ATTR;
updates[xpzzbddFieldMark] = HIDE_ATTR;
updates[xpyfbFieldMark] = HIDE_ATTR;
updates[xpzbbFieldMark] = HIDE_ATTR;
updates[xpzzybslqrFieldMark] = HIDE_ATTR;
updates[xpzzybczfsFieldMark] = HIDE_ATTR;
updates[xpzzybqtFieldMark] = HIDE_ATTR;
updates[xpzzybwcrqFieldMark] = HIDE_ATTR;
updates[xpzzebslqrFieldMark] = HIDE_ATTR;
updates[xpzzebczfsFieldMark] = HIDE_ATTR;
updates[xpzzebqtFieldMark] = HIDE_ATTR;
updates[xpzzebwcrqFieldMark] = HIDE_ATTR;
updates[xpzzsbslqr1FieldMark] = HIDE_ATTR;
updates[xpzzsbczfsFieldMark] = HIDE_ATTR;
updates[xpzzsbqt1FieldMark] = HIDE_ATTR;
updates[xpzzsbwcrq1FieldMark] = HIDE_ATTR;
updates[xpzzsbslqr2FieldMark] = HIDE_ATTR;
updates[xpFieldMark] = HIDE_ATTR;
updates[xpzzsbqtFieldMark] = HIDE_ATTR;
updates[xpzzsbwcrq2FieldMark] = HIDE_ATTR;
updates[sjslqrrrFieldMark] = HIDE_ATTR;
updates[cpczfsssFieldMark] = HIDE_ATTR;
updates[yfbxpqtFieldMark] = HIDE_ATTR;
updates[sjczwcrq22FieldMark] = HIDE_ATTR;
updates[xpzbbczfsFieldMark] = HIDE_ATTR;
updates[xpzbbqtFieldMark] = HIDE_ATTR;
updates[xpzbbwcrqFieldMark] = HIDE_ATTR;
}
// ======== 5. 新品-研发部 ========
if (isExecuting && xpyfb === "1") {
updates[sjslqrrrFieldMark] = REQUIRED_ATTR;
updates[cpczfsssFieldMark] = REQUIRED_ATTR;
updates[sjczwcrq22FieldMark] = REQUIRED_ATTR;
} else {
updates[sjslqrrrFieldMark] = HIDE_ATTR;
updates[cpczfsssFieldMark] = HIDE_ATTR;
updates[yfbxpqtFieldMark] = HIDE_ATTR;
updates[sjczwcrq22FieldMark] = HIDE_ATTR;
}
// ======== 6. 新品-质保部 ========
if (isExecuting && xpzbb === "1") {
updates[xpzbbczfsFieldMark] = REQUIRED_ATTR;
updates[xpzbbwcrqFieldMark] = REQUIRED_ATTR;
} else {
updates[xpzbbczfsFieldMark] = HIDE_ATTR;
updates[xpzbbqtFieldMark] = HIDE_ATTR;
updates[xpzbbwcrqFieldMark] = HIDE_ATTR;
}
// ======== 7. 成品处置 ========
if (isExecuting && cpbcpsfcz === "1") {
updates[cpbcpdd1FieldMark] = REQUIRED_ATTR;
updates[cpbcpdd2FieldMark] = REQUIRED_ATTR;
updates[sjslqrFieldMark] = REQUIRED_ATTR;
updates[cpczfsFieldMark] = REQUIRED_ATTR;
updates[sjczwcrqFieldMark] = REQUIRED_ATTR;
} else {
updates[cpbcpdd1FieldMark] = HIDE_ATTR;
updates[cpbcpdd2FieldMark] = HIDE_ATTR;
updates[sjslqrFieldMark] = HIDE_ATTR;
updates[cpczfsFieldMark] = HIDE_ATTR;
updates[qtczfsFieldMark] = HIDE_ATTR;
updates[sjczwcrqFieldMark] = HIDE_ATTR;
}
// 应用主逻辑更新
updateFields(updates);
// ======== 8. 【关键】动态控制“其他说明”字段 ========
if (isExecuting) {
const otherRules = {};
Object.assign(otherRules, handleOtherRequired(yclczfsFieldMark, lcpzzybqtFieldMark));
Object.assign(otherRules, handleOtherRequired(lcpzzybczfsFieldMark, lcpzzebqtFieldMark));
Object.assign(otherRules, handleOtherRequired(lcpzzebczfsFieldMark, lcpzzsbqt1FieldMark));
Object.assign(otherRules, handleOtherRequired(lcpzzsbczfs1FieldMark, lcpzzsbqt2FieldMark));
Object.assign(otherRules, handleOtherRequired(lcpzzsbczfs2FieldMark, xpzzybqtFieldMark));
Object.assign(otherRules, handleOtherRequired(xpzzybczfsFieldMark, xpzzebqtFieldMark));
Object.assign(otherRules, handleOtherRequired(xpzzebczfsFieldMark, xpzzsbqt1FieldMark));
Object.assign(otherRules, handleOtherRequired(xpzzsbczfsFieldMark, xpzzsbqtFieldMark));
Object.assign(otherRules, handleOtherRequired(xpFieldMark, yfbxpqtFieldMark));
Object.assign(otherRules, handleOtherRequired(cpczfsssFieldMark, yclqtFieldMark));
Object.assign(otherRules, handleOtherRequired(xpzbbczfsFieldMark, xpzbbqtFieldMark));
Object.assign(otherRules, handleOtherRequired(cpczfsFieldMark, qtczfsFieldMark));
updateFields(otherRules);
}
}
// ======== 防抖函数 ========
function debounce(func, wait = 50) {
let timeout;
return function () {
clearTimeout(timeout);
timeout = setTimeout(() => func(), wait);
};
}
const handleFieldChange = debounce(() => {
const value = formSdk.getFieldValue(sfzxFieldMark);
updateFieldVisibility(value);
});
// ======== 监听字段列表 ========
const fieldsToWatch = [
sfzxFieldMark,
yclsfczFieldMark,
lcpsfczFieldMark,
xpsfczFieldMark,
xpyfbFieldMark,
xpzbbFieldMark,
lcpsxzzbFieldMark,
xpsxzzbFieldMark,
cpbcpsfczFieldMark,
// 👇 新增:所有影响“其他说明”的字段
yclczfsFieldMark,
lcpzzybczfsFieldMark,
lcpzzebczfsFieldMark,
lcpzzsbczfs1FieldMark,
lcpzzsbczfs2FieldMark,
xpzzybczfsFieldMark,
xpzzebczfsFieldMark,
xpzzsbczfsFieldMark,
xpFieldMark,
cpczfsssFieldMark,
xpzbbczfsFieldMark,
cpczfsFieldMark
];
// 绑定事件
fieldsToWatch.forEach(field => {
try {
formSdk.bindFieldChangeEvent(field, handleFieldChange, {
scope: window.WeFormSDK?.CHANGE_EVENT_SCOPE
});
} catch (e) {
console.error(`绑定字段 ${field} 变更事件失败`, e);
}
});
// ======== 初始化与就绪监听 ========
setInitialVisibility();
if (window.WeFormSDK && typeof window.WeFormSDK.ready === 'function') {
window.WeFormSDK.ready(setInitialVisibility);
}
// ======== 页面焦点恢复时刷新状态 ========
window.addEventListener('focus', () => {
const value = formSdk.getFieldValue(sfzxFieldMark);
updateFieldVisibility(value);
});
改成下方格式// 获取相关字段ID
const sfzxFieldMark = formSdk.convertFieldNameToId("sfzx"); // 是否执行
const clkcsFieldMark = formSdk.convertFieldNameToId("clkcs"); // 材料库存数
const zzsFieldMark = formSdk.convertFieldNameToId("zzs"); // 在制数
const cpkcsFieldMark = formSdk.convertFieldNameToId("cpkcs"); // 成品库存数
const bzxyyFieldMark = formSdk.convertFieldNameToId("bzxyy"); // 不执行原因
const yclsfczFieldMark = formSdk.convertFieldNameToId("yclsfcz"); // 原材料是否处置
const yldd1FieldMark = formSdk.convertFieldNameToId("yldd1"); // 原料担当1
const yldd2FieldMark = formSdk.convertFieldNameToId("yldd2"); // 原料担当2
const lcpsfczFieldMark = formSdk.convertFieldNameToId("lcpsfcz"); // 量产品是否处置
const lcpsxzzbFieldMark = formSdk.convertFieldNameToId("lcpsxzzb"); // 量产品所需制造部
const lcpzzbpdd1FieldMark = formSdk.convertFieldNameToId("lcpzzbpdd1"); // 量产品制造部负责人
const xpsfczFieldMark = formSdk.convertFieldNameToId("xpsfcz"); // 新品是否处置
const xpsxzzbFieldMark = formSdk.convertFieldNameToId("xpsxzzb"); // 新品所需制造部
const xpzzbddFieldMark = formSdk.convertFieldNameToId("xpzzbdd"); // 新品制造部负责人
const xpyfbFieldMark = formSdk.convertFieldNameToId("xpyfb"); // 新品-研发部
const xpzbbFieldMark = formSdk.convertFieldNameToId("xpzbb"); // 新品-质保部
const cpbcpsfczFieldMark = formSdk.convertFieldNameToId("cpbcpsfcz"); // 成品(半成品)是否处置
const cpbcpdd1FieldMark = formSdk.convertFieldNameToId("cpbcpdd1"); // 成品(半成品)担当1
const cpbcpdd2FieldMark = formSdk.convertFieldNameToId("cpbcpdd2"); // 成品(半成品)担当2
const yclslqrFieldMark = formSdk.convertFieldNameToId("yclslqr"); // 实际数量确认
const yclczfsFieldMark = formSdk.convertFieldNameToId("yclczfs"); // 产品处置方式
const yclqtFieldMark = formSdk.convertFieldNameToId("yclqt"); // 其他处置方式
const yclwcrqFieldMark = formSdk.convertFieldNameToId("yclwcrq"); // 实际处置完成日期
const lcpzzybslqrFieldMark = formSdk.convertFieldNameToId("lcpzzybslqr"); // 量产品制造一部数量确认
const lcpzzybczfsFieldMark = formSdk.convertFieldNameToId("lcpzzybczfs"); // 量产品制造一部处置方式
const lcpzzybqtFieldMark = formSdk.convertFieldNameToId("lcpzzybqt"); // 量产品制造一部其他
const lcpzzybwcrqFieldMark = formSdk.convertFieldNameToId("lcpzzybwcrq"); // 量产品制造一部完成日期
// 修正重复定义问题,将量产品制造二部改为正确的命名
const lcpzzebslqrFieldMark = formSdk.convertFieldNameToId("lcpzzebslqr"); // 量产品制造二部数量确认
const lcpzzebczfsFieldMark = formSdk.convertFieldNameToId("lcpzzebczfs"); // 量产品制造二部处置方式
const lcpzzebqtFieldMark = formSdk.convertFieldNameToId("lcpzzebqt"); // 量产品制造二部其他
const lcpzzebwcrqFieldMark = formSdk.convertFieldNameToId("lcpzzebwcrq"); // 量产品制造二部完成日期
const lcpzzsbslqr1FieldMark = formSdk.convertFieldNameToId("lcpzzsbslqr1"); // 量产品制造三部数量确认
const lcpzzsbczfs1FieldMark = formSdk.convertFieldNameToId("lcpzzsbczfs1"); // 量产品制造三部处置方式
const lcpzzsbqt1FieldMark = formSdk.convertFieldNameToId("lcpzzsbqt1"); // 量产品制造三部其他
const lcpzzsbwcrq1FieldMark = formSdk.convertFieldNameToId("lcpzzsbwcrq1"); // 量产品制造三部完成日期
const lcpzzsbslqr2FieldMark = formSdk.convertFieldNameToId("lcpzzsbslqr2"); // 量产品制造四部数量确认
const lcpzzsbczfs2FieldMark = formSdk.convertFieldNameToId("lcpzzsbczfs2"); // 量产品制造四部处置方式
const lcpzzsbqt2FieldMark = formSdk.convertFieldNameToId("lcpzzsbqt2"); // 量产品制造四部其他
const lcpzzsbwcrq2FieldMark = formSdk.convertFieldNameToId("lcpzzsbwcrq2"); // 量产品制造四部完成日期
const xpzzybslqrFieldMark = formSdk.convertFieldNameToId("xpzzybslqr"); // 新品-制造一部数量确认
const xpzzybczfsFieldMark = formSdk.convertFieldNameToId("xpzzybczfs"); // 新品-制造一部处置方式
const xpzzybqtFieldMark = formSdk.convertFieldNameToId("xpzzybqt"); // 新品-制造一部其他
const xpzzybwcrqFieldMark = formSdk.convertFieldNameToId("xpzzybwcrq"); // 新品-制造一部完成日期
const xpzzebslqrFieldMark = formSdk.convertFieldNameToId("xpzzebslqr"); // 新品-制造二部数量确认
const xpzzebczfsFieldMark = formSdk.convertFieldNameToId("xpzzebczfs"); // 新品-制造二部处置方式
const xpzzebqtFieldMark = formSdk.convertFieldNameToId("xpzzebqt"); // 新品-制造二部其他
const xpzzebwcrqFieldMark = formSdk.convertFieldNameToId("xpzzebwcrq"); // 新品-制造二部完成日期
const xpzzsbslqr1FieldMark = formSdk.convertFieldNameToId("xpzzsbslqr1"); // 新品-制造三部数量确认
const xpzzsbczfsFieldMark = formSdk.convertFieldNameToId("xpzzsbczfs"); // 新品-制造三部处置方式
const xpzzsbqt1FieldMark = formSdk.convertFieldNameToId("xpzzsbqt1"); // 新品-制造三部其他
const xpzzsbwcrq1FieldMark = formSdk.convertFieldNameToId("xpzzsbwcrq1"); // 新品-制造三部完成日期
const xpzzsbslqr2FieldMark = formSdk.convertFieldNameToId("xpzzsbslqr2"); // 新品-制造四部数量确认
const xpzzsbqtFieldMark = formSdk.convertFieldNameToId("xpzzsbqt"); // 新品-制造四部其他
const xpzzsbwcrq2FieldMark = formSdk.convertFieldNameToId("xpzzsbwcrq2"); // 新品-制造四部完成日期
const xpFieldMark = formSdk.convertFieldNameToId("xp"); // 新品-制造四部处置方式
const sjslqrrrFieldMark = formSdk.convertFieldNameToId("sjslqrrr"); // 新品-制造四部数量确认
const cpczfsssFieldMark = formSdk.convertFieldNameToId("cpczfsss"); // 新品-制造四部其他
const yfbxpqtFieldMark = formSdk.convertFieldNameToId("yfbxpqt"); // 新品-制造四部完成日期
const sjczwcrq22FieldMark = formSdk.convertFieldNameToId("sjczwcrq22"); // 新品-制造四部处置方式
const xpzbbczfsFieldMark = formSdk.convertFieldNameToId("xpzbbczfs"); // 产品处置方式
const xpzbbqtFieldMark = formSdk.convertFieldNameToId("xpzbbqt"); // 其他处置方式
const xpzbbwcrqFieldMark = formSdk.convertFieldNameToId("xpzbbwcrq"); // 实际处置完成日期
const sjslqrFieldMark = formSdk.convertFieldNameToId("sjslqr"); // 实际数量确认
const cpczfsFieldMark = formSdk.convertFieldNameToId("cpczfs"); // 产品处置方式
const qtczfsFieldMark = formSdk.convertFieldNameToId("qtczfs"); // 其他处置方式
const sjczwcrqFieldMark = formSdk.convertFieldNameToId("sjczwcrq"); // 实际处置完成日期
// 定义viewAttr值(遵循系统规范)
const REQUIRED_ATTR = 3; // 显示必填
const EDITABLE_ATTR = 2; // 显示可编辑(修正命名)
const HIDE_ATTR = 4; // 隐藏
// 初始加载时设置一次字段显隐状态
function setInitialVisibility() {
const initialValue = formSdk.getFieldValue(sfzxFieldMark);
updateFieldVisibility(initialValue);
}
// 字段显隐控制逻辑
function updateFieldVisibility(value) {
if (value === "1") {
// sfzx为1时:隐藏bzxyy,显示其他字段
formSdk.changeMoreField({}, {
[bzxyyFieldMark]: { viewAttr: HIDE_ATTR },
[clkcsFieldMark]: { viewAttr: HIDE_ATTR },
[zzsFieldMark]: { viewAttr: HIDE_ATTR },
[cpkcsFieldMark]: { viewAttr: HIDE_ATTR }
});
} else if (value === "0") {
// sfzx为0时:显示bzxyy,隐藏其他字段
formSdk.changeMoreField({}, {
// 处置明细
[clkcsFieldMark]: { viewAttr: REQUIRED_ATTR },
[zzsFieldMark]: { viewAttr: REQUIRED_ATTR },
[cpkcsFieldMark]: { viewAttr: REQUIRED_ATTR },
[bzxyyFieldMark]: { viewAttr: REQUIRED_ATTR },
// 原处置
[yclsfczFieldMark]: { viewAttr: REQUIRED_ATTR },
[yldd1FieldMark]: { viewAttr: REQUIRED_ATTR },
[yldd2FieldMark]: { viewAttr: REQUIRED_ATTR },
// 量产品
[lcpsfczFieldMark]: { viewAttr: REQUIRED_ATTR },
[lcpsxzzbFieldMark]: { viewAttr: REQUIRED_ATTR },
[lcpzzbpdd1FieldMark]: { viewAttr: REQUIRED_ATTR },
// 新品
[xpsfczFieldMark]: { viewAttr: REQUIRED_ATTR },
[xpsxzzbFieldMark]: { viewAttr: REQUIRED_ATTR },
[xpzzbddFieldMark]: { viewAttr: REQUIRED_ATTR },
[xpyfbFieldMark]: { viewAttr: REQUIRED_ATTR },
[xpzbbFieldMark]: { viewAttr: REQUIRED_ATTR },
// 成品
[cpbcpsfczFieldMark]: { viewAttr: REQUIRED_ATTR },
[cpbcpdd1FieldMark]: { viewAttr: REQUIRED_ATTR },
[cpbcpdd2FieldMark]: { viewAttr: REQUIRED_ATTR },
// 原材料及胚料
[yclslqrFieldMark]: { viewAttr: REQUIRED_ATTR },
[yclczfsFieldMark]: { viewAttr: REQUIRED_ATTR },
[yclqtFieldMark]: { viewAttr: REQUIRED_ATTR },
[yclwcrqFieldMark]: { viewAttr: REQUIRED_ATTR },
// 量产品一
[lcpzzybslqrFieldMark]: { viewAttr: REQUIRED_ATTR },
[lcpzzybczfsFieldMark]: { viewAttr: REQUIRED_ATTR },
[lcpzzybqtFieldMark]: { viewAttr: REQUIRED_ATTR },
[lcpzzybwcrqFieldMark]: { viewAttr: REQUIRED_ATTR },
// 量产品二
[lcpzzebslqrFieldMark]: { viewAttr: REQUIRED_ATTR },
[lcpzzebczfsFieldMark]: { viewAttr: REQUIRED_ATTR },
[lcpzzebqtFieldMark]: { viewAttr: REQUIRED_ATTR },
[lcpzzebwcrqFieldMark]: { viewAttr: REQUIRED_ATTR },
// 量产品三
[lcpzzsbslqr1FieldMark]: { viewAttr: REQUIRED_ATTR },
[lcpzzsbczfs1FieldMark]: { viewAttr: REQUIRED_ATTR },
[lcpzzsbqt1FieldMark]: { viewAttr: REQUIRED_ATTR },
[lcpzzsbwcrq1FieldMark]: { viewAttr: REQUIRED_ATTR },
// 量产品四
[lcpzzsbslqr2FieldMark]: { viewAttr: REQUIRED_ATTR },
[lcpzzsbczfs2FieldMark]: { viewAttr: REQUIRED_ATTR },
[lcpzzsbqt2FieldMark]: { viewAttr: REQUIRED_ATTR },
[lcpzzsbwcrq2FieldMark]: { viewAttr: REQUIRED_ATTR },
// 新品一
[xpzzybslqrFieldMark]: { viewAttr: REQUIRED_ATTR },
[xpzzybczfsFieldMark]: { viewAttr: REQUIRED_ATTR },
[xpzzybqtFieldMark]: { viewAttr: REQUIRED_ATTR },
[xpzzybwcrqFieldMark]: { viewAttr: REQUIRED_ATTR },
// 新品二
[xpzzebslqrFieldMark]: { viewAttr: REQUIRED_ATTR },
[xpzzebczfsFieldMark]: { viewAttr: REQUIRED_ATTR },
[xpzzebqtFieldMark]: { viewAttr: REQUIRED_ATTR },
[xpzzebwcrqFieldMark]: { viewAttr: REQUIRED_ATTR },
// 新品三
[xpzzsbslqr1FieldMark]: { viewAttr: REQUIRED_ATTR },
[xpzzsbczfsFieldMark]: { viewAttr: REQUIRED_ATTR },
[xpzzsbqt1FieldMark]: { viewAttr: REQUIRED_ATTR },
[xpzzsbwcrq1FieldMark]: { viewAttr: REQUIRED_ATTR },
// 新品四
[xpzzsbslqr2FieldMark]: { viewAttr: REQUIRED_ATTR },
[xpzzsbqtFieldMark]: { viewAttr: REQUIRED_ATTR },
[xpzzsbwcrq2FieldMark]: { viewAttr: REQUIRED_ATTR },
[xpFieldMark]: { viewAttr: REQUIRED_ATTR },
// 新品-研发部
[sjslqrrrFieldMark]: { viewAttr: REQUIRED_ATTR },
[cpczfsssFieldMark]: { viewAttr: REQUIRED_ATTR },
[yfbxpqtFieldMark]: { viewAttr: REQUIRED_ATTR },
[sjczwcrq22FieldMark]: { viewAttr: REQUIRED_ATTR },
// 新品-质保部
[xpzbbczfsFieldMark]: { viewAttr: REQUIRED_ATTR },
[xpzbbqtFieldMark]: { viewAttr: REQUIRED_ATTR },
[xpzbbwcrqFieldMark]: { viewAttr: REQUIRED_ATTR },
// 成品(半成品)
[sjslqrFieldMark]: { viewAttr: REQUIRED_ATTR },
[cpczfsFieldMark]: { viewAttr: REQUIRED_ATTR },
[qtczfsFieldMark]: { viewAttr: REQUIRED_ATTR },
[sjczwcrqFieldMark]: { viewAttr: REQUIRED_ATTR }
});
}
if (yclsfcz === "1") {
// yclsfcz为1时:
formSdk.changeMoreField({}, {
[yldd1FieldMark]: { viewAttr: REQUIRED_ATTR },
[yldd2FieldMark]: { viewAttr: REQUIRED_ATTR },
[yclslqrFieldMark]: { viewAttr: REQUIRED_ATTR },
[yclczfsFieldMark]: { viewAttr: REQUIRED_ATTR },
[yclqtFieldMark]: { viewAttr: REQUIRED_ATTR },
[yclwcrqFieldMark]: { viewAttr: REQUIRED_ATTR }
});
} else if (yclsfcz === "0") {
// yclsfcz为0时:
formSdk.changeMoreField({}, {
// 处置明细
[yldd1FieldMark]: { viewAttr: HIDE_ATTR },
[yldd2FieldMark]: { viewAttr: HIDE_ATTR },
[yclslqrFieldMark]: { viewAttr: HIDE_ATTR },
[yclczfsFieldMark]: { viewAttr: HIDE_ATTR },
[yclqtFieldMark]: { viewAttr: HIDE_ATTR },
[yclwcrqFieldMark]: { viewAttr: HIDE_ATTR }
});
}
if (lcpsfcz === "1") {
// lcpsfcz为1时:
formSdk.changeMoreField({}, {
[lcpsxzzbFieldMark]: { viewAttr: REQUIRED_ATTR },
[lcpzzbpdd1FieldMark]: { viewAttr: REQUIRED_ATTR }
});
} else if (lcpsfcz === "0") {
// lcpsfcz为0时:
formSdk.changeMoreField({}, {
// 处置明细
[lcpsxzzbFieldMark]: { viewAttr: REQUIRED_ATTR },
[lcpzzbpdd1FieldMark]: { viewAttr: REQUIRED_ATTR }
});
}
if (lcpsxzzb === "0") {
// lcpsxzzb为0时:
formSdk.changeMoreField({}, {
// 量产品一
[lcpzzybslqrFieldMark]: { viewAttr: REQUIRED_ATTR },
[lcpzzybczfsFieldMark]: { viewAttr: REQUIRED_ATTR },
[lcpzzybqtFieldMark]: { viewAttr: REQUIRED_ATTR },
[lcpzzybwcrqFieldMark]: { viewAttr: REQUIRED_ATTR },
// 量产品二
[lcpzzebslqrFieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzebczfsFieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzebqtFieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzebwcrqFieldMark]: { viewAttr: HIDE_ATTR },
// 量产品三
[lcpzzsbslqr1FieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzsbczfs1FieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzsbqt1FieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzsbwcrq1FieldMark]: { viewAttr: HIDE_ATTR },
// 量产品四
[lcpzzsbslqr2FieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzsbczfs2FieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzsbqt2FieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzsbwcrq2FieldMark]: { viewAttr: HIDE_ATTR }
});
} else if (lcpsxzzb === "1") {
// lcpsxzzb为1时:
formSdk.changeMoreField({}, {
// 量产品一
[lcpzzybslqrFieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzybczfsFieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzybqtFieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzybwcrqFieldMark]: { viewAttr: HIDE_ATTR },
// 量产品二
[lcpzzebslqrFieldMark]: { viewAttr: REQUIRED_ATTR },
[lcpzzebczfsFieldMark]: { viewAttr: REQUIRED_ATTR },
[lcpzzebqtFieldMark]: { viewAttr: REQUIRED_ATTR },
[lcpzzebwcrqFieldMark]: { viewAttr: REQUIRED_ATTR },
// 量产品三
[lcpzzsbslqr1FieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzsbczfs1FieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzsbqt1FieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzsbwcrq1FieldMark]: { viewAttr: HIDE_ATTR },
// 量产品四
[lcpzzsbslqr2FieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzsbczfs2FieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzsbqt2FieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzsbwcrq2FieldMark]: { viewAttr: HIDE_ATTR },
});
}else if (lcpsxzzb === "2") {
// lcpsxzzb为2时:
formSdk.changeMoreField({}, {
// 量产品一
[lcpzzybslqrFieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzybczfsFieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzybqtFieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzybwcrqFieldMark]: { viewAttr: HIDE_ATTR },
// 量产品二
[lcpzzebslqrFieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzebczfsFieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzebqtFieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzebwcrqFieldMark]: { viewAttr: HIDE_ATTR },
// 量产品三
[lcpzzsbslqr1FieldMark]: { viewAttr: REQUIRED_ATTR },
[lcpzzsbczfs1FieldMark]: { viewAttr: REQUIRED_ATTR },
[lcpzzsbqt1FieldMark]: { viewAttr: REQUIRED_ATTR },
[lcpzzsbwcrq1FieldMark]: { viewAttr: REQUIRED_ATTR },
// 量产品四
[lcpzzsbslqr2FieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzsbczfs2FieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzsbqt2FieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzsbwcrq2FieldMark]: { viewAttr: HIDE_ATTR },
});
}else if (lcpsxzzb === "3") {
// lcpsxzzb为3时:
formSdk.changeMoreField({}, {
// 量产品一
[lcpzzybslqrFieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzybczfsFieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzybqtFieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzybwcrqFieldMark]: { viewAttr: HIDE_ATTR },
// 量产品二
[lcpzzebslqrFieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzebczfsFieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzebqtFieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzebwcrqFieldMark]: { viewAttr: HIDE_ATTR },
// 量产品三
[lcpzzsbslqr1FieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzsbczfs1FieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzsbqt1FieldMark]: { viewAttr: HIDE_ATTR },
[lcpzzsbwcrq1FieldMark]: { viewAttr: HIDE_ATTR },
// 量产品四
[lcpzzsbslqr2FieldMark]: { viewAttr: REQUIRED_ATTR },
[lcpzzsbczfs2FieldMark]: { viewAttr: REQUIRED_ATTR },
[lcpzzsbqt2FieldMark]: { viewAttr: REQUIRED_ATTR },
[lcpzzsbwcrq2FieldMark]: { viewAttr: REQUIRED_ATTR }
});
}
}
// 绑定sfzx字段的变更事件(使用提供的bindFieldChangeEvent方法)
formSdk.bindFieldChangeEvent(
sfzxFieldMark,
(data) => {
// 从事件数据中获取变更后的值
const currentValue = data.value;
// 实时更新字段显隐,无需保存
updateFieldVisibility(currentValue);
},
{ scope: window.WeFormSDK.CHANGE_EVENT_SCOPE }
); // 保持与示例一致的scope配置
// 页面加载时初始化显隐状态
setInitialVisibility();