select_image.html 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>layui</title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  9. <link rel="stylesheet" href="__PUBLIC__/layui/css/layui.css" media="all">
  10. <link rel="stylesheet" href="__PUBLIC__/font-awesome/css/font-awesome.min.css" media="all"/>
  11. <link rel="stylesheet" href="__CSS__/admin.css" media="all">
  12. <style type="text/css">
  13. /* tooltip */
  14. #tooltip {
  15. position: absolute;
  16. border: 1px solid #ccc;
  17. background: #333;
  18. padding: 2px;
  19. display: none;
  20. color: #fff;
  21. }
  22. .site-doc-necolor li {
  23. margin-top: 15px;
  24. display: inline-block;
  25. }
  26. </style>
  27. </head>
  28. <body style="padding:10px;">
  29. <div class="tplay-body-div">
  30. <div class="layui-tab">
  31. <ul class="layui-tab-title">
  32. <li class="layui-this">在线图片</li>
  33. {if condition="$showUpload"}
  34. <li><a href="javascript:;" id="upload_button">上传图片</a></li>
  35. {/if}
  36. <li><a href="javascript:setUploadValue('__PUBLIC__/images/uploadimg.jpg',0);" id="clear">取消图片</a></li>
  37. </ul>
  38. <div class="layui-tab-content">
  39. <div class="layui-tab-item layui-show">
  40. <form class="layui-form serch" method="post">
  41. <div class="layui-form-item" style="float: left;">
  42. <div class="layui-input-inline" style="width:300px;">
  43. <input type="text" id="url" placeholder="请输入,网络图片链接" class="layui-input layui-btn-sm">
  44. </div>
  45. <button class="layui-btn layui-btn-sm" onclick="setUrl();return false">提交</button>
  46. </div>
  47. </form>
  48. </div>
  49. <div class="layui-tab-item"><div class="layui-row" id="demoText" style="background-color: antiquewhite"></div></div>
  50. <div class="layui-tab-item"></div>
  51. </div>
  52. </div>
  53. <div class="layui-row">
  54. <ul class="site-doc-necolor">
  55. {volist name="attachment" id="vo"}
  56. <li>
  57. <img src="{$vo.filepath}" width="60" height="60" class="img" id="{$vo.id}">
  58. </li>
  59. {/volist}
  60. </ul>
  61. </div>
  62. <div style="padding:0 0 0 20px;">{$attachment->render()}</div>
  63. {include file="public/foot"}
  64. <script>
  65. function setUploadValue(upload_img, upload_value) {
  66. //注意:parent 是 JS 自带的全局对象,可用于操作父页面
  67. var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
  68. //给父页面传值
  69. var suffix = '{$Request.param.suffix}';
  70. parent.$('#upload_img' + suffix).attr('src', upload_img);
  71. parent.$('#upload_value' + suffix).val(upload_value);
  72. //关闭本窗口
  73. parent.layer.close(index);
  74. }
  75. //给父页面传值
  76. $('.img').on('click', function () {
  77. setUploadValue($(this).attr('src'), $(this).attr('id'));
  78. });
  79. function setUrl() {
  80. $.ajax({
  81. url: "{:url('admin/attachment/create')}",
  82. type: 'post',
  83. dataType: 'json',
  84. data: {filepath: $('#url').val(), use: parent.location.pathname},
  85. success: function (res) {
  86. if (res.code == 1) {
  87. setUploadValue(res.data.src, res.data.id);
  88. } else {
  89. layer.msg(res.msg);
  90. }
  91. }
  92. })
  93. }
  94. </script>
  95. <script>
  96. layui.use('upload', function () {
  97. var upload = layui.upload;
  98. var uploadInst = upload.render({
  99. elem: '#upload_button' //绑定元素
  100. , url: "{:url('admin/attachment/upload')}" //上传接口
  101. , data: {use: parent.location.pathname}
  102. , exts: 'jpg|png|gif|jpeg' //允许上传的文件
  103. , done: function (res) {
  104. //上传完毕回调
  105. if (res.code == 1) {
  106. location.reload();
  107. } else {
  108. layer.msg(res.msg);
  109. }
  110. }
  111. , error: function () {
  112. //请求异常回调
  113. //失败状态,并实现重传
  114. var demoText = $('#demoText');
  115. demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-sm demo-reload">重试</a>');
  116. demoText.find('.demo-reload').on('click', function () {
  117. uploadInst.upload();
  118. });
  119. }
  120. });
  121. });
  122. </script>
  123. </div>
  124. </body>
  125. </html>