becf0d4cb626750ad95433a2c08d5f09099bcf11.svn-base 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. $(function () {
  2. 'use strict';
  3. BemsWebApplication.Popup.FacilityWorkHistory = {
  4. create: function (viewInfo, viewModel) {
  5. var eq = BWA.DataUtil.constructEqualFilter;
  6. var and = BWA.DataUtil.andFilter;
  7. var facilities = ko.observableArray(),
  8. facilitiesInView = ko.observableArray(),
  9. businessFields = ko.observableArray();
  10. var facilitySearchPopup = null,
  11. facilityFactory = BWA.Factory.Facility,
  12. facilityGridView = ko.observable(undefined),
  13. facilityDataGridOptions,
  14. modifiableFacilityDataGridOptions = undefined;
  15. var facilityDataSource = facilityFactory.getBasicDataSourceRef({
  16. dbModeIId: 'FmsWorkOrderToFacility',
  17. primaryKeyDataField: 'WorkRequestId'
  18. })
  19. ;
  20. function isValidateWithFunction(errorMessage) {
  21. if (_.isEmpty(facilities())) {
  22. errorMessage.message = '점검을 위한 시설이 없습니다.';
  23. return false;
  24. }
  25. return true;
  26. }
  27. function handlePopupShowing(isNewInPopup, dataModel, selectedData) {
  28. facilityDataSource.filter([
  29. eq('SiteId', selectedData.SiteId()),
  30. and,
  31. eq('WorkRequestId', selectedData.WorkRequestId())
  32. ]);
  33. facilityDataSource.load().done(function (dbFacilities) {
  34. facilitiesInView(dbFacilities);
  35. });
  36. }
  37. function handleBeforeShowingPopupForEdit(rowData, dataViewModel) {
  38. dataViewModel.BusinessFieldName(rowData['FmsWorkOrder/CmBusinessField/Name']());
  39. dataViewModel.WorkTypeName(rowData['FmsWorkOrder/FmsWorkRequest/FmsWorkCodeType/Name']());
  40. dataViewModel.WorkProgressName(rowData['FmsWorkOrder/FmsWorkRequest/FmsWorkCodeProgress/Name']());
  41. dataViewModel.OrderUserName(rowData['FmsWorkOrder/CmUser/Name']());
  42. dataViewModel.RejectUserName($KoValue(rowData['FmsWorkOrder/CmUser1/Name']));
  43. dataViewModel.OrderDate = $KoSet(dataViewModel.OrderDate, rowData['FmsWorkOrder/OrderDate']);
  44. dataViewModel.StartWorkDate = $KoSet(dataViewModel.StartWorkDate, rowData['FmsWorkOrder/StartWorkDate']);
  45. dataViewModel.Title = $KoSet(dataViewModel.Title, rowData['FmsWorkOrder/Title']);
  46. dataViewModel.Content = $KoSet(dataViewModel.Content, rowData['FmsWorkOrder/Content']);
  47. }
  48. viewModel.popupVisible.subscribe(function (visible) {
  49. if (!visible) {
  50. facilitiesInView([]);
  51. }
  52. });
  53. //viewModel.isEditModeInPopup.subscribe(function (isEditMode) {
  54. // if (isEditMode) {
  55. // facilities(facilitiesInView.slice(0));
  56. // }
  57. //});
  58. viewModel.dataModel.WorkTypeName = ko.observable();
  59. viewModel.dataModel.BusinessFieldName = ko.observable();
  60. viewModel.dataModel.OrderUserName = ko.observable();
  61. viewModel.dataModel.RejectUserName = ko.observable();
  62. viewModel.dataModel.WorkProgressName = ko.observable();
  63. facilityDataGridOptions = BWA.Popup.Facility.getReadOnlyDataGridOptions(
  64. facilitiesInView, viewModel.viewModeInPopup);
  65. modifiableFacilityDataGridOptions = BWA.Popup.Facility.getModifiableDataGridOptions(
  66. facilities, viewModel.isEditModeInPopup, facilityGridView);
  67. return {
  68. facilitySearchPopup: facilitySearchPopup,
  69. facilities: facilitiesInView,
  70. businessFields: businessFields,
  71. isValidateWithFunction: isValidateWithFunction,
  72. facilityDataGridOptions: facilityDataGridOptions,
  73. modifiableFacilityDataGridOptions: modifiableFacilityDataGridOptions,
  74. handlePopupShowing: handlePopupShowing,
  75. handleBeforeShowingPopupForEdit: handleBeforeShowingPopupForEdit,
  76. handleDeleteSelectedFacilities: BWA.Popup.Facility.getDeleteSelectedFacilitiesFunc(facilityGridView, facilities)
  77. };
  78. }
  79. }
  80. });