# https://nodejs.org/ko/download/
# node install
npm uninstall -g ionic # uninstall if ionic is installed
npm install -g @ionic/cli@latest # install
npm install -g @vue/cli # Vue Cli
npm install --save-dev node-sass sass-loader # Scss Loader optional
npm install -g http-server # http server optional
npm install --save-dev colors # for deploy command optional
npm install --save-dev iconv-lite # for deploy command optional
ionic serve # run server
ionic serve -lab # run server for ios and android
ionic build --prod # Build the application for production
ionic build --aot # Perform ahead-of-time compilation for this build
ionic build --minifyjs # Minify JS for this build
ionic build --minifycss # Minify CSS for this build
ionic build --optimizejs # Perform JS optimizations for this build
# change package.json version
npm install # if need when change the package
ionic build --prod --minifyjs --minifycss --optimizejs # default origial command
npm run format # file formatter not need. (if need run)
npm run db2file # DB SQL(docs/DB_SQL.sql) to java, mapper, interface. (if need run)
npm run translate # translate json file to other language.
npm run compile # comple source to dist (ts to javascript)
npm run deploy # copy dist folder to src/main/webapp/mobile. need npm install -g colors , npm install -g iconv-lite
mobile-src/src/
├── App.vue
├── assets
│ ├── SGC-CI.svg (로그인 페이지 하단 로고)
│ ├── SGC.svg (페이지 홈 로고)
│ ├── calendar-number-outline.svg (날자 선택 우측 아이콘)
│ ├── checkmark-circle-outline.svg (라디오 박스)
│ ├── checkmark-outline.svg (체크박스)
│ ├── mobile-main-01.svg (홈 하자 권한이 없을 경우 대체 이미지)
│ └── mobile-main.svg (홈 하자 권한이 없을 경우 대체 이미지)
├── main.ts (메인 index - 진입시 작동됨)
├── registerServiceWorker.ts (Service Worker)
├── router
│ └── index.ts (Router - 라우터 패스 정보 관리 및 권한 체크)
├── services
│ ├── api.service.ts (Api Service - WAS 와 통신을 위한 서비스)
│ ├── code.service.ts (Code Service for checkbox, radio, select)
│ ├── common.interface.ts (Interfaces)
│ ├── common.service.ts (Common Service - 공통 작업 서비스)
│ ├── i18n.ts (Translate text for multi localization)
│ ├── icon.ts (Icons - 페이지에서 사용되는 아이콘을 적재하고 있음)
│ ├── index.ts
│ ├── shared.service.ts (Shared Data Service for login info, site info etc)
│ └── utils.service.ts (Template Util)
├── shims-vue.d.ts
├── theme
│ ├── global.scss ( Global style)
│ └── variables.css ( Css Color variables)
└── views
├── as (협력업체)
│ ├── AsDeftDonePage.vue (하자완료조회)
│ ├── AsDeftDoneViewPage.vue (하자완료조회 상세)
│ ├── AsDeftIngPage.vue (하자처리)
│ ├── AsDeftIngViewPage.vue (하자처리 상세)
│ └── modals
│ └── index.ts
├── common
│ ├── ErrorPage.vue (오류 페이지)
│ ├── HomePage.vue (홈, 메인)
│ ├── LoginPage.vue (로그인)
│ ├── PushDevPage.vue (푸시 테스트)
│ ├── SamplePage.vue (디자인 가이드)
│ ├── SiteAddressPage.vue (현장 주소록)
│ └── modals
│ ├── DeftCustsignModal.vue (고객 서명 모달)
│ ├── DeftElpsRegModal.vue (하자 경과 등록 모달)
│ ├── DeftElpsSmsModal.vue (하자 작업 지시 SMS&PUSH 전송 모달)
│ ├── DeftElpsViewModal.vue (하자 작업 지시 보기 모달)
│ ├── DeftPhotoModal.vue (하자 이미지 보기 모달)
│ ├── FindIdModal.vue (아이디 찾기 모달)
│ ├── FindPwModal.vue (암호 찾기 모달)
│ ├── SettingModal.vue (설정 모달)
│ ├── SiteAddressMapModal.vue (현장 지도보기 모달)
│ └── index.ts
├── components
│ ├── SgcCheckbox.vue (체크 박스)
│ ├── SgcConsole.vue (콘솔 로그)
│ ├── SgcDatetime.vue (날자 선택)
│ ├── SgcDatetimeRange.vue (기간 범위)
│ ├── SgcHourRange.vue (시간 범위)
│ ├── SgcItemInput.vue (아이템 입력)
│ ├── SgcItemView.vue (아이템 보기)
│ ├── SgcLoading.vue (페이지 로딩)
│ ├── SgcModal.vue (모달 외곽 템플릿)
│ ├── SgcPage.vue (페이지 외곽 템플릿)
│ ├── SgcRadio.vue (라디오 박스)
│ ├── SgcSearchId.vue (현장 검색)
│ ├── SgcSelect.vue (콤보 박스)
│ ├── index.ts
│ └── modals
│ └── SearchCovendModal.vue (현장 검색)
└── po
├── PoDeftMangPage.vue (하자작업지시)
├── PoDeftMangViewPage.vue (하자작업지시 상세)
├── PoDeftQuePage.vue (하자조회및완료처리)
├── PoDeftQueViewPage.vue (하자조회및완료처리 상세)
├── PoRoomAppPage.vue (회의실예약승인)
├── PoRoomRevPage.vue (회의실예약)
└── modals
├── PoRoomRevRegModal.vue (회의실예약)
├── PoRoomRevViewModal.vue (회의실예약 상세)
└── index.ts
mobile-src/public/
├── firebase-messaging-sw.js (구글 파이어 베이스 푸시 알림 정보)
├── img
│ └── icons (어플 아이콘)
│ ├── android-chrome-144x144.png (어플 아이콘)
│ ├── android-chrome-167x167.png (어플 아이콘)
│ ├── android-chrome-180x180.png (어플 아이콘)
│ ├── android-chrome-192x192.png (어플 아이콘)
│ ├── android-chrome-20x20.png (어플 아이콘)
│ ├── android-chrome-29x29.png (어플 아이콘)
│ ├── android-chrome-40x40.png (어플 아이콘)
│ ├── android-chrome-512x512.png (로딩 아이콘)
│ ├── android-chrome-76x76.png (어플 아이콘)
│ ├── android-chrome-maskable-192x192.png (어플 아이콘)
│ ├── android-chrome-maskable-512x512.png (어플 아이콘)
│ ├── favicon-16x16.png (파비콘)
│ ├── favicon-20x20.png (파비콘)
│ ├── favicon-32x32.png (파비콘)
│ ├── favicon.ico (파비콘)
│ ├── favicon.svg (파비콘)
│ ├── icon-messages-27x20.png (푸시 메세지 아이콘)
│ ├── icon-messages-54x40.png (푸시 메세지 아이콘)
│ ├── icon-messages-81x60.png (푸시 메세지 아이콘)
│ ├── icon-messages-96x96.png (푸시 메세지 아이콘)
│ ├── marker_blue.png (현장 지도 마크 아이콘)
│ ├── marker_gray.png (현장 지도 마크 아이콘)
│ ├── marker_green.png (현장 지도 마크 아이콘)
│ ├── marker_orange.png (현장 지도 마크 아이콘)
│ ├── marker_purple.png (현장 지도 마크 아이콘)
│ ├── marker_red.png (현장 지도 마크 아이콘)
│ ├── marker_yellow.png (현장 지도 마크 아이콘)
│ ├── menu-deftdone-96x96.png (어플 간편 진입 아이콘)
│ ├── menu-defting-96x96.png (어플 간편 진입 아이콘)
│ ├── menu-deftmang-96x96.png (어플 간편 진입 아이콘)
│ ├── menu-deftque-96x96.png (어플 간편 진입 아이콘)
│ ├── menu-home-96x96.png (어플 간편 진입 아이콘)
│ ├── menu-roomapp-96x96.png (어플 간편 진입 아이콘)
│ ├── menu-roomrev-96x96.png (어플 간편 진입 아이콘)
│ └── safari-pinned-tab.svg (사파리 아이콘)
└── index.html (메인 index)
Generated using TypeDoc