商品全部分配的问题

这几天做的一个项目,遇到了这样的需求,见图片。头一次做这样的需求,顿时感觉一脸懵逼,最后几乎弄了一周才出来的。在这里插入图片描述

鼠标下面的红字是新的需求,暂时还没做。
要求:抽检信息里面的东西全都是动态获取的;任务详情里面的也是动态获取的;
首先点击下发给后台传送数据。()
传送的数据格式为[{接受单位:aaa,商品名称:啊啊啊,商品批次:121;接受单位id:1}]
上代码:

			var arr_s = [];
			var arr_con = []
     $.each($("#wins .xz .contexts .contxt"), function (k, v) {
				// console.log(k)
				var ooo = {};
				var aaa = {};
				var _tree = $(this).find('.jieshoudanwei').combotree('tree');
				// console.log(_tree)
				var _val = _tree.tree('getSelected');
				// console.log(_val)
				var sp_val = $("#wins .xz .contexts .contxt").eq(k).find(".rwright tr")
				$.each(sp_val, function (i, z) {
					//   console.log(z)
					ooo = {
						"checkTaskCode": row.checkTaskcode,
						"productName": $(this).find('.shangpinmingc').combobox('getText'),
						"productCount": $(this).children(".sp").find('.shangpinpici').val(),
						"checkTaskItemCode": $(this).find('.shangpinmingc').combobox('getValue'),
						"receAuth": _val.id,
					}
					aaa = {
						"key": $(this).find('.shangpinmingc').combobox('getText'),
						"value": $(this).children(".sp").find('.shangpinpici').val(),
					}
					arr_s.push(ooo)
					arr_con.push(aaa)
				})
			})
		

然后判断是否商品全部下发

// 数组里面重复的相加
			let result = {};
			arr_con.value = parseInt(arr_con.value)
			arr_con.forEach(item => {
				if (result[item.key]) {
					result[item.key] += parseInt(item.value);
				} else {
					result[item.key] = parseInt(item.value);
				}
			})

			for (let k in result) {
				arr_new_.push({
					key: k,
					value: result[k]
				});
			}
			console.log(arr_new_)
                       //上面抽检信息里面的内容
			var top_sy = []
			$.each($("#wins .tops .xzxfrws li"), function (i, v) {
				var aaa = {
					"key": $(this).find('.sp_name_').html(),
					"value": parseInt($(this).find('.sp_num_').html()),
				}
				top_sy.push(aaa)
			})

			console.log(top_sy)
			var num_top = top_sy.length;
			var p = 0;
			// 判断2个数组是否相等
			$.each(arr_new_, function (i, v) {
				$.each(top_sy, function (k, m) {
					if (v.key == m.key) {
						if (v.value == m.value) {
							
							p++
						}
					}

				})

			})
			console.log(p)

整个的代码:

	function spxf(row) {
			console.log(row)
			var arr = [{
				"checkTaskCode": row.checkTaskcode
				// 任务编号
			}]
			console.log(arr)
			var arr_s = [];
			var arr_con = []
			// console.log($("#wins .xz .contexts .contxt"))
			$.each($("#wins .xz .contexts .contxt"), function (k, v) {
				// console.log(k)
				var ooo = {};
				var aaa = {};
				var _tree = $(this).find('.jieshoudanwei').combotree('tree');
				// console.log(_tree)
				var _val = _tree.tree('getSelected');
				// console.log(_val)
				var sp_val = $("#wins .xz .contexts .contxt").eq(k).find(".rwright tr")
				$.each(sp_val, function (i, z) {
					//   console.log(z)
					ooo = {
						"checkTaskCode": row.checkTaskcode,
						"productName": $(this).find('.shangpinmingc').combobox('getText'),
						"productCount": $(this).children(".sp").find('.shangpinpici').val(),
						"checkTaskItemCode": $(this).find('.shangpinmingc').combobox('getValue'),
						"receAuth": _val.id,
					}
					aaa = {
						"key": $(this).find('.shangpinmingc').combobox('getText'),
						"value": $(this).children(".sp").find('.shangpinpici').val(),
					}
					arr_s.push(ooo)
					arr_con.push(aaa)
				})
			})
              
			console.log(arr_s)
			console.log(arr_con)
			var arr_new_ = [];

			// 数组里面重复的相加
			let result = {};
			arr_con.value = parseInt(arr_con.value)
			arr_con.forEach(item => {
				if (result[item.key]) {
					result[item.key] += parseInt(item.value);
				} else {
					result[item.key] = parseInt(item.value);
				}
			})

			for (let k in result) {
				arr_new_.push({
					key: k,
					value: result[k]
				});
			}
			console.log(arr_new_)

			var top_sy = []
			$.each($("#wins .tops .xzxfrws li"), function (i, v) {
				var aaa = {
					"key": $(this).find('.sp_name_').html(),
					"value": parseInt($(this).find('.sp_num_').html()),
				}
				top_sy.push(aaa)
			})

			console.log(top_sy)
			var num_top = top_sy.length;
			var p = 0;
			// 判断2个数组是否相等
			$.each(arr_new_, function (i, v) {
				$.each(top_sy, function (k, m) {
					if (v.key == m.key) {
						if (v.value == m.value) {
							
							p++
						}
					}

				})

			})
			console.log(p)
			if (num_top == p) {
				$.ajax({
					url: 'gr/checkTaskDetail/addCheckTaskDetail.action',
					contentType: 'application/json;charset=UTF-8',
					data: JSON.stringify(arr_s),
					type: 'post',
					dataType: 'json',
					traditional: true,
					success: function (data) {
						arr_s
						$('#wins').window('close')
						$('#dg').datagrid('reload');

					}
				})
			} else {
				$.messager.alert('下发任务', '添加内容错误!', 'info');
			}
		}

终于有学到了一点东西,填了一个小坑,为以后填大坑加油!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值