123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- 'use strict';
- /**
- * 变更令-审批页js
- *
- * @author EllisRan.
- * @date 2018/11/22
- * @version
- */
- $(document).ready(() => {
- $('#sp-back input[name="status"]').click(function (e) {
- if($(e.target).is('label')){
- return;
- }
- if (parseInt($(this).val()) === 4) {
- $('.change-approval-stop').show();
- $('.change-approval-back').hide();
- } else {
- $('.change-approval-stop').hide();
- $('.change-approval-back').show();
- }
- });
- // 清单输入监控并更新
- $('body').on('valuechange', '.clist input', function (e, previous) {
- const amount = $(this).val();
- const lid = $(this).parents('tr').data('lid');
- const tr = $('#list tr[data-lid="' + lid + '"]').eq(0);
- const unitprice = tr.children('td[data-site="5"]').text();
- tr.children('.amount_cost').text(amount != '' && unitprice ?
- roundnum(parseFloat(unitprice).mul(parseFloat(amount)),totalPriceUnit) : '');
- // 统计总金额
- let totalcost = 0;
- $('.clist').each(function(){
- const utotal = $(this).find('.amount_cost').text();
- totalcost = utotal != '' ? parseFloat(totalcost)+parseFloat(utotal) : parseFloat(totalcost);
- });
- $('.amount_totalcost').eq(1).text(totalcost !== 0 ? roundnum(totalcost, totalPriceUnit) : '');
- });
- // 选中input所有值
- $('body').on('focus', ".clist input", function() {
- $(this).select();
- });
- // 审批提交与判断
- $('.approval-btn').on('click', function () {
- // 判断审批状态
- let returnflag = true;
- if ($(this).hasClass('btn-success')) {
- const sdesc = $('#success-approval').find('textarea').val();
- if (sdesc === '') {
- toastr.error('审批意见不能为空!');
- returnflag = false;
- }
- if ($('input[name="p_code"]').val() === '') {
- toastr.error('变更令号(批复编号)不能为空!');
- returnflag = false;
- } else if ($('input[name="p_code"]').val() !== undefined) {
- $('input[name="p_code"]').val($.trim($('input[name="p_code"]').val()));
- const postData = {
- p_code: $('input[name="p_code"]').val(),
- };
- postDataWithAsync('/tender/' + $('#tenderId').val() + '/change/' + $('#changeId').val() + '/check/codeRepeat',postData, function (result) {
- }, function (data) {
- returnflag = false;
- });
- }
- // 判断并提交变更清单表格数据到表单中
- const clist = [];
- $('.clist input').each(function(k, v){
- const value = $(this).val();
- const lid = $(this).parents('tr').data('lid');
- if (value === '') {
- toastr.error('清单第' + (k+1) + '行审批变更数量不能为空');
- returnflag = false;
- }
- clist.push(lid+'_'+value);
- });
- $('#change-list-approval').val(clist.join(','));
- if(returnflag) {
- $('input[name="w_code"]').val($.trim($('#w_code').val()));
- $('#success-approval').find('textarea').val(sdesc.replace(/\r\n/g, '<br/>').replace(/\n/g, '<br/>').replace(/\s/g, ' '));
- if ($('#warning-text').length) $('#warning-text').remove()
- $('#success-approval').submit();
- }
- } else {
- const sdesc = $('#fail-approval').find('textarea').val();
- if (sdesc === '') {
- toastr.error('审批意见不能为空!');
- returnflag = false;
- }
- const type = $('#fail-approval').find('input[name="status"]:checked').val();
- if (type === undefined) {
- // toastr.error('请选择退回类型!');
- if (!$('#warning-text').length) {
- $('#change-back-content').prepend('<p id="warning-text" style="color: red; margin: 0;">请选择退回流程</p>');
- }
- returnflag = false;
- }
- if(returnflag) {
- $('#fail-approval').find('textarea').val(sdesc.replace(/\r\n/g, '<br/>').replace(/\n/g, '<br/>').replace(/\s/g, ' '));
- $('input[name="w_code"]').val($.trim($('#w_code').val()));
- $('#fail-approval').submit();
- }
- }
- })
- });
- const postDataWithAsync = function (url, data, successCallback, errorCallBack, showWaiting = true) {
- if (showWaiting) showWaitingView();
- $.ajax({
- type:"POST",
- url: url,
- data: {'data': JSON.stringify(data)},
- dataType: 'json',
- cache: false,
- async: false,
- timeout: 60000,
- beforeSend: function(xhr) {
- let csrfToken = Cookies.get('csrfToken_j');
- xhr.setRequestHeader('x-csrf-token_j', csrfToken);
- },
- success: function(result){
- if (result.err === 0) {
- if (successCallback) {
- successCallback(result.data);
- }
- } else {
- toastr.error(result.msg);
- if (errorCallBack) {
- errorCallBack(result.msg);
- }
- }
- if (showWaiting) closeWaitingView();
- },
- error: function(jqXHR, textStatus, errorThrown){
- toastr.error('error: ' + textStatus + " " + errorThrown);
- if (errorCallBack) {
- errorCallBack();
- }
- if (showWaiting) closeWaitingView();
- }
- });
- };
- function auditCheck(i) {
- const inlineRadio1 = $('#change-back:checked').val()
- const inlineRadio2 = $('#chagne-backnew:checked').val()
- const opinion = $('textarea[name="sdesc"]').eq(i).val().replace(/\r\n/g, '<br/>').replace(/\n/g, '<br/>').replace(/\s/g, ' ');
- $('textarea[name="sdesc"]').eq(i).val(opinion);
- if (i === 1) {
- if (!inlineRadio1 && !inlineRadio2) {
- if (!$('#warning-text').length) {
- $('#reject-process').prepend('<p id="warning-text" style="color: red; margin: 0;">请选择退回流程</p>');
- }
- return false;
- }
- if ($('#warning-text').length) $('#warning-text').remove()
- }
- return true;
- }
|