{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?7e02","webpack:///./src/icons/svg/zoom in to fit.svg","webpack:///./src/icons/svg/setting.svg","webpack:///./src/i18n/langs/en.js","webpack:///./src/i18n/langs/cn.js","webpack:///./src/i18n/langs/index.js","webpack:///./src/i18n/i18n.js","webpack:///./src/store/state.js","webpack:///./src/store/mutation.js","webpack:///./src/store/actions.js","webpack:///./src/store/getters.js","webpack:///./src/store/modules/diag.js","webpack:///./src/store/store.js","webpack:///./src/icons/svg/notifications.svg","webpack:///./src/icons/svg/login.svg","webpack:///./src/api/request.js","webpack:///./src/icons/svg/products.svg","webpack:///./src/icons/svg/planTasks.svg","webpack:///./src/icons/svg/markup_save.svg","webpack:///./src/icons/svg/moisture_0.svg","webpack:///./src/icons/svg/moisture_add.svg","webpack:///./src/icons/svg/report_task.svg","webpack:///./src/excel/Export2Excel.js","webpack:///./src/icons/svg/zoom.svg","webpack:///./src/views/layout/components/fliter.vue?422e","webpack:///src/views/layout/components/fliter.vue","webpack:///./src/views/layout/components/fliter.vue?99db","webpack:///./src/views/layout/components/fliter.vue","webpack:///./src/icons/svg/report_labor.svg","webpack:///./src/icons/svg sync nonrecursive \\.svg$","webpack:///./src/App.vue?c1dd","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue?bff9","webpack:///./src/router/index.js","webpack:///./src/plugins/element.js","webpack:///./src/components/SvgIcon/index.vue?0265","webpack:///src/components/SvgIcon/index.vue","webpack:///./src/components/SvgIcon/index.vue?e33d","webpack:///./src/components/SvgIcon/index.vue","webpack:///./src/icons/index.js","webpack:///./src/main.js","webpack:///./src/icons/svg/documents.svg","webpack:///./src/icons/svg/default.svg","webpack:///./src/icons/svg/editCorp.svg","webpack:///./src/icons/svg/report_1.svg","webpack:///./src/icons/svg/view options.svg","webpack:///./src/icons/svg/special_0.svg","webpack:///./src/icons/svg/report_2.svg","webpack:///./src/icons/svg/markup_edit.svg","webpack:///./src/views/layout/components/subHeader.vue?087b","webpack:///src/views/layout/components/subHeader.vue","webpack:///./src/views/layout/components/subHeader.vue?94df","webpack:///./src/views/layout/components/subHeader.vue","webpack:///./src/static/config.js","webpack:///./src/icons/svg/photos.svg","webpack:///./src/icons/svg/checklistTemplates.svg","webpack:///./src/icons/svg/markup_hand.svg","webpack:///./src/icons/svg/add task_.svg","webpack:///./src/icons/svg/reports.svg","webpack:///./src/components/SvgIcon/index.vue?4394","webpack:///./src/icons/svg/marker_move.svg","webpack:///./src/views/layout/components/fliter.vue?44c1","webpack:///./src/icons/svg/report.svg","webpack:///./src/icons/svg/edit.svg","webpack:///./src/icons/svg/analytics.svg","webpack:///./src/icons/svg/add task group.svg","webpack:///./src/icons/svg/members.svg","webpack:///./src/icons/svg/report_add.svg","webpack:///./src/icons/svg/plans.svg","webpack:///./src/views/layout/components/subHeader.vue?af5d","webpack:///./src/icons/svg/overview.svg","webpack:///./src/icons/svg/filter.svg","webpack:///./src/views/layout/components/page.vue?b6b0","webpack:///src/views/layout/components/page.vue","webpack:///./src/views/layout/components/page.vue?5b35","webpack:///./src/views/layout/components/page.vue","webpack:///./src/api/config.js","webpack:///./src/excel/Blob.js","webpack:///./src/icons/svg/report zoom.svg","webpack:///./src/icons/svg/task_0.svg","webpack:///./src/views/layout/components/subHeader.vue?0c07","webpack:///./src/icons/svg/corp.svg","webpack:///./src/icons/svg/tag.svg","webpack:///./src/icons/svg/task groups.svg","webpack:///./src/icons/svg/tasks.svg","webpack:///./src/icons/svg/simui-password.svg","webpack:///./src/icons/svg/labor.svg"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","symbol","add","en","role","enlocale","cn","zhlocale","zh","lang","localStorage","language","navigator","substring","Vue","use","VueI18n","i18n","locale","messages","state","corpId","userInfo","menuShow","jobsiteID","preJobsiteID","jobsiteName","jobsiteLocation","CreatorId","projectList","cropUser","projectUser","taskStatus","taskType","taskChecklistTemplates","taskTemplates","taskWorkType","taskGroup","reportType","plan","planCondition","showManagement","mockUserInfo","measureUnitType","temperatureUnit","M2Integration","corpName","userContactCorps","hasCloudGroup","avatar","planTabType","corporationCondition","projectCondition","corporationConditionOrderby","planConditionOrderby","taskConditionOrderby","reportConditionOrderby","productConditionOrderby","photoConditionOrderby","documentsConditionOrderby","mutations","CorpId","string","obj","changeName","FullName","getJobSite","str","clearJobSite","getJobsiteName","getJobsiteLocation","getCreator","getCorpUser","arr","getProjectMember","getTasksStatus","getTasksTypes","getTaskChecklistTemplates","getTaskTemplates","getTaskWorkTypes","getTaskGroup","getReportType","setPlan","setPlanCondition","changeAvatar","Avatar","getUserContactCorps","setCorporationCondition","setProjectCondition","setCorporationConditionOrderby","val","setPlanConditionOrderby","setTaskConditionOrderby","setReportConditionOrderby","setProductConditionOrderby","setPhotoConditionOrderby","setDocumentsConditionOrderby","clearAll","shasCloudGroup","diag","pdfToolStyle","color","strokeThickness","highlightStrokeThickness","fontSize","actions","context","condition","PageIndex","PageSize","OrderBy","res","Data","forEach","ele","AvatarUrl","$config","baseURL","DocFileId","commit","getProject","jobsiteId","planId","PlanId","getPlanById","getProjectDetail","addressObj","Street","City","State","Country","ZipCode","Name","Address","findIndex","q","JobsiteId","Status","UserId","CreatedOnFrom","CreatedOnTo","isClosed","AllowLoadDashboard","OnlyMember","getProjectPagination","catch","id","getInvisible","getChecklistTemplates","NeedItems","userFilter","GetUserContactCorps","getters","params","GetChildTask","GetRecycle","IsApp","Type","GroupId","DueStartTime","DueEndTime","LastUpdatedOn","AssignedUserIds","WatchingUserIds","LocationType","addTaskDialog","showDialog","productDialog","selectPoint","taskSortby","orderBy","sortBy","sortValue","taskList","protobuf","roomList","addRoomList","pinList","addTaskPointList","taskShape","centerPoint","productList","roomDetail","batchTaskIds","addProductList","roomCheck","productHandleList","tasksProgressOptions","taskInstallationList","refreshTaskList","setRefreshTaskList","resetConiditon","setRoomCheck","clearAddProductList","changeAddProductList","setAddProductList","setBatchTaskIds","clearRoomDetail","setRoomDetail","setProductList","setCenterPoint","setTaskShape","setSelectPoint","clearAddTaskPointList","setAddTaskPointList","setAddTaskType","num","openAddTaskDialog","bool","openProductTaskDialog","setTaskCondition","clearTaskList","setTaskList","setProtobuf","setRoomList","setPinList","point","x","LocationX","y","LocationY","pin","pinColor","taskId","TaskId","TaskType","taskSubtype","TaskSubtype","position","setAddRoomList","clearAddRoomList","setProductHandleList","setTasksProgressOptions","getTaskInstallationList","setPdfToolStyle","style","setTaskSortby","clearTaskSortby","postProduct","rootState","array","param","ProjectId","LinkProjectId","SKU","Color","config","colorRGB2Hex","AssignType","assignType","Unit","getUnit","unit","ProductType","getProductNum","Trade","trade","IsDeleted","getTasksList","handleTaskList","search","dispatch","getTasksProgressOptions","Key","parseFloat","Value","InstallationProductShapes","namespaced","Vuex","Store","plugins","createPersistedState","storage","supportCircular","reducer","notification","title","multiple","Notification","closeAll","duration","showClose","Get","url","hideErrorNotify","headers","store","Token","axios","response","status","Message","Post","hideSuccessNotify","post","indexOf","includes","reader","FileReader","content","JSON","parse","readAsText","Put","assign","put","Upload","Delete","delete","GetGzip","hideNotify","onDownloadProgress","requestType","method","responseType","log","GetBlob","Login","Forgot","HasMenuAction","roleId","actionId","getAvatarUrl","token","blob","Blob","objectUrl","URL","createObjectURL","defaults","interceptors","generateArray","table","out","rows","querySelectorAll","ranges","R","outRow","row","columns","C","cell","colspan","rowspan","cellValue","innerText","range","k","datenum","v","date1904","epoch","Date","UTC","sheet_from_array_of_arrays","opts","ws","cell_ref","XLSX","utils","encode_cell","z","SSF","_table","encode_range","Workbook","this","SheetNames","Sheets","s2ab","buf","ArrayBuffer","view","Uint8Array","charCodeAt","export_table_to_excel","theTable","getElementById","oo","ws_name","wb","wbout","write","bookType","bookSST","saveAs","export_json_to_excel","th","jsonData","defaultTitle","unshift","require","render","_vm","_h","$createElement","_c","_self","staticClass","class","showFilter","attrs","on","closeFilter","_v","_s","$t","clearFilter","staticStyle","_t","staticRenderFns","props","Boolean","default","computed","created","mounted","watch","methods","$emit","components","component","map","webpackContext","req","webpackContextResolve","keys","Router","getComponent","getModel","path","myRouter","routes","children","meta","beforeEach","to","from","next","redirect","query","fullPath","reload","projectId","sc","Element","svgClass","iconName","iconClass","String","required","className","SvgIcon","requireAll","requireContext","vuescroll","ops","scrollPanel","rail","keepShow","detectResize","bar","hoverStyle","onlyShowBarOnScroll","background","opacity","hrefArray","router","sessionStorage","setItem","subHeader","filter","page","h","App","$mount","hideBox","_e","Admin","PM","Superintendent","FieldRep","directive","el","binding","vnode","RoleType","isViewer","display","remove","process","planURL","menu","icon","toTimestamp","time","tPos","zPos","yearMouthDay","hourMinSec","newTime","timestamp","LocalTime","showSecond","datetime","year","getFullYear","month","getMonth","date","getDate","hour","getHours","minute","getMinutes","second","getSeconds","StatusColorTask","done","getTime","StatusColorProduct","StatusColorMoisture","rh","maxRh","sleeveDropped","transform","count","text","toFixed","Num","length1","length2","numberFormat","getFormatNumber","getFirstLastNameByFullName","FirstName","LastName","index","groupBy","f","groups","group","stringify","decimal","Math","round","pow","Number","formatDuring","dateTime","timeSpanStr","licenseText","IsTrial","LicenseQty","ResidualLicenseQty","LicenseExpired","InSubscription","diffDay","DueDays","isLicenseExpirationDayNeedRemind","LicenseProductName","ceil","getAssignment","item","planRegions","elevations","UTCTime","isToday","onlyDate","end","currentDate","formatBytes","a","b","floor","beforeTimeText","start","delta","day","week","matchYears","DIFFTIME","matchMonths","beforeText","startTime","endTime","getDays","mouth","days","diffValue","startYear","endYear","startMouth","endMouth","startDay","endDay","startHours","endHours","startMinutes","endMinutes","startSeconds","endSeconds","diffYear","startDays","endDays","diffStartMouth","diffEndMouth","diffMouth","parseInt","rgb","split","g","hex","toString","unit2RGBA","alpha","red","green","blue","rgba2uint","rgbaStrArr","match","ai","unique","Array","isArray","flag","arrUnique","newArr","tArr","getProductAssignType","getTotalTime","total","getTotalHrs","formatDate","fmt","test","replace","RegExp","$1","substr","measureUnitTypes","temperatureUnits","fahrenheitToCelsius","celsiusToFahrenheit","getFormatTemperature","getGlobalmeasureUnit","unitObj","list","CompletionRate","EndDate","LastRHReading","Concrete","ConcreteRH","MaxRh","SleeveDropped","handleProduct","product","taskShapes","WallBaseLinear","isWallBase","TotalQty","transformUnit","transformTotal","ShapeArea","NetArea","transformNetArea","areaProductTypes","getFileType","fileName","suffix","flieArr","toLowerCase","imglist","some","videolist","pdflist","getIconForFileType","isFolder","excelist","wordlist","pptList","m2list","sortArray","order","sort","num1","num2","r1","r2","max","sub","multiply","s1","s2","divide","t1","t2","number","digNum","isFinite","prec","abs","re","join","StringFormat","arguments","validEmail","validEmails","emails","msg","strEmail","emailval","trim","transformUnitToMM","transformMMToM2Unit","IsTrackableProduct","prod","able","isAddon","netArea","usage","getNonM2ProductUnit","unitStr","getNonM2ProductUnitType","getNonM2ProductType","typeStr","matchContentType","contentType","labelActivity","userName","operateStr","TaskName","ActivityType","AssignUserName","Progress","PlanName","JobsiteName","OldName","ReportName","ChecklistName","TaskChecklistItemName","FileName","TaskPhaseName","TagName","FolderName","Title","BeforeText","CreatedOn","taskImg","task","urlList","imgObj","marker","onDraw","imgURL","canvas","toDataURL","removeMarker","setLayer","layers","partialShow","RoomShapeIdList","img","pinWidth","addMarker","resetView","diagLoadCompleted","layerList","layerTaskList","option","layer","find","ShowTaskList","querySelector","ShowFloorPlan","width","height","refresh","planImgLoadCompleted","loadCompleted","pdftronLoadCompleted","reportComponent","pdftronShowTaskList","pdftronShowFloorPlan","TaskAnotCreated","pdfCreatedTaskAnot","tasks","pdftronTaskImg","setTaskImg","loadXfdfStrings","createTaskImgAnnotation","splitGroupArray","subGroupLength","newArray","getRandomInt","min","random","handleCurrentChange","handleDelete","deleteCount","curTotal","getProtobuf","getProtobufImage","getCorpUserById","saveCorpUsers","addUserSurvey","getRoleList","existCorpOrOnlySSO","encodeURIComponent","existCloudGroup","recycleCorpUser","getCorpById","getCorpDashboard","getCorpLicense","setLicenseActive","getPurchaseUrl","getSubscriptionUrl","payments","getPayHistories","editCorporation","saveCorpByToken","corpUsersLicense","changePassword","checkPassword","getLiceseProductById","getObjectActivities","saveObjectActivities","getCorpSetting","saveCorpSetting","SaveCorpByTemplate","SetUserContactActive","checkExistCorpName","CorpName","getCorpNotificationSetting","saveCorpNotificationSetting","getProjectFile","assignProjectFileToTasks","deleteProjectFolderFile","updateProjectFile","getFileList","deleteFile","uploadDoc","checkIsJobsiteFile","addProjectMember","deleteProjectMember","updateConflictTasks","BatchMainTasks","searchTaskIdList","getTaskCount","getTaskById","getTaskReadingCal","getTaskReadingRel","addTaskReadingCal","addTaskReadingRel","noSaveActivity","deleteTask","deletECalReading","deletERelReading","addTask","changeChild","getChildren","getGroupReportDatas","sumTaskTotalQty","getChecklistTemplateById","saveChecklistTemplates","getTaskChecklistItems","saveTaskChecklistItems","deleteTaskChecklistItems","checkExistTemplateName","checkExistItemName","saveChecklistTemplateItems","deleteChecklistTemplates","hasTasksByPlanId","getTaskReportDatas","getPlansList","deletePlans","addPlans","uploadFile","newPdfPlanUrlPages","allowSaveActivity","updatePlanRevsions","renamePlan","addMarkup","getMarkup","getM2Project","getM2ProjectDetail","getLayerList","getM2ProjectRevisions","getM2ProjectRevision","addProject","qs","closeProject","reopenProject","addTaskGroup","getTaskGroupById","deleteTaskGroup","getTaskGroupTemplates","getTaskGroupTemplate","saveTaskGroupTemplate","updateTaskGroupTemplate","deleteTaskGroupTemplate","getTaskPhoto","deleteTaskPhoto","getTaskReportList","deleteReport","sendMailReport","checkContactEmail","checkAccountByEmail","getForgotByToken","resetPwd","getAllCorps","saveCorpBySuperAdmin","setLicenseTrialExpiration","checkUiAuthority","getAllUsers","deleteCorpUser","mockLogin","restoreCorpUser","recycleCorp","getCorpCategories","saveCorpCategory","deleteCorpCategories","sortCorpCategories","getLaborItems","getLaborItemById","saveLaborItems","deleteLaborItems","getSystemCategories","getSystemCategoryById","saveSystemCategory","deleteSystemCategories","systemCategoryApplyToCorps","ProjectLaborEstimations","PostProjectProductDatas","GetProjectLaborGroups","GetProductTrades","PostProjectLaborGroups","DeleteProjectLaborGroups","getProductList","getProductById","saveProducts","deleteProducts","checkByJobsiteSKU","getByJobsiteSKUs","hasUsedInTask","saveTaskTemplates","getTaskTemplateById","checkExistTaskTemplateName","deleteTaskTemplates","saveTaskTemplateItems","saveAsTaskTemplateByTaskGroup","getTags","getTag","tagId","saveTags","deleteTags","getObjectTags","deleteObjectTags","getFolders","saveFolders","webkitURL","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","get_class","FakeBlobBuilder","FakeBlob","encoding","size","FBB_proto","FB_proto","FileReaderSync","FileException","file_ex_codes","file_ex_code","real_URL","real_create_object_URL","real_revoke_object_URL","revokeObjectURL","btoa","atob","fake","data_URI_header","decodeURIComponent","object_URL","append","bb","buf_len","fromCharCode","fr","readAsBinaryString","unescape","getBlob","args","close","blobParts","options","builder","len","self"],"mappings":"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rL,IAChBkuB,EAAK7iB,EAAIrL,KAAM,GAGnB,OAAOiuB,EAIb,SAASvX,EAAehM,GACtB,IAAIgJ,EACJ,OAAQhJ,GACN,IAAK,OACHgJ,EAAM,EACN,MACF,IAAK,SACHA,EAAM,EACN,MACF,IAAK,QACHA,EAAM,EACN,MACF,IAAK,aACHA,EAAM,EACN,MACF,IAAK,cACHA,EAAM,EACN,MACF,IAAK,aACHA,EAAM,EACN,MACF,IAAK,OACHA,EAAM,EACN,MACF,IAAK,WACHA,EAAM,EACN,MACF,IAAK,WACHA,EAAM,GACN,MACF,IAAK,WACHA,EAAM,GACN,MACF,IAAK,QACHA,EAAM,GACN,MACF,IAAK,QACHA,EAAM,GACN,MACF,IAAK,UACHA,EAAM,GACN,MACF,IAAK,eACHA,EAAM,GACN,MACF,IAAK,aACHA,EAAM,GACN,MACF,IAAK,WACHA,EAAM,GACN,MACF,IAAK,OACHA,EAAM,GACN,MACF,IAAK,YACHA,EAAM,GACN,MACF,IAAK,SACHA,EAAM,GACN,MACF,IAAK,QACHA,EAAM,GACN,MACF,IAAK,UACHA,EAAM,GACN,MACF,IAAK,WACHA,EAAM,GACN,MACF,IAAK,QACHA,EAAM,GACN,MACF,IAAK,UACHA,EAAM,GAEV,OAAOA,EAET,SAAS6C,EAAS7L,GAChB,IAAIgJ,EACJ,OAAQhJ,GACN,IAAK,OACHgJ,EAAM,EACN,MACF,IAAK,KACHA,EAAM,EACN,MACF,IAAK,IACHA,EAAM,EACN,MACF,IAAK,KACHA,EAAM,EACN,MACF,IAAK,KACHA,EAAM,EACN,MACF,IAAK,KACHA,EAAM,EACN,MACF,IAAK,KACHA,EAAM,EACN,MACF,IAAK,KACHA,EAAM,EACN,MACF,IAAK,QACHA,EAAM,EACN,MACF,IAAK,aACHA,EAAM,EACN,MACF,IAAK,QACHA,EAAM,EACN,MACF,IAAK,KACHA,EAAM,GAEV,OAAOA,EAET,SAASya,EAAsBnrB,GAC7B,IAAI0Q,EACJ,OAAQ1Q,GACN,IAAK,OACH0Q,EAAM,EACN,MACF,IAAK,OACHA,EAAM,EACN,MACF,IAAK,SACHA,E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,IAAjBja,EAAOka,QACjCH,GAAO,GAGJA,EAGT,SAASI,GAAqBvd,GAC5B,IAAIwd,EAAU,GACd,OAAQxd,GACN,KAAK,EACHwd,EAAU,GACV,MACF,KAAK,EACHA,EAAU,KACV,MACF,KAAK,EACHA,EAAU,IACV,MACF,KAAK,EACHA,EAAU,KACV,MACF,KAAK,EACHA,EAAU,KACV,MACF,KAAK,EACHA,EAAU,KACV,MACF,KAAK,EACHA,EAAU,KACV,MACF,KAAK,EACHA,EAAU,QACV,MACF,KAAK,EACHA,EAAU,KACV,MACF,KAAK,EACHA,EAAU,MACV,MACF,KAAK,GACHA,EAAU,KACV,MAEJ,OAAOA,EAGT,SAASC,GAAyBvpB,GAChC,IAAI8L,EAAO,EACX,OAAQ9L,GACN,IAAK,KACH8L,EAAO,EACP,MACF,IAAK,IACHA,EAAO,EACP,MACF,IAAK,KACHA,EAAO,EACP,MACF,IAAK,KACHA,EAAO,EACP,MACF,IAAK,KACHA,EAAO,EACP,MACF,IAAK,KACHA,EAAO,EACP,MACF,IAAK,QACHA,EAAO,EACP,MACF,IAAK,KACHA,EAAO,EACP,MACF,IAAK,MACHA,EAAO,EACP,MACF,IAAK,KACHA,EAAO,GACP,MAEJ,OAAOA,EAET,SAAS0d,GAAqBlxB,GAC5B,IAAImxB,EAAU,GACd,OAAQnxB,GACN,KAAK,EACHmxB,EAAU,GACV,MACF,KAAK,EACHA,EAAU,SACV,MACF,KAAK,EACHA,EAAU,QACV,MACF,KAAK,EACHA,EAAU,aACV,MACF,KAAK,EACHA,EAAU,cACV,MACF,KAAK,EACHA,EAAU,aACV,MACF,KAAK,EACHA,EAAU,OACV,MACF,KAAK,EACHA,EAAU,WACV,MACF,KAAK,GACHA,EAAU,WACV,MACF,KAAK,GACHA,EAAU,WACV,MACF,KAAK,GACHA,EAAU,QACV,MACF,KAAK,GACHA,EAAU,QACV,MACF,KAAK,GACHA,EAAU,UACV,MACF,KAAK,GACHA,EAAU,eACV,MACF,KAAK,GACHA,EAAU,aACV,MACF,KAAK,GACHA,EAAU,WACV,MACF,KAAK,GACHA,EAAU,OACV,MACF,KAAK,GACHA,EAAU,YACV,MACF,KAAK,GACHA,EAAU,SACV,MACF,KAAK,GACHA,EAAU,QACV,MACF,KAAK,GACHA,EAAU,UACV,MACF,KAAK,GACHA,EAAU,WACV,MACF,KAAK,GACHA,EAAU,QACV,MACF,KAAK,GACHA,EAAU,UACV,MAEJ,OAAOA,EAET,SAASC,GAAkB1D,GAEzB,IAAIC,EAAS,GAET0D,EAAc,GAClB,IACE,IAAIzD,EAAUF,EAAS3D,MAAM,KAC7B4D,EAASC,EAAQA,EAAQ1wB,OAAS,GAClC,MAAOqD,GACPotB,EAAS,GAEX,OAAQA,GACN,IAAK,MACH0D,EAAc,gBACd,MACF,IAAK,MACHA,EAAc,YACd,MACF,IAAK,MACHA,EAAc,aACd,MACF,QACEA,EAAc,2BACd,MAEJ,OAAOA,EAGT,SAASC,GAAexmB,EAAKymB,GAC3B,IAAIC,EAAa3sB,OAAKhC,EAAE,oBAAqB,CAACiI,EAAI2mB,WAClD,OAAQ3mB,EAAI4mB,cACV,KAAK,EACHF,EAAa3sB,OAAKhC,EAAE,qBAAsB,CAACiI,EAAI2mB,SAAU3mB,EAAI6mB,iBAC7D,MACF,KAAK,EACL,KAAK,EACHH,EAAa3sB,OAAKhC,EAAE,sBAAuB,CAACiI,EAAI2mB,SAAUvM,EAAgBpa,EAAI8mB,YAC9E,MACF,KAAK,EACHJ,EAAa3sB,OAAKhC,EAAE,oBAAqB,CAACiI,EAAI2mB,WAC9C,MACF,KAAK,EACHD,EAAa3sB,OAAKhC,EAAE,0BAA2B,CAACiI,EAAI2mB,WACpD,MACF,KAAK,EACHD,EAAa3sB,OAAKhC,EAAE,4BAA6B,CAACiI,EAAI2mB,WACtD,MACF,KAAK,EACHD,EAAa3sB,OAAKhC,EAAE,iBAAkB,CAACiI,EAAI2mB,WAC3C,MACF,KAAK,EACHD,EAAa3sB,OAAKhC,EAAE,mBAAoB,CAACiI,EAAI2mB,WAC7C,MACF,KAAK,EACHD,EAAa3sB,OAAKhC,EAAE,oBAAqB,CAACiI,EAAI+mB,WAC9C,MACF,KAAK,GACHL,EAAa3sB,OAAKhC,EAAE,oBAAqB,CAACiI,EAAI+mB,WAC9C,MACF,KAAK,GACHL,EAAa3sB,OAAKhC,EAAE,uBACpB,MACF,KAAK,GACH2uB,EAAa3sB,OAAKhC,EAAE,wBACpB,MACF,KAAK,GACH2uB,EAAa3sB,OAAKhC,EAAE,wBACpB,MACF,KAAK,GACH2uB,EAAa3sB,OAAKhC,EAAE,wBACpB,MACF,KAAK,GACH2uB,EAAa3sB,OAAKhC,EAAE,wBACpB,MACF,KAAK,GACH2uB,EAAa3sB,OAAKhC,EAAE,wBACpB,MACF,KAAK,GACH2uB,EAAa3sB,OAAKhC,EAAE,sBAAuB,CAACiI,EAAIgnB,cAChD,MACF,KAAK,GACHN,EAAa3sB,OAAKhC,EAAE,sBAAuB,CAACiI,EAAIgnB,cAChD,MACF,KAAK,GACHN,EAAa3sB,OAAKhC,EAAE,qBAAsB,CAACiI,EAAIgnB,cAC/C,MACF,KAAK,GACHN,EAAa3sB,OAAKhC,EAAE,kBAAmB,CAACiI,EAAIinB,QAASjnB,EAAI+mB,WACzD,MACF,KAAK,GACHL,EAAa3sB,OAAKhC,EAAE,yBACpB,MACF,KAAK,GACH2uB,EAAa3sB,OAAKhC,EAAE,wBAAyB,CAACiI,EAAI6mB,eAAgB7mB,EAAIgnB,cACtE,MACF,KAAK,GACHN,EAAa3sB,OAAKhC,EAAE,4BAA6B,CAACiI,EAAI6mB,eAAgB7mB,EAAIgnB,cAC1E,MACF,KAAK,GACHN,EAAa3sB,OAAKhC,EAAE,6BAA8B,CAACiI,EAAIgnB,cACvD,MACF,KAAK,GACHN,EAAa3sB,OAAKhC,EAAE,qBAAsB,CAACiI,EAAIknB,aAC/C,MACF,KAAK,GACHR,EAAa3sB,OAAKhC,EAAE,qBAAsB,CAACiI,EAAI2mB,WAC/C,MACF,KAAK,GACHD,EAAa3sB,OAAKhC,EAAE,mBAAoB,CAACiI,EAAI2mB,WAC7C,MACF,KAAK,GACHD,EAAa3sB,OAAKhC,EAAE,wBAAyB,CAACiI,EAAImnB,cAAennB,EAAI2mB,WACrE,MACF,KAAK,GACHD,EAAa3sB,OAAKhC,EAAE,4BAA6B,CAACiI,EAAIonB,sBAAuBpnB,EAAI2mB,WACjF,MACF,KAAK,GACHD,EAAa3sB,OAAKhC,EAAE,+BAAgC,CAACiI,EAAIonB,sBAAuBpnB,EAAI2mB,WACpF,MACF,KAAK,GACHD,EAAa3sB,OAAKhC,EAAE,+BAAgC,CAACiI,EAAIinB,QAASjnB,EAAIonB,sBAAuBpnB,EAAI2mB,WACjG,MACF,KAAK,GACHD,EAAa3sB,OAAKhC,EAAE,gCAAiC,CAACiI,EAAIonB,sBAAuBpnB,EAAI2mB,WACrF,MACF,KAAK,GACHD,EAAa3sB,OAAKhC,EAAE,8BAA+B,CAACiI,EAAIonB,sBAAuBpnB,EAAI2mB,WACnF,MACF,KAAK,GACHD,EAAa3sB,OAAKhC,EAAE,oBAAqB,CAACiI,EAAI2mB,WAC9C,MACF,KAAK,GACHD,EAAa3sB,OAAKhC,EAAE,uBAAwB,CAACiI,EAAI2mB,WACjD,MACF,KAAK,GACHD,EAAa3sB,OAAKhC,EAAE,oBAAqB,CAACiI,EAAI2mB,WAC9C,MACF,KAAK,GACHD,EAAa3sB,OAAKhC,EAAE,uBAAwB,CAACiI,EAAI2mB,WACjD,MACF,KAAK,GACHD,EAAa3sB,OAAKhC,EAAE,0BAA2B,CAACiI,EAAIqnB,SAAUrnB,EAAIgnB,cAClE,MACF,KAAK,GACHN,EAAa3sB,OAAKhC,EAAE,6BAA8B,CAACiI,EAAIqnB,SAAUrnB,EAAIgnB,cACrE,MACF,KAAK,GACHN,EAAa3sB,OAAKhC,EAAE,uBAAwB,CAACiI,EAAIqnB,SAAUrnB,EAAI2mB,WAC/D,MACF,KAAK,GACHD,EAAa3sB,OAAKhC,EAAE,0BAA2B,CAACiI,EAAIqnB,SAAUrnB,EAAI2mB,WAClE,MACF,KAAK,GACHD,EAAa3sB,OAAKhC,EAAE,yBAA0B,CAACiI,EAAI2mB,WACnD,MACF,KAAK,GACHD,EAAa3sB,OAAKhC,EAAE,yBAA0B,CAACiI,EAAI2mB,WACnD,MACF,KAAK,GACHD,EAAa3sB,OAAKhC,EAAE,yBAA0B,CAACiI,EAAI2mB,WACnD,MACF,KAAK,GACHD,EAAa3sB,OAAKhC,EAAE,uBAAwB,CAACiI,EAAIsnB,gBACjD,MACF,KAAK,GACHZ,EAAa3sB,OAAKhC,EAAE,uBAAwB,CAACiI,EAAIsnB,gBACjD,MACF,KAAK,GACHZ,EAAa3sB,OAAKhC,EAAE,uBAAwB,CAACiI,EAAIsnB,gBACjD,MACF,KAAK,GACHZ,EAAa3sB,OAAKhC,EAAE,2BAA4B,CAACiI,EAAImnB,cAAennB,EAAI2mB,WACxE,MACF,KAAK,GACHD,EAAa3sB,OAAKhC,EAAE,kCAAmC,CAACiI,EAAIonB,sBAAuBpnB,EAAI2mB,WACvF,MACF,KAAK,GACHD,EAAa3sB,OAAKhC,EAAE,4BAA6B,CAACiI,EAAImnB,cAAennB,EAAI2mB,WACzE,MACF,KAAK,GACHD,EAAa3sB,OAAKhC,EAAE,8BAA+B,CAACiI,EAAImnB,cAAennB,EAAI2mB,WAC3E,MACF,KAAK,GACHD,EAAa3sB,OAAKhC,EAAE,wBACpB,MACF,KAAK,GACH2uB,EAAa3sB,OAAKhC,EAAE,qBAAsB,CAACiI,EAAIunB,QAASvnB,EAAI+mB,WAC5D,MACF,KAAK,GACHL,EAAa3sB,OAAKhC,EAAE,kBAAmB,CAACiI,EAAIunB,QAASvnB,EAAI+mB,WACzD,MACF,KAAK,GACHL,EAAa3sB,OAAKhC,EAAE,6BAA8B,CAACiI,EAAIinB,QAASjnB,EAAIqnB,WACpE,MACF,KAAK,GACHX,EAAa3sB,OAAKhC,EAAE,2BAA4B,CAACiI,EAAIqnB,SAAUrnB,EAAIinB,UACnE,MACF,KAAK,GACHP,EAAa3sB,OAAKhC,EAAE,iBAAkB,CAACiI,EAAIwnB,aAC3C,MACF,KAAK,GACHd,EAAa3sB,OAAKhC,EAAE,oBAAqB,CAACiI,EAAIinB,QAASjnB,EAAIwnB,aAC3D,MACF,KAAK,GACHd,EAAa3sB,OAAKhC,EAAE,oBAAqB,CAACiI,EAAIwnB,aAC9C,MAEJxnB,EAAIynB,MAAQhB,EAAW,IAAMC,EAC7B1mB,EAAI0nB,WAAa5K,EAAe9c,EAAI2nB,WAGtC,SAASC,GAAS3oB,EAAM4oB,EAAMC,EAASC,GACrC,IAAIC,EAAS,KACb,OAAO,IAAI7zB,SAAQ,SAACC,EAASC,GAC3B4K,EAAK/E,MAAM+tB,OAAS,SAACzoB,GACnB,IAAKqoB,EAAKK,OAAQ,CAChB,IAAIzd,EAAMjL,EAAQ2oB,OAAOC,UAAU,YAAa,GAChDN,EAAQp1B,KAAK,CACXsP,GAAI6lB,EAAK/gB,OAAQ2D,IAAKA,IAEpBud,GACF/oB,EAAKopB,aAAaL,EAAOhmB,IAE3B/C,EAAKqpB,SAASrpB,EAAKspB,OAAO,GAAGvmB,IAC7B5N,MAGJ6K,EAAKupB,YAAYX,EAAKY,iBACtB,IAIIC,EAJApiB,EAAQ,CACVC,EAAGshB,EAAKrhB,UACRC,EAAGohB,EAAKnhB,WAIRgiB,EADwB,IAAtBb,EAAK3kB,aACD6kB,EAAOF,EAAKvhB,MAAQuhB,EAAK1oB,MAAQ,QAEjC4oB,EAAOF,EAAKvhB,MAAQuhB,EAAK1oB,OAEjC,IAAIwpB,EAAW,GACfX,EAAS/oB,EAAK2pB,UAAUtiB,EAAOoiB,EAAKC,EAAUA,GAAU,GACxD1pB,EAAK4pB,e,SAGMC,G,2GAAf,WAAkCjsB,EAAKksB,EAAWC,EAAeC,EAAQlB,GAAzE,kHACMmB,EAAQH,EAAUI,MAAK,SAAA9nB,GAAC,OAAIA,EAAEZ,SAAW5D,EAAI2D,UACjD0oB,EAAMjqB,KAAOpC,EAAIoC,KACb0E,EAAWqlB,EAAc1S,QAAO,SAAAjV,GAAC,OAAIA,EAAEZ,SAAW5D,EAAI2D,WACtDyoB,EAAOG,aAJb,iBAKQtB,EAAU,GALlB,8BAMqBnkB,EANrB,0EAMakkB,EANb,kBAOYD,GAAQ/qB,EAAIoC,KAAM4oB,EAAMC,EAASC,GAP7C,iRASI,IATJ,aASS,IAAI7L,EAAI,KACP2L,EAAOlkB,EAASwlB,MAAK,SAAA9nB,GAAC,OAAIA,EAAEyF,SAAWoV,EAAKla,MAChD6lB,EAAKK,OAAShM,EAAKzR,KAFrB,MAAiBqd,EAAjB,eAA0B,IAI1BA,EAAU,KAbd,QAeM9nB,EAAMvL,SAAS40B,cAAc,SAAWxsB,EAAI2D,QAC5CyoB,EAAOK,eACTtpB,EAAIyH,MAAM8hB,MAAQ,OAClBvpB,EAAIyH,MAAM+hB,OAAS,QACnB3sB,EAAIoC,KAAKwqB,UACTxyB,YAAW,WACTiyB,EAAMvlB,SAAWA,IAChB,OAEH3D,EAAIwX,SACJ3a,EAAIoC,KAAO,KACXyqB,GAAqB,CAAElpB,OAAQ3D,EAAI2D,UA1BvC,4E,yBA6BA,SAASkpB,GAAsB7sB,EAAKksB,GAClC,IAAIG,EAAQH,EAAUI,MAAK,SAAA9nB,GAAC,OAAIA,EAAEZ,SAAW5D,EAAI2D,UAEjD,OADA0oB,EAAMS,eAAgB,GACjBZ,EAAUI,MAAK,SAAA9nB,GAAC,OAAwB,IAApBA,EAAEsoB,iB,SAKdC,G,6GAAf,WAAqCppB,EAAQuoB,EAAWE,EAAQY,EAAiB9B,EAAQ4B,GAAzF,0FACMhmB,EAAWolB,EAAUzS,QAAO,SAAAjV,GAAC,OAAIA,EAAEZ,SAAWD,MAC9CyoB,EAAOG,aAFb,gBAGIU,GAAoB/B,EAAQ8B,EAAiBlmB,GAHjD,sCAKUomB,GAAqBF,EAAiBrpB,EAAQyoB,EAAQF,EAAWplB,EAAUokB,EAAQ4B,GAL7F,2C,kCAQeK,G,mHAAf,WAAgCnC,EAAMoC,EAAoBjB,EAAexoB,EAAQqpB,EAAiBZ,EAAQF,EAAWhB,EAAQ4B,GAA7H,4FACEM,EAAmBv3B,KAAKm1B,GAClBlkB,EAAWqlB,EAAc1S,QAAO,SAAAjV,GAAC,OAAIA,EAAEZ,SAAWD,KAClD0pB,EAAQD,EAAmB3T,QAAO,SAAAjV,GAAC,OAAIA,EAAEZ,SAAWD,MACtD0pB,GAASA,EAAM93B,SAAWuR,EAASvR,OAJzC,gCAKU23B,GAAqBF,EAAiBrpB,EAAQyoB,EAAQF,EAAWplB,EAAUokB,EAAQ4B,GAL7F,2C,yBAQA,SAASG,GAAqB/B,EAAQ8B,EAAiBlmB,GAAU,2BAC/D,YAAiBA,EAAjB,+CAA2B,KAAlBkkB,EAAkB,QACzBsC,GAAepC,EAAQ8B,EAAiBhC,IAFqB,mFAKjE,SAASsC,GAAgBpC,EAAQ8B,EAAiBhC,GAChD,IAAIa,EAAMX,EAAOF,EAAKvhB,MAAQuhB,EAAK1oB,OACnC0qB,EAAgBO,WAAW1B,EAAKb,G,SAEnBkC,G,+GAAf,WAAqCF,EAAiBrpB,EAAQyoB,EAAQF,EAAWplB,EAAUokB,EAAQ4B,GAAnG,0GACM3pB,EAAMvL,SAAS40B,cAAc,SAAW7oB,IACxCyoB,EAAOK,cAFb,iCAGUO,EAAgBQ,kBAH1B,OAKI,IADInB,EAAQH,EAAUI,MAAK,SAAA9nB,GAAC,OAAIA,EAAEZ,SAAWD,KAJjD,4BAKI,EAAiBmD,EAAjB,+CAASkkB,EAAkB,QACrBa,EAAMX,EAAOF,EAAKvhB,MAAQuhB,EAAK1oB,OACnC0qB,EAAgBS,wBAAwB5B,EAAKb,EAAKrhB,UAAWqhB,EAAKnhB,WAPxE,4OASIwiB,EAAMvlB,SAAWA,EATrB,wBAYI3D,EAAIwX,SAZR,QAcEmS,EAAc,CAAEnpB,OAAQA,IAd1B,4E,yBAgBA,SAAS+pB,KAAiD,IAAhCziB,EAAgC,uDAAxB,GAAI0iB,EAAoB,uDAAH,EACjDhQ,EAAQ,EACNiQ,EAAW,GACjB,MAAOjQ,EAAQ1S,EAAM1V,OACnBq4B,EAAS/3B,KAAKoV,EAAMhP,MAAM0hB,EAAOA,GAASgQ,IAE5C,OAAOC,EAGT,SAASC,GAAcC,EAAK1G,GAG1B,OAFA0G,EAAM5P,KAAKiB,KAAK2O,GAChB1G,EAAMlJ,KAAK8B,MAAMoH,GACVlJ,KAAK8B,MAAM9B,KAAK6P,UAAY3G,EAAM0G,IAAQA,EAEpC,QACbxqB,UACAuX,UACAW,YACAuB,YACAxe,aACAge,kBACAG,qBACAC,sBACArY,UACAsZ,UACAL,kBACAzC,OACAwD,eACAG,cACAQ,mCACAG,gBACAI,UACAS,iBACAJ,cACArU,eACAgX,YACAK,YACAI,SACAlX,gBACAH,UACAyX,YACAI,eACAE,cACAC,aACAO,mBACAC,mBACAC,sBACAC,sBACAC,uBACAC,uBACApY,iBACAoX,uBACA0B,gBACAqB,sBACAT,eACA9L,QACAC,KACAC,iBACAC,WACA0M,aACA1qB,OACAkrB,OACAC,YACAG,UACAnK,gBACA+K,cACAC,eACA9C,gBACAoD,qBACAC,uBACAO,uBACAE,2BACAR,sBACAS,uBACApB,gBACAsB,oBACAE,iBACAoB,WACAkB,qBACAc,wBACAI,mBACAN,wBACAa,mBACA1S,cACAwC,6BACAqQ,kB,oCCv5DF,qDAEI3xB,EAAS,IAAI,IAAa,CAC5B,GAAM,cACN,IAAO,oBACP,QAAW,cACX,QAAW,qqBAEA,IAAOC,IAAID,GACT,gB,kCCTf,qDAEIA,EAAS,IAAI,IAAa,CAC5B,GAAM,0BACN,IAAO,gCACP,QAAW,cACX,QAAW,m2BAEA,IAAOC,IAAID,GACT,gB,oCCTf,qDAEIA,EAAS,IAAI,IAAa,CAC5B,GAAM,mBACN,IAAO,yBACP,QAAW,YACX,QAAW,o+IAEA,IAAOC,IAAID,GACT,gB,6DCTf,qDAEIA,EAAS,IAAI,IAAa,CAC5B,GAAM,iBACN,IAAO,uBACP,QAAW,cACX,QAAW,svCAEA,IAAOC,IAAID,GACT,gB,oCCTf,qDAEIA,EAAS,IAAI,IAAa,CAC5B,GAAM,eACN,IAAO,qBACP,QAAW,cACX,QAAW,4tBAEA,IAAOC,IAAID,GACT,gB,oCCTf,yBAAsf,EAAG,G,oCCAzf,qDAEIA,EAAS,IAAI,IAAa,CAC5B,GAAM,mBACN,IAAO,yBACP,QAAW,gBACX,QAAW,+aAEA,IAAOC,IAAID,GACT,gB,oCCTf,yBAA6kB,EAAG,G,oCCAhlB,qDAEIA,EAAS,IAAI,IAAa,CAC5B,GAAM,cACN,IAAO,oBACP,QAAW,cACX,QAAW,mgCAEA,IAAOC,IAAID,GACT,gB,kCCTf,qDAEIA,EAAS,IAAI,IAAa,CAC5B,GAAM,YACN,IAAO,kBACP,QAAW,cACX,QAAW,2yBAEA,IAAOC,IAAID,GACT,gB,kCCTf,qDAEIA,EAAS,IAAI,IAAa,CAC5B,GAAM,iBACN,IAAO,uBACP,QAAW,cACX,QAAW,meAEA,IAAOC,IAAID,GACT,gB,kCCTf,qDAEIA,EAAS,IAAI,IAAa,CAC5B,GAAM,sBACN,IAAO,4BACP,QAAW,cACX,QAAW,6tCAEA,IAAOC,IAAID,GACT,gB,yDCTf,qDAEIA,EAAS,IAAI,IAAa,CAC5B,GAAM,eACN,IAAO,qBACP,QAAW,cACX,QAAW,ypBAEA,IAAOC,IAAID,GACT,gB,kCCTf,qDAEIA,EAAS,IAAI,IAAa,CAC5B,GAAM,kBACN,IAAO,wBACP,QAAW,cACX,QAAW,qiDAEA,IAAOC,IAAID,GACT,gB,yDCTf,qDAEIA,EAAS,IAAI,IAAa,CAC5B,GAAM,aACN,IAAO,mBACP,QAAW,cACX,QAAW,otBAEA,IAAOC,IAAID,GACT,gB,kCCTf,yBAAglB,EAAG,G,kCCAnlB,qDAEIA,EAAS,IAAI,IAAa,CAC5B,GAAM,gBACN,IAAO,sBACP,QAAW,cACX,QAAW,izBAEA,IAAOC,IAAID,GACT,gB,yDCTf,qDAEIA,EAAS,IAAI,IAAa,CAC5B,GAAM,cACN,IAAO,oBACP,QAAW,cACX,QAAW,kbAEA,IAAOC,IAAID,GACT,gB,yCCTf,IAAIwY,EAAS,WAAa,IAAIC,EAAI3B,KAAS4B,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,gBAAgB,CAACE,YAAY,OAAOG,MAAM,CAAC,YAAYR,EAAI7R,SAAS,WAAa,GAAG,eAAe6R,EAAI9R,UAAU,OAAS,2BAA2B,MAAQ8R,EAAI+O,OAAOtO,GAAG,CAAC,iBAAiBT,EAAIqZ,wBAAwB,IAClUpY,EAAkB,GCatB,G,oBAAA,CACEC,MAAO,CACL6N,MAAO,CACLrrB,KAAMgmB,OACNtI,QAAS,GAEXjT,SAAU,CACRzK,KAAMgmB,OACNtI,QAAS,GAEXlT,UAAW,CACTxK,KAAMgmB,OACNtI,QAAS,IAGbhhB,KAfF,WAgBI,MAAO,IAITihB,SAAU,GAGVC,QAvBF,aA0BEC,QA1BF,aA6BEC,MAAO,GAGPC,QAAS,CACP4X,oBADJ,SACA,GACMhb,KAAKqD,MAAM,sBAAuB1U,IAEpCssB,aAJJ,SAIA,GACMC,EAAcA,GAAe,EAC7B,IAAN,eACM,GAAIlb,KAAKnQ,UAAYmQ,KAAKlQ,SAAWqrB,EAAU,CACzCA,EAAW,IACbA,GAAsB,GAExB,IAAR,8BACQnb,KAAKgb,oBAAoBrQ,QAEzB3K,KAAKgb,oBAAoBhb,KAAKnQ,aAIpCyT,WAAY,KChE8V,I,YCOxWC,EAAY,eACd,EACA7B,EACAkB,GACA,EACA,KACA,WACA,MAIa,aAAAW,E,2CClBf,y6LAIaxL,EAAc,SAAChW,GAAD,OAAUsZ,eAAK,gBAAiBtZ,IAC9Cq5B,EAAc,SAACr5B,EAAMya,GAAP,OAA8BF,eAAQ,cAAgBva,EAAO,YAAa,MAAM,EAAOya,IACrG6e,EAAmB,SAACt5B,EAAMiiB,EAAMxH,GAAb,OAAoCK,eAAQ,cAAgB9a,EAAO,uBAAyBiiB,EAAM,MAAM,EAAMxH,IAUjI/O,EAAc,SAAC1L,GAAD,OAAU4Y,eAAI,kBAAmB5Y,IAC/Cu5B,EAAkB,SAACv5B,GAAD,OAAU4Y,eAAI,kBAAoB5Y,IACpDw5B,EAAgB,SAACx5B,GAAD,OAAUsZ,eAAK,iBAAkBtZ,IACjDy5B,EAAgB,SAACz5B,GAAD,OAAUsZ,eAAK,4BAA6BtZ,IAC5D05B,EAAc,SAAC15B,GAAD,OAAU4Y,eAAI,iBAAkB5Y,IAE9C25B,EAAqB,SAAC35B,GAAD,OAAU4Y,eAAI,mDAAqDghB,mBAAmB55B,KAC3G65B,EAAkB,SAAC75B,EAAM8Y,GAAP,OAA2BF,eAAI,kBAAoBghB,mBAAmB55B,GAAQ,oBAAqB,KAAM8Y,IAC3HghB,EAAkB,SAAC95B,GAAD,OAAUqa,eAAO,yBAA0Bra,IAC7D+5B,EAAc,SAAC/5B,GAAD,OAAU4Y,eAAI,qBAAuB5Y,IACnDg6B,EAAmB,SAAA5pB,GAAE,OAAIwI,eAAI,gCAC7BqhB,EAAiB,SAACj6B,GAAD,OAAU4Y,eAAI,4BAA6B5Y,IAC5Dk6B,EAAmB,SAACl6B,GAAD,OAAUsZ,eAAK,kCAAmCtZ,GAAM,IAC3Em6B,EAAiB,SAACn6B,GAAD,OAAU4Y,eAAI,4BAA6B5Y,IAC5Do6B,EAAqB,SAACp6B,GAAD,OAAU4Y,eAAI,gCAAiC5Y,IACpEq6B,EAAW,SAACr6B,GAAD,OAAU4Y,eAAI,gBAAiB5Y,IAC1Cs6B,EAAkB,SAAClqB,EAAIpQ,GAAL,OAAc4Y,eAAI,iBAAmBxI,EAAK,aAAcpQ,IAC1Eu6B,EAAkB,SAACv6B,GAAD,OAAUsZ,eAAK,oBAAqBtZ,IACtDw6B,EAAkB,SAACx6B,GAAD,OAAUsZ,eAAK,oCAAqCtZ,IACtEy6B,EAAmB,SAACz6B,GAAD,OAAU4Y,eAAI,yBAA0B5Y,IAC3D06B,EAAiB,SAAC16B,GAAD,OAAUsZ,eAAK,gCAAiCtZ,IACjE26B,EAAgB,SAAC36B,GAAD,OAAUsZ,eAAK,+BAAgCtZ,IAI/D46B,EAAuB,SAAC56B,GAAD,OAAU4Y,eAAI,kCAAoC5Y,IACzE66B,EAAsB,SAAC76B,GAAD,OAAU4Y,eAAI,uBAAwB5Y,IAC5D86B,EAAuB,SAAC96B,GAAD,OAAUsZ,eAAK,uBAAwBtZ,IAC9D+6B,EAAiB,kBAAMniB,eAAI,8BAC3BoiB,EAAkB,SAACh7B,GAAD,OAAUsZ,eAAK,4BAA6BtZ,IAE9Di7B,EAAqB,SAACj7B,GAAD,OAAUsZ,eAAK,uCAAwCtZ,IAC5EyQ,EAAsB,SAACL,GAAD,OAAQwI,eAAI,sCAAwCxI,IAC1E8qB,EAAuB,SAACl7B,GAAD,OAAUsZ,eAAK,sCAAuCtZ,IAC7Em7B,EAAqB,SAACC,EAAU7yB,GAAX,OAAsBqQ,eAAI,+CAAiDrQ,EAAS,aAAeqxB,mBAAmBwB,KAC3IC,EAA6B,kBAAMziB,eAAI,0CACvC0iB,EAA8B,SAACt7B,GAAD,OAAUsZ,eAAK,wCAAyCtZ,IAGtFu7B,EAAiB,SAACv7B,GAAD,OAAU4Y,eAAI,oBAAqB5Y,IAEpDw7B,EAA2B,SAACx7B,GAAD,OAAUsZ,eAAK,yDAA0DtZ,IACpGy7B,EAA0B,SAACz7B,GAAD,OAAUqa,eAAO,4DAA6Dra,IACxG07B,EAAoB,SAAC17B,GAAD,OAAUsZ,eAAK,kDAAmDtZ,IAGtF27B,EAAc,SAAC37B,GAAD,OAAU4Y,eAAI,kBAAmB5Y,IAC/C47B,EAAa,SAAC57B,GAAD,OAAUqa,eAAO,wCAAyCra,IACvE67B,EAAY,SAAC77B,GAAD,OAAUoa,eAAO,oBAAqBpa,IAClD87B,EAAqB,SAAC1rB,GAAD,OAAQwI,eAAI,kBAAoBxI,EAAK,wBAE1DxE,EAAmB,SAAC5L,GAAD,OAAU4Y,eAAI,uBAAwB5Y,IACzD+7B,EAAmB,SAAC/7B,GAAD,OAAUsZ,eAAK,6CAA8CtZ,IAChFg8B,EAAsB,SAACh8B,GAAD,OAAUqa,eAAO,6CAA8Cra,IAErFi8B,EAAsB,SAACj8B,GAAD,OAAUsZ,eAAK,kDAAmDtZ,IACxFk8B,EAAiB,SAACl8B,GAAD,OAAUsZ,eAAK,mDAAoDtZ,IACpF4X,GAA4B,SAAC5X,GAAD,OAAU4Y,eAAI,2BAA4B5Y,IACtEoX,GAAe,SAACpX,GAAD,OAAU4Y,eAAI,cAAe5Y,IAC5Cm8B,GAAmB,SAACn8B,GAAD,OAAUsZ,eAAK,oBAAqBtZ,IACvD6L,GAAiB,kBAAM+M,eAAI,wBAC3B9M,GAAgB,SAAC9L,GAAD,OAAU4Y,eAAI,uBAAwB5Y,IACtDiM,GAAmB,kBAAM2M,eAAI,yBAC7BwjB,GAAe,SAACp8B,GAAD,OAAU4Y,eAAI,mBAAoB5Y,IACjDq8B,GAAc,SAACjsB,GAAD,OAAQwI,eAAI,cAAgBxI,IAC1CksB,GAAoB,SAACt8B,GAAD,OAAU4Y,eAAI,qCAAsC5Y,IACxEu8B,GAAoB,SAACv8B,GAAD,OAAU4Y,eAAI,sCAAuC5Y,IACzEw8B,GAAoB,SAACx8B,GAAD,OAAUsZ,eAAK,2DAA4DtZ,IAC/Fy8B,GAAoB,SAACz8B,EAAM08B,GAAP,OAA0BpjB,eAAK,wCAA4D,IAAnBojB,EAA0B,GAAK,0BAA2B18B,IACtJ28B,GAAa,SAAC38B,GAAD,OAAUqa,eAAO,oCAAqCra,IACnE48B,GAAmB,SAAC58B,GAAD,OAAUqa,eAAO,2DAA4Dra,IAChG68B,GAAmB,SAAC78B,GAAD,OAAUqa,eAAO,4DAA6Dra,IACjG88B,GAAU,SAAC98B,EAAM08B,GAAP,OAA0BpjB,eAAK,gBAAoC,IAAnBojB,EAA0B,GAAK,0BAA2B18B,IACpH+8B,GAAc,SAAC/8B,GAAD,OAAUsZ,eAAK,oDAAqDtZ,IAClFg9B,GAAc,SAACh9B,GAAD,OAAU4Y,eAAI,sBAAuB5Y,IACnDi9B,GAAsB,SAACj9B,GAAD,OAAUsZ,eAAK,8BAA+BtZ,IACpEwX,GAA0B,kBAAMoB,eAAI,+BAEpCskB,GAAkB,SAACl9B,GAAD,OAAU4Y,eAAI,6BAA8B5Y,IAC9DsQ,GAAwB,SAACtQ,GAAD,OAAU4Y,eAAI,0BAA2B5Y,IACjEm9B,GAA2B,SAACn9B,GAAD,OAAU4Y,eAAI,2BAA6B5Y,IACtEo9B,GAAyB,SAACp9B,GAAD,OAAUsZ,eAAK,0BAA2BtZ,IAEnEq9B,GAAwB,SAACr9B,GAAD,OAAU4Y,eAAI,0BAA2B5Y,IACjEs9B,GAAyB,SAACt9B,GAAD,OAAUsZ,eAAK,0BAA2BtZ,IACnEu9B,GAA2B,SAACv9B,GAAD,OAAUqa,eAAO,0BAA2Bra,IACvEw9B,GAAyB,SAACx9B,GAAD,OAAU4Y,eAAI,kDAAmD5Y,IAC1Fy9B,GAAqB,SAACz9B,GAAD,OAAU4Y,eAAI,8CAA+C5Y,IAClF09B,GAA6B,SAAC19B,GAAD,OAAUsZ,eAAK,8BAA+BtZ,IAE3E29B,GAA2B,SAAC39B,GAAD,OAAUqa,eAAO,0BAA2Bra,IACvE49B,GAAmB,SAAChvB,EAAQzF,GAAT,OAAsByP,eAAI,cAAgBhK,EAAS,8BAAgCzF,IACtG00B,GAAqB,SAAC79B,GAAD,OAAUsZ,eAAK,8BAA+BtZ,IAGnE89B,GAAe,SAAC99B,GAAD,OAAU4Y,eAAI,cAAe5Y,IAC5C+9B,GAAc,SAAC/9B,GAAD,OAAUqa,eAAO,oCAAqCra,IACpEg+B,GAAW,SAACh+B,GAAD,OAAUsZ,eAAK,oCAAqCtZ,IAC/D8O,GAAc,SAACsB,GAAD,OAAQwI,eAAI,cAAgBxI,EAAK,MAC/C6tB,GAAa,SAACj+B,EAAMwW,GAAP,OAAkB4D,eAAO,kCAAmCpa,EAAMwW,IAE/E0nB,GAAqB,SAACl+B,EAAMm+B,GAAP,OAA6B7kB,eAAK,mDAAqD6kB,EAAmBn+B,IAC/Ho+B,GAAqB,SAACp+B,GAAD,OAAUsZ,eAAK,6CAA8CtZ,IAClFq+B,GAAa,SAACr+B,GAAD,OAAUsZ,eAAK,2CAA4CtZ,IAExEs+B,GAAY,SAACt+B,GAAD,OAAUsZ,eAAK,sCAAuCtZ,IAClEu+B,GAAY,SAACv+B,GAAD,OAAU4Y,eAAI,eAAgB5Y,IAK1Cw+B,GAAe,SAACx+B,GAAD,OAAU4Y,eAAI,mBAAoB5Y,IACjDy+B,GAAqB,SAACruB,GAAD,OAAQwI,eAAI,mBAAqBxI,EAAK,MAC3DsuB,GAAe,SAACtuB,GAAD,OAAQwI,eAAI,mBAAqBxI,EAAK,aACrDuuB,GAAwB,SAAC3+B,GAAD,OAAUsZ,eAAK,4BAA6BtZ,IACpE4+B,GAAuB,SAACxuB,GAAD,OAAQwI,eAAI,mBAAqBxI,EAAK,cAE7DyuB,GAAa,SAAA7+B,GAAI,OAAIsZ,eAAK,gEAAiEtZ,IAC3FkQ,GAAuB,SAAAlQ,GAAI,OAAI4Y,eAAI,iBAAmBkmB,IAAG7V,UAAUjpB,KACnE+O,GAAmB,SAAAqB,GAAE,OAAIwI,eAAI,iBAAmBxI,EAAK,MAErD2uB,GAAe,SAAC/+B,GAAD,OAAUsZ,eAAK,8CAA+CtZ,IAC7Eg/B,GAAgB,SAACh/B,GAAD,OAAUsZ,eAAK,8CAA+CtZ,IAE9EkM,GAAe,SAACkE,GAAD,OAAQwI,eAAI,kBAAmBxI,IAC9C6uB,GAAe,SAACj/B,GAAD,OAAUsZ,eAAK,yCAA0CtZ,IACxEk/B,GAAmB,SAAC9uB,EAAI8V,EAAMpN,GAAX,OAA+BF,eAAI,mBAAqBxI,EAAK,6CAA+C8V,EAAM,KAAMpN,IAC3IqmB,GAAkB,SAAC/uB,GAAD,OAAQiK,eAAO,yCAA0CjK,IAG3EgvB,GAAwB,SAACp/B,GAAD,OAAU4Y,eAAI,0BAA2B5Y,IACjEq/B,GAAuB,SAACjvB,GAAD,OAAQwI,eAAI,2BAA6BxI,IAChEkvB,GAAwB,SAACt/B,GAAD,OAAUsZ,eAAK,0BAA2BtZ,IAClEu/B,GAA0B,SAACnvB,EAAIpQ,GAAL,OAAcia,eAAI,2BAA6B7J,EAAIpQ,IAC7Ew/B,GAA0B,SAACpvB,GAAD,OAAQiK,eAAO,2BAA6BjK,IAGtEqvB,GAAe,SAACz/B,GAAD,OAAU4Y,eAAI,mBAAoB5Y,IAGjD0/B,GAAkB,SAAC1/B,GAAD,OAAUqa,eAAO,yCAA0Cra,IAE7E2/B,GAAoB,SAAC3/B,GAAD,OAAU4Y,eAAI,oBAAqB5Y,IAEvD4/B,GAAe,SAAC5/B,GAAD,OAAUqa,eAAO,0CAA2Cra,IAC3EmM,GAAgB,SAACnM,GAAD,OAAU4Y,eAAI,+BAAgC5Y,IAC9D6/B,GAAiB,SAAC7/B,GAAD,OAAUsZ,eAAK,4BAA6BtZ,IAM7D8/B,GAAoB,SAAC9/B,GAAD,OAAU4Y,eAAI,iCAAkC5Y,IACpE+/B,GAAsB,SAAC//B,GAAD,OAAU4Y,eAAI,mCAAoC5Y,IACxEggC,GAAmB,SAAChgC,GAAD,OAAU4Y,eAAI,0BAA2B5Y,IAC5DigC,GAAW,SAACjgC,GAAD,OAAUsZ,eAAK,uBAAwBtZ,IAGlDkgC,GAAc,SAAClgC,GAAD,OAAU4Y,eAAI,qBAAsB5Y,IAClDmgC,GAAuB,SAACngC,GAAD,OAAUsZ,eAAK,0CAA2CtZ,IACjFogC,GAA4B,SAACpgC,GAAD,OAAUsZ,eAAK,yCAA0CtZ,IACrFqgC,GAAmB,SAACjwB,EAAI+K,GAAL,OAAkBvC,eAAI,kBAAoBxI,EAAK,qBAAuB+K,IACzFmlB,GAAc,SAACtgC,GAAD,OAAU4Y,eAAI,kCAAmC5Y,IAE/DugC,GAAiB,SAACvgC,GAAD,OAAUqa,eAAO,wBAAyBra,IAC3DwgC,GAAY,SAACxgC,GAAD,OAAUsZ,eAAK,2BAA4BtZ,IACvDygC,GAAkB,SAACzgC,GAAD,OAAUqa,eAAO,yBAA0Bra,IAC7D0gC,GAAc,SAACtwB,GAAD,OAAQiK,eAAO,qBAAuBjK,IAGpDuwB,GAAoB,SAAC3gC,GAAD,OAAU4Y,eAAI,uBAAwB5Y,IAC1D4gC,GAAmB,SAAC5gC,EAAMuZ,GAAP,OAA6BD,eAAK,sBAAuBtZ,EAAMuZ,IAClFsnB,GAAuB,SAAC7gC,GAAD,OAAUqa,eAAO,sBAAuBra,IAC/D8gC,GAAqB,SAAC9gC,GAAD,OAAUsZ,eAAK,2BAA4BtZ,IAGhE+gC,GAAgB,SAAC/gC,GAAD,OAAU4Y,eAAI,mBAAoB5Y,IAClDghC,GAAmB,SAAChhC,GAAD,OAAU4Y,eAAI,mBAAqB5Y,IACtDihC,GAAiB,SAACjhC,GAAD,OAAUsZ,eAAK,kBAAmBtZ,IACnDkhC,GAAmB,SAAClhC,GAAD,OAAUqa,eAAO,kBAAmBra,IAGvDmhC,GAAsB,SAACnhC,GAAD,OAAU4Y,eAAI,yBAA0B5Y,IAC9DohC,GAAwB,SAACphC,GAAD,OAAU4Y,eAAI,yBAA2B5Y,IACjEqhC,GAAqB,SAACrhC,GAAD,OAAUsZ,eAAK,wBAAyBtZ,IAC7DshC,GAAyB,SAACthC,GAAD,OAAUqa,eAAO,wBAAyBra,IACnEuhC,GAA6B,SAACvhC,GAAD,OAAUsZ,eAAK,qCAAsCtZ,IAGlFwhC,GAA0B,SAACxhC,GAAD,OAAU4Y,eAAI,gCAAkC5Y,IAG1EyhC,GAA0B,SAACzhC,GAAD,OAAUsZ,eAAK,mDAAoDtZ,IAC7F0hC,GAAwB,SAAC1hC,GAAD,OAAU4Y,eAAI,0BAA2B5Y,IACjE2hC,GAAmB,SAAC3hC,GAAD,OAAU4Y,eAAI,2BAA4B5Y,IAC7D4hC,GAAyB,SAAC5hC,GAAD,OAAUsZ,eAAK,0BAA2BtZ,IACnE6hC,GAA2B,SAAC7hC,GAAD,OAAUqa,eAAO,0BAA2Bra,IAGvE8hC,GAAiB,SAAC9hC,GAAD,OAAU4Y,eAAI,wBAAyB5Y,IACxD+hC,GAAiB,SAAC/hC,EAAM8Y,GAAP,OAA2BF,eAAI,wBAA0B5Y,EAAM,KAAM8Y,IACtFkpB,GAAe,SAAChiC,GAAD,OAAUsZ,eAAK,uBAAwBtZ,IACtDiiC,GAAiB,SAACjiC,GAAD,OAAUqa,eAAO,uBAAwBra,IAC1DkiC,GAAoB,SAACliC,GAAD,OAAU4Y,eAAI,yCAA0C5Y,IAC5EmiC,GAAmB,SAACniC,GAAD,OAAUsZ,eAAK,yCAA0CtZ,IAC5EoiC,GAAgB,SAAChyB,GAAD,OAAQwI,eAAI,wBAA0BxI,EAAK,mBAG3DpE,GAAmB,SAAChM,GAAD,OAAU4Y,eAAI,qBAAsB5Y,IACvDqiC,GAAoB,SAACriC,GAAD,OAAUsZ,eAAK,qBAAsBtZ,IACzDsiC,GAAsB,SAAClyB,GAAD,OAAQwI,eAAI,sBAAwBxI,IAC1DmyB,GAA6B,SAACviC,GAAD,OAAU4Y,eAAI,iDAAkD5Y,IAE7FwiC,GAAsB,SAACxiC,GAAD,OAAUqa,eAAO,qBAAsBra,IAC7DyiC,GAAwB,SAACziC,GAAD,OAAUsZ,eAAK,yBAA0BtZ,IAEjE0iC,GAAgC,SAAC1iC,GAAD,OAAUsZ,eAAK,+CAAgDtZ,IAG/F2iC,GAAU,SAAC3iC,GAAD,OAAU4Y,eAAI,YAAa5Y,IACrC4iC,GAAS,SAACC,GAAD,OAAWjqB,eAAI,aAAeiqB,IACvCC,GAAW,SAAC9iC,GAAD,OAAUsZ,eAAK,YAAatZ,IACvC+iC,GAAa,SAAC/iC,GAAD,OAAUqa,eAAO,YAAara,IAG3CgjC,GAAgB,SAAChjC,GAAD,OAAU4Y,eAAI,kBAAmB5Y,IACjDijC,GAAmB,SAACjjC,GAAD,OAAUqa,eAAO,kBAAmBra,IAGvDkjC,GAAa,SAACljC,GAAD,OAAU4Y,eAAI,gBAAiB5Y,IAC5CmjC,GAAc,SAACnjC,GAAD,OAAUsZ,eAAK,sCAAuCtZ,K;;CCrOhF,SAAUue,GAKP,GAFAA,EAAK9C,IAAM8C,EAAK9C,KAAO8C,EAAK6kB,UAExB7kB,EAAKhD,MAAQgD,EAAK9C,IAClB,IAEI,YADA,IAAIF,KAEN,MAAOnZ,IAKb,IAAIihC,EAAc9kB,EAAK8kB,aAAe9kB,EAAK+kB,mBAAqB/kB,EAAKglB,gBAAmB,SAAShlB,GACzF,IACIilB,EAAY,SAAS78B,GACjB,OAAOlG,OAAOC,UAAU8sB,SAAS5sB,KAAK+F,GAAQqnB,MAAM,sBAAsB,IAE5EyV,EAAkB,WAChBxlB,KAAKje,KAAO,IAEd0jC,EAAW,SAAc1jC,EAAMsD,EAAMqgC,GACnC1lB,KAAKje,KAAOA,EACZie,KAAK2lB,KAAO5jC,EAAKQ,OACjByd,KAAK3a,KAAOA,EACZ2a,KAAK0lB,SAAWA,GAElBE,EAAYJ,EAAgB/iC,UAC5BojC,EAAWJ,EAAShjC,UACpBqjC,EAAiBxlB,EAAKwlB,eACtBC,EAAgB,SAAS1gC,GACvB2a,KAAKla,KAAOka,KAAKA,KAAK9Y,KAAO7B,IAE/B2gC,EAAgB,8HAGhB5W,MAAM,KACN6W,EAAeD,EAAczjC,OAC7B2jC,EAAW5lB,EAAK9C,KAAO8C,EAAK6kB,WAAa7kB,EACzC6lB,EAAyBD,EAASzoB,gBAClC2oB,EAAyBF,EAASG,gBAClC7oB,EAAM0oB,EACNI,EAAOhmB,EAAKgmB,KACZC,EAAOjmB,EAAKimB,KAEZlmB,EAAcC,EAAKD,YACnBE,EAAaD,EAAKC,WAExBklB,EAASe,KAAOX,EAASW,MAAO,EAChC,MAAOP,IACHF,EAActjC,UAAUujC,EAAcC,IAAiBA,EAAe,EAiG1E,OA/FKC,EAASzoB,kBACVD,EAAM8C,EAAK9C,IAAM,IAErBA,EAAIC,gBAAkB,SAASJ,GAC3B,IAEMopB,EADFphC,EAAOgY,EAAKhY,KAMhB,OAHa,OAATA,IACAA,EAAO,4BAEPgY,aAAgBooB,GAChBgB,EAAkB,QAAUphC,EACN,WAAlBgY,EAAKqoB,SACEe,EAAkB,WAAappB,EAAKtb,KAClB,QAAlBsb,EAAKqoB,SACLe,EAAkB,IAAMC,mBAAmBrpB,EAAKtb,MACrDukC,EACKG,EAAkB,WAAaH,EAAKjpB,EAAKtb,MAEzC0kC,EAAkB,IAAM9K,mBAAmBte,EAAKtb,OAEpDokC,EACAA,EAAuBxjC,KAAKujC,EAAU7oB,QAD1C,GAIXG,EAAI6oB,gBAAkB,SAASM,GACQ,UAA/BA,EAAW78B,UAAU,EAAG,IAAkBs8B,GAC1CA,EAAuBzjC,KAAKujC,EAAUS,IAG9Cf,EAAUgB,OAAS,SAAS7kC,GACxB,IAAI8kC,EAAK7mB,KAAKje,KAEd,GAAIwe,IAAexe,aAAgBse,GAAete,aAAgBwe,GAAa,CAO3E,IANA,IACInT,EAAM,GACJgT,EAAM,IAAIG,EAAWxe,GACrBM,EAAI,EACJykC,EAAU1mB,EAAI7d,OAEbF,EAAIykC,EAASzkC,IAChB+K,GAAO+X,OAAO4hB,aAAa3mB,EAAI/d,IAEnCwkC,EAAGhkC,KAAKuK,QACL,GAAwB,SAApBm4B,EAAUxjC,IAAwC,SAApBwjC,EAAUxjC,GAAkB,CACjE,IAAI+jC,EAKA,MAAM,IAAIC,EAAc,oBAJxB,IAAIiB,EAAK,IAAIlB,EACbe,EAAGhkC,KAAKmkC,EAAGC,mBAAmBllC,SAK3BA,aAAgB0jC,EACD,WAAlB1jC,EAAK2jC,UAAyBa,EAC9BM,EAAGhkC,KAAK0jC,EAAKxkC,EAAKA,OACO,QAAlBA,EAAK2jC,SACZmB,EAAGhkC,KAAK6jC,mBAAmB3kC,EAAKA,OACP,QAAlBA,EAAK2jC,UACZmB,EAAGhkC,KAAKd,EAAKA,OAGG,kBAATA,IACPA,GAAQ,IAGZ8kC,EAAGhkC,KAAKqkC,SAASvL,mBAAmB55B,OAG5C6jC,EAAUuB,QAAU,SAAS9hC,GAIzB,OAHK+vB,UAAU7yB,SACX8C,EAAO,MAEJ,IAAIogC,EAASzlB,KAAKje,KAAKmzB,KAAK,IAAK7vB,EAAM,QAElDugC,EAAUrW,SAAW,WACjB,MAAO,wBAEXsW,EAAS58B,MAAQ,SAASikB,EAAOP,EAAKtnB,GAClC,IAAI+hC,EAAOhS,UAAU7yB,OAIrB,OAHI6kC,EAAO,IACP/hC,EAAO,MAEJ,IAAIogC,EACPzlB,KAAKje,KAAKkH,MAAMikB,EAAOka,EAAO,EAAIza,EAAM3M,KAAKje,KAAKQ,QAChD8C,EACA2a,KAAK0lB,WAGfG,EAAStW,SAAW,WAChB,MAAO,iBAEXsW,EAASwB,MAAQ,WACbrnB,KAAK2lB,KAAO3lB,KAAKje,KAAKQ,OAAS,GAE5BijC,EAtIyE,CAuIlFllB,GAENA,EAAKhD,KAAO,SAAcgqB,EAAWC,GACjC,IAAIliC,EAAOkiC,GAAWA,EAAQliC,MAAc,GACxCmiC,EAAU,IAAIpC,EAClB,GAAIkC,EACA,IAAK,IAAIjlC,EAAI,EAAGolC,EAAMH,EAAU/kC,OAAQF,EAAIolC,EAAKplC,IAC7CmlC,EAAQZ,OAAOU,EAAUjlC,IAGjC,OAAOmlC,EAAQL,QAAQ9hC,KA/J9B,CAiKiB,qBAATqiC,MAAwBA,MAA0B,qBAAX3+B,QAA0BA,cAAU,GAAK6S,cAAW,I,yDClLpG,qDAEI1S,EAAS,IAAI,IAAa,CAC5B,GAAM,mBACN,IAAO,yBACP,QAAW,cACX,QAAW,0rBAEA,IAAOC,IAAID,GACT,gB,kCCTf,qDAEIA,EAAS,IAAI,IAAa,CAC5B,GAAM,cACN,IAAO,oBACP,QAAW,cACX,QAAW,ukBAEA,IAAOC,IAAID,GACT,gB,kCCTf,yBAAwjB,EAAG,G,kCCA3jB,qDAEIA,EAAS,IAAI,IAAa,CAC5B,GAAM,YACN,IAAO,kBACP,QAAW,cACX,QAAW,g0CAEA,IAAOC,IAAID,GACT,gB,kCCTf,qDAEIA,EAAS,IAAI,IAAa,CAC5B,GAAM,WACN,IAAO,iBACP,QAAW,cACX,QAAW,kcAEA,IAAOC,IAAID,GACT,gB,kCCTf,qDAEIA,EAAS,IAAI,IAAa,CAC5B,GAAM,mBACN,IAAO,yBACP,QAAW,cACX,QAAW,mzBAEA,IAAOC,IAAID,GACT,gB,kCCTf,qDAEIA,EAAS,IAAI,IAAa,CAC5B,GAAM,aACN,IAAO,mBACP,QAAW,cACX,QAAW,8hBAEA,IAAOC,IAAID,GACT,gB,kCCTf,qDAEIA,EAAS,IAAI,IAAa,CAC5B,GAAM,sBACN,IAAO,4BACP,QAAW,gBACX,QAAW,wqDAEA,IAAOC,IAAID,GACT,gB,kCCTf,qDAEIA,EAAS,IAAI,IAAa,CAC5B,GAAM,aACN,IAAO,mBACP,QAAW,cACX,QAAW,0xBAEA,IAAOC,IAAID,GACT","file":"js/app.97ce47bb.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-2f934164\":\"5e138c89\",\"chunk-0aee0470\":\"0b4eb34a\",\"chunk-2d226708\":\"1c6d89a5\",\"chunk-88fbe64c\":\"2a284335\",\"chunk-35cd7ff8\":\"80cfd0ac\",\"chunk-2d2266bb\":\"8607c4a9\",\"chunk-2d216214\":\"ec6d7d18\",\"chunk-5ebc2755\":\"057f002f\"}[chunkId] + \".js\"\n \t}\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 \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-2f934164\":1,\"chunk-0aee0470\":1,\"chunk-88fbe64c\":1,\"chunk-35cd7ff8\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-2f934164\":\"60420760\",\"chunk-0aee0470\":\"4a25eb2e\",\"chunk-2d226708\":\"31d6cfe0\",\"chunk-88fbe64c\":\"5f8367d3\",\"chunk-35cd7ff8\":\"a0a6e8d1\",\"chunk-2d2266bb\":\"31d6cfe0\",\"chunk-2d216214\":\"31d6cfe0\",\"chunk-5ebc2755\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\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 \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-zoom in to fit\",\n \"use\": \"icon-zoom in to fit-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-setting\",\n \"use\": \"icon-setting-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"jobtracker icon1_20200916\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import enlocale from 'element-ui/lib/locale/lang/en'\r\n\r\nconst en = {\r\n 'index': {\r\n 'Projects': 'Projects',\r\n 'Open': 'Open',\r\n 'Closed': 'Closed',\r\n 'NewProject': 'New Project',\r\n 'SearchProjectNameOrAddress': 'Search project name or address',\r\n 'Filters': 'Filters',\r\n 'Updated': 'Updated {date}',\r\n 'NoData': 'No Data',\r\n 'Name': 'Name',\r\n 'User': 'User',\r\n 'CreatedFrom': 'Created from',\r\n 'CreatedTo': 'Created to',\r\n 'daysAgo': ' days ago',\r\n 'hoursAgo': ' hours ago',\r\n 'minutesAgo': ' minutes ago',\r\n 'CreateBy': 'Created by',\r\n 'Members': 'Members',\r\n 'Tutorials': 'Tutorials',\r\n 'DownloadApp': 'Download App'\r\n },\r\n '404': {\r\n 'OOPS': 'OOPS',\r\n 'ThePageYouWereLookingForIsMissing': 'The page you were looking for is missing',\r\n 'check': 'Please check that the URL you entered is correct, click the button below to return',\r\n 'Back': 'Back'\r\n },\r\n 'corp': {\r\n 'ExpiredOn': 'Expired On',\r\n 'SwitchCorp': 'Switch Corp',\r\n 'EditProfile': 'Edit Profile',\r\n 'Paid in Apple': 'Paid in Apple',\r\n 'total': 'Total',\r\n 'User': 'User',\r\n 'PaymentMethod': 'Payment Method',\r\n 'Type': 'Type',\r\n 'Chinese': 'Chinese',\r\n 'English': 'English',\r\n 'BatchDelete': 'Batch Delete',\r\n 'Welcome': 'Welcome, {user}',\r\n 'EditCorp': 'Edit Corp',\r\n 'CategoryName': 'Category Name',\r\n 'Action': 'Action',\r\n 'Edit': 'Edit',\r\n 'Settings': 'Settings',\r\n 'CompanyName': 'Company Name',\r\n 'CorpSetting': 'Corp Setting',\r\n 'M2Integration': 'M2 Integration',\r\n 'Categories': 'Categories',\r\n 'Unit': 'Unit',\r\n 'TemperatureUnit': 'Temperature Unit',\r\n 'Save': 'Save',\r\n 'LaborItems': 'Labor Items',\r\n 'NewLaborItem': 'New Labor Item',\r\n 'Name': 'Name',\r\n 'InstallCarpet': 'Install Carpet',\r\n 'InstallVinyl': 'Install Vinyl',\r\n 'InstallWallPaper': 'Install WallPaper',\r\n 'InstallTile': 'Install Tile',\r\n 'InstallLaminate': 'Install Laminate',\r\n 'InstallHardwood': 'Install Hardwood',\r\n 'Install Carpet': 'Install Carpet',\r\n 'Install Vinyl': 'Install Vinyl',\r\n 'Install WallPaper': 'Install WallPaper',\r\n 'Install Tile': 'Install Tile',\r\n 'Install Laminate': 'Install Laminate',\r\n 'Install Hardwood': 'Install Hardwood',\r\n 'Price': 'Price',\r\n 'PleaseCheckOneLaborItemAtLast': 'Please check one labor item at last',\r\n 'AreYouSureYouWantToDeleteTheseLaborItems': 'Are you sure you want to delete these labor items?',\r\n 'TIPS': 'TIPS',\r\n 'Yes': 'Yes',\r\n 'No': 'No',\r\n 'Licenses': 'Licenses',\r\n 'Total': 'Total {0}, Remaining {1}',\r\n 'remaining': 'remaining',\r\n 'Storage': 'Storage',\r\n 'Expired': 'Expired',\r\n 'NextBilling': 'Next billing',\r\n 'Upgrade': 'Upgrade',\r\n 'Buy': 'Buy',\r\n 'PaymentHistory': 'Payment History',\r\n 'SubscriptionID': 'Subscription ID',\r\n 'Item': 'Item',\r\n 'Quantity': 'Quantity',\r\n 'Rate': 'Rate',\r\n 'Subscription': 'Subscription {type}, waiting for payment',\r\n 'RenewedOn': 'Renewed on',\r\n 'ProrationCharged': 'Proration charged on',\r\n 'NextBillingDateIs': 'Next billing date is',\r\n 'SubscriptionCreated': 'Subscription created, waiting for payment',\r\n 'SubscriptionResumed': 'Subscription resumed, waiting for payment',\r\n 'SubscriptionUpdated': 'Subscription updated',\r\n 'SubscriptionCanceled': 'Subscription Canceled',\r\n 'SubscriptionFailed': 'Paid failed',\r\n 'SubscriptionTryPay': 'Invoice created, waiting for payment',\r\n 'SubscriptionSent': 'Invoice sent, waiting for payment',\r\n 'sSubscription': '\\'s subscription',\r\n 'Add': 'Add',\r\n 'Remove': 'Remove',\r\n 'TurnOnAuto-Bill': 'Turn On Auto-Bill',\r\n 'TurnOffAuto-Bill': 'Turn Off Auto-Bill',\r\n 'Cancel': 'Cancel',\r\n 'Resume': 'Resume',\r\n 'LoadHistory': 'View History',\r\n 'CreatedOn': 'Created On',\r\n 'Amount': 'Amount',\r\n 'Status': 'Status',\r\n 'Invoice#': 'Invoice #',\r\n 'Note': 'Note',\r\n 'TrakrStarter(Trial)': 'Trakr Starter (Trial)',\r\n 'EditPassword': 'Edit Password',\r\n 'Activities': 'Activities',\r\n 'NoData': 'No Data',\r\n 'createdaTask': 'created a task ({TaskName})',\r\n 'assignTheTask': 'assigned the task ({0}) to {1}',\r\n 'setTheProgress': 'set the progress of task ({0}) to {1} %',\r\n 'deletedaTask': 'deleted a task ({0})',\r\n 'addRHReadingToTask': 'added RH reading to task({0})',\r\n 'addCaClReadingToTask': 'added CaCl reading to task({0})',\r\n 'removeaRH': 'removed a RH reading from task ({0})',\r\n 'removeaCaCl': 'removed a CaCl reading from task ({0})',\r\n 'NewUser': 'New User',\r\n 'LoginAccount': 'Login Account',\r\n 'ManageMySubscription': 'Manage Subscription',\r\n 'Role': 'Role',\r\n 'CreatedTime': 'Created Time',\r\n 'License': 'License',\r\n 'Delete': 'Delete',\r\n 'AreYouSureYouWantToDeleteThisUser': 'Are you sure you want to delete this user?',\r\n 'ConfigLanguage': 'Config Language',\r\n 'LastActivity': 'Last Active',\r\n 'TotalProjectCount': '# Projects',\r\n 'TotalUserCount': '# Users',\r\n 'TotalCompletedTaskCount': '# Tasks(Completed)',\r\n 'TotalAssignToTaskCount': '# Assigned',\r\n 'TotalAssignedTaskCount': '# Assigned Tasks',\r\n 'More': 'More',\r\n 'Mock': 'Mock',\r\n 'Assign User To Corp': 'Assign User to Corp',\r\n 'Created': 'Created',\r\n 'IsActive': 'Is Active',\r\n 'NoAvailableLicense': 'No available license for the user.',\r\n 'PleaseUpgrade': 'Please upgrade to purchase more licenses.',\r\n 'PleasePurchaseMore': 'Please purchase more licenses.',\r\n 'SearchUserName': 'Search user name',\r\n 'SearchLoginAccount': 'Search login account',\r\n 'SendNotification': 'Send Notification',\r\n 'NotificationEvents': 'Notification Events',\r\n 'Project': 'Project',\r\n 'Plan': 'Plan',\r\n 'Task': 'Task',\r\n 'Report': 'Report',\r\n 'Create': 'Create',\r\n 'Update': 'Update',\r\n 'Close': 'Close',\r\n 'CloseReopen': 'Close/Reopen',\r\n 'Rename': 'Rename',\r\n 'Assign': 'Assign',\r\n 'ChangeProgress': 'Change Progress',\r\n 'Complete': 'Complete',\r\n 'AddMember': 'Add Member',\r\n 'DeleteMember': 'Delete Member',\r\n 'NewChecklistTemplate': 'New Checklist Template',\r\n 'SearchTemplateName': 'Search template name',\r\n 'AreYouSureYouWantToDeleteThisChecklistTemplate': 'Are you sure you want to delete this checklist template?',\r\n 'GroupName': 'Group Name',\r\n 'NewTaskTemplate': 'New Task Template',\r\n 'AreYouSureYouWantToDeleteThisTaskTemplate': 'Are you sure you want to delete this task template?',\r\n 'AddChecklist': 'Add Checklist',\r\n 'AddChecklistItem': 'Add Checklist Item',\r\n 'DeleteChecklistItem': 'Delete Checklist Item',\r\n 'RenameChecklistItem': 'Rename Checklist Item',\r\n 'CheckChecklistItem': 'Check Checklist Item',\r\n 'CrossChecklistItem': 'Cross Checklist Item',\r\n 'AddDocument': 'Add Document',\r\n 'DeleteDocument': 'Delete Document',\r\n 'AddPhoto': 'Add Photo',\r\n 'DeletePhoto': 'Delete Photo',\r\n 'AddVideo': 'Add Video',\r\n 'DeleteVideo': 'Delete Video',\r\n 'AnnotatePhoto': 'Annotate Photo',\r\n 'FirstLoginTime': 'First Login',\r\n 'NewTag': 'New Tag',\r\n 'TagColor': 'Color',\r\n 'AreYouSureYouWantToDeleteThisTag': 'Are you sure you want to delete this tag?',\r\n 'AreYouSureYouWantToDeleteThisObjectTag': 'The tag is being used by the plans. Are you sure you want to delete it?',\r\n 'TagNameIsNotEmpty': 'Name is Not Empty',\r\n 'NewTaskGroupTemplate': 'New Task Group Template',\r\n 'AreYouSureYouWantToDeleteThisTaskGroupTemplate': 'Are you sure you want to delete this task group template?',\r\n 'SearchTagName': 'Search tag name'\r\n },\r\n 'layout': {\r\n 'Filter': 'Filter',\r\n 'Clearfilter': 'Clear filter',\r\n 'ManageMySubscription': 'Manage Subscription',\r\n 'Upgrade': 'Upgrade to get unlimited projects & more.',\r\n 'Buy': 'Buy',\r\n 'SearchOrJumpTo': 'Search or jump to',\r\n 'AllReport': 'All Report',\r\n 'Management': 'Management',\r\n 'MyCorp': 'My Corp',\r\n 'MyProfile': 'My Profile',\r\n 'LogOut': 'Log Out',\r\n 'EndMock': 'End Mock',\r\n 'MyTasks': 'My Tasks',\r\n 'Reports': 'Reports'\r\n },\r\n 'welcome': {\r\n 'TIPS': 'TIPS',\r\n 'Yes': 'Yes',\r\n 'No': 'No',\r\n 'LogInToYourAccount': 'Log in to your account',\r\n 'NotRegistered': 'Not registered?',\r\n 'SignUp': 'Sign Up',\r\n 'MeasureSquareID': 'Measure Square ID (Email) *',\r\n 'Password': 'Password *',\r\n 'ForgotPassword': 'Forgot password?',\r\n 'Login': 'Login',\r\n 'MeasureSquareIDisRequired': 'Measure Square ID is required',\r\n 'PasswordIsRequired': 'Password is required',\r\n 'CreateYourAccount': 'Create your Account',\r\n 'AlreadyHaveAnAccount': 'Already have an account?',\r\n 'SignIn': 'Sign In',\r\n 'Name': 'Name *',\r\n 'BusinessName': 'Business Name *',\r\n 'YouNeedToEnteraValidemail': 'You need to enter a valid email',\r\n 'LoginAccount': 'Login Account',\r\n 'LoginEmail': 'Email *',\r\n 'LoginAccountAlreadyExists': 'Login Account already exists',\r\n 'LoginAccountIsRequired': 'Login Account is required',\r\n 'NameIsRequired': 'Name is required',\r\n 'PhoneIsRequired': 'Phone is required',\r\n 'BusinessNameIsRequired': 'Business Name is required',\r\n 'ApplyNewPassword': 'Apply New Password',\r\n 'NewPassword': 'New Password',\r\n 'ConfirmPassword': 'Confirm Password *',\r\n 'AccountIsRequired': 'Account is required',\r\n 'ConfirmPasswordDoseNotMatchPassword': 'Confirm password dose not match password',\r\n 'ConfirmPasswordIsRequired': 'Confirm Password is required',\r\n 'WelcomeToJoin': 'Welcome to join',\r\n 'YouNeedToEnteraValidEmail': 'You need to enter a valid email',\r\n 'ResetPassword': 'Reset Password',\r\n 'Email': 'Email',\r\n 'SendEmail': 'Send Email',\r\n 'EmailSent': 'Email Sent!',\r\n 'WeJustSentAnEmailTo': 'We just sent an email to',\r\n 'check': 'If you go check your email now, you should find a message from us with instructions on how to choose a new password for your account.',\r\n 'notreceive': 'If you don\\'t receive an email from us within a few minutes, please check your spam folder.',\r\n 'BackTo': 'Back to',\r\n 'EmailIsRequired': 'Email is required',\r\n 'Projects': 'Projects',\r\n 'Open': 'Open',\r\n 'Closed': 'Closed',\r\n 'NewProject': 'New Project',\r\n 'Filters': 'Filters',\r\n 'Loading': 'Loading',\r\n 'Phone': 'Phone *',\r\n 'CorpNameAlreadyExists': 'Business Name already exists'\r\n },\r\n 'home': {\r\n 'TIPS': 'TIPS',\r\n 'Yes': 'Yes',\r\n 'No': 'No',\r\n 'Welcome': 'Welcome',\r\n 'happening': 'Here\\'s what\\'s happening',\r\n 'EditProject': 'Edit Project',\r\n 'CloseProject': 'Close Project',\r\n 'Progress': 'Progress',\r\n 'CreateBy': 'Create by {0} {1}',\r\n 'PLANS': 'PLANS',\r\n 'AddPlan': 'Add Plan',\r\n 'TASKS': 'TASKS',\r\n 'Open': 'Open',\r\n 'All': 'All',\r\n 'REPORTS': 'REPORTS',\r\n 'Activities': 'Last 20 Activities',\r\n 'NoData': 'No Data',\r\n 'AreYouSureYouWantToCloseThisProject': 'Are you sure you want to close this project?',\r\n 'createdaTask': 'added a task ({0})',\r\n 'assignTheTask': 'assigned the task ({0}) to {1}',\r\n 'setTheProgress': 'changed the progress of task ({0}) to {1}%',\r\n 'deletedaTask': 'deleted a task ({0})',\r\n 'addRHReadingToTask': 'added RH reading to task({0})',\r\n 'addCaClReadingToTask': 'added CaCl reading to task({0})',\r\n 'removeaRH': 'deleted a RH reading from task ({0})',\r\n 'removeaCaCl': 'deleted a CaCl reading from task ({0})',\r\n 'createdaPlan': 'added a plan ({0})',\r\n 'deletedaPlan': 'deleted a plan ({0})',\r\n 'ReopenProject': 'Reopen Project',\r\n 'AreYouSureYouWantToReopenThisProject': 'Are you sure you want to reopen this project?',\r\n 'loggedInSystem': 'is logged in',\r\n 'CreatedProject': 'add the project',\r\n 'UpdatedProject': 'updated the project',\r\n 'ClosedProject': 'closed the project',\r\n 'ReopenedProject': 'reopened the project',\r\n 'RenamePlan': 'renamed the plan ({0}) to ({1})',\r\n 'AddProjectMember': 'invite ({0}) to the project ({1})',\r\n 'DeletedProjectMember': 'deleted ({0}) from the project ({1})',\r\n 'CreatedReport': 'add a report ({0})',\r\n 'BatchCreateTask': 'add multiple tasks',\r\n 'BatchChangeTask': 'updated multiple tasks',\r\n 'BatchDeleteTask': 'deleted multiple tasks',\r\n 'BatchCreatePlan': 'added multiple plans',\r\n 'BatchUpdatedPlan': 'updated multiple plans',\r\n 'BatchDeletePlan': 'deleted multiple plans',\r\n 'BatchAddProjectMember': 'invite multiple users to the project ({0})',\r\n 'CompletedTask': 'completed the task ({0})',\r\n 'UpdatedTask': 'updated the task ({0})',\r\n 'AddTaskChecklist': 'added checklist ({0}) to the task ({1})',\r\n 'AddTaskChecklistItem': 'added checklist item ({0}) to the task ({1})',\r\n 'DeleteTaskChecklistItem': 'deleted checklist item ({0}) from the task ({1})',\r\n 'RenameTaskChecklistItem': 'renamed the checklist item ({0}) to ({1}) on the task ({2})',\r\n 'CheckedTaskChecklistItem': 'check the checklist item ({0}) on the task ({1})',\r\n 'CrossTaskChecklistItem': 'cross the checklist item ({0}) on the task ({1})',\r\n 'AddTaskPhoto': 'added photo to the task ({0})',\r\n 'DeleteTaskPhoto': 'deleted photo from the task ({0})',\r\n 'AddTaskVideo': 'added a video to the task ({0})',\r\n 'DeleteTaskVideo': 'deleted a video from the task ({0})',\r\n 'AddProjectDocument': 'added the document ({0}) to the project ({1})',\r\n 'DeleteProjectDocument': 'deleted the document ({0}) from the project ({1})',\r\n 'AddTaskDocument': 'added the document ({0}) to the task ({1})',\r\n 'DeleteTaskDocument': 'deleted the document ({0}) from the task ({1})',\r\n 'AnnotateTaskPhoto': 'annotated photo to the task ({0})',\r\n 'BatchAddTaskPhoto': 'added photos to the task ({0})',\r\n 'BatchAddTaskVideo': 'added viedos to the task ({0})',\r\n 'CreateTaskGroup': 'add a task group ({0})',\r\n 'UpdateTaskGroup': 'updated the task group ({0})',\r\n 'DeleteTaskGroup': 'deleted the task group ({0})',\r\n 'DeleteTaskChecklist': 'deleted the checklist ({0}) from the task ({1})',\r\n 'UncheckedTaskChecklistItem': 'uncheck the checklist item ({0}) on the task ({1})',\r\n 'CheckedTaskChecklist': 'check the checklist ({0}) on the task ({1})',\r\n 'UncheckedTaskChecklist': 'uncheck the checklist ({0}) on the task ({1})',\r\n 'AddPlanTag': 'added tag {0} to plan {1}',\r\n 'DeletePlanTag': 'deleted tag {0} from plan {1}',\r\n 'RenameProjectDocument': 'renamed the document ({0}) to ({1})',\r\n 'MoveProjectDocument': 'moved the document ({0}) to {1}',\r\n 'AddFolder': 'added the folder ({0}) to the project',\r\n 'RenameFolder': 'renamed the folder ({0}) to ({1})',\r\n 'DeleteFolder': 'deleted the folder ({0}) from the project'\r\n },\r\n 'diagrams': {\r\n 'AddPlans': 'Add Plans',\r\n 'EditPlan': 'Edit Plan',\r\n 'Name': 'Name',\r\n 'Rename': 'Rename',\r\n 'Delete': 'Delete',\r\n 'Today': 'Today',\r\n 'Open': 'Open',\r\n 'NoData': 'No Data',\r\n 'Warning': 'Warning',\r\n 'cannotBeDeleted': 'This plan has tasks attached and cannot be deleted!',\r\n 'wantToDelete': 'Are you sure you want to delete {0}?',\r\n 'TIPS': 'TIPS',\r\n 'Yes': 'Yes',\r\n 'No': 'No',\r\n 'AddPlanFromPDF': 'Add Plan from PDF',\r\n 'SearchPlanName': 'Search plan name',\r\n 'SearchTag': 'Search tag',\r\n 'GridView': 'Grid View',\r\n 'ListView': 'List View',\r\n 'Tasks': 'Tasks',\r\n 'Tags': 'Tags',\r\n 'CreatedOn': 'Created On'\r\n },\r\n 'documents': {\r\n 'Add': 'Add New',\r\n 'Rename': 'Rename',\r\n 'Delete': 'Delete',\r\n 'Move': 'Move',\r\n 'Folder': 'Folder',\r\n 'Document': 'Document',\r\n 'NewFolder': 'New Folder',\r\n 'RenameFolder': 'Rename Folder',\r\n 'Cancel': 'Cancel',\r\n 'Save': 'Save',\r\n 'UploadDocument': 'Upload Documents',\r\n 'PleaseSelectDocument': 'Please select at least one document',\r\n 'AreYouSureYouWantToDeleteDocuments': 'Are you sure you want to delete the selected document(s)?',\r\n 'Name': 'Name',\r\n 'SearchDocumentName': 'Search document name',\r\n 'RenameFile': 'Rename File',\r\n 'MoveFile': 'Move File',\r\n 'UploadFiles': 'Upload files',\r\n 'AddFolder': 'Create a new folder',\r\n 'NoFolder': 'No folder',\r\n 'FolderNameisrequired': 'Folder name is required'\r\n },\r\n 'group': {\r\n 'NewTaskGroup': 'New Task Group',\r\n 'Name': 'Name',\r\n 'Edit': 'Edit',\r\n 'Tasks': 'Tasks',\r\n 'Delete': 'Delete',\r\n 'DueOn': 'Due on',\r\n 'Open': 'Open ({0})',\r\n 'Complete': 'Complete ({0})',\r\n 'NoData': 'No Data',\r\n 'AreYouSureYouWantToDeleteThisGroup': 'Are you sure you want to delete this group?',\r\n 'Yes': 'Yes',\r\n 'No': 'No',\r\n 'Progress': 'Progress',\r\n 'Concrete': 'Concrete',\r\n 'TIPS': 'TIPS',\r\n 'SearchTaskGroupName': 'Search task group name',\r\n 'SaveAsTaskTemplate': 'Save as Task Template'\r\n },\r\n 'members': {\r\n 'AddMembers': 'Add Members',\r\n 'Name': 'Name',\r\n 'Email': 'Email',\r\n 'Role': 'Role',\r\n 'AreYouSureYouWantToDeleteThisMember': 'Are you sure you want to delete this member?',\r\n 'Yes': 'Yes',\r\n 'No': 'No',\r\n 'TIPS': 'TIPS',\r\n 'SearchMemberName': 'Search member name',\r\n 'SearchMemberNameOrEmail': 'Search name or email'\r\n },\r\n 'photo': {\r\n 'Upload': 'Upload Photo / Video',\r\n 'SelectAll': 'Select All',\r\n 'Name': 'Name',\r\n 'Task': 'Task',\r\n 'LastUpdatedOn': 'Last Updated On',\r\n 'Delete': 'Delete',\r\n 'Download': 'Download',\r\n 'NoData': 'No Data',\r\n 'AreYouSureYouWantToDeleteThesePhotos': 'Are you sure you want to delete the selected photo(s)?',\r\n 'TIPS': 'TIPS',\r\n 'Yes': 'Yes',\r\n 'No': 'No',\r\n 'PleaseSelectPhoto': 'Please select at least one photo',\r\n 'Plan': 'Plan',\r\n 'RoomName': 'Room Name',\r\n 'TaskName': 'Task Name',\r\n 'NotFound': 'Photos not found.',\r\n 'SearchPlan': 'Search plan',\r\n 'SearchTaskName': 'Search task name',\r\n 'SearchRoom': 'Search room',\r\n 'CreatedOn': 'Created On'\r\n },\r\n 'report': {\r\n 'Name': 'Name',\r\n 'Type': 'Type',\r\n 'BatchDelete': 'Batch Delete',\r\n 'ProjectName': 'Project Name',\r\n 'CreatedTime': 'Created Time',\r\n 'CreatedOn': 'Created On',\r\n 'Actions': 'Actions',\r\n 'Delete': 'Delete',\r\n 'AreYouSureYouWantToDeleteThisReport': 'Are you sure you want to delete this report?',\r\n 'TIPS': 'TIPS',\r\n 'Yes': 'Yes',\r\n 'No': 'No',\r\n 'PleaseCheckOneTaskAtLast': 'Please check one task at last',\r\n 'AreYouSureYouWantToDeleteTheseReport': 'Are you sure you want to delete the selected reports?',\r\n 'Report': 'Report',\r\n 'Task': 'Task',\r\n 'ProductInstallation': 'Product Installation',\r\n 'Moisture': 'Moisture',\r\n 'Task Report': 'Task',\r\n 'Product Installation': 'Product Installation',\r\n 'Labor Report': 'Labor',\r\n 'Moisture Report': 'Moisture',\r\n 'Plan': 'Plan',\r\n 'All': 'All',\r\n 'SearchReportName': 'Search report name',\r\n 'Download': 'Download',\r\n 'SendEmail': 'Send Email'\r\n },\r\n 'task': {\r\n 'AddTask': 'Add Task',\r\n 'CompletionRate': 'CompletionRate',\r\n 'All': 'All',\r\n 'Filters': 'Filters',\r\n 'Name': 'Name',\r\n 'Status': 'Status',\r\n 'DueDate': 'Due Date',\r\n 'Watching': 'Watching',\r\n 'BatchDelete': 'Delete',\r\n 'BatchEdit': 'Edit',\r\n 'ExportToFile': 'Export (All)',\r\n 'Plan': 'Plan',\r\n 'Project': 'Project',\r\n 'Group': 'Group',\r\n 'SearchTaskName': 'Search task name',\r\n 'NoTasksFound': 'No tasks of the selected type \\'{0}\\' were found.',\r\n 'NoTasksFoundByCondition': 'No matching tasks found.',\r\n 'PleaseCheckOneTaskAtLast': 'Please check one task at last',\r\n 'AreYouSureYouWantToDeleteTheseTasks': 'Are you sure you want to delete the selected task(s)?',\r\n 'TIPS': 'TIPS',\r\n 'Yes': 'Yes',\r\n 'No': 'No',\r\n 'TaskGroup': 'Task Group',\r\n 'LocationType': 'Location Type',\r\n 'Floor': 'Floor',\r\n 'Wall': 'Wall',\r\n 'Elevation': 'Elevation',\r\n 'Assignee': 'Assignee',\r\n 'Report': 'Report',\r\n 'Task': 'Task',\r\n 'ProductInstallation': 'Product Installation',\r\n 'Product Installation': 'Product Installation',\r\n 'Moisture': 'Moisture',\r\n 'NewReport': 'New Report',\r\n 'Concrete': 'Concrete',\r\n 'Labor': 'Labor',\r\n 'Start': 'Start',\r\n 'End': 'End',\r\n 'CreatedOn': 'Created On',\r\n 'UpdatedOn': 'Updated On'\r\n },\r\n 'static': {\r\n 'Labor': 'Labor',\r\n 'Metric': 'Metric',\r\n 'Imperial': 'Imperial',\r\n 'Celsius': 'Celsius',\r\n 'Fahrenheit': 'Fahrenheit',\r\n 'Overview': 'Overview',\r\n 'plan': 'Plans',\r\n 'Tasks': 'Tasks',\r\n 'TaskGroups': 'Task Groups',\r\n 'Reports': 'Reports',\r\n 'Liveanalytics': 'Analytics',\r\n 'Photos': 'Photos',\r\n 'Documents': 'Documents',\r\n 'Members': 'Members',\r\n 'MyCorp': 'My Corp',\r\n 'UserManagement': 'User Management',\r\n 'Subscription': 'Subscription',\r\n 'Corporations': 'Corporations',\r\n 'AllUsers': 'All Users',\r\n 'LaborItems': 'Labor Items',\r\n 'Settings': 'Settings',\r\n 'SysSetting': 'Sys Setting',\r\n 'days': ' days',\r\n 'day': ' day',\r\n 'YourTrialIsExpired': 'Your trial is expired!',\r\n 'FreeLicenses': ' free licenses, ',\r\n 'licensesPurchased': ' purchased licenses, ',\r\n 'assigned': ' assigned',\r\n 'YourSubscriptionIsExpired': 'Your subscription is expired!',\r\n 'YourSubscriptionWillExpired': 'The subscription of {0} will expire in {1} days.',\r\n 'justThen': 'just then',\r\n 'secondsAgo': ' seconds ago',\r\n 'aMinuteAgo': '1 minute ago',\r\n 'minutesAgo': ' minutes ago',\r\n '1hourAgo': '1 hour ago',\r\n 'hoursAgo': ' hours ago',\r\n 'yesterday': 'yesterday',\r\n 'daysAgo': ' days ago',\r\n 'aWeekAgo': '1 week ago',\r\n 'weeksAgo': ' weeks ago',\r\n 'aMonthAgo': '1 month ago',\r\n 'monthsAgo': ' months ago',\r\n 'aYearAgo': '1 year ago',\r\n 'yearsAgo': ' years ago',\r\n 'LicenseDisabledTitle': 'Your account is disabled.',\r\n 'LicenseExpiredTitle': 'Your subscription is expired.',\r\n 'LicenseDisabledNote': 'The account {0} is disabled, please contact the administrator for more information.',\r\n 'LicenseExpiredNote': 'The subscription of {0} is expired.',\r\n 'Products': 'Products',\r\n 'Notifications': 'Notifications',\r\n 'ChecklistTemplates': 'Checklist Templates',\r\n 'TaskTemplates': 'Task Templates',\r\n 'SwitchCorp': 'Switch Corp',\r\n 'Tags': 'Tags',\r\n 'TaskGroupTemplates': 'Task Group Templates'\r\n },\r\n 'router': {\r\n 'Login': 'Login',\r\n 'Register': 'Register',\r\n 'Invite': 'Invite',\r\n 'Forgot': 'Forgot',\r\n 'ResetPassword': 'Reset Password',\r\n 'LoginToLicense': 'Login to License',\r\n 'Projects': 'Projects',\r\n 'Home': 'Home',\r\n 'Tasks': 'Tasks',\r\n 'Plans': 'Plans',\r\n 'TaskGroups': 'Task Groups',\r\n 'Reports': 'Reports',\r\n 'Liveanalytics': 'Analytics',\r\n 'Photos': 'Photos',\r\n 'Documents': 'Documents',\r\n 'Members': 'Members',\r\n 'Corp': 'Corp',\r\n 'UserManagement': 'User Management',\r\n 'Subscription': 'Subscription',\r\n 'MyProfile': 'My Profile',\r\n 'Corporations': 'Corporations',\r\n 'AllUsers': 'All Users',\r\n 'LaborItems': 'Labor Items',\r\n 'CorpSetting': 'Corp Setting',\r\n 'SysSetting': 'Sys Setting',\r\n 'TaskList': 'Task List',\r\n 'ByRoom': 'By Room',\r\n 'room': 'room',\r\n 'ByProduct': 'By Product',\r\n 'Task': 'Task',\r\n 'batchTask': 'batch Task',\r\n 'role': 'Role Permissions',\r\n 'LoginToUserManagement': 'Login to User Management',\r\n 'NotificationSetting': 'Notifications',\r\n 'ChecklistTemplates': 'Checklist Templates',\r\n 'TaskTemplates': 'Task Templates',\r\n 'Tags': 'Tags',\r\n 'taskGroupTemplates': 'Task Group Templates'\r\n },\r\n 'model': {\r\n 'tasks are going to be created': 'tasks are going to be created.',\r\n 'Probe': 'Probe',\r\n 'showImage': 'Imported Plan',\r\n 'Product': 'Product',\r\n 'task': 'task',\r\n 'ZoomIn': 'Zoom In',\r\n 'ZoomOut': 'Zoom Out',\r\n 'ZoomAll': 'Zoom to Fit',\r\n 'Task': 'Task',\r\n 'Tasks': 'Tasks',\r\n 'ProductInstallation': 'Product Installation',\r\n 'Product Installation': 'Product Installation',\r\n 'Moisture': 'Moisture',\r\n 'TaskTemplate': 'Task Template',\r\n 'ClearFilter': 'Clear filter',\r\n 'Type': 'Type',\r\n 'Status': 'Status',\r\n 'TaskGroup': 'Task Group',\r\n 'LocationType': 'Location Type',\r\n 'DueDate': 'Due Date',\r\n 'From': 'From',\r\n 'To': 'To',\r\n 'Assignee': 'Assignee',\r\n 'Watching': 'Watching',\r\n 'AddTask': 'Add Task',\r\n 'Rooms': 'Rooms',\r\n 'Products': 'Products',\r\n 'ThereIsNoProduct': 'There is no product',\r\n 'PleaseCreate': 'Please create a {0} task first.',\r\n 'Wall': 'Wall',\r\n 'Label': 'Label',\r\n 'Dimension': 'Dimension',\r\n 'WallSection': 'Wall Section',\r\n 'Annotation': 'Annotation',\r\n 'RoomName': 'Room Name',\r\n 'Name': 'Name',\r\n 'StartDate': 'Start Date',\r\n 'Location': 'Location',\r\n 'Description': 'Description',\r\n 'Cancel': 'Cancel',\r\n 'Save': 'Save',\r\n 'Next': 'Next',\r\n 'SelectRoom': 'Select Rooms',\r\n 'MaxRh': 'MaxRH',\r\n 'HoleDepth': 'Hole Depth',\r\n 'CreateTaskForEveryRoom': 'Create Task For Every Room',\r\n 'EditTasks': 'Edit Tasks',\r\n '%Done': '%Done',\r\n 'Delete': 'Delete',\r\n 'AreYouSureYouWantToDeleteTheseTasks': 'Are you sure you want to delete the selected task(s)?',\r\n 'TIPS': 'TIPS',\r\n 'Yes': 'Yes',\r\n 'No': 'No',\r\n 'Search': 'Search',\r\n 'CreateTask': 'Create Task',\r\n 'ChangeAll': 'Change All',\r\n 'Usage': 'Usage',\r\n 'NetArea': 'Net Area',\r\n 'Installed': 'Installed',\r\n 'MarkAsDone': 'Mark as done',\r\n 'Floor': 'Floor',\r\n 'Base/LF': 'Base/LF',\r\n 'Door': 'Door',\r\n 'Successfully': 'Successfully',\r\n 'AddReading': 'Add Reading',\r\n 'Category': 'Category',\r\n 'TotalQty': 'Total Qty',\r\n 'QtyInstalled': 'Qty Installed',\r\n 'RHInConcrete': 'RH In Concrete',\r\n 'PHTesting': 'PH Testing',\r\n 'StartingWeight': 'Starting Weight',\r\n 'EndingWeight': 'Ending Weight',\r\n 'NetWeightGain': 'Net Weight Gain',\r\n 'ConCrete': 'ConCrete',\r\n 'Ambient': 'Ambient',\r\n 'SurfaceTemp': 'Surface Temp',\r\n 'MoreReading': 'More Reading',\r\n 'AddPhoto': 'Add Photo',\r\n 'AreYouSureYouWantToDeleteThisPhoto': 'Are you sure you want to delete this photo?',\r\n 'AreYouSureYouWantToDeleteThisTask': 'Are you sure you want to delete this task?',\r\n 'BatchEdit': 'Batch Edit Tasks',\r\n 'Labor': 'Labor',\r\n 'Select': 'Select',\r\n 'SelectAssignee': 'Who need to do this?',\r\n 'SelectWatching': 'Who should know about this?',\r\n 'DescribeTheTask': 'Describe the task',\r\n 'SearchTaskName': 'Search task name',\r\n 'TaskTotalQty': 'Total Qty',\r\n 'JobsiteTotalQty': 'Total',\r\n 'RetainageQty': 'Remaining',\r\n 'TaskTotalQtyCannotGreaterThanJobsiteRetaingeQty': 'Total qty can not be greater than remaining qty.',\r\n 'PleaseSelectOneProduct': 'Please select a product',\r\n 'PleaseSelectOneTemplate': 'Please select a template',\r\n 'DragToAdd': 'Drag and Click on the Plan',\r\n 'Addmultipletasksfromrooms': 'Add Tasks from Rooms',\r\n 'PleaseSelectRoom': 'Please select at least one room to add tasks',\r\n 'Addmultipletasksfromproducts': 'Add Tasks from Products',\r\n 'PleaseSelectProduct': 'Please select at least one product to add tasks'\r\n },\r\n 'upload': {\r\n 'SelectFile': 'Select File',\r\n 'SelectPhoto/Video': 'Select Photo / Video',\r\n 'SelectPhoto': 'Select Photo',\r\n 'Upload': 'Upload',\r\n 'Uploading': 'Uploading',\r\n 'Waiting': 'The server is processing file, please wait a monent',\r\n 'Cancel': 'Cancel',\r\n 'SelectDoc': 'Select Document(s)',\r\n 'Pleaseuploadamaximumofphotos/videos': 'Please upload a maximum of {0} photos/videos'\r\n },\r\n 'taskDialog': {\r\n 'Are you sure you want to delete this file?': 'Are you sure you want to delete this file?',\r\n 'Task': 'Task',\r\n 'AddMoisture': 'Add Moisture',\r\n 'Saving': 'Saving...',\r\n 'Location': 'Location',\r\n 'Description': 'Description',\r\n 'AddReading': 'Add Reading',\r\n 'Name': 'Name',\r\n 'Category': 'Category',\r\n 'Status': 'Status',\r\n '%Done': '%Done',\r\n 'TaskGroup': 'Task Group',\r\n 'StartDate': 'Start Date',\r\n 'DueDate': 'Due Date',\r\n 'completed': 'Completion Date',\r\n 'Assignee': 'Assignee',\r\n 'Watching': 'Watching',\r\n 'Product': 'Product',\r\n 'NetArea': 'Net Area',\r\n 'TotalQty': 'Total Qty',\r\n 'QtyInstalled': 'Qty Installed',\r\n 'Installed': 'Installed',\r\n 'ChangeAll': 'Change All',\r\n 'MaxRh': 'MaxRH',\r\n 'RHInConcrete': 'RH In Concrete',\r\n 'PHTesting': 'PH Testing',\r\n 'HoleDepth': 'Hole Depth',\r\n 'StartingWeight': 'Starting Weight',\r\n 'EndingWeight': 'Ending Weight',\r\n 'NetWeightGain': 'Net Weight Gain',\r\n 'ConCrete': 'ConCrete',\r\n 'Ambient': 'Ambient',\r\n 'SurfaceTemp': 'Surface Temp',\r\n 'MoreReading': 'More Reading',\r\n 'AddPhoto': 'Add Photo',\r\n 'Delete': 'Delete',\r\n 'Save': 'Save',\r\n 'MarkAsDone': 'Mark as done',\r\n 'AreYouSureYouWantToDeleteThisChecklist': 'Are you sure you want to delete this checklist?',\r\n 'AreYouSureYouWantToDeleteThisChecklistItem': 'Are you sure you want to delete this checklist item?',\r\n 'AreYouSureYouWantToDeleteThisPhoto': 'Are you sure you want to delete this photo?',\r\n 'TIPS': 'TIPS',\r\n 'Yes': 'Yes',\r\n 'No': 'No',\r\n 'AreYouSureYouWantToDeleteThisTask': 'Are you sure you want to delete this task?',\r\n 'Floor': 'Floor',\r\n 'Wall': 'Wall',\r\n 'Base/LF': 'Base/LF',\r\n 'Door': 'Door',\r\n 'ReadingList': 'Reading List',\r\n 'AreYouSureYouWantToDeleteThisReading': 'Are you sure you want to delete this reading?',\r\n 'EditTasks': 'Edit Tasks',\r\n 'RH': 'RH',\r\n 'Cacl': 'CaCl',\r\n 'ConcreteTemp': 'Concrete Temp',\r\n 'AmbientTemp': 'Ambient Temp',\r\n 'ConcreteSurfaceTemp': 'Concrete Surface Temp',\r\n 'AmbientRH': 'Ambient RH',\r\n 'ReadingTime': 'Reading Time',\r\n 'CaClStartingWeight': 'CaCl Starting Weight',\r\n 'CaClEndingWeight': 'CaCl Ending Weight',\r\n 'ExposureTime': 'Exposure Time',\r\n 'RequireNumber': 'Require Number',\r\n 'PHTestingIsError': 'PH Testing is error',\r\n 'PHTestingIsEmpty': 'PH Testing is Empty',\r\n 'CaClStartingWeightIsError': 'CaCl Starting Weight is error',\r\n 'CaClStartingWeightIsEmpty': 'CaCl Starting Weight is Empty',\r\n 'CaClEndingWeightIsError': 'CaCl Ending Weight is error',\r\n 'CaClEndingWeightNeedBiggerThanCaClStartingWeight': 'CaCl Ending Weight need bigger than CaCl Starting Weight',\r\n 'CaClEndingWeightIsEmpty': 'CaCl Ending Weight is Empty',\r\n 'CaClStartingTimeIsEmpty': 'CaCl Starting Time is empty',\r\n 'CaClEndingTimeNeedLaterThanCaClStartingTime': 'CaCl Ending Time need later than CaCl Starting Time ',\r\n 'CaClEndingTimeIsEmpty': 'CaCl Ending Time is empty ',\r\n 'RHReadingMustHaveArecordValue': 'RH Reading must have a record value',\r\n 'EndTime': 'End Time',\r\n 'StartTime': 'Start Time',\r\n 'Cancel': 'Cancel',\r\n 'Video': 'Video',\r\n 'FromLocalDisk': 'From Local Disk',\r\n 'FromProjectDocuments': 'From Project Documents',\r\n 'AddFile': 'Add File',\r\n 'Checklists': 'Checklists',\r\n 'AddChecklist': 'Add Checklist',\r\n 'RepeatAssignFileToTask': 'The file has been added to the current task, please do not add it again',\r\n 'VaporEmission': 'MVER',\r\n 'TaskTotalQty': 'Total Qty',\r\n 'JobsiteTotalQty': 'Total',\r\n 'RetainageQty': 'Remaining',\r\n 'TaskTotalQtyCannotGreaterThanJobsiteRetaingeQty': 'Total qty can not be greater than project retained.',\r\n 'PleaseSelectOneProduct': 'Please select a product'\r\n },\r\n 'project': {\r\n 'Upload': 'Upload',\r\n 'Skip': 'Skip',\r\n 'SelectPlan': 'Select Plan',\r\n 'SelectLayers': 'Select Layers',\r\n 'CreateProject': 'Create Project',\r\n 'CreateWithCloud': 'MeasureSquare Cloud Project',\r\n 'CreateWithPdf': 'PDF Blueprint',\r\n 'CreateWithPdfs': 'PDF Blueprints',\r\n 'CreateWithEmpty': 'No Project or Blueprint',\r\n 'EnterInformation': 'Enter Info',\r\n 'SearchforPlans': 'Search for Plans',\r\n 'Name': 'Name',\r\n 'Owner': 'Owner',\r\n 'LastUpdated': 'Last Updated',\r\n 'SelectAll': 'Select All',\r\n 'Selected': 'Selected',\r\n 'NoneSelected': 'None Selected',\r\n 'ProjectManager': 'Project Manager',\r\n 'InstallationManager': 'Installation Manager',\r\n 'Subcontract': 'Subcontract',\r\n 'Street': 'Street',\r\n 'City': 'City',\r\n 'State': 'State',\r\n 'ZipCode': 'Zip Code',\r\n 'Country': 'Country',\r\n 'Cancel': 'Cancel',\r\n 'Previous': 'Previous',\r\n 'Next': 'Next',\r\n 'Save': 'Save',\r\n 'OK': 'OK',\r\n 'PleaseEnterAname': 'Please enter a name',\r\n 'EditProject': 'Edit Project',\r\n 'Address': 'Address',\r\n 'NoData': 'No Data',\r\n 'Members': 'Members',\r\n 'SelectMembers': 'Select Members'\r\n },\r\n 'PhotoDialog': {\r\n 'notsupported': 'H.265/HEVC files is not supported.'\r\n },\r\n 'member': {\r\n 'AddMembers': 'Add Members',\r\n 'SearchforMembers': 'Search for Members',\r\n 'Add': 'Add',\r\n 'Cancel': 'Cancel',\r\n 'NewCorpUser': 'New User'\r\n },\r\n 'management': {\r\n 'ApplyToCorps': 'Apply to Corps',\r\n 'Corporations': 'Corporations',\r\n 'CompanyName': 'Company Name',\r\n 'Contact': 'Contact',\r\n 'Id': 'Id',\r\n 'CreatedTime': 'Created Time',\r\n 'Apply': 'Apply',\r\n 'Cancel': 'Cancel',\r\n 'PleaseCheckOneCorporationAtLast': 'Please check one corporation at last',\r\n 'ObjectTypeName': 'Object Type Name',\r\n 'Items': 'Items',\r\n 'Remark': 'Remark',\r\n 'Add': 'Add',\r\n 'Delete': 'Delete',\r\n 'Save': 'Save',\r\n 'ObjectTypeNameIsRequired': 'Object Type Name is required',\r\n 'Edit': 'Edit',\r\n 'New': 'New',\r\n 'AreYouSureYouWantToDeleteThisCorp': 'Are you sure you want to delete this corporation?',\r\n 'TIPS': 'TIPS',\r\n 'Yes': 'Yes',\r\n 'No': 'No',\r\n 'ExportToCSV': 'Export to CSV',\r\n 'ExportToExcel': 'Export to Excel'\r\n },\r\n 'groupDialog': {\r\n 'Name': 'Name',\r\n 'StartDate': 'Start Date',\r\n 'DueDate': 'Due Date',\r\n 'Description': 'Description',\r\n 'Save': 'Save',\r\n 'Cancel': 'Cancel',\r\n 'AddTaskGroup': 'Add Task Group',\r\n 'PleaseEnterAName': 'Please enter a name',\r\n 'EditTaskGroup': 'Edit Task Group',\r\n 'PhaseType': 'Type',\r\n 'General': 'General',\r\n 'BillingPeriod': 'Billing Period',\r\n 'IsCurrent': 'Current Billing',\r\n 'PleaseEnterAStartDate': 'Please enter a start date',\r\n 'PleaseEnterADueDate': 'Please enter a due date',\r\n 'StartDateCannotGreaterThenDueDate': 'Start date cannot greater then due date',\r\n 'DueDateCannotGreaterToday': 'Due date cannot greater then today',\r\n 'DescribeTheTaskGroup': 'Describe the task group',\r\n 'SaveAsTaskTemplate': 'Save as Template',\r\n 'TemplateName': 'Name',\r\n 'PleaseEnterATemplateName': 'Please enter a name',\r\n 'EditTaskGroupTemplate': 'Edit Task Group Template',\r\n 'AddTaskGroupTemplate': 'Add Task Group Template'\r\n },\r\n 'diagramDialog': {\r\n 'SelectPlan': 'Select Plan',\r\n 'SelectLayers': 'Select Layers',\r\n 'SearchforPlans': 'Search for Plans',\r\n 'Name': 'Name',\r\n 'Owner': 'Owner',\r\n 'LastUpdated': 'Last Updated',\r\n 'SelectAll': 'Select All',\r\n 'Cancel': 'Cancel',\r\n 'Previous': 'Previous',\r\n 'Save': 'Save',\r\n 'AddingPlan': 'Adding Plan',\r\n 'AddPlanFromPDF': 'Add Plan from PDF',\r\n 'SelectPDF': 'Select PDF',\r\n 'SelectPages': 'Select Pages',\r\n 'PagesSelected': '{0} Pages Selected',\r\n 'SearchPage': 'Search page to select',\r\n 'PdfError': 'Invalid PDF',\r\n 'SaveFailed': 'Save Failed',\r\n 'PdfTooLarge': 'Pdf too large'\r\n },\r\n 'corpDialog': {\r\n 'Previous': 'Previous',\r\n 'Next': 'Next',\r\n 'Fupload': 'Confirm Password',\r\n 'SubscribetoJobsiteTrakr': 'Upgrade to get unlimited projects & more',\r\n 'month': 'month',\r\n 'MONTHLY': 'MONTHLY',\r\n 'year': 'year',\r\n 'YEARLY': 'YEARLY',\r\n 'license': 'license',\r\n 'Starter': 'Starter',\r\n 'Pro': 'Pro',\r\n 'ProInfo1': 'All Features Of Starter Package, Plus',\r\n 'ProInfo2': 'Unlimited Projects (5 Licenses, 200 GB Storage)',\r\n 'ProInfo3': 'Collaboration Among Team, Subs And Clients',\r\n 'ProInfo4': 'Moisture Reporting, Bluetooth Meter Integration',\r\n 'ProInfo5': 'Additional License',\r\n 'Enterprise': 'Enterprise',\r\n 'EnterpriseInfo1': 'All Features Of Pro, Plus',\r\n 'EnterpriseInfo2': 'Unlimited Project Storage',\r\n 'EnterpriseInfo3': 'Comprehensive Management Dashboard',\r\n 'EnterpriseInfo4': 'ERP/CRM Integration Support',\r\n 'EnterpriseInfo5': 'API Connection And Support',\r\n 'Licenses': 'Licenses',\r\n 'More': 'More',\r\n 'CustomAmount': 'Custom Amount',\r\n 'Total': 'Total',\r\n 'Cancel': 'Cancel',\r\n 'Buy': 'Buy',\r\n 'Pleasecreateyourcompanyinformationfirst': 'Please create your company information first.',\r\n 'Company': 'Company',\r\n 'BusinessName': 'Business Name',\r\n 'Address': 'Address',\r\n 'City': 'City',\r\n 'State': 'State',\r\n 'ZipCode': 'Zip Code',\r\n 'Country': 'Country',\r\n 'ContactInfo': 'Contact Info',\r\n 'Contact': 'Contact',\r\n 'Phone': 'Phone',\r\n 'Fax': 'Fax',\r\n 'Email': 'Email',\r\n 'Save': 'Save',\r\n 'BusinessNameisrequired': 'Business Name is required',\r\n 'Logo': 'Logo',\r\n 'Add': 'Add',\r\n 'Up': 'Up',\r\n 'Down': 'Down',\r\n 'Delete': 'Delete',\r\n 'Close': 'Close',\r\n 'NoType': 'No Type.',\r\n 'Typenotempty': 'Type not empty.',\r\n 'TypeIsrequired': 'Type Is required.',\r\n 'Edit': 'Edit ',\r\n 'CorpSetting': 'Corp Setting',\r\n 'M2Integration': 'M2 Integration',\r\n 'Unit': 'Unit',\r\n 'TemperatureUnit': 'Temperature Unit',\r\n 'Name': 'Name',\r\n 'InstallCarpet': 'Install Carpet',\r\n 'InstallVinyl': 'Install Vinyl',\r\n 'InstallWallPaper': 'Install WallPaper',\r\n 'InstallTile': 'Install Tile',\r\n 'InstallLaminate': 'Install Laminate',\r\n 'InstallHardwood': 'Install Hardwood',\r\n 'Price': 'Price',\r\n 'AddLaborItem': 'Add Labor Item',\r\n 'Nameisrequired': 'Name is required',\r\n 'EditLaborItem': 'Edit Labor Item',\r\n 'Hardwood': 'Hardwood',\r\n 'Laminate': 'Laminate',\r\n 'Tile': 'Tile',\r\n 'WallPaper': 'WallPaper',\r\n 'VinylRoll,VinylTile': 'VinylRoll,VinylTile',\r\n 'CarpetRoll,CarpetTile': 'CarpetRoll,CarpetTile',\r\n 'ChangePassword': 'Change Password',\r\n 'Password': 'Password',\r\n 'OldPassword': 'Old Password',\r\n 'NewPassword': 'New Password',\r\n 'ConfirmPassword': 'Confirm Password',\r\n 'Passwordisrequired': 'Password is required',\r\n 'OldPasswordisrequired': 'Old Password is required',\r\n 'NewPasswordisrequired': 'New Password is required',\r\n 'OldPasswordiserror': 'Old Password is error',\r\n 'Confirmpassworddosenotmatchpassword': 'Confirm password dose not match password',\r\n 'ConfirmPasswordisrequired': 'Confirm Password is required',\r\n 'EditTrialExpiration': 'Edit Expiration',\r\n 'TrialExpiration': 'Trial Expiration',\r\n 'Type of service life': 'Type of service life',\r\n 'duration': 'Duration',\r\n 'number': 'Number',\r\n 'AccountInfo': 'Account Info',\r\n 'LoginAccount': 'Login Account',\r\n 'UserInfo': 'User Info',\r\n 'FullName': 'Name',\r\n 'Role': 'Role',\r\n 'CompanyName': 'Company Name',\r\n 'CorpIsrequired': 'Please select one company',\r\n 'EditUser': 'Edit User',\r\n 'SubscriptionDetail': 'Subscription Detail',\r\n 'CreatedOn': 'Created On',\r\n 'Rate': 'Rate',\r\n 'Quantity': 'Quantity',\r\n 'Nextbillingdate': 'Next billing date',\r\n 'Action': 'Action',\r\n 'AddUser': 'Add User',\r\n 'Selectonerole': 'Please select one role',\r\n 'LoginAccountisrequired': 'Login Account is required',\r\n 'Youneedtoenteravalidemail': 'You need to enter a valid email',\r\n 'Avatar': 'Avatar',\r\n 'EditLicense': 'Edit License',\r\n 'TrialExpirationDate': 'Trial Expiration Date',\r\n 'ChecklistTemplate': 'Checklist Template',\r\n 'TemplateNameAlreadyExists': 'Name already exists',\r\n 'TemplateItemNameAlreadyExists': 'Item already exists',\r\n 'TemplateItemNameisrequired': 'Item is required',\r\n 'Items': 'Items',\r\n 'TaskTemplate': 'Task Template',\r\n 'GroupName': 'Group Name',\r\n 'TaskType': 'Task Type',\r\n 'LoadCloudGroupMembers': 'Import M2 Cloud Group Members',\r\n 'CannotDuplicateCreateCorp': 'The account information already exists, the duplicate company cannot be created.'\r\n },\r\n 'reportDialog': {\r\n 'Door': 'Door',\r\n 'Base/LF': 'Base/LF',\r\n 'Floor': 'Floor',\r\n 'Wall': 'Wall',\r\n 'Elevation': 'Elevation',\r\n 'Products': 'Products',\r\n 'Loading': 'Loading',\r\n 'Type': 'Type',\r\n 'SendMail': 'Send Mail',\r\n 'To': 'To',\r\n 'Subject': 'Subject',\r\n 'Content': 'Content',\r\n 'Report': 'Report',\r\n 'Cancel': 'Cancel',\r\n 'Send': 'Send',\r\n 'Toisrequired': 'To is required',\r\n 'Youneedtoenteravalidemail': 'You need to enter a valid email',\r\n 'Subjectisrequired': 'Subject is required',\r\n 'Name': 'Name',\r\n 'Orientation': 'Orientation',\r\n 'Landscape': 'Landscape',\r\n 'Portrait': 'Portrait',\r\n 'Rh': 'RH',\r\n 'Cacl': 'CaCl',\r\n 'Rh&Cacl': 'RH & CaCl',\r\n 'ShowProduct': 'Show Product',\r\n 'ShowTaskList': 'Show Task List',\r\n 'ShowFloorPlan': 'Show Floor Plan',\r\n 'ShowPhotos': 'Show Photos',\r\n 'Previous': 'Previous',\r\n 'Next': 'Next',\r\n 'Save': 'Save',\r\n 'LoadingPlan': 'Loading Plan',\r\n 'Nameisrequired': 'Name is required',\r\n 'ProductInstallation': 'Product Installation',\r\n 'Moisture': 'Moisture',\r\n 'Task': 'Task',\r\n 'Report-': ' Report - ',\r\n 'Progress': 'Progress',\r\n 'Concrete': 'Concrete',\r\n 'Plan': 'Plan',\r\n 'Location': 'Location',\r\n 'Done': 'Done',\r\n 'DueDate': 'Due Date',\r\n 'StartDate': 'Start Date',\r\n 'Assignee': 'Assignee',\r\n 'Status': 'Status',\r\n 'Notes': 'Notes',\r\n '%Done': '% Done',\r\n 'Area': 'Area',\r\n 'Group': 'Group',\r\n 'CreateBy': 'Create By',\r\n 'Job': 'Job',\r\n 'MeasrueSquareCorp': 'Measrue Square Corp.',\r\n '221EWalnutSt': '221 E Walnut St, Suite 110, Pasadena, CA 91101 support@measuresquare.com',\r\n 'Jobinfo': 'Job info',\r\n 'Photos': 'Photos',\r\n 'Date': 'Date',\r\n 'AmbientRH%': 'Ambient RH, %',\r\n 'AirTemp': 'Air Temp',\r\n 'ConcreteSurfaceTemp': 'Concrete Surface Temp',\r\n 'ConcreteTemp': 'Concrete Temp',\r\n 'RHInConcrete%': 'RH In Concrete, %',\r\n 'Reading': 'Reading',\r\n 'MaxRH%': 'Max RH, %',\r\n 'Hole Depth': 'Hole Depth',\r\n 'MAX72Hrs': 'MAX 72 Hrs',\r\n 'Min60Hrs': 'Min 60 Hrs',\r\n 'TestTime': 'Test Time',\r\n 'LBS': 'LBS. per 1000 sq/ft in a 24 hour period.',\r\n 'Hrs': 'Hrs. Exposed = (Total)',\r\n 'Gain': 'Gain in Weight(Grams) ✖ 117.707 = (Divided by Total Below) =',\r\n 'MOISTUREFORMULA': 'MOISTURE FORMULA',\r\n 'Thenmop': 'Then mop with Tap water. Repeat the procedure twice, then test again. Typically the higher the PH.',\r\n 'Floors': 'Floors with a PH Level of 9 or higher must be corrected. It may be reduced by mopping the floor with a 10% Muriatic Acid wash. Allow the acid wash to dry. ',\r\n 'ALLOWEDIS-8': 'ALLOWED IS - 8',\r\n 'MAXIMLIMPH': 'MAXIMLIM P H',\r\n 'lbs': 'lbs. or Less Over 1000 s/f in 24 hrs.',\r\n 'MAXIMLIM': 'MAXIMLIM',\r\n 'RECOMMENDED': 'RECOMMENDED',\r\n 'MOISTURELEVELS': 'MOISTURE LEVELS',\r\n 'BYTHE': 'BY THE C.R.I. &',\r\n 'RFCIS': 'R.F.C.I.S',\r\n 'Rubber': 'Rubber Tile / Solid Vinyl Tile / Wood / PVC Vinyl / Vinyl Strip / PVC Vinyl Backed Carpets / Epoxy',\r\n 'Felt': 'Felt Backed Sheet Vinyl / Action Back Carpet / Linoleum (Varies by Manufacturer 3# to 5#).',\r\n 'Vinyl': 'Vinyl Composition Tile. (Varies by Manufacture 5# to 7#).',\r\n 'Depth': 'Depth from top of slab, in.',\r\n 'RHinConcrete': 'RH in Concrete, %',\r\n 'PHTesting': 'PH Testing',\r\n 'AmbientRH': 'Ambient RH, %',\r\n 'WeightGaining': 'Weight Gain in g.',\r\n 'ExposureTime/Hrs': 'Exposure Time/Hrs',\r\n 'Quatitive': 'Quatitive Anhydrous Calcium Chloride Test (moisture vapor reading from slab)',\r\n 'Static': 'Static Moisture Condition (moisture contained in slab)',\r\n 'AlkalinityCondition': 'Alkalinity Condition',\r\n 'LocationRm': 'Location Rm',\r\n 'MaxRH': 'Max RH, %',\r\n 'RHInConcrete': 'RH In Concrete, %',\r\n 'CaClStartingWeight': 'CaCl Starting Weight',\r\n 'CaClEndingWeight': 'CaCl Ending Weight',\r\n 'NetGramGainOf': 'Net Gram Gain Of',\r\n 'StartTime': 'Start Time',\r\n 'EndTime': 'End Time',\r\n 'TotalTime': 'Total Time(H:M)',\r\n 'TestHas': 'Test Has Passed / Failed',\r\n 'HoleDepth': 'HoleDepth',\r\n 'Temp&Humidity': 'Temp & Humidity Conditions Stable 48 hrs Prior & Durring Test.',\r\n 'A/CSystem': 'A/C System On/Running For 48 Hrs Minimum.',\r\n 'TIP': 'TIP: - IS UNMEASURED',\r\n 'TotalCheck': 'Total Check > RH READINGS;',\r\n 'Product': 'Product',\r\n 'TotalQty': 'Total Qty',\r\n 'Installed': 'Installed',\r\n 'InstalledQty': 'Installed Qty',\r\n 'Plans': 'Plans',\r\n 'ProjectName': 'Project Name',\r\n 'ProjectNumber': 'Project #',\r\n 'ProjectManagerName': 'Project Manager Name',\r\n 'InstallationManagerName': 'Installation Manager Name',\r\n 'SubcontractorName': 'Subcontractor Name',\r\n 'LaborDateRange': 'Labor Date Range',\r\n 'SummaryInformation': 'Summary Information',\r\n 'LaborDetails': 'Labor Details',\r\n 'Quantity': 'Quantity',\r\n 'LaborDescription': 'Labor Description',\r\n 'Price': 'Price',\r\n 'LineTotal': 'Line Total',\r\n 'Room': 'Room',\r\n 'CompletionDate': 'Completion Date',\r\n 'ReportTotal': 'Report Total',\r\n 'PunchRetainage': 'Punch Retainage',\r\n 'SubcontractorPayroll': 'Subcontractor Payroll',\r\n 'SubcontractorLaborReport': 'Subcontractor Labor Report',\r\n 'UOM': 'UOM',\r\n 'CarpetRoll': 'Carpet',\r\n 'VinylRoll': 'Vinyl',\r\n 'WallPaper': 'Wall Paper',\r\n 'CarpetTile': 'Carpet Tile',\r\n 'VinylTile': 'Vinyl Tile',\r\n 'Tile': 'Tile',\r\n 'Laminate': 'Laminate',\r\n 'Hardwood': 'Hardwood',\r\n 'Paint': 'Paint',\r\n 'Grout': 'Grout',\r\n 'AreaSurface': 'Surface',\r\n 'AreaUnderlay': 'Underlayment',\r\n 'Transition': 'Transition',\r\n 'Bullnose': 'Bullnose',\r\n 'Trim': 'Trim',\r\n 'WallBase': 'Wall Base',\r\n 'LinearRegular': 'Linear',\r\n 'Count': 'Count',\r\n 'AreaAdhesive': 'Adhesive',\r\n 'Labor': 'Labor',\r\n 'Freight': 'Freight',\r\n 'Carpet': 'Carpet',\r\n 'Install': 'Install',\r\n 'SetEndTimeNote': 'End time needs to be greater than start time.',\r\n 'None': 'None',\r\n 'MissingLaborItem': 'There are some related items that are not set.',\r\n 'UpdatedOn': 'Updated On',\r\n 'ShowChecklist': 'Show Checklist',\r\n 'Checklists': 'Checklists'\r\n },\r\n 'api': {\r\n 'WARNING': 'Warning',\r\n 'ERROR': 'Error',\r\n 'Successfully': 'Successfully',\r\n 'This': 'This project can not check on web',\r\n 'Job Trakr Starter': 'Job Trakr Starter',\r\n 'Job Trakr Pro': 'Job Trakr Pro',\r\n 'Job Trakr Enterprise': 'Job Trakr Enterprise',\r\n 'Paid': 'Paid',\r\n 'Resume': 'Resume',\r\n 'Updated': 'Updated',\r\n 'Canceled': 'Canceled',\r\n 'Failed': 'Failed',\r\n 'Created': 'Created',\r\n 'Recurring Billing': 'Recurring Billing',\r\n 'Proration Charge': 'Proration Charge',\r\n 'Sent': 'Sent',\r\n 'Month': 'Month',\r\n 'Turn off the auto-bill for the subscription': 'Turn off the auto-bill for the subscription',\r\n 'Find a better software/services.': 'Find a better software/services.',\r\n 'Overdue invoice. Subscription canceled automatically.': 'Overdue invoice. Subscription canceled automatically.',\r\n 'Job Trakr Monthly Subscription': 'Job Trakr Monthly Subscription',\r\n 'Job Trakr YEARLY Subscription': 'Job Trakr YEARLY Subscription',\r\n 'Job Trakr Starter Monthly Subscription': 'Job Trakr Starter Monthly Subscription',\r\n 'Job Trakr Starter Annual Subscription': 'Job Trakr Starter Annual Subscription',\r\n 'Job Trakr Pro Monthly Subscription': 'Job Trakr Pro Monthly Subscription',\r\n 'Job Trakr Pro Annual Subscription': 'Job Trakr Pro Annual Subscription',\r\n 'Job Trakr Enterprise Monthly Subscription': 'Job Trakr Enterprise Monthly Subscription',\r\n 'Job Trakr Enterprise Annual Subscription': 'Job Trakr Enterprise Annual Subscription',\r\n 'Invalid members': 'Invalid members',\r\n 'AccountExist': 'The login account already exists.',\r\n 'Project Manager': 'Project Manager',\r\n 'Administrator': 'Administrator',\r\n 'Superintendent': 'Superintendent',\r\n 'Field Rep': 'Field Rep',\r\n 'Project Status': 'Project Status',\r\n 'Task Status': 'Task Status',\r\n 'Task Tags': 'Task Tags',\r\n 'Task Work Type': 'Task Work Type',\r\n 'Task Progress Options': 'Task Progress Options',\r\n 'me': 'me',\r\n '400': 'Invalid account or password.',\r\n '403': 'Your account is disabled, please contact the administrator for more information.',\r\n '405': 'Your subscription is expired.',\r\n 'TIPS': 'TIPS',\r\n 'This project can not check on web': 'This project can not check on web',\r\n 'The Name field is required': 'The Name field is required',\r\n 'Year': 'Year',\r\n 'Ultimate': 'Ultimate',\r\n 'Due Date need to later than Start Date': 'Due Date need to later than Start Date',\r\n 'Open': 'Open',\r\n 'Pending': 'Pending',\r\n 'Completed': 'Completed',\r\n 'In Progress': 'In Progress',\r\n 'Planned Work': 'Planned Work',\r\n 'Issues': 'Issues',\r\n 'Issue': 'Issue',\r\n 'Fileslargerthan50Mcannotbeuploaded': 'Files larger than 50M cannot be uploaded.',\r\n 'PhotoOrVideolargerthan50Mcannotbeuploaded': 'Photo or video larger than 50M cannot be uploaded.'\r\n // '4001': 'Cannot exceed the maximum number of users purchased.'\r\n },\r\n role: {\r\n 'Create Project': 'Create Project',\r\n 'Edit Project': 'Edit Project',\r\n 'Close Project': 'Close Project',\r\n 'Add Plan': 'Add Plan',\r\n 'Delete Plan': 'Delete Plan',\r\n 'Add Task': 'Add Task',\r\n 'Edit Task': 'Edit Task',\r\n 'Assign Task': 'Assign Task',\r\n 'Delete Task': 'Delete Task',\r\n 'Create Report': 'Create Report',\r\n 'Edit Task Group': 'Edit Task Group',\r\n 'Create Task Group': 'Create Task Group',\r\n 'Delete Task Group': 'Delete Task Group',\r\n 'My Corp': 'My Corp',\r\n 'Edit Member': 'Edit Member',\r\n 'just the task assignd': 'just the task assignd',\r\n 'Permission': 'Permission',\r\n 'Administrator': 'Administrator',\r\n 'Project Manager': 'Project Manager',\r\n 'Superintendent': 'Superintendent',\r\n 'Field Rep': 'Field Rep'\r\n },\r\n 'store': {\r\n 'Loading': 'Loading'\r\n },\r\n 'labor': {\r\n 'Add Labor Group': 'Create Labor Report',\r\n 'Name': 'Name',\r\n 'Trades': 'Trades',\r\n 'Retainage Rate:': 'Retainage Rate',\r\n 'ret:': 'Retainage Rate:',\r\n 'Labor': 'Labor',\r\n 'Job Name:': 'Job Name',\r\n 'Trades:': 'Trades',\r\n 'Time Ranges:': 'Date Range',\r\n 'All': 'All',\r\n 'Edit': 'Edit',\r\n 'Edit Labor Report': 'Edit Labor Report',\r\n 'Delete Labor Report': 'Delete',\r\n 'Description of Work': 'Description of Work',\r\n 'Previous Billings': 'Previous Billings',\r\n 'Current Billing': 'Current Billing',\r\n 'Total Completed': 'Total Completed',\r\n 'Uncompleted': 'Uncompleted',\r\n 'Retainage': 'Retainage',\r\n 'Action': 'Action',\r\n 'Previous Billings:': 'Previous Billings:',\r\n 'Current Billing:': 'Current Billing:',\r\n 'Total Completed:': 'Total Completed:',\r\n 'Sub Totals:': 'Sub Totals:',\r\n 'Retainage:': 'Retainage:',\r\n 'Uncompleted:': 'Uncompleted:',\r\n 'Amount': 'Amount',\r\n 'Unit Cost': 'Unit Cost',\r\n 'Cancel': 'Cancel',\r\n 'Save': 'Save',\r\n 'Are you sure you want to delete this labor group?': 'Are you sure you want to delete this labor report?',\r\n 'TIPS': 'TIPS',\r\n 'Please Enter A Name': 'Please enter name',\r\n 'Please Enter Retainage Rate from 0 to 100': 'Please enter retainage from 0 to 100',\r\n 'Please Enter Retainage Rate': 'Please enter retainage',\r\n 'Please Enter Time Ranges': 'Please enter time ranges',\r\n 'StartDate': 'Start Date',\r\n 'EndDate': 'End Date',\r\n 'Export': 'Export',\r\n 'Labor Billing Report-': 'Labor Billing Report - ',\r\n 'BillingReportTitle': 'Labor Billing Report',\r\n 'Billing Date Range:': 'Billing Date Range',\r\n 'Export PDF Report': 'Export PDF Report',\r\n 'SearchLaborName': 'Search labor name',\r\n 'MenuProducts': 'Change Order'\r\n },\r\n 'product': {\r\n 'Products': 'Products',\r\n 'TypeOfWork': 'Type of Work',\r\n 'SKU': 'SKU/Name',\r\n 'Caption': 'Caption',\r\n 'ProductType': 'Type',\r\n 'Trade': 'Trade',\r\n 'Color': 'Color',\r\n 'Unit': 'Unit',\r\n 'TotalQuantity': 'Amount',\r\n 'UnitCost': 'Unit Cost',\r\n 'ContractAmount': 'Contract Amount',\r\n 'BatchDelete': 'Batch Delete',\r\n 'CreatedTime': 'Created On',\r\n 'Actions': 'Actions',\r\n 'New': 'New',\r\n 'Edit': 'Edit',\r\n 'Delete': 'Delete',\r\n 'AreYouSureYouWantToDeleteThisProduct': 'Are you sure you want to delete this product?',\r\n 'TIPS': 'TIPS',\r\n 'Yes': 'Yes',\r\n 'No': 'No',\r\n 'PleaseCheckOneProductAtLast': 'Please check one product at last',\r\n 'AreYouSureYouWantToDeleteTheseProducts': 'Are you sure you want to delete the selected products?',\r\n 'All': 'All',\r\n 'SearchSKU': 'Search SKU/Name',\r\n 'None': 'None',\r\n 'Centimeter': 'CM',\r\n 'Meter': 'M',\r\n 'LinearFeet': 'LF',\r\n 'SquareMeter': 'M²',\r\n 'SquareFeet': 'SF',\r\n 'SquareYard': 'SY',\r\n 'Liter': 'Liter',\r\n 'CubicMeter': 'M³',\r\n 'USGal': 'Gal',\r\n 'Each': 'EA',\r\n 'CarpetRoll': 'Carpet Roll',\r\n 'VinylRoll': 'Vinyl Roll',\r\n 'WallPaper': 'Wall Paper',\r\n 'CarpetTile': 'Carpet Tile',\r\n 'VinylTile': 'Vinyl Tile',\r\n 'Tile': 'Tile',\r\n 'Laminate': 'Laminate',\r\n 'Hardwood': 'Hardwood',\r\n 'Concrete': 'Concrete',\r\n 'Paint': 'Paint',\r\n 'Grout': 'Grout',\r\n 'AreaSurface': 'Area Surface',\r\n 'AreaUnderlay': 'Area Underlay',\r\n 'Transition': 'Transition',\r\n 'Trim': 'Trim',\r\n 'WallBase': 'Wall Base',\r\n 'LinearRegular': 'Linear Regular',\r\n 'Count': 'Count',\r\n 'TilePattern': 'Tile Pattern',\r\n 'AreaAdhesive': 'AreaAdhesive',\r\n 'Labor': 'Labor',\r\n 'Freight': 'Freight',\r\n 'Import': 'Import',\r\n 'ExportTemplate': 'Template',\r\n 'ProductTemplate': 'Product Template',\r\n 'AreYouSureYouWantToReplaceDuplicateSKUs': 'Are you sure you want to replace duplicate SKUs',\r\n 'CannotDeleteProductUsedInTask': 'This product has tasks attached and cannot be deleted!',\r\n 'CannotDeleteSomeProductsUsedInTask': '{0} products are attached to the task and cannot be deleted!'\r\n },\r\n 'productDialog': {\r\n 'Cancel': 'Cancel',\r\n 'Save': 'Save',\r\n 'AddProduct': 'Add Product',\r\n 'EditProduct': 'Edit Product',\r\n 'SKU': 'SKU/Name',\r\n 'Caption': 'Caption',\r\n 'ProductType': 'Type',\r\n 'Trade': 'Trade',\r\n 'Color': 'Color',\r\n 'Unit': 'Unit',\r\n 'TotalQuantity': 'Amount',\r\n 'UnitCost': 'Unit Cost',\r\n 'Price': 'Price',\r\n 'SKUisrequired': 'SKU/Name is required',\r\n 'SKUAlreadyExists': 'SKU/Name already exists.',\r\n 'Captionisrequired': 'Caption is required',\r\n 'ProductTypeIsrequired': 'Type Is required.',\r\n 'Unitisrequired': 'Unit is required',\r\n 'QuantityMustGreaterThan0': 'Amount must greater than zero'\r\n },\r\n 'markup': {\r\n 'Start': 'Markup',\r\n 'Done': 'Done'\r\n },\r\n 'tagDialog': {\r\n 'Name': 'Name',\r\n 'Color': 'Color',\r\n 'Cancel': 'Cancel',\r\n 'Save': 'Save',\r\n 'AddTag': 'Add Tag',\r\n 'PleaseEnterAName': 'Please enter a name',\r\n 'PleaseSelectColor': 'Please select a color',\r\n 'EditTag': 'Edit Tag'\r\n },\r\n ...enlocale\r\n}\r\n\r\nexport default en\r\n","import zhlocale from 'element-ui/lib/locale/lang/zh-CN'\r\nconst cn = {\r\n 'index': {\r\n 'Projects': '项目',\r\n 'Open': '活跃',\r\n 'Closed': '已关闭',\r\n 'NewProject': '创建项目',\r\n 'SearchProjectNameOrAddress': '搜索项目名称或地址',\r\n 'Filters': '筛选',\r\n 'Updated': '更新:{date}',\r\n 'NoData': '无数据',\r\n 'Name': '名称',\r\n 'User': '用户',\r\n 'CreatedFrom': '创建时间(从)',\r\n 'CreatedTo': '创建时间(到)',\r\n 'daysAgo': ' 天前',\r\n 'hoursAgo': ' 小时前',\r\n 'minutesAgo': ' 分钟前',\r\n 'CreateBy': '创建人',\r\n 'Members': '项目成员',\r\n 'Tutorials': '教程',\r\n 'DownloadApp': '下载 App'\r\n },\r\n '404': {\r\n 'OOPS': '哎呀!',\r\n 'ThePageYouWereLookingForIsMissing': '您查看的页面找不到了',\r\n 'check': '请检查您输入的网址是否正确,点击下面的按钮返回',\r\n 'Back': '返回'\r\n },\r\n 'corp': {\r\n 'ExpiredOn': '到期时间',\r\n 'Corp': '公司',\r\n 'Paid in Apple': '苹果支付',\r\n 'total': '总计',\r\n 'ConfigLanguage': '设置语言',\r\n 'User': '人',\r\n 'PaymentMethod': '支付方式',\r\n 'Type': '类型',\r\n 'Chinese': '中文',\r\n 'English': '英文',\r\n 'BatchDelete': '批量删除',\r\n 'Welcome': '欢迎, {user}',\r\n 'EditCorp': '编辑公司',\r\n 'CategoryName': '类别名称',\r\n 'Action': '操作',\r\n 'Edit': '编辑',\r\n 'Settings': '设置',\r\n 'CompanyName': '公司名称',\r\n 'CorpSetting': '公司设置',\r\n 'M2Integration': '集成M2',\r\n 'Unit': '单位',\r\n 'TemperatureUnit': '温度单位',\r\n 'Categories': '类别',\r\n 'Save': '保存',\r\n 'LaborItems': '劳务项',\r\n 'NewLaborItem': '创建劳务项',\r\n 'Name': '名称',\r\n 'InstallCarpet': '安装地毯',\r\n 'InstallVinyl': '安装乙烯基',\r\n 'InstallWallPaper': '安装墙纸',\r\n 'InstallTile': '安装瓷砖',\r\n 'InstallLaminate': '安装复合地板',\r\n 'InstallHardwood': '安装实木地板',\r\n 'Install Carpet': '安装地毯',\r\n 'Install Vinyl': '安装乙烯基',\r\n 'Install WallPaper': '安装墙纸',\r\n 'Install Tile': '安装瓷砖',\r\n 'Install Laminate': '安装复合地板',\r\n 'Install Hardwood': '安装实木地板',\r\n 'Price': '价格',\r\n 'PleaseCheckOneLaborItemAtLast': '至少选择一个劳务项',\r\n 'AreYouSureYouWantToDeleteTheseLaborItems': '您确定要删除这些劳务项吗?',\r\n 'TIPS': '提示',\r\n 'Yes': '是',\r\n 'No': '否',\r\n 'Licenses': '许可证',\r\n 'Total': '共{0}人, 剩余{1}人',\r\n 'remaining': '剩余',\r\n 'Storage': '存储容量',\r\n 'Expired': '过期',\r\n 'NextBilling': '下个账单日',\r\n 'Upgrade': '升级版本',\r\n 'Buy': '购买',\r\n 'PaymentHistory': '支付历史',\r\n 'SubscriptionID': '订阅ID',\r\n 'Item': '项目',\r\n 'Quantity': '数量',\r\n 'Rate': '单价',\r\n 'Subscription': '订阅 {type}, 待支付',\r\n 'RenewedOn': '续订',\r\n 'ProrationCharged': '按比例收费',\r\n 'NextBillingDateIs': '下个账单日',\r\n 'SubscriptionCreated': '订阅已创建, 等待付款',\r\n 'SubscriptionResumed': '订阅已恢复, 等待付款',\r\n 'SubscriptionUpdated': '订阅更新',\r\n 'SubscriptionCanceled': '订阅取消',\r\n 'SubscriptionFailed': '付款失败',\r\n 'SubscriptionTryPay': '账单已创建,等待付款',\r\n 'SubscriptionSent': '账单已发送,等待付款',\r\n 'sSubscription': '的订阅',\r\n 'Add': '新增',\r\n 'Remove': '移除',\r\n 'TurnOnAuto-Bill': '打开自动订阅',\r\n 'TurnOffAuto-Bill': '关闭自动订阅',\r\n 'Cancel': '取消',\r\n 'Resume': '继续订阅',\r\n 'LoadHistory': '查看历史',\r\n 'CreatedOn': '创建于',\r\n 'Amount': '合计',\r\n 'Status': '状态',\r\n 'Invoice#': '发票号',\r\n 'Note': '说明',\r\n 'TrakrStarter(Trial)': 'Trakr基础版(试用)',\r\n 'EditPassword': '修改密码',\r\n 'Activities': '动态',\r\n 'NoData': '没有数据',\r\n 'createdaTask': '创建任务 ({TaskName})',\r\n 'assignTheTask': '将任务 ({0}) 分配给 {1}',\r\n 'setTheProgress': '将任务({0})的进度设置为{1}%',\r\n 'deletedaTask': '删除任务 ({0})',\r\n 'addRHReadingToTask': '为任务({0})添加RH读数',\r\n 'addCaClReadingToTask': '为任务({0})添加CaCl读数',\r\n 'removeaRH': '从任务({0})中删除RH读数',\r\n 'removeaCaCl': '从任务({0})中删除CaCl读数',\r\n 'NewUser': '创建新用户',\r\n 'LoginAccount': '登录账号',\r\n 'LoginEmail': '邮箱',\r\n 'ManageMySubscription': '管理订阅',\r\n 'Role': '角色',\r\n 'CreatedTime': '创建时间',\r\n 'License': '许可证',\r\n 'Delete': '删除',\r\n 'AreYouSureYouWantToDeleteThisUser': '您确定要删除这个用户吗?',\r\n 'LastActivity': '最新操作',\r\n 'TotalProjectCount': '项目数',\r\n 'TotalUserCount': '用户数',\r\n 'TotalCompletedTaskCount': '已完成任务数',\r\n 'TotalAssignToTaskCount': '分配给别人任务数',\r\n 'TotalAssignedTaskCount': '被分配任务数',\r\n 'More': '更多',\r\n 'Created': '创建时间',\r\n 'ResidualLicenseForNewUserTooltip': '您没有可用的license,要么购买更多用户,要么把不用用户disable掉。',\r\n 'SearchUserName': '搜索用户名称',\r\n 'SearchLoginAccount': '搜索账号'\r\n },\r\n 'layout': {\r\n 'Filter': '筛选',\r\n 'Clearfilter': '清空选项',\r\n 'ManageMySubscription': '管理订阅',\r\n 'Upgrade': '升级版本',\r\n 'Buy': '购买',\r\n 'SearchOrJumpTo': '搜索或跳转',\r\n 'AllReport': '全部报表',\r\n 'Management': '管理',\r\n 'MyCorp': '我的公司',\r\n 'MyProfile': '个性化设置',\r\n 'LogOut': '退出',\r\n 'EndMock': '结束模拟',\r\n 'MyTasks': '我的任务列表',\r\n 'Reports': '报表'\r\n },\r\n 'welcome': {\r\n 'TIPS': '提示',\r\n 'Yes': '是',\r\n 'No': '否',\r\n 'LogInToYourAccount': '登录您的账户',\r\n 'NotRegistered': '没有注册?',\r\n 'SignUp': '注册',\r\n 'MeasureSquareID': 'Measure Square ID (邮箱)',\r\n 'Password': '密码 *',\r\n 'ForgotPassword': '忘记密码?',\r\n 'Login': '登录',\r\n 'MeasureSquareIDisRequired': '请输入Measure Square ID ',\r\n 'PasswordIsRequired': '请输入密码',\r\n 'CreateYourAccount': '创建您的账户',\r\n 'AlreadyHaveAnAccount': '已有账户?',\r\n 'SignIn': '登录',\r\n 'Name': '姓名 *',\r\n 'BusinessName': '公司名称 *',\r\n 'YouNeedToEnteraValidemail': '请输入有效邮箱',\r\n 'LoginAccount': '登录账户',\r\n 'LoginAccountAlreadyExists': '登录账户已存在',\r\n 'LoginAccountIsRequired': '请输入登录账户',\r\n 'NameIsRequired': '请输入姓名',\r\n 'PhonesRequired': '请输入电话号码',\r\n 'BusinessNameIsRequired': '请输入公司名称',\r\n 'ApplyNewPassword': '应用新密码',\r\n 'NewPassword': '新密码',\r\n 'ConfirmPassword': '确认密码 *',\r\n 'AccountIsRequired': '请输入账户',\r\n 'ConfirmPasswordDoseNotMatchPassword': '确认密码与密码不匹配',\r\n 'ConfirmPasswordIsRequired': '请输入确认密码',\r\n 'WelcomeToJoin': '欢迎加入',\r\n 'YouNeedToEnteraValidEmail': '请输入有效邮箱',\r\n 'ResetPassword': '重置密码',\r\n 'Email': '邮箱',\r\n 'SendEmail': '发送邮件',\r\n 'EmailSent': '邮件已发送!',\r\n 'WeJustSentAnEmailTo': '我们刚刚发送了邮件给',\r\n 'check': '如果现在去检查您的电子邮件,会发现一条来自我们的消息,说明如何为您的帐户设置新密码。',\r\n 'notreceive': '如果您在几分钟内未收到我们的电子邮件,请检查您的邮件垃圾箱。',\r\n 'BackTo': '返回',\r\n 'EmailIsRequired': '请输入邮箱',\r\n 'Projects': '项目',\r\n 'Open': '活跃',\r\n 'Closed': '已关闭',\r\n 'NewProject': '创建项目',\r\n 'Filters': '筛选',\r\n 'Loading': '加载中',\r\n 'Phone': '电话 *',\r\n 'CorpNameAlreadyExists': '公司名称已存在'\r\n },\r\n 'home': {\r\n 'TIPS': '提示',\r\n 'Yes': '是',\r\n 'No': '否',\r\n 'Welcome': '欢迎',\r\n 'happening': '这是在您的项目中{0}更新的信息',\r\n 'EditProject': '编辑项目',\r\n 'CloseProject': '关闭项目',\r\n 'Progress': '进度',\r\n 'CreateBy': '{1}由 {0} 创建',\r\n 'PLANS': '平面图',\r\n 'AddPlan': '导入平面图',\r\n 'TASKS': '任务',\r\n 'Open': '活跃',\r\n 'All': '全部',\r\n 'REPORTS': '报表',\r\n 'Activities': '最近20条动态',\r\n 'NoData': '没有数据',\r\n 'AreYouSureYouWantToCloseThisProject': '您确定要关闭当前项目?',\r\n 'createdaTask': '创建任务 ({0})',\r\n 'assignTheTask': '将任务 ({0}) 分配给 {1}',\r\n 'setTheProgress': '将任务({0})的进度设置为{1}%',\r\n 'deletedaTask': '删除任务 ({0})',\r\n 'addRHReadingToTask': '为任务({0})添加RH读数',\r\n 'addCaClReadingToTask': '为任务({0})添加CaCl读数',\r\n 'removeaRH': '从任务({0})中删除RH读数',\r\n 'removeaCaCl': '从任务({0})中删除CaCl读数',\r\n 'createdaPlan': '创建平面图 ({0})',\r\n 'deletedaPlan': '删除平面图 ({0})',\r\n 'ReopenProject': '重新打开项目',\r\n 'AreYouSureYouWantToReopenThisProject': '您确定要重新打开当前项目?',\r\n 'loggedInSystem': '登录'\r\n },\r\n 'diagrams': {\r\n 'AddPlans': '导入平面图',\r\n 'EditPlan': '编辑图纸信息',\r\n 'Name': '名称',\r\n 'Rename': '重命名',\r\n 'Delete': '删除',\r\n 'Today': '今天',\r\n 'Open': '活跃',\r\n 'NoData': '没有数据',\r\n 'Warning': '警告',\r\n 'cannotBeDeleted': '该图纸已添加任务,无法删除!',\r\n 'wantToDelete': '您确定要删除 {0}?',\r\n 'TIPS': '提示',\r\n 'Yes': '是',\r\n 'No': '否',\r\n 'AddPlanFromPDF': '从PDF导入平面图',\r\n 'SearchPlanName': '搜索平面图名称',\r\n 'SearchTag': '搜索标签'\r\n },\r\n 'documents': {\r\n 'Add': '添加',\r\n 'Folder': '文件夹',\r\n 'Document': '文件',\r\n 'NewFolder': '新增文件夹',\r\n 'RenameFolder': '重命名文件夹',\r\n 'Cancel': '取消',\r\n 'Save': '保存',\r\n 'UploadDocument': '上传文件',\r\n 'PleaseSelectDocument': '请选择文档',\r\n 'AreYouSureYouWantToDeleteDocuments': '您确定要删除选中的文档?',\r\n 'Name': '名称',\r\n 'SearchDocumentName': '搜索文件名称'\r\n },\r\n 'group': {\r\n 'NewTaskGroup': '创建任务组',\r\n 'Name': '名称',\r\n 'Edit': '编辑',\r\n 'Tasks': '任务',\r\n 'Delete': '删除',\r\n 'DueOn': '截止日期',\r\n 'Open': '已开始({0})',\r\n 'Complete': '已完成 ({0})',\r\n 'NoData': '没有数据',\r\n 'AreYouSureYouWantToDeleteThisGroup': '您确定要删除这个任务组?',\r\n 'Yes': '是',\r\n 'No': '否',\r\n 'Progress': '进度',\r\n 'Concrete': '混凝土',\r\n 'TIPS': '提示',\r\n 'SearchTaskGroupName': '搜索任务组名称'\r\n },\r\n 'members': {\r\n 'AddMembers': '添加项目成员',\r\n 'Name': '名称',\r\n 'Email': '邮箱',\r\n 'Role': '角色',\r\n 'AreYouSureYouWantToDeleteThisMember': '您确定要删除这个项目成员?',\r\n 'Yes': '是',\r\n 'No': '否',\r\n 'TIPS': '提示',\r\n 'SearchMemberName': '搜索成员名称'\r\n },\r\n 'photo': {\r\n 'Upload': '上传图片或视频',\r\n 'Task': '任务',\r\n 'LastUpdatedOn': '更新时间',\r\n 'Delete': '删除',\r\n 'Download': '下载',\r\n 'NoData': '没有数据',\r\n 'AreYouSureYouWantToDeleteThesePhotos': '您确定要删除选中的照片?',\r\n 'TIPS': '提示',\r\n 'Yes': '是',\r\n 'No': '否',\r\n 'PleaseSelectPhoto': '请选择照片',\r\n 'Plan': '平面图',\r\n 'RoomName': '房间名称',\r\n 'TaskName': '任务名称',\r\n 'NotFound': '找不到照片.',\r\n 'SearchPlan': '搜索平面图',\r\n 'SearchTaskName': '搜索任务名称',\r\n 'SearchRoom': '搜索房间'\r\n },\r\n 'report': {\r\n 'Name': '名称',\r\n 'Type': '类型',\r\n 'BatchDelete': '批量删除',\r\n 'ProjectName': '项目名称',\r\n 'CreatedTime': '创建时间',\r\n 'Actions': '操作',\r\n 'Delete': '删除',\r\n 'AreYouSureYouWantToDeleteThisReport': '您确定要删除这个报表?',\r\n 'TIPS': '提示',\r\n 'Yes': '是',\r\n 'No': '否',\r\n 'PleaseCheckOneTaskAtLast': '请至少勾选一个任务',\r\n 'AreYouSureYouWantToDeleteTheseReport': '您确定要删除选中的报表?',\r\n 'Report': '报表',\r\n 'Task': '任务',\r\n 'ProductInstallation': '材料安装',\r\n 'Moisture': '湿度',\r\n 'Task Report': '任务',\r\n 'Moisture Report': '湿度',\r\n 'Labor Report': '劳务',\r\n 'Plan': '平面图',\r\n 'All': '全部',\r\n 'SearchReportName': '搜索报表名称',\r\n 'Download': '下载',\r\n 'SendEmail': '发送邮件'\r\n },\r\n 'task': {\r\n 'AddTask': '创建任务',\r\n 'CompletionRate': '完成度',\r\n 'All': '全部',\r\n 'Filters': '筛选',\r\n 'Name': '名称',\r\n 'Status': '状态',\r\n 'DueDate': '截止日期',\r\n 'Watching': '相关人员',\r\n 'BatchDelete': '删除',\r\n 'BatchEdit': '编辑',\r\n 'ExportToFile': '导出(所有)',\r\n 'Plan': '平面图',\r\n 'Project': '项目',\r\n 'Group': '任务组',\r\n 'SearchTaskName': '搜索任务名称',\r\n 'NoTasksFound': '找不到所选类型\\'{0}\\'的任务',\r\n 'NoTasksFoundByCondition': '找不到匹配的任务.',\r\n 'PleaseCheckOneTaskAtLast': '请至少勾选一个任务',\r\n 'AreYouSureYouWantToDeleteTheseTasks': '您确定要删除这些任务?',\r\n 'TIPS': '提示',\r\n 'Yes': '是',\r\n 'No': '否',\r\n 'TaskGroup': '任务组',\r\n 'LocationType': '位置类型',\r\n 'Floor': '地板',\r\n 'Wall': '墙',\r\n 'Elevation': '凸起物',\r\n 'Assignee': '执行人',\r\n 'Report': '报表',\r\n 'Task': '任务',\r\n 'ProductInstallation': '材料安装',\r\n 'Product Installation': '材料安装',\r\n 'Moisture': '湿度',\r\n 'NewReport': '创建报表',\r\n 'Concrete': '混凝土',\r\n 'Labor': '劳务',\r\n 'Start': '开始',\r\n 'End': '结束',\r\n 'CreatedOn': '创建时间',\r\n 'UpdatedOn': '更新时间'\r\n },\r\n 'static': {\r\n 'Labor': '劳务报表',\r\n 'Metric': '米制',\r\n 'Imperial': '英制',\r\n 'Celsius': '摄氏度',\r\n 'Fahrenheit': '华氏度',\r\n 'Overview': '总览',\r\n 'plan': '平面图',\r\n 'Tasks': '任务',\r\n 'TaskGroups': '任务组',\r\n 'Reports': '报表',\r\n 'Liveanalytics': '分析',\r\n 'Photos': '照片',\r\n 'Documents': '文件',\r\n 'Members': '项目成员',\r\n 'MyCorp': '我的公司',\r\n 'UserManagement': '用户管理',\r\n 'Subscription': '订阅',\r\n 'Corporations': '公司',\r\n 'AllUsers': '全部用户',\r\n 'LaborItems': '劳务项',\r\n 'Settings': '设置',\r\n 'SysSetting': '系统设置',\r\n 'days': ' 天',\r\n 'day': ' 天',\r\n 'YourTrialIsExpired': '您的试用已过期!',\r\n 'FreeLicenses': ' 免费许可证, ',\r\n 'licensesPurchased': ' 个许可证已购买, ',\r\n 'assigned': ' 个已分配',\r\n 'YourSubscriptionIsExpired': '您的订阅已过期!',\r\n 'YourSubscriptionWillExpired': '您的订阅{0}将会在{1}天后到期。',\r\n 'justThen': '刚刚',\r\n 'secondsAgo': ' 秒前',\r\n 'aMinuteAgo': ' 一分钟前',\r\n 'minutesAgo': ' 分钟前',\r\n '1hourAgo': ' 一小时前',\r\n 'hoursAgo': ' 小时前',\r\n 'yesterday': '昨天',\r\n 'daysAgo': ' 天前',\r\n 'aWeekAgo': '一周前',\r\n 'weeksAgo': ' 周前',\r\n 'LicenseDisabledTitle': '您的账号已被禁用',\r\n 'LicenseExpiredTitle': '订阅已过期',\r\n 'LicenseDisabledNote': '您的账号{0}已被禁用, 请联系管理员',\r\n 'LicenseExpiredNote': '您的订阅{0}已过期',\r\n 'Products': '材料',\r\n 'Tags': '标签',\r\n 'TaskGroupTemplates': '任务组模板'\r\n },\r\n 'router': {\r\n 'Login': '登录',\r\n 'Register': '注册',\r\n 'Invite': '邀请',\r\n 'Forgot': '忘记密码',\r\n 'ResetPassword': '重置密码',\r\n 'LoginToLicense': '登录许可证',\r\n 'Projects': '项目',\r\n 'Home': '总览',\r\n 'Tasks': '任务',\r\n 'Plans': '平面图',\r\n 'TaskGroups': '任务组',\r\n 'Reports': '报表',\r\n 'Liveanalytics': '分析',\r\n 'Photos': '照片',\r\n 'Documents': '文件',\r\n 'Members': '项目成员',\r\n 'Corp': '公司',\r\n 'UserManagement': '用户管理',\r\n 'Subscription': '订阅',\r\n 'MyProfile': '个性化设置',\r\n 'Corporations': '公司',\r\n 'AllUsers': '全部用户',\r\n 'LaborItems': '劳务设置',\r\n 'CorpSetting': '公司设置',\r\n 'SysSetting': '系统设置',\r\n 'TaskList': '任务列表',\r\n 'ByRoom': '按房间',\r\n 'room': '房间',\r\n 'ByProduct': '按材料',\r\n 'Task': '任务',\r\n 'batchTask': '批量任务',\r\n 'role': '角色',\r\n 'Tags': '标签',\r\n 'taskGroupTemplates': '任务组模板'\r\n },\r\n 'model': {\r\n 'tasks are going to be created': '个任务会被出创建',\r\n 'Probe': '探测',\r\n 'showImage': '显示底图',\r\n 'Product': '材料',\r\n 'task': '任务',\r\n 'ZoomIn': '放大',\r\n 'ZoomOut': '缩小',\r\n 'ZoomAll': '重置',\r\n 'Task': '任务',\r\n 'Tasks': '任务',\r\n 'ProductInstallation': '材料安装',\r\n 'TaskTemplate': '模板任务',\r\n 'Moisture': '湿度',\r\n 'ClearFilter': '清空选项',\r\n 'Type': '类型',\r\n 'Status': '状态',\r\n 'TaskGroup': '任务组',\r\n 'LocationType': '位置类型',\r\n 'DueDate': '截止日期',\r\n 'From': '从',\r\n 'To': '到',\r\n 'Assignee': '执行人',\r\n 'Watching': '相关人员',\r\n 'AddTask': '创建任务',\r\n 'Rooms': '房间',\r\n 'Products': '材料',\r\n 'ThereIsNoProduct': '这里没有材料',\r\n 'PleaseCreate': '请首先创建一个{0}任务。',\r\n 'Wall': '墙面',\r\n 'Label': '标签',\r\n 'Dimension': '尺寸',\r\n 'WallSection': '墙段',\r\n 'Annotation': '备注',\r\n 'RoomName': '房间名称',\r\n 'Name': '名称',\r\n 'StartDate': '开始日期',\r\n 'Location': '位置',\r\n 'Description': '描述',\r\n 'Cancel': '取消',\r\n 'Save': '保存',\r\n 'Next': '下一步',\r\n 'SelectRoom': '选择房间',\r\n 'MaxRH': 'MaxRH',\r\n 'HoleDepth': '孔深',\r\n 'CreateTaskForEveryRoom': '为每个房间创建任务',\r\n 'EditTasks': '编辑任务',\r\n '%Done': '完成百分比',\r\n 'Delete': '删除',\r\n 'AreYouSureYouWantToDeleteTheseTasks': '您确定要删除这些任务?',\r\n 'TIPS': '提示',\r\n 'Yes': '是',\r\n 'No': '否',\r\n 'Search': '搜索',\r\n 'CreateTask': '创建任务',\r\n 'ChangeAll': '全部修改',\r\n 'NetArea': '净面积',\r\n 'Installed': '已安装',\r\n 'MarkAsDone': '标记为已完成',\r\n 'Floor': '地板',\r\n 'Base/LF': '基线/线性材料',\r\n 'Door': '门',\r\n 'Successfully': '保存成功',\r\n 'AddReading': '添加读数',\r\n 'Category': '类别',\r\n 'TotalQty': '总量',\r\n 'QtyInstalled': '已安装总量',\r\n 'RHInConcrete': '混凝土中的RH',\r\n 'PHTesting': 'PH测试',\r\n 'StartingWeight': '起始重量',\r\n 'EndingWeight': '结束重量',\r\n 'NetWeightGain': '净增重',\r\n 'ConCrete': '混凝土',\r\n 'Ambient': '环境',\r\n 'SurfaceTemp': '表面温度',\r\n 'MoreReading': '更多读数信息',\r\n 'AddPhoto': '添加照片',\r\n 'AreYouSureYouWantToDeleteThisPhoto': '您确定要删除这张照片?',\r\n 'AreYouSureYouWantToDeleteThisTask': '您确定要删除这个任务?',\r\n 'BatchEdit': '批量编辑任务',\r\n 'Labor': '劳务',\r\n 'Select': '请选择',\r\n 'SelectAssignee': '谁需要做这个?',\r\n 'SelectWatching': '谁应该知道这些?',\r\n 'DescribeTheTask': '说明这个任务',\r\n 'SearchTaskName': '搜索任务名称',\r\n 'TaskTotalQty': '任务总量',\r\n 'JobsiteTotalQty': '项目总量',\r\n 'RetainageQty': '余量',\r\n 'TaskTotalQtyCannotGreaterThanJobsiteRetaingeQty': '任务总量不能超出项目余量',\r\n 'PleaseSelectOneProduct': '请选择材料',\r\n 'PleaseSelectOneTemplate': '请选择模板',\r\n 'DragToAdd': '拖动并在图上单击',\r\n 'Addmultipletasksfromrooms': '从房间创建任务',\r\n 'Addmultipletasksfromproducts': '从材料创建任务'\r\n },\r\n 'upload': {\r\n 'SelectFile': '选择文件',\r\n 'SelectPhoto/Video': '选择照片或视频',\r\n 'SelectPhoto': '选择照片',\r\n 'Upload': '上传',\r\n 'Uploading': '上传中',\r\n 'Waiting': '处理文件中,请稍等',\r\n 'Cancel': '取消',\r\n 'SelectDoc': '选择文件'\r\n },\r\n 'taskDialog': {\r\n 'Are you sure you want to delete this file?': '您确定要删除这个文件?',\r\n 'Task': '任务',\r\n 'AddMoisture': '添加读数',\r\n 'Saving': '保存中...',\r\n 'Location': '位置',\r\n 'Description': '描述',\r\n 'AddReading': '添加读数',\r\n 'Name': '名称',\r\n 'Category': '类别',\r\n 'Status': '状态',\r\n '%Done': '完成百分比',\r\n 'TaskGroup': '任务组',\r\n 'StartDate': '开始日期',\r\n 'DueDate': '截止日期',\r\n 'Assignee': '执行人',\r\n 'Watching': '相关人员',\r\n 'Product': '材料',\r\n 'NetArea': '净面积',\r\n 'TotalQty': '总数量',\r\n 'QtyInstalled': '已安装总量',\r\n 'Installed': '已安装',\r\n 'ChangeAll': '全部修改',\r\n 'MaxRH': 'MaxRH',\r\n 'RHInConcrete': '混凝土中的RH',\r\n 'PHTesting': 'PH测试',\r\n 'HoleDepth': '孔深',\r\n 'StartingWeight': '起始重量',\r\n 'EndingWeight': '结束重量',\r\n 'NetWeightGain': '净增重',\r\n 'ConCrete': '混凝土',\r\n 'Ambient': '环境',\r\n 'SurfaceTemp': '表面温度',\r\n 'MoreReading': '更多读数信息',\r\n 'AddPhoto': '添加照片',\r\n 'Delete': '删除',\r\n 'Save': '保存',\r\n 'MarkAsDone': '标记为已完成',\r\n 'AreYouSureYouWantToDeleteThisChecklist': '您确定要删除这个检查清单?',\r\n 'AreYouSureYouWantToDeleteThisChecklistItem': '您确定要删除这个检查项?',\r\n 'AreYouSureYouWantToDeleteThisPhoto': '您确定要删除这张照片?',\r\n 'TIPS': '提示',\r\n 'Yes': '是',\r\n 'No': '否',\r\n 'AreYouSureYouWantToDeleteThisTask': '您确定要删除这个任务?',\r\n 'Floor': '地板',\r\n 'Base/LF': '基线/线性材料',\r\n 'Door': '门',\r\n 'Wall': '墙面',\r\n 'ReadingList': '读数列表',\r\n 'AreYouSureYouWantToDeleteThisReading': '您确定要删除这个读数?',\r\n 'EditTasks': '编辑任务',\r\n 'RH': 'RH',\r\n 'CaCl': 'CaCl',\r\n 'ConcreteTemp': '混凝土温度',\r\n 'AmbientTemp': '环境温度',\r\n 'ConcreteSurfaceTemp': '混凝土表面温度',\r\n 'AmbientRH': '环境RH',\r\n 'ReadingTime': '读数时间',\r\n 'CaClStartingWeight': 'CaCl起始重量',\r\n 'CaClEndingWeight': 'CaCl结束重量',\r\n 'ExposureTime': '曝光时间',\r\n 'RequireNumber': '请输入数字',\r\n 'PHTestingIsError': 'PH测试有误',\r\n 'PHTestingIsEmpty': '请输入PH测试',\r\n 'CaClStartingWeightIsError': 'CaCl起始重量有误',\r\n 'CaClStartingWeightIsEmpty': '请输入CaCl起始重量',\r\n 'CaClEndingWeightIsError': 'CaCl结束重量有误',\r\n 'CaClEndingWeightNeedBiggerThanCaClStartingWeight': 'CaCl结束重量须大于起始重量',\r\n 'CaClEndingWeightIsEmpty': '请输入CaCl结束重量',\r\n 'CaClStartingTimeIsEmpty': '请输入CaCl开始时间',\r\n 'CaClEndingTimeNeedLaterThanCaClStartingTime': 'CaCl结束时间须大于开始时间',\r\n 'CaClEndingTimeIsEmpty': '请输入CaCl结束时间',\r\n 'RHReadingMustHaveArecordValue': '请输入RH读数',\r\n 'EndTime': '结束时间',\r\n 'StartTime': '开始时间',\r\n 'Cancel': '取消',\r\n 'Video': '视频',\r\n 'FromLocalDisk': '本地磁盘',\r\n 'FromProjectDocuments': '项目文档',\r\n 'AddFile': '添加文件',\r\n 'Checklists': '检查清单',\r\n 'AddChecklist': '添加检查清单',\r\n 'RepeatAssignFileToTask': '该文件已添加到当前任务,请不要再次添加',\r\n 'VaporEmission': 'MVER',\r\n 'TaskTotalQty': '任务总量',\r\n 'JobsiteTotalQty': '项目总量',\r\n 'RetainageQty': '余量',\r\n 'TaskTotalQtyCannotGreaterThanJobsiteRetaingeQty': '任务总量不能超出项目余量',\r\n 'PleaseSelectOneProduct': '请选择材料'\r\n },\r\n 'project': {\r\n 'Upload': '上传文件',\r\n 'NoData': '无数据',\r\n 'Skip': '跳过',\r\n 'SelectPlan': '选择平面图',\r\n 'SelectLayers': '选择图层',\r\n 'CreateProject': '创建项目',\r\n 'CreateWithCloud': '选择一个MeasureSqaure Cloud项目',\r\n 'CreateWithPdf': '选择一个PDF图纸',\r\n 'CreateWithPdfs': '选择PDF图纸',\r\n 'CreateWithEmpty': '稍后添加图纸',\r\n 'EnterInformation': '输入项目信息',\r\n 'SearchforPlans': '搜索平面图',\r\n 'Name': '名称',\r\n 'Owner': '所有者',\r\n 'LastUpdated': '更新',\r\n 'SelectAll': '全选',\r\n 'Selected': '选中',\r\n 'NoneSelected': '未选择图纸',\r\n 'ProjectManager': '项目经理',\r\n 'InstallationManager': '安装经理',\r\n 'Subcontract': '分包商',\r\n 'Street': '街道',\r\n 'City': '市',\r\n 'State': '省',\r\n 'ZipCode': '邮政编码',\r\n 'Country': '国家',\r\n 'Cancel': '取消',\r\n 'Previous': '上一步',\r\n 'Next': '下一步',\r\n 'Save': '保存',\r\n 'OK': '保存',\r\n 'PleaseEnterAname': '请输入名称',\r\n 'EditProject': '编辑项目',\r\n 'Address': '地址',\r\n 'Members': '项目成员',\r\n 'SelectMembers': '选择项目成员'\r\n },\r\n 'PhotoDialog': {\r\n 'notsupported': '不支持H.265/HEVC文件'\r\n },\r\n 'member': {\r\n 'AddMembers': '添加项目成员',\r\n 'SearchforMembers': '搜索项目成员',\r\n 'Add': '添加',\r\n 'Cancel': '取消',\r\n 'NewCorpUser': '添加用户'\r\n },\r\n 'management': {\r\n 'ApplyToCorps': '应用于公司',\r\n 'Corporations': '公司',\r\n 'CompanyName': '公司名称',\r\n 'Contact': '联系人',\r\n 'Id': 'Id',\r\n 'CreatedTime': '创建时间',\r\n 'Apply': '应用',\r\n 'Cancel': '取消',\r\n 'PleaseCheckOneCorporationAtLast': '请至少勾选一个公司',\r\n 'ObjectTypeName': '对象类型名称',\r\n 'Items': '项',\r\n 'Remark': '备注',\r\n 'Add': '添加',\r\n 'Delete': '删除',\r\n 'Save': '保存',\r\n 'ObjectTypeNameIsRequired': '请输入对象类型名称',\r\n 'Edit': '编辑',\r\n 'New': '创建',\r\n 'AreYouSureYouWantToDeleteThisCorp': '您确定要删除这个公司?',\r\n 'TIPS': '提示',\r\n 'Yes': '是',\r\n 'No': '否',\r\n 'ExportToCSV': '导出CSV',\r\n 'ExportToExcel': '导出Excel'\r\n },\r\n 'groupDialog': {\r\n 'Name': '名称',\r\n 'StartDate': '开始日期',\r\n 'DueDate': '截止日期',\r\n 'Description': '描述',\r\n 'Save': '保存',\r\n 'Cancel': '取消',\r\n 'AddTaskGroup': '新建任务组',\r\n 'PleaseEnterAName': '请输入名称',\r\n 'EditTaskGroup': '编辑任务组',\r\n 'PhaseType': '类型',\r\n 'General': '普通',\r\n 'BillingPeriod': '结算期',\r\n 'IsCurrent': '当前结算',\r\n 'PleaseEnterAStartDate': '请输入开始日期',\r\n 'PleaseEnterADueDate': '请输入截止日期',\r\n 'StartDateCannotGreaterThenDueDate': '开始日期不能大于截止日期',\r\n 'DueDateCannotGreaterToday': '截止日期不能大于今天',\r\n 'DescribeTheTaskGroup': '说明这个任务组',\r\n 'EditTaskGroupTemplate': '编辑任务组模板',\r\n 'AddTaskGroupTemplate': '新增任务组模板'\r\n },\r\n 'diagramDialog': {\r\n 'SelectPlan': '选择平面图',\r\n 'SelectLayers': '选择图层',\r\n 'SearchforPlans': '搜索平面图',\r\n 'Name': '名称',\r\n 'Owner': '所有者',\r\n 'LastUpdated': '更新',\r\n 'SelectAll': '全选',\r\n 'Cancel': '取消',\r\n 'Previous': '上一步',\r\n 'Save': '保存',\r\n 'AddingPlan': '导入平面图',\r\n 'AddPlanFromPDF': '从PDF导入平面图',\r\n 'SelectPDF': '选择PDF',\r\n 'SelectPages': '选择页',\r\n 'PagesSelected': '已选中{0}页',\r\n 'SearchPage': '搜索选择页',\r\n 'PdfError': '无效的PDF',\r\n 'SaveFailed': '保存失败',\r\n 'PdfTooLarge': 'Pdf文件太大'\r\n },\r\n 'corpDialog': {\r\n 'Previous': '上一步',\r\n 'Next': '下一步',\r\n 'SubscribetoJobsiteTrakr': '订阅 Job Trakr',\r\n 'month': '月',\r\n 'MONTHLY': '月',\r\n 'year': '年',\r\n 'YEARLY': '年',\r\n 'license': '许可证',\r\n 'Starter': 'Starter',\r\n 'Pro': 'Pro',\r\n 'Enterprise': 'Enterprise',\r\n 'ProInfo1': 'Unlimited Projects (5 Licenses, 200 GB Storage)',\r\n 'ProInfo2': 'Collaboration Among Team, Subs And Clients',\r\n 'ProInfo3': 'Moisture Reporting, Bluetooth Meter Integration',\r\n 'ProInfo4': 'Additional License',\r\n 'People': '人',\r\n 'More': '更多',\r\n 'Total': '总共',\r\n 'Cancel': '取消',\r\n 'Buy': '购买',\r\n 'Pleasecreateyourcompanyinformationfirst': '请先创建公司信息',\r\n 'Company': '公司',\r\n 'BusinessName': '公司名称',\r\n 'Address': '地址',\r\n 'City': '城市',\r\n 'State': '省',\r\n 'ZipCode': '邮政编码',\r\n 'Country': '国家',\r\n 'ContactInfo': '联系方式',\r\n 'Contact': '联系人',\r\n 'Phone': '电话',\r\n 'Fax': '传真',\r\n 'Email': '邮箱',\r\n 'Save': '保存',\r\n 'BusinessNameisrequired': '请输入公司名称',\r\n 'Logo': '标志',\r\n 'Add': '添加',\r\n 'Up': '向上',\r\n 'Down': '向下',\r\n 'Delete': '删除',\r\n 'Close': '关闭',\r\n 'NoType': '没有类型',\r\n 'Typenotempty': '类型不能为空',\r\n 'TypeIsrequired': '请选择类型',\r\n 'Edit': '编辑',\r\n 'CorpSetting': '公司设置',\r\n 'M2Integration': '集成M2',\r\n 'Unit': '单位',\r\n 'TemperatureUnit': '温度单位',\r\n 'Name': '名称',\r\n 'InstallCarpet': '安装地毯',\r\n 'InstallVinyl': '安装乙烯基',\r\n 'InstallWallPaper': '安装墙纸',\r\n 'InstallTile': '安装瓷砖',\r\n 'InstallLaminate': '安装复合地板',\r\n 'InstallHardwood': '安装实木地板',\r\n 'Price': '价格',\r\n 'AddLaborItem': '添加劳务项',\r\n 'Nameisrequired': '请输入姓名',\r\n 'EditLaborItem': '编辑劳务项',\r\n 'Hardwood': '实木地板',\r\n 'Laminate': '复合地板',\r\n 'Tile': '瓷砖',\r\n 'WallPaper': '墙纸',\r\n 'VinylRoll,VinylTile': '乙烯基卷,乙烯基块',\r\n 'CarpetRoll,CarpetTile': '地毯卷,地毯块',\r\n 'ChangePassword': '修改密码',\r\n 'Password': '密码',\r\n 'OldPassword': '旧密码',\r\n 'NewPassword': '新密码',\r\n 'ConfirmPassword': '确认密码',\r\n 'Passwordisrequired': '请输入密码',\r\n 'Confirmpassworddosenotmatchpassword': '确认密码与密码不匹配',\r\n 'ConfirmPasswordisrequired': '请输入确认密码',\r\n 'EditTrialExpiration': '编辑试用期',\r\n 'TrialExpiration': '试用期',\r\n 'Type of service life': '正式类型',\r\n 'duration': '时长',\r\n 'number': '数量',\r\n 'AccountInfo': '账户信息',\r\n 'LoginAccount': '登录账户',\r\n 'UserInfo': '用户信息',\r\n 'FullName': '姓名',\r\n 'Role': '角色',\r\n 'CompanyName': '公司名称',\r\n 'CorpIsrequired': '请选择公司',\r\n 'EditUser': '编辑用户',\r\n 'SubscriptionDetail': '订阅详情',\r\n 'CreatedOn': '创建于',\r\n 'Rate': '费用',\r\n 'Quantity': '数量',\r\n 'Nextbillingdate': '下个账单日',\r\n 'Action': '操作',\r\n 'AddUser': '添加用户',\r\n 'Selectonerole': '请选择一个角色',\r\n 'LoginAccountisrequired': '请输入登录账户',\r\n 'Youneedtoenteravalidemail': '请输入有效邮箱',\r\n 'Avatar': '头像',\r\n 'EditLicense': '编辑许可证',\r\n 'TrialExpirationDate': '试用期时间'\r\n },\r\n 'reportDialog': {\r\n 'Loading': '保存中',\r\n 'Type': '类型',\r\n 'SendMail': '发送邮件',\r\n 'To': '收件人',\r\n 'Subject': '标题',\r\n 'Content': '内容',\r\n 'Report': '报表',\r\n 'Cancel': '取消',\r\n 'Send': '发送',\r\n 'Toisrequired': '请输入收件人',\r\n 'Youneedtoenteravalidemail': '请输入有效邮箱',\r\n 'Subjectisrequired': '请输入标题',\r\n 'Name': '名称',\r\n 'Orientation': '方向',\r\n 'Landscape': '横向',\r\n 'Portrait': '纵向',\r\n 'RH': 'RH',\r\n 'Cacl': 'CaCl',\r\n 'RH&Cacl': 'RH & CaCl',\r\n 'ShowProduct': '显示材料',\r\n 'ShowTaskList': '显示任务列表',\r\n 'ShowFloorPlan': '显示平面图',\r\n 'ShowPhotos': '显示照片',\r\n 'Previous': '上一步',\r\n 'Next': '下一步',\r\n 'Save': '保存',\r\n 'Nameisrequired': '请输入名称',\r\n 'ProductInstallation': '材料安装',\r\n 'Moisture': '湿度',\r\n 'Task': '任务',\r\n 'Report-': ' 报告 - ',\r\n 'Progress': '进度',\r\n 'Concrete': '混凝土',\r\n 'Plan': '平面图',\r\n 'Location': '位置',\r\n 'Done': '完成度',\r\n 'DueDate': '截止日期',\r\n 'StartDate': '开始日期',\r\n 'Assignee': '执行人',\r\n 'Status': '状态',\r\n 'Notes': '说明',\r\n '%Done': '完成百分比',\r\n 'Area': '区域',\r\n 'Group': '任务组',\r\n 'CreateBy': '创建人',\r\n 'Job': '项目',\r\n 'MeasrueSquareCorp': 'Measrue Square Corp.',\r\n '221EWalnutSt': '221 E Walnut St, Suite 110, Pasadena, CA 91101 support@measuresquare.com',\r\n 'Jobinfo': '项目信息',\r\n 'Photos': '照片',\r\n 'Date': '日期',\r\n 'AmbientRH%': '环境RH, %',\r\n 'AirTemp': '空气温度',\r\n 'ConcreteSurfaceTemp': '混凝土表面温度',\r\n 'ConcreteTemp': '混凝土温度',\r\n 'RHInConcrete%': '混凝土RH, %',\r\n 'Reading': '读数',\r\n 'MaxRH%': '最大RH, %',\r\n 'MAX72Hrs': '最长72小时',\r\n 'Min60Hrs': '最短60小时',\r\n 'TestTime': '测试时间',\r\n 'LBS': 'LBS. per 1000 sq/ft in a 24 hour period.',\r\n 'Hrs': 'Hrs. Exposed = (Total)',\r\n 'Gain': 'Gain in Weight(Grams) ✖ 117.707 = (Divided by Total Below) =',\r\n 'MOISTUREFORMULA': 'MOISTURE FORMULA',\r\n 'Thenmop': 'Then mop with Tap water. Repeat the procedure twice, then test again. Typically the higher the PH.',\r\n 'Floors': 'Floors with a PH Level of 9 or higher must be corrected. It may be reduced by mopping the floor with a 10% Muriatic Acid wash. Allow the acid wash to dry. ',\r\n 'ALLOWEDIS-8': 'ALLOWED IS - 8',\r\n 'MAXIMLIMPH': 'MAXIMLIM P H',\r\n 'lbs': 'lbs. or Less Over 1000 s/f in 24 hrs.',\r\n 'MAXIMLIM': 'MAXIMLIM',\r\n 'RECOMMENDED': 'RECOMMENDED',\r\n 'MOISTURELEVELS': 'MOISTURE LEVELS',\r\n 'BYTHE': 'BY THE C.R.I. &',\r\n 'RFCIS': 'R.F.C.I.S',\r\n 'Rubber': \"Rubber Tile / Solid Vinyl Tile / Wood / PVC Vinyl / Vinyl Strip / PVC Vinyl Backed Carpets / Epoxy's\",\r\n 'Felt': 'Felt Backed Sheet Vinyl / Action Back Carpet / Linoleum (Varies by Manufacturer 3# to 5#).',\r\n 'Vinyl': 'Vinyl Composition Tile. (Varies by Manufacture 5# to 7#).',\r\n 'Depth': '板材测孔深度',\r\n 'RHinConcrete': '混凝土RH, %',\r\n 'PHTesting': 'PH测试',\r\n 'AmbientRH': '环境RH, %',\r\n 'WeightGaining': '净增重g.',\r\n 'ExposureTime/Hrs': '曝光时间/小时',\r\n 'Quatitive': '无水CaCl测试(板材的湿度蒸汽读数)',\r\n 'Static': '静态湿度状况(板材中的湿度)',\r\n 'AlkalinityCondition': '碱度条件',\r\n 'LocationRm': '房间位置',\r\n 'MaxRH': '最大 RH, %',\r\n 'RHInConcrete': '混凝土RH , %',\r\n 'CaClStartingWeight': 'CaCl起始重量',\r\n 'CaClEndingWeight': 'CaCl结束重量',\r\n 'NetGramGainOf': '净增重',\r\n 'StartTime': '开始时间',\r\n 'EndTime': '结束时间',\r\n 'TotalTime': '总时长(时:分)',\r\n 'TestHas': '测试已通过/失败',\r\n 'HoleDepth': '孔深',\r\n 'Temp&Humidity': '温度和湿度条件在测试期间和之前稳定48小时',\r\n 'A/CSystem': '空调系统至少运行48小时;',\r\n 'TIP': '提示: - 表示未测',\r\n 'TotalCheck': '检查 > RH 读数;',\r\n 'Product': '材料',\r\n 'TotalQty': '总量',\r\n 'Installed': '已安装',\r\n 'InstalledQty': '安装总量',\r\n 'Plans': '平面图',\r\n 'ProjectName': '项目名称',\r\n 'ProjectNumber': '项目 #',\r\n 'ProjectManagerName': '项目经理',\r\n 'InstallationManagerName': '安装经理',\r\n 'SubcontractorName': '分包商',\r\n 'LaborDateRange': '劳务日期范围',\r\n 'SummaryInformation': '摘要信息',\r\n 'LaborDetails': '劳务详情',\r\n 'Quantity': '数量',\r\n 'LaborDescription': '劳务描述',\r\n 'Price': '价格',\r\n 'LineTotal': '行汇总',\r\n 'Room': '房间',\r\n 'CompletionDate': '完成日期',\r\n 'ReportTotal': '报表汇总',\r\n 'PunchRetainage': '留用金',\r\n 'SubcontractorPayroll': '分包商薪金',\r\n 'SubcontractorLaborReport': '分包商劳务报表',\r\n 'UOM': 'UOM',\r\n 'CarpetRoll': '地毯卷',\r\n 'VinylRoll': '乙烯基卷',\r\n 'WallPaper': '墙纸',\r\n 'CarpetTile': '地毯块',\r\n 'VinylTile': '乙烯基块',\r\n 'Tile': '瓷砖',\r\n 'Laminate': '复合板',\r\n 'Hardwood': '硬木板',\r\n 'Paint': '油漆',\r\n 'Grout': '填缝剂',\r\n 'AreaSurface': '面积材料',\r\n 'AreaUnderlay': '衬底',\r\n 'Transition': '过渡条',\r\n 'Bullnose': '牛鼻边',\r\n 'Trim': '贴边',\r\n 'WallBase': '踢脚线',\r\n 'LinearRegular': '线性材料',\r\n 'Count': '计数材料',\r\n 'AreaAdhesive': '粘合剂',\r\n 'Labor': '人工费',\r\n 'Freight': '运费',\r\n 'Carpet': '地毯',\r\n 'Install': '安装',\r\n 'SetEndTimeNote': '结束时间必须大于开始时间。',\r\n 'None': '无',\r\n 'MissingLaborItem': '有一些未设置的相关项目。'\r\n },\r\n 'api': {\r\n 'WARNING': '警告',\r\n 'ERROR': '错误',\r\n 'Successfully': '成功',\r\n 'This': '该项目未加载',\r\n 'Job Trakr Starter': 'Job Trakr 基础版',\r\n 'Job Trakr Pro': 'Job Trakr 专业版',\r\n 'Job Trakr Enterprise': 'Job Trakr 企业版',\r\n 'Paid': '已支付',\r\n 'Resume': '继续订阅',\r\n 'Updated': '更新',\r\n 'Canceled': '已取消',\r\n 'Created': '创建',\r\n 'Recurring Billing': '重复计费',\r\n 'Proration Charge': '比例收费',\r\n 'Sent': '已发送',\r\n 'Month': '月',\r\n 'Turn off the auto-bill for the subscription': '关闭订阅自动续费',\r\n 'Find a better software/services.': '发现更好的软件/服务',\r\n 'Overdue invoice. Subscription canceled automatically.': '过期发票。订阅已自动取消。',\r\n 'Job Trakr Monthly Subscription': 'Job Trakr月订阅',\r\n 'Job Trakr YEARLY Subscription': 'Job Trakr年订阅',\r\n 'Job Trakr Starter Monthly Subscription': 'Job Trakr 基础版按月订阅',\r\n 'Job Trakr Starter Annual Subscription': 'Job Trakr 基础版按年订阅',\r\n 'Job Trakr Pro Monthly Subscription': 'Job Trakr 专业版按月订阅',\r\n 'Job Trakr Pro Annual Subscription': 'Job Trakr 专业版按年订阅',\r\n 'Job Trakr Enterprise Monthly Subscription': 'Job Trakr 企业版按月订阅',\r\n 'Job Trakr Enterprise Annual Subscription': 'Job Trakr 企业版按年订阅',\r\n 'Invalid members': '无效成员',\r\n 'AccountExist': '账户名已存在',\r\n 'Project Manager': '项目经理',\r\n 'Administrator': '管理员',\r\n 'Superintendent': '负责人',\r\n 'Field Rep': '现场代表',\r\n 'Project Status': '项目状态',\r\n 'Task Status': '任务状态',\r\n 'Task Tags': '任务标签',\r\n 'Task Work Type': '任务工作类型',\r\n 'Task Progress Options': '任务进度选项',\r\n 'me': '我',\r\n '400': '帐户或密码无效',\r\n '403': '您的账号已被禁用.',\r\n '405': '您的订阅已过期.',\r\n 'TIPS': '提示',\r\n 'This project can not check on web': '该项目无法在web中查看',\r\n 'The Name field is required': '请输入任务名称',\r\n 'Year': '年',\r\n 'Ultimate': '无上限',\r\n 'Due Date need to later than Start Date': '截止日期需要晚于开始日期',\r\n 'Open': '未开始',\r\n 'Pending': '等待',\r\n 'Completed': '已完成',\r\n 'In Progress': '进行中',\r\n 'Planned Work': '计划',\r\n 'Issues': '问题',\r\n 'Issue': '问题',\r\n 'Fileslargerthan50Mcannotbeuploaded': '不能上传超过50M的文件',\r\n 'PhotoOrVideolargerthan50Mcannotbeuploaded': '不能上传超过50M的图片或视频'\r\n // '4001': '不能超过购买的最大用户数。'\r\n },\r\n role: {\r\n 'Create Project': '创建项目',\r\n 'Edit Project': '编辑项目',\r\n 'Close Project': '关闭项目',\r\n 'Add Plan': '添加平面图',\r\n 'Delete Plan': '删除平面图',\r\n 'Add Task': '新增任务',\r\n 'Edit Task': '编辑任务',\r\n 'Assign Task': '分配任务',\r\n 'Delete Task': '删除任务',\r\n 'Create Report': '创建报表',\r\n 'Edit Task Group': '编辑任务组',\r\n 'Create Task Group': '创建任务组',\r\n 'Delete Task Group': '删除任务组',\r\n 'My Corp': '我的公司',\r\n 'Edit Member': '编辑成员',\r\n 'just the task assignd': '仅被分配的任务',\r\n 'Permission': '权限',\r\n 'Administrator': '超级管理员',\r\n 'Project Manager': '项目经理',\r\n 'Superintendent': '负责人',\r\n 'Field Rep': '现场代表'\r\n },\r\n 'store': {\r\n 'Loading': '加载中'\r\n },\r\n 'labor': {\r\n 'Add Labor Group': '添加劳务报表',\r\n 'Name': '名称',\r\n 'Trades': '类别',\r\n 'Retainage Rate:': '保留比例',\r\n 'Labor': '劳务报表',\r\n 'Job Name:': '工程名称',\r\n 'Trades:': '类别',\r\n 'Time Ranges:': '时间区间',\r\n 'All': '全部',\r\n 'Edit': '编辑',\r\n 'Edit Labor Report': '编辑劳务报表',\r\n 'Delete Labor Report': '删除劳务报表',\r\n 'Description of Work': '工作描述',\r\n 'Previous Billings': '前期账单',\r\n 'Current Billing': '当前账单',\r\n 'Total Completed': '全部完成',\r\n 'Uncompleted': '未完成',\r\n 'Retainage': '比例',\r\n 'Action': '操作',\r\n 'Previous Billings:': '前期账单: ',\r\n 'Current Billing:': '当前账单:',\r\n 'Total Completed:': '全部完成:',\r\n 'Sub Totals:': '小计:',\r\n 'Retainage:': '比例:',\r\n 'Uncompleted:': '未完成:',\r\n 'Amount': '合计',\r\n 'Unit Cost': '单位价格',\r\n 'Cancel': '取消',\r\n 'Save': '保存',\r\n 'Are you sure you want to delete this labor group?': '确定删除这个劳务报表?',\r\n 'TIPS': '提示',\r\n 'Please Enter A Name': '请输入名称',\r\n 'Please Enter Retainage Rate from 0 to 100': '保留比例在0到100之间',\r\n 'Please Enter Retainage Rate': '请输入保留比例',\r\n 'Please Enter Time Ranges': '请输入时间',\r\n 'StartDate': '开始日期',\r\n 'EndDate': '结束日期',\r\n 'Export': '导出',\r\n 'Labor Billing Report-': '劳务账单报表 - ',\r\n 'BillingReportTitle': '劳务账单报表',\r\n 'Billing Date Range:': '时间区间',\r\n 'Export PDF Report': '导出PDF报表',\r\n 'SearchLaborName': '搜索劳务名称'\r\n },\r\n 'product': {\r\n 'TypeOfWork': 'Type of Work',\r\n 'TotalQuantity': '总数',\r\n 'Unit': '单位',\r\n 'UnitCost': '价格',\r\n 'ContractAmount': ' 总额',\r\n 'BatchDelete': '批量删除',\r\n 'CreatedTime': '创建时间',\r\n 'Actions': '操作',\r\n 'New': '创建',\r\n 'Edit': '编辑',\r\n 'Delete': '删除',\r\n 'AreYouSureYouWantToDeleteThisProduct': '您确定要删除这个材料?',\r\n 'TIPS': '提示',\r\n 'Yes': '是',\r\n 'No': '否',\r\n 'PleaseCheckOneProductAtLast': '请至少勾选一个材料',\r\n 'AreYouSureYouWantToDeleteTheseProducts': '您确定要删除选中的材料?',\r\n 'All': '全部',\r\n 'SearchSKU': 'Search SKU'\r\n },\r\n 'productDialog': {\r\n 'Cancel': '取消',\r\n 'Save': '保存',\r\n 'AddProduct': '创建材料',\r\n 'EditProduct': '编辑材料',\r\n 'SKU': 'SKU/Name',\r\n 'Caption': 'Caption',\r\n 'ProductType': '类型',\r\n 'Trade': 'Trade',\r\n 'Color': '颜色',\r\n 'Unit': '单位',\r\n 'TotalQuantity': '总数',\r\n 'Price': '单价',\r\n 'SKUisrequired': 'SKU/Name is required',\r\n 'Captionisrequired': 'Caption is required',\r\n 'ProductTypeIsrequired': '请选择类型',\r\n 'Unitisrequired': '请选择单位',\r\n 'QuantityMustGreaterThan0': '数量必须大于0'\r\n },\r\n 'markup': {\r\n 'Start': '编辑',\r\n 'Save': '保存'\r\n },\r\n ...zhlocale\r\n}\r\n\r\nexport default cn\r\n","import en from './en'\r\nimport zh from './cn'\r\n\r\nexport default {\r\n en,\r\n zh\r\n}\r\n","import Vue from 'vue'\r\nimport locale from 'element-ui/lib/locale'\r\nimport VueI18n from 'vue-i18n'\r\nimport messages from './langs'\r\nlet lang = localStorage.language ? localStorage.language : navigator.language.substring(0, 2)\r\nVue.use(VueI18n)\r\nconst i18n = new VueI18n({\r\n locale: lang,\r\n messages: messages\r\n})\r\nlocale.i18n((key, value) => i18n.t(key, value))\r\nexport default i18n\r\n","const state = {\r\n corpId: '',\r\n userInfo: {},\r\n menuShow: false,\r\n jobsiteID: '',\r\n preJobsiteID: '',\r\n jobsiteName: '',\r\n jobsiteLocation: '',\r\n CreatorId: '',\r\n projectList: [],\r\n cropUser: [],\r\n projectUser: [],\r\n taskStatus: [],\r\n taskType: [],\r\n taskChecklistTemplates: [],\r\n taskTemplates: [],\r\n taskWorkType: [],\r\n taskGroup: [],\r\n reportType: [],\r\n plan: {},\r\n planCondition: {},\r\n showManagement: false,\r\n mockUserInfo: {},\r\n measureUnitType: '',\r\n temperatureUnit: '',\r\n M2Integration: false,\r\n corpName: '',\r\n userContactCorps: [],\r\n hasCloudGroup: false,\r\n avatar: '',\r\n planTabType: 'Grid',\r\n corporationCondition: {},\r\n projectCondition: {},\r\n corporationConditionOrderby: 'LastActivityTime desc',\r\n planConditionOrderby: 'CreatedOn desc',\r\n taskConditionOrderby: 'LastUpdatedOn desc',\r\n reportConditionOrderby: 'CreatedOn desc',\r\n productConditionOrderby: 'CreatedOn desc',\r\n photoConditionOrderby: 'CreatedOn desc',\r\n documentsConditionOrderby: 'CreatedOn desc'\r\n}\r\nexport default state\r\n","const mutations = {\r\n CorpId (state, string) {\r\n state.corpId = string\r\n },\r\n userInfo (state, obj) {\r\n state.userInfo = obj\r\n },\r\n changeName (state, string) {\r\n state.userInfo.FullName = string\r\n },\r\n menuShow (state, obj) {\r\n state.menuShow = obj\r\n },\r\n projectList (state, obj) {\r\n state.projectList = obj\r\n },\r\n getJobSite (state, str) {\r\n state.jobsiteID = str\r\n state.preJobsiteID = state.jobsiteID\r\n },\r\n clearJobSite (state) {\r\n state.jobsiteID = ''\r\n state.jobsiteName = ''\r\n state.jobsiteLocation = ''\r\n },\r\n getJobsiteName (state, str) {\r\n state.jobsiteName = str\r\n },\r\n getJobsiteLocation (state, str) {\r\n state.jobsiteLocation = str\r\n },\r\n getCreator (state, str) {\r\n state.CreatorId = str\r\n },\r\n getCorpUser (state, arr) {\r\n state.cropUser = arr\r\n },\r\n getProjectMember (state, arr) {\r\n state.projectUser = arr\r\n },\r\n getTasksStatus (state, arr) {\r\n state.taskStatus = arr\r\n },\r\n getTasksTypes (state, arr) {\r\n state.taskType = arr\r\n },\r\n getTaskChecklistTemplates (state, arr) {\r\n state.taskChecklistTemplates = arr\r\n },\r\n getTaskTemplates (state, arr) {\r\n state.taskTemplates = arr\r\n },\r\n getTaskWorkTypes (state, arr) {\r\n state.taskWorkType = arr\r\n },\r\n getTaskGroup (state, arr) {\r\n state.taskGroup = arr\r\n },\r\n getReportType (state, arr) {\r\n state.reportType = arr\r\n },\r\n setPlan (state, obj) {\r\n state.plan = obj\r\n },\r\n setPlanCondition (state, obj) {\r\n state.planCondition = obj\r\n },\r\n showManagement (state, obj) {\r\n state.showManagement = obj\r\n },\r\n mockUserInfo (state, obj) {\r\n state.mockUserInfo = obj\r\n },\r\n measureUnitType (state, obj) {\r\n state.measureUnitType = obj\r\n },\r\n temperatureUnit (state, obj) {\r\n state.temperatureUnit = obj\r\n },\r\n M2Integration (state, obj) {\r\n state.M2Integration = obj\r\n },\r\n changeAvatar (state, string) {\r\n state.userInfo.Avatar = string\r\n state.avatar = string\r\n },\r\n corpName (state, string) {\r\n state.corpName = string\r\n },\r\n getUserContactCorps (state, arr) {\r\n state.userContactCorps = arr\r\n },\r\n hasCloudGroup (state, obj) {\r\n state.hasCloudGroup = obj\r\n },\r\n setCorporationCondition (state, obj) {\r\n state.corporationCondition = obj\r\n },\r\n setProjectCondition (state, obj) {\r\n state.projectCondition = obj\r\n },\r\n setCorporationConditionOrderby (state, val) {\r\n state.corporationConditionOrderby = val\r\n },\r\n setPlanConditionOrderby (state, val) {\r\n state.planConditionOrderby = val\r\n },\r\n setTaskConditionOrderby (state, val) {\r\n state.taskConditionOrderby = val\r\n },\r\n setReportConditionOrderby (state, val) {\r\n state.reportConditionOrderby = val\r\n },\r\n setProductConditionOrderby (state, val) {\r\n state.productConditionOrderby = val\r\n },\r\n setPhotoConditionOrderby (state, val) {\r\n state.photoConditionOrderby = val\r\n },\r\n setDocumentsConditionOrderby (state, val) {\r\n state.documentsConditionOrderby = val\r\n },\r\n clearAll (state) {\r\n state.corpId = ''\r\n state.userInfo = {}\r\n state.menuShow = false\r\n state.jobsiteID = ''\r\n state.preJobsiteID = ''\r\n state.jobsiteName = ''\r\n state.jobsiteLocation = ''\r\n state.CreatorId = ''\r\n state.projectList = []\r\n state.cropUser = []\r\n state.projectUser = []\r\n state.taskStatus = []\r\n state.taskType = []\r\n state.taskChecklistTemplates = []\r\n state.taskTemplates = []\r\n state.taskWorkType = []\r\n state.taskGroup = []\r\n state.reportType = []\r\n state.plan = {}\r\n state.planCondition = {}\r\n state.showManagement = false\r\n state.mockUserInfo = {}\r\n state.measureUnitType = ''\r\n state.temperatureUnit = ''\r\n state.M2Integration = false\r\n state.corpName = ''\r\n state.avatar = ''\r\n state.userContactCorps = []\r\n state.shasCloudGroup = false\r\n state.diag.data.pdfToolStyle = {\r\n color: '#FF0000',\r\n strokeThickness: 4,\r\n highlightStrokeThickness: 48,\r\n fontSize: 67\r\n }\r\n state.corporationCondition = {}\r\n state.projectCondition = {}\r\n },\r\n planTabType (state, obj) {\r\n state.planTabType = obj\r\n }\r\n}\r\nexport default mutations\r\n","import {\r\n getCorpUser,\r\n getProjectDetail,\r\n getPlanById,\r\n getProjectPagination,\r\n getProjectMember,\r\n getTasksStatus,\r\n getTasksTypes,\r\n getTaskWorkTypes,\r\n getTaskGroup,\r\n getChecklistTemplates,\r\n getTaskTemplates,\r\n getReportType,\r\n GetUserContactCorps\r\n} from '@/api/config'\r\nimport $config from '../static/config'\r\n\r\nconst actions = {\r\n getCorpUser (context) {\r\n let condition = {\r\n PageIndex: 1,\r\n PageSize: 1000,\r\n OrderBy: 'LastUpdatedOn desc'\r\n }\r\n getCorpUser(condition).then(res => {\r\n res.Data.forEach(ele => {\r\n ele.AvatarUrl = $config.baseURL + '/api/Attachments/' + ele.DocFileId + '?isAvatar=true'\r\n })\r\n context.commit('getCorpUser', res.Data)\r\n })\r\n },\r\n getProject (context, obj) {\r\n return new Promise(async (resolve, reject) => {\r\n if (context.state.jobsiteID === obj.jobsiteId) {\r\n if (obj.planId) {\r\n if (context.state.plan.PlanId !== obj.planId) {\r\n let plan = await getPlanById(obj.planId)\r\n context.commit('setPlan', plan)\r\n }\r\n }\r\n resolve()\r\n return\r\n }\r\n context.commit('getJobSite', obj.jobsiteId)\r\n getProjectDetail(obj.jobsiteId).then(async res => {\r\n let addressObj = {\r\n Street: res.Street,\r\n City: res.City,\r\n State: res.State,\r\n Country: res.Country,\r\n ZipCode: res.ZipCode\r\n }\r\n context.commit('getCreator', res.CreatorId)\r\n context.commit('getJobsiteName', res.Name)\r\n context.commit('getJobsiteLocation', $config.Address(addressObj))\r\n if (context.state.projectList.findIndex(q => q.JobsiteId === obj.jobsiteId) < 0) {\r\n let condition = {\r\n Name: res.Name,\r\n Status: null,\r\n UserId: null,\r\n CreatedOnFrom: null,\r\n CreatedOnTo: null,\r\n isClosed: false,\r\n PageIndex: 1,\r\n AllowLoadDashboard: true,\r\n PageSize: 10,\r\n OnlyMember: true,\r\n OrderBy: 'LastUpdatedOn desc'\r\n }\r\n getProjectPagination(condition).then(res => {\r\n context.commit('projectList', res.Data)\r\n })\r\n }\r\n if (obj.planId) {\r\n if (context.state.plan.PlanId !== obj.planId) {\r\n let plan = await getPlanById(obj.planId)\r\n context.commit('setPlan', plan)\r\n }\r\n }\r\n resolve()\r\n }).catch(err => {\r\n context.commit('clearJobSite')\r\n reject(err)\r\n })\r\n })\r\n },\r\n getProjectMember (context, id) {\r\n let condition = {\r\n JobsiteId: context.state.jobsiteID,\r\n PageIndex: 1,\r\n PageSize: 1000\r\n }\r\n if (id) {\r\n condition.JobsiteId = id\r\n } else {\r\n condition.JobsiteId = context.state.jobsiteID\r\n }\r\n getProjectMember(condition).then(res => {\r\n res.Data.forEach(ele => {\r\n ele.AvatarUrl = $config.baseURL + '/api/Attachments/' + ele.DocFileId + '?isAvatar=true'\r\n })\r\n context.commit('getProjectMember', res.Data)\r\n return res.Data\r\n })\r\n },\r\n getTasksStatus (context) {\r\n getTasksStatus().then(res => {\r\n context.commit('getTasksStatus', res)\r\n })\r\n },\r\n getTasksTypes (context) {\r\n let data = {\r\n getInvisible: false\r\n }\r\n getTasksTypes(data).then(res => {\r\n context.commit('getTasksTypes', res)\r\n })\r\n },\r\n getTaskChecklistTemplates (context) {\r\n let condition = {\r\n PageIndex: 1,\r\n PageSize: 1000,\r\n OrderBy: 'CreatedOn desc'\r\n }\r\n getChecklistTemplates(condition).then(res => {\r\n context.commit('getTaskChecklistTemplates', res.Data)\r\n })\r\n },\r\n getTaskTemplates (context) {\r\n let condition = {\r\n PageIndex: 1,\r\n PageSize: 1000,\r\n NeedItems: true,\r\n OrderBy: 'CreatedOn desc'\r\n }\r\n getTaskTemplates(condition).then(res => {\r\n context.commit('getTaskTemplates', res.Data)\r\n })\r\n },\r\n getTaskWorkTypes (context) {\r\n getTaskWorkTypes().then(res => {\r\n context.commit('getTaskWorkTypes', res)\r\n })\r\n },\r\n getTaskGroup (context, id) {\r\n return new Promise((resolve, reject) => {\r\n let condition = {\r\n JobsiteId: context.state.jobsiteID,\r\n PageIndex: 1,\r\n PageSize: 1000,\r\n OrderBy: 'LastUpdatedOn desc'\r\n }\r\n if (id) {\r\n condition.JobsiteId = id\r\n } else {\r\n condition.JobsiteId = context.state.jobsiteID\r\n }\r\n getTaskGroup(condition).then(res => {\r\n context.commit('getTaskGroup', res.Data)\r\n resolve()\r\n })\r\n })\r\n },\r\n getReportType (context) {\r\n let data = {\r\n userFilter: true\r\n }\r\n getReportType(data).then(res => {\r\n context.commit('getReportType', res)\r\n })\r\n },\r\n getUserContactCorps (context) {\r\n GetUserContactCorps(context.state.userInfo.UserId).then(res => {\r\n context.commit('getUserContactCorps', res)\r\n })\r\n }\r\n}\r\nexport default actions\r\n","const getters = {\r\n}\r\nexport default getters\r\n","import {\r\n getTasksList,\r\n getTasksProgressOptions,\r\n InstallationProductShapes,\r\n postProduct\r\n} from '@/api/config'\r\nimport config from '@/static/config'\r\nconst state = {\r\n params: {\r\n condition: {\r\n PageIndex: 1,\r\n PageSize: 10000,\r\n GetChildTask: false,\r\n GetRecycle: false,\r\n IsApp: false,\r\n OrderBy: 'LastUpdatedOn desc',\r\n Type: null,\r\n Name: null,\r\n Status: null,\r\n GroupId: null,\r\n DueStartTime: null,\r\n DueEndTime: null,\r\n LastUpdatedOn: null,\r\n AssignedUserIds: null,\r\n WatchingUserIds: null,\r\n LocationType: null\r\n },\r\n addTaskDialog: {\r\n showDialog: false,\r\n type: '0'\r\n },\r\n productDialog: {\r\n showDialog: false\r\n },\r\n selectPoint: {},\r\n taskSortby: {\r\n orderBy: '',\r\n sortBy: '',\r\n sortValue: ''\r\n }\r\n },\r\n data: {\r\n taskList: [],\r\n protobuf: null,\r\n roomList: [],\r\n addRoomList: [],\r\n pinList: [],\r\n addTaskPointList: [],\r\n taskShape: [],\r\n centerPoint: {},\r\n productList: [],\r\n roomDetail: {},\r\n batchTaskIds: [],\r\n addProductList: [],\r\n roomCheck: [],\r\n productHandleList: [],\r\n tasksProgressOptions: [],\r\n taskInstallationList: [],\r\n refreshTaskList: false,\r\n pdfToolStyle: {\r\n color: '#FF0000',\r\n strokeThickness: 4,\r\n highlightStrokeThickness: 48,\r\n fontSize: 67\r\n }\r\n }\r\n}\r\nconst mutations = {\r\n setRefreshTaskList (state, obj) {\r\n state.data.refreshTaskList = obj\r\n },\r\n resetConiditon (state, obj) {\r\n for (let i in obj) {\r\n state.params.condition[i] = obj[i]\r\n }\r\n },\r\n setRoomCheck (state, arr) {\r\n state.data.roomCheck = arr\r\n },\r\n clearAddProductList (state) {\r\n state.data.addProductList = []\r\n },\r\n changeAddProductList (state, arr) {\r\n state.data.addProductList = arr\r\n },\r\n setAddProductList (state, obj) {\r\n state.data.addProductList.push(obj)\r\n },\r\n setBatchTaskIds (state, arr) {\r\n state.data.batchTaskIds = arr\r\n },\r\n clearRoomDetail (state) {\r\n state.data.roomDetail = {}\r\n },\r\n setRoomDetail (state, obj) {\r\n state.data.roomDetail = obj\r\n },\r\n setProductList (state, arr) {\r\n state.data.productList = arr\r\n },\r\n setCenterPoint (state, obj) {\r\n state.data.centerPoint = obj\r\n },\r\n setTaskShape (state, arr) {\r\n state.data.taskShape = arr\r\n },\r\n setSelectPoint (state, obj) {\r\n state.params.selectPoint = obj\r\n },\r\n clearAddTaskPointList (state) {\r\n state.data.addTaskPointList = []\r\n },\r\n setAddTaskPointList (state, obj) {\r\n state.data.addTaskPointList.push(obj)\r\n },\r\n setAddTaskType (state, num) {\r\n state.params.addTaskDialog.type = num\r\n },\r\n openAddTaskDialog (state, bool) {\r\n state.params.addTaskDialog.showDialog = bool\r\n },\r\n openProductTaskDialog (state, bool) {\r\n state.params.productDialog.showDialog = bool\r\n },\r\n setTaskCondition (state, obj) {\r\n state.params.condition[obj.name] = obj.data\r\n },\r\n clearTaskList (state) {\r\n state.data.taskList = []\r\n },\r\n setTaskList (state, arr) {\r\n state.data.taskList = arr\r\n },\r\n setProtobuf (state, obj) {\r\n state.data.protobuf = obj\r\n },\r\n setRoomList (state, arr) {\r\n state.data.roomList = arr\r\n },\r\n setPinList (state, arr) {\r\n state.data.pinList = []\r\n arr.forEach(ele => {\r\n let obj = {\r\n point: {\r\n x: ele.LocationX,\r\n y: ele.LocationY\r\n },\r\n pin: ele.point,\r\n pinColor: ele.color,\r\n taskId: ele.TaskId,\r\n taskType: ele.TaskType,\r\n taskSubtype: ele.TaskSubtype\r\n }\r\n if (ele.LocationType === 2) {\r\n obj.position = 'Wall'\r\n }\r\n state.data.pinList.push(obj)\r\n })\r\n },\r\n setAddRoomList (state, arr) {\r\n state.data.addRoomList = []\r\n state.data.addRoomList = arr\r\n },\r\n clearAddRoomList (state) {\r\n state.data.addRoomList = []\r\n },\r\n setProductHandleList (state, arr) {\r\n state.data.productHandleList = arr\r\n },\r\n setTasksProgressOptions (state, arr) {\r\n state.data.tasksProgressOptions = arr\r\n },\r\n getTaskInstallationList (state, arr) {\r\n state.data.taskInstallationList = arr\r\n },\r\n setPdfToolStyle (state, style) {\r\n state.data.pdfToolStyle = style\r\n },\r\n setTaskSortby (state, obj) {\r\n state.params.taskSortby = obj\r\n },\r\n clearTaskSortby (state, obj) {\r\n state.params.taskSortby.sortBy = ''\r\n state.params.taskSortby.sortValue = ''\r\n }\r\n}\r\nconst getters = {\r\n}\r\nconst actions = {\r\n postProduct ({ state, commit, rootState }, productList) {\r\n let array = []\r\n for (let i of productList) {\r\n let param = {\r\n ProjectId: rootState.plan.LinkProjectId,\r\n SKU: i.id,\r\n Color: i.color ? config.colorRGB2Hex(i.color) : '#ffffff',\r\n AssignType: i.assignType,\r\n Unit: config.getUnit(i.unit),\r\n ProductType: config.getProductNum(i.type),\r\n Trade: i.trade,\r\n IsDeleted: false\r\n }\r\n array.push(param)\r\n }\r\n postProduct(array).then(res => {\r\n commit('setProductList', productList)\r\n })\r\n },\r\n getTasksList ({ state, commit, rootState }) {\r\n return new Promise((resolve, reject) => {\r\n state.params.condition.JobsiteId = rootState.jobsiteID\r\n state.params.condition.PlanId = rootState.plan.PlanId\r\n getTasksList(state.params.condition).then(res => {\r\n commit('setPinList', config.handleTaskList(res.Data))\r\n commit('setTaskList', config.handleTaskList(res.Data))\r\n resolve()\r\n })\r\n })\r\n },\r\n search ({ state, commit, dispatch }, condition) {\r\n for (let i in condition) {\r\n if (condition[i] === '') {\r\n condition[i] = null\r\n }\r\n state.params.condition[i] = condition[i]\r\n }\r\n dispatch('getTasksList')\r\n },\r\n getTasksProgressOptions ({ state, commit }) {\r\n getTasksProgressOptions().then(res => {\r\n res.forEach(ele => {\r\n ele.Key = parseFloat(ele.Key)\r\n ele.Value = ele.Value + '%'\r\n })\r\n commit('setTasksProgressOptions', res)\r\n })\r\n },\r\n InstallationProductShapes ({ commit, rootState, dispatch }) {\r\n let params = {\r\n planId: rootState.plan.PlanId,\r\n jobsiteId: rootState.jobsiteID\r\n }\r\n InstallationProductShapes(params).then(res => {\r\n commit('getTaskInstallationList', res)\r\n })\r\n }\r\n}\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n getters,\r\n actions\r\n}\r\n","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nimport state from './state'\r\nimport mutations from './mutation'\r\nimport actions from './actions'\r\nimport getters from './getters'\r\nimport diag from './modules/diag'\r\nimport createPersistedState from 'vuex-persistedstate'\r\nVue.use(Vuex)\r\n\r\nexport default new Vuex.Store({\r\n state,\r\n mutations,\r\n actions,\r\n getters,\r\n modules: {\r\n diag\r\n },\r\n plugins: [createPersistedState({\r\n storage: window.localStorage,\r\n supportCircular: true,\r\n reducer (val) {\r\n return {\r\n corpId: val.corpId,\r\n userInfo: val.userInfo,\r\n jobsiteID: val.jobsiteID,\r\n preJobsiteID: val.preJobsiteID,\r\n menuShow: val.menuShow,\r\n projectList: val.projectList,\r\n CreatorId: val.CreatorId,\r\n plan: val.plan,\r\n planCondition: val.planCondition,\r\n jobsiteName: val.jobsiteName,\r\n jobsiteLocation: val.jobsiteLocation,\r\n showManagement: val.showManagement,\r\n mockUserInfo: val.mockUserInfo,\r\n measureUnitType: val.measureUnitType,\r\n temperatureUnit: val.temperatureUnit,\r\n M2Integration: val.M2Integration,\r\n corpName: val.corpName,\r\n hasCloudGroup: val.hasCloudGroup,\r\n planTabType: val.planTabType,\r\n corporationCondition: val.corporationCondition,\r\n projectCondition: val.projectCondition,\r\n corporationConditionOrderby: val.corporationConditionOrderby,\r\n planConditionOrderby: val.planConditionOrderby,\r\n taskConditionOrderby: val.taskConditionOrderby,\r\n reportConditionOrderby: val.reportConditionOrderby,\r\n productConditionOrderby: val.productConditionOrderby,\r\n photoConditionOrderby: val.photoConditionOrderby,\r\n documentsConditionOrderby: val.documentsConditionOrderby\r\n }\r\n }\r\n })\r\n ]\r\n})\r\n","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-notifications\",\n \"use\": \"icon-notifications-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"jobtracker icon1_20200916\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-login\",\n \"use\": \"icon-login-usage\",\n \"viewBox\": \"0 0 1024 1024\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import axios from 'axios'\r\nimport { Notification } from 'element-ui'\r\nimport store from '../store/store'\r\nimport $config from '../static/config'\r\nimport i18n from '../i18n/i18n'\r\n\r\nexport const notification = function (title, message, multiple) {\r\n if (!multiple) {\r\n Notification.closeAll()\r\n }\r\n Notification({\r\n title: title,\r\n message: message,\r\n duration: 3000,\r\n showClose: false\r\n })\r\n}\r\n\r\n// const $config.baseURL = process.env.VUE_APP_$config.baseURL\r\n// const planURL = process.env.VUE_APP_PLANURL\r\naxios.defaults.timeout = 200000\r\n\r\naxios.interceptors.response.use(\r\n response => {\r\n return new Promise((resolve, reject) => {\r\n const data = response.data\r\n Notification.closeAll()\r\n resolve(data)\r\n })\r\n },\r\n error => {\r\n const status = error.response && error.response.status\r\n if (status === 401) {\r\n // notification('error', 'ERROR', 'Please make sure you are logged in!')\r\n // router.push({\r\n // path: '/welcome/login'\r\n // })\r\n store.commit('userInfo', {})\r\n store.commit('mockUserInfo', {})\r\n return Promise.reject(error)\r\n }\r\n return Promise.reject(error)\r\n }\r\n)\r\n\r\nexport function Get (url, params, hideErrorNotify, headers = {\r\n 'Content-Type': 'application/json;charset=UTF-8', // 设置跨域头部\r\n 'Authorization': 'Bearer ' + store.state.userInfo.Token\r\n}) {\r\n return new Promise((resolve, reject) => {\r\n axios.get($config.baseURL + url, {\r\n params: params,\r\n headers: headers\r\n })\r\n .then(res => {\r\n resolve(res)\r\n })\r\n .catch(err => {\r\n if (err.response.status !== 401 && !err.response.data.Data && (!hideErrorNotify || hideErrorNotify === false)) {\r\n notification(i18n.t('api.WARNING'), err.response.data.Message)\r\n }\r\n reject(err)\r\n })\r\n })\r\n}\r\n\r\nexport function Post (url, params, hideSuccessNotify, config = {\r\n 'headers': {\r\n 'Content-Type': 'application/json;charset=UTF-8', // 设置跨域头部\r\n 'Authorization': 'Bearer ' + store.state.userInfo.Token\r\n }\r\n}) {\r\n return new Promise((resolve, reject) => {\r\n axios.post($config.baseURL + url, params, config)\r\n .then(res => {\r\n resolve(res)\r\n })\r\n .catch(err => {\r\n if (err.response.status === 400 && url.indexOf('SetLicenseActive') === -1) {\r\n if (err.response.data.type && err.response.data.type.includes('application/json')) {\r\n let reader = new FileReader()\r\n reader.onload = function (event) {\r\n let content = reader.result\r\n let message = JSON.parse(content).Message\r\n notification(i18n.t('api.WARNING'), message)\r\n }\r\n reader.readAsText(err.response.data)\r\n } else {\r\n notification(i18n.t('api.WARNING'), err.response.data.Message)\r\n }\r\n }\r\n reject(err)\r\n })\r\n })\r\n}\r\n\r\nexport function Put (url, params, config) {\r\n if (!config) {\r\n config = {}\r\n }\r\n return new Promise((resolve, reject) => {\r\n Object.assign(config, {\r\n 'headers': {\r\n 'Content-Type': 'application/json;charset=UTF-8', // 设置跨域头部\r\n 'Authorization': 'Bearer ' + store.state.userInfo.Token\r\n }\r\n })\r\n axios.put($config.baseURL + url, params, config)\r\n .then(res => {\r\n resolve(res)\r\n })\r\n .catch(err => {\r\n if (err.response.status === 400 && url.indexOf('SetLicenseActive') === -1) {\r\n if (err.response.data.type && err.response.data.type.includes('application/json')) {\r\n let reader = new FileReader()\r\n reader.onload = function (event) {\r\n let content = reader.result\r\n let message = JSON.parse(content).Message\r\n notification(i18n.t('api.WARNING'), message)\r\n }\r\n reader.readAsText(err.response.data)\r\n } else {\r\n notification(i18n.t('api.WARNING'), err.response.data.Message)\r\n }\r\n }\r\n reject(err)\r\n })\r\n })\r\n}\r\n\r\nexport function Upload (url, params, config = {}) {\r\n return new Promise((resolve, reject) => {\r\n Object.assign(config, {\r\n 'headers': {\r\n 'Content-Type': 'multipart/form-data',\r\n 'Authorization': 'Bearer ' + store.state.userInfo.Token\r\n }\r\n })\r\n axios.post($config.baseURL + url, params, config)\r\n .then(res => {\r\n resolve(res)\r\n })\r\n .catch(err => {\r\n if (err.response.status === 400 && url.indexOf('SetLicenseActive') === -1) {\r\n if (err.response.data.type && err.response.data.type.includes('application/json')) {\r\n let reader = new FileReader()\r\n reader.onload = function (event) {\r\n let content = reader.result\r\n let message = JSON.parse(content).Message\r\n notification(i18n.t('api.WARNING'), message)\r\n }\r\n reader.readAsText(err.response.data)\r\n } else {\r\n notification(i18n.t('api.WARNING'), err.response.data.Message)\r\n }\r\n }\r\n reject(err)\r\n })\r\n })\r\n}\r\n\r\nexport function Delete (url, params, headers = {\r\n 'Content-Type': 'application/json;charset=UTF-8', // 设置跨域头部\r\n 'Authorization': 'Bearer ' + store.state.userInfo.Token\r\n}) {\r\n return new Promise((resolve, reject) => {\r\n axios.delete($config.baseURL + url, { data: params, headers }).then(res => {\r\n resolve(res)\r\n }).catch(err => {\r\n reject(err)\r\n })\r\n })\r\n}\r\n\r\nexport function GetGzip (url, params, hideNotify, onDownloadProgress = {}, headers = {\r\n 'Content-Type': 'application/json;charset=UTF-8', // 设置跨域头部\r\n 'Authorization': 'Bearer ' + store.state.userInfo.Token\r\n}, requestType = 'arraybuffer') {\r\n return new Promise((resolve, reject) => {\r\n axios({\r\n url: $config.baseURL + url,\r\n method: 'get',\r\n data: params,\r\n headers: headers,\r\n onDownloadProgress: onDownloadProgress,\r\n responseType: requestType\r\n }).then(res => {\r\n resolve(res)\r\n }).catch(err => {\r\n if (!hideNotify) {\r\n notification(i18n.t('api.TIPS'), i18n.t('api.This project can not check on web'))\r\n }\r\n reject(err)\r\n console.log(err)\r\n })\r\n })\r\n}\r\n\r\nexport function GetBlob (url, params, hideNotify, onDownloadProgress = {}, headers = {\r\n 'Content-Type': 'application/json;charset=UTF-8', // 设置跨域头部\r\n 'Authorization': 'Bearer ' + store.state.userInfo.Token\r\n}, requestType = 'blob') {\r\n return new Promise((resolve, reject) => {\r\n axios({\r\n url: $config.baseURL + url,\r\n method: 'get',\r\n data: params,\r\n headers: headers,\r\n onDownloadProgress: onDownloadProgress,\r\n responseType: requestType\r\n }).then(res => {\r\n resolve(res)\r\n }).catch(err => {\r\n if (!hideNotify) {\r\n notification(i18n.t('api.TIPS'), i18n.t('api.This project can not check on web'))\r\n }\r\n reject(err)\r\n console.log(err)\r\n })\r\n })\r\n}\r\n\r\nexport function Login (params, headers = {\r\n 'Content-Type': 'application/json;charset=UTF-8' // 设置跨域头部\r\n}) {\r\n return new Promise((resolve, reject) => {\r\n axios.post($config.baseURL + '/api/Token', params)\r\n .then(res => {\r\n resolve(res)\r\n })\r\n .catch(err => {\r\n console.log(err.response)\r\n if (err.response.data && err.response.data.Status !== 102) {\r\n notification(i18n.t('api.WARNING'), i18n.t('api.' + err.response.data.Status))\r\n }\r\n reject(err)\r\n })\r\n })\r\n}\r\n\r\nexport function Register (params, headers = {\r\n 'Content-Type': 'application/json;charset=UTF-8' // 设置跨域头部\r\n}) {\r\n return new Promise((resolve, reject) => {\r\n axios.post($config.baseURL + '/api/UserRegist', params)\r\n .then(res1 => {\r\n let data = {\r\n account: params.LoginAccount,\r\n pw: params.Password\r\n }\r\n axios.post($config.baseURL + '/api/Token', data).catch(function (error) {\r\n reject(error)\r\n })\r\n }).catch(err => {\r\n notification(i18n.t('api.WARNING'), err.response.data.Message)\r\n reject(err)\r\n })\r\n })\r\n}\r\n\r\nexport function Forgot (params, headers = {\r\n 'Content-Type': 'application/json;charset=UTF-8'\r\n}) {\r\n return new Promise((resolve, reject) => {\r\n axios.post($config.baseURL + '/api/Forgot', params)\r\n .then(res => {\r\n resolve(res)\r\n })\r\n .catch(err => {\r\n notification(i18n.t('api.WARNING'), err.response.data.Message)\r\n reject(err)\r\n })\r\n })\r\n}\r\n\r\nexport function HasMenuAction (roleId, actionId, headers = {\r\n 'Content-Type': 'application/json;charset=UTF-8', // 设置跨域头部\r\n 'Authorization': 'Bearer ' + store.state.userInfo.Token\r\n}) {\r\n return new Promise((resolve, reject) => {\r\n axios.get($config.baseURL + '/api/CorpRoles/' + roleId + '/CheckUiAuthority/' + actionId, {\r\n headers: headers\r\n })\r\n .then(res => {\r\n resolve(res)\r\n })\r\n .catch(err => {\r\n reject(err)\r\n })\r\n })\r\n}\r\n\r\nexport function DownloadFileById (docFileId, responseType = 'blob') {\r\n return new Promise((resolve, reject) => {\r\n axios({\r\n method: 'get',\r\n url: $config.baseURL + '/api/Attachments/' + docFileId,\r\n responseType: 'blob',\r\n 'headers': {\r\n 'Content-Type': 'application/json;charset=UTF-8', // 设置跨域头部\r\n 'Authorization': 'Bearer ' + store.state.userInfo.Token\r\n }\r\n }).then(res => {\r\n resolve(res)\r\n })\r\n .catch(err => {\r\n reject(err)\r\n })\r\n })\r\n}\r\n\r\nexport function getAvatarUrl (token) {\r\n return new Promise((resolve) => {\r\n axios({\r\n method: 'get',\r\n url: $config.baseURL + '/api/CorpUsers/Avatar',\r\n responseType: 'blob',\r\n 'headers': {\r\n 'Content-Type': 'application/json;charset=UTF-8', // 设置跨域头部\r\n 'Authorization': 'Bearer ' + token\r\n }\r\n }).then((res) => {\r\n let blob = new Blob([res])\r\n let objectUrl = URL.createObjectURL(blob)\r\n resolve(objectUrl)\r\n })\r\n })\r\n}\r\n","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-products\",\n \"use\": \"icon-products-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-planTasks\",\n \"use\": \"icon-planTasks-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-markup_save\",\n \"use\": \"icon-markup_save-usage\",\n \"viewBox\": \"0 0 1024 1024\",\n \"content\": \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-moisture_0\",\n \"use\": \"icon-moisture_0-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-moisture_add\",\n \"use\": \"icon-moisture_add-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-report_task\",\n \"use\": \"icon-report_task-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","/* eslint-disable */\r\nrequire('script-loader!file-saver');\r\nrequire('./Blob');\r\nrequire('script-loader!xlsx/dist/xlsx.core.min');\r\nfunction generateArray(table) {\r\n var out = [];\r\n var rows = table.querySelectorAll('tr');\r\n var ranges = [];\r\n for (var R = 0; R < rows.length; ++R) {\r\n var outRow = [];\r\n var row = rows[R];\r\n var columns = row.querySelectorAll('td');\r\n for (var C = 0; C < columns.length; ++C) {\r\n var cell = columns[C];\r\n var colspan = cell.getAttribute('colspan');\r\n var rowspan = cell.getAttribute('rowspan');\r\n var cellValue = cell.innerText;\r\n if (cellValue !== \"\" && cellValue == +cellValue) cellValue = +cellValue;\r\n\r\n //Skip ranges\r\n ranges.forEach(function (range) {\r\n if (R >= range.s.r && R <= range.e.r && outRow.length >= range.s.c && outRow.length <= range.e.c) {\r\n for (var i = 0; i <= range.e.c - range.s.c; ++i) outRow.push(null);\r\n }\r\n });\r\n\r\n //Handle Row Span\r\n if (rowspan || colspan) {\r\n rowspan = rowspan || 1;\r\n colspan = colspan || 1;\r\n ranges.push({s: {r: R, c: outRow.length}, e: {r: R + rowspan - 1, c: outRow.length + colspan - 1}});\r\n }\r\n ;\r\n\r\n //Handle Value\r\n outRow.push(cellValue !== \"\" ? cellValue : null);\r\n\r\n //Handle Colspan\r\n if (colspan) for (var k = 0; k < colspan - 1; ++k) outRow.push(null);\r\n }\r\n out.push(outRow);\r\n }\r\n return [out, ranges];\r\n};\r\n\r\nfunction datenum(v, date1904) {\r\n if (date1904) v += 1462;\r\n var epoch = Date.parse(v);\r\n return (epoch - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000);\r\n}\r\n\r\nfunction sheet_from_array_of_arrays(data, opts) {\r\n var ws = {};\r\n var range = {s: {c: 10000000, r: 10000000}, e: {c: 0, r: 0}};\r\n for (var R = 0; R != data.length; ++R) {\r\n for (var C = 0; C != data[R].length; ++C) {\r\n if (range.s.r > R) range.s.r = R;\r\n if (range.s.c > C) range.s.c = C;\r\n if (range.e.r < R) range.e.r = R;\r\n if (range.e.c < C) range.e.c = C;\r\n var cell = {v: data[R][C]};\r\n if (cell.v == null) continue;\r\n var cell_ref = XLSX.utils.encode_cell({c: C, r: R});\r\n\r\n if (typeof cell.v === 'number') cell.t = 'n';\r\n else if (typeof cell.v === 'boolean') cell.t = 'b';\r\n else if (cell.v instanceof Date) {\r\n cell.t = 'n';\r\n cell.z = XLSX.SSF._table[14];\r\n cell.v = datenum(cell.v);\r\n }\r\n else cell.t = 's';\r\n\r\n ws[cell_ref] = cell;\r\n }\r\n }\r\n if (range.s.c < 10000000) ws['!ref'] = XLSX.utils.encode_range(range);\r\n return ws;\r\n}\r\n\r\nfunction Workbook() {\r\n if (!(this instanceof Workbook)) return new Workbook();\r\n this.SheetNames = [];\r\n this.Sheets = {};\r\n}\r\n\r\nfunction s2ab(s) {\r\n var buf = new ArrayBuffer(s.length);\r\n var view = new Uint8Array(buf);\r\n for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;\r\n return buf;\r\n}\r\n\r\nexport function export_table_to_excel(id) {\r\n var theTable = document.getElementById(id);\r\n console.log('a')\r\n var oo = generateArray(theTable);\r\n var ranges = oo[1];\r\n\r\n /* original data */\r\n var data = oo[0];\r\n var ws_name = \"SheetJS\";\r\n console.log(data);\r\n\r\n var wb = new Workbook(), ws = sheet_from_array_of_arrays(data);\r\n\r\n /* add ranges to worksheet */\r\n // ws['!cols'] = ['apple', 'banan'];\r\n ws['!merges'] = ranges;\r\n\r\n /* add worksheet to workbook */\r\n wb.SheetNames.push(ws_name);\r\n wb.Sheets[ws_name] = ws;\r\n\r\n var wbout = XLSX.write(wb, {bookType: 'xlsx', bookSST: false, type: 'binary'});\r\n\r\n saveAs(new Blob([s2ab(wbout)], {type: \"application/octet-stream\"}), \"test.xlsx\")\r\n}\r\n\r\nfunction formatJson(jsonData) {\r\n console.log(jsonData)\r\n}\r\nexport function export_json_to_excel(th, jsonData, defaultTitle) {\r\n\r\n /* original data */\r\n\r\n var data = jsonData;\r\n data.unshift(th);\r\n var ws_name = \"SheetJS\";\r\n\r\n var wb = new Workbook(), ws = sheet_from_array_of_arrays(data);\r\n\r\n\r\n /* add worksheet to workbook */\r\n wb.SheetNames.push(ws_name);\r\n wb.Sheets[ws_name] = ws;\r\n\r\n var wbout = XLSX.write(wb, {bookType: 'xlsx', bookSST: false, type: 'binary'});\r\n var title = defaultTitle || '列表'\r\n saveAs(new Blob([s2ab(wbout)], {type: \"application/octet-stream\"}), title + \".xlsx\")\r\n}\r\n","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-zoom\",\n \"use\": \"icon-zoom-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"filter\",class:_vm.showFilter?'filter-show':''},[_c('div',{staticClass:\"filter-container\"},[_c('div',{staticClass:\"header\"},[_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-close\"},on:{\"click\":_vm.closeFilter}}),_c('span',[_vm._v(_vm._s(_vm.$t('layout.Filter')))]),_c('el-button',{attrs:{\"type\":\"text\"},on:{\"click\":_vm.clearFilter}},[_vm._v(_vm._s(_vm.$t('layout.Clearfilter')))])],1),_c('div',{staticClass:\"content\"},[_c('myScroll',{staticStyle:{\"width\":\"100%\",\"height\":\"100%\"}},[_c('div',{staticClass:\"form-list\"},[_vm._t(\"form\")],2)])],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n
\r\n \r\n
\r\n
\r\n \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 mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./fliter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./fliter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./fliter.vue?vue&type=template&id=a66969ac&scoped=true&\"\nimport script from \"./fliter.vue?vue&type=script&lang=js&\"\nexport * from \"./fliter.vue?vue&type=script&lang=js&\"\nimport style0 from \"./fliter.vue?vue&type=style&index=0&id=a66969ac&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a66969ac\",\n null\n \n)\n\nexport default component.exports","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-report_labor\",\n \"use\": \"icon-report_labor-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \" [已恢复]\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","var map = {\n\t\"./add task group.svg\": \"b14a\",\n\t\"./add task_.svg\": \"8b15\",\n\t\"./analytics.svg\": \"ad7f\",\n\t\"./checklistTemplates.svg\": \"8029\",\n\t\"./corp.svg\": \"eba6\",\n\t\"./default.svg\": \"655a\",\n\t\"./documents.svg\": \"5c07\",\n\t\"./edit.svg\": \"aa46\",\n\t\"./editCorp.svg\": \"673d\",\n\t\"./filter.svg\": \"c886\",\n\t\"./labor.svg\": \"fc55\",\n\t\"./login.svg\": \"09b4\",\n\t\"./marker_move.svg\": \"97f6\",\n\t\"./markup_edit.svg\": \"721b\",\n\t\"./markup_hand.svg\": \"817a\",\n\t\"./markup_save.svg\": \"15d2\",\n\t\"./members.svg\": \"b413\",\n\t\"./moisture_0.svg\": \"1932\",\n\t\"./moisture_add.svg\": \"3121\",\n\t\"./notifications.svg\": \"08aa\",\n\t\"./overview.svg\": \"c63d\",\n\t\"./photos.svg\": \"7e29\",\n\t\"./planTasks.svg\": \"1136\",\n\t\"./plans.svg\": \"c0e7\",\n\t\"./products.svg\": \"0e1b\",\n\t\"./report zoom.svg\": \"e3ad\",\n\t\"./report.svg\": \"9e5c\",\n\t\"./report_1.svg\": \"6a25\",\n\t\"./report_2.svg\": \"6e1a\",\n\t\"./report_add.svg\": \"b97d\",\n\t\"./report_labor.svg\": \"4d22\",\n\t\"./report_task.svg\": \"3350\",\n\t\"./reports.svg\": \"8d5f\",\n\t\"./setting.svg\": \"05ff\",\n\t\"./simui-password.svg\": \"fa03\",\n\t\"./special_0.svg\": \"6c65\",\n\t\"./tag.svg\": \"f1fc\",\n\t\"./task groups.svg\": \"f8a5\",\n\t\"./task_0.svg\": \"e46d\",\n\t\"./tasks.svg\": \"f8e7\",\n\t\"./view options.svg\": \"6aaa\",\n\t\"./zoom in to fit.svg\": \"0595\",\n\t\"./zoom.svg\": \"406f\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"51ff\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=4dd70ae6&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\r\nimport Router from 'vue-router'\r\nimport store from '../store/store'\r\nimport i18n from '../i18n/i18n'\r\nVue.use(Router)\r\n// 路由懒加载\r\n\r\nconst getComponent = (name, component) => resolve => require([`@/views/${name}/${component}.vue`], resolve)\r\nconst getProject = (name, component) => resolve => require([`@/views/project/${name}/${component}.vue`], resolve)\r\nconst getModel = (path) => resolve => require([`@/views/model/${path}.vue`], resolve)\r\nconst myRouter = new Router({\r\n routes: [{\r\n path: '/welcome',\r\n name: 'welcome',\r\n component: getComponent('welcome', 'welcomeLayout'),\r\n children: [\r\n {\r\n path: '/welcome/login',\r\n name: 'login',\r\n component: getComponent('welcome', 'login'),\r\n meta: {\r\n type: 0,\r\n title: 'Login'\r\n }\r\n },\r\n {\r\n path: '/welcome/register',\r\n name: 'register',\r\n component: getComponent('welcome', 'register'),\r\n meta: {\r\n type: 0,\r\n title: i18n.t('router.Register')\r\n }\r\n },\r\n {\r\n path: '/Forgot',\r\n name: 'forgot',\r\n component: getComponent('welcome', 'forgot'),\r\n meta: {\r\n type: 0,\r\n title: i18n.t('router.Forgot')\r\n }\r\n },\r\n {\r\n path: '/Forgot/PwdReset/:token?',\r\n name: 'pwdReset',\r\n component: getComponent('welcome', 'pwdReset'),\r\n meta: {\r\n type: 0,\r\n title: i18n.t('router.ResetPassword')\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: '/role',\r\n component: getComponent('corp', 'role'),\r\n name: 'role',\r\n meta: {\r\n type: 0,\r\n title: i18n.t('router.role')\r\n }\r\n },\r\n {\r\n path: '/welcome/setCorp',\r\n name: 'setCorp',\r\n component: getComponent('welcome', 'fakeIndex'),\r\n meta: {\r\n type: 0,\r\n title: i18n.t('router.Register')\r\n }\r\n },\r\n {\r\n path: '/',\r\n name: '',\r\n component: getComponent('layout', 'layout'),\r\n children: [\r\n {\r\n path: '/register',\r\n name: 'register',\r\n component: getComponent('login', 'fakeIndex'),\r\n meta: {\r\n title: i18n.t('router.Register')\r\n }\r\n },\r\n { // 首页\r\n path: '/',\r\n component: getComponent('index', 'home'),\r\n name: 'index',\r\n meta: {\r\n title: i18n.t('router.Projects')\r\n }\r\n },\r\n { // icon\r\n path: '/icon',\r\n component: getComponent('tools', 'icon'),\r\n name: 'icon',\r\n meta: {\r\n title: 'icon'\r\n }\r\n },\r\n { // icon\r\n path: '/diagTest',\r\n component: getComponent('tools', 'diagTest'),\r\n name: 'diag',\r\n meta: {\r\n title: 'diag'\r\n }\r\n },\r\n {\r\n path: '/project/:projectId',\r\n component: getProject('home', 'homePage'),\r\n name: 'dashboard',\r\n meta: {\r\n type: 1,\r\n title: i18n.t('router.Home')\r\n }\r\n },\r\n {\r\n path: '/project/:projectId/tasks',\r\n component: getProject('tasks', 'tasks'),\r\n name: 'tasks',\r\n meta: {\r\n type: 1,\r\n title: i18n.t('router.Tasks')\r\n }\r\n },\r\n {\r\n path: '/tasks',\r\n component: getProject('tasks', 'mainTasks'),\r\n name: 'mainTasks',\r\n meta: {\r\n title: i18n.t('router.Tasks')\r\n }\r\n },\r\n {\r\n path: '/project/:projectId/diagrams',\r\n component: getProject('diagrams', 'diagrams'),\r\n name: 'diagrams',\r\n meta: {\r\n type: 1,\r\n title: i18n.t('router.Plans')\r\n }\r\n },\r\n {\r\n path: '/project/:projectId/groups',\r\n component: getProject('group', 'group'),\r\n name: 'groups',\r\n meta: {\r\n type: 1,\r\n title: i18n.t('router.TaskGroups')\r\n }\r\n },\r\n {\r\n path: '/project/:projectId/reports',\r\n component: getProject('report', 'report'),\r\n name: 'reports-project',\r\n meta: {\r\n type: 1,\r\n title: i18n.t('router.Reports')\r\n }\r\n },\r\n {\r\n path: '/project/:projectId/analytics',\r\n component: getProject('report', 'analytics'),\r\n name: 'analytics',\r\n meta: {\r\n type: 1,\r\n title: i18n.t('router.Liveanalytics')\r\n }\r\n },\r\n\r\n {\r\n path: '/project/:projectId/labors/:laborGroupId?',\r\n component: getProject('labor', 'laborDetail'),\r\n name: 'labor',\r\n meta: {\r\n type: 1,\r\n name: 'labors',\r\n title: i18n.t('static.Labor')\r\n }\r\n }, {\r\n path: '/project/:projectId/labors',\r\n component: getProject('labor', 'laborGroup'),\r\n name: 'labors',\r\n meta: {\r\n type: 1,\r\n title: i18n.t('static.Labor')\r\n }\r\n },\r\n {\r\n path: '/reports',\r\n component: getProject('report', 'mainReport'),\r\n name: 'reports-main',\r\n meta: {\r\n title: i18n.t('router.Reports')\r\n }\r\n },\r\n {\r\n path: '/project/:projectId/photos',\r\n component: getProject('photo', 'photo'),\r\n name: 'photos',\r\n meta: {\r\n type: 1,\r\n title: i18n.t('router.Photos')\r\n }\r\n },\r\n {\r\n path: '/project/:projectId/documents',\r\n component: getProject('document', 'documents'),\r\n name: 'documents',\r\n meta: {\r\n type: 1,\r\n title: i18n.t('router.Documents')\r\n }\r\n },\r\n {\r\n path: '/project/:projectId/products',\r\n component: getProject('products', 'products'),\r\n name: 'products',\r\n meta: {\r\n type: 1,\r\n title: i18n.t('static.Products')\r\n }\r\n },\r\n {\r\n path: '/project/:projectId/members',\r\n component: getProject('member', 'members'),\r\n name: 'members',\r\n meta: {\r\n type: 1,\r\n title: i18n.t('router.Members')\r\n }\r\n },\r\n {\r\n path: '/setting/corp',\r\n component: getComponent('corp', 'corp'),\r\n name: 'corp',\r\n meta: {\r\n title: i18n.t('router.Corp')\r\n }\r\n },\r\n {\r\n path: '/setting/users',\r\n component: getComponent('corp', 'user'),\r\n name: 'users',\r\n meta: {\r\n title: i18n.t('router.UserManagement')\r\n }\r\n },\r\n {\r\n path: '/setting/license',\r\n component: getComponent('corp', 'license'),\r\n name: 'license',\r\n meta: {\r\n title: i18n.t('router.Subscription')\r\n }\r\n },\r\n {\r\n path: '/corp/myProfile',\r\n component: getComponent('corp', 'myProfile'),\r\n name: 'myProfile',\r\n meta: {\r\n title: i18n.t('router.MyProfile')\r\n }\r\n },\r\n\r\n {\r\n path: '/setting/laborItems',\r\n component: getComponent('corp', 'laborItems'),\r\n name: 'laborItems',\r\n meta: {\r\n title: i18n.t('router.LaborItems')\r\n }\r\n },\r\n {\r\n path: '/setting/corpSetting',\r\n component: getComponent('corp', 'corpSetting'),\r\n name: 'corpSetting',\r\n meta: {\r\n title: i18n.t('router.CorpSetting')\r\n }\r\n },\r\n {\r\n path: '/setting/notificationSetting',\r\n component: getComponent('corp', 'notificationSetting'),\r\n name: 'notificationSetting',\r\n meta: {\r\n title: i18n.t('router.NotificationSetting')\r\n }\r\n },\r\n {\r\n path: '/setting/checklistTemplates',\r\n component: getComponent('corp', 'checklistTemplates'),\r\n name: 'checklistTemplates',\r\n meta: {\r\n title: i18n.t('router.ChecklistTemplates')\r\n }\r\n },\r\n {\r\n path: '/setting/taskTemplates',\r\n component: getComponent('corp', 'taskTemplates'),\r\n name: 'taskTemplates',\r\n meta: {\r\n title: i18n.t('router.TaskTemplates')\r\n }\r\n },\r\n {\r\n path: '/setting/tags',\r\n component: getComponent('corp', 'tags'),\r\n name: 'tags',\r\n meta: {\r\n title: i18n.t('router.Tags')\r\n }\r\n },\r\n {\r\n path: '/setting/taskGroupTemplates',\r\n component: getComponent('corp', 'taskGroupTemplates'),\r\n name: 'taskGroupTemplates',\r\n meta: {\r\n title: i18n.t('router.taskGroupTemplates')\r\n }\r\n },\r\n {\r\n path: '/management/sysSetting',\r\n component: getComponent('management', 'systemCategory'),\r\n name: 'sysSetting',\r\n meta: {\r\n title: i18n.t('router.SysSetting')\r\n }\r\n },\r\n {\r\n path: '/management/corporations',\r\n component: getComponent('management', 'allCorps'),\r\n name: 'corporations',\r\n meta: {\r\n title: i18n.t('router.Corporations')\r\n }\r\n },\r\n {\r\n path: '/management/allUsers',\r\n component: getComponent('management', 'allUsers'),\r\n name: 'allUsers',\r\n meta: {\r\n title: i18n.t('router.AllUsers')\r\n }\r\n },\r\n {\r\n path: '/management/corporations/:corpId',\r\n component: getComponent('management', 'userByAdmin'),\r\n name: 'userByAdmin',\r\n meta: {\r\n name: 'corporations',\r\n title: i18n.t('router.AllUsers')\r\n }\r\n }\r\n ]\r\n }, {\r\n path: '*',\r\n name: '',\r\n component: getComponent('404', '404')\r\n }, {\r\n path: '/project/:projectId/diagrams/:planId',\r\n name: 'model',\r\n component: getModel('layout/main'),\r\n children: [\r\n {\r\n path: 'tasks',\r\n component: getModel('tasklist'),\r\n name: 'taskList',\r\n meta: {\r\n type: 1,\r\n title: i18n.t('router.TaskList')\r\n }\r\n },\r\n {\r\n path: 'rooms',\r\n component: getModel('room'),\r\n name: 'byRoom',\r\n meta: {\r\n type: 1,\r\n title: i18n.t('router.ByRoom')\r\n }\r\n },\r\n {\r\n path: 'roomPanel/:roomId?',\r\n component: getModel('roomPanel'),\r\n name: 'roomPanel',\r\n meta: {\r\n type: 1,\r\n title: i18n.t('router.room')\r\n }\r\n },\r\n {\r\n path: 'products',\r\n component: getModel('product'),\r\n name: 'byProduct',\r\n meta: {\r\n type: 1,\r\n title: i18n.t('router.ByProduct')\r\n }\r\n },\r\n {\r\n path: 'tasks/:id?',\r\n component: getModel('task'),\r\n name: 'modelTask',\r\n meta: {\r\n type: 1,\r\n title: i18n.t('router.Task')\r\n }\r\n }\r\n ]\r\n }, {\r\n path: '/project/:projectId/pdfDiagrams/:planId',\r\n name: 'model2',\r\n component: getModel('layout/main2'),\r\n children: [\r\n {\r\n path: 'tasks',\r\n component: getModel('tasklist'),\r\n name: 'taskList2',\r\n meta: {\r\n type: 1,\r\n title: i18n.t('router.TaskList')\r\n }\r\n },\r\n {\r\n path: 'tasks/batch/:type?',\r\n component: getModel('batch'),\r\n name: 'batch2',\r\n meta: {\r\n type: 1,\r\n title: i18n.t('router.batchTask')\r\n }\r\n },\r\n {\r\n path: 'tasks/:id?',\r\n component: getModel('task'),\r\n name: 'modelTask2',\r\n meta: {\r\n type: 1,\r\n title: i18n.t('router.Task')\r\n }\r\n }\r\n ]\r\n }]\r\n})\r\nmyRouter.beforeEach((to, from, next) => {\r\n if (store.state.userInfo.UserId) {\r\n if (to.path.indexOf('management') === 1 && !store.state.showManagement) {\r\n next('/')\r\n } else {\r\n let redirect = from.query && from.query.redirect ? from.query.redirect : ''\r\n if (!redirect || to.fullPath === redirect) { // 正常跳转\r\n if (to.meta.type === 1) { // project菜单需要根据url更新projectId\r\n store.dispatch('getProject', { jobsiteId: to.params.projectId, planId: to.params.planId }).then(() => {\r\n next()\r\n }).catch((e) => {\r\n if (e.response.data.Status === 401) {\r\n next({\r\n path: '/',\r\n query: { reload: 1, sc: e.response.data.Data.CorpId, projectId: to.params.projectId }\r\n })\r\n } else {\r\n next({\r\n path: '/',\r\n query: { reload: 1 }\r\n })\r\n }\r\n })\r\n } else {\r\n next()\r\n }\r\n } else {\r\n if (to.query.reload === 1) { // 判断r, 避免redirect死循环\r\n next()\r\n } else {\r\n next({ path: redirect })// redirect到目的路由\r\n }\r\n }\r\n }\r\n } else {\r\n if (to.meta && to.meta.type === 0) { // 无需验证\r\n next()\r\n } else {\r\n next({\r\n path: '/welcome/login',\r\n query: { redirect: to.fullPath } // 将目的路由地址存入login的query中\r\n })\r\n }\r\n }\r\n})\r\nexport default myRouter\r\n","import Vue from 'vue'\r\nimport Element from 'element-ui'\r\nimport '../element-variables.scss'\r\n\r\nVue.use(Element)\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{class:_vm.svgClass,attrs:{\"aria-hidden\":\"true\"}},[_c('use',{attrs:{\"xlink:href\":_vm.iconName}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=1f499dc4&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=1f499dc4&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1f499dc4\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\r\nimport SvgIcon from '@/components/SvgIcon' // svg组件\r\n\r\n// 注册到全局\r\nVue.component('svg-icon', SvgIcon)\r\n\r\nconst requireAll = requireContext => requireContext.keys().map(requireContext)\r\nconst req = require.context('./svg', false, /\\.svg$/)\r\nrequireAll(req)\r\n","import Vue from 'vue'\r\nimport App from './App.vue'\r\nimport router from './router'\r\nimport store from './store/store'\r\nimport './plugins/element.js'\r\nimport '@assets/css/normalize.css'\r\nimport '@assets/css/global.scss'\r\nimport '@/icons'\r\nimport vuescroll from 'vuescroll'// 引入vuescroll\r\nimport 'vuescroll/dist/vuescroll.css'// 引入vuescroll样式\r\nimport config from '@/static/config'\r\nimport subHeader from './views/layout/components/subHeader'\r\nimport filter from './views/layout/components/fliter.vue'\r\nimport page from './views/layout/components/page.vue'\r\n// eslint-disable-next-line no-unused-vars\r\nimport Blob from './excel/Blob'\r\n// eslint-disable-next-line no-unused-vars\r\nimport Export2Excel from './excel/Export2Excel'\r\nimport i18n from './i18n/i18n'\r\nVue.prototype.$config = config\r\nVue.use(vuescroll, {\r\n ops: {\r\n vuescroll: {},\r\n scrollPanel: {},\r\n rail: {\r\n keepShow: true\r\n },\r\n detectResize: true,\r\n bar: {\r\n hoverStyle: true,\r\n onlyShowBarOnScroll: false, // 是否只有滚动的时候才显示滚动条\r\n background: '#909399', // 滚动条颜色\r\n opacity: 0.5, // 滚动条透明度\r\n 'overflow-x': 'hidden'\r\n }\r\n }, // 在这里设置全局默认配置\r\n name: 'myScroll' // 在这里自定义组件名字,默认是vueScroll\r\n})\r\nvar hrefArray = []\r\nrouter.beforeEach((to, from, next) => {\r\n sessionStorage.setItem('hrefArray', hrefArray)\r\n next()\r\n})\r\n\r\nVue.component('sub-header', subHeader)\r\nVue.component('filter-box', filter)\r\nVue.component('page', page)\r\nnew Vue({\r\n router,\r\n store,\r\n i18n,\r\n render: h => h(App)\r\n}).$mount('#app')\r\n","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-documents\",\n \"use\": \"icon-documents-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-default\",\n \"use\": \"icon-default-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-editCorp\",\n \"use\": \"icon-editCorp-usage\",\n \"viewBox\": \"0 0 200 200\",\n \"content\": \"\\r\\n\\t\\r\\n\\t\\t\\r\\n\\t\\r\\n\\t\\r\\n\\t\\r\\n\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-report_1\",\n \"use\": \"icon-report_1-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-view options\",\n \"use\": \"icon-view options-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-special_0\",\n \"use\": \"icon-special_0-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-report_2\",\n \"use\": \"icon-report_2-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-markup_edit\",\n \"use\": \"icon-markup_edit-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"subHeader\"},[_c('div',{staticClass:\"title\",style:(_vm.hideBox?'border-bottom:none':'')},[_vm._t(\"title\"),_c('span',[_vm._t(\"btn\")],2)],2),(!_vm.hideBox)?_c('div',{staticClass:\"box\"},[_c('div',{staticClass:\"tab\"},[_vm._t(\"tab\")],2),_c('div',{staticClass:\"search\"},[_vm._t(\"search\")],2),_c('div',{staticClass:\"tab-btn\"},[_vm._t(\"tab-btn\")],2)]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./subHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./subHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./subHeader.vue?vue&type=template&id=029e1578&scoped=true&\"\nimport script from \"./subHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./subHeader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./subHeader.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./subHeader.vue?vue&type=style&index=1&id=029e1578&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"029e1578\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\r\nimport store from '../store/store'\r\nimport i18n from '../i18n/i18n'\r\nimport { Notification } from 'element-ui'\r\n\r\nlet Admin = [\r\n 'Create Project', 'Edit Project', 'Close Project',\r\n 'Add Plan', 'Rename Plan', 'Delete Plan',\r\n 'Add Task', 'Edit Task', 'Edit Tasks', 'Assign Task', 'Delete Task',\r\n 'Edit Task Group', 'Create Task Group', 'Delete Task Group',\r\n 'My Corp', 'Edit Member', 'Create Report', 'Upload', 'Edit Product'\r\n]\r\nlet PM = [\r\n 'Create Project', 'Edit Project', 'Close Project',\r\n 'Add Plan', 'Rename Plan', 'Delete Plan',\r\n 'Add Task', 'Edit Task', 'Edit Tasks', 'Assign Task', 'Delete Task',\r\n 'Edit Task Group', 'Create Task Group', 'Delete Task Group',\r\n 'Edit Member', 'Create Report', 'Upload', 'Edit Product'\r\n]\r\nlet Superintendent = [\r\n 'Edit Project', 'Add Plan',\r\n 'Add Task', 'Edit Task', 'Edit Tasks', 'Assign Task', 'Delete Task',\r\n 'Edit Task Group', 'Create Task Group', 'Delete Task Group',\r\n 'Create Report', 'Upload', 'Edit Product'\r\n]\r\nlet FieldRep = ['Create Report', 'Upload', 'Edit Product']\r\nVue.directive('has', (el, binding, vnode) => {\r\n let arr = []\r\n switch (store.state.userInfo.RoleType) {\r\n case 1:\r\n arr = Admin\r\n break\r\n case 2:\r\n arr = PM\r\n break\r\n case 3:\r\n arr = Superintendent\r\n break\r\n case 4:\r\n arr = FieldRep\r\n break\r\n default:\r\n arr = FieldRep\r\n }\r\n if (store.state.mockUserInfo && store.state.mockUserInfo.UserId > 0 && store.state.mockUserInfo.isViewer === true) {\r\n arr = []\r\n }\r\n if (arr.indexOf(binding.value) === -1) {\r\n el.style.display = 'none'\r\n el.remove()\r\n }\r\n})\r\nconst baseURL = process.env.VUE_APP_BASEURL\r\n\r\nconst planURL = process.env.VUE_APP_PLANURL\r\nlet menu = [\r\n {\r\n id: 4,\r\n name: 'dashboard',\r\n title: i18n.t('static.Overview'),\r\n type: 'project',\r\n icon: 'overview'\r\n },\r\n {\r\n id: 5,\r\n name: 'diagrams',\r\n title: i18n.t('static.plan'),\r\n type: 'project',\r\n icon: 'plans'\r\n },\r\n {\r\n id: 6,\r\n name: 'tasks',\r\n title: i18n.t('static.Tasks'),\r\n type: 'project',\r\n icon: 'tasks'\r\n },\r\n {\r\n id: 7,\r\n name: 'groups',\r\n title: i18n.t('static.TaskGroups'),\r\n type: 'project',\r\n icon: 'task groups'\r\n },\r\n {\r\n id: 13,\r\n name: 'labors',\r\n title: i18n.t('static.Labor'),\r\n type: 'project',\r\n icon: 'labor'\r\n },\r\n {\r\n id: 8,\r\n name: 'reports-project',\r\n title: i18n.t('static.Reports'),\r\n type: 'project',\r\n icon: 'report'\r\n },\r\n {\r\n id: 14,\r\n name: 'analytics',\r\n title: i18n.t('static.Liveanalytics'),\r\n type: 'project',\r\n icon: 'analytics'\r\n },\r\n {\r\n id: 11,\r\n name: 'products',\r\n title: i18n.t('static.Products'),\r\n type: 'project',\r\n icon: 'products'\r\n },\r\n {\r\n id: 9,\r\n name: 'photos',\r\n title: i18n.t('static.Photos'),\r\n type: 'project',\r\n icon: 'photos'\r\n },\r\n {\r\n id: 10,\r\n name: 'documents',\r\n title: i18n.t('static.Documents'),\r\n type: 'project',\r\n icon: 'documents'\r\n },\r\n {\r\n id: 12,\r\n name: 'members',\r\n title: i18n.t('static.Members'),\r\n type: 'project',\r\n icon: 'members'\r\n },\r\n {\r\n id: 20,\r\n name: 'corp',\r\n title: i18n.t('static.MyCorp'),\r\n type: 'setting',\r\n icon: 'corp'\r\n },\r\n {\r\n id: 21,\r\n name: 'users',\r\n title: i18n.t('static.UserManagement'),\r\n type: 'setting',\r\n icon: 'members'\r\n },\r\n {\r\n id: 22,\r\n name: 'license',\r\n title: i18n.t('static.Subscription'),\r\n type: 'setting',\r\n icon: 'edit'\r\n },\r\n // {\r\n // id: 28,\r\n // index: '/setting/role',\r\n // title: i18n.t('router.role'),\r\n // type: 'setting',\r\n // icon: 'default (2)'\r\n // },\r\n {\r\n id: 23,\r\n name: 'corporations',\r\n title: i18n.t('static.Corporations'),\r\n type: 'management',\r\n icon: 'corp'\r\n },\r\n {\r\n id: 24,\r\n name: 'allUsers',\r\n title: i18n.t('static.AllUsers'),\r\n type: 'management',\r\n icon: 'members'\r\n },\r\n // {\r\n // id: 25,\r\n // index: '/setting/laborItems',\r\n // title: i18n.t('static.LaborItems'),\r\n // type: 'setting',\r\n // icon: 'labor'\r\n // },\r\n {\r\n id: 26,\r\n name: 'corpSetting',\r\n title: i18n.t('static.Settings'),\r\n type: 'setting',\r\n icon: 'setting'\r\n },\r\n {\r\n id: 27,\r\n name: 'sysSetting',\r\n title: i18n.t('static.SysSetting'),\r\n type: 'management',\r\n icon: 'setting'\r\n },\r\n {\r\n id: 28,\r\n name: 'notificationSetting',\r\n title: i18n.t('static.Notifications'),\r\n type: 'setting',\r\n icon: 'notifications'\r\n },\r\n {\r\n id: 29,\r\n name: 'checklistTemplates',\r\n title: i18n.t('static.ChecklistTemplates'),\r\n type: 'setting',\r\n icon: 'checklistTemplates'\r\n },\r\n {\r\n id: 30,\r\n name: 'taskTemplates',\r\n title: i18n.t('static.TaskTemplates'),\r\n type: 'setting',\r\n icon: 'tasks'\r\n },\r\n {\r\n id: 31,\r\n name: 'taskGroupTemplates',\r\n title: i18n.t('static.TaskGroupTemplates'),\r\n type: 'setting',\r\n icon: 'task groups'\r\n },\r\n {\r\n id: 32,\r\n name: 'tags',\r\n title: i18n.t('static.Tags'),\r\n type: 'setting',\r\n icon: 'tag'\r\n }\r\n]\r\nlet reportType = [{\r\n name: 'MoistureReport',\r\n val: 0\r\n},\r\n{\r\n name: 'CompletionReport',\r\n val: 1\r\n},\r\n{\r\n name: 'IssueReport',\r\n val: 2\r\n},\r\n{\r\n name: 'TaskReport',\r\n val: 3\r\n},\r\n{\r\n name: 'GroupReport',\r\n val: 4\r\n}\r\n]\r\nfunction toTimestamp (time) {\r\n let tPos = time.indexOf('T')\r\n let zPos = time.indexOf('Z')\r\n let yearMouthDay = time.substring(0, tPos)\r\n let hourMinSec = time.substring(tPos + 1, zPos)\r\n let newTime = yearMouthDay + ' ' + hourMinSec\r\n console.log(newTime)\r\n let timestamp = Date.parse(newTime)\r\n return timestamp\r\n}\r\nfunction LocalTime (time, showSecond = false) {\r\n let datetime = new Date(time)\r\n let year = datetime.getFullYear()\r\n let month = datetime.getMonth()\r\n let date = datetime.getDate()\r\n let hour = datetime.getHours()\r\n let minute = datetime.getMinutes()\r\n let second = datetime.getSeconds()\r\n let result =\r\n ((month + 1) >= 10 ? (month + 1) : '0' + (month + 1)) +\r\n '/' +\r\n (date < 10 ? '0' + date : date) +\r\n '/' +\r\n year +\r\n ' ' +\r\n (hour < 10 ? '0' + hour : hour) +\r\n ':' +\r\n (minute < 10 ? '0' + minute : minute)\r\n if (showSecond) {\r\n result += ':' + ((second + 1) < 10 ? '0' + second : second)\r\n }\r\n return result\r\n}\r\n\r\nfunction StatusColorTask (time, done) {\r\n let color = 'Normal'\r\n if (done >= 100) {\r\n color = 'Complete'\r\n } else {\r\n if (time) {\r\n color = new Date().getTime() - (new Date(time).getTime() + 86399000) > 0 ? 'Danger' : 'Normal'\r\n }\r\n }\r\n return color\r\n}\r\n\r\nfunction StatusColorProduct (time, done) {\r\n let color = 'Normal_i'\r\n if (done >= 100) {\r\n color = 'Complete'\r\n } else {\r\n if (time) {\r\n color = new Date().getTime() - (new Date(time).getTime() + 86399000) > 0 ? 'Danger' : 'Normal_i'\r\n }\r\n }\r\n return color\r\n}\r\n\r\nfunction StatusColorMoisture (time, rh, maxRh, sleeveDropped) {\r\n let color = sleeveDropped === true ? 'Normal_i' : 'Normal_m'\r\n if (!time && !rh) {\r\n return color\r\n }\r\n if (rh) {\r\n if (rh <= maxRh) {\r\n color = 'Complete'\r\n } else if (rh > maxRh) {\r\n color = 'Danger'\r\n }\r\n return color\r\n }\r\n if (time) {\r\n color = new Date().getTime() - (new Date(time).getTime() + 86399000) > 0 ? 'Danger' : color\r\n return color\r\n }\r\n}\r\n\r\nfunction transform (num, unit) {\r\n let count = {}\r\n switch (unit) {\r\n case 0:\r\n count.num = 0\r\n count.text = 0\r\n break\r\n case 1: // cm\r\n count.num = num\r\n count.text = 'CM'\r\n break\r\n case 2: // m\r\n count.num = num / 1000\r\n count.text = 'M'\r\n break\r\n case 3: // ft\r\n count.num = num / 304.8\r\n count.text = 'LF'\r\n break\r\n case 4: // m^2\r\n count.num = num / 1000000\r\n count.text = 'M²'\r\n break\r\n case 5: // ft^2\r\n count.num = num / 304.8 / 304.8\r\n count.text = 'SF'\r\n break\r\n case 6: // sq yd\r\n count.num = num / 836127.36\r\n count.text = 'SY'\r\n break\r\n case 10: // ea\r\n count.num = num.toFixed(0)\r\n count.text = 'EA'\r\n break\r\n case 11:\r\n let Num = num * 0.039370\r\n count.length1 = Num | 0\r\n count.length2 = ((Num % 1) / 0.08333333).toFixed(2)\r\n break\r\n }\r\n if (count.num) {\r\n count.num = numberFormat(getFormatNumber(count.num, 2))\r\n }\r\n return count\r\n}\r\n\r\nfunction Address (obj) {\r\n for (let i in obj) {\r\n if (obj[i] && obj[i] !== '' && i !== 'ZipCode') {\r\n obj[i] = obj[i] + ', '\r\n } else if (!obj[i]) {\r\n obj[i] = ''\r\n }\r\n }\r\n let string = obj.Street + obj.City + obj.State + obj.Country + obj.ZipCode\r\n return string\r\n}\r\n\r\nfunction getFirstLastNameByFullName (name) {\r\n let result = {\r\n FirstName: '',\r\n LastName: ''\r\n }\r\n if (name && name.length > 0) {\r\n let index = name.indexOf(' ')\r\n if (index > 0) {\r\n result.FirstName = name.slice(0, index)\r\n result.LastName = name.slice(index + 1)\r\n } else {\r\n result.FirstName = name\r\n result.LastName = ''\r\n }\r\n }\r\n return result\r\n}\r\n\r\nfunction groupBy (array, f) {\r\n let groups = {}\r\n array.forEach(o => {\r\n let group = JSON.stringify(f(o))\r\n groups[group] = groups[group] || []\r\n groups[group].push(o)\r\n })\r\n return Object.keys(groups).map(function (group) {\r\n return groups[group]\r\n })\r\n}\r\n\r\nfunction getFormatNumber (num, decimal = 1) {\r\n let value = Math.round(num * Math.pow(10, decimal)) / Math.pow(10, decimal) // 四舍五入\r\n value = Number(value).toFixed(decimal)\r\n return parseFloat(value)\r\n}\r\n\r\nfunction formatDuring (dateTime) {\r\n let timeSpanStr\r\n timeSpanStr = Math.round(dateTime / (1000 * 60 * 60))\r\n return timeSpanStr\r\n}\r\n\r\nfunction licenseText (obj) {\r\n if (obj.IsTrial) {\r\n let text = obj.LicenseQty + i18n.t('static.FreeLicenses') + (obj.LicenseQty - obj.ResidualLicenseQty) + i18n.t('static.assigned')\r\n return text\r\n } else {\r\n if (!obj.LicenseExpired) {\r\n if (!obj.InSubscription) {\r\n let diffDay = obj.DueDays\r\n if (isLicenseExpirationDayNeedRemind(diffDay)) {\r\n if (diffDay < 1) {\r\n diffDay = 1\r\n }\r\n let text = i18n.t('static.YourSubscriptionWillExpired', [obj.LicenseProductName, Math.ceil(diffDay)])\r\n return text\r\n }\r\n }\r\n let text = obj.LicenseQty + i18n.t('static.licensesPurchased') + (obj.LicenseQty - obj.ResidualLicenseQty) + i18n.t('static.assigned')\r\n return text\r\n } else {\r\n let text = i18n.t('static.YourSubscriptionIsExpired')\r\n return text\r\n }\r\n }\r\n}\r\n\r\nfunction isLicenseExpirationDayNeedRemind (diffDay) {\r\n return diffDay < 7\r\n}\r\n\r\nfunction getAssignment (item) {\r\n let arr = []\r\n if (item.length > 0) {\r\n item.forEach(ele => {\r\n if (ele.planRegions) {\r\n ele.planRegions.forEach(i => {\r\n for (let j in i) {\r\n if (j === 'areaAssignments' || j === 'countAssignments' || j === 'lineAssignments') {\r\n if (i[j].length > 0) {\r\n i[j].forEach(x => {\r\n arr.push(x)\r\n })\r\n }\r\n }\r\n }\r\n })\r\n } else {\r\n for (let i in ele) {\r\n if (i === 'areaAssignments' || i === 'countAssignments' || i === 'lineAssignments') {\r\n arr.push(ele[i][0])\r\n }\r\n }\r\n }\r\n })\r\n } else if (item.length === undefined) {\r\n for (let i in item.planRegions[0]) {\r\n if (i === 'areaAssignments' || i === 'countAssignments' || i === 'lineAssignments') {\r\n item.planRegions[0][i].forEach(ele => {\r\n arr.push(ele)\r\n })\r\n }\r\n }\r\n if (item.elevations.length > 0) {\r\n\r\n }\r\n }\r\n return arr\r\n}\r\n\r\nfunction UTCTime (dateTime, isToday, onlyDate, end) {\r\n if (isToday === true) {\r\n let currentDate = new Date()\r\n return new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate(), 0, 0, 0, 0)\r\n }\r\n if (onlyDate === true) {\r\n let date = new Date(dateTime)\r\n return new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0, 0)\r\n }\r\n if (end === true) {\r\n let date = new Date(dateTime)\r\n return new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59, 0)\r\n }\r\n let date = new Date(dateTime)\r\n return new Date(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds())\r\n}\r\nfunction formatBytes (a, b) {\r\n if (a === 0) return '0 Bytes'\r\n let c = 1024; let d = b || 2; let e = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']\r\n let f = Math.floor(Math.log(a) / Math.log(c)); return parseFloat((a / Math.pow(c, f)).toFixed(d)) + ' ' + e[f]\r\n}\r\nfunction beforeTimeText (dateTime) {\r\n let start = new Date(dateTime)\r\n let end = new Date()\r\n let delta = Math.round((+new Date() - new Date(dateTime)) / 1000)\r\n let minute = 60\r\n let hour = minute * 60\r\n let day = hour * 24\r\n let week = day * 7\r\n let matchYears = Math.floor(DIFFTIME(start, end, 'y'))\r\n let matchMonths = Math.floor(DIFFTIME(start, end, 'M'))\r\n let beforeText = ''\r\n if (matchMonths > 0 && matchYears < 1) {\r\n if (matchMonths < 2) {\r\n beforeText = i18n.t('static.aMonthAgo')\r\n } else {\r\n beforeText = matchMonths + i18n.t('static.monthsAgo')\r\n }\r\n } else if (matchYears > 0) {\r\n if (matchYears < 2) {\r\n beforeText = i18n.t('static.aYearAgo')\r\n } else {\r\n beforeText = matchYears + i18n.t('static.yearsAgo')\r\n }\r\n } else if (delta < 30) {\r\n beforeText = i18n.t('static.justThen')\r\n } else if (delta < minute) {\r\n beforeText = delta + i18n.t('static.secondsAgo')\r\n } else if (delta < 2 * minute) {\r\n beforeText = i18n.t('static.aMinuteAgo')\r\n } else if (delta < hour) {\r\n beforeText = Math.floor(delta / minute) + i18n.t('static.minutesAgo')\r\n } else if (Math.floor(delta / hour) === 1) {\r\n beforeText = i18n.t('static.1hourAgo')\r\n } else if (delta < day) {\r\n beforeText = Math.floor(delta / hour) + i18n.t('static.hoursAgo')\r\n } else if (delta < day * 2) {\r\n beforeText = i18n.t('static.yesterday')\r\n } else if (delta < week) {\r\n beforeText = Math.floor(delta / day) + i18n.t('static.daysAgo')\r\n } else if (delta > week && delta < week * 2) {\r\n beforeText = i18n.t('static.aWeekAgo')\r\n } else if (delta > week * 2) {\r\n beforeText = Math.floor(delta / week) + i18n.t('static.weeksAgo')\r\n }\r\n return beforeText\r\n}\r\n// 计算两个日期时间相差的年数、月数、天数、小时数、分钟数、秒数\r\n// DIFFTIME(开始时间, 结束时间, [单位]), 单位可以是 \"y\" 、\"M\"、\"d\"、\"h\"、\"m\"、\"s\"'\r\n// console.log(DIFFTIME('2019-6-30 13:20:00', '2020-10-01 11:20:32', 's'))\r\nexport const DIFFTIME = function (startTime, endTime, unit) {\r\n // 判断当前月天数\r\n function getDays (mouth, year) {\r\n let days = 30\r\n if (mouth === 2) {\r\n days = year % 4 === 0 ? 29 : 28\r\n } else if (mouth === 1 || mouth === 3 || mouth === 5 || mouth === 7 || mouth === 8 || mouth === 10 || mouth === 12) {\r\n // 月份为:1,3,5,7,8,10,12 时,为大月.则天数为31;\r\n days = 31\r\n }\r\n return days\r\n }\r\n const start = new Date(startTime)\r\n const end = new Date(endTime)\r\n // 计算时间戳的差\r\n const diffValue = end - start\r\n // 获取年\r\n const startYear = start.getFullYear()\r\n const endYear = end.getFullYear()\r\n // 获取月\r\n const startMouth = start.getMonth() + 1\r\n const endMouth = end.getMonth() + 1\r\n // 获取日\r\n const startDay = start.getDate()\r\n const endDay = end.getDate()\r\n // 获取小时\r\n const startHours = start.getHours()\r\n const endHours = end.getHours()\r\n // 获取分\r\n const startMinutes = start.getMinutes()\r\n const endMinutes = end.getMinutes()\r\n // 获取秒\r\n const startSeconds = start.getSeconds()\r\n const endSeconds = end.getSeconds()\r\n if (unit === 'y' || unit === 'M') {\r\n // 相差年份月份\r\n const diffYear = endYear - startYear\r\n // 获取当前月天数\r\n const startDays = getDays(startMouth, startYear)\r\n const endDays = getDays(endMouth, endYear)\r\n const diffStartMouth = (startDays - (startDay + ((startHours * 60 + startMinutes + startSeconds / 60) / 60 / 24) - 1)) / startDays\r\n const diffEndMouth = (endDay + ((endHours * 60 + endMinutes + endSeconds / 60) / 60 / 24) - 1) / endDays\r\n const diffMouth = diffStartMouth + diffEndMouth + (12 - startMouth - 1) + endMouth + (diffYear - 1) * 12\r\n if (unit === 'y') {\r\n return Math.floor(diffMouth / 12 * 100) / 100\r\n } else {\r\n return diffMouth\r\n }\r\n } else if (unit === 'd') {\r\n const d = parseInt(diffValue / 1000 / 60 / 60 / 24)\r\n return d\r\n } else if (unit === 'h') {\r\n const h = parseInt(diffValue / 1000 / 60 / 60)\r\n return h\r\n } else if (unit === 'm') {\r\n const m = parseInt(diffValue / 1000 / 60)\r\n return m\r\n } else if (unit === 's') {\r\n const s = parseInt(diffValue / 1000)\r\n return s\r\n } else {\r\n console.log('Unit is error')\r\n }\r\n}\r\nfunction colorRGB2Hex (color) {\r\n let rgb = color.split(',')\r\n let r = parseInt(rgb[0].split('(')[1])\r\n let g = parseInt(rgb[1])\r\n let b = parseInt(rgb[2].split(')')[0])\r\n let hex = '#ff' + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)\r\n return hex\r\n}\r\n// unit转Color\r\nfunction unit2RGBA (v) {\r\n let alpha = (v >> 24 & 0xff) / 255\r\n let red = v >> 16 & 0xff\r\n let green = v >> 8 & 0xff\r\n let blue = v & 0xff\r\n return `rgba(${red}, ${green}, ${blue}, ${alpha})`\r\n}\r\n// color转uint\r\nfunction rgba2uint (color) {\r\n let rgbaStrArr = color.match(/(\\d(\\.\\d+)?)+/g) || []\r\n let r = parseInt(rgbaStrArr[0])\r\n let g = parseInt(rgbaStrArr[1])\r\n let b = parseInt(rgbaStrArr[2])\r\n let a = parseFloat(rgbaStrArr[3])\r\n let ai = Math.floor(a * 255)\r\n r = r & 0xff\r\n g = g & 0xff\r\n b = b & 0xff\r\n ai = ai & 0xff\r\n return (r << 24) + (g << 16) + (b << 8) + (ai)\r\n}\r\n\r\nfunction unique (arr) {\r\n if (!Array.isArray(arr)) {\r\n return\r\n }\r\n let res = [arr[0]]\r\n for (let i = 1; i < arr.length; i++) {\r\n let flag = true\r\n for (let j = 0; j < res.length; j++) {\r\n if (arr[i] === res[j]) {\r\n flag = false\r\n break\r\n }\r\n }\r\n if (flag) {\r\n res.push(arr[i])\r\n }\r\n }\r\n return res\r\n}\r\nfunction arrUnique (arr, type) {\r\n let newArr = []\r\n let tArr = []\r\n if (arr.length === 0) {\r\n return arr\r\n } else {\r\n if (type) {\r\n for (let i = 0; i < arr.length; i++) {\r\n if (!tArr[arr[i][type]]) {\r\n newArr.push(arr[i])\r\n tArr[arr[i][type]] = true\r\n }\r\n }\r\n return newArr\r\n } else {\r\n for (let i = 0; i < arr.length; i++) {\r\n if (!tArr[arr[i]]) {\r\n newArr.push(arr[i])\r\n tArr[arr[i]] = true\r\n }\r\n }\r\n return newArr\r\n }\r\n }\r\n}\r\nfunction getProductNum (string) {\r\n let num\r\n switch (string) {\r\n case 'None':\r\n num = 0\r\n break\r\n case 'Carpet':\r\n num = 1\r\n break\r\n case 'Vinyl':\r\n num = 2\r\n break\r\n case 'Wall Paper':\r\n num = 3\r\n break\r\n case 'Carpet Tile':\r\n num = 4\r\n break\r\n case 'Vinyl Tile':\r\n num = 5\r\n break\r\n case 'Tile':\r\n num = 8\r\n break\r\n case 'Laminate':\r\n num = 9\r\n break\r\n case 'Hardwood':\r\n num = 10\r\n break\r\n case 'Concrete':\r\n num = 11\r\n break\r\n case 'Paint':\r\n num = 12\r\n break\r\n case 'Grout':\r\n num = 13\r\n break\r\n case 'Surface':\r\n num = 14\r\n break\r\n case 'Underlayment':\r\n num = 15\r\n break\r\n case 'Transition':\r\n num = 16\r\n break\r\n case 'Bullnose':\r\n num = 17\r\n break\r\n case 'Trim':\r\n num = 18\r\n break\r\n case 'Wall Base':\r\n num = 19\r\n break\r\n case 'Linear':\r\n num = 22\r\n break\r\n case 'Count':\r\n num = 24\r\n break\r\n case 'Pattern':\r\n num = 26\r\n break\r\n case 'Adhesive':\r\n num = 31\r\n break\r\n case 'Labor':\r\n num = 32\r\n break\r\n case 'Freight':\r\n num = 33\r\n }\r\n return num\r\n}\r\nfunction getUnit (string) {\r\n let num\r\n switch (string) {\r\n case 'None':\r\n num = 0\r\n break\r\n case 'CM':\r\n num = 1\r\n break\r\n case 'M':\r\n num = 2\r\n break\r\n case 'LF':\r\n num = 3\r\n break\r\n case 'SM':\r\n num = 4\r\n break\r\n case 'M²':\r\n num = 4\r\n break\r\n case 'SF':\r\n num = 5\r\n break\r\n case 'SY':\r\n num = 6\r\n break\r\n case 'Liter':\r\n num = 7\r\n break\r\n case 'CubicMeter':\r\n num = 8\r\n break\r\n case 'USGal':\r\n num = 9\r\n break\r\n case 'EA':\r\n num = 10\r\n }\r\n return num\r\n}\r\nfunction getProductAssignType (type) {\r\n let num\r\n switch (type) {\r\n case 'None':\r\n num = 0\r\n break\r\n case 'Area':\r\n num = 1\r\n break\r\n case 'Linear':\r\n num = 2\r\n break\r\n case 'Count':\r\n num = 3\r\n break\r\n }\r\n return num\r\n}\r\n\r\nfunction getTotalTime (startTime, endTime) {\r\n var start = new Date(startTime)\r\n var end = new Date(endTime)\r\n var total = end - start\r\n var minute = Math.floor(total / 1000 / 60)\r\n var hour = Math.floor(total / 1000 / 60 / 60)\r\n minute = minute - hour * 60\r\n return hour + ' : ' + minute\r\n}\r\n\r\nfunction getTotalHrs (startTime, endTime) {\r\n var start = new Date(startTime)\r\n var end = new Date(endTime)\r\n var total = end - start\r\n var hour = total / 1000 / 60 / 60\r\n return parseFloat(hour).toFixed(2)\r\n}\r\n\r\nfunction formatDate (date, fmt = 'MM/dd/yyyy hh:mm') {\r\n if (!date) {\r\n return ''\r\n }\r\n if (/(y+)/.test(fmt)) {\r\n fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))\r\n }\r\n let o = {\r\n 'M+': date.getMonth() + 1,\r\n 'd+': date.getDate(),\r\n 'h+': date.getHours(),\r\n 'm+': date.getMinutes(),\r\n 's+': date.getSeconds()\r\n }\r\n for (let k in o) {\r\n if (new RegExp(`(${k})`).test(fmt)) {\r\n let str = o[k] + ''\r\n fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : (('00' + str).substr(str.length)))\r\n }\r\n }\r\n return fmt\r\n}\r\n\r\nlet measureUnitTypes = [{ Key: 1, Value: i18n.t('static.Metric') + '(11m, 12m²)' }, {\r\n Key: 2, Value: i18n.t('static.Imperial') + '(5\\'6\", 28SF)'\r\n}]\r\n\r\nlet temperatureUnits = [{ Key: 0, Value: i18n.t('static.Celsius') + '(°C)' }, {\r\n Key: 1, Value: i18n.t('static.Fahrenheit') + '(°F)'\r\n}]\r\n\r\nfunction fahrenheitToCelsius (num) {\r\n return getFormatNumber((num - 32.0) / 1.8)\r\n}\r\n\r\nfunction celsiusToFahrenheit (num) {\r\n return getFormatNumber(num * 1.8 + 32.0)\r\n}\r\n\r\nfunction getFormatTemperature (num, unit) {\r\n if (unit === 0) {\r\n return fahrenheitToCelsius(num) + '°C'\r\n }\r\n return getFormatNumber(num) + '°F'\r\n}\r\n\r\nfunction getGlobalmeasureUnit (num, assign) {\r\n let type = store.state.measureUnitType\r\n if (type !== 1) {\r\n if (assign === 1) {\r\n let result = num / 304.8 / 304.8\r\n let unitObj = {\r\n text: 'SF',\r\n num: getFormatNumber(result)\r\n }\r\n return unitObj\r\n } else {\r\n let result = num / 304.8\r\n let unitObj = {\r\n text: 'LF',\r\n num: getFormatNumber(result)\r\n }\r\n return unitObj\r\n }\r\n } else {\r\n if (assign === 1) {\r\n let result = num / 1000\r\n let unitObj = {\r\n text: 'M',\r\n num: getFormatNumber(result)\r\n }\r\n return unitObj\r\n } else {\r\n let result = num / 1000000\r\n let unitObj = {\r\n text: 'M²',\r\n num: getFormatNumber(result)\r\n }\r\n return unitObj\r\n }\r\n }\r\n}\r\nfunction handleTaskList (list) {\r\n list.forEach(ele => {\r\n ele.CompletionRate = Math.round(ele.CompletionRate * Math.pow(10, 1)) / Math.pow(10, 1)\r\n switch (ele.TaskType) {\r\n case 0:\r\n ele.icon = 'task_0'\r\n ele.point = 'task'\r\n break\r\n case 1:\r\n ele.icon = 'special_0'\r\n ele.point = 'product'\r\n break\r\n case 2:\r\n ele.icon = 'moisture_0'\r\n ele.point = 'moisture'\r\n break\r\n case 4:\r\n ele.icon = 'special_0'\r\n ele.point = 'product'\r\n break\r\n }\r\n if (ele.EndDate) {\r\n ele.EndDate = LocalTime(ele.EndDate)\r\n }\r\n if (ele.TaskType === 0) {\r\n ele.color = StatusColorTask(ele.EndDate, ele.CompletionRate)\r\n }\r\n if (ele.TaskType === 1 || ele.TaskType === 4) {\r\n ele.color = StatusColorProduct(ele.EndDate, ele.CompletionRate)\r\n }\r\n if (ele.TaskType === 2 && ele.LastRHReading) {\r\n ele.Concrete = getFormatNumber(ele.LastRHReading.ConcreteRH)\r\n ele.color = StatusColorMoisture(ele.EndDate, ele.LastRHReading.ConcreteRH, ele.MaxRh, ele.SleeveDropped)\r\n } else if (ele.TaskType === 2 && !ele.LastRHReading) {\r\n ele.color = StatusColorMoisture(ele.EndDate, null, ele.MaxRh, ele.SleeveDropped)\r\n }\r\n })\r\n return list\r\n}\r\nfunction handleProduct (product, taskShapes) {\r\n return new Promise((resolve, reject) => {\r\n let result = {}\r\n let WallBaseLinear = [16, 18, 19, 17, 22]\r\n let isWallBase = WallBaseLinear.indexOf(product.ProductType) !== -1\r\n if (product.AssignType === 1 && !isWallBase) {\r\n let total = 0\r\n for (let i of taskShapes) {\r\n total += i.ShapeArea\r\n }\r\n result.NetArea = total\r\n result.TotalQty = product.TotalQty\r\n result.Unit = transformUnit(product.TotalQty, product.Unit, product.ProductType).text\r\n result.transformTotal = transformUnit(product.TotalQty, product.Unit, product.ProductType).num\r\n result.transformNetArea = transformUnit(total, product.Unit, product.ProductType).num\r\n } else if (product.AssignType !== 1) {\r\n result.TotalQty = product.TotalQty\r\n result.Unit = transformUnit(product.TotalQty, product.Unit).text\r\n result.transformTotal = transformUnit(product.TotalQty, product.Unit).num\r\n }\r\n resolve(result)\r\n })\r\n}\r\n\r\nfunction transformUnit (num, unit, type = 0) {\r\n let count = {}\r\n // 这里要判断 可能出现Lf的面积型的type 然后将M或LF 转成 M2或SF\r\n var areaProductTypes = [1, 2, 3]\r\n if (areaProductTypes.indexOf(type) > -1) {\r\n if (unit === 2) {\r\n unit = 4\r\n }\r\n if (unit === 3) {\r\n unit = 5\r\n }\r\n }\r\n switch (unit) {\r\n case 0:\r\n count.num = 0\r\n count.text = 0\r\n break\r\n case 1: // cm\r\n count.num = num / 10\r\n count.text = 'CM'\r\n break\r\n case 2: // m\r\n count.num = num / 1000\r\n count.text = 'M'\r\n break\r\n case 3: // ft\r\n count.num = num / 304.8\r\n count.text = 'LF'\r\n break\r\n case 4: // m^2\r\n count.num = num / 1000000\r\n count.text = 'M²'\r\n break\r\n case 5: // ft^2\r\n count.num = num / 304.8 / 304.8\r\n count.text = 'SF'\r\n break\r\n case 6: // sq yd\r\n count.num = num / 836127.36\r\n count.text = 'SY'\r\n break\r\n case 10: // ea\r\n count.num = num.toFixed(0)\r\n count.text = 'EA'\r\n break\r\n case 11:\r\n let Num = num * 0.039370\r\n count.length1 = Num | 0\r\n count.length2 = ((Num % 1) / 0.08333333).toFixed(2)\r\n break\r\n }\r\n if (count.num) {\r\n count.num = numberFormat(getFormatNumber(count.num, 2))\r\n }\r\n return count\r\n}\r\n\r\nfunction getFileType (fileName) {\r\n let suffix = ''\r\n let result = ''\r\n try {\r\n let flieArr = fileName.toLowerCase().split('.')\r\n suffix = flieArr[flieArr.length - 1]\r\n } catch (err) {\r\n suffix = ''\r\n }\r\n let imglist = ['png', 'jpg', 'jpeg', 'bmp', 'gif']\r\n result = imglist.some(function (item) {\r\n return item === suffix\r\n })\r\n if (result) {\r\n return 1\r\n }\r\n let videolist = ['mp4', 'm2v', 'mkv', 'mov', 'mp4', 'flv', 'mkv', 'wmv', 'avi', 'rmvb', 'vob']\r\n result = videolist.some(function (item) {\r\n return item === suffix\r\n })\r\n if (result) {\r\n return 2\r\n }\r\n let pdflist = ['pdf']\r\n result = pdflist.some(function (item) {\r\n return item === suffix\r\n })\r\n if (result) {\r\n return 3\r\n }\r\n return 0\r\n}\r\n\r\nfunction getIconForFileType (fileName, isFolder) {\r\n if (isFolder) {\r\n return 'folder.png'\r\n }\r\n let suffix = ''\r\n let result = ''\r\n try {\r\n let flieArr = fileName.toLowerCase().split('.')\r\n suffix = flieArr[flieArr.length - 1]\r\n } catch (err) {\r\n suffix = ''\r\n }\r\n\r\n if (!suffix) {\r\n return 'other@2x.png'\r\n }\r\n\r\n let imglist = ['png', 'jpg', 'jpeg', 'bmp', 'gif']\r\n result = imglist.some(function (item) {\r\n return item === suffix\r\n })\r\n if (result) {\r\n return 'image_default@2x.png'\r\n };\r\n\r\n let excelist = ['xls', 'xlsx']\r\n result = excelist.some(function (item) {\r\n return item === suffix\r\n })\r\n if (result) {\r\n return 'excel@2x.png'\r\n };\r\n\r\n let wordlist = ['doc', 'docx']\r\n result = wordlist.some(function (item) {\r\n return item === suffix\r\n })\r\n if (result) {\r\n return 'word@2x.png'\r\n };\r\n\r\n let pdflist = ['pdf']\r\n result = pdflist.some(function (item) {\r\n return item === suffix\r\n })\r\n if (result) {\r\n return 'pdf@2x.png'\r\n };\r\n\r\n let pptList = ['ppt', 'pptx']\r\n result = pptList.some(function (item) {\r\n return item === suffix\r\n })\r\n if (result) {\r\n return 'ppt@2x.png'\r\n };\r\n\r\n let videolist = ['mp4', 'm2v', 'mkv', 'mov', 'mp4', 'flv', 'mkv', 'wmv', 'avi', 'rmvb', 'vob']\r\n result = videolist.some(function (item) {\r\n return item === suffix\r\n })\r\n if (result) {\r\n return 'video@2x.png'\r\n };\r\n\r\n let m2list = ['fez']\r\n result = m2list.some(function (item) {\r\n return item === suffix\r\n })\r\n if (result) {\r\n return 'M2__@2x.png'\r\n };\r\n return 'other@2x.png'\r\n}\r\nfunction sortArray (data, key, order) {\r\n if (order === 'asc') {\r\n data.sort((a, b) => a[key] - b[key])\r\n } else if (order === 'desc') {\r\n data.sort((a, b) => b[key] - a[key])\r\n }\r\n return data\r\n}\r\nfunction add (num1, num2) {\r\n let r1, r2, m\r\n try {\r\n r1 = num1.toString().split('.')[1].length\r\n } catch (e) {\r\n r1 = 0\r\n }\r\n try {\r\n r2 = num2.toString().split('.')[1].length\r\n } catch (e) {\r\n r2 = 0\r\n }\r\n m = Math.pow(10, Math.max(r1, r2))\r\n return (num1 * m + num2 * m) / m\r\n}\r\nfunction sub (num1, num2) {\r\n let r1, r2, m, n\r\n try {\r\n r1 = num1.toString().split('.')[1].length\r\n } catch (e) {\r\n r1 = 0\r\n }\r\n try {\r\n r2 = num2.toString().split('.')[1].length\r\n } catch (e) {\r\n r2 = 0\r\n }\r\n n = Math.max(r1, r2)\r\n m = Math.pow(10, n)\r\n return Number(((num1 * m - num2 * m) / m).toFixed(n))\r\n}\r\nfunction multiply (num1, num2) {\r\n let m = 0\r\n let s1 = num1.toString()\r\n let s2 = num2.toString()\r\n try {\r\n m += s1.split('.')[1].length\r\n } catch (e) { }\r\n try {\r\n m += s2.split('.')[1].length\r\n } catch (e) { }\r\n return Number(s1.replace('.', '')) * Number(s2.replace('.', '')) / Math.pow(10, m)\r\n}\r\nfunction divide (num1, num2) {\r\n let t1, t2, r1, r2\r\n try {\r\n t1 = num1.toString().split('.')[1].length\r\n } catch (e) {\r\n t1 = 0\r\n }\r\n try {\r\n t2 = num2.toString().split('.')[1].length\r\n } catch (e) {\r\n t2 = 0\r\n }\r\n r1 = Number(num1.toString().replace('.', ''))\r\n r2 = Number(num2.toString().replace('.', ''))\r\n return (r1 / r2) * Math.pow(10, t2 - t1)\r\n}\r\nfunction numberFormat (number, digNum) {\r\n digNum = digNum || 2\r\n /*\r\n * 参数说明:\r\n * number:要格式化的数字\r\n * decimals:保留几位小数\r\n * */\r\n number = (number + '').replace(/[^0-9+-Ee.]/g, '')\r\n var n = !isFinite(+number) ? 0 : +number\r\n var prec = !isFinite(+digNum) ? 0 : Math.abs(digNum)\r\n var s = n.toString().split('.')\r\n var re = /(-?\\d+)(\\d{3})/\r\n while (re.test(s[0])) {\r\n s[0] = s[0].replace(re, '$1,$2')\r\n }\r\n if ((s[1] || '').length < prec) {\r\n s[1] = s[1] || ''\r\n s[1] += new Array(prec - s[1].length + 1).join('0')\r\n } else {\r\n s[1] = s[1].substring(0, prec)\r\n }\r\n return s.join('.')\r\n}\r\n\r\nfunction StringFormat () {\r\n if (arguments.length === 0) { return null }\r\n\r\n var str = arguments[0]\r\n for (var i = 1; i < arguments.length; i++) {\r\n var re = new RegExp('\\\\{' + (i - 1) + '\\\\}', 'gm')\r\n str = str.replace(re, arguments[i])\r\n }\r\n return str\r\n}\r\nfunction validEmail (obj) {\r\n return /^[A-Za-z0-9]+(?:[._-]*[A-Za-z0-9]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[\\w](?:[\\w-]*[\\w])?$/i.test(obj)\r\n}\r\nfunction validEmails (emails, msg) {\r\n var strEmail = []\r\n for (var i = 0; i < emails.length; i++) {\r\n var emailval = emails[i].trim()\r\n if (emailval !== '' && !validEmail(emailval)) { strEmail.push(emailval) }\r\n }\r\n if (strEmail.length !== 0) {\r\n msg = StringFormat(msg, \"'\" + strEmail.join(',') + \"'\")\r\n Notification.closeAll()\r\n Notification({\r\n title: i18n.t('api.WARNING'),\r\n message: msg,\r\n duration: 3000,\r\n showClose: false\r\n })\r\n return false\r\n }\r\n return true\r\n}\r\n\r\nfunction transformUnitToMM (num, unit) {\r\n let count = {}\r\n switch (unit) {\r\n case 0:\r\n count.num = 0\r\n break\r\n case 1: // CM\r\n count.num = num / 10\r\n break\r\n case 2: // M\r\n count.num = num * 1000\r\n break\r\n case 3: // LF\r\n count.num = num * 304.8\r\n break\r\n case 4: // M²\r\n count.num = num * 1000000\r\n break\r\n case 5: // SF\r\n count.num = num * 92903.04\r\n break\r\n case 6: // SY\r\n count.num = num * 836127.36\r\n break\r\n case 10: // EA\r\n count.num = num.toFixed(0)\r\n break\r\n }\r\n if (count.num) {\r\n count.num = numberFormat(getFormatNumber(count.num, 2))\r\n }\r\n return count\r\n}\r\n\r\nfunction transformMMToM2Unit (num, unit) {\r\n let count = {}\r\n switch (unit) {\r\n case 0:\r\n count.num = 0\r\n count.text = ''\r\n break\r\n case 1: // CM\r\n count.num = num * 10\r\n count.text = 'CM'\r\n break\r\n case 2: // M\r\n count.num = num / 1000\r\n count.text = 'M'\r\n break\r\n case 3: // LF\r\n count.num = num / 304.8\r\n count.text = 'LF'\r\n break\r\n case 4: // M²\r\n count.num = num / 1000000\r\n count.text = 'M²'\r\n break\r\n case 5: // SF\r\n count.num = num / 92903.04\r\n count.text = 'SF'\r\n break\r\n case 6: // SY\r\n count.num = num / 836127.36\r\n count.text = 'SY'\r\n break\r\n case 10: // EA\r\n count.num = Math.ceil(num)\r\n count.text = 'EA'\r\n break\r\n }\r\n if (count.num) {\r\n count.num = numberFormat(getFormatNumber(count.num, 2))\r\n }\r\n return count\r\n}\r\n\r\nfunction IsTrackableProduct (assign) {\r\n let prod = assign.prod\r\n let able = (!prod.isAddon || prod.type === 'Wall Base') && prod.type !== 'Pattern'\r\n if (able) {\r\n if (assign.netArea === 0 && assign.usage === 0) {\r\n able = false\r\n }\r\n }\r\n return able\r\n}\r\n\r\nfunction getNonM2ProductUnit (unit) {\r\n let unitStr = ''\r\n switch (unit) {\r\n case 0:\r\n unitStr = ''\r\n break\r\n case 1: // CM\r\n unitStr = 'CM'\r\n break\r\n case 2: // M\r\n unitStr = 'M'\r\n break\r\n case 3: // LF\r\n unitStr = 'LF'\r\n break\r\n case 4: // M²\r\n unitStr = 'M²'\r\n break\r\n case 5: // SF\r\n unitStr = 'SF'\r\n break\r\n case 6: // SY\r\n unitStr = 'SY'\r\n break\r\n case 7: // Liter\r\n unitStr = 'Liter'\r\n break\r\n case 8: // M³\r\n unitStr = 'M³'\r\n break\r\n case 9: // Gal\r\n unitStr = 'Gal'\r\n break\r\n case 10: // EA\r\n unitStr = 'EA'\r\n break\r\n }\r\n return unitStr\r\n}\r\n\r\nfunction getNonM2ProductUnitType (string) {\r\n let unit = 0\r\n switch (string) {\r\n case 'CM': // CM\r\n unit = 1\r\n break\r\n case 'M': // M\r\n unit = 2\r\n break\r\n case 'LF': // LF\r\n unit = 3\r\n break\r\n case 'M²': // M²\r\n unit = 4\r\n break\r\n case 'SF': // SF\r\n unit = 5\r\n break\r\n case 'SY': // SY\r\n unit = 6\r\n break\r\n case 'Liter': // Liter\r\n unit = 7\r\n break\r\n case 'M³': // M³\r\n unit = 8\r\n break\r\n case 'Gal': // Gal\r\n unit = 9\r\n break\r\n case 'EA': // EA\r\n unit = 10\r\n break\r\n }\r\n return unit\r\n}\r\nfunction getNonM2ProductType (type) {\r\n let typeStr = ''\r\n switch (type) {\r\n case 0:\r\n typeStr = ''\r\n break\r\n case 1:\r\n typeStr = 'Carpet'\r\n break\r\n case 2:\r\n typeStr = 'Vinyl'\r\n break\r\n case 3:\r\n typeStr = 'Wall Paper'\r\n break\r\n case 4:\r\n typeStr = 'Carpet Tile'\r\n break\r\n case 5:\r\n typeStr = 'Vinyl Tile'\r\n break\r\n case 8:\r\n typeStr = 'Tile'\r\n break\r\n case 9:\r\n typeStr = 'Laminate'\r\n break\r\n case 10:\r\n typeStr = 'Hardwood'\r\n break\r\n case 11:\r\n typeStr = 'Concrete'\r\n break\r\n case 12:\r\n typeStr = 'Paint'\r\n break\r\n case 13:\r\n typeStr = 'Grout'\r\n break\r\n case 14:\r\n typeStr = 'Surface'\r\n break\r\n case 15:\r\n typeStr = 'Underlayment'\r\n break\r\n case 16:\r\n typeStr = 'Transition'\r\n break\r\n case 17:\r\n typeStr = 'Bullnose'\r\n break\r\n case 18:\r\n typeStr = 'Trim'\r\n break\r\n case 19:\r\n typeStr = 'Wall Base'\r\n break\r\n case 22:\r\n typeStr = 'Linear'\r\n break\r\n case 24:\r\n typeStr = 'Count'\r\n break\r\n case 26:\r\n typeStr = 'Pattern'\r\n break\r\n case 31:\r\n typeStr = 'Adhesive'\r\n break\r\n case 32:\r\n typeStr = 'Labor'\r\n break\r\n case 33:\r\n typeStr = 'Freight'\r\n break\r\n }\r\n return typeStr\r\n}\r\nfunction matchContentType (fileName) {\r\n // 后缀获取\r\n var suffix = ''\r\n // 获取类型结果\r\n var contentType = ''\r\n try {\r\n var flieArr = fileName.split('.')\r\n suffix = flieArr[flieArr.length - 1]\r\n } catch (err) {\r\n suffix = ''\r\n }\r\n switch (suffix) {\r\n case 'svg':\r\n contentType = 'image/svg+xml'\r\n break\r\n case 'png':\r\n contentType = 'image/png'\r\n break\r\n case 'jpg':\r\n contentType = 'image/jpeg'\r\n break\r\n default:\r\n contentType = 'application/octet-stream'\r\n break\r\n }\r\n return contentType\r\n}\r\n\r\nfunction labelActivity (ele, userName) {\r\n let operateStr = i18n.t('home.createdaTask', [ele.TaskName])\r\n switch (ele.ActivityType) {\r\n case 1:\r\n operateStr = i18n.t('home.assignTheTask', [ele.TaskName, ele.AssignUserName])\r\n break\r\n case 2:\r\n case 4:\r\n operateStr = i18n.t('home.setTheProgress', [ele.TaskName, getFormatNumber(ele.Progress)])\r\n break\r\n case 3:\r\n operateStr = i18n.t('home.deletedaTask', [ele.TaskName])\r\n break\r\n case 5:\r\n operateStr = i18n.t('home.addRHReadingToTask', [ele.TaskName])\r\n break\r\n case 6:\r\n operateStr = i18n.t('home.addCaClReadingToTask', [ele.TaskName])\r\n break\r\n case 7:\r\n operateStr = i18n.t('home.removeaRH', [ele.TaskName])\r\n break\r\n case 8:\r\n operateStr = i18n.t('home.removeaCaCl', [ele.TaskName])\r\n break\r\n case 9:\r\n operateStr = i18n.t('home.createdaPlan', [ele.PlanName])\r\n break\r\n case 10:\r\n operateStr = i18n.t('home.deletedaPlan', [ele.PlanName])\r\n break\r\n case 11:\r\n operateStr = i18n.t('home.loggedInSystem')\r\n break\r\n case 12:\r\n operateStr = i18n.t('home.BatchCreateTask')\r\n break\r\n case 13:\r\n operateStr = i18n.t('home.BatchChangeTask')\r\n break\r\n case 14:\r\n operateStr = i18n.t('home.BatchDeleteTask')\r\n break\r\n case 15:\r\n operateStr = i18n.t('home.BatchCreatePlan')\r\n break\r\n case 16:\r\n operateStr = i18n.t('home.BatchDeletePlan')\r\n break\r\n case 17:\r\n operateStr = i18n.t('home.CreatedProject', [ele.JobsiteName])\r\n break\r\n case 18:\r\n operateStr = i18n.t('home.UpdatedProject', [ele.JobsiteName])\r\n break\r\n case 19:\r\n operateStr = i18n.t('home.ClosedProject', [ele.JobsiteName])\r\n break\r\n case 20:\r\n operateStr = i18n.t('home.RenamePlan', [ele.OldName, ele.PlanName])\r\n break\r\n case 21:\r\n operateStr = i18n.t('home.BatchUpdatedPlan')\r\n break\r\n case 22:\r\n operateStr = i18n.t('home.AddProjectMember', [ele.AssignUserName, ele.JobsiteName])\r\n break\r\n case 23:\r\n operateStr = i18n.t('home.DeletedProjectMember', [ele.AssignUserName, ele.JobsiteName])\r\n break\r\n case 24:\r\n operateStr = i18n.t('home.BatchAddProjectMember', [ele.JobsiteName])\r\n break\r\n case 25:\r\n operateStr = i18n.t('home.CreatedReport', [ele.ReportName])\r\n break\r\n case 26:\r\n operateStr = i18n.t('home.CompletedTask', [ele.TaskName])\r\n break\r\n case 27:\r\n operateStr = i18n.t('home.UpdatedTask', [ele.TaskName])\r\n break\r\n case 28:\r\n operateStr = i18n.t('home.AddTaskChecklist', [ele.ChecklistName, ele.TaskName])\r\n break\r\n case 29:\r\n operateStr = i18n.t('home.AddTaskChecklistItem', [ele.TaskChecklistItemName, ele.TaskName])\r\n break\r\n case 30:\r\n operateStr = i18n.t('home.DeleteTaskChecklistItem', [ele.TaskChecklistItemName, ele.TaskName])\r\n break\r\n case 31:\r\n operateStr = i18n.t('home.RenameTaskChecklistItem', [ele.OldName, ele.TaskChecklistItemName, ele.TaskName])\r\n break\r\n case 32:\r\n operateStr = i18n.t('home.CheckedTaskChecklistItem', [ele.TaskChecklistItemName, ele.TaskName])\r\n break\r\n case 33:\r\n operateStr = i18n.t('home.CrossTaskChecklistItem', [ele.TaskChecklistItemName, ele.TaskName])\r\n break\r\n case 34:\r\n operateStr = i18n.t('home.AddTaskPhoto', [ele.TaskName])\r\n break\r\n case 35:\r\n operateStr = i18n.t('home.DeleteTaskPhoto', [ele.TaskName])\r\n break\r\n case 36:\r\n operateStr = i18n.t('home.AddTaskVideo', [ele.TaskName])\r\n break\r\n case 37:\r\n operateStr = i18n.t('home.DeleteTaskVideo', [ele.TaskName])\r\n break\r\n case 38:\r\n operateStr = i18n.t('home.AddProjectDocument', [ele.FileName, ele.JobsiteName])\r\n break\r\n case 39:\r\n operateStr = i18n.t('home.DeleteProjectDocument', [ele.FileName, ele.JobsiteName])\r\n break\r\n case 40:\r\n operateStr = i18n.t('home.AddTaskDocument', [ele.FileName, ele.TaskName])\r\n break\r\n case 41:\r\n operateStr = i18n.t('home.DeleteTaskDocument', [ele.FileName, ele.TaskName])\r\n break\r\n case 42:\r\n operateStr = i18n.t('home.AnnotateTaskPhoto', [ele.TaskName])\r\n break\r\n case 43:\r\n operateStr = i18n.t('home.BatchAddTaskPhoto', [ele.TaskName])\r\n break\r\n case 44:\r\n operateStr = i18n.t('home.BatchAddTaskVideo', [ele.TaskName])\r\n break\r\n case 45:\r\n operateStr = i18n.t('home.CreateTaskGroup', [ele.TaskPhaseName])\r\n break\r\n case 46:\r\n operateStr = i18n.t('home.UpdateTaskGroup', [ele.TaskPhaseName])\r\n break\r\n case 47:\r\n operateStr = i18n.t('home.DeleteTaskGroup', [ele.TaskPhaseName])\r\n break\r\n case 48:\r\n operateStr = i18n.t('home.DeleteTaskChecklist', [ele.ChecklistName, ele.TaskName])\r\n break\r\n case 49:\r\n operateStr = i18n.t('home.UncheckedTaskChecklistItem', [ele.TaskChecklistItemName, ele.TaskName])\r\n break\r\n case 50:\r\n operateStr = i18n.t('home.CheckedTaskChecklist', [ele.ChecklistName, ele.TaskName])\r\n break\r\n case 51:\r\n operateStr = i18n.t('home.UncheckedTaskChecklist', [ele.ChecklistName, ele.TaskName])\r\n break\r\n case 55:\r\n operateStr = i18n.t('home.ReopenedProject')\r\n break\r\n case 56:\r\n operateStr = i18n.t('home.DeletePlanTag', [ele.TagName, ele.PlanName])\r\n break\r\n case 57:\r\n operateStr = i18n.t('home.AddPlanTag', [ele.TagName, ele.PlanName])\r\n break\r\n case 60:\r\n operateStr = i18n.t('home.RenameProjectDocument', [ele.OldName, ele.FileName])\r\n break\r\n case 61:\r\n operateStr = i18n.t('home.MoveProjectDocument', [ele.FileName, ele.OldName])\r\n break\r\n case 62:\r\n operateStr = i18n.t('home.AddFolder', [ele.FolderName])\r\n break\r\n case 63:\r\n operateStr = i18n.t('home.RenameFolder', [ele.OldName, ele.FolderName])\r\n break\r\n case 64:\r\n operateStr = i18n.t('home.DeleteFolder', [ele.FolderName])\r\n break\r\n }\r\n ele.Title = userName + ' ' + operateStr\r\n ele.BeforeText = beforeTimeText(ele.CreatedOn)\r\n}\r\n\r\nfunction taskImg (diag, task, urlList, imgObj) {\r\n let marker = null\r\n return new Promise((resolve, reject) => {\r\n diag.state.onDraw = (context) => {\r\n if (!task.imgURL) {\r\n let url = context.canvas.toDataURL('image/png', 1)\r\n urlList.push({\r\n id: task.TaskId, url: url\r\n })\r\n if (marker) {\r\n diag.removeMarker(marker.id)\r\n }\r\n diag.setLayer(diag.layers[0].id)\r\n resolve()\r\n }\r\n }\r\n diag.partialShow(task.RoomShapeIdList)\r\n let point = {\r\n x: task.LocationX,\r\n y: task.LocationY\r\n }\r\n let img\r\n if (task.LocationType === 2) {\r\n img = imgObj[task.point + task.color + 'Wall']\r\n } else {\r\n img = imgObj[task.point + task.color]\r\n }\r\n let pinWidth = 50\r\n marker = diag.addMarker(point, img, pinWidth, pinWidth, true)\r\n diag.resetView()\r\n })\r\n}\r\nasync function diagLoadCompleted (obj, layerList, layerTaskList, option, imgObj) {\r\n let layer = layerList.find(q => q.PlanId === obj.planId)\r\n layer.diag = obj.diag\r\n let taskList = layerTaskList.filter(q => q.PlanId === obj.planId)\r\n if (option.ShowTaskList) {\r\n let urlList = []\r\n for (let task of taskList) {\r\n await taskImg(obj.diag, task, urlList, imgObj)\r\n }\r\n for (let item of urlList) {\r\n let task = taskList.find(q => q.TaskId === item.id)\r\n task.imgURL = item.url\r\n }\r\n urlList = null\r\n }\r\n let ele = document.querySelector('#diag_' + obj.planId)\r\n if (option.ShowFloorPlan) {\r\n ele.style.width = '100%'\r\n ele.style.height = '750px'\r\n obj.diag.refresh()\r\n setTimeout(function () {\r\n layer.taskList = taskList\r\n }, 100)\r\n } else {\r\n ele.remove()\r\n obj.diag = null\r\n planImgLoadCompleted({ planId: obj.planId })\r\n }\r\n}\r\nfunction planImgLoadCompleted (obj, layerList) {\r\n let layer = layerList.find(q => q.PlanId === obj.planId)\r\n layer.loadCompleted = true\r\n if (!layerList.find(q => q.loadCompleted === false)) {\r\n return true\r\n }\r\n return false\r\n}\r\nasync function pdftronLoadCompleted (planId, layerList, option, reportComponent, imgObj, loadCompleted) {\r\n let taskList = layerList.filter(q => q.PlanId === planId)\r\n if (option.ShowTaskList) {\r\n pdftronShowTaskList(imgObj, reportComponent, taskList)\r\n } else {\r\n await pdftronShowFloorPlan(reportComponent, planId, option, layerList, taskList, imgObj, loadCompleted)\r\n }\r\n}\r\nasync function TaskAnotCreated (task, pdfCreatedTaskAnot, layerTaskList, planId, reportComponent, option, layerList, imgObj, loadCompleted) {\r\n pdfCreatedTaskAnot.push(task)\r\n const taskList = layerTaskList.filter(q => q.PlanId === planId)\r\n const tasks = pdfCreatedTaskAnot.filter(q => q.PlanId === planId)\r\n if (tasks && tasks.length === taskList.length) {\r\n await pdftronShowFloorPlan(reportComponent, planId, option, layerList, taskList, imgObj, loadCompleted)\r\n }\r\n}\r\nfunction pdftronShowTaskList (imgObj, reportComponent, taskList) {\r\n for (let task of taskList) {\r\n pdftronTaskImg(imgObj, reportComponent, task)\r\n }\r\n}\r\nfunction pdftronTaskImg (imgObj, reportComponent, task) {\r\n let img = imgObj[task.point + task.color]\r\n reportComponent.setTaskImg(img, task)\r\n}\r\nasync function pdftronShowFloorPlan (reportComponent, planId, option, layerList, taskList, imgObj, loadCompleted) {\r\n let ele = document.querySelector('#diag_' + planId)\r\n if (option.ShowFloorPlan) {\r\n await reportComponent.loadXfdfStrings()\r\n let layer = layerList.find(q => q.PlanId === planId)\r\n for (let task of taskList) {\r\n let img = imgObj[task.point + task.color]\r\n reportComponent.createTaskImgAnnotation(img, task.LocationX, task.LocationY)\r\n }\r\n layer.taskList = taskList\r\n } else {\r\n // ele.style.cssText = 'width: 0; height: 0;'\r\n ele.remove()\r\n }\r\n loadCompleted({ planId: planId })\r\n}\r\nfunction splitGroupArray (array = [], subGroupLength = 0) {\r\n let index = 0\r\n const newArray = []\r\n while (index < array.length) {\r\n newArray.push(array.slice(index, index += subGroupLength))\r\n }\r\n return newArray\r\n}\r\n// 得到一个两数之间的随机整数,不含最大值,含最小值\r\nfunction getRandomInt (min, max) {\r\n min = Math.ceil(min)\r\n max = Math.floor(max)\r\n return Math.floor(Math.random() * (max - min)) + min\r\n}\r\nexport default {\r\n baseURL,\r\n planURL,\r\n LocalTime,\r\n transform,\r\n reportType,\r\n StatusColorTask,\r\n StatusColorProduct,\r\n StatusColorMoisture,\r\n Address,\r\n groupBy,\r\n getFormatNumber,\r\n menu,\r\n formatDuring,\r\n licenseText,\r\n isLicenseExpirationDayNeedRemind,\r\n getAssignment,\r\n UTCTime,\r\n beforeTimeText,\r\n formatBytes,\r\n colorRGB2Hex,\r\n unit2RGBA,\r\n rgba2uint,\r\n unique,\r\n getProductNum,\r\n getUnit,\r\n arrUnique,\r\n getTotalTime,\r\n getTotalHrs,\r\n formatDate,\r\n measureUnitTypes,\r\n temperatureUnits,\r\n fahrenheitToCelsius,\r\n celsiusToFahrenheit,\r\n getFormatTemperature,\r\n getGlobalmeasureUnit,\r\n handleTaskList,\r\n getProductAssignType,\r\n handleProduct,\r\n getIconForFileType,\r\n getFileType,\r\n Admin,\r\n PM,\r\n Superintendent,\r\n FieldRep,\r\n sortArray,\r\n add, // 加法精度计算\r\n sub, // 减法精度计算\r\n multiply, // 成法精度计算\r\n divide, // 除法精度计算\r\n numberFormat, // 格式化千位符\r\n validEmail,\r\n validEmails,\r\n transformUnit,\r\n transformUnitToMM,\r\n transformMMToM2Unit,\r\n getNonM2ProductUnit,\r\n getNonM2ProductUnitType,\r\n IsTrackableProduct,\r\n getNonM2ProductType,\r\n StringFormat,\r\n matchContentType,\r\n labelActivity,\r\n taskImg,\r\n diagLoadCompleted,\r\n pdftronLoadCompleted,\r\n TaskAnotCreated,\r\n planImgLoadCompleted,\r\n splitGroupArray,\r\n toTimestamp,\r\n getFirstLastNameByFullName,\r\n getRandomInt\r\n}\r\n","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-photos\",\n \"use\": \"icon-photos-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-checklistTemplates\",\n \"use\": \"icon-checklistTemplates-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"jobtracker icon1_20200916\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-markup_hand\",\n \"use\": \"icon-markup_hand-usage\",\n \"viewBox\": \"0 0 20 20\",\n \"content\": \"\\r\\n icon-header-pan20\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-add task_\",\n \"use\": \"icon-add task_-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"jobtracker icon1_20200916\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-reports\",\n \"use\": \"icon-reports-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=1f499dc4&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=1f499dc4&scoped=true&lang=css&\"","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-marker_move\",\n \"use\": \"icon-marker_move-usage\",\n \"viewBox\": \"0 0 1024 1024\",\n \"content\": \"\\r\\n \\r\\n\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./fliter.vue?vue&type=style&index=0&id=a66969ac&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./fliter.vue?vue&type=style&index=0&id=a66969ac&scoped=true&lang=scss&\"","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-report\",\n \"use\": \"icon-report-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-edit\",\n \"use\": \"icon-edit-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-analytics\",\n \"use\": \"icon-analytics-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"JobTrackr_mobile_icon_\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-add task group\",\n \"use\": \"icon-add task group-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-members\",\n \"use\": \"icon-members-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-report_add\",\n \"use\": \"icon-report_add-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-plans\",\n \"use\": \"icon-plans-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./subHeader.vue?vue&type=style&index=1&id=029e1578&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./subHeader.vue?vue&type=style&index=1&id=029e1578&scoped=true&lang=scss&\"","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-overview\",\n \"use\": \"icon-overview-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-filter\",\n \"use\": \"icon-filter-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-pagination',{staticClass:\"page\",attrs:{\"page-size\":_vm.PageSize,\"background\":\"\",\"current-page\":_vm.PageIndex,\"layout\":\"total, prev, pager, next\",\"total\":_vm.total},on:{\"current-change\":_vm.handleCurrentChange}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./page.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./page.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./page.vue?vue&type=template&id=96feb9f8&scoped=true&\"\nimport script from \"./page.vue?vue&type=script&lang=js&\"\nexport * from \"./page.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"96feb9f8\",\n null\n \n)\n\nexport default component.exports","// project\r\nimport { Get, Post, Put, Upload, Delete, GetGzip, GetBlob } from './request'\r\nimport qs from 'qs'\r\n// product\r\nexport const postProduct = (data) => Post('/api/Products', data) // 批量更新材料\r\nexport const getProtobuf = (data, onDownloadProgress) => GetGzip('/api/Plans/' + data + '/Protobuf', null, false, onDownloadProgress)\r\nexport const getProtobufImage = (data, path, onDownloadProgress) => GetBlob('/api/Plans/' + data + '/ProtobufImage?path=' + path, null, true, onDownloadProgress)\r\n// roles\r\nexport const getCorpRoles = (data) => Get('/api/CorpRoles', data) // 获取角色列表\r\n\r\n// branch\r\nexport const getBranchTree = (data) => Get('/api/CorpBranchs', data) // 获取branch tree\r\nexport const getBranchById = (id) => Get('/api/CorpBranchs/' + id) // 获取branch详情\r\nexport const addBranch = (data) => Post('/api/CorpBranchs', data) // 保存branch\r\nexport const deleteBranchById = (id) => Delete('/api/CorpBranchs/' + id) // 删除Branch\r\n// corp\r\nexport const getCorpUser = (data) => Get('/api/CorpUsers?', data) // 获取corp user\r\nexport const getCorpUserById = (data) => Get('/api/CorpUsers/' + data)\r\nexport const saveCorpUsers = (data) => Post('/api/CorpUsers', data) // 创建或更新user\r\nexport const addUserSurvey = (data) => Post('/api/CorpUsers/UserSurvey', data) // 创建UserSurvey\r\nexport const getRoleList = (data) => Get('/api/CorpRoles', data) // 获取role\r\nexport const getBranch = () => Get('/api/CorpBranchs') // 获取branch\r\nexport const existCorpOrOnlySSO = (data) => Get('/api/CorpUsers/ExisitCorpOrOnlySSO?LoginAccount=' + encodeURIComponent(data)) // 判断账号是否存在\r\nexport const existCloudGroup = (data, hideErrorNotify) => Get('/api/CorpUsers/' + encodeURIComponent(data) + '/ExisitCloudGroup', null, hideErrorNotify) // 判断账号是否存在Cloud Group\r\nexport const recycleCorpUser = (data) => Delete('/api/CorpUsers/Recycle', data) // 删除User\r\nexport const getCorpById = (data) => Get('/api/Corporations/' + data) // 获取公司信息\r\nexport const getCorpDashboard = id => Get('/api/Corporations/Dashboard') // 获取公司Dashboard, 包含项目容量和可添加Projects数量信息.\r\nexport const getCorpLicense = (data) => Get('/api/Corporations/License', data) // 获取license\r\nexport const setLicenseActive = (data) => Post('/api/CorpUsers/SetLicenseActive', data, true) // 设置 LicenseActive\r\nexport const getPurchaseUrl = (data) => Get('/api/Payments/PurchaseUrl', data) // 购买license\r\nexport const getSubscriptionUrl = (data) => Get('/api/Payments/SubscriptionUrl', data) // 根据当前账号获取Cloud的Subscription\r\nexport const payments = (data) => Get('/api/Payments', data) // 获取payment 列表\r\nexport const getPayHistories = (id, data) => Get('/api/Payments/' + id + '/Histories', data) // 获取History\r\nexport const editCorporation = (data) => Post('/api/Corporations', data) // 修改Corp\r\nexport const saveCorpByToken = (data) => Post('/api/Corporations/SaveCorpByToken', data) // 没有公司保存corp\r\nexport const corpUsersLicense = (data) => Get('/api/CorpUsers/License', data)\r\nexport const changePassword = (data) => Post('/api/CorpUsers/ChangePassword', data)\r\nexport const checkPassword = (data) => Post('/api/CorpUsers/CheckPassword', data)\r\nexport const getAttachmentById = (data) => Get('/api/Attachments/' + data)\r\nexport const getAttachmentByPath = (data) => Get('/api/Attachments?', data)\r\nexport const downloadAttachments = (data, hideSuccessNotify, config) => Post('/api/Attachments/DownloadFiles', data, hideSuccessNotify, config)\r\nexport const getLiceseProductById = (data) => Get('/api/LicenseProducts?ProductId=' + data) // 获取License Product\r\nexport const getObjectActivities = (data) => Get('/api/ObjectActivitys', data) // 获取Object Activity\r\nexport const saveObjectActivities = (data) => Post('/api/ObjectActivitys', data) // 保存Object Activity\r\nexport const getCorpSetting = () => Get('/api/Corporations/Setting') // 获取Corp Setting\r\nexport const saveCorpSetting = (data) => Post('/api/Corporations/Setting', data) // 保存Corp Setting\r\nexport const getAdministrator = () => Get('/api/CorpUsers/Administrator') // 获取User Administrator\r\nexport const SaveCorpByTemplate = (data) => Post('/api/Corporations/SaveCorpByTemplate', data)\r\nexport const GetUserContactCorps = (id) => Get('/api/CorpUsers/GetUserContactCorps/' + id)\r\nexport const SetUserContactActive = (data) => Post('/api/CorpUsers/SetUserContactActive', data)\r\nexport const checkExistCorpName = (CorpName, corpId) => Get('/api/Corporations/CheckExistCorpName?corpId=' + corpId + '&CorpName=' + encodeURIComponent(CorpName))\r\nexport const getCorpNotificationSetting = () => Get('/api/Corporations/NotificationSetting') // 获取Corp Notification Setting\r\nexport const saveCorpNotificationSetting = (data) => Post('/api/Corporations/NotificationSetting', data) // 保存Corp Notification Setting\r\n\r\n// projectFile\r\nexport const getProjectFile = (data) => Get('/api/ProjectFiles', data) // 获取 project file\r\nexport const deleteProjectFile = (data) => Delete('/api/ProjectFiles?AllowSaveActivity=true', data) // 删除 project file\r\nexport const assignProjectFileToTasks = (data) => Post('/api/ProjectFiles/AssignToTasks?AllowSaveActivity=true', data) // 批量将 Project Attachments关联到Task\r\nexport const deleteProjectFolderFile = (data) => Delete('/api/ProjectFiles/DeleteFolderFile?AllowSaveActivity=true', data) // 批量删除 project files/Folders\r\nexport const updateProjectFile = (data) => Post('/api/ProjectFiles/Update?AllowSaveActivity=true', data) // Rename/Move documents\r\n\r\n// taskFile\r\nexport const getFileList = (data) => Get('/api/TaskFiles?', data) // 获取Task file 列表\r\nexport const deleteFile = (data) => Delete('/api/TaskFiles?AllowSaveActivity=true', data)\r\nexport const uploadDoc = (data) => Upload('/api/ProjectFiles', data)\r\nexport const checkIsJobsiteFile = (id) => Get('/api/TaskFiles/' + id + '/CheckIsJobsiteFile') // CheckIsJobsiteFile\r\n// member\r\nexport const getProjectMember = (data) => Get('/api/ProjectMembers?', data) // 获取task user\r\nexport const addProjectMember = (data) => Post('/api/ProjectMembers?AllowSaveActivity=true', data) // 添加task user\r\nexport const deleteProjectMember = (data) => Delete('/api/ProjectMembers?AllowSaveActivity=true', data) // 删除Task user\r\n// task\r\nexport const updateConflictTasks = (data) => Post('/api/Tasks/ConflictTasks?AllowSaveActivity=true', data)\r\nexport const BatchMainTasks = (data) => Post('/api/Tasks/BatchMainTasks?AllowSaveActivity=true', data)\r\nexport const InstallationProductShapes = (data) => Get('/api/Tasks/ProductShapes', data)\r\nexport const getTasksList = (data) => Get('/api/Tasks?', data) // Get 获取Task列表 (Auth)\r\nexport const searchTaskIdList = (data) => Post('/api/Tasks/Search', data) // Post 获取TaskId列表(search assignee plan group) (Auth)\r\nexport const getTasksStatus = () => Get('/api/Tasks/Statuses') // 获取task状态\r\nexport const getTasksTypes = (data) => Get('/api/Tasks/TaskTypes', data) // 获取task type\r\nexport const getTaskWorkTypes = () => Get('/api/Tasks/WorkTypes') // 获取worktype\r\nexport const getTaskCount = (data) => Get('/api/Tasks/Count', data) // 获取Count\r\nexport const getTaskById = (id) => Get('/api/Tasks/' + id) // 获取task详情\r\nexport const getTaskReadingCal = (data) => Get('/api/TaskReadings/CalciumChloride?', data) // 获取cal Reading\r\nexport const getTaskReadingRel = (data) => Get('/api/TaskReadings/RelativeHumidity?', data) // 获取rel reading\r\nexport const addTaskReadingCal = (data) => Post('/api/TaskReadings/CalciumChloride?AllowSaveActivity=true', data) // 添加cal reading\r\nexport const addTaskReadingRel = (data, noSaveActivity) => Post('/api/TaskReadings/RelativeHumidity?' + (noSaveActivity === true ? '' : 'AllowSaveActivity=true'), data) // 添加cal reading\r\nexport const deleteTask = (data) => Delete('/api/Tasks?AllowSaveActivity=true', data) // 删除 Task\r\nexport const deletECalReading = (data) => Delete('/api/TaskReadings/CalciumChloride?AllowSaveActivity=true', data)\r\nexport const deletERelReading = (data) => Delete('/api/TaskReadings/RelativeHumidity?AllowSaveActivity=true', data)\r\nexport const addTask = (data, noSaveActivity) => Post('/api/Tasks?' + (noSaveActivity === true ? '' : 'AllowSaveActivity=true'), data) // 编辑新增task\r\nexport const changeChild = (data) => Post('/api/Tasks/CompletionRates?AllowSaveActivity=true', data) // 编辑 task CompletionRates\r\nexport const getChildren = (data) => Get('/api/Tasks/Childens', data) // 获取子任务\r\nexport const getGroupReportDatas = (data) => Post('/api/Tasks/GroupReportDatas', data) // 获取用于创建Group Report的Task相关数据\r\nexport const getTasksProgressOptions = () => Get('/api/Tasks/ProgressOptions') // 获取Task Progress Options\r\nexport const getLaborReportDatas = (p, data) => Get('/api/Tasks/LaborReportDatas?' + p, data) // 获取用于创建Labor Report的相关数据\r\nexport const sumTaskTotalQty = (data) => Get('/api/Tasks/SumTaskTotalQty', data) // 根据jobsiteId和productId获取所有Installation Product Task的总TotalQty\r\nexport const getChecklistTemplates = (data) => Get('/api/ChecklistTemplates', data) // 获取checklist模板\r\nexport const getChecklistTemplateById = (data) => Get('/api/ChecklistTemplates/' + data) // 根据Id获取checklist模板\r\nexport const saveChecklistTemplates = (data) => Post('/api/ChecklistTemplates', data) // 保存checklist模板\r\nexport const getChecklistTemplateItems = (id) => Get('/api/ChecklistTemplates/' + id) // 获取单个checklist模板, 包含子项\r\nexport const getTaskChecklistItems = (data) => Get('/api/TaskChecklistItems', data) // 获取task的checklist项\r\nexport const saveTaskChecklistItems = (data) => Post('/api/TaskChecklistItems', data) // 创建或更新task的checklist项\r\nexport const deleteTaskChecklistItems = (data) => Delete('/api/TaskChecklistItems', data) // 删除task的checklist项\r\nexport const checkExistTemplateName = (data) => Get('/api/ChecklistTemplates/CheckExistTemplateName?', data) // 检查Template名是否已存在\r\nexport const checkExistItemName = (data) => Get('/api/ChecklistTemplates/CheckExistItemName?', data) // 检查Template item是否已存在\r\nexport const saveChecklistTemplateItems = (data) => Post('/api/ChecklistTemplateItems', data) // 保存checklist模板子项\r\nexport const deleteChecklistTemplateItems = (data) => Delete('/api/ChecklistTemplateItems', data) // 删除checklist模板子项\r\nexport const deleteChecklistTemplates = (data) => Delete('/api/ChecklistTemplates', data) // 删除checklist模板\r\nexport const hasTasksByPlanId = (planId, taskType) => Get('/api/Tasks/' + planId + '/HasTasksByPlanId?taskType=' + taskType) // HasTasksByPlanId\r\nexport const getTaskReportDatas = (data) => Post('/api/Tasks/TaskReportDatas?', data) // 获取用于创建Task/Moisture Report的相关数据\r\n\r\n// plan\r\nexport const getPlansList = (data) => Get('/api/Plans?', data) // 获取plan列表\r\nexport const deletePlans = (data) => Delete('/api/Plans?AllowSaveActivity=true', data) // 删除Plan\r\nexport const addPlans = (data) => Post('/api/Plans?AllowSaveActivity=true', data) // 添加Plan\r\nexport const getPlanById = (id) => Get('/api/Plans/' + id + '?') // plan detail\r\nexport const uploadFile = (data, config) => Upload('/api/Attachments/UploadTempFile', data, config) // 先上传Pdf文件\r\nexport const NewPlanFromPdfUrl = (data, allowSaveActivity) => Post('/api/Plans/NewPlanFromPdfUrl?AllowSaveActivity=' + allowSaveActivity, data, allowSaveActivity) // 在根据上传的url 添加Plan PlanType=1\r\nexport const newPdfPlanUrlPages = (data, allowSaveActivity) => Post('/api/Plans/NewPdfPlanUrlPages?AllowSaveActivity=' + allowSaveActivity, data) // 在根据上传的url 添加Plan PlanType=2\r\nexport const updatePlanRevsions = (data) => Post('/api/Plans/Revision?AllowSaveActivity=true', data) // 批量更新版本号\r\nexport const renamePlan = (data) => Post('/api/Plans/Rename?AllowSaveActivity=true', data) // 重命名\r\nexport const getM2MarkupListByPlanId = (id) => Get('/api/Plans/' + id + '/M2Markups') // M2Markups\r\nexport const addMarkup = (data) => Post('/api/Markups?AllowSaveActivity=true', data) // 上传Pdf/m2 markup信息\r\nexport const getMarkup = (data) => Get('/api/Markups', data) // 获取Pdf/m2 markup\r\nexport const getRoomPhotos = (id, roomId) => Get('/api/Plans/' + id + '/Room/' + roomId + '/Photos')\r\nexport const getRoomPhotoImage = (id, roomId, photoName) => Get('/api/Plans/' + id + '/Room/' + roomId + '/Photo/' + photoName)\r\n\r\n// M2Project\r\nexport const getM2Project = (data) => Get('/api/M2Projects?', data) // 获取M2Project列表\r\nexport const getM2ProjectDetail = (id) => Get('/api/M2Projects/' + id + '?') // 获取M2Project 详细信息 Customer/Jobsite\r\nexport const getLayerList = (id) => Get('/api/M2Projects/' + id + '/Layers?') // 获取layerList\r\nexport const getM2ProjectRevisions = (data) => Post('/api/M2Projects/Revisions', data) // Post批量获取M2Project最新版本号\r\nexport const getM2ProjectRevision = (id) => Get('/api/M2Projects/' + id + '/Revision') // 获取M2Project最新版本号\r\nexport const getLayerImage = (id, layerId) => Get('/api/M2Projects/' + id + '/Layers/' + layerId + '/Image') // 获取图片\r\nexport const addProject = data => Post('/api/Projects?AllowAddTaskGroups=true&&AllowSaveActivity=true', data) // 新建项目\r\nexport const getProjectPagination = data => Get('/api/Projects?' + qs.stringify(data)) // 获取Project列表\r\nexport const getProjectDetail = id => Get('/api/Projects/' + id + '?') // 获取project详情\r\nexport const deleteProject = data => Delete('/api/Projects/' + data) // 删除项目\r\nexport const closeProject = (data) => Post('/api/Projects/Closed?AllowSaveActivity=true', data) // 关闭PROJECT\r\nexport const reopenProject = (data) => Post('/api/Projects/Reopen?AllowSaveActivity=true', data) // 重新打开PROJECT\r\n// TaskGroup\r\nexport const getTaskGroup = (id) => Get('/api/TaskGroups', id) // 获取group\r\nexport const addTaskGroup = (data) => Post('/api/TaskGroups?AllowSaveActivity=true', data) // 新增修改 group\r\nexport const getTaskGroupById = (id, time, hideErrorNotify) => Get('/api/TaskGroups/' + id + '?AllowGetChartData=true&LocalTimezoneTime=' + time, null, hideErrorNotify) // 获取group详情\r\nexport const deleteTaskGroup = (id) => Delete('/api/TaskGroups?AllowSaveActivity=true', id) // 删除group\r\nexport const CheckIntersectDate = (data) => Post('/api/TaskGroups/CheckIntersectDate', data)\r\n// TaskGroupTemplate\r\nexport const getTaskGroupTemplates = (data) => Get('/api/TaskGroupTemplates', data) // 获取TaskGroup模板\r\nexport const getTaskGroupTemplate = (id) => Get('/api/TaskGroupTemplates/' + id) // 获取TaskGroup模板\r\nexport const saveTaskGroupTemplate = (data) => Post('/api/TaskGroupTemplates', data) // 保存TaskGroup模板\r\nexport const updateTaskGroupTemplate = (id, data) => Put('/api/TaskGroupTemplates/' + id, data) // 更新TaskGroup模板\r\nexport const deleteTaskGroupTemplate = (id) => Delete('/api/TaskGroupTemplates/' + id) // 删除TaskGroup模板\r\n\r\n// photo\r\nexport const getTaskPhoto = (data) => Get('/api/TaskPhotos?', data) // 获取TaskPhoto列表\r\nexport const getTaskPhotoDownload = (id) => Get('/api/TaskPhotos/' + id + '/download')\r\nexport const uploadTaskPhoto = (data) => Post('/api/TaskPhotos?AllowSaveActivity=true', data) // 上传photo\r\nexport const deleteTaskPhoto = (data) => Delete('/api/TaskPhotos?AllowSaveActivity=true', data) // 删除\r\n// report\r\nexport const getTaskReportList = (data) => Get('/api/TaskReports?', data) // 获取task列表\r\nexport const downloadReport = (id) => Get('/api/TaskReports/' + id + '/download?') // report下载\r\nexport const deleteReport = (data) => Delete('/api/TaskReports?AllowSaveActivity=true', data) // 删除report\r\nexport const getReportType = (data) => Get('/api/TaskReports/ReportTypes', data) // 获取reportType\r\nexport const sendMailReport = (data) => Post('/api/TaskReports/SendMail', data) // 发送report\r\n// 全局\r\nexport const getUser = () => Get('/api/Projects/Users?')// 获取User列表\r\nexport const getStatus = () => Get('/api/Projects/Statuses?') // 获取Project Status 列表\r\n\r\n// forgot\r\nexport const checkContactEmail = (data) => Get('/api/Forgot/CheckContactEmail?', data) // 检查所填的email是否是系统用户使用的\r\nexport const checkAccountByEmail = (data) => Get('/api/Forgot/CheckAccountByEmail?', data) // 检查所填的账号和email是否系统用户使用的\r\nexport const getForgotByToken = (data) => Get('/api/Forgot/GetByToken?', data) // 检查token是否过期\r\nexport const resetPwd = (data) => Post('/api/Forgot/PwdReset', data) // 重置密码\r\n\r\n// management\r\nexport const getAllCorps = (data) => Get('/api/Corporations?', data)// 获取All Corps列表\r\nexport const saveCorpBySuperAdmin = (data) => Post('/api/Corporations/SaveCorpAndRoleAction', data) // 保存Corp\r\nexport const setLicenseTrialExpiration = (data) => Post('/api/Corporations/SetLicenseExpiration', data) // 修改License Trial Expiration\r\nexport const checkUiAuthority = (id, actionId) => Get('/api/CorpRoles/' + id + '/CheckUiAuthority/' + actionId)// 判断是否有这个权限\r\nexport const getAllUsers = (data) => Get('/api/CorpUsers?OnlyMyCorp=false', data)// 获取All User列表\r\nexport const getUserByCorpId = (id, corpId) => Get('/api/CorpUsers/' + id + '?corpId=' + corpId)\r\nexport const deleteCorpUser = (data) => Delete('/api/CorpUsers/Delete', data) // 彻底删除User\r\nexport const mockLogin = (data) => Post('/api/CorpUsers/MockLogin', data)\r\nexport const restoreCorpUser = (data) => Delete('/api/CorpUsers/Restore', data) // 还原User\r\nexport const recycleCorp = (id) => Delete('/api/Corporations/' + id) // 还原User\r\n\r\n// Category\r\nexport const getCorpCategories = (data) => Get('/api/CorpCategories?', data)// 获取Corp Category列表\r\nexport const saveCorpCategory = (data, hideSuccessNotify) => Post('/api/CorpCategories', data, hideSuccessNotify)// 保存Corp Category\r\nexport const deleteCorpCategories = (data) => Delete('/api/CorpCategories', data)// 删除Corp Category\r\nexport const sortCorpCategories = (data) => Post('/api/CorpCategories/sort', data)// 根据id对CorpCategory子项进行排序\r\n\r\n// LaborItem\r\nexport const getLaborItems = (data) => Get('/api/LaborItems?', data)// 获取Labor Item列表\r\nexport const getLaborItemById = (data) => Get('/api/LaborItems/' + data)// 根据id对Labor Item排序\r\nexport const saveLaborItems = (data) => Post('/api/LaborItems', data)// 保存Labor Item\r\nexport const deleteLaborItems = (data) => Delete('/api/LaborItems', data)// 批量删除Labor Item\r\n\r\n// System Category\r\nexport const getSystemCategories = (data) => Get('/api/SystemCategories?', data)// 获取System Category列表\r\nexport const getSystemCategoryById = (data) => Get('/api/SystemCategories/' + data)// 根据id获取System Category\r\nexport const saveSystemCategory = (data) => Post('/api/SystemCategories', data)// 保存System Category\r\nexport const deleteSystemCategories = (data) => Delete('/api/SystemCategories', data)// 删除System Category\r\nexport const systemCategoryApplyToCorps = (data) => Post('/api/SystemCategories/ApllyToCorps', data)// 将System Category Apply To Corps\r\n\r\n// labor\r\nexport const ProjectLaborEstimations = (data) => Get('/api/ProjectLaborEstimations/' + data) // 获取labor\r\nexport const PostProjectLaborEstimations = (data) => Post('/api/ProjectLaborEstimations', data)\r\nexport const GetProjectProductDatas = (data) => Get('/api/ProjectLaborEstimations/ProjectProductDatas', data)\r\nexport const PostProjectProductDatas = (data) => Post('/api/ProjectLaborEstimations/ProjectProductDatas', data)\r\nexport const GetProjectLaborGroups = (data) => Get('/api/ProjectLaborGroups', data)\r\nexport const GetProductTrades = (data) => Get('/api/Plans/ProductTrades', data)\r\nexport const PostProjectLaborGroups = (data) => Post('/api/ProjectLaborGroups', data)\r\nexport const DeleteProjectLaborGroups = (data) => Delete('/api/ProjectLaborGroups', data)\r\n\r\n// Jobsite Product\r\nexport const getProductList = (data) => Get('/api/JobsiteProducts?', data)// 获取Jobsite Product列表\r\nexport const getProductById = (data, hideErrorNotify) => Get('/api/JobsiteProducts/' + data, null, hideErrorNotify)// 根据id获取Jobsite Product\r\nexport const saveProducts = (data) => Post('/api/JobsiteProducts', data)// 保存Jobsite Product\r\nexport const deleteProducts = (data) => Delete('/api/JobsiteProducts', data)// 批量删除Jobsite Product\r\nexport const checkByJobsiteSKU = (data) => Get('/api/JobsiteProducts/CheckByJobsiteSKU', data) // 判断Jobsite Product\r\nexport const getByJobsiteSKUs = (data) => Post('/api/JobsiteProducts/GetByJobsiteSKUs?', data)// 获取Jobsite Product列表\r\nexport const hasUsedInTask = (id) => Get('/api/JobsiteProducts/' + id + '/HasUsedInTask') // HasUsedInTask\r\n\r\n// Task template\r\nexport const getTaskTemplates = (data) => Get('/api/TaskTemplates', data) // 获取Task模板\r\nexport const saveTaskTemplates = (data) => Post('/api/TaskTemplates', data) // 保存Task模板\r\nexport const getTaskTemplateById = (id) => Get('/api/TaskTemplates/' + id) // 获取单个Task模板, 包含子项\r\nexport const checkExistTaskTemplateName = (data) => Get('/api/TaskTemplates/CheckExistTaskTemplateName?', data) // 检查Template名是否已存在\r\nexport const checkExistTaskTemplateItemName = (data) => Get('/api/TaskTemplates/CheckExistTaskTemplateItemName?', data) // 检查Template item是否已存在\r\nexport const deleteTaskTemplates = (data) => Delete('/api/TaskTemplates', data) // 删除Task模板\r\nexport const saveTaskTemplateItems = (data) => Post('/api/TaskTemplateItems', data) // 保存Task模板子项\r\nexport const deleteTaskTemplateItems = (data) => Delete('/api/TaskTemplateItems', data) // 删除Task模板子项\r\nexport const saveAsTaskTemplateByTaskGroup = (data) => Post('/api/TaskTemplates/CreateTaskTemplateByGroup', data) // 将TaskGroup保存为Task模板\r\n\r\n// Tag\r\nexport const getTags = (data) => Get('/api/Tags', data) // 获取Tags\r\nexport const getTag = (tagId) => Get('/api/Tags/' + tagId) // 获取Tag\r\nexport const saveTags = (data) => Post('/api/Tags', data) // 创建或修改Tags\r\nexport const deleteTags = (data) => Delete('/api/Tags', data) // 删除Tags\r\n\r\n// ObjectTag\r\nexport const getObjectTags = (data) => Get('/api/ObjectTags', data) // 获取ObjectTags\r\nexport const deleteObjectTags = (data) => Delete('/api/ObjectTags', data) // 获取ObjectTags\r\n\r\n// Folder\r\nexport const getFolders = (data) => Get('/api/Folders?', data) // 获取Folders\r\nexport const saveFolders = (data) => Post('/api/Folders?AllowSaveActivity=true', data) // 创建或修改文件夹\r\n","/* eslint-disable */\r\n/* Blob.js\r\n * A Blob implementation.\r\n * 2014-05-27\r\n *\r\n * By Eli Grey, http://eligrey.com\r\n * By Devin Samarin, https://github.com/eboyjr\r\n * License: X11/MIT\r\n * See LICENSE.md\r\n */\r\n\r\n/*global self, unescape */\r\n/*jslint bitwise: true, regexp: true, confusion: true, es5: true, vars: true, white: true,\r\n plusplus: true */\r\n\r\n/*! @source http://purl.eligrey.com/github/Blob.js/blob/master/Blob.js */\r\n\r\n(function (view) {\r\n \"use strict\";\r\n\r\n view.URL = view.URL || view.webkitURL;\r\n\r\n if (view.Blob && view.URL) {\r\n try {\r\n new Blob;\r\n return;\r\n } catch (e) {}\r\n }\r\n\r\n // Internally we use a BlobBuilder implementation to base Blob off of\r\n // in order to support older browsers that only have BlobBuilder\r\n var BlobBuilder = view.BlobBuilder || view.WebKitBlobBuilder || view.MozBlobBuilder || (function(view) {\r\n var\r\n get_class = function(object) {\r\n return Object.prototype.toString.call(object).match(/^\\[object\\s(.*)\\]$/)[1];\r\n }\r\n , FakeBlobBuilder = function BlobBuilder() {\r\n this.data = [];\r\n }\r\n , FakeBlob = function Blob(data, type, encoding) {\r\n this.data = data;\r\n this.size = data.length;\r\n this.type = type;\r\n this.encoding = encoding;\r\n }\r\n , FBB_proto = FakeBlobBuilder.prototype\r\n , FB_proto = FakeBlob.prototype\r\n , FileReaderSync = view.FileReaderSync\r\n , FileException = function(type) {\r\n this.code = this[this.name = type];\r\n }\r\n , file_ex_codes = (\r\n \"NOT_FOUND_ERR SECURITY_ERR ABORT_ERR NOT_READABLE_ERR ENCODING_ERR \"\r\n + \"NO_MODIFICATION_ALLOWED_ERR INVALID_STATE_ERR SYNTAX_ERR\"\r\n ).split(\" \")\r\n , file_ex_code = file_ex_codes.length\r\n , real_URL = view.URL || view.webkitURL || view\r\n , real_create_object_URL = real_URL.createObjectURL\r\n , real_revoke_object_URL = real_URL.revokeObjectURL\r\n , URL = real_URL\r\n , btoa = view.btoa\r\n , atob = view.atob\r\n\r\n , ArrayBuffer = view.ArrayBuffer\r\n , Uint8Array = view.Uint8Array\r\n ;\r\n FakeBlob.fake = FB_proto.fake = true;\r\n while (file_ex_code--) {\r\n FileException.prototype[file_ex_codes[file_ex_code]] = file_ex_code + 1;\r\n }\r\n if (!real_URL.createObjectURL) {\r\n URL = view.URL = {};\r\n }\r\n URL.createObjectURL = function(blob) {\r\n var\r\n type = blob.type\r\n , data_URI_header\r\n ;\r\n if (type === null) {\r\n type = \"application/octet-stream\";\r\n }\r\n if (blob instanceof FakeBlob) {\r\n data_URI_header = \"data:\" + type;\r\n if (blob.encoding === \"base64\") {\r\n return data_URI_header + \";base64,\" + blob.data;\r\n } else if (blob.encoding === \"URI\") {\r\n return data_URI_header + \",\" + decodeURIComponent(blob.data);\r\n } if (btoa) {\r\n return data_URI_header + \";base64,\" + btoa(blob.data);\r\n } else {\r\n return data_URI_header + \",\" + encodeURIComponent(blob.data);\r\n }\r\n } else if (real_create_object_URL) {\r\n return real_create_object_URL.call(real_URL, blob);\r\n }\r\n };\r\n URL.revokeObjectURL = function(object_URL) {\r\n if (object_URL.substring(0, 5) !== \"data:\" && real_revoke_object_URL) {\r\n real_revoke_object_URL.call(real_URL, object_URL);\r\n }\r\n };\r\n FBB_proto.append = function(data/*, endings*/) {\r\n var bb = this.data;\r\n // decode data to a binary string\r\n if (Uint8Array && (data instanceof ArrayBuffer || data instanceof Uint8Array)) {\r\n var\r\n str = \"\"\r\n , buf = new Uint8Array(data)\r\n , i = 0\r\n , buf_len = buf.length\r\n ;\r\n for (; i < buf_len; i++) {\r\n str += String.fromCharCode(buf[i]);\r\n }\r\n bb.push(str);\r\n } else if (get_class(data) === \"Blob\" || get_class(data) === \"File\") {\r\n if (FileReaderSync) {\r\n var fr = new FileReaderSync;\r\n bb.push(fr.readAsBinaryString(data));\r\n } else {\r\n // async FileReader won't work as BlobBuilder is sync\r\n throw new FileException(\"NOT_READABLE_ERR\");\r\n }\r\n } else if (data instanceof FakeBlob) {\r\n if (data.encoding === \"base64\" && atob) {\r\n bb.push(atob(data.data));\r\n } else if (data.encoding === \"URI\") {\r\n bb.push(decodeURIComponent(data.data));\r\n } else if (data.encoding === \"raw\") {\r\n bb.push(data.data);\r\n }\r\n } else {\r\n if (typeof data !== \"string\") {\r\n data += \"\"; // convert unsupported types to strings\r\n }\r\n // decode UTF-16 to binary string\r\n bb.push(unescape(encodeURIComponent(data)));\r\n }\r\n };\r\n FBB_proto.getBlob = function(type) {\r\n if (!arguments.length) {\r\n type = null;\r\n }\r\n return new FakeBlob(this.data.join(\"\"), type, \"raw\");\r\n };\r\n FBB_proto.toString = function() {\r\n return \"[object BlobBuilder]\";\r\n };\r\n FB_proto.slice = function(start, end, type) {\r\n var args = arguments.length;\r\n if (args < 3) {\r\n type = null;\r\n }\r\n return new FakeBlob(\r\n this.data.slice(start, args > 1 ? end : this.data.length)\r\n , type\r\n , this.encoding\r\n );\r\n };\r\n FB_proto.toString = function() {\r\n return \"[object Blob]\";\r\n };\r\n FB_proto.close = function() {\r\n this.size = this.data.length = 0;\r\n };\r\n return FakeBlobBuilder;\r\n }(view));\r\n\r\n view.Blob = function Blob(blobParts, options) {\r\n var type = options ? (options.type || \"\") : \"\";\r\n var builder = new BlobBuilder();\r\n if (blobParts) {\r\n for (var i = 0, len = blobParts.length; i < len; i++) {\r\n builder.append(blobParts[i]);\r\n }\r\n }\r\n return builder.getBlob(type);\r\n };\r\n}(typeof self !== \"undefined\" && self || typeof window !== \"undefined\" && window || this.content || this));\r\n","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-report zoom\",\n \"use\": \"icon-report zoom-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-task_0\",\n \"use\": \"icon-task_0-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./subHeader.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./subHeader.vue?vue&type=style&index=0&lang=scss&\"","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-corp\",\n \"use\": \"icon-corp-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-tag\",\n \"use\": \"icon-tag-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-task groups\",\n \"use\": \"icon-task groups-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-tasks\",\n \"use\": \"icon-tasks-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"jobtracker icon1_20200916\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-simui-password\",\n \"use\": \"icon-simui-password-usage\",\n \"viewBox\": \"0 0 1024 1024\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-labor\",\n \"use\": \"icon-labor-usage\",\n \"viewBox\": \"0 0 100 100\",\n \"content\": \"jobtracker icon1_20200916\"\n});\nvar result = sprite.add(symbol);\nexport default symbol"],"sourceRoot":""}