editing_schedule.blade.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282
  1. @extends('admin/layout')
  2. @section('header')
  3. @endsection
  4. <style type="text/css">
  5. table.tftable {
  6. font-size: 12px;
  7. color: #333333;
  8. width: 100%;
  9. border-width: 1px;
  10. border-color: #9dcc7a;
  11. border-collapse: collapse;
  12. }
  13. table.tftable th {
  14. font-size: 12px;
  15. background-color: #abd28e;
  16. border-width: 1px;
  17. padding: 8px;
  18. border-style: solid;
  19. border-color: #9dcc7a;
  20. text-align: left;
  21. }
  22. table.tftable tr {
  23. background-color: #ffffff;
  24. }
  25. table.tftable td {
  26. font-size: 12px;
  27. border-width: 1px;
  28. padding: 8px;
  29. border-style: solid;
  30. border-color: #9dcc7a;
  31. }
  32. .fenish {
  33. background: #1D976C;
  34. color: #fff;
  35. }
  36. .blue {
  37. background: #6DD5FA;
  38. color: #fff;
  39. }
  40. #tfhover tbody tr td:nth-child(2) {
  41. position: relative;
  42. padding-left: 35px;
  43. }
  44. .fa {
  45. position: absolute;
  46. left: 10px;
  47. top: 0;
  48. color: #ddd;
  49. transform: translateY(-50%);
  50. top: 50%;
  51. font-size: 18px !important;
  52. cursor: pointer;
  53. }
  54. .first-numb {
  55. color: palevioletred;
  56. }
  57. </style>
  58. <div style="margin-left: 10px">
  59. <form action="{{url('/admin/flow/editingSchedule')}}" method="post" {{--id="editingScheduleForm"--}}>
  60. <div style="display: flex;padding: 10px 0;">
  61. <input type="text" placeholder="请输入域名或项目名称" class="input-md form-control" name="keyword"
  62. style="width: 260px;">
  63. @if(in_array($role_id,[14,24]))
  64. <select data-placeholder="选择采编人员..." style="width:200px;" name="userId" class="form-control">
  65. <option value="">请选择采编人员</option>
  66. @foreach ($editors as $key => $value)
  67. <option value="{{$key}}">{{$value}}</option>
  68. @endforeach
  69. </select>
  70. @endif
  71. <input style="margin-left: 10px" type="submit" class="btn btn-primary"
  72. {{--id="editingSchedule"--}} value="搜索">
  73. <button style="margin-left: 10px" type="button" class=" btn btn-primary button"> 保存</button>
  74. <a href="{{url('/admin/flow/editingScheduleExport')}}" style="margin-left: 10px" class=" btn btn-primary">导出</a>
  75. </div>
  76. </form>
  77. </div>
  78. <table id="tfhover" class="tftable" border="1">
  79. <thead>
  80. <tr>
  81. <th colspan="19" style="text-align: center">
  82. 采编核心工作:资料(资料进度表,共享盘文件夹)+测试站(测试站检查表格,组内意见,项目部群,客户反馈)+上线(上线检查表格,组内检查,组间互查,杜佳检查,Hina检查)
  83. <br>注:资料要求客户邮件发送,及时查收;网站检查表格(放在共享盘);客户催促上线及时告知项目经理和采编
  84. </th>
  85. </tr>
  86. <tr>
  87. <th colspan="5">项目配置</th>
  88. <th colspan="2">建站前期</th>
  89. <th colspan="4">资料</th>
  90. <th colspan="4">测试站</th>
  91. <th colspan="4">上线</th>
  92. </tr>
  93. <tr>
  94. <th style="width: 3%">序号</th>
  95. <th style="width: 8%">项目</th>
  96. <th style="width: 8%">网址</th>
  97. <th style="width: 8%">备注</th>
  98. <th style="width: 5%">采编</th>
  99. <th>后台搭建</th>
  100. <th>第一封邮件</th>
  101. <th>资料进度表</th>
  102. <th>共享盘文件夹整理</th>
  103. <th>单页面提供完整</th>
  104. <th>产品页面提供完整</th>
  105. <th>测试站检查表</th>
  106. <th>组内意见</th>
  107. <th>项目部群</th>
  108. <th>客户反馈</th>
  109. <th>上线检查表格</th>
  110. <th>组内检查</th>
  111. <th>质检部</th>
  112. <th>Hina&优化师检查</th>
  113. </tr>
  114. </thead>
  115. <tbody>
  116. @foreach($siteList as $key=>$value)
  117. <tr>
  118. <td>
  119. {{$key+1}}
  120. </td>
  121. <td data-a="{{$value->id}}" data-rank="{{$value->rank}}">
  122. <i @if($value->rank==1)class="fa fa-heart first-numb" @else class="fa fa-heart" @endif></i>
  123. <a onclick="units.openDetail('{{$value->id}}','{{$value->cn_title}}')">{{$value->cn_title}}</a>
  124. </td>
  125. <td data-a="{{$value->is_url}}" @if($value->is_url==1)class="fenish"@endif>{{$value->domain}}</td>
  126. <td data-a="{{$value->id}}">
  127. <textarea style="border: none;width: 100%">{{$value->memo}}</textarea>
  128. </td>
  129. <td data-a="{{$value->is_editing}}" @if($value->is_editing==1)class="fenish"@endif>{{$value->nickname}}</td>
  130. <td data-a="{{$value->is_backstage}}" @if($value->is_backstage==1)class="fenish"@endif>后台搭建</td>
  131. <td data-a="{{$value->is_first_mail}}" @if($value->is_first_mail==1)class="fenish"@endif>第一封邮件</td>
  132. <td data-a="{{$value->is_data}}" @if($value->is_data==1)class="fenish"@endif>资料进度表</td>
  133. <td data-a="{{$value->is_folder}}" @if($value->is_folder==1)class="fenish"@endif>共享盘文件夹整理</td>
  134. <td data-a="{{$value->is_order_index}}" @if($value->is_order_index==1)class="fenish"@endif>单页面提供完整</td>
  135. <td data-a="{{$value->is_product_index}}" @if($value->is_product_index==1)class="fenish"@endif>产品页面提供完整</td>
  136. <td data-a="{{$value->is_test_station}}" @if($value->is_test_station==1)class="fenish"@endif>测试站检查表</td>
  137. <td data-a="{{$value->is_opinion}}" @if($value->is_opinion==1)class="fenish"@endif>组内意见</td>
  138. <td data-a="{{$value->is_project_group}}" @if($value->is_project_group==1)class="fenish"@endif>项目部群</td>
  139. <td data-a="{{$value->is_client_feedback}}" @if($value->is_client_feedback==1)class="fenish"@endif>客户反馈</td>
  140. <td data-a="{{$value->is_online_inspection_form}}" @if($value->is_online_inspection_form==1)class="fenish"@endif>上线检查表格</td>
  141. <td data-a="{{$value->is_in_group_inspection}}" @if($value->is_in_group_inspection==1)class="fenish"@endif>组内检查</td>
  142. <td data-a="{{$value->is_quality_inspection_departments}}" @if($value->is_quality_inspection_departments==1)class="fenish"@endif>质检部</td>
  143. <td data-a="{{$value->is_optimization}}" @if($value->is_optimization==1)class="fenish"@endif>Hina&优化师检查</td>
  144. </tr>
  145. @endforeach
  146. </tbody>
  147. </table>
  148. @section('footer')
  149. <script>
  150. window.onload = function () {
  151. var tfrow = document.getElementById('tfhover').rows.length;
  152. var tbRow = [];
  153. for (var i = 1; i < tfrow; i++) {
  154. tbRow[i] = document.getElementById('tfhover').rows[i];
  155. tbRow[i].onmouseover = function () {
  156. this.style.backgroundColor = '#f3f8aa';
  157. };
  158. tbRow[i].onmouseout = function () {
  159. this.style.backgroundColor = '#ffffff';
  160. };
  161. }
  162. };
  163. $('#tfhover tbody tr td:nth-child(2) i').click(function () {
  164. var rank = 0;
  165. if ($(this).hasClass('first-numb')) {
  166. $(this).removeClass('first-numb');
  167. } else {
  168. rank = 1;
  169. $(this).addClass('first-numb');
  170. }
  171. var siteId = $(this).parent().attr('data-a');
  172. var ajaxConfig = {
  173. url: '/admin/flow/setSiteIdByRankId',
  174. type: 'post',
  175. data: {siteId: siteId, type: 1, rank: rank},
  176. success: function (result) {
  177. layer.msg(result.message, {icon: 6, time: 1000}, function () {
  178. window.location.reload();
  179. });
  180. }
  181. };
  182. tips.ajax(ajaxConfig);
  183. });
  184. var units = {
  185. openDetail: function (id, title) {
  186. tips.page('/admin/sites/' + id + '/overview', title);
  187. },
  188. }
  189. $('#tfhover tbody tr td').click(function () {
  190. $(this).toggleClass("fenish");
  191. if ($(this).hasClass("fenish")) {
  192. $(this).attr("data-a", "1");
  193. } else {
  194. $(this).attr("data-a", "0");
  195. }
  196. });
  197. $('#tfhover tbody tr td:first-child').unbind('click');
  198. $('#tfhover tbody tr td:nth-child(2)').unbind('click');
  199. $('#tfhover tbody tr td:nth-child(3)').unbind('click');
  200. $('#tfhover tbody tr td:nth-child(4)').unbind('click');
  201. $('#tfhover tbody tr td:nth-child(5)').unbind('click');
  202. $(".button").click(function () {
  203. var list = [];
  204. $("#tfhover tbody").find("tr").each(function () {
  205. var tdArr = $(this).children();
  206. var site_id = tdArr.eq(1).attr('data-a');
  207. var rank = tdArr.eq(1).attr('data-rank');
  208. var memo = tdArr.eq(3).find('textarea').val();
  209. var is_backstage = tdArr.eq(5).attr('data-a');
  210. var is_first_mail = tdArr.eq(6).attr('data-a');
  211. var is_data = tdArr.eq(7).attr('data-a');
  212. var is_folder = tdArr.eq(8).attr('data-a');
  213. var is_order_index = tdArr.eq(9).attr('data-a');
  214. var is_product_index = tdArr.eq(10).attr('data-a');
  215. var is_test_station = tdArr.eq(11).attr('data-a');
  216. var is_opinion = tdArr.eq(12).attr('data-a');
  217. var is_project_group = tdArr.eq(13).attr('data-a');
  218. var is_client_feedback = tdArr.eq(14).attr('data-a');
  219. var is_online_inspection_form = tdArr.eq(15).attr('data-a');
  220. var is_in_group_inspection = tdArr.eq(16).attr('data-a');
  221. var is_quality_inspection_departments = tdArr.eq(17).attr('data-a');
  222. var is_optimization = tdArr.eq(18).attr('data-a');
  223. var array = {};
  224. array.site_id = site_id;
  225. array.rank = rank;
  226. array.memo = memo;
  227. array.is_backstage = is_backstage;
  228. array.is_first_mail = is_first_mail;
  229. array.is_data = is_data;
  230. array.is_folder = is_folder;
  231. array.is_order_index = is_order_index;
  232. array.is_product_index = is_product_index;
  233. array.is_test_station = is_test_station;
  234. array.is_opinion = is_opinion;
  235. array.is_project_group = is_project_group;
  236. array.is_client_feedback = is_client_feedback;
  237. array.is_online_inspection_form = is_online_inspection_form;
  238. array.is_in_group_inspection = is_in_group_inspection;
  239. array.is_quality_inspection_departments = is_quality_inspection_departments;
  240. array.is_optimization = is_optimization;
  241. list.push(array);
  242. });
  243. var ajaxConfig = {
  244. url: '/admin/flow/editingSchedule',
  245. type: 'post',
  246. data: {list: JSON.stringify(list)},
  247. success: function (result) {
  248. layer.msg(result.message, {icon: 6, time: 1000}, function () {
  249. window.location.reload();
  250. });
  251. }
  252. };
  253. tips.ajax(ajaxConfig);
  254. });
  255. </script>
  256. @endsection