Преглед изворни кода

将配置文件用Data文件夹包裹起来,修改盒子拖到任意栅格中前的一次提交

liuwei пре 4 година
родитељ
комит
bd3121ffbf
100 измењених фајлова са 76 додато и 45 уклоњено
  1. 3 3
      src/renderer/App.vue
  2. 1 1
      src/renderer/api/index.js
  3. 1 1
      src/renderer/components/Admin.vue
  4. 42 11
      src/renderer/components/BigShow.vue
  5. 25 25
      src/renderer/components/Button.vue
  6. 1 1
      src/renderer/components/Image.vue
  7. 2 2
      src/renderer/components/Slider.vue
  8. 1 1
      src/utils/tools.js
  9. 0 0
      static/Data/1.png
  10. 0 0
      static/Data/10.png
  11. 0 0
      static/Data/100.png
  12. 0 0
      static/Data/101.png
  13. 0 0
      static/Data/102.png
  14. 0 0
      static/Data/103.png
  15. 0 0
      static/Data/104.png
  16. 0 0
      static/Data/105.png
  17. 0 0
      static/Data/106.png
  18. 0 0
      static/Data/107.png
  19. 0 0
      static/Data/108.png
  20. 0 0
      static/Data/109.png
  21. 0 0
      static/Data/11.png
  22. 0 0
      static/Data/110.png
  23. 0 0
      static/Data/111.png
  24. 0 0
      static/Data/112.png
  25. 0 0
      static/Data/113.png
  26. 0 0
      static/Data/114.png
  27. 0 0
      static/Data/115.png
  28. 0 0
      static/Data/116.png
  29. 0 0
      static/Data/117.png
  30. 0 0
      static/Data/118.png
  31. 0 0
      static/Data/119.png
  32. 0 0
      static/Data/12.png
  33. 0 0
      static/Data/120.png
  34. 0 0
      static/Data/121.png
  35. 0 0
      static/Data/122.png
  36. 0 0
      static/Data/123.png
  37. 0 0
      static/Data/124.png
  38. 0 0
      static/Data/125.png
  39. 0 0
      static/Data/126.png
  40. 0 0
      static/Data/127.png
  41. 0 0
      static/Data/128.png
  42. 0 0
      static/Data/129.png
  43. 0 0
      static/Data/13.png
  44. 0 0
      static/Data/130.png
  45. 0 0
      static/Data/131.png
  46. 0 0
      static/Data/132.png
  47. 0 0
      static/Data/133.png
  48. 0 0
      static/Data/134.png
  49. 0 0
      static/Data/135.png
  50. 0 0
      static/Data/136.png
  51. 0 0
      static/Data/137.png
  52. 0 0
      static/Data/138.png
  53. 0 0
      static/Data/139.png
  54. 0 0
      static/Data/14.png
  55. 0 0
      static/Data/140.png
  56. 0 0
      static/Data/141.png
  57. 0 0
      static/Data/142.png
  58. 0 0
      static/Data/143.png
  59. 0 0
      static/Data/144.png
  60. 0 0
      static/Data/145.png
  61. 0 0
      static/Data/146.png
  62. 0 0
      static/Data/147.png
  63. 0 0
      static/Data/148.png
  64. 0 0
      static/Data/149.png
  65. 0 0
      static/Data/15.png
  66. 0 0
      static/Data/150.png
  67. 0 0
      static/Data/151.png
  68. 0 0
      static/Data/152.png
  69. 0 0
      static/Data/153.png
  70. 0 0
      static/Data/154.png
  71. 0 0
      static/Data/155.png
  72. 0 0
      static/Data/156.png
  73. 0 0
      static/Data/157.png
  74. 0 0
      static/Data/158.png
  75. 0 0
      static/Data/159.png
  76. 0 0
      static/Data/16.png
  77. 0 0
      static/Data/160.png
  78. 0 0
      static/Data/161.png
  79. 0 0
      static/Data/162.png
  80. 0 0
      static/Data/163.png
  81. 0 0
      static/Data/164.png
  82. 0 0
      static/Data/165.png
  83. 0 0
      static/Data/166.png
  84. 0 0
      static/Data/167.png
  85. 0 0
      static/Data/168.png
  86. 0 0
      static/Data/169.png
  87. 0 0
      static/Data/17.png
  88. 0 0
      static/Data/170.png
  89. 0 0
      static/Data/171.png
  90. 0 0
      static/Data/172.png
  91. 0 0
      static/Data/173.png
  92. 0 0
      static/Data/174.png
  93. 0 0
      static/Data/175.png
  94. 0 0
      static/Data/176.png
  95. 0 0
      static/Data/177.png
  96. 0 0
      static/Data/178.png
  97. 0 0
      static/Data/179.png
  98. 0 0
      static/Data/18.png
  99. 0 0
      static/Data/180.png
  100. 0 0
      static/181.png

