1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- <!--上报审批 自检-->
- <div class="modal fade" id="check" data-backdrop="static">
- <div class="modal-dialog" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title">上报审批</h5>
- </div>
- <div class="modal-body">
- <h5>数据计算中,完成后会自动进入审批流程设置。</h5>
- <div class="progress">
- <div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100">0%</div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <!--上报审批 自检 计算错误-->
- <div class="modal fade" id="check-error-hint" data-backdrop="static">
- <div class="modal-dialog" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title">上报审批</h5>
- </div>
- <div class="modal-body">
- <div class="alert alert-danger" role="alert">
- 部分清单存在问题,请前往错误列表进行查看,并进行修改。
- </div>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-sm btn-primary" data-dismiss="modal" id="show-error-list">查看错误列表</button>
- </div>
- </div>
- </div>
- </div>
- <script>
- /**
- *
- * @param setting
- * {
- * loadUrl,
- * loadData,
- * checkFun,
- * errorList
- * }
- */
- const DataChecker = function (setting) {
- $('#show-error-list').click(function () {
- $('#check').modal('hide');
- setting.errorList.show();
- });
- const loadCheckData = function () {
- const promise = new Promise(function (resolve, reject) {
- postData(setting.loadUrl, setting.loadData, function (result) {
- resolve(result);
- });
- });
- return promise;
- }
- const progress = function (percent) {
- $('.progress-bar').attr('aria-valuenow', percent).width(percent + '%').html(percent + '%');
- }
- const addProgress = function (percent) {
- const oldPercent = parseInt($('.progress-bar').attr('aria-valuenow'));
- progress(oldPercent + percent);
- }
- const checkAndPost = async function (postUrl, postForm) {
- progress(0);
- $('#check').modal('show');
- const lastestData = await loadCheckData();
- progress(50);
- const result = setting.checkFun(lastestData, addProgress);
- progress(100);
- setTimeout(function () {
- if (result && result.length > 0) {
- $('#check-error-hint').modal('show');
- setting.errorList.loadErrorData(result);
- } else {
- postDataWithFile(postUrl, postForm, function (data) {
- if (data.url) window.location.href = data.url;
- });
- }
- }, 1000);
- }
- return {checkAndPost};
- }
- </script>
|