icon_img_view.html 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. {extend name="base"/}
  2. {block name="resources"}
  3. <style>
  4. .icon-img-box{
  5. width: 48px;
  6. height: 48px;
  7. margin: 0 auto;
  8. box-sizing: border-box;
  9. overflow: hidden;
  10. }
  11. .icon-img-box img{
  12. width: 40px;
  13. max-height: 40px;
  14. }
  15. </style>
  16. {/block}
  17. {block name="body"}
  18. <div id="{$id}">
  19. <div class="icon-img-box" v-if="myData.iconType == 'img'">
  20. <img :src="changeImgUrl(myData.imageUrl) || changeImgUrl('public/static/img/default_img/square.png')" alt="">
  21. </div>
  22. <div class="icon-img-box" v-if="myData.iconType == 'icon'" style="font-size: 36px">
  23. <iconfont v-if="myData.icon" :icon="myData.icon" :value="(myData.style ? myData.style : null)"></iconfont>
  24. </div>
  25. </div>
  26. {/block}
  27. {block name="script"}
  28. <script src="STATIC_EXT/colorPicker/js/colorpicker.js"></script>
  29. <script src="STATIC_JS/vue.js"></script>
  30. {include file="diy/iconfont_component"/}
  31. <script>
  32. var vue,data;
  33. data = {:json_encode($data)};
  34. data = JSON.parse(data);
  35. vue = new Vue({
  36. el: "#{$id}",
  37. data: {
  38. myData:{}
  39. },
  40. created(){
  41. this.myData = data;
  42. },
  43. methods: {
  44. changeImgUrl: function (url) {
  45. if (url == null || url === "") return '';
  46. if (url.indexOf("static/img/") > -1) return ns.img(ns_url.staticImg + "/" + url.replace("public/static/img/", ""));
  47. else return ns.img(url);
  48. },
  49. }
  50. })
  51. </script>
  52. {/block}