+ 3 - 3
src/renderer/App.vue

@@ -17,7 +17,7 @@
   export default {
     async mounted() {
       // 单独上传配置文件
-      axios.get('static/EnityBigScreen.Data').then(async res => {
+      axios.get('static/Data/EnityBigScreen.Data').then(async res => {
         if (res.status === 200) {
           const result = await reqConfigBigScreen(res.data)
           if(result[0].ID){
@@ -26,7 +26,7 @@
         }
       })
 
-      axios.get('static/EnityDevice.Data').then(async res => {
+      axios.get('static/Data/EnityDevice.Data').then(async res => {
         if (res.status === 200) {
           const result = await reqConfigDevice(res.data)
           if(result[0].ID){
@@ -44,7 +44,7 @@
       })
 
       // 更新vuex中的缩放比例
-      axios.get('static/EnityWindow.Data').then(async res => {
+      axios.get('static/Data/EnityWindow.Data').then(async res => {
         if (res.status === 200) {
               const bigScale = window.screen.height/res.data[0].Height
               this.$store.dispatch('updateScale',bigScale)

+ 1 - 1
src/renderer/api/index.js

@@ -7,7 +7,7 @@ import ajax from './ajax'
 
 let BASE_URL
 
-axios.get('static/EnitySystem.data').then(async res => {
+axios.get('static/Data/EnitySystem.data').then(async res => {
     if (res.status === 200) {
         BASE_URL = `${res.data ? res.data.ServerIP : ''}:${res.data ? res.data.ServerPort : ''}`
     }

+ 1 - 1
src/renderer/components/Admin.vue

@@ -11,7 +11,7 @@
                 height:windowJson[0] ? windowJson[0].Height*bigScale + 'px' : '',
                 zIndex:windowJson[0] ? windowJson[0].ZIndex : '',
                 display:windowJson[0] ? (windowJson[0].IsVisibility ? 'block' : 'none') : '',
-                backgroundImage:windowJson[0] ? (windowJson[0].BackIcon ? 'url('+require(`../../../static/${windowJson[0].BackIcon}`)+')' : null) : '',
+                backgroundImage:windowJson[0] ? (windowJson[0].BackIcon ? 'url('+require(`../../../static/Data/${windowJson[0].BackIcon}`)+')' : null) : '',
                 backgroundRepeat:'no-repeat',
                 backgroundSize:'100% 100%',
                 backgroundColor:`#${windowJson[0] ? (windowJson[0].BrackgroupStr ? windowJson[0].BrackgroupStr.slice(3) : null) : ''}`,

+ 42 - 11
src/renderer/components/BigShow.vue

@@ -21,26 +21,51 @@
                     display:item.IsVisibility ? 'black' : 'none',
                 }"
         >
-            <VueDragResize
+            <!--<VueDragResize
                     v-for="itemV in signalPreList" :key="itemV.deviceID" class="sitem"
                     :w="item.Width*bigScale/itemV.splitScreenStatus" :h="item.Height*bigScale/itemV.splitScreenStatus"
                     :parentLimitation="false"
                     @dragstop="dragStop"
-                    @resizestop="(obj) => reSizeSignal(obj,itemV,item)"
+                    @resizestop="(obj) => reSizeSignal(obj,itemV)"
             >
                 <div ref="signal">
                     <div class="closeBtn" @click.stop="closeSignal(itemV)">×</div>
-                    <!--<video-player
+                    <video-player
                             ref="videoPlayer"
                             :options="playerOptions"
                             :playsinline="true"
                     >
-                    </video-player>-->
+                    </video-player>
                 </div>
             </VueDragResize>
 
             <div v-for="(itemD,index) in divArr" :key="index" class="sitem2">
                 {{itemD}}
+            </div>-->
+
+
+            <div v-for="item in signalPreList">
+                <VueDragResize
+                        v-for="itemV in signalPreList" v-if="itemV.deviceID" :key="itemV.deviceID" class="sitem"
+                        :w="item.Width*bigScale/itemV.splitScreenStatus" :h="item.Height*bigScale/itemV.splitScreenStatus"
+                        :parentLimitation="false"
+                        @dragstop="dragStop"
+                        @resizestop="(obj) => reSizeSignal(obj,itemV)"
+                >
+                    <div ref="signal">
+                        <div class="closeBtn" @click.stop="closeSignal(itemV)">×</div>
+                        <video-player
+                                ref="videoPlayer"
+                                :options="playerOptions"
+                                :playsinline="true"
+                        >
+                        </video-player>
+                    </div>
+                </VueDragResize>
+
+                <div v-for="(itemD,index) in divArr" :key="index" class="sitem2">
+                    {{itemD}}
+                </div>
             </div>
 
         </draggable>
@@ -63,9 +88,14 @@
                 isDragging: false, // 是否可拖动标志
                 divArr:[],// 默认大屏中盒子的数组
                 streamWindows:[], // 传递出去的信号源位置信息
-                bigScreenJson:[],
+                bigScreenJson:[], // 大屏配置json文件
                 playerOptions: { // rtmp视频流配置
-                    sources: [],
+                    sources: [
+                        {
+                            "src": "rtmp://58.200.131.2:1935/livetv/hunantv",
+                            "type": "rtmp/flv"
+                        }
+                    ],
                     techOrder: ['flash'],
                     autoplay: true,
                     controls: false,
@@ -73,7 +103,8 @@
                     aspectRatio: '200:93',
                     preload: 'auto',
                     notSupportedMessage: '此视频暂无法播放,请稍后再试',
-                }
+                },
+                allDiv:[], // 大屏中所有的盒子(包括普通div和信号源列表)
             }
         },
 
@@ -86,8 +117,8 @@
         async beforeCreate() {
             this.bigScreenJson = await getStaticFile('EnityBigScreen.Data')
             this.currentBigshow = this.bigScreenJson.filter(item => item.IsVisibility === true)
-            this.videoSourceJson = await getStaticFile('vidoe_source.json')
-            this.$set(this.playerOptions,'sources',this.videoSourceJson)
+            /*this.videoSourceJson = await getStaticFile('video_source.json')
+            this.$set(this.playerOptions,'sources',this.videoSourceJson)*/
         },
 
         methods: {
@@ -126,7 +157,7 @@
                             bigScreenId:this.currentBigshow[0].ID,
                             streamWindows
                         }
-                        console.log(data)
+                        // console.log(data)
                         this.streamWindows = streamWindows
                         // 调用大屏开窗接口
                         await reqRefreshView(data)
@@ -152,7 +183,7 @@
                 const otherItems = arr.filter(item => item.sourceId !== itemV.sourceId)
                 const newStreamWindows = [...currentItem,...otherItems]
                 this.streamWindows = newStreamWindows
-                this.reqRefreshBigScreen(newStreamWindows,true)
+                this.reqRefreshBigScreen(newStreamWindows)
             },
 
             // 关闭信号源

+ 25 - 25
src/renderer/components/Button.vue

@@ -12,7 +12,7 @@
                     zIndex:item.ZIndex,
                     display:item.IsVisibility ? 'block' : 'none',
                     fontSize:item.FontSize*bigScale + 'px',
-                    backgroundImage:'url('+require(`../../../static/${item.BackIcon}`)+')',
+                    backgroundImage:'url('+require(`../../../static/Data/${item.BackIcon}`)+')',
                     backgroundSize:'100% 100%',
                     backgroundRepeat:'no-repeat',
                     color:`#${item.ForegroundStr.slice(3)}`,
@@ -77,10 +77,10 @@
                 // 预案管理声音开关
                 if (e.ID === '355d3c32-1502-40b4-9ddd-663d5b8469e7') {
                     if (this.count % 2 === 0) {
-                        this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/${e.ActionIcon}`) + ')'
+                        this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/Data/${e.ActionIcon}`) + ')'
                         ++this.count
                     } else {
-                        this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/${e.BackIcon}`) + ')'
+                        this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/Data/${e.BackIcon}`) + ')'
                         ++this.count
                     }
                     return
@@ -89,11 +89,11 @@
                 // 切换屏幕
                 if (e.Text === 'LCD屏' || e.Text === 'LED屏' || e.Text === '投影机') {
                     if (this.count4 === 0) {
-                        this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/${e.ActionIcon}`) + ')'
+                        this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/Data/${e.ActionIcon}`) + ')'
                         ++this.count4
                     } else if(e !== this.lastData4) {
-                        this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/${e.ActionIcon}`) + ')'
-                        this.lastBtn4.style.backgroundImage = 'url(' + require(`../../../static/${this.lastData4.BackIcon}`) + ')'
+                        this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/Data/${e.ActionIcon}`) + ')'
+                        this.lastBtn4.style.backgroundImage = 'url(' + require(`../../../static/Data/${this.lastData4.BackIcon}`) + ')'
                     }
                     // 保存点过的这个按钮和按钮数据
                     this.lastBtn4 = this.$refs[e.ID][0]
@@ -114,11 +114,11 @@
                 // 预案管理按钮处理
                 if (e.Name.includes('V0') && e.Name.slice(7) * 1 > 62 && e.Name.slice(7) * 1 < 72) {
                     if (this.count2 === 0) {
-                        this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/${e.ActionIcon}`) + ')'
+                        this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/Data/${e.ActionIcon}`) + ')'
                         ++this.count2
                     } else if(e !== this.lastData) {
-                        this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/${e.ActionIcon}`) + ')'
-                        this.lastBtn.style.backgroundImage = 'url(' + require(`../../../static/${this.lastData.BackIcon}`) + ')'
+                        this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/Data/${e.ActionIcon}`) + ')'
+                        this.lastBtn.style.backgroundImage = 'url(' + require(`../../../static/Data/${this.lastData.BackIcon}`) + ')'
                     }
                     // 保存点过的按钮和按钮数据
                     this.lastBtn = this.$refs[e.ID][0]
@@ -130,11 +130,11 @@
                 if (e.Name.includes('V0--Btn6') || e.Name.includes('V0--Btn61') || e.Name.includes('V0--Btn12') || e.Name.includes('V0--Btn58') || e.Name.includes('V0--Btn77')) {
                     // (1)背景切换
                     if (this.count3 === 0) {
-                        this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/${e.ActionIcon}`) + ')'
+                        this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/Data/${e.ActionIcon}`) + ')'
                         ++this.count3
                     } else if(e !== this.lastData3) {
-                        this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/${e.ActionIcon}`) + ')'
-                        this.lastBtn3.style.backgroundImage = 'url(' + require(`../../../static/${this.lastData3.BackIcon}`) + ')'
+                        this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/Data/${e.ActionIcon}`) + ')'
+                        this.lastBtn3.style.backgroundImage = 'url(' + require(`../../../static/Data/${this.lastData3.BackIcon}`) + ')'
                     }
                     // 保存点过的这个按钮和按钮数据
                     this.lastBtn3 = this.$refs[e.ID][0]
@@ -196,11 +196,11 @@
                 // 安卓和分布式按钮
                 if (e.Text === '安卓' || e.Text === '分布式') {
                     if (this.count5 === 0) {
-                        this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/${e.ActionIcon}`) + ')'
+                        this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/Data/${e.ActionIcon}`) + ')'
                         ++this.count5
                     } else if(e !== this.lastData5){
-                        this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/${e.ActionIcon}`) + ')'
-                        this.lastBtn5.style.backgroundImage = 'url(' + require(`../../../static/${this.lastData5.BackIcon}`) + ')'
+                        this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/Data/${e.ActionIcon}`) + ')'
+                        this.lastBtn5.style.backgroundImage = 'url(' + require(`../../../static/Data/${this.lastData5.BackIcon}`) + ')'
                     }
                     // 保存点过的这个按钮和按钮数据
                     this.lastBtn5 = this.$refs[e.ID][0]
@@ -211,10 +211,10 @@
                 // 电源管理和电脑管理
                 if(this.powerAndCompBtns.some(item => item.ID === e.ID)){
                     if(e.ActionType === 2){
-                        this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/${e.ActionIcon}`) + ')'
+                        this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/Data/${e.ActionIcon}`) + ')'
                         e.ActionType = -2
                     }else {
-                        this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/${e.BackIcon}`) + ')'
+                        this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/Data/${e.BackIcon}`) + ')'
                         e.ActionType = 2
                     }
                 }
@@ -224,13 +224,13 @@
             // 鼠标按下事件
             mouseDown(e) {
                 if (this.arr.some(item => e === item) && e.Text !== '安卓' && e.Text !== '分布式') { // 分屏控制按钮
-                    this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/${e.ActionIcon}`) + ')'
+                    this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/Data/${e.ActionIcon}`) + ')'
                 }else if(e.WindowID === '027ab76d-6b9c-46ac-abe6-75b8059f786b') { // 视频控制按钮
-                    this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/${e.ActionIcon}`) + ')'
+                    this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/Data/${e.ActionIcon}`) + ')'
                 }else if(e.WindowID === 'a12b287f-f68c-4efa-b652-d6e5b0a09d0d') { // 环境控制按钮
-                    this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/${e.ActionIcon}`) + ')'
+                    this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/Data/${e.ActionIcon}`) + ')'
                 }else if(e.ID === '19554440-98bc-4644-83a0-d9cefd69153e'){ // 电脑控制All按钮
-                    this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/${e.ActionIcon}`) + ')'
+                    this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/Data/${e.ActionIcon}`) + ')'
                 }
                 return
             },
@@ -238,13 +238,13 @@
             // 鼠标松开事件
             mouseUp(e) {
                 if (this.arr.some(item => e === item) && e.Text !== '安卓' && e.Text !== '分布式') { // 分屏控制按钮
-                    this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/${e.BackIcon}`) + ')'
+                    this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/Data/${e.BackIcon}`) + ')'
                 }else if(e.WindowID === '027ab76d-6b9c-46ac-abe6-75b8059f786b') { // 视频控制按钮
-                    this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/${e.BackIcon}`) + ')'
+                    this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/Data/${e.BackIcon}`) + ')'
                 }else if(e.WindowID === 'a12b287f-f68c-4efa-b652-d6e5b0a09d0d') { // 环境控制按钮
-                    this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/${e.BackIcon}`) + ')'
+                    this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/Data/${e.BackIcon}`) + ')'
                 }if(e.ID === '19554440-98bc-4644-83a0-d9cefd69153e'){ // 电脑控制All按钮
-                    this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/${e.BackIcon}`) + ')'
+                    this.$refs[e.ID][0].style.backgroundImage = 'url(' + require(`../../../static/Data/${e.BackIcon}`) + ')'
                 }
                 return
             },

+ 1 - 1
src/renderer/components/Image.vue

@@ -11,7 +11,7 @@
                     height:item.Height*bigScale + 'px',
                     zIndex:item.ZIndex,
                     display:item.IsVisibility ? 'block' : 'none',
-                    backgroundImage:'url('+require(`../../../static/${item.BackIcon}`)+')',
+                    backgroundImage:'url('+require(`../../../static/Data/${item.BackIcon}`)+')',
                     backgroundRepeat:'no-repeat',
                     backgroundSize:'100% 100%',
                 }"

+ 2 - 2
src/renderer/components/Slider.vue

@@ -11,7 +11,7 @@
                     height:item.Height*bigScale + 'px',
                     zIndex:item.ZIndex,
                     display:item.IsVisibility ? 'block' : 'none',
-                    backgroundImage:'url('+require(`../../../static/${item.BackIcon}`)+')',
+                    backgroundImage:'url('+require(`../../../static/Data/${item.BackIcon}`)+')',
                     backgroundRepeat:'no-repeat',
                 }"
         >
@@ -25,7 +25,7 @@
                         :style="{
                             width:item.imgSliderWidth*bigScale + 'px',
                             height:item.imgSliderHeight*bigScale + 'px',
-                            backgroundImage:'url('+require(`../../../static/${item.SliderIcon}`)+')',
+                            backgroundImage:'url('+require(`../../../static/Data/${item.SliderIcon}`)+')',
                             backgroundRepeat:'no-repeat',
                             marginLeft:'40%',
                         }"

+ 1 - 1
src/utils/tools.js

@@ -37,7 +37,7 @@ export function getElementTop(element){
 export function getStaticFile(url) {
     return new Promise(function (resolve) {
         let promise
-        promise = axios.get(`static/${url}`)
+        promise = axios.get(`static/Data/${url}`)
 
         promise.then(function (response) {
             resolve(response.data)

static/1.png → static/Data/1.png


static/10.png → static/Data/10.png


static/100.png → static/Data/100.png


static/101.png → static/Data/101.png


static/102.png → static/Data/102.png


static/103.png → static/Data/103.png


static/104.png → static/Data/104.png


static/105.png → static/Data/105.png


static/106.png → static/Data/106.png


static/107.png → static/Data/107.png


static/108.png → static/Data/108.png


static/109.png → static/Data/109.png


static/11.png → static/Data/11.png


static/110.png → static/Data/110.png


static/111.png → static/Data/111.png


static/112.png → static/Data/112.png


static/113.png → static/Data/113.png


static/114.png → static/Data/114.png


static/115.png → static/Data/115.png


static/116.png → static/Data/116.png


static/117.png → static/Data/117.png


static/118.png → static/Data/118.png


static/119.png → static/Data/119.png


static/12.png → static/Data/12.png


static/120.png → static/Data/120.png


static/121.png → static/Data/121.png


static/122.png → static/Data/122.png


static/123.png → static/Data/123.png


static/124.png → static/Data/124.png


static/125.png → static/Data/125.png


static/126.png → static/Data/126.png


static/127.png → static/Data/127.png


static/128.png → static/Data/128.png


static/129.png → static/Data/129.png


static/13.png → static/Data/13.png


static/130.png → static/Data/130.png


static/131.png → static/Data/131.png


static/132.png → static/Data/132.png


static/133.png → static/Data/133.png


static/134.png → static/Data/134.png


static/135.png → static/Data/135.png


static/136.png → static/Data/136.png


static/137.png → static/Data/137.png


static/138.png → static/Data/138.png


static/139.png → static/Data/139.png


static/14.png → static/Data/14.png


static/140.png → static/Data/140.png


static/141.png → static/Data/141.png


static/142.png → static/Data/142.png


static/143.png → static/Data/143.png


static/144.png → static/Data/144.png


static/145.png → static/Data/145.png


static/146.png → static/Data/146.png


static/147.png → static/Data/147.png


static/148.png → static/Data/148.png


static/149.png → static/Data/149.png


static/15.png → static/Data/15.png


static/150.png → static/Data/150.png


static/151.png → static/Data/151.png


static/152.png → static/Data/152.png


static/153.png → static/Data/153.png


static/154.png → static/Data/154.png


static/155.png → static/Data/155.png


static/156.png → static/Data/156.png


static/157.png → static/Data/157.png


static/158.png → static/Data/158.png


static/159.png → static/Data/159.png


static/16.png → static/Data/16.png


static/160.png → static/Data/160.png


static/161.png → static/Data/161.png


static/162.png → static/Data/162.png


static/163.png → static/Data/163.png


static/164.png → static/Data/164.png


static/165.png → static/Data/165.png


static/166.png → static/Data/166.png


static/167.png → static/Data/167.png


static/168.png → static/Data/168.png


static/169.png → static/Data/169.png


static/17.png → static/Data/17.png


static/170.png → static/Data/170.png


static/171.png → static/Data/171.png


static/172.png → static/Data/172.png


static/173.png → static/Data/173.png


static/174.png → static/Data/174.png


static/175.png → static/Data/175.png


static/176.png → static/Data/176.png


static/177.png → static/Data/177.png


static/178.png → static/Data/178.png


static/179.png → static/Data/179.png


static/18.png → static/Data/18.png


static/180.png → static/Data/180.png


+ 0 - 0
static/181.png


Неке датотеке нису приказане због велике количине промена