1 |
- {"version":3,"sources":["webpack:///./node_modules/vant/es/cell-group/style/index.js","webpack:///./src/views/envmonitor/TimeBox.vue?a544","webpack:///./src/views/envmonitor/components/Scenario/ScenarioConfig.vue?9599","webpack:///./src/views/envmonitor/components/workOvertime/LeaveDailog.vue?b2c0","webpack:///./src/views/envmonitor/components/ManualWork/index.vue?e685","webpack:///./node_modules/core-js/modules/es.array.reduce.js","webpack:///./src/views/envmonitor/components/Air/index.vue?ba1a","webpack:///./src/views/envmonitor/components/Air/index.vue?bebd","webpack:///./src/views/envmonitor/components/Air/manualIndex.vue?dd57","webpack:///./src/views/envmonitor/components/Contact/index.vue?5225","webpack:///./src/views/envmonitor/index.vue?d956","webpack:///./node_modules/vant/es/cell-group/CellGroup.js","webpack:///./node_modules/vant/es/cell-group/index.js","webpack:///./node_modules/vant/es/form/style/index.js","webpack:///./src/utils/swiper.ts","webpack:///./src/views/envmonitor/components/workOvertime/WorkConfig.vue?bf2b","webpack:///./src/views/envmonitor/components/Scenario/scenarioDailog.vue?6820","webpack:///./src/views/envmonitor/components/workOvertime/index.vue?34bc","webpack:///./node_modules/vant/es/button/style/index.js","webpack:///./src/views/envmonitor/index.vue?3204","webpack:///./src/views/envmonitor/components/Light/LightTemp.vue?7faf","webpack:///./src/views/envmonitor/components/Light/index.vue?d457","webpack:///./node_modules/vant/es/form/Form.js","webpack:///./node_modules/vant/es/form/index.js","webpack:///./src/views/envmonitor/NavBar.vue?acd2","webpack:///./src/views/envmonitor/index.vue?d952","webpack:///./src/views/envmonitor/components/workOvertime/index.vue?4048","webpack:///./node_modules/vant/es/slider/Slider.js","webpack:///./node_modules/vant/es/slider/index.js","webpack:///./src/views/envmonitor/components/workOvertime/index.vue?1822","webpack:///./src/views/envmonitor/components/workOvertime/index.vue","webpack:///./src/views/envmonitor/components/ManualWork/index.vue?f9e3","webpack:///./src/views/envmonitor/components/ManualWork/index.vue?fe85","webpack:///./src/views/envmonitor/components/ManualWork/index.vue","webpack:///./src/views/envmonitor/components/Contact/index.vue?cd6a","webpack:///./src/views/envmonitor/components/Contact/index.vue?ca2b","webpack:///./src/views/envmonitor/components/Contact/index.vue","webpack:///./src/views/envmonitor/components/workOvertime/WorkConfig.vue?2c82","webpack:///./src/views/envmonitor/components/workOvertime/LeaveDailog.vue?b061","webpack:///./src/views/envmonitor/components/workOvertime/LeaveDailog.vue?87d0","webpack:///./src/views/envmonitor/components/workOvertime/LeaveDailog.vue","webpack:///./src/views/envmonitor/components/workOvertime/WorkConfig.vue?ae9f","webpack:///./src/views/envmonitor/components/workOvertime/WorkConfig.vue","webpack:///./src/views/envmonitor/components/ManualWork/WorkConfig.vue?d0b1","webpack:///./src/views/envmonitor/components/ManualWork/LeaveDailog.vue?ee8e","webpack:///./src/views/envmonitor/components/ManualWork/LeaveDailog.vue?8b60","webpack:///./src/views/envmonitor/components/ManualWork/LeaveDailog.vue","webpack:///./src/views/envmonitor/components/ManualWork/WorkConfig.vue?532f","webpack:///./src/views/envmonitor/components/ManualWork/WorkConfig.vue","webpack:///./src/views/envmonitor/components/Scenario/ScenarioConfig.vue?8f51","webpack:///./src/views/envmonitor/components/Scenario/ScenarioConfig.vue?3c3c","webpack:///./src/views/envmonitor/components/Scenario/ScenarioConfig.vue","webpack:///./src/components/header/Index.vue?1417","webpack:///./src/components/header/Index.vue?228a","webpack:///./src/components/header/Index.vue","webpack:///./src/views/envmonitor/components/Air/index.vue?8ca4","webpack:///./node_modules/vant/es/switch/Switch.js","webpack:///./node_modules/vant/es/switch/index.js","webpack:///./src/views/envmonitor/components/Air/index.vue?7aea","webpack:///./src/views/envmonitor/components/Air/index.vue","webpack:///./src/views/envmonitor/components/Air/manualIndex.vue?a4e5","webpack:///./src/views/envmonitor/components/Air/manualIndex.vue?0420","webpack:///./src/views/envmonitor/components/Air/manualIndex.vue","webpack:///./src/views/envmonitor/components/Light/index.vue?5e64","webpack:///./src/views/envmonitor/components/Light/index.vue?9c45","webpack:///./src/views/envmonitor/components/Light/index.vue","webpack:///./src/views/envmonitor/components/Curtain/index.vue?e4b8","webpack:///./src/views/envmonitor/components/Curtain/index.vue?6bdb","webpack:///./src/views/envmonitor/components/Curtain/index.vue","webpack:///./src/views/envmonitor/TimeBox.vue?3d78","webpack:///./src/views/envmonitor/TimeBox.vue?ef72","webpack:///./src/views/envmonitor/TimeBox.vue","webpack:///./src/views/envmonitor/NavBar.vue?1323","webpack:///./src/views/envmonitor/NavBar.vue?1594","webpack:///./src/views/envmonitor/NavBar.vue","webpack:///./src/views/envmonitor/components/Scenario/scenarioDailog.vue?724c","webpack:///./src/views/envmonitor/components/Scenario/scenarioDailog.vue?f967","webpack:///./src/views/envmonitor/components/Scenario/scenarioDailog.vue","webpack:///./src/views/envmonitor/components/Map/index.vue?995a","webpack:///./src/views/envmonitor/components/Map/SpaceBox.vue?8b26","webpack:///./src/views/envmonitor/components/Map/SpaceBox.vue?837f","webpack:///./src/views/envmonitor/components/Map/SpaceBox.vue","webpack:///./src/views/envmonitor/components/Map/index.vue?6a04","webpack:///./src/views/envmonitor/components/Map/index.vue","webpack:///./src/views/envmonitor/components/Light/LightTemp.vue?d35a","webpack:///./src/views/envmonitor/components/Light/LightTemp.vue?32a7","webpack:///./src/views/envmonitor/components/Light/LightTemp.vue","webpack:///./src/views/envmonitor/index.vue?1c91","webpack:///./src/views/envmonitor/index.vue","webpack:///./src/views/envmonitor/components/Air/manualIndex.vue?4248","webpack:///./src/views/envmonitor/components/Light/index.vue?06fe","webpack:///./src/views/envmonitor/components/Contact/index.vue?04b9","webpack:///./src/views/envmonitor/components/Curtain/index.vue?33ea","webpack:///./src/components/header/Index.vue?9ca5","webpack:///./src/views/envmonitor/components/Air/index.vue?bc81","webpack:///./node_modules/core-js/modules/es.array.splice.js","webpack:///./src/views/envmonitor/components/ManualWork/LeaveDailog.vue?2492","webpack:///./src/views/envmonitor/index.vue?4a03","webpack:///./node_modules/vant/es/field/style/index.js","webpack:///./src/views/envmonitor/components/Light/index.vue?f44d","webpack:///./node_modules/core-js/modules/es.array.find-index.js","webpack:///./node_modules/vant/es/utils/deep-clone.js","webpack:///./node_modules/vant/es/picker/PickerColumn.js","webpack:///./node_modules/vant/es/picker/Picker.js","webpack:///./src/views/envmonitor/components/Air/manualIndex.vue?952c","webpack:///./node_modules/core-js/internals/array-reduce.js","webpack:///./src/views/envmonitor/components/Map/SpaceBox.vue?66fa","webpack:///./node_modules/vant/es/picker/index.js","webpack:///./src/views/envmonitor/components/ManualWork/WorkConfig.vue?b468","webpack:///./src/views/envmonitor/components/Map/index.vue?c126"],"names":["$","$reduce","left","arrayMethodIsStrict","arrayMethodUsesToLength","CHROME_VERSION","IS_NODE","STRICT_METHOD","USES_TO_LENGTH","1","CHROME_BUG","target","proto","forced","reduce","callbackfn","this","arguments","length","undefined","module","exports","bem","create","cellGroupProps","title","String","inset","Boolean","border","stdin_default","name","inheritAttrs","props","slots","attrs","renderGroup","_a","default","call","renderTitle","CellGroup","swiper","el","options","isMove","startX","startY","moveX","moveY","disX","disY","fun","data","swipeLeft","swipeRight","swipeDown","swipeUp","drag","Object","assign","addEventListener","e","touches","pageX","pageY","passive","mation","absX","Math","abs","absY","formProps","colon","disabled","readonly","showError","labelWidth","labelAlign","inputAlign","scrollToError","validateFirst","submitOnEnter","validateTrigger","showErrorMessage","errorMessageAlign","emits","emit","children","linkChildren","getFieldsByNames","names","filter","field","includes","validateSeq","Promise","resolve","reject","errors","fields","promise","then","validate","error","push","validateAll","all","map","item","validateField","name2","matched","find","resetValidation","forEach","scrollToField","some","$el","scrollIntoView","getValues","form","formValue","value","submit","values","catch","onSubmit","event","Form","n","_hoisted_1","class","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","key","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","render","_ctx","_cache","$props","$setup","$data","$options","_component_work_config","_component_manual_config","_component_scenario_config","_component_manual_index","_component_Air","_component_Light","_component_Curtain","_component_work_overtime","_component_manual_overtime","_component_van_popup","_component_scenario_dailog","_component_detail","_component_com_map","_component_contact","_component_light_temp","style","backgroundImage","padBgImg","onTouchstart","$event","gtouchstart","onTouchmove","gtouchmove","onTouchend","showDeleteButton","logImg","src","alt","parseImgUrl","nowDate","nowWeek","outWeather","imgname","temperature","contantDetail","onClick","showContact","officeData","localName","envlist","index","bgColor","background","opacity","paddingLeft","handleDetail","img","num","unit","spaceData","active","changeSpace","spaceName","moreSpace","roomType","isWork","scenarioArr","controlMode","workkArr","onCloseWork","closeWork","onTriggerWork","triggerWork","onSetForceOverTimeFlag","setForceOverTimeFlag","activeType","spaceId","spaceInfo","projectId","onSetHeadScene","setHeadScene","seviceEquipmentList","forceOverTimeFlag","onUpdateAirTemp","updateAirTemp","hasAir","spaceExistenceDevice","airConditioner","airVolumes","userIsControl","id","isACATVA","light","onShowLightColorCtrol","showLightColorCtrol","curtain","show","isShowWork","position","teleport","enterType","deviceItem","_","isShowMetting","secenaroStatus","onCloseDailog","closeDailog","isShowDetail","query","detailQuery","isShowMap","defaultSpace","copySpaceData","floorId","buildingId","onChangeSpace","isShowContact","closeContactDailog","isLightColorFlag","lightData","_component_van_loading","dateArr","isActive","checkDate","week","day","nowTimerArr","timer","checkSlider","triggerDelTime","closeWorkTimer","formBtn","addWorkTimer","showLoading","sliderProps","min","max","step","range","reverse","vertical","barHeight","buttonSize","activeColor","inactiveColor","modelValue","type","Number","Array","buttonIndex","current","startValue","root","dragStatus","touch","scope","wrapperStyle","crossAxis","isRange","val","isArray","calcMainAxis","calcOffset","barStyle","mainAxis","transition","getPositionKey","format","diff","round","isSameValue","newValue","oldValue","JSON","stringify","handleRangeValue","_b","right","updateValue","end","stopPropagation","rect","getDelta","bottom","clientY","top","clientX","total","height","width","middle","onTouchStart","start","onTouchMove","move","delta","deltaY","deltaX","onTouchEnd","getButtonClassName","renderButtonContent","slot","button","renderButton","current2","Slider","components","VanSlider","setup","context","proxyGlobal","screenInfo","screenWidth","screenHeight","myTimeArr","timerArr","nowData","redUrl","bgRed","userInfo","proxyData","isEvent","startIndex","endIndex","startLen","setScreennWidth","addTimeEl","document","querySelector","offsetWidth","getNowIndex","nowIndex","getTomorrowIndex","getNowPerstion","obj","len","formatTimer","cusStartTime","parseCusStartTime","cusEndTime","parseCusEndTime","setOptionnalTime","sliderList","slidersWrapper","sliderWidth","getBoundingClientRect","sliderLeft","setOptionnalPerstion","sliderSwiper","leftInit","isNaN","parseInt","checkMoveTarget","endBox","endEnd","endRadio","checkPersionService","flag","i","isServiceTime","cancelRemoveListener","removeEventListener","endBoxSwiper","sliderBtnEl","startEl","sliderBoxEl","querySelectorAll","sliderBtnLeft","screenLeft","sliderBtnWidth","sliderBoxWidth","ceil","moveRealX","cancelSliderBoxColor","sliderBoxArr","isCheck","slidersWrapperWidth","parseIndex","bg","setCheckTimeStyle","setServiceTimerStyle","setPastTime","time","newTime","minute","temTimeInt","setWorkTimeList","isUpdate","proxy","$loadinngEnd","date","Date","getDay","replace","customSceneList","custom","j","tempStartTime","startTime","tempEndTime","endTime","oldDate","objectId","activeIndex","clearTimerBoxStyle","elItem","changeEl","formateAddTimer","delTimerArr","delObj","formaTimeObj","relNowTime","addObj","formTimeArr","sourceType","pubname","startDate","endDate","userId","userPhone","customSceneEqType","userName","formateDelTimer","addTimeArr","addObj1","addObj2","concat","formTimerArr","saveBatchCustomScene","res","confirm","message","newProps","__exports__","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","approvalData","checkApprovalStatus","text","isLight","isAir","equipmentList","equipmentCategory","airNum","checkEquipment","lightNum","getTimerIndex","cusIndex","spaceCustomContentList","endFormatTimer","setNowBarPerstion","getSliderWapperWidth","spaceCustom","formateEquipment","isCusTimeBefore","targetWidth","offsetX","formateApproveStatusPerstion","approvalStatus","leftStart","leftEnd","sceneEquipList","delStartTime","realTime","endTimeReal","splice","removeDuplicateObj","arr","newArr","next","delSpaceNoCtrDevice","scene","isExeSpaceTime","openDeviceAll","airDevice","lightDevice","switch","code","setSpaceCondtioners","setallLampHttp","_component_buttons","_component_van_dialog","imgUrl","wechatQrCode","phone","VanLoading","Component","contx","$imgUrl","queryCustomerservice","params","criteria","resData","content","deep","immediate","_component_leave_dailog","timerText","classColor","showDel","btnText","myLeaving","isShowLeaveDailog","closeLeavDailog","_component_van_icon","leaveDetail","textObj","idx","status","LeaveDailog","router","delTimeArr","leaveBtnFlag","forcedOverTimeFlag","path","formateTimeContinuous","beforeWorkTime","nowTime","afterWorkTime","checkWorkTime","formateWorkTime","oldTimeEnd","btnObj","timeJoin","formatDataDel","openLeavDailog","formateApproveData","newCustomSceneList","hasOwnProperty","setLeavingTime","delTime","parse","sceneType","handleScene","flex","sceneName","scenarioImgArr","DISCUSSING","PROJECTING","ADJOURNMENT","formatScenarioImg","order","sort","a","b","loading","lodingText","result","pm25","quality","setPermanentSpace","VanIcon","goBack","window","history","go","_component_Switch","airData","tempSet","isOpen","icon","airRunImg","spaceStatus","airImg","loadingAir","firstLoadingAir","airChange","changeAir","showAirVolumeBtn","showDialog","airSetText","toWhere","nowImg","notice","remark","remarkItem","closeDialog","switchProps","size","activeValue","inactiveValue","isChecked","renderLoading","color","checked","fontSize","backgroundColor","on","Switch","propsVal","avg","mode","feedbackTimer","airTimer","domAirOpeen","modeName","designTemperature","formateModel","model","getEquipmentListHttp","getAirInfoToTimer","timerLong","clearTimeout","setTimeout","getAirInfo","getFeedbackTimer","btnType","closeLoading","interval","setInterval","clearInterval","feedbackId","paramObj","split","airComfir","confirmBtnText","cancelButtonText","confirmButtonText","confirmButtonColor","domAirOpen","itemId","btnTypeDetail","closeScenarioAir","updatAirStatus","updateAirText","showAirConditioning","defaultAirText","valueType","airText","imgStr","_hoisted_37","_hoisted_38","_hoisted_39","_hoisted_40","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_44","_hoisted_45","_hoisted_46","_hoisted_47","_hoisted_48","_hoisted_49","airTemp","equipList","showAll","lightIcon","showChild","runStatus","minTempSet","realTemp","maxTempSet","windGearArr","gear","changeZongAir","isAutoGear","workMode","childItem","changeChildItemAir","loadingTimer","transform","valueHeight","sel","tempArr","titem","gIndex","gearArr","gItem","mIndex","modelArr","mItem","valueDom","cotrolLoading","swiperIinit","part","setChildSelectList","barSwiperInit","setBarNowPerstion","barBox","sliderBox","floor","barWidth","handBox","barLeft","tempPart","setLoadingNumber","formatAirData","codeKey","loadingStart","loadinngEnd","setChildLoadingNumber","childDisabled","timeOuter","symbol","checkDeviceIsExeSpaceTime","switchCode","tempSetCode","gearCode","modeSetCode","updateChildPerstion","equpObj","deviceAll","formateSetChildStatus","findIndex","ele","setValueHeight","offsetHeight","str","lampList","isShowChildLight","lampSw","eqChange","lightImg","bright","colorTemperature","lightColorImg","showFlag","imgOpen","imgClose","lightsStatusTimer","timeOut","initData","lightParams","setStatus","allowSvg","loadingLight","startCheckLightsTime","getLampList","lampOpen","lightType","startLightsStatusTimer","statusFlag","updateAllLampStatus","setLamp","updateLampStatus","initLampLoading","getTimeLampStatus","checkData","updateAllLampLoading","updateLampLoading","checkParams","processArr","orderSeqNum","checkChangeLightStatusSuccess","judgeChangeResponeseSuccess","processingArr","successArr","errorArr","state","exeResult","success","processing","loadingLen","clearLightStatusTimer","timerLen","curtainData","countText","curtainClose","count","handleTotal","curtainOpen","handleChild","getEqpGroup","orders","column","asc","childDownFlag","childUpFlag","childCount","childCountText","checkCount","setType","changeStatus","paramsArr","setParams","setSwitchStatus","infoCode","clearCurtain","_component_van_picker","ref","defaultIndex","onChange","account_type_value","columns","triggerComfirm","nextCusStartTime","currentValue","workInfo","VanPicker","picker","timeList","checkValues","tempVal","formatColumns","setDefaultTime","col","textTime","timeArr","setColumnValue","curDate","arrTime","todayStart","todayEnd","label","setWorkOverTime","init","navData","activeCode","checkNav","activeImg","noShow","navList","contex","setNavValue","setActiveCode","newVal","_component_map_box","_component_space_box","checkMapType","mapType","_component_van_search","placeholder","searchValue","onSearch","onClear","onCancel","activeSpace","vanSearch","queryWorkSpace","macAddress","mac","vanForm","vanField","vanButton","SpaceBox","MapBox","showMap","getMapInfo","spaceList","brightValueRate","itemWidth","colorTempValueRate","timeTemp","timeColor","setSpaceContrl","timeTempNum","timeColorNum","getTimeNum","getTime","changContrlVal","tmerType","brightValue","brightMinValue","colorTempValue","colorTempMinValue","changContrlValEnd","setTimeContrl","setLightDataMax","brightMaxValue","colorTempMaxValue","setBarValue","rate","colorVal","getDefaultVal","tempBoxSwiper","ComMap","ScenarioDailog","LightTemp","Header","Comheader","NavBar","Air","ManualIndex","ManualOvertime","Light","Curtain","TimeBox","WorkOvertime","WorkConfig","ManualConfig","ScenarioConfig","Detail","Contact","beforeRouteEnter","to","from","route","body","clientHeight","weatherTimer","equimentsTimer","spaceEqFlagObj","hasBlowing","hasLamp","popList","user","sceneDetail","timeOutEvent","touchInterval","cusServiceTimer","headerInfo","headImg","headScene","tipText","tipTextSwatch","bodySensor","childRef","intervalTimer","spaceTimer","listSen","userSpaceInfo","spaceModelTimer","spaceTempTimer","dateInter","level","funcid","sceneConfigTimer","realEevList","secenTimer","padImgData","allDevice","spaceEquipList","equipTimer","fileUrl","$fileUrl","showSpaceTip","mapOpacity","opacityV","hideTopImg","isBottom","isScrool","popupType","showSecenDetailDalig","showScenario","topbgimg","deviceIcon","visible","vanPopupIndex","listOffice","showWorkOff","meetingRoomSence","setPadBgImg","isBgDefault","bgImage","fileId","setPadLogo","isLogoDefault","logoImage","padNumber","getPadImg","funcType","roomFuncType","checkDeviceShowWork","equipmentId","queryCustomAndScenceTimer","getCompanyInfo","companyId","companyKey","getWeatherTimer","getWeather","openid","getWeatherIcon","getnowTime","now","indexOf","checkSpaceType","getPageMeetingSceneHttp","timerSpaceInfo","checkUserSpace","sp_id","getUserControlAuth","getSpaceInfo","toFixed","formatSpaceInfo","getSpaceModeTimer","getSpaceMode","getSpaceTempTimer","getSpaceTemp","setEnvBg","checkLevel","levelTxt","valueNum","parseFloat","setPageheight","getElementById","co2","hcho","humidity","resSen","setHeadSceneAirTemp","handlePreClose","changeLampStatus","getEquipments","queryParams","hourMiChange","tempStr","toString","newStr","dLen","slice","handlePopup","triggerCheckSpace","houseEle","houseHeight","scrollTop","duration","forbidClick","clear","clearTimerSpaceInfo","isMetting","checkIsSpaceScene","clearSceneConfigTimer","querySpaceSceneConfigTimer","querySpaceSceneConfig","clearSecenTimer","clearEquipTimer","getSpaceEquipListTimer","getSpaceEquipList","queryCustomAndScence","compare","formateManualWorkTime","obj1","obj2","val1","val2","updatePageUrl","url","location","origin","pathname","replaceState","resetSpaceStatus","elChangeExForArray","index1","index2","temp","clearAll","touchNumber","longPress","queryCustomerserviceTimer","setDateTime","toAbsoluteIndex","toInteger","toLength","toObject","arraySpeciesCreate","createProperty","arrayMethodHasSpeciesSupport","HAS_SPECIES_SUPPORT","ACCESSORS","0","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_LENGTH_EXCEEDED","deleteCount","insertCount","actualDeleteCount","A","k","O","actualStart","argumentsLength","TypeError","$findIndex","addToUnscopables","FIND_INDEX","SKIPS_HOLES","deepClone","keys","DEFAULT_DURATION","MOMENTUM_LIMIT_TIME","MOMENTUM_LIMIT_DISTANCE","getElementTranslateY","element","getComputedStyle","translateY","PICKER_KEY","Symbol","isOptionDisabled","option","textKey","allowHtml","className","itemHeight","swipeDuration","initialOptions","visibleItemCount","moving","startOffset","touchStartTime","momentumOffset","transitionEndTrigger","wrapper","offset","baseOffset","adjustIndex","setIndex","emitChange","trigger","setOptions","onClickItem","getOptionText","getIndexByOffset","momentum","distance","speed","stopMomentum","isVertical","allowMomentum","renderOptions","optionStyle","role","tabindex","selected","childData","setValue","getValue","transitionDuration","transitionProperty","t","pickerSharedProps","showToolbar","pickerProps","valueKey","toolbarPosition","columnsFieldNames","hasOptions","formattedColumns","valuesKey","childrenKey","dataType","firstColumn","formatCascade","formatted","cursor","children2","getIndexes","child","setColumnValues","onCascadeChange","columnIndex","indexes","getChild","getColumnValue","getColumnIndex","setColumnIndex","optionIndex","getColumnValues","setValues","setIndexes","emitAction","cancel","renderCancel","renderConfirm","renderToolbar","toolbar","renderColumnItems","renderMask","wrapHeight","frameStyle","maskStyle","backgroundSize","renderColumns","columnsStyle","aFunction","IndexedObject","createMethod","IS_RIGHT","that","memo","self","Picker"],"mappings":"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","file":"static/js/chunk-58d269ce.e451190b.js","sourcesContent":["import \"../../style/base.css\";\nimport \"../index.css\";\n","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-v16/dist/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/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./TimeBox.vue?vue&type=style&index=0&id=18f3164f&lang=scss&scoped=true\"","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-v16/dist/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/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./ScenarioConfig.vue?vue&type=style&index=0&id=1fed2403&lang=scss&scoped=true\"","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-v16/dist/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/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./LeaveDailog.vue?vue&type=style&index=0&id=10ea159b&lang=scss&scoped=true\"","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-v16/dist/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/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=0&id=dfeb0ad2&lang=scss&scoped=true\"","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { 1: 0 });\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH || CHROME_BUG }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","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-v16/dist/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/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=1&id=44ad189c&lang=scss\"","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-v16/dist/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/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=0&id=44ad189c&lang=scss&scoped=true\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menuBg\":\"#fff\",\"menuText\":\"#162b64\",\"menuActiveText\":\"#435ebe\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menuBg\":\"#fff\",\"menuText\":\"#162b64\",\"menuActiveText\":\"#435ebe\"};","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-v16/dist/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/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=1&id=30969596&lang=scss\"","import { Fragment as _Fragment, createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport { defineComponent } from \"vue\";\nimport { truthProp, createNamespace, BORDER_TOP_BOTTOM } from \"../utils\";\nconst [name, bem] = createNamespace(\"cell-group\");\nconst cellGroupProps = {\n title: String,\n inset: Boolean,\n border: truthProp\n};\nvar stdin_default = defineComponent({\n name,\n inheritAttrs: false,\n props: cellGroupProps,\n setup(props, {\n slots,\n attrs\n }) {\n const renderGroup = () => {\n var _a;\n return _createVNode(\"div\", _mergeProps({\n \"class\": [bem({\n inset: props.inset\n }), {\n [BORDER_TOP_BOTTOM]: props.border && !props.inset\n }]\n }, attrs), [(_a = slots.default) == null ? void 0 : _a.call(slots)]);\n };\n const renderTitle = () => _createVNode(\"div\", {\n \"class\": bem(\"title\", {\n inset: props.inset\n })\n }, [slots.title ? slots.title() : props.title]);\n return () => {\n if (props.title || slots.title) {\n return _createVNode(_Fragment, null, [renderTitle(), renderGroup()]);\n }\n return renderGroup();\n };\n }\n});\nexport {\n stdin_default as default\n};\n","import { withInstall } from \"../utils\";\nimport _CellGroup from \"./CellGroup\";\nconst CellGroup = withInstall(_CellGroup);\nvar stdin_default = CellGroup;\nexport {\n CellGroup,\n stdin_default as default\n};\n","import \"../../style/base.css\";\n","export function swiper(el: any, options: any) {\n //设置开关,监听move事件\n let isMove: any = false\n // 设置手指触摸开始的坐标\n let startX: any = 0\n let startY: any = 0\n // 设置手指移动的坐标\n let moveX: any = 0\n let moveY: any = 0\n //设置指针距离元素的边框的距离\n let disX: any = 0\n let disY: any = 0\n // 如果用户未传入参数2,自己定义一个\n let fun: any = function() {\n }\n let data: any = {\n swipeLeft: fun,\n swipeRight: fun,\n swipeDown: fun,\n swipeUp: fun,\n drag: fun\n }\n // 判断是否传入参数2,有的话覆盖默认值\n Object.assign(data, options)\n // 给元素绑定三个事件\n el.addEventListener('touchstart', function(e: any) {\n //获取手指开始的坐标\n startX = e.touches[0].pageX\n startY = e.touches[0].pageY\n //计算指针距离元素边框的位置\n disX = 0\n disY = 0\n }, { passive: true })\n el.addEventListener('touchmove', function(e: any) {\n //如果触发了move事件,打开开关\n isMove = true\n // 获取移动时的坐标\n moveX = e.touches[0].pageX\n moveY = e.touches[0].pageY\n e.mation = {\n startX: startX,\n startY: startY,\n moveX: moveX,\n moveY: moveY,\n disX: disX,\n disY: disY\n }\n data.drag.call(el, e)\n // 判断是否触发了move事件\n if (isMove) {\n // 计算水平边长\n let absX: any = Math.abs(moveX - startX)\n // 计算垂直边长\n let absY: any = Math.abs(moveY - startY)\n // 判断垂直还是水平滑动\n if (absX > absY) {\n // console.log('水平滑动');\n //再判断是左滑右滑\n if (moveX - startX > 0) {\n data.swipeRight.call(el, e)\n } else {\n data.swipeLeft.call(el, e)\n }\n } else {\n // console.log('垂直滑动');\n //判断是上滑还是下滑\n if (moveY - startX > 0) { // 下滑\n data.swipeDown.call(el, e)\n } else {\n data.swipeUp.call(el, e)\n }\n }\n }\n }, { passive: true })\n el.addEventListener('touchend', function(e: any) {\n isMove = false\n })\n}\n","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-v16/dist/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/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./WorkConfig.vue?vue&type=style&index=0&id=1d74e949&lang=scss&scoped=true\"","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-v16/dist/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/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./scenarioDailog.vue?vue&type=style&index=0&id=f8a217b2&lang=scss&scoped=true\"","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-v16/dist/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/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=0&id=7d28da75&lang=scss&scoped=true\"","import \"../../style/base.css\";\nimport \"../../badge/index.css\";\nimport \"../../icon/index.css\";\nimport \"../../loading/index.css\";\nimport \"../index.css\";\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menuBg\":\"#fff\",\"menuText\":\"#162b64\",\"menuActiveText\":\"#435ebe\"};","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-v16/dist/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/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./LightTemp.vue?vue&type=style&index=0&id=21af28f0&lang=scss&scoped=true\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menuBg\":\"#fff\",\"menuText\":\"#162b64\",\"menuActiveText\":\"#435ebe\"};","import { createVNode as _createVNode } from \"vue\";\nimport { defineComponent } from \"vue\";\nimport { FORM_KEY, truthProp, numericProp, preventDefault, makeStringProp, createNamespace } from \"../utils\";\nimport { useChildren } from \"@vant/use\";\nimport { useExpose } from \"../composables/use-expose\";\nconst [name, bem] = createNamespace(\"form\");\nconst formProps = {\n colon: Boolean,\n disabled: Boolean,\n readonly: Boolean,\n showError: Boolean,\n labelWidth: numericProp,\n labelAlign: String,\n inputAlign: String,\n scrollToError: Boolean,\n validateFirst: Boolean,\n submitOnEnter: truthProp,\n validateTrigger: makeStringProp(\"onBlur\"),\n showErrorMessage: truthProp,\n errorMessageAlign: String\n};\nvar stdin_default = defineComponent({\n name,\n props: formProps,\n emits: [\"submit\", \"failed\"],\n setup(props, {\n emit,\n slots\n }) {\n const {\n children,\n linkChildren\n } = useChildren(FORM_KEY);\n const getFieldsByNames = (names) => {\n if (names) {\n return children.filter((field) => names.includes(field.name));\n }\n return children;\n };\n const validateSeq = (names) => new Promise((resolve, reject) => {\n const errors = [];\n const fields = getFieldsByNames(names);\n fields.reduce((promise, field) => promise.then(() => {\n if (!errors.length) {\n return field.validate().then((error) => {\n if (error) {\n errors.push(error);\n }\n });\n }\n }), Promise.resolve()).then(() => {\n if (errors.length) {\n reject(errors);\n } else {\n resolve();\n }\n });\n });\n const validateAll = (names) => new Promise((resolve, reject) => {\n const fields = getFieldsByNames(names);\n Promise.all(fields.map((item) => item.validate())).then((errors) => {\n errors = errors.filter(Boolean);\n if (errors.length) {\n reject(errors);\n } else {\n resolve();\n }\n });\n });\n const validateField = (name2) => {\n const matched = children.find((item) => item.name === name2);\n if (matched) {\n return new Promise((resolve, reject) => {\n matched.validate().then((error) => {\n if (error) {\n reject(error);\n } else {\n resolve();\n }\n });\n });\n }\n return Promise.reject();\n };\n const validate = (name2) => {\n if (typeof name2 === \"string\") {\n return validateField(name2);\n }\n return props.validateFirst ? validateSeq(name2) : validateAll(name2);\n };\n const resetValidation = (name2) => {\n if (typeof name2 === \"string\") {\n name2 = [name2];\n }\n const fields = getFieldsByNames(name2);\n fields.forEach((item) => {\n item.resetValidation();\n });\n };\n const scrollToField = (name2, options) => {\n children.some((item) => {\n if (item.name === name2) {\n item.$el.scrollIntoView(options);\n return true;\n }\n return false;\n });\n };\n const getValues = () => children.reduce((form, field) => {\n form[field.name] = field.formValue.value;\n return form;\n }, {});\n const submit = () => {\n const values = getValues();\n validate().then(() => emit(\"submit\", values)).catch((errors) => {\n emit(\"failed\", {\n values,\n errors\n });\n if (props.scrollToError && errors[0].name) {\n scrollToField(errors[0].name);\n }\n });\n };\n const onSubmit = (event) => {\n preventDefault(event);\n submit();\n };\n linkChildren({\n props\n });\n useExpose({\n submit,\n validate,\n scrollToField,\n resetValidation\n });\n return () => {\n var _a;\n return _createVNode(\"form\", {\n \"class\": bem(),\n \"onSubmit\": onSubmit\n }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);\n };\n }\n});\nexport {\n stdin_default as default\n};\n","import { withInstall } from \"../utils\";\nimport _Form from \"./Form\";\nconst Form = withInstall(_Form);\nvar stdin_default = Form;\nexport {\n Form,\n stdin_default as default\n};\n","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-v16/dist/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/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./NavBar.vue?vue&type=style&index=0&id=1f8e6930&lang=scss&scoped=true\"","import { openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, vShow as _vShow, withDirectives as _withDirectives, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, resolveComponent as _resolveComponent, createBlock as _createBlock, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-30969596\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"main-left\" }\nconst _hoisted_2 = { class: \"logo-box\" }\nconst _hoisted_3 = [\"src\"]\nconst _hoisted_4 = [\"src\"]\nconst _hoisted_5 = { class: \"left-time\" }\nconst _hoisted_6 = { class: \"weather\" }\nconst _hoisted_7 = [\"src\"]\nconst _hoisted_8 = [\"src\"]\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \" 联系客服\", -1))\nconst _hoisted_10 = { class: \"left-space\" }\nconst _hoisted_11 = { class: \"text\" }\nconst _hoisted_12 = { class: \"space-info\" }\nconst _hoisted_13 = { class: \"space-temp\" }\nconst _hoisted_14 = [\"src\"]\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"temp-text\" }, \"温度\", -1))\nconst _hoisted_16 = { class: \"temp-num\" }\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"sup\", null, \"℃\", -1))\nconst _hoisted_18 = { class: \"space-env\" }\nconst _hoisted_19 = [\"onClick\"]\nconst _hoisted_20 = [\"src\"]\nconst _hoisted_21 = { class: \"env-text\" }\nconst _hoisted_22 = {\n key: 0,\n class: \"fotter\"\n}\nconst _hoisted_23 = [\"onClick\"]\nconst _hoisted_24 = [\"src\"]\nconst _hoisted_25 = [\"src\"]\nconst _hoisted_26 = [\"src\"]\nconst _hoisted_27 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \"…\", -1))\nconst _hoisted_28 = { class: \"main-right\" }\nconst _hoisted_29 = {\n key: 0,\n class: \"work-btn\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_work_config = _resolveComponent(\"work-config\")!\n const _component_manual_config = _resolveComponent(\"manual-config\")!\n const _component_scenario_config = _resolveComponent(\"scenario-config\")!\n const _component_manual_index = _resolveComponent(\"manual-index\")!\n const _component_Air = _resolveComponent(\"Air\")!\n const _component_Light = _resolveComponent(\"Light\")!\n const _component_Curtain = _resolveComponent(\"Curtain\")!\n const _component_work_overtime = _resolveComponent(\"work-overtime\")!\n const _component_manual_overtime = _resolveComponent(\"manual-overtime\")!\n const _component_van_popup = _resolveComponent(\"van-popup\")!\n const _component_scenario_dailog = _resolveComponent(\"scenario-dailog\")!\n const _component_detail = _resolveComponent(\"detail\")!\n const _component_com_map = _resolveComponent(\"com-map\")!\n const _component_contact = _resolveComponent(\"contact\")!\n const _component_light_temp = _resolveComponent(\"light-temp\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"main\",\n style: _normalizeStyle({\n backgroundImage:\n 'linear-gradient(0deg, rgba(69, 33, 0, 0.2), rgba(69, 33, 0, 0.2)), url(' +\n _ctx.padBgImg +\n ')',\n 'background-repeat': 'no-repeat',\n })\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"left-top\",\n onTouchstart: _cache[1] || (_cache[1] = ($event: any) => (_ctx.gtouchstart($event))),\n onTouchmove: _cache[2] || (_cache[2] = ($event: any) => (_ctx.gtouchmove())),\n onTouchend: _cache[3] || (_cache[3] = \n//@ts-ignore\n(...args) => (_ctx.showDeleteButton && _ctx.showDeleteButton(...args)))\n }, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_ctx.logImg)\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n class: \"logo-icon\",\n src: _ctx.logImg,\n alt: \"\"\n }, null, 8, _hoisted_3))\n : (_openBlock(), _createElementBlock(\"img\", {\n key: 1,\n class: \"logo-icon\",\n src: _ctx.parseImgUrl('ipdImages', 'shangeyun_logo.svg'),\n alt: \"\"\n }, null, 8, _hoisted_4))\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.nowDate), 1),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.nowWeek), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _withDirectives(_createElementVNode(\"img\", {\n src: _ctx.outWeather.imgname,\n class: \"weather-icon\",\n alt: \"\"\n }, null, 8, _hoisted_7), [\n [_vShow, _ctx.outWeather.imgname]\n ]),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.outWeather.temperature ? _ctx.outWeather.temperature : \"--\") + \"℃\", 1)\n ]),\n (_ctx.contantDetail)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"weixiin\",\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.showContact && _ctx.showContact(...args)))\n }, [\n _createElementVNode(\"img\", {\n src: _ctx.parseImgUrl('ipdImages', 'weixin.svg')\n }, null, 8, _hoisted_8),\n _hoisted_9\n ]))\n : _createCommentVNode(\"\", true)\n ], 32),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.officeData.localName), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"img\", {\n src: _ctx.parseImgUrl('ipdImages', 'template-icon.svg'),\n alt: \"\"\n }, null, 8, _hoisted_14),\n _hoisted_15,\n _createElementVNode(\"span\", _hoisted_16, [\n _createTextVNode(_toDisplayString(_ctx.officeData.temperature ? _ctx.officeData.temperature : \"--\"), 1),\n _hoisted_17\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_18, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.envlist, (item, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"env-item\", [\n index == 1 ? 'env-color' : '',\n item.bgColor ? 'env-item-radius' : '',\n ]]),\n style: _normalizeStyle([\n { background: item.bgColor ? item.bgColor : '' },\n { opacity: item.bgColor ? 0.8 : '' },\n { paddingLeft: index == 0 && item.bgColor ? '15px' : '' },\n ]),\n key: 'env' + index,\n onClick: ($event: any) => (_ctx.handleDetail(item))\n }, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"img\", {\n src: _ctx.parseImgUrl('ipdImages', item.img),\n alt: \"\"\n }, null, 8, _hoisted_20),\n _createElementVNode(\"span\", null, _toDisplayString(item.name), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_21, [\n _createTextVNode(_toDisplayString(item.num) + \" \", 1),\n _createElementVNode(\"sup\", null, _toDisplayString(item.unit), 1)\n ])\n ], 14, _hoisted_19))\n }), 128))\n ])\n ]),\n (_ctx.spaceData && _ctx.spaceData.length > 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_22, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.spaceData, (item, index) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (index < 3)\n ? (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"fotter-item\", item.active ? 'fotter-item-active' : '']),\n key: index + 'nav',\n onClick: ($event: any) => (_ctx.changeSpace(item))\n }, [\n (item.active)\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n src: _ctx.parseImgUrl('ipdImages', 'rectangle-active.svg')\n }, null, 8, _hoisted_24))\n : (_openBlock(), _createElementBlock(\"img\", {\n key: 1,\n src: _ctx.parseImgUrl('ipdImages', 'rectangle1.svg')\n }, null, 8, _hoisted_25)),\n _createElementVNode(\"span\", null, _toDisplayString(item.spaceName), 1)\n ], 10, _hoisted_23))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 256)),\n (_ctx.spaceData && _ctx.spaceData.length > 3)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"fotter-item-end\",\n onClick: _cache[4] || (_cache[4] = \n//@ts-ignore\n(...args) => (_ctx.moreSpace && _ctx.moreSpace(...args)))\n }, [\n _createElementVNode(\"img\", {\n src: _ctx.parseImgUrl('ipdImages', 'rectangle-fotter.svg')\n }, null, 8, _hoisted_26),\n _hoisted_27\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_28, [\n (\n (_ctx.roomType === '开放' && _ctx.isWork) ||\n (_ctx.roomType === '会议室' && _ctx.scenarioArr && _ctx.scenarioArr.length)\n )\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_29, [\n (_ctx.roomType === '开放' && _ctx.isWork && _ctx.controlMode !== 1)\n ? (_openBlock(), _createBlock(_component_work_config, {\n key: 0,\n scenarioArr: _ctx.scenarioArr,\n workkArr: _ctx.workkArr,\n onCloseWork: _ctx.closeWork,\n onTriggerWork: _ctx.triggerWork,\n onSetForceOverTimeFlag: _ctx.setForceOverTimeFlag\n }, null, 8, [\"scenarioArr\", \"workkArr\", \"onCloseWork\", \"onTriggerWork\", \"onSetForceOverTimeFlag\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.roomType === '开放' && _ctx.isWork && _ctx.controlMode === 1)\n ? (_openBlock(), _createBlock(_component_manual_config, {\n key: 1,\n scenarioArr: _ctx.scenarioArr,\n workkArr: _ctx.workkArr,\n onCloseWork: _ctx.closeWork,\n onTriggerWork: _ctx.triggerWork,\n onSetForceOverTimeFlag: _ctx.setForceOverTimeFlag\n }, null, 8, [\"scenarioArr\", \"workkArr\", \"onCloseWork\", \"onTriggerWork\", \"onSetForceOverTimeFlag\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.roomType === '会议室' && _ctx.scenarioArr && _ctx.scenarioArr.length)\n ? (_openBlock(), _createBlock(_component_scenario_config, {\n key: 2,\n activeType: _ctx.activeType,\n scenarioArr: _ctx.scenarioArr,\n spaceId: _ctx.spaceInfo.spaceId,\n projectId: _ctx.projectId,\n onSetHeadScene: _ctx.setHeadScene\n }, null, 8, [\"activeType\", \"scenarioArr\", \"spaceId\", \"projectId\", \"onSetHeadScene\"]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.controlMode === 1)\n ? (_openBlock(), _createBlock(_component_manual_index, {\n key: 1,\n onTriggerWork: _ctx.triggerWork,\n seviceEquipmentList: _ctx.seviceEquipmentList,\n forceOverTimeFlag: _ctx.forceOverTimeFlag,\n onUpdateAirTemp: _ctx.updateAirTemp,\n hasAir: _ctx.spaceExistenceDevice.airConditioner,\n airVolumes: _ctx.officeData.airVolumes,\n temperature: _ctx.officeData.temperature,\n spaceId: _ctx.spaceInfo.spaceId,\n projectId: _ctx.projectId,\n userIsControl: _ctx.userIsControl\n }, null, 8, [\"onTriggerWork\", \"seviceEquipmentList\", \"forceOverTimeFlag\", \"onUpdateAirTemp\", \"hasAir\", \"airVolumes\", \"temperature\", \"spaceId\", \"projectId\", \"userIsControl\"]))\n : _createCommentVNode(\"\", true),\n (\n _ctx.controlMode != 1 &&\n (_ctx.officeData.temperature || _ctx.spaceExistenceDevice.airConditioner)\n )\n ? (_openBlock(), _createBlock(_component_Air, {\n id: \"airId\",\n key: \"airId\",\n onTriggerWork: _ctx.triggerWork,\n forceOverTimeFlag: _ctx.forceOverTimeFlag,\n onUpdateAirTemp: _ctx.updateAirTemp,\n hasAir: _ctx.spaceExistenceDevice.airConditioner,\n airVolumes: _ctx.officeData.airVolumes,\n temperature: _ctx.officeData.temperature,\n spaceId: _ctx.spaceInfo.spaceId,\n projectId: _ctx.projectId,\n isACATVA: _ctx.isACATVA,\n userIsControl: _ctx.userIsControl\n }, null, 8, [\"onTriggerWork\", \"forceOverTimeFlag\", \"onUpdateAirTemp\", \"hasAir\", \"airVolumes\", \"temperature\", \"spaceId\", \"projectId\", \"isACATVA\", \"userIsControl\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.spaceExistenceDevice.light && _ctx.spaceInfo.spaceId)\n ? (_openBlock(), _createBlock(_component_Light, {\n forceOverTimeFlag: _ctx.forceOverTimeFlag,\n controlMode: _ctx.controlMode,\n seviceEquipmentList: _ctx.seviceEquipmentList,\n onTriggerWork: _ctx.triggerWork,\n onShowLightColorCtrol: _ctx.showLightColorCtrol,\n id: \"lightId\",\n key: \"lightId\",\n userIsControl: _ctx.userIsControl,\n spaceId: _ctx.spaceInfo.spaceId,\n projectId: _ctx.projectId\n }, null, 8, [\"forceOverTimeFlag\", \"controlMode\", \"seviceEquipmentList\", \"onTriggerWork\", \"onShowLightColorCtrol\", \"userIsControl\", \"spaceId\", \"projectId\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.spaceExistenceDevice.curtain)\n ? (_openBlock(), _createBlock(_component_Curtain, {\n spaceId: _ctx.spaceInfo.spaceId,\n id: \"curtainId\",\n key: \"curtainId\",\n userIsControl: _ctx.userIsControl,\n projectId: _ctx.projectId\n }, null, 8, [\"spaceId\", \"userIsControl\", \"projectId\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createVNode(_component_van_popup, {\n show: _ctx.isShowWork,\n \"onUpdate:show\": _cache[5] || (_cache[5] = ($event: any) => ((_ctx.isShowWork) = $event)),\n position: \"right\",\n class: \"popup-content\",\n teleport: \"#app\"\n }, {\n default: _withCtx(() => [\n (_ctx.isShowWork && _ctx.controlMode !== 1)\n ? (_openBlock(), _createBlock(_component_work_overtime, {\n key: 0,\n spaceInfo: _ctx.spaceInfo,\n onCloseWork: _ctx.closeWork,\n projectId: _ctx.projectId,\n workkArr: _ctx.workkArr\n }, null, 8, [\"spaceInfo\", \"onCloseWork\", \"projectId\", \"workkArr\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.isShowWork && _ctx.controlMode === 1)\n ? (_openBlock(), _createBlock(_component_manual_overtime, {\n key: 1,\n seviceEquipmentList: _ctx.seviceEquipmentList,\n enterType: _ctx.enterType,\n deviceItem: _ctx.deviceItem,\n spaceInfo: _ctx.spaceInfo,\n onCloseWork: _ctx.closeWork,\n projectId: _ctx.projectId,\n workkArr: _ctx.workkArr\n }, null, 8, [\"seviceEquipmentList\", \"enterType\", \"deviceItem\", \"spaceInfo\", \"onCloseWork\", \"projectId\", \"workkArr\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"show\"]),\n _createVNode(_component_van_popup, {\n show: _ctx.isShowMetting,\n \"onUpdate:show\": _cache[6] || (_cache[6] = ($event: any) => ((_ctx.isShowMetting) = $event)),\n position: \"right\",\n \"close-on-click-overlay\": false,\n class: \"popup-content\",\n teleport: \"#app\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_scenario_dailog, {\n secenaroStatus: _ctx.secenaroStatus,\n onCloseDailog: _ctx.closeDailog\n }, null, 8, [\"secenaroStatus\", \"onCloseDailog\"])\n ]),\n _: 1\n }, 8, [\"show\"]),\n _createVNode(_component_van_popup, {\n show: _ctx.isShowDetail,\n \"onUpdate:show\": _cache[7] || (_cache[7] = ($event: any) => ((_ctx.isShowDetail) = $event)),\n position: \"right\",\n \"close-on-click-overlay\": true,\n class: \"popup-content\",\n teleport: \"#app\"\n }, {\n default: _withCtx(() => [\n (_ctx.isShowDetail)\n ? (_openBlock(), _createBlock(_component_detail, {\n key: 0,\n query: _ctx.detailQuery\n }, null, 8, [\"query\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"show\"]),\n _createVNode(_component_van_popup, {\n show: _ctx.isShowMap,\n \"onUpdate:show\": _cache[8] || (_cache[8] = ($event: any) => ((_ctx.isShowMap) = $event)),\n class: \"map-popup\",\n position: \"bottom\",\n style: {\"width\":\"100%\",\"height\":\"70%\"},\n \"close-on-click-overlay\": true,\n teleport: \"#app\"\n }, {\n default: _withCtx(() => [\n (_ctx.defaultSpace.spaceId && _ctx.isShowMap)\n ? (_openBlock(), _createBlock(_component_com_map, {\n key: 0,\n spaceData: _ctx.copySpaceData,\n spaceInfo: _ctx.defaultSpace,\n projectId: _ctx.projectId,\n floorId: _ctx.defaultSpace.floorId,\n buildingId: _ctx.defaultSpace.buildingId,\n onChangeSpace: _ctx.changeSpace\n }, null, 8, [\"spaceData\", \"spaceInfo\", \"projectId\", \"floorId\", \"buildingId\", \"onChangeSpace\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"show\"]),\n (_ctx.isShowContact)\n ? (_openBlock(), _createBlock(_component_contact, {\n key: 0,\n isShowContact: _ctx.isShowContact,\n contantDetail: _ctx.contantDetail,\n onCloseDailog: _ctx.closeContactDailog\n }, null, 8, [\"isShowContact\", \"contantDetail\", \"onCloseDailog\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_van_popup, {\n show: _ctx.isLightColorFlag,\n \"onUpdate:show\": _cache[9] || (_cache[9] = ($event: any) => ((_ctx.isLightColorFlag) = $event)),\n position: \"right\",\n \"close-on-click-overlay\": true,\n class: \"popup-content\",\n teleport: \"#app\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", null, [\n (_ctx.isLightColorFlag)\n ? (_openBlock(), _createBlock(_component_light_temp, {\n key: 0,\n lightData: _ctx.lightData\n }, null, 8, [\"lightData\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n }, 8, [\"show\"])\n ], 4))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, withModifiers as _withModifiers, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, vShow as _vShow, withDirectives as _withDirectives, resolveComponent as _resolveComponent, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7d28da75\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"work-content\" }\nconst _hoisted_2 = { class: \"work-space\" }\nconst _hoisted_3 = { class: \"space-title\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"device-tip\" }, \"延时期间,空间相关设备会开启\", -1))\nconst _hoisted_5 = {\n class: \"add-time\",\n id: \"addTimeId\"\n}\nconst _hoisted_6 = {\n key: 0,\n class: \"date_box\"\n}\nconst _hoisted_7 = [\"onClick\"]\nconst _hoisted_8 = {\n class: \"sliders-list\",\n id: \"sliderListId\"\n}\nconst _hoisted_9 = { class: \"sliders\" }\nconst _hoisted_10 = [\"onClick\", \"data-index\"]\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"start\",\n id: \"startId\"\n}, null, -1))\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"end-box\",\n id: \"endBoxId\"\n}, [\n /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"end\",\n id: \"endId\"\n }),\n /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"end-radio\",\n id: \"endRadioId\"\n })\n], -1))\nconst _hoisted_13 = [\n _hoisted_11,\n _hoisted_12\n]\nconst _hoisted_14 = { class: \"add-time-btn\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_van_loading = _resolveComponent(\"van-loading\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_ctx.spaceInfo.spaceName) + \" 申请延时\", 1),\n _hoisted_4\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n (_ctx.dateArr && _ctx.dateArr.length)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.dateArr, (item, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"date-item\", item.isActive ? 'date-item-active' : '']),\n onClick: _withModifiers(($event: any) => (_ctx.checkDate(item, index)), [\"stop\"]),\n key: 'date' + index\n }, [\n _createElementVNode(\"span\", null, _toDisplayString(item.week), 1),\n _createElementVNode(\"span\", null, _toDisplayString(item.day), 1)\n ], 10, _hoisted_7))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_8, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.nowTimerArr, (item, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: 'slider' + index,\n class: \"sliders-wrapper\",\n id: \"slidersWrapperId\"\n }, [\n _createElementVNode(\"div\", _hoisted_9, [\n _withDirectives(_createElementVNode(\"div\", { class: \"label\" }, _toDisplayString(item.timer), 513), [\n [_vShow, index === 0 || index % 2 === 0]\n ]),\n _createElementVNode(\"div\", {\n class: \"slider-box\",\n onClick: ($event: any) => (_ctx.checkSlider(item, index)),\n \"data-index\": index\n }, null, 8, _hoisted_10)\n ])\n ]))\n }), 128)),\n _createElementVNode(\"div\", {\n class: \"slider-btn\",\n id: \"sliderBtnId\",\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.triggerDelTime && _ctx.triggerDelTime(...args)))\n }, _hoisted_13)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", {\n class: \"cancel-btn\",\n onClick: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.closeWorkTimer && _ctx.closeWorkTimer(...args)))\n }, \"取消\"),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"comfirm-btn\", _ctx.formBtn ? 'comfirm-btn-diabled' : '']),\n onClick: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => (_ctx.addWorkTimer && _ctx.addWorkTimer(...args)))\n }, \" 提交申请 \", 2)\n ]),\n (_ctx.showLoading)\n ? (_openBlock(), _createBlock(_component_van_loading, {\n key: 0,\n class: \"temp-loading\"\n }))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { createVNode as _createVNode } from \"vue\";\nimport { ref, computed, defineComponent } from \"vue\";\nimport { clamp, addUnit, addNumber, numericProp, getSizeStyle, preventDefault, stopPropagation, createNamespace, makeNumericProp } from \"../utils\";\nimport { useRect, useCustomFieldValue } from \"@vant/use\";\nimport { useTouch } from \"../composables/use-touch\";\nconst [name, bem] = createNamespace(\"slider\");\nconst sliderProps = {\n min: makeNumericProp(0),\n max: makeNumericProp(100),\n step: makeNumericProp(1),\n range: Boolean,\n reverse: Boolean,\n disabled: Boolean,\n readonly: Boolean,\n vertical: Boolean,\n barHeight: numericProp,\n buttonSize: numericProp,\n activeColor: String,\n inactiveColor: String,\n modelValue: {\n type: [Number, Array],\n default: 0\n }\n};\nvar stdin_default = defineComponent({\n name,\n props: sliderProps,\n emits: [\"change\", \"drag-end\", \"drag-start\", \"update:modelValue\"],\n setup(props, {\n emit,\n slots\n }) {\n let buttonIndex;\n let current;\n let startValue;\n const root = ref();\n const dragStatus = ref();\n const touch = useTouch();\n const scope = computed(() => Number(props.max) - Number(props.min));\n const wrapperStyle = computed(() => {\n const crossAxis = props.vertical ? \"width\" : \"height\";\n return {\n background: props.inactiveColor,\n [crossAxis]: addUnit(props.barHeight)\n };\n });\n const isRange = (val) => props.range && Array.isArray(val);\n const calcMainAxis = () => {\n const {\n modelValue,\n min\n } = props;\n if (isRange(modelValue)) {\n return `${(modelValue[1] - modelValue[0]) * 100 / scope.value}%`;\n }\n return `${(modelValue - Number(min)) * 100 / scope.value}%`;\n };\n const calcOffset = () => {\n const {\n modelValue,\n min\n } = props;\n if (isRange(modelValue)) {\n return `${(modelValue[0] - Number(min)) * 100 / scope.value}%`;\n }\n return \"0%\";\n };\n const barStyle = computed(() => {\n const mainAxis = props.vertical ? \"height\" : \"width\";\n const style = {\n [mainAxis]: calcMainAxis(),\n background: props.activeColor\n };\n if (dragStatus.value) {\n style.transition = \"none\";\n }\n const getPositionKey = () => {\n if (props.vertical) {\n return props.reverse ? \"bottom\" : \"top\";\n }\n return props.reverse ? \"right\" : \"left\";\n };\n style[getPositionKey()] = calcOffset();\n return style;\n });\n const format = (value) => {\n const min = +props.min;\n const max = +props.max;\n const step = +props.step;\n value = clamp(value, min, max);\n const diff = Math.round((value - min) / step) * step;\n return addNumber(min, diff);\n };\n const isSameValue = (newValue, oldValue) => JSON.stringify(newValue) === JSON.stringify(oldValue);\n const handleRangeValue = (value) => {\n var _a, _b;\n const left = (_a = value[0]) != null ? _a : Number(props.min);\n const right = (_b = value[1]) != null ? _b : Number(props.max);\n return left > right ? [right, left] : [left, right];\n };\n const updateValue = (value, end) => {\n if (isRange(value)) {\n value = handleRangeValue(value).map(format);\n } else {\n value = format(value);\n }\n if (!isSameValue(value, props.modelValue)) {\n emit(\"update:modelValue\", value);\n }\n if (end && !isSameValue(value, startValue)) {\n emit(\"change\", value);\n }\n };\n const onClick = (event) => {\n event.stopPropagation();\n if (props.disabled || props.readonly) {\n return;\n }\n const {\n min,\n reverse,\n vertical,\n modelValue\n } = props;\n const rect = useRect(root);\n const getDelta = () => {\n if (vertical) {\n if (reverse) {\n return rect.bottom - event.clientY;\n }\n return event.clientY - rect.top;\n }\n if (reverse) {\n return rect.right - event.clientX;\n }\n return event.clientX - rect.left;\n };\n const total = vertical ? rect.height : rect.width;\n const value = Number(min) + getDelta() / total * scope.value;\n if (isRange(modelValue)) {\n const [left, right] = modelValue;\n const middle = (left + right) / 2;\n if (value <= middle) {\n updateValue([value, right], true);\n } else {\n updateValue([left, value], true);\n }\n } else {\n updateValue(value, true);\n }\n };\n const onTouchStart = (event) => {\n if (props.disabled || props.readonly) {\n return;\n }\n touch.start(event);\n current = props.modelValue;\n if (isRange(current)) {\n startValue = current.map(format);\n } else {\n startValue = format(current);\n }\n dragStatus.value = \"start\";\n };\n const onTouchMove = (event) => {\n if (props.disabled || props.readonly) {\n return;\n }\n if (dragStatus.value === \"start\") {\n emit(\"drag-start\", event);\n }\n preventDefault(event, true);\n touch.move(event);\n dragStatus.value = \"dragging\";\n const rect = useRect(root);\n const delta = props.vertical ? touch.deltaY.value : touch.deltaX.value;\n const total = props.vertical ? rect.height : rect.width;\n let diff = delta / total * scope.value;\n if (props.reverse) {\n diff = -diff;\n }\n if (isRange(startValue)) {\n const index = props.reverse ? 1 - buttonIndex : buttonIndex;\n current[index] = startValue[index] + diff;\n } else {\n current = startValue + diff;\n }\n updateValue(current);\n };\n const onTouchEnd = (event) => {\n if (props.disabled || props.readonly) {\n return;\n }\n if (dragStatus.value === \"dragging\") {\n updateValue(current, true);\n emit(\"drag-end\", event);\n }\n dragStatus.value = \"\";\n };\n const getButtonClassName = (index) => {\n if (typeof index === \"number\") {\n const position = [\"left\", \"right\"];\n return bem(`button-wrapper`, position[index]);\n }\n return bem(\"button-wrapper\", props.reverse ? \"left\" : \"right\");\n };\n const renderButtonContent = (value, index) => {\n if (typeof index === \"number\") {\n const slot = slots[index === 0 ? \"left-button\" : \"right-button\"];\n if (slot) {\n return slot({\n value\n });\n }\n }\n if (slots.button) {\n return slots.button({\n value\n });\n }\n return _createVNode(\"div\", {\n \"class\": bem(\"button\"),\n \"style\": getSizeStyle(props.buttonSize)\n }, null);\n };\n const renderButton = (index) => {\n const current2 = typeof index === \"number\" ? props.modelValue[index] : props.modelValue;\n return _createVNode(\"div\", {\n \"role\": \"slider\",\n \"class\": getButtonClassName(index),\n \"tabindex\": props.disabled ? void 0 : 0,\n \"aria-valuemin\": props.min,\n \"aria-valuenow\": current2,\n \"aria-valuemax\": props.max,\n \"aria-disabled\": props.disabled || void 0,\n \"aria-readonly\": props.readonly || void 0,\n \"aria-orientation\": props.vertical ? \"vertical\" : \"horizontal\",\n \"onTouchstart\": (event) => {\n if (typeof index === \"number\") {\n buttonIndex = index;\n }\n onTouchStart(event);\n },\n \"onTouchmove\": onTouchMove,\n \"onTouchend\": onTouchEnd,\n \"onTouchcancel\": onTouchEnd,\n \"onClick\": stopPropagation\n }, [renderButtonContent(current2, index)]);\n };\n updateValue(props.modelValue);\n useCustomFieldValue(() => props.modelValue);\n return () => _createVNode(\"div\", {\n \"ref\": root,\n \"style\": wrapperStyle.value,\n \"class\": bem({\n vertical: props.vertical,\n disabled: props.disabled\n }),\n \"onClick\": onClick\n }, [_createVNode(\"div\", {\n \"class\": bem(\"bar\"),\n \"style\": barStyle.value\n }, [props.range ? [renderButton(0), renderButton(1)] : renderButton()])]);\n }\n});\nexport {\n stdin_default as default\n};\n","import { withInstall } from \"../utils\";\nimport _Slider from \"./Slider\";\nconst Slider = withInstall(_Slider);\nvar stdin_default = Slider;\nexport {\n Slider,\n stdin_default as default\n};\n","\nimport { Dialog, Slider, Loading } from \"vant\";\nimport {\n defineComponent,\n reactive,\n toRefs,\n ref,\n onBeforeMount,\n onMounted,\n onUpdated,\n nextTick,\n watch,\n getCurrentInstance,\n} from \"vue\";\nimport { swiper } from \"@/utils/swiper\";\nimport {\n formatDate,\n formatDateStr,\n getDate,\n getNowTime,\n getRelNowTime,\n getTimers,\n getUserInfo,\n getWeekDate,\n parseImgUrl,\n} from \"@/utils\";\nimport { myTime } from \"@/model/workTimeData\";\nimport { propsToAttrMap } from \"@vue/shared\";\nimport { isTemplateElement } from \"@babel/types\";\nimport { saveBatchCustomScene } from \"@/apis/envmonitor\";\n\nexport default defineComponent({\n components: {\n VanSlider: Slider,\n },\n props: {\n workkArr: {\n type: Array,\n default: () => [],\n },\n projectId: {\n type: String,\n default: () => \"\",\n },\n spaceInfo: {\n type: Object,\n default: () => {},\n },\n },\n setup(props, context) {\n const proxyGlobal: any = getCurrentInstance();\n const screenInfo: any = {\n screenWidth: 0,\n screenHeight: 0,\n };\n let dateArr: any = [];\n let myTimeArr: any = [];\n let timerArr: any = getTimers();\n let nowTimerArr: any = [];\n let nowData: any = {};\n let redUrl: any = `${parseImgUrl(\"ipdImages\", \"time-check.svg\")}`;\n let bgRed: any = `linear-gradient(0deg, rgba(255, 0, 0, 0.2), rgba(255, 0, 0, 0.2)), url(${redUrl})`;\n const userInfo: any = getUserInfo();\n const proxyData = reactive({\n userInfo: userInfo,\n isEvent: false,\n screenInfo: screenInfo,\n projectId: props.projectId,\n workkArr: props.workkArr,\n bgRed: bgRed,\n startIndex: 0,\n endIndex: 0,\n nowData: nowData,\n nowTimerArr: nowTimerArr,\n timerArr: timerArr,\n startLen: 0,\n formBtn: false,\n showLoading: false,\n setScreennWidth() {\n let addTimeEl: any = document.querySelector(\"#addTimeId\");\n proxyData.screenInfo.screenWidth = addTimeEl.offsetWidth;\n },\n // 获取当前位置\n getNowIndex() {\n // let nowIndex: any = 0;\n // if (proxyData.nowData.week === \"今天\") {\n // nowIndex = getNowTime()[1];\n // }\n let nowIndex: any = getNowTime()[1];\n return nowIndex;\n },\n // 获取每天真实的下标\n getTomorrowIndex() {\n let nowIndex: any = 0;\n if (proxyData.nowData.week === \"今天\") {\n nowIndex = getNowTime()[1];\n }\n return nowIndex;\n },\n // 获取当前位置的坐标\n getNowPerstion(timerArr: any) {\n let nowIndex: any = proxyData.getNowIndex();\n let obj: any = {\n nowIndex: nowIndex,\n len: 4,\n };\n let formatTimer: any = timerArr[nowIndex].formatTimer;\n let cusStartTime: any = proxyData.parseCusStartTime(\n proxyData.nowData.cusStartTime\n );\n let cusEndTime: any = proxyData.parseCusEndTime(\n proxyData.nowData.cusEndTime\n );\n if (formatTimer >= cusStartTime && formatTimer <= cusEndTime) {\n //在服务定制时间之间\n timerArr.map((item: any, index: any) => {\n if (item.formatTimer === cusEndTime) {\n obj.nowIndex = index;\n }\n });\n } else if (formatTimer < cusStartTime) {\n timerArr.map((item: any, index: any) => {\n if (item.formatTimer === cusStartTime) {\n obj.len = index - nowIndex;\n if (obj.len > 4) {\n obj.len = 4;\n }\n }\n });\n }\n return obj;\n },\n // 设置可选时间\n setOptionnalTime(timerArr: any) {\n let sliderList: any = document.querySelector(\"#sliderListId\");\n let slidersWrapper: any = document.querySelector(\"#slidersWrapperId\");\n let sliderWidth: any = slidersWrapper.getBoundingClientRect().width;\n sliderList.style.width = sliderWidth * timerArr.length + \"px\";\n let index: any = proxyData.getNowPerstion(timerArr).nowIndex;\n let len: any = proxyData.getNowPerstion(timerArr).len;\n let sliderLeft: any = sliderWidth * index;\n if (\n sliderLeft >\n proxyData.screenInfo.screenWidth +\n proxyData.screenInfo.screenWidth / 2\n ) {\n sliderLeft = sliderLeft - sliderWidth;\n }\n sliderList.style.left = -sliderLeft + \"px\";\n proxyData.setOptionnalPerstion(index, len);\n },\n sliderSwiper() {\n // 获取当前时间的下标\n let sliderList: any = document.querySelector(\"#sliderListId\");\n let slidersWrapper: any = document.querySelector(\"#slidersWrapperId\");\n let leftInit: any = 0;\n let width: any =\n sliderList.offsetWidth - proxyData.screenInfo.screenWidth;\n sliderList.addEventListener(\"touchstart\", function (e: any) {\n leftInit = isNaN(parseInt(sliderList.style.left))\n ? 0\n : parseInt(sliderList.style.left);\n leftInit = Math.abs(leftInit);\n });\n swiper(sliderList, {\n swipeLeft: function (e: any) {\n if (!proxyData.checkMoveTarget(e)) {\n let left: any = isNaN(parseInt(sliderList.style.left))\n ? 0\n : parseInt(sliderList.style.left);\n left = Math.abs(left);\n if (left >= width) {\n sliderList.style.left = -width + \"px\";\n } else {\n sliderList.style.left =\n -leftInit - Math.abs(e.mation.moveX - e.mation.startX) + \"px\";\n }\n }\n },\n swipeRight: function (e: any) {\n if (!proxyData.checkMoveTarget(e)) {\n let left: any = isNaN(parseInt(sliderList.style.left))\n ? 0\n : parseInt(sliderList.style.left);\n if (left >= 0) {\n sliderList.style.left = 0 + \"px\";\n } else {\n sliderList.style.left =\n -leftInit + Math.abs(e.mation.moveX - e.mation.startX) + \"px\";\n }\n }\n },\n });\n },\n // 判断滑动的是否是滑快\n checkMoveTarget(el: any) {\n let endBox: any = document.querySelector(\"#endBoxId\");\n let endEnd: any = document.querySelector(\"#endId\");\n let endRadio: any = document.querySelector(\"#endRadioId\");\n if (\n el.target === endBox ||\n el.target === endEnd ||\n el.target === endRadio\n ) {\n return true;\n }\n return false;\n },\n // 判断滑动的位置是否包含服务定制的位置(如果当前滑动的位置在服务定制处不让滑动)\n checkPersionService() {\n let flag: any = false;\n for (let i = proxyData.startIndex; i < proxyData.endIndex; i++) {\n if (proxyData.nowTimerArr[i].isServiceTime) {\n flag = true;\n break;\n }\n }\n proxyData.formBtn = flag;\n },\n cancelRemoveListener() {\n let endBox: any = document.querySelector(\"#endBoxId\");\n endBox.removeEventListener(\"touchstart\", function (e: any) {}, false);\n endBox.removeEventListener(\"touchend\", function (e: any) {}, false);\n endBox.removeEventListener(\"touchmove\", function (e: any) {}, false);\n let sliderList: any = document.querySelector(\"#sliderListId\");\n sliderList.removeEventListener(\n \"touchstart\",\n function (e: any) {},\n false\n );\n sliderList.removeEventListener(\"touchend\", function (e: any) {}, false);\n sliderList.removeEventListener(\n \"touchmove\",\n function (e: any) {},\n false\n );\n },\n /**\n * 日历滑动\n */\n endBoxSwiper() {\n let sliderList: any = document.querySelector(\"#sliderListId\");\n let endBox: any = document.querySelector(\"#endBoxId\");\n let sliderBtnEl: any = document.querySelector(\"#sliderBtnId\");\n let startEl: any = document.querySelector(\"#startId\");\n let sliderBoxEl: any = document.querySelectorAll(\".slider-box\")[0];\n let sliderInitLeft: any = 0;\n let sliderBtnLeft: any = 0;\n let screenLeft: any = 0;\n let startElLeft: any = 0;\n let sliderBtnWidth: any = 0;\n let sliderBoxWidth: any = 0;\n let direction: any = 0; // 0是像左 1表示向右边移动\n let isMove: any = false;\n endBox.addEventListener(\"touchstart\", function (e: any) {\n isMove = false;\n startElLeft = isNaN(parseInt(startEl.style.left))\n ? 0\n : parseInt(startEl.style.left);\n // sliderInitLeft = isNaN(parseInt(sliderList.style.left))\n // ? 0\n // : parseInt(sliderList.style.left);\n sliderBtnLeft = isNaN(parseInt(sliderBtnEl.style.left))\n ? 0\n : parseInt(sliderBtnEl.style.left);\n // sliderInitLeft = Math.abs(sliderInitLeft);\n sliderBtnWidth = sliderBtnEl.offsetWidth;\n sliderBoxWidth = sliderBoxEl.offsetWidth;\n });\n endBox.addEventListener(\"touchend\", function (e: any) {\n // console.log(e);\n if (isMove) {\n sliderBtnWidth = sliderBtnEl.offsetWidth;\n let index: any = Math.ceil(\n sliderBtnWidth / sliderBoxEl.offsetWidth\n );\n if (proxyData.startIndex + index >= proxyData.timerArr.length - 1) {\n index = proxyData.timerArr.length - 1 - proxyData.startIndex;\n }\n sliderBtnEl.style.width = sliderBoxEl.offsetWidth * index + \"px\";\n sliderBtnEl.style.background = `rgba(0,0,0,0.2)`;\n // debugger;\n proxyData.setOptionnalPerstion(proxyData.startIndex, index);\n isMove = false;\n // 判断按钮是否可以点击(如果选择的时候包含服务定制时间,则不可点击)\n proxyData.checkPersionService();\n }\n });\n swiper(endBox, {\n swipeLeft: function (e: any) {\n if (proxyData.checkMoveTarget(e)) {\n direction = 0;\n isMove = true;\n let moveRealX: any = Math.abs(e.mation.moveX - e.mation.startX);\n let sliderLeft: any = isNaN(parseInt(sliderList.style.left))\n ? 0\n : parseInt(sliderList.style.left);\n sliderLeft = Math.abs(sliderLeft);\n\n let width: any = sliderBoxEl.offsetWidth;\n if (sliderBtnWidth - moveRealX <= width) {\n sliderBtnEl.style.width = width + \"px\";\n } else {\n sliderBtnEl.style.width = sliderBtnWidth - moveRealX + \"px\";\n proxyData.cancelSliderBoxColor();\n }\n let bg: any = parseImgUrl(\"ipdImages\", \"time-wait.svg\");\n sliderBtnEl.style.background = `linear-gradient(0deg, rgba(0, 255, 163, 0.2), rgba(0, 255, 163, 0.2))`;\n if (\n sliderBtnLeft + (sliderBtnWidth - moveRealX) - sliderBoxWidth <\n sliderLeft\n ) {\n let left: any =\n -sliderLeft +\n (sliderLeft +\n sliderBoxWidth -\n (sliderBtnLeft + sliderBtnWidth - moveRealX));\n if (left > 0) {\n sliderList.style.left = 0 + \"px\";\n } else {\n sliderList.style.left = left + \"px\";\n }\n }\n }\n },\n swipeRight: function (e: any) {\n if (proxyData.checkMoveTarget(e)) {\n isMove = true;\n direction = 1;\n let moveRealX: any = Math.abs(e.mation.moveX - e.mation.startX);\n sliderBtnEl.style.background = `linear-gradient(0deg, rgba(0, 255, 163, 0.2), rgba(0, 255, 163, 0.2))`;\n let sliderLeft: any = isNaN(parseInt(sliderList.style.left))\n ? 0\n : parseInt(sliderList.style.left);\n sliderLeft = Math.abs(sliderLeft);\n let width: any =\n sliderList.offsetWidth - proxyData.screenInfo.screenWidth;\n screenLeft = sliderLeft + proxyData.screenInfo.screenWidth;\n if (\n sliderBtnLeft +\n sliderBtnWidth +\n moveRealX +\n sliderBoxEl.offsetWidth * 2 >=\n screenLeft\n ) {\n let left: any =\n -sliderLeft -\n (sliderBtnLeft +\n sliderBtnWidth +\n moveRealX +\n sliderBoxEl.offsetWidth * 2 -\n screenLeft);\n sliderList.style.left = left + \"px\";\n if (sliderLeft >= width) {\n sliderList.style.left = -width + \"px\";\n }\n }\n if (\n sliderBtnLeft +\n sliderBtnWidth +\n moveRealX +\n sliderBoxEl.offsetWidth >=\n sliderList.offsetWidth\n ) {\n sliderBtnEl.style.width =\n sliderList.offsetWidth -\n sliderBtnLeft -\n sliderBoxEl.offsetWidth +\n \"px\";\n } else {\n sliderBtnEl.style.width = sliderBtnWidth + moveRealX + \"px\";\n }\n }\n },\n });\n },\n cancelSliderBoxColor() {\n let sliderBoxArr: any = document.querySelectorAll(\".slider-box\");\n for (let i = 0; i < sliderBoxArr.length; i++) {\n if (!proxyData.nowTimerArr[i].isCheck) {\n if (\n i >= proxyData.startIndex &&\n i < proxyData.startIndex + proxyData.startLen\n ) {\n sliderBoxArr[i].style.background =\n \"linear-gradient(0deg, rgba(0, 255, 163, 0.2), rgba(0, 255, 163, 0.2))\";\n }\n }\n }\n },\n /**\n * 设置可选日期的位置\n */\n setOptionnalPerstion(index: any, len: any = 1) {\n // debugger\n let sliderList: any = document.querySelector(\"#sliderListId\");\n proxyData.startIndex = index;\n proxyData.startLen = len;\n proxyData.endIndex = proxyData.startIndex + len;\n let slidersWrapper: any = document.querySelector(\"#slidersWrapperId\");\n let slidersWrapperWidth: any =\n slidersWrapper.getBoundingClientRect().width;\n let sliderBtnEl: any = document.querySelector(\"#sliderBtnId\");\n let endEnd: any = document.querySelector(\"#endBoxId\");\n let sliderBoxArr: any = document.querySelectorAll(\".slider-box\");\n let parseIndex = proxyData.getTomorrowIndex();\n for (let i = 0; i < sliderBoxArr.length; i++) {\n if (i >= parseIndex) {\n sliderBoxArr[i].style.background = \"transparent\";\n }\n }\n let bg: any = parseImgUrl(\"ipdImages\", \"time-wait.svg\");\n for (let i = 0; i < len; i++) {\n sliderBoxArr[\n index + i\n ].style.background = `linear-gradient(0deg, rgba(0, 255, 163, 0.2), rgba(0, 255, 163, 0.2)), url(${bg})`;\n }\n sliderBtnEl.style.width = slidersWrapperWidth * len + \"px\";\n sliderBtnEl.style.background = `rgba(0,0,0,0.2)`;\n let left: any = slidersWrapperWidth * index;\n sliderBtnEl.style.left = left + \"px\";\n // // 已被选择的时间\n proxyData.setCheckTimeStyle();\n // // 固定服务时间(空间服务时间)\n proxyData.setServiceTimerStyle();\n },\n /**\n * 设置过去的时间\n */\n setPastTime(index: any) {\n if (proxyData.nowData.week === \"今天\") {\n let sliderBoxArr: any = document.querySelectorAll(\".slider-box\");\n for (let i = 0; i < sliderBoxArr.length; i++) {\n if (i < index) {\n sliderBoxArr[i].style.background = `rgba(196, 196, 196, 0.2)`;\n }\n }\n }\n },\n /**\n * 设置已经选中时间\n */\n setCheckTimeStyle() {\n let timerArr: any = proxyData.nowTimerArr;\n let sliderBoxArr: any = document.querySelectorAll(\".slider-box\");\n for (let i = 0; i < timerArr.length; i++) {\n if (timerArr[i].isCheck) {\n sliderBoxArr[i].style.background = proxyData.bgRed;\n }\n }\n },\n /***\n * 固定服务时间的颜色增加\n */\n setServiceTimerStyle() {\n let timerArr: any = proxyData.nowTimerArr;\n // debugger\n let sliderBoxArr: any = document.querySelectorAll(\".slider-box\");\n for (let i = 0; i < timerArr.length; i++) {\n if (timerArr[i].isServiceTime) {\n sliderBoxArr[i].style.background = `rgba(196, 196, 196, 0.2)`;\n }\n }\n },\n // 转化日期(分钟处理成可选择)\n parseCusStartTime(time: any) {\n let newTime: any = time;\n if (time) {\n let minute: any = (time / 100) % 100;\n if (minute) {\n let temTimeInt: any = time / 10000;\n temTimeInt = parseInt(temTimeInt);\n if (minute < 30) {\n if (temTimeInt < 10) {\n newTime = \"0\" + temTimeInt + \"30\" + \"00\";\n } else {\n newTime = temTimeInt + \"30\" + \"00\";\n }\n } else if (minute > 30) {\n temTimeInt = temTimeInt + 1;\n if (temTimeInt < 10) {\n newTime = \"0\" + temTimeInt + \"00\" + \"00\";\n } else {\n newTime = temTimeInt + \"00\" + \"00\";\n }\n }\n }\n }\n return newTime;\n },\n // 转化日期(分钟处理成可选择)\n parseCusEndTime(time: any) {\n let newTime: any = time;\n if (time) {\n let minute: any = (time / 100) % 100;\n if (minute) {\n let temTimeInt: any = time / 10000;\n temTimeInt = parseInt(temTimeInt);\n if (minute < 30) {\n if (temTimeInt < 10) {\n newTime = \"0\" + temTimeInt + \"00\" + \"00\";\n } else {\n newTime = temTimeInt + \"00\" + \"00\";\n }\n } else if (minute > 30) {\n if (temTimeInt < 10) {\n newTime = \"0\" + temTimeInt + \"30\" + \"00\";\n } else {\n newTime = temTimeInt + \"30\" + \"00\";\n }\n }\n }\n }\n return newTime;\n },\n /**\n * 选中当前模块\n */\n checkSlider(item: any, index: any) {\n if (index === proxyData.nowTimerArr.length - 1) {\n return;\n }\n // 按钮的状态\n proxyData.formBtn = false;\n let nowIndex: any = proxyData.getNowIndex();\n if (proxyData.nowData.week === \"今天\" && index < nowIndex) {\n // 过去的时间不可选择\n // 过去的时间不可选择\n return;\n }\n if (proxyData.nowData.cusStartTime && proxyData.nowData.cusEndTime) {\n let formatTimer: any = proxyData.nowTimerArr[index].formatTimer; //在服务定制时间之间\n let cusStartTime: any = proxyData.parseCusStartTime(\n proxyData.nowData.cusStartTime\n );\n let cusEndTime: any = proxyData.parseCusEndTime(\n proxyData.nowData.cusEndTime\n );\n if (formatTimer >= cusStartTime && formatTimer < cusEndTime) {\n return;\n }\n }\n proxyData.setOptionnalPerstion(index);\n },\n /**\n * 获取个人加班申请数据\n */\n dateArr: dateArr,\n myTimeArr: myTimeArr,\n // // 服务定制开始时间转化(处理服务定制时间包含几分钟的问题)\n // parseCusStatTime() {},\n // // 服务定制结束时间转化(处理服务定制时间包含几分钟的问题)\n // parseCusEndTime(time: any) {\n // let newTime: any = \"\";\n // if (time) {\n // let minute: any = (time / 100) % 100;\n // if (minute < 30) {\n\n // } else if (minute > 30) {\n // } else {\n // newTime = time;\n // }\n // }\n // },\n setWorkTimeList() {\n proxyData.isUpdate = false;\n proxyGlobal.proxy.$loadinngEnd();\n let data: any = proxyData.workkArr;\n proxyData.dateArr = [];\n let nowDate: any = formatDate(\"YYYY-MM-DD\");\n for (let i = 0; i < data.length; i++) {\n let date: any = formatDateStr(data[i].date);\n let cusStartTime: any = proxyData.parseCusStartTime(\n data[i].cusStartTime\n );\n let cusEndTime: any = proxyData.parseCusEndTime(data[i].cusEndTime);\n // let isActive: Boolean = false;\n let week: any = getWeekDate(new Date(date).getDay());\n if (date === nowDate) {\n // isActive = true;\n week = \"今天\";\n }\n let timerArr: any = [];\n for (let i = 0; i < proxyData.timerArr.length; i++) {\n let obj: any = {\n timer: proxyData.timerArr[i],\n isCheck: false,\n formatTimer: proxyData.timerArr[i].replace(/[:]/g, \"\") + \"00\",\n };\n timerArr.push(obj);\n }\n let customSceneList: any = data[i]?.customSceneList ?? [];\n customSceneList.map((custom: any) => {\n for (let j = 0; j < timerArr.length; j++) {\n // debugger\n if (timerArr[j].formatTimer < cusStartTime) {\n let tempStartTime: any = proxyData.parseCusStartTime(\n custom.startTime\n );\n let tempEndTime: any = proxyData.parseCusStartTime(\n custom.endTime\n );\n // 加班时间在服务定制时间之前\n if (\n timerArr[j].formatTimer >= tempStartTime &&\n timerArr[j].formatTimer < tempEndTime\n ) {\n timerArr[j].isCheck = true;\n }\n } else {\n // 加班时间在服务外定制时间之后\n let tempStartTime: any = proxyData.parseCusEndTime(\n custom.startTime\n );\n let tempEndTime: any = proxyData.parseCusEndTime(\n custom.endTime\n );\n if (\n timerArr[j].formatTimer >= tempStartTime &&\n timerArr[j].formatTimer < tempEndTime\n ) {\n timerArr[j].isCheck = true;\n }\n }\n }\n });\n // 是否在固定区域时间\n if (cusStartTime && cusEndTime) {\n timerArr.map((item: any) => {\n if (\n item.formatTimer >= cusStartTime &&\n item.formatTimer < cusEndTime\n ) {\n item.isServiceTime = true;\n } else {\n item.isServiceTime = false;\n }\n });\n }\n\n proxyData.dateArr.push({\n date: date,\n isActive: false,\n oldDate: data[i].date,\n objectId: data[i].objectId,\n cusStartTime: data[i].cusStartTime,\n customSceneList: customSceneList,\n cusEndTime: data[i].cusEndTime,\n day: getDate(new Date(date)),\n week: week,\n timerArr: timerArr,\n });\n }\n // debugger\n proxyData.dateArr.map((item: any, index: any) => {\n if (index === proxyData.activeIndex) {\n proxyData.checkDate(item, index);\n return;\n }\n });\n },\n clearTimerBoxStyle() {\n proxyData.dateArr.map((elItem: any) => {\n elItem.isActive = false;\n });\n let timerArr: any = proxyData.nowTimerArr;\n let sliderBoxArr: any = document.querySelectorAll(\".slider-box\");\n for (let i = 0; i < timerArr.length; i++) {\n sliderBoxArr[i].style.background = `transparent`;\n }\n // 切换日期的时候取消绑定\n // proxyData.cancelRemoveListener();\n },\n /**\n * 切换日期\n */\n activeIndex: 0,\n checkDate(item: any, index: any) {\n proxyData.clearTimerBoxStyle();\n item.isActive = true;\n proxyData.activeIndex = index;\n proxyData.nowTimerArr = proxyData.dateArr[index].timerArr;\n proxyData.nowData = proxyData.dateArr[index];\n nextTick(() => {\n proxyData.setOptionnalTime(proxyData.nowTimerArr);\n let nowIndex: any = proxyData.getNowIndex();\n if (proxyData.nowData.week === \"今天\") {\n proxyData.setPastTime(nowIndex);\n }\n // // 已经被选择的时间\n proxyData.setCheckTimeStyle();\n // // 固定服务时间\n proxyData.setServiceTimerStyle();\n if (!proxyData.isEvent) {\n proxyData.changeEl();\n proxyData.isEvent = true;\n }\n });\n },\n /**\n * dom的滚动功能设置\n */\n flag: false,\n changeEl() {\n // 事件解绑定\n // proxyData.cancelRemoveListener();\n proxyData.setScreennWidth();\n proxyData.sliderSwiper();\n proxyData.endBoxSwiper();\n // if (!proxyData.flag) {\n // proxyData.setScreennWidth();\n // proxyData.sliderSwiper();\n // proxyData.endBoxSwiper();\n // proxyData.flag = true;\n // }\n },\n // 加班数据格式化=》后台需要的数据结构(添加加班逻辑)\n formateAddTimer() {\n let customSceneList: any = proxyData.nowData.customSceneList;\n let timerArr: any = proxyData.nowData.timerArr;\n let startTime: any = timerArr[proxyData.startIndex].formatTimer;\n let endTime: any = timerArr[proxyData.endIndex].formatTimer;\n // debugger;\n let delTimerArr: any = [];\n // 加班时间拼接\n customSceneList.map((item: any, index: any) => {\n // let itemStartTime:any=proxyData.parseCusStartTime(item.startTime)\n // let itemEndTime:any=proxyData.parseCusStartTime(item.endTime)\n // item时间段保护当前时间端\n if (startTime < item.startTime) {\n if (endTime < item.startTime) {\n } else if (endTime >= item.startTime) {\n // 时间段连续拼接上\n let delObj: any = proxyData.formaTimeObj(\n item,\n \"1\",\n item.startTime,\n item.endTime\n );\n delTimerArr.push(delObj);\n startTime = startTime;\n endTime = endTime;\n }\n } else if (startTime >= item.startTime && startTime < item.endTime) {\n if (endTime <= item.endTime) {\n let delObj: any = proxyData.formaTimeObj(\n item,\n \"1\",\n item.startTime,\n item.endTime\n );\n delTimerArr.push(delObj);\n startTime = startTime;\n endTime = endTime;\n } else if (endTime > item.endTime) {\n let delObj: any = proxyData.formaTimeObj(\n item,\n \"1\",\n item.startTime,\n item.endTime\n );\n delTimerArr.push(delObj);\n startTime = item.startTime;\n endTime = endTime;\n }\n } else if (startTime >= item.endTime) {\n if (startTime === item.endTime) {\n let delObj: any = proxyData.formaTimeObj(\n item,\n \"1\",\n item.startTime,\n item.endTime\n );\n delTimerArr.push(delObj);\n startTime = item.startTime;\n endTime = endTime;\n }\n } else if (startTime === item.startTime && endTime === item.endTime) {\n // 两个时间段一致\n }\n });\n\n // 加班时间处理好后和服务定制时间做对比(处理时分秒的情况)\n let cusStartTime: any = proxyData.parseCusStartTime(\n proxyData.nowData.cusStartTime\n );\n let cusEndTime: any = proxyData.parseCusEndTime(\n proxyData.nowData.cusEndTime\n );\n if (startTime < cusStartTime && endTime <= cusStartTime) {\n if (endTime === cusStartTime) {\n endTime = proxyData.nowData.cusStartTime;\n }\n } else if (startTime >= cusEndTime) {\n if (startTime === cusEndTime) {\n startTime = proxyData.nowData.cusEndTime;\n }\n }\n let relNowTime: any = getRelNowTime();\n let type = \"0\";\n if (\n proxyData.nowData.week === \"今天\" &&\n relNowTime >= startTime &&\n relNowTime <= endTime\n ) {\n type = \"2\";\n }\n\n let addObj: any = proxyData.formaTimeObj(\n customSceneList[0],\n type,\n startTime,\n endTime\n );\n delTimerArr.push(addObj);\n let formTimeArr: any = delTimerArr;\n return formTimeArr;\n },\n // 格式化加班单个数据\n formaTimeObj(item: any, type: any, startTime: any, endTime: any) {\n let obj: any = {\n projectId: proxyData.projectId, //类型:String 必有字段 备注:项目id\n objectId: proxyData.nowData.objectId, //类型:String 必有字段 备注:空间id\n sourceType: proxyData.userInfo.pubname, //类型:String 必有字段 备注:sagacareAndtenantslink 来源\n startDate: proxyData.nowData.oldDate, //类型:String 必有字段 备注://开始日期\n endDate: proxyData.nowData.oldDate, //类型:String 必有字段 备注://结束日期\n startTime: startTime, //类型:String 必有字段 备注://开始时间\n endTime: endTime, //类型:String 必有字段 备注://结束时间\n type: type, //类型:String 必有字段 备注://0 预约加班,1 取消,2 加班(我来了), 3 最后一个走\n userId: proxyData.userInfo.userId, //类型:String 必有字段 备注://用户id\n userPhone: proxyData.userInfo.userPhone, //类型:String 必有字段 备注://手机号\n customSceneEqType: \"ALL\", //类型:String 必有字段 备注://来源 AC 空调入口, SE 灯入口 ALL 加班入口\n userName: proxyData.userInfo.userName, //类型:String 必有字段 备注://名字\n };\n if (type === \"1\") {\n obj.id = item.id; //类型:String 必有字段 备注:取消加班时必传\n }\n return obj;\n },\n // 加班数据格式化=》后台需要的数据结构(删除加班逻辑)\n formateDelTimer() {\n let timerArr: any = proxyData.nowData.timerArr;\n let endIndex: any = proxyData.endIndex > 0 ? proxyData.endIndex - 1 : 0;\n // debugger\n // 如果当前选择的日期只在已经选中的范围内\n if (\n timerArr[proxyData.startIndex].isCheck &&\n timerArr[endIndex].isCheck\n ) {\n let customSceneList: any = proxyData.nowData.customSceneList || [];\n let startTime: any = timerArr[proxyData.startIndex].formatTimer;\n let endTime: any = timerArr[proxyData.endIndex].formatTimer;\n let delTimerArr: any = [];\n let addTimeArr: any = [];\n // 删除时间的数据拼接\n for (let i = 0; i < customSceneList.length; i++) {\n let index: any = i;\n let item: any = customSceneList[i];\n if (startTime == item.startTime && endTime == item.endTime) {\n // 代表需要删除该段\n // 整段删除\n let delObj: any = proxyData.formaTimeObj(\n item,\n \"1\",\n item.startTime,\n item.endTime\n );\n delTimerArr.push(delObj);\n break;\n } else if (item.startTime < startTime) {\n if (item.endTime <= endTime) {\n let delObj: any = proxyData.formaTimeObj(\n item,\n \"1\",\n item.startTime,\n item.endTime\n );\n delTimerArr.push(delObj);\n let addObj: any = proxyData.formaTimeObj(\n customSceneList[0],\n \"0\",\n item.startTime,\n startTime\n );\n addTimeArr.push(addObj);\n } else if (item.endTime > endTime) {\n let delObj: any = proxyData.formaTimeObj(\n item,\n \"1\",\n item.startTime,\n item.endTime\n );\n delTimerArr.push(delObj);\n let addObj1: any = proxyData.formaTimeObj(\n customSceneList[0],\n \"0\",\n item.startTime,\n startTime\n );\n addTimeArr.push(addObj1);\n let addObj2: any = proxyData.formaTimeObj(\n customSceneList[0],\n \"0\",\n endTime,\n item.endTime\n );\n addTimeArr.push(addObj2);\n }\n } else if (item.startTime === item.startTime) {\n if (item.endTime <= endTime) {\n // 整段删除\n let delObj: any = proxyData.formaTimeObj(\n item,\n \"1\",\n item.startTime,\n item.endTime\n );\n delTimerArr.push(delObj);\n } else if (item.endTime > endTime) {\n let delObj: any = proxyData.formaTimeObj(\n item,\n \"1\",\n item.startTime,\n item.endTime\n );\n delTimerArr.push(delObj);\n let addObj1: any = proxyData.formaTimeObj(\n customSceneList[0],\n \"0\",\n endTime,\n item.endTime\n );\n addTimeArr.push(addObj1);\n }\n } else if (item.startTime > startTime) {\n if (item.endTime <= endTime) {\n // 整段删除\n let delObj: any = proxyData.formaTimeObj(\n item,\n \"1\",\n item.startTime,\n item.endTime\n );\n delTimerArr.push(delObj);\n } else if (item.endTime > endTime) {\n let delObj: any = proxyData.formaTimeObj(\n item,\n \"1\",\n item.startTime,\n item.endTime\n );\n delTimerArr.push(delObj);\n let addObj1: any = proxyData.formaTimeObj(\n customSceneList[0],\n \"0\",\n endTime,\n item.endTime\n );\n addTimeArr.push(addObj1);\n }\n }\n }\n // addTimeArr.map((item: any) => {\n // let realTime: any = getRelNowTime();\n // if (realTime >= item.startTime && realTime <= item.endTime) {\n // item.type = \"3\";\n // item.endTimeReal = realTime;\n // }\n // });\n let formTimeArr: any = addTimeArr.concat(delTimerArr);\n return formTimeArr;\n } else {\n return [];\n }\n },\n // 关闭加班弹窗\n closeWorkTimer() {\n proxyData.formBtn = false;\n context.emit(\"closeWork\");\n },\n // 提交申请\n addWorkTimer() {\n let formTimerArr: any = proxyData.formateAddTimer();\n proxyData.saveBatchCustomScene(formTimerArr);\n // console.log(\"提交申请-----\");\n // console.log(formTimerArr);\n },\n // 提交加班记录\n saveBatchCustomScene(formTimerArr: any, type: any = 1) {\n // proxyGlobal.proxy.$loadingStart(0);\n proxyData.showLoading = true;\n proxyData.formBtn = true;\n saveBatchCustomScene(formTimerArr)\n .then((res) => {\n // debugger;\n if (type === 1) {\n // 添加\n // proxyGlobal.proxy.$loadinngEnd();\n proxyData.showLoading = false;\n } else if (type === 2) {\n // 删除\n proxyData.isUpdate = true;\n proxyData.showLoading = false;\n // proxyData.setWorkTimeList();\n }\n context.emit(\"closeWork\");\n proxyData.formBtn = false;\n })\n .catch(() => {\n // proxyGlobal.proxy.$loadinngEnd();\n proxyData.showLoading = false;\n });\n },\n // 删除\n isUpdate: false, // 删除更新弹窗数据\n triggerDelTime() {\n let formTimeArr: any = proxyData.formateDelTimer();\n if (formTimeArr && formTimeArr.length) {\n // console.log(formTimeArr);\n // alert(\"确定删除当前时间吗?\");\n Dialog.confirm({\n title: \"确认\",\n message: \"确定删除当前时间吗?\",\n })\n .then(() => {\n proxyData.saveBatchCustomScene(formTimeArr, 2);\n })\n .catch(() => {\n // on cancel\n });\n }\n },\n });\n watch(props, (newProps: any) => {\n proxyData.workkArr = newProps.workkArr;\n proxyData.projectId = newProps.projectId;\n if (proxyData.isUpdate) {\n proxyData.setWorkTimeList();\n }\n // proxyData.getWorkTimeList();\n });\n onMounted(() => {\n // 设置dom最外层的宽\n proxyData.setWorkTimeList();\n });\n return {\n ...toRefs(proxyData),\n };\n },\n});\n","import { render } from \"./index.vue?vue&type=template&id=7d28da75&scoped=true&ts=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=7d28da75&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/wangyong/shanggeyun/code/sagacloud-sagacare-ipad/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7d28da75\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, withModifiers as _withModifiers, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, vShow as _vShow, withDirectives as _withDirectives, normalizeStyle as _normalizeStyle, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-dfeb0ad2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"work-content\" }\nconst _hoisted_2 = { class: \"work-space\" }\nconst _hoisted_3 = { class: \"space-title\" }\nconst _hoisted_4 = {\n class: \"add-time\",\n id: \"addTimeId\"\n}\nconst _hoisted_5 = {\n key: 0,\n class: \"date_box\"\n}\nconst _hoisted_6 = [\"onClick\"]\nconst _hoisted_7 = {\n class: \"sliders-list\",\n id: \"sliderListId\"\n}\nconst _hoisted_8 = { class: \"sliders\" }\nconst _hoisted_9 = [\"onClick\", \"data-index\"]\nconst _hoisted_10 = [\"onClick\"]\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"start\",\n id: \"startId\"\n}, null, -1))\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"end-box\",\n id: \"endBoxId\"\n}, [\n /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"end\",\n id: \"endId\"\n }),\n /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"end-radio\",\n id: \"endRadioId\"\n })\n], -1))\nconst _hoisted_13 = [\n _hoisted_11,\n _hoisted_12\n]\nconst _hoisted_14 = { class: \"add-time-btn\" }\nconst _hoisted_15 = {\n key: 0,\n class: \"device-title\"\n}\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"line\" }, null, -1))\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"text\" }, \"预约开启设备\", -1))\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"line\" }, null, -1))\nconst _hoisted_19 = [\n _hoisted_16,\n _hoisted_17,\n _hoisted_18\n]\nconst _hoisted_20 = { class: \"work-device\" }\nconst _hoisted_21 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"row-title\" }, \"空调\", -1))\nconst _hoisted_22 = { class: \"device-box\" }\nconst _hoisted_23 = [\"onClick\"]\nconst _hoisted_24 = { class: \"row-item\" }\nconst _hoisted_25 = [\"src\"]\nconst _hoisted_26 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"row-title\" }, \"照明\", -1))\nconst _hoisted_27 = { class: \"device-box\" }\nconst _hoisted_28 = [\"onClick\"]\nconst _hoisted_29 = { class: \"row-item\" }\nconst _hoisted_30 = [\"src\"]\nconst _hoisted_31 = {\n key: 2,\n class: \"device-tip\"\n}\nconst _hoisted_32 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \"计费方式:\", -1))\nconst _hoisted_33 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, [\n /*#__PURE__*/_createElementVNode(\"span\", null, \" * \"),\n /*#__PURE__*/_createTextVNode(\" 空调延时采用后付费方式,系统将根据您申请的时间产生延时费用。预约时间下您可自由开启空间下的设备。 \")\n], -1))\nconst _hoisted_34 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, \" 收费标准按开机设备对应空间的面积计费,空调加时费用按0.4元/m²·h进行计费,照明设备延时使用不计费。 \", -1))\nconst _hoisted_35 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, \" 如您提前结束工作,请点击“我要离开”按钮,系统会自动调整设备关闭时间,感谢与您一同共创可持续的办公环境。 \", -1))\nconst _hoisted_36 = [\n _hoisted_32,\n _hoisted_33,\n _hoisted_34,\n _hoisted_35\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_van_loading = _resolveComponent(\"van-loading\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_ctx.spaceInfo.spaceName) + \" 申请延时\", 1)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n (_ctx.dateArr && _ctx.dateArr.length)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.dateArr, (item, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"date-item\", item.isActive ? 'date-item-active' : '']),\n onClick: _withModifiers(($event: any) => (_ctx.checkDate(item, index)), [\"stop\"]),\n key: 'date' + index\n }, [\n _createElementVNode(\"span\", null, _toDisplayString(item.week), 1),\n _createElementVNode(\"span\", null, _toDisplayString(item.day), 1)\n ], 10, _hoisted_6))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_7, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.nowTimerArr, (item, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: 'slider' + index,\n class: \"sliders-wrapper\",\n id: \"slidersWrapperId\"\n }, [\n _createElementVNode(\"div\", _hoisted_8, [\n _withDirectives(_createElementVNode(\"div\", { class: \"label\" }, _toDisplayString(item.timer), 513), [\n [_vShow, index === 0 || index % 2 === 0]\n ]),\n _createElementVNode(\"div\", {\n class: \"slider-box\",\n onClick: ($event: any) => (_ctx.checkSlider(item, index)),\n \"data-index\": index\n }, null, 8, _hoisted_9)\n ])\n ]))\n }), 128)),\n (_ctx.approvalData && _ctx.approvalData.length)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 0 }, _renderList(_ctx.approvalData, (item, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"approval-status\",\n style: _normalizeStyle([{\"width\":\"60px\"}, {\n left: item.left + 'px',\n background: item.bg,\n }]),\n key: 'approval' + index,\n onClick: ($event: any) => (_ctx.checkApprovalStatus(item, $event))\n }, _toDisplayString(item.text), 13, _hoisted_10))\n }), 128))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", {\n class: \"slider-btn\",\n id: \"sliderBtnId\",\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.triggerDelTime && _ctx.triggerDelTime(...args)))\n }, _hoisted_13)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", {\n class: \"cancel-btn\",\n onClick: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.closeWorkTimer && _ctx.closeWorkTimer(...args)))\n }, \"取消\"),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"comfirm-btn\", _ctx.formBtn ? 'comfirm-btn-diabled' : '']),\n onClick: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => (_ctx.addWorkTimer && _ctx.addWorkTimer(...args)))\n }, \" 提交申请 \", 2)\n ]),\n (_ctx.isLight || _ctx.isAir)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, _hoisted_19))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_20, [\n (_ctx.isAir)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_21,\n _createElementVNode(\"div\", _hoisted_22, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.nowData.equipmentList, (item, index) => {\n return (_openBlock(), _createElementBlock(_Fragment, {\n key: 'eq' + index\n }, [\n (item.equipmentCategory !== 'SELTLT')\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"device-row\",\n style: _normalizeStyle({ width: _ctx.airNum == 1 ? '98%' : '48%' }),\n onClick: ($event: any) => (_ctx.checkEquipment(item))\n }, [\n _createElementVNode(\"div\", _hoisted_24, [\n _createElementVNode(\"span\", null, _toDisplayString(item.localName), 1),\n _createElementVNode(\"img\", {\n src: \n item.isCheck\n ? _ctx.parseImgUrl('ipdImages', 'check-open.svg')\n : _ctx.parseImgUrl('ipdImages', 'check-close.svg')\n ,\n alt: \"\"\n }, null, 8, _hoisted_25)\n ])\n ], 12, _hoisted_23))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 128))\n ])\n ], 64))\n : _createCommentVNode(\"\", true),\n (_ctx.isLight)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _hoisted_26,\n _createElementVNode(\"div\", _hoisted_27, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.nowData.equipmentList, (item, index) => {\n return (_openBlock(), _createElementBlock(_Fragment, {\n key: 'eq' + index\n }, [\n (item.equipmentCategory === 'SELTLT')\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"device-row\",\n style: _normalizeStyle({ width: _ctx.lightNum == 1 ? '98%' : '48%' }),\n onClick: ($event: any) => (_ctx.checkEquipment(item))\n }, [\n _createElementVNode(\"div\", _hoisted_29, [\n _createElementVNode(\"span\", null, _toDisplayString(item.localName), 1),\n _createElementVNode(\"img\", {\n src: \n item.isCheck\n ? _ctx.parseImgUrl('ipdImages', 'check-open.svg')\n : _ctx.parseImgUrl('ipdImages', 'check-close.svg')\n ,\n alt: \"\"\n }, null, 8, _hoisted_30)\n ])\n ], 12, _hoisted_28))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 128))\n ])\n ], 64))\n : _createCommentVNode(\"\", true),\n (_ctx.isLight || _ctx.isAir)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_31, _hoisted_36))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.showLoading)\n ? (_openBlock(), _createBlock(_component_van_loading, {\n key: 1,\n class: \"temp-loading\"\n }))\n : _createCommentVNode(\"\", true)\n ]))\n}","\nimport { Dialog, Slider, Loading } from \"vant\";\nimport {\n defineComponent,\n reactive,\n toRefs,\n ref,\n onBeforeMount,\n onMounted,\n onUpdated,\n nextTick,\n watch,\n getCurrentInstance,\n} from \"vue\";\nimport { swiper } from \"@/utils/swiper\";\nimport {\n formatDate,\n formatDateStr,\n getDate,\n getNowTime,\n getRelNowTime,\n getTimers,\n getUserInfo,\n getWeekDate,\n parseImgUrl,\n} from \"@/utils\";\nimport { myTime } from \"@/model/workTimeData\";\nimport { propsToAttrMap } from \"@vue/shared\";\nimport { isTemplateElement } from \"@babel/types\";\nimport {\n saveBatchCustomScene,\n setallLampHttp,\n setSpaceCondtioners,\n} from \"@/apis/envmonitor\";\nimport { number } from \"echarts\";\n\nexport default defineComponent({\n components: {\n VanSlider: Slider,\n },\n props: {\n workkArr: {\n type: Array,\n default: () => [],\n },\n projectId: {\n type: String,\n default: () => \"\",\n },\n spaceInfo: {\n type: Object,\n default: () => {},\n },\n enterType: {\n type: Number,\n default: () => 1,\n },\n deviceItem: {\n type: Object,\n default: () => null,\n },\n seviceEquipmentList: {\n // 是否走服务定制的设备\n type: Array,\n default: () => [],\n },\n },\n setup(props, context) {\n const proxyGlobal: any = getCurrentInstance();\n const screenInfo: any = {\n screenWidth: 0,\n screenHeight: 0,\n };\n let dateArr: any = [];\n let myTimeArr: any = [];\n let timerArr: any = getTimers();\n let nowTimerArr: any = [];\n let nowData: any = {};\n let approvalData: any = [];\n let redUrl: any = `${parseImgUrl(\"ipdImages\", \"time-check.svg\")}`;\n let bgRed: any = `linear-gradient(0deg, rgba(255, 0, 0, 0.2), rgba(255, 0, 0, 0.2)), url(${redUrl})`;\n const userInfo: any = getUserInfo();\n const proxyData = reactive({\n userInfo: userInfo,\n seviceEquipmentList: props.seviceEquipmentList,\n parseImgUrl: parseImgUrl,\n isEvent: false,\n screenInfo: screenInfo,\n projectId: props.projectId,\n workkArr: props.workkArr,\n bgRed: bgRed,\n startIndex: 0,\n endIndex: 0,\n nowData: nowData,\n nowTimerArr: nowTimerArr,\n timerArr: timerArr,\n startLen: 0,\n formBtn: false,\n showLoading: false,\n deviceItem: props.deviceItem,\n enterType: props.enterType, // 1:all 2:空调 3:灯\n setScreennWidth() {\n let addTimeEl: any = document.querySelector(\"#addTimeId\");\n proxyData.screenInfo.screenWidth = addTimeEl.offsetWidth;\n },\n // 获取当前位置\n getNowIndex() {\n // let nowIndex: any = 0;\n // if (proxyData.nowData.week === \"今天\") {\n // nowIndex = getNowTime()[1];\n // }\n let nowIndex: any = getNowTime()[1];\n return nowIndex;\n },\n // 获取每天真实的下标\n getTomorrowIndex() {\n let nowIndex: any = 0;\n if (proxyData.nowData.week === \"今天\") {\n nowIndex = getNowTime()[1];\n }\n return nowIndex;\n },\n // 获取时间的下标\n getTimerIndex(timerArr: any, val: any) {\n let cusIndex: any = 0;\n timerArr.map((time: any, index: any) => {\n if (time.formatTimer == val) {\n cusIndex = index;\n }\n });\n return cusIndex;\n },\n // 获取当前位置的坐标(多端服务定制的判断规则-待开发)\n getNowPerstion(timerArr: any) {\n let nowIndex: any = proxyData.getNowIndex();\n let obj: any = {\n nowIndex: nowIndex,\n len: 4,\n };\n let formatTimer: any = timerArr[nowIndex].formatTimer;\n let cusStartTime: any = proxyData.parseCusStartTime(\n proxyData.nowData.cusStartTime\n );\n let cusEndTime: any = proxyData.parseCusEndTime(\n proxyData.nowData.cusEndTime\n );\n\n let spaceCustomContentList: any =\n proxyData.nowData.spaceCustomContentList || [];\n // debugger\n if (formatTimer >= cusStartTime && formatTimer <= cusEndTime) {\n // debugger\n //在服务定制时间之间\n timerArr.map((item: any, index: any) => {\n if (item.formatTimer === cusEndTime) {\n obj.nowIndex = index;\n }\n });\n let endFormatTimer: any = timerArr[nowIndex + obj.len].formatTimer;\n spaceCustomContentList.map((item: any) => {\n let startTime: any = proxyData.parseCusStartTime(item.startTime);\n if (startTime > cusEndTime && endFormatTimer > startTime) {\n let cusIndex: any = proxyData.getTimerIndex(timerArr, startTime);\n obj.len =\n cusIndex - obj.nowIndex > 0 ? cusIndex - obj.nowIndex : 0;\n }\n });\n } else if (formatTimer < cusStartTime) {\n console.log(\"在当前的服务定制之前---4\");\n timerArr.map((item: any, index: any) => {\n if (item.formatTimer === cusStartTime) {\n obj.len = index - nowIndex;\n if (obj.len > 4) {\n obj.len = 4;\n }\n }\n });\n } else if (formatTimer >= cusEndTime) {\n // 在服务定制之后\n // 在服务定制之后\n console.log(\"在当前的服务定制之后---4\");\n let endFormatTimer: any = timerArr[nowIndex + obj.len].formatTimer;\n spaceCustomContentList.map((item: any) => {\n let startTime: any = proxyData.parseCusStartTime(item.startTime);\n if (startTime > cusEndTime && endFormatTimer > startTime) {\n let cusIndex: any = proxyData.getTimerIndex(timerArr, startTime);\n obj.len =\n cusIndex - obj.nowIndex > 0 ? cusIndex - obj.nowIndex : 0;\n }\n });\n }\n return obj;\n },\n // 设置当前可选择的时间可选时间\n setNowBarPerstion(timerArr: any) {\n let sliderList: any = document.querySelector(\"#sliderListId\");\n let sliderWidth: any = proxyData.getSliderWapperWidth();\n sliderList.style.width = sliderWidth * timerArr.length + \"px\";\n let index: any = proxyData.getNowPerstion(timerArr).nowIndex;\n let len: any = proxyData.getNowPerstion(timerArr).len;\n let sliderLeft: any = sliderWidth * index;\n if (\n sliderLeft >\n proxyData.screenInfo.screenWidth +\n proxyData.screenInfo.screenWidth / 2\n ) {\n sliderLeft = sliderLeft - sliderWidth;\n }\n sliderList.style.left = -sliderLeft + \"px\";\n proxyData.setOptionnalPerstion(index, len);\n },\n sliderSwiper() {\n // 获取当前时间的下标\n let sliderList: any = document.querySelector(\"#sliderListId\");\n let slidersWrapper: any = document.querySelector(\"#slidersWrapperId\");\n let leftInit: any = 0;\n let width: any =\n sliderList.offsetWidth - proxyData.screenInfo.screenWidth;\n sliderList.addEventListener(\"touchstart\", function (e: any) {\n leftInit = isNaN(parseInt(sliderList.style.left))\n ? 0\n : parseInt(sliderList.style.left);\n leftInit = Math.abs(leftInit);\n });\n swiper(sliderList, {\n swipeLeft: function (e: any) {\n if (!proxyData.checkMoveTarget(e)) {\n let left: any = isNaN(parseInt(sliderList.style.left))\n ? 0\n : parseInt(sliderList.style.left);\n left = Math.abs(left);\n if (left >= width) {\n sliderList.style.left = -width + \"px\";\n } else {\n sliderList.style.left =\n -leftInit - Math.abs(e.mation.moveX - e.mation.startX) + \"px\";\n }\n }\n },\n swipeRight: function (e: any) {\n if (!proxyData.checkMoveTarget(e)) {\n let left: any = isNaN(parseInt(sliderList.style.left))\n ? 0\n : parseInt(sliderList.style.left);\n if (left >= 0) {\n sliderList.style.left = 0 + \"px\";\n } else {\n sliderList.style.left =\n -leftInit + Math.abs(e.mation.moveX - e.mation.startX) + \"px\";\n }\n }\n },\n });\n },\n // 判断滑动的是否是滑快\n checkMoveTarget(el: any) {\n let endBox: any = document.querySelector(\"#endBoxId\");\n let endEnd: any = document.querySelector(\"#endId\");\n let endRadio: any = document.querySelector(\"#endRadioId\");\n if (\n el.target === endBox ||\n el.target === endEnd ||\n el.target === endRadio\n ) {\n return true;\n }\n return false;\n },\n // 判断滑动的位置是否包含服务定制的位置(如果当前滑动的位置在服务定制处不让滑动)\n checkPersionService() {\n let flag: any = false;\n for (let i = proxyData.startIndex; i < proxyData.endIndex; i++) {\n if (proxyData.nowTimerArr[i].isServiceTime) {\n flag = true;\n break;\n }\n }\n proxyData.formBtn = flag;\n },\n cancelRemoveListener() {\n let endBox: any = document.querySelector(\"#endBoxId\");\n endBox.removeEventListener(\"touchstart\", function (e: any) {}, false);\n endBox.removeEventListener(\"touchend\", function (e: any) {}, false);\n endBox.removeEventListener(\"touchmove\", function (e: any) {}, false);\n let sliderList: any = document.querySelector(\"#sliderListId\");\n sliderList.removeEventListener(\n \"touchstart\",\n function (e: any) {},\n false\n );\n sliderList.removeEventListener(\"touchend\", function (e: any) {}, false);\n sliderList.removeEventListener(\n \"touchmove\",\n function (e: any) {},\n false\n );\n },\n /**\n * 日历滑动\n */\n endBoxSwiper() {\n let sliderList: any = document.querySelector(\"#sliderListId\");\n let endBox: any = document.querySelector(\"#endBoxId\");\n let sliderBtnEl: any = document.querySelector(\"#sliderBtnId\");\n let startEl: any = document.querySelector(\"#startId\");\n let sliderBoxEl: any = document.querySelectorAll(\".slider-box\")[0];\n let sliderInitLeft: any = 0;\n let sliderBtnLeft: any = 0;\n let screenLeft: any = 0;\n let startElLeft: any = 0;\n let sliderBtnWidth: any = 0;\n let sliderBoxWidth: any = 0;\n let direction: any = 0; // 0是像左 1表示向右边移动\n let isMove: any = false;\n endBox.addEventListener(\"touchstart\", function (e: any) {\n isMove = false;\n startElLeft = isNaN(parseInt(startEl.style.left))\n ? 0\n : parseInt(startEl.style.left);\n // sliderInitLeft = isNaN(parseInt(sliderList.style.left))\n // ? 0\n // : parseInt(sliderList.style.left);\n sliderBtnLeft = isNaN(parseInt(sliderBtnEl.style.left))\n ? 0\n : parseInt(sliderBtnEl.style.left);\n // sliderInitLeft = Math.abs(sliderInitLeft);\n sliderBtnWidth = sliderBtnEl.offsetWidth;\n sliderBoxWidth = sliderBoxEl.offsetWidth;\n });\n endBox.addEventListener(\"touchend\", function (e: any) {\n // console.log(e);\n if (isMove) {\n sliderBtnWidth = sliderBtnEl.offsetWidth;\n let index: any = Math.ceil(\n sliderBtnWidth / sliderBoxEl.offsetWidth\n );\n if (proxyData.startIndex + index >= proxyData.timerArr.length - 1) {\n index = proxyData.timerArr.length - 1 - proxyData.startIndex;\n }\n sliderBtnEl.style.width = sliderBoxEl.offsetWidth * index + \"px\";\n sliderBtnEl.style.background = `rgba(0,0,0,0.2)`;\n // debugger;\n proxyData.setOptionnalPerstion(proxyData.startIndex, index);\n isMove = false;\n // 判断按钮是否可以点击(如果选择的时候包含服务定制时间,则不可点击)\n proxyData.checkPersionService();\n }\n });\n swiper(endBox, {\n swipeLeft: function (e: any) {\n if (proxyData.checkMoveTarget(e)) {\n direction = 0;\n isMove = true;\n let moveRealX: any = Math.abs(e.mation.moveX - e.mation.startX);\n let sliderLeft: any = isNaN(parseInt(sliderList.style.left))\n ? 0\n : parseInt(sliderList.style.left);\n sliderLeft = Math.abs(sliderLeft);\n\n let width: any = sliderBoxEl.offsetWidth;\n if (sliderBtnWidth - moveRealX <= width) {\n sliderBtnEl.style.width = width + \"px\";\n } else {\n sliderBtnEl.style.width = sliderBtnWidth - moveRealX + \"px\";\n proxyData.cancelSliderBoxColor();\n }\n let bg: any = parseImgUrl(\"ipdImages\", \"time-wait.svg\");\n sliderBtnEl.style.background = `linear-gradient(0deg, rgba(0, 255, 163, 0.2), rgba(0, 255, 163, 0.2))`;\n if (\n sliderBtnLeft + (sliderBtnWidth - moveRealX) - sliderBoxWidth <\n sliderLeft\n ) {\n let left: any =\n -sliderLeft +\n (sliderLeft +\n sliderBoxWidth -\n (sliderBtnLeft + sliderBtnWidth - moveRealX));\n if (left > 0) {\n sliderList.style.left = 0 + \"px\";\n } else {\n sliderList.style.left = left + \"px\";\n }\n }\n }\n },\n swipeRight: function (e: any) {\n if (proxyData.checkMoveTarget(e)) {\n isMove = true;\n direction = 1;\n let moveRealX: any = Math.abs(e.mation.moveX - e.mation.startX);\n sliderBtnEl.style.background = `linear-gradient(0deg, rgba(0, 255, 163, 0.2), rgba(0, 255, 163, 0.2))`;\n let sliderLeft: any = isNaN(parseInt(sliderList.style.left))\n ? 0\n : parseInt(sliderList.style.left);\n sliderLeft = Math.abs(sliderLeft);\n let width: any =\n sliderList.offsetWidth - proxyData.screenInfo.screenWidth;\n screenLeft = sliderLeft + proxyData.screenInfo.screenWidth;\n if (\n sliderBtnLeft +\n sliderBtnWidth +\n moveRealX +\n sliderBoxEl.offsetWidth * 2 >=\n screenLeft\n ) {\n let left: any =\n -sliderLeft -\n (sliderBtnLeft +\n sliderBtnWidth +\n moveRealX +\n sliderBoxEl.offsetWidth * 2 -\n screenLeft);\n sliderList.style.left = left + \"px\";\n if (sliderLeft >= width) {\n sliderList.style.left = -width + \"px\";\n }\n }\n if (\n sliderBtnLeft +\n sliderBtnWidth +\n moveRealX +\n sliderBoxEl.offsetWidth >=\n sliderList.offsetWidth\n ) {\n sliderBtnEl.style.width =\n sliderList.offsetWidth -\n sliderBtnLeft -\n sliderBoxEl.offsetWidth +\n \"px\";\n } else {\n sliderBtnEl.style.width = sliderBtnWidth + moveRealX + \"px\";\n }\n }\n },\n });\n },\n cancelSliderBoxColor() {\n let sliderBoxArr: any = document.querySelectorAll(\".slider-box\");\n for (let i = 0; i < sliderBoxArr.length; i++) {\n if (!proxyData.nowTimerArr[i].isCheck) {\n if (\n i >= proxyData.startIndex &&\n i < proxyData.startIndex + proxyData.startLen\n ) {\n sliderBoxArr[i].style.background =\n \"linear-gradient(0deg, rgba(0, 255, 163, 0.2), rgba(0, 255, 163, 0.2))\";\n }\n }\n }\n },\n /**\n * 设置可选日期的位置\n */\n setOptionnalPerstion(index: any, len: any = 1) {\n // debugger\n let sliderList: any = document.querySelector(\"#sliderListId\");\n proxyData.startIndex = index;\n proxyData.startLen = len;\n proxyData.endIndex = proxyData.startIndex + len;\n let slidersWrapper: any = document.querySelector(\"#slidersWrapperId\");\n let slidersWrapperWidth: any =\n slidersWrapper.getBoundingClientRect().width;\n let sliderBtnEl: any = document.querySelector(\"#sliderBtnId\");\n let endEnd: any = document.querySelector(\"#endBoxId\");\n let sliderBoxArr: any = document.querySelectorAll(\".slider-box\");\n let parseIndex = proxyData.getTomorrowIndex();\n for (let i = 0; i < sliderBoxArr.length; i++) {\n if (i >= parseIndex) {\n sliderBoxArr[i].style.background = \"transparent\";\n }\n }\n let bg: any = parseImgUrl(\"ipdImages\", \"time-wait.svg\");\n for (let i = 0; i < len; i++) {\n sliderBoxArr[\n index + i\n ].style.background = `linear-gradient(0deg, rgba(0, 255, 163, 0.2), rgba(0, 255, 163, 0.2)), url(${bg})`;\n }\n sliderBtnEl.style.width = slidersWrapperWidth * len + \"px\";\n sliderBtnEl.style.background = `rgba(0,0,0,0.2)`;\n let left: any = slidersWrapperWidth * index;\n sliderBtnEl.style.left = left + \"px\";\n // // 已被选择的时间\n proxyData.setCheckTimeStyle();\n // // 固定服务时间(空间服务时间)\n proxyData.setServiceTimerStyle();\n\n // 过去的时间应该去掉\n proxyData.setPastTime();\n },\n /**\n * 设置过去的时间\n */\n setPastTime() {\n // debugger;\n if (proxyData.nowData.week === \"今天\") {\n let index: any = proxyData.getNowIndex();\n let sliderBoxArr: any = document.querySelectorAll(\".slider-box\");\n for (let i = 0; i < sliderBoxArr.length; i++) {\n if (i < index) {\n sliderBoxArr[i].style.background = `rgba(196, 196, 196, 0.2)`;\n }\n }\n }\n },\n /**\n * 设置已经选中时间\n */\n setCheckTimeStyle() {\n let timerArr: any = proxyData.nowTimerArr;\n let sliderBoxArr: any = document.querySelectorAll(\".slider-box\");\n for (let i = 0; i < timerArr.length; i++) {\n if (timerArr[i].isCheck) {\n sliderBoxArr[i].style.background = proxyData.bgRed;\n }\n }\n },\n /***\n * 固定服务时间的颜色增加\n */\n setServiceTimerStyle() {\n let timerArr: any = proxyData.nowTimerArr;\n // debugger\n let sliderBoxArr: any = document.querySelectorAll(\".slider-box\");\n for (let i = 0; i < timerArr.length; i++) {\n if (timerArr[i].isServiceTime) {\n sliderBoxArr[i].style.background = `rgba(196, 196, 196, 0.2)`;\n }\n }\n },\n // 转化日期(分钟处理成可选择)\n parseCusStartTime(time: any) {\n let newTime: any = time;\n if (time) {\n let minute: any = (time / 100) % 100;\n if (minute) {\n let temTimeInt: any = time / 10000;\n temTimeInt = parseInt(temTimeInt);\n if (minute < 30) {\n if (temTimeInt < 10) {\n newTime = \"0\" + temTimeInt + \"30\" + \"00\";\n } else {\n newTime = temTimeInt + \"30\" + \"00\";\n }\n } else if (minute > 30) {\n temTimeInt = temTimeInt + 1;\n if (temTimeInt < 10) {\n newTime = \"0\" + temTimeInt + \"00\" + \"00\";\n } else {\n newTime = temTimeInt + \"00\" + \"00\";\n }\n }\n }\n }\n return newTime;\n },\n // 转化日期(分钟处理成可选择)\n parseCusEndTime(time: any) {\n let newTime: any = time;\n if (time) {\n let minute: any = (time / 100) % 100;\n if (minute) {\n let temTimeInt: any = time / 10000;\n temTimeInt = parseInt(temTimeInt);\n if (minute < 30) {\n if (temTimeInt < 10) {\n newTime = \"0\" + temTimeInt + \"00\" + \"00\";\n } else {\n newTime = temTimeInt + \"00\" + \"00\";\n }\n } else if (minute > 30) {\n if (temTimeInt < 10) {\n newTime = \"0\" + temTimeInt + \"30\" + \"00\";\n } else {\n newTime = temTimeInt + \"30\" + \"00\";\n }\n }\n }\n }\n return newTime;\n },\n /**\n * 选中当前模块\n */\n checkSlider(item: any, index: any) {\n if (index === proxyData.nowTimerArr.length - 1) {\n return;\n }\n // 按钮的状态\n proxyData.formBtn = false;\n let nowIndex: any = proxyData.getNowIndex();\n if (proxyData.nowData.week === \"今天\" && index < nowIndex) {\n return;\n }\n\n let spaceCustomContentList: any =\n proxyData.nowData.spaceCustomContentList || [];\n let formatTimer: any = proxyData.nowTimerArr[index].formatTimer; //在服务定制时间之间\n let flag: any = false;\n spaceCustomContentList.map((spaceCustom: any) => {\n let startTime: any = proxyData.parseCusStartTime(\n spaceCustom.startTime\n );\n let endTime: any = proxyData.parseCusEndTime(spaceCustom.endTime);\n if (formatTimer >= startTime && formatTimer < endTime) {\n flag = true;\n }\n });\n if (flag) {\n return;\n }\n\n proxyData.setOptionnalPerstion(index);\n },\n /**\n * 获取个人加班申请数据\n */\n dateArr: dateArr,\n myTimeArr: myTimeArr,\n isAir: false,\n isLight: false,\n lightNum: 0,\n airNum: 0,\n // 格式化设备\n formateEquipment() {\n proxyData.isLight = false;\n proxyData.isAir = false;\n proxyData.lightNum = 0;\n proxyData.airNum = 0;\n if (\n proxyData.nowData &&\n proxyData.nowData.equipmentList &&\n proxyData.nowData.equipmentList.length\n ) {\n if (proxyData.enterType === 1) {\n proxyData.nowData.equipmentList.map((item: any) => {\n item.isCheck = true;\n });\n } else if (proxyData.enterType === 2) {\n // 空调\n if (proxyData.deviceItem && proxyData.deviceItem.id) {\n proxyData.nowData.equipmentList.map((item: any) => {\n if (\n item.equipmentCategory !== \"SELTLT\" &&\n proxyData.deviceItem.id == item.id\n ) {\n item.isCheck = true;\n } else {\n item.isCheck = false;\n }\n });\n } else {\n proxyData.nowData.equipmentList.map((item: any) => {\n if (item.equipmentCategory !== \"SELTLT\") {\n item.isCheck = true;\n } else {\n item.isCheck = false;\n }\n });\n }\n } else {\n // 灯\n if (proxyData.deviceItem && proxyData.deviceItem.id) {\n proxyData.nowData.equipmentList.map((item: any) => {\n if (\n item.equipmentCategory === \"SELTLT\" &&\n proxyData.deviceItem.id == item.id\n ) {\n item.isCheck = true;\n } else {\n item.isCheck = false;\n }\n });\n } else {\n proxyData.nowData.equipmentList.map((item: any) => {\n if (item.equipmentCategory === \"SELTLT\") {\n item.isCheck = true;\n } else {\n item.isCheck = false;\n }\n });\n }\n }\n // 判断是否有空调和灯\n proxyData.nowData.equipmentList.map((item: any) => {\n if (item.equipmentCategory == \"SELTLT\") {\n proxyData.isLight = true;\n proxyData.lightNum++;\n }\n if (item.equipmentCategory !== \"SELTLT\") {\n proxyData.isAir = true;\n proxyData.airNum++;\n }\n });\n }\n },\n // 加班时间是否在所有的服务定制时间之前\n isCusTimeBefore(spaceCustomContentList: any, time: any) {\n let flag: any = false;\n spaceCustomContentList.map((item: any) => {\n if (time < item.startTime) {\n flag = true;\n }\n });\n return flag;\n },\n // 设置加班选中区域\n setWorkTimeList() {\n proxyData.isUpdate = false;\n proxyGlobal.proxy.$loadinngEnd();\n let data: any = proxyData.workkArr;\n proxyData.dateArr = [];\n let nowDate: any = formatDate(\"YYYY-MM-DD\");\n for (let i = 0; i < data.length; i++) {\n let date: any = formatDateStr(data[i].date);\n let spaceCustomContentList: any =\n data[i].spaceCustomContentList || []; // 固定服务定制时间\n\n let week: any = getWeekDate(new Date(date).getDay());\n if (date === nowDate) {\n week = \"今天\";\n }\n let timerArr: any = [];\n for (let i = 0; i < proxyData.timerArr.length; i++) {\n let obj: any = {\n timer: proxyData.timerArr[i],\n isCheck: false,\n isServiceTime: false,\n formatTimer: proxyData.timerArr[i].replace(/[:]/g, \"\") + \"00\",\n };\n timerArr.push(obj);\n }\n let customSceneList: any = data[i]?.customSceneList ?? [];\n customSceneList.map((custom: any) => {\n for (let j = 0; j < timerArr.length; j++) {\n if (\n proxyData.isCusTimeBefore(\n spaceCustomContentList,\n custom.endTime\n )\n ) {\n // 加班时间在服务定制时间之前\n let tempStartTime: any = proxyData.parseCusStartTime(\n custom.startTime\n );\n let tempEndTime: any = proxyData.parseCusStartTime(\n custom.endTime\n );\n\n if (\n timerArr[j].formatTimer >= tempStartTime &&\n timerArr[j].formatTimer < tempEndTime\n ) {\n timerArr[j].isCheck = true;\n }\n } else {\n // 加班时间在服务外定制时间之后\n // debugger\n let tempStartTime: any = proxyData.parseCusEndTime(\n custom.startTime\n );\n let tempEndTime: any = proxyData.parseCusEndTime(\n custom.endTime\n );\n if (\n timerArr[j].formatTimer >= tempStartTime &&\n timerArr[j].formatTimer < tempEndTime\n ) {\n timerArr[j].isCheck = true;\n }\n }\n }\n });\n\n spaceCustomContentList.map((spaceCustom: any) => {\n let startTime: any = proxyData.parseCusStartTime(\n spaceCustom.startTime\n );\n let endTime: any = proxyData.parseCusEndTime(spaceCustom.endTime);\n console.log(\"t==\", endTime);\n // 是否在固定区域时间\n if (startTime && endTime) {\n // debugger\n timerArr.map((item: any) => {\n if (\n item.formatTimer >= startTime &&\n item.formatTimer < endTime\n ) {\n item.isServiceTime = true;\n }\n });\n }\n });\n\n proxyData.dateArr.push({\n date: date,\n isActive: false,\n equipmentList: data[i].equipmentList || [],\n oldDate: data[i].date,\n objectId: data[i].objectId,\n cusStartTime: data[i].cusStartTime,\n customSceneList: customSceneList,\n cusEndTime: data[i].cusEndTime,\n spaceCustomContentList: data[i].spaceCustomContentList || [],\n day: getDate(new Date(date)),\n week: week,\n timerArr: timerArr,\n });\n }\n // debugger\n proxyData.dateArr.map((item: any, index: any) => {\n if (index === proxyData.activeIndex) {\n proxyData.checkDate(item, index);\n return;\n }\n });\n },\n clearTimerBoxStyle() {\n proxyData.dateArr.map((elItem: any) => {\n elItem.isActive = false;\n });\n let timerArr: any = proxyData.nowTimerArr;\n let sliderBoxArr: any = document.querySelectorAll(\".slider-box\");\n for (let i = 0; i < timerArr.length; i++) {\n sliderBoxArr[i].style.background = `transparent`;\n }\n // 切换日期的时候取消绑定\n // proxyData.cancelRemoveListener();\n },\n /**\n * 切换日期\n */\n activeIndex: 0,\n // 点击审批的时候触发接口\n checkApprovalStatus(item: any, e: any) {\n if (e.target) {\n let targetWidth: any = e.target.offsetWidth * 0.7;\n let left: any = item.left - targetWidth * 1.5 + e.offsetX;\n let sliderBoxEl: any = document.querySelectorAll(\".slider-box\")[0];\n let sliderWidth: any = sliderBoxEl.offsetWidth;\n let index: any = Math.ceil(left / sliderWidth);\n proxyData.checkSlider({}, index);\n }\n },\n approvalData: approvalData,\n // 获取slider的宽度\n getSliderWapperWidth() {\n let slidersWrapper: any = document.querySelector(\"#slidersWrapperId\");\n let slidersWrapperWidth: any =\n slidersWrapper.getBoundingClientRect().width;\n return slidersWrapperWidth;\n },\n // 格式化审批状态的数据位置\n formateApproveStatusPerstion() {\n if (proxyData.nowData) {\n let spaceCustomContentList: any =\n proxyData.nowData.customSceneList || [];\n let slidersWrapperWidth: any = proxyData.getSliderWapperWidth();\n proxyData.approvalData = [];\n for (let i = 0; i < spaceCustomContentList.length; i++) {\n let item: any = spaceCustomContentList[i];\n // 加班数据\n let obj: any = {\n left: 0,\n bg: \"\",\n index: 0,\n approvalStatus: item.approvalStatus,\n text: \"\",\n };\n if (item.approvalStatus == 0) {\n obj.text = \"待审批\";\n obj.bg = \"rgba(65, 107, 255, 0.6)\";\n } else if (item.approvalStatus == 1) {\n obj.text = \"已通过\";\n obj.bg = \"rgba(24, 196, 93, 0.6)\";\n } else if (item.approvalStatus == 2) {\n obj.text = \"已拒绝\";\n obj.bg = \"rgba(255, 54, 54, 0.6)\";\n }\n // else if (item.approvalStatus == 3) {\n // obj.text = \"已失效\";\n // obj.bg = \"rgba(255, 54, 54, 0.6)\";\n // }\n if (obj.text) {\n let startTime: any = proxyData.parseCusStartTime(item.startTime);\n let endTime: any = proxyData.parseCusEndTime(item.endTime);\n let relNowTime: any = getRelNowTime();\n let timerArr: any = proxyData.nowTimerArr;\n let leftStart: any = 0;\n let leftEnd: any = 0;\n timerArr.map((timer: any, index: any) => {\n if (timer.formatTimer == startTime) {\n if (slidersWrapperWidth) {\n leftStart = slidersWrapperWidth * index;\n }\n }\n if (timer.formatTimer == endTime) {\n if (slidersWrapperWidth) {\n leftEnd = slidersWrapperWidth * index;\n }\n }\n });\n obj.left = leftStart + (leftEnd - leftStart) * 0.5 - 30;\n if (relNowTime < endTime) {\n proxyData.approvalData.push(obj);\n }\n }\n }\n }\n },\n checkDate(item: any, index: any) {\n proxyData.clearTimerBoxStyle();\n item.isActive = true;\n proxyData.activeIndex = index;\n proxyData.nowTimerArr = proxyData.dateArr[index].timerArr;\n proxyData.nowData = proxyData.dateArr[index];\n proxyData.formateEquipment();\n nextTick(() => {\n proxyData.setNowBarPerstion(proxyData.nowTimerArr);\n let nowIndex: any = proxyData.getNowIndex();\n // // 已经被选择的时间\n proxyData.setCheckTimeStyle();\n // // 固定服务时间\n proxyData.setServiceTimerStyle();\n if (proxyData.nowData.week === \"今天\") {\n proxyData.setPastTime();\n }\n // 设置审批状态\n proxyData.formateApproveStatusPerstion();\n if (!proxyData.isEvent) {\n proxyData.changeEl();\n proxyData.isEvent = true;\n }\n });\n },\n /**\n * dom的滚动功能设置\n */\n flag: false,\n changeEl() {\n // 事件解绑定\n // proxyData.cancelRemoveListener();\n proxyData.setScreennWidth();\n proxyData.sliderSwiper();\n proxyData.endBoxSwiper();\n },\n // 加班数据格式化=》后台需要的数据结构(添加加班逻辑)\n formateAddTimer() {\n let customSceneList: any = proxyData.nowData.customSceneList;\n let timerArr: any = proxyData.nowData.timerArr;\n let startTime: any = timerArr[proxyData.startIndex].formatTimer;\n let endTime: any = timerArr[proxyData.endIndex].formatTimer;\n // debugger;\n let delTimerArr: any = [];\n // 加班时间拼接\n customSceneList.map((item: any, index: any) => {\n // let itemStartTime:any=proxyData.parseCusStartTime(item.startTime)\n // let itemEndTime:any=proxyData.parseCusStartTime(item.endTime)\n // item时间段保护当前时间端\n if (startTime < item.startTime) {\n if (endTime < item.startTime) {\n } else if (endTime >= item.startTime) {\n // 时间段连续拼接上\n let delObj: any = proxyData.formaTimeObj(\n item,\n \"1\",\n item.startTime,\n item.endTime\n );\n delTimerArr.push(delObj);\n startTime = startTime;\n endTime = endTime;\n }\n } else if (startTime >= item.startTime && startTime < item.endTime) {\n if (endTime <= item.endTime) {\n let delObj: any = proxyData.formaTimeObj(\n item,\n \"1\",\n item.startTime,\n item.endTime\n );\n delTimerArr.push(delObj);\n startTime = startTime;\n endTime = endTime;\n } else if (endTime > item.endTime) {\n let delObj: any = proxyData.formaTimeObj(\n item,\n \"1\",\n item.startTime,\n item.endTime\n );\n delTimerArr.push(delObj);\n startTime = item.startTime;\n endTime = endTime;\n }\n } else if (startTime >= item.endTime) {\n if (startTime === item.endTime) {\n let delObj: any = proxyData.formaTimeObj(\n item,\n \"1\",\n item.startTime,\n item.endTime\n );\n delTimerArr.push(delObj);\n startTime = item.startTime;\n endTime = endTime;\n }\n } else if (startTime === item.startTime && endTime === item.endTime) {\n // 两个时间段一致\n }\n });\n\n // 加班时间处理好后和服务定制时间做对比(处理时分秒的情况)\n let cusStartTime: any = proxyData.parseCusStartTime(\n proxyData.nowData.cusStartTime\n );\n let cusEndTime: any = proxyData.parseCusEndTime(\n proxyData.nowData.cusEndTime\n );\n if (startTime < cusStartTime && endTime <= cusStartTime) {\n if (endTime === cusStartTime) {\n endTime = proxyData.nowData.cusStartTime;\n }\n } else if (startTime >= cusEndTime) {\n if (startTime === cusEndTime) {\n startTime = proxyData.nowData.cusEndTime;\n }\n }\n let relNowTime: any = getRelNowTime();\n let type = \"0\";\n if (\n proxyData.nowData.week === \"今天\" &&\n relNowTime >= startTime &&\n relNowTime <= endTime\n ) {\n type = \"2\";\n }\n\n // if()\n let addObj: any = proxyData.formaTimeObj(\n customSceneList[0],\n type,\n startTime,\n endTime\n );\n delTimerArr.push(addObj);\n let formTimeArr: any = delTimerArr;\n return formTimeArr;\n },\n // 格式化加班单个数据\n formaTimeObj(item: any, type: any, startTime: any, endTime: any) {\n console.log(item);\n let obj: any = {\n projectId: proxyData.projectId, //类型:String 必有字段 备注:项目id\n sceneEquipList:\n item && item.sceneEquipList ? item.sceneEquipList : [],\n objectId: proxyData.nowData.objectId, //类型:String 必有字段 备注:空间id\n sourceType: proxyData.userInfo.pubname, //类型:String 必有字段 备注:sagacareAndtenantslink 来源\n startDate: proxyData.nowData.oldDate, //类型:String 必有字段 备注://开始日期\n endDate: proxyData.nowData.oldDate, //类型:String 必有字段 备注://结束日期\n startTime: startTime, //类型:String 必有字段 备注://开始时间\n endTime: endTime, //类型:String 必有字段 备注://结束时间\n type: type, //类型:String 必有字段 备注://0 预约加班,1 取消,2 加班(我来了), 3 最后一个走\n userId: proxyData.userInfo.userId, //类型:String 必有字段 备注://用户id\n userPhone: proxyData.userInfo.userPhone, //类型:String 必有字段 备注://手机号\n customSceneEqType: \"ALL\", //类型:String 必有字段 备注://来源 AC 空调入口, SE 灯入口 ALL 加班入口\n userName: proxyData.userInfo.userName, //类型:String 必有字段 备注://名字\n };\n if (type === \"1\") {\n obj.id = item.id; //类型:String 必有字段 备注:取消加班时必传\n }\n return obj;\n },\n // 加班数据格式化=》后台需要的数据结构(删除加班逻辑)\n formateDelTimer() {\n let timerArr: any = proxyData.nowData.timerArr;\n let endIndex: any = proxyData.endIndex > 0 ? proxyData.endIndex - 1 : 0;\n // debugger\n // 如果当前选择的日期只在已经选中的范围内\n if (\n timerArr[proxyData.startIndex].isCheck &&\n timerArr[endIndex].isCheck\n ) {\n let customSceneList: any = proxyData.nowData.customSceneList || [];\n let startTime: any = timerArr[proxyData.startIndex].formatTimer;\n let endTime: any = timerArr[proxyData.endIndex].formatTimer;\n let delTimerArr: any = [];\n let addTimeArr: any = [];\n\n // 删除时间的数据拼接\n for (let i = 0; i < customSceneList.length; i++) {\n let item: any = customSceneList[i];\n let index: any = i;\n if (item.startTime === startTime && item.endTime === endTime) {\n // 代表需要删除该段\n // 整段删除\n let delObj: any = proxyData.formaTimeObj(\n item,\n \"1\",\n item.startTime,\n item.endTime\n );\n delTimerArr.push(delObj);\n break;\n } else if (item.startTime < startTime) {\n if (item.endTime <= endTime) {\n let delObj: any = proxyData.formaTimeObj(\n item,\n \"1\",\n item.startTime,\n item.endTime\n );\n delTimerArr.push(delObj);\n let addObj: any = proxyData.formaTimeObj(\n customSceneList[0],\n \"0\",\n item.startTime,\n startTime\n );\n addTimeArr.push(addObj);\n } else if (item.endTime > endTime) {\n let delObj: any = proxyData.formaTimeObj(\n item,\n \"1\",\n item.startTime,\n item.endTime\n );\n delTimerArr.push(delObj);\n let addObj1: any = proxyData.formaTimeObj(\n customSceneList[0],\n \"0\",\n item.startTime,\n startTime\n );\n addTimeArr.push(addObj1);\n let addObj2: any = proxyData.formaTimeObj(\n customSceneList[0],\n \"0\",\n endTime,\n item.endTime\n );\n addTimeArr.push(addObj2);\n }\n } else if (item.startTime === item.startTime) {\n if (item.endTime <= endTime) {\n // 整段删除\n let delObj: any = proxyData.formaTimeObj(\n item,\n \"1\",\n item.startTime,\n item.endTime\n );\n delTimerArr.push(delObj);\n } else if (item.endTime > endTime) {\n let delObj: any = proxyData.formaTimeObj(\n item,\n \"1\",\n item.startTime,\n item.endTime\n );\n delTimerArr.push(delObj);\n let addObj1: any = proxyData.formaTimeObj(\n customSceneList[0],\n \"0\",\n endTime,\n item.endTime\n );\n addTimeArr.push(addObj1);\n }\n } else if (item.startTime > startTime) {\n if (item.endTime <= endTime) {\n // 整段删除\n let delObj: any = proxyData.formaTimeObj(\n item,\n \"1\",\n item.startTime,\n item.endTime\n );\n delTimerArr.push(delObj);\n } else if (item.endTime > endTime) {\n let delObj: any = proxyData.formaTimeObj(\n item,\n \"1\",\n item.startTime,\n item.endTime\n );\n delTimerArr.push(delObj);\n let addObj1: any = proxyData.formaTimeObj(\n customSceneList[0],\n \"0\",\n endTime,\n item.endTime\n );\n addTimeArr.push(addObj1);\n }\n }\n }\n\n // 删除的时间为当时时间的时候\n let delStartTime: any = 0;\n let formTimeArr: any = addTimeArr.concat(delTimerArr);\n let realTime: any = getRelNowTime();\n formTimeArr.map((item: any, index: any) => {\n if (item.type == \"1\") {\n // 删除当前时间段\n if (realTime >= item.startTime && realTime <= item.endTime) {\n item.type = \"3\";\n delStartTime = item.startTime;\n item.endTimeReal = realTime;\n }\n }\n });\n formTimeArr.map((item: any, index: any) => {\n if (item.type == \"0\" && delStartTime) {\n if (item.startTime == delStartTime) {\n formTimeArr.splice(index, 1);\n }\n }\n });\n\n return formTimeArr;\n } else {\n return [];\n }\n },\n // 关闭加班弹窗\n closeWorkTimer() {\n proxyData.formBtn = false;\n context.emit(\"closeWork\");\n },\n // 数组去除重复\n removeDuplicateObj(arr: any) {\n let obj = {};\n arr = arr.reduce((newArr: any, next: any) => {\n obj[next.objectId]\n ? \"\"\n : (obj[next.objectId] = true && newArr.push(next));\n return newArr;\n }, []);\n return arr;\n },\n checkEquipment(item: any) {\n item.isCheck = !item.isCheck;\n },\n // 我来了删除不受服务定制控制的设备的开关灯\n delSpaceNoCtrDevice(formTimerArr: any) {\n formTimerArr.map((item: any) => {\n let sceneEquipList: any = item.sceneEquipList || [];\n let seviceEquipmentList: any = proxyData.seviceEquipmentList;\n if (item.type == \"2\" && sceneEquipList.length) {\n sceneEquipList.map((scene: any, index: any) => {\n let flag: any = false;\n for (let i = 0; i < seviceEquipmentList.length; i++) {\n if (\n scene.objectId == seviceEquipmentList[i].id &&\n seviceEquipmentList[i].isExeSpaceTime\n ) {\n flag = true;\n }\n if (flag) {\n break;\n }\n }\n if (!flag) {\n item.sceneEquipList.splice(index, 1);\n }\n });\n }\n });\n },\n // 提交申请\n addWorkTimer() {\n let formTimerArr: any = proxyData.formateAddTimer();\n let sceneEquipList: any = [];\n proxyData.nowData.equipmentList.map((item: any) => {\n if (item.isCheck) {\n let obj: any = {\n projectId: item.projectId, //类型:String 必有字段 备注:无\n objectId: item.id, //类型:String 必有字段 备注:设备id\n type: item.equipmentCategory,\n };\n sceneEquipList.push(obj);\n }\n });\n if (formTimerArr && formTimerArr.length == 2) {\n if (\n formTimerArr[1].startTime >= formTimerArr[0].startTime &&\n formTimerArr[1].endTime <= formTimerArr[0].endTime\n ) {\n } else {\n formTimerArr.map((item: any) => {\n if (item.type == \"1\") {\n if (item.sceneEquipList && item.sceneEquipList.length) {\n item.sceneEquipList.map((scene: any) => {\n let obj: any = {\n projectId: scene.projectId, //类型:String 必有字段 备注:无\n objectId: scene.objectId, //类型:String 必有字段 备注:设备id\n type: scene.type,\n };\n sceneEquipList.push(obj);\n });\n }\n }\n });\n }\n }\n\n sceneEquipList = proxyData.removeDuplicateObj(sceneEquipList);\n formTimerArr.map((item: any) => {\n if (item.type == \"0\" || item.type == \"2\") {\n item.sceneEquipList = sceneEquipList;\n }\n });\n // 我来了过滤设备\n proxyData.delSpaceNoCtrDevice(formTimerArr);\n // 保存加班记录\n proxyData.saveBatchCustomScene(formTimerArr);\n // 如果在当前时间,需要手动开启设备(暂时不需要手动开启设备,后台已经把此逻辑合并)\n // proxyData.openDeviceAll(formTimerArr);\n },\n // 手动控制开启设备\n openDeviceAll(formTimerArr: any) {\n let sceneEquipList: any = [];\n formTimerArr.map((item: any) => {\n if (item.type == \"2\") {\n sceneEquipList = sceneEquipList.concat(item.sceneEquipList);\n }\n });\n sceneEquipList = proxyData.removeDuplicateObj(sceneEquipList);\n // 改变设备状态\n let airDevice: any = [];\n let lightDevice: any = [];\n sceneEquipList.map((item: any) => {\n if (item.type == \"SELTLT\") {\n let obj: any = {\n id: item.objectId,\n switch: true,\n };\n lightDevice.push(obj);\n } else {\n let obj: any = {\n id: item.objectId, //类型:String 必有字段 备注:设备id\n code: \"EquipSwitchSet\", //类型:String 必有字段 备注:编码 EquipSwtichSet\n value: \"1\", //类型:String 必有字段 备注:值 0\n };\n airDevice.push(obj);\n }\n });\n proxyData.setSpaceCondtioners(airDevice);\n proxyData.setallLampHttp(lightDevice);\n },\n // 手动开空调\n setSpaceCondtioners(data: any) {\n setSpaceCondtioners(data)\n .then((res) => {})\n .catch(() => {});\n },\n // 手动开灯\n setallLampHttp(data: any) {\n setallLampHttp(data)\n .then((res) => {})\n .catch(() => {});\n },\n // 提交加班记录\n saveBatchCustomScene(formTimerArr: any, type: any = 1) {\n // proxyGlobal.proxy.$loadingStart(0);\n proxyData.showLoading = true;\n proxyData.formBtn = true;\n saveBatchCustomScene(formTimerArr)\n .then((res) => {\n context.emit(\"closeWork\");\n proxyData.showLoading = false;\n proxyData.formBtn = false;\n })\n .catch(() => {\n // proxyGlobal.proxy.$loadinngEnd();\n proxyData.showLoading = false;\n });\n },\n // 删除\n isUpdate: false, // 删除更新弹窗数据\n triggerDelTime() {\n let formTimeArr: any = proxyData.formateDelTimer();\n console.log(\"需要删除的数据---\");\n console.log(formTimeArr);\n if (formTimeArr && formTimeArr.length) {\n // console.log(formTimeArr);\n // alert(\"确定删除当前时间吗?\");\n // debugger;\n Dialog.confirm({\n title: \"确认\",\n message: \"确定删除当前时间吗?\",\n })\n .then(() => {\n let sceneEquipList: any = [];\n formTimeArr.map((item: any) => {\n if (item.type == \"1\") {\n if (item.sceneEquipList) {\n item.sceneEquipList.map((scene: any) => {\n let obj: any = {\n projectId: scene.projectId, //类型:String 必有字段 备注:无\n objectId: scene.objectId, //类型:String 必有字段 备注:设备id\n type: scene.type,\n };\n sceneEquipList.push(obj);\n });\n }\n }\n });\n sceneEquipList = proxyData.removeDuplicateObj(sceneEquipList);\n\n formTimeArr.map((item: any) => {\n if (item.type !== \"1\") {\n item.sceneEquipList = sceneEquipList;\n }\n });\n\n proxyData.saveBatchCustomScene(formTimeArr, 2);\n })\n .catch(() => {\n // on cancel\n });\n }\n },\n });\n watch(props, (newProps: any) => {\n proxyData.workkArr = newProps.workkArr;\n proxyData.projectId = newProps.projectId;\n proxyData.enterType = newProps.enterType;\n proxyData.deviceItem = newProps.deviceItem;\n proxyData.seviceEquipmentList = newProps.seviceEquipmentList;\n console.log(\"弹窗变化了-----==\");\n // proxyData.setWorkTimeList();\n });\n onMounted(() => {\n // 设置dom最外层的宽\n // console.log(\"弹窗变化了-----==\");\n // proxyData.formateManualWorkTime();\n proxyData.setWorkTimeList();\n });\n return {\n ...toRefs(proxyData),\n };\n },\n});\n","import { render } from \"./index.vue?vue&type=template&id=dfeb0ad2&scoped=true&ts=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=dfeb0ad2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/wangyong/shanggeyun/code/sagacloud-sagacare-ipad/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-dfeb0ad2\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"contact-content\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"title\" }, \"联系我们\", -1)\nconst _hoisted_3 = { class: \"contact\" }\nconst _hoisted_4 = { class: \"code-box\" }\nconst _hoisted_5 = [\"src\"]\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"title\" }, \"客服微信二维码\", -1)\nconst _hoisted_7 = { class: \"phone-box\" }\nconst _hoisted_8 = [\"src\"]\nconst _hoisted_9 = { class: \"title\" }\nconst _hoisted_10 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"concat-text\" }, \"联系方式\", -1)\nconst _hoisted_11 = /*#__PURE__*/_createTextVNode(\"我知道了\")\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_buttons = _resolveComponent(\"buttons\")!\n const _component_van_dialog = _resolveComponent(\"van-dialog\")!\n\n return (_openBlock(), _createBlock(_component_van_dialog, {\n show: _ctx.isShowContact,\n \"onUpdate:show\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.isShowContact) = $event)),\n \"show-confirm-button\": false,\n class: \"contact-dialog\",\n \"show-cancel-button\": false\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _hoisted_2,\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"img\", {\n src: _ctx.imgUrl + '&key=' + _ctx.contantDetail.wechatQrCode,\n alt: \"\"\n }, null, 8, _hoisted_5),\n _hoisted_6\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"img\", {\n src: _ctx.parseImgUrl('ipdImages', 'phone-icon.svg'),\n alt: \"\"\n }, null, 8, _hoisted_8),\n _createElementVNode(\"div\", _hoisted_9, _toDisplayString(_ctx.contantDetail.phone), 1),\n _hoisted_10\n ])\n ]),\n _createVNode(_component_buttons, {\n class: \"dailog-btn\",\n onClick: _ctx.closeDailog\n }, {\n default: _withCtx(() => [\n _hoisted_11\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ]),\n _: 1\n }, 8, [\"show\"]))\n}","\nimport {\n defineComponent,\n reactive,\n toRefs,\n onBeforeMount,\n onMounted,\n ref,\n watch,\n getCurrentInstance,\n} from \"vue\";\nimport { Loading, Dialog, Toast } from \"vant\";\nimport { getUserInfo, parseImgUrl } from \"@/utils\";\nimport { queryCustomerservice } from \"@/apis/envmonitor\";\nconst userInfo: any = getUserInfo();\n\nexport default defineComponent({\n props: {\n isShowContact: {\n type: Boolean,\n default: () => false,\n },\n contantDetail: {\n type: Object,\n default: () => {},\n },\n },\n components: {\n VanLoading: Loading,\n [Dialog.Component.name]: Dialog.Component,\n },\n setup(props, contx) {\n const contantDetail: any = {};\n const proxyGlobal: any = getCurrentInstance();\n const proxyData = reactive({\n parseImgUrl: parseImgUrl,\n contantDetail: props.contantDetail,\n userInfo: userInfo,\n imgUrl: proxyGlobal.proxy.$imgUrl,\n isShowContact: props.isShowContact,\n closeDailog() {\n contx.emit(\"closeDailog\");\n },\n // 查询联系方式\n queryCustomerservice() {\n let params: any = {\n criteria: { projectId: proxyData.userInfo.projectId },\n };\n queryCustomerservice(params).then((res) => {\n let resData: any = res;\n let content: any = resData?.content ?? [];\n proxyData.contantDetail = content[0];\n });\n },\n });\n watch(\n props,\n (newProps: any) => {\n proxyData.isShowContact = newProps.isShowContact;\n proxyData.contantDetail = newProps.contantDetail;\n },\n {\n deep: false,\n immediate: true,\n }\n );\n onMounted(() => {\n // proxyData.queryCustomerservice();\n });\n return {\n ...toRefs(proxyData),\n };\n },\n});\n","import { render } from \"./index.vue?vue&type=template&id=8f2b022e&ts=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=8f2b022e&lang=scss\"\n\nimport exportComponent from \"/Users/wangyong/shanggeyun/code/sagacloud-sagacare-ipad/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1d74e949\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"scene-config\" }\nconst _hoisted_2 = [\"src\"]\nconst _hoisted_3 = { class: \"time-text\" }\nconst _hoisted_4 = [\"src\"]\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"del-text\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", null, \"我要\"),\n /*#__PURE__*/_createElementVNode(\"span\", null, \"离开\")\n], -1))\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_leave_dailog = _resolveComponent(\"leave-dailog\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"time-box\", _ctx.timerText.classColor])\n }, [\n _createElementVNode(\"img\", {\n src: _ctx.parseImgUrl('page-officehome', 'work.svg'),\n alt: \"\"\n }, null, 8, _hoisted_2),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.timerText.text), 1),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.timerText.timer), 1)\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"time-btn\", _ctx.timerText.showDel ? 'time-btn-small' : '']),\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.triggerWork && _ctx.triggerWork(...args)))\n }, [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.timerText.btnText), 1)\n ], 2)\n ], 2),\n (_ctx.timerText.showDel)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"time-del\",\n onClick: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.myLeaving && _ctx.myLeaving(...args)))\n }, [\n _createElementVNode(\"img\", {\n src: _ctx.parseImgUrl('page-officehome', 'goOffWork.svg'),\n alt: \"\"\n }, null, 8, _hoisted_4),\n _hoisted_5\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.isShowLeaveDailog)\n ? (_openBlock(), _createBlock(_component_leave_dailog, {\n key: 0,\n isShowLeaveDailog: _ctx.isShowLeaveDailog,\n onCloseDailog: _ctx.closeLeavDailog\n }, null, 8, [\"isShowLeaveDailog\", \"onCloseDailog\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","import { openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, createBlock as _createBlock, toDisplayString as _toDisplayString, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-10ea159b\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"air-dialog-content\" }\nconst _hoisted_2 = { class: \"dialog-top\" }\nconst _hoisted_3 = [\"src\"]\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"leave-title\" }, \"工作辛苦了!\", -1))\nconst _hoisted_5 = { class: \"leave-popup-body\" }\nconst _hoisted_6 = {\n key: 1,\n class: \"text-status\"\n}\nconst _hoisted_7 = {\n key: 2,\n class: \"text-status grey\"\n}\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \"隐藏\", -1))\nconst _hoisted_9 = [\n _hoisted_8\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_van_icon = _resolveComponent(\"van-icon\")!\n const _component_van_dialog = _resolveComponent(\"van-dialog\")!\n\n return (_openBlock(), _createBlock(_component_van_dialog, {\n show: _ctx.isShowLeaveDailog,\n \"onUpdate:show\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.isShowLeaveDailog) = $event)),\n class: \"dialog-width\",\n \"show-confirm-button\": false,\n \"show-cancel-button\": false\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_ctx.leaveDetail.img)\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n class: \"img-yellow\",\n src: _ctx.parseImgUrl('page-officehome', _ctx.leaveDetail.img),\n alt: \"\"\n }, null, 8, _hoisted_3))\n : _createCommentVNode(\"\", true)\n ]),\n _hoisted_4,\n _createElementVNode(\"div\", _hoisted_5, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.leaveDetail.textObj, (item, idx) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"body-item\",\n key: idx\n }, [\n (item.status === 'ok')\n ? (_openBlock(), _createBlock(_component_van_icon, {\n key: 0,\n name: \"passed\",\n style: {\"color\":\"#07c160\",\"margin-right\":\"8px\"}\n }))\n : _createCommentVNode(\"\", true),\n (item.status === 'go')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_6))\n : _createCommentVNode(\"\", true),\n (item.status === 'grey')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_7))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"span\", null, _toDisplayString(item.text), 1)\n ]))\n }), 128))\n ]),\n _createElementVNode(\"div\", {\n class: \"dialog-btns\",\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.closeDailog && _ctx.closeDailog(...args)))\n }, _hoisted_9)\n ])\n ]),\n _: 1\n }, 8, [\"show\"]))\n}","\nimport {\n defineComponent,\n reactive,\n toRefs,\n onBeforeMount,\n onMounted,\n ref,\n watch,\n} from \"vue\";\nimport { Loading, Dialog, Toast } from \"vant\";\nimport { parseImgUrl } from \"@/utils\";\n\nexport default defineComponent({\n props: {\n isShowLeaveDailog: {\n type: Boolean,\n default: () => false,\n },\n },\n components: {\n VanLoading: Loading,\n [Dialog.Component.name]: Dialog.Component,\n },\n setup(props, contx) {\n const proxyData = reactive({\n parseImgUrl: parseImgUrl,\n isShowLeaveDailog: props.isShowLeaveDailog,\n leaveDetail: {\n // img: parseImgUrl(\"ipdImages\", \"icon-handshake.svg\"),\n textObj: [\n {\n text: \"已为您取消当前的预约时间\",\n status: \"ok\",\n },\n {\n text: \"系统将自动调整设备状态\",\n status: \"ok\",\n },\n {\n text: \"感谢您的预约使用\",\n status: \"ok\",\n },\n ],\n },\n closeDailog() {\n contx.emit(\"closeDailog\");\n },\n });\n watch(\n props,\n (newProps: any) => {\n proxyData.isShowLeaveDailog = newProps.isShowLeaveDailog;\n },\n {\n deep: false,\n immediate: true,\n }\n );\n onMounted(() => {});\n return {\n ...toRefs(proxyData),\n };\n },\n});\n","import { render } from \"./LeaveDailog.vue?vue&type=template&id=10ea159b&scoped=true&ts=true\"\nimport script from \"./LeaveDailog.vue?vue&type=script&lang=ts\"\nexport * from \"./LeaveDailog.vue?vue&type=script&lang=ts\"\n\nimport \"./LeaveDailog.vue?vue&type=style&index=0&id=10ea159b&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/wangyong/shanggeyun/code/sagacloud-sagacare-ipad/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-10ea159b\"]])\n\nexport default __exports__","\nimport {\n defineComponent,\n reactive,\n toRefs,\n onBeforeMount,\n onMounted,\n ref,\n watch,\n getCurrentInstance,\n} from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport {\n formatDate,\n formatDateStr,\n formateTimeContinuous,\n formatTimerStr,\n getRelNowTime,\n getWeekDate,\n parseImgUrl,\n} from \"@/utils\";\nimport { UserActionTypes } from \"@/store/modules/user/action-types\";\nimport { useStore } from \"@/store\";\nimport { saveBatchCustomScene } from \"@/apis/envmonitor\";\n// import { Dialog } from \"vant\";\nimport LeaveDailog from \"@/views/envmonitor/components/workOvertime/LeaveDailog.vue\";\n\nexport default defineComponent({\n props: {\n scenarioArr: {\n type: Array,\n default: () => [],\n },\n workkArr: {\n type: Array,\n default: () => [],\n },\n },\n components: {\n LeaveDailog,\n },\n setup(props, contx) {\n const proxyGlobal: any = getCurrentInstance();\n let router: any = useRouter();\n let timerText: any = {\n text: \"\",\n timer: \"\", // 工作时间\n btnText: \"\",\n showDel: false, // 是否展示我要离开按钮\n classColor: \"grey\",\n };\n let text: any = \"\";\n const store = useStore();\n const delTimeArr: any = [];\n let customSceneList: any = [];\n let workkArr: any = [];\n const proxyData = reactive({\n parseImgUrl: parseImgUrl,\n leaveBtnFlag: false,\n scenarioArr: props.scenarioArr,\n workkArr: props.workkArr,\n forcedOverTimeFlag: false, // 强制加班标记 false:不需要强制加班\n onSubmit(values: any) {\n router.push({ path: \"/choice-project\" });\n },\n // 触发加班按钮\n triggerWork() {\n contx.emit(\"triggerWork\");\n },\n timerText: timerText,\n text: text,\n // 处理时间和第二天和未来连续的问题\n formateTimeContinuous(\n index: any = 1,\n startTime: any,\n endTime: any,\n type: any = 1\n ) {\n let data: any = proxyData.workkArr;\n proxyData.text = \"\";\n return formateTimeContinuous(\n index,\n startTime,\n endTime,\n type,\n data,\n proxyData\n );\n },\n // 判断当前时间在不在加班时间里面\n beforeWorkTime(data: any, nowTime: any) {\n let flag: any = true; // 是否在所有加班时间之前\n for (let i = 0; i < data.length; i++) {\n if (data[i].startTime < nowTime) {\n flag = false;\n }\n }\n return flag;\n },\n // 当前时间是否在所有加班时间之后\n afterWorkTime(data: any, nowTime: any) {\n let flag: any = true; // 是否在所有加班时间之前\n for (let i = 0; i < data.length; i++) {\n if (data[i].endTime > nowTime) {\n flag = false;\n }\n }\n return flag;\n },\n // 查询时间段的范围\n checkWorkTime(data: any, nowTime: any) {\n let obj: any = {\n type: 0, // type=1 当前时间在所有加班时间之前 type=2 当前时间在所有加班时间后 type=3 当前时间在某段加班时间 type=4 当前时间在加班之外,在某一段中间\n startTime: 0,\n endTime: 0,\n };\n if (proxyData.beforeWorkTime(data, nowTime)) {\n obj.type = 1;\n } else if (proxyData.afterWorkTime(data, nowTime)) {\n obj.type = 2;\n } else {\n let flag = true;\n for (let i = 0; i < data.length; i++) {\n if (nowTime >= data[i].startTime && nowTime <= data[i].endTime) {\n obj.startTime = data[i].startTime;\n obj.endTime = data[i].endTime;\n obj.type = 3;\n flag = false;\n break;\n }\n }\n if (flag) {\n obj.type = 4;\n }\n }\n return obj;\n },\n // 格式化日期\n delTimeArr: delTimeArr,\n customSceneList: customSceneList, // 当前日期的加班\n formateWorkTime() {\n // debugger;\n let data: any = proxyData.workkArr;\n let nowDate: any = formatDate(\"YYYY-MM-DD\");\n for (let i = 0; i < data.length; i++) {\n let date: any = formatDateStr(data[i].date);\n let cusStartTime: any = data[i].cusStartTime;\n let cusEndTime: any = data[i].cusEndTime;\n let customSceneList: any = data[i]?.customSceneList ?? [];\n let nowTime: any = getRelNowTime();\n let week: any = getWeekDate(new Date(date).getDay());\n if (date === nowDate) {\n // isActive = true;\n week = \"今天\";\n }\n // console.log(\"nowTime===\" + nowTime);\n if (date === nowDate) {\n proxyData.customSceneList = customSceneList;\n // debugger\n // 1.当天没有服务定制时间和加班时间\n /**a.未来有服务定制和加班**/\n // 2.当天有服务定制时间无加班时间\n // 当天在服务定制之内+加班+和未来的时间连续\n // a.在服务定制之内\n // b.已过了服务定制和1相同处理\n // 3.当天有服务定制和加班时间\n // a.在服务定制之内,并和加班时间不连着\n // b.在服务定制之内,并和加班连续\n // c.在加班时间之内,并和后面加班时间连续\n // d.在加班时间之内,并且和后面加班不连续\n // e.不在服务定制之内,也不在加班时间内,但是当天和未来都有预约时间\n /**f.不在服务定制之内,也不在加班时间内,但是当天没有预约时间,未来有预约加班 */\n\n let startTime: any = \"\";\n let endTime: any = \"\";\n if ((!cusStartTime || !cusEndTime) && !customSceneList.length) {\n // 查找最近的一段预约数据\n let btnObj: any = proxyData.formateTimeContinuous(\n 0,\n startTime,\n endTime,\n 2\n );\n if (btnObj && btnObj.text) {\n proxyData.timerText.text = `已预约(${btnObj.text})`;\n proxyData.timerText.timer =\n formatTimerStr(btnObj.startTime) +\n \"~\" +\n formatTimerStr(btnObj.endTime);\n } else {\n proxyData.timerText.text = \"请选择工作时间段\";\n proxyData.timerText.timer = \"将自动开启办公服务\";\n }\n proxyData.timerText.classColor = \"grey\";\n proxyData.timerText.btnText = \"预约时间\";\n proxyData.timerText.showDel = false;\n proxyData.forcedOverTimeFlag = true;\n } else if (cusStartTime && cusEndTime && !customSceneList.length) {\n if (nowTime >= cusStartTime && nowTime <= cusEndTime) {\n proxyData.timerText.text = \"工作时间\";\n proxyData.timerText.timer =\n formatTimerStr(cusStartTime) +\n \"~\" +\n formatTimerStr(cusEndTime);\n proxyData.timerText.classColor = \"yellow\";\n proxyData.timerText.btnText = \"预约延时\";\n proxyData.timerText.showDel = false;\n proxyData.forcedOverTimeFlag = false;\n } else {\n let btnObj: any = proxyData.formateTimeContinuous(\n 0,\n startTime,\n endTime,\n 2\n );\n if (btnObj && btnObj.text) {\n proxyData.timerText.text = `已预约(${btnObj.text})`;\n proxyData.timerText.timer =\n formatTimerStr(btnObj.startTime) +\n \"~\" +\n formatTimerStr(btnObj.endTime);\n } else {\n proxyData.timerText.text = \"请选择工作时间段\";\n proxyData.timerText.timer = \"将自动开启办公服务\";\n }\n proxyData.timerText.classColor = \"grey\";\n proxyData.timerText.btnText = \"预约时间\";\n proxyData.timerText.showDel = false;\n proxyData.forcedOverTimeFlag = true;\n }\n } else {\n if (\n cusStartTime &&\n cusEndTime &&\n nowTime >= cusStartTime &&\n nowTime <= cusEndTime\n ) {\n // debugger\n startTime = cusStartTime;\n endTime = cusEndTime;\n customSceneList.map((item: any) => {\n if (endTime === item.startTime) {\n endTime = item.endTime;\n }\n });\n /**\n * 需要补加上和未来时间连续的问题\n */\n\n let btnObj: any = proxyData.formateTimeContinuous(\n 1,\n startTime,\n endTime,\n 1\n );\n proxyData.timerText.text = `工作时间`;\n proxyData.timerText.timer =\n formatTimerStr(startTime) + \"~\" + formatTimerStr(endTime);\n if (btnObj && btnObj.text) {\n proxyData.timerText.text = `工作时间(今日~${btnObj.text})`;\n proxyData.timerText.timer =\n formatTimerStr(btnObj.startTime) +\n \"~\" +\n formatTimerStr(btnObj.endTime);\n }\n proxyData.timerText.classColor = \"yellow\";\n proxyData.timerText.btnText = \"预约延时\";\n proxyData.timerText.showDel = false;\n proxyData.forcedOverTimeFlag = false;\n } else {\n let obj: any = proxyData.checkWorkTime(\n customSceneList,\n nowTime\n );\n if (obj.type === 3) {\n startTime = obj.startTime;\n endTime = obj.endTime;\n customSceneList.map((item: any) => {\n let oldTimeStart: any = startTime;\n let oldTimeEnd: any = endTime;\n // debugger\n if (\n startTime === item.startTime &&\n endTime === item.endTime\n ) {\n // proxyData.delTimeArr.push(item);\n } // 点击我要离开的时候需要删除的数据\n if (oldTimeEnd === item.startTime) {\n endTime = item.endTime;\n // proxyData.delTimeArr.push(item);\n }\n });\n if (cusStartTime && cusEndTime && nowTime < cusStartTime) {\n // 在服务定制时间之前的时候需要处理连续时间的问题\n if (endTime === cusStartTime) {\n endTime = cusEndTime;\n }\n customSceneList.map((item: any) => {\n if (endTime === item.startTime) {\n endTime = item.endTime;\n }\n });\n }\n /**\n * 需要补加上和未来时间连续的问题\n */\n let btnObj: any = proxyData.formateTimeContinuous(\n 1,\n startTime,\n endTime,\n 1\n );\n // debugger\n proxyData.timerText.text = `工作时间`;\n proxyData.timerText.timer =\n formatTimerStr(startTime) + \"~\" + formatTimerStr(endTime);\n if (btnObj && btnObj.text) {\n proxyData.timerText.text = `工作时间~${btnObj.text}`;\n proxyData.timerText.timer =\n formatTimerStr(btnObj.startTime) +\n \"~\" +\n formatTimerStr(btnObj.endTime);\n }\n proxyData.timerText.classColor = \"yellow\";\n proxyData.timerText.btnText = \"预约延时\";\n proxyData.timerText.showDel = true;\n proxyData.forcedOverTimeFlag = false;\n } else {\n let btnObj: any = proxyData.formateTimeContinuous(\n 0,\n startTime,\n endTime,\n 2\n );\n if (\n btnObj &&\n btnObj.text &&\n btnObj.startTime &&\n btnObj.endTime\n ) {\n proxyData.timerText.text = `已预约(${btnObj.text})`;\n proxyData.timerText.timer =\n formatTimerStr(btnObj.startTime) +\n \"~\" +\n formatTimerStr(btnObj.endTime);\n } else {\n proxyData.timerText.text = \"请选择工作时间段\";\n proxyData.timerText.timer = \"将自动开启办公服务\";\n }\n proxyData.timerText.classColor = \"grey\";\n proxyData.timerText.btnText = \"预约时间\";\n proxyData.timerText.showDel = false;\n proxyData.forcedOverTimeFlag = true;\n }\n }\n }\n // debugger\n // 记录开灯标记\n contx.emit(\"setForceOverTimeFlag\", proxyData.forcedOverTimeFlag);\n }\n }\n },\n // 时间拼接\n timeJoin(customSceneList: any, nowTime: any) {\n let startTime: any = 0;\n let endTime: any = 0;\n let obj: any = proxyData.checkWorkTime(customSceneList, nowTime);\n if (obj.type === 3) {\n startTime = obj.startTime;\n endTime = obj.endTime;\n customSceneList.map((item: any) => {\n let oldTimeStart: any = startTime;\n let oldTimeEnd: any = endTime;\n // debugger\n if (startTime === item.startTime && endTime === item.endTime) {\n // proxyData.delTimeArr.push(item);\n } // 点击我要离开的时候需要删除的数据\n if (oldTimeEnd === item.startTime) {\n endTime = item.endTime;\n // proxyData.delTimeArr.push(item);\n }\n });\n\n /**\n * 需要补加上和未来时间连续的问题\n */\n proxyData.timerText.text = \"工作时间\";\n proxyData.timerText.timer =\n formatTimerStr(startTime) + \"~\" + formatTimerStr(endTime);\n proxyData.timerText.classColor = \"yellow\";\n proxyData.timerText.btnText = \"预约延时\";\n proxyData.timerText.showDel = true;\n proxyData.forcedOverTimeFlag = false;\n } else {\n customSceneList.map((item: any) => {\n if (nowTime < item.startTime) {\n let oldTimeStart: any = startTime;\n let oldTimeEnd: any = endTime;\n if (item.startTime < startTime) {\n startTime = item.startTime;\n endTime = item.endTime;\n } else if (endTime === item.startTime) {\n endTime = item.endTime;\n }\n }\n });\n /**\n *需要补加上和未来时间连续的问题\n */\n if (startTime && endTime) {\n proxyData.timerText.text = \"已预约(今日)\";\n proxyData.timerText.timer =\n formatTimerStr(startTime) + \"~\" + formatTimerStr(endTime);\n proxyData.timerText.classColor = \"grey\";\n proxyData.timerText.btnText = \"预约时间\";\n proxyData.timerText.showDel = false;\n proxyData.forcedOverTimeFlag = true;\n } else {\n proxyData.timerText.text = \"请选择工作时间段\";\n proxyData.timerText.timer = \"将自动开启办公服务\";\n proxyData.timerText.classColor = \"grey\";\n proxyData.timerText.btnText = \"预约时间\";\n proxyData.timerText.showDel = false;\n proxyData.forcedOverTimeFlag = true;\n }\n }\n },\n // 格式化需要删除的数据\n formatDataDel() {\n proxyData.delTimeArr = [];\n let customSceneList: any = proxyData.customSceneList;\n let nowTime: any = getRelNowTime();\n let startTime: any = 0;\n let endTime: any = 0;\n let obj: any = proxyData.checkWorkTime(customSceneList, nowTime);\n if (obj.type === 3) {\n startTime = obj.startTime;\n endTime = obj.endTime;\n customSceneList.map((item: any) => {\n let oldTimeEnd: any = endTime;\n if (startTime === item.startTime && endTime === item.endTime) {\n item.type = 1;\n proxyData.delTimeArr.push(item);\n } // 点击我要离开的时候需要删除的数据\n if (oldTimeEnd === item.startTime) {\n endTime = item.endTime;\n item.type = 1;\n proxyData.delTimeArr.push(item);\n }\n });\n }\n },\n // 我要离开\n myLeaving() {\n proxyData.formatDataDel();\n // console.log(\"删除了=====\");\n // console.log(proxyData.delTimeArr);\n proxyData.leaveBtnFlag = true;\n // 取消加班\n proxyData.saveBatchCustomScene();\n },\n // 取消加班记录\n saveBatchCustomScene() {\n // proxyGlobal.proxy.$loadingStart(0);\n proxyData.openLeavDailog();\n saveBatchCustomScene(proxyData.delTimeArr)\n .then((res) => {\n proxyData.leaveBtnFlag = false;\n contx.emit(\"closeWork\");\n // console.log(res);\n // proxyGlobal.proxy.$loadinngEnd();\n })\n .catch(() => {\n proxyData.leaveBtnFlag = false;\n // proxyGlobal.proxy.$loadinngEnd();\n });\n },\n isShowLeaveDailog: false,\n openLeavDailog() {\n proxyData.isShowLeaveDailog = true;\n },\n closeLeavDailog() {\n proxyData.isShowLeaveDailog = false;\n },\n });\n watch(\n props,\n (newProps: any) => {\n proxyData.scenarioArr = newProps.scenarioArr;\n proxyData.workkArr = newProps.workkArr;\n if (proxyData.workkArr && proxyData.workkArr.length) {\n proxyData.formateWorkTime();\n }\n },\n {\n deep: true,\n immediate: true,\n }\n );\n onMounted(() => {\n // proxyData.formateWorkTime();\n });\n return {\n ...toRefs(proxyData),\n };\n },\n});\n","import { render } from \"./WorkConfig.vue?vue&type=template&id=1d74e949&scoped=true&ts=true\"\nimport script from \"./WorkConfig.vue?vue&type=script&lang=ts\"\nexport * from \"./WorkConfig.vue?vue&type=script&lang=ts\"\n\nimport \"./WorkConfig.vue?vue&type=style&index=0&id=1d74e949&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/wangyong/shanggeyun/code/sagacloud-sagacare-ipad/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1d74e949\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-34a0334d\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"scene-config\" }\nconst _hoisted_2 = [\"src\"]\nconst _hoisted_3 = { class: \"time-text\" }\nconst _hoisted_4 = [\"src\"]\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"del-text\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", null, \"我要\"),\n /*#__PURE__*/_createElementVNode(\"span\", null, \"离开\")\n], -1))\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_leave_dailog = _resolveComponent(\"leave-dailog\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"time-box\", _ctx.timerText.classColor])\n }, [\n _createElementVNode(\"img\", {\n src: _ctx.parseImgUrl('page-officehome', 'work.svg'),\n alt: \"\"\n }, null, 8, _hoisted_2),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.timerText.text), 1),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.timerText.timer), 1)\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"time-btn\", _ctx.timerText.showDel ? 'time-btn-small' : '']),\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.triggerWork && _ctx.triggerWork(...args)))\n }, [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.timerText.btnText), 1)\n ], 2)\n ], 2),\n (_ctx.timerText.showDel)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"time-del\",\n onClick: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.myLeaving && _ctx.myLeaving(...args)))\n }, [\n _createElementVNode(\"img\", {\n src: _ctx.parseImgUrl('page-officehome', 'goOffWork.svg'),\n alt: \"\"\n }, null, 8, _hoisted_4),\n _hoisted_5\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.isShowLeaveDailog)\n ? (_openBlock(), _createBlock(_component_leave_dailog, {\n key: 0,\n isShowLeaveDailog: _ctx.isShowLeaveDailog,\n onCloseDailog: _ctx.closeLeavDailog\n }, null, 8, [\"isShowLeaveDailog\", \"onCloseDailog\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","import { openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, createBlock as _createBlock, toDisplayString as _toDisplayString, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5934e340\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"air-dialog-content\" }\nconst _hoisted_2 = { class: \"dialog-top\" }\nconst _hoisted_3 = [\"src\"]\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"leave-title\" }, \"工作辛苦了!\", -1))\nconst _hoisted_5 = { class: \"leave-popup-body\" }\nconst _hoisted_6 = {\n key: 1,\n class: \"text-status\"\n}\nconst _hoisted_7 = {\n key: 2,\n class: \"text-status grey\"\n}\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \"隐藏\", -1))\nconst _hoisted_9 = [\n _hoisted_8\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_van_icon = _resolveComponent(\"van-icon\")!\n const _component_van_dialog = _resolveComponent(\"van-dialog\")!\n\n return (_openBlock(), _createBlock(_component_van_dialog, {\n show: _ctx.isShowLeaveDailog,\n \"onUpdate:show\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.isShowLeaveDailog) = $event)),\n class: \"dialog-width\",\n \"show-confirm-button\": false,\n \"show-cancel-button\": false\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_ctx.leaveDetail.img)\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n class: \"img-yellow\",\n src: _ctx.parseImgUrl('page-officehome', _ctx.leaveDetail.img),\n alt: \"\"\n }, null, 8, _hoisted_3))\n : _createCommentVNode(\"\", true)\n ]),\n _hoisted_4,\n _createElementVNode(\"div\", _hoisted_5, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.leaveDetail.textObj, (item, idx) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"body-item\",\n key: idx\n }, [\n (item.status === 'ok')\n ? (_openBlock(), _createBlock(_component_van_icon, {\n key: 0,\n name: \"passed\",\n style: {\"color\":\"#07c160\",\"margin-right\":\"8px\"}\n }))\n : _createCommentVNode(\"\", true),\n (item.status === 'go')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_6))\n : _createCommentVNode(\"\", true),\n (item.status === 'grey')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_7))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"span\", null, _toDisplayString(item.text), 1)\n ]))\n }), 128))\n ]),\n _createElementVNode(\"div\", {\n class: \"dialog-btns\",\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.closeDailog && _ctx.closeDailog(...args)))\n }, _hoisted_9)\n ])\n ]),\n _: 1\n }, 8, [\"show\"]))\n}","\nimport {\n defineComponent,\n reactive,\n toRefs,\n onBeforeMount,\n onMounted,\n ref,\n watch,\n} from \"vue\";\nimport { Loading, Dialog, Toast } from \"vant\";\nimport { parseImgUrl } from \"@/utils\";\n\nexport default defineComponent({\n props: {\n isShowLeaveDailog: {\n type: Boolean,\n default: () => false,\n },\n },\n components: {\n VanLoading: Loading,\n [Dialog.Component.name]: Dialog.Component,\n },\n setup(props, contx) {\n const proxyData = reactive({\n parseImgUrl: parseImgUrl,\n isShowLeaveDailog: props.isShowLeaveDailog,\n leaveDetail: {\n // img: parseImgUrl(\"ipdImages\", \"icon-handshake.svg\"),\n textObj: [\n {\n text: \"已为您取消当前的预约时间\",\n status: \"ok\",\n },\n {\n text: \"系统将自动调整设备状态\",\n status: \"ok\",\n },\n {\n text: \"感谢您的预约使用\",\n status: \"ok\",\n },\n ],\n },\n closeDailog() {\n contx.emit(\"closeDailog\");\n },\n });\n watch(\n props,\n (newProps: any) => {\n proxyData.isShowLeaveDailog = newProps.isShowLeaveDailog;\n },\n {\n deep: false,\n immediate: true,\n }\n );\n onMounted(() => {});\n return {\n ...toRefs(proxyData),\n };\n },\n});\n","import { render } from \"./LeaveDailog.vue?vue&type=template&id=5934e340&scoped=true&ts=true\"\nimport script from \"./LeaveDailog.vue?vue&type=script&lang=ts\"\nexport * from \"./LeaveDailog.vue?vue&type=script&lang=ts\"\n\nimport \"./LeaveDailog.vue?vue&type=style&index=0&id=5934e340&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/wangyong/shanggeyun/code/sagacloud-sagacare-ipad/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5934e340\"]])\n\nexport default __exports__","\nimport {\n defineComponent,\n reactive,\n toRefs,\n onBeforeMount,\n onMounted,\n ref,\n watch,\n getCurrentInstance,\n} from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport {\n formatDate,\n formatDateStr,\n formateTimeContinuous,\n formatTimerStr,\n getRelNowTime,\n getWeekDate,\n parseImgUrl,\n} from \"@/utils\";\nimport { UserActionTypes } from \"@/store/modules/user/action-types\";\nimport { useStore } from \"@/store\";\nimport { saveBatchCustomScene } from \"@/apis/envmonitor\";\n// import { Dialog } from \"vant\";\nimport LeaveDailog from \"@/views/envmonitor/components/ManualWork/LeaveDailog.vue\";\n\nexport default defineComponent({\n props: {\n workkArr: {\n type: Array,\n default: () => [],\n },\n },\n components: {\n LeaveDailog,\n },\n setup(props, contx) {\n const proxyGlobal: any = getCurrentInstance();\n let router: any = useRouter();\n let timerText: any = {\n text: \"\",\n timer: \"\", // 工作时间\n btnText: \"\",\n showDel: false, // 是否展示我要离开按钮\n classColor: \"grey\",\n };\n let text: any = \"\";\n const store = useStore();\n const delTimeArr: any = [];\n let customSceneList: any = [];\n let workkArr: any = [];\n const proxyData = reactive({\n parseImgUrl: parseImgUrl,\n leaveBtnFlag: false,\n workkArr: workkArr,\n forcedOverTimeFlag: false, // 强制加班标记 false:不需要强制加班\n onSubmit(values: any) {\n router.push({ path: \"/choice-project\" });\n },\n // 触发加班按钮\n triggerWork() {\n contx.emit(\"triggerWork\", 1);\n },\n timerText: timerText,\n text: text,\n // 过滤审批数据\n formateApproveData() {\n let data: any = proxyData.workkArr || [];\n for (let i = 0; i < data.length; i++) {\n let customSceneList: any = data[i]?.customSceneList ?? [];\n if (customSceneList && customSceneList.length) {\n let newCustomSceneList: any = [];\n customSceneList.map((item: any, index: any) => {\n if (item.hasOwnProperty(\"approvalStatus\")) {\n if (item.approvalStatus == 1) {\n // customSceneList.splice(index, 1);\n newCustomSceneList.push(item);\n }\n } else {\n }\n });\n data[i].customSceneList = newCustomSceneList;\n }\n }\n console.log(\"审批数据处理--\", data);\n },\n // 处理时间和第二天和未来连续的问题\n formateTimeContinuous(\n index: any = 1,\n startTime: any,\n endTime: any,\n type: any = 1\n ) {\n let data: any = proxyData.workkArr;\n proxyData.text = \"\";\n return formateTimeContinuous(\n index,\n startTime,\n endTime,\n type,\n data,\n proxyData\n );\n },\n // 判断当前时间在不在加班时间里面\n beforeWorkTime(data: any, nowTime: any) {\n let flag: any = true; // 是否在所有加班时间之前\n for (let i = 0; i < data.length; i++) {\n if (data[i].startTime < nowTime) {\n flag = false;\n }\n }\n return flag;\n },\n // 当前时间是否在所有加班时间之后\n afterWorkTime(data: any, nowTime: any) {\n let flag: any = true; // 是否在所有加班时间之前\n for (let i = 0; i < data.length; i++) {\n if (data[i].endTime > nowTime) {\n flag = false;\n }\n }\n return flag;\n },\n // 查询时间段的范围\n checkWorkTime(data: any, nowTime: any) {\n let obj: any = {\n type: 0, // type=1 当前时间在所有加班时间之前 type=2 当前时间在所有加班时间后 type=3 当前时间在某段加班时间 type=4 当前时间在加班之外,在某一段中间\n startTime: 0,\n endTime: 0,\n };\n if (proxyData.beforeWorkTime(data, nowTime)) {\n obj.type = 1;\n } else if (proxyData.afterWorkTime(data, nowTime)) {\n obj.type = 2;\n } else {\n let flag = true;\n for (let i = 0; i < data.length; i++) {\n if (nowTime >= data[i].startTime && nowTime <= data[i].endTime) {\n obj.startTime = data[i].startTime;\n obj.endTime = data[i].endTime;\n obj.type = 3;\n flag = false;\n break;\n }\n }\n if (flag) {\n obj.type = 4;\n }\n }\n return obj;\n },\n // 格式化日期\n delTimeArr: delTimeArr,\n customSceneList: customSceneList, // 当前日期的加班\n formateWorkTime() {\n // debugger;\n let data: any = proxyData.workkArr;\n let nowDate: any = formatDate(\"YYYY-MM-DD\");\n for (let i = 0; i < data.length; i++) {\n let date: any = formatDateStr(data[i].date);\n let cusStartTime: any = data[i].cusStartTime;\n let cusEndTime: any = data[i].cusEndTime;\n let customSceneList: any = data[i]?.customSceneList ?? [];\n let nowTime: any = getRelNowTime();\n let week: any = getWeekDate(new Date(date).getDay());\n if (date === nowDate) {\n // isActive = true;\n week = \"今天\";\n }\n // console.log(\"nowTime===\" + nowTime);\n if (date === nowDate) {\n proxyData.customSceneList = customSceneList;\n // debugger\n // 1.当天没有服务定制时间和加班时间\n /**a.未来有服务定制和加班**/\n // 2.当天有服务定制时间无加班时间\n // 当天在服务定制之内+加班+和未来的时间连续\n // a.在服务定制之内\n // b.已过了服务定制和1相同处理\n // 3.当天有服务定制和加班时间\n // a.在服务定制之内,并和加班时间不连着\n // b.在服务定制之内,并和加班连续\n // c.在加班时间之内,并和后面加班时间连续\n // d.在加班时间之内,并且和后面加班不连续\n // e.不在服务定制之内,也不在加班时间内,但是当天和未来都有预约时间\n /**f.不在服务定制之内,也不在加班时间内,但是当天没有预约时间,未来有预约加班 */\n\n let startTime: any = \"\";\n let endTime: any = \"\";\n if ((!cusStartTime || !cusEndTime) && !customSceneList.length) {\n // 查找最近的一段预约数据\n let btnObj: any = proxyData.formateTimeContinuous(\n 0,\n startTime,\n endTime,\n 2\n );\n if (btnObj && btnObj.text) {\n proxyData.timerText.text = `已预约(${btnObj.text})`;\n proxyData.timerText.timer =\n formatTimerStr(btnObj.startTime) +\n \"~\" +\n formatTimerStr(btnObj.endTime);\n } else {\n proxyData.timerText.text = \"请选择工作时间段\";\n proxyData.timerText.timer = \"将自动开启办公服务\";\n }\n proxyData.timerText.classColor = \"grey\";\n proxyData.timerText.btnText = \"预约时间\";\n proxyData.timerText.showDel = false;\n proxyData.forcedOverTimeFlag = true;\n } else if (cusStartTime && cusEndTime && !customSceneList.length) {\n if (nowTime >= cusStartTime && nowTime <= cusEndTime) {\n proxyData.timerText.text = \"工作时间\";\n proxyData.timerText.timer =\n formatTimerStr(cusStartTime) +\n \"~\" +\n formatTimerStr(cusEndTime);\n proxyData.timerText.classColor = \"yellow\";\n proxyData.timerText.btnText = \"预约延时\";\n proxyData.timerText.showDel = false;\n proxyData.forcedOverTimeFlag = false;\n } else {\n let btnObj: any = proxyData.formateTimeContinuous(\n 0,\n startTime,\n endTime,\n 2\n );\n if (btnObj && btnObj.text) {\n proxyData.timerText.text = `已预约(${btnObj.text})`;\n proxyData.timerText.timer =\n formatTimerStr(btnObj.startTime) +\n \"~\" +\n formatTimerStr(btnObj.endTime);\n } else {\n proxyData.timerText.text = \"请选择工作时间段\";\n proxyData.timerText.timer = \"将自动开启办公服务\";\n }\n proxyData.timerText.classColor = \"grey\";\n proxyData.timerText.btnText = \"预约时间\";\n proxyData.timerText.showDel = false;\n proxyData.forcedOverTimeFlag = true;\n }\n } else {\n if (\n cusStartTime &&\n cusEndTime &&\n nowTime >= cusStartTime &&\n nowTime <= cusEndTime\n ) {\n // debugger\n startTime = cusStartTime;\n endTime = cusEndTime;\n customSceneList.map((item: any) => {\n if (endTime === item.startTime) {\n endTime = item.endTime;\n }\n });\n /**\n * 需要补加上和未来时间连续的问题\n */\n\n let btnObj: any = proxyData.formateTimeContinuous(\n 1,\n startTime,\n endTime,\n 1\n );\n proxyData.timerText.text = `工作时间`;\n proxyData.timerText.timer =\n formatTimerStr(startTime) + \"~\" + formatTimerStr(endTime);\n if (btnObj && btnObj.text) {\n proxyData.timerText.text = `工作时间(今日~${btnObj.text})`;\n proxyData.timerText.timer =\n formatTimerStr(btnObj.startTime) +\n \"~\" +\n formatTimerStr(btnObj.endTime);\n }\n proxyData.timerText.classColor = \"yellow\";\n proxyData.timerText.btnText = \"预约延时\";\n proxyData.timerText.showDel = false;\n proxyData.forcedOverTimeFlag = false;\n } else {\n let obj: any = proxyData.checkWorkTime(\n customSceneList,\n nowTime\n );\n if (obj.type === 3) {\n startTime = obj.startTime;\n endTime = obj.endTime;\n customSceneList.map((item: any) => {\n let oldTimeStart: any = startTime;\n let oldTimeEnd: any = endTime;\n // debugger\n if (\n startTime === item.startTime &&\n endTime === item.endTime\n ) {\n // proxyData.delTimeArr.push(item);\n } // 点击我要离开的时候需要删除的数据\n if (oldTimeEnd === item.startTime) {\n endTime = item.endTime;\n // proxyData.delTimeArr.push(item);\n }\n });\n if (cusStartTime && cusEndTime && nowTime < cusStartTime) {\n // 在服务定制时间之前的时候需要处理连续时间的问题\n if (endTime === cusStartTime) {\n endTime = cusEndTime;\n }\n customSceneList.map((item: any) => {\n if (endTime === item.startTime) {\n endTime = item.endTime;\n }\n });\n }\n /**\n * 需要补加上和未来时间连续的问题\n */\n let btnObj: any = proxyData.formateTimeContinuous(\n 1,\n startTime,\n endTime,\n 1\n );\n // debugger\n proxyData.timerText.text = `工作时间`;\n proxyData.timerText.timer =\n formatTimerStr(startTime) + \"~\" + formatTimerStr(endTime);\n if (btnObj && btnObj.text) {\n proxyData.timerText.text = `工作时间~${btnObj.text}`;\n proxyData.timerText.timer =\n formatTimerStr(btnObj.startTime) +\n \"~\" +\n formatTimerStr(btnObj.endTime);\n }\n proxyData.timerText.classColor = \"yellow\";\n proxyData.timerText.btnText = \"预约延时\";\n proxyData.timerText.showDel = true;\n proxyData.forcedOverTimeFlag = false;\n } else {\n let btnObj: any = proxyData.formateTimeContinuous(\n 0,\n startTime,\n endTime,\n 2\n );\n if (\n btnObj &&\n btnObj.text &&\n btnObj.startTime &&\n btnObj.endTime\n ) {\n proxyData.timerText.text = `已预约(${btnObj.text})`;\n proxyData.timerText.timer =\n formatTimerStr(btnObj.startTime) +\n \"~\" +\n formatTimerStr(btnObj.endTime);\n } else {\n proxyData.timerText.text = \"请选择工作时间段\";\n proxyData.timerText.timer = \"将自动开启办公服务\";\n }\n proxyData.timerText.classColor = \"grey\";\n proxyData.timerText.btnText = \"预约时间\";\n proxyData.timerText.showDel = false;\n proxyData.forcedOverTimeFlag = true;\n }\n }\n }\n // debugger\n // 记录开灯标记\n contx.emit(\"setForceOverTimeFlag\", proxyData.forcedOverTimeFlag);\n }\n }\n },\n // 时间拼接\n timeJoin(customSceneList: any, nowTime: any) {\n let startTime: any = 0;\n let endTime: any = 0;\n let obj: any = proxyData.checkWorkTime(customSceneList, nowTime);\n if (obj.type === 3) {\n startTime = obj.startTime;\n endTime = obj.endTime;\n customSceneList.map((item: any) => {\n let oldTimeStart: any = startTime;\n let oldTimeEnd: any = endTime;\n // debugger\n if (startTime === item.startTime && endTime === item.endTime) {\n // proxyData.delTimeArr.push(item);\n } // 点击我要离开的时候需要删除的数据\n if (oldTimeEnd === item.startTime) {\n endTime = item.endTime;\n // proxyData.delTimeArr.push(item);\n }\n });\n\n /**\n * 需要补加上和未来时间连续的问题\n */\n proxyData.timerText.text = \"工作时间\";\n proxyData.timerText.timer =\n formatTimerStr(startTime) + \"~\" + formatTimerStr(endTime);\n proxyData.timerText.classColor = \"yellow\";\n proxyData.timerText.btnText = \"预约延时\";\n proxyData.timerText.showDel = true;\n proxyData.forcedOverTimeFlag = false;\n } else {\n customSceneList.map((item: any) => {\n if (nowTime < item.startTime) {\n let oldTimeStart: any = startTime;\n let oldTimeEnd: any = endTime;\n if (item.startTime < startTime) {\n startTime = item.startTime;\n endTime = item.endTime;\n } else if (endTime === item.startTime) {\n endTime = item.endTime;\n }\n }\n });\n /**\n *需要补加上和未来时间连续的问题\n */\n if (startTime && endTime) {\n proxyData.timerText.text = \"已预约(今日)\";\n proxyData.timerText.timer =\n formatTimerStr(startTime) + \"~\" + formatTimerStr(endTime);\n proxyData.timerText.classColor = \"grey\";\n proxyData.timerText.btnText = \"预约时间\";\n proxyData.timerText.showDel = false;\n proxyData.forcedOverTimeFlag = true;\n } else {\n proxyData.timerText.text = \"请选择工作时间段\";\n proxyData.timerText.timer = \"将自动开启办公服务\";\n proxyData.timerText.classColor = \"grey\";\n proxyData.timerText.btnText = \"预约时间\";\n proxyData.timerText.showDel = false;\n proxyData.forcedOverTimeFlag = true;\n }\n }\n },\n // 格式化需要删除的数据\n formatDataDel() {\n proxyData.delTimeArr = [];\n let customSceneList: any = proxyData.customSceneList;\n let nowTime: any = getRelNowTime();\n let startTime: any = 0;\n let endTime: any = 0;\n let obj: any = proxyData.checkWorkTime(customSceneList, nowTime);\n if (obj.type === 3) {\n startTime = obj.startTime;\n endTime = obj.endTime;\n customSceneList.map((item: any) => {\n let oldTimeEnd: any = endTime;\n if (startTime === item.startTime && endTime === item.endTime) {\n item.type = 3; // 3=我要离开\n proxyData.delTimeArr.push(item);\n } // 点击我要离开的时候需要删除的数据\n if (oldTimeEnd === item.startTime) {\n endTime = item.endTime;\n item.type = 3;\n proxyData.delTimeArr.push(item);\n }\n });\n }\n },\n // 我要离开\n myLeaving() {\n // 格式化当前时间\n proxyData.formatDataDel();\n // 设置真实的离开时间\n proxyData.setLeavingTime(); // // 3=我要离开\n console.log(\"离开了=====\");\n console.log(proxyData.delTimeArr);\n proxyData.leaveBtnFlag = true;\n // 取消加班\n proxyData.saveBatchCustomScene();\n },\n // 设置真实的离开时间\n setLeavingTime() {\n let nowTime: any = getRelNowTime();\n proxyData.delTimeArr.map((delTime: any) => {\n if (nowTime >= delTime.startTime && nowTime <= delTime.endTime) {\n delTime.endTimeReal = nowTime;\n // delTime.type = 3\n } else if (nowTime < delTime.startTime) {\n delTime.type = 1; // 时间还未开始直接取消加班记录\n } else if (nowTime > delTime.endTime) {\n delTime.endTimeReal = delTime.endTime;\n }\n });\n },\n // 取消加班记录\n saveBatchCustomScene() {\n // proxyGlobal.proxy.$loadingStart(0);\n proxyData.openLeavDailog();\n saveBatchCustomScene(proxyData.delTimeArr)\n .then((res) => {\n proxyData.leaveBtnFlag = false;\n contx.emit(\"closeWork\");\n // console.log(res);\n // proxyGlobal.proxy.$loadinngEnd();\n })\n .catch(() => {\n proxyData.leaveBtnFlag = false;\n // proxyGlobal.proxy.$loadinngEnd();\n });\n },\n isShowLeaveDailog: false,\n openLeavDailog() {\n proxyData.isShowLeaveDailog = true;\n },\n closeLeavDailog() {\n proxyData.isShowLeaveDailog = false;\n },\n });\n watch(\n props,\n (newProps: any) => {\n if (newProps.workkArr && newProps.workkArr.length) {\n proxyData.workkArr = JSON.parse(JSON.stringify(newProps.workkArr));\n console.log(\"workkArr数据变化了\", proxyData.workkArr);\n proxyData.formateApproveData();\n proxyData.formateWorkTime();\n }\n },\n {\n deep: false,\n immediate: true,\n }\n );\n onMounted(() => {\n // proxyData.workkArr = props.workkArr;\n // proxyData.workkArr = JSON.parse(JSON.stringify(props.workkArr));\n // proxyData.formateApproveData();\n // proxyData.formateWorkTime();\n });\n return {\n ...toRefs(proxyData),\n };\n },\n});\n","import { render } from \"./WorkConfig.vue?vue&type=template&id=34a0334d&scoped=true&ts=true\"\nimport script from \"./WorkConfig.vue?vue&type=script&lang=ts\"\nexport * from \"./WorkConfig.vue?vue&type=script&lang=ts\"\n\nimport \"./WorkConfig.vue?vue&type=style&index=0&id=34a0334d&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/wangyong/shanggeyun/code/sagacloud-sagacare-ipad/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-34a0334d\"]])\n\nexport default __exports__","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1fed2403\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"scene-config\" }\nconst _hoisted_2 = [\"onClick\"]\nconst _hoisted_3 = [\"src\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.scenarioArr, (item, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: 'scene' + index,\n class: _normalizeClass([\"scene-item\", item.sceneType === _ctx.activeType ? 'scene-active' : '']),\n onClick: ($event: any) => (_ctx.handleScene(item)),\n style: _normalizeStyle({\n flex:\n _ctx.scenarioArr.length &&\n _ctx.scenarioArr.length == 2 &&\n item.sceneType === _ctx.activeType\n ? 2\n : 1,\n })\n }, [\n _createElementVNode(\"img\", {\n src: item.img,\n alt: \"\"\n }, null, 8, _hoisted_3),\n _createElementVNode(\"span\", null, _toDisplayString(item.sceneName), 1)\n ], 14, _hoisted_2))\n }), 128))\n ]))\n}","\nimport {\n defineComponent,\n reactive,\n toRefs,\n onBeforeMount,\n onMounted,\n ref,\n watch,\n} from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport { getUserInfo, parseImgUrl } from \"@/utils\";\nimport { UserActionTypes } from \"@/store/modules/user/action-types\";\nimport { useStore } from \"@/store\";\nimport { switchoverSceneHttp } from \"@/apis/envmonitor\";\n\nexport default defineComponent({\n props: {\n projectId: {\n type: String,\n default: () => \"\",\n },\n spaceId: {\n type: String,\n default: () => \"\",\n },\n scenarioArr: {\n type: Array,\n default: () => [],\n },\n activeType: {\n type: String,\n default: () => \"\",\n },\n },\n setup(props, contx) {\n let router: any = useRouter();\n const store = useStore();\n let scenarioImgArr: any = {\n DISCUSSING: parseImgUrl(\"ipdImages\", \"taolun.svg\"),\n PROJECTING: parseImgUrl(\"ipdImages\", \"touying.svg\"),\n ADJOURNMENT: parseImgUrl(\"ipdImages\", \"sanhui.svg\"),\n };\n let scenarioArr: any = [];\n const proxyData = reactive({\n parseImgUrl: parseImgUrl,\n spaceId: props.spaceId,\n scenarioArr: scenarioArr,\n scenarioImgArr: scenarioImgArr,\n activeType: props.activeType,\n onSubmit(values: any) {\n router.push({ path: \"/choice-project\" });\n },\n formatScenarioImg() {\n // debugger\n proxyData.scenarioArr.map((item: any) => {\n item.img = proxyData.scenarioImgArr[item.sceneType];\n if (item.sceneType === \"DISCUSSING\") {\n item.order = 1;\n } else if (item.sceneType === \"PROJECTING\") {\n item.order = 2;\n } else if (item.sceneType === \"ADJOURNMENT\") {\n item.order = 3;\n } else {\n item.order = 4;\n }\n });\n // 数组排序\n proxyData.scenarioArr = proxyData.scenarioArr.sort(\n (a: any, b: any) => a.order - b.order\n );\n },\n // 切换场景\n handleScene(item: any) {\n // 展示场景详情页面\n // proxyData.activeType = item.sceneType;\n const userInfo: any = getUserInfo();\n const params = {\n spaceId: proxyData.spaceId,\n projectId: props.projectId,\n type: item.sceneType,\n pubname: userInfo.pubname,\n };\n\n item.loading = true;\n item.lodingText = \"正在切换至\";\n contx.emit(\"setHeadScene\", item, 1);\n switchoverSceneHttp(params)\n .then((res) => {\n let resData: any = res;\n if (resData.result === \"success\") {\n item.loading = false;\n item.lodingText = \"切换至\";\n contx.emit(\"setHeadScene\", item, 2);\n }\n })\n .catch(() => {\n item.loading = false;\n item.lodingText = \"\";\n contx.emit(\"setHeadScene\", item, 2);\n });\n },\n });\n watch(\n props,\n (newProps: any) => {\n proxyData.activeType = newProps.activeType;\n proxyData.scenarioArr = newProps.scenarioArr;\n proxyData.spaceId = newProps.spaceId;\n proxyData.formatScenarioImg();\n console.log(\"会议室场景变化了--\");\n },\n {\n deep: false,\n immediate: true,\n }\n );\n onMounted(() => {});\n return {\n ...toRefs(proxyData),\n };\n },\n});\n","import { render } from \"./ScenarioConfig.vue?vue&type=template&id=1fed2403&scoped=true&ts=true\"\nimport script from \"./ScenarioConfig.vue?vue&type=script&lang=ts\"\nexport * from \"./ScenarioConfig.vue?vue&type=script&lang=ts\"\n\nimport \"./ScenarioConfig.vue?vue&type=style&index=0&id=1fed2403&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/wangyong/shanggeyun/code/sagacloud-sagacare-ipad/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1fed2403\"]])\n\nexport default __exports__","import { vShow as _vShow, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-54f78787\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"header-content\" }\nconst _hoisted_2 = { class: \"weather\" }\nconst _hoisted_3 = [\"src\"]\nconst _hoisted_4 = { class: \"weather-text\" }\nconst _hoisted_5 = { class: \"pr5\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \"/\", -1))\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"pr5\" }, \"PM2.5\", -1))\nconst _hoisted_8 = { class: \"pr5\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _withDirectives(_createElementVNode(\"img\", {\n src: _ctx.outWeather.imgname,\n class: \"weather-icon\",\n alt: \"\"\n }, null, 8, _hoisted_3), [\n [_vShow, _ctx.outWeather.imgname]\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"p\", null, [\n _createElementVNode(\"span\", _hoisted_5, _toDisplayString(_ctx.outWeather.temperature ? _ctx.outWeather.temperature : \"--\") + \"℃\", 1),\n _hoisted_6,\n _hoisted_7,\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.outWeather.pm25 ? _ctx.outWeather.pm25 : \"--\"), 1)\n ]),\n _createElementVNode(\"p\", null, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.outWeather.text ? _ctx.outWeather.text : \"--\"), 1),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.outWeather.quality ? _ctx.outWeather.quality : \"--\"), 1)\n ])\n ])\n ]),\n _createElementVNode(\"div\", {\n class: \"set-space-btn\",\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.setPermanentSpace && _ctx.setPermanentSpace(...args)))\n }, \"设置常驻空间\")\n ]))\n}","\nimport { defineComponent, onMounted, reactive, toRefs } from \"vue\";\nimport { Icon } from \"vant\";\nimport { useRouter } from \"vue-router\";\n\nexport default defineComponent({\n props: {\n outWeather: {\n type: Object,\n default: () => {\n return {};\n },\n }\n },\n components: {\n VanIcon: Icon,\n },\n setup() {\n const router = useRouter();\n const proxyData = reactive({\n goBack() {\n window.history.go(-1);\n },\n /**\n * 设置常驻空间\n */\n setPermanentSpace() {\n router.push({ path: \"/mySpace\" });\n },\n });\n return {\n ...toRefs(proxyData),\n };\n },\n});\n","import { render } from \"./Index.vue?vue&type=template&id=54f78787&scoped=true&ts=true\"\nimport script from \"./Index.vue?vue&type=script&lang=ts\"\nexport * from \"./Index.vue?vue&type=script&lang=ts\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=54f78787&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/wangyong/shanggeyun/code/sagacloud-sagacare-ipad/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-54f78787\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, withModifiers as _withModifiers, normalizeClass as _normalizeClass, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-44ad189c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"air\" }\nconst _hoisted_2 = { class: \"air-top\" }\nconst _hoisted_3 = { class: \"air-desc\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"air-title\" }, \"空调\", -1))\nconst _hoisted_5 = { class: \"air-temperature\" }\nconst _hoisted_6 = { key: 0 }\nconst _hoisted_7 = {\n key: 0,\n class: \"air-status\"\n}\nconst _hoisted_8 = {\n key: 1,\n class: \"air-loading\"\n}\nconst _hoisted_9 = [\"src\"]\nconst _hoisted_10 = { class: \"air-right\" }\nconst _hoisted_11 = [\"src\"]\nconst _hoisted_12 = {\n key: 0,\n class: \"air-control\"\n}\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"control-title\" }, \"温度调节\", -1))\nconst _hoisted_14 = { class: \"btn-box\" }\nconst _hoisted_15 = [\"src\"]\nconst _hoisted_16 = [\"src\"]\nconst _hoisted_17 = {\n key: 1,\n class: \"air-control\"\n}\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"control-title\" }, \"风量调节\", -1))\nconst _hoisted_19 = { class: \"btn-box\" }\nconst _hoisted_20 = [\"src\"]\nconst _hoisted_21 = [\"src\"]\nconst _hoisted_22 = { class: \"air-dialog-content\" }\nconst _hoisted_23 = { class: \"dialog-top\" }\nconst _hoisted_24 = [\"src\"]\nconst _hoisted_25 = { class: \"dialog-text\" }\nconst _hoisted_26 = { class: \"air-body-item-num\" }\nconst _hoisted_27 = {\n key: 0,\n class: \"air-temp-num\"\n}\nconst _hoisted_28 = {\n key: 1,\n class: \"air-temp-load\"\n}\nconst _hoisted_29 = {\n key: 0,\n class: \"air-notice\"\n}\nconst _hoisted_30 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \"确定\", -1))\nconst _hoisted_31 = [\n _hoisted_30\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_van_loading = _resolveComponent(\"van-loading\")!\n const _component_Switch = _resolveComponent(\"Switch\")!\n const _component_van_dialog = _resolveComponent(\"van-dialog\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _hoisted_4,\n _createElementVNode(\"p\", _hoisted_5, [\n _createTextVNode(_toDisplayString(_ctx.airData.tempSet ? _ctx.airData.tempSet : \"\") + \" \", 1),\n (_ctx.airData.tempSet)\n ? (_openBlock(), _createElementBlock(\"sup\", _hoisted_6, \"℃\"))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.hasAir)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_7, _toDisplayString(_ctx.airData.isOpen ? \"空调已开启\" : \"空调已关闭\"), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.airData.isOpen)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_8, [\n (_ctx.airData.icon == 1 || _ctx.airData.icon == 2 || _ctx.airData.icon == 3)\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n src: _ctx.airRunImg,\n alt: \"\"\n }, null, 8, _hoisted_9))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.airData.spaceStatus), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n (_ctx.airData.airImg)\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n src: _ctx.airData.airImg,\n alt: \"\"\n }, null, 8, _hoisted_11))\n : (_openBlock(), _createBlock(_component_van_loading, {\n key: 1,\n style: {\"padding-top\":\"20px\"}\n })),\n (_ctx.hasAir)\n ? (_openBlock(), _createBlock(_component_Switch, {\n key: 2,\n class: \"switch-btn\",\n loading: _ctx.loadingAir || _ctx.firstLoadingAir,\n disabled: !_ctx.userIsControl || _ctx.loadingAir || _ctx.firstLoadingAir,\n \"inactive-color\": \"rgba(196, 196, 196, 0.4)\",\n onClick: _ctx.airChange,\n \"model-value\": _ctx.airData.isOpen\n }, null, 8, [\"loading\", \"disabled\", \"onClick\", \"model-value\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n (_ctx.userIsControl && _ctx.airData.isOpen)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n _hoisted_13,\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", {\n class: \"control-btn mr20\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.changeAir(4, 'temp', 'toCold')), [\"stop\"]))\n }, [\n _createElementVNode(\"img\", {\n src: _ctx.parseImgUrl('envmonitor', 'arrow-top.png'),\n alt: \"\"\n }, null, 8, _hoisted_15)\n ]),\n _createElementVNode(\"div\", {\n class: \"control-btn\",\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.changeAir(2, 'temp', 'toWarm')), [\"stop\"]))\n }, [\n _createElementVNode(\"img\", {\n src: _ctx.parseImgUrl('envmonitor', 'arrow-down.png'),\n alt: \"\"\n }, null, 8, _hoisted_16)\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.userIsControl && _ctx.airData.isOpen && _ctx.showAirVolumeBtn)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _hoisted_18,\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", {\n class: \"control-btn mr20\",\n onClick: _cache[2] || (_cache[2] = _withModifiers(($event: any) => (_ctx.changeAir(5, 'wind', 'toWindLow')), [\"stop\"]))\n }, [\n _createElementVNode(\"img\", {\n class: \"temp-img\",\n src: _ctx.parseImgUrl('envmonitor', 'fengshan.png'),\n alt: \"\"\n }, null, 8, _hoisted_20)\n ]),\n _createElementVNode(\"div\", {\n class: \"control-btn\",\n onClick: _cache[3] || (_cache[3] = _withModifiers(($event: any) => (_ctx.changeAir(6, 'wind', 'toWindUp')), [\"stop\"]))\n }, [\n _createElementVNode(\"img\", {\n class: \"temp-img\",\n src: _ctx.parseImgUrl('envmonitor', 'wendu.png'),\n alt: \"\"\n }, null, 8, _hoisted_21)\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_van_dialog, {\n show: _ctx.showDialog,\n \"onUpdate:show\": _cache[5] || (_cache[5] = ($event: any) => ((_ctx.showDialog) = $event)),\n class: \"dialog-width\",\n \"show-confirm-button\": false,\n \"show-cancel-button\": false\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_22, [\n _createElementVNode(\"div\", _hoisted_23, [\n _createElementVNode(\"img\", {\n class: _normalizeClass([\"img-greey\", \n _ctx.airSetText.toWhere == 'toCold'\n ? 'img-blue'\n : _ctx.airSetText.toWhere == 'toWarm'\n ? 'img-red'\n : ''\n ]),\n src: _ctx.parseImgUrl('page-officehome', _ctx.airSetText.nowImg),\n alt: \"\"\n }, null, 10, _hoisted_24)\n ]),\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"div\", _hoisted_26, [\n (_ctx.airSetText.notice)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_27, _toDisplayString(_ctx.airSetText.notice), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_28, [\n _createVNode(_component_van_loading, { type: \"spinner\" })\n ]))\n ]),\n (_ctx.airSetText.remark && _ctx.airSetText.remark.length)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_29, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.airSetText.remark, (remarkItem, index) => {\n return (_openBlock(), _createElementBlock(\"span\", {\n key: 'remark' + index\n }, _toDisplayString(remarkItem), 1))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", {\n class: \"dialog-btns\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(\n//@ts-ignore\n(...args) => (_ctx.closeDialog && _ctx.closeDialog(...args)), [\"stop\"]))\n }, _hoisted_31)\n ])\n ]),\n _: 1\n }, 8, [\"show\"])\n ]))\n}","import { createVNode as _createVNode } from \"vue\";\nimport { defineComponent } from \"vue\";\nimport { addUnit, numericProp, unknownProp, createNamespace } from \"../utils\";\nimport { useCustomFieldValue } from \"@vant/use\";\nimport { Loading } from \"../loading\";\nconst [name, bem] = createNamespace(\"switch\");\nconst switchProps = {\n size: numericProp,\n loading: Boolean,\n disabled: Boolean,\n modelValue: unknownProp,\n activeColor: String,\n inactiveColor: String,\n activeValue: {\n type: unknownProp,\n default: true\n },\n inactiveValue: {\n type: unknownProp,\n default: false\n }\n};\nvar stdin_default = defineComponent({\n name,\n props: switchProps,\n emits: [\"change\", \"update:modelValue\"],\n setup(props, {\n emit\n }) {\n const isChecked = () => props.modelValue === props.activeValue;\n const onClick = () => {\n if (!props.disabled && !props.loading) {\n const newValue = isChecked() ? props.inactiveValue : props.activeValue;\n emit(\"update:modelValue\", newValue);\n emit(\"change\", newValue);\n }\n };\n const renderLoading = () => {\n if (props.loading) {\n const color = isChecked() ? props.activeColor : props.inactiveColor;\n return _createVNode(Loading, {\n \"class\": bem(\"loading\"),\n \"color\": color\n }, null);\n }\n };\n useCustomFieldValue(() => props.modelValue);\n return () => {\n const {\n size,\n loading,\n disabled,\n activeColor,\n inactiveColor\n } = props;\n const checked = isChecked();\n const style = {\n fontSize: addUnit(size),\n backgroundColor: checked ? activeColor : inactiveColor\n };\n return _createVNode(\"div\", {\n \"role\": \"switch\",\n \"class\": bem({\n on: checked,\n loading,\n disabled\n }),\n \"style\": style,\n \"tabindex\": disabled ? void 0 : 0,\n \"aria-checked\": checked,\n \"onClick\": onClick\n }, [_createVNode(\"div\", {\n \"class\": bem(\"node\")\n }, [renderLoading()])]);\n };\n }\n});\nexport {\n stdin_default as default\n};\n","import { withInstall } from \"../utils\";\nimport _Switch from \"./Switch\";\nconst Switch = withInstall(_Switch);\nvar stdin_default = Switch;\nexport {\n Switch,\n stdin_default as default\n};\n","\nimport {\n defineComponent,\n onMounted,\n reactive,\n toRefs,\n computed,\n watch,\n onUnmounted,\n onBeforeMount,\n onBeforeUnmount,\n} from \"vue\";\nimport { Switch, Dialog, Loading, Toast } from \"vant\";\nimport {\n changeTempHttp,\n getEquipmentListHttp,\n getFeedbackDocumentsHttp,\n} from \"@/apis/envmonitor\";\nimport { parseImgUrl } from \"@/utils\";\nimport any = jasmine.any;\n\nexport default defineComponent({\n props: {\n temperature: {\n // 空调基本信息\n type: Number,\n default: () => 0,\n },\n hasAir: {\n // 有无空调\n type: Boolean,\n default: () => false,\n },\n airVolumes: {\n // 风量信息\n type: Array,\n default: () => [],\n },\n projectId: {\n type: String,\n default: () => \"\",\n },\n spaceId: {\n type: String,\n default: () => \"\",\n },\n userIsControl: {\n type: Boolean,\n default: () => false,\n },\n forceOverTimeFlag: {\n type: Boolean,\n default: () => false,\n },\n },\n components: {\n Switch,\n [Dialog.Component.name]: Dialog.Component,\n Loading,\n },\n setup(props, contx) {\n const propsVal = props;\n let airData: any = {\n avg: \"\", // 算法调节温度(目标值)\n icon: 1, // 固定框文案ID 7 为关机,其它都是开机\n spaceStatus: \"\", // 固定框文案展示\n notice: \"\", // 弹框文案展示\n mode: 0, // 模式\n tempSet: 0, // 温度\n isOpen: false, // 空调开关 true 是开\n };\n const feedbackTimer: any = null;\n const airTimer: any = null;\n const domAirOpeen: any = false;\n const proxyData = reactive({\n loadingAir: false,\n temperature: props.temperature,\n userIsControl: props.userIsControl,\n forceOverTimeFlag: props.forceOverTimeFlag,\n firstLoadingAir: true,\n domAirOpeen: domAirOpeen,\n feedbackTimer: feedbackTimer,\n parseImgUrl: parseImgUrl,\n airData: airData,\n modeName: \"\",\n showAirVolumeBtn: false, // 是否展示风量调节按钮\n showDialog: false,\n airTimer: airTimer,\n airSetText: {\n // 空调反馈文案\n notice: \"\",\n remark: [],\n nowImg: \"\",\n toWhere: \"\",\n designTemperature: 0,\n },\n // 格式化模式\n formateModel(model: any) {\n if (model) {\n if (model === 1) {\n proxyData.modeName = \"制冷\";\n } else if (model === 2) {\n proxyData.modeName = \"制热\";\n } else if (model === 3) {\n proxyData.modeName = \"通风\";\n } else if (model === 4) {\n proxyData.modeName = \"除湿\";\n } else {\n proxyData.modeName = \"\";\n }\n } else {\n proxyData.modeName = \"\";\n }\n },\n // 获取设备类型(ACATVI)\n getEquipmentListHttp() {\n let params = {\n spaceId: props.spaceId,\n };\n proxyData.showAirVolumeBtn = false;\n let flag: any = true;\n getEquipmentListHttp(params).then((res) => {\n let resData: any = res;\n let data: any = resData ? resData.data : [];\n if (data && data.length) {\n for (let i = 0; i < data.length; i++) {\n let item: any = data[i];\n if (item.equipmentCategory === \"ACATVI\") {\n // 多联机不展示风量调整\n proxyData.showAirVolumeBtn = false;\n flag = false;\n break;\n }\n }\n if (flag) {\n proxyData.showAirVolumeBtn = true;\n }\n }\n });\n },\n // 定时获取空调状态\n getAirInfoToTimer(timerLong: any = 3000) {\n if (proxyData.airTimer) {\n clearTimeout(proxyData.airTimer);\n }\n proxyData.airTimer = setTimeout(function () {\n proxyData.getAirInfo();\n }, timerLong);\n },\n // 定时调文案的接口\n getFeedbackTimer(btnType: any, id: any) {\n clearTimeout(proxyData.airTimer);\n proxyData.airTimer = null;\n proxyData.feedbackTimer = setTimeout(() => {\n proxyData.getAirInfo(\"feedback\", btnType, id, false); // 调节反馈文案\n }, 3000);\n },\n // 关闭空调的按钮点击的loading状态\n closeLoading() {\n let num: any = 0;\n let interval: any = setInterval(() => {\n if (num > 15 || proxyData.domAirOpeen === proxyData.airData.isOpen) {\n proxyData.loadingAir = false;\n clearInterval(interval);\n }\n num++;\n }, 1000);\n },\n getAirInfo(\n type: string = \"\",\n btnType: string = \"\",\n feedbackId: any = \"\",\n isTimer: boolean = true\n ) {\n let paramObj: any = {\n projectId: propsVal.projectId, // 项目id\n objectId: propsVal.spaceId, // 空间id\n };\n\n if (type === \"feedback\") {\n paramObj.id = feedbackId;\n }\n console.log(\"paramObj===\");\n getFeedbackDocumentsHttp(paramObj)\n .then((res) => {\n const resData: any = res;\n if (type !== \"feedback\") {\n if (resData) {\n proxyData.airData = resData;\n proxyData.formateModel(proxyData.airData.mode);\n contx.emit(\"updateAirTemp\", proxyData.airData.tempSet);\n if (proxyData.airData.icon && proxyData.airData.icon === 7) {\n proxyData.airData.isOpen = false;\n proxyData.airData.airImg = parseImgUrl(\n \"page-officehome\",\n \"air_close.png\"\n );\n } else {\n if (proxyData.airData.icon && proxyData.airData.icon !== 6) {\n proxyData.airData.isOpen = true;\n proxyData.airData.airImg = parseImgUrl(\n \"page-officehome\",\n \"openair.png\"\n );\n }\n }\n }\n }\n // 弹窗\n if (type === \"feedback\") {\n if (resData.notice) {\n proxyData.airSetText.notice = resData.notice;\n if (resData.remark && resData.remark.length) {\n proxyData.airSetText.remark = resData.remark.split(\"*\");\n }\n if (proxyData.feedbackTimer) {\n clearTimeout(proxyData.feedbackTimer); // 拿到反馈文案清除定时器\n proxyData.getAirInfoToTimer();\n }\n } else {\n proxyData.getFeedbackTimer(btnType, feedbackId);\n }\n } else {\n proxyData.getAirInfoToTimer();\n }\n proxyData.firstLoadingAir = false;\n })\n .catch(() => {\n proxyData.getAirInfoToTimer();\n proxyData.firstLoadingAir = false;\n proxyData.airData.airImg = parseImgUrl(\n \"page-officehome\",\n \"air_close.png\"\n );\n });\n },\n airChange() {\n // 先不更新状态等确认框弹出后再更新状\n if (proxyData.userIsControl) {\n if (!proxyData.loadingAir) {\n proxyData.airComfir();\n } else {\n Toast(\"指令正在下发中,勿重复操作!\");\n }\n } else {\n Toast(\"您没有当前空间的控制权限!\");\n }\n },\n // 确认\n airComfir() {\n const message = proxyData.airData.isOpen\n ? \"要关闭空调吗?\"\n : \"要开启空调吗?\";\n const confirmBtnText = proxyData.airData.isOpen ? \"关闭\" : \"开启\";\n Dialog.confirm({\n cancelButtonText: \"取消\",\n confirmButtonText: confirmBtnText,\n confirmButtonColor: \"$elActiveColor\",\n message: message,\n })\n .then(() => {\n // 操作空调\n const domAirOpen = !proxyData.airData.isOpen;\n if (proxyData.forceOverTimeFlag && domAirOpen) {\n //需要强制加班\n contx.emit(\"triggerWork\");\n return;\n }\n const itemId = domAirOpen ? 12 : 10; // 12 开启 10关闭\n proxyData.domAirOpeen = domAirOpen;\n let btnTypeDetail = \"\";\n if (itemId == 12) {\n btnTypeDetail = \"openAir\";\n } else {\n btnTypeDetail = \"closeAir\";\n }\n proxyData.loadingAir = true;\n proxyData.closeLoading();\n proxyData.changeAir(itemId, \"sw\", btnTypeDetail);\n })\n .catch(() => {\n // on cancel\n });\n },\n // 切换散会的时候手动关闭空调()\n closeScenarioAir() {\n proxyData.changeAir(10, \"sw\", \"closeAir\");\n },\n // 更新空调开关状态\n updatAirStatus(btnType: string) {\n // 开启空调后手动调一下状态更新接口\n if (btnType === \"sw\") {\n proxyData.getAirInfo(\"\", \"\", \"\", false);\n }\n },\n // 更新\n updateAirText(btnType: string, val: any) {\n if (btnType !== \"sw\") {\n proxyData.airSetText.designTemperature = val.designTemperature; // 目标温度\n proxyData.airSetText.toWhere = val.toWhere;\n if (proxyData.airSetText.toWhere == \"toCold\") {\n proxyData.airSetText.nowImg = \"dialog_cooling.svg\";\n } else if (proxyData.airSetText.toWhere == \"toWarm\") {\n proxyData.airSetText.nowImg = \"dialog_warmUp.svg\";\n } else {\n proxyData.airSetText.nowImg = \"icon_wind.svg\";\n }\n }\n },\n // 展示空调反馈弹窗¬\n showAirConditioning(btnType: string, btnTypeDetail: string) {\n // 空调温度和风量调整的时候展示弹窗\n if (btnType !== \"sw\") {\n proxyData.showDialog = true;\n // 调整空调温度接口\n const defaultAirText: any = {\n toWhere: btnTypeDetail,\n designTemperature: 0,\n };\n proxyData.updateAirText(btnType, defaultAirText);\n }\n },\n // 关闭弹窗\n closeDialog() {\n if (proxyData.feedbackTimer) {\n clearInterval(proxyData.feedbackTimer); // 拿到反馈文案清除定时器\n proxyData.feedbackTimer = null;\n }\n proxyData.getAirInfoToTimer();\n proxyData.showDialog = false;\n },\n changeAir(itemId: number, btnType: string, btnTypeDetail: string) {\n /**\n * 缺少的逻辑:\n * 1.设备位置判断\n * 2.空调温度调整的反馈文案\n */\n // 温度切换的时候调整文案\n proxyData.airSetText.notice = \"\";\n proxyData.airSetText.remark = [];\n const paramObj = {\n projectId: propsVal.projectId, // 项目id\n objectId: propsVal.spaceId, // 空间id\n valueType: 1, // 固定为1\n itemId: itemId, // 12 开启 10关闭 4 调低温 2 调高温 5 调小风量 6 调大风量\n };\n // 空调温度和风量调整的时候展示弹窗\n proxyData.showAirConditioning(btnType, btnTypeDetail);\n changeTempHttp(paramObj)\n .then((res) => {\n let resData: any = res;\n // 开启和关闭空调之后手动\n // proxyData.updatAirStatus(btnType)\n // 调整温度和风量的时候修改文案\n let airText = {\n toWhere: btnTypeDetail,\n designTemperature: resData.designTemperature,\n };\n proxyData.updateAirText(btnType, airText);\n // 改变温度和风量的时候给弹窗设置文案\n if (btnType !== \"sw\") {\n // debugger\n if (resData.notice) {\n proxyData.airSetText.notice = resData.notice;\n if (resData.remark && resData.remark.length) {\n proxyData.airSetText.remark = resData.remark.split(\"*\");\n }\n } else {\n proxyData.getFeedbackTimer(btnType, resData.id);\n }\n }\n })\n .catch(() => {\n proxyData.loadingAir = false;\n });\n },\n });\n watch(props, (newProps: any) => {\n if (newProps.spaceId) {\n // 空间id改变的重新获取值调用接口\n // 定时调空间信息\n proxyData.getAirInfoToTimer(0);\n // proxyData.getAirInfo()\n // proxyData.getEquipmentListHttp();\n }\n proxyData.temperature = props.temperature;\n proxyData.userIsControl = newProps.userIsControl;\n proxyData.forceOverTimeFlag = newProps.forceOverTimeFlag;\n });\n onBeforeUnmount(() => {\n if (proxyData.airTimer) {\n clearTimeout(proxyData.airTimer);\n proxyData.airTimer = null;\n }\n if (proxyData.feedbackTimer) {\n clearTimeout(proxyData.feedbackTimer);\n proxyData.feedbackTimer = null;\n }\n });\n onMounted(() => {\n // 获取空调信息\n proxyData.firstLoadingAir = true;\n proxyData.getAirInfo();\n proxyData.getEquipmentListHttp();\n });\n const airRunImg = computed(() => {\n let imgStr: string = \"\";\n switch (proxyData.airData.icon) {\n case 1:\n imgStr = parseImgUrl(\"page-officehome\", \"temp-keep.png\");\n break;\n case 2:\n imgStr = parseImgUrl(\"page-officehome\", \"temp_cold.svg\");\n break;\n case 3:\n imgStr = parseImgUrl(\"page-officehome\", \"temp_sun.png\");\n break;\n default:\n imgStr = \"\";\n break;\n }\n return imgStr;\n });\n return {\n airRunImg,\n ...toRefs(proxyData),\n };\n },\n});\n","import { render } from \"./index.vue?vue&type=template&id=44ad189c&scoped=true&ts=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=44ad189c&lang=scss&scoped=true\"\nimport \"./index.vue?vue&type=style&index=1&id=44ad189c&lang=scss\"\n\nimport exportComponent from \"/Users/wangyong/shanggeyun/code/sagacloud-sagacare-ipad/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-44ad189c\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, withModifiers as _withModifiers, createBlock as _createBlock, renderList as _renderList, Fragment as _Fragment, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-49332094\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"air\" }\nconst _hoisted_2 = { class: \"air-top\" }\nconst _hoisted_3 = { class: \"air-desc\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"air-title\" }, \"空调\", -1))\nconst _hoisted_5 = { class: \"air-temperature\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"sup\", null, \"℃\", -1))\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = { key: 1 }\nconst _hoisted_9 = { class: \"air-right\" }\nconst _hoisted_10 = [\"src\"]\nconst _hoisted_11 = { class: \"air-control air-control-padding\" }\nconst _hoisted_12 = { class: \"control-box\" }\nconst _hoisted_13 = { class: \"temp-text\" }\nconst _hoisted_14 = {\n class: \"temp-slider\",\n id: \"sliderId\"\n}\nconst _hoisted_15 = {\n class: \"slider-bar\",\n id: \"barId\"\n}\nconst _hoisted_16 = { class: \"bar-temp\" }\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"bar-circle\",\n id: \"handId\"\n}, null, -1))\nconst _hoisted_18 = { class: \"temp-text\" }\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"control-text\" }, \"温度设定\", -1))\nconst _hoisted_20 = { class: \"air-control\" }\nconst _hoisted_21 = { class: \"control-box\" }\nconst _hoisted_22 = { class: \"volume-box\" }\nconst _hoisted_23 = { class: \"number\" }\nconst _hoisted_24 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"text\" }, \"风量调节\", -1))\nconst _hoisted_25 = { class: \"volume-icon\" }\nconst _hoisted_26 = [\"src\"]\nconst _hoisted_27 = [\"src\"]\nconst _hoisted_28 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \" AUTO\", -1))\nconst _hoisted_29 = [\n _hoisted_28\n]\nconst _hoisted_30 = { class: \"air-control\" }\nconst _hoisted_31 = { class: \"control-box\" }\nconst _hoisted_32 = { class: \"volume-box\" }\nconst _hoisted_33 = { class: \"model\" }\nconst _hoisted_34 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"text\" }, \"模式设定\", -1))\nconst _hoisted_35 = { class: \"volume-icon\" }\nconst _hoisted_36 = [\"src\"]\nconst _hoisted_37 = [\"src\"]\nconst _hoisted_38 = [\"src\"]\nconst _hoisted_39 = {\n key: 1,\n class: \"air-child\"\n}\nconst _hoisted_40 = { class: \"open-title\" }\nconst _hoisted_41 = { class: \"adjust-item\" }\nconst _hoisted_42 = { class: \"adjust-text\" }\nconst _hoisted_43 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"adjust-title\" }, \"温度\", -1))\nconst _hoisted_44 = { class: \"adjust-item\" }\nconst _hoisted_45 = { class: \"adjust-text\" }\nconst _hoisted_46 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"adjust-title\" }, \"档位\", -1))\nconst _hoisted_47 = { class: \"adjust-item\" }\nconst _hoisted_48 = { class: \"adjust-text\" }\nconst _hoisted_49 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"adjust-title\" }, \"模式\", -1))\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_van_icon = _resolveComponent(\"van-icon\")!\n const _component_van_loading = _resolveComponent(\"van-loading\")!\n const _component_Switch = _resolveComponent(\"Switch\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _hoisted_4,\n _createElementVNode(\"p\", _hoisted_5, [\n _createTextVNode(_toDisplayString(_ctx.airTemp ? _ctx.airTemp : \"--\") + \" \", 1),\n _hoisted_6\n ]),\n (_ctx.equipList && _ctx.equipList.length > 1)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"show-all\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(\n//@ts-ignore\n(...args) => (_ctx.showAll && _ctx.showAll(...args)), [\"stop\"]))\n }, [\n _createVNode(_component_van_icon, {\n name: _ctx.lightIcon,\n class: \"light-icon\"\n }, null, 8, [\"name\"]),\n (!_ctx.showChild)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_7, \"查看全部\"))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_8, \"收起全部\"))\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n (_ctx.airData.airImg)\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n src: _ctx.airData.airImg,\n alt: \"\"\n }, null, 8, _hoisted_10))\n : (_openBlock(), _createBlock(_component_van_loading, {\n key: 1,\n style: {\"padding-top\":\"20px\"}\n })),\n (!_ctx.showChild)\n ? (_openBlock(), _createBlock(_component_Switch, {\n key: 2,\n class: \"switch-btn\",\n loading: _ctx.loadingAir || _ctx.firstLoadingAir,\n disabled: _ctx.loadingAir || _ctx.firstLoadingAir,\n \"inactive-color\": \"rgba(196, 196, 196, 0.4)\",\n onClick: _ctx.airChange,\n \"model-value\": _ctx.airData.isOpen\n }, null, 8, [\"loading\", \"disabled\", \"onClick\", \"model-value\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n (!_ctx.showChild && _ctx.airData.runStatus)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n style: _normalizeStyle({ opacity: _ctx.loadingAir || !_ctx.airData.runStatus ? '0.4' : '1' })\n }, [\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", _hoisted_13, _toDisplayString(_ctx.airData.minTempSet) + \"℃\", 1),\n _createElementVNode(\"div\", _hoisted_14, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(5, (item, index) => {\n return _createElementVNode(\"div\", {\n class: \"item\",\n key: 'bar' + index\n })\n }), 64)),\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", _hoisted_16, _toDisplayString(_ctx.realTemp) + \"℃\", 1),\n _hoisted_17\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_18, _toDisplayString(_ctx.airData.maxTempSet) + \"℃\", 1)\n ]),\n _hoisted_19\n ]),\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"div\", _hoisted_22, [\n _createElementVNode(\"div\", _hoisted_23, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.windGearArr, (item, index) => {\n return (_openBlock(), _createElementBlock(\"span\", {\n class: _normalizeClass(_ctx.airData.gear === item ? 'number-active' : ''),\n key: 'volume' + index\n }, _toDisplayString(item), 3))\n }), 128))\n ]),\n _hoisted_24\n ]),\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"div\", {\n class: \"icon-item\",\n style: _normalizeStyle({\n opacity: _ctx.airData.gear <= 1 ? '0.6' : 1,\n }),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.changeZongAir('gear', 'windLow')))\n }, [\n _createElementVNode(\"img\", {\n src: _ctx.parseImgUrl('ipdImages', 'wind_small.png')\n }, null, 8, _hoisted_26)\n ], 4),\n _createElementVNode(\"div\", {\n class: \"icon-item\",\n style: _normalizeStyle({ opacity: _ctx.airData.gear >= 3 ? '0.6' : 1 }),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.changeZongAir('gear', 'windUp')))\n }, [\n _createElementVNode(\"img\", {\n src: _ctx.parseImgUrl('ipdImages', 'wind_big.png')\n }, null, 8, _hoisted_27)\n ], 4),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"icon-item\", _ctx.airData.isAutoGear ? 'active-color' : '']),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.changeZongAir('gear', 'auto')))\n }, _hoisted_29, 2)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_30, [\n _createElementVNode(\"div\", _hoisted_31, [\n _createElementVNode(\"div\", _hoisted_32, [\n _createElementVNode(\"div\", _hoisted_33, _toDisplayString(_ctx.airData.workMode == 1\n ? \"制冷\"\n : _ctx.airData.workMode == 2\n ? \"制热\"\n : \"通风\"), 1),\n _hoisted_34\n ]),\n _createElementVNode(\"div\", _hoisted_35, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"icon-item\", _ctx.airData.workMode === 2 ? 'active-color' : '']),\n onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.changeZongAir('mode', 2)))\n }, [\n _createElementVNode(\"img\", {\n src: \n _ctx.airData.workMode === 2\n ? _ctx.parseImgUrl('ipdImages', 'airsunred.svg')\n : _ctx.parseImgUrl('ipdImages', 'airsunblack.svg')\n \n }, null, 8, _hoisted_36)\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"icon-item\", _ctx.airData.workMode === 1 ? 'active-color' : '']),\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.changeZongAir('mode', 1)))\n }, [\n _createElementVNode(\"img\", {\n src: \n _ctx.airData.workMode === 1\n ? _ctx.parseImgUrl('ipdImages', 'aircoldblue.svg')\n : _ctx.parseImgUrl('ipdImages', 'aircoldblack.svg')\n \n }, null, 8, _hoisted_37)\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"icon-item\", _ctx.airData.workMode === 3 ? 'active-color' : '']),\n onClick: _cache[6] || (_cache[6] = ($event: any) => (_ctx.changeZongAir('mode', 3)))\n }, [\n _createElementVNode(\"img\", {\n src: \n _ctx.airData.workMode === 3\n ? _ctx.parseImgUrl('ipdImages', 'aircloudgreen.svg')\n : _ctx.parseImgUrl('ipdImages', 'aircloudblack.svg')\n \n }, null, 8, _hoisted_38)\n ], 2)\n ])\n ])\n ])\n ], 4))\n : _createCommentVNode(\"\", true),\n (_ctx.showChild)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_39, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.equipList, (childItem, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"child-control-box\",\n key: 'child' + index\n }, [\n _createElementVNode(\"div\", _hoisted_40, [\n _createElementVNode(\"span\", null, _toDisplayString(childItem.localName), 1),\n _createVNode(_component_Switch, {\n onClick: ($event: any) => (_ctx.changeChildItemAir('switch', childItem, 'switch')),\n loading: \n childItem.loadingTimer > 0 && childItem.loadingTimer <= 15\n ? true\n : false\n ,\n disabled: \n childItem.loadingTimer > 0 && childItem.loadingTimer <= 15\n ? true\n : false\n ,\n \"model-value\": childItem.isOpen,\n class: \"child-switch\",\n \"inactive-color\": \"rgba(196, 196, 196, 0.4)\",\n size: \"14px\"\n }, null, 8, [\"onClick\", \"loading\", \"disabled\", \"model-value\"])\n ]),\n _createElementVNode(\"div\", {\n class: \"adjust-box\",\n style: _normalizeStyle({\n opacity: childItem.runStatus && childItem.isOpen ? '' : '0.3',\n })\n }, [\n _createElementVNode(\"div\", _hoisted_41, [\n _createVNode(_component_van_icon, {\n name: \"arrow-up\",\n class: _normalizeClass([\n childItem.tempSet >= _ctx.airData.maxTempSet ? 'disable-color' : ''\n , \"adjust-icon\"]),\n onClick: ($event: any) => (_ctx.changeChildItemAir('temp', childItem, 'up'))\n }, null, 8, [\"class\", \"onClick\"]),\n _createElementVNode(\"div\", _hoisted_42, [\n _createElementVNode(\"div\", {\n class: \"value-wrap\",\n style: _normalizeStyle({\n transform: _ctx.valueHeight\n ? 'translateY(' + -childItem.sel * _ctx.valueHeight + 'px)'\n : 'translateY(0px)',\n })\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(childItem.tempArr, (titem, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"value\",\n key: index + 'ct'\n }, _toDisplayString(titem), 1))\n }), 128))\n ], 4)\n ]),\n _createVNode(_component_van_icon, {\n name: \"arrow-down\",\n class: _normalizeClass([\n childItem.tempSet <= _ctx.airData.minTempSet ? 'disable-color' : ''\n , \"adjust-icon\"]),\n onClick: ($event: any) => (_ctx.changeChildItemAir('temp', childItem, 'down'))\n }, null, 8, [\"class\", \"onClick\"]),\n _hoisted_43\n ]),\n _createElementVNode(\"div\", _hoisted_44, [\n _createVNode(_component_van_icon, {\n name: \"arrow-up\",\n class: _normalizeClass([childItem.isAutoGear ? 'disable-color' : '', \"adjust-icon\"]),\n onClick: ($event: any) => (_ctx.changeChildItemAir('gear', childItem, 'up'))\n }, null, 8, [\"class\", \"onClick\"]),\n _createElementVNode(\"div\", _hoisted_45, [\n _createElementVNode(\"div\", {\n class: \"value-wrap\",\n style: _normalizeStyle({\n transform: _ctx.valueHeight\n ? 'translateY(' + -childItem.gIndex * _ctx.valueHeight + 'px)'\n : 'translateY(0px)',\n })\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(childItem.gearArr, (gItem, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"value\",\n key: index + 'g'\n }, _toDisplayString(gItem), 1))\n }), 128))\n ], 4)\n ]),\n _createVNode(_component_van_icon, {\n name: \"arrow-down\",\n class: _normalizeClass([\n !childItem.isAutoGear && childItem.gear <= 1\n ? 'disable-color'\n : ''\n , \"adjust-icon\"]),\n onClick: ($event: any) => (_ctx.changeChildItemAir('gear', childItem, 'down'))\n }, null, 8, [\"class\", \"onClick\"]),\n _hoisted_46\n ]),\n _createElementVNode(\"div\", _hoisted_47, [\n _createVNode(_component_van_icon, {\n name: \"arrow-up\",\n class: _normalizeClass([childItem.workMode >= 3 ? 'disable-color' : '', \"adjust-icon\"]),\n onClick: ($event: any) => (_ctx.changeChildItemAir('model', childItem, 'up'))\n }, null, 8, [\"class\", \"onClick\"]),\n _createElementVNode(\"div\", _hoisted_48, [\n _createElementVNode(\"div\", {\n class: \"value-wrap\",\n style: _normalizeStyle({\n transform: _ctx.valueHeight\n ? 'translateY(' + -childItem.mIndex * _ctx.valueHeight + 'px)'\n : 'translateY(0px)',\n })\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(childItem.modelArr, (mItem, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"value\",\n key: index + 'm'\n }, _toDisplayString(mItem), 1))\n }), 128))\n ], 4)\n ]),\n _createVNode(_component_van_icon, {\n name: \"arrow-down\",\n class: _normalizeClass([childItem.workMode <= 1 ? 'disable-color' : '', \"adjust-icon\"]),\n onClick: ($event: any) => (_ctx.changeChildItemAir('model', childItem, 'down'))\n }, null, 8, [\"class\", \"onClick\"]),\n _hoisted_49\n ])\n ], 4)\n ]))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}","\nimport {\n defineComponent,\n onMounted,\n reactive,\n toRefs,\n computed,\n watch,\n onUnmounted,\n onBeforeMount,\n onBeforeUnmount,\n nextTick,\n} from \"vue\";\nimport { Switch, Dialog, Toast } from \"vant\";\nimport { swiper } from \"@/utils/swiper\";\nimport { querySpaceConditioners, setSpaceCondtioners } from \"@/apis/envmonitor\";\nimport { parseImgUrl, setQueryConfig } from \"@/utils\";\nimport any = jasmine.any;\n\nexport default defineComponent({\n props: {\n temperature: {\n // 空调基本信息\n type: Number,\n default: () => 0,\n },\n hasAir: {\n // 有无空调\n type: Boolean,\n default: () => false,\n },\n airVolumes: {\n // 风量信息\n type: Array,\n default: () => [],\n },\n projectId: {\n type: String,\n default: () => \"\",\n },\n spaceId: {\n type: String,\n default: () => \"\",\n },\n userIsControl: {\n type: Boolean,\n default: () => false,\n },\n forceOverTimeFlag: {\n type: Boolean,\n default: () => false,\n },\n seviceEquipmentList: {\n // 是否走服务定制的设备\n type: Array,\n default: () => [],\n },\n },\n components: {\n Switch,\n [Dialog.Component.name]: Dialog.Component,\n },\n setup(props, contx) {\n const propsVal = props;\n let airData: any = {\n avg: \"\", // 算法调节温度(目标值)\n icon: 1, // 固定框文案ID 7 为关机,其它都是开机\n spaceStatus: \"\", // 固定框文案展示\n notice: \"\", // 弹框文案展示\n mode: 0, // 模式\n tempSet: 0, // 温度\n maxTempSet: 32,\n minTempSet: 16,\n isAutoGear: 0,\n workMode: 0, //1=cold(制冷);2=hot(制热);3=wind(通风)\n gear: 0, // 风量\n isOpen: false, // 空调开关 true 是开\n runStatus: 0, // 查询设备的真实状态\n };\n const feedbackTimer: any = null;\n const airTimer: any = null;\n const domAirOpeen: any = false;\n let realTemp: any = 16;\n let windGearArr: any = [0, 1, 2, 3];\n let equipList: any = [];\n let valueDom: any = null;\n let valueHeight: any = null;\n let spaceId: any = \"\";\n const proxyData = reactive({\n seviceEquipmentList: props.seviceEquipmentList,\n valueDom: valueDom,\n spaceId: spaceId,\n valueHeight: valueHeight,\n equipList: equipList,\n cotrolLoading: false,\n loadingTimer: 0,\n airTemp: 0, // 设备真实温度\n loadingAir: false,\n windGearArr: windGearArr, // 风量3/5个档位\n lightIcon: \"arrow-down\",\n showChild: false,\n realTemp: realTemp,\n temperature: props.temperature,\n userIsControl: props.userIsControl,\n forceOverTimeFlag: props.forceOverTimeFlag,\n firstLoadingAir: true,\n domAirOpeen: domAirOpeen,\n swiperIinit: false,\n parseImgUrl: parseImgUrl,\n part: 1,\n airData: airData,\n modeName: \"\",\n showAirVolumeBtn: false, // 是否展示风量调节按钮\n showDialog: false,\n airTimer: airTimer,\n airSetText: {\n // 空调反馈文案\n notice: \"\",\n remark: [],\n nowImg: \"\",\n toWhere: \"\",\n designTemperature: 0,\n },\n // 点击展示所有的登录\n async showAll() {\n proxyData.showChild = !proxyData.showChild;\n if (proxyData.lightIcon === \"arrow-up\") {\n proxyData.lightIcon = \"arrow-down\";\n } else {\n proxyData.lightIcon = \"arrow-up\";\n }\n\n if (proxyData.showChild) {\n await nextTick(() => {\n proxyData.setChildSelectList();\n });\n } else {\n await nextTick(() => {\n proxyData.barSwiperInit();\n });\n }\n\n // proxyData.getAirInfoToTimer(0);\n },\n // 设置温度条的位置\n setBarNowPerstion() {\n proxyData.realTemp = proxyData.airTemp;\n let barBox: any = document.querySelector(\"#barId\");\n // console.log(\"设置温度位置---\");\n // console.log(barBox)\n if (!barBox) {\n return;\n }\n let sliderBox: any = document.querySelector(\"#sliderId\");\n if (\n proxyData.airTemp >= proxyData.airData.minTempSet &&\n proxyData.airTemp <= proxyData.airData.maxTempSet\n ) {\n // 正常温度范围\n let left: any =\n ((proxyData.airTemp - proxyData.airData.minTempSet) / 0.5) *\n proxyData.part;\n left = Math.floor(left);\n if (barBox) {\n barBox.style.left = left + \"px\";\n }\n } else {\n if (!proxyData.airTemp) {\n barBox.style.left = 0 + \"px\";\n } else if (proxyData.airTemp < proxyData.airData.minTempSet) {\n barBox.style.left = 0 + \"px\";\n } else if (proxyData.airTemp > proxyData.airData.maxTempSet) {\n let sliderWidth: any = sliderBox.offsetWidth;\n let barWidth: any = barBox.offsetWidth;\n barBox.style.left = sliderWidth - barWidth + \"px\";\n }\n }\n },\n // 滑动\n endBoxSwiper() {\n proxyData.swiperIinit = true;\n let handBox: any = document.querySelector(\"#handId\");\n let barBox: any = document.querySelector(\"#barId\");\n let sliderBox: any = document.querySelector(\"#sliderId\");\n let isMove: any = false;\n let barLeft: any = 0;\n let sliderWidth: any = sliderBox ? sliderBox.offsetWidth : 1;\n let barWidth: any = barBox ? barBox.offsetWidth : 20;\n let tempPart =\n (proxyData.airData.maxTempSet - proxyData.airData.minTempSet) / 20;\n let part: any = 0.5 / (tempPart / (Math.floor(sliderWidth) / 22));\n proxyData.part = part;\n if (!handBox) {\n return;\n }\n handBox.addEventListener(\"touchstart\", function (e: any) {\n barLeft = isNaN(parseInt(barBox.style.left))\n ? 0\n : parseInt(barBox.style.left);\n isMove = true;\n });\n handBox.addEventListener(\"touchend\", function (e: any) {\n isMove = false;\n proxyData.changeZongAir(\"temp\", proxyData.realTemp);\n proxyData.airTemp = proxyData.realTemp;\n });\n swiper(handBox, {\n swipeLeft: function (e: any) {\n if (isMove) {\n barLeft = Math.abs(barLeft);\n let moveRealX: any = Math.abs(e.mation.moveX - e.mation.startX);\n let left: any = barLeft - moveRealX;\n left = left < 0 ? 0 : left;\n barBox.style.left = left + \"px\";\n proxyData.realTemp =\n proxyData.airData.minTempSet + Math.ceil(left / part) * 0.5;\n }\n },\n swipeRight: function (e: any) {\n if (isMove) {\n barLeft = Math.abs(barLeft);\n let moveRealX: any = Math.abs(e.mation.moveX - e.mation.startX);\n let left: any = barLeft + moveRealX;\n left = left > sliderWidth ? sliderWidth - barWidth : left;\n barBox.style.left = left + \"px\";\n proxyData.realTemp =\n proxyData.airData.minTempSet + Math.ceil(left / part) * 0.5;\n if (proxyData.realTemp > proxyData.airData.maxTempSet) {\n proxyData.realTemp = proxyData.airData.maxTempSet;\n }\n }\n },\n });\n },\n // 定时获取空调状态\n getAirInfoToTimer(timerLong: any = 10000) {\n if (proxyData.airTimer) {\n clearTimeout(proxyData.airTimer);\n proxyData.airTimer = null;\n }\n proxyData.airTimer = setTimeout(function () {\n proxyData.getAirInfo();\n }, timerLong);\n },\n // 计算loading时间\n setLoadingNumber() {\n let timer: any = setInterval(() => {\n proxyData.loadingTimer++;\n console.log(proxyData.loadingTimer);\n if (proxyData.loadingTimer >= 15) {\n clearInterval(timer);\n proxyData.loadingAir = false;\n proxyData.getAirInfoToTimer(0);\n }\n }, 1000);\n },\n // 格式化空调数据\n formatAirData(btnType: any, text: any) {\n let obj: any = {};\n if (btnType == \"temp\") {\n obj.codeKey = \"tempSetCode\";\n obj.value = text;\n }\n if (btnType == \"gear\" && text == \"windLow\") {\n //降挡\n if (proxyData.airData.gear > 1) {\n proxyData.airData.gear--;\n proxyData.airData.isAutoGear = 0;\n obj.value = proxyData.airData.gear;\n obj.codeKey = \"gearCode\";\n } else {\n return;\n }\n }\n if (btnType == \"gear\" && text == \"windUp\") {\n //升档\n if (proxyData.airData.gear < 3) {\n proxyData.airData.gear++;\n proxyData.airData.isAutoGear = 0;\n obj.value = proxyData.airData.gear;\n obj.codeKey = \"gearCode\";\n } else {\n return;\n }\n }\n if (btnType == \"gear\" && text == \"auto\") {\n proxyData.airData.isAutoGear = proxyData.airData.isAutoGear ? 0 : 1;\n obj.value = proxyData.airData.isAutoGear ? 4 : proxyData.airData.gear;\n obj.codeKey = \"gearCode\";\n }\n if (btnType == \"mode\") {\n proxyData.airData.workMode = text;\n obj.codeKey = \"modeSetCode\";\n obj.value = text;\n }\n return obj;\n },\n /**\n * 加载loading\n */\n loadingStart() {\n proxyData.cotrolLoading = true;\n },\n /**\n * 结束\n */\n loadinngEnd() {\n proxyData.cotrolLoading = false;\n },\n // 计算loading时间\n setChildLoadingNumber(childItem: any) {\n childItem.loadingTimer = 1;\n let timer: any = setInterval(() => {\n childItem.loadingTimer++;\n if (childItem.loadingTimer >= 15) {\n clearInterval(timer);\n childItem.loadingTimer = 0;\n proxyData.getAirInfoToTimer(0);\n }\n console.log(\"===\");\n console.log(childItem.loadingTimer);\n }, 1000);\n },\n // 连续点击2秒内未点击才发指令\n childDisabled(childItem: any, data: any) {\n clearTimeout(childItem.timeOuter);\n childItem.timeOuter = setInterval(() => {\n childItem.num--;\n if (childItem.num == 0) {\n proxyData.setSpaceCondtioners(data);\n clearTimeout(childItem.timeOuter);\n }\n }, 1000);\n },\n // 子设备降低温度\n changeChildItemAir(btnType: any, childItem: any, symbol: any) {\n const domAirOpen = !childItem.isOpen;\n let isExeSpaceTime: Boolean = proxyData.checkDeviceIsExeSpaceTime([\n childItem,\n ]);\n if (proxyData.forceOverTimeFlag && domAirOpen && isExeSpaceTime) {\n //需要强制加班\n contx.emit(\"triggerWork\", 2, childItem);\n return;\n }\n if (!childItem.isOpen && btnType !== \"switch\") {\n return;\n }\n let arr: any = [];\n if (btnType === \"switch\") {\n if (childItem.loadingTimer >= 1 && childItem.loadingTimer <= 15) {\n return;\n }\n childItem.isOpen = !childItem.isOpen;\n proxyData.setChildLoadingNumber(childItem);\n let obj: any = {\n id: childItem.id, //类型:String 必有字段 备注:设备id\n code: childItem.switchCode, //类型:String 必有字段 备注:编码 EquipSwtichSet\n value: childItem.isOpen ? \"1\" : \"0\", //类型:String 必有字段 备注:值 0\n };\n arr.push(obj);\n // loadig的状态\n } else if (btnType === \"temp\") {\n childItem.num = 2;\n if (symbol === \"up\") {\n if (childItem.tempSet >= proxyData.airData.maxTempSet) {\n return;\n }\n childItem.tempSet = childItem.tempSet + 0.5;\n } else if (symbol === \"down\") {\n if (childItem.tempSet <= proxyData.airData.minTempSet) {\n return;\n }\n childItem.tempSet = childItem.tempSet - 0.5;\n }\n let obj: any = {\n id: childItem.id, //类型:String 必有字段 备注:设备id\n code: childItem.tempSetCode, //类型:String 必有字段 备注:编码 EquipSwtichSet\n value: childItem.tempSet, //类型:String 必有字段 备注:值 0\n };\n arr.push(obj);\n proxyData.childDisabled(childItem, arr);\n } else if (btnType === \"gear\") {\n if (symbol === \"up\") {\n if (childItem.isAutoGear) {\n return;\n }\n if (childItem.gear >= 3) {\n childItem.isAutoGear = 1;\n } else {\n childItem.gear++;\n childItem.isAutoGear = 0;\n }\n } else if (symbol === \"down\") {\n if (!childItem.isAutoGear && childItem.gear <= 1) {\n return;\n }\n if (childItem.isAutoGear) {\n childItem.isAutoGear = 0;\n childItem.gear = 3;\n } else {\n childItem.gear--;\n }\n }\n let obj: any = {\n id: childItem.id, //类型:String 必有字段 备注:设备id\n code: childItem.gearCode, //类型:String 必有字段 备注:编码 EquipSwtichSet\n value: childItem.isAutoGear ? 4 : childItem.gear, //类型:String 必有字段 备注:值 0\n };\n arr.push(obj);\n } else if (btnType === \"model\") {\n if (symbol === \"up\") {\n if (childItem.workMode >= 3) {\n return;\n }\n childItem.workMode++;\n } else if (symbol === \"down\") {\n if (childItem.workMode <= 1) {\n return;\n }\n childItem.workMode--;\n }\n let obj: any = {\n id: childItem.id, //类型:String 必有字段 备注:设备id\n code: childItem.modeSetCode, //类型:String 必有字段 备注:编码 EquipSwtichSet\n value: childItem.workMode, //类型:String 必有字段 备注:值 0\n };\n arr.push(obj);\n }\n // 修改单个设备的状态\n if (btnType !== \"temp\") {\n proxyData.setSpaceCondtioners(arr);\n }\n proxyData.updateChildPerstion();\n },\n // 改变设备状态\n setSpaceCondtioners(data: any) {\n setSpaceCondtioners(data)\n .then((res) => {\n // proxyData.setLoadingNumber();\n proxyData.loadinngEnd();\n })\n .catch(() => {\n // proxyData.setLoadingNumber();\n proxyData.loadinngEnd();\n });\n },\n // 改变空调状态\n changeZongAir(btnType: any, text: any) {\n if (!airData.runStatus) return;\n let equpObj: any = proxyData.formatAirData(btnType, text);\n let data: any = [];\n proxyData.equipList.map((item: any) => {\n let obj: any = {\n id: item.id, //类型:String 必有字段 备注:设备id\n code: item[equpObj.codeKey], //类型:String 必有字段 备注:编码 EquipSwtichSet\n value: equpObj.value, //类型:String 必有字段 备注:值 0\n };\n data.push(obj);\n });\n console.log(\"设备数据处理---\");\n console.log(data);\n if (!proxyData.cotrolLoading) {\n proxyData.loadingStart();\n // 调整设备状态\n proxyData.setSpaceCondtioners(data);\n }\n },\n // 检查设备是否执行空间服务时间\n checkDeviceIsExeSpaceTime(deviceAll: any = []) {\n let seviceEquipmentList: any = proxyData.seviceEquipmentList;\n let flag: any = false;\n for (let i = 0; i < seviceEquipmentList.length; i++) {\n for (let j = 0; j < deviceAll.length; j++) {\n if (\n seviceEquipmentList[i].id == deviceAll[j].id &&\n seviceEquipmentList[i].isExeSpaceTime\n ) {\n flag = true;\n break;\n }\n }\n if (flag) {\n break;\n }\n }\n return flag;\n },\n // 总控制改变空调状态\n airChange() {\n // 先不更新状态等确认框弹出后再更新状\n // 操作空调\n const domAirOpen = !proxyData.airData.isOpen;\n let isExeSpaceTime: Boolean = proxyData.checkDeviceIsExeSpaceTime(\n proxyData.equipList\n );\n if (proxyData.forceOverTimeFlag && domAirOpen && isExeSpaceTime) {\n //需要强制加班\n contx.emit(\"triggerWork\", 2);\n return;\n }\n\n proxyData.airData.isOpen = !proxyData.airData.isOpen;\n proxyData.loadingAir = true;\n proxyData.loadingTimer = 0;\n clearTimeout(proxyData.airTimer);\n proxyData.setLoadingNumber();\n let data: any = [];\n proxyData.equipList.map((item: any) => {\n let obj: any = {\n id: item.id, //类型:String 必有字段 备注:设备id\n code: item.switchCode, //类型:String 必有字段 备注:编码 EquipSwtichSet\n value: proxyData.airData.isOpen ? \"1\" : \"0\", //类型:String 必有字段 备注:值 0\n };\n data.push(obj);\n });\n // 设备状态处理\n proxyData.setSpaceCondtioners(data);\n },\n // 设置子设备的状态\n formateSetChildStatus() {\n proxyData.equipList.map((item: any) => {\n item.isOpen = item.runStatus === 1 ? true : false;\n });\n },\n // 初始化滚动\n async barSwiperInit() {\n if (proxyData.airData.isOpen && !proxyData.showChild) {\n proxyData.endBoxSwiper();\n proxyData.setBarNowPerstion();\n }\n },\n // 设置子设备的可调范围\n setChildSelectList() {\n proxyData.equipList.map((item: any) => {\n let tempArr: any = [];\n for (\n let i = proxyData.airData.minTempSet;\n i <= proxyData.airData.maxTempSet;\n i = i + 0.5\n ) {\n tempArr.push(i);\n }\n item.tempArr = tempArr;\n let index: any = item.tempArr.findIndex((ele: any) => {\n return ele == item.tempSet;\n });\n item.sel = index == -1 ? 0 : index;\n\n let modelArr: any = [\"制冷\", \"制热\", \"通风\"];\n item.modelArr = modelArr;\n let mIndex: any = item.workMode ? item.workMode - 1 : 2;\n item.mIndex = mIndex;\n\n let gearArr: any = [0, 1, 2, 3, \"AUTO\"];\n item.gearArr = gearArr;\n let gIndex: any = item.gearArr.findIndex((ele: any) => {\n if (item.isAutoGear == 1) {\n return ele == \"AUTO\";\n } else {\n return ele == item.gear;\n }\n });\n item.gIndex = gIndex == -1 ? 0 : gIndex;\n });\n proxyData.setValueHeight();\n },\n setValueHeight() {\n if (!proxyData.valueHeight) {\n proxyData.valueDom = proxyData.valueDom\n ? proxyData.valueDom\n : document.querySelectorAll(\".value\")[0];\n proxyData.valueHeight = proxyData.valueDom\n ? proxyData.valueDom.offsetHeight\n : 0;\n }\n console.log(\"proxyData.valueHeight==\", proxyData.valueHeight);\n },\n // 改变子设备选中的位置\n updateChildPerstion() {\n proxyData.equipList.map((item: any) => {\n let index: any = item.tempArr.findIndex((ele: any) => {\n return ele == item.tempSet;\n });\n item.sel = index == -1 ? 0 : index;\n\n let mIndex: any = item.workMode ? item.workMode - 1 : 2;\n item.mIndex = mIndex;\n\n let gIndex: any = item.gearArr.findIndex((ele: any) => {\n if (item.isAutoGear == 1) {\n return ele == \"AUTO\";\n } else {\n return ele == item.gear;\n }\n });\n item.gIndex = gIndex == -1 ? 0 : gIndex;\n });\n },\n // 空调信息airTemp\n getAirInfo() {\n const paramObj = {\n // // projectId: props.projectId, //'Pj1101080255'\n // projectId: \"Pj1101080255\",\n // spaceId: \"Sp110108025564f438d7fef64eea8202a6462f1bbcce\",\n spaceId: proxyData.spaceId,\n // spaceId: props.spaceId,//'Sp110108025564f438d7fef64eea8202a6462f1bbcce' 空间id\n };\n //wx.showLoading();\n let str: any = setQueryConfig(paramObj);\n querySpaceConditioners(str)\n .then((res) => {\n let data: any = res.data || {};\n proxyData.firstLoadingAir = false;\n proxyData.loadingAir = false;\n proxyData.airTemp = data.tempSet;\n proxyData.airData.maxTempSet = data.maxTempSet;\n proxyData.airData.minTempSet = data.minTempSet;\n proxyData.airData.isOpen = data.runStatus ? true : false;\n proxyData.airData.runStatus = data.runStatus;\n proxyData.airData.isAutoGear = data.isAutoGear;\n proxyData.airData.gear = data.gear;\n proxyData.airData.workMode = data.workMode;\n proxyData.equipList = data.equipList;\n // 设置子设备的状态\n proxyData.setChildSelectList();\n proxyData.formateSetChildStatus();\n\n // 设置当前温度的位置\n if (proxyData.airData.isOpen) {\n proxyData.airData.airImg = parseImgUrl(\n \"page-officehome\",\n \"openair.png\"\n );\n } else {\n proxyData.airData.airImg = parseImgUrl(\n \"page-officehome\",\n \"air_close.png\"\n );\n }\n\n nextTick(() => {\n proxyData.barSwiperInit();\n });\n proxyData.getAirInfoToTimer();\n })\n .catch(() => {});\n },\n });\n watch(props, (newProps: any) => {\n if (newProps.spaceId) {\n // proxyData.swiperIinit = false;\n proxyData.spaceId = newProps.spaceId;\n // proxyData.getAirInfoToTimer(0);\n proxyData.temperature = props.temperature;\n proxyData.userIsControl = newProps.userIsControl;\n proxyData.forceOverTimeFlag = newProps.forceOverTimeFlag;\n proxyData.seviceEquipmentList = props.seviceEquipmentList;\n }\n });\n onBeforeUnmount(() => {\n if (proxyData.airTimer) {\n clearTimeout(proxyData.airTimer);\n proxyData.airTimer = null;\n }\n });\n onMounted(() => {\n proxyData.spaceId = props.spaceId;\n proxyData.getAirInfoToTimer(0);\n // 获取空调信息\n });\n return {\n ...toRefs(proxyData),\n };\n },\n});\n","import { render } from \"./manualIndex.vue?vue&type=template&id=49332094&scoped=true&ts=true\"\nimport script from \"./manualIndex.vue?vue&type=script&lang=ts\"\nexport * from \"./manualIndex.vue?vue&type=script&lang=ts\"\n\nimport \"./manualIndex.vue?vue&type=style&index=0&id=49332094&lang=scss&scoped=true\"\nimport \"./manualIndex.vue?vue&type=style&index=1&id=49332094&lang=scss\"\n\nimport exportComponent from \"/Users/wangyong/shanggeyun/code/sagacloud-sagacare-ipad/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-49332094\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, renderList as _renderList, Fragment as _Fragment, withModifiers as _withModifiers, createVNode as _createVNode, normalizeStyle as _normalizeStyle, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7da91d80\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"light\"\n}\nconst _hoisted_2 = { class: \"light-top\" }\nconst _hoisted_3 = { class: \"light-desc\" }\nconst _hoisted_4 = { class: \"light-title\" }\nconst _hoisted_5 = { class: \"light-right\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"switch-box\"\n}\nconst _hoisted_7 = [\"src\"]\nconst _hoisted_8 = {\n key: 0,\n class: \"light-main-control\"\n}\nconst _hoisted_9 = {\n key: 0,\n class: \"main-color\"\n}\nconst _hoisted_10 = [\"src\"]\nconst _hoisted_11 = { key: 1 }\nconst _hoisted_12 = {\n key: 1,\n class: \"light-box\"\n}\nconst _hoisted_13 = [\"onClick\"]\nconst _hoisted_14 = { class: \"control-top\" }\nconst _hoisted_15 = [\"src\"]\nconst _hoisted_16 = { class: \"control-bottom\" }\nconst _hoisted_17 = { class: \"control-title\" }\nconst _hoisted_18 = [\"src\"]\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \"展开更多\", -1))\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Switch = _resolveComponent(\"Switch\")!\n const _component_van_icon = _resolveComponent(\"van-icon\")!\n\n return (_ctx.lampList && _ctx.lampList.length)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"p\", _hoisted_4, _toDisplayString(_ctx.isShowChildLight ? \"光照\" : _ctx.lampList[0].localName), 1),\n _createElementVNode(\"p\", {\n class: _normalizeClass(_ctx.isShowChildLight ? 'light-status' : 'light-status')\n }, _toDisplayString(_ctx.lampSw ? \"照明已开启\" : \"照明已关闭\"), 3)\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n (_ctx.isShowChildLight)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createElementVNode(\"span\", {\n class: \"switch-item\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.eqChange('allLamp', true, 0)))\n }, \"全开\"),\n _createElementVNode(\"span\", {\n class: \"switch-item\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.eqChange('allLamp', false, 0)))\n }, \"全关\")\n ]))\n : _createCommentVNode(\"\", true),\n (!_ctx.isShowChildLight)\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 1,\n src: _ctx.lightImg,\n alt: \"\"\n }, null, 8, _hoisted_7))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n (!_ctx.isShowChildLight)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n (_ctx.lampList[0].bright || _ctx.lampList[0].colorTemperature)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"img\", {\n src: _ctx.lightColorImg,\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.showLightColorCtrol(_ctx.lampList[0]))),\n alt: \"\"\n }, null, 8, _hoisted_10)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_11)),\n (!_ctx.showFlag)\n ? (_openBlock(), _createBlock(_component_Switch, {\n key: 2,\n disabled: !_ctx.userIsControl,\n modelValue: _ctx.lampSw,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.lampSw) = $event)),\n onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.eqChange('allLamp', '', 0))),\n \"inactive-color\": \"rgba(196, 196, 196, 0.4)\",\n class: \"switch-btn\"\n }, null, 8, [\"disabled\", \"modelValue\"]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.isShowChildLight)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.lampList, (item, index) => {\n return (_openBlock(), _createElementBlock(_Fragment, {\n key: item.id\n }, [\n (_ctx.showFlag ? index < _ctx.lampList.length : index < 2)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"light-control\",\n onClick: ($event: any) => (_ctx.showLightColorCtrol(item))\n }, [\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"img\", {\n src: item.switch ? item.imgOpen : item.imgClose,\n alt: \"\"\n }, null, 8, _hoisted_15),\n _createVNode(_component_Switch, {\n \"active-color\": \"$elActiveColor\",\n disabled: !_ctx.userIsControl,\n modelValue: item.switch,\n \"onUpdate:modelValue\": ($event: any) => ((item.switch) = $event),\n size: \"14px\",\n onClick: _withModifiers(($event: any) => (_ctx.eqChange('main', item, index)), [\"stop\"]),\n \"inactive-color\": \"rgba(196, 196, 196, 0.2)\",\n class: \"child-switch\"\n }, null, 8, [\"disabled\", \"modelValue\", \"onUpdate:modelValue\", \"onClick\"])\n ]),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"div\", _hoisted_17, _toDisplayString(item.localName), 1),\n (item.bright || item.colorTemperature)\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n style: _normalizeStyle({ opacity: item.switch ? '1' : '0.3' }),\n src: _ctx.lightColorImg,\n alt: \"\"\n }, null, 12, _hoisted_18))\n : _createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_13))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.lampList && _ctx.lampList.length > 2)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 2,\n class: \"show-all\",\n onClick: _cache[5] || (_cache[5] = _withModifiers(\n//@ts-ignore\n(...args) => (_ctx.showAll && _ctx.showAll(...args)), [\"stop\"]))\n }, [\n _createVNode(_component_van_icon, {\n name: _ctx.lightIcon,\n class: \"light-icon\"\n }, null, 8, [\"name\"]),\n _hoisted_19\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n}","\nimport {\n defineComponent,\n computed,\n onMounted,\n reactive,\n toRefs,\n getCurrentInstance,\n watch,\n onBeforeMount,\n onUnmounted,\n onBeforeUnmount,\n} from \"vue\";\nimport { Switch, Toast } from \"vant\";\nimport { getLampHttp, getStatusHttp, setallLampHttp } from \"@/apis/envmonitor\";\nimport { parseImgUrl } from \"@/utils\";\nimport { type } from \"os\";\n\nexport default defineComponent({\n props: {\n projectId: {\n type: String,\n default: () => \"\",\n },\n controlMode: {\n type: Number,\n default: () => 0,\n },\n spaceId: {\n type: String,\n default: () => \"\",\n },\n userIsControl: {\n type: Boolean,\n default: () => false,\n },\n forceOverTimeFlag: {\n type: Boolean,\n default: () => false,\n },\n seviceEquipmentList: {\n // 是否走服务定制的设备\n type: Array,\n default: () => [],\n },\n },\n components: { Switch },\n setup(props, contx) {\n const lampList: any = [];\n let lightsStatusTimer: any = null;\n const timeOut: any = null;\n const initData: any = [];\n let lightParams: any = [];\n const proxyData = reactive({\n seviceEquipmentList: props.seviceEquipmentList,\n spaceId: props.spaceId,\n controlMode: props.controlMode,\n userIsControl: props.userIsControl,\n forceOverTimeFlag: props.forceOverTimeFlag,\n setStatus: false,\n lightParams: lightParams,\n allowSvg: \"down_Arrow.svg\",\n timeOut: timeOut,\n lightIcon: \"arrow-down\",\n showFlag: false,\n loadingLight: false,\n initData: initData,\n lampList: lampList,\n lightsStatusTimer: lightsStatusTimer,\n startCheckLightsTime: 0,\n lightColorImg: parseImgUrl(\"page-officehome\", \"lightColorControl.svg\"),\n lightImg: parseImgUrl(\"page-officehome\", \"lamp_close.png\"),\n lampSw: false, // 主灯开关\n // 点击展示所有的登录\n showAll() {\n proxyData.showFlag = !proxyData.showFlag;\n console.log(\"proxyData.showFlag==\", proxyData.showFlag);\n if (proxyData.showFlag) {\n proxyData.lightIcon = \"arrow-up\";\n } else {\n proxyData.lightIcon = \"arrow-down\";\n }\n },\n // 点击展示调色和调温弹窗\n showLightColorCtrol(item: any, e: any = null) {\n console.log(item);\n if (item.switch) {\n contx.emit(\"showLightColorCtrol\", item);\n }\n },\n // 检查设备是否执行空间服务时间\n checkDeviceIsExeSpaceTime(deviceAll: any = []) {\n if (proxyData.controlMode !== 1) {\n return true;\n }\n let seviceEquipmentList: any = proxyData.seviceEquipmentList;\n let flag: any = false;\n for (let i = 0; i < seviceEquipmentList.length; i++) {\n for (let j = 0; j < deviceAll.length; j++) {\n if (\n seviceEquipmentList[i].id == deviceAll[j].id &&\n seviceEquipmentList[i].isExeSpaceTime\n ) {\n flag = true;\n break;\n }\n }\n if (flag) {\n break;\n }\n }\n return flag;\n },\n // 获取灯的状态\n getLampList() {\n getLampHttp({ spaceId: proxyData.spaceId })\n .then((res) => {\n const resData: any = res;\n if (!proxyData.setStatus) {\n if (resData && resData.result == \"success\") {\n let content = resData?.content ?? [];\n let lampOpen = false; // 如果有一个开 则总灯开\n for (let i = 0; i < content.length; i++) {\n content[i].type = \"lamp\";\n if (content[i].lightType == 1) {\n content[i].imgOpen = parseImgUrl(\n \"page-officehome\",\n \"lamp_open.png\"\n );\n content[i].imgClose = parseImgUrl(\n \"page-officehome\",\n \"lamp_close.png\"\n );\n } else {\n content[i].imgOpen = parseImgUrl(\n \"page-officehome\",\n \"atmLamp_small_open.png\"\n );\n content[i].imgClose = parseImgUrl(\n \"page-officehome\",\n \"atmLamp_small_close.png\"\n );\n }\n\n content[i].switch = content[i].runStatus ? true : false;\n if (content[i].runStatus) {\n lampOpen = true;\n }\n content[i].loading = false;\n }\n proxyData.initData = JSON.parse(JSON.stringify(content)); // 灯的数据\n proxyData.lampSw = lampOpen; // 主灯开关\n proxyData.lampList = content;\n\n proxyData.lightImg = proxyData.lampSw\n ? parseImgUrl(\"page-officehome\", \"lamp_open.png\")\n : parseImgUrl(\"page-officehome\", \"lamp_close.png\");\n if (content[0]) {\n if (content[0].lightType !== 1) {\n proxyData.lightImg = proxyData.lampSw\n ? parseImgUrl(\"page-officehome\", \"atmLamp_small_open.png\")\n : parseImgUrl(\n \"page-officehome\",\n \"atmLamp_small_close.png\"\n );\n }\n }\n }\n }\n // console.log(\"执行了----====\");\n proxyData.startLightsStatusTimer();\n })\n .catch(() => {\n proxyData.startLightsStatusTimer();\n });\n },\n // 调整灯\n eqChange(type: any, item: any, index: any) {\n if (proxyData.userIsControl) {\n // debugger\n if (type === \"allLamp\") {\n let isExeSpaceTime: Boolean = proxyData.checkDeviceIsExeSpaceTime(\n proxyData.lampList\n );\n if (item !== \"\") {\n proxyData.lampSw = item; // 点击全开和全关的时候item动态传值true或者false\n }\n\n if (\n proxyData.forceOverTimeFlag &&\n proxyData.lampSw &&\n isExeSpaceTime\n ) {\n // 强制加班开灯\n contx.emit(\"triggerWork\", 3);\n return;\n }\n // 总开关按钮所有灯\n // 当前要执行的灯的操作\n proxyData.loadingLight = true;\n // const statusFlag = !proxyData.lampSw\n // console.log('proxyData.lampSw==')\n proxyData.lightImg = proxyData.lampSw\n ? parseImgUrl(\"page-officehome\", \"lamp_open.png\")\n : parseImgUrl(\"page-officehome\", \"lamp_close.png\");\n const statusFlag = proxyData.lampSw;\n // 瞬间修改状态\n proxyData.setStatus = true;\n proxyData.updateAllLampStatus(statusFlag);\n proxyData.setLamp(type, \"\", statusFlag, 0); // 调接口\n } else {\n let isExeSpaceTime: Boolean = proxyData.checkDeviceIsExeSpaceTime([\n item,\n ]);\n if (proxyData.forceOverTimeFlag && item.switch && isExeSpaceTime) {\n // 强制加班开灯\n contx.emit(\"triggerWork\", 3, item);\n return;\n }\n //当前要执行的灯的操作\n // 按钮loading\n item.loading = true;\n const statusFlag: any = item.switch;\n let id = item.id;\n proxyData.setStatus = true;\n proxyData.updateLampStatus(item, statusFlag);\n proxyData.setLamp(type, id, statusFlag, index); // 调接口\n }\n } else {\n Toast(\"您没有当前空间的控制权限!\");\n }\n },\n // 控制灯的接口\n setLamp(type: string, id: any, statusFlag: any, index: any) {\n let params: any = [];\n if (type === \"allLamp\") {\n for (let i = 0; i < proxyData.initData.length; i++) {\n proxyData.initData[i].switch = statusFlag;\n }\n params = proxyData.initData;\n } else {\n params = [\n {\n id: id,\n switch: statusFlag,\n },\n ];\n }\n proxyData.lightParams = params;\n // 调服务端的接口像后台发送灯的操作的指令\n setallLampHttp(params)\n .then((res) => {\n const resData: any = res;\n // set成功后1s关闭定时器\n setTimeout(() => {\n proxyData.setStatus = false;\n }, 1000);\n if (resData.result === \"success\") {\n // const checkData: any = proxyData.judgeChangeResponeseSuccess(resData)\n // proxyData.getTimeLampStatus(checkData, type, id, statusFlag, index)\n } else {\n proxyData.initLampLoading();\n }\n })\n .catch(() => {\n setTimeout(() => {\n proxyData.setStatus = false;\n }, 1000);\n });\n },\n // 报错后关闭灯的loading\n initLampLoading() {\n proxyData.loadingLight = false;\n proxyData.lampList.map((item: any) => {\n item.loading = false;\n });\n },\n //手动修改灯的状态\n updateAllLampStatus(statusFlag: any) {\n proxyData.lampSw = statusFlag;\n for (let i = 0; i < proxyData.lampList.length; i++) {\n proxyData.lampList[i].switch = statusFlag;\n // if (proxyData.lampList[i].type == 'lamp') {\n // }\n }\n },\n // 单个灯的状态修改\n updateLampStatus(item: any, statusFlag: any) {\n item.switch = statusFlag;\n // let flag: any = true\n // for (let i = 0; i < proxyData.lampList.length; i++) {\n // if (proxyData.lampList[i].type == 'lamp') {\n // if (proxyData.lampList[i].switch !== statusFlag) {\n // flag = false\n // break\n // }\n // }\n // }\n },\n // 轮询查看状态\n getTimeLampStatus(\n checkData: any,\n type: any,\n id: any,\n statusFlag: any,\n index: any\n ) {\n if (checkData[\"success\"] && checkData[\"success\"].length) {\n if (type === \"allLamp\") {\n // 点击主灯按钮\n proxyData.updateAllLampLoading(checkData[\"success\"]); // 所有灯\n } else {\n // 当个的时候修改loading的状态\n proxyData.updateLampLoading(index);\n }\n proxyData.getLampList();\n }\n if (checkData[\"processing\"] && checkData[\"processing\"].length) {\n let checkParams: any = proxyData.lightParams;\n let processArr: any = checkData[\"processing\"];\n let params: any = [];\n processArr.map((item: any) => {\n let obj: any = {\n id: item.id,\n orderSeqNum: item.orderSeqNum,\n };\n for (let i = 0; i < checkParams.length; i++) {\n if (item.id === checkParams[i].id) {\n obj.switch = checkParams[i].switch;\n break;\n }\n }\n params.push(obj);\n });\n proxyData.checkChangeLightStatusSuccess(\n params,\n type,\n id,\n statusFlag,\n index\n );\n }\n if (checkData[\"error\"] && checkData[\"error\"].length) {\n if (type === \"allLamp\") {\n // 点击主灯按钮\n proxyData.updateAllLampLoading(checkData[\"error\"]); // 所有灯\n } else {\n // 当个的时候修改loading的状态\n proxyData.updateLampLoading(index);\n }\n }\n },\n // 查看指令是否成功完成\n judgeChangeResponeseSuccess(resData: any) {\n let data: any = resData?.content ?? [];\n let processingArr: any = [];\n let successArr: any = [];\n let errorArr: any = [];\n for (let i = 0; i < data.length; i++) {\n let item: any = data[i];\n if ((item.result = \"success\")) {\n if (item.state === 200 && item.exeResult === \"success\") {\n successArr.push(item);\n } else if (\n (item.state === 200 && item.exeResult === \"processing:rcvd\") ||\n (item.state === 202 && !item.exeResult)\n ) {\n processingArr.push(item);\n } else {\n errorArr.push(item);\n }\n } else {\n errorArr.push(item);\n }\n }\n let obj: any = {\n success: successArr,\n processing: processingArr,\n error: errorArr,\n };\n return obj;\n },\n // 操作成功后更新所有灯的真实状态\n updateAllLampLoading(arr: any) {\n for (let i = 0; i < proxyData.lampList.length; i++) {\n if (proxyData.lampList[i].type == \"lamp\") {\n arr.map((item: any) => {\n if (proxyData.lampList[i].id === item.id) {\n proxyData.lampList[i].loading = false;\n }\n });\n }\n }\n let loadingLen = proxyData.lampList.filter((item: any) => {\n return item.loading;\n });\n if (loadingLen.length === 0) {\n proxyData.loadingLight = false;\n }\n },\n // 动态切换主灯的状态\n updateLampLoading(index: any) {\n proxyData.lampList[index].loading = false;\n },\n // 灯的指令完成后更新状态\n checkChangeLightStatusSuccess(\n checkParams: any,\n type: any,\n id: any,\n value: any,\n index: any\n ) {\n // 轮询查询灯的状态\n getStatusHttp(checkParams).then((res) => {\n const resData: any = res;\n const checkData: any = proxyData.judgeChangeResponeseSuccess(resData);\n proxyData.getTimeLampStatus(checkData, type, id, value, index);\n });\n },\n // 灯灯接口清除定时器\n clearLightStatusTimer() {\n clearTimeout(proxyData.lightsStatusTimer);\n proxyData.lightsStatusTimer = null;\n },\n // 定时刷新接口\n startLightsStatusTimer(timerLen: any = 2000) {\n proxyData.lightsStatusTimer = setTimeout(() => {\n proxyData.getLampList();\n proxyData.clearLightStatusTimer();\n }, timerLen);\n },\n });\n const isShowChildLight = computed(() => {\n return proxyData.lampList.length && proxyData.lampList.length > 1;\n });\n watch(\n props,\n (newProps: any) => {\n // 定时调空间信息\n proxyData.userIsControl = newProps.userIsControl;\n proxyData.controlMode = newProps.controlMode;\n proxyData.forceOverTimeFlag = newProps.forceOverTimeFlag;\n proxyData.seviceEquipmentList = newProps.seviceEquipmentList;\n if (newProps.spaceId) {\n // 空间id改变的重新获取值调用接口\n proxyData.spaceId = newProps.spaceId;\n proxyData.showFlag = false;\n proxyData.clearLightStatusTimer();\n proxyData.getLampList();\n }\n },\n {\n deep: false,\n immediate: true,\n }\n );\n onBeforeUnmount(() => {\n proxyData.clearLightStatusTimer();\n });\n onMounted(() => {});\n return {\n isShowChildLight,\n ...toRefs(proxyData),\n };\n },\n});\n","import { render } from \"./index.vue?vue&type=template&id=7da91d80&scoped=true&ts=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=7da91d80&lang=scss&scoped=true\"\nimport \"./index.vue?vue&type=style&index=1&id=7da91d80&class=style&lang=scss\"\n\nimport exportComponent from \"/Users/wangyong/shanggeyun/code/sagacloud-sagacare-ipad/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7da91d80\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, renderList as _renderList, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-e5733310\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"curtain\"\n}\nconst _hoisted_2 = { class: \"curtain-top\" }\nconst _hoisted_3 = { class: \"curtain-desc\" }\nconst _hoisted_4 = { class: \"curtain-title\" }\nconst _hoisted_5 = { class: \"curtain-status\" }\nconst _hoisted_6 = { class: \"curtain-tip\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \"显示全部\", -1))\nconst _hoisted_8 = { class: \"curtain-right\" }\nconst _hoisted_9 = [\"src\"]\nconst _hoisted_10 = {\n key: 0,\n class: \"curtain-control\"\n}\nconst _hoisted_11 = {\n key: 0,\n class: \"timer-text\"\n}\nconst _hoisted_12 = [\"src\"]\nconst _hoisted_13 = {\n key: 0,\n class: \"timer-text\"\n}\nconst _hoisted_14 = [\"src\"]\nconst _hoisted_15 = { class: \"child-title\" }\nconst _hoisted_16 = { class: \"curtain-control\" }\nconst _hoisted_17 = [\"onClick\"]\nconst _hoisted_18 = {\n key: 0,\n class: \"timer-text\"\n}\nconst _hoisted_19 = [\"src\"]\nconst _hoisted_20 = [\"onClick\"]\nconst _hoisted_21 = {\n key: 0,\n class: \"timer-text\"\n}\nconst _hoisted_22 = [\"src\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_van_icon = _resolveComponent(\"van-icon\")!\n\n return (_ctx.curtainData && _ctx.curtainData.length)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"p\", _hoisted_4, _toDisplayString(_ctx.curtainData.length && _ctx.curtainData.length == 1 ? _ctx.curtainData[0].name : '窗帘'), 1),\n _createElementVNode(\"p\", _hoisted_5, [\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(_ctx.countText), 1)\n ]),\n (_ctx.isShowChildLight)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"show-all\",\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.showAll && _ctx.showAll(...args)))\n }, [\n _createVNode(_component_van_icon, {\n name: _ctx.lightIcon,\n class: \"curtain-icon\"\n }, null, 8, [\"name\"]),\n _hoisted_7\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"img\", {\n src: _ctx.parseImgUrl('page-officehome','curtain-img.svg'),\n alt: \"\"\n }, null, 8, _hoisted_9),\n (!_ctx.showFlag)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"control-item mr10\", {'box-active':_ctx.curtainClose && _ctx.count,'control-item-disabled':!_ctx.userIsControl}]),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.handleTotal('EquipOffSet')))\n }, [\n (_ctx.curtainClose && _ctx.count)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_11, _toDisplayString(_ctx.count), 1))\n : (_openBlock(), _createElementBlock(\"img\", {\n key: 1,\n src: _ctx.parseImgUrl('page-officehome','curtain-close.png'),\n alt: \"\"\n }, null, 8, _hoisted_12))\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"control-item\", {'box-active':_ctx.curtainOpen && _ctx.count,'control-item-disabled':!_ctx.userIsControl}]),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.handleTotal('EquipOnSet')))\n }, [\n (_ctx.curtainOpen && _ctx.count)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_13, _toDisplayString(_ctx.count), 1))\n : (_openBlock(), _createElementBlock(\"img\", {\n key: 1,\n src: _ctx.parseImgUrl('page-officehome','curtain-open.png'),\n alt: \"\"\n }, null, 8, _hoisted_14))\n ], 2)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n (_ctx.showFlag)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 0 }, _renderList(_ctx.curtainData, (item, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"child-curtain\",\n key: item.id\n }, [\n _createElementVNode(\"div\", _hoisted_15, _toDisplayString(item.name), 1),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"control-item mr10\", {'box-active':item.curtainClose && _ctx.count,'control-item-disabled':!_ctx.userIsControl}]),\n onClick: ($event: any) => (_ctx.handleChild('EquipOffSet',item.id,index))\n }, [\n (item.curtainClose && _ctx.count)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_18, _toDisplayString(_ctx.count), 1))\n : (_openBlock(), _createElementBlock(\"img\", {\n key: 1,\n src: _ctx.parseImgUrl('page-officehome','curtain-close.png'),\n alt: \"\"\n }, null, 8, _hoisted_19))\n ], 10, _hoisted_17),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"control-item\", {'box-active':item.curtainOpen && _ctx.count,'control-item-disabled':!_ctx.userIsControl}]),\n onClick: ($event: any) => (_ctx.handleChild('EquipOnSet',item.id,index))\n }, [\n (item.curtainOpen && _ctx.count)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_21, _toDisplayString(_ctx.count), 1))\n : (_openBlock(), _createElementBlock(\"img\", {\n key: 1,\n src: _ctx.parseImgUrl('page-officehome','curtain-open.png'),\n alt: \"\"\n }, null, 8, _hoisted_22))\n ], 10, _hoisted_20)\n ])\n ]))\n }), 128))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n}","\nimport { computed, defineComponent, onMounted, reactive, toRefs, watch } from 'vue'\nimport { getObjectDataEqpGroupHttp, setEquipeHttp } from '@/apis/envmonitor'\nimport { parseImgUrl } from '@/utils'\nimport { Toast } from 'vant'\n\nexport default defineComponent({\n props: {\n projectId: {\n type: String,\n default: () => ''\n },\n spaceId: {\n type: String,\n default: () => ''\n },\n userIsControl: {\n type: Boolean,\n default: () => false\n }\n },\n setup(props) {\n let curtainData: any = []\n let timer: any = null\n let projectId: any = props.projectId\n const proxyData = reactive({\n curtainData: curtainData,\n userIsControl: props.userIsControl,\n lightIcon: 'arrow-down',\n showFlag: false,\n projectId: projectId,\n countText: '', // 到记时文案\n count: 0, // 到记时\n curtainOpen: false,\n curtainClose: false,\n parseImgUrl: parseImgUrl,\n timer: timer,\n // 获取窗帘列表\n getEqpGroup() {\n const params: any = {\n criteria: {\n projectId: props.projectId,\n spaceId: props.spaceId, // 空间ID\n type: 0 // 0.窗帘\n },\n orders: [\n {\n column: 'sortNum',\n asc: true\n }\n ]\n }\n getObjectDataEqpGroupHttp(params).then(res => {\n const resData: any = res\n proxyData.curtainData = resData.count ? resData.content : []\n for (let i = 0; i < proxyData.curtainData.length; i++) {\n let item = proxyData.curtainData[i]\n item.childDownFlag = false\n item.childUpFlag = false\n item.childCount = 2\n item.childCountText = ''\n }\n })\n },\n // 点击展示所有的登录\n showAll() {\n proxyData.showFlag = !proxyData.showFlag\n if (proxyData.showFlag) {\n proxyData.lightIcon = 'arrow-up'\n } else {\n proxyData.lightIcon = 'arrow-down'\n }\n },\n checkCount() {\n if (proxyData.count > 0) {\n return true\n } else {\n return false\n }\n },\n // 窗帘总开关\n handleTotal(setType: string) {\n if (proxyData.userIsControl) {\n let flag = proxyData.checkCount()\n /**\n * flag:true 代表指令正在发送中,false:代表当前没有指令在发送\n */\n if (!flag) { // 只要有一条指令在发送中,要求其它指令不能再发送\n proxyData.changeStatus(setType)\n let arr = JSON.parse(JSON.stringify(proxyData.curtainData)) // 窗帘数据\n let paramsArr = proxyData.setParams(arr, setType)\n // 更新窗帘的按钮可点击状态\n proxyData.setSwitchStatus(setType)\n // 发送窗帘指令\n setEquipeHttp(paramsArr).then(res => {\n })\n }\n } else {\n Toast('您没有当前空间的控制权限!')\n }\n },\n handleChild(setType: string, id: any, index: any) {\n if (proxyData.userIsControl) {\n let flag = proxyData.checkCount()\n /**\n * flag:true 代表指令正在发送中,false:代表当前没有指令在发送\n */\n if (!flag) { // 只要有一条指令在发送中,要求其它指令不能再发送\n let childItem: any = proxyData.curtainData[index]\n const params = {\n projectId: proxyData.projectId,\n objectId: id, // 设备ID/窗帘组ID\n equipmentCategory: 'CFSSES', // 设备编码 窗帘:CFSSES\n infoCode: setType, // 窗帘开设定:EquipOnSet 窗帘关设定:EquipOffSet\n value: 1 // 窗帘 1 移动/停止\n }\n let paramsArr = []\n paramsArr.push(params)\n // 更新窗帘的按钮可点击状态\n proxyData.changeStatus(setType, childItem)\n proxyData.setSwitchStatus(setType, childItem)\n // 发送窗帘指令\n setEquipeHttp(paramsArr).then(res => {\n })\n }\n } else {\n Toast('您没有当前空间的控制权限!')\n }\n },\n clearCurtain() {\n proxyData.curtainData.map((item: any) => {\n item.curtainClose = false\n item.curtainOpen = false\n proxyData.curtainClose = false\n proxyData.curtainOpen = false\n })\n },\n changeStatus(setType: any, item: any = null) {\n proxyData.clearCurtain()\n if (setType === 'EquipOffSet') {\n if (item) {\n item.curtainClose = true\n } else {\n proxyData.curtainClose = true\n }\n } else {\n if (item) {\n item.curtainOpen = true\n } else {\n proxyData.curtainOpen = true\n }\n }\n },\n // 窗帘状态数据\n setSwitchStatus(setType: any, item: any = null) {\n proxyData.count = 2 // 恢复count\n proxyData.countText = '指令下发中'\n proxyData.timer = setInterval(() => {\n if (proxyData.count === 0) {\n proxyData.countText = ''\n clearInterval(proxyData.timer)\n proxyData.clearCurtain()\n }\n if (proxyData.count === 1) {\n proxyData.countText = '再次点击停止窗帘'\n }\n if (proxyData.count > 0) {\n proxyData.count--\n } else {\n proxyData.count = 0\n }\n }, 1000)\n },\n // 设置发送给后台的窗帘数据\n setParams(arr: any, setType: any) {\n let paramsArr = []\n for (let i = 0; i < arr.length; i++) {\n let obj = {\n objectId: arr[i].id, // 设备ID/窗帘组ID\n equipmentCategory: 'CFSSES', // 设备编码 窗帘:CFSSES\n infoCode: setType, // 窗帘开设定:EquipOnSet 窗帘关设定:EquipOffSet\n value: 1\n }\n paramsArr.push(obj)\n }\n return paramsArr\n }\n })\n const isShowChildLight = computed(() => {\n return proxyData.curtainData.length && proxyData.curtainData.length > 1\n })\n watch(\n props,\n (newProps: any) => {\n if (newProps.spaceId) {\n // 当前空间的控制权限\n proxyData.getEqpGroup()\n proxyData.userIsControl = newProps.userIsControl\n }\n }\n )\n onMounted(() => {\n // 获取空调信息\n proxyData.getEqpGroup()\n })\n return {\n isShowChildLight,\n ...toRefs(proxyData)\n }\n }\n})\n","import { render } from \"./index.vue?vue&type=template&id=e5733310&scoped=true&ts=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=e5733310&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/wangyong/shanggeyun/code/sagacloud-sagacare-ipad/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-e5733310\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-18f3164f\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"top\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", null, \"选择工作结束时间\")\n], -1))\nconst _hoisted_2 = { class: \"btns\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_van_picker = _resolveComponent(\"van-picker\")!\n\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _hoisted_1,\n (_openBlock(), _createBlock(_component_van_picker, {\n ref: \"picker\",\n \"show-toolbar\": false,\n \"default-index\": _ctx.defaultIndex,\n onChange: _ctx.onChange,\n loading: _ctx.loading,\n key: _ctx.account_type_value,\n columns: _ctx.columns\n }, null, 8, [\"default-index\", \"onChange\", \"loading\", \"columns\"])),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"span\", {\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.triggerComfirm && _ctx.triggerComfirm(...args))),\n class: \"btn btn_com\"\n }, \"确定\")\n ])\n ]))\n}","\nimport { Picker, Toast } from 'vant'\nimport { defineComponent, reactive, toRefs, ref, onBeforeMount, onMounted, onUpdated } from 'vue'\nimport { formatDate, getHours, getTomorrow } from '@/utils'\nimport { changeSetTimeHttp } from '@/apis/envmonitor'\nimport any = jasmine.any\n\nexport default defineComponent({\n props: {\n projectId: {\n type: String,\n default: () => ''\n },\n show: {\n type: Boolean,\n default: () => false\n },\n\n nextCusStartTime: { // 第二天 服务定制开始时间\n type: Number,\n default: () => 0\n },\n cusStartTime: { // 服务定制开始时间\n type: Number,\n default: () => 0\n },\n cusEndTime: { // 服务定制结束时间\n type: Number,\n default: () => 0\n },\n spaceId: {\n type: String,\n default: () => ''\n },\n currentValue: {\n type: Array,\n default: () => [0, 0]\n },\n workInfo: {\n type: Object,\n default: () => {\n }\n }\n },\n components: {\n VanPicker: Picker\n },\n setup(props, contx) {\n const picker: any = ref(null)\n const columns = [\n { values: ['今天', '明天'] },\n { values: [] },\n ]\n const timeList: any = []\n const checkValues: any = []\n const proxyData = reactive({\n columns: columns,\n loading: false,\n defaultIndex: 0,\n account_type_value: '0+3',\n checkValues: checkValues,\n timeList: timeList,\n tempVal: '',\n onChange(values: any) {\n if (values[0] !== proxyData.tempVal) {\n proxyData.loading = true\n proxyData.tempVal = values[0]\n }\n if (values[0] === '今天') {\n // proxyData.columns[1].values = []\n proxyData.formatColumns(0)\n } else {\n // proxyData.columns[1].values = []\n proxyData.formatColumns(1)\n }\n },\n setDefaultTime(col: number = 0, textTime: any) {\n proxyData.defaultIndex = col\n let timeArr: any = proxyData.columns[1].values\n let optIndex: any = 0\n timeArr.map((item: any, index: any) => {\n if (textTime === item) {\n optIndex = index\n }\n })\n picker.value.setColumnValue(col, textTime)\n let x: any = col ? '明天' : '今天'\n let time: any = textTime ? textTime : timeArr[0]\n // proxyData.checkValues = [x, time]\n // picker.value.setColumnIndex(col, optIndex)\n },\n formatColumns(curDate: any) {\n let arrTime = []\n if (curDate === 0) {\n // 今天\n let nowTime = getHours() // 当前小时\n let todayStart = 0\n let todayEnd = 0\n if (props.cusStartTime && nowTime + 2 < props.cusStartTime) {\n todayStart = nowTime + 1\n todayEnd = props.cusStartTime\n } else if (props.cusStartTime && (nowTime + 2) >= props.cusStartTime) {\n if (nowTime > props.cusEndTime) {\n todayStart = nowTime + 1\n todayEnd = 24\n } else {\n // 逻辑有问题吧\n todayStart = props.cusEndTime + 1\n todayEnd = 24\n }\n } else if (!props.cusStartTime) {\n todayStart = nowTime + 1\n todayEnd = 24\n } else {\n return\n }\n for (let i = todayStart; i < todayEnd + 1; i++) {\n const item = {\n label: `${i}:00`,\n value: i\n }\n arrTime.push(item)\n }\n } else {\n // 明天\n // debugger\n for (let j = 1; j < props.nextCusStartTime; j++) {\n let num: any = j\n if (num < 10) {\n num = '0' + j\n }\n const item = {\n label: `${num}:00`,\n value: Number(num)\n }\n arrTime.push(item)\n }\n }\n proxyData.timeList = arrTime\n let values: any = []\n for (let i = 0; i < proxyData.timeList.length; i++) {\n values.push(proxyData.timeList[i].label)\n }\n proxyData.columns[1].values = values\n setTimeout(() => {\n proxyData.loading = false\n }, 1000)\n },\n // 确定\n triggerComfirm() {\n let values: any = picker.value.getValues()\n proxyData.checkValues = [values[0], values[1]]\n // console.log(proxyData.checkValues)\n //设置加班\n if (proxyData.checkValues[0] && proxyData.checkValues[1]) {\n // console.log(proxyData.checkValues)\n proxyData.setWorkOverTime()\n } else {\n Toast('请选择时间')\n }\n },\n // 设置加班时间\n setWorkOverTime() {\n // /**\n // * 1.少了判断位置的逻辑\n // */\n let endDate: string = formatDate()\n if (proxyData.checkValues[0] === '明天') {\n endDate = getTomorrow()\n }\n let endTime = proxyData.checkValues[1]\n endTime = endTime.replace(':', '')\n const params = {\n projectId: props.projectId, // 项目id\n 'objectId': props.spaceId, // 空间ID\n 'endDate': endDate, // 结束日期 \"20210310\",\n 'endTime': endTime + '00', // 结束时间 \"090000\"\n 'type': 2 // 0 预约加班,1 取消,2 我来了/确定, 3 我走了\n }\n // console.log('被点击了===')\n changeSetTimeHttp(params).then(res => {\n const resData: any = res\n if (resData.result == 'success') {\n }\n contx.emit('setWorkTime')\n }).catch(() => {\n contx.emit('setWorkTime')\n })\n },\n init() {\n let text: any = props.workInfo.text\n let textTime: any = props.workInfo.textTime\n // debugger\n if (text === '明天') {\n proxyData.formatColumns(1) // 默认初始化为今天\n proxyData.setDefaultTime(1, textTime)\n } else {\n proxyData.formatColumns(0) // 默认初始化为今天\n proxyData.setDefaultTime(0, textTime)\n }\n }\n })\n onMounted(() => {\n proxyData.init()\n })\n return {\n picker,\n ...toRefs(proxyData)\n }\n }\n})\n","import { render } from \"./TimeBox.vue?vue&type=template&id=18f3164f&scoped=true&ts=true\"\nimport script from \"./TimeBox.vue?vue&type=script&lang=ts\"\nexport * from \"./TimeBox.vue?vue&type=script&lang=ts\"\n\nimport \"./TimeBox.vue?vue&type=style&index=0&id=18f3164f&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/wangyong/shanggeyun/code/sagacloud-sagacare-ipad/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-18f3164f\"]])\n\nexport default __exports__","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, vShow as _vShow, normalizeClass as _normalizeClass, withDirectives as _withDirectives, createElementVNode as _createElementVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1f8e6930\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"nav\" }\nconst _hoisted_2 = { class: \"nav-left\" }\nconst _hoisted_3 = [\"onClick\"]\nconst _hoisted_4 = [\"src\"]\nconst _hoisted_5 = [\"src\"]\nconst _hoisted_6 = { class: \"nav-right\" }\nconst _hoisted_7 = [\"onClick\"]\nconst _hoisted_8 = [\"src\"]\nconst _hoisted_9 = [\"src\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.navData, (item, index) => {\n return _withDirectives((_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"nav-item\", _ctx.activeCode===item.code?'nav-active':'']),\n onClick: ($event: any) => (_ctx.checkNav(item,index)),\n key: 'nav'+index\n }, [\n (_ctx.activeCode===item.code)\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n src: item.activeImg,\n alt: \"\"\n }, null, 8, _hoisted_4))\n : (_openBlock(), _createElementBlock(\"img\", {\n key: 1,\n src: item.img,\n alt: \"\"\n }, null, 8, _hoisted_5))\n ], 10, _hoisted_3)), [\n [_vShow, index<3 && item.noShow]\n ])\n }), 128))\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.navData, (item, index) => {\n return _withDirectives((_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"nav-item\", _ctx.activeCode===item.code?'nav-active':'']),\n onClick: ($event: any) => (_ctx.checkNav(item,index)),\n key: 'nav'+index\n }, [\n (_ctx.activeCode===item.code)\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n src: item.activeImg,\n alt: \"\"\n }, null, 8, _hoisted_8))\n : (_openBlock(), _createElementBlock(\"img\", {\n key: 1,\n src: item.img,\n alt: \"\"\n }, null, 8, _hoisted_9))\n ], 10, _hoisted_7)), [\n [_vShow, index>=3 && item.noShow]\n ])\n }), 128))\n ])\n ]))\n}","\nimport { defineComponent, onMounted, reactive, toRefs, watch } from 'vue'\nimport { useRouter } from 'vue-router'\n\nexport default defineComponent({\n props: {\n navList: {\n type: Array,\n default: () => []\n }\n },\n setup(props, contex) {\n const router = useRouter()\n const navData: any = []\n const proxyData = reactive({\n activeCode: 'air',\n navData: navData,\n setNavValue(val: any) {\n proxyData.navData = val\n },\n checkNav(item: any, index: any) {\n proxyData.activeCode = item.code\n contex.emit('changeNav', item)\n },\n setActiveCode(activeCode: any) {\n proxyData.activeCode = activeCode\n }\n })\n watch(\n props.navList, (newVal, oldValue) => {\n proxyData.setNavValue(newVal)\n }\n )\n onMounted(() => {\n proxyData.setNavValue(props.navList)\n })\n return {\n ...toRefs(proxyData)\n }\n }\n})\n","import { render } from \"./NavBar.vue?vue&type=template&id=1f8e6930&scoped=true&ts=true\"\nimport script from \"./NavBar.vue?vue&type=script&lang=ts\"\nexport * from \"./NavBar.vue?vue&type=script&lang=ts\"\n\nimport \"./NavBar.vue?vue&type=style&index=0&id=1f8e6930&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/wangyong/shanggeyun/code/sagacloud-sagacare-ipad/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1f8e6930\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-f8a217b2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"scene-dailog\" }\nconst _hoisted_2 = { class: \"title\" }\nconst _hoisted_3 = { class: \"dailog-content\" }\nconst _hoisted_4 = [\"src\"]\nconst _hoisted_5 = { class: \"status-text1\" }\nconst _hoisted_6 = /*#__PURE__*/_createTextVNode(\" 切换至 \")\nconst _hoisted_7 = /*#__PURE__*/_createTextVNode(\" 场景 \")\nconst _hoisted_8 = /*#__PURE__*/_createTextVNode(\"切换中...\")\nconst _hoisted_9 = {\n key: 1,\n class: \"status-text2\"\n}\nconst _hoisted_10 = { key: 0 }\nconst _hoisted_11 = /*#__PURE__*/_createTextVNode(\"我知道了\")\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_van_loading = _resolveComponent(\"van-loading\")!\n const _component_buttons = _resolveComponent(\"buttons\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_ctx.secenaroStatus.localName), 1),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"img\", {\n src: _ctx.parseImgUrl('ipdImages', 'taolun-big.svg')\n }, null, 8, _hoisted_4),\n _createElementVNode(\"span\", _hoisted_5, [\n _hoisted_6,\n _createElementVNode(\"i\", null, _toDisplayString(_ctx.secenaroStatus.sceneName), 1),\n _hoisted_7\n ]),\n (_ctx.secenaroStatus.loading)\n ? (_openBlock(), _createBlock(_component_van_loading, {\n key: 0,\n class: \"status-text2\"\n }, {\n default: _withCtx(() => [\n _hoisted_8\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (!_ctx.secenaroStatus.loading)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_9, [\n (_ctx.secenaroStatus.lodingText)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_10, \" 已为您切换至适宜\" + _toDisplayString(_ctx.secenaroStatus.sceneName) + \"的环境\", 1))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createVNode(_component_buttons, {\n class: \"dailog-btn\",\n onClick: _ctx.closeDailog\n }, {\n default: _withCtx(() => [\n _hoisted_11\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]))\n}","\nimport {\n defineComponent,\n reactive,\n toRefs,\n onBeforeMount,\n onMounted,\n ref,\n watch,\n} from \"vue\";\nimport { Loading, Toast } from \"vant\";\nimport { parseImgUrl } from \"@/utils\";\n\nexport default defineComponent({\n props: {\n projectId: {\n type: String,\n default: () => \"\",\n },\n scenarioArr: {\n type: Array,\n default: () => [],\n },\n secenaroStatus: {\n type: Object,\n default: () => {},\n },\n },\n components: {\n VanLoading: Loading,\n },\n setup(props, contx) {\n const proxyData = reactive({\n parseImgUrl: parseImgUrl,\n secenaroStatus: props.secenaroStatus,\n closeDailog() {\n contx.emit(\"closeDailog\");\n },\n });\n watch(\n props,\n (newProps: any) => {\n proxyData.secenaroStatus = newProps.secenaroStatus;\n },\n {\n deep: false,\n immediate: true,\n }\n );\n onMounted(() => {});\n return {\n ...toRefs(proxyData),\n };\n },\n});\n","import { render } from \"./scenarioDailog.vue?vue&type=template&id=f8a217b2&scoped=true&ts=true\"\nimport script from \"./scenarioDailog.vue?vue&type=script&lang=ts\"\nexport * from \"./scenarioDailog.vue?vue&type=script&lang=ts\"\n\nimport \"./scenarioDailog.vue?vue&type=style&index=0&id=f8a217b2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/wangyong/shanggeyun/code/sagacloud-sagacare-ipad/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-f8a217b2\"]])\n\nexport default __exports__","import { normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-55c81230\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"map-home map-home-pading\" }\nconst _hoisted_2 = { class: \"map-top\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_map_box = _resolveComponent(\"map-box\")!\n const _component_space_box = _resolveComponent(\"space-box\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"span\", {\n class: _normalizeClass(_ctx.type == 1 ? 'span-active' : ''),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.checkMapType(1)))\n }, \"列表\", 2),\n _createElementVNode(\"span\", {\n class: _normalizeClass(_ctx.type == 2 ? 'span-active' : ''),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.checkMapType(2)))\n }, \"地图\", 2)\n ]),\n (_ctx.type === 2)\n ? (_openBlock(), _createBlock(_component_map_box, {\n key: 0,\n mapType: 1,\n spaceData: _ctx.spaceData,\n projectId: _ctx.projectId,\n floorId: _ctx.floorId,\n spaceInfo: _ctx.spaceInfo,\n buildingId: _ctx.buildingId,\n onChangeSpace: _ctx.changeSpace\n }, null, 8, [\"spaceData\", \"projectId\", \"floorId\", \"spaceInfo\", \"buildingId\", \"onChangeSpace\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.type === 1)\n ? (_openBlock(), _createBlock(_component_space_box, {\n key: 1,\n spaceData: _ctx.spaceData,\n spaceInfo: _ctx.spaceInfo,\n onChangeSpace: _ctx.changeSpace\n }, null, 8, [\"spaceData\", \"spaceInfo\", \"onChangeSpace\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4b041186\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"space-home\" }\nconst _hoisted_2 = { class: \"com-search\" }\nconst _hoisted_3 = { class: \"search-icon\" }\nconst _hoisted_4 = [\"src\"]\nconst _hoisted_5 = { class: \"space-box\" }\nconst _hoisted_6 = [\"onClick\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_van_search = _resolveComponent(\"van-search\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_van_search, {\n placeholder: \"搜索办公区\",\n modelValue: _ctx.searchValue,\n \"onUpdate:modelValue\": [\n _cache[0] || (_cache[0] = ($event: any) => ((_ctx.searchValue) = $event)),\n _ctx.onSearch\n ],\n onClear: _ctx.onCancel\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"onClear\"]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"img\", {\n src: _ctx.parseImgUrl('search-icon', 'search-icon.svg'),\n alt: \"\"\n }, null, 8, _hoisted_4)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n (_ctx.spaceData && _ctx.spaceData.length)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 0 }, _renderList(_ctx.spaceData, (item, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"space-item\", \n _ctx.activeSpace.spaceId == item.spaceId ? 'space-active-item' : ''\n ]),\n key: 'spaceItem' + index,\n onClick: ($event: any) => (_ctx.changeSpace(item, index))\n }, [\n _createElementVNode(\"span\", null, _toDisplayString(item.spaceName), 1)\n ], 10, _hoisted_6))\n }), 128))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}","\nimport {\n defineComponent,\n reactive,\n toRefs,\n onBeforeMount,\n onMounted,\n ref,\n watch,\n} from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport { getUserInfo, newNumber, parseImgUrl } from \"@/utils\";\nimport { UserActionTypes } from \"@/store/modules/user/action-types\";\nimport { useStore } from \"@/store\";\nimport { login } from \"@/apis/user\";\nimport { Search, Toast } from \"vant\";\nimport { setToken } from \"@/utils/cookies\";\nimport { queryWorkSpace } from \"@/apis/envmonitor\";\n\nexport default defineComponent({\n props: {\n spaceData: {\n type: Array,\n default: () => [],\n },\n spaceInfo: {\n type: Object,\n default: () => {},\n },\n },\n components: {\n vanSearch: Search,\n },\n setup(props, contx) {\n let router: any = useRouter();\n const userInfo: any = getUserInfo();\n const store = useStore();\n const spaceData: any = [];\n const proxyData = reactive({\n parseImgUrl:parseImgUrl,\n userInfo: userInfo,\n spaceData: spaceData,\n searchValue: \"\", // 搜索val\n activeSpace: props.spaceInfo,\n changeSpace(item: any, index: any) {\n // debugger;\n proxyData.activeSpace = item;\n console.log(proxyData.activeSpace);\n contx.emit(\"changeSpace\", item);\n },\n queryWorkSpace() {\n let params: any = {\n criteria: {\n //类型:Object 必有字段 备注:无\n projectId: proxyData.userInfo.projectId,\n spaceName: proxyData.searchValue,\n macAddress: proxyData.userInfo.mac, //类型:String 必有字段 备注:mac地址\n },\n orders: [\n //类型:Array 必有字段 备注:无\n {\n //类型:Object 必有字段 备注:无\n column: \"isMajorSpace\", //类型:String 必有字段 备注:无\n asc: false, //类型:Boolean 必有字段 备注:无\n },\n ],\n };\n queryWorkSpace(params).then((res) => {\n let resData: any = res;\n if (resData.result === \"success\") {\n proxyData.spaceData = resData?.content ?? [];\n } else {\n proxyData.spaceData = [];\n }\n });\n },\n // 搜索\n onSearch() {\n proxyData.queryWorkSpace();\n },\n // 取消搜索\n onCancel() {},\n });\n onMounted(() => {});\n watch(\n props,\n (newProps: any) => {\n proxyData.spaceData = newProps.spaceData;\n proxyData.activeSpace = newProps.spaceInfo;\n },\n {\n deep: false,\n immediate: true,\n }\n );\n return {\n ...toRefs(proxyData),\n };\n },\n});\n","import { render } from \"./SpaceBox.vue?vue&type=template&id=4b041186&scoped=true&ts=true\"\nimport script from \"./SpaceBox.vue?vue&type=script&lang=ts\"\nexport * from \"./SpaceBox.vue?vue&type=script&lang=ts\"\n\nimport \"./SpaceBox.vue?vue&type=style&index=0&id=4b041186&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/wangyong/shanggeyun/code/sagacloud-sagacare-ipad/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4b041186\"]])\n\nexport default __exports__","\nimport {\n defineComponent,\n reactive,\n toRefs,\n onBeforeMount,\n onMounted,\n ref,\n watch,\n} from \"vue\";\nimport SpaceBox from \"./SpaceBox.vue\";\nimport MapBox from \"./MapBox.vue\";\nimport { useRouter } from \"vue-router\";\nimport { newNumber, parseImgUrl } from \"@/utils\";\nimport { UserActionTypes } from \"@/store/modules/user/action-types\";\nimport { useStore } from \"@/store\";\nimport { login } from \"@/apis/user\";\nimport { Form, Field, CellGroup, Button, Toast } from \"vant\";\nimport { setToken } from \"@/utils/cookies\";\nimport { getMapInfo } from \"@/apis/envmonitor\";\n\nexport default defineComponent({\n props: {\n spaceData: {\n type: Array,\n default: () => [],\n },\n projectId: {\n type: String,\n default: () => \"\",\n },\n buildingId: {\n type: String,\n default: () => \"\",\n },\n floorId: {\n type: String,\n default: () => \"\",\n },\n spaceInfo: {\n type: Object,\n default: () => {},\n },\n },\n components: {\n vanForm: Form,\n vanField: Field,\n CellGroup,\n vanButton: Button,\n SpaceBox,\n MapBox,\n },\n setup(props, contex) {\n let router: any = useRouter();\n let showMap: any = null;\n const store = useStore();\n const proxyData = reactive({\n type: 1,\n spaceData: props.spaceData,\n showMap: showMap, // 是否展示地图\n // 切换空间\n changeSpace(item: any) {\n contex.emit(\"changeSpace\", item, 1);\n },\n buildingId: props.buildingId,\n floorId: props.floorId,\n spaceInfo: props.spaceInfo,\n checkMapType(type: any) {\n proxyData.type = type;\n },\n /**\n * 获取地图信息\n */\n getMapInfo() {\n let params: any = {\n projectId: props.projectId,\n floorId: proxyData.floorId,\n };\n getMapInfo(params)\n .then((res) => {\n // debugger\n let resData: any = res;\n if (resData.result === \"success\") {\n let data: any = resData?.data ?? null;\n // debugger\n if (data && data.spaceList && data.spaceList.length) {\n proxyData.showMap = true;\n } else {\n proxyData.showMap = false;\n }\n } else {\n proxyData.showMap = false;\n }\n })\n .catch(() => {\n proxyData.showMap = false;\n });\n },\n });\n onMounted(() => {\n proxyData.getMapInfo();\n });\n watch(\n props,\n (newProps: any) => {\n proxyData.spaceData = newProps.spaceData;\n proxyData.buildingId = newProps.buildingId;\n proxyData.floorId = newProps.floorId;\n proxyData.spaceInfo = newProps.spaceInfo;\n // proxyData.getMapInfo();\n },\n {\n deep: false,\n immediate: true,\n }\n );\n return {\n ...toRefs(proxyData),\n };\n },\n});\n","import { render } from \"./index.vue?vue&type=template&id=55c81230&scoped=true&ts=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=55c81230&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/wangyong/shanggeyun/code/sagacloud-sagacare-ipad/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-55c81230\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, normalizeStyle as _normalizeStyle, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-21af28f0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"light-temp\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"light-tep-top\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", null, \"氛围灯\")\n], -1))\nconst _hoisted_3 = {\n key: 0,\n class: \"bright-box\"\n}\nconst _hoisted_4 = { class: \"bight-text\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \"亮度\", -1))\nconst _hoisted_6 = { class: \"light-control\" }\nconst _hoisted_7 = {\n class: \"bight-slider\",\n id: \"sliderId1\"\n}\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"slider-bar\",\n id: \"handId1\"\n}, null, -1))\nconst _hoisted_9 = {\n key: 1,\n class: \"bright-box\"\n}\nconst _hoisted_10 = { class: \"bight-text\" }\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \"色温\", -1))\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"light-control\" }, [\n /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"bight-slider temp-slider\",\n id: \"sliderId2\"\n }, [\n /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"slider-bar\",\n id: \"handId2\"\n })\n ])\n], -1))\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _hoisted_2,\n (_ctx.lightData.bright)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.lightData.brightValueRate) + \"%\", 1)\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", {\n class: \"item-now\",\n style: _normalizeStyle({ width: _ctx.itemWidth })\n }, null, 4),\n _hoisted_8\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.lightData.colorTemperature)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _hoisted_11,\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.lightData.colorTempValueRate) + \"%\", 1)\n ]),\n _hoisted_12\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}","\nimport {\n defineComponent,\n onMounted,\n reactive,\n toRefs,\n computed,\n watch,\n onUnmounted,\n onBeforeMount,\n onBeforeUnmount,\n nextTick,\n} from \"vue\";\nimport { Switch, Dialog, Toast } from \"vant\";\nimport { swiper } from \"@/utils/swiper\";\nimport { querySpaceConditioners, setSpaceCondtioners } from \"@/apis/envmonitor\";\nimport { parseImgUrl, setQueryConfig } from \"@/utils\";\nimport any = jasmine.any;\n\nexport default defineComponent({\n props: {\n lightData: {\n type: Object,\n default: () => {},\n },\n },\n components: { Switch },\n setup(props, contx) {\n const propsVal = props;\n let timeTemp: any = null;\n let timeColor: any = null;\n const proxyData = reactive({\n lampSw: false,\n itemWidth: \"0%\",\n lightData: props.lightData,\n swiperIinit: false,\n // 状态控制调整\n setSpaceContrl(data: any) {\n setSpaceCondtioners(data).then((res: any) => {});\n },\n timeTemp: timeTemp,\n timeTempNum: 1,\n timeColor: timeColor,\n timeColorNum: 1,\n getTimeNum(newTime: any = \"\") {\n let time: any = (new Date().getTime() - newTime) / 1000;\n let num: any = parseInt(time);\n if (num == 1) {\n return true;\n } else {\n return false;\n }\n },\n // 改变当前空间设置的值\n changContrlVal(type: any, tmerType: any = 2) {\n let data: any = [];\n if (type == 1) {\n if (\n proxyData.lightData.brightValue < proxyData.lightData.brightMinValue\n ) {\n proxyData.lightData.brightValue =\n proxyData.lightData.brightMinValue;\n }\n proxyData.lightData.brightValue = Math.floor(\n proxyData.lightData.brightValue\n );\n data = [\n {\n id: proxyData.lightData.id,\n code: \"brightSet\",\n value: proxyData.lightData.brightValue,\n },\n ];\n if (tmerType == 2) {\n if (proxyData.getTimeNum(proxyData.timeTemp)) {\n proxyData.setSpaceContrl(data);\n proxyData.timeTemp = new Date().getTime();\n }\n } else {\n proxyData.setSpaceContrl(data);\n }\n } else if (type == 2) {\n if (\n proxyData.lightData.colorTempValue <\n proxyData.lightData.colorTempMinValue\n ) {\n proxyData.lightData.colorTempValue =\n proxyData.lightData.colorTempMinValue;\n }\n proxyData.lightData.colorTempValue = Math.floor(\n proxyData.lightData.colorTempValue\n );\n data = [\n {\n id: proxyData.lightData.id,\n code: \"colorTemperatureSet\",\n value: proxyData.lightData.colorTempValue,\n },\n ];\n if (tmerType == 2) {\n if (proxyData.getTimeNum(proxyData.timeColor)) {\n proxyData.setSpaceContrl(data);\n proxyData.timeColor = new Date().getTime();\n }\n } else {\n proxyData.setSpaceContrl(data);\n }\n }\n },\n // 控制结束处理\n changContrlValEnd(type: any) {\n if (type == 1) {\n proxyData.changContrlVal(1, 1);\n } else if (type == 2) {\n proxyData.changContrlVal(2, 1);\n }\n },\n // 定时控制\n setTimeContrl(type: any) {\n if (type == 1) {\n proxyData.timeTemp = new Date().getTime();\n } else if (type == 2) {\n proxyData.timeColor = new Date().getTime();\n }\n },\n // 设置调节滚动条的最大值和最小值\n setLightDataMax() {\n proxyData.lightData.brightMaxValue = proxyData.lightData.brightMaxValue\n ? proxyData.lightData.brightMaxValue\n : 100;\n proxyData.lightData.colorTempMaxValue = proxyData.lightData\n .colorTempMaxValue\n ? proxyData.lightData.colorTempMaxValue\n : 100;\n },\n // 计算滚动条样式的值\n setBarValue(type: any, sliderWidth: any, left: any, barWidth: any) {\n proxyData.setLightDataMax();\n if (type == 1) {\n // 亮度\n let value: any =\n proxyData.lightData.brightMaxValue -\n proxyData.lightData.brightMinValue;\n let bright: any = value / (sliderWidth - barWidth);\n let rate: any = 100 / value;\n proxyData.lightData.brightValueRate = left * bright * rate;\n proxyData.lightData.brightValueRate = Math.floor(\n proxyData.lightData.brightValueRate\n );\n let width: any =\n proxyData.lightData.brightValueRate >= 98\n ? 98\n : proxyData.lightData.brightValueRate;\n proxyData.lightData.brightValue =\n proxyData.lightData.brightValueRate * rate;\n proxyData.itemWidth = left + barWidth / 2 + \"px\";\n } else if (type == 2) {\n let value: any =\n proxyData.lightData.colorTempMaxValue -\n proxyData.lightData.colorTempMinValue;\n // 色温\n let colorVal: any = value / (sliderWidth - barWidth);\n let rate: any = 100 / value;\n proxyData.lightData.colorTempValueRate = left * colorVal * rate;\n proxyData.lightData.colorTempValueRate = Math.floor(\n proxyData.lightData.colorTempValueRate\n );\n proxyData.lightData.colorTempValue =\n proxyData.lightData.colorTempValueRate * rate;\n }\n },\n // 根据当前值设置页面的位置\n getDefaultVal(type: any, sliderWidth: any, barWidth: any, handBox: any) {\n // console.log(\"调用了----\");\n let left: any = \"\";\n if (type == 1) {\n proxyData.lightData.brightValue =\n proxyData.lightData.brightValue <=\n proxyData.lightData.brightMinValue\n ? 0\n : proxyData.lightData.brightValue;\n if (\n proxyData.lightData.brightValue > proxyData.lightData.brightMaxValue\n ) {\n proxyData.lightData.brightValue =\n proxyData.lightData.brightMaxValue;\n }\n let bright: any =\n proxyData.lightData.brightMaxValue / (sliderWidth - barWidth);\n let rate: any = 100 / proxyData.lightData.brightMaxValue;\n // debugger;\n left = proxyData.lightData.brightValue / rate / bright / rate;\n proxyData.lightData.brightValueRate = Math.floor(\n proxyData.lightData.brightValue / rate\n );\n proxyData.itemWidth = left + barWidth / 2 + \"px\";\n } else if (type == 2) {\n proxyData.lightData.colorTempValue =\n proxyData.lightData.colorTempValue <=\n proxyData.lightData.colorTempMinValue\n ? 0\n : proxyData.lightData.colorTempValue;\n if (\n proxyData.lightData.colorTempValue >\n proxyData.lightData.colorTempMaxValue\n ) {\n proxyData.lightData.colorTempValue =\n proxyData.lightData.colorTempMaxValue;\n }\n let colorVal: any =\n proxyData.lightData.colorTempMaxValue / (sliderWidth - barWidth);\n let rate: any = 100 / proxyData.lightData.colorTempMaxValue;\n left = proxyData.lightData.colorTempValue / rate / colorVal / rate;\n proxyData.lightData.colorTempValueRate = Math.floor(\n proxyData.lightData.colorTempValue / rate\n );\n }\n handBox.style.left = left + \"px\";\n },\n //亮度滑块滑动\n endBoxSwiper() {\n proxyData.swiperIinit = true;\n let handBox: any = document.querySelector(\"#handId1\");\n let sliderBox: any = document.querySelector(\"#sliderId1\");\n let isMove: any = false;\n let barLeft: any = 0;\n let sliderWidth: any = sliderBox ? sliderBox.offsetWidth : 1;\n\n if (!handBox) {\n return;\n }\n let barWidth: any = handBox.getBoundingClientRect().width;\n proxyData.getDefaultVal(1, sliderWidth, barWidth, handBox);\n\n handBox.addEventListener(\"touchstart\", function (e: any) {\n barLeft = isNaN(parseInt(handBox.style.left))\n ? 0\n : parseInt(handBox.style.left);\n isMove = true;\n proxyData.setTimeContrl(1);\n });\n handBox.addEventListener(\"touchend\", function (e: any) {\n isMove = false;\n proxyData.changContrlValEnd(1);\n });\n\n swiper(handBox, {\n swipeLeft: function (e: any) {\n if (isMove) {\n barLeft = Math.abs(barLeft);\n let moveRealX: any = Math.abs(e.mation.moveX - e.mation.startX);\n let left: any = barLeft - moveRealX;\n left = left < 0 ? 0 : left;\n // debugger\n handBox.style.left = left + \"px\";\n proxyData.setBarValue(1, sliderWidth, left, barWidth);\n proxyData.changContrlVal(1);\n }\n },\n swipeRight: function (e: any) {\n // debugger;\n if (isMove) {\n barLeft = Math.abs(barLeft);\n let moveRealX: any = Math.abs(e.mation.moveX - e.mation.startX);\n let left: any = barLeft + moveRealX;\n left =\n left >= sliderWidth - barWidth ? sliderWidth - barWidth : left;\n handBox.style.left = left + \"px\";\n proxyData.setBarValue(1, sliderWidth, left, barWidth);\n proxyData.changContrlVal(1);\n }\n },\n });\n },\n // 色温滑块滑动\n tempBoxSwiper() {\n proxyData.swiperIinit = true;\n let handBox: any = document.querySelector(\"#handId2\");\n let sliderBox: any = document.querySelector(\"#sliderId2\");\n let isMove: any = false;\n let barLeft: any = 0;\n let sliderWidth: any = sliderBox ? sliderBox.offsetWidth : 1;\n if (!handBox) {\n return;\n }\n let barWidth: any = handBox.getBoundingClientRect().width;\n proxyData.getDefaultVal(2, sliderWidth, barWidth, handBox);\n handBox.addEventListener(\"touchstart\", function (e: any) {\n barLeft = isNaN(parseInt(handBox.style.left))\n ? 0\n : parseInt(handBox.style.left);\n isMove = true;\n proxyData.setTimeContrl(2);\n });\n handBox.addEventListener(\"touchend\", function (e: any) {\n isMove = false;\n proxyData.changContrlValEnd(2);\n });\n\n swiper(handBox, {\n swipeLeft: function (e: any) {\n if (isMove) {\n barLeft = Math.abs(barLeft);\n let moveRealX: any = Math.abs(e.mation.moveX - e.mation.startX);\n let left: any = barLeft - moveRealX;\n left = left < 0 ? 0 : left;\n // debugger\n handBox.style.left = left + \"px\";\n proxyData.setBarValue(2, sliderWidth, left, barWidth);\n proxyData.changContrlVal(2);\n }\n },\n swipeRight: function (e: any) {\n // debugger;\n if (isMove) {\n barLeft = Math.abs(barLeft);\n let moveRealX: any = Math.abs(e.mation.moveX - e.mation.startX);\n let left: any = barLeft + moveRealX;\n left =\n left >= sliderWidth - barWidth ? sliderWidth - barWidth : left;\n handBox.style.left = left + \"px\";\n proxyData.setBarValue(2, sliderWidth, left, barWidth);\n proxyData.changContrlVal(2);\n }\n },\n });\n },\n // 初始化滑动\n async barSwiperInit() {\n nextTick(() => {\n proxyData.endBoxSwiper();\n proxyData.tempBoxSwiper();\n });\n },\n });\n\n watch(props, (newProps: any) => {});\n onBeforeUnmount(() => {});\n onMounted(() => {\n proxyData.barSwiperInit();\n });\n return {\n ...toRefs(proxyData),\n };\n },\n});\n","import { render } from \"./LightTemp.vue?vue&type=template&id=21af28f0&scoped=true&ts=true\"\nimport script from \"./LightTemp.vue?vue&type=script&lang=ts\"\nexport * from \"./LightTemp.vue?vue&type=script&lang=ts\"\n\nimport \"./LightTemp.vue?vue&type=style&index=0&id=21af28f0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/wangyong/shanggeyun/code/sagacloud-sagacare-ipad/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-21af28f0\"]])\n\nexport default __exports__","\nimport {\n defineComponent,\n reactive,\n toRefs,\n ref,\n onBeforeMount,\n onMounted,\n nextTick,\n onBeforeUnmount,\n getCurrentInstance,\n} from \"vue\";\nimport WorkOvertime from \"./components/workOvertime/index.vue\";\nimport ManualOvertime from \"./components/ManualWork/index.vue\";\nimport Contact from \"./components/Contact/index.vue\";\nimport WorkConfig from \"./components/workOvertime/WorkConfig.vue\";\nimport ManualConfig from \"./components/ManualWork/WorkConfig.vue\";\nimport ScenarioConfig from \"./components/Scenario/ScenarioConfig.vue\";\nimport MapBox from \"@/views/envmonitor/components/Map/MapBox.vue\";\nimport Header from \"@/components/header/Index.vue\";\nimport Comheader from \"@/components/header/Comheader.vue\";\n// import Scenario from \"@/views/envmonitor/components/Scenario/Scenario.vue\";\nimport Air from \"@/views/envmonitor/components/Air/index.vue\";\nimport ManualIndex from \"@/views/envmonitor/components/Air/manualIndex.vue\";\nimport Light from \"@/views/envmonitor/components/Light/index.vue\";\nimport Curtain from \"@/views/envmonitor/components/Curtain/index.vue\";\nimport TimeBox from \"@/views/envmonitor/TimeBox.vue\";\nimport NavBar from \"@/views/envmonitor/NavBar.vue\";\nimport ScenarioDailog from \"@/views/envmonitor/components/Scenario/scenarioDailog.vue\";\nimport Detail from \"@/views/envmonitor/detail.vue\";\nimport ComMap from \"@/views/envmonitor/components/Map/index.vue\";\nimport LightTemp from \"@/views/envmonitor/components/Light/LightTemp.vue\";\nimport { Icon, Popup, Dialog, Toast } from \"vant\";\nimport { useRouter, useRoute } from \"vue-router\";\nimport {\n getCompanyInfo,\n getWeather,\n getSpaceInfo,\n getMeetingSceneHttp,\n getSetTimeHttp,\n changeSetTimeHttp,\n getSpaceEquipType,\n getPermanentSpace,\n getUserControlAuth,\n getSpaceMode,\n getSpaceTemp,\n querySpaceSceneConfig,\n queryCustomAndScence,\n queryWorkSpace,\n getPadImg,\n getSpaceEquipList,\n queryCustomerservice,\n} from \"@/apis/envmonitor\";\nimport Keys from \"@/constant/key\";\nimport {\n formatDate,\n formatDateStr,\n getHours,\n getLocalNewSpaceInfo,\n getNowWeek,\n getRelNowTime,\n getUserInfo,\n parseImgUrl,\n setQueryConfig,\n} from \"@/utils\";\nimport { store } from \"@/store\";\nimport { SpaceInfoModel } from \"@/model/userModel\";\nimport { getWorkType } from \"@/utils/mapIcon\";\nimport { getCookieMac } from \"@/utils/cookies\";\n\nexport default defineComponent({\n components: {\n MapBox,\n ComMap,\n ScenarioDailog,\n LightTemp,\n Header,\n Comheader,\n NavBar,\n Air,\n ManualIndex,\n ManualOvertime,\n Light,\n Curtain,\n TimeBox,\n WorkOvertime,\n WorkConfig,\n ManualConfig,\n ScenarioConfig,\n Detail,\n Contact,\n [Dialog.Component.name]: Dialog.Component,\n VanPopup: Popup,\n VanIcon: Icon,\n },\n beforeRouteEnter(to, from, next) {\n let mac: any = getCookieMac();\n if (mac && mac !== \"null\") {\n next();\n } else {\n next(\"/error\");\n }\n // next()\n },\n setup() {\n const proxyGlobal: any = getCurrentInstance();\n const router: any = useRouter();\n const route: any = useRoute();\n const document: any = window.document;\n const screenHeight: any = document.body.clientHeight;\n const outWeather: any = {};\n const weatherTimer: any = null;\n const equimentsTimer: any = null;\n let secenaroStatus: any = {};\n // 空间数据(包括空间下的设备的状态)\n const officeData: any = {};\n let spaceEqFlagObj: SpaceInfoModel = {\n hasAir: true, // 有无空调\n hasBlowing: false, // 空调有无 变风量系统\n hasLamp: false, //有无灯具\n };\n const popList: any = [];\n const detailQuery: any = {};\n // 空间类型\n let spaceInfo: any = {};\n const projectId: string = store.state.user.projectId;\n const sceneDetail: any = {};\n const timeOutEvent: any = {};\n const touchInterval: any = {};\n const contantDetail: any = {};\n const cusServiceTimer: any = null;\n const headerInfo: {\n headImg: any;\n headScene: string;\n tipText: string;\n tipTextSwatch: boolean;\n } = {\n headImg: \"\",\n headScene: \"\",\n tipText: \"选择工作结束时间\",\n tipTextSwatch: false,\n };\n let spaceExistenceDevice: any = {\n curtain: false,\n light: false,\n airConditioner: false,\n bodySensor: false,\n };\n let childRef: any = {};\n // let mapRef: any = {}\n let intervalTimer: any = null;\n const workInfo: any = {};\n const userInfo: any = getUserInfo();\n let lightData: any = {};\n let spaceTimer: any = null;\n let listSen: any = [\n {\n id: 0,\n code: \"DISCUSSING\",\n name: \"会议模式\",\n img: \"scene_work.svg\",\n checked: true,\n textObj: [\n {\n text: \"照明灯光已全部为您开启\",\n status: \"ok\",\n },\n {\n text: \"演示设备已为您准备\",\n status: \"ok\",\n },\n {\n text: \"空调已为您开启\",\n type: \"air\",\n status: \"ok\",\n },\n ],\n },\n {\n id: 1,\n code: \"PROJECTING\",\n name: \"投影模式\",\n img: \"scene_visitor.svg\",\n checked: false,\n textObj: [\n {\n text: \"主灯已为您关闭,氛围灯为您开启\",\n status: \"ok\",\n },\n {\n text: \"演示设备已为您开启\",\n status: \"ok\",\n },\n {\n text: \"空调已为您开启\",\n type: \"air\",\n status: \"ok\",\n },\n {\n text: \"窗帘已为您关闭\",\n status: \"ok\",\n },\n ],\n },\n {\n id: 2,\n code: \"ADJOURNMENT\",\n name: \"全关模式\",\n img: \"scene_rest.svg\",\n checked: false,\n textObj: [\n {\n text: \"照明灯光2min后将全部关闭\",\n status: \"ok\",\n },\n {\n text: \"演示设备已为您关闭\",\n status: \"ok\",\n },\n {\n text: \"空调全部关闭\",\n type: \"air\",\n status: \"ok\",\n },\n {\n text: \"窗帘已为您关闭\",\n status: \"ok\",\n },\n ],\n },\n ];\n let userSpaceInfo: any = [];\n let spaceModelTimer: any = null;\n let spaceTempTimer: any = null;\n let dateInter: any = null;\n let envlist: any = [\n {\n id: 2,\n name: \"甲醛\",\n num: \"\",\n level: \"\",\n bgColor: \"\",\n img: \"jiaquan.svg\",\n funcid: \"HCHO\",\n code: \"jiaquan\",\n unit: \"mg/m³\",\n },\n {\n id: 0,\n name: \"CO₂\",\n bgColor: \"\",\n num: \"\",\n level: \"\",\n img: \"co2.svg\",\n funcid: \"CO2\",\n code: \"co2\",\n unit: \"ppm\",\n },\n {\n id: 1,\n name: \"PM2.5\",\n bgColor: \"\",\n num: \"\",\n level: \"\",\n funcid: \"PM2d5\",\n img: \"pm2.5.svg\",\n code: \"pm25\",\n unit: \"ug/m³\",\n },\n {\n id: 3,\n name: \"湿度\",\n bgColor: \"\",\n img: \"humidity.svg\",\n num: \"\",\n level: \"\",\n funcid: \"Tdb,RH\",\n code: \"shidu\",\n unit: \"%\",\n },\n ];\n let scenarioArr: any = [];\n let sceneConfigTimer: any = [];\n let realEevList: any = []; // 解决v-if报错的问题临时使用\n let workkArr: any = [];\n let spaceData: any = [];\n let secenTimer: any = {};\n let nowDate: any = formatDate(\"YYYY.MM.DD HH:mm\");\n let nowWeek: any = getNowWeek();\n let padImgData: any = [];\n let controlMode: number = 0;\n let deviceItem: any = null;\n let allDevice: any = [];\n let spaceEquipList: any = [];\n let equipTimer: any = null;\n const proxyData = reactive({\n equipTimer: equipTimer,\n seviceEquipmentList: allDevice, // 所有的设备\n spaceEquipList: spaceEquipList,\n enterType: 1,\n deviceItem: deviceItem,\n parseImgUrl: parseImgUrl,\n fileUrl: proxyGlobal.proxy.$fileUrl,\n nowDate: nowDate,\n nowWeek: nowWeek,\n isShowWork: false,\n isShowMetting: false,\n localName: \"\",\n airTemp: \"\",\n userIsControl: true,\n spaceModelTimer: spaceModelTimer,\n spaceTempTimer: spaceTempTimer,\n userSpaceInfo: userSpaceInfo,\n spaceTimer: spaceTimer,\n workInfo: workInfo,\n intervalTimer: intervalTimer,\n roomType: \"\",\n showSpaceTip: false,\n mapOpacity: 0,\n opacityV: 1,\n childRef: childRef,\n hideTopImg: false,\n isBottom: false,\n isScrool: false,\n officeData: officeData,\n popList: popList,\n popupType: \"scenario\",\n showSecenDetailDalig: false,\n sceneDetail: sceneDetail,\n showScenario: false,\n projectId: projectId,\n spaceInfo: spaceInfo,\n headerInfo: headerInfo,\n topbgimg: \"\",\n userInfo: userInfo,\n deviceIcon: \"arrow\",\n visible: false,\n outWeather: outWeather,\n vanPopupIndex: \"\",\n spaceEqFlagObj: spaceEqFlagObj,\n spaceExistenceDevice: spaceExistenceDevice,\n listOffice: [\n {\n id: 0,\n name: \"工作\",\n code: \"work\",\n img: \"scene_work.svg\",\n checked: true,\n textObj: [\n {\n text: \"办公区灯光已全部为您开启\",\n status: \"ok\",\n },\n {\n text: \"正在将温度调至 26℃\",\n status: \"ok\",\n },\n {\n text: \"窗帘已为您全部打开\",\n status: \"ok\",\n },\n {\n text: \"饮用水已为您准备\",\n status: \"ok\",\n },\n ],\n },\n {\n id: 1,\n name: \"会客\",\n code: \"guest\",\n img: \"scene_visitor.svg\",\n checked: false,\n textObj: [\n {\n text: \"会客区照明已为您开启\",\n status: \"ok\",\n },\n {\n text: \"空调已为您切换至会客温度,目标温度24℃\",\n status: \"ok\",\n },\n {\n text: \"窗帘已为您全部开启\",\n status: \"ok\",\n },\n {\n text: \"演示设备已为您准备\",\n status: \"ok\",\n },\n {\n text: \"饮用水已为您准备\",\n status: \"ok\",\n },\n ],\n },\n {\n id: 2,\n name: \"休息\",\n code: \"rest\",\n img: \"scene_rest.svg\",\n checked: false,\n textObj: [\n {\n text: \"主灯已关闭,氛围灯将为您开启\",\n status: \"ok\",\n },\n {\n text: \"空调将为您调节至适宜休息的温度,目标温度26℃\",\n status: \"ok\",\n },\n {\n text: \"窗帘已为您全部关闭\",\n status: \"ok\",\n },\n ],\n },\n ],\n listSen: listSen,\n isACATVA: false,\n showWorkOff: false, // 开放办公室的 提前关闭是否展示\n envlist: envlist,\n realEevList: realEevList,\n navList: [\n {\n top: 0,\n id: \"airId\",\n code: \"air\",\n name: \"温度/湿度\",\n noShow: true,\n img: parseImgUrl(\"page-officehome\", \"temp.png\"),\n activeImg: parseImgUrl(\"page-officehome\", \"temp_active.svg\"),\n },\n {\n top: 0,\n id: \"lightId\",\n code: \"lamp\",\n name: \"光照\",\n noShow: false,\n img: parseImgUrl(\"page-officehome\", \"lamp.png\"),\n activeImg: parseImgUrl(\"page-officehome\", \"lamp_active.svg\"),\n },\n {\n top: 0,\n id: \"curtainId\",\n code: \"curtain\",\n name: \"窗帘\",\n noShow: false,\n img: parseImgUrl(\"page-officehome\", \"curtain-nav.svg\"),\n activeImg: parseImgUrl(\"page-officehome\", \"curtain-nav-active.svg\"),\n },\n {\n top: 0,\n id: 4,\n code: \"mySpace\",\n name: \"常驻空间\",\n noShow: false,\n activeImg: parseImgUrl(\"page-officehome\", \"mySpaceIcon.svg\"),\n img: parseImgUrl(\"page-officehome\", \"mySpaceIcon.svg\"),\n },\n {\n top: 0,\n id: 5,\n code: \"switchSpace\",\n name: \"我的\",\n noShow: true,\n activeImg: parseImgUrl(\"page-officehome\", \"mapIcon.png\"),\n img: parseImgUrl(\"page-officehome\", \"mapIcon.png\"),\n },\n ],\n // 上班=ATWORK 讨论=DISCUSSING 投影=PROJECTING 散会=ADJOURNMENT 下班=OFFWORK\n meetingRoomSence: [\n {\n code: \"DISCUSSING\",\n name: \"讨论\",\n },\n {\n code: \"PROJECTING\",\n name: \"演示\",\n },\n {\n code: \"ADJOURNMENT\",\n name: \"散会\",\n },\n ],\n nextCusStartTime: 0, // 第二天服务定制开始时间\n cusEndTime: 0,\n cusStartTime: 0, // 当天服务定制-开始时间\n isShowContact: false,\n showContact() {\n proxyData.isShowContact = true;\n },\n isLightColorFlag: false,\n lightData: lightData,\n // 展示调光,调温弹窗\n showLightColorCtrol(lightData: any) {\n proxyData.isLightColorFlag = true;\n proxyData.lightData = lightData;\n },\n closeContactDailog() {\n proxyData.isShowContact = false;\n },\n padBgImg: \"\",\n // 设置平板背景图\n // reviewBaseUrl: `/image-service/common/file_get?systemId=dataPlatform`,\n setPadBgImg() {\n if (\n proxyData.padImgData.isBgDefault === 0 &&\n proxyData.padImgData.bgImage &&\n proxyData.padImgData.bgImage.fileId\n ) {\n proxyData.padBgImg =\n proxyData.fileUrl + `&key=${proxyData.padImgData.bgImage.fileId}`;\n } else {\n // debugger;\n if (proxyData.roomType == \"个人\") {\n proxyData.padBgImg = parseImgUrl(\"ipdImages\", \"pad_img2.png\");\n } else if (proxyData.roomType === \"会议室\") {\n proxyData.padBgImg = parseImgUrl(\"ipdImages\", \"pad_img3.png\");\n } else if (proxyData.roomType === \"开放\") {\n proxyData.padBgImg = parseImgUrl(\"ipdImages\", \"pad_img1.png\");\n } else {\n proxyData.padBgImg = parseImgUrl(\"ipdImages\", \"pad_img1.png\");\n }\n }\n },\n logImg: \"\",\n // 设置平板logo\n setPadLogo() {\n if (\n proxyData.padImgData.isLogoDefault === 0 &&\n proxyData.padImgData.logoImage &&\n proxyData.padImgData.logoImage.fileId\n ) {\n // 公司提供的\n proxyData.logImg =\n proxyData.fileUrl + `&key=${proxyData.padImgData.logoImage.fileId}`;\n } else {\n proxyData.logImg = \"\";\n }\n },\n padImgData: padImgData,\n padNumber: 0,\n // 获取pad的背景图\n getPadImg() {\n let params: any = {\n funcType: proxyData.officeData.roomFuncType,\n spaceId: proxyData.spaceInfo.spaceId,\n };\n let str: any = setQueryConfig(params);\n // debugger;\n if (proxyData.padNumber < 1) {\n proxyData.padNumber = 1;\n getPadImg(str).then((res) => {\n if (res.result === \"success\") {\n proxyData.padImgData = res.data;\n proxyData.setPadBgImg(); // 设置平板背景\n proxyData.setPadLogo(); // 设置平板logo\n }\n });\n }\n },\n /**\n * 加班\n */\n triggerWork(type: any = 1, deviceItem: any = null) {\n // console.log(type);\n proxyData.enterType = type;\n proxyData.deviceItem = deviceItem || null;\n proxyData.isShowWork = true;\n },\n // 关于手动控制是否展示加班弹窗的问题处理\n checkDeviceShowWork() {\n proxyData.spaceEquipList.map((item: any) => {\n item.id = item.equipmentId;\n });\n proxyData.seviceEquipmentList = proxyData.spaceEquipList;\n },\n /**\n * 关闭加班\n */\n closeWork() {\n proxyData.isShowWork = false;\n // console.log(\"关闭加班功能---\");\n proxyData.queryCustomAndScenceTimer(0);\n },\n forceOverTimeFlag: false,\n setForceOverTimeFlag(flag: any) {\n // debugger\n if (proxyData.roomType === \"开放\" && flag) {\n proxyData.forceOverTimeFlag = true;\n } else {\n proxyData.forceOverTimeFlag = false;\n }\n },\n // 获取公司信息\n async getCompanyInfo() {\n const res: any = await getCompanyInfo({ companyId: Keys.companyKey });\n const data = res.data;\n // store.commit(UserMutationTypes.SET_PROJECT_ID, 'Pj1101080259')\n // const location: any = data.sagaCareCoords.split(',')\n // const targetLocationInfo: any = {\n // longitude: location[0],\n // latitude: location[1]\n // }\n // console.log(targetLocationInfo)\n },\n weatherTimer: weatherTimer,\n getWeatherTimer(timer: any = 3600000) {\n proxyData.weatherTimer = setTimeout(() => {\n clearTimeout(proxyData.weatherTimer);\n proxyData.getWeather();\n }, timer);\n },\n // 获取天气信息\n getWeather() {\n const params: any = {\n openid: proxyData.userInfo.openid,\n pubname: proxyData.userInfo.pubname,\n projectId: store.state.user.projectId,\n };\n const str: string = setQueryConfig(params);\n getWeather(str).then((res) => {\n const content: any = res?.content ?? {};\n proxyData.outWeather = content;\n const text: string = content.text;\n proxyData.getWeatherIcon(text);\n proxyData.getnowTime(text);\n proxyData.getWeatherTimer();\n });\n },\n // 设置当前背景图\n getnowTime(text: string) {\n // 头部背景图片\n const now = getHours();\n if (text.indexOf(\"霾\") > -1) {\n proxyData.topbgimg = parseImgUrl(\"weather\", \"office_smog.jpg\");\n } else {\n if (now >= 6 && now < 19) {\n // 白天\n proxyData.topbgimg = parseImgUrl(\"weather\", \"office_bright.jpg\");\n } else {\n // 夜晚\n proxyData.topbgimg = parseImgUrl(\"weather\", \"office_night.jpg\");\n }\n }\n },\n // 设置天气icon\n getWeatherIcon(text: string) {\n if (text && text.indexOf(\"晴\") > -1) {\n proxyData.outWeather.imgname = parseImgUrl(\"weather\", \"sun.png\");\n } else if (text && text.indexOf(\"雨\") > -1) {\n proxyData.outWeather.imgname = parseImgUrl(\"weather\", \"rain.png\");\n } else if (\n (text && text.indexOf(\"阴\") > -1) ||\n text.indexOf(\"云\") > -1\n ) {\n proxyData.outWeather.imgname = parseImgUrl(\"weather\", \"cloudy.png\");\n } else if (text && text.indexOf(\"霾\") > -1) {\n proxyData.outWeather.imgname = parseImgUrl(\"weather\", \"mai.png\");\n } else if (text && text.indexOf(\"雾\") > -1) {\n proxyData.outWeather.imgname = parseImgUrl(\"weather\", \"fog.png\");\n } else if (text && text.indexOf(\"风\") > -1) {\n proxyData.outWeather.imgname = parseImgUrl(\"weather\", \"wind.png\");\n } else if (text && text.indexOf(\"雷\") > -1) {\n proxyData.outWeather.imgname = parseImgUrl(\"weather\", \"thunder.png\");\n } else {\n proxyData.outWeather.imgname = parseImgUrl(\"weather\", \"sun.png\");\n }\n },\n // 判断空间类型\n checkSpaceType(roomFuncType: string) {\n let roomType: any = getWorkType(roomFuncType);\n if (roomType === \"个人\") {\n proxyData.roomType = \"个人\";\n proxyData.headerInfo.headImg = parseImgUrl(\n \"page-officehome\",\n \"office_person_2.png\"\n );\n proxyData.headerInfo.headScene = \"工作\";\n proxyData.popList = proxyData.listOffice;\n } else if (roomType === \"会议室\") {\n proxyData.roomType = \"会议室\";\n proxyData.popList = JSON.parse(JSON.stringify(proxyData.listSen));\n proxyData.headerInfo.headImg = parseImgUrl(\n \"page-officehome\",\n \"office_normal_2.png\"\n );\n // 获取会议室场\n proxyData.getPageMeetingSceneHttp();\n } else if (roomType === \"开放\") {\n // debugger\n proxyData.roomType = \"开放\";\n proxyData.headerInfo.headImg = parseImgUrl(\n \"page-officehome\",\n \"office_publi_2.png\"\n );\n } else {\n proxyData.roomType = \"其它\";\n proxyData.headerInfo.headImg = parseImgUrl(\n \"page-officehome\",\n \"office_publi_2.png\"\n );\n }\n if (roomType !== \"会议室\") {\n proxyData.timerSpaceInfo();\n }\n },\n /**\n * 检查用户可使用的权限\n */\n checkUserSpace() {\n let flag: any = false;\n // let flag: any = true\n for (let i = 0; i < proxyData.userSpaceInfo.length; i++) {\n if (\n proxyData.spaceInfo.spaceId === proxyData.userSpaceInfo[i].sp_id\n ) {\n flag = true;\n break;\n }\n }\n proxyData.userIsControl = flag;\n },\n /**\n * 获取用户控制权限\n */\n getUserControlAuth() {\n getUserControlAuth()\n .then((res) => {\n let resData: any = res;\n if (resData.result === \"success\") {\n proxyData.userSpaceInfo = resData.data;\n } else {\n proxyData.userSpaceInfo = [];\n }\n proxyData.checkUserSpace();\n })\n .catch(() => {\n proxyData.userSpaceInfo = [];\n proxyData.checkUserSpace();\n });\n },\n controlMode: controlMode, // 当前空间的模式 0:自动控制 1:手动控制\n // 获取空间信息\n getSpaceInfo() {\n // const userInfo =\n const data: any = {\n criteria: {\n spaceId: proxyData.spaceInfo.spaceId,\n projectId: proxyData.userInfo.projectId,\n },\n pubname: proxyData.userInfo.pubname,\n openid: proxyData.userInfo.openid,\n };\n getSpaceInfo(data)\n .then((res) => {\n const content: any = res?.content ?? [];\n console.log(\"timer===\", 1);\n if (content[0]) {\n proxyData.officeData = content[0];\n }\n proxyData.officeData = proxyData.officeData\n ? proxyData.officeData\n : {};\n if (proxyData.officeData.localName) {\n proxyData.localName = proxyData.officeData.localName;\n }\n if (proxyData.officeData.temperature) {\n proxyData.officeData.temperature =\n proxyData.officeData.temperature.toFixed(1) * 1;\n }\n // proxyData.controlMode = proxyData.officeData.controlMode || 1;\n proxyData.controlMode = proxyData.officeData.controlMode;\n // 环境数据\n proxyData.checkSpaceType(proxyData.officeData.roomFuncType);\n proxyData.formatSpaceInfo(content);\n proxyData.getPadImg();\n // proxyData.setPageheight()\n proxyData.loadinngEnd();\n // 获取pad的背景图\n })\n .catch(() => {\n proxyData.loadinngEnd();\n proxyData.timerSpaceInfo();\n });\n },\n // 定时调获取空调接口\n getSpaceModeTimer() {\n proxyData.spaceModelTimer = setTimeout(() => {\n proxyData.getSpaceMode();\n clearTimeout(proxyData.spaceModelTimer);\n proxyData.spaceModelTimer = null;\n }, 1000);\n },\n // 获取运行模式\n getSpaceMode() {\n getSpaceMode()\n .then((res) => {\n proxyData.getSpaceModeTimer();\n })\n .catch(() => {\n proxyData.getSpaceModeTimer();\n });\n },\n // 定时调用获取温度\n getSpaceTempTimer() {\n proxyData.spaceTempTimer = setTimeout(() => {\n clearTimeout(proxyData.spaceTempTimer);\n proxyData.spaceTempTimer = null;\n proxyData.getSpaceTemp();\n });\n },\n // 获取空间空调设备温度\n getSpaceTemp() {\n getSpaceTemp()\n .then((res) => {\n proxyData.getSpaceTempTimer();\n })\n .catch(() => {\n proxyData.getSpaceTempTimer();\n });\n },\n // 设置环境参数的背景颜色\n setEnvBg(key: any, text: any) {\n let bgColor: any = \"\";\n if (key === \"humidity\") {\n // 湿度\n if (text === \"干燥\" || text === \"潮湿\") {\n bgColor =\n \"linear-gradient(180deg, rgba(205, 11, 0, 0) 0%, #CD0B00 100%)\";\n } else {\n bgColor = \"\";\n }\n } else if (key === \"hcho\") {\n // 甲醛\n if (text === \"超标\") {\n bgColor =\n \"linear-gradient(180deg, rgba(205, 11, 0, 0) 0%, #CD0B00 100%)\";\n } else {\n bgColor = \"\";\n }\n } else if (key === \"co2\") {\n if (text === \"略高\") {\n bgColor =\n \"linear-gradient(180deg, rgba(205, 11, 0, 0.5) 0%, #CD0B00 100%)\";\n } else if (text === \"超标\") {\n bgColor =\n \"linear-gradient(180deg, rgba(205, 11, 0, 1) 0%, #CD0B00 100%)\";\n } else {\n bgColor = \"\";\n }\n } else if (key === \"pm25\") {\n if (text === \"良\") {\n // bgColor =\n // \"linear-gradient(180deg, rgba(205, 11, 0, 0.2) 0%, #CD0B00 100%)\";\n bgColor = \"\";\n } else if (text === \"轻度污染\") {\n bgColor =\n \"linear-gradient(180deg, rgba(205, 11, 0, 0.2) 0%, #CD0B00 100%)\";\n } else if (text === \"中度污染\") {\n bgColor =\n \"linear-gradient(180deg, rgba(205, 11, 0, 0.5) 0%, #CD0B00 100%)\";\n } else if (text === \"重度污染\") {\n bgColor =\n \"linear-gradient(180deg, rgba(205, 11, 0, 0.8) 0%, #CD0B00 100%)\";\n } else if (text === \"严重污染\") {\n bgColor =\n \"linear-gradient(180deg, rgba(205, 11, 0, 1) 0%, #CD0B00 100%)\";\n } else {\n bgColor = \"\";\n }\n }\n return bgColor;\n },\n // 格式化环境数据(处理环境数据展示的级别)\n checkLevel(value: string, name: string) {\n let objList = {\n humidity: {\n range: [30, 70],\n text: [\"干燥\", \"健康\", \"潮湿\"],\n },\n co2: {\n range: [800, 1000, 1500],\n text: [\"健康\", \"达标\", \"略高\", \"超标\"],\n },\n pm25: {\n range: [35, 75, 115, 150, 250],\n text: [\n \"健康\",\n \"良\",\n \"轻度污染\",\n \"中度污染\",\n \"重度污染\",\n \"严重污染\",\n ],\n },\n hcho: {\n range: [0.1],\n text: [\"健康\", \"超标\"],\n },\n };\n // let sortArr = [value, ...objList[name].range].sort((a, b) => {\n // return a - b;\n // });\n // let rangeArr:any=objList[name].range\n // rangeArr.map((item:any)=>{\n\n // })\n let levelTxt: any = \"\";\n let valueNum: any = parseFloat(value);\n if (valueNum) {\n if (name == \"humidity\") {\n if (valueNum < 30) {\n levelTxt = \"干燥\";\n } else if (valueNum > 70) {\n levelTxt = \"潮湿\";\n } else {\n levelTxt = \"健康\";\n }\n } else if (name == \"co2\") {\n if (valueNum <= 800) {\n levelTxt = \"健康\";\n } else if (valueNum > 800 && valueNum <= 1000) {\n levelTxt = \"达标\";\n } else if (valueNum > 1000 && valueNum <= 1500) {\n levelTxt = \"略高\";\n } else if (valueNum > 1500) {\n levelTxt = \"超标\";\n }\n }\n } else if (name == \"pm25\") {\n if (valueNum >= 0 && valueNum < 35) {\n levelTxt = \"健康\";\n } else if (valueNum >= 35 && valueNum <= 75) {\n levelTxt = \"良\";\n } else if (valueNum > 75 && valueNum <= 115) {\n levelTxt = \"轻度污染\";\n } else if (valueNum > 115 && valueNum <= 150) {\n levelTxt = \"中度污染\";\n } else if (valueNum > 150 && valueNum <= 250) {\n levelTxt = \"重度污染\";\n } else if (valueNum > 250) {\n levelTxt = \"严重污染\";\n }\n } else if (name == \"hcho\") {\n if (valueNum <= 0.1) {\n levelTxt = \"健康\";\n } else {\n levelTxt = \"超标\";\n }\n }\n\n // let level = sortArr.findIndex((item) => item === value);\n // let levelTxt = objList[name].text[level];\n // console.log(\"sortArr==\", sortArr);\n\n let bgColor: any = proxyData.setEnvBg(name, levelTxt);\n return {\n levelTxt,\n bgColor,\n };\n },\n /**\n *设置当前页面的高度\n */\n setPageheight() {\n nextTick(() => {\n document.getElementById(\"envBox\").style.height =\n document.getElementById(\"envBox\").offsetHeight + \"px\";\n });\n },\n // 空间信息数据格式化\n formatSpaceInfo(content: any = []) {\n for (let i = 0; i < content.length; i++) {\n let item = content[i];\n if (item.co2 || item.co2 == 0) {\n let obj: any = proxyData.checkLevel(item.co2, \"co2\");\n // proxyData.envlist[1].level = obj.levelTxt;\n proxyData.envlist[1].bgColor = obj.bgColor;\n proxyData.envlist[1].num = item.co2;\n } else {\n // proxyData.envlist[1].level = \"--\";\n proxyData.envlist[1].num = \"--\";\n proxyData.envlist[1].bgColor = \"\";\n }\n if (item.pm25 || item.pm25 === 0) {\n let obj: any = proxyData.checkLevel(item.pm25, \"pm25\");\n // proxyData.envlist[2].level = obj.levelTxt;\n proxyData.envlist[2].bgColor = obj.bgColor;\n proxyData.envlist[2].num = item.pm25;\n } else {\n // proxyData.envlist[2].level = \"--\";\n proxyData.envlist[2].num = \"--\";\n proxyData.envlist[2].bgColor = \"\";\n }\n if (item.hcho || item.hcho == 0) {\n let obj: any = proxyData.checkLevel(item.hcho, \"hcho\");\n // proxyData.envlist[0].level = obj.levelTxt;\n proxyData.envlist[0].bgColor = obj.bgColor;\n proxyData.envlist[0].num = item.hcho.toFixed(2);\n } else {\n // proxyData.envlist[0].level = \"--\";\n proxyData.envlist[0].num = \"--\";\n proxyData.envlist[0].bgColor = \"\";\n }\n if (item.humidity || item.humidity == 0) {\n let obj: any = proxyData.checkLevel(item.humidity, \"humidity\");\n // proxyData.envlist[3].level = obj.levelTxt;\n proxyData.envlist[3].bgColor = obj.bgColor;\n proxyData.envlist[3].num = item.humidity.toFixed(0);\n } else {\n // proxyData.envlist[3].level = \"--\";\n proxyData.envlist[3].num = \"--\";\n proxyData.envlist[3].bgColor = \"\";\n }\n }\n },\n activeType: \"\", // 当前会议室场景\n // 获取会议室场景(如果是会议室的才调此接口)\n getPageMeetingSceneHttp() {\n const params: { spaceId: string } = {\n spaceId: proxyData.spaceInfo.spaceId,\n };\n getMeetingSceneHttp(params)\n .then((res) => {\n let resSen: string = res?.content ?? \"\";\n if (resSen === \"OFFWORK\") {\n resSen = \"ADJOURNMENT\";\n }\n proxyData.activeType = resSen;\n // 定时调空间数据\n proxyData.timerSpaceInfo();\n })\n .catch(() => {\n proxyData.timerSpaceInfo();\n });\n },\n // 切换场景的状态\n secenaroStatus: secenaroStatus,\n // 设置场景名称\n setHeadScene(item: any, flag: any) {\n proxyData.activeType = item.sceneType;\n if (flag == 1) {\n proxyData.isShowMetting = true;\n }\n proxyData.secenaroStatus = {\n localName: proxyData.officeData.localName,\n loading: item.loading,\n lodingText: item.lodingText,\n sceneName: item.sceneName,\n };\n },\n closeDailog() {\n proxyData.isShowMetting = false;\n },\n isShowDetail: false,\n detailQuery: detailQuery,\n handleDetail(item: any) {\n proxyData.isShowDetail = true;\n proxyData.detailQuery.funcid = item.funcid;\n proxyData.detailQuery.spaceId = proxyData.spaceInfo.spaceId;\n // router.push({\n // path: '/envmonitor-detail',\n // query: {\n // funcid: item.funcid,\n // spaceId: proxyData.spaceInfo.spaceId\n // }\n // })\n },\n // 获取空调设备温度\n updateAirTemp(airTemp: any) {\n proxyData.airTemp = airTemp;\n proxyData.setHeadSceneAirTemp();\n },\n // 设置场景切换时候的温度\n setHeadSceneAirTemp() {\n if (\n proxyData.sceneDetail &&\n proxyData.sceneDetail.textObj &&\n proxyData.sceneDetail.textObj.length\n ) {\n if (\n proxyData.airTemp &&\n (proxyData.sceneDetail.code == \"DISCUSSING\" ||\n proxyData.sceneDetail.code == \"PROJECTING\")\n ) {\n for (let i = 0; i < proxyData.sceneDetail.textObj.length; i++) {\n let item: any = proxyData.sceneDetail.textObj;\n if (item.type === \"air\") {\n item.text = item.text + \",目标温度\" + proxyData.airTemp;\n }\n }\n }\n }\n },\n // 提前关闭\n handlePreClose() {\n let endDate: any = formatDate();\n let endTime: any = getHours();\n if (endTime < 10) {\n endTime = `0${endTime}`;\n }\n const params = {\n projectId: proxyData.projectId,\n objectId: proxyData.spaceInfo.spaceId, // 空间ID\n endDate: endDate, // 结束日期 \"20210310\",\n endTime: endTime + \"0000\", // 结束时间 \"090000\"\n type: 3, // 0 预约加班,1 取消,2 我来了/确定, 3 我走了\n };\n changeSetTimeHttp(params).then((res) => {\n const resData: any = res;\n if (resData.result == \"success\") {\n proxyData.changeLampStatus();\n }\n });\n },\n // 提前关闭更改状态\n changeLampStatus() {\n proxyData.showWorkOff = false;\n proxyData.headerInfo.tipText = \"选择工作结束时间\";\n proxyData.headerInfo.tipTextSwatch = true;\n },\n equimentsTimer: equimentsTimer,\n // 获取空间下的设备信息\n getEquipments() {\n let params: { spaceId: string } = {\n spaceId: proxyData.spaceInfo.spaceId,\n // projectId: proxyData.projectId,\n };\n let queryParams: any = setQueryConfig(params);\n getSpaceEquipType(queryParams).then((res) => {\n let resData: any = res;\n if (resData.result === \"success\") {\n let data: any = resData?.data ?? [];\n for (let key in proxyData.spaceExistenceDevice) {\n let flag: any = false;\n for (let i = 0; i < data.length; i++) {\n if (key == data[i]) {\n flag = true;\n }\n }\n proxyData.spaceExistenceDevice[key] = flag;\n }\n // app端底部的导航判断\n if (proxyData.spaceExistenceDevice.light) {\n proxyData.navList[1].noShow = true;\n } else {\n proxyData.navList[1].noShow = false;\n }\n if (proxyData.spaceExistenceDevice.curtain) {\n proxyData.navList[2].noShow = true;\n } else {\n proxyData.navList[2].noShow = false;\n }\n }\n });\n },\n // 时间格式转换\n hourMiChange(tempStr: number) {\n // 转为时间 19.3 - 19:30 19.41-19:41 19-19:00\n let str = tempStr.toString();\n let newStr = \"\";\n let dLen = str.length > 2 ? str.split(\".\")[1].length : str;\n if (dLen === 1) {\n str = str.replace(\".\", \"\") + \"0\";\n newStr = str.slice(0, 2) + \":\" + str.slice(2);\n } else if (dLen === 2) {\n str = str.replace(\".\", \"\");\n newStr = str.slice(0, 2) + \":\" + str.slice(2);\n } else {\n newStr = str + \":00\";\n }\n return newStr;\n },\n // 点击切换会议室场景\n handlePopup(type: string = \"scenario\") {\n if (proxyData.userIsControl) {\n proxyData.showScenario = !proxyData.showScenario;\n if (proxyData.showScenario) {\n proxyData.deviceIcon = \"arrow-down\";\n } else {\n proxyData.deviceIcon = \"arrow\";\n }\n proxyData.popupType = type;\n } else {\n Toast(\"您没有当前空间的控制权限!\");\n }\n },\n // 切换空间\n triggerCheckSpace() {\n let ele: any = document.getElementById(\"envContent\");\n let houseEle: any = document.getElementById(\"houseDes\");\n let houseHeight: any = houseEle.offsetHeight;\n proxyData.opacityV = 0;\n proxyData.mapOpacity = 1;\n ele.scrollTop = 0;\n let top: any = 0;\n let interval: any = setInterval(() => {\n top = top + 15;\n if (top < screenHeight - houseHeight) {\n ele.style.top = top + \"px\";\n } else {\n ele.style.top = screenHeight - houseHeight + \"px\";\n clearInterval(interval);\n }\n }, 10);\n proxyData.hideTopImg = true;\n proxyData.isBottom = true;\n },\n /**\n * 加载loading\n */\n loadingStart() {\n Toast.loading({\n duration: 0, // 持续展示 toast\n forbidClick: true,\n message: \"加载中...\",\n });\n },\n /**\n * 结束\n */\n loadinngEnd() {\n Toast.clear();\n },\n // 清除定时器\n clearTimerSpaceInfo() {\n clearTimeout(proxyData.spaceTimer);\n proxyData.spaceTimer = null;\n },\n // 定时调空间\n timerSpaceInfo(timer: any = 5000) {\n proxyData.spaceTimer = setTimeout(() => {\n proxyData.getSpaceInfo();\n proxyData.clearTimerSpaceInfo();\n }, timer);\n },\n isWork: false,\n isMetting: false,\n // 判断对应的办公室的场景展示\n checkIsSpaceScene() {\n proxyData.scenarioArr.map((item: any) => {\n if (item.sceneType === \"OVERTIME\") {\n proxyData.isWork = true;\n }\n });\n },\n /**\n * 获取场景列表\n */\n scenarioArr: scenarioArr,\n sceneConfigTimer: sceneConfigTimer,\n clearSceneConfigTimer() {\n clearTimeout(proxyData.sceneConfigTimer);\n },\n // 定时获取场景的配置\n querySpaceSceneConfigTimer(timer: any = 600000) {\n proxyData.clearSceneConfigTimer();\n proxyData.sceneConfigTimer = setTimeout(() => {\n proxyData.querySpaceSceneConfig();\n proxyData.clearSceneConfigTimer();\n }, timer);\n },\n // 场景数据\n querySpaceSceneConfig() {\n let params: any = {\n spaceId: proxyData.spaceInfo.spaceId,\n };\n let str: any = setQueryConfig(params);\n // debugger;\n querySpaceSceneConfig(str)\n .then((res) => {\n let resData: any = res;\n let data: any = resData?.data ?? [];\n proxyData.scenarioArr = data;\n proxyData.checkIsSpaceScene();\n proxyData.querySpaceSceneConfigTimer();\n })\n .catch((error: any) => {\n proxyData.querySpaceSceneConfigTimer();\n });\n },\n /**\n *查询空间加班记录\n */\n workkArr: workkArr,\n secenTimer: secenTimer,\n // 清除查询加班记录的定时器\n clearSecenTimer() {\n clearTimeout(proxyData.secenTimer);\n proxyData.secenTimer = null;\n },\n // 清除定时器\n clearEquipTimer() {\n clearTimeout(proxyData.equipTimer);\n proxyData.equipTimer = null;\n },\n // 定时器\n getSpaceEquipListTimer(timerLen: any = 600000) {\n proxyData.clearEquipTimer();\n proxyData.equipTimer = setTimeout(() => {\n proxyData.getSpaceEquipList();\n proxyData.clearEquipTimer();\n }, timerLen);\n },\n // 查询空间下面受控的设备\n getSpaceEquipList() {\n let params: any = {\n spaceId: proxyData.spaceInfo.spaceId,\n };\n let str: any = setQueryConfig(params);\n getSpaceEquipList(str)\n .then((res: any) => {\n let data: any = res.data || [];\n proxyData.spaceEquipList = data;\n proxyData.checkDeviceShowWork(); // 判断手动控制的设备是否要开启手动控制功能\n proxyData.getSpaceEquipListTimer();\n })\n .catch((error: any) => {\n proxyData.getSpaceEquipListTimer();\n });\n },\n // 定时查空间的加班记录\n queryCustomAndScenceTimer(timer: any = 10000) {\n proxyData.clearSecenTimer();\n proxyData.secenTimer = setTimeout(() => {\n proxyData.queryCustomAndScence();\n proxyData.clearSecenTimer();\n }, timer);\n },\n // 定时查空间的加班记录\n queryCustomAndScence() {\n let params: any = {\n spaceId: proxyData.spaceInfo.spaceId,\n };\n let str: any = setQueryConfig(params);\n queryCustomAndScence(str)\n .then((res) => {\n let resData: any = res?.data ?? [];\n\n for (let i = 0; i < resData.length; i++) {\n let customSceneList: any = resData[i]?.customSceneList ?? [];\n customSceneList = customSceneList.sort(proxyData.compare);\n }\n // 手动控制的情况下走新的服务定制\n proxyData.workkArr = resData;\n proxyData.formateManualWorkTime();\n\n proxyData.queryCustomAndScenceTimer();\n })\n .catch(() => {\n proxyData.queryCustomAndScenceTimer();\n });\n },\n // 数组排序\n compare(obj1: any, obj2: any) {\n var val1 = obj1.startTime;\n var val2 = obj2.startTime;\n if (val1 < val2) {\n return -1;\n } else if (val1 > val2) {\n return 1;\n } else {\n return 0;\n }\n },\n // 格式化当前页面展示的时间\n // 手动控制加班处理时间段拼接的逻辑\n formateManualWorkTime() {\n // debugger\n let data: any = proxyData.workkArr || [];\n for (let i = 0; i < data.length; i++) {\n let item: any = data[i];\n let spaceCustomContentList: any =\n data[i].spaceCustomContentList || [];\n if (spaceCustomContentList && spaceCustomContentList.length) {\n spaceCustomContentList = spaceCustomContentList.sort(\n proxyData.compare\n );\n item.spaceCustomContentList = spaceCustomContentList;\n let nowTime: any = getRelNowTime();\n let nowDate: any = formatDate(\"YYYY-MM-DD\");\n let date: any = formatDateStr(data[i].date);\n item.cusStartTime = spaceCustomContentList[0]\n ? spaceCustomContentList[0].startTime\n : \"\";\n item.cusEndTime = spaceCustomContentList[0]\n ? spaceCustomContentList[0].endTime\n : \"\";\n if (nowDate == date) {\n // 当前时间\n item.cusStartTime = \"\";\n item.cusEndTime = \"\";\n }\n for (let j = 0; j < spaceCustomContentList.length; j++) {\n if (item.cusStartTime && item.cusEndTime) {\n if (\n item.cusEndTime + 1 ===\n spaceCustomContentList[j].startTime\n ) {\n item.cusEndTime = spaceCustomContentList[j].endTime;\n }\n } else {\n if (\n nowTime >= spaceCustomContentList[j].startTime &&\n nowTime <= spaceCustomContentList[j].endTime\n ) {\n item.cusStartTime = spaceCustomContentList[j].startTime;\n item.cusEndTime = spaceCustomContentList[j].endTime;\n }\n }\n }\n if (!item.cusStartTime) {\n item.cusStartTime = spaceCustomContentList[0]\n ? spaceCustomContentList[0].startTime\n : \"\";\n item.cusEndTime = spaceCustomContentList[0]\n ? spaceCustomContentList[0].endTime\n : \"\";\n }\n }\n }\n },\n /**\n * 空间相关的接口\n */\n init() {\n proxyData.padNumber = 0;\n // proxyData.roomType = \"\";\n // 获取场景配置\n proxyData.getSpaceInfo();\n // 动态获取场景配置\n proxyData.querySpaceSceneConfig();\n // 获取空间下受控设备\n proxyData.getSpaceEquipList();\n // 查询加班记录\n proxyData.queryCustomAndScenceTimer(0);\n // 获取空间下的设备信息\n proxyData.getEquipments();\n },\n /**\n *删除参数\n */\n updatePageUrl() {\n let history: any = window.history;\n let url: any = window.location.origin + window.location.pathname;\n history.replaceState(\"\", \"\", url);\n },\n // 平板当前空间\n spaceData: spaceData,\n copySpaceData: spaceData,\n floorId: \"\",\n buildingId: \"\",\n // 获取pad当前绑定的空间\n queryWorkSpace() {\n let params: any = {\n criteria: {\n //类型:Object 必有字段 备注:无\n projectId: proxyData.userInfo.projectId,\n spaceName: \"\",\n macAddress: proxyData.userInfo.mac, //类型:String 必有字段 备注:mac地址\n },\n orders: [\n //类型:Array 必有字段 备注:无\n {\n //类型:Object 必有字段 备注:无\n column: \"isMajorSpace\", //类型:String 必有字段 备注:无\n asc: false, //类型:Boolean 必有字段 备注:无\n },\n ],\n };\n queryWorkSpace(params).then((res) => {\n let resData: any = res;\n if (resData.result === \"success\") {\n proxyData.spaceData = resData?.content ?? [];\n // proxyData.copySpaceData = resData?.content ?? [];\n } else {\n proxyData.spaceData = [];\n }\n proxyData.spaceData.map((item: any) => {\n if (proxyData.spaceInfo.spaceId === item.spaceId) {\n item.active = true;\n proxyData.spaceInfo = item;\n } else {\n item.active = false;\n }\n // if (item.isMajorSpace) {\n // item.active = true;\n // proxyData.spaceInfo = item;\n // } else {\n // item.active = false;\n // }\n });\n proxyData.copySpaceData = JSON.parse(\n JSON.stringify(proxyData.spaceData)\n );\n });\n },\n // 重置空间状态\n resetSpaceStatus() {\n /**\n *重新获取设备的时候,先初始化数据\n */\n proxyData.spaceExistenceDevice = {\n curtain: false,\n light: false,\n airConditioner: false,\n bodySensor: false,\n };\n proxyData.spaceData.map((item: any) => {\n item.active = false;\n });\n proxyData.controlMode = 0; // 模式变成自动的\n proxyData.isWork = false;\n proxyData.roomType = \"\";\n proxyData.officeData.temperature = \"\";\n proxyData.spaceExistenceDevice = spaceExistenceDevice;\n proxyData.workkArr = [];\n // 切换空间的时候把加班按钮平板\n proxyData.setForceOverTimeFlag(false);\n },\n // 更多空间\n isShowMap: false,\n defaultSpace: spaceInfo,\n moreSpace() {\n proxyData.isShowMap = true;\n proxyData.defaultSpace = proxyData.spaceInfo;\n },\n // 数组元素更换位置\n elChangeExForArray(item: any) {\n let index1: any = 1;\n let index2: any = 0;\n for (let i = 0; i < proxyData.spaceData.length; i++) {\n if (item.spaceId === proxyData.spaceData[i].spaceId) {\n proxyData.spaceData[i].active = true;\n if (i > 2) {\n index2 = i;\n break;\n }\n }\n }\n if (index2) {\n let temp = proxyData.spaceData[index1];\n proxyData.spaceData[index1] = proxyData.spaceData[index2];\n proxyData.spaceData[index2] = temp;\n }\n },\n // 切换空间\n changeSpace(item: any, type: any = 0) {\n //清除空间下所有的定时器\n proxyData.clearAll();\n // 重置当前选中空间的状态\n proxyData.resetSpaceStatus();\n proxyData.spaceInfo = item;\n if (type === 1) {\n proxyData.defaultSpace = item;\n proxyData.elChangeExForArray(item);\n }\n item.active = true;\n proxyData.init();\n },\n timeOutEvent: timeOutEvent,\n touchNumber: 0,\n gtouchstart(e: any) {\n proxyData.touchNumber = 0;\n proxyData.timeOutEvent = setTimeout(function () {\n proxyData.touchNumber = 1;\n proxyData.longPress();\n }, 500); //这里设置定时器,定义长按500毫秒触发长按事件\n return false;\n },\n //手释放,如果在500毫秒内就释放,则取消长按事件,此时可以执行onclick应该执行的事件\n showDeleteButton() {\n console.log(\"dddd-\");\n clearInterval(proxyData.touchInterval);\n proxyData.touchInterval = null;\n clearTimeout(proxyData.timeOutEvent); //清除定时器\n if (proxyData.timeOutEvent != 0) {\n }\n return false;\n },\n //如果手指有移动,则取消所有事件,此时说明用户只是要移动而不是长按\n gtouchmove() {\n clearTimeout(this.timeOutEvent); //清除定时器\n proxyData.timeOutEvent = 0;\n },\n touchInterval: touchInterval,\n //真正长按后应该执行的内容\n longPress() {\n proxyData.timeOutEvent = 0;\n proxyData.touchInterval = setInterval(() => {\n proxyData.touchNumber++;\n if (proxyData.touchNumber === 6) {\n clearInterval(proxyData.touchInterval);\n proxyData.touchInterval = null;\n router.push({\n name: \"home\",\n query: { mac: proxyData.userInfo.mac, type: \"logoOut\" },\n });\n }\n }, 1000);\n //执行长按要执行的内容,如弹出菜单\n // console.log(\"长按\");\n },\n // 定时器清除\n clearAll() {\n proxyData.clearTimerSpaceInfo();\n proxyData.clearSceneConfigTimer();\n proxyData.clearSecenTimer();\n proxyData.clearEquipTimer();\n },\n contantDetail: contantDetail,\n cusServiceTimer: cusServiceTimer,\n queryCustomerserviceTimer(timer: any = 3600000) {\n proxyData.cusServiceTimer = setTimeout(() => {\n clearTimeout(proxyData.cusServiceTimer);\n proxyData.queryCustomerservice();\n }, timer);\n },\n // 查询联系方式\n queryCustomerservice() {\n let params: any = {\n criteria: { projectId: proxyData.userInfo.projectId },\n };\n queryCustomerservice(params)\n .then((res) => {\n let resData: any = res;\n let content: any = resData?.content ?? [];\n proxyData.contantDetail = content[0];\n proxyData.queryCustomerserviceTimer();\n })\n .catch(() => {\n proxyData.queryCustomerserviceTimer();\n });\n },\n dateInter: dateInter,\n setDateTime() {\n proxyData.dateInter = setInterval(() => {\n proxyData.nowDate = formatDate(\"YYYY.MM.DD HH:mm\");\n proxyData.nowWeek = getNowWeek();\n }, 60000);\n },\n });\n onBeforeUnmount(() => {\n proxyData.clearAll();\n clearInterval(proxyData.dateInter);\n clearTimeout(proxyData.cusServiceTimer);\n clearTimeout(proxyData.weatherTimer);\n });\n onMounted(() => {\n let spaceId: any = route.query.spaceId;\n proxyData.spaceInfo = {\n spaceId: spaceId,\n };\n proxyData.defaultSpace = {\n spaceId: spaceId,\n };\n proxyData.setDateTime()\n proxyData.init();\n // 获取当前平板绑定的空间\n proxyData.queryWorkSpace();\n proxyData.getWeather();\n proxyData.queryCustomerservice();\n });\n return {\n ...toRefs(proxyData),\n };\n },\n});\n","import { render } from \"./index.vue?vue&type=template&id=30969596&scoped=true&ts=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=30969596&lang=scss&scoped=true\"\nimport \"./index.vue?vue&type=style&index=1&id=30969596&lang=scss\"\n\nimport exportComponent from \"/Users/wangyong/shanggeyun/code/sagacloud-sagacare-ipad/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-30969596\"]])\n\nexport default __exports__","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-v16/dist/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/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./manualIndex.vue?vue&type=style&index=1&id=49332094&lang=scss\"","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-v16/dist/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/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=1&id=7da91d80&class=style&lang=scss\"","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-v16/dist/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/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=0&id=8f2b022e&lang=scss\"","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-v16/dist/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/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=0&id=e5733310&lang=scss&scoped=true\"","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-v16/dist/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/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Index.vue?vue&type=style&index=0&id=54f78787&lang=scss&scoped=true\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menuBg\":\"#fff\",\"menuText\":\"#162b64\",\"menuActiveText\":\"#435ebe\"};","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('splice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.es/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n","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-v16/dist/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/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./LeaveDailog.vue?vue&type=style&index=0&id=5934e340&lang=scss&scoped=true\"","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-v16/dist/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/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=0&id=30969596&lang=scss&scoped=true\"","import \"../../style/base.css\";\nimport \"../../badge/index.css\";\nimport \"../../icon/index.css\";\nimport \"../../cell/index.css\";\nimport \"../index.css\";\n","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-v16/dist/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/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=0&id=7da91d80&lang=scss&scoped=true\"","'use strict';\nvar $ = require('../internals/export');\nvar $findIndex = require('../internals/array-iteration').findIndex;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar FIND_INDEX = 'findIndex';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND_INDEX);\n\n// Shouldn't skip holes\nif (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-array.prototype.findindex\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND_INDEX);\n","import { isDef, isObject } from \"./validate\";\nfunction deepClone(obj) {\n if (!isDef(obj)) {\n return obj;\n }\n if (Array.isArray(obj)) {\n return obj.map((item) => deepClone(item));\n }\n if (isObject(obj)) {\n const to = {};\n Object.keys(obj).forEach((key) => {\n to[key] = deepClone(obj[key]);\n });\n return to;\n }\n return obj;\n}\nexport {\n deepClone\n};\n","import { createVNode as _createVNode } from \"vue\";\nimport { ref, watch, reactive, defineComponent } from \"vue\";\nimport { deepClone } from \"../utils/deep-clone\";\nimport { clamp, isObject, unknownProp, numericProp, makeArrayProp, makeNumberProp, preventDefault, createNamespace, makeRequiredProp } from \"../utils\";\nimport { useParent } from \"@vant/use\";\nimport { useTouch } from \"../composables/use-touch\";\nimport { useExpose } from \"../composables/use-expose\";\nconst DEFAULT_DURATION = 200;\nconst MOMENTUM_LIMIT_TIME = 300;\nconst MOMENTUM_LIMIT_DISTANCE = 15;\nconst [name, bem] = createNamespace(\"picker-column\");\nfunction getElementTranslateY(element) {\n const {\n transform\n } = window.getComputedStyle(element);\n const translateY = transform.slice(7, transform.length - 1).split(\", \")[5];\n return Number(translateY);\n}\nconst PICKER_KEY = Symbol(name);\nconst isOptionDisabled = (option) => isObject(option) && option.disabled;\nvar stdin_default = defineComponent({\n name,\n props: {\n textKey: makeRequiredProp(String),\n readonly: Boolean,\n allowHtml: Boolean,\n className: unknownProp,\n itemHeight: makeRequiredProp(Number),\n defaultIndex: makeNumberProp(0),\n swipeDuration: makeRequiredProp(numericProp),\n initialOptions: makeArrayProp(),\n visibleItemCount: makeRequiredProp(numericProp)\n },\n emits: [\"change\"],\n setup(props, {\n emit,\n slots\n }) {\n let moving;\n let startOffset;\n let touchStartTime;\n let momentumOffset;\n let transitionEndTrigger;\n const wrapper = ref();\n const state = reactive({\n index: props.defaultIndex,\n offset: 0,\n duration: 0,\n options: deepClone(props.initialOptions)\n });\n const touch = useTouch();\n const count = () => state.options.length;\n const baseOffset = () => props.itemHeight * (+props.visibleItemCount - 1) / 2;\n const adjustIndex = (index) => {\n index = clamp(index, 0, count());\n for (let i = index; i < count(); i++) {\n if (!isOptionDisabled(state.options[i]))\n return i;\n }\n for (let i = index - 1; i >= 0; i--) {\n if (!isOptionDisabled(state.options[i]))\n return i;\n }\n };\n const setIndex = (index, emitChange) => {\n index = adjustIndex(index) || 0;\n const offset = -index * props.itemHeight;\n const trigger = () => {\n if (index !== state.index) {\n state.index = index;\n if (emitChange) {\n emit(\"change\", index);\n }\n }\n };\n if (moving && offset !== state.offset) {\n transitionEndTrigger = trigger;\n } else {\n trigger();\n }\n state.offset = offset;\n };\n const setOptions = (options) => {\n if (JSON.stringify(options) !== JSON.stringify(state.options)) {\n state.options = deepClone(options);\n setIndex(props.defaultIndex);\n }\n };\n const onClickItem = (index) => {\n if (moving || props.readonly) {\n return;\n }\n transitionEndTrigger = null;\n state.duration = DEFAULT_DURATION;\n setIndex(index, true);\n };\n const getOptionText = (option) => {\n if (isObject(option) && props.textKey in option) {\n return option[props.textKey];\n }\n return option;\n };\n const getIndexByOffset = (offset) => clamp(Math.round(-offset / props.itemHeight), 0, count() - 1);\n const momentum = (distance, duration) => {\n const speed = Math.abs(distance / duration);\n distance = state.offset + speed / 3e-3 * (distance < 0 ? -1 : 1);\n const index = getIndexByOffset(distance);\n state.duration = +props.swipeDuration;\n setIndex(index, true);\n };\n const stopMomentum = () => {\n moving = false;\n state.duration = 0;\n if (transitionEndTrigger) {\n transitionEndTrigger();\n transitionEndTrigger = null;\n }\n };\n const onTouchStart = (event) => {\n if (props.readonly) {\n return;\n }\n touch.start(event);\n if (moving) {\n const translateY = getElementTranslateY(wrapper.value);\n state.offset = Math.min(0, translateY - baseOffset());\n startOffset = state.offset;\n } else {\n startOffset = state.offset;\n }\n state.duration = 0;\n touchStartTime = Date.now();\n momentumOffset = startOffset;\n transitionEndTrigger = null;\n };\n const onTouchMove = (event) => {\n if (props.readonly) {\n return;\n }\n touch.move(event);\n if (touch.isVertical()) {\n moving = true;\n preventDefault(event, true);\n }\n state.offset = clamp(startOffset + touch.deltaY.value, -(count() * props.itemHeight), props.itemHeight);\n const now = Date.now();\n if (now - touchStartTime > MOMENTUM_LIMIT_TIME) {\n touchStartTime = now;\n momentumOffset = state.offset;\n }\n };\n const onTouchEnd = () => {\n if (props.readonly) {\n return;\n }\n const distance = state.offset - momentumOffset;\n const duration = Date.now() - touchStartTime;\n const allowMomentum = duration < MOMENTUM_LIMIT_TIME && Math.abs(distance) > MOMENTUM_LIMIT_DISTANCE;\n if (allowMomentum) {\n momentum(distance, duration);\n return;\n }\n const index = getIndexByOffset(state.offset);\n state.duration = DEFAULT_DURATION;\n setIndex(index, true);\n setTimeout(() => {\n moving = false;\n }, 0);\n };\n const renderOptions = () => {\n const optionStyle = {\n height: `${props.itemHeight}px`\n };\n return state.options.map((option, index) => {\n const text = getOptionText(option);\n const disabled = isOptionDisabled(option);\n const data = {\n role: \"button\",\n style: optionStyle,\n tabindex: disabled ? -1 : 0,\n class: bem(\"item\", {\n disabled,\n selected: index === state.index\n }),\n onClick: () => onClickItem(index)\n };\n const childData = {\n class: \"van-ellipsis\",\n [props.allowHtml ? \"innerHTML\" : \"textContent\"]: text\n };\n return _createVNode(\"li\", data, [slots.option ? slots.option(option) : _createVNode(\"div\", childData, null)]);\n });\n };\n const setValue = (value) => {\n const {\n options\n } = state;\n for (let i = 0; i < options.length; i++) {\n if (getOptionText(options[i]) === value) {\n return setIndex(i);\n }\n }\n };\n const getValue = () => state.options[state.index];\n setIndex(state.index);\n useParent(PICKER_KEY);\n useExpose({\n state,\n setIndex,\n getValue,\n setValue,\n setOptions,\n stopMomentum\n });\n watch(() => props.initialOptions, setOptions);\n watch(() => props.defaultIndex, (value) => setIndex(value));\n return () => _createVNode(\"div\", {\n \"class\": [bem(), props.className],\n \"onTouchstart\": onTouchStart,\n \"onTouchmove\": onTouchMove,\n \"onTouchend\": onTouchEnd,\n \"onTouchcancel\": onTouchEnd\n }, [_createVNode(\"ul\", {\n \"ref\": wrapper,\n \"style\": {\n transform: `translate3d(0, ${state.offset + baseOffset()}px, 0)`,\n transitionDuration: `${state.duration}ms`,\n transitionProperty: state.duration ? \"all\" : \"none\"\n },\n \"class\": bem(\"wrapper\"),\n \"onTransitionend\": stopMomentum\n }, [renderOptions()])]);\n }\n});\nexport {\n PICKER_KEY,\n stdin_default as default\n};\n","import { createVNode as _createVNode } from \"vue\";\nimport { ref, watch, computed, defineComponent } from \"vue\";\nimport { extend, unitToPx, truthProp, makeArrayProp, preventDefault, makeStringProp, makeNumericProp, createNamespace, HAPTICS_FEEDBACK, BORDER_UNSET_TOP_BOTTOM } from \"../utils\";\nimport { useChildren } from \"@vant/use\";\nimport { useExpose } from \"../composables/use-expose\";\nimport { Loading } from \"../loading\";\nimport Column, { PICKER_KEY } from \"./PickerColumn\";\nconst [name, bem, t] = createNamespace(\"picker\");\nconst pickerSharedProps = {\n title: String,\n loading: Boolean,\n readonly: Boolean,\n allowHtml: Boolean,\n itemHeight: makeNumericProp(44),\n showToolbar: truthProp,\n swipeDuration: makeNumericProp(1e3),\n visibleItemCount: makeNumericProp(6),\n cancelButtonText: String,\n confirmButtonText: String\n};\nconst pickerProps = extend({}, pickerSharedProps, {\n columns: makeArrayProp(),\n valueKey: String,\n defaultIndex: makeNumericProp(0),\n toolbarPosition: makeStringProp(\"top\"),\n columnsFieldNames: Object\n});\nvar stdin_default = defineComponent({\n name,\n props: pickerProps,\n emits: [\"confirm\", \"cancel\", \"change\"],\n setup(props, {\n emit,\n slots\n }) {\n if (process.env.NODE_ENV !== \"production\") {\n if (slots.default) {\n console.warn('[Vant] Picker: \"default\" slot is deprecated, please use \"toolbar\" slot instead.');\n }\n if (props.valueKey) {\n console.warn('[Vant] Picker: \"valueKey\" prop is deprecated, please use \"columnsFieldNames\" prop instead.');\n }\n }\n const hasOptions = ref(false);\n const formattedColumns = ref([]);\n const {\n text: textKey,\n values: valuesKey,\n children: childrenKey\n } = extend({\n text: props.valueKey || \"text\",\n values: \"values\",\n children: \"children\"\n }, props.columnsFieldNames);\n const {\n children,\n linkChildren\n } = useChildren(PICKER_KEY);\n linkChildren();\n const itemHeight = computed(() => unitToPx(props.itemHeight));\n const dataType = computed(() => {\n const firstColumn = props.columns[0];\n if (typeof firstColumn === \"object\") {\n if (childrenKey in firstColumn) {\n return \"cascade\";\n }\n if (valuesKey in firstColumn) {\n return \"object\";\n }\n }\n return \"plain\";\n });\n const formatCascade = () => {\n var _a;\n const formatted = [];\n let cursor = {\n [childrenKey]: props.columns\n };\n while (cursor && cursor[childrenKey]) {\n const children2 = cursor[childrenKey];\n let defaultIndex = (_a = cursor.defaultIndex) != null ? _a : +props.defaultIndex;\n while (children2[defaultIndex] && children2[defaultIndex].disabled) {\n if (defaultIndex < children2.length - 1) {\n defaultIndex++;\n } else {\n defaultIndex = 0;\n break;\n }\n }\n formatted.push({\n [valuesKey]: cursor[childrenKey],\n className: cursor.className,\n defaultIndex\n });\n cursor = children2[defaultIndex];\n }\n formattedColumns.value = formatted;\n };\n const format = () => {\n const {\n columns\n } = props;\n if (dataType.value === \"plain\") {\n formattedColumns.value = [{\n [valuesKey]: columns\n }];\n } else if (dataType.value === \"cascade\") {\n formatCascade();\n } else {\n formattedColumns.value = columns;\n }\n hasOptions.value = formattedColumns.value.some((item) => item[valuesKey] && item[valuesKey].length !== 0);\n };\n const getIndexes = () => children.map((child) => child.state.index);\n const setColumnValues = (index, options) => {\n const column = children[index];\n if (column) {\n column.setOptions(options);\n hasOptions.value = true;\n }\n };\n const onCascadeChange = (columnIndex) => {\n let cursor = {\n [childrenKey]: props.columns\n };\n const indexes = getIndexes();\n for (let i = 0; i <= columnIndex; i++) {\n cursor = cursor[childrenKey][indexes[i]];\n }\n while (cursor && cursor[childrenKey]) {\n columnIndex++;\n setColumnValues(columnIndex, cursor[childrenKey]);\n cursor = cursor[childrenKey][cursor.defaultIndex || 0];\n }\n };\n const getChild = (index) => children[index];\n const getColumnValue = (index) => {\n const column = getChild(index);\n if (column) {\n return column.getValue();\n }\n };\n const setColumnValue = (index, value) => {\n const column = getChild(index);\n if (column) {\n column.setValue(value);\n if (dataType.value === \"cascade\") {\n onCascadeChange(index);\n }\n }\n };\n const getColumnIndex = (index) => {\n const column = getChild(index);\n if (column) {\n return column.state.index;\n }\n };\n const setColumnIndex = (columnIndex, optionIndex) => {\n const column = getChild(columnIndex);\n if (column) {\n column.setIndex(optionIndex);\n if (dataType.value === \"cascade\") {\n onCascadeChange(columnIndex);\n }\n }\n };\n const getColumnValues = (index) => {\n const column = getChild(index);\n if (column) {\n return column.state.options;\n }\n };\n const getValues = () => children.map((child) => child.getValue());\n const setValues = (values) => {\n values.forEach((value, index) => {\n setColumnValue(index, value);\n });\n };\n const setIndexes = (indexes) => {\n indexes.forEach((optionIndex, columnIndex) => {\n setColumnIndex(columnIndex, optionIndex);\n });\n };\n const emitAction = (event) => {\n if (dataType.value === \"plain\") {\n emit(event, getColumnValue(0), getColumnIndex(0));\n } else {\n emit(event, getValues(), getIndexes());\n }\n };\n const onChange = (columnIndex) => {\n if (dataType.value === \"cascade\") {\n onCascadeChange(columnIndex);\n }\n if (dataType.value === \"plain\") {\n emit(\"change\", getColumnValue(0), getColumnIndex(0));\n } else {\n emit(\"change\", getValues(), columnIndex);\n }\n };\n const confirm = () => {\n children.forEach((child) => child.stopMomentum());\n emitAction(\"confirm\");\n };\n const cancel = () => emitAction(\"cancel\");\n const renderTitle = () => {\n if (slots.title) {\n return slots.title();\n }\n if (props.title) {\n return _createVNode(\"div\", {\n \"class\": [bem(\"title\"), \"van-ellipsis\"]\n }, [props.title]);\n }\n };\n const renderCancel = () => {\n const text = props.cancelButtonText || t(\"cancel\");\n return _createVNode(\"button\", {\n \"type\": \"button\",\n \"class\": [bem(\"cancel\"), HAPTICS_FEEDBACK],\n \"onClick\": cancel\n }, [slots.cancel ? slots.cancel() : text]);\n };\n const renderConfirm = () => {\n const text = props.confirmButtonText || t(\"confirm\");\n return _createVNode(\"button\", {\n \"type\": \"button\",\n \"class\": [bem(\"confirm\"), HAPTICS_FEEDBACK],\n \"onClick\": confirm\n }, [slots.confirm ? slots.confirm() : text]);\n };\n const renderToolbar = () => {\n if (props.showToolbar) {\n const slot = slots.toolbar || slots.default;\n return _createVNode(\"div\", {\n \"class\": bem(\"toolbar\")\n }, [slot ? slot() : [renderCancel(), renderTitle(), renderConfirm()]]);\n }\n };\n const renderColumnItems = () => formattedColumns.value.map((item, columnIndex) => {\n var _a;\n return _createVNode(Column, {\n \"textKey\": textKey,\n \"readonly\": props.readonly,\n \"allowHtml\": props.allowHtml,\n \"className\": item.className,\n \"itemHeight\": itemHeight.value,\n \"defaultIndex\": (_a = item.defaultIndex) != null ? _a : +props.defaultIndex,\n \"swipeDuration\": props.swipeDuration,\n \"initialOptions\": item[valuesKey],\n \"visibleItemCount\": props.visibleItemCount,\n \"onChange\": () => onChange(columnIndex)\n }, {\n option: slots.option\n });\n });\n const renderMask = (wrapHeight) => {\n if (hasOptions.value) {\n const frameStyle = {\n height: `${itemHeight.value}px`\n };\n const maskStyle = {\n backgroundSize: `100% ${(wrapHeight - itemHeight.value) / 2}px`\n };\n return [_createVNode(\"div\", {\n \"class\": bem(\"mask\"),\n \"style\": maskStyle\n }, null), _createVNode(\"div\", {\n \"class\": [BORDER_UNSET_TOP_BOTTOM, bem(\"frame\")],\n \"style\": frameStyle\n }, null)];\n }\n };\n const renderColumns = () => {\n const wrapHeight = itemHeight.value * +props.visibleItemCount;\n const columnsStyle = {\n height: `${wrapHeight}px`\n };\n return _createVNode(\"div\", {\n \"class\": bem(\"columns\"),\n \"style\": columnsStyle,\n \"onTouchmove\": preventDefault\n }, [renderColumnItems(), renderMask(wrapHeight)]);\n };\n watch(() => props.columns, format, {\n immediate: true\n });\n useExpose({\n confirm,\n getValues,\n setValues,\n getIndexes,\n setIndexes,\n getColumnIndex,\n setColumnIndex,\n getColumnValue,\n setColumnValue,\n getColumnValues,\n setColumnValues\n });\n return () => {\n var _a, _b;\n return _createVNode(\"div\", {\n \"class\": bem()\n }, [props.toolbarPosition === \"top\" ? renderToolbar() : null, props.loading ? _createVNode(Loading, {\n \"class\": bem(\"loading\")\n }, null) : null, (_a = slots[\"columns-top\"]) == null ? void 0 : _a.call(slots), renderColumns(), (_b = slots[\"columns-bottom\"]) == null ? void 0 : _b.call(slots), props.toolbarPosition === \"bottom\" ? renderToolbar() : null]);\n };\n }\n});\nexport {\n stdin_default as default,\n pickerSharedProps\n};\n","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-v16/dist/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/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./manualIndex.vue?vue&type=style&index=0&id=49332094&lang=scss&scoped=true\"","var aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = toLength(O.length);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","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-v16/dist/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/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./SpaceBox.vue?vue&type=style&index=0&id=4b041186&lang=scss&scoped=true\"","import { withInstall } from \"../utils\";\nimport _Picker from \"./Picker\";\nconst Picker = withInstall(_Picker);\nvar stdin_default = Picker;\nexport {\n Picker,\n stdin_default as default\n};\n","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-v16/dist/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/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./WorkConfig.vue?vue&type=style&index=0&id=34a0334d&lang=scss&scoped=true\"","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-v16/dist/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/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=0&id=55c81230&lang=scss&scoped=true\""],"sourceRoot":""}
|