| | |
| | | }) |
| | | |
| | | TSLoad(); |
| | | fetchButtonsData(); |
| | | }); |
| | | function TSLoad() { |
| | | $("#topleft").html(""); |
| | |
| | | html1 += '<h1><span>生产班组:</span><span id="HGroupName' + i + '">' + LoadData[i - 1].GroupName + '</span></h1>'; |
| | | //html1 += '<h1><span>当前工单:</span><span id="po' + i + '">' + (LoadData[i - 1].HSourceBillNo == null ? '' : LoadData[i - 1].HSourceBillNo) + '</span></h1>'; |
| | | //html1 += '<h1><span>产品名称:</span><span id="ptn' + i + '">' + (LoadData[i - 1].HName == null ? '' : LoadData[i - 1].HName) + '</span></h1>'; |
| | | //html1 += '<h1><span>产品规格:</span><span id="pts' + i + '">' + (LoadData[i - 1].HModel == null ? '' : LoadData[i - 1].HModel) + '</span></h1>'; |
| | | //html1 += '<h1><span>产品规格:</span><span id="pts' + i + '">' + (LoadData[i - 1].HModel == null ? '' : LoadData[i - 1].HModel) + '</span></h1>'; |
| | | html1 += '<h1><span>负责人:</span><span id="us' + i + '">' + LoadData[i - 1].HEmpName + '</span></h1>'; |
| | | switch (LoadData[i - 1].HStatus) { |
| | | case "空闲": |
| | |
| | | break; |
| | | case "维修终止": |
| | | html1 += '<h1><span>当前状态:</span><span class="gj_icon color_border1"></span><span>' + LoadData[i - 1].HStatus + '</span></h1>'; |
| | | break; |
| | | break; |
| | | default: |
| | | } |
| | | html1 += '<h1 hidden> <span id="HGroupID' + i + '">' + LoadData[i - 1].HGroupID + '</span></h1>'; |
| | |
| | | } |
| | | var HManagerID = 0; |
| | | var HGroupID = 0; |
| | | |
| | | //加载当前用户按钮 |
| | | function fetchButtonsData() { |
| | | $.ajax({ |
| | | url: GetWEBURL() + '/ReportPlatForm/getButtonlist', |
| | | type: "GET", |
| | | data: { "user": sessionStorage["HUserName"] }, |
| | | success: function (data1) { |
| | | if (data1.data && data1.data.length > 0) { |
| | | // 清空现有内容 |
| | | $("#button-container").empty(); |
| | | var colClass = ''; // 动态设置列的样式 |
| | | let largestColClass = 'layui-col-md4'; // 默认新增按钮大小(假设最多是 3 个按钮一排) |
| | | |
| | | // 遍历每个按钮数据并生成对应的 HTML |
| | | data1.data.forEach(function (buttonData, index) { |
| | | // 根据 defaultSize 字段选择合适的列宽 |
| | | switch (buttonData.按钮大小) { |
| | | case '小': |
| | | colClass = 'layui-col-md3'; // 一排4个 |
| | | break; |
| | | case '中': |
| | | colClass = 'layui-col-md4'; // 一排3个 |
| | | break; |
| | | case '大': |
| | | colClass = 'layui-col-md6'; // 一排2个 |
| | | break; |
| | | default: |
| | | colClass = 'layui-col-md4'; // 默认设置为中等大小(3个一排) |
| | | } |
| | | |
| | | // 更新最大列宽:取最大列宽 |
| | | if (colClass === 'layui-col-md6') { |
| | | largestColClass = colClass; // 如果当前列宽是 'layui-col-md6',说明是最宽的 |
| | | } else if (colClass === 'layui-col-md4' && largestColClass !== 'layui-col-md6') { |
| | | largestColClass = colClass; // 默认列宽为 'layui-col-md4',小于 'layui-col-md6' |
| | | } else if (colClass === 'layui-col-md3' && largestColClass === 'layui-col-md4') { |
| | | largestColClass = colClass; // 如果当前列宽是 'layui-col-md3',小于 'layui-col-md4' |
| | | } |
| | | |
| | | var html = ''; |
| | | html += '<div class="' + colClass + '" id="btn' + index + '">'; |
| | | html += ' <div class="cnt bottomright" id="button' + index + '" onclick="' + buttonData.事件名称 + '(event, this)">'; |
| | | html += ' <span class="layui-icon ' + buttonData.图标 + ' imgicon"></span>'; |
| | | html += ' <span class="imgtitle">' + buttonData.名称 + '</span>'; |
| | | html += ' </div>'; |
| | | html += ' <span class="layui-icon layui-icon-delete delete" onclick="deleteButton(event, \'' + buttonData.HItemID + '\')"></span>'; // 修改删除按钮事件,传递 id1 和 id2 |
| | | html += '</div>'; |
| | | // 将生成的 HTML 追加到 #button-container |
| | | $("#button-container").append(html); |
| | | }); |
| | | |
| | | // 添加一个新增按钮 |
| | | var html1 = ''; |
| | | html1 += '<div class="layui-col-sm12 ' + largestColClass + '">'; |
| | | html1 += ' <div class="cnt bottomright">'; |
| | | html1 += ' <span class="layui-icon layui-icon-addition imgtitle" onclick="Add_Buttton(event,this,1)"></span>'; |
| | | html1 += ' </div>'; |
| | | html1 += '</div>'; |
| | | |
| | | $("#button-container").append(html1); |
| | | } else { |
| | | // 如果没有按钮数据,展示默认的空白新增按钮 |
| | | var html1 = ''; |
| | | html1 += '<div class="layui-col-sm12 layui-col-md4">'; |
| | | html1 += ' <div class="cnt bottomright">'; |
| | | html1 += ' <span class="layui-icon layui-icon-addition imgtitle" onclick="Add_Buttton(event,this,1)"></span>'; |
| | | html1 += ' </div>'; |
| | | html1 += '</div>'; |
| | | $("#button-container").append(html1); |
| | | } |
| | | }, |
| | | error: function (error) { |
| | | console.log('获取按钮数据失败', error); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 删除按钮的事件处理函数 |
| | | function deleteButton(event, HItemID) { |
| | | event.stopPropagation(); // 防止事件冒泡,避免触发按钮的点击事件 |
| | | //逻辑删除方法 |
| | | layer.confirm("确认要删除吗,删除后不能恢复", { title: "删除确认" }, function (index) { |
| | | $.ajax({ |
| | | url: GetWEBURL() + "/ReportPlatForm/DeleteButtonlist", |
| | | type: "GET", |
| | | data: { "HItemID": HItemID }, |
| | | dataType: "json",//数据类型可以为 text xml json script jsonp |
| | | success: function (data) { |
| | | if (data.count > 0) { |
| | | fetchButtonsData(); //执行查询过程 |
| | | layer.close(index); |
| | | layer.msg(data.Message, { time: 1 * 2000, icon: 1 }); |
| | | return false; |
| | | } |
| | | else { |
| | | layer.alert(data.Message, { time: 1 * 2000, icon: 5 }); |
| | | return false; |
| | | } |
| | | }, |
| | | error: function (err) { |
| | | layer.alert(err.Message, { time: 1 * 2000, icon: 5 }); |
| | | return false; |
| | | } |
| | | }); |
| | | }) |
| | | } |
| | | |
| | | //添加按钮 |
| | | function Add_Buttton(event, obj, i) { |
| | | event.stopPropagation(); //阻止冒泡 |
| | | //页面层-自定义 |
| | | layer.open({ |
| | | type: 2 //此处以iframe举例 |
| | | , title: '按钮绑定' |
| | | , area: ['90%', '90%'] |
| | | , shadeClose: false //开启遮罩关闭 |
| | | , shade: 0.5 |
| | | , maxmin: true |
| | | , content: ['生产管理/报工平台功能页/LineBind_Button.html', 'yes'] |
| | | , btn: ['确定', '取消'] |
| | | , btn1: function (index, layero, e) { |
| | | |
| | | //按钮【按钮一】的回调 |
| | | var body = layer.getChildFrame('body', index); //得到iframe页的body内容 |
| | | |
| | | var HUserName = sessionStorage["HUserName"]; |
| | | var HButtonID = body.find("#HButtonID").val(); |
| | | var HButtonName = body.find("#HName").val(); |
| | | var HButtonSize = body.find("#HButtonSize").val(); |
| | | var HButtonOrder = body.find("#HButtonOrder").val(); |
| | | $.ajax( |
| | | { |
| | | url: GetWEBURL() + "/ReportPlatForm/AddButtonlist", //方法所在页面和方法名 |
| | | dataType: "json", |
| | | type: "Get", |
| | | async: false, |
| | | data: { |
| | | "HUserName": HUserName, |
| | | "HButtonID": HButtonID, |
| | | "HButtonName": HButtonName, |
| | | "HButtonSize": HButtonSize, |
| | | "HButtonOrder": HButtonOrder |
| | | |
| | | }, |
| | | success: function (data) { |
| | | if (data.count == 1) { // 说明验证成功了, |
| | | fetchButtonsData(); //执行查询过程 |
| | | layer.close(index); |
| | | layer.msg(data.Message, { time: 1 * 2000, icon: 1 }); |
| | | return false; |
| | | } |
| | | else { |
| | | layer.close(index); |
| | | layer.alert(data.Message, { icon: 5 }); |
| | | return false; |
| | | |
| | | } |
| | | }, |
| | | error: function (err) { |
| | | layer.alert(err.Message, { time: 1 * 2000, icon: 5 }); |
| | | return false; |
| | | } |
| | | }); |
| | | } |
| | | , btn2: function (index, layero) { |
| | | //按钮【按钮二】的回调 |
| | | //return false 开启该代码可禁止点击该按钮关闭 |
| | | } |
| | | |
| | | , zIndex: layer.zIndex //重点1 |
| | | , success: function (layero, index) { |
| | | |
| | | } |
| | | , end: function () { |
| | | |
| | | } |
| | | }); |
| | | |
| | | } |
| | | |
| | | //选中资源 |
| | | function Check(obj, i) { |
| | | wktag = 0; |
| | |
| | | var LoadData1 = data.data.h_p_JIT_GetWorkBillListInfoBySource; |
| | | var LoadData2 = data.data.h_p_JIT_GetWorkBillListInfoBySource1; |
| | | var LoadData3 = data.data.h_p_JIT_GetWorkBillListInfoBySource2; //时间点产量 |
| | | var LoadData4 = data.data.h_p_JIT_GetWorkBillListInfoBySource3; //不良分析 |
| | | var LoadData4 = data.data.h_p_JIT_GetWorkBillListInfoBySource3; //不良分析 |
| | | if (LoadData1.length > 0) //工单列表数据 |
| | | { |
| | | |
| | |
| | | break; |
| | | case "完工": |
| | | html1 += '<h1><span>当前状态:</span><span class="gj_icon color_border4"></span><span>' + LoadData1[i].HICMOStatus + '</span><span style="margin-left:5px;">领料状态:</span><span>' + LoadData1[i].领料状态 + '</span></h1>'; |
| | | break; |
| | | break; |
| | | } |
| | | html1 += '<span class="prs">生产进度:</span>'; |
| | | html1 += '<div class="layui-progress layui-progress-big" lay-showPercent="yes">'; |
| | |
| | | } |
| | | else { |
| | | html1 += '<h1><span>进度:</span><span>' + ((LoadData2[i].HRelationQty / LoadData2[i].HPlanQty) * 100).toFixed(2) + '%</span><div style="margin-left:25px;float:right"><span >点检完成情况:</span><span>' + LoadData2[i].当日点检完成情况 + '</span></div></h1>'; |
| | | } |
| | | if (LoadData2[i].安灯未验收数量 == 0 || LoadData2[i].安灯未验收数量 == null) { |
| | | html1 += '<h1><span>异常反馈未验收:</span><span class="gj_icon color_border4"></span><span>' + LoadData2[i].安灯未验收数量 + '</span></h1>'; |
| | | } |
| | | else { |
| | | html1 += '<h1><span>异常反馈未验收:</span><span class="gj_icon color_border5"></span><span>' + LoadData2[i].安灯未验收数量 + '</span></h1>'; |
| | | } |
| | | html1 += '<h1><span>本单运行时间:</span><span>' + getSeconds(LoadData2[i].HSumTimes) + '</span></h1>'; |
| | | html1 += '<h1><span>本资源运行时间:</span><span>' + getSeconds(LoadData2[i].HSourceWorkTime) + '</span></h1>'; |
| | |
| | | return false; |
| | | } |
| | | else { |
| | | layer.close(index); |
| | | layer.alert(data.Message, { icon: 5 }); |
| | | return false; |
| | | |
| | |
| | | |
| | | } |
| | | }); |
| | | |
| | | } |
| | | |
| | | //删除资源 |
| | |
| | | //非空验证 |
| | | function AllowLoadData(body) { //非空验证 |
| | | var Result = true; |
| | | //if (body.find("#HUserName").val() == '' || body.find("#HUserName").val() == null) { |
| | | // layer.msg("用户名不能为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" }); |
| | | // return Result = false; |
| | | //} |
| | | if (body.find("#HSourceID").val() == '' || body.find("#HSourceID").val() == null) { |
| | | layer.msg("生产资源不能为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" }); |
| | | return Result = false; |
| | |
| | | , shade: 0.6 |
| | | , maxmin: false |
| | | , anim: 0 |
| | | , content: ['质量管理/首件检验单/QC_Add_Edit_FirstPieceCheckBill.html?OperationType=2&linterid=' + HProcExchInterID + '&HSouceBillType=' + HBillType + '&HICMOEntryID=' + HICMOEntryID + '&HSourceEntryID=' + HSourceEntryID+'', 'yes'] |
| | | , content: ['质量管理/首件检验单/QC_Add_Edit_FirstPieceCheckBill.html?OperationType=2&linterid=' + HProcExchInterID + '&HSouceBillType=' + HBillType + '&HICMOEntryID=' + HICMOEntryID + '&HSourceEntryID=' + HSourceEntryID + '', 'yes'] |
| | | , resize: false |
| | | , cancel: function () { |
| | | } |
| | |
| | | layer.open({ |
| | | type: 2 |
| | | , area: ['100%', '100%'] |
| | | , title: '巡检检验单-编辑' |
| | | , shade: 0.6 |
| | | , maxmin: false |
| | | , anim: 0 |
| | | , content: ['质量管理/巡检记录单/QC_Add_Edit_PatrolProcCheckOtherill.html?OperationType=2&linterid=' + HProcExchInterID + '&HSouceBillType=' + HBillType + '&HICMOEntryID=' + HICMOEntryID + '&HSourceEntryID=' + HSourceEntryID + '', 'yes'] |
| | | , resize: false |
| | | , cancel: function () { |
| | | |
| | | } |
| | | , end: function () { |
| | | |
| | | } |
| | | }) |
| | | } |
| | | //末检 |
| | | function ProcessCheck(event, obj) { |
| | | if (wktag == 0) { |
| | | layer.alert("请选择工单列表", { icon: 5 }); |
| | | return false; |
| | | } |
| | | layer.open({ |
| | | type: 2 |
| | | , area: ['100%', '100%'] |
| | | , title: '工序检验单-编辑' |
| | | , shade: 0.6 |
| | | , maxmin: false |
| | | , anim: 0 |
| | | , content: ['质量管理/巡检记录单/QC_Add_Edit_PatrolProcCheckOtherill.html?OperationType=2&linterid=' + HProcExchInterID + '&HSouceBillType=' + HBillType + '&HICMOEntryID=' + HICMOEntryID+ '&HSourceEntryID=' + HSourceEntryID+'', 'yes'] |
| | | , content: ['质量管理/工序检验单/QC_ProcessCheckBill.html?OperationType=2&linterid=' + HProcExchInterID + '&HSouceBillType=' + HBillType + '&HICMOEntryID=' + HICMOEntryID + '&HSourceEntryID=' + HSourceEntryID + '', 'yes'] |
| | | , resize: false |
| | | , cancel: function () { |
| | | |
| | |
| | | , maxmin: false |
| | | , anim: 0 |
| | | , content: ['生产管理/质量汇报单/Sc_QualityReportBill.html?OperationType=2&linterid=' + HSourceInterID + '&HSouceBillType=' + HBillType + '&HICMOEntryID=' + HSourceEntryID, 'yes'] |
| | | , resize: false |
| | | , cancel: function () { |
| | | |
| | | } |
| | | , end: function () { |
| | | |
| | | } |
| | | }) |
| | | } |
| | | |
| | | |
| | | //微瑕品汇报 |
| | | function SubtleFlaw() { |
| | | if (wktag == 0) { |
| | | layer.alert("请选择工单列表", { icon: 5 }); |
| | | return false; |
| | | } |
| | | if (WorkStaus(HSourceID1, workcode, HSourceInterID, "微瑕品汇报")) { |
| | | layer.alert("单据状态不满足微瑕品汇报条件!", { icon: 5 }); |
| | | return false; |
| | | } |
| | | layer.open({ |
| | | type: 2 |
| | | , area: ['100%', '100%'] |
| | | , title: '微瑕品汇报单-编辑' |
| | | , shade: 0.6 |
| | | , maxmin: false |
| | | , anim: 0 |
| | | , content: ['生产管理/质量汇报单/Sc_QualityReportBill.html?OperationType=2&linterid=' + HSourceInterID + '&HSouceBillType=' + HBillType + '&HICMOEntryID=' + HSourceEntryID + '&HBillSubType=微瑕品', 'yes'] |
| | | , resize: false |
| | | , cancel: function () { |
| | | |
| | |
| | | } |
| | | |
| | | //设备启动点检按钮点击事件 |
| | | function BeginDotCheck(event, obj) { |
| | | function BeginDotCheck(event, obj) { |
| | | layer.open({ |
| | | type: 2, |
| | | skin: 'layui-layer-rim', //加上边框 |
| | |
| | | } |
| | | |
| | | //异常按钮点击事件 |
| | | function Abnormal (event, obj) { |
| | | function Abnormal(event, obj) { |
| | | layer.open({ |
| | | type: 2, |
| | | skin: 'layui-layer-rim', //加上边框 |
| | |
| | | var data = []; |
| | | data.push({ |
| | | "HMaterID": HMaterID, |
| | | "HProcID": HProcID, |
| | | "HProcID": HProcID, |
| | | "SCOrder": HSourceBillNo |
| | | }); |
| | | |
| | |
| | | if (wktag == 0) { |
| | | layer.alert("请选择工单列表", { icon: 5 }); |
| | | return false; |
| | | } |
| | | } |
| | | layer.open({ |
| | | type: 2, |
| | | skin: 'layui-layer-rim', //加上边框 |
| | |
| | | content: '生产管理/异常反馈单/OA_ErrMsgBackSignBill_BrushCard.html?OperationType=2', |
| | | end: function () { |
| | | |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | |
| | | content: '质量管理/异常反馈/OA_ErrMsgBackSelfQuery_BGT.html?OperationType=2', |
| | | end: function () { |
| | | |
| | | }, |
| | | success: function (dom, index) { |
| | | var data = []; |
| | | data.push({ |
| | | "HSourceID": HSourceID1, |
| | | "HSourceName": HSourceName1 |
| | | }); |
| | | //通过索引获取到当前iframe弹出层 |
| | | var iframe = window['layui-layer-iframe' + index]; |
| | | //调用iframe弹出层内的方法 |
| | | iframe.edit(data); |
| | | } |
| | | }); |
| | | } |
| | |
| | | <fieldset style="border: 1px solid #eee;box-shadow: 0 2px 5px 0 rgb(0 0 0 / 10%);"> |
| | | <legend style="color: #5FB878">操作台</legend> |
| | | <div class="content4"> |
| | | <div class="layui-row layui-col-space10"> |
| | | <!--<div class="layui-row layui-col-space10"> |
| | | <div class="layui-col-sm12 layui-col-md4" onclick="OpenWork(event,this)"> |
| | | <div class="cnt bottomright"> |
| | | <span class="layui-icon layui-icon-play imgicon"></span> |
| | |
| | | <span class="imgtitle">首检</span> |
| | | </div> |
| | | </div> |
| | | <div class="layui-col-sm12 layui-col-md4"> |
| | | <div class="cnt bottomright" style="pointer-events:none; background-color:rgb(0 0 0 / 10%);display:none;"> |
| | | <div class="layui-col-sm12 layui-col-md4" onclick="OpenProcess(event,this)"> |
| | | <div class="cnt bottomright"> |
| | | <span class="layui-icon layui-icon-search imgicon"></span> |
| | | <span class="imgtitle">巡检</span> |
| | | </div> |
| | | </div> |
| | | <div class="layui-col-sm12 layui-col-md4" onclick="OpenProcess(event,this)"> |
| | | <div class="layui-col-sm12 layui-col-md4" onclick="ProcessCheck(event,this)"> |
| | | <div class="cnt bottomright"> |
| | | <span class="layui-icon layui-icon-search imgicon"></span> |
| | | <span class="imgtitle">过程检验</span> |
| | | <span class="imgtitle">末检</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <span class="layui-icon layui-icon-layer imgicon"></span> |
| | | <span class="imgtitle">异常验收</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-col-sm12 layui-col-md4" onclick="SubtleFlaw(event,this)"> |
| | | <div class="cnt bottomright"> |
| | | <span class="layui-icon layui-icon-log imgicon"></span> |
| | | <span class="imgtitle">微瑕品汇报</span> |
| | | </div> |
| | | </div> |
| | | </div>--> |
| | | <!--数据插入动态按钮SQL,然后此页面写点击事件即可,网页绑定新按钮即可使用--> |
| | | <!--insert into Gy_BGButtons (HNumber,HName,HIcno,HOnclick,HSize,HOrder) values ('按钮代码','按钮名字','按钮图标','按钮点击事件','按钮默认大小,默认是中(大,中,小)','按钮默认排序 默认0')--> |
| | | |
| | | <div class="layui-row layui-col-space10" id="button-container"> |
| | | |
| | | </div> |
| | | </div> |
| | | </fieldset> |
| | | </div> |