'use strict'; const tenderListSpec = (function(){ function getTenderNodeHtml(node, arr, pid) { const html = []; html.push(''); // 名称 html.push(''); if (node.cid) { html.push(' '); html.push((node.level === 1 ? '' : ''), node.name, (node.level === 1 ? '' : '')); } else { html.push(''); html.push(arr.indexOf(node) === arr.length - 1 ? '└' : '├'); html.push(''); html.push(node.name); } html.push(''); // 累计划拨 html.push(''); if (!node.cid) { html.push(node.transfer_amount ? node.transfer_amount : ''); } html.push(''); // 累计支付 html.push(''); if (!node.cid) { html.push(node.pay_amount ? node.pay_amount : ''); } html.push(''); // 支付次数 html.push(''); if (!node.cid) { html.push(node.pay_num ? node.pay_num : ''); } html.push(''); html.push(''); return html.join(''); } function getTenderTreeHeaderHtml() { const html = []; const left = $('#sub-menu').css('display') === 'none' ? 56 : 176; html.push('') html.push('', ''); html.push(''); html.push(''); html.push(''); html.push(''); html.push('', ''); return html.join(''); } return { getTenderNodeHtml, getTenderTreeHeaderHtml } })(); let auditUtils; $(function () { autoFlashHeight(); $('#company_select').change(function () { const company_id = parseInt($(this).val()) || 0; setSelectValue('company', company_id); }); $('#order_select').change(function () { const qi = parseInt($(this).val()) || 0; setSelectValue('qi', qi); }); function setSelectValue(select, value) { const routes = []; const company_id = select === 'company' ? value : parseInt($('#company_select').val()); if (company_id) { const companyInfo = _.find(userCompanyList, { id: company_id }); if (companyInfo) routes.push('company=' + companyInfo.name); } const qi = select === 'qi' ? value : parseInt($('#order_select').val()); if (qi) { routes.push('qi=' + qi); } if (getLocalCache('account-pageSize')) { routes.push('pageSize=' + getLocalCache('account-pageSize')); } window.location.href = `/sp/${spid}/financial/pay/stage` + (routes.length ? '?' + routes.join('&') : ''); } $('body').on('click', '.c-body .tender-info', function () { $('.c-body .tender-info').removeClass('table-warning'); $(this).addClass('table-warning'); const tid = parseInt($(this).attr('data-id')); if (!tid) { toastr.warning('未选择标段'); return; } console.log(tid); const tenderPays = _.filter(pays, { tid }); console.log(tenderPays); $('#qi_select').val('0'); const qi_options = ['']; // 只取order大于0的并去除重复并倒序排序 const qis = _.orderBy(_.uniq(_.map(tenderPays, 'order')).filter(o => o > 0), null, 'desc'); for (const order of qis) { qi_options.push(''); } $('#qi_select').html(qi_options.join('')); $('#used_selected').text('资金用途:全部'); // used_select清除如果存在用途为'全部'这条remove掉 $('#used_select').find('a.to-log-link[data-val=""]').remove(); payListHtml(tenderPays, 0); }); $('body').on('change', '#qi_select', function () { const order = parseInt($(this).val()); const tid = parseInt($('.c-body .tender-info.table-warning').attr('data-id')); if (!tid) { toastr.warning('未选择标段'); return; } const tenderPays = _.filter(pays, { tid }); let newTenderPays = tenderPays; if (order !== 0) { newTenderPays = _.filter(tenderPays, { order }); } const used = $('#used_selected').attr('data-val') || ''; if (used !== '') { newTenderPays = _.filter(newTenderPays, { used }); } const status = parseInt($('#status_selected').attr('data-val')) || 0; payListHtml(newTenderPays, status); }); $('body').on('click', '#used_select .to-log-link', function () { const used = $(this).attr('data-val') || ''; $('#used_selected').attr('data-val', used); $('#used_selected').text('资金用途:' + (used === '' ? '全部' : used)); if (used !== '' && $('#used_select').find('a.to-log-link[data-val=""]').length === 0) { $('#used_select').prepend('全部'); } else if (used === '') { $('#used_select').find('a.to-log-link[data-val=""]').remove(); } const tid = parseInt($('.c-body .tender-info.table-warning').attr('data-id')); if (!tid) { toastr.warning('未选择标段'); return; } let tenderPays = _.filter(pays, { tid }); const order = parseInt($('#qi_select').val()) || 0; if (order !== 0) { tenderPays = _.filter(tenderPays, { order }); } if (used !== '') { tenderPays = _.filter(tenderPays, { used }); } const status = parseInt($('#status_selected').attr('data-val')) || 0; payListHtml(tenderPays, status); }); $('body').on('click', '#status_select .to-log-link', function () { const status = parseInt($(this).attr('data-val')) || 0; const tid = parseInt($('.c-body .tender-info.table-warning').attr('data-id')); if (!tid) { toastr.warning('未选择标段'); return; } let tenderPays = _.filter(pays, { tid }); const order = parseInt($('#qi_select').val()) || 0; if (order !== 0) { tenderPays = _.filter(tenderPays, { order }); } const used = $('#used_selected').attr('data-val') || ''; if (used !== '') { tenderPays = _.filter(tenderPays, { used }); } payListHtml(tenderPays, status); }); function payListHtml(tenderPays, status = 0) { const status_options = []; for (const fs in filter.status) { const f = filter.status[fs]; let num = 0; switch(f) { case filter.status.pending: num = _.filter(tenderPays, function (item) { return (item.status === auditConst.status.checking && item.curAuditors && item.curAuditors.findIndex(x => { return x.aid === user_id; }) >= 0 && item.curAuditors.find(x => { return x.aid === user_id; }).status === auditConst.status.checking) || (item.uid === user_id && (item.status === auditConst.status.uncheck || item.status === auditConst.status.checkNo)); }).length; break; case filter.status.uncheck: num = _.filter(tenderPays, function (item) { return item.status === auditConst.status.uncheck || item.status === auditConst.status.checkNo; }).length; break; case filter.status.checking: num = _.filter(tenderPays, function (item) { return item.status === auditConst.status.checking; }).length; break; case filter.status.checked: num = _.filter(tenderPays, function (item) { return item.status === auditConst.status.checked; }).length; break; default: break; } if (status !== f) status_options.push('' + filter.statusString[f] + '(' + num + ')'); } if (status !== 0) status_options.unshift('全部'); $('#status_select').html(status_options.join('')); $('#status_selected').attr('data-val', status); $('#status_selected').text('审批状态:' + (status === 0 ? '全部' : filter.statusString[status])); let newTenderPays = tenderPays; if (status !== 0) { newTenderPays = _.filter(tenderPays, function (item) { switch(status) { case filter.status.pending: return (item.status === auditConst.status.checking && item.curAuditors && item.curAuditors.findIndex(x => { return x.aid === user_id; }) >= 0 && item.curAuditors.find(x => { return x.aid === user_id; }).status === auditConst.status.checking) || (item.uid === user_id && (item.status === auditConst.status.uncheck || item.status === auditConst.status.checkNo)); case filter.status.uncheck: return item.status === auditConst.status.uncheck || item.status === auditConst.status.checkNo; case filter.status.checking: return item.status === auditConst.status.checking; case filter.status.checked: return item.status === auditConst.status.checked; default: return true; } }); } let html = ''; for (const pay of newTenderPays) { let statusHtml = ''; if (pay.status === auditConst.status.checked && pay.final_auditor_str) { statusHtml = `${pay.final_auditor_str}`; } else if (pay.curAuditors.length > 0) { if (pay.curAuditors[0].audit_type === auditType.key.common) { statusHtml = `${pay.curAuditors[0].name}${ pay.curAuditors[0].role !== '' && pay.curAuditors[0].role !== null? '-' + pay.curAuditors[0].role : ''}`; } else { statusHtml = `${transFormToChinese(pay.curAuditors[0].audit_order) + '审'}`; } } let operationHtml = ''; if (pay.status === auditConst.status.uncheck && pay.uid === user_id) { operationHtml = `${auditConst.statusButton[pay.status]}`; } else if (pay.status === auditConst.status.checkNo && pay.curAuditors && pay.uid === user_id) { operationHtml = `${auditConst.statusButton[pay.status]}`; } else if (pay.status === auditConst.status.checking && pay.curAuditors && pay.curAuditors.findIndex(x => { return x.aid === user_id; }) >= 0) { const curAudit = pay.curAuditors.find(x => { return x.aid === user_id }); if (curAudit.status === auditConst.status.checking) { operationHtml = `${auditConst.statusButton[pay.status]}`; } else { operationHtml = `${auditConst.auditString[curAudit.status]}`; } } else { operationHtml = `${auditConst.auditString[pay.status]}`; } html += ``; } $('#pay-list').html(html); } setTimeout(function () { $('.c-body .tender-info').eq(0).click();// 需要延时加载 }, 500); $('#audit-list').on('click', 'a', function() { const type = $(this).data('target') const auditCard = $(this).parent().parent() if (type === 'show') { $(this).data('target', 'hide') auditCard.find('.fold-card').slideDown('swing', () => { auditCard.find('#end-target').text($(this).data('idx') + '#') auditCard.find('#fold-btn').text('收起历史审核记录') }) } else { $(this).data('target', 'show') auditCard.find('.fold-card').slideUp('swing', () => { auditCard.find('#end-target').text('1#') auditCard.find('#fold-btn').text('展开历史审核记录') }) } }); // 获取审批流程 $('body').on('click', 'a[data-target="#sp-list" ]', function () { const data = { type: 'get-auditors', id: $(this).attr('c-id'), }; postData(`/sp/${spid}/financial/pay/save`, data, function (result) { const { auditHistory, auditors2, user } = result; let auditorsHTML = []; auditors2.forEach((group, idx) => { if (idx === 0) { auditorsHTML.push(`
  • ${getGroupAuditHtml(group)} 原报
  • `); } else if(idx === auditors2.length -1 && idx !== 0) { auditorsHTML.push(`
  • ${getGroupAuditHtml(group)}
    ${getAuditTypeHtml(group[0].audit_type)} 终审
  • `); } else { auditorsHTML.push(`
  • ${getGroupAuditHtml(group)}
    ${getAuditTypeHtml(group[0].audit_type)} ${transFormToChinese(idx)}审
  • `); } }); $('#auditor-list').empty(); $('#auditor-list').append(auditorsHTML.join('')); let historyHTML = []; auditHistory.forEach((his, idx) => { if (idx === auditHistory.length - 1 && auditHistory.length !== 1) { historyHTML.push(`
    展开历史审批流程
    `); } historyHTML.push(`
    `); historyHTML.push(`
    ${idx+1}#
    `); historyHTML.push(`
    '); historyHTML.push(''); }); $('#audit-list').empty(); $('#audit-list').append(historyHTML.join('')); }); }); $.subMenu({ menu: '#sub-menu', miniMenu: '#sub-mini-menu', miniMenuList: '#mini-menu-list', toMenu: '#to-menu', toMiniMenu: '#to-mini-menu', key: 'menu.1.0.0', miniHint: '#sub-mini-hint', hintKey: 'menu.hint.1.0.1', callback: function (info) { if (info.mini) { $('.panel-title').addClass('fluid'); $('#sub-menu').removeClass('panel-sidebar'); } else { $('.panel-title').removeClass('fluid'); $('#sub-menu').addClass('panel-sidebar'); } autoFlashHeight(); } }); }); const getGroupAuditHtml = function (group) { return group.map(u => { return `${u.name}`; }).join(''); }; const getAuditTypeHtml = function (type) { if (type === auditType.key.common) return ''; return `
    ${auditType.info[type].short}
    `; }; const getAuditTypeText = function (type) { if (type === auditType.key.common) return ''; return `${auditType.info[type].long}`; };
    ', '标段名称', '', '累计划拨', '', '累计支付', '', '支付次数', '
    ${pay.stage ? '' : '' } ${pay.code} ${moment(pay.create_time).format('YYYY-MM-DD')} ${pay.username} ${pay.used} ${pay.entities} ${pay.total_price} ${statusHtml} ${auditConst.auditProgress[pay.status]} ${operationHtml}