chenhaozhe
2025-05-20 f6c0d0ff61808a1a2fe1ecbfc64d80cb228f1365
WebTM/views/Éú²ú¹ÜÀí/×÷ÒµÖ¸µ¼Êé/Gy_SOPBill_Video.html
@@ -42,28 +42,41 @@
    <div class="layui-fluid">
        <div class="layui-col-md12">
            <div class="layui-card" style="padding: 1px">
                <div class="layui-card-body" style="padding: 1px;">
                    <!--<form class="layui-form" action="" lay-filter="component-form-group">-->
                <form class="layui-form" action="" lay-filter="component-form-group">
                    <div class="layui-collapse">
                        <div class="layui-colla-item">
                            <!--top-->
                            <div class="layui-inline">
                                <button type="button" class="layui-btn layui-btn-normal" lay-submit="" lay-filter="Exit" style="background-color:#959393">退出</button>
                                <button type="button" class="layui-btn layui-btn-normal" lay-submit="" lay-filter="Exit" style="background-color:#959393" onclick="Exit(event,this)" >退出</button>
                            </div>
                            <div class="layui-inline">
                                <button type="button" class="layui-btn layui-btn-normal" lay-submit="" lay-filter="Autoplay" style="background-color:#959393;margin-left:15px" id="auto">自动播放</button>
                                <button type="button" class="layui-btn layui-btn-normal" lay-submit="" lay-filter="Autoplay" style="background-color:#959393;margin-left:15px" id="auto" onclick="Autoplay(event,this)" disabled>自动播放</button>
                            </div>
                            <div class="layui-inline">
                                <button type="button" class="layui-btn layui-btn-normal" lay-submit="" lay-filter="HideVideo" style="background-color:#959393;margin-left:15px" id="auto">隐藏视频</button>
                                <button type="button" class="layui-btn layui-btn-normal" lay-submit="" lay-filter="HideVideo" style="background-color:#959393;margin-left:15px" id="HideVideo" onclick="HideVideo(event,this)" disabled>隐藏视频</button>
                            </div>
                            <div class="layui-inline">
                                <h1 style="text-align: center;margin-left:100px"><b>工位作业指导书</b></h1>
                            </div>
                            <div class="layui-inline">
                                <button type="button" class="layui-btn layui-btn-normal" lay-submit="" lay-filter="CheckTask" style="background-color:#959393;margin-left:55px" id="auto">选工单</button>
                                <button type="button" class="layui-btn layui-btn-normal" lay-submit="" lay-filter="CheckTask" style="background-color:#959393;margin-left:55px" id="auto" disabled>选工单</button>
                            </div>
                            <div class="layui-inline">
                                <button type="button" class="layui-btn layui-btn-normal" lay-submit="" lay-filter="SetUp" style="background-color:#959393;margin-left:15px" id="auto">设置</button>
                                <button type="button" class="layui-btn layui-btn-normal" lay-submit="" lay-filter="SetUp" style="background-color:#959393;margin-left:15px" id="auto" disabled>设置</button>
                            </div>
                            <div class="layui-inline">
                                <label class="layui-form-label">类型</label>
                                <div class="layui-input-block">
                                    <select name="HType" lay-filter="HType" id="HType">
                                        <option value="SOP">SOP</option>
                                        <option value="SIP">SIP</option>
                                        <option value="设备安全操作规程">设备安全操作规程</option>
                                        <option value="质量报警卡">质量报警卡</option>
                                    </select>
                                </div>
                            </div>
                            <div class="layui-inline">
                                <button type="button" class="layui-btn layui-btn-normal" lay-submit="" lay-filter="getHType" id="getHType" style="background-color:#959393">查询</button>
                            </div>
                            <div class="layui-inline" style="margin-left:200px">
                                <ul>
