選中箱區任務串列中的某一行資料(checkbox),再選擇場吊某一行,獲得場吊號,點擊生成場吊作業計劃,生成新的一條記錄
這個要怎么寫,求教js和views部分
html:
<div class="layui-card-header" style="font-size: 16px;font-weight:600;text-align: center">
箱區任務串列
</div>
<div class="layui-card-body">
<table class="layui-table" id="slot_table">
<thead>
<tr>
{# <th name="index">序號</th>#}
<th name="gangs_no">箱號</th>
<th name="rate_num_set">尺寸</th>
{# <th name="plan_num">箱型</th>#}
<th name="unplan_num">作業貝位</th>
<th name="unplan_num">作業類別</th>
{# <th name="unplan_num">場吊編號</th>#}
<th name="unplan_num">緊前作業箱號</th>
{# <th name="unplan_num">作業設備</th>#}
<th>操作</th>
</tr>
</thead>
<tbody id="slot_tbody">
</tbody>
<button type="button" style="margin-top: 5px" class="layui-btn layui-btn-normal"
id="crane_plan">生成場吊作業計劃
</button>
場吊作業計劃
</div>
<div class="layui-card-body">
<table class="layui-table" id="crane_work_table">
<thead>
<tr>
<th>場吊號</th>
<th>箱區</th>
<th>箱號</th>
<th>尺寸</th>
<th data-type="num">箱位</th>
<th data-type="num">作業類別</th>
{# <th>作業序號</th>#}
<th>緊前作業箱號</th>
{# <th>緊后箱號</th>#}
</tr>
</thead>
<tbody id="crane_work_tbody">
</tbody>
</table>
</div>
</div>
</div>
js:
//選箱區任務資訊和場吊資訊,生成場吊作業計劃
layui.use(['form', 'element', 'laydate'], function () {
var jQuery = layui.jquery
, layer = layui.layer
, form = layui.form
, element = layui.element;
$("#crane_plan").on('click', function () {
let block_no = $(`input[name="blocksel"]:checked`).val();
let selectedSlot = [];
let selectedCrane2 = [];
$("input[name='select_solt']:checkbox:checked").each(function () {
let $trEle = $(this).parent().parent();
let CtnNo = $trEle.children().eq(0).text();
// let CtnSize = $trEle.children().eq(1).text();
// let OpBayNo = $trEle.children().eq(2).text();
// let OpClass = $trEle.children().eq(3).text();
// let PreOpCtnNo = $trEle.children().eq(4).text();
selectedSlot.push(CtnNo);
this.checked = false;
this.disabled = true;
});
$("input[name='select_crane2']:checkbox:checked").each(function () {
let $trEle = $(this).parent().parent();
let YcNo = $trEle.children().eq(0).text();
selectedCrane2.push(YcNo);
this.checked = false;
this.disabled = true;
});
info = {
block_no: block_no,
selectedSlot: selectedSlot,
selectedCrane2: selectedCrane2
};
console.log(info);
$.ajax({
url: "/yard/create_plan/",
type: "POST",
data: JSON.stringify(info),
success: function (res) {
alert("提交成功");
$("#crane_work_tbody").empty();
// $("#bay_show").empty();
let tbodyObj = $("#crane_work_tbody");
for (let j = 0; j < res.length; j++) {
let index = res[j];
for (let i = 0; i < index.length; i++) {
let newTr = document.createElement('tr');
let newTd = `<td >${ index[i].YcNo }</td>
<td>${ index[i].OpZone }</td><td>${ index[i].CtnNo }</td>
<td>${ index[i].CtnSize }</td><td>${ index[i].OpBayNo }</td>
<td>${ index[i].OpClass }</td><td>${ index[i].PreOpCtnNo }</td>
`;
newTr.innerHTML = newTd;
tbodyObj[0].appendChild(newTr);
}
}
}
})
})
})
views:
def create_plan(request):
if request.method == "POST":
data = json.loads(request.body.decode('utf-8'))
Block_no = data['block_no']
selectedCrane2 = data['selectedCrane2']
selectedSlot = data['selectedSlot']
for i in range(0, len(selectedSlot)):
CtnNo = data['CtnNo']
CtnSize = data['CtnSize']
OpBayNo = data['OpBayNo']
OpClass = data['OpClass']
PreOpCtnNo = data['PreOpCtnNo']
for i in range(0, len(selectedCrane2)):
YcNo = data['YcNo']
for i in range(0, len(Block_no)):
try:
obj = YardCraneOperaOrder.objects.get(OpZone=Block_no, YcNo=YcNo)
except YardCraneOperaOrder.DoesNotExist:
obj = None
if obj is None:
YardCraneOperaOrder.objects.update_or_create(YcNo=YcNo,
OpZone=Block_no,
CtnNo=CtnNo,
CtnSize=CtnSize,
OpBayNo=OpBayNo,
OpClass=OpClass,
PreOpCtnNo=PreOpCtnNo,
)
msg="success"
return JsonResponse(msg, safe=False)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/45468.html
標籤:JavaScript
上一篇:騰訊云服務器網站搭建問題
下一篇:一個破解微信投票時遇到的問題
