chunk-67ec9fce.6669867f.js.map 420 KB

1
  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/workOvertime/LeaveDailog.vue?b2c0","webpack:///./src/views/envmonitor/components/Air.vue?32a4","webpack:///./src/views/envmonitor/components/Light.vue?a40d","webpack:///./src/views/envmonitor/components/Light.vue?24d0","webpack:///./node_modules/vant/es/cell-group/CellGroup.js","webpack:///./node_modules/vant/es/cell-group/index.js","webpack:///./src/views/envmonitor/components/Contact/index.vue?42b5","webpack:///./node_modules/vant/es/form/style/index.js","webpack:///./src/views/envmonitor/components/Scenario/Scenario.vue?9244","webpack:///./src/views/envmonitor/components/Map/index.vue?b04d","webpack:///./src/views/envmonitor/components/Contact/index.vue?cc17","webpack:///./src/views/envmonitor/components/workOvertime/index.vue?f79f","webpack:///./src/views/envmonitor/components/workOvertime/WorkConfig.vue?ad06","webpack:///./src/views/envmonitor/components/Air.vue?5790","webpack:///./node_modules/vant/es/button/style/index.js","webpack:///./src/components/header/Index.vue?6852","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?0d9c","webpack:///./src/views/envmonitor/components/workOvertime/index.vue?a944","webpack:///./node_modules/vant/es/slider/Slider.js","webpack:///./node_modules/vant/es/slider/index.js","webpack:///./src/utils/swiper.ts","webpack:///./src/views/envmonitor/components/workOvertime/index.vue?1822","webpack:///./src/views/envmonitor/components/workOvertime/index.vue","webpack:///./src/views/envmonitor/components/Contact/index.vue?d4d5","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?7a33","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/Scenario/ScenarioConfig.vue?5d9b","webpack:///./src/views/envmonitor/components/Scenario/ScenarioConfig.vue?3c3c","webpack:///./src/views/envmonitor/components/Scenario/ScenarioConfig.vue","webpack:///./src/components/header/Index.vue?d713","webpack:///./src/components/header/Index.vue?228a","webpack:///./src/components/header/Index.vue","webpack:///./src/views/envmonitor/components/Scenario/Scenario.vue?c828","webpack:///./src/views/envmonitor/components/Scenario/Scenario.vue?4627","webpack:///./src/views/envmonitor/components/Scenario/Scenario.vue","webpack:///./src/views/envmonitor/components/Air.vue?2556","webpack:///./node_modules/vant/es/switch/Switch.js","webpack:///./node_modules/vant/es/switch/index.js","webpack:///./src/views/envmonitor/components/Air.vue?0080","webpack:///./src/views/envmonitor/components/Air.vue","webpack:///./src/views/envmonitor/components/Light.vue?0e1a","webpack:///./src/views/envmonitor/components/Light.vue?dfff","webpack:///./src/views/envmonitor/components/Light.vue","webpack:///./src/views/envmonitor/components/Curtain.vue?321e","webpack:///./src/views/envmonitor/components/Curtain.vue?56fb","webpack:///./src/views/envmonitor/components/Curtain.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?dbdc","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?3a2a","webpack:///./src/views/envmonitor/components/Map/SpaceBox.vue?5b97","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/index.vue?1c91","webpack:///./src/views/envmonitor/index.vue","webpack:///./src/views/envmonitor/components/Scenario/scenarioDailog.vue?fd62","webpack:///./node_modules/vant/es/field/style/index.js","webpack:///./src/views/envmonitor/index.vue?5a66","webpack:///./src/views/envmonitor/components/Light.vue?fa6d","webpack:///./node_modules/core-js/modules/es.array.find-index.js","webpack:///./src/views/envmonitor/components/Scenario/ScenarioConfig.vue?2cad","webpack:///./src/views/envmonitor/index.vue?8bc0","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/Map/SpaceBox.vue?67ed","webpack:///./src/views/envmonitor/components/Air.vue?8697","webpack:///./src/views/envmonitor/components/Curtain.vue?80dd","webpack:///./src/views/envmonitor/index.vue?f047","webpack:///./node_modules/vant/es/picker/index.js"],"names":["module","exports","bem","create","cellGroupProps","title","String","inset","Boolean","border","stdin_default","name","inheritAttrs","props","slots","attrs","renderGroup","_a","default","call","renderTitle","CellGroup","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","reduce","promise","then","length","validate","error","push","validateAll","all","map","item","validateField","name2","matched","find","resetValidation","forEach","scrollToField","options","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","key","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","render","_ctx","_cache","$props","$setup","$data","$options","_component_work_config","_component_scenario_config","_component_Air","_component_Light","_component_Curtain","_component_work_overtime","_component_van_popup","_component_scenario_dailog","_component_detail","_component_com_map","_component_contact","src","parseImgUrl","alt","nowDate","nowWeek","outWeather","imgname","temperature","onClick","showContact","onTouchstart","gtouchstart","onTouchmove","$event","gtouchmove","onTouchend","showDeleteButton","officeData","localName","isPassengerPass","envlist","index","bgColor","style","background","opacity","handleDetail","img","num","unit","spaceData","active","changeSpace","spaceName","moreSpace","roomType","isWork","scenarioArr","workkArr","onTriggerWork","triggerWork","onSetForceOverTimeFlag","setForceOverTimeFlag","activeType","spaceId","spaceInfo","projectId","onSetHeadScene","setHeadScene","spaceExistenceDevice","airConditioner","id","forceOverTimeFlag","onUpdateAirTemp","updateAirTemp","hasAir","airVolumes","isACATVA","userIsControl","light","curtain","show","isShowWork","position","teleport","onCloseWork","closeWork","_","isShowMetting","secenaroStatus","onCloseDailog","closeDailog","isShowDetail","query","detailQuery","isShowMap","defaultSpace","copySpaceData","floorId","buildingId","onChangeSpace","isShowContact","closeContactDailog","dateArr","isActive","checkDate","week","day","nowTimerArr","timer","checkSlider","triggerDelTime","closeWorkTimer","formBtn","addWorkTimer","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","Math","round","isSameValue","newValue","oldValue","JSON","stringify","handleRangeValue","_b","left","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","swiper","el","isMove","startX","startY","moveX","moveY","disX","disY","fun","data","swipeLeft","swipeRight","swipeDown","swipeUp","drag","Object","assign","addEventListener","e","touches","pageX","pageY","passive","mation","absX","abs","absY","components","VanSlider","setup","context","proxyGlobal","screenInfo","screenWidth","screenHeight","myTimeArr","timerArr","nowData","redUrl","bgRed","userInfo","proxyData","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","target","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","startDate","endDate","userId","userPhone","customSceneEqType","userName","formateDelTimer","addTimeArr","addObj1","addObj2","realTime","concat","formTimerArr","saveBatchCustomScene","$loadingStart","res","setTimeout","clearTimeout","confirm","message","newProps","__exports__","_component_buttons","_component_van_dialog","imgUrl","contantDetail","wechatQrCode","phone","VanLoading","Component","contx","$imgUrl","queryCustomerservice","params","criteria","resData","content","deep","immediate","_component_leave_dailog","timerText","classColor","text","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","timeJoin","formatDataDel","openLeavDailog","sceneType","handleScene","flex","sceneName","scenarioImgArr","DISCUSSING","PROJECTING","ADJOURNMENT","formatScenarioImg","order","sort","a","b","pubname","loading","lodingText","result","pm25","quality","setPermanentSpace","VanIcon","goBack","window","history","go","popList","code","vanPopupIndex","sceneDetail","showSecenDetailDalig","loadingStart","duration","forbidClick","loadinngEnd","clear","mitem","parse","element","_component_van_loading","_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","equipmentCategory","getAirInfoToTimer","timerLong","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","lampList","isShowChildLight","lampSw","showAll","lightIcon","lightImg","showFlag","eqChange","switch","lightsStatusTimer","timeOut","initData","lightParams","setStatus","allowSvg","loadingLight","startCheckLightsTime","getLampList","lampOpen","imgOpen","imgClose","runStatus","startLightsStatusTimer","statusFlag","updateAllLampStatus","setLamp","updateLampStatus","initLampLoading","getTimeLampStatus","checkData","updateAllLampLoading","updateLampLoading","checkParams","processArr","orderSeqNum","checkChangeLightStatusSuccess","judgeChangeResponeseSuccess","processingArr","successArr","errorArr","state","exeResult","success","processing","arr","loadingLen","curtainData","countText","curtainClose","count","handleTotal","curtainOpen","handleChild","getEqpGroup","orders","column","asc","childDownFlag","childUpFlag","childCount","childCountText","checkCount","setType","changeStatus","paramsArr","setParams","setSwitchStatus","childItem","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","_component_van_search","placeholder","searchValue","onSearch","onClear","onCancel","activeSpace","vanSearch","queryWorkSpace","macAddress","mac","vanForm","vanField","vanButton","SpaceBox","MapBox","showMap","getMapInfo","spaceList","ComMap","ScenarioDailog","Scenario","Header","Comheader","NavBar","Air","Light","Curtain","TimeBox","WorkOvertime","WorkConfig","ScenarioConfig","Detail","Contact","route","body","clientHeight","spaceEqFlagObj","hasBlowing","hasLamp","user","timeOutEvent","headerInfo","headImg","headScene","tipText","tipTextSwatch","bodySensor","childRef","intervalTimer","spaceTimer","listSen","userSpaceInfo","spaceModelTimer","spaceTempTimer","level","funcid","realEevList","secenTimer","airTemp","showSpaceTip","mapOpacity","opacityV","hideTopImg","isBottom","isScrool","popupType","showScenario","topbgimg","deviceIcon","visible","listOffice","showWorkOff","meetingRoomSence","getCompanyInfo","companyId","companyKey","getWeather","openid","str","getWeatherIcon","getnowTime","now","indexOf","checkSpaceType","roomFuncType","getPageMeetingSceneHttp","timerSpaceInfo","checkUserSpace","sp_id","getUserControlAuth","getSpaceInfo","toFixed","formatSpaceInfo","getSpaceModeTimer","getSpaceMode","getSpaceTempTimer","getSpaceTemp","setEnvBg","checkLevel","objList","humidity","co2","hcho","sortArr","findIndex","levelTxt","setPageheight","getElementById","offsetHeight","resSen","setHeadSceneAirTemp","setWorkTime","setTime","handlePreClose","changeLampStatus","getEquipments","queryParams","hourMiChange","tempStr","toString","newStr","dLen","slice","getSetTimeHttp","floor","tomText","changTime","nextCusEndTime","daTime","handlePopup","triggerCheckSpace","ele","houseEle","houseHeight","scrollTop","clearTimerSpaceInfo","isMetting","checkIsSpaceScene","querySpaceSceneConfig","queryCustomAndScenceTimer","queryCustomAndScence","compare","obj1","obj2","val1","val2","updatePageUrl","url","location","origin","pathname","replaceState","setTimerCloseTip","timeNum","resetSpaceStatus","elChangeExForArray","index1","index2","temp","longPress","this","$","$findIndex","addToUnscopables","arrayMethodUsesToLength","FIND_INDEX","SKIPS_HOLES","USES_TO_LENGTH","proto","forced","callbackfn","arguments","undefined","deepClone","to","keys","DEFAULT_DURATION","MOMENTUM_LIMIT_TIME","MOMENTUM_LIMIT_DISTANCE","getElementTranslateY","transform","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","Picker"],"mappings":"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","file":"static/js/chunk-67ec9fce.6669867f.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!./LeaveDailog.vue?vue&type=style&index=0&id=10ea159b&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!./Light.vue?vue&type=style&index=1&id=0e4ba0da&class=style&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","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=3149f63a&lang=scss\"","import \"../../style/base.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!./Scenario.vue?vue&type=style&index=0&id=7769650f&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=2048181d&lang=scss&scoped=true\"","// 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=0&id=064c197d&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!./WorkConfig.vue?vue&type=style&index=0&id=7c53090c&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!./Air.vue?vue&type=style&index=1&id=04a39b5e&lang=scss\"","import \"../../style/base.css\";\nimport \"../../badge/index.css\";\nimport \"../../icon/index.css\";\nimport \"../../loading/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=0c0f4fb6&lang=scss&scoped=true\"","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 { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, vShow as _vShow, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, 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-7125a518\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"main\" }\nconst _hoisted_2 = { class: \"main-left\" }\nconst _hoisted_3 = { class: \"left-top\" }\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 = { key: 0 }\nconst _hoisted_13 = [\"src\"]\nconst _hoisted_14 = [\"src\"]\nconst _hoisted_15 = { key: 2 }\nconst _hoisted_16 = { key: 3 }\nconst _hoisted_17 = { class: \"space-info\" }\nconst _hoisted_18 = { class: \"space-temp\" }\nconst _hoisted_19 = [\"src\"]\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"temp-text\" }, \"温度\", -1))\nconst _hoisted_21 = { class: \"temp-num\" }\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"sup\", null, \"\", -1))\nconst _hoisted_23 = { class: \"space-env\" }\nconst _hoisted_24 = [\"onClick\"]\nconst _hoisted_25 = [\"src\"]\nconst _hoisted_26 = { class: \"env-text\" }\nconst _hoisted_27 = {\n key: 0,\n class: \"fotter\"\n}\nconst _hoisted_28 = [\"onClick\"]\nconst _hoisted_29 = [\"src\"]\nconst _hoisted_30 = [\"src\"]\nconst _hoisted_31 = [\"src\"]\nconst _hoisted_32 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \"\", -1))\nconst _hoisted_33 = { class: \"main-right\" }\nconst _hoisted_34 = {\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_scenario_config = _resolveComponent(\"scenario-config\")!\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_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\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"img\", {\n class: \"logo-icon\",\n src: _ctx.parseImgUrl('ipdImages', 'shangeyun_logo.svg'),\n alt: \"\"\n }, null, 8, _hoisted_4),\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 _createElementVNode(\"div\", {\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 ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"div\", {\n onTouchstart: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.gtouchstart && _ctx.gtouchstart(...args))),\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 }, _toDisplayString(_ctx.officeData.localName), 33),\n (\n _ctx.officeData.isPassengerPass === true ||\n _ctx.officeData.isPassengerPass === false\n )\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n (_ctx.officeData.isPassengerPass)\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n src: _ctx.parseImgUrl('ipdImages', 'vector-active.svg')\n }, null, 8, _hoisted_13))\n : _createCommentVNode(\"\", true),\n (!_ctx.officeData.isPassengerPass)\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 1,\n src: _ctx.parseImgUrl('ipdImages', 'vector.svg')\n }, null, 8, _hoisted_14))\n : _createCommentVNode(\"\", true),\n (_ctx.officeData.isPassengerPass)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_15, \"有人\"))\n : _createCommentVNode(\"\", true),\n (!_ctx.officeData.isPassengerPass)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_16, \"无人\"))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"div\", _hoisted_18, [\n _createElementVNode(\"img\", {\n src: _ctx.parseImgUrl('ipdImages', 'template-icon.svg'),\n alt: \"\"\n }, null, 8, _hoisted_19),\n _hoisted_20,\n _createElementVNode(\"span\", _hoisted_21, [\n _createTextVNode(_toDisplayString(_ctx.officeData.temperature), 1),\n _hoisted_22\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_23, [\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 ]),\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_25),\n _createElementVNode(\"span\", null, _toDisplayString(item.name), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_26, [\n _createTextVNode(_toDisplayString(item.num) + \" \", 1),\n _createElementVNode(\"sup\", null, _toDisplayString(item.unit), 1)\n ])\n ], 14, _hoisted_24))\n }), 128))\n ])\n ]),\n (_ctx.spaceData && _ctx.spaceData.length > 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_27, [\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_29))\n : (_openBlock(), _createElementBlock(\"img\", {\n key: 1,\n src: _ctx.parseImgUrl('ipdImages', 'rectangle1.svg')\n }, null, 8, _hoisted_30)),\n _createElementVNode(\"span\", null, _toDisplayString(item.spaceName), 1)\n ], 10, _hoisted_28))\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_31),\n _hoisted_32\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_33, [\n (\n (_ctx.roomType === '开放' && _ctx.isWork) ||\n (_ctx.roomType === '会议室' && _ctx.scenarioArr && _ctx.scenarioArr.length)\n )\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_34, [\n (_ctx.roomType === '开放' && _ctx.isWork)\n ? (_openBlock(), _createBlock(_component_work_config, {\n key: 0,\n scenarioArr: _ctx.scenarioArr,\n workkArr: _ctx.workkArr,\n onTriggerWork: _ctx.triggerWork,\n onSetForceOverTimeFlag: _ctx.setForceOverTimeFlag\n }, null, 8, [\"scenarioArr\", \"workkArr\", \"onTriggerWork\", \"onSetForceOverTimeFlag\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.roomType === '会议室' && _ctx.scenarioArr && _ctx.scenarioArr.length)\n ? (_openBlock(), _createBlock(_component_scenario_config, {\n key: 1,\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.officeData.temperature || _ctx.spaceExistenceDevice.airConditioner)\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)\n ? (_openBlock(), _createBlock(_component_Light, {\n forceOverTimeFlag: _ctx.forceOverTimeFlag,\n onTriggerWork: _ctx.triggerWork,\n id: \"lightId\",\n key: \"lightId\",\n userIsControl: _ctx.userIsControl,\n spaceId: _ctx.spaceInfo.spaceId,\n projectId: _ctx.projectId\n }, null, 8, [\"forceOverTimeFlag\", \"onTriggerWork\", \"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)\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 ]),\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 _createVNode(_component_contact, {\n isShowContact: _ctx.isShowContact,\n onCloseDailog: _ctx.closeContactDailog\n }, null, 8, [\"isShowContact\", \"onCloseDailog\"])\n ]))\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, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-064c197d\"),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 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 ]))\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","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","\nimport { Dialog, Slider } 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 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 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 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\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 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 // dom元素宽高调整\n proxyData.changeEl();\n });\n },\n /**\n * dom的滚动功能设置\n */\n flag: false,\n changeEl() {\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 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: \"sagacareAndtenantslink\", //类型: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 customSceneList.map((item: any, index: any) => {\n 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 === \"2\";\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.formBtn = true;\n saveBatchCustomScene(formTimerArr)\n .then((res) => {\n let timer: any = setTimeout(() => {\n if (type === 1) {\n context.emit(\"closeWork\");\n proxyGlobal.proxy.$loadinngEnd();\n } else if (type === 2) {\n // 删除\n proxyData.isUpdate = true;\n // proxyData.setWorkTimeList();\n }\n timer = null;\n clearTimeout(timer);\n proxyData.formBtn = false;\n }, 1000);\n })\n .catch(() => {\n proxyGlobal.proxy.$loadinngEnd();\n proxyData.formBtn = 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 nextTick(() => {\n // proxyData.setScreennWidth()\n });\n watch(props, (newProps: any) => {\n proxyData.workkArr = newProps.workkArr;\n proxyData.projectId = newProps.projectId;\n if (proxyData.isUpdate) {\n console.log(\"数据更新了\");\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=064c197d&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=064c197d&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-064c197d\"]])\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 },\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: 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 },\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=3149f63a&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=3149f63a&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-7c53090c\"),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 formatTimerStr,\n getRelNowTime,\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 const store = useStore();\n const delTimeArr: any = [];\n let customSceneList: 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: \"\",\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 let text: any = \"\";\n // debugger\n console.log(\"customSceneList11===\")\n if (type === 1) {\n // 工作时间和第二天连续的问题\n // 工作时间连续的问题\n if (endTime === \"240000\") {\n // 处理时间连续的问题\n let cusStartTime: any = data[index].cusStartTime;\n let cusEndTime: any = data[index].cusEndTime;\n let customSceneList: any = data[index]?.customSceneList ?? [];\n if (cusStartTime === \"000000\") {\n text = data[index].week;\n endTime = cusEndTime;\n }\n console.log(\"customSceneList===\")\n console.log(customSceneList)\n customSceneList.map((item: any) => {\n if (item.startTime === \"000000\") {\n text = data[index].week;\n endTime = item.endTime;\n } else if (endTime === item.startTime) {\n text = data[index].week;\n endTime = item.endTime;\n }\n if (endTime === cusStartTime) {\n text = data[index].week;\n endTime = cusEndTime;\n }\n });\n }\n if (text) {\n proxyData.text = text;\n let nowIndex: any = index + 1;\n if (nowIndex < data.length - 1) {\n proxyData.formateTimeContinuous(nowIndex, startTime, endTime, 1);\n } else {\n return {\n text: proxyData.text,\n startTime: startTime,\n endTime: endTime,\n };\n }\n } else {\n return {\n text: proxyData.text,\n startTime: startTime,\n endTime: endTime,\n };\n }\n } else {\n // 预约时候后找最近的一段预约时间\n let cusStartTime: any = data[index].cusStartTime;\n let cusEndTime: any = data[index].cusEndTime;\n if (cusStartTime && cusEndTime) {\n }\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 // 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 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 } 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 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 } 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 let obj: any = proxyData.formateTimeContinuous(\n 0,\n startTime,\n endTime,\n 1\n );\n console.log(\"预约加班的记录---\")\n console.log(obj)\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 = 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( 0,startTime,endTime,1);\n console.log(\"预约加班的记录---\")\n console.log(btnObj)\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 // 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 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: false,\n immediate: true,\n }\n );\n return {\n ...toRefs(proxyData),\n };\n },\n});\n","import { render } from \"./WorkConfig.vue?vue&type=template&id=7c53090c&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=7c53090c&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-7c53090c\"]])\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-3ed2c47e\"),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 const proxyData = reactive({\n parseImgUrl: parseImgUrl,\n scenarioArr: props.scenarioArr,\n scenarioImgArr: scenarioImgArr,\n activeType: \"DISCUSSING\",\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: props.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);\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);\n }\n })\n .catch(() => {\n item.loading = false;\n item.lodingText = \"\";\n contx.emit(\"setHeadScene\", item);\n // contx.emit('timerSpaceInfo')\n });\n },\n });\n watch(\n props,\n (newProps: any) => {\n proxyData.scenarioArr = newProps.scenarioArr;\n proxyData.formatScenarioImg();\n proxyData.activeType = newProps.activeType;\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=3ed2c47e&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=3ed2c47e&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-3ed2c47e\"]])\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-0c0f4fb6\"),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=0c0f4fb6&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=0c0f4fb6&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-0c0f4fb6\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7769650f\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"scenario\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"title\" }, \"切换场景\", -1))\nconst _hoisted_3 = { class: \"scenario-box\" }\nconst _hoisted_4 = [\"onClick\"]\nconst _hoisted_5 = [\"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 _hoisted_2,\n _createElementVNode(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.popList, (item, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"scenario-item\", item.code===_ctx.activeIndex?'active':'']),\n onClick: ($event: any) => (_ctx.handleScene(item,index)),\n key: index\n }, [\n _createElementVNode(\"img\", {\n src: _ctx.parseImgUrl('page-officehome',item.img),\n alt: \"\"\n }, null, 8, _hoisted_5),\n _createElementVNode(\"span\", null, _toDisplayString(item.name), 1)\n ], 10, _hoisted_4))\n }), 128))\n ])\n ]))\n}","\nimport { defineComponent, computed, onMounted, reactive, toRefs, watch, getCurrentInstance } from 'vue'\nimport { switchoverSceneHttp } from '@/apis/envmonitor'\nimport Keys from '@/constant/key'\nimport { getUserInfo, 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 popList: { // 场景信息\n type: Array,\n default: () => []\n },\n vanPopupIndex: {\n type: String,\n default: () => ''\n }\n },\n setup(props, contx) {\n const sceneDetail: any = {}\n // const activeIndex: any = props.vanPopupIndex\n const proxyData = reactive({\n parseImgUrl: parseImgUrl,\n showSecenDetailDalig: false, // 是否展示场景详情页面\n sceneDetail: sceneDetail,\n activeIndex: props.vanPopupIndex,\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 handleScene(mitem: any, idx: any) {\n let popList = props.popList\n let name = mitem.name\n for (let i = 0; i < popList.length; i++) {\n let item: any = popList[i]\n if (name === item.name) {\n proxyData.sceneDetail = JSON.parse(JSON.stringify(item))\n proxyData.sceneDetail.textObj = []\n\n item.textObj.map((element: any, idx: any) => {\n setTimeout(() => {\n proxyData.sceneDetail.textObj.push(element)\n }, 150 * (idx + 1))\n })\n }\n }\n proxyData.loadingStart()\n proxyData.activeIndex = proxyData.sceneDetail.code\n // 展示场景详情页面\n proxyData.showSecenDetailDalig = true\n const userInfo: any = getUserInfo()\n const params = {\n spaceId: props.spaceId,\n projectId: props.projectId,\n type: proxyData.sceneDetail.code,\n pubname: userInfo.pubname\n }\n switchoverSceneHttp(params).then(res => {\n // contx.emit('timerSpaceInfo')\n proxyData.loadinngEnd()\n contx.emit('setHeadScene', proxyData.sceneDetail.name, proxyData.sceneDetail)\n }).catch(() => {\n proxyData.loadinngEnd()\n contx.emit('setHeadScene', proxyData.sceneDetail.name, proxyData.sceneDetail)\n // contx.emit('timerSpaceInfo')\n })\n }\n })\n watch(\n props,\n (newProps: any) => {\n proxyData.activeIndex = newProps.vanPopupIndex\n // if (newProps.spaceId) { // 空间id改变的重新获取值调用接口\n //\n // }\n }\n )\n return {\n ...toRefs(proxyData)\n }\n }\n})\n","import { render } from \"./Scenario.vue?vue&type=template&id=7769650f&scoped=true&ts=true\"\nimport script from \"./Scenario.vue?vue&type=script&lang=ts\"\nexport * from \"./Scenario.vue?vue&type=script&lang=ts\"\n\nimport \"./Scenario.vue?vue&type=style&index=0&id=7769650f&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-7769650f\"]])\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-04a39b5e\"),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 > 30 || 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 (\n proxyData.airData.icon &&\n (proxyData.airData.icon === 7 || proxyData.airData.icon === 8)\n ) {\n proxyData.airData.isOpen = false;\n proxyData.airData.airImg = parseImgUrl(\n \"page-officehome\",\n \"air_close.png\"\n );\n } else {\n proxyData.airData.isOpen = true;\n proxyData.airData.airImg = parseImgUrl(\n \"page-officehome\",\n \"openair.png\"\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 \"./Air.vue?vue&type=template&id=04a39b5e&scoped=true&ts=true\"\nimport script from \"./Air.vue?vue&type=script&lang=ts\"\nexport * from \"./Air.vue?vue&type=script&lang=ts\"\n\nimport \"./Air.vue?vue&type=style&index=0&id=04a39b5e&lang=scss&scoped=true\"\nimport \"./Air.vue?vue&type=style&index=1&id=04a39b5e&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-04a39b5e\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, resolveComponent as _resolveComponent, createVNode as _createVNode, withModifiers as _withModifiers, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, renderList as _renderList, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0e4ba0da\"),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 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \"显示全部\", -1))\nconst _hoisted_6 = { class: \"light-right\" }\nconst _hoisted_7 = [\"src\"]\nconst _hoisted_8 = { class: \"control-title\" }\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_Switch = _resolveComponent(\"Switch\")!\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 (_ctx.isShowChildLight)\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 _hoisted_5\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"img\", {\n src: _ctx.lightImg,\n alt: \"\"\n }, null, 8, _hoisted_7),\n (!_ctx.showFlag)\n ? (_openBlock(), _createBlock(_component_Switch, {\n key: 0,\n disabled: !_ctx.userIsControl,\n modelValue: _ctx.lampSw,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.lampSw) = $event)),\n onClick: _cache[2] || (_cache[2] = ($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 ]),\n (_ctx.showFlag && _ctx.isShowChildLight)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 0 }, _renderList(_ctx.lampList, (item, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"light-control\",\n key: item.id\n }, [\n _createElementVNode(\"div\", _hoisted_8, _toDisplayString(item.localName), 1),\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 onClick: ($event: any) => (_ctx.eqChange('main', item, index)),\n \"inactive-color\": \"rgba(196, 196, 196, 0.2)\",\n class: \"switch-btn\"\n }, null, 8, [\"disabled\", \"modelValue\", \"onUpdate:modelValue\", \"onClick\"])\n ]))\n }), 128))\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\";\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 forceOverTimeFlag: {\n type: Boolean,\n default: () => false,\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 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 lightImg: parseImgUrl(\"page-officehome\", \"lamp_close_v2.png\"),\n lampSw: false, // 主灯开关\n // 点击展示所有的登录\n showAll() {\n proxyData.showFlag = !proxyData.showFlag;\n proxyData.lightIcon = \"arrow-down\";\n },\n // 获取灯的状态\n getLampList() {\n getLampHttp({ spaceId: props.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 content[i].imgOpen = parseImgUrl(\n \"page-officehome\",\n \"lampch_open.png\"\n );\n content[i].imgClose = parseImgUrl(\n \"page-officehome\",\n \"lampch_close.png\"\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 proxyData.lightImg = proxyData.lampSw\n ? parseImgUrl(\"page-officehome\", \"lamp_open_v2.png\")\n : parseImgUrl(\"page-officehome\", \"lamp_close_v2.png\");\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 if (proxyData.forceOverTimeFlag && proxyData.lampSw) {\n // 强制加班开灯\n contx.emit(\"triggerWork\");\n return;\n }\n // 总开关按钮所有灯\n // 当前要执行的灯的操作\n proxyData.loadingLight = true;\n // const statusFlag = !proxyData.lampSw\n // console.log('proxyData.lampSw==')\n const statusFlag = proxyData.lampSw;\n // 瞬间修改状态\n proxyData.setStatus = true;\n proxyData.updateAllLampStatus(statusFlag);\n proxyData.setLamp(type, \"\", statusFlag, 0); // 调接口\n } else {\n if (proxyData.forceOverTimeFlag && item.switch) {\n // 强制加班开灯\n contx.emit(\"triggerWork\");\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 startLightsStatusTimer() {\n if (proxyData.lightsStatusTimer) {\n window.clearTimeout(proxyData.lightsStatusTimer);\n proxyData.lightsStatusTimer = null;\n }\n proxyData.lightsStatusTimer = window.setTimeout(() => {\n proxyData.getLampList();\n }, 2000);\n },\n });\n const isShowChildLight = computed(() => {\n return proxyData.lampList.length && proxyData.lampList.length > 1;\n });\n watch(\n props,\n (newProps: any) => {\n if (newProps.spaceId) {\n // 空间id改变的重新获取值调用接口\n console.log(\"spaceid变化了=======\");\n proxyData.startLightsStatusTimer();\n }\n // 定时调空间信息\n proxyData.userIsControl = newProps.userIsControl;\n proxyData.forceOverTimeFlag = newProps.forceOverTimeFlag;\n },\n {\n deep: false,\n immediate: true,\n }\n );\n onBeforeUnmount(() => {\n if (proxyData.lightsStatusTimer) {\n window.clearTimeout(proxyData.lightsStatusTimer);\n proxyData.lightsStatusTimer = null;\n }\n });\n onMounted(() => {\n // console.log('空间切换====d')\n // 获取空调信息\n proxyData.getLampList();\n // proxyData.startLightsStatusTimer()\n });\n return {\n isShowChildLight,\n ...toRefs(proxyData),\n };\n },\n});\n","import { render } from \"./Light.vue?vue&type=template&id=0e4ba0da&scoped=true&ts=true\"\nimport script from \"./Light.vue?vue&type=script&lang=ts\"\nexport * from \"./Light.vue?vue&type=script&lang=ts\"\n\nimport \"./Light.vue?vue&type=style&index=0&id=0e4ba0da&lang=scss&scoped=true\"\nimport \"./Light.vue?vue&type=style&index=1&id=0e4ba0da&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-0e4ba0da\"]])\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-0be68c5b\"),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 \"./Curtain.vue?vue&type=template&id=0be68c5b&scoped=true&ts=true\"\nimport script from \"./Curtain.vue?vue&type=script&lang=ts\"\nexport * from \"./Curtain.vue?vue&type=script&lang=ts\"\n\nimport \"./Curtain.vue?vue&type=style&index=0&id=0be68c5b&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-0be68c5b\"]])\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-100ec62f\"),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 activeType: {\n type: String,\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=100ec62f&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=100ec62f&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-100ec62f\"]])\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-2048181d\"),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 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-b11982ae\"),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=b11982ae&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=b11982ae&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-b11982ae\"]])\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=2048181d&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=2048181d&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-2048181d\"]])\n\nexport default __exports__","\nimport {\n defineComponent,\n reactive,\n toRefs,\n ref,\n onBeforeMount,\n onMounted,\n nextTick,\n onBeforeUnmount,\n} from \"vue\";\nimport WorkOvertime from \"./components/workOvertime/index.vue\";\nimport Contact from \"./components/Contact/index.vue\";\nimport WorkConfig from \"./components/workOvertime/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\";\nimport Scenario from \"@/views/envmonitor/components/Scenario/Scenario.vue\";\nimport Air from \"@/views/envmonitor/components/Air.vue\";\nimport Light from \"@/views/envmonitor/components/Light.vue\";\nimport Curtain from \"@/views/envmonitor/components/Curtain.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 { 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} from \"@/apis/envmonitor\";\nimport Keys from \"@/constant/key\";\nimport {\n formatDate,\n getHours,\n getLocalNewSpaceInfo,\n getNowWeek,\n getUserInfo,\n parseImgUrl,\n setQueryConfig,\n} from \"@/utils\";\nimport { store } from \"@/store\";\nimport { SpaceInfoModel } from \"@/model/userModel\";\nimport { getWorkType } from \"@/utils/mapIcon\";\n\nexport default defineComponent({\n components: {\n MapBox,\n ComMap,\n ScenarioDailog,\n Scenario,\n Header,\n Comheader,\n NavBar,\n Air,\n Light,\n Curtain,\n TimeBox,\n WorkOvertime,\n WorkConfig,\n ScenarioConfig,\n Detail,\n Contact,\n [Dialog.Component.name]: Dialog.Component,\n VanPopup: Popup,\n VanIcon: Icon,\n },\n setup() {\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 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 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 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 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/㎡\",\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 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 const proxyData = reactive({\n parseImgUrl: parseImgUrl,\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 // mapRef: mapRef,\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 closeContactDailog() {\n proxyData.isShowContact = false;\n },\n /**\n * 加班\n */\n triggerWork() {\n proxyData.isShowWork = true;\n },\n /**\n * 关闭加班\n */\n closeWork() {\n proxyData.isShowWork = false;\n console.log(\"关闭加班功能---\");\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 // * 修改空间id\n // * @param spaceId\n // */\n // changeSpaceId(spaceId: any) {\n // proxyData.loadingStart();\n // proxyData.spaceInfo.spaceId = spaceId;\n // proxyData.headerInfo.headScene = \"\";\n // // 切换空间的时候先清除定时器\n // proxyData.clearTimerSpaceInfo();\n // // proxyData.init();\n // // 判断用户是否有可控制权限\n // proxyData.checkUserSpace();\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 // 获取天气信息\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 });\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 // 获取空间信息\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 proxyData.officeData = content[0] ? content[0] : {};\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 // 环境数据\n\n proxyData.checkSpaceType(proxyData.officeData.roomFuncType);\n proxyData.formatSpaceInfo(content);\n // proxyData.setPageheight()\n proxyData.loadinngEnd();\n })\n .catch(() => {\n proxyData.loadinngEnd();\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 } else if (text === \"轻度污染\") {\n bgColor =\n \"linear-gradient(180deg, rgba(205, 11, 0, 0.4) 0%, #CD0B00 100%)\";\n } else if (text === \"中度污染\") {\n bgColor =\n \"linear-gradient(180deg, rgba(205, 11, 0, 0.6) 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\n let level = sortArr.findIndex((item) => item === value);\n let levelTxt = objList[name].text[level];\n let bgColor: any = proxyData.setEnvBg(name, levelTxt);\n return {\n level,\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 // console.log('res====')\n // console.log(res)\n // debugger\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) {\n proxyData.isShowMetting = true;\n proxyData.secenaroStatus = {\n localName: proxyData.officeData.localName,\n loading: item.loading,\n lodingText: item.lodingText,\n sceneName: item.sceneName,\n };\n console.log(proxyData.secenaroStatus);\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 setWorkTime() {\n proxyData.showScenario = false;\n // 修改成功后获取服务定制时间\n proxyData.setTime();\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 // 获取空间下的设备信息\n getEquipments() {\n let params: { spaceId: string } = {\n spaceId: proxyData.spaceInfo.spaceId,\n // projectId: proxyData.projectId,\n };\n /**\n *重新获取设备的时候,先初始化数据\n */\n proxyData.spaceExistenceDevice = {\n curtain: false,\n light: false,\n airConditioner: false,\n bodySensor: false,\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 i = 0; i < data.length; i++) {\n proxyData.spaceExistenceDevice[data[i]] = true;\n }\n // for (let key in proxyData.spaceExistenceDevice) {\n // let flag: any = false;\n // for (let i = 0; i < data.length; i++) {\n // // proxyData.spaceExistenceDevice[data[i]] = true;\n // if (data[i] === key) {\n // flag = true;\n // break;\n // }\n // }\n // proxyData.spaceExistenceDevice[key] = flag;\n // }\n // if (proxyData.spaceExistenceDevice.airConditioner) {\n // proxyData.navList[0].noShow = true\n // } else {\n // proxyData.navList[0].noShow = false\n // }\n // debugger\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 getSetTimeHttp() {\n const params: { spaceId: string } = {\n spaceId: proxyData.spaceInfo.spaceId,\n };\n getSetTimeHttp(params).then((res) => {\n const resData = res;\n // debugger\n const content = resData?.content ?? {};\n // proxyData.workInfo = content\n /* 可选日期和时间的规则是:\n 当下时间至次日服务定制开始时间;\n 如果没有服务定制时间,\n 默认次日8:00 */\n proxyData.nextCusStartTime = content.nextCusStartTime\n ? Math.floor(Number(content.nextCusStartTime / 10000))\n : 9;\n /* 当时间早于 当天服务定制开始时间且不早于2个小时,当前时间-当天服务开始时间 ;\n 否则,当天服务结束时间为开始-明天服务定制开始时间/明天8点\n */\n let date = formatDate(\"\");\n let tomText: string = \"\"; // 明天 文案\n let now = getHours(); // 用户的时间\n let cusEndTime: number = 0; // 服务定制 - 开始时间\n let cusStartTime: number = 0; // 服务定制 - 结束时间\n let changTime: number = 0; // 修改后的时间\n proxyData.showWorkOff = false; // 不显示提前关闭\n\n /*\n 先判断服务定制时间是否跨天,跨天以第二天的开始时间为准\n */\n // 修改以后的时间 endDate 和 endTime\n // 当天\n // debugger\n if (content.endDate && date === content.endDate) {\n changTime = Number(content.endTime / 10000);\n tomText = \"\";\n }\n // 修改到明天\n if (content.endDate && date !== content.endDate) {\n changTime = Number(content.endTime / 10000); // 今天的时间肯定小于明天的 所以+24\n tomText = \"明天\";\n }\n\n /* 无服务定制时间:\n --- 时间弹窗 ----\n 今天显示:当前时间开始,默认是当前时间+2小时\n 次日显示:00点 - 8点\n --- 有设置时间 ---\n 1、 且 设置时间在当前时间之后,显示设置时间\n 2、 且在当前时间之前,显示选择结束时间\n */\n // 无服务定制时间\n if (\n !content.nextCusEndTime &&\n !content.cusStartTime &&\n content.endDate\n ) {\n let daTime = tomText ? changTime + 24 : changTime;\n // console.log('无服务定制', daTime);\n if (now < daTime) {\n proxyData.headerInfo.tipText = `${tomText}${proxyData.hourMiChange(\n changTime\n )}`;\n proxyData.headerInfo.tipTextSwatch = false;\n proxyData.showWorkOff = true; // 提前关闭\n proxyData.workInfo.textTime = proxyData.hourMiChange(changTime);\n proxyData.workInfo.text = tomText ? tomText : \"今天\";\n } else {\n proxyData.headerInfo.tipText = \"选择工作结束时间\";\n proxyData.headerInfo.tipTextSwatch = true;\n proxyData.workInfo.textTime = \"\";\n proxyData.workInfo.text = \"\";\n }\n } else {\n proxyData.headerInfo.tipText = \"选择工作结束时间\";\n proxyData.headerInfo.tipTextSwatch = true;\n proxyData.workInfo.textTime = \"\";\n proxyData.workInfo.text = \"\";\n }\n\n if (!content.cusEndTime) {\n proxyData.cusStartTime = 0; // 今天的服务定制开始时间\n proxyData.cusEndTime = 0; // 今天结束时间\n return;\n }\n // 无服务定制不走下面的代码\n /*\n 有服务定制:\n 当天进来时间、用户修改时间、当天服务定制时间 显示判断;\n 1、今天没有,明天有\n 2、今天有,明天没有\n 3、今天有,明天有\n */\n if (content.cusEndTime) {\n cusStartTime = content.cusStartTime\n ? Number(content.cusStartTime / 10000)\n : 0;\n cusEndTime = content.cusEndTime\n ? Number(content.cusEndTime / 10000)\n : 0;\n proxyData.cusStartTime = Math.floor(cusStartTime); // 今天的服务定制开始时间\n proxyData.cusEndTime = Math.floor(cusEndTime); // 今天的服务定制结束时间\n }\n // 1、用户时间 服务定制时间之内\n // debugger\n if (now >= cusStartTime && now < cusEndTime && !changTime) {\n // console.log('当前时间,服务定制之内,没有更改时间')\n proxyData.headerInfo.tipText = `${tomText}${proxyData.hourMiChange(\n cusEndTime\n )}`;\n proxyData.headerInfo.tipTextSwatch = false;\n } else if (now >= cusStartTime && now < cusEndTime && changTime) {\n const daTime =\n (tomText ? changTime + 24 : changTime) > now\n ? changTime\n : cusEndTime;\n // console.log('当前时间,服务定制之内,有更改时间', daTime)\n proxyData.headerInfo.tipText = `${tomText}${proxyData.hourMiChange(\n daTime\n )}`;\n proxyData.headerInfo.tipTextSwatch = false;\n proxyData.workInfo.textTime = proxyData.hourMiChange(daTime);\n proxyData.workInfo.text = tomText ? tomText : \"今天\";\n } else if (now >= cusEndTime && changTime) {\n //大于服务定制时间\n // (tomText ? changTime + 24 : changTime) 判断changeTime是否跨天\n if ((tomText ? changTime + 24 : changTime) >= now) {\n // console.log('当前时间,服务定制之外,有更改时间且 修改时间大于当前');\n cusEndTime = changTime;\n proxyData.headerInfo.tipText = `${tomText}${proxyData.hourMiChange(\n cusEndTime\n )}`;\n proxyData.headerInfo.tipTextSwatch = false;\n proxyData.showWorkOff = true;\n proxyData.workInfo.textTime = proxyData.hourMiChange(cusEndTime);\n proxyData.workInfo.text = tomText ? tomText : \"今天\";\n } else {\n // console.log('当前时间,服务定制之外,有更改时间且 修改时间小于当前')\n proxyData.headerInfo.tipTextSwatch = true;\n proxyData.headerInfo.tipText = \"选择工作结束时间\";\n proxyData.workInfo.textTime = \"\";\n proxyData.workInfo.text = \"\";\n }\n } else {\n // proxyData.headerInfo.tipTextSwatch = false\n proxyData.headerInfo.tipTextSwatch = true;\n proxyData.headerInfo.tipText = \"选择工作结束时间\";\n // proxyData.headerInfo.tipText = `${tomText}${proxyData.hourMiChange(cusEndTime)}`\n proxyData.workInfo.textTime = \"\";\n proxyData.workInfo.text = \"\";\n }\n });\n },\n // 设置设备的关闭时间\n setTime() {\n proxyData.getSetTimeHttp();\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 if (proxyData.spaceTimer) {\n clearTimeout(proxyData.spaceTimer);\n proxyData.spaceTimer = null;\n }\n },\n // 定时调空间\n timerSpaceInfo(timer: any = 5000) {\n proxyData.clearTimerSpaceInfo();\n proxyData.spaceTimer = setTimeout(() => {\n proxyData.getSpaceInfo();\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 // if (item.sceneType === \"DISCUSSING\" || item.) {\n // proxyData.isMetting = true;\n // }\n });\n },\n /**\n * 获取场景列表\n */\n scenarioArr: scenarioArr,\n querySpaceSceneConfig() {\n let params: any = {\n spaceId: proxyData.spaceInfo.spaceId,\n };\n let str: any = setQueryConfig(params);\n // debugger;\n querySpaceSceneConfig(str).then((res) => {\n let resData: any = res;\n let data: any = resData?.data ?? [];\n proxyData.scenarioArr = data;\n proxyData.checkIsSpaceScene();\n });\n },\n /**\n *查询空间加班记录\n */\n workkArr: workkArr,\n secenTimer: secenTimer,\n queryCustomAndScenceTimer(timer: any = 10000) {\n if (proxyData.secenTimer) {\n clearTimeout(proxyData.secenTimer);\n proxyData.secenTimer = null;\n }\n proxyData.secenTimer = setTimeout(() => {\n proxyData.queryCustomAndScence();\n }, timer);\n },\n queryCustomAndScence() {\n let params: any = {\n spaceId: proxyData.spaceInfo.spaceId,\n };\n let str: any = setQueryConfig(params);\n queryCustomAndScence(str).then((res) => {\n let resData: any = res?.data ?? [];\n proxyData.workkArr = resData;\n for (let i = 0; i < proxyData.workkArr.length; i++) {\n let customSceneList: any =\n proxyData.workkArr[i]?.customSceneList ?? [];\n customSceneList = customSceneList.sort(proxyData.compare);\n }\n\n proxyData.queryCustomAndScenceTimer(5000);\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 formateWorkTime() {},\n /**\n * 空间相关的接口\n */\n init() {\n // proxyData.roomType = \"\";\n // 获取场景配置\n proxyData.querySpaceSceneConfig();\n // 查询加班记录\n proxyData.queryCustomAndScenceTimer(0);\n proxyData.timerSpaceInfo(0);\n // 获取空间下的设备信息\n proxyData.getEquipments();\n proxyData.setTime();\n // 定时获取空间模式\n // proxyData.getSpaceModeTimer()\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 setTimerCloseTip() {\n let timeNum: number = 0;\n proxyData.intervalTimer = setInterval(() => {\n timeNum++;\n if (timeNum > 2) {\n proxyData.showSpaceTip = false;\n clearInterval(proxyData.intervalTimer);\n proxyData.updatePageUrl();\n }\n }, 1000);\n },\n // 平板当前空间\n spaceData: spaceData,\n copySpaceData: spaceData,\n floorId: \"\",\n buildingId: \"\",\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 proxyData.spaceData.map((item: any) => {\n item.active = false;\n });\n proxyData.roomType = \"\";\n // 切换空间的时候把加班按钮平板\n proxyData.setForceOverTimeFlag(false);\n proxyData.isWork = 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 console.log(proxyData.spaceData);\n },\n // 切换空间\n changeSpace(item: any, type: any = 0) {\n // 定时清除空间信息\n proxyData.clearTimerSpaceInfo();\n // 重置当前选中空间的状态\n proxyData.resetSpaceStatus();\n proxyData.spaceInfo = item;\n proxyData.init();\n if (type === 1) {\n // proxyData.isShowMap = false;\n proxyData.defaultSpace = item;\n proxyData.elChangeExForArray(item);\n }\n item.active = true;\n },\n timeOutEvent: timeOutEvent,\n gtouchstart() {\n proxyData.timeOutEvent = setTimeout(function () {\n proxyData.longPress();\n }, 500); //这里设置定时器,定义长按500毫秒触发长按事件\n return false;\n },\n //手释放,如果在500毫秒内就释放,则取消长按事件,此时可以执行onclick应该执行的事件\n showDeleteButton() {\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 //真正长按后应该执行的内容\n longPress() {\n proxyData.timeOutEvent = 0;\n //执行长按要执行的内容,如弹出菜单\n // console.log(\"长按\");\n router.push({\n name: \"choiceSpace\",\n query: { id: proxyData.projectId },\n });\n },\n });\n nextTick(() => {\n // proxyData.envmonitorMove()\n // proxyData.envScrollTop()\n });\n onBeforeUnmount(() => {\n proxyData.clearTimerSpaceInfo();\n });\n onMounted(() => {\n // debugger\n // 获取天气信息\n // console.log(\"router====\")\n // console.log(route.query)\n let spaceId: any = route.query.spaceId;\n proxyData.spaceInfo = {\n // spaceId: \"Sp1101080259ce19c0effb604fe380f3a00c37e3959e\",\n spaceId: spaceId,\n };\n proxyData.defaultSpace = {\n spaceId: spaceId,\n };\n proxyData.getWeather();\n proxyData.init();\n // 获取当前平板绑定的空间\n proxyData.queryWorkSpace();\n });\n return {\n ...toRefs(proxyData),\n };\n },\n});\n","import { render } from \"./index.vue?vue&type=template&id=7125a518&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=7125a518&lang=scss&scoped=true\"\nimport \"./index.vue?vue&type=style&index=1&id=7125a518&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-7125a518\"]])\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!./scenarioDailog.vue?vue&type=style&index=0&id=100ec62f&lang=scss&scoped=true\"","import \"../../style/base.css\";\nimport \"../../badge/index.css\";\nimport \"../../icon/index.css\";\nimport \"../../cell/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!./Light.vue?vue&type=style&index=0&id=0e4ba0da&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","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=3ed2c47e&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=7125a518&lang=scss&scoped=true\"","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!./SpaceBox.vue?vue&type=style&index=0&id=b11982ae&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!./Air.vue?vue&type=style&index=0&id=04a39b5e&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!./Curtain.vue?vue&type=style&index=0&id=0be68c5b&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=1&id=7125a518&lang=scss\"","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"],"sourceRoot":""}