From bd261458eee547abe546aa02b66a35ab511f59a1 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期二, 31 十月 2023 10:55:58 +0800
Subject: [PATCH] #
---
src/main/webapp/static/js/saasPakStore/stockOut.js | 177 +++++
src/main/webapp/static/js/saasPakStore/emptyIn.js | 62 +
src/main/webapp/views/saasPakStore/matQuery.html | 173 ++++
src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java | 3
src/main/webapp/views/saasRule/locRule.html | 197 +++++
src/main/webapp/static/js/saasPakStore/locCheckOut.js | 163 ++++
src/main/webapp/static/js/saasPakStore/pakStore.js | 202 +++++
src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java | 1
src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java | 26
src/main/webapp/static/js/saasPakStore/stockAdjust.js | 247 +++++++
src/main/java/com/zy/asrs/mapper/ManLocDetlMapper.java | 2
src/main/resources/mapper/ManLocDetlMapper.xml | 2
src/main/webapp/static/js/saasPakStore/locMove.js | 137 +++
src/main/webapp/static/js/saasPakStore/emptyOut.js | 204 +++++
src/main/webapp/static/js/saasLocRule/locRule.js | 276 +++++++
src/main/webapp/views/saasPakStore/stockAdjust.html | 2
src/main/resources/application.yml | 1
src/main/webapp/views/locRule/locCodeRule.html | 203 +++++
18 files changed, 2,073 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/ManLocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/ManLocDetlMapper.java
index f0ad47e..580d2e6 100644
--- a/src/main/java/com/zy/asrs/mapper/ManLocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/ManLocDetlMapper.java
@@ -30,7 +30,7 @@
Integer getStockOutPageCount(Map<String, Object> map);
- @Update("update asr_loc_detl set loc_no = #{newLocNo}, modi_time=getDate() where loc_no = #{oldLocNo}")
+ @Update("update man_loc_detl set loc_no = #{newLocNo}, modi_time=getDate() where loc_no = #{oldLocNo}")
int updateLocNo(String newLocNo, String oldLocNo);
@Select("SELECT ld.loc_no FROM asr_loc_detl ld LEFT JOIN asr_loc_mast lm ON ld.loc_no = lm.loc_no WHERE (1 = 1 AND ld.matnr = #{matnr} AND (lm.row1 >= #{start} AND lm.row1 <= #{end}) AND lm.loc_sts = 'F' AND DateDiff(dd, lm.appe_time, getdate()) = 0) ORDER BY lm.appe_time ASC")
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
index 940d621..35730ae 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
@@ -165,7 +165,6 @@
if(agvWrkMast.getSourceLocNo().contains("C")){
agvTaskkDescribeParam.setFromLocationCode(agvWrkMast.getSourceLocNo());
}
- agvTaskkDescribeParam.setFromLocationCode(agvWrkMast.getSourceLocNo());
agvTaskkDescribeParam.setToLocationCode(agvWrkMast.getLocNo());
agvTaskkDescribeParam.setContainerCode(agvWrkMast.getBarcode());
return agvTaskParam;
diff --git a/src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java
index 99ab58f..2d675d6 100644
--- a/src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java
@@ -19,6 +19,7 @@
import com.zy.asrs.utils.SaasUtils;
import com.zy.common.model.LocDto;
import com.zy.system.entity.User;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -155,6 +156,12 @@
Date now = new Date();
for (LocDetlAdjustParam.LocDetlAdjust locDetlAdjust : param.getList()) {
ManLocDetl manLocDetl = this.baseMapper.selectItem(param.getLocNo(), locDetlAdjust.getMatnr(), locDetlAdjust.getBatch());
+
+ if(Cools.isEmpty(manLocDetl)){
+ addManlocDetl(locDetlAdjust,param.getLocNo());
+ continue;
+ }
+
this.baseMapper.delete(new EntityWrapper<ManLocDetl>()
.eq("loc_no", param.getLocNo()).eq("matnr",locDetlAdjust.getMatnr()));
Mat mat = matService.selectOne(new EntityWrapper<Mat>()
@@ -236,4 +243,23 @@
}
}
+ private void addManlocDetl(LocDetlAdjustParam.LocDetlAdjust param, String locNo){
+ Date now = new Date();
+ ManLocDetl manLocDetl = new ManLocDetl();
+ Node node = nodeService.selectOne(new EntityWrapper<Node>().eq("name", locNo));
+ Mat mat = matService.selectByMatnr(param.getMatnr());
+ BeanUtils.copyProperties(mat,manLocDetl);
+ manLocDetl.setNodeId(node.getId());
+ manLocDetl.setBatch(param.getBatch());
+ manLocDetl.setAnfme(param.getCount());
+ manLocDetl.setContainerCode(param.getSuppCode());
+ manLocDetl.setCsocode(param.getThreeCode());
+ manLocDetl.setIsoseq(param.getDeadTime());
+ manLocDetl.setCreateTime(now);
+ manLocDetl.setModiTime(now);
+ manLocDetl.setLocNo(locNo);
+ manLocDetl.setStatus(1);
+ this.insert(manLocDetl);
+ }
+
}
diff --git a/src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java
index 323374f..dfe98c9 100644
--- a/src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java
@@ -25,7 +25,8 @@
@Override
public List<ManPakOut> selectByLocType(String locType) {
- return this.selectList(new EntityWrapper<ManPakOut>().like("loc_no",locType).eq("status",1));
+ return this.selectList(new EntityWrapper<ManPakOut>().like("loc_no",locType+"-")
+ .andNew().eq("status",0).or().eq("status",8));
}
@Override
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 029db91..92e90ad 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -85,3 +85,4 @@
u8:
url: http://192.168.1.55:8010
orderReportPath: /api/RdAudit
+
diff --git a/src/main/resources/mapper/ManLocDetlMapper.xml b/src/main/resources/mapper/ManLocDetlMapper.xml
index 76e1bff..046561c 100644
--- a/src/main/resources/mapper/ManLocDetlMapper.xml
+++ b/src/main/resources/mapper/ManLocDetlMapper.xml
@@ -45,7 +45,7 @@
and mld.loc_no like concat('%',#{loc_no},'%')
</if>
<if test="locNo != null and locNo != ''">
- and mld.loc_no like concat('%',#{loc_no},'%')
+ and mld.loc_no like concat('%',#{locNo},'%')
</if>
<if test="matnr != null and matnr != ''">
and mld.matnr like concat('%',#{matnr},'%')
diff --git a/src/main/webapp/static/js/saasLocRule/locRule.js b/src/main/webapp/static/js/saasLocRule/locRule.js
new file mode 100644
index 0000000..1089ff5
--- /dev/null
+++ b/src/main/webapp/static/js/saasLocRule/locRule.js
@@ -0,0 +1,276 @@
+var pageCurr;
+layui.config({
+ base: baseUrl + "/static/layui/lay/modules/"
+}).use(['table','laydate', 'form', 'admin'], function(){
+ var table = layui.table;
+ var $ = layui.jquery;
+ var layer = layui.layer;
+ var layDate = layui.laydate;
+ var form = layui.form;
+ var admin = layui.admin;
+
+ // 鏁版嵁娓叉煋
+ tableIns = table.render({
+ elem: '#locRule',
+ headers: {token: localStorage.getItem('token')},
+ url: baseUrl+'/locRule/list/auth',
+ page: true,
+ limit: 15,
+ limits: [15, 30, 50, 100, 200, 500],
+ toolbar: '#toolbar',
+ cellMinWidth: 50,
+ height: 'full-120',
+ cols: [[
+ {type: 'checkbox'}
+ // ,{field: 'id', align: 'center',title: 'ID'}
+ ,{field: 'matnr', align: 'center',title: '鍟嗗搧缂栧彿'}
+ ,{field: 'specs', align: 'center',title: '瑙勬牸', hide: true}
+ ,{field: 'model', align: 'center',title: '閫氱敤鍨嬪彿', hide: true}
+ ,{field: 'cstmr', align: 'center',title: '瀹㈡埛', hide: true}
+ ,{field: 'batch', align: 'center',title: '鎵瑰彿'}
+ ,{field: 'other', align: 'center',title: '鍏朵粬', hide: true}
+ ,{field: 'rowBeg', align: 'center',title: '寮�濮嬫帓'}
+ ,{field: 'rowEnd', align: 'center',title: '缁撴潫鎺�'}
+ ,{field: 'bayBeg', align: 'center',title: '寮�濮嬪垪'}
+ ,{field: 'bayEnd', align: 'center',title: '缁撴潫鍒�'}
+ ,{field: 'levBeg', align: 'center',title: '寮�濮嬪眰'}
+ ,{field: 'levEnd', align: 'center',title: '缁撴潫灞�'}
+ ,{field: 'limit', align: 'center',title: '涓婇檺', hide: true}
+ ,{field: 'status$', align: 'center',title: '鐘舵��', hide: true}
+ ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳', hide: true}
+ ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿', hide: true}
+ ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳', hide: true}
+ ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿', hide: true}
+ ,{field: 'memo', align: 'center',title: '澶囨敞', hide: true}
+ ,{field: 'mixed$', align: 'center',title: '娣疯浇'}
+ // ,{field: 'keepGo$', align: 'center',title: '缁х画鎼滅储'}
+
+ ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120}
+ ]],
+ request: {
+ pageName: 'curr',
+ pageSize: 'limit'
+ },
+ parseData: function (res) {
+ return {
+ 'code': res.code,
+ 'msg': res.msg,
+ 'count': res.data.total,
+ 'data': res.data.records
+ }
+ },
+ response: {
+ statusCode: 200
+ },
+ done: function(res, curr, count) {
+ if (res.code === 403) {
+ top.location.href = baseUrl+"/";
+ }
+ pageCurr=curr;
+ limit();
+ }
+ });
+
+ // 鐩戝惉鎺掑簭浜嬩欢
+ table.on('sort(locRule)', function (obj) {
+ var searchData = {};
+ $.each($('#search-box [name]').serializeArray(), function() {
+ searchData[this.name] = this.value;
+ });
+ searchData['orderByField'] = obj.field;
+ searchData['orderByType'] = obj.type;
+ tableIns.reload({
+ where: searchData,
+ page: {curr: 1}
+ });
+ });
+
+ // 鐩戝惉澶村伐鍏锋爮浜嬩欢
+ table.on('toolbar(locRule)', function (obj) {
+ var checkStatus = table.checkStatus(obj.config.id).data;
+ switch(obj.event) {
+ case 'addData':
+ showEditModel();
+ break;
+ case 'deleteData':
+ if (checkStatus.length === 0) {
+ layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
+ return;
+ }
+ del(checkStatus.map(function (d) {
+ return d.id;
+ }));
+ break;
+ case 'exportData':
+ admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
+ var titles=[];
+ var fields=[];
+ obj.config.cols[0].map(function (col) {
+ if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
+ titles.push(col.title);
+ fields.push(col.field);
+ }
+ });
+ var exportData = {};
+ $.each($('#search-box [name]').serializeArray(), function() {
+ exportData[this.name] = this.value;
+ });
+ var param = {
+ 'locRule': exportData,
+ 'fields': fields
+ };
+ $.ajax({
+ url: baseUrl+"/locRule/export/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: JSON.stringify(param),
+ dataType:'json',
+ contentType:'application/json;charset=UTF-8',
+ method: 'POST',
+ success: function (res) {
+ layer.closeAll();
+ if (res.code === 200) {
+ table.exportFile(titles,res.data,'xls');
+ } else if (res.code === 403) {
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2})
+ }
+ }
+ });
+ });
+ break;
+ }
+ });
+
+ // 鐩戝惉琛屽伐鍏蜂簨浠�
+ table.on('tool(locRule)', function(obj){
+ var data = obj.data;
+ switch (obj.event) {
+ case 'edit':
+ showEditModel(data);
+ break;
+ case "del":
+ del([data.id]);
+ break;
+ }
+ });
+
+ /* 寮圭獥 - 鏂板銆佷慨鏀� */
+ function showEditModel(mData) {
+ admin.open({
+ type: 1,
+ area: '1000px',
+ title: (mData ? '淇敼' : '娣诲姞') + '搴撳尯瑙勫垯',
+ content: $('#editDialog').html(),
+ success: function (layero, dIndex) {
+ layDateRender(mData);
+ form.val('detail', mData);
+ form.on('submit(editSubmit)', function (data) {
+ var loadIndex = layer.load(2);
+ $.ajax({
+ url: baseUrl+"/locRule/"+(mData?'update':'add')+"/auth",
+ 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});
+ tableReload();
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ }else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ })
+ return false;
+ });
+ $(layero).children('.layui-layer-content').css('overflow', 'visible');
+ layui.form.render('select');
+ }
+ });
+ }
+
+ /* 鍒犻櫎 */
+ function del(ids) {
+ layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', {
+ skin: 'layui-layer-admin',
+ shade: .1
+ }, function (i) {
+ layer.close(i);
+ var loadIndex = layer.load(2);
+ $.ajax({
+ url: baseUrl+"/locRule/delete/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: {ids: ids},
+ method: 'POST',
+ success: function (res) {
+ layer.close(loadIndex);
+ if (res.code === 200){
+ layer.msg(res.msg, {icon: 1});
+ tableReload();
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ })
+ });
+ }
+
+ // 鎼滅储
+ form.on('submit(search)', function (data) {
+ pageCurr = 1;
+ tableReload(false);
+ });
+
+ // 閲嶇疆
+ form.on('submit(reset)', function (data) {
+ pageCurr = 1;
+ clearFormVal($('#search-box'));
+ tableReload(false);
+ });
+
+ // 鏃堕棿閫夋嫨鍣�
+ function layDateRender(data) {
+ setTimeout(function () {
+ layDate.render({
+ elem: '.layui-laydate-range'
+ ,type: 'datetime'
+ ,range: true
+ });
+ layDate.render({
+ elem: '#createTime\\$',
+ type: 'datetime',
+ value: data!==undefined?data['createTime\\$']:null
+ });
+ layDate.render({
+ elem: '#updateTime\\$',
+ type: 'datetime',
+ value: data!==undefined?data['updateTime\\$']:null
+ });
+
+ }, 300);
+ }
+ layDateRender();
+
+});
+
+// 鍏抽棴鍔ㄤ綔
+$(document).on('click','#data-detail-close', function () {
+ parent.layer.closeAll();
+});
+
+function tableReload(child) {
+ var searchData = {};
+ $.each($('#search-box [name]').serializeArray(), function() {
+ searchData[this.name] = this.value;
+ });
+ tableIns.reload({
+ where: searchData,
+ page: {curr: pageCurr}
+ });
+}
diff --git a/src/main/webapp/static/js/saasPakStore/emptyIn.js b/src/main/webapp/static/js/saasPakStore/emptyIn.js
new file mode 100644
index 0000000..ce508e8
--- /dev/null
+++ b/src/main/webapp/static/js/saasPakStore/emptyIn.js
@@ -0,0 +1,62 @@
+var pageCurr;
+layui.use(['table','laydate', 'form'], function() {
+ var table = layui.table;
+ var $ = layui.jquery;
+ var layer = layui.layer;
+ var layDate = layui.laydate;
+ var form = layui.form;
+
+ getInBound();
+ limit();
+
+ // 鑾峰彇鍏ュ簱鍙�
+ function getInBound(){
+ $.ajax({
+ url: baseUrl+"/agv/available/empty/put/site",
+ headers: {'token': localStorage.getItem('token')},
+ method: 'POST',
+ async: false,
+ success: function (res) {
+ if (res.code === 200){
+ var tpl = $("#putSiteSelectTemplate").html();
+ var template = Handlebars.compile(tpl);
+ var html = template(res);
+ $('#inSiteSelect').append(html);
+ form.render('select');
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ }else {
+ layer.msg(res.msg)
+ }
+ }
+ })
+ }
+
+ // 绌烘澘鍏ュ簱
+ form.on('submit(inbound)', function (data) {
+ var inSite = $('#inSiteSelect').val();
+ layer.confirm('璇风‘淇濊宸ヤ綔浣嶄笂宸叉斁鏈夌┖鏉�', function(){
+ $.ajax({
+ url: baseUrl+"/agv/empty/plate/in/start",
+ headers: {'token': localStorage.getItem('token')},
+ method: 'POST',
+ data: {sourceStaNo: inSite},
+ async: false,
+ success: function (res) {
+ if (res.code === 200){
+ layer.msg("鍏ュ簱鍚姩鎴愬姛锛岀洰鏍囧簱浣嶏細" + res.data);
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ }else {
+ layer.msg(res.msg)
+ }
+ }
+ })
+ });
+
+ });
+
+
+
+})
+
diff --git a/src/main/webapp/static/js/saasPakStore/emptyOut.js b/src/main/webapp/static/js/saasPakStore/emptyOut.js
new file mode 100644
index 0000000..23f2365
--- /dev/null
+++ b/src/main/webapp/static/js/saasPakStore/emptyOut.js
@@ -0,0 +1,204 @@
+var pageCurr;
+
+layui.config({
+ base: baseUrl + "/static/layui/lay/modules/"
+}).use(['table','laydate', 'form', 'admin'], function() {
+ var table = layui.table;
+ var $ = layui.jquery;
+ var layer = layui.layer;
+ var layDate = layui.laydate;
+ var form = layui.form;
+ var admin = layui.admin;
+
+ // 鑾峰彇鍑哄簱鍙�
+ function getOutBound(){
+ // $.ajax({
+ // url: baseUrl+"/agv/available/empty/put/site",
+ // headers: {'token': localStorage.getItem('token')},
+ // method: 'POST',
+ // async: false,
+ // success: function (res) {
+ // if (res.code === 200){
+ // var tpl = $("#takeSiteSelectTemplate").html();
+ // var template = Handlebars.compile(tpl);
+ // var html = template(res);
+ // $('#staNoSelect').append(html);
+ // form.render('select');
+ // } else if (res.code === 403){
+ // top.location.href = baseUrl+"/";
+ // }else {
+ // layer.msg(res.msg)
+ // }
+ // }
+ // })
+ }
+
+ // 鏁版嵁娓叉煋
+ tableIns = table.render({
+ elem: '#locMast',
+ headers: {token: localStorage.getItem('token')},
+ url: baseUrl+'/agv/locMast/list/auth',
+ page: true,
+ limit: 16,
+ limits: [16, 30, 50, 100, 200, 500],
+ where: {loc_sts: "D",floor:$('#floorSelect option:selected').val()},
+ even: true,
+ toolbar: '#toolbar',
+ defaultToolbar: ['filter'],
+ cellMinWidth: 50,
+ cols: [[
+ {type: 'checkbox', fixed: 'left'}
+ ,{field: 'locNo', align: 'center',title: '搴撲綅鍙�',sort:true}
+ ,{field: 'locSts$', align: 'center',title: '搴撲綅鐘舵��',width:200}
+ // ,{field: 'whsType$', align: 'center',title: '搴撲綅绫诲瀷'}
+ ,{field: 'row1', align: 'center',title: '鎺�'}
+ ,{field: 'bay1', align: 'center',title: '鍒�'}
+ ,{field: 'lev1', align: 'center',title: '灞�'}
+ // ,{field: 'fullPlt', align: 'center',title: '婊℃澘', templet:function(row){
+ // var html = "<input value='fullPlt' type='checkbox' disabled=鈥榙isabled鈥� lay-skin='primary' lay-filter='tableCheckbox' table-index='"+row.LAY_TABLE_INDEX+"'";
+ // if(row.fullPlt === 'Y'){html += " checked ";}
+ // html += ">";
+ // return html;
+ // },width:80}
+ ,{field: 'modiUser$', align: 'center',title: '淇敼浜哄憳',event: 'modiUser'}
+ ,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿'}
+ ]],
+ request: {
+ pageName: 'curr',
+ pageSize: 'limit'
+ },
+ parseData: function (res) {
+ return {
+ 'code': res.code,
+ 'msg': res.msg,
+ 'count': res.data.total,
+ 'data': res.data.records
+ }
+ },
+ response: {
+ statusCode: 200
+ },
+ done: function(res, curr, count) {
+ if (res.code === 403) {
+ top.location.href = baseUrl+"/";
+ }
+ pageCurr=curr;
+ getOutBound();
+ limit();
+ form.on('checkbox(tableCheckbox)', function (data) {
+ var _index = $(data.elem).attr('table-index')||0;
+ if(data.elem.checked){
+ res.data[_index][data.value] = 'Y';
+ }else{
+ res.data[_index][data.value] = 'N';
+ }
+ });
+ }
+ });
+
+ // 鐩戝惉澶村伐鍏锋爮浜嬩欢
+ table.on('toolbar(locMast)', function (obj) {
+ var data = table.checkStatus(obj.config.id).data;
+ switch (obj.event) {
+ case 'outbound':
+ var staNo = $("#staNoSelect").val();
+ if (staNo === "" || staNo === null){
+ layer.msg("璇烽�夋嫨鍑哄簱鍙�");
+ return;
+ }
+ var locNos = [];
+ data.forEach(function(elem) {
+ locNos.push(elem.locNo);
+ });
+ if (data.length === 0){
+ layer.msg('璇疯嚦灏戦�変腑涓�琛屾暟鎹�');
+ } else {
+ $.ajax({
+ url: baseUrl+"/agv/empty/plate/out/start",
+ headers: {'token': localStorage.getItem('token')},
+ data: {
+ stationCode: staNo,
+ locNos: locNos
+ },
+ method: 'POST',
+ traditional:true,
+ success: function (res) {
+ if (res.code === 200){
+ tableReload(); // 閲嶈浇琛ㄦ牸
+ getOutBound(); // 閲嶈浇鍑哄簱鍙�
+ layer.msg(res.msg);
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg)
+ }
+ }
+ });
+ }
+ break;
+ }
+ });
+
+ function changeStation(){
+ var floor = $('#floorSelect option:selected').val();
+ $('#staNoSelect').empty();
+ if(floor == 1){
+ $('#staNoSelect').append("<option value=CS-101>CS-101</option>");
+ $('#staNoSelect').append("<option value=CS-102>CS-102</option>")
+ }
+ if(floor == 3){
+ $('#staNoSelect').append("<option value=CS-305>CS-305</option>");
+ $('#staNoSelect').append("<option value=CS-306>CS-306</option>")
+ $('#staNoSelect').append("<option value=CS-307>CS-307</option>")
+ }
+ form.render();
+ }
+
+ // 鎼滅储鏍忔悳绱簨浠�
+ form.on('submit(search)', function (data) {
+ pageCurr = 1;
+ $('#detlTable').css("display", 'none');
+ tableReload(false);
+ getOutBound();
+ changeStation();
+ });
+
+ // 鎼滅储鏍忛噸缃簨浠�
+ form.on('submit(reset)', function (data) {
+ pageCurr = 1;
+ clearFormVal($('#search-box'));
+ $('#detlTable').css("display", 'none');
+ tableReload(false);
+ getOutBound();
+ });
+
+})
+
+function tableReload(child) {
+ var searchData = {};
+ $.each($('#search-box [name]').serializeArray(), function() {
+ searchData[this.name] = this.value;
+ });
+ (child ? parent.tableIns : tableIns).reload({
+ where: searchData,
+ page: {
+ curr: pageCurr
+ },
+ done: function (res, curr, count) {
+ if (res.code === 403) {
+ top.location.href = baseUrl+"/";
+ }
+ pageCurr=curr;
+ if (res.data.length === 0 && count !== 0) {
+ tableIns.reload({
+ where: searchData,
+ page: {
+ curr: pageCurr-1
+ }
+ });
+ pageCurr -= 1;
+ }
+ limit(child);
+ }
+ });
+}
diff --git a/src/main/webapp/static/js/saasPakStore/locCheckOut.js b/src/main/webapp/static/js/saasPakStore/locCheckOut.js
new file mode 100644
index 0000000..ecdc2cc
--- /dev/null
+++ b/src/main/webapp/static/js/saasPakStore/locCheckOut.js
@@ -0,0 +1,163 @@
+var locDetlLayerIdx;
+var tableIns;
+var form;
+var locDetlData = [];
+function getCol() {
+ var cols = [
+ {field: 'locNo', align: 'center',title: '搴撲綅鍙�', merge: true, style: 'font-weight: bold'}
+ ,{field: 'anfme', align: 'center',title: '鏁伴噺'}
+ ];
+ arrRemove(detlCols, 'field', 'zpallet');
+ cols.push.apply(cols, detlCols);
+ return cols;
+}
+
+layui.config({
+ base: baseUrl + "/static/layui/lay/modules/"
+}).use(['table','laydate', 'form', 'admin', 'tableMerge'], function() {
+ var table = layui.table;
+ var $ = layui.jquery;
+ var layer = layui.layer;
+ var layDate = layui.laydate;
+ form = layui.form;
+ var admin = layui.admin;
+ var tableMerge = layui.tableMerge;
+
+ tableIns = table.render({
+ elem: '#chooseData',
+ headers: {token: localStorage.getItem('token')},
+ data: [],
+ even: true,
+ toolbar: '#toolbar',
+ cellMinWidth: 50,
+ cols: [getCol()],
+ done: function(res, curr, count) {
+ tableMerge.render(this);
+ limit();
+ getOutBound();
+ }
+ });
+
+ // 鐩戝惉澶村伐鍏锋爮浜嬩欢
+ table.on('toolbar(chooseData)', function (obj) {
+ switch (obj.event) {
+ case 'outbound':
+ if (locDetlData.length === 0){
+ layer.msg('璇峰厛娣诲姞鐩樼偣搴撳瓨', {icon: 2});
+ } else {
+ var staNo = $("#staNoSelect").val();
+ if (staNo === "" || staNo === null){
+ layer.msg("璇烽�夋嫨鐩樼偣绔�", {icon: 2});
+ return;
+ }
+ let param = {
+ station: staNo,
+ locDetls: locDetlData
+ }
+ $.ajax({
+ url: baseUrl+"/agv/locCheck/out/start",
+ headers: {'token': localStorage.getItem('token')},
+ data: JSON.stringify(param),
+ contentType:'application/json;charset=UTF-8',
+ method: 'POST',
+ success: function (res) {
+ if (res.code === 200){
+ locDetlData = [];
+ tableIns.reload({data: locDetlData});
+ layer.msg(res.msg, {icon: 1});
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2})
+ }
+ }
+ });
+ }
+ break;
+ }
+ });
+
+ // 鑾峰彇鍑哄簱鍙�
+ function getOutBound(){
+ $.ajax({
+ url: baseUrl+"/available/take/check/site",
+ headers: {'token': localStorage.getItem('token')},
+ method: 'POST',
+ async: false,
+ success: function (res) {
+ if (res.code === 200){
+ var tpl = $("#takeSiteSelectTemplate").html();
+ var template = Handlebars.compile(tpl);
+ var html = template(res);
+ $('#staNoSelect').append(html);
+ form.render('select');
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ }else {
+ layer.msg(res.msg)
+ }
+ }
+ })
+ }
+
+ $(document).on('click','#mat-query', function () {
+ let loadIndex = layer.msg('璇锋眰涓�...', {icon: 16, shade: 0.01, time: false});
+ locDetlLayerIdx = layer.open({
+ type: 2,
+ title: false,
+ closeBtn: false,
+ maxmin: false,
+ area: ['90%', '85%'],
+ shadeClose: true,
+ content: 'locDetlCheckQuery.html',
+ success: function(layero, index){
+ layer.close(loadIndex);
+ }
+ });
+ })
+
+})
+
+// 娣诲姞琛ㄦ牸鏁版嵁
+function addTableData(data,floor) {
+ if(locDetlData[0]){
+ if(floor != locDetlData[0].locNo.split('@')[1]){
+ return false;
+ }
+ }
+
+ for (let i=0;i<data.length;i++){
+ let pass = false;
+ for (let j=0;j<locDetlData.length;j++){
+ if (data[i].matnr === locDetlData[j].matnr && data[i].batch === locDetlData[j].batch && data[i].locNo === locDetlData[j].locNo) {
+ pass = true;
+ break;
+ }
+ }
+ if (pass) {
+ data.splice(i--, 1);
+ } else {
+ data[i]["count"] = data[i]["anfme"];
+ }
+
+ }
+ locDetlData.push.apply(locDetlData, data);
+ tableIns.reload({data: locDetlData});
+ layer.close(locDetlLayerIdx);
+ return true;
+}
+
+// 娣诲姞鐩樼偣绔欓�夋嫨
+function addStationData(data) {
+ $('#staNoSelect').empty();
+ if(data == 1){
+ $('#staNoSelect').append("<option value=CS-101>CS-101</option>");
+ $('#staNoSelect').append("<option value=CS-102>CS-102</option>")
+ }
+ if(data == 3){
+ $('#staNoSelect').append("<option value=CS-305>CS-305</option>");
+ $('#staNoSelect').append("<option value=CS-306>CS-306</option>")
+ $('#staNoSelect').append("<option value=CS-307>CS-307</option>")
+ }
+ form.render();
+}
diff --git a/src/main/webapp/static/js/saasPakStore/locMove.js b/src/main/webapp/static/js/saasPakStore/locMove.js
new file mode 100644
index 0000000..4934797
--- /dev/null
+++ b/src/main/webapp/static/js/saasPakStore/locMove.js
@@ -0,0 +1,137 @@
+var pageCurr = 0;
+var tableIns;
+function getCol() {
+ var cols = [
+ {field: 'locNo', align: 'center',title: '搴撲綅鍙�', merge: true, style: 'font-weight: bold'}
+ ,{field: 'anfme', align: 'center',title: '鏁伴噺'}
+ ];
+ arrRemove(detlCols, 'field', 'zpallet');
+ cols.push.apply(cols, detlCols);
+ return cols;
+}
+
+layui.config({
+ base: baseUrl + "/static/layui/lay/modules/"
+}).use(['table','laydate', 'form', 'tableMerge'], function() {
+ var table = layui.table;
+ var $ = layui.jquery;
+ var form = layui.form;
+ var tableMerge = layui.tableMerge;
+
+ // 鏁版嵁娓叉煋
+ tableIns = table.render({
+ elem: '#locMatCode',
+ headers: {token: localStorage.getItem('token')},
+ // url: baseUrl+'/locDetl/list/auth',
+ data:[],
+ page: true,
+ limit: 16,
+ limits: [16, 50, 100, 200, 500],
+ even: true,
+ cellMinWidth: 50,
+ cols: [getCol()],
+ request: {
+ pageName: 'curr',
+ pageSize: 'limit'
+ },
+ parseData: function (res) {
+ return {
+ 'code': res.code,
+ 'msg': res.msg,
+ 'count': res.data.total,
+ 'data': res.data.records
+ }
+ },
+ response: {
+ statusCode: 200
+ },
+ done: function(res, curr, count) {
+ tableMerge.render(this);
+ if (res.code === 403) {
+ top.location.href = baseUrl+"/";
+ }
+ pageCurr=curr;
+ limit();
+ clearSelect();
+ }
+ });
+
+});
+
+// 鎼滅储搴撲綅鐗╂枡
+function getLoc(el) {
+ tableIns.reload({
+ url: baseUrl+'/agv/locDetl/list/auth'
+ , where: {loc_no: el.value}
+ , done:function (res) {
+ limit();
+ clearSelect();
+ // 鑾峰彇鍚屼竴鍫嗗灈鏈虹殑绌哄簱浣�
+ http.post(baseUrl + "/agv/group/empty/stock", {sourceLocNo: el.value}, function (res) {
+ if (res.data != null) {
+ var tpl = $("#emptyLocStock").html();
+ var template = Handlebars.compile(tpl);
+ var html = template(res);
+ $('#targetLocNo').append(html);
+ layui.form.render('select');
+ }
+ });
+ }
+ });
+}
+
+// 绉诲簱鍚姩
+function locMove() {
+ var sourceLocNo = $("#sourceLocNo").val();
+ var targetLocNo = $("#targetLocNo").val();
+ if (sourceLocNo === null || sourceLocNo === ""){
+ $("#sourceLocNo").css("border-color", "red");
+ setTimeout(function () {
+ $("#sourceLocNo").css("border-color", "#b8b8b8");
+ }, 1000);
+ layer.msg("璇疯緭鍏ユ簮搴撲綅");
+ return;
+ }
+ if (targetLocNo === null || targetLocNo === "") {
+ $(".layui-select-title .layui-input").css("border-color", "red");
+ setTimeout(function () {
+ $(".layui-select-title .layui-input").css("border-color", "#b8b8b8");
+ }, 1000);
+ layer.msg("璇疯緭鍏ョ洰鏍囧簱浣�");
+ return;
+ }
+ $.ajax({
+ url: baseUrl + "/agv/loc/move/start",
+ headers: {'token': localStorage.getItem('token')},
+ dataType: 'json',
+ data: {
+ sourceLocNo: sourceLocNo,
+ targetLocNo: targetLocNo
+ },
+ method: 'POST',
+ success: function (res) {
+ if (res.code === 200) {
+ $("#sourceLocNo").val("");
+ $("#targetLocNo").empty();
+ layui.form.render('select');
+ tableIns.reload({
+ data: [],
+ url: '',
+ done:function (res) {
+ limit();clearSelect();
+ }
+ });
+ layer.msg(res.msg);
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/";
+ } else {
+ layer.msg(res.msg);
+ }
+ }
+ })
+}
+
+function clearSelect() {
+ $("#targetLocNo").empty();
+ layui.form.render('select');
+}
diff --git a/src/main/webapp/static/js/saasPakStore/pakStore.js b/src/main/webapp/static/js/saasPakStore/pakStore.js
new file mode 100644
index 0000000..dd0f6cb
--- /dev/null
+++ b/src/main/webapp/static/js/saasPakStore/pakStore.js
@@ -0,0 +1,202 @@
+var matCodeLayerIdx;
+var initCountVal = 0;
+var matCodeData = [];
+function getCol() {
+ var cols = [
+ {fixed: 'left', field: 'anfme', title: '鏁伴噺锛堝繀濉級', align: 'center', edit:'text', width: 120, style:'color: blue;font-weight: bold'},
+ {field: 'batch', title: '搴忓垪鐮侊紙閫夊~锛�', align: 'center', edit:'text', width: 200, style:'color: block;font-weight: bold'}
+ ];
+ cols.push.apply(cols, matCols);
+ cols.push({fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width: 80})
+ return cols;
+}
+
+layui.config({
+ base: baseUrl + "/static/layui/lay/modules/"
+}).use(['admin', 'table','laydate', 'form'], function() {
+ var table = layui.table;
+ var $ = layui.jquery;
+ var layer = layui.layer;
+ var form = layui.form;
+ var admin = layui.admin;
+
+ tableIns = table.render({
+ elem: '#chooseData',
+ data: [],
+ even: true,
+ limit: 500,
+ cellMinWidth: 50,
+ toolbar: '#toolbar',
+ cols: [getCol()],
+ done: function (res, curr, count) {
+ limit();
+ getInBound();
+ }
+ });
+
+ // 椤甸潰淇敼
+ table.on('edit(chooseData)', function (obj) {
+ let index = obj.tr.attr("data-index");
+ let data = matCodeData[index];
+ let modify = true;
+ if (obj.field === 'anfme'){
+ let vle = Number(obj.value);
+ if (isNaN(vle)) {
+ layer.msg("璇疯緭鍏ユ暟瀛�", {icon: 2});
+ modify = false;
+ } else {
+ if (vle <= 0) {
+ layer.msg("鏁伴噺蹇呴』澶т簬闆�", {icon: 2});
+ modify = false;
+ }
+ }
+ }
+ if (modify) {
+ data[obj.field] = obj.value;
+ }
+ tableIns.reload({data: matCodeData});
+ });
+
+ // 鐩戝惉澶村伐鍏锋爮浜嬩欢
+ table.on('toolbar(chooseData)', function (obj) {
+ var checkStatus = table.checkStatus(obj.config.id);
+ var data = checkStatus.data;
+ switch(obj.event) {
+ case 'comb':
+ // 鍒ゆ柇鏄惁瀛樺湪鐗╂枡
+ if (matCodeData.length === 0) {
+ layer.msg("璇峰厛鎻愬彇鍟嗗搧", {icon: 2});
+ return;
+ }
+ // 鍒ゆ柇鐗╂枡鏁伴噺鏄惁瀛樺湪寮傚父
+ for (var i=0;i<matCodeData.length;i++){
+ if (isNaN(matCodeData[i].anfme)) {
+ layer.msg("璇疯緭鍏ユ暟瀛�", {icon: 2});
+ return;
+ }
+ if (matCodeData[i].anfme <= 0){
+ layer.msg("鏁伴噺蹇呴』澶т簬闆�", {icon: 2});
+ return;
+ }
+ }
+ let devpNo = $('#putSiteSelect').val();
+ if (isEmpty(devpNo)) {
+ layer.msg("璇烽�夋嫨鍏ュ簱绔�", {icon: 2});
+ return;
+ }
+ $.ajax({
+ url: baseUrl+"/full/store/put/start",
+ headers: {'token': localStorage.getItem('token')},
+ data: JSON.stringify({
+ devpNo: Number(devpNo),
+ list: matCodeData
+ }),
+ contentType:'application/json;charset=UTF-8',
+ method: 'POST',
+ async: false,
+ success: function (res) {
+ if (res.code === 200){
+ layer.msg("鍏ュ簱鍚姩鎴愬姛锛岀洰鏍囧簱浣嶏細" + res.data, {icon: 1});
+ matCodeData = [];
+ $('#focusMatByMat').val("");
+ tableIns.reload({data: matCodeData,done:function (res) { limit(); getInBound();}});
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ }else {
+ layer.msg(res.msg, {icon: 2})
+ }
+ }
+ })
+ break;
+ default:
+ break;
+ }
+ });
+
+ // 鐩戝惉琛屽伐鍏蜂簨浠�
+ table.on('tool(chooseData)', function(obj){
+ switch (obj.event) {
+ case 'remove':
+ let index = obj.tr.attr("data-index");
+ matCodeData.splice(index, 1);
+ tableIns.reload({data: matCodeData});
+ break;
+ }
+ });
+
+ // 鑾峰彇鍙敤鍏ュ簱绔欑偣
+ function getInBound() {
+ $.ajax({
+ url: baseUrl + "/available/put/site",
+ headers: {'token': localStorage.getItem('token')},
+ method: 'POST',
+ success: function (res) {
+ if (res.code === 200) {
+ var tpl = $("#putSiteSelectTemplate").html();
+ var template = Handlebars.compile(tpl);
+ var html = template(res);
+ $('#putSiteSelect').append(html);
+ form.render('select');
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/";
+ } else {
+ layer.msg(res.msg, {icon: 2})
+ }
+ }
+ })
+ }
+
+ // 鎻愬彇鐗╂枡
+ $(document).on('click','#mat-query', function () {
+ let loadIndex = layer.msg('璇锋眰涓�...', {icon: 16, shade: 0.01, time: false});
+ matCodeLayerIdx = admin.open({
+ type: 2,
+ title: false,
+ closeBtn: false,
+ maxmin: false,
+ area: ['90%', '85%'],
+ shadeClose: true,
+ content: 'matQuery.html',
+ success: function(layero, index){
+ layer.close(loadIndex);
+ }
+ });
+ })
+
+});
+
+
+
+// 鎵爜
+function focusMat(el) {
+ if (isEmpty(el.value)) {
+ return
+ }
+ $.ajax({
+ url: baseUrl + "/mat/" + el.value + "/auth",
+ headers: {'token': localStorage.getItem('token')},
+ method: 'GET',
+ success: function (res) {
+ if (res.code === 200) {
+ matCodeData = [];
+ var param = new Array();
+ param[0] = res.data;
+ addTableData(param);
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/";
+ } else {
+ layer.msg(res.msg, {icon: 2})
+ }
+ }
+ })
+}
+
+// 娣诲姞琛ㄦ牸鏁版嵁
+function addTableData(list) {
+ list.map(function (d) {
+ d['anfme'] = initCountVal;
+ })
+ matCodeData.push.apply(matCodeData, list);
+ tableIns.reload({data: matCodeData});
+ layer.close(matCodeLayerIdx);
+}
diff --git a/src/main/webapp/static/js/saasPakStore/stockAdjust.js b/src/main/webapp/static/js/saasPakStore/stockAdjust.js
new file mode 100644
index 0000000..25ca32b
--- /dev/null
+++ b/src/main/webapp/static/js/saasPakStore/stockAdjust.js
@@ -0,0 +1,247 @@
+var initCountVal = 0;
+var initAnfmeVal = "-";
+var matCodeData = [];
+var currLocNo;
+var matCodeLayerIdx;
+function getCol() {
+ var cols = [
+ {fixed: 'left', field: 'count', title: '瀹為檯鏁伴噺', align: 'center', edit:'text', width: 120, style:'color: blue;font-weight: bold'}
+ ,{field: 'anfme', align: 'center',title: '鏁伴噺'}
+ ,{field: 'batch', align: 'center',title: '搴忓垪鐮�', edit: true, style: 'font-weight:bold'}
+ ,{field: 'threeCode', align: 'center',title: '閿�鍞鍗曞彿', edit: true, style: 'font-weight:bold'}
+ ,{field: 'deadTime', align: 'center',title: '閿�鍞鍗曡鍙�', edit: true, style: 'font-weight:bold'}
+ ,{field: 'suppCode', align: 'center',title: '鏂欑鐮�', edit: true, style: 'font-weight:bold'}
+ ];
+ arrRemove(detlCols, "field", "zpallet");
+ arrRemove(detlCols, "field", "anfme");
+ arrRemove(detlCols, "field", "batch");
+ arrRemove(detlCols, "field", "threeCode");
+ arrRemove(detlCols, "field", "deadTime");
+ cols.push.apply(cols, detlCols);
+ cols.push({fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:80})
+ return cols;
+}
+
+layui.config({
+ base: baseUrl + "/static/layui/lay/modules/"
+}).use(['table','laydate', 'form', 'admin'], function() {
+ var table = layui.table;
+ var $ = layui.jquery;
+ var layer = layui.layer;
+ var layDate = layui.laydate;
+ var form = layui.form;
+ var admin = layui.admin;
+
+ tableIns = table.render({
+ elem: '#chooseData',
+ data: [],
+ even: true,
+ limit: 500,
+ cellMinWidth: 50,
+ toolbar: '#toolbar',
+ cols: [getCol()],
+ done: function (res, curr, count) {
+ limit();
+ }
+ });
+
+ // 椤甸潰淇敼
+ table.on('edit(chooseData)', function (obj) {
+ let index = obj.tr.attr("data-index");
+ let data = matCodeData[index];
+ let modify = true;
+ if (obj.field === 'count'){
+ let vle = Number(obj.value);
+ if (isNaN(vle)) {
+ layer.msg("璇疯緭鍏ユ暟瀛�", {icon: 2});
+ modify = false;
+ } else {
+ if (vle <= 0) {
+ layer.msg("鏁伴噺蹇呴』澶т簬闆�", {icon: 2});
+ modify = false;
+ }
+ }
+ }
+ if (modify) {
+ data[obj.field] = obj.value;
+ }
+ tableIns.reload({data: matCodeData});
+ });
+
+ // 鐩戝惉澶村伐鍏锋爮浜嬩欢
+ table.on('toolbar(chooseData)', function (obj) {
+ switch(obj.event) {
+ case 'adjust':
+ if (isEmpty(currLocNo)) {
+ layer.msg("璇峰厛妫�绱㈠簱浣�", {icon: 2})
+ inputTip($("#searchLocNo"));
+ return;
+ }
+ if (matCodeData.length === 0) {
+ layer.msg("璇峰厛娣诲姞鏄庣粏", {icon: 2});
+ return;
+ }
+ for (var i=0;i<matCodeData.length;i++){
+ if (isNaN(matCodeData[i].count)) {
+ layer.msg("璇疯緭鍏ユ暟瀛�", {icon: 2});
+ return;
+ }
+ if (matCodeData[i].count < 0){
+ layer.msg("鏁伴噺涓嶈兘灏忎簬闆�", {icon: 2});
+ return;
+ }
+ }
+ layer.confirm('纭畾璋冩暣'+currLocNo+'搴撲綅鐨勬槑缁嗗悧锛�', {shadeClose: true}, function(){
+ $.ajax({
+ url: baseUrl+"/manLocDetl/adjust/start",
+ headers: {'token': localStorage.getItem('token')},
+ data: JSON.stringify({
+ locNo: currLocNo,
+ list: matCodeData
+ }),
+ contentType:'application/json;charset=UTF-8',
+ method: 'POST',
+ async: false,
+ success: function (res) {
+ if (res.code === 200){
+ layer.msg(currLocNo + res.msg, {icon: 1});
+ init(currLocNo)
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ }else {
+ layer.msg(res.msg, {icon: 2})
+ }
+ }
+ })
+ });
+ break;
+ }
+ });
+
+ // 鐩戝惉琛屽伐鍏蜂簨浠�
+ table.on('tool(chooseData)', function(obj){
+ var data = obj.data;
+ switch (obj.event) {
+ case 'remove':
+ let index = obj.tr.attr("data-index");
+ matCodeData.splice(index, 1);
+ tableIns.reload({data: matCodeData});
+ break;
+ }
+ });
+
+ // 妫�绱簨浠�
+ form.on('submit(search)', function (data) {
+ let locNo = data.field.loc_no;
+ if (locNo === "") {
+ inputTip($("#searchLocNo"));
+ layer.msg("璇疯緭鍏ュ簱浣嶅彿");
+ return;
+ }
+ init(locNo);
+ });
+
+ // 閲嶇疆浜嬩欢
+ form.on('submit(reset)', function (data) {
+ reset();
+ });
+
+ function init(locNo) {
+ http.post(baseUrl + "/manLocDetl/list/auth", {locNo: locNo,limit: 1000}, function (res) {
+ matCodeData = [];
+ matCodeData = res.data.records;
+ for (var i = 0; i<matCodeData.length; i++) {
+ matCodeData[i]["count"] = matCodeData[i]["anfme"];
+ }
+ locTips(true, locNo);
+ tableReload();
+ })
+ }
+
+ function reset() {
+ clearFormVal($('#search-box'));
+ matCodeData = [];
+ tableReload();
+ locTips(false);
+ }
+
+ // 閲嶈浇琛ㄦ牸
+ function tableReload() {
+ tableIns.reload({data: matCodeData});
+ }
+
+ // 搴撲綅鎻愮ず妗�
+ function locTips(retrieve, locNo) {
+ if (retrieve) {
+ http.post(baseUrl+"/node/select/"+locNo+"/auth", null, function (res) {
+ let data = res.data;
+ if (data != null) {
+ $(".retrieve").show();
+ $("#locMsg").html(locNo + " ,搴撲綅鐘舵�侊細" + data.locSts$);
+ $('.not-retrieve').hide();
+ currLocNo = locNo;
+ } else {
+ layer.msg("璇疯緭鍏ユ湁鏁堝簱浣嶅彿", {icon: 2});
+ $('.not-retrieve').show();
+ $("#locMsg").html("");
+ $(".retrieve").hide();
+ currLocNo = null;
+ inputTip($("#searchLocNo"));
+ }
+ })
+ } else {
+ $('.not-retrieve').show();
+ $("#locMsg").html("");
+ $(".retrieve").hide();
+ currLocNo = null;
+ }
+ }
+
+ $(document).on('click','#mat-query', function () {
+ if (isEmpty(currLocNo)) {
+ layer.msg("璇峰厛妫�绱㈠簱浣�")
+ inputTip($("#searchLocNo"));
+ return;
+ }
+ let loadIndex = layer.msg('璇锋眰涓�...', {icon: 16, shade: 0.01, time: false});
+ matCodeLayerIdx = admin.open({
+ type: 2,
+ title: false,
+ closeBtn: false,
+ maxmin: false,
+ area: ['90%', '85%'],
+ shadeClose: true,
+ content: 'matQuery.html',
+ success: function(layero, index){
+ layer.close(loadIndex);
+ }
+ });
+ })
+
+})
+
+// 鎼滅储妗嗙┖鍊兼彁绀�
+function inputTip(el) {
+ el.css("border-color", "red");
+ setTimeout(function () {
+ el.css("border-color", "#b8b8b8");
+ }, 1000);
+}
+
+// 娣诲姞琛ㄦ牸鏁版嵁
+function addTableData(data) {
+ for (let i=0;i<data.length;i++){
+ for (let j=0;j<matCodeData.length;j++){
+ if (data[i].matnr === matCodeData[j].matnr && data[i].batch === matCodeData[j].batch) {
+ data.splice(i, 1);
+ break;
+ } else {
+ data[i]['anfme'] = initAnfmeVal;
+ data[i]['count'] = initCountVal;
+ }
+ }
+ }
+ matCodeData.push.apply(matCodeData, data);
+ tableIns.reload({data: matCodeData});
+ layer.close(matCodeLayerIdx);
+}
diff --git a/src/main/webapp/static/js/saasPakStore/stockOut.js b/src/main/webapp/static/js/saasPakStore/stockOut.js
new file mode 100644
index 0000000..d9b2580
--- /dev/null
+++ b/src/main/webapp/static/js/saasPakStore/stockOut.js
@@ -0,0 +1,177 @@
+var locDetlLayerIdx;
+var locDetlData = [];
+function getCol() {
+ var cols = [
+ {field: 'count', align: 'center',title: '鍑哄簱鏁伴噺', edit:'text', width: 130, style:'color: blue;font-weight: bold'}
+ ,{field: 'anfme', align: 'center',title: '搴撳瓨鏁伴噺'}
+ ,{field: 'locNo$', align: 'center',title: '搴撲綅鍙�'}
+ ];
+ arrRemove(detlCols, 'field', 'anfme');
+ cols.push.apply(cols, detlCols);
+ cols.push({fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width: 80})
+ return cols;
+}
+
+layui.config({
+ base: baseUrl + "/static/layui/lay/modules/"
+}).use(['table','laydate', 'form', 'admin'], function() {
+ var table = layui.table;
+ var $ = layui.jquery;
+ var layer = layui.layer;
+ var form = layui.form;
+ var admin = layui.admin;
+
+ tableIns = table.render({
+ elem: '#chooseData',
+ headers: {token: localStorage.getItem('token')},
+ data: [],
+ even: true,
+ toolbar: '#toolbar',
+ cellMinWidth: 50,
+ limit: 500,
+ cols: [getCol()],
+ done: function(res, curr, count) {
+ limit();
+ getOutBound();
+ }
+ });
+
+ // 椤甸潰淇敼
+ table.on('edit(chooseData)', function (obj) {
+ let index = obj.tr.attr("data-index");
+ let data = locDetlData[index];
+ let modify = true;
+ if (obj.field === 'count'){
+ let vle = Number(obj.value);
+ if (isNaN(vle)) {
+ layer.msg("璇疯緭鍏ユ暟瀛�", {icon: 2});
+ modify = false;
+ } else {
+ if (vle <= 0) {
+ layer.msg("鏁伴噺蹇呴』澶т簬闆�", {icon: 2});
+ modify = false;
+ }
+ if (vle > Number(data.anfme)) {
+ layer.msg("鍑哄簱鏁伴噺涓嶅緱澶т簬搴撳瓨鏁伴噺", {icon: 2});
+ modify = false;
+ }
+ }
+ }
+ if (modify) {
+ data[obj.field] = obj.value;
+ }
+ tableIns.reload({data: locDetlData});
+ });
+
+ // 鐩戝惉澶村伐鍏锋爮浜嬩欢
+ table.on('toolbar(chooseData)', function (obj) {
+ switch (obj.event) {
+ case 'outbound':
+ if (locDetlData.length === 0){
+ layer.msg('璇峰厛鎻愬彇鍟嗗搧搴撳瓨', {icon: 2});
+ } else {
+ var staNo = $("#staNoSelect").val();
+ if (staNo === "" || staNo === null){
+ layer.msg("璇烽�夋嫨鍑哄簱鍙�", {icon: 2});
+ return;
+ }
+ let param = {
+ outSite: staNo,
+ locDetls: locDetlData
+ }
+ $.ajax({
+ url: baseUrl+"/plate/out/start",
+ headers: {'token': localStorage.getItem('token')},
+ data: JSON.stringify(param),
+ contentType:'application/json;charset=UTF-8',
+ method: 'POST',
+ success: function (res) {
+ if (res.code === 200){
+ locDetlData = [];
+ tableIns.reload({data: locDetlData,done:function (res) {limit();getOutBound();}});
+ layer.msg(res.msg, {icon: 1});
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2})
+ }
+ }
+ });
+ }
+ break;
+ }
+ });
+
+ // 鐩戝惉琛屽伐鍏蜂簨浠�
+ table.on('tool(chooseData)', function(obj){
+ switch (obj.event) {
+ case 'remove':
+ let index = obj.tr.attr("data-index");
+ locDetlData.splice(index, 1);
+ tableIns.reload({data: locDetlData});
+ break;
+ }
+ });
+
+ // 鑾峰彇鍑哄簱鍙�
+ function getOutBound(){
+ $.ajax({
+ url: baseUrl+"/available/take/site",
+ headers: {'token': localStorage.getItem('token')},
+ method: 'POST',
+ async: false,
+ success: function (res) {
+ if (res.code === 200){
+ var tpl = $("#takeSiteSelectTemplate").html();
+ var template = Handlebars.compile(tpl);
+ var html = template(res);
+ $('#staNoSelect').append(html);
+ form.render('select');
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ }else {
+ layer.msg(res.msg)
+ }
+ }
+ })
+ }
+
+
+ $(document).on('click','#mat-query', function () {
+ let loadIndex = layer.msg('璇锋眰涓�...', {icon: 16, shade: 0.01, time: false});
+ locDetlLayerIdx = layer.open({
+ type: 2,
+ title: false,
+ closeBtn: false,
+ maxmin: false,
+ area: ['90%', '85%'],
+ shadeClose: true,
+ content: 'locDetlQuery.html',
+ success: function(layero, index){
+ layer.close(loadIndex);
+ }
+ });
+ })
+
+})
+
+// 娣诲姞琛ㄦ牸鏁版嵁
+function addTableData(data) {
+ for (var i=0;i<data.length;i++){
+ let pass = false;
+ for (var j=0;j<locDetlData.length;j++){
+ if (data[i].matnr === locDetlData[j].matnr && data[i].batch === locDetlData[j].batch && data[i].locNo$ === locDetlData[j].locNo$) {
+ pass = true;
+ break;
+ }
+ }
+ if (pass) {
+ data.splice(i--, 1);
+ } else {
+ data[i]["count"] = data[i]["anfme"];
+ }
+ }
+ locDetlData.push.apply(locDetlData, data);
+ tableIns.reload({data: locDetlData});
+ layer.close(locDetlLayerIdx);
+}
diff --git a/src/main/webapp/views/locRule/locCodeRule.html b/src/main/webapp/views/locRule/locCodeRule.html
new file mode 100644
index 0000000..de00d88
--- /dev/null
+++ b/src/main/webapp/views/locRule/locCodeRule.html
@@ -0,0 +1,203 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title></title>
+ <meta name="renderer" content="webkit">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+ <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+ <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
+ <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+</head>
+<body>
+
+<div class="layui-fluid">
+ <div class="layui-card">
+ <div class="layui-card-body">
+ <div class="layui-form toolbar" id="search-box">
+ <div class="layui-form-item">
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off">
+ </div>
+ </div>
+ <div class="layui-inline" style="width: 300px">
+ <div class="layui-input-inline">
+ <input class="layui-input layui-laydate-range" name="create_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px">
+ </div>
+ </div>
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off">
+ </div>
+ </div>
+ <div class="layui-inline"> 
+ <button class="layui-btn icon-btn" lay-filter="search" lay-submit>
+ <i class="layui-icon"></i>鎼滅储
+ </button>
+ <button class="layui-btn icon-btn" lay-filter="reset" lay-submit>
+ <i class="layui-icon"></i>閲嶇疆
+ </button>
+ </div>
+ </div>
+ </div>
+ <table class="layui-hide" id="locRule" lay-filter="locRule"></table>
+ </div>
+ </div>
+</div>
+
+<script type="text/html" id="toolbar">
+ <div class="layui-btn-container">
+ <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>
+ <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>
+ <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button>
+ </div>
+</script>
+
+<script type="text/html" id="operate">
+ <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>
+ <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a>
+</script>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/locRule/locRule.js" charset="utf-8"></script>
+</body>
+<!-- 琛ㄥ崟寮圭獥 -->
+<script type="text/html" id="editDialog">
+ <form id="detail" lay-filter="detail" class="layui-form admin-form model-form">
+ <input name="id" type="hidden">
+ <div class="layui-row">
+ <div class="layui-col-md6">
+ <div class="layui-form-item">
+ <label class="layui-form-label">鍟嗗搧缂栧彿: </label>
+ <div class="layui-input-block">
+ <input class="layui-input" name="matnr" placeholder="璇疯緭鍏ュ晢鍝佺紪鍙�">
+ </div>
+ </div>
+<!-- <div class="layui-form-item">-->
+<!-- <label class="layui-form-label">瑙勬牸: </label>-->
+<!-- <div class="layui-input-block">-->
+<!-- <input class="layui-input" name="specs" placeholder="璇疯緭鍏ヨ鏍�">-->
+<!-- </div>-->
+<!-- </div>-->
+<!-- <div class="layui-form-item">-->
+<!-- <label class="layui-form-label">鍨嬪彿: </label>-->
+<!-- <div class="layui-input-block">-->
+<!-- <input class="layui-input" name="model" placeholder="璇疯緭鍏ュ瀷鍙�">-->
+<!-- </div>-->
+<!-- </div>-->
+<!-- <div class="layui-form-item">-->
+<!-- <label class="layui-form-label">瀹㈡埛: </label>-->
+<!-- <div class="layui-input-block">-->
+<!-- <input class="layui-input" name="cstmr" placeholder="璇疯緭鍏ュ鎴�">-->
+<!-- </div>-->
+<!-- </div>-->
+ <div class="layui-form-item">
+ <label class="layui-form-label">鎵瑰彿: </label>
+ <div class="layui-input-block">
+ <input class="layui-input" name="batch" placeholder="璇疯緭鍏ユ壒鍙�">
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label">搴撳尯: </label>
+ <div class="layui-input-block">
+ <input class="layui-input" name="batch" placeholder="璇疯緭鍏ュ簱鍖�">
+ </div>
+ </div>
+<!-- <div class="layui-form-item">-->
+<!-- <label class="layui-form-label">鍏朵粬: </label>-->
+<!-- <div class="layui-input-block">-->
+<!-- <input class="layui-input" name="other" placeholder="璇疯緭鍏ュ叾浠�">-->
+<!-- </div>-->
+<!-- </div>-->
+<!-- <div class="layui-form-item">-->
+<!-- <label class="layui-form-label">涓婇檺: </label>-->
+<!-- <div class="layui-input-block">-->
+<!-- <input class="layui-input" name="limit" placeholder="璇疯緭鍏ヤ笂闄�">-->
+<!-- </div>-->
+<!-- </div>-->
+ <div class="layui-form-item">
+ <label class="layui-form-label">娣疯浇: </label>
+ <div class="layui-input-block">
+ <select name="mixed">
+ <option value="1" selected>鏄�</option>
+ <option value="0">鍚�</option>
+ </select>
+ </div>
+ </div>
+<!-- <div class="layui-form-item">
+ <label class="layui-form-label">娣疯浇鏈壘鍒板簱浣嶇户缁悳绱�: </label>
+ <div class="layui-input-block">
+ <select name="keepGo">
+ <option value="1">鏄�</option>
+ <option value="0" selected>鍚�</option>
+ </select>
+ </div>
+ </div>-->
+
+ </div>
+
+ <div class="layui-col-md6">
+<!-- <div class="layui-inline">-->
+<!-- <label class="layui-form-label">鎺掕寖鍥�</label>-->
+<!-- <div class="layui-input-inline" style="width: 100px;">-->
+<!-- <input type="text" name="price_min" placeholder="锟�" autocomplete="off" class="layui-input">-->
+<!-- </div>-->
+<!-- <div class="layui-form-mid">-</div>-->
+<!-- <div class="layui-input-inline" style="width: 100px;">-->
+<!-- <input type="text" name="price_max" placeholder="锟�" autocomplete="off" class="layui-input">-->
+<!-- </div>-->
+<!-- </div>-->
+
+ <div class="layui-form-item">
+ <label class="layui-form-label layui-form-required">寮�濮嬫帓: </label>
+ <div class="layui-input-block">
+ <input type="number" min="1" class="layui-input" name="rowBeg" placeholder="璇疯緭鍏ュ紑濮嬫帓" lay-vertype="tips" lay-verify="required" required="">
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label layui-form-required">缁撴潫鎺�: </label>
+ <div class="layui-input-block">
+ <input type="number" min="1" class="layui-input" name="rowEnd" placeholder="璇疯緭鍏ョ粨鏉熸帓" lay-vertype="tips" lay-verify="required" required="">
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label layui-form-required">寮�濮嬪垪: </label>
+ <div class="layui-input-block">
+ <input type="number" min="1" class="layui-input" name="bayBeg" placeholder="璇疯緭鍏ュ紑濮嬪垪" lay-vertype="tips" lay-verify="required" required="">
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label layui-form-required">缁撴潫鍒�: </label>
+ <div class="layui-input-block">
+ <input type="number" min="1" class="layui-input" name="bayEnd" placeholder="璇疯緭鍏ョ粨鏉熷垪" lay-vertype="tips" lay-verify="required" required="">
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label layui-form-required">寮�濮嬪眰: </label>
+ <div class="layui-input-block">
+ <input type="number" min="1" class="layui-input" name="levBeg" placeholder="璇疯緭鍏ュ紑濮嬪眰" lay-vertype="tips" lay-verify="required" required="">
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label layui-form-required">缁撴潫灞�: </label>
+ <div class="layui-input-block">
+ <input type="number" min="1" class="layui-input" name="levEnd" placeholder="璇疯緭鍏ョ粨鏉熷眰" lay-vertype="tips" lay-verify="required" required="">
+ </div>
+ </div>
+
+ </div>
+ </div>
+ <hr class="layui-bg-gray">
+ <div class="layui-form-item text-right">
+ <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button>
+ <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+ </div>
+ </form>
+</script>
+</html>
+
diff --git a/src/main/webapp/views/saasPakStore/matQuery.html b/src/main/webapp/views/saasPakStore/matQuery.html
new file mode 100644
index 0000000..433d45c
--- /dev/null
+++ b/src/main/webapp/views/saasPakStore/matQuery.html
@@ -0,0 +1,173 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title></title>
+ <meta name="renderer" content="webkit">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+ <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+ <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
+ <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+ <link rel="stylesheet" href="../../static/css/common.css" media="all">
+ <style>
+ body {
+ /*overflow: hidden;*/
+ }
+ .layui-table-box {
+ border-right: 1px solid #9F9F9F;
+ border-left: 1px solid #9F9F9F;
+ }
+ </style>
+</head>
+<body>
+<div style="padding: 25px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;">
+ <span style="font-size: large; font-weight: bold">閫夋嫨鍟嗗搧</span>
+</div>
+<div class="layui-card" style="padding: 0 20px; overflow: scroll;">
+ <fieldset class="layui-elem-field site-demo-button" style="margin: 20px;">
+ <legend>鎼滅储鏍�</legend>
+ <div id="search-box" class="layui-form layui-card-header">
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="matnr" placeholder="鐗╂枡鍙�" autocomplete="off">
+ </div>
+ </div>
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="maktx" placeholder="鐗╂枡鍙�" autocomplete="off">
+ </div>
+ </div>
+ <!-- 鏃ユ湡鑼冨洿 -->
+ <div class="layui-inline" style="width: 300px">
+ <div class="layui-input-inline">
+ <input class="layui-input layui-laydate-range" name="modi_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px">
+ </div>
+ </div>
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off">
+ </div>
+ </div>
+ <!-- 寰呮坊鍔� -->
+ <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block">
+ <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button>
+ </div>
+ </div>
+ </fieldset>
+
+ <div class="layui-form">
+ <table class="layui-hide" id="mat" lay-filter="mat"></table>
+ </div>
+</div>
+
+<script type="text/html" id="toolbar">
+ <div class="layui-btn-container">
+ <button class="layui-btn" id="btn-confirm" lay-event="confirm" style="">鎻愬彇</button>
+ </div>
+</script>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
+
+</body>
+<script>
+ function getCol() {
+ let cols = [
+ {type: 'checkbox', fixed: 'left'}
+ ];
+ cols.push.apply(cols, matCols);
+ cols.push(
+ {field: 'modiUser$', align: 'center',title: '淇敼浜哄憳', hide: true},
+ {field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿'}
+ )
+ return cols;
+ }
+
+ layui.config({
+ base: baseUrl + "/static/layui/lay/modules/"
+ }).use(['table','laydate', 'form', 'admin'], function() {
+ var table = layui.table;
+ var $ = layui.jquery;
+ var layer = layui.layer;
+ var layDate = layui.laydate;
+ var form = layui.form;
+ var admin = layui.admin;
+
+ // 鐗╂枡鏌ヨ鏁版嵁琛�
+ matQueryTable = table.render({
+ elem: '#mat',
+ headers: {token: localStorage.getItem('token')},
+ url: baseUrl + '/mat/list/auth',
+ page: true,
+ limit: 7,
+ limits: [7, 10, 30,50,100],
+ even: true,
+ cellMinWidth: 50,
+ toolbar: '#toolbar',
+ cols: [getCol()],
+ request: {
+ pageName: 'curr',
+ pageSize: 'limit'
+ },
+ parseData: function (res) {
+ return {
+ 'code': res.code,
+ 'msg': res.msg,
+ 'count': res.data.total,
+ 'data': res.data.records
+ }
+ },
+ response: {
+ statusCode: 200
+ },
+ done: function (res, curr, count) {
+ if (res.code === 403) {
+ top.location.href = baseUrl + "/";
+ }
+ }
+ });
+
+ // 鐩戝惉澶村伐鍏锋爮浜嬩欢
+ table.on('toolbar(mat)', function (obj) {
+ let checkStatus = table.checkStatus(obj.config.id);
+ let data = checkStatus.data;
+ switch(obj.event) {
+ case 'confirm':
+ if (data.length === 0){
+ layer.msg("璇烽�夋嫨鏁版嵁", {icon: 2});
+ return;
+ }
+ parent.addTableData(data);
+ break;
+ }
+ });
+
+ // 鎼滅储鏍忔悳绱簨浠�
+ form.on('submit(search)', function (data) {
+ tableReload();
+ });
+
+ layDate.render({
+ elem: '.layui-laydate-range'
+ ,type: 'datetime'
+ ,range: true
+ });
+ })
+
+ function tableReload() {
+ var searchData = {};
+ $.each($('#search-box [name]').serializeArray(), function() {
+ searchData[this.name] = this.value;
+ });
+ matQueryTable.reload({
+ where: searchData
+ });
+ }
+
+</script>
+</html>
+
diff --git a/src/main/webapp/views/saasPakStore/stockAdjust.html b/src/main/webapp/views/saasPakStore/stockAdjust.html
index a955381..2ea3b7f 100644
--- a/src/main/webapp/views/saasPakStore/stockAdjust.html
+++ b/src/main/webapp/views/saasPakStore/stockAdjust.html
@@ -126,7 +126,7 @@
<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
-<script type="text/javascript" src="../../static/js/agvPakStore/stockAdjust.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/saasPakStore/stockAdjust.js" charset="utf-8"></script>
</body>
</html>
diff --git a/src/main/webapp/views/saasRule/locRule.html b/src/main/webapp/views/saasRule/locRule.html
new file mode 100644
index 0000000..00a770b
--- /dev/null
+++ b/src/main/webapp/views/saasRule/locRule.html
@@ -0,0 +1,197 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title></title>
+ <meta name="renderer" content="webkit">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+ <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+ <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
+ <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+</head>
+<body>
+
+<div class="layui-fluid">
+ <div class="layui-card">
+ <div class="layui-card-body">
+ <div class="layui-form toolbar" id="search-box">
+ <div class="layui-form-item">
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off">
+ </div>
+ </div>
+ <div class="layui-inline" style="width: 300px">
+ <div class="layui-input-inline">
+ <input class="layui-input layui-laydate-range" name="create_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px">
+ </div>
+ </div>
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off">
+ </div>
+ </div>
+ <div class="layui-inline"> 
+ <button class="layui-btn icon-btn" lay-filter="search" lay-submit>
+ <i class="layui-icon"></i>鎼滅储
+ </button>
+ <button class="layui-btn icon-btn" lay-filter="reset" lay-submit>
+ <i class="layui-icon"></i>閲嶇疆
+ </button>
+ </div>
+ </div>
+ </div>
+ <table class="layui-hide" id="locRule" lay-filter="locRule"></table>
+ </div>
+ </div>
+</div>
+
+<script type="text/html" id="toolbar">
+ <div class="layui-btn-container">
+ <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>
+ <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>
+ <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button>
+ </div>
+</script>
+
+<script type="text/html" id="operate">
+ <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>
+ <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a>
+</script>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/saasLocRule/locRule.js" charset="utf-8"></script>
+</body>
+<!-- 琛ㄥ崟寮圭獥 -->
+<script type="text/html" id="editDialog">
+ <form id="detail" lay-filter="detail" class="layui-form admin-form model-form">
+ <input name="id" type="hidden">
+ <div class="layui-row">
+ <div class="layui-col-md6">
+ <div class="layui-form-item">
+ <label class="layui-form-label">鍟嗗搧缂栧彿: </label>
+ <div class="layui-input-block">
+ <input class="layui-input" name="matnr" placeholder="璇疯緭鍏ュ晢鍝佺紪鍙�">
+ </div>
+ </div>
+<!-- <div class="layui-form-item">-->
+<!-- <label class="layui-form-label">瑙勬牸: </label>-->
+<!-- <div class="layui-input-block">-->
+<!-- <input class="layui-input" name="specs" placeholder="璇疯緭鍏ヨ鏍�">-->
+<!-- </div>-->
+<!-- </div>-->
+<!-- <div class="layui-form-item">-->
+<!-- <label class="layui-form-label">鍨嬪彿: </label>-->
+<!-- <div class="layui-input-block">-->
+<!-- <input class="layui-input" name="model" placeholder="璇疯緭鍏ュ瀷鍙�">-->
+<!-- </div>-->
+<!-- </div>-->
+<!-- <div class="layui-form-item">-->
+<!-- <label class="layui-form-label">瀹㈡埛: </label>-->
+<!-- <div class="layui-input-block">-->
+<!-- <input class="layui-input" name="cstmr" placeholder="璇疯緭鍏ュ鎴�">-->
+<!-- </div>-->
+<!-- </div>-->
+ <div class="layui-form-item">
+ <label class="layui-form-label">鎵瑰彿: </label>
+ <div class="layui-input-block">
+ <input class="layui-input" name="batch" placeholder="璇疯緭鍏ユ壒鍙�">
+ </div>
+ </div>
+<!-- <div class="layui-form-item">-->
+<!-- <label class="layui-form-label">鍏朵粬: </label>-->
+<!-- <div class="layui-input-block">-->
+<!-- <input class="layui-input" name="other" placeholder="璇疯緭鍏ュ叾浠�">-->
+<!-- </div>-->
+<!-- </div>-->
+<!-- <div class="layui-form-item">-->
+<!-- <label class="layui-form-label">涓婇檺: </label>-->
+<!-- <div class="layui-input-block">-->
+<!-- <input class="layui-input" name="limit" placeholder="璇疯緭鍏ヤ笂闄�">-->
+<!-- </div>-->
+<!-- </div>-->
+ <div class="layui-form-item">
+ <label class="layui-form-label">娣疯浇: </label>
+ <div class="layui-input-block">
+ <select name="mixed">
+ <option value="1" selected>鏄�</option>
+ <option value="0">鍚�</option>
+ </select>
+ </div>
+ </div>
+<!-- <div class="layui-form-item">
+ <label class="layui-form-label">娣疯浇鏈壘鍒板簱浣嶇户缁悳绱�: </label>
+ <div class="layui-input-block">
+ <select name="keepGo">
+ <option value="1">鏄�</option>
+ <option value="0" selected>鍚�</option>
+ </select>
+ </div>
+ </div>-->
+
+ </div>
+
+ <div class="layui-col-md6">
+<!-- <div class="layui-inline">-->
+<!-- <label class="layui-form-label">鎺掕寖鍥�</label>-->
+<!-- <div class="layui-input-inline" style="width: 100px;">-->
+<!-- <input type="text" name="price_min" placeholder="锟�" autocomplete="off" class="layui-input">-->
+<!-- </div>-->
+<!-- <div class="layui-form-mid">-</div>-->
+<!-- <div class="layui-input-inline" style="width: 100px;">-->
+<!-- <input type="text" name="price_max" placeholder="锟�" autocomplete="off" class="layui-input">-->
+<!-- </div>-->
+<!-- </div>-->
+
+ <div class="layui-form-item">
+ <label class="layui-form-label layui-form-required">寮�濮嬫帓: </label>
+ <div class="layui-input-block">
+ <input type="number" min="1" class="layui-input" name="rowBeg" placeholder="璇疯緭鍏ュ紑濮嬫帓" lay-vertype="tips" lay-verify="required" required="">
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label layui-form-required">缁撴潫鎺�: </label>
+ <div class="layui-input-block">
+ <input type="number" min="1" class="layui-input" name="rowEnd" placeholder="璇疯緭鍏ョ粨鏉熸帓" lay-vertype="tips" lay-verify="required" required="">
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label layui-form-required">寮�濮嬪垪: </label>
+ <div class="layui-input-block">
+ <input type="number" min="1" class="layui-input" name="bayBeg" placeholder="璇疯緭鍏ュ紑濮嬪垪" lay-vertype="tips" lay-verify="required" required="">
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label layui-form-required">缁撴潫鍒�: </label>
+ <div class="layui-input-block">
+ <input type="number" min="1" class="layui-input" name="bayEnd" placeholder="璇疯緭鍏ョ粨鏉熷垪" lay-vertype="tips" lay-verify="required" required="">
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label layui-form-required">寮�濮嬪眰: </label>
+ <div class="layui-input-block">
+ <input type="number" min="1" class="layui-input" name="levBeg" placeholder="璇疯緭鍏ュ紑濮嬪眰" lay-vertype="tips" lay-verify="required" required="">
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label layui-form-required">缁撴潫灞�: </label>
+ <div class="layui-input-block">
+ <input type="number" min="1" class="layui-input" name="levEnd" placeholder="璇疯緭鍏ョ粨鏉熷眰" lay-vertype="tips" lay-verify="required" required="">
+ </div>
+ </div>
+
+ </div>
+ </div>
+ <hr class="layui-bg-gray">
+ <div class="layui-form-item text-right">
+ <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button>
+ <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+ </div>
+ </form>
+</script>
+</html>
+
--
Gitblit v1.9.1