From b61aecb994f9601e1b22be6531aa0f21d9dd4b98 Mon Sep 17 00:00:00 2001
From: cwchen <1048842385@qq.com>
Date: Tue, 12 Nov 2024 20:10:13 +0800
Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E4=BB=B6=E5=85=A5=E5=BA=93?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
css/accessory/accessory_store_form.css | 2 +-
js/accessory/child/accessory_store_form.js | 335 ++++++++++++++----
js/accessory/child/choose_fit_type_list.js | 184 ++++++----
.../accessory/child/accessory_store_form.html | 32 +-
.../accessory/child/choose_fit_type_list.html | 21 +-
5 files changed, 428 insertions(+), 146 deletions(-)
diff --git a/css/accessory/accessory_store_form.css b/css/accessory/accessory_store_form.css
index a6b21d8..c7c701b 100644
--- a/css/accessory/accessory_store_form.css
+++ b/css/accessory/accessory_store_form.css
@@ -127,7 +127,7 @@ blockquote {
text-align: left;
}
-.classTable tr:nth-child(odd) {
+.classTable tr th {
background-color: #f2f2f2;
}
diff --git a/js/accessory/child/accessory_store_form.js b/js/accessory/child/accessory_store_form.js
index 98490c8..b5e7e86 100644
--- a/js/accessory/child/accessory_store_form.js
+++ b/js/accessory/child/accessory_store_form.js
@@ -1,13 +1,12 @@
let idParam, objParam, fileList = new Array(), imgListUp = new Array();
let form, laydate, layer, upload, table, util;
let pageNum = 1, tableIns; // 定义分页
-let jjDataArr = []; // 新增需求计划外机具的数据
+let jjDataArr = []; // 入库配件数据
let jjDetailArr = []; // 机具明细数据
+let cjList = []; // 厂家下拉选
+let delIdArr = [];
function setParams(obj) {
objParam = JSON.parse(obj);
- idParam = objParam.proId;
- $('#proName').html(objParam.proName);
- $('#planNum').html(objParam.planNum);
layui.use(['form', 'layer', 'laydate', 'upload', 'table'], function () {
form = layui.form;
layer = layui.layer;
@@ -16,7 +15,7 @@ function setParams(obj) {
table = layui.table;
util = layui.util;
laydate.render({
- elem: '#createDay'
+ elem: '#inputDay'
});
form.verify();
form.on('submit(formData)', function (data) {
@@ -51,6 +50,7 @@ function setParams(obj) {
}
});
});
+ getVendList();
}
// 设置文件类型
function handleFileType(index, file, result) {
@@ -106,25 +106,6 @@ function saveData2() {
$('#formSubmit').trigger('click')
}
-// 复选框全选
-function selectAll(selectStatus) {//传入参数(全选框的选中状态)
- //根据name属性获取到单选框的input,使用each方法循环设置所有单选框的选中状态
- if (selectStatus) {
- $("input[name='check']").each(function (i, n) {
- n.checked = true;
- $(n).parent().parent().find('td').eq(2).find('input').prop('readonly', false).removeAttr('style').val('0');
- });
- } else {
- $("input[name='check']").each(function (i, n) {
- n.checked = false;
- $(n).parent().parent().find('td').eq(2).find('input').prop('readonly', true).css({
- 'background-color': '#f0f0f0',
- 'border': '1px solid #d9d9d9'
- }).val('');
- });
- }
-}
-
function setNumColor(value, type) { // 1.需要量 2.已发货量 3.差缺量
let color = '#66b1ff';
if (type === 1) {
@@ -140,32 +121,22 @@ function setNumColor(value, type) { // 1.需要量 2.已发货量 3.差缺量
// 提交
function submitApply(data) {
- let list = [];
- // 校验发货附件是否上传
+ let list = getBaseTableData();
+ // 校验附件证明是否上传
if (fileList.length === 0) {
- return layer.msg('请上传发货附件', { icon: 7 });
+ return layer.msg('请上传附件证明', { icon: 7 });
}
- // 校验调整量发生变化是否填写备注
- for (let i = 0; i < jjDetailArr.length; i++) {
- let obj = jjDetailArr[i];
- if (obj.tzNum > 0 && !obj.remarks) {
- return layer.msg(obj.type + '-' + obj.name + '-' + obj.module + ',已修改调整量,请填写备注', { icon: 7 });
- }
- }
- // 添加机具发货数据
- for (let i = 0; i < jjDetailArr.length; i++) {
- let obj = jjDetailArr[i];
- if (obj.num > 0 || obj.tzNum > 0) {
- list.push(obj);
- }
- }
- // 校验机具发货数量
+ // 校验配件入库数量
if (list.length === 0) {
- return layer.msg('未填写发货数量', { icon: 7 });
+ return layer.msg('未填写配件入库数量', { icon: 7 });
}
- data.field.proId = idParam;
- data.field.list = list;
- data.field.addList = jjDataArr;
+ for (let i = 0; i < list.length; i++) {
+
+ if (!list[i].inputNum || list[i].inputNum === '0') {
+ return layer.msg('入库配件明细,第' + (i + 1) + '行,未填写配件入库数量', { icon: 7 });
+ }
+ }
+ data.field.details = list;
let formData = new FormData();
//遍历最终文件集合
for (let i = 0; i < fileList.length; i++) {
@@ -175,7 +146,7 @@ function submitApply(data) {
console.log(JSON.stringify(data.field));
let loadingMsg = layer.msg('正在提交保存,请稍等...', { icon: 16, shade: 0.01, time: '0' });
console.log(JSON.stringify(data.field));
- let url = dataUrl + 'backstage/planOut/insertProOutPutInfo';
+ let url = dataUrl + 'backstage/partInput/addInputData';
ajaxRequestByUploadFile(url, formData, function () {
$('.save').addClass("layui-btn-disabled").attr("disabled", true);
$('.cancel').addClass("layui-btn-disabled").attr("disabled", true);
@@ -199,17 +170,25 @@ function submitApply(data) {
}, null);
}
-
-// 处理数字
-function handleNum(value) {
- if (!value) {
- return null;
- }
- const regex = /^(0|[1-9]\d{0,6})$/;
- if (!regex.test(value)) {
- return layer.msg('格式不正确,最大输入6位数,且为正整数!', { icon: 7 })
- }
- return null;
+// 获取入库配件明细数据
+function getBaseTableData() {
+ let tableData = [];
+ $('#baseTable tbody tr').each(function (index, item) {
+ let price = $(this).find('td').eq(7).find('input[name="price"]').val();
+ let num = $(this).find('td').eq(6).find('input[name="num"]').val();
+ tableData.push({
+ partId: $(this).attr('id'),
+ partType: $(this).find('td').eq(2).html(),
+ partName: $(this).find('td').eq(3).html(),
+ partModel: $(this).find('td').eq(4).html(),
+ partUnit: $(this).find('td').eq(5).html(),
+ inputNum: num ? num : 0,
+ partPrice: price ? price : 0,
+ vendId: $(this).find('td').eq(8).find('select[name="manufacturer"]').val(),
+ remark: $(this).find('td').eq(9).find('input[name="remarks"]').val(),
+ })
+ })
+ return tableData;
}
@@ -222,10 +201,244 @@ function chooseFitType() {
openIframeByParamObj("choose_fit_type", '选择入库配件类型', "./choose_fit_type_list.html", '92%', '95%', params);
}
-function addJjDatas(data) {
- console.log('新增的数据:' + data);
- jjDataArr = JSON.parse(data);
+// 查询
+function search() {
+ let keyWord = $('#type').val();
+ let keyWord2 = $('#name').val();
+ let keyWord3 = $('#model').val();
+ if (!keyWord && !keyWord2 && !keyWord3) {
+ setTableData(jjDataArr);
+ } else if (keyWord && !keyWord2 && !keyWord3) {
+ let dataList = jjDataArr.filter(item => {
+ return item.type.indexOf(keyWord) > -1;
+ })
+ setTableData(dataList);
+ } else if (!keyWord && keyWord2 && !keyWord3) {
+ let dataList = jjDataArr.filter(item => {
+ return item.name.indexOf(keyWord2) > -1;
+ })
+ setTableData(dataList);
+ } else if (!keyWord && !keyWord2 && keyWord3) {
+ let dataList = jjDataArr.filter(item => {
+ return item.model.indexOf(keyWord3) > -1;
+ })
+ setTableData(dataList);
+ } else if (keyWord && keyWord2 && !keyWord3) {
+ let dataList = jjDataArr.filter(item => {
+ return item.type.indexOf(keyWord) > -1 && item.name.indexOf(keyWord2) > -1;
+ })
+ setTableData(dataList);
+ } else if (keyWord && !keyWord2 && keyWord3) {
+ let dataList = jjDataArr.filter(item => {
+ return item.type.indexOf(keyWord) > -1 && item.model.indexOf(keyWord3) > -1;
+ })
+ setTableData(dataList);
+ } else if (!keyWord && keyWord2 && keyWord3) {
+ let dataList = jjDataArr.filter(item => {
+ return item.name.indexOf(keyWord2) > -1 && item.model.indexOf(keyWord3) > -1;
+ })
+ setTableData(dataList);
+ } else if (keyWord && keyWord2 && keyWord3) {
+ let dataList = jjDataArr.filter(item => {
+ return item.type.indexOf(keyWord) > -1 && item.name.indexOf(keyWord2) > -1 && item.model.indexOf(keyWord3) > -1;
+ })
+ setTableData(dataList);
+ }
}
+
+// 重置
+function resetSearch() {
+ $('#type').val('');
+ $('#name').val('');
+ $('#model').val('');
+ setTableData(jjDataArr);
+}
+
+// 子页面回调数据
+function addFitDatas(data) {
+ console.log('新增的数据:' + data);
+ if (jjDataArr.length > 0) { // 继续添加数据
+ let newJjDataArr = JSON.parse(data);
+ $.each(newJjDataArr, function (index, item) {
+ updateOrAddObject(item.id, item);
+ });
+ setTableData(jjDataArr);
+ } else { // 第一次添加数据
+ jjDataArr = JSON.parse(data);
+ if (jjDataArr && jjDataArr.length > 0) {
+ $('#no_data_title').css({ 'display': 'none' });
+ $('#search-info').removeAttr('style');
+ $('#table-box').removeAttr('style');
+ setTableData(jjDataArr);
+ }
+ }
+
+ function updateOrAddObject(id, newObject) {
+ const index = jjDataArr.findIndex(obj => obj.id === id);
+ if (index !== -1) {
+ // 如果对象存在,则替换它
+ jjDataArr[index] = newObject;
+ } else {
+ // 如果对象不存在,则添加到数组
+ jjDataArr.push(newObject);
+ }
+ }
+}
+
+// 入库配件明细表格赋值
+function setTableData(results) {
+ $('#allCheck').prop('checked', false)
+ var html = "";
+ if (results && results.length > 0) {
+ for (var i = 0; i < results.length; i++) {
+ var l = results[i];
+ html += "
";
+ html += ' | ';
+ html += ""
+ + (i + 1) + " | ";
+ html += "" + l.type + " | ";
+ html += "" + l.name + " | ";
+ html += "" + l.model + " | ";
+ html += "" + l.unit + " | ";
+ html += "" + setFormInput(l.num, 1) + " | ";
+ html += "" + setFormInput(l.price, 2) + " | ";
+ html += "" + setFormInput(l.manufacturer, 3) + " | ";
+ html += "" + setFormInput(l.remarks, 4) + " | ";
+ html += "
";
+ }
+ } else {
+ html += "| 没有相关数据 |
";
+ }
+ $("#baseTable tbody").empty().append(html);
+ layui.form.render();
+}
+
+function setFormInput(value, type) {
+ let html = '';
+ return html;
+
+}
+
+function setSelectData(value) {
+ let html = '';
+ $.each(cjList, function (index, item) {
+ if (item.id === value) {
+ html += ''
+ } else {
+ html += ''
+ }
+
+ })
+ return html;
+}
+
+// 厂家下拉选
+function getVendList() {
+ cjList.splice(0, cjList.length);
+ let encryptedData = {};
+ let url = dataUrl + 'backstage/paType/getVendList?encryptedData=' + encodeURIComponent(JSON.stringify(encryptedData));
+ ajaxRequest(url, "GET", null, false, function () {
+ }, function (result) {
+ console.log(result);
+ if (result.code === 200) {
+ cjList = result.data;
+ }
+ }, function (xhr, status, error) {
+ errorFn(xhr, status, error)
+ }, null);
+}
+
+// 复选框全选
+function selectAll(selectStatus) {//传入参数(全选框的选中状态)
+ if (selectStatus) {
+ $("input[name='check']").each(function (i, n) {
+ n.checked = true;
+ });
+ $.each(jjDataArr, function (index, item) {
+ delIdArr.push(item.id);
+ })
+ } else {
+ $("input[name='check']").each(function (i, n) {
+ n.checked = false;
+ });
+ delIdArr.splice(0, delIdArr.length);
+ }
+}
+
+// 单个选中
+function sel(selectStatus, that, id) {
+ if (selectStatus) {
+ $(that).prop('checked', true);
+ delIdArr.push(id);
+ } else {
+ $(that).prop('checked', false);
+ for (let i = 0; i < delIdArr.length; i++) {
+ if (delIdArr[i] == id) {
+ arr.splice(i, 1);
+ break;
+ }
+ }
+ }
+}
+
+// 删除选中
+function delFitType() {
+ if (delIdArr.length == 0) {
+ layer.msg('请先选择需要删除的数据!', { icon: 7 })
+ return;
+ }
+ let layerIndex = layer.confirm('确定要删除选中数据吗!
', { title: '操作提示' }, function () {
+ layer.close(layerIndex);
+ for (let i = 0; i < delIdArr.length; i++) {
+ for (let j = 0; j < jjDataArr.length; j++) {
+ let id = jjDataArr[j].id;
+ if (delIdArr[i] == id) {
+ jjDataArr.splice(j, 1);
+ break;
+ }
+ }
+ }
+ if (jjDataArr.length === 0) {
+ $('#no_data_title').removeAttr('style');
+ $('#search-info').css({ 'display': 'none' });
+ $('#table-box').css({ 'display': 'none' });
+ } else {
+ setTableData(jjDataArr);
+ }
+
+ });
+}
+
+// 校验数据
+function checkValue(that, type) {
+ let value = $(that).val();
+ if (type === 1) { // 入库量
+ const regex = /^(0|[1-9]\d{0,6})$/;
+ if (!regex.test(value) && value) {
+ layer.msg('入库量输入不合法,请重新输入!', { icon: 5 })
+ $(that).val('');
+ }
+ } else if (type === 2) { // 单价
+ const regex = /^(?:1(?:\d{0,8}|[0-9]*\.\d{1,2})|(?:[1-9]\d{0,7}|[1-9]\d{0,6}\.\d{1,2}|[1-9]\d{1,7}\.\d{2}|100000000(?:\.00)?))$/;
+ if (!regex.test(value) && value) {
+ layer.msg('单价输入不合法,请重新输入!', { icon: 5 })
+ $(that).val('');
+ }
+ }
+}
+
// 关闭页面
function closePage(type) {
let index = parent.layer.getFrameIndex(window.name); // 先得到当前 iframe层的索引
diff --git a/js/accessory/child/choose_fit_type_list.js b/js/accessory/child/choose_fit_type_list.js
index a334169..15b4577 100644
--- a/js/accessory/child/choose_fit_type_list.js
+++ b/js/accessory/child/choose_fit_type_list.js
@@ -4,20 +4,38 @@ let pageNum = 1;
let quanju = new Array();//全局
let huancun = new Array();//缓存
let huancunObj = new Array();//缓存2
+let cjList = [];
+let jjDetailArr = []; // 入库配件类型数据
function setParams(obj) {
objParam = JSON.parse(obj);
console.log(objParam);
- $('#proName').html(objParam.proName);
layui.use(["form", "table", 'element', 'layer', 'util'], function () {
form = layui.form;
table = layui.table;
element = layui.element;
layer = layui.layer;
util = layui.util;
+ getVendList();
initTable();
});
}
+// 厂家下拉选
+function getVendList() {
+ cjList.splice(0, cjList.length);
+ let encryptedData = {};
+ let url = dataUrl + 'backstage/paType/getVendList?encryptedData=' + encodeURIComponent(JSON.stringify(encryptedData));
+ ajaxRequest(url, "GET", null, false, function () {
+ }, function (result) {
+ console.log(result);
+ if (result.code === 200) {
+ cjList = result.data;
+ }
+ }, function (xhr, status, error) {
+ errorFn(xhr, status, error)
+ }, null);
+}
+
// 查询/重置
function queryTable(type) {
if (type === 1) {
@@ -25,6 +43,7 @@ function queryTable(type) {
} else if (type === 2) {
$('#name').val('');
$('#module').val('');
+ $('#type').val('');
layui.form.render();
reloadTable(1);
}
@@ -39,7 +58,8 @@ function reloadTable(pageNum) {
where: {
encryptedData: JSON.stringify({
'name': $('#name').val(),
- 'module': $('#module').val(),
+ 'model': $('#model').val(),
+ 'type': $('#type').val(),
}),
},
},
@@ -56,11 +76,12 @@ function initTable() {
headers: {
authorization: sessionStorage.getItem("gz-token"),
},
- url: dataUrl + "backstage/planOut/getPorInfoDetail",
+ url: dataUrl + "backstage/paType/findByPage",
where: {
encryptedData: JSON.stringify({
+ 'type': $('#type').val(),
'name': $('#name').val(),
- 'module': $('#module').val(),
+ 'model': $('#model').val(),
}),
},
request: {
@@ -68,17 +89,18 @@ function initTable() {
limitName: 'pageSize'
},
parseData: function (res) { // res 即为原始返回的数据
- /* if (jjDetailArr && res.list) {
- $.each(res.list, function (index, item) {
- $.each(jjDetailArr, function (index2, item2) {
- if (item.id === item2.id) {
- item.num = item2.num;
- item.tzNum = item2.tzNum;
- item.outId = item2.outId;
- }
+ if (jjDetailArr && res.list) {
+ $.each(res.list, function (index, item) {
+ $.each(jjDetailArr, function (index2, item2) {
+ if (item.id === item2.id) {
+ item.num = item2.num;
+ item.price = item2.price;
+ item.remarks = item2.remarks;
+ item.manufacturer = item2.manufacturer;
+ }
+ });
});
- });
- } */
+ }
return {
"code": 0, // 解析接口状态
"msg": '获取成功', // 解析提示文本
@@ -112,7 +134,7 @@ function initTable() {
align: "center",
},
{
- field: "module",
+ field: "model",
width: '10%',
title: "规格型号",
unresize: true,
@@ -135,7 +157,7 @@ function initTable() {
style: 'outline: 1px solid #e6e6e6;outline-offset: -5px;'
},
{
- field: "num",
+ field: "price",
width: '9.8%',
title: "单价(元)",
unresize: true,
@@ -144,16 +166,15 @@ function initTable() {
style: 'outline: 1px solid #e6e6e6;outline-offset: -5px;'
},
{
- field: "num",
+ field: "manufacturer",
width: '15%',
title: " * 配件厂家",
unresize: true,
align: "center",
templet: '#TPL-select-demo'
- // style: 'outline: 1px solid #e6e6e6;outline-offset: -5px;'
},
{
- field: "remark",
+ field: "remarks",
width: '12%',
title: "备注",
unresize: true,
@@ -171,25 +192,15 @@ function initTable() {
var options = this;
table.resize("currentTableId");
pageNum = tableIns.config.page.curr;
- // layui form select 事件
form.on('select(select-demo)', function (obj) {
console.log(obj);
-
var value = obj.value; // 获取选中项 value
// 获取当前行数据(如 id 等字段,以作为数据修改的索引)
var data = table.getRowData(options.id, obj.elem);
// 更新数据中对应的字段
- data.city = value;
- // 显示当前行最新数据 - 仅用于示例展示
- showData(data);
+ data.manufacturer = value;
+ updateOrAddObject(data.id, data);
});
- // 展示数据 - 仅用于演示
- var showData = function (data) {
- return layer.msg('当前行最新数据:
' + util.escape(JSON.stringify(data)), {
- offset: '16px',
- anim: 'slideDown'
- });
- };
// 获取当前行数据 - 自定义方法
table.getRowData = function (tableId, elem) {
var index = $(elem).closest('tr').data('index');
@@ -198,8 +209,6 @@ function initTable() {
//设置全部数据到全局变量
quanju = res.data;
- //在缓存中找到id ,然后设置data表格中的选中状态
- //循环所有数据,找出对应关系,设置checkbox选中状态
for (var i = 0; i < res.data.length; i++) {
for (var j = 0; j < huancun.length; j++) {
//数据id和要勾选的id相同时checkbox选中
@@ -222,14 +231,10 @@ function initTable() {
}
},
});
- table.on('edit(currentTableId)', function (obj) {
- console.log(obj);
+ table.on('edit(currentTableId2)', function (obj) {
var field = obj.field; // 得到修改的字段
var value = obj.value // 得到修改后的值
- var oldValue = obj.oldValue // 得到修改前的值 -- v2.8.0 新增
- var data = obj.data // 得到所在行所有键值
- var col = obj.getCol(); // 得到当前列的表头配置属性 -- v2.8.0 新增
- if (field === 'num' || field === 'tzNum') { // 本次发货量/调整量
+ if (field === 'num') { // 本次入库量
if (value) {
const regex = /^(0|[1-9]\d{0,6})$/;
if (!regex.test(value)) {
@@ -237,7 +242,13 @@ function initTable() {
return layer.msg('格式不正确,最大输入6位数,且为正整数!', { icon: 7 })
}
}
- } else if (field === 'outId') { // 备注
+ } else if (field === 'price') {
+ const regex = /^(?:1(?:\d{0,8}|[0-9]*\.\d{1,2})|(?:[1-9]\d{0,7}|[1-9]\d{0,6}\.\d{1,2}|[1-9]\d{1,7}\.\d{2}|100000000(?:\.00)?))$/;
+ if (!regex.test(value)) {
+ obj.reedit();
+ return layer.msg('单价格式不正确!', { icon: 7 })
+ }
+ } else if (field === 'remarks') { // 备注
if (value) {
if (value.length > 255) {
obj.reedit();
@@ -248,34 +259,19 @@ function initTable() {
// 显示 - 仅用于演示
// layer.msg('[ID: ' + data.id + '] ' + field + ' 字段更改值为:' + util.escape(value));
let id = obj.data.id;
- let num = obj.data.num;
- let tzNum = obj.data.tzNum;
- let outId = obj.data.outId;
- let type = obj.data.type;
- let name = obj.data.name;
- let module = obj.data.module;
- let objParam = {
- id: id,
- num: num,
- tzNum: tzNum,
- outId: outId,
- type: type,
- name: name,
- module: module,
- remarks: outId
- }
- updateOrAddObject(id, objParam);
+ updateOrAddObject(id, obj.data);
});
//复选框选中监听,将选中的id 设置到缓存数组,或者删除缓存数组
table.on('checkbox(currentTableId2)', function (obj) {
- alert(12);
if (obj.checked === true) {
if (obj.type === 'one' && huancun.indexOf(obj.data.id) === -1) {
huancun.push(obj.data.id);
+ huancunObj.push(obj.data);
} else {
for (let i = 0; i < quanju.length; i++) {
if (huancun.indexOf(quanju[i].id) === -1) {
huancun.push(quanju[i].id);
+ huancunObj.push(quanju[i]);
}
}
}
@@ -284,6 +280,7 @@ function initTable() {
for (let i = 0; i < huancun.length; i++) {
if (huancun[i] === obj.data.id) {
removeByValue(huancun, huancun[i]);//调用自定义的根据值移除函数
+ removeByValue(huancunObj, huancunObj[i]);//调用自定义的根据值移除函数
}
}
} else {
@@ -291,6 +288,7 @@ function initTable() {
for (let j = 0; j < huancun.length; j++) {
if (huancun[j] === quanju[i].id) {
removeByValue(huancun, +huancun[j]);//调用自定义的根据值移除函数
+ removeByValue(huancunObj, +huancunObj[j]);//调用自定义的根据值移除函数
}
}
}
@@ -299,17 +297,83 @@ function initTable() {
});
}
+// 根据id 判断对象数组的对象是否存在 如果存在则替换,不存在则添加
+function updateOrAddObject(id, newObject) {
+ const index = jjDetailArr.findIndex(obj => obj.id === id);
+ if (index !== -1) {
+ // 如果对象存在,则替换它
+ jjDetailArr[index] = newObject;
+ } else {
+ // 如果对象不存在,则添加到数组
+ jjDetailArr.push(newObject);
+ }
+}
+
+
+//自定义方法,根据值去移除
+function removeByValue(arr, val) {
+ for (let i = 0; i < arr.length; i++) {
+ if (arr[i] == val) {
+ arr.splice(i, 1);
+ break;
+ }
+ }
+ for (let i = 0; i < huancunObj.length; i++) {
+ if (huancunObj[i].id == val) {
+ huancunObj.splice(i, 1);
+ break;
+ }
+ }
+}
+
+// 保存数据
+function saveData2(params) {
+ let dataArr = [];
+ if (huancun.length === 0) {
+ return layer.msg('未添加数据', { icon: 7 });
+ } else {
+ $.each(huancunObj, function (index, item) {
+ dataArr.push(item);
+ })
+ for (let i = 0; i < huancun.length; i++) {
+ const id = huancun[i];
+ for (let j = 0; j < jjDetailArr.length; j++) {
+ const obj = jjDetailArr[j];
+ if (id === obj.id) {
+ updateOrAddObject2(id, obj);
+ }
+ }
+ }
+ }
+ console.log(dataArr);
+ let layerIndex = layer.confirm('数据即将被添加,请仔细检查数据是否有错误!
', { title: '操作提示' }, function () {
+ layer.close(layerIndex);
+ closePage(1, JSON.stringify(dataArr));
+ });
+ // 替换对象
+ function updateOrAddObject2(id, newObject) {
+ const index = dataArr.findIndex(obj => obj.id === id);
+ if (index !== -1) {
+ // 如果对象存在,则替换它
+ dataArr[index] = newObject;
+ } else {
+ // 如果对象不存在,则添加到数组
+ dataArr.push(newObject);
+ }
+ }
+}
+
// 配件类型
function addFitTypeData() {
openIframeByParamObj2("add_fit_type_data", "配件类型", "../../../page/basic/fit_type_list.html", "92%", "95%", {});
}
-function closePage(type) {
+function closePage(type,params) {
let index = parent.layer.getFrameIndex(window.name); // 先得到当前 iframe层的索引
parent.layer.close(index); // 再执行关闭
if (type == 1) {
- window.parent.reloadData();
+ window.parent.addFitDatas(params);
}
}
\ No newline at end of file
diff --git a/page/accessory/child/accessory_store_form.html b/page/accessory/child/accessory_store_form.html
index 3529bd8..c56cf72 100644
--- a/page/accessory/child/accessory_store_form.html
+++ b/page/accessory/child/accessory_store_form.html
@@ -20,8 +20,7 @@
@@ -38,8 +37,7 @@