From a22aa1086eeef39a26cc161326ce09cd183185ea Mon Sep 17 00:00:00 2001
From: liuyg <liuyg@qq.com>
Date: Fri, 04 Mar 2022 15:57:47 +0800
Subject: [PATCH] 3.3 1.自定义标签,退出后自动清除 2.自定义标签,转换二维码的数据格式ok,移动端对接二维码ok, 3.自定义标签点击移动到指定位置 ok 4.面板自适应高度 4.更换定位依赖,自定义标签扫码入移动端可以定位并显示路线

---
 src/pcviews/specialmap/welcome.vue |  906 ++++++++++++++++++++++++++++----------------------------
 1 files changed, 457 insertions(+), 449 deletions(-)

diff --git a/src/pcviews/specialmap/welcome.vue b/src/pcviews/specialmap/welcome.vue
index cfa5954..619beb0 100644
--- a/src/pcviews/specialmap/welcome.vue
+++ b/src/pcviews/specialmap/welcome.vue
@@ -1,215 +1,220 @@
-/*
- * @Author: Morpheus
- * @Name: 社区迎新
- * @Date: 2021-11-15 17:14:47
- * @Last Modified by: Morpheus
- * @Last Modified time: 2022-01-26 10:51:24
- */
+/* * @Author: Morpheus * @Name: 校区迎新 * @Date: 2021-11-15 17:14:47 * @Last
+Modified by: Morpheus * @Last Modified time: 2022-01-26 10:51:24 */
 <template>
-    <div>
-        <div class="welcome-container">
-            <div class="header">
-                <div class="title">
-                    {{ title }}
-                    <a href="javascript:void(0);"
-                       title="全景浏览">
-                        <img @click="panoramaPlay"
-                             class="panorama-control"
-                             src="/img/icon/panorama.png"
-                             alt="">
-                    </a>
-                    <a href="javascript:void(0);"
-                       title="语音介绍">
-                        <img @click="audioPlay"
-                             class="audio-control"
-                             src="/img/navicon/audio.png"
-                             alt="">
-                    </a>
-                    <a href="javascript:void(0);"
-                       title="关闭">
-                        <img @click="closeModel"
-                             class="close-box"
-                             src="/img/navicon/close.png"
-                             alt="">
-                    </a>
-                </div>
-            </div>
-            <div class="content-box">
-                <div class="img-exhibition">
-                    <div class="content">
-                        <el-carousel :interval="5000"
-                                     arrow="always"
-                                     height="300px">
-                            <el-carousel-item v-for="item in list"
-                                              :key="item">
-                                <el-image :src="item"
-                                          :preview-src-list="[item]">
-                                </el-image>
-                            </el-carousel-item>
-                        </el-carousel>
-                    </div>
-                </div>
-                <div class="organizer">
-                    主办:{{ sponsor }}
-                </div>
-                <div class="undertake">
-                    承办:{{ undertake }}
-                </div>
-                <div class="time-box">
-                    时间:{{ time }}
-                </div>
-                <div class="text-introduce">
-                    <div class="title">
-                        相关介绍:
-                    </div>
-                    <div class="content">
-                        <p v-text="introduce">
-
-                        </p>
-                    </div>
-                </div>
-                <div class="panorama-box" v-show="panoramaShow">
-                    <div class="title">
-                        全景浏览
-                        <a href="javascript:void(0);"
-                           title="关闭">
-                            <img @click="panoramaShow = false, panoramaUrl = ''"
-                                 class="close-box"
-                                 src="/img/navicon/close.png"
-                                 alt="">
-                        </a>
-                    </div>
-                    <div class="content">
-                        <iframe style="width: 100%; height: 100%" :src="panoramaUrl" frameborder="0"></iframe>
-                    </div>
-                </div>
-            </div>
+  <div>
+    <div class="welcome-container">
+      <div class="header">
+        <div class="title">
+          {{ title }}
+          <a href="javascript:void(0);" title="全景浏览">
+            <img
+              @click="panoramaPlay"
+              class="panorama-control"
+              src="/img/icon/panorama.png"
+              alt=""
+            />
+          </a>
+          <a href="javascript:void(0);" title="语音介绍">
+            <img
+              @click="audioPlay"
+              class="audio-control"
+              src="/img/navicon/audio.png"
+              alt=""
+            />
+          </a>
+          <a href="javascript:void(0);" title="关闭">
+            <img
+              @click="closeModel"
+              class="close-box"
+              src="/img/navicon/close.png"
+              alt=""
+            />
+          </a>
         </div>
