1
0
Quellcode durchsuchen

修改评卷分组图片设置页面,兼容裁切图加载稍慢导致的设置回显空白问题

luoshi vor 4 Jahren
Ursprung
Commit
07d5052989
1 geänderte Dateien mit 21 neuen und 23 gelöschten Zeilen
  1. 21 23
      stmms-web/src/main/webapp/WEB-INF/views/modules/mark/picConfig.jsp

+ 21 - 23
stmms-web/src/main/webapp/WEB-INF/views/modules/mark/picConfig.jsp

@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="${ctxStatic}/pic-config/css/style.css"/>
     <script type="text/javascript" src="${ctxStatic}/jquery/jquery-1.9.1.min.js"></script>
     <script type="text/javascript" src="${ctxStatic}/jcrop/js/jquery.Jcrop.min.js"></script>
+    <script type="text/javascript" src="${ctxStatic}/utils/image-utils.js"></script>
 </head>
 <body>
 <div class="c-box" style="display:none" id="pic-config-div">
@@ -128,32 +129,29 @@
     }
 
     function initImages(urls, config) {
-        var container = $('#pic-switch');
+        let container = $('#pic-switch');
         container.empty();
         container.attr('data-index', '');
         image_array = [];
-        for (var i = 1; i <= urls.length; i++) {
-            var img = new Image();
-            img.crossOrigin = '';
-            var timestamp = new Date().getTime();
-            img.src = image_server + urls[i - 1] + '?' + timestamp;
-            image_array.push(img);
-            var dom = $('<li data-index="' + i + '"><a href="javascript:void(0)">' + i + '</a></li>').appendTo(container);
-            dom.find('a').click(function () {
-                var index = parseInt($(this).parent().attr('data-index'));
-                jcrop_api.setImage(image_array[index - 1].src);
-                container.attr('data-index', index);
-                container.find('li').removeClass('on');
-                $(this).parent().addClass('on');
-            })
-        }
-        container.find('li:first a').trigger('click');
-        if (image_array.length == urls.length) {
-            img.onload = function () {
-                initConfigs(config);
-            };
-        }
-
+        new ImageLoader({
+            server: image_server,
+            flush: true,
+            strict: false
+        }).load(urls, [], function (images) {
+            image_array = images;
+            for (let i = 1; i <= image_array.length; i++) {
+                let dom = $('<li data-index="' + i + '"><a href="javascript:void(0)">' + i + '</a></li>').appendTo(container);
+                dom.find('a').click(function () {
+                    let index = parseInt($(this).parent().attr('data-index'));
+                    jcrop_api.setImage(image_array[index - 1].src);
+                    container.attr('data-index', index);
+                    container.find('li').removeClass('on');
+                    $(this).parent().addClass('on');
+                })
+            }
+            container.find('li:first a').trigger('click');
+            initConfigs(config);
+        });
     }
 
     function initConfigs(config) {