$(function () { "use strict"; BemsWebApplication.Factory.WorkResult = { getDataSourceWithRelation: function(store, options) { return BWA.Factory.getBaseDataSourceWithRelation( store, options, this.getDataSourceOptionsWithFilter( [ 'FmsWorkRequest/FmsWorkCodeProgress/ProgressId', '<=', $Code.WorkProgress.WorkConfirm ]), 'FmsWorkOrder'); //var factory = BemsWebApplication.Factory.WorkResult; //var dataSourceOptions = factory.getDataSourceOptionsWithFilter( [ 'FmsWorkRequest/FmsWorkCodeProgress/ProgressId', '<=', $Code.WorkProgress.WorkConfirm ]); //return BWA.DataUtil.createDataSource({ // dataSourceOptions: { // store: store, // select: dataSourceOptions.select, // expand: dataSourceOptions.expand, // refOptions: options, // extendOptions: { // alterNames: BWA.DataUtil.mapObject(dataSourceOptions.extendOptions.alterNames, function(x) { // return 'FmsWorkOrder/' + x; // }) // } // }, // ref: 'FmsWorkOrder' //}); }, getDataSourceOptionsWithFilter: function( filter ) { var select = [ 'SiteId', 'WorkOrderId', 'WorkRequestId', 'FmsWorkCodeEmergency/Name', 'FmsWorkRequest/FmsWorkCodeType/Name', 'FmsWorkRequest/CmBusinessField/Name', 'OrderedDate', 'Title', 'CmUser/Name', 'FmsWorkRequest/FmsWorkCodeProgress/Name' ]; var alterNames = this.getAlterNames(select, { 'FmsWorkCodeEmergency/Name': 'EmergencyName', 'FmsWorkRequest/FmsWorkCodeType/Name': 'WorkTypeName', 'FmsWorkRequest/CmBusinessField/Name': 'BusinessFieldName', 'CmUser/Name': 'UserName', 'FmsWorkRequest/FmsWorkCodeProgress/Name': 'ProgressName' }); return { select: select, expand: [ 'FmsWorkRequest', 'FmsWorkCodeEmergency', 'FmsWorkRequest/FmsWorkCodeType', 'FmsWorkRequest/CmBusinessField', 'FmsWorkRequest/FmsWorkCodeProgress', 'CmUser' ], filter: [ ['SiteId', '=', BWA.UserInfo.SiteId() ], 'and' ].concat( filter ), extendOptions: { alterNames: alterNames } } }, defaultColumns: [ { dataField: 'WorkOrderId', caption: $G('number'), width: '10%', alignment: 'center' }, { dataField: 'EmergencyName', caption: $G( 'workCodeEmergency' ), width: '15%', alignment: 'center' }, { dataField: 'WorkTypeName', caption: $G( 'workTypeName' ), width: '15%', alignment: 'center' }, { dataField: 'BusinessFieldName', caption: $G( 'businessFieldName' ), width: '12%', alignment: 'center' }, { dataField: 'OrderedDate', caption: $G( 'orderedDate' ), width: '13%', alignment: 'center' }, { dataField: 'Title', caption: $G( 'workTitle' ), width: '25%', alignment: 'center' }, { dataField: 'UserName', caption: $G( 'workerName' ), width: '13%', alignment: 'center' }, { dataField: 'ProgressName', caption: $G( 'workProgressName' ), width: '12%', alignment: 'center' } ] } $.extend(BWA.Factory.WorkResult, BWA.DataUtil.pickFunctions(BWA.Factory)); });