3d7f3009affaee457012f111d2b394bd33676a66.svn-base 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276
  1. BemsWebApplication.ControlValueSet = function (params, viewInfo) {
  2. "use strict";
  3. /*
  4. var facilityViewModel = new BWA.CmFacilityViewModel();
  5. var cmFacilityDataSource = BemsWebApplication.db.createDataSource('CmFacility', true);
  6. var m_Facility;
  7. var facilityDataSource = BWA.db.createDataSource('CmFacility'),
  8. facilitiesForSearch = ko.observableArray(),
  9. facilityCodeForSearch = ko.observable(0); */
  10. var deferredForSearch = new $.Deferred();
  11. var eq = BWA.DataUtil.constructEqualFilter,
  12. and = BWA.DataUtil.andFilter;
  13. //BWA.UserInfo.SiteId()
  14. /*
  15. //var buildingDataSource = BemsWebApplication.db.createDataSource('CmBuilding', true),
  16. // floorDataSource = BemsWebApplication.db.createDataSource('CmFloor'),
  17. //zoneDataSource = BemsWebApplication.db.createDataSource('CmZone');
  18. var facilityClassDataSource = BemsWebApplication.db.createDataSource('FmsFacilityCodeClass');
  19. // 설비분류 데이터소스
  20. var facilityTypeDataSource = BemsWebApplication.db.createDataSource('BemsFacilityType');
  21. //var testDataSource = BemsWebApplication.db.createDataSource('BemsMonitoringPoint');
  22. var facilityTypes = ko.observableArray();
  23. var facilityClasses = [ko.observableArray(), ko.observableArray(), ko.observableArray()];
  24. var buildings = ko.observableArray(),
  25. floors = ko.observableArray(),
  26. zones = ko.observableArray();
  27. var searchFacilityClasses = [ko.observableArray(), ko.observableArray(), ko.observableArray()],
  28. searchFacilityClassValues = [ko.observable(), ko.observable(), ko.observable()],
  29. searchBuildings = ko.observableArray(),
  30. searchFloors = ko.observableArray(),
  31. searchBuildingId = ko.observable(),
  32. searchFloorId = ko.observable();*/
  33. // var defaultSearchClassArray = $SearchView.createDefaultArray('FacilityClassId'),
  34. // defaultSearchBuildingArray = $SearchView.createDefaultArray('BuildingId'),
  35. // defaultSearchFloorArray = $SearchView.createDefaultArray('FloorId');
  36. var searchDeferred = new $.Deferred();
  37. /*
  38. selectedFacilityDataInSearchParentPopup.subscribe(function (value) {
  39. viewModel.dataModel.ParentFacilityCode(value.FacilityCode);
  40. viewModel.dataModel.ParentFacilityName(value.Name);
  41. });
  42. selectedUserData.subscribe(function (value) {
  43. if (isMainContactor) {
  44. viewModel.dataModel.MainContactorUserId(value.UserId);
  45. viewModel.dataModel.MainContactorUserName(value.Name);
  46. }
  47. else {
  48. viewModel.dataModel.SubContactorUserId(value.UserId);
  49. viewModel.dataModel.SubContactorUserName(value.Name);
  50. }
  51. });*/
  52. /*
  53. var handleFirstClassChangedValueInSearchView = function (e) {
  54. if (e.value === 0) {
  55. initializeSearchClasses();
  56. return;
  57. }
  58. BWA.DataUtil.setArrayDataSourceFilter(facilityClassDataSource, 'ParentFacilityClassId', e.value, searchFacilityClasses[1], defaultSearchClassArray);
  59. };
  60. var handleSecondClassChangedValueInSearchView = function (e) {
  61. if (e.value === 0) {
  62. initializeSearchClasses(true);
  63. return;
  64. }
  65. BWA.DataUtil.setArrayDataSourceFilter(facilityClassDataSource, 'ParentFacilityClassId', e.value, searchFacilityClasses[2], defaultSearchClassArray);
  66. };*/
  67. /*
  68. var handleBuildingInSearchView = function (e) {
  69. if (e.value === 0) {
  70. searchFloors(defaultSearchFloorArray.slice(0));
  71. searchFloorId(0);
  72. return 0;
  73. }
  74. BWA.DataUtil.setArrayDataSourceFilter(floorDataSource, 'BuildingId', e.value, searchFloors, defaultSearchFloorArray);
  75. }*/
  76. /*
  77. function initializeSearchClasses(onlyThird) {
  78. if (onlyThird === undefined || onlyThird === false) {
  79. searchFacilityClasses[1](defaultSearchClassArray.slice(0));
  80. searchFacilityClassValues[1](0);
  81. }
  82. searchFacilityClasses[2](defaultSearchClassArray.slice(0));
  83. searchFacilityClassValues[2](0);
  84. }
  85. var facilityOptions = BemsWebApplication.Factory.Facility;
  86. */
  87. var searchViewOptions = {
  88. searchViewItems: [
  89. //{ id: 'FuelTypeId', ignoreValue: 0, defaultValue: $Code.FuelType.ELECTRICITY, value: fuelTypeIdForSearch, dataSource: fuelTypesForSearch }
  90. { id: 'CmFacility/Name' },
  91. { id: 'Name' },
  92. ],
  93. promiseDataInSearchView: searchDeferred.promise()
  94. };
  95. var works = ko.observableArray();
  96. //db.createDataSource
  97. var workDataSource = BWA.DataUtil.createDataSource({
  98. //var workDataSource = BemsWebApplication.db.createDataSource({
  99. dataSourceOptions: {
  100. select: ['SiteId', 'FacilityCode', 'CmFacility/Name', 'Name', 'BemsFuelType/Name', 'BemsServiceType/Name'],
  101. expand: ['CmFacility', 'BemsFuelType', 'BemsServiceType'],
  102. extendOptions: {
  103. forceOriginalField: true,
  104. },
  105. filter: [
  106. ['FacilityCode', "<>", 0],
  107. ]
  108. },
  109. }, 'BemsMonitoringPoint');
  110. function handleSearchInSearchView(filter, searchViewItems) {
  111. //function handleSearchInSearchView() {
  112. //workDataSource.filter = filter;
  113. //workDataSource.filter.add(['Name', 'contains', '1']);
  114. /*testDataSource.load().done(function (Result) {
  115. alert(Result.Length());
  116. });*/
  117. workDataSource._paginate = false;
  118. workDataSource.load().done(function (workResult) {
  119. //viewModel.dataSource.load().done(function (workResult) {
  120. _.each(workResult, function (x) {
  121. x[6] = 'CV';
  122. x.CV = 100;
  123. //works.push(x);
  124. //alert(x.Name());
  125. });
  126. //datas = workResult;
  127. works(workResult);
  128. //viewModel.dataSource = works;
  129. });
  130. //viewModel.dataSource = null;
  131. //viewModel.refreshList();
  132. }
  133. function handleViewShown () {
  134. //setupDropZone(isEditModeInPopup, dataViewModel);
  135. handleSearchInSearchView();
  136. }
  137. function handleSearchViewInitializeUpdate() {
  138. }
  139. function refreshList() {
  140. //dataSource.pageIndex(0);
  141. //dataSource.load();
  142. }
  143. function handleViewShowing() {
  144. //dataSource.pageIndex(0);
  145. //dataSource.load();
  146. }
  147. function handleViewHidden() {
  148. $SearchView.visibleObservable(false); // hcLee 2015 03 23
  149. //visiblePopup(false);
  150. }
  151. //var tempDate = new Date();
  152. var paramDate = new Date(2015,8,17, 15,0, 0);
  153. //var viewModel = $.extend(BWA.CommonView.create(
  154. //var viewModel = BWA.DataGrid.createViewWithDataGrid(params, viewInfo, 'BemsMonitoringPoint', {
  155. //var viewModel = BWA.DataGrid.createViewWithDataGrid(params, viewInfo, null, {
  156. var viewModel = $.extend(BWA.CommonView.create(params, viewInfo, searchViewOptions, ko.observable(null), handleViewShown, null,
  157. handleSearchInSearchView, handleSearchViewInitializeUpdate), {
  158. refreshList: refreshList,
  159. viewShowing: handleViewShowing,
  160. viewHidden: handleViewHidden, // hcLee 2015 03 23
  161. //viewDisposing: handleViewHidden, // hcLee 2015 03 23
  162. //locationEnableForSearch: locationEnableForSearch,
  163. workDataGridOptions: utils.datagrid.defaultOptions({
  164. handleDataGridRowClick: function (id, dataGrid, clickRow) { // function () {
  165. //handleDataGridRowClick: function (row) {
  166. alert(0);
  167. },
  168. rowAlternationEnabled: true,
  169. editing: {
  170. editMode: 'cell', // 14.1은 batch, row 두가지 밖에 없다. cell->row로 동작중이다. 2015 07 15 hcLee
  171. editEnabled: true,
  172. },
  173. dataSource: works,
  174. columns: [
  175. { dataField: 'FacilityCode', caption: $G('number'), width: '4%', alignment: 'center' }, // ?
  176. { dataField: 'CmFacility/Name', caption: '설비명', width: '20%', alignment: 'center', allowEditing: false },
  177. { dataField: 'Name', caption: '관제점명', width: '20%', alignment: 'center', allowEditing: false },
  178. { dataField: 'BemsFuelType/Name', caption: '에너지원', width: '10%', alignment: 'center', allowEditing: false, },
  179. { dataField: 'BemsServiceType/Name', caption: '용도', width: '10%', alignment: 'center', allowEditing: false },
  180. { dataField: 'CV', caption: '설정값', width: '8%', alignment: 'center', },
  181. ],
  182. }),
  183. //promiseDataInSearchView: searchDeferred.promise(),
  184. });
  185. //viewModel.workDataGridOptions = {
  186. /*
  187. BWA.ControlValueSet = {
  188. workDataGridOptions: utils.datagrid.defaultOptions({
  189. handleDataGridRowClick: function (row) {
  190. alert(0);
  191. },
  192. dataSource: works,
  193. columns: [
  194. { dataField: 'FacilityCode', caption: $G('number'), width: '4%', alignment: 'center' }, // ?
  195. { dataField: 'CmFacility/Name', caption: '설비명', width: '20%', alignment: 'center', allowEditing: false },
  196. { dataField: 'Name', caption: '관제점명', width: '20%', alignment: 'center', allowEditing: false },
  197. { dataField: 'BemsFuelType/Name', caption: '에너지원', width: '10%', alignment: 'center', allowEditing: false, },
  198. { dataField: 'BemsServiceType/Name', caption: '용도', width: '10%', alignment: 'center', allowEditing: false },
  199. { dataField: 'CV', caption: '설정값', width: '8%', alignment: 'center', },
  200. ],
  201. }),*/
  202. /*
  203. popupWidth: 480,
  204. searchViewItems: [
  205. { id: 'CmFacility/Name' },
  206. { id: 'Name' },
  207. ],
  208. promiseDataInSearchView: searchDeferred.promise(),
  209. handleViewShowing: function () {
  210. facilityClassDataSource.filter([
  211. ['SiteId', '=', BWA.UserInfo.SiteId()],
  212. 'and',
  213. ['ParentFacilityClassId', '=', null]
  214. ]);
  215. facilityTypeDataSource.filter([
  216. ['FacilityTypeId', '=', 1]
  217. ]);
  218. // 빌딩 데이터 로드 시점
  219. $.when(facilityClassDataSource.load(),
  220. //buildingDataSource.load(),
  221. facilityTypeDataSource.load()
  222. ).done(function (result1, result2, result3) {
  223. // searchDeferred.resolve();
  224. });
  225. },
  226. handleViewShown: function (dataViewModel, isEditModeInPopup) {
  227. //setupDropZone(isEditModeInPopup, dataViewModel);
  228. handleSearchInSearchView();
  229. },
  230. handleViewHidden: function () {
  231. $SearchView.visibleObservable(false); // hcLee 2015 03 23
  232. visiblePopup(false);
  233. },
  234. handlePopupShowing: function (that) {
  235. alert(9);
  236. }, */
  237. //}
  238. return viewModel;
  239. };