+      </div>
+      <div class="content-box">
+        <div class="img-exhibition">
+          <div class="content">
+            <el-carousel :interval="5000" arrow="always" height="300px">
+              <el-carousel-item v-for="item in list" :key="item">
+                <el-image :src="item" :preview-src-list="[item]"> </el-image>
+              </el-carousel-item>
+            </el-carousel>
+          </div>
+        </div>
+        <div class="organizer">主办:{{ sponsor }}</div>
+        <div class="undertake">承办:{{ undertake }}</div>
+        <div class="time-box">时间:{{ time }}</div>
+        <div class="text-introduce">
+          <div class="title">相关介绍:</div>
+          <div class="content">
+            <p v-text="introduce"></p>
+          </div>
+        </div>
+        <div class="panorama-box" v-show="panoramaShow">
+          <div class="title">
+            全景浏览
+            <a href="javascript:void(0);" title="关闭">
+              <img
+                @click="(panoramaShow = false), (panoramaUrl = '')"
+                class="close-box"
+                src="/img/navicon/close.png"
+                alt=""
+              />
+            </a>
+          </div>
+          <div class="content">
+            <iframe
+              style="width: 100%; height: 100%"
+              :src="panoramaUrl"
+              frameborder="0"
+            ></iframe>
+          </div>
+        </div>
+      </div>
     </div>
+  </div>
 </template>
 
 <script>
