{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./TypeScripts/API/EstimateApi.ts","webpack:///./TypeScripts/Shared/Bespoke.ts","webpack:///./TypeScripts/model/EstimateParam.ts","webpack:///./TypeScripts/model/EstimateParamEntry.ts"],"names":[],"mappings":"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","file":"Shared/Bespoke.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./TypeScripts/Shared/Bespoke.ts\");\n","/**\r\n * OppSites\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: V1\r\n * \r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport * as models from '../model/models';\r\n\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nexport class EstimateApi {\r\n protected basePath = '';\r\n public defaultHeaders : any = {};\r\n\r\n static $inject: string[] = ['$http', '$httpParamSerializer', 'basePath'];\r\n\r\n constructor(protected $http: ng.IHttpService, protected $httpParamSerializer?: (d: any) => any, basePath?: string) {\r\n if (basePath !== undefined) {\r\n this.basePath = basePath;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * @param arg \r\n */\r\n public estimateCalc (arg: models.EstimateParam, extraHttpRequestParams?: any ) : ng.IHttpPromise {\r\n const localVarPath = this.basePath + '/api/Estimate/Calc';\r\n\r\n let queryParameters: any = {};\r\n let headerParams: any = (Object).assign({}, this.defaultHeaders);\r\n // verify required parameter 'arg' is not null or undefined\r\n if (arg === null || arg === undefined) {\r\n throw new Error('Required parameter arg was null or undefined when calling estimateCalc.');\r\n }\r\n\r\n let httpRequestParams: ng.IRequestConfig = {\r\n method: 'POST',\r\n url: localVarPath,\r\n data: arg,\r\n params: queryParameters,\r\n headers: headerParams\r\n };\r\n\r\n if (extraHttpRequestParams) {\r\n httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams);\r\n }\r\n\r\n return this.$http(httpRequestParams);\r\n }\r\n /**\r\n * \r\n * @param cover \r\n * @param thick \r\n * @param height \r\n * @param width \r\n * @param quant \r\n * @param materialType \r\n */\r\n public estimateCalcOpp (cover: number, thick: number, height: number, width: number, quant: number, materialType?: string, extraHttpRequestParams?: any ) : ng.IHttpPromise {\r\n const localVarPath = this.basePath + '/api/Estimate/CalcOpp';\r\n\r\n let queryParameters: any = {};\r\n let headerParams: any = (Object).assign({}, this.defaultHeaders);\r\n // verify required parameter 'cover' is not null or undefined\r\n if (cover === null || cover === undefined) {\r\n throw new Error('Required parameter cover was null or undefined when calling estimateCalcOpp.');\r\n }\r\n\r\n // verify required parameter 'thick' is not null or undefined\r\n if (thick === null || thick === undefined) {\r\n throw new Error('Required parameter thick was null or undefined when calling estimateCalcOpp.');\r\n }\r\n\r\n // verify required parameter 'height' is not null or undefined\r\n if (height === null || height === undefined) {\r\n throw new Error('Required parameter height was null or undefined when calling estimateCalcOpp.');\r\n }\r\n\r\n // verify required parameter 'width' is not null or undefined\r\n if (width === null || width === undefined) {\r\n throw new Error('Required parameter width was null or undefined when calling estimateCalcOpp.');\r\n }\r\n\r\n // verify required parameter 'quant' is not null or undefined\r\n if (quant === null || quant === undefined) {\r\n throw new Error('Required parameter quant was null or undefined when calling estimateCalcOpp.');\r\n }\r\n\r\n if (cover !== undefined) {\r\n queryParameters['cover'] = cover;\r\n }\r\n\r\n if (thick !== undefined) {\r\n queryParameters['thick'] = thick;\r\n }\r\n\r\n if (height !== undefined) {\r\n queryParameters['height'] = height;\r\n }\r\n\r\n if (width !== undefined) {\r\n queryParameters['width'] = width;\r\n }\r\n\r\n if (quant !== undefined) {\r\n queryParameters['quant'] = quant;\r\n }\r\n\r\n if (materialType !== undefined) {\r\n queryParameters['materialType'] = materialType;\r\n }\r\n\r\n let httpRequestParams: ng.IRequestConfig = {\r\n method: 'GET',\r\n url: localVarPath,\r\n params: queryParameters,\r\n headers: headerParams\r\n };\r\n\r\n if (extraHttpRequestParams) {\r\n httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams);\r\n }\r\n\r\n return this.$http(httpRequestParams);\r\n }\r\n /**\r\n * \r\n * @param header \r\n * @param cover \r\n * @param thick \r\n * @param height \r\n * @param width \r\n * @param quant \r\n * @param headerType \r\n * @param materialType \r\n */\r\n public estimateCalcOppHeader (header: number, cover: number, thick: number, height: number, width: number, quant: number, headerType: string, materialType?: string, extraHttpRequestParams?: any ) : ng.IHttpPromise {\r\n const localVarPath = this.basePath + '/api/Estimate/CalcOppHeader';\r\n\r\n let queryParameters: any = {};\r\n let headerParams: any = (Object).assign({}, this.defaultHeaders);\r\n // verify required parameter 'header' is not null or undefined\r\n if (header === null || header === undefined) {\r\n throw new Error('Required parameter header was null or undefined when calling estimateCalcOppHeader.');\r\n }\r\n\r\n // verify required parameter 'cover' is not null or undefined\r\n if (cover === null || cover === undefined) {\r\n throw new Error('Required parameter cover was null or undefined when calling estimateCalcOppHeader.');\r\n }\r\n\r\n // verify required parameter 'thick' is not null or undefined\r\n if (thick === null || thick === undefined) {\r\n throw new Error('Required parameter thick was null or undefined when calling estimateCalcOppHeader.');\r\n }\r\n\r\n // verify required parameter 'height' is not null or undefined\r\n if (height === null || height === undefined) {\r\n throw new Error('Required parameter height was null or undefined when calling estimateCalcOppHeader.');\r\n }\r\n\r\n // verify required parameter 'width' is not null or undefined\r\n if (width === null || width === undefined) {\r\n throw new Error('Required parameter width was null or undefined when calling estimateCalcOppHeader.');\r\n }\r\n\r\n // verify required parameter 'quant' is not null or undefined\r\n if (quant === null || quant === undefined) {\r\n throw new Error('Required parameter quant was null or undefined when calling estimateCalcOppHeader.');\r\n }\r\n\r\n // verify required parameter 'headerType' is not null or undefined\r\n if (headerType === null || headerType === undefined) {\r\n throw new Error('Required parameter headerType was null or undefined when calling estimateCalcOppHeader.');\r\n }\r\n\r\n if (header !== undefined) {\r\n queryParameters['header'] = header;\r\n }\r\n\r\n if (cover !== undefined) {\r\n queryParameters['cover'] = cover;\r\n }\r\n\r\n if (thick !== undefined) {\r\n queryParameters['thick'] = thick;\r\n }\r\n\r\n if (height !== undefined) {\r\n queryParameters['height'] = height;\r\n }\r\n\r\n if (width !== undefined) {\r\n queryParameters['width'] = width;\r\n }\r\n\r\n if (quant !== undefined) {\r\n queryParameters['quant'] = quant;\r\n }\r\n\r\n if (headerType !== undefined) {\r\n queryParameters['header_type'] = headerType;\r\n }\r\n\r\n if (materialType !== undefined) {\r\n queryParameters['materialType'] = materialType;\r\n }\r\n\r\n let httpRequestParams: ng.IRequestConfig = {\r\n method: 'GET',\r\n url: localVarPath,\r\n params: queryParameters,\r\n headers: headerParams\r\n };\r\n\r\n if (extraHttpRequestParams) {\r\n httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams);\r\n }\r\n\r\n return this.$http(httpRequestParams);\r\n }\r\n /**\r\n * \r\n * @param header \r\n * @param cover \r\n * @param thick \r\n * @param height \r\n * @param width \r\n * @param quant \r\n * @param headerType \r\n * @param color \r\n * @param materialType \r\n * @param isRepeat \r\n */\r\n public estimateCalcOppHeaderPrint (header: number, cover: number, thick: number, height: number, width: number, quant: number, headerType: string, color: number, materialType?: string, isRepeat?: boolean, extraHttpRequestParams?: any ) : ng.IHttpPromise {\r\n const localVarPath = this.basePath + '/api/Estimate/CalcOppHeaderPrint';\r\n\r\n let queryParameters: any = {};\r\n let headerParams: any = (Object).assign({}, this.defaultHeaders);\r\n // verify required parameter 'header' is not null or undefined\r\n if (header === null || header === undefined) {\r\n throw new Error('Required parameter header was null or undefined when calling estimateCalcOppHeaderPrint.');\r\n }\r\n\r\n // verify required parameter 'cover' is not null or undefined\r\n if (cover === null || cover === undefined) {\r\n throw new Error('Required parameter cover was null or undefined when calling estimateCalcOppHeaderPrint.');\r\n }\r\n\r\n // verify required parameter 'thick' is not null or undefined\r\n if (thick === null || thick === undefined) {\r\n throw new Error('Required parameter thick was null or undefined when calling estimateCalcOppHeaderPrint.');\r\n }\r\n\r\n // verify required parameter 'height' is not null or undefined\r\n if (height === null || height === undefined) {\r\n throw new Error('Required parameter height was null or undefined when calling estimateCalcOppHeaderPrint.');\r\n }\r\n\r\n // verify required parameter 'width' is not null or undefined\r\n if (width === null || width === undefined) {\r\n throw new Error('Required parameter width was null or undefined when calling estimateCalcOppHeaderPrint.');\r\n }\r\n\r\n // verify required parameter 'quant' is not null or undefined\r\n if (quant === null || quant === undefined) {\r\n throw new Error('Required parameter quant was null or undefined when calling estimateCalcOppHeaderPrint.');\r\n }\r\n\r\n // verify required parameter 'headerType' is not null or undefined\r\n if (headerType === null || headerType === undefined) {\r\n throw new Error('Required parameter headerType was null or undefined when calling estimateCalcOppHeaderPrint.');\r\n }\r\n\r\n // verify required parameter 'color' is not null or undefined\r\n if (color === null || color === undefined) {\r\n throw new Error('Required parameter color was null or undefined when calling estimateCalcOppHeaderPrint.');\r\n }\r\n\r\n if (header !== undefined) {\r\n queryParameters['header'] = header;\r\n }\r\n\r\n if (cover !== undefined) {\r\n queryParameters['cover'] = cover;\r\n }\r\n\r\n if (thick !== undefined) {\r\n queryParameters['thick'] = thick;\r\n }\r\n\r\n if (height !== undefined) {\r\n queryParameters['height'] = height;\r\n }\r\n\r\n if (width !== undefined) {\r\n queryParameters['width'] = width;\r\n }\r\n\r\n if (quant !== undefined) {\r\n queryParameters['quant'] = quant;\r\n }\r\n\r\n if (headerType !== undefined) {\r\n queryParameters['header_type'] = headerType;\r\n }\r\n\r\n if (color !== undefined) {\r\n queryParameters['color'] = color;\r\n }\r\n\r\n if (materialType !== undefined) {\r\n queryParameters['materialType'] = materialType;\r\n }\r\n\r\n if (isRepeat !== undefined) {\r\n queryParameters['isRepeat'] = isRepeat;\r\n }\r\n\r\n let httpRequestParams: ng.IRequestConfig = {\r\n method: 'GET',\r\n url: localVarPath,\r\n params: queryParameters,\r\n headers: headerParams\r\n };\r\n\r\n if (extraHttpRequestParams) {\r\n httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams);\r\n }\r\n\r\n return this.$http(httpRequestParams);\r\n }\r\n /**\r\n * \r\n * @param cover \r\n * @param thick \r\n * @param height \r\n * @param width \r\n * @param quant \r\n * @param color \r\n * @param materialType \r\n * @param isRepeat \r\n */\r\n public estimateCalcOppPrint (cover: number, thick: number, height: number, width: number, quant: number, color: number, materialType?: string, isRepeat?: boolean, extraHttpRequestParams?: any ) : ng.IHttpPromise {\r\n const localVarPath = this.basePath + '/api/Estimate/CalcOppPrint';\r\n\r\n let queryParameters: any = {};\r\n let headerParams: any = (Object).assign({}, this.defaultHeaders);\r\n // verify required parameter 'cover' is not null or undefined\r\n if (cover === null || cover === undefined) {\r\n throw new Error('Required parameter cover was null or undefined when calling estimateCalcOppPrint.');\r\n }\r\n\r\n // verify required parameter 'thick' is not null or undefined\r\n if (thick === null || thick === undefined) {\r\n throw new Error('Required parameter thick was null or undefined when calling estimateCalcOppPrint.');\r\n }\r\n\r\n // verify required parameter 'height' is not null or undefined\r\n if (height === null || height === undefined) {\r\n throw new Error('Required parameter height was null or undefined when calling estimateCalcOppPrint.');\r\n }\r\n\r\n // verify required parameter 'width' is not null or undefined\r\n if (width === null || width === undefined) {\r\n throw new Error('Required parameter width was null or undefined when calling estimateCalcOppPrint.');\r\n }\r\n\r\n // verify required parameter 'quant' is not null or undefined\r\n if (quant === null || quant === undefined) {\r\n throw new Error('Required parameter quant was null or undefined when calling estimateCalcOppPrint.');\r\n }\r\n\r\n // verify required parameter 'color' is not null or undefined\r\n if (color === null || color === undefined) {\r\n throw new Error('Required parameter color was null or undefined when calling estimateCalcOppPrint.');\r\n }\r\n\r\n if (cover !== undefined) {\r\n queryParameters['cover'] = cover;\r\n }\r\n\r\n if (thick !== undefined) {\r\n queryParameters['thick'] = thick;\r\n }\r\n\r\n if (height !== undefined) {\r\n queryParameters['height'] = height;\r\n }\r\n\r\n if (width !== undefined) {\r\n queryParameters['width'] = width;\r\n }\r\n\r\n if (quant !== undefined) {\r\n queryParameters['quant'] = quant;\r\n }\r\n\r\n if (color !== undefined) {\r\n queryParameters['color'] = color;\r\n }\r\n\r\n if (materialType !== undefined) {\r\n queryParameters['materialType'] = materialType;\r\n }\r\n\r\n if (isRepeat !== undefined) {\r\n queryParameters['isRepeat'] = isRepeat;\r\n }\r\n\r\n let httpRequestParams: ng.IRequestConfig = {\r\n method: 'GET',\r\n url: localVarPath,\r\n params: queryParameters,\r\n headers: headerParams\r\n };\r\n\r\n if (extraHttpRequestParams) {\r\n httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams);\r\n }\r\n\r\n return this.$http(httpRequestParams);\r\n }\r\n /**\r\n * \r\n * @param thick \r\n * @param height \r\n * @param width \r\n * @param quant \r\n */\r\n public estimateCalcOppSheet (thick: number, height: number, width: number, quant: number, extraHttpRequestParams?: any ) : ng.IHttpPromise {\r\n const localVarPath = this.basePath + '/api/Estimate/CalcOppSheet';\r\n\r\n let queryParameters: any = {};\r\n let headerParams: any = (Object).assign({}, this.defaultHeaders);\r\n // verify required parameter 'thick' is not null or undefined\r\n if (thick === null || thick === undefined) {\r\n throw new Error('Required parameter thick was null or undefined when calling estimateCalcOppSheet.');\r\n }\r\n\r\n // verify required parameter 'height' is not null or undefined\r\n if (height === null || height === undefined) {\r\n throw new Error('Required parameter height was null or undefined when calling estimateCalcOppSheet.');\r\n }\r\n\r\n // verify required parameter 'width' is not null or undefined\r\n if (width === null || width === undefined) {\r\n throw new Error('Required parameter width was null or undefined when calling estimateCalcOppSheet.');\r\n }\r\n\r\n // verify required parameter 'quant' is not null or undefined\r\n if (quant === null || quant === undefined) {\r\n throw new Error('Required parameter quant was null or undefined when calling estimateCalcOppSheet.');\r\n }\r\n\r\n if (thick !== undefined) {\r\n queryParameters['thick'] = thick;\r\n }\r\n\r\n if (height !== undefined) {\r\n queryParameters['height'] = height;\r\n }\r\n\r\n if (width !== undefined) {\r\n queryParameters['width'] = width;\r\n }\r\n\r\n if (quant !== undefined) {\r\n queryParameters['quant'] = quant;\r\n }\r\n\r\n let httpRequestParams: ng.IRequestConfig = {\r\n method: 'GET',\r\n url: localVarPath,\r\n params: queryParameters,\r\n headers: headerParams\r\n };\r\n\r\n if (extraHttpRequestParams) {\r\n httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams);\r\n }\r\n\r\n return this.$http(httpRequestParams);\r\n }\r\n /**\r\n * \r\n * @param arg \r\n */\r\n public estimateEcEntry (arg: models.EstimateParam, extraHttpRequestParams?: any ) : ng.IHttpPromise {\r\n const localVarPath = this.basePath + '/api/Estimate/EcEntry';\r\n\r\n let queryParameters: any = {};\r\n let headerParams: any = (Object).assign({}, this.defaultHeaders);\r\n // verify required parameter 'arg' is not null or undefined\r\n if (arg === null || arg === undefined) {\r\n throw new Error('Required parameter arg was null or undefined when calling estimateEcEntry.');\r\n }\r\n\r\n let httpRequestParams: ng.IRequestConfig = {\r\n method: 'POST',\r\n url: localVarPath,\r\n data: arg,\r\n params: queryParameters,\r\n headers: headerParams\r\n };\r\n\r\n if (extraHttpRequestParams) {\r\n httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams);\r\n }\r\n\r\n return this.$http(httpRequestParams);\r\n }\r\n /**\r\n * \r\n * @param estCode \r\n */\r\n public estimateFindByCode (estCode: string, extraHttpRequestParams?: any ) : ng.IHttpPromise {\r\n const localVarPath = this.basePath + '/api/Estimate/FindByCode';\r\n\r\n let queryParameters: any = {};\r\n let headerParams: any = (Object).assign({}, this.defaultHeaders);\r\n // verify required parameter 'estCode' is not null or undefined\r\n if (estCode === null || estCode === undefined) {\r\n throw new Error('Required parameter estCode was null or undefined when calling estimateFindByCode.');\r\n }\r\n\r\n if (estCode !== undefined) {\r\n queryParameters['estCode'] = estCode;\r\n }\r\n\r\n let httpRequestParams: ng.IRequestConfig = {\r\n method: 'GET',\r\n url: localVarPath,\r\n params: queryParameters,\r\n headers: headerParams\r\n };\r\n\r\n if (extraHttpRequestParams) {\r\n httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams);\r\n }\r\n\r\n return this.$http(httpRequestParams);\r\n }\r\n /**\r\n * \r\n * @param estId \r\n */\r\n public estimateFindById (estId: number, extraHttpRequestParams?: any ) : ng.IHttpPromise {\r\n const localVarPath = this.basePath + '/api/Estimate/FindById';\r\n\r\n let queryParameters: any = {};\r\n let headerParams: any = (Object).assign({}, this.defaultHeaders);\r\n // verify required parameter 'estId' is not null or undefined\r\n if (estId === null || estId === undefined) {\r\n throw new Error('Required parameter estId was null or undefined when calling estimateFindById.');\r\n }\r\n\r\n if (estId !== undefined) {\r\n queryParameters['estId'] = estId;\r\n }\r\n\r\n let httpRequestParams: ng.IRequestConfig = {\r\n method: 'GET',\r\n url: localVarPath,\r\n params: queryParameters,\r\n headers: headerParams\r\n };\r\n\r\n if (extraHttpRequestParams) {\r\n httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams);\r\n }\r\n\r\n return this.$http(httpRequestParams);\r\n }\r\n /**\r\n * \r\n * @param estCode \r\n */\r\n public estimateFindPByCode (estCode: string, extraHttpRequestParams?: any ) : ng.IHttpPromise {\r\n const localVarPath = this.basePath + '/api/Estimate/FindPByCode';\r\n\r\n let queryParameters: any = {};\r\n let headerParams: any = (Object).assign({}, this.defaultHeaders);\r\n // verify required parameter 'estCode' is not null or undefined\r\n if (estCode === null || estCode === undefined) {\r\n throw new Error('Required parameter estCode was null or undefined when calling estimateFindPByCode.');\r\n }\r\n\r\n if (estCode !== undefined) {\r\n queryParameters['estCode'] = estCode;\r\n }\r\n\r\n let httpRequestParams: ng.IRequestConfig = {\r\n method: 'GET',\r\n url: localVarPath,\r\n params: queryParameters,\r\n headers: headerParams\r\n };\r\n\r\n if (extraHttpRequestParams) {\r\n httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams);\r\n }\r\n\r\n return this.$http(httpRequestParams);\r\n }\r\n}\r\n","import { EstimateApi } from \"../API/EstimateApi\";\r\nimport { EstimateParam} from \"../model/EstimateParam\";\r\nimport { CalcResult} from \"../model/CalcResult\";\r\nimport { EstimateParamEntry } from \"../model/EstimateParamEntry\";\r\n\r\n\r\nnamespace BespokeApp {\r\n\r\n declare var siteInfoId: number;\r\n declare function introJs(): any;\r\n\r\n class MainCtrl {\r\n apiClient: EstimateApi;\r\n\r\n name: string;\r\n baseType: string;\r\n headtype: EstimateParam.HeaderTypeEnum;\r\n print: number;\r\n width: number;\r\n height: number;\r\n header: number;\r\n hasCover: number;\r\n hasHeader: number;\r\n tapePos: number;\r\n cover: number;\r\n color: number;\r\n quant: number;\r\n thics: number;\r\n calcPriceThrottle = _.throttle(this.calcPrice, 100);\r\n result: CalcResult;\r\n accept: boolean = false;\r\n showRule: boolean = false;\r\n entered: boolean;\r\n\r\n isRepeat: boolean;\r\n\r\n widthMax: number;\r\n heightMax: number;\r\n widthMin: number;\r\n heightMin: number;\r\n\r\n estCode: string;\r\n\r\n limitPrams: any = new Object;\r\n\r\n ecEntryError: boolean;\r\n isAirHole: boolean;\r\n\r\n tapeType: number = 0;\r\n\r\n dialog1: any;\r\n dialog2: any;\r\n loadMessages: any[] = new Array();\r\n\r\n fixFooter: boolean = true;\r\n\r\n constructor(private $scope: ng.IScope, private $http: ng.IHttpService, private $cookies: ng.cookies.ICookiesService) {\r\n //クッキーから初期値などの読み込み\r\n this.apiClient = new EstimateApi($http, null, \"https://api.workup-system.com/\");\r\n\r\n this.resetValues();\r\n this.load();\r\n this.applyQueryStringValues();\r\n\r\n\r\n this.sliderSyncSetup(\"header\", 20, 60, 5);\r\n this.sliderSyncSetup(\"color\", 1, 5);\r\n this.sliderSyncSetup(\"width\", 40, 590);\r\n this.sliderSyncSetup(\"height\", 80, 590);\r\n this.sliderSyncSetup(\"cover\", 20, 510);\r\n this.sliderSyncSetup(\"quant\", 1000, 50000, 1);\r\n\r\n this.watchSetup();\r\n\r\n var height = jQuery('#scroll_box').outerHeight();\r\n jQuery('#scroll_box').on('scroll', function () {\r\n if (this.scrollTop + height >= this.scrollHeight) {\r\n jQuery('#check2').removeClass('disabled');\r\n }\r\n });\r\n\r\n jQuery(() => {\r\n this.dialog1 = (jQuery(\"#dialog-form1\")).dialog({\r\n autoOpen: false,\r\n height: 400,\r\n width: 600,\r\n modal: true,\r\n buttons: {\r\n OK: () => {\r\n this.dialog1.dialog(\"close\");\r\n }\r\n },\r\n close: function () {\r\n }\r\n });\r\n this.dialog2 = (jQuery(\"#dialog-form2\")).dialog({\r\n autoOpen: false,\r\n height: 400,\r\n width: 600,\r\n modal: true,\r\n buttons: {\r\n OK: () => {\r\n this.dialog2.dialog(\"close\");\r\n }\r\n },\r\n close: function () {\r\n }\r\n });\r\n });\r\n\r\n this.accept = true;\r\n }\r\n\r\n applyQueryStringValues() {\r\n var qv = this.getUrlVars();\r\n\r\n if (qv[\"baseType\"] != null || qv[\"print\"] != null || qv[\"header\"] != null) {\r\n if (qv[\"baseType\"] == \"opp\") {\r\n this.baseType = \"OPP袋\";\r\n\r\n }\r\n if (qv[\"baseType\"] == \"cpp\") {\r\n this.baseType = \"CPP袋\";\r\n\r\n }\r\n if (qv[\"baseType\"] == \"sheet\") {\r\n this.baseType = \"シート\";\r\n }\r\n\r\n if (qv[\"print\"] == \"true\") {\r\n this.print = 1;\r\n }\r\n\r\n if (qv[\"print\"] == \"false\") {\r\n this.print = 0;\r\n }\r\n if (qv[\"header\"] == \"true\") {\r\n this.hasHeader = 1;\r\n }\r\n\r\n if (qv[\"header\"] == \"false\") {\r\n this.hasHeader = 0;\r\n }\r\n\r\n\r\n this.save();\r\n var url = window.location.href;\r\n var qidx = url.indexOf(\"?\");\r\n url = url.substring(0, qidx);\r\n window.location.href = url;\r\n }\r\n\r\n if (qv[\"srcId\"] != null) {\r\n this.apiClient\r\n .estimateFindById(qv[\"srcId\"])\r\n .then(cd => {\r\n var c = cd.data;\r\n this.header = c.header;\r\n this.cover = c.cover;\r\n this.hasCover = (c.cover != 0) ? 1 : 0;\r\n this.thics = c.thick;\r\n this.height = c.height;\r\n this.width = c.width;\r\n this.quant = c.quant;\r\n // this.headtype = c.HeaderType;\r\n this.color = c.color;\r\n this.tapePos = c.tapePos;\r\n this.isRepeat = c.isRepeat;\r\n\r\n //TODO;あとでなんとかする\r\n //this.isAirHole = c.is///\r\n\r\n this.limitCalc(\"cover\");\r\n this.limitMaxCalc(\"cover\");\r\n this.limitCalc(\"header\");\r\n this.limitMaxCalc(\"header\");\r\n\r\n if (c.headerType != null) {\r\n if (c.headerType == EstimateParamEntry.HeaderTypeEnum.透明ヘッダー) {\r\n this.headtype = EstimateParam.HeaderTypeEnum.透明ヘッダー;\r\n }\r\n else {\r\n this.headtype = EstimateParam.HeaderTypeEnum.白ヘッダー;\r\n }\r\n }\r\n else {\r\n this.headtype = null;\r\n }\r\n\r\n this.baseType = \"OPP袋\";\r\n switch (c.calcType) {\r\n case EstimateParamEntry.CalcTypeEnum.Opp袋:\r\n this.hasHeader = 0;\r\n this.print = 0;\r\n break;\r\n case EstimateParamEntry.CalcTypeEnum.Opp袋グラビア印刷:\r\n this.hasHeader = 0;\r\n this.print = 1;\r\n break;\r\n case EstimateParamEntry.CalcTypeEnum.ヘッダ付きOpp袋:\r\n this.hasHeader = 1;\r\n this.print = 0;\r\n break;\r\n case EstimateParamEntry.CalcTypeEnum.ヘッダ付きOpp袋グラビア印刷袋:\r\n this.hasHeader = 1;\r\n this.print = 1;\r\n break;\r\n case EstimateParamEntry.CalcTypeEnum.Oppシート:\r\n this.baseType = \"シート\";\r\n break;\r\n }\r\n\r\n if (this.baseType != \"シート\") {\r\n if (c.productMaterial == EstimateParamEntry.ProductMaterialEnum.OPP) {\r\n this.baseType = \"OPP袋\";\r\n }\r\n else {\r\n this.baseType = \"CPP袋\";\r\n }\r\n }\r\n\r\n this.isAirHole = c.isAirHole;\r\n if (this.isAirHole == null) {\r\n this.isAirHole = false;\r\n }\r\n window.scrollTo(0, 0);\r\n\r\n this.loadMessages.push({\r\n date: new Date(),\r\n type: \"成功\",\r\n message: \"見積書番号\" + this.estCode + \"を読み込みました\"\r\n });\r\n\r\n }, () => {\r\n this.loadMessages.push({\r\n date: new Date(),\r\n type: \"失敗\",\r\n message: \"番号読み込みに失敗しました.このページ作成された見積書番号ではない可能性があります\"\r\n });\r\n });\r\n }\r\n }\r\n\r\n\r\n ReadSetting() {\r\n if (this.estCode == null || this.estCode == \"\") {\r\n this.loadMessages.push({\r\n date: new Date(),\r\n type: \"失敗\",\r\n message: \"見積書番号が空欄です。\"\r\n });\r\n return;\r\n }\r\n\r\n\r\n this.apiClient\r\n .estimateFindByCode(this.estCode)\r\n .then(cd => {\r\n var c = cd.data;\r\n this.header = c.header;\r\n this.cover = c.cover;\r\n this.hasCover = (c.cover != 0) ? 1 : 0;\r\n this.thics = c.thick;\r\n this.height = c.height;\r\n this.width = c.width;\r\n this.quant = c.quant;\r\n // this.headtype = c.HeaderType;\r\n this.color = c.color;\r\n this.tapePos = c.tapePos;\r\n this.isRepeat = c.isRepeat;\r\n\r\n //TODO;あとでなんとかする\r\n //this.isAirHole = c.is///\r\n\r\n this.limitCalc(\"cover\");\r\n this.limitMaxCalc(\"cover\");\r\n this.limitCalc(\"header\");\r\n this.limitMaxCalc(\"header\");\r\n\r\n if (c.headerType != null) {\r\n this.headtype = c.headerType;\r\n }\r\n else {\r\n this.headtype = null;\r\n }\r\n\r\n this.baseType = \"OPP袋\";\r\n switch (c.calcType) {\r\n case EstimateParamEntry.CalcTypeEnum.Opp袋:\r\n this.hasHeader = 0;\r\n this.print = 0;\r\n break;\r\n case EstimateParamEntry.CalcTypeEnum.Opp袋グラビア印刷:\r\n this.hasHeader = 0;\r\n this.print = 1;\r\n break;\r\n case EstimateParamEntry.CalcTypeEnum.ヘッダ付きOpp袋:\r\n this.hasHeader = 1;\r\n this.print = 0;\r\n break;\r\n case EstimateParamEntry.CalcTypeEnum.ヘッダ付きOpp袋グラビア印刷袋:\r\n this.hasHeader = 1;\r\n this.print = 1;\r\n break;\r\n case EstimateParamEntry.CalcTypeEnum.Oppシート:\r\n this.baseType = \"シート\";\r\n break;\r\n }\r\n\r\n if (this.baseType != \"シート\") {\r\n if (c.productMaterial == EstimateParamEntry.ProductMaterialEnum.OPP) {\r\n this.baseType = \"OPP袋\";\r\n }\r\n else {\r\n this.baseType = \"CPP袋\";\r\n }\r\n }\r\n\r\n this.isAirHole = c.isAirHole;\r\n if (this.isAirHole == null) {\r\n this.isAirHole = false;\r\n }\r\n window.scrollTo(0, 0);\r\n\r\n this.loadMessages.push({\r\n date: new Date(),\r\n type: \"成功\",\r\n message: \"見積書番号\" + this.estCode + \"を読み込みました\"\r\n });\r\n\r\n }, () => {\r\n this.loadMessages.push({\r\n date: new Date(),\r\n type: \"失敗\",\r\n message: \"番号読み込みに失敗しました.このページ作成された見積書番号ではない可能性があります\"\r\n });\r\n });\r\n\r\n }\r\n\r\n intro() {\r\n introJs().start();\r\n }\r\n\r\n JumpToEstimate() {\r\n //var baseUrl = \"http://localhost:29426//Estimate/OrderEstimate/\"\r\n var baseUrl = \"https://www.workup-system.com/Estimate/OrderEstimate/\"\r\n\r\n\r\n\r\n var calcType = \"\";\r\n var header = 0;\r\n var cover = 0;\r\n var matType = \"OPP\";\r\n\r\n if (this.baseTypeDiv() == \"袋\") {\r\n var type = (this.hasHeader == 1) ? 1 : 0;\r\n type = type | ((this.print == 1) ? 2 : 0);\r\n cover = (this.hasCover == 1 || this.hasHeader == 1) ? this.cover : 0;\r\n switch (type) {\r\n case 0: //ヘッダなし、印刷なし\r\n calcType = \"Opp袋\";\r\n break;\r\n case 1: //ヘッダあり、印刷なし\r\n calcType = \"ヘッダ付きOpp袋\";\r\n header = this.header;\r\n\r\n break;\r\n case 2: //ヘッダなし、印刷あり\r\n calcType = \"Opp袋グラビア印刷\";\r\n\r\n break;\r\n case 3: //ヘッダあり、印刷あり\r\n calcType = \"ヘッダ付きOpp袋グラビア印刷袋\";\r\n header = this.header;\r\n break;\r\n }\r\n\r\n if (this.baseType == \"CPP袋\") {\r\n matType = \"CPP\";\r\n }\r\n\r\n if (this.hasHeader == 1 && this.headtype == null) {\r\n alert(\"ヘッダが選択されていない可能性があります。うまくいかない場合、お問い合わせをお願いします\")\r\n return;\r\n }\r\n\r\n }\r\n else {\r\n calcType = \"Oppシート\";\r\n //OPPシート\r\n }\r\n\r\n\r\n var query = \"?name=\" + encodeURIComponent(this.name) + \"&calcType=\" + encodeURIComponent(calcType) + \"&header=\" + header + \"&cover=\" + cover + \"&thick=\" + this.thics + \"&height=\" + this.height + \"&width=\" + this.width + \"&quant=\" + this.quant + \"&header_type=\" + encodeURIComponent(this.headtype) + \"&color=\" + this.color + \"&tapePos=\" + this.tapePos + \"&siteInfoId=\" + siteInfoId + \"&materialType=\" + matType + \"&isRepeat=\" + this.isRepeat + \"&isAirHole=\" + this.isAirHole;\r\n baseUrl = baseUrl + query;\r\n\r\n window.open(baseUrl, \"_blank\");\r\n\r\n }\r\n\r\n ToQueryString(idx: number, productName: string, unitPrice: number, num: number, unitName: string): string {\r\n var qentity = \"[\" + idx + \"].\";\r\n return qentity + \"productName=\" + encodeURIComponent(productName) + \"&\" + qentity + \"unitPrice=\" + unitPrice + \"&\" + qentity + \"num=\" + num + \"&\" + qentity + \"unitName=\" + encodeURIComponent(unitName);\r\n }\r\n\r\n getPart(up: string, idx: number) {\r\n if (up == null)\r\n return up;\r\n return up.replace(\"銭\", \"\").split(\"円\")[idx];\r\n }\r\n\r\n toggleFooter() {\r\n this.fixFooter = !this.fixFooter;\r\n\r\n if (this.fixFooter) {\r\n $(\"#price-container\").css(\"position\", \"fixed\");\r\n $(\".error-container\").css(\"position\", \"fixed\");\r\n $(\"#error-container\").css(\"position\", \"fixed\");\r\n $(\"#prices\").css(\"position\", \"fixed\");\r\n if (siteInfoId != 1) {\r\n $(\"#es-form\").css(\"width\", \"670px\");\r\n }\r\n }\r\n else {\r\n $(\"#price-container\").css(\"position\", \"relative\");\r\n $(\".error-container\").css(\"position\", \"relative\");\r\n $(\"#error-container\").css(\"position\", \"relative\");\r\n $(\"#prices\").css(\"position\", \"relative\");\r\n if (siteInfoId != 1) {\r\n // $(\"#es-form\").css(\"width\", \"980px\");\r\n }\r\n }\r\n }\r\n\r\n resetValues() {\r\n this.baseType = \"OPP袋\";\r\n this.headtype = EstimateParam.HeaderTypeEnum.白ヘッダー;\r\n this.print = 0;\r\n this.hasCover = 0;\r\n this.hasHeader = 0;\r\n this.tapePos = 0;\r\n this.width = 40;\r\n this.height = 80;\r\n this.header = 20;\r\n this.cover = 20;\r\n this.color = 1;\r\n this.quant = 1000;\r\n this.thics = 30;\r\n this.isRepeat = false;\r\n this.isAirHole = false;\r\n }\r\n\r\n baseTypeDiv() {\r\n if (this.baseType == \"OPP袋\" || this.baseType == \"CPP袋\")\r\n return \"袋\";\r\n return this.baseType;\r\n }\r\n\r\n watchSetup() {\r\n this.$scope.$watch(() => this.baseType, (nv, ov) => {\r\n\r\n var sldw = jQuery(\"#width_slider\");\r\n var sldh = jQuery(\"#height_slider\");\r\n var sldq = jQuery(\"#quant_slider\");\r\n\r\n if (this.baseTypeDiv() == \"袋\") {\r\n this.thics = Math.max(30, Number(this.thics));\r\n\r\n //if (this.baseType == \"OPP袋\") {\r\n // this.thics = Math.min(50, Number(this.thics));\r\n //}\r\n //else {\r\n // this.thics = Math.min(40, Number(this.thics));\r\n //}\r\n //this.thics = Math.min(40, Number(this.thics));\r\n\r\n this.widthMax = 590;\r\n this.widthMin = 40;\r\n this.heightMax = 590;\r\n this.heightMin = 80;\r\n this.limitPrams[\"width\"].max = 590;\r\n this.limitPrams[\"width\"].min = 40;\r\n this.limitPrams[\"height\"].max = 590;\r\n this.limitPrams[\"height\"].min = 80;\r\n\r\n if (this.width == 60) {\r\n this.width = 40;\r\n }\r\n\r\n sldq.slider(\"option\", \"step\", 1);\r\n this.limitPrams[\"quant\"].step = 1;\r\n }\r\n else {\r\n this.widthMax = 500;\r\n this.widthMin = 60;\r\n this.heightMax = 600;\r\n this.heightMin = 60;\r\n this.limitPrams[\"width\"].max = 500;\r\n this.limitPrams[\"width\"].min = 60;\r\n this.limitPrams[\"height\"].max = 600;\r\n this.limitPrams[\"height\"].min = 60;\r\n\r\n if (this.height == 80) {\r\n this.height = 60;\r\n }\r\n\r\n this.quant = Math.floor(this.quant / 1000) * 1000;\r\n sldq.slider(\"option\", \"step\", 1000);\r\n this.limitPrams[\"quant\"].step = 1000;\r\n }\r\n\r\n\r\n this.width = Math.max(this.width, this.widthMin);\r\n this.width = Math.min(this.width, this.widthMax);\r\n this.height = Math.max(this.height, this.heightMin);\r\n this.height = Math.min(this.height, this.heightMax);\r\n\r\n sldw.slider(\"option\", \"max\", this.widthMax);\r\n sldw.slider(\"option\", \"min\", this.widthMin);\r\n sldh.slider(\"option\", \"max\", this.heightMax);\r\n sldh.slider(\"option\", \"min\", this.heightMin);\r\n\r\n\r\n this.changeParam();\r\n }, false);\r\n this.$scope.$watch(() => this.thics, (nv, ov) => {\r\n this.changeParam();\r\n }, false);\r\n this.$scope.$watch(() => this.hasCover, (nv, ov) => {\r\n this.changeParam();\r\n }, false);\r\n this.$scope.$watch(() => this.headtype, (nv, ov) => {\r\n this.changeParam();\r\n }, false);\r\n this.$scope.$watch(() => this.print, (nv, ov) => {\r\n this.changeParam();\r\n }, false);\r\n this.$scope.$watch(() => this.hasHeader, (nv, ov) => {\r\n this.changeParam();\r\n }, false);\r\n\r\n this.$scope.$watch(() => this.isRepeat, (nv, ov) => {\r\n this.changeParam();\r\n }, false);\r\n\r\n this.$scope.$watch(() => this.isAirHole, (nv, ov) => {\r\n this.changeParam();\r\n }, false);\r\n }\r\n\r\n changeParam() {\r\n if (this.varidate()) {\r\n this.calcPriceThrottle();\r\n }\r\n }\r\n\r\n save() {\r\n var data = {\r\n baseType: this.baseType,\r\n headtype: this.headtype,\r\n print: this.print,\r\n width: this.width,\r\n height: this.height,\r\n header: this.header,\r\n hasCover: this.hasCover,\r\n hasHeader: this.hasHeader,\r\n tapePos: this.tapePos,\r\n cover: this.cover,\r\n color: this.color,\r\n quant: this.quant,\r\n thics: this.thics,\r\n isRepeat: this.isRepeat,\r\n isAirHole: this.isAirHole,\r\n };\r\n var str = JSON.stringify(data, null, null);\r\n this.$cookies.put(\"data\", str);\r\n }\r\n load() {\r\n try {\r\n var str = this.$cookies.get(\"data\");\r\n\r\n if (str != null) {\r\n var data = JSON.parse(str);\r\n\r\n this.baseType = data.baseType;\r\n this.headtype = data.headtype;\r\n if (this.headtype == null) {\r\n this.headtype = EstimateParam.HeaderTypeEnum.白ヘッダー;\r\n }\r\n\r\n this.print = Number(data.print);\r\n this.width = data.width;\r\n this.height = data.height;\r\n this.header = data.header;\r\n this.hasCover = data.hasCover;\r\n this.hasHeader = Number(data.hasHeader);\r\n this.tapePos = Number(data.tapePos);\r\n this.cover = data.cover;\r\n this.color = data.color;\r\n this.quant = data.quant;\r\n this.thics = Number(data.thics);\r\n this.isRepeat = data.isRepeat;\r\n this.isAirHole = data.isAirHole;\r\n if (this.isAirHole == null) {\r\n this.isAirHole = false;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n }\r\n }\r\n\r\n getPramArg(): EstimateParam {\r\n\r\n var calcType = \"\";\r\n var header = 0;\r\n var cover = 0;\r\n var matType = \"OPP\";\r\n if (this.baseTypeDiv() == \"袋\") {\r\n var type = (this.hasHeader == 1) ? 1 : 0;\r\n type = type | ((this.print == 1) ? 2 : 0);\r\n cover = (this.hasCover == 1 || this.hasHeader == 1) ? this.cover : 0;\r\n switch (type) {\r\n case 0: //ヘッダなし、印刷なし\r\n calcType = \"Opp袋\";\r\n break;\r\n case 1: //ヘッダあり、印刷なし\r\n calcType = \"ヘッダ付きOpp袋\";\r\n header = this.header;\r\n\r\n break;\r\n case 2: //ヘッダなし、印刷あり\r\n calcType = \"Opp袋グラビア印刷\";\r\n\r\n break;\r\n case 3: //ヘッダあり、印刷あり\r\n calcType = \"ヘッダ付きOpp袋グラビア印刷袋\";\r\n header = this.header;\r\n break;\r\n }\r\n\r\n if (this.baseType == \"CPP袋\") {\r\n matType = \"CPP\";\r\n }\r\n\r\n }\r\n else {\r\n calcType = \"Oppシート\";\r\n //OPPシート\r\n }\r\n\r\n return {\r\n header: header,\r\n calcType: calcType,\r\n cover: cover,\r\n thick: this.thics,\r\n width: this.width,\r\n color: this.color,\r\n tapePos: this.tapePos,\r\n materialType: matType,\r\n headerType: this.headtype,\r\n height: this.height,\r\n isRepeat: this.isRepeat,\r\n quant: this.quant,\r\n siteInfoId: siteInfoId,\r\n isAirHole: this.isAirHole,\r\n tapeType: this.tapeType,\r\n }\r\n }\r\n\r\n ecEntry() {\r\n if (this.hasHeader == 1 && this.headtype == null) {\r\n alert(\"ヘッダータイプが未選択です\");\r\n return;\r\n }\r\n\r\n if (this.hasHeader == null && this.baseType != \"シート\") {\r\n alert(\"ヘッダー有無が未選択です\");\r\n return;\r\n }\r\n\r\n //if (!this.accept) {\r\n // if (this.dialog2 != null) {\r\n // this.dialog2.dialog(\"open\");\r\n // }\r\n // return;\r\n //}\r\n\r\n if (this.entered == true)\r\n return;\r\n\r\n this.entered = true;\r\n\r\n\r\n this.apiClient.estimateEcEntry(this.getPramArg(), { timeout: 60 * 1000 }).then(\r\n c => {\r\n switch (siteInfoId) {\r\n case 1:\r\n window.location.href = \"//fukuro.in/product/\" + c.data.id;\r\n break;\r\n case 3:\r\n window.location.href = \"//www.opp-honpo.net/product/\" + c.data.id;\r\n break;\r\n case 6:\r\n window.location.href = \"//pack-japan.jp/product/\" + c.data.id;\r\n break;\r\n default:\r\n window.location.href = \"//fukuro.in/product/\" + c.data.id;\r\n break;\r\n\r\n }\r\n },\r\n c => {\r\n\r\n this.ecEntryError = true;\r\n jQuery.get(\"https://wwww.workup-system.com/api/EstError\");\r\n\r\n });\r\n\r\n }\r\n\r\n getUrlVars(): string[] {\r\n var vars: string[] = [], hash;\r\n var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');\r\n for (var i = 0; i < hashes.length; i++) {\r\n hash = hashes[i].split('=');\r\n vars.push(hash[0]);\r\n vars[hash[0]] = hash[1];\r\n }\r\n return vars;\r\n }\r\n\r\n\r\n calcPrice() {\r\n //if (this.baseTypeDiv() == \"袋\") {\r\n // var type = (this.hasHeader == 1) ? 1 : 0;\r\n // type = type | ((this.print == 1) ? 2 : 0);\r\n // var cover = (this.hasCover == 1 || this.hasHeader == 1) ? this.cover : 0;\r\n // var matType = \"OPP\";\r\n // if (this.baseType == \"CPP袋\")\r\n // matType = \"CPP\";\r\n\r\n\r\n // switch (type) {\r\n // case 0: //ヘッダなし、印刷なし\r\n // ApiController\r\n // .CalcOpp(cover, this.thics, this.height, this.width, this.quant, matType)\r\n // .then(c => {\r\n // this.result = c;\r\n // this.$scope.$apply();\r\n // });\r\n // break;\r\n // case 1: //ヘッダあり、印刷なし\r\n // ApiController\r\n // .CalcOppHeader(this.header, cover, this.thics, this.height, this.width, this.quant, this.headtype, matType)\r\n // .then(c => {\r\n // this.result = c;\r\n // this.$scope.$apply();\r\n // });\r\n // break;\r\n // case 2: //ヘッダなし、印刷あり\r\n // ApiController\r\n // .CalcOppPrint(cover, this.thics, this.height, this.width, this.quant, this.color, matType, this.isRepeat)\r\n // .then(c => {\r\n // this.result = c;\r\n // this.$scope.$apply();\r\n // });\r\n // break;\r\n // case 3: //ヘッダあり、印刷あり\r\n // ApiController\r\n // .CalcOppHeaderPrint(this.header, cover, this.thics, this.height, this.width, this.quant, this.headtype, this.color, matType, this.isRepeat)\r\n // .then(c => {\r\n // this.result = c;\r\n // this.$scope.$apply();\r\n // });\r\n // break;\r\n // }\r\n\r\n //}\r\n //else {\r\n // //OPPシート\r\n // ApiController\r\n // .CalcOppSheet(this.thics, this.height, this.width, this.quant)\r\n // .then(c => {\r\n // this.result = c;\r\n // this.$scope.$apply();\r\n // });\r\n //}\r\n\r\n this.apiClient\r\n .estimateCalc(this.getPramArg())\r\n .then(c => this.result = c.data);\r\n\r\n this.save();\r\n\r\n }\r\n\r\n varidate(): boolean {\r\n return this.isValid();\r\n }\r\n\r\n limitCalc(name) {\r\n var param = this.limitPrams[name];\r\n var value = Number(this[name]);\r\n var srcValue = value;\r\n value = Math.max(value, param.min);\r\n value = Math.min(value, param.max);\r\n this[name] = value;\r\n if (srcValue != value) {\r\n this[name] = value;\r\n }\r\n }\r\n\r\n limitMaxCalc(name) {\r\n var param = this.limitPrams[name];\r\n var value = Number(this[name]);\r\n var srcValue = value;\r\n value = Math.min(value, param.max);\r\n if (srcValue != value) {\r\n this[name] = value;\r\n }\r\n }\r\n\r\n isRangeOver(name: string) {\r\n var param = this.limitPrams[name];\r\n var value = Number(this[name]);\r\n if (isNaN(value))\r\n return true;\r\n\r\n if (value < param.min || param.max < value)\r\n return true;\r\n return false;\r\n }\r\n isStepOut(name: string) {\r\n var param = this.limitPrams[name];\r\n var value = Number(this[name]);\r\n if ((value % param.step) != 0)\r\n return true;\r\n return false;\r\n }\r\n\r\n sliderSyncSetup(name: string, min: number, max: number, step = 1) {\r\n\r\n this.limitPrams[name] = {\r\n min: min,\r\n max: max,\r\n step: step\r\n };\r\n\r\n var sliderId = '#' + name + '_slider';\r\n var slider = jQuery(sliderId);\r\n slider.slider({\r\n min: min,\r\n max: max,\r\n step: step,\r\n value: this[name],\r\n slide: (e, ui) => {\r\n this[name] = ui.value;\r\n this.changeParam();\r\n this.$scope.$apply();\r\n }\r\n });\r\n this.$scope.$watch(() => this[name], (nv, ov) => {\r\n var slider = jQuery(sliderId);\r\n nv = Number(nv);\r\n nv = Math.max(nv, min);\r\n nv = Math.min(nv, max);\r\n //this[name] = nv;\r\n slider.slider({ value: nv });\r\n this.changeParam();\r\n //this.apply();\r\n }, false);\r\n }\r\n\r\n toggleAccept() {\r\n if ($('#check2').hasClass('disabled'))\r\n return;\r\n\r\n this.accept = !this.accept;\r\n }\r\n\r\n alert(str: string) {\r\n alert(str);\r\n }\r\n\r\n enterButtonImage(): string {\r\n var on = '//www.fukuro.in/data/opp-fukuro/product/est_ent_on.png';\r\n var off = '//www.fukuro.in/data/opp-fukuro/product/est_ent_off.png';\r\n var wait = '//www.fukuro.in/data/opp-fukuro/product/est_ent_wait.jpg';\r\n if (siteInfoId == 6) {\r\n var on = '//www.pack-japan.jp/data/pack-japan/image/est_ent_onx.png';\r\n var off = '//www.pack-japan.jp/data/pack-japan/image/est_ent_offx.png';\r\n var wait = '//www.pack-japan.jp/data/pack-japan/image/est_ent_wait.png';\r\n }\r\n if (siteInfoId == 3) {\r\n var on = '//www.opp-honpo.net/data/opp-honpo/image/est_ent_on.png';\r\n var off = '//www.fukuro.in/data/opp-fukuro/product/est_ent_off.png';\r\n var wait = '//www.opp-honpo.net/data/opp-honpo/image/est_ent_wait.jpg';\r\n }\r\n\r\n\r\n if (this.entered)\r\n return wait;\r\n\r\n return this.accept ? on : off;\r\n }\r\n\r\n hasHeaderFlag(): boolean {\r\n if (this.baseTypeDiv() != \"袋\")\r\n return false;\r\n return this.hasHeader != 0;\r\n }\r\n\r\n hasCoverFlag(): boolean {\r\n if (this.baseTypeDiv() != \"袋\")\r\n return false;\r\n\r\n return (this.hasCover != 0 || this.hasHeader != 0);\r\n }\r\n\r\n protuctImage(): string {\r\n var baseUrl = \"//www.fukuro.in/data/opp-fukuro/product/\";\r\n if (siteInfoId == 6) {\r\n baseUrl = \"//www.pack-japan.jp/data/pack-japan/product/\";\r\n }\r\n if (siteInfoId == 3) {\r\n baseUrl = \"//www.opp-honpo.net/data/opp-honpo/product/\";\r\n }\r\n\r\n\r\n var fileName = \"\";\r\n if (this.baseTypeDiv() == \"袋\") {\r\n if (this.hasHeader != 0) {\r\n fileName = (this.headtype == EstimateParam.HeaderTypeEnum.白ヘッダー) ? \"est_h\" : \"est_th\";\r\n }\r\n else {\r\n fileName = \"est\";\r\n }\r\n if (this.hasCoverFlag()) {\r\n if (this.tapePos != 0) {\r\n fileName += \"_bt\";\r\n }\r\n else {\r\n fileName += \"_ct\";\r\n }\r\n }\r\n else {\r\n fileName += \"_nc\";\r\n }\r\n if (this.print != 0) {\r\n fileName += \"_p\";\r\n }\r\n fileName += \".png\";\r\n }\r\n else {\r\n fileName = \"est_sheet.png\"\r\n }\r\n return baseUrl + fileName;\r\n }\r\n\r\n numLayoutClass() {\r\n if (this.baseTypeDiv() != \"袋\")\r\n return \"p0\";\r\n\r\n if (this.hasHeader != 0) {\r\n return \"p2\";\r\n }\r\n if (this.hasCover != 0) {\r\n return \"p1\";\r\n }\r\n return \"p0\";\r\n }\r\n\r\n imageLayoutClass() {\r\n if (this.print != 0)\r\n return \"print\";\r\n return \"np\";\r\n }\r\n\r\n isValid(): boolean {\r\n var result = true;\r\n\r\n result = result && !this.isRangeOver(\"width\") && !this.isRangeOver(\"height\") && !this.isRangeOver(\"quant\");\r\n if (this.baseTypeDiv() == \"袋\") {\r\n if (Number(this.hasHeader) == 1) {\r\n result = result && !this.isRangeOver(\"cover\") && !this.isRangeOver(\"header\") && !this.isStepOut(\"header\");\r\n }\r\n else {\r\n if (Number(this.hasCover) == 1) {\r\n result = result && !this.isRangeOver(\"cover\");\r\n }\r\n }\r\n if (Number(this.print) == 1) {\r\n result = result && !this.isRangeOver(\"color\");\r\n }\r\n }\r\n else {\r\n result = result && !this.isStepOut(\"quant\")\r\n }\r\n return result;\r\n }\r\n\r\n isHeightOver(): boolean {\r\n if (this.baseTypeDiv() != \"袋\")\r\n return false;\r\n\r\n const isPrint = (Number(this.print) == 1);\r\n const hasHeader = (Number(this.hasHeader) == 1);\r\n const hasCover = (Number(this.hasCover) == 1) || hasHeader;//ヘッダがあるときはカバーがある\r\n\r\n const height = Number(this.height);\r\n const header = hasHeader ? Number(this.header) : 0;\r\n const cover = hasCover ? Number(this.cover) : 0;\r\n\r\n\r\n if ((height + header + cover) > 590) {\r\n return true;\r\n }\r\n\r\n if (isPrint) {\r\n if ((((height + header) * 2) + cover) > 901) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n hasNaN(): boolean {\r\n var result = false;\r\n result = result || this.isNaN(\"width\") || this.isNaN(\"height\") || this.isNaN(\"quant\");\r\n\r\n if (this.baseTypeDiv() == \"袋\") {\r\n if (Number(this.hasHeader) == 1) {\r\n result = result || this.isNaN(\"cover\") || this.isNaN(\"header\");\r\n }\r\n else {\r\n if (Number(this.hasCover) == 1) {\r\n result = result || this.isNaN(\"cover\");\r\n }\r\n }\r\n if (Number(this.print) == 1) {\r\n result = result || this.isNaN(\"color\");\r\n }\r\n }\r\n return result;\r\n\r\n }\r\n\r\n isNaN(name: string) {\r\n var value = Number(this[name]);\r\n if (isNaN(value))\r\n return true;\r\n return false;\r\n }\r\n\r\n sohwKiyaku() {\r\n this.showRule = true;\r\n }\r\n\r\n clickAcceps() {\r\n\r\n if (siteInfoId != 3) {\r\n\r\n //if (this.showRule) {\r\n this.accept = true;\r\n //}\r\n //else {\r\n // this.dialog1.dialog(\"open\");\r\n //}\r\n }\r\n else {\r\n this.accept = true;\r\n }\r\n }\r\n uncheckAcceps() {\r\n this.accept = false;\r\n }\r\n\r\n calcTax(n: number) {\r\n return Math.floor(n * 1.1);\r\n }\r\n\r\n }\r\n\r\n angular.module(\"BespokeApp\", ['ngCookies'])\r\n .controller(\"MainCtrl\", MainCtrl);\r\n} ","/**\r\n * OppSites\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: V1\r\n * \r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport * as models from './models';\r\n\r\nexport interface EstimateParam {\r\n \"calcType\"?: EstimateParam.CalcTypeEnum;\r\n \"header\"?: number;\r\n \"cover\"?: number;\r\n \"thick\"?: number;\r\n \"height\"?: number;\r\n \"width\"?: number;\r\n \"quant\"?: number;\r\n \"headerType\"?: EstimateParam.HeaderTypeEnum;\r\n \"color\"?: number;\r\n \"tapePos\"?: number;\r\n \"siteInfoId\"?: number;\r\n \"materialType\"?: EstimateParam.MaterialTypeEnum;\r\n \"isRepeat\"?: boolean;\r\n \"printSize\"?: Array;\r\n \"isAirHole\"?: boolean;\r\n \"tapeType\"?: number;\r\n}\r\n\r\nexport namespace EstimateParam {\r\n export enum CalcTypeEnum {\r\n 'Opp袋' = 'Opp袋',\r\n 'Opp袋グラビア印刷' = 'Opp袋グラビア印刷',\r\n 'ヘッダ付きOpp袋' = 'ヘッダ付きOpp袋',\r\n 'ヘッダ付きOpp袋グラビア印刷袋' = 'ヘッダ付きOpp袋グラビア印刷袋',\r\n 'Oppシート' = 'Oppシート',\r\n 'Opp箔押し印刷' = 'Opp箔押し印刷'\r\n }\r\n export enum HeaderTypeEnum {\r\n '白ヘッダー' = '白ヘッダー',\r\n '透明ヘッダー' = '透明ヘッダー'\r\n }\r\n export enum MaterialTypeEnum {\r\n 'OPP' = 'OPP',\r\n 'CPP' = 'CPP',\r\n 'Other' = 'Other'\r\n }\r\n}\r\n","/**\r\n * OppSites\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: V1\r\n * \r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nimport * as models from './models';\r\n\r\nexport interface EstimateParamEntry {\r\n \"calcType\"?: EstimateParamEntry.CalcTypeEnum;\r\n \"header\"?: number;\r\n \"cover\"?: number;\r\n \"thick\"?: number;\r\n \"height\"?: number;\r\n \"width\"?: number;\r\n \"quant\"?: number;\r\n \"headerType\"?: EstimateParamEntry.HeaderTypeEnum;\r\n \"color\"?: number;\r\n \"productMaterial\"?: EstimateParamEntry.ProductMaterialEnum;\r\n \"productPrice\"?: number;\r\n \"productPriceRaw\"?: number;\r\n \"totalPrice\"?: number;\r\n \"totalPriceRaw\"?: number;\r\n \"unitPrice\"?: number;\r\n \"unitPriceRaw\"?: number;\r\n \"printUnitPriceRaw\"?: number;\r\n \"printUnitPrice\"?: number;\r\n \"printTotalPriceRaw\"?: number;\r\n \"printTotalPrice\"?: number;\r\n \"estmiteCode\"?: string;\r\n \"tapePos\"?: number;\r\n \"isRepeat\"?: boolean;\r\n \"isAirHole\"?: boolean;\r\n \"titlingPrintSizes\"?: Array;\r\n}\r\n\r\nexport namespace EstimateParamEntry {\r\n export enum CalcTypeEnum {\r\n 'Opp袋' = 'Opp袋',\r\n 'Opp袋グラビア印刷' = 'Opp袋グラビア印刷',\r\n 'ヘッダ付きOpp袋' = 'ヘッダ付きOpp袋',\r\n 'ヘッダ付きOpp袋グラビア印刷袋' = 'ヘッダ付きOpp袋グラビア印刷袋',\r\n 'Oppシート' = 'Oppシート',\r\n 'Opp箔押し印刷' = 'Opp箔押し印刷'\r\n }\r\n export enum HeaderTypeEnum {\r\n '白ヘッダー' = '白ヘッダー',\r\n '透明ヘッダー' = '透明ヘッダー'\r\n }\r\n export enum ProductMaterialEnum {\r\n 'OPP' = 'OPP',\r\n 'CPP' = 'CPP',\r\n 'Other' = 'Other'\r\n }\r\n}\r\n"],"sourceRoot":""}