123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- 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;
- });
|