{"version":3,"file":"main-es2015.js","mappings":"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","sources":["./$_lazy_route_resources|lazy|groupOptions: {}|namespace object","./src/app/@core/core.module.ts","./src/app/@core/data/country-order.ts","./src/app/@core/data/earning.ts","./src/app/@core/data/electricity.ts","./src/app/@core/data/orders-chart.ts","./src/app/@core/data/orders-profit-chart.ts","./src/app/@core/data/profit-bar-animation-chart.ts","./src/app/@core/data/profit-chart.ts","./src/app/@core/data/security-cameras.ts","./src/app/@core/data/smart-table.ts","./src/app/@core/data/solar.ts","./src/app/@core/data/stats-bar.ts","./src/app/@core/data/stats-progress-bar.ts","./src/app/@core/data/temperature-humidity.ts","./src/app/@core/data/traffic-bar.ts","./src/app/@core/data/traffic-chart.ts","./src/app/@core/data/traffic-list.ts","./src/app/@core/data/user-activity.ts","./src/app/@core/data/users.ts","./src/app/@core/data/visitors-analytics.ts","./src/app/@core/mock/country-order.service.ts","./src/app/@core/mock/earning.service.ts","./src/app/@core/mock/electricity.service.ts","./src/app/@core/mock/mock-data.module.ts","./src/app/@core/mock/orders-chart.service.ts","./src/app/@core/mock/orders-profit-chart.service.ts","./src/app/@core/mock/periods.service.ts","./src/app/@core/mock/profit-bar-animation-chart.service.ts","./src/app/@core/mock/profit-chart.service.ts","./src/app/@core/mock/security-cameras.service.ts","./src/app/@core/mock/smart-table.service.ts","./src/app/@core/mock/solar.service.ts","./src/app/@core/mock/stats-bar.service.ts","./src/app/@core/mock/stats-progress-bar.service.ts","./src/app/@core/mock/temperature-humidity.service.ts","./src/app/@core/mock/traffic-bar.service.ts","./src/app/@core/mock/traffic-chart.service.ts","./src/app/@core/mock/traffic-list.service.ts","./src/app/@core/mock/user-activity.service.ts","./src/app/@core/mock/users.service.ts","./src/app/@core/mock/visitors-analytics.service.ts","./src/app/@core/module-import-guard.ts","./src/app/@core/utils/analytics.service.ts","./src/app/@core/utils/index.ts","./src/app/@core/utils/layout.service.ts","./src/app/@core/utils/player.service.ts","./src/app/@core/utils/seo.service.ts","./src/app/@core/utils/state.service.ts","./src/app/@theme/components/footer/footer.component.ts","./src/app/@theme/components/header/header.component.ts","./src/app/@theme/components/header/header.component.html","./src/app/@theme/components/index.ts","./src/app/@theme/components/search-input/search-input.component.ts","./src/app/@theme/components/tiny-mce/tiny-mce.component.ts","./src/app/@theme/layouts/index.ts","./src/app/@theme/layouts/one-column/one-column.layout.ts","./src/app/@theme/layouts/simple-layout/simple.layout.ts","./src/app/@theme/layouts/three-columns/three-columns.layout.ts","./src/app/@theme/layouts/two-columns/two-columns.layout.ts","./src/app/@theme/pipes/capitalize.pipe.ts","./src/app/@theme/pipes/index.ts","./src/app/@theme/pipes/number-with-commas.pipe.ts","./src/app/@theme/pipes/plural.pipe.ts","./src/app/@theme/pipes/round.pipe.ts","./src/app/@theme/pipes/timing.pipe.ts","./src/app/@theme/styles/theme.corporate.ts","./src/app/@theme/styles/theme.cosmic.ts","./src/app/@theme/styles/theme.dark.ts","./src/app/@theme/styles/theme.default.ts","./src/app/@theme/theme.module.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/basic-auth-htpp-interceptor.service.ts","./src/app/main/main-routing.module.ts","./src/app/main/main.component.ts","./src/app/main/main.module.ts","./src/app/main/sys/home/home.component.ts","./src/app/main/sys/home/home.component.html","./src/app/tool/chart/my-bar.component.ts","./src/app/tool/chart/my-line.component.ts","./src/app/tool/chart/my-pie.component.ts","./src/app/tool/chart/my-point.component.ts","./src/app/tool/component/calendar/calendar.component.ts","./src/app/tool/component/calendar/calendar.component.html","./src/app/tool/component/edit-EOS-product/edit-EOS-product.component.ts","./src/app/tool/component/edit-EOS-product/edit-EOS-product.component.html","./src/app/tool/component/edit-announcement/edit-announcement.component.ts","./src/app/tool/component/edit-announcement/edit-announcement.component.html","./src/app/tool/component/edit-attach/edit-attach.component.ts","./src/app/tool/component/edit-attach/edit-attach.component.html","./src/app/tool/component/edit-attachgroup/edit-attachgroup.component.ts","./src/app/tool/component/edit-attachgroup/edit-attachgroup.component.html","./src/app/tool/component/edit-product/edit-product.component.ts","./src/app/tool/component/edit-product/edit-product.component.html","./src/app/tool/component/info-EOS-detail/info-EOS-detail.component.ts","./src/app/tool/component/info-EOS-detail/info-EOS-detail.component.html","./src/app/tool/component/info-EOS-ord/info-EOS-ord.component.ts","./src/app/tool/component/info-EOS-ord/info-EOS-ord.component.html","./src/app/tool/component/info-ord/info-ord.component.ts","./src/app/tool/component/info-ord/info-ord.component.html","./src/app/tool/component/report-reconciliation/report-reconciliation.component.ts","./src/app/tool/component/report-reconciliation/report-reconciliation.component.html","./src/app/tool/component/select-attach-moudle/select-attach-moudle.component.ts","./src/app/tool/component/select-attach-moudle/select-attach-moudle.component.html","./src/app/tool/component/select-attach-print/select-attach-print.component.ts","./src/app/tool/component/select-attach-print/select-attach-print.component.html","./src/app/tool/component/select-attach/select-attach.component.ts","./src/app/tool/component/select-attach/select-attach.component.html","./src/app/tool/component/select-attachgroup/select-attachgroup.component.ts","./src/app/tool/component/select-attachgroup/select-attachgroup.component.html","./src/app/tool/component/select-billmachine-moudle/select-billmachine-moudle.component.ts","./src/app/tool/component/select-billmachine-moudle/select-billmachine-moudle.component.html","./src/app/tool/component/select-memberType/select-memberType.component.ts","./src/app/tool/component/select-memberType/select-memberType.component.html","./src/app/tool/component/select-permissionsgroup/select-permissionsgroup.component.ts","./src/app/tool/component/select-permissionsgroup/select-permissionsgroup.component.html","./src/app/tool/component/select-product/select-product.component.ts","./src/app/tool/component/select-product/select-product.component.html","./src/app/tool/component/select-salesOutlet/select-salesOutlet.component.ts","./src/app/tool/component/select-salesOutlet/select-salesOutlet.component.html","./src/app/tool/component/select-storeSaleCash/select-storeSaleCash.component.ts","./src/app/tool/component/select-storeSaleCash/select-storeSaleCash.component.html","./src/app/tool/component/select-store/select-store.component.ts","./src/app/tool/component/select-store/select-store.component.html","./src/app/tool/component/select-stores/select-stores.component.ts","./src/app/tool/component/select-stores/select-stores.component.html","./src/app/tool/component/show-data/show-data.component.ts","./src/app/tool/component/show-data/show-data.component.html","./src/app/tool/component/status-update-modal/status-update-modal.component.ts","./src/app/tool/component/status-update-modal/status-update-modal.component.html","./src/app/tool/directive/input-email.directive.ts","./src/app/tool/object/auto-select/auto-select.component.ts","./src/app/tool/object/auto-select/auto-select.component.html","./src/app/tool/pipe/is-exist.pipe.ts","./src/app/tool/pipe/is-invaild.pipe.ts","./src/app/tool/pipe/keyword.pipe.ts","./src/app/tool/pipe/tranf.pipe.ts","./src/app/tool/service/api.service.ts","./src/app/tool/service/header.service.ts","./src/app/tool/service/menu.service.ts","./src/app/tool/tool.module.ts","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 98255;\nmodule.exports = webpackEmptyAsyncContext;","import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NbAuthModule, NbDummyAuthStrategy } from '@nebular/auth';\r\nimport { NbSecurityModule, NbRoleProvider } from '@nebular/security';\r\nimport { of as observableOf } from 'rxjs';\r\n\r\nimport { throwIfAlreadyLoaded } from './module-import-guard';\r\nimport {\r\n AnalyticsService,\r\n LayoutService,\r\n PlayerService,\r\n SeoService,\r\n StateService,\r\n} from './utils';\r\nimport { UserData } from './data/users';\r\nimport { ElectricityData } from './data/electricity';\r\nimport { SmartTableData } from './data/smart-table';\r\nimport { UserActivityData } from './data/user-activity';\r\nimport { OrdersChartData } from './data/orders-chart';\r\nimport { ProfitChartData } from './data/profit-chart';\r\nimport { TrafficListData } from './data/traffic-list';\r\nimport { EarningData } from './data/earning';\r\nimport { OrdersProfitChartData } from './data/orders-profit-chart';\r\nimport { TrafficBarData } from './data/traffic-bar';\r\nimport { ProfitBarAnimationChartData } from './data/profit-bar-animation-chart';\r\nimport { TemperatureHumidityData } from './data/temperature-humidity';\r\nimport { SolarData } from './data/solar';\r\nimport { TrafficChartData } from './data/traffic-chart';\r\nimport { StatsBarData } from './data/stats-bar';\r\nimport { CountryOrderData } from './data/country-order';\r\nimport { StatsProgressBarData } from './data/stats-progress-bar';\r\nimport { VisitorsAnalyticsData } from './data/visitors-analytics';\r\nimport { SecurityCamerasData } from './data/security-cameras';\r\n\r\nimport { UserService } from './mock/users.service';\r\nimport { ElectricityService } from './mock/electricity.service';\r\nimport { SmartTableService } from './mock/smart-table.service';\r\nimport { UserActivityService } from './mock/user-activity.service';\r\nimport { OrdersChartService } from './mock/orders-chart.service';\r\nimport { ProfitChartService } from './mock/profit-chart.service';\r\nimport { TrafficListService } from './mock/traffic-list.service';\r\nimport { EarningService } from './mock/earning.service';\r\nimport { OrdersProfitChartService } from './mock/orders-profit-chart.service';\r\nimport { TrafficBarService } from './mock/traffic-bar.service';\r\nimport { ProfitBarAnimationChartService } from './mock/profit-bar-animation-chart.service';\r\nimport { TemperatureHumidityService } from './mock/temperature-humidity.service';\r\nimport { SolarService } from './mock/solar.service';\r\nimport { TrafficChartService } from './mock/traffic-chart.service';\r\nimport { StatsBarService } from './mock/stats-bar.service';\r\nimport { CountryOrderService } from './mock/country-order.service';\r\nimport { StatsProgressBarService } from './mock/stats-progress-bar.service';\r\nimport { VisitorsAnalyticsService } from './mock/visitors-analytics.service';\r\nimport { SecurityCamerasService } from './mock/security-cameras.service';\r\nimport { MockDataModule } from './mock/mock-data.module';\r\n\r\nconst socialLinks = [\r\n {\r\n url: 'https://github.com/akveo/nebular',\r\n target: '_blank',\r\n icon: 'github',\r\n },\r\n {\r\n url: 'https://www.facebook.com/akveo/',\r\n target: '_blank',\r\n icon: 'facebook',\r\n },\r\n {\r\n url: 'https://twitter.com/akveo_inc',\r\n target: '_blank',\r\n icon: 'twitter',\r\n },\r\n];\r\n\r\nconst DATA_SERVICES = [\r\n { provide: UserData, useClass: UserService },\r\n { provide: ElectricityData, useClass: ElectricityService },\r\n { provide: SmartTableData, useClass: SmartTableService },\r\n { provide: UserActivityData, useClass: UserActivityService },\r\n { provide: OrdersChartData, useClass: OrdersChartService },\r\n { provide: ProfitChartData, useClass: ProfitChartService },\r\n { provide: TrafficListData, useClass: TrafficListService },\r\n { provide: EarningData, useClass: EarningService },\r\n { provide: OrdersProfitChartData, useClass: OrdersProfitChartService },\r\n { provide: TrafficBarData, useClass: TrafficBarService },\r\n { provide: ProfitBarAnimationChartData, useClass: ProfitBarAnimationChartService },\r\n { provide: TemperatureHumidityData, useClass: TemperatureHumidityService },\r\n { provide: SolarData, useClass: SolarService },\r\n { provide: TrafficChartData, useClass: TrafficChartService },\r\n { provide: StatsBarData, useClass: StatsBarService },\r\n { provide: CountryOrderData, useClass: CountryOrderService },\r\n { provide: StatsProgressBarData, useClass: StatsProgressBarService },\r\n { provide: VisitorsAnalyticsData, useClass: VisitorsAnalyticsService },\r\n { provide: SecurityCamerasData, useClass: SecurityCamerasService },\r\n];\r\n\r\nexport class NbSimpleRoleProvider extends NbRoleProvider {\r\n getRole() {\r\n // here you could provide any role based on any auth flow\r\n return observableOf('guest');\r\n }\r\n}\r\n\r\nexport const NB_CORE_PROVIDERS = [\r\n ...MockDataModule.forRoot().providers,\r\n ...DATA_SERVICES,\r\n ...NbAuthModule.forRoot({\r\n\r\n strategies: [\r\n NbDummyAuthStrategy.setup({\r\n name: 'email',\r\n delay: 3000,\r\n }),\r\n ],\r\n forms: {\r\n login: {\r\n socialLinks: socialLinks,\r\n },\r\n register: {\r\n socialLinks: socialLinks,\r\n },\r\n },\r\n }).providers,\r\n\r\n NbSecurityModule.forRoot({\r\n accessControl: {\r\n guest: {\r\n view: '*',\r\n },\r\n user: {\r\n parent: 'guest',\r\n create: '*',\r\n edit: '*',\r\n remove: '*',\r\n },\r\n },\r\n }).providers,\r\n\r\n {\r\n provide: NbRoleProvider, useClass: NbSimpleRoleProvider,\r\n },\r\n AnalyticsService,\r\n LayoutService,\r\n PlayerService,\r\n SeoService,\r\n StateService,\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [\r\n NbAuthModule,\r\n ],\r\n declarations: [],\r\n})\r\nexport class CoreModule {\r\n constructor(@Optional() @SkipSelf() parentModule: CoreModule) {\r\n throwIfAlreadyLoaded(parentModule, 'CoreModule');\r\n }\r\n\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: CoreModule,\r\n providers: [\r\n ...NB_CORE_PROVIDERS,\r\n ],\r\n };\r\n }\r\n}\r\n","import { Observable } from 'rxjs';\r\n\r\nexport abstract class CountryOrderData {\r\n abstract getCountriesCategories(): Observable;\r\n abstract getCountriesCategoriesData(country: string): Observable;\r\n}\r\n","import { Observable } from 'rxjs';\r\n\r\nexport interface LiveUpdateChart {\r\n liveChart: { value: [string, number] }[];\r\n delta: {\r\n up: boolean;\r\n value: number;\r\n };\r\n dailyIncome: number;\r\n}\r\n\r\nexport interface PieChart {\r\n value: number;\r\n name: string;\r\n}\r\n\r\nexport abstract class EarningData {\r\n abstract getEarningLiveUpdateCardData(currency: string): Observable;\r\n abstract getEarningCardData(currency: string): Observable;\r\n abstract getEarningPieChartData(): Observable;\r\n}\r\n","import { Observable } from 'rxjs';\r\n\r\nexport interface Month {\r\n month: string;\r\n delta: string;\r\n down: boolean;\r\n kWatts: string;\r\n cost: string;\r\n}\r\n\r\nexport interface Electricity {\r\n title: string;\r\n active?: boolean;\r\n months: Month[];\r\n}\r\n\r\nexport interface ElectricityChart {\r\n label: string;\r\n value: number;\r\n}\r\n\r\nexport abstract class ElectricityData {\r\n abstract getListData(): Observable;\r\n abstract getChartData(): Observable;\r\n}\r\n","export interface OrdersChart {\r\n chartLabel: string[];\r\n linesData: number[][];\r\n}\r\n\r\nexport abstract class OrdersChartData {\r\n abstract getOrdersChartData(period: string): OrdersChart;\r\n}\r\n","import { Observable } from 'rxjs';\r\nimport { OrdersChart } from './orders-chart';\r\nimport { ProfitChart } from './profit-chart';\r\n\r\nexport interface OrderProfitChartSummary {\r\n title: string;\r\n value: number;\r\n}\r\n\r\nexport abstract class OrdersProfitChartData {\r\n abstract getOrderProfitChartSummary(): Observable;\r\n abstract getOrdersChartData(period: string): Observable;\r\n abstract getProfitChartData(period: string): Observable;\r\n}\r\n","import { Observable } from 'rxjs';\r\n\r\nexport abstract class ProfitBarAnimationChartData {\r\n abstract getChartData(): Observable<{ firstLine: number[]; secondLine: number[]; }>;\r\n}\r\n","export interface ProfitChart {\r\n chartLabel: string[];\r\n data: number[][];\r\n}\r\n\r\nexport abstract class ProfitChartData {\r\n abstract getProfitChartData(period: string): ProfitChart;\r\n}\r\n","import { Observable } from 'rxjs';\r\n\r\nexport interface Camera {\r\n title: string;\r\n source: string;\r\n}\r\n\r\nexport abstract class SecurityCamerasData {\r\n abstract getCamerasData(): Observable;\r\n}\r\n","\r\nexport abstract class SmartTableData {\r\n abstract getData(): any[];\r\n}\r\n","import { Observable } from 'rxjs';\r\n\r\nexport abstract class SolarData {\r\n abstract getSolarData(): Observable;\r\n}\r\n","import { Observable } from 'rxjs';\r\n\r\nexport abstract class StatsBarData {\r\n abstract getStatsBarData(): Observable;\r\n}\r\n","import { Observable } from 'rxjs';\r\n\r\nexport interface ProgressInfo {\r\n title: string;\r\n value: number;\r\n activeProgress: number;\r\n description: string;\r\n}\r\n\r\nexport abstract class StatsProgressBarData {\r\n abstract getProgressInfoData(): Observable;\r\n}\r\n","import { Observable } from 'rxjs';\r\n\r\nexport interface Temperature {\r\n value: number;\r\n min: number;\r\n max: number;\r\n}\r\n\r\nexport abstract class TemperatureHumidityData {\r\n abstract getTemperatureData(): Observable;\r\n abstract getHumidityData(): Observable;\r\n}\r\n","import { Observable } from 'rxjs';\r\n\r\nexport interface TrafficBar {\r\n data: number[];\r\n labels: string[];\r\n formatter: string;\r\n}\r\n\r\nexport abstract class TrafficBarData {\r\n abstract getTrafficBarData(period: string): Observable;\r\n}\r\n","import { Observable } from 'rxjs';\r\n\r\nexport abstract class TrafficChartData {\r\n abstract getTrafficChartData(): Observable;\r\n}\r\n","import { Observable } from 'rxjs';\r\n\r\nexport interface TrafficList {\r\n date: string;\r\n value: number;\r\n delta: {\r\n up: boolean;\r\n value: number;\r\n };\r\n comparison: {\r\n prevDate: string;\r\n prevValue: number;\r\n nextDate: string;\r\n nextValue: number;\r\n };\r\n}\r\n\r\nexport abstract class TrafficListData {\r\n abstract getTrafficListData(period: string): Observable;\r\n}\r\n","import { Observable } from 'rxjs';\r\n\r\nexport interface UserActive {\r\n date: string;\r\n pagesVisitCount: number;\r\n deltaUp: boolean;\r\n newVisits: number;\r\n}\r\n\r\nexport abstract class UserActivityData {\r\n abstract getUserActivityData(period: string): Observable;\r\n}\r\n","import { Observable } from 'rxjs';\r\n\r\nexport interface User {\r\n name: string;\r\n picture: string;\r\n}\r\n\r\nexport interface Contacts {\r\n user: User;\r\n type: string;\r\n}\r\n\r\nexport interface RecentUsers extends Contacts {\r\n time: number;\r\n}\r\n\r\nexport abstract class UserData {\r\n abstract getUsers(): Observable;\r\n abstract getContacts(): Observable;\r\n abstract getRecentUsers(): Observable;\r\n}\r\n","import { Observable } from 'rxjs';\r\n\r\nexport interface OutlineData {\r\n label: string;\r\n value: number;\r\n}\r\n\r\nexport abstract class VisitorsAnalyticsData {\r\n abstract getInnerLineChartData(): Observable;\r\n abstract getOutlineLineChartData(): Observable;\r\n abstract getPieChartData(): Observable;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { of as observableOf, Observable } from 'rxjs';\r\nimport { CountryOrderData } from '../data/country-order';\r\n\r\n@Injectable()\r\nexport class CountryOrderService extends CountryOrderData {\r\n\r\n private countriesCategories = [\r\n 'Sofas',\r\n 'Furniture',\r\n 'Lighting',\r\n 'Tables',\r\n 'Textiles',\r\n ];\r\n private countriesCategoriesLength = this.countriesCategories.length;\r\n private generateRandomData(nPoints: number): number[] {\r\n return Array.from(Array(nPoints)).map(() => {\r\n return Math.round(Math.random() * 20);\r\n });\r\n }\r\n\r\n getCountriesCategories(): Observable {\r\n return observableOf(this.countriesCategories);\r\n }\r\n\r\n getCountriesCategoriesData(country: string): Observable {\r\n return observableOf(this.generateRandomData(this.countriesCategoriesLength));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { of as observableOf, Observable } from 'rxjs';\r\nimport { LiveUpdateChart, PieChart, EarningData } from '../data/earning';\r\n\r\n@Injectable()\r\nexport class EarningService extends EarningData {\r\n\r\n private currentDate: Date = new Date();\r\n private currentValue = Math.random() * 1000;\r\n private ONE_DAY = 24 * 3600 * 1000;\r\n\r\n private pieChartData = [\r\n {\r\n value: 50,\r\n name: 'Bitcoin',\r\n },\r\n {\r\n value: 25,\r\n name: 'Tether',\r\n },\r\n {\r\n value: 25,\r\n name: 'Ethereum',\r\n },\r\n ];\r\n\r\n private liveUpdateChartData = {\r\n bitcoin: {\r\n liveChart: [],\r\n delta: {\r\n up: true,\r\n value: 4,\r\n },\r\n dailyIncome: 45895,\r\n },\r\n tether: {\r\n liveChart: [],\r\n delta: {\r\n up: false,\r\n value: 9,\r\n },\r\n dailyIncome: 5862,\r\n },\r\n ethereum: {\r\n liveChart: [],\r\n delta: {\r\n up: false,\r\n value: 21,\r\n },\r\n dailyIncome: 584,\r\n },\r\n };\r\n\r\n getDefaultLiveChartData(elementsNumber: number) {\r\n this.currentDate = new Date();\r\n this.currentValue = Math.random() * 1000;\r\n\r\n return Array.from(Array(elementsNumber))\r\n .map(item => this.generateRandomLiveChartData());\r\n }\r\n\r\n generateRandomLiveChartData() {\r\n this.currentDate = new Date(+this.currentDate + this.ONE_DAY);\r\n this.currentValue = this.currentValue + Math.random() * 20 - 11;\r\n\r\n if (this.currentValue < 0) {\r\n this.currentValue = Math.random() * 100;\r\n }\r\n\r\n return {\r\n value: [\r\n [\r\n this.currentDate.getFullYear(),\r\n this.currentDate.getMonth(),\r\n this.currentDate.getDate(),\r\n ].join('/'),\r\n Math.round(this.currentValue),\r\n ],\r\n };\r\n }\r\n\r\n getEarningLiveUpdateCardData(currency): Observable {\r\n const data = this.liveUpdateChartData[currency.toLowerCase()];\r\n const newValue = this.generateRandomLiveChartData();\r\n\r\n data.liveChart.shift();\r\n data.liveChart.push(newValue);\r\n\r\n return observableOf(data.liveChart);\r\n }\r\n\r\n getEarningCardData(currency: string): Observable {\r\n const data = this.liveUpdateChartData[currency.toLowerCase()];\r\n\r\n data.liveChart = this.getDefaultLiveChartData(150);\r\n\r\n return observableOf(data);\r\n }\r\n\r\n getEarningPieChartData(): Observable {\r\n return observableOf(this.pieChartData);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { of as observableOf, Observable } from 'rxjs';\r\nimport { Electricity, ElectricityChart, ElectricityData } from '../data/electricity';\r\n\r\n@Injectable()\r\nexport class ElectricityService extends ElectricityData {\r\n\r\n private listData: Electricity[] = [\r\n {\r\n title: '2015',\r\n months: [\r\n { month: 'Jan', delta: '0.97', down: true, kWatts: '816', cost: '97' },\r\n { month: 'Feb', delta: '1.83', down: true, kWatts: '806', cost: '95' },\r\n { month: 'Mar', delta: '0.64', down: true, kWatts: '803', cost: '94' },\r\n { month: 'Apr', delta: '2.17', down: false, kWatts: '818', cost: '98' },\r\n { month: 'May', delta: '1.32', down: true, kWatts: '809', cost: '96' },\r\n { month: 'Jun', delta: '0.05', down: true, kWatts: '808', cost: '96' },\r\n { month: 'Jul', delta: '1.39', down: false, kWatts: '815', cost: '97' },\r\n { month: 'Aug', delta: '0.73', down: true, kWatts: '807', cost: '95' },\r\n { month: 'Sept', delta: '2.61', down: true, kWatts: '792', cost: '92' },\r\n { month: 'Oct', delta: '0.16', down: true, kWatts: '791', cost: '92' },\r\n { month: 'Nov', delta: '1.71', down: true, kWatts: '786', cost: '89' },\r\n { month: 'Dec', delta: '0.37', down: false, kWatts: '789', cost: '91' },\r\n ],\r\n },\r\n {\r\n title: '2016',\r\n active: true,\r\n months: [\r\n { month: 'Jan', delta: '1.56', down: true, kWatts: '789', cost: '91' },\r\n { month: 'Feb', delta: '0.33', down: false, kWatts: '791', cost: '92' },\r\n { month: 'Mar', delta: '0.62', down: true, kWatts: '790', cost: '92' },\r\n { month: 'Apr', delta: '1.93', down: true, kWatts: '783', cost: '87' },\r\n { month: 'May', delta: '2.52', down: true, kWatts: '771', cost: '83' },\r\n { month: 'Jun', delta: '0.39', down: false, kWatts: '774', cost: '85' },\r\n { month: 'Jul', delta: '1.61', down: true, kWatts: '767', cost: '81' },\r\n { month: 'Aug', delta: '1.41', down: true, kWatts: '759', cost: '76' },\r\n { month: 'Sept', delta: '1.03', down: true, kWatts: '752', cost: '74' },\r\n { month: 'Oct', delta: '2.94', down: false, kWatts: '769', cost: '82' },\r\n { month: 'Nov', delta: '0.26', down: true, kWatts: '767', cost: '81' },\r\n { month: 'Dec', delta: '1.62', down: true, kWatts: '760', cost: '76' },\r\n ],\r\n },\r\n {\r\n title: '2017',\r\n months: [\r\n { month: 'Jan', delta: '1.34', down: false, kWatts: '789', cost: '91' },\r\n { month: 'Feb', delta: '0.95', down: false, kWatts: '793', cost: '93' },\r\n { month: 'Mar', delta: '0.25', down: true, kWatts: '791', cost: '92' },\r\n { month: 'Apr', delta: '1.72', down: false, kWatts: '797', cost: '95' },\r\n { month: 'May', delta: '2.62', down: true, kWatts: '786', cost: '90' },\r\n { month: 'Jun', delta: '0.72', down: false, kWatts: '789', cost: '91' },\r\n { month: 'Jul', delta: '0.78', down: true, kWatts: '784', cost: '89' },\r\n { month: 'Aug', delta: '0.36', down: true, kWatts: '782', cost: '88' },\r\n { month: 'Sept', delta: '0.55', down: false, kWatts: '787', cost: '90' },\r\n { month: 'Oct', delta: '1.81', down: true, kWatts: '779', cost: '86' },\r\n { month: 'Nov', delta: '1.12', down: true, kWatts: '774', cost: '84' },\r\n { month: 'Dec', delta: '0.52', down: false, kWatts: '776', cost: '95' },\r\n ],\r\n },\r\n ];\r\n\r\n private chartPoints = [\r\n 490, 490, 495, 500,\r\n 505, 510, 520, 530,\r\n 550, 580, 630, 720,\r\n 800, 840, 860, 870,\r\n 870, 860, 840, 800,\r\n 720, 200, 145, 130,\r\n 130, 145, 200, 570,\r\n 635, 660, 670, 670,\r\n 660, 630, 580, 460,\r\n 380, 350, 340, 340,\r\n 340, 340, 340, 340,\r\n 340, 340, 340,\r\n ];\r\n\r\n chartData: ElectricityChart[];\r\n\r\n constructor() {\r\n super();\r\n this.chartData = this.chartPoints.map((p, index) => ({\r\n label: (index % 5 === 3) ? `${Math.round(index / 5)}` : '',\r\n value: p,\r\n }));\r\n }\r\n\r\n getListData(): Observable {\r\n return observableOf(this.listData);\r\n }\r\n\r\n getChartData(): Observable {\r\n return observableOf(this.chartData);\r\n }\r\n}\r\n","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { UserService } from './users.service';\r\nimport { ElectricityService } from './electricity.service';\r\nimport { SmartTableService } from './smart-table.service';\r\nimport { UserActivityService } from './user-activity.service';\r\nimport { OrdersChartService } from './orders-chart.service';\r\nimport { ProfitChartService } from './profit-chart.service';\r\nimport { TrafficListService } from './traffic-list.service';\r\nimport { PeriodsService } from './periods.service';\r\nimport { EarningService } from './earning.service';\r\nimport { OrdersProfitChartService } from './orders-profit-chart.service';\r\nimport { TrafficBarService } from './traffic-bar.service';\r\nimport { ProfitBarAnimationChartService } from './profit-bar-animation-chart.service';\r\nimport { TemperatureHumidityService } from './temperature-humidity.service';\r\nimport { SolarService } from './solar.service';\r\nimport { TrafficChartService } from './traffic-chart.service';\r\nimport { StatsBarService } from './stats-bar.service';\r\nimport { CountryOrderService } from './country-order.service';\r\nimport { StatsProgressBarService } from './stats-progress-bar.service';\r\nimport { VisitorsAnalyticsService } from './visitors-analytics.service';\r\nimport { SecurityCamerasService } from './security-cameras.service';\r\n\r\nconst SERVICES = [\r\n UserService,\r\n ElectricityService,\r\n SmartTableService,\r\n UserActivityService,\r\n OrdersChartService,\r\n ProfitChartService,\r\n TrafficListService,\r\n PeriodsService,\r\n EarningService,\r\n OrdersProfitChartService,\r\n TrafficBarService,\r\n ProfitBarAnimationChartService,\r\n TemperatureHumidityService,\r\n SolarService,\r\n TrafficChartService,\r\n StatsBarService,\r\n CountryOrderService,\r\n StatsProgressBarService,\r\n VisitorsAnalyticsService,\r\n SecurityCamerasService,\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ],\r\n providers: [\r\n ...SERVICES,\r\n ],\r\n})\r\nexport class MockDataModule {\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: MockDataModule,\r\n providers: [\r\n ...SERVICES,\r\n ],\r\n };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { PeriodsService } from './periods.service';\r\nimport { OrdersChart, OrdersChartData } from '../data/orders-chart';\r\n\r\n@Injectable()\r\nexport class OrdersChartService extends OrdersChartData {\r\n\r\n private year = [\r\n '2012',\r\n '2013',\r\n '2014',\r\n '2015',\r\n '2016',\r\n '2017',\r\n '2018',\r\n ];\r\n\r\n private data = { };\r\n\r\n constructor(private period: PeriodsService) {\r\n super();\r\n this.data = {\r\n week: this.getDataForWeekPeriod(),\r\n month: this.getDataForMonthPeriod(),\r\n year: this.getDataForYearPeriod(),\r\n };\r\n }\r\n\r\n private getDataForWeekPeriod(): OrdersChart {\r\n return {\r\n chartLabel: this.getDataLabels(42, this.period.getWeeks()),\r\n linesData: [\r\n [\r\n 184, 267, 326, 366, 389, 399,\r\n 392, 371, 340, 304, 265, 227,\r\n 191, 158, 130, 108, 95, 91, 97,\r\n 109, 125, 144, 166, 189, 212,\r\n 236, 259, 280, 300, 316, 329,\r\n 338, 342, 339, 329, 312, 288,\r\n 258, 221, 178, 128, 71,\r\n ],\r\n [\r\n 158, 178, 193, 205, 212, 213,\r\n 204, 190, 180, 173, 168, 164,\r\n 162, 160, 159, 158, 159, 166,\r\n 179, 195, 215, 236, 257, 276,\r\n 292, 301, 304, 303, 300, 293,\r\n 284, 273, 262, 251, 241, 234,\r\n 232, 232, 232, 232, 232, 232,\r\n ],\r\n [\r\n 58, 137, 202, 251, 288, 312,\r\n 323, 324, 311, 288, 257, 222,\r\n 187, 154, 124, 100, 81, 68, 61,\r\n 58, 61, 69, 80, 96, 115, 137,\r\n 161, 186, 210, 233, 254, 271,\r\n 284, 293, 297, 297, 297, 297,\r\n 297, 297, 297, 297, 297,\r\n ],\r\n ],\r\n };\r\n }\r\n\r\n private getDataForMonthPeriod(): OrdersChart {\r\n return {\r\n chartLabel: this.getDataLabels(47, this.period.getMonths()),\r\n linesData: [\r\n [\r\n 5, 63, 113, 156, 194, 225,\r\n 250, 270, 283, 289, 290,\r\n 286, 277, 264, 244, 220,\r\n 194, 171, 157, 151, 150,\r\n 152, 155, 160, 166, 170,\r\n 167, 153, 135, 115, 97,\r\n 82, 71, 64, 63, 62, 61,\r\n 62, 65, 73, 84, 102,\r\n 127, 159, 203, 259, 333,\r\n ],\r\n [\r\n 6, 83, 148, 200, 240,\r\n 265, 273, 259, 211,\r\n 122, 55, 30, 28, 36,\r\n 50, 68, 88, 109, 129,\r\n 146, 158, 163, 165,\r\n 173, 187, 208, 236,\r\n 271, 310, 346, 375,\r\n 393, 400, 398, 387,\r\n 368, 341, 309, 275,\r\n 243, 220, 206, 202,\r\n 207, 222, 247, 286, 348,\r\n ],\r\n [\r\n 398, 348, 315, 292, 274,\r\n 261, 251, 243, 237, 231,\r\n 222, 209, 192, 172, 152,\r\n 132, 116, 102, 90, 80, 71,\r\n 64, 58, 53, 49, 48, 54, 66,\r\n 84, 104, 125, 142, 156, 166,\r\n 172, 174, 172, 167, 159, 149,\r\n 136, 121, 105, 86, 67, 45, 22,\r\n ],\r\n ],\r\n };\r\n }\r\n\r\n private getDataForYearPeriod(): OrdersChart {\r\n return {\r\n chartLabel: this.getDataLabels(42, this.year),\r\n linesData: [\r\n [\r\n 190, 269, 327, 366, 389, 398,\r\n 396, 387, 375, 359, 343, 327,\r\n 312, 298, 286, 276, 270, 268,\r\n 265, 258, 247, 234, 220, 204,\r\n 188, 172, 157, 142, 128, 116,\r\n 106, 99, 95, 94, 92, 89, 84,\r\n 77, 69, 60, 49, 36, 22,\r\n ],\r\n [\r\n 265, 307, 337, 359, 375, 386,\r\n 393, 397, 399, 397, 390, 379,\r\n 365, 347, 326, 305, 282, 261,\r\n 241, 223, 208, 197, 190, 187,\r\n 185, 181, 172, 160, 145, 126,\r\n 105, 82, 60, 40, 26, 19, 22,\r\n 43, 82, 141, 220, 321,\r\n ],\r\n [\r\n 9, 165, 236, 258, 244, 206,\r\n 186, 189, 209, 239, 273, 307,\r\n 339, 365, 385, 396, 398, 385,\r\n 351, 300, 255, 221, 197, 181,\r\n 170, 164, 162, 161, 159, 154,\r\n 146, 135, 122, 108, 96, 87,\r\n 83, 82, 82, 82, 82, 82, 82,\r\n ],\r\n ],\r\n };\r\n }\r\n\r\n getDataLabels(nPoints: number, labelsArray: string[]): string[] {\r\n const labelsArrayLength = labelsArray.length;\r\n const step = Math.round(nPoints / labelsArrayLength);\r\n\r\n return Array.from(Array(nPoints)).map((item, index) => {\r\n const dataIndex = Math.round(index / step);\r\n\r\n return index % step === 0 ? labelsArray[dataIndex] : '';\r\n });\r\n }\r\n\r\n getOrdersChartData(period: string): OrdersChart {\r\n return this.data[period];\r\n }\r\n}\r\n","import { of as observableOf, Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { OrdersChart, OrdersChartData } from '../data/orders-chart';\r\nimport { OrderProfitChartSummary, OrdersProfitChartData } from '../data/orders-profit-chart';\r\nimport { ProfitChart, ProfitChartData } from '../data/profit-chart';\r\n\r\n@Injectable()\r\nexport class OrdersProfitChartService extends OrdersProfitChartData {\r\n\r\n private summary = [\r\n {\r\n title: 'Marketplace',\r\n value: 3654,\r\n },\r\n {\r\n title: 'Last Month',\r\n value: 946,\r\n },\r\n {\r\n title: 'Last Week',\r\n value: 654,\r\n },\r\n {\r\n title: 'Today',\r\n value: 230,\r\n },\r\n ];\r\n\r\n constructor(private ordersChartService: OrdersChartData,\r\n private profitChartService: ProfitChartData) {\r\n super();\r\n }\r\n\r\n getOrderProfitChartSummary(): Observable {\r\n return observableOf(this.summary);\r\n }\r\n\r\n getOrdersChartData(period: string): Observable {\r\n return observableOf(this.ordersChartService.getOrdersChartData(period));\r\n }\r\n\r\n getProfitChartData(period: string): Observable {\r\n return observableOf(this.profitChartService.getProfitChartData(period));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class PeriodsService {\r\n getYears() {\r\n return [\r\n '2010', '2011', '2012',\r\n '2013', '2014', '2015',\r\n '2016', '2017', '2018',\r\n ];\r\n }\r\n\r\n getMonths() {\r\n return [\r\n 'Jan', 'Feb', 'Mar',\r\n 'Apr', 'May', 'Jun',\r\n 'Jul', 'Aug', 'Sep',\r\n 'Oct', 'Nov', 'Dec',\r\n ];\r\n }\r\n\r\n getWeeks() {\r\n return [\r\n 'Mon',\r\n 'Tue',\r\n 'Wed',\r\n 'Thu',\r\n 'Fri',\r\n 'Sat',\r\n 'Sun',\r\n ];\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { of as observableOf, Observable } from 'rxjs';\r\nimport { ProfitBarAnimationChartData } from '../data/profit-bar-animation-chart';\r\n\r\n@Injectable()\r\nexport class ProfitBarAnimationChartService extends ProfitBarAnimationChartData {\r\n\r\n private data: any;\r\n\r\n constructor() {\r\n super();\r\n this.data = {\r\n firstLine: this.getDataForFirstLine(),\r\n secondLine: this.getDataForSecondLine(),\r\n };\r\n }\r\n\r\n getDataForFirstLine(): number[] {\r\n return this.createEmptyArray(100)\r\n .map((_, index) => {\r\n const oneFifth = index / 5;\r\n\r\n return (Math.sin(oneFifth) * (oneFifth - 10) + index / 6) * 5;\r\n });\r\n }\r\n\r\n getDataForSecondLine(): number[] {\r\n return this.createEmptyArray(100)\r\n .map((_, index) => {\r\n const oneFifth = index / 5;\r\n\r\n return (Math.cos(oneFifth) * (oneFifth - 10) + index / 6) * 5;\r\n });\r\n }\r\n\r\n createEmptyArray(nPoints: number) {\r\n return Array.from(Array(nPoints));\r\n }\r\n\r\n getChartData(): Observable<{ firstLine: number[]; secondLine: number[]; }> {\r\n return observableOf(this.data);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { PeriodsService } from './periods.service';\r\nimport { ProfitChart, ProfitChartData } from '../data/profit-chart';\r\n\r\n@Injectable()\r\nexport class ProfitChartService extends ProfitChartData {\r\n\r\n private year = [\r\n '2012',\r\n '2013',\r\n '2014',\r\n '2015',\r\n '2016',\r\n '2017',\r\n '2018',\r\n ];\r\n\r\n private data = { };\r\n\r\n constructor(private period: PeriodsService) {\r\n super();\r\n this.data = {\r\n week: this.getDataForWeekPeriod(),\r\n month: this.getDataForMonthPeriod(),\r\n year: this.getDataForYearPeriod(),\r\n };\r\n }\r\n\r\n private getDataForWeekPeriod(): ProfitChart {\r\n const nPoint = this.period.getWeeks().length;\r\n\r\n return {\r\n chartLabel: this.period.getWeeks(),\r\n data: [\r\n this.getRandomData(nPoint),\r\n this.getRandomData(nPoint),\r\n this.getRandomData(nPoint),\r\n ],\r\n };\r\n }\r\n\r\n private getDataForMonthPeriod(): ProfitChart {\r\n const nPoint = this.period.getMonths().length;\r\n\r\n return {\r\n chartLabel: this.period.getMonths(),\r\n data: [\r\n this.getRandomData(nPoint),\r\n this.getRandomData(nPoint),\r\n this.getRandomData(nPoint),\r\n ],\r\n };\r\n }\r\n\r\n private getDataForYearPeriod(): ProfitChart {\r\n const nPoint = this.year.length;\r\n\r\n return {\r\n chartLabel: this.year,\r\n data: [\r\n this.getRandomData(nPoint),\r\n this.getRandomData(nPoint),\r\n this.getRandomData(nPoint),\r\n ],\r\n };\r\n }\r\n\r\n private getRandomData(nPoints: number): number[] {\r\n return Array.from(Array(nPoints)).map(() => {\r\n return Math.round(Math.random() * 500);\r\n });\r\n }\r\n\r\n getProfitChartData(period: string): ProfitChart {\r\n return this.data[period];\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { of as observableOf, Observable } from 'rxjs';\r\nimport { Camera, SecurityCamerasData } from '../data/security-cameras';\r\n\r\n@Injectable()\r\nexport class SecurityCamerasService extends SecurityCamerasData {\r\n\r\n private cameras: Camera[] = [\r\n {\r\n title: 'Camera #1',\r\n source: 'assets/images/camera1.jpg',\r\n },\r\n {\r\n title: 'Camera #2',\r\n source: 'assets/images/camera2.jpg',\r\n },\r\n {\r\n title: 'Camera #3',\r\n source: 'assets/images/camera3.jpg',\r\n },\r\n {\r\n title: 'Camera #4',\r\n source: 'assets/images/camera4.jpg',\r\n },\r\n ];\r\n\r\n getCamerasData(): Observable {\r\n return observableOf(this.cameras);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { SmartTableData } from '../data/smart-table';\r\n\r\n@Injectable()\r\nexport class SmartTableService extends SmartTableData {\r\n\r\n data = [{\r\n id: 1,\r\n firstName: 'Mark',\r\n lastName: 'Otto',\r\n username: '@mdo',\r\n email: 'mdo@gmail.com',\r\n age: '28',\r\n }, {\r\n id: 2,\r\n firstName: 'Jacob',\r\n lastName: 'Thornton',\r\n username: '@fat',\r\n email: 'fat@yandex.ru',\r\n age: '45',\r\n }, {\r\n id: 3,\r\n firstName: 'Larry',\r\n lastName: 'Bird',\r\n username: '@twitter',\r\n email: 'twitter@outlook.com',\r\n age: '18',\r\n }, {\r\n id: 4,\r\n firstName: 'John',\r\n lastName: 'Snow',\r\n username: '@snow',\r\n email: 'snow@gmail.com',\r\n age: '20',\r\n }, {\r\n id: 5,\r\n firstName: 'Jack',\r\n lastName: 'Sparrow',\r\n username: '@jack',\r\n email: 'jack@yandex.ru',\r\n age: '30',\r\n }, {\r\n id: 6,\r\n firstName: 'Ann',\r\n lastName: 'Smith',\r\n username: '@ann',\r\n email: 'ann@gmail.com',\r\n age: '21',\r\n }, {\r\n id: 7,\r\n firstName: 'Barbara',\r\n lastName: 'Black',\r\n username: '@barbara',\r\n email: 'barbara@yandex.ru',\r\n age: '43',\r\n }, {\r\n id: 8,\r\n firstName: 'Sevan',\r\n lastName: 'Bagrat',\r\n username: '@sevan',\r\n email: 'sevan@outlook.com',\r\n age: '13',\r\n }, {\r\n id: 9,\r\n firstName: 'Ruben',\r\n lastName: 'Vardan',\r\n username: '@ruben',\r\n email: 'ruben@gmail.com',\r\n age: '22',\r\n }, {\r\n id: 10,\r\n firstName: 'Karen',\r\n lastName: 'Sevan',\r\n username: '@karen',\r\n email: 'karen@yandex.ru',\r\n age: '33',\r\n }, {\r\n id: 11,\r\n firstName: 'Mark',\r\n lastName: 'Otto',\r\n username: '@mark',\r\n email: 'mark@gmail.com',\r\n age: '38',\r\n }, {\r\n id: 12,\r\n firstName: 'Jacob',\r\n lastName: 'Thornton',\r\n username: '@jacob',\r\n email: 'jacob@yandex.ru',\r\n age: '48',\r\n }, {\r\n id: 13,\r\n firstName: 'Haik',\r\n lastName: 'Hakob',\r\n username: '@haik',\r\n email: 'haik@outlook.com',\r\n age: '48',\r\n }, {\r\n id: 14,\r\n firstName: 'Garegin',\r\n lastName: 'Jirair',\r\n username: '@garegin',\r\n email: 'garegin@gmail.com',\r\n age: '40',\r\n }, {\r\n id: 15,\r\n firstName: 'Krikor',\r\n lastName: 'Bedros',\r\n username: '@krikor',\r\n email: 'krikor@yandex.ru',\r\n age: '32',\r\n }, {\r\n 'id': 16,\r\n 'firstName': 'Francisca',\r\n 'lastName': 'Brady',\r\n 'username': '@Gibson',\r\n 'email': 'franciscagibson@comtours.com',\r\n 'age': 11,\r\n }, {\r\n 'id': 17,\r\n 'firstName': 'Tillman',\r\n 'lastName': 'Figueroa',\r\n 'username': '@Snow',\r\n 'email': 'tillmansnow@comtours.com',\r\n 'age': 34,\r\n }, {\r\n 'id': 18,\r\n 'firstName': 'Jimenez',\r\n 'lastName': 'Morris',\r\n 'username': '@Bryant',\r\n 'email': 'jimenezbryant@comtours.com',\r\n 'age': 45,\r\n }, {\r\n 'id': 19,\r\n 'firstName': 'Sandoval',\r\n 'lastName': 'Jacobson',\r\n 'username': '@Mcbride',\r\n 'email': 'sandovalmcbride@comtours.com',\r\n 'age': 32,\r\n }, {\r\n 'id': 20,\r\n 'firstName': 'Griffin',\r\n 'lastName': 'Torres',\r\n 'username': '@Charles',\r\n 'email': 'griffincharles@comtours.com',\r\n 'age': 19,\r\n }, {\r\n 'id': 21,\r\n 'firstName': 'Cora',\r\n 'lastName': 'Parker',\r\n 'username': '@Caldwell',\r\n 'email': 'coracaldwell@comtours.com',\r\n 'age': 27,\r\n }, {\r\n 'id': 22,\r\n 'firstName': 'Cindy',\r\n 'lastName': 'Bond',\r\n 'username': '@Velez',\r\n 'email': 'cindyvelez@comtours.com',\r\n 'age': 24,\r\n }, {\r\n 'id': 23,\r\n 'firstName': 'Frieda',\r\n 'lastName': 'Tyson',\r\n 'username': '@Craig',\r\n 'email': 'friedacraig@comtours.com',\r\n 'age': 45,\r\n }, {\r\n 'id': 24,\r\n 'firstName': 'Cote',\r\n 'lastName': 'Holcomb',\r\n 'username': '@Rowe',\r\n 'email': 'coterowe@comtours.com',\r\n 'age': 20,\r\n }, {\r\n 'id': 25,\r\n 'firstName': 'Trujillo',\r\n 'lastName': 'Mejia',\r\n 'username': '@Valenzuela',\r\n 'email': 'trujillovalenzuela@comtours.com',\r\n 'age': 16,\r\n }, {\r\n 'id': 26,\r\n 'firstName': 'Pruitt',\r\n 'lastName': 'Shepard',\r\n 'username': '@Sloan',\r\n 'email': 'pruittsloan@comtours.com',\r\n 'age': 44,\r\n }, {\r\n 'id': 27,\r\n 'firstName': 'Sutton',\r\n 'lastName': 'Ortega',\r\n 'username': '@Black',\r\n 'email': 'suttonblack@comtours.com',\r\n 'age': 42,\r\n }, {\r\n 'id': 28,\r\n 'firstName': 'Marion',\r\n 'lastName': 'Heath',\r\n 'username': '@Espinoza',\r\n 'email': 'marionespinoza@comtours.com',\r\n 'age': 47,\r\n }, {\r\n 'id': 29,\r\n 'firstName': 'Newman',\r\n 'lastName': 'Hicks',\r\n 'username': '@Keith',\r\n 'email': 'newmankeith@comtours.com',\r\n 'age': 15,\r\n }, {\r\n 'id': 30,\r\n 'firstName': 'Boyle',\r\n 'lastName': 'Larson',\r\n 'username': '@Summers',\r\n 'email': 'boylesummers@comtours.com',\r\n 'age': 32,\r\n }, {\r\n 'id': 31,\r\n 'firstName': 'Haynes',\r\n 'lastName': 'Vinson',\r\n 'username': '@Mckenzie',\r\n 'email': 'haynesmckenzie@comtours.com',\r\n 'age': 15,\r\n }, {\r\n 'id': 32,\r\n 'firstName': 'Miller',\r\n 'lastName': 'Acosta',\r\n 'username': '@Young',\r\n 'email': 'milleryoung@comtours.com',\r\n 'age': 55,\r\n }, {\r\n 'id': 33,\r\n 'firstName': 'Johnston',\r\n 'lastName': 'Brown',\r\n 'username': '@Knight',\r\n 'email': 'johnstonknight@comtours.com',\r\n 'age': 29,\r\n }, {\r\n 'id': 34,\r\n 'firstName': 'Lena',\r\n 'lastName': 'Pitts',\r\n 'username': '@Forbes',\r\n 'email': 'lenaforbes@comtours.com',\r\n 'age': 25,\r\n }, {\r\n 'id': 35,\r\n 'firstName': 'Terrie',\r\n 'lastName': 'Kennedy',\r\n 'username': '@Branch',\r\n 'email': 'terriebranch@comtours.com',\r\n 'age': 37,\r\n }, {\r\n 'id': 36,\r\n 'firstName': 'Louise',\r\n 'lastName': 'Aguirre',\r\n 'username': '@Kirby',\r\n 'email': 'louisekirby@comtours.com',\r\n 'age': 44,\r\n }, {\r\n 'id': 37,\r\n 'firstName': 'David',\r\n 'lastName': 'Patton',\r\n 'username': '@Sanders',\r\n 'email': 'davidsanders@comtours.com',\r\n 'age': 26,\r\n }, {\r\n 'id': 38,\r\n 'firstName': 'Holden',\r\n 'lastName': 'Barlow',\r\n 'username': '@Mckinney',\r\n 'email': 'holdenmckinney@comtours.com',\r\n 'age': 11,\r\n }, {\r\n 'id': 39,\r\n 'firstName': 'Baker',\r\n 'lastName': 'Rivera',\r\n 'username': '@Montoya',\r\n 'email': 'bakermontoya@comtours.com',\r\n 'age': 47,\r\n }, {\r\n 'id': 40,\r\n 'firstName': 'Belinda',\r\n 'lastName': 'Lloyd',\r\n 'username': '@Calderon',\r\n 'email': 'belindacalderon@comtours.com',\r\n 'age': 21,\r\n }, {\r\n 'id': 41,\r\n 'firstName': 'Pearson',\r\n 'lastName': 'Patrick',\r\n 'username': '@Clements',\r\n 'email': 'pearsonclements@comtours.com',\r\n 'age': 42,\r\n }, {\r\n 'id': 42,\r\n 'firstName': 'Alyce',\r\n 'lastName': 'Mckee',\r\n 'username': '@Daugherty',\r\n 'email': 'alycedaugherty@comtours.com',\r\n 'age': 55,\r\n }, {\r\n 'id': 43,\r\n 'firstName': 'Valencia',\r\n 'lastName': 'Spence',\r\n 'username': '@Olsen',\r\n 'email': 'valenciaolsen@comtours.com',\r\n 'age': 20,\r\n }, {\r\n 'id': 44,\r\n 'firstName': 'Leach',\r\n 'lastName': 'Holcomb',\r\n 'username': '@Humphrey',\r\n 'email': 'leachhumphrey@comtours.com',\r\n 'age': 28,\r\n }, {\r\n 'id': 45,\r\n 'firstName': 'Moss',\r\n 'lastName': 'Baxter',\r\n 'username': '@Fitzpatrick',\r\n 'email': 'mossfitzpatrick@comtours.com',\r\n 'age': 51,\r\n }, {\r\n 'id': 46,\r\n 'firstName': 'Jeanne',\r\n 'lastName': 'Cooke',\r\n 'username': '@Ward',\r\n 'email': 'jeanneward@comtours.com',\r\n 'age': 59,\r\n }, {\r\n 'id': 47,\r\n 'firstName': 'Wilma',\r\n 'lastName': 'Briggs',\r\n 'username': '@Kidd',\r\n 'email': 'wilmakidd@comtours.com',\r\n 'age': 53,\r\n }, {\r\n 'id': 48,\r\n 'firstName': 'Beatrice',\r\n 'lastName': 'Perry',\r\n 'username': '@Gilbert',\r\n 'email': 'beatricegilbert@comtours.com',\r\n 'age': 39,\r\n }, {\r\n 'id': 49,\r\n 'firstName': 'Whitaker',\r\n 'lastName': 'Hyde',\r\n 'username': '@Mcdonald',\r\n 'email': 'whitakermcdonald@comtours.com',\r\n 'age': 35,\r\n }, {\r\n 'id': 50,\r\n 'firstName': 'Rebekah',\r\n 'lastName': 'Duran',\r\n 'username': '@Gross',\r\n 'email': 'rebekahgross@comtours.com',\r\n 'age': 40,\r\n }, {\r\n 'id': 51,\r\n 'firstName': 'Earline',\r\n 'lastName': 'Mayer',\r\n 'username': '@Woodward',\r\n 'email': 'earlinewoodward@comtours.com',\r\n 'age': 52,\r\n }, {\r\n 'id': 52,\r\n 'firstName': 'Moran',\r\n 'lastName': 'Baxter',\r\n 'username': '@Johns',\r\n 'email': 'moranjohns@comtours.com',\r\n 'age': 20,\r\n }, {\r\n 'id': 53,\r\n 'firstName': 'Nanette',\r\n 'lastName': 'Hubbard',\r\n 'username': '@Cooke',\r\n 'email': 'nanettecooke@comtours.com',\r\n 'age': 55,\r\n }, {\r\n 'id': 54,\r\n 'firstName': 'Dalton',\r\n 'lastName': 'Walker',\r\n 'username': '@Hendricks',\r\n 'email': 'daltonhendricks@comtours.com',\r\n 'age': 25,\r\n }, {\r\n 'id': 55,\r\n 'firstName': 'Bennett',\r\n 'lastName': 'Blake',\r\n 'username': '@Pena',\r\n 'email': 'bennettpena@comtours.com',\r\n 'age': 13,\r\n }, {\r\n 'id': 56,\r\n 'firstName': 'Kellie',\r\n 'lastName': 'Horton',\r\n 'username': '@Weiss',\r\n 'email': 'kellieweiss@comtours.com',\r\n 'age': 48,\r\n }, {\r\n 'id': 57,\r\n 'firstName': 'Hobbs',\r\n 'lastName': 'Talley',\r\n 'username': '@Sanford',\r\n 'email': 'hobbssanford@comtours.com',\r\n 'age': 28,\r\n }, {\r\n 'id': 58,\r\n 'firstName': 'Mcguire',\r\n 'lastName': 'Donaldson',\r\n 'username': '@Roman',\r\n 'email': 'mcguireroman@comtours.com',\r\n 'age': 38,\r\n }, {\r\n 'id': 59,\r\n 'firstName': 'Rodriquez',\r\n 'lastName': 'Saunders',\r\n 'username': '@Harper',\r\n 'email': 'rodriquezharper@comtours.com',\r\n 'age': 20,\r\n }, {\r\n 'id': 60,\r\n 'firstName': 'Lou',\r\n 'lastName': 'Conner',\r\n 'username': '@Sanchez',\r\n 'email': 'lousanchez@comtours.com',\r\n 'age': 16,\r\n }];\r\n\r\n getData() {\r\n return this.data;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { of as observableOf, Observable } from 'rxjs';\r\nimport { SolarData } from '../data/solar';\r\n\r\n@Injectable()\r\nexport class SolarService extends SolarData {\r\n private value = 42;\r\n\r\n getSolarData(): Observable {\r\n return observableOf(this.value);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { of as observableOf, Observable } from 'rxjs';\r\nimport { StatsBarData } from '../data/stats-bar';\r\n\r\n@Injectable()\r\nexport class StatsBarService extends StatsBarData {\r\n\r\n private statsBarData: number[] = [\r\n 300, 520, 435, 530,\r\n 730, 620, 660, 860,\r\n ];\r\n\r\n getStatsBarData(): Observable {\r\n return observableOf(this.statsBarData);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { of as observableOf, Observable } from 'rxjs';\r\nimport { ProgressInfo, StatsProgressBarData } from '../data/stats-progress-bar';\r\n\r\n@Injectable()\r\nexport class StatsProgressBarService extends StatsProgressBarData {\r\n private progressInfoData: ProgressInfo[] = [\r\n {\r\n title: 'Today’s Profit',\r\n value: 572900,\r\n activeProgress: 70,\r\n description: 'Better than last week (70%)',\r\n },\r\n {\r\n title: 'New Orders',\r\n value: 6378,\r\n activeProgress: 30,\r\n description: 'Better than last week (30%)',\r\n },\r\n {\r\n title: 'New Comments',\r\n value: 200,\r\n activeProgress: 55,\r\n description: 'Better than last week (55%)',\r\n },\r\n ];\r\n\r\n getProgressInfoData(): Observable {\r\n return observableOf(this.progressInfoData);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { of as observableOf, Observable } from 'rxjs';\r\nimport { TemperatureHumidityData, Temperature } from '../data/temperature-humidity';\r\n\r\n@Injectable()\r\nexport class TemperatureHumidityService extends TemperatureHumidityData {\r\n\r\n private temperatureDate: Temperature = {\r\n value: 24,\r\n min: 12,\r\n max: 30,\r\n };\r\n\r\n private humidityDate: Temperature = {\r\n value: 87,\r\n min: 0,\r\n max: 100,\r\n };\r\n\r\n getTemperatureData(): Observable {\r\n return observableOf(this.temperatureDate);\r\n }\r\n\r\n getHumidityData(): Observable {\r\n return observableOf(this.humidityDate);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { of as observableOf, Observable } from 'rxjs';\r\nimport { PeriodsService } from './periods.service';\r\nimport { TrafficBarData, TrafficBar } from '../data/traffic-bar';\r\n\r\n@Injectable()\r\nexport class TrafficBarService extends TrafficBarData {\r\n\r\n private data = { };\r\n\r\n constructor(private period: PeriodsService) {\r\n super();\r\n this.data = {\r\n week: this.getDataForWeekPeriod(),\r\n month: this.getDataForMonthPeriod(),\r\n year: this.getDataForYearPeriod(),\r\n };\r\n }\r\n\r\n getDataForWeekPeriod(): TrafficBar {\r\n return {\r\n data: [10, 15, 19, 7, 20, 13, 15],\r\n labels: this.period.getWeeks(),\r\n formatter: '{c0} MB',\r\n };\r\n }\r\n\r\n getDataForMonthPeriod(): TrafficBar {\r\n return {\r\n data: [0.5, 0.3, 0.8, 0.2, 0.3, 0.7, 0.8, 1, 0.7, 0.8, 0.6, 0.7],\r\n labels: this.period.getMonths(),\r\n formatter: '{c0} GB',\r\n };\r\n }\r\n\r\n getDataForYearPeriod(): TrafficBar {\r\n return {\r\n data: [10, 15, 19, 7, 20, 13, 15, 19, 11],\r\n labels: this.period.getYears(),\r\n formatter: '{c0} GB',\r\n };\r\n }\r\n\r\n getTrafficBarData(period: string): Observable {\r\n return observableOf(this.data[period]);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { of as observableOf, Observable } from 'rxjs';\r\nimport { TrafficChartData } from '../data/traffic-chart';\r\n\r\n@Injectable()\r\nexport class TrafficChartService extends TrafficChartData {\r\n\r\n private data: number[] = [\r\n 300, 520, 435, 530,\r\n 730, 620, 660, 860,\r\n ];\r\n\r\n getTrafficChartData(): Observable {\r\n return observableOf(this.data);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { of as observableOf, Observable } from 'rxjs';\r\nimport { PeriodsService } from './periods.service';\r\nimport { TrafficList, TrafficListData } from '../data/traffic-list';\r\n\r\n@Injectable()\r\nexport class TrafficListService extends TrafficListData {\r\n\r\n private getRandom = (roundTo: number) => Math.round(Math.random() * roundTo);\r\n private data = {};\r\n\r\n constructor(private period: PeriodsService) {\r\n super();\r\n this.data = {\r\n week: this.getDataWeek(),\r\n month: this.getDataMonth(),\r\n year: this.getDataYear(),\r\n };\r\n }\r\n\r\n private getDataWeek(): TrafficList[] {\r\n const getFirstDateInPeriod = () => {\r\n const weeks = this.period.getWeeks();\r\n\r\n return weeks[weeks.length - 1];\r\n };\r\n\r\n return this.reduceData(this.period.getWeeks(), getFirstDateInPeriod);\r\n }\r\n\r\n private getDataMonth(): TrafficList[] {\r\n const getFirstDateInPeriod = () => {\r\n const months = this.period.getMonths();\r\n\r\n return months[months.length - 1];\r\n };\r\n\r\n return this.reduceData(this.period.getMonths(), getFirstDateInPeriod);\r\n }\r\n\r\n private getDataYear(): TrafficList[] {\r\n const getFirstDateInPeriod = () => {\r\n const years = this.period.getYears();\r\n\r\n return `${parseInt(years[0], 10) - 1}`;\r\n };\r\n\r\n return this.reduceData(this.period.getYears(), getFirstDateInPeriod);\r\n }\r\n\r\n private reduceData(timePeriods: string[], getFirstDateInPeriod: () => string): TrafficList[] {\r\n return timePeriods.reduce((result, timePeriod, index) => {\r\n const hasResult = result[index - 1];\r\n const prevDate = hasResult ?\r\n result[index - 1].comparison.nextDate :\r\n getFirstDateInPeriod();\r\n const prevValue = hasResult ?\r\n result[index - 1].comparison.nextValue :\r\n this.getRandom(100);\r\n const nextValue = this.getRandom(100);\r\n const deltaValue = prevValue - nextValue;\r\n\r\n const item = {\r\n date: timePeriod,\r\n value: this.getRandom(1000),\r\n delta: {\r\n up: deltaValue <= 0,\r\n value: Math.abs(deltaValue),\r\n },\r\n comparison: {\r\n prevDate,\r\n prevValue,\r\n nextDate: timePeriod,\r\n nextValue,\r\n },\r\n };\r\n\r\n return [...result, item];\r\n }, []);\r\n }\r\n\r\n getTrafficListData(period: string): Observable {\r\n return observableOf(this.data[period]);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { of as observableOf, Observable } from 'rxjs';\r\nimport { PeriodsService } from './periods.service';\r\nimport { UserActive, UserActivityData } from '../data/user-activity';\r\n\r\n@Injectable()\r\nexport class UserActivityService extends UserActivityData {\r\n\r\n private getRandom = (roundTo: number) => Math.round(Math.random() * roundTo);\r\n private generateUserActivityRandomData(date) {\r\n return {\r\n date,\r\n pagesVisitCount: this.getRandom(1000),\r\n deltaUp: this.getRandom(1) % 2 === 0,\r\n newVisits: this.getRandom(100),\r\n };\r\n }\r\n\r\n data = {};\r\n\r\n constructor(private periods: PeriodsService) {\r\n super();\r\n this.data = {\r\n week: this.getDataWeek(),\r\n month: this.getDataMonth(),\r\n year: this.getDataYear(),\r\n };\r\n }\r\n\r\n private getDataWeek(): UserActive[] {\r\n return this.periods.getWeeks().map((week) => {\r\n return this.generateUserActivityRandomData(week);\r\n });\r\n }\r\n\r\n private getDataMonth(): UserActive[] {\r\n const currentDate = new Date();\r\n const days = currentDate.getDate();\r\n const month = this.periods.getMonths()[currentDate.getMonth()];\r\n\r\n return Array.from(Array(days)).map((_, index) => {\r\n const date = `${index + 1} ${month}`;\r\n\r\n return this.generateUserActivityRandomData(date);\r\n });\r\n }\r\n\r\n private getDataYear(): UserActive[] {\r\n return this.periods.getYears().map((year) => {\r\n return this.generateUserActivityRandomData(year);\r\n });\r\n }\r\n\r\n getUserActivityData(period: string): Observable {\r\n return observableOf(this.data[period]);\r\n }\r\n}\r\n","import { of as observableOf, Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { Contacts, RecentUsers, UserData } from '../data/users';\r\n\r\n@Injectable()\r\nexport class UserService extends UserData {\r\n\r\n private time: Date = new Date;\r\n\r\n private users = {\r\n nick: { name: 'Nick Jones', picture: 'assets/images/nick.png' },\r\n eva: { name: 'Eva Moor', picture: 'assets/images/eva.png' },\r\n jack: { name: 'Jack Williams', picture: 'assets/images/jack.png' },\r\n lee: { name: 'Lee Wong', picture: 'assets/images/lee.png' },\r\n alan: { name: 'Alan Thompson', picture: 'assets/images/alan.png' },\r\n kate: { name: 'Kate Martinez', picture: 'assets/images/kate.png' },\r\n };\r\n private types = {\r\n mobile: 'mobile',\r\n home: 'home',\r\n work: 'work',\r\n };\r\n private contacts: Contacts[] = [\r\n { user: this.users.nick, type: this.types.mobile },\r\n { user: this.users.eva, type: this.types.home },\r\n { user: this.users.jack, type: this.types.mobile },\r\n { user: this.users.lee, type: this.types.mobile },\r\n { user: this.users.alan, type: this.types.home },\r\n { user: this.users.kate, type: this.types.work },\r\n ];\r\n private recentUsers: RecentUsers[] = [\r\n { user: this.users.alan, type: this.types.home, time: this.time.setHours(21, 12)},\r\n { user: this.users.eva, type: this.types.home, time: this.time.setHours(17, 45)},\r\n { user: this.users.nick, type: this.types.mobile, time: this.time.setHours(5, 29)},\r\n { user: this.users.lee, type: this.types.mobile, time: this.time.setHours(11, 24)},\r\n { user: this.users.jack, type: this.types.mobile, time: this.time.setHours(10, 45)},\r\n { user: this.users.kate, type: this.types.work, time: this.time.setHours(9, 42)},\r\n { user: this.users.kate, type: this.types.work, time: this.time.setHours(9, 31)},\r\n { user: this.users.jack, type: this.types.mobile, time: this.time.setHours(8, 0)},\r\n ];\r\n\r\n getUsers(): Observable {\r\n return observableOf(this.users);\r\n }\r\n\r\n getContacts(): Observable {\r\n return observableOf(this.contacts);\r\n }\r\n\r\n getRecentUsers(): Observable {\r\n return observableOf(this.recentUsers);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { of as observableOf, Observable } from 'rxjs';\r\nimport { PeriodsService } from './periods.service';\r\nimport { OutlineData, VisitorsAnalyticsData } from '../data/visitors-analytics';\r\n\r\n@Injectable()\r\nexport class VisitorsAnalyticsService extends VisitorsAnalyticsData {\r\n\r\n constructor(private periodService: PeriodsService) {\r\n super();\r\n }\r\n\r\n private pieChartValue = 75;\r\n private innerLinePoints: number[] = [\r\n 94, 188, 225, 244, 253, 254, 249, 235, 208,\r\n 173, 141, 118, 105, 97, 94, 96, 104, 121, 147,\r\n 183, 224, 265, 302, 333, 358, 375, 388, 395,\r\n 400, 400, 397, 390, 377, 360, 338, 310, 278,\r\n 241, 204, 166, 130, 98, 71, 49, 32, 20, 13, 9,\r\n ];\r\n private outerLinePoints: number[] = [\r\n 85, 71, 59, 50, 45, 42, 41, 44 , 58, 88,\r\n 136 , 199, 267, 326, 367, 391, 400, 397,\r\n 376, 319, 200, 104, 60, 41, 36, 37, 44,\r\n 55, 74, 100 , 131, 159, 180, 193, 199, 200,\r\n 195, 184, 164, 135, 103, 73, 50, 33, 22, 15, 11,\r\n ];\r\n private generateOutlineLineData(): OutlineData[] {\r\n const months = this.periodService.getMonths();\r\n const outerLinePointsLength = this.outerLinePoints.length;\r\n const monthsLength = months.length;\r\n\r\n return this.outerLinePoints.map((p, index) => {\r\n const monthIndex = Math.round(index / 4);\r\n const label = (index % Math.round(outerLinePointsLength / monthsLength) === 0)\r\n ? months[monthIndex]\r\n : '';\r\n\r\n return {\r\n label,\r\n value: p,\r\n };\r\n });\r\n }\r\n\r\n getInnerLineChartData(): Observable {\r\n return observableOf(this.innerLinePoints);\r\n }\r\n\r\n getOutlineLineChartData(): Observable {\r\n return observableOf(this.generateOutlineLineData());\r\n }\r\n\r\n getPieChartData(): Observable {\r\n return observableOf(this.pieChartValue);\r\n }\r\n}\r\n","export function throwIfAlreadyLoaded(parentModule: any, moduleName: string) {\r\n if (parentModule) {\r\n throw new Error(`${moduleName} has already been loaded. Import Core modules in the AppModule only.`);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\nimport { filter } from 'rxjs/operators';\r\n\r\ndeclare const ga: any;\r\n\r\n@Injectable()\r\nexport class AnalyticsService {\r\n private enabled: boolean;\r\n\r\n constructor(private location: Location, private router: Router) {\r\n this.enabled = false;\r\n }\r\n\r\n trackPageViews() {\r\n if (this.enabled) {\r\n this.router.events.pipe(\r\n filter((event) => event instanceof NavigationEnd),\r\n )\r\n .subscribe(() => {\r\n ga('send', {hitType: 'pageview', page: this.location.path()});\r\n });\r\n }\r\n }\r\n\r\n trackEvent(eventName: string) {\r\n if (this.enabled) {\r\n ga('send', 'event', eventName);\r\n }\r\n }\r\n}\r\n","import { LayoutService } from './layout.service';\r\nimport { AnalyticsService } from './analytics.service';\r\nimport { PlayerService } from './player.service';\r\nimport { StateService } from './state.service';\r\nimport { SeoService } from './seo.service';\r\n\r\nexport {\r\n LayoutService,\r\n AnalyticsService,\r\n PlayerService,\r\n SeoService,\r\n StateService,\r\n};\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { delay, shareReplay, debounceTime } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class LayoutService {\r\n\r\n protected layoutSize$ = new Subject();\r\n protected layoutSizeChange$ = this.layoutSize$.pipe(\r\n shareReplay({ refCount: true }),\r\n );\r\n\r\n changeLayoutSize() {\r\n this.layoutSize$.next();\r\n }\r\n\r\n onChangeLayoutSize(): Observable {\r\n return this.layoutSizeChange$.pipe(delay(1));\r\n }\r\n\r\n onSafeChangeLayoutSize(): Observable {\r\n return this.layoutSizeChange$.pipe(\r\n debounceTime(350),\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nexport class Track {\r\n name: string;\r\n artist: string;\r\n url: string;\r\n cover: string;\r\n}\r\n\r\n@Injectable()\r\nexport class PlayerService {\r\n current: number;\r\n playlist: Track[] = [\r\n {\r\n name: 'Don\\'t Wanna Fight',\r\n artist: 'Alabama Shakes',\r\n url: 'https://p.scdn.co/mp3-preview/6156cdbca425a894972c02fca9d76c0b70e001af',\r\n cover: 'assets/images/cover1.jpg',\r\n },\r\n {\r\n name: 'Harder',\r\n artist: 'Daft Punk',\r\n url: 'https://p.scdn.co/mp3-preview/92a04c7c0e96bf93a1b1b1cae7dfff1921969a7b',\r\n cover: 'assets/images/cover2.jpg',\r\n },\r\n {\r\n name: 'Come Together',\r\n artist: 'Beatles',\r\n url: 'https://p.scdn.co/mp3-preview/83090a4db6899eaca689ae35f69126dbe65d94c9',\r\n cover: 'assets/images/cover3.jpg',\r\n },\r\n ];\r\n\r\n random(): Track {\r\n this.current = Math.floor(Math.random() * this.playlist.length);\r\n return this.playlist[this.current];\r\n }\r\n\r\n next(): Track {\r\n return this.getNextTrack();\r\n }\r\n\r\n prev() {\r\n return this.getPrevTrack();\r\n }\r\n\r\n private getNextTrack(): Track {\r\n if (this.current === this.playlist.length - 1) {\r\n this.current = 0;\r\n } else {\r\n this.current++;\r\n }\r\n\r\n return this.playlist[this.current];\r\n }\r\n\r\n private getPrevTrack(): Track {\r\n if (this.current === 0) {\r\n this.current = this.playlist.length - 1;\r\n } else {\r\n this.current--;\r\n }\r\n\r\n return this.playlist[this.current];\r\n }\r\n}\r\n","import { Injectable, Inject, PLATFORM_ID, OnDestroy } from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { NB_DOCUMENT } from '@nebular/theme';\r\nimport { filter, takeUntil } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class SeoService implements OnDestroy {\r\n\r\n private readonly destroy$ = new Subject();\r\n private readonly dom: Document;\r\n private readonly isBrowser: boolean;\r\n private linkCanonical: HTMLLinkElement;\r\n\r\n constructor(\r\n private router: Router,\r\n @Inject(NB_DOCUMENT) document,\r\n @Inject(PLATFORM_ID) platformId,\r\n ) {\r\n this.isBrowser = isPlatformBrowser(platformId);\r\n this.dom = document;\r\n\r\n if (this.isBrowser) {\r\n this.createCanonicalTag();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n createCanonicalTag() {\r\n this.linkCanonical = this.dom.createElement('link');\r\n this.linkCanonical.setAttribute('rel', 'canonical');\r\n this.dom.head.appendChild(this.linkCanonical);\r\n this.linkCanonical.setAttribute('href', this.getCanonicalUrl());\r\n }\r\n\r\n trackCanonicalChanges() {\r\n if (!this.isBrowser) {\r\n return;\r\n }\r\n\r\n this.router.events.pipe(\r\n filter((event) => event instanceof NavigationEnd),\r\n takeUntil(this.destroy$),\r\n )\r\n .subscribe(() => {\r\n this.linkCanonical.setAttribute('href', this.getCanonicalUrl());\r\n });\r\n }\r\n\r\n private getCanonicalUrl(): string {\r\n return this.dom.location.origin + this.dom.location.pathname;\r\n }\r\n}\r\n","import { Injectable, OnDestroy } from '@angular/core';\r\nimport { of as observableOf, Observable, BehaviorSubject } from 'rxjs';\r\nimport { takeWhile } from 'rxjs/operators';\r\n\r\nimport { NbLayoutDirectionService, NbLayoutDirection } from '@nebular/theme';\r\n\r\n@Injectable()\r\nexport class StateService implements OnDestroy {\r\n\r\n protected layouts: any = [\r\n {\r\n name: 'One Column',\r\n icon: 'nb-layout-default',\r\n id: 'one-column',\r\n selected: true,\r\n },\r\n {\r\n name: 'Two Column',\r\n icon: 'nb-layout-two-column',\r\n id: 'two-column',\r\n },\r\n {\r\n name: 'Center Column',\r\n icon: 'nb-layout-centre',\r\n id: 'center-column',\r\n },\r\n ];\r\n\r\n protected sidebars: any = [\r\n {\r\n name: 'Sidebar at layout start',\r\n icon: 'nb-layout-sidebar-left',\r\n id: 'start',\r\n selected: true,\r\n },\r\n {\r\n name: 'Sidebar at layout end',\r\n icon: 'nb-layout-sidebar-right',\r\n id: 'end',\r\n },\r\n ];\r\n\r\n protected layoutState$ = new BehaviorSubject(this.layouts[0]);\r\n protected sidebarState$ = new BehaviorSubject(this.sidebars[0]);\r\n\r\n alive = true;\r\n\r\n constructor(directionService: NbLayoutDirectionService) {\r\n directionService.onDirectionChange()\r\n .pipe(takeWhile(() => this.alive))\r\n .subscribe(direction => this.updateSidebarIcons(direction));\r\n\r\n this.updateSidebarIcons(directionService.getDirection());\r\n }\r\n\r\n ngOnDestroy() {\r\n this.alive = false;\r\n }\r\n\r\n private updateSidebarIcons(direction: NbLayoutDirection) {\r\n const [ startSidebar, endSidebar ] = this.sidebars;\r\n const isLtr = direction === NbLayoutDirection.LTR;\r\n const startIconClass = isLtr ? 'nb-layout-sidebar-left' : 'nb-layout-sidebar-right';\r\n const endIconClass = isLtr ? 'nb-layout-sidebar-right' : 'nb-layout-sidebar-left';\r\n startSidebar.icon = startIconClass;\r\n endSidebar.icon = endIconClass;\r\n }\r\n\r\n setLayoutState(state: any): any {\r\n this.layoutState$.next(state);\r\n }\r\n\r\n getLayoutStates(): Observable {\r\n return observableOf(this.layouts);\r\n }\r\n\r\n onLayoutState(): Observable {\r\n return this.layoutState$.asObservable();\r\n }\r\n\r\n setSidebarState(state: any): any {\r\n this.sidebarState$.next(state);\r\n }\r\n\r\n getSidebarStates(): Observable {\r\n return observableOf(this.sidebars);\r\n }\r\n\r\n onSidebarState(): Observable {\r\n return this.sidebarState$.asObservable();\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-footer',\r\n styleUrls: ['./footer.component.scss'],\r\n template: `\r\n \r\n © 優果科技股份有限公司版權所有,轉載、編輯必究\r\n Copyright © 2024 YOUGUO Technology Co., Ltd. All Right Reserved\r\n \r\n `,\r\n})\r\nexport class FooterComponent {\r\n}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { NbMediaBreakpointsService, NbMenuService, NbSidebarService, NbThemeService } from '@nebular/theme';\r\n\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { UserData } from '../../../@core/data/users';\r\nimport { LayoutService } from '../../../@core/utils';\r\nimport { map, takeUntil } from 'rxjs/operators';\r\n\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MyMenuService } from '../../../tool/service/menu.service';\r\n\r\nimport { HomeComponent } from '../../../main/sys/home/home.component';\r\n\r\nimport { SubscriptService } from '../../../tool/service/header.service';\r\nimport { Subject, Observable } from 'rxjs';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'ngx-header',\r\n styleUrls: ['./header.component.scss'],\r\n templateUrl: './header.component.html',\r\n})\r\nexport class HeaderComponent implements OnInit, OnDestroy {\r\n\r\n private destroy$: Subject = new Subject();\r\n userPictureOnly: boolean = false;\r\n user: any;\r\n\r\n themes = [\r\n {\r\n value: 'default',\r\n name: 'Light',\r\n },\r\n {\r\n value: 'dark',\r\n name: 'Dark',\r\n },\r\n {\r\n value: 'cosmic',\r\n name: 'Cosmic',\r\n },\r\n {\r\n value: 'corporate',\r\n name: 'Corporate',\r\n },\r\n ];\r\n\r\n currentTheme = 'default';\r\n\r\n userMenu = [{ title: '登出' }];\r\n\r\n //基本資料\r\n USR_AccountInfo_ID: string;\r\n USR_EmployeeInfo_ID: string;\r\n ORG_Company_ID: number;\r\n ORG_Store_ID: number;\r\n CompanyName:string;\r\n authChangeSub:any;\r\n USR_POSEmployeeInfo_ID: string;\r\n //查詢的門市\r\n storeSelectList: selectData[];\r\n selectORG_Store_ID: number;\r\n menuSub : any\r\n\r\n constructor(\r\n private sidebarService: NbSidebarService,\r\n private menuService: NbMenuService,\r\n private themeService: NbThemeService,\r\n private userService: UserData,\r\n private layoutService: LayoutService,\r\n private cookieService: CookieService,\r\n private _router: Router,\r\n private breakpointService: NbMediaBreakpointsService,\r\n private http: HttpClient,\r\n private ms: MyMenuService,\r\n private hs: SubscriptService,\r\n private home: HomeComponent) {\r\n\r\n \r\n\r\n console.log(\"註冊大菜單\")\r\n this.menuSub = menuService.onItemClick().subscribe((event) => {\r\n console.log(event);\r\n if (event.item.title == \"登出\") {\r\n this.ms.logout();\r\n }\r\n \r\n });\r\n\r\n console.log('已訂閱 content AuthUpdata$') \r\n this.hs.AuthUpdata$.subscribe(val => {\r\n console.log('hs 已收到content變動',val)\r\n this.getStoreList()\r\n });\r\n \r\n }\r\n\r\n\r\n ngOnInit() {\r\n \r\n \r\n\r\n\r\n this.USR_POSEmployeeInfo_ID = this.cookieService.get('USR_POSEmployeeInfo_ID');\r\n this.USR_AccountInfo_ID = this.cookieService.get('USR_AccountInfo_ID') ? \r\n \"USR_AccountInfo_ID_\"+this.cookieService.get('USR_AccountInfo_ID') :\r\n this.cookieService.get('USR_POSEmployeeInfo_ID') ? \r\n \"USR_POSEmployeeInfo_ID\"+this.cookieService.get('USR_POSEmployeeInfo_ID') : null\r\n \r\n this.USR_EmployeeInfo_ID = this.cookieService.get('USR_EmployeeInfo_ID');\r\n this.ORG_Company_ID = parseInt(this.cookieService.get('ORG_Company_ID'));\r\n let cookie_sid = this.cookieService.get('ORG_Store_ID')\r\n this.ORG_Store_ID = (cookie_sid && cookie_sid != '') ? parseInt(cookie_sid) : null\r\n\r\n\r\n\r\n\r\n this.currentTheme = this.themeService.currentTheme;\r\n // this.userService.getUsers()\r\n // .pipe(takeUntil(this.destroy$))\r\n // .subscribe((users: any) => this.user = users.nick);\r\n\r\n this.user = new Object();\r\n this.user.name = this.cookieService.get('NickName');\r\n this.user.picture = this.cookieService.get('PhotoURL');\r\n this.CompanyName = this.cookieService.get('CompanyName'); \r\n\r\n const { xl } = this.breakpointService.getBreakpointsMap();\r\n this.themeService.onMediaQueryChange()\r\n .pipe(\r\n map(([, currentBreakpoint]) => currentBreakpoint.width < xl),\r\n takeUntil(this.destroy$),\r\n )\r\n .subscribe((isLessThanXl: boolean) => this.userPictureOnly = isLessThanXl);\r\n\r\n this.themeService.onThemeChange()\r\n .pipe(\r\n map(({ name }) => name),\r\n takeUntil(this.destroy$),\r\n )\r\n .subscribe(themeName => this.currentTheme = themeName);\r\n\r\n\r\n if (this.USR_AccountInfo_ID != null) {\r\n this.getStoreList();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n if (this.menuSub) {\r\n this.menuSub.unsubscribe();\r\n }\r\n\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n \r\n //開關左邊欄\r\n toggleSidebar(): boolean {\r\n \r\n this.sidebarService.toggle(true, 'menu-sidebar');\r\n this.layoutService.changeLayoutSize();\r\n\r\n return false;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n upSelect: boolean = false;\r\n //取得門市清單\r\n getStoreList() {//取得門市清單 USP_YOPOSWebGetStoreList\r\n\r\n console.log('hs 更新門市清單')\r\n\r\n\r\n this.http.post('api/ORGStore/StoreList', {\r\n USR_AccountInfo_ID: this.USR_AccountInfo_ID ? this.USR_AccountInfo_ID : 'empty',\r\n USR_EmployeeInfo_ID: this.USR_EmployeeInfo_ID,\r\n ORG_Company_ID: this.ORG_Company_ID,\r\n USR_POSEmployeeInfo_ID: this.USR_POSEmployeeInfo_ID,\r\n }).subscribe({\r\n next: data => {\r\n this.storeSelectList = [];\r\n data.LIST.forEach(element => {\r\n //門市共用下拉選單\r\n var selectItem = new selectData();\r\n selectItem.value = element.ORG_Store_ID;\r\n selectItem.content = element.StoreName;\r\n this.storeSelectList.push(selectItem);\r\n });\r\n\r\n // 預設點第一個\r\n if (this.storeSelectList.length > 0) {\r\n let obj = this.storeSelectList.find(x=>x.value == this.ORG_Store_ID )\r\n if(obj) {\r\n this.selectORG_Store_ID = obj.value\r\n this.selectStoreChange(obj.value)\r\n } \r\n else{\r\n this.selectORG_Store_ID = this.storeSelectList[0].value\r\n this.selectStoreChange(this.storeSelectList[0].value)\r\n }\r\n \r\n }\r\n this.upSelect = !this.upSelect\r\n\r\n\r\n\r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n }\r\n });\r\n\r\n }\r\n //選擇門市\r\n selectStoreChange(event) {\r\n\r\n \r\n \r\n this.cookieService.set('ORG_Store_ID', event,1,'/');\r\n this.selectORG_Store_ID = event\r\n this.ORG_Store_ID = event\r\n\r\n console.log('hs變更了內容!')\r\n this.hs.AuthChangeSubject.next(event)\r\n \r\n\r\n this.ms.getMenu()\r\n this.home.GetContractRd();\r\n }\r\n\r\n\r\n\r\n\r\n\r\n // changeTheme(themeName: string) {\r\n // this.themeService.changeTheme(themeName);\r\n // }\r\n\r\n // navigateHome() {\r\n // this.menuService.navigateHome();\r\n // return false;\r\n // }\r\n\r\n\r\n\r\n}\r\n\r\n\r\nclass selectData {\r\n value: number;//\r\n content: string;//\r\n\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n {{CompanyName}}\r\n \r\n \r\n {{ theme.content }}\r\n \r\n \r\n {{ theme.content }}\r\n \r\n\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
","export * from './header/header.component';\r\nexport * from './footer/footer.component';\r\nexport * from './search-input/search-input.component';\r\nexport * from './tiny-mce/tiny-mce.component';\r\n","import { Component, ElementRef, EventEmitter, Output, ViewChild } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-search-input',\r\n styleUrls: ['./search-input.component.scss'],\r\n template: `\r\n \r\n \r\n `,\r\n})\r\nexport class SearchInputComponent {\r\n @ViewChild('input', { static: true }) input: ElementRef;\r\n\r\n @Output() search: EventEmitter = new EventEmitter();\r\n\r\n isInputShown = false;\r\n\r\n showInput() {\r\n this.isInputShown = true;\r\n this.input.nativeElement.focus();\r\n }\r\n\r\n hideInput() {\r\n this.isInputShown = false;\r\n }\r\n\r\n onInput(val: string) {\r\n this.search.emit(val);\r\n }\r\n}\r\n","import { Component, OnDestroy, AfterViewInit, Output, EventEmitter, ElementRef } from '@angular/core';\r\nimport { LocationStrategy } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'ngx-tiny-mce',\r\n template: '',\r\n})\r\nexport class TinyMCEComponent implements OnDestroy, AfterViewInit {\r\n\r\n @Output() editorKeyup = new EventEmitter();\r\n\r\n editor: any;\r\n\r\n constructor(\r\n private host: ElementRef,\r\n private locationStrategy: LocationStrategy,\r\n ) { }\r\n\r\n ngAfterViewInit() {\r\n tinymce.init({\r\n target: this.host.nativeElement,\r\n plugins: ['link', 'paste', 'table'],\r\n skin_url: `${this.locationStrategy.getBaseHref()}assets/skins/lightgray`,\r\n setup: editor => {\r\n this.editor = editor;\r\n editor.on('keyup', () => {\r\n this.editorKeyup.emit(editor.getContent());\r\n });\r\n },\r\n height: '320',\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n tinymce.remove(this.editor);\r\n }\r\n}\r\n","export * from './one-column/one-column.layout';\r\nexport * from './two-columns/two-columns.layout';\r\nexport * from './three-columns/three-columns.layout';\r\nexport * from './simple-layout/simple.layout';\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-one-column-layout',\r\n styleUrls: ['./one-column.layout.scss'],\r\n template: `\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n `,\r\n})\r\nexport class OneColumnLayoutComponent {}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-simple-layout',\r\n template: ``,\r\n})\r\nexport class SimpleLayoutComponent {}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-three-columns-layout',\r\n styleUrls: ['./three-columns.layout.scss'],\r\n template: `\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n `,\r\n})\r\nexport class ThreeColumnsLayoutComponent {}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-two-columns-layout',\r\n styleUrls: ['./two-columns.layout.scss'],\r\n template: `\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n `,\r\n})\r\nexport class TwoColumnsLayoutComponent {}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'ngxCapitalize' })\r\nexport class CapitalizePipe implements PipeTransform {\r\n\r\n transform(input: string): string {\r\n return input && input.length\r\n ? (input.charAt(0).toUpperCase() + input.slice(1).toLowerCase())\r\n : input;\r\n }\r\n}\r\n","export * from './capitalize.pipe';\r\nexport * from './plural.pipe';\r\nexport * from './round.pipe';\r\nexport * from './timing.pipe';\r\nexport * from './number-with-commas.pipe';\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'ngxNumberWithCommas' })\r\nexport class NumberWithCommasPipe implements PipeTransform {\r\n\r\n transform(input: number): string {\r\n return new Intl.NumberFormat().format(input);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'ngxPlural' })\r\nexport class PluralPipe implements PipeTransform {\r\n\r\n transform(input: number, label: string, pluralLabel: string = ''): string {\r\n input = input || 0;\r\n return input === 1\r\n ? `${input} ${label}`\r\n : pluralLabel\r\n ? `${input} ${pluralLabel}`\r\n : `${input} ${label}s`;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'ngxRound' })\r\nexport class RoundPipe implements PipeTransform {\r\n\r\n transform(input: number): number {\r\n return Math.round(input);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'timing' })\r\nexport class TimingPipe implements PipeTransform {\r\n transform(time: number): string {\r\n if (time) {\r\n const minutes = Math.floor(time / 60);\r\n const seconds = Math.floor(time % 60);\r\n return `${this.initZero(minutes)}${minutes}:${this.initZero(seconds)}${seconds}`;\r\n }\r\n\r\n return '00:00';\r\n }\r\n\r\n private initZero(time: number): string {\r\n return time < 10 ? '0' : '';\r\n }\r\n}\r\n","import { NbJSThemeOptions, CORPORATE_THEME as baseTheme } from '@nebular/theme';\r\n\r\nconst baseThemeVariables = baseTheme.variables;\r\n\r\nexport const CORPORATE_THEME = {\r\n name: 'corporate',\r\n base: 'corporate',\r\n variables: {\r\n temperature: {\r\n arcFill: [ '#ffa36b', '#ffa36b', '#ff9e7a', '#ff9888', '#ff8ea0' ],\r\n arcEmpty: baseThemeVariables.bg2,\r\n thumbBg: baseThemeVariables.bg2,\r\n thumbBorder: '#ffa36b',\r\n },\r\n\r\n solar: {\r\n gradientLeft: baseThemeVariables.primary,\r\n gradientRight: baseThemeVariables.primary,\r\n shadowColor: 'rgba(0, 0, 0, 0)',\r\n secondSeriesFill: baseThemeVariables.bg2,\r\n radius: ['80%', '90%'],\r\n },\r\n\r\n traffic: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n\r\n yAxisSplitLine: 'rgba(0, 0, 0, 0)',\r\n\r\n lineBg: baseThemeVariables.primary,\r\n lineShadowBlur: '0',\r\n itemColor: baseThemeVariables.border4,\r\n itemBorderColor: baseThemeVariables.border4,\r\n itemEmphasisBorderColor: baseThemeVariables.primaryLight,\r\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n shadowLineShadow: 'rgba(0, 0, 0, 0)',\r\n gradFrom: baseThemeVariables.bg,\r\n gradTo: baseThemeVariables.bg,\r\n },\r\n\r\n electricity: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipLineColor: baseThemeVariables.fgText,\r\n tooltipLineWidth: '0',\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n\r\n axisLineColor: baseThemeVariables.border3,\r\n xAxisTextColor: baseThemeVariables.fg,\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n itemBorderColor: baseThemeVariables.primary,\r\n lineStyle: 'solid',\r\n lineWidth: '4',\r\n lineGradFrom: baseThemeVariables.primary,\r\n lineGradTo: baseThemeVariables.primary,\r\n lineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n areaGradFrom: 'rgba(0, 0, 0, 0)',\r\n areaGradTo: 'rgba(0, 0, 0, 0)',\r\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n },\r\n\r\n bubbleMap: {\r\n titleColor: baseThemeVariables.fgText,\r\n areaColor: baseThemeVariables.bg4,\r\n areaHoverColor: baseThemeVariables.fgHighlight,\r\n areaBorderColor: baseThemeVariables.border5,\r\n },\r\n\r\n profitBarAnimationEchart: {\r\n textColor: baseThemeVariables.fgText,\r\n\r\n firstAnimationBarColor: baseThemeVariables.primary,\r\n secondAnimationBarColor: baseThemeVariables.success,\r\n\r\n splitLineStyleOpacity: '1',\r\n splitLineStyleWidth: '1',\r\n splitLineStyleColor: baseThemeVariables.separator,\r\n\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '16',\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipBorderWidth: '1',\r\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\r\n },\r\n\r\n trafficBarEchart: {\r\n gradientFrom: baseThemeVariables.warningLight,\r\n gradientTo: baseThemeVariables.warning,\r\n shadow: baseThemeVariables.warningLight,\r\n shadowBlur: '0',\r\n\r\n axisTextColor: baseThemeVariables.fgText,\r\n axisFontSize: '12',\r\n\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n },\r\n\r\n countryOrders: {\r\n countryBorderColor: baseThemeVariables.border4,\r\n countryFillColor: baseThemeVariables.bg4,\r\n countryBorderWidth: '1',\r\n hoveredCountryBorderColor: baseThemeVariables.primary,\r\n hoveredCountryFillColor: baseThemeVariables.primaryLight,\r\n hoveredCountryBorderWidth: '1',\r\n\r\n chartAxisLineColor: baseThemeVariables.border4,\r\n chartAxisTextColor: baseThemeVariables.fg,\r\n chartAxisFontSize: '16',\r\n chartGradientTo: baseThemeVariables.primary,\r\n chartGradientFrom: baseThemeVariables.primaryLight,\r\n chartAxisSplitLine: baseThemeVariables.separator,\r\n chartShadowLineColor: baseThemeVariables.primaryLight,\r\n\r\n chartLineBottomShadowColor: baseThemeVariables.primary,\r\n\r\n chartInnerLineColor: baseThemeVariables.bg2,\r\n },\r\n\r\n echarts: {\r\n bg: baseThemeVariables.bg,\r\n textColor: baseThemeVariables.fgText,\r\n axisLineColor: baseThemeVariables.fgText,\r\n splitLineColor: baseThemeVariables.separator,\r\n itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',\r\n tooltipBackgroundColor: baseThemeVariables.primary,\r\n areaOpacity: '0.7',\r\n },\r\n\r\n chartjs: {\r\n axisLineColor: baseThemeVariables.separator,\r\n textColor: baseThemeVariables.fgText,\r\n },\r\n\r\n orders: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\r\n tooltipLineWidth: '0',\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '20',\r\n\r\n axisLineColor: baseThemeVariables.border4,\r\n axisFontSize: '16',\r\n axisTextColor: baseThemeVariables.fg,\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n itemBorderColor: baseThemeVariables.primary,\r\n lineStyle: 'solid',\r\n lineWidth: '4',\r\n\r\n // first line\r\n firstAreaGradFrom: baseThemeVariables.bg3,\r\n firstAreaGradTo: baseThemeVariables.bg3,\r\n firstShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n\r\n // second line\r\n secondLineGradFrom: baseThemeVariables.primary,\r\n secondLineGradTo: baseThemeVariables.primary,\r\n\r\n secondAreaGradFrom: 'rgba(0, 0, 0, 0)',\r\n secondAreaGradTo: 'rgba(0, 0, 0, 0)',\r\n secondShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n\r\n // third line\r\n thirdLineGradFrom: baseThemeVariables.success,\r\n thirdLineGradTo: baseThemeVariables.successLight,\r\n\r\n thirdAreaGradFrom: 'rgba(0, 0, 0, 0)',\r\n thirdAreaGradTo: 'rgba(0, 0, 0, 0)',\r\n thirdShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n },\r\n\r\n profit: {\r\n bg: baseThemeVariables.bg,\r\n textColor: baseThemeVariables.fgText,\r\n axisLineColor: baseThemeVariables.border4,\r\n splitLineColor: baseThemeVariables.separator,\r\n areaOpacity: '1',\r\n\r\n axisFontSize: '16',\r\n axisTextColor: baseThemeVariables.fg,\r\n\r\n // first bar\r\n firstLineGradFrom: baseThemeVariables.bg3,\r\n firstLineGradTo: baseThemeVariables.bg3,\r\n firstLineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n // second bar\r\n secondLineGradFrom: baseThemeVariables.primary,\r\n secondLineGradTo: baseThemeVariables.primary,\r\n secondLineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n // third bar\r\n thirdLineGradFrom: baseThemeVariables.success,\r\n thirdLineGradTo: baseThemeVariables.success,\r\n thirdLineShadow: 'rgba(0, 0, 0, 0)',\r\n },\r\n\r\n orderProfitLegend: {\r\n firstItem: baseThemeVariables.success,\r\n secondItem: baseThemeVariables.primary,\r\n thirdItem: baseThemeVariables.bg3,\r\n },\r\n\r\n visitors: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\r\n tooltipLineWidth: '1',\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '20',\r\n\r\n axisLineColor: baseThemeVariables.border4,\r\n axisFontSize: '16',\r\n axisTextColor: baseThemeVariables.fg,\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n itemBorderColor: baseThemeVariables.primary,\r\n lineStyle: 'dotted',\r\n lineWidth: '6',\r\n lineGradFrom: '#ffffff',\r\n lineGradTo: '#ffffff',\r\n lineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n areaGradFrom: baseThemeVariables.primary,\r\n areaGradTo: baseThemeVariables.primaryLight,\r\n\r\n innerLineStyle: 'solid',\r\n innerLineWidth: '1',\r\n\r\n innerAreaGradFrom: baseThemeVariables.success,\r\n innerAreaGradTo: baseThemeVariables.success,\r\n },\r\n\r\n visitorsLegend: {\r\n firstIcon: baseThemeVariables.success,\r\n secondIcon: baseThemeVariables.primary,\r\n },\r\n\r\n visitorsPie: {\r\n firstPieGradientLeft: baseThemeVariables.success,\r\n firstPieGradientRight: baseThemeVariables.success,\r\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n firstPieRadius: ['65%', '90%'],\r\n\r\n secondPieGradientLeft: baseThemeVariables.warning,\r\n secondPieGradientRight: baseThemeVariables.warningLight,\r\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n secondPieRadius: ['63%', '92%'],\r\n shadowOffsetX: '-4',\r\n shadowOffsetY: '-4',\r\n },\r\n\r\n visitorsPieLegend: {\r\n firstSection: baseThemeVariables.warning,\r\n secondSection: baseThemeVariables.success,\r\n },\r\n\r\n earningPie: {\r\n radius: ['65%', '100%'],\r\n center: ['50%', '50%'],\r\n\r\n fontSize: '22',\r\n\r\n firstPieGradientLeft: baseThemeVariables.success,\r\n firstPieGradientRight: baseThemeVariables.success,\r\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n\r\n secondPieGradientLeft: baseThemeVariables.primary,\r\n secondPieGradientRight: baseThemeVariables.primary,\r\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n\r\n thirdPieGradientLeft: baseThemeVariables.warning,\r\n thirdPieGradientRight: baseThemeVariables.warning,\r\n thirdPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n },\r\n\r\n earningLine: {\r\n gradFrom: baseThemeVariables.primary,\r\n gradTo: baseThemeVariables.primary,\r\n\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '16',\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipBorderWidth: '1',\r\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\r\n },\r\n },\r\n} as NbJSThemeOptions;\r\n","import { NbJSThemeOptions, COSMIC_THEME as baseTheme } from '@nebular/theme';\r\n\r\nconst baseThemeVariables = baseTheme.variables;\r\n\r\nexport const COSMIC_THEME = {\r\n name: 'cosmic',\r\n base: 'cosmic',\r\n variables: {\r\n temperature: {\r\n arcFill: [ '#2ec7fe', '#31ffad', '#7bff24', '#fff024', '#f7bd59' ],\r\n arcEmpty: baseThemeVariables.bg2,\r\n thumbBg: '#ffffff',\r\n thumbBorder: '#ffffff',\r\n },\r\n\r\n solar: {\r\n gradientLeft: baseThemeVariables.primary,\r\n gradientRight: baseThemeVariables.primary,\r\n shadowColor: 'rgba(0, 0, 0, 0)',\r\n secondSeriesFill: baseThemeVariables.bg2,\r\n radius: ['70%', '90%'],\r\n },\r\n\r\n traffic: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'box-shadow: 0px 2px 46px 0 rgba(50, 50, 89); border-radius: 10px; padding: 4px 16px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n lineBg: baseThemeVariables.border2,\r\n lineShadowBlur: '14',\r\n itemColor: baseThemeVariables.border2,\r\n itemBorderColor: baseThemeVariables.border2,\r\n itemEmphasisBorderColor: baseThemeVariables.primary,\r\n shadowLineDarkBg: baseThemeVariables.border3,\r\n shadowLineShadow: baseThemeVariables.border3,\r\n gradFrom: baseThemeVariables.bg,\r\n gradTo: baseThemeVariables.bg2,\r\n },\r\n\r\n electricity: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipLineColor: baseThemeVariables.fgText,\r\n tooltipLineWidth: '0',\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'box-shadow: 0px 2px 46px 0 rgba(0, 255, 170, 0.35); border-radius: 10px; padding: 8px 24px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n\r\n axisLineColor: baseThemeVariables.border3,\r\n xAxisTextColor: baseThemeVariables.fg,\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n itemBorderColor: baseThemeVariables.border2,\r\n lineStyle: 'dotted',\r\n lineWidth: '6',\r\n lineGradFrom: baseThemeVariables.success,\r\n lineGradTo: baseThemeVariables.warning,\r\n lineShadow: baseThemeVariables.bg4,\r\n\r\n areaGradFrom: baseThemeVariables.bg2,\r\n areaGradTo: baseThemeVariables.bg3,\r\n shadowLineDarkBg: baseThemeVariables.bg3,\r\n },\r\n\r\n bubbleMap: {\r\n titleColor: baseThemeVariables.fgText,\r\n areaColor: baseThemeVariables.bg4,\r\n areaHoverColor: baseThemeVariables.fgHighlight,\r\n areaBorderColor: baseThemeVariables.border5,\r\n },\r\n\r\n profitBarAnimationEchart: {\r\n textColor: baseThemeVariables.fgText,\r\n\r\n firstAnimationBarColor: baseThemeVariables.primary,\r\n secondAnimationBarColor: baseThemeVariables.success,\r\n\r\n splitLineStyleOpacity: '1',\r\n splitLineStyleWidth: '1',\r\n splitLineStyleColor: baseThemeVariables.border2,\r\n\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '16',\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipBorderWidth: '1',\r\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\r\n },\r\n\r\n trafficBarEchart: {\r\n gradientFrom: baseThemeVariables.warningLight,\r\n gradientTo: baseThemeVariables.warning,\r\n shadow: baseThemeVariables.warningLight,\r\n shadowBlur: '5',\r\n\r\n axisTextColor: baseThemeVariables.fgText,\r\n axisFontSize: '12',\r\n\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n },\r\n\r\n countryOrders: {\r\n countryBorderColor: baseThemeVariables.border4,\r\n countryFillColor: baseThemeVariables.bg3,\r\n countryBorderWidth: '1',\r\n hoveredCountryBorderColor: baseThemeVariables.primary,\r\n hoveredCountryFillColor: baseThemeVariables.primaryLight,\r\n hoveredCountryBorderWidth: '1',\r\n\r\n chartAxisLineColor: baseThemeVariables.border4,\r\n chartAxisTextColor: baseThemeVariables.fg,\r\n chartAxisFontSize: '16',\r\n chartGradientTo: baseThemeVariables.primary,\r\n chartGradientFrom: baseThemeVariables.primaryLight,\r\n chartAxisSplitLine: baseThemeVariables.separator,\r\n chartShadowLineColor: baseThemeVariables.primaryLight,\r\n\r\n chartLineBottomShadowColor: baseThemeVariables.primary,\r\n\r\n chartInnerLineColor: baseThemeVariables.bg2,\r\n },\r\n\r\n echarts: {\r\n bg: baseThemeVariables.bg,\r\n textColor: baseThemeVariables.fgText,\r\n axisLineColor: baseThemeVariables.fgText,\r\n splitLineColor: baseThemeVariables.separator,\r\n itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',\r\n tooltipBackgroundColor: baseThemeVariables.primary,\r\n areaOpacity: '1',\r\n },\r\n\r\n chartjs: {\r\n axisLineColor: baseThemeVariables.separator,\r\n textColor: baseThemeVariables.fgText,\r\n },\r\n\r\n orders: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\r\n tooltipLineWidth: '0',\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '20',\r\n\r\n axisLineColor: baseThemeVariables.border4,\r\n axisFontSize: '16',\r\n axisTextColor: baseThemeVariables.fg,\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n itemBorderColor: baseThemeVariables.primary,\r\n lineStyle: 'solid',\r\n lineWidth: '4',\r\n\r\n // first line\r\n firstAreaGradFrom: baseThemeVariables.bg2,\r\n firstAreaGradTo: baseThemeVariables.bg2,\r\n firstShadowLineDarkBg: baseThemeVariables.bg2,\r\n\r\n // second line\r\n secondLineGradFrom: baseThemeVariables.primary,\r\n secondLineGradTo: baseThemeVariables.primary,\r\n\r\n secondAreaGradFrom: 'rgba(161, 110, 255, 0.8)',\r\n secondAreaGradTo: 'rgba(161, 110, 255, 0.5)',\r\n secondShadowLineDarkBg: baseThemeVariables.primary,\r\n\r\n // third line\r\n thirdLineGradFrom: baseThemeVariables.success,\r\n thirdLineGradTo: baseThemeVariables.successLight,\r\n\r\n thirdAreaGradFrom: 'rgba(0, 214, 143, 0.7)',\r\n thirdAreaGradTo: 'rgba(0, 214, 143, 0.4)',\r\n thirdShadowLineDarkBg: baseThemeVariables.success,\r\n },\r\n\r\n profit: {\r\n bg: baseThemeVariables.bg,\r\n textColor: baseThemeVariables.fgText,\r\n axisLineColor: baseThemeVariables.border4,\r\n splitLineColor: baseThemeVariables.separator,\r\n areaOpacity: '1',\r\n\r\n axisFontSize: '16',\r\n axisTextColor: baseThemeVariables.fg,\r\n\r\n // first bar\r\n firstLineGradFrom: baseThemeVariables.bg2,\r\n firstLineGradTo: baseThemeVariables.bg2,\r\n firstLineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n // second bar\r\n secondLineGradFrom: baseThemeVariables.primary,\r\n secondLineGradTo: baseThemeVariables.primary,\r\n secondLineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n // third bar\r\n thirdLineGradFrom: baseThemeVariables.success,\r\n thirdLineGradTo: baseThemeVariables.successLight,\r\n thirdLineShadow: 'rgba(0, 0, 0, 0)',\r\n },\r\n\r\n orderProfitLegend: {\r\n firstItem: baseThemeVariables.success,\r\n secondItem: baseThemeVariables.primary,\r\n thirdItem: baseThemeVariables.bg2,\r\n },\r\n\r\n visitors: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\r\n tooltipLineWidth: '1',\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '20',\r\n\r\n axisLineColor: baseThemeVariables.border4,\r\n axisFontSize: '16',\r\n axisTextColor: baseThemeVariables.fg,\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n itemBorderColor: baseThemeVariables.primary,\r\n lineStyle: 'dotted',\r\n lineWidth: '6',\r\n lineGradFrom: '#ffffff',\r\n lineGradTo: '#ffffff',\r\n lineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n areaGradFrom: baseThemeVariables.primary,\r\n areaGradTo: baseThemeVariables.primaryLight,\r\n\r\n innerLineStyle: 'solid',\r\n innerLineWidth: '1',\r\n\r\n innerAreaGradFrom: baseThemeVariables.success,\r\n innerAreaGradTo: baseThemeVariables.success,\r\n },\r\n\r\n visitorsLegend: {\r\n firstIcon: baseThemeVariables.success,\r\n secondIcon: baseThemeVariables.primary,\r\n },\r\n\r\n visitorsPie: {\r\n firstPieGradientLeft: baseThemeVariables.success,\r\n firstPieGradientRight: baseThemeVariables.successLight,\r\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n firstPieRadius: ['70%', '90%'],\r\n\r\n secondPieGradientLeft: baseThemeVariables.warning,\r\n secondPieGradientRight: baseThemeVariables.warningLight,\r\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n secondPieRadius: ['60%', '95%'],\r\n shadowOffsetX: '0',\r\n shadowOffsetY: '3',\r\n },\r\n\r\n visitorsPieLegend: {\r\n firstSection: baseThemeVariables.warning,\r\n secondSection: baseThemeVariables.success,\r\n },\r\n\r\n earningPie: {\r\n radius: ['65%', '100%'],\r\n center: ['50%', '50%'],\r\n\r\n fontSize: '22',\r\n\r\n firstPieGradientLeft: baseThemeVariables.success,\r\n firstPieGradientRight: baseThemeVariables.success,\r\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n\r\n secondPieGradientLeft: baseThemeVariables.primary,\r\n secondPieGradientRight: baseThemeVariables.primary,\r\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n\r\n thirdPieGradientLeft: baseThemeVariables.warning,\r\n thirdPieGradientRight: baseThemeVariables.warning,\r\n thirdPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n },\r\n\r\n earningLine: {\r\n gradFrom: baseThemeVariables.primary,\r\n gradTo: baseThemeVariables.primary,\r\n\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '16',\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipBorderWidth: '1',\r\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\r\n },\r\n },\r\n} as NbJSThemeOptions;\r\n","import { NbJSThemeOptions, DARK_THEME as baseTheme } from '@nebular/theme';\r\n\r\nconst baseThemeVariables = baseTheme.variables;\r\n\r\nexport const DARK_THEME = {\r\n name: 'dark',\r\n base: 'dark',\r\n variables: {\r\n temperature: {\r\n arcFill: [\r\n baseThemeVariables.primary,\r\n baseThemeVariables.primary,\r\n baseThemeVariables.primary,\r\n baseThemeVariables.primary,\r\n baseThemeVariables.primary,\r\n ],\r\n arcEmpty: baseThemeVariables.bg2,\r\n thumbBg: baseThemeVariables.bg2,\r\n thumbBorder: baseThemeVariables.primary,\r\n },\r\n\r\n solar: {\r\n gradientLeft: baseThemeVariables.primary,\r\n gradientRight: baseThemeVariables.primary,\r\n shadowColor: 'rgba(0, 0, 0, 0)',\r\n secondSeriesFill: baseThemeVariables.bg2,\r\n radius: ['80%', '90%'],\r\n },\r\n\r\n traffic: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n lineBg: baseThemeVariables.border4,\r\n lineShadowBlur: '1',\r\n itemColor: baseThemeVariables.border4,\r\n itemBorderColor: baseThemeVariables.border4,\r\n itemEmphasisBorderColor: baseThemeVariables.primary,\r\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n shadowLineShadow: 'rgba(0, 0, 0, 0)',\r\n gradFrom: baseThemeVariables.bg2,\r\n gradTo: baseThemeVariables.bg2,\r\n },\r\n\r\n electricity: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipLineColor: baseThemeVariables.fgText,\r\n tooltipLineWidth: '0',\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n\r\n axisLineColor: baseThemeVariables.border3,\r\n xAxisTextColor: baseThemeVariables.fg,\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n itemBorderColor: baseThemeVariables.primary,\r\n lineStyle: 'solid',\r\n lineWidth: '4',\r\n lineGradFrom: baseThemeVariables.primary,\r\n lineGradTo: baseThemeVariables.primary,\r\n lineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n areaGradFrom: baseThemeVariables.bg2,\r\n areaGradTo: baseThemeVariables.bg2,\r\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n },\r\n\r\n bubbleMap: {\r\n titleColor: baseThemeVariables.fgText,\r\n areaColor: baseThemeVariables.bg4,\r\n areaHoverColor: baseThemeVariables.fgHighlight,\r\n areaBorderColor: baseThemeVariables.border5,\r\n },\r\n\r\n profitBarAnimationEchart: {\r\n textColor: baseThemeVariables.fgText,\r\n\r\n firstAnimationBarColor: baseThemeVariables.primary,\r\n secondAnimationBarColor: baseThemeVariables.success,\r\n\r\n splitLineStyleOpacity: '1',\r\n splitLineStyleWidth: '1',\r\n splitLineStyleColor: baseThemeVariables.separator,\r\n\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '16',\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipBorderWidth: '1',\r\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\r\n },\r\n\r\n trafficBarEchart: {\r\n gradientFrom: baseThemeVariables.warningLight,\r\n gradientTo: baseThemeVariables.warning,\r\n shadow: baseThemeVariables.warningLight,\r\n shadowBlur: '0',\r\n\r\n axisTextColor: baseThemeVariables.fgText,\r\n axisFontSize: '12',\r\n\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n },\r\n\r\n countryOrders: {\r\n countryBorderColor: baseThemeVariables.border4,\r\n countryFillColor: baseThemeVariables.bg3,\r\n countryBorderWidth: '1',\r\n hoveredCountryBorderColor: baseThemeVariables.primary,\r\n hoveredCountryFillColor: baseThemeVariables.primaryLight,\r\n hoveredCountryBorderWidth: '1',\r\n\r\n chartAxisLineColor: baseThemeVariables.border4,\r\n chartAxisTextColor: baseThemeVariables.fg,\r\n chartAxisFontSize: '16',\r\n chartGradientTo: baseThemeVariables.primary,\r\n chartGradientFrom: baseThemeVariables.primaryLight,\r\n chartAxisSplitLine: baseThemeVariables.separator,\r\n chartShadowLineColor: baseThemeVariables.primaryLight,\r\n\r\n chartLineBottomShadowColor: baseThemeVariables.primary,\r\n\r\n chartInnerLineColor: baseThemeVariables.bg2,\r\n },\r\n\r\n echarts: {\r\n bg: baseThemeVariables.bg,\r\n textColor: baseThemeVariables.fgText,\r\n axisLineColor: baseThemeVariables.fgText,\r\n splitLineColor: baseThemeVariables.separator,\r\n itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',\r\n tooltipBackgroundColor: baseThemeVariables.primary,\r\n areaOpacity: '0.7',\r\n },\r\n\r\n chartjs: {\r\n axisLineColor: baseThemeVariables.separator,\r\n textColor: baseThemeVariables.fgText,\r\n },\r\n\r\n orders: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\r\n tooltipLineWidth: '0',\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '20',\r\n\r\n axisLineColor: baseThemeVariables.border4,\r\n axisFontSize: '16',\r\n axisTextColor: baseThemeVariables.fg,\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n itemBorderColor: baseThemeVariables.primary,\r\n lineStyle: 'solid',\r\n lineWidth: '4',\r\n\r\n // first line\r\n firstAreaGradFrom: baseThemeVariables.bg3,\r\n firstAreaGradTo: baseThemeVariables.bg3,\r\n firstShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n\r\n // second line\r\n secondLineGradFrom: baseThemeVariables.primary,\r\n secondLineGradTo: baseThemeVariables.primary,\r\n\r\n secondAreaGradFrom: 'rgba(51, 102, 255, 0.2)',\r\n secondAreaGradTo: 'rgba(51, 102, 255, 0)',\r\n secondShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n\r\n // third line\r\n thirdLineGradFrom: baseThemeVariables.success,\r\n thirdLineGradTo: baseThemeVariables.successLight,\r\n\r\n thirdAreaGradFrom: 'rgba(0, 214, 143, 0.2)',\r\n thirdAreaGradTo: 'rgba(0, 214, 143, 0)',\r\n thirdShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n },\r\n\r\n profit: {\r\n bg: baseThemeVariables.bg,\r\n textColor: baseThemeVariables.fgText,\r\n axisLineColor: baseThemeVariables.border4,\r\n splitLineColor: baseThemeVariables.separator,\r\n areaOpacity: '1',\r\n\r\n axisFontSize: '16',\r\n axisTextColor: baseThemeVariables.fg,\r\n\r\n // first bar\r\n firstLineGradFrom: baseThemeVariables.bg3,\r\n firstLineGradTo: baseThemeVariables.bg3,\r\n firstLineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n // second bar\r\n secondLineGradFrom: baseThemeVariables.primary,\r\n secondLineGradTo: baseThemeVariables.primary,\r\n secondLineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n // third bar\r\n thirdLineGradFrom: baseThemeVariables.success,\r\n thirdLineGradTo: baseThemeVariables.successLight,\r\n thirdLineShadow: 'rgba(0, 0, 0, 0)',\r\n },\r\n\r\n orderProfitLegend: {\r\n firstItem: baseThemeVariables.success,\r\n secondItem: baseThemeVariables.primary,\r\n thirdItem: baseThemeVariables.bg3,\r\n },\r\n\r\n visitors: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\r\n tooltipLineWidth: '0',\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '20',\r\n\r\n axisLineColor: baseThemeVariables.border4,\r\n axisFontSize: '16',\r\n axisTextColor: baseThemeVariables.fg,\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n itemBorderColor: baseThemeVariables.primary,\r\n lineStyle: 'dotted',\r\n lineWidth: '6',\r\n lineGradFrom: '#ffffff',\r\n lineGradTo: '#ffffff',\r\n lineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n areaGradFrom: baseThemeVariables.primary,\r\n areaGradTo: baseThemeVariables.primaryLight,\r\n\r\n innerLineStyle: 'solid',\r\n innerLineWidth: '1',\r\n\r\n innerAreaGradFrom: baseThemeVariables.success,\r\n innerAreaGradTo: baseThemeVariables.success,\r\n },\r\n\r\n visitorsLegend: {\r\n firstIcon: baseThemeVariables.success,\r\n secondIcon: baseThemeVariables.primary,\r\n },\r\n\r\n visitorsPie: {\r\n firstPieGradientLeft: baseThemeVariables.success,\r\n firstPieGradientRight: baseThemeVariables.success,\r\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n firstPieRadius: ['70%', '90%'],\r\n\r\n secondPieGradientLeft: baseThemeVariables.warning,\r\n secondPieGradientRight: baseThemeVariables.warningLight,\r\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n secondPieRadius: ['60%', '97%'],\r\n shadowOffsetX: '0',\r\n shadowOffsetY: '0',\r\n },\r\n\r\n visitorsPieLegend: {\r\n firstSection: baseThemeVariables.warning,\r\n secondSection: baseThemeVariables.success,\r\n },\r\n\r\n earningPie: {\r\n radius: ['65%', '100%'],\r\n center: ['50%', '50%'],\r\n\r\n fontSize: '22',\r\n\r\n firstPieGradientLeft: baseThemeVariables.success,\r\n firstPieGradientRight: baseThemeVariables.success,\r\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n\r\n secondPieGradientLeft: baseThemeVariables.primary,\r\n secondPieGradientRight: baseThemeVariables.primary,\r\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n\r\n thirdPieGradientLeft: baseThemeVariables.warning,\r\n thirdPieGradientRight: baseThemeVariables.warning,\r\n thirdPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n },\r\n\r\n earningLine: {\r\n gradFrom: baseThemeVariables.primary,\r\n gradTo: baseThemeVariables.primary,\r\n\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '16',\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipBorderWidth: '1',\r\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\r\n },\r\n },\r\n} as NbJSThemeOptions;\r\n","import { NbJSThemeOptions, DEFAULT_THEME as baseTheme } from '@nebular/theme';\r\n\r\nconst baseThemeVariables = baseTheme.variables;\r\n\r\nexport const DEFAULT_THEME = {\r\n name: 'default',\r\n base: 'default',\r\n variables: {\r\n temperature: {\r\n arcFill: [\r\n baseThemeVariables.primary,\r\n baseThemeVariables.primary,\r\n baseThemeVariables.primary,\r\n baseThemeVariables.primary,\r\n baseThemeVariables.primary,\r\n ],\r\n arcEmpty: baseThemeVariables.bg2,\r\n thumbBg: baseThemeVariables.bg2,\r\n thumbBorder: baseThemeVariables.primary,\r\n },\r\n\r\n solar: {\r\n gradientLeft: baseThemeVariables.primary,\r\n gradientRight: baseThemeVariables.primary,\r\n shadowColor: 'rgba(0, 0, 0, 0)',\r\n secondSeriesFill: baseThemeVariables.bg2,\r\n radius: ['80%', '90%'],\r\n },\r\n\r\n traffic: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n lineBg: baseThemeVariables.border4,\r\n lineShadowBlur: '1',\r\n itemColor: baseThemeVariables.border4,\r\n itemBorderColor: baseThemeVariables.border4,\r\n itemEmphasisBorderColor: baseThemeVariables.primary,\r\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n shadowLineShadow: 'rgba(0, 0, 0, 0)',\r\n gradFrom: baseThemeVariables.bg2,\r\n gradTo: baseThemeVariables.bg2,\r\n },\r\n\r\n electricity: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipLineColor: baseThemeVariables.fgText,\r\n tooltipLineWidth: '0',\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n\r\n axisLineColor: baseThemeVariables.border3,\r\n xAxisTextColor: baseThemeVariables.fg,\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n itemBorderColor: baseThemeVariables.primary,\r\n lineStyle: 'solid',\r\n lineWidth: '4',\r\n lineGradFrom: baseThemeVariables.primary,\r\n lineGradTo: baseThemeVariables.primary,\r\n lineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n areaGradFrom: baseThemeVariables.bg2,\r\n areaGradTo: baseThemeVariables.bg2,\r\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n },\r\n\r\n bubbleMap: {\r\n titleColor: baseThemeVariables.fgText,\r\n areaColor: baseThemeVariables.bg4,\r\n areaHoverColor: baseThemeVariables.fgHighlight,\r\n areaBorderColor: baseThemeVariables.border5,\r\n },\r\n\r\n profitBarAnimationEchart: {\r\n textColor: baseThemeVariables.fgText,\r\n\r\n firstAnimationBarColor: baseThemeVariables.primary,\r\n secondAnimationBarColor: baseThemeVariables.success,\r\n\r\n splitLineStyleOpacity: '1',\r\n splitLineStyleWidth: '1',\r\n splitLineStyleColor: baseThemeVariables.separator,\r\n\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '16',\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipBorderWidth: '1',\r\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\r\n },\r\n\r\n trafficBarEchart: {\r\n gradientFrom: baseThemeVariables.warningLight,\r\n gradientTo: baseThemeVariables.warning,\r\n shadow: baseThemeVariables.warningLight,\r\n shadowBlur: '0',\r\n\r\n axisTextColor: baseThemeVariables.fgText,\r\n axisFontSize: '12',\r\n\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n },\r\n\r\n countryOrders: {\r\n countryBorderColor: baseThemeVariables.border4,\r\n countryFillColor: baseThemeVariables.bg3,\r\n countryBorderWidth: '1',\r\n hoveredCountryBorderColor: baseThemeVariables.primary,\r\n hoveredCountryFillColor: baseThemeVariables.primaryLight,\r\n hoveredCountryBorderWidth: '1',\r\n\r\n chartAxisLineColor: baseThemeVariables.border4,\r\n chartAxisTextColor: baseThemeVariables.fg,\r\n chartAxisFontSize: '16',\r\n chartGradientTo: baseThemeVariables.primary,\r\n chartGradientFrom: baseThemeVariables.primaryLight,\r\n chartAxisSplitLine: baseThemeVariables.separator,\r\n chartShadowLineColor: baseThemeVariables.primaryLight,\r\n\r\n chartLineBottomShadowColor: baseThemeVariables.primary,\r\n\r\n chartInnerLineColor: baseThemeVariables.bg2,\r\n },\r\n\r\n echarts: {\r\n bg: baseThemeVariables.bg,\r\n textColor: baseThemeVariables.fgText,\r\n axisLineColor: baseThemeVariables.fgText,\r\n splitLineColor: baseThemeVariables.separator,\r\n itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',\r\n tooltipBackgroundColor: baseThemeVariables.primary,\r\n areaOpacity: '0.7',\r\n },\r\n\r\n chartjs: {\r\n axisLineColor: baseThemeVariables.separator,\r\n textColor: baseThemeVariables.fgText,\r\n },\r\n\r\n orders: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\r\n tooltipLineWidth: '0',\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '20',\r\n\r\n axisLineColor: baseThemeVariables.border4,\r\n axisFontSize: '16',\r\n axisTextColor: baseThemeVariables.fg,\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n itemBorderColor: baseThemeVariables.primary,\r\n lineStyle: 'solid',\r\n lineWidth: '4',\r\n\r\n // first line\r\n firstAreaGradFrom: baseThemeVariables.bg3,\r\n firstAreaGradTo: baseThemeVariables.bg3,\r\n firstShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n\r\n // second line\r\n secondLineGradFrom: baseThemeVariables.primary,\r\n secondLineGradTo: baseThemeVariables.primary,\r\n\r\n secondAreaGradFrom: 'rgba(51, 102, 255, 0.2)',\r\n secondAreaGradTo: 'rgba(51, 102, 255, 0)',\r\n secondShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n\r\n // third line\r\n thirdLineGradFrom: baseThemeVariables.success,\r\n thirdLineGradTo: baseThemeVariables.successLight,\r\n\r\n thirdAreaGradFrom: 'rgba(0, 214, 143, 0.2)',\r\n thirdAreaGradTo: 'rgba(0, 214, 143, 0)',\r\n thirdShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\r\n },\r\n\r\n profit: {\r\n bg: baseThemeVariables.bg,\r\n textColor: baseThemeVariables.fgText,\r\n axisLineColor: baseThemeVariables.border4,\r\n splitLineColor: baseThemeVariables.separator,\r\n areaOpacity: '1',\r\n\r\n axisFontSize: '16',\r\n axisTextColor: baseThemeVariables.fg,\r\n\r\n // first bar\r\n firstLineGradFrom: baseThemeVariables.bg3,\r\n firstLineGradTo: baseThemeVariables.bg3,\r\n firstLineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n // second bar\r\n secondLineGradFrom: baseThemeVariables.primary,\r\n secondLineGradTo: baseThemeVariables.primary,\r\n secondLineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n // third bar\r\n thirdLineGradFrom: baseThemeVariables.success,\r\n thirdLineGradTo: baseThemeVariables.successLight,\r\n thirdLineShadow: 'rgba(0, 0, 0, 0)',\r\n },\r\n\r\n orderProfitLegend: {\r\n firstItem: baseThemeVariables.success,\r\n secondItem: baseThemeVariables.primary,\r\n thirdItem: baseThemeVariables.bg3,\r\n },\r\n\r\n visitors: {\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\r\n tooltipLineWidth: '1',\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '20',\r\n\r\n axisLineColor: baseThemeVariables.border4,\r\n axisFontSize: '16',\r\n axisTextColor: baseThemeVariables.fg,\r\n yAxisSplitLine: baseThemeVariables.separator,\r\n\r\n itemBorderColor: baseThemeVariables.primary,\r\n lineStyle: 'dotted',\r\n lineWidth: '6',\r\n lineGradFrom: '#ffffff',\r\n lineGradTo: '#ffffff',\r\n lineShadow: 'rgba(0, 0, 0, 0)',\r\n\r\n areaGradFrom: baseThemeVariables.primary,\r\n areaGradTo: baseThemeVariables.primaryLight,\r\n\r\n innerLineStyle: 'solid',\r\n innerLineWidth: '1',\r\n\r\n innerAreaGradFrom: baseThemeVariables.success,\r\n innerAreaGradTo: baseThemeVariables.success,\r\n },\r\n\r\n visitorsLegend: {\r\n firstIcon: baseThemeVariables.success,\r\n secondIcon: baseThemeVariables.primary,\r\n },\r\n\r\n visitorsPie: {\r\n firstPieGradientLeft: baseThemeVariables.success,\r\n firstPieGradientRight: baseThemeVariables.success,\r\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n firstPieRadius: ['70%', '90%'],\r\n\r\n secondPieGradientLeft: baseThemeVariables.warning,\r\n secondPieGradientRight: baseThemeVariables.warningLight,\r\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n secondPieRadius: ['60%', '97%'],\r\n shadowOffsetX: '0',\r\n shadowOffsetY: '0',\r\n },\r\n\r\n visitorsPieLegend: {\r\n firstSection: baseThemeVariables.warning,\r\n secondSection: baseThemeVariables.success,\r\n },\r\n\r\n earningPie: {\r\n radius: ['65%', '100%'],\r\n center: ['50%', '50%'],\r\n\r\n fontSize: '22',\r\n\r\n firstPieGradientLeft: baseThemeVariables.success,\r\n firstPieGradientRight: baseThemeVariables.success,\r\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n\r\n secondPieGradientLeft: baseThemeVariables.primary,\r\n secondPieGradientRight: baseThemeVariables.primary,\r\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n\r\n thirdPieGradientLeft: baseThemeVariables.warning,\r\n thirdPieGradientRight: baseThemeVariables.warning,\r\n thirdPieShadowColor: 'rgba(0, 0, 0, 0)',\r\n },\r\n\r\n earningLine: {\r\n gradFrom: baseThemeVariables.primary,\r\n gradTo: baseThemeVariables.primary,\r\n\r\n tooltipTextColor: baseThemeVariables.fgText,\r\n tooltipFontWeight: 'normal',\r\n tooltipFontSize: '16',\r\n tooltipBg: baseThemeVariables.bg,\r\n tooltipBorderColor: baseThemeVariables.border2,\r\n tooltipBorderWidth: '1',\r\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\r\n },\r\n },\r\n} as NbJSThemeOptions;\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport {\r\n NbActionsModule,\r\n NbLayoutModule,\r\n NbMenuModule,\r\n NbSearchModule,\r\n NbSidebarModule,\r\n NbUserModule,\r\n NbContextMenuModule,\r\n NbButtonModule,\r\n NbSelectModule,\r\n NbIconModule,\r\n NbThemeModule,\r\n} from '@nebular/theme';\r\nimport { NbEvaIconsModule } from '@nebular/eva-icons';\r\nimport { NbSecurityModule } from '@nebular/security';\r\n\r\nimport {\r\n FooterComponent,\r\n HeaderComponent,\r\n SearchInputComponent,\r\n TinyMCEComponent,\r\n} from './components';\r\nimport {\r\n CapitalizePipe,\r\n PluralPipe,\r\n RoundPipe,\r\n TimingPipe,\r\n NumberWithCommasPipe,\r\n} from './pipes';\r\nimport {\r\n OneColumnLayoutComponent,\r\n ThreeColumnsLayoutComponent,\r\n TwoColumnsLayoutComponent,\r\n SimpleLayoutComponent,\r\n} from './layouts';\r\nimport { DEFAULT_THEME } from './styles/theme.default';\r\nimport { COSMIC_THEME } from './styles/theme.cosmic';\r\nimport { CORPORATE_THEME } from './styles/theme.corporate';\r\nimport { DARK_THEME } from './styles/theme.dark';\r\n\r\nconst NB_MODULES = [\r\n NbLayoutModule,\r\n NbMenuModule,\r\n NbUserModule,\r\n NbActionsModule,\r\n NbSearchModule,\r\n NbSidebarModule,\r\n NbContextMenuModule,\r\n NbSecurityModule,\r\n NbButtonModule,\r\n NbSelectModule,\r\n NbIconModule,\r\n NbEvaIconsModule,\r\n];\r\nconst COMPONENTS = [\r\n HeaderComponent,\r\n FooterComponent,\r\n SearchInputComponent,\r\n TinyMCEComponent,\r\n OneColumnLayoutComponent,\r\n ThreeColumnsLayoutComponent,\r\n TwoColumnsLayoutComponent,\r\n SimpleLayoutComponent,\r\n];\r\nconst PIPES = [\r\n CapitalizePipe,\r\n PluralPipe,\r\n RoundPipe,\r\n TimingPipe,\r\n NumberWithCommasPipe,\r\n];\r\n\r\n@NgModule({\r\n imports: [CommonModule, ...NB_MODULES],\r\n exports: [CommonModule, ...PIPES, ...COMPONENTS],\r\n declarations: [...COMPONENTS, ...PIPES],\r\n})\r\nexport class ThemeModule {\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: ThemeModule,\r\n providers: [\r\n ...NbThemeModule.forRoot(\r\n {\r\n name: 'default',\r\n },\r\n [ DEFAULT_THEME, COSMIC_THEME, CORPORATE_THEME, DARK_THEME ],\r\n ).providers,\r\n ],\r\n };\r\n }\r\n}\r\n","import { ExtraOptions, RouterModule, Routes } from '@angular/router';\r\nimport { NgModule } from '@angular/core';\r\nimport { SimpleLayoutComponent } from './@theme/layouts/simple-layout/simple.layout';\r\n\r\nexport const routes: Routes = [ \r\n {\r\n path: '',\r\n loadChildren: () => import('./main/main.module')\r\n .then(m => m.MainModule),\r\n },\r\n {\r\n path: 'user',\r\n loadChildren: () => import('./main/user/user.module')\r\n .then(m => m.UserModule),\r\n },\r\n {\r\n path: '**',\r\n redirectTo: '',\r\n pathMatch: 'full',\r\n },\r\n];\r\n\r\nconst config: ExtraOptions = {\r\n useHash: false,\r\n};\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, config)],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule {\r\n}\r\n","/**\r\n * @license\r\n * Copyright Akveo. All Rights Reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n */\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { AnalyticsService } from './@core/utils/analytics.service';\r\nimport { SeoService } from './@core/utils/seo.service';\r\nimport { NbIconLibraries } from '@nebular/theme';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MyMenuService } from './tool/service/menu.service';\r\n\r\n@Component({\r\n selector: 'ngx-app',\r\n template: `\r\n `,\r\n styleUrls: []\r\n})\r\nexport class AppComponent implements OnInit {\r\n\r\n constructor(private analytics: AnalyticsService, \r\n private seoService: SeoService,\r\n private http: HttpClient,\r\n private nbIconLibraries:NbIconLibraries,\r\n private ms :MyMenuService,) {\r\n }\r\n\r\n version = null\r\n IntervalRef = null\r\n\r\n ngOnInit(): void {\r\n this.analytics.trackPageViews();\r\n this.seoService.trackCanonicalChanges();\r\n\r\n // let my = this\r\n // this.IntervalRef = setInterval(()=>{\r\n // my.GetVersion()\r\n \r\n\r\n // },180000)\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","/**\r\n * @license\r\n * Copyright Akveo. All Rights Reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n */\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { NgModule } from '@angular/core';\r\nimport { HttpClientModule,HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { CoreModule } from './@core/core.module';\r\nimport { ThemeModule } from './@theme/theme.module';\r\nimport { AppComponent } from './app.component';\r\nimport { LoginComponent } from './main/user/login/login.component';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { NgxDropzoneModule } from 'ngx-dropzone'; \r\nimport { NgxQRCodeModule } from '@techiediaries/ngx-qrcode';\r\nimport { UserModule } from './main/user/user.module';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { MainModule } from './main/main.module';\r\nimport { MainRoutingModule } from './main/main-routing.module';\r\nimport { ToolModule } from './tool/tool.module';\r\nimport { ApiService } from '../app/tool/service/api.service';\r\nimport { CurrencyPipe } from '@angular/common';\r\nimport { BasicAuthHtppInterceptorService } from './basic-auth-htpp-interceptor.service';\r\nimport {\r\n NbActionsModule,\r\n NbButtonModule,\r\n NbCardModule,\r\n NbCheckboxModule,\r\n NbIconModule,\r\n NbInputModule,\r\n NbRadioModule,\r\n NbSelectModule,\r\n NbUserModule,\r\n NbPopoverModule,\r\n NbTabsetModule,\r\n NbTooltipModule,\r\n NbSpinnerModule,\r\n\r\n NbChatModule,\r\n NbTimepickerModule,\r\n NbDatepickerModule,\r\n NbDialogModule,\r\n NbMenuModule,\r\n NbToastrModule,\r\n NbWindowModule,\r\n NbSidebarModule,\r\n NbLayoutModule,\r\n} from '@nebular/theme';\r\nimport { NbPasswordAuthStrategy, NbAuthModule ,NbAuthJWTToken} from '@nebular/auth';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent\r\n ],\r\n imports: [ \r\n \r\n FormsModule,\r\n NbActionsModule,\r\n NbButtonModule,\r\n NbCardModule,\r\n NbCheckboxModule,\r\n NbIconModule,\r\n NbInputModule,\r\n NbRadioModule,\r\n NbSelectModule,\r\n NbUserModule,\r\n NbPopoverModule,\r\n NbTabsetModule,\r\n NbTooltipModule,\r\n NbSpinnerModule,\r\n NgxQRCodeModule,\r\n NgxDropzoneModule,\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n AppRoutingModule,\r\n NbLayoutModule,\r\n NbSidebarModule.forRoot(),\r\n NbMenuModule.forRoot(),\r\n NbDatepickerModule.forRoot(),\r\n NbTimepickerModule.forRoot(),\r\n NbDialogModule.forRoot(),\r\n NbWindowModule.forRoot(),\r\n NbToastrModule.forRoot(),\r\n NbChatModule.forRoot({\r\n messageGoogleMapKey: 'AIzaSyA_wNuCzia92MAmdLRzmqitRGvCF7wCZPY',\r\n }),\r\n CoreModule.forRoot(),\r\n ThemeModule.forRoot(),\r\n ToolModule.forRoot(),\r\n MainModule\r\n \r\n ],\r\n providers: [\r\n CookieService,\r\n ApiService,\r\n {\r\n \r\n /*加入此設定*/\r\n provide: HTTP_INTERCEPTORS, \r\n useClass: BasicAuthHtppInterceptorService, \r\n multi: true \r\n },\r\n CurrencyPipe\r\n ],\r\n bootstrap: [AppComponent],\r\n})\r\nexport class AppModule {\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BasicAuthHtppInterceptorService implements HttpInterceptor {\r\n\r\n constructor() { }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler) {\r\n req = req.clone({\r\n setHeaders: { /*有關CORS的參數就可以改在這裡了*/\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Access-Control-Allow-Credentials': 'true',\r\n 'Access-Control-Allow-Methods': 'GET, PUT, POST, DELETE, OPTIONS, PATCH',\r\n 'Access-Control-Max-Age': '86400'\r\n }\r\n });\r\n return next.handle(req);\r\n\r\n }\r\n}","import { RouterModule, Routes } from '@angular/router';\r\nimport { NgModule } from '@angular/core';\r\nimport { MainComponent } from './main.component'\r\nimport { HomeComponent } from './sys/home/home.component'\r\n\r\nconst routes: Routes = [{\r\n path: '', \r\n component: MainComponent,\r\n children: [ \r\n \r\n {\r\n path: 'Home',\r\n component: HomeComponent,\r\n },\r\n {\r\n path: '',\r\n redirectTo: 'Home',\r\n pathMatch: 'full',\r\n },\r\n // {\r\n // path: '**',\r\n // redirectTo: '/Product/Setting',\r\n // }, \r\n {\r\n path: 'Store',\r\n loadChildren: () => import('./storemanage/storemanage.module')\r\n .then(m => m.StoreManageModule),\r\n },\r\n {\r\n path: 'Auth', loadChildren: () => import( './auth-manage/auth-manage.module')\r\n .then(m => m.AuthManageModule),\r\n },\r\n \r\n {\r\n path: 'Product',\r\n loadChildren: () => import( './product/product.module')\r\n .then(m => m.ProductModule),\r\n }, \r\n {\r\n path: 'Report', loadChildren: () => import( './report/report.module')\r\n .then(m => m.ReportModule),\r\n },\r\n {\r\n path: 'PosOrder', loadChildren: () => import( './pos-order/pos-order.module')\r\n .then(m => m.PosOrderModule),\r\n },\r\n\r\n //--------------------------------------------\r\n\r\n {\r\n path: 'order', loadChildren: () => import('./order/order.module')\r\n .then(m => m.OrderModule),\r\n },\r\n {\r\n path: 'EOS', loadChildren: () => import('./EOS/EOS.module')\r\n .then(m => m.EOSModule),\r\n },\r\n\r\n\r\n // {\r\n // path: 'basic-info',\r\n // loadChildren: () => import('./basic-info/basic-info.module')\r\n // .then(m => m.BasicInfoModule),\r\n // }, \r\n // {\r\n // path: 'permissiongroup',\r\n // loadChildren: () => import('./permissiongroup/permissiongroup.module')\r\n // .then(m => m.PermissionGroupModule),\r\n // },\r\n \r\n // {\r\n // path: 'pospermissions',\r\n // loadChildren: () => import('./pospermissions/pospermissions.module')\r\n // .then(m => m.POSPermissionsModule),\r\n // },\r\n\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class MainRoutingModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MyMenuService } from '../tool/service/menu.service';\r\nimport { SubscriptService } from '../tool/service/header.service';\r\nimport { LayoutService } from '../@core/utils';\r\nimport { NbSidebarService, NbMenuService, NbMenuItem } from '@nebular/theme';\r\nimport { Router } from '@angular/router';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { HostListener } from '@angular/core';\r\n\r\n//2024.02.20 增加側選單內間距,點選後需要自動收合\r\n@Component({\r\n selector: 'ngx-main',\r\n template: `\r\n\r\n \r\n \r\n \r\n \r\n \r\n`,\r\n styleUrls: []\r\n})\r\nexport class MainComponent implements OnInit {\r\n\r\n info = {\r\n menu : []\r\n }\r\n menuSub : any\r\n\r\n //2024.02.20 增加側選單點選後需要自動收合\r\n autoCollapse: boolean = this.isPhone();\r\n\r\n constructor(\r\n private sidebarService: NbSidebarService,\r\n private layoutService: LayoutService,\r\n private ms :MyMenuService,\r\n private hs: SubscriptService,\r\n private menuService: NbMenuService,\r\n private _router: Router,\r\n private cookieService: CookieService,) { \r\n\r\n this.menuSub = this.menuService.onItemClick().subscribe((event) => { \r\n if (event.tag == \"sys-menu\") { \r\n \r\n this.hs.AuthChangeSubject.next(event)\r\n\r\n if(window.innerWidth < 750 || this.isPhone()){\r\n console.log('...')\r\n this.sidebarService.toggle(true, 'menu-sidebar');\r\n } \r\n\r\n this.layoutService.changeLayoutSize();\r\n \r\n //失效登出\r\n if(!this.cookieService.get('ORG_Company_ID')){\r\n this.ms.logout();\r\n }\r\n }\r\n\r\n \r\n\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.menuSub) {\r\n this.menuSub.unsubscribe();\r\n }\r\n }\r\n ngOnInit(): void {\r\n this.ms.getMenu()\r\n this.info.menu = this.ms.menu \r\n }\r\n\r\n //2024.02.20 監聽螢幕尺寸變更\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n this.autoCollapse = this.isPhone();\r\n console.log(this.autoCollapse)\r\n }\r\n\r\n //判斷手機版\r\n isPhone() {\r\n let useragent = navigator.userAgent;\r\n let rules = ['WebView', '(iPhone|iPod|iPad)(?!.*Safari\\/)', 'Android.*(wv|\\.0\\.0\\.0)'];\r\n let regex = new RegExp(`(${rules.join('|')})`, 'ig');\r\n let ans = Boolean(useragent.match(regex));\r\n return ans\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n","\r\nimport { NgModule } from '@angular/core';\r\nimport { ThemeModule } from '../@theme/theme.module';\r\nimport { CommonModule } from '@angular/common';\r\nimport {\r\n NbMenuModule,\r\n NbButtonModule,\r\n NbCardModule,\r\n NbIconModule,\r\n NbDialogModule,\r\n NbAccordionModule\r\n} from '@nebular/theme';\r\n\r\n\r\nimport { MainComponent } from './main.component';\r\nimport { MainRoutingModule } from './main-routing.module';\r\nimport { HomeComponent } from './sys/home/home.component';\r\nimport { Ng2SmartTableModule, ɵw as PagerModule } from 'ng2-smart-table';\r\n\r\n\r\n@NgModule({ \r\n imports: [\r\n CommonModule,\r\n NbCardModule,\r\n NbButtonModule,\r\n NbDialogModule.forChild(),\r\n NbIconModule,\r\n NbAccordionModule,\r\n ThemeModule,\r\n NbMenuModule,\r\n MainRoutingModule,\r\n Ng2SmartTableModule,\r\n PagerModule\r\n ],\r\n declarations: [\r\n MainComponent,\r\n HomeComponent,\r\n \r\n \r\n ],\r\n})\r\nexport class MainModule {\r\n\r\n \r\n} \r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { LocalDataSource, ServerDataSource } from \"ng2-smart-table\";\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngx-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.scss']\r\n})\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class HomeComponent implements OnInit {\r\n\r\n dataList = []\r\n Source: LocalDataSource ;\r\n\r\n //基本資料\r\n ORG_Company_ID: number;\r\n ORG_Store_ID: number;\r\n\r\n cntractRd:string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private cookieService: CookieService,\r\n\r\n ) { \r\n this.ORG_Company_ID = parseInt(this.cookieService.get('ORG_Company_ID'));\r\n let cookie_sid = this.cookieService.get('ORG_Store_ID')\r\n this.ORG_Store_ID = (cookie_sid && cookie_sid != '') ? parseInt(cookie_sid) : null\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n this.GetMainList();\r\n\r\n let PerPage = 10\r\n this.Source = new LocalDataSource();\r\n this.Source.setPaging(1,PerPage,false)\r\n\r\n this.GetContractRd();\r\n }\r\n\r\n\r\n onPage(v){\r\n console.log('page',v)\r\n this.GetMainList()\r\n }\r\n\r\n GetMainList(){\r\n let perPage = 10\r\n let page = 1;\r\n if (this.Source && this.Source.getPaging()) {\r\n let pagingConf = this.Source.getPaging();\r\n page = pagingConf.page\r\n perPage = pagingConf.perPage\r\n }\r\n\r\n console.log(\"第幾頁\",page)\r\n\r\n this.http.get(\"api/News/GetNews?\"+ \r\n \"Page=\"+page+\r\n \"&PerPage=\"+perPage+\r\n \"&IsDelete=true\").subscribe({\r\n next: (data) => {\r\n if (data.RESULT != null && data.RESULT != \"\") {\r\n alert(data.RESULT);\r\n } else {\r\n this.dataList = data.LIST\r\n\r\n if(!this.dataList)\r\n this.dataList=[]\r\n\r\n\r\n this.dataList.forEach(x=>{\r\n if(x.StoreList){\r\n x.StoreShow = x.StoreList.map(x=>x.StoreName).join(\"、\")\r\n } \r\n })\r\n\r\n this.Source.load(new Array(data.Total));\r\n \r\n \r\n }\r\n },\r\n error: (error) => {},\r\n });\r\n\r\n }\r\n\r\n GetContractRd(){\r\n let cookie_sid = this.cookieService.get('ORG_Store_ID')\r\n let sid = (cookie_sid && cookie_sid!='') ? parseInt(cookie_sid) : null \r\n this.http.post('api/Contract/ContractRemind',{\r\n ORG_Company_ID: this.ORG_Company_ID,\r\n ORG_Store_ID: sid == 0 ? null : sid,\r\n }).subscribe({\r\n next: data=> {\r\n console.log( data.TipContant);\r\n let my = document.getElementById('contract');\r\n let mytext = document.getElementById('contracttext');\r\n if(data.TipContant){\r\n mytext.innerHTML= '合約提醒:
'+data.TipContant;\r\n my.style.display='flex';\r\n }else{\r\n my.style.display='none';\r\n\r\n }\r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n }\r\n },\r\n )};\r\n \r\n\r\n \r\n\r\n}\r\n","\r\n \r\n 合約提醒:\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n \r\n 公告 \r\n \r\n\r\n\r\n\r\n \r\n\r\n \r\n \r\n
\r\n
{{ item.Title}}
\r\n
{{ item.StartDateTime }}
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n        {{item.Content}}\r\n      
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n\r\n","import { AfterViewInit, Component, OnDestroy,Input, Output, EventEmitter} from '@angular/core';\r\nimport { NbThemeService } from '@nebular/theme';\r\n\r\n@Component({\r\n selector: 'app-my-bar',\r\n template: `\r\n
\r\n
\r\n
\r\n `,\r\n})\r\nexport class MyBarComponent implements AfterViewInit, OnDestroy {\r\n\r\n @Output() emitList = new EventEmitter();\r\n @Input() orgData: lineData; //已選資料_來源\r\n // {\r\n // x: 標\r\n // line:資料\r\n // title:小標\r\n // }\r\n\r\n options: any = {};\r\n themeSubscription: any;\r\n\r\n constructor(private theme: NbThemeService) {\r\n }\r\n\r\n\r\n\r\n\r\n\r\n ngAfterViewInit() {\r\n\r\n \r\n\r\n\r\n\r\n this.themeSubscription = this.theme.getJsTheme().subscribe(config => {\r\n\r\n const colors = config.variables;\r\n const echarts: any = config.variables.echarts;\r\n\r\n this.options = {\r\n backgroundColor: echarts.bg,\r\n color: [colors.warningLight, colors.infoLight, colors.dangerLight, colors.successLight, colors.primaryLight],\r\n legend: {\r\n data: this.orgData.line.map(x=>x.name)\r\n },\r\n tooltip: {\r\n trigger: 'axis',\r\n formatter: function (params) {\r\n \r\n\r\n let title = ['本期','上期']\r\n\r\n let html = `${params[0].axisValue}
`\r\n\r\n for (const idx in params) {\r\n let x = params[idx]\r\n html+= `\r\n ${x.marker} ${title[idx]}\r\n ${x.value}
\r\n `\r\n\r\n }\r\n return html;\r\n },\r\n },\r\n grid: {\r\n \r\n left: '3%',\r\n right: '4%',\r\n bottom: '3%',\r\n containLabel: true\r\n },\r\n toolbox: {\r\n // feature: {\r\n // saveAsImage: {} //圖片下載功能XD\r\n // }\r\n },\r\n xAxis: {\r\n type: 'category',\r\n \r\n data: this.orgData.x,//['11/18', '11/19', '11/20', '11/21', '11/22', '11/23', '11/24'],\r\n axisLabel: {\r\n interval: 0,\r\n rotate: 30 \r\n }\r\n },\r\n \r\n yAxis: {\r\n type: 'value'\r\n },\r\n series: this.orgData.line.map(x=>{\r\n return {\r\n id: x.name,\r\n name: x.name,\r\n type: 'bar',\r\n data: x.value\r\n }\r\n })\r\n \r\n };\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.themeSubscription.unsubscribe();\r\n }\r\n}\r\n\r\n\r\nclass lineData {\r\n x:string[] = [\"e\"]\r\n line:{ \r\n name:string ,\r\n value:number[]\r\n }[]\r\n}\r\n","import { AfterViewInit, Component, OnDestroy,Input, Output, EventEmitter} from '@angular/core';\r\nimport { NbThemeService } from '@nebular/theme';\r\n\r\n@Component({\r\n selector: 'app-my-line',\r\n template: `\r\n
\r\n
\r\n
\r\n `,\r\n})\r\nexport class MyLineComponent implements AfterViewInit, OnDestroy {\r\n @Output() emitList = new EventEmitter();\r\n @Input() orgData: lineData; //已選資料_來源\r\n // {\r\n // x: 標\r\n // line:資料\r\n // title:小標\r\n // }\r\n\r\n options: any = {};\r\n themeSubscription: any;\r\n\r\n constructor(private theme: NbThemeService) {\r\n }\r\n\r\n\r\n\r\n\r\n\r\n ngAfterViewInit() {\r\n\r\n \r\n\r\n\r\n\r\n this.themeSubscription = this.theme.getJsTheme().subscribe(config => {\r\n\r\n const colors = config.variables;\r\n const echarts: any = config.variables.echarts;\r\n\r\n this.options = {\r\n backgroundColor: echarts.bg,\r\n color: [colors.warningLight, colors.infoLight, colors.dangerLight, colors.successLight, colors.primaryLight],\r\n legend: {\r\n data: this.orgData.line.map(x=>x.name)\r\n },\r\n tooltip: {\r\n trigger: 'axis',\r\n formatter: function (params) {\r\n \r\n\r\n let title = ['本期','上期']\r\n\r\n let html = `${params[0].axisValue}
`\r\n\r\n for (const idx in params) {\r\n let x = params[idx]\r\n html+= `\r\n ${x.marker} ${title[idx]}\r\n ${x.value}
\r\n `\r\n\r\n }\r\n return html;\r\n },\r\n },\r\n grid: {\r\n \r\n left: '3%',\r\n right: '4%',\r\n bottom: '3%',\r\n containLabel: true\r\n },\r\n toolbox: {\r\n // feature: {\r\n // saveAsImage: {} //圖片下載功能XD\r\n // }\r\n },\r\n xAxis: {\r\n type: 'category',\r\n boundaryGap: false,\r\n data: this.orgData.x,//['11/18', '11/19', '11/20', '11/21', '11/22', '11/23', '11/24']\r\n },\r\n yAxis: {\r\n type: 'value'\r\n },\r\n series: this.orgData.line.map(x=>{\r\n return {\r\n id: x.name,\r\n name: x.name,\r\n type: 'line',\r\n data: x.value\r\n }\r\n })\r\n // [\r\n // {\r\n // name: '本期',\r\n // type: 'line',\r\n // stack: 'Total',\r\n // data: [120, 132, 101, 134, 90, 230, 210]\r\n // },\r\n // {\r\n // name: '上期',\r\n // type: 'line',\r\n // stack: 'Total',\r\n // data: [220, 182, 191, 234, 290, 330, 310]\r\n // }, \r\n // ]\r\n };\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.themeSubscription.unsubscribe();\r\n }\r\n}\r\n\r\n\r\nclass lineData {\r\n x:string[] = [\"e\"]\r\n line:{ \r\n name:string ,\r\n value:number[]\r\n }[]\r\n}","import { AfterViewInit, Component, OnDestroy ,Input, Output,EventEmitter} from '@angular/core';\r\nimport { NbThemeService } from '@nebular/theme';\r\nimport * as internal from 'stream';\r\n\r\n@Component({\r\n selector: 'app-my-pie',\r\n template: `\r\n
\r\n
\r\n
\r\n `,\r\n})\r\nexport class MyPieComponent implements AfterViewInit, OnDestroy {\r\n @Output() emitList = new EventEmitter();\r\n @Input() orgData: pieData; //已選資料_來源\r\n @Input() title: string; \r\n @Input() datatitle: string; \r\n\r\n\r\n options: any = {};\r\n themeSubscription: any;\r\n\r\n constructor(private theme: NbThemeService) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.themeSubscription = this.theme.getJsTheme().subscribe(config => {\r\n\r\n const colors = config.variables;\r\n const echarts: any = config.variables.echarts;\r\n\r\n this.options = {\r\n title: {\r\n text: this.title,\r\n left: 'center',\r\n top:0,\r\n \r\n },\r\n height:250,\r\n color: [colors.warningLight, colors.infoLight, colors.dangerLight, colors.successLight, colors.primaryLight],\r\n tooltip: {\r\n trigger: 'item',\r\n formatter: '{a}
{b} : {c} ({d}%)',\r\n },\r\n legend: {\r\n orient: 'vertical',\r\n left: 'left',\r\n data: ['USA', 'Germany', 'France', 'Canada', 'Russia'],\r\n // textStyle: {\r\n // color: echarts.textColor,\r\n // },\r\n },\r\n series: [\r\n {\r\n top:10,\r\n name: this.datatitle ? this.datatitle : this.title,\r\n type: 'pie',\r\n data: this.orgData ,\r\n // [\r\n // { name: '银河帝国5:迈向基地', value: 18.8 },\r\n // { name: '俞军产品方法论', value: 25.3 },\r\n // { name: '艺术的逃难', value: 12.2 },\r\n // { name: '第一次世界大战回忆录(全五卷)', value: 1.3 },\r\n // { name: 'Scrum 精髓', value: 1.2 },\r\n // { name: '其它', value: 15.7 }\r\n // ],\r\n radius: [30, 100],\r\n itemStyle: {\r\n borderColor: '#fff',\r\n borderWidth: 1\r\n },\r\n label: {\r\n alignTo: 'labelLine',\r\n // formatter: '{name|{b}}\\n{time|{c} 小时}',\r\n minMargin: 15,\r\n bleedMargin: 10,\r\n lineHeight: 15,\r\n rich: {\r\n time: {\r\n fontSize: 10,\r\n color: '#999'\r\n }\r\n }\r\n },\r\n labelLine: {\r\n length: 15,\r\n length2: 0,\r\n maxSurfaceAngle: 80\r\n },\r\n labelLayout: function (params) {\r\n const isLeft = params.labelRect.x < 100 / 2;\r\n const points = params.labelLinePoints as number[][];\r\n // Update the end point.\r\n points[2][0] = isLeft\r\n ? params.labelRect.x\r\n : params.labelRect.x + params.labelRect.width;\r\n \r\n return {\r\n labelLinePoints: points\r\n };\r\n },\r\n \r\n \r\n },\r\n ],\r\n };\r\n });\r\n\r\n\r\n\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.themeSubscription.unsubscribe();\r\n }\r\n}\r\n\r\n\r\nclass pieData {\r\n name:string\r\n value:internal\r\n}\r\n","import { AfterViewInit, Component, OnDestroy,Input, Output, EventEmitter} from '@angular/core';\r\nimport { NbThemeService } from '@nebular/theme';\r\n\r\n@Component({\r\n selector: 'app-my-point',\r\n template: `\r\n
\r\n
\r\n
\r\n `,\r\n})\r\nexport class MyPointComponent implements AfterViewInit, OnDestroy {\r\n @Output() emitList = new EventEmitter();\r\n @Input() orgData: lineData; //已選資料_來源\r\n\r\n options: any = {};\r\n themeSubscription: any;\r\n\r\n constructor(private theme: NbThemeService) {\r\n }\r\n\r\n\r\n\r\n\r\n\r\n ngAfterViewInit() {\r\n\r\n \r\n\r\n\r\n\r\n this.themeSubscription = this.theme.getJsTheme().subscribe(config => {\r\n\r\n const colors = config.variables;\r\n const echarts: any = config.variables.echarts;\r\n\r\n\r\n const dataBJ = [\r\n [1, 55, 9, 56, 0.46, 18, 6, '良'],\r\n [2, 25, 11, 21, 0.65, 34, 9, '优'],\r\n [3, 56, 7, 63, 0.3, 14, 5, '良'],\r\n [4, 33, 7, 29, 0.33, 16, 6, '优'],\r\n [5, 42, 24, 44, 0.76, 40, 16, '优'],\r\n [6, 82, 58, 90, 1.77, 68, 33, '良'],\r\n [7, 74, 49, 77, 1.46, 48, 27, '良'],\r\n [8, 78, 55, 80, 1.29, 59, 29, '良'],\r\n [9, 267, 216, 280, 4.8, 108, 64, '重度污染'],\r\n [10, 185, 127, 216, 2.52, 61, 27, '中度污染'],\r\n [11, 39, 19, 38, 0.57, 31, 15, '优'],\r\n [12, 41, 11, 40, 0.43, 21, 7, '优'],\r\n [13, 64, 38, 74, 1.04, 46, 22, '良'],\r\n [14, 108, 79, 120, 1.7, 75, 41, '轻度污染'],\r\n [15, 108, 63, 116, 1.48, 44, 26, '轻度污染'],\r\n [16, 33, 6, 29, 0.34, 13, 5, '优'],\r\n [17, 94, 66, 110, 1.54, 62, 31, '良'],\r\n [18, 186, 142, 192, 3.88, 93, 79, '中度污染'],\r\n [19, 57, 31, 54, 0.96, 32, 14, '良'],\r\n [20, 22, 8, 17, 0.48, 23, 10, '优'],\r\n [21, 39, 15, 36, 0.61, 29, 13, '优'],\r\n [22, 94, 69, 114, 2.08, 73, 39, '良'],\r\n [23, 99, 73, 110, 2.43, 76, 48, '良'],\r\n [24, 31, 12, 30, 0.5, 32, 16, '优'],\r\n [25, 42, 27, 43, 1, 53, 22, '优'],\r\n [26, 154, 117, 157, 3.05, 92, 58, '中度污染'],\r\n [27, 234, 185, 230, 4.09, 123, 69, '重度污染'],\r\n [28, 160, 120, 186, 2.77, 91, 50, '中度污染'],\r\n [29, 134, 96, 165, 2.76, 83, 41, '轻度污染'],\r\n [30, 52, 24, 60, 1.03, 50, 21, '良'],\r\n [31, 46, 5, 49, 0.28, 10, 6, '优']\r\n ];\r\n const dataGZ = [\r\n [1, 26, 37, 27, 1.163, 27, 13, '优'],\r\n [2, 85, 62, 71, 1.195, 60, 8, '良'],\r\n [3, 78, 38, 74, 1.363, 37, 7, '良'],\r\n [4, 21, 21, 36, 0.634, 40, 9, '优'],\r\n [5, 41, 42, 46, 0.915, 81, 13, '优'],\r\n [6, 56, 52, 69, 1.067, 92, 16, '良'],\r\n [7, 64, 30, 28, 0.924, 51, 2, '良'],\r\n [8, 55, 48, 74, 1.236, 75, 26, '良'],\r\n [9, 76, 85, 113, 1.237, 114, 27, '良'],\r\n [10, 91, 81, 104, 1.041, 56, 40, '良'],\r\n [11, 84, 39, 60, 0.964, 25, 11, '良'],\r\n [12, 64, 51, 101, 0.862, 58, 23, '良'],\r\n [13, 70, 69, 120, 1.198, 65, 36, '良'],\r\n [14, 77, 105, 178, 2.549, 64, 16, '良'],\r\n [15, 109, 68, 87, 0.996, 74, 29, '轻度污染'],\r\n [16, 73, 68, 97, 0.905, 51, 34, '良'],\r\n [17, 54, 27, 47, 0.592, 53, 12, '良'],\r\n [18, 51, 61, 97, 0.811, 65, 19, '良'],\r\n [19, 91, 71, 121, 1.374, 43, 18, '良'],\r\n [20, 73, 102, 182, 2.787, 44, 19, '良'],\r\n [21, 73, 50, 76, 0.717, 31, 20, '良'],\r\n [22, 84, 94, 140, 2.238, 68, 18, '良'],\r\n [23, 93, 77, 104, 1.165, 53, 7, '良'],\r\n [24, 99, 130, 227, 3.97, 55, 15, '良'],\r\n [25, 146, 84, 139, 1.094, 40, 17, '轻度污染'],\r\n [26, 113, 108, 137, 1.481, 48, 15, '轻度污染'],\r\n [27, 81, 48, 62, 1.619, 26, 3, '良'],\r\n [28, 56, 48, 68, 1.336, 37, 9, '良'],\r\n [29, 82, 92, 174, 3.29, 0, 13, '良'],\r\n [30, 106, 116, 188, 3.628, 101, 16, '轻度污染'],\r\n [31, 118, 50, 0, 1.383, 76, 11, '轻度污染']\r\n ];\r\n const dataSH = [\r\n [1, 91, 45, 125, 0.82, 34, 23, '良'],\r\n [2, 65, 27, 78, 0.86, 45, 29, '良'],\r\n [3, 83, 60, 84, 1.09, 73, 27, '良'],\r\n [4, 109, 81, 121, 1.28, 68, 51, '轻度污染'],\r\n [5, 106, 77, 114, 1.07, 55, 51, '轻度污染'],\r\n [6, 109, 81, 121, 1.28, 68, 51, '轻度污染'],\r\n [7, 106, 77, 114, 1.07, 55, 51, '轻度污染'],\r\n [8, 89, 65, 78, 0.86, 51, 26, '良'],\r\n [9, 53, 33, 47, 0.64, 50, 17, '良'],\r\n [10, 80, 55, 80, 1.01, 75, 24, '良'],\r\n [11, 117, 81, 124, 1.03, 45, 24, '轻度污染'],\r\n [12, 99, 71, 142, 1.1, 62, 42, '良'],\r\n [13, 95, 69, 130, 1.28, 74, 50, '良'],\r\n [14, 116, 87, 131, 1.47, 84, 40, '轻度污染'],\r\n [15, 108, 80, 121, 1.3, 85, 37, '轻度污染'],\r\n [16, 134, 83, 167, 1.16, 57, 43, '轻度污染'],\r\n [17, 79, 43, 107, 1.05, 59, 37, '良'],\r\n [18, 71, 46, 89, 0.86, 64, 25, '良'],\r\n [19, 97, 71, 113, 1.17, 88, 31, '良'],\r\n [20, 84, 57, 91, 0.85, 55, 31, '良'],\r\n [21, 87, 63, 101, 0.9, 56, 41, '良'],\r\n [22, 104, 77, 119, 1.09, 73, 48, '轻度污染'],\r\n [23, 87, 62, 100, 1, 72, 28, '良'],\r\n [24, 168, 128, 172, 1.49, 97, 56, '中度污染'],\r\n [25, 65, 45, 51, 0.74, 39, 17, '良'],\r\n [26, 39, 24, 38, 0.61, 47, 17, '优'],\r\n [27, 39, 24, 39, 0.59, 50, 19, '优'],\r\n [28, 93, 68, 96, 1.05, 79, 29, '良'],\r\n [29, 188, 143, 197, 1.66, 99, 51, '中度污染'],\r\n [30, 174, 131, 174, 1.55, 108, 50, '中度污染'],\r\n [31, 187, 143, 201, 1.39, 89, 53, '中度污染']\r\n ];\r\n const schema = [\r\n { name: 'date', index: 0, text: '日' },\r\n { name: 'AQIindex', index: 1, text: 'AQI指数' },\r\n { name: 'PM25', index: 2, text: 'PM2.5' },\r\n { name: 'PM10', index: 3, text: 'PM10' },\r\n { name: 'CO', index: 4, text: '一氧化碳(CO)' },\r\n { name: 'NO2', index: 5, text: '二氧化氮(NO2)' },\r\n { name: 'SO2', index: 6, text: '二氧化硫(SO2)' }\r\n ];\r\n const itemStyle = {\r\n opacity: 0.8,\r\n shadowBlur: 10,\r\n shadowOffsetX: 0,\r\n shadowOffsetY: 0,\r\n shadowColor: 'rgba(0,0,0,0.3)'\r\n };\r\n this.options = {\r\n color: [colors.warningLight, colors.infoLight, colors.dangerLight, colors.successLight, colors.primaryLight],\r\n \r\n legend: {\r\n top: 10,\r\n data: ['商品類A', '商品類B', '商品類C'],\r\n textStyle: {\r\n fontSize: 16\r\n }\r\n },\r\n grid: {\r\n left: '10%',\r\n right: 150,\r\n top: '18%',\r\n bottom: '10%'\r\n },\r\n tooltip: {\r\n formatter: function (param) {\r\n var value = param.value;\r\n // prettier-ignore\r\n return '
'\r\n + param.seriesName + ' ' + value[0] + '日:'\r\n + value[7]\r\n + '
'\r\n + schema[1].text + ':' + value[1] + '
'\r\n + schema[2].text + ':' + value[2] + '
'\r\n + schema[3].text + ':' + value[3] + '
'\r\n + schema[4].text + ':' + value[4] + '
'\r\n + schema[5].text + ':' + value[5] + '
'\r\n + schema[6].text + ':' + value[6] + '
';\r\n }\r\n },\r\n xAxis: {\r\n type: 'value',\r\n name: '點選率',\r\n nameGap: 16,\r\n nameTextStyle: {\r\n fontSize: 16\r\n },\r\n splitLine: {\r\n show: true\r\n }\r\n },\r\n yAxis: {\r\n type: 'value',\r\n name: '單價',\r\n nameLocation: 'end',\r\n nameGap: 20,\r\n nameTextStyle: {\r\n fontSize: 16\r\n },\r\n splitLine: {\r\n show: false\r\n }\r\n },\r\n visualMap: [\r\n {\r\n left: 'right',\r\n bottom: '5%',\r\n itemWidth: 30,\r\n itemHeight: 180, \r\n text: ['圆形大小:銷售量'],\r\n textGap: 10,\r\n controller: {\r\n inRange: {\r\n color: ['#39C']\r\n },\r\n },\r\n \r\n dimension: 2,\r\n inRange: {\r\n symbolSize: [10, 60]\r\n },\r\n \r\n },\r\n \r\n ],\r\n series: [\r\n {\r\n name: '商品類A',\r\n type: 'scatter',\r\n itemStyle: itemStyle,\r\n data: dataBJ\r\n },\r\n {\r\n name: '商品類B',\r\n type: 'scatter',\r\n itemStyle: itemStyle,\r\n data: dataSH\r\n },\r\n {\r\n name: '商品類C',\r\n type: 'scatter',\r\n itemStyle: itemStyle,\r\n data: dataGZ\r\n }\r\n ]\r\n };\r\n\r\n \r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.themeSubscription.unsubscribe();\r\n }\r\n}\r\n\r\n\r\nclass lineData {\r\n x:string[] = [\"e\"]\r\n line:{ \r\n name:string ,\r\n value:number[]\r\n }[]\r\n}","import { Component, OnInit, Output, EventEmitter, Input,OnChanges } from '@angular/core';\r\n\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-calendar',\r\n templateUrl: './calendar.component.html',\r\n styleUrls: ['./calendar.component.css']\r\n})\r\n\r\nexport class CalendarComponent implements OnInit ,OnChanges{\r\n @Output() emitDate = new EventEmitter();\r\n @Output() emitMonth = new EventEmitter();\r\n @Output() emitDateDrow = new EventEmitter();\r\n\r\n @Input() infoList = Array();\r\n\r\n\r\n YYYY = null;\r\n MM = null;\r\n DD = null;\r\n\r\n\r\n typeMonthFlag = false;//日曆與月曆\r\n printDays: Array>;\r\n printMonth: Array;\r\n\r\n infoColor=[\r\n \"#338a96\",\r\n \"rgb(64 176 191 / 85%)\",\r\n \"#52cbdb\",\r\n \"rgb(64 176 191 / 45%)\"\r\n ]\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.createCale()\r\n this.insertInfo();\r\n }\r\n\r\n ngOnChanges(){\r\n console.log('change infoList',this.infoList)\r\n this.insertInfo();\r\n }\r\n\r\n //建立日歷\r\n createCale() {\r\n\r\n let date = new Date();\r\n //date.setFullYear(y);\r\n // date.setMonth(m);\r\n\r\n\r\n\r\n //預設當前時段\r\n if (this.YYYY == null) this.YYYY = date.getFullYear();\r\n //else date.setFullYear(this.YYYY)\r\n if (this.MM == null) this.MM = date.getMonth();\r\n //else date.setMonth(this.MM)\r\n if (this.DD == null) this.DD = date.getDate();\r\n\r\n\r\n //每月日數陣列\r\n let monthDays = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);\r\n\r\n // 閏年判斷\t \r\n let mYear = this.YYYY;\r\n if (((mYear % 4 == 0) && (mYear % 100 != 0)) || (mYear % 400 == 0)) monthDays[1] = 29;\r\n\r\n //起始星期幾判斷 \r\n let a = new Date(this.YYYY + '/' + (this.MM + 1) + '/01');\r\n let startWeekday = a.getDay();\r\n console.log(this.YYYY + '/' + (this.MM + 1) + '/' + this.DD + '星' + a + '..' + a.getDay())\r\n\r\n\r\n //-----日曆內容填入------ \r\n let dayList = [];\r\n //1號之前的空白星期 當前格式日 一 二... 如替換成 一 二 三...weekday須減1\r\n for (let i = 0; i < startWeekday; i++) {\r\n let obj = new PrintDayObj();\r\n obj.DD=\"\";\r\n dayList.push(obj);\r\n }\r\n\r\n //日期碼 \r\n for (let i = 1; i <= monthDays[this.MM]; i++) {\r\n let obj = new PrintDayObj();\r\n obj.DD=i.toString();\r\n dayList.push(obj);\r\n }\r\n //分割成七天一列\r\n this.printDays = _.chunk(dayList, 7)\r\n\r\n //補上剩下的空白\r\n let empty = 7 - this.printDays[this.printDays.length - 1].length\r\n for (let i = 0; i < empty; i++) {\r\n\r\n let obj = new PrintDayObj();\r\n obj.DD=\"\";\r\n this.printDays[this.printDays.length - 1].push(obj);\r\n\r\n }\r\n\r\n\r\n //月份顯示\r\n this.printMonth = ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']\r\n this.printMonth = _.chunk(this.printMonth, 3)\r\n\r\n\r\n this.emitMonth.emit(this.YYYY+'/'+(this.MM+1)+'/01')\r\n\r\n }\r\n\r\n //下一月\r\n setdown() {\r\n if (this.MM == 0) {\r\n this.MM = 11;\r\n this.YYYY--;\r\n }\r\n else this.MM--;\r\n\r\n this.createCale();\r\n }\r\n\r\n //上一月\r\n setup() {\r\n if (this.MM == 11) {\r\n this.MM = 0;\r\n this.YYYY++;\r\n }\r\n else this.MM++;\r\n\r\n this.createCale();\r\n }\r\n\r\n //下一年\r\n setYdown() {\r\n this.YYYY--;\r\n this.createCale();\r\n }\r\n\r\n //上一年\r\n setYup() {\r\n this.YYYY++;\r\n this.createCale();\r\n }\r\n\r\n //選擇月份\r\n selectM(m) {\r\n\r\n this.MM = m;\r\n this.createCale();\r\n this.typeMonthFlag = false\r\n }\r\n\r\n //選擇日期\r\n selectD(dayDate) {\r\n this.DD = dayDate.DD\r\n \r\n let obj:Output_InfoListObj = {\r\n date: this.YYYY + '/' + (this.MM < 9 ? '0' : '') + (this.MM + 1) + '/' + (this.DD < 9 ? '0' : '') + this.DD,\r\n content: dayDate.info\r\n }\r\n this.emitDate.emit(obj);\r\n console.log('送出:',obj)\r\n\r\n }\r\n\r\n //寫入Info資訊\r\n insertInfo(){\r\n\r\n //歸零\r\n _.each(this.printDays,row => { \r\n row.forEach(day=> {\r\n day.info =[]\r\n })\r\n })\r\n\r\n \r\n let infoList= this.infoList\r\n infoList.forEach(x=>{\r\n let infoDay = new Date(x.date)\r\n \r\n _.each(this.printDays,row => { \r\n let dayObj = _.find(row, day => { \r\n \r\n if( infoDay.getFullYear() == this.YYYY &&\r\n infoDay.getMonth() == this.MM &&\r\n infoDay.getDate().toString() == day.DD\r\n ){ \r\n return true //找到目標日\r\n } \r\n })\r\n\r\n \r\n if(dayObj){\r\n dayObj.info = x.content;\r\n console.log('insert!!');\r\n return false //跳出整個迴圈\r\n }\r\n\r\n });\r\n \r\n })\r\n\r\n console.log('printDays', this.printDays)\r\n\r\n \r\n\r\n\r\n\r\n\r\n }\r\n\r\n //托拽開始\r\n dragstart_handler(ev,info,date) {\r\n let json = JSON.stringify({\r\n date:date,\r\n info:info\r\n })\r\n\r\n ev.dataTransfer.setData(\"text/plain\", json);\r\n \r\n }\r\n\r\n //托拽結束\r\n drop_handler(ev,tdData){\r\n ev.preventDefault();\r\n let jsonStr = ev.dataTransfer.getData(\"text\");\r\n // console.log('time',time)\r\n // console.log('tdData',tdData)\r\n let data = JSON.parse( jsonStr )\r\n console.log('data',data)\r\n \r\n if(data.date == tdData.DD) return\r\n\r\n if(tdData.info){ \r\n tdData.info.push({\r\n color: data.info.color ? data.info.color : null,\r\n msg : data.info.msg,\r\n id:data.id\r\n })\r\n }\r\n else{\r\n tdData = _.assign(tdData, {info:[{\r\n color: data.info.color ? data.info.color : null,\r\n msg : data.info.msg,\r\n id:data.id\r\n }]})\r\n }\r\n\r\n let obj:Output_InfoListObj = {\r\n date: this.YYYY + '/' + (this.MM < 9 ? '0' : '') + (this.MM + 1) + '/' + (this.DD < 9 ? '0' : '') + tdData.DD,\r\n content: tdData.info\r\n }\r\n\r\n this.emitDateDrow.emit(obj);\r\n\r\n console.log(\"GO\",obj)\r\n }\r\n //托拽移入過\r\n dragover_handler(ev){\r\n ev.preventDefault();\r\n ev.dataTransfer.dropEffect = \"move\"\r\n }\r\n\r\n}\r\n\r\n//日曆內容\r\nclass PrintDayObj {\r\n DD: string;\r\n info: Array;\r\n}\r\n\r\n//日曆資訊格式\r\nclass InfoObj {\r\n color: string;\r\n msg: string;\r\n id:string;\r\n}\r\n\r\n//對外接收資料的格式\r\nclass Input_InfoListObj {\r\n date: string;\r\n content: Array;\r\n}\r\n\r\n\r\n//對外送出資料格式\r\nclass Output_InfoListObj {\r\n date: string;\r\n content: Array;\r\n}\r\n\r\n\r\n","\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {{ day.DD }}\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{mon}}
\r\n
\r\n
\r\n
","import {\r\n Component,\r\n OnInit,\r\n Output,\r\n EventEmitter,\r\n Input,\r\n ViewChild,\r\n TemplateRef,\r\n} from \"@angular/core\";\r\nimport { NbDialogService } from \"@nebular/theme\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { CookieService } from \"ngx-cookie-service\";\r\nimport * as _ from \"lodash\";\r\nimport { DatePipe } from '@angular/common';\r\n\r\n@Component({\r\n selector: \"app-edit-EOS-product\",\r\n templateUrl: \"./edit-EOS-product.component.html\",\r\n styleUrls: [\"./edit-EOS-product.component.scss\"],\r\n})\r\nexport class EditEOSProductComponent implements OnInit {\r\n @Output() emitList = new EventEmitter();\r\n @Output() emitClose = new EventEmitter();\r\n @Input() orgData: ModifyPRDProductReq; //已選資料_來源\r\n @Input() info: {\r\n IsLoding:boolean,\r\n moType: number; //目前編輯狀態 1.新增 2.編輯 3.複製 4.查看\r\n orgType: number; //來源類型 1.設定檔&設定檔附加品項中 2.菜單檔 3.使用中菜單檔&使用中菜單檔附加品項中 \r\n pdShowType: number; //1.商品 2.附加品項中商品\r\n pfType:number;//平台類型 1.POS 2.享online 3.uber 4.panda\r\n ORG_Store_ID:null\r\n groupList: selectData[]; \r\n isChange_Group : boolean;\r\n EOSProductGroupNo:null\r\n PRDMenuProductGroupNo:null\r\n storeList: selectData[];\r\n \r\n\r\n //-------old------------\r\n PRDProductGroupNo: null;\r\n EOSProductNo: null;\r\n };\r\n //標題\r\n moTitle: string;\r\n title2: string;\r\n //主要資料\r\n mealData: ModifyPRDProductReq;\r\n\r\n //操作者資料\r\n USR_AccountInfo_ID: string;\r\n USR_EmployeeInfo_ID: string;\r\n ORG_Company_ID: number;\r\n ORG_Store_ID: number;\r\n authChangeSub:any;\r\n\r\n //圖片\r\n testFiles;\r\n\r\n //---------------選項列表-------->--------------//\r\n //稅率列表\r\n TaxRateList = [];\r\n TaxTypeList = [\r\n { value: 1, content: \"免稅\" },\r\n { value: 2, content: \"應稅\" },\r\n { value: 3, content: \"零稅\" },\r\n ];\r\n\r\n //-------<--------選項列表----------------------//\r\n\r\n @ViewChild(\"Modal\") Modal: TemplateRef;\r\n modalRef = null; //談窗鉤子\r\n @ViewChild(\"DayModal\") DayModal: TemplateRef;\r\n dayModalRef = null; //談窗鉤子\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private dialogService: NbDialogService,\r\n private cookieService: CookieService,\r\n private datePipe: DatePipe,\r\n ) {\r\n this.USR_AccountInfo_ID = this.cookieService.get('USR_AccountInfo_ID') ? \r\n \"USR_AccountInfo_ID_\"+this.cookieService.get('USR_AccountInfo_ID') :\r\n this.cookieService.get('USR_POSEmployeeInfo_ID') ? \r\n \"USR_POSEmployeeInfo_ID\"+this.cookieService.get('USR_POSEmployeeInfo_ID') : null\r\n this.USR_EmployeeInfo_ID = this.cookieService.get('USR_EmployeeInfo_ID')\r\n this.ORG_Company_ID = parseInt(this.cookieService.get('ORG_Company_ID'))\r\n let cookie_sid = this.cookieService.get('ORG_Store_ID')\r\n this.ORG_Store_ID= (cookie_sid && cookie_sid!='') ? parseInt(cookie_sid) : null\r\n }\r\n \r\n ngOnInit(): void {\r\n for (let i = 1; i < 100; i++) {\r\n this.TaxRateList.push({ value: i, content: i + \"%\" });\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.onOpen(this.info, this.orgData)\r\n }\r\n\r\n onOpen(info, data) {\r\n if (info) this.info = info;\r\n\r\n this.mealData = new ModifyPRDProductReq();\r\n this.getStoreList()\r\n this.toSalesOutletDetail(data);\r\n this.toStoreSaleCashDetail(data);\r\n \r\n if (this.info.moType == 1) {\r\n this.moTitle = \"新增\";\r\n\r\n this.mealData.EOSProductGroupNo = this.info.EOSProductGroupNo\r\n this.mealData.PRDMenuProductGroupNo= this.info.PRDMenuProductGroupNo\r\n }\r\n else if (this.info.moType == 2) {\r\n this.moTitle = \"編輯\";\r\n if (data) {\r\n this.toProductDetail(data);\r\n } \r\n }\r\n else if (this.info.moType == 3) {\r\n this.moTitle = \"複製\";\r\n if (data) {\r\n this.toProductDetail(data);\r\n this.mealData.EOSProductNo = null;\r\n }\r\n\r\n if(this.info.orgType == 1){\r\n this.getStoreList()\r\n }\r\n\r\n }\r\n else if (this.info.moType == 4) {\r\n this.moTitle = \"查看\";\r\n if (data) {\r\n this.toProductDetail(data);\r\n } else {\r\n this.getProductDetail(null);\r\n }\r\n }\r\n\r\n if (this.info.orgType == 1) {\r\n this.title2 = \"預設資料\";\r\n }\r\n else if (this.info.orgType == 2) {\r\n this.title2 = \"可調整資料\";\r\n if(!this.mealData.SupplyQTY)\r\n this.mealData.SupplyQTY = 10000;\r\n }\r\n else if (this.info.orgType == 3) {\r\n this.title2 = \"販售資料\";\r\n }\r\n\r\n if(!info.pdShowType){\r\n info.pdShowType=1\r\n }\r\n\r\n this.modalRef = this.dialogService.open(this.Modal, {});\r\n this.modalRef.onClose.subscribe(result => {\r\n this.emitClose.emit(true);\r\n });\r\n }\r\n\r\n onSave() {\r\n if (!this.mealData.Cash && this.mealData.Cash != 0) {\r\n alert(\"商品原價必須填!\");\r\n return null;\r\n }\r\n if (!this.mealData.SaleCash && this.mealData.SaleCash != 0) {\r\n alert(\"商品售價必須填!\");\r\n return null;\r\n }\r\n\r\n //轉換營業時段\r\n if (this.mealData.supplyPeriod && this.mealData.supplyPeriod.length ) {\r\n if (this.mealData.supplyPeriod.length >= 1) {\r\n this.mealData.FirstSupplyStartTime = \r\n this.datePipe.transform(this.mealData.supplyPeriod[0].startTime, 'yyyy/MM/dd HH:mm:ss')\r\n \r\n this.mealData.FirstSupplyEndTime = \r\n this.datePipe.transform(this.mealData.supplyPeriod[0].endTime, 'yyyy/MM/dd HH:mm:ss')\r\n\r\n if(this.mealData.supplyPeriod[0].startTime > this.mealData.supplyPeriod[0].endTime){\r\n alert(\"開始日期不可大於結束日期!\")\r\n return \r\n }\r\n }\r\n \r\n\r\n\r\n if (this.mealData.supplyPeriod.length >= 2) {\r\n this.mealData.SecondSupplyStartTime = \r\n this.datePipe.transform(this.mealData.supplyPeriod[1].startTime, 'yyyy/MM/dd HH:mm:ss')\r\n this.mealData.SecondSupplyEndTime = \r\n this.datePipe.transform(this.mealData.supplyPeriod[1].endTime, 'yyyy/MM/dd HH:mm:ss')\r\n\r\n if(this.mealData.supplyPeriod[1].startTime > this.mealData.supplyPeriod[1].endTime){\r\n alert(\"開始日期不可大於結束日期!\")\r\n return\r\n }\r\n }\r\n }\r\n else{\r\n this.mealData.FirstSupplyStartTime = \"\"\r\n this.mealData.FirstSupplyEndTime = \"\"\r\n this.mealData.SecondSupplyStartTime = \"\"\r\n this.mealData.SecondSupplyEndTime = \"\"\r\n }\r\n\r\n \r\n \r\n //圖片處理\r\n if (this.mealData.files && this.mealData.files.length > 0) {\r\n this.mealData.Image = this.mealData.files[0].path;\r\n }\r\n\r\n //加購品項\r\n let attachItemGroups: string = \"\";\r\n if (this.mealData.AttachItemGroupJsonDatas) {\r\n let data = _.orderBy(this.mealData.AttachItemGroupJsonDatas,x=>['Sorting'], ['asc'])\r\n data.forEach((item) => {\r\n if (attachItemGroups == \"\") {\r\n attachItemGroups = item.PRDMenuAttachItemGroupNo;\r\n } else {\r\n attachItemGroups = attachItemGroups + \",\" + item.PRDMenuAttachItemGroupNo;\r\n }\r\n\r\n item.Sorting = item.Sorting*1\r\n });\r\n }\r\n this.mealData.AttachItemGroupJsonData = attachItemGroups;\r\n\r\n let ProductStoreCashData = this.mealData.ProductStoreCashMapJsonData ?\r\n this.mealData.ProductStoreCashMapJsonData\r\n .filter(item => item.SaleCash !== null) \r\n .map(({ storeName, ...rest }) => ({ ...rest })) :\r\n [];\r\n\r\n if (this.mealData.ProductStoreMapJsonDatas === undefined){\r\n this.mealData.ProductStoreMapJsonDatas = []\r\n }\r\n \r\n //格式處理\r\n let Main = {\r\n ProductName: this.mealData.ProductName,\r\n ProductContant: this.mealData.ProductContant,\r\n Image: this.mealData.Image,\r\n TaxRate: this.mealData.TaxRate,\r\n TaxType: this.mealData.TaxType,\r\n Cash: this.mealData.Cash,\r\n }\r\n let Detail = {\r\n SaleCash: this.mealData.SaleCash,\r\n Sorting: this.mealData.Sorting,\r\n IsOpenTakeout: this.mealData.IsOpenTakeout,\r\n IsOpenDelivery: this.mealData.IsOpenDelivery,\r\n IsOpenDining: this.mealData.IsOpenDining,\r\n IsOpenSelfPickup: this.mealData.IsOpenSelfPickup,\r\n IsOpenReserveDining: this.mealData.IsOpenReserveDining,\r\n SupplyQTY: this.mealData.SupplyQTY,\r\n UplimitQTY: this.mealData.UplimitQTY,\r\n SupplyDay: this.mealData.SupplyDay,\r\n FirstSupplyStartTime: this.mealData.FirstSupplyStartTime,\r\n FirstSupplyEndTime: this.mealData.FirstSupplyEndTime,\r\n SecondSupplyStartTime: this.mealData.SecondSupplyStartTime,\r\n SecondSupplyEndTime: this.mealData.SecondSupplyEndTime,\r\n AttachItemGroupJsonDatas: this.mealData.AttachItemGroupJsonDatas,\r\n ProductStoreMapJsonDatas: this.mealData.ProductStoreMapJsonDatas,\r\n ProductStoreCashMapJsonDatas: ProductStoreCashData,\r\n }\r\n this.mealData.Main = Main\r\n this.mealData.Detail = Detail\r\n this.mealData.ORG_Company_ID = this.ORG_Company_ID;\r\n this.mealData.USR_EmployeeInfo_ID = parseInt(this.USR_EmployeeInfo_ID);\r\n this.mealData.USR_AccountInfo_ID = this.USR_AccountInfo_ID; //建立者;\r\n\r\n console.log('送出',this.mealData)\r\n\r\n this.emitList.emit(this.mealData);\r\n // this.modalRef.close();\r\n }\r\n\r\n\r\n //商品彈窗 新增供應時段\r\n addSupplyData() {\r\n if (this.mealData.supplyPeriod == null) {\r\n this.mealData.supplyPeriod = [];\r\n }\r\n if (this.mealData.supplyPeriod.length >= 2) {\r\n return;\r\n }\r\n this.mealData.supplyPeriod.push(new supplyPeriod());\r\n }\r\n\r\n //商品彈窗 刪除供應時段\r\n delSupplyData(idx) {\r\n this.mealData.supplyPeriod.splice(idx, 1);\r\n }\r\n\r\n //商品彈窗 供應日期 設定\r\n addSupplyTime() {\r\n this.dayModalRef = this.dialogService.open(this.DayModal, {});\r\n }\r\n //商品彈窗 供應日期 顯示\r\n showSupplyTime() {\r\n var str = [];\r\n var value = [];\r\n this.mealData.SupplyDay = \"\";\r\n if (this.mealData.supplyTimeMonday) {\r\n str.push(\"星期一\");\r\n value.push(\"1\");\r\n }\r\n if (this.mealData.supplyTimeTuesday) {\r\n str.push(\"星期二\");\r\n value.push(\"2\");\r\n }\r\n if (this.mealData.supplyTimeWednesday) {\r\n str.push(\"星期三\");\r\n value.push(\"3\");\r\n }\r\n if (this.mealData.supplyTimeThursday) {\r\n str.push(\"星期四\");\r\n value.push(\"4\");\r\n }\r\n if (this.mealData.supplyTimeFriday) {\r\n str.push(\"星期五\");\r\n value.push(\"5\");\r\n }\r\n if (this.mealData.supplyTimeSaturday) {\r\n str.push(\"星期六\");\r\n value.push(\"6\");\r\n }\r\n if (this.mealData.supplyTimeSunday) {\r\n str.push(\"星期日\");\r\n value.push(\"7\");\r\n }\r\n if (str.length > 0) {\r\n //去掉第一個逗號\r\n this.mealData.supplyDayStr = str.join(\",\");\r\n this.mealData.SupplyDay = value.join(\",\");\r\n }\r\n\r\n if (this.dayModalRef)\r\n this.dayModalRef.close()\r\n\r\n return str;\r\n }\r\n\r\n //商品彈窗 上傳圖片用\r\n fileToBase64 = (file: File): Promise => {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => resolve(reader.result.toString());\r\n reader.onerror = (error) => reject(error);\r\n });\r\n };\r\n\r\n\r\n //商品彈窗 圖片上傳\r\n onSelect(event,dataBox) {\r\n console.log(event);\r\n dataBox.files = [];\r\n if (event.addedFiles == null || event.addedFiles.length == 0) {\r\n return;\r\n }\r\n\r\n \r\n dataBox.files.push(event.addedFiles[0]);\r\n \r\n const formData = new FormData();\r\n\r\n for (var i = 0; i < dataBox.files.length; i++) {\r\n formData.append(\"file[]\", dataBox.files[i]);\r\n }\r\n\r\n let imgdata = {}\r\n if (dataBox.files && dataBox.files[0]) {\r\n for (let i = 0; i < dataBox.files.length; i++) {\r\n this.fileToBase64(dataBox.files[i]).then((result) => {\r\n const base64String = result;\r\n\r\n imgdata = {\r\n base64: base64String,\r\n functionType: \"1\",\r\n ORG_Company_ID:this.ORG_Company_ID,\r\n ORG_Store_ID:this.info.ORG_Store_ID\r\n };\r\n \r\n this.info.IsLoding = true;\r\n this.http\r\n .post(\"api/ImageUpload/ImageUpload\", imgdata)\r\n .subscribe({\r\n next: (data) => {\r\n console.log(data);\r\n dataBox.files[0].path = data.path;\r\n console.log(dataBox.files[0].path);\r\n this.info.IsLoding = false;\r\n },\r\n error: (error) => {\r\n console.error(\"There was an error!\", error);\r\n },\r\n });\r\n });\r\n }\r\n }\r\n\r\n\r\n \r\n }\r\n\r\n //商品彈窗 圖片清除\r\n onRemove(event,dataBox) {\r\n console.log(event);\r\n // dataBox.files.splice(dataBox.files.indexOf(event), 1);\r\n dataBox.files = []\r\n if(dataBox.Image)\r\n dataBox.Image = '' \r\n \r\n event.stopPropagation();\r\n }\r\n\r\n //商品彈窗 變更目標商店\r\n onSelectStore(){\r\n this.getGroupList()\r\n }\r\n\r\n\r\n //處理商品資料\r\n toProductDetail(data) {\r\n \r\n if(this.info.orgType != 3 ) {\r\n this.mealData = Object.assign(this.mealData, data,data.Main,data.Detail)\r\n }\r\n else{\r\n this.mealData = Object.assign(this.mealData, data)\r\n }\r\n\r\n //如果供應時間有值,拆解字串\r\n if (\r\n this.mealData.SupplyDay != null &&\r\n this.mealData.SupplyDay != \"\"\r\n ) {\r\n const myArray = this.mealData.SupplyDay.split(\",\");\r\n myArray.forEach((day) => {\r\n if (\"1\" == day) {\r\n this.mealData.supplyTimeMonday = true;\r\n }\r\n if (\"2\" == day) {\r\n this.mealData.supplyTimeTuesday = true;\r\n }\r\n if (\"3\" == day) {\r\n this.mealData.supplyTimeWednesday = true;\r\n }\r\n if (\"4\" == day) {\r\n this.mealData.supplyTimeThursday = true;\r\n }\r\n if (\"5\" == day) {\r\n this.mealData.supplyTimeFriday = true;\r\n }\r\n if (\"6\" == day) {\r\n this.mealData.supplyTimeSaturday = true;\r\n }\r\n if (\"7\" == day) {\r\n this.mealData.supplyTimeSunday = true;\r\n }\r\n });\r\n this.showSupplyTime()\r\n }\r\n //填充供應時間\r\n this.mealData.supplyPeriod = [];\r\n if (this.mealData.FirstSupplyStartTime != null) {\r\n var tmp = new supplyPeriod();\r\n tmp.startTime = new Date(this.mealData.FirstSupplyStartTime);\r\n tmp.endTime = new Date(this.mealData.FirstSupplyEndTime);\r\n this.mealData.supplyPeriod.push(tmp);\r\n\r\n if (this.mealData.SecondSupplyStartTime != null) {\r\n var tmp = new supplyPeriod();\r\n tmp.startTime = new Date(this.mealData.SecondSupplyStartTime);\r\n tmp.endTime = new Date(this.mealData.SecondSupplyEndTime);\r\n this.mealData.supplyPeriod.push(tmp);\r\n }\r\n }\r\n }\r\n\r\n \r\n async toSalesOutletDetail(data) {\r\n await this.getStoreList();\r\n \r\n \r\n if (this.info.moType != 1){\r\n\r\n const numbersSet = new Set(data.Detail.ProductStoreMapJsonDatas?.[0]?.ORG_Store_ID.split(',') || []);\r\n\r\n const showData = this.info.storeList.map((store, index) => ({\r\n storeID: store.value,\r\n storeName: store.content,\r\n Sort: index + 1,\r\n IsSell: numbersSet.has(store.value.toString()),\r\n }));\r\n \r\n this.mealData.ProductStoreMapJsonData = showData\r\n .filter(item => item.IsSell)\r\n .map(item => item.storeName)\r\n .join('、');\r\n\r\n this.SalesOutletSetting.showData = showData;\r\n } else {\r\n const showData = this.info.storeList.map((store, index) => ({\r\n storeID: store.value,\r\n storeName: store.content,\r\n Sort: index + 1,\r\n IsSell: false,\r\n }));\r\n\r\n this.SalesOutletSetting.showData = showData;\r\n }\r\n }\r\n\r\n\r\n async toStoreSaleCashDetail(data) {\r\n await this.getStoreList();\r\n const storeSaleCash = data.Detail.ProductStoreCashMapJsonDatas\r\n this.mealData.ProductStoreCashMapJsonData = []\r\n let i = 0\r\n let showData = this.info.storeList.map((store, index) => ({\r\n ORG_Store_ID: store.value,\r\n storeName: store.content,\r\n Sort: index + 1,\r\n SaleCash: null,\r\n }));\r\n\r\n if (this.info.moType != 1){\r\n\r\n if (storeSaleCash){\r\n storeSaleCash.forEach(x => {\r\n const orgStoreIdStr = storeSaleCash?.[i]?.ORG_Store_ID.toString();\r\n const numbersSet = new Set(orgStoreIdStr.split(',') || []);\r\n\r\n let storename = [];\r\n\r\n numbersSet.forEach(y => {\r\n let obj = showData.find(z => z.ORG_Store_ID == y)\r\n if (obj){\r\n obj.SaleCash = x.SaleCash\r\n }\r\n let obj2 = this.info.storeList.find(z => z.value == y)\r\n if (obj2){\r\n storename.push({storeName: obj2.content})\r\n }\r\n })\r\n\r\n this.mealData.ProductStoreCashMapJsonData.push({\r\n EOSProductNo: this.mealData.EOSProductNo,\r\n ORG_Company_ID: this.mealData.ORG_Company_ID,\r\n ORG_Store_ID: orgStoreIdStr,\r\n SaleCash: storeSaleCash?.[i]?.SaleCash,\r\n Sorting: 1,\r\n IsDelete: false,\r\n storeName: storename.map(obj => obj.storeName).join('、'),\r\n })\r\n\r\n this.mealData.ProductStoreCashMapJsonData = this.mealData.ProductStoreCashMapJsonData.filter( data => data.SaleCash !== null)\r\n i++\r\n });\r\n }\r\n \r\n this.StoreSaleCashSetting.showData = showData;\r\n\r\n } else {\r\n const showData = this.info.storeList.map((store, index) => ({\r\n storeID: store.value,\r\n storeName: store.content,\r\n Sort: index + 1,\r\n SaleCash: null,\r\n }));\r\n\r\n this.StoreSaleCashSetting.showData = showData;\r\n }\r\n }\r\n\r\n\r\n //附加品項分類 \r\n @ViewChild('SelectAttMMO_Tmp', { static: false }) SelectAttMMO_Tmp\r\n SelectAttMMO = {\r\n info: {\r\n },\r\n isShow: false,\r\n data: null,\r\n other: {\r\n attList: [],\r\n },\r\n onOpen: () => {\r\n let my = this.SelectAttMMO\r\n my.info = {\r\n }\r\n\r\n my.data = []\r\n // if (this.mealData.AttachItemGroupJsonDatas){\r\n // my.data = _.cloneDeep(this.mealData.AttachItemGroupJsonDatas);\r\n // my.data.forEach(x=>{\r\n // x.No = x.PRDMenuAttachItemGroupNo \r\n // })\r\n // }\r\n\r\n my.isShow = true\r\n //this.SelectAttMMO_Tmp.onOpen(my.info,pdList)\r\n },\r\n onSave: (data) => {\r\n let my = this.SelectAttMMO\r\n\r\n if (!this.mealData.AttachItemGroupJsonDatas)\r\n this.mealData.AttachItemGroupJsonDatas = []\r\n let list = []\r\n\r\n data.forEach(p=>{\r\n if(this.mealData.AttachItemGroupJsonDatas\r\n .findIndex(x=>x.PRDMenuAttachItemGroupNo==p.No)==-1){\r\n p.Sorting=0\r\n list.push(p)\r\n }\r\n })\r\n \r\n this.mealData.AttachItemGroupJsonDatas =\r\n this.mealData.AttachItemGroupJsonDatas.concat(list) \r\n },\r\n onClose(v) {\r\n this.isShow = false\r\n }\r\n }\r\n\r\n\r\n //附加品項群組 選擇\r\n @ViewChild(\"SelectAttGMO_Tmp\", { static: false }) SelectAttGMO_Tmp;\r\n SelectAttGM = {\r\n info: {\r\n ORG_Company_ID: null,\r\n ORG_Store_ID: null,\r\n },\r\n isShow: false,\r\n data: null,\r\n onOpen: () => {\r\n let my = this.SelectAttGM;\r\n if (this.mealData.AttachItemGroupJsonDatas)\r\n my.data = _.cloneDeep(this.mealData.AttachItemGroupJsonDatas);\r\n\r\n my.info = {\r\n ORG_Company_ID: this.ORG_Company_ID,\r\n ORG_Store_ID: this.ORG_Store_ID,\r\n }\r\n //this.SelectAttGMO_Tmp.onOpen(my.info, my.data);\r\n my.isShow = true\r\n },\r\n onSave: (data) => {\r\n let my = this.SelectAttGM;\r\n this.mealData.AttachItemGroupJsonDatas = data\r\n },\r\n onClose(v) {\r\n this.isShow = false\r\n }\r\n };\r\n\r\n\r\n //附加品項群組 查看 \r\n @ViewChild('EditEOSAttachGMO_Tmp', { static: false }) EditEOSAttachGMO_Tmp\r\n EditEOSAttachGMO = {\r\n info: {\r\n ORG_Company_ID: null,\r\n ORG_Store_ID: null,\r\n GroupNo: null,\r\n moType: null,\r\n orgType:null,\r\n },\r\n isShow: false,\r\n data: {},\r\n onOpen: (type, data) => {\r\n let my = this.EditEOSAttachGMO\r\n my.info = {\r\n ORG_Company_ID: this.ORG_Company_ID,\r\n ORG_Store_ID: this.info.ORG_Store_ID,\r\n GroupNo: data ? data.PRDMenuAttachItemGroupNo ? data.PRDMenuAttachItemGroupNo : data.PRDAttachItemGroupNo : null, \r\n moType: type,\r\n orgType:this.info.orgType,\r\n }\r\n\r\n\r\n //事件會早於屬性匯入前執行 因此必須改使用參數\r\n //this.EditEOSAttachMO_Tmp.onOpen(my.info,my.data)\r\n my.isShow = true\r\n },\r\n onSave: (data) => {\r\n if (data.ORG_Store_ID != this.ORG_Store_ID) {\r\n alert(\"群組門市需要與商品門市一致!\")\r\n return\r\n }\r\n\r\n },\r\n onClose(v) {\r\n this.isShow = false\r\n }\r\n }\r\n\r\n\r\n //-----------------------販售門市設定 >------------------------------\r\n @ViewChild('SalesOutletSetting_Tmp', { static: false }) SalesOutletSetting_Tmp\r\n SalesOutletSetting = {\r\n data: null, //彈窗的項目\r\n showData:[\r\n // Idx:null,\r\n // Size:null,\r\n // TagNameList:null,\r\n ], //顯示的資料\r\n isShow: false,\r\n //管理\r\n onOpen: () => {\r\n const self = this;\r\n let my = self.SalesOutletSetting\r\n\r\n my.data = []\r\n my.data = my.showData\r\n my.isShow = true\r\n my.init()\r\n }, \r\n onSave: (data) => {\r\n const self = this;\r\n let my = self.SalesOutletSetting\r\n\r\n self.mealData.ProductStoreMapJsonData = data\r\n .filter(item => item.IsSell === true) \r\n .map(item => item.storeName)\r\n .join('、');\r\n \r\n my.showData = data\r\n my.init()\r\n },\r\n onClose(v) {\r\n this.isShow = false\r\n },\r\n init:()=>{\r\n let my = this.SalesOutletSetting\r\n this.mealData.ProductStoreMapJsonDatas=[]\r\n\r\n let test : string\r\n test = my.showData\r\n .filter(item => item.IsSell === true) \r\n .map(item => item.storeID)\r\n .join(',');\r\n\r\n this.mealData.ProductStoreMapJsonDatas.push({\r\n EOSProductNo: this.mealData.EOSProductNo,\r\n ORG_Company_ID: this.ORG_Company_ID,\r\n ORG_Store_ID: test,\r\n IsSell: true,\r\n Sorting: 1,\r\n IsDelete: false,\r\n })\r\n }\r\n }\r\n\r\n\r\n //-----------------------販售門市金額設定 >------------------------------\r\n @ViewChild('StoreSaleCashSetting_Tmp', { static: false }) StoreSaleCashSetting_Tmp\r\n StoreSaleCashSetting = {\r\n data: null, //彈窗的項目\r\n showData:[\r\n // Idx:null,\r\n // Size:null,\r\n // TagNameList:null,\r\n ], //顯示的資料\r\n isShow: false,\r\n sourceData: null,\r\n cash: null,\r\n //管理\r\n onOpen: (item) => {\r\n const self = this;\r\n let my = self.StoreSaleCashSetting\r\n my.change()\r\n my.data = []\r\n\r\n my.cash = item.SaleCash\r\n my.data = my.showData\r\n if (my.cash == null){\r\n alert(\"請先填寫售價!\");\r\n return null;\r\n } \r\n my.isShow = true\r\n }, \r\n onSave: (data) => {\r\n const self = this;\r\n let my = self.StoreSaleCashSetting\r\n my.change()\r\n\r\n my.showData = data.map(e => ({\r\n ...e,\r\n SaleCash: e.isChecked \r\n ? my.cash\r\n : (e.SaleCash === my.cash ? null : e.SaleCash) \r\n }));\r\n\r\n my.init()\r\n },\r\n onDel:(item)=>{\r\n const self = this;\r\n let my = self.StoreSaleCashSetting\r\n my.change()\r\n\r\n my.showData = my.showData.map(e => ({\r\n ...e,\r\n SaleCash: e.SaleCash === item.SaleCash ? null : e.SaleCash \r\n }));\r\n my.init()\r\n },\r\n onClose(v) {\r\n this.isShow = false\r\n },\r\n onAddShow:()=>{ \r\n const self = this;\r\n let my = self.StoreSaleCashSetting\r\n\r\n self.mealData.ProductStoreCashMapJsonData.push({\r\n EOSProductNo: this.mealData.EOSProductNo,\r\n ORG_Company_ID: this.mealData.ORG_Company_ID,\r\n ORG_Store_ID: null,\r\n SaleCash: null,\r\n Sorting: 1,\r\n IsDelete: false,\r\n storeName: '',\r\n }) \r\n },\r\n change:()=>{\r\n let my = this.StoreSaleCashSetting\r\n let i = 0\r\n let changeData = this.mealData.ProductStoreCashMapJsonData.filter(item => item.ORG_Store_ID !== null);\r\n \r\n changeData.forEach(data =>{\r\n const orgStoreIdStr = data.ORG_Store_ID.toString();\r\n const numbersSet = new Set(orgStoreIdStr.split(',') || []);\r\n\r\n numbersSet.forEach( data2 => {\r\n let obj = my.showData.find(x => x.ORG_Store_ID == data2)\r\n if (obj){\r\n obj.SaleCash = data.SaleCash\r\n }\r\n })\r\n i++\r\n })\r\n },\r\n init:()=>{\r\n let my = this.StoreSaleCashSetting\r\n\r\n const groupedBySaleCash = my.showData.reduce((acc, {ORG_Store_ID, storeName, SaleCash }) => {\r\n // 如果累加器中已存在該SaleCash的條目,則追加storeName,否則新增條目\r\n if (SaleCash === null) {\r\n return acc;\r\n }\r\n if (acc[SaleCash]) {\r\n acc[SaleCash].storeName += `、${storeName}`;\r\n acc[SaleCash].ORG_Store_ID += `,${ORG_Store_ID}`;\r\n } else {\r\n acc[SaleCash] = { storeName, ORG_Store_ID: ORG_Store_ID.toString(), SaleCash };\r\n } \r\n acc[SaleCash].EOSProductNo = this.mealData.EOSProductNo\r\n acc[SaleCash].ORG_Company_ID = this.mealData.ORG_Company_ID\r\n acc[SaleCash].Sorting = 1\r\n acc[SaleCash].IsDelete = false\r\n return acc;\r\n }, {});\r\n \r\n // 將物件轉換為陣列\r\n this.mealData.ProductStoreCashMapJsonData = Object.values(groupedBySaleCash);\r\n }\r\n }\r\n\r\n\r\n //附加品項群組 刪除\r\n DelAttachG(index) {\r\n this.mealData.AttachItemGroupJsonDatas.splice(index, 1)\r\n }\r\n\r\n\r\n\r\n //取得使用中菜單檔 商品細項API\r\n getProductDetail(callback) {\r\n let par = {\r\n EOSProductGroupNo :this.info.EOSProductGroupNo, \r\n EOSProductNo :this.info.EOSProductNo,\r\n ORG_Store_ID : this.info.ORG_Store_ID \r\n }\r\n this.http\r\n .post(\r\n \"api/UsingMenu/GetProductDetail\",par)\r\n .subscribe({\r\n next: (data) => {\r\n if (data.LIST.length > 0) {\r\n let obj = data.LIST[0]\r\n obj.EOSProductGroupNo = obj.PRDProductGroupNo\r\n this.toProductDetail(obj)\r\n }\r\n },\r\n error: (error) => {\r\n console.error(\"取得商品細項API error!\", error);\r\n },\r\n });\r\n }\r\n\r\n// 修改 getStoreList() 方法使其返回一個 Promise\r\ngetStoreList(): Promise {\r\n return this.http.post('api/ORGStore/StoreList', {\r\n USR_AccountInfo_ID: this.USR_AccountInfo_ID, \r\n ORG_Company_ID: this.ORG_Company_ID.toString(),\r\n ORG_Store_ID: this.ORG_Store_ID.toString(),\r\n }).toPromise().then(data => {\r\n this.info.storeList = [];\r\n\r\n //門市共用下拉選單\r\n let Item: any = {};\r\n Item.value = 0;\r\n Item.content = '總部';\r\n this.info.storeList.push(Item);\r\n\r\n if (this.ORG_Store_ID) {\r\n //門市共用下拉選單\r\n let Item: any = {};\r\n Item.value = this.ORG_Store_ID;\r\n Item.content = data.LIST.find(x => x.ORG_Store_ID == this.ORG_Store_ID).StoreName;\r\n this.info.storeList.push(Item);\r\n } else {\r\n data.LIST.forEach(element => {\r\n //門市共用下拉選單\r\n var selectItem = new selectData();\r\n selectItem.value = element.ORG_Store_ID;\r\n selectItem.content = element.StoreName;\r\n this.info.storeList.push(selectItem);\r\n });\r\n }\r\n\r\n // 預設點第一個\r\n if (this.info.storeList.length > 0) {\r\n this.mealData.CopyStoreID = this.info.storeList[0].value;\r\n }\r\n\r\n return data; // 返回數據以供進一步處理\r\n }).catch(error => {\r\n console.error('There was an error!', error);\r\n throw error; // 重新拋出錯誤以便調用者處理\r\n });\r\n}\r\n\r\n\r\n\r\n //取得群組\r\n getGroupList(){\r\n\r\n if(this.info.orgType == 1){\r\n let par = {\r\n ORG_Company_ID: this.ORG_Company_ID,\r\n CreateStore: this.mealData.CopyStoreID == null ? 0 : this.mealData.CopyStoreID,\r\n IsDelete: false,\r\n } \r\n \r\n this.http.post('api/ProductSetting/GetProductGroup', par).subscribe({\r\n next: data => {\r\n this.info.groupList = []\r\n data.LIST.forEach(element => {\r\n let item = new selectData();\r\n item.value = element.EOSProductGroupNo;\r\n item.content = element.GroupName;\r\n this.info.groupList.push(item);\r\n });\r\n\r\n if(this.info.groupList.length>0)\r\n this.mealData.EOSProductGroupNo = this.info.groupList[0].value.toString() \r\n\r\n this.info.isChange_Group = !this.info.isChange_Group\r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n \r\n }\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n}\r\n\r\nclass ModifyPRDProductReq {\r\n //商品\r\n EOSProductGroupNo: string; //\r\n PRDMenuProductGroupNo: string; //\r\n EOSProductNo: string; // \r\n Main: any;\r\n Detail: any;\r\n USR_EmployeeInfo_ID: number; //\r\n USR_AccountInfo_ID: string; //\r\n ORG_Company_ID: number; //\r\n\r\n //---------------------------------main---------------------- \r\n\r\n ProductName: string; //\r\n ProductContant: string; //\r\n Image: string; // \r\n TaxRate: number = 5; //\r\n TaxType: number = 2; //\r\n Cash: number; //\r\n\r\n //---------------------------------detail---------------------- \r\n SaleCash: number; //\r\n Sorting: number; //\r\n //2024.2.19 新增商品點餐方式(外帶/外送/內用/自取)預設開啟\r\n IsOpenTakeout: boolean = true;\r\n IsOpenDelivery: boolean = true;\r\n IsOpenDining: boolean = true;\r\n IsOpenReserveDining: boolean = false;\r\n IsOpenSelfPickup: boolean = true;\r\n SupplyQTY: number; //\r\n UplimitQTY: number; //\r\n SupplyDay: string; //供應日 用,區分,1:週一 2:週二 3:週三 4:週四 5:週五 6:週六 7:週日\r\n FirstSupplyStartTime: string; //\r\n FirstSupplyEndTime: string; //\r\n SecondSupplyStartTime: string; //\r\n SecondSupplyEndTime: string; // \r\n AttachItemGroupJsonDatas: AttachItemGroupJsonDataDTO[];\r\n AttachItemGroupJsonData: string; //已存在的附加品項清單 用,分隔\r\n ProductStoreMapJsonDatas: ProductStoreMapJsonDataDTO[]; // 販售門市對應\r\n ProductStoreMapJsonData: string; // 已存在的販售門市\r\n ProductStoreCashMapJsonDatas: ProductStoreCashMapJsonDataDTO[]; // 販售門市金額對應\r\n ProductStoreCashMapJsonData: StoreCashData[]; // 已存在的販售門市金額對應\r\n\r\n //---------------------------------顯示用----------------------\r\n supplyPeriod?: Array; //供應時段 \r\n supplyDayStr: string;\r\n supplyTimeMonday?: boolean;\r\n supplyTimeTuesday?: boolean;\r\n supplyTimeWednesday?: boolean;\r\n supplyTimeThursday?: boolean;\r\n supplyTimeFriday?: boolean;\r\n supplyTimeSaturday?: boolean;\r\n supplyTimeSunday?: boolean;\r\n files: ImageFile[] = [];\r\n\r\n //---------------------------------old----------------------\r\n ORG_Store_ID?: number; //\r\n CopyStoreID?: number; //複製用,目標商店ID\r\n\r\n}\r\n\r\nclass supplyPeriod {\r\n startTime: Date;\r\n endTime: Date;\r\n}\r\n\r\nclass AttachItemGroupJsonDataDTO {\r\n PRDMenuAttachItemGroupNo: string; //附加品項群組編號\r\n GroupName: string\r\n Content: string\r\n AttachItemKindName: string\r\n IsRequiredName: string\r\n Sorting:number\r\n}\r\n\r\n\r\nclass ImageFile extends File {\r\n path: string;\r\n}\r\n\r\nclass selectData {\r\n value: number; //\r\n content: string; //\r\n}\r\n\r\nclass ProductStoreMapJsonDataDTO {\r\n EOSProductNo: string;\r\n ORG_Company_ID: number\r\n ORG_Store_ID: string\r\n IsSell: boolean\r\n Sorting: number\r\n IsDelete: boolean\r\n}\r\n\r\nclass ProductStoreCashMapJsonDataDTO {\r\n EOSProductNo: string;\r\n ORG_Company_ID: number\r\n ORG_Store_ID: string\r\n SaleCash: number\r\n Sorting: number\r\n IsDelete: boolean\r\n}\r\n\r\nclass StoreCashData {\r\n EOSProductNo: string;\r\n ORG_Company_ID: number\r\n ORG_Store_ID: string\r\n SaleCash: number\r\n Sorting: number\r\n IsDelete: boolean\r\n storeName: string;\r\n}","\r\n\r\n
\r\n \r\n \r\n {{ moTitle }}商品 \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n \r\n\r\n\r\n
\r\n \r\n \r\n \r\n {{ e.content }}\r\n \r\n\r\n \r\n \r\n {{ e.content }}\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n {{ e.content }}\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n \r\n 請將圖片拖放置此,或點此開啟資料夾 !\r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n {{\r\n tax.content\r\n }}\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n {{\r\n tax.content\r\n }}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
販售門市
\r\n {{mealData.ProductStoreMapJsonData}}\r\n \r\n 管理\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
售價門市
\r\n \r\n \r\n {{item.storeName}}\r\n \r\n 管理\r\n 刪除\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n {{title2}}\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n 設定供應時間 \r\n \r\n
\r\n 星期一\r\n 星期二\r\n 星期三\r\n 星期四\r\n 星期五\r\n 星期六\r\n 星期日\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit, Output, EventEmitter, Input, ViewChild, TemplateRef } from'@angular/core';\r\nimport { HttpClient } from'@angular/common/http';\r\nimport { NbDialogService } from'@nebular/theme';\r\nimport { CookieService } from'ngx-cookie-service';\r\nimport * as _ from'lodash';\r\n\r\n@Component({\r\n selector:'app-edit-announcement',\r\n templateUrl:'./edit-announcement.component.html',\r\n styleUrls: ['./edit-announcement.component.scss']\r\n})\r\nexport class EditAnnouncementComponent implements OnInit {\r\n @Output() emitClose = new EventEmitter();\r\n @Output() emitList = new EventEmitter();\r\n @Input() orgData: Array;\r\n @Input() info: {\r\n IsLoding:boolean,\r\n moType: number; //目前編輯狀態 1.新增 2.編輯 3.複製 4.查看\r\n };\r\n \r\n //---------\"與父組件共用,不可改位址------->---------------------\r\n @Input() ProductList: Array; //細項清單\r\n\r\n //-----------------------彈窗----------------------------\r\n\r\n modalRef = null; //彈窗鉤子\r\n PdModalRef = null; //彈窗鉤子\r\n\r\n @ViewChild('Modal') Modal :TemplateRef\r\n @ViewChild('PdModal') PdModal :TemplateRef\r\n\r\n //--------------------------------------------------------\r\n //資料清單\r\n mainDataList: Array; //已選資料\r\n showList: Array;\r\n query = { //查詢選項\r\n searchKey : \"\",\r\n ORG_Company_ID:null\r\n } \r\n status: { //當前狀態\r\n isSelectAll : boolean //是否已全選\r\n showType:number // 顯示有選過的\r\n }\r\n isChecked: boolean = false;\r\n announcement: null;\r\n\r\n isSelectAll: boolean = false;\r\n\r\n constructor(\r\n private dialogService: NbDialogService,\r\n private http: HttpClient,\r\n private cookieService: CookieService,\r\n ) \r\n {\r\n this.query.ORG_Company_ID = parseInt(this.cookieService.get('ORG_Company_ID'))\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n\r\n ngAfterViewInit(){ \r\n this.onOpen(this.orgData)\r\n }\r\n\r\n\r\n onOpen(dataList) {\r\n if (this.info.moType ==1){\r\n this.mainDataList = _.cloneDeep(dataList.storeSelectList)\r\n this.mainDataList = this.mainDataList.map(item => {\r\n return {...item, isChecked: false};\r\n });\r\n }\r\n \r\n //開啟彈窗\r\n this.modalRef = this.dialogService.open(this.Modal, {})\r\n this.modalRef.onClose.subscribe(result => {\r\n this.emitClose.emit(true);\r\n });\r\n }\r\n\r\n\r\n //處存區塊\r\n onSave() {\r\n const selectedIds = this.mainDataList\r\n .filter(item => item.isChecked)\r\n .map(item => item.value)\r\n .join(',');\r\n\r\n this.emitList.emit({\r\n announcement: this.announcement,\r\n selectedIds: selectedIds\r\n });\r\n this.modalRef.close()\r\n }\r\n\r\n\r\n toggleSelectAll() {\r\n this.mainDataList = this.mainDataList.map(item => {\r\n return { ...item, isChecked: this.isSelectAll };\r\n });\r\n }\r\n\r\n \r\n onStoreToggle() {\r\n this.isSelectAll = this.mainDataList.every(item => item.isChecked);\r\n }\r\n\r\n}\r\n","\r\n\r\n \r\n \r\n 新增公告\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
門市發佈
全選\r\n \r\n \r\n
{{ e.content }}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n 查看公告\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n {{orgData.announcementDetail.StoreDTOs}}\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
","\r\nimport { Component, OnInit, Output, EventEmitter, Input, ViewChild, TemplateRef } from '@angular/core';\r\nimport { NbDialogService } from '@nebular/theme';\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-edit-attach',\r\n templateUrl: './edit-attach.component.html',\r\n styleUrls: ['./edit-attach.component.scss']\r\n})\r\nexport class EditAttachComponent implements OnInit {\r\n @Output() emitClose = new EventEmitter();\r\n @Output() emitList = new EventEmitter();\r\n @Input() orgData: PRDAttachItemReq; //已選資料_來源\r\n @Input() info: {\r\n IsLoding:false,\r\n moType: number ;//目前編輯狀態 1.新增 2.編輯 4.查看\r\n selectType:number; //1:單選 2:複選\r\n isRequired:number;//必填\r\n }; \r\n @ViewChild('Modal') Modal :TemplateRef\r\n \r\n \r\n modalRef = null; //談窗鉤子\r\n\r\n //編輯附加品項談窗中 資料\r\n att: PRDAttachItemReq;\r\n\r\n\r\n //---------------選項列表-------->--------------//\r\n //稅率列表\r\n TaxRateList = []\r\n TaxTypeList = [\r\n {value:1,content:\"免稅\"},\r\n {value:2,content:\"應稅\"},\r\n {value:3,content:\"零稅\"}]\r\n //-------<--------選項列表----------------------//\r\n\r\n\r\n\r\n constructor(\r\n private dialogService: NbDialogService,\r\n ) {\r\n\r\n \r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n for(let i = 1 ; i<100;i++ ){\r\n this.TaxRateList.push({value:i , content:i+'%'})\r\n }\r\n }\r\n\r\n ngAfterViewInit(){ \r\n this.onOpen(this.info, this.orgData)\r\n }\r\n\r\n onOpen(info,data){\r\n if(info)\r\n this.info = info\r\n \r\n if(data)\r\n this.orgData = data\r\n\r\n\r\n this.att = new PRDAttachItemReq();\r\n \r\n\r\n\r\n if(this.info.moType == 1){\r\n //新增群組資料\r\n \r\n \r\n this.att= new PRDAttachItemReq();\r\n this.att.IsSell = true;\r\n this.att.TaxRate = 5;\r\n this.att.TaxType = 2;\r\n this.att.MinSelectTimes = this.info.isRequired == 1 ? 1 : 0;\r\n this.att.MaxSelectTimes = 1;\r\n this.att.SaleCash = 0 \r\n this.att.Cash = 0 \r\n this.att.Quantity = 1\r\n \r\n }\r\n else if(this.info.moType == 2){\r\n \r\n this.att = _.cloneDeep(this.orgData)\r\n }\r\n else if(this.info.moType == 4){\r\n this.att = _.cloneDeep(this.orgData)\r\n }\r\n \r\n\r\n \r\n \r\n this.modalRef = this.dialogService.open(this.Modal, {})\r\n this.modalRef.onClose.subscribe(result => {\r\n this.emitClose.emit(true);\r\n });\r\n\r\n \r\n }\r\n\r\n onSave(){\r\n\r\n \r\n this.emitList.emit(this.att)\r\n this.modalRef.close()\r\n }\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport class PRDAttachItemReq {\r\n PRDProductGroupNo: string//商品群組編號\r\n PRDAttachItemNo: string;//附加品項編號\r\n PRDProductNo: string;//商品編號 \r\n ItemName: string;//附加品項名稱\r\n TaxRate:number;\r\n TaxType:number;\r\n Note:string;\r\n Quantity: number;//數量\r\n Cash: number;//金額\r\n MaxSelectTimes:number; //最多可選\r\n MinSelectTimes:number; //最少可選\r\n SaleCash: number;//販售金額\r\n IsSell: boolean;//是否販售\r\n \r\n Sorting: number;//排序\r\n}\r\n","\r\n\r\n\r\n
\r\n \r\n \r\n 新增附加品項選項\r\n \r\n \r\n 編輯附加品項選項 \r\n \r\n \r\n 查看附加品項選項\r\n \r\n\r\n \r\n \r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n\r\n\r\n\r\n \r\n\r\n
PS: 修改後會連動到其他使用同選項的群組中,修改前請確認!
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
","import { Component, OnInit, Output, EventEmitter, Input, ViewChild, TemplateRef } from '@angular/core';\r\nimport { LocalDataSource } from 'ng2-smart-table';\r\nimport { NbDialogService } from '@nebular/theme';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-edit-attachgroup',\r\n templateUrl: './edit-attachgroup.component.html',\r\n styleUrls: ['./edit-attachgroup.component.scss']\r\n})\r\nexport class EditAttachgroupComponent implements OnInit {\r\n @Output() emitClose = new EventEmitter();\r\n @Output() emitList = new EventEmitter();\r\n @Input() orgData: PRDAttachItemGroupReq; //已選資料_來源\r\n @Input() info: {\r\n IsLoding:false,\r\n ORG_Company_ID: number,\r\n ORG_Store_ID:number,\r\n USR_AccountInfo_ID: string,\r\n moType: number;//目前編輯狀態 1.新增 2.編輯 3.複製\r\n orgType: number ; //來源類型 0/null 附加品項設定 1商品設定檔 2菜單檔 3使用中菜單檔\r\n GroupNo: string\r\n ModelNoList:any[]\r\n };\r\n\r\n @ViewChild('Modal') Modal: TemplateRef\r\n modalRef = null; //談窗鉤子\r\n\r\n //編輯附加品項談窗中 資料\r\n attGroup: PRDAttachItemGroupReq;\r\n\r\n //編輯附加品項談窗中 附加品項table列表\r\n attachItemSource: LocalDataSource = new LocalDataSource();\r\n\r\n //---------------選項列表-------->--------------//\r\n //稅率列表\r\n // TaxRateList = []\r\n // TaxTypeList = [\r\n // {value:1,content:\"免稅\"},\r\n // {value:2,content:\"應稅\"},\r\n // {value:3,content:\"零稅\"}]\r\n\r\n GroupList : selectData[]\r\n\r\n storeSelectList = []\r\n\r\n //-------<--------選項列表----------------------//\r\n\r\n\r\n\r\n constructor(\r\n private dialogService: NbDialogService,\r\n private http: HttpClient,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.getStoreList();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.onOpen(this.info, this.orgData)\r\n \r\n }\r\n\r\n onOpen(info, data) {\r\n console.log('mydata', data)\r\n if(!this.info.orgType)\r\n this.getGroupList()\r\n\r\n if (info)\r\n this.info = info\r\n\r\n\r\n\r\n this.attGroup = new PRDAttachItemGroupReq();\r\n \r\n if (this.info.moType == 1) {\r\n\r\n //新增群組資料 \r\n \r\n this.attGroup.AttachItemKind = \"1\";\r\n this.attGroup.IsRequired = \"1\";\r\n this.attGroup.IsConsistent = \"0\";\r\n this.attGroup.PRDAttachItemList = []\r\n this.attGroup.ModelNoList = this.info.ModelNoList\r\n }\r\n\r\n\r\n else if (this.info.moType == 2 || this.info.moType == 4 ) {\r\n \r\n\r\n if (data.PRDMenuAttachItemGroupNo) {\r\n this.orgData = data\r\n this.attGroup = _.cloneDeep(this.orgData)\r\n this.attGroup.ModelNoList = this.attGroup.ModelList.map(x=>x.PRDMenuAttachItemModelNo)\r\n // this.sortItemAndReload();\r\n }\r\n else {\r\n this.GetGroupDetail(this.info.GroupNo, (rep) => {\r\n this.orgData = rep\r\n this.attGroup = _.cloneDeep(this.orgData)\r\n this.attGroup.ModelNoList = this.attGroup.ModelList.map(x=>x.PRDMenuAttachItemModelNo)\r\n // this.sortItemAndReload();\r\n })\r\n }\r\n\r\n\r\n }\r\n else if (this.info.moType == 3) {\r\n\r\n if (data.PRDMenuAttachItemGroupNo) {\r\n this.orgData = data\r\n this.attGroup = _.cloneDeep(this.orgData)\r\n this.attGroup.ModelNoList = this.attGroup.ModelList.map(x=>x.PRDMenuAttachItemModelNo)\r\n this.attGroup.PRDMenuAttachItemGroupNo = null;\r\n \r\n // this.sortItemAndReload();\r\n }\r\n else {\r\n this.GetGroupDetail(this.info.GroupNo, (rep) => {\r\n this.orgData = rep\r\n this.attGroup = _.cloneDeep(this.orgData)\r\n this.attGroup.ModelNoList = this.attGroup.ModelList.map(x=>x.PRDMenuAttachItemModelNo)\r\n this.attGroup.PRDMenuAttachItemGroupNo = null;\r\n // this.sortItemAndReload();\r\n })\r\n }\r\n\r\n }\r\n \r\n\r\n this.modalRef = this.dialogService.open(this.Modal, {})\r\n this.modalRef.onClose.subscribe(result => {\r\n this.emitClose.emit(true);\r\n });\r\n\r\n\r\n\r\n }\r\n\r\n initData(data) {\r\n this.orgData = data\r\n\r\n if (this.info.moType == 2) {\r\n\r\n this.attGroup = _.cloneDeep(this.orgData)\r\n // this.sortItemAndReload();\r\n }\r\n else if (this.info.moType == 3) {\r\n\r\n this.attGroup = _.cloneDeep(this.orgData)\r\n this.attGroup.PRDMenuAttachItemGroupNo = null;\r\n // this.sortItemAndReload();\r\n }\r\n }\r\n\r\n\r\n //取得門市清單\r\n getStoreList() {//取得門市清單 USP_YOPOSWebGetStoreList\r\n this.http.post('api/ORGStore/StoreList', {\r\n ORG_Company_ID: this.info.ORG_Company_ID,\r\n ORG_Store_ID: this.info.ORG_Store_ID,\r\n }).subscribe({\r\n next: data => {\r\n\r\n this.storeSelectList = [];\r\n data.LIST.forEach(element => {\r\n //門市共用下拉選單\r\n var selectItem = new selectData();\r\n selectItem.value = element.ORG_Store_ID;\r\n selectItem.content = element.StoreName;\r\n this.storeSelectList.push(selectItem);\r\n });\r\n \r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n onSave() {\r\n\r\n if(this.attGroup.AttachItemKind == \"2\" ){\r\n if ( this.attGroup.IsRequired == \"1\" && this.attGroup.SelectMinLimit < 1) {\r\n alert(\"群組為必填時,最少可選數量需大於0!\")\r\n return\r\n }\r\n\r\n if( this.attGroup.SelectUpLimit != null &&\r\n this.attGroup.SelectUpLimit < this.attGroup.SelectMinLimit){\r\n alert(\"群組的最少可選數量不可大於最大可選數量!\")\r\n return\r\n }\r\n\r\n //當品項最小可選數量是1時,群組為必填,跳警告\r\n let list = this.attGroup.PRDAttachItemList\r\n if (list && list.length) {\r\n let obj = list.find(x => x.MinSelectTimes > 0)\r\n if (obj && this.attGroup.IsRequired == \"2\") {\r\n alert(\"有選項的最少可選數量>0,群組需設為必填!\")\r\n return\r\n }\r\n\r\n let obj2 = list.find(x => x.MaxSelectTimes !=null && x.MinSelectTimes > x.MaxSelectTimes)\r\n if (obj2) {\r\n alert(\"選項的最少可選數量不可大於最大可選數量!\")\r\n return\r\n }\r\n\r\n let omin = 0\r\n let omax = 0\r\n let nullmax = 0 \r\n list.forEach(x => {\r\n if(x.MinSelectTimes)\r\n omin += x.MinSelectTimes \r\n\r\n if(x.MaxSelectTimes)\r\n omax += x.MaxSelectTimes \r\n else (x.MaxSelectTimes!=0)\r\n nullmax += 1\r\n })\r\n\r\n if (this.attGroup.SelectMinLimit!= null && omin > this.attGroup.SelectMinLimit ) {\r\n alert(\"群組最少可選數量,不可小於選項的最少可選數量加總!\")\r\n return\r\n }\r\n\r\n //當選項中沒有無限數量時\r\n if (nullmax ==0 && this.attGroup.SelectUpLimit!= null && omax != this.attGroup.SelectUpLimit ) {\r\n alert(\"群組最多可選數量,不符合選項的最多可選數量加總!\")\r\n return\r\n }\r\n \r\n }\r\n\r\n \r\n\r\n\r\n }else{\r\n\r\n let list = this.attGroup.PRDAttachItemList\r\n if (list && list.length) {\r\n let objL = this.attGroup.PRDAttachItemList.filter(x=>x.IsDefault)\r\n if (objL && objL.length>1) {\r\n alert(\"單選時,只能有一個預設選項!\")\r\n return\r\n }\r\n }\r\n }\r\n\r\n\r\n this.attGroup.ORG_Company_ID = this.info.ORG_Company_ID;\r\n this.attGroup.USR_AccountInfo_ID = this.info.USR_AccountInfo_ID;\r\n\r\n this.emitList.emit(this.attGroup)\r\n // this.modalRef.close(() => { })\r\n }\r\n\r\n\r\n //取得群組資料 API\r\n GetGroupDetail(no, fun) {\r\n if(this.info.orgType == 3) {\r\n this.GetGroupDetailAPI_useing(no, fun)\r\n }\r\n else{ \r\n this.GetGroupDetailAPI_setting(no, fun)\r\n }\r\n\r\n }\r\n\r\n \r\n\r\n //取得附加品項詳資 API 設定檔\r\n GetGroupDetailAPI_setting(no, fun){\r\n this.http\r\n .get(\r\n \"api/AttachItemSetting/GetAttachItemDetail/\" + no\r\n )\r\n .subscribe({\r\n next: (data) => {\r\n if (fun)\r\n fun(data)\r\n },\r\n error: (error) => {\r\n console.error(\"取得附加品項API error!\", error);\r\n },\r\n });\r\n }\r\n\r\n //取得附加品項詳資 API 使用中檔\r\n GetGroupDetailAPI_useing(no, fun){\r\n this.http\r\n .get(\r\n \"api/UsingMenu/GetPRDAttachItemGroupDetail/\" + no\r\n )\r\n .subscribe({\r\n next: (data) => {\r\n if (data.LIST) {\r\n if (fun)\r\n fun(data.LIST[0])\r\n }\r\n },\r\n error: (error) => {\r\n console.error(\"取得附加品項API error!\", error);\r\n },\r\n });\r\n }\r\n\r\n\r\n //取得分類列表\r\n getGroupList() {\r\n let par = {\r\n ORG_Company_ID: this.info.ORG_Company_ID,\r\n IsDelete: false,\r\n }\r\n \r\n\r\n this.http.post('api/AttachItemSetting/GetAttachItemGroup', par).subscribe({\r\n next: data => {\r\n\r\n this.GroupList = [];\r\n data.LIST.forEach(element => {\r\n let item = new selectData();\r\n item.value = element.PRDMenuAttachItemModelNo;\r\n item.content = element.GroupName;\r\n this.GroupList.push(item);\r\n });\r\n\r\n\r\n },\r\n error: error => {\r\n //this.errorMessage = error.message;\r\n console.error('There was an error!', error);\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n //-------------------------附加品項細項--------------------------\r\n\r\n\r\n //附加品項細項 單選\r\n selectDefault(obj,field){\r\n let x = obj[field]\r\n\r\n if(this.attGroup.AttachItemKind == '1'){\r\n this.attGroup.PRDAttachItemList.forEach(x=>{\r\n x[field] = false \r\n }) \r\n } \r\n \r\n obj[field] = !x\r\n }\r\n\r\n \r\n\r\n\r\n //附加品項細項 刪除\r\n onDel(index: number) {\r\n this.attGroup.PRDAttachItemList.splice(index, 1);\r\n // this.sortItemAndReload();\r\n }\r\n\r\n //附加品項細項 重新計算順序 並且重載列表資料\r\n sortItemAndReload() {\r\n if (!this.attGroup.PRDAttachItemList) return\r\n var i = 1;\r\n this.attGroup.PRDAttachItemList.forEach(function (data) {\r\n data.Sorting = i;\r\n i++\r\n });\r\n this.attachItemSource.load(this.attGroup.PRDAttachItemList);\r\n }\r\n\r\n\r\n\r\n //附加品項細項 編輯\r\n @ViewChild('EditAttachMO_Tmp', { static: false }) EditAttachMO_Tmp\r\n EditAttachMO = {\r\n info: {\r\n moType: null, //1:新增 2:編輯\r\n selectType: null,\r\n isRequired: null,\r\n CreateStore:null,\r\n },\r\n isShow: false,\r\n data: null,\r\n onOpen: (type, data) => {\r\n let my = this.EditAttachMO\r\n if (data)\r\n my.data = data\r\n\r\n my.info = {\r\n moType: type,\r\n selectType: this.attGroup.AttachItemKind,\r\n isRequired: this.attGroup.IsRequired,\r\n CreateStore:null\r\n }\r\n //this.EditAttachMO_Tmp.onOpen(my.info,data)\r\n my.isShow = true\r\n },\r\n onSave: (data) => {\r\n let my = this.EditAttachMO\r\n\r\n if (my.info.moType == 1) {\r\n\r\n if (!this.attGroup.PRDAttachItemList ) \r\n this.attGroup.PRDAttachItemList = [];\r\n data.CreateStore = this.info.ORG_Store_ID\r\n\r\n this.attGroup.PRDAttachItemList.push(data)\r\n this.attGroup.PRDAttachItemList.forEach((item, index) => {\r\n item.Sorting = index + 1;\r\n });\r\n }\r\n else {\r\n _.assign(my.data, data)\r\n }\r\n },\r\n onClose(v) {\r\n this.isShow = false\r\n },\r\n onDelete:(data, isDelete) => {\r\n let str = isDelete ? '停用' : '啟用'\r\n if (window.confirm(`確認${str}?`)) {\r\n data.IsDelete = isDelete ? true : false;\r\n this.EditAttachMO.updateisdelete(isDelete);\r\n } else {\r\n data.confirm.reject();\r\n }\r\n },\r\n updateisdelete:(isDelete) => {\r\n this.http.post('api/UsingMenu/UpdateAttachStatus', {\r\n USR_AccountInfo_ID: this.info.USR_AccountInfo_ID, //建立者,\r\n ORG_Company_ID: this.info.ORG_Company_ID,\r\n ORG_Store_ID: this.info.ORG_Store_ID,\r\n IsDelete: isDelete\r\n }).subscribe({\r\n next: data => {\r\n this.onOpen(this.info, this.orgData)\r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n }\r\n });\r\n\r\n }\r\n }\r\n\r\n\r\n //附加品項細項 選擇已存在的商品\r\n @ViewChild('ProductListMO_Tmp', { static: false }) ProductListMO_Tmp\r\n ProductListMO = {\r\n info: {\r\n },\r\n isShow: false,\r\n data: null,\r\n other: {\r\n attList: [],\r\n },\r\n onOpen: () => {\r\n let my = this.ProductListMO\r\n my.info = {\r\n }\r\n\r\n if(this.attGroup.PRDAttachItemList){\r\n my.other.attList = this.attGroup.PRDAttachItemList.filter(x => !x.PRDProductNo)\r\n my.data = this.attGroup.PRDAttachItemList.filter(x => x.PRDProductNo)\r\n my.data.forEach(x=>{\r\n x.Name = x.ItemName\r\n x.No = x.PRDProductNo \r\n Name: x.ProductName\r\n })\r\n }else{\r\n my.data = []\r\n my.other.attList = []\r\n }\r\n my.isShow = true\r\n //this.ProductListMO_Tmp.onOpen(my.info,pdList)\r\n },\r\n onSave: (data) => {\r\n let my = this.ProductListMO\r\n\r\n let list = []\r\n data.forEach(p => {\r\n list.push(p)\r\n })\r\n\r\n list.forEach(x => {\r\n if (x.SaleCash == null)\r\n x.SaleCash = 0\r\n if (x.Quantity == null)\r\n x.Quantity = 1\r\n if(this.attGroup.AttachItemKind == '2'){\r\n x.MaxSelectTimes = 1\r\n x.MinSelectTimes = 0\r\n }\r\n x.PRDProductNo = x.No\r\n x.ItemName = x.Name\r\n\r\n let p = my.data.find(p=>p.PRDProductNo == x.No)\r\n if(p)\r\n x.Sorting = p.Sorting\r\n })\r\n\r\n if(!this.attGroup.PRDAttachItemList)\r\n this.attGroup.PRDAttachItemList = []\r\n\r\n let result = _.concat(my.other.attList, list)\r\n // this.attGroup.PRDAttachItemList = _.orderBy(result,['Sorting'],['asc'])\r\n \r\n result.forEach((item, index) => {\r\n item.Sorting = index + 1;\r\n });\r\n \r\n this.attGroup.PRDAttachItemList = result;\r\n \r\n\r\n },\r\n onClose(v) {\r\n this.isShow = false\r\n }\r\n }\r\n\r\n\r\n\r\n //附加品項細項 選擇已存在的附加品項\r\n @ViewChild('AttachListMO_Tmp', { static: false }) AttachListMO_Tmp\r\n AttachListMO = {\r\n info: {\r\n ORG_Company_ID: null,\r\n },\r\n isShow: false,\r\n other: {\r\n pdList: []\r\n },\r\n data: null,\r\n onOpen: () => {\r\n let my = this.AttachListMO\r\n my.info = {\r\n ORG_Company_ID: this.info.ORG_Company_ID\r\n }\r\n\r\n if(this.attGroup.PRDAttachItemList){\r\n my.data = this.attGroup.PRDAttachItemList.filter(x => !x.PRDProductNo)\r\n my.other.pdList = this.attGroup.PRDAttachItemList.filter(x => x.PRDProductNo)\r\n }else{\r\n my.data = []\r\n my.other.pdList = []\r\n }\r\n\r\n my.isShow = true\r\n //this.AttachListMO_Tmp.onOpen(my.info,attList)\r\n },\r\n onSave: (data) => {\r\n let my = this.AttachListMO \r\n\r\n console.log('加入附加品項', data)\r\n data.forEach(x => {\r\n \r\n if (x.SaleCash == null)\r\n x.SaleCash = 0\r\n if (x.Quantity == null)\r\n x.Quantity = 1\r\n if(this.attGroup.AttachItemKind == '2'){\r\n if (x.MaxSelectTimes == null)\r\n x.MaxSelectTimes = 1\r\n if (x.MinSelectTimes == null)\r\n x.MinSelectTimes = 0\r\n }\r\n\r\n\r\n let p = my.data.find(p=>p.PRDAttachItemNo == x.PRDAttachItemNo)\r\n if(p)\r\n x.Sorting = p.Sorting\r\n \r\n })\r\n\r\n if(!this.attGroup.PRDAttachItemList)\r\n this.attGroup.PRDAttachItemList = []\r\n\r\n let result = _.concat(data, my.other.pdList)\r\n this.attGroup.PRDAttachItemList = _.orderBy(result,['Sorting'],['asc'])\r\n\r\n\r\n },\r\n onClose(v) {\r\n this.isShow = false\r\n }\r\n\r\n }\r\n\r\n\r\n //附加品項細項 查看商品詳情\r\n @ViewChild('ProductEditMo_Tmp', { static: false }) ProductEditMo_Tmp\r\n ProductEditMo = {\r\n info: {\r\n moType: 4, //1:新增 2:編輯\r\n pdShowType:2,\r\n ORG_Store_ID:null,\r\n PRDProductNo:null,\r\n orgType: null,\r\n groupList: [],\r\n },\r\n isShow: false,\r\n data: {\r\n PRDProductNo: null,\r\n },\r\n onOpen: (type, PRDProductNo) => {\r\n let my = this.ProductEditMo\r\n my.info.moType= 4 ;\r\n my.info.orgType= this.info.orgType != 3 ? 1 : 3 ;\r\n my.info.PRDProductNo = PRDProductNo\r\n my.info.ORG_Store_ID = this.info.ORG_Store_ID\r\n my.info.pdShowType = 2\r\n\r\n let groupList = [] \r\n if(my.info.orgType == 1 ){\r\n\r\n my.getDataAPI_Setting((data) => {\r\n\r\n my.getGroupListAPI_Setting((data) => {\r\n //共用下拉選單\r\n data.forEach(element => {\r\n let item = new selectData();\r\n item.value = element.PRDGroupNo;\r\n item.content = element.GroupName;\r\n groupList.push(item);\r\n }); \r\n })\r\n\r\n \r\n my.info.groupList= groupList ;\r\n\r\n my.data = data\r\n my.isShow = true\r\n })\r\n\r\n }\r\n else{\r\n \r\n my.data = null\r\n my.isShow = true\r\n }\r\n\r\n },\r\n onClose: (v) => {\r\n let my = this.ProductEditMo\r\n my.isShow = false\r\n },\r\n getDataAPI_Setting: (fun) => {\r\n let my = this.ProductEditMo\r\n let par = {\r\n PRDProductNo: my.info.PRDProductNo\r\n\r\n }\r\n\r\n this.http.post('api/ProductSetting/GetProductDetail', par).subscribe({\r\n next: data => {\r\n if (fun)\r\n fun(data)\r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n }\r\n });\r\n\r\n },\r\n getGroupListAPI_Setting: (fun) => {\r\n let my = this.ProductEditMo\r\n \r\n let par = {\r\n ORG_Company_ID: this.info.ORG_Company_ID.toString(),\r\n IsDelete: false,\r\n }\r\n this.http.post('api/ProductSetting/GetProductGroup', par).subscribe({\r\n next: data => { \r\n fun(data.LIST)\r\n },\r\n error: error => {\r\n }\r\n });\r\n\r\n\r\n },\r\n \r\n }\r\n\r\n//商品 編輯\r\n@ViewChild('EditAttAKAMoDOM', { static: false }) EditAttAKAMoDOM\r\nEditAttAKAMoRef = null;\r\nEditAttAKAMo = {\r\n info: {\r\n IsLoding: false,\r\n moType: null, //1:新增 2:編輯\r\n PRDAttachItemNo: null,\r\n storeId: null,\r\n ProductName: null,\r\n },\r\n data: {\r\n selectStore: null,\r\n List: [{\r\n TypeName: \"POS顯示\",\r\n Type: 1,\r\n Name: \"\"\r\n }, {\r\n TypeName: \"訂單明細\",\r\n Type: 2,\r\n Name: \"\"\r\n }, {\r\n TypeName: \"廚房聯\",\r\n Type: 3,\r\n Name: \"\"\r\n }, {\r\n TypeName: \"顧客聯\",\r\n Type: 4,\r\n Name: \"\"\r\n }, {\r\n TypeName: \"標籤\",\r\n Type: 5,\r\n Name: \"\"\r\n }, {\r\n TypeName: \"關帳小結\",\r\n Type: 6,\r\n Name: \"\"\r\n }\r\n // ,{\r\n // TypeName:\"Ubereat\",\r\n // Type:7,\r\n // Name:\"\"\r\n // },{\r\n // TypeName:\"FoodPanda\",\r\n // Type:8,\r\n // Name:\"\"\r\n // },{\r\n // TypeName:\"線上點餐\",\r\n // Type:9,\r\n // Name:\"\"\r\n // }\r\n ]\r\n },\r\n onOpen: (type, data) => {\r\n let my = this.EditAttAKAMo\r\n my.info.moType = type\r\n my.info.PRDAttachItemNo = data.PRDAttachItemNo\r\n my.info.ProductName = data.AttachItemName\r\n my.info.storeId = data.CreateStore\r\n\r\n my.getData(() => {\r\n this.EditAttAKAMoRef = this.dialogService.open(this.EditAttAKAMoDOM, {})\r\n })\r\n\r\n my.data.selectStore = this.storeSelectList[0].value\r\n },\r\n onSave: (data) => {\r\n let my = this.EditAttAKAMo\r\n my.info.IsLoding = true\r\n let req = {\r\n PRDAttachItemNo: my.info.PRDAttachItemNo,\r\n ORG_Store_ID: my.info.storeId == 0 ? my.data.selectStore : my.info.storeId,\r\n USR_AccountInfo_ID: this.info.USR_AccountInfo_ID, //建立者,\r\n LIST: my.data.List\r\n\r\n }\r\n this.http.post('api/AttachItemSetting/ModifyAttachAKA', req).subscribe({\r\n next: data => {\r\n console.log(data);\r\n if (data.RESULT != null && data.RESULT != '') {\r\n alert(data.RESULT);\r\n } else {\r\n this.EditAttAKAMoRef.close()\r\n }\r\n my.info.IsLoding = false\r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n my.info.IsLoding = false\r\n }\r\n })\r\n\r\n },\r\n\r\n getData: (fun) => {\r\n let my = this.EditAttAKAMo\r\n let par = {\r\n PRDAttachItemNo: my.info.PRDAttachItemNo,\r\n ORG_Store_ID: my.info.storeId == 0 ? my.data.selectStore : my.info.storeId,\r\n }\r\n\r\n this.http.post('api/AttachItemSetting/GetAttachAKAList', par).subscribe({\r\n next: data => {\r\n if (!data.LIST)\r\n data.LIST = []\r\n\r\n my.data.List.forEach(x => x.Name = \"\")\r\n\r\n data.LIST.forEach(x => {\r\n let obj = my.data.List.find(y => y.Type == x.Type);\r\n obj.Name = x.Name\r\n })\r\n\r\n if (fun)\r\n fun()\r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n }\r\n });\r\n },\r\n}\r\n\r\n\r\n//商品 編輯\r\n@ViewChild('EditLanguageMoDOM', { static: false }) EditLanguageMoDOM\r\nEditLanguageMoRef = null;\r\nEditLanguageMo = {\r\n info: {\r\n IsLoding: false,\r\n moType: null, //1:新增 2:編輯\r\n PRDAttachItemNo: null,\r\n storeId: null,\r\n ProductName: null,\r\n },\r\n data: {\r\n selectStore: null,\r\n List: [] as LanguageListDTO[]\r\n },\r\n onOpen: (data) => {\r\n let my = this.EditLanguageMo\r\n my.info.PRDAttachItemNo = data.PRDAttachItemNo\r\n my.info.ProductName = data.ProductName\r\n my.info.storeId = data.CreateStore\r\n\r\n my.getData(() => {\r\n this.EditLanguageMoRef = this.dialogService.open(this.EditLanguageMoDOM, {})\r\n })\r\n\r\n my.data.selectStore = this.storeSelectList[0].value\r\n\r\n\r\n },\r\n onSave: (data) => {\r\n let my = this.EditLanguageMo\r\n my.info.IsLoding = true\r\n let req = {\r\n PRDAttachItemNo: my.info.PRDAttachItemNo,\r\n ORG_Store_ID: my.info.storeId == 0 ? my.data.selectStore : my.info.storeId,\r\n USR_AccountInfo_ID: this.info.USR_AccountInfo_ID, //建立者,\r\n LIST: my.data.List\r\n\r\n }\r\n this.http.post('api/ProductSetting/ModifyAttachItemLanguage', req).subscribe({\r\n next: data => {\r\n console.log(data);\r\n if (data.RESULT != null && data.RESULT != '') {\r\n alert(data.RESULT);\r\n } else {\r\n this.EditLanguageMoRef.close()\r\n }\r\n my.info.IsLoding = false\r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n my.info.IsLoding = false\r\n }\r\n })\r\n\r\n },\r\n\r\n getData: (fun) => {\r\n let my = this.EditLanguageMo\r\n let par = {\r\n ORG_Company_ID: this.info.ORG_Company_ID,\r\n ORG_Store_ID: this.info.ORG_Store_ID,\r\n PRDAttachItemNo: my.info.PRDAttachItemNo\r\n }\r\n\r\n this.http.post('api/ProductSetting/GetAttachItemLanguageList', par).subscribe({\r\n next: data => {\r\n if (data.LIST) {\r\n // 過濾掉已停用的語言\r\n my.data.List = data.LIST.filter(x => !x.IsDelete);\r\n }\r\n\r\n if (fun) fun();\r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n }\r\n });\r\n },\r\n\r\n\r\n\r\n}\r\n\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nclass PRDAttachItemGroupReq {\r\n ModelNoList:string[];\r\n\r\n ModelList:any;\r\n PRDMenuAttachItemGroupNo: string; //附加品項群組編號\r\n ORG_Company_ID: number; //公司ID\r\n GroupName: string; //附加品項群組名稱\r\n AttachItemKind: string; //群組類型:1:單選 2:複選\r\n IsRequired: string; //是否必填:1:必填 2:非必填\r\n IsConsistent:string; //是否規則一致:1:是 2:否\r\n SelectUpLimit: number; //最多可選\r\n SelectMinLimit: number; //最少可選\r\n Sorting?: number; //IsDelete\r\n IsNoDisplayQuantity: Boolean; //出單不顯示數量\r\n PRDAttachItemList: PRDAttachItemReq[]; //附加品項群組\r\n IsSumSubtotalQty: string; //計入小計數量\r\n\r\n IsDelete: boolean; //IsDelete\r\n USR_AccountInfo_ID: string; //建立者\r\n}\r\nexport class PRDAttachItemReq {\r\n PRDProductGroupNo: string //商品群組編號\r\n PRDAttachItemNo: string; //附加品項編號\r\n PRDProductNo: string; //商品編號\r\n Name: string //商品名稱;\r\n TaxRate: number;\r\n TaxType: number;\r\n Note: string;\r\n Quantity: number; //數量\r\n Cash: number; //金額\r\n\r\n MaxSelectTimes: number; //最多可選\r\n MinSelectTimes: number; //最少可選\r\n SaleCash: number; //販售金額\r\n IsSell: boolean; //是否販售\r\n IsDefault:boolean; //預設使用\r\n IsNoDisplayQuantity: Boolean; //出單不顯示數量\r\n Sorting: number; //排序\r\n IsSumSubtotalQty: string; //計入小計數量\r\n}\r\nclass selectData {\r\n value: number;\r\n content: string;\r\n\r\n}\r\n\r\ninterface LanguageListDTO {\r\n SYS_Language_ID: number;\r\n Name: string;\r\n IsDelete: boolean;\r\n}","\r\n\r\n \r\n\r\n
\r\n \r\n \r\n 新增附加品項群組\r\n \r\n 編輯附加品項群組\r\n \r\n 複製附加品項群組\r\n \r\n 查看附加品項群組\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {{ item.content }} \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n 單選\r\n 複選\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n 必選\r\n 非必選\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n
排序選項名稱數量原價售價POS、線上點餐
最多可選量
線上點餐
最少可選量
POS、
線上點餐預設
類型\r\n 停售\r\n 出單不顯示數量計入小計數量管理
\r\n \r\n {{att.Sorting}} \r\n \r\n \r\n \r\n\r\n {{att.ItemName}}\r\n
\r\n \r\n
\r\n {{att.Quantity}}\r\n \r\n {{att.Cash}}\r\n \r\n {{att.SaleCash}}\r\n \r\n \r\n {{att.MaxSelectTimes}}\r\n \r\n \r\n {{att.MinSelectTimes}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ att.PRDProductNo ? '商品' : '選項'}}\r\n \r\n {{ att.IsSell ? '否' : '是'}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 查看\r\n \r\n \r\n 查看\r\n \r\n\r\n \r\n \r\n 編輯 \r\n \r\n \r\n 編輯別名 \r\n \r\n \r\n 編輯多語言 \r\n \r\n \r\n 刪除\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n\r\n
\r\n \r\n \r\n 編輯-{{EditAttAKAMo.info.ProductName}}-商品別名\r\n \r\n\r\n \r\n \r\n
\r\n 選擇門市\r\n
\r\n \r\n \r\n {{ e.content }}\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n {{item.TypeName}}\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n \r\n 編輯-{{EditLanguageMo.info.ProductName}}-附加商品多語言\r\n \r\n\r\n \r\n
\r\n {{item.LanguageName}}\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ","import {\r\n Component,\r\n OnInit,\r\n Output,\r\n EventEmitter,\r\n Input,\r\n ViewChild,\r\n TemplateRef,\r\n} from \"@angular/core\";\r\nimport { NbDialogService } from \"@nebular/theme\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { CookieService } from \"ngx-cookie-service\";\r\nimport * as _ from \"lodash\";\r\nimport { DatePipe } from '@angular/common';\r\n\r\n@Component({\r\n selector: \"app-edit-product\",\r\n templateUrl: \"./edit-product.component.html\",\r\n styleUrls: [\"./edit-product.component.scss\"],\r\n})\r\nexport class EditProductComponent implements OnInit {\r\n @Output() emitList = new EventEmitter();\r\n @Output() emitClose = new EventEmitter();\r\n @Input() orgData: ModifyPRDProductReq; //已選資料_來源\r\n @Input() info: {\r\n IsLoding:boolean,\r\n moType: number; //目前編輯狀態 1.新增 2.編輯 3.複製 4.查看\r\n orgType: number; //來源類型 1.設定檔&設定檔附加品項中 2.菜單檔 3.使用中菜單檔&使用中菜單檔附加品項中 \r\n pdShowType: number; //1.商品 2.附加品項中商品\r\n pfType:number;//平台類型 1.POS 2.享online 3.uber 4.panda\r\n ORG_Store_ID:null\r\n groupList: selectData[]; \r\n isChange_Group : boolean;\r\n PRDGroupNo:null\r\n PRDMenuProductGroupNo:null\r\n storeList: selectData[];\r\n memberTypeList: memberData[];//會員類型清單\r\n \r\n //-------old------------\r\n PRDProductGroupNo: null;\r\n PRDProductNo: null;\r\n };\r\n //標題\r\n moTitle: string;\r\n title2: string;\r\n //主要資料\r\n mealData: ModifyPRDProductReq;\r\n\r\n //操作者資料\r\n USR_AccountInfo_ID: string;\r\n USR_EmployeeInfo_ID: string;\r\n ORG_Company_ID: number;\r\n ORG_Store_ID: number;\r\n authChangeSub:any;\r\n\r\n //圖片\r\n testFiles;\r\n\r\n //---------------選項列表-------->--------------//\r\n //稅率列表\r\n TaxRateList = [];\r\n TaxTypeList = [\r\n { value: 1, content: \"免稅\" },\r\n { value: 2, content: \"應稅\" },\r\n { value: 3, content: \"零稅\" },\r\n ];\r\n\r\n //-------<--------選項列表----------------------//\r\n\r\n @ViewChild(\"Modal\") Modal: TemplateRef;\r\n modalRef = null; //談窗鉤子\r\n @ViewChild(\"DayModal\") DayModal: TemplateRef;\r\n dayModalRef = null; //談窗鉤子\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private dialogService: NbDialogService,\r\n private cookieService: CookieService,\r\n private datePipe: DatePipe,\r\n ) {\r\n this.USR_AccountInfo_ID = this.cookieService.get('USR_AccountInfo_ID') ? \r\n \"USR_AccountInfo_ID_\"+this.cookieService.get('USR_AccountInfo_ID') :\r\n this.cookieService.get('USR_POSEmployeeInfo_ID') ? \r\n \"USR_POSEmployeeInfo_ID\"+this.cookieService.get('USR_POSEmployeeInfo_ID') : null\r\n this.USR_EmployeeInfo_ID = this.cookieService.get('USR_EmployeeInfo_ID')\r\n this.ORG_Company_ID = parseInt(this.cookieService.get('ORG_Company_ID'))\r\n let cookie_sid = this.cookieService.get('ORG_Store_ID')\r\n this.ORG_Store_ID= (cookie_sid && cookie_sid!='') ? parseInt(cookie_sid) : null\r\n\r\n\r\n \r\n }\r\n \r\n \r\n\r\n\r\n ngOnInit(): void {\r\n for (let i = 1; i < 100; i++) {\r\n this.TaxRateList.push({ value: i, content: i + \"%\" });\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.onOpen(this.info, this.orgData)\r\n\r\n }\r\n\r\n\r\n onOpen(info, data) {\r\n if (info) this.info = info;\r\n\r\n this.mealData = new ModifyPRDProductReq();\r\n \r\n \r\n if (this.info.moType == 1) {\r\n this.moTitle = \"新增\";\r\n\r\n this.mealData.PRDGroupNo = this.info.PRDGroupNo\r\n this.mealData.PRDMenuProductGroupNo= this.info.PRDMenuProductGroupNo\r\n }\r\n else if (this.info.moType == 2) {\r\n this.moTitle = \"編輯\";\r\n if (data) {\r\n this.toProductDetail(data);\r\n } \r\n }\r\n else if (this.info.moType == 3) {\r\n this.moTitle = \"複製\";\r\n if (data) {\r\n this.toProductDetail(data);\r\n this.mealData.PRDProductNo = null;\r\n }\r\n\r\n if(this.info.orgType == 1){\r\n this.getStoreList()\r\n }\r\n\r\n }\r\n else if (this.info.moType == 4) {\r\n this.moTitle = \"查看\";\r\n if (data) {\r\n this.toProductDetail(data);\r\n } else {\r\n this.getProductDetail(null);\r\n }\r\n }\r\n\r\n if (this.info.orgType == 1) {\r\n this.title2 = \"預設資料\";\r\n }\r\n else if (this.info.orgType == 2) {\r\n this.title2 = \"可調整資料\";\r\n if(!this.mealData.SupplyQTY)\r\n this.mealData.SupplyQTY = 10000;\r\n }\r\n else if (this.info.orgType == 3) {\r\n this.title2 = \"販售資料\";\r\n }\r\n\r\n if(!info.pdShowType){\r\n info.pdShowType=1\r\n }\r\n\r\n this.modalRef = this.dialogService.open(this.Modal, {});\r\n this.modalRef.onClose.subscribe(result => {\r\n this.emitClose.emit(true);\r\n });\r\n }\r\n\r\n onSave() {\r\n if (!this.mealData.Cash && this.mealData.Cash != 0) {\r\n alert(\"商品原價必須填!\");\r\n return null;\r\n }\r\n if (!this.mealData.SaleCash && this.mealData.SaleCash != 0) {\r\n alert(\"商品售價必須填!\");\r\n return null;\r\n }\r\n\r\n //轉換營業時段\r\n if (this.mealData.supplyPeriod && this.mealData.supplyPeriod.length ) {\r\n if (this.mealData.supplyPeriod.length >= 1) {\r\n this.mealData.FirstSupplyStartTime = \r\n this.datePipe.transform(this.mealData.supplyPeriod[0].startTime, 'yyyy/MM/dd HH:mm:ss')\r\n \r\n this.mealData.FirstSupplyEndTime = \r\n this.datePipe.transform(this.mealData.supplyPeriod[0].endTime, 'yyyy/MM/dd HH:mm:ss')\r\n\r\n if(this.mealData.supplyPeriod[0].startTime > this.mealData.supplyPeriod[0].endTime){\r\n alert(\"開始日期不可大於結束日期!\")\r\n return \r\n }\r\n }\r\n \r\n if (this.mealData.supplyPeriod.length >= 2) {\r\n this.mealData.SecondSupplyStartTime = \r\n this.datePipe.transform(this.mealData.supplyPeriod[1].startTime, 'yyyy/MM/dd HH:mm:ss')\r\n this.mealData.SecondSupplyEndTime = \r\n this.datePipe.transform(this.mealData.supplyPeriod[1].endTime, 'yyyy/MM/dd HH:mm:ss')\r\n\r\n if(this.mealData.supplyPeriod[1].startTime > this.mealData.supplyPeriod[1].endTime){\r\n alert(\"開始日期不可大於結束日期!\")\r\n return\r\n }\r\n }\r\n }\r\n else{\r\n this.mealData.FirstSupplyStartTime = \"\"\r\n this.mealData.FirstSupplyEndTime = \"\"\r\n this.mealData.SecondSupplyStartTime = \"\"\r\n this.mealData.SecondSupplyEndTime = \"\"\r\n }\r\n\r\n var checkMember = null\r\n if (this.mealData.ProductLevelMapJsonData) {\r\n checkMember = this.mealData.ProductLevelMapJsonData.map(item => JSON.parse(JSON.stringify(item)));\r\n for (let i = 0; i < checkMember.length; i++) {\r\n const item = checkMember[i];\r\n for (const key in item) {\r\n if (item[key] === \"\" || item[key] === null) {\r\n alert(\"特殊價格設定未填寫完整!\");\r\n return;\r\n }\r\n }\r\n const ids = item.usrMemberLevelIDs.split(',');\r\n const names = item.memberLevelNames.split('、');\r\n if (ids.includes(\"0\") && names.includes(\"全部適用\")) {\r\n item.usrMemberLevelIDs = null;\r\n item.memberLevelNames = \"\";\r\n }\r\n }\r\n }\r\n\r\n\r\n //圖片處理\r\n if (this.mealData.files && this.mealData.files.length > 0) {\r\n this.mealData.Image = this.mealData.files[0].path;\r\n }\r\n\r\n //加購品項\r\n let attachItemGroups: string = \"\";\r\n if (this.mealData.AttachItemGroupJsonDatas) {\r\n let data = _.orderBy(this.mealData.AttachItemGroupJsonDatas,x=>['Sorting'], ['asc'])\r\n data.forEach((item) => {\r\n if (attachItemGroups == \"\") {\r\n attachItemGroups = item.PRDMenuAttachItemGroupNo;\r\n } else {\r\n attachItemGroups = attachItemGroups + \",\" + item.PRDMenuAttachItemGroupNo;\r\n }\r\n\r\n item.Sorting = item.Sorting*1\r\n });\r\n }\r\n this.mealData.AttachItemGroupJsonData = attachItemGroups;\r\n\r\n \r\n\r\n\r\n //格式處理\r\n let Main = {\r\n ProductName: this.mealData.ProductName,\r\n ProductContant: this.mealData.ProductContant,\r\n Image: this.mealData.Image,\r\n TaxRate: this.mealData.TaxRate,\r\n TaxType: this.mealData.TaxType,\r\n Cash: this.mealData.Cash,\r\n }\r\n let Detail = {\r\n SaleCash: this.mealData.SaleCash,\r\n Sorting: this.mealData.Sorting,\r\n IsOpenTakeout: this.mealData.IsOpenTakeout,\r\n IsOpenDelivery: this.mealData.IsOpenDelivery,\r\n IsOpenDining: this.mealData.IsOpenDining,\r\n IsOpenSelfPickup: this.mealData.IsOpenSelfPickup,\r\n IsOpenReserveDining: this.mealData.IsOpenReserveDining,\r\n IsChangeCash:this.mealData.IsChangeCash,\r\n SupplyQTY: this.mealData.SupplyQTY,\r\n UplimitQTY: this.mealData.UplimitQTY,\r\n SupplyDay: this.mealData.SupplyDay,\r\n FirstSupplyStartTime: this.mealData.FirstSupplyStartTime,\r\n FirstSupplyEndTime: this.mealData.FirstSupplyEndTime,\r\n SecondSupplyStartTime: this.mealData.SecondSupplyStartTime,\r\n SecondSupplyEndTime: this.mealData.SecondSupplyEndTime,\r\n AttachItemGroupJsonDatas: this.mealData.AttachItemGroupJsonDatas,\r\n AttachItemGroupJsonData: this.mealData.AttachItemGroupJsonData,\r\n ProductLevelMapJsonData: checkMember,\r\n }\r\n this.mealData.Main = Main\r\n this.mealData.Detail = Detail\r\n this.mealData.ORG_Company_ID = this.ORG_Company_ID;\r\n this.mealData.USR_EmployeeInfo_ID = parseInt(this.USR_EmployeeInfo_ID);\r\n this.mealData.USR_AccountInfo_ID = this.USR_AccountInfo_ID; //建立者;\r\n\r\n console.log('送出',this.mealData)\r\n\r\n this.emitList.emit(this.mealData);\r\n // this.modalRef.close();\r\n }\r\n\r\n\r\n \r\n\r\n\r\n //商品彈窗 新增供應時段\r\n addSupplyData() {\r\n if (this.mealData.supplyPeriod == null) {\r\n this.mealData.supplyPeriod = [];\r\n }\r\n if (this.mealData.supplyPeriod.length >= 2) {\r\n return;\r\n }\r\n this.mealData.supplyPeriod.push(new supplyPeriod());\r\n }\r\n\r\n //商品彈窗 刪除供應時段\r\n delSupplyData(idx) {\r\n this.mealData.supplyPeriod.splice(idx, 1);\r\n }\r\n\r\n //商品彈窗 供應日期 設定\r\n addSupplyTime() {\r\n this.dayModalRef = this.dialogService.open(this.DayModal, {});\r\n }\r\n //商品彈窗 供應日期 顯示\r\n showSupplyTime() {\r\n var str = [];\r\n var value = [];\r\n this.mealData.SupplyDay = \"\";\r\n if (this.mealData.supplyTimeMonday) {\r\n str.push(\"星期一\");\r\n value.push(\"1\");\r\n }\r\n if (this.mealData.supplyTimeTuesday) {\r\n str.push(\"星期二\");\r\n value.push(\"2\");\r\n }\r\n if (this.mealData.supplyTimeWednesday) {\r\n str.push(\"星期三\");\r\n value.push(\"3\");\r\n }\r\n if (this.mealData.supplyTimeThursday) {\r\n str.push(\"星期四\");\r\n value.push(\"4\");\r\n }\r\n if (this.mealData.supplyTimeFriday) {\r\n str.push(\"星期五\");\r\n value.push(\"5\");\r\n }\r\n if (this.mealData.supplyTimeSaturday) {\r\n str.push(\"星期六\");\r\n value.push(\"6\");\r\n }\r\n if (this.mealData.supplyTimeSunday) {\r\n str.push(\"星期日\");\r\n value.push(\"7\");\r\n }\r\n if (str.length > 0) {\r\n //去掉第一個逗號\r\n this.mealData.supplyDayStr = str.join(\",\");\r\n this.mealData.SupplyDay = value.join(\",\");\r\n }\r\n\r\n if (this.dayModalRef)\r\n this.dayModalRef.close()\r\n\r\n return str;\r\n }\r\n\r\n //商品彈窗 上傳圖片用\r\n fileToBase64 = (file: File): Promise => {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => resolve(reader.result.toString());\r\n reader.onerror = (error) => reject(error);\r\n });\r\n };\r\n\r\n\r\n //商品彈窗 圖片上傳\r\n onSelect(event,dataBox) {\r\n console.log(event);\r\n dataBox.files = [];\r\n\r\n if (event.addedFiles == null || event.addedFiles.length == 0) {\r\n return;\r\n }\r\n\r\n const self = this;\r\n const checks = event.addedFiles.map(file => {\r\n return new Promise((resolve, reject) => {\r\n // 檢查圖片大小\r\n if (file.size > 20 * 1024 * 1024) {\r\n alert(\"檔案大小不能超過20MB\");\r\n return reject();\r\n }\r\n \r\n // 檢查圖片尺寸\r\n const img = new Image();\r\n img.src = URL.createObjectURL(file);\r\n img.onload = () => {\r\n if (img.width > 2000 || img.height > 2000) {\r\n alert(\"圖片的長和寬都要小於2000像素\");\r\n return reject();\r\n }\r\n if (img.width < 320 || img.height < 320) {\r\n alert(\"圖片的長和寬都要大於320像素\");\r\n return reject();\r\n }\r\n resolve(file);\r\n };\r\n });\r\n });\r\n \r\n Promise.all(checks).then((validFiles) => {\r\n dataBox.files.push(event.addedFiles[0]);\r\n const formData = new FormData();\r\n \r\n for (var i = 0; i < dataBox.files.length; i++) {\r\n formData.append(\"file[]\", dataBox.files[i]);\r\n }\r\n \r\n let imgdata = {}\r\n\r\n if (dataBox.files && dataBox.files[0]) {\r\n for (let i = 0; i < dataBox.files.length; i++) {\r\n self.fileToBase64(dataBox.files[i]).then((result) => {\r\n const base64String = result;\r\n \r\n imgdata = {\r\n base64: base64String,\r\n functionType: \"1\",\r\n ORG_Company_ID:self.ORG_Company_ID,\r\n ORG_Store_ID:self.info.ORG_Store_ID\r\n };\r\n \r\n self.info.IsLoding = true;\r\n self.http\r\n .post(\"api/ImageUpload/ImageUpload\", imgdata)\r\n .subscribe({\r\n next: (data) => {\r\n console.log(data);\r\n dataBox.files[0].path = data.path;\r\n console.log(dataBox.files[0].path);\r\n self.info.IsLoding = false;\r\n },\r\n error: (error) => {\r\n console.error(\"There was an error!\", error);\r\n },\r\n });\r\n });\r\n }\r\n }\r\n }).catch(() => {\r\n // 如果有文件不符合要求\r\n self.info.IsLoding = false;\r\n console.log(\"有圖片不符合要求,不執行上傳\");\r\n });\r\n \r\n }\r\n\r\n //商品彈窗 圖片清除\r\n onRemove(event,dataBox) {\r\n console.log(event);\r\n // dataBox.files.splice(dataBox.files.indexOf(event), 1);\r\n dataBox.files = []\r\n if(dataBox.Image)\r\n dataBox.Image = '' \r\n \r\n event.stopPropagation();\r\n }\r\n\r\n\r\n //商品彈窗 圖片清除\r\n Remove(event,dataBox) {\r\n dataBox.files = []\r\n if(dataBox.Image)\r\n dataBox.Image = ''\r\n }\r\n\r\n //商品彈窗 變更目標商店\r\n onSelectStore(){\r\n this.getGroupList()\r\n }\r\n\r\n\r\n //處理商品資料\r\n toProductDetail(data) {\r\n \r\n if(this.info.orgType != 3 ) {\r\n this.mealData = Object.assign(this.mealData, data,data.Main,data.Detail)\r\n }\r\n else{\r\n this.mealData = Object.assign(this.mealData, data)\r\n }\r\n\r\n\r\n //如果供應時間有值,拆解字串\r\n if (\r\n this.mealData.SupplyDay != null &&\r\n this.mealData.SupplyDay != \"\"\r\n ) {\r\n const myArray = this.mealData.SupplyDay.split(\",\");\r\n myArray.forEach((day) => {\r\n if (\"1\" == day) {\r\n this.mealData.supplyTimeMonday = true;\r\n }\r\n if (\"2\" == day) {\r\n this.mealData.supplyTimeTuesday = true;\r\n }\r\n if (\"3\" == day) {\r\n this.mealData.supplyTimeWednesday = true;\r\n }\r\n if (\"4\" == day) {\r\n this.mealData.supplyTimeThursday = true;\r\n }\r\n if (\"5\" == day) {\r\n this.mealData.supplyTimeFriday = true;\r\n }\r\n if (\"6\" == day) {\r\n this.mealData.supplyTimeSaturday = true;\r\n }\r\n if (\"7\" == day) {\r\n this.mealData.supplyTimeSunday = true;\r\n }\r\n });\r\n this.showSupplyTime()\r\n }\r\n //填充供應時間\r\n this.mealData.supplyPeriod = [];\r\n if (this.mealData.FirstSupplyStartTime != null) {\r\n var tmp = new supplyPeriod();\r\n tmp.startTime = new Date(this.mealData.FirstSupplyStartTime);\r\n tmp.endTime = new Date(this.mealData.FirstSupplyEndTime);\r\n this.mealData.supplyPeriod.push(tmp);\r\n\r\n if (this.mealData.SecondSupplyStartTime != null) {\r\n var tmp = new supplyPeriod();\r\n tmp.startTime = new Date(this.mealData.SecondSupplyStartTime);\r\n tmp.endTime = new Date(this.mealData.SecondSupplyEndTime);\r\n this.mealData.supplyPeriod.push(tmp);\r\n }\r\n }\r\n }\r\n\r\n //-----------------------特殊價格設定 >------------------------------\r\n @ViewChild('ProductLevelSettingMO_Tmp', { static: false }) ProductLevelSettingMO_Tmp\r\n ProductLevelSettingMO = {\r\n data: null, //彈窗的項目(會員類型資料)\r\n USR_MemberLevel_IDList: null, //已有的會員\r\n showData:[], //顯示的資料\r\n isShow: false,\r\n index: null,\r\n //管理\r\n onOpen: (data, index) => {\r\n const self = this;\r\n let my = self.ProductLevelSettingMO\r\n\r\n my.data = []\r\n my.data = self.info.memberTypeList\r\n my.USR_MemberLevel_IDList = []\r\n if (data.usrMemberLevelIDs && data.usrMemberLevelIDs.trim() !== '') {\r\n my.USR_MemberLevel_IDList = data.usrMemberLevelIDs.split(',').map(Number);\r\n } else {\r\n my.USR_MemberLevel_IDList = [];\r\n }\r\n my.index = index\r\n my.isShow = true\r\n }, \r\n onSave: (data) => {\r\n const self = this;\r\n let ProductLevel = self.mealData.ProductLevelMapJsonData\r\n\r\n ProductLevel[data.index].usrMemberLevelIDs = data.filteredList.map(member => member.USR_MemberLevel_ID).join(',');\r\n ProductLevel[data.index].memberLevelNames = data.filteredList.map(member => member.MemberLevelName).join('、');\r\n\r\n // 提取出需要被移除的資料\r\n const removableNos = data.filteredList.map(member => member.USR_MemberLevel_ID).join(',');\r\n const removableNames = data.filteredList.map(member => member.MemberLevelName).join('、');\r\n\r\n // 更新 ProductLevel 數組,刪除指定的 USR_MemberLevel_ID 和 MemberLevelName\r\n ProductLevel.forEach((item, index) => {\r\n if (index !== data.index) {\r\n let itemNos = item.usrMemberLevelIDs.split(',');\r\n let itemNames = item.memberLevelNames.split('、');\r\n \r\n // 移除對應的 USR_MemberLevel_ID 和 MemberLevelName\r\n itemNos = itemNos.filter(no => !removableNos.includes(no));\r\n itemNames = itemNames.filter(name => !removableNames.includes(name));\r\n \r\n // 重新組合回字串格式\r\n item.usrMemberLevelIDs = itemNos.join(',');\r\n item.memberLevelNames = itemNames.join('、');\r\n }\r\n });\r\n },\r\n onDel:(index: number)=>{\r\n const self = this;\r\n let ProductLevel = self.mealData.ProductLevelMapJsonData\r\n ProductLevel.splice(index, 1);\r\n },\r\n onClose(v) {\r\n this.isShow = false\r\n },\r\n onAddShow:()=>{ \r\n const self = this;\r\n if (!self.mealData.ProductLevelMapJsonData) {\r\n self.mealData.ProductLevelMapJsonData = [];\r\n }\r\n let ProductLevel = self.mealData.ProductLevelMapJsonData\r\n \r\n ProductLevel.push({\r\n usrMemberLevelIDs: '',\r\n memberLevelNames: '',\r\n takeoutSaleCash: null,\r\n deliverySaleCash: null,\r\n diningSaleCash: null,\r\n selfPickupSaleCash: null\r\n }) \r\n }\r\n }\r\n\r\n //附加品項分類 \r\n @ViewChild('SelectAttMMO_Tmp', { static: false }) SelectAttMMO_Tmp\r\n SelectAttMMO = {\r\n info: {\r\n },\r\n isShow: false,\r\n data: null,\r\n other: {\r\n attList: [],\r\n },\r\n onOpen: () => {\r\n let my = this.SelectAttMMO\r\n my.info = {\r\n }\r\n\r\n my.data = []\r\n // if (this.mealData.AttachItemGroupJsonDatas){\r\n // my.data = _.cloneDeep(this.mealData.AttachItemGroupJsonDatas);\r\n // my.data.forEach(x=>{\r\n // x.No = x.PRDMenuAttachItemGroupNo \r\n // })\r\n // }\r\n my.isShow = true\r\n //this.SelectAttMMO_Tmp.onOpen(my.info,pdList)\r\n },\r\n onSave: (data) => {\r\n let my = this.SelectAttMMO\r\n\r\n if (!this.mealData.AttachItemGroupJsonDatas)\r\n this.mealData.AttachItemGroupJsonDatas = []\r\n\r\n let list = []\r\n data.forEach(p=>{\r\n if(this.mealData.AttachItemGroupJsonDatas\r\n .findIndex(x=>x.PRDMenuAttachItemGroupNo==p.No)==-1){\r\n p.Sorting=0\r\n list.push(p)\r\n }\r\n })\r\n \r\n this.mealData.AttachItemGroupJsonDatas =\r\n this.mealData.AttachItemGroupJsonDatas.concat(list) \r\n this.mealData.AttachItemGroupJsonDatas.forEach((item, index) => {\r\n item.Sorting = index + 1;\r\n });\r\n\r\n },\r\n onClose(v) {\r\n this.isShow = false\r\n }\r\n }\r\n\r\n\r\n //附加品項群組 選擇\r\n @ViewChild(\"SelectAttGMO_Tmp\", { static: false }) SelectAttGMO_Tmp;\r\n SelectAttGM = {\r\n info: {\r\n ORG_Company_ID: null,\r\n ORG_Store_ID: null,\r\n },\r\n isShow: false,\r\n data: null,\r\n onOpen: () => {\r\n let my = this.SelectAttGM;\r\n if (this.mealData.AttachItemGroupJsonDatas)\r\n my.data = _.cloneDeep(this.mealData.AttachItemGroupJsonDatas);\r\n\r\n my.info = {\r\n ORG_Company_ID: this.ORG_Company_ID,\r\n ORG_Store_ID: this.ORG_Store_ID,\r\n }\r\n //this.SelectAttGMO_Tmp.onOpen(my.info, my.data);\r\n my.isShow = true\r\n },\r\n onSave: (data) => {\r\n let my = this.SelectAttGM;\r\n this.mealData.AttachItemGroupJsonDatas = data\r\n },\r\n onClose(v) {\r\n this.isShow = false\r\n }\r\n };\r\n\r\n\r\n //附加品項群組 查看 \r\n @ViewChild('EditAttachGMO_Tmp', { static: false }) EditAttachGMO_Tmp\r\n EditAttachGMO = {\r\n info: {\r\n ORG_Company_ID: null,\r\n ORG_Store_ID: null,\r\n GroupNo: null,\r\n moType: null,\r\n orgType:null,\r\n },\r\n isShow: false,\r\n data: {},\r\n onOpen: (type, data) => {\r\n let my = this.EditAttachGMO\r\n my.info = {\r\n ORG_Company_ID: this.ORG_Company_ID,\r\n ORG_Store_ID: this.info.ORG_Store_ID,\r\n GroupNo: data ? data.PRDMenuAttachItemGroupNo ? data.PRDMenuAttachItemGroupNo : data.PRDAttachItemGroupNo : null, \r\n moType: type,\r\n orgType:this.info.orgType,\r\n }\r\n //事件會早於屬性匯入前執行 因此必須改使用參數\r\n //this.EditAttachMO_Tmp.onOpen(my.info,my.data)\r\n my.isShow = true\r\n },\r\n onSave: (data) => {\r\n if (data.ORG_Store_ID != this.ORG_Store_ID) {\r\n alert(\"群組門市需要與商品門市一致!\")\r\n return\r\n }\r\n },\r\n onClose(v) {\r\n this.isShow = false\r\n }\r\n }\r\n\r\n\r\n //附加品項群組 刪除\r\n DelAttachG(index) {\r\n this.mealData.AttachItemGroupJsonDatas.splice(index, 1)\r\n }\r\n\r\n\r\n //取得使用中菜單檔 商品細項API\r\n getProductDetail(callback) {\r\n let par = {\r\n PRDGroupNo :this.info.PRDGroupNo, \r\n PRDProductNo :this.info.PRDProductNo,\r\n ORG_Store_ID : this.info.ORG_Store_ID \r\n }\r\n this.http\r\n .post(\r\n \"api/UsingMenu/GetProductDetail\",par)\r\n .subscribe({\r\n next: (data) => {\r\n if (data.LIST.length > 0) {\r\n let obj = data.LIST[0]\r\n obj.PRDGroupNo = obj.PRDProductGroupNo\r\n this.toProductDetail(obj)\r\n }\r\n },\r\n error: (error) => {\r\n console.error(\"取得商品細項API error!\", error);\r\n },\r\n });\r\n }\r\n\r\n\r\n //取得門市清單 API\r\n getStoreList() {//取得門市清單 \r\n this.http.post('api/ORGStore/StoreList', {\r\n USR_AccountInfo_ID: this.USR_AccountInfo_ID, \r\n ORG_Company_ID: this.ORG_Company_ID,\r\n ORG_Store_ID: this.ORG_Store_ID,\r\n }).subscribe({\r\n next: data => {\r\n this.info.storeList = [];\r\n //門市共用下拉選單\r\n let Item :any= {};\r\n Item.value = 0;\r\n Item.content = '總部';\r\n this.info.storeList.push(Item);\r\n \r\n if(this.ORG_Store_ID ){\r\n //門市共用下拉選單\r\n let Item :any= {};\r\n Item.value = this.ORG_Store_ID;\r\n Item.content = data.LIST.find(x=>x.ORG_Store_ID == this.ORG_Store_ID ).StoreName;\r\n this.info.storeList.push(Item);\r\n }else{\r\n data.LIST.forEach(element => {\r\n //門市共用下拉選單\r\n var selectItem = new selectData();\r\n selectItem.value = element.ORG_Store_ID;\r\n selectItem.content = element.StoreName;\r\n this.info.storeList.push(selectItem);\r\n });\r\n }\r\n \r\n // 預設點第一個\r\n if (this.info.storeList.length > 0) {\r\n this.mealData.CopyStoreID = this.info.storeList[0].value\r\n }\r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n }\r\n });\r\n }\r\n\r\n //取得群組\r\n getGroupList(){\r\n\r\n if(this.info.orgType == 1){\r\n let par = {\r\n ORG_Company_ID: this.ORG_Company_ID,\r\n CreateStore: this.mealData.CopyStoreID == null ? 0 : this.mealData.CopyStoreID,\r\n IsDelete: false,\r\n } \r\n this.http.post('api/ProductSetting/GetProductGroup', par).subscribe({\r\n next: data => {\r\n this.info.groupList = []\r\n data.LIST.forEach(element => {\r\n let item = new selectData();\r\n item.value = element.PRDGroupNo;\r\n item.content = element.GroupName;\r\n this.info.groupList.push(item);\r\n });\r\n\r\n if(this.info.groupList.length>0)\r\n this.mealData.PRDGroupNo = this.info.groupList[0].value.toString() \r\n\r\n this.info.isChange_Group = !this.info.isChange_Group\r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n \r\n }\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n trackByFn(i: number) {\r\n return i;\r\n }\r\n}\r\n\r\nclass ModifyPRDProductReq {\r\n //商品\r\n PRDGroupNo: string; //\r\n PRDMenuProductGroupNo: string; //\r\n PRDProductNo: string; // \r\n Main: any;\r\n Detail: any;\r\n USR_EmployeeInfo_ID: number; //\r\n USR_AccountInfo_ID: string; //\r\n ORG_Company_ID: number; //\r\n \r\n\r\n //---------------------------------main---------------------- \r\n ProductName: string; //\r\n ProductContant: string; //\r\n Image: string; // \r\n TaxRate: number = 5; //\r\n TaxType: number = 2; //\r\n Cash: number; //\r\n\r\n //---------------------------------detail---------------------- \r\n SaleCash: number; //\r\n Sorting: number; //\r\n //2024.2.19 新增商品點餐方式(外帶/外送/內用/自取)預設開啟\r\n IsOpenTakeout: boolean = true;\r\n IsOpenDelivery: boolean = true;\r\n IsOpenDining: boolean = true;\r\n IsOpenReserveDining: boolean = false;\r\n IsOpenSelfPickup: boolean = true;\r\n IsChangeCash: boolean = true;//是否改價\r\n SupplyQTY: number; //\r\n UplimitQTY: number; //\r\n SupplyDay: string; //供應日 用,區分,1:週一 2:週二 3:週三 4:週四 5:週五 6:週六 7:週日\r\n FirstSupplyStartTime: string; //\r\n FirstSupplyEndTime: string; //\r\n SecondSupplyStartTime: string; //\r\n SecondSupplyEndTime: string; // \r\n AttachItemGroupJsonDatas: AttachItemGroupJsonDataDTO[];\r\n AttachItemGroupJsonData: string; //已存在的附加品項清單 用,分隔\r\n\r\n ProductLevelMapJsonData: ProductLevelMapJsonDataDTO[]; // 特殊價格設定\r\n\r\n //---------------------------------顯示用----------------------\r\n supplyPeriod?: Array; //供應時段 \r\n supplyDayStr: string;\r\n supplyTimeMonday?: boolean;\r\n supplyTimeTuesday?: boolean;\r\n supplyTimeWednesday?: boolean;\r\n supplyTimeThursday?: boolean;\r\n supplyTimeFriday?: boolean;\r\n supplyTimeSaturday?: boolean;\r\n supplyTimeSunday?: boolean;\r\n files: ImageFile[] = [];\r\n\r\n //---------------------------------old----------------------\r\n ORG_Store_ID?: number; //\r\n CopyStoreID?: number; //複製用,目標商店ID\r\n\r\n}\r\n\r\nclass supplyPeriod {\r\n startTime: Date;\r\n endTime: Date;\r\n}\r\n\r\nclass AttachItemGroupJsonDataDTO {\r\n PRDMenuAttachItemGroupNo: string; //附加品項群組編號\r\n GroupName: string\r\n Content: string\r\n AttachItemKindName: string\r\n IsRequiredName: string\r\n Sorting:number\r\n}\r\n\r\nclass ProductLevelMapJsonDataDTO{\r\n usrMemberLevelIDs: string; //適用會員類型編號\r\n memberLevelNames: string; //適用會員類型名字\r\n takeoutSaleCash: number; //外帶會員售價\r\n deliverySaleCash: number; //外送會員售價\r\n diningSaleCash: number; //內用會員售價\r\n selfPickupSaleCash: number; //自取會員售價\r\n}\r\n\r\nclass ImageFile extends File {\r\n path: string;\r\n}\r\n\r\nclass selectData {\r\n value: number; //\r\n content: string; //\r\n}\r\nclass memberData {\r\n USR_MemberLevel_ID: string;\r\n MemberLevelName: string;\r\n isChecked: false;\r\n}\r\n\r\n","\r\n\r\n
\r\n \r\n \r\n {{ moTitle }}商品 \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n {{ e.content }}\r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n {{ e.content }}\r\n \r\n\r\n \r\n \r\n {{ e.content }}\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n {{ e.content }}\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n \r\n 請將圖片拖放置此,或點此開啟資料夾
\r\n 支援最大2000x2000像素、10MB以下的圖片怪\r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n {{\r\n tax.content\r\n }}\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n {{\r\n tax.content\r\n }}\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n {{title2}}\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n \r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
適用會員適用會員編號外帶售價外送售價內用售價自取售價
\r\n {{item.memberLevelNames}}\r\n \r\n {{item.usrMemberLevelIDs}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 管理\r\n 刪除\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n ~ \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n ~ \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
排序附加品項群組標題選項類型必選
\r\n \r\n {{item.Sorting}} \r\n {{item.GroupName}} {{item.AttachItemKindName}}{{item.IsRequiredName}} \r\n 查看 \r\n 刪除\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n 設定供應時間 \r\n \r\n
\r\n 星期一\r\n 星期二\r\n 星期三\r\n 星期四\r\n 星期五\r\n 星期六\r\n 星期日\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n","import { Component, Input, OnInit, TemplateRef, ViewChild,Output,EventEmitter } from '@angular/core';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { SubscriptService } from '../../service/header.service';\r\nimport { DatePipe } from '@angular/common'\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NbDialogService } from '@nebular/theme';\r\nimport { CurrencyPipe} from '@angular/common';\r\nimport * as _ from 'lodash';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-info-EOS-detail',\r\n templateUrl: './info-EOS-detail.component.html',\r\n styleUrls: ['./info-EOS-detail.component.scss']\r\n})\r\nexport class InfoEOSDetailComponent implements OnInit {\r\n\r\n @Output() emitList = new EventEmitter();\r\n @Output() emitClose = new EventEmitter();\r\n @Input() EosNo: string;\r\n\r\n @ViewChild(\"Modal\") Modal: TemplateRef;\r\n modalRef = null; //談窗鉤子\r\n\r\n\r\n //基本資料\r\n USR_AccountInfo_ID: string;\r\n USR_EmployeeInfo_ID: string;\r\n ORG_Company_ID: number;\r\n ORG_Store_ID: number;\r\n authChangeSub:any;\r\n\r\n orderDetail:any;\r\n\r\n\r\n constructor(\r\n private dialogService: NbDialogService,\r\n private http: HttpClient,\r\n private cookieService: CookieService,\r\n private router: Router,\r\n ) {\r\n this.USR_AccountInfo_ID = this.cookieService.get('USR_AccountInfo_ID') ? \r\n \"USR_AccountInfo_ID_\"+this.cookieService.get('USR_AccountInfo_ID') :\r\n this.cookieService.get('USR_POSEmployeeInfo_ID') ? \r\n \"USR_POSEmployeeInfo_ID\"+this.cookieService.get('USR_POSEmployeeInfo_ID') : null;\r\n this.USR_EmployeeInfo_ID = this.cookieService.get('USR_EmployeeInfo_ID')\r\n this.ORG_Company_ID = parseInt(this.cookieService.get('ORG_Company_ID'))\r\n let cookie_sid = this.cookieService.get('ORG_Store_ID')\r\n this.ORG_Store_ID= (cookie_sid && cookie_sid!='') ? parseInt(cookie_sid) : null\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.onOpen(this.EosNo)\r\n \r\n }\r\n\r\n\r\n onOpen(EosNo){\r\n this.getOrderDetail(EosNo) \r\n\r\n\r\n this.modalRef = this.dialogService.open(this.Modal, {});\r\n this.modalRef.onClose.subscribe(result => {\r\n this.emitClose.emit(true);\r\n });\r\n }\r\n \r\n\r\n //取得詳細資料\r\n getOrderDetail(ordno) {\r\n\r\n this.http.get('api/EOS/OrderManage/GetOrderDetail?EOSNo=' + ordno).subscribe({\r\n next: data => {\r\n this.orderDetail = _.assign(data.LIST[0])\r\n setTimeout(() => window.print(), 0);\r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n onClose(){\r\n this.modalRef.close()\r\n }\r\n\r\n}\r\n","\r\n \r\n \r\n
\r\n
\r\n
\r\n

出貨明細

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
項次商品名稱數量單價小計
{{ index+1 }}{{pd.EOSProductName}}{{pd.Quantity}}{{pd.EOSProductCash | currency : null : true :'1.0'}}{{pd.ProductTotalCash | currency : null : true :'1.0'}}
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, Input, OnInit, TemplateRef, ViewChild,Output,EventEmitter } from '@angular/core';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { SubscriptService } from '../../service/header.service';\r\nimport { DatePipe } from '@angular/common'\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NbDialogService } from '@nebular/theme';\r\nimport { CurrencyPipe} from '@angular/common';\r\nimport * as _ from 'lodash';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-info-EOS-ord',\r\n templateUrl: './info-EOS-ord.component.html',\r\n styleUrls: ['./info-EOS-ord.component.scss']\r\n})\r\nexport class InfoEOSOrdComponent implements OnInit {\r\n\r\n @Output() emitList = new EventEmitter();\r\n @Output() emitClose = new EventEmitter();\r\n @Input() info: {\r\n moType: number; //目前編輯狀態 4.查看\r\n orgType: number; //1.訂單紀錄 2.發票紀錄 \r\n eosNo:string;\r\n };\r\n\r\n @ViewChild(\"Modal\") Modal: TemplateRef;\r\n modalRef = null; //談窗鉤子\r\n\r\n\r\n //基本資料\r\n USR_AccountInfo_ID: string;\r\n USR_EmployeeInfo_ID: string;\r\n ORG_Company_ID: number;\r\n ORG_Store_ID: number;\r\n authChangeSub:any;\r\n\r\n orderDetail:any;\r\n\r\n\r\n constructor(\r\n private dialogService: NbDialogService,\r\n private http: HttpClient,\r\n private cookieService: CookieService,\r\n private router: Router\r\n ) {\r\n this.USR_AccountInfo_ID = this.cookieService.get('USR_AccountInfo_ID') ? \r\n \"USR_AccountInfo_ID_\"+this.cookieService.get('USR_AccountInfo_ID') :\r\n this.cookieService.get('USR_POSEmployeeInfo_ID') ? \r\n \"USR_POSEmployeeInfo_ID\"+this.cookieService.get('USR_POSEmployeeInfo_ID') : null;\r\n this.USR_EmployeeInfo_ID = this.cookieService.get('USR_EmployeeInfo_ID')\r\n this.ORG_Company_ID = parseInt(this.cookieService.get('ORG_Company_ID'))\r\n let cookie_sid = this.cookieService.get('ORG_Store_ID')\r\n this.ORG_Store_ID= (cookie_sid && cookie_sid!='') ? parseInt(cookie_sid) : null\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.onOpen(this.info)\r\n\r\n }\r\n\r\n\r\n onOpen(info){\r\n this.getOrderDetail(info.eosNo) \r\n\r\n\r\n this.modalRef = this.dialogService.open(this.Modal, {});\r\n this.modalRef.onClose.subscribe(result => {\r\n this.emitClose.emit(true);\r\n });\r\n }\r\n \r\n\r\n\r\n \r\n //取得詳細資料\r\n getOrderDetail(ordno) {\r\n\r\n this.http.get('api/EOS/OrderManage/GetOrderDetail?EOSNo=' + ordno).subscribe({\r\n next: data => {\r\n this.orderDetail = _.assign(data.LIST[0])\r\n\r\n \r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n onClose(){\r\n this.modalRef.close()\r\n }\r\n\r\n\r\n}\r\n"," \r\n \r\n \r\n 查看訂單\r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
{{orderDetail.EOSNo}}
\r\n
\r\n\r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n
{{orderDetail.CreateDate }}
\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n \r\n
{{orderDetail.StatusName}}
\r\n \r\n
\r\n\r\n\r\n
\r\n \r\n
{{ orderDetail.Name ? orderDetail.Name : '無'}}
\r\n
\r\n\r\n
\r\n \r\n
{{ orderDetail.Phone ? orderDetail.Phone : '無'}}
\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n
{{ orderDetail.Address ? orderDetail.Address : '無'}}
\r\n
\r\n\r\n
\r\n \r\n
{{ orderDetail.TableName ? orderDetail.TableName : '無'}}
\r\n
\r\n\r\n
\r\n \r\n
{{ orderDetail.Adults }} | {{ orderDetail.Children }}
\r\n
\r\n\r\n
\r\n \r\n
{{ orderDetail.Note ? orderDetail.Note : '無'}}
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n 付款資訊\r\n
\r\n
\r\n \r\n
{{orderDetail.PayStatusName}}
\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n
{{e.ReceivedCash | currency : null : true :'1.0'}} | {{e.ChangeCash | currency : null : true :'1.0'}}
\r\n
\r\n \r\n
\r\n\r\n \r\n\r\n\r\n
\r\n \r\n
{{ orderDetail.Cash | currency : null : true :'1.0'}}
\r\n \r\n
\r\n \r\n
\r\n \r\n
{{ orderDetail.ShippingFee | currency : null : true :'1.0'}}
\r\n \r\n
\r\n
\r\n \r\n
{{ orderDetail.TotalCash | currency : null : true :'1.0'}}
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n 刷卡資訊\r\n
\r\n
\r\n \r\n
{{orderDetail.NCCCData.MerchantID}}
\r\n
\r\n\r\n
\r\n \r\n
{{ orderDetail.NCCCData.TerminalID}}
\r\n \r\n
\r\n
\r\n \r\n
{{ orderDetail.NCCCData.CardType}}
\r\n \r\n
\r\n
\r\n \r\n
{{ orderDetail.NCCCData.CardNo}}
\r\n \r\n
\r\n
\r\n \r\n
{{ orderDetail.NCCCData.CreateDate}}
\r\n \r\n
\r\n
\r\n \r\n
{{ orderDetail.NCCCData.ApprovalNo}}
\r\n \r\n
\r\n
\r\n \r\n
{{ orderDetail.NCCCData.ReceiptNo}}
\r\n \r\n
\r\n
\r\n \r\n
{{ orderDetail.NCCCData.BatchNo}}
\r\n \r\n
\r\n
\r\n \r\n
{{ orderDetail.NCCCData.TransAmount}}
\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n\r\n
\r\n
\r\n 商品詳情\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n • {{a.AttachItemName}} \r\n {{a.AttachItemCash | currency : null : true :'1.0'}}\r\n x {{a.AttachItemQuantity}} \r\n
\r\n
\r\n • {{pp.ProductName}} \r\n {{pp.ProductCash | currency : null : true :'1.0'}}\r\n x {{pp.Quantity}}\r\n
\r\n \r\n
\r\n
\r\n\r\n
","import { Component, Input, OnInit, TemplateRef, ViewChild,Output,EventEmitter } from '@angular/core';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { SubscriptService } from '../../../tool/service/header.service';\r\nimport { DatePipe } from '@angular/common'\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NbDialogService } from '@nebular/theme';\r\nimport { CurrencyPipe} from '@angular/common';\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-info-ord',\r\n templateUrl: './info-ord.component.html',\r\n styleUrls: ['./info-ord.component.scss']\r\n})\r\nexport class InfoOrdComponent implements OnInit {\r\n\r\n @Output() emitList = new EventEmitter();\r\n @Output() emitClose = new EventEmitter();\r\n @Input() info: {\r\n moType: number; //目前編輯狀態 4.查看\r\n orgType: number; //1.訂單紀錄 2.發票紀錄 \r\n ordNo:string;\r\n };\r\n\r\n @ViewChild(\"Modal\") Modal: TemplateRef;\r\n modalRef = null; //談窗鉤子\r\n\r\n\r\n //基本資料\r\n USR_AccountInfo_ID: string;\r\n USR_EmployeeInfo_ID: string;\r\n ORG_Company_ID: number;\r\n ORG_Store_ID: number;\r\n authChangeSub:any;\r\n\r\n orderDetail:any;\r\n\r\n\r\n constructor(\r\n private dialogService: NbDialogService,\r\n private http: HttpClient,\r\n private cookieService: CookieService,\r\n ) {\r\n this.USR_AccountInfo_ID = this.cookieService.get('USR_AccountInfo_ID') ? \r\n \"USR_AccountInfo_ID_\"+this.cookieService.get('USR_AccountInfo_ID') :\r\n this.cookieService.get('USR_POSEmployeeInfo_ID') ? \r\n \"USR_POSEmployeeInfo_ID\"+this.cookieService.get('USR_POSEmployeeInfo_ID') : null;\r\n this.USR_EmployeeInfo_ID = this.cookieService.get('USR_EmployeeInfo_ID')\r\n this.ORG_Company_ID = parseInt(this.cookieService.get('ORG_Company_ID'))\r\n let cookie_sid = this.cookieService.get('ORG_Store_ID')\r\n this.ORG_Store_ID= (cookie_sid && cookie_sid!='') ? parseInt(cookie_sid) : null\r\n\r\n\r\n \r\n \r\n\r\n\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.onOpen(this.info)\r\n\r\n }\r\n\r\n\r\n onOpen(info){\r\n this.getOrderDetail(info.ordNo) \r\n\r\n\r\n this.modalRef = this.dialogService.open(this.Modal, {});\r\n this.modalRef.onClose.subscribe(result => {\r\n this.emitClose.emit(true);\r\n });\r\n }\r\n \r\n\r\n\r\n \r\n //取得詳細資料\r\n getOrderDetail(ordno) {\r\n\r\n this.http.get('api/OrderManage/GetOrderDetail?ORDNo=' + ordno).subscribe({\r\n next: data => {\r\n this.orderDetail = _.assign(data.LIST[0])\r\n\r\n \r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n onClose(){\r\n this.modalRef.close()\r\n }\r\n\r\n\r\n}\r\n"," \r\n \r\n 查看訂單\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
{{orderDetail.ORDNo}}
\r\n
\r\n\r\n
\r\n \r\n \r\n
{{orderDetail.PickupNumber}}
\r\n
\r\n\r\n
\r\n \r\n \r\n
{{orderDetail.CreateDate }}
\r\n
\r\n\r\n
\r\n \r\n
{{orderDetail.ORDKindName}}
\r\n \r\n
\r\n
\r\n \r\n
{{orderDetail.ORDStatusName}}
\r\n \r\n
\r\n\r\n\r\n
\r\n \r\n
{{ orderDetail.Name ? orderDetail.Name : '無'}}
\r\n
\r\n\r\n
\r\n \r\n
{{ orderDetail.Phone ? orderDetail.Phone : '無'}}
\r\n
\r\n\r\n
\r\n \r\n
{{orderDetail.MealTime ? orderDetail.MealTime : '無' }}
\r\n
\r\n\r\n
\r\n \r\n
{{ orderDetail.Address ? orderDetail.Address : '無'}}
\r\n
\r\n\r\n
\r\n \r\n
{{ orderDetail.TableName ? orderDetail.TableName : '無'}}
\r\n
\r\n\r\n
\r\n \r\n
{{ orderDetail.Adults }} | {{ orderDetail.Children }}
\r\n
\r\n\r\n
\r\n \r\n
{{ orderDetail.Note ? orderDetail.Note : '無'}}
\r\n \r\n
\r\n\r\n
\r\n \r\n
{{ orderDetail.EmployeeName ? orderDetail.EmployeeName : '無'}}
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n 付款資訊\r\n
\r\n
\r\n \r\n
{{orderDetail.PayStatusName}}
\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n
{{e.ReceivedCash | currency : null : true :'1.0'}} | {{e.ChangeCash | currency : null : true :'1.0'}}
\r\n
\r\n \r\n
\r\n\r\n \r\n\r\n\r\n
\r\n \r\n
{{ orderDetail.Cash | currency : null : true :'1.0'}}
\r\n \r\n
\r\n
\r\n \r\n
{{ orderDetail.DiscountCash | currency : null : true :'1.0'}}
\r\n \r\n
\r\n
\r\n \r\n
{{ orderDetail.ServiceFee | currency : null : true :'1.0'}}
\r\n \r\n
\r\n
\r\n \r\n
{{ orderDetail.ShippingFee | currency : null : true :'1.0'}}
\r\n \r\n
\r\n
\r\n \r\n
{{ orderDetail.TotalCash | currency : null : true :'1.0'}}
\r\n \r\n
\r\n \r\n\r\n\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n 刷卡資訊\r\n
\r\n
\r\n \r\n
{{orderDetail.NCCCData.MerchantID}}
\r\n
\r\n\r\n
\r\n \r\n
{{ orderDetail.NCCCData.TerminalID}}
\r\n \r\n
\r\n
\r\n \r\n
{{ orderDetail.NCCCData.CardType}}
\r\n \r\n
\r\n
\r\n \r\n
{{ orderDetail.NCCCData.CardNo}}
\r\n \r\n
\r\n
\r\n \r\n
{{ orderDetail.NCCCData.CreateDate}}
\r\n \r\n
\r\n
\r\n \r\n
{{ orderDetail.NCCCData.ApprovalNo}}
\r\n \r\n
\r\n
\r\n \r\n
{{ orderDetail.NCCCData.ReceiptNo}}
\r\n \r\n
\r\n
\r\n \r\n
{{ orderDetail.NCCCData.BatchNo}}
\r\n \r\n
\r\n
\r\n \r\n
{{ orderDetail.NCCCData.TransAmount}}
\r\n \r\n
\r\n \r\n\r\n\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n 發票資訊\r\n
\r\n\r\n
\r\n \r\n
{{ orderDetail.InvStatusName }}
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n \r\n
{{ orderDetail.InvoiceNumber }}
\r\n
\r\n \r\n
\r\n \r\n
{{ orderDetail.POSName }}
\r\n
\r\n\r\n\r\n
\r\n \r\n
{{ orderDetail.VoidReason }}
\r\n
\r\n\r\n
\r\n \r\n
{{ orderDetail.VoidTime }}
\r\n
\r\n\r\n
\r\n \r\n
{{ orderDetail.TaxSaleAmount | currency : null : true :'1.0'}}
\r\n
\r\n
\r\n \r\n
{{ orderDetail.TaxFreeSaleAmount | currency : null : true :'1.0'}}
\r\n
\r\n
\r\n \r\n
{{ orderDetail.TaxZeroSaleAmount | currency : null : true :'1.0'}}
\r\n
\r\n\r\n
\r\n \r\n
{{ orderDetail.TaxAmount | currency : null : true :'1.0'}}
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n \r\n
{{ orderDetail.BarCode }}
\r\n
\r\n \r\n
\r\n \r\n
{{ orderDetail.TaxID }}
\r\n
\r\n \r\n
\r\n \r\n
{{ orderDetail.InvCompanyName }}
\r\n
\r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n 商品詳情\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n 優惠詳情\r\n
\r\n
\r\n {{item.DiscountName}}${{item.TotalDiscountCash}}\r\n
\r\n
\r\n\r\n\r\n \r\n\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n • {{a.AttachItemName}} \r\n {{a.AttachItemCash | currency : null : true :'1.0'}}\r\n x {{a.AttachItemQuantity}} \r\n
\r\n
\r\n • {{pp.ProductName}} \r\n {{pp.ProductCash | currency : null : true :'1.0'}}\r\n x {{pp.Quantity}}\r\n
\r\n \r\n
\r\n
\r\n\r\n
","import { Component, OnInit, Output, EventEmitter, Input, ViewChild, TemplateRef } from'@angular/core';\r\nimport { HttpClient, HttpResponse } from'@angular/common/http';\r\nimport { NbDialogService } from'@nebular/theme';\r\nimport { CookieService } from'ngx-cookie-service';\r\nimport * as XLSX from 'xlsx';\r\n\r\nimport * as _ from'lodash';\r\n\r\n@Component({\r\n selector:'app-report-reconciliation',\r\n templateUrl:'./report-reconciliation.component.html',\r\n styleUrls: ['./report-reconciliation.component.scss']\r\n})\r\nexport class ReportReconciliationComponent implements OnInit {\r\n @Output() emitClose = new EventEmitter();\r\n @Output() emitList = new EventEmitter();\r\n @Input() info: {\r\n ORG_Company_ID: number,\r\n ORG_Store_ID: number;\r\n };\r\n\r\n \r\n //---------\"與父組件共用,不可改位址------->---------------------\r\n @Input() ProductList: Array; //細項清單\r\n\r\n //-----------------------彈窗----------------------------\r\n\r\n modalRef = null; //彈窗鉤子\r\n PdModalRef = null; //彈窗鉤子\r\n\r\n @ViewChild('Modal') Modal :TemplateRef\r\n @ViewChild('PdModal') PdModal :TemplateRef\r\n\r\n //--------------------------------------------------------\r\n //資料清單\r\n year: number;\r\n month: number;\r\n\r\n YearList: any[] = [];\r\n MonthList: any[] = [\r\n { value: 1, content: '1月2月' },\r\n { value: 2, content: '3月4月' },\r\n { value: 3, content: '5月6月' },\r\n { value: 4, content: '7月8月' },\r\n { value: 5, content: '9月10月' },\r\n { value: 6, content: '11月12月' },\r\n ];\r\n\r\n selectedFile: File = null;\r\n fileName: string = '';\r\n uploadProgress: number = 0;\r\n\r\n constructor(\r\n private dialogService: NbDialogService,\r\n private http: HttpClient,\r\n private cookieService: CookieService,\r\n ) \r\n {\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n\r\n ngAfterViewInit(){ \r\n this.onOpen()\r\n }\r\n\r\n onOpen() {\r\n const currentDate = new Date();\r\n const currentYear = currentDate.getFullYear();\r\n const currentMonth = currentDate.getMonth() + 1;\r\n \r\n // 生成年份列表\r\n this.YearList = Array.from({ length: 5 }, (_, i) => {\r\n const year = currentYear - 4 + i;\r\n return { value: year, content: `${year}年` };\r\n });\r\n \r\n // 設置年份\r\n this.year = currentYear;\r\n \r\n // 設置月份\r\n if (currentMonth >= 3) {\r\n this.month = Math.ceil((currentMonth - 2) / 2);\r\n } else {\r\n this.year--;\r\n this.month = 6;\r\n }\r\n \r\n // 開啟彈窗\r\n this.modalRef = this.dialogService.open(this.Modal, {});\r\n this.modalRef.onClose.subscribe(() => {\r\n this.emitClose.emit(true);\r\n });\r\n }\r\n\r\n\r\n //上傳媒體申報檔\r\n onFileSelected(event: any) {\r\n const file = event.target.files[0];\r\n if (file) {\r\n this.selectedFile = file;\r\n this.fileName = file.name;\r\n }\r\n }\r\n\r\n\r\n onUpdate() {\r\n if (this.selectedFile) {\r\n const formData = new FormData();\r\n formData.append('file', this.selectedFile, this.selectedFile.name);\r\n formData.append('ORG_Company_ID', this.info.ORG_Company_ID.toString());\r\n formData.append('ORG_Store_ID', this.info.ORG_Store_ID.toString());\r\n formData.append('year', this.year.toString());\r\n formData.append('month', this.month.toString());\r\n \r\n this.http.post('api/InvoiceLogReport/UploadMediaReport', formData).subscribe({\r\n next: (response: InvoiceLogReportREP) => {\r\n if (response.DATA && response.DATA.LIST) {\r\n if (response.DATA.LIST.length > 0) {\r\n this.generateExcel(response.DATA.LIST);\r\n alert(`發現 ${response.DATA.LIST.length} 筆不匹配的發票`);\r\n } else {\r\n alert('所有發票都匹配');\r\n }\r\n } else {\r\n alert('處理失敗'+ response.RESULT);\r\n }\r\n },\r\n error: (error) => {\r\n alert('上傳過程中發生錯誤'+ error);\r\n }\r\n });\r\n } else {\r\n alert('沒有選擇文件');\r\n }\r\n }\r\n\r\n generateExcel(data: InvoiceLogDTO[]) {\r\n let sheetData = data.map(e => ({\r\n '發票號碼': e.InvoiceNumber,\r\n '訂單號碼': e.ORDNo || '',\r\n '結帳日期': e.CheckoutDateTime || '',\r\n '發票開立日期': e.CDate || '',\r\n '取消日期': e.CancelDateTime || '',\r\n '總金額': e.TotalCash || '',\r\n '不匹配原因': e.Mismatches ? e.Mismatches.join(', ') : '',\r\n }));\r\n \r\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\r\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(sheetData);\r\n \r\n XLSX.utils.book_append_sheet(wb, ws, \"對帳結果\");\r\n \r\n XLSX.writeFile(wb, '發票對帳結果.xlsx');\r\n }\r\n}\r\n\r\n\r\ninterface InvoiceLogDTO {\r\n InvoiceNumber: string;\r\n ORDNo?: string;\r\n CreateDate?: string;\r\n CDate?: string;\r\n CheckoutDateTime?: string;\r\n CancelDateTime?: string;\r\n ORDKindName?: string;\r\n StoreName?: string;\r\n Cash?: number;\r\n ServiceFee?: number;\r\n ShippingFee?: number;\r\n TotalDiscountCash?: number;\r\n TotalCash?: number;\r\n Name?: string;\r\n Phone?: string;\r\n Status?: string;\r\n TaxType?: string;\r\n TaxAmount?: number;\r\n ORG_Company_ID?: number;\r\n ORG_Store_ID?: number;\r\n CreateBy?: string;\r\n POSName?: string;\r\n Mismatches?: string[];\r\n}\r\n\r\ninterface InvoiceLogReportREP {\r\n DATA: {\r\n LIST: InvoiceLogDTO[];\r\n Total: number;\r\n TotalPages: number;\r\n Page: number;\r\n PerPage: number;\r\n };\r\n RESULT: string;\r\n Tag?: any;\r\n}","\r\n\r\n \r\n \r\n 媒體申報檔對帳\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n \r\n {{e.content}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n {{e.content}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n\r\n
","\r\n import { Component, OnInit, Output, EventEmitter, Input, ViewChild, TemplateRef } from '@angular/core';\r\n import { HttpClient } from '@angular/common/http';\r\n import { NbDialogService } from '@nebular/theme';\r\n import { CookieService } from 'ngx-cookie-service';\r\n \r\n import * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-select-attachmoudle',\r\n templateUrl: './select-attach-moudle.component.html',\r\n styleUrls: ['./select-attach-moudle.component.scss']\r\n})\r\nexport class SelectAttachMoudleComponent implements OnInit {\r\n\r\n\r\n USR_AccountInfo_ID: string;\r\n ORG_Company_ID: number;\r\n ORG_Store_ID: number\r\n @Output() emitClose = new EventEmitter();\r\n @Output() emitList = new EventEmitter();\r\n @Input() orgData: Array; //已選資料_來源\r\n @Input() info: {\r\n IsLoding:boolean\r\n ORG_Store_ID: number,\r\n };\r\n\r\n //-----------------------談窗----------------------------\r\n\r\n modalRef = null; //談窗鉤子\r\n PdModalRef = null; //談窗鉤子\r\n\r\n @ViewChild('Modal') Modal: TemplateRef\r\n @ViewChild('PdModal') PdModal: TemplateRef\r\n\r\n //--------------------------------------------------------\r\n //資料清單\r\n mainDataList: Array; //選單資料\r\n showList: Array; //群組顯示資料 \r\n showListPd: Array; //商品顯示資料 \r\n selectList : Array = []; \r\n query = { //查詢選項\r\n searchKey: \"\"\r\n }\r\n status: { //當前狀態\r\n isSelectAll: boolean //是否已全選\r\n showType: number // 顯示有選過的\r\n }\r\n\r\n //查詢的門市\r\n storeSelectList: selectData[];\r\n selectORG_Store_ID: number;\r\n\r\n\r\n constructor(\r\n private dialogService: NbDialogService,\r\n private http: HttpClient,\r\n private cookieService: CookieService,\r\n ) {\r\n this.USR_AccountInfo_ID = this.cookieService.get('USR_AccountInfo_ID') ? \r\n \"USR_AccountInfo_ID_\"+this.cookieService.get('USR_AccountInfo_ID') :\r\n this.cookieService.get('USR_POSEmployeeInfo_ID') ? \r\n \"USR_POSEmployeeInfo_ID\"+this.cookieService.get('USR_POSEmployeeInfo_ID') : null;\r\n \r\n let cookie_sid = this.cookieService.get('ORG_Store_ID')\r\n this.ORG_Store_ID = (cookie_sid && cookie_sid != '') ? parseInt(cookie_sid) : null\r\n this.ORG_Company_ID = parseInt(this.cookieService.get('ORG_Company_ID'));\r\n }\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n\r\n \r\n }\r\n\r\n ngAfterViewInit() {\r\n this.onOpen(this.info, this.orgData)\r\n }\r\n\r\n\r\n \r\n //取得門市清單 API\r\n getStoreList(fun) {//取得門市清單 USP_YOPOSWebGetStoreList\r\n\r\n \r\n\r\n\r\n\r\n this.http.post('api/ORGStore/StoreList', {\r\n \r\n ORG_Company_ID: this.ORG_Company_ID,\r\n ORG_Store_ID: this.ORG_Store_ID,\r\n }).subscribe({\r\n next: data => {\r\n \r\n this.storeSelectList = [];\r\n \r\n \r\n //門市共用下拉選單\r\n let Item :any= {};\r\n Item.value = 0;\r\n Item.content = '總部';\r\n this.storeSelectList.push(Item);\r\n \r\n if(this.ORG_Store_ID ){\r\n \r\n //門市共用下拉選單\r\n let Item :any= {};\r\n Item.value = this.ORG_Store_ID;\r\n Item.content = data.LIST.find(x=>x.ORG_Store_ID == this.ORG_Store_ID ).StoreName;\r\n this.storeSelectList.push(Item);\r\n \r\n }else{\r\n \r\n data.LIST.forEach(element => {\r\n //門市共用下拉選單\r\n var selectItem = new selectData();\r\n selectItem.value = element.ORG_Store_ID;\r\n selectItem.content = element.StoreName;\r\n this.storeSelectList.push(selectItem);\r\n });\r\n \r\n \r\n }\r\n \r\n // 預設點第一個\r\n if (this.storeSelectList.length > 0) {\r\n this.selectORG_Store_ID = this.storeSelectList[0].value\r\n }\r\n\r\n if(fun)\r\n fun()\r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n }\r\n });\r\n \r\n }\r\n\r\n\r\n onOpen(info, dataList) {\r\n\r\n \r\n\r\n if (info)\r\n this.info = info\r\n\r\n this.getStoreList(()=>{\r\n\r\n //api抓資料\r\n this.getPdGroupList((data) => {\r\n this.showData(data, dataList)\r\n\r\n })\r\n })\r\n\r\n\r\n //開啟談窗\r\n this.modalRef = this.dialogService.open(this.Modal, {})\r\n this.modalRef.onClose.subscribe(result => {\r\n this.emitClose.emit(true);\r\n });\r\n }\r\n\r\n\r\n // 組資料\r\n showData(data, orgData) {\r\n \r\n let ProductList = [];\r\n data.forEach(k => { \r\n let g = new ProductGroup()\r\n Object.assign(g,k) \r\n if (!orgData) {\r\n g.PDList = null \r\n g.IsOK_Group = false\r\n }\r\n ProductList.push(g)\r\n });\r\n\r\n //判斷是否勾選,並撈取有勾選得群組商品資料\r\n if (orgData) { //orgData 格式 {GroupNo:y.GroupNo,No:y.No}\r\n let list = _.groupBy(orgData, 'GroupNo');\r\n let key = _.keys(list)\r\n key.forEach(x=>{\r\n let group = _.find(ProductList, a => a.GroupNo == x)\r\n if (group) {\r\n group.IsOK_Group = true\r\n if(!group.PDList){\r\n this.getPdList(group,()=>{ \r\n _.forEach(group.PDList, p => {\r\n if(_.findIndex(orgData, op => p.No == op.No)>-1){\r\n p.IsOK_Group = true\r\n p.IsOK_Product = true\r\n } \r\n });\r\n \r\n group.IsOK_Product_Count()\r\n }) \r\n } \r\n \r\n }\r\n })\r\n \r\n }\r\n \r\n this.mainDataList = ProductList\r\n //合併到原始資料\r\n this.orgData = _.cloneDeep(this.mainDataList)\r\n }\r\n\r\n \r\n\r\n //---------------------------------------------------\r\n\r\n //查詢\r\n onQuery() {\r\n\r\n //組合舊資料\r\n let useData = this.tranfOrgData(this.selectList)\r\n \r\n\r\n\r\n this.getPdGroupList((data) => {\r\n this.showData(data, useData)\r\n })\r\n\r\n }\r\n\r\n //商品群組 選擇\r\n onSelectG(groupData) {\r\n if (!groupData.PDList ) {\r\n this.getPdList(groupData,()=>{ \r\n\r\n _.forEach(groupData.PDList, p => {\r\n p.IsOK_Group = groupData.IsOK_Group\r\n p.IsOK_Product = groupData.IsOK_Group\r\n this.insertData(p,groupData.IsOK_Group)\r\n });\r\n groupData.IsOK_Product_Count()\r\n\r\n \r\n \r\n })\r\n }else{\r\n _.forEach(groupData.PDList, p => {\r\n p.IsOK_Group = groupData.IsOK_Group\r\n p.IsOK_Product = groupData.IsOK_Group\r\n this.insertData(p,groupData.IsOK_Group)\r\n });\r\n groupData.IsOK_Product_Count()\r\n }\r\n\r\n \r\n }\r\n\r\n \r\n \r\n\r\n //處存商品群組\r\n onSavePdG() {\r\n\r\n let useData= []\r\n if(this.mainDataList){\r\n useData = this.tranfOrgData(this.selectList) \r\n }\r\n\r\n \r\n \r\n this.emitList.emit(useData)\r\n this.modalRef.close()\r\n }\r\n\r\n\r\n \r\n \r\n\r\n //---------------------------------------------------\r\n\r\n\r\n //商品 打開彈窗\r\n onOpenPd(groupData) {\r\n if (!groupData.PDList) {\r\n this.getPdList(groupData,()=>{\r\n this.showListPd = _.cloneDeep(groupData.PDList) \r\n this.PdModalRef = this.dialogService.open(this.PdModal, {})\r\n })\r\n }else{\r\n\r\n this.showListPd = _.cloneDeep(groupData.PDList) \r\n this.PdModalRef = this.dialogService.open(this.PdModal, {})\r\n \r\n }\r\n \r\n }\r\n\r\n //商品 處存\r\n onSavePd() {\r\n \r\n\r\n let GID = this.showListPd[0].PRDMenuAttachItemModelNo\r\n let group = _.find(this.mainDataList, a => a.PRDMenuAttachItemModelNo == GID)\r\n \r\n _.assign(group.PDList, this.showListPd)\r\n group.IsOK_Group = _.findIndex(group.PDList, 'IsOK_Product') > -1\r\n group.IsOK_Product_Count()\r\n this.PdModalRef.close()\r\n }\r\n\r\n //---------------------------------------------------\r\n\r\n //將畫面型資料轉成結果資料\r\n tranfOrgData(dataList){\r\n let useData = []\r\n dataList.forEach(x=>{\r\n // if(x.PDList){\r\n // x.PDList.forEach(y=>{\r\n // if(y.IsOK_Product)\r\n if(x.IsOK_Product)\r\n // useData.push(y)\r\n useData.push(x)\r\n })\r\n // } \r\n // })\r\n\r\n return useData\r\n }\r\n\r\n //將選擇的資料和併入selectList\r\n insertData(data,isAdd){\r\n if(isAdd){\r\n this.selectList.push(data)\r\n }else{\r\n this.selectList = this.selectList.filter(x=>x.No!=data.No)\r\n }\r\n \r\n }\r\n\r\n\r\n //取得可用商品資料\r\n getPdGroupList(fun) {\r\n let par = {\r\n ORG_Company_ID: this.ORG_Company_ID,\r\n CreateStore : this.selectORG_Store_ID,\r\n IsDelete: false,\r\n Keyword: this.query.searchKey,\r\n }\r\n\r\n this.info.IsLoding= true\r\n this.http.post('api/AttachItemSetting/GetAttachItemGroup', par).subscribe({\r\n next: data => {\r\n this.info.IsLoding= false\r\n data.LIST.forEach(x=>x.GroupNo = x.PRDMenuAttachItemModelNo)\r\n\r\n if (fun)\r\n fun(data.LIST)\r\n\r\n \r\n\r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n this.info.IsLoding= false\r\n\r\n }\r\n });\r\n }\r\n\r\n //取得內容清單\r\n getPdList(groupData,fun) {\r\n\r\n this.info.IsLoding= true\r\n this.http.get('api/AttachItemSetting/GetAttachItemList?PRDMenuAttachItemModelNo=' +\r\n groupData.PRDMenuAttachItemModelNo +\r\n `${this.ORG_Store_ID !=null ? \"&ORG_Store_ID=\" + this.ORG_Store_ID : ''}`+\r\n '&IsDelete=false&Page=1&PerPage=9999' \r\n ).subscribe({\r\n next: data => {\r\n groupData.PDList = data.LIST\r\n groupData.PDList.forEach(x=>{\r\n x.GroupNo = groupData.GroupNo\r\n x.No = x.PRDMenuAttachItemGroupNo\r\n })\r\n\r\n if (fun) \r\n fun(data.LIST)\r\n\r\n this.info.IsLoding= false\r\n\r\n \r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n this.info.IsLoding= false\r\n\r\n }\r\n });\r\n\r\n\r\n\r\n\r\n }\r\n \r\n\r\n\r\n}\r\n\r\nclass ProductGroup {\r\n GroupNo: string;\r\n GroupName: string;\r\n IsOK_Group: boolean;\r\n PDList: Product[];\r\n CountStr: string;\r\n IsOK_Product_Count() {\r\n // console.log('go')\r\n let use = _.filter(this.PDList, 'IsOK_Product').length\r\n this.CountStr = (this.PDList && use == this.PDList.length) ? '已全選' : `已選${use}項`\r\n }\r\n\r\n}\r\n\r\nclass Product {\r\n No: string; \r\n IsOK_Group: boolean;\r\n IsOK_Product: boolean;\r\n //-----------------其他\r\n\r\n}\r\n\r\n\r\nclass selectData {\r\n value: number;//\r\n content: string;//\r\n info:string\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n \r\n \r\n 選擇附加品項分類\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n {{ e.content }}\r\n \r\n
\r\n\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
分類名稱選擇建立門市
{{ e.GroupName }}{{e.CreateStoreName}}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n 選擇附加品項群組\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
建立門市附加品項群組標題選項內容選項類型必選選擇
{{item.CreateStoreName}}{{item.GroupName}}{{item.Content}}{{item.AttachItemKindName}}{{item.IsRequiredName}}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n ","\r\nimport { Component, OnInit, Output, EventEmitter, Input, ViewChild, TemplateRef } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NbDialogService } from '@nebular/theme';\r\nimport * as _ from 'lodash';\r\n\r\n\r\n@Component({\r\n selector: 'app-select-attach-print',\r\n templateUrl: './select-attach-print.component.html',\r\n styleUrls: ['./select-attach-print.component.scss']\r\n})\r\nexport class SelectAttachPrintComponent implements OnInit {\r\n @Output() emitClose = new EventEmitter();\r\n @Output() emitList = new EventEmitter();\r\n @Input() orgData: Array; //已選資料_來源\r\n @Input() title: string; \r\n mainDataList: Array; //已選資料\r\n infoList: Array; //選項資料\r\n showList: Array; //顯示資料\r\n @Input() info : {//其他設定\r\n ORG_Company_ID: number,\r\n ORG_Store_ID: number,\r\n IsLoding:boolean\r\n }; \r\n query : { //查詢選項\r\n searchKey : string\r\n } \r\n status: { //當前狀態\r\n isSelectAll : boolean //是否已全選\r\n showType:number // 顯示有選過的\r\n }\r\n list={\r\n showType : [\r\n {name:\"全部\",value:0},\r\n {name:\"已選\",value:1},\r\n {name:\"未選\",value:2}]\r\n }\r\n\r\n\r\n modalRef = null; //談窗鉤子\r\n \r\n //查詢的門市\r\n storeSelectList: selectData[];\r\n selectORG_Store_ID: number;\r\n\r\n constructor(\r\n private dialogService: NbDialogService,\r\n private http: HttpClient,\r\n ) { }\r\n\r\n //info 資料來源 = callAPI / 外部丟入\r\n //data 來源 = MainData[ListName]\r\n \r\n //全選功能:\r\n // 撈取全部資料以提供全選 - 那麼分頁將不再重要 : 建議改成設定欄位\r\n // 全選讀取設定,非全選讀取陣列 \r\n // 同上問題,在經過搜尋之後的全選將有所刪減,因此除了\"全選設定欄位\",還要加上查詢欄位,在後端進行查詢\r\n // 同上問題,過程中的其他方的新增,可能導致有額外資料產生。\r\n // 但不管是丟設定到後端查後取資,一開始取全資但顯示還是每頁只抓當頁資料,都可能造成以上問題。\r\n // 因此最佳處理還是一開始就丟出全部到前端顯示。 但如此行為可能導致效能緩慢? \r\n // 單頁全選-可以正常運作\r\n\r\n ngOnInit(): void {\r\n this.query = { searchKey :\"\"}\r\n \r\n \r\n }\r\n\r\n\r\n ngAfterViewInit(){ console.log('sa',this.info)\r\n this.onOpen(this.info, this.orgData)\r\n\r\n \r\n }\r\n\r\n\r\n\r\n //取得門市清單 API\r\n getStoreList() {//取得門市清單 USP_YOPOSWebGetStoreList\r\n\r\n \r\n\r\n\r\n\r\n this.http.post('api/ORGStore/StoreList', {\r\n\r\n ORG_Company_ID: this.info.ORG_Company_ID,\r\n ORG_Store_ID: this.info.ORG_Store_ID,\r\n }).subscribe({\r\n next: data => {\r\n\r\n this.storeSelectList = [];\r\n\r\n\r\n //門市共用下拉選單\r\n let Item :any= {};\r\n Item.value = 0;\r\n Item.content = '總部';\r\n this.storeSelectList.push(Item);\r\n \r\n if(this.info.ORG_Store_ID ){\r\n \r\n //門市共用下拉選單\r\n let Item :any= {};\r\n Item.value = this.info.ORG_Store_ID;\r\n Item.content = data.LIST.find(x=>x.ORG_Store_ID == this.info.ORG_Store_ID ).StoreName;\r\n this.storeSelectList.push(Item);\r\n \r\n }else{\r\n\r\n data.LIST.forEach(element => {\r\n //門市共用下拉選單\r\n var selectItem = new selectData();\r\n selectItem.value = element.ORG_Store_ID;\r\n selectItem.content = element.StoreName;\r\n this.storeSelectList.push(selectItem);\r\n });\r\n \r\n \r\n }\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n // 預設點第一個\r\n if (this.storeSelectList.length > 0) {\r\n this.selectORG_Store_ID = this.storeSelectList[0].value\r\n }\r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n }\r\n });\r\n\r\n}\r\n\r\n\r\n\r\n //打開選擇附加品項\r\n\r\n @ViewChild('Modal') Modal :TemplateRef\r\n onOpen(info,data) {\r\n this.getStoreList()\r\n\r\n if(info){\r\n this.info = info\r\n }\r\n if(data){\r\n this.orgData = data\r\n }\r\n \r\n //初始化查詢資料\r\n this.query.searchKey = \"\"\r\n this.mainDataList = []\r\n this.status= { \r\n isSelectAll : true,\r\n showType:0\r\n }\r\n \r\n //處理已選資料\r\n if(this.orgData && this.orgData.length > 0){ \r\n this.mainDataList = _.cloneDeep(this.orgData)\r\n // this.orgDataList.forEach(x => {\r\n // let obj = _.assign({}, x)\r\n // this.mainDataList.push(obj)\r\n // })\r\n } \r\n \r\n //撈取可選資料 並合成已選資料\r\n this.onQuery() \r\n\r\n //開啟談窗\r\n this.modalRef = this.dialogService.open(this.Modal, {})\r\n this.modalRef.onClose.subscribe(result => {\r\n this.emitClose.emit(true);\r\n });\r\n }\r\n\r\n\r\n //查詢\r\n onQuery( ) {\r\n \r\n this.getInfoList((data)=>{\r\n \r\n //初始化\r\n this.infoList = data\r\n this.showList = data\r\n this.showList.forEach(x => {\r\n\r\n let obj = _.find(this.mainDataList, y => this.judgeSame(y,x))\r\n if (obj) {\r\n x.isSelect = true\r\n } else {\r\n x.isSelect = false\r\n }\r\n })\r\n\r\n this.filterShowType()\r\n this.judgeSelectAll()\r\n\r\n });\r\n\r\n }\r\n\r\n onShowType(){\r\n this.filterShowType()\r\n this.judgeSelectAll()\r\n }\r\n\r\n //選擇\r\n onSelect(isAdd:boolean, item ) {\r\n if(isAdd){\r\n item.isSelect = true\r\n item.Sorting = 0\r\n this.mainDataList.push(item);\r\n\r\n }else{\r\n item.isSelect = false\r\n let index = this.mainDataList.findIndex(x=>this.judgeSame(x,item))\r\n this.mainDataList.splice(index, 1);\r\n } \r\n\r\n this.judgeSelectAll()\r\n }\r\n\r\n //全選\r\n onSelectAll(){\r\n \r\n \r\n if(this.status.isSelectAll){\r\n this.showList.forEach(item=>{\r\n item.isSelect = false\r\n let index = this.mainDataList.findIndex(x=>this.judgeSame(x,item))\r\n this.mainDataList.splice(index, 1);\r\n })\r\n }\r\n else{ \r\n this.showList.forEach(item=>{\r\n item.isSelect = true\r\n item.Sorting = 0\r\n this.mainDataList.push(item);\r\n })\r\n }\r\n \r\n this.status.isSelectAll = !this.status.isSelectAll\r\n }\r\n\r\n //處存\r\n onSave() {\r\n \r\n this.orgData.splice(0,this.orgData.length );\r\n let i = 1;\r\n this.mainDataList.forEach(x=>{ \r\n // x.Sorting = i;\r\n // i++\r\n this.orgData.push(x)\r\n })\r\n\r\n \r\n //TODO 確認附加品項表格中修改後 會影響到此嗎? 應該禁止修改名稱\r\n this.emitList.emit(this.orgData)\r\n this.modalRef.close()\r\n\r\n\r\n //重新計算順序 並且重載列表資料\r\n // var i = 1;\r\n // this.mainDataList.forEach(function (data) {\r\n // data.Sorting = i;\r\n // i++\r\n // });\r\n // this.orgDataList.load(this.mainDataList);\r\n\r\n }\r\n\r\n //--------------------------------------------------------------------\r\n \r\n \r\n //過濾已選未選等\r\n filterShowType(){\r\n if(this.status.showType==0){\r\n this.showList = _.concat([],this.infoList)\r\n }\r\n else if(this.status.showType==1){\r\n this.showList = _.filter(this.infoList,x=>x.isSelect)\r\n }\r\n else{\r\n this.showList = _.filter(this.infoList,x=> !x.isSelect)\r\n }\r\n }\r\n\r\n //判斷是否全選\r\n judgeSelectAll(){\r\n if(!this.showList || this.showList.length==0){\r\n return true\r\n } \r\n \r\n this.status.isSelectAll = this.showList.every(x=>{\r\n return this.mainDataList.some(y=>this.judgeSame(y,x)) \r\n })\r\n \r\n\r\n }\r\n\r\n\r\n//--------------------------------------------客製化------------------------------------------------------\r\n //比較\r\n judgeSame(y , x){\r\n return y.PRDAttachItemNo == x.PRDAttachItemNo\r\n // y.PRDProductNo == x.PRDProductNo &&\r\n // y.PRDProductGroupNo == x.PRDProductGroupNo \r\n \r\n }\r\n\r\n //取得選擇附加品項清單\r\n getInfoList( callback) {\r\n //取得含有商品的附加品項\r\n this.info.IsLoding= true\r\n this.http.get(\r\n `api/AttachItemSetting/GetAttachPrintItemOptionList?` + \r\n `ORG_Company_ID=${this.info.ORG_Company_ID}`+\r\n ((this.query.searchKey == null || this.query.searchKey == '') ? '' : ('&keyword=' + this.query.searchKey)) +\r\n `${this.selectORG_Store_ID !=null ? \"&CreateStore=\" + this.selectORG_Store_ID : ''}`+\r\n '&IsDelete=' + false +'&Page=' + 1+'&PerPage=' + 2147483647\r\n ).subscribe({\r\n next: data => {\r\n\r\n if(callback)\r\n callback(data.LIST)\r\n\r\n // data.LIST.forEach(element => {\r\n // //門市共用下拉選單\r\n // let item = {};\r\n // item.PRDAttachItemNo = element.PRDAttachItemNo;\r\n // item.AttachItemName = element.AttachItemName;\r\n // item.PRDProductGroupNo = element.PRDProductGroupNo;\r\n // item.PRDProductNo = element.PRDProductNo;\r\n // item.Quantity = element.Quantity;\r\n // item.Cash = element.Cash;\r\n // item.ProductName = element.ProductName;\r\n // item.ItemName = element.ItemName;\r\n\r\n // });\r\n\r\n\r\n this.info.IsLoding= false\r\n },\r\n error: error => {\r\n //this.errorMessage = error.message;\r\n console.error('There was an error!', error);\r\n this.info.IsLoding= false\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n// 參考資料\r\n// $scope.shared.quickStoreNew = {\r\n// mOName: \"#shared-quickStoreNew\",\r\n// disableChoose: null, //禁止選擇\r\n// motype: null,// 1:普通,2:公司已固定\r\n// type: null, //標題類型\r\n// SelectType: 2, // 1-單選 2-多選\r\n// pagelistinfo: null, //分頁資料\r\n// companyId: \"\",//公司ID\r\n// condiName: \"\",//查詢文字 \r\n// returnObj: [],//結果物件 多選[] 單選{}\r\n// detail: [], //單頁資料\r\n// allDetail: [], //全部資料\r\n// resultFun: null,//回傳時觸發 \r\n// allSelectName: '全選',\r\n// onePageSelectName: '本頁全選',\r\n// keyFN: {\r\n// S_list: 'storeId', //商店列表關鍵字\r\n// S_return: 'storeId', //回傳物件關鍵字\r\n// },\r\n// transf_return: function (obj_list, active) { ///回傳物件需求欄位\r\n// return {\r\n// storeId: obj_list.storeId,\r\n// store: obj_list.store,\r\n// companyId: obj_list.companyId,\r\n// company: obj_list.company,\r\n// active: active\r\n// }\r\n// },\r\n// transf_list: function (obj_api) { ///商店列表需求欄位\r\n// return {\r\n// storeId: obj_api.storeId,\r\n// store: obj_api.store,\r\n// companyId: obj_api.companyId,\r\n// company: obj_api.company,\r\n// active: false\r\n// }\r\n// },\r\n// API_getAllList: svr_marketing.shared.getAllStores,\r\n// API_getList: svr_marketing.shared.getStores,\r\n// open: function (obj, disableChoose, defCompany, SelectType, resultFun) {\r\n// let my = $scope.shared.quickStoreNew\r\n// $(my.mOName).modal('show')\r\n// my.disableChoose = !disableChoose ? false : disableChoose;\r\n\r\n\r\n// //初始化 \r\n// my.condiName = '';\r\n// if (my.pagelistinfo)\r\n// my.pagelistinfo.pageindex = 1\r\n\r\n\r\n// //取得原始資料\r\n// if (defCompany) {\r\n// my.companyId = defCompany;\r\n// }\r\n\r\n// my.title = '選擇門市';\r\n// if (!obj) obj = [];\r\n// my.returnObj = obj;\r\n// if (!SelectType) SelectType = 2\r\n// my.SelectType = SelectType\r\n// my.resultFun = resultFun\r\n\r\n// my.find()\r\n// },\r\n// find: function () {\r\n// let my = $scope.shared.quickStoreNew\r\n// //取得單頁資料\r\n// my.getDetail(function () {\r\n// my.showItem(my.detail)\r\n// my.showBtnName(2)\r\n// });\r\n// //取得全部資料\r\n// my.getAllDetail(function () {\r\n// my.showBtnName(1)\r\n// });\r\n// },\r\n// onPage: function () {\r\n// let my = $scope.shared.quickStoreNew\r\n// //取得單頁資料\r\n// my.getDetail(function () {\r\n// my.showItem(my.detail)\r\n// my.showBtnName(2)\r\n// });\r\n// },\r\n// onSelect: function (x, active) {\r\n// let my = $scope.shared.quickStoreNew\r\n// switch (my.SelectType) {\r\n\r\n// case 1:\r\n// // my.returnObj.store = x.store;\r\n// // my.returnObj.storeId = x.storeId;\r\n// Object.assign(my.returnObj, transf(x, null))\r\n// $(mOName).modal('hide');\r\n// break;\r\n// default:\r\n// let arr = []\r\n// arr.push(x)\r\n\r\n// my.showItem(arr, active)\r\n// my.showBtnName(1)\r\n// my.showBtnName(2)\r\n\r\n\r\n// break;\r\n\r\n// }\r\n\r\n// if (my.resultFun)\r\n// my.resultFun()\r\n// },\r\n// onSelectAll: function (type) {\r\n// let my = $scope.shared.quickStoreNew\r\n// let storeList = {}\r\n// if (type == 1)\r\n// storeList = my.allDetail\r\n// else\r\n// storeList = my.detail\r\n\r\n// let active = 1\r\n// let t_Num = 0\r\n\r\n// //判斷 T or F :項目非以全選時 改成全部取消\r\n// storeList.forEach(x => {\r\n// let foo = my.returnObj.find(y => y[my.keyFN.S_return] == x[my.keyFN.S_list] && y.active)\r\n// if (foo) {\r\n// t_Num++;\r\n// }\r\n// })\r\n// if (t_Num == storeList.length) {\r\n// active = 0\r\n// }\r\n// else {\r\n// active = 1\r\n// }\r\n\r\n// //塞入\r\n// my.showItem(storeList, active)\r\n// my.showBtnName(1)\r\n// my.showBtnName(2)\r\n\r\n// if (my.resultFun)\r\n// my.resultFun()\r\n\r\n// },\r\n// showItem: function (dataList, active) {\r\n// let my = $scope.shared.quickStoreNew\r\n// //判斷是否塞入\r\n// dataList.forEach(x => {\r\n// //待回傳資料\r\n\r\n// let apiD = null\r\n// if (my.SelectType == 2) //多選\r\n// apiD = my.returnObj.find(y => y[my.keyFN.S_return] == x[my.keyFN.S_list])\r\n// else //單選\r\n// apiD = my.returnObj\r\n\r\n// //初始化資料 : 單頁\r\n// if (active == null || active == undefined) {\r\n// if (apiD) {\r\n// x.active = apiD.active\r\n// }\r\n// }\r\n// //點擊事件 :全選、頁選、單選\r\n// else {\r\n// let pageD = my.detail.find(y => y[my.keyFN.S_list] == x[my.keyFN.S_list])\r\n// if (pageD)\r\n// pageD.active = active\r\n\r\n// //灌入資料\r\n// if (apiD) {\r\n// apiD.active = active;\r\n// }\r\n// else {\r\n// my.returnObj.push(\r\n// my.transf_return(x, active))\r\n\r\n// }\r\n// }\r\n\r\n\r\n// })\r\n// },\r\n// showBtnName: function (type) {\r\n// let my = $scope.shared.quickStoreNew\r\n// //只有多選需要執行此工作\r\n// if (my.SelectType != 2) return\r\n\r\n// let storeList = {}\r\n// if (type == 1)\r\n// storeList = my.allDetail\r\n// else\r\n// storeList = my.detail\r\n\r\n\r\n// //項目非已全選時 改成全部取消\r\n// let t_NumA = 0\r\n\r\n// storeList.forEach(x => {\r\n// let foo = my.returnObj.find(y => y[my.keyFN.S_return] == x[my.keyFN.S_list] && y.active)\r\n// if (foo) {\r\n// t_NumA++;\r\n// }\r\n// })\r\n\r\n// if (type == 1)\r\n// my.allSelectName =\r\n// (t_NumA == storeList.length) ? '取消' : '全選'\r\n// else\r\n// my.onePageSelectName =\r\n// (t_NumA == storeList.length) ? '本頁取消' : '本頁全選'\r\n// },\r\n// getAllDetail: function (callback) {\r\n// let my = $scope.shared.quickStoreNew\r\n// //只有多選需要執行此工作\r\n// if (my.SelectType != 2) return\r\n\r\n// //初始化\r\n// my.allDetail = [];\r\n// //參數\r\n\r\n// let par = {}\r\n// par.store = my.condiName\r\n// par.companyId = my.companyId\r\n// //呼叫\r\n// my.API_getAllList(par, function (data) {\r\n// let result = data.contentData.content\r\n// my.allDetail = result.map(x => my.transf_list(x));\r\n\r\n// callback()\r\n// });\r\n// },\r\n// getDetail: function (callback) {\r\n// let my = $scope.shared.quickStoreNew\r\n// //初始化\r\n// my.detail = [];\r\n// //參數 \r\n// let par = null\r\n// if (my.pagelistinfo)\r\n// par = { pageindex: my.pagelistinfo.pageindex };\r\n// else\r\n// par = { pageindex: 1 };\r\n// par.store = my.condiName;\r\n// par.companyId = my.companyId\r\n// //呼叫\r\n// my.API_getList(par, function (data) {\r\n// let result = data.contentData.content\r\n// my.detail = result.map(x => my.transf_list(x));\r\n// my.pagelistinfo = data.contentData.pageinfo;\r\n\r\n// callback()\r\n// });\r\n\r\n\r\n// },\r\n// }\r\n\r\n\r\nclass selectData {\r\n value: number;//\r\n content: string;//\r\n info:string\r\n}"," \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n {{title}} \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n {{ e.content }}\r\n \r\n \r\n {{ e.name }}\r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
選取選項名稱數量原價建立門市
\r\n \r\n \r\n \r\n \r\n {{item.ItemName}}\r\n
\r\n
{{item.Quantity}}{{item.Cash}}{{item.CreateStoreName}}
\r\n
\r\n\r\n\r\n \r\n\r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
","\r\nimport { Component, OnInit, Output, EventEmitter, Input, ViewChild, TemplateRef } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NbDialogService } from '@nebular/theme';\r\nimport * as _ from 'lodash';\r\n\r\n\r\n@Component({\r\n selector: 'app-select-attach',\r\n templateUrl: './select-attach.component.html',\r\n styleUrls: ['./select-attach.component.scss']\r\n})\r\nexport class SelectAttachComponent implements OnInit {\r\n @Output() emitClose = new EventEmitter();\r\n @Output() emitList = new EventEmitter();\r\n @Input() orgData: Array; //已選資料_來源\r\n @Input() title: string; \r\n mainDataList: Array; //已選資料\r\n infoList: Array; //選項資料\r\n showList: Array; //顯示資料\r\n @Input() info : {//其他設定\r\n ORG_Company_ID: number,\r\n ORG_Store_ID: number,\r\n IsLoding:boolean\r\n }; \r\n query : { //查詢選項\r\n searchKey : string\r\n } \r\n status: { //當前狀態\r\n isSelectAll : boolean //是否已全選\r\n showType:number // 顯示有選過的\r\n }\r\n list={\r\n showType : [\r\n {name:\"全部\",value:0},\r\n {name:\"已選\",value:1},\r\n {name:\"未選\",value:2}]\r\n }\r\n\r\n\r\n modalRef = null; //談窗鉤子\r\n \r\n //查詢的門市\r\n storeSelectList: selectData[];\r\n selectORG_Store_ID: number;\r\n\r\n constructor(\r\n private dialogService: NbDialogService,\r\n private http: HttpClient,\r\n ) { }\r\n\r\n //info 資料來源 = callAPI / 外部丟入\r\n //data 來源 = MainData[ListName]\r\n \r\n //全選功能:\r\n // 撈取全部資料以提供全選 - 那麼分頁將不再重要 : 建議改成設定欄位\r\n // 全選讀取設定,非全選讀取陣列 \r\n // 同上問題,在經過搜尋之後的全選將有所刪減,因此除了\"全選設定欄位\",還要加上查詢欄位,在後端進行查詢\r\n // 同上問題,過程中的其他方的新增,可能導致有額外資料產生。\r\n // 但不管是丟設定到後端查後取資,一開始取全資但顯示還是每頁只抓當頁資料,都可能造成以上問題。\r\n // 因此最佳處理還是一開始就丟出全部到前端顯示。 但如此行為可能導致效能緩慢? \r\n // 單頁全選-可以正常運作\r\n\r\n ngOnInit(): void {\r\n this.query = { searchKey :\"\"}\r\n \r\n \r\n }\r\n\r\n\r\n ngAfterViewInit(){ console.log('sa',this.info)\r\n this.onOpen(this.info, this.orgData)\r\n\r\n \r\n }\r\n\r\n\r\n\r\n //取得門市清單 API\r\n getStoreList() {//取得門市清單 USP_YOPOSWebGetStoreList\r\n\r\n \r\n\r\n\r\n\r\n this.http.post('api/ORGStore/StoreList', {\r\n\r\n ORG_Company_ID: this.info.ORG_Company_ID,\r\n ORG_Store_ID: this.info.ORG_Store_ID,\r\n }).subscribe({\r\n next: data => {\r\n\r\n this.storeSelectList = [];\r\n\r\n\r\n //門市共用下拉選單\r\n let Item :any= {};\r\n Item.value = 0;\r\n Item.content = '總部';\r\n this.storeSelectList.push(Item);\r\n \r\n if(this.info.ORG_Store_ID ){\r\n \r\n //門市共用下拉選單\r\n let Item :any= {};\r\n Item.value = this.info.ORG_Store_ID;\r\n Item.content = data.LIST.find(x=>x.ORG_Store_ID == this.info.ORG_Store_ID ).StoreName;\r\n this.storeSelectList.push(Item);\r\n \r\n }else{\r\n\r\n data.LIST.forEach(element => {\r\n //門市共用下拉選單\r\n var selectItem = new selectData();\r\n selectItem.value = element.ORG_Store_ID;\r\n selectItem.content = element.StoreName;\r\n this.storeSelectList.push(selectItem);\r\n });\r\n \r\n \r\n }\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n // 預設點第一個\r\n if (this.storeSelectList.length > 0) {\r\n this.selectORG_Store_ID = this.storeSelectList[0].value\r\n }\r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n }\r\n });\r\n\r\n}\r\n\r\n\r\n\r\n //打開選擇附加品項\r\n\r\n @ViewChild('Modal') Modal :TemplateRef\r\n onOpen(info,data) {\r\n this.getStoreList()\r\n\r\n if(info){\r\n this.info = info\r\n }\r\n if(data){\r\n this.orgData = data\r\n }\r\n \r\n //初始化查詢資料\r\n this.query.searchKey = \"\"\r\n this.mainDataList = []\r\n this.status= { \r\n isSelectAll : true,\r\n showType:0\r\n }\r\n \r\n //處理已選資料\r\n if(this.orgData && this.orgData.length > 0){ \r\n this.mainDataList = _.cloneDeep(this.orgData)\r\n // this.orgDataList.forEach(x => {\r\n // let obj = _.assign({}, x)\r\n // this.mainDataList.push(obj)\r\n // })\r\n } \r\n \r\n //撈取可選資料 並合成已選資料\r\n this.onQuery() \r\n\r\n //開啟談窗\r\n this.modalRef = this.dialogService.open(this.Modal, {})\r\n this.modalRef.onClose.subscribe(result => {\r\n this.emitClose.emit(true);\r\n });\r\n }\r\n\r\n\r\n //查詢\r\n onQuery( ) {\r\n \r\n this.getInfoList((data)=>{\r\n \r\n //初始化\r\n this.infoList = data\r\n this.showList = data\r\n this.showList.forEach(x => {\r\n\r\n let obj = _.find(this.mainDataList, y => this.judgeSame(y,x))\r\n if (obj) {\r\n x.isSelect = true\r\n } else {\r\n x.isSelect = false\r\n }\r\n })\r\n\r\n this.filterShowType()\r\n this.judgeSelectAll()\r\n\r\n });\r\n\r\n }\r\n\r\n onShowType(){\r\n this.filterShowType()\r\n this.judgeSelectAll()\r\n }\r\n\r\n //選擇\r\n onSelect(isAdd:boolean, item ) {\r\n if(isAdd){\r\n item.isSelect = true\r\n item.Sorting = 0\r\n this.mainDataList.push(item);\r\n\r\n }else{\r\n item.isSelect = false\r\n let index = this.mainDataList.findIndex(x=>this.judgeSame(x,item))\r\n this.mainDataList.splice(index, 1);\r\n } \r\n\r\n this.judgeSelectAll()\r\n }\r\n\r\n //全選\r\n onSelectAll(){\r\n \r\n \r\n if(this.status.isSelectAll){\r\n this.showList.forEach(item=>{\r\n item.isSelect = false\r\n let index = this.mainDataList.findIndex(x=>this.judgeSame(x,item))\r\n this.mainDataList.splice(index, 1);\r\n })\r\n }\r\n else{ \r\n this.showList.forEach(item=>{\r\n item.isSelect = true\r\n item.Sorting = 0\r\n this.mainDataList.push(item);\r\n })\r\n }\r\n \r\n this.status.isSelectAll = !this.status.isSelectAll\r\n }\r\n\r\n //處存\r\n onSave() {\r\n \r\n this.orgData.splice(0,this.orgData.length );\r\n let i = 1;\r\n this.mainDataList.forEach(x=>{ \r\n x.Sorting = i;\r\n i++\r\n this.orgData.push(x)\r\n })\r\n\r\n \r\n //TODO 確認附加品項表格中修改後 會影響到此嗎? 應該禁止修改名稱\r\n this.emitList.emit(this.orgData)\r\n this.modalRef.close()\r\n\r\n\r\n //重新計算順序 並且重載列表資料\r\n // var i = 1;\r\n // this.mainDataList.forEach(function (data) {\r\n // data.Sorting = i;\r\n // i++\r\n // });\r\n // this.orgDataList.load(this.mainDataList);\r\n\r\n }\r\n\r\n //--------------------------------------------------------------------\r\n \r\n \r\n //過濾已選未選等\r\n filterShowType(){\r\n if(this.status.showType==0){\r\n this.showList = _.concat([],this.infoList)\r\n }\r\n else if(this.status.showType==1){\r\n this.showList = _.filter(this.infoList,x=>x.isSelect)\r\n }\r\n else{\r\n this.showList = _.filter(this.infoList,x=> !x.isSelect)\r\n }\r\n }\r\n\r\n //判斷是否全選\r\n judgeSelectAll(){\r\n if(!this.showList || this.showList.length==0){\r\n return true\r\n } \r\n \r\n this.status.isSelectAll = this.showList.every(x=>{\r\n return this.mainDataList.some(y=>this.judgeSame(y,x)) \r\n })\r\n \r\n\r\n }\r\n\r\n\r\n//--------------------------------------------客製化------------------------------------------------------\r\n //比較\r\n judgeSame(y , x){\r\n return y.PRDAttachItemNo == x.PRDAttachItemNo &&\r\n y.PRDProductNo == x.PRDProductNo &&\r\n y.PRDProductGroupNo == x.PRDProductGroupNo \r\n \r\n }\r\n\r\n //取得選擇附加品項清單\r\n getInfoList( callback) {\r\n //取得含有商品的附加品項\r\n this.info.IsLoding= true\r\n this.http.get(\r\n `api/AttachItemSetting/GetAttachItemOptionList?` + \r\n `ORG_Company_ID=${this.info.ORG_Company_ID}`+\r\n ((this.query.searchKey == null || this.query.searchKey == '') ? '' : ('&keyword=' + this.query.searchKey)) +\r\n `${this.selectORG_Store_ID !=null ? \"&CreateStore=\" + this.selectORG_Store_ID : ''}`+\r\n '&IsDelete=' + false +'&Page=' + 1+'&PerPage=' + 2147483647\r\n ).subscribe({\r\n next: data => {\r\n\r\n if(callback)\r\n callback(data.LIST)\r\n\r\n // data.LIST.forEach(element => {\r\n // //門市共用下拉選單\r\n // let item = {};\r\n // item.PRDAttachItemNo = element.PRDAttachItemNo;\r\n // item.AttachItemName = element.AttachItemName;\r\n // item.PRDProductGroupNo = element.PRDProductGroupNo;\r\n // item.PRDProductNo = element.PRDProductNo;\r\n // item.Quantity = element.Quantity;\r\n // item.Cash = element.Cash;\r\n // item.ProductName = element.ProductName;\r\n // item.ItemName = element.ItemName;\r\n\r\n // });\r\n\r\n\r\n this.info.IsLoding= false\r\n },\r\n error: error => {\r\n //this.errorMessage = error.message;\r\n console.error('There was an error!', error);\r\n this.info.IsLoding= false\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n// 參考資料\r\n// $scope.shared.quickStoreNew = {\r\n// mOName: \"#shared-quickStoreNew\",\r\n// disableChoose: null, //禁止選擇\r\n// motype: null,// 1:普通,2:公司已固定\r\n// type: null, //標題類型\r\n// SelectType: 2, // 1-單選 2-多選\r\n// pagelistinfo: null, //分頁資料\r\n// companyId: \"\",//公司ID\r\n// condiName: \"\",//查詢文字 \r\n// returnObj: [],//結果物件 多選[] 單選{}\r\n// detail: [], //單頁資料\r\n// allDetail: [], //全部資料\r\n// resultFun: null,//回傳時觸發 \r\n// allSelectName: '全選',\r\n// onePageSelectName: '本頁全選',\r\n// keyFN: {\r\n// S_list: 'storeId', //商店列表關鍵字\r\n// S_return: 'storeId', //回傳物件關鍵字\r\n// },\r\n// transf_return: function (obj_list, active) { ///回傳物件需求欄位\r\n// return {\r\n// storeId: obj_list.storeId,\r\n// store: obj_list.store,\r\n// companyId: obj_list.companyId,\r\n// company: obj_list.company,\r\n// active: active\r\n// }\r\n// },\r\n// transf_list: function (obj_api) { ///商店列表需求欄位\r\n// return {\r\n// storeId: obj_api.storeId,\r\n// store: obj_api.store,\r\n// companyId: obj_api.companyId,\r\n// company: obj_api.company,\r\n// active: false\r\n// }\r\n// },\r\n// API_getAllList: svr_marketing.shared.getAllStores,\r\n// API_getList: svr_marketing.shared.getStores,\r\n// open: function (obj, disableChoose, defCompany, SelectType, resultFun) {\r\n// let my = $scope.shared.quickStoreNew\r\n// $(my.mOName).modal('show')\r\n// my.disableChoose = !disableChoose ? false : disableChoose;\r\n\r\n\r\n// //初始化 \r\n// my.condiName = '';\r\n// if (my.pagelistinfo)\r\n// my.pagelistinfo.pageindex = 1\r\n\r\n\r\n// //取得原始資料\r\n// if (defCompany) {\r\n// my.companyId = defCompany;\r\n// }\r\n\r\n// my.title = '選擇門市';\r\n// if (!obj) obj = [];\r\n// my.returnObj = obj;\r\n// if (!SelectType) SelectType = 2\r\n// my.SelectType = SelectType\r\n// my.resultFun = resultFun\r\n\r\n// my.find()\r\n// },\r\n// find: function () {\r\n// let my = $scope.shared.quickStoreNew\r\n// //取得單頁資料\r\n// my.getDetail(function () {\r\n// my.showItem(my.detail)\r\n// my.showBtnName(2)\r\n// });\r\n// //取得全部資料\r\n// my.getAllDetail(function () {\r\n// my.showBtnName(1)\r\n// });\r\n// },\r\n// onPage: function () {\r\n// let my = $scope.shared.quickStoreNew\r\n// //取得單頁資料\r\n// my.getDetail(function () {\r\n// my.showItem(my.detail)\r\n// my.showBtnName(2)\r\n// });\r\n// },\r\n// onSelect: function (x, active) {\r\n// let my = $scope.shared.quickStoreNew\r\n// switch (my.SelectType) {\r\n\r\n// case 1:\r\n// // my.returnObj.store = x.store;\r\n// // my.returnObj.storeId = x.storeId;\r\n// Object.assign(my.returnObj, transf(x, null))\r\n// $(mOName).modal('hide');\r\n// break;\r\n// default:\r\n// let arr = []\r\n// arr.push(x)\r\n\r\n// my.showItem(arr, active)\r\n// my.showBtnName(1)\r\n// my.showBtnName(2)\r\n\r\n\r\n// break;\r\n\r\n// }\r\n\r\n// if (my.resultFun)\r\n// my.resultFun()\r\n// },\r\n// onSelectAll: function (type) {\r\n// let my = $scope.shared.quickStoreNew\r\n// let storeList = {}\r\n// if (type == 1)\r\n// storeList = my.allDetail\r\n// else\r\n// storeList = my.detail\r\n\r\n// let active = 1\r\n// let t_Num = 0\r\n\r\n// //判斷 T or F :項目非以全選時 改成全部取消\r\n// storeList.forEach(x => {\r\n// let foo = my.returnObj.find(y => y[my.keyFN.S_return] == x[my.keyFN.S_list] && y.active)\r\n// if (foo) {\r\n// t_Num++;\r\n// }\r\n// })\r\n// if (t_Num == storeList.length) {\r\n// active = 0\r\n// }\r\n// else {\r\n// active = 1\r\n// }\r\n\r\n// //塞入\r\n// my.showItem(storeList, active)\r\n// my.showBtnName(1)\r\n// my.showBtnName(2)\r\n\r\n// if (my.resultFun)\r\n// my.resultFun()\r\n\r\n// },\r\n// showItem: function (dataList, active) {\r\n// let my = $scope.shared.quickStoreNew\r\n// //判斷是否塞入\r\n// dataList.forEach(x => {\r\n// //待回傳資料\r\n\r\n// let apiD = null\r\n// if (my.SelectType == 2) //多選\r\n// apiD = my.returnObj.find(y => y[my.keyFN.S_return] == x[my.keyFN.S_list])\r\n// else //單選\r\n// apiD = my.returnObj\r\n\r\n// //初始化資料 : 單頁\r\n// if (active == null || active == undefined) {\r\n// if (apiD) {\r\n// x.active = apiD.active\r\n// }\r\n// }\r\n// //點擊事件 :全選、頁選、單選\r\n// else {\r\n// let pageD = my.detail.find(y => y[my.keyFN.S_list] == x[my.keyFN.S_list])\r\n// if (pageD)\r\n// pageD.active = active\r\n\r\n// //灌入資料\r\n// if (apiD) {\r\n// apiD.active = active;\r\n// }\r\n// else {\r\n// my.returnObj.push(\r\n// my.transf_return(x, active))\r\n\r\n// }\r\n// }\r\n\r\n\r\n// })\r\n// },\r\n// showBtnName: function (type) {\r\n// let my = $scope.shared.quickStoreNew\r\n// //只有多選需要執行此工作\r\n// if (my.SelectType != 2) return\r\n\r\n// let storeList = {}\r\n// if (type == 1)\r\n// storeList = my.allDetail\r\n// else\r\n// storeList = my.detail\r\n\r\n\r\n// //項目非已全選時 改成全部取消\r\n// let t_NumA = 0\r\n\r\n// storeList.forEach(x => {\r\n// let foo = my.returnObj.find(y => y[my.keyFN.S_return] == x[my.keyFN.S_list] && y.active)\r\n// if (foo) {\r\n// t_NumA++;\r\n// }\r\n// })\r\n\r\n// if (type == 1)\r\n// my.allSelectName =\r\n// (t_NumA == storeList.length) ? '取消' : '全選'\r\n// else\r\n// my.onePageSelectName =\r\n// (t_NumA == storeList.length) ? '本頁取消' : '本頁全選'\r\n// },\r\n// getAllDetail: function (callback) {\r\n// let my = $scope.shared.quickStoreNew\r\n// //只有多選需要執行此工作\r\n// if (my.SelectType != 2) return\r\n\r\n// //初始化\r\n// my.allDetail = [];\r\n// //參數\r\n\r\n// let par = {}\r\n// par.store = my.condiName\r\n// par.companyId = my.companyId\r\n// //呼叫\r\n// my.API_getAllList(par, function (data) {\r\n// let result = data.contentData.content\r\n// my.allDetail = result.map(x => my.transf_list(x));\r\n\r\n// callback()\r\n// });\r\n// },\r\n// getDetail: function (callback) {\r\n// let my = $scope.shared.quickStoreNew\r\n// //初始化\r\n// my.detail = [];\r\n// //參數 \r\n// let par = null\r\n// if (my.pagelistinfo)\r\n// par = { pageindex: my.pagelistinfo.pageindex };\r\n// else\r\n// par = { pageindex: 1 };\r\n// par.store = my.condiName;\r\n// par.companyId = my.companyId\r\n// //呼叫\r\n// my.API_getList(par, function (data) {\r\n// let result = data.contentData.content\r\n// my.detail = result.map(x => my.transf_list(x));\r\n// my.pagelistinfo = data.contentData.pageinfo;\r\n\r\n// callback()\r\n// });\r\n\r\n\r\n// },\r\n// }\r\n\r\n\r\nclass selectData {\r\n value: number;//\r\n content: string;//\r\n info:string\r\n}"," \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n {{title}} \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n {{ e.content }}\r\n \r\n \r\n {{ e.name }}\r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
選取選項名稱數量原價建立門市
\r\n \r\n \r\n \r\n \r\n {{item.ItemName}}\r\n
\r\n
{{item.Quantity}}{{item.Cash}}{{item.CreateStoreName}}
\r\n
\r\n\r\n\r\n \r\n\r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
","\r\nimport { Component, OnInit, Output, EventEmitter, Input, ViewChild, TemplateRef } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NbDialogService } from '@nebular/theme';\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-select-attachgroup',\r\n templateUrl: './select-attachgroup.component.html',\r\n styleUrls: ['./select-attachgroup.component.scss']\r\n})\r\nexport class SelectattachgroupComponent implements OnInit {\r\n\r\n \r\n\r\n @Output() emitClose = new EventEmitter();\r\n @Output() emitList = new EventEmitter();\r\n @Input() orgData: Array; //已選資料_來源\r\n @Input() title: string = \"選擇附加品項群組\"; \r\n mainDataList: Array; //已選資料\r\n infoList: Array; //選項資料\r\n showList: Array; //顯示資料\r\n @Input() info : {//其他設定\r\n IsLoding:boolean\r\n ORG_Company_ID: number,\r\n ORG_Store_ID: number,\r\n }; \r\n query : { //查詢選項\r\n searchKey : string\r\n } \r\n status: { //當前狀態\r\n isSelectAll : boolean //是否已全選\r\n showType:number // 顯示有選過的\r\n }\r\n list={\r\n showType : [\r\n {name:\"全部\",value:0},\r\n {name:\"已選\",value:1},\r\n {name:\"未選\",value:2}]\r\n }\r\n modalRef = null; //談窗鉤子\r\n\r\n //查詢的門市\r\n storeSelectList: selectData[];\r\n selectORG_Store_ID: number;\r\n \r\n\r\n constructor(\r\n private dialogService: NbDialogService,\r\n private http: HttpClient,\r\n ) {\r\n\r\n }\r\n\r\n //info 資料來源 = callAPI / 外部丟入\r\n //data 來源 = MainData[ListName]\r\n \r\n //全選功能:\r\n // 撈取全部資料以提供全選 - 那麼分頁將不再重要 : 建議改成設定欄位\r\n // 全選讀取設定,非全選讀取陣列 \r\n // 同上問題,在經過搜尋之後的全選將有所刪減,因此除了\"全選設定欄位\",還要加上查詢欄位,在後端進行查詢\r\n // 同上問題,過程中的其他方的新增,可能導致有額外資料產生。\r\n // 但不管是丟設定到後端查後取資,一開始取全資但顯示還是每頁只抓當頁資料,都可能造成以上問題。\r\n // 因此最佳處理還是一開始就丟出全部到前端顯示。 但如此行為可能導致效能緩慢? \r\n // 單頁全選-可以正常運作\r\n\r\n ngOnInit(): void {\r\n this.query = { searchKey :\"\"} \r\n }\r\n\r\n ngAfterViewInit(){ \r\n this.onOpen(this.info, this.orgData)\r\n }\r\n\r\n\r\n //取得門市清單 API\r\n getStoreList() {//取得門市清單 USP_YOPOSWebGetStoreList\r\n\r\n \r\n\r\n\r\n\r\n this.http.post('api/ORGStore/StoreList', {\r\n\r\n ORG_Company_ID: this.info.ORG_Company_ID,\r\n ORG_Store_ID: this.info.ORG_Store_ID,\r\n }).subscribe({\r\n next: data => {\r\n\r\n this.storeSelectList = [];\r\n\r\n\r\n //門市共用下拉選單\r\n let Item :any= {};\r\n Item.value = 0;\r\n Item.content = '總部';\r\n this.storeSelectList.push(Item);\r\n \r\n if(this.info.ORG_Store_ID ){\r\n \r\n //門市共用下拉選單\r\n let Item :any= {};\r\n Item.value = this.info.ORG_Store_ID;\r\n Item.content = data.LIST.find(x=>x.ORG_Store_ID == this.info.ORG_Store_ID ).StoreName;\r\n this.storeSelectList.push(Item);\r\n \r\n }else{\r\n\r\n data.LIST.forEach(element => {\r\n //門市共用下拉選單\r\n var selectItem = new selectData();\r\n selectItem.value = element.ORG_Store_ID;\r\n selectItem.content = element.StoreName;\r\n this.storeSelectList.push(selectItem);\r\n });\r\n \r\n \r\n }\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n // 預設點第一個\r\n if (this.storeSelectList.length > 0) {\r\n this.selectORG_Store_ID = this.storeSelectList[0].value\r\n }\r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n }\r\n });\r\n\r\n}\r\n\r\n\r\n\r\n //打開選擇附加品項\r\n\r\n @ViewChild('Modal') Modal :TemplateRef\r\n onOpen(info,data) {\r\n this.getStoreList()\r\n\r\n if(info){\r\n this.info = info\r\n }\r\n if(data){\r\n this.orgData = data\r\n }\r\n \r\n //初始化查詢資料\r\n this.query.searchKey = \"\"\r\n this.mainDataList = []\r\n this.status= { \r\n isSelectAll : true,\r\n showType:0\r\n }\r\n \r\n //處理已選資料\r\n if(this.orgData && this.orgData.length > 0){ \r\n this.mainDataList = _.cloneDeep(this.orgData) \r\n }else{\r\n this.mainDataList = []\r\n } \r\n \r\n //撈取可選資料 並合成已選資料\r\n this.onQuery() \r\n\r\n //開啟談窗\r\n this.modalRef = this.dialogService.open(this.Modal, {})\r\n this.modalRef.onClose.subscribe(result => {\r\n this.emitClose.emit(true);\r\n });\r\n }\r\n\r\n\r\n //查詢\r\n onQuery( ) {\r\n \r\n this.getInfoList((data)=>{\r\n \r\n \r\n \r\n //初始化\r\n this.infoList = data\r\n this.showList = data\r\n \r\n\r\n this.showList.forEach(x => {\r\n\r\n let obj = _.find(this.mainDataList, y => this.judgeSame(y,x))\r\n if (obj) {\r\n x.isSelect = true\r\n } else {\r\n x.isSelect = false\r\n }\r\n })\r\n\r\n this.filterShowType()\r\n this.judgeSelectAll()\r\n\r\n });\r\n\r\n }\r\n\r\n onShowType(){\r\n this.filterShowType()\r\n this.judgeSelectAll()\r\n }\r\n\r\n //選擇\r\n onSelect(isAdd:boolean, item ) {\r\n if(isAdd){\r\n item.isSelect = true\r\n item.Sorting = 0\r\n this.mainDataList.push(item);\r\n\r\n }else{\r\n item.isSelect = false\r\n let index = this.mainDataList.findIndex(x=>this.judgeSame(x,item))\r\n this.mainDataList.splice(index, 1);\r\n } \r\n\r\n this.judgeSelectAll()\r\n }\r\n\r\n //全選\r\n onSelectAll(){\r\n \r\n \r\n if(this.status.isSelectAll){\r\n this.showList.forEach(item=>{\r\n item.isSelect = false\r\n let index = this.mainDataList.findIndex(x=>this.judgeSame(x,item))\r\n this.mainDataList.splice(index, 1);\r\n })\r\n }\r\n else{ \r\n this.showList.forEach(item=>{\r\n item.isSelect = true\r\n item.Sorting = 0\r\n this.mainDataList.push(item);\r\n })\r\n }\r\n \r\n this.status.isSelectAll = !this.status.isSelectAll\r\n }\r\n\r\n //處存\r\n onSave() {\r\n \r\n\r\n this.orgData = [];\r\n let i = 1;\r\n this.mainDataList.forEach(x=>{ \r\n x.Sorting = i;\r\n i++\r\n this.orgData.push(x)\r\n })\r\n\r\n \r\n this.emitList.emit(this.orgData)\r\n this.modalRef.close()\r\n\r\n\r\n \r\n\r\n }\r\n\r\n\r\n\r\n\r\n \r\n\r\n\r\n //------------------------------------------------------------------------------------------\r\n \r\n\r\n //過濾已選未選等\r\n filterShowType(){\r\n if(this.status.showType==0){\r\n this.showList = _.concat([],this.infoList)\r\n }\r\n else if(this.status.showType==1){\r\n this.showList = _.filter(this.infoList,x=>x.isSelect)\r\n }\r\n else{\r\n this.showList = _.filter(this.infoList,x=> !x.isSelect)\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n //判斷是否全選\r\n judgeSelectAll(){\r\n if(!this.showList || this.showList.length==0){\r\n return true\r\n } \r\n \r\n this.status.isSelectAll = this.showList.every(x=>{\r\n return this.mainDataList.some(y=>this.judgeSame(y,x)) \r\n })\r\n \r\n\r\n }\r\n\r\n\r\n\r\n\r\n //----------------------------------------客製化--------------------------------------------------\r\n\r\n\r\n //比較\r\n judgeSame(y , x){\r\n return y.PRDMenuAttachItemGroupNo == x.PRDMenuAttachItemGroupNo \r\n \r\n }\r\n\r\n\r\n //取得選擇附加品項清單 API\r\n getInfoList( callback) {\r\n //取得含有商品的附加品項\r\n this.info.IsLoding= true\r\n this.http.get(\r\n `api/AttachItemSetting/GetAttachItemListByAll?` + \r\n `ORG_Company_ID=${this.info.ORG_Company_ID}`+\r\n `${this.selectORG_Store_ID !=null ? \"&CreateStore=\" + this.selectORG_Store_ID : ''}`+\r\n ((this.query.searchKey == null || this.query.searchKey == '') ? '' : ('&keyword=' + this.query.searchKey)) +\r\n '&IsDelete=' + false +'&Page=' + 1+'&PerPage=' + 2147483647\r\n ).subscribe({\r\n next: data => {\r\n\r\n if(callback)\r\n callback(data.LIST)\r\n\r\n this.info.IsLoding= false\r\n\r\n },\r\n error: error => {\r\n console.error('取得附加品項群組清單出錯', error);\r\n this.info.IsLoding= false\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n}\r\n\r\nclass selectData {\r\n value: number;//\r\n content: string;//\r\n info:string\r\n}\r\n"," \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n 選擇附加品項群組\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n {{ e.content }}\r\n \r\n \r\n {{ e.name }}\r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
選取附加品項群組標題內容選項類型必選建立門市
\r\n \r\n \r\n \r\n {{item.GroupName}}{{item.Content}}{{item.AttachItemKindName}}{{item.IsRequiredName}}{{item.CreateStoreName}}
\r\n
\r\n\r\n\r\n \r\n\r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
","\r\n import { Component, OnInit, Output, EventEmitter, Input, ViewChild, TemplateRef } from '@angular/core';\r\n import { HttpClient } from '@angular/common/http';\r\n import { NbDialogService } from '@nebular/theme';\r\n import { CookieService } from 'ngx-cookie-service';\r\n \r\n import * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-select-billmachine-moudle',\r\n templateUrl: './select-billmachine-moudle.component.html',\r\n styleUrls: ['./select-billmachine-moudle.component.scss']\r\n})\r\nexport class SelectBillmachineMoudleComponent implements OnInit {\r\n\r\n USR_AccountInfo_ID: string;\r\n ORG_Company_ID: number;\r\n ORG_Store_ID: number\r\n @Output() emitClose = new EventEmitter();\r\n @Output() emitList = new EventEmitter();\r\n @Input() orgData: Array; //已選資料_來源\r\n @Input() info: {\r\n PrintMachine_Type:number[],\r\n IsLoding:boolean\r\n ORG_Store_ID: number,\r\n };\r\n\r\n //-----------------------談窗----------------------------\r\n\r\n modalRef = null; //談窗鉤子\r\n PdModalRef = null; //談窗鉤子\r\n\r\n @ViewChild('Modal') Modal: TemplateRef\r\n @ViewChild('PdModal') PdModal: TemplateRef\r\n\r\n //--------------------------------------------------------\r\n\r\n //資料清單\r\n mainDataList: Array; //選單資料\r\n showList: Array; //群組顯示資料 \r\n showListPd: Array; //商品顯示資料 \r\n query = { //查詢選項\r\n searchKey: \"\"\r\n }\r\n status: { //當前狀態\r\n isSelectAll: boolean //是否已全選\r\n showType: number // 顯示有選過的\r\n }\r\n\r\n //查詢的門市\r\n storeSelectList: selectData[];\r\n selectORG_Store_ID: number;\r\n\r\n\r\n constructor(\r\n private dialogService: NbDialogService,\r\n private http: HttpClient,\r\n private cookieService: CookieService,\r\n ) {\r\n this.USR_AccountInfo_ID = this.cookieService.get('USR_AccountInfo_ID') ? \r\n \"USR_AccountInfo_ID_\"+this.cookieService.get('USR_AccountInfo_ID') :\r\n this.cookieService.get('USR_POSEmployeeInfo_ID') ? \r\n \"USR_POSEmployeeInfo_ID\"+this.cookieService.get('USR_POSEmployeeInfo_ID') : null;\r\n \r\n let cookie_sid = this.cookieService.get('ORG_Store_ID')\r\n this.ORG_Store_ID = (cookie_sid && cookie_sid != '') ? parseInt(cookie_sid) : null\r\n this.ORG_Company_ID = parseInt(this.cookieService.get('ORG_Company_ID'));\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n\r\n ngAfterViewInit() {\r\n this.onOpen(this.info)\r\n }\r\n\r\n\r\n //取得門市清單 API\r\n getStoreList(fun) {//取得門市清單 USP_YOPOSWebGetStoreList\r\n this.http.post('api/ORGStore/StoreList', {\r\n ORG_Company_ID: this.ORG_Company_ID,\r\n ORG_Store_ID: this.ORG_Store_ID,\r\n }).subscribe({\r\n\r\n next: data => {\r\n\r\n this.storeSelectList = [];\r\n\r\n if(this.ORG_Store_ID ){\r\n //門市共用下拉選單\r\n let Item :any= {};\r\n Item.value = this.ORG_Store_ID;\r\n Item.content = data.LIST.find(x=>x.ORG_Store_ID == this.ORG_Store_ID ).StoreName;\r\n this.storeSelectList.push(Item);\r\n }\r\n else\r\n {\r\n data.LIST.forEach(element => {\r\n //門市共用下拉選單\r\n var selectItem = new selectData();\r\n selectItem.value = element.ORG_Store_ID;\r\n selectItem.content = element.StoreName;\r\n this.storeSelectList.push(selectItem);\r\n });\r\n }\r\n \r\n // 預設點第一個\r\n if (this.storeSelectList.length > 0) {\r\n this.selectORG_Store_ID = this.storeSelectList[0].value\r\n }\r\n\r\n if(fun)\r\n fun()\r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n }\r\n });\r\n }\r\n\r\n\r\n onOpen(info) {\r\n if (info)\r\n this.info = info\r\n\r\n this.getStoreList(()=>{\r\n //api抓資料\r\n this.getPdGroupList();\r\n })\r\n\r\n //開啟談窗\r\n this.modalRef = this.dialogService.open(this.Modal, {})\r\n this.modalRef.onClose.subscribe(result => {\r\n this.emitClose.emit(true);\r\n });\r\n }\r\n\r\n //---------------------------------------------------\r\n\r\n //查詢\r\n onQuery() {\r\n this.getPdGroupList();\r\n }\r\n\r\n\r\n //處存商品群組\r\n onSavePdG() {\r\n let useData = [];\r\n \r\n // 篩選出被選取的資料 (IsOK_Group 為 true 的項目)\r\n if(this.mainDataList) {\r\n useData = this.mainDataList\r\n .filter(item => item.IsOK_Group)\r\n .map(item => ({\r\n SYS_PrintMachine_ID: item.SYS_PrintMachine_ID,\r\n ORG_Store_ID: this.selectORG_Store_ID\r\n }));\r\n }\r\n\r\n this.emitList.emit(useData);\r\n this.modalRef.close();\r\n}\r\n\r\n\r\n //---------------------------------------------------\r\n\r\n\r\n //取得門市出單機\r\n getPdGroupList() {\r\n this.info.IsLoding= true\r\n\r\n this.http.get<{ LIST: BillMachineDTO[] }>('api/BillMachine/GetBillMachineList?' + \r\n `ORG_Store_ID=${this.selectORG_Store_ID}` +\r\n `&IsDelete=${false}` +\r\n `&Page=1&PerPage=2147483647`\r\n ).subscribe({\r\n next: data => {\r\n this.info.IsLoding = false\r\n \r\n data.LIST.forEach(x => {\r\n x.GroupNo = x.SYS_PrintMachine_ID;\r\n x.IsOK_Group = false;\r\n });\r\n \r\n const filteredList = data.LIST.filter((item: BillMachineDTO) =>\r\n this.info.PrintMachine_Type.includes(item.PrintMachine_Type)\r\n );\r\n\r\n this.mainDataList = filteredList\r\n //合併到原始資料\r\n this.orgData = _.cloneDeep(this.mainDataList)\r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n this.info.IsLoding = false\r\n }\r\n });\r\n }\r\n}\r\n\r\nclass selectData {\r\n value: number;//\r\n content: string;//\r\n info:string\r\n}\r\n\r\ninterface BillMachineDTO {\r\n SYS_PrintMachine_ID: string;\r\n PrintMachine_Type: number;\r\n PrintMachine_Brand: number;\r\n PrintMachine_Name: string;\r\n PrintMachine_IP: string;\r\n PrintMachine_Port: string;\r\n PaperSize: number;\r\n AlignType: number;\r\n POS_Machine_IDs: string;\r\n KIOSK_Machine_IDs: string;\r\n GroupNo?: string;\r\n IsOK_Group?: boolean;\r\n}","\r\n\r\n \r\n \r\n 選擇複製出單機\r\n \r\n \r\n\r\n
\r\n \r\n {{ e.content }}\r\n \r\n
\r\n\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
出單機名稱
{{ e.PrintMachine_Name }}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n ","import { Component, OnInit, Output, EventEmitter, Input, ViewChild, TemplateRef } from'@angular/core';\r\nimport { HttpClient } from'@angular/common/http';\r\nimport { NbDialogService } from'@nebular/theme';\r\nimport { CookieService } from'ngx-cookie-service';\r\nimport * as _ from'lodash';\r\n\r\n@Component({\r\n selector:'app-select-memberType',\r\n templateUrl:'./select-memberType.component.html',\r\n styleUrls: ['./select-memberType.component.scss']\r\n})\r\nexport class SelectMemberTypeComponent implements OnInit {\r\n @Output() emitClose = new EventEmitter();\r\n @Output() emitList = new EventEmitter();\r\n @Input() orgData: Array;\r\n @Input() USR_MemberLevel_IDList: number[];\r\n @Input() index: number;\r\n \r\n //---------\"與父組件共用,不可改位址------->---------------------\r\n @Input() ProductList: Array; //細項清單\r\n\r\n //-----------------------彈窗----------------------------\r\n\r\n modalRef = null; //彈窗鉤子\r\n PdModalRef = null; //彈窗鉤子\r\n\r\n @ViewChild('Modal') Modal :TemplateRef\r\n @ViewChild('PdModal') PdModal :TemplateRef\r\n\r\n //--------------------------------------------------------\r\n //資料清單\r\n mainDataList: Array; //已選資料\r\n showList: Array;\r\n query = { //查詢選項\r\n searchKey : \"\",\r\n ORG_Company_ID:null\r\n } \r\n status: { //當前狀態\r\n isSelectAll : boolean //是否已全選\r\n showType:number // 顯示有選過的\r\n }\r\n isChecked: boolean = false;\r\n\r\n constructor(\r\n private dialogService: NbDialogService,\r\n private http: HttpClient,\r\n private cookieService: CookieService,\r\n ) \r\n {\r\n this.query.ORG_Company_ID = parseInt(this.cookieService.get('ORG_Company_ID'))\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n\r\n ngAfterViewInit(){ \r\n this.onOpen(this.orgData, this.USR_MemberLevel_IDList)\r\n }\r\n\r\n\r\n onOpen(dataList, USR_MemberLevel_IDList: number[]) {\r\n this.mainDataList = _.cloneDeep(dataList)\r\n\r\n this.mainDataList = this.mainDataList.map(e => ({\r\n ...e,\r\n isChecked: USR_MemberLevel_IDList.includes(e.USR_MemberLevel_ID)\r\n }));\r\n\r\n //開啟彈窗\r\n this.modalRef = this.dialogService.open(this.Modal, {})\r\n this.modalRef.onClose.subscribe(result => {\r\n this.emitClose.emit(true);\r\n });\r\n }\r\n\r\n\r\n //處存區塊\r\n onSave() {\r\n this.emitList.emit({\r\n filteredList: this.mainDataList.filter(e => e.isChecked === true),\r\n index: this.index\r\n });\r\n this.modalRef.close()\r\n }\r\n\r\n}\r\n","\r\n\r\n \r\n \r\n 選擇會員類型\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
會員類型啟用
{{ e.MemberLevelName }}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
","import { Component, OnInit, Output, EventEmitter, Input, ViewChild, TemplateRef } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NbDialogService } from '@nebular/theme';\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-select-permissionsgroup',\r\n templateUrl: './select-permissionsgroup.component.html',\r\n styleUrls: ['./select-permissionsgroup.component.scss']\r\n})\r\nexport class SelectPermissionsgroupComponent implements OnInit {\r\n \r\n @Output() emitClose = new EventEmitter();\r\n @Output() emitList = new EventEmitter();\r\n @Input() orgData: Array; //已選資料_來源\r\n @Input() title: string; \r\n mainDataList: Array; //已選資料\r\n infoList: Array; //選項資料\r\n showList: Array; //顯示資料\r\n @Input() info : {//其他設定\r\n IsLoding:boolean\r\n ORG_Company_ID: number,\r\n ORG_Store_ID: number,\r\n }; \r\n query : { //查詢選項\r\n searchKey : string\r\n } \r\n status: { //當前狀態\r\n isSelectAll : boolean //是否已全選\r\n showType:number // 顯示有選過的\r\n }\r\n list={\r\n showType : [\r\n {name:\"全部\",value:0},\r\n {name:\"已選\",value:1},\r\n {name:\"未選\",value:2}]\r\n }\r\n \r\n \r\n modalRef = null; //談窗鉤子\r\n \r\n \r\n constructor(\r\n private dialogService: NbDialogService,\r\n private http: HttpClient,\r\n ) { } \r\n \r\n ngOnInit(): void {\r\n this.query = { searchKey :\"\"}\r\n\r\n } \r\n \r\n ngAfterViewInit(){ \r\n this.onOpen(this.info, this.orgData) \r\n }\r\n \r\n //打開選擇附加品項\r\n \r\n @ViewChild('Modal') Modal :TemplateRef\r\n onOpen(info,data) {\r\n \r\n \r\n if(info){\r\n this.info = info\r\n }\r\n if(data){\r\n this.orgData = data\r\n }\r\n \r\n //初始化查詢資料\r\n this.query.searchKey = \"\"\r\n this.mainDataList = []\r\n this.status= { \r\n isSelectAll : true,\r\n showType:0\r\n }\r\n \r\n //處理已選資料\r\n if(this.orgData && this.orgData.length > 0){ \r\n this.mainDataList = _.cloneDeep(this.orgData)\r\n } \r\n \r\n //撈取可選資料 並合成已選資料\r\n this.onQuery() \r\n \r\n //開啟談窗\r\n this.modalRef = this.dialogService.open(this.Modal, {})\r\n this.modalRef.onClose.subscribe(result => {\r\n this.emitClose.emit(true);\r\n });\r\n } \r\n \r\n //查詢\r\n onQuery( ) {\r\n \r\n this.getInfoList((data)=>{\r\n \r\n //初始化\r\n this.infoList = data\r\n this.showList = data\r\n this.showList.forEach(x => {\r\n \r\n let obj = _.find(this.mainDataList, y => this.judgeSame(y,x))\r\n if (obj) {\r\n x.isSelect = true\r\n } else {\r\n x.isSelect = false\r\n }\r\n })\r\n \r\n this.filterShowType()\r\n this.judgeSelectAll()\r\n \r\n });\r\n \r\n }\r\n \r\n onShowType(){\r\n this.filterShowType()\r\n this.judgeSelectAll()\r\n }\r\n \r\n //選擇\r\n onSelect(isAdd:boolean, item ) {\r\n if(isAdd){\r\n item.isSelect = true\r\n this.mainDataList.push(item);\r\n \r\n }else{\r\n item.isSelect = false\r\n let index = this.mainDataList.findIndex(x=>this.judgeSame(x,item))\r\n this.mainDataList.splice(index, 1);\r\n } \r\n \r\n this.judgeSelectAll()\r\n }\r\n \r\n //全選\r\n onSelectAll(){\r\n \r\n \r\n if(this.status.isSelectAll){\r\n this.showList.forEach(item=>{\r\n item.isSelect = false\r\n let index = this.mainDataList.findIndex(x=>this.judgeSame(x,item))\r\n this.mainDataList.splice(index, 1);\r\n })\r\n }\r\n else{ \r\n this.showList.forEach(item=>{\r\n item.isSelect = true\r\n this.mainDataList.push(item);\r\n })\r\n }\r\n \r\n this.status.isSelectAll = !this.status.isSelectAll\r\n }\r\n \r\n //處存\r\n onSave() {\r\n \r\n this.orgData.splice(0,this.orgData.length );\r\n let i = 1;\r\n this.mainDataList.forEach(x=>{ \r\n x.Sorting = i;\r\n i++\r\n this.orgData.push(x)\r\n }) \r\n \r\n this.emitList.emit(this.orgData)\r\n this.modalRef.close()\r\n \r\n }\r\n \r\n //---------------------------------------------------------------\r\n \r\n //過濾已選未選等\r\n filterShowType(){\r\n if(this.status.showType==0){\r\n this.showList = _.concat([],this.infoList)\r\n }\r\n else if(this.status.showType==1){\r\n this.showList = _.filter(this.infoList,x=>x.isSelect)\r\n }\r\n else{\r\n this.showList = _.filter(this.infoList,x=> !x.isSelect)\r\n }\r\n }\r\n\r\n //判斷是否全選\r\n judgeSelectAll(){\r\n if(!this.showList || this.showList.length==0){\r\n return true\r\n } \r\n \r\n this.status.isSelectAll = this.showList.every(x=>{\r\n return this.mainDataList.some(y=>this.judgeSame(y,x)) \r\n })\r\n \r\n \r\n }\r\n \r\n\r\n //-------------------------------------客製化區--------------------------------------------------------\r\n\r\n //比較\r\n judgeSame(y , x){\r\n return y.SYS_PermissionGroupID == x.SYS_PermissionGroupID \r\n \r\n }\r\n \r\n \r\n //取得選擇附加品項清單\r\n getInfoList( callback) {\r\n //取得含有商品的附加品項\r\n this.info.IsLoding= true\r\n this.http.get('api/PermissionGroup/GetPermissionGroupList?' +\r\n \"ORG_Store_ID=\"+ this.info.ORG_Store_ID+\r\n '&AuthType=2'+ \r\n '&IsDelete=false'+\r\n '&Page=1' +'&PerPage=2147483647' ).subscribe({\r\n next: data => {\r\n \r\n if(callback)\r\n callback(data.permissionGroups) \r\n \r\n this.info.IsLoding= false\r\n \r\n \r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n this.info.IsLoding= false\r\n\r\n }\r\n });\r\n \r\n }\r\n\r\n \r\n\r\n\r\n\r\n \r\n\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n"," \r\n \r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n {{title}} \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n {{ e.name }}\r\n \r\n\r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
選取群組名稱
\r\n \r\n \r\n \r\n {{item.GroupName}}
\r\n
\r\n\r\n\r\n \r\n\r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
","import { Component, OnInit, Output, EventEmitter, Input, ViewChild, TemplateRef } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NbDialogService } from '@nebular/theme';\r\nimport { CookieService } from 'ngx-cookie-service';\r\n\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-select-product',\r\n templateUrl: './select-product.component.html',\r\n styleUrls: ['./select-product.component.scss']\r\n})\r\nexport class SelectProductComponent implements OnInit {\r\n @Output() emitClose = new EventEmitter();\r\n @Output() emitList = new EventEmitter();\r\n @Input() orgData: Array; //已選資料_來源\r\n @Input() info: {\r\n IsLoding: boolean\r\n ORG_Store_ID: string,\r\n PRD_PlatformType_ID: number,\r\n };\r\n\r\n //---------\"與父組件共用,不可改位址------->---------------------\r\n @Input() ProductList: Array; //商品清單\r\n\r\n //-----------------------談窗----------------------------\r\n\r\n modalRef = null; //談窗鉤子\r\n PdModalRef = null; //談窗鉤子\r\n\r\n @ViewChild('Modal') Modal: TemplateRef\r\n @ViewChild('PdModal') PdModal: TemplateRef\r\n\r\n //--------------------------------------------------------\r\n //資料清單\r\n selectData: Array;//已選資料\r\n mainDataList: Array; //顯示資料 \r\n showList: Array; //群組顯示資料 \r\n showListPd: Array; //商品顯示資料 \r\n query = { //查詢選項\r\n searchKey: \"\",\r\n ORG_Company_ID: null,\r\n ORG_Store_ID: null,\r\n }\r\n status = { //當前狀態\r\n isSelectAll: false, //是否已全選\r\n AllSelectCount: 0, //當前已選總數量\r\n showType: null // 顯示有選過的\r\n }\r\n\r\n\r\n //查詢的門市\r\n storeSelectList: selectData[];\r\n selectORG_Store_ID: number;\r\n PRD_PlatformType_ID: number;\r\n\r\n constructor(\r\n private dialogService: NbDialogService,\r\n private http: HttpClient,\r\n private cookieService: CookieService,\r\n\r\n ) {\r\n let cookie_sid = this.cookieService.get('ORG_Store_ID')\r\n this.query.ORG_Store_ID = (cookie_sid && cookie_sid != '') ? parseInt(cookie_sid) : null\r\n this.query.ORG_Company_ID = parseInt(this.cookieService.get('ORG_Company_ID'))\r\n }\r\n\r\n //info 資料來源 = callAPI / 外部丟入\r\n //data 來源 = MainData[ListName]\r\n\r\n //全選功能:\r\n // 撈取全部資料以提供全選 - 那麼分頁將不再重要 : 建議改成設定欄位\r\n // 全選讀取設定,非全選讀取陣列 \r\n // 同上問題,在經過搜尋之後的全選將有所刪減,因此除了\"全選設定欄位\",還要加上查詢欄位,在後端進行查詢\r\n // 同上問題,過程中的其他方的新增,可能導致有額外資料產生。\r\n // 但不管是丟設定到後端查後取資,一開始取全資但顯示還是每頁只抓當頁資料,都可能造成以上問題。\r\n // 因此最佳處理還是一開始就丟出全部到前端顯示。 但如此行為可能導致效能緩慢? \r\n // 單頁全選-可以正常運作\r\n\r\n ngOnInit(): void {\r\n\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.onOpen(this.info, this.orgData)\r\n }\r\n\r\n\r\n //取得門市清單 API\r\n getStoreList(fun) {//取得門市清單 USP_YOPOSWebGetStoreList\r\n\r\n this.http.post('api/ORGStore/StoreList', {\r\n\r\n ORG_Company_ID: this.query.ORG_Company_ID,\r\n ORG_Store_ID: this.query.ORG_Store_ID,\r\n }).subscribe({\r\n next: data => {\r\n\r\n this.storeSelectList = [];\r\n\r\n\r\n //門市共用下拉選單\r\n let Item: any = {};\r\n Item.value = 0;\r\n Item.content = '總部';\r\n this.storeSelectList.push(Item);\r\n\r\n if (this.query.ORG_Store_ID) {\r\n\r\n //門市共用下拉選單\r\n let Item: any = {};\r\n Item.value = this.query.ORG_Store_ID;\r\n Item.content = data.LIST.find(x => x.ORG_Store_ID == this.query.ORG_Store_ID).StoreName;\r\n this.storeSelectList.push(Item);\r\n\r\n } else {\r\n\r\n data.LIST.forEach(element => {\r\n //門市共用下拉選單\r\n var selectItem = new selectData();\r\n selectItem.value = element.ORG_Store_ID;\r\n selectItem.content = element.StoreName;\r\n this.storeSelectList.push(selectItem);\r\n });\r\n\r\n\r\n }\r\n // 預設點第一個\r\n if (this.storeSelectList.length > 0) {\r\n this.selectORG_Store_ID = this.storeSelectList[0].value\r\n }\r\n\r\n if(fun)\r\n fun()\r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n //開啟\r\n onOpen(info, useData) {\r\n \r\n\r\n if (info){\r\n this.info = info\r\n this.PRD_PlatformType_ID = this.info.PRD_PlatformType_ID\r\n }\r\n \r\n\r\n this.mainDataList = []\r\n this.selectData = []\r\n\r\n //存下已選資料\r\n if(useData && useData.length){\r\n this.selectData = _.cloneDeep(useData) \r\n }\r\n\r\n //api抓資料\r\n this.getStoreList(()=>{\r\n this.getProductList((data) => {\r\n this.showData(data, useData) \r\n }) \r\n })\r\n \r\n \r\n\r\n //開啟談窗\r\n this.modalRef = this.dialogService.open(this.Modal, {})\r\n this.modalRef.onClose.subscribe(result => {\r\n this.emitClose.emit(true);\r\n });\r\n }\r\n\r\n\r\n // 組資料\r\n showData(data, useData) {\r\n //組合內容\r\n let ProductList = [];\r\n let list = _.groupBy(data.LIST, 'GroupNo');\r\n let key = _.keys(list)\r\n key.forEach(k => {\r\n let obj = new ProductGroup()\r\n obj.CreateStoreName = list[k][0].CreateStoreName\r\n obj.GroupNo = k,\r\n obj.GroupName = list[k][0].GroupName,\r\n obj.PDList = _.concat([], list[k]), //TODO 位址有更新嗎?存疑\r\n obj.IsOK_Group = false\r\n ProductList.push(obj)\r\n });\r\n\r\n console.log('....')\r\n this.mainDataList = ProductList\r\n\r\n\r\n //判斷是否已勾選\r\n if (useData) {\r\n this.mainDataList.forEach(g => {\r\n g.PDList.forEach(p => {\r\n let pd = _.find(useData, a => a.No == p.No)\r\n if (pd) {\r\n pd.GroupNo = p.GroupNo;\r\n p = _.assign(p, pd)\r\n p.IsOK_Product = true\r\n g.IsOK_Group = p.IsOK_Product\r\n }\r\n\r\n\r\n })\r\n\r\n g.IsOK_Product_Count()\r\n this.sumSelect()\r\n })\r\n\r\n }\r\n\r\n // //合併到原始資料\r\n // if (!this.orgData || !this.orgData.length) {\r\n // this.orgData = _.cloneDeep(this.mainDataList)\r\n // }\r\n\r\n\r\n }\r\n\r\n\r\n //查詢\r\n onQuery() {\r\n this.getProductList((data) => {\r\n let useData = []\r\n \r\n // this.mainDataList.forEach(x => {\r\n // x.PDList.forEach(y => {\r\n // if (y.IsOK_Product)\r\n // useData.push({ GroupNo: y.GroupNo, No: y.No })\r\n // })\r\n // })\r\n\r\n this.selectData.forEach(y => {\r\n useData.push({ GroupNo: y.GroupNo, No: y.No })\r\n })\r\n\r\n this.showData(data, useData)\r\n\r\n })\r\n\r\n }\r\n\r\n //加入已選商品\r\n AddSelectData(pd,isSelect){\r\n if(isSelect){\r\n if(!_.find(this.selectData,a=>a.No==pd.No)){\r\n this.selectData.push(pd)\r\n }\r\n }else{\r\n _.remove(this.selectData,x=>x.No==pd.No)\r\n }\r\n }\r\n\r\n //選擇全部資料\r\n onSelectAllG() {\r\n\r\n this.mainDataList.forEach(group => {\r\n group.IsOK_Group = this.status.isSelectAll\r\n _.forEach(group.PDList, p => {\r\n p.IsOK_Group = group.IsOK_Group\r\n p.IsOK_Product = group.IsOK_Group\r\n this.AddSelectData(p,group.IsOK_Group)\r\n });\r\n group.IsOK_Product_Count()\r\n \r\n })\r\n this.sumSelect()\r\n\r\n }\r\n //統計已選數量\r\n sumSelect() {\r\n let selectCount = 0\r\n let allcount = 0\r\n this.mainDataList.forEach(group => {\r\n selectCount += group.CountSum\r\n allcount += group.PDList.length\r\n })\r\n\r\n this.status.AllSelectCount = selectCount\r\n this.status.isSelectAll = (selectCount == allcount)\r\n\r\n }\r\n\r\n\r\n\r\n //商品群組 選擇\r\n onSelectG(GID) {\r\n let group = _.find(this.mainDataList, a => a.GroupNo == GID)\r\n if (group)\r\n _.forEach(group.PDList, p => {\r\n p.IsOK_Group = group.IsOK_Group\r\n p.IsOK_Product = group.IsOK_Group\r\n this.AddSelectData(p,group.IsOK_Group)\r\n });\r\n console.log(group)\r\n group.IsOK_Product_Count()\r\n\r\n\r\n this.sumSelect()\r\n\r\n }\r\n\r\n //處存商品群組 最終存檔!!\r\n onSavePdG() {\r\n if (this.selectData) {\r\n this.selectData.forEach(x => {\r\n x.Sorting = 0\r\n })\r\n }\r\n\r\n this.emitList.emit(this.selectData)\r\n this.modalRef.close()\r\n }\r\n\r\n\r\n\r\n\r\n //商品 打開彈窗\r\n onOpenPd(GID) {\r\n let group = _.find(this.mainDataList, a => a.GroupNo == GID)\r\n this.showListPd = _.cloneDeep(group.PDList)\r\n\r\n //開啟談窗\r\n this.PdModalRef = this.dialogService.open(this.PdModal, {})\r\n }\r\n\r\n //商品 處存\r\n onSavePd() {\r\n let GID = this.showListPd[0].GroupNo\r\n let group = _.find(this.mainDataList, a => a.GroupNo == GID)\r\n console.error(GID);\r\n console.error(this.mainDataList);\r\n console.error(group);\r\n console.error(this.showListPd);\r\n _.assign(group.PDList, this.showListPd)\r\n group.IsOK_Group = _.findIndex(group.PDList, 'IsOK_Product') > -1\r\n group.IsOK_Product_Count()\r\n\r\n if(group.PDList){\r\n group.PDList.forEach(x=>{\r\n this.AddSelectData(x,x.IsOK_Product)\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n this.sumSelect()\r\n\r\n\r\n this.PdModalRef.close()\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n //取得可用商品資料\r\n getProductList(fun) {\r\n this.info.IsLoding = true\r\n this.http.get(`api/ProductSetting/GetAllProductList?` +\r\n `ORG_Company_ID=${this.query.ORG_Company_ID}` +\r\n `${this.selectORG_Store_ID != null ? \"&CreateStore=\" + this.selectORG_Store_ID : ''}` +\r\n `&Keyword=${this.query.searchKey}` +\r\n `${this.PRD_PlatformType_ID != null ? \"&PRD_PlatformType_ID=\" + this.PRD_PlatformType_ID : ''}`\r\n ).subscribe({\r\n next: data => {\r\n \r\n this.info.IsLoding = false\r\n\r\n if (fun)\r\n fun(data)\r\n\r\n \r\n\r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n this.info.IsLoding = false\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n}\r\n\r\nclass ProductGroup {\r\n CreateStoreName: string\r\n GroupNo: string;\r\n GroupName: string;\r\n IsOK_Group: boolean;\r\n PDList: Product[];\r\n CountStr: string;\r\n CountSum: number;\r\n IsOK_Product_Count() {\r\n // console.log('go')\r\n let use = _.filter(this.PDList, 'IsOK_Product').length\r\n this.CountStr = use == this.PDList.length ? '已全選' : `已選${use}項`\r\n this.CountSum = use\r\n }\r\n\r\n}\r\n\r\nclass Product {\r\n GroupNo: string;\r\n GroupName: string;\r\n No: string;\r\n Name: string;\r\n\r\n IsOK_Group: boolean;\r\n IsOK_Product: boolean;\r\n}\r\n\r\n\r\nclass selectData {\r\n value: number;//\r\n content: string;//\r\n info: string\r\n}\r\n\r\n","\r\n\r\n \r\n \r\n 選擇商品種類\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n {{ e.content }}\r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
種類名稱建立門市啟用
全選 \r\n \r\n \r\n \r\n 已選{{status.AllSelectCount}}項 \r\n
{{ e.GroupName }}{{e.CreateStoreName}}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n 選擇商品\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
建立門市商品名稱原價啟用
{{e.CreateStoreName}} {{ e.Name }}\r\n {{ e.Cash }}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
","import { Component, OnInit, Output, EventEmitter, Input, ViewChild, TemplateRef } from'@angular/core';\r\nimport { HttpClient } from'@angular/common/http';\r\nimport { NbDialogService } from'@nebular/theme';\r\nimport { CookieService } from'ngx-cookie-service';\r\nimport * as _ from'lodash';\r\n\r\n@Component({\r\n selector:'app-select-salesOutlet',\r\n templateUrl:'./select-salesOutlet.component.html',\r\n styleUrls: ['./select-salesOutlet.component.scss']\r\n})\r\nexport class SelectSalesOutletComponent implements OnInit {\r\n @Output() emitClose = new EventEmitter();\r\n @Output() emitList = new EventEmitter();\r\n @Input() orgData: Array;\r\n \r\n //---------\"與父組件共用,不可改位址------->---------------------\r\n @Input() ProductList: Array; //細項清單\r\n\r\n //-----------------------彈窗----------------------------\r\n\r\n modalRef = null; //彈窗鉤子\r\n PdModalRef = null; //彈窗鉤子\r\n\r\n @ViewChild('Modal') Modal :TemplateRef\r\n @ViewChild('PdModal') PdModal :TemplateRef\r\n\r\n //--------------------------------------------------------\r\n //資料清單\r\n mainDataList: Array; //已選資料\r\n showList: Array;\r\n query = { //查詢選項\r\n searchKey : \"\",\r\n ORG_Company_ID:null\r\n } \r\n status: { //當前狀態\r\n isSelectAll : boolean //是否已全選\r\n showType:number // 顯示有選過的\r\n }\r\n isChecked: boolean = false;\r\n\r\n constructor(\r\n private dialogService: NbDialogService,\r\n private http: HttpClient,\r\n private cookieService: CookieService,\r\n ) \r\n {\r\n this.query.ORG_Company_ID = parseInt(this.cookieService.get('ORG_Company_ID'))\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n\r\n ngAfterViewInit(){ \r\n this.onOpen(this.orgData)\r\n }\r\n\r\n\r\n onOpen(dataList) {\r\n this.mainDataList = _.cloneDeep(dataList)\r\n\r\n //開啟彈窗\r\n this.modalRef = this.dialogService.open(this.Modal, {})\r\n this.modalRef.onClose.subscribe(result => {\r\n this.emitClose.emit(true);\r\n });\r\n }\r\n\r\n\r\n //區塊 選擇\r\n onSelect(isChecked: boolean, data) {\r\n let obj = this.mainDataList.find(y => y.storeName == data.storeName)\r\n if (isChecked){\r\n obj.IsSell = true\r\n }\r\n else{\r\n obj.IsSell = false\r\n }\r\n }\r\n\r\n\r\n //處存區塊\r\n onSave() {\r\n this.emitList.emit(this.mainDataList)\r\n this.modalRef.close()\r\n }\r\n\r\n}\r\n","\r\n\r\n \r\n \r\n 選擇販售門市\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
門市啟用
{{ e.storeName }}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
","import { Component, OnInit, Output, EventEmitter, Input, ViewChild, TemplateRef } from'@angular/core';\r\nimport { HttpClient } from'@angular/common/http';\r\nimport { NbDialogService } from'@nebular/theme';\r\nimport { CookieService } from'ngx-cookie-service';\r\nimport * as _ from'lodash';\r\n\r\n@Component({\r\n selector:'app-select-storeSaleCash',\r\n templateUrl:'./select-storeSaleCash.component.html',\r\n styleUrls: ['./select-storeSaleCash.component.scss']\r\n})\r\nexport class SelectStoreSaleCashComponent implements OnInit {\r\n @Output() emitClose = new EventEmitter();\r\n @Output() emitList = new EventEmitter();\r\n @Input() orgData: Array;\r\n @Input() cash: number;\r\n \r\n //---------\"與父組件共用,不可改位址------->---------------------\r\n @Input() ProductList: Array; //細項清單\r\n\r\n //-----------------------彈窗----------------------------\r\n\r\n modalRef = null; //彈窗鉤子\r\n PdModalRef = null; //彈窗鉤子\r\n\r\n @ViewChild('Modal') Modal :TemplateRef\r\n @ViewChild('PdModal') PdModal :TemplateRef\r\n\r\n //--------------------------------------------------------\r\n //資料清單\r\n mainDataList: Array; //已選資料\r\n showList: Array;\r\n query = { //查詢選項\r\n searchKey : \"\",\r\n ORG_Company_ID:null\r\n } \r\n status: { //當前狀態\r\n isSelectAll : boolean //是否已全選\r\n showType:number // 顯示有選過的\r\n }\r\n isChecked: boolean = false;\r\n\r\n constructor(\r\n private dialogService: NbDialogService,\r\n private http: HttpClient,\r\n private cookieService: CookieService,\r\n ) \r\n {\r\n this.query.ORG_Company_ID = parseInt(this.cookieService.get('ORG_Company_ID'))\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n\r\n ngAfterViewInit(){ \r\n this.onOpen(this.orgData, this.cash)\r\n }\r\n\r\n\r\n onOpen(dataList, cash) {\r\n this.mainDataList = _.cloneDeep(dataList)\r\n\r\n this.mainDataList = this.mainDataList.map(e => ({\r\n ...e,\r\n isChecked: e.SaleCash == cash ? true : false\r\n }));\r\n\r\n //開啟彈窗\r\n this.modalRef = this.dialogService.open(this.Modal, {})\r\n this.modalRef.onClose.subscribe(result => {\r\n this.emitClose.emit(true);\r\n });\r\n }\r\n\r\n\r\n //區塊 選擇\r\n onSelect(isChecked: boolean, data) {\r\n let obj = this.mainDataList.find(y => y.storeName == data.storeName)\r\n if (isChecked){\r\n obj.isChecked = true\r\n }\r\n else{\r\n obj.isChecked = false\r\n }\r\n }\r\n\r\n\r\n //處存區塊\r\n onSave() {\r\n this.emitList.emit(this.mainDataList)\r\n this.modalRef.close()\r\n }\r\n\r\n}\r\n","\r\n\r\n \r\n \r\n 選擇門市\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
門市啟用
{{ e.storeName }}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
","\r\nimport { Component, OnInit, Output, EventEmitter, Input, ViewChild, TemplateRef } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NbDialogService } from '@nebular/theme';\r\nimport * as _ from 'lodash';\r\nimport { CookieService } from 'ngx-cookie-service';\r\n\r\n@Component({\r\n selector: 'app-select-store',\r\n templateUrl: './select-store.component.html',\r\n styleUrls: ['./select-store.component.scss']\r\n})\r\nexport class SelectStoreComponent implements OnInit {\r\n //基本資料\r\n USR_AccountInfo_ID: string;\r\n USR_EmployeeInfo_ID: string;\r\n ORG_Company_ID: number;\r\n\r\n @Output() emitClose = new EventEmitter();\r\n @Output() emitList = new EventEmitter();\r\n @Input() orgData: Array; //已選資料_來源\r\n @Input() title: string; \r\n mainDataList: Array; //已選資料\r\n infoList: Array; //選項資料\r\n showList: Array; //顯示資料\r\n @Input() info : {//其他設定 \r\n IsLoding:boolean\r\n ORG_Company_ID: number,\r\n ORG_Store_ID: number,\r\n }; \r\n query : { //查詢選項\r\n searchKey : string\r\n } \r\n status: { //當前狀態\r\n isSelectAll : boolean //是否已全選\r\n showType:number // 顯示有選過的\r\n }\r\n list={\r\n showType : [\r\n {name:\"全部\",value:0},\r\n {name:\"已選\",value:1},\r\n {name:\"未選\",value:2}]\r\n }\r\n\r\n\r\n modalRef = null; //談窗鉤子\r\n \r\n\r\n constructor(\r\n private dialogService: NbDialogService,\r\n private http: HttpClient,\r\n private cookieService: CookieService,\r\n ) { \r\n this.USR_AccountInfo_ID = this.cookieService.get('USR_AccountInfo_ID') ? \r\n \"USR_AccountInfo_ID_\"+this.cookieService.get('USR_AccountInfo_ID') :\r\n this.cookieService.get('USR_POSEmployeeInfo_ID') ? \r\n \"USR_POSEmployeeInfo_ID\"+this.cookieService.get('USR_POSEmployeeInfo_ID') : null\r\n this.USR_EmployeeInfo_ID = this.cookieService.get('USR_EmployeeInfo_ID')\r\n this.ORG_Company_ID = parseInt(this.cookieService.get('ORG_Company_ID'))\r\n \r\n }\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n this.query = { searchKey :\"\"}\r\n \r\n \r\n }\r\n\r\n\r\n ngAfterViewInit(){ console.log('sa',this.info)\r\n this.onOpen(this.info, this.orgData)\r\n\r\n \r\n }\r\n\r\n //打開選擇附加品項\r\n\r\n @ViewChild('Modal') Modal :TemplateRef\r\n onOpen(info,data) {\r\n \r\n\r\n if(info){\r\n this.info = info\r\n }\r\n if(data){\r\n this.orgData = data\r\n }\r\n \r\n //初始化查詢資料\r\n this.query.searchKey = \"\"\r\n this.mainDataList = []\r\n this.status= { \r\n isSelectAll : true,\r\n showType:0\r\n }\r\n \r\n //處理已選資料\r\n if(this.orgData && this.orgData.length > 0){ \r\n this.mainDataList = _.cloneDeep(this.orgData)\r\n // this.orgDataList.forEach(x => {\r\n // let obj = _.assign({}, x)\r\n // this.mainDataList.push(obj)\r\n // })\r\n } \r\n \r\n //撈取可選資料 並合成已選資料\r\n this.onQuery() \r\n\r\n //開啟談窗\r\n this.modalRef = this.dialogService.open(this.Modal, {})\r\n this.modalRef.onClose.subscribe(result => {\r\n this.emitClose.emit(true);\r\n });\r\n }\r\n\r\n\r\n //查詢\r\n onQuery( ) {\r\n \r\n this.getInfoList((data)=>{\r\n \r\n //初始化\r\n this.infoList = data\r\n this.showList = data\r\n this.showList.forEach(x => {\r\n\r\n let obj = _.find(this.mainDataList, y => this.judgeSame(y,x))\r\n if (obj) {\r\n x.isSelect = true\r\n } else {\r\n x.isSelect = false\r\n }\r\n })\r\n\r\n this.filterShowType()\r\n this.judgeSelectAll()\r\n\r\n });\r\n\r\n }\r\n\r\n onShowType(){\r\n this.filterShowType()\r\n this.judgeSelectAll()\r\n }\r\n\r\n //選擇\r\n onSelect(isAdd:boolean, item ) {\r\n if(isAdd){\r\n item.isSelect = true\r\n this.mainDataList.push(item);\r\n\r\n }else{\r\n item.isSelect = false\r\n let index = this.mainDataList.findIndex(x=>this.judgeSame(x,item))\r\n this.mainDataList.splice(index, 1);\r\n } \r\n\r\n this.judgeSelectAll()\r\n }\r\n\r\n //全選\r\n onSelectAll(){\r\n \r\n \r\n if(this.status.isSelectAll){\r\n this.showList.forEach(item=>{\r\n item.isSelect = false\r\n let index = this.mainDataList.findIndex(x=>this.judgeSame(x,item))\r\n this.mainDataList.splice(index, 1);\r\n })\r\n }\r\n else{ \r\n this.showList.forEach(item=>{\r\n item.isSelect = true\r\n this.mainDataList.push(item);\r\n })\r\n }\r\n \r\n this.status.isSelectAll = !this.status.isSelectAll\r\n }\r\n\r\n //處存\r\n onSave() {\r\n \r\n this.orgData.splice(0,this.orgData.length );\r\n let i = 1;\r\n this.mainDataList.forEach(x=>{ \r\n x.Sorting = i;\r\n i++\r\n this.orgData.push(x)\r\n })\r\n\r\n \r\n //TODO 確認附加品項表格中修改後 會影響到此嗎? 應該禁止修改名稱\r\n this.emitList.emit(this.orgData)\r\n this.modalRef.close()\r\n\r\n\r\n //重新計算順序 並且重載列表資料\r\n // var i = 1;\r\n // this.mainDataList.forEach(function (data) {\r\n // data.Sorting = i;\r\n // i++\r\n // });\r\n // this.orgDataList.load(this.mainDataList);\r\n\r\n }\r\n\r\n //-----------------------------------------------------------------\r\n\r\n //過濾已選未選等\r\n filterShowType(){\r\n if(this.status.showType==0){\r\n this.showList = _.concat([],this.infoList)\r\n }\r\n else if(this.status.showType==1){\r\n this.showList = _.filter(this.infoList,x=>x.isSelect)\r\n }\r\n else{\r\n this.showList = _.filter(this.infoList,x=> !x.isSelect)\r\n }\r\n }\r\n\r\n\r\n //判斷是否全選\r\n judgeSelectAll(){\r\n if(!this.showList || this.showList.length==0){\r\n return true\r\n } \r\n \r\n this.status.isSelectAll = this.showList.every(x=>{\r\n return this.mainDataList.some(y=>this.judgeSame(y,x)) \r\n })\r\n \r\n\r\n }\r\n\r\n //---------------------------------------客製化-----------------------------------------\r\n\r\n //比較\r\n judgeSame(y , x){\r\n return y.ORG_Store_ID == x.ORG_Store_ID \r\n \r\n \r\n }\r\n\r\n \r\n //取得選擇附加品項清單\r\n getInfoList( callback) {\r\n //取得含有商品的附加品項\r\n this.info.IsLoding= true\r\n this.http.post('api/ORGStore/StoreList', {\r\n USR_AccountInfo_ID: this.USR_AccountInfo_ID, //建立者,\r\n \r\n ORG_Company_ID: this.ORG_Company_ID,\r\n ORG_Store_ID:\"0\",\r\n }).subscribe({\r\n next: data => {\r\n\r\n if(callback)\r\n callback(data.LIST)\r\n\r\n // selectItem.value = element.ORG_Store_ID;\r\n // selectItem.content = element.StoreName;\r\n this.info.IsLoding= false\r\n\r\n\r\n },\r\n error: error => {\r\n //this.errorMessage = error.message;\r\n console.error('There was an error!', error);\r\n this.info.IsLoding= false\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n"," \r\n \r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n {{title}} \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n {{ e.name }}\r\n \r\n\r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
選取店名
\r\n \r\n \r\n \r\n {{item.StoreName}}
\r\n
\r\n\r\n\r\n \r\n\r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
","import { Component, OnInit, Output, EventEmitter, Input, ViewChild, TemplateRef } from'@angular/core';\r\nimport { HttpClient } from'@angular/common/http';\r\nimport { NbDialogService } from'@nebular/theme';\r\nimport { CookieService } from'ngx-cookie-service';\r\nimport * as _ from'lodash';\r\n\r\n@Component({\r\n selector:'app-select-stores',\r\n templateUrl:'./select-stores.component.html',\r\n styleUrls: ['./select-stores.component.scss']\r\n})\r\nexport class SelectStoresComponent implements OnInit {\r\n @Output() emitClose = new EventEmitter();\r\n @Output() emitList = new EventEmitter();\r\n @Input() orgData: Array;\r\n @Input() StoreList: string;\r\n @Input() index: number;\r\n \r\n //---------\"與父組件共用,不可改位址------->---------------------\r\n @Input() ProductList: Array; //細項清單\r\n\r\n //-----------------------彈窗----------------------------\r\n\r\n modalRef = null; //彈窗鉤子\r\n PdModalRef = null; //彈窗鉤子\r\n\r\n @ViewChild('Modal') Modal :TemplateRef\r\n @ViewChild('PdModal') PdModal :TemplateRef\r\n\r\n //--------------------------------------------------------\r\n //資料清單\r\n mainDataList: Array; //已選資料\r\n showList: Array;\r\n query = { //查詢選項\r\n searchKey : \"\",\r\n ORG_Company_ID:null\r\n } \r\n status: { //當前狀態\r\n isSelectAll : boolean //是否已全選\r\n showType:number // 顯示有選過的\r\n }\r\n isChecked: boolean = false;\r\n\r\n constructor(\r\n private dialogService: NbDialogService,\r\n private http: HttpClient,\r\n private cookieService: CookieService,\r\n ) \r\n {\r\n this.query.ORG_Company_ID = parseInt(this.cookieService.get('ORG_Company_ID'))\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n\r\n ngAfterViewInit(){ \r\n this.onOpen(this.orgData, this.StoreList)\r\n }\r\n\r\n\r\n onOpen(dataList: any[], storeListString: string) {\r\n this.mainDataList = _.cloneDeep(dataList);\r\n \r\n const selectedStoreIds = storeListString ? storeListString.split(',').map(Number) : [];\r\n \r\n this.mainDataList = this.mainDataList.map(e => ({\r\n ...e,\r\n isChecked: selectedStoreIds.includes(e.value)\r\n }));\r\n \r\n // 開啟彈窗\r\n this.modalRef = this.dialogService.open(this.Modal, {});\r\n this.modalRef.onClose.subscribe(result => {\r\n this.emitClose.emit(true);\r\n });\r\n }\r\n\r\n //處存區塊\r\n onSave() {\r\n const selectedItems = this.mainDataList.filter(e => e.isChecked === true);\r\n this.emitList.emit({\r\n filteredList: selectedItems,\r\n index: this.index\r\n });\r\n this.modalRef.close();\r\n }\r\n \r\n\r\n}\r\n","\r\n\r\n \r\n \r\n 選擇分店\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
分店名稱啟用
{{ e.content }}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
","import { Component, Input, OnInit, TemplateRef, ViewChild,Output,EventEmitter } from '@angular/core';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { SubscriptService } from '../../service/header.service';\r\nimport { DatePipe } from '@angular/common'\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NbDialogService } from '@nebular/theme';\r\nimport { CurrencyPipe} from '@angular/common';\r\nimport * as _ from 'lodash';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-show-data',\r\n templateUrl: './show-data.component.html',\r\n styleUrls: ['./show-data.component.scss']\r\n})\r\nexport class ShowDataComponent implements OnInit {\r\n @Output() emitList = new EventEmitter();\r\n @Output() emitClose = new EventEmitter();\r\n @Input() EOSNo: string; //已選資料_來源\r\n @Input() source: number; //已選資料_來源\r\n\r\n //-----------------------彈窗----------------------------\r\n\r\n modalRef = null; //彈窗鉤子\r\n PdModalRef = null; //彈窗鉤子\r\n\r\n @ViewChild('Modal') Modal :TemplateRef\r\n @ViewChild('PdModal') PdModal :TemplateRef\r\n\r\n //基本資料\r\n USR_AccountInfo_ID: string;\r\n USR_EmployeeInfo_ID: string;\r\n ORG_Company_ID: number;\r\n ORG_Store_ID: number;\r\n authChangeSub:any;\r\n\r\n statusHistory: StatusHistory[] = [\r\n { CreateBy: '1', statusName: '訂單準備中', CreateDate: '2024-04-15' },\r\n { CreateBy: '2', statusName: '訂單完成', CreateDate: '2024-04-15' },\r\n { CreateBy: '3', statusName: '訂單完成', CreateDate: '2024-04-15' },\r\n { CreateBy: '4', statusName: '訂單完成', CreateDate: '2024-04-15' },\r\n { CreateBy: '5', statusName: '訂單完成', CreateDate: '2024-04-15' },\r\n ];\r\n\r\n constructor(\r\n private dialogService: NbDialogService,\r\n private http: HttpClient,\r\n private cookieService: CookieService,\r\n ) {\r\n this.USR_AccountInfo_ID = this.cookieService.get('USR_AccountInfo_ID') ? \r\n \"USR_AccountInfo_ID_\"+this.cookieService.get('USR_AccountInfo_ID') :\r\n this.cookieService.get('USR_POSEmployeeInfo_ID') ? \r\n \"USR_POSEmployeeInfo_ID\"+this.cookieService.get('USR_POSEmployeeInfo_ID') : null;\r\n this.USR_EmployeeInfo_ID = this.cookieService.get('USR_EmployeeInfo_ID')\r\n this.ORG_Company_ID = parseInt(this.cookieService.get('ORG_Company_ID'))\r\n let cookie_sid = this.cookieService.get('ORG_Store_ID')\r\n this.ORG_Store_ID= (cookie_sid && cookie_sid!='') ? parseInt(cookie_sid) : null\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.onOpen()\r\n\r\n }\r\n\r\n async onOpen(){\r\n await this.get_EOS_Status_History();\r\n this.modalRef = this.dialogService.open(this.Modal, {});\r\n this.modalRef.onClose.subscribe(result => {\r\n this.emitClose.emit(true);\r\n });\r\n }\r\n\r\n //取得歷程紀錄\r\n get_EOS_Status_History(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.post('api/EOS/OrderManage/WebGetEOSInfoRecord', {\r\n EOSNo: this.EOSNo,\r\n Source: this.source,\r\n Page: 1,\r\n PerPage: 9999,\r\n }).subscribe({\r\n next: data => {\r\n this.statusHistory = [];\r\n data.LIST.forEach(element => {\r\n var item: StatusHistory = { \r\n statusName: element.StatusName, \r\n CreateDate: element.CreateDate, \r\n CreateBy: element.CreateBy\r\n };\r\n this.statusHistory.push(item);\r\n });\r\n resolve(this.statusHistory);\r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n reject(error);\r\n }\r\n });\r\n });\r\n }\r\n onClose(){\r\n this.modalRef.close()\r\n }\r\n}\r\n\r\ninterface StatusHistory {\r\n statusName: string;\r\n CreateBy: string;\r\n CreateDate: string;\r\n}"," \r\n \r\n \r\n 歷程紀錄\r\n \r\n\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
操作人員變更狀態更新時間
\r\n {{status.CreateBy}}\r\n \r\n {{status.statusName}}\r\n \r\n {{status.CreateDate}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
","import { Component, Input, OnInit, TemplateRef, ViewChild,Output,EventEmitter } from '@angular/core';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { SubscriptService } from '../../service/header.service';\r\nimport { DatePipe } from '@angular/common'\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NbDialogService } from '@nebular/theme';\r\nimport { CurrencyPipe} from '@angular/common';\r\nimport * as _ from 'lodash';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-status-update-modal',\r\n templateUrl: './status-update-modal.component.html',\r\n styleUrls: ['./status-update-modal.component.scss']\r\n})\r\nexport class StatusUpdateModalComponent implements OnInit {\r\n @Output() emitList = new EventEmitter();\r\n @Output() emitClose = new EventEmitter();\r\n @Input() info: {\r\n getURL: string;\r\n updateURL: string;\r\n eosNo: string;\r\n source: number;\r\n };\r\n\r\n //-----------------------彈窗----------------------------\r\n\r\n modalRef = null; //彈窗鉤子\r\n PdModalRef = null; //彈窗鉤子\r\n\r\n @ViewChild('Modal') Modal :TemplateRef\r\n @ViewChild('PdModal') PdModal :TemplateRef\r\n\r\n //基本資料\r\n USR_AccountInfo_ID: string;\r\n USR_EmployeeInfo_ID: string;\r\n ORG_Company_ID: number;\r\n ORG_Store_ID: number;\r\n authChangeSub:any;\r\n\r\n statusList: Status[]=[\r\n { ID:1, statusName: '訂單準備中', CanClick: true },\r\n { ID:2, statusName: '訂單完成', CanClick: false },\r\n ];\r\n\r\n statusHistory: StatusHistory[] = [\r\n { CreateBy: '1', statusName: '訂單準備中', CreateDate: '2024-04-15' },\r\n { CreateBy: '2', statusName: '訂單完成', CreateDate: '2024-04-15' },\r\n { CreateBy: '3', statusName: '訂單完成', CreateDate: '2024-04-15' },\r\n { CreateBy: '4', statusName: '訂單完成', CreateDate: '2024-04-15' },\r\n { CreateBy: '5', statusName: '訂單完成', CreateDate: '2024-04-15' },\r\n ];\r\n\r\n constructor(\r\n private dialogService: NbDialogService,\r\n private http: HttpClient,\r\n private cookieService: CookieService,\r\n ) {\r\n this.USR_AccountInfo_ID = this.cookieService.get('USR_AccountInfo_ID') ? \r\n \"USR_AccountInfo_ID_\"+this.cookieService.get('USR_AccountInfo_ID') :\r\n this.cookieService.get('USR_POSEmployeeInfo_ID') ? \r\n \"USR_POSEmployeeInfo_ID\"+this.cookieService.get('USR_POSEmployeeInfo_ID') : null;\r\n this.USR_EmployeeInfo_ID = this.cookieService.get('USR_EmployeeInfo_ID')\r\n this.ORG_Company_ID = parseInt(this.cookieService.get('ORG_Company_ID'))\r\n let cookie_sid = this.cookieService.get('ORG_Store_ID')\r\n this.ORG_Store_ID= (cookie_sid && cookie_sid!='') ? parseInt(cookie_sid) : null\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.onOpen(this.info)\r\n\r\n }\r\n\r\n async onOpen(data){\r\n await this.get_EOS_Status_List(data) \r\n await this.get_EOS_Status_History();\r\n this.modalRef = this.dialogService.open(this.Modal, {});\r\n this.modalRef.onClose.subscribe(result => {\r\n this.emitClose.emit(true);\r\n });\r\n }\r\n\r\n\r\n //取得狀態清單\r\n get_EOS_Status_List(data): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(data.getURL+`EOSNo=${data.eosNo}`,\r\n ).subscribe({\r\n next: data => {\r\n this.statusList = []\r\n data.LIST.forEach(element => {\r\n var item : Status;\r\n\r\n var item: Status = { \r\n statusName: element.Name, \r\n ID: element.ID, \r\n CanClick: element.CanClick\r\n };\r\n this.statusList.push(item);\r\n });\r\n resolve(this.statusHistory);\r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n reject(error);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n //更新狀態\r\n onStatusClick(ID: string) {\r\n const data = this.info\r\n this.http.post(data.updateURL, {\r\n // USR_AccountInfo_ID: this.USR_AccountInfo_ID, //建立者, \r\n EOSNo: data.eosNo,\r\n EOS_Status_ID: ID,\r\n LastUpdateBy : \"USR_AccountInfo_ID_\" + this.USR_AccountInfo_ID\r\n }).subscribe({\r\n next: data => {\r\n alert('更新狀態成功')\r\n this.onClose()\r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n }\r\n });\r\n }\r\n\r\n \r\n //取得歷程紀錄\r\n get_EOS_Status_History(): Promise {\r\n const data = this.info;\r\n return new Promise((resolve, reject) => {\r\n this.http.post('api/EOS/OrderManage/WebGetEOSInfoRecord', {\r\n EOSNo: data.eosNo,\r\n Source: data.source,\r\n Page: 1,\r\n PerPage: 3,\r\n }).subscribe({\r\n next: data => {\r\n this.statusHistory = [];\r\n data.LIST.forEach(element => {\r\n var item: StatusHistory = { \r\n statusName: element.StatusName, \r\n CreateDate: element.CreateDate, \r\n CreateBy: element.CreateBy\r\n };\r\n this.statusHistory.push(item);\r\n });\r\n resolve(this.statusHistory);\r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n reject(error);\r\n }\r\n });\r\n });\r\n }\r\n \r\n\r\n\r\n onClose(){\r\n this.modalRef.close()\r\n }\r\n\r\n\r\n //商品 明細\r\n @ViewChild('ShowDataMo_Tmp',{static:false}) ShowDataMo_Tmp \r\n ShowDataMo = {\r\n EOSNo:null,\r\n source:null,\r\n isShow:false,\r\n onOpen:()=>{ \r\n let my = this.ShowDataMo \r\n my.EOSNo=this.info.eosNo\r\n my.source=this.info.source\r\n my.isShow = true\r\n }, \r\n onClose(v){\r\n this.isShow = false \r\n }\r\n }\r\n\r\n \r\n}\r\n\r\ninterface Status {\r\n statusName: string;\r\n CanClick: boolean;\r\n ID: number;\r\n}\r\n\r\n\r\ninterface StatusHistory {\r\n statusName: string;\r\n CreateBy: string;\r\n CreateDate: string;\r\n}"," \r\n \r\n
\r\n \r\n \r\n 編輯狀態\r\n \r\n\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
操作人員變更狀態更新時間
\r\n {{status.CreateBy}}\r\n \r\n {{status.statusName}}\r\n \r\n {{status.CreateDate}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n","import { Directive ,ElementRef,Input} from '@angular/core';\r\nimport {NgControl} from '@angular/forms'\r\n\r\n@Directive({\r\n selector: '[InputFormat]',\r\n host: {\r\n // '(keypress)': '_onKeypress($event)',\r\n // '(keydown)': '_onKeyup($event)',\r\n '(input)': 'Show($event)',\r\n \r\n }\r\n})\r\n\r\nexport class InputFormatDirective {\r\n @Input(\"ngModel\") type :string = '' \r\n _input : ElementRef;\r\n _labelDom:any;\r\n _span:any;\r\n\r\n formatType ={\r\n onlyEn : /[^a-zA-Z]/g,\r\n noCH: /[^\\u4E00-\\u9FA5]/g,\r\n email:/[^\\w=@#.]|_/ig\r\n }\r\n \r\n constructor(el: ElementRef) {\r\n this._input = el;\r\n this._labelDom = el.nativeElement.previousElementSibling ;\r\n\r\n \r\n let span = document.createElement(\"span\");\r\n span.style.color=\"red\";\r\n span.classList.add(\"label\");\r\n span.classList.add(\"text-danger\");\r\n span.innerText=\" 不可有中文\";\r\n span.style.display=\"none\";\r\n this._labelDom.appendChild(span);\r\n this._span=span\r\n \r\n\r\n }\r\n\r\n\r\n \r\n Show(e) {\r\n if( this.Judge (e.target.value)){\r\n this._input.nativeElement.classList.remove(\"status-basic\") \r\n this._input.nativeElement.classList.add(\"status-danger\")\r\n this._span.style.display=\"inline\";\r\n } \r\n else{\r\n this._input.nativeElement.classList.remove(\"status-danger\") \r\n this._input.nativeElement.classList.add(\"status-basic\")\r\n this._span.style.display=\"none\";\r\n } \r\n }\r\n\r\n \r\n\r\n Judge (e){\r\n var regu = /[^\\w=@#.]|_/ig ;\r\n return regu.test(e); \r\n }\r\n\r\n\r\n\r\n\r\n \r\n}\r\n\r\n","import { Component,OnInit,OnChanges ,Input,Output, EventEmitter,ChangeDetectionStrategy} from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\n\r\nimport { FormControl } from '@angular/forms';\r\nimport { map, startWith } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-auto-select',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n templateUrl: './auto-select.component.html',\r\n})\r\nexport class AutoSelectComponent implements OnInit , OnChanges {\r\n\r\n @Output() emitValue = new EventEmitter();\r\n @Input() groupList: Group[]; //選單資料_來源\r\n filteredGroups$: Observable; \r\n inputFormControl: FormControl;\r\n isSelect:boolean = false;\r\n value = \"\"\r\n\r\n ngOnInit() { \r\n\r\n this.filteredGroups$ = of(this.groupList);\r\n this.inputFormControl = new FormControl();\r\n }\r\n\r\n ngOnChanges(){\r\n this.onClick()\r\n this.filteredGroups$ = of(this.groupList);\r\n }\r\n\r\n //失焦時 判斷是否已選並清除資料\r\n onBlur(){\r\n if(!this.isSelect){\r\n //清空資料\r\n this.value = \"\"\r\n }\r\n \r\n \r\n \r\n }\r\n\r\n //初始化資料\r\n onClick(){\r\n this.value=''\r\n this.isSelect = false\r\n this.emitValue.emit(null);\r\n }\r\n\r\n \r\n onSelect(e){\r\n this.emitValue.emit(e.value);\r\n this.isSelect = true\r\n \r\n }\r\n\r\n\r\n //選單過濾方法\r\n filter(value: string): Group[] {\r\n const filterValue = value.toLowerCase();\r\n if(filterValue.trim().length > 0){\r\n let glist = this.groupList.map(group => {\r\n let clist = group.child.filter(op => op.content.toLowerCase().includes(filterValue))\r\n return {\r\n id: group.id,\r\n name: group.name,\r\n child: clist\r\n }\r\n });\r\n let result = glist.filter(group => group.child.length)\r\n\r\n return result\r\n }\r\n else{\r\n return this.groupList\r\n }\r\n \r\n }\r\n //選單變化\r\n onModelChange(value: string) {\r\n this.filteredGroups$ = of(this.filter(value));\r\n }\r\n\r\n}\r\n\r\n\r\ninterface Group {\r\n id: string;\r\n name: string;\r\n child: selectData[];\r\n}\r\n\r\ninterface selectData {\r\n value: any;\r\n content: string;\r\n \r\n}","
\r\n \r\n\r\n \r\n\r\n \r\n \r\n {{ op.content }}\r\n \r\n \r\n\r\n \r\n\r\n \r\n
","import { Pipe, PipeTransform } from '@angular/core';\r\nimport * as _ from 'lodash'; \r\n\r\n@Pipe({\r\n name: 'isExist'\r\n})\r\n\r\n//值是否存在於列表某欄位中\r\nexport class IsExistPipe implements PipeTransform {\r\n\r\n transform(value: any,list:[],field:string): boolean {\r\n \r\n if(!field)\r\n return _.findIndex(list, e=> e==value) >-1;\r\n else{\r\n if(!list || list.length<1 )\r\n return false;\r\n var item = _.find(list, e=> e[field]==value);\r\n return item ? true : false;\r\n }\r\n \r\n \r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'isInvaild'\r\n})\r\nexport class IsInvaildPipe implements PipeTransform {\r\n\r\n transform(value: any ,returnT:any,returnF:any): boolean {\r\n let judge = true;\r\n \r\n switch (typeof value) {\r\n case 'string':\r\n if(!value || value.trim().length<1 )\r\n judge = false;\r\n break;\r\n\r\n case 'number':\r\n if(!value || value<0 )\r\n judge = false;\r\n break; \r\n\r\n default : \r\n judge = false;\r\n break; \r\n }\r\n \r\n return judge ? returnT : returnF;\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport * as _ from 'lodash'; \r\n\r\n@Pipe({\r\n name: 'keyword'\r\n})\r\nexport class KeywordPipe implements PipeTransform {\r\n\r\n //isEqual == false 模糊查詢\r\n //getAllStr 符合此特殊字 撈取全部\r\n transform(List: Array, Field: any, Keyword: string , getAllStr : string=null , isEqual:boolean=false): any {\r\n console.log('QQ !')\r\n if(!List || List.length<1) {\r\n console.log('資料筆數少於1 !')\r\n return List;\r\n }\r\n\r\n if(Keyword!=null && Keyword!=undefined){\r\n Keyword = Keyword.toString()\r\n }\r\n if(getAllStr!=null && getAllStr!=undefined){\r\n getAllStr = getAllStr.toString()\r\n } \r\n\r\n if(!Keyword || Keyword.trim().length<1) { \r\n console.log(Field+'關鍵字為空')\r\n return List;\r\n }\r\n //特殊值可取得全部\r\n if(getAllStr && Keyword == getAllStr\r\n ){\r\n return List;\r\n }\r\n // console.log(333)\r\n //欄位只有一個 用字串表示\r\n if(typeof(Field) == 'string'){ \r\n //判斷欄位有效\r\n if(_.keys(List[0]).findIndex(e=>e==Field) == -1 ) {\r\n console.log(`資料沒有${Field}欄位 !`)\r\n return List;\r\n }\r\n //回傳查詢資料\r\n let result = _.filter(List,data => { \r\n if(!isEqual)\r\n return data[Field] && data[Field].toString().indexOf(Keyword) > -1 \r\n else\r\n return data[Field] && data[Field].toString() == Keyword \r\n }); \r\n // console.log(result)\r\n return result\r\n\r\n }\r\n //欄位多個 用陣列表示\r\n else if (Array.isArray(Field)){\r\n //判斷欄位有效\r\n let valid_field = []\r\n let dataKey = _.keys(List[0])\r\n Field.forEach(f=>{\r\n if(dataKey.findIndex(e=>e==f) == -1 ) {\r\n console.log(`資料沒有${f}欄位 !`)\r\n }\r\n else valid_field.push(f) \r\n })\r\n\r\n //回傳查詢資料\r\n return _.filter(List,data=>{ \r\n return valid_field.findIndex(f=>{\r\n if(!isEqual)\r\n return data[f] && data[f].toString().indexOf(Keyword)>-1\r\n else\r\n return data[f] && data[f].toString() == Keyword \r\n }) > -1 \r\n })\r\n }\r\n else \r\n return List;\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport * as _ from 'lodash'; \r\n\r\n@Pipe({\r\n name: 'tranf'\r\n})\r\nexport class TranfPipe implements PipeTransform {\r\n\r\n transform(value: any,list:[],fieldA:string,fieldB:string): any {\r\n \r\n if(!list || list.length<1 || !fieldA || !fieldB)\r\n return value;\r\n var item = _.find(list,e => e[fieldA]==value);\r\n \r\n return item ? item[fieldB] : value;\r\n \r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { CookieService } from 'ngx-cookie-service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiService {\r\n\r\n version = null\r\n\r\n constructor( \r\n private cookieService: CookieService,\r\n private http: HttpClient){\r\n\r\n }\r\n\r\n\r\n checkReload(){\r\n let my = this\r\n this.http.get('api/Version/GetVersion').subscribe({\r\n next: data => {\r\n console.log('當前版本:',data)\r\n\r\n let version = this.version\r\n //this.cookieService.get('appVersion');\r\n \r\n if(!version || version==\"\"){\r\n //this.cookieService.set('appVersion', data,365,'/');\r\n this.version = data\r\n }else{\r\n if(version!=data){\r\n // console.log('try load')\r\n // this.cookieService.set('appVersion', data,365,'/');\r\n this.version = data\r\n location.href = location.href;\r\n }\r\n }\r\n \r\n \r\n },\r\n error: error => {\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n //取得平台\r\n getPlatformTypeList(isHaveAll:number=1){\r\n\r\n let menuTypeList = []\r\n\r\n this.http.post('api/Menu/GetMenuType', {\r\n }).subscribe({\r\n next: data => {\r\n\r\n data.LIST.forEach(element => {\r\n //門市共用下拉選單\r\n var selectItem = new selectData();\r\n selectItem.value = element.ID;\r\n selectItem.content = element.Name;\r\n menuTypeList.push(selectItem);\r\n });\r\n \r\n },\r\n error: error => {\r\n console.error('There was an error!', error);\r\n }\r\n });\r\n\r\n if(isHaveAll){\r\n menuTypeList = [{value:0,content : \"全部\"}].concat(menuTypeList)\r\n }\r\n return menuTypeList \r\n \r\n }\r\n\r\n //取得用餐種類\r\n getOrdTypeList(isHaveAll:number=0){\r\n\r\n let ordTypeList = []\r\n \r\n // {value:0,content : \"全部\"},\r\n // {value:1,content : \"外帶\"},\r\n // {value:2,content : \"外送\"},\r\n // {value:3,content : \"內用\"},\r\n // { value: 5, content: '自取'},\r\n\r\n this.http.get('api/InfoList/GetORDTypeList').subscribe({\r\n next: data => {\r\n \r\n data.LIST.forEach(element => {\r\n var selectItem = new selectData();\r\n selectItem.value = element.ID;\r\n selectItem.content = element.Name;\r\n ordTypeList.push(selectItem);\r\n });\r\n\r\n },\r\n error: error => {\r\n }\r\n })\r\n\r\n\r\n if(isHaveAll){\r\n ordTypeList = [{value:0,content : \"全部\"}].concat(ordTypeList)\r\n }\r\n \r\n return ordTypeList\r\n \r\n \r\n }\r\n\r\n //取得付款方式\r\n getPaymentList(isHaveAll:number=0,StoreID:number,fun:any){\r\n\r\n let paymentList = []\r\n \r\n\r\n this.http.get('api/Payment/GetAllPaymentTypeList?' + \r\n `ORG_Store_ID=${StoreID}`\r\n ).subscribe({\r\n \r\n next: data => {\r\n \r\n data.LIST.forEach(element => {\r\n var selectItem = new selectData();\r\n selectItem.value = element.SYS_PaymentKind_ID;\r\n selectItem.content = element.PaymentKindName;\r\n paymentList.push(selectItem);\r\n });\r\n\r\n if(fun)\r\n fun()\r\n\r\n },\r\n error: error => {\r\n }\r\n })\r\n\r\n\r\n if(isHaveAll){\r\n paymentList = [{value:0,content : \"全部\"}].concat(paymentList)\r\n }\r\n \r\n return paymentList\r\n \r\n \r\n }\r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n\r\n\r\n\r\nclass selectData {\r\n value: any;\r\n content: string;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject,Observable } from 'rxjs';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SubscriptService {\r\n\r\n //大權限商店 發生選擇變化\r\n AuthChangeSubject = new Subject();\r\n AuthChange$ = this.AuthChangeSubject.asObservable();\r\n\r\n\r\n //大權限商店 發生更新變化\r\n AuthUpdataSubject = new Subject();\r\n AuthUpdata$ = this.AuthUpdataSubject.asObservable();\r\n\r\n\r\n\r\n constructor() {\r\n console.log('hs 建立')\r\n }\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n}\r\n","\r\n\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NbMenuItem } from '@nebular/theme';\r\n\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { NbIconLibraries } from '@nebular/theme';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MyMenuService {\r\n private link=MENU_LINK; \r\n menu : NbMenuItem[] = [] //NbMenuItem[]\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private cookieService: CookieService,\r\n private _router: Router,\r\n private nbIconLibraries:NbIconLibraries\r\n ) {\r\n\r\n //R: Icon設定\r\n //this.nbIconLibraries.registerFontPack('包名稱', { packClass: '引用的css 字體名稱', iconClassPrefix: '要拿掉的css class前綴' });\r\n //使用時 一般class=\"icon-menu\" 這邊使用 icon: { icon: 'menu', pack: 'icomoon' },\r\n this.nbIconLibraries.registerFontPack('icomoon', { packClass: 'icomoon', iconClassPrefix: 'icon' });\r\n\r\n this.menu = [] \r\n }\r\n\r\n //取得菜單\r\n getMenu(){\r\n console.log('getMenuXD',this.menu)\r\n\r\n \r\n \r\n let USR_AccountInfo_ID = this.cookieService.get('USR_AccountInfo_ID');\r\n let USR_POSEmployeeInfo_ID = this.cookieService.get('USR_POSEmployeeInfo_ID')\r\n\r\n //如果沒有登入就跳轉\r\n if((!USR_AccountInfo_ID||USR_AccountInfo_ID==\"\")&&\r\n (!USR_POSEmployeeInfo_ID||USR_POSEmployeeInfo_ID==\"\"))\r\n {\r\n this._router.navigate(['/user/login']); //WEB首頁\r\n return null \r\n }\r\n\r\n let cookie_sid = this.cookieService.get('ORG_Store_ID')\r\n let sid = (cookie_sid && cookie_sid!='') ? parseInt(cookie_sid) : null \r\n this.http.post('api/Permissions/menu',\r\n {\r\n USR_AccountInfo_ID: this.cookieService.get('USR_AccountInfo_ID') ,\r\n USR_EmployeeInfo_ID: this.cookieService.get('USR_EmployeeInfo_ID'),\r\n USR_POSEmployeeInfo_ID:this.cookieService.get('USR_POSEmployeeInfo_ID'),\r\n ORG_Company_ID:parseInt(this.cookieService.get('ORG_Company_ID')),\r\n ORG_Store_ID: sid == 0 ? null : sid,\r\n }\r\n ).subscribe({\r\n next: data => {\r\n this.menu.splice(0,this.menu.length)\r\n if(this.menu.length>0) return\r\n\r\n let canLink = []\r\n\r\n if( data.list.length == 0){\r\n return null\r\n }\r\n\r\n //menu顯示\r\n data.list.forEach(element => {\r\n //1層menu\r\n var menuItem: NbMenuItem = new NbMenuItem();\r\n menuItem.title = element.ModuleName;\r\n menuItem.data = element.ModuleCode;\r\n menuItem.icon = { icon: element.Path, pack: 'icomoon' },\r\n menuItem.children = [];\r\n\r\n let cid = this.cookieService.get('ORG_Company_ID')\r\n let stag = sid ? 's'+sid : 'c'+cid\r\n\r\n //2層1層menu\r\n element.Child.forEach(childItem => {\r\n var childMenu: NbMenuItem = new NbMenuItem();\r\n childMenu.title = childItem.FunctioningName;\r\n childMenu.data = childItem.FunctioningCode;\r\n childMenu.icon = { icon: childItem.Path, pack: 'icomoon' }\r\n childMenu.link=this.link[childMenu.data];\r\n // childMenu.link=this.link[childMenu.data]+'/'+stag;\r\n \r\n menuItem.children.push(childMenu);\r\n\r\n canLink.push(childMenu.link)\r\n }); \r\n this.menu.push(menuItem)\r\n });\r\n\r\n let all = new Array();\r\n for(let x in MENU_LINK) all[all.length]=x;\r\n\r\n //大權限切換門市時 如果當前處於沒有權限的頁面 要跳轉\r\n if(canLink.findIndex(x=>x== this._router.url) == -1 && \r\n canLink.findIndex(x=>x== all) > -1) {\r\n //預設進入\r\n this._router.navigate(['/Home']);\r\n }\r\n \r\n\r\n // 隱藏版\r\n // Dev.forEach(x=>{\r\n // this.menu.push(x)\r\n // })\r\n\r\n },\r\n error: error => {\r\n }\r\n })\r\n \r\n\r\n \r\n }\r\n\r\n //登出\r\n logout() {\r\n this.cookieService.delete('USR_AccountInfo_ID','/');\r\n this.cookieService.delete('USR_EmployeeInfo_ID','/');\r\n this.cookieService.delete('NickName','/');\r\n this.cookieService.delete('PhotoURL','/');\r\n this.cookieService.delete('ORG_Company_ID','/');\r\n this.cookieService.delete('ORG_Store_ID','/');\r\n this.cookieService.delete('CompanyName','/');\r\n this.cookieService.delete('USR_POSEmployeeInfo_ID','/');\r\n\r\n this._router.navigate(['/user/login']); //登入畫面\r\n }\r\n \r\n\r\n\r\n\r\n\r\n}\r\n\r\n//menuAPI對應路由\r\nexport const MENU_LINK = {\r\n 'POSPermissionManage': '/Auth/EmplyeeGroup',//POS權限設定管理\r\n 'ContractManage': '/Auth/ContractManage',//POS權限設定管理\r\n \r\n 'PermissionGroupManage':'/permissiongroup/list',//權限群組帳號管理\r\n\r\n \r\n 'UsingPOSMenu':'/Product/UsingPosMenu' ,//'商品設定\r\n 'ProductSetting':'/Product/Setting', //商品設定\r\n 'MenuSetting':'/Product/Menu', //菜單設定\r\n 'SaleCloseSetting':'/Product/SaleClose', //停售設定\r\n \r\n //PayFlow\r\n 'DiscountSetting':'/PosOrder/Discount', //優惠設定\r\n 'PaymentManage': '/PosOrder/Payment',//多元支付\r\n 'ServiceFeeManage': '/PosOrder/Servicecharge',//服務費管理\r\n 'CreditMachineManage':'/PosOrder/CreditMachineManage', //信用卡機設定\r\n 'InvoiceSetting':'/Store/InvoiceSetting', //電子發票設定\r\n 'WordTrackManage':'/Store/WordTrack', //字軌設定\r\n\r\n //SysSetting\r\n 'ButtonSetting':'/PosOrder/ButtonSetting', //按鈕設定設定\r\n 'ButtonPermissionManage':'/PosOrder/ButtonAuth', //按鈕設定設定\r\n 'ReasonSetting':'/PosOrder/ReasonSetting', //操作事由\r\n 'POSMachineManage': '/Store/PosMachine',//POS機設定\r\n 'CDSMachineManage': '/Store/CDSMachine',//CDS機設定 \r\n 'KioskMachineManage': '/Store/KioskMachine',//Kiosk設定\r\n 'PrintMachineManage': '/Store/BillMachine',//出單機設定 \r\n 'Platform':'/Store/Platform',//平台設定\r\n 'OPSetting':'/PosOrder/OPSetting', //操作設定\r\n\r\n //StoreSetting\r\n 'TableManage': '/PosOrder/TableSetting',//桌位管理\r\n 'Announcement': '/PosOrder/Announcement',//公告管理\r\n 'SpecialDateManage':'/Store/SpecialDate',//特殊營業時間\r\n 'ERPManage':'/Store/ERPSetting',//特殊營業時間\r\n 'EmailSetting': '/Store/EmailSetting',//公告管理\r\n \r\n \r\n //Report\r\n 'ORDInfoManage': '/Report/OrderReport',//訂單管理\r\n 'TodayBusinessReport':'/Report/TodayBusinessReport' ,//'今日報表\r\n 'BusinessReport':'/Report/BusinessReport' ,//'營業報表\r\n 'BusinessTimesReport':'/Report/BusinessTimesReport' , \r\n 'InvoiceReport':'/Report/InvoiceReport' ,//'發票開立紀錄\r\n 'InvoiceVoidReport':'/Report/InvoiceVoidReport' ,//'發票作廢紀錄\r\n 'TurnoverReport':'/Report/TurnoverReport' ,//'營收報表\r\n 'SquareAccountsReport':'/Report/SquareAccountsReport' ,//'小節與關帳紀錄\r\n 'InvoiceEmptyReport':'/Report/InvoiceEmptyReport' ,//'空白字軌紀錄\r\n 'ProductAnalyzeReport':'/Report/ProductAnalyzeReport' ,//'商品分析報表\r\n 'AttchAnalyzeReport':'/Report/AttchAnalyzeReport' ,//'附加品項分析報表\r\n 'OperateReport':'/Report/OperationReport' ,//'操作紀錄\r\n 'StaffClockinReport':'/Report/StaffClockinReport' ,//'員工打卡紀錄\r\n 'ClientAnalyzeReport':'/Report/ClientAnalyzeReport' ,//'來客分析報表\r\n 'DiscountAnalyzeReport':'/Report/DiscountAnalyzeReport' ,//'折扣分析報表\r\n 'CashBoxReport':'/Report/CashBoxReport' , // 錢櫃記錄報表\r\n \r\n 'ORDOnlineCampaign': '/order/activity',//點餐活動設定 \r\n \r\n 'StoreSettingManage': '/order/store-setting',//門市設定管理\r\n \r\n //EOS\r\n 'EOSProductManage': '/EOS/Setting',//商品管理\r\n 'EOSInfoManage': '/EOS/OrderReport',//訂單管理\r\n 'EOSPermissionManage': '/EOS/EmplyeeGroup',//權限設定管理\r\n\r\n //'key2': 'value2',//商品管理tree\r\n //'key2': 'value2',//折扣碼活動設定\r\n //'key2': 'value2',//門市印花報表管理 \r\n // 'basic-info': '/basic-info/list',//權限群組帳號管理\r\n // 'TableManage': '/Permissions/mylist',//權限管理\r\n};\r\n\r\n//額外\r\nexport const Dev: NbMenuItem[] = [\r\n {\r\n title: '開發中',\r\n icon: 'menu-2-outline',\r\n children: [ \r\n {\r\n title: '營業時段報表',\r\n icon: 'shopping-cart-outline',\r\n link: '/Report/BusinessTimesReport',\r\n home: true,\r\n },\r\n {\r\n title: '信用卡機設定',\r\n icon: 'shopping-cart-outline',\r\n link: '/Store/CreditMachine',\r\n home: true,\r\n },\r\n ]\r\n\r\n }\r\n]\r\n\r\n\r\nexport const EXP: NbMenuItem[] = [\r\n \r\n {\r\n title: '範例',\r\n icon: 'menu-2-outline',\r\n children: [\r\n {\r\n title: 'E-commerce',\r\n icon: 'shopping-cart-outline',\r\n link: '/pages/dashboard',\r\n home: true,\r\n },\r\n {\r\n title: 'IoT Dashboard',\r\n icon: 'home-outline',\r\n link: '/pages/iot-dashboard',\r\n },\r\n {\r\n title: 'FEATURES',\r\n group: true,\r\n },\r\n {\r\n title: 'Layout',\r\n icon: 'layout-outline',\r\n children: [\r\n {\r\n title: 'Stepper',\r\n link: '/pages/layout/stepper',\r\n },\r\n {\r\n title: 'List',\r\n link: '/pages/layout/list',\r\n },\r\n {\r\n title: 'Infinite List',\r\n link: '/pages/layout/infinite-list',\r\n },\r\n {\r\n title: 'Accordion',\r\n link: '/pages/layout/accordion',\r\n },\r\n {\r\n title: 'Tabs',\r\n pathMatch: 'prefix',\r\n link: '/pages/layout/tabs',\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Forms',\r\n icon: 'edit-2-outline',\r\n children: [\r\n {\r\n title: 'Form Inputs',\r\n link: '/pages/forms/inputs',\r\n },\r\n {\r\n title: 'Form Layouts',\r\n link: '/pages/forms/layouts',\r\n },\r\n {\r\n title: 'Buttons',\r\n link: '/pages/forms/buttons',\r\n },\r\n {\r\n title: 'Datepicker',\r\n link: '/pages/forms/datepicker',\r\n },\r\n ],\r\n },\r\n {\r\n title: 'UI Features',\r\n icon: 'keypad-outline',\r\n link: '/pages/ui-features',\r\n children: [\r\n {\r\n title: 'Grid',\r\n link: '/pages/ui-features/grid',\r\n },\r\n {\r\n title: 'Icons',\r\n link: '/pages/ui-features/icons',\r\n },\r\n {\r\n title: 'Typography',\r\n link: '/pages/ui-features/typography',\r\n },\r\n {\r\n title: 'Animated Searches',\r\n link: '/pages/ui-features/search-fields',\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Modal & Overlays',\r\n icon: 'browser-outline',\r\n children: [\r\n {\r\n title: 'Dialog',\r\n link: '/pages/modal-overlays/dialog',\r\n },\r\n {\r\n title: 'Window',\r\n link: '/pages/modal-overlays/window',\r\n },\r\n {\r\n title: 'Popover',\r\n link: '/pages/modal-overlays/popover',\r\n },\r\n {\r\n title: 'Toastr',\r\n link: '/pages/modal-overlays/toastr',\r\n },\r\n {\r\n title: 'Tooltip',\r\n link: '/pages/modal-overlays/tooltip',\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Extra Components',\r\n icon: 'message-circle-outline',\r\n children: [\r\n {\r\n title: 'Calendar',\r\n link: '/pages/extra-components/calendar',\r\n },\r\n {\r\n title: 'Progress Bar',\r\n link: '/pages/extra-components/progress-bar',\r\n },\r\n {\r\n title: 'Spinner',\r\n link: '/pages/extra-components/spinner',\r\n },\r\n {\r\n title: 'Alert',\r\n link: '/pages/extra-components/alert',\r\n },\r\n {\r\n title: 'Calendar Kit',\r\n link: '/pages/extra-components/calendar-kit',\r\n },\r\n {\r\n title: 'Chat',\r\n link: '/pages/extra-components/chat',\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Maps',\r\n icon: 'map-outline',\r\n children: [\r\n {\r\n title: 'Google Maps',\r\n link: '/pages/maps/gmaps',\r\n },\r\n {\r\n title: 'Leaflet Maps',\r\n link: '/pages/maps/leaflet',\r\n },\r\n {\r\n title: 'Bubble Maps',\r\n link: '/pages/maps/bubble',\r\n },\r\n {\r\n title: 'Search Maps',\r\n link: '/pages/maps/searchmap',\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Charts',\r\n icon: 'pie-chart-outline',\r\n children: [\r\n {\r\n title: 'Echarts',\r\n link: '/pages/charts/echarts',\r\n },\r\n {\r\n title: 'Charts.js',\r\n link: '/pages/charts/chartjs',\r\n },\r\n {\r\n title: 'D3',\r\n link: '/pages/charts/d3',\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Editors',\r\n icon: 'text-outline',\r\n children: [\r\n {\r\n title: 'TinyMCE',\r\n link: '/pages/editors/tinymce',\r\n },\r\n {\r\n title: 'CKEditor',\r\n link: '/pages/editors/ckeditor',\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Tables & Data',\r\n icon: 'grid-outline',\r\n children: [\r\n {\r\n title: 'Smart Table',\r\n link: '/pages/tables/smart-table',\r\n },\r\n {\r\n title: 'Tree Grid',\r\n link: '/pages/tables/tree-grid',\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Miscellaneous',\r\n icon: 'shuffle-2-outline',\r\n children: [\r\n {\r\n title: '404',\r\n link: '/pages/miscellaneous/404',\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Auth',\r\n icon: 'lock-outline',\r\n children: [\r\n {\r\n title: 'Login',\r\n link: '/auth/login',\r\n },\r\n {\r\n title: 'Register',\r\n link: '/auth/register',\r\n },\r\n {\r\n title: 'Request Password',\r\n link: '/auth/request-password',\r\n },\r\n {\r\n title: 'Reset Password',\r\n link: '/auth/reset-password',\r\n },\r\n ],\r\n }, \r\n {\r\n title: 'Example',\r\n icon: '',\r\n children: [\r\n /* {\r\n title: 'edit',\r\n link: '/example/edit',\r\n }, */\r\n {\r\n title: 'list',\r\n link: '/example/list',\r\n }\r\n ],\r\n },\r\n ],\r\n }, \r\n];\r\n","// angular基本\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n// 自訂組件\r\nimport { TranfPipe } from './pipe/tranf.pipe';\r\nimport { IsInvaildPipe } from './pipe/is-invaild.pipe';\r\nimport { IsExistPipe } from './pipe/is-exist.pipe';\r\nimport { KeywordPipe } from './pipe/keyword.pipe';\r\nimport { InputFormatDirective } from './directive/input-email.directive';\r\nimport { CalendarComponent } from './component/calendar/calendar.component';\r\nimport { SelectProductComponent } from './component/select-product/select-product.component';\r\nimport { EditAttachComponent } from './component/edit-attach/edit-attach.component';\r\nimport { SelectStoreComponent } from './component/select-store/select-store.component';\r\nimport { EditProductComponent } from './component/edit-product/edit-product.component';\r\nimport { EditEOSProductComponent } from './component/edit-EOS-product/edit-EOS-product.component';\r\nimport { EditAttachgroupComponent } from './component/edit-attachgroup/edit-attachgroup.component';\r\nimport { SelectattachgroupComponent } from './component/select-attachgroup/select-attachgroup.component';\r\nimport { SelectAttachComponent } from './component/select-attach/select-attach.component';\r\nimport { SelectSalesOutletComponent } from './component/select-salesOutlet/select-salesOutlet.component';\r\nimport { SelectStoreSaleCashComponent } from './component/select-storeSaleCash/select-storeSaleCash.component';\r\nimport { ShowDataComponent } from './component/show-data/show-data.component';\r\nimport { SelectMemberTypeComponent } from './component/select-memberType/select-memberType.component';\r\nimport { EditAnnouncementComponent } from './component/edit-announcement/edit-announcement.component';\r\nimport { SelectAttachPrintComponent } from './component/select-attach-print/select-attach-print.component';\r\nimport { SelectStoresComponent } from './component/select-stores/select-stores.component';\r\nimport { ReportReconciliationComponent } from './component/report-reconciliation/report-reconciliation.component';\r\nimport { SelectBillmachineMoudleComponent } from './component/select-billmachine-moudle/select-billmachine-moudle.component'\r\n\r\nimport { MyPieComponent } from './chart/my-pie.component';\r\nimport { MyLineComponent } from './chart/my-line.component';\r\nimport { MyPointComponent } from './chart/my-point.component';\r\n\r\n\r\n\r\n// 框架的畫面組件\r\nimport { ThemeModule } from '../@theme/theme.module';\r\nimport {\r\n NbCardModule,\r\n NbIconModule,\r\n NbButtonModule,\r\n NbCheckboxModule,\r\n NbInputModule,\r\n NbRadioModule,\r\n NbSelectModule,\r\n NbToggleModule,\r\n NbTreeGridModule,\r\n NbTimepickerModule,\r\n NbDatepickerModule,\r\n NbAutocompleteModule,\r\n NbMenuModule,\r\n NbSpinnerModule,\r\n\r\n} from '@nebular/theme';\r\nimport { NgxDropzoneModule } from 'ngx-dropzone';\r\nimport { NgxEchartsModule } from 'ngx-echarts';\r\nimport { SelectAttachMoudleComponent } from './component/select-attach-moudle/select-attach-moudle.component';\r\nimport { SelectPermissionsgroupComponent } from './component/select-permissionsgroup/select-permissionsgroup.component';\r\nimport { InfoOrdComponent } from './component/info-ord/info-ord.component';\r\nimport { AutoSelectComponent } from './object/auto-select/auto-select.component';\r\nimport { MyBarComponent } from './chart/my-bar.component';\r\nimport { InfoEOSOrdComponent } from './component/info-EOS-ord/info-EOS-ord.component';\r\nimport { InfoEOSDetailComponent } from './component/info-EOS-detail/info-EOS-detail.component';\r\nimport { StatusUpdateModalComponent } from './component/status-update-modal/status-update-modal.component';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n NgxDropzoneModule,\r\n FormsModule, //用於對表單元素做雙向係結\r\n ReactiveFormsModule, //對表單元素驗證用\r\n CommonModule,\r\n ThemeModule,\r\n NbSpinnerModule,\r\n\r\n NbMenuModule,\r\n NbCardModule,\r\n NbIconModule,\r\n NbButtonModule,\r\n NbCheckboxModule,\r\n NbInputModule,\r\n NbRadioModule,\r\n NbSelectModule,\r\n NbToggleModule,\r\n NbTreeGridModule,\r\n NbTimepickerModule,\r\n NbDatepickerModule,\r\n NbAutocompleteModule,\r\n NgxEchartsModule],\r\n declarations: [\r\n TranfPipe,\r\n IsInvaildPipe,\r\n IsExistPipe,\r\n KeywordPipe,\r\n InputFormatDirective,\r\n CalendarComponent,\r\n SelectProductComponent,\r\n EditAttachComponent,\r\n SelectStoreComponent,\r\n EditProductComponent,\r\n EditEOSProductComponent,\r\n EditAttachgroupComponent,\r\n SelectattachgroupComponent,\r\n SelectAttachComponent,\r\n SelectSalesOutletComponent,\r\n SelectStoreSaleCashComponent,\r\n MyPieComponent,\r\n MyLineComponent,\r\n MyPointComponent,\r\n SelectAttachMoudleComponent,\r\n SelectPermissionsgroupComponent,\r\n InfoOrdComponent,\r\n AutoSelectComponent,\r\n MyBarComponent,\r\n InfoEOSOrdComponent,\r\n InfoEOSDetailComponent,\r\n StatusUpdateModalComponent,\r\n ShowDataComponent,\r\n SelectMemberTypeComponent,\r\n EditAnnouncementComponent,\r\n SelectAttachPrintComponent,\r\n SelectStoresComponent,\r\n ReportReconciliationComponent,\r\n SelectBillmachineMoudleComponent\r\n ],\r\n exports: [\r\n TranfPipe,\r\n IsInvaildPipe,\r\n IsExistPipe,\r\n KeywordPipe,\r\n InputFormatDirective,\r\n CalendarComponent,\r\n SelectProductComponent,\r\n EditAttachComponent,\r\n SelectStoreComponent,\r\n EditProductComponent,\r\n EditEOSProductComponent,\r\n EditAttachgroupComponent,\r\n SelectattachgroupComponent,\r\n SelectAttachComponent,\r\n SelectAttachMoudleComponent,\r\n SelectPermissionsgroupComponent,\r\n MyPieComponent,\r\n MyLineComponent,\r\n MyPointComponent,\r\n MyBarComponent,\r\n InfoOrdComponent,\r\n AutoSelectComponent,\r\n InfoEOSOrdComponent,\r\n InfoEOSDetailComponent,\r\n StatusUpdateModalComponent,\r\n ShowDataComponent,\r\n SelectMemberTypeComponent,\r\n EditAnnouncementComponent,\r\n SelectAttachPrintComponent,\r\n SelectStoresComponent,\r\n ReportReconciliationComponent,\r\n SelectBillmachineMoudleComponent\r\n ],\r\n providers: [\r\n\r\n ]\r\n})\r\n\r\nexport class ToolModule {\r\n\r\n static forRoot() {\r\n return {\r\n ngModule: ToolModule,\r\n providers: [],\r\n };\r\n }\r\n} ","/**\r\n * @license\r\n * Copyright Akveo. All Rights Reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n */\r\n// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `.angular-cli.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n};\r\n","/**\r\n * @license\r\n * Copyright Akveo. All Rights Reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n */\r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"names":[],"sourceRoot":"webpack:///"}