'use strict'; /** * * * @author Ellisran * @date 2020/10/09 * @version */ $(document).ready(function () { let timer = null; let oldSearchVal = null; const needYB = ['ledger', 'revise', 'change']; $('body').on('input propertychange', '.gr-search', function(e) { oldSearchVal = e.target.value; timer && clearTimeout(timer); timer = setTimeout(() => { const newVal = $(this).val(); const code = $(this).attr('data-code'); let html = ''; if (newVal && newVal === oldSearchVal) { accountList.filter(item => item && (item.id !== cur_uid || (item.id === cur_uid && needYB.indexOf(code) !== -1)) && (item.name.indexOf(newVal) !== -1 || (item.mobile && item.mobile.indexOf(newVal) !== -1))).forEach(item => { html += `

${item.name}${item.mobile || ''}

${item.role || ''}
` }); $('#' + code + '_dropdownMenu .book-list').empty(); $('#' + code + '_dropdownMenu .book-list').append(html); } else { if (!$('#' + code + '_dropdownMenu .acc-btn').length) { accountGroup.forEach((group, idx) => { if (!group) return; html += `
${group.groupName}
`; group.groupList.forEach(item => { if ((item.id !== cur_uid || (item.id === cur_uid && needYB.indexOf(code) !== -1))) { html += `

${item.name}${item.mobile || ''}

${item.role || ''}
`; } }); html += '
'; }); $('#' + code + '_dropdownMenu .book-list').empty(); $('#' + code + '_dropdownMenu .book-list').append(html); } } }, 400); }); // 添加审批流程按钮逻辑 $('body').on('click', '.book-list dt', function () { const idx = $(this).find('.acc-btn').attr('data-groupid'); const type = $(this).find('.acc-btn').attr('data-type'); if (type === 'hide') { $(this).parent().find(`div[data-toggleid="${idx}"]`).show(() => { $(this).children().find('i').removeClass('fa-plus-square').addClass('fa-minus-square-o'); $(this).find('.acc-btn').attr('data-type', 'show'); }) } else { $(this).parent().find(`div[data-toggleid="${idx}"]`).hide(() => { $(this).children().find('i').removeClass('fa-minus-square-o').addClass('fa-plus-square'); $(this).find('.acc-btn').attr('data-type', 'hide'); }) } return false; }); // 更改审批流程状态 $('.form-check input').on('change', function () { // 获取所有审批的checked值并更新 const this_status = parseInt($(this).val()); const this_code = $(this).data('code'); const spt = sp_status_list[this_status]; $(this).parents('.form-group').siblings('.alert-warning').text(spt.name + ':' + spt.msg); // 拼接post json const prop = { code: this_code, status: this_status }; const _self = $(this); const tenderId = window.location.pathname.split('/')[2]; postData('/tender/' + tenderId + '/shenpi/save', prop, function (data) { if (this_status === sp_status.sqspr) { _self.parents('.form-group').siblings('.lc-show').html(''); } else if (this_status === sp_status.gdspl) { let addhtml = '\n'; _self.parents('.form-group').siblings('.lc-show').html(addhtml); } else if (this_status === sp_status.gdzs) { let addhtml = '\n'; _self.parents('.form-group').siblings('.lc-show').html(addhtml); } }); }); // 选中审批人 $('body').on('click', 'dl dd', function () { const id = parseInt($(this).data('id')); if (id) { const user = _.find(accountList, function (item) { return item.id === id; }); const this_status = parseInt($(this).parents('.lc-show').siblings('.form-group').find('input:checked').val()); const this_code = $(this).parents('.lc-show').siblings('.form-group').find('input:checked').data('code'); if (this_status === sp_status.gdspl) { // 判断是否已存在审批人 const aid_num = $(this).parents('ul').find('.remove-audit').length; for (let i = 0; i < aid_num; i++) { const aid = parseInt($(this).parents('ul').find('.remove-audit').eq(i).data('id')); if (aid === id) { toastr.warning('该审核人已存在,请勿重复添加'); return; } } } const prop = { status: this_status, code: sp_type[this_code], audit_id: id, type: 'add', }; const _self = $(this); const tenderId = window.location.pathname.split('/')[2]; postData('/tender/' + tenderId + '/shenpi/audit/save', prop, function (data) { if (this_status === sp_status.gdspl) { _self.parents('ul').append('
  • 添加流程
  • '); } _self.parents('.spr-span').html('\n' + ''+ user.name +' '); }); } }); // 移除审批人 $('body').on('click', '.remove-audit', function () { const id = parseInt($(this).data('id')); const this_status = parseInt($(this).parents('.lc-show').siblings('.form-group').find('input:checked').val()); const this_code = $(this).parents('.lc-show').siblings('.form-group').find('input:checked').data('code'); const prop = { status: this_status, code: sp_type[this_code], audit_id: id, type: 'del', }; const _self = $(this); const tenderId = window.location.pathname.split('/')[2]; postData('/tender/' + tenderId + '/shenpi/audit/save', prop, function (data) { if (this_status === sp_status.gdspl) { const _selflc = _self.parents('.lc-show'); _self.parents('li').remove(); const aid_num = parseInt(_selflc.children('ul').find('li.d-flex').length); if (aid_num === 0) { let addhtml = '\n'; _selflc.html(addhtml); } else { for (let i = 0; i < aid_num; i++) { _selflc.find('li.d-flex').eq(i).find('.col-auto').text(transFormToChinese(i+1) + '审'); } } } else if (this_status === sp_status.gdzs) { let addhtml = '\n'; _self.parents('.lc-show').html(addhtml); } }) }); // 固定审批流-添加流程 $('body').on('click', '.add-audit', function () { const num = $(this).parents('ul').children('li').length; const this_code = $(this).parents('.lc-show').siblings('.form-group').find('input:checked').data('code'); const addhtml = makeSelectAudit(this_code, transFormToChinese(num)); $(this).parents('ul').append(addhtml); $(this).parents('li').remove(); }); // 审批流程-审批人html 生成 function makeAudit(audit, i = '终') { return '
  • \n' + ' '+ i +'审\n' + ' \n' + ' \n' + ' '+ audit.name +' \n' + ' \n' + '
  • '; } // 审批流程-选择审批人html 生成 function makeSelectAudit(code, i = '终') { let divhtml = ''; accountGroup.forEach((group, idx) => { let didivhtml = ''; if(group) { group.groupList.forEach(item => { didivhtml += (item.id !== cur_uid || (item.id === cur_uid && needYB.indexOf(code) !== -1)) ? '
    \n' + '

    ' + item.name + '' + item.mobile + '

    \n' + ' ' + item.role + '\n' + '
    \n' : ''; }); divhtml += '
    ' + group.groupName + '
    \n' + '
    \n' + didivhtml + '
    \n'; } }); let html = '
  • \n' + ' ' + i + '审\n' + ' \n' + ' \n' + ' \n' + ' \n' + ' \n' + '
  • '; return html; } });