| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 | BemsWebApplication.LegalCheckPartner = 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 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: [            ['SiteId', '=', BWA.UserInfo.SiteId()],            'and',            ['PartnerTypeId', '=', 3]        ]    };    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(3);            }            CmPartnerDataSource.filter([                ["SiteId", "=", BWA.UserInfo.SiteId()],                'and',                ["PartnerTypeId", "=", 3]            ]);            CmPartnerDataSource.load().done(function (result) {                PartnerInfo(result);            });        },        handleDataGridRowClick: function (id, dataGrid, clickRow, popupVisible) {            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()) || dataModel.Name() == null || dataModel.PhoneNo() == null || dataModel.RepresentativeName() == null)                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()) || _.isEmpty(viewModel.dataModel.Name())                || _.isEmpty(viewModel.dataModel.PhoneNo()) || _.isEmpty(viewModel.dataModel.RepresentativeName())) {                utils.toast.show('저장 혹은 수정 반드시 필수 입력 정보(*)를 모두 입력하셔야 합니다 (앞뒤공백 허용안함)', 'error');                return 0;            }            else {                if (isDuplicated) {                    utils.toast.show('이미 동일 이름이 존재합니다.', 'error');                    return 0;                }                else                    return 2;            }        },    });    return viewModel;};
 |