产品弹窗修改
parent
aa64b56bfa
commit
992512f0e9
|
@ -354,31 +354,17 @@
|
||||||
var maintenanceProjectProductInfoList = []
|
var maintenanceProjectProductInfoList = []
|
||||||
|
|
||||||
function initProductList() {
|
function initProductList() {
|
||||||
let data = {
|
let softwareProjectProductInfoListAll = [[${projectInfo.softwareProjectProductInfoList}]] || []
|
||||||
pageSize: 100000,
|
softwareProjectProductInfoListAll.forEach((ele) => {
|
||||||
pageNum: 1,
|
addProduct(ele)
|
||||||
isTable: 0,
|
|
||||||
}
|
|
||||||
$.operate.post(ctx + 'system/product/list', {...data, type: '1'}, function (res) {
|
|
||||||
softwareProjectProductInfoList = res.rows
|
|
||||||
softwareProjectProductInfoList.unshift({
|
|
||||||
model: '',
|
|
||||||
productCode: ''
|
|
||||||
})
|
})
|
||||||
|
let hardwareProjectProductInfoListAll = [[${projectInfo.hardwareProjectProductInfoList}]] || []
|
||||||
|
hardwareProjectProductInfoListAll.forEach((ele) => {
|
||||||
|
addProduct2(ele)
|
||||||
})
|
})
|
||||||
$.operate.post(ctx + 'system/product/list', {...data, type: '2'}, function (res) {
|
let maintenanceProjectProductInfoListAll = [[${projectInfo.maintenanceProjectProductInfoList}]] || []
|
||||||
hardwareProjectProductInfoList = res.rows
|
maintenanceProjectProductInfoListAll.forEach((ele) => {
|
||||||
hardwareProjectProductInfoList.unshift({
|
addProduct3(ele)
|
||||||
model: '',
|
|
||||||
productCode: ''
|
|
||||||
})
|
|
||||||
})
|
|
||||||
$.operate.post(ctx + 'system/product/list', {...data, type: '11,22'}, function (res) {
|
|
||||||
maintenanceProjectProductInfoList = res.rows
|
|
||||||
maintenanceProjectProductInfoList.unshift({
|
|
||||||
model: '',
|
|
||||||
productCode: ''
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -454,6 +440,29 @@
|
||||||
$.modal.openOptions(options);
|
$.modal.openOptions(options);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function selectProduct(type, name, ele) {
|
||||||
|
var url = prefix + "/selectProduct";
|
||||||
|
window.localStorage.setItem('procuctType', type)
|
||||||
|
var options = {
|
||||||
|
title: '选择' + name,
|
||||||
|
width: "800",
|
||||||
|
height: '600',
|
||||||
|
url: url,
|
||||||
|
callBack: (index, layero) => {
|
||||||
|
doSubmitProduct(index, layero, ele)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$.modal.openOptions(options);
|
||||||
|
}
|
||||||
|
|
||||||
|
function doSubmitProduct(index, layero, ele) {
|
||||||
|
var rows = layero.find("iframe")[0].contentWindow.getSelections();
|
||||||
|
$(ele).parent().parent().find('.productBomCode').val(rows[0].productCode)
|
||||||
|
$(ele).parent().parent().find('.model').val(rows[0].model)
|
||||||
|
$(ele).parent().parent().find('.productDesc').val(rows[0].description)
|
||||||
|
$.modal.close(index);
|
||||||
|
}
|
||||||
|
|
||||||
function doSubmitCustomer(index, layero) {
|
function doSubmitCustomer(index, layero) {
|
||||||
var rows = layero.find("iframe")[0].contentWindow.getSelections();
|
var rows = layero.find("iframe")[0].contentWindow.getSelections();
|
||||||
if (rows.length == 0) {
|
if (rows.length == 0) {
|
||||||
|
@ -510,18 +519,8 @@
|
||||||
let tr = $(`
|
let tr = $(`
|
||||||
<tr>
|
<tr>
|
||||||
<td class="indexBox">${length + 1}</td>
|
<td class="indexBox">${length + 1}</td>
|
||||||
<td class="layui-form"><select name="softwareProjectProductInfoList[${length}].productBomCode" required class="form-control productBomCode" lay-search="" lay-filter="productCode1">
|
<td><input class="form-control productBomCode" type="text" onclick="selectProduct('1','终端产品',this)" name="softwareProjectProductInfoList[${length}].productBomCode"></td>
|
||||||
${softwareProjectProductInfoList.map((ele) => {
|
<td><input class="form-control model" type="text" onclick="selectProduct('1','终端产品',this)" name="softwareProjectProductInfoList[${length}].model"></td>
|
||||||
return `<option value="${ele.productCode}">${ele.productCode}</option>`
|
|
||||||
}).join('')
|
|
||||||
}
|
|
||||||
</select></td>
|
|
||||||
<td class="layui-form"><select name="softwareProjectProductInfoList[${length}].model" required class="form-control model" lay-search="" lay-filter="productModel1">
|
|
||||||
${softwareProjectProductInfoList.map((ele) => {
|
|
||||||
return `<option value="${ele.model}">${ele.model}</option>`
|
|
||||||
}).join('')
|
|
||||||
}
|
|
||||||
</select></td>
|
|
||||||
<td><textarea name="softwareProjectProductInfoList[${length}].productDesc" required class="form-control productDesc" placeholder="自动带入" readonly>${softwareProjectProductInfoList[0]?.description || ''}</textarea></td>
|
<td><textarea name="softwareProjectProductInfoList[${length}].productDesc" required class="form-control productDesc" placeholder="自动带入" readonly>${softwareProjectProductInfoList[0]?.description || ''}</textarea></td>
|
||||||
<td><input name="softwareProjectProductInfoList[${length}].quantity" type="number" class="form-control quantity" step="1" required></td>
|
<td><input name="softwareProjectProductInfoList[${length}].quantity" type="number" class="form-control quantity" step="1" required></td>
|
||||||
<td><input name="softwareProjectProductInfoList[${length}].cataloguePrice" type="text" class="form-control cataloguePrice" required></td>
|
<td><input name="softwareProjectProductInfoList[${length}].cataloguePrice" type="text" class="form-control cataloguePrice" required></td>
|
||||||
|
@ -531,7 +530,7 @@ ${softwareProjectProductInfoList.map((ele) => {
|
||||||
<td><input name="softwareProjectProductInfoList[${length}].allPrice" type="number" class="form-control allPrice" placeholder="自动计算" required readonly></td>
|
<td><input name="softwareProjectProductInfoList[${length}].allPrice" type="number" class="form-control allPrice" placeholder="自动计算" required readonly></td>
|
||||||
<td><input name="softwareProjectProductInfoList[${length}].catalogueAllPrice" type="number" class="form-control catalogueAllPrice" placeholder="自动计算" required readonly></td>
|
<td><input name="softwareProjectProductInfoList[${length}].catalogueAllPrice" type="number" class="form-control catalogueAllPrice" placeholder="自动计算" required readonly></td>
|
||||||
<td><input name="softwareProjectProductInfoList[${length}].remark" type="text" class="form-control" ></td>
|
<td><input name="softwareProjectProductInfoList[${length}].remark" type="text" class="form-control" ></td>
|
||||||
<td><span style="cursor:pointer;color: ff5722" class="delRow">删除</span></td>
|
<td><span style="cursor:pointer;color: #ff5722" class="delRow">删除</span></td>
|
||||||
|
|
||||||
</tr>`)
|
</tr>`)
|
||||||
$('#productTable tbody').append(tr)
|
$('#productTable tbody').append(tr)
|
||||||
|
@ -544,20 +543,8 @@ ${softwareProjectProductInfoList.map((ele) => {
|
||||||
let tr = $(`
|
let tr = $(`
|
||||||
<tr>
|
<tr>
|
||||||
<td class="indexBox">${length + 1}</td>
|
<td class="indexBox">${length + 1}</td>
|
||||||
<td class="layui-form"><select name="hardwareProjectProductInfoList[${length}].productBomCode" required class="form-control productBomCode" lay-search="" lay-filter="productCode2">
|
<td><input class="form-control productBomCode" type="text" onclick="selectProduct('2','软件产品',this)" name="hardwareProjectProductInfoList[${length}].productBomCode"></td>
|
||||||
${hardwareProjectProductInfoList.map((ele) => {
|
<td><input class="form-control model" type="text" onclick="selectProduct('2','软件产品',this)" name="hardwareProjectProductInfoList[${length}].model"></td>
|
||||||
return `<option value="${ele.productCode}">${ele.productCode}</option>`
|
|
||||||
}).join('')
|
|
||||||
}
|
|
||||||
|
|
||||||
</select></td>
|
|
||||||
<td class="layui-form"><select name="hardwareProjectProductInfoList[${length}].model" required class="form-control model" lay-search="" lay-filter="productModel2">
|
|
||||||
${hardwareProjectProductInfoList.map((ele) => {
|
|
||||||
return `<option value="${ele.model}">${ele.model}</option>`
|
|
||||||
}).join('')
|
|
||||||
}
|
|
||||||
|
|
||||||
</select></td>
|
|
||||||
<td><textarea name="hardwareProjectProductInfoList[${length}].productDesc" required class="form-control productDesc" placeholder="自动带入" readonly>${hardwareProjectProductInfoList[0]?.description || ''}</textarea></td>
|
<td><textarea name="hardwareProjectProductInfoList[${length}].productDesc" required class="form-control productDesc" placeholder="自动带入" readonly>${hardwareProjectProductInfoList[0]?.description || ''}</textarea></td>
|
||||||
<td><input name="hardwareProjectProductInfoList[${length}].quantity" type="number" class="form-control quantity" step="1" required></td>
|
<td><input name="hardwareProjectProductInfoList[${length}].quantity" type="number" class="form-control quantity" step="1" required></td>
|
||||||
<td><input name="hardwareProjectProductInfoList[${length}].cataloguePrice" type="text" class="form-control cataloguePrice" required></td>
|
<td><input name="hardwareProjectProductInfoList[${length}].cataloguePrice" type="text" class="form-control cataloguePrice" required></td>
|
||||||
|
@ -580,20 +567,8 @@ ${hardwareProjectProductInfoList.map((ele) => {
|
||||||
let tr = $(`
|
let tr = $(`
|
||||||
<tr>
|
<tr>
|
||||||
<td class="indexBox">${length + 1}</td>
|
<td class="indexBox">${length + 1}</td>
|
||||||
<td class="layui-form"><select name="maintenanceProjectProductInfoList[${length}].productBomCode" required class="form-control productBomCode" lay-search="" lay-filter="productCode3">
|
<td><input class="form-control productBomCode" type="text" onclick="selectProduct('11,22','服务产品',this)" name="maintenanceProjectProductInfoList[${length}].productBomCode"></td>
|
||||||
${hardwareProjectProductInfoList.map((ele) => {
|
<td><input class="form-control model" type="text" onclick="selectProduct('11,22','服务产品',this)" name="maintenanceProjectProductInfoList[${length}].model"></td>
|
||||||
return `<option value="${ele.productCode}">${ele.productCode}</option>`
|
|
||||||
}).join('')
|
|
||||||
}
|
|
||||||
|
|
||||||
</select></td>
|
|
||||||
<td class="layui-form"><select name="maintenanceProjectProductInfoList[${length}].model" required class="form-control model" lay-search="" lay-filter="productModel3">
|
|
||||||
${hardwareProjectProductInfoList.map((ele) => {
|
|
||||||
return `<option value="${ele.model}">${ele.model}</option>`
|
|
||||||
}).join('')
|
|
||||||
}
|
|
||||||
|
|
||||||
</select></td>
|
|
||||||
<td><textarea name="maintenanceProjectProductInfoList[${length}].productDesc" required class="form-control productDesc" placeholder="自动带入" readonly>${maintenanceProjectProductInfoList[0]?.description || ''}</textarea></td>
|
<td><textarea name="maintenanceProjectProductInfoList[${length}].productDesc" required class="form-control productDesc" placeholder="自动带入" readonly>${maintenanceProjectProductInfoList[0]?.description || ''}</textarea></td>
|
||||||
<td><input name="maintenanceProjectProductInfoList[${length}].quantity" type="number" class="form-control quantity" step="1" required></td>
|
<td><input name="maintenanceProjectProductInfoList[${length}].quantity" type="number" class="form-control quantity" step="1" required></td>
|
||||||
<td><input name="maintenanceProjectProductInfoList[${length}].cataloguePrice" type="text" class="form-control cataloguePrice" required></td>
|
<td><input name="maintenanceProjectProductInfoList[${length}].cataloguePrice" type="text" class="form-control cataloguePrice" required></td>
|
||||||
|
@ -603,7 +578,7 @@ ${hardwareProjectProductInfoList.map((ele) => {
|
||||||
<td><input name="maintenanceProjectProductInfoList[${length}].allPrice" type="number" class="form-control allPrice" placeholder="自动计算" required readonly></td>
|
<td><input name="maintenanceProjectProductInfoList[${length}].allPrice" type="number" class="form-control allPrice" placeholder="自动计算" required readonly></td>
|
||||||
<td><input name="maintenanceProjectProductInfoList[${length}].catalogueAllPrice" type="number" class="form-control catalogueAllPrice" placeholder="自动计算" required readonly></td>
|
<td><input name="maintenanceProjectProductInfoList[${length}].catalogueAllPrice" type="number" class="form-control catalogueAllPrice" placeholder="自动计算" required readonly></td>
|
||||||
<td><input name="maintenanceProjectProductInfoList[${length}].remark" type="text" class="form-control" ></td>
|
<td><input name="maintenanceProjectProductInfoList[${length}].remark" type="text" class="form-control" ></td>
|
||||||
<td><span style="cursor:pointer;color: ff5722" class="delRow">删除</span></td>
|
<td><span style="cursor:pointer;color: #ff5722" class="delRow">删除</span></td>
|
||||||
|
|
||||||
</tr>`)
|
</tr>`)
|
||||||
$('#productTable3 tbody').append(tr)
|
$('#productTable3 tbody').append(tr)
|
||||||
|
@ -625,31 +600,6 @@ ${hardwareProjectProductInfoList.map((ele) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
function initSearchProduct(type) {
|
function initSearchProduct(type) {
|
||||||
layui.use(function () {
|
|
||||||
var form = layui.form
|
|
||||||
form.render()
|
|
||||||
form.on('select(productCode1)', function (data) {
|
|
||||||
searchProduct(data.value, 'code', data.elem)
|
|
||||||
})
|
|
||||||
form.on('select(productCode2)', function (data) {
|
|
||||||
searchProduct(data.value, 'code', data.elem)
|
|
||||||
})
|
|
||||||
form.on('select(productCode3)', function (data) {
|
|
||||||
searchProduct(data.value, 'code', data.elem)
|
|
||||||
})
|
|
||||||
form.on('select(productModel1)', function (data) {
|
|
||||||
searchProduct(data.value, 'model', data.elem)
|
|
||||||
})
|
|
||||||
form.on('select(productModel2)', function (data) {
|
|
||||||
searchProduct(data.value, 'model', data.elem)
|
|
||||||
})
|
|
||||||
form.on('select(productModel3)', function (data) {
|
|
||||||
searchProduct(data.value, 'model', data.elem)
|
|
||||||
})
|
|
||||||
$('.layui-input').on('mouseout', function () {
|
|
||||||
$(this).blur()
|
|
||||||
})
|
|
||||||
})
|
|
||||||
$('.productTable .delRow').on('click', function () {
|
$('.productTable .delRow').on('click', function () {
|
||||||
let ele = $(this)
|
let ele = $(this)
|
||||||
$.modal.confirm('是否确认删除', function () {
|
$.modal.confirm('是否确认删除', function () {
|
||||||
|
@ -668,33 +618,6 @@ ${hardwareProjectProductInfoList.map((ele) => {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function searchProduct(val, type, ele, typeId) {
|
|
||||||
let selectObj = {}
|
|
||||||
let listName = $(ele).attr('name')
|
|
||||||
if (type == 'code') {
|
|
||||||
if (listName.indexOf('softwareProjectProductInfoList') > -1) {
|
|
||||||
selectObj = softwareProjectProductInfoList.find((ele) => ele.productCode == val)
|
|
||||||
} else if (listName.indexOf('hardwareProjectProductInfoList') > -1) {
|
|
||||||
selectObj = hardwareProjectProductInfoList.find((ele) => ele.productCode == val)
|
|
||||||
} else if (listName.indexOf('maintenanceProjectProductInfoList') > -1) {
|
|
||||||
selectObj = maintenanceProjectProductInfoList.find((ele) => ele.productCode == val)
|
|
||||||
}
|
|
||||||
$(ele).parent().parent().find('.model+div').find('.layui-input').val(selectObj.model)
|
|
||||||
$(ele).parent().parent().find('.model').val(selectObj.model)
|
|
||||||
} else {
|
|
||||||
if (listName.indexOf('softwareProjectProductInfoList') > -1) {
|
|
||||||
selectObj = softwareProjectProductInfoList.find((ele) => ele.model == val)
|
|
||||||
} else if (listName.indexOf('hardwareProjectProductInfoList') > -1) {
|
|
||||||
selectObj = hardwareProjectProductInfoList.find((ele) => ele.model == val)
|
|
||||||
} else if (listName.indexOf('maintenanceProjectProductInfoList') > -1) {
|
|
||||||
selectObj = maintenanceProjectProductInfoList.find((ele) => ele.model == val)
|
|
||||||
}
|
|
||||||
$(ele).parent().parent().find('.productBomCode+div').find('.layui-input').val(selectObj.model)
|
|
||||||
$(ele).parent().parent().find('.productBomCode').val(selectObj.productCode)
|
|
||||||
}
|
|
||||||
$(ele).parent().parent().find('.productDesc').val(selectObj.description)
|
|
||||||
}
|
|
||||||
|
|
||||||
function initPrice() {
|
function initPrice() {
|
||||||
$('.productTable .quantity').on('input', function () {
|
$('.productTable .quantity').on('input', function () {
|
||||||
let num = $(this).val()
|
let num = $(this).val()
|
||||||
|
|
|
@ -376,48 +376,18 @@
|
||||||
var maintenanceProjectProductInfoList = []
|
var maintenanceProjectProductInfoList = []
|
||||||
|
|
||||||
function initProductList() {
|
function initProductList() {
|
||||||
let data = {
|
|
||||||
pageSize: 100000,
|
|
||||||
pageNum: 1,
|
|
||||||
isTable: 0,
|
|
||||||
}
|
|
||||||
|
|
||||||
$.operate.post(ctx + 'system/product/list', {...data, type: '1'}, function (res) {
|
|
||||||
softwareProjectProductInfoList = res.rows
|
|
||||||
softwareProjectProductInfoList.unshift({
|
|
||||||
model: '',
|
|
||||||
productCode: ''
|
|
||||||
})
|
|
||||||
let softwareProjectProductInfoListAll = [[${projectInfo.softwareProjectProductInfoList}]] || []
|
let softwareProjectProductInfoListAll = [[${projectInfo.softwareProjectProductInfoList}]] || []
|
||||||
softwareProjectProductInfoListAll.forEach((ele) => {
|
softwareProjectProductInfoListAll.forEach((ele) => {
|
||||||
addProduct(ele)
|
addProduct(ele)
|
||||||
})
|
})
|
||||||
})
|
|
||||||
$.operate.post(ctx + 'system/product/list', {...data, type: '2'}, function (res) {
|
|
||||||
hardwareProjectProductInfoList = res.rows
|
|
||||||
hardwareProjectProductInfoList.unshift({
|
|
||||||
model: '',
|
|
||||||
productCode: ''
|
|
||||||
})
|
|
||||||
let hardwareProjectProductInfoListAll = [[${projectInfo.hardwareProjectProductInfoList}]] || []
|
let hardwareProjectProductInfoListAll = [[${projectInfo.hardwareProjectProductInfoList}]] || []
|
||||||
hardwareProjectProductInfoListAll.forEach((ele) => {
|
hardwareProjectProductInfoListAll.forEach((ele) => {
|
||||||
addProduct2(ele)
|
addProduct2(ele)
|
||||||
})
|
})
|
||||||
|
|
||||||
})
|
|
||||||
$.operate.post(ctx + 'system/product/list', {...data, type: '11,22'}, function (res) {
|
|
||||||
maintenanceProjectProductInfoList = res.rows
|
|
||||||
maintenanceProjectProductInfoList.unshift({
|
|
||||||
model: '',
|
|
||||||
productCode: ''
|
|
||||||
})
|
|
||||||
let maintenanceProjectProductInfoListAll = [[${projectInfo.maintenanceProjectProductInfoList}]] || []
|
let maintenanceProjectProductInfoListAll = [[${projectInfo.maintenanceProjectProductInfoList}]] || []
|
||||||
maintenanceProjectProductInfoListAll.forEach((ele) => {
|
maintenanceProjectProductInfoListAll.forEach((ele) => {
|
||||||
addProduct3(ele)
|
addProduct3(ele)
|
||||||
})
|
})
|
||||||
|
|
||||||
})
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function submitHandler() {
|
function submitHandler() {
|
||||||
|
@ -430,7 +400,6 @@
|
||||||
|
|
||||||
$(function () {
|
$(function () {
|
||||||
initProductList()
|
initProductList()
|
||||||
var layerIndex = parent.layer.index
|
|
||||||
$("input[name='estimatedOrderTime']").datetimepicker({
|
$("input[name='estimatedOrderTime']").datetimepicker({
|
||||||
format: "yyyy-mm-dd",
|
format: "yyyy-mm-dd",
|
||||||
minView: "month",
|
minView: "month",
|
||||||
|
@ -573,19 +542,8 @@
|
||||||
let tr = $(`
|
let tr = $(`
|
||||||
<tr>
|
<tr>
|
||||||
<td class="indexBox">${length + 1}</td>
|
<td class="indexBox">${length + 1}</td>
|
||||||
<td class="layui-form"><input type="hidden" name="softwareProjectProductInfoList[${length}].id" value="${data.id || ''}">
|
<td> <input type="hidden" name="softwareProjectProductInfoList[${length}].id" value="${data.id || ''}"><input class="form-control productBomCode" type="text" onclick="selectProduct('1','终端产品',this)" value="${data.productBomCode || ''}" name="softwareProjectProductInfoList[${length}].productBomCode"></td>
|
||||||
<select value="${data.productBomCode || ''}" name="softwareProjectProductInfoList[${length}].productBomCode" required class="form-control productBomCode" lay-search="" lay-filter="productCode1">
|
<td><input class="form-control model" type="text" onclick="selectProduct('1','终端产品',this)" value="${data.model || ''}" name="softwareProjectProductInfoList[${length}].model"></td>
|
||||||
${softwareProjectProductInfoList.map((ele) => {
|
|
||||||
return `<option value="${ele.productCode}" ${ele.productCode == data.productBomCode ? 'selected' : ''}>${ele.productCode}</option>`
|
|
||||||
}).join('')
|
|
||||||
}
|
|
||||||
</select></td>
|
|
||||||
<td class="layui-form"><select value="${data.model || ''}" name="softwareProjectProductInfoList[${length}].model" required class="form-control model" lay-search="" lay-filter="productModel1">
|
|
||||||
${softwareProjectProductInfoList.map((ele) => {
|
|
||||||
return `<option value="${ele.model}" ${ele.model == data.model ? 'selected' : ''}>${ele.model}</option>`
|
|
||||||
}).join('')
|
|
||||||
}
|
|
||||||
</select></td>
|
|
||||||
<td><textarea name="softwareProjectProductInfoList[${length}].productDesc" required class="form-control productDesc" placeholder="自动带入" readonly>${data.productDesc || ''}</textarea></td>
|
<td><textarea name="softwareProjectProductInfoList[${length}].productDesc" required class="form-control productDesc" placeholder="自动带入" readonly>${data.productDesc || ''}</textarea></td>
|
||||||
<td><input value="${data.quantity || ''}" name="softwareProjectProductInfoList[${length}].quantity" type="number" class="form-control quantity" step="1" required></td>
|
<td><input value="${data.quantity || ''}" name="softwareProjectProductInfoList[${length}].quantity" type="number" class="form-control quantity" step="1" required></td>
|
||||||
<td><input value="${data.cataloguePrice || ''}" name="softwareProjectProductInfoList[${length}].cataloguePrice" type="text" class="form-control cataloguePrice" required></td>
|
<td><input value="${data.cataloguePrice || ''}" name="softwareProjectProductInfoList[${length}].cataloguePrice" type="text" class="form-control cataloguePrice" required></td>
|
||||||
|
@ -608,19 +566,8 @@ ${softwareProjectProductInfoList.map((ele) => {
|
||||||
let tr = $(`
|
let tr = $(`
|
||||||
<tr>
|
<tr>
|
||||||
<td class="indexBox">${length + 1}</td>
|
<td class="indexBox">${length + 1}</td>
|
||||||
<td class="layui-form"><input type="hidden" name="hardwareProjectProductInfoList[${length}].id" value="${data.id || ''}">
|
<td> <input type="hidden" name="hardwareProjectProductInfoList[${length}].id" value="${data.id || ''}"><input class="form-control productBomCode" type="text" onclick="selectProduct('2','软件产品',this)" value="${data.productBomCode || ''}" name="hardwareProjectProductInfoList[${length}].productBomCode"></td>
|
||||||
<select value="${data.productBomCode || ''}" name="hardwareProjectProductInfoList[${length}].productBomCode" required class="form-control productBomCode" lay-search="" lay-filter="productCode2">
|
<td><input class="form-control model" type="text" onclick="selectProduct('2','软件产品',this)" value="${data.model || ''}" name="hardwareProjectProductInfoList[${length}].model"></td>
|
||||||
${hardwareProjectProductInfoList.map((ele) => {
|
|
||||||
return `<option value="${ele.productCode}" ${ele.productCode == data.productBomCode ? 'selected' : ''}>${ele.productCode}</option>`
|
|
||||||
}).join('')
|
|
||||||
}
|
|
||||||
</select></td>
|
|
||||||
<td class="layui-form"><select value="${data.model || ''}" name="hardwareProjectProductInfoList[${length}].model" required class="form-control model" lay-search="" lay-filter="productModel2">
|
|
||||||
${hardwareProjectProductInfoList.map((ele) => {
|
|
||||||
return `<option value="${ele.model}" ${ele.model == data.model ? 'selected' : ''}>${ele.model}</option>`
|
|
||||||
}).join('')
|
|
||||||
}
|
|
||||||
</select></td>
|
|
||||||
<td><textarea name="hardwareProjectProductInfoList[${length}].productDesc" required class="form-control productDesc" placeholder="自动带入" readonly>${data.productDesc || ''}</textarea></td>
|
<td><textarea name="hardwareProjectProductInfoList[${length}].productDesc" required class="form-control productDesc" placeholder="自动带入" readonly>${data.productDesc || ''}</textarea></td>
|
||||||
<td><input value="${data.quantity || ''}" name="hardwareProjectProductInfoList[${length}].quantity" type="number" class="form-control quantity" step="1" required></td>
|
<td><input value="${data.quantity || ''}" name="hardwareProjectProductInfoList[${length}].quantity" type="number" class="form-control quantity" step="1" required></td>
|
||||||
<td><input value="${data.cataloguePrice || ''}" name="hardwareProjectProductInfoList[${length}].cataloguePrice" type="text" class="form-control cataloguePrice" required></td>
|
<td><input value="${data.cataloguePrice || ''}" name="hardwareProjectProductInfoList[${length}].cataloguePrice" type="text" class="form-control cataloguePrice" required></td>
|
||||||
|
@ -643,19 +590,8 @@ ${hardwareProjectProductInfoList.map((ele) => {
|
||||||
let tr = $(`
|
let tr = $(`
|
||||||
<tr>
|
<tr>
|
||||||
<td class="indexBox">${length + 1}</td>
|
<td class="indexBox">${length + 1}</td>
|
||||||
<td class="layui-form"><input type="hidden" name="maintenanceProjectProductInfoList[${length}].id" value="${data.id || ''}">
|
<td> <input type="hidden" name="maintenanceProjectProductInfoList[${length}].id" value="${data.id || ''}"><input class="form-control productBomCode" type="text" onclick="selectProduct('11,22','服务产品',this)" value="${data.productBomCode || ''}" name="maintenanceProjectProductInfoList[${length}].productBomCode"></td>
|
||||||
<select value="${data.productBomCode || ''}" name="maintenanceProjectProductInfoList[${length}].productBomCode" required class="form-control productBomCode" lay-search="" lay-filter="productCode3">
|
<td><input class="form-control model" type="text" onclick="selectProduct('11,22','服务产品',this)" value="${data.model || ''}" name="maintenanceProjectProductInfoList[${length}].model"></td>
|
||||||
${maintenanceProjectProductInfoList.map((ele) => {
|
|
||||||
return `<option value="${ele.productCode}" ${ele.productCode == data.productBomCode ? 'selected' : ''}>${ele.productCode}</option>`
|
|
||||||
}).join('')
|
|
||||||
}
|
|
||||||
</select></td>
|
|
||||||
<td class="layui-form"><select value="${data.model || ''}" name="maintenanceProjectProductInfoList[${length}].model" required class="form-control model" lay-search="" lay-filter="productModel3">
|
|
||||||
${maintenanceProjectProductInfoList.map((ele) => {
|
|
||||||
return `<option value="${ele.model}" ${ele.model == data.model ? 'selected' : ''}>${ele.model}</option>`
|
|
||||||
}).join('')
|
|
||||||
}
|
|
||||||
</select></td>
|
|
||||||
<td><textarea name="maintenanceProjectProductInfoList[${length}].productDesc" required class="form-control productDesc" placeholder="自动带入" readonly>${data.productDesc || ''}</textarea></td>
|
<td><textarea name="maintenanceProjectProductInfoList[${length}].productDesc" required class="form-control productDesc" placeholder="自动带入" readonly>${data.productDesc || ''}</textarea></td>
|
||||||
<td><input value="${data.quantity || ''}" name="maintenanceProjectProductInfoList[${length}].quantity" type="number" class="form-control quantity" step="1" required></td>
|
<td><input value="${data.quantity || ''}" name="maintenanceProjectProductInfoList[${length}].quantity" type="number" class="form-control quantity" step="1" required></td>
|
||||||
<td><input value="${data.cataloguePrice || ''}" name="maintenanceProjectProductInfoList[${length}].cataloguePrice" type="text" class="form-control cataloguePrice" required></td>
|
<td><input value="${data.cataloguePrice || ''}" name="maintenanceProjectProductInfoList[${length}].cataloguePrice" type="text" class="form-control cataloguePrice" required></td>
|
||||||
|
@ -687,31 +623,6 @@ ${maintenanceProjectProductInfoList.map((ele) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
function initSearchProduct(type) {
|
function initSearchProduct(type) {
|
||||||
layui.use(function () {
|
|
||||||
var form = layui.form
|
|
||||||
form.render()
|
|
||||||
form.on('select(productCode1)', function (data) {
|
|
||||||
searchProduct(data.value, 'code', data.elem)
|
|
||||||
})
|
|
||||||
form.on('select(productCode2)', function (data) {
|
|
||||||
searchProduct(data.value, 'code', data.elem)
|
|
||||||
})
|
|
||||||
form.on('select(productCode3)', function (data) {
|
|
||||||
searchProduct(data.value, 'code', data.elem)
|
|
||||||
})
|
|
||||||
form.on('select(productModel1)', function (data) {
|
|
||||||
searchProduct(data.value, 'model', data.elem)
|
|
||||||
})
|
|
||||||
form.on('select(productModel2)', function (data) {
|
|
||||||
searchProduct(data.value, 'model', data.elem)
|
|
||||||
})
|
|
||||||
form.on('select(productModel3)', function (data) {
|
|
||||||
searchProduct(data.value, 'model', data.elem)
|
|
||||||
})
|
|
||||||
$('.layui-input').on('mouseout', function () {
|
|
||||||
$(this).blur()
|
|
||||||
})
|
|
||||||
})
|
|
||||||
$('.productTable .delRow').on('click', function () {
|
$('.productTable .delRow').on('click', function () {
|
||||||
let ele = $(this)
|
let ele = $(this)
|
||||||
$.modal.confirm('是否确认删除', function () {
|
$.modal.confirm('是否确认删除', function () {
|
||||||
|
@ -731,33 +642,6 @@ ${maintenanceProjectProductInfoList.map((ele) => {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function searchProduct(val, type, ele, typeId) {
|
|
||||||
let selectObj = {}
|
|
||||||
let listName = $(ele).attr('name')
|
|
||||||
if (type == 'code') {
|
|
||||||
if (listName.indexOf('softwareProjectProductInfoList') > -1) {
|
|
||||||
selectObj = softwareProjectProductInfoList.find((ele) => ele.productCode == val)
|
|
||||||
} else if (listName.indexOf('hardwareProjectProductInfoList') > -1) {
|
|
||||||
selectObj = hardwareProjectProductInfoList.find((ele) => ele.productCode == val)
|
|
||||||
} else if (listName.indexOf('maintenanceProjectProductInfoList') > -1) {
|
|
||||||
selectObj = maintenanceProjectProductInfoList.find((ele) => ele.productCode == val)
|
|
||||||
}
|
|
||||||
$(ele).parent().parent().find('.model+div').find('.layui-input').val(selectObj.model)
|
|
||||||
$(ele).parent().parent().find('.model').val(selectObj.model)
|
|
||||||
} else {
|
|
||||||
if (listName.indexOf('softwareProjectProductInfoList') > -1) {
|
|
||||||
selectObj = softwareProjectProductInfoList.find((ele) => ele.model == val)
|
|
||||||
} else if (listName.indexOf('hardwareProjectProductInfoList') > -1) {
|
|
||||||
selectObj = hardwareProjectProductInfoList.find((ele) => ele.model == val)
|
|
||||||
} else if (listName.indexOf('maintenanceProjectProductInfoList') > -1) {
|
|
||||||
selectObj = maintenanceProjectProductInfoList.find((ele) => ele.model == val)
|
|
||||||
}
|
|
||||||
$(ele).parent().parent().find('.productBomCode+div').find('.layui-input').val(selectObj.model)
|
|
||||||
$(ele).parent().parent().find('.productBomCode').val(selectObj.productCode)
|
|
||||||
}
|
|
||||||
$(ele).parent().parent().find('.productDesc').val(selectObj.description)
|
|
||||||
}
|
|
||||||
|
|
||||||
function initPrice() {
|
function initPrice() {
|
||||||
$('.productTable .quantity').on('input', function () {
|
$('.productTable .quantity').on('input', function () {
|
||||||
let num = $(this).val()
|
let num = $(this).val()
|
||||||
|
@ -835,6 +719,30 @@ ${maintenanceProjectProductInfoList.map((ele) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function selectProduct(type, name, ele) {
|
||||||
|
var url = prefix + "/selectProduct";
|
||||||
|
window.localStorage.setItem('procuctType', type)
|
||||||
|
var options = {
|
||||||
|
title: '选择' + name,
|
||||||
|
width: "800",
|
||||||
|
height: '600',
|
||||||
|
url: url,
|
||||||
|
callBack: (index, layero) => {
|
||||||
|
doSubmitProduct(index, layero, ele)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$.modal.openOptions(options);
|
||||||
|
}
|
||||||
|
|
||||||
|
function doSubmitProduct(index, layero, ele) {
|
||||||
|
var rows = layero.find("iframe")[0].contentWindow.getSelections();
|
||||||
|
$(ele).parent().parent().find('.productBomCode').val(rows[0].productCode)
|
||||||
|
$(ele).parent().parent().find('.model').val(rows[0].model)
|
||||||
|
$(ele).parent().parent().find('.productDesc').val(rows[0].description)
|
||||||
|
$.modal.close(index);
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
|
@ -0,0 +1,90 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
|
||||||
|
<head>
|
||||||
|
<th:block th:include="include :: header('选择代理商')"/>
|
||||||
|
</head>
|
||||||
|
<style>
|
||||||
|
.select-list li {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select-list li label {
|
||||||
|
width: 88px !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<body class="gray-bg">
|
||||||
|
<div class="container-div">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-12 search-collapse">
|
||||||
|
<form id="formId">
|
||||||
|
<div class="select-list">
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<label>产品名称:</label>
|
||||||
|
<input type="text" name="productCode"/>
|
||||||
|
<input type="hidden" name="type"/>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<label>产品型号:</label>
|
||||||
|
<input type="text" name="model"/>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
|
||||||
|
class="fa fa-search"></i> 搜索</a>
|
||||||
|
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i
|
||||||
|
class="fa fa-refresh"></i> 重置</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-12 select-table table-striped">
|
||||||
|
<table id="bootstrap-table"></table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<th:block th:include="include :: footer"/>
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var prefix = ctx + "system/product";
|
||||||
|
|
||||||
|
$(function () {
|
||||||
|
$('[name="type"]').val(window.localStorage.getItem('procuctType'))
|
||||||
|
var options = {
|
||||||
|
url: prefix + "/list",
|
||||||
|
showSearch: true,
|
||||||
|
showColumns: false,
|
||||||
|
showToggle: false,
|
||||||
|
showPageGo: true,
|
||||||
|
showRefresh: false,
|
||||||
|
search: false,
|
||||||
|
columns: [{
|
||||||
|
radio: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'productCode',
|
||||||
|
title: '产品名称'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'model',
|
||||||
|
title: '产品型号'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'description',
|
||||||
|
title: '描述'
|
||||||
|
},
|
||||||
|
]
|
||||||
|
};
|
||||||
|
$.table.init(options);
|
||||||
|
});
|
||||||
|
|
||||||
|
function getSelections() {
|
||||||
|
var rows = $('#bootstrap-table').bootstrapTable('getSelections');
|
||||||
|
return rows;
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
|
@ -626,13 +626,9 @@
|
||||||
let tr = $(`
|
let tr = $(`
|
||||||
<tr>
|
<tr>
|
||||||
<td class="indexBox">${length + 1}</td>
|
<td class="indexBox">${length + 1}</td>
|
||||||
<td class="layui-form"><input type="hidden" name="softwareProjectProductInfoList[${length}].id" value="${data.id || ''}"><select name="softwareProjectProductInfoList[${length}].productBomCode" value="${data.productBomCode || ''}" required class="form-control productBomCode" lay-search="" lay-filter="productCode1">
|
<td> <input type="hidden" name="softwareProjectProductInfoList[${length}].id" value="${data.id || ''}"><input class="form-control productBomCode" type="text" onclick="selectProduct('1','终端产品',this)" value="${data.productBomCode || ''}" name="softwareProjectProductInfoList[${length}].productBomCode"></td>
|
||||||
${softwareProjectProductInfoList.map((ele) => {
|
<td><input class="form-control model" type="text" onclick="selectProduct('1','终端产品',this)" value="${data.model || ''}" name="softwareProjectProductInfoList[${length}].model"></td>
|
||||||
return `<option value="${ele.productCode}" ${ele.productCode == data.productBomCode ? 'selected' : ''}>${ele.productCode}</option>`
|
<td><select name="softwareProjectProductInfoList[${length}].model" required class="form-control model" lay-search="" lay-filter="productModel1">
|
||||||
}).join('')
|
|
||||||
}
|
|
||||||
</select></td>
|
|
||||||
<td class="layui-form"><select name="softwareProjectProductInfoList[${length}].model" required class="form-control model" lay-search="" lay-filter="productModel1">
|
|
||||||
${softwareProjectProductInfoList.map((ele) => {
|
${softwareProjectProductInfoList.map((ele) => {
|
||||||
return `<option value="${ele.model}" ${ele.model == data.model ? 'selected' : ''}>${ele.model}</option>`
|
return `<option value="${ele.model}" ${ele.model == data.model ? 'selected' : ''}>${ele.model}</option>`
|
||||||
}).join('')
|
}).join('')
|
||||||
|
@ -661,20 +657,8 @@ ${softwareProjectProductInfoList.map((ele) => {
|
||||||
let tr = $(`
|
let tr = $(`
|
||||||
<tr>
|
<tr>
|
||||||
<td class="indexBox">${length + 1}</td>
|
<td class="indexBox">${length + 1}</td>
|
||||||
<td class="layui-form"><input type="hidden" name="hardwareProjectProductInfoList[${length}].id" value="${data.id || ''}"><select name="hardwareProjectProductInfoList[${length}].productBomCode" required class="form-control productBomCode" lay-search="" lay-filter="productCode2" value="${data.productBomCode || ''}">
|
<td> <input type="hidden" name="hardwareProjectProductInfoList[${length}].id" value="${data.id || ''}"><input class="form-control productBomCode" type="text" onclick="selectProduct('2','软件产品',this)" value="${data.productBomCode || ''}" name="hardwareProjectProductInfoList[${length}].productBomCode"></td>
|
||||||
${hardwareProjectProductInfoList.map((ele) => {
|
<td><input class="form-control model" type="text" onclick="selectProduct('2','软件产品',this)" value="${data.model || ''}" name="hardwareProjectProductInfoList[${length}].model"></td>
|
||||||
return `<option value="${ele.productCode}" ${ele.productCode == data.productBomCode ? 'selected' : ''}>${ele.productCode}</option>`
|
|
||||||
}).join('')
|
|
||||||
}
|
|
||||||
|
|
||||||
</select></td>
|
|
||||||
<td class="layui-form"><select name="hardwareProjectProductInfoList[${length}].model" required class="form-control model" lay-search="" lay-filter="productModel2" value="${data.model || ''}">
|
|
||||||
${hardwareProjectProductInfoList.map((ele) => {
|
|
||||||
return `<option value="${ele.model}" ${ele.model == data.model ? 'selected' : ''}>${ele.model}</option>`
|
|
||||||
}).join('')
|
|
||||||
}
|
|
||||||
|
|
||||||
</select></td>
|
|
||||||
<td><textarea name="hardwareProjectProductInfoList[${length}].productDesc" required class="form-control productDesc" placeholder="自动带入" readonly>${data.productDesc || ''}</textarea></td>
|
<td><textarea name="hardwareProjectProductInfoList[${length}].productDesc" required class="form-control productDesc" placeholder="自动带入" readonly>${data.productDesc || ''}</textarea></td>
|
||||||
<td><input value="${data.quantity || ''}" name="hardwareProjectProductInfoList[${length}].quantity" type="number" class="form-control quantity" step="1" required></td>
|
<td><input value="${data.quantity || ''}" name="hardwareProjectProductInfoList[${length}].quantity" type="number" class="form-control quantity" step="1" required></td>
|
||||||
<td><input value="${data.cataloguePrice || ''}" name="hardwareProjectProductInfoList[${length}].cataloguePrice" type="text" class="form-control cataloguePrice" required></td>
|
<td><input value="${data.cataloguePrice || ''}" name="hardwareProjectProductInfoList[${length}].cataloguePrice" type="text" class="form-control cataloguePrice" required></td>
|
||||||
|
@ -698,20 +682,8 @@ ${hardwareProjectProductInfoList.map((ele) => {
|
||||||
let tr = $(`
|
let tr = $(`
|
||||||
<tr>
|
<tr>
|
||||||
<td class="indexBox">${length + 1}</td>
|
<td class="indexBox">${length + 1}</td>
|
||||||
<td class="layui-form"><input type="hidden" name="maintenanceProjectProductInfoList[${length}].id" value="${data.id || ''}"><select name="maintenanceProjectProductInfoList[${length}].productBomCode" required class="form-control productBomCode" lay-search="" lay-filter="productCode3" value="${data.productBomCode || ''}">
|
<td> <input type="hidden" name="maintenanceProjectProductInfoList[${length}].id" value="${data.id || ''}"><input class="form-control productBomCode" type="text" onclick="selectProduct('11,22','服务产品',this)" value="${data.productBomCode || ''}" name="maintenanceProjectProductInfoList[${length}].productBomCode"></td>
|
||||||
${maintenanceProjectProductInfoList.map((ele) => {
|
<td><input class="form-control model" type="text" onclick="selectProduct('11,22','服务产品',this)" value="${data.model || ''}" name="maintenanceProjectProductInfoList[${length}].model"></td>
|
||||||
return `<option value="${ele.productCode}" ${ele.productCode == data.productBomCode ? 'selected' : ''}>${ele.productCode}</option>`
|
|
||||||
}).join('')
|
|
||||||
}
|
|
||||||
|
|
||||||
</select></td>
|
|
||||||
<td class="layui-form"><select name="maintenanceProjectProductInfoList[${length}].model" required class="form-control model" lay-search="" lay-filter="productModel3">
|
|
||||||
${maintenanceProjectProductInfoList.map((ele) => {
|
|
||||||
return `<option value="${ele.model}" ${ele.model == data.model ? 'selected' : ''}>${ele.model}</option>`
|
|
||||||
}).join('')
|
|
||||||
}
|
|
||||||
|
|
||||||
</select></td>
|
|
||||||
<td><textarea name="maintenanceProjectProductInfoList[${length}].productDesc" required class="form-control productDesc" placeholder="自动带入" readonly>${data.productDesc || ''}</textarea></td>
|
<td><textarea name="maintenanceProjectProductInfoList[${length}].productDesc" required class="form-control productDesc" placeholder="自动带入" readonly>${data.productDesc || ''}</textarea></td>
|
||||||
<td><input name="maintenanceProjectProductInfoList[${length}].quantity" type="number" class="form-control quantity" step="1" required value="${data.quantity || ''}" ></td>
|
<td><input name="maintenanceProjectProductInfoList[${length}].quantity" type="number" class="form-control quantity" step="1" required value="${data.quantity || ''}" ></td>
|
||||||
<td><input value="${data.cataloguePrice || ''}" name="maintenanceProjectProductInfoList[${length}].cataloguePrice" type="text" class="form-control cataloguePrice" required></td>
|
<td><input value="${data.cataloguePrice || ''}" name="maintenanceProjectProductInfoList[${length}].cataloguePrice" type="text" class="form-control cataloguePrice" required></td>
|
||||||
|
@ -744,32 +716,6 @@ ${maintenanceProjectProductInfoList.map((ele) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
function initSearchProduct() {
|
function initSearchProduct() {
|
||||||
layui.use(function () {
|
|
||||||
var form = layui.form
|
|
||||||
form.render()
|
|
||||||
|
|
||||||
form.on('select(productCode1)', function (data) {
|
|
||||||
searchProduct(data.value, 'code', data.elem)
|
|
||||||
})
|
|
||||||
form.on('select(productCode2)', function (data) {
|
|
||||||
searchProduct(data.value, 'code', data.elem)
|
|
||||||
})
|
|
||||||
form.on('select(productCode3)', function (data) {
|
|
||||||
searchProduct(data.value, 'code', data.elem)
|
|
||||||
})
|
|
||||||
form.on('select(productModel1)', function (data) {
|
|
||||||
searchProduct(data.value, 'model', data.elem)
|
|
||||||
})
|
|
||||||
form.on('select(productModel2)', function (data) {
|
|
||||||
searchProduct(data.value, 'model', data.elem)
|
|
||||||
})
|
|
||||||
form.on('select(productModel3)', function (data) {
|
|
||||||
searchProduct(data.value, 'model', data.elem)
|
|
||||||
})
|
|
||||||
$('.layui-input').on('mouseout', function () {
|
|
||||||
$(this).blur()
|
|
||||||
})
|
|
||||||
})
|
|
||||||
$('.productTable .delRow').on('click', function () {
|
$('.productTable .delRow').on('click', function () {
|
||||||
let ele = $(this)
|
let ele = $(this)
|
||||||
$.modal.confirm('是否确认删除', function () {
|
$.modal.confirm('是否确认删除', function () {
|
||||||
|
@ -788,33 +734,6 @@ ${maintenanceProjectProductInfoList.map((ele) => {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function searchProduct(val, type, ele) {
|
|
||||||
let selectObj = {}
|
|
||||||
let listName = $(ele).attr('name')
|
|
||||||
if (type == 'code') {
|
|
||||||
if (listName.indexOf('softwareProjectProductInfoList') > -1) {
|
|
||||||
selectObj = softwareProjectProductInfoList.find((ele) => ele.productCode == val)
|
|
||||||
} else if (listName.indexOf('hardwareProjectProductInfoList') > -1) {
|
|
||||||
selectObj = hardwareProjectProductInfoList.find((ele) => ele.productCode == val)
|
|
||||||
} else if (listName.indexOf('maintenanceProjectProductInfoList') > -1) {
|
|
||||||
selectObj = maintenanceProjectProductInfoList.find((ele) => ele.productCode == val)
|
|
||||||
}
|
|
||||||
$(ele).parent().parent().find('.model+div').find('.layui-input').val(selectObj.model)
|
|
||||||
$(ele).parent().parent().find('.model').val(selectObj.model)
|
|
||||||
} else {
|
|
||||||
if (listName.indexOf('softwareProjectProductInfoList') > -1) {
|
|
||||||
selectObj = softwareProjectProductInfoList.find((ele) => ele.model == val)
|
|
||||||
} else if (listName.indexOf('hardwareProjectProductInfoList') > -1) {
|
|
||||||
selectObj = hardwareProjectProductInfoList.find((ele) => ele.model == val)
|
|
||||||
} else if (listName.indexOf('maintenanceProjectProductInfoList') > -1) {
|
|
||||||
selectObj = maintenanceProjectProductInfoList.find((ele) => ele.model == val)
|
|
||||||
}
|
|
||||||
$(ele).parent().parent().find('.productBomCode+div').find('.layui-input').val(selectObj.model)
|
|
||||||
$(ele).parent().parent().find('.productBomCode').val(selectObj.productCode)
|
|
||||||
}
|
|
||||||
$(ele).parent().parent().find('.productDesc').val(selectObj.description)
|
|
||||||
}
|
|
||||||
|
|
||||||
function initPrice() {
|
function initPrice() {
|
||||||
$('.productTable .quantity').on('input', function () {
|
$('.productTable .quantity').on('input', function () {
|
||||||
let num = $(this).val()
|
let num = $(this).val()
|
||||||
|
@ -1021,6 +940,29 @@ ${
|
||||||
submitHandler()
|
submitHandler()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function selectProduct(type, name, ele) {
|
||||||
|
var url = prefix + "/selectProduct";
|
||||||
|
window.localStorage.setItem('procuctType', type)
|
||||||
|
var options = {
|
||||||
|
title: '选择' + name,
|
||||||
|
width: "800",
|
||||||
|
height: '600',
|
||||||
|
url: url,
|
||||||
|
callBack: (index, layero) => {
|
||||||
|
doSubmitProduct(index, layero, ele)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$.modal.openOptions(options);
|
||||||
|
}
|
||||||
|
|
||||||
|
function doSubmitProduct(index, layero, ele) {
|
||||||
|
var rows = layero.find("iframe")[0].contentWindow.getSelections();
|
||||||
|
$(ele).parent().parent().find('.productBomCode').val(rows[0].productCode)
|
||||||
|
$(ele).parent().parent().find('.model').val(rows[0].model)
|
||||||
|
$(ele).parent().parent().find('.productDesc').val(rows[0].description)
|
||||||
|
$.modal.close(index);
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
|
@ -626,18 +626,8 @@
|
||||||
let tr = $(`
|
let tr = $(`
|
||||||
<tr>
|
<tr>
|
||||||
<td class="indexBox">${length + 1}</td>
|
<td class="indexBox">${length + 1}</td>
|
||||||
<td class="layui-form"><input type="hidden" name="softwareProjectProductInfoList[${length}].id" value="${data.id || ''}"><select name="softwareProjectProductInfoList[${length}].productBomCode" value="${data.productBomCode || ''}" required class="form-control productBomCode" lay-search="" lay-filter="productCode1">
|
<td><input class="form-control productBomCode" type="text" onclick="selectProduct('1','终端产品',this)" name="softwareProjectProductInfoList[${length}].productBomCode" value="${data.productBomCode || ''}"></td>
|
||||||
${softwareProjectProductInfoList.map((ele) => {
|
<td><input class="form-control model" type="text" onclick="selectProduct('1','终端产品',this)" name="softwareProjectProductInfoList[${length}].model" value="${data.model || ''}"></td>
|
||||||
return `<option value="${ele.productCode}" ${ele.productCode == data.productBomCode ? 'selected' : ''}>${ele.productCode}</option>`
|
|
||||||
}).join('')
|
|
||||||
}
|
|
||||||
</select></td>
|
|
||||||
<td class="layui-form"><select name="softwareProjectProductInfoList[${length}].model" required class="form-control model" lay-search="" lay-filter="productModel1">
|
|
||||||
${softwareProjectProductInfoList.map((ele) => {
|
|
||||||
return `<option value="${ele.model}" ${ele.model == data.model ? 'selected' : ''}>${ele.model}</option>`
|
|
||||||
}).join('')
|
|
||||||
}
|
|
||||||
</select></td>
|
|
||||||
<td><textarea name="softwareProjectProductInfoList[${length}].productDesc" required class="form-control productDesc" placeholder="自动带入" readonly>${data.productDesc || ''}</textarea></td>
|
<td><textarea name="softwareProjectProductInfoList[${length}].productDesc" required class="form-control productDesc" placeholder="自动带入" readonly>${data.productDesc || ''}</textarea></td>
|
||||||
<td><input value="${data.quantity || ''}" name="softwareProjectProductInfoList[${length}].quantity" type="number" class="form-control quantity" step="1" required></td>
|
<td><input value="${data.quantity || ''}" name="softwareProjectProductInfoList[${length}].quantity" type="number" class="form-control quantity" step="1" required></td>
|
||||||
<td><input value="${data.cataloguePrice || ''}" name="softwareProjectProductInfoList[${length}].cataloguePrice" type="text" class="form-control cataloguePrice" required></td>
|
<td><input value="${data.cataloguePrice || ''}" name="softwareProjectProductInfoList[${length}].cataloguePrice" type="text" class="form-control cataloguePrice" required></td>
|
||||||
|
@ -661,20 +651,8 @@ ${softwareProjectProductInfoList.map((ele) => {
|
||||||
let tr = $(`
|
let tr = $(`
|
||||||
<tr>
|
<tr>
|
||||||
<td class="indexBox">${length + 1}</td>
|
<td class="indexBox">${length + 1}</td>
|
||||||
<td class="layui-form"><input type="hidden" name="hardwareProjectProductInfoList[${length}].id" value="${data.id || ''}"><select name="hardwareProjectProductInfoList[${length}].productBomCode" required class="form-control productBomCode" lay-search="" lay-filter="productCode2" value="${data.productBomCode || ''}">
|
<td><input class="form-control productBomCode" type="text" onclick="selectProduct('2','软件产品',this)" name="hardwareProjectProductInfoList[${length}].productBomCode" value="${data.productBomCode || ''}"></td>
|
||||||
${hardwareProjectProductInfoList.map((ele) => {
|
<td><input class="form-control model" type="text" onclick="selectProduct('2','软件产品',this)" name="hardwareProjectProductInfoList[${length}].model" value="${data.model || ''}"></td>
|
||||||
return `<option value="${ele.productCode}" ${ele.productCode == data.productBomCode ? 'selected' : ''}>${ele.productCode}</option>`
|
|
||||||
}).join('')
|
|
||||||
}
|
|
||||||
|
|
||||||
</select></td>
|
|
||||||
<td class="layui-form"><select name="hardwareProjectProductInfoList[${length}].model" required class="form-control model" lay-search="" lay-filter="productModel2" value="${data.model || ''}">
|
|
||||||
${hardwareProjectProductInfoList.map((ele) => {
|
|
||||||
return `<option value="${ele.model}" ${ele.model == data.model ? 'selected' : ''}>${ele.model}</option>`
|
|
||||||
}).join('')
|
|
||||||
}
|
|
||||||
|
|
||||||
</select></td>
|
|
||||||
<td><textarea name="hardwareProjectProductInfoList[${length}].productDesc" required class="form-control productDesc" placeholder="自动带入" readonly>${data.productDesc || ''}</textarea></td>
|
<td><textarea name="hardwareProjectProductInfoList[${length}].productDesc" required class="form-control productDesc" placeholder="自动带入" readonly>${data.productDesc || ''}</textarea></td>
|
||||||
<td><input value="${data.quantity || ''}" name="hardwareProjectProductInfoList[${length}].quantity" type="number" class="form-control quantity" step="1" required></td>
|
<td><input value="${data.quantity || ''}" name="hardwareProjectProductInfoList[${length}].quantity" type="number" class="form-control quantity" step="1" required></td>
|
||||||
<td><input value="${data.cataloguePrice || ''}" name="hardwareProjectProductInfoList[${length}].cataloguePrice" type="text" class="form-control cataloguePrice" required></td>
|
<td><input value="${data.cataloguePrice || ''}" name="hardwareProjectProductInfoList[${length}].cataloguePrice" type="text" class="form-control cataloguePrice" required></td>
|
||||||
|
@ -698,20 +676,8 @@ ${hardwareProjectProductInfoList.map((ele) => {
|
||||||
let tr = $(`
|
let tr = $(`
|
||||||
<tr>
|
<tr>
|
||||||
<td class="indexBox">${length + 1}</td>
|
<td class="indexBox">${length + 1}</td>
|
||||||
<td class="layui-form"><input type="hidden" name="maintenanceProjectProductInfoList[${length}].id" value="${data.id || ''}"><select name="maintenanceProjectProductInfoList[${length}].productBomCode" required class="form-control productBomCode" lay-search="" lay-filter="productCode3" value="${data.productBomCode || ''}">
|
<td> <input type="hidden" name="maintenanceProjectProductInfoList[${length}].id" value="${data.id || ''}"><input class="form-control productBomCode" type="text" onclick="selectProduct('11,22','服务产品',this)" value="${data.productBomCode || ''}" name="maintenanceProjectProductInfoList[${length}].productBomCode" value="${data.productBomCode || ''}"></td>
|
||||||
${maintenanceProjectProductInfoList.map((ele) => {
|
<td><input class="form-control model" type="text" onclick="selectProduct('11,22','服务产品',this)" value="${data.model || ''}" name="maintenanceProjectProductInfoList[${length}].model" value="${data.model || ''}"></td>
|
||||||
return `<option value="${ele.productCode}" ${ele.productCode == data.productBomCode ? 'selected' : ''}>${ele.productCode}</option>`
|
|
||||||
}).join('')
|
|
||||||
}
|
|
||||||
|
|
||||||
</select></td>
|
|
||||||
<td class="layui-form"><select name="maintenanceProjectProductInfoList[${length}].model" required class="form-control model" lay-search="" lay-filter="productModel3">
|
|
||||||
${maintenanceProjectProductInfoList.map((ele) => {
|
|
||||||
return `<option value="${ele.model}" ${ele.model == data.model ? 'selected' : ''}>${ele.model}</option>`
|
|
||||||
}).join('')
|
|
||||||
}
|
|
||||||
|
|
||||||
</select></td>
|
|
||||||
<td><textarea name="maintenanceProjectProductInfoList[${length}].productDesc" required class="form-control productDesc" placeholder="自动带入" readonly>${data.productDesc || ''}</textarea></td>
|
<td><textarea name="maintenanceProjectProductInfoList[${length}].productDesc" required class="form-control productDesc" placeholder="自动带入" readonly>${data.productDesc || ''}</textarea></td>
|
||||||
<td><input name="maintenanceProjectProductInfoList[${length}].quantity" type="number" class="form-control quantity" step="1" required value="${data.quantity || ''}" ></td>
|
<td><input name="maintenanceProjectProductInfoList[${length}].quantity" type="number" class="form-control quantity" step="1" required value="${data.quantity || ''}" ></td>
|
||||||
<td><input value="${data.cataloguePrice || ''}" name="maintenanceProjectProductInfoList[${length}].cataloguePrice" type="text" class="form-control cataloguePrice" required></td>
|
<td><input value="${data.cataloguePrice || ''}" name="maintenanceProjectProductInfoList[${length}].cataloguePrice" type="text" class="form-control cataloguePrice" required></td>
|
||||||
|
@ -744,32 +710,6 @@ ${maintenanceProjectProductInfoList.map((ele) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
function initSearchProduct() {
|
function initSearchProduct() {
|
||||||
layui.use(function () {
|
|
||||||
var form = layui.form
|
|
||||||
form.render()
|
|
||||||
|
|
||||||
form.on('select(productCode1)', function (data) {
|
|
||||||
searchProduct(data.value, 'code', data.elem)
|
|
||||||
})
|
|
||||||
form.on('select(productCode2)', function (data) {
|
|
||||||
searchProduct(data.value, 'code', data.elem)
|
|
||||||
})
|
|
||||||
form.on('select(productCode3)', function (data) {
|
|
||||||
searchProduct(data.value, 'code', data.elem)
|
|
||||||
})
|
|
||||||
form.on('select(productModel1)', function (data) {
|
|
||||||
searchProduct(data.value, 'model', data.elem)
|
|
||||||
})
|
|
||||||
form.on('select(productModel2)', function (data) {
|
|
||||||
searchProduct(data.value, 'model', data.elem)
|
|
||||||
})
|
|
||||||
form.on('select(productModel3)', function (data) {
|
|
||||||
searchProduct(data.value, 'model', data.elem)
|
|
||||||
})
|
|
||||||
$('.layui-input').on('mouseout', function () {
|
|
||||||
$(this).blur()
|
|
||||||
})
|
|
||||||
})
|
|
||||||
$('.productTable .delRow').on('click', function () {
|
$('.productTable .delRow').on('click', function () {
|
||||||
let ele = $(this)
|
let ele = $(this)
|
||||||
$.modal.confirm('是否确认删除', function () {
|
$.modal.confirm('是否确认删除', function () {
|
||||||
|
@ -788,33 +728,6 @@ ${maintenanceProjectProductInfoList.map((ele) => {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function searchProduct(val, type, ele) {
|
|
||||||
let selectObj = {}
|
|
||||||
let listName = $(ele).attr('name')
|
|
||||||
if (type == 'code') {
|
|
||||||
if (listName.indexOf('softwareProjectProductInfoList') > -1) {
|
|
||||||
selectObj = softwareProjectProductInfoList.find((ele) => ele.productCode == val)
|
|
||||||
} else if (listName.indexOf('hardwareProjectProductInfoList') > -1) {
|
|
||||||
selectObj = hardwareProjectProductInfoList.find((ele) => ele.productCode == val)
|
|
||||||
} else if (listName.indexOf('maintenanceProjectProductInfoList') > -1) {
|
|
||||||
selectObj = maintenanceProjectProductInfoList.find((ele) => ele.productCode == val)
|
|
||||||
}
|
|
||||||
$(ele).parent().parent().find('.model+div').find('.layui-input').val(selectObj.model)
|
|
||||||
$(ele).parent().parent().find('.model').val(selectObj.model)
|
|
||||||
} else {
|
|
||||||
if (listName.indexOf('softwareProjectProductInfoList') > -1) {
|
|
||||||
selectObj = softwareProjectProductInfoList.find((ele) => ele.model == val)
|
|
||||||
} else if (listName.indexOf('hardwareProjectProductInfoList') > -1) {
|
|
||||||
selectObj = hardwareProjectProductInfoList.find((ele) => ele.model == val)
|
|
||||||
} else if (listName.indexOf('maintenanceProjectProductInfoList') > -1) {
|
|
||||||
selectObj = maintenanceProjectProductInfoList.find((ele) => ele.model == val)
|
|
||||||
}
|
|
||||||
$(ele).parent().parent().find('.productBomCode+div').find('.layui-input').val(selectObj.model)
|
|
||||||
$(ele).parent().parent().find('.productBomCode').val(selectObj.productCode)
|
|
||||||
}
|
|
||||||
$(ele).parent().parent().find('.productDesc').val(selectObj.description)
|
|
||||||
}
|
|
||||||
|
|
||||||
function initPrice() {
|
function initPrice() {
|
||||||
$('.productTable .quantity').on('input', function () {
|
$('.productTable .quantity').on('input', function () {
|
||||||
let num = $(this).val()
|
let num = $(this).val()
|
||||||
|
@ -1009,6 +922,29 @@ ${
|
||||||
submitHandler()
|
submitHandler()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function selectProduct(type, name, ele) {
|
||||||
|
var url = prefix + "/selectProduct";
|
||||||
|
window.localStorage.setItem('procuctType', type)
|
||||||
|
var options = {
|
||||||
|
title: '选择' + name,
|
||||||
|
width: "800",
|
||||||
|
height: '600',
|
||||||
|
url: url,
|
||||||
|
callBack: (index, layero) => {
|
||||||
|
doSubmitProduct(index, layero, ele)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$.modal.openOptions(options);
|
||||||
|
}
|
||||||
|
|
||||||
|
function doSubmitProduct(index, layero, ele) {
|
||||||
|
var rows = layero.find("iframe")[0].contentWindow.getSelections();
|
||||||
|
$(ele).parent().parent().find('.productBomCode').val(rows[0].productCode)
|
||||||
|
$(ele).parent().parent().find('.model').val(rows[0].model)
|
||||||
|
$(ele).parent().parent().find('.productDesc').val(rows[0].description)
|
||||||
|
$.modal.close(index);
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
|
@ -0,0 +1,90 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
|
||||||
|
<head>
|
||||||
|
<th:block th:include="include :: header('选择代理商')"/>
|
||||||
|
</head>
|
||||||
|
<style>
|
||||||
|
.select-list li {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select-list li label {
|
||||||
|
width: 88px !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<body class="gray-bg">
|
||||||
|
<div class="container-div">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-12 search-collapse">
|
||||||
|
<form id="formId">
|
||||||
|
<div class="select-list">
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<label>产品名称:</label>
|
||||||
|
<input type="text" name="productCode"/>
|
||||||
|
<input type="hidden" name="type"/>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<label>产品型号:</label>
|
||||||
|
<input type="text" name="model"/>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
|
||||||
|
class="fa fa-search"></i> 搜索</a>
|
||||||
|
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i
|
||||||
|
class="fa fa-refresh"></i> 重置</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-12 select-table table-striped">
|
||||||
|
<table id="bootstrap-table"></table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<th:block th:include="include :: footer"/>
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var prefix = ctx + "system/product";
|
||||||
|
|
||||||
|
$(function () {
|
||||||
|
$('[name="type"]').val(window.localStorage.getItem('procuctType'))
|
||||||
|
var options = {
|
||||||
|
url: prefix + "/list",
|
||||||
|
showSearch: true,
|
||||||
|
showColumns: false,
|
||||||
|
showToggle: false,
|
||||||
|
showPageGo: true,
|
||||||
|
showRefresh: false,
|
||||||
|
search: false,
|
||||||
|
columns: [{
|
||||||
|
radio: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'productCode',
|
||||||
|
title: '产品名称'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'model',
|
||||||
|
title: '产品型号'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'description',
|
||||||
|
title: '描述'
|
||||||
|
},
|
||||||
|
]
|
||||||
|
};
|
||||||
|
$.table.init(options);
|
||||||
|
});
|
||||||
|
|
||||||
|
function getSelections() {
|
||||||
|
var rows = $('#bootstrap-table').bootstrapTable('getSelections');
|
||||||
|
return rows;
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
|
@ -81,8 +81,8 @@
|
||||||
title: '最终客户'
|
title: '最终客户'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: '生成订单',
|
field: 'canGenerate',
|
||||||
title: 'canGenerate',
|
title: '生成订单',
|
||||||
formatter:(value,row)=>{
|
formatter:(value,row)=>{
|
||||||
return value?`未生成`:'已生成'
|
return value?`未生成`:'已生成'
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,6 +60,11 @@ public class ProjectInfoController extends BaseController
|
||||||
{
|
{
|
||||||
return prefix + "/selectAgent";
|
return prefix + "/selectAgent";
|
||||||
}
|
}
|
||||||
|
@GetMapping("selectProduct")
|
||||||
|
public String selectProduct()
|
||||||
|
{
|
||||||
|
return prefix + "/selectProduct";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -226,4 +226,9 @@ public class ProjectOrderInfoController extends BaseController
|
||||||
{
|
{
|
||||||
return prefix + "/selectPeople";
|
return prefix + "/selectPeople";
|
||||||
}
|
}
|
||||||
|
@GetMapping("selectProduct")
|
||||||
|
public String selectProduct()
|
||||||
|
{
|
||||||
|
return prefix + "/selectProduct";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue