yhl88 2 роки тому
батько
коміт
d5df7226c2

+ 53 - 3
bin/src/main/webapp/js/app/vendinfo/ITP_VENDINFO01010.js

@@ -19,6 +19,7 @@ let ITP_FORM_VENDINFO01010_DETAIL_IS_WRITING = false;
19 19
 
20 20
 let ITP_COMMON_ASSGN_TASK = fn_make_common_cd_list(CODE_LIST, 'ASSGN_TASK', true, '담당업무');
21 21
 
22
+let VENDINFO01010_GRID_LAST_ROW_ID;
22 23
 
23 24
 //API URL
24 25
 let API_SPPLY_DETAIL_GRID_LIST = '/api/spply/detail-grid-list';
@@ -81,7 +82,7 @@ const gridColModel = {
81 82
             width: '10', fixed: false, align: 'center',
82 83
             sortable: false, editable: true, formatter: 'select', edittype: 'select',
83 84
 			editoptions: {value: ITP_COMMON_ASSGN_TASK},
84
-			editrules: {required: false}
85
+			editrules: {required: true}
85 86
         }
86 87
     ]
87 88
 };
@@ -147,6 +148,12 @@ let pageObj = {
147 148
                     }
148 149
                 });
149 150
             });
151
+            
152
+            $('body').on('click', function(e) {
153
+            	console.log(111111);
154
+				var gridId = VENDINFO01010_DETAIL_GRID_ID.replace('#', '');
155
+				itp_fn_grid_reset_selection(e, VENDINFO01010_GRID_LAST_ROW_ID, gridId, 'VENDINFO01010');
156
+			});
150 157
         }
151 158
     },
152 159
     fileUpload: function() {
@@ -221,10 +228,10 @@ let pageObj = {
221 228
 			$('#ITP_BTN_VENDINFO01010_DETAIL_ADRES_SCH').show();
222 229
 			$('#ITP_VENDINFO01010_DETAIL_ACCT_FILE_UPLOAD').show();
223 230
 			$('#ITP_VENDINFO01010_DETAIL_ACCT_FILE_UPLOAD').show();
224
-		} else if(mode === 'VIEW') { // 보기
231
+		} /*else if(mode === 'VIEW') { // 보기
225 232
 			$('#ITP_AJAX_VENDINFO01010_VIEW_CONTAINER').show();
226 233
 			fn_show_btn_auth_array(['#ITP_BTN_VENDINFO01010_MODIFY', '#ITP_BTN_VENDINFO01010_CANCELLIST']);
227
-		}
234
+		}*/
228 235
 	},
229 236
 	grid: {
230 237
 		init: function(mode, gridData) {
@@ -249,9 +256,20 @@ let pageObj = {
249 256
 				multiselect: (this.mode !== 'VIEW'),
250 257
 				loadComplete: function(data) {
251 258
 					console.log(data);
259
+					itp_fn_grid_load_complete(data, VENDINFO01010_DETAIL_GRID_ID, true, 'number', 'VENDINFO01010', modifyObj.itp_VENDINFO01010_search, modifyObj.empty, true, data.gridRecords, true);
252 260
 					let gridList = VENDINFO01010_DETAIL_GRID_LIST;
253 261
 					$(gridList).find('.ui-jqgrid .ui-jqgrid-bdiv').css('overflow-x', 'hidden');
254 262
 					(Array.isArray(data.rows) && data.rows.length === 0) ? $(_this.gridEmpty).show() : $(_this.gridEmpty).hide();
263
+					var ids = $(VENDINFO01010_DETAIL_GRID_ID).getDataIDs();
264
+					$.each(ids, function(idx, rowId) {
265
+						$(VENDINFO01010_DETAIL_GRID_ID).jqGrid('setCell', rowId, 'contSttDt', '', ITP_GRID_COL_STYLE.link);
266
+					});
267
+					modifyObj.rows = data.gridRows;
268
+				},
269
+				onCellSelect: function(rowid, cellIdx, cellValue) {
270
+					VENDINFO01010_GRID_LAST_ROW_ID = itp_fn_set_data_editable(rowid, cellIdx, VENDINFO01010_GRID_LAST_ROW_ID, VENDINFO01010_DETAIL_GRID_ID, ['actionId']);
271
+					console.log('here');
272
+					console.log(VENDINFO01010_GRID_LAST_ROW_ID);
255 273
 				},
256 274
 			};
257 275
 			itp_fn_grid_make_local(option);
@@ -268,6 +286,7 @@ let modifyObj = {
268 286
 		let param = 'brandId=' + LOGIN_USER_INFO.brandId + "&spplyId=" + LOGIN_USER_INFO.spplyId;
269 287
 		this.load(param);
270 288
 	},
289
+	itp_VENDINFO01010_search: false,
271 290
 	button: {
272 291
 		address: function() {
273 292
 			kakaoMap.simpleAddress('ITP_FORM_VENDINFO01010_DETAIL');
@@ -304,7 +323,16 @@ let modifyObj = {
304 323
 						}
305 324
 					}
306 325
 				});
326
+				let rows = $(VENDINFO01010_DETAIL_GRID_ID).getRowData();
307 327
 				let param = $(formId).serializeObject();
328
+				let changeRows = modifyObj.changeRows(rows);
329
+				$.each(changeRows, function (index, item) {
330
+					if(item.viewCd === 'C') {
331
+						gridInsertData.push(item);
332
+					} else if(item.viewCd === 'U') {
333
+						gridUpdateData.push(item);
334
+					}
335
+				});
308 336
 				param.gridInsertData = gridInsertData;
309 337
 				param.gridUpdateData = gridUpdateData;
310 338
 				param.gridDeleteData = gridDeleteData;
@@ -404,5 +432,27 @@ let modifyObj = {
404 432
 			}
405 433
 		});
406 434
 		return isValid;
435
+	},
436
+	rows: [],
437
+	changeRows: function(gridRows) {
438
+		var modifyRows = [];
439
+		var chkColumns = ['spplyMgrNm', 'position', 'rprstEmal', 'rprstTelNo', 'assgnTask'];
440
+		$.each(this.rows, function(index, item) {
441
+			var row = gridRows[index];
442
+			if(row.viewCd === 'C') {
443
+				modifyRows.push(item);
444
+			} else {
445
+				if(row.itemId === item.itemId) {
446
+					$.each(chkColumns, function(index, column) {
447
+						if(row[column].toString() !== item[column].toString()) {
448
+							row.viewCd = 'U';
449
+							modifyRows.push(row);
450
+							return false;
451
+						}
452
+					});
453
+				}
454
+			}
455
+		});
456
+		return modifyRows;
407 457
 	}
408 458
 };

+ 53 - 3
src/main/webapp/js/app/vendinfo/ITP_VENDINFO01010.js

@@ -19,6 +19,7 @@ let ITP_FORM_VENDINFO01010_DETAIL_IS_WRITING = false;
19 19
 
20 20
 let ITP_COMMON_ASSGN_TASK = fn_make_common_cd_list(CODE_LIST, 'ASSGN_TASK', true, '담당업무');
21 21
 
22
+let VENDINFO01010_GRID_LAST_ROW_ID;
22 23
 
23 24
 //API URL
24 25
 let API_SPPLY_DETAIL_GRID_LIST = '/api/spply/detail-grid-list';
@@ -81,7 +82,7 @@ const gridColModel = {
81 82
             width: '10', fixed: false, align: 'center',
82 83
             sortable: false, editable: true, formatter: 'select', edittype: 'select',
83 84
 			editoptions: {value: ITP_COMMON_ASSGN_TASK},
84
-			editrules: {required: false}
85
+			editrules: {required: true}
85 86
         }
86 87
     ]
87 88
 };
@@ -147,6 +148,12 @@ let pageObj = {
147 148
                     }
148 149
                 });
149 150
             });
151
+            
152
+            $('body').on('click', function(e) {
153
+            	console.log(111111);
154
+				var gridId = VENDINFO01010_DETAIL_GRID_ID.replace('#', '');
155
+				itp_fn_grid_reset_selection(e, VENDINFO01010_GRID_LAST_ROW_ID, gridId, 'VENDINFO01010');
156
+			});
150 157
         }
151 158
     },
152 159
     fileUpload: function() {
@@ -221,10 +228,10 @@ let pageObj = {
221 228
 			$('#ITP_BTN_VENDINFO01010_DETAIL_ADRES_SCH').show();
222 229
 			$('#ITP_VENDINFO01010_DETAIL_ACCT_FILE_UPLOAD').show();
223 230
 			$('#ITP_VENDINFO01010_DETAIL_ACCT_FILE_UPLOAD').show();
224
-		} else if(mode === 'VIEW') { // 보기
231
+		} /*else if(mode === 'VIEW') { // 보기
225 232
 			$('#ITP_AJAX_VENDINFO01010_VIEW_CONTAINER').show();
226 233
 			fn_show_btn_auth_array(['#ITP_BTN_VENDINFO01010_MODIFY', '#ITP_BTN_VENDINFO01010_CANCELLIST']);
227
-		}
234
+		}*/
228 235
 	},
229 236
 	grid: {
230 237
 		init: function(mode, gridData) {
@@ -249,9 +256,20 @@ let pageObj = {
249 256
 				multiselect: (this.mode !== 'VIEW'),
250 257
 				loadComplete: function(data) {
251 258
 					console.log(data);
259
+					itp_fn_grid_load_complete(data, VENDINFO01010_DETAIL_GRID_ID, true, 'number', 'VENDINFO01010', modifyObj.itp_VENDINFO01010_search, modifyObj.empty, true, data.gridRecords, true);
252 260
 					let gridList = VENDINFO01010_DETAIL_GRID_LIST;
253 261
 					$(gridList).find('.ui-jqgrid .ui-jqgrid-bdiv').css('overflow-x', 'hidden');
254 262
 					(Array.isArray(data.rows) && data.rows.length === 0) ? $(_this.gridEmpty).show() : $(_this.gridEmpty).hide();
263
+					var ids = $(VENDINFO01010_DETAIL_GRID_ID).getDataIDs();
264
+					$.each(ids, function(idx, rowId) {
265
+						$(VENDINFO01010_DETAIL_GRID_ID).jqGrid('setCell', rowId, 'contSttDt', '', ITP_GRID_COL_STYLE.link);
266
+					});
267
+					modifyObj.rows = data.gridRows;
268
+				},
269
+				onCellSelect: function(rowid, cellIdx, cellValue) {
270
+					VENDINFO01010_GRID_LAST_ROW_ID = itp_fn_set_data_editable(rowid, cellIdx, VENDINFO01010_GRID_LAST_ROW_ID, VENDINFO01010_DETAIL_GRID_ID, ['actionId']);
271
+					console.log('here');
272
+					console.log(VENDINFO01010_GRID_LAST_ROW_ID);
255 273
 				},
256 274
 			};
257 275
 			itp_fn_grid_make_local(option);
@@ -268,6 +286,7 @@ let modifyObj = {
268 286
 		let param = 'brandId=' + LOGIN_USER_INFO.brandId + "&spplyId=" + LOGIN_USER_INFO.spplyId;
269 287
 		this.load(param);
270 288
 	},
289
+	itp_VENDINFO01010_search: false,
271 290
 	button: {
272 291
 		address: function() {
273 292
 			kakaoMap.simpleAddress('ITP_FORM_VENDINFO01010_DETAIL');
@@ -304,7 +323,16 @@ let modifyObj = {
304 323
 						}
305 324
 					}
306 325
 				});
326
+				let rows = $(VENDINFO01010_DETAIL_GRID_ID).getRowData();
307 327
 				let param = $(formId).serializeObject();
328
+				let changeRows = modifyObj.changeRows(rows);
329
+				$.each(changeRows, function (index, item) {
330
+					if(item.viewCd === 'C') {
331
+						gridInsertData.push(item);
332
+					} else if(item.viewCd === 'U') {
333
+						gridUpdateData.push(item);
334
+					}
335
+				});
308 336
 				param.gridInsertData = gridInsertData;
309 337
 				param.gridUpdateData = gridUpdateData;
310 338
 				param.gridDeleteData = gridDeleteData;
@@ -404,5 +432,27 @@ let modifyObj = {
404 432
 			}
405 433
 		});
406 434
 		return isValid;
435
+	},
436
+	rows: [],
437
+	changeRows: function(gridRows) {
438
+		var modifyRows = [];
439
+		var chkColumns = ['spplyMgrNm', 'position', 'rprstEmal', 'rprstTelNo', 'assgnTask'];
440
+		$.each(this.rows, function(index, item) {
441
+			var row = gridRows[index];
442
+			if(row.viewCd === 'C') {
443
+				modifyRows.push(item);
444
+			} else {
445
+				if(row.itemId === item.itemId) {
446
+					$.each(chkColumns, function(index, column) {
447
+						if(row[column].toString() !== item[column].toString()) {
448
+							row.viewCd = 'U';
449
+							modifyRows.push(row);
450
+							return false;
451
+						}
452
+					});
453
+				}
454
+			}
455
+		});
456
+		return modifyRows;
407 457
 	}
408 458
 };