提交 5b60e126 编写于 作者: Skyeye云's avatar Skyeye云

feat: 新增到货单选择功能

上级 3d29a016
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'table', 'jquery', 'winui', 'form'], function (exports) {
winui.renderColor();
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$,
form = layui.form,
table = layui.table;
var holderId = GetUrlParam("holderId");
if (isNull(holderId)) {
winui.window.msg("请传入适用对象信息", {icon: 2, time: 2000});
return false;
}
table.render({
id: 'messageTable',
elem: '#messageTable',
method: 'post',
url: sysMainMation.erpBasePath + 'queryPurchaseDeliveryList',
where: getTableParams(),
even: true,
page: true,
limits: getLimits(),
limit: getLimit(),
cols: [[
{ type: 'radio', fixed: 'left', rowspan: '2' },
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers', rowspan: '2' },
{ field: 'oddNumber', title: '单号', rowspan: '2', width: 200, align: 'center', templet: function (d) {
return '<a lay-event="details" class="notice-title-click">' + d.oddNumber + '</a>';
if (!isNull(d.fromId)) {
str += '<span class="state-new">[转]</span>';
}
return str;
}},
{ field: 'holderMation', title: '供应商', rowspan: '2', align: 'left', width: 150, templet: function (d) {
return getNotUndefinedVal(d.holderMation?.name);
}},
{ field: 'totalPrice', title: '合计金额', rowspan: '2', align: 'left', width: 120 },
{ field: 'operTime', title: '单据日期', rowspan: '2', align: 'center', width: 140 },
{ colspan: '2', title: '来源单据信息', align: 'center' },
{ field: 'state', title: '状态', rowspan: '2', width: 90, templet: function (d) {
return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("erpOrderStateEnum", 'id', d.state, 'name');
}},
{ field: 'qualityInspection', title: '质检状态', rowspan: '2', width: 90, templet: function (d) {
return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("orderQualityInspectionType", 'id', d.qualityInspection , 'name');
}},
{ field: 'otherState', title: '免检商品入库状态', rowspan: '2', width: 150, templet: function (d) {
return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("deliveryPutState", 'id', d.otherState, 'name');
}},
{ field: 'createName', title: systemLanguage["com.skyeye.createName"][languageType], rowspan: '2', width: 120 },
{ field: 'createTime', title: systemLanguage["com.skyeye.createTime"][languageType], rowspan: '2', align: 'center', width: 150 },
{ field: 'lastUpdateName', title: systemLanguage["com.skyeye.lastUpdateName"][languageType], rowspan: '2', align: 'left', width: 120 },
{ field: 'lastUpdateTime', title: systemLanguage["com.skyeye.lastUpdateTime"][languageType], rowspan: '2', align: 'center', width: 150 },
{ title: systemLanguage["com.skyeye.operation"][languageType], rowspan: '2', fixed: 'right', align: 'center', width: 200, toolbar: '#tableBar'}
], [
{ field: 'fromTypeId', title: '来源类型', width: 150, templet: function (d) {
return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("purchaseOrderFromType", 'id', d.fromTypeId, 'name');
}},
{ field: 'fromId', title: '单据编号', width: 200, templet: function (d) {
return getNotUndefinedVal(d.fromMation?.oddNumber);
}}
]],
done: function(json) {
matchingLanguage();
initTableSearchUtil.initAdvancedSearch(this, json.searchFilter, form, "请输入单号", function () {
table.reloadData("messageTable", {page: {curr: 1}, where: getTableParams()});
});
systemCommonUtil.disabledAllRow('radio');
for (var i = 0; i < json.rows.length; i++) {
// 只有状态为:【审核通过】并且【待质检/部分质检】的到货单才可以进行选中
let state = json.rows[i].state;
let qualityInspection = json.rows[i].qualityInspection;
if (state == 'pass' &&
(qualityInspection == 2 || qualityInspection == 3)) {
systemCommonUtil.enabledRow(json.rows[i].LAY_TABLE_INDEX, 'radio');
}
}
$('#messageTable').next().find('.layui-table-body').find("table" ).find("tbody").children("tr").on('dblclick',function(){
var dubClick = $('#messageTable').next().find('.layui-table-body').find("table").find("tbody").find(".layui-table-hover");
if (!dubClick.find("input[type='radio']").prop("disabled")) {
dubClick.find("input[type='radio']").prop("checked", true);
form.render();
var chooseIndex = JSON.stringify(dubClick.data('index'));
var obj = json.rows[chooseIndex];
parent.purchaseDeliveryMation = obj;
parent.refreshCode = '0';
parent.layer.close(index);
}
});
$('#messageTable').next().find('.layui-table-body').find("table" ).find("tbody").children("tr").on('click',function(){
var click = $('#messageTable').next().find('.layui-table-body').find("table").find("tbody").find(".layui-table-hover");
if (!click.find("input[type='radio']").prop("disabled")) {
click.find("input[type='radio']").prop("checked", true);
form.render();
}
})
}
});
form.render();
$("body").on("click", "#reloadTable", function() {
loadTable();
});
function loadTable() {
table.reloadData("messageTable", {where: getTableParams()});
}
function getTableParams() {
return $.extend(true, {holderId: holderId}, initTableSearchUtil.getSearchValue("messageTable"));
}
exports('purchaseDeliveryNoteChooseList', {});
});
\ No newline at end of file
...@@ -25,30 +25,30 @@ layui.config({ ...@@ -25,30 +25,30 @@ layui.config({
cols: [[ cols: [[
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers', rowspan: '2' }, { title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers', rowspan: '2' },
{ field: 'oddNumber', title: '单号', rowspan: '2', width: 200, align: 'center', templet: function (d) { { field: 'oddNumber', title: '单号', rowspan: '2', width: 200, align: 'center', templet: function (d) {
return '<a lay-event="details" class="notice-title-click">' + d.oddNumber + '</a>'; return '<a lay-event="details" class="notice-title-click">' + d.oddNumber + '</a>';
if (!isNull(d.fromId)) { if (!isNull(d.fromId)) {
str += '<span class="state-new">[转]</span>'; str += '<span class="state-new">[转]</span>';
} }
return str; return str;
}}, }},
{ field: 'holderMation', title: '供应商', rowspan: '2', align: 'left', width: 150, templet: function (d) { { field: 'holderMation', title: '供应商', rowspan: '2', align: 'left', width: 150, templet: function (d) {
return getNotUndefinedVal(d.holderMation?.name); return getNotUndefinedVal(d.holderMation?.name);
}}, }},
{ field: 'totalPrice', title: '合计金额', rowspan: '2', align: 'left', width: 120 }, { field: 'totalPrice', title: '合计金额', rowspan: '2', align: 'left', width: 120 },
{ field: 'operTime', title: '单据日期', rowspan: '2', align: 'center', width: 140 }, { field: 'operTime', title: '单据日期', rowspan: '2', align: 'center', width: 140 },
{ colspan: '2', title: '来源单据信息', align: 'center' }, { colspan: '2', title: '来源单据信息', align: 'center' },
{ field: 'processInstanceId', title: '流程ID', rowspan: '2', width: 100, templet: function (d) { { field: 'processInstanceId', title: '流程ID', rowspan: '2', width: 100, templet: function (d) {
return '<a lay-event="processDetails" class="notice-title-click">' + getNotUndefinedVal(d.processInstanceId) + '</a>'; return '<a lay-event="processDetails" class="notice-title-click">' + getNotUndefinedVal(d.processInstanceId) + '</a>';
}}, }},
{ field: 'state', title: '状态', rowspan: '2', width: 90, templet: function (d) { { field: 'state', title: '状态', rowspan: '2', width: 90, templet: function (d) {
return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("erpOrderStateEnum", 'id', d.state, 'name'); return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("erpOrderStateEnum", 'id', d.state, 'name');
}}, }},
{ field: 'qualityInspection', title: '质检状态', rowspan: '2', width: 90, templet: function (d) { { field: 'qualityInspection', title: '质检状态', rowspan: '2', width: 90, templet: function (d) {
return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("orderQualityInspectionType", 'id', d.qualityInspection , 'name'); return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("orderQualityInspectionType", 'id', d.qualityInspection , 'name');
}}, }},
{ field: 'otherState', title: '免检商品入库状态', rowspan: '2', width: 150, templet: function (d) { { field: 'otherState', title: '免检商品入库状态', rowspan: '2', width: 150, templet: function (d) {
return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("deliveryPutState", 'id', d.otherState, 'name'); return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("deliveryPutState", 'id', d.otherState, 'name');
}}, }},
{ field: 'createName', title: systemLanguage["com.skyeye.createName"][languageType], rowspan: '2', width: 120 }, { field: 'createName', title: systemLanguage["com.skyeye.createName"][languageType], rowspan: '2', width: 120 },
{ field: 'createTime', title: systemLanguage["com.skyeye.createTime"][languageType], rowspan: '2', align: 'center', width: 150 }, { field: 'createTime', title: systemLanguage["com.skyeye.createTime"][languageType], rowspan: '2', align: 'center', width: 150 },
{ field: 'lastUpdateName', title: systemLanguage["com.skyeye.lastUpdateName"][languageType], rowspan: '2', align: 'left', width: 120 }, { field: 'lastUpdateName', title: systemLanguage["com.skyeye.lastUpdateName"][languageType], rowspan: '2', align: 'left', width: 120 },
...@@ -56,11 +56,11 @@ layui.config({ ...@@ -56,11 +56,11 @@ layui.config({
{ title: systemLanguage["com.skyeye.operation"][languageType], rowspan: '2', fixed: 'right', align: 'center', width: 200, toolbar: '#tableBar'} { title: systemLanguage["com.skyeye.operation"][languageType], rowspan: '2', fixed: 'right', align: 'center', width: 200, toolbar: '#tableBar'}
], [ ], [
{ field: 'fromTypeId', title: '来源类型', width: 150, templet: function (d) { { field: 'fromTypeId', title: '来源类型', width: 150, templet: function (d) {
return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("purchaseOrderFromType", 'id', d.fromTypeId, 'name'); return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("purchaseOrderFromType", 'id', d.fromTypeId, 'name');
}}, }},
{ field: 'fromId', title: '单据编号', width: 200, templet: function (d) { { field: 'fromId', title: '单据编号', width: 200, templet: function (d) {
return getNotUndefinedVal(d.fromMation?.oddNumber); return getNotUndefinedVal(d.fromMation?.oddNumber);
}} }}
]], ]],
done: function(json) { done: function(json) {
matchingLanguage(); matchingLanguage();
......
...@@ -61,13 +61,14 @@ layui.config({ ...@@ -61,13 +61,14 @@ layui.config({
table.reloadData("messageTable", {page: {curr: 1}, where: getTableParams()}); table.reloadData("messageTable", {page: {curr: 1}, where: getTableParams()});
}); });
systemCommonUtil.disabledAllRow('radio');
for (var i = 0; i < json.rows.length; i++) { for (var i = 0; i < json.rows.length; i++) {
// 只有审批通过、执行中的项目才可以进行选中 // 只有【审核通过、部分转采购订单】或者状态为:【审核通过】到货状态为:【待到货、部分到货】的采购订单才可以进行选中
let state = json.rows[i].state; let state = json.rows[i].state;
let inquiryState = json.rows[i].inquiryState; let inquiryState = json.rows[i].inquiryState;
if ((state == 'pass' && (inquiryState == 1 || inquiryState == 4)) || if ((state == 'pass' && (inquiryState == 1 || inquiryState == 4)) ||
(state == 'partialProcurement' && (inquiryState == 1 || inquiryState == 4))) { (state == 'partialProcurement' && (inquiryState == 1 || inquiryState == 4))) {
systemCommonUtil.disabledRow(json.rows[i].LAY_TABLE_INDEX, 'radio'); systemCommonUtil.enabledRow(json.rows[i].LAY_TABLE_INDEX, 'radio');
} }
} }
$('#messageTable').next().find('.layui-table-body').find("table" ).find("tbody").children("tr").on('dblclick',function(){ $('#messageTable').next().find('.layui-table-body').find("table" ).find("tbody").children("tr").on('dblclick',function(){
......
...@@ -57,13 +57,14 @@ layui.config({ ...@@ -57,13 +57,14 @@ layui.config({
table.reloadData("messageTable", {page: {curr: 1}, where: getTableParams()}); table.reloadData("messageTable", {page: {curr: 1}, where: getTableParams()});
}); });
systemCommonUtil.disabledAllRow('radio');
for (var i = 0; i < json.rows.length; i++) { for (var i = 0; i < json.rows.length; i++) {
// 只有审批通过、执行中的项目才可以进行选中 // 只有【审核通过、部分转采购合同】并且【无需询价、定价完成】状态的采购申请单才可以进行选中
let state = json.rows[i].state; let state = json.rows[i].state;
let inquiryState = json.rows[i].inquiryState; let inquiryState = json.rows[i].inquiryState;
if ((state == 'pass' && (inquiryState == 1 || inquiryState == 4)) || if ((state == 'pass' && (inquiryState == 1 || inquiryState == 4)) ||
(state == 'partialProcurement' && (inquiryState == 1 || inquiryState == 4))) { (state == 'partialProcurement' && (inquiryState == 1 || inquiryState == 4))) {
systemCommonUtil.disabledRow(json.rows[i].LAY_TABLE_INDEX, 'radio'); systemCommonUtil.enabledRow(json.rows[i].LAY_TABLE_INDEX, 'radio');
} }
} }
$('#messageTable').next().find('.layui-table-body').find("table" ).find("tbody").children("tr").on('dblclick',function(){ $('#messageTable').next().find('.layui-table-body').find("table" ).find("tbody").children("tr").on('dblclick',function(){
......
...@@ -28,6 +28,7 @@ layui.config({ ...@@ -28,6 +28,7 @@ layui.config({
limits: getLimits(), limits: getLimits(),
limit: getLimit(), limit: getLimit(),
cols: [[ cols: [[
{ type: 'radio', fixed: 'left'},
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers', rowspan: '2' }, { title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers', rowspan: '2' },
{ field: 'title', title: '合同名称', rowspan: '2', align: 'left', width: 200, templet: function (d) { { field: 'title', title: '合同名称', rowspan: '2', align: 'left', width: 200, templet: function (d) {
return '<a lay-event="details" class="notice-title-click">' + d.title + '</a>'; return '<a lay-event="details" class="notice-title-click">' + d.title + '</a>';
...@@ -61,7 +62,7 @@ layui.config({ ...@@ -61,7 +62,7 @@ layui.config({
}); });
for (var i = 0; i < json.rows.length; i++) { for (var i = 0; i < json.rows.length; i++) {
// 只有审批通过、执行中的项目才可以进行选中 // 只有【审核通过、执行中】状态的合同才可以进行选中
if (json.rows[i].state != 'executing' && json.rows[i].state != 'pass') { if (json.rows[i].state != 'executing' && json.rows[i].state != 'pass') {
systemCommonUtil.disabledRow(json.rows[i].LAY_TABLE_INDEX, 'radio'); systemCommonUtil.disabledRow(json.rows[i].LAY_TABLE_INDEX, 'radio');
} }
......
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div class="winui-tip alert-info">
注意事项:<br/>
1. 双击指定行可选中数据<br/>
2. 只有状态为:【审核通过】并且【待质检/部分质检】的到货单可以选择
</div>
<div class="winui-toolbar">
<div class="winui-tool">
<button id="reloadTable" class="winui-toolbtn search-table-btn-right"><i class="fa fa-refresh" aria-hidden="true"></i><language showName="com.skyeye.refreshDataBtn"></language></button>
</div>
</div>
<div style="margin:auto 10px;">
<table id="messageTable" lay-filter="messageTable"></table>
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/purchaseDeliveryNote/'}).use('chooseList');
</script>
</body>
</html>
\ No newline at end of file
...@@ -300,6 +300,17 @@ var systemCommonUtil = { ...@@ -300,6 +300,17 @@ var systemCommonUtil = {
} }
}, },
/**
* 禁用所有行
*
* @param type
*/
disabledAllRow: function(type) {
$(".layui-table tr input[type='" + type + "']").prop('disabled', true);
$(".layui-table tr input[type='" + type + "']").addClass('layui-btn-disabled');
$(".layui-table tr input[type='" + type + "']").next().css("cursor", "not-allowed");
},
/** /**
* 表格禁止指定行数据选择 * 表格禁止指定行数据选择
* *
...@@ -314,6 +325,20 @@ var systemCommonUtil = { ...@@ -314,6 +325,20 @@ var systemCommonUtil = {
t.next().css("cursor", "not-allowed"); t.next().css("cursor", "not-allowed");
}, },
/**
* 表格开启指定行数据选择
*
* @param index 行坐标
* @param type 'radio': 单选;'checkbox': 多选
*/
enabledRow: function(index, type) {
// 第index行复选框不可选
let t = $(".layui-table tr[data-index=" + index + "] input[type='" + type + "']");
t.prop('disabled', false);
t.removeClass('layui-btn-disabled');
t.next().css("cursor", "allowed");
},
checkUrl: function (url) { checkUrl: function (url) {
return (url.startsWith('../') || url.startsWith('--')); return (url.startsWith('../') || url.startsWith('--'));
}, },
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册