20260511214503
This commit is contained in:
1 parent
364d29dbaa
commit
e98740192d
9 files changed
+2451
-875
No files matched your search
+68
-436
@@ -17,7 +17,7 @@
|
||||
<script type="text/javascript" src="js/datagrid-drag/datagrid-dnd.js"></script>
|
||||
<script type="text/javascript" src="js/datagrid-drag/datagrid-head.js"></script>
|
||||
<script type="text/javascript" src="jsys/chinesetopy.js"></script>
|
||||
<script type="text/javascript" src="js/draft-page-manager.js"></script>
|
||||
<script type="text/javascript" src="js/feegrid-manager.js"></script>
|
||||
<style>
|
||||
.g3-label-width {
|
||||
width: 80px;
|
||||
@@ -230,8 +230,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="subgridPager" class="easyui-pagination"
|
||||
style="margin: 6px 0px;background:#efefef;border:1px solid #ccc;"></div>
|
||||
|
||||
|
||||
<div class="g3-form-row" style="height: 30px; width: 99%; display: flex; align-items: center; gap: 20px;">
|
||||
<div class="g3-form-col" id="ed_div_total" style="flex: 1; min-width: 200px;">
|
||||
@@ -280,36 +279,14 @@
|
||||
var subdata_zdfees = new Array();
|
||||
var mainData = {};
|
||||
|
||||
/**
|
||||
* 子表草稿态 + 分页管理模块
|
||||
* 使用独立模块 draft-page-manager.js 管理
|
||||
*
|
||||
* 职责:
|
||||
* - 草稿池:insertRows / updateRows / deleteRows(保存提交用)
|
||||
* - 行展示态:行对象上的 _rowState(insert | update | delete | '')
|
||||
* - 分页:remoteTotal(服务端)+ insertRows 混排
|
||||
* - UI 勾选:selectedRows 唯一真相源(跨页)
|
||||
*/
|
||||
var draftManager = window.DraftPageManager.createDraftManager({
|
||||
keyField: 'subid',
|
||||
pageSize: 50
|
||||
});
|
||||
|
||||
/**
|
||||
* 修剪当前页选中状态(配合 clearChecked 使用)
|
||||
*/
|
||||
function pruneSelectedRowsForCurrentPage() {
|
||||
var rows = $('#feegrid').datagrid('getRows');
|
||||
draftManager.removeSelectionForRows(rows);
|
||||
}
|
||||
|
||||
let subSummary = {
|
||||
// 分币种
|
||||
moneyTypes: [],
|
||||
// 折合总金额
|
||||
totalAmount: 0
|
||||
};
|
||||
|
||||
// DataGrid 管理器实例
|
||||
var gridManager;
|
||||
|
||||
$(function () {
|
||||
SetEnterFocus();
|
||||
|
||||
@@ -389,8 +366,7 @@
|
||||
// configColumn('feegrid',subviewtable,'local');
|
||||
if (strid != "") {
|
||||
loaddata(strid);
|
||||
// loaddata_detail('feegrid', subviewtable, strid, '');
|
||||
loaddata_sub()
|
||||
gridManager.loadPage(1);
|
||||
calcw_fee();
|
||||
} else {
|
||||
console.log("走到了这里");
|
||||
@@ -494,148 +470,34 @@
|
||||
field: 'bcheck'
|
||||
});
|
||||
|
||||
$('#feegrid').datagrid({
|
||||
idField: 'subid',
|
||||
fit: true,
|
||||
remoteSort: false,
|
||||
multiSort: true,
|
||||
//multiSort :true,
|
||||
singleSelect: true,
|
||||
//ctrlSelect:true,
|
||||
selectOnCheck: false,
|
||||
checkOnSelect: false,
|
||||
rownumbers: true,
|
||||
// onDblClickRow:function(rowIndex, rowData){openDatayw(rowData);},
|
||||
//onClickRow : onClickRow_con,
|
||||
// onBeginEdit:onBeginEdit_con,
|
||||
toolbar: '#tb_con',
|
||||
columns: [columnfield],
|
||||
// pagination : false,
|
||||
// 创建 DataGridManager(自动初始化 datagrid 和分页器)
|
||||
gridManager = createDataGridManager({
|
||||
gridId: 'feegrid',
|
||||
keyField: 'subid',
|
||||
pageSize: 50,
|
||||
autoRowHeight: false,
|
||||
//pageList:[50,100,200,500],
|
||||
LoadSelkeyID: undefined,
|
||||
rowStyler: function (index, row) {
|
||||
if (row._rowState === 'insert') {
|
||||
return 'background-color: #f6ffed;';
|
||||
} else if (row._rowState === 'update') {
|
||||
return 'background-color: #fffbe6;';
|
||||
} else if (row._rowState === 'delete') {
|
||||
return 'background-color: #fff1f0;';
|
||||
}
|
||||
return '';
|
||||
},
|
||||
onLoadSuccess: function (data) {
|
||||
$.messager.progress('close');
|
||||
if ($('#feegrid').datagrid('options').LoadSelkeyID != undefined) {
|
||||
var rows = $('#feegrid').datagrid("getRows");
|
||||
if (rows.length > 0) {
|
||||
$('#b_dw_id').val(rows[0].mx_dw_id);
|
||||
$('#v_dwname').val(rows[0].v_mx_dw_name);
|
||||
if (rows[0].b_mycompany_id != undefined && rows[0].b_mycompany_id != '') {
|
||||
$('#b_mycompany_id').val(rows[0].b_mycompany_id);
|
||||
}
|
||||
if (rows[0].v_mycompanyname != undefined && rows[0].v_mycompanyname != '') {
|
||||
$('#v_mycompanyname').val(rows[0].v_mycompanyname);
|
||||
}
|
||||
}
|
||||
$('#feegrid').datagrid('options').LoadSelkeyID = undefined;
|
||||
}
|
||||
$('.datagrid-body tr').each(function () {
|
||||
var rowIndex = $(this).attr('datagrid-row-index');
|
||||
if (rowIndex !== undefined) {
|
||||
var row = $('#feegrid').datagrid('getRows')[parseInt(rowIndex)];
|
||||
if (row && row._rowState === 'delete') {
|
||||
$(this).addClass('datagrid-row-delete');
|
||||
} else {
|
||||
$(this).removeClass('datagrid-row-delete');
|
||||
}
|
||||
}
|
||||
});
|
||||
syncFeeGridChecksFromSubState();
|
||||
viewName: subviewtable,
|
||||
orderField: 'father ASC, mx_xh ASC, b_id ASC',
|
||||
baseSearchCondition: "mx_zdorderid='" + strid + "'",
|
||||
selectAllBtn: '#btn_select_all',
|
||||
selectAllText: '全部选中',
|
||||
unselectAllText: '全部反选',
|
||||
userid: '',
|
||||
onLoadSuccess: function (rows) {
|
||||
calcw_selfee();
|
||||
},
|
||||
onAfterEdit: function (rowIndex, row, changes) {
|
||||
if (Object.keys(changes).length === 0) {
|
||||
return;
|
||||
}
|
||||
if (draftManager.isInsertRow(row) || draftManager.isInInsertRows(row)) {
|
||||
if (!row._rowState) {
|
||||
row._rowState = 'insert';
|
||||
}
|
||||
} else if (!draftManager.isDeleteRow(row)) {
|
||||
row._rowState = 'update';
|
||||
draftManager.addToUpdateRows(row);
|
||||
}
|
||||
calcw_fee();
|
||||
},
|
||||
onCheckAll: function () {
|
||||
draftManager.setAllChecked(true);
|
||||
draftManager.clearExcludedRows();
|
||||
calcw_selfee()
|
||||
},
|
||||
onUncheckAll: function () {
|
||||
draftManager.setAllChecked(false);
|
||||
draftManager.clearExcludedRows();
|
||||
draftManager.clearSelectedRows();
|
||||
calcw_selfee()
|
||||
},
|
||||
onCheck: function (index, row) {
|
||||
if (draftManager.isAllChecked()) {
|
||||
draftManager.removeExcludedRow(row);
|
||||
} else {
|
||||
draftManager.addSelectedRow(row);
|
||||
}
|
||||
calcw_selfee()
|
||||
},
|
||||
onUncheck: function (index, row) {
|
||||
if (draftManager.isAllChecked()) {
|
||||
draftManager.addExcludedRow(row);
|
||||
} else {
|
||||
draftManager.removeSelectedRow(row);
|
||||
}
|
||||
calcw_selfee()
|
||||
}
|
||||
}).datagrid("columnMoving");
|
||||
|
||||
$('#feegrid').datagrid('getPanel').find('.datagrid-body').on('scroll.datagrid', function (e) {
|
||||
if (editIndex_con != undefined) {
|
||||
$('#feegrid').datagrid('endEdit', editIndex_con);
|
||||
editIndex_con = undefined;
|
||||
}
|
||||
})
|
||||
|
||||
$('#subgridPager').pagination({
|
||||
total: draftManager.getPagination().total,
|
||||
pageSize: draftManager.getPagination().pageSize,
|
||||
pageNumber: draftManager.getPagination().pageNumber,
|
||||
|
||||
pageList: [50, 100, 200],
|
||||
|
||||
onSelectPage: function (pageNumber, pageSize) {
|
||||
draftManager.setPageNumber(pageNumber);
|
||||
draftManager.setPageSize(pageSize);
|
||||
|
||||
loaddata_sub();
|
||||
},
|
||||
onChangePageSize: function (pageSize) {
|
||||
draftManager.setPageNumber(1);
|
||||
draftManager.setPageSize(pageSize);
|
||||
|
||||
if (!draftManager.isAllChecked()) {
|
||||
$('#feegrid').datagrid('clearChecked');
|
||||
draftManager.clearSelectedRows();
|
||||
}
|
||||
|
||||
calcw_selfee()
|
||||
|
||||
loaddata_sub();
|
||||
onSelectionChange: function () {
|
||||
calcw_selfee();
|
||||
}
|
||||
});
|
||||
|
||||
// configColumn('feegrid',subviewtable,'local');
|
||||
gridManager.setColumns(columnfield);
|
||||
}
|
||||
|
||||
// configColumn('feegrid',subviewtable,'local');
|
||||
|
||||
function openData(id, hstype) {
|
||||
var e = window.event || e;
|
||||
if (e.stopPropagation) {
|
||||
@@ -649,227 +511,8 @@
|
||||
}
|
||||
}
|
||||
|
||||
// ========== 子表:分页请求、与 insertRows 合并、行态恢复、刷新 ==========
|
||||
|
||||
// 拉取当前页:纯 insert 尾段走本地切片;否则 Ajax 后 merge 尾段 insert
|
||||
function loaddata_sub() {
|
||||
$('#feegrid').datagrid('loading');
|
||||
$('#subgridPager').css({
|
||||
'pointer-events': 'none',
|
||||
'opacity': '0.6'
|
||||
});
|
||||
$('#subgridPager').pagination('loading');
|
||||
|
||||
var pagination = draftManager.getPagination();
|
||||
var pageNumber = pagination.pageNumber;
|
||||
var pageSize = pagination.pageSize;
|
||||
var remoteTotal = pagination.remoteTotal;
|
||||
var insertRows = draftManager.getInsertRows();
|
||||
|
||||
if (!strid) {
|
||||
var pageData = [];
|
||||
if (insertRows.length > 0) {
|
||||
var startInInsert = (pageNumber - 1) * pageSize;
|
||||
var endInInsert = startInInsert + pageSize;
|
||||
pageData = insertRows.slice(startInInsert, endInInsert);
|
||||
}
|
||||
|
||||
$('#feegrid').datagrid('loadData', pageData);
|
||||
|
||||
$('#subgridPager').pagination('refresh', {
|
||||
total: insertRows.length,
|
||||
pageNumber: pageNumber,
|
||||
pageSize: pageSize
|
||||
});
|
||||
|
||||
$('#feegrid').datagrid('loaded');
|
||||
$('#subgridPager').css({
|
||||
'pointer-events': '',
|
||||
'opacity': ''
|
||||
});
|
||||
$('#subgridPager').pagination('loaded');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (remoteTotal > 0 && draftManager.isInsertOnlyPage(pageNumber)) {
|
||||
var startInInsert = (pageNumber - 1) * pageSize - remoteTotal;
|
||||
var endInInsert = startInInsert + pageSize;
|
||||
var pageData = insertRows.slice(startInInsert, endInInsert);
|
||||
|
||||
$('#feegrid').datagrid('loadData', pageData);
|
||||
|
||||
$('#subgridPager').pagination('refresh', {
|
||||
total: draftManager.getActualTotal(),
|
||||
pageNumber: pageNumber,
|
||||
pageSize: pageSize
|
||||
});
|
||||
|
||||
$('#feegrid').datagrid('loaded');
|
||||
$('#subgridPager').css({
|
||||
'pointer-events': '',
|
||||
'opacity': ''
|
||||
});
|
||||
$('#subgridPager').pagination('loaded');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
var searchcondition = "mx_zdorderid='" + strid + "'";
|
||||
var searchparam = {
|
||||
viewname: subviewtable,
|
||||
searchcondition: searchcondition,
|
||||
userid: '',
|
||||
orderfield: 'father ASC, mx_xh ASC, b_id ASC',
|
||||
keyfield: 'subid',
|
||||
page: pagination.pageNumber,
|
||||
rows: pagination.pageSize
|
||||
};
|
||||
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: 'jsp/searchdatapagenew.jsp',
|
||||
cache: false,
|
||||
data: searchparam,
|
||||
dataType: 'json',
|
||||
success: function (result) {
|
||||
draftManager.setRemoteTotal(result.total);
|
||||
draftManager.setCurrentRemoteRows(result.rows);
|
||||
|
||||
draftManager.restoreRowStates(result.rows);
|
||||
|
||||
var pageData = draftManager.buildPageData(result.rows, pageNumber);
|
||||
|
||||
$('#feegrid').datagrid('loadData', pageData);
|
||||
|
||||
var newPagination = draftManager.getPagination();
|
||||
$('#subgridPager').pagination('refresh', {
|
||||
total: newPagination.total,
|
||||
pageNumber: newPagination.pageNumber,
|
||||
pageSize: newPagination.pageSize
|
||||
});
|
||||
},
|
||||
error: function () {
|
||||
console.log('分页加载失败');
|
||||
},
|
||||
complete: function () {
|
||||
$('#feegrid').datagrid('loaded');
|
||||
$('#subgridPager').css({
|
||||
'pointer-events': '',
|
||||
'opacity': ''
|
||||
});
|
||||
$('#subgridPager').pagination('loaded');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// buildCurrentPageData 和 restoreRowStates 已移至 draft-page-manager.js 模块中
|
||||
|
||||
// 新增费用等后:若页码越界则纠页,否则重载
|
||||
function refreshCurrentPage() {
|
||||
var currentPage = draftManager.getPagination().pageNumber;
|
||||
var totalPages = draftManager.getTotalPages();
|
||||
|
||||
if (currentPage > totalPages) {
|
||||
draftManager.setPageNumber(totalPages);
|
||||
$('#subgridPager').pagination('select', totalPages);
|
||||
} else {
|
||||
loaddata_sub();
|
||||
}
|
||||
}
|
||||
|
||||
// 仅重绘当前内存行(保存行软删后),会 clearChecked,并同步修剪 selectedRows
|
||||
function refreshCurrentPageDisplay() {
|
||||
var currentRows = $('#feegrid').datagrid('getRows');
|
||||
$('#feegrid').datagrid('loadData', currentRows);
|
||||
$('#feegrid').datagrid('clearChecked');
|
||||
pruneSelectedRowsForCurrentPage();
|
||||
calcw_selfee();
|
||||
}
|
||||
|
||||
// 撤销删除后:重绘并恢复勾选与业务侧选中金额
|
||||
function refreshCurrentPageAfterUndo() {
|
||||
var currentRows = $('#feegrid').datagrid('getRows');
|
||||
$('#feegrid').datagrid('loadData', currentRows);
|
||||
syncFeeGridChecksFromSubState();
|
||||
calcw_selfee();
|
||||
}
|
||||
|
||||
// 物理删除 insert 行等后:按展示条数纠正页码并重载
|
||||
function refreshCurrentPageAfterDelete() {
|
||||
var pagination = draftManager.getPagination();
|
||||
var currentPage = pagination.pageNumber;
|
||||
var pageSize = pagination.pageSize;
|
||||
var displayTotal = draftManager.getDisplayTotal();
|
||||
var totalPages = Math.ceil(displayTotal / pageSize);
|
||||
|
||||
if (currentPage > totalPages && totalPages > 0) {
|
||||
draftManager.setPageNumber(totalPages);
|
||||
$('#subgridPager').pagination('select', totalPages);
|
||||
} else if (displayTotal === 0) {
|
||||
$('#feegrid').datagrid('loadData', []);
|
||||
$('#subgridPager').pagination('refresh', {
|
||||
total: 0,
|
||||
pageNumber: 1,
|
||||
pageSize: pageSize
|
||||
});
|
||||
} else {
|
||||
loaddata_sub();
|
||||
}
|
||||
|
||||
$('#feegrid').datagrid('clearChecked');
|
||||
pruneSelectedRowsForCurrentPage();
|
||||
calcw_selfee();
|
||||
}
|
||||
|
||||
// 根据 selectedRows 主键集合,打勾/取消当前可见行(跨页真相源)
|
||||
function syncFeeGridChecksFromSubState() {
|
||||
var rows = $('#feegrid').datagrid('getRows');
|
||||
var selKeys = {};
|
||||
var selectedRows = draftManager.getSelectedRows();
|
||||
for (var s = 0; s < selectedRows.length; s++) {
|
||||
selKeys[draftManager.getRowKey(selectedRows[s])] = true;
|
||||
}
|
||||
var excludedKeys = {};
|
||||
var excludedRows = draftManager.getExcludedRows();
|
||||
for (var e = 0; e < excludedRows.length; e++) {
|
||||
excludedKeys[draftManager.getRowKey(excludedRows[e])] = true;
|
||||
}
|
||||
for (var i = 0; i < rows.length; i++) {
|
||||
var row = rows[i];
|
||||
var key = draftManager.getRowKey(row);
|
||||
if (draftManager.isAllChecked()) {
|
||||
if (excludedKeys[key]) {
|
||||
$('#feegrid').datagrid('uncheckRow', i);
|
||||
} else {
|
||||
$('#feegrid').datagrid('checkRow', i);
|
||||
}
|
||||
} else {
|
||||
if (selKeys[key]) {
|
||||
$('#feegrid').datagrid('checkRow', i);
|
||||
} else {
|
||||
$('#feegrid').datagrid('uncheckRow', i);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function toggleSelectAll() {
|
||||
if (draftManager.isAllChecked()) {
|
||||
draftManager.setAllChecked(false);
|
||||
draftManager.clearExcludedRows();
|
||||
draftManager.clearSelectedRows();
|
||||
$('#feegrid').datagrid('clearChecked');
|
||||
$('#btn_select_all').val('全部选中');
|
||||
} else {
|
||||
draftManager.setAllChecked(true);
|
||||
draftManager.clearExcludedRows();
|
||||
var rows = $('#feegrid').datagrid('getRows');
|
||||
for (var i = 0; i < rows.length; i++) {
|
||||
$('#feegrid').datagrid('checkRow', i);
|
||||
}
|
||||
$('#btn_select_all').val('全部反选');
|
||||
}
|
||||
gridManager.toggleSelectAll();
|
||||
}
|
||||
|
||||
//////////-------feegrid-----------
|
||||
@@ -920,8 +563,8 @@
|
||||
|
||||
// 草稿:已保存行标记删除 → 仍计入 DB 汇总,需扣回;本地新增 insertRows → 尚未进 DB,需加上
|
||||
var dIdx;
|
||||
var deleteRows = draftManager.getDeleteRows();
|
||||
var insertRows = draftManager.getInsertRows();
|
||||
var deleteRows = gridManager.getDeleteRows();
|
||||
var insertRows = gridManager.getInsertRows();
|
||||
for (dIdx = 0; dIdx < deleteRows.length; dIdx++) {
|
||||
applyFeeRowToMoneyTypeGroups(groupMap, deleteRows[dIdx], -1);
|
||||
}
|
||||
@@ -981,7 +624,7 @@
|
||||
}
|
||||
|
||||
function calcDeleteFee() {
|
||||
var deleteRows = draftManager.getDeleteRows();
|
||||
var deleteRows = gridManager.getDeleteRows();
|
||||
var deleteGroupMap = {};
|
||||
|
||||
for (var i = 0; i < deleteRows.length; i++) {
|
||||
@@ -1025,7 +668,7 @@
|
||||
|
||||
// 计算选中行的金额(仅业务有效行)
|
||||
function calcw_selfee() {
|
||||
var rows = draftManager.getValidSelectedRows();
|
||||
var rows = gridManager.getValidSelectedRows();
|
||||
|
||||
var irow = rows.length;
|
||||
|
||||
@@ -1254,9 +897,8 @@
|
||||
loaddata(strid);
|
||||
endEditing_con();
|
||||
|
||||
draftManager.reset();
|
||||
|
||||
loaddata_sub();
|
||||
gridManager.reset();
|
||||
gridManager.loadPage(1);
|
||||
|
||||
calcw_fee();
|
||||
var formobj = app.serializeObject2($('#zdskform'));
|
||||
@@ -1374,7 +1016,7 @@
|
||||
|
||||
var ywidMap = {};
|
||||
|
||||
var deleteRows = draftManager.getDeleteRows();
|
||||
var deleteRows = gridManager.getDeleteRows();
|
||||
if (deleteRows) {
|
||||
for (let d of deleteRows) {
|
||||
if (!d || !d.subid) {
|
||||
@@ -1387,7 +1029,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
var insertRows = draftManager.getInsertRows();
|
||||
var insertRows = gridManager.getInsertRows();
|
||||
if (insertRows) {
|
||||
for (let r of insertRows) {
|
||||
if (!r || !r.subid) {
|
||||
@@ -1647,7 +1289,7 @@
|
||||
console.log('主表变化');
|
||||
return true;
|
||||
} else {
|
||||
if (draftManager.getInsertRows().length > 0 || draftManager.getUpdateRows().length > 0 || draftManager.getDeleteRows().length > 0) {
|
||||
if (gridManager.getInsertRows().length > 0 || gridManager.getUpdateRows().length > 0 || gridManager.getDeleteRows().length > 0) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@@ -1711,19 +1353,19 @@
|
||||
|
||||
for (var i = 0; i < result.length; i++) {
|
||||
var r = result[i];
|
||||
var rk = draftManager.getRowKey(r);
|
||||
var dup = draftManager.getInsertRows().some(function (x) {
|
||||
return draftManager.getRowKey(x) === rk;
|
||||
var rk = gridManager.getDraftManager().getRowKey(r);
|
||||
var dup = gridManager.getInsertRows().some(function (x) {
|
||||
return gridManager.getDraftManager().getRowKey(x) === rk;
|
||||
});
|
||||
if (!dup) {
|
||||
if (!r._rowState) {
|
||||
r._rowState = 'insert';
|
||||
}
|
||||
draftManager.addInsertRow(r);
|
||||
gridManager.addInsertRows(r);
|
||||
}
|
||||
}
|
||||
|
||||
refreshCurrentPage();
|
||||
gridManager.refreshCurrentPage();
|
||||
calcw_fee();
|
||||
}
|
||||
},
|
||||
@@ -1763,30 +1405,30 @@
|
||||
|
||||
for (var i = 0; i < rows.length; i++) {
|
||||
var r = rows[i];
|
||||
var rk = draftManager.getRowKey(r);
|
||||
var dup = draftManager.getInsertRows().some(function (x) {
|
||||
return draftManager.getRowKey(x) === rk;
|
||||
var rk = gridManager.getDraftManager().getRowKey(r);
|
||||
var dup = gridManager.getInsertRows().some(function (x) {
|
||||
return gridManager.getDraftManager().getRowKey(x) === rk;
|
||||
});
|
||||
if (!dup) {
|
||||
if (!r._rowState) {
|
||||
r._rowState = 'insert';
|
||||
}
|
||||
draftManager.addInsertRow(r);
|
||||
gridManager.addInsertRows(r);
|
||||
}
|
||||
}
|
||||
|
||||
refreshCurrentPage();
|
||||
gridManager.refreshCurrentPage();
|
||||
calcw_fee();
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
|
||||
// 子表草稿:标记删除或移除 insert(数据源 getActualSelectedRows)
|
||||
// 子表草稿:标记删除或移除 insert(数据源 getValidSelectedRows)
|
||||
function removeit() {
|
||||
$.messager.confirm("操作提示", '您确定要删除勾选的费用吗?', function (r) {
|
||||
if (r) {
|
||||
endEditing_con();
|
||||
var selectedRows = draftManager.getValidSelectedRows();
|
||||
var selectedRows = gridManager.getValidSelectedRows();
|
||||
|
||||
if (selectedRows.length === 0) {
|
||||
$.messager.alert('提示', '请选择要删除的行(已标记删除的行请使用「撤销删除」)', 'warning');
|
||||
@@ -1806,33 +1448,30 @@
|
||||
|
||||
var hasInsertDelete = false;
|
||||
|
||||
var dm = gridManager.getDraftManager();
|
||||
for (var i = selectedRows.length - 1; i >= 0; i--) {
|
||||
var row = selectedRows[i];
|
||||
|
||||
if (draftManager.isInsertRow(row) || draftManager.isInInsertRows(row)) {
|
||||
draftManager.removeInsertRow(row);
|
||||
draftManager.removeFromUpdateRows(row);
|
||||
if (dm.isInsertRow(row) || dm.isInInsertRows(row)) {
|
||||
gridManager.removeInsertRow(row);
|
||||
hasInsertDelete = true;
|
||||
} else {
|
||||
var delKey = draftManager.getRowKey(row);
|
||||
var wasUpdate = draftManager.getUpdateRows().some(function (rr) {
|
||||
return draftManager.getRowKey(rr) === delKey;
|
||||
var delKey = dm.getRowKey(row);
|
||||
var wasUpdate = gridManager.getUpdateRows().some(function (rr) {
|
||||
return dm.getRowKey(rr) === delKey;
|
||||
});
|
||||
row._undoRowState = wasUpdate ? 'update' : '';
|
||||
row._rowState = 'delete';
|
||||
draftManager.addToDeleteRows(row);
|
||||
draftManager.removeFromUpdateRows(row);
|
||||
gridManager.addDeleteRow(row);
|
||||
}
|
||||
|
||||
draftManager.removeSelectedRow(row);
|
||||
}
|
||||
|
||||
calcw_fee();
|
||||
|
||||
if (hasInsertDelete) {
|
||||
refreshCurrentPageAfterDelete();
|
||||
gridManager.refreshAfterDelete();
|
||||
} else {
|
||||
refreshCurrentPageDisplay();
|
||||
gridManager.refreshDisplay();
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -1844,13 +1483,14 @@
|
||||
var pageRows = $('#feegrid').datagrid('getRows');
|
||||
var targets = [];
|
||||
var selKeys = {};
|
||||
var selectedRows = draftManager.getSelectedRows();
|
||||
var dm = gridManager.getDraftManager();
|
||||
var selectedRows = gridManager.getSelectedRows();
|
||||
for (var sk = 0; sk < selectedRows.length; sk++) {
|
||||
selKeys[draftManager.getRowKey(selectedRows[sk])] = true;
|
||||
selKeys[dm.getRowKey(selectedRows[sk])] = true;
|
||||
}
|
||||
var hasSelectionOnPage = false;
|
||||
for (var hp = 0; hp < pageRows.length; hp++) {
|
||||
if (selKeys[draftManager.getRowKey(pageRows[hp])]) {
|
||||
if (selKeys[dm.getRowKey(pageRows[hp])]) {
|
||||
hasSelectionOnPage = true;
|
||||
break;
|
||||
}
|
||||
@@ -1862,14 +1502,14 @@
|
||||
}
|
||||
}
|
||||
} else {
|
||||
var delSel = draftManager.getDeletedSelectedRows();
|
||||
var delSel = dm.getDeletedSelectedRows();
|
||||
var delKeys = {};
|
||||
for (var dv = 0; dv < delSel.length; dv++) {
|
||||
delKeys[draftManager.getRowKey(delSel[dv])] = true;
|
||||
delKeys[dm.getRowKey(delSel[dv])] = true;
|
||||
}
|
||||
for (var v = 0; v < pageRows.length; v++) {
|
||||
var pr = pageRows[v];
|
||||
if (pr._rowState === 'delete' && delKeys[draftManager.getRowKey(pr)]) {
|
||||
if (pr._rowState === 'delete' && delKeys[dm.getRowKey(pr)]) {
|
||||
targets.push(pr);
|
||||
}
|
||||
}
|
||||
@@ -1883,18 +1523,10 @@
|
||||
if (row._rowState !== 'delete') {
|
||||
continue;
|
||||
}
|
||||
var prev = row._undoRowState;
|
||||
draftManager.removeFromDeleteRows(row);
|
||||
if (prev === 'update') {
|
||||
row._rowState = 'update';
|
||||
draftManager.addToUpdateRows(row);
|
||||
} else {
|
||||
row._rowState = '';
|
||||
}
|
||||
delete row._undoRowState;
|
||||
gridManager.removeDeleteRow(row);
|
||||
}
|
||||
calcw_fee();
|
||||
refreshCurrentPageAfterUndo();
|
||||
gridManager.refreshAfterUndo();
|
||||
}
|
||||
|
||||
// 批量删除
|
||||
@@ -1930,7 +1562,7 @@
|
||||
var zdorderid = $('#b_id').val();
|
||||
var url;
|
||||
var i = 0;
|
||||
var rows = draftManager.getValidSelectedRows();
|
||||
var rows = gridManager.getValidSelectedRows();
|
||||
if (rows.length <= 0) {
|
||||
var moneyid = $('#b_money_id').val();
|
||||
url = "jcwzd/editskd.jsp?zdorderid=" + zdorderid + "&moneyid=" + moneyid;
|
||||
@@ -2005,7 +1637,7 @@
|
||||
}
|
||||
var i = 0;
|
||||
var url;
|
||||
var rows = draftManager.getValidSelectedRows();
|
||||
var rows = gridManager.getValidSelectedRows();
|
||||
/* if (rows.length<=0){
|
||||
return false;
|
||||
};
|
||||
@@ -2340,7 +1972,7 @@
|
||||
});
|
||||
}
|
||||
function locked_ys() {
|
||||
var rows = draftManager.getValidSelectedRows();
|
||||
var rows = gridManager.getValidSelectedRows();
|
||||
var locked_idarr = new Array();
|
||||
var updaterows = new Array();
|
||||
for (var i in rows) {
|
||||
@@ -2359,7 +1991,7 @@
|
||||
}
|
||||
}
|
||||
function locked_cw() {
|
||||
var rows = draftManager.getValidSelectedRows();
|
||||
var rows = gridManager.getValidSelectedRows();
|
||||
var locked_idarr = new Array();
|
||||
var updaterows = new Array();
|
||||
for (var i in rows) {
|
||||
@@ -2378,7 +2010,7 @@
|
||||
}
|
||||
}
|
||||
function unlocked_cw() {
|
||||
var rows = draftManager.getValidSelectedRows();
|
||||
var rows = gridManager.getValidSelectedRows();
|
||||
var locked_idarr = new Array();
|
||||
var updaterows = new Array();
|
||||
for (var i in rows) {
|
||||
|
||||
Reference in new issue
Block a user