袁少华 4 yıl önce
ebeveyn
işleme
f8fc1f1ddd
2 değiştirilmiş dosya ile 87 ekleme ve 22 silme
  1. 2 2
      js/service/produce-task.js
  2. 85 20
      pages/dashboard/esop.html

+ 2 - 2
js/service/produce-task.js

@@ -572,9 +572,9 @@ var ServiceProduceTask = {
         // return taskList;
     },
     //文件列表
-    getEsopFileList:function(){
+    getEsopFileList:function(code){
 
-        return getService.methodGet("/workingStatistics/fbsWorkingStatistics/getEsopFileList");
+        return getService.methodGet("/workingStatistics/fbsWorkingStatistics/getEsopFileList?code="+code);
     },
     //视频自动播放
     getVedioFileList:function(){

+ 85 - 20
pages/dashboard/esop.html

@@ -43,25 +43,29 @@
     <div class="my-container" id="div-main">
         <div class="row block-padding">
             <div class="col-lg-4 col-md-4">
-                <h2>任务</h2>
-                <div style="height: 200px;">
+                <h2>任务({{num}})</h2>
+                <div style="height: 270px;">
                     <div class="row">
-                        <div class="col-lg-2 col-md-2 center no-padding" style="width: 17%;">订单号</div>
-                        <div class="col-lg-2 col-md-2 center no-padding" style="width: 17%;">物料号</div>
+                        <div class="col-lg-2 col-md-2 center no-padding" style="width: 19%;">订单号</div>
+                        <div class="col-lg-2 col-md-2 center no-padding" style="width: 19%;">物料号</div>
                         <div class="col-lg-2 col-md-2 center no-padding" style="width: 35%;">物料名称</div>
-                        <div class="col-lg-2 col-md-2 center no-padding" style="width: 20%;">规格</div>
-                        <div class="col-lg-2 col-md-2 center no-padding" style="width: 11%;">数量</div>
+                        <!-- <div class="col-lg-2 col-md-2 center no-padding" style="width: 20%;">规格</div> -->
+                        <div class="col-lg-2 col-md-2 center no-padding" style="width: 12%;">数量</div>
+                        <div class="col-lg-1 col-md-2 center no-padding" style="width: 10%;">操作</div>
                     </div>
                     <div class="row" v-for="task in taskList2" style="margin-bottom: 2px;">
-                        <div class="col-lg-2 col-md-2 center no-padding" style="width: 17%;">{{task.orderSheetCode}}</div>
-                        <div class="col-lg-2 col-md-2 center no-padding" style="width: 17%;">{{task.materialCode}}</div>
+                        <div class="col-lg-2 col-md-2 center no-padding" style="width: 19%;">{{task.orderSheetCode}}</div>
+                        <div class="col-lg-2 col-md-2 center no-padding" style="width: 19%;">{{task.materialCode}}</div>
                         <div class="col-lg-2 col-md-2 center no-padding" style="width: 35%;">{{task.materialName}}</div>
-                        <div class="col-lg-2 col-md-2 center no-padding" style="width: 20%;">{{task.specs}}</div>
-                        <div class="col-lg-2 col-md-2 center no-padding" style="width: 11%;">{{task.qty}}</div>
+                        <!-- <div class="col-lg-2 col-md-2 center no-padding" style="width: 20%;">{{task.specs}}</div> -->
+                        <div class="col-lg-2 col-md-2 center no-padding" style="width: 12%;">{{task.qty}}</div>
+                        <div class="col-lg-1 col-md-2 center no-padding" style="width: 10%;">
+                            <button type="button" class="btn btn-xs btn-warning" @click="selectFile(task.materialCode)">文件</button>
+                    </div>
                     </div>
                 </div>
-                <br/>
-                <h2>文件</h2>
+                <br/> <br/>
+                <h2>文件<span id="marText"></span></h2>
                 <div class="row">
                     <div class="col-lg-2 col-md-2 center no-padding" style="width: 48%;">文件名</div>
                     <div class="col-lg-2 col-md-2 center no-padding" style="width: 25%;">文件类型</div>
@@ -105,8 +109,9 @@
         }
 
 
-        const taskList = ServiceProduceTask.getEsopFileList();
-        const taskList2 = ServiceProduceTask.getEsopTaskList();
+        var marCode = "";
+        // const taskList1 = [];//ServiceProduceTask.getEsopFileList();
+        // const taskList2 = [];//ServiceProduceTask.getEsopTaskList();
         $("#frameMain").height($(window).height()-110);
         $("#imgType").height($(window).height()-110);
         $("#videoType").height($(window).height()-110);
@@ -114,32 +119,92 @@
         var vm = new Vue({
             el: '#div-main',
             data: {
-                taskList: taskList,
-                taskList2: taskList2,
-                filepath:""
+                taskList: [],
+                taskList2: [],
+                filepath:"",
+                num:0
             },
             methods: {
                 showfile: function (name,file) {
                     if(file=='pdf'){
                         hideAll();
                         $("#frameMain").show();
-                        this.filepath = "/lib/pdfjs/web/viewer.html?file=/upFiles/"+name;
+                        this.filepath = "/lib/pdfjs/web/viewer.html?file=/upFiles/"+marCode+"/"+name;
                         $("#videoType").attr('src',"");
                     }else if(file=='jpg' || file=='jpeg' || file=='png'){
                         hideAll();
                         $("#imgType").show();
-                        $("#imgType").attr('src',"/upFiles/"+name);
+                        $("#imgType").attr('src',"/upFiles/"+marCode+"/"+name);
                         $("#videoType").attr('src',"");
                     }else if(file=='avi' || file=='mov' || file=='rmvb' || file=='rm' || file=='flv' || file=='mp4' || file=='3gp'){
                         hideAll();
                         $("#videoType").show();
-                        $("#videoType").attr('src',"/upFiles/"+name);
+                        $("#videoType").attr('src',"/upFiles/"+marCode+"/"+name);
                     }else{
                         alert("暂时不支持该类型文件的展示");
                     }
                     
+                },
+                selectFile: function(code){
+                    marCode = code;
+                    $("#marText").text("("+code+")");
+                    this.taskList = ServiceProduceTask.getEsopFileList(code);
+                },
+                loadData:function(){
+                    this.cacheDataObject = {};
+                    // 
+                    const taskList2 = ServiceProduceTask.getEsopTaskList();
+                    this.num = taskList2.length;
+                    this.cacheDataObject.taskList2 = {
+                        data: taskList2,
+                        pagesize: 11,
+                        pageindex: 0
+                    }
+                    this.taskList2 = taskList2.slice(0, this.cacheDataObject.taskList2.pagesize);
+                },
+                // 从服务器加载数据并显示
+                refreshData: function () {
+                    // 关闭定时器
+                    clearInterval(this.timer_short);
+                    this.loadData();
+                    // 开启定时器
+                    this.timer_short = setInterval(this.scrollData, 30000);
+                },
+                // 轮播数据
+                scrollData: function () {
+                    for (var key in this.cacheDataObject) {
+                        const dataList = this.cacheDataObject[key].data;
+                        const pagesize = this.cacheDataObject[key].pagesize;
+                        var pageindex = this.cacheDataObject[key].pageindex + 1;
+                        if (dataList.length > pagesize) {
+                            const pagesum = (dataList.length / pagesize).toFixed(0) * 1 + (dataList.length %
+                                pagesize > 0 ? 1 : 0);
+                            if (pageindex >= pagesum)
+                                pageindex = 0;
+                            this.cacheDataObject[key].pageindex = pageindex;
+                            const startIndex = pageindex * pagesize;
+                            const remainSum = dataList.length - startIndex;
+                            const recordSum = remainSum >= pagesize ? pagesize : remainSum;
+
+                            const keyPar = dataList.slice(startIndex, startIndex + pagesize);
+                            if(keyPar.length < 1){
+                                continue;
+                            }
+                            this[key] = dataList.slice(startIndex, startIndex + pagesize);
+                        }
+                    }
+
                 }
             },
+            mounted() {
+                this.timer_long = setInterval(this.refreshData, 60000);
+                this.refreshData();
+
+            },
+            beforeDestroy() {
+                clearInterval(this.timer_long);
+                clearInterval(this.timer_short);
+            }
         });
     </script>