-
-import { getWelcome } from '@/api/pc/public/specialmap'
-import { mapGetters } from 'vuex'
+import { getWelcome } from "@/api/pc/public/specialmap";
+import { mapGetters } from "vuex";
 
 export default {
-    data () {
-        return {
-            time: '',
-            sponsor: '',
-            undertake: '',
-            title: '',
-            introduce: '',
-            list: [],
-            pathList: [],
-            pointNameList: [],
-            pointList: [],
-            DC: null,
-            pathLayer: null,
-            pointLayer: null,
-            panoramaUrlOne: '',
-            panoramaUrl: '',
-            audioSource: '',
-            audioFlag: false,
-            audioCourse: false,
-            audioSynth: null,
-            audioMsg: null,
-            panoramaShow: false
+  data() {
+    return {
+      time: "",
+      sponsor: "",
+      undertake: "",
+      title: "",
+      introduce: "",
+      list: [],
+      pathList: [],
+      pointNameList: [],
+      pointList: [],
+      DC: null,
+      pathLayer: null,
+      pointLayer: null,
+      panoramaUrlOne: "",
+      panoramaUrl: "",
+      audioSource: "",
+      audioFlag: false,
+      audioCourse: false,
+      audioSynth: null,
+      audioMsg: null,
+      panoramaShow: false,
+    };
+  },
+  created() {},
+  mounted() {
+    // console.log("显示", "see1");
+
+    this.DC = global.DC;
+
+    this.audioSynth = window.speechSynthesis;
+
+    this.audioMsg = new window.SpeechSynthesisUtterance();
+
+    this.audioMsg.onend = function () {
+      // this.audioSynth.cancel();
+      this.audioFlag = false;
+      this.audioCourse = false;
+    };
+    this.getData();
+  },
+  computed: {
+    ...mapGetters([
+      "viewer",
+      // 校区内导航的显示关闭
+      "campusNavFlag",
+      "orgNavBarFlag",
+      "arcNavBarFlag",
+    ]),
+  },
+  methods: {
+    getData() {
+      getWelcome({ hdname: "校区迎新" }).then((res) => {
+        var result = res.data.data;
+        this.title = result.hdname;
+        this.time = result.time;
+        this.sponsor = result.sponsor;
+        this.undertake = result.undertake;
+        this.panoramaUrl = result.panoramaurl;
+        this.panoramaUrlOne = result.panoramaurl;
+        this.introduce = result.context;
+        this.audioSource = result.context;
+
+        this.audioPlay();
+
+        this.list = result.tpurl.split(",");
+        this.pointNameList = result.addressname.split(",");
+        this.pointList = result.address.split(";");
+
+        var a = result.lx.split(";");
+
+        a.forEach((item) => {
+          var b = item.split("(");
+          var c = b[1].substr(0, b[1].length - 1);
+          var d = c.split(",");
+          var j = [];
+          d.forEach((it) => {
+            var e = it.split(" ");
+            var f = e.join(",");
+            j.push(f);
+          });
+          var k = j.join(";");
+          this.pathList.push(k);
+        });
+
+        this.pathLayer = new this.DC.VectorLayer("pathLayer");
+        this.viewer.addLayer(this.pathLayer);
+
+        this.pointLayer = new this.DC.HtmlLayer("pointLayer");
+        this.viewer.addLayer(this.pointLayer);
+
+        this.pathList.forEach((item) => {
+          this.drawPolyline(item);
+        });
+
+        this.pointList.forEach((item, index) => {
+          this.drawPoint(item.split(","), this.pointNameList[index]);
+        });
+        if (this.pointList.length > 0) {
+          this.$store.dispatch("pcMoveView", {
+            viewer: this.viewer,
+            jd: +this.pointList[0].split(",")[0] - 0.0005,
+            wd: this.pointList[0].split(",")[1],
+          });
+        } else {
+          this.$store.dispatch("pcMoveView", {
+            viewer: this.viewer,
+            jd: +this.pathList[0].split(";")[0].split(",")[0] - 0.0005,
+            wd: this.pathList[0].split(";")[0].split(",")[1],
+          });
         }
+      });
     },
-    created () {
+    drawPolyline(item) {
+      const polyline = new this.DC.Polyline(item);
 
+      polyline.setStyle({
+        width: 6,
+        arcType: true,
+        material: new this.DC.PolylineImageTrailMaterialProperty({
+          color: new this.DC.Color(255, 0, 0),
+          speed: 60,
+          image: "/img/icon/right.png",
+          repeat: { x: 320, y: 1 },
+        }),
+        clampToGround: true,
+      });
+
+      this.pathLayer.addOverlay(polyline);
     },
-    mounted () {
-        this.DC = global.DC
-
-        this.audioSynth = window.speechSynthesis
-
-        this.audioMsg = new window.SpeechSynthesisUtterance()
-
-        this.audioMsg.onend = function () {
-            this.audioSynth.cancel()
-            this.audioFlag = false
-            this.audioCourse = false
-        }
-
-        getWelcome({ hdname: '社区迎新' }).then((res) => {
-            var result = res.data.data
-            this.title = result.hdname
-            this.time = result.time
-            this.sponsor = result.sponsor
-            this.undertake = result.undertake
-            this.panoramaUrl = result.panoramaurl
-            this.panoramaUrlOne = result.panoramaurl
-            this.introduce = result.context
-            this.audioSource = result.context
-            this.list = result.tpurl.split(',')
-            this.pointNameList = result.addressname.split(',')
-            this.pointList = result.address.split(';')
-
-            var a = result.lx.split(';')
-
-            a.forEach(item => {
-                var b = item.split('(')
-                var c = b[1].substr(0, b[1].length - 1)
-                var d = c.split(',')
-                var j = []
-                d.forEach(it => {
-                    var e = it.split(' ')
-                    var f = e.join(',')
-                    j.push(f)
-                })
-                var k = j.join(';')
-                this.pathList.push(k)
-            })
-
-            this.pathLayer = new this.DC.VectorLayer('pathLayer')
-            this.viewer.addLayer(this.pathLayer)
-
-            this.pointLayer = new this.DC.HtmlLayer('pointLayer')
-            this.viewer.addLayer(this.pointLayer)
-
-            this.pathList.forEach(item => {
-                this.drawPolyline(item)
-            })
-
-            this.pointList.forEach((item, index) => {
-                this.drawPoint(item.split(','), this.pointNameList[index])
-            })
-        })
-    },
-    computed: {
-        ...mapGetters([
-            'viewer',
-            // 社区内导航的显示关闭
-            'campusNavFlag',
-            'orgNavBarFlag',
-            'arcNavBarFlag'
-        ])
-    },
-    methods: {
-        drawPolyline (item) {
-            const polyline = new this.DC.Polyline(item)
-
-            polyline.setStyle({
-                width: 6,
-                arcType: true,
-                material: new this.DC.PolylineImageTrailMaterialProperty({
-                    color: new this.DC.Color(255, 0, 0),
-                    speed: 60,
-                    image: '/img/icon/right.png',
-                    repeat: { x: 320, y: 1 }
-                }),
-                clampToGround: true
-            })
-
-            this.pathLayer.addOverlay(polyline)
-        },
-        drawPoint (item, name) {
-            const divIcon = new this.DC.DivIcon(
-                new this.DC.Position(Number(item[0]), Number(item[1]), 0),
-                `
+    drawPoint(item, name) {
+      const divIcon = new this.DC.DivIcon(
+        new this.DC.Position(Number(item[0]), Number(item[1]), 0),
+        `
                     <div class="point-entitys-box">
                         <div class="point-logo">
                             <img src="/img/icon/activity.png">
@@ -219,60 +224,199 @@
                         </div>
                     </div>
                 `
-            )
-            this.pointLayer.addOverlay(divIcon)
-        },
-        audioPlay () {
-            if (this.audioFlag == false) {
-                this.audioMsg.text = this.audioSource
-                this.audioSynth.speak(this.audioMsg)
-                this.audioFlag = true
-                this.audioCourse = true
-            } else {
-                if (this.audioCourse == true) {
-                    this.audioSynth.pause()
-                    this.audioCourse = false
-                } else {
-                    this.audioSynth.resume()
-                    this.audioCourse = true
-                }
-            }
-        },
-        closeModel () {
-            this.viewer.removeLayer(this.pathLayer)
-            this.viewer.removeLayer(this.pointLayer)
-
-            this.audioSynth.cancel()
-            this.audioFlag = false
-            this.audioCourse = false
-
-            this.$store.dispatch('delVisitedViews', this.$route)
-            this.$router.push('/pcLayout/default')
-        },
-        panoramaPlay () {
-            this.panoramaShow = true
-            this.panoramaUrl = this.panoramaUrlOne
+      );
+      this.pointLayer.addOverlay(divIcon);
+    },
+    audioPlay() {
+      if (this.audioFlag == false) {
+        this.audioMsg.text = this.audioSource;
+        this.audioSynth.speak(this.audioMsg);
+        this.audioFlag = true;
+        this.audioCourse = true;
+      } else {
+        if (this.audioCourse == true) {
+          this.audioSynth.pause();
+          this.audioCourse = false;
+        } else {
+          this.audioSynth.resume();
+          this.audioCourse = true;
         }
-    }
+      }
+    },
+    closeModel() {
+      this.viewer.removeLayer(this.pathLayer);
+      this.viewer.removeLayer(this.pointLayer);
 
-}
+      this.audioSynth.cancel();
+      this.audioFlag = false;
+      this.audioCourse = false;
+
+      this.$store.dispatch("delVisitedViews", this.$route);
+      this.$router.push("/pcLayout/default");
+    },
+    panoramaPlay() {
+      this.panoramaShow = true;
+      this.panoramaUrl = this.panoramaUrlOne;
+    },
+  },
+  destroyed() {
+    // this.audioPlay();
+    // console.log("关闭", "see1");
+  },
+};
 </script>
 
-<style lang='scss' scope>
+<style lang="scss" scope>
 .welcome-container {
-    padding: 10px;
-    position: fixed;
-    top: 132px;
-    left: 132px;
-    width: 480px;
-    height: 720px;
-    background: rgba(40, 187, 240, 0.7);
-    border-radius: 10px;
-    color: #fff;
-    border: 1px solid #29baf1;
-    box-shadow: 0 0 10px 2px #29baf1;
+  padding: 10px;
+  position: fixed;
+  top: 132px;
+  left: 132px;
+  width: 480px;
+  height: 720px;
+  background: rgba(40, 187, 240, 0.7);
+  border-radius: 10px;
+  color: #fff;
+  border: 1px solid #29baf1;
+  box-shadow: 0 0 10px 2px #29baf1;
 
-    .header {
+  .header {
+    margin-bottom: 10px;
+    height: 36px;
+    line-height: 36px;
+    text-align: center;
+    position: relative;
+    background: #29baf1;
+
+    .title {
+      .panorama-control {
+        position: absolute;
+        top: 0;
+        right: 56px;
+        bottom: 0;
+        left: auto;
+        margin: auto;
+        width: 16px;
+        height: 16px;
+        cursor: pointer;
+      }
+
+      .audio-control {
+        position: absolute;
+        top: 0;
+        right: 32px;
+        bottom: 0;
+        left: auto;
+        margin: auto;
+        width: 16px;
+        height: 16px;
+        cursor: pointer;
+      }
+
+      .close-box {
+        position: absolute;
+        top: 0;
+        right: 8px;
+        bottom: 0;
+        left: auto;
+        margin: auto;
+        width: 16px;
+        height: 16px;
+        cursor: pointer;
+      }
+    }
+  }
+
+  .content-box {
+    padding: 0 16px;
+    height: calc(100% - 36px);
+
+    & > div {
+      margin-bottom: 10px;
+    }
+
+    & > div:last-child {
+      margin-bottom: 0px;
+    }
+
+    .text-introduce {
+      height: calc(100% - 458px);
+
+      .title {
+        position: relative;
+        padding-left: 24px;
+        height: 36px;
+        line-height: 36px;
+
+        &::before {
+          position: absolute;
+          top: 12px;
+          left: 0;
+          width: 0;
+          height: 6px;
+          border: 6px solid #fff;
+          box-sizing: border-box;
+          box-shadow: 0px 0px 4px 1px #fff;
+          border-radius: 50%;
+          content: "";
+        }
+      }
+
+      .content {
+        height: calc(100% - 36px);
+
+        p {
+          height: 100%;
+          text-indent: 2em;
+          font-size: 16px;
+          letter-spacing: 2px;
+          line-height: 24px;
+          overflow-y: auto;
+        }
+      }
+    }
+
+    .organizer,
+    .undertake,
+    .time-box {
+      padding-left: 24px;
+      position: relative;
+
+      height: 36px;
+      line-height: 36px;
+
+      &::before {
+        position: absolute;
+        top: 12px;
+        left: 0px;
+        width: 0;
+        height: 6px;
+        border: 6px solid #fff;
+        box-sizing: border-box;
+        box-shadow: 0px 0px 4px 1px #fff;
+        border-radius: 50%;
+        content: "";
+      }
+    }
+
+    .panorama-box {
+      padding: 10px;
+      margin: auto !important;
+      position: fixed;
+      top: 0;
+      left: 0;
+      right: 0;
+      bottom: 0;
+      z-index: 10;
+      width: 560px;
+      height: 406px;
+      background: rgba(40, 187, 240, 0.7);
+      border-radius: 10px;
+      color: #fff;
+      border: 1px solid #29baf1;
+      box-shadow: 0 0 10px 2px #29baf1;
+
+      .title {
         margin-bottom: 10px;
         height: 36px;
         line-height: 36px;
@@ -280,217 +424,81 @@
         position: relative;
         background: #29baf1;
 
-        .title {
-            .panorama-control {
-                position: absolute;
-                top: 0;
-                right: 56px;
-                bottom: 0;
-                left: auto;
-                margin: auto;
-                width: 16px;
-                height: 16px;
-                cursor: pointer;
-            }
-
-            .audio-control {
-                position: absolute;
-                top: 0;
-                right: 32px;
-                bottom: 0;
-                left: auto;
-                margin: auto;
-                width: 16px;
-                height: 16px;
-                cursor: pointer;
-            }
-
-            .close-box {
-                position: absolute;
-                top: 0;
-                right: 8px;
-                bottom: 0;
-                left: auto;
-                margin: auto;
-                width: 16px;
-                height: 16px;
-                cursor: pointer;
-            }
+        .panorama-control {
+          position: absolute;
+          top: 0;
+          right: 56px;
+          bottom: 0;
+          left: auto;
+          margin: auto;
+          width: 16px;
+          height: 16px;
+          cursor: pointer;
         }
+
+        .audio-control {
+          position: absolute;
+          top: 0;
+          right: 32px;
+          bottom: 0;
+          left: auto;
+          margin: auto;
+          width: 16px;
+          height: 16px;
+          cursor: pointer;
+        }
+
+        .close-box {
+          position: absolute;
+          top: 0;
+          right: 8px;
+          bottom: 0;
+          left: auto;
+          margin: auto;
+          width: 16px;
+          height: 16px;
+          cursor: pointer;
+        }
+      }
+
+      .content {
+        padding: 0 10px;
+        height: calc(100% - 46px);
+
+        .iframe {
+          width: 100%;
+          height: 100%;
+        }
+      }
     }
 
-    .content-box {
-        padding: 0 16px;
-        height: calc(100% - 36px);
+    .img-exhibition {
+      height: 300px;
 
-        & > div {
-            margin-bottom: 10px;
-        }
+      .content {
+        .el-image {
+          position: absolute;
+          top: 0;
+          left: 0;
+          right: 0;
+          bottom: 0;
+          margin: auto;
+          // width: 100%;
+          height: 100%;
 
-        & > div:last-child {
-            margin-bottom: 0px;
-        }
-
-        .text-introduce {
-            height: calc(100% - 458px);
-
-            .title {
-                position: relative;
-                padding-left: 24px;
-                height: 36px;
-                line-height: 36px;
-
-                &::before {
-                    position: absolute;
-                    top: 12px;
-                    left: 0;
-                    width: 0;
-                    height: 6px;
-                    border: 6px solid #fff;
-                    box-sizing: border-box;
-                    box-shadow: 0px 0px 4px 1px #fff;
-                    border-radius: 50%;
-                    content: '';
-                }
-            }
-
-            .content {
-                height: calc(100% - 36px);
-
-                p {
-                    height: 100%;
-                    text-indent: 2em;
-                    font-size: 16px;
-                    letter-spacing: 2px;
-                    line-height: 24px;
-                    overflow-y: auto;
-                }
-            }
-        }
-
-        .organizer,
-        .undertake,
-        .time-box {
-            padding-left: 24px;
-            position: relative;
-
-            height: 36px;
-            line-height: 36px;
-
-            &::before {
-                position: absolute;
-                top: 12px;
-                left: 0px;
-                width: 0;
-                height: 6px;
-                border: 6px solid #fff;
-                box-sizing: border-box;
-                box-shadow: 0px 0px 4px 1px #fff;
-                border-radius: 50%;
-                content: '';
-            }
-        }
-
-        .panorama-box {
-            padding: 10px;
-            margin: auto !important;
-            position: fixed;
+          img {
+            position: absolute;
             top: 0;
             left: 0;
             right: 0;
             bottom: 0;
-            z-index: 10;
-            width: 560px;
-            height: 406px;
-            background: rgba(40, 187, 240, 0.7);
-            border-radius: 10px;
-            color: #fff;
-            border: 1px solid #29baf1;
-            box-shadow: 0 0 10px 2px #29baf1;
-
-            .title {
-                margin-bottom: 10px;
-                height: 36px;
-                line-height: 36px;
-                text-align: center;
-                position: relative;
-                background: #29baf1;
-
-                    .panorama-control {
-                        position: absolute;
-                        top: 0;
-                        right: 56px;
-                        bottom: 0;
-                        left: auto;
-                        margin: auto;
-                        width: 16px;
-                        height: 16px;
-                        cursor: pointer;
-                    }
-
-                    .audio-control {
-                        position: absolute;
-                        top: 0;
-                        right: 32px;
-                        bottom: 0;
-                        left: auto;
-                        margin: auto;
-                        width: 16px;
-                        height: 16px;
-                        cursor: pointer;
-                    }
-
-                    .close-box {
-                        position: absolute;
-                        top: 0;
-                        right: 8px;
-                        bottom: 0;
-                        left: auto;
-                        margin: auto;
-                        width: 16px;
-                        height: 16px;
-                        cursor: pointer;
-                    }
-            }
-
-            .content {
-                padding: 0 10px;
-                height: calc(100% - 46px);
-
-                .iframe {
-                    width: 100%;
-                    height: 100%;
-                }
-            }
+            margin: auto;
+            width: 100%;
+            height: 100%;
+          }
         }
-
-        .img-exhibition {
-            height: 300px;
-
-            .content {
-                .el-image {
-                    position: absolute;
-                    top: 0;
-                    left: 0;
-                    right: 0;
-                    bottom: 0;
-                    margin: auto;
-                    // width: 100%;
-                    height: 100%;
-
-                    img {
-                        position: absolute;
-                        top: 0;
-                        left: 0;
-                        right: 0;
-                        bottom: 0;
-                        margin: auto;
-                        width: 100%;
-                        height: 100%;
-                    }
-                }
-            }
-        }
+      }
     }
+  }
 }
 </style>

--
Gitblit v1.9.3