From 259e3762d2f5e79e4c35171e683b4b205b58ef92 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期三, 03 九月 2025 14:29:24 +0800
Subject: [PATCH] 许可证到期提醒,系统30分钟无操作下线账号
---
src/main/webapp/static/js/order/out.js | 458 ++++++++++++++++++++++++++++++--------------------------
1 files changed, 247 insertions(+), 211 deletions(-)
diff --git a/src/main/webapp/static/js/order/out.js b/src/main/webapp/static/js/order/out.js
index 6a2ff74..86f2b28 100644
--- a/src/main/webapp/static/js/order/out.js
+++ b/src/main/webapp/static/js/order/out.js
@@ -1,12 +1,10 @@
var pageCurr;
-var tableData;
var insTb2;
-const sensorType = 5;
layui.config({
base: baseUrl + "/static/layui/lay/modules/"
}).extend({
notice: 'notice/notice',
-}).use(['table','laydate', 'form', 'util', 'admin', 'notice', 'treeTable', 'xmSelect'], function(){
+}).use(['table','laydate', 'form', 'util', 'admin', 'notice', 'treeTable', 'xmSelect', 'tableMerge', 'tableX'], function(){
var table = layui.table;
var $ = layui.jquery;
var layer = layui.layer;
@@ -17,97 +15,45 @@
var notice = layui.notice;
var treeTable = layui.treeTable;
var xmSelect = layui.xmSelect;
-
- // 璁惧绫诲瀷鏁版嵁
- var modelTb = treeTable.render({
- elem: '#nothing',
- url: baseUrl+'/sensorModel/list/auth',
- headers: {token: localStorage.getItem('token')},
- tree: {
- iconIndex: 2, // 鎶樺彔鍥炬爣鏄剧ず鍦ㄧ鍑犲垪
- isPidData: true, // 鏄惁鏄痠d銆乸id褰㈠紡鏁版嵁
- idName: 'id', // id瀛楁鍚嶇О
- pidName: 'parentId' // pid瀛楁鍚嶇О
- },
- cols: [[
- {type: 'checkbox'}
- ,{type: 'numbers'}
- ,{field: 'name', align: 'left',title: '鍚嶇О', minWidth: 150}
- ]],
- done: function (data) {
- modelTb.expandAll();
- }
- });
+ var tableMerge = layui.tableMerge;
+ var tableX = layui.tableX;
insTb2 = table.render({
- elem: '#sensorTable',
+ elem: '#orderDetlTable',
headers: {token: localStorage.getItem('token')},
- url: baseUrl+'/sensor/list/auth?sensor_type='+sensorType,
+ url: baseUrl+'/orderDetl/pakout/list/auth',
page: true,
limit: 15,
limits: [15, 30, 50, 100, 200, 500],
- toolbar: '#sensorToolbar',
- height: 'full-100',
+ toolbar: '#orderDetToolbar',
+ height: 'full-120',
+ where: {order_id: 9999999999},
cols: [[
{type: 'checkbox'}
- // ,{field: 'id', align: 'center',title: 'ID'}
- ,{field: 'hostId$', align: 'center',title: '鎵�灞為」鐩�', templet: '#hostTpl', width: 130}
- // ,{field: 'sensorType$', align: 'center',title: '璁惧绫诲瀷'}
- ,{field: 'uuid', align: 'center',title: '璁惧缂栫爜', width: 160}
- ,{field: 'location', align: 'center',title: '鍦扮悊浣嶇疆', width: 180, style: 'font-size: 13px', hide: false}
- ,{field: 'sensorModel$', align: 'center',title: '璁惧鍨嬪彿', width: 130, hide: false}
- // ,{field: 'ccid', align: 'center',title: 'CCID'}
- ,{field: 'sim', align: 'center',title: 'sim鍗″彿',hide: true}
- // ,{field: 'name', align: 'center',title: '璁惧鍚�'}
- // ,{field: 'topic', align: 'center',title: '涓婚'}
- // ,{field: 'ip', align: 'center',title: 'ip'}
- // ,{field: 'port', align: 'center',title: '绔彛'}
- // ,{field: 'data', align: 'center',title: '鎶ユ枃'}
- // ,{field: 'lon', align: 'center',title: '缁忓害'}
- // ,{field: 'lat', align: 'center',title: '绾害'}
- ,{field: 'signal', align: 'center',title: '淇″彿鍊�'}
- ,{field: 'battery', align: 'center',title: '鐢甸噺',hide: true}
- // ,{field: 'charge$', align: 'center',title: '鍏呯數鐘舵��'}
- // ,{field: 'tiltX', align: 'center',title: 'x杞村�炬枩'}
- // ,{field: 'tiltY', align: 'center',title: 'y杞村�炬枩'}
- // ,{field: 'tiltZ', align: 'center',title: 'z杞村�炬枩'}
- // ,{field: 'tilt$', align: 'center',title: '鍊炬枩鐘舵��'}
- ,{field: 'tempe', align: 'center',title: '娓╁害', hide: true}
- ,{
- field: 'online', title: '缃戠粶', templet: function (d) {
- var strs = [
- '<span class="text-success">鍦ㄧ嚎</span>',
- '<span class="text-danger">绂荤嚎</span>'
- ];
- return strs[d.online?0:1];
- }, align: 'center', sort: true
- }
- ,{
- field: 'error', title: '鐘舵��', templet: function (d) {
- var strs = [
- '<span class="layui-badge layui-badge-red">寮傚父</span>',
- '<span class="layui-badge layui-badge-green">姝e父</span>'
- ];
- return strs[d.error?0:1];
- }, align: 'center', sort: false, minWidth: 70, hide: false
- }
- // ,{field: 'worn$', align: 'center',title: '鐮存崯鐘舵��'}
- // ,{field: 'overflow$', align: 'center',title: '瀹氱偣姘翠綅'}
- // ,{field: 'nsAngle', align: 'center',title: '鍗楀寳瑙掑害'}
- // ,{field: 'waterGage', align: 'center',title: '绠¢亾姘村帇'}
- // ,{field: 'harmGas', align: 'center',title: '鏈夊姘斾綋'}
- // ,{field: 'lnGas', align: 'center',title: '鍙噧姘斾綋'}
- // ,{field: 'hsGas', align: 'center',title: '纭寲姘㈡皵浣�'}
- // ,{field: 'reserve0', align: 'center',title: '棰勭暀0'}
- // ,{field: 'reserve1', align: 'center',title: '棰勭暀1'}
- // ,{field: 'status$', align: 'center',title: '鐘舵��', templet: '#statusTpl', width: 120, unresize: true}
- // ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'}
+ ,{type: 'numbers', title: '#'}
+ ,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', templet: '#orderNoTpl', width: 160}
+ ,{field: 'matnr', align: 'center',title: '鍟嗗搧缂栫爜', width: 160}
+ ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О', width: 200}
+ ,{field: 'batch', align: 'center',title: '搴忓垪鐮�'}
+ ,{field: 'specs', align: 'center',title: '瑙勬牸'}
+ // ,{field: 'anfme', align: 'center',title: '鏁伴噺'}
+ // ,{field: 'qty', align: 'center',title: '浣滀笟鏁伴噺', style: 'font-weight: bold'}
+ ,{field: 'enableQty', align: 'center',title: '寰呭嚭鏁伴噺', style: 'font-weight: bold'}
+ // ,{field: 'name', align: 'center',title: '鍚嶇О'}
+ // ,{field: 'model', align: 'center',title: '鍨嬪彿'}
+ ,{field: 'unit', align: 'center',title: '鍗曚綅', hide: true}
+ ,{field: 'barcode', align: 'center',title: '鍟嗗搧鏉$爜', hide: true}
+ // ,{field: 'supplier', align: 'center',title: '渚涘簲鍟�'}
+ // ,{field: 'unitPrice', align: 'center',title: '鍗曚环'}
+ // ,{field: 'itemNum', align: 'center',title: '鍝侀」鏁�'}
+ // ,{field: 'count', align: 'center',title: '鏁伴噺'}
+ // ,{field: 'weight', align: 'center',title: '閲嶉噺'}
+ // ,{field: 'status$', align: 'center',title: '鐘舵��'}
// ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳'}
- ,{field: 'updateTime$', align: 'center',title: '鏇存柊鏃堕棿', minWidth: 170}
+ // ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'}
// ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳'}
- ,{field: 'addr', align: 'center',title: '璇︾粏鍦板潃', hide: true}
- ,{field: 'memo', align: 'center',title: '澶囨敞', hide: true}
-
+ // ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'}
+ // ,{field: 'memo', align: 'center',title: '澶囨敞'}
,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width: 160}
]],
request: {
@@ -129,11 +75,11 @@
if (res.code === 403) {
top.location.href = baseUrl+"/";
}
- tableData = table.cache.sensorTable;
pageCurr=curr;
limit();
}
});
+
/* 琛ㄦ牸2鎼滅储 */
form.on('submit(sensorTbSearch)', function (data) {
insTb2.reload({where: data.field, page: {curr: 1}});
@@ -141,9 +87,17 @@
});
/* 琛ㄦ牸2澶村伐鍏锋爮鐐瑰嚮浜嬩欢 */
- table.on('toolbar(sensorTable)', function (obj) {
- if (obj.event === 'add') { // 娣诲姞
- showEditModel()
+ table.on('toolbar(orderDetlTable)', function (obj) {
+
+ var checkStatus = table.checkStatus(obj.config.id).data;
+ if (obj.event === 'pakoutPreview') { // 娣诲姞
+ if (checkStatus.length === 0) {
+ layer.msg('璇烽�夋嫨鑷冲皯涓�鏉″嚭搴撴槑缁�', {icon: 2});
+ return;
+ }
+ pakoutPreview(checkStatus.map(function (d) {
+ return d.id;
+ }));
} else if (obj.event === 'del') { // 鍒犻櫎
var checkRows = table.checkStatus('sensorTable');
if (checkRows.data.length === 0) {
@@ -158,140 +112,198 @@
});
/* 琛ㄦ牸2宸ュ叿鏉$偣鍑讳簨浠� */
- table.on('tool(sensorTable)', function (obj) {
+ table.on('tool(orderDetlTable)', function (obj) {
+ console.log(obj);
var data = obj.data;
switch (obj.event) {
- case 'detl':
- top.sensorByDetl = data.id;
+ // 鍑哄簱
+ case 'pakoutPreview':
+ pakoutPreview([data.id])
break;
- // 缂栬緫
- case 'edit':
- showEditModel(data);
- break;
- // 鍒犻櫎
- case 'del':
- var ids = [data.id];
- doDelSensor({ids: ids});
- break;
- // 鍩虹偣瀹氫綅
- case 'lbs':
- notice.msg('璇锋眰涓�...', {icon: 4, position: "topCenter"});
- var param = {
- uuid: data.uuid,
- event: obj.event
- };
- $.ajax({
- url: baseUrl+"/main/command/v1/auth",
- headers: {'token': localStorage.getItem('token')},
- data: JSON.stringify(param),
- contentType:'application/json;charset=UTF-8',
- method: 'POST',
- success: function (res) {
- notice.destroy();
- if (res.code === 200){
- admin.open({
- title: '缁堢鍝嶅簲',
- url: 'callback.html',
- area: '360px',
- data: {
- request: param,
- response: res.data
- },
- tpl: true
- });
- } else if (res.code === 403){
- top.location.href = baseUrl+"/";
- }else {
- layer.msg(res.msg, {icon: 2});
- }
- }
- })
- break
}
});
- // 璁惧鏄庣粏灞曞紑鍥炶皟
- window.onSensorDetlDialog = function () {
- };
-
-
- /* 鏄剧ず琛ㄥ崟寮圭獥 */
- function showEditModel(mData) {
- admin.open({
- type: 1,
- area: '900px',
- title: (mData ? '淇敼' : '娣诲姞') + '璁惧',
- content: $('#editDialog').html(),
- success: function (layero, dIndex) {
- // 鍥炴樉琛ㄥ崟鏁版嵁
- form.val('detail', mData);
- // 鍦板浘瀹氫綅鍥炴樉
- if (mData) {
- setTimeout(function () {
- $("#mapIframe")[0].contentWindow.position(mData.lon, mData.lat);
- }, 500)
- }
- // 琛ㄥ崟鎻愪氦浜嬩欢
- form.on('submit(editSubmit)', function (data) {
- data.field.sensorModel = insXmSel.getValue('valueStr');
- if (isEmpty(data.field.hostId)) {
- layer.msg('璇烽�夋嫨鎵�灞為」鐩�', {icon: 2});
- return false;
- }
- data.field.lon = $("#mapIframe").contents().find("#lon").val();
- data.field.lat = $("#mapIframe").contents().find("#lat").val();
- data.field.city = $("#mapIframe").contents().find("#city").val();
- if (isEmpty(data.field.lon) || isEmpty(data.field.lat)) {
- layer.msg('璁惧涓嶅湪瀹氫綅', {icon: 2});
- return false;
- }
- var loadIndex = layer.load(2);
- $.ajax({
- url: baseUrl+"/sensor/"+(mData?'update':'add')+"/auth?sensorType="+sensorType,
- headers: {'token': localStorage.getItem('token')},
- data: data.field,
- method: 'POST',
- success: function (res) {
- layer.close(loadIndex);
- if (res.code === 200){
- layer.close(dIndex);
- layer.msg(res.msg, {icon: 1});
- $(".layui-laypage-btn")[0].click();
- } else if (res.code === 403){
- top.location.href = baseUrl+"/";
- }else {
- layer.msg(res.msg, {icon: 2});
+ function pakoutPreview(ids) {
+ let loadIndex = layer.load(2);
+ console.log("1111")
+ $.ajax({
+ url: baseUrl + "/out/pakout/preview/auth",
+ headers: {'token': localStorage.getItem('token')},
+ contentType: 'application/json;charset=UTF-8',
+ data: JSON.stringify(ids),
+ method: 'POST',
+ success: function (res) {
+ layer.close(loadIndex);
+ var tableCache;
+ if (res.code === 200){
+ layer.open({
+ type: 1
+ ,title: false
+ ,closeBtn: false
+ ,offset: '50px'
+ ,area: ['1200px', '700px']
+ ,shade: 0.5
+ ,shadeClose: false
+ ,btn: ['绔嬪嵆鍑哄簱', '绋嶅悗澶勭悊']
+ ,btnAlign: 'c'
+ ,moveType: 1 //鎷栨嫿妯″紡锛�0鎴栬��1
+ ,content: $('#pakoutPreviewBox').html()
+ ,success: function(layero, index){
+ stoPreTabIdx = table.render({
+ elem: '#stoPreTab',
+ data: res.data,
+ height: 520,
+ page: false,
+ limit: Number.MAX_VALUE,
+ cellMinWidth: 100,
+ cols: [[
+ // {type: 'checkbox', merge: ['orderNo']},
+ {field: 'orderNo', title: '鍗曟嵁缂栧彿', merge: true, align: 'center'},
+ {field: 'title', title: '鍟嗗搧', merge: true, align: 'center', width: 350},
+ {field: 'batch', title: '搴忓垪鐮�', align: 'center'},
+ {field: 'anfme', title: '鏁伴噺', align: 'center', width: 90, style: 'font-weight: bold'},
+ {field: 'locNo', title: '璐т綅', align: 'center', width: 100, templet: '#locNoTpl'},
+ {field: 'staNos', align: 'center', title: '鍑哄簱绔�', merge: ['locNo'], templet: '#tbBasicTbStaNos'},
+ //{field: 'staState', title: '鐘舵��', align: 'center'},
+ {type: 'checkbox', merge: ['locNo']},
+ ]],
+ done: function (res) {
+ tableMerge.render(this);
+ $('.layui-table-body.layui-table-main').css("overflow", "auto");
+ tableCache = tableData = table.cache.stoPreTab;
+ }
+ });
+ // 淇敼鍑哄簱绔�
+ form.on('select(tbBasicTbStaNos)', function (obj) {
+ let index = obj.othis.parents('tr').attr("data-index");
+ let data = tableCache[index];
+ for (let i = 0; i<tableCache.length; i++) {
+ if (tableCache[i].locNo === data.locNo) {
+ tableCache[i]['staNo'] = Number(obj.elem.value);
+ }
+ }
+ obj.othis.children().find("input").css("color", "blue");
+ return false;
+ });
+ // 鎵归噺淇敼鍑哄簱绔�
+ form.on('submit(batchModifySta)', function () {
+ let stoPreTabData = layui.table.checkStatus('stoPreTab').data;
+ if (stoPreTabData.length < 1) {
+ layer.msg("璇疯嚦灏戦�夋嫨涓�鏉′互涓婂悎骞舵暟鎹�", {icon: 7});
+ return false;
+ }
+ modifySta(stoPreTabData);
+ });
+ // 鎵归噺淇敼鍑哄簱绔� - 绔欑偣閫夋嫨
+ function modifySta(stoPreTabData) {
+ // 鍑哄簱绔欏彇浜ら泦
+ let staBatchSelectVal = [];
+ for(let i = 0; i<stoPreTabData.length; i++) {
+ let staNos = stoPreTabData[i].staNos;
+ if (staNos !== null) {
+ if (staBatchSelectVal.length === 0) {
+ staBatchSelectVal = staNos;
+ } else {
+ staBatchSelectVal = staBatchSelectVal.filter(val =>
+ {
+ return new Set(staNos).has(val)
+ }
+ )
+ }
+ }
+ }
+ if (staBatchSelectVal.length === 0) {
+ layer.msg("鍑哄簱绔欐病鏈変氦闆嗭紝鏃犳硶鎵归噺淇敼", {icon: 2});
+ return;
+ }
+ admin.open({
+ type: 1,
+ area: '300px',
+ offset: 'auto',
+ title: '璇烽�夋嫨绔欑偣',
+ content: $('#staBatchSelectDialog').html(),
+ success: function (layero, ddIndex) {
+ // 娓叉煋涓嬫媺妗�
+ let template = Handlebars.compile($('#batchStaSelectTpl').html());
+ $('#batchSelectStaBox').html(template({list: staBatchSelectVal}));
+ // 纭
+ form.on('submit(staBatchSelectConfirm)', function (obj) {
+ let loadIdx = layer.load(2);
+ let batchSta = Number(obj.field.batchSta);
+ let arr = [];
+ for (let j = 0; j<stoPreTabData.length; j++) {
+ for (let i = 0; i<tableCache.length; i++) {
+ if (tableCache[i].orderNo === stoPreTabData[j].orderNo
+ && tableCache[i].matnr === stoPreTabData[j].matnr
+ && tableCache[i].locNo === stoPreTabData[j].locNo) {
+ tableCache[i]['staNo'] = batchSta;
+ arr.push(i);
+ }
+ }
+ }
+ stoPreTabIdx.reload({data: tableCache});
+ arr.forEach(item => {
+ $('div[lay-id=stoPreTab] tr[data-index="' + item + '"] .order-sta-select').val(batchSta);
+ });
+ layui.form.render('select');
+ arr.forEach(item => {
+ $('div[lay-id=stoPreTab] tr[data-index="' + item + '"] .layui-select-title').find("input").css("color", "blue");
+ });
+ layer.close(loadIdx); layer.close(ddIndex);
+ return false;
+ });
+ // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯
+ $(layero).children('.layui-layer-content').css('overflow', 'visible');
+ layui.form.render('select');
+ },
+ })
}
+
}
- })
- return false;
- });
- // 娓叉煋涓嬫媺鏍�
- var insXmSel = xmSelect.render({
- el: '#modelSel',
- height: '250px',
- data: modelTb.options.data,
- initValue: mData&&mData.sensorModel ? [mData.sensorModel] : [],
- model: {label: {type: 'text'}},
- prop: {
- name: 'name',
- value: 'id'
- },
- radio: true,
- clickClose: true,
- tree: {
- show: true,
- indent: 15,
- strict: false,
- expandedKeys: true
- }
- });
- // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯
- $(layero).children('.layui-layer-content').css('overflow', 'visible');
- layui.form.render('select');
+ ,yes: function(index, layero){
+ //鎸夐挳銆愮珛鍗冲嚭搴撱�戠殑鍥炶皟
+ pakout(tableCache, index);
+ }
+ ,btn2: function(index, layero){
+ //鎸夐挳銆愮◢鍚庡鐞嗐�戠殑鍥炶皟
+ layer.close(index)
+ //return false 寮�鍚浠g爜鍙姝㈢偣鍑昏鎸夐挳鍏抽棴
+ }
+ });
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2})
+ }
+ }
+ })
+ }
+
+ function pakout(tableCache, layerIndex) {
+ // let loadIndex = layer.load(2);
+ notice.msg('姝e湪鐢熸垚鍑哄簱浠诲姟......', {icon: 4});
+ $.ajax({
+ url: baseUrl + "/out/pakout/auth",
+ headers: {'token': localStorage.getItem('token')},
+ contentType: 'application/json;charset=UTF-8',
+ data: JSON.stringify(tableCache),
+ method: 'POST',
+ success: function (res) {
+ notice.destroy();
+ if (res.code === 200) {
+ layer.close(layerIndex);
+ layer.msg(res.msg, {icon: 1});
+ insTb.reload({where: null});
+ insTb2.reload({where: null, page: {curr: 1}});
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/";
+ } else {
+ layer.msg(res.msg, {icon: 2})
+ }
}
});
}
+
/* 鍒犻櫎璁㈠崟 */
@@ -333,6 +345,8 @@
})
})
+ window.pakoutPreview = pakoutPreview;
+
});
function tableReload(child) {
@@ -348,3 +362,25 @@
});
}
+/**
+ * 涓�閿嚭搴�
+ */
+function autoOut(orderId) {
+ let loadIndex = layer.msg('璇锋眰涓�...', {icon: 16, shade: 0.01, time: false});
+ $.ajax({
+ url: baseUrl + "/out/pakout/orderDetlIds/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: { orderId : orderId },
+ method: 'POST',
+ success: function (res) {
+ layer.close(loadIndex);
+ if (res.code === 200){
+ pakoutPreview(res.data);
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ })
+}
--
Gitblit v1.9.1