@@ -72,26 +85,34 @@
                                <ul>
                                    <li id="Week"></li>
                                </ul>
                            </div>
                            </div>
                        </div> <!--top-end-->
                        <div class="layui-colla-item">
                            <!--<table class="" id="mainTable" lay-filter="mainTable"></table>-->
                            <video controls width="250">
                                <source src="/media/cc0-videos/flower.webm" type="video/webm" />
                        <div style="width:98%;height:calc(90vh);min-height:300px;position: relative;">
                            <!--//轮播图-->
                            <div class="layui-carousel" id="test1" style="position:absolute;">
                                <!--透明度 opacity: 0.2-->
                                <div carousel-item id="file">
                                <source src="/media/cc0-videos/flower.mp4" type="video/mp4" />
                                </div>
                            </div>
                            <!--//视频-->
                            <div class="layui-colla-item" id="IsHide" style="z-index: 50;margin-left:912px;padding-top:385px;">
                                <video controls width="290" height="180" id="video">
                                    <!--<source src="../../../Files/flower.webm" type="video/webm" />-->
                                    <!--<source src="../../../Files/yyh.qlv" type="video/mp4" />
                                Download the
                                <a href="/media/cc0-videos/flower.webm">WEBM</a>
                                or
                                <a href="/media/cc0-videos/flower.mp4">MP4</a>
                                video.
                            </video>
                                    Download the
                                    <a href="/media/cc0-videos/flower.webm">WEBM</a>
                                    or
                                    <a href="/media/cc0-videos/flower.mp4">MP4</a>
                                    video.-->
                                </video>
                            </div>
                        </div>
                    </div>
                    <!--</form>-->
                </div>
                </form>
            </div>
        </div>
    </div>
@@ -134,12 +155,13 @@
            var option = [];
            var option2 = [];
            var arr = [];
            var HInterID;
            var HInterID = 0;
            var HID = 0;
            var HSourceID = sessionStorage["HSourceID"];//生产资源
            //#endregion
            //#region è¿›å…¥é¡µé¢æ—¢åŠ è½½
            //初始化表格
            set_InitGrid();
            set_InitGrid2();
            // è½®æ’­å›¾
            var ins = carousel.render({
                elem: '#test1'
@@ -166,30 +188,9 @@
                    var Stamp = new Date();
                    $('#Date').html(year + "&nbsp;å¹´" + " " + monthNames[month] + ' ' + day + "&nbsp;日");
                    $('#Week').html(dayNames[Stamp.getDay()] + ' ' + (hh < 10 ? ("0" + hh) : hh) + ' : ' + (mm < 10 ? ("0" + mm) : mm) + ' : ' + (ss < 10 ? ("0" + ss) : ss));
                    $('#Week').html(dayNames[Stamp.getDay()] + ' ' + (hh < 10 ? ("0" + hh) : hh) + ' : ' + (mm < 10 ? ("0" + mm) : mm) + ' : ' + (ss < 10 ? ("0" + ss) : ss));
                }, 1000);
            });
            //#endregion
            //#region åŠ è½½æ•°æ®åˆ°ç½‘æ ¼
            //get_Display(sWhere);
            //采用延时的方式等待数据
            get_Display(sWhere);
            setTimeout(function () { get_Display2(sWhere); }, 1000);
            setTimeout(function () { get_Display2(sWhere); }, 1000);
            setTimeout(function () { get_Display3(sWhere); }, 1000);
            setTimeout(function () { ins.reload({ autoplay: false }) }, 1500);
            //#endregion
            //#region è‡ªåŠ¨æ’­æ”¾æ¨¡å¼ä¸‹èŽ·å–é¡µé¢ä¿¡æ¯çš„æ–¹æ³•
            function set_LoadAgain() {
                get_Display(sWhere);
                setTimeout(function () { get_Display2(sWhere); }, 500);
                setTimeout(function () { get_Display2(sWhere); }, 500);
                setTimeout(function () { get_Display3(sWhere); }, 500);
                setTimeout(function () { ins.reload({ autoplay: false }) }, 1000);
            }
            //#endregion
            //#region åˆ¤æ–­æ“ä½œç±»åž‹(这里没用到)
