From 32700bf6d8abe8935e3dad6433584ac7cf03f87c Mon Sep 17 00:00:00 2001
From: admin <841110950@qq.com>
Date: 星期一, 30 八月 2021 08:40:03 +0800
Subject: [PATCH] 1.0.4
---
src/main/webapp/static/js/waitMatout/waitMatout.js | 580 ++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 384 insertions(+), 196 deletions(-)
diff --git a/src/main/webapp/static/js/waitMatout/waitMatout.js b/src/main/webapp/static/js/waitMatout/waitMatout.js
index 2cfa8d7..40a9fbc 100644
--- a/src/main/webapp/static/js/waitMatout/waitMatout.js
+++ b/src/main/webapp/static/js/waitMatout/waitMatout.js
@@ -1,47 +1,29 @@
-var pageCurr;
layui.config({
base: baseUrl + "/static/layui/lay/modules/"
-}).use(['table','laydate', 'form', 'admin'], function(){
- var table = layui.table;
+}).use(['layer', 'form', 'table', 'util', 'admin', 'xmSelect', 'laydate'], function () {
var $ = layui.jquery;
var layer = layui.layer;
- var layDate = layui.laydate;
var form = layui.form;
+ var table = layui.table;
+ var util = layui.util;
var admin = layui.admin;
+ var xmSelect = layui.xmSelect;
+ var layDate = layui.laydate;
- // 鏁版嵁娓叉煋
- tableIns = table.render({
+ // 娓叉煋琛ㄦ牸
+ var insTb = table.render({
elem: '#waitMatout',
+ url: baseUrl+'/waitMatout/head/page/auth',
headers: {token: localStorage.getItem('token')},
- url: baseUrl+'/waitMatout/list/auth',
page: true,
- limit: 16,
- limits: [16, 30, 50, 100, 200, 500],
- toolbar: '#toolbar',
- cellMinWidth: 50,
+ cellMinWidth: 100,
cols: [[
- {type: 'checkbox'}
- ,{field: 'billNo', align: 'center',title: '鍗曟嵁缂栧彿'}
- ,{field: 'seqNo', align: 'center',title: '搴忓彿'}
- ,{field: 'billType$', align: 'center',title: '鍗曟嵁绫诲瀷'}
- ,{field: 'matNo', align: 'center',title: '鐗╂枡缂栫爜'}
- ,{field: 'matName', align: 'center',title: '鐗╂枡鍚嶇О'}
- ,{field: 'qty', align: 'center',title: '鏁伴噺'}
- ,{field: 'specs', align: 'center',title: '瑙勬牸'}
- ,{field: 'unit', align: 'center',title: '鍗曚綅'}
- ,{field: 'size', align: 'center',title: '灏哄', hide: true}
- ,{field: 'color', align: 'center',title: '棰滆壊', hide: true}
- ,{field: 'weight', align: 'center',title: '鍗曢噸', hide: true}
- ,{field: 'memo', align: 'center',title: '澶囨敞', hide: true}
- ,{field: 'outQty', align: 'center',title: '宸插嚭搴撻噺'}
- ,{field: 'linkErp$', align: 'center',title: 'ERP杩炵嚎'}
- ,{field: 'ioStatus$', align: 'center',title: '瀹屾垚鐘舵��'}
- ,{field: 'ioTime$', align: 'center',title: '瀹屾垚鏃堕棿', hide: true}
- ,{field: 'modiUser$', align: 'center',title: '淇敼浜哄憳',event: 'modiUser', style: 'cursor:pointer', hide: true}
- ,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿', hide: true}
- ,{field: 'appeUser$', align: 'center',title: '寤烘。浜哄憳',event: 'appeUser', style: 'cursor:pointer', hide: true}
- ,{field: 'appeTime$', align: 'center',title: '寤烘。鏃堕棿', hide: true}
- ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:150}
+ {type: 'numbers'},
+ {field: 'billNo', title: '鍗曟嵁缂栧彿', sort: true},
+ {field: 'billType$', align: 'center', title: '绫诲瀷', minWidth: 160, width: 160},
+ {align: 'center', title: '鏄庣粏', toolbar: '#tbLook', minWidth: 160, width: 160},
+ {field: 'appeTime$', title: '鍒涘缓鏃堕棿', minWidth: 200, width: 200},
+ {align: 'center', title: '鎿嶄綔', toolbar: '#operate', minWidth: 130, width: 130}
]],
request: {
pageName: 'curr',
@@ -58,124 +40,176 @@
response: {
statusCode: 200
},
- done: function(res, curr, count) {
+ done: function (res, curr, count) {
if (res.code === 403) {
top.location.href = baseUrl+"/";
}
- pageCurr=curr;
- limit();
}
});
- // 鐩戝惉鎺掑簭浜嬩欢
- table.on('sort(waitMatout)', 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}
- });
+ // 鎼滅储
+ form.on('submit(waitMatoutSearch)', function (data) {
+ insTb.reload({where: data.field, page: {curr: 1}});
});
- // 鐩戝惉澶村伐鍏锋爮浜嬩欢
- table.on('toolbar(waitMatout)', 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;
- }
- var ids = checkStatus.map(function (d) {
- return d.seqNo;
- });
- del(ids);
- break;
- case 'exportData':
- layer.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);
+ // 娣诲姞
+ $("#waitMatoutAddBtn").click(function () {
+ showEditModel();
+ });
+
+ // 宸ュ叿鏉$偣鍑讳簨浠�
+ table.on('tool(waitMatout)', function (obj) {
+ var data = obj.data;
+ var layEvent = obj.event;
+ console.log(obj)
+ if (layEvent === 'edit') {
+ showEditModel(data);
+ } else if (layEvent === 'del') {
+ doDel(data.billNo);
+ } else if (layEvent === 'look') {
+ var $a = $(obj.tr).find('a[lay-event="look"]');
+ var offset = $a.offset();
+ var top = offset.top;
+ var left = offset.left;
+ layer.open({
+ type: 1,
+ title: false,
+ area: '800px',
+ offset: [top + 'px', (left - 530 + $a.outerWidth()) + 'px'],
+ shade: .01,
+ shadeClose: true,
+ fixed: false,
+ content: '<table id="lookSSXMTable" lay-filter="lookSSXMTable"></table>',
+ success: function (layero) {
+ table.render({
+ elem: '#lookSSXMTable',
+ headers: {token: localStorage.getItem('token')},
+ url: baseUrl+'/waitMatout/list/auth',
+ where: {
+ bill_no: data.billNo
+ },
+ page: true,
+ cellMinWidth: 100,
+ cols: [[
+ {type: 'numbers'},
+ {field: 'matNo', title: '鐗╂枡缂栫爜'},
+ {field: 'matName', title: '鐗╂枡鍚嶇О', width: 160},
+ {field: 'qty', title: '鏁伴噺', width: 90},
+ {
+ field: 'createTime$', title: '鍒涘缓鏃堕棿', sort: true, templet: function (d) {
+ return util.toDateString(d.createTime);
+ }, width: 180
+ },
+ {field: 'outqty', title: '宸插嚭搴撻噺'},
+ {field: 'color', title: '棰滆壊'},
+ {field: 'specs', 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 () {
+ $(layero).find('.layui-table-view').css('margin', '0');
+ },
+ size: ''
+ });
+ }
+ });
+ }
+ });
+
+ // 鏄剧ず琛ㄥ崟寮圭獥
+ function showEditModel(expTpe) {
+
+ //matOut ajax
+ // var DataList = [];
+ // $.ajax({
+ // url: baseUrl+"/waitMatout/list/auth2?billNo=" + expTpe.billNo,
+ // headers: {'token': localStorage.getItem('token')},
+ // contentType:'application/json;charset=UTF-8',
+ // method: 'POST',
+ // success: function (res) {
+ // console.log(res)
+ // var list=res.data.records;
+ // for (let i = 0; i < list.length; i++) {
+ // DataList.push(list[i]);
+ // }
+ // }
+ // })
+ // console.log(DataList)
+
+ admin.open({
+ type: 1,
+ title: (expTpe ? '淇敼' : '娣诲姞') + '鍗曟嵁',
+ content: $('#editDialog').html(),
+ area: '1300px',
+ success: function (layero, dIndex) {
+ $(layero).children('.layui-layer-content').css('overflow', 'visible');
+ var isExpAdd = !expTpe;
+ // 鍥炴樉鏁版嵁
+ form.val('editForm', expTpe);
+ if (expTpe) {
+ $('#billNo').attr("disabled", "disabled");
+ }
+ // 琛ㄥ崟鎻愪氦浜嬩欢
+ form.on('submit(waitMatoutEditSubmit)', function (data) {
+ console.log(data)
+ // 缁勮鏁版嵁
+ if (xxDataList.length <= 0) {
+ layer.tips('璇锋坊鍔犲崟鎹槑缁�', '#matAddBtnComment', {tips: [1, '#ff4c4c']});
+ return false;
+ }
+ var param = [];
+ var nList = admin.util.deepClone(xxDataList);
+ console.log(nList)
+ for (var xi = 0; xi < nList.length; xi++) {
+ if (nList[xi].outQty > 0 ) {
+
+ } else if (nList[xi].qty > 0) {
+ param.push({
+ billNo: data.field.billNo,
+ billType: data.field.billType,
+ matNo: nList[xi].matNo,
+ matName: nList[xi].matName,
+ color: nList[xi].color,
+ size: nList[xi].size,
+ specs: nList[xi].specs,
+ memo: nList[xi].memo,
+ unit: nList[xi].unit,
+ outQty: nList[xi].outQty,
+ qty: nList[xi].qty,
+ })
}
- });
- var exportData = {};
- $.each($('#search-box [name]').serializeArray(), function() {
- exportData[this.name] = this.value;
- });
- var param = {
- 'waitMatout': exportData,
- 'fields': fields
- };
+ }
+ if (param.length === 0) {
+ layer.msg('鍗曟嵁鏄庣粏鏁伴噺涓嶅悎娉�', {icon: 2});
+ return false;
+ }
+ layer.load(2);
$.ajax({
- url: baseUrl+"/waitMatout/export/auth",
+ url: baseUrl+"/waitMatout/" + (isExpAdd?"add":"modify") + "/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(waitMatout)', function(obj){
- var data = obj.data;
- switch (obj.event) {
- case 'edit':
- showEditModel(data);
- break;
- case "del":
- var ids = [data.seqNo];
- del(ids);
- break;
- }
- });
-
- /* 寮圭獥 - 鏂板銆佷慨鏀� */
- function showEditModel(mData) {
- admin.open({
- type: 1,
- area: '600px',
- title: (mData ? '淇敼' : '娣诲姞') + '璁㈠崟鐘舵��',
- content: $('#editDialog').html(),
- success: function (layero, dIndex) {
- layDateRender();
- form.val('detail', mData);
- form.on('submit(editSubmit)', function (data) {
- var loadIndex = layer.load(2);
- $.ajax({
- url: baseUrl+"/waitMatout/"+(mData?'update':'add')+"/auth",
- headers: {'token': localStorage.getItem('token')},
- data: data.field,
- method: 'POST',
- success: function (res) {
- layer.close(loadIndex);
+ layer.closeAll('loading');
if (res.code === 200){
layer.close(dIndex);
+ insTb.reload({page: {curr: 1}});
layer.msg(res.msg, {icon: 1});
- tableReload();
} else if (res.code === 403){
top.location.href = baseUrl+"/";
}else {
@@ -185,33 +219,233 @@
})
return false;
});
- $(layero).children('.layui-layer-content').css('overflow', 'visible');
- layui.form.render('select');
+ // 鏄庣粏琛ㄦ牸
+ var xxDataList = [];
+ var tbOptions = {
+ elem: '#formSSXMTable',
+ headers: {token: localStorage.getItem('token')},
+ data: xxDataList,
+ page: true,
+ height: '350px;',
+ cellMinWidth: 100,
+ cols: [[
+ {type: 'numbers'},
+ {field: 'matNo', title: '鐗╂枡缂栫爜'},
+ {field: 'matName', title: '鐗╂枡鍚嶇О', width: 160},
+ {field: 'specs', title: '瑙勬牸', width: 160},
+ {field: 'color', title: '棰滆壊', width: 160},
+ {field: 'size', title: '灏哄', width: 160},
+ {field: 'qty', title: '淇敼鏁伴噺', style: 'color: blue;font-weight: bold', edit: true, minWidth: 100, width: 100},
+ {field: 'unit', title: '鍗曚綅', width: 160},
+ {field: 'memo', title: '澶囨敞' , edit: true, width: 160},
+ {field: 'outQty', title: '宸插嚭搴撻噺' , width: 160},
+ {align: 'center', title: '鎿嶄綔', toolbar: '#formSSXMTableBar', minWidth: 80, width: 80}
+ ]],
+ done: function (res) {
+ var list= res.data
+ $(layero).find('.layui-table-view').css('margin', '0');
+ },
+ size: ''
+ };
+ if (!isExpAdd) {
+ $.ajax({
+ url: baseUrl+"/waitMatout/detl/list/auth?billNo=" + expTpe.billNo,
+ headers: {'token': localStorage.getItem('token')},
+ method: 'GET',
+ async: false,
+ success: function (res) {
+ if (res.code === 200){
+ xxDataList = res.data;
+ tbOptions.data = xxDataList;
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ }else {
+ layer.msg(res.msg, {icon: 2})
+ }
+ }
+ })
+ }
+ var insTbSSXM = table.render(tbOptions);
+ // 宸ュ叿鏉$偣鍑讳簨浠�
+ table.on('tool(formSSXMTable)', function (obj) {
+ var data = obj.data;
+ var layEvent = obj.event;
+ if (layEvent === 'edit') {
+ showEditModel2(data);
+ } else if (layEvent === 'del') {
+ layer.confirm('纭畾瑕佸垹闄ゅ悧锛�', {
+ shade: .1,
+ skin: 'layui-layer-admin'
+ }, function (i) {
+ layer.close(i);
+ for (var j = 0; j < xxDataList.length; j++) {
+ if (xxDataList[j].matNo === data.matNo) {
+ xxDataList.splice(j, 1);
+ break;
+ }
+ }
+ insTbSSXM.reload({data: xxDataList, page: {curr: 1}});
+ });
+ }
+ });
+ // 鏁伴噺淇敼
+ table.on('edit(formSSXMTable)', function (obj) {
+ debugger;
+ if (obj.field=='memo'){
+ let vle = obj.value;
+ for (var i=0;i<xxDataList.length;i++) {
+ if (xxDataList[i]["matNo"] === obj.data.matNo) {
+ xxDataList[i]["memo"] = vle;
+ break;
+ }
+ }
+ }else if (obj.field=='qty'){
+ let vle = Number(obj.value);
+ if (isNaN(vle)) {
+ layer.msg("璇疯緭鍏ユ暟瀛�");
+ } else {
+ if (vle > 0) {
+ for (var i=0;i<xxDataList.length;i++) {
+ if (xxDataList[i]["matNo"] === obj.data.matNo) {
+ xxDataList[i]["qty"] = vle;
+ break;
+ }
+ }
+ } else {
+ layer.msg("鏁伴噺蹇呴』澶т簬闆�");
+ }
+ }
+ }
+
+ insTbSSXM.reload({data: xxDataList});
+ });
+ //
+ $('#matAddBtnComment').click(function () {
+ showEditModel2();
+ });
+
+ // 鏄剧ず娣诲姞鏄庣粏琛ㄥ崟寮圭獥
+ function showEditModel2(exp) {
+ admin.open({
+ type: 1,
+ offset: '150px',
+ area: '480px',
+ title: (exp ? '淇敼' : '娣诲姞') + '鏄庣粏',
+ content: $('#matEditDialog').html(),
+ success: function (layero, dIndex) {
+ $(layero).children('.layui-layer-content').css('overflow', 'visible');
+ // 鍥炴樉鏁版嵁
+ form.val('matEditForm', exp);
+ // 琛ㄥ崟鎻愪氦浜嬩欢
+ form.on('submit(matEditSubmit)', function (data) {
+ var existMats = [];
+ xxDataList.forEach(function(elem) {
+ existMats.push(elem.matNo);
+ });
+ var selectList = matXmSelect.getValue();
+ for (var i = 0; i<selectList.length; i++) {
+ var item = selectList[i];
+ if (existMats.indexOf(item.value) === -1) {
+ // 鏌ヨ鐗╂枡璇︽儏
+ $.ajax({
+ url: baseUrl+"/matCode/"+item.value+"/auth",
+ headers: {'token': localStorage.getItem('token')},
+ method: 'GET',
+ async: false,
+ success: function (res) {
+ if (res.code === 200){
+ var mat = res.data;
+ console.log(mat)
+ xxDataList.push({
+ matNo: mat.matNo,
+ matName: mat.matName,
+ color:mat.color,
+ size:mat.size,
+ specs:mat.specs,
+ memo: mat.memo,
+ unit: mat.unit,
+ outQty: mat.outQty,
+ qty: 0.0
+ });
+ insTbSSXM.reload({data: xxDataList, page: {curr: 1}});
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ }else {
+ layer.msg(res.msg, {icon: 2})
+ }
+ }
+ })
+ }
+ }
+ layer.close(dIndex);
+ return false;
+ });
+ // 娓叉煋鐗╂枡閫夋嫨
+ var matXmSelect = xmSelect.render({
+ el: '#mat',
+ style: {
+ width: '340px',
+ },
+ autoRow: true,
+ toolbar: { show: true },
+ filterable: true,
+ remoteSearch: true,
+ remoteMethod: function(val, cb, show){
+ $.ajax({
+ url: baseUrl+"/mat/all/get/kv",
+ headers: {'token': localStorage.getItem('token')},
+ data: {
+ condition: val
+ },
+ method: 'POST',
+ success: function (res) {
+ if (res.code === 200){
+ cb(res.data)
+ } else {
+ cb([]);
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ });
+ }
+ })
+ // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯
+ $(layero).children('.layui-layer-content').css('overflow', 'visible');
+ layui.form.render('select');
+ }
+ });
+ }
+
}
});
}
- /* 鍒犻櫎 */
- function del(ids) {
- layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', {
- skin: 'layui-layer-admin',
- shade: .1
+
+ // 鍒犻櫎鍗曟嵁
+ function doDel(billNo) {
+ layer.confirm('纭畾瑕佸垹闄ゅ悧锛�', {
+ shade: .1,
+ skin: 'layui-layer-admin'
}, function (i) {
layer.close(i);
- var loadIndex = layer.load(2);
+ layer.load(2);
+
$.ajax({
url: baseUrl+"/waitMatout/delete/auth",
headers: {'token': localStorage.getItem('token')},
- data: {ids: ids},
+ data: {
+ billNo: billNo
+ },
+ // contentType:'application/json;charset=UTF-8',
method: 'POST',
success: function (res) {
- layer.close(loadIndex);
+ layer.closeAll('loading');
if (res.code === 200){
+ insTb.reload({page: {curr: 1}});
layer.msg(res.msg, {icon: 1});
- tableReload();
} else if (res.code === 403){
top.location.href = baseUrl+"/";
- } else {
+ }else {
layer.msg(res.msg, {icon: 2});
}
}
@@ -219,55 +453,9 @@
});
}
- // 鎼滅储
- form.on('submit(search)', function (data) {
- pageCurr = 1;
- tableReload(false);
+ layDate.render({
+ elem: '.layui-laydate-range'
+ ,type: 'datetime'
+ ,range: true
});
-
- // 閲嶇疆
- form.on('submit(reset)', function (data) {
- pageCurr = 1;
- clearFormVal($('#search-box'));
- tableReload(false);
- });
-
- // 鏃堕棿閫夋嫨鍣�
- function layDateRender() {
- layDate.render({
- elem: '#ioTime\\$',
- type: 'datetime'
- });
- layDate.render({
- elem: '#modiTime\\$',
- type: 'datetime'
- });
- layDate.render({
- elem: '#appeTime\\$',
- type: 'datetime'
- });
- layDate.render({
- elem: '.layui-laydate-range'
- ,type: 'datetime'
- ,range: true
- });
- }
- 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}
- });
-}
+});
\ No newline at end of file
--
Gitblit v1.9.1