{"version":3,"sources":["webpack:///./src/views/videoDevice/play/videos.vue?937e","webpack:///./src/components/hikVideo/index.vue?43a9","webpack:///src/components/hikVideo/index.vue","webpack:///./src/components/hikVideo/index.vue?1e45","webpack:///./src/components/hikVideo/index.vue","webpack:///./src/api/videoDevice/play.ts","webpack:///./src/views/videoDevice/play/index.vue?c34d","webpack:///./src/views/videoDevice/play/videos.vue?e539","webpack:///./src/views/videoDevice/play/videos.vue?71fd","webpack:///./src/views/videoDevice/play/videos.vue?5f6a","webpack:///./src/views/videoDevice/play/videos.vue","webpack:///./src/views/videoDevice/play/grouping.vue?8fa7","webpack:///./src/views/videoDevice/play/grouping.vue?ec66","webpack:///./src/views/videoDevice/play/grouping.vue?4598","webpack:///./src/views/videoDevice/play/grouping.vue","webpack:///./src/views/videoDevice/play/rotation.vue?2d5a","webpack:///./src/views/videoDevice/play/rotation.vue?2af7","webpack:///./src/views/videoDevice/play/rotation.vue?85e0","webpack:///./src/views/videoDevice/play/rotation.vue","webpack:///./src/components/videoPlay/rotation.vue?31ea","webpack:///./src/components/videoPlay/rotation.vue?037c","webpack:///./src/components/videoPlay/rotation.vue?81e8","webpack:///./src/components/videoPlay/rotation.vue","webpack:///./src/components/videoPlay/group.vue?65dd","webpack:///./src/components/videoPlay/group.vue?3592","webpack:///./src/components/videoPlay/group.vue?8403","webpack:///./src/components/videoPlay/group.vue","webpack:///./src/components/videoPlay/selectPoints.vue?9b81","webpack:///./src/components/videoPlay/selectPoints.vue?44e7","webpack:///./src/components/videoPlay/selectPoints.vue?f4a0","webpack:///./src/components/videoPlay/selectPoints.vue","webpack:///./src/views/videoDevice/play/index.vue?74ad","webpack:///./src/views/videoDevice/play/index.vue?f7d0","webpack:///./src/views/videoDevice/play/index.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","style","height","width","attrs","containerId","_v","_s","msg","staticClass","getFileUrl","_e","staticRenderFns","name","props","type","Number","default","videoCode","String","codeList","Array","layout","wndNum","refTarget","isPlayBack","Boolean","data","wndList","playCount","playing","playTitle","playback_start","playback_end","oWebControl","playBackDateRange","initCount","pubKey","recordLocation","appkey","secretKey","ip","port","snapDir","videoDir","enableHTTPS","encryptedFields","showToolbar","showSmart","buttonIDs","streamMode","transMode","gpuMode","wndId","downloadPlugin","plugnFile","created","mounted","opt","window","baseConfig","WebControl","Appkey","SecretKey","IP","Port","beforeDestroy","destroyPlugin","methods","getPluginFile","Id","initPlugin","szPluginContainer","iServicePortStart","iServicePortEnd","szClassId","cbConnectSuccess","console","log","cbConnectError","JS_WakeUp","setTimeout","cbConnectClose","bNormalClose","JS_HideWnd","JS_Disconnect","then","onscroll","onresize","hideWnd","showWnd","JS_ShowWnd","init","getPubKey","argu","secret","playMode","setEncrypt","encrypt","JSEncrypt","setPublicKey","value","cbIntegrationCallBack","oData","resData","length","msgObj","parseInt","cameraIndexcode","wndObj","code","newWndList","i","newNum","push","eventBus","$emit","targetId","playList","play","storageType","cur","find","mod","getWnd","start","setLayout","layoutList","ly","JS_RequestInterface","funcName","argument","JSON","stringify","startMulit","stopAll","codes","map","smList","list","cameraIndexCode","sm","ezvizDirect","fnName","startPlayBack","$message","warning","startDate","tsStart","Date","getTime","tsEnd","endDate","Math","floor","toString","replace","startTimeStamp","endTimeStamp","setResize","toResize","JS_Resize","registerResizeEvent","component","apiUrl","GetUnitList","GetUnitVideos","id","onlineStatus","GetGroupList","GetGroup","PostGroup","PutGroup","DeleteGroup","GetRotationList","GetRotationGroups","GetRotationVideos","GetRotation","PostRotation","PutRotation","DeleteRotation","GetGroupVideos","VideoRotationData","RotationName","VideoNumber","PlayDuration","GroupList","VideoGroupData","GroupName","GroupType","Sequence","PointList","getGroupInfo","method","url","postGroup","form","putGroup","removeGroup","getRotationInfo","postRotation","putRotation","removeRotation","getUnitList","param","params","getUnitVideos","getGroupList","getGroupVideos","getRotationList","getRotationGroups","getRotationVideos","on","tabClick","model","callback","$$v","tabName","expression","ref","videoPlays","groupPlays","rotationPlays","playingMsg","vWidth","vHeight","nativeOn","$event","indexOf","_k","keyCode","key","doSearch","queryTerm","$set","onlineChange","onlyOnline","playVideo","addGroup","directives","rawName","expandKey","fetchVideo","scopedSlots","_u","fn","parent","row","childs","point","Online","checkSub","$index","class","PointName","scope","OnlineCount","checkAll","unitClick","isUserProvince","isUserCity","CityName","CountyName","UnitName","TotalCount","UserModule","listLoading","Page","PageSize","SortBy","IsAsc","OnlineStatus","Keyword","expandedRows","loading","UnitId","response","forEach","e","checked","index","findIndex","v","splice","item","selectedChilds","filter","f","j","PointNumber","StreamMode","count","hikVideoCount","callPlay","clearChecked","points","GroupId","GroupSeq","VideoPointId","fetchData","items","Results","route","userType","curUser","UserType","CityHeritage","CityFinance","ProvinceHeritage","ProvinceFinance","Getter","components","btnCtrl","HasAdd","doAdd","expandKey1","doPlay","doEdit","doDel","PagePermissionModule","s","pagePermission","p","$route","path","pagePath","permission","getPermission","$on","info","$off","group","playData","$confirm","confirmButtonText","cancelButtonText","message","catch","fetchGroup","expandKey2","child","subRow","index1","RotationId","rotation","index2","rot","groupData","g","groups","min","showDialog","close","onSubmit","rules","expandNames","slot","maxNum","_l","newGroup","editGroup","delGroup","required","trigger","validator","validate","editIndex","open","updateGroup","openDialog","$refs","formData","resetFields","closeDialog","$nextTick","clearValidate","error","num","valid","obj","Object","assign","groupCount","promist","IsError","sendData","dangerouslyUseHTMLString","Message","FormDialog","searchPoints","delPoint","isRotation","addPoints","pointCount","getItems","proxy","staticStyle","AppModule","rotationPlayIndex","loopTimer","showVideoCtrl","refVideoList","loadData","refGroupList","refRotationList","tab","event","stopPlay","multiPlay","loopPlay","timeOut","refHikVideo","clearTimeout","clearTimer","dom","document","getElementById","w","offsetWidth","h","documentElement","clientHeight","getWidth","getHeight","videoResize","loadCtrls","$data","$options","deep","cbHikVideo","VideoList","RotationList","VideoGroupForm","SearchVideoPoint","VideoRotationForm"],"mappings":"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","file":"js/chunk-4ba7b9be.6f38eee5.js","sourcesContent":["import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./videos.vue?vue&type=style&index=0&id=60f05135&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./videos.vue?vue&type=style&index=0&id=60f05135&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{style:({height:_vm.height+'px',width:_vm.width+'px'}),attrs:{\"id\":_vm.containerId}},[_vm._v(\"\\n \"+_vm._s(_vm.msg)),(_vm.downloadPlugin)?_c('span',[_c('a',{staticClass:\"color-link\",attrs:{\"href\":_vm.getFileUrl(),\"target\":\"_blank\",\"title\":\"点击下载视频插件\"}},[_vm._v(\"\\n 下载插件\\n \")])]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=6d774c41&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6d774c41\",\n null\n \n)\n\nexport default component.exports","import { tryAxios } from '@/api/common/auth'\r\nimport { urlPrefix } from '@/configs/api'\r\n\r\nconst apiUrl = `${urlPrefix}/VideoPlay`\r\n//#region 数据源相关api\r\n/** 有监控点的文保单位集合 */\r\nconst GetUnitList = `${apiUrl}/units`\r\nconst GetUnitVideos = (id: number, onlineStatus: number) => `${apiUrl}/unit/videos/${id}_${onlineStatus}`\r\n\r\n/** 视频分组 */\r\nconst GetGroupList = `${apiUrl}/groups`\r\nconst GetGroup = (id: number) => `${apiUrl}/group/${id}`\r\nconst PostGroup = `${apiUrl}/group`\r\nconst PutGroup = (id: number) => `${apiUrl}/group/${id}`\r\nconst DeleteGroup = (id: number) => `${apiUrl}/group/${id}`\r\n\r\n/** 视频轮播 */\r\nconst GetRotationList = `${apiUrl}/rotations`\r\nconst GetRotationGroups = (id: number) => `${apiUrl}/rotation/groups/${id}`\r\nconst GetRotationVideos = (id: number) => `${apiUrl}/rotation/videos/${id}`\r\nconst GetRotation = (id: number) => `${apiUrl}/rotation/${id}`\r\nconst PostRotation = `${apiUrl}/rotation`\r\nconst PutRotation = (id: number) => `${apiUrl}/rotation/${id}`\r\nconst DeleteRotation = (id: number) => `${apiUrl}/rotation/${id}`\r\n\r\n/** 分组下的视频,轮播组中的子分组也是调用这个 */\r\nconst GetGroupVideos = (id: number) => `${apiUrl}/group/videos/${id}`\r\n//#endregion\r\n\r\nexport class VideoRotationData {\r\n [key: string]: any\r\n Id: number\r\n RotationName: string\r\n VideoNumber: number\r\n PlayDuration: number\r\n GroupList: VideoGroupData[]\r\n constructor() {\r\n this.Id = 0\r\n this.RotationName = ''\r\n this.VideoNumber = 0\r\n this.PlayDuration = 0\r\n this.GroupList = []\r\n }\r\n}\r\nexport class VideoGroupData {\r\n [key: string]: any\r\n Id: number\r\n GroupName: string\r\n GroupType: number\r\n Sequence: number\r\n PointList: VideoGroupPointData[]\r\n constructor() {\r\n this.Id = 0\r\n this.GroupName = ''\r\n this.GroupType = 0\r\n this.Sequence = 0\r\n this.PointList = []\r\n }\r\n}\r\nexport class VideoGroupPointData {\r\n [key: string]: any\r\n Id: number\r\n GroupId: number\r\n GroupName: string\r\n GroupSeq: number\r\n VideoPointId: number\r\n Sequence: number\r\n PointNumber: string\r\n PointName: string\r\n StreamMode: number\r\n Online: number\r\n constructor() {\r\n this.Id = 0\r\n this.GroupId = 0\r\n this.GroupName = ''\r\n this.GroupSeq = 0\r\n this.VideoPointId = 0\r\n this.Sequence = 0\r\n this.PointNumber = ''\r\n this.PointName = ''\r\n this.StreamMode = 0\r\n this.Online = 0\r\n }\r\n}\r\n\r\n//#region 分组维护\r\nexport const getGroupInfo = (id: number) => {\r\n return tryAxios({\r\n method: 'get',\r\n url: GetGroup(id)\r\n })\r\n}\r\nexport const postGroup = (form: any) => {\r\n return tryAxios({\r\n method: 'post',\r\n url: PostGroup,\r\n data: form\r\n })\r\n}\r\nexport const putGroup = (id: number, form: any) => {\r\n return tryAxios({\r\n method: 'put',\r\n url: PutGroup(id),\r\n data: form\r\n })\r\n}\r\nexport const removeGroup = (id: number) => {\r\n return tryAxios({\r\n method: 'delete',\r\n url: DeleteGroup(id)\r\n })\r\n}\r\n//#endregion\r\n\r\n//#region 轮播组维护\r\nexport const getRotationInfo = (id: number) => {\r\n return tryAxios({\r\n method: 'get',\r\n url: GetRotation(id)\r\n })\r\n}\r\nexport const postRotation = (form: any) => {\r\n return tryAxios({\r\n method: 'post',\r\n url: PostRotation,\r\n data: form\r\n })\r\n}\r\nexport const putRotation = (id: number, form: any) => {\r\n return tryAxios({\r\n method: 'put',\r\n url: PutRotation(id),\r\n data: form\r\n })\r\n}\r\nexport const removeRotation = (id: number) => {\r\n return tryAxios({\r\n method: 'delete',\r\n url: DeleteRotation(id)\r\n })\r\n}\r\n//#endregion\r\nexport const getUnitList = (param: any) => {\r\n return tryAxios({\r\n method: 'get',\r\n url: GetUnitList,\r\n params: param\r\n })\r\n}\r\nexport const getUnitVideos = (id: number, onlineStatus: number) => {\r\n return tryAxios({\r\n method: 'get',\r\n url: GetUnitVideos(id, onlineStatus)\r\n })\r\n}\r\nexport const getGroupList = (param: any) => {\r\n return tryAxios({\r\n method: 'get',\r\n url: GetGroupList,\r\n params: param\r\n })\r\n}\r\nexport const getGroupVideos = (id: number) => {\r\n return tryAxios({\r\n method: 'get',\r\n url: GetGroupVideos(id)\r\n })\r\n}\r\nexport const getRotationList = (param: any) => {\r\n return tryAxios({\r\n method: 'get',\r\n url: GetRotationList,\r\n params: param\r\n })\r\n}\r\nexport const getRotationGroups = (id: number) => {\r\n return tryAxios({\r\n method: 'get',\r\n url: GetRotationGroups(id)\r\n })\r\n}\r\nexport const getRotationVideos = (id: number) => {\r\n return tryAxios({\r\n method: 'get',\r\n url: GetRotationVideos(id)\r\n })\r\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"video3\"},[_c('el-row',{attrs:{\"gutter\":10}},[_c('el-col',{attrs:{\"span\":6}},[_c('el-tabs',{on:{\"tab-click\":_vm.tabClick},model:{value:(_vm.tabName),callback:function ($$v) {_vm.tabName=$$v},expression:\"tabName\"}},[_c('el-tab-pane',{attrs:{\"label\":\"视频\",\"name\":\"list\"}},[_c('video-list',{ref:\"refVideoList\",attrs:{\"callPlay\":_vm.videoPlays}})],1),_c('el-tab-pane',{attrs:{\"label\":\"分组\",\"name\":\"grouping\"}},[_c('group-list',{ref:\"refGroupList\",attrs:{\"hideWnd\":_vm.hideWnd,\"showWnd\":_vm.showWnd,\"callPlay\":_vm.groupPlays}})],1),_c('el-tab-pane',{attrs:{\"label\":\"轮播\",\"name\":\"rotation\"}},[_c('rotation-list',{ref:\"refRotationList\",attrs:{\"hideWnd\":_vm.hideWnd,\"showWnd\":_vm.showWnd,\"callPlay\":_vm.rotationPlays}})],1)],1)],1),_c('el-col',{attrs:{\"span\":18}},[_c('div',{staticClass:\"simple-box\"},[_c('header',[_c('div',[_vm._v(\"视频播放 \"+_vm._s(_vm.playingMsg))])]),_c('el-row',{attrs:{\"id\":\"videoContainer\"}},[_c('el-col',{attrs:{\"span\":24}},[(_vm.showVideoCtrl)?_c('cb-hik-video',{ref:\"refHikVideo\",attrs:{\"refTarget\":_vm.targetId,\"width\":_vm.vWidth,\"height\":_vm.vHeight}}):_vm._e()],1)],1)],1)])],1),_c('video-group-form',{attrs:{\"openDialog\":_vm.hideWnd,\"closeDialog\":_vm.showWnd}}),_c('video-rotation-form',{attrs:{\"openDialog\":_vm.hideWnd,\"closeDialog\":_vm.showWnd}}),_c('search-video-point')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"page-list\"},[_c('div',{staticClass:\"main-search-form\"},[_c('div',{staticClass:\"few-filter\"},[_c('el-row',[_c('el-col',{attrs:{\"span\":24}},[_c('div',{staticClass:\"f-left w-key\"},[_c('el-input',{attrs:{\"placeholder\":\"单位编号、单位名称\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.doSearch($event)}},model:{value:(_vm.queryTerm.Keyword),callback:function ($$v) {_vm.$set(_vm.queryTerm, \"Keyword\", $$v)},expression:\"queryTerm.Keyword\"}})],1),_c('div',{staticClass:\"f-right\"},[_c('el-button',{attrs:{\"type\":\"search\",\"icon\":\"iconfont icon-search\"},on:{\"click\":_vm.doSearch}},[_vm._v(\"查询\")])],1)])],1)],1),_c('el-row',[_c('el-col',{attrs:{\"span\":24}},[_c('div',{staticClass:\"f-left\"},[_c('el-checkbox',{on:{\"change\":_vm.onlineChange},model:{value:(_vm.onlyOnline),callback:function ($$v) {_vm.onlyOnline=$$v},expression:\"onlyOnline\"}},[_vm._v(\"仅在线\")])],1),_c('div',{staticClass:\"f-right\"},[_c('el-link',{attrs:{\"type\":\"success\",\"icon\":\"iconfont icon-play\"},on:{\"click\":_vm.playVideo}},[_vm._v(\"播放视频\")]),_c('el-link',{attrs:{\"type\":\"danger\",\"icon\":\"iconfont icon-accept\"},on:{\"click\":_vm.addGroup}},[_vm._v(\"保存分组\")])],1)])],1)],1),_c('div',{staticClass:\"items\"},[_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.listLoading),expression:\"listLoading\"}],staticClass:\"table-tree hide-header\",attrs:{\"data\":_vm.list,\"expand-row-keys\":_vm.expandKey,\"row-key\":\"UnitId\"},on:{\"expand-change\":_vm.fetchVideo}},[_c('el-table-column',{attrs:{\"type\":\"expand\",\"width\":\"20\"},scopedSlots:_vm._u([{key:\"default\",fn:function(parent){return [_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(parent.row.loading),expression:\"parent.row.loading\"}],attrs:{\"data\":parent.row.childs,\"show-header\":false}},[_c('el-table-column',{attrs:{\"prop\":\"PointName\",\"label\":\"监控点名称\"},scopedSlots:_vm._u([{key:\"default\",fn:function(point){return [_c('el-checkbox',{attrs:{\"disabled\":point.row.Online!=1},on:{\"change\":function($event){return _vm.checkSub(parent.$index)}},model:{value:(point.row.checked),callback:function ($$v) {_vm.$set(point.row, \"checked\", $$v)},expression:\"point.row.checked\"}},[_c('span',{class:point.row.Online==-1?'color-info':(point.row.Online==0?'color-error':'')},[(point.row.Online==1)?_c('i',{staticClass:\"iconfont icon-online-camera\"}):(point.row.Online==0)?_c('i',{staticClass:\"iconfont icon-offline-camera\"}):_c('i',{staticClass:\"iconfont icon-unknown\"}),_vm._v(\"\\n \"+_vm._s(point.row.PointName)+\"\\n \")])])]}}],null,true)})],1)]}}])}),_c('el-table-column',{attrs:{\"prop\":\"UnitName\",\"label\":\"文保单位及视频点\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('div',[(scope.row.childs&&scope.row.childs.length>0&&scope.row.OnlineCount>0)?_c('el-checkbox',{on:{\"change\":function($event){return _vm.checkAll(scope.$index)}},model:{value:(scope.row.checked),callback:function ($$v) {_vm.$set(scope.row, \"checked\", $$v)},expression:\"scope.row.checked\"}},[_c('span')]):_vm._e(),_c('span',{staticClass:\"overflow-unit-row\",attrs:{\"title\":\"点击展示监控点\"},on:{\"click\":function($event){return _vm.unitClick(scope.row)}}},[_vm._v(\"\\n \"+_vm._s(scope.$index+1)+\".\\n \"),(_vm.isUserProvince||_vm.isUserCity)?_c('span',{staticClass:\"hidden-item color-danger\"},[_vm._v(\"\\n [\"),(_vm.isUserProvince)?_c('span',[_vm._v(_vm._s(scope.row.CityName))]):_vm._e(),_vm._v(_vm._s(scope.row.CountyName)+\"]\\n \")]):_vm._e(),_vm._v(\"\\n \"+_vm._s(scope.row.UnitName)+\"(\"+_vm._s(scope.row.OnlineCount)+\"/\"+_vm._s(scope.row.TotalCount)+\")\\n \")])],1)]}}])})],1)],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator'\r\nimport { getUnitVideos, getUnitList, VideoGroupPointData } from '@/api/videoDevice/play'\r\nimport { newGuid } from '@/configs/functions'\r\n\r\nimport { UserData } from '@/api/systemManage/user'\r\nimport { namespace } from 'vuex-class'\r\nimport { enUserType } from '@/configs/enums'\r\nconst UserModule = namespace('user')\r\n@Component({\r\n components: {}\r\n})\r\n/**视频列表 */\r\nexport default class VideoList extends Vue {\r\n @UserModule.Getter('userInfo')\r\n public curUser!: UserData\r\n public get isUserCity(): boolean {\r\n var userType = this.curUser.UserType\r\n return userType == enUserType.CityHeritage || userType == enUserType.CityFinance\r\n }\r\n public get isUserProvince(): boolean {\r\n var userType = this.curUser.UserType\r\n return userType == enUserType.ProvinceHeritage || userType == enUserType.ProvinceFinance\r\n }\r\n @Prop({ default: null })\r\n public callPlay!: Function\r\n\r\n public listLoading: boolean = false\r\n public onlyOnline: boolean = false\r\n public list: any[] = []\r\n public queryTerm = {\r\n Page: 0,\r\n PageSize: 9999,\r\n SortBy: 'CityName',\r\n IsAsc: true,\r\n\r\n /**0全部 1离线 2在线 3未知 */\r\n OnlineStatus: 0,\r\n Keyword: ''\r\n }\r\n public created() {\r\n }\r\n public mounted() {\r\n }\r\n public expandKey: number[] = []\r\n public fetchVideo(row: any, expandedRows: any) {\r\n if (!row.childs || row.childs.length == 0) {\r\n row.childs = []\r\n row.loading = true\r\n var onlineStatus = this.onlyOnline ? 2 : 0\r\n getUnitVideos(row.UnitId, onlineStatus).then((response: { data: any }) => {\r\n const data = response.data\r\n if (data) {\r\n data.forEach((e: any, i: number) => {\r\n e.checked = false\r\n })\r\n row.childs = data\r\n row.loading = false\r\n var index = this.list.findIndex((v: any) => v.UnitId == row.UnitId)\r\n this.$set(this.list, index, row)\r\n }\r\n })\r\n }\r\n }\r\n\r\n public unitClick(e: any) {\r\n var index = this.expandKey.findIndex((v: number) => v == e.UnitId)\r\n if (index == -1) {\r\n this.expandKey = [e.UnitId]\r\n this.fetchVideo(e, null)\r\n }\r\n else {\r\n this.expandKey.splice(index, 1)\r\n }\r\n }\r\n public checkSub(index: number) {\r\n var item = this.list[index]\r\n var selectedChilds = item.childs.filter((v: any) => v.checked)\r\n if (selectedChilds.length == item.OnlineCount && item.checked == false) {\r\n item.checked = true\r\n }\r\n }\r\n public checkAll(index: number) {\r\n var item = this.list[index]\r\n item.childs.filter((v: any) => v.Online == 1).forEach((e: any, i: number) => {\r\n // if (e.Online == 1) {\r\n e.checked = item.checked\r\n // }\r\n })\r\n }\r\n public clearChecked() {\r\n this.list.forEach((e: any, i: number) => {\r\n e.checked = false\r\n // 这里e.childs需要判断下,有些没有展开的项,childs为null\r\n if (e.childs && e.childs.length > 0) {\r\n e.childs.forEach((f: any, j: number) => {\r\n f.checked = false\r\n })\r\n }\r\n })\r\n }\r\n public playVideo() {\r\n var codes: any[] = []\r\n this.list.forEach((e: any, i: number) => {\r\n if (e.childs && e.childs.length > 0) {\r\n var childs = e.childs.filter((v: any) => v.checked)\r\n if (childs && childs.length > 0) {\r\n childs.forEach((f: any, j: number) => {\r\n //只播放在线的视频\r\n if (f.Online == 1) {\r\n codes.push({ code: f.PointNumber, sm: f.StreamMode })\r\n }\r\n })\r\n }\r\n }\r\n })\r\n var count = codes.length\r\n if (count > window.hikVideoCount) {\r\n this.$message.warning('同时播放的视频数不能超过' + window.hikVideoCount + '个')\r\n }\r\n else if (count > 0) {\r\n if (this.callPlay) {\r\n this.callPlay(codes)\r\n this.clearChecked()\r\n }\r\n }\r\n else {\r\n this.$message.warning('请选择需要播放的视频')\r\n }\r\n }\r\n public targetId: string = ''\r\n public addGroup() {\r\n var points: VideoGroupPointData[] = []\r\n this.list.forEach((e: any, i: number) => {\r\n if (e.childs && e.childs.length > 0) {\r\n var childs = e.childs.filter((v: any) => v.checked)\r\n if (childs && childs.length > 0) {\r\n childs.forEach((f: any, j: number) => {\r\n //只播放在线的视频\r\n if (f.Online == 1) {\r\n points.push({\r\n Id: 0, GroupId: 0, GroupName: '', GroupSeq: 0, Sequence: 0, Online: f.Online,\r\n VideoPointId: f.Id, PointNumber: f.PointNumber, PointName: f.PointName, StreamMode: f.StreamMode\r\n })\r\n }\r\n })\r\n }\r\n }\r\n })\r\n var count = points.length\r\n if (count > window.hikVideoCount) {\r\n this.$message.warning('同时播放的视频数不能超过' + window.hikVideoCount + '个')\r\n }\r\n else if (count > 0) {\r\n if (this.targetId == '') {\r\n this.targetId = newGuid()\r\n }\r\n var data: any = { points: points, targetId: this.targetId }\r\n window.eventBus.$emit(\"openVideoGroupForm_points\", data)\r\n\r\n this.clearChecked()\r\n }\r\n else {\r\n this.$message.warning('请选择需要保存的视频')\r\n }\r\n }\r\n //数据加载\r\n public loadData() {\r\n //触发控件的查询事件\r\n this.fetchData()\r\n }\r\n public doSearch() {\r\n this.fetchData()\r\n }\r\n public fetchData() {\r\n this.listLoading = true\r\n this.expandKey = []\r\n getUnitList(this.queryTerm).then((response: { data: any }) => {\r\n const data = response.data\r\n if (data) {\r\n var items = data.Results\r\n items.forEach((e: any, i: number) => {\r\n e.checked = false\r\n })\r\n this.list = items\r\n\r\n /*\r\n //页面首次加载时,默认打开第一个节点\r\n if (this.expandKey.length == 0 && items.length > 0) {\r\n var row = items.find((v: any) => v.OnlineCount > 0)// units[0]\r\n if (row && row.UnitId > 0) {\r\n this.expandKey = [row.UnitId]\r\n this.fetchVideo(row, null)\r\n }\r\n }\r\n */\r\n }\r\n this.listLoading = false\r\n })\r\n }\r\n public onlineChange() {\r\n this.queryTerm.OnlineStatus = this.onlyOnline ? 2 : 0\r\n this.doSearch()\r\n }\r\n // 在当前路由改变,但是该组件被复用时调用\r\n @Watch('$route')\r\n public onRouteChange(route: any) {\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./videos.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./videos.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./videos.vue?vue&type=template&id=60f05135&scoped=true&\"\nimport script from \"./videos.vue?vue&type=script&lang=ts&\"\nexport * from \"./videos.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./videos.vue?vue&type=style&index=0&id=60f05135&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"60f05135\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"page-list\"},[_c('div',{staticClass:\"main-search-form\"},[_c('div',{staticClass:\"few-filter\"},[_c('el-row',[_c('el-col',{attrs:{\"span\":24}},[_c('div',{staticClass:\"f-left\",style:({'width': 'calc(100% - '+(_vm.btnCtrl.HasAdd?'175px':'88px')+')'})},[_c('el-input',{attrs:{\"placeholder\":\"分组名称\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.doSearch($event)}},model:{value:(_vm.queryTerm.Keyword),callback:function ($$v) {_vm.$set(_vm.queryTerm, \"Keyword\", $$v)},expression:\"queryTerm.Keyword\"}})],1),_c('div',{staticClass:\"f-right\"},[_c('el-button',{attrs:{\"type\":\"search\",\"icon\":\"iconfont icon-search\"},on:{\"click\":_vm.doSearch}},[_vm._v(\"查询\")]),(_vm.btnCtrl.HasAdd)?_c('el-button',{attrs:{\"type\":\"new\",\"icon\":\"iconfont icon-circle-plus-outline\"},on:{\"click\":_vm.doAdd}},[_vm._v(\"\\n 新增\")]):_vm._e()],1)])],1)],1)]),_c('div',{staticClass:\"items\"},[_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.listLoading),expression:\"listLoading\"}],staticClass:\"table-tree hide-header\",attrs:{\"data\":_vm.list,\"expand-row-keys\":_vm.expandKey1,\"row-key\":\"Id\"},on:{\"expand-change\":_vm.fetchVideo}},[_c('el-table-column',{attrs:{\"type\":\"expand\",\"width\":\"20\"},scopedSlots:_vm._u([{key:\"default\",fn:function(parent){return [_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(parent.row.loading),expression:\"parent.row.loading\"}],attrs:{\"data\":parent.row.childs,\"show-header\":false}},[_c('el-table-column',{attrs:{\"prop\":\"PointName\",\"label\":\"监控点名称\"},scopedSlots:_vm._u([{key:\"default\",fn:function(point){return [_c('span',{class:point.row.Online==-1?'color-info':(point.row.Online==0?'color-error':'')},[(point.row.Online==1)?_c('i',{staticClass:\"iconfont icon-online-camera\"}):(point.row.Online==0)?_c('i',{staticClass:\"iconfont icon-offline-camera\"}):_c('i',{staticClass:\"iconfont icon-unknown\"}),_vm._v(\"\\n \"+_vm._s(point.row.PointName)+\"\\n \")])]}}],null,true)})],1)]}}])}),_c('el-table-column',{attrs:{\"prop\":\"GroupName\",\"label\":\"分组名称\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('div',[_vm._v(\"\\n \"+_vm._s(scope.$index+1)+\".\"+_vm._s(scope.row.GroupName)+\"\\n \")])]}}])}),_c('el-table-column',{attrs:{\"class-name\":\"action\",\"label\":\"操作\",\"width\":\"110\",\"align\":\"center\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-tooltip',{attrs:{\"content\":\"播放\",\"placement\":\"top\"}},[_c('a',{on:{\"click\":function($event){return _vm.doPlay(scope.$index)}}},[_c('i',{staticClass:\"iconfont icon-play\"})])]),(_vm.btnCtrl.HasEdit)?_c('el-tooltip',{attrs:{\"content\":\"修改\",\"placement\":\"top\"}},[_c('a',{on:{\"click\":function($event){return _vm.doEdit(scope.row.Id)}}},[_c('i',{staticClass:\"iconfont icon-pen-edit\"})])]):_vm._e(),(_vm.btnCtrl.HasDel)?_c('el-tooltip',{attrs:{\"content\":\"删除\",\"placement\":\"top\"}},[_c('a',{on:{\"click\":function($event){return _vm.doDel(scope.row.Id)}}},[_c('i',{staticClass:\"iconfont icon-trash\"})])]):_vm._e()]}}])})],1)],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator'\r\nimport { getGroupVideos, getGroupList, removeGroup } from '@/api/videoDevice/play'\r\nimport { namespace } from 'vuex-class'\r\nimport { FailedPermission, PagePermissionState, PermissionData } from '@/store/modules/pagePermission'\r\nimport { newGuid } from '@/configs/functions'\r\nconst PagePermissionModule = namespace('pagePermission')\r\n\r\n@Component({\r\n components: {\r\n }\r\n})\r\n/**视频分组 */\r\nexport default class GroupList extends Vue {\r\n @PagePermissionModule.Getter('pagePermission')\r\n public pagePermission!: PagePermissionState\r\n public btnCtrl: PermissionData = FailedPermission\r\n public getPermission() {\r\n const s = this.pagePermission\r\n let p = FailedPermission\r\n if (this.$route.path.indexOf(s.pagePath) > -1) {\r\n p = s.permission\r\n }\r\n this.btnCtrl = p\r\n }\r\n @Prop({ default: null })\r\n public callPlay!: Function\r\n\r\n @Prop({ default: null })\r\n public hideWnd!: () => void\r\n @Prop({ default: null })\r\n public showWnd!: () => void\r\n\r\n public listLoading: boolean = false\r\n public list: any[] = []\r\n public queryTerm = {\r\n Keyword: ''\r\n }\r\n\r\n public targetId: string = ''\r\n public created() {\r\n this.targetId = newGuid()\r\n this.getPermission()\r\n }\r\n public mounted() {\r\n window.eventBus.$on(\"submitVideoGroupForm\", (info: any) => {\r\n if (this.targetId = info.targetId) {\r\n // info.data\r\n this.fetchData()\r\n }\r\n })\r\n }\r\n public beforeDestroy() {\r\n window.eventBus.$off(\"submitVideoGroupForm\")\r\n }\r\n //数据加载\r\n public loadData() {\r\n //触发控件的查询事件\r\n this.fetchData()\r\n }\r\n public doSearch() {\r\n this.fetchData()\r\n }\r\n public expandKey1: number[] = []\r\n public fetchData() {\r\n this.expandKey1 = []\r\n this.listLoading = true\r\n getGroupList(this.queryTerm).then((response: { data: any }) => {\r\n const data = response.data\r\n if (data) {\r\n this.list = data\r\n //页面首次加载时,默认打开第一个节点\r\n if (this.expandKey1.length == 0 && data.length > 0) {\r\n var row = data[0]\r\n if (row && row.Id > 0) {\r\n this.expandKey1 = [row.Id]\r\n this.fetchVideo(row, null)\r\n }\r\n }\r\n }\r\n this.listLoading = false\r\n })\r\n }\r\n public fetchVideo(row: any, expandedRows: any) {\r\n if (!row.childs || row.childs.length == 0) {\r\n row.childs = []\r\n row.loading = true\r\n getGroupVideos(row.Id).then((response: { data: any }) => {\r\n const data = response.data\r\n if (data) {\r\n row.childs = data\r\n row.loading = false\r\n var index = this.list.findIndex((v: any) => v.Id == row.Id)\r\n this.$set(this.list, index, row)\r\n }\r\n })\r\n }\r\n }\r\n public doAdd() {\r\n var data: any = { id: 0, targetId: this.targetId }\r\n window.eventBus.$emit(\"openVideoGroupForm\", data)\r\n }\r\n public doPlay(index: number) {\r\n var codes: any[] = []\r\n var group = this.list[index]\r\n getGroupVideos(group.Id).then((response: { data: any }) => {\r\n const data = response.data\r\n if (data) {\r\n //#region 从后端获取播放列表\r\n group.childs = data\r\n group.loading = false\r\n\r\n this.$set(this.list, index, group)\r\n //#endregion\r\n\r\n //#region 生成播放列表\r\n var childs = group.childs\r\n if (childs && childs.length > 0) {\r\n childs.forEach((e: any, j: number) => {\r\n codes.push({ code: e.PointNumber, sm: e.StreamMode })\r\n })\r\n }\r\n var count = codes.length\r\n if (count > 0) {\r\n if (this.callPlay) {\r\n var playData: { name: string, codes: any[] } = {\r\n name: group.GroupName, codes: codes\r\n }\r\n this.callPlay(playData)\r\n }\r\n }\r\n else {\r\n this.$message.warning('请选择需要播放的视频')\r\n }\r\n //#endregion\r\n }\r\n })\r\n }\r\n public doEdit(id: number) {\r\n var data: any = { id: id, targetId: this.targetId }\r\n window.eventBus.$emit(\"openVideoGroupForm\", data)\r\n }\r\n public doDel(id: number) {\r\n if (this.hideWnd) {\r\n this.hideWnd()\r\n }\r\n this.$confirm(`确定要删除吗?`, '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning'\r\n }).then(() => {\r\n removeGroup(id).then(() => {\r\n this.$message({ type: 'success', message: '删除成功!' })\r\n if (this.showWnd) {\r\n this.showWnd()\r\n }\r\n this.fetchData()\r\n })\r\n }).catch(() => {\r\n this.$message({\r\n type: 'info',\r\n message: '已取消操作'\r\n })\r\n if (this.showWnd) {\r\n this.showWnd()\r\n }\r\n })\r\n }\r\n // 在当前路由改变,但是该组件被复用时调用\r\n @Watch('$route')\r\n public onRouteChange(route: any) {\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./grouping.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./grouping.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./grouping.vue?vue&type=template&id=f9a26640&scoped=true&\"\nimport script from \"./grouping.vue?vue&type=script&lang=ts&\"\nexport * from \"./grouping.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f9a26640\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"page-list\"},[_c('div',{staticClass:\"main-search-form\"},[_c('div',{staticClass:\"few-filter\"},[_c('el-row',[_c('el-col',{attrs:{\"span\":24}},[_c('div',{staticClass:\"f-left\",style:({'width': 'calc(100% - '+(_vm.btnCtrl.HasAdd?'175px':'88px')+')'})},[_c('el-input',{attrs:{\"placeholder\":\"轮播组名称\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.doSearch($event)}},model:{value:(_vm.queryTerm.Keyword),callback:function ($$v) {_vm.$set(_vm.queryTerm, \"Keyword\", $$v)},expression:\"queryTerm.Keyword\"}})],1),_c('div',{staticClass:\"f-right\"},[_c('el-button',{attrs:{\"type\":\"search\",\"icon\":\"iconfont icon-search\"},on:{\"click\":_vm.doSearch}},[_vm._v(\"查询\")]),(_vm.btnCtrl.HasAdd)?_c('el-button',{attrs:{\"type\":\"new\",\"icon\":\"iconfont icon-circle-plus-outline\"},on:{\"click\":_vm.doAdd}},[_vm._v(\"新增\\n \")]):_vm._e()],1)])],1)],1)]),_c('div',{staticClass:\"items\"},[_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.listLoading),expression:\"listLoading\"}],staticClass:\"table-tree hide-header\",attrs:{\"data\":_vm.list,\"expand-row-keys\":_vm.expandKey1,\"row-key\":\"Id\"},on:{\"expand-change\":_vm.fetchGroup}},[_c('el-table-column',{attrs:{\"type\":\"expand\",\"width\":\"20\"},scopedSlots:_vm._u([{key:\"default\",fn:function(parent){return [_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(parent.row.loading),expression:\"parent.row.loading\"}],attrs:{\"data\":parent.row.childs,\"show-header\":false,\"expand-row-keys\":_vm.expandKey2,\"row-key\":\"Id\"},on:{\"expand-change\":_vm.fetchVideo}},[_c('el-table-column',{attrs:{\"type\":\"expand\",\"width\":\"20\"},scopedSlots:_vm._u([{key:\"default\",fn:function(child){return [_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(child.row.loading),expression:\"child.row.loading\"}],attrs:{\"data\":child.row.childs,\"show-header\":false}},[_c('el-table-column',{attrs:{\"prop\":\"PointName\",\"label\":\"监控点名称\"},scopedSlots:_vm._u([{key:\"default\",fn:function(point){return [_c('span',{class:point.row.Online==-1?'color-info':(point.row.Online==0?'color-error':'')},[(point.row.Online==1)?_c('i',{staticClass:\"iconfont icon-online-camera\"}):(point.row.Online==0)?_c('i',{staticClass:\"iconfont icon-offline-camera\"}):_c('i',{staticClass:\"iconfont icon-unknown\"}),_vm._v(\"\\n \"+_vm._s(point.row.PointName)+\"\\n \")])]}}],null,true)})],1)]}}],null,true)}),_c('el-table-column',{attrs:{\"prop\":\"GroupName\",\"label\":\"分组名称\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(\"\\n \"+_vm._s(scope.$index+1)+\".\"+_vm._s(scope.row.GroupName)+\"\\n \")]}}],null,true)})],1)]}}])}),_c('el-table-column',{attrs:{\"prop\":\"RotationName\",\"label\":\"轮播组\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('div',[_vm._v(\"\\n \"+_vm._s(scope.$index+1)+\".\"+_vm._s(scope.row.RotationName)+\"(\"+_vm._s(scope.row.PlayDuration)+\"分钟)\\n \")])]}}])}),_c('el-table-column',{attrs:{\"class-name\":\"action\",\"label\":\"操作\",\"width\":\"110\",\"align\":\"center\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-tooltip',{attrs:{\"content\":\"播放\",\"placement\":\"top\"}},[_c('a',{on:{\"click\":function($event){return _vm.doPlay(scope.$index)}}},[_c('i',{staticClass:\"iconfont icon-play\"})])]),(_vm.btnCtrl.HasEdit)?_c('el-tooltip',{attrs:{\"content\":\"修改\",\"placement\":\"top\"}},[_c('a',{on:{\"click\":function($event){return _vm.doEdit(scope.row.Id)}}},[_c('i',{staticClass:\"iconfont icon-pen-edit\"})])]):_vm._e(),(_vm.btnCtrl.HasDel)?_c('el-tooltip',{attrs:{\"content\":\"删除\",\"placement\":\"top\"}},[_c('a',{on:{\"click\":function($event){return _vm.doDel(scope.row.Id)}}},[_c('i',{staticClass:\"iconfont icon-trash\"})])]):_vm._e()]}}])})],1)],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator'\r\nimport {\r\n getRotationGroups, getRotationList, getGroupVideos, removeRotation, getRotationVideos, VideoGroupPointData, VideoGroupData\r\n} from '@/api/videoDevice/play'\r\nimport { namespace } from 'vuex-class'\r\nimport { newGuid } from '@/configs/functions'\r\nimport { FailedPermission, PagePermissionState, PermissionData } from '@/store/modules/pagePermission'\r\nconst PagePermissionModule = namespace('pagePermission')\r\n\r\ninterface IRotationGroupData {\r\n Id: number, GroupName: string, RotationId: number, childs: any[]\r\n}\r\n@Component({\r\n components: {\r\n }\r\n})\r\n/**视频轮播 */\r\nexport default class RotationList extends Vue {\r\n @PagePermissionModule.Getter('pagePermission')\r\n public pagePermission!: PagePermissionState\r\n public btnCtrl: PermissionData = FailedPermission\r\n public getPermission() {\r\n const s = this.pagePermission\r\n let p = FailedPermission\r\n if (this.$route.path.indexOf(s.pagePath) > -1) {\r\n p = s.permission\r\n }\r\n this.btnCtrl = p\r\n }\r\n\r\n @Prop({ default: null })\r\n public callPlay!: Function\r\n\r\n @Prop({ default: null })\r\n public hideWnd!: () => void\r\n @Prop({ default: null })\r\n public showWnd!: () => void\r\n\r\n public listLoading: boolean = false\r\n public list: any[] = []\r\n public queryTerm = {\r\n Keyword: ''\r\n }\r\n public targetId: string = ''\r\n public created() {\r\n this.targetId = newGuid()\r\n this.getPermission()\r\n }\r\n public mounted() {\r\n window.eventBus.$on(\"submitVideoRotationForm\", (info: any) => {\r\n if (this.targetId = info.targetId) {\r\n // info.data\r\n this.fetchData()\r\n }\r\n })\r\n }\r\n public beforeDestroy() {\r\n window.eventBus.$off(\"submitVideoRotationForm\")\r\n }\r\n\r\n //数据加载\r\n public loadData() {\r\n //触发控件的查询事件\r\n this.fetchData()\r\n }\r\n public doSearch() {\r\n this.fetchData()\r\n }\r\n public expandKey1: number[] = []\r\n public expandKey2: number[] = []\r\n public fetchData() {\r\n this.expandKey1 = []\r\n this.expandKey2 = []\r\n this.listLoading = true\r\n getRotationList(this.queryTerm).then((response: { data: any }) => {\r\n const data = response.data\r\n if (data) {\r\n this.list = data\r\n //页面首次加载时,默认打开第一个节点\r\n if (this.expandKey1.length == 0 && data.length > 0) {\r\n var row = data[0]\r\n if (row && row.Id > 0) {\r\n this.expandKey1 = [row.Id]\r\n this.fetchGroup(row, null)\r\n }\r\n }\r\n }\r\n this.listLoading = false\r\n })\r\n }\r\n public fetchGroup(row: any, expandedRows: any) {\r\n if (!row.childs || row.childs.length == 0) {\r\n row.childs = []\r\n row.loading = true\r\n getRotationGroups(row.Id).then((response: { data: any }) => {\r\n const data = response.data\r\n if (data) {\r\n row.childs = data\r\n row.loading = false\r\n var index = this.list.findIndex((v: any) => v.Id == row.Id)\r\n this.$set(this.list, index, row)\r\n //页面首次加载时,默认打开第一个分组的监控点\r\n if (this.expandKey2.length == 0 && data.length > 0) {\r\n var subRow = data[0]\r\n if (subRow && subRow.Id > 0) {\r\n this.expandKey2 = [subRow.Id]\r\n this.fetchVideo(subRow, null)\r\n }\r\n }\r\n }\r\n })\r\n }\r\n }\r\n public fetchVideo(row: any, expandedRows: any) {\r\n if (!row.childs || row.childs.length == 0) {\r\n row.childs = []\r\n row.loading = true\r\n getGroupVideos(row.Id).then((response: { data: any }) => {\r\n const data = response.data\r\n if (data) {\r\n row.childs = data\r\n row.loading = false\r\n\r\n //强制页面渲染\r\n //一级索引\r\n let index1 = this.list.findIndex((v: any) => v.Id == row.RotationId)\r\n //一级实体\r\n let rotation = this.list[index1]\r\n //二级索引\r\n let index2 = rotation.childs.findIndex((v: any) => v.GroupId == row.Id)\r\n //更新 二级中的整个子级列表\r\n this.$set(rotation.childs, index2, row)\r\n //更新 一级中的单独一项\r\n this.$set(this.list, index1, rotation)\r\n }\r\n })\r\n }\r\n }\r\n public doAdd() {\r\n var data: any = { id: 0, targetId: this.targetId }\r\n window.eventBus.$emit(\"openVideoRotationForm\", data)\r\n }\r\n public doPlay(index: number) {\r\n var rot = this.list[index]\r\n //获取轮播组下的所有视频\r\n getRotationVideos(rot.Id).then((response: { data: any }) => {\r\n const data = response.data\r\n if (data) {\r\n //#region 按分组插入视频列表\r\n var groupData: IRotationGroupData[] = []\r\n data.forEach((e: VideoGroupPointData, i: number) => {\r\n if (groupData.findIndex((v: IRotationGroupData) => v.Id == e.GroupId) == -1) {\r\n groupData.push({ Id: e.GroupId, GroupName: e.GroupName, RotationId: rot.Id, childs: [] })\r\n }\r\n var g = groupData.find((v: IRotationGroupData) => v.Id == e.GroupId)\r\n g!.childs.push(e)\r\n })\r\n rot.childs = groupData\r\n //强制页面渲染\r\n this.$set(this.list, index, rot)\r\n //#endregion\r\n\r\n //#region 生成视频播放列表\r\n var groups: { name: string, codes: string[] }[] = []\r\n var childs = rot.childs\r\n if (childs && childs.length > 0) {\r\n childs.forEach((e: any, j: number) => {\r\n var g: { name: string, codes: string[] } = {\r\n name: e.GroupName, codes: []\r\n }\r\n var points = e.childs\r\n var codes: any[] = []\r\n if (points && points.length > 0) {\r\n points.forEach((p: any, j: number) => {\r\n codes.push({ code: p.PointNumber, sm: p.StreamMode })\r\n })\r\n }\r\n g.codes = codes\r\n groups.push(g)\r\n })\r\n }\r\n var count = groups.length\r\n if (count > 0) {\r\n if (this.callPlay) {\r\n var playData: { name: string, min: number, groups: { name: string, codes: string[] }[] } = {\r\n name: rot.RotationName, min: rot.PlayDuration, groups: groups\r\n }\r\n this.callPlay(playData)\r\n }\r\n }\r\n else {\r\n this.$message.warning('该轮播组下没有视频可以播放')\r\n }\r\n //#endregion\r\n }\r\n })\r\n }\r\n public doEdit(id: number) {\r\n var data: any = { id: id, targetId: this.targetId }\r\n window.eventBus.$emit(\"openVideoRotationForm\", data)\r\n }\r\n public doDel(id: number) {\r\n if (this.hideWnd) {\r\n this.hideWnd()\r\n }\r\n this.$confirm(`确定要删除吗?`, '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning'\r\n }).then(() => {\r\n removeRotation(id).then(() => {\r\n this.$message({ type: 'success', message: '删除成功!' })\r\n if (this.showWnd) {\r\n this.showWnd()\r\n }\r\n this.fetchData()\r\n })\r\n }).catch(() => {\r\n this.$message({\r\n type: 'info',\r\n message: '已取消操作'\r\n })\r\n if (this.showWnd) {\r\n this.showWnd()\r\n }\r\n })\r\n }\r\n // 在当前路由改变,但是该组件被复用时调用\r\n @Watch('$route')\r\n public onRouteChange(route: any) {\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rotation.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rotation.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./rotation.vue?vue&type=template&id=e57d3d1a&scoped=true&\"\nimport script from \"./rotation.vue?vue&type=script&lang=ts&\"\nexport * from \"./rotation.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e57d3d1a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form-dialog',{attrs:{\"title\":\"视频轮播\",\"size\":\"mini\",\"visible\":_vm.showDialog,\"close\":_vm.close,\"submit\":_vm.onSubmit}},[_c('el-form',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],ref:\"formData\",attrs:{\"model\":_vm.form,\"label-width\":\"120px\",\"status-icon\":\"\",\"rules\":_vm.rules}},[_c('el-collapse',{model:{value:(_vm.expandNames),callback:function ($$v) {_vm.expandNames=$$v},expression:\"expandNames\"}},[_c('el-collapse-item',{attrs:{\"name\":\"info\"}},[_c('template',{slot:\"title\"},[_c('i',{staticClass:\"el-icon-collapse-plus-minus\"}),_vm._v(\" 轮播组信息\\n \")]),_c('div',[_c('el-row',{attrs:{\"gutter\":20}},[_c('el-col',{attrs:{\"span\":22}},[_c('el-form-item',{attrs:{\"label\":\"轮播组名称\",\"prop\":\"RotationName\"}},[_c('el-input',{attrs:{\"placeholder\":\"\"},model:{value:(_vm.form.RotationName),callback:function ($$v) {_vm.$set(_vm.form, \"RotationName\", $$v)},expression:\"form.RotationName\"}})],1)],1)],1),_c('el-row',{attrs:{\"gutter\":20}},[_c('el-col',{attrs:{\"span\":22}},[_c('el-form-item',{attrs:{\"label\":\"轮播数量\",\"prop\":\"VideoNumber\"}},[_c('el-input-number',{attrs:{\"min\":0,\"max\":_vm.maxNum,\"placeholder\":\"\"},model:{value:(_vm.form.VideoNumber),callback:function ($$v) {_vm.$set(_vm.form, \"VideoNumber\", $$v)},expression:\"form.VideoNumber\"}})],1)],1)],1),_c('el-row',{attrs:{\"gutter\":20}},[_c('el-col',{attrs:{\"span\":22}},[_c('el-form-item',{attrs:{\"label\":\"轮播间隔(分钟)\",\"prop\":\"PlayDuration\"}},[_c('el-input-number',{attrs:{\"min\":0,\"step\":10},model:{value:(_vm.form.PlayDuration),callback:function ($$v) {_vm.$set(_vm.form, \"PlayDuration\", $$v)},expression:\"form.PlayDuration\"}})],1)],1)],1),_c('el-row',{attrs:{\"gutter\":20}},[_c('el-col',{attrs:{\"span\":24}},[_c('div',[_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.listLoading),expression:\"listLoading\"}],attrs:{\"max-height\":\"300\",\"data\":_vm.form.GroupList}},[_c('el-table-column',{attrs:{\"type\":\"expand\",\"width\":\"20\"},scopedSlots:_vm._u([{key:\"default\",fn:function(parent){return _vm._l((parent.row.PointList),function(e,index){return _c('div',{key:index},[_vm._v(\"\\n \"+_vm._s(index+1)+\".\"+_vm._s(e.PointName)+\"\\n \")])})}}])}),_c('el-table-column',{attrs:{\"prop\":\"GroupName\",\"label\":\"分组名称\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('div',[_vm._v(\"\\n \"+_vm._s(scope.$index+1)+\".\"+_vm._s(scope.row.GroupName)+\"\\n \")])]}}])}),_c('el-table-column',{attrs:{\"class-name\":\"action\",\"label\":\"操作\",\"width\":\"80\",\"align\":\"center\"},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){return [_c('el-tooltip',{attrs:{\"content\":\"添加\",\"placement\":\"top\"}},[_c('a',{on:{\"click\":_vm.newGroup}},[_c('i',{staticClass:\"iconfont icon-btn-add\"})])])]}},{key:\"default\",fn:function(scope){return [_c('el-tooltip',{attrs:{\"content\":\"修改\",\"placement\":\"top\"}},[_c('a',{on:{\"click\":function($event){return _vm.editGroup(scope.$index)}}},[_c('i',{staticClass:\"iconfont icon-pen-edit\"})])]),_c('el-tooltip',{attrs:{\"content\":\"删除\",\"placement\":\"top\"}},[_c('a',{on:{\"click\":function($event){return _vm.delGroup(scope.$index)}}},[_c('i',{staticClass:\"iconfont icon-trash\"})])])]}}])})],1)],1)])],1)],1)],2)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Prop } from 'vue-property-decorator'\r\nimport {\r\n VideoRotationData, getRotationInfo, postRotation, putRotation\r\n} from '@/api/videoDevice/play'\r\nimport { showVaildMsg, validateIntKey } from '@/configs/validate'\r\nimport Element from 'element-ui'\r\nimport FormDialog from '@/components/dialog/formDialog.vue'\r\nimport { copyObject, newGuid } from '@/configs/functions'\r\n\r\nconst getFormRules = (form: { [key: string]: string | any }) => {\r\n return {\r\n RotationName: [{ required: true, message: '请输入轮播组名称', trigger: 'blur' }],\r\n VideoNumber: [{ required: true, validator: validateIntKey('请输入轮播数量'), trigger: 'blur' }],\r\n PlayDuration: [{ required: true, validator: validateIntKey('请输入轮播间隔'), trigger: 'blur' }]\r\n }\r\n}\r\n@Component({\r\n components: {\r\n FormDialog\r\n }\r\n})\r\nexport default class VideoGroupForm extends Vue {\r\n public name = 'VideoGroupForm'\r\n // 关闭窗口,在 dialog 的 :before-close属性中触发,然后调用父级中的方法\r\n @Prop({ default: null })\r\n public closeDialog!: () => void\r\n @Prop({ default: null })\r\n public openDialog!: () => void\r\n\r\n public maxNum = window.hikVideoCount\r\n\r\n //表示从哪个组件过来的,回发的时候带上\r\n public refTarget: string = ''\r\n public targetId: string = ''\r\n\r\n public showDialog: boolean = false\r\n public expandNames: string[] = ['info']\r\n public loading = false\r\n\r\n public form = new VideoRotationData()\r\n public rules: any = getFormRules(this.form)\r\n // dynamic component\r\n public $refs!: {\r\n formData: Element.Form\r\n }\r\n public created() {\r\n }\r\n public mounted() {\r\n //新增,修改id \r\n window.eventBus.$on('openVideoRotationForm', (data: { id: number, targetId: string }) => {\r\n this.refTarget = data.targetId\r\n this.open()\r\n // 新增空实体,修改id获取\r\n this.fetchData(data.id)\r\n })\r\n window.eventBus.$on('submitVideoGroupForm', (info: any) => {\r\n if (this.targetId = info.targetId) {\r\n this.updateGroup(info.data)\r\n }\r\n })\r\n }\r\n public beforeDestroy() {\r\n window.eventBus.$off('openVideoRotationForm')\r\n window.eventBus.$off('submitVideoGroupForm')\r\n }\r\n public open() {\r\n if (this.openDialog) {\r\n this.openDialog()\r\n }\r\n this.showDialog = true\r\n }\r\n public close() {\r\n this.showDialog = false\r\n this.$refs.formData.resetFields()\r\n if (this.closeDialog) {\r\n this.closeDialog()\r\n }\r\n }\r\n public fetchData(id: number) {\r\n this.form = new VideoRotationData()\r\n this.loading = true\r\n if (id > 0) {\r\n getRotationInfo(id).then((response: { data: any }) => {\r\n var f = response.data\r\n this.form = f\r\n this.rules = getFormRules(f)\r\n this.$nextTick(() => {\r\n if (this.$refs.formData) {\r\n this.$refs.formData.clearValidate()\r\n }\r\n })\r\n this.loading = false\r\n })\r\n .catch((error: any) => {\r\n console.log(error)\r\n })\r\n }\r\n else {\r\n this.rules = getFormRules(this.form)\r\n this.$nextTick(() => {\r\n if (this.$refs.formData) {\r\n this.$refs.formData.clearValidate()\r\n }\r\n })\r\n this.loading = false\r\n }\r\n }\r\n public expandKey1: number[] = []\r\n public fetchPoint(row: any, expandedRows: any) {\r\n if (!row.childs || row.childs.length == 0) {\r\n this.expandKey1 = [row.Id]\r\n }\r\n }\r\n public editIndex: number = -1\r\n public newGroup() {\r\n if (this.form.VideoNumber == 0) {\r\n this.$message.warning('请先输入轮播数量')\r\n return false\r\n }\r\n if (this.targetId == '') {\r\n this.targetId = newGuid()\r\n }\r\n this.editIndex = -1\r\n var data: any = { form: null, targetId: this.targetId, num: this.form.VideoNumber }\r\n window.eventBus.$emit(\"openVideoGroupForm_rotation\", data)\r\n }\r\n public updateGroup(data: any) {\r\n let f = this.form\r\n if (this.editIndex == -1) {\r\n f.GroupList.push(data)\r\n }\r\n else {\r\n // f.GroupList[this.editIndex] = data\r\n this.$set(f.GroupList, this.editIndex, data)\r\n }\r\n }\r\n public editGroup(index: number) {\r\n if (this.form.VideoNumber == 0) {\r\n this.$message.warning('请先输入轮播数量')\r\n return false\r\n }\r\n if (this.targetId == '') {\r\n this.targetId = newGuid()\r\n }\r\n this.editIndex = index\r\n var item = this.form.GroupList[index]\r\n var data: any = { form: item, targetId: this.targetId, num: this.form.VideoNumber }\r\n window.eventBus.$emit(\"openVideoGroupForm_rotation\", data)\r\n }\r\n public delGroup(index: number) {\r\n this.$confirm('确定要删除吗?', '请确认', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning'\r\n })\r\n .then(() => {\r\n this.form.GroupList.splice(index, 1)\r\n })\r\n .catch(() => {\r\n this.$message({ type: 'info', message: '已取消操作' })\r\n })\r\n }\r\n public sendData(data: VideoRotationData) {\r\n window.eventBus.$emit('submitVideoRotationForm', {\r\n targetId: this.refTarget,\r\n data: data\r\n })\r\n }\r\n public onSubmit() {\r\n this.$refs.formData.validate((valid: boolean, obj: any) => {\r\n if (valid) {\r\n const f = Object.assign({}, this.form)\r\n var groupCount = f.GroupList.length\r\n if (groupCount == 0) {\r\n this.$message.warning('请添加分组')\r\n return false\r\n }\r\n var msg = ''\r\n f.GroupList.forEach((e: any, i: number) => {\r\n if (e.PointList.length > f.VideoNumber && msg == '') {\r\n msg = '分组[' + e.GroupName + ']中的视频数不能大于' + f.VideoNumber + ',请删除多出来的视频'\r\n }\r\n })\r\n if (msg != '') {\r\n this.$message.warning(msg)\r\n return false\r\n }\r\n const promist = f.Id > 0 ? putRotation(f.Id, f) : postRotation(f)\r\n promist.then((response: { data: any }) => {\r\n const data = response.data\r\n const msg = f.Id > 0 ? '保存' : '创建'\r\n if (data && !data.IsError) {\r\n this.$message({\r\n message: `${msg}成功`,\r\n type: 'success'\r\n })\r\n this.sendData(f)\r\n this.close()\r\n } else {\r\n this.$message({\r\n dangerouslyUseHTMLString: true, message: `${data.Message}`,\r\n type: 'warning'\r\n })\r\n }\r\n },\r\n (data: any) => {\r\n console.log(data)\r\n }\r\n )\r\n } else {\r\n showVaildMsg(this.$message, obj)\r\n }\r\n })\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rotation.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rotation.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./rotation.vue?vue&type=template&id=7010768c&scoped=true&\"\nimport script from \"./rotation.vue?vue&type=script&lang=ts&\"\nexport * from \"./rotation.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7010768c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form-dialog',{attrs:{\"title\":\"视频分组\",\"size\":\"mini\",\"visible\":_vm.showDialog,\"close\":_vm.close,\"submit\":_vm.onSubmit}},[_c('el-form',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],ref:\"formData\",attrs:{\"model\":_vm.form,\"label-width\":\"120px\",\"status-icon\":\"\",\"rules\":_vm.rules}},[_c('el-collapse',{model:{value:(_vm.expandNames),callback:function ($$v) {_vm.expandNames=$$v},expression:\"expandNames\"}},[_c('el-collapse-item',{attrs:{\"name\":\"info\"}},[_c('template',{slot:\"title\"},[_c('i',{staticClass:\"el-icon-collapse-plus-minus\"}),_vm._v(\" 分组信息\\n \")]),_c('div',[_c('el-row',{attrs:{\"gutter\":20}},[_c('el-col',{attrs:{\"span\":22}},[_c('el-form-item',{attrs:{\"label\":\"分组名称\",\"prop\":\"GroupName\"}},[_c('el-input',{attrs:{\"placeholder\":\"\"},model:{value:(_vm.form.GroupName),callback:function ($$v) {_vm.$set(_vm.form, \"GroupName\", $$v)},expression:\"form.GroupName\"}})],1)],1)],1),_c('el-row',{attrs:{\"gutter\":20}},[_c('el-col',{attrs:{\"span\":24}},[_c('el-table',{ref:\"dataTable\",attrs:{\"data\":_vm.form.PointList,\"fit\":\"\"}},[_c('el-table-column',{attrs:{\"prop\":\"PointName\",\"label\":\"视频\"}}),_c('el-table-column',{attrs:{\"class-name\":\"action\",\"label\":\"\",\"width\":\"50\",\"align\":\"center\"},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){return [_c('el-tooltip',{attrs:{\"content\":\"添加\",\"placement\":\"top\"}},[_c('a',{on:{\"click\":_vm.searchPoints}},[_c('i',{staticClass:\"iconfont icon-btn-add\"})])])]}},{key:\"default\",fn:function(scope){return [_c('el-tooltip',{attrs:{\"content\":\"删除\",\"placement\":\"top\"}},[_c('a',{on:{\"click\":function($event){return _vm.delPoint(scope.$index)}}},[_c('i',{staticClass:\"iconfont icon-trash\"})])])]}}])})],1)],1)],1)],1)],2)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Prop } from 'vue-property-decorator'\r\nimport {\r\n VideoGroupData, getGroupInfo, postGroup, putGroup, VideoGroupPointData\r\n} from '@/api/videoDevice/play'\r\nimport { showVaildMsg } from '@/configs/validate'\r\nimport Element from 'element-ui'\r\nimport FormDialog from '@/components/dialog/formDialog.vue'\r\nimport { copyObject, newGuid } from '@/configs/functions'\r\n\r\nconst getFormRules = (form: { [key: string]: string | any }) => {\r\n return {\r\n GroupName: [{ required: true, message: '请输入分组名称', trigger: 'blur' }]\r\n }\r\n}\r\n@Component({\r\n components: {\r\n FormDialog\r\n }\r\n})\r\nexport default class VideoGroupForm extends Vue {\r\n public name = 'VideoGroupForm'\r\n // 关闭窗口,在 dialog 的 :before-close属性中触发,然后调用父级中的方法\r\n @Prop({ default: null })\r\n public closeDialog!: () => void\r\n @Prop({ default: null })\r\n public openDialog!: () => void\r\n\r\n //表示从哪个组件过来的,回发的时候带上\r\n public refTarget: string = ''\r\n public targetId: string = ''\r\n\r\n public showDialog: boolean = false\r\n public expandNames: string[] = ['info']\r\n public loading = false\r\n\r\n public form = new VideoGroupData()\r\n public rules: any = getFormRules(this.form)\r\n // dynamic component\r\n public $refs!: {\r\n formData: Element.Form\r\n }\r\n public created() {\r\n }\r\n public maxNum: number = window.hikVideoCount\r\n public isRotation: boolean = false\r\n public mounted() {\r\n //新增,修改id\r\n window.eventBus.$on('openVideoGroupForm', (data: { id: number, targetId: string }) => {\r\n this.isRotation = false\r\n this.maxNum = window.hikVideoCount\r\n this.refTarget = data.targetId\r\n this.open()\r\n // 新增空实体,修改id获取\r\n this.fetchData(data.id)\r\n })\r\n //新增,修改id\r\n window.eventBus.$on('openVideoGroupForm_points', (data: { points: VideoGroupPointData[], targetId: string }) => {\r\n this.isRotation = false\r\n this.refTarget = data.targetId\r\n this.open()\r\n this.form = new VideoGroupData()\r\n this.form.PointList = data.points\r\n })\r\n window.eventBus.$on('openVideoGroupForm_rotation', (data: { targetId: string, form: any, num: number }) => {\r\n this.isRotation = true\r\n this.refTarget = data.targetId\r\n this.maxNum = data.num\r\n this.open()\r\n //前端操作\r\n //新增时:data.form 传 null,这里直接定一个新实体\r\n this.form = new VideoGroupData()\r\n //不为null就是修改\r\n if (data.form) {\r\n this.form = copyObject(data.form)\r\n }\r\n })\r\n window.eventBus.$on('submitSearchVideoPoint', (info: any) => {\r\n if (this.targetId = info.targetId) {\r\n this.addPoints(info.data)\r\n }\r\n })\r\n }\r\n public beforeDestroy() {\r\n window.eventBus.$off('openVideoGroupForm')\r\n window.eventBus.$off('submitSearchVideoPoint')\r\n }\r\n public open() {\r\n if (!this.isRotation && this.openDialog) {\r\n this.openDialog()\r\n }\r\n this.showDialog = true\r\n }\r\n public close() {\r\n this.showDialog = false\r\n this.$refs.formData.resetFields()\r\n if (!this.isRotation && this.closeDialog) {\r\n this.closeDialog()\r\n }\r\n }\r\n public fetchData(id: number) {\r\n this.form = new VideoGroupData()\r\n this.loading = true\r\n if (id > 0) {\r\n getGroupInfo(id).then((response: { data: any }) => {\r\n var f = response.data\r\n this.form = f\r\n this.rules = getFormRules(f)\r\n this.$nextTick(() => {\r\n if (this.$refs.formData) {\r\n this.$refs.formData.clearValidate()\r\n }\r\n })\r\n this.loading = false\r\n })\r\n .catch((error: any) => {\r\n console.log(error)\r\n })\r\n }\r\n else {\r\n this.rules = getFormRules(this.form)\r\n this.$nextTick(() => {\r\n if (this.$refs.formData) {\r\n this.$refs.formData.clearValidate()\r\n }\r\n })\r\n this.loading = false\r\n }\r\n }\r\n public searchPoints() {\r\n if (this.targetId == '') {\r\n this.targetId = newGuid()\r\n }\r\n window.eventBus.$emit(\"openSearchVideoPoint\", this.targetId)\r\n }\r\n public addPoints(data: any[]) {\r\n let f = this.form\r\n data.forEach((e: any, i: number) => {\r\n const index: number = f.PointList.findIndex((v: any) => v.VideoPointId === e.Id)\r\n if (index < 0) {\r\n f.PointList.push({\r\n Id: 0,\r\n GroupId: 0,\r\n GroupName: '',\r\n GroupSeq: 0,\r\n Sequence: 0,\r\n VideoPointId: e.Id,\r\n Online: e.Online,\r\n PointNumber: e.PointNumber,\r\n PointName: e.PointName,\r\n StreamMode: e.StreamMode\r\n })\r\n }\r\n })\r\n }\r\n public delPoint(index: number) {\r\n this.$confirm('确定要删除吗?', '请确认', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning'\r\n })\r\n .then(() => {\r\n this.form.PointList.splice(index, 1)\r\n })\r\n .catch(() => {\r\n this.$message({ type: 'info', message: '已取消操作' })\r\n })\r\n }\r\n public sendData(data: VideoGroupData) {\r\n window.eventBus.$emit('submitVideoGroupForm', {\r\n targetId: this.refTarget,\r\n data: data\r\n })\r\n }\r\n public onSubmit() {\r\n this.$refs.formData.validate((valid: boolean, obj: any) => {\r\n if (valid) {\r\n const f = Object.assign({}, this.form)\r\n var pointCount = f.PointList.length\r\n if (pointCount == 0) {\r\n this.$message.warning('请添加视频')\r\n return false\r\n }\r\n if (pointCount > this.maxNum) {\r\n this.$message.warning('视频数量不能大于' + this.maxNum + '个')\r\n return false\r\n }\r\n\r\n //如果是轮播组,不需要提交到后端,在轮播表单中统一提交\r\n if (this.isRotation) {\r\n this.sendData(f)\r\n this.close()\r\n }\r\n else {\r\n const f = Object.assign({}, this.form)\r\n const promist = f.Id > 0 ? putGroup(f.Id, f) : postGroup(f)\r\n promist.then((response: { data: any }) => {\r\n const data = response.data\r\n const msg = f.Id > 0 ? '保存' : '创建'\r\n if (data && !data.IsError) {\r\n this.$message({\r\n message: `${msg}成功`,\r\n type: 'success'\r\n })\r\n this.sendData(f)\r\n this.close()\r\n } else {\r\n this.$message({\r\n dangerouslyUseHTMLString: true, message: `${data.Message}`,\r\n type: 'warning'\r\n })\r\n }\r\n },\r\n (data: any) => {\r\n console.log(data)\r\n }\r\n )\r\n }\r\n } else {\r\n showVaildMsg(this.$message, obj)\r\n }\r\n })\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./group.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./group.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./group.vue?vue&type=template&id=4b38cfab&scoped=true&\"\nimport script from \"./group.vue?vue&type=script&lang=ts&\"\nexport * from \"./group.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4b38cfab\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form-dialog',{attrs:{\"size\":\"small\",\"title\":\"监控点选择\",\"visible\":_vm.showDialog,\"close\":_vm.close},scopedSlots:_vm._u([{key:\"footer\",fn:function(){return [_c('el-button',{on:{\"click\":_vm.close}},[_vm._v(\"取消\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.getItems}},[_vm._v(\"确定\")])]},proxy:true}])},[_c('div',{staticClass:\"page-list\"},[_c('div',{staticClass:\"main-search-form\"},[_c('el-row',{attrs:{\"gutter\":20}},[_c('el-col',{attrs:{\"span\":24}},[_c('el-input',{attrs:{\"placeholder\":\"单位编号、单位名称\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.doSearch($event)}},model:{value:(_vm.queryTerm.Keyword),callback:function ($$v) {_vm.$set(_vm.queryTerm, \"Keyword\", $$v)},expression:\"queryTerm.Keyword\"}},[_c('template',{slot:\"prepend\"},[_c('span',{staticClass:\"key-word\"},[_vm._v(\"关键字\")])]),_c('el-button',{attrs:{\"slot\":\"append\",\"type\":\"primary\",\"icon\":\"el-icon-search\"},on:{\"click\":_vm.doSearch},slot:\"append\"},[_vm._v(\"查询\")])],2)],1)],1)],1),_c('div',{staticStyle:{\"max-height\":\"calc(100vh - 350px)\",\"overflow-y\":\"auto\"}},[_c('el-table',{directives:[{name:\"listLoading\",rawName:\"v-listLoading\",value:(_vm.listLoading),expression:\"listLoading\"}],staticClass:\"table-tree\",attrs:{\"data\":_vm.list,\"expand-row-keys\":_vm.expandKey1,\"row-key\":\"UnitId\"},on:{\"expand-change\":_vm.fetchVideo}},[_c('el-table-column',{attrs:{\"type\":\"expand\",\"width\":\"20\"},scopedSlots:_vm._u([{key:\"default\",fn:function(parent){return [_c('el-table',{directives:[{name:\"listLoading\",rawName:\"v-listLoading\",value:(parent.row.listLoading),expression:\"parent.row.listLoading\"}],attrs:{\"data\":parent.row.childs,\"show-header\":false}},[_c('el-table-column',{attrs:{\"prop\":\"PointName\",\"label\":\"监控点名称\"},scopedSlots:_vm._u([{key:\"default\",fn:function(point){return [_c('el-checkbox',{model:{value:(point.row.checked),callback:function ($$v) {_vm.$set(point.row, \"checked\", $$v)},expression:\"point.row.checked\"}},[_c('span')]),_c('span',{class:point.row.Online==-1?'color-info':(point.row.Online==0?'color-error':'')},[(point.row.Online==1)?_c('i',{staticClass:\"iconfont icon-online-camera\"}):(point.row.Online==0)?_c('i',{staticClass:\"iconfont icon-offline-camera\"}):_c('i',{staticClass:\"iconfont icon-unknown\"}),_vm._v(\"\\n \"+_vm._s(point.row.PointName)+\"[\"+_vm._s(point.row.PointNumber)+\"]\\n \")])]}}],null,true)})],1)]}}])}),_c('el-table-column',{attrs:{\"prop\":\"UnitName\",\"label\":\"文保单位\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('div',[(scope.row.childs&&scope.row.childs.length>0)?_c('el-checkbox',{on:{\"change\":function($event){return _vm.checkAll(scope.$index)}},model:{value:(scope.row.checked),callback:function ($$v) {_vm.$set(scope.row, \"checked\", $$v)},expression:\"scope.row.checked\"}},[_c('span')]):_vm._e(),_vm._v(\"\\n \"+_vm._s(scope.$index+1)+\".\"+_vm._s(scope.row.UnitName)+\"(\"+_vm._s(scope.row.OnlineCount)+\"/\"+_vm._s(scope.row.TotalCount)+\")\\n \")],1)]}}])})],1)],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Prop } from 'vue-property-decorator'\r\nimport { getUnitVideos, getUnitList } from '@/api/videoDevice/play'\r\nimport FormDialog from '@/components/dialog/formDialog.vue'\r\n\r\n@Component({\r\n components: {\r\n FormDialog\r\n }\r\n})\r\nexport default class SearchVideoPoint extends Vue {\r\n public name = 'SearchVideoPoint'\r\n\r\n // 关闭窗口,在 dialog 的 :before-close属性中触发,然后调用父级中的方法\r\n @Prop({ default: null })\r\n public closeDialog!: () => void\r\n\r\n //表示从哪个组件过来的,回发的时候带上\r\n public refTarget: string = ''\r\n\r\n public showDialog: boolean = false\r\n public listLoading: boolean = false\r\n public list: any[] = []\r\n public queryTerm: any = {\r\n Page: 0,\r\n PageSize: 999,\r\n SortBy: 'UnitName',\r\n IsAsc: false,\r\n\r\n OnlineStatus: 0,\r\n Keyword: ''\r\n }\r\n\r\n public mounted() {\r\n window.eventBus.$on(\"openSearchVideoPoint\", (targetId: string) => {\r\n this.refTarget = targetId\r\n this.open()\r\n this.doSearch()\r\n })\r\n }\r\n public beforeDestroy() {\r\n window.eventBus.$off(\"openSearchVideoPoint\")\r\n }\r\n public open() {\r\n this.showDialog = true\r\n //重置控件\r\n this.queryTerm = {\r\n Page: 0,\r\n PageSize: 999,\r\n SortBy: 'UnitName',\r\n IsAsc: false,\r\n\r\n OnlineStatus: 0,\r\n Keyword: ''\r\n }\r\n }\r\n public close() {\r\n this.showDialog = false\r\n if (this.closeDialog) {\r\n this.closeDialog()\r\n }\r\n }\r\n // 查询用户所在地的文保单位\r\n public doSearch() {\r\n this.queryTerm.Page = 1\r\n this.list = []\r\n this.fetchData()\r\n }\r\n\r\n public expandKey1: number[] = []\r\n public fetchData() {\r\n this.listLoading = true\r\n this.expandKey1 = []\r\n getUnitList(this.queryTerm).then((response: { data: any }) => {\r\n const data = response.data\r\n if (data) {\r\n var items = data.Results\r\n items.forEach((e: any, i: number) => {\r\n e.checked = false\r\n })\r\n this.list = items\r\n\r\n //页面首次加载时,默认打开第一个节点\r\n if (this.expandKey1.length == 0 && items.length > 0) {\r\n var row = items.find((v: any) => v.OnlineCount > 0)// units[0]\r\n if (row && row.UnitId > 0) {\r\n this.expandKey1 = [row.UnitId]\r\n this.fetchVideo(row, null)\r\n }\r\n }\r\n }\r\n this.listLoading = false\r\n })\r\n }\r\n public fetchVideo(row: any, expandedRows: any) {\r\n if (!row.childs || row.childs.length == 0) {\r\n row.childs = []\r\n row.loading = true\r\n getUnitVideos(row.UnitId, 0).then((response: { data: any }) => {\r\n const data = response.data\r\n if (data) {\r\n data.forEach((e: any, i: number) => {\r\n e.checked = false\r\n })\r\n row.childs = data\r\n row.loading = false\r\n var index = this.list.findIndex((v: any) => v.UnitId == row.UnitId)\r\n this.$set(this.list, index, row)\r\n }\r\n })\r\n }\r\n }\r\n public checkAll(index: number) {\r\n var item = this.list[index]\r\n item.childs.forEach((e: any, i: number) => {\r\n e.checked = item.checked\r\n })\r\n }\r\n public getItems() {\r\n var items: any[] = []\r\n this.list.forEach((e: any, i: number) => {\r\n if (e.childs && e.childs.length > 0) {\r\n var childs = e.childs.filter((v: any) => v.checked)\r\n if (childs && childs.length > 0) {\r\n childs.forEach((f: any, j: number) => {\r\n items.push(f)\r\n })\r\n }\r\n }\r\n })\r\n var count = items.length\r\n if (count == 0) {\r\n this.$message.warning('请选择监控点')\r\n }\r\n else {\r\n this.sendData(items)\r\n this.showDialog = false\r\n }\r\n }\r\n public sendData(data: any[]) {\r\n // console.log(this.refTarget, data)\r\n window.eventBus.$emit(\"submitSearchVideoPoint\", {\r\n targetId: this.refTarget,\r\n data: data\r\n })\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selectPoints.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selectPoints.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./selectPoints.vue?vue&type=template&id=674c46b2&scoped=true&\"\nimport script from \"./selectPoints.vue?vue&type=script&lang=ts&\"\nexport * from \"./selectPoints.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"674c46b2\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Watch } from 'vue-property-decorator'\r\nimport cbHikVideo from '@/components/hikVideo/index.vue'\r\nimport VideoList from './videos.vue'\r\nimport GroupList from './grouping.vue'\r\nimport RotationList from './rotation.vue'\r\nimport VideoRotationForm from '@/components/videoPlay/rotation.vue'\r\nimport VideoGroupForm from '@/components/videoPlay/group.vue'\r\nimport SearchVideoPoint from '@/components/videoPlay/selectPoints.vue'\r\n\r\nimport { namespace } from 'vuex-class'\r\nimport { newGuid } from '@/configs/functions'\r\nconst AppModule = namespace('app')\r\n\r\n@Component({\r\n components: {\r\n cbHikVideo,\r\n VideoList, GroupList, RotationList,\r\n VideoGroupForm, SearchVideoPoint, VideoRotationForm\r\n }\r\n})\r\nexport default class VideoPlay extends Vue {\r\n public tabName: string = 'list'\r\n @AppModule.Getter\r\n public sidebar!: { opened: boolean, withoutAnimation: boolean }\r\n\r\n public $refs!: {\r\n refHikVideo: any\r\n refVideoList: VideoList\r\n refGroupList: GroupList\r\n refRotationList: RotationList\r\n }\r\n\r\n public loadData() {\r\n const name = this.tabName\r\n this.$nextTick(() => {\r\n //视频列表,可以选择多个视频进行播放\r\n if (name == 'list') {\r\n if (this.$refs.refVideoList) {\r\n this.$refs.refVideoList.loadData()\r\n }\r\n }\r\n //视频分组\r\n else if (name == 'grouping') {\r\n if (this.$refs.refGroupList) {\r\n this.$refs.refGroupList.loadData()\r\n }\r\n }\r\n //视频分组\r\n else if (name == 'rotation') {\r\n if (this.$refs.refRotationList) {\r\n this.$refs.refRotationList.loadData()\r\n }\r\n }\r\n })\r\n }\r\n /** tab 切换,停止之前的播放。重新加载tab数据 */\r\n public tabClick(tab: any, event: any) {\r\n this.stopPlay()\r\n this.loadData()\r\n }\r\n\r\n /** 多选视频播放回传事件 */\r\n public videoPlays(codes: any[]) {\r\n this.stopPlay()\r\n this.multiPlay(codes)\r\n }\r\n\r\n /** 分组播放回传事件 */\r\n public groupPlays(group: { name: string, codes: any[] }) {\r\n this.stopPlay()\r\n this.playingMsg = '分组:' + group.name\r\n this.multiPlay(group.codes)\r\n }\r\n /**\r\n * 视频轮播逻辑\r\n * 轮播中有两组视频:A,B每组视频播放5分钟\r\n * 1.开始播放A,并设置5分钟后播放B\r\n * 2.5分钟后播放B,在设置5分钟后关闭B\r\n * 3.结束轮播组\r\n */\r\n public rotationPlayIndex: number = 0\r\n public rotationPlays(data: { name: string, min: number, groups: { name: string, codes: any[] }[] }) {\r\n this.stopPlay()\r\n this.rotationPlayIndex = 0\r\n this.loopPlay(data)\r\n }\r\n public loopTimer: any = null\r\n /** 轮播,循环播放不自动停止 */\r\n public loopPlay(data: { name: string, min: number, groups: { name: string, codes: any[] }[] }) {\r\n var groupCount = data.groups.length\r\n //判断视频索引是否小于视频数量\r\n //播放到最后一个视频的时候,重新从第一个开始放\r\n if (this.rotationPlayIndex >= groupCount) {\r\n this.rotationPlayIndex = 0\r\n }\r\n var timeOut = data.min * 1000 * 60//分钟\r\n var g = data.groups[this.rotationPlayIndex]\r\n this.playingMsg = '轮播组:' + data.name + '-' + g.name + ''\r\n // 播放视频\r\n this.multiPlay(g.codes)\r\n this.loopTimer = setTimeout(() => { this.loopPlay(data) }, timeOut)\r\n this.rotationPlayIndex++\r\n }\r\n /** 单次循环 放完自动停止*/\r\n public loopPlayOnce(data: { name: string, min: number, groups: { name: string, codes: string[] }[] }) {\r\n var groupCount = data.groups.length\r\n console.log('进入轮播' + this.rotationPlayIndex, groupCount)\r\n //判断视频索引是否小于视频数量\r\n //不是最后一个视频,就在10秒后继续播放\r\n if (this.rotationPlayIndex < groupCount) {\r\n var timeOut = 10000//测试用10秒 data.min * 1000 * 60//分钟\r\n var g = data.groups[this.rotationPlayIndex]\r\n this.playingMsg = '轮播组:' + data.name + '-' + g.name + ''\r\n // 播放视频\r\n this.multiPlay(g.codes)\r\n console.log('播放索引' + this.rotationPlayIndex, g)\r\n setTimeout(() => { this.loopPlay(data) }, timeOut)\r\n this.rotationPlayIndex++\r\n }\r\n else {\r\n //停止播放\r\n this.playingMsg = '轮播已结束'\r\n this.rotationPlayIndex = 0\r\n this.stopPlay()\r\n // console.log('轮播已结束', data)\r\n }\r\n }\r\n //多视频播放\r\n public multiPlay(codes: any[]) {\r\n //批量预览\r\n this.$refs.refHikVideo.startMulit(codes, true)\r\n }\r\n public clearTimer() {\r\n this.rotationPlayIndex = 0\r\n if (this.loopTimer) {\r\n clearTimeout(this.loopTimer)\r\n }\r\n }\r\n public stopPlay() {\r\n this.clearTimer()\r\n this.playingMsg = ''\r\n this.$refs.refHikVideo.stopAll()\r\n }\r\n //隐藏播放窗口\r\n public hideWnd() {\r\n this.$refs.refHikVideo.hideWnd()\r\n }\r\n //显示播放窗口\r\n public showWnd() {\r\n this.$refs.refHikVideo.showWnd()\r\n }\r\n\r\n public targetId: string = newGuid()\r\n public vWidth: number = 1000\r\n public vHeight: number = 600\r\n\r\n //#region 视频控件 相关代码\r\n public getWidth(): number {\r\n var dom = document.getElementById(\"videoContainer\")\r\n var w = dom ? dom.offsetWidth : 860\r\n return w\r\n }\r\n public getHeight(): number {\r\n var h = document.documentElement.clientHeight - 200\r\n return h\r\n }\r\n public playingMsg: string = ''\r\n\r\n public loadCtrls() {\r\n this.$nextTick(() => {\r\n this.vWidth = this.getWidth()\r\n this.vHeight = this.getHeight()\r\n if (this.$refs.refHikVideo) {\r\n this.$refs.refHikVideo.initPlugin()\r\n //注销掉,重新调用\r\n window.onresize = null\r\n //页面大小变动时,重新加载控件\r\n window.onresize = () => {\r\n this.videoResize()\r\n }\r\n window.onscroll = null\r\n //页面大小变动时,重新加载控件\r\n window.onscroll = () => {\r\n this.videoResize()\r\n }\r\n }\r\n })\r\n }\r\n public videoResize() {\r\n if (this.$refs.refHikVideo) {\r\n let w = this.getWidth()\r\n let h = this.getHeight()\r\n this.$refs.refHikVideo.setResize(w, h)\r\n }\r\n }\r\n /** 监听数据变化 */\r\n @Watch('sidebar', { deep: true })\r\n SidebarWatch(data: any) {\r\n this.videoResize()\r\n }\r\n public beforeDestroy() {\r\n // this.stopPlay()\r\n this.$refs.refHikVideo.destroyPlugin()\r\n window.onresize = null\r\n window.onscroll = null\r\n }\r\n //#endregion\r\n\r\n public created() {\r\n if (this.targetId = '') {\r\n this.targetId = newGuid()\r\n }\r\n }\r\n public showVideoCtrl: boolean = true\r\n public mounted() {\r\n this.loadCtrls()\r\n this.loadData()\r\n }\r\n // 在当前路由改变,但是该组件被复用时调用\r\n @Watch('$route')\r\n public onRouteChange(route: any) {\r\n this.showVideoCtrl = false\r\n setTimeout(() => {\r\n this.showVideoCtrl = true\r\n this.loadCtrls()\r\n }, 500)\r\n //重置数据\r\n Object.assign(this.$data, this.$options.data)\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=4fe1a57e&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4fe1a57e\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}