123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496 |
- $(function () {
- 'use strict';
- var eq = BWA.DataUtil.constructEqualFilter,
- or = BWA.DataUtil.orFilter,
- and = BWA.DataUtil.andFilter;
- var visible = ko.observable(false),
- newInfo = ko.observable(false),
- userDataSource = BWA.DataUtil.createDataSource({
- dataSourceOptions: {
- paginate: false,
- select: ['SiteId', 'CompanyId', 'DepartmentId', 'UserId', 'Name', 'EmploymentType', 'Email', 'MobilePhoneNo', 'EmploymentStatus', 'CmPosition/Name', 'CmDepartment/Name', 'CmCompany/Name'],
- expand: ["CmPosition", "CmDepartment", "CmCompany"],
- extendOptions: {
- alterNames: {
- 'CmPosition/Name': 'PositionName',
- 'CmDepartment/Name': 'DepartmentName',
- 'CmCompany/Name': 'CompanyName'
- }
- }
- }
- }, 'CmUser'),
- userInfo = {
- SiteId: ko.observable(),
- UserId: ko.observable(),
- Name: ko.observable(),
- CompanyName: ko.observable(),
- PositionName: ko.observable(),
- DepartmentName: ko.observable(),
- MobilePhoneNo: ko.observable(),
- Email: ko.observable()
- };
- var announceGridView = undefined;
- var now = new Date();
- var endDate = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0);
- var announceDataSource = BWA.DataUtil.createDataSource({
- dataSourceOptions: {
- paginate: false,
- select: [
- 'SiteId',
- 'AnnouncementId',
- 'BusinessFieldId',
- 'CmBusinessField/Name',
- 'Title',
- 'Contents',
- 'RegisterUserId ',
- 'CmUser/Name', // 등록자
- 'FileId',
- 'CmFile/Name',
- 'CmFile/FileSize',
- 'AddDate',
- 'UpdateDate',
- 'IsUse',
- 'ReadCount'
- ],
- expand: ['CmBusinessField', 'CmFile', 'CmUser'],
- extendOptions: {
- forceOriginalField: true
- },
- }
- }, 'CmAnnouncement');
- var announcements = ko.observableArray();
- var constructionDataSource = BWA.DataUtil.createDataSource({
- dataSourceOptions: {
- paginate: false,
- select: [
- 'SiteId',
- 'ConstructionId',
- 'Name',
- 'StartDate',
- 'EndDate',
- 'PartnerId',
- 'ConstructLocation',
- 'OwnerShipName',
- 'CommitmentMan',
- 'OwnerShipPhoneNo',
- 'WeldWorkStartTime',
- 'WeldWorkEndTime',
- 'GasWorkStartTime',
- 'GasWorkEndTime',
- 'PaintWorkStartTime',
- 'PaintWorkEndTime',
- 'Comment',
- 'ProgressId',
- 'AddDate',
- 'UpdateDate',
- 'FmsConstructionCodeProgress/Name',
- 'CmPartner/Name',
- 'CmPartner/PhoneNo',
- 'FmsConstructionCodeType/Name',
- 'ConstructionDetail',
- 'InOutStockName',
- 'FileId1',
- 'FileId2',
- 'FileId3',
- 'CmFile/Name',
- 'CmFile1/Name',
- 'CmFile2/Name'
- ],
- expand: [
- 'FmsConstructionCodeProgress',
- 'CmPartner',
- 'FmsConstructionEstimation',
- 'FmsConstructionCodeType',
- 'CmFile',
- 'CmFile1',
- 'CmFile2'
- ],
- extendOptions: {
- forceOriginalField: true
- },
- }
- }, 'FmsConstruction');
- var constructions = ko.observableArray();
- var workDataSource = BWA.DataUtil.createDataSource({
- dataSourceOptions: {
- paginate: false,
- select: [
- 'SiteId', 'WorkRequestId',
- //'StartDate', 'EndDate',
- 'StartWorkDate',
- //'ConfirmedDate', 'ConfirmedUserId', 'IsConfirmed',
- 'FmsWorkRequest/Content',
- 'FmsWorkRequest/WorkTypeId',
- 'Title',
- 'CmUser/Name', // 작업지시자
- //'FmsWorkResult/WorkerUserId/Name',
- 'OrderDate',
- 'FmsWorkRequest/WorkProgressId',
- //'CmUser1/Name', // 승인자
- 'FmsWorkRequest/FmsWorkCodeType/Name',
- 'CmBusinessField/Name',
- 'FmsWorkRequest/FmsWorkCodeProgress/Name',
- 'FmsWorkRequest/WorkTypeId',
- 'FmsWorkResult/CmUser/Name', // 작업자
- 'FmsWorkResult/CmUser1/Name', // 승인자 test ok hcLee 2016 03 22
- 'FmsWorkResult/EndDate', // 작업자
- 'BusinessFieldId',
- 'Content'
- ],
- expand: [
- 'FmsWorkRequest',
- 'FmsWorkResult',
- 'FmsWorkResult/CmUser',
- 'FmsWorkResult/CmUser1',
- 'FmsWorkRequest/FmsWorkCodeType',
- 'FmsWorkRequest/FmsWorkCodeProgress',
- 'CmBusinessField',
- 'CmUser'],
- extendOptions: {
- forceOriginalField: true
- },
- }
- }, 'FmsWorkOrder');
- //}, 'FmsWorkRequest');
- var works = ko.observableArray();
- var announcePopupVisible = ko.observable(false);
- function announceHandlePopupButtonClose() {
- announcePopupVisible(false);
- announceGridView.refresh();
- }
- var announceDataModel = new BemsWebApplication.CmAnnouncementViewModel();
- announceDataModel.BusinessFieldName = ko.observable();
- announceDataModel.FileUrl = ko.observable();
- announceDataModel.FileName = ko.observable();
- var constructionPopupVisible = ko.observable(false);
- function constructionHandlePopupButtonClose() {
- constructionPopupVisible(false);
- }
- var constructionDataModel = ko.observable();
- constructionDataModel = new BemsWebApplication.FmsConstructionViewModel();
- var workPopupVisible = ko.observable(false);
- function workHandlePopupButtonClose() {
- workPopupVisible(false);
- }
- var workDataModel = ko.observable();
- workDataModel = new BemsWebApplication.FmsWorkOrderViewModel();
- BWA.UserPanel = {
- newInfo: newInfo,
- UserInfo: userInfo,
- announceDataModel: announceDataModel,
- announcePopupOptions: {
- width: '680px',
- height: 'auto',
- visible: announcePopupVisible,
- closeOnOutsideClick: true,
- showingAction: function (e) {
- },
- shownAction: function (e) {
- var keys = BWA.db.extractKeysObject('CmAnnouncement', BWA.UserPanel.announceDataModel);
- BWA.UserPanel.announceDataModel.ReadCount(BWA.UserPanel.announceDataModel.ReadCount() + 1);
- BWA.db.CmAnnouncement.update(keys, BWA.UserPanel.announceDataModel.toJS()).done(function (e) {
- announceGridView.refresh();
- });
- }
- },
- announcePopupToolbarItems: [
- { location: 'before', text: '상세보기' },
- { location: 'after', widget: 'button', options: { text: $G('close'), icon: 'close', clickAction: announceHandlePopupButtonClose } }
- ],
- constructionDataModel: constructionDataModel,
- constructionPopupOptions: {
- width: '680px',
- height: 'auto',
- visible: constructionPopupVisible,
- closeOnOutsideClick: true,
- showingAction: function (e) { },
- shownAction: function (e) { }
- },
- constructionPopupToolbarItems: [
- { location: 'before', text: '상세보기' },
- { location: 'after', widget: 'button', options: { text: $G('close'), icon: 'close', clickAction: constructionHandlePopupButtonClose } }
- ],
- workDataModel: workDataModel,
- workPopupOptions: {
- width: '680px',
- height: 'auto',
- visible: workPopupVisible,
- closeOnOutsideClick: true,
- showingAction: function (e) { },
- shownAction: function (e) { }
- },
- workPopupToolbarItems: [
- { location: 'before', text: '상세보기' },
- { location: 'after', widget: 'button', options: { text: $G('close'), icon: 'close', clickAction: workHandlePopupButtonClose } }
- ],
- workDataGridOptions: utils.datagrid.defaultOptions({
- dataSource: works,
- datagridId: 'workDataGridInUserPanel',
- handleDataGridRowClick: function (id, dataGrid, clickRow) { // function () {
- dataGrid.clearSelection();
- var data = clickRow.data;
- //BWA.UserPanel.workDataModel = data;
- BWA.UserPanel.workDataModel.Title(data.Title());
- BWA.UserPanel.workDataModel.WorkProgressName = $KoSet(BWA.UserPanel.workDataModel.WorkProgressName, data['FmsWorkRequest/FmsWorkCodeProgress/Name']());
- BWA.UserPanel.workDataModel.WorkerUserName = $KoSet(BWA.UserPanel.workDataModel.WorkerUserName, data['FmsWorkResult/CmUser/Name']);
- BWA.UserPanel.workDataModel.StartWorkDate(data.StartWorkDate());
- BWA.UserPanel.workDataModel.OrderDate(data.OrderDate());
- BWA.UserPanel.workDataModel.Content(data.Content());
- //BWA.UserPanel.workDataModel.Title = $KoSet(BWA.UserPanel.workDataModel.Title, data['Title']());
- /*
- BWA.UserPanel.workDataModel.BusinessFieldName = $KoSet(BWA.UserPanel.workDataModel.BusinessFieldName, data['CmBusinessField/Name']());
- BWA.UserPanel.workDataModel.WorkTypeName = $KoSet(BWA.UserPanel.workDataModel.WorkTypeName, data['FmsWorkRequest/FmsWorkCodeType/Name']());
-
- BWA.UserPanel.workDataModel.WorkerUserName = $KoSet(BWA.UserPanel.workDataModel.WorkerUserName, data['FmsWorkResult/WorkerUserId/Name']);
-
- BWA.UserPanel.workDataModel.ConfirmedUserName = $KoSet(BWA.UserPanel.workDataModel.ConfirmedUserName, '');
- BWA.UserPanel.workDataModel.WorkProgressName = $KoSet(BWA.UserPanel.workDataModel.WorkProgressName, '');
- //BWA.UserPanel.workDataModel.OrderDate = $KoSet(BWA.UserPanel.workDataModel.OrderDate, '');
- BWA.UserPanel.workDataModel.OrderDate(data.OrderDate());
- BWA.UserPanel.workDataModel.Content(data.Content());
- */
- //if (data['CmUser1/Name'] !== undefined) {
- // BWA.UserPanel.workDataModel.ConfirmedUserName(data['CmUser1/Name']());
- //}
- //BWA.UserPanel.workDataModel.EndDate = $KoSet(BWA.UserPanel.workDataModel.EndDate, data['FmsWorkResult/EndDate']);
- //BWA.UserPanel.workDataModel.OrderDate(data['FmsWorkOrder/OrderDate']());
- //if (data['FmsWorkOrder/Content'] !== undefined) {
- // BWA.UserPanel.workDataModel.OrderContent(data['FmsWorkOrder/Content']());
- //}
- workPopupVisible(true);
- },
- useNumberColumn: true,
- columns: [
- { dataField: 'WorkRequestId', caption: $G('number'), width: '12%', alignment: 'center', sortOrder: 'desc' },
- { dataField: 'FmsWorkRequest/FmsWorkCodeType/Name', caption: $G('workTypeName'), width: '15%', alignment: 'center' },
- { dataField: 'FmsWorkRequest/FmsWorkCodeProgress/Name', caption: $G('workProgressName'), width: '15%', alignment: 'center' },
- //{ dataField: 'FmsWorkResult/CmUser/Name', caption: $G('workProgressName'), width: '15%', alignment: 'center' }, test ok hcLee 2016 03 22
- //{ dataField: 'FmsWorkResult/CmUser1/Name', caption: $G('workProgressName'), width: '15%', alignment: 'center' }, test ok hcLee 2016 03 22
- { dataField: 'Title', caption: '작업명', width: '33%', alignment: 'center' },
- ],
- height: 220,
- paging: { pageSize: 4 },
- pager: { visible: true }
- }),
- constructionDataGridOptions: utils.datagrid.defaultOptions({
- dataSource: constructions,
- datagridId: 'constructionDataGridInUserPanel',
- handleDataGridRowClick: function (id, dataGrid, clickRow) { // function () {
- dataGrid.clearSelection();
- var data = clickRow.data;
- //BWA.UserPanel.constructionDataModel = data;
- BWA.UserPanel.constructionDataModel.Name(data.Name());
- BWA.UserPanel.constructionDataModel.ConstructLocation(data.ConstructLocation());
- //BWA.UserPanel.constructionDataModel.ConstructionTypeName(data.ConstructionTypeName());
- //BWA.UserPanel.constructionDataModel.ProgressName(data.ProgressName());
- BWA.UserPanel.constructionDataModel.StartDate(data.StartDate());
- BWA.UserPanel.constructionDataModel.EndDate(data.EndDate());
- BWA.UserPanel.constructionDataModel.WeldWorkStartTime(data.WeldWorkStartTime());
- BWA.UserPanel.constructionDataModel.WeldWorkEndTime(data.WeldWorkEndTime());
- BWA.UserPanel.constructionDataModel.GasWorkStartTime(data.GasWorkStartTime());
- BWA.UserPanel.constructionDataModel.GasWorkEndTime(data.GasWorkEndTime());
- BWA.UserPanel.constructionDataModel.PaintWorkStartTime(data.PaintWorkStartTime());
- BWA.UserPanel.constructionDataModel.PaintWorkStartTime(data.PaintWorkStartTime());
- BWA.UserPanel.constructionDataModel.ConstructionDetail(data.ConstructionDetail());
- BWA.UserPanel.constructionDataModel.InOutStockName(data.InOutStockName());
- BWA.UserPanel.constructionDataModel.PartnerName = $KoSet(BWA.UserPanel.constructionDataModel.PartnerName, data['CmPartner/Name']());
- BWA.UserPanel.constructionDataModel.PartnerPhoneNo = $KoSet(BWA.UserPanel.constructionDataModel.PartnerPhoneNo, data['CmPartner/PhoneNo']());
- BWA.UserPanel.constructionDataModel.ConstructionTypeName = $KoSet(BWA.UserPanel.constructionDataModel.ConstructionTypeName, data['FmsConstructionCodeType/Name']());
- BWA.UserPanel.constructionDataModel.ProgressName = $KoSet(BWA.UserPanel.constructionDataModel.ProgressName, data['FmsConstructionCodeProgress/Name']());
- BWA.UserPanel.constructionDataModel.FileUrl1 = $KoSet(BWA.UserPanel.constructionDataModel.FileUrl1, '');
- BWA.UserPanel.constructionDataModel.FileUrl2 = $KoSet(BWA.UserPanel.constructionDataModel.FileUrl2, '');
- BWA.UserPanel.constructionDataModel.AttachmentFileName1 = $KoSet(BWA.UserPanel.constructionDataModel.AttachmentFileName1, '');
- BWA.UserPanel.constructionDataModel.AttachmentFileName2 = $KoSet(BWA.UserPanel.constructionDataModel.AttachmentFileName2, '');
- if (data['FileId1']() != null) {
- BWA.UserPanel.constructionDataModel.AttachmentFileName1(data['CmFile/Name']());
- BWA.UserPanel.constructionDataModel.FileUrl1('{0}/CmFile(SiteId={1},FileId={2})/$value'.formati(BWA.db._url, data.SiteId(), data.FileId1()));
- } else {
- BWA.UserPanel.constructionDataModel.AttachmentFileName1('');
- BWA.UserPanel.constructionDataModel.FileUrl1('');
- }
- if (data['FileId2']() != null) {
- BWA.UserPanel.constructionDataModel.AttachmentFileName2(data['CmFile1/Name']());
- BWA.UserPanel.constructionDataModel.FileUrl2('{0}/CmFile(SiteId={1},FileId={2})/$value'.formati(BWA.db._url, data.SiteId(), data.FileId2()));
- }
- else {
- BWA.UserPanel.constructionDataModel.AttachmentFileName2('');
- BWA.UserPanel.constructionDataModel.FileUrl2('');
- }
- constructionPopupVisible(true);
- },
- useNumberColumn: true,
- columns: [
- { dataField: 'ConstructionId', caption: $G('number'), width: '15%', alignment: 'center', sortOrder: 'desc' },
- { dataField: 'FmsConstructionCodeType/Name', caption: '공사구분', width: '20%', alignment: 'center' },
- { dataField: 'Name', caption: '공사명', width: '80%', alignment: 'center' },
- ],
- height: 220,
- paging: { pageSize: 4 },
- pager: { visible: true }
- }),
- announceDataGridOptions: utils.datagrid.defaultOptions({
- //dxDataSource: announcements,
- dataSource: announcements,
- datagridId: 'announcementDataGridInUserPanel',
- handleDataGridRowClick: function (id, dataGrid, clickRow) {
- dataGrid.clearSelection();
- var data = clickRow.data;
- BWA.UserPanel.announceDataModel.AnnouncementId(data.AnnouncementId());
- BWA.UserPanel.announceDataModel.SiteId(data.SiteId());
- BWA.UserPanel.announceDataModel.Title(data.Title());
- BWA.UserPanel.announceDataModel.Contents(data.Contents());
- BWA.UserPanel.announceDataModel.AddDate(data.AddDate());
- BWA.UserPanel.announceDataModel.BusinessFieldName(data['CmBusinessField/Name']());
- BWA.UserPanel.announceDataModel.ReadCount(data.ReadCount());
- if (data.FileId() == null) {
- BWA.UserPanel.announceDataModel.FileName('');
- BWA.UserPanel.announceDataModel.FileUrl('');
- } else {
- BWA.UserPanel.announceDataModel.FileName(data['CmFile/Name']());
- BWA.UserPanel.announceDataModel.FileUrl('{0}/CmFile(SiteId={1},FileId={2})/$value'.formati(BWA.db._url, data.SiteId(), data.FileId()));
- }
- announcePopupVisible(true);
- },
- columns: [
- { dataField: 'AnnouncementId', caption: $G('number'), width: '15%', alignment: 'center', sortOrder: 'desc' },
- { dataField: 'Title', caption: '제목', width: '40%', alignment: 'center' },
- ],
- useNumberColumn: true,
- height: 220,
- paging: { pageSize: 4 },
- pager: { visible: true },
- contentReadyAction: function (e) {
- announceGridView = e.component;
- },
- }),
- options: {
- width: '1400',
- height: '670',
- visible: visible,
- position: { my: 'top', at: 'top', of: window },
- animation: {
- show: { type: "slide", easing: 'ease-in-out', duration: 400, from: { top: -649 }, to: { top: 0 } },
- hide: { type: "slide", easing: 'ease-in-out', duration: 400, from: { top: 1 }, to: { top: -649 } }
- },
- showingAction: function () {
- userDataSource.filter([
- eq('SiteId', BWA.UserInfo.SiteId()),
- and,
- eq('UserId', BWA.UserInfo.UserId())
- ]);
- userDataSource.load().done(function (users) {
- if (_.isEmpty(users)) {
- return; // logout 처리 필요
- }
- BWA.DataUtil.copyViewModel(users[0], userInfo);
- });
- announceDataSource.filter([
- eq('SiteId', BWA.UserInfo.SiteId()),
- // hcLee 2015 12 24
- and,
- ['UpdateDate', '>', endDate],
- and, // 2016 03 14
- [eq('BusinessFieldId', BWA.UserInfo.BusinessFieldId()), 'or', eq('BusinessFieldId', 1)]
- ]);
- announceDataSource.load().done(function (announceResult) {
- announcements(announceResult);
- });
- constructionDataSource.filter([
- eq('SiteId', BWA.UserInfo.SiteId()),
- and,
- ['ProgressId', '<', 3]
- ]);
- constructionDataSource.load().done(function (constructResult) {
- constructions(constructResult);
- });
- workDataSource.filter([
- eq('SiteId', BWA.UserInfo.SiteId()),
- and,
- [eq('BusinessFieldId', BWA.UserInfo.BusinessFieldId()), 'or', eq('BusinessFieldId', 1)], // hcLee 2016 04 04 추가
- and, // 2016 03 14
- [['FmsWorkRequest/WorkProgressId', '=', $Code.WorkProgress.WORK_STANDBY], // 3 대기만 보여준다 2016 03 09
- or,
- [eq('FmsWorkRequest/WorkProgressId', $Code.WorkProgress.WORKING), 'and', eq('FmsWorkResult/WorkerUserId', BWA.UserInfo.UserId())]]
- ]);
- workDataSource.load().done(function (workResult) {
- works(workResult);
- });
- },
- contentReadyAction: function (e) {
- },
- shading: false,
- closeOnOutsideClick: true
- },
- handleToggleOpenClose: function () {
- visible(!visible());
- },
- show: function () {
- visible(true);
- },
- hide: function () {
- visible(false);
- }
- };
- });
|