define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) { var Controller = { index: function () { // 设置表单验证选项 $("form.edit-form").data("validator-options", { display: function (elem) { return $(elem).closest('.form-group').find('label').text(); } }); // 绑定表单提交事件 - 使用前端提示 Form.api.bindevent($("form.edit-form"), function (data, ret) { console.log('Form submit callback', ret); // 表单提交成功后显示前端提示 if (ret.code == 1) { // 成功提示,不跳转,停留在当前页面 Toastr.success(ret.msg || '保存成功'); } }); // 成为分销商条件切换事件 $(document).on('change', '.become-agent-type', function() { var value = $(this).val(); var valueContainer = $('.become-agent-value'); // 消费累计条件显示/隐藏 if (value === 'consume') { valueContainer.removeClass('hidden').show(); valueContainer.find('input').attr('required', true); } else { valueContainer.addClass('hidden').hide(); valueContainer.find('input').attr('required', false); } // 自助申请相关字段显示/隐藏 var applyRelatedFields = [ 'input[name="row[need_form]"]', // 完善资料 'input[name="row[background_image]"]', // 表单背景图 'input[name="row[show_protocol]"]', // 申请协议 'textarea[name="row[apply_protocol]"]' // 协议内容 ]; applyRelatedFields.forEach(function(fieldSelector) { var fieldGroup = $(fieldSelector).closest('.form-group'); if (value === 'apply') { fieldGroup.removeClass('hidden').show(); } else { fieldGroup.addClass('hidden').hide(); } }); }); // 初始化成为分销商条件显示状态 setTimeout(function() { var selectedType = $('input[name="row[become_agent][type]"]:checked').val(); // 处理消费累计条件 if (selectedType === 'consume') { $('.become-agent-value').removeClass('hidden').show(); } else { $('.become-agent-value').addClass('hidden').hide(); } // 处理自助申请相关字段 var applyRelatedFields = [ 'input[name="row[need_form]"]', 'input[name="row[background_image]"]', 'input[name="row[show_protocol]"]', 'textarea[name="row[apply_protocol]"]' ]; applyRelatedFields.forEach(function(fieldSelector) { var fieldGroup = $(fieldSelector).closest('.form-group'); if (selectedType === 'apply') { fieldGroup.removeClass('hidden').show(); } else { fieldGroup.addClass('hidden').hide(); } }); }, 100); // 申请协议开关联动协议内容 $(document).on('change', 'input[name="row[show_protocol]"]', function() { var showProtocol = $(this).val() === '1'; var protocolContentGroup = $('textarea[name="row[apply_protocol]"]').closest('.form-group'); if (showProtocol) { protocolContentGroup.removeClass('hidden').show(); } else { protocolContentGroup.addClass('hidden').hide(); } }); // 初始化申请协议内容显示状态 setTimeout(function() { var showProtocol = $('input[name="row[show_protocol]"]:checked').val() === '1'; var selectedType = $('input[name="row[become_agent][type]"]:checked').val(); var protocolContentGroup = $('textarea[name="row[apply_protocol]"]').closest('.form-group'); if (selectedType === 'apply' && showProtocol) { protocolContentGroup.removeClass('hidden').show(); } else { protocolContentGroup.addClass('hidden').hide(); } }, 150); Controller.api.bindevent(); }, add: function () { Controller.api.bindevent(); }, edit: function () { Controller.api.bindevent(); }, api: { bindevent: function () { Form.api.bindevent($("form[role=form]")); } }, }; return Controller; });