@@ -197,13 +198,83 @@
                //初始基本信息赋值
            }
            else if (OperationType == 3) {//编辑
                document.getElementById("IsHide").style.display = "none";//隐藏视频
                document.getElementById("HideVideo").innerHTML = "显示视频";
                set_EditFromGrid(linterid);
            }
            else if (OperationType == 5) {//查看
                HMaterID = params[params[1]]; //物料ID
                HSourceNo = params[params[2]]; //工单号
                HSourceEntryID = params[params[3]]; //源单子内码
                HProcID = params[params[4]]; //工序ID
                HTypes = params[params[5]]; //类型
                if (HTypes != undefined && HTypes != null && HTypes != '') {
                    $("#HType").val(HTypes);
                    form.render('select');
                }
                document.getElementById("IsHide").style.display = "none";//隐藏视频
                document.getElementById("HideVideo").innerHTML = "显示视频";
                //get_SopFile(HMaterID, HSourceNo);// ç‰©æ–™
                get_SopFile2(HMaterID, HProcID, $("#HType").val()); //物料+工序
            }
            else {
                layer.alert("未知操作类型!", { icon: 5 });
            }
            //#endregion
            form.on('submit(getHType)', function (event) {
                console.log("1");
                // æ‰§è¡ŒæŸ¥è¯¢æ“ä½œ
                get_SopFile2(HMaterID, HProcID, $("#HType").val());
            });
            var video = document.querySelector("video");
            //开始播放视频
            video.addEventListener("play", (event) => {
                $('#test1').css('opacity', 0.5);
            });
            //结束播放视频
            video.addEventListener("pause", (event) => {
                $('#test1').css('opacity', 1);
            });
            //#region é€‰å•号
            form.on('submit(CheckTask)', function (data) {
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '工单列表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../Baseset/基础资料/Sc_ICMOBillListView3.html?HSourceID=' + HSourceID, 'yes']
                })
            });
            //#region è®¾ç½®
            form.on('submit(SetUp)', function (data) {
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '设置'//标题
                    , shift: 2//弹出动画
                    , content: ['../../生产管理/生产工位/Gy_SourceWorkStationSet.html?OperationType=5&linterid=' + HSourceID, 'yes']
                })
            });
            //#region éšè—è§†é¢‘
            form.on('submit(HideVideo)', function (data) {
                if (document.getElementById("HideVideo").innerHTML == "隐藏视频") {
                    document.getElementById("IsHide").style.display = "none";//隐藏视频
                    document.getElementById("HideVideo").innerHTML = "显示视频";
                } else {
                    document.getElementById("IsHide").style.display = "inherit";//显示视频
                    document.getElementById("HideVideo").innerHTML = "隐藏视频";
                }
            });
            //#region é€€å‡º
            form.on('submit(Exit)', function (data) {
@@ -216,7 +287,8 @@
                    Pub_Close(1);
                }
            });
             //#endregion
            //#endregion
            //#region æ˜¯å¦è‡ªåŠ¨æ’­æ”¾
            form.on('submit(Autoplay)', function (data) {
                var num = 0;
@@ -227,145 +299,68 @@
                        set_LoadAgain();
                        if (document.getElementById("auto").innerHTML === "自动播放") {
                            clearInterval(timer); //暂停周期函数
                        }}, 120000) //每隔两分钟执行一次
                        }
                    }, 120000) //每隔两分钟执行一次
                    num = 1;
                } else if (document.getElementById("auto").innerHTML = "手动播放" && num == 0) {
                    //ins.reload({ autoplay: false }) //轮播图播放方式改为手动播放
                    document.getElementById("auto").innerHTML = "自动播放";
                }
            });
             //#endregion
            //#region ç‚¹å‡»äº‹ä»¶åŒ…括on form事件等 ï¼ˆè¿™é‡Œæ²¡ç”¨åˆ°ï¼‰
            //头工具栏事件
            table.on('toolbar(mainTable)', function (obj) {
                switch (obj.event) {
                    //新增一行
                    case 'btn-AddLine': btnAddLine(NewRow);
                        break;
                }
            });
            //#endregion
            //#region ç‚¹å‡»ä¸»è¡¨å¸¦å‡ºä»Žè¡¨æ•°æ®
            table.on('rowDouble(mainTable)', function (obj) { //注:tool æ˜¯å·¥å…·æ¡äº‹ä»¶åï¼Œtest æ˜¯ table åŽŸå§‹å®¹å™¨çš„å±žæ€§ lay-filter="对应的值"
                //var datas = obj.data; //获得当前行数据
                //HBillNo = datas["单据号"].toString();
                //var HMainID = datas.hmainid;
                var wait = layer.load();
                HInterID = obj.data.HInterID
                if (HInterID == "" || HInterID == null) {
                    HInterID = 0;
                }
            //#region æ ¹æ®ç‰©æ–™+工序获取作业指导书
            function get_SopFile2(HMaterID, HProcID, HType) {
                var wait = layer.load();//遮罩
                $("#file").html("");
                $(".layui-carousel-ind").html("");
                $.ajax({
                    url: GetWEBURL() + '/Sc_ICMOBillStatus_Tmp/Filelist',
                    url: GetWEBURL() + '/Gy_SopBill/getListByMaterProc',
                    type: "GET",
                    data: { "sWhere": HInterID },
                    success: function (data1) {
                        if (data1.count == 1) {
                            option2.data = data1.data;
                            table.render(option2);
                    data: { "HMaterID": HMaterID, "HProcID": HProcID, "HType": HType },
                            for (let i = 0; i < data1.data.length; i++) {
                                var html = '';
                                if (data1.data[i].文件类型 == '.jpeg' || data1.data[i].文件类型 == '.jpg') {
                                    var FileName = data1.data[i].文件名称;
                                    //html += '<img src=`../../../Files/${FileName}` style="width:100%;height:100%">'
                                    html += '<div><img src=../../../Files/' + FileName + ' alt="" style="width:100%;height:100%"></div>'
                                    $("#file").append(html);
                                }
                                if (data1.data[i].文件类型 == '.pdf') {
                                    var FileName2 = data1.data[i].文件名称;
                                    //<embed src="Test PDF.pdf" type="application/pdf" style="width:100%;height:100%" internalinstanceid="81" />
                                    html += '<div><embed src="../../../Files/' + FileName2 + '"' + ' type="application/pdf" style="width:100%;height:100%" internalinstanceid="81" /></div>'
                                    $("#file").append(html);
                                }
                            }
                            if (data1.data.length == 0) {
                                var html2 = '<h1 style="text-align:center;color:red;font-weight:bolder;">暂未上传文件</h1>';
                                $("#file").append(html2);
                            }
                            ins.reload({ autoplay: false })
                            layer.close(wait);
                        } else {
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                            layer.close(wait);
                        }
                    }, error: function () {
                        layer.close(wait);
                        layer.alert("接口失效!", { icon: 5 });
                    }
                });
            });
            //#endregion
            //#region åˆå§‹åŒ–表格
            function set_InitGrid() {
                option = {
                    id: 'mainTable'
                    , elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , page: false
                    , cellMinWidth: 90
                    , totalRow: false
                    , toolbar: false
                    , limit: 50
                    , height: 300
                    , cols: [[
                        , { field: '源单单号', title: '计划', width: 100 }
                        , { field: '日期', title: '日期', width: 100, templet: "<div>{{d.日期 ==null ?'':layui.util.toDateString(d.日期, 'yyyy-MM-dd')}}</div>" }
                        , { field: '物料代码', title: '物料代码', width: 100 }
                        , { field: '物料名称', title: '物料名称', width: 100 }
                        , { field: '规格型号', title: '规格型号', width: 100 }
                        , { field: '工序', title: '工序', width: 100 }
                        //, { fixed: 'right', title: '操作', toolbar: '#barDemo', width: 66 }
                    ]]
                    , limits: [50, 500, 5000, 20000]
                    , done: function (res, curr, count) {
                    }
                };
            }
            function set_InitGrid2() {
                option2 = {
                    id: 'mainTable2'
                    , elem: '#mainTable2'
                    , toolbar: '#toolbarDemo'
                    , page: false
                    , cellMinWidth: 90
                    , totalRow: false
                    , toolbar: false
                    , limit: 50
                    , height: 300
                    , cols: [[
                        , { field: '序号', title: '序号', width: 115,}
                        , { field: '工序', title: '工序', width: 115, }
                        , { field: '文件名称', title: '文件名称', width: 115 }
                    ]]
                    , limits: [50, 500, 5000, 20000]
                    , done: function (res, curr, count) {
                    }
                };
            }
           //#endregion
            //#region åŠ è½½ç½‘æ ¼
            function get_Display(sWhere) {
                var wait = layer.load();//遮罩
                $.ajax({
                    url: GetWEBURL() + '/Sc_ICMOBillStatus_Tmp/list',
                    type: "GET",
                    data: { "sWhere": sessionStorage["HSourceID"], "user": sessionStorage["HUserName"] },
                    success: function (data1) {
                        if (data1.count == 1) {
                            if (data1.data[0]) {
                                HInterID = data1.data[0].HInterID
                            }
                            option.data = data1.data;
                            table.render(option);
                            //支持播放的视频格式
                            var videoExtensions = ['.mp4', '.webm', '.Ogg'];
                            for (let i = 0; i < data1.data.length; i++) {
                                var html = '';
                                if (data1.data[i].文件类型 == '.jpeg' || data1.data[i].文件类型 == '.jpg') {
                                    var FileName = data1.data[i].文件名称;
                                    var FilePath = data1.data[i].文件地址;
                                    //html += '<img src=`../../../Files/${FileName}` style="width:100%;height:100%">'
                                    html += '<div><img src=../../../' + FilePath + ' alt="" style="width:100%;height:100%"></div>'
                                    $("#file").append(html);
                                }
                                if (data1.data[i].文件类型 == '.pdf') {
                                    var FileName2 = data1.data[i].文件名称;
                                    var FilePath2 = data1.data[i].文件地址;
                                    //<embed src="Test PDF.pdf" type="application/pdf" style="width:100%;height:100%" internalinstanceid="81" />
                                    html += '<div><embed src="../../../' + FilePath2 + '"' + ' type="application/pdf" style="width:100%;height:100%"  internalinstanceid="81" /></div>'
                                    $("#file").append(html);
                                }
                                if (videoExtensions.includes(data1.data[i].文件类型)) {
                                    var FileName3 = data1.data[i].文件名称;
                                    var FilePath3 = data1.data[i].文件地址;
                                    var vvv = '';
                                    vvv += '<source src=../../../' + FilePath3 + ' type="video/webm" />'
                                    $("#video").append(vvv);
                                }
                            }
                            if (data1.data.length == 0) {
                                var html2 = '<h1 style="text-align:center;line-height:570px;color:red;font-weight:bolder;">暂未上传文件</h1>';
                                $("#file").append(html2);
                            }
                            ins.reload({ autoplay: false })
                            layer.close(wait);
                        } else {
                            layer.close(wait);
@@ -377,46 +372,28 @@
                    }
                });
            }
            //#endregion
            //加载右下方网格
            function get_Display2(sWhere) {
                if (HInterID == "" || HInterID == null) {
                    HInterID = 0;
                }
                var wait = layer.load();
                $.ajax({
                    url: GetWEBURL() + '/Sc_ICMOBillStatus_Tmp/Filelist',
                    type: "GET",
                    data: { "sWhere": HInterID },
                    success: function (data1) {
                        if (data1.count == 1) {
                            option2.data = data1.data;
                            table.render(option2);
                            layer.close(wait);
                        } else {
                            layer.close(wait);
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.close(wait);
                        layer.alert("接口失效!", { icon: 5 });
                    }
                });
            }
            //加载左侧文件
            function get_Display3(sWhere) {
                if (HInterID == "" || HInterID == null) {
                    HInterID = 0;
                }
            //定义为全局变量
            window.get_Display_All = function (HSourceID, HMainID) {
                var wait = layer.load();//遮罩
                $("#file").html("");
                $(".layui-carousel-ind").html("");
                $.ajax({
                    url: GetWEBURL() + '/Sc_ICMOBillStatus_Tmp/Filelist',
                    url: GetWEBURL() + '/Sc_ICMOBill/list2',
                    type: "GET",
                    data: { "sWhere": HInterID },
                    data: { "HSourceID": HSourceID, "user": sessionStorage["HUserName"], "HMainID": HMainID },
                    success: function (data1) {
                        if (data1.count == 1) {
                            if (data1.data[0]) {
                                HInterID = data1.data[0].HInterID
                            }
                            option.data = data1.data;
                            table.render(option);
                            for (let i = 0; i < data1.data.length; i++) {
                                var html = '';
                                if (data1.data[i].文件类型 == '.jpeg' || data1.data[i].文件类型 == '.jpg') {
@@ -431,26 +408,78 @@
                                    html += '<div><embed src="../../../Files/' + FileName2 + '"' + ' type="application/pdf" style="width:100%;height:100%"  internalinstanceid="81" /></div>'
                                    $("#file").append(html);
                                }
                                if (data1.data[i].文件类型 == null && data1.data[i].文件名称 == null) {
                                    var html2 = '<h1 style="text-align:center;line-height:570px;color:red;font-weight:bolder;">暂未上传文件</h1>';
                                    $("#file").append(html2);
                                }
                            }
                            if (data1.data.length == 0) {
                                var html2 = '<h1 style="text-align:center;color:red;font-weight:bolder;">暂未上传文件</h1>';
                                $("#file").append(html2);
                            }
                            ins.reload({ autoplay: false })
                            //layer.close(wait);
                            layer.close(wait);
                        } else {
                            //layer.close(wait);
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                            layer.close(wait);
                            layer.alert(data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        //layer.close(wait);
                        layer.alert("接口失效!", { icon: 5 });
                        layer.close(wait);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //#endregion
            };
            //以上是layui模块
        });
        //返回任务单信息
        function GetICMOBillValue(obj) {
            get_Display_All(obj[0].HSourceID_b, obj[0].hmainid);
        }
        //退出按钮点击事件
        function Exit(event, obj) {
            if (linterid == undefined) {
                //关闭页签
                Pub_Close(2);
            }
            else {
                //关闭页签
                Pub_Close(1);
            }
        }
        //隐藏视频
        function HideVideo(event, obj) {
            if (document.getElementById("HideVideo").innerHTML == "隐藏视频") {
                document.getElementById("IsHide").style.display = "none";//隐藏视频
                document.getElementById("HideVideo").innerHTML = "显示视频";
            } else {
                document.getElementById("IsHide").style.display = "inherit";//隐藏视频
                document.getElementById("HideVideo").innerHTML = "隐藏视频";
            }
        }
        //自动播放
        function Autoplay(event, obj) {
            var num = 0;
            if (document.getElementById("auto").innerHTML == "自动播放") {
                //ins.reload({ autoplay: true }) //轮播图播放方式改为自动播放
                document.getElementById("auto").innerHTML = "手动播放";
                var timer = setInterval(function () {
                    set_LoadAgain();
                    if (document.getElementById("auto").innerHTML === "自动播放") {
                        clearInterval(timer); //暂停周期函数
                    }
                }, 120000) //每隔两分钟执行一次
                num = 1;
            } else if (document.getElementById("auto").innerHTML = "手动播放" && num == 0) {
                //ins.reload({ autoplay: false }) //轮播图播放方式改为手动播放
                document.getElementById("auto").innerHTML = "自动播放";
            }
        }
    </script>
</body>
</html>