progress.html 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. {extend name="public/layout"/} {block name="title"}在施工地{/block} {block name="body"}
  2. <link rel="stylesheet" href="__STATIC__/css/csspc.css">
  3. <link rel="stylesheet" href="__STATIC__/css/font.css">
  4. <style>
  5. html,body{height:100vh;min-width: 1100px;}
  6. .body{height: 100%;overflow-y:auto;background: #F6F7FB;}
  7. .bodys_top,.bodys_b{background: #fff;border-radius: 8px;}
  8. .bodys_b{padding-bottom: 20px;}
  9. .lanse{color:#28A1FF}
  10. .rst_box_b_left_yuan1{background: #7EC6FF;border-radius: 50%;padding:2px;z-index: 5;}
  11. .rst_box_b_left_yuan2{background: #fff;width:10px;height: 10px;border-radius: 50%;}
  12. .bor_xs{height: 250px;border-left:1px dashed #CCCCCC;z-index: 2;margin-left:6px;}
  13. .newitme{padding:4px 10px;background: #ECECEC;border-radius: 4px;}
  14. .hongse{color: #FE0000;}
  15. .huise333{color:#333;}
  16. .progress_list_dl{margin-left:-1%;height: 114px;}
  17. .progress_list_dl dd{float:left;width:10.11%;margin-left:1%;max-width: 114px;height: 114px;overflow: hidden;}
  18. .progress_list_dl dd img{height: 100%;}
  19. .noneimgs{position: absolute;top:0;left:0;bottom:0;right:0;margin:auto;}
  20. .listvrurl dd{line-height: 30px;background: #ccc;padding: 0 10px;width:40%;margin-bottom: 10px;border-radius:4px;}
  21. .p-label{color:#1e9fff;margin-left:10px}
  22. </style>
  23. <body>
  24. <div class="width97_ wauto bodys">
  25. <div class="bodys_top mdt16 pdtb20">
  26. <div class="width97_ wauto">
  27. <a onclick="window.history.go(-1)" class="lanse history_go href font18"><span><</span> 返回</a>
  28. </div>
  29. </div>
  30. <div class="bodys_b mdt16 woverflow">
  31. <div class="datalist width97_ pdtb20 wauto" style="height: 83vh;min-height: 682px;">
  32. {auth:check name="building/add_progress"}
  33. <button type="button" class="layui-btn layuiadmin-btn-course layui-btn-normal" data-type="add">更新进展</button>
  34. {/auth:check}
  35. {auth:check name="buildingLabel/index"}
  36. <button type="button" class="layui-btn layuiadmin-btn-course layui-btn-normal" data-type="label">标签</button>
  37. {/auth:check}
  38. <div class="">
  39. <ul class="progress_ul">
  40. </ul>
  41. </div>
  42. </div>
  43. </div>
  44. </div>
  45. </body>
  46. {/block} {block name="js"}
  47. <script>
  48. layui.config({
  49. base: '__LAYUI__/',
  50. urlbase: '/sys'
  51. }).extend({
  52. index: 'lib/index' //主入口模块
  53. }).use(['index', 'form'], function() {
  54. var $ = layui.$,
  55. form = layui.form;
  56. let building_id = "{$building_id}";
  57. getList();
  58. function getList () {
  59. let formData = new FormData();
  60. formData.append('building_id',building_id);
  61. $.ajax({
  62. url: '{:url("building/progress")}',
  63. type: 'post',
  64. data: formData,
  65. dataType: 'json',
  66. processData: false,
  67. contentType: false,
  68. success: function(res) {
  69. if(res.code==0){
  70. set_list_html(res.data);
  71. if(res.data.length==0){
  72. $('.progress_ul').append('<img class="noneimgs" src="__STATIC__/img/nonedata.png"/>');
  73. }
  74. }
  75. }
  76. });
  77. }
  78. $('.history_go').on('click',function(){
  79. localStorage.setItem('return02',1);
  80. })
  81. function set_list_html (arr) {
  82. let htmls = arr.map((v,i) => {
  83. return `<li class="">
  84. <div class='wpsr wleft'>
  85. <div class='rst_box_b_left_yuan1 wpsr mdt36'>
  86. <div class='rst_box_b_left_yuan2'></div>
  87. </div>
  88. <span class='bor_xs wpsa'></span>
  89. </div>
  90. <div class="wleft mdt31 width95_ mdl02_ woverflow">
  91. <div class="woverflow">
  92. <p class="font12 wleft newitme">${v.addtime}</p>
  93. <p class="lanse href wleft font16 mdl12 editprogress" data-id="${v.id}">编辑</p>
  94. <p class="hongse href wleft font16 mdl12 deleteprogress" data-id="${v.id}">删除</p>
  95. </div>
  96. <p class="font16 huise333 mdtb15 textlh1">${v.name}<span class="p-label">#${v.label?v.label.name:''}#</span></p>
  97. <p class="font16 huise999 textlh1">${v.content}</p>
  98. <ul class='listvrurl mdt10 ${v.type=="vr"?"":"dsnone"}'>
  99. ${
  100. v.vr && v.vr ? v.vr.map(s => {
  101. return `<dd class="textlh1">
  102. <a target="_blank" href="${s}">${s}</a>
  103. </dd>`
  104. }).join('') : ''
  105. }
  106. </ul>
  107. <dl class='woverflow mdt15 progress_list_dl ${v.type=="img"?"":"dsnone"}'>
  108. ${
  109. v.img && v.img.length ? v.img.map(x => {
  110. return `<dd>
  111. <img class="width100_" src="${x}"/>
  112. </dd>`
  113. }).join('') : ''
  114. }
  115. </dl>
  116. ${
  117. v.type=="video"?`<video poster="${v.img[0]}" style="margin-top:10px;" width="320" height="180" controls>
  118. <source src="${v.video}" type="video/mp4">
  119. <source src="${v.video}" type="video/ogg">
  120. </video>`:''
  121. }
  122. <ul class='listvrurl mdt10 ${v.type=="group"?"":"dsnone"}'>
  123. ${`<dd class="textlh1">
  124. <a target="_blank" href="${v.show_url}">${v.show_url}</a>
  125. </dd>`}
  126. </ul>
  127. </div>
  128. <div class="clear"></div>
  129. </li>`
  130. }).join('')
  131. $('.progress_ul').html(htmls);
  132. setTimeout(() => {
  133. $('.editprogress').click((e) => {
  134. let id = e.target.dataset.id;
  135. layer.open({
  136. type: 2,
  137. title: ['编辑', 'color:#333333;background-color:#D8E6F1;'],
  138. content: '{:url("building/edit_progress")}?id=' + id,
  139. resize: false,
  140. area: ['80%', '80%'],
  141. end: function(index, layero) {
  142. getList();
  143. }
  144. });
  145. })
  146. $('.deleteprogress').click((e) => {
  147. let id = e.target.dataset.id;
  148. layer.confirm('确定删除当前进展信息', { title: ['信息', 'color:#333333;background-color:#D8E6F1;'], }, function (index) {
  149. $.ajax({
  150. url: "{:url('building/delete_progress')}",
  151. data: {
  152. id: id
  153. },
  154. type: 'post',
  155. success:function (res) {
  156. if (res.code == 0) {
  157. layer.msg('删除成功')
  158. getList();
  159. layer.close(index);
  160. } else {
  161. layer.msg(res.msg)
  162. }
  163. }
  164. });
  165. });
  166. })
  167. },300)
  168. }
  169. //事件
  170. var active = {
  171. add: function() {
  172. layer.open({
  173. type: 2,
  174. title: ['添加', 'color:#333333;background-color:#D8E6F1;'],
  175. content: '{:url("building/add_progress")}?building_id=' + building_id,
  176. resize: false,
  177. area: ['80%', '80%'],
  178. end: function(index, layero) {
  179. getList();
  180. }
  181. });
  182. },
  183. label: function(){
  184. layer.open({
  185. type:2,
  186. title:['标签', 'color:#333333;background-color:#D8E6F1;'],
  187. content: '{:url("buildingLabel/index")}',
  188. resize: false,
  189. area: ['80%', '80%']
  190. })
  191. }
  192. };
  193. $('.layui-btn.layuiadmin-btn-course').on('click', function() {
  194. var type = $(this).data('type');
  195. active[type] ? active[type].call(this) : '';
  196. });
  197. })
  198. </script>
  199. {/block}