cl
2024-01-19 e0fac38b26845f25de479783e0c76cf12a5311e0
提交 | 用户 | 时间
b26949 1
2 layui.use(['form','table', 'admin', 'ax', 'func'], function () {
3     var $ = layui.$;
4     var table = layui.table;
5     var $ax = layui.ax;
6     var admin = layui.admin;
7     var func = layui.func;
8
9     /**
10      * 看板配置管理
11      */
12     var KanbanConf = {
13         tableId: "kanbanConfTable"
14     };
15
16     /**
17      * bom信息管理
18      */
19     var BomInfo = {
20         tableId: "bomInfoTable"
21     };
22
23     /**
24      * bom信息管理
25      */
26     var MaterialShortage = {
27         tableId: "materialShortageTable"
28     };
29
30     initPageInfo();
31     async function initPageInfo() {
32         await initKanBanConfInfo();//初始化配置信息
33         await initPoorLine();
34         await initOrderInfo();
35         initBomTable();
36         initMaterialShortage();
37      /*   xR();
38         xa();*/
39     }
40
41     function initPoorLine(){
42         $.ajax({
43             type: "POST",
44             contentType: "application/json;charset=UTF-8",
45             url: Feng.ctxPath + '/locationInfo/list?productionLineCode='+ $('#lineCode').val(),
46             success: function (result) {
47                 $('#poorLocationCode').empty();
48                 $('#poorLocationCode').append(new Option("请选择工位", ""));// 下拉菜单里添加元素
49
50                 $.each(result.data, function (index, value) {
51                     $('#poorLocationCode').append(new Option(value.locationCode, value.locationCode));// 下拉菜单里添加元素
52                 });
53                 layui.form.render("select");//重新渲染 固定写法
54             },
55         });
56     }
57
58     function initKanBanConfInfo() {
59         // 根据ip查询配置信息
60         var ajax = new $ax(Feng.ctxPath + "/scrapBoard/qryKBConflist?pageCode=" + 'KB_WLDJ_006');
61         var result = ajax.start();
62         if (result.data.length > 0) {
63             let msg = result.data[0];
64             $('#id').val(msg.id);
65             $('#ipAddress').val(msg.ipAddress);
66             $('#pageCode').val(msg.pageCode);
67             $('#workshopCode').val(msg.workshopCode);
68             $('#lineCode').val(msg.lineCode);
69             $('#locationCode').val(msg.locationCode);
70
71             $('#scrapCategory').val(msg.warehouseCode);
72             $('#scrapReason').val(msg.warehouseName);
73             console.log(msg)
74
75         }
76     }
77
78     function initOrderInfo(sfc) {
79         // 根据ip查询配置信息
80         var ajax = new $ax(Feng.ctxPath + "/repairManageInfo/list?sfc=" + sfc);
81         // var ajax = new $ax(Feng.ctxPath + "/repairManageInfo/list?sfc=222222222");
82         var result = ajax.start();
83         if (result.data.length > 0) {
84             let msg = result.data[0];
85             $('#orderId').val(msg.id);
86             $('#workOrderNo').val(msg.workOrderNo);
87             $('#productName').val(msg.productName);
88             $('#productCode').val(msg.productCode);
89             $('#sfc1').val(msg.sfc);
90             $('#locationCode1').val(msg.locationCode);
91             $('#productionLine1').val(msg.productionLine);
92             $('#poorLocationCode1').val(msg.poorLocationCode);
93             $('#poorContent1').val(msg.poorContent);
94
95         }
96     }
97
98     function initBomTable(){
99         var queryData = {};
100         queryData['loadingCode'] = $("#locationCode").val();
101         // queryData['workOrderNo'] = $("#workOrderNo").val();
102
103         // 渲染表格
104         var tableResult = table.render({
105             elem: '#' + BomInfo.tableId,
106             url: Feng.ctxPath + '/bomInfo/kbListTable',
107             // page: true,
108             // height: 475,
109             height: 435,
110             cellMinWidth: 100,
111             where:queryData,
112             cols: BomInfo.initColumn()
113         });
114     }
115     /**
116      * 物料Bom初始化表格的列
117      */
118     BomInfo.initColumn = function () {
119         return [[
120             // {type: 'checkbox'},
121             /*  {type:"numbers" ,title:'序号',width:40,fixed:'left'},*/
122             {field: 'id', hide: true, title: 'ID'},
123             {field: 'materialCode', sort: true, title: '物料编号'},
124             {field: 'materialName', sort: true, title: '物料名称'},
125             // {field: 'workorderNo', sort: true, title: '工单编号'},
126             // {field: 'productCode', sort: true, title: '产品编号'},
127             {field: 'locationCode', sort: true, title: '工位编号'},
128             {field: 'loadingCode', sort: true, title: '上料工位编号'},
129             // {field: 'state', sort: true, title: '是否扫码'},
130             // {field: 'batchCode', sort: true, title: '批次码'},
131         ]];
132     };
133
134     /**
135      * 缺料报警初始化表格的列
136      */
137     MaterialShortage.initColumn = function () {
138         return [[
139             {field: 'id', hide: true, title: '主键id'},
140             {field: 'barcode', sort: true, title: '扫码条码',width:330},
141             {field: 'locationCode', sort: true, title: '工位'},
142             {field: 'duaDate', sort: true, title: '到期时间'},
143             // {field: 'state', sort: true, title: '状态'},
144             {field: 'createUser', sort: true, title: '更新用户'},
145             {field: 'createTime', sort: true, title: '更新时间'},
146         ]];
147     };
148
149     function initMaterialShortage(){
150         var queryData = {};
151         queryData['manageType'] = "2";
152
153         // 渲染表格
154         var tableResult = table.render({
155             elem: '#' + MaterialShortage.tableId,
156             url: Feng.ctxPath + '/greaseManage/list',
157             // page: true,
158             height: 360,
159             cellMinWidth: 80,
160             where:queryData,
161             cols: MaterialShortage.initColumn()
162         });
163     }
164
165
166     // 生产工单设置按钮点击事件
167     $('#orderBtnSet').click(function () {
168         KanbanConf.openOrderEditPage();
169     });
170
171     // 设置按钮点击事件
172     $('#btnSet').click(function () {
173         var id = $("#id").val();
174         if(id == "" || id == undefined){
175             KanbanConf.openAddDlg();
176         }else{
177             KanbanConf.openEditPage(id);
178         }
179
180     });
181
182     $('#enter').click(function (){
183         if($('#barcode').val().length===0) {
184             Feng.error("请输入总成编码!")
185             return;
186         }
187         let ajaxEnter = new $ax(Feng.ctxPath + "/greaseBoard/updategreaseManage", function (data) {
188             Feng.success("添加成功!")
189         }, function (data) {
190             Feng.error("添加失败!" + data.responseJSON.message)
191         });
192         ajaxEnter.set("barcode", $('#barcode').val());
193         ajaxEnter.start();
194         initMaterialShortage();
195     });
196
197     /**
198      * 弹出添加页面设置对话框
199      */
200     KanbanConf.openAddDlg = function () {
201         console.log("弹出添加页面设置对话框");
202         layer.open({
203             type: 2,
204             area: ['1000px', '600px'],
205             title: '添加看板配置',
206             content: Feng.ctxPath + '/reworkAndLaunch/add',
207             success: function (layero, index) {
208                 let body = layer.getChildFrame('body', index);
209                 body.find('form').find('#testlineCode').val($('#lineCode').val());
210                 body.find('form').find('#testlocationCode').val($('#locationCode').val());
211             },
212             end: function () {
213                 console.log("end")
214                 let lineCode = JSON.parse(window.localStorage.getItem('lineCode'));
215                 let locationCode = JSON.parse(window.localStorage.getItem('locationCode'));
216                 $('#lineCode').val(lineCode);
217                 $('#locationCode').val(locationCode);
218                 initKanBanConfInfo()
219             }
220         });
221     };
222
223     /**
224      * 弹出编辑页面设置对话框
225      *
226      * @param data 点击按钮时候的行数据
227      */
228     KanbanConf.openEditPage = function (data) {
229         func.open({
230             title: '添加看板配置',
231             content: Feng.ctxPath + '/materialRegistration/edit?id=' + data,
232             //tableId: KanbanConf.tableId
233         });
234
235     };
236
237     $('#revert').click(function () {
238         window.location.href = Feng.ctxPath + '/badBoard/boardHome'
239     });
240
241     var websocket = null;
242     //判断当前浏览器是否支持WebSocket
243     if('WebSocket' in window) {
244         //改成你的地址
245         websocket = new WebSocket('ws://127.0.0.1:8083/websocket/greaseBoard');
246     } else {
247         alert('当前浏览器 Not support websocket')
248     }
249     //接收到消息的回调方法
250     websocket.onmessage = function(event) {
251         $('#barcode').val(event.data);
252         // initOrderInfo(event.data);
253     }
254
255     //连接成功建立的回调方法
256     websocket.onopen = function() {
257         Feng.info("扫码枪连接建立成功")
258     }
259
260     //连接关闭的回调方法
261     websocket.onclose = function() {
262         Feng.info("扫码枪连接已关闭")
263     }
264
265     window.onunload = function(){
266         websocket.close();
267     }
268
269 });