123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- BemsWebApplication.ConstructionPartner = function (params, viewInfo) {
- 'use strict';
- var CmPartnerDataSource = BemsWebApplication.db.createDataSource('CmPartner');
- var PartnerInfo = ko.observableArray();
- var RowName;
- var partnerTypeDataSource = BemsWebApplication.db.createDataSource('CmPartnerType', false, false, true);
- var partnerTypes = ko.observableArray();
- var partnerFactory = BWA.Factory.Partner;
- var SiteID = BWA.UserInfo.SiteId();
- var eq = BWA.DataUtil.constructEqualFilter;
- var dataSourceOptions = {
- select: [
- 'SiteId',
- 'PartnerId',
- 'PartnerTypeId',
- 'Name',
- 'PhoneNo',
- 'FaxNo',
- 'RepresentativeName',
- 'SalesName',
- 'SalesPhoneNo',
- 'AddressZip1',
- 'AddressZip2',
- 'Address1',
- 'Adderss2',
- 'HomepageUri',
- 'Note',
- 'IsUse',
- 'CmPartnerType/Name'
- ],
- expand: [
- 'CmPartnerType'
- ],
- extendOptions: {
- forceOriginalField: true
- },
- filter: [
- eq('SiteId', SiteID),
- 'and',
- eq('PartnerTypeId', 1)
- ]
- };
- var viewModel = BWA.DataGrid.createViewWithDataGrid(params, viewInfo, 'CmPartner', {
- dataSourceOptions: dataSourceOptions,
- columns: [
- { dataField: 'PartnerId', caption: $G('number'), width: '10%', alignment: 'center', allowFiltering: false, sortOrder: 'desc' },
- { dataField: 'Name', caption: '거래처명', width: '35%', alignment: 'center' },
- { dataField: 'RepresentativeName', caption: $G('companyRepresentativeName'), width: '15%', alignment: 'center' },
- { dataField: 'PhoneNo', caption: $G('companyPhoneNo'), width: '15%', alignment: 'center' },
- utils.datagrid.columnIsUse('10%')
- ],
- searchViewItems: [{ id: 'Name' }],
- handleViewShowing: function (dataModel) {
- $.when(
- partnerTypeDataSource.load()
- ).done(function (partnerTypeDataResult) {
- partnerTypes(partnerTypeDataResult[0]);
- });
- },
- handlePopupShowing: function (isNewInPopup, dataViewModel) {
- if (isNewInPopup()) { // 신규등록인 경우
- // UI 에는별도로 표시하지 않음
- dataViewModel.PartnerTypeId(1);
- }
- CmPartnerDataSource.filter([
- ["SiteId", "=", BWA.UserInfo.SiteId()],
- 'and',
- ["PartnerTypeId", "=", 1]
- ]);
- CmPartnerDataSource.load().done(function (result) {
- PartnerInfo(result);
- });
- },
- handleDataGridRowClick: function (id, dataGrid, clickRow, popupVisible) {
- dataGrid.clearSelection();
- var data = clickRow.data;
- RowName = data.Name;
- popupVisible(true);
- },
- beforeInsertingDataViewModel: function (dataModel, dbModelId) {
- var dfd = $.Deferred();
- var isDuplicated = false;
- for (var i = 0; i < PartnerInfo().length; i++) {
- if (dataModel.Name() == PartnerInfo()[i].Name()) {
- isDuplicated = true;
- }
- }
- if (!BWA.DataUtil.isValidInputValue(dataModel.Name()))
- return dfd.resolve(false, '저장 혹은 수정 반드시 필수 입력 정보(*)를 모두 입력하셔야 합니다 (앞뒤공백 허용안함)');
- else {
- if (isDuplicated)
- return dfd.resolve(false, '이미 동일 정보가 존재합니다.');
- else
- return dfd.resolve(true);
- }
- },
- beforeUpdateDataViewModel: function () {
- var isDuplicated = false;
- for (var i = 0; i < PartnerInfo().length; i++) {
- if (viewModel.dataModel.Name() == PartnerInfo()[i].Name() && (RowName() != PartnerInfo()[i].Name())) {
- isDuplicated = true;
- }
- }
- if (!BWA.DataUtil.isValidInputValue(viewModel.dataModel.Name())) {
- utils.toast.show('저장 혹은 수정 반드시 필수 입력 정보(*)를 모두 입력하셔야 합니다 (앞뒤공백 허용안함)', 'error');
- return 0;
- }
- else {
- if (isDuplicated) {
- utils.toast.show('이미 동일 이름이 존재합니다.', 'error');
- return 0;
- }
- else
- return 2;
- }
- }
- });
- return viewModel;